diff --git a/.clang-format b/.clang-format index 1998cab94d..91d2e95fca 100644 --- a/.clang-format +++ b/.clang-format @@ -1,7 +1,7 @@ # Generated from CLion C/C++ Code Style settings BasedOnStyle: LLVM AccessModifierOffset: -4 -AlignAfterOpenBracket: BlockIndent +AlignAfterOpenBracket: Align AlignConsecutiveAssignments: None AlignOperands: DontAlign AllowAllArgumentsOnNextLine: false diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index fdd1e7201a..0000000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,8 +0,0 @@ -Thank you for creating a pull request to contribute to FreeCAD! Place an "X" in between the brackets below to "check off" to confirm that you have satisfied the requirement, or ask for help in the [FreeCAD forum](https://forum.freecadweb.org/viewforum.php?f=10) if there is something you don't understand. - -- [ ] Your Pull Request meets the requirements outlined in section 5 of [CONTRIBUTING.md](https://github.com/FreeCAD/FreeCAD/blob/master/CONTRIBUTING.md) for a Valid PR - -Please remember to update the Wiki with the features added or changed once this PR is merged. -**Note**: If you don't have wiki access, then please mention your contribution on the [1.0 Changelog Forum Thread](https://forum.freecad.org/viewtopic.php?f=10&t=69438). - ---- diff --git a/.github/workflows/actions/runCPPTests/runAllTests/action.yml b/.github/workflows/actions/runCPPTests/runAllTests/action.yml index 48618a26a0..a52adbd355 100644 --- a/.github/workflows/actions/runCPPTests/runAllTests/action.yml +++ b/.github/workflows/actions/runCPPTests/runAllTests/action.yml @@ -47,6 +47,27 @@ runs: testCommand: ${{ inputs.builddir }}/tests/Tests_run --gtest_output=json:${{ inputs.reportdir }}core_gtest_results.json testLogFile: ${{ inputs.reportdir }}core_gtest_test_log.txt testName: Core + - name: C++ Mesh tests + id: mesh + uses: ./.github/workflows/actions/runCPPTests/runSingleTest + with: + testCommand: ${{ inputs.builddir }}/tests/Mesh_tests_run --gtest_output=json:${{ inputs.reportdir }}mesh_gtest_results.json + testLogFile: ${{ inputs.reportdir }}mesh_gtest_test_log.txt + testName: Mesh + - name: C++ Part tests + id: part + uses: ./.github/workflows/actions/runCPPTests/runSingleTest + with: + testCommand: ${{ inputs.builddir }}/tests/Part_tests_run --gtest_output=json:${{ inputs.reportdir }}part_gtest_results.json + testLogFile: ${{ inputs.reportdir }}Part_gtest_test_log.txt + testName: Part + - name: C++ Points tests + id: points + uses: ./.github/workflows/actions/runCPPTests/runSingleTest + with: + testCommand: ${{ inputs.builddir }}/tests/Points_tests_run --gtest_output=json:${{ inputs.reportdir }}points_gtest_results.json + testLogFile: ${{ inputs.reportdir }}points_gtest_test_log.txt + testName: Points - name: C++ Sketcher tests id: sketcher uses: ./.github/workflows/actions/runCPPTests/runSingleTest diff --git a/.github/workflows/actions/windows/getCcache/action.yml b/.github/workflows/actions/windows/getCcache/action.yml index 8b59830188..7d0ceff711 100644 --- a/.github/workflows/actions/windows/getCcache/action.yml +++ b/.github/workflows/actions/windows/getCcache/action.yml @@ -41,11 +41,11 @@ inputs: ccachedownloadpath: description: "Path where to download ccache" required: false - default: https://github.com/ccache/ccache/releases/download/v4.7.4/ + default: https://github.com/ccache/ccache/releases/download/v4.8.2/ ccacheversion: description: "Ccache version to be downloaded" required: false - default: ccache-4.7.4-windows-x86_64 + default: ccache-4.8.2-windows-x86_64 runs: using: "composite" diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index cbf54fc063..f719c876ef 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -17,7 +17,7 @@ jobs: pull-requests: write steps: - - uses: actions/labeler@v3 + - uses: actions/labeler@v4 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" configuration-path: ".github/labels.yml" diff --git a/.github/workflows/sub_buildUbuntu2004.yml b/.github/workflows/sub_buildUbuntu2004.yml index 60acb20a8c..b908fa1dc9 100644 --- a/.github/workflows/sub_buildUbuntu2004.yml +++ b/.github/workflows/sub_buildUbuntu2004.yml @@ -111,6 +111,7 @@ jobs: libvtk7-dev \ libx11-dev \ libxerces-c-dev \ + libyaml-cpp-dev \ libzipios++-dev \ netgen \ netgen-headers \ diff --git a/.github/workflows/sub_buildUbuntu2204.yml b/.github/workflows/sub_buildUbuntu2204.yml index 659e700d89..d73bd73e91 100644 --- a/.github/workflows/sub_buildUbuntu2204.yml +++ b/.github/workflows/sub_buildUbuntu2204.yml @@ -109,6 +109,7 @@ jobs: libvtk7-dev \ libx11-dev \ libxerces-c-dev \ + libyaml-cpp-dev \ libzipios++-dev \ netgen \ netgen-headers \ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index acd0999b9f..b371e5f868 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -93,8 +93,12 @@ The FreeCAD Contribution Process is expressed here with the following specific g ## 8. Project Administration -1. The project Administrators will manage the set of project Maintainers. They SHALL maintain a sufficiently large pool of Maintainers to ensure their succession and permit timely review of contributions. -2. Contributors who have a history of successful PRs and have demonstrated continued professionalism should be invited to be Maintainers. -3. Administrators SHOULD remove Maintainers who are inactive for an extended period, or who repeatedly fail to apply this process accurately. -4. The list of Maintainers SHALL be publicly accessible and reflective of current activity on the project. -5. Administrators SHOULD block or ban “bad actors” who cause stress, animosity, or confusion to others in the project. This SHOULD be done after public discussion, with a chance for all parties to speak. A bad actor is someone who repeatedly ignores the rules and culture of the project, who is hostile or offensive, who impedes the productive exchange of information, and who is unable to self-correct their behavior when asked to do so by others. +1. Project Administrators are those individuals who are members of the FreeCAD Github organization and have the role of 'owner'. They have the task of administering the organization including adding and removing individuals from various teams. +2. Project Administrator is a technical role necessitated by the GitHub platform. Except for the specific exceptions listed below, the Project Administrators do not make the decision about individual team members. Rather, they carry out the collective wishes of the Maintainers team. Project Administrators will be selected from the Maintainers team by the Maintainers themselves. +3. To ensure continuity there SHALL be at least four Project Administrators at all times. +4. The project Administrators will manage the set of project Maintainers. They SHALL maintain a sufficiently large pool of Maintainers to ensure their succession and permit timely review of contributions. If the pool of Maintainers is insufficient, the Project Administrators will request that the Maintainers select additional individuals to add. +5. Contributors who have a history of successful PRs and have demonstrated continued professionalism should be invited to be Maintainers. +6. Administrators SHOULD remove Maintainers who are inactive for an extended period, or who repeatedly fail to apply this process accurately. +7. The list of Maintainers SHALL be publicly accessible and reflective of current activity on the project. +8. Administrators SHALL act expediently to protect the FreeCAD infrastructure and resources. +9. Administrators SHOULD block or ban “bad actors” who cause stress, animosity, or confusion to others in the project. This SHOULD be done after public discussion, with a chance for all parties to speak. A bad actor is someone who repeatedly ignores the rules and culture of the project, who is hostile or offensive, who impedes the productive exchange of information, and who is unable to self-correct their behavior when asked to do so by others. diff --git a/cMake/FreeCAD_Helpers/PrintFinalReport.cmake b/cMake/FreeCAD_Helpers/PrintFinalReport.cmake index 6aaa10b587..15d4cd177b 100644 --- a/cMake/FreeCAD_Helpers/PrintFinalReport.cmake +++ b/cMake/FreeCAD_Helpers/PrintFinalReport.cmake @@ -139,6 +139,7 @@ macro(PrintFinalReport) conditional(QtUiTools BUILD_GUI "not needed" ${QtUiTools_VERSION}) conditional(QtWidgets BUILD_GUI "not needed" ${QtWidgets_VERSION}) simple(QtXml ${QtXml_VERSION}) + conditional(QtTest ENABLE_DEVELOPER_TESTS "not needed" ${QtTest_VERSION}) if (BUILD_GUI) conditional(QtWebEngineWidgets BUILD_WEB "not needed (BUILD_WEB is OFF)" ${QtWebEngineWidgets_VERSION}) conditional(DesignerPlugin BUILD_DESIGNER_PLUGIN diff --git a/package/fedora/freecad.spec b/package/fedora/freecad.spec index 4e25bc37e2..35ac2c00c1 100644 --- a/package/fedora/freecad.spec +++ b/package/fedora/freecad.spec @@ -315,7 +315,7 @@ done %check desktop-file-validate \ - %{buildroot}%{_datadir}/applications/org.freecadweb.FreeCAD.desktop + %{buildroot}%{_datadir}/applications/org.freecad.FreeCAD.desktop %{?fedora:appstream-util validate-relax --nonet \ %{buildroot}%{_metainfodir}/*.appdata.xml} diff --git a/src/Mod/PartDesign/App/json.hpp b/src/3rdParty/json/single_include/nlohmann/json.hpp similarity index 100% rename from src/Mod/PartDesign/App/json.hpp rename to src/3rdParty/json/single_include/nlohmann/json.hpp diff --git a/src/Mod/PartDesign/App/json_fwd.hpp b/src/3rdParty/json/single_include/nlohmann/json_fwd.hpp similarity index 100% rename from src/Mod/PartDesign/App/json_fwd.hpp rename to src/3rdParty/json/single_include/nlohmann/json_fwd.hpp diff --git a/src/3rdParty/libkdtree/README b/src/3rdParty/libkdtree/README.md similarity index 60% rename from src/3rdParty/libkdtree/README rename to src/3rdParty/libkdtree/README.md index 3c015ba61f..b7364c581b 100644 --- a/src/3rdParty/libkdtree/README +++ b/src/3rdParty/libkdtree/README.md @@ -1,14 +1,5 @@ -libkdtree++ README -================== - -libkdtree++ is (c) 2004-2007 Martin F. Krafft -and distributed under the terms of the Artistic License 2.0. -See the file LICENSE in the source distribution for more information. - -Please send bugreports to . - -Introduction ------------- +libkdtree++ +=========== libkdtree++ is a C++ template container implementation of k-dimensional space sorting, using a kd-tree. It: @@ -16,34 +7,108 @@ sorting, using a kd-tree. It: - sports an unlimited number of dimensions (in theory) - can store any data structure, access and comparison between the individual dimensional components defaults to the bracket operator, in - the range [0, k-1] and the std::less functor by default, but other + the range `[0, k-1]` and the `std::less` functor by default, but other accessors and comparator can be defined. - has support for custom allocators - implements iterators - provides standard find as well as range queries - - has amortised O(lg n) time (O(n lg n) worst case) on most - operations (insert/erase/find optimised) and worst-case O(n) space. + - has amortised `O(lg n)` time (`O(n lg n)` worst case) on most + operations (insert/erase/find optimised) and worst-case `O(n)` space. - provides a means to rebalance and thus optimise the tree. - exists in its own namespace - - uses STL coding style, basing a lot of the code on stl_tree.h + - uses STL coding style, basing a lot of the code on `stl_tree.h` -Notes +Please leave bugreports on Github Issues page . + + +Historical background +--------------------- + +In the past, this library was available from . +This page seems to be gone now, available only via WebArchive. +This is a mirror and a fork of that original repository, created in +2011 and maintained ever since. + +Notes of the original author a preserved below. + +Installation +------------ + +As there is no need to compile any files, you can just: + +```sh +$ ./configure +$ sudo make install +``` + + +It now also supports cmake, which can be used to build the examples +and tests. +To build with cmake: + +```sh +$ mkdir build +$ cd build +$ cmake .. +$ make +``` + +You can use cmake to build the tests and examples on Windows with +Visual C++. Use the windows cmake to create a Visual C++ solution and +build that. + +Note that `cmake` and `./configure` is not needed at all in order to use +kdtree in your application. As libkdtree++ is a header-only library, you +just need to #include the `kdtree.hpp`. + +Read the following to make use of the library. + +Usage ----- +A simple example program is provided in the `./examples` directory +(`/usr/share/doc/libkdtree++-dev/examples` on Debian). + +For those using the ./configure system, the library supports pkg-config. +Thus, to compile with the library, + +```c++ +#include +``` + +and append the output of `pkg-config libkdtree++ --cflags` to your `$CPPFLAGS`. + +Each call to `erase()` and `insert()` unbalances the tree. It is possible that +nodes will not be found while the tree is unbalanced. You rebalance the +tree by calling `optimize()`, and you should call it before you need to search +the tree (this includes `erase(value)` calls, which search the tree). + +It is ok to call `insert(value)` many times and `optimize()` at the end, but +every `erase()` call should be followed with `optimize()`. + + +Notes (Martin F. Kraft) +----------------------- + Note that the library is not (yet) complete and it's not thoroughly tested. However, given the effort and grief I went through in writing it, I would like to make it available to folks, get people to test it, and hopefully have -some peeps submit improvements. If you have any suggestions, please write to -libkdtree-devel@lists.alioth.debian.org . +some peeps submit improvements. If you have any suggestions, please create an +issue on Github Issue page . It's not yet documented, although the usage should be fairly straight forward. I am hoping to find someone else to document it as I suck at documentation and as the author, it's exceptionally difficult to stay didactically correct. + Credits (Martin F. Kraft) ------------------------- +libkdtree++ is (c) 2004-2007 Martin F. Krafft +and distributed under the terms of the Artistic License 2.0. +See the file LICENSE in the source distribution for more information. + While the library was written all by myself, it would not have been possible without the help of a number of people. Foremost, I would like to thank the folks from the #c++ channel on Freenode, specifically (in no particular order) @@ -54,68 +119,8 @@ Gabriel G Since libkdtree++ makes an effort to stay as close as possible to the feel of a STL container, concepts and inspiration was gained from the SGI C++ -implementation of red-black trees (stl_tree.h). +implementation of red-black trees (`stl_tree.h`). I also have to thank the Debian project for providing an amazingly reliable and flexible developer station with their operating system. I am sorry for everyone who has to use something else. - -Installation ------------- - -As there is no need to compile any files, you can just: - -$ ./configure -$ sudo make install - - -It now also supports cmake, which can be used to build the examples -and tests. -To build with cmake, do an out-of-source build like so: - -# ASSUMING you have decompressed it into a directory called libkdtree, -# and you are currently in that directory... - -$ cd .. # go up, out of the kdtree source directory -$ mkdir build -$ cd build -$ cmake ../libkdtree -$ make - - -You can use cmake to build the tests and examples on Windows with -Visual C++. Use the windows cmake to create a Visual C++ solution and -build that. - -Note that cmake and ./configure is not needed at all in order to use -kdtree in your application. As kdtree is a header-only library, you -just need to #include the kdtree.hpp - - -Read the following to make use of the library. - -Usage ------ - -A simple example program is provided in the ./examples directory -(/usr/share/doc/libkdtree++-dev/examples on Debian). - -For those using the ./configure system, the library supports pkg-config. -Thus, to compile with the library, - - #include - -and append the output of `pkg-config libkdtree++ --cflags` to your $CPPFLAGS. - -Each call to erase() and insert() unbalances the tree. It is possible that -nodes will not be found while the tree is unbalanced. You rebalance the -tree by calling optimize(), and you should call it before you need to search -the tree (this includes erase(value) calls, which search the tree). - -It is ok to call insert(value) many times and optimize() at the end, but -every erase() call should be followed with optimize(). - -These notes are a bit out of date, please check the webpage and mailing list -for more info. Documentation is on the TODO list. - -Have fun. diff --git a/src/3rdParty/libkdtree/examples/test_kdtree.cpp b/src/3rdParty/libkdtree/examples/test_kdtree.cpp index d62ac970e5..4bbd9a2e4e 100644 --- a/src/3rdParty/libkdtree/examples/test_kdtree.cpp +++ b/src/3rdParty/libkdtree/examples/test_kdtree.cpp @@ -17,7 +17,7 @@ std::set registered; struct triplet { - typedef int value_type; + typedef double value_type; triplet(value_type a, value_type b, value_type c) { @@ -26,7 +26,8 @@ struct triplet d[2] = c; bool reg_ok = (registered.find(this) == registered.end()); assert(reg_ok); - registered.insert(this).second; + bool reg_inserted_ok = registered.insert(this).second; + assert(reg_inserted_ok); } triplet(const triplet & x) @@ -36,7 +37,8 @@ struct triplet d[2] = x.d[2]; bool reg_ok = (registered.find(this) == registered.end()); assert(reg_ok); - registered.insert(this).second; + bool reg_inserted_ok = registered.insert(this).second; + assert(reg_inserted_ok); } ~triplet() @@ -64,7 +66,7 @@ struct triplet // same as triplet, except with the values reversed. struct alternate_triplet { - typedef int value_type; + typedef double value_type; alternate_triplet(const triplet & x) { @@ -228,8 +230,7 @@ int main() tree_type copied(src); std::cout << copied << std::endl; - tree_type assigned; - assigned = src; + tree_type assigned = src; std::cout << assigned << std::endl; for (int loop = 0; loop != 4; ++loop) diff --git a/src/3rdParty/libkdtree/kdtree++/allocator.hpp b/src/3rdParty/libkdtree/kdtree++/allocator.hpp index 9c6e098f7c..560f4c768b 100644 --- a/src/3rdParty/libkdtree/kdtree++/allocator.hpp +++ b/src/3rdParty/libkdtree/kdtree++/allocator.hpp @@ -41,7 +41,7 @@ namespace KDTree NoLeakAlloc(_Alloc_base * b) : base(b), new_node(base->_M_allocate_node()) {} _Node_ * get() { return new_node; } - void disconnect() { new_node = nullptr; } + void disconnect() { new_node = NULL; } ~NoLeakAlloc() { if (new_node) base->_M_deallocate_node(new_node); } }; @@ -74,7 +74,11 @@ namespace KDTree void _M_destroy_node(_Node_* __p) { +#if __cplusplus >= 201703L + std::allocator_traits::destroy(_M_node_allocator,__p); +#else _M_node_allocator.destroy(__p); +#endif } }; diff --git a/src/3rdParty/libkdtree/kdtree++/iterator.hpp b/src/3rdParty/libkdtree/kdtree++/iterator.hpp index 22dc5861fe..05ea9db9e4 100644 --- a/src/3rdParty/libkdtree/kdtree++/iterator.hpp +++ b/src/3rdParty/libkdtree/kdtree++/iterator.hpp @@ -9,7 +9,7 @@ #include -#include +#include "node.hpp" namespace KDTree { @@ -52,7 +52,7 @@ namespace KDTree typedef _Node_base::_Base_const_ptr _Base_const_ptr; _Base_const_ptr _M_node; - inline _Base_iterator(_Base_const_ptr const __N = nullptr) + inline _Base_iterator(_Base_const_ptr const __N = NULL) : _M_node(__N) {} //inline _Base_iterator(_Base_iterator const& __THAT) // : _M_node(__THAT._M_node) {} @@ -205,37 +205,37 @@ namespace KDTree }; template - inline bool + bool operator==(_Iterator<_Val, _Ref, _Ptr> const& __X, _Iterator<_Val, _Ref, _Ptr> const& __Y) { return __X._M_node == __Y._M_node; } template - inline bool + bool operator==(_Iterator<_Val, const _Val&, const _Val*> const& __X, _Iterator<_Val, _Val&, _Val*> const& __Y) { return __X._M_node == __Y._M_node; } template - inline bool + bool operator==(_Iterator<_Val, _Val&, _Val*> const& __X, _Iterator<_Val, const _Val&, const _Val*> const& __Y) { return __X._M_node == __Y._M_node; } template - inline bool + bool operator!=(_Iterator<_Val, _Ref, _Ptr> const& __X, _Iterator<_Val, _Ref, _Ptr> const& __Y) { return __X._M_node != __Y._M_node; } template - inline bool + bool operator!=(_Iterator<_Val, const _Val&, const _Val*> const& __X, _Iterator<_Val, _Val&, _Val*> const& __Y) { return __X._M_node != __Y._M_node; } template - inline bool + bool operator!=(_Iterator<_Val, _Val&, _Val*> const& __X, _Iterator<_Val, const _Val&, const _Val*> const& __Y) { return __X._M_node != __Y._M_node; } diff --git a/src/3rdParty/libkdtree/kdtree++/kdtree.hpp b/src/3rdParty/libkdtree/kdtree++/kdtree.hpp index d86d763694..27a41a28bf 100644 --- a/src/3rdParty/libkdtree/kdtree++/kdtree.hpp +++ b/src/3rdParty/libkdtree/kdtree++/kdtree.hpp @@ -48,17 +48,17 @@ // -// This number is guaranteed to change with every release. +// This number is guarenteed to change with every release. // // KDTREE_VERSION % 100 is the patch level // KDTREE_VERSION / 100 % 1000 is the minor version // KDTREE_VERSION / 100000 is the major version -#define KDTREE_VERSION 700 +#define KDTREE_VERSION 702 // // KDTREE_LIB_VERSION must be defined to be the same as KDTREE_VERSION // but as a *string* in the form "x_y[_z]" where x is the major version // number, y is the minor version number, and z is the patch level if not 0. -#define KDTREE_LIB_VERSION "0_7_0" +#define KDTREE_LIB_VERSION "0_7_2" #include @@ -67,6 +67,7 @@ # include #endif #include +#include #ifdef KDTREE_DEFINE_OSTREAM_OPERATORS # include @@ -90,1142 +91,1148 @@ namespace KDTree unsigned long long num_dist_calcs = 0; #endif - template , - typename _Dist = squared_difference, - typename _Cmp = std::less, - typename _Alloc = std::allocator<_Node<_Val> > > - class KDTree : protected _Alloc_base<_Val, _Alloc> - { - protected: - typedef _Alloc_base<_Val, _Alloc> _Base; - typedef typename _Base::allocator_type allocator_type; +template , + typename _Dist = squared_difference, + typename _Cmp = std::less, + typename _Alloc = std::allocator<_Node<_Val> > > +class KDTree : protected _Alloc_base<_Val, _Alloc> +{ +protected: + typedef _Alloc_base<_Val, _Alloc> _Base; + typedef typename _Base::allocator_type allocator_type; - typedef _Node_base* _Base_ptr; - typedef _Node_base const* _Base_const_ptr; - typedef _Node<_Val>* _Link_type; - typedef _Node<_Val> const* _Link_const_type; + typedef _Node_base* _Base_ptr; + typedef _Node_base const* _Base_const_ptr; + typedef _Node<_Val>* _Link_type; + typedef _Node<_Val> const* _Link_const_type; - typedef _Node_compare<_Val, _Acc, _Cmp> _Node_compare_; + typedef _Node_compare<_Val, _Acc, _Cmp> _Node_compare_; - public: - typedef _Region<__K, _Val, typename _Acc::result_type, _Acc, _Cmp> - _Region_; - typedef _Val value_type; - typedef value_type* pointer; - typedef value_type const* const_pointer; - typedef value_type& reference; - typedef value_type const& const_reference; - typedef typename _Acc::result_type subvalue_type; - typedef typename _Dist::distance_type distance_type; - typedef size_t size_type; - typedef ptrdiff_t difference_type; +public: + typedef _Region<__K, _Val, typename _Acc::result_type, _Acc, _Cmp> + _Region_; + typedef _Val value_type; + typedef value_type* pointer; + typedef value_type const* const_pointer; + typedef value_type& reference; + typedef value_type const& const_reference; + typedef typename _Acc::result_type subvalue_type; + typedef typename _Dist::distance_type distance_type; + typedef size_t size_type; + typedef ptrdiff_t difference_type; - KDTree(_Acc const& __acc = _Acc(), _Dist const& __dist = _Dist(), - _Cmp const& __cmp = _Cmp(), const allocator_type& __a = allocator_type()) - : _Base(__a), _M_header(), - _M_count(0), _M_acc(__acc), _M_cmp(__cmp), _M_dist(__dist) + KDTree(_Acc const& __acc = _Acc(), _Dist const& __dist = _Dist(), + _Cmp const& __cmp = _Cmp(), const allocator_type& __a = allocator_type()) + : _Base(__a), _M_header(), + _M_count(0), _M_acc(__acc), _M_cmp(__cmp), _M_dist(__dist) + { + _M_empty_initialise(); + } + + KDTree(const KDTree& __x) + : _Base(__x.get_allocator()), _M_header(), _M_count(0), + _M_acc(__x._M_acc), _M_cmp(__x._M_cmp), _M_dist(__x._M_dist) + { + _M_empty_initialise(); + // this is slow: + // this->insert(begin(), __x.begin(), __x.end()); + // this->optimise(); + + // this is much faster, as it skips a lot of useless work + // do the optimisation before inserting + // Needs to be stored in a vector first as _M_optimise() + // sorts the data in the passed iterators directly. + std::vector temp; + temp.reserve(__x.size()); + std::copy(__x.begin(),__x.end(),std::back_inserter(temp)); + _M_optimise(temp.begin(), temp.end(), 0); + } + + template + KDTree(_InputIterator __first, _InputIterator __last, + _Acc const& acc = _Acc(), _Dist const& __dist = _Dist(), + _Cmp const& __cmp = _Cmp(), const allocator_type& __a = allocator_type()) + : _Base(__a), _M_header(), _M_count(0), + _M_acc(acc), _M_cmp(__cmp), _M_dist(__dist) + { + _M_empty_initialise(); + // this is slow: + // this->insert(begin(), __first, __last); + // this->optimise(); + + // this is much faster, as it skips a lot of useless work + // do the optimisation before inserting + // Needs to be stored in a vector first as _M_optimise() + // sorts the data in the passed iterators directly. + std::vector temp; + temp.reserve(std::distance(__first,__last)); + std::copy(__first,__last,std::back_inserter(temp)); + _M_optimise(temp.begin(), temp.end(), 0); + + // NOTE: this will BREAK users that are passing in + // read-once data via the iterator... + // We increment __first all the way to __last once within + // the distance() call, and again within the copy() call. + // + // This should end up using some funky C++ concepts or + // type traits to check that the iterators can be used in this way... + } + + + // this will CLEAR the tree and fill it with the contents + // of 'writable_vector'. it will use the passed vector directly, + // and will basically resort the vector many times over while + // optimising the tree. + // + // Paul: I use this when I have already built up a vector of data + // that I want to add, and I don't mind if its contents get shuffled + // by the kdtree optimise routine. + void efficient_replace_and_optimise( std::vector & writable_vector ) + { + this->clear(); + _M_optimise(writable_vector.begin(), writable_vector.end(), 0); + } + + + + KDTree& + operator=(const KDTree& __x) + { + if (this != &__x) + { + _M_acc = __x._M_acc; + _M_dist = __x._M_dist; + _M_cmp = __x._M_cmp; + // this is slow: + // this->insert(begin(), __x.begin(), __x.end()); + // this->optimise(); + + // this is much faster, as it skips a lot of useless work + // do the optimisation before inserting + // Needs to be stored in a vector first as _M_optimise() + // sorts the data in the passed iterators directly. + std::vector temp; + temp.reserve(__x.size()); + std::copy(__x.begin(),__x.end(),std::back_inserter(temp)); + efficient_replace_and_optimise(temp); + } + return *this; + } + + ~KDTree() + { + this->clear(); + } + + allocator_type + get_allocator() const + { + return _Base::get_allocator(); + } + + size_type + size() const + { + return _M_count; + } + + size_type + max_size() const + { + return size_type(-1); + } + + bool + empty() const + { + return this->size() == 0; + } + + void + clear() + { + _M_erase_subtree(_M_get_root()); + _M_set_leftmost(&_M_header); + _M_set_rightmost(&_M_header); + _M_set_root(NULL); + _M_count = 0; + } + + /*! \brief Comparator for the values in the KDTree. + +The comparator shall not be modified, it could invalidate the tree. +\return a copy of the comparator used by the KDTree. + */ + _Cmp + value_comp() const + { return _M_cmp; } + + /*! \brief Accessor to the value's elements. + +This accessor shall not be modified, it could invalidate the tree. +\return a copy of the accessor used by the KDTree. + */ + _Acc + value_acc() const + { return _M_acc; } + + /*! \brief Distance calculator between 2 value's element. + +This functor can be modified. It's modification will only affect the +behavior of the find and find_nearest functions. +\return a reference to the distance calculator used by the KDTree. + */ + const _Dist& + value_distance() const + { return _M_dist; } + + _Dist& + value_distance() + { return _M_dist; } + + // typedef _Iterator<_Val, reference, pointer> iterator; + typedef _Iterator<_Val, const_reference, const_pointer> const_iterator; + // No mutable iterator at this stage + typedef const_iterator iterator; + typedef std::reverse_iterator const_reverse_iterator; + typedef std::reverse_iterator reverse_iterator; + + // Note: the static_cast in end() is invalid (_M_header is not convertable to a _Link_type), but + // thats ok as it just means undefined behaviour if the user dereferences the end() iterator. + + const_iterator begin() const { return const_iterator(_M_get_leftmost()); } + const_iterator end() const { return const_iterator(static_cast<_Link_const_type>(&_M_header)); } + const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } + const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } + + iterator + insert(iterator /* ignored */, const_reference __V) + { + return this->insert(__V); + } + + iterator + insert(const_reference __V) + { + if (!_M_get_root()) { - _M_empty_initialise(); + _Link_type __n = _M_new_node(__V, &_M_header); + ++_M_count; + _M_set_root(__n); + _M_set_leftmost(__n); + _M_set_rightmost(__n); + return iterator(__n); } + return _M_insert(_M_get_root(), __V, 0); + } - KDTree(const KDTree& __x) - : _Base(__x.get_allocator()), _M_header(), _M_count(0), - _M_acc(__x._M_acc), _M_cmp(__x._M_cmp), _M_dist(__x._M_dist) - { - _M_empty_initialise(); - // this is slow: - // this->insert(begin(), __x.begin(), __x.end()); - // this->optimise(); + template + void insert(_InputIterator __first, _InputIterator __last) { + for (; __first != __last; ++__first) + this->insert(*__first); + } - // this is much faster, as it skips a lot of useless work - // do the optimisation before inserting - // Needs to be stored in a vector first as _M_optimise() - // sorts the data in the passed iterators directly. - std::vector temp; - temp.reserve(__x.size()); - std::copy(__x.begin(),__x.end(),std::back_inserter(temp)); - _M_optimise(temp.begin(), temp.end(), 0); - } + void + insert(iterator __pos, size_type __n, const value_type& __x) + { + for (; __n > 0; --__n) + this->insert(__pos, __x); + } - template - KDTree(_InputIterator __first, _InputIterator __last, - _Acc const& acc = _Acc(), _Dist const& __dist = _Dist(), - _Cmp const& __cmp = _Cmp(), const allocator_type& __a = allocator_type()) - : _Base(__a), _M_header(), _M_count(0), - _M_acc(acc), _M_cmp(__cmp), _M_dist(__dist) - { - _M_empty_initialise(); - // this is slow: - // this->insert(begin(), __first, __last); - // this->optimise(); + template + void + insert(iterator __pos, _InputIterator __first, _InputIterator __last) { + for (; __first != __last; ++__first) + this->insert(__pos, *__first); + } - // this is much faster, as it skips a lot of useless work - // do the optimisation before inserting - // Needs to be stored in a vector first as _M_optimise() - // sorts the data in the passed iterators directly. - std::vector temp; - temp.reserve(std::distance(__first,__last)); - std::copy(__first,__last,std::back_inserter(temp)); - _M_optimise(temp.begin(), temp.end(), 0); + // Note: this uses the find() to location the item you want to erase. + // find() compares by equivalence of location ONLY. See the comments + // above find_exact() for why you may not want this. + // + // If you want to erase ANY item that has the same location as __V, + // then use this function. + // + // If you want to erase a PARTICULAR item, and not any other item + // that might happen to have the same location, then you should use + // erase_exact(). + void + erase(const_reference __V) { + const_iterator b = this->find(__V); + this->erase(b); + } - // NOTE: this will BREAK users that are passing in - // read-once data via the iterator... - // We increment __first all the way to __last once within - // the distance() call, and again within the copy() call. - // - // This should end up using some funky C++ concepts or - // type traits to check that the iterators can be used in this way... - } + void + erase_exact(const_reference __V) { + this->erase(this->find_exact(__V)); + } - - // this will CLEAR the tree and fill it with the contents - // of 'writable_vector'. it will use the passed vector directly, - // and will basically resort the vector many times over while - // optimising the tree. - // - // Paul: I use this when I have already built up a vector of data - // that I want to add, and I don't mind if its contents get shuffled - // by the kdtree optimise routine. - void efficient_replace_and_optimise( std::vector & writable_vector ) - { - this->clear(); - _M_optimise(writable_vector.begin(), writable_vector.end(), 0); - } - - - - KDTree& - operator=(const KDTree& __x) - { - if (this != &__x) - { - _M_acc = __x._M_acc; - _M_dist = __x._M_dist; - _M_cmp = __x._M_cmp; - // this is slow: - // this->insert(begin(), __x.begin(), __x.end()); - // this->optimise(); - - // this is much faster, as it skips a lot of useless work - // do the optimisation before inserting - // Needs to be stored in a vector first as _M_optimise() - // sorts the data in the passed iterators directly. - std::vector temp; - temp.reserve(__x.size()); - std::copy(__x.begin(),__x.end(),std::back_inserter(temp)); - efficient_replace_and_optimise(temp); - } - return *this; - } - - ~KDTree() - { - this->clear(); - } - - allocator_type - get_allocator() const - { - return _Base::get_allocator(); - } - - size_type - size() const - { - return _M_count; - } - - size_type - max_size() const - { - return size_type(-1); - } - - bool - empty() const - { - return this->size() == 0; - } - - void - clear() - { - _M_erase_subtree(_M_get_root()); - _M_set_leftmost(&_M_header); - _M_set_rightmost(&_M_header); - _M_set_root(nullptr); - _M_count = 0; - } - - /*! \brief Comparator for the values in the KDTree. - - The comparator shall not be modified, it could invalidate the tree. - \return a copy of the comparator used by the KDTree. - */ - _Cmp - value_comp() const - { return _M_cmp; } - - /*! \brief Accessor to the value's elements. - - This accessor shall not be modified, it could invalidate the tree. - \return a copy of the accessor used by the KDTree. - */ - _Acc - value_acc() const - { return _M_acc; } - - /*! \brief Distance calculator between 2 value's element. - - This functor can be modified. It's modification will only affect the - behavior of the find and find_nearest functions. - \return a reference to the distance calculator used by the KDTree. - */ - const _Dist& - value_distance() const - { return _M_dist; } - - _Dist& - value_distance() - { return _M_dist; } - - // typedef _Iterator<_Val, reference, pointer> iterator; - typedef _Iterator<_Val, const_reference, const_pointer> const_iterator; - // No mutable iterator at this stage - typedef const_iterator iterator; - typedef std::reverse_iterator const_reverse_iterator; - typedef std::reverse_iterator reverse_iterator; - - // Note: the static_cast in end() is invalid (_M_header is not convertible to a _Link_type), but - // that's ok as it just means undefined behaviour if the user dereferences the end() iterator. - - const_iterator begin() const { return const_iterator(_M_get_leftmost()); } - const_iterator end() const { return const_iterator(static_cast<_Link_const_type>(&_M_header)); } - const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } - const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } - - iterator - insert(iterator /* ignored */, const_reference __V) - { - return this->insert(__V); - } - - iterator - insert(const_reference __V) - { - if (!_M_get_root()) - { - _Link_type __n = _M_new_node(__V, &_M_header); - ++_M_count; - _M_set_root(__n); - _M_set_leftmost(__n); - _M_set_rightmost(__n); - return iterator(__n); - } - return _M_insert(_M_get_root(), __V, 0); - } - - template - void insert(_InputIterator __first, _InputIterator __last) { - for (; __first != __last; ++__first) - this->insert(*__first); - } - - void - insert(iterator __pos, size_type __n, const value_type& __x) - { - for (; __n > 0; --__n) - this->insert(__pos, __x); - } - - template - void - insert(iterator __pos, _InputIterator __first, _InputIterator __last) { - for (; __first != __last; ++__first) - this->insert(__pos, *__first); - } - - // Note: this uses the find() to location the item you want to erase. - // find() compares by equivalence of location ONLY. See the comments - // above find_exact() for why you may not want this. - // - // If you want to erase ANY item that has the same location as __V, - // then use this function. - // - // If you want to erase a PARTICULAR item, and not any other item - // that might happen to have the same location, then you should use - // erase_exact(). - void - erase(const_reference __V) { - const_iterator b = this->find(__V); - this->erase(b); - } - - void - erase_exact(const_reference __V) { - this->erase(this->find_exact(__V)); - } - - // note: kept as const because its easier to const-cast it away - void - erase(const_iterator const& __IT) - { - assert(__IT != this->end()); - _Link_const_type target = __IT.get_raw_node(); - _Link_const_type n = target; - size_type level = 0; - while ((n = _S_parent(n)) != &_M_header) - ++level; - _M_erase( const_cast<_Link_type>(target), level ); - _M_delete_node( const_cast<_Link_type>(target) ); - --_M_count; - } + // note: kept as const because its easier to const-cast it away + void + erase(const_iterator const& __IT) + { + assert(__IT != this->end()); + _Link_const_type target = __IT.get_raw_node(); + _Link_const_type n = target; + size_type level = 0; + while ((n = _S_parent(n)) != &_M_header) + ++level; + _M_erase( const_cast<_Link_type>(target), level ); + _M_delete_node( const_cast<_Link_type>(target) ); + --_M_count; + } /* this does not work since erasure changes sort order - void - erase(const_iterator __A, const_iterator const& __B) + void + erase(const_iterator __A, const_iterator const& __B) + { + if (0 && __A == this->begin() && __B == this->end()) { - if (0 && __A == this->begin() && __B == this->end()) - { - this->clear(); - } - else - { - while (__A != __B) - this->erase(__A++); - } + this->clear(); } + else + { + while (__A != __B) + this->erase(__A++); + } + } */ - // compares via equivalence - // so if you are looking for any item with the same location, - // according to the standard accessor comparisons, - // then this is the function for you. - template - const_iterator - find(SearchVal const& __V) const + // compares via equivalence + // so if you are looking for any item with the same location, + // according to the standard accessor comparisions, + // then this is the function for you. + template + const_iterator + find(SearchVal const& __V) const + { + if (!_M_get_root()) return this->end(); + return _M_find(_M_get_root(), __V, 0); + } + + // compares via equality + // if you are looking for a particular item in the tree, + // and (for example) it has an ID that is checked via an == comparison + // eg + // struct Item + // { + // size_type unique_id; + // bool operator==(Item const& a, Item const& b) { return a.unique_id == b.unique_id; } + // Location location; + // }; + // Two items may be equivalent in location. find() would return + // either one of them. But no two items have the same ID, so + // find_exact() would always return the item with the same location AND id. + // + template + const_iterator + find_exact(SearchVal const& __V) const + { + if (!_M_get_root()) return this->end(); + return _M_find_exact(_M_get_root(), __V, 0); + } + + // NOTE: see notes on find_within_range(). + size_type + count_within_range(const_reference __V, subvalue_type const __R) const + { + if (!_M_get_root()) return 0; + _Region_ __region(__V, __R, _M_acc, _M_cmp); + return this->count_within_range(__region); + } + + size_type + count_within_range(_Region_ const& __REGION) const + { + if (!_M_get_root()) return 0; + + _Region_ __bounds(__REGION); + return _M_count_within_range(_M_get_root(), + __REGION, __bounds, 0); + } + + // NOTE: see notes on find_within_range(). + template + Visitor + visit_within_range(SearchVal const& V, subvalue_type const R, Visitor visitor) const + { + if (!_M_get_root()) return visitor; + _Region_ region(V, R, _M_acc, _M_cmp); + return this->visit_within_range(region, visitor); + } + + template + Visitor + visit_within_range(_Region_ const& REGION, Visitor visitor) const + { + if (_M_get_root()) { - if (!_M_get_root()) return this->end(); - return _M_find(_M_get_root(), __V, 0); + _Region_ bounds(REGION); + return _M_visit_within_range(visitor, _M_get_root(), REGION, bounds, 0); } + return visitor; + } - // compares via equality - // if you are looking for a particular item in the tree, - // and (for example) it has an ID that is checked via an == comparison - // eg - // struct Item - // { - // size_type unique_id; - // bool operator==(Item const& a, Item const& b) { return a.unique_id == b.unique_id; } - // Location location; - // }; - // Two items may be equivalent in location. find() would return - // either one of them. But no two items have the same ID, so - // find_exact() would always return the item with the same location AND id. - // - template - const_iterator - find_exact(SearchVal const& __V) const + // NOTE: this will visit points based on 'Manhattan distance' aka city-block distance + // aka taxicab metric. Meaning it will find all points within: + // max(x_dist,max(y_dist,z_dist)); + // AND NOT than what you would expect: sqrt(x_dist*x_dist + y_dist*y_dist + z_dist*z_dist) + // + // This is because it converts the distance into a bounding-box 'region' and compares + // against that. + // + // If you want the sqrt() behaviour, ask on the mailing list for different options. + // + template + _OutputIterator + find_within_range(SearchVal const& val, subvalue_type const range, + _OutputIterator out) const + { + if (!_M_get_root()) return out; + _Region_ region(val, range, _M_acc, _M_cmp); + return this->find_within_range(region, out); + } + + template + _OutputIterator + find_within_range(_Region_ const& region, + _OutputIterator out) const + { + if (_M_get_root()) { - if (!_M_get_root()) return this->end(); - return _M_find_exact(_M_get_root(), __V, 0); + _Region_ bounds(region); + out = _M_find_within_range(out, _M_get_root(), + region, bounds, 0); } + return out; + } - size_type - count_within_range(const_reference __V, subvalue_type const __R) const - { - if (!_M_get_root()) return 0; - _Region_ __region(__V, __R, _M_acc, _M_cmp); - return this->count_within_range(__region); - } + template + std::pair + find_nearest (SearchVal const& __val) const + { + if (_M_get_root()) + { + std::pair*, + std::pair > + best = _S_node_nearest (__K, 0, __val, + _M_get_root(), &_M_header, _M_get_root(), + std::sqrt(_S_accumulate_node_distance + (__K, _M_dist, _M_acc, _M_get_root()->_M_value, __val)), + _M_cmp, _M_acc, _M_dist, + always_true()); + return std::pair + (best.first, best.second.second); + } + return std::pair(end(), 0); + } - size_type - count_within_range(_Region_ const& __REGION) const - { - if (!_M_get_root()) return 0; - - _Region_ __bounds(__REGION); - return _M_count_within_range(_M_get_root(), - __REGION, __bounds, 0); - } - - template - Visitor - visit_within_range(SearchVal const& V, subvalue_type const R, Visitor visitor) const - { - if (!_M_get_root()) return visitor; - _Region_ region(V, R, _M_acc, _M_cmp); - return this->visit_within_range(region, visitor); - } - - template - Visitor - visit_within_range(_Region_ const& REGION, Visitor visitor) const - { - if (_M_get_root()) - { - _Region_ bounds(REGION); - return _M_visit_within_range(visitor, _M_get_root(), REGION, bounds, 0); - } - return visitor; - } - - const_iterator - find_within_range_iterative(const_reference /*__a*/, const_reference /*__b*/) - { - return const_iterator(begin()); - } - - template - _OutputIterator - find_within_range(SearchVal const& val, subvalue_type const range, - _OutputIterator out) const - { - if (!_M_get_root()) return out; - _Region_ region(val, range, _M_acc, _M_cmp); - return this->find_within_range(region, out); - } - - template - _OutputIterator - find_within_range(_Region_ const& region, - _OutputIterator out) const - { - if (_M_get_root()) - { - _Region_ bounds(region); - out = _M_find_within_range(out, _M_get_root(), - region, bounds, 0); - } - return out; - } - - template - std::pair - find_nearest (SearchVal const& __val) const - { - if (_M_get_root()) - { - std::pair*, - std::pair > - best = _S_node_nearest (__K, 0, __val, - _M_get_root(), &_M_header, _M_get_root(), - sqrt(_S_accumulate_node_distance - (__K, _M_dist, _M_acc, _M_get_root()->_M_value, __val)), - _M_cmp, _M_acc, _M_dist, - always_true()); - return std::pair - (best.first, best.second.second); - } - return std::pair(end(), 0); - } - - template - std::pair - find_nearest (SearchVal const& __val, distance_type __max) const - { - if (_M_get_root()) - { + template + std::pair + find_nearest (SearchVal const& __val, distance_type __max) const + { + if (_M_get_root()) + { bool root_is_candidate = false; - const _Node<_Val>* node = _M_get_root(); - { // scope to ensure we don't use 'root_dist' anywhere else - distance_type root_dist = sqrt(_S_accumulate_node_distance - (__K, _M_dist, _M_acc, _M_get_root()->_M_value, __val)); - if (root_dist <= __max) - { - root_is_candidate = true; - __max = root_dist; - } - } - std::pair*, - std::pair > - best = _S_node_nearest (__K, 0, __val, _M_get_root(), &_M_header, - node, __max, _M_cmp, _M_acc, _M_dist, - always_true()); - // make sure we didn't just get stuck with the root node... - if (root_is_candidate || best.first != _M_get_root()) - return std::pair - (best.first, best.second.second); - } - return std::pair(end(), __max); - } + const _Node<_Val>* node = _M_get_root(); + { // scope to ensure we don't use 'root_dist' anywhere else + distance_type root_dist = std::sqrt(_S_accumulate_node_distance + (__K, _M_dist, _M_acc, _M_get_root()->_M_value, __val)); + if (root_dist <= __max) + { + root_is_candidate = true; + __max = root_dist; + } + } + std::pair*, + std::pair > + best = _S_node_nearest (__K, 0, __val, _M_get_root(), &_M_header, + node, __max, _M_cmp, _M_acc, _M_dist, + always_true()); + // make sure we didn't just get stuck with the root node... + if (root_is_candidate || best.first != _M_get_root()) + return std::pair + (best.first, best.second.second); + } + return std::pair(end(), __max); + } - template - std::pair - find_nearest_if (SearchVal const& __val, distance_type __max, - _Predicate __p) const - { - if (_M_get_root()) - { + template + std::pair + find_nearest_if (SearchVal const& __val, distance_type __max, + _Predicate __p) const + { + if (_M_get_root()) + { bool root_is_candidate = false; - const _Node<_Val>* node = _M_get_root(); - if (__p(_M_get_root()->_M_value)) - { - { // scope to ensure we don't use root_dist anywhere else - distance_type root_dist = sqrt(_S_accumulate_node_distance - (__K, _M_dist, _M_acc, _M_get_root()->_M_value, __val)); - if (root_dist <= __max) - { - root_is_candidate = true; - root_dist = __max; - } - } - } - std::pair*, - std::pair > - best = _S_node_nearest (__K, 0, __val, _M_get_root(), &_M_header, - node, __max, _M_cmp, _M_acc, _M_dist, __p); - // make sure we didn't just get stuck with the root node... - if (root_is_candidate || best.first != _M_get_root()) - return std::pair - (best.first, best.second.second); - } - return std::pair(end(), __max); - } + const _Node<_Val>* node = _M_get_root(); + if (__p(_M_get_root()->_M_value)) + { + { // scope to ensure we don't use root_dist anywhere else + distance_type root_dist = std::sqrt(_S_accumulate_node_distance + (__K, _M_dist, _M_acc, _M_get_root()->_M_value, __val)); + if (root_dist <= __max) + { + root_is_candidate = true; + root_dist = __max; + } + } + } + std::pair*, + std::pair > + best = _S_node_nearest (__K, 0, __val, _M_get_root(), &_M_header, + node, __max, _M_cmp, _M_acc, _M_dist, __p); + // make sure we didn't just get stuck with the root node... + if (root_is_candidate || best.first != _M_get_root()) + return std::pair + (best.first, best.second.second); + } + return std::pair(end(), __max); + } - void - optimise() + void + optimise() + { + std::vector __v(this->begin(),this->end()); + this->clear(); + _M_optimise(__v.begin(), __v.end(), 0); + } + + void + optimize() + { // cater for people who cannot spell :) + this->optimise(); + } + + void check_tree() + { + _M_check_node(_M_get_root(),0); + } + +protected: + + void _M_check_children( _Link_const_type child, _Link_const_type parent, size_type const level, bool to_the_left ) + { + assert(parent); + if (child) + { + _Node_compare_ compare(level % __K, _M_acc, _M_cmp); + // REMEMBER! its a <= relationship for BOTH branches + // for left-case (true), child<=node --> !(node !(child_M_value,child->_M_value)); // check the left + assert(to_the_left || !compare(child->_M_value,parent->_M_value)); // check the right + // and recurse down the tree, checking everything + _M_check_children(_S_left(child),parent,level,to_the_left); + _M_check_children(_S_right(child),parent,level,to_the_left); + } + } + + void _M_check_node( _Link_const_type node, size_type const level ) + { + if (node) + { + // (comparing on this level) + // everything to the left of this node must be smaller than this + _M_check_children( _S_left(node), node, level, true ); + // everything to the right of this node must be larger than this + _M_check_children( _S_right(node), node, level, false ); + + _M_check_node( _S_left(node), level+1 ); + _M_check_node( _S_right(node), level+1 ); + } + } + + void _M_empty_initialise() + { + _M_set_leftmost(&_M_header); + _M_set_rightmost(&_M_header); + _M_header._M_parent = NULL; + _M_set_root(NULL); + } + + iterator + _M_insert_left(_Link_type __N, const_reference __V) + { + _S_set_left(__N, _M_new_node(__V)); ++_M_count; + _S_set_parent( _S_left(__N), __N ); + if (__N == _M_get_leftmost()) + _M_set_leftmost( _S_left(__N) ); + return iterator(_S_left(__N)); + } + + iterator + _M_insert_right(_Link_type __N, const_reference __V) + { + _S_set_right(__N, _M_new_node(__V)); ++_M_count; + _S_set_parent( _S_right(__N), __N ); + if (__N == _M_get_rightmost()) + _M_set_rightmost( _S_right(__N) ); + return iterator(_S_right(__N)); + } + + iterator + _M_insert(_Link_type __N, const_reference __V, + size_type const __L) + { + if (_Node_compare_(__L % __K, _M_acc, _M_cmp)(__V, __N->_M_value)) { - std::vector __v(this->begin(),this->end()); - this->clear(); - _M_optimise(__v.begin(), __v.end(), 0); + if (!_S_left(__N)) + return _M_insert_left(__N, __V); + return _M_insert(_S_left(__N), __V, __L+1); } - - void - optimize() - { // cater for people who cannot spell :) - this->optimise(); - } - - void check_tree() + else { - _M_check_node(_M_get_root(),0); + if (!_S_right(__N) || __N == _M_get_rightmost()) + return _M_insert_right(__N, __V); + return _M_insert(_S_right(__N), __V, __L+1); + } + } + + _Link_type + _M_erase(_Link_type dead_dad, size_type const level) + { + // find a new step_dad, he will become a drop-in replacement. + _Link_type step_dad = _M_get_erase_replacement(dead_dad, level); + + // tell dead_dad's parent that his new child is step_dad + if (dead_dad == _M_get_root()) + _M_set_root(step_dad); + else if (_S_left(_S_parent(dead_dad)) == dead_dad) + _S_set_left(_S_parent(dead_dad), step_dad); + else + _S_set_right(_S_parent(dead_dad), step_dad); + + // deal with the left and right edges of the tree... + // if the dead_dad was at the edge, then substitude... + // but if there IS no new dead, then left_most is the dead_dad's parent + if (dead_dad == _M_get_leftmost()) + _M_set_leftmost( (step_dad ? step_dad : _S_parent(dead_dad)) ); + if (dead_dad == _M_get_rightmost()) + _M_set_rightmost( (step_dad ? step_dad : _S_parent(dead_dad)) ); + + if (step_dad) + { + // step_dad gets dead_dad's parent + _S_set_parent(step_dad, _S_parent(dead_dad)); + + // first tell the children that step_dad is their new dad + if (_S_left(dead_dad)) + _S_set_parent(_S_left(dead_dad), step_dad); + if (_S_right(dead_dad)) + _S_set_parent(_S_right(dead_dad), step_dad); + + // step_dad gets dead_dad's children + _S_set_left(step_dad, _S_left(dead_dad)); + _S_set_right(step_dad, _S_right(dead_dad)); } - protected: + return step_dad; + } - void _M_check_children( _Link_const_type child, _Link_const_type parent, size_type const level, bool to_the_left ) - { - assert(parent); - if (child) - { - _Node_compare_ compare(level % __K, _M_acc, _M_cmp); - // REMEMBER! its a <= relationship for BOTH branches - // for left-case (true), child<=node --> !(node !(child_M_value,child->_M_value)); // check the left - assert(to_the_left || !compare(child->_M_value,parent->_M_value)); // check the right - // and recurse down the tree, checking everything - _M_check_children(_S_left(child),parent,level,to_the_left); - _M_check_children(_S_right(child),parent,level,to_the_left); - } - } - void _M_check_node( _Link_const_type node, size_type const level ) - { - if (node) - { - // (comparing on this level) - // everything to the left of this node must be smaller than this - _M_check_children( _S_left(node), node, level, true ); - // everything to the right of this node must be larger than this - _M_check_children( _S_right(node), node, level, false ); - _M_check_node( _S_left(node), level+1 ); - _M_check_node( _S_right(node), level+1 ); - } - } + _Link_type + _M_get_erase_replacement(_Link_type node, size_type const level) + { + // if 'node' is null, then we can't do any better + if (_S_is_leaf(node)) + return NULL; - void _M_empty_initialise() - { - _M_set_leftmost(&_M_header); - _M_set_rightmost(&_M_header); - _M_header._M_parent = nullptr; - _M_set_root(nullptr); - } - - iterator - _M_insert_left(_Link_type __N, const_reference __V) - { - _S_set_left(__N, _M_new_node(__V)); ++_M_count; - _S_set_parent( _S_left(__N), __N ); - if (__N == _M_get_leftmost()) - _M_set_leftmost( _S_left(__N) ); - return iterator(_S_left(__N)); - } - - iterator - _M_insert_right(_Link_type __N, const_reference __V) - { - _S_set_right(__N, _M_new_node(__V)); ++_M_count; - _S_set_parent( _S_right(__N), __N ); - if (__N == _M_get_rightmost()) - _M_set_rightmost( _S_right(__N) ); - return iterator(_S_right(__N)); - } - - iterator - _M_insert(_Link_type __N, const_reference __V, - size_type const __L) - { - if (_Node_compare_(__L % __K, _M_acc, _M_cmp)(__V, __N->_M_value)) - { - if (!_S_left(__N)) - return _M_insert_left(__N, __V); - return _M_insert(_S_left(__N), __V, __L+1); - } + std::pair<_Link_type,size_type> candidate; + // if there is nothing to the left, find a candidate on the right tree + if (!_S_left(node)) + candidate = _M_get_j_min( std::pair<_Link_type,size_type>(_S_right(node),level), level+1); + // ditto for the right + else if ((!_S_right(node))) + candidate = _M_get_j_max( std::pair<_Link_type,size_type>(_S_left(node),level), level+1); + // we have both children ... + else + { + // we need to do a little more work in order to find a good candidate + // this is actually a technique used to choose a node from either the + // left or right branch RANDOMLY, so that the tree has a greater change of + // staying balanced. + // If this were a true binary tree, we would always hunt down the right branch. + // See top for notes. + _Node_compare_ compare(level % __K, _M_acc, _M_cmp); + // compare the children based on this level's criteria... + // (this gives virtually random results) + if (compare(_S_right(node)->_M_value, _S_left(node)->_M_value)) + // the right is smaller, get our replacement from the SMALLEST on the right + candidate = _M_get_j_min(std::pair<_Link_type,size_type>(_S_right(node),level), level+1); else - { - if (!_S_right(__N) || __N == _M_get_rightmost()) - return _M_insert_right(__N, __V); - return _M_insert(_S_right(__N), __V, __L+1); - } + candidate = _M_get_j_max( std::pair<_Link_type,size_type>(_S_left(node),level), level+1); + } + + // we have a candidate replacement by now. + // remove it from the tree, but don't delete it. + // it must be disconnected before it can be reconnected. + _Link_type parent = _S_parent(candidate.first); + if (_S_left(parent) == candidate.first) + _S_set_left(parent, _M_erase(candidate.first, candidate.second)); + else + _S_set_right(parent, _M_erase(candidate.first, candidate.second)); + + return candidate.first; + } + + + + std::pair<_Link_type,size_type> + _M_get_j_min( std::pair<_Link_type,size_type> const node, size_type const level) + { + typedef std::pair<_Link_type,size_type> Result; + if (_S_is_leaf(node.first)) + return Result(node.first,level); + + _Node_compare_ compare(node.second % __K, _M_acc, _M_cmp); + Result candidate = node; + if (_S_left(node.first)) + { + Result left = _M_get_j_min(Result(_S_left(node.first), node.second), level+1); + if (compare(left.first->_M_value, candidate.first->_M_value)) + candidate = left; + } + if (_S_right(node.first)) + { + Result right = _M_get_j_min( Result(_S_right(node.first),node.second), level+1); + if (compare(right.first->_M_value, candidate.first->_M_value)) + candidate = right; + } + if (candidate.first == node.first) + return Result(candidate.first,level); + + return candidate; + } + + + + std::pair<_Link_type,size_type> + _M_get_j_max( std::pair<_Link_type,size_type> const node, size_type const level) + { + typedef std::pair<_Link_type,size_type> Result; + + if (_S_is_leaf(node.first)) + return Result(node.first,level); + + _Node_compare_ compare(node.second % __K, _M_acc, _M_cmp); + Result candidate = node; + if (_S_left(node.first)) + { + Result left = _M_get_j_max( Result(_S_left(node.first),node.second), level+1); + if (compare(candidate.first->_M_value, left.first->_M_value)) + candidate = left; + } + if (_S_right(node.first)) + { + Result right = _M_get_j_max(Result(_S_right(node.first),node.second), level+1); + if (compare(candidate.first->_M_value, right.first->_M_value)) + candidate = right; } - _Link_type - _M_erase(_Link_type dead_dad, size_type const level) + if (candidate.first == node.first) + return Result(candidate.first,level); + + return candidate; + } + + + void + _M_erase_subtree(_Link_type __n) + { + while (__n) { - // find a new step_dad, he will become a drop-in replacement. - _Link_type step_dad = _M_get_erase_replacement(dead_dad, level); - - // tell dead_dad's parent that his new child is step_dad - if (dead_dad == _M_get_root()) - _M_set_root(step_dad); - else if (_S_left(_S_parent(dead_dad)) == dead_dad) - _S_set_left(_S_parent(dead_dad), step_dad); - else - _S_set_right(_S_parent(dead_dad), step_dad); - - // deal with the left and right edges of the tree... - // if the dead_dad was at the edge, then substitute... - // but if there IS no new dead, then left_most is the dead_dad's parent - if (dead_dad == _M_get_leftmost()) - _M_set_leftmost( (step_dad ? step_dad : _S_parent(dead_dad)) ); - if (dead_dad == _M_get_rightmost()) - _M_set_rightmost( (step_dad ? step_dad : _S_parent(dead_dad)) ); - - if (step_dad) - { - // step_dad gets dead_dad's parent - _S_set_parent(step_dad, _S_parent(dead_dad)); - - // first tell the children that step_dad is their new dad - if (_S_left(dead_dad)) - _S_set_parent(_S_left(dead_dad), step_dad); - if (_S_right(dead_dad)) - _S_set_parent(_S_right(dead_dad), step_dad); - - // step_dad gets dead_dad's children - _S_set_left(step_dad, _S_left(dead_dad)); - _S_set_right(step_dad, _S_right(dead_dad)); - } - - return step_dad; + _M_erase_subtree(_S_right(__n)); + _Link_type __t = _S_left(__n); + _M_delete_node(__n); + __n = __t; } + } + const_iterator + _M_find(_Link_const_type node, const_reference value, size_type const level) const + { + // be aware! This is very different to normal binary searches, because of the <= + // relationship used. See top for notes. + // Basically we have to check ALL branches, as we may have an identical node + // in different branches. + const_iterator found = this->end(); - - _Link_type - _M_get_erase_replacement(_Link_type node, size_type const level) + _Node_compare_ compare(level % __K, _M_acc, _M_cmp); + if (!compare(node->_M_value,value)) // note, this is a <= test { - // if 'node' is null, then we can't do any better - if (_S_is_leaf(node)) - return NULL; - - std::pair<_Link_type,size_type> candidate; - // if there is nothing to the left, find a candidate on the right tree - if (!_S_left(node)) - candidate = _M_get_j_min( std::pair<_Link_type,size_type>(_S_right(node),level), level+1); - // ditto for the right - else if ((!_S_right(node))) - candidate = _M_get_j_max( std::pair<_Link_type,size_type>(_S_left(node),level), level+1); - // we have both children ... - else - { - // we need to do a little more work in order to find a good candidate - // this is actually a technique used to choose a node from either the - // left or right branch RANDOMLY, so that the tree has a greater change of - // staying balanced. - // If this were a true binary tree, we would always hunt down the right branch. - // See top for notes. - _Node_compare_ compare(level % __K, _M_acc, _M_cmp); - // compare the children based on this level's criteria... - // (this gives virtually random results) - if (compare(_S_right(node)->_M_value, _S_left(node)->_M_value)) - // the right is smaller, get our replacement from the SMALLEST on the right - candidate = _M_get_j_min(std::pair<_Link_type,size_type>(_S_right(node),level), level+1); - else - candidate = _M_get_j_max( std::pair<_Link_type,size_type>(_S_left(node),level), level+1); - } - - // we have a candidate replacement by now. - // remove it from the tree, but don't delete it. - // it must be disconnected before it can be reconnected. - _Link_type parent = _S_parent(candidate.first); - if (_S_left(parent) == candidate.first) - _S_set_left(parent, _M_erase(candidate.first, candidate.second)); - else - _S_set_right(parent, _M_erase(candidate.first, candidate.second)); - - return candidate.first; + // this line is the only difference between _M_find_exact() and _M_find() + if (_M_matches_node(node, value, level)) + return const_iterator(node); // return right away + if (_S_left(node)) + found = _M_find(_S_left(node), value, level+1); } + if ( _S_right(node) && found == this->end() && !compare(value,node->_M_value)) // note, this is a <= test + found = _M_find(_S_right(node), value, level+1); + return found; + } + const_iterator + _M_find_exact(_Link_const_type node, const_reference value, size_type const level) const + { + // be aware! This is very different to normal binary searches, because of the <= + // relationship used. See top for notes. + // Basically we have to check ALL branches, as we may have an identical node + // in different branches. + const_iterator found = this->end(); + _Node_compare_ compare(level % __K, _M_acc, _M_cmp); + if (!compare(node->_M_value,value)) // note, this is a <= test + { + // this line is the only difference between _M_find_exact() and _M_find() + if (value == *const_iterator(node)) + return const_iterator(node); // return right away + if (_S_left(node)) + found = _M_find_exact(_S_left(node), value, level+1); + } - std::pair<_Link_type,size_type> - _M_get_j_min( std::pair<_Link_type,size_type> const node, size_type const level) - { - typedef std::pair<_Link_type,size_type> Result; - if (_S_is_leaf(node.first)) - return Result(node.first,level); + // note: no else! items that are identical can be down both branches + if ( _S_right(node) && found == this->end() && !compare(value,node->_M_value)) // note, this is a <= test + found = _M_find_exact(_S_right(node), value, level+1); + return found; + } - _Node_compare_ compare(node.second % __K, _M_acc, _M_cmp); - Result candidate = node; - if (_S_left(node.first)) - { - Result left = _M_get_j_min(Result(_S_left(node.first), node.second), level+1); - if (compare(left.first->_M_value, candidate.first->_M_value)) - candidate = left; - } - if (_S_right(node.first)) - { - Result right = _M_get_j_min( Result(_S_right(node.first),node.second), level+1); - if (compare(right.first->_M_value, candidate.first->_M_value)) - candidate = right; - } - if (candidate.first == node.first) - return Result(candidate.first,level); + bool + _M_matches_node_in_d(_Link_const_type __N, const_reference __V, + size_type const __L) const + { + _Node_compare_ compare(__L % __K, _M_acc, _M_cmp); + return !(compare(__N->_M_value, __V) || compare(__V, __N->_M_value)); + } - return candidate; - } + bool + _M_matches_node_in_other_ds(_Link_const_type __N, const_reference __V, + size_type const __L = 0) const + { + size_type __i = __L; + while ((__i = (__i + 1) % __K) != __L % __K) + if (!_M_matches_node_in_d(__N, __V, __i)) return false; + return true; + } + bool + _M_matches_node(_Link_const_type __N, const_reference __V, + size_type __L = 0) const + { + return _M_matches_node_in_d(__N, __V, __L) + && _M_matches_node_in_other_ds(__N, __V, __L); + } - - std::pair<_Link_type,size_type> - _M_get_j_max( std::pair<_Link_type,size_type> const node, size_type const level) - { - typedef std::pair<_Link_type,size_type> Result; - - if (_S_is_leaf(node.first)) - return Result(node.first,level); - - _Node_compare_ compare(node.second % __K, _M_acc, _M_cmp); - Result candidate = node; - if (_S_left(node.first)) - { - Result left = _M_get_j_max( Result(_S_left(node.first),node.second), level+1); - if (compare(candidate.first->_M_value, left.first->_M_value)) - candidate = left; - } - if (_S_right(node.first)) - { - Result right = _M_get_j_max(Result(_S_right(node.first),node.second), level+1); - if (compare(candidate.first->_M_value, right.first->_M_value)) - candidate = right; - } - - if (candidate.first == node.first) - return Result(candidate.first,level); - - return candidate; - } - - - void - _M_erase_subtree(_Link_type __n) - { - while (__n) - { - _M_erase_subtree(_S_right(__n)); - _Link_type __t = _S_left(__n); - _M_delete_node(__n); - __n = __t; - } - } - - const_iterator - _M_find(_Link_const_type node, const_reference value, size_type const level) const - { - // be aware! This is very different to normal binary searches, because of the <= - // relationship used. See top for notes. - // Basically we have to check ALL branches, as we may have an identical node - // in different branches. - const_iterator found = this->end(); - - _Node_compare_ compare(level % __K, _M_acc, _M_cmp); - if (!compare(node->_M_value,value)) // note, this is a <= test - { - // this line is the only difference between _M_find_exact() and _M_find() - if (_M_matches_node(node, value, level)) - return const_iterator(node); // return right away - if (_S_left(node)) - found = _M_find(_S_left(node), value, level+1); - } - if ( _S_right(node) && found == this->end() && !compare(value,node->_M_value)) // note, this is a <= test - found = _M_find(_S_right(node), value, level+1); - return found; - } - - const_iterator - _M_find_exact(_Link_const_type node, const_reference value, size_type const level) const - { - // be aware! This is very different to normal binary searches, because of the <= - // relationship used. See top for notes. - // Basically we have to check ALL branches, as we may have an identical node - // in different branches. - const_iterator found = this->end(); - - _Node_compare_ compare(level % __K, _M_acc, _M_cmp); - if (!compare(node->_M_value,value)) // note, this is a <= test + size_type + _M_count_within_range(_Link_const_type __N, _Region_ const& __REGION, + _Region_ const& __BOUNDS, + size_type const __L) const + { + size_type count = 0; + if (__REGION.encloses(_S_value(__N))) { - // this line is the only difference between _M_find_exact() and _M_find() - if (value == *const_iterator(node)) - return const_iterator(node); // return right away - if (_S_left(node)) - found = _M_find_exact(_S_left(node), value, level+1); + ++count; + } + if (_S_left(__N)) + { + _Region_ __bounds(__BOUNDS); + __bounds.set_high_bound(_S_value(__N), __L); + if (__REGION.intersects_with(__bounds)) + count += _M_count_within_range(_S_left(__N), + __REGION, __bounds, __L+1); + } + if (_S_right(__N)) + { + _Region_ __bounds(__BOUNDS); + __bounds.set_low_bound(_S_value(__N), __L); + if (__REGION.intersects_with(__bounds)) + count += _M_count_within_range(_S_right(__N), + __REGION, __bounds, __L+1); } - // note: no else! items that are identical can be down both branches - if ( _S_right(node) && found == this->end() && !compare(value,node->_M_value)) // note, this is a <= test - found = _M_find_exact(_S_right(node), value, level+1); - return found; - } + return count; + } - bool - _M_matches_node_in_d(_Link_const_type __N, const_reference __V, - size_type const __L) const - { - _Node_compare_ compare(__L % __K, _M_acc, _M_cmp); - return !(compare(__N->_M_value, __V) || compare(__V, __N->_M_value)); - } - bool - _M_matches_node_in_other_ds(_Link_const_type __N, const_reference __V, - size_type const __L = 0) const - { - size_type __i = __L; - while ((__i = (__i + 1) % __K) != __L % __K) - if (!_M_matches_node_in_d(__N, __V, __i)) return false; - return true; - } - - bool - _M_matches_node(_Link_const_type __N, const_reference __V, - size_type __L = 0) const - { - return _M_matches_node_in_d(__N, __V, __L) - && _M_matches_node_in_other_ds(__N, __V, __L); - } - - size_type - _M_count_within_range(_Link_const_type __N, _Region_ const& __REGION, - _Region_ const& __BOUNDS, - size_type const __L) const + template + Visitor + _M_visit_within_range(Visitor visitor, + _Link_const_type N, _Region_ const& REGION, + _Region_ const& BOUNDS, + size_type const L) const + { + if (REGION.encloses(_S_value(N))) { - size_type count = 0; - if (__REGION.encloses(_S_value(__N))) - { - ++count; - } - if (_S_left(__N)) - { - _Region_ __bounds(__BOUNDS); - __bounds.set_high_bound(_S_value(__N), __L); - if (__REGION.intersects_with(__bounds)) - count += _M_count_within_range(_S_left(__N), - __REGION, __bounds, __L+1); - } - if (_S_right(__N)) - { - _Region_ __bounds(__BOUNDS); - __bounds.set_low_bound(_S_value(__N), __L); - if (__REGION.intersects_with(__bounds)) - count += _M_count_within_range(_S_right(__N), - __REGION, __bounds, __L+1); - } - - return count; + visitor(_S_value(N)); + } + if (_S_left(N)) + { + _Region_ bounds(BOUNDS); + bounds.set_high_bound(_S_value(N), L); + if (REGION.intersects_with(bounds)) + visitor = _M_visit_within_range(visitor, _S_left(N), + REGION, bounds, L+1); + } + if (_S_right(N)) + { + _Region_ bounds(BOUNDS); + bounds.set_low_bound(_S_value(N), L); + if (REGION.intersects_with(bounds)) + visitor = _M_visit_within_range(visitor, _S_right(N), + REGION, bounds, L+1); } + return visitor; + } - template - Visitor - _M_visit_within_range(Visitor visitor, - _Link_const_type N, _Region_ const& REGION, - _Region_ const& BOUNDS, - size_type const L) const + + + template + _OutputIterator + _M_find_within_range(_OutputIterator out, + _Link_const_type __N, _Region_ const& __REGION, + _Region_ const& __BOUNDS, + size_type const __L) const + { + if (__REGION.encloses(_S_value(__N))) { - if (REGION.encloses(_S_value(N))) - { - visitor(_S_value(N)); - } - if (_S_left(N)) - { - _Region_ bounds(BOUNDS); - bounds.set_high_bound(_S_value(N), L); - if (REGION.intersects_with(bounds)) - visitor = _M_visit_within_range(visitor, _S_left(N), - REGION, bounds, L+1); - } - if (_S_right(N)) - { - _Region_ bounds(BOUNDS); - bounds.set_low_bound(_S_value(N), L); - if (REGION.intersects_with(bounds)) - visitor = _M_visit_within_range(visitor, _S_right(N), - REGION, bounds, L+1); - } - - return visitor; + *out++ = _S_value(__N); + } + if (_S_left(__N)) + { + _Region_ __bounds(__BOUNDS); + __bounds.set_high_bound(_S_value(__N), __L); + if (__REGION.intersects_with(__bounds)) + out = _M_find_within_range(out, _S_left(__N), + __REGION, __bounds, __L+1); + } + if (_S_right(__N)) + { + _Region_ __bounds(__BOUNDS); + __bounds.set_low_bound(_S_value(__N), __L); + if (__REGION.intersects_with(__bounds)) + out = _M_find_within_range(out, _S_right(__N), + __REGION, __bounds, __L+1); } + return out; + } - template - _OutputIterator - _M_find_within_range(_OutputIterator out, - _Link_const_type __N, _Region_ const& __REGION, - _Region_ const& __BOUNDS, - size_type const __L) const - { - if (__REGION.encloses(_S_value(__N))) - { - *out++ = _S_value(__N); - } - if (_S_left(__N)) - { - _Region_ __bounds(__BOUNDS); - __bounds.set_high_bound(_S_value(__N), __L); - if (__REGION.intersects_with(__bounds)) - out = _M_find_within_range(out, _S_left(__N), - __REGION, __bounds, __L+1); - } - if (_S_right(__N)) - { - _Region_ __bounds(__BOUNDS); - __bounds.set_low_bound(_S_value(__N), __L); - if (__REGION.intersects_with(__bounds)) - out = _M_find_within_range(out, _S_right(__N), - __REGION, __bounds, __L+1); - } + template + void + _M_optimise(_Iter const& __A, _Iter const& __B, + size_type const __L) + { + if (__A == __B) return; + _Node_compare_ compare(__L % __K, _M_acc, _M_cmp); + _Iter __m = __A + (__B - __A) / 2; + std::nth_element(__A, __m, __B, compare); + this->insert(*__m); + if (__m != __A) _M_optimise(__A, __m, __L+1); + if (++__m != __B) _M_optimise(__m, __B, __L+1); + } - return out; - } + _Link_const_type + _M_get_root() const + { + return const_cast<_Link_const_type>(_M_root); + } + + _Link_type + _M_get_root() + { + return _M_root; + } + + void _M_set_root(_Link_type n) + { + _M_root = n; + } + + _Link_const_type + _M_get_leftmost() const + { + return static_cast<_Link_type>(_M_header._M_left); + } + + void + _M_set_leftmost( _Node_base * a ) + { + _M_header._M_left = a; + } + + _Link_const_type + _M_get_rightmost() const + { + return static_cast<_Link_type>( _M_header._M_right ); + } + + void + _M_set_rightmost( _Node_base * a ) + { + _M_header._M_right = a; + } + + static _Link_type + _S_parent(_Base_ptr N) + { + return static_cast<_Link_type>( N->_M_parent ); + } + + static _Link_const_type + _S_parent(_Base_const_ptr N) + { + return static_cast<_Link_const_type>( N->_M_parent ); + } + + static void + _S_set_parent(_Base_ptr N, _Base_ptr p) + { + N->_M_parent = p; + } + + static void + _S_set_left(_Base_ptr N, _Base_ptr l) + { + N->_M_left = l; + } + + static _Link_type + _S_left(_Base_ptr N) + { + return static_cast<_Link_type>( N->_M_left ); + } + + static _Link_const_type + _S_left(_Base_const_ptr N) + { + return static_cast<_Link_const_type>( N->_M_left ); + } + + static void + _S_set_right(_Base_ptr N, _Base_ptr r) + { + N->_M_right = r; + } + + static _Link_type + _S_right(_Base_ptr N) + { + return static_cast<_Link_type>( N->_M_right ); + } + + static _Link_const_type + _S_right(_Base_const_ptr N) + { + return static_cast<_Link_const_type>( N->_M_right ); + } + + static bool + _S_is_leaf(_Base_const_ptr N) + { + return !_S_left(N) && !_S_right(N); + } + + static const_reference + _S_value(_Link_const_type N) + { + return N->_M_value; + } + + static const_reference + _S_value(_Base_const_ptr N) + { + return static_cast<_Link_const_type>(N)->_M_value; + } + + static _Link_const_type + _S_minimum(_Link_const_type __X) + { + return static_cast<_Link_const_type> ( _Node_base::_S_minimum(__X) ); + } + + static _Link_const_type + _S_maximum(_Link_const_type __X) + { + return static_cast<_Link_const_type>( _Node_base::_S_maximum(__X) ); + } - template - void - _M_optimise(_Iter const& __A, _Iter const& __B, - size_type const __L) - { - if (__A == __B) return; - _Node_compare_ compare(__L % __K, _M_acc, _M_cmp); - _Iter __m = __A + (__B - __A) / 2; - std::nth_element(__A, __m, __B, compare); - this->insert(*__m); - if (__m != __A) _M_optimise(__A, __m, __L+1); - if (++__m != __B) _M_optimise(__m, __B, __L+1); - } + _Link_type + _M_new_node(const_reference __V, // = value_type(), + _Base_ptr const __PARENT = NULL, + _Base_ptr const __LEFT = NULL, + _Base_ptr const __RIGHT = NULL) + { + typename _Base::NoLeakAlloc noleak(this); + _Link_type new_node = noleak.get(); + _Base::_M_construct_node(new_node, __V, __PARENT, __LEFT, __RIGHT); + noleak.disconnect(); + return new_node; + } - _Link_const_type - _M_get_root() const - { - return const_cast<_Link_const_type>(_M_root); - } + /* WHAT was this for? + _Link_type + _M_clone_node(_Link_const_type __X) + { + _Link_type __ret = _M_allocate_node(__X->_M_value); + // TODO + return __ret; + } + */ - _Link_type - _M_get_root() - { - return _M_root; - } + void + _M_delete_node(_Link_type __p) + { + _Base::_M_destroy_node(__p); + _Base::_M_deallocate_node(__p); + } - void _M_set_root(_Link_type n) - { - _M_root = n; - } - - _Link_const_type - _M_get_leftmost() const - { - return static_cast<_Link_type>(_M_header._M_left); - } - - void - _M_set_leftmost( _Node_base * a ) - { - _M_header._M_left = a; - } - - _Link_const_type - _M_get_rightmost() const - { - return static_cast<_Link_type>( _M_header._M_right ); - } - - void - _M_set_rightmost( _Node_base * a ) - { - _M_header._M_right = a; - } - - static _Link_type - _S_parent(_Base_ptr N) - { - return static_cast<_Link_type>( N->_M_parent ); - } - - static _Link_const_type - _S_parent(_Base_const_ptr N) - { - return static_cast<_Link_const_type>( N->_M_parent ); - } - - static void - _S_set_parent(_Base_ptr N, _Base_ptr p) - { - N->_M_parent = p; - } - - static void - _S_set_left(_Base_ptr N, _Base_ptr l) - { - N->_M_left = l; - } - - static _Link_type - _S_left(_Base_ptr N) - { - return static_cast<_Link_type>( N->_M_left ); - } - - static _Link_const_type - _S_left(_Base_const_ptr N) - { - return static_cast<_Link_const_type>( N->_M_left ); - } - - static void - _S_set_right(_Base_ptr N, _Base_ptr r) - { - N->_M_right = r; - } - - static _Link_type - _S_right(_Base_ptr N) - { - return static_cast<_Link_type>( N->_M_right ); - } - - static _Link_const_type - _S_right(_Base_const_ptr N) - { - return static_cast<_Link_const_type>( N->_M_right ); - } - - static bool - _S_is_leaf(_Base_const_ptr N) - { - return !_S_left(N) && !_S_right(N); - } - - static const_reference - _S_value(_Link_const_type N) - { - return N->_M_value; - } - - static const_reference - _S_value(_Base_const_ptr N) - { - return static_cast<_Link_const_type>(N)->_M_value; - } - - static _Link_const_type - _S_minimum(_Link_const_type __X) - { - return static_cast<_Link_const_type> ( _Node_base::_S_minimum(__X) ); - } - - static _Link_const_type - _S_maximum(_Link_const_type __X) - { - return static_cast<_Link_const_type>( _Node_base::_S_maximum(__X) ); - } - - - _Link_type - _M_new_node(const_reference __V, // = value_type(), - _Base_ptr const __PARENT = nullptr, - _Base_ptr const __LEFT = nullptr, - _Base_ptr const __RIGHT = nullptr) - { - typename _Base::NoLeakAlloc noleak(this); - _Link_type new_node = noleak.get(); - _Base::_M_construct_node(new_node, __V, __PARENT, __LEFT, __RIGHT); - noleak.disconnect(); - return new_node; - } - - /* WHAT was this for? - _Link_type - _M_clone_node(_Link_const_type __X) - { - _Link_type __ret = _M_allocate_node(__X->_M_value); - // TODO - return __ret; - } - */ - - void - _M_delete_node(_Link_type __p) - { - _Base::_M_destroy_node(__p); - _Base::_M_deallocate_node(__p); - } - - _Link_type _M_root; - _Node_base _M_header; - size_type _M_count; - _Acc _M_acc; - _Cmp _M_cmp; - _Dist _M_dist; + _Link_type _M_root; + _Node_base _M_header; + size_type _M_count; + _Acc _M_acc; + _Cmp _M_cmp; + _Dist _M_dist; #ifdef KDTREE_DEFINE_OSTREAM_OPERATORS - friend std::ostream& - operator<<(std::ostream& o, - KDTree<__K, _Val, _Acc, _Dist, _Cmp, _Alloc> const& tree) - { - o << "meta node: " << tree._M_header << std::endl; - o << "root node: " << tree._M_root << std::endl; + friend std::ostream& + operator<<(std::ostream& o, + KDTree<__K, _Val, _Acc, _Dist, _Cmp, _Alloc> const& tree) + { + o << "meta node: " << tree._M_header << std::endl; + o << "root node: " << tree._M_root << std::endl; - if (tree.empty()) - return o << "[empty " << __K << "d-tree " << &tree << "]"; + if (tree.empty()) + return o << "[empty " << __K << "d-tree " << &tree << "]"; - o << "nodes total: " << tree.size() << std::endl; - o << "dimensions: " << __K << std::endl; + o << "nodes total: " << tree.size() << std::endl; + o << "dimensions: " << __K << std::endl; - typedef KDTree<__K, _Val, _Acc, _Dist, _Cmp, _Alloc> _Tree; - typedef typename _Tree::_Link_type _Link_type; + typedef KDTree<__K, _Val, _Acc, _Dist, _Cmp, _Alloc> _Tree; + typedef typename _Tree::_Link_type _Link_type; - std::stack<_Link_const_type> s; - s.push(tree._M_get_root()); + std::stack<_Link_const_type> s; + s.push(tree._M_get_root()); - while (!s.empty()) - { - _Link_const_type n = s.top(); - s.pop(); - o << *n << std::endl; - if (_Tree::_S_left(n)) s.push(_Tree::_S_left(n)); - if (_Tree::_S_right(n)) s.push(_Tree::_S_right(n)); - } + while (!s.empty()) + { + _Link_const_type n = s.top(); + s.pop(); + o << *n << std::endl; + if (_Tree::_S_left(n)) s.push(_Tree::_S_left(n)); + if (_Tree::_S_right(n)) s.push(_Tree::_S_right(n)); + } - return o; - } + return o; + } #endif - }; +}; // class KDTree } // namespace KDTree diff --git a/src/3rdParty/libkdtree/kdtree++/node.hpp b/src/3rdParty/libkdtree/kdtree++/node.hpp index 54b18db40d..76eaa27f37 100644 --- a/src/3rdParty/libkdtree/kdtree++/node.hpp +++ b/src/3rdParty/libkdtree/kdtree++/node.hpp @@ -25,9 +25,9 @@ namespace KDTree _Base_ptr _M_left; _Base_ptr _M_right; - _Node_base(_Base_ptr const __PARENT = nullptr, - _Base_ptr const __LEFT = nullptr, - _Base_ptr const __RIGHT = nullptr) + _Node_base(_Base_ptr const __PARENT = NULL, + _Base_ptr const __LEFT = NULL, + _Base_ptr const __RIGHT = NULL) : _M_parent(__PARENT), _M_left(__LEFT), _M_right(__RIGHT) {} static _Base_ptr @@ -43,24 +43,8 @@ namespace KDTree while (__x->_M_right) __x = __x->_M_right; return __x; } - }; - - template - struct _Node : public _Node_base - { - using _Node_base::_Base_ptr; - typedef _Node* _Link_type; - - _Val _M_value; - - _Node(_Val const& __VALUE = _Val(), - _Base_ptr const __PARENT = nullptr, - _Base_ptr const __LEFT = nullptr, - _Base_ptr const __RIGHT = nullptr) - : _Node_base(__PARENT, __LEFT, __RIGHT), _M_value(__VALUE) {} #ifdef KDTREE_DEFINE_OSTREAM_OPERATORS - template friend std::basic_ostream& @@ -73,7 +57,24 @@ namespace KDTree out << "; right: " << node._M_right; return out; } +#endif + }; + template + struct _Node : public _Node_base + { + using _Node_base::_Base_ptr; + typedef _Node* _Link_type; + + _Val _M_value; + + _Node(_Val const& __VALUE = _Val(), + _Base_ptr const __PARENT = NULL, + _Base_ptr const __LEFT = NULL, + _Base_ptr const __RIGHT = NULL) + : _Node_base(__PARENT, __LEFT, __RIGHT), _M_value(__VALUE) {} + +#ifdef KDTREE_DEFINE_OSTREAM_OPERATORS template friend std::basic_ostream& @@ -87,7 +88,6 @@ namespace KDTree out << "; right: " << node._M_right; return out; } - #endif }; @@ -168,17 +168,16 @@ namespace KDTree \note it's the caller responsibility to check if node is NULL. */ - template + template inline - _Node_base* + const NodeType* _S_node_descend (const size_t __dim, const _Cmp& __cmp, const _Acc& __acc, - const _Val& __val, const _Node_base* __node) + const _Val& __val, const NodeType* __node) { - if (_S_node_compare(__dim, __cmp, __acc, __val, static_cast* >(__node)->_M_value)) - return __node->_M_left; - else - return __node->_M_right; + if (_S_node_compare(__dim, __cmp, __acc, __val, __node->_M_value)) + return static_cast(__node->_M_left); + return static_cast(__node->_M_right); } /*! Find the nearest node to __val from __node @@ -190,37 +189,38 @@ namespace KDTree given arguments. */ template inline - std::pair*, + std::pair > _S_node_nearest (const size_t __k, size_t __dim, SearchVal const& __val, - const _Node<_Val>* __node, const _Node_base* __end, - const _Node<_Val>* __best, typename _Dist::distance_type __max, + const NodeType* __node, const _Node_base* __end, + const NodeType* __best, typename _Dist::distance_type __max, const _Cmp& __cmp, const _Acc& __acc, const _Dist& __dist, _Predicate __p) { - const _Node_base* pcur = __node; - const _Node_base* cur = _S_node_descend(__dim % __k, __cmp, __acc, __val, __node); + typedef const NodeType* NodePtr; + NodePtr pcur = __node; + NodePtr cur = _S_node_descend(__dim % __k, __cmp, __acc, __val, __node); size_t cur_dim = __dim+1; // find the smallest __max distance in direct descent while (cur) { - if (__p(static_cast* >(cur)->_M_value)) + if (__p(cur->_M_value)) { typename _Dist::distance_type d = 0; for (size_t i=0; i != __k; ++i) - d += _S_node_distance(i, __dist, __acc, __val, static_cast* >(cur)->_M_value); - d = sqrt(d); + d += _S_node_distance(i, __dist, __acc, __val, cur->_M_value); + d = std::sqrt(d); if (d <= __max) // ("bad candidate notes") // Changed: removed this test: || ( d == __max && cur < __best )) // Can't do this optimisation without checking that the current 'best' is not the root AND is not a valid candidate... // This is because find_nearest() etc will call this function with the best set to _M_root EVEN IF _M_root is not a valid answer (eg too far away or doesn't pass the predicate test) { - __best = static_cast* >(cur); + __best = cur; __max = d; __dim = cur_dim; } @@ -232,20 +232,20 @@ namespace KDTree // Swap cur to prev, only prev is a valid node. cur = pcur; --cur_dim; - pcur = nullptr; + pcur = NULL; // Probe all node's children not visited yet (siblings of the visited nodes). - const _Node_base* probe = cur; - const _Node_base* pprobe = probe; - const _Node_base* near_node; - const _Node_base* far_node; + NodePtr probe = cur; + NodePtr pprobe = probe; + NodePtr near_node; + NodePtr far_node; size_t probe_dim = cur_dim; - if (_S_node_compare(probe_dim % __k, __cmp, __acc, __val, static_cast* >(probe)->_M_value)) - near_node = probe->_M_right; + if (_S_node_compare(probe_dim % __k, __cmp, __acc, __val, probe->_M_value)) + near_node = static_cast(probe->_M_right); else - near_node = probe->_M_left; + near_node = static_cast(probe->_M_left); if (near_node // only visit node's children if node's plane intersect hypersphere - && (sqrt(_S_node_distance(probe_dim % __k, __dist, __acc, __val, static_cast* >(probe)->_M_value)) <= __max)) + && (std::sqrt(_S_node_distance(probe_dim % __k, __dist, __acc, __val, probe->_M_value)) <= __max)) { probe = near_node; ++probe_dim; @@ -254,27 +254,27 @@ namespace KDTree { while (probe != cur) { - if (_S_node_compare(probe_dim % __k, __cmp, __acc, __val, static_cast* >(probe)->_M_value)) + if (_S_node_compare(probe_dim % __k, __cmp, __acc, __val, probe->_M_value)) { - near_node = probe->_M_left; - far_node = probe->_M_right; + near_node = static_cast(probe->_M_left); + far_node = static_cast(probe->_M_right); } else { - near_node = probe->_M_right; - far_node = probe->_M_left; + near_node = static_cast(probe->_M_right); + far_node = static_cast(probe->_M_left); } if (pprobe == probe->_M_parent) // going downward ... { - if (__p(static_cast* >(probe)->_M_value)) + if (__p(probe->_M_value)) { typename _Dist::distance_type d = 0; for (size_t i=0; i < __k; ++i) - d += _S_node_distance(i, __dist, __acc, __val, static_cast* >(probe)->_M_value); - d = sqrt(d); + d += _S_node_distance(i, __dist, __acc, __val, probe->_M_value); + d = std::sqrt(d); if (d <= __max) // CHANGED, see the above notes ("bad candidate notes") { - __best = static_cast* >(probe); + __best = probe; __max = d; __dim = probe_dim; } @@ -287,14 +287,14 @@ namespace KDTree } else if (far_node && // only visit node's children if node's plane intersect hypersphere - sqrt(_S_node_distance(probe_dim % __k, __dist, __acc, __val, static_cast* >(probe)->_M_value)) <= __max) + std::sqrt(_S_node_distance(probe_dim % __k, __dist, __acc, __val, probe->_M_value)) <= __max) { probe = far_node; ++probe_dim; } else { - probe = probe->_M_parent; + probe = static_cast(probe->_M_parent); --probe_dim; } } @@ -302,7 +302,7 @@ namespace KDTree { if (pprobe == near_node && far_node // only visit node's children if node's plane intersect hypersphere - && sqrt(_S_node_distance(probe_dim % __k, __dist, __acc, __val, static_cast* >(probe)->_M_value)) <= __max) + && std::sqrt(_S_node_distance(probe_dim % __k, __dist, __acc, __val, probe->_M_value)) <= __max) { pprobe = probe; probe = far_node; @@ -311,13 +311,13 @@ namespace KDTree else { pprobe = probe; - probe = probe->_M_parent; + probe = static_cast(probe->_M_parent); --probe_dim; } } } pcur = cur; - cur = cur->_M_parent; + cur = static_cast(cur->_M_parent); --cur_dim; pprobe = cur; probe = cur; @@ -325,19 +325,19 @@ namespace KDTree if (cur != __end) { if (pcur == cur->_M_left) - near_node = cur->_M_right; + near_node = static_cast(cur->_M_right); else - near_node = cur->_M_left; + near_node = static_cast(cur->_M_left); if (near_node // only visit node's children if node's plane intersect hypersphere - && (sqrt(_S_node_distance(cur_dim % __k, __dist, __acc, __val, static_cast* >(cur)->_M_value)) <= __max)) + && (std::sqrt(_S_node_distance(cur_dim % __k, __dist, __acc, __val, cur->_M_value)) <= __max)) { probe = near_node; ++probe_dim; } } } - return std::pair*, + return std::pair > (__best, std::pair (__dim, __max)); diff --git a/src/3rdParty/libkdtree/kdtree++/region.hpp b/src/3rdParty/libkdtree/kdtree++/region.hpp index 98acab1d99..6e5a750502 100644 --- a/src/3rdParty/libkdtree/kdtree++/region.hpp +++ b/src/3rdParty/libkdtree/kdtree++/region.hpp @@ -9,7 +9,7 @@ #include -#include +#include "node.hpp" namespace KDTree { @@ -27,7 +27,7 @@ namespace KDTree typedef std::pair<_Region,_SubVal> _CenterPt; _Region(_Acc const& __acc=_Acc(), const _Cmp& __cmp=_Cmp()) - : _M_cmp(__acc), _M_acc(__cmp) {} + : _M_cmp(__cmp), _M_acc(__acc) {} template _Region(Val const& __V, diff --git a/src/3rdParty/libkdtree/python-bindings/gen-swig-hpp.py b/src/3rdParty/libkdtree/python-bindings/gen-swig-hpp.py old mode 100644 new mode 100755 diff --git a/src/3rdParty/libkdtree/python-bindings/py-kdtree_test.py b/src/3rdParty/libkdtree/python-bindings/py-kdtree_test.py index d236f13706..4227b71969 100644 --- a/src/3rdParty/libkdtree/python-bindings/py-kdtree_test.py +++ b/src/3rdParty/libkdtree/python-bindings/py-kdtree_test.py @@ -6,11 +6,6 @@ import unittest from kdtree import KDTree_2Int, KDTree_4Int, KDTree_3Float, KDTree_4Float, KDTree_6Float -try: - long -except NameError: - long = int - class KDTree_2IntTestCase(unittest.TestCase): def test_empty(self): diff --git a/src/3rdParty/salomesmesh/inc/Rn.h b/src/3rdParty/salomesmesh/inc/Rn.h index 28a524fe78..46eb1c638a 100644 --- a/src/3rdParty/salomesmesh/inc/Rn.h +++ b/src/3rdParty/salomesmesh/inc/Rn.h @@ -31,7 +31,7 @@ #include //Dans OpenCascade //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// BUT: Definir les espaces affines R R2 R3 R4 soit Rn pour n=1,2,3,4 +// BUT: Definir les espaces affines R R_2 R_3 R_4 soit Rn pour n=1,2,3,4 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // AUTEUR : Frederic HECHT ANALYSE NUMERIQUE UPMC PARIS OCTOBRE 2000 // MODIFS : Alain PERRONNET ANALYSE NUMERIQUE UPMC PARIS NOVEMBRE 2000 @@ -82,155 +82,155 @@ typedef double R; //============== //typedef struct { short int x,y } XPoint; //en fait ce type est defini dans X11-Window // #include -//la classe R2 +//la classe R_2 //============ -class R2 +class R_2 { - friend std::ostream& operator << (std::ostream& f, const R2 & P) + friend std::ostream& operator << (std::ostream& f, const R_2 & P) { f << P.x << ' ' << P.y ; return f; } - friend std::istream& operator >> (std::istream& f, R2 & P) + friend std::istream& operator >> (std::istream& f, R_2 & P) { f >> P.x >> P.y ; return f; } - friend std::ostream& operator << (std::ostream& f, const R2 * P) + friend std::ostream& operator << (std::ostream& f, const R_2 * P) { f << P->x << ' ' << P->y ; return f; } - friend std::istream& operator >> (std::istream& f, R2 * P) + friend std::istream& operator >> (std::istream& f, R_2 * P) { f >> P->x >> P->y ; return f; } public: R x,y; //les donnees - R2 () :x(0),y(0) {} //les constructeurs - R2 (R a,R b) :x(a),y(b) {} - R2 (R2 A,R2 B) :x(B.x-A.x),y(B.y-A.y) {} //vecteur defini par 2 points + R_2 () :x(0),y(0) {} //les constructeurs + R_2 (R a,R b) :x(a),y(b) {} + R_2 (R_2 A,R_2 B) :x(B.x-A.x),y(B.y-A.y) {} //vecteur defini par 2 points - R2 operator+(R2 P) const {return R2(x+P.x,y+P.y);} // Q+P possible - R2 operator+=(R2 P) {x += P.x;y += P.y; return *this;}// Q+=P; - R2 operator-(R2 P) const {return R2(x-P.x,y-P.y);} // Q-P - R2 operator-=(R2 P) {x -= P.x;y -= P.y; return *this;} // Q-=P; - R2 operator-()const {return R2(-x,-y);} // -Q - R2 operator+()const {return *this;} // +Q - R operator,(R2 P)const {return x*P.x+y*P.y;} // produit scalaire (Q,P) - R operator^(R2 P)const {return x*P.y-y*P.x;} // produit vectoriel Q^P - R2 operator*(R c)const {return R2(x*c,y*c);} // produit a droite P*c - R2 operator*=(R c) {x *= c; y *= c; return *this;} - R2 operator/(R c)const {return R2(x/c,y/c);} // division par un reel - R2 operator/=(R c) {x /= c; y /= c; return *this;} + R_2 operator+(R_2 P) const {return R_2(x+P.x,y+P.y);} // Q+P possible + R_2 operator+=(R_2 P) {x += P.x;y += P.y; return *this;}// Q+=P; + R_2 operator-(R_2 P) const {return R_2(x-P.x,y-P.y);} // Q-P + R_2 operator-=(R_2 P) {x -= P.x;y -= P.y; return *this;} // Q-=P; + R_2 operator-()const {return R_2(-x,-y);} // -Q + R_2 operator+()const {return *this;} // +Q + R operator,(R_2 P)const {return x*P.x+y*P.y;} // produit scalaire (Q,P) + R operator^(R_2 P)const {return x*P.y-y*P.x;} // produit vectoriel Q^P + R_2 operator*(R c)const {return R_2(x*c,y*c);} // produit a droite P*c + R_2 operator*=(R c) {x *= c; y *= c; return *this;} + R_2 operator/(R c)const {return R_2(x/c,y/c);} // division par un reel + R_2 operator/=(R c) {x /= c; y /= c; return *this;} R & operator[](int i) {return (&x)[i];} // la coordonnee i - R2 orthogonal() {return R2(-y,x);} //le vecteur orthogonal dans R2 - friend R2 operator*(R c,R2 P) {return P*c;} // produit a gauche c*P + R_2 orthogonal() {return R_2(-y,x);} //le vecteur orthogonal dans R_2 + friend R_2 operator*(R c,R_2 P) {return P*c;} // produit a gauche c*P }; -//la classe R3 +//la classe R_3 //============ -class R3 +class R_3 { - friend std::ostream& operator << (std::ostream& f, const R3 & P) + friend std::ostream& operator << (std::ostream& f, const R_3 & P) { f << P.x << ' ' << P.y << ' ' << P.z ; return f; } - friend std::istream& operator >> (std::istream& f, R3 & P) + friend std::istream& operator >> (std::istream& f, R_3 & P) { f >> P.x >> P.y >> P.z ; return f; } - friend std::ostream& operator << (std::ostream& f, const R3 * P) + friend std::ostream& operator << (std::ostream& f, const R_3 * P) { f << P->x << ' ' << P->y << ' ' << P->z ; return f; } - friend std::istream& operator >> (std::istream& f, R3 * P) + friend std::istream& operator >> (std::istream& f, R_3 * P) { f >> P->x >> P->y >> P->z ; return f; } public: R x,y,z; //les 3 coordonnees - R3 () :x(0),y(0),z(0) {} //les constructeurs - R3 (R a,R b,R c):x(a),y(b),z(c) {} //Point ou Vecteur (a,b,c) - R3 (R3 A,R3 B):x(B.x-A.x),y(B.y-A.y),z(B.z-A.z) {} //Vecteur AB + R_3 () :x(0),y(0),z(0) {} //les constructeurs + R_3 (R a,R b,R c):x(a),y(b),z(c) {} //Point ou Vecteur (a,b,c) + R_3 (R_3 A,R_3 B):x(B.x-A.x),y(B.y-A.y),z(B.z-A.z) {} //Vecteur AB - R3 (gp_Pnt P) : x(P.X()), y(P.Y()), z(P.Z()) {} //Point d'OpenCascade - R3 (gp_Vec V) : x(V.X()), y(V.Y()), z(V.Z()) {} //Vecteur d'OpenCascade - R3 (gp_Dir P) : x(P.X()), y(P.Y()), z(P.Z()) {} //Direction d'OpenCascade + R_3 (gp_Pnt P) : x(P.X()), y(P.Y()), z(P.Z()) {} //Point d'OpenCascade + R_3 (gp_Vec V) : x(V.X()), y(V.Y()), z(V.Z()) {} //Vecteur d'OpenCascade + R_3 (gp_Dir P) : x(P.X()), y(P.Y()), z(P.Z()) {} //Direction d'OpenCascade - R3 operator+(R3 P)const {return R3(x+P.x,y+P.y,z+P.z);} - R3 operator+=(R3 P) {x += P.x; y += P.y; z += P.z; return *this;} - R3 operator-(R3 P)const {return R3(x-P.x,y-P.y,z-P.z);} - R3 operator-=(R3 P) {x -= P.x; y -= P.y; z -= P.z; return *this;} - R3 operator-()const {return R3(-x,-y,-z);} - R3 operator+()const {return *this;} - R operator,(R3 P)const {return x*P.x+y*P.y+z*P.z;} // produit scalaire - R3 operator^(R3 P)const {return R3(y*P.z-z*P.y ,P.x*z-x*P.z, x*P.y-y*P.x);} // produit vectoriel - R3 operator*(R c)const {return R3(x*c,y*c,z*c);} - R3 operator*=(R c) {x *= c; y *= c; z *= c; return *this;} - R3 operator/(R c)const {return R3(x/c,y/c,z/c);} - R3 operator/=(R c) {x /= c; y /= c; z /= c; return *this;} + R_3 operator+(R_3 P)const {return R_3(x+P.x,y+P.y,z+P.z);} + R_3 operator+=(R_3 P) {x += P.x; y += P.y; z += P.z; return *this;} + R_3 operator-(R_3 P)const {return R_3(x-P.x,y-P.y,z-P.z);} + R_3 operator-=(R_3 P) {x -= P.x; y -= P.y; z -= P.z; return *this;} + R_3 operator-()const {return R_3(-x,-y,-z);} + R_3 operator+()const {return *this;} + R operator,(R_3 P)const {return x*P.x+y*P.y+z*P.z;} // produit scalaire + R_3 operator^(R_3 P)const {return R_3(y*P.z-z*P.y ,P.x*z-x*P.z, x*P.y-y*P.x);} // produit vectoriel + R_3 operator*(R c)const {return R_3(x*c,y*c,z*c);} + R_3 operator*=(R c) {x *= c; y *= c; z *= c; return *this;} + R_3 operator/(R c)const {return R_3(x/c,y/c,z/c);} + R_3 operator/=(R c) {x /= c; y /= c; z /= c; return *this;} R & operator[](int i) {return (&x)[i];} - friend R3 operator*(R c,R3 P) {return P*c;} + friend R_3 operator*(R c,R_3 P) {return P*c;} - R3 operator=(gp_Pnt P) {return R3(P.X(),P.Y(),P.Z());} - R3 operator=(gp_Dir P) {return R3(P.X(),P.Y(),P.Z());} + R_3 operator=(gp_Pnt P) {return R_3(P.X(),P.Y(),P.Z());} + R_3 operator=(gp_Dir P) {return R_3(P.X(),P.Y(),P.Z());} - friend gp_Pnt gp_pnt(R3 xyz) { return gp_Pnt(xyz.x,xyz.y,xyz.z); } + friend gp_Pnt gp_pnt(R_3 xyz) { return gp_Pnt(xyz.x,xyz.y,xyz.z); } //friend gp_Pnt operator=() { return gp_Pnt(x,y,z); } - friend gp_Dir gp_dir(R3 xyz) { return gp_Dir(xyz.x,xyz.y,xyz.z); } + friend gp_Dir gp_dir(R_3 xyz) { return gp_Dir(xyz.x,xyz.y,xyz.z); } - bool DansPave( R3 & xyzMin, R3 & xyzMax ) + bool DansPave( R_3 & xyzMin, R_3 & xyzMax ) { return xyzMin.x<=x && x<=xyzMax.x && xyzMin.y<=y && y<=xyzMax.y && xyzMin.z<=z && z<=xyzMax.z; } }; -//la classe R4 +//la classe R_4 //============ -class R4: public R3 +class R_4: public R_3 { - friend std::ostream& operator <<(std::ostream& f, const R4 & P ) + friend std::ostream& operator <<(std::ostream& f, const R_4 & P ) { f << P.x << ' ' << P.y << ' ' << P.z << ' ' << P.omega; return f; } - friend std::istream& operator >>(std::istream& f, R4 & P) + friend std::istream& operator >>(std::istream& f, R_4 & P) { f >> P.x >> P.y >> P.z >> P.omega ; return f; } - friend std::ostream& operator <<(std::ostream& f, const R4 * P ) + friend std::ostream& operator <<(std::ostream& f, const R_4 * P ) { f << P->x << ' ' << P->y << ' ' << P->z << ' ' << P->omega; return f; } - friend std::istream& operator >>(std::istream& f, R4 * P) + friend std::istream& operator >>(std::istream& f, R_4 * P) { f >> P->x >> P->y >> P->z >> P->omega ; return f; } public: R omega; //la donnee du poids supplementaire - R4 () :omega(1.0) {} //les constructeurs - R4 (R a,R b,R c,R d):R3(a,b,c),omega(d) {} - R4 (R4 A,R4 B) :R3(B.x-A.x,B.y-A.y,B.z-A.z),omega(B.omega-A.omega) {} + R_4 () :omega(1.0) {} //les constructeurs + R_4 (R a,R b,R c,R d):R_3(a,b,c),omega(d) {} + R_4 (R_4 A,R_4 B) :R_3(B.x-A.x,B.y-A.y,B.z-A.z),omega(B.omega-A.omega) {} - R4 operator+(R4 P)const {return R4(x+P.x,y+P.y,z+P.z,omega+P.omega);} - R4 operator+=(R4 P) {x += P.x;y += P.y;z += P.z;omega += P.omega;return *this;} - R4 operator-(R4 P)const {return R4(x-P.x,y-P.y,z-P.z,omega-P.omega);} - R4 operator-=(R4 P) {x -= P.x;y -= P.y;z -= P.z;omega -= P.omega;return *this;} - R4 operator-()const {return R4(-x,-y,-z,-omega);} - R4 operator+()const {return *this;} - R operator,(R4 P)const {return x*P.x+y*P.y+z*P.z+omega*P.omega;} // produit scalaire - R4 operator*(R c)const {return R4(x*c,y*c,z*c,omega*c);} - R4 operator*=(R c) {x *= c; y *= c; z *= c; omega *= c; return *this;} - R4 operator/(R c)const {return R4(x/c,y/c,z/c,omega/c);} - R4 operator/=(R c) {x /= c; y /= c; z /= c; omega /= c; return *this;} + R_4 operator+(R_4 P)const {return R_4(x+P.x,y+P.y,z+P.z,omega+P.omega);} + R_4 operator+=(R_4 P) {x += P.x;y += P.y;z += P.z;omega += P.omega;return *this;} + R_4 operator-(R_4 P)const {return R_4(x-P.x,y-P.y,z-P.z,omega-P.omega);} + R_4 operator-=(R_4 P) {x -= P.x;y -= P.y;z -= P.z;omega -= P.omega;return *this;} + R_4 operator-()const {return R_4(-x,-y,-z,-omega);} + R_4 operator+()const {return *this;} + R operator,(R_4 P)const {return x*P.x+y*P.y+z*P.z+omega*P.omega;} // produit scalaire + R_4 operator*(R c)const {return R_4(x*c,y*c,z*c,omega*c);} + R_4 operator*=(R c) {x *= c; y *= c; z *= c; omega *= c; return *this;} + R_4 operator/(R c)const {return R_4(x/c,y/c,z/c,omega/c);} + R_4 operator/=(R c) {x /= c; y /= c; z /= c; omega /= c; return *this;} R & operator[](int i) {return (&x)[i];} - friend R4 operator*(R c,R4 P) {return P*c;} + friend R_4 operator*(R c,R_4 P) {return P*c;} }; //quelques fonctions supplementaires sur ces classes //================================================== -inline R Aire2d(const R2 A,const R2 B,const R2 C){return (B-A)^(C-A);} -inline R Angle2d(R2 P){ return atan2(P.y,P.x);} +inline R Aire2d(const R_2 A,const R_2 B,const R_2 C){return (B-A)^(C-A);} +inline R Angle2d(R_2 P){ return atan2(P.y,P.x);} -inline R Norme2_2(const R2 & A){ return (A,A);} -inline R Norme2(const R2 & A){ return sqrt((A,A));} -inline R NormeInfinie(const R2 & A){return Max(Abs(A.x),Abs(A.y));} +inline R Norme2_2(const R_2 & A){ return (A,A);} +inline R Norme2(const R_2 & A){ return sqrt((A,A));} +inline R NormeInfinie(const R_2 & A){return Max(Abs(A.x),Abs(A.y));} -inline R Norme2_2(const R3 & A){ return (A,A);} -inline R Norme2(const R3 & A){ return sqrt((A,A));} -inline R NormeInfinie(const R3 & A){return Max(Abs(A.x),Abs(A.y),Abs(A.z));} +inline R Norme2_2(const R_3 & A){ return (A,A);} +inline R Norme2(const R_3 & A){ return sqrt((A,A));} +inline R NormeInfinie(const R_3 & A){return Max(Abs(A.x),Abs(A.y),Abs(A.z));} -inline R Norme2_2(const R4 & A){ return (A,A);} -inline R Norme2(const R4 & A){ return sqrt((A,A));} -inline R NormeInfinie(const R4 & A){return Max(Abs(A.x),Abs(A.y),Abs(A.z),Abs(A.omega));} +inline R Norme2_2(const R_4 & A){ return (A,A);} +inline R Norme2(const R_4 & A){ return sqrt((A,A));} +inline R NormeInfinie(const R_4 & A){return Max(Abs(A.x),Abs(A.y),Abs(A.z),Abs(A.omega));} -inline R2 XY(R3 P) {return R2(P.x, P.y);} //restriction a R2 d'un R3 par perte de z -inline R3 Min(R3 P, R3 Q) -{return R3(P.xQ.x ? P.x : Q.x, P.y>Q.y ? P.y : Q.y, P.z>Q.z ? P.z : Q.z);} //Pt de xyz Max +inline R_2 XY(R_3 P) {return R_2(P.x, P.y);} //restriction a R_2 d'un R_3 par perte de z +inline R_3 Min(R_3 P, R_3 Q) +{return R_3(P.xQ.x ? P.x : Q.x, P.y>Q.y ? P.y : Q.y, P.z>Q.z ? P.z : Q.z);} //Pt de xyz Max #endif diff --git a/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx b/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx index ca56132857..d97a37bc51 100644 --- a/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx +++ b/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx @@ -221,8 +221,8 @@ struct TIDTypeCompare { // WARNING: this comparator makes impossible to store both nodes and elements in the same set // because there are nodes and elements with the same ID. Use TIDTypeCompare for such containers. struct TIDCompare { - bool operator () (const SMDS_MeshElement* e1, const SMDS_MeshElement* e2) const - { return e1->GetID() < e2->GetID(); } + template bool operator () (const T* e1, const T* e2) const + { return static_cast(e1)->GetID() < static_cast(e2)->GetID(); } }; #endif diff --git a/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx b/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx index bbe9b2b624..c7944394e9 100644 --- a/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx +++ b/src/3rdParty/salomesmesh/inc/StdMeshers_MEFISTO_2D.hxx @@ -64,7 +64,7 @@ public: typedef std::vector< StdMeshers_FaceSidePtr > TWireVector; bool LoadPoints(TWireVector & wires, - R2* uvslf, + R_2* uvslf, std::vector< const SMDS_MeshNode*>& mefistoToDS, double scalex, double scaley); @@ -73,7 +73,7 @@ public: double& scalex, double& scaley); - void StoreResult (Z nbst, R2* uvst, Z nbt, Z* nust, + void StoreResult (Z nbst, R_2* uvst, Z nbt, Z* nust, std::vector< const SMDS_MeshNode*>& mefistoToDS, double scalex, double scaley); diff --git a/src/3rdParty/salomesmesh/inc/aptrte.h b/src/3rdParty/salomesmesh/inc/aptrte.h index 7b8965d685..e6306e7abd 100644 --- a/src/3rdParty/salomesmesh/inc/aptrte.h +++ b/src/3rdParty/salomesmesh/inc/aptrte.h @@ -60,9 +60,9 @@ MEFISTO2D_EXPORT void aptrte( Z nutysu, R aretmx, - Z nblf, Z *nudslf, R2 *uvslf, - Z nbpti, R2 *uvpti, - Z & nbst, R2 * & uvst, Z & nbt, Z * & nust, + Z nblf, Z *nudslf, R_2 *uvslf, + Z nbpti, R_2 *uvpti, + Z & nbst, R_2 * & uvst, Z & nbt, Z * & nust, Z & ierr ); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // but : appel de la triangulation par un arbre-4 recouvrant @@ -123,7 +123,7 @@ MEFISTO2D_EXPORT #define tesuex TESUEX #define teamqt TEAMQT #define nusotr NUSOTR - #define qutr2d QUTR2D + #define qutr2d QUTR_2D #define surtd2 SURTD2 #define qualitetrte QUALITETRTE @@ -160,7 +160,7 @@ extern "C" { void __stdcall #endif #endif - qualitetrte( R3 *mnpxyd, + qualitetrte( R_3 *mnpxyd, Z & mosoar, Z & mxsoar, Z *mnsoar, Z & moartr, Z & mxartr, Z *mnartr, Z & nbtria, R & quamoy, R & quamin ); } @@ -301,7 +301,7 @@ extern "C" {void __stdcall #endif #endif - teajte( Z & mxsomm, Z & nbsomm, R3 * mnpxyd, R3 * comxmi, + teajte( Z & mxsomm, Z & nbsomm, R_3 * mnpxyd, R_3 * comxmi, R & aretmx, Z & mxtree, Z * letree, Z & ierr ); } @@ -313,8 +313,8 @@ extern "C" {void __stdcall #endif #endif - tehote( Z & nutysu, Z & nbarpi, Z & mxsomm, Z & nbsomm, R3 * mnpxyd, - R3 * comxmi, R & aretmx, + tehote( Z & nutysu, Z & nbarpi, Z & mxsomm, Z & nbsomm, R_3 * mnpxyd, + R_3 * comxmi, R & aretmx, Z * letree, Z & mxqueu, Z * mnqueu, Z & ierr ); } @@ -328,7 +328,7 @@ extern "C" {void __stdcall #endif #endif - tetrte( R3 * comxmi, R & aretmx, Z & nbarpi, Z & mxsomm, R3 * mnpxyd, + tetrte( R_3 * comxmi, R & aretmx, Z & nbarpi, Z & mxsomm, R_3 * mnpxyd, Z & mxqueu, Z * mnqueu, Z * mntree, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar, Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z * mnarst, @@ -355,7 +355,7 @@ extern "C" {void __stdcall #endif #endif - tedela( R3 * mnpxyd, Z * mnarst, + tedela( R_3 * mnpxyd, Z * mnarst, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar, Z & na, Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z & n ); } @@ -369,7 +369,7 @@ extern "C" {void __stdcall #endif #endif - terefr( Z & nbarpi, R3 * mnpxyd, + terefr( Z & nbarpi, R_3 * mnpxyd, Z & mosoar, Z & mxsoar, Z & n1soar, Z * mnsoar, Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z * mnarst, Z & mxarcf, Z * mnarc1, Z * mnarc2, @@ -387,7 +387,7 @@ extern "C" {void #endif #endif tesuex( Z & nblf, Z * nulftr, - Z & ndtri0, Z & nbsomm, R3 * mnpxyd, Z * mnslig, + Z & ndtri0, Z & nbsomm, R_3 * mnpxyd, Z * mnslig, Z & mosoar, Z & mxsoar, Z * mnsoar, Z & moartr, Z & mxartr, Z & n1artr, Z * mnartr, Z * mnarst, Z & nbtria, Z * mntrsu, Z & ierr ); @@ -407,7 +407,7 @@ extern "C" {void Z & mxarcf, Z * mntrcf, Z * mnstbo, Z * n1arcf, Z * mnarcf, Z * mnarc1, Z & nbarpi, Z & nbsomm, Z & mxsomm, - R3 * mnpxyd, Z * mnslig, + R_3 * mnpxyd, Z * mnslig, Z & ierr ); } // amelioration de la qualite de la triangulation par @@ -434,7 +434,7 @@ extern "C" {void __stdcall #endif #endif - qutr2d( R3 & p1, R3 & p2, R3 & p3, R & qualite ); + qutr2d( R_3 & p1, R_3 & p2, R_3 & p3, R & qualite ); } //calculer la qualite d'un triangle de R2 de sommets p1, p2, p3 @@ -445,7 +445,7 @@ extern "C" { R __stdcall #endif #endif - surtd2( R3 & p1, R3 & p2, R3 & p3 ); + surtd2( R_3 & p1, R_3 & p2, R_3 & p3 ); } //calcul de la surface d'un triangle defini par 3 points de r**2 diff --git a/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp b/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp index d0659a6d99..b9cf17e2c8 100644 --- a/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp +++ b/src/3rdParty/salomesmesh/src/MEFISTO2/aptrte.cpp @@ -88,9 +88,9 @@ deltacpu_( R & dtcpu ) void aptrte( Z nutysu, R aretmx, - Z nblf, Z * nudslf, R2 * uvslf, - Z nbpti, R2 * uvpti, - Z & nbst, R2 * & uvst, + Z nblf, Z * nudslf, R_2 * uvslf, + Z nbpti, R_2 * uvpti, + Z & nbst, R_2 * & uvst, Z & nbt, Z * & nust, Z & ierr ) //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -142,11 +142,11 @@ void aptrte( Z nutysu, R aretmx, //no st1, st2, st3, 0 (non quadrangle) R d, tcpu=0; -// R3 direction=R3(0,0,0); //direction pour areteideale() inactive ici! +// R_3 direction=R_3(0,0,0); //direction pour areteideale() inactive ici! Z nbarfr=nudslf[nblf]; //nombre total d'aretes des lignes fermees Z mxtrou = Max( 1024, nblf ); //nombre maximal de trous dans la surface - R3 *mnpxyd=NULL; + R_3 *mnpxyd=NULL; Z *mnsoar=NULL, mosoar=7, mxsoar, n1soar; //le hachage des aretes Z *mnartr=NULL, moartr=3, mxartr, n1artr; //le no des 3 aretes des triangles Z *mntree=NULL, motree=9, mxtree; //L'arbre 4 de TE et nombre d'entiers par TE @@ -161,7 +161,7 @@ void aptrte( Z nutysu, R aretmx, Z *mnarst=NULL; Z *mnlftr=NULL; - R3 comxmi[2]; //coordonnees UV Min et Maximales + R_3 comxmi[2]; //coordonnees UV Min et Maximales R aremin, aremax; //longueur minimale et maximale des aretes R airemx; //aire maximale souhaitee d'un triangle R quamoy, quamin; @@ -191,7 +191,7 @@ void aptrte( Z nutysu, R aretmx, NEWDEPART: //mnpxyd( 3, mxsomm ) les coordonnees UV des sommets et la taille d'arete aux sommets if( mnpxyd!=NULL ) delete [] mnpxyd; - mnpxyd = new R3[mxsomm]; + mnpxyd = new R_3[mxsomm]; if( mnpxyd==NULL ) goto ERREUR; // le tableau mnsoar des aretes des triangles @@ -655,7 +655,7 @@ void aptrte( Z nutysu, R aretmx, // generation du tableau uvst de la surface triangulee // --------------------------------------------------- if( uvst != NULL ) delete [] uvst; - uvst = new R2[nbst]; + uvst = new R_2[nbst]; if( uvst == NULL ) goto ERREUR; nbst=-1; @@ -761,7 +761,7 @@ void __stdcall #endif #endif - qualitetrte( R3 *mnpxyd, + qualitetrte( R_3 *mnpxyd, Z & mosoar, Z & mxsoar, Z *mnsoar, Z & moartr, Z & mxartr, Z *mnartr, Z & nbtria, R & quamoy, R & quamin ) diff --git a/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp index 3780b4c125..a987e05058 100644 --- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp +++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp @@ -61,13 +61,6 @@ #include using namespace std; -#ifndef WIN32 -#if !(defined(__MACH__) && defined(__APPLE__)) -#include -#endif -#include -#endif - // number of added entities to check memory after #define CHECKMEMORY_INTERVAL 100000 @@ -85,56 +78,7 @@ int SMDS_Mesh::chunkSize = 1024; int SMDS_Mesh::CheckMemory(const bool doNotRaise) { -#if 0 -#if (defined(__MACH__) && defined(__APPLE__)) - return 1000; -#else -#ifndef WIN32 - struct sysinfo si; - int err = sysinfo( &si ); - if ( err ) - return -1; - - const unsigned long Mbyte = 1024 * 1024; - - static int limit = -1; - if ( limit < 0 ) { - int status = system("SMDS_MemoryLimit"); // it returns lower limit of free RAM - if (status >= 0 ) { - limit = WEXITSTATUS(status); - } - else { - double factor = ( si.totalswap == 0 ) ? 0.1 : 0.2; - limit = int(( factor * si.totalram * si.mem_unit ) / Mbyte ); - } - if ( limit < 20 ) - limit = 20; - else - limit = int ( limit * 1.5 ); - MESSAGE ( "SMDS_Mesh::CheckMemory() memory limit = " << limit << " MB" ); - } - - // compute separately to avoid overflow - int freeMb = - ( si.freeram * si.mem_unit ) / Mbyte + - ( si.freeswap * si.mem_unit ) / Mbyte; - //cout << "freeMb = " << freeMb << " limit = " << limit << endl; - - if ( freeMb > limit ) - return freeMb - limit; - - if ( doNotRaise ) - return 0; - - MESSAGE ("SMDS_Mesh::CheckMemory() throws as free memory too low: " << freeMb <<" MB" ); - throw std::bad_alloc(); -#else - return -1; -#endif -#endif -#else - return 1000; -#endif + return 1000; } /////////////////////////////////////////////////////////////////////////////// diff --git a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp index b0ca8c3ac8..d82ca55b42 100644 --- a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp +++ b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_MEFISTO_2D.cpp @@ -234,12 +234,12 @@ bool StdMeshers_MEFISTO_2D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh Z nblf; //nombre de lignes fermees (enveloppe en tete) Z *nudslf = NULL; //numero du dernier sommet de chaque ligne fermee - R2 *uvslf = NULL; + R_2 *uvslf = NULL; Z nbpti = 0; //nombre points internes futurs sommets de la triangulation - R2 *uvpti = NULL; + R_2 *uvpti = NULL; Z nbst; - R2 *uvst = NULL; + R_2 *uvst = NULL; Z nbt; Z *nust = NULL; Z ierr = 0; @@ -264,7 +264,7 @@ bool StdMeshers_MEFISTO_2D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh nudslf[iw++] = nbpnt; } - uvslf = new R2[nudslf[nblf]]; + uvslf = new R_2[nudslf[nblf]]; double scalex, scaley; ComputeScaleOnFace(aMesh, F, scalex, scaley); @@ -390,7 +390,7 @@ bool StdMeshers_MEFISTO_2D::Evaluate(SMESH_Mesh & aMesh, //purpose : prevent failure due to overlapped adjacent links //======================================================================= -static bool fixOverlappedLinkUV( R2& uv0, const R2& uv1, const R2& uv2 ) +static bool fixOverlappedLinkUV( R_2& uv0, const R_2& uv1, const R_2& uv2 ) { gp_XY v1( uv0.x - uv1.x, uv0.y - uv1.y ); gp_XY v2( uv2.x - uv1.x, uv2.y - uv1.y ); @@ -441,7 +441,7 @@ static bool fixOverlappedLinkUV( R2& uv0, const R2& uv1, const R2& uv2 ) //purpose : //======================================================================= -static bool fixCommonVertexUV (R2 & theUV, +static bool fixCommonVertexUV (R_2 & theUV, const TopoDS_Vertex& theV, const TopoDS_Face& theF, const TopTools_IndexedDataMapOfShapeListOfShape & theVWMap, @@ -540,7 +540,7 @@ static bool fixCommonVertexUV (R2 & theUV, nextUV = uv; } } - R2 uv0, uv1, uv2; + R_2 uv0, uv1, uv2; uv0.x = thisUV.X(); uv0.y = thisUV.Y(); uv1.x = nextUV.X(); uv1.y = nextUV.Y(); uv2.x = thisUV.X(); uv2.y = thisUV.Y(); @@ -574,7 +574,7 @@ static bool fixCommonVertexUV (R2 & theUV, //============================================================================= bool StdMeshers_MEFISTO_2D::LoadPoints(TWireVector & wires, - R2 * uvslf, + R_2 * uvslf, vector& mefistoToDS, double scalex, double scaley) @@ -782,7 +782,7 @@ void StdMeshers_MEFISTO_2D::ComputeScaleOnFace(SMESH_Mesh & aMesh, */ //============================================================================= -void StdMeshers_MEFISTO_2D::StoreResult(Z nbst, R2 * uvst, Z nbt, Z * nust, +void StdMeshers_MEFISTO_2D::StoreResult(Z nbst, R_2 * uvst, Z nbt, Z * nust, vector< const SMDS_MeshNode*>&mefistoToDS, double scalex, double scaley) { diff --git a/src/App/Application.cpp b/src/App/Application.cpp index a85b916982..06edbd33e8 100644 --- a/src/App/Application.cpp +++ b/src/App/Application.cpp @@ -114,6 +114,8 @@ #include "PropertyFile.h" #include "PropertyLinks.h" #include "PropertyPythonObject.h" +#include "StringHasherPy.h" +#include "StringIDPy.h" #include "TextDocument.h" #include "Transactions.h" #include "VRMLObject.h" @@ -231,9 +233,7 @@ init_image_module() } Application::Application(std::map &mConfig) - : _mConfig(mConfig), _pActiveDoc(nullptr), _isRestoring(false),_allowPartial(false) - , _isClosingAll(false), _objCount(-1), _activeTransactionID(0) - , _activeTransactionGuard(0), _activeTransactionTmpName(false) + : _mConfig(mConfig) { //_hApp = new ApplicationOCC; mpcPramManager["System parameter"] = _pcSysParamMngr; @@ -311,6 +311,9 @@ void Application::setupPythonTypes() Base::Interpreter().addType(&App::MaterialPy::Type, pAppModule, "Material"); Base::Interpreter().addType(&App::MetadataPy::Type, pAppModule, "Metadata"); + Base::Interpreter().addType(&App::StringHasherPy::Type, pAppModule, "StringHasher"); + Base::Interpreter().addType(&App::StringIDPy::Type, pAppModule, "StringID"); + // Add document types Base::Interpreter().addType(&App::PropertyContainerPy::Type, pAppModule, "PropertyContainer"); Base::Interpreter().addType(&App::ExtensionContainerPy::Type, pAppModule, "ExtensionContainer"); @@ -568,9 +571,11 @@ App::Document* Application::getDocument(const char *Name) const const char * Application::getDocumentName(const App::Document* doc) const { - for (std::map::const_iterator it = DocMap.begin(); it != DocMap.end(); ++it) - if (it->second == doc) - return it->first.c_str(); + for (const auto & it : DocMap) { + if (it.second == doc) { + return it.first.c_str(); + } + } return nullptr; } @@ -578,15 +583,15 @@ const char * Application::getDocumentName(const App::Document* doc) const std::vector Application::getDocuments() const { std::vector docs; - for (std::map::const_iterator it = DocMap.begin(); it != DocMap.end(); ++it) - docs.push_back(it->second); + for (const auto & it : DocMap) + docs.push_back(it.second); return docs; } std::string Application::getUniqueDocumentName(const char *Name, bool tempDoc) const { if (!Name || *Name == '\0') - return std::string(); + return {}; std::string CleanName = Base::Tools::getIdentifier(Name); // name in use? @@ -1329,15 +1334,15 @@ void Application::changeImportModule(const char* Type, const char* OldModuleName std::vector Application::getImportModules(const char* Type) const { std::vector modules; - for (std::vector::const_iterator it = _mImportTypes.begin(); it != _mImportTypes.end(); ++it) { - const std::vector& types = it->types; - for (std::vector::const_iterator jt = types.begin(); jt != types.end(); ++jt) { + for (const auto & it : _mImportTypes) { + const std::vector& types = it.types; + for (const auto & jt : types) { #ifdef __GNUC__ - if (strcasecmp(Type,jt->c_str()) == 0) + if (strcasecmp(Type,jt.c_str()) == 0) #else - if (_stricmp(Type,jt->c_str()) == 0) + if (_stricmp(Type,jt.c_str()) == 0) #endif - modules.push_back(it->module); + modules.push_back(it.module); } } @@ -1347,8 +1352,8 @@ std::vector Application::getImportModules(const char* Type) const std::vector Application::getImportModules() const { std::vector modules; - for (std::vector::const_iterator it = _mImportTypes.begin(); it != _mImportTypes.end(); ++it) - modules.push_back(it->module); + for (const auto & it : _mImportTypes) + modules.push_back(it.module); std::sort(modules.begin(), modules.end()); modules.erase(std::unique(modules.begin(), modules.end()), modules.end()); return modules; @@ -1357,13 +1362,13 @@ std::vector Application::getImportModules() const std::vector Application::getImportTypes(const char* Module) const { std::vector types; - for (std::vector::const_iterator it = _mImportTypes.begin(); it != _mImportTypes.end(); ++it) { + for (const auto & it : _mImportTypes) { #ifdef __GNUC__ - if (strcasecmp(Module,it->module.c_str()) == 0) + if (strcasecmp(Module,it.module.c_str()) == 0) #else - if (_stricmp(Module,it->module.c_str()) == 0) + if (_stricmp(Module,it.module.c_str()) == 0) #endif - types.insert(types.end(), it->types.begin(), it->types.end()); + types.insert(types.end(), it.types.begin(), it.types.end()); } return types; @@ -1372,8 +1377,8 @@ std::vector Application::getImportTypes(const char* Module) const std::vector Application::getImportTypes() const { std::vector types; - for (std::vector::const_iterator it = _mImportTypes.begin(); it != _mImportTypes.end(); ++it) { - types.insert(types.end(), it->types.begin(), it->types.end()); + for (const auto & it : _mImportTypes) { + types.insert(types.end(), it.types.begin(), it.types.end()); } std::sort(types.begin(), types.end()); @@ -1385,15 +1390,15 @@ std::vector Application::getImportTypes() const std::map Application::getImportFilters(const char* Type) const { std::map moduleFilter; - for (std::vector::const_iterator it = _mImportTypes.begin(); it != _mImportTypes.end(); ++it) { - const std::vector& types = it->types; - for (std::vector::const_iterator jt = types.begin(); jt != types.end(); ++jt) { + for (const auto & it : _mImportTypes) { + const std::vector& types = it.types; + for (const auto & jt : types) { #ifdef __GNUC__ - if (strcasecmp(Type,jt->c_str()) == 0) + if (strcasecmp(Type,jt.c_str()) == 0) #else - if (_stricmp(Type,jt->c_str()) == 0) + if (_stricmp(Type,jt.c_str()) == 0) #endif - moduleFilter[it->filter] = it->module; + moduleFilter[it.filter] = it.module; } } @@ -1403,8 +1408,8 @@ std::map Application::getImportFilters(const char* Typ std::map Application::getImportFilters() const { std::map filter; - for (std::vector::const_iterator it = _mImportTypes.begin(); it != _mImportTypes.end(); ++it) { - filter[it->filter] = it->module; + for (const auto & it : _mImportTypes) { + filter[it.filter] = it.module; } return filter; @@ -1452,15 +1457,15 @@ void Application::changeExportModule(const char* Type, const char* OldModuleName std::vector Application::getExportModules(const char* Type) const { std::vector modules; - for (std::vector::const_iterator it = _mExportTypes.begin(); it != _mExportTypes.end(); ++it) { - const std::vector& types = it->types; - for (std::vector::const_iterator jt = types.begin(); jt != types.end(); ++jt) { + for (const auto & it : _mExportTypes) { + const std::vector& types = it.types; + for (const auto & jt : types) { #ifdef __GNUC__ - if (strcasecmp(Type,jt->c_str()) == 0) + if (strcasecmp(Type,jt.c_str()) == 0) #else - if (_stricmp(Type,jt->c_str()) == 0) + if (_stricmp(Type,jt.c_str()) == 0) #endif - modules.push_back(it->module); + modules.push_back(it.module); } } @@ -1470,8 +1475,8 @@ std::vector Application::getExportModules(const char* Type) const std::vector Application::getExportModules() const { std::vector modules; - for (std::vector::const_iterator it = _mExportTypes.begin(); it != _mExportTypes.end(); ++it) - modules.push_back(it->module); + for (const auto & it : _mExportTypes) + modules.push_back(it.module); std::sort(modules.begin(), modules.end()); modules.erase(std::unique(modules.begin(), modules.end()), modules.end()); return modules; @@ -1480,13 +1485,13 @@ std::vector Application::getExportModules() const std::vector Application::getExportTypes(const char* Module) const { std::vector types; - for (std::vector::const_iterator it = _mExportTypes.begin(); it != _mExportTypes.end(); ++it) { + for (const auto & it : _mExportTypes) { #ifdef __GNUC__ - if (strcasecmp(Module,it->module.c_str()) == 0) + if (strcasecmp(Module,it.module.c_str()) == 0) #else - if (_stricmp(Module,it->module.c_str()) == 0) + if (_stricmp(Module,it.module.c_str()) == 0) #endif - types.insert(types.end(), it->types.begin(), it->types.end()); + types.insert(types.end(), it.types.begin(), it.types.end()); } return types; @@ -1495,8 +1500,8 @@ std::vector Application::getExportTypes(const char* Module) const std::vector Application::getExportTypes() const { std::vector types; - for (std::vector::const_iterator it = _mExportTypes.begin(); it != _mExportTypes.end(); ++it) { - types.insert(types.end(), it->types.begin(), it->types.end()); + for (const FileTypeItem& it : _mExportTypes) { + types.insert(types.end(), it.types.begin(), it.types.end()); } std::sort(types.begin(), types.end()); @@ -1508,15 +1513,15 @@ std::vector Application::getExportTypes() const std::map Application::getExportFilters(const char* Type) const { std::map moduleFilter; - for (std::vector::const_iterator it = _mExportTypes.begin(); it != _mExportTypes.end(); ++it) { - const std::vector& types = it->types; - for (std::vector::const_iterator jt = types.begin(); jt != types.end(); ++jt) { + for (const auto & it : _mExportTypes) { + const std::vector& types = it.types; + for (const auto & jt : types) { #ifdef __GNUC__ - if (strcasecmp(Type,jt->c_str()) == 0) + if (strcasecmp(Type,jt.c_str()) == 0) #else - if (_stricmp(Type,jt->c_str()) == 0) + if (_stricmp(Type,jt.c_str()) == 0) #endif - moduleFilter[it->filter] = it->module; + moduleFilter[it.filter] = it.module; } } @@ -1526,8 +1531,8 @@ std::map Application::getExportFilters(const char* Typ std::map Application::getExportFilters() const { std::map filter; - for (std::vector::const_iterator it = _mExportTypes.begin(); it != _mExportTypes.end(); ++it) { - filter[it->filter] = it->module; + for (const FileTypeItem& it : _mExportTypes) { + filter[it.filter] = it.module; } return filter; @@ -1672,12 +1677,12 @@ void Application::destruct() // now save all other parameter files auto& paramMgr = _pcSingleton->mpcPramManager; - for (auto it = paramMgr.begin(); it != paramMgr.end(); ++it) { - if ((it->second != _pcSysParamMngr) && (it->second != _pcUserParamMngr)) { - if (it->second->HasSerializer()) { - Base::Console().Log("Saving %s...\n", it->first.c_str()); - it->second->SaveDocument(); - Base::Console().Log("Saving %s...done\n", it->first.c_str()); + for (auto it : paramMgr) { + if ((it.second != _pcSysParamMngr) && (it.second != _pcUserParamMngr)) { + if (it.second->HasSerializer()) { + Base::Console().Log("Saving %s...\n", it.first.c_str()); + it.second->SaveDocument(); + Base::Console().Log("Saving %s...done\n", it.first.c_str()); } } } @@ -2109,6 +2114,10 @@ void Application::initTypes() App::RangeExpression ::init(); App::PyObjectExpression ::init(); + // Topological naming classes + App::StringHasher ::init(); + App::StringID ::init(); + // register transaction type new App::TransactionProducer (DocumentObject::getClassTypeId()); @@ -2353,29 +2362,29 @@ void processProgramOptions(const variables_map& vm, std::map Mods = vm["module-path"].as< vector >(); string temp; - for (vector::const_iterator It = Mods.begin(); It != Mods.end(); ++It) - temp += *It + ";"; + for (const auto & It : Mods) + temp += It + ";"; temp.erase(temp.end()-1); mConfig["AdditionalModulePaths"] = temp; } if (vm.count("python-path")) { vector Paths = vm["python-path"].as< vector >(); - for (vector::const_iterator It = Paths.begin(); It != Paths.end(); ++It) - Base::Interpreter().addPythonPath(It->c_str()); + for (const auto & It : Paths) + Base::Interpreter().addPythonPath(It.c_str()); } if (vm.count("input-file")) { vector files(vm["input-file"].as< vector >()); int OpenFileCount=0; - for (vector::const_iterator It = files.begin(); It != files.end(); ++It) { + for (const auto & It : files) { //cout << "Input files are: " // << vm["input-file"].as< vector >() << "\n"; std::ostringstream temp; temp << "OpenFile" << OpenFileCount; - mConfig[temp.str()] = *It; + mConfig[temp.str()] = It; OpenFileCount++; } std::ostringstream buffer; @@ -2431,8 +2440,8 @@ void processProgramOptions(const variables_map& vm, std::map::iterator it=mConfig.begin(); it != mConfig.end(); ++it) { - str << it->first << "=" << it->second << std::endl; + for (const auto & it : mConfig) { + str << it.first << "=" << it.second << std::endl; } throw Base::ProgramInformation(str.str()); } @@ -2737,8 +2746,8 @@ std::list Application::processFiles(const std::list& f { std::list processed; Base::Console().Log("Init: Processing command line files\n"); - for (std::list::const_iterator it = files.begin(); it != files.end(); ++it) { - Base::FileInfo file(*it); + for (const auto & it : files) { + Base::FileInfo file(it); Base::Console().Log("Init: Processing file: %s\n",file.filePath().c_str()); @@ -2746,22 +2755,22 @@ std::list Application::processFiles(const std::list& f if (file.hasExtension("fcstd") || file.hasExtension("std")) { // try to open Application::_pcSingleton->openDocument(file.filePath().c_str()); - processed.push_back(*it); + processed.push_back(it); } else if (file.hasExtension("fcscript") || file.hasExtension("fcmacro")) { Base::Interpreter().runFile(file.filePath().c_str(), true); - processed.push_back(*it); + processed.push_back(it); } else if (file.hasExtension("py")) { try { Base::Interpreter().addPythonPath(file.dirPath().c_str()); Base::Interpreter().loadModule(file.fileNamePure().c_str()); - processed.push_back(*it); + processed.push_back(it); } catch (const Base::PyException&) { // if loading the module does not work, try just running the script (run in __main__) Base::Interpreter().runFile(file.filePath().c_str(),true); - processed.push_back(*it); + processed.push_back(it); } } else { @@ -2775,7 +2784,7 @@ std::list Application::processFiles(const std::list& f Base::Interpreter().runStringArg("import %s",mods.front().c_str()); Base::Interpreter().runStringArg("%s.open(u\"%s\")",mods.front().c_str(), escapedstr.c_str()); - processed.push_back(*it); + processed.push_back(it); Base::Console().Log("Command line open: %s.open(u\"%s\")\n",mods.front().c_str(),escapedstr.c_str()); } else if (file.exists()) { @@ -2875,9 +2884,9 @@ void Application::logStatus() boost::posix_time::second_clock::local_time()); Base::Console().Log("Time = %s\n", time_str.c_str()); - for (std::map::iterator It = mConfig.begin(); It != mConfig.end(); - ++It) - Base::Console().Log("%s = %s\n", It->first.c_str(), It->second.c_str()); + for (const auto & It : mConfig) { + Base::Console().Log("%s = %s\n", It.first.c_str(), It.second.c_str()); + } } void Application::LoadParameters() @@ -3149,7 +3158,7 @@ std::tuple getCustomPaths() userTemp = fi.absoluteFilePath(); } - return std::tuple(userHome, userData, userTemp); + return {userHome, userData, userTemp}; } /*! diff --git a/src/App/Application.h b/src/App/Application.h index 45868f018b..551e8941f4 100644 --- a/src/App/Application.h +++ b/src/App/Application.h @@ -607,7 +607,7 @@ private: mutable std::map DocFileMap; std::map> mpcPramManager; std::map &_mConfig; - App::Document* _pActiveDoc; + App::Document* _pActiveDoc{nullptr}; std::deque _pendingDocs; std::deque _pendingDocsReopen; @@ -617,19 +617,19 @@ private: // missing object std::map > _docReloadAttempts; - bool _isRestoring; - bool _allowPartial; - bool _isClosingAll; + bool _isRestoring{false}; + bool _allowPartial{false}; + bool _isClosingAll{false}; // for estimate max link depth - int _objCount; + int _objCount{-1}; friend class AutoTransaction; std::string _activeTransactionName; - int _activeTransactionID; - int _activeTransactionGuard; - bool _activeTransactionTmpName; + int _activeTransactionID{0}; + int _activeTransactionGuard{0}; + bool _activeTransactionTmpName{false}; static Base::ConsoleObserverStd *_pConsoleObserverStd; static Base::ConsoleObserverFile *_pConsoleObserverFile; diff --git a/src/App/ApplicationPy.cpp b/src/App/ApplicationPy.cpp index 77b1f981f0..d37c296809 100644 --- a/src/App/ApplicationPy.cpp +++ b/src/App/ApplicationPy.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #include #include "Application.h" @@ -210,12 +211,22 @@ PyObject* Application::sLoadFile(PyObject * /*self*/, PyObject *args) } } + // path could contain characters that need escaping, such as quote signs + // therefore use its representation in the Python code string + PyObject *pathObj = PyUnicode_FromString(path); + PyObject *pathReprObj = PyObject_Repr(pathObj); + const char *pathRepr = PyUnicode_AsUTF8(pathReprObj); + std::stringstream str; str << "import " << module << std::endl; if (fi.hasExtension("FCStd")) - str << module << ".openDocument('" << path << "')" << std::endl; + str << module << ".openDocument(" << pathRepr << ")" << std::endl; else - str << module << ".insert('" << path << "','" << doc << "')" << std::endl; + str << module << ".insert(" << pathRepr << ",'" << doc << "')" << std::endl; + + Py_DECREF(pathObj); + Py_DECREF(pathReprObj); + Base::Interpreter().runString(str.str().c_str()); Py_Return; } @@ -240,10 +251,11 @@ PyObject* Application::sOpenDocument(PyObject * /*self*/, PyObject *args, PyObje { char* Name; PyObject *hidden = Py_False; - static char *kwlist[] = {"name", "hidden", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwd, "et|O!", kwlist, - "utf-8", &Name, &PyBool_Type, &hidden)) + static const std::array kwlist {"name", "hidden", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwd, "et|O!", kwlist, + "utf-8", &Name, &PyBool_Type, &hidden)) { return nullptr; + } std::string EncodedName = std::string(Name); PyMem_Free(Name); try { @@ -267,10 +279,11 @@ PyObject* Application::sNewDocument(PyObject * /*self*/, PyObject *args, PyObjec char *usrName = nullptr; PyObject *hidden = Py_False; PyObject *temp = Py_False; - static char *kwlist[] = {"name", "label", "hidden", "temp", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwd, "|etetO!O!", kwlist, - "utf-8", &docName, "utf-8", &usrName, &PyBool_Type, &hidden, &PyBool_Type, &temp)) + static const std::array kwlist {"name", "label", "hidden", "temp", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwd, "|etetO!O!", kwlist, + "utf-8", &docName, "utf-8", &usrName, &PyBool_Type, &hidden, &PyBool_Type, &temp)) { return nullptr; + } PY_TRY { App::Document* doc = GetApplication().newDocument(docName, usrName, !Base::asBoolean(hidden), Base::asBoolean(temp)); @@ -435,8 +448,8 @@ PyObject* Application::sDumpConfig(PyObject * /*self*/, PyObject *args) return nullptr; PyObject *dict = PyDict_New(); - for (auto It= GetApplication()._mConfig.begin(); It != GetApplication()._mConfig.end(); ++It) { - PyDict_SetItemString(dict,It->first.c_str(), PyUnicode_FromString(It->second.c_str())); + for (const auto & It : GetApplication()._mConfig) { + PyDict_SetItemString(dict, It.first.c_str(), PyUnicode_FromString(It.second.c_str())); } return dict; } @@ -526,8 +539,8 @@ PyObject* Application::sGetImportType(PyObject * /*self*/, PyObject *args) if (psKey) { Py::List list; std::vector modules = GetApplication().getImportModules(psKey); - for (std::vector::iterator it = modules.begin(); it != modules.end(); ++it) { - list.append(Py::String(*it)); + for (const auto & it : modules) { + list.append(Py::String(it)); } return Py::new_reference_to(list); @@ -535,20 +548,20 @@ PyObject* Application::sGetImportType(PyObject * /*self*/, PyObject *args) else { Py::Dict dict; std::vector types = GetApplication().getImportTypes(); - for (std::vector::iterator it = types.begin(); it != types.end(); ++it) { - std::vector modules = GetApplication().getImportModules(it->c_str()); + for (const auto & it : types) { + std::vector modules = GetApplication().getImportModules(it.c_str()); if (modules.empty()) { - dict.setItem(it->c_str(), Py::None()); + dict.setItem(it.c_str(), Py::None()); } else if (modules.size() == 1) { - dict.setItem(it->c_str(), Py::String(modules.front())); + dict.setItem(it.c_str(), Py::String(modules.front())); } else { Py::List list; - for (std::vector::iterator jt = modules.begin(); jt != modules.end(); ++jt) { - list.append(Py::String(*jt)); + for (const auto & jt : modules) { + list.append(Py::String(jt)); } - dict.setItem(it->c_str(), list); + dict.setItem(it.c_str(), list); } } @@ -590,8 +603,8 @@ PyObject* Application::sGetExportType(PyObject * /*self*/, PyObject *args) if (psKey) { Py::List list; std::vector modules = GetApplication().getExportModules(psKey); - for (std::vector::iterator it = modules.begin(); it != modules.end(); ++it) { - list.append(Py::String(*it)); + for (const auto & it : modules) { + list.append(Py::String(it)); } return Py::new_reference_to(list); @@ -599,20 +612,20 @@ PyObject* Application::sGetExportType(PyObject * /*self*/, PyObject *args) else { Py::Dict dict; std::vector types = GetApplication().getExportTypes(); - for (std::vector::iterator it = types.begin(); it != types.end(); ++it) { - std::vector modules = GetApplication().getExportModules(it->c_str()); + for (const auto & it : types) { + std::vector modules = GetApplication().getExportModules(it.c_str()); if (modules.empty()) { - dict.setItem(it->c_str(), Py::None()); + dict.setItem(it.c_str(), Py::None()); } else if (modules.size() == 1) { - dict.setItem(it->c_str(), Py::String(modules.front())); + dict.setItem(it.c_str(), Py::String(modules.front())); } else { Py::List list; - for (std::vector::iterator jt = modules.begin(); jt != modules.end(); ++jt) { - list.append(Py::String(*jt)); + for (const auto & jt : modules) { + list.append(Py::String(jt)); } - dict.setItem(it->c_str(), list); + dict.setItem(it.c_str(), list); } } diff --git a/src/App/AutoTransaction.h b/src/App/AutoTransaction.h index 84476b52f7..cd44fe7f70 100644 --- a/src/App/AutoTransaction.h +++ b/src/App/AutoTransaction.h @@ -32,7 +32,7 @@ class Application; /// Helper class to manager transaction (i.e. undo/redo) class AppExport AutoTransaction { -private: +public: /// Private new operator to prevent heap allocation void* operator new (std::size_t) = delete; @@ -121,7 +121,7 @@ public: friend class Application; -private: +public: /// Private new operator to prevent heap allocation void* operator new (std::size_t) = delete; diff --git a/src/App/ColorModel.cpp b/src/App/ColorModel.cpp index 6af1a42ffd..2bd3a306e8 100644 --- a/src/App/ColorModel.cpp +++ b/src/App/ColorModel.cpp @@ -89,17 +89,6 @@ ColorField::ColorField (const ColorModel &rclModel, float fMin, float fMax, std: set(rclModel, fMin, fMax, usCt); } -ColorField::ColorField (const ColorField &rclCF) - : colorModel(rclCF.colorModel) - , fMin(rclCF.fMin) - , fMax(rclCF.fMax) - , fAscent(rclCF.fAscent) - , fConstant(rclCF.fConstant) - , ctColors(rclCF.ctColors) - , colorField(rclCF.colorField) -{ -} - ColorField& ColorField::operator = (const ColorField &rclCF) { colorField = rclCF.colorField; @@ -168,16 +157,7 @@ void ColorField::interpolate (Color clCol1, std::size_t usInd1, Color clCol2, st } -ColorGradientProfile::ColorGradientProfile() - : tStyle{ColorBarStyle::FLOW} - , fMin{} - , fMax{} - , ctColors{} - , tColorModel{} - , visibility{Visibility::Default} -{ - -} +ColorGradientProfile::ColorGradientProfile() = default; bool ColorGradientProfile::isEqual(const ColorGradientProfile& cg) const { @@ -320,8 +300,7 @@ void ColorGradient::setColorModel () } } -ColorLegend::ColorLegend () - : outsideGrayed(false) +ColorLegend::ColorLegend() { // default blue, green, red colorFields.emplace_back(0, 0, 1); @@ -338,21 +317,6 @@ ColorLegend::ColorLegend () values.push_back(1.0f); } -ColorLegend::ColorLegend (const ColorLegend &rclCL) -{ - *this = rclCL; -} - -ColorLegend& ColorLegend::operator = (const ColorLegend &rclCL) -{ - colorFields = rclCL.colorFields; - names = rclCL.names; - values = rclCL.values; - outsideGrayed = rclCL.outsideGrayed; - - return *this; -} - bool ColorLegend::operator == (const ColorLegend &rclCL) const { return (colorFields.size() == rclCL.colorFields.size()) && diff --git a/src/App/ColorModel.h b/src/App/ColorModel.h index b38a79fb4b..690701fc62 100644 --- a/src/App/ColorModel.h +++ b/src/App/ColorModel.h @@ -253,7 +253,7 @@ class AppExport ColorField { public: ColorField (); - ColorField (const ColorField &rclCF); + ColorField (const ColorField &rclCF) = default; ColorField (const ColorModel &rclModel, float fMin, float fMax, std::size_t usCt); virtual ~ColorField () = default; @@ -342,12 +342,12 @@ inline std::size_t ColorField::getColorIndex (float fVal) const struct AppExport ColorGradientProfile { - ColorBarStyle tStyle; - float fMin; - float fMax; - std::size_t ctColors; - std::size_t tColorModel; - VisibilityFlags visibility; + ColorBarStyle tStyle{ColorBarStyle::FLOW}; + float fMin{}; + float fMax{}; + std::size_t ctColors{}; + std::size_t tColorModel{}; + VisibilityFlags visibility{Visibility::Default}; ColorGradientProfile(); ColorGradientProfile (const ColorGradientProfile &) = default; @@ -441,10 +441,10 @@ class AppExport ColorLegend { public: ColorLegend (); - ColorLegend (const ColorLegend &rclCL); + ColorLegend (const ColorLegend &rclCL) = default; virtual ~ColorLegend () = default; - ColorLegend& operator = (const ColorLegend &rclCL); + ColorLegend& operator = (const ColorLegend &rclCL) = default; bool operator == (const ColorLegend &rclCL) const; bool operator != (const ColorLegend &rclCL) const { return !(*this == rclCL); @@ -484,7 +484,7 @@ protected: std::deque colorFields; std::deque names; std::deque values; - bool outsideGrayed; + bool outsideGrayed{false}; }; inline Color ColorLegend::getColor (float fVal) const diff --git a/src/App/ComplexGeoData.cpp b/src/App/ComplexGeoData.cpp index 4f5407461d..fcf7977e46 100644 --- a/src/App/ComplexGeoData.cpp +++ b/src/App/ComplexGeoData.cpp @@ -55,24 +55,27 @@ using namespace Data; // NOLINTBEGIN(cppcoreguidelines-pro-bounds-pointer-arithmetic) -ComplexGeoData::ComplexGeoData() - :Tag(0) -{ -} +ComplexGeoData::ComplexGeoData() = default; -Data::Segment* ComplexGeoData::getSubElementByName(const char* name) const +std::pair ComplexGeoData::getTypeAndIndex(const char* Name) { int index = 0; std::string element; boost::regex ex("^([^0-9]*)([0-9]*)$"); boost::cmatch what; - if (boost::regex_match(name, what, ex)) { + if (Name && boost::regex_match(Name, what, ex)) { element = what[1].str(); index = std::atoi(what[2].str().c_str()); } - return getSubElement(element.c_str(), static_cast(index)); + return std::make_pair(element, index); +} + +Data::Segment* ComplexGeoData::getSubElementByName(const char* name) const +{ + auto type = getTypeAndIndex(name); + return getSubElement(type.first.c_str(),type.second); } void ComplexGeoData::applyTransform(const Base::Matrix4D& rclTrf) diff --git a/src/App/ComplexGeoData.h b/src/App/ComplexGeoData.h index 42a1a539a5..52cbb29580 100644 --- a/src/App/ComplexGeoData.h +++ b/src/App/ComplexGeoData.h @@ -95,6 +95,9 @@ public: */ virtual std::vector getElementTypes() const=0; virtual unsigned long countSubElements(const char* Type) const=0; + /// Returns a generic element type and index. The determined element type isn't + /// necessarily supported by this geometry. + static std::pair getTypeAndIndex(const char* Name); /// get the sub-element by type and number virtual Segment* getSubElement(const char* Type, unsigned long) const=0; /// get sub-element by combined name @@ -335,7 +338,7 @@ protected: static_cast(tmp.z)); } public: - mutable long Tag; + mutable long Tag{0}; public: diff --git a/src/App/ComplexGeoDataPyImp.cpp b/src/App/ComplexGeoDataPyImp.cpp index b7dd72f234..e6c9fe69a5 100644 --- a/src/App/ComplexGeoDataPyImp.cpp +++ b/src/App/ComplexGeoDataPyImp.cpp @@ -43,7 +43,7 @@ using namespace Base; // returns a string which represent the object e.g. when printed in python std::string ComplexGeoDataPy::representation() const { - return std::string(""); + return {""}; } PyObject* ComplexGeoDataPy::getElementTypes(PyObject *args) @@ -96,17 +96,15 @@ PyObject* ComplexGeoDataPy::getFacesFromSubElement(PyObject *args) Py::Tuple tuple(2); Py::List vertex; - for (std::vector::const_iterator it = points.begin(); - it != points.end(); ++it) - vertex.append(Py::asObject(new Base::VectorPy(*it))); + for (const auto & it : points) + vertex.append(Py::asObject(new Base::VectorPy(it))); tuple.setItem(0, vertex); Py::List facet; - for (std::vector::const_iterator - it = facets.begin(); it != facets.end(); ++it) { + for (const auto & it : facets) { Py::Tuple f(3); - f.setItem(0,Py::Int(int(it->I1))); - f.setItem(1,Py::Int(int(it->I2))); - f.setItem(2,Py::Int(int(it->I3))); + f.setItem(0,Py::Int(int(it.I1))); + f.setItem(1,Py::Int(int(it.I2))); + f.setItem(2,Py::Int(int(it.I3))); facet.append(f); } tuple.setItem(1, facet); @@ -133,16 +131,14 @@ PyObject* ComplexGeoDataPy::getLinesFromSubElement(PyObject *args) Py::Tuple tuple(2); Py::List vertex; - for (std::vector::const_iterator it = points.begin(); - it != points.end(); ++it) - vertex.append(Py::asObject(new Base::VectorPy(*it))); + for (const auto & it : points) + vertex.append(Py::asObject(new Base::VectorPy(it))); tuple.setItem(0, vertex); Py::List line; - for (std::vector::const_iterator - it = lines.begin(); it != lines.end(); ++it) { + for (const auto & it : lines) { Py::Tuple l(2); - l.setItem(0,Py::Int((int)it->I1)); - l.setItem(1,Py::Int((int)it->I2)); + l.setItem(0,Py::Int((int)it.I1)); + l.setItem(1,Py::Int((int)it.I2)); line.append(l); } tuple.setItem(1, line); @@ -167,16 +163,14 @@ PyObject* ComplexGeoDataPy::getPoints(PyObject *args) Py::Tuple tuple(2); Py::List vertex; - for (std::vector::const_iterator it = points.begin(); - it != points.end(); ++it) { - vertex.append(Py::asObject(new Base::VectorPy(*it))); + for (const auto & it : points) { + vertex.append(Py::asObject(new Base::VectorPy(it))); } tuple.setItem(0, vertex); Py::List normal; - for (std::vector::const_iterator it = normals.begin(); - it != normals.end(); ++it) { - normal.append(Py::asObject(new Base::VectorPy(*it))); + for (const auto & it : normals) { + normal.append(Py::asObject(new Base::VectorPy(it))); } tuple.setItem(1, normal); return Py::new_reference_to(tuple); @@ -200,16 +194,14 @@ PyObject* ComplexGeoDataPy::getLines(PyObject *args) Py::Tuple tuple(2); Py::List vertex; - for (std::vector::const_iterator it = points.begin(); - it != points.end(); ++it) - vertex.append(Py::asObject(new Base::VectorPy(*it))); + for (const auto & it : points) + vertex.append(Py::asObject(new Base::VectorPy(it))); tuple.setItem(0, vertex); Py::List line; - for (std::vector::const_iterator - it = lines.begin(); it != lines.end(); ++it) { + for (const auto & it : lines) { Py::Tuple l(2); - l.setItem(0,Py::Int((int)it->I1)); - l.setItem(1,Py::Int((int)it->I2)); + l.setItem(0,Py::Int((int)it.I1)); + l.setItem(1,Py::Int((int)it.I2)); line.append(l); } tuple.setItem(1, line); @@ -234,17 +226,15 @@ PyObject* ComplexGeoDataPy::getFaces(PyObject *args) Py::Tuple tuple(2); Py::List vertex; - for (std::vector::const_iterator it = points.begin(); - it != points.end(); ++it) - vertex.append(Py::asObject(new Base::VectorPy(*it))); + for (const auto & it : points) + vertex.append(Py::asObject(new Base::VectorPy(it))); tuple.setItem(0, vertex); Py::List facet; - for (std::vector::const_iterator - it = facets.begin(); it != facets.end(); ++it) { + for (const auto & it : facets) { Py::Tuple f(3); - f.setItem(0,Py::Int((int)it->I1)); - f.setItem(1,Py::Int((int)it->I2)); - f.setItem(2,Py::Int((int)it->I3)); + f.setItem(0,Py::Int((int)it.I1)); + f.setItem(1,Py::Int((int)it.I2)); + f.setItem(2,Py::Int((int)it.I3)); facet.append(f); } tuple.setItem(1, facet); diff --git a/src/App/Document.cpp b/src/App/Document.cpp index 84ae6c18c1..3d13f19de0 100644 --- a/src/App/Document.cpp +++ b/src/App/Document.cpp @@ -561,7 +561,7 @@ int Document::getTransactionID(bool undo, unsigned pos) const { if(pos>=mRedoTransactions.size()) return 0; auto rit = mRedoTransactions.rbegin(); - for(;pos;++rit,--pos); + for(;pos;++rit,--pos){} return (*rit)->getID(); } @@ -1598,8 +1598,8 @@ private: Base::FileInfo di(fi.dirPath()); std::vector backup; std::vector files = di.getDirectoryContent(); - for (std::vector::iterator it = files.begin(); it != files.end(); ++it) { - std::string file = it->fileName(); + for (const Base::FileInfo& it : files) { + std::string file = it.fileName(); if (file.substr(0,fn.length()) == fn) { // starts with the same file name std::string suf(file.substr(fn.length())); @@ -1607,7 +1607,7 @@ private: std::string::size_type nPos = suf.find_first_not_of("0123456789"); if (nPos==std::string::npos) { // store all backup files - backup.push_back(*it); + backup.push_back(it); nSuff = std::max(nSuff, std::atol(suf.c_str())); } } @@ -1617,9 +1617,9 @@ private: if (!backup.empty() && (int)backup.size() >= numberOfFiles) { // delete the oldest backup file we found Base::FileInfo del = backup.front(); - for (std::vector::iterator it = backup.begin(); it != backup.end(); ++it) { - if (it->lastModified() < del.lastModified()) - del = *it; + for (const Base::FileInfo& it : backup) { + if (it.lastModified() < del.lastModified()) + del = it; } del.deleteFile(); @@ -1673,10 +1673,10 @@ private: Base::FileInfo di(fi.dirPath()); std::vector backup; std::vector files = di.getDirectoryContent(); - for (std::vector::iterator it = files.begin(); it != files.end(); ++it) { - if (it->isFile()) { - std::string file = it->fileName(); - std::string fext = it->extension(); + for (const Base::FileInfo& it : files) { + if (it.isFile()) { + std::string file = it.fileName(); + std::string fext = it.extension(); std::string fextUp = fext; std::transform(fextUp.begin(), fextUp.end(), fextUp.begin(),(int (*)(int))toupper); // re-enforcing identification of the backup file @@ -1690,7 +1690,7 @@ private: // + complement with no "." + ".FCBak" ((fextUp == "FCBAK") && startsWith(file, pbn) && (checkValidComplement(file, pbn, fext)))) { - backup.push_back(*it); + backup.push_back(it); } } } @@ -1700,18 +1700,18 @@ private: // delete the oldest backup file we found // Base::FileInfo del = backup.front(); int nb = 0; - for (std::vector::iterator it = backup.begin(); it != backup.end(); ++it) { + for (Base::FileInfo& it : backup) { nb++; if (nb >= numberOfFiles) { try { - if (!it->deleteFile()) { + if (!it.deleteFile()) { backupManagementError = true; - Base::Console().Warning("Cannot remove backup file : %s\n", it->fileName().c_str()); + Base::Console().Warning("Cannot remove backup file : %s\n", it.fileName().c_str()); } } catch (...) { backupManagementError = true; - Base::Console().Warning("Cannot remove backup file : %s\n", it->fileName().c_str()); + Base::Console().Warning("Cannot remove backup file : %s\n", it.fileName().c_str()); } } } @@ -2192,15 +2192,17 @@ const char* Document::getFileName() const /// Remove all modifications. After this call The document becomes valid again. void Document::purgeTouched() { - for (std::vector::iterator It = d->objectArray.begin();It != d->objectArray.end();++It) - (*It)->purgeTouched(); + for (auto It : d->objectArray) + It->purgeTouched(); } bool Document::isTouched() const { - for (std::vector::const_iterator It = d->objectArray.begin();It != d->objectArray.end();++It) - if ((*It)->isTouched()) + for (auto It : d->objectArray) { + if (It->isTouched()) { return true; + } + } return false; } @@ -2208,9 +2210,11 @@ vector Document::getTouched() const { vector result; - for (std::vector::const_iterator It = d->objectArray.begin();It != d->objectArray.end();++It) - if ((*It)->isTouched()) - result.push_back(*It); + for (auto It : d->objectArray) { + if (It->isTouched()) { + result.push_back(It); + } + } return result; } @@ -2304,13 +2308,14 @@ std::vector Document::getInList(const DocumentObject* me) // result list std::vector result; // go through all objects - for (auto It = d->objectMap.begin(); It != d->objectMap.end();++It) { + for (const auto & It : d->objectMap) { // get the outList and search if me is in that list - std::vector OutList = It->second->getOutList(); - for (std::vector::const_iterator It2=OutList.begin();It2!=OutList.end();++It2) - if (*It2 && *It2 == me) + std::vector OutList = It.second->getOutList(); + for (auto obj : OutList) { + if (obj && obj == me) // add the parent object - result.push_back(It->second); + result.push_back(It.second); + } } return result; } @@ -2536,7 +2541,9 @@ void Document::_rebuildDependencyList(const std::vector &o * @param paths Map with current and new names */ -void Document::renameObjectIdentifiers(const std::map &paths, const std::function & selector) +void Document::renameObjectIdentifiers(const std::map &paths, + const std::function & selector) { std::map extendedPaths; @@ -2546,9 +2553,11 @@ void Document::renameObjectIdentifiers(const std::map::iterator it = d->objectArray.begin(); it != d->objectArray.end(); ++it) - if (selector(*it)) - (*it)->renameObjectIdentifiers(extendedPaths); + for (auto it : d->objectArray) { + if (selector(it)) { + it->renameObjectIdentifiers(extendedPaths); + } + } } #ifdef USE_OLD_DAG @@ -3213,8 +3222,8 @@ std::vector Document::addObjects(const char* sType, const std: // get all existing object names std::vector reservedNames; reservedNames.reserve(d->objectMap.size()); - for (auto pos = d->objectMap.begin();pos != d->objectMap.end();++pos) { - reservedNames.push_back(pos->first); + for (const auto & pos : d->objectMap) { + reservedNames.push_back(pos.first); } for (auto it = objects.begin(); it != objects.end(); ++it) { @@ -3576,8 +3585,8 @@ std::vector Document::copyObject( md.setVerbose(recursive); unsigned int memsize=1000; // ~ for the meta-information - for (std::vector::iterator it = deps.begin(); it != deps.end(); ++it) - memsize += (*it)->getMemSize(); + for (auto it : deps) + memsize += it->getMemSize(); // if less than ~10 MB bool use_buffer=(memsize < 0xA00000); @@ -3769,8 +3778,8 @@ DocumentObject * Document::getObjectByID(long id) const // Note: This method is only used in Tree.cpp slotChangeObject(), see explanation there bool Document::isIn(const DocumentObject *pFeat) const { - for (auto o = d->objectMap.begin(); o != d->objectMap.end(); ++o) { - if (o->second == pFeat) + for (const auto & pos : d->objectMap) { + if (pos.second == pFeat) return true; } @@ -3779,9 +3788,9 @@ bool Document::isIn(const DocumentObject *pFeat) const const char * Document::getObjectName(DocumentObject *pFeat) const { - for (auto pos = d->objectMap.begin();pos != d->objectMap.end();++pos) { - if (pos->second == pFeat) - return pos->first.c_str(); + for (const auto & pos : d->objectMap) { + if (pos.second == pFeat) + return pos.first.c_str(); } return nullptr; @@ -3790,7 +3799,7 @@ const char * Document::getObjectName(DocumentObject *pFeat) const std::string Document::getUniqueObjectName(const char *Name) const { if (!Name || *Name == '\0') - return std::string(); + return {}; std::string CleanName = Base::Tools::getIdentifier(Name); // name in use? @@ -3825,8 +3834,8 @@ std::string Document::getStandardObjectName(const char *Name, int d) const std::vector labels; labels.reserve(mm.size()); - for (std::vector::const_iterator it = mm.begin(); it != mm.end(); ++it) { - std::string label = (*it)->Label.getValue(); + for (auto it : mm) { + std::string label = it->Label.getValue(); labels.push_back(label); } return Base::Tools::getUniqueName(Name, labels, d); @@ -3846,9 +3855,9 @@ const std::vector &Document::getObjects() const std::vector Document::getObjectsOfType(const Base::Type& typeId) const { std::vector Objects; - for (std::vector::const_iterator it = d->objectArray.begin(); it != d->objectArray.end(); ++it) { - if ((*it)->getTypeId().isDerivedFrom(typeId)) - Objects.push_back(*it); + for (auto it : d->objectArray) { + if (it->getTypeId().isDerivedFrom(typeId)) + Objects.push_back(it); } return Objects; } @@ -3856,9 +3865,9 @@ std::vector Document::getObjectsOfType(const Base::Type& typeId std::vector< DocumentObject* > Document::getObjectsWithExtension(const Base::Type& typeId, bool derived) const { std::vector Objects; - for (std::vector::const_iterator it = d->objectArray.begin(); it != d->objectArray.end(); ++it) { - if ((*it)->hasExtension(typeId, derived)) - Objects.push_back(*it); + for (auto it : d->objectArray) { + if (it->hasExtension(typeId, derived)) + Objects.push_back(it); } return Objects; } @@ -3877,14 +3886,14 @@ std::vector Document::findObjects(const Base::Type& typeId, con std::vector Objects; DocumentObject* found = nullptr; - for (std::vector::const_iterator it = d->objectArray.begin(); it != d->objectArray.end(); ++it) { - if ((*it)->getTypeId().isDerivedFrom(typeId)) { - found = *it; + for (auto it : d->objectArray) { + if (it->getTypeId().isDerivedFrom(typeId)) { + found = it; - if (!rx_name.empty() && !boost::regex_search((*it)->getNameInDocument(), what, rx_name)) + if (!rx_name.empty() && !boost::regex_search(it->getNameInDocument(), what, rx_name)) found = nullptr; - if (!rx_label.empty() && !boost::regex_search((*it)->Label.getValue(), what, rx_label)) + if (!rx_label.empty() && !boost::regex_search(it->Label.getValue(), what, rx_label)) found = nullptr; if (found) @@ -3897,8 +3906,8 @@ std::vector Document::findObjects(const Base::Type& typeId, con int Document::countObjectsOfType(const Base::Type& typeId) const { int ct=0; - for (auto it = d->objectMap.begin(); it != d->objectMap.end(); ++it) { - if (it->second->getTypeId().isDerivedFrom(typeId)) + for (const auto & it : d->objectMap) { + if (it.second->getTypeId().isDerivedFrom(typeId)) ct++; } @@ -3971,11 +3980,11 @@ Document::getPathsByOutList(const App::DocumentObject* from, const App::Document std::vector all_paths; DocumentP::findAllPathsAt(all_nodes, index_from, all_paths, tmp); - for (std::vector::iterator it = all_paths.begin(); it != all_paths.end(); ++it) { - Path::iterator jt = std::find(it->begin(), it->end(), index_to); - if (jt != it->end()) { + for (const Path& it : all_paths) { + Path::const_iterator jt = std::find(it.begin(), it.end(), index_to); + if (jt != it.end()) { std::list path; - for (Path::iterator kt = it->begin(); kt != jt; ++kt) { + for (Path::const_iterator kt = it.begin(); kt != jt; ++kt) { path.push_back(d->objectArray[*kt]); } @@ -3999,8 +4008,9 @@ bool Document::mustExecute() const return touched; } - for (std::vector::const_iterator It = d->objectArray.begin();It != d->objectArray.end();++It) - if ((*It)->isTouched() || (*It)->mustExecute()==1) + for (auto It : d->objectArray) { + if (It->isTouched() || It->mustExecute()==1) return true; + } return false; } diff --git a/src/App/DocumentObject.cpp b/src/App/DocumentObject.cpp index 7229f6bcd6..a5202192d2 100644 --- a/src/App/DocumentObject.cpp +++ b/src/App/DocumentObject.cpp @@ -63,7 +63,7 @@ DocumentObjectExecReturn *DocumentObject::StdReturn = nullptr; //=========================================================================== DocumentObject::DocumentObject() - : ExpressionEngine(),_pDoc(nullptr),pcNameInDocument(nullptr),_Id(0) + : ExpressionEngine() { // define Label of type 'Output' to avoid being marked as touched after relabeling ADD_PROPERTY_TYPE(Label,("Unnamed"),"Base",Prop_Output,"User name of the object (UTF8)"); @@ -312,7 +312,7 @@ int DocumentObject::isExporting() const { std::string DocumentObject::getExportName(bool forced) const { if(!pcNameInDocument) - return std::string(); + return {}; if(!forced && !isExporting()) return *pcNameInDocument; diff --git a/src/App/DocumentObject.h b/src/App/DocumentObject.h index 6490de0605..a274a60c0c 100644 --- a/src/App/DocumentObject.h +++ b/src/App/DocumentObject.h @@ -626,20 +626,20 @@ private: protected: // attributes Py::SmartPtr PythonObject; /// pointer to the document this object belongs to - App::Document* _pDoc; + App::Document* _pDoc{nullptr}; /// Old label; used for renaming expressions std::string oldLabel; // pointer to the document name string (for performance) - const std::string *pcNameInDocument; + const std::string *pcNameInDocument{nullptr}; private: // accessed by App::Document to record and restore the correct view provider type std::string _pcViewProviderName; // unique identifier (among a document) of this object. - long _Id; + long _Id{0}; private: // Back pointer to all the fathers in a DAG of the document diff --git a/src/App/DocumentObjectExtensionPyImp.cpp b/src/App/DocumentObjectExtensionPyImp.cpp index 47bd7e1e2c..a80f1a1603 100644 --- a/src/App/DocumentObjectExtensionPyImp.cpp +++ b/src/App/DocumentObjectExtensionPyImp.cpp @@ -32,7 +32,7 @@ using namespace App; // returns a string which represent the object e.g. when printed in python std::string DocumentObjectExtensionPy::representation() const { - return std::string(""); + return {""}; } PyObject *DocumentObjectExtensionPy::getCustomAttributes(const char* /*attr*/) const diff --git a/src/App/DocumentObjectGroupPyImp.cpp b/src/App/DocumentObjectGroupPyImp.cpp index 15e23c1084..4b4c36565f 100644 --- a/src/App/DocumentObjectGroupPyImp.cpp +++ b/src/App/DocumentObjectGroupPyImp.cpp @@ -34,7 +34,7 @@ using namespace App; // returns a string which represent the object e.g. when printed in python std::string DocumentObjectGroupPy::representation() const { - return std::string(""); + return {""}; } PyObject *DocumentObjectGroupPy::getCustomAttributes(const char* /*attr*/) const diff --git a/src/App/DocumentObjectPyImp.cpp b/src/App/DocumentObjectPyImp.cpp index b561983bfe..8c5d6d5628 100644 --- a/src/App/DocumentObjectPyImp.cpp +++ b/src/App/DocumentObjectPyImp.cpp @@ -24,6 +24,7 @@ #include #include +#include #include "DocumentObject.h" #include "Document.h" @@ -55,12 +56,12 @@ Py::String DocumentObjectPy::getName() const if (!internal) { throw Py::RuntimeError(std::string("This object is currently not part of a document")); } - return Py::String(std::string(internal)); + return {std::string(internal)}; } Py::String DocumentObjectPy::getFullName() const { - return Py::String(getDocumentObjectPtr()->getFullName()); + return {getDocumentObjectPtr()->getFullName()}; } Py::Object DocumentObjectPy::getDocument() const @@ -114,11 +115,11 @@ PyObject* DocumentObjectPy::supportedProperties(PyObject *args) std::vector ary; Base::Type::getAllDerivedFrom(App::Property::getClassTypeId(), ary); Py::List res; - for (std::vector::iterator it = ary.begin(); it != ary.end(); ++it) { - Base::BaseClass *data = static_cast(it->createInstance()); + for (auto & it : ary) { + Base::BaseClass *data = static_cast(it.createInstance()); if (data) { delete data; - res.append(Py::String(it->getName())); + res.append(Py::String(it.getName())); } } return Py::new_reference_to(res); @@ -253,8 +254,8 @@ Py::List DocumentObjectPy::getInList() const Py::List ret; std::vector list = getDocumentObjectPtr()->getInList(); - for (std::vector::iterator It=list.begin();It!=list.end();++It) - ret.append(Py::Object((*It)->getPyObject(), true)); + for (auto It : list) + ret.append(Py::Object(It->getPyObject(), true)); return ret; } @@ -265,8 +266,8 @@ Py::List DocumentObjectPy::getInListRecursive() const try { std::vector list = getDocumentObjectPtr()->getInListRecursive(); - for (std::vector::iterator It = list.begin(); It != list.end(); ++It) - ret.append(Py::Object((*It)->getPyObject(), true)); + for (auto It : list) + ret.append(Py::Object(It->getPyObject(), true)); } catch (const Base::Exception& e) { throw Py::IndexError(e.what()); @@ -279,8 +280,8 @@ Py::List DocumentObjectPy::getOutList() const Py::List ret; std::vector list = getDocumentObjectPtr()->getOutList(); - for (std::vector::iterator It=list.begin();It!=list.end();++It) - ret.append(Py::Object((*It)->getPyObject(), true)); + for (auto It : list) + ret.append(Py::Object(It->getPyObject(), true)); return ret; } @@ -292,8 +293,8 @@ Py::List DocumentObjectPy::getOutListRecursive() const std::vector list = getDocumentObjectPtr()->getOutListRecursive(); // create the python list for the output - for (std::vector::iterator It = list.begin(); It != list.end(); ++It) - ret.append(Py::Object((*It)->getPyObject(), true)); + for (auto It : list) + ret.append(Py::Object(It->getPyObject(), true)); } catch (const Base::Exception& e) { throw Py::IndexError(e.what()); @@ -432,12 +433,13 @@ PyObject* DocumentObjectPy::getSubObject(PyObject *args, PyObject *keywds) PyObject *doTransform = Py_True; short depth = 0; - static char *kwlist[] = {"subname", "retType", "matrix", "transform", "depth", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "O|hO!O!h", kwlist, - &obj, &retType, &Base::MatrixPy::Type, &pyMat, &PyBool_Type, &doTransform, &depth)) + static const std::array kwlist {"subname", "retType", "matrix", "transform", "depth", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "O|hO!O!h", kwlist, &obj, &retType, &Base::MatrixPy::Type, + &pyMat, &PyBool_Type, &doTransform, &depth)) { return nullptr; + } - if (retType < 0 || retType > 6) { + if (retType < 0 || static_cast (retType) > kwlist.size()) { PyErr_SetString(PyExc_ValueError, "invalid retType, can only be integer 0~6"); return nullptr; } @@ -471,11 +473,11 @@ PyObject* DocumentObjectPy::getSubObject(PyObject *args, PyObject *keywds) bool transform = Base::asBoolean(doTransform); struct SubInfo { - App::DocumentObject *sobj; + App::DocumentObject *sobj{nullptr}; Py::Object obj; Py::Object pyObj; Base::Matrix4D mat; - explicit SubInfo(const Base::Matrix4D &mat) : sobj(nullptr), mat(mat){} + explicit SubInfo(const Base::Matrix4D &mat) : mat(mat){} }; Base::Matrix4D mat; @@ -576,10 +578,11 @@ PyObject* DocumentObjectPy::getLinkedObject(PyObject *args, PyObject *keywds) PyObject *pyMat = Py_None; PyObject *transform = Py_True; short depth = 0; - static char *kwlist[] = {"recursive","matrix","transform","depth", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "|O!OO!h", kwlist, - &PyBool_Type,&recursive,&pyMat,&PyBool_Type,&transform,&depth)) + static const std::array kwlist {"recursive","matrix","transform","depth", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "|O!OO!h", kwlist, + &PyBool_Type, &recursive, &pyMat, &PyBool_Type, &transform, &depth)) { return nullptr; + } PY_TRY { Base::PyTypeCheck(&pyMat, &Base::MatrixPy::Type, "expect argument 'matrix' to be of type Base.Matrix"); @@ -694,7 +697,7 @@ PyObject* DocumentObjectPy::getParent(PyObject *args) Py::Boolean DocumentObjectPy::getMustExecute() const { try { - return Py::Boolean(getDocumentObjectPtr()->mustExecute()?true:false); + return {getDocumentObjectPtr()->mustExecute() ? true : false}; } catch (const Base::Exception& e) { throw Py::RuntimeError(e.what()); @@ -741,7 +744,7 @@ Py::Int DocumentObjectPy::getID() const { } Py::Boolean DocumentObjectPy::getRemoving() const { - return Py::Boolean(getDocumentObjectPtr()->testStatus(ObjectStatus::Remove)); + return {getDocumentObjectPtr()->testStatus(ObjectStatus::Remove)}; } PyObject *DocumentObjectPy::resolve(PyObject *args) @@ -813,11 +816,11 @@ PyObject *DocumentObjectPy::adjustRelativeLinks(PyObject *args) { } Py::String DocumentObjectPy::getOldLabel() const { - return Py::String(getDocumentObjectPtr()->getOldLabel()); + return {getDocumentObjectPtr()->getOldLabel()}; } Py::Boolean DocumentObjectPy::getNoTouch() const { - return Py::Boolean(getDocumentObjectPtr()->testStatus(ObjectStatus::NoTouch)); + return {getDocumentObjectPtr()->testStatus(ObjectStatus::NoTouch)}; } void DocumentObjectPy::setNoTouch(Py::Boolean value) { diff --git a/src/App/DocumentObserver.cpp b/src/App/DocumentObserver.cpp index 87d449e973..df665b44fe 100644 --- a/src/App/DocumentObserver.cpp +++ b/src/App/DocumentObserver.cpp @@ -259,10 +259,7 @@ Property *DocumentObjectT::getProperty() const { SubObjectT::SubObjectT() = default; -SubObjectT::SubObjectT(const SubObjectT &other) - :DocumentObjectT(other), subname(other.subname) -{ -} +SubObjectT::SubObjectT(const SubObjectT &) = default; SubObjectT::SubObjectT(SubObjectT &&other) :DocumentObjectT(std::move(other)), subname(std::move(other.subname)) @@ -364,7 +361,7 @@ std::string SubObjectT::getNewElementName() const { std::pair element; auto obj = getObject(); if(!obj) - return std::string(); + return {}; GeoFeature::resolveElement(obj,subname.c_str(),element); return std::move(element.first); } @@ -373,7 +370,7 @@ std::string SubObjectT::getOldElementName(int *index) const { std::pair element; auto obj = getObject(); if(!obj) - return std::string(); + return {}; GeoFeature::resolveElement(obj,subname.c_str(),element); if(!index) return std::move(element.second); @@ -598,7 +595,7 @@ App::Document* DocumentWeakPtrT::operator->() const noexcept class DocumentObjectWeakPtrT::Private { public: - explicit Private(App::DocumentObject* obj) : object(obj), indocument(false) { + explicit Private(App::DocumentObject* obj) : object(obj) { set(obj); } void deletedDocument(const App::Document& doc) { @@ -645,7 +642,7 @@ public: } App::DocumentObject* object; - bool indocument; + bool indocument{false}; using Connection = boost::signals2::scoped_connection; Connection connectApplicationDeletedDocument; Connection connectDocumentCreatedObject; diff --git a/src/App/DocumentObserver.h b/src/App/DocumentObserver.h index 84e7dbecdf..6ff92b857a 100644 --- a/src/App/DocumentObserver.h +++ b/src/App/DocumentObserver.h @@ -306,11 +306,11 @@ public: */ App::Document* operator->() const noexcept; -private: // disable - DocumentWeakPtrT(const DocumentWeakPtrT&); - DocumentWeakPtrT& operator=(const DocumentWeakPtrT&); + DocumentWeakPtrT(const DocumentWeakPtrT&) = delete; + DocumentWeakPtrT& operator=(const DocumentWeakPtrT&) = delete; +private: class Private; std::unique_ptr d; }; @@ -368,9 +368,11 @@ public: private: App::DocumentObject* _get() const noexcept; + +public: // disable - DocumentObjectWeakPtrT(const DocumentObjectWeakPtrT&); - DocumentObjectWeakPtrT& operator=(const DocumentObjectWeakPtrT&); + DocumentObjectWeakPtrT(const DocumentObjectWeakPtrT&) = delete; + DocumentObjectWeakPtrT& operator=(const DocumentObjectWeakPtrT&) = delete; private: class Private; @@ -444,10 +446,9 @@ public: return ptr.get(); } -private: // disable - WeakPtrT(const WeakPtrT&); - WeakPtrT& operator=(const WeakPtrT&); + WeakPtrT(const WeakPtrT&) = delete; + WeakPtrT& operator=(const WeakPtrT&) = delete; private: DocumentObjectWeakPtrT ptr; diff --git a/src/App/DocumentPy.xml b/src/App/DocumentPy.xml index 5be462037f..3c9c1c08f8 100644 --- a/src/App/DocumentPy.xml +++ b/src/App/DocumentPy.xml @@ -104,12 +104,10 @@ attach (Boolean): if True, then bind the document object first before adding to viewType (String): override the view provider type directly, only effective when attach is False. - + - addProperty(string, string) -- Add a generic property. - The first argument specifies the type, the second the - name of the property. + addProperty(type: string, name: string, group="", doc="", attr=0, read_only=False, hidden=False) -- Add a generic property. diff --git a/src/App/DocumentPyImp.cpp b/src/App/DocumentPyImp.cpp index 2a06da2ef5..3f07e7455e 100644 --- a/src/App/DocumentPyImp.cpp +++ b/src/App/DocumentPyImp.cpp @@ -36,18 +36,22 @@ #include "DocumentPy.h" #include "DocumentPy.cpp" #include +#include using namespace App; -PyObject* DocumentPy::addProperty(PyObject *args) +PyObject* DocumentPy::addProperty(PyObject *args, PyObject *kwd) { char *sType,*sName=nullptr,*sGroup=nullptr,*sDoc=nullptr; short attr=0; std::string sDocStr; PyObject *ro = Py_False, *hd = Py_False; - if (!PyArg_ParseTuple(args, "s|ssethO!O!", &sType,&sName,&sGroup,"utf-8",&sDoc,&attr, - &PyBool_Type, &ro, &PyBool_Type, &hd)) + PyObject* enumVals = nullptr; + static char *kwlist[] = {"type","name","group","doc","attr","read_only","hidden","enum_vals",nullptr}; + if (!PyArg_ParseTupleAndKeywords( + args, kwd, "ss|sethO!O!O", kwlist, &sType, &sName, &sGroup, "utf-8", + &sDoc, &attr, &PyBool_Type, &ro, &PyBool_Type, &hd, &enumVals)) return nullptr; if (sDoc) { @@ -55,8 +59,21 @@ PyObject* DocumentPy::addProperty(PyObject *args) PyMem_Free(sDoc); } - getDocumentPtr()->addDynamicProperty(sType,sName,sGroup,sDocStr.c_str(),attr, - Base::asBoolean(ro), Base::asBoolean(hd)); + Property *prop = getDocumentPtr()-> + addDynamicProperty(sType,sName,sGroup,sDocStr.c_str(),attr, + Base::asBoolean(ro), Base::asBoolean(hd)); + + // enum support + auto* propEnum = dynamic_cast(prop); + if (propEnum) { + if (PySequence_Check(enumVals)) { + std::vector enumValsAsVector; + for (Py_ssize_t i = 0; i < PySequence_Length(enumVals); ++i) { + enumValsAsVector.emplace_back(PyUnicode_AsUTF8(PySequence_GetItem(enumVals,i))); + } + propEnum->setEnums(enumValsAsVector); + } + } return Py::new_reference_to(this); } @@ -238,14 +255,16 @@ PyObject* DocumentPy::exportGraphviz(PyObject * args) PyObject* DocumentPy::addObject(PyObject *args, PyObject *kwd) { - char *sType,*sName=nullptr,*sViewType=nullptr; - PyObject* obj=nullptr; - PyObject* view=nullptr; - PyObject *attach=Py_False; - static char *kwlist[] = {"type","name","objProxy","viewProxy","attach","viewType",nullptr}; - if (!PyArg_ParseTupleAndKeywords(args,kwd,"s|sOOO!s", - kwlist, &sType,&sName,&obj,&view,&PyBool_Type,&attach,&sViewType)) + char *sType, *sName = nullptr, *sViewType = nullptr; + PyObject *obj = nullptr; + PyObject *view = nullptr; + PyObject *attach = Py_False; + static const std::array kwlist{"type", "name", "objProxy", "viewProxy", "attach", "viewType", + nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwd, "s|sOOO!s", + kwlist, &sType, &sName, &obj, &view, &PyBool_Type, &attach, &sViewType)) { return nullptr; + } DocumentObject *pcFtr = nullptr; @@ -472,7 +491,7 @@ PyObject* DocumentPy::commitTransaction(PyObject * args) } Py::Boolean DocumentPy::getHasPendingTransaction() const { - return Py::Boolean(getDocumentPtr()->hasPendingTransaction()); + return {getDocumentPtr()->hasPendingTransaction()}; } PyObject* DocumentPy::undo(PyObject * args) @@ -631,9 +650,9 @@ PyObject* DocumentPy::getObjectsByLabel(PyObject *args) Py::List list; std::string name = sName; std::vector objs = getDocumentPtr()->getObjects(); - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - if (name == (*it)->Label.getValue()) - list.append(Py::asObject((*it)->getPyObject())); + for (auto obj : objs) { + if (name == obj->Label.getValue()) + list.append(Py::asObject(obj->getPyObject())); } return Py::new_reference_to(list); @@ -642,10 +661,10 @@ PyObject* DocumentPy::getObjectsByLabel(PyObject *args) PyObject* DocumentPy::findObjects(PyObject *args, PyObject *kwds) { const char *sType = "App::DocumentObject", *sName = nullptr, *sLabel = nullptr; - static char *kwlist[] = {"Type", "Name", "Label", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|sss", - kwlist, &sType, &sName, &sLabel)) + static const std::array kwlist{"Type", "Name", "Label", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|sss", kwlist, &sType, &sName, &sLabel)) { return nullptr; + } Base::Type type = Base::Type::getTypeIfDerivedFrom(sType, App::DocumentObject::getClassTypeId(), true); if (type.isBad()) { @@ -687,8 +706,8 @@ PyObject* DocumentPy::supportedTypes(PyObject *args) std::vector ary; Base::Type::getAllDerivedFrom(App::DocumentObject::getClassTypeId(), ary); Py::List res; - for (std::vector::iterator it = ary.begin(); it != ary.end(); ++it) - res.append(Py::String(it->getName())); + for (const auto & it : ary) + res.append(Py::String(it.getName())); return Py::new_reference_to(res); } @@ -697,9 +716,9 @@ Py::List DocumentPy::getObjects() const std::vector objs = getDocumentPtr()->getObjects(); Py::List res; - for (std::vector::const_iterator It = objs.begin();It != objs.end();++It) + for (auto obj : objs) //Note: Here we must force the Py::Object to own this Python object as getPyObject() increments the counter - res.append(Py::Object((*It)->getPyObject(), true)); + res.append(Py::Object(obj->getPyObject(), true)); return res; } @@ -709,9 +728,9 @@ Py::List DocumentPy::getTopologicalSortedObjects() const std::vector objs = getDocumentPtr()->topologicalSort(); Py::List res; - for (std::vector::const_iterator It = objs.begin(); It != objs.end(); ++It) + for (auto obj : objs) //Note: Here we must force the Py::Object to own this Python object as getPyObject() increments the counter - res.append(Py::Object((*It)->getPyObject(), true)); + res.append(Py::Object(obj->getPyObject(), true)); return res; } @@ -721,9 +740,9 @@ Py::List DocumentPy::getRootObjects() const std::vector objs = getDocumentPtr()->getRootObjects(); Py::List res; - for (std::vector::const_iterator It = objs.begin(); It != objs.end(); ++It) + for (auto obj : objs) //Note: Here we must force the Py::Object to own this Python object as getPyObject() increments the counter - res.append(Py::Object((*It)->getPyObject(), true)); + res.append(Py::Object(obj->getPyObject(), true)); return res; } @@ -759,8 +778,8 @@ Py::List DocumentPy::getUndoNames() const std::vector vList = getDocumentPtr()->getAvailableUndoNames(); Py::List res; - for (std::vector::const_iterator It = vList.begin();It!=vList.end();++It) - res.append(Py::String(*It)); + for (const auto & It : vList) + res.append(Py::String(It)); return res; } @@ -770,8 +789,8 @@ Py::List DocumentPy::getRedoNames() const std::vector vList = getDocumentPtr()->getAvailableRedoNames(); Py::List res; - for (std::vector::const_iterator It = vList.begin();It!=vList.end();++It) - res.append(Py::String(*It)); + for (const auto & It : vList) + res.append(Py::String(It)); return res; } @@ -780,17 +799,17 @@ Py::String DocumentPy::getDependencyGraph() const { std::stringstream out; getDocumentPtr()->exportGraphviz(out); - return Py::String(out.str()); + return {out.str()}; } Py::String DocumentPy::getName() const { - return Py::String(getDocumentPtr()->getName()); + return {getDocumentPtr()->getName()}; } Py::Boolean DocumentPy::getRecomputesFrozen() const { - return Py::Boolean(getDocumentPtr()->testStatus(Document::Status::SkipRecompute)); + return {getDocumentPtr()->testStatus(Document::Status::SkipRecompute)}; } void DocumentPy::setRecomputesFrozen(Py::Boolean arg) @@ -942,35 +961,35 @@ PyObject *DocumentPy::getDependentDocuments(PyObject *args) { Py::Boolean DocumentPy::getRestoring() const { - return Py::Boolean(getDocumentPtr()->testStatus(Document::Status::Restoring)); + return {getDocumentPtr()->testStatus(Document::Status::Restoring)}; } Py::Boolean DocumentPy::getPartial() const { - return Py::Boolean(getDocumentPtr()->testStatus(Document::Status::PartialDoc)); + return {getDocumentPtr()->testStatus(Document::Status::PartialDoc)}; } Py::Boolean DocumentPy::getImporting() const { - return Py::Boolean(getDocumentPtr()->testStatus(Document::Status::Importing)); + return {getDocumentPtr()->testStatus(Document::Status::Importing)}; } Py::Boolean DocumentPy::getRecomputing() const { - return Py::Boolean(getDocumentPtr()->testStatus(Document::Status::Recomputing)); + return {getDocumentPtr()->testStatus(Document::Status::Recomputing)}; } Py::Boolean DocumentPy::getTransacting() const { - return Py::Boolean(getDocumentPtr()->isPerformingTransaction()); + return {getDocumentPtr()->isPerformingTransaction()}; } Py::String DocumentPy::getOldLabel() const { - return Py::String(getDocumentPtr()->getOldLabel()); + return {getDocumentPtr()->getOldLabel()}; } Py::Boolean DocumentPy::getTemporary() const { - return Py::Boolean(getDocumentPtr()->testStatus(Document::TempDoc)); + return {getDocumentPtr()->testStatus(Document::TempDoc)}; } diff --git a/src/App/DynamicProperty.cpp b/src/App/DynamicProperty.cpp index c105483f42..892462844f 100644 --- a/src/App/DynamicProperty.cpp +++ b/src/App/DynamicProperty.cpp @@ -358,7 +358,7 @@ DynamicProperty::PropData DynamicProperty::getDynamicPropertyData(const Property auto it = index.find(const_cast(prop)); if(it != index.end()) return *it; - return PropData(); + return {}; } bool DynamicProperty::changeDynamicProperty(const Property *prop, const char *group, const char *doc) { diff --git a/src/App/ElementMap.cpp b/src/App/ElementMap.cpp index 3be76b9973..d6263dd80e 100644 --- a/src/App/ElementMap.cpp +++ b/src/App/ElementMap.cpp @@ -848,12 +848,12 @@ IndexedName ElementMap::find(const MappedName& name, ElementIDRefs* sids) const MappedName ElementMap::find(const IndexedName& idx, ElementIDRefs* sids) const { if (!idx) { - return MappedName(); + return {}; } auto iter = this->indexedNames.find(idx.getType()); if (iter == this->indexedNames.end()) { - return MappedName(); + return {}; } auto& indices = iter->second; diff --git a/src/App/ElementNamingUtils.cpp b/src/App/ElementNamingUtils.cpp index b972dde726..7a27ba4213 100644 --- a/src/App/ElementNamingUtils.cpp +++ b/src/App/ElementNamingUtils.cpp @@ -12,7 +12,7 @@ const char *Data::isMappedElement(const char *name) { std::string Data::newElementName(const char *name) { if(!name) - return std::string(); + return {}; const char *dot = strrchr(name,'.'); if(!dot || dot==name) return name; @@ -30,7 +30,7 @@ std::string Data::newElementName(const char *name) { std::string Data::oldElementName(const char *name) { if(!name) - return std::string(); + return {}; const char *dot = strrchr(name,'.'); if(!dot || dot==name) return name; @@ -48,7 +48,7 @@ std::string Data::oldElementName(const char *name) { std::string Data::noElementName(const char *name) { if(!name) - return std::string(); + return {}; auto element = findElementName(name); if(element) return std::string(name,element-name); diff --git a/src/App/Enumeration.cpp b/src/App/Enumeration.cpp index 1d85767232..69d3027495 100644 --- a/src/App/Enumeration.cpp +++ b/src/App/Enumeration.cpp @@ -141,8 +141,8 @@ void Enumeration::setEnums(const std::vector &values) } enumArray.clear(); - for (std::vector::const_iterator it = values.begin(); it != values.end(); ++it) { - enumArray.push_back(std::make_shared(it->c_str())); + for (const auto & it : values) { + enumArray.push_back(std::make_shared(it.c_str())); } // set _index diff --git a/src/App/Expression.cpp b/src/App/Expression.cpp index db68d9e702..75ac7e2e37 100644 --- a/src/App/Expression.cpp +++ b/src/App/Expression.cpp @@ -449,12 +449,12 @@ Py::Object pyObjectFromAny(const App::any &value) { App::any pyObjectToAny(Py::Object value, bool check) { if(value.isNone()) - return App::any(); + return {}; PyObject *pyvalue = value.ptr(); if(!check) - return App::any(pyObjectWrap(pyvalue)); + return {pyObjectWrap(pyvalue)}; if (PyObject_TypeCheck(pyvalue, &Base::QuantityPy::Type)) { Base::QuantityPy * qp = static_cast(pyvalue); @@ -967,7 +967,7 @@ std::map Expression::getIdentifiers() const { class AdjustLinksExpressionVisitor : public ExpressionVisitor { public: explicit AdjustLinksExpressionVisitor(const std::set &inList) - :inList(inList),res(false) + :inList(inList) {} void visit(Expression &e) override { @@ -976,7 +976,7 @@ public: } const std::set &inList; - bool res; + bool res{false}; }; bool Expression::adjustLinks(const std::set &inList) { @@ -1048,7 +1048,7 @@ ExpressionPtr Expression::updateLabelReference( App::DocumentObject *obj, const std::string &ref, const char *newLabel) const { if(ref.size()<=2) - return ExpressionPtr(); + return {}; std::vector labels; for(auto &v : getIdentifiers()) v.first.getDepLabels(labels); @@ -1061,7 +1061,7 @@ ExpressionPtr Expression::updateLabelReference( return ExpressionPtr(expr); } } - return ExpressionPtr(); + return {}; } class ReplaceObjectExpressionVisitor : public ExpressionVisitor { @@ -1097,7 +1097,7 @@ ExpressionPtr Expression::replaceObject(const DocumentObject *parent, const_cast(this)->visit(v); if(v.paths.empty()) - return ExpressionPtr(); + return {}; // Now make a copy and do the actual replacement auto expr = copy(); @@ -1757,6 +1757,7 @@ FunctionExpression::FunctionExpression(const DocumentObject *_owner, Function _f case TAN: case TANH: case TRUNC: + case VNORMALIZE: if (args.size() != 1) ARGUMENT_THROW("exactly one required."); break; @@ -1774,6 +1775,12 @@ FunctionExpression::FunctionExpression(const DocumentObject *_owner, Function _f case MROTATEY: case MROTATEZ: case POW: + case VANGLE: + case VCROSS: + case VDOT: + case VSCALEX: + case VSCALEY: + case VSCALEZ: if (args.size() != 2) ARGUMENT_THROW("exactly two required."); break; @@ -1793,9 +1800,18 @@ FunctionExpression::FunctionExpression(const DocumentObject *_owner, Function _f ARGUMENT_THROW("exactly two, three, or four required."); break; case VECTOR: + case VLINEDIST: + case VLINESEGDIST: + case VLINEPROJ: + case VPLANEDIST: + case VPLANEPROJ: if (args.size() != 3) ARGUMENT_THROW("exactly three required."); break; + case VSCALE: + if (args.size() != 4) + ARGUMENT_THROW("exactly four required."); + break; case MATRIX: if (args.size() > 16) ARGUMENT_THROW("exactly 16 or less required."); @@ -1855,7 +1871,7 @@ bool FunctionExpression::isTouched() const class Collector { public: - Collector() : first(true) { } + Collector() = default; virtual ~Collector() = default; virtual void collect(Quantity value) { if (first) @@ -1865,7 +1881,7 @@ public: return q; } protected: - bool first; + bool first{true}; Quantity q; }; @@ -1883,7 +1899,7 @@ public: class AverageCollector : public Collector { public: - AverageCollector() : Collector(), n(0) { } + AverageCollector() : Collector() { } void collect(Quantity value) override { Collector::collect(value); @@ -1895,12 +1911,12 @@ public: Quantity getQuantity() const override { return q/(double)n; } private: - unsigned int n; + unsigned int n{0}; }; class StdDevCollector : public Collector { public: - StdDevCollector() : Collector(), n(0) { } + StdDevCollector() : Collector() { } void collect(Quantity value) override { Collector::collect(value); @@ -1925,14 +1941,14 @@ public: } private: - unsigned int n; + unsigned int n{0}; Quantity mean; Quantity M2; }; class CountCollector : public Collector { public: - CountCollector() : Collector(), n(0) { } + CountCollector() : Collector() { } void collect(Quantity value) override { Collector::collect(value); @@ -1943,7 +1959,7 @@ public: Quantity getQuantity() const override { return Quantity(n); } private: - unsigned int n; + unsigned int n{0}; }; class MinCollector : public Collector { @@ -2101,6 +2117,36 @@ Py::Object FunctionExpression::translationMatrix(double x, double y, double z) return Py::asObject(new Base::MatrixPy(matrix)); } +double FunctionExpression::extractLengthValueArgument( + const Expression *expression, + const std::vector &arguments, + int argumentIndex +) +{ + Quantity argumentQuantity = pyToQuantity(arguments[argumentIndex]->getPyValue(), expression); + + if (!(argumentQuantity.isDimensionlessOrUnit(Unit::Length))) { + _EXPR_THROW("Unit must be either empty or a length.", expression); + } + + return argumentQuantity.getValue(); +} + +Base::Vector3d FunctionExpression::extractVectorArgument( + const Expression *expression, + const std::vector &arguments, + int argumentIndex +) +{ + Py::Object argument = arguments[argumentIndex]->getPyValue(); + + if (!PyObject_TypeCheck(argument.ptr(), &Base::VectorPy::Type)) { + _EXPR_THROW("Argument must be a vector.", expression); + } + + return static_cast(argument.ptr())->value(); +} + Py::Object FunctionExpression::evaluate(const Expression *expr, int f, const std::vector &args) { if(!expr || !expr->getOwner()) @@ -2268,6 +2314,76 @@ Py::Object FunctionExpression::evaluate(const Expression *expr, int f, const std case HIDDENREF: case HREF: return args[0]->getPyValue(); + case VANGLE: + case VCROSS: + case VDOT: + case VLINEDIST: + case VLINESEGDIST: + case VLINEPROJ: + case VNORMALIZE: + case VPLANEDIST: + case VPLANEPROJ: + case VSCALE: + case VSCALEX: + case VSCALEY: + case VSCALEZ: { + Base::Vector3d vector1 = extractVectorArgument(expr, args, 0); + + switch (f) { + case VNORMALIZE: + return Py::asObject(new Base::VectorPy(vector1.Normalize())); + case VSCALE: { + double scaleX = extractLengthValueArgument(expr, args, 1); + double scaleY = extractLengthValueArgument(expr, args, 2); + double scaleZ = extractLengthValueArgument(expr, args, 3); + vector1.Scale(scaleX, scaleY, scaleZ); + return Py::asObject(new Base::VectorPy(vector1)); + } + case VSCALEX: { + double scaleX = extractLengthValueArgument(expr, args, 1); + vector1.ScaleX(scaleX); + return Py::asObject(new Base::VectorPy(vector1)); + } + case VSCALEY: { + double scaleY = extractLengthValueArgument(expr, args, 1); + vector1.ScaleY(scaleY); + return Py::asObject(new Base::VectorPy(vector1)); + } + case VSCALEZ: { + double scaleZ = extractLengthValueArgument(expr, args, 1); + vector1.ScaleZ(scaleZ); + return Py::asObject(new Base::VectorPy(vector1)); + } + } + + Base::Vector3d vector2 = extractVectorArgument(expr, args, 1); + + switch (f) { + case VANGLE: + return Py::asObject(new QuantityPy(new Quantity(vector1.GetAngle(vector2) * 180 / M_PI, Unit::Angle))); + case VCROSS: + return Py::asObject(new Base::VectorPy(vector1.Cross(vector2))); + case VDOT: + return Py::Float(vector1.Dot(vector2)); + } + + Base::Vector3d vector3 = extractVectorArgument(expr, args, 2); + + switch (f) { + case VLINEDIST: + return Py::asObject(new QuantityPy(new Quantity(vector1.DistanceToLine(vector2, vector3), Unit::Length))); + case VLINESEGDIST: + return Py::asObject(new Base::VectorPy(vector1.DistanceToLineSegment(vector2, vector3))); + case VLINEPROJ: + vector1.ProjectToLine(vector2, vector3); + return Py::asObject(new Base::VectorPy(vector1)); + case VPLANEDIST: + return Py::asObject(new QuantityPy(new Quantity(vector1.DistanceToPlane(vector2, vector3), Unit::Length))); + case VPLANEPROJ: + vector1.ProjectToPlane(vector2, vector3); + return Py::asObject(new Base::VectorPy(vector1)); + } + } } Py::Object e1 = args[0]->getPyValue(); @@ -2545,8 +2661,8 @@ Expression *FunctionExpression::simplify() const std::vector a; // Try to simplify each argument to function - for (auto it = args.begin(); it != args.end(); ++it) { - Expression * v = (*it)->simplify(); + for (auto it : args) { + Expression * v = it->simplify(); if (freecad_dynamic_cast(v)) ++numerics; @@ -2557,8 +2673,8 @@ Expression *FunctionExpression::simplify() const // All constants, then evaluation must also be constant // Clean-up - for (auto it = args.begin(); it != args.end(); ++it) - delete *it; + for (auto it : args) + delete it; return eval(); } @@ -2623,6 +2739,32 @@ void FunctionExpression::_toString(std::ostream &ss, bool persistent,int) const ss << "tanh("; break;; case TRUNC: ss << "trunc("; break;; + case VANGLE: + ss << "vangle("; break;; + case VCROSS: + ss << "vcross("; break;; + case VDOT: + ss << "vdot("; break;; + case VLINEDIST: + ss << "vlinedist("; break;; + case VLINESEGDIST: + ss << "vlinesegdist("; break;; + case VLINEPROJ: + ss << "vlineproj("; break;; + case VNORMALIZE: + ss << "vnormalize("; break;; + case VPLANEDIST: + ss << "vplanedist("; break;; + case VPLANEPROJ: + ss << "vplaneproj("; break;; + case VSCALE: + ss << "vscale("; break;; + case VSCALEX: + ss << "vscalex("; break;; + case VSCALEY: + ss << "vscaley("; break;; + case VSCALEZ: + ss << "vscalez("; break;; case MINVERT: ss << "minvert("; break;; case MROTATE: @@ -2885,17 +3027,28 @@ bool VariableExpression::_updateElementReference( } bool VariableExpression::_renameObjectIdentifier( - const std::map &paths, - const ObjectIdentifier &path, ExpressionVisitor &v) + const std::map& paths, + const ObjectIdentifier& path, + ExpressionVisitor& visitor) { - const auto &oldPath = var.canonicalPath(); + const auto& oldPath = var.canonicalPath(); auto it = paths.find(oldPath); if (it != paths.end()) { - v.aboutToChange(); - if(path.getOwner()) + visitor.aboutToChange(); + const bool originalHasDocumentObjectName = var.hasDocumentObjectName(); + ObjectIdentifier::String originalDocumentObjectName = var.getDocumentObjectName(); + std::string originalSubObjectName = var.getSubObjectName(); + if (path.getOwner()) { var = it->second.relativeTo(path); - else + } + else { var = it->second; + } + if (originalHasDocumentObjectName) { + var.setDocumentObjectName(std::move(originalDocumentObjectName), + true, + originalSubObjectName); + } return true; } return false; @@ -3495,6 +3648,19 @@ static void initParser(const App::DocumentObject *owner) registered_functions["tan"] = FunctionExpression::TAN; registered_functions["tanh"] = FunctionExpression::TANH; registered_functions["trunc"] = FunctionExpression::TRUNC; + registered_functions["vangle"] = FunctionExpression::VANGLE; + registered_functions["vcross"] = FunctionExpression::VCROSS; + registered_functions["vdot"] = FunctionExpression::VDOT; + registered_functions["vlinedist"] = FunctionExpression::VLINEDIST; + registered_functions["vlinesegdist"] = FunctionExpression::VLINESEGDIST; + registered_functions["vlineproj"] = FunctionExpression::VLINEPROJ; + registered_functions["vnormalize"] = FunctionExpression::VNORMALIZE; + registered_functions["vplanedist"] = FunctionExpression::VPLANEDIST; + registered_functions["vplaneproj"] = FunctionExpression::VPLANEPROJ; + registered_functions["vscale"] = FunctionExpression::VSCALE; + registered_functions["vscalex"] = FunctionExpression::VSCALEX; + registered_functions["vscaley"] = FunctionExpression::VSCALEY; + registered_functions["vscalez"] = FunctionExpression::VSCALEZ; registered_functions["minvert"] = FunctionExpression::MINVERT; registered_functions["mrotate"] = FunctionExpression::MROTATE; diff --git a/src/App/Expression.h b/src/App/Expression.h index c70d348278..78f1edb1c5 100644 --- a/src/App/Expression.h +++ b/src/App/Expression.h @@ -84,7 +84,6 @@ public: : prop(_prop) , propLink(Base::freecad_dynamic_cast(&prop)) , signaller(_prop,false) - , _changed(0) {} ~ExpressionModifier() override = default; @@ -104,7 +103,7 @@ protected: P & prop; App::PropertyLinkBase *propLink; typename AtomicPropertyChangeInterface

::AtomicPropertyChange signaller; - int _changed; + int _changed{0}; }; /** diff --git a/src/App/ExpressionParser.h b/src/App/ExpressionParser.h index c985093435..3e3b282bbe 100644 --- a/src/App/ExpressionParser.h +++ b/src/App/ExpressionParser.h @@ -271,6 +271,21 @@ public: TANH, TRUNC, + // Vector + VANGLE, + VCROSS, + VDOT, + VLINEDIST, + VLINESEGDIST, + VLINEPROJ, + VNORMALIZE, + VPLANEDIST, + VPLANEPROJ, + VSCALE, + VSCALEX, + VSCALEY, + VSCALEZ, + // Matrix MINVERT, // invert matrix/placement/rotation MROTATE, // Rotate matrix/placement/rotation around axis, by rotation object, or by euler angles. @@ -328,6 +343,8 @@ public: protected: static Py::Object evalAggregate(const Expression *owner, int type, const std::vector &args); static Base::Vector3d evaluateSecondVectorArgument(const Expression *expression, const std::vector &arguments); + static double extractLengthValueArgument(const Expression *expression, const std::vector &arguments, int argumentIndex); + static Base::Vector3d extractVectorArgument(const Expression *expression, const std::vector &arguments, int argumentIndex); static void initialiseObject(const Py::Object *object, const std::vector &arguments, const unsigned long offset = 0); static Py::Object transformFirstArgument( const Expression *expression, @@ -505,12 +522,12 @@ public: Base::Quantity scaler; std::string unitStr; } quantity; - Expression::Component *component; - Expression * expr; + Expression::Component *component{nullptr}; + Expression * expr{nullptr}; ObjectIdentifier path; std::deque components; - long long int ivalue; - double fvalue; + long long int ivalue{0}; + double fvalue{0}; struct { const char *name = ""; double fvalue = 0; @@ -520,8 +537,7 @@ public: std::string string; std::pair func; ObjectIdentifier::String string_or_identifier; - semantic_type() : component(nullptr), expr(nullptr), ivalue(0), fvalue(0) - , func({FunctionExpression::NONE, std::string()}) {} + semantic_type() : func({FunctionExpression::NONE, std::string()}) {} }; #define YYSTYPE semantic_type diff --git a/src/App/ExpressionTokenizer.cpp b/src/App/ExpressionTokenizer.cpp index db311214cf..fde06ce208 100644 --- a/src/App/ExpressionTokenizer.cpp +++ b/src/App/ExpressionTokenizer.cpp @@ -67,7 +67,7 @@ QString ExpressionTokenizer::perform(const QString& prefix, int pos) // No tokens if (tokens.empty()) { - return QString(); + return {}; } prefixEnd = prefix.size(); @@ -114,7 +114,7 @@ QString ExpressionTokenizer::perform(const QString& prefix, int pos) if (!stringing && !prefix.isEmpty() && prefixEnd > 0 && prefixEnd <= prefix.size() && prefix[prefixEnd-1] == QChar(32)) { - return QString(); + return {}; } if (!stringing) { diff --git a/src/App/Extension.cpp b/src/App/Extension.cpp index ce0991f042..5c392a9b51 100644 --- a/src/App/Extension.cpp +++ b/src/App/Extension.cpp @@ -52,10 +52,6 @@ void App::Extension::init(){ using namespace App; -Extension::Extension() -{ -} - Extension::~Extension() { if (!ExtensionPythonObject.is(Py::_None())){ @@ -113,12 +109,9 @@ std::string Extension::name() const { if (pos != std::string::npos) return temp.substr(pos+1); - else - return std::string(); + return {}; } - - Property* Extension::extensionGetPropertyByName(const char* name) const { return extensionGetPropertyData().getPropertyByName(this, name); diff --git a/src/App/Extension.h b/src/App/Extension.h index d667d35900..f9251e249c 100644 --- a/src/App/Extension.h +++ b/src/App/Extension.h @@ -228,7 +228,7 @@ class AppExport Extension public: - Extension(); + Extension() = default; virtual ~Extension(); virtual void initExtension(App::ExtensionContainer* obj); diff --git a/src/App/ExtensionContainerPyImp.cpp b/src/App/ExtensionContainerPyImp.cpp index 2ddb0b4cca..3a22b9c906 100644 --- a/src/App/ExtensionContainerPyImp.cpp +++ b/src/App/ExtensionContainerPyImp.cpp @@ -38,7 +38,7 @@ using namespace App; // returns a string which represent the object e.g. when printed in python std::string ExtensionContainerPy::representation() const { - return std::string(""); + return {""}; } int ExtensionContainerPy::initialization() { diff --git a/src/App/ExtensionPyImp.cpp b/src/App/ExtensionPyImp.cpp index 113d8cf427..b57bcb73a2 100644 --- a/src/App/ExtensionPyImp.cpp +++ b/src/App/ExtensionPyImp.cpp @@ -34,7 +34,7 @@ using namespace App; // returns a string which represent the object e.g. when printed in python std::string ExtensionPy::representation() const { - return std::string(""); + return {""}; } PyObject *ExtensionPy::getCustomAttributes(const char* /*attr*/) const diff --git a/src/App/FeaturePython.cpp b/src/App/FeaturePython.cpp index 25c34f1111..aa6553a2fe 100644 --- a/src/App/FeaturePython.cpp +++ b/src/App/FeaturePython.cpp @@ -38,7 +38,7 @@ using namespace App; FeaturePythonImp::FeaturePythonImp(App::DocumentObject* o) - : object(o), has__object__(false) + : object(o) { } @@ -480,7 +480,7 @@ std::string FeaturePythonImp::getViewProviderName() e.ReportException(); } - return std::string(); + return {}; } FeaturePythonImp::ValueT diff --git a/src/App/FeaturePython.h b/src/App/FeaturePython.h index eb9c22f0c6..144d1f73ed 100644 --- a/src/App/FeaturePython.h +++ b/src/App/FeaturePython.h @@ -86,7 +86,7 @@ public: private: App::DocumentObject* object; - bool has__object__; + bool has__object__{false}; #define FC_PY_FEATURE_PYTHON \ FC_PY_ELEMENT(execute)\ diff --git a/src/App/GeoFeatureGroupExtension.cpp b/src/App/GeoFeatureGroupExtension.cpp index 4ed7683ebd..e884254350 100644 --- a/src/App/GeoFeatureGroupExtension.cpp +++ b/src/App/GeoFeatureGroupExtension.cpp @@ -235,7 +235,7 @@ void GeoFeatureGroupExtension::extensionOnChanged(const Property* p) { std::vector< DocumentObject* > GeoFeatureGroupExtension::getScopedObjectsFromLinks(const DocumentObject* obj, LinkScope scope) { if(!obj) - return std::vector< DocumentObject* >(); + return {}; //we get all linked objects. We can't use outList() as this includes the links from expressions std::vector< App::DocumentObject* > result; @@ -256,7 +256,7 @@ std::vector< DocumentObject* > GeoFeatureGroupExtension::getScopedObjectsFromLin std::vector< DocumentObject* > GeoFeatureGroupExtension::getScopedObjectsFromLink(App::Property* prop, LinkScope scope) { if(!prop) - return std::vector< DocumentObject* >(); + return {}; std::vector< App::DocumentObject* > result; auto link = Base::freecad_dynamic_cast(prop); @@ -321,7 +321,7 @@ void GeoFeatureGroupExtension::getCSInList(const DocumentObject* obj, std::vector< DocumentObject* > GeoFeatureGroupExtension::getCSRelevantLinks(const DocumentObject* obj) { if(!obj) - return std::vector< DocumentObject* >(); + return {}; //get all out links std::vector vec; diff --git a/src/App/GeoFeatureGroupExtensionPyImp.cpp b/src/App/GeoFeatureGroupExtensionPyImp.cpp index 884886af51..6a27200f32 100644 --- a/src/App/GeoFeatureGroupExtensionPyImp.cpp +++ b/src/App/GeoFeatureGroupExtensionPyImp.cpp @@ -33,10 +33,9 @@ using namespace App; // returns a string which represents the object e.g. when printed in python std::string GeoFeatureGroupExtensionPy::representation() const { - return std::string(""); + return {""}; } - PyObject *GeoFeatureGroupExtensionPy::getCustomAttributes(const char* /*attr*/) const { return nullptr; diff --git a/src/App/GeoFeaturePy.xml b/src/App/GeoFeaturePy.xml index b1d0da998f..83726bf70a 100644 --- a/src/App/GeoFeaturePy.xml +++ b/src/App/GeoFeaturePy.xml @@ -11,7 +11,8 @@ FatherNamespace="App"> - App.GeoFeature class.\n + App.GeoFeature class. + Base class of all geometric document objects. This class does the whole placement and position handling. With the method `getPropertyOfGeometry` is possible to obtain @@ -20,14 +21,16 @@ to any particular property name. - getPaths()\n + getPaths() + Returns all possible paths to the root of the document. Note: Not implemented. - getGlobalPlacement() -> Base.Placement\n + getGlobalPlacement() -> Base.Placement + Returns the placement of the object in the global coordinate space, respecting all stacked relationships. Note: This function is not available during recompute, as there the placements of parents @@ -36,7 +39,8 @@ can change after the execution of this object, rendering the result wrong. - getPropertyNameOfGeometry() -> str or None\n + getPropertyNameOfGeometry() -> str or None + Returns the property name of the actual geometry. For example for a Part feature it returns the value 'Shape', for a mesh feature the value 'Mesh' and so on. @@ -45,7 +49,8 @@ If an object has no such property then None is returned. - getPropertyOfGeometry() -> object or None\n + getPropertyOfGeometry() -> object or None + Returns the property of the actual geometry. For example for a Part feature it returns its Shape property, for a Mesh feature its Mesh property and so on. diff --git a/src/App/GeoFeaturePyImp.cpp b/src/App/GeoFeaturePyImp.cpp index 0041db6f1d..ec2af688df 100644 --- a/src/App/GeoFeaturePyImp.cpp +++ b/src/App/GeoFeaturePyImp.cpp @@ -34,7 +34,7 @@ using namespace App; // returns a string which represents the object e.g. when printed in python std::string GeoFeaturePy::representation() const { - return std::string(""); + return {""}; } PyObject* GeoFeaturePy::getPaths(PyObject * /*args*/) diff --git a/src/App/Graphviz.cpp b/src/App/Graphviz.cpp index 54adb66928..181c8e61ae 100644 --- a/src/App/Graphviz.cpp +++ b/src/App/Graphviz.cpp @@ -94,7 +94,7 @@ void Document::exportGraphviz(std::ostream& out) const class GraphCreator { public: - explicit GraphCreator(struct DocumentP* _d) : d(_d), vertex_no(0), seed(std::random_device()()), distribution(0,255) { + explicit GraphCreator(struct DocumentP* _d) : d(_d), seed(std::random_device()()), distribution(0,255) { build(); } @@ -132,7 +132,7 @@ void Document::exportGraphviz(std::ostream& out) const std::string getId(const ObjectIdentifier & path) { DocumentObject * docObj = path.getDocumentObject(); if (!docObj) - return std::string(); + return {}; return std::string((docObj)->getDocument()->getName()) + "#" + docObj->getNameInDocument() + "." + path.getPropertyName() + path.getSubPathStr(); } @@ -399,18 +399,18 @@ void Document::exportGraphviz(std::ostream& out) const } // Internal document objects - for (auto It = d->objectMap.begin(); It != d->objectMap.end();++It) - addExpressionSubgraphIfNeeded(It->second, CSSubgraphs); + for (const auto & It : d->objectMap) + addExpressionSubgraphIfNeeded(It.second, CSSubgraphs); // Add external document objects - for (auto It = d->objectMap.begin(); It != d->objectMap.end();++It) { - std::vector OutList = It->second->getOutList(); - for (std::vector::const_iterator It2=OutList.begin();It2!=OutList.end();++It2) { - if (*It2) { - std::map::const_iterator item = GlobalVertexList.find(getId(*It2)); + for (const auto & it : d->objectMap) { + std::vector OutList = it.second->getOutList(); + for (auto obj : OutList) { + if (obj) { + std::map::const_iterator item = GlobalVertexList.find(getId(obj)); if (item == GlobalVertexList.end()) - addExpressionSubgraphIfNeeded(*It2, CSSubgraphs); + addExpressionSubgraphIfNeeded(obj, CSSubgraphs); } } } @@ -424,20 +424,20 @@ void Document::exportGraphviz(std::ostream& out) const bool CSSubgraphs = depGrp->GetBool("GeoFeatureSubgraphs", true); // Add internal document objects - for (auto It = d->objectMap.begin(); It != d->objectMap.end();++It) - add(It->second, It->second->getNameInDocument(), It->second->Label.getValue(), CSSubgraphs); + for (const auto & It : d->objectMap) + add(It.second, It.second->getNameInDocument(), It.second->Label.getValue(), CSSubgraphs); // Add external document objects - for (auto It = d->objectMap.begin(); It != d->objectMap.end();++It) { - std::vector OutList = It->second->getOutList(); - for (std::vector::const_iterator It2=OutList.begin();It2!=OutList.end();++It2) { - if (*It2) { - std::map::const_iterator item = GlobalVertexList.find(getId(*It2)); + for (const auto & It : d->objectMap) { + std::vector OutList = It.second->getOutList(); + for (auto obj : OutList) { + if (obj) { + std::map::const_iterator item = GlobalVertexList.find(getId(obj)); if (item == GlobalVertexList.end()) - add(*It2, - std::string((*It2)->getDocument()->getName()) + "#" + (*It2)->getNameInDocument(), - std::string((*It2)->getDocument()->getName()) + "#" + (*It2)->Label.getValue(), + add(obj, + std::string(obj->getDocument()->getName()) + "#" + obj->getNameInDocument(), + std::string(obj->getDocument()->getName()) + "#" + obj->Label.getValue(), CSSubgraphs); } } @@ -484,60 +484,58 @@ void Document::exportGraphviz(std::ostream& out) const bool omitGeoFeatureGroups = depGrp->GetBool("GeoFeatureSubgraphs", true); // Add edges between document objects - for (auto It = d->objectMap.begin(); It != d->objectMap.end();++It) { + for (const auto & It : d->objectMap) { if(omitGeoFeatureGroups) { //coordinate systems are represented by subgraphs - if(It->second->hasExtension(GeoFeatureGroupExtension::getExtensionClassTypeId())) + if(It.second->hasExtension(GeoFeatureGroupExtension::getExtensionClassTypeId())) continue; //as well as origins - if(It->second->isDerivedFrom(Origin::getClassTypeId())) + if(It.second->isDerivedFrom(Origin::getClassTypeId())) continue; } std::map dups; - std::vector OutList = It->second->getOutList(); - const DocumentObject * docObj = It->second; + std::vector OutList = It.second->getOutList(); + const DocumentObject * docObj = It.second; - for (std::vector::const_iterator It2=OutList.begin();It2!=OutList.end();++It2) { - if (*It2) { + for (auto obj : OutList) { + if (obj) { // Count duplicate edges - bool inserted = edge(GlobalVertexList[getId(docObj)], GlobalVertexList[getId(*It2)], DepList).second; + bool inserted = edge(GlobalVertexList[getId(docObj)], GlobalVertexList[getId(obj)], DepList).second; if (inserted) { - dups[*It2]++; + dups[obj]++; continue; } // Skip edge if an expression edge already exists - if (existingEdges.find(std::make_pair(docObj, *It2)) != existingEdges.end()) + if (existingEdges.find(std::make_pair(docObj, obj)) != existingEdges.end()) continue; // Add edge Edge edge; - tie(edge, inserted) = add_edge(GlobalVertexList[getId(docObj)], GlobalVertexList[getId(*It2)], DepList); + tie(edge, inserted) = add_edge(GlobalVertexList[getId(docObj)], GlobalVertexList[getId(obj)], DepList); // Set properties to make arrows go between subgraphs if needed if (GraphList[docObj]) edgeAttrMap[edge]["ltail"] = getClusterName(docObj); - if (GraphList[*It2]) - edgeAttrMap[edge]["lhead"] = getClusterName(*It2); + if (GraphList[obj]) + edgeAttrMap[edge]["lhead"] = getClusterName(obj); } } // Set labels for duplicate edges - for (std::map::const_iterator It2 = dups.begin(); It2 != dups.end(); ++It2) { - Edge e(edge(GlobalVertexList[getId(It->second)], GlobalVertexList[getId(It2->first)], DepList).first); + for (const auto & dup : dups) { + Edge e(edge(GlobalVertexList[getId(It.second)], GlobalVertexList[getId(dup.first)], DepList).first); std::stringstream s; - s << " " << (It2->second + 1) << "x"; + s << " " << (dup.second + 1) << "x"; edgeAttrMap[e]["label"] = s.str(); } - } - } using EdgeMap = std::unordered_multimap; @@ -632,8 +630,8 @@ void Document::exportGraphviz(std::ostream& out) const // Update colors in graph const boost::property_map::type& edgeAttrMap = boost::get(boost::edge_attribute, DepList); - for (auto ei = out_edges.begin(), ei_end = out_edges.end(); ei != ei_end; ++ei) - edgeAttrMap[ei->second]["color"] = "red"; + for (auto ei : out_edges) + edgeAttrMap[ei.second]["color"] = "red"; } #if defined(__clang__) @@ -660,7 +658,7 @@ void Document::exportGraphviz(std::ostream& out) const const struct DocumentP* d; Graph DepList; - int vertex_no; + int vertex_no{0}; std::map LocalVertexList; std::map GlobalVertexList; std::set objects; diff --git a/src/App/GroupExtension.cpp b/src/App/GroupExtension.cpp index 87e827cae2..47369a1ff6 100644 --- a/src/App/GroupExtension.cpp +++ b/src/App/GroupExtension.cpp @@ -268,9 +268,9 @@ std::vector GroupExtension::getObjectsOfType(const Base::Type& { std::vector type; const std::vector& grp = Group.getValues(); - for (std::vector::const_iterator it = grp.begin(); it != grp.end(); ++it) { - if ( (*it)->getTypeId().isDerivedFrom(typeId)) - type.push_back(*it); + for (auto it : grp) { + if (it->getTypeId().isDerivedFrom(typeId)) + type.push_back(it); } return type; @@ -280,8 +280,8 @@ int GroupExtension::countObjectsOfType(const Base::Type& typeId) const { int type=0; const std::vector& grp = Group.getValues(); - for (std::vector::const_iterator it = grp.begin(); it != grp.end(); ++it) { - if ( (*it)->getTypeId().isDerivedFrom(typeId)) + for (auto it : grp) { + if ( it->getTypeId().isDerivedFrom(typeId)) type++; } diff --git a/src/App/GroupExtensionPyImp.cpp b/src/App/GroupExtensionPyImp.cpp index 62d4aea805..4b89fb7ae3 100644 --- a/src/App/GroupExtensionPyImp.cpp +++ b/src/App/GroupExtensionPyImp.cpp @@ -36,7 +36,7 @@ using namespace App; // returns a string which represent the object e.g. when printed in python std::string GroupExtensionPy::representation() const { - return std::string(""); + return {""}; } PyObject* GroupExtensionPy::newObject(PyObject *args) diff --git a/src/App/ImagePlane.cpp b/src/App/ImagePlane.cpp index 1e9574a05d..9d8b8133ba 100644 --- a/src/App/ImagePlane.cpp +++ b/src/App/ImagePlane.cpp @@ -31,8 +31,6 @@ PROPERTY_SOURCE(Image::ImagePlane, App::GeoFeature) ImagePlane::ImagePlane() - : XPixelsPerMeter{1000.0} - , YPixelsPerMeter{1000.0} { ADD_PROPERTY_TYPE( ImageFile,(nullptr) , "ImagePlane",App::Prop_None,"File of the image"); ADD_PROPERTY_TYPE( XSize, (100), "ImagePlane",App::Prop_None,"Size of a pixel in X"); diff --git a/src/App/ImagePlane.h b/src/App/ImagePlane.h index 5588af408b..4afffe1d9c 100644 --- a/src/App/ImagePlane.h +++ b/src/App/ImagePlane.h @@ -48,8 +48,8 @@ public: void setXSizeInPixel(int); void setYSizeInPixel(int); - double XPixelsPerMeter; - double YPixelsPerMeter; + double XPixelsPerMeter{1000.0}; + double YPixelsPerMeter{1000.0}; /// returns the type name of the ViewProvider const char* getViewProviderName() const override { diff --git a/src/App/Link.cpp b/src/App/Link.cpp index d2859600d0..3350a4fa5b 100644 --- a/src/App/Link.cpp +++ b/src/App/Link.cpp @@ -81,8 +81,7 @@ public: } // Auto generated code. See class document of LinkParams. - ~LinkParamsP() override { - } + ~LinkParamsP() override = default; // Auto generated code. See class document of LinkParams. void OnChange(Base::Subject &, const char* sReason) override { @@ -149,7 +148,6 @@ void LinkParams::removeCopyOnChangeApplyToAll() { EXTENSION_PROPERTY_SOURCE(App::LinkBaseExtension, App::DocumentObjectExtension) LinkBaseExtension::LinkBaseExtension() - :enableLabelCache(false),hasOldSubElement(false),hasCopyOnChange(true) { initExtensionType(LinkBaseExtension::getExtensionClassTypeId()); EXTENSION_ADD_PROPERTY_TYPE(_LinkTouched, (false), " Link", @@ -162,10 +160,6 @@ LinkBaseExtension::LinkBaseExtension() props.resize(PropMax,nullptr); } -LinkBaseExtension::~LinkBaseExtension() -{ -} - PyObject* LinkBaseExtension::getExtensionPyObject() { if (ExtensionPythonObject.is(Py::_None())){ // ref counter is set to 1 @@ -583,8 +577,8 @@ void LinkBaseExtension::syncCopyOnChange() // the mutated object. The reason for doing so is that we are copying from // the original linked object and its dependency, not the mutated objects // which are old copies. There could be arbitrary changes in the originals - // which may add or remove or change dependending orders, while the - // replacement happen between the new and old copies. + // which may add or remove or change depending orders, while the + // replacement happens between the new and old copies. std::map newObjs; for (auto obj : copiedObjs) { @@ -1615,8 +1609,8 @@ void LinkBaseExtension::update(App::DocumentObject *parent, const Property *prop placements.reserve(objs.size()); std::vector scales; scales.reserve(objs.size()); - for(size_t i=0;i(objs[i]); + for(auto obj : objs) { + auto element = freecad_dynamic_cast(obj); if(element) { placements.push_back(element->Placement.getValue()); scales.push_back(element->getScaleVector()); @@ -1887,8 +1881,8 @@ void LinkBaseExtension::syncElementList() { auto owner = getContainer(); auto ownerID = owner?owner->getID():0; auto elements = getElementListValue(); - for (size_t i = 0; i < elements.size(); ++i) { - auto element = freecad_dynamic_cast(elements[i]); + for (auto i : elements) { + auto element = freecad_dynamic_cast(i); if (!element || (element->_LinkOwner.getValue() && element->_LinkOwner.getValue() != ownerID)) @@ -2235,10 +2229,6 @@ LinkExtension::LinkExtension() LINK_PROPS_ADD_EXTENSION(LINK_PARAMS_EXT); } -LinkExtension::~LinkExtension() -{ -} - /////////////////////////////////////////////////////////////////////////////////////////// namespace App { diff --git a/src/App/Link.h b/src/App/Link.h index 37a9154d01..606fc3f3e4 100644 --- a/src/App/Link.h +++ b/src/App/Link.h @@ -55,7 +55,7 @@ class AppExport LinkBaseExtension : public App::DocumentObjectExtension public: LinkBaseExtension(); - ~LinkBaseExtension() override; + ~LinkBaseExtension() override = default; PropertyBool _LinkTouched; PropertyInteger _LinkOwner; @@ -385,12 +385,12 @@ protected: long prevLinkedObjectID = 0; mutable std::unordered_map myLabelCache; // for label based subname lookup - mutable bool enableLabelCache; - bool hasOldSubElement; + mutable bool enableLabelCache{false}; + bool hasOldSubElement{false}; std::vector copyOnChangeConns; std::vector copyOnChangeSrcConns; - bool hasCopyOnChange; + bool hasCopyOnChange{true}; mutable bool checkingProperty = false; bool pauseCopyOnChange = false; @@ -411,7 +411,7 @@ class AppExport LinkExtension : public LinkBaseExtension public: LinkExtension(); - ~LinkExtension() override; + ~LinkExtension() override = default; /** \name Helpers for defining extended parameter * diff --git a/src/App/LinkBaseExtensionPyImp.cpp b/src/App/LinkBaseExtensionPyImp.cpp index 77098254e6..10819f2901 100644 --- a/src/App/LinkBaseExtensionPyImp.cpp +++ b/src/App/LinkBaseExtensionPyImp.cpp @@ -185,10 +185,10 @@ PyObject* LinkBaseExtensionPy::getLinkPropertyInfo(PyObject *args) char *name; if(PyArg_ParseTuple(args,"s",&name)) { - for(int i=0;i<(int)infos.size();++i) { - if(strcmp(infos[i].name,name)==0) { - Py::TupleN ret(Py::String(infos[i].type.getName()), - Py::String(infos[i].doc)); + for(const auto & info : infos) { + if(strcmp(info.name,name)==0) { + Py::TupleN ret(Py::String(info.type.getName()), + Py::String(info.doc)); return Py::new_reference_to(ret); } } diff --git a/src/App/Material.cpp b/src/App/Material.cpp index d45a628e31..3b5b95da1f 100644 --- a/src/App/Material.cpp +++ b/src/App/Material.cpp @@ -57,10 +57,6 @@ Material::Material(const MaterialType MatType) setType(MatType); } -Material::~Material() -{ -} - void Material::set(const char* MatName) { if (strcmp("Brass",MatName) == 0 ) { diff --git a/src/App/Material.h b/src/App/Material.h index c2e60a6753..fb4297257c 100644 --- a/src/App/Material.h +++ b/src/App/Material.h @@ -73,7 +73,6 @@ public: /** Does basically the same as the constructor above unless that it accepts a MaterialType as argument. */ explicit Material(const MaterialType MatType); //@} - ~Material(); /** Set a material by name * There are some standard materials defined which are: diff --git a/src/App/MaterialObject.cpp b/src/App/MaterialObject.cpp index 5a8bbb3f7e..60c4f2ee1e 100644 --- a/src/App/MaterialObject.cpp +++ b/src/App/MaterialObject.cpp @@ -37,10 +37,6 @@ MaterialObject::MaterialObject() } -MaterialObject::~MaterialObject() -{ -} - // Python feature --------------------------------------------------------- namespace App { diff --git a/src/App/MaterialObject.h b/src/App/MaterialObject.h index 8a1aafbf54..177a35764e 100644 --- a/src/App/MaterialObject.h +++ b/src/App/MaterialObject.h @@ -38,7 +38,6 @@ class AppExport MaterialObject : public DocumentObject public: /// Constructor MaterialObject(); - ~MaterialObject() override; App::PropertyMap Material; diff --git a/src/App/MaterialPyImp.cpp b/src/App/MaterialPyImp.cpp index 41a3600505..1cff45cd24 100644 --- a/src/App/MaterialPyImp.cpp +++ b/src/App/MaterialPyImp.cpp @@ -26,6 +26,7 @@ // inclusion of the generated files (generated out of MaterialPy.xml) #include "MaterialPy.h" #include "MaterialPy.cpp" +#include using namespace App; @@ -44,11 +45,13 @@ int MaterialPy::PyInit(PyObject* args, PyObject* kwds) PyObject* emissive = nullptr; PyObject* shininess = nullptr; PyObject* transparency = nullptr; - static char* kwds_colors[] = { "DiffuseColor", "AmbientColor", "SpecularColor", "EmissiveColor", "Shininess", "Transparency", nullptr }; + static const std::array kwds_colors{"DiffuseColor", "AmbientColor", "SpecularColor", + "EmissiveColor", "Shininess", "Transparency", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|OOOOOO", kwds_colors, - &diffuse, &ambient, &specular, &emissive, &shininess, &transparency)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|OOOOOO", kwds_colors, + &diffuse, &ambient, &specular, &emissive, &shininess, &transparency)) { return -1; + } if (diffuse) { setDiffuseColor(Py::Tuple(diffuse)); @@ -80,7 +83,7 @@ int MaterialPy::PyInit(PyObject* args, PyObject* kwds) // returns a string which represents the object e.g. when printed in python std::string MaterialPy::representation() const { - return std::string(""); + return {""}; } PyObject* MaterialPy::set(PyObject * args) diff --git a/src/App/MergeDocuments.cpp b/src/App/MergeDocuments.cpp index d80c7bdb0d..10453b163f 100644 --- a/src/App/MergeDocuments.cpp +++ b/src/App/MergeDocuments.cpp @@ -71,7 +71,8 @@ private: }; } -MergeDocuments::MergeDocuments(App::Document* doc) : guiup(false), verbose(true), stream(nullptr), appdoc(doc) +MergeDocuments::MergeDocuments(App::Document* doc) + : appdoc(doc) { //NOLINTBEGIN connectExport = doc->signalExportObjects.connect diff --git a/src/App/MergeDocuments.h b/src/App/MergeDocuments.h index cdcae9308e..f1cd31ec97 100644 --- a/src/App/MergeDocuments.h +++ b/src/App/MergeDocuments.h @@ -53,10 +53,10 @@ public: const std::map &getNameMap() const {return nameMap;} private: - bool guiup; - bool verbose; - zipios::ZipInputStream* stream; - App::Document* appdoc; + bool guiup{false}; + bool verbose{true}; + zipios::ZipInputStream* stream{nullptr}; + App::Document* appdoc{nullptr}; std::vector objects; std::map nameMap; using Connection = boost::signals2::connection; diff --git a/src/App/Metadata.cpp b/src/App/Metadata.cpp index 785413960f..5bf2dbb23b 100644 --- a/src/App/Metadata.cpp +++ b/src/App/Metadata.cpp @@ -1120,11 +1120,7 @@ bool App::Meta::Dependency::operator==(const Dependency& rhs) const && dependencyType == rhs.dependencyType; } -Meta::Version::Version() - : major(0), - minor(0), - patch(0) -{} +Meta::Version::Version() = default; Meta::Version::Version(int major, int minor, int patch, std::string suffix) : major(major), @@ -1134,9 +1130,6 @@ Meta::Version::Version(int major, int minor, int patch, std::string suffix) {} Meta::Version::Version(const std::string& versionString) - : major(0), - minor(0), - patch(0) { std::istringstream stream(versionString); char separator {'.'}; diff --git a/src/App/Metadata.h b/src/App/Metadata.h index a741c19b2c..ff30828ce4 100644 --- a/src/App/Metadata.h +++ b/src/App/Metadata.h @@ -107,8 +107,8 @@ struct AppExport Version { explicit Version(const std::string& semanticString); int major{}; - int minor; - int patch; + int minor{}; + int patch{}; std::string suffix; std::string str() const; diff --git a/src/App/MetadataPy.xml b/src/App/MetadataPy.xml index 0d31aca4b9..081b16ed54 100644 --- a/src/App/MetadataPy.xml +++ b/src/App/MetadataPy.xml @@ -17,21 +17,29 @@ - App.Metadata class.\n + App.Metadata class. + A Metadata object reads an XML-formatted package metadata file and provides -read and write access to its contents.\n -The following constructors are supported:\n +read and write access to its contents. + +The following constructors are supported: + Metadata() -Empty constructor.\n +Empty constructor. + Metadata(metadata) Copy constructor. -metadata : App.Metadata\n +metadata : App.Metadata + Metadata(file) Reads the XML file and provides access to the metadata it specifies. -file : str\n XML file name.\n +file : str + XML file name. + Metadata(bytes) Treats the bytes as UTF-8-encoded XML data and provides access to the metadata it specifies. -bytes : bytes\n Python bytes-like object. +bytes : bytes + Python bytes-like object. Metadata @@ -203,7 +211,8 @@ If unset it will be 0.0.0. - getLastSupportedFreeCADVersion() -> str or None\n + getLastSupportedFreeCADVersion() -> str or None + Search through all content package items, and determine if a maximum supported version of FreeCAD is set. Returns None if no maximum version is set, or if *any* content item fails to @@ -214,7 +223,8 @@ known versions). - getFirstSupportedFreeCADVersion() -> str or None\n + getFirstSupportedFreeCADVersion() -> str or None + Search through all content package items, and determine if a minimum supported version of FreeCAD is set. Returns 0.0 if no minimum version is set, or if *any* content item fails to @@ -226,7 +236,8 @@ the metadata standard was added then). - supportsCurrentFreeCAD() -> bool\n + supportsCurrentFreeCAD() -> bool + Returns False if this metadata object directly indicates that it does not support the current version of FreeCAD, or True if it makes no indication, or specifically indicates that it does support the current version. Does not @@ -236,7 +247,8 @@ recurse into Content items. - getGenericMetadata(name) -> list\n + getGenericMetadata(name) -> list + Get the list of GenericMetadata objects with key 'name'. Generic metadata objects are Python objects with a string 'contents' and a dictionary of strings, 'attributes'. They represent unrecognized simple XML tags @@ -246,151 +258,176 @@ in the metadata file. - addContentItem(content_type,metadata)\n + addContentItem(content_type,metadata) + Add a new content item of type 'content_type' with metadata 'metadata'. - removeContentItem(content_type,name)\n + removeContentItem(content_type,name) + Remove the content item of type 'content_type' with name 'name'. - addMaintainer(name, email)\n + addMaintainer(name, email) + Add a new Maintainer. - removeMaintainer(name, email)\n + removeMaintainer(name, email) + Remove the Maintainer. - addLicense(short_code,path)\n + addLicense(short_code,path) + Add a new License. - removeLicense(short_code)\n + removeLicense(short_code) + Remove the License. - addUrl(url_type,url,branch)\n -Add a new Url or type 'url_type' (which should be one of 'repository', 'readme',\n -'bugtracker', 'documentation', or 'webpage') If type is 'repository' you\n + addUrl(url_type,url,branch) + +Add a new Url or type 'url_type' (which should be one of 'repository', 'readme', + +'bugtracker', 'documentation', or 'webpage') If type is 'repository' you + must also specify the 'branch' parameter. - removeUrl(url_type,url)\n + removeUrl(url_type,url) + Remove the Url. - addAuthor(name, email)\n + addAuthor(name, email) + Add a new Author with name 'name', and optionally email 'email'. - removeAuthor(name, email)\n + removeAuthor(name, email) + Remove the Author. - addDepend(name, kind, optional)\n -Add a new Dependency on package 'name' of kind 'kind' (optional, one of 'auto' (the default),\n + addDepend(name, kind, optional) + +Add a new Dependency on package 'name' of kind 'kind' (optional, one of 'auto' (the default), + 'internal', 'addon', or 'python'). - removeDepend(name, kind)\n -Remove the Dependency on package 'name' of kind 'kind' (optional - if unspecified any\n + removeDepend(name, kind) + +Remove the Dependency on package 'name' of kind 'kind' (optional - if unspecified any + matching name is removed). - addConflict(name, kind)\n + addConflict(name, kind) + Add a new Conflict. See documentation for addDepend(). - removeConflict(name, kind)\n + removeConflict(name, kind) + Remove the Conflict. See documentation for removeDepend(). - addReplace(name)\n + addReplace(name) + Add a new Replace. - removeReplace(name)\n + removeReplace(name) + Remove the Replace. - addTag(tag)\n + addTag(tag) + Add a new Tag. - removeTag(tag)\n + removeTag(tag) + Remove the Tag. - addFile(filename)\n + addFile(filename) + Add a new File. - removeFile(filename)\n + removeFile(filename) + Remove the File. - write(filename)\n + write(filename) + Write the metadata to the given file as XML data. diff --git a/src/App/ObjectIdentifier.cpp b/src/App/ObjectIdentifier.cpp index 22b9c03191..09ae446063 100644 --- a/src/App/ObjectIdentifier.cpp +++ b/src/App/ObjectIdentifier.cpp @@ -374,13 +374,13 @@ const std::string &ObjectIdentifier::toString() const std::string ObjectIdentifier::toPersistentString() const { if(!owner) - return std::string(); + return {}; std::ostringstream s; ResolveResults result(*this); if(result.propertyIndex >= (int)components.size()) - return std::string(); + return {}; if(localProperty || (result.resolvedProperty && @@ -852,14 +852,14 @@ App::DocumentObject * ObjectIdentifier::getDocumentObject(const App::Document * } std::vector docObjects = doc->getObjects(); - for (std::vector::iterator j = docObjects.begin(); j != docObjects.end(); ++j) { - if (strcmp((*j)->Label.getValue(), static_cast(name)) == 0) { + for (auto docObject : docObjects) { + if (strcmp(docObject->Label.getValue(), static_cast(name)) == 0) { // Found object with matching label if (objectByLabel) { FC_WARN("duplicate object label " << doc->getName() << '#' << static_cast(name)); return nullptr; } - objectByLabel = *j; + objectByLabel = docObject; } } @@ -1030,14 +1030,14 @@ Document * ObjectIdentifier::getDocument(String name, bool *ambiguous) const App::Document * docByLabel = nullptr; const std::vector docs = App::GetApplication().getDocuments(); - for (std::vector::const_iterator i = docs.begin(); i != docs.end(); ++i) { - if ((*i)->Label.getValue() == name.getString()) { + for (auto doc : docs) { + if (doc->Label.getValue() == name.getString()) { /* Multiple hits for same label? */ if (docByLabel) { if(ambiguous) *ambiguous = true; return nullptr; } - docByLabel = *i; + docByLabel = doc; } } @@ -1776,7 +1776,7 @@ App::any ObjectIdentifier::getValue(bool pathValue, bool *isPseudoProperty) cons }catch(Py::Exception &) { Base::PyException::ThrowException(); } - return App::any(); + return {}; } Py::Object ObjectIdentifier::getPyValue(bool pathValue, bool *isPseudoProperty) const @@ -1968,15 +1968,7 @@ void ObjectIdentifier::resolveAmbiguity(ResolveResults &result) { */ ObjectIdentifier::ResolveResults::ResolveResults(const ObjectIdentifier &oi) - : propertyIndex(0) - , resolvedDocument(nullptr) - , resolvedDocumentName() - , resolvedDocumentObject(nullptr) - , resolvedDocumentObjectName() - , resolvedSubObject(nullptr) - , resolvedProperty(nullptr) - , propertyName() - , propertyType(PseudoNone) + : propertyType(PseudoNone) { oi.resolve(*this); } diff --git a/src/App/ObjectIdentifier.h b/src/App/ObjectIdentifier.h index 2b3c2c5498..2ad34d5d19 100644 --- a/src/App/ObjectIdentifier.h +++ b/src/App/ObjectIdentifier.h @@ -448,16 +448,16 @@ protected: explicit ResolveResults(const ObjectIdentifier & oi); - int propertyIndex; - App::Document * resolvedDocument; + int propertyIndex{0}; + App::Document * resolvedDocument{nullptr}; String resolvedDocumentName; - App::DocumentObject * resolvedDocumentObject; + App::DocumentObject * resolvedDocumentObject{nullptr}; String resolvedDocumentObjectName; String subObjectName; - App::DocumentObject * resolvedSubObject; - App::Property * resolvedProperty; + App::DocumentObject * resolvedSubObject{nullptr}; + App::Property * resolvedProperty{nullptr}; std::string propertyName; - int propertyType; + int propertyType{0}; std::bitset<32> flags; std::string resolveErrorString() const; diff --git a/src/App/OriginGroupExtensionPyImp.cpp b/src/App/OriginGroupExtensionPyImp.cpp index 4eedc185a8..a7fc7c3870 100644 --- a/src/App/OriginGroupExtensionPyImp.cpp +++ b/src/App/OriginGroupExtensionPyImp.cpp @@ -32,7 +32,7 @@ using namespace App; // returns a string which represents the object e.g. when printed in python std::string OriginGroupExtensionPy::representation() const { - return std::string(""); + return {""}; } PyObject *OriginGroupExtensionPy::getCustomAttributes(const char* /*attr*/) const diff --git a/src/App/PartPyImp.cpp b/src/App/PartPyImp.cpp index 6fd5228b51..e595a18c82 100644 --- a/src/App/PartPyImp.cpp +++ b/src/App/PartPyImp.cpp @@ -32,7 +32,7 @@ using namespace App; // returns a string which represents the object e.g. when printed in python std::string PartPy::representation() const { - return std::string(""); + return {""}; } PyObject *PartPy::getCustomAttributes(const char* /*attr*/) const diff --git a/src/App/Property.cpp b/src/App/Property.cpp index edc9b1502e..a8bb121723 100644 --- a/src/App/Property.cpp +++ b/src/App/Property.cpp @@ -54,7 +54,7 @@ static std::atomic _PropID; // Here is the implementation! Description should take place in the header file! Property::Property() - :father(nullptr), myName(nullptr), _id(++_PropID) + : _id(++_PropID) { } diff --git a/src/App/Property.h b/src/App/Property.h index a64dc8fe6e..8957956124 100644 --- a/src/App/Property.h +++ b/src/App/Property.h @@ -286,17 +286,18 @@ protected: /// Verify a path for the current property virtual void verifyPath(const App::ObjectIdentifier & p) const; -private: +public: // forbidden - Property(const Property&); - Property& operator = (const Property&); + Property(const Property&) = delete; + Property& operator = (const Property&) = delete; +private: // Sync status with Property_Type void syncType(unsigned type); private: - PropertyContainer *father; - const char *myName; + PropertyContainer *father{nullptr}; + const char *myName{nullptr}; int64_t _id; public: @@ -333,7 +334,7 @@ public: */ template class AtomicPropertyChangeInterface { protected: - AtomicPropertyChangeInterface() : signalCounter(0), hasChanged(false) { } + AtomicPropertyChangeInterface() = default; public: class AtomicPropertyChange { @@ -408,8 +409,8 @@ public: }; protected: - int signalCounter; /**< Counter for invoking transaction start/stop */ - bool hasChanged; + int signalCounter{0}; /**< Counter for invoking transaction start/stop */ + bool hasChanged{false}; }; diff --git a/src/App/PropertyContainer.cpp b/src/App/PropertyContainer.cpp index 5d5ee8dd2e..5812d3578d 100644 --- a/src/App/PropertyContainer.cpp +++ b/src/App/PropertyContainer.cpp @@ -107,8 +107,8 @@ void PropertyContainer::setPropertyStatus(unsigned char bit,bool value) { std::vector List; getPropertyList(List); - for(std::vector::const_iterator it=List.begin();it!=List.end();++it) - (**it).StatusBits.set(bit,value); + for(auto it : List) + it->StatusBits.set(bit,value); } short PropertyContainer::getPropertyType(const Property* prop) const @@ -277,21 +277,21 @@ void PropertyContainer::Save (Base::Writer &writer) const writer.decInd(); // Now store normal properties - for (auto it = Map.begin(); it != Map.end(); ++it) + for (const auto& it : Map) { writer.incInd(); // indentation for 'Property name' - writer.Stream() << writer.ind() << "first << "\" type=\"" - << it->second->getTypeId().getName(); + writer.Stream() << writer.ind() << "getTypeId().getName(); - dynamicProps.save(it->second,writer); + dynamicProps.save(it.second,writer); - auto status = it->second->getStatus(); + auto status = it.second->getStatus(); if(status) writer.Stream() << "\" status=\"" << status; writer.Stream() << "\">"; - if(it->second->testStatus(Property::Transient) - || it->second->getType() & Prop_Transient) + if(it.second->testStatus(Property::Transient) + || it.second->getType() & Prop_Transient) { writer.decInd(); writer.Stream() << "" << std::endl; @@ -306,7 +306,7 @@ void PropertyContainer::Save (Base::Writer &writer) const // We must make sure to handle all exceptions accordingly so that // the project file doesn't get invalidated. In the error case this // means to proceed instead of aborting the write operation. - it->second->Save(writer); + it.second->Save(writer); } catch (const Base::Exception &e) { Base::Console().Error("%s\n", e.what()); diff --git a/src/App/PropertyContainer.h b/src/App/PropertyContainer.h index d49b8a8e76..f9c6e91c4f 100644 --- a/src/App/PropertyContainer.h +++ b/src/App/PropertyContainer.h @@ -168,7 +168,7 @@ public: unsigned int getMemSize () const override; - virtual std::string getFullName() const {return std::string();} + virtual std::string getFullName() const {return {};} /// find a property by its name virtual Property *getPropertyByName(const char* name) const; @@ -261,10 +261,10 @@ protected: virtual void handleChangedPropertyName(Base::DocumentReader &reader, const char * TypeName, const char *PropName); virtual void handleChangedPropertyType(Base::DocumentReader &reader, const char * TypeName, Property * prop); -private: +public: // forbidden - PropertyContainer(const PropertyContainer&); - PropertyContainer& operator = (const PropertyContainer&); + PropertyContainer(const PropertyContainer&) = delete; + PropertyContainer& operator = (const PropertyContainer&) = delete; void readProperty(Base::DocumentReader &reader,XERCES_CPP_NAMESPACE_QUALIFIER DOMElement *PropertyDOM); protected: @@ -310,7 +310,7 @@ private: \ TYPESYSTEM_HEADER_WITH_OVERRIDE(); \ protected: \ static const App::PropertyData * getPropertyDataPtr(void); \ - virtual const App::PropertyData &getPropertyData(void) const override; \ + const App::PropertyData &getPropertyData(void) const override; \ private: \ static App::PropertyData propertyData /// diff --git a/src/App/PropertyContainerPy.xml b/src/App/PropertyContainerPy.xml index b0243a1346..3ededf7d54 100644 --- a/src/App/PropertyContainerPy.xml +++ b/src/App/PropertyContainerPy.xml @@ -16,130 +16,182 @@ - getPropertyByName(name, checkOwner=0) -> object or Tuple\n + getPropertyByName(name, checkOwner=0) -> object or Tuple + Returns the value of a named property. Note that the returned property may not -always belong to this container (e.g. from a linked object).\n -name : str\n Name of the property. -checkOwner : int\n 0: just return the property. +always belong to this container (e.g. from a linked object). + +name : str + Name of the property. +checkOwner : int + 0: just return the property. 1: raise exception if not found or the property does not belong to this container. 2: return a tuple (owner, propertyValue). - getPropertyTouchList(name) -> tuple\n -Returns a list of index of touched values for list type properties.\n -name : str\n Property name. + getPropertyTouchList(name) -> tuple + +Returns a list of index of touched values for list type properties. + +name : str + Property name. - getTypeOfProperty(name) -> list\n + getTypeOfProperty(name) -> list + Returns the type of a named property. This can be a list conformed by elements in -(Hidden, NoRecompute, NoPersist, Output, ReadOnly, Transient).\n -name : str\n Property name. +(Hidden, NoRecompute, NoPersist, Output, ReadOnly, Transient). + +name : str + Property name. - getTypeIdOfProperty(name) -> str\n -Returns the C++ class name of a named property.\n -name : str\n Property name. + getTypeIdOfProperty(name) -> str + +Returns the C++ class name of a named property. + +name : str + Property name. - setEditorMode(name, type) -> None\n -Set the behaviour of the property in the property editor.\n -name : str\n Property name. -type : int, sequence of str\n Property type. + setEditorMode(name, type) -> None + +Set the behaviour of the property in the property editor. + +name : str + Property name. +type : int, sequence of str + Property type. 0: default behaviour. 1: item is ready-only. 2: item is hidden. 3: item is hidden and read-only. If sequence, the available items are 'ReadOnly' and 'Hidden'. - getEditorMode(name) -> list\n + getEditorMode(name) -> list + Get the behaviour of the property in the property editor. It returns a list of strings with the current mode. If the list is empty there are no special restrictions. If the list contains 'ReadOnly' then the item appears in the property editor but is disabled. -If the list contains 'Hidden' then the item even doesn't appear in the property editor.\n -name : str\n Property name. +If the list contains 'Hidden' then the item even doesn't appear in the property editor. + +name : str + Property name. - getGroupOfProperty(name) -> str\n + getGroupOfProperty(name) -> str + Returns the name of the group which the property belongs to in this class. -The properties are sorted in different named groups for convenience.\n -name : str\n Property name. +The properties are sorted in different named groups for convenience. + +name : str + Property name. - setGroupOfProperty(name, group) -> None\n -Set the name of the group of a dynamic property.\n -name : str\n Property name. -group : str\n Group name. + setGroupOfProperty(name, group) -> None + +Set the name of the group of a dynamic property. + +name : str + Property name. +group : str + Group name. - setPropertyStatus(name, val) -> None\n -Set property status.\n -name : str\n Property name. -val : int, str, sequence of str or int\n Call getPropertyStatus() to get a list of supported text value. + setPropertyStatus(name, val) -> None + +Set property status. + +name : str + Property name. +val : int, str, sequence of str or int + Call getPropertyStatus() to get a list of supported text value. If the text start with '-' or the integer value is negative, then the status is cleared. - getPropertyStatus(name='') -> list\n -Get property status.\n -name : str\n Property name. If empty, returns a list of supported text names of the status. + getPropertyStatus(name='') -> list + +Get property status. + +name : str + Property name. If empty, returns a list of supported text names of the status. - getDocumentationOfProperty(name) -> str\n -Returns the documentation string of the property of this class.\n -name : str\n Property name. + getDocumentationOfProperty(name) -> str + +Returns the documentation string of the property of this class. + +name : str + Property name. - setDocumentationOfProperty(name, docstring) -> None\n -Set the documentation string of a dynamic property of this class.\n -name : str\n Property name. -docstring : str\n Documentation string. + setDocumentationOfProperty(name, docstring) -> None + +Set the documentation string of a dynamic property of this class. + +name : str + Property name. +docstring : str + Documentation string. - getEnumerationsOfProperty(name) -> list or None\n + getEnumerationsOfProperty(name) -> list or None + Return all enumeration strings of the property of this class or None if not a -PropertyEnumeration.\n -name : str\n Property name. +PropertyEnumeration. + +name : str + Property name. - dumpPropertyContent(Property, Compression=3) -> bytearray\n + dumpPropertyContent(Property, Compression=3) -> bytearray + Dumps the content of the property, both the XML representation and the additional -data files required, into a byte representation.\n -Property : str\n Property Name. -Compression : int\n Set the data compression level in the range [0, 9]. Set to 0 for no compression. +data files required, into a byte representation. + +Property : str + Property Name. +Compression : int + Set the data compression level in the range [0, 9]. Set to 0 for no compression. - restorePropertyContent(name, obj) -> None\n + restorePropertyContent(name, obj) -> None + Restore the content of the object from a byte representation as stored by `dumpPropertyContent`. -It could be restored from any Python object implementing the buffer protocol.\n -name : str\n Property name. -obj : buffer\n Object with buffer protocol support. +It could be restored from any Python object implementing the buffer protocol. + +name : str + Property name. +obj : buffer + Object with buffer protocol support. diff --git a/src/App/PropertyContainerPyImp.cpp b/src/App/PropertyContainerPyImp.cpp index bf22e85127..657ca5b72a 100644 --- a/src/App/PropertyContainerPyImp.cpp +++ b/src/App/PropertyContainerPyImp.cpp @@ -30,6 +30,7 @@ #include "PropertyContainer.h" #include "Property.h" #include "DocumentObject.h" +#include #include #include @@ -45,7 +46,7 @@ using namespace App; // returns a string which represent the object e.g. when printed in python std::string PropertyContainerPy::representation() const { - return std::string(""); + return {""}; } PyObject* PropertyContainerPy::getPropertyByName(PyObject *args) @@ -442,8 +443,8 @@ PyObject* PropertyContainerPy::getEnumerationsOfProperty(PyObject *args) std::vector enumerations = enumProp->getEnumVector(); Py::List ret; - for (std::vector::const_iterator it = enumerations.begin(); it != enumerations.end(); ++it) { - ret.append(Py::String(*it)); + for (const auto & it : enumerations) { + ret.append(Py::String(it)); } return Py::new_reference_to(ret); } @@ -466,10 +467,11 @@ PyObject* PropertyContainerPy::dumpPropertyContent(PyObject *args, PyObject *kwd { int compression = 3; const char* property; - static char* kwds_def[] = {"Property", "Compression", nullptr}; + static const std::array kwds_def {"Property", "Compression", nullptr}; PyErr_Clear(); - if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|i", kwds_def, &property, &compression)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "s|i", kwds_def, &property, &compression)) { return nullptr; + } Property* prop = getPropertyContainerPtr()->getPropertyByName(property); if (!prop) { @@ -583,8 +585,8 @@ PyObject *PropertyContainerPy::getCustomAttributes(const char* attr) const getPropertyContainerPtr()->getPropertyMap(Map); Py::Dict dict; - for (std::map::iterator it = Map.begin(); it != Map.end(); ++it) { - dict.setItem(it->first, Py::String("")); + for (const auto & it : Map) { + dict.setItem(it.first, Py::String("")); } return Py::new_reference_to(dict); } diff --git a/src/App/PropertyExpressionEngine.cpp b/src/App/PropertyExpressionEngine.cpp index 8844d00a6d..4c3dcc8554 100644 --- a/src/App/PropertyExpressionEngine.cpp +++ b/src/App/PropertyExpressionEngine.cpp @@ -87,8 +87,7 @@ TYPESYSTEM_SOURCE(App::PropertyExpressionEngine , App::PropertyExpressionContain */ PropertyExpressionEngine::PropertyExpressionEngine() - : running(false) - , validator(0) + : validator(0) { } @@ -115,11 +114,11 @@ Property *PropertyExpressionEngine::Copy() const { PropertyExpressionEngine * engine = new PropertyExpressionEngine(); - for (ExpressionMap::const_iterator it = expressions.begin(); it != expressions.end(); ++it) { + for (const auto & it : expressions) { ExpressionInfo info; - if (it->second.expression) - info.expression = std::shared_ptr(it->second.expression->copy()); - engine->expressions[it->first] = info; + if (it.second.expression) + info.expression = std::shared_ptr(it.second.expression->copy()); + engine->expressions[it.first] = info; } engine->validator = validator; @@ -274,15 +273,15 @@ void PropertyExpressionEngine::Save(Base::Writer &writer) const writer.incInd(); PropertyExpressionContainer::Save(writer); } - for (ExpressionMap::const_iterator it = expressions.begin(); it != expressions.end(); ++it) { + for (const auto & it : expressions) { std::string expression, comment; - if (it->second.expression) { - expression = it->second.expression->toString(true); - comment = it->second.expression->comment; + if (it.second.expression) { + expression = it.second.expression->toString(true); + comment = it.second.expression->comment; } writer.Stream() << writer.ind() << "first.toString()) <<"\" expression=\"" + << Property::encodeAttribute(it.first.toString()) <<"\" expression=\"" << Property::encodeAttribute(expression) << "\""; if (!comment.empty()) writer.Stream() << " comment=\"" @@ -535,9 +534,9 @@ void PropertyExpressionEngine::buildGraph(const ExpressionMap & exprs, std::vector edges; // Build data structure for graph - for (ExpressionMap::const_iterator it = exprs.begin(); it != exprs.end(); ++it) { + for (const auto & expr : exprs) { if(option!=ExecuteAll) { - auto prop = it->first.getProperty(); + auto prop = expr.first.getProperty(); if(!prop) throw Base::RuntimeError("Path does not resolve to a property."); bool is_output = prop->testStatus(App::Property::Output)||(prop->getType()&App::Prop_Output); @@ -549,15 +548,15 @@ void PropertyExpressionEngine::buildGraph(const ExpressionMap & exprs, && !prop->testStatus(Property::EvalOnRestore)) continue; } - buildGraphStructures(it->first, it->second.expression, nodes, revNodes, edges); + buildGraphStructures(expr.first, expr.second.expression, nodes, revNodes, edges); } // Create graph g = DiGraph(nodes.size()); // Add edges to graph - for (std::vector::const_iterator i = edges.begin(); i != edges.end(); ++i) - add_edge(i->first, i->second, g); + for (const auto & edge : edges) + add_edge(edge.first, edge.second, g); // Check for cycles bool has_cycle = false; @@ -590,11 +589,11 @@ std::vector PropertyExpressionEngine::computeEvaluationOr std::vector c; topological_sort(g, std::back_inserter(c)); - for (std::vector::iterator i = c.begin(); i != c.end(); ++i) { + for (int i : c) { // we return the evaluation order for our properties, not the dependencies // the topo sort will contain node ids for both our props and their deps - if (revNodes.find(*i) != revNodes.end()) - evaluationOrder.push_back(revNodes[*i]); + if (revNodes.find(i) != revNodes.end()) + evaluationOrder.push_back(revNodes[i]); } return evaluationOrder; @@ -811,7 +810,7 @@ std::string PropertyExpressionEngine::validateExpression(const ObjectIdentifier return e.what(); } - return std::string(); + return {}; } /** @@ -825,8 +824,8 @@ void PropertyExpressionEngine::renameExpressions(const std::map canonicalPaths; /* ensure input map uses canonical paths */ - for (std::map::const_iterator i = paths.begin(); i != paths.end(); ++i) - canonicalPaths[canonicalPath(i->first)] = i->second; + for (const auto & path : paths) + canonicalPaths[canonicalPath(path.first)] = path.second; for (ExpressionMap::const_iterator i = expressions.begin(); i != expressions.end(); ++i) { std::map::const_iterator j = canonicalPaths.find(i->first); @@ -853,19 +852,19 @@ void PropertyExpressionEngine::renameExpressions(const std::map &paths) { - for (ExpressionMap::iterator it = expressions.begin(); it != expressions.end(); ++it) { - RenameObjectIdentifierExpressionVisitor v(*this, paths, it->first); - it->second.expression->visit(v); + for (const auto & it : expressions) { + RenameObjectIdentifierExpressionVisitor v(*this, paths, it.first); + it.second.expression->visit(v); } } PyObject *PropertyExpressionEngine::getPyObject() { Py::List list; - for (ExpressionMap::const_iterator it = expressions.begin(); it != expressions.end(); ++it) { + for (const auto & it : expressions) { Py::Tuple tuple(2); - tuple.setItem(0, Py::String(it->first.toString())); - auto expr = it->second.expression; + tuple.setItem(0, Py::String(it.first.toString())); + auto expr = it.second.expression; tuple.setItem(1, expr ? Py::String(expr->toString()) : Py::None()); list.append(tuple); } diff --git a/src/App/PropertyExpressionEngine.h b/src/App/PropertyExpressionEngine.h index 2689eb3303..094e1056ea 100644 --- a/src/App/PropertyExpressionEngine.h +++ b/src/App/PropertyExpressionEngine.h @@ -92,16 +92,9 @@ public: this->busy = false; } - ExpressionInfo(const ExpressionInfo & other) { - expression = other.expression; - busy = other.busy; - } + ExpressionInfo(const ExpressionInfo &) = default; - ExpressionInfo & operator=(const ExpressionInfo & other) { - expression = other.expression; - busy = other.busy; - return *this; - } + ExpressionInfo & operator=(const ExpressionInfo &) = default; }; PropertyExpressionEngine(); @@ -199,7 +192,7 @@ private: void slotChangedProperty(const App::DocumentObject &obj, const App::Property &prop); void updateHiddenReference(const std::string &key); - bool running; /**< Boolean used to avoid loops */ + bool running = false; /**< Boolean used to avoid loops */ bool restoring = false; ExpressionMap expressions; /**< Stored expressions */ diff --git a/src/App/PropertyGeo.cpp b/src/App/PropertyGeo.cpp index 9bccd9847e..01cced5580 100644 --- a/src/App/PropertyGeo.cpp +++ b/src/App/PropertyGeo.cpp @@ -333,15 +333,15 @@ void PropertyVectorList::SaveDocFile (Base::Writer &writer) const uint32_t uCt = (uint32_t)getSize(); str << uCt; if (!isSinglePrecision()) { - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << it->x << it->y << it->z; + for (const auto & it : _lValueList) { + str << it.x << it.y << it.z; } } else { - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - float x = (float)it->x; - float y = (float)it->y; - float z = (float)it->z; + for (const auto & it : _lValueList) { + float x = (float)it.x; + float y = (float)it.y; + float z = (float)it.z; str << x << y << z; } } @@ -354,15 +354,15 @@ void PropertyVectorList::RestoreDocFile(Base::Reader &reader) str >> uCt; std::vector values(uCt); if (!isSinglePrecision()) { - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - str >> it->x >> it->y >> it->z; + for (auto & it : values) { + str >> it.x >> it.y >> it.z; } } else { float x,y,z; - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { + for (auto & it : values) { str >> x >> y >> z; - it->Set(x, y, z); + it.Set(x, y, z); } } setValues(values); @@ -933,20 +933,20 @@ void PropertyPlacementList::SaveDocFile (Base::Writer &writer) const uint32_t uCt = (uint32_t)getSize(); str << uCt; if (!isSinglePrecision()) { - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << it->getPosition().x << it->getPosition().y << it->getPosition().z - << it->getRotation()[0] << it->getRotation()[1] << it->getRotation()[2] << it->getRotation()[3] ; + for (const auto & it : _lValueList) { + str << it.getPosition().x << it.getPosition().y << it.getPosition().z + << it.getRotation()[0] << it.getRotation()[1] << it.getRotation()[2] << it.getRotation()[3] ; } } else { - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - float x = (float)it->getPosition().x; - float y = (float)it->getPosition().y; - float z = (float)it->getPosition().z; - float q0 = (float)it->getRotation()[0]; - float q1 = (float)it->getRotation()[1]; - float q2 = (float)it->getRotation()[2]; - float q3 = (float)it->getRotation()[3]; + for (const auto & it : _lValueList) { + float x = (float)it.getPosition().x; + float y = (float)it.getPosition().y; + float z = (float)it.getPosition().z; + float q0 = (float)it.getRotation()[0]; + float q1 = (float)it.getRotation()[1]; + float q2 = (float)it.getRotation()[2]; + float q3 = (float)it.getRotation()[3]; str << x << y << z << q0 << q1 << q2 << q3; } } @@ -959,23 +959,23 @@ void PropertyPlacementList::RestoreDocFile(Base::Reader &reader) str >> uCt; std::vector values(uCt); if (!isSinglePrecision()) { - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { + for (auto & it : values) { Base::Vector3d pos; double q0, q1, q2, q3; str >> pos.x >> pos.y >> pos.z >> q0 >> q1 >> q2 >> q3; Base::Rotation rot(q0,q1,q2,q3); - it->setPosition(pos); - it->setRotation(rot); + it.setPosition(pos); + it.setRotation(rot); } } else { float x,y,z,q0,q1,q2,q3; - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { + for (auto & it : values) { str >> x >> y >> z >> q0 >> q1 >> q2 >> q3; Base::Vector3d pos(x, y, z); Base::Rotation rot(q0,q1,q2,q3); - it->setPosition(pos); - it->setRotation(rot); + it.setPosition(pos); + it.setRotation(rot); } } setValues(values); diff --git a/src/App/PropertyGeo.h b/src/App/PropertyGeo.h index 9e17db026e..717d22c9e0 100644 --- a/src/App/PropertyGeo.h +++ b/src/App/PropertyGeo.h @@ -103,7 +103,7 @@ public: bool getPyPathValue(const ObjectIdentifier &path, Py::Object &res) const override; virtual Base::Unit getUnit() const { - return Base::Unit(); + return {}; } bool isSame(const Property &other) const override { diff --git a/src/App/PropertyLinks.cpp b/src/App/PropertyLinks.cpp index a4eb65a3b0..8b7325d3c3 100644 --- a/src/App/PropertyLinks.cpp +++ b/src/App/PropertyLinks.cpp @@ -147,7 +147,7 @@ std::string PropertyLinkBase::updateLabelReference(const App::DocumentObject *pa const char *subname, App::DocumentObject *obj, const std::string &ref, const char *newLabel) { if(!obj || !obj->getNameInDocument() || !parent || !parent->getNameInDocument()) - return std::string(); + return {}; // Because the label is allowed to be the same across different // hierarchies, we have to search for all occurrences, and make sure the @@ -162,7 +162,7 @@ std::string PropertyLinkBase::updateLabelReference(const App::DocumentObject *pa return sub; } } - return std::string(); + return {}; } std::vector > > @@ -192,7 +192,7 @@ PropertyLinkBase::updateLabelReferences(App::DocumentObject *obj, const char *ne static std::string propertyName(const Property *prop) { if(!prop) - return std::string(); + return {}; if(!prop->getContainer() || !prop->hasName()) { auto xlink = Base::freecad_dynamic_cast(prop); if(xlink) @@ -380,12 +380,7 @@ TYPESYSTEM_SOURCE(App::PropertyLinkHidden , App::PropertyLink) // Construction/Destruction -PropertyLink::PropertyLink() -:_pcLink(nullptr) -{ - -} - +PropertyLink::PropertyLink() = default; PropertyLink::~PropertyLink() { @@ -882,11 +877,7 @@ TYPESYSTEM_SOURCE(App::PropertyLinkSubHidden, App::PropertyLinkSub) // Construction/Destruction -PropertyLinkSub::PropertyLinkSub() - : _pcLinkSub(nullptr), _restoreLabel(false) -{ - -} +PropertyLinkSub::PropertyLinkSub() = default; PropertyLinkSub::~PropertyLinkSub() { @@ -983,9 +974,11 @@ std::vector PropertyLinkSub::getSubValuesStartsWith(const char* sta (void)newStyle; std::vector temp; - for(std::vector::const_iterator it=_cSubList.begin();it!=_cSubList.end();++it) - if(strncmp(starter,it->c_str(),strlen(starter))==0) - temp.push_back(*it); + for(const auto & it : _cSubList) { + if(strncmp(starter, it.c_str(), strlen(starter)) == 0) { + temp.push_back(it); + } + } return temp; } @@ -1161,7 +1154,7 @@ const char *PropertyLinkBase::exportSubName(std::string &output, if(!dot) return res; const char *hash; - for(hash=sub;hash &nameMap) { if(!doc || !obj || !obj->getNameInDocument()) - return std::string(); + return {}; std::ostringstream ss; std::string subname(_subname); @@ -1247,7 +1240,7 @@ std::string PropertyLinkBase::tryImportSubName(const App::DocumentObject *obj, c auto sobj = obj->getSubObject(subname.c_str()); if(!sobj) { FC_ERR("Failed to restore label reference " << obj->getFullName() << '.' << subname); - return std::string(); + return {}; } dot[0] = 0; if(next[0] == '$') { @@ -1271,7 +1264,7 @@ std::string PropertyLinkBase::tryImportSubName(const App::DocumentObject *obj, c } if(sub!=subname.c_str()) return ss.str(); - return std::string(); + return {}; } #define ATTR_SHADOWED "shadowed" @@ -1884,10 +1877,10 @@ DocumentObject *PropertyLinkSubList::getValue() const { App::DocumentObject* ret = nullptr; //FIXME: cache this to avoid iterating each time, to improve speed - for (std::size_t i = 0; i < this->_lValueList.size(); i++) { + for (auto i : this->_lValueList) { if (!ret) - ret = this->_lValueList[i]; - if (ret != this->_lValueList[i]) + ret = i; + if (ret != i) return nullptr; } return ret; @@ -1922,10 +1915,10 @@ void PropertyLinkSubList::setSubListValues(const std::vector links; std::vector subs; - for (std::vector::const_iterator it = values.begin(); it != values.end(); ++it) { - for (std::vector::const_iterator jt = it->second.begin(); jt != it->second.end(); ++jt) { - links.push_back(it->first); - subs.push_back(*jt); + for (const auto & value : values) { + for (const auto& jt : value.second) { + links.push_back(value.first); + subs.push_back(jt); } } @@ -2523,7 +2516,7 @@ public: DocInfoMap::iterator myPos; std::string myPath; - App::Document *pcDoc; + App::Document *pcDoc{nullptr}; std::set links; static std::string getDocPath( @@ -2635,12 +2628,6 @@ public: return myPath.c_str(); } - DocInfo() - :pcDoc(nullptr) - {} - - ~DocInfo() = default; - void deinit() { FC_LOG("deinit " << (pcDoc?pcDoc->getName():filePath())); assert(links.empty()); @@ -3706,9 +3693,11 @@ std::vector PropertyXLink::getSubValuesStartsWith(const char* start (void)newStyle; std::vector temp; - for(std::vector::const_iterator it=_SubList.begin();it!=_SubList.end();++it) - if(strncmp(starter,it->c_str(),strlen(starter))==0) - temp.push_back(*it); + for(const auto & it : _SubList) { + if(strncmp(starter, it.c_str(), strlen(starter)) == 0) { + temp.push_back(it); + } + } return temp; } diff --git a/src/App/PropertyLinks.h b/src/App/PropertyLinks.h index a305e94fda..7fc84bd22e 100644 --- a/src/App/PropertyLinks.h +++ b/src/App/PropertyLinks.h @@ -630,7 +630,7 @@ public: Property *CopyOnLinkReplace(const App::DocumentObject *parent, App::DocumentObject *oldObj, App::DocumentObject *newObj) const override; protected: - App::DocumentObject *_pcLink; + App::DocumentObject *_pcLink{nullptr}; }; /** The general Link Property with Child scope @@ -860,11 +860,11 @@ public: void setSyncSubObject(bool enable); protected: - App::DocumentObject* _pcLinkSub; + App::DocumentObject* _pcLinkSub{nullptr}; std::vector _cSubList; std::vector _ShadowSubList; std::vector _mapped; - bool _restoreLabel; + bool _restoreLabel{false}; }; /** The general Link Property with Child scope diff --git a/src/App/PropertyPythonObject.cpp b/src/App/PropertyPythonObject.cpp index 00618b8c12..1955e7f42c 100644 --- a/src/App/PropertyPythonObject.cpp +++ b/src/App/PropertyPythonObject.cpp @@ -184,19 +184,19 @@ void PropertyPythonObject::loadPickle(const std::string& str) std::string PropertyPythonObject::encodeValue(const std::string& str) const { std::string tmp; - for (std::string::const_iterator it = str.begin(); it != str.end(); ++it) { - if (*it == '<') + for (char it : str) { + if (it == '<') tmp += "<"; - else if (*it == '"') + else if (it == '"') tmp += """; - else if (*it == '&') + else if (it == '&') tmp += "&"; - else if (*it == '>') + else if (it == '>') tmp += ">"; - else if (*it == '\n') + else if (it == '\n') tmp += "\\n"; else - tmp += *it; + tmp += it; } return tmp; @@ -502,8 +502,8 @@ void PropertyPythonObject::Restore(Base::DocumentReader &reader,XERCES_CPP_NAMES void PropertyPythonObject::SaveDocFile (Base::Writer &writer) const { std::string buffer = this->toString(); - for (std::string::iterator it = buffer.begin(); it != buffer.end(); ++it) - writer.Stream().put(*it); + for (char it : buffer) + writer.Stream().put(it); } void PropertyPythonObject::RestoreDocFile(Base::Reader &reader) diff --git a/src/App/PropertyStandard.cpp b/src/App/PropertyStandard.cpp index 030d2b3463..3017cc89b8 100644 --- a/src/App/PropertyStandard.cpp +++ b/src/App/PropertyStandard.cpp @@ -419,8 +419,8 @@ void PropertyEnumeration::Save(Base::Writer &writer) const std::vector items = getEnumVector(); writer.Stream() << writer.ind() << "" << endl; writer.incInd(); - for(std::vector::iterator it = items.begin(); it != items.end(); ++it) { - std::string val = encodeAttribute(*it); + for(auto & item : items) { + std::string val = encodeAttribute(item); writer.Stream() << writer.ind() << "" << endl; } writer.decInd(); @@ -679,12 +679,7 @@ TYPESYSTEM_SOURCE(App::PropertyIntegerConstraint, App::PropertyInteger) // Construction/Destruction -PropertyIntegerConstraint::PropertyIntegerConstraint() - : _ConstStruct(nullptr) -{ - -} - +PropertyIntegerConstraint::PropertyIntegerConstraint() = default; PropertyIntegerConstraint::~PropertyIntegerConstraint() { @@ -947,8 +942,8 @@ void PropertyIntegerSet::setValues(const std::set& values) PyObject *PropertyIntegerSet::getPyObject() { PyObject* set = PySet_New(nullptr); - for(std::set::const_iterator it=_lValueSet.begin();it!=_lValueSet.end();++it) - PySet_Add(set,PyLong_FromLong(*it)); + for(long it : _lValueSet) + PySet_Add(set,PyLong_FromLong(it)); return set; } @@ -985,8 +980,8 @@ void PropertyIntegerSet::Save (Base::Writer &writer) const { writer.Stream() << writer.ind() << "" << endl; writer.incInd(); - for(std::set::const_iterator it=_lValueSet.begin();it!=_lValueSet.end();++it) - writer.Stream() << writer.ind() << "" << endl; ; + for(long it : _lValueSet) + writer.Stream() << writer.ind() << "" << endl; ; writer.decInd(); writer.Stream() << writer.ind() << "" << endl ; } @@ -1196,11 +1191,7 @@ TYPESYSTEM_SOURCE(App::PropertyFloatConstraint, App::PropertyFloat) // Construction/Destruction -PropertyFloatConstraint::PropertyFloatConstraint() - : _ConstStruct(nullptr) -{ - -} +PropertyFloatConstraint::PropertyFloatConstraint() = default; PropertyFloatConstraint::~PropertyFloatConstraint() { @@ -1418,13 +1409,13 @@ void PropertyFloatList::SaveDocFile (Base::Writer &writer) const uint32_t uCt = (uint32_t)getSize(); str << uCt; if (!isSinglePrecision()) { - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << *it; + for (double it : _lValueList) { + str << it; } } else { - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - float v = (float)*it; + for (double it : _lValueList) { + float v = static_cast(it); str << v; } } @@ -1437,15 +1428,15 @@ void PropertyFloatList::RestoreDocFile(Base::Reader &reader) str >> uCt; std::vector values(uCt); if (!isSinglePrecision()) { - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - str >> *it; + for (double & it : values) { + str >> it; } } else { - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { + for (double & it : values) { float val; str >> val; - (*it) = val; + it = val; } } setValues(values); @@ -2113,9 +2104,9 @@ void PropertyMap::setPyObject(PyObject *value) unsigned int PropertyMap::getMemSize () const { size_t size=0; - for (std::map::const_iterator it = _lValueList.begin();it!= _lValueList.end(); ++it) { - size += it->second.size(); - size += it->first.size(); + for (const auto & it : _lValueList) { + size += it.second.size(); + size += it.first.size(); } return size; } @@ -2124,9 +2115,9 @@ void PropertyMap::Save (Base::Writer &writer) const { writer.Stream() << writer.ind() << "" << endl; writer.incInd(); - for (std::map::const_iterator it = _lValueList.begin();it!= _lValueList.end(); ++it) { - writer.Stream() << writer.ind() << "first) - << "\" value=\"" << encodeAttribute(it->second) <<"\"/>" << endl; + for (const auto & it : _lValueList) { + writer.Stream() << writer.ind() << "" << endl; } writer.decInd(); @@ -2666,8 +2657,8 @@ void PropertyColorList::SaveDocFile (Base::Writer &writer) const Base::OutputStream str(writer.Stream()); uint32_t uCt = (uint32_t)getSize(); str << uCt; - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << it->getPackedValue(); + for (auto it : _lValueList) { + str << it.getPackedValue(); } } @@ -2678,9 +2669,9 @@ void PropertyColorList::RestoreDocFile(Base::Reader &reader) str >> uCt; std::vector values(uCt); uint32_t value; // must be 32 bit long - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { + for (auto & it : values) { str >> value; - it->setPackedValue(value); + it.setPackedValue(value); } setValues(values); } @@ -2937,13 +2928,13 @@ void PropertyMaterialList::SaveDocFile(Base::Writer &writer) const Base::OutputStream str(writer.Stream()); uint32_t uCt = (uint32_t)getSize(); str << uCt; - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << it->ambientColor.getPackedValue(); - str << it->diffuseColor.getPackedValue(); - str << it->specularColor.getPackedValue(); - str << it->emissiveColor.getPackedValue(); - str << it->shininess; - str << it->transparency; + for (const auto & it : _lValueList) { + str << it.ambientColor.getPackedValue(); + str << it.diffuseColor.getPackedValue(); + str << it.specularColor.getPackedValue(); + str << it.emissiveColor.getPackedValue(); + str << it.shininess; + str << it.transparency; } } @@ -2955,19 +2946,19 @@ void PropertyMaterialList::RestoreDocFile(Base::Reader &reader) std::vector values(uCt); uint32_t value; // must be 32 bit long float valueF; - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { + for (auto & it : values) { str >> value; - it->ambientColor.setPackedValue(value); + it.ambientColor.setPackedValue(value); str >> value; - it->diffuseColor.setPackedValue(value); + it.diffuseColor.setPackedValue(value); str >> value; - it->specularColor.setPackedValue(value); + it.specularColor.setPackedValue(value); str >> value; - it->emissiveColor.setPackedValue(value); + it.emissiveColor.setPackedValue(value); str >> valueF; - it->shininess = valueF; + it.shininess = valueF; str >> valueF; - it->transparency = valueF; + it.transparency = valueF; } setValues(values); } diff --git a/src/App/PropertyStandard.h b/src/App/PropertyStandard.h index 5e5238db2d..b8fcefb5a1 100644 --- a/src/App/PropertyStandard.h +++ b/src/App/PropertyStandard.h @@ -319,7 +319,7 @@ public: void setPyObject(PyObject *) override; protected: - const Constraints* _ConstStruct; + const Constraints* _ConstStruct{nullptr}; }; /** Percent property @@ -626,7 +626,7 @@ public: void setPyObject(PyObject *) override; protected: - const Constraints* _ConstStruct; + const Constraints* _ConstStruct{nullptr}; }; diff --git a/src/App/PropertyUnits.h b/src/App/PropertyUnits.h index 74ccf9690f..c10782ebe0 100644 --- a/src/App/PropertyUnits.h +++ b/src/App/PropertyUnits.h @@ -84,7 +84,7 @@ class AppExport PropertyQuantityConstraint : public PropertyQuantity TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: - PropertyQuantityConstraint():_ConstStruct(nullptr){} + PropertyQuantityConstraint() = default; ~PropertyQuantityConstraint() override = default; /// Constraint methods @@ -113,9 +113,8 @@ public: const char* getEditorName() const override; void setPyObject(PyObject *) override; - -protected: - const Constraints* _ConstStruct; +private: + const Constraints* _ConstStruct{nullptr}; }; // ------------------------------------------------------ diff --git a/src/App/Resources/translations/App.ts b/src/App/Resources/translations/App.ts index aa9ad4f3a1..93a6119206 100644 --- a/src/App/Resources/translations/App.ts +++ b/src/App/Resources/translations/App.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object @@ -13,7 +13,7 @@ that reference the same configurable object QObject - + Unnamed diff --git a/src/App/Resources/translations/App_be.ts b/src/App/Resources/translations/App_be.ts index 46f9dfb4b0..bffae072f7 100644 --- a/src/App/Resources/translations/App_be.ts +++ b/src/App/Resources/translations/App_be.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Захоўвае апошні выбар карыстальніка адносна таго, ці варта ўжываць наладу CopyOnChange да ўсіх спасылак, якія спасылаюцца на адзін і той жа аб'ект, які наладжваецца @@ -13,7 +13,7 @@ that reference the same configurable object QObject - + Unnamed Без назвы diff --git a/src/App/Resources/translations/App_ca.ts b/src/App/Resources/translations/App_ca.ts index 5ad6b675d5..dc728d32c1 100644 --- a/src/App/Resources/translations/App_ca.ts +++ b/src/App/Resources/translations/App_ca.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Emmagatzema l'última tria de l'usuari sobre si aplicar la configuració de CopyOnChange (Copia al canviar) a tots els enllaços que fan referència al mateix objecte configurable @@ -13,7 +13,7 @@ that reference the same configurable object QObject - + Unnamed Sense nom diff --git a/src/App/Resources/translations/App_cs.ts b/src/App/Resources/translations/App_cs.ts index 069385c4f6..136bc0951b 100644 --- a/src/App/Resources/translations/App_cs.ts +++ b/src/App/Resources/translations/App_cs.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Ukládá poslední uživatelskou volbu, zda použít nastavení „Kopírovat při změně“ na všechny odkazy @@ -14,7 +14,7 @@ které odkazují na stejný konfigurovatelný objekt QObject - + Unnamed Nepojmenovaný diff --git a/src/App/Resources/translations/App_de.ts b/src/App/Resources/translations/App_de.ts index 9ad8c9b2b7..7c5ddbf848 100644 --- a/src/App/Resources/translations/App_de.ts +++ b/src/App/Resources/translations/App_de.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Speichert die letzte Benutzerwahl, ob die CopyOnChange-Einstellungen auf alle Verknüpfungen @@ -14,7 +14,7 @@ angewendet werden soll, die das gleiche konfigurierbare Objekt referenzieren QObject - + Unnamed Unbenannt diff --git a/src/App/Resources/translations/App_el.ts b/src/App/Resources/translations/App_el.ts index 2d490d7b2f..78af105861 100644 --- a/src/App/Resources/translations/App_el.ts +++ b/src/App/Resources/translations/App_el.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Αποθηκεύει την τελευταία επιλογή χρήστη για το αν θα εφαρμοστεί η ρύθμιση CopyOnChange σε όλους τους συνδέσμους @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed Ανώνυμο diff --git a/src/App/Resources/translations/App_es-AR.ts b/src/App/Resources/translations/App_es-AR.ts index ec42f2b83e..ab386bb7b9 100644 --- a/src/App/Resources/translations/App_es-AR.ts +++ b/src/App/Resources/translations/App_es-AR.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Almacena la última opción de usuario de si aplicar la configuración de CopyOnChange a todos los enlaces @@ -14,7 +14,7 @@ que hacen referencia al mismo objeto configurable QObject - + Unnamed Sin nombre diff --git a/src/App/Resources/translations/App_es-ES.ts b/src/App/Resources/translations/App_es-ES.ts index b05503fcc4..2098ba67ea 100644 --- a/src/App/Resources/translations/App_es-ES.ts +++ b/src/App/Resources/translations/App_es-ES.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Guarda la última opción de usuario acerca de si aplicar la configuración de CopyOnChange a todos los enlaces que hacen referencia al mismo objeto configurable @@ -13,7 +13,7 @@ that reference the same configurable object QObject - + Unnamed Sin nombre diff --git a/src/App/Resources/translations/App_eu.ts b/src/App/Resources/translations/App_eu.ts index fa9c78b8fa..3f86c70049 100644 --- a/src/App/Resources/translations/App_eu.ts +++ b/src/App/Resources/translations/App_eu.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object CopyOnChange konfigurazioa objektu konfiguragarri berari erreferentzia egiten dieten esteka guztietan aplikatzeari dagokionez erabiltzaileak aukeratutako azken aukera biltegiratzen du @@ -13,7 +13,7 @@ that reference the same configurable object QObject - + Unnamed Izenik gabea diff --git a/src/App/Resources/translations/App_fi.ts b/src/App/Resources/translations/App_fi.ts index 834ecc3ba7..94109202ca 100644 --- a/src/App/Resources/translations/App_fi.ts +++ b/src/App/Resources/translations/App_fi.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed Nimetön diff --git a/src/App/Resources/translations/App_fr.ts b/src/App/Resources/translations/App_fr.ts index 96690a2c58..4ceec806f1 100644 --- a/src/App/Resources/translations/App_fr.ts +++ b/src/App/Resources/translations/App_fr.ts @@ -4,17 +4,16 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object - Enregistre le dernier choix de l'utilisateur concernant l'application de la configuration CopyOnChange à tous les liens qui font référence au même objet configurable - + Enregistre le dernier choix de l'utilisateur concernant l'application de la configuration CopyOnChange à tous les liens qui font référence au même objet configurable QObject - + Unnamed Sans nom @@ -24,32 +23,32 @@ that reference the same configurable object X-axis - Axe-X + Axe X Y-axis - Axe-Y + Axe Y Z-axis - Axe-Z + Axe Z XY-plane - Plan-XY + Plan XY XZ-plane - Plan-XZ + Plan XZ YZ-plane - Plan-YZ + Plan YZ diff --git a/src/App/Resources/translations/App_gl.ts b/src/App/Resources/translations/App_gl.ts index ec92abd023..5068467a40 100644 --- a/src/App/Resources/translations/App_gl.ts +++ b/src/App/Resources/translations/App_gl.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed Sen nome diff --git a/src/App/Resources/translations/App_hr.ts b/src/App/Resources/translations/App_hr.ts index 15da250bab..8dad689717 100644 --- a/src/App/Resources/translations/App_hr.ts +++ b/src/App/Resources/translations/App_hr.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Pamti posljednji izbor korisnika o tome treba li primijeniti postavljanje CopyOnChange @@ -14,7 +14,7 @@ na sve veze koje referenciraju isti konfigurabilni objekt QObject - + Unnamed Neimenovano diff --git a/src/App/Resources/translations/App_hu.ts b/src/App/Resources/translations/App_hu.ts index e00e1e1f5c..718225501e 100644 --- a/src/App/Resources/translations/App_hu.ts +++ b/src/App/Resources/translations/App_hu.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Tárolja a felhasználó legutóbbi döntését, hogy a CopyOnChange beállítás minden hivatkozásra alkalmazható-e, @@ -14,7 +14,7 @@ amelyek ugyanarra a konfigurálható tárgyra hivatkoznak QObject - + Unnamed Névtelen diff --git a/src/App/Resources/translations/App_id.ts b/src/App/Resources/translations/App_id.ts index 4b5d083022..5830a1190a 100644 --- a/src/App/Resources/translations/App_id.ts +++ b/src/App/Resources/translations/App_id.ts @@ -4,19 +4,59 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object - Stores the last user choice of whether to apply CopyOnChange setup to all links -that reference the same configurable object + Simpan pilihan terakhir pengguna apakah akan menerapkan pengaturan SalinSaatBerubah terhadap semua tautan yang merujuk kepada obyek konfigurasi yang sama QObject - + Unnamed Tanpa nama + + App::Origin + + + X-axis + X-axis + + + + Y-axis + Y-axis + + + + Z-axis + Z-axis + + + + XY-plane + XY-plane + + + + XZ-plane + XZ-plane + + + + YZ-plane + YZ-plane + + + + App::OriginGroupExtension + + + Origin + Asal + + diff --git a/src/App/Resources/translations/App_it.ts b/src/App/Resources/translations/App_it.ts index a5b2b47429..701b9c7f40 100644 --- a/src/App/Resources/translations/App_it.ts +++ b/src/App/Resources/translations/App_it.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Memorizza l'ultima scelta dell'utente se applicare l'impostazione CopyOnChange a tutti i link @@ -14,7 +14,7 @@ che fanno riferimento allo stesso oggetto configurabile QObject - + Unnamed Senza nome diff --git a/src/App/Resources/translations/App_ja.ts b/src/App/Resources/translations/App_ja.ts index 7a99463821..d0b69b43f1 100644 --- a/src/App/Resources/translations/App_ja.ts +++ b/src/App/Resources/translations/App_ja.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object 同じ設定可能オブジェクトを参照するすべてのリンクにCopyOnChange設定を適用するかどうかについて、、最後のユーザー選択を保存します。 @@ -13,7 +13,7 @@ that reference the same configurable object QObject - + Unnamed 名称未設定 diff --git a/src/App/Resources/translations/App_ka.ts b/src/App/Resources/translations/App_ka.ts index bd0a58fe76..411551c733 100644 --- a/src/App/Resources/translations/App_ka.ts +++ b/src/App/Resources/translations/App_ka.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object დაიმახსოვრე ბოლო მომხმარებლის არჩევანი, გადატარდება თუ არა CopyOnChange ყველა ბმულზე, რომელიც იგივე მორგებად ობიექტზეა მიმართული @@ -13,7 +13,7 @@ that reference the same configurable object QObject - + Unnamed უსახელო diff --git a/src/App/Resources/translations/App_ko.ts b/src/App/Resources/translations/App_ko.ts index 61769e6a5a..dc13a11b18 100644 --- a/src/App/Resources/translations/App_ko.ts +++ b/src/App/Resources/translations/App_ko.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed 이름없음 diff --git a/src/App/Resources/translations/App_nl.ts b/src/App/Resources/translations/App_nl.ts index cbf03e8b07..a77b6f7150 100644 --- a/src/App/Resources/translations/App_nl.ts +++ b/src/App/Resources/translations/App_nl.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Bewaart de laatste keuze van de gebruiker om CopyOnChange instellingen toe te passen op alle links @@ -14,7 +14,7 @@ die verwijzen naar hetzelfde configureerbare object QObject - + Unnamed Naamloos diff --git a/src/App/Resources/translations/App_pl.ts b/src/App/Resources/translations/App_pl.ts index 47d36055e1..9639106cdd 100644 --- a/src/App/Resources/translations/App_pl.ts +++ b/src/App/Resources/translations/App_pl.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Przechowuje ostatni wybór użytkownika, czy zastosować ustawienie "Kopiuj przy zmianie" do wszystkich linków, @@ -14,7 +14,7 @@ które odnoszą się do tego samego obiektu konfigurowalnego QObject - + Unnamed Nienazwany diff --git a/src/App/Resources/translations/App_pt-BR.ts b/src/App/Resources/translations/App_pt-BR.ts index 1da14ec09b..bb362e69ac 100644 --- a/src/App/Resources/translations/App_pt-BR.ts +++ b/src/App/Resources/translations/App_pt-BR.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Armazena a última escolha do usuário para aplicar a configuração Cópia Na Mudança (CopyOnChange) em todos os links @@ -14,7 +14,7 @@ que referenciam o mesmo objeto configurável QObject - + Unnamed Sem nome diff --git a/src/App/Resources/translations/App_pt-PT.ts b/src/App/Resources/translations/App_pt-PT.ts index b3548a7d1f..36441cd37b 100644 --- a/src/App/Resources/translations/App_pt-PT.ts +++ b/src/App/Resources/translations/App_pt-PT.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed Sem nome diff --git a/src/App/Resources/translations/App_ro.ts b/src/App/Resources/translations/App_ro.ts index 4aa9b0d00d..bd8558806f 100644 --- a/src/App/Resources/translations/App_ro.ts +++ b/src/App/Resources/translations/App_ro.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stochează ultima alegere a utilizatorului de a aplica CopyOnChange setup la toate link-urile @@ -14,7 +14,7 @@ care fac referire la același obiect configurabil QObject - + Unnamed Nedenumit diff --git a/src/App/Resources/translations/App_ru.ts b/src/App/Resources/translations/App_ru.ts index 3cb2d87edc..2ed4bbb580 100644 --- a/src/App/Resources/translations/App_ru.ts +++ b/src/App/Resources/translations/App_ru.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Сохраняет последний выбор пользователя о том, следует ли применять настройку CopyOnChange ко всем ссылкам, которые ссылаются на один и тот же настраиваемый объект @@ -13,7 +13,7 @@ that reference the same configurable object QObject - + Unnamed Безымянный diff --git a/src/App/Resources/translations/App_sl.ts b/src/App/Resources/translations/App_sl.ts index 9099970947..eae5ca0653 100644 --- a/src/App/Resources/translations/App_sl.ts +++ b/src/App/Resources/translations/App_sl.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Shrani zadnjo odločitev uporabnika glede uveljavitve nastavitve "Kopiraj ob spremembi" @@ -14,7 +14,7 @@ za vse povezave, ki se sklicujejo na isti nastavljivi predmet QObject - + Unnamed Neimenovan diff --git a/src/App/Resources/translations/App_sr-CS.ts b/src/App/Resources/translations/App_sr-CS.ts index 9bfdd51160..8485e35dba 100644 --- a/src/App/Resources/translations/App_sr-CS.ts +++ b/src/App/Resources/translations/App_sr-CS.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed Bez imena diff --git a/src/App/Resources/translations/App_sr.ts b/src/App/Resources/translations/App_sr.ts index 6507eaa118..7f7ce8f0fd 100644 --- a/src/App/Resources/translations/App_sr.ts +++ b/src/App/Resources/translations/App_sr.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed Без имена diff --git a/src/App/Resources/translations/App_sv-SE.ts b/src/App/Resources/translations/App_sv-SE.ts index f6ebb77584..499ff25cfd 100644 --- a/src/App/Resources/translations/App_sv-SE.ts +++ b/src/App/Resources/translations/App_sv-SE.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed Namnlös diff --git a/src/App/Resources/translations/App_tr.ts b/src/App/Resources/translations/App_tr.ts index 47ae453ca6..b51ac83cb7 100644 --- a/src/App/Resources/translations/App_tr.ts +++ b/src/App/Resources/translations/App_tr.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Aynı yapılandırılabilir nesneye başvuran tüm bağlantılara CopyOnChange kurulumunun uygulanıp @@ -14,7 +14,7 @@ uygulanmayacağına ilişkin son kullanıcı seçimini saklar QObject - + Unnamed Adsız diff --git a/src/App/Resources/translations/App_uk.ts b/src/App/Resources/translations/App_uk.ts index 8fe6d4bd7c..234b7f25fb 100644 --- a/src/App/Resources/translations/App_uk.ts +++ b/src/App/Resources/translations/App_uk.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed Без назви diff --git a/src/App/Resources/translations/App_val-ES.ts b/src/App/Resources/translations/App_val-ES.ts index 6b07826533..c8f3b6f656 100644 --- a/src/App/Resources/translations/App_val-ES.ts +++ b/src/App/Resources/translations/App_val-ES.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed Sense nom diff --git a/src/App/Resources/translations/App_zh-CN.ts b/src/App/Resources/translations/App_zh-CN.ts index 49202af6d6..190acc6e74 100644 --- a/src/App/Resources/translations/App_zh-CN.ts +++ b/src/App/Resources/translations/App_zh-CN.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed 未命名 diff --git a/src/App/Resources/translations/App_zh-TW.ts b/src/App/Resources/translations/App_zh-TW.ts index 0a5fabccfe..347435827a 100644 --- a/src/App/Resources/translations/App_zh-TW.ts +++ b/src/App/Resources/translations/App_zh-TW.ts @@ -4,7 +4,7 @@ LinkParams - + Stores the last user choice of whether to apply CopyOnChange setup to all links that reference the same configurable object Stores the last user choice of whether to apply CopyOnChange setup to all links @@ -14,7 +14,7 @@ that reference the same configurable object QObject - + Unnamed 未命名 diff --git a/src/App/StringHasherPyImp.cpp b/src/App/StringHasherPyImp.cpp index ebd6e74984..cae36bce9f 100644 --- a/src/App/StringHasherPyImp.cpp +++ b/src/App/StringHasherPyImp.cpp @@ -26,123 +26,142 @@ #include "StringHasherPy.h" #include "StringHasherPy.cpp" +#include using namespace App; // returns a string which represent the object e.g. when printed in python std::string StringHasherPy::representation() const { - std::ostringstream str; - str << ""; - return str.str(); + std::ostringstream str; + str << ""; + return str.str(); } PyObject *StringHasherPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper { - return new StringHasherPy(new StringHasher); + return new StringHasherPy(new StringHasher); } // constructor method -int StringHasherPy::PyInit(PyObject* , PyObject* ) +int StringHasherPy::PyInit(PyObject* args, PyObject* kwds) { - return 0; + static const std::array kwlist {nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", kwlist)) { + return -1; + } + + return 0; } PyObject* StringHasherPy::isSame(PyObject *args) { - PyObject *other; - if (!PyArg_ParseTuple(args, "O!", &StringHasherPy::Type, &other)){ // convert args: Python->C - return Py::new_reference_to(Py::False()); - } - auto otherHasher = static_cast(other)->getStringHasherPtr(); - return Py::new_reference_to(Py::Boolean(getStringHasherPtr() == otherHasher)); + PyObject *other; + if (!PyArg_ParseTuple(args, "O!", &StringHasherPy::Type, &other)) { + return nullptr; + } + + auto otherHasher = static_cast(other)->getStringHasherPtr(); + bool same = getStringHasherPtr() == otherHasher; + + return PyBool_FromLong(same ? 1 : 0); } PyObject* StringHasherPy::getID(PyObject *args) { - long id = -1; - int index = 0; - PyObject *value = nullptr; - PyObject *base64 = Py_False; - if (!PyArg_ParseTuple(args, "l|i",&id,&index)) { - PyErr_Clear(); - if (!PyArg_ParseTuple(args, "O|O",&value,&base64)) - return nullptr; - } - if(id>0) { - PY_TRY { - auto sid = getStringHasherPtr()->getID(id, index); - if(!sid) Py_Return; - return sid.getPyObject(); - }PY_CATCH; - } - std::string txt; -#if PY_MAJOR_VERSION >= 3 - if (PyUnicode_Check(value)) { - txt = PyUnicode_AsUTF8(value); - } -#else - if (PyUnicode_Check(value)) { - PyObject* unicode = PyUnicode_AsLatin1String(value); - txt = PyString_AsString(unicode); - Py_DECREF(unicode); - } - else if (PyString_Check(value)) { - txt = PyString_AsString(value); - } -#endif - else - throw Py::TypeError("expect argument of type string"); - PY_TRY { - QByteArray data; - StringIDRef sid; - if(PyObject_IsTrue(base64)) { - data = QByteArray::fromBase64(QByteArray::fromRawData(txt.c_str(),txt.size())); - sid = getStringHasherPtr()->getID(data,true); - }else - sid = getStringHasherPtr()->getID(txt.c_str(),txt.size()); - return sid.getPyObject(); - }PY_CATCH; + long id; + int index = 0; + if (PyArg_ParseTuple(args, "l|i", &id, &index)) { + if (id > 0) { + PY_TRY { + auto sid = getStringHasherPtr()->getID(id, index); + if (!sid) { + Py_Return; + } + + return sid.getPyObject(); + } + PY_CATCH; + } + else { + PyErr_SetString(PyExc_ValueError, "Id must be positive integer"); + return nullptr; + } + } + + PyErr_Clear(); + PyObject *value = nullptr; + PyObject *base64 = Py_False; + if (PyArg_ParseTuple(args, "O!|O!", &PyUnicode_Type, &value, &PyBool_Type, &base64)) { + PY_TRY { + std::string txt = PyUnicode_AsUTF8(value); + QByteArray data; + StringIDRef sid; + if (PyObject_IsTrue(base64)) { + data = QByteArray::fromBase64(QByteArray::fromRawData(txt.c_str(),txt.size())); + sid = getStringHasherPtr()->getID(data,true); + } + else { + sid = getStringHasherPtr()->getID(txt.c_str(),txt.size()); + } + + return sid.getPyObject(); + } + PY_CATCH; + } + + PyErr_SetString(PyExc_TypeError, "Positive integer and optional integer or " + "string and optional boolean is required"); + return nullptr; } -Py::Int StringHasherPy::getCount() const { - return Py::Int((long)getStringHasherPtr()->count()); +Py::Long StringHasherPy::getCount() const +{ + return Py::Long(PyLong_FromSize_t(getStringHasherPtr()->count()), true); } -Py::Int StringHasherPy::getSize() const { - return Py::Int((long)getStringHasherPtr()->size()); +Py::Long StringHasherPy::getSize() const +{ + return Py::Long(PyLong_FromSize_t(getStringHasherPtr()->size()), true); } -Py::Boolean StringHasherPy::getSaveAll() const { - return Py::Boolean(getStringHasherPtr()->getSaveAll()); +Py::Boolean StringHasherPy::getSaveAll() const +{ + return {getStringHasherPtr()->getSaveAll()}; } -void StringHasherPy::setSaveAll(Py::Boolean value) { - getStringHasherPtr()->setSaveAll(value); +void StringHasherPy::setSaveAll(Py::Boolean value) +{ + getStringHasherPtr()->setSaveAll(value); } -Py::Int StringHasherPy::getThreshold() const { - return Py::Int((long)getStringHasherPtr()->getThreshold()); +Py::Long StringHasherPy::getThreshold() const +{ + return Py::Long(getStringHasherPtr()->getThreshold()); } -void StringHasherPy::setThreshold(Py::Int value) { - getStringHasherPtr()->setThreshold(value); +void StringHasherPy::setThreshold(Py::Long value) +{ + getStringHasherPtr()->setThreshold(value); } -Py::Dict StringHasherPy::getTable() const { - Py::Dict dict; - for(auto &v : getStringHasherPtr()->getIDMap()) - dict.setItem(Py::Int(v.first),Py::String(v.second.dataToText())); - return dict; +Py::Dict StringHasherPy::getTable() const +{ + Py::Dict dict; + for (const auto &v : getStringHasherPtr()->getIDMap()) { + dict.setItem(Py::Long(v.first), Py::String(v.second.dataToText())); + } + + return dict; } PyObject *StringHasherPy::getCustomAttributes(const char* /*attr*/) const { - return nullptr; + return nullptr; } int StringHasherPy::setCustomAttributes(const char* /*attr*/, PyObject* /*obj*/) { - return 0; + return 0; } diff --git a/src/App/StringIDPyImp.cpp b/src/App/StringIDPyImp.cpp index 9526c5b3ec..549b71f1c8 100644 --- a/src/App/StringIDPyImp.cpp +++ b/src/App/StringIDPyImp.cpp @@ -32,59 +32,69 @@ using namespace App; // returns a string which represent the object e.g. when printed in python std::string StringIDPy::representation() const { - return getStringIDPtr()->toString(_index); + return getStringIDPtr()->toString(this->_index); } PyObject* StringIDPy::isSame(PyObject *args) { - PyObject *other = nullptr; - if (PyArg_ParseTuple(args, "O!", &StringIDPy::Type, &other) == 0) { // convert args: Python->C - return Py::new_reference_to(Py::False()); - } - auto *otherPy = static_cast(other); - return Py::new_reference_to(Py::Boolean( - otherPy->getStringIDPtr() == this->getStringIDPtr() - && otherPy->_index == this->_index)); + PyObject *other = nullptr; + if (!PyArg_ParseTuple(args, "O!", &StringIDPy::Type, &other)) { + return nullptr; + } + + auto *otherPy = static_cast(other); + bool same = (otherPy->getStringIDPtr() == this->getStringIDPtr()) + && (otherPy->_index == this->_index); + + return PyBool_FromLong(same ? 1 : 0); } -Py::Int StringIDPy::getValue() const { - return Py::Int(getStringIDPtr()->value()); +Py::Long StringIDPy::getValue() const +{ + return Py::Long(getStringIDPtr()->value()); } -Py::List StringIDPy::getRelated() const { - Py::List list; - for (const auto &id : getStringIDPtr()->relatedIDs()) { - list.append(Py::Long(id.value())); -} - return list; +Py::List StringIDPy::getRelated() const +{ + Py::List list; + for (const auto &id : getStringIDPtr()->relatedIDs()) { + list.append(Py::Long(id.value())); + } + + return list; } -Py::String StringIDPy::getData() const { - return {Py::String(getStringIDPtr()->dataToText(this->_index))}; +Py::String StringIDPy::getData() const +{ + return {getStringIDPtr()->dataToText(this->_index)}; } -Py::Boolean StringIDPy::getIsBinary() const { - return {getStringIDPtr()->isBinary()}; +Py::Boolean StringIDPy::getIsBinary() const +{ + return {getStringIDPtr()->isBinary()}; } -Py::Boolean StringIDPy::getIsHashed() const { - return {getStringIDPtr()->isHashed()}; +Py::Boolean StringIDPy::getIsHashed() const +{ + return {getStringIDPtr()->isHashed()}; } -Py::Int StringIDPy::getIndex() const { - return Py::Int(this->_index); +Py::Long StringIDPy::getIndex() const +{ + return Py::Long(this->_index); } -void StringIDPy::setIndex(Py::Int index) { - this->_index = index; +void StringIDPy::setIndex(Py::Long index) +{ + this->_index = index; } PyObject *StringIDPy::getCustomAttributes(const char* /*attr*/) const { - return nullptr; + return nullptr; } int StringIDPy::setCustomAttributes(const char* /*attr*/, PyObject* /*obj*/) { - return 0; + return 0; } diff --git a/src/App/Transactions.cpp b/src/App/Transactions.cpp index 2f31fa4c08..7061381de3 100644 --- a/src/App/Transactions.cpp +++ b/src/App/Transactions.cpp @@ -62,8 +62,8 @@ Transaction::Transaction(int id) Transaction::~Transaction() { auto &index = _Objects.get<0>(); - for (auto It= index.begin();It!=index.end();++It) { - if (It->second->status == TransactionObject::New) { + for (const auto & It : index) { + if (It.second->status == TransactionObject::New) { // If an object has been removed from the document the transaction // status is 'New'. The 'pcNameInDocument' member serves as criterion // to check whether the object is part of the document or not. @@ -75,8 +75,8 @@ Transaction::~Transaction() // to cause a memory leak. This usually is the case when the removal // of an object is not undone or when an addition is undone. - if (!It->first->isAttachedToDocument()) { - if (It->first->getTypeId().isDerivedFrom(DocumentObject::getClassTypeId())) { + if (!It.first->isAttachedToDocument()) { + if (It.first->getTypeId().isDerivedFrom(DocumentObject::getClassTypeId())) { // #0003323: Crash when clearing transaction list // It can happen that when clearing the transaction list several objects // are destroyed with dependencies which can lead to dangling pointers. @@ -85,13 +85,13 @@ Transaction::~Transaction() // possible dangling pointers. // An alternative solution is to call breakDependency inside // Document::_removeObject. Make this change in v0.18. - const DocumentObject* obj = static_cast(It->first); + const DocumentObject* obj = static_cast(It.first); const_cast(obj)->setStatus(ObjectStatus::Destroy, true); } - delete It->first; + delete It.first; } } - delete It->second; + delete It.second; } } @@ -272,10 +272,7 @@ TYPESYSTEM_SOURCE_ABSTRACT(App::TransactionObject, Base::Persistence) * A constructor. * A more elaborate description of the constructor. */ -TransactionObject::TransactionObject() - : status(New) -{ -} +TransactionObject::TransactionObject() = default; /** * A destructor. diff --git a/src/App/Transactions.h b/src/App/Transactions.h index c0cb264135..93bc592c6e 100644 --- a/src/App/Transactions.h +++ b/src/App/Transactions.h @@ -128,7 +128,7 @@ public: friend class Transaction; protected: - enum Status {New,Del,Chn} status; + enum Status {New,Del,Chn} status{New}; struct PropData : DynamicProperty::PropData { Base::Type propertyType; diff --git a/src/App/VRMLObject.cpp b/src/App/VRMLObject.cpp index e2cb7a8576..8b7aff85fc 100644 --- a/src/App/VRMLObject.cpp +++ b/src/App/VRMLObject.cpp @@ -37,7 +37,7 @@ using namespace App; PROPERTY_SOURCE(App::VRMLObject, App::GeoFeature) -VRMLObject::VRMLObject() : index(0) +VRMLObject::VRMLObject() { ADD_PROPERTY_TYPE(VrmlFile,(nullptr),"",Prop_None,"Included file with the VRML definition"); ADD_PROPERTY_TYPE(Urls,(""),"",static_cast(Prop_ReadOnly|Prop_Output|Prop_Transient), @@ -48,8 +48,6 @@ VRMLObject::VRMLObject() : index(0) Resources.setSize(0); } -VRMLObject::~VRMLObject() = default; - short VRMLObject::mustExecute() const { return 0; @@ -139,8 +137,8 @@ void VRMLObject::Save (Base::Writer &writer) const // save also the inline files if there const std::vector& urls = Resources.getValues(); - for (std::vector::const_iterator it = urls.begin(); it != urls.end(); ++it) { - writer.addFile(it->c_str(), this); + for (const auto & url : urls) { + writer.addFile(url.c_str(), this); } this->index = 0; @@ -153,8 +151,8 @@ void VRMLObject::Restore(Base::XMLReader &reader) // restore also the inline files if there const std::vector& urls = Resources.getValues(); - for(std::vector::const_iterator it = urls.begin(); it != urls.end(); ++it) { - reader.addFile(it->c_str(), this); + for(const auto & url : urls) { + reader.addFile(url.c_str(), this); } this->index = 0; diff --git a/src/App/VRMLObject.h b/src/App/VRMLObject.h index 59ea40d9bf..064da42a96 100644 --- a/src/App/VRMLObject.h +++ b/src/App/VRMLObject.h @@ -38,7 +38,6 @@ class AppExport VRMLObject : public GeoFeature public: /// Constructor VRMLObject(); - ~VRMLObject() override; /// returns the type name of the ViewProvider const char* getViewProviderName() const override { @@ -54,9 +53,11 @@ public: void SaveDocFile (Base::Writer &writer) const override; void RestoreDocFile(Base::Reader &reader) override; + //NOLINTBEGIN PropertyFileIncluded VrmlFile; PropertyStringList Urls; PropertyStringList Resources; + //NOLINTEND protected: void onChanged(const App::Property*) override; @@ -66,7 +67,7 @@ protected: private: mutable std::string vrmlPath; - mutable int index; + mutable int index{0}; }; } //namespace App diff --git a/src/Base/Axis.cpp b/src/Base/Axis.cpp index 0f4ac79bbf..6b615cece2 100644 --- a/src/Base/Axis.cpp +++ b/src/Base/Axis.cpp @@ -26,18 +26,10 @@ using namespace Base; -Axis::Axis() = default; - -Axis::Axis(const Axis& that) -{ - this->_base = that._base; - this->_dir = that._dir; -} - Axis::Axis(const Vector3d& Orig, const Vector3d& Dir) + : _base{Orig} + , _dir{Dir} { - this->_base = Orig; - this->_dir = Dir; } void Axis::reverse() @@ -80,11 +72,3 @@ Axis Axis::operator *(const Placement &p) const a *= p; return a; } - -Axis& Axis::operator = (const Axis &New) -{ - this->_base = New._base; - this->_dir = New._dir; - return *this; -} - diff --git a/src/Base/Axis.h b/src/Base/Axis.h index 4adf3d3944..3a2b963c38 100644 --- a/src/Base/Axis.h +++ b/src/Base/Axis.h @@ -36,8 +36,9 @@ class BaseExport Axis { public: /// default constructor - Axis(); - Axis(const Axis&); + Axis() = default; + Axis(const Axis&) = default; + Axis(Axis&&) = default; Axis(const Vector3d& Orig, const Vector3d& Dir); /// Destruction ~Axis () = default; @@ -57,10 +58,11 @@ public: Axis operator *(const Placement &p) const; bool operator ==(const Axis&) const; bool operator !=(const Axis&) const; - Axis& operator =(const Axis&); + Axis& operator =(const Axis&) = default; + Axis& operator =(Axis&&) = default; //@} -protected: +private: Vector3d _base; Vector3d _dir; }; diff --git a/src/Base/AxisPy.xml b/src/Base/AxisPy.xml index e94b00ce53..65efaf8413 100644 --- a/src/Base/AxisPy.xml +++ b/src/Base/AxisPy.xml @@ -13,14 +13,19 @@ FatherNamespace="Base"> - Base.Axis class.\n -An Axis defines a direction and a position (base) in 3D space.\n -The following constructors are supported:\n + Base.Axis class. + +An Axis defines a direction and a position (base) in 3D space. + +The following constructors are supported: + Axis() -Empty constructor.\n +Empty constructor. + Axis(axis) Copy constructor. -axis : Base.Axis\n +axis : Base.Axis + Axis(base, direction) Define from a position and a direction. base : Base.Vector @@ -29,27 +34,35 @@ direction : Base.Vector > - copy() -> Base.Axis\n + copy() -> Base.Axis + Returns a copy of this Axis. - move(vector) -> None\n -Move the axis base along the given vector.\n -vector : Base.Vector\n Vector by which to move the axis. + move(vector) -> None + +Move the axis base along the given vector. + +vector : Base.Vector + Vector by which to move the axis. - multiply(placement) -> Base.Axis\n -Multiply this axis by a placement.\n -placement : Base.Placement\n Placement by which to multiply the axis. + multiply(placement) -> Base.Axis + +Multiply this axis by a placement. + +placement : Base.Placement + Placement by which to multiply the axis. - reversed() -> Base.Axis\n + reversed() -> Base.Axis + Compute the reversed axis. This returns a new Base.Axis with the original direction reversed. diff --git a/src/Base/AxisPyImp.cpp b/src/Base/AxisPyImp.cpp index 87245d6dea..d4e0e199ae 100644 --- a/src/Base/AxisPyImp.cpp +++ b/src/Base/AxisPyImp.cpp @@ -55,7 +55,7 @@ PyObject *AxisPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Pytho // constructor method int AxisPy::PyInit(PyObject* args, PyObject* /*kwd*/) { - PyObject* o; + PyObject* o{}; if (PyArg_ParseTuple(args, "")) { return 0; } @@ -68,7 +68,7 @@ int AxisPy::PyInit(PyObject* args, PyObject* /*kwd*/) } PyErr_Clear(); - PyObject* d; + PyObject* d{}; if (PyArg_ParseTuple(args, "O!O!", &(Base::VectorPy::Type), &o, &(Base::VectorPy::Type), &d)) { // NOTE: The first parameter defines the base (origin) and the second the direction. @@ -83,7 +83,7 @@ int AxisPy::PyInit(PyObject* args, PyObject* /*kwd*/) PyObject* AxisPy::move(PyObject * args) { - PyObject *vec; + PyObject *vec{}; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &vec)) return nullptr; getAxisPtr()->move(static_cast(vec)->value()); @@ -92,7 +92,7 @@ PyObject* AxisPy::move(PyObject * args) PyObject* AxisPy::multiply(PyObject * args) { - PyObject *plm; + PyObject *plm{}; if (!PyArg_ParseTuple(args, "O!", &(PlacementPy::Type), &plm)) return nullptr; Axis mult = (*getAxisPtr()) * (*static_cast(plm)->getPlacementPtr()); @@ -116,7 +116,7 @@ PyObject* AxisPy::reversed(PyObject * args) Py::Object AxisPy::getBase() const { - return Py::Vector(getAxisPtr()->getBase()); + return Py::Vector(getAxisPtr()->getBase()); // NOLINT } void AxisPy::setBase(Py::Object arg) @@ -126,7 +126,7 @@ void AxisPy::setBase(Py::Object arg) Py::Object AxisPy::getDirection() const { - return Py::Vector(getAxisPtr()->getDirection()); + return Py::Vector(getAxisPtr()->getDirection()); // NOLINT } void AxisPy::setDirection(Py::Object arg) diff --git a/src/Base/BaseClassPyImp.cpp b/src/Base/BaseClassPyImp.cpp index 3621e714f4..8aca46f3a7 100644 --- a/src/Base/BaseClassPyImp.cpp +++ b/src/Base/BaseClassPyImp.cpp @@ -32,19 +32,19 @@ using namespace Base; // returns a string which represent the object e.g. when printed in python std::string BaseClassPy::representation() const { - return std::string(""); + return {""}; } PyObject* BaseClassPy::isDerivedFrom(PyObject *args) { - char *name; + char *name{}; if (!PyArg_ParseTuple(args, "s", &name)) return nullptr; Base::Type type = Base::Type::fromName(name); - bool v = (type != Base::Type::badType() && getBaseClassPtr()->getTypeId().isDerivedFrom(type)); - return PyBool_FromLong(v ? 1 : 0); + bool valid = (type != Base::Type::badType() && getBaseClassPtr()->getTypeId().isDerivedFrom(type)); + return PyBool_FromLong(valid ? 1 : 0); } PyObject* BaseClassPy::getAllDerivedFrom(PyObject *args) @@ -55,14 +55,14 @@ PyObject* BaseClassPy::getAllDerivedFrom(PyObject *args) std::vector ary; Base::Type::getAllDerivedFrom(getBaseClassPtr()->getTypeId(), ary); Py::List res; - for (std::vector::iterator it = ary.begin(); it != ary.end(); ++it) - res.append(Py::String(it->getName())); + for (const auto & it : ary) + res.append(Py::String(it.getName())); return Py::new_reference_to(res); } Py::String BaseClassPy::getTypeId() const { - return Py::String(std::string(getBaseClassPtr()->getTypeId().getName())); + return {std::string(getBaseClassPtr()->getTypeId().getName())}; } Py::String BaseClassPy::getModule() const @@ -75,7 +75,7 @@ Py::String BaseClassPy::getModule() const else module.clear(); - return Py::String(module); + return {module}; } PyObject *BaseClassPy::getCustomAttributes(const char* /*attr*/) const diff --git a/src/Base/BoundBox.h b/src/Base/BoundBox.h index 1683f97470..2155d49e67 100644 --- a/src/Base/BoundBox.h +++ b/src/Base/BoundBox.h @@ -24,6 +24,7 @@ #ifndef BASE_BOUNDBOX_H #define BASE_BOUNDBOX_H +#include #include #include "Matrix.h" #include "Tools2D.h" @@ -35,53 +36,55 @@ namespace Base { class ViewProjMethod; /** The 3D bounding box class. */ -template +template class BoundBox3 { // helper function - static bool isOnRayW(_Precision, _Precision, _Precision); - static bool isOnRayS(_Precision, _Precision, _Precision); + static bool isOnRayW(Precision min, Precision max, Precision val); + static bool isOnRayS(Precision min, Precision max, Precision val); public: - using num_type = _Precision; + using num_type = Precision; using traits_type = float_traits; /** Public attributes */ //@{ - _Precision MinX; - _Precision MinY; - _Precision MinZ; - _Precision MaxX; - _Precision MaxY; - _Precision MaxZ; + Precision MinX; + Precision MinY; + Precision MinZ; + Precision MaxX; + Precision MaxY; + Precision MaxZ; //@} /** Builds box from pairs of x,y,z values. */ - inline explicit BoundBox3 (_Precision fMinX = std::numeric_limits<_Precision>::max(), - _Precision fMinY = std::numeric_limits<_Precision>::max(), - _Precision fMinZ = std::numeric_limits<_Precision>::max(), - _Precision fMaxX = -std::numeric_limits<_Precision>::max(), - _Precision fMaxY = -std::numeric_limits<_Precision>::max(), - _Precision fMaxZ = -std::numeric_limits<_Precision>::max()); - BoundBox3 (const BoundBox3<_Precision> &rcBB) { *this = rcBB; } + inline explicit BoundBox3 (Precision fMinX = std::numeric_limits::max(), + Precision fMinY = std::numeric_limits::max(), + Precision fMinZ = std::numeric_limits::max(), + Precision fMaxX = -std::numeric_limits::max(), + Precision fMaxY = -std::numeric_limits::max(), + Precision fMaxZ = -std::numeric_limits::max()); + BoundBox3 (const BoundBox3 &rcBB) = default; + BoundBox3 (BoundBox3 &&rcBB) noexcept = default; /** Builds box from an array of points. */ - inline BoundBox3 (const Vector3<_Precision> *pclVect, unsigned long ulCt); + inline BoundBox3 (const Vector3 *pclVect, std::size_t ulCt); /** Defines a bounding box around the center \a rcCnt with the * distances \a fDistance in each coordinate. */ - BoundBox3 (const Vector3<_Precision> &rcCnt, _Precision fDistance); + BoundBox3 (const Vector3& point, Precision distance); ~BoundBox3 (); /// Assignment operator - inline BoundBox3<_Precision>& operator = (const BoundBox3<_Precision> &rcBound); + inline BoundBox3& operator = (const BoundBox3 &rcBound) = default; + inline BoundBox3& operator = (BoundBox3 &&rcBound) noexcept = default; /** Methods for intersection, cuttíng and union of bounding boxes */ //@{ /** Checks for intersection. */ - inline bool Intersect (const BoundBox3<_Precision> &rcBB) const; + inline bool Intersect (const BoundBox3 &rcBB) const; /** Checks for intersection. */ - inline bool operator && (const BoundBox3<_Precision> &rcBB) const; + inline bool operator && (const BoundBox3 &rcBB) const; /** Checks for intersection. */ inline bool Intersect (const BoundBox2d &rcBB) const; /** Checks for intersection. */ @@ -89,13 +92,13 @@ public: /** Computes the intersection between two bounding boxes. * The result is also a bounding box. */ - BoundBox3<_Precision> Intersected (const BoundBox3<_Precision> &rcBB) const; + BoundBox3 Intersected (const BoundBox3 &rcBB) const; /** The union of two bounding boxes. */ - BoundBox3<_Precision> United (const BoundBox3<_Precision> &rcBB) const; + BoundBox3 United (const BoundBox3 &rcBB) const; /** Appends the point to the box. The box can grow but not shrink. */ - inline void Add (const Vector3<_Precision> &rclVect); + inline void Add (const Vector3 &rclVect); /** Appends the bounding box to this box. The box can grow but not shrink. */ - inline void Add (const BoundBox3<_Precision> &rcBB); + inline void Add (const BoundBox3 &rcBB); //@} /** Test methods */ @@ -103,11 +106,11 @@ public: /** Checks if this point lies inside the box. * @note It's up to the client programmer to make sure that this bounding box is valid. */ - inline bool IsInBox (const Vector3<_Precision> &rcVct) const; + inline bool IsInBox (const Vector3 &rcVct) const; /** Checks if this 3D box lies inside the box. * @note It's up to the client programmer to make sure that both bounding boxes are valid. */ - inline bool IsInBox (const BoundBox3<_Precision> &rcBB) const; + inline bool IsInBox (const BoundBox3 &rcBB) const; /** Checks if this 2D box lies inside the box. * @note It's up to the client programmer to make sure that both bounding boxes are valid. */ @@ -118,312 +121,360 @@ public: enum OCTANT {OCT_LDB = 0, OCT_RDB, OCT_LUB, OCT_RUB, OCT_LDF, OCT_RDF, OCT_LUF, OCT_RUF}; - bool GetOctantFromVector (const Vector3<_Precision> &rclVct, OCTANT &rclOctant) const; - BoundBox3<_Precision> CalcOctant (typename BoundBox3<_Precision>::OCTANT Octant) const; + bool GetOctantFromVector (const Vector3 &rclVct, OCTANT &rclOctant) const; + BoundBox3 CalcOctant (typename BoundBox3::OCTANT Octant) const; enum SIDE { LEFT =0, RIGHT=1, TOP=2, BOTTOM=3, FRONT=4, BACK=5, INVALID=255 }; + enum CORNER { + TLB = 0, // top-left-back + TLF = 1, // top-left-front + TRF = 2, // top-right-front + TRB = 3, // top-right-back + BLB = 4, // bottom-left-back + BLF = 5, // bottom-left-front + BRF = 6, // bottom-right-front + BRB = 7, // bottom-right-back + }; + enum EDGE { + TLB_TLF = 0, + TLF_TRF = 1, + TRF_TRB = 2, + TRB_TLB = 3, + BLB_BLF = 4, + BLF_BRF = 5, + BRF_BRB = 6, + BRB_BLB = 7, + TLB_BLB = 8, + TLF_BLF = 9, + TRF_BRF = 10, + TRB_BRB = 11 + }; /** * Returns the corner point \a usPoint. - * 0: front,bottom,left 1: front,bottom,right - * 2: front,top,right 3: front,top,left - * 4: back,bottom,left 5: back,bottom,right - * 6: back,top,right 7: back,top,left */ - inline Vector3<_Precision> CalcPoint (unsigned short usPoint) const; + inline Vector3 CalcPoint (unsigned short usPoint) const; /** Returns the plane of the given side. */ - void CalcPlane (unsigned short usPlane, Vector3<_Precision>& rBase, Vector3<_Precision>& rNormal ) const; + void CalcPlane (unsigned short usPlane, Vector3& rBase, + Vector3& rNormal) const; /** Calculates the two points of an edge. - * 0. edge P0-P1 1. edge P1-P2 2. edge P2-P3 - * 3. edge P3-P0 4. edge P4-P5 5. edge P5-P6 - * 6. edge P6-P7 7. edge P7-P4 8. edge P0-P4 - * 9. edge P1-P5 10. edge P2-P6 11. edge P3-P7 */ - bool CalcEdge (unsigned short usEdge, Vector3<_Precision>& rcP0, Vector3<_Precision>& rcP1) const; + bool CalcEdge (unsigned short usEdge, Vector3& rcP0, Vector3& rcP1) const; /** Intersection point of an inner search ray with the bounding box, built of * the base \a rcVct and the direction \a rcVctDir. \a rcVct must lie inside the * bounding box. */ - bool IntersectionPoint (const Vector3<_Precision> &rcVct, const Vector3<_Precision> &rcVctDir, Vector3<_Precision>& cVctRes, _Precision epsilon) const; + bool IntersectionPoint (const Vector3 &rcVct, + const Vector3 &rcVctDir, + Vector3& cVctRes, + Precision epsilon) const; /** Checks for intersection with line incl. search tolerance. */ - bool IsCutLine ( const Vector3<_Precision>& rcBase, const Vector3<_Precision>& rcDir, _Precision fTolerance = 0.0f) const; + bool IsCutLine (const Vector3& rcBase, + const Vector3& rcDir, + Precision fTolerance = 0.0F) const; /** Checks if this plane specified by (point,normal) cuts this box. * @note It's up to the client programmer to make sure that this bounding box is valid. */ - inline bool IsCutPlane (const Vector3<_Precision> &rclBase, const Vector3<_Precision> &rclNormal) const; + inline bool IsCutPlane (const Vector3 &rclBase, + const Vector3 &rclNormal) const; /** Computes the intersection points of line and bounding box. */ - bool IntersectWithLine (const Vector3<_Precision>& rcBase, const Vector3<_Precision>& rcDir, Vector3<_Precision>& rcP0, Vector3<_Precision>& rcP1) const; + bool IntersectWithLine (const Vector3& rcBase, + const Vector3& rcDir, + Vector3& rcP0, + Vector3& rcP1) const; /** Computes the intersection point of line and a plane of the bounding box. */ - bool IntersectPlaneWithLine (unsigned short usSide, const Vector3<_Precision>& rcBase, const Vector3<_Precision>& rcDir, - Vector3<_Precision>& rcP0) const; + bool IntersectPlaneWithLine (unsigned short usSide, + const Vector3& rcBase, + const Vector3& rcDir, + Vector3& rcP0) const; /** Returns the side of the bounding box the ray exits. */ - typename BoundBox3<_Precision>::SIDE GetSideFromRay (const Vector3<_Precision> &rclPt, const Vector3<_Precision> &rclDir) const; + typename BoundBox3::SIDE GetSideFromRay (const Vector3 &rclPt, + const Vector3 &rclDir) const; /** Returns the side of the bounding box the ray exits. */ - typename BoundBox3<_Precision>::SIDE GetSideFromRay (const Vector3<_Precision> &rclPt, const Vector3<_Precision> &rclDir, Vector3<_Precision>& rcInt) const; + typename BoundBox3::SIDE GetSideFromRay (const Vector3 &rclPt, + const Vector3 &rclDir, + Vector3& rcInt) const; /** * Searches for the closest point of the bounding box. */ - Vector3<_Precision> ClosestPoint (const Vector3<_Precision> &rclPt) const; + Vector3 ClosestPoint (const Vector3 &rclPt) const; /** Projects the box onto a plane and returns a 2D box. */ - BoundBox2d ProjectBox(const ViewProjMethod *rclP) const; + BoundBox2d ProjectBox(const ViewProjMethod* proj) const; /** Transform the corners of this box with the given matrix and create a new bounding box. * @note It's up to the client programmer to make sure that this bounding box is valid. */ - BoundBox3<_Precision> Transformed(const Matrix4D& mat) const; + BoundBox3 Transformed(const Matrix4D& mat) const; - /** Returns the center.of the box. */ - inline Vector3<_Precision> GetCenter () const; + /** Returns the center of the box. */ + inline Vector3 GetCenter () const; + /** Returns the minimum point of the box. */ + inline Vector3 GetMinimum () const; + /** Returns the maximum point of the box. */ + inline Vector3 GetMaximum () const; /** Compute the diagonal length of this bounding box. * @note It's up to the client programmer to make sure that this bounding box is valid. */ - inline _Precision CalcDiagonalLength () const; + inline Precision CalcDiagonalLength () const; void SetVoid (); - /** Enlarges the box with factor \a fLen. */ - inline void Enlarge (_Precision fLen); - /** Shrinks the box with factor \a fLen. */ - inline void Shrink (_Precision fLen); + /** Enlarges the box with \a fLen. */ + inline void Enlarge (Precision fLen); + /** Shrinks the box with \a fLen. */ + inline void Shrink (Precision fLen); /** Calculates expansion in x-direction. */ - inline _Precision LengthX () const; + inline Precision LengthX () const; /** Calculates expansion in y-direction. */ - inline _Precision LengthY () const; + inline Precision LengthY () const; /** Calculates expansion in z-direction. */ - inline _Precision LengthZ () const; + inline Precision LengthZ () const; + /** Calculates the volume. If the box is invalid a negative value is returned */ + inline Precision Volume () const; /** Moves in x-direction. */ - inline void MoveX (_Precision f); + inline void MoveX (Precision value); /** Moves in y-direction. */ - inline void MoveY (_Precision f); + inline void MoveY (Precision value); /** Moves in z-direction. */ - inline void MoveZ (_Precision f); + inline void MoveZ (Precision value); /** Scales in x-direction. */ - inline void ScaleX (_Precision f); + inline void ScaleX (Precision value); /** Scales in y-direction. */ - inline void ScaleY (_Precision f); + inline void ScaleY (Precision value); /** Scales in z-direction. */ - inline void ScaleZ (_Precision f); + inline void ScaleZ (Precision value); /** Prints the values to stream. */ void Print (std::ostream&) const; }; -template -bool BoundBox3<_Precision>::isOnRayW(_Precision A, _Precision B, _Precision K) +template +bool BoundBox3::isOnRayW(Precision min, Precision max, Precision val) { - // Checks if point K lies on the ray [A,B] - return ((A <= K) && (K <= B)); + // Checks if point val lies on the ray [min,max] + return ((min <= val) && (val <= max)); } -template -bool BoundBox3<_Precision>::isOnRayS(_Precision A, _Precision B, _Precision K) +template +bool BoundBox3::isOnRayS(Precision min, Precision max, Precision val) { - // Checks if point K lies on the ray [A,B[ - return ((A <= K) && (K < B)); + // Checks if point val lies on the ray [min,max[ + return ((min <= val) && (val < max)); } -template -inline BoundBox3<_Precision>::BoundBox3 (_Precision fMinX, _Precision fMinY, _Precision fMinZ, - _Precision fMaxX, _Precision fMaxY, _Precision fMaxZ) +// NOLINTBEGIN(bugprone-easily-swappable-parameters) +template +inline BoundBox3::BoundBox3 (Precision fMinX, Precision fMinY, Precision fMinZ, + Precision fMaxX, Precision fMaxY, Precision fMaxZ) : MinX(fMinX), MinY(fMinY), MinZ(fMinZ), MaxX(fMaxX), MaxY(fMaxY), MaxZ(fMaxZ) { } +// NOLINTEND(bugprone-easily-swappable-parameters) -template -inline BoundBox3<_Precision>::BoundBox3 (const Vector3<_Precision> *pclVect, unsigned long ulCt) - : MinX( std::numeric_limits<_Precision>::max()) - , MinY( std::numeric_limits<_Precision>::max()) - , MinZ( std::numeric_limits<_Precision>::max()) - , MaxX(-std::numeric_limits<_Precision>::max()) - , MaxY(-std::numeric_limits<_Precision>::max()) - , MaxZ(-std::numeric_limits<_Precision>::max()) +template +inline BoundBox3::BoundBox3 (const Vector3 *pclVect, std::size_t ulCt) + : MinX( std::numeric_limits::max()) + , MinY( std::numeric_limits::max()) + , MinZ( std::numeric_limits::max()) + , MaxX(-std::numeric_limits::max()) + , MaxY(-std::numeric_limits::max()) + , MaxZ(-std::numeric_limits::max()) { - const Vector3<_Precision> *pI, *pEnd = pclVect + ulCt; + const Vector3 *pI = nullptr; + const Vector3 *pEnd = pclVect + ulCt; for (pI = pclVect; pI < pEnd; ++pI) { - MinX = std::min<_Precision>(MinX, pI->x); - MinY = std::min<_Precision>(MinY, pI->y); - MinZ = std::min<_Precision>(MinZ, pI->z); - MaxX = std::max<_Precision>(MaxX, pI->x); - MaxY = std::max<_Precision>(MaxY, pI->y); - MaxZ = std::max<_Precision>(MaxZ, pI->z); + MinX = std::min(MinX, pI->x); + MinY = std::min(MinY, pI->y); + MinZ = std::min(MinZ, pI->z); + MaxX = std::max(MaxX, pI->x); + MaxY = std::max(MaxY, pI->y); + MaxZ = std::max(MaxZ, pI->z); } } -template -inline BoundBox3<_Precision>::BoundBox3 (const Vector3<_Precision> &rcVector, _Precision fDistance) +template +inline BoundBox3::BoundBox3 (const Vector3& point, Precision distance) + : MinX(point.x - distance) + , MinY(point.y - distance) + , MinZ(point.z - distance) + , MaxX(point.x + distance) + , MaxY(point.y + distance) + , MaxZ(point.z + distance) { - MinX = rcVector.x - fDistance; - MaxX = rcVector.x + fDistance; - MinY = rcVector.y - fDistance; - MaxY = rcVector.y + fDistance; - MinZ = rcVector.z - fDistance; - MaxZ = rcVector.z + fDistance; } -template -inline BoundBox3<_Precision>::~BoundBox3 () = default; +template +inline BoundBox3::~BoundBox3 () = default; -template -inline BoundBox3<_Precision>& BoundBox3<_Precision>::operator = (const BoundBox3<_Precision> &rcBound) +template +inline bool BoundBox3::Intersect (const BoundBox3 &rcBB) const { - MinX = rcBound.MinX; - MinY = rcBound.MinY; - MinZ = rcBound.MinZ; - MaxX = rcBound.MaxX; - MaxY = rcBound.MaxY; - MaxZ = rcBound.MaxZ; - return *this; -} - -template -inline bool BoundBox3<_Precision>::Intersect (const BoundBox3<_Precision> &rcBB) const -{ - if (rcBB.MaxX < this->MinX || rcBB.MinX > this->MaxX) + if (rcBB.MaxX < this->MinX || rcBB.MinX > this->MaxX) { return false; - if (rcBB.MaxY < this->MinY || rcBB.MinY > this->MaxY) + } + if (rcBB.MaxY < this->MinY || rcBB.MinY > this->MaxY) { return false; - if (rcBB.MaxZ < this->MinZ || rcBB.MinZ > this->MaxZ) + } + if (rcBB.MaxZ < this->MinZ || rcBB.MinZ > this->MaxZ) { return false; + } return true; } -template -bool BoundBox3<_Precision>::operator && (const BoundBox3<_Precision> &rcBB) const +template +bool BoundBox3::operator && (const BoundBox3 &rcBB) const { return Intersect(rcBB); } -template -inline bool BoundBox3<_Precision>::Intersect (const BoundBox2d &rcBB) const +template +inline bool BoundBox3::Intersect (const BoundBox2d &rcBB) const { - if (rcBB.MaxX < this->MinX || rcBB.MinX > this->MaxX) + if (rcBB.MaxX < this->MinX || rcBB.MinX > this->MaxX) { return false; - if (rcBB.MaxY < this->MinY || rcBB.MinY > this->MaxY) + } + if (rcBB.MaxY < this->MinY || rcBB.MinY > this->MaxY) { return false; + } return true; } -template -inline bool BoundBox3<_Precision>::operator && (const BoundBox2d &rcBB) const +template +inline bool BoundBox3::operator && (const BoundBox2d &rcBB) const { return Intersect(rcBB); } -template -inline BoundBox3<_Precision> BoundBox3<_Precision>::Intersected(const BoundBox3<_Precision> &rcBB) const +template +inline BoundBox3 +BoundBox3::Intersected(const BoundBox3 &rcBB) const { - BoundBox3<_Precision> cBBRes; + BoundBox3 cBBRes; - cBBRes.MinX = std::max<_Precision> (MinX, rcBB.MinX); - cBBRes.MaxX = std::min<_Precision> (MaxX, rcBB.MaxX); - cBBRes.MinY = std::max<_Precision> (MinY, rcBB.MinY); - cBBRes.MaxY = std::min<_Precision> (MaxY, rcBB.MaxY); - cBBRes.MinZ = std::max<_Precision> (MinZ, rcBB.MinZ); - cBBRes.MaxZ = std::min<_Precision> (MaxZ, rcBB.MaxZ); + cBBRes.MinX = std::max (MinX, rcBB.MinX); + cBBRes.MaxX = std::min (MaxX, rcBB.MaxX); + cBBRes.MinY = std::max (MinY, rcBB.MinY); + cBBRes.MaxY = std::min (MaxY, rcBB.MaxY); + cBBRes.MinZ = std::max (MinZ, rcBB.MinZ); + cBBRes.MaxZ = std::min (MaxZ, rcBB.MaxZ); return cBBRes; } -template -inline BoundBox3<_Precision> BoundBox3<_Precision>::United(const BoundBox3<_Precision> &rcBB) const +template +inline BoundBox3 BoundBox3::United(const BoundBox3 &rcBB) const { - BoundBox3<_Precision> cBBRes; + BoundBox3 cBBRes; - cBBRes.MinX = std::min<_Precision> (MinX, rcBB.MinX); - cBBRes.MaxX = std::max<_Precision> (MaxX, rcBB.MaxX); - cBBRes.MinY = std::min<_Precision> (MinY, rcBB.MinY); - cBBRes.MaxY = std::max<_Precision> (MaxY, rcBB.MaxY); - cBBRes.MinZ = std::min<_Precision> (MinZ, rcBB.MinZ); - cBBRes.MaxZ = std::max<_Precision> (MaxZ, rcBB.MaxZ); + cBBRes.MinX = std::min (MinX, rcBB.MinX); + cBBRes.MaxX = std::max (MaxX, rcBB.MaxX); + cBBRes.MinY = std::min (MinY, rcBB.MinY); + cBBRes.MaxY = std::max (MaxY, rcBB.MaxY); + cBBRes.MinZ = std::min (MinZ, rcBB.MinZ); + cBBRes.MaxZ = std::max (MaxZ, rcBB.MaxZ); return cBBRes; } -template -inline void BoundBox3<_Precision>::Add (const Vector3<_Precision> &rclVect) +template +inline void BoundBox3::Add (const Vector3 &rclVect) { - this->MinX = std::min<_Precision>(this->MinX, rclVect.x); - this->MinY = std::min<_Precision>(this->MinY, rclVect.y); - this->MinZ = std::min<_Precision>(this->MinZ, rclVect.z); - this->MaxX = std::max<_Precision>(this->MaxX, rclVect.x); - this->MaxY = std::max<_Precision>(this->MaxY, rclVect.y); - this->MaxZ = std::max<_Precision>(this->MaxZ, rclVect.z); + this->MinX = std::min(this->MinX, rclVect.x); + this->MinY = std::min(this->MinY, rclVect.y); + this->MinZ = std::min(this->MinZ, rclVect.z); + this->MaxX = std::max(this->MaxX, rclVect.x); + this->MaxY = std::max(this->MaxY, rclVect.y); + this->MaxZ = std::max(this->MaxZ, rclVect.z); } -template -inline void BoundBox3<_Precision>::Add (const BoundBox3<_Precision> &rcBB) +template +inline void BoundBox3::Add (const BoundBox3 &rcBB) { - this->MinX = std::min<_Precision> (this->MinX, rcBB.MinX); - this->MaxX = std::max<_Precision> (this->MaxX, rcBB.MaxX); - this->MinY = std::min<_Precision> (this->MinY, rcBB.MinY); - this->MaxY = std::max<_Precision> (this->MaxY, rcBB.MaxY); - this->MinZ = std::min<_Precision> (this->MinZ, rcBB.MinZ); - this->MaxZ = std::max<_Precision> (this->MaxZ, rcBB.MaxZ); + this->MinX = std::min (this->MinX, rcBB.MinX); + this->MaxX = std::max (this->MaxX, rcBB.MaxX); + this->MinY = std::min (this->MinY, rcBB.MinY); + this->MaxY = std::max (this->MaxY, rcBB.MaxY); + this->MinZ = std::min (this->MinZ, rcBB.MinZ); + this->MaxZ = std::max (this->MaxZ, rcBB.MaxZ); } -template -inline bool BoundBox3<_Precision>::IsInBox (const Vector3<_Precision> &rcVct) const +template +inline bool BoundBox3::IsInBox (const Vector3 &rcVct) const { - if (rcVct.x < this->MinX || rcVct.x > this->MaxX) + if (rcVct.x < this->MinX || rcVct.x > this->MaxX) { return false; - if (rcVct.y < this->MinY || rcVct.y > this->MaxY) + } + if (rcVct.y < this->MinY || rcVct.y > this->MaxY) { return false; - if (rcVct.z < this->MinZ || rcVct.z > this->MaxZ) + } + if (rcVct.z < this->MinZ || rcVct.z > this->MaxZ) { return false; + } return true; } -template -inline bool BoundBox3<_Precision>::IsInBox (const BoundBox3<_Precision> &rcBB) const +template +inline bool BoundBox3::IsInBox (const BoundBox3 &rcBB) const { - if (rcBB.MinX < this->MinX || rcBB.MaxX > this->MaxX) + if (rcBB.MinX < this->MinX || rcBB.MaxX > this->MaxX) { return false; - if (rcBB.MinY < this->MinY || rcBB.MaxY > this->MaxY) + } + if (rcBB.MinY < this->MinY || rcBB.MaxY > this->MaxY) { return false; - if (rcBB.MinZ < this->MinZ || rcBB.MaxZ > this->MaxZ) + } + if (rcBB.MinZ < this->MinZ || rcBB.MaxZ > this->MaxZ) { return false; + } return true; } -template -inline bool BoundBox3<_Precision>::IsInBox (const BoundBox2d &rcBB) const +template +inline bool BoundBox3::IsInBox (const BoundBox2d &rcBB) const { - if (rcBB.MinX < this->MinX || rcBB.MaxX > this->MaxX) + if (rcBB.MinX < this->MinX || rcBB.MaxX > this->MaxX) { return false; - if (rcBB.MinY < this->MinY || rcBB.MaxY > this->MaxY) + } + if (rcBB.MinY < this->MinY || rcBB.MaxY > this->MaxY) { return false; + } return true; } -template -inline bool BoundBox3<_Precision>::IsValid () const +template +inline bool BoundBox3::IsValid () const { return ((MinX <= MaxX) && (MinY <= MaxY) && (MinZ <= MaxZ)); } -template -inline bool BoundBox3<_Precision>::GetOctantFromVector (const Vector3<_Precision> &rclVct, OCTANT &rclOctant) const +template +inline bool BoundBox3::GetOctantFromVector (const Vector3 &rclVct, + OCTANT &rclOctant) const { - if (!IsInBox (rclVct)) + if (!IsInBox (rclVct)) { return false; + } unsigned short usNdx = 0; - if (isOnRayS ((MinX + MaxX)/2, MaxX, rclVct.x)) // left/RIGHT + if (isOnRayS ((MinX + MaxX)/2, MaxX, rclVct.x)) { // left/RIGHT usNdx |= 1; - if (isOnRayS ((MinY + MaxY)/2, MaxY, rclVct.y)) // down/UP + } + if (isOnRayS ((MinY + MaxY)/2, MaxY, rclVct.y)) { // down/UP usNdx |= 2; - if (isOnRayS ((MinZ + MaxZ)/2, MaxZ, rclVct.z)) // back/FRONT + } + if (isOnRayS ((MinZ + MaxZ)/2, MaxZ, rclVct.z)) { // back/FRONT usNdx |= 4; + } rclOctant = static_cast(usNdx); return true; } -template -inline BoundBox3<_Precision> BoundBox3<_Precision>::CalcOctant (typename BoundBox3< _Precision >::OCTANT Octant) const +template +inline BoundBox3 +BoundBox3::CalcOctant (typename BoundBox3< Precision >::OCTANT Octant) const { - BoundBox3<_Precision> cOct (*this); + BoundBox3 cOct (*this); switch (Octant) { case OCT_LDB: @@ -477,112 +528,117 @@ inline BoundBox3<_Precision> BoundBox3<_Precision>::CalcOctant (typename BoundBo return cOct; } -template -inline Vector3<_Precision> BoundBox3<_Precision>::CalcPoint (unsigned short usPoint) const +template +inline Vector3 BoundBox3::CalcPoint (unsigned short usPoint) const { switch (usPoint) { - case 0: return Vector3<_Precision>(MinX, MinY, MaxZ); - case 1: return Vector3<_Precision>(MaxX, MinY, MaxZ); - case 2: return Vector3<_Precision>(MaxX, MaxY, MaxZ); - case 3: return Vector3<_Precision>(MinX, MaxY, MaxZ); - case 4: return Vector3<_Precision>(MinX, MinY, MinZ); - case 5: return Vector3<_Precision>(MaxX, MinY, MinZ); - case 6: return Vector3<_Precision>(MaxX, MaxY, MinZ); - case 7: return Vector3<_Precision>(MinX, MaxY, MinZ); + case TLB: return Vector3(MinX, MinY, MaxZ); + case TLF: return Vector3(MaxX, MinY, MaxZ); + case TRF: return Vector3(MaxX, MaxY, MaxZ); + case TRB: return Vector3(MinX, MaxY, MaxZ); + case BLB: return Vector3(MinX, MinY, MinZ); + case BLF: return Vector3(MaxX, MinY, MinZ); + case BRF: return Vector3(MaxX, MaxY, MinZ); + case BRB: return Vector3(MinX, MaxY, MinZ); } - return Vector3<_Precision>(); + return Vector3(); } -template -inline void BoundBox3<_Precision>::CalcPlane (unsigned short usPlane, Vector3<_Precision>& rBase, Vector3<_Precision>& rNormal) const +// NOLINTBEGIN(bugprone-easily-swappable-parameters) +template +inline void BoundBox3::CalcPlane (unsigned short usPlane, + Vector3& rBase, + Vector3& rNormal) const +// NOLINTEND(bugprone-easily-swappable-parameters) { switch (usPlane) { case LEFT: rBase.Set(MinX, MinY, MaxZ); - rNormal.Set(1.0f, 0.0f, 0.0f); + rNormal.Set(1.0F, 0.0F, 0.0F); break; case RIGHT: rBase.Set(MaxX, MinY, MaxZ); - rNormal.Set(1.0f, 0.0f, 0.0f); + rNormal.Set(1.0F, 0.0F, 0.0F); break; case TOP: rBase.Set(MinX, MaxY, MaxZ); - rNormal.Set(0.0f, 1.0f, 0.0f); + rNormal.Set(0.0F, 1.0F, 0.0F); break; case BOTTOM: rBase.Set(MinX, MinY, MaxZ); - rNormal.Set(0.0f, 1.0f, 0.0f); + rNormal.Set(0.0F, 1.0F, 0.0F); break; case FRONT: rBase.Set(MinX, MinY, MaxZ); - rNormal.Set(0.0f, 0.0f, 1.0f); + rNormal.Set(0.0F, 0.0F, 1.0F); break; case BACK: rBase.Set(MinX, MinY, MinZ); - rNormal.Set(0.0f, 0.0f, 1.0f); + rNormal.Set(0.0F, 0.0F, 1.0F); break; default: break; } } -template -inline bool BoundBox3<_Precision>::CalcEdge (unsigned short usEdge, Vector3<_Precision>& rcP0, Vector3<_Precision>& rcP1) const +template +inline bool BoundBox3::CalcEdge (unsigned short usEdge, Vector3& rcP0, + Vector3& rcP1) const { switch (usEdge) { - case 0: - rcP0 = CalcPoint(0); - rcP1 = CalcPoint(1); + case TLB_TLF: + rcP0 = CalcPoint(TLB); + rcP1 = CalcPoint(TLF); break; - case 1: - rcP0 = CalcPoint(1); - rcP1 = CalcPoint(2); + case TLF_TRF: + rcP0 = CalcPoint(TLF); + rcP1 = CalcPoint(TRF); break; - case 2: - rcP0 = CalcPoint(2); - rcP1 = CalcPoint(3); + case TRF_TRB: + rcP0 = CalcPoint(TRF); + rcP1 = CalcPoint(TRB); break; - case 3: - rcP0 = CalcPoint(3); - rcP1 = CalcPoint(0); + case TRB_TLB: + rcP0 = CalcPoint(TRB); + rcP1 = CalcPoint(TLB); break; - case 4: - rcP0 = CalcPoint(4); - rcP1 = CalcPoint(5); + case BLB_BLF: + rcP0 = CalcPoint(BLB); + rcP1 = CalcPoint(BLF); break; - case 5: - rcP0 = CalcPoint(5); - rcP1 = CalcPoint(6); + case BLF_BRF: + rcP0 = CalcPoint(BLF); + rcP1 = CalcPoint(BRF); break; - case 6: - rcP0 = CalcPoint(6); - rcP1 = CalcPoint(7); + case BRF_BRB: + rcP0 = CalcPoint(BRF); + rcP1 = CalcPoint(BRB); break; - case 7: - rcP0 = CalcPoint(7); - rcP1 = CalcPoint(4); + case BRB_BLB: + rcP0 = CalcPoint(BRB); + rcP1 = CalcPoint(BLB); break; - case 8: - rcP0 = CalcPoint(0); - rcP1 = CalcPoint(4); + case TLB_BLB: + rcP0 = CalcPoint(TLB); + rcP1 = CalcPoint(BLB); break; - case 9: - rcP0 = CalcPoint(1); - rcP1 = CalcPoint(5); + case TLF_BLF: + rcP0 = CalcPoint(TLF); + rcP1 = CalcPoint(BLF); break; - case 10: - rcP0 = CalcPoint(2); - rcP1 = CalcPoint(6); + case TRF_BRF: + rcP0 = CalcPoint(TRF); + rcP1 = CalcPoint(BRF); break; - case 11: - rcP0 = CalcPoint(3); - rcP1 = CalcPoint(7); + case TRB_BRB: + rcP0 = CalcPoint(TRB); + rcP1 = CalcPoint(BRB); break; default: return false; // undefined @@ -591,12 +647,15 @@ inline bool BoundBox3<_Precision>::CalcEdge (unsigned short usEdge, Vector3<_Pre return true; } -template -inline bool BoundBox3<_Precision>::IntersectionPoint (const Vector3<_Precision> &rcVct, const Vector3<_Precision> &rcVctDir, Vector3<_Precision>& cVctRes, _Precision epsilon) const +template +inline bool BoundBox3::IntersectionPoint (const Vector3 &rcVct, + const Vector3 &rcVctDir, + Vector3& cVctRes, + Precision epsilon) const { + const unsigned short num = 6; bool rc=false; - BoundBox3<_Precision> cCmpBound(*this); - unsigned short i; + BoundBox3 cCmpBound(*this); // enlarge bounding box by epsilon cCmpBound.Enlarge(epsilon); @@ -604,10 +663,13 @@ inline bool BoundBox3<_Precision>::IntersectionPoint (const Vector3<_Precision> // Is point inside? if (cCmpBound.IsInBox (rcVct)) { // test sides - for (i = 0; (i < 6) && (!rc); i++) { + for (unsigned short i = 0; (i < num) && (!rc); i++) { rc = IntersectPlaneWithLine(i, rcVct, rcVctDir, cVctRes); - if (!cCmpBound.IsInBox(cVctRes)) + + if (!cCmpBound.IsInBox(cVctRes)) { rc = false; + } + if (rc) { // does intersection point lie in desired direction // or was found the opposing side? @@ -620,10 +682,13 @@ inline bool BoundBox3<_Precision>::IntersectionPoint (const Vector3<_Precision> return rc; } -template -inline bool BoundBox3<_Precision>::IsCutLine (const Vector3<_Precision>& rcBase, const Vector3<_Precision>& rcDir, _Precision fTolerance) const +template +inline bool BoundBox3::IsCutLine (const Vector3& rcBase, + const Vector3& rcDir, + Precision fTolerance) const { - _Precision fDist; + const unsigned short num = 6; + Precision fDist; // at first only a rough and quick test by the // Distance of the line to the center of the BB is calculated @@ -636,34 +701,36 @@ inline bool BoundBox3<_Precision>::IsCutLine (const Vector3<_Precision>& rcBase, if (fDist > (CalcDiagonalLength() + fTolerance)) { return false; } - else { // more detailed test here - unsigned char i; - Vector3<_Precision> clVectRes; - // intersect each face with the line - for (i = 0; i < 6; i++) { - if (IntersectPlaneWithLine(i, rcBase, rcDir, clVectRes)) { - // Check whether the intersection point is within BB limits + Tolerance - switch (i) { - case LEFT : // left and right plane - case RIGHT : - if ((isOnRayW (MinY - fTolerance, MaxY + fTolerance, clVectRes.y) && - isOnRayW (MinZ - fTolerance, MaxZ + fTolerance, clVectRes.z))) - return true; - break; - case TOP : // top and bottom plane - case BOTTOM : - if ((isOnRayW (MinX - fTolerance, MaxX + fTolerance, clVectRes.x) && - isOnRayW (MinZ - fTolerance, MaxZ + fTolerance, clVectRes.z))) - return true; - break; - case FRONT : // front and back plane - case BACK : - if ((isOnRayW (MinX - fTolerance, MaxX + fTolerance, clVectRes.x) && - isOnRayW (MinY - fTolerance, MaxY + fTolerance, clVectRes.y))) - return true; - break; - } + // more detailed test here + Vector3 clVectRes; + + // intersect each face with the line + for (unsigned short i = 0; i < num; i++) { + if (IntersectPlaneWithLine(i, rcBase, rcDir, clVectRes)) { + // Check whether the intersection point is within BB limits + Tolerance + switch (i) { + case LEFT : // left and right plane + case RIGHT : + if ((isOnRayW (MinY - fTolerance, MaxY + fTolerance, clVectRes.y) && + isOnRayW (MinZ - fTolerance, MaxZ + fTolerance, clVectRes.z))) { + return true; + } + break; + case TOP : // top and bottom plane + case BOTTOM : + if ((isOnRayW (MinX - fTolerance, MaxX + fTolerance, clVectRes.x) && + isOnRayW (MinZ - fTolerance, MaxZ + fTolerance, clVectRes.z))) { + return true; + } + break; + case FRONT : // front and back plane + case BACK : + if ((isOnRayW (MinX - fTolerance, MaxX + fTolerance, clVectRes.x) && + isOnRayW (MinY - fTolerance, MaxY + fTolerance, clVectRes.y))) { + return true; + } + break; } } } @@ -671,52 +738,63 @@ inline bool BoundBox3<_Precision>::IsCutLine (const Vector3<_Precision>& rcBase, return false; } -template -inline bool BoundBox3<_Precision>::IsCutPlane (const Vector3<_Precision> &rclBase, const Vector3<_Precision> &rclNormal) const +template +inline bool BoundBox3::IsCutPlane (const Vector3 &rclBase, + const Vector3 &rclNormal) const { + const unsigned short num = 8; if (fabs(GetCenter().DistanceToPlane(rclBase, rclNormal)) < CalcDiagonalLength()) { - _Precision fD = CalcPoint(0).DistanceToPlane(rclBase, rclNormal); - for (unsigned short i = 1; i < 8; i++) { - if ((CalcPoint(i).DistanceToPlane(rclBase, rclNormal) * fD) <= 0.0f) + Precision fD = CalcPoint(CORNER::TLB).DistanceToPlane(rclBase, rclNormal); + for (unsigned short i = 1; i < num; i++) { + if ((CalcPoint(i).DistanceToPlane(rclBase, rclNormal) * fD) <= 0.0F) { return true; + } } } return false; } -template -inline bool BoundBox3<_Precision>::IntersectWithLine (const Vector3<_Precision> & rcBase, const Vector3<_Precision>& rcDir, - Vector3<_Precision>& rcP0, Vector3<_Precision>& rcP1) const +// NOLINTBEGIN(bugprone-easily-swappable-parameters) +template +inline bool BoundBox3::IntersectWithLine (const Vector3 & rcBase, + const Vector3& rcDir, + Vector3& rcP0, + Vector3& rcP1) const +// NOLINTEND(bugprone-easily-swappable-parameters) { - Vector3<_Precision> clVectRes, clVect[6]; - + const unsigned short num = 6; + Vector3 clVectRes; + std::array, num> clVect; unsigned short numIntersect = 0; + + auto checkIntersect = [&](Base::Vector3 p1, + Base::Vector3 p2) { + if (isOnRayS(p1.x, p1.y, p1.z) && isOnRayS(p2.x, p2.y, p2.z)) { + clVect[numIntersect] = clVectRes; + numIntersect++; + } + }; + // cut each face with the line - for (unsigned short i = 0; i < 6; i++) { + for (unsigned short i = 0; i < num; i++) { if (IntersectPlaneWithLine(i, rcBase, rcDir, clVectRes)) { // check if intersection point is inside switch (i) { case LEFT : // left and right plane case RIGHT : - if ((isOnRayS(MinY, MaxY, clVectRes.y) && - isOnRayS(MinZ, MaxZ, clVectRes.z))) { - clVect[numIntersect] = clVectRes; - numIntersect++; - } break; + checkIntersect(Vector3{MinY, MaxY, clVectRes.y}, + Vector3{MinZ, MaxZ, clVectRes.z}); + break; case TOP : // top and bottom plane case BOTTOM : - if ((isOnRayS(MinX, MaxX, clVectRes.x) && - isOnRayS(MinZ, MaxZ, clVectRes.z))) { - clVect[numIntersect] = clVectRes; - numIntersect++; - } break; + checkIntersect(Vector3{MinX, MaxX, clVectRes.x}, + Vector3{MinZ, MaxZ, clVectRes.z}); + break; case FRONT : // front and back plane case BACK : - if ((isOnRayS(MinX, MaxX, clVectRes.x) && - isOnRayS(MinY, MaxY, clVectRes.y))) { - clVect[numIntersect] = clVectRes; - numIntersect++; - } break; + checkIntersect(Vector3{MinX, MaxX, clVectRes.x}, + Vector3{MinY, MaxY, clVectRes.y}); + break; } } } @@ -726,7 +804,8 @@ inline bool BoundBox3<_Precision>::IntersectWithLine (const Vector3<_Precision> rcP1 = clVect[1]; return true; } - else if (numIntersect > 2) { // search two different intersection points + + if (numIntersect > 2) { // search two different intersection points for (unsigned short i = 1; i < numIntersect; i++) { if (clVect[i] != clVect[0]) { rcP0 = clVect[0]; @@ -739,247 +818,273 @@ inline bool BoundBox3<_Precision>::IntersectWithLine (const Vector3<_Precision> return false; } -template -inline bool BoundBox3<_Precision>::IntersectPlaneWithLine (unsigned short usSide, const Vector3<_Precision>& rcBase, - const Vector3<_Precision>& rcDir, Vector3<_Precision>& rcP0) const +// NOLINTBEGIN(bugprone-easily-swappable-parameters) +template +inline bool BoundBox3::IntersectPlaneWithLine (unsigned short usSide, + const Vector3& rcBase, + const Vector3& rcDir, + Vector3& rcP0) const +// NOLINTEND(bugprone-easily-swappable-parameters) { - _Precision k; - Vector3<_Precision> cBase, cNormal; - Vector3<_Precision> cDir(rcDir); + Precision value; + Vector3 cBase; + Vector3 cNormal; + Vector3 cDir(rcDir); CalcPlane(usSide, cBase, cNormal); - if ((cNormal * cDir) == 0.0f) { + if ((cNormal * cDir) == 0.0F) { return false; // no point of intersection } - else { - k = (cNormal * (cBase - rcBase)) / (cNormal * cDir); - cDir.Scale(k, k, k); - rcP0 = rcBase + cDir; - return true; - } + + value = (cNormal * (cBase - rcBase)) / (cNormal * cDir); + cDir.Scale(value, value, value); + rcP0 = rcBase + cDir; + return true; } -template -inline typename BoundBox3<_Precision>::SIDE BoundBox3<_Precision>::GetSideFromRay (const Vector3<_Precision> &rclPt, const Vector3<_Precision> &rclDir) const +template +inline typename BoundBox3::SIDE +BoundBox3::GetSideFromRay (const Vector3 &rclPt, + const Vector3 &rclDir) const { - Vector3<_Precision> cIntersection; + Vector3 cIntersection; return GetSideFromRay( rclPt, rclDir, cIntersection); } -template -inline typename BoundBox3<_Precision>::SIDE BoundBox3<_Precision>::GetSideFromRay (const Vector3<_Precision> &rclPt, const Vector3<_Precision> &rclDir, - Vector3<_Precision>& rcInt) const +template +inline typename BoundBox3::SIDE +BoundBox3::GetSideFromRay (const Vector3 &rclPt, + const Vector3 &rclDir, + Vector3& rcInt) const { - Vector3<_Precision> cP0, cP1; - if (!IntersectWithLine(rclPt, rclDir, cP0, cP1)) + Vector3 cP0; + Vector3 cP1; + if (!IntersectWithLine(rclPt, rclDir, cP0, cP1)) { return INVALID; + } - Vector3<_Precision> cOut; + Vector3 cOut; // same orientation - if ((cP1-cP0)*rclDir > 0) + if ((cP1-cP0)*rclDir > 0) { cOut = cP1; - else + } + else { cOut = cP0; + } rcInt = cOut; - _Precision fMax = 1.0e-3f; + Precision fMax = 1.0e-3F; //NOLINT SIDE tSide = INVALID; if (fabs(cOut.x - MinX) < fMax) { // left plane - fMax = _Precision(fabs(cOut.x - MinX)); + fMax = Precision(fabs(cOut.x - MinX)); tSide = LEFT; } if (fabs(cOut.x - MaxX) < fMax) { // right plane - fMax = _Precision(fabs(cOut.x - MaxX)); + fMax = Precision(fabs(cOut.x - MaxX)); tSide = RIGHT; } if (fabs(cOut.y - MinY) < fMax) { // bottom plane - fMax = _Precision(fabs(cOut.y - MinY)); + fMax = Precision(fabs(cOut.y - MinY)); tSide = BOTTOM; } if (fabs(cOut.y - MaxY) < fMax) { // top plane - fMax = _Precision(fabs(cOut.y - MaxY)); + fMax = Precision(fabs(cOut.y - MaxY)); tSide = TOP; } if (fabs(cOut.z - MinZ) < fMax) { // front plane - fMax = _Precision(fabs(cOut.z - MinZ)); + fMax = Precision(fabs(cOut.z - MinZ)); tSide = FRONT; } if (fabs(cOut.z - MaxZ) < fMax) { // back plane - fMax = _Precision(fabs(cOut.z - MaxZ)); + fMax = Precision(fabs(cOut.z - MaxZ)); tSide = BACK; } return tSide; } -template -inline Vector3<_Precision> BoundBox3<_Precision>::ClosestPoint (const Vector3<_Precision> &rclPt) const +template +inline Vector3 BoundBox3::ClosestPoint (const Vector3 &rclPt) const { -#if 0 - // Get the nearest point of the bb, point MUST be inside the bb! - _Precision fMinDist = std::numeric_limits<_Precision>::max(); - Vector3<_Precision> cBase, cNormal, clRet; + Vector3 closest = rclPt; - for (int i = 0; i < 6; i++) { - Vector3<_Precision> clTemp = rclPt; - CalcPlane(i, cBase, cNormal); - clTemp.ProjectToPlane(cBase, cNormal); - _Precision fDist = (clTemp - rclPt).Length(); - if (fDist < fMinDist) { - fMinDist = fDist; - clRet = clTemp; - } - } + Vector3 center = GetCenter(); + Precision devx = closest.x - center.x; + Precision devy = closest.y - center.y; + Precision devz = closest.z - center.z; - return clRet; -#else - Vector3<_Precision> closest = rclPt; - - Vector3<_Precision> center = GetCenter(); - _Precision devx = closest.x - center.x; - _Precision devy = closest.y - center.y; - _Precision devz = closest.z - center.z; - - _Precision halfwidth = (MaxX - MinX) / 2; - _Precision halfheight = (MaxY - MinY) / 2; - _Precision halfdepth = (MaxZ - MinZ) / 2; + Precision halfwidth = (MaxX - MinX) / 2; + Precision halfheight = (MaxY - MinY) / 2; + Precision halfdepth = (MaxZ - MinZ) / 2; // Move point to be on the nearest plane of the box. - if ((fabs(devx) > fabs(devy)) && (fabs(devx) > fabs(devz))) + if ((fabs(devx) > fabs(devy)) && (fabs(devx) > fabs(devz))) { closest.x = center.x + halfwidth * ((devx < 0.0) ? -1.0 : 1.0); - else if (fabs(devy) > fabs(devz)) + } + else if (fabs(devy) > fabs(devz)) { closest.y = center.y + halfheight * ((devy < 0.0) ? -1.0 : 1.0); - else + } + else { closest.z = center.z + halfdepth * ((devz < 0.0) ? -1.0 : 1.0); + } // Clamp to be inside box. - closest.x = std::min<_Precision>(std::max<_Precision>(closest.x, MinX), MaxX); - closest.y = std::min<_Precision>(std::max<_Precision>(closest.y, MinY), MaxY); - closest.z = std::min<_Precision>(std::max<_Precision>(closest.z, MinZ), MaxZ); + closest.x = std::min(std::max(closest.x, MinX), MaxX); + closest.y = std::min(std::max(closest.y, MinY), MaxY); + closest.z = std::min(std::max(closest.z, MinZ), MaxZ); return closest; -#endif } -template -inline BoundBox2d BoundBox3<_Precision>::ProjectBox(const ViewProjMethod *pclP) const +template +inline BoundBox2d BoundBox3::ProjectBox(const ViewProjMethod* proj) const { + const int num = 8; BoundBox2d clBB2D; clBB2D.SetVoid(); - for (int i = 0; i < 8; i++) { - Vector3<_Precision> clTrsPt = (*pclP)(CalcPoint(i)); + for (int i = 0; i < num; i++) { + Vector3 clTrsPt = (*proj)(CalcPoint(i)); clBB2D.Add(Vector2d(clTrsPt.x, clTrsPt.y)); } return clBB2D; } -template -inline BoundBox3<_Precision> BoundBox3<_Precision>::Transformed(const Matrix4D& mat) const +template +inline BoundBox3 BoundBox3::Transformed(const Matrix4D& mat) const { - BoundBox3<_Precision> bbox; - for (int i=0; i<8; i++) + const int num = 8; + BoundBox3 bbox; + for (int i = 0; i < num; i++) { bbox.Add(mat * CalcPoint(i)); + } return bbox; } -template -inline Vector3<_Precision> BoundBox3<_Precision>::GetCenter () const +template +inline Vector3 BoundBox3::GetCenter () const { - return Vector3<_Precision>((MaxX + MinX) / 2, + return Vector3((MaxX + MinX) / 2, (MaxY + MinY) / 2, (MaxZ + MinZ) / 2); } -template -inline _Precision BoundBox3<_Precision>::CalcDiagonalLength () const +template +inline Vector3 BoundBox3::GetMinimum () const { - return static_cast<_Precision>(sqrt (((MaxX - MinX) * (MaxX - MinX)) + - ((MaxY - MinY) * (MaxY - MinY)) + - ((MaxZ - MinZ) * (MaxZ - MinZ)))); + return Vector3(MinX, MinY, MinZ); } -template -inline void BoundBox3<_Precision>::SetVoid () +template +inline Vector3 BoundBox3::GetMaximum () const { - MinX = MinY = MinZ = std::numeric_limits<_Precision>::max(); - MaxX = MaxY = MaxZ = -std::numeric_limits<_Precision>::max(); + return Vector3(MaxX, MaxY, MaxZ); } -template -inline void BoundBox3<_Precision>::Enlarge (_Precision fLen) +template +inline Precision BoundBox3::CalcDiagonalLength () const +{ + return static_cast(sqrt (((MaxX - MinX) * (MaxX - MinX)) + + ((MaxY - MinY) * (MaxY - MinY)) + + ((MaxZ - MinZ) * (MaxZ - MinZ)))); +} + +template +inline void BoundBox3::SetVoid () +{ + MinX = MinY = MinZ = std::numeric_limits::max(); + MaxX = MaxY = MaxZ = -std::numeric_limits::max(); +} + +template +inline void BoundBox3::Enlarge (Precision fLen) { MinX -= fLen; MinY -= fLen; MinZ -= fLen; MaxX += fLen; MaxY += fLen; MaxZ += fLen; } -template -inline void BoundBox3<_Precision>::Shrink (_Precision fLen) +template +inline void BoundBox3::Shrink (Precision fLen) { MinX += fLen; MinY += fLen; MinZ += fLen; MaxX -= fLen; MaxY -= fLen; MaxZ -= fLen; } -template -inline _Precision BoundBox3<_Precision>::LengthX () const +template +inline Precision BoundBox3::LengthX () const { return MaxX - MinX; } -template -inline _Precision BoundBox3<_Precision>::LengthY () const +template +inline Precision BoundBox3::LengthY () const { return MaxY - MinY; } -template -inline _Precision BoundBox3<_Precision>::LengthZ () const +template +inline Precision BoundBox3::LengthZ () const { return MaxZ - MinZ; } -template -inline void BoundBox3<_Precision>::MoveX (_Precision f) +template +inline Precision BoundBox3::Volume () const { - MinX += f; MaxX += f; + if (!IsValid()) { + return -1.0; + } + return LengthX() * LengthY() * LengthZ(); } -template -inline void BoundBox3<_Precision>::MoveY (_Precision f) +template +inline void BoundBox3::MoveX (Precision value) { - MinY += f; MaxY += f; + MinX += value; + MaxX += value; } -template -inline void BoundBox3<_Precision>::MoveZ (_Precision f) +template +inline void BoundBox3::MoveY (Precision value) { - MinZ += f; MaxZ += f; + MinY += value; + MaxY += value; } -template -inline void BoundBox3<_Precision>::ScaleX (_Precision f) +template +inline void BoundBox3::MoveZ (Precision value) { - MinX *= f; MaxX *= f; + MinZ += value; + MaxZ += value; } -template -inline void BoundBox3<_Precision>::ScaleY (_Precision f) +template +inline void BoundBox3::ScaleX (Precision value) { - MinY *= f; MaxY *= f; + MinX *= value; + MaxX *= value; } -template -inline void BoundBox3<_Precision>::ScaleZ (_Precision f) +template +inline void BoundBox3::ScaleY (Precision value) { - MinZ *= f; MaxZ *= f; + MinY *= value; + MaxY *= value; +} + +template +inline void BoundBox3::ScaleZ (Precision value) +{ + MinZ *= value; + MaxZ *= value; } using BoundBox3f = BoundBox3; diff --git a/src/Base/BoundBoxPy.xml b/src/Base/BoundBoxPy.xml index f7917f5cce..876b4462c4 100644 --- a/src/Base/BoundBoxPy.xml +++ b/src/Base/BoundBoxPy.xml @@ -14,7 +14,8 @@ This is the BoundBox export class - Base.BoundBox class.\n + Base.BoundBox class. + This class represents a bounding box. A bounding box is a rectangular cuboid which is a way to describe outer boundaries and is obtained from a lot of 3D types. @@ -22,85 +23,118 @@ It is often used to check if a 3D entity lies in the range of another object. Checking for bounding interference first can save a lot of computing time! An invalid BoundBox is represented by inconsistent values at each direction: The maximum float value of the system at the minimum coordinates, and the -opposite value at the maximum coordinates.\n -The following constructors are supported:\n +opposite value at the maximum coordinates. + +The following constructors are supported: + BoundBox() -Empty constructor. Returns an invalid BoundBox.\n +Empty constructor. Returns an invalid BoundBox. + BoundBox(boundBox) Copy constructor. -boundBox : Base.BoundBox\n +boundBox : Base.BoundBox + BoundBox(xMin, yMin=0, zMin=0, xMax=0, yMax=0, zMax=0) Define from the minimum and maximum values at each direction. -xMin : float\n Minimum value at x-coordinate. -yMin : float\n Minimum value at y-coordinate. -zMin : float\n Minimum value at z-coordinate. -xMax : float\n Maximum value at x-coordinate. -yMax : float\n Maximum value at y-coordinate. -zMax : float\n Maximum value at z-coordinate.\n +xMin : float + Minimum value at x-coordinate. +yMin : float + Minimum value at y-coordinate. +zMin : float + Minimum value at z-coordinate. +xMax : float + Maximum value at x-coordinate. +yMax : float + Maximum value at y-coordinate. +zMax : float + Maximum value at z-coordinate. + App.BoundBox(min, max) Define from two containers representing the minimum and maximum values of the coordinates in each direction. -min : Base.Vector, tuple\n Minimum values of the coordinates. -max : Base.Vector, tuple\n Maximum values of the coordinates. +min : Base.Vector, tuple + Minimum values of the coordinates. +max : Base.Vector, tuple + Maximum values of the coordinates. - setVoid() -> None\n + setVoid() -> None + Invalidate the bounding box. - isValid() -> bool\n + isValid() -> bool + Checks if the bounding box is valid. add(minMax) -> None -add(x, y, z) -> None\n +add(x, y, z) -> None + Increase the maximum values or decrease the minimum values of this BoundBox by replacing the current values with the given values, so the bounding box can grow -but not shrink.\n -minMax : Base.Vector, tuple\n Values to enlarge at each direction. -x : float\n Value to enlarge at x-direction. -y : float\n Value to enlarge at y-direction. -z : float\n Value to enlarge at z-direction. +but not shrink. + +minMax : Base.Vector, tuple + Values to enlarge at each direction. +x : float + Value to enlarge at x-direction. +y : float + Value to enlarge at y-direction. +z : float + Value to enlarge at z-direction. - getPoint(index) ->Base.Vector\n + getPoint(index) ->Base.Vector + Get the point of the given index. -The index must be in the range of [0, 7].\n +The index must be in the range of [0, 7]. + index : int - getEdge(index) -> tuple of Base.Vector\n + getEdge(index) -> tuple of Base.Vector + Get the edge points of the given index. -The index must be in the range of [0, 11].\n +The index must be in the range of [0, 11]. + index : int closestPoint(point) -> Base.Vector -closestPoint(x, y, z) -> Base.Vector\n -Get the closest point of the bounding box to the given point.\n -point : Base.Vector, tuple\n Coordinates of the given point. -x : float\n X-coordinate of the given point. -y : float\n Y-coordinate of the given point. -z : float\n Z-coordinate of the given point. +closestPoint(x, y, z) -> Base.Vector + +Get the closest point of the bounding box to the given point. + +point : Base.Vector, tuple + Coordinates of the given point. +x : float + X-coordinate of the given point. +y : float + Y-coordinate of the given point. +z : float + Z-coordinate of the given point. intersect(boundBox2) -> bool -intersect(base, dir) -> bool\n +intersect(base, dir) -> bool + Checks if the given object intersects with this bounding box. That can be -another bounding box or a line specified by base and direction.\n +another bounding box or a line specified by base and direction. + boundBox2 : Base.BoundBox base : Base.Vector, tuple dir : Base.Vector, tuple @@ -108,72 +142,100 @@ dir : Base.Vector, tuple - intersected(boundBox2) -> Base.BoundBox\n -Returns the intersection of this and the given bounding box.\n + intersected(boundBox2) -> Base.BoundBox + +Returns the intersection of this and the given bounding box. + boundBox2 : Base.BoundBox - united(boundBox2) -> Base.BoundBox\n -Returns the union of this and the given bounding box.\n + united(boundBox2) -> Base.BoundBox + +Returns the union of this and the given bounding box. + boundBox2 : Base.BoundBox - enlarge(variation) -> None\n + enlarge(variation) -> None + Decrease the minimum values and increase the maximum values by the given value. -A negative value shrinks the bounding box.\n +A negative value shrinks the bounding box. + variation : float - getIntersectionPoint(base, dir, epsilon=0.0001) -> Base.Vector\n + getIntersectionPoint(base, dir, epsilon=0.0001) -> Base.Vector + Calculate the intersection point of a line with the bounding box. -The base point must lie inside the bounding box, if not an exception is thrown.\n -base : Base.Vector\n Base point of the line. -dir : Base.Vector\n Direction of the line. -epsilon : float\n Bounding box size tolerance. +The base point must lie inside the bounding box, if not an exception is thrown. + +base : Base.Vector + Base point of the line. +dir : Base.Vector + Direction of the line. +epsilon : float + Bounding box size tolerance. move(displacement) -> None -move(x, y, z) -> None\n -Move the bounding box by the given values.\n -displacement : Base.Vector, tuple\n Displacement at each direction. -x : float\n Displacement at x-direction. -y : float\n Displacement at y-direction. -z : float\n Displacement at z-direction. +move(x, y, z) -> None + +Move the bounding box by the given values. + +displacement : Base.Vector, tuple + Displacement at each direction. +x : float + Displacement at x-direction. +y : float + Displacement at y-direction. +z : float + Displacement at z-direction. scale(factor) -> None -scale(x, y, z) -> None\n -Scale the bounding box by the given values.\n -factor : Base.Vector, tuple\n Factor scale at each direction. -x : float\n Scale at x-direction. -y : float\n Scale at y-direction. -z : float\n Scale at z-direction. +scale(x, y, z) -> None + +Scale the bounding box by the given values. + +factor : Base.Vector, tuple + Factor scale at each direction. +x : float + Scale at x-direction. +y : float + Scale at y-direction. +z : float + Scale at z-direction. - transformed(matrix) -> Base.BoundBox\n + transformed(matrix) -> Base.BoundBox + Returns a new BoundBox containing the transformed rectangular cuboid -represented by this BoundBox.\n -matrix : Base.Matrix\n Transformation matrix. +represented by this BoundBox. + +matrix : Base.Matrix + Transformation matrix. - isCutPlane(base, normal) -> bool\n + isCutPlane(base, normal) -> bool + Check if the plane specified by base and normal intersects (cuts) this bounding -box.\n +box. + base : Base.Vector normal : Base.Vector @@ -181,12 +243,18 @@ normal : Base.Vector isInside(object) -> bool -isInside(x, y, z) -> bool\n -Check if a point or a bounding box is inside this bounding box.\n -object : Base.Vector, Base.BoundBox\n Object to check if it is inside this bounding box. -x : float\n X-coordinate of the point to check. -y : float\n Y-coordinate of the point to check. -z : float\n Z-coordinate of the point to check. +isInside(x, y, z) -> bool + +Check if a point or a bounding box is inside this bounding box. + +object : Base.Vector, Base.BoundBox + Object to check if it is inside this bounding box. +x : float + X-coordinate of the point to check. +y : float + Y-coordinate of the point to check. +z : float + Z-coordinate of the point to check. diff --git a/src/Base/BoundBoxPyImp.cpp b/src/Base/BoundBoxPyImp.cpp index 41642252fa..df8ba28202 100644 --- a/src/Base/BoundBoxPyImp.cpp +++ b/src/Base/BoundBoxPyImp.cpp @@ -63,7 +63,7 @@ int BoundBoxPy::PyInit(PyObject* args, PyObject* /*kwd*/) PyErr_Clear(); // set by PyArg_ParseTuple() double xMin=0.0,yMin=0.0,zMin=0.0,xMax=0.0,yMax=0.0,zMax=0.0; - PyObject *object1, *object2; + PyObject *object1{}, *object2{}; BoundBoxPy::PointerType ptr = getBoundBoxPtr(); if (PyArg_ParseTuple(args, "d|ddddd", &xMin, &yMin, &zMin, &xMax, &yMax, &zMax)) { ptr->MaxX = xMax; @@ -125,8 +125,8 @@ PyObject* BoundBoxPy::isValid(PyObject *args) PyObject* BoundBoxPy::add(PyObject *args) { - double x,y,z; - PyObject *object; + double x{},y{},z{}; + PyObject *object{}; if (PyArg_ParseTuple(args, "ddd", &x,&y,&z)) { getBoundBoxPtr()->Add(Vector3d(x,y,z)); Py_Return; @@ -156,7 +156,7 @@ PyObject* BoundBoxPy::add(PyObject *args) PyObject* BoundBoxPy::getPoint(PyObject *args) { - unsigned short index; + unsigned short index{}; if (!PyArg_ParseTuple(args,"H",&index)) return nullptr; @@ -171,7 +171,7 @@ PyObject* BoundBoxPy::getPoint(PyObject *args) PyObject* BoundBoxPy::getEdge(PyObject *args) { - unsigned short index; + unsigned short index{}; if (!PyArg_ParseTuple(args,"H",&index)) return nullptr; @@ -190,8 +190,8 @@ PyObject* BoundBoxPy::getEdge(PyObject *args) PyObject* BoundBoxPy::closestPoint(PyObject *args) { - double x,y,z; - PyObject *object; + double x{},y{},z{}; + PyObject *object{}; Base::Vector3d vec; @@ -225,7 +225,7 @@ PyObject* BoundBoxPy::closestPoint(PyObject *args) PyObject* BoundBoxPy::intersect(PyObject *args) { - PyObject *object,*object2; + PyObject *object{},*object2{}; Py::Boolean retVal; if (!getBoundBoxPtr()->IsValid()) { @@ -267,7 +267,7 @@ PyObject* BoundBoxPy::intersected(PyObject *args) return nullptr; } - PyObject *object; + PyObject *object{}; if (!PyArg_ParseTuple(args,"O!",&(Base::BoundBoxPy::Type), &object)) return nullptr; if (!static_cast(object)->getBoundBoxPtr()->IsValid()) { @@ -286,7 +286,7 @@ PyObject* BoundBoxPy::united(PyObject *args) return nullptr; } - PyObject *object; + PyObject *object{}; if (!PyArg_ParseTuple(args,"O!",&(Base::BoundBoxPy::Type), &object)) return nullptr; if (!static_cast(object)->getBoundBoxPtr()->IsValid()) { @@ -300,7 +300,7 @@ PyObject* BoundBoxPy::united(PyObject *args) PyObject* BoundBoxPy::enlarge(PyObject *args) { - double s; + double s{}; if (!PyArg_ParseTuple(args, "d;Need float parameter to enlarge", &s)) return nullptr; getBoundBoxPtr()->Enlarge(s); @@ -309,7 +309,7 @@ PyObject* BoundBoxPy::enlarge(PyObject *args) PyObject* BoundBoxPy::getIntersectionPoint(PyObject *args) { - PyObject *object,*object2; + PyObject *object{},*object2{}; double epsilon=0.0001; if (!PyArg_ParseTuple(args,"O!O!|d;Need base and direction vector", &(Base::VectorPy::Type), &object,&(Base::VectorPy::Type), &object2, &epsilon)) @@ -331,8 +331,8 @@ PyObject* BoundBoxPy::getIntersectionPoint(PyObject *args) PyObject* BoundBoxPy::move(PyObject *args) { - double x,y,z; - PyObject *object; + double x{},y{},z{}; + PyObject *object{}; Base::Vector3d vec; @@ -369,8 +369,8 @@ PyObject* BoundBoxPy::move(PyObject *args) PyObject* BoundBoxPy::scale(PyObject *args) { - double x,y,z; - PyObject *object; + double x{},y{},z{}; + PyObject *object{}; Base::Vector3d vec; @@ -407,7 +407,7 @@ PyObject* BoundBoxPy::scale(PyObject *args) PyObject* BoundBoxPy::transformed(PyObject *args) { - PyObject *mat; + PyObject *mat{}; if (!PyArg_ParseTuple(args,"O!", &(Base::MatrixPy::Type), &mat)) return nullptr; @@ -420,7 +420,7 @@ PyObject* BoundBoxPy::transformed(PyObject *args) PyObject* BoundBoxPy::isCutPlane(PyObject *args) { - PyObject *object,*object2; + PyObject *object{},*object2{}; Py::Boolean retVal; if (!getBoundBoxPtr()->IsValid()) { @@ -441,8 +441,8 @@ PyObject* BoundBoxPy::isCutPlane(PyObject *args) PyObject* BoundBoxPy::isInside(PyObject *args) { - double x,y,z; - PyObject *object; + double x{},y{},z{}; + PyObject *object{}; Py::Boolean retVal; if (!getBoundBoxPtr()->IsValid()) { @@ -488,7 +488,7 @@ PyObject* BoundBoxPy::isInside(PyObject *args) Py::Object BoundBoxPy::getCenter() const { - return Py::Vector(getBoundBoxPtr()->GetCenter()); + return Py::Vector(getBoundBoxPtr()->GetCenter()); // NOLINT } Py::Float BoundBoxPy::getXMax() const diff --git a/src/Base/Builder3D.cpp b/src/Base/Builder3D.cpp index 25cfe518ba..391cc2ceb3 100644 --- a/src/Base/Builder3D.cpp +++ b/src/Base/Builder3D.cpp @@ -918,9 +918,7 @@ InventorBuilder::InventorBuilder(std::ostream& output) result << "#Inventor V2.1 ascii \n\n"; } -InventorBuilder:: ~InventorBuilder() -{ -} +InventorBuilder:: ~InventorBuilder() = default; void InventorBuilder::increaseIndent() { diff --git a/src/Base/Builder3D.h b/src/Base/Builder3D.h index 7dfa6b410a..bad25860c0 100644 --- a/src/Base/Builder3D.h +++ b/src/Base/Builder3D.h @@ -613,8 +613,10 @@ public: private: void increaseIndent(); void decreaseIndent(); - InventorBuilder (const InventorBuilder&); - void operator = (const InventorBuilder&); + +public: + InventorBuilder (const InventorBuilder&) = delete; + void operator = (const InventorBuilder&) = delete; private: std::ostream& result; diff --git a/src/Base/CMakeLists.txt b/src/Base/CMakeLists.txt index 1c8ad149b6..e095c55c53 100644 --- a/src/Base/CMakeLists.txt +++ b/src/Base/CMakeLists.txt @@ -152,6 +152,17 @@ endif () SOURCE_GROUP("pycxx" FILES ${PYCXX_SOURCES}) +set (FreeCADBase_TR_QRC ${CMAKE_CURRENT_BINARY_DIR}/Resources/Base_translation.qrc) +qt_find_and_add_translation(QM_SRCS "Resources/translations/Base_*.ts" + ${CMAKE_CURRENT_BINARY_DIR}/Resources/translations) +qt_create_resource_file_prefix(${FreeCADBase_TR_QRC} ${QM_SRCS}) +set(FreeCADBase_RES_SRCS + Resources/translation.qrc + ${FreeCADBase_TR_QRC} + ) + +qt_add_resources(FreeCADBase_QRC_SRCS ${FreeCADBase_RES_SRCS}) + SET(FreeCADBase_XML_SRCS AxisPy.xml BaseClassPy.xml @@ -310,6 +321,7 @@ SET(FreeCADBase_HPP_SRCS ProgressIndicatorPy.h PyExport.h PyObjectBase.h + PyWrapParseTupleAndKeywords.h PythonTypeExt.h QtTools.h Reader.h diff --git a/src/Base/Console.cpp b/src/Base/Console.cpp index f50fbaa260..94f841eaf8 100644 --- a/src/Base/Console.cpp +++ b/src/Base/Console.cpp @@ -117,13 +117,10 @@ ConsoleOutput* ConsoleOutput::instance = nullptr; ConsoleSingleton::ConsoleSingleton() - : _bVerbose(true) - , _bCanRefresh(true) - , connectionMode(Direct) #ifdef FC_DEBUG - ,_defaultLogLevel(FC_LOGLEVEL_LOG) + : _defaultLogLevel(FC_LOGLEVEL_LOG) #else - ,_defaultLogLevel(FC_LOGLEVEL_MSG) + : _defaultLogLevel(FC_LOGLEVEL_MSG) #endif { } @@ -131,8 +128,8 @@ ConsoleSingleton::ConsoleSingleton() ConsoleSingleton::~ConsoleSingleton() { ConsoleOutput::destruct(); - for (std::set::iterator Iter=_aclObservers.begin();Iter!=_aclObservers.end();++Iter) - delete (*Iter); + for (ILogger* Iter : _aclObservers) + delete Iter; } @@ -282,9 +279,9 @@ void ConsoleSingleton::DetachObserver(ILogger *pcObserver) void Base::ConsoleSingleton::notifyPrivate(LogStyle category, IntendedRecipient recipient, ContentType content, const std::string& notifiername, const std::string& msg) { - for (std::set::iterator Iter=_aclObservers.begin();Iter!=_aclObservers.end();++Iter) { - if ((*Iter)->isActive(category)) { - (*Iter)->SendLog(notifiername, msg, category, recipient, content); // send string to the listener + for (ILogger* Iter : _aclObservers) { + if (Iter->isActive(category)) { + Iter->SendLog(notifiername, msg, category, recipient, content); // send string to the listener } } } @@ -297,11 +294,11 @@ void ConsoleSingleton::postEvent(ConsoleSingleton::FreeCAD_ConsoleMsgType type, ILogger *ConsoleSingleton::Get(const char *Name) const { - const char* OName; - for (std::set::const_iterator Iter=_aclObservers.begin();Iter!=_aclObservers.end();++Iter) { - OName = (*Iter)->Name(); // get the name + const char* OName{}; + for (ILogger* Iter : _aclObservers) { + OName = Iter->Name(); // get the name if (OName && strcmp(OName,Name) == 0) - return *Iter; + return Iter; } return nullptr; } @@ -427,8 +424,8 @@ PyMethodDef ConsoleSingleton::Methods[] = { namespace { PyObject* FC_PYCONSOLE_MSG(std::function func, PyObject* args) { - PyObject *output; - PyObject *notifier; + PyObject *output{}; + PyObject *notifier{}; const char* notifierStr = ""; @@ -595,8 +592,8 @@ PyObject *ConsoleSingleton::sPyTranslatedNotification(PyObject * /*self*/, PyObj PyObject *ConsoleSingleton::sPyGetStatus(PyObject * /*self*/, PyObject *args) { - char *pstr1; - char *pstr2; + char *pstr1{}; + char *pstr2{}; if (!PyArg_ParseTuple(args, "ss", &pstr1, &pstr2)) return nullptr; @@ -628,9 +625,9 @@ PyObject *ConsoleSingleton::sPyGetStatus(PyObject * /*self*/, PyObject *args) PyObject *ConsoleSingleton::sPySetStatus(PyObject * /*self*/, PyObject *args) { - char *pstr1; - char *pstr2; - PyObject* pyStatus; + char *pstr1{}; + char *pstr2{}; + PyObject* pyStatus{}; if (!PyArg_ParseTuple(args, "ssO!", &pstr1, &pstr2, &PyBool_Type, &pyStatus)) return nullptr; diff --git a/src/Base/Console.h b/src/Base/Console.h index 3dcf6d54cc..fcda8f5a2d 100644 --- a/src/Base/Console.h +++ b/src/Base/Console.h @@ -511,8 +511,7 @@ enum class ContentType { class BaseExport ILogger { public: - ILogger() - :bErr(true), bMsg(true), bLog(true), bWrn(true), bCritical(true), bNotification(false){} + ILogger() = default; virtual ~ILogger() = 0; /** Used to send a Log message at the given level. @@ -562,7 +561,12 @@ public: } virtual const char *Name(){return nullptr;} - bool bErr, bMsg, bLog, bWrn, bCritical, bNotification; + bool bErr{true}; + bool bMsg{true}; + bool bLog{true}; + bool bWrn{true}; + bool bCritical{true}; + bool bNotification{false}; }; @@ -810,9 +814,9 @@ protected: static PyObject *sPyGetStatus (PyObject *self,PyObject *args); static PyObject *sPyGetObservers (PyObject *self,PyObject *args); - bool _bVerbose; - bool _bCanRefresh; - ConnectionMode connectionMode; + bool _bVerbose{true}; + bool _bCanRefresh{true}; + ConnectionMode connectionMode{Direct}; // Singleton! ConsoleSingleton(); diff --git a/src/Base/Converter.h b/src/Base/Converter.h index f68aa0a229..fe82becd38 100644 --- a/src/Base/Converter.h +++ b/src/Base/Converter.h @@ -64,7 +64,7 @@ struct vec_traits { using float_type = double; vec_traits(const vec_type& v) : v(v){} inline std::tuple get() const { - float_type q1,q2,q3,q4; + float_type q1{},q2{},q3{},q4{}; v.getValue(q1,q2,q3,q4); return std::make_tuple(q1, q2, q3, q4); } diff --git a/src/Base/CoordinateSystem.cpp b/src/Base/CoordinateSystem.cpp index bd61263cd1..f6295bb775 100644 --- a/src/Base/CoordinateSystem.cpp +++ b/src/Base/CoordinateSystem.cpp @@ -104,26 +104,6 @@ void CoordinateSystem::setZDirection(const Vector3d& dir) Placement CoordinateSystem::displacement(const CoordinateSystem& cs) const { -#if 0 - // align the Z axes - Base::Rotation rotZ(getZDirection(), cs.getZDirection()); - - // align the X axes - Base::Vector3d xd = xdir; - rotZ.multVec(xd,xd); - Base::Rotation rotX(xd, cs.getXDirection()); - - // the transformed base point - Vector3d mov = axis.getBase(); - rotZ.multVec(mov,mov); - rotX.multVec(mov,mov); - mov = cs.getPosition() - mov; - - Base::Rotation rot; - rot = rotX * rotZ; - - return Placement(mov, rot); -#else const Base::Vector3d& a = axis.getBase(); const Base::Vector3d& zdir = axis.getDirection(); Base::Matrix4D At; @@ -140,15 +120,10 @@ Placement CoordinateSystem::displacement(const CoordinateSystem& cs) const B[1][0] = cs.xdir.y; B[1][1] = cs.ydir.y; B[1][2] = cszdir.y; B[1][3] = b.y; B[2][0] = cs.xdir.z; B[2][1] = cs.ydir.z; B[2][2] = cszdir.z; B[2][3] = b.z; - //Base::Matrix4D C; - //C = B * At; - //Placement p(C); - //return p; Placement PAt(At); Placement PB(B); Placement C = PB * PAt; return C; -#endif } void CoordinateSystem::transformTo(Vector3d& p) diff --git a/src/Base/CoordinateSystemPy.xml b/src/Base/CoordinateSystemPy.xml index 63c5169d3b..8342ec2764 100644 --- a/src/Base/CoordinateSystemPy.xml +++ b/src/Base/CoordinateSystemPy.xml @@ -14,46 +14,58 @@ This is the CoordinateSystem export class - Base.CoordinateSystem class.\n -An orthonormal right-handed coordinate system in 3D space.\n + Base.CoordinateSystem class. + +An orthonormal right-handed coordinate system in 3D space. + CoordinateSystem() Empty constructor. - setAxes(axis, xDir) -> None\n + setAxes(axis, xDir) -> None + Set axis or Z-direction, and X-direction. The X-direction is determined from the orthonormal compononent of `xDir` -with respect to `axis` direction.\n +with respect to `axis` direction. + axis : Base.Axis, Base.Vector xDir : Base.Vector - displacement(coordSystem2) -> Base.Placement\n -Computes the placement from this to the passed coordinate system `coordSystem2`.\n + displacement(coordSystem2) -> Base.Placement + +Computes the placement from this to the passed coordinate system `coordSystem2`. + coordSystem2 : Base.CoordinateSystem - transformTo(vector) -> Base.Vector\n -Computes the coordinates of the point in coordinates of this coordinate system.\n + transformTo(vector) -> Base.Vector + +Computes the coordinates of the point in coordinates of this coordinate system. + vector : Base.Vector - transform(trans) -> None\n -Applies a transformation on this coordinate system.\n + transform(trans) -> None + +Applies a transformation on this coordinate system. + trans : Base.Rotation, Base.Placement - setPlacment(placement) -> None\n -Set placement to the coordinate system.\n + setPlacment(placement) -> None + +Set placement to the coordinate system. + placement : Base.Placement diff --git a/src/Base/CoordinateSystemPyImp.cpp b/src/Base/CoordinateSystemPyImp.cpp index cee937a570..7e6dc5cbcd 100644 --- a/src/Base/CoordinateSystemPyImp.cpp +++ b/src/Base/CoordinateSystemPyImp.cpp @@ -35,7 +35,7 @@ using namespace Base; // returns a string which represents the object e.g. when printed in python std::string CoordinateSystemPy::representation() const { - return std::string(""); + return {""}; } PyObject *CoordinateSystemPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper @@ -52,7 +52,7 @@ int CoordinateSystemPy::PyInit(PyObject* /*args*/, PyObject* /*kwd*/) PyObject* CoordinateSystemPy::setAxes(PyObject * args) { - PyObject *axis, *xdir; + PyObject *axis{}, *xdir{}; if (PyArg_ParseTuple(args, "O!O!", &(AxisPy::Type), &axis, &(VectorPy::Type), &xdir)) { getCoordinateSystemPtr()->setAxes(*static_cast(axis)->getAxisPtr(), *static_cast(xdir)->getVectorPtr()); @@ -72,7 +72,7 @@ PyObject* CoordinateSystemPy::setAxes(PyObject * args) PyObject* CoordinateSystemPy::displacement(PyObject * args) { - PyObject *cs; + PyObject *cs{}; if (!PyArg_ParseTuple(args, "O!", &(CoordinateSystemPy::Type), &cs)) return nullptr; Placement p = getCoordinateSystemPtr()->displacement( @@ -82,7 +82,7 @@ PyObject* CoordinateSystemPy::displacement(PyObject * args) PyObject* CoordinateSystemPy::transformTo(PyObject * args) { - PyObject *vec; + PyObject *vec{}; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &vec)) return nullptr; Vector3d v = static_cast(vec)->value(); @@ -92,7 +92,7 @@ PyObject* CoordinateSystemPy::transformTo(PyObject * args) PyObject* CoordinateSystemPy::transform(PyObject * args) { - PyObject *plm; + PyObject *plm{}; if (PyArg_ParseTuple(args, "O!", &(PlacementPy::Type), &plm)) { getCoordinateSystemPtr()->transform(*static_cast(plm)->getPlacementPtr()); Py_Return; @@ -110,7 +110,7 @@ PyObject* CoordinateSystemPy::transform(PyObject * args) PyObject* CoordinateSystemPy::setPlacement(PyObject * args) { - PyObject *plm; + PyObject *plm{}; if (!PyArg_ParseTuple(args, "O!", &(PlacementPy::Type), &plm)) return nullptr; getCoordinateSystemPtr()->setPlacement(*static_cast(plm)->getPlacementPtr()); @@ -136,7 +136,7 @@ void CoordinateSystemPy::setAxis(Py::Object arg) Py::Object CoordinateSystemPy::getXDirection() const { - return Py::Vector(getCoordinateSystemPtr()->getXDirection()); + return Py::Vector(getCoordinateSystemPtr()->getXDirection()); // NOLINT } void CoordinateSystemPy::setXDirection(Py::Object arg) @@ -146,7 +146,7 @@ void CoordinateSystemPy::setXDirection(Py::Object arg) Py::Object CoordinateSystemPy::getYDirection() const { - return Py::Vector(getCoordinateSystemPtr()->getYDirection()); + return Py::Vector(getCoordinateSystemPtr()->getYDirection()); // NOLINT } void CoordinateSystemPy::setYDirection(Py::Object arg) @@ -156,7 +156,7 @@ void CoordinateSystemPy::setYDirection(Py::Object arg) Py::Object CoordinateSystemPy::getZDirection() const { - return Py::Vector(getCoordinateSystemPtr()->getZDirection()); + return Py::Vector(getCoordinateSystemPtr()->getZDirection()); // NOLINT } void CoordinateSystemPy::setZDirection(Py::Object arg) @@ -166,7 +166,7 @@ void CoordinateSystemPy::setZDirection(Py::Object arg) Py::Object CoordinateSystemPy::getPosition() const { - return Py::Vector(getCoordinateSystemPtr()->getPosition()); + return Py::Vector(getCoordinateSystemPtr()->getPosition()); // NOLINT } void CoordinateSystemPy::setPosition(Py::Object arg) diff --git a/src/Base/DualNumber.h b/src/Base/DualNumber.h index 206dae1f09..61c5d850de 100644 --- a/src/Base/DualNumber.h +++ b/src/Base/DualNumber.h @@ -45,48 +45,48 @@ public: DualNumber(double re, double du = 0.0) : re(re), du(du) {} - DualNumber operator-() const {return DualNumber(-re,-du);} + DualNumber operator-() const {return {-re,-du};} }; inline DualNumber operator+(DualNumber a, DualNumber b){ - return DualNumber(a.re + b.re, a.du + b.du); + return {a.re + b.re, a.du + b.du}; } inline DualNumber operator+(DualNumber a, double b){ - return DualNumber(a.re + b, a.du); + return {a.re + b, a.du}; } inline DualNumber operator+(double a, DualNumber b){ - return DualNumber(a + b.re, b.du); + return {a + b.re, b.du}; } inline DualNumber operator-(DualNumber a, DualNumber b){ - return DualNumber(a.re - b.re, a.du - b.du); + return {a.re - b.re, a.du - b.du}; } inline DualNumber operator-(DualNumber a, double b){ - return DualNumber(a.re - b, a.du); + return {a.re - b, a.du}; } inline DualNumber operator-(double a, DualNumber b){ - return DualNumber(a - b.re, -b.du); + return {a - b.re, -b.du}; } inline DualNumber operator*(DualNumber a, DualNumber b){ - return DualNumber(a.re * b.re, a.re * b.du + a.du * b.re); + return {a.re * b.re, a.re * b.du + a.du * b.re}; } inline DualNumber operator*(double a, DualNumber b){ - return DualNumber(a * b.re, a * b.du); + return {a * b.re, a * b.du}; } inline DualNumber operator*(DualNumber a, double b){ - return DualNumber(a.re * b, a.du * b); + return {a.re * b, a.du * b}; } inline DualNumber operator/(DualNumber a, DualNumber b){ - return DualNumber(a.re / b.re, (a.du * b.re - a.re * b.du) / (b.re * b.re)); + return {a.re / b.re, (a.du * b.re - a.re * b.du) / (b.re * b.re)}; } inline DualNumber operator/(DualNumber a, double b){ - return DualNumber(a.re / b, a.du / b); + return {a.re / b, a.du / b}; } inline DualNumber pow(DualNumber a, double pw){ - return Base::DualNumber(std::pow(a.re, pw), pw * std::pow(a.re, pw - 1.0) * a.du); + return {std::pow(a.re, pw), pw * std::pow(a.re, pw - 1.0) * a.du}; } } //namespace diff --git a/src/Base/DualQuaternion.cpp b/src/Base/DualQuaternion.cpp index e45d663abc..731d074481 100644 --- a/src/Base/DualQuaternion.cpp +++ b/src/Base/DualQuaternion.cpp @@ -28,72 +28,72 @@ Base::DualQuat Base::operator+(Base::DualQuat a, Base::DualQuat b) { - return DualQuat( + return { a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w - ); + }; } Base::DualQuat Base::operator-(Base::DualQuat a, Base::DualQuat b) { - return DualQuat( + return { a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w - ); + }; } Base::DualQuat Base::operator*(Base::DualQuat a, Base::DualQuat b) { - return DualQuat( + return { a.w * b.x + a.x * b.w + a.y * b.z - a.z * b.y, a.w * b.y + a.y * b.w + a.z * b.x - a.x * b.z, a.w * b.z + a.z * b.w + a.x * b.y - a.y * b.x, a.w * b.w - a.x * b.x - a.y * b.y - a.z * b.z - ); + }; } Base::DualQuat Base::operator*(Base::DualQuat a, double b) { - return DualQuat( + return { a.x * b, a.y * b, a.z * b, a.w * b - ); + }; } Base::DualQuat Base::operator*(double a, Base::DualQuat b) { - return DualQuat( + return { b.x * a, b.y * a, b.z * a, b.w * a - ); + }; } Base::DualQuat Base::operator*(Base::DualQuat a, Base::DualNumber b) { - return DualQuat( + return { a.x * b, a.y * b, a.z * b, a.w * b - ); + }; } Base::DualQuat Base::operator*(Base::DualNumber a, Base::DualQuat b) { - return DualQuat( + return { b.x * a, b.y * a, b.z * a, b.w * a - ); + }; } Base::DualQuat::DualQuat(Base::DualQuat re, Base::DualQuat du) @@ -136,7 +136,7 @@ Base::DualQuat Base::DualQuat::pow(double t, bool shorten) const double le = this->vec().length(); if (le < 1e-12) { //special case of no rotation. Interpolate position - return DualQuat(this->real(), this->dual()*t); + return {this->real(), this->dual()*t}; } double normmult = 1.0/le; @@ -159,8 +159,8 @@ Base::DualQuat Base::DualQuat::pow(double t, bool shorten) const pitch *= t; //back to quaternion - return DualQuat( + return { l * sin(theta/2) + DualQuat(0,0,0,cos(theta/2)), m * sin(theta/2) + pitch / 2 * cos(theta/2) * l + DualQuat(0,0,0,-pitch/2*sin(theta/2)) - ); + }; } diff --git a/src/Base/DualQuaternion.h b/src/Base/DualQuaternion.h index 509a454af2..62a85a019f 100644 --- a/src/Base/DualQuaternion.h +++ b/src/Base/DualQuaternion.h @@ -60,19 +60,19 @@ public: DualQuat(DualQuat re, DualQuat du); ///returns dual quaternion for identity placement - static DualQuat identity() {return DualQuat(0.0, 0.0, 0.0, 1.0);} + static DualQuat identity() {return {0.0, 0.0, 0.0, 1.0};} ///return a copy with dual part zeroed out - DualQuat real() const {return DualQuat(x.re, y.re, z.re, w.re);} + DualQuat real() const {return {x.re, y.re, z.re, w.re};} ///return a real-only quaternion made from dual part of this quaternion. - DualQuat dual() const {return DualQuat(x.du, y.du, z.du, w.du);} + DualQuat dual() const {return {x.du, y.du, z.du, w.du};} ///conjugate - DualQuat conj() const {return DualQuat(-x, -y, -z, w);} + DualQuat conj() const {return {-x, -y, -z, w};} ///return vector part (with scalar part zeroed out) - DualQuat vec() const {return DualQuat(x,y,z,0.0);} + DualQuat vec() const {return {x,y,z,0.0};} ///magnitude of the quaternion double length() const {return sqrt(x.re*x.re + y.re*y.re + z.re*z.re + w.re*w.re);} @@ -86,7 +86,7 @@ public: ///ScLERP. t=0.0 returns identity, t=1.0 returns this. t can also be outside of 0..1 bounds. DualQuat pow(double t, bool shorten = true) const; - DualQuat operator-() const {return DualQuat(-x, -y, -z, -w);} + DualQuat operator-() const {return {-x, -y, -z, -w};} //DEBUG //void print() const { @@ -94,14 +94,14 @@ public: //} }; -DualQuat operator+(DualQuat a, DualQuat b); -DualQuat operator-(DualQuat a, DualQuat b); -DualQuat operator*(DualQuat a, DualQuat b); +BaseExport DualQuat operator+(DualQuat a, DualQuat b); +BaseExport DualQuat operator-(DualQuat a, DualQuat b); +BaseExport DualQuat operator*(DualQuat a, DualQuat b); -DualQuat operator*(DualQuat a, double b); -DualQuat operator*(double a, DualQuat b); -DualQuat operator*(DualQuat a, DualNumber b); -DualQuat operator*(DualNumber a, DualQuat b); +BaseExport DualQuat operator*(DualQuat a, double b); +BaseExport DualQuat operator*(double a, DualQuat b); +BaseExport DualQuat operator*(DualQuat a, DualNumber b); +BaseExport DualQuat operator*(DualNumber a, DualQuat b); } //namespace diff --git a/src/Base/Exception.cpp b/src/Base/Exception.cpp index 068cc3d1e4..9a84ccfc57 100644 --- a/src/Base/Exception.cpp +++ b/src/Base/Exception.cpp @@ -45,16 +45,7 @@ Exception::Exception() _sErrMsg = "FreeCAD Exception"; } -Exception::Exception(const Exception &inst) - : BaseClass(inst) - , _sErrMsg(inst._sErrMsg) - , _file(inst._file) - , _line(inst._line) - , _function(inst._function) - , _isTranslatable(inst._isTranslatable) - , _isReported(inst._isReported) -{ -} +Exception::Exception(const Exception &inst) = default; Exception::Exception(const char * sMessage) : _sErrMsg(sMessage) @@ -89,7 +80,7 @@ const char* Exception::what() const noexcept void Exception::ReportException () const { if (!_isReported) { - const char *msg; + const char *msg{}; if (_sErrMsg.empty()) msg = typeid(*this).name(); else @@ -282,13 +273,6 @@ FileException::FileException() _sErrMsgAndFileName = _sErrMsg; } -FileException::FileException(const FileException &inst) - : Exception(inst._sErrMsg.c_str()) - , file(inst.file) - , _sErrMsgAndFileName(inst._sErrMsgAndFileName.c_str()) -{ -} - void FileException::setFileName(const char * sFileName) { file.setFile(sFileName); @@ -320,7 +304,7 @@ const char* FileException::what() const noexcept void FileException::ReportException () const { if (!_isReported) { - const char *msg; + const char *msg{}; if (_sErrMsgAndFileName.empty()) msg = typeid(*this).name(); else diff --git a/src/Base/Exception.h b/src/Base/Exception.h index 818355ce7d..a36a047ff3 100644 --- a/src/Base/Exception.h +++ b/src/Base/Exception.h @@ -245,7 +245,7 @@ public: /// standard construction FileException(); /// Construction - FileException(const FileException &inst); + FileException(const FileException&) = default; /// Destruction ~FileException() noexcept override = default; /// Assignment operator diff --git a/src/Base/Factory.cpp b/src/Base/Factory.cpp index b176bb3883..d7a1d30311 100644 --- a/src/Base/Factory.cpp +++ b/src/Base/Factory.cpp @@ -37,8 +37,8 @@ using namespace Base; Factory::~Factory () { - for (std::map::iterator pI = _mpcProducers.begin(); pI != _mpcProducers.end(); ++pI) - delete pI->second; + for (auto & it : _mpcProducers) + delete it.second; } void* Factory::Produce (const char *sClassName) const @@ -66,9 +66,9 @@ std::list Factory::CanProduce() const { std::list lObjects; - for (std::map::const_iterator pI = _mpcProducers.begin(); pI != _mpcProducers.end(); ++pI) + for (const auto & it : _mpcProducers) { - lObjects.push_back(pI->first); + lObjects.push_back(it.first); } return lObjects; diff --git a/src/Base/FileInfo.cpp b/src/Base/FileInfo.cpp index f2f60009be..2bb9c71de2 100644 --- a/src/Base/FileInfo.cpp +++ b/src/Base/FileInfo.cpp @@ -248,7 +248,7 @@ std::string FileInfo::fileName() const std::string FileInfo::dirPath() const { - std::size_t last_pos; + std::size_t last_pos{}; std::string retval; last_pos = FileName.find_last_of('/'); if (last_pos != std::string::npos) { @@ -295,7 +295,7 @@ std::string FileInfo::extension() const { std::string::size_type pos = FileName.find_last_of('.'); if (pos == std::string::npos) - return std::string(); + return {}; return FileName.substr(pos+1); } @@ -303,7 +303,7 @@ std::string FileInfo::completeExtension() const { std::string::size_type pos = FileName.find_first_of('.'); if (pos == std::string::npos) - return std::string(); + return {}; return FileName.substr(pos+1); } @@ -411,7 +411,7 @@ bool FileInfo::isDir() const return ((st.st_mode & _S_IFDIR) != 0); #elif defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN) || defined(FC_OS_MACOSX) || defined(FC_OS_BSD) - struct stat st; + struct stat st{}; if (stat(FileName.c_str(), &st) != 0) { return false; } @@ -447,7 +447,7 @@ TimeInfo FileInfo::lastModified() const } #elif defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN) || defined(FC_OS_MACOSX) || defined(FC_OS_BSD) - struct stat st; + struct stat st{}; if (stat(FileName.c_str(), &st) == 0) { ti.setTime_t(st.st_mtime); } @@ -470,7 +470,7 @@ TimeInfo FileInfo::lastRead() const } #elif defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN) || defined(FC_OS_MACOSX) || defined(FC_OS_BSD) - struct stat st; + struct stat st{}; if (stat(FileName.c_str(), &st) == 0) { ti.setTime_t(st.st_atime); } @@ -494,7 +494,7 @@ bool FileInfo::deleteFile() const bool FileInfo::renameFile(const char* NewName) { - bool res; + bool res{}; #if defined (FC_OS_WIN32) std::wstring oldname = toStdWString(); std::wstring newname = ConvertToWideString(NewName); @@ -580,19 +580,19 @@ bool FileInfo::deleteDirectoryRecursive() const return false; std::vector List = getDirectoryContent(); - for (std::vector::iterator It = List.begin();It!=List.end();++It) { - if (It->isDir()) { + for (Base::FileInfo& fi : List) { + if (fi.isDir()) { // At least on Linux, directory needs execute permission to be // deleted. We don't really need to set permission for directory // anyway, since FC code does not touch directory permission. // // It->setPermissions(FileInfo::ReadWrite); - It->deleteDirectoryRecursive(); + fi.deleteDirectoryRecursive(); } - else if (It->isFile()) { - It->setPermissions(FileInfo::ReadWrite); - It->deleteFile(); + else if (fi.isFile()) { + fi.setPermissions(FileInfo::ReadWrite); + fi.deleteFile(); } else { throw Base::FileException("FileInfo::deleteDirectoryRecursive(): Unknown object Type in directory!"); diff --git a/src/Base/FileTemplate.cpp b/src/Base/FileTemplate.cpp index 9114a6b800..99065f4dda 100644 --- a/src/Base/FileTemplate.cpp +++ b/src/Base/FileTemplate.cpp @@ -36,13 +36,7 @@ using namespace Base; * A constructor. * A more elaborate description of the constructor. */ -ClassTemplate::ClassTemplate() - : enumPtr(nullptr) - , enumVar(TVal1) - , publicVar(0) - , handler(nullptr) -{ -} +ClassTemplate::ClassTemplate() = default; /** * A destructor. diff --git a/src/Base/FileTemplate.h b/src/Base/FileTemplate.h index 9e18094782..52518505f4 100644 --- a/src/Base/FileTemplate.h +++ b/src/Base/FileTemplate.h @@ -101,8 +101,8 @@ public: TVal2, /**< enum value TVal2. */ TVal3 /**< enum value TVal3. */ } - *enumPtr, /**< enum pointer. Details. */ - enumVar; /**< enum variable. Details. */ + *enumPtr{nullptr}, /**< enum pointer. Details. */ + enumVar{TVal1}; /**< enum variable. Details. */ /** * A pure virtual member. @@ -127,13 +127,13 @@ public: * a public variable. * Details. */ - int publicVar; + int publicVar{0}; /** * a function variable. * Details. */ - int (*handler)(int a,int b); + int (*handler)(int a,int b){nullptr}; std::string something; }; diff --git a/src/Base/Handle.cpp b/src/Base/Handle.cpp index a74f76c376..4d55ee2ed8 100644 --- a/src/Base/Handle.cpp +++ b/src/Base/Handle.cpp @@ -76,7 +76,7 @@ int Handled::getRefCount() const return static_cast(*_lRefCount); } -const Handled& Handled::operator = (const Handled&) +Handled& Handled::operator = (const Handled&) { // we must not assign _lRefCount return *this; diff --git a/src/Base/Handle.h b/src/Base/Handle.h index 0816719462..a6f67cc2be 100644 --- a/src/Base/Handle.h +++ b/src/Base/Handle.h @@ -153,10 +153,11 @@ public: int unrefNoDelete() const; int getRefCount() const; - const Handled& operator = (const Handled&); + Handled& operator = (const Handled&); -private: - Handled(const Handled&); + Handled(const Handled&) = delete; + Handled(Handled&&) = delete; + Handled& operator = (Handled&&) = delete; private: QAtomicInt* _lRefCount; diff --git a/src/Base/InputSource.cpp b/src/Base/InputSource.cpp index 0c4039af80..e1ef01219d 100644 --- a/src/Base/InputSource.cpp +++ b/src/Base/InputSource.cpp @@ -104,9 +104,9 @@ struct StdInputStream::TextCodec StdInputStream::StdInputStream( std::istream& Stream, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* const manager ) : stream(Stream) - , fMemoryManager(manager) , codec(new TextCodec) { + (void)manager; } diff --git a/src/Base/InputSource.h b/src/Base/InputSource.h index 321b741c34..0b09e5f022 100644 --- a/src/Base/InputSource.h +++ b/src/Base/InputSource.h @@ -54,13 +54,13 @@ public : XMLSize_t readBytes( XMLByte* const toFill, const XMLSize_t maxToRead ) override; const XMLCh* getContentType() const override {return nullptr;} -private : // ----------------------------------------------------------------------- // Unimplemented constructors and operators // ----------------------------------------------------------------------- - StdInputStream(const StdInputStream&); - StdInputStream& operator=(const StdInputStream&); + StdInputStream(const StdInputStream&) = delete; + StdInputStream& operator=(const StdInputStream&) = delete; +private : // ----------------------------------------------------------------------- // Private data members // @@ -69,7 +69,6 @@ private : // per platform. // ----------------------------------------------------------------------- std::istream &stream; - XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* const fMemoryManager; struct TextCodec; std::unique_ptr codec; }; @@ -83,10 +82,10 @@ public : XERCES_CPP_NAMESPACE_QUALIFIER BinInputStream* makeStream() const override; -private: - StdInputSource(const StdInputSource&); - StdInputSource& operator=(const StdInputSource&); + StdInputSource(const StdInputSource&) = delete; + StdInputSource& operator=(const StdInputSource&) = delete; +private: std::istream &stream; }; diff --git a/src/Base/Interpreter.cpp b/src/Base/Interpreter.cpp index 29126d0866..52c47168af 100644 --- a/src/Base/Interpreter.cpp +++ b/src/Base/Interpreter.cpp @@ -48,8 +48,10 @@ PyException::PyException(const Py::Object &obj) { // WARNING: we are assuming that python type object will never be // destroyed, so we don't keep reference here to save book-keeping in // our copy constructor and destructor + // NOLINTBEGIN _exceptionType = reinterpret_cast(obj.ptr()->ob_type); _errorType = obj.ptr()->ob_type->tp_name; + // NOLINTEND } PyException::PyException() @@ -59,20 +61,12 @@ PyException::PyException() setPyObject(PP_PyDict_Object); std::string prefix = PP_last_error_type; /* exception name text */ -// prefix += ": "; std::string error = PP_last_error_info; /* exception data text */ -#if 0 - // The Python exceptions might be thrown from nested functions, so take - // into account not to add the same prefix several times - std::string::size_type pos = error.find(prefix); - if (pos == std::string::npos) - _sErrMsg = prefix + error; - else - _sErrMsg = error; -#endif + _sErrMsg = error; _errorType = prefix; + // NOLINTNEXTLINE _exceptionType = PP_last_exception_type; if (PP_last_exception_type) { @@ -160,7 +154,7 @@ SystemExitException::SystemExitException() long int errCode = 1; std::string errMsg = "System exit"; - PyObject *type, *value, *traceback, *code; + PyObject *type{}, *value{}, *traceback{}, *code{}; PyGILStateLocker locker; PyErr_Fetch(&type, &value, &traceback); @@ -190,6 +184,7 @@ SystemExitException::SystemExitException() // --------------------------------------------------------- // Fixes #0000831: python print causes File descriptor error on windows +// NOLINTNEXTLINE class PythonStdOutput : public Py::PythonExtension { public: @@ -226,7 +221,7 @@ InterpreterSingleton::~InterpreterSingleton() = default; std::string InterpreterSingleton::runString(const char *sCmd) { - PyObject *module, *dict, *presult; /* "exec code in d, d" */ + PyObject *module{}, *dict{}, *presult{}; /* "exec code in d, d" */ PyGILStateLocker locker; module = PP_Load_Module("__main__"); /* get module, init python */ @@ -243,8 +238,7 @@ std::string InterpreterSingleton::runString(const char *sCmd) throw SystemExitException(); else { PyException::ThrowException(); - return std::string(); // just to quieten code analyzers - //throw PyException(); + return {}; // just to quieten code analyzers } } @@ -257,7 +251,7 @@ std::string InterpreterSingleton::runString(const char *sCmd) } else { PyErr_Clear(); - return std::string(); + return {}; } } @@ -287,7 +281,7 @@ std::string InterpreterSingleton::runStringWithKey(const char *psCmd, const char } else { PyException::ThrowException(); - return std::string(); // just to quieten code analyzers + return {}; // just to quieten code analyzers } } Py_DECREF(presult); @@ -303,7 +297,7 @@ std::string InterpreterSingleton::runStringWithKey(const char *psCmd, const char Py::Object InterpreterSingleton::runStringObject(const char *sCmd) { - PyObject *module, *dict, *presult; /* "exec code in d, d" */ + PyObject *module{}, *dict{}, *presult{}; /* "exec code in d, d" */ PyGILStateLocker locker; module = PP_Load_Module("__main__"); /* get module, init python */ @@ -328,13 +322,13 @@ Py::Object InterpreterSingleton::runStringObject(const char *sCmd) void InterpreterSingleton::systemExit() { /* This code is taken from the original Python code */ - PyObject *exception, *value, *tb; + PyObject *exception{}, *value{}, *tb{}; int exitcode = 0; PyErr_Fetch(&exception, &value, &tb); fflush(stdout); if (!value || value == Py_None) - goto done; + goto done; // NOLINT if (PyExceptionInstance_Check(value)) { /* The error code should be in the `code' attribute. */ PyObject *code = PyObject_GetAttrString(value, "code"); @@ -342,7 +336,7 @@ void InterpreterSingleton::systemExit() Py_DECREF(value); value = code; if (value == Py_None) - goto done; + goto done; // NOLINT } /* If we failed to dig out the 'code' attribute, just let the else clause below print the error. */ @@ -369,7 +363,7 @@ done: void InterpreterSingleton::runInteractiveString(const char *sCmd) { - PyObject *module, *dict, *presult; /* "exec code in d, d" */ + PyObject *module{}, *dict{}, *presult{}; /* "exec code in d, d" */ PyGILStateLocker locker; module = PP_Load_Module("__main__"); /* get module, init python */ @@ -386,7 +380,7 @@ void InterpreterSingleton::runInteractiveString(const char *sCmd) } /* get latest python exception information */ /* and print the error to the error output */ - PyObject *errobj, *errdata, *errtraceback; + PyObject *errobj{}, *errdata{}, *errtraceback{}; PyErr_Fetch(&errobj, &errdata, &errtraceback); RuntimeError exc(""); // do not use PyException since this clears the error indicator @@ -413,10 +407,7 @@ void InterpreterSingleton::runFile(const char*pxFileName, bool local) #endif if (fp) { PyGILStateLocker locker; - //std::string encoding = PyUnicode_GetDefaultEncoding(); - //PyUnicode_SetDefaultEncoding("utf-8"); - //PyUnicode_SetDefaultEncoding(encoding.c_str()); - PyObject *module, *dict; + PyObject *module{}, *dict{}; module = PyImport_AddModule("__main__"); dict = PyModule_GetDict(module); if (local) { @@ -463,7 +454,7 @@ bool InterpreterSingleton::loadModule(const char* psModName) { // buffer acrobatics //PyBuf ModName(psModName); - PyObject *module; + PyObject *module{}; PyGILStateLocker locker; module = PP_Load_Module(psModName); @@ -698,7 +689,7 @@ void InterpreterSingleton::runMethodVoid(PyObject *pobject, const char *method) PyObject* InterpreterSingleton::runMethodObject(PyObject *pobject, const char *method) { - PyObject *pcO; + PyObject *pcO{}; PyGILStateLocker locker; if (PP_Run_Method(pobject , // object @@ -716,7 +707,7 @@ void InterpreterSingleton::runMethod(PyObject *pobject, const char *method, const char *resfmt, void *cresult, /* convert to c/c++ */ const char *argfmt, ... ) /* convert to python */ { - PyObject *pmeth, *pargs, *presult; + PyObject *pmeth{}, *pargs{}, *presult{}; va_list argslist; /* "pobject.method(args)" */ va_start(argslist, argfmt); @@ -752,7 +743,7 @@ void InterpreterSingleton::runMethod(PyObject *pobject, const char *method, PyObject * InterpreterSingleton::getValue(const char * key, const char * result_var) { - PyObject *module, *dict, *presult; /* "exec code in d, d" */ + PyObject *module{}, *dict{}, *presult{}; /* "exec code in d, d" */ PyGILStateLocker locker; module = PP_Load_Module("__main__"); /* get module, init python */ diff --git a/src/Base/Matrix.cpp b/src/Base/Matrix.cpp index 70854e508d..e3e6cd91ea 100644 --- a/src/Base/Matrix.cpp +++ b/src/Base/Matrix.cpp @@ -116,12 +116,14 @@ void Matrix4D::nullify() bool Matrix4D::isNull() const { + //NOLINTBEGIN for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (dMtrx4D[i][j] != 0.0) return false; } } + //NOLINTEND return true; } @@ -186,7 +188,7 @@ void Matrix4D::scale (const Vector3d& rclVct) void Matrix4D::rotX (double fAngle) { Matrix4D clMat; - double fsin, fcos; + double fsin{}, fcos{}; fsin = sin (fAngle); fcos = cos (fAngle); @@ -199,7 +201,7 @@ void Matrix4D::rotX (double fAngle) void Matrix4D::rotY (double fAngle) { Matrix4D clMat; - double fsin, fcos; + double fsin{}, fcos{}; fsin = sin (fAngle); fcos = cos (fAngle); @@ -212,7 +214,7 @@ void Matrix4D::rotY (double fAngle) void Matrix4D::rotZ (double fAngle) { Matrix4D clMat; - double fsin, fcos; + double fsin{}, fcos{}; fsin = sin (fAngle); fcos = cos (fAngle); @@ -227,8 +229,8 @@ void Matrix4D::rotLine(const Vector3d& rclVct, double fAngle) // **** algorithm was taken from a math book Matrix4D clMA, clMB, clMC, clMRot; Vector3d clRotAxis(rclVct); - short iz, is; - double fcos, fsin; + short iz{}, is{}; + double fcos{}, fsin{}; // set all entries to "0" for (iz = 0; iz < 4; iz++) { @@ -381,7 +383,7 @@ bool Matrix4D::toAxisAngle (Vector3d& rclBase, Vector3d& rclDir, double& rfAngle else { // angle is PI - double fHalfInverse; + double fHalfInverse{}; if ( dMtrx4D[0][0] >= dMtrx4D[1][1] ) { // r00 >= r11 @@ -470,7 +472,7 @@ void Matrix4D::transform (const Vector3d& rclVct, const Matrix4D& rclMtrx) void Matrix4D::inverse () { Matrix4D clInvTrlMat, clInvRotMat; - short iz, is; + short iz{}, is{}; /**** Herausnehmen und Inversion der TranslationsMatrix aus der TransformationMatrix ****/ @@ -492,10 +494,10 @@ using Matrix = double *; void Matrix_gauss(Matrix a, Matrix b) { int ipiv[4], indxr[4], indxc[4]; - int i,j,k,l,ll; + int i{},j{},k{},l{},ll{}; int irow=0, icol=0; - double big, pivinv; - double dum; + double big{}, pivinv{}; + double dum{}; for (j = 0; j < 4; j++) ipiv[j] = 0; for (i = 0; i < 4; i++) { @@ -585,38 +587,38 @@ void Matrix4D::inverseGauss () void Matrix4D::getMatrix (double dMtrx[16]) const { - short iz, is; - - for (iz = 0; iz < 4; iz++) - for (is = 0; is < 4; is++) - dMtrx[ 4*iz + is ] = dMtrx4D[iz][is]; + for (short iz = 0; iz < 4; iz++) { + for (short is = 0; is < 4; is++) { + dMtrx[ 4*iz + is ] = dMtrx4D[iz][is]; + } + } } void Matrix4D::setMatrix (const double dMtrx[16]) { - short iz, is; - - for (iz = 0; iz < 4; iz++) - for (is = 0; is < 4; is++) - dMtrx4D[iz][is] = dMtrx[ 4*iz + is ]; + for (short iz = 0; iz < 4; iz++) { + for (short is = 0; is < 4; is++) { + dMtrx4D[iz][is] = dMtrx[ 4*iz + is ]; + } + } } void Matrix4D::getGLMatrix (double dMtrx[16]) const { - short iz, is; - - for (iz = 0; iz < 4; iz++) - for (is = 0; is < 4; is++) - dMtrx[ iz + 4*is ] = dMtrx4D[iz][is]; + for (short iz = 0; iz < 4; iz++) { + for (short is = 0; is < 4; is++) { + dMtrx[ iz + 4*is ] = dMtrx4D[iz][is]; + } + } } void Matrix4D::setGLMatrix (const double dMtrx[16]) { - short iz, is; - - for (iz = 0; iz < 4; iz++) - for (is = 0; is < 4; is++) - dMtrx4D[iz][is] = dMtrx[ iz + 4*is ]; + for (short iz = 0; iz < 4; iz++) { + for (short is = 0; is < 4; is++) { + dMtrx4D[iz][is] = dMtrx[ iz + 4*is ]; + } + } } unsigned long Matrix4D::getMemSpace () @@ -626,22 +628,24 @@ unsigned long Matrix4D::getMemSpace () void Matrix4D::Print () const { - short i; - for (i = 0; i < 4; i++) + //NOLINTBEGIN + for (short i = 0; i < 4; i++) { printf("%9.3f %9.3f %9.3f %9.3f\n", dMtrx4D[i][0], dMtrx4D[i][1], dMtrx4D[i][2], dMtrx4D[i][3]); + } + //NOLINTEND } void Matrix4D::transpose () { - double dNew[4][4]; + double dNew[4][4]; - for (int i = 0; i < 4; i++) - { - for (int j = 0; j < 4; j++) - dNew[j][i] = dMtrx4D[i][j]; - } + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + dNew[j][i] = dMtrx4D[i][j]; + } + } - memcpy(dMtrx4D, dNew, sizeof(dMtrx4D)); + memcpy(dMtrx4D, dNew, sizeof(dMtrx4D)); } @@ -650,11 +654,12 @@ void Matrix4D::transpose () std::string Matrix4D::toString() const { std::stringstream str; - for (int i = 0; i < 4; i++) - { + //NOLINTBEGIN + for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) str << dMtrx4D[i][j] << " "; } + //NOLINTEND return str.str(); } @@ -665,11 +670,12 @@ void Matrix4D::fromString(const std::string &str) std::stringstream input; input.str(str); - for (int i = 0; i < 4; i++) - { + //NOLINTBEGIN + for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) input >> dMtrx4D[i][j]; } + //NOLINTEND } // Analyse the a transformation Matrix and describe the transformation diff --git a/src/Base/Matrix.h b/src/Base/Matrix.h index 51285afb9a..2827dda65b 100644 --- a/src/Base/Matrix.h +++ b/src/Base/Matrix.h @@ -45,325 +45,317 @@ enum class ScaleType { /** * The Matrix4D class. */ -class BaseExport Matrix4D +class BaseExport Matrix4D //NOLINT(cppcoreguidelines-special-member-functions) { - using traits_type = float_traits; + using traits_type = float_traits; public: - /// Default constructor - /*! - * Initialises to an identity matrix - */ - Matrix4D(); + /// Default constructor + /*! + * Initialises to an identity matrix + */ + Matrix4D(); - /// Construction - Matrix4D (float a11, float a12, float a13, float a14, - float a21, float a22, float a23, float a24, - float a31, float a32, float a33, float a34, - float a41, float a42, float a43, float a44 ); - /// Construction - Matrix4D (double a11, double a12, double a13, double a14, - double a21, double a22, double a23, double a24, - double a31, double a32, double a33, double a34, - double a41, double a42, double a43, double a44 ); - /// Construction - Matrix4D (const Matrix4D& rclMtrx); - /// Construction with an Axis - Matrix4D (const Vector3f& rclBase, const Vector3f& rclDir, float fAngle); - Matrix4D (const Vector3d& rclBase, const Vector3d& rclDir, double fAngle); - /// Destruction - ~Matrix4D () = default; + /// Construction + Matrix4D (float a11, float a12, float a13, float a14, + float a21, float a22, float a23, float a24, + float a31, float a32, float a33, float a34, + float a41, float a42, float a43, float a44 ); + /// Construction + Matrix4D (double a11, double a12, double a13, double a14, + double a21, double a22, double a23, double a24, + double a31, double a32, double a33, double a34, + double a41, double a42, double a43, double a44 ); + /// Construction + Matrix4D (const Matrix4D& rclMtrx); + /// Construction with an Axis + Matrix4D (const Vector3f& rclBase, const Vector3f& rclDir, float fAngle); + Matrix4D (const Vector3d& rclBase, const Vector3d& rclDir, double fAngle); + /// Destruction + ~Matrix4D () = default; - /** @name Operators */ - //@{ - /// Matrix addition - inline Matrix4D operator + (const Matrix4D& rclMtrx) const; - inline Matrix4D& operator += (const Matrix4D& rclMtrx); - /// Matrix subtraction - inline Matrix4D operator - (const Matrix4D& rclMtrx) const; - inline Matrix4D& operator -= (const Matrix4D& rclMtrx); - /// Matrix multiplication - inline Matrix4D& operator *= (const Matrix4D& rclMtrx); - /// Assignment - inline Matrix4D& operator = (const Matrix4D& rclMtrx); - /// Matrix multiplication - inline Matrix4D operator * (const Matrix4D& rclMtrx) const; - /// Multiplication matrix with vector - inline Vector3f operator * (const Vector3f& rclVct) const; - inline Vector3d operator * (const Vector3d& rclVct) const; - inline void multVec(const Vector3d & src, Vector3d & dst) const; - inline void multVec(const Vector3f & src, Vector3f & dst) const; - inline Matrix4D operator * (double) const; - inline Matrix4D& operator *= (double); - /// Comparison - inline bool operator != (const Matrix4D& rclMtrx) const; - /// Comparison - inline bool operator == (const Matrix4D& rclMtrx) const; - /// Index operator - inline double* operator [] (unsigned short usNdx); - /// Index operator - inline const double* operator[] (unsigned short usNdx) const; - /// Get vector of row - inline Vector3d getRow(unsigned short usNdx) const; - /// Get vector of column - inline Vector3d getCol(unsigned short usNdx) const; - /// Get vector of trace - inline Vector3d trace() const; - /// Set row to vector - inline void setRow(unsigned short usNdx, const Vector3d&); - /// Set column to vector - inline void setCol(unsigned short usNdx, const Vector3d&); - /// Set trace to vector - inline void setTrace(const Vector3d&); - /// Compute the determinant of the matrix - double determinant() const; - /// Compute the determinant of the 3x3 sub-matrix - double determinant3() const; - /// Analyse the transformation - std::string analyse() const; - /// Outer product (Dyadic product) - Matrix4D& Outer(const Vector3f& rV1, const Vector3f& rV2); - Matrix4D& Outer(const Vector3d& rV1, const Vector3d& rV2); - /// Hat operator (skew symmetric) - Matrix4D& Hat(const Vector3f& rV); - Matrix4D& Hat(const Vector3d& rV); - //@} + /** @name Operators */ + //@{ + /// Matrix addition + inline Matrix4D operator + (const Matrix4D& rclMtrx) const; + inline Matrix4D& operator += (const Matrix4D& rclMtrx); + /// Matrix subtraction + inline Matrix4D operator - (const Matrix4D& rclMtrx) const; + inline Matrix4D& operator -= (const Matrix4D& rclMtrx); + /// Matrix multiplication + inline Matrix4D& operator *= (const Matrix4D& rclMtrx); + /// Assignment + inline Matrix4D& operator = (const Matrix4D& rclMtrx); + /// Matrix multiplication + inline Matrix4D operator * (const Matrix4D& rclMtrx) const; + /// Multiplication matrix with vector + inline Vector3f operator * (const Vector3f& rclVct) const; + inline Vector3d operator * (const Vector3d& rclVct) const; + inline void multVec(const Vector3d & src, Vector3d & dst) const; + inline void multVec(const Vector3f & src, Vector3f & dst) const; + inline Matrix4D operator * (double) const; + inline Matrix4D& operator *= (double); + /// Comparison + inline bool operator != (const Matrix4D& rclMtrx) const; + /// Comparison + inline bool operator == (const Matrix4D& rclMtrx) const; + /// Index operator + inline double* operator [] (unsigned short usNdx); + /// Index operator + inline const double* operator[] (unsigned short usNdx) const; + /// Get vector of row + inline Vector3d getRow(unsigned short usNdx) const; + /// Get vector of column + inline Vector3d getCol(unsigned short usNdx) const; + /// Get vector of trace + inline Vector3d trace() const; + /// Set row to vector + inline void setRow(unsigned short usNdx, const Vector3d&); + /// Set column to vector + inline void setCol(unsigned short usNdx, const Vector3d&); + /// Set trace to vector + inline void setTrace(const Vector3d&); + /// Compute the determinant of the matrix + double determinant() const; + /// Compute the determinant of the 3x3 sub-matrix + double determinant3() const; + /// Analyse the transformation + std::string analyse() const; + /// Outer product (Dyadic product) + Matrix4D& Outer(const Vector3f& rV1, const Vector3f& rV2); + Matrix4D& Outer(const Vector3d& rV1, const Vector3d& rV2); + /// Hat operator (skew symmetric) + Matrix4D& Hat(const Vector3f& rV); + Matrix4D& Hat(const Vector3d& rV); + //@} - void getMatrix (double dMtrx[16]) const; - void setMatrix (const double dMtrx[16]); - /// get the matrix in OpenGL style - void getGLMatrix (double dMtrx[16]) const; - /// set the matrix in OpenGL style - void setGLMatrix (const double dMtrx[16]); + void getMatrix (double dMtrx[16]) const; + void setMatrix (const double dMtrx[16]); + /// get the matrix in OpenGL style + void getGLMatrix (double dMtrx[16]) const; + /// set the matrix in OpenGL style + void setGLMatrix (const double dMtrx[16]); - unsigned long getMemSpace (); + unsigned long getMemSpace (); - /** @name Manipulation */ - //@{ - /// Makes unity matrix - void setToUnity(); - /// Checks if this is the unit matrix - bool isUnity() const; - /// Makes a null matrix - void nullify(); - /// Checks if this is the null matrix - bool isNull() const; - /// moves the coordinatesystem for the x,y,z value - void move (float x, float y, float z) - { move(Vector3f(x,y,z)); } - void move (double x, double y, double z) - { move(Vector3d(x,y,z)); } - /// moves the coordinatesystem for the vector - void move (const Vector3f& rclVct); - void move (const Vector3d& rclVct); - /// scale for the vector - void scale (float x, float y, float z) - { scale(Vector3f(x,y,z)); } - void scale (double x, double y, double z) - { scale(Vector3d(x,y,z)); } - /// scale for the x,y,z value - void scale (const Vector3f& rclVct); - void scale (const Vector3d& rclVct); - /// uniform scale - void scale (float scalexyz) - { scale(Vector3f(scalexyz, scalexyz, scalexyz)); } - void scale (double scalexyz) - { scale(Vector3d(scalexyz, scalexyz, scalexyz)); } - /// Check for scaling factor - ScaleType hasScale(double tol=0.0) const; - /// Rotate around the X axis (in transformed space) for the given value in radians - void rotX (double fAngle); - /// Rotate around the Y axis (in transformed space) for the given value in radians - void rotY (double fAngle); - /// Rotate around the Z axis (in transformed space) for the given value in radians - void rotZ (double fAngle); - /// Rotate around an arbitrary axis passing the origin in radians - void rotLine (const Vector3f& rclVct, float fAngle); - /// Rotate around an arbitrary axis passing the origin in radians - void rotLine (const Vector3d& rclVct, double fAngle); - /// Rotate around an arbitrary axis that needn't necessarily pass the origin in radians - void rotLine (const Vector3f& rclBase, const Vector3f& rclDir, float fAngle); - /// Rotate around an arbitrary axis that needn't necessarily pass the origin in radians - void rotLine (const Vector3d& rclBase, const Vector3d& rclDir, double fAngle); - /// Extract the rotation axis and angle. Therefore the 3x3 submatrix must be orthogonal. - bool toAxisAngle (Vector3f& rclBase, Vector3f& rclDir, float& fAngle, float& fTranslation) const; - bool toAxisAngle (Vector3d& rclBase, Vector3d& rclDir, double& fAngle, double& fTranslation) const; - /// transform (move,scale,rotate) around a point - void transform (const Vector3f& rclVct, const Matrix4D& rclMtrx); - void transform (const Vector3d& rclVct, const Matrix4D& rclMtrx); - /// Matrix is expected to have a 3x3 rotation submatrix. - void inverse (); - /// Matrix is expected to have a 3x3 rotation submatrix. - void inverseOrthogonal(); - /// Arbitrary, non-singular matrix - void inverseGauss (); - void transpose (); - //@} + /** @name Manipulation */ + //@{ + /// Makes unity matrix + void setToUnity(); + /// Checks if this is the unit matrix + bool isUnity() const; + /// Makes a null matrix + void nullify(); + /// Checks if this is the null matrix + bool isNull() const; + /// moves the coordinatesystem for the x,y,z value + void move (float x, float y, float z) + { move(Vector3f(x,y,z)); } + void move (double x, double y, double z) + { move(Vector3d(x,y,z)); } + /// moves the coordinatesystem for the vector + void move (const Vector3f& rclVct); + void move (const Vector3d& rclVct); + /// scale for the vector + void scale (float x, float y, float z) + { scale(Vector3f(x,y,z)); } + void scale (double x, double y, double z) + { scale(Vector3d(x,y,z)); } + /// scale for the x,y,z value + void scale (const Vector3f& rclVct); + void scale (const Vector3d& rclVct); + /// uniform scale + void scale (float scalexyz) + { scale(Vector3f(scalexyz, scalexyz, scalexyz)); } + void scale (double scalexyz) + { scale(Vector3d(scalexyz, scalexyz, scalexyz)); } + /// Check for scaling factor + ScaleType hasScale(double tol=0.0) const; + /// Rotate around the X axis (in transformed space) for the given value in radians + void rotX (double fAngle); + /// Rotate around the Y axis (in transformed space) for the given value in radians + void rotY (double fAngle); + /// Rotate around the Z axis (in transformed space) for the given value in radians + void rotZ (double fAngle); + /// Rotate around an arbitrary axis passing the origin in radians + void rotLine (const Vector3f& rclVct, float fAngle); + /// Rotate around an arbitrary axis passing the origin in radians + void rotLine (const Vector3d& rclVct, double fAngle); + /// Rotate around an arbitrary axis that needn't necessarily pass the origin in radians + void rotLine (const Vector3f& rclBase, const Vector3f& rclDir, float fAngle); + /// Rotate around an arbitrary axis that needn't necessarily pass the origin in radians + void rotLine (const Vector3d& rclBase, const Vector3d& rclDir, double fAngle); + /// Extract the rotation axis and angle. Therefore the 3x3 submatrix must be orthogonal. + bool toAxisAngle (Vector3f& rclBase, Vector3f& rclDir, float& fAngle, float& fTranslation) const; + bool toAxisAngle (Vector3d& rclBase, Vector3d& rclDir, double& fAngle, double& fTranslation) const; + /// transform (move,scale,rotate) around a point + void transform (const Vector3f& rclVct, const Matrix4D& rclMtrx); + void transform (const Vector3d& rclVct, const Matrix4D& rclMtrx); + /// Matrix is expected to have a 3x3 rotation submatrix. + void inverse (); + /// Matrix is expected to have a 3x3 rotation submatrix. + void inverseOrthogonal(); + /// Arbitrary, non-singular matrix + void inverseGauss (); + void transpose (); + //@} - void Print () const; - /// write the 16 double of the matrix into a string - std::string toString() const; - /// read the 16 double of the matrix from a string - void fromString (const std::string &str); + void Print () const; + /// write the 16 double of the matrix into a string + std::string toString() const; + /// read the 16 double of the matrix from a string + void fromString (const std::string &str); private: - double dMtrx4D[4][4]; + double dMtrx4D[4][4]; }; -inline Matrix4D Matrix4D::operator + (const Matrix4D& rclMtrx) const +inline Matrix4D Matrix4D::operator + (const Matrix4D& rclMtrx) const { - Matrix4D clMat; - unsigned short iz, is; + Matrix4D clMat; - for (iz = 0; iz < 4; iz++) { - for (is = 0; is < 4; is++) { - clMat.dMtrx4D[iz][is] = dMtrx4D[iz][is] + rclMtrx[iz][is]; + for (int iz = 0; iz < 4; iz++) { + for (int is = 0; is < 4; is++) { + clMat.dMtrx4D[iz][is] = dMtrx4D[iz][is] + rclMtrx[iz][is]; + } } - } - return clMat; + return clMat; } inline Matrix4D& Matrix4D::operator += (const Matrix4D& rclMtrx) { - unsigned short iz, is; - - for (iz = 0; iz < 4; iz++) { - for (is = 0; is < 4; is++) { - dMtrx4D[iz][is] += rclMtrx[iz][is]; + for (int iz = 0; iz < 4; iz++) { + for (int is = 0; is < 4; is++) { + dMtrx4D[iz][is] += rclMtrx[iz][is]; + } } - } - return *this; + return *this; } inline Matrix4D Matrix4D::operator - (const Matrix4D& rclMtrx) const { - Matrix4D clMat; - unsigned short iz, is; + Matrix4D clMat; - for (iz = 0; iz < 4; iz++) { - for (is = 0; is < 4; is++) { - clMat.dMtrx4D[iz][is] = dMtrx4D[iz][is] - rclMtrx[iz][is]; + for (int iz = 0; iz < 4; iz++) { + for (int is = 0; is < 4; is++) { + clMat.dMtrx4D[iz][is] = dMtrx4D[iz][is] - rclMtrx[iz][is]; + } } - } - return clMat; + return clMat; } inline Matrix4D& Matrix4D::operator -= (const Matrix4D& rclMtrx) { - unsigned short iz, is; - - for (iz = 0; iz < 4; iz++) { - for (is = 0; is < 4; is++) { - dMtrx4D[iz][is] -= rclMtrx[iz][is]; + for (int iz = 0; iz < 4; iz++) { + for (int is = 0; is < 4; is++) { + dMtrx4D[iz][is] -= rclMtrx[iz][is]; + } } - } - return *this; + return *this; } inline Matrix4D& Matrix4D::operator *= (const Matrix4D& rclMtrx) { - Matrix4D clMat; - unsigned short ie, iz, is; + Matrix4D clMat; - for (iz = 0; iz < 4; iz++) - for (is = 0; is < 4; is++) { - clMat.dMtrx4D[iz][is] = 0; - for (ie = 0; ie < 4; ie++) - clMat.dMtrx4D[iz][is] += dMtrx4D[iz][ie] * - rclMtrx.dMtrx4D[ie][is]; + for (int iz = 0; iz < 4; iz++) { + for (int is = 0; is < 4; is++) { + clMat.dMtrx4D[iz][is] = 0; + for (int ie = 0; ie < 4; ie++) { + clMat.dMtrx4D[iz][is] += dMtrx4D[iz][ie] * + rclMtrx.dMtrx4D[ie][is]; + } + } } - (*this) = clMat; + (*this) = clMat; - return *this; + return *this; } inline Matrix4D Matrix4D::operator * (const Matrix4D& rclMtrx) const { - Matrix4D clMat; - unsigned short ie, iz, is; + Matrix4D clMat; - for (iz = 0; iz < 4; iz++) { - for (is = 0; is < 4; is++) { - clMat.dMtrx4D[iz][is] = 0; - for (ie = 0; ie < 4; ie++) { - clMat.dMtrx4D[iz][is] += dMtrx4D[iz][ie] * - rclMtrx.dMtrx4D[ie][is]; - } + for (int iz = 0; iz < 4; iz++) { + for (int is = 0; is < 4; is++) { + clMat.dMtrx4D[iz][is] = 0; + for (int ie = 0; ie < 4; ie++) { + clMat.dMtrx4D[iz][is] += dMtrx4D[iz][ie] * + rclMtrx.dMtrx4D[ie][is]; + } + } } - } - return clMat; + return clMat; } inline Matrix4D& Matrix4D::operator= (const Matrix4D& rclMtrx) { - unsigned short iz, is; - - for (iz = 0; iz < 4; iz++) { - for (is = 0; is < 4; is++) { - dMtrx4D[iz][is] = rclMtrx.dMtrx4D[iz][is]; + for (int iz = 0; iz < 4; iz++) { + for (int is = 0; is < 4; is++) { + dMtrx4D[iz][is] = rclMtrx.dMtrx4D[iz][is]; + } } - } - return *this; + return *this; } inline Vector3f Matrix4D::operator* (const Vector3f& rclVct) const { - double x = static_cast(rclVct.x); - double y = static_cast(rclVct.y); - double z = static_cast(rclVct.z); - return Vector3f( - static_cast(dMtrx4D[0][0]*x + dMtrx4D[0][1]*y + - dMtrx4D[0][2]*z + dMtrx4D[0][3]), - static_cast(dMtrx4D[1][0]*x + dMtrx4D[1][1]*y + - dMtrx4D[1][2]*z + dMtrx4D[1][3]), - static_cast(dMtrx4D[2][0]*x + dMtrx4D[2][1]*y + - dMtrx4D[2][2]*z + dMtrx4D[2][3]) - ); + double x = static_cast(rclVct.x); + double y = static_cast(rclVct.y); + double z = static_cast(rclVct.z); + return Vector3f( + static_cast(dMtrx4D[0][0]*x + dMtrx4D[0][1]*y + + dMtrx4D[0][2]*z + dMtrx4D[0][3]), + static_cast(dMtrx4D[1][0]*x + dMtrx4D[1][1]*y + + dMtrx4D[1][2]*z + dMtrx4D[1][3]), + static_cast(dMtrx4D[2][0]*x + dMtrx4D[2][1]*y + + dMtrx4D[2][2]*z + dMtrx4D[2][3]) + ); } inline Vector3d Matrix4D::operator* (const Vector3d& rclVct) const { - return Vector3d((dMtrx4D[0][0]*rclVct.x + dMtrx4D[0][1]*rclVct.y + - dMtrx4D[0][2]*rclVct.z + dMtrx4D[0][3]), - (dMtrx4D[1][0]*rclVct.x + dMtrx4D[1][1]*rclVct.y + - dMtrx4D[1][2]*rclVct.z + dMtrx4D[1][3]), - (dMtrx4D[2][0]*rclVct.x + dMtrx4D[2][1]*rclVct.y + - dMtrx4D[2][2]*rclVct.z + dMtrx4D[2][3])); + return Vector3d((dMtrx4D[0][0]*rclVct.x + dMtrx4D[0][1]*rclVct.y + + dMtrx4D[0][2]*rclVct.z + dMtrx4D[0][3]), + (dMtrx4D[1][0]*rclVct.x + dMtrx4D[1][1]*rclVct.y + + dMtrx4D[1][2]*rclVct.z + dMtrx4D[1][3]), + (dMtrx4D[2][0]*rclVct.x + dMtrx4D[2][1]*rclVct.y + + dMtrx4D[2][2]*rclVct.z + dMtrx4D[2][3])); } inline void Matrix4D::multVec(const Vector3d & src, Vector3d & dst) const { - double x = (dMtrx4D[0][0]*src.x + dMtrx4D[0][1]*src.y + - dMtrx4D[0][2]*src.z + dMtrx4D[0][3]); - double y = (dMtrx4D[1][0]*src.x + dMtrx4D[1][1]*src.y + - dMtrx4D[1][2]*src.z + dMtrx4D[1][3]); - double z = (dMtrx4D[2][0]*src.x + dMtrx4D[2][1]*src.y + - dMtrx4D[2][2]*src.z + dMtrx4D[2][3]); - dst.Set(x,y,z); + double x = (dMtrx4D[0][0]*src.x + dMtrx4D[0][1]*src.y + + dMtrx4D[0][2]*src.z + dMtrx4D[0][3]); + double y = (dMtrx4D[1][0]*src.x + dMtrx4D[1][1]*src.y + + dMtrx4D[1][2]*src.z + dMtrx4D[1][3]); + double z = (dMtrx4D[2][0]*src.x + dMtrx4D[2][1]*src.y + + dMtrx4D[2][2]*src.z + dMtrx4D[2][3]); + dst.Set(x,y,z); } inline void Matrix4D::multVec(const Vector3f & src, Vector3f & dst) const { - double sx = static_cast(src.x); - double sy = static_cast(src.y); - double sz = static_cast(src.z); + double sx = static_cast(src.x); + double sy = static_cast(src.y); + double sz = static_cast(src.z); - double x = (dMtrx4D[0][0]*sx + dMtrx4D[0][1]*sy + - dMtrx4D[0][2]*sz + dMtrx4D[0][3]); - double y = (dMtrx4D[1][0]*sx + dMtrx4D[1][1]*sy + - dMtrx4D[1][2]*sz + dMtrx4D[1][3]); - double z = (dMtrx4D[2][0]*sx + dMtrx4D[2][1]*sy + - dMtrx4D[2][2]*sz + dMtrx4D[2][3]); - dst.Set(static_cast(x), - static_cast(y), - static_cast(z)); + double x = (dMtrx4D[0][0]*sx + dMtrx4D[0][1]*sy + + dMtrx4D[0][2]*sz + dMtrx4D[0][3]); + double y = (dMtrx4D[1][0]*sx + dMtrx4D[1][1]*sy + + dMtrx4D[1][2]*sz + dMtrx4D[1][3]); + double z = (dMtrx4D[2][0]*sx + dMtrx4D[2][1]*sy + + dMtrx4D[2][2]*sz + dMtrx4D[2][3]); + dst.Set(static_cast(x), + static_cast(y), + static_cast(z)); } inline Matrix4D Matrix4D::operator * (double scalar) const @@ -380,48 +372,48 @@ inline Matrix4D Matrix4D::operator * (double scalar) const inline Matrix4D& Matrix4D::operator *= (double scalar) { + //NOLINTBEGIN for (unsigned short i = 0; i < 4; i++) { for (unsigned short j = 0; j < 4; j++) { dMtrx4D[i][j] *= scalar; } } + //NOLINTEND return *this; } inline bool Matrix4D::operator== (const Matrix4D& rclMtrx) const { - unsigned short iz, is; - - for (iz = 0; iz < 4; iz++) { - for (is = 0; is < 4; is++) { - if (fabs(dMtrx4D[iz][is] - rclMtrx.dMtrx4D[iz][is]) > traits_type::epsilon()) - return false; + for (int iz = 0; iz < 4; iz++) { + for (int is = 0; is < 4; is++) { + if (fabs(dMtrx4D[iz][is] - rclMtrx.dMtrx4D[iz][is]) > traits_type::epsilon()) + return false; + } } - } - return true; + return true; } inline bool Matrix4D::operator!= (const Matrix4D& rclMtrx) const { - return !( (*this) == rclMtrx ); + return !( (*this) == rclMtrx ); } inline Vector3f& operator*= (Vector3f& rclVect, const Matrix4D& rclMtrx) { - rclVect = rclMtrx * rclVect; - return rclVect; + rclVect = rclMtrx * rclVect; + return rclVect; } inline double* Matrix4D::operator[] (unsigned short usNdx) { - return dMtrx4D[usNdx]; + return dMtrx4D[usNdx]; } inline const double* Matrix4D::operator[] (unsigned short usNdx) const { - return dMtrx4D[usNdx]; + return dMtrx4D[usNdx]; } inline Vector3d Matrix4D::getRow(unsigned short usNdx) const diff --git a/src/Base/MatrixPy.xml b/src/Base/MatrixPy.xml index 7f53405601..160b0724de 100644 --- a/src/Base/MatrixPy.xml +++ b/src/Base/MatrixPy.xml @@ -16,23 +16,30 @@ This is the Matrix export class - Base.Matrix class.\n + Base.Matrix class. + A 4x4 Matrix. In particular, this matrix can represent an affine transformation, that is, given a 3D vector `x`, apply the transformation y = M*x + b, where the matrix `M` is a linear map and the vector `b` is a translation. `y` can be obtained using a linear transformation represented by the 4x4 matrix `A` conformed by the augmented 3x4 matrix (M|b), augmented by row with -(0,0,0,1), therefore: (y, 1) = A*(x, 1).\n -The following constructors are supported:\n +(0,0,0,1), therefore: (y, 1) = A*(x, 1). + +The following constructors are supported: + Matrix() -Empty constructor.\n +Empty constructor. + Matrix(matrix) Copy constructor. -matrix : Base.Matrix.\n +matrix : Base.Matrix. + Matrix(*coef) Define from 16 coefficients of the 4x4 matrix. -coef : sequence of float\n The sequence can have up to 16 elements which complete the matrix by rows.\n +coef : sequence of float + The sequence can have up to 16 elements which complete the matrix by rows. + Matrix(vector1, vector2, vector3, vector4) Define from four 3D vectors which represent the columns of the 3x4 submatrix, useful to represent an affine transformation. The fourth row is made up by @@ -40,212 +47,272 @@ useful to represent an affine transformation. The fourth row is made up by vector1 : Base.Vector vector2 : Base.Vector vector3 : Base.Vector -vector4 : Base.Vector\n Default to (0,0,0). Optional. +vector4 : Base.Vector + Default to (0,0,0). Optional. move(vector) -> None -move(x, y, z) -> None\n +move(x, y, z) -> None + Move the matrix along a vector, equivalent to left multiply the matrix -by a pure translation transformation.\n +by a pure translation transformation. + vector : Base.Vector, tuple -x : float\n `x` translation. -y : float\n `y` translation. -z : float\n `z` translation. +x : float + `x` translation. +y : float + `y` translation. +z : float + `z` translation. scale(vector) -> None scale(x, y, z) -> None -scale(factor) -> None\n -Scale the first three rows of the matrix.\n +scale(factor) -> None + +Scale the first three rows of the matrix. + vector : Base.Vector -x : float\n First row factor scale. -y : float\n Second row factor scale. -z : float\n Third row factor scale. -factor : float\n global factor scale. +x : float + First row factor scale. +y : float + Second row factor scale. +z : float + Third row factor scale. +factor : float + global factor scale. - hasScale(tol=0) -> ScaleType\n + hasScale(tol=0) -> ScaleType + Return an enum value of ScaleType. Possible values are: Uniform, NonUniformLeft, NonUniformRight, NoScaling or Other -if it's not a scale matrix.\n +if it's not a scale matrix. + tol : float - nullify() -> None\n + nullify() -> None + Make this the null matrix. - isNull() -> bool\n + isNull() -> bool + Check if this is the null matrix. - unity() -> None\n + unity() -> None + Make this matrix to unity (4D identity matrix). - isUnity() -> bool\n + isUnity() -> bool + Check if this is the unit matrix (4D identity matrix). - transform(vector, matrix2) -> None\n + transform(vector, matrix2) -> None + Transform the matrix around a given point. Equivalent to left multiply the matrix by T*M*T_inv, where M is `matrix2`, T the translation generated by `vector` and T_inv the inverse translation. For example, if `matrix2` is a rotation, the result is the transformation generated -by the current matrix followed by a rotation around the point represented by `vector`.\n +by the current matrix followed by a rotation around the point represented by `vector`. + vector : Base.Vector matrix2 : Base.Matrix - col(index) -> Base.Vector\n + col(index) -> Base.Vector + Return the vector of a column, that is, the vector generated by the three -first elements of the specified column.\n -index : int\n Required column index. +first elements of the specified column. + +index : int + Required column index. - setCol(index, vector) -> None\n + setCol(index, vector) -> None + Set the vector of a column, that is, the three first elements of the specified -column by index.\n -index : int\n Required column index. +column by index. + +index : int + Required column index. vector : Base.Vector - row(index) -> Base.Vector\n + row(index) -> Base.Vector + Return the vector of a row, that is, the vector generated by the three -first elements of the specified row.\n -index : int\n Required row index. +first elements of the specified row. + +index : int + Required row index. - setRow(index, vector) -> None\n + setRow(index, vector) -> None + Set the vector of a row, that is, the three first elements of the specified -row by index.\n -index : int\n Required row index. +row by index. + +index : int + Required row index. vector : Base.Vector - trace() -> Base.Vector\n + trace() -> Base.Vector + Return the diagonal of the 3x3 leading principal submatrix as vector. - setTrace(vector) -> None\n -Set the diagonal of the 3x3 leading principal submatrix.\n + setTrace(vector) -> None + +Set the diagonal of the 3x3 leading principal submatrix. + vector : Base.Vector - rotateX(angle) -> None\n -Rotate around X axis.\n -angle : float\n Angle in radians. + rotateX(angle) -> None + +Rotate around X axis. + +angle : float + Angle in radians. - rotateY(angle) -> None\n -Rotate around Y axis.\n -angle : float\n Angle in radians. + rotateY(angle) -> None + +Rotate around Y axis. + +angle : float + Angle in radians. - rotateZ(angle) -> None\n -Rotate around Z axis.\n -angle : float\n Angle in radians. + rotateZ(angle) -> None + +Rotate around Z axis. + +angle : float + Angle in radians. multiply(matrix) -> Base.Matrix -multiply(vector) -> Base.Vector\n +multiply(vector) -> Base.Vector + Right multiply the matrix by the given object. -If the argument is a vector, this is augmented to the 4D vector (`vector`, 1).\n +If the argument is a vector, this is augmented to the 4D vector (`vector`, 1). + matrix : Base.Matrix vector : Base.Vector - multVec(vector) -> Base.Vector\n -Compute the transformed vector using the matrix.\n + multVec(vector) -> Base.Vector + +Compute the transformed vector using the matrix. + vector : Base.Vector - invert() -> None\n + invert() -> None + Compute the inverse matrix in-place, if possible. - inverse() -> Base.Matrix\n + inverse() -> Base.Matrix + Compute the inverse matrix, if possible. - transpose() -> None\n + transpose() -> None + Transpose the matrix in-place. - transposed() -> Base.Matrix\n + transposed() -> Base.Matrix + Returns a transposed copy of this matrix. - determinant() -> float\n + determinant() -> float + Compute the determinant of the matrix. - isOrthogonal(tol=1e-6) -> float\n + isOrthogonal(tol=1e-6) -> float + Checks if the matrix is orthogonal, i.e. M * M^T = k*I and returns -the multiple of the identity matrix. If it's not orthogonal 0 is returned.\n -tol : float\n Tolerance used to check orthogonality. +the multiple of the identity matrix. If it's not orthogonal 0 is returned. + +tol : float + Tolerance used to check orthogonality. - submatrix(dim) -> Base.Matrix\n + submatrix(dim) -> Base.Matrix + Get the leading principal submatrix of the given dimension. The (4 - `dim`) remaining dimensions are completed with the -corresponding identity matrix.\n -dim : int\n Dimension parameter must be in the range [1,4]. +corresponding identity matrix. + +dim : int + Dimension parameter must be in the range [1,4]. - analyze() -> str\n + analyze() -> str + Analyzes the type of transformation. diff --git a/src/Base/MatrixPyImp.cpp b/src/Base/MatrixPyImp.cpp index ec60a5a042..e4e9098e88 100644 --- a/src/Base/MatrixPyImp.cpp +++ b/src/Base/MatrixPyImp.cpp @@ -77,7 +77,7 @@ int MatrixPy::PyInit(PyObject* args, PyObject* /*kwd*/) } PyErr_Clear(); - PyObject *o; + PyObject *o{}; if (PyArg_ParseTuple(args, "O!", &(Base::MatrixPy::Type), &o)) { MatrixPy::PointerType ptr = getMatrixPtr(); (*ptr) = static_cast(o)->value(); @@ -85,10 +85,10 @@ int MatrixPy::PyInit(PyObject* args, PyObject* /*kwd*/) } PyErr_Clear(); - PyObject *o1; - PyObject *o2; - PyObject *o3; - PyObject *o4 = nullptr; + PyObject *o1{}; + PyObject *o2{}; + PyObject *o3{}; + PyObject *o4{}; if (PyArg_ParseTuple(args, "O!O!O!|O!", &(Base::VectorPy::Type), &o1 , &(Base::VectorPy::Type), &o2 , &(Base::VectorPy::Type), &o3 @@ -239,12 +239,12 @@ PyObject* MatrixPy::richCompare(PyObject *v, PyObject *w, int op) return nullptr; } else if (op == Py_EQ) { - res = (m1 == m2) ? Py_True : Py_False; + res = (m1 == m2) ? Py_True : Py_False; //NOLINT Py_INCREF(res); return res; } else { - res = (m1 != m2) ? Py_True : Py_False; + res = (m1 != m2) ? Py_True : Py_False; //NOLINT Py_INCREF(res); return res; } @@ -258,9 +258,9 @@ PyObject* MatrixPy::richCompare(PyObject *v, PyObject *w, int op) PyObject* MatrixPy::move(PyObject * args) { - double x,y,z; + double x{},y{},z{}; Base::Vector3d vec; - PyObject *pcVecObj; + PyObject *pcVecObj{}; do { // dummy do..while for cascaded if if (PyArg_ParseTuple(args, "ddd", &x,&y,&z)) { @@ -298,9 +298,9 @@ PyObject* MatrixPy::move(PyObject * args) PyObject* MatrixPy::scale(PyObject * args) { - double x,y,z; + double x{},y{},z{}; Base::Vector3d vec; - PyObject *pcVecObj; + PyObject *pcVecObj{}; do { // dummy do..while for cascaded if if (PyArg_ParseTuple(args, "ddd", &x,&y,&z)) { @@ -404,7 +404,7 @@ PyObject* MatrixPy::transform(PyObject * args) { Base::Vector3d vec; Matrix4D mat; - PyObject *pcVecObj,*pcMatObj; + PyObject *pcVecObj{}, *pcMatObj{}; if (!PyArg_ParseTuple(args, "O!O!: a transform point (Vector) and a transform matrix (Matrix) is needed", &(Base::VectorPy::Type), &pcVecObj, &(MatrixPy::Type), &pcMatObj)) @@ -421,7 +421,7 @@ PyObject* MatrixPy::transform(PyObject * args) PyObject* MatrixPy::col(PyObject * args) { - int index; + int index{}; if (!PyArg_ParseTuple(args, "i", &index)) return nullptr; @@ -437,8 +437,8 @@ PyObject* MatrixPy::col(PyObject * args) PyObject* MatrixPy::setCol(PyObject * args) { - int index; - PyObject* o; + int index{}; + PyObject* o{}; if (!PyArg_ParseTuple(args, "iO!", &index, &(VectorPy::Type), &o)) return nullptr; @@ -455,7 +455,7 @@ PyObject* MatrixPy::setCol(PyObject * args) PyObject* MatrixPy::row(PyObject * args) { - int index; + int index{}; if (!PyArg_ParseTuple(args, "i", &index)) return nullptr; @@ -471,8 +471,8 @@ PyObject* MatrixPy::row(PyObject * args) PyObject* MatrixPy::setRow(PyObject * args) { - int index; - PyObject* o; + int index{}; + PyObject* o{}; if (!PyArg_ParseTuple(args, "iO!", &index, &(VectorPy::Type), &o)) return nullptr; @@ -499,7 +499,7 @@ PyObject* MatrixPy::trace(PyObject * args) PyObject* MatrixPy::setTrace(PyObject * args) { - PyObject* o; + PyObject* o{}; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &o)) return nullptr; @@ -513,7 +513,7 @@ PyObject* MatrixPy::rotateX(PyObject * args) { double angle = 0; do { - PyObject *object; + PyObject *object{}; if (PyArg_ParseTuple(args,"O!",&(Base::QuantityPy::Type), &object)) { Quantity *q = static_cast(object)->getQuantityPtr(); if (q->getUnit() == Base::Unit::Angle) { @@ -543,7 +543,7 @@ PyObject* MatrixPy::rotateY(PyObject * args) { double angle = 0; do { - PyObject *object; + PyObject *object{}; if (PyArg_ParseTuple(args,"O!",&(Base::QuantityPy::Type), &object)) { Quantity *q = static_cast(object)->getQuantityPtr(); if (q->getUnit() == Base::Unit::Angle) { @@ -573,7 +573,7 @@ PyObject* MatrixPy::rotateZ(PyObject * args) { double angle = 0; do { - PyObject *object; + PyObject *object{}; if (PyArg_ParseTuple(args,"O!",&(Base::QuantityPy::Type), &object)) { Quantity *q = static_cast(object)->getQuantityPtr(); if (q->getUnit() == Base::Unit::Angle) { @@ -601,7 +601,7 @@ PyObject* MatrixPy::rotateZ(PyObject * args) PyObject* MatrixPy::multiply(PyObject * args) { - PyObject* o; + PyObject* o{}; if (PyArg_ParseTuple(args, "O!", &(MatrixPy::Type), &o)) { Matrix4D mat = (*getMatrixPtr()) * static_cast(o)->value(); return new MatrixPy(new Matrix4D(mat)); @@ -619,7 +619,7 @@ PyObject* MatrixPy::multiply(PyObject * args) PyObject* MatrixPy::multVec(PyObject * args) { - PyObject *obj; + PyObject *obj{}; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &obj)) return nullptr; @@ -675,7 +675,7 @@ PyObject* MatrixPy::determinant(PyObject * args) PyObject* MatrixPy::submatrix(PyObject * args) { - int dim; + int dim{}; if (!PyArg_ParseTuple(args, "i", &dim)) return nullptr; @@ -962,7 +962,7 @@ Py::Sequence MatrixPy::getA() const for (int i=0; i<16; i++) { tuple[i] = Py::Float(mat[i]); } - return tuple; + return std::move(tuple); } void MatrixPy::setA(Py::Sequence arg) diff --git a/src/Base/Observer.h b/src/Base/Observer.h index 494c1d23cc..1c25bf0692 100644 --- a/src/Base/Observer.h +++ b/src/Base/Observer.h @@ -191,7 +191,7 @@ public: */ Observer<_MessageType> * Get(const char *Name) { - const char* OName; + const char* OName = nullptr; for(typename std::set * >::iterator Iter=_ObserverSet.begin();Iter!=_ObserverSet.end();++Iter) { OName = (*Iter)->Name(); // get the name diff --git a/src/Base/Parameter.cpp b/src/Base/Parameter.cpp index b9bd61e4eb..b35be01f32 100644 --- a/src/Base/Parameter.cpp +++ b/src/Base/Parameter.cpp @@ -54,9 +54,6 @@ FC_LOG_LEVEL_INIT("Parameter", true, true) -//#ifdef XERCES_HAS_CPP_NAMESPACE -// using namespace xercesc; -//#endif XERCES_CPP_NAMESPACE_USE using namespace Base; @@ -75,9 +72,15 @@ using namespace Base; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -DOMTreeErrorReporter::DOMTreeErrorReporter(): - fSawErrors(false) { -} +class DOMTreeErrorReporter : public ErrorHandler +{ +public: + // ----------------------------------------------------------------------- + // Constructors and Destructor + // ----------------------------------------------------------------------- + DOMTreeErrorReporter() : + fSawErrors(false) { + } void DOMTreeErrorReporter::warning(const SAXParseException&) { @@ -119,7 +122,7 @@ class DOMPrintFilter : public DOMLSSerializerFilter public: /** @name Constructors */ - DOMPrintFilter(ShowType whatToShow = DOMNodeFilter::SHOW_ALL); + explicit DOMPrintFilter(ShowType whatToShow = DOMNodeFilter::SHOW_ALL); //@{ /** @name Destructors */ @@ -134,10 +137,9 @@ public: return fWhatToShow; } -private: // unimplemented copy ctor and assignment operator DOMPrintFilter(const DOMPrintFilter&) = delete; - DOMPrintFilter & operator = (const DOMPrintFilter&); + DOMPrintFilter & operator = (const DOMPrintFilter&) = delete; ShowType fWhatToShow; }; @@ -152,10 +154,9 @@ public: bool handleError(const DOMError& domError) override; void resetErrors() {} -private : /* Unimplemented constructors and operators */ - DOMPrintErrorHandler(const DOMErrorHandler&); - void operator=(const DOMErrorHandler&); + explicit DOMPrintErrorHandler(const DOMErrorHandler&) = delete; + void operator=(const DOMErrorHandler&) = delete; }; //************************************************************************** @@ -393,7 +394,7 @@ Base::Reference ParameterGrp::_GetGroup(const char* Name) return rParamGrp; } - DOMElement *pcTemp; + DOMElement *pcTemp{}; // search if Group node already there pcTemp = FindElement(_pGroupNode,"FCParamGroup",Name); @@ -913,17 +914,6 @@ std::vector > ParameterGrp::GetFloatMap(const char return vrValues; } -void ParameterGrp::SetBlob(const char* /*Name*/, void* /*pValue*/, long /*lLength*/) -{ - // not implemented so far - assert(0); -} - -void ParameterGrp::GetBlob(const char* /*Name*/, void* /*pBuf*/, long /*lMaxLength*/, void* /*pPreset*/) const -{ - // not implemented so far - assert(0); -} void ParameterGrp::SetASCII(const char* Name, const char *sValue) { @@ -975,16 +965,14 @@ std::string ParameterGrp::GetASCII(const char* Name, const char * pPreset) const // if not return preset if (!pcElem) { if (!pPreset) - return std::string(""); - else - return std::string(pPreset); + return {}; + return {pPreset}; } // if yes check the value and return DOMNode *pcElem2 = pcElem->getFirstChild(); if (pcElem2) - return std::string(StrXUTF8(pcElem2->getNodeValue()).c_str()); - else - return std::string(""); + return {StrXUTF8(pcElem2->getNodeValue()).c_str()}; + return {}; } std::vector ParameterGrp::GetASCIIs(const char * sFilter) const @@ -1080,18 +1068,6 @@ void ParameterGrp::RemoveBool(const char* Name) Notify(Name); } -void ParameterGrp::RemoveBlob(const char* /*Name*/) -{ - /* not implemented yet - // check if Element in group - DOMElement *pcElem = FindElement(_pGroupNode,"FCGrp",Name); - // if not return - if(!pcElem) - return; - else - _pGroupNode->removeChild(pcElem); - */ -} void ParameterGrp::RemoveFloat(const char* Name) { @@ -1368,28 +1344,28 @@ void ParameterGrp::NotifyAll() { // get all ints and notify std::vector > IntMap = GetIntMap(); - for (std::vector >::iterator It1= IntMap.begin(); It1 != IntMap.end(); ++It1) - Notify(It1->first.c_str()); + for (const auto & it : IntMap) + Notify(it.first.c_str()); // get all booleans and notify std::vector > BoolMap = GetBoolMap(); - for (std::vector >::iterator It2= BoolMap.begin(); It2 != BoolMap.end(); ++It2) - Notify(It2->first.c_str()); + for (const auto & it : BoolMap) + Notify(it.first.c_str()); // get all Floats and notify std::vector > FloatMap = GetFloatMap(); - for (std::vector >::iterator It3= FloatMap.begin(); It3 != FloatMap.end(); ++It3) - Notify(It3->first.c_str()); + for (const auto & it : FloatMap) + Notify(it.first.c_str()); // get all strings and notify std::vector > StringMap = GetASCIIMap(); - for (std::vector >::iterator It4= StringMap.begin(); It4 != StringMap.end(); ++It4) - Notify(It4->first.c_str()); + for (const auto & it : StringMap) + Notify(it.first.c_str()); // get all uints and notify std::vector > UIntMap = GetUnsignedMap(); - for (std::vector >::iterator It5= UIntMap.begin(); It5 != UIntMap.end(); ++It5) - Notify(It5->first.c_str()); + for (const auto & it : UIntMap) + Notify(it.first.c_str()); } void ParameterGrp::_Reset() @@ -1438,7 +1414,6 @@ static XercesDOMParser::ValSchemes gValScheme = XercesDOMParser::Val_Au /** Default construction */ ParameterManager::ParameterManager() - : ParameterGrp(), _pDocument(nullptr), paramSerializer(nullptr) { _Manager = this; @@ -1512,7 +1487,7 @@ ParameterManager::~ParameterManager() Base::Reference ParameterManager::Create() { - return Base::Reference(new ParameterManager()); + return {new ParameterManager()}; } void ParameterManager::Init() diff --git a/src/Base/Parameter.h b/src/Base/Parameter.h index b269e3c71c..c9adbce0cd 100644 --- a/src/Base/Parameter.h +++ b/src/Base/Parameter.h @@ -224,16 +224,6 @@ public: //@} - /** @name methods for Blob handling (not implemented yet) */ - //@{ - /// set a blob value - void SetBlob(const char* Name, void *pValue, long lLength); - /// read blob values or give default - void GetBlob(const char* Name, void * pBuf, long lMaxLength, void* pPreset=nullptr) const; - /// remove a blob value from this group - void RemoveBlob(const char* Name); - //@} - /** @name methods for String handling */ @@ -416,17 +406,16 @@ public: /// Saves an XML document by calling the serializer's save method. void SaveDocument() const; //@} - -protected: - bool gDoNamespaces ; + +private: + + XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *_pDocument{nullptr}; + ParameterSerializer * paramSerializer{nullptr}; + + bool gDoNamespaces ; bool gDoSchema ; bool gSchemaFullChecking ; bool gDoCreate ; - XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *_pDocument; -private: - ParameterManager(); - ~ParameterManager() override; - ParameterSerializer * paramSerializer; const XMLCh* gOutputEncoding ; @@ -437,39 +426,8 @@ private: bool gUseFilter ; bool gFormatPrettyPrint ; -}; - -XERCES_CPP_NAMESPACE_USE - -class DOMTreeErrorReporter : public ErrorHandler -{ -public: - // ----------------------------------------------------------------------- - // Constructors and Destructor - // ----------------------------------------------------------------------- - DOMTreeErrorReporter(); - ~DOMTreeErrorReporter() override = default; - // ----------------------------------------------------------------------- - // Implementation of the error handler interface - // ----------------------------------------------------------------------- - void warning(const SAXParseException& toCatch) override; - void error(const SAXParseException& toCatch) override; - void fatalError(const SAXParseException& toCatch) override; - void resetErrors() override; - // ----------------------------------------------------------------------- - // Getter methods - // ----------------------------------------------------------------------- - bool getSawErrors() const; -private: - // ----------------------------------------------------------------------- - // Private data members - // - // fSawErrors - // This is set if we get any errors, and is queryable via a getter - // method. Its used by the main code to suppress output if there are - // errors. - // ----------------------------------------------------------------------- - bool fSawErrors; + ParameterManager(); + ~ParameterManager() override; }; diff --git a/src/Base/ParameterPy.cpp b/src/Base/ParameterPy.cpp index 0d1a21bba8..f07e56fcbf 100644 --- a/src/Base/ParameterPy.cpp +++ b/src/Base/ParameterPy.cpp @@ -48,7 +48,7 @@ namespace Base { class ParameterGrpObserver : public ParameterGrp::ObserverType { public: - ParameterGrpObserver(const Py::Object& obj) + explicit ParameterGrpObserver(const Py::Object& obj) { inst = obj; } @@ -102,7 +102,7 @@ class ParameterGrpPy : public Py::PythonExtension public: static void init_type(); // announce properties and methods - ParameterGrpPy(const Base::Reference &rcParamGrp); + explicit ParameterGrpPy(const Base::Reference &rcParamGrp); ~ParameterGrpPy() override; Py::Object repr() override; @@ -247,8 +247,7 @@ ParameterGrpPy::ParameterGrpPy(const Base::Reference &rcParamGrp) ParameterGrpPy::~ParameterGrpPy() { - for (ParameterGrpObserverList::iterator it = _observers.begin(); it != _observers.end(); ++it) { - ParameterGrpObserver* obs = *it; + for (ParameterGrpObserver* obs : _observers) { if (!obs->_target) _cParamGrp->Detach(obs); delete obs; @@ -264,7 +263,7 @@ Py::Object ParameterGrpPy::repr() Py::Object ParameterGrpPy::importFrom(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -274,7 +273,7 @@ Py::Object ParameterGrpPy::importFrom(const Py::Tuple& args) Py::Object ParameterGrpPy::insert(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -284,7 +283,7 @@ Py::Object ParameterGrpPy::insert(const Py::Tuple& args) Py::Object ParameterGrpPy::exportTo(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -294,7 +293,7 @@ Py::Object ParameterGrpPy::exportTo(const Py::Tuple& args) Py::Object ParameterGrpPy::getGroup(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -378,8 +377,8 @@ Py::Object ParameterGrpPy::getGroups(const Py::Tuple& args) Py::Object ParameterGrpPy::setBool(const Py::Tuple& args) { - char *pstr; - int Bool; + char *pstr = nullptr; + int Bool = 0; if (!PyArg_ParseTuple(args.ptr(), "si", &pstr,&Bool)) throw Py::Exception(); @@ -389,7 +388,7 @@ Py::Object ParameterGrpPy::setBool(const Py::Tuple& args) Py::Object ParameterGrpPy::getBool(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; int Bool=0; if (!PyArg_ParseTuple(args.ptr(), "s|i", &pstr,&Bool)) throw Py::Exception(); @@ -414,8 +413,8 @@ Py::Object ParameterGrpPy::getBools(const Py::Tuple& args) Py::Object ParameterGrpPy::setInt(const Py::Tuple& args) { - char *pstr; - int Int; + char *pstr = nullptr; + int Int = 0; if (!PyArg_ParseTuple(args.ptr(), "si", &pstr,&Int)) throw Py::Exception(); @@ -425,7 +424,7 @@ Py::Object ParameterGrpPy::setInt(const Py::Tuple& args) Py::Object ParameterGrpPy::getInt(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; int Int=0; if (!PyArg_ParseTuple(args.ptr(), "s|i", &pstr,&Int)) throw Py::Exception(); @@ -449,8 +448,8 @@ Py::Object ParameterGrpPy::getInts(const Py::Tuple& args) Py::Object ParameterGrpPy::setUnsigned(const Py::Tuple& args) { - char *pstr; - unsigned int UInt; + char *pstr = nullptr; + unsigned int UInt = 0; if (!PyArg_ParseTuple(args.ptr(), "sI", &pstr,&UInt)) throw Py::Exception(); @@ -460,7 +459,7 @@ Py::Object ParameterGrpPy::setUnsigned(const Py::Tuple& args) Py::Object ParameterGrpPy::getUnsigned(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; unsigned int UInt=0; if (!PyArg_ParseTuple(args.ptr(), "s|I", &pstr,&UInt)) throw Py::Exception(); @@ -484,8 +483,8 @@ Py::Object ParameterGrpPy::getUnsigneds(const Py::Tuple& args) Py::Object ParameterGrpPy::setFloat(const Py::Tuple& args) { - char *pstr; - double Float; + char *pstr = nullptr; + double Float{}; if (!PyArg_ParseTuple(args.ptr(), "sd", &pstr,&Float)) throw Py::Exception(); @@ -495,7 +494,7 @@ Py::Object ParameterGrpPy::setFloat(const Py::Tuple& args) Py::Object ParameterGrpPy::getFloat(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; double Float=0.0; if (!PyArg_ParseTuple(args.ptr(), "s|d", &pstr,&Float)) throw Py::Exception(); @@ -520,8 +519,8 @@ Py::Object ParameterGrpPy::getFloats(const Py::Tuple& args) Py::Object ParameterGrpPy::setString(const Py::Tuple& args) { - char *pstr; - char * str; + char *pstr = nullptr; + char * str = nullptr; if (!PyArg_ParseTuple(args.ptr(), "ss", &pstr,&str)) throw Py::Exception(); @@ -531,7 +530,7 @@ Py::Object ParameterGrpPy::setString(const Py::Tuple& args) Py::Object ParameterGrpPy::getString(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; char * str=""; if (!PyArg_ParseTuple(args.ptr(), "s|s", &pstr,&str)) throw Py::Exception(); @@ -556,7 +555,7 @@ Py::Object ParameterGrpPy::getStrings(const Py::Tuple& args) Py::Object ParameterGrpPy::remInt(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -566,7 +565,7 @@ Py::Object ParameterGrpPy::remInt(const Py::Tuple& args) Py::Object ParameterGrpPy::remUnsigned(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -576,7 +575,7 @@ Py::Object ParameterGrpPy::remUnsigned(const Py::Tuple& args) Py::Object ParameterGrpPy::remBool(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -586,7 +585,7 @@ Py::Object ParameterGrpPy::remBool(const Py::Tuple& args) Py::Object ParameterGrpPy::remGroup(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -596,7 +595,7 @@ Py::Object ParameterGrpPy::remGroup(const Py::Tuple& args) Py::Object ParameterGrpPy::remFloat(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -606,7 +605,7 @@ Py::Object ParameterGrpPy::remFloat(const Py::Tuple& args) Py::Object ParameterGrpPy::remString(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -633,7 +632,7 @@ Py::Object ParameterGrpPy::isEmpty(const Py::Tuple& args) Py::Object ParameterGrpPy::hasGroup(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -642,7 +641,7 @@ Py::Object ParameterGrpPy::hasGroup(const Py::Tuple& args) Py::Object ParameterGrpPy::attach(const Py::Tuple& args) { - PyObject* obj; + PyObject* obj = nullptr; if (!PyArg_ParseTuple(args.ptr(), "O", &obj)) throw Py::Exception(); @@ -650,8 +649,8 @@ Py::Object ParameterGrpPy::attach(const Py::Tuple& args) if (!o.hasAttr(std::string("onChange"))) throw Py::TypeError("Object has no onChange attribute"); - for (ParameterGrpObserverList::iterator it = _observers.begin(); it != _observers.end(); ++it) { - if ((*it)->isEqual(o)) { + for (ParameterGrpObserver* it : _observers) { + if (it->isEqual(o)) { throw Py::RuntimeError("Object is already attached."); } } @@ -665,7 +664,7 @@ Py::Object ParameterGrpPy::attach(const Py::Tuple& args) Py::Object ParameterGrpPy::attachManager(const Py::Tuple& args) { - PyObject* obj; + PyObject* obj = nullptr; if (!PyArg_ParseTuple(args.ptr(), "O", &obj)) throw Py::Exception(); @@ -680,8 +679,8 @@ Py::Object ParameterGrpPy::attachManager(const Py::Tuple& args) if (!attr.isCallable()) throw Py::TypeError("Object has no slotParamChanged callable attribute"); - for (ParameterGrpObserverList::iterator it = _observers.begin(); it != _observers.end(); ++it) { - if ((*it)->isEqual(o)) { + for (ParameterGrpObserver* it : _observers) { + if (it->isEqual(o)) { throw Py::RuntimeError("Object is already attached."); } } @@ -715,7 +714,7 @@ Py::Object ParameterGrpPy::attachManager(const Py::Tuple& args) Py::Object ParameterGrpPy::detach(const Py::Tuple& args) { - PyObject* obj; + PyObject* obj = nullptr; if (!PyArg_ParseTuple(args.ptr(), "O", &obj)) throw Py::Exception(); @@ -738,7 +737,7 @@ Py::Object ParameterGrpPy::detach(const Py::Tuple& args) Py::Object ParameterGrpPy::notify(const Py::Tuple& args) { - char *pstr; + char *pstr = nullptr; if (!PyArg_ParseTuple(args.ptr(), "s", &pstr)) throw Py::Exception(); @@ -766,51 +765,51 @@ Py::Object ParameterGrpPy::getContents(const Py::Tuple& args) Py::List list; // filling up Text nodes std::vector > mcTextMap = _cParamGrp->GetASCIIMap(); - for (std::vector >::iterator It2=mcTextMap.begin();It2!=mcTextMap.end();++It2) { + for (const auto & it : mcTextMap) { Py::Tuple t2(3); t2.setItem(0,Py::String("String")); - t2.setItem(1,Py::String(It2->first.c_str())); - t2.setItem(2,Py::String(It2->second.c_str())); + t2.setItem(1,Py::String(it.first.c_str())); + t2.setItem(2,Py::String(it.second.c_str())); list.append(t2); } // filling up Int nodes std::vector > mcIntMap = _cParamGrp->GetIntMap(); - for (std::vector >::iterator It3=mcIntMap.begin();It3!=mcIntMap.end();++It3) { + for (const auto & it : mcIntMap) { Py::Tuple t3(3); t3.setItem(0,Py::String("Integer")); - t3.setItem(1,Py::String(It3->first.c_str())); - t3.setItem(2,Py::Long(It3->second)); + t3.setItem(1,Py::String(it.first.c_str())); + t3.setItem(2,Py::Long(it.second)); list.append(t3); } // filling up Float nodes std::vector > mcFloatMap = _cParamGrp->GetFloatMap(); - for (std::vector >::iterator It4=mcFloatMap.begin();It4!=mcFloatMap.end();++It4) { + for (const auto & it : mcFloatMap) { Py::Tuple t4(3); t4.setItem(0,Py::String("Float")); - t4.setItem(1,Py::String(It4->first.c_str())); - t4.setItem(2,Py::Float(It4->second)); + t4.setItem(1,Py::String(it.first.c_str())); + t4.setItem(2,Py::Float(it.second)); list.append(t4); } // filling up bool nodes std::vector > mcBoolMap = _cParamGrp->GetBoolMap(); - for (std::vector >::iterator It5=mcBoolMap.begin();It5!=mcBoolMap.end();++It5) { + for (const auto & it : mcBoolMap) { Py::Tuple t5(3); t5.setItem(0,Py::String("Boolean")); - t5.setItem(1,Py::String(It5->first.c_str())); - t5.setItem(2,Py::Boolean(It5->second)); + t5.setItem(1,Py::String(it.first.c_str())); + t5.setItem(2,Py::Boolean(it.second)); list.append(t5); } // filling up UInt nodes std::vector > mcUIntMap = _cParamGrp->GetUnsignedMap(); - for (std::vector >::iterator It6=mcUIntMap.begin();It6!=mcUIntMap.end();++It6) { + for (const auto & it : mcUIntMap) { Py::Tuple t6(3); t6.setItem(0,Py::String("Unsigned Long")); - t6.setItem(1,Py::String(It6->first.c_str())); - t6.setItem(2,Py::Long(It6->second)); + t6.setItem(1,Py::String(it.first.c_str())); + t6.setItem(2,Py::Long(it.second)); list.append(t6); } diff --git a/src/Base/Persistence.cpp b/src/Base/Persistence.cpp index de0a1cb240..7811416208 100644 --- a/src/Base/Persistence.cpp +++ b/src/Base/Persistence.cpp @@ -96,25 +96,25 @@ void Persistence::RestoreDocFile(Reader &/*reader*/) std::string Persistence::encodeAttribute(const std::string& str) { std::string tmp; - for (std::string::const_iterator it = str.begin(); it != str.end(); ++it) { - if (*it == '<') + for (char it : str) { + if (it == '<') tmp += "<"; - else if (*it == '\"') + else if (it == '\"') tmp += """; - else if (*it == '\'') + else if (it == '\'') tmp += "'"; - else if (*it == '&') + else if (it == '&') tmp += "&"; - else if (*it == '>') + else if (it == '>') tmp += ">"; - else if (*it == '\r') + else if (it == '\r') tmp += " "; - else if (*it == '\n') + else if (it == '\n') tmp += " "; - else if (*it == '\t') + else if (it == '\t') tmp += " "; else - tmp += *it; + tmp += it; } return tmp; diff --git a/src/Base/PersistencePy.xml b/src/Base/PersistencePy.xml index 581cbaaeca..7857ba0442 100644 --- a/src/Base/PersistencePy.xml +++ b/src/Base/PersistencePy.xml @@ -12,7 +12,8 @@ This is the Persistence class - Base.Persistence class.\n + Base.Persistence class. + Class to dump and restore the content of an object. @@ -29,18 +30,24 @@ Class to dump and restore the content of an object. - dumpContent(Compression=3) -> bytearray\n + dumpContent(Compression=3) -> bytearray + Dumps the content of the object, both the XML representation and the additional -data files required, into a byte representation.\n -Compression : int\n Set the data compression level in the range [0,9]. Set to 0 for no compression. +data files required, into a byte representation. + +Compression : int + Set the data compression level in the range [0,9]. Set to 0 for no compression. - restoreContent(obj) -> None\n + restoreContent(obj) -> None + Restore the content of the object from a byte representation as stored by `dumpContent`. -It could be restored from any Python object implementing the buffer protocol.\n -obj : buffer\n Object with buffer protocol support. +It could be restored from any Python object implementing the buffer protocol. + +obj : buffer + Object with buffer protocol support. diff --git a/src/Base/PersistencePyImp.cpp b/src/Base/PersistencePyImp.cpp index 56a7dc8620..25972775e5 100644 --- a/src/Base/PersistencePyImp.cpp +++ b/src/Base/PersistencePyImp.cpp @@ -27,6 +27,7 @@ #include "Persistence.h" #include "Writer.h" +#include // inclusion of the generated files (generated By PersitancePy.xml) #include "PersistencePy.h" @@ -37,7 +38,7 @@ using namespace Base; // returns a string which represent the object e.g. when printed in python std::string PersistencePy::representation() const { - return std::string(""); + return {""}; } @@ -48,7 +49,7 @@ Py::String PersistencePy::getContent() const writer.setForceXML(true); getPersistencePtr()->Save(writer); - return Py::String (writer.getString()); + return {writer.getString()}; } Py::Int PersistencePy::getMemSize() const @@ -59,9 +60,9 @@ Py::Int PersistencePy::getMemSize() const PyObject* PersistencePy::dumpContent(PyObject *args, PyObject *kwds) { int compression = 3; - static char* kwds_def[] = {"Compression",nullptr}; + static const std::array kwds_def {"Compression", nullptr}; PyErr_Clear(); - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|i", kwds_def, &compression)) { + if (!Wrapped_ParseTupleAndKeywords(args, kwds, "|i", kwds_def, &compression)) { return nullptr; } @@ -114,7 +115,7 @@ PyObject* PersistencePy::dumpContent(PyObject *args, PyObject *kwds) PyObject* PersistencePy::restoreContent(PyObject *args) { - PyObject* buffer; + PyObject* buffer = nullptr; if( !PyArg_ParseTuple(args, "O", &buffer) ) return nullptr; diff --git a/src/Base/Placement.cpp b/src/Base/Placement.cpp index 6cf542d5cc..d2e3bcf729 100644 --- a/src/Base/Placement.cpp +++ b/src/Base/Placement.cpp @@ -36,31 +36,25 @@ Placement::Placement(const Base::Matrix4D& matrix) fromMatrix(matrix); } -Placement::Placement(const Placement& that) -{ - this->_pos = that._pos; - this->_rot = that._rot; -} - Placement::Placement(const Vector3d& Pos, const Rotation &Rot) + : _pos(Pos) + , _rot(Rot) { - this->_pos = Pos; - this->_rot = Rot; } Placement::Placement(const Vector3d& Pos, const Rotation &Rot, const Vector3d& Cnt) + : _rot(Rot) { Vector3d RotC = Cnt; Rot.multVec(RotC, RotC); this->_pos = Pos + Cnt - RotC; - this->_rot = Rot; } Placement Placement::fromDualQuaternion(DualQuat qq) { Rotation rot(qq.x.re, qq.y.re, qq.z.re, qq.w.re); DualQuat mvq = 2 * qq.dual() * qq.real().conj(); - return Placement(Vector3d(mvq.x.re,mvq.y.re, mvq.z.re), rot); + return {Vector3d(mvq.x.re,mvq.y.re, mvq.z.re), rot}; } Base::Matrix4D Placement::toMatrix() const @@ -161,13 +155,6 @@ Placement Placement::operator*(const Placement & p) const return plm; } -Placement& Placement::operator = (const Placement& New) -{ - this->_pos = New._pos; - this->_rot = New._rot; - return *this; -} - Placement Placement::pow(double t, bool shorten) const { return Placement::fromDualQuaternion(this->toDualQuaternion().pow(t, shorten)); @@ -217,7 +204,7 @@ Placement Placement::slerp(const Placement & p0, const Placement & p1, double t) { Rotation rot = Rotation::slerp(p0.getRotation(), p1.getRotation(), t); Vector3d pos = p0.getPosition() * (1.0-t) + p1.getPosition() * t; - return Placement(pos, rot); + return {pos, rot}; } Placement Placement::sclerp(const Placement& p0, const Placement& p1, double t, bool shorten) diff --git a/src/Base/Placement.h b/src/Base/Placement.h index f4c5b9d76d..c4f835f8ef 100644 --- a/src/Base/Placement.h +++ b/src/Base/Placement.h @@ -40,7 +40,8 @@ class BaseExport Placement public: /// default constructor Placement(); - Placement(const Placement&); + Placement(const Placement&) = default; + Placement(Placement&&) = default; Placement(const Base::Matrix4D& matrix); Placement(const Vector3d& Pos, const Rotation &Rot); Placement(const Vector3d& Pos, const Rotation &Rot, const Vector3d& Cnt); @@ -76,7 +77,8 @@ public: Placement operator *(const Placement & p) const; bool operator == (const Placement&) const; bool operator != (const Placement&) const; - Placement& operator = (const Placement&); + Placement& operator = (const Placement&) = default; + Placement& operator = (Placement&&) = default; Placement pow(double t, bool shorten = true) const; Placement& multRight(const Base::Placement& p); @@ -89,7 +91,7 @@ public: static Placement slerp(const Placement & p0, const Placement & p1, double t); static Placement sclerp(const Placement & p0, const Placement & p1, double t, bool shorten = true); -protected: +private: Vector3 _pos; Base::Rotation _rot; }; diff --git a/src/Base/PlacementPy.xml b/src/Base/PlacementPy.xml index 83c188c9b6..9223b80386 100644 --- a/src/Base/PlacementPy.xml +++ b/src/Base/PlacementPy.xml @@ -15,27 +15,35 @@ FatherNamespace="Base"> - Base.Placement class.\n + Base.Placement class. + A Placement defines an orientation (rotation) and a position (base) in 3D space. -It is used when no scaling or other distortion is needed.\n -The following constructors are supported:\n +It is used when no scaling or other distortion is needed. + +The following constructors are supported: + Placement() -Empty constructor.\n +Empty constructor. + Placement(placement) Copy constructor. -placement : Base.Placement\n +placement : Base.Placement + Placement(matrix) Define from a 4D matrix consisting of rotation and translation. -matrix : Base.Matrix\n +matrix : Base.Matrix + Placement(base, rotation) Define from position and rotation. base : Base.Vector -rotation : Base.Rotation\n +rotation : Base.Rotation + Placement(base, rotation, center) Define from position and rotation with center. base : Base.Vector rotation : Base.Rotation -center : Base.Vector\n +center : Base.Vector + Placement(base, axis, angle) define position and rotation. base : Base.Vector @@ -45,115 +53,149 @@ angle : float - copy() -> Base.Placement\n + copy() -> Base.Placement + Returns a copy of this placement. - move(vector) -> None\n -Move the placement along a vector.\n -vector : Base.Vector\n Vector by which to move the placement. + move(vector) -> None + +Move the placement along a vector. + +vector : Base.Vector + Vector by which to move the placement. - translate(vector) -> None\n -Alias to move(), to be compatible with TopoShape.translate().\n -vector : Base.Vector\n Vector by which to move the placement. + translate(vector) -> None + +Alias to move(), to be compatible with TopoShape.translate(). + +vector : Base.Vector + Vector by which to move the placement. - rotate(center, axis, angle, comp) -> None\n + rotate(center, axis, angle, comp) -> None + Rotate the current placement around center and axis with the given angle. This method is compatible with TopoShape.rotate() if the (optional) keyword argument comp is True (default=False). -center : Base.Vector, sequence of float\n Rotation center. -axis : Base.Vector, sequence of float\n Rotation axis. -angle : float\n Rotation angle in degrees. -comp : bool\n optional keyword only argument, if True (default=False), +center : Base.Vector, sequence of float + Rotation center. +axis : Base.Vector, sequence of float + Rotation axis. +angle : float + Rotation angle in degrees. +comp : bool + optional keyword only argument, if True (default=False), behave like TopoShape.rotate() (i.e. the resulting placements are interchangeable). - multiply(placement) -> Base.Placement\n + multiply(placement) -> Base.Placement + Right multiply this placement with another placement. -Also available as `*` operator.\n -placement : Base.Placement\n Placement by which to multiply this placement. +Also available as `*` operator. + +placement : Base.Placement + Placement by which to multiply this placement. - multVec(vector) -> Base.Vector\n -Compute the transformed vector using the placement.\n -vector : Base.Vector\n Vector to be transformed. + multVec(vector) -> Base.Vector + +Compute the transformed vector using the placement. + +vector : Base.Vector + Vector to be transformed. - toMatrix() -> Base.Matrix\n + toMatrix() -> Base.Matrix + Compute the matrix representation of the placement. - inverse() -> Base.Placement\n + inverse() -> Base.Placement + Compute the inverse placement. - pow(t, shorten=True) -> Base.Placement\n + pow(t, shorten=True) -> Base.Placement + Raise this placement to real power using ScLERP interpolation. -Also available as `**` operator.\n -t : float\n Real power. -shorten : bool\n If True, ensures rotation quaternion is net positive to make +Also available as `**` operator. + +t : float + Real power. +shorten : bool + If True, ensures rotation quaternion is net positive to make the path shorter. - sclerp(placement2, t, shorten=True) -> Base.Placement\n + sclerp(placement2, t, shorten=True) -> Base.Placement + Screw Linear Interpolation (ScLERP) between this placement and `placement2`. Interpolation is a continuous motion along a helical path parametrized by `t` made of equal transforms if discretized. If quaternions of rotations of the two placements differ in sign, the interpolation -will take a long path.\n +will take a long path. + placement2 : Base.Placement -t : float\n Parameter of helical path. t=0 returns this placement, t=1 returns +t : float + Parameter of helical path. t=0 returns this placement, t=1 returns `placement2`. t can also be outside of [0, 1] range for extrapolation. -shorten : bool\n If True, the signs are harmonized before interpolation and the interpolation +shorten : bool + If True, the signs are harmonized before interpolation and the interpolation takes the shorter path. - slerp(placement2, t) -> Base.Placement\n + slerp(placement2, t) -> Base.Placement + Spherical Linear Interpolation (SLERP) between this placement and `placement2`. This function performs independent interpolation of rotation and movement. Result of such interpolation might be not what application expects, thus this tool might be considered for simple cases or for interpolating between small intervals. -For more complex cases you better use the advanced sclerp() function.\n +For more complex cases you better use the advanced sclerp() function. + placement2 : Base.Placement -t : float\n Parameter of the path. t=0 returns this placement, t=1 returns `placement2`. +t : float + Parameter of the path. t=0 returns this placement, t=1 returns `placement2`. - isIdentity([tol=0.0]) -> bool\n + isIdentity([tol=0.0]) -> bool + Returns True if the placement has no displacement and no rotation. Matrix representation is the 4D identity matrix. -tol : float\n Tolerance used to check for identity. +tol : float + Tolerance used to check for identity. If tol is negative or zero, no tolerance is used. - isSame(Base.Placement, [tol=0.0]) -> bool\n + isSame(Base.Placement, [tol=0.0]) -> bool + Checks whether this and the given placement are the same. The default tolerance is set to 0.0 diff --git a/src/Base/PlacementPyImp.cpp b/src/Base/PlacementPyImp.cpp index 1640cc9cd1..9cf7aaaf9c 100644 --- a/src/Base/PlacementPyImp.cpp +++ b/src/Base/PlacementPyImp.cpp @@ -24,6 +24,7 @@ #include "PreCompiled.h" #include "GeometryPyCXX.h" +#include // inclusion of the generated files (generated out of PlacementPy.xml) #include "PlacementPy.h" @@ -60,7 +61,7 @@ PyObject *PlacementPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // // constructor method int PlacementPy::PyInit(PyObject* args, PyObject* /*kwd*/) { - PyObject* o; + PyObject* o{}; if (PyArg_ParseTuple(args, "")) { return 0; } @@ -86,8 +87,8 @@ int PlacementPy::PyInit(PyObject* args, PyObject* /*kwd*/) } PyErr_Clear(); - PyObject* d; - double angle; + PyObject* d{}; + double angle{}; if (PyArg_ParseTuple(args, "O!O!d", &(Base::VectorPy::Type), &o, &(Base::VectorPy::Type), &d, &angle)) { // NOTE: The first parameter defines the translation, the second the rotation axis @@ -108,7 +109,7 @@ int PlacementPy::PyInit(PyObject* args, PyObject* /*kwd*/) } PyErr_Clear(); - PyObject* c; + PyObject* c{}; if (PyArg_ParseTuple(args, "O!O!O!", &(Base::VectorPy::Type), &o, &(Base::RotationPy::Type), &d, &(Base::VectorPy::Type), &c)) { @@ -157,7 +158,7 @@ PyObject* PlacementPy::richCompare(PyObject *v, PyObject *w, int op) PyObject* PlacementPy::move(PyObject * args) { - PyObject *vec; + PyObject *vec{}; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &vec)) return nullptr; getPlacementPtr()->move(static_cast(vec)->value()); @@ -171,15 +172,16 @@ PyObject* PlacementPy::translate(PyObject * args) PyObject* PlacementPy::rotate(PyObject *args, PyObject *kwds) { - double angle; - char *keywords[] = { "center", "axis", "angle", "comp", nullptr }; + double angle{}; + static const std::array kwlist { "center", "axis", "angle", "comp", nullptr }; Vector3d center; Vector3d axis; - PyObject* pyComp = Py_False; + PyObject* pyComp = Py_False; // NOLINT - if (!PyArg_ParseTupleAndKeywords(args, kwds, "(ddd)(ddd)d|O!", keywords, ¢er.x, ¢er.y, ¢er.z, - &axis.x, &axis.y, &axis.z, &angle, &PyBool_Type, &pyComp)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "(ddd)(ddd)d|O!", kwlist, ¢er.x, ¢er.y, ¢er.z, + &axis.x, &axis.y, &axis.z, &angle, &PyBool_Type, &pyComp)) { return nullptr; + } try { /* @@ -205,7 +207,7 @@ PyObject* PlacementPy::rotate(PyObject *args, PyObject *kwds) PyObject* PlacementPy::multiply(PyObject * args) { - PyObject *plm; + PyObject *plm{}; if (!PyArg_ParseTuple(args, "O!", &(PlacementPy::Type), &plm)) return nullptr; Placement mult = (*getPlacementPtr()) * (*static_cast(plm)->getPlacementPtr()); @@ -214,7 +216,7 @@ PyObject* PlacementPy::multiply(PyObject * args) PyObject* PlacementPy::multVec(PyObject * args) { - PyObject *vec; + PyObject *vec{}; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &vec)) return nullptr; Base::Vector3d pnt(static_cast(vec)->value()); @@ -247,7 +249,7 @@ PyObject* PlacementPy::inverse(PyObject * args) PyObject* PlacementPy::pow(PyObject* args) { - double t; + double t{}; PyObject* shorten = Py_True; if (!PyArg_ParseTuple(args, "d|O!", &t, &(PyBool_Type), &shorten)) return nullptr; @@ -258,8 +260,8 @@ PyObject* PlacementPy::pow(PyObject* args) PyObject* PlacementPy::sclerp(PyObject* args) { - PyObject* pyplm2; - double t; + PyObject* pyplm2{}; + double t{}; PyObject* shorten = Py_True; if (!PyArg_ParseTuple(args, "O!d|O!", &(PlacementPy::Type), &pyplm2, &t, &(PyBool_Type), &shorten)) return nullptr; @@ -270,8 +272,8 @@ PyObject* PlacementPy::sclerp(PyObject* args) PyObject* PlacementPy::slerp(PyObject* args) { - PyObject* pyplm2; - double t; + PyObject* pyplm2{}; + double t{}; if (!PyArg_ParseTuple(args, "O!d", &(PlacementPy::Type), &pyplm2, &t)) return nullptr; Base::Placement plm2 = static_cast(pyplm2)->value(); @@ -291,7 +293,7 @@ PyObject* PlacementPy::isIdentity(PyObject *args) PyObject* PlacementPy::isSame(PyObject *args) { - PyObject* plm; + PyObject* plm{}; double tol = 0.0; if (!PyArg_ParseTuple(args, "O!|d", &PlacementPy::Type, &plm, &tol)) return nullptr; @@ -304,7 +306,7 @@ PyObject* PlacementPy::isSame(PyObject *args) Py::Object PlacementPy::getBase() const { - return Py::Vector(getPlacementPtr()->getPosition()); + return Py::Vector(getPlacementPtr()->getPosition()); // NOLINT } void PlacementPy::setBase(Py::Object arg) @@ -361,8 +363,9 @@ PyObject *PlacementPy::getCustomAttributes(const char* attr) const { // for backward compatibility if (strcmp(attr, "isNull") == 0) { - PyObject *w, *res; + PyObject *w{}, *res{}; w = PyUnicode_InternFromString("isIdentity"); + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-const-cast) res = PyObject_GenericGetAttr(const_cast(this), w); Py_XDECREF(w); return res; @@ -412,9 +415,8 @@ PyObject * PlacementPy::number_power_handler (PyObject* self, PyObject* other, P Py::Tuple tup(1); tup[0] = pw; - double pw_v; + double pw_v{}; if (!PyArg_ParseTuple(tup.ptr(), "d", &pw_v)){ - //PyErr_SetString(PyExc_NotImplementedError, "Wrong exponent type (expect float)."); return nullptr; } if (!PyObject_TypeCheck(self, &(PlacementPy::Type)) diff --git a/src/Base/PrecisionPyImp.cpp b/src/Base/PrecisionPyImp.cpp index dd5e591922..2c1f045a2d 100644 --- a/src/Base/PrecisionPyImp.cpp +++ b/src/Base/PrecisionPyImp.cpp @@ -33,49 +33,69 @@ using Base::PrecisionPy; // returns a string which represents the object e.g. when printed in python std::string PrecisionPy::representation() const { - return std::string(""); + return {""}; } -PyObject* PrecisionPy::angular(PyObject * /*args*/) +PyObject* PrecisionPy::angular(PyObject *args) { + if (!PyArg_ParseTuple(args, "")) { + return nullptr; + } + Py::Float v(Precision::Angular()); return Py::new_reference_to(v); } -PyObject* PrecisionPy::confusion(PyObject * /*args*/) +PyObject* PrecisionPy::confusion(PyObject *args) { + if (!PyArg_ParseTuple(args, "")) { + return nullptr; + } + Py::Float v(Precision::Confusion()); return Py::new_reference_to(v); } -PyObject* PrecisionPy::squareConfusion(PyObject * /*args*/) +PyObject* PrecisionPy::squareConfusion(PyObject *args) { + if (!PyArg_ParseTuple(args, "")) { + return nullptr; + } + Py::Float v(Precision::SquareConfusion()); return Py::new_reference_to(v); } -PyObject* PrecisionPy::intersection(PyObject * /*args*/) +PyObject* PrecisionPy::intersection(PyObject *args) { + if (!PyArg_ParseTuple(args, "")) { + return nullptr; + } + Py::Float v(Precision::Intersection()); return Py::new_reference_to(v); } -PyObject* PrecisionPy::approximation(PyObject * /*args*/) +PyObject* PrecisionPy::approximation(PyObject *args) { + if (!PyArg_ParseTuple(args, "")) { + return nullptr; + } + Py::Float v(Precision::Approximation()); return Py::new_reference_to(v); } PyObject* PrecisionPy::parametric(PyObject *args) { - double p; + double p{}; if (PyArg_ParseTuple(args, "d", &p)) { Py::Float v(Precision::Parametric(p)); return Py::new_reference_to(v); } PyErr_Clear(); - double t; + double t{}; if (PyArg_ParseTuple(args, "dd", &p, &t)) { Py::Float v(Precision::Parametric(p, t)); return Py::new_reference_to(v); @@ -87,9 +107,10 @@ PyObject* PrecisionPy::parametric(PyObject *args) PyObject* PrecisionPy::isInfinite(PyObject *args) { - double v; - if (!PyArg_ParseTuple(args, "d", &v)) + double v{}; + if (!PyArg_ParseTuple(args, "d", &v)) { return nullptr; + } Py::Boolean b(Precision::IsInfinite(v)); return Py::new_reference_to(b); @@ -97,9 +118,10 @@ PyObject* PrecisionPy::isInfinite(PyObject *args) PyObject* PrecisionPy::isPositiveInfinite(PyObject *args) { - double v; - if (!PyArg_ParseTuple(args, "d", &v)) + double v{}; + if (!PyArg_ParseTuple(args, "d", &v)) { return nullptr; + } Py::Boolean b(Precision::IsPositiveInfinite(v)); return Py::new_reference_to(b); @@ -107,16 +129,21 @@ PyObject* PrecisionPy::isPositiveInfinite(PyObject *args) PyObject* PrecisionPy::isNegativeInfinite(PyObject *args) { - double v; - if (!PyArg_ParseTuple(args, "d", &v)) + double v{}; + if (!PyArg_ParseTuple(args, "d", &v)) { return nullptr; + } Py::Boolean b(Precision::IsNegativeInfinite(v)); return Py::new_reference_to(b); } -PyObject* PrecisionPy::infinite(PyObject * /*args*/) +PyObject* PrecisionPy::infinite(PyObject *args) { + if (!PyArg_ParseTuple(args, "")) { + return nullptr; + } + Py::Float v(Precision::Infinite()); return Py::new_reference_to(v); } diff --git a/src/Base/ProgressIndicatorPy.cpp b/src/Base/ProgressIndicatorPy.cpp index d67e018f5b..bea13ceeed 100644 --- a/src/Base/ProgressIndicatorPy.cpp +++ b/src/Base/ProgressIndicatorPy.cpp @@ -70,13 +70,13 @@ ProgressIndicatorPy::~ProgressIndicatorPy() = default; Py::Object ProgressIndicatorPy::repr() { std::string s = "Base.ProgressIndicator"; - return Py::String(s); + return Py::String(s); // NOLINT } Py::Object ProgressIndicatorPy::start(const Py::Tuple& args) { - char* text; - unsigned int steps; + char* text = nullptr; + unsigned int steps = 0; if (!PyArg_ParseTuple(args.ptr(), "sI",&text,&steps)) throw Py::Exception(); if (!_seq.get()) { diff --git a/src/Base/ProgressIndicatorPy.h b/src/Base/ProgressIndicatorPy.h index 249068b02f..faed778ad1 100644 --- a/src/Base/ProgressIndicatorPy.h +++ b/src/Base/ProgressIndicatorPy.h @@ -30,7 +30,7 @@ namespace Base { - +// NOLINTNEXTLINE class BaseExport ProgressIndicatorPy : public Py::PythonExtension { public: diff --git a/src/Base/PyObjectBase.cpp b/src/Base/PyObjectBase.cpp index 1859c2a9a0..4e0438f82b 100644 --- a/src/Base/PyObjectBase.cpp +++ b/src/Base/PyObjectBase.cpp @@ -55,10 +55,8 @@ typedef struct { } PyBaseProxy; // Constructor -PyObjectBase::PyObjectBase(void* p,PyTypeObject *T) - : _pcTwinPointer(p) - , baseProxy(nullptr) - , attrDict(nullptr) +PyObjectBase::PyObjectBase(void* voidp, PyTypeObject *T) + : _pcTwinPointer(voidp) { #if PY_VERSION_HEX < 0x030b0000 Py_TYPE(this) = T; @@ -284,7 +282,7 @@ PyMethodDef PyObjectBase::Methods[] = { PyObject* PyObjectBase::__getattro(PyObject * obj, PyObject *attro) { - const char *attr; + const char *attr{}; attr = PyUnicode_AsUTF8(attro); // For the __class__ attribute get it directly as with @@ -348,7 +346,7 @@ PyObject* PyObjectBase::__getattro(PyObject * obj, PyObject *attro) int PyObjectBase::__setattro(PyObject *obj, PyObject *attro, PyObject *value) { - const char *attr; + const char *attr{}; attr = PyUnicode_AsUTF8(attro); //Hint: In general we don't allow to delete attributes (i.e. value=0). However, if we want to allow @@ -411,7 +409,7 @@ PyObject *PyObjectBase::_getattr(const char *attr) } else { // As fallback solution use Python's default method to get generic attributes - PyObject *w, *res; + PyObject *w{}, *res{}; w = PyUnicode_InternFromString(attr); if (w) { res = PyObject_GenericGetAttr(this, w); @@ -430,7 +428,7 @@ int PyObjectBase::_setattr(const char *attr, PyObject *value) { if (streq(attr,"softspace")) return -1; // filter out softspace - PyObject *w; + PyObject *w{}; // As fallback solution use Python's default method to get generic attributes w = PyUnicode_InternFromString(attr); // new reference if (w) { diff --git a/src/Base/PyObjectBase.h b/src/Base/PyObjectBase.h index 5143c59baf..35c670d841 100644 --- a/src/Base/PyObjectBase.h +++ b/src/Base/PyObjectBase.h @@ -117,7 +117,7 @@ inline void Assert(int expr, char *msg) // C++ assert inline PyObject* getTypeAsObject(PyTypeObject* type) { // See https://en.cppreference.com/w/cpp/string/byte/memcpy // and https://en.cppreference.com/w/cpp/language/reinterpret_cast - PyObject* obj; + PyObject* obj{}; std::memcpy(&obj, &type, sizeof type); return obj; } @@ -184,7 +184,7 @@ namespace Base * @see Py_Try * @see Py_Assert */ -class BaseExport PyObjectBase : public PyObject +class BaseExport PyObjectBase : public PyObject //NOLINT { /** Py_Header struct from python.h. * Every PyObjectBase object is also a python object. So you can use @@ -337,15 +337,15 @@ private: void clearAttributes(); protected: - std::bitset<32> StatusBits; + std::bitset<32> StatusBits; //NOLINT /// pointer to the handled class - void * _pcTwinPointer; + void * _pcTwinPointer; //NOLINT public: - PyObject* baseProxy; + PyObject* baseProxy{nullptr}; //NOLINT private: - PyObject* attrDict; + PyObject* attrDict{nullptr}; }; diff --git a/src/Base/PyTools.c b/src/Base/PyTools.c index 492d0c8563..fb6fca4fcc 100644 --- a/src/Base/PyTools.c +++ b/src/Base/PyTools.c @@ -20,7 +20,7 @@ is provided on an as is basis, without warranties of any kind. #include #endif - +//NOLINTBEGIN /***************************************************************************** * RUN EMBEDDED OBJECT METHODS, ACCESS OBJECT ATTRIBUTES * handles attribute fetch, debugging, input/output conversions; @@ -32,7 +32,7 @@ PP_Run_Method(PyObject *pobject, const char *method, const char *resfmt, void *cresult, /* convert to c/c++ */ const char *argfmt, ... /* arg,... */ ) /* convert to python */ { - PyObject *pmeth, *pargs, *presult; + PyObject *pmeth = NULL, *pargs = NULL, *presult = NULL; va_list argslist; /* "pobject.method(args)" */ va_start(argslist, argfmt); @@ -42,10 +42,7 @@ PP_Run_Method(PyObject *pobject, const char *method, va_end(argslist); return -1; /* bound method? has self */ } - /* handle zero args different */ -// if(resfmt == 0 || strcmp(resfmt,"") == 0) -// pargs = Py_BuildValue("()"); -// else + pargs = Py_VaBuildValue(argfmt, argslist); /* args: c->python */ va_end(argslist); @@ -64,10 +61,8 @@ PP_Run_Method(PyObject *pobject, const char *method, Py_DECREF(pmeth); Py_DECREF(pargs); -// if(cresult != 0 && resfmt != 0) - return PP_Convert_Result(presult, resfmt, cresult); /* to C format */ -// else -// return 0; + + return PP_Convert_Result(presult, resfmt, cresult); /* to C format */ } @@ -75,7 +70,7 @@ int PP_Get_Member(PyObject *pobject, const char *attrname, const char *resfmt, void *cresult) /* convert to c/c++ */ { - PyObject *pmemb; /* "pobject.attrname" */ + PyObject *pmemb = NULL; /* "pobject.attrname" */ Py_Initialize(); pmemb = PyObject_GetAttrString(pobject, attrname); /* incref'd */ return PP_Convert_Result(pmemb, resfmt, cresult); /* to C form, decrefs */ @@ -86,8 +81,8 @@ int PP_Set_Member(PyObject *pobject, const char *attrname, const char *argfmt, ... /* arg,... */ ) /* convert to python */ { - int result; - PyObject *pval; + int result = 0; + PyObject *pval = NULL; va_list argslist; /* "pobject.attrname = v" */ va_start(argslist, argfmt); Py_Initialize(); /* init if first time */ @@ -117,7 +112,7 @@ PP_Run_Function(const char *modname, const char *funcname, /* load from const char *argfmt, ... /* arg, arg... */ ) /* convert to python */ { /* call a function or class in a module */ - PyObject *func, *args, *presult; + PyObject *func = NULL, *args = NULL, *presult = NULL; va_list argslist; va_start(argslist, argfmt); /* "modname.funcname(args)" */ @@ -150,8 +145,8 @@ PP_Run_Function(const char *modname, const char *funcname, /* load from PyObject * PP_Debug_Function(PyObject *func, PyObject *args) { - int oops, res; - PyObject *presult; + int oops = 0, res = 0; + PyObject *presult = NULL; /* expand tuple at front */ // it seems that some versions of python want just 2 arguments; in that @@ -175,7 +170,7 @@ PP_Run_Known_Callable(PyObject *object, /* func|class|method */ const char *argfmt, ... /* arg,.. */) /* convert args, result */ { /* call a known callable object */ - PyObject *args, *presult; + PyObject *args = NULL, *presult = NULL; va_list argslist; va_start(argslist, argfmt); /* "return object(args)" */ @@ -231,11 +226,9 @@ PyObject *PP_last_exception_type = NULL; /* saved exception python type */ void PP_Fetch_Error_Text() { - // called without exception happened! - //assert(PyErr_Occurred()); - char *tempstr; - PyObject *errobj, *errdata, *errtraceback, *pystring, *pydict; + char *tempstr = NULL; + PyObject *errobj = NULL, *errdata = NULL, *errtraceback = NULL, *pystring = NULL, *pydict = NULL; /* get latest python exception information */ /* this also clears the current exception */ @@ -256,13 +249,11 @@ void PP_Fetch_Error_Text() } else { - /* strcpy(PP_last_error_type, ""); */ PP_last_error_type[0] = '\0'; } Py_XDECREF(pystring); - pystring = NULL; pydict = NULL; if (errdata != NULL && @@ -324,7 +315,6 @@ void PP_Fetch_Error_Text() #else const char *_f = strstr(file, "/src/"); #endif - /* strcpy(PP_last_error_trace, ""); */ snprintf(PP_last_error_trace,sizeof(PP_last_error_trace),"%s(%d)",(_f?_f+5:file),line); } Py_XDECREF(pystring); @@ -393,7 +383,7 @@ PP_Convert_Result(PyObject *presult, const char *resFormat, void *resTarget) int PP_Get_Global(const char *modname, const char *varname, const char *resfmt, void *cresult) { - PyObject *var; /* "x = modname.varname" */ + PyObject *var = NULL; /* "x = modname.varname" */ var = PP_Load_Attribute(modname, varname); /* var is incref'd */ return PP_Convert_Result(var, resfmt, cresult); /* convert var to C form */ } @@ -402,8 +392,8 @@ PP_Get_Global(const char *modname, const char *varname, const char *resfmt, void int PP_Set_Global(const char *modname, const char *varname, const char *valfmt, ... /* cval(s) */) { - int result; - PyObject *module, *val; /* "modname.varname = val" */ + int result = 0; + PyObject *module = NULL, *val = NULL; /* "modname.varname = val" */ va_list cvals; va_start(cvals, valfmt); /* C args after valfmt */ @@ -439,24 +429,17 @@ int PP_DEBUG = 0; /* debug embedded code with pdb? */ const char *PP_Init(const char *modname) { Py_Initialize(); /* init python if needed */ -//#ifdef FC_OS_LINUX /* cannot convert `const char *' to `char *' in assignment */ if (modname!=NULL) return modname; { /* we assume here that the caller frees allocated memory */ - // #0000716: strange assignment and a memory leak - return "__main__"; - //char* __main__=(char *)malloc(sizeof("__main__")); - //return __main__="__main__"; + return "__main__"; } -//#else -// return modname == NULL ? "__main__" : modname; /* default to '__main__' */ -//#endif } int PP_Make_Dummy_Module(const char *modname) /* namespace for strings, if no file */ { /* instead of sharing __main__ for all */ - PyObject *module, *dict; /* note: __main__ is created in py_init */ + PyObject *module = NULL, *dict = NULL; /* note: __main__ is created in py_init */ Py_Initialize(); module = PyImport_AddModule(modname); /* fetch or make, no load */ if (module == NULL) /* module not incref'd */ @@ -481,7 +464,7 @@ PP_Load_Module(const char *modname) /* modname can be "package.module" for * - not loaded yet, or loaded but reload=off: "import" to fetch or load */ - PyObject *module, *sysmods; + PyObject *module = NULL, *sysmods = NULL; modname = PP_Init(modname); /* default to __main__ */ if (strcmp(modname, "__main__") == 0) /* main: no file */ @@ -512,7 +495,7 @@ PP_Load_Module(const char *modname) /* modname can be "package.module" for PyObject * PP_Load_Attribute(const char *modname, const char *attrname) { - PyObject *module; /* fetch "module.attr" */ + PyObject *module = NULL; /* fetch "module.attr" */ modname = PP_Init(modname); /* use before PyEval_CallObject */ module = PP_Load_Module(modname); /* not incref'd, may reload */ if (module == NULL) @@ -525,7 +508,7 @@ PP_Load_Attribute(const char *modname, const char *attrname) int PP_Run_Command_Line(const char *prompt) { - int res; /* interact with python, in "__main__" */ + int res = 0; /* interact with python, in "__main__" */ Py_Initialize(); /* in the program's "stdio" window */ if (prompt != NULL) #if defined (FC_OS_LINUX) || defined(FC_OS_CYGWIN) || defined(FC_OS_MACOSX) @@ -553,8 +536,8 @@ PP_Run_Codestr(PPStringModes mode, const char *code, /* expr or stmt string */ const char *resfmt, void *cresult) /* converts expr result to C */ { /* run a string of Python code */ - int parse_mode; /* "eval(code, d, d)", or */ - PyObject *module, *dict, *presult; /* "exec code in d, d" */ + int parse_mode = 0; /* "eval(code, d, d)", or */ + PyObject *module = NULL, *dict = NULL, *presult = NULL; /* "exec code in d, d" */ module = PP_Load_Module(modname); /* get module, init python */ if (module == NULL) /* not incref'd */ @@ -582,7 +565,7 @@ PyObject * PP_Compile_Codestr(PPStringModes mode, /* precompile string to bytecode */ const char *codestr) /* pass result to PP_Run_Bytecode */ { - int start; + int start = 0; Py_Initialize(); switch (mode) { case PP_STATEMENT: @@ -601,7 +584,7 @@ PP_Run_Bytecode(PyObject *codeobj, /* run compiled bytecode object */ const char *modname, /* in named module's namespace */ const char *resfmt, void *restarget) { - PyObject *presult, *module, *dict; + PyObject *presult = NULL, *module = NULL, *dict = NULL; if (! PyCode_Check(codeobj)) /* make sure it's bytecode */ return -1; @@ -655,8 +638,8 @@ static void fixPdbRetval(PyObject *moddict) PyObject * PP_Debug_Codestr(PPStringModes mode, const char *codestring, PyObject *moddict) { - int res; - PyObject *presult; + int res = 0; + PyObject *presult = NULL; const char *pdbname = (mode == PP_EXPRESSION ? "runeval" : "run"); fixPdbRetval(moddict); /* pass code to a pbd.py function */ @@ -671,8 +654,8 @@ PP_Debug_Codestr(PPStringModes mode, const char *codestring, PyObject *moddict) PyObject * PP_Debug_Bytecode(PyObject *codeobject, PyObject *moddict) { - int res; - PyObject *presult; + int res = 0; + PyObject *presult = NULL; fixPdbRetval(moddict); res = PP_Run_Function( /* "pdb.runeval(codeobj, gdict, ldict)" */ "pdb", "runeval", /* accepts string|code, code=stmt|expr */ @@ -680,7 +663,5 @@ PP_Debug_Bytecode(PyObject *codeobject, PyObject *moddict) "(OOO)", codeobject, moddict, moddict); return (res != 0) ? NULL : presult; /* null if error in run_function */ } - - - +// NOLINTEND diff --git a/src/Base/PyWrapParseTupleAndKeywords.h b/src/Base/PyWrapParseTupleAndKeywords.h new file mode 100644 index 0000000000..741a3da235 --- /dev/null +++ b/src/Base/PyWrapParseTupleAndKeywords.h @@ -0,0 +1,74 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/**************************************************************************** + * * + * Copyright (c) 2023 The FreeCAD Project Association * + * * + * This file is part of FreeCAD. * + * * + * FreeCAD is free software: you can redistribute it and/or modify it * + * under the terms of the GNU Lesser General Public License as * + * published by the Free Software Foundation, either version 2.1 of the * + * License, or (at your option) any later version. * + * * + * FreeCAD is distributed in the hope that it will be useful, but * + * WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * + * Lesser General Public License for more details. * + * * + * You should have received a copy of the GNU Lesser General Public * + * License along with FreeCAD. If not, see * + * . * + * * + ***************************************************************************/ + +#ifndef FREECAD_PYWRAPPARSETUPLEANDKEYWORDS_H +#define FREECAD_PYWRAPPARSETUPLEANDKEYWORDS_H + +#include +#include +#include + +namespace Base { + + /// A thin C++ wrapper around PyArg_ParseTupleAndKeywords providing const-correctness for the keywords argument + /// \arg args The Python args object + /// \arg kw The Python kw object + /// \arg format The format string describing the expected arguments + /// \arg keywords A std::array of keywords, terminated by a nullptr (required by CPython) + /// \arg (variadic) Pointers to the storage locations for the parameters + /// \returns boolean true on success, or false on failure + template + bool Wrapped_ParseTupleAndKeywords(PyObject *args, + PyObject *kw, + const char *format, + const std::array keywords, + ...) + { + static_assert(arraySize > 0, "keywords array must have at least a single nullptr in it"); + if (keywords.back()) { + PyErr_SetString(PyExc_ValueError, "Last element of keywords array is not null"); + return false; + } + + // NOTE: This code is from getargs.c in the Python source code (modified to use the public interface at + // PyArg_VaParseTupleAndKeywords and to return a bool). + + if ((args == nullptr || !PyTuple_Check(args)) || + (kw != nullptr && !PyDict_Check(kw)) || + format == nullptr) + { + PyErr_BadInternalCall(); + return false; + } + + va_list va; // NOLINT + va_start(va, keywords); + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-const-cast) + int retval = PyArg_VaParseTupleAndKeywords(args, kw, format, const_cast(keywords.data()), va); + va_end(va); + return retval != 0; // Convert to a true C++ boolean + } + +} + +#endif //FREECAD_PYWRAPPARSETUPLEANDKEYWORDS_H diff --git a/src/Base/Quantity.cpp b/src/Base/Quantity.cpp index a588fa8ebe..4a1cd38464 100644 --- a/src/Base/Quantity.cpp +++ b/src/Base/Quantity.cpp @@ -546,7 +546,5 @@ Quantity Quantity::parse(const QString &string) // free the scan buffer QuantityParser::yy_delete_buffer (my_string_buffer); - //if (QuantResult == Quantity(DOUBLE_MIN)) - // throw Base::ParserError("Unknown error in Quantity expression"); return QuantResult; } diff --git a/src/Base/QuantityPyImp.cpp b/src/Base/QuantityPyImp.cpp index 84d0b4082c..01a12b14ef 100644 --- a/src/Base/QuantityPyImp.cpp +++ b/src/Base/QuantityPyImp.cpp @@ -34,12 +34,7 @@ using namespace Base; std::string QuantityPy::representation() const { std::stringstream ret; -#if 0 - //ret.precision(getQuantityPtr()->getFormat().precision); - //ret.setf(std::ios::fixed, std::ios::floatfield); - ret << getQuantityPtr()->getValue() << " "; - ret << getQuantityPtr()->getUnit().getString().toUtf8().constData(); -#else + double val= getQuantityPtr()->getValue(); Unit unit = getQuantityPtr()->getUnit(); @@ -48,7 +43,6 @@ std::string QuantityPy::representation() const ret << static_cast(flt.repr()); if (!unit.isEmpty()) ret << " " << unit.getString().toUtf8().constData(); -#endif return ret.str(); } @@ -84,7 +78,7 @@ int QuantityPy::PyInit(PyObject* args, PyObject* /*kwd*/) Quantity *self = getQuantityPtr(); PyErr_Clear(); // set by PyArg_ParseTuple() - PyObject *object; + PyObject *object{}; if (PyArg_ParseTuple(args,"O!",&(Base::QuantityPy::Type), &object)) { *self = *(static_cast(object)->getQuantityPtr()); return 0; @@ -127,7 +121,7 @@ int QuantityPy::PyInit(PyObject* args, PyObject* /*kwd*/) } PyErr_Clear(); // set by PyArg_ParseTuple() - char* string; + char* string{}; if (PyArg_ParseTuple(args,"et", "utf-8", &string)) { QString qstr = QString::fromUtf8(string); PyMem_Free(string); @@ -164,7 +158,7 @@ int QuantityPy::PyInit(PyObject* args, PyObject* /*kwd*/) PyObject* QuantityPy::getUserPreferred(PyObject* /*args*/) { QString uus; - double factor; + double factor{}; Py::Tuple res(3); QString uss = getQuantityPtr()->getUserString(factor,uus); @@ -183,14 +177,14 @@ PyObject* QuantityPy::getValueAs(PyObject *args) // first try Quantity if (!quant.isValid()) { - PyObject *object; + PyObject *object{}; if (PyArg_ParseTuple(args,"O!",&(Base::QuantityPy::Type), &object)) { quant = * static_cast(object)->getQuantityPtr(); } } if (!quant.isValid()) { - PyObject *object; + PyObject *object{}; PyErr_Clear(); if (PyArg_ParseTuple(args,"O!",&(Base::UnitPy::Type), &object)) { quant.setUnit(*static_cast(object)->getUnitPtr()); @@ -199,8 +193,8 @@ PyObject* QuantityPy::getValueAs(PyObject *args) } if (!quant.isValid()) { - PyObject *object; - double value; + PyObject *object{}; + double value{}; PyErr_Clear(); if (PyArg_ParseTuple(args,"dO!",&value, &(Base::UnitPy::Type), &object)) { quant.setUnit(*static_cast(object)->getUnitPtr()); @@ -235,7 +229,7 @@ PyObject* QuantityPy::getValueAs(PyObject *args) if (!quant.isValid()) { PyErr_Clear(); - char* string; + char* string{}; if (PyArg_ParseTuple(args,"et", "utf-8", &string)) { QString qstr = QString::fromUtf8(string); PyMem_Free(string); @@ -417,7 +411,7 @@ PyObject * QuantityPy::number_remainder_handler (PyObject *self, PyObject *other return nullptr; } - double d1, d2; + double d1{}, d2{}; Base::Quantity *a = static_cast(self) ->getQuantityPtr(); d1 = a->getValue(); @@ -604,7 +598,7 @@ void QuantityPy::setUnit(Py::Object arg) Py::String QuantityPy::getUserString() const { - return Py::String(getQuantityPtr()->getUserString().toUtf8(),"utf-8"); + return {getQuantityPtr()->getUserString().toUtf8(),"utf-8"}; } Py::Dict QuantityPy::getFormat() const @@ -641,7 +635,7 @@ void QuantityPy::setFormat(Py::Dict arg) if (fmtstr.size() != 1) throw Py::ValueError("Invalid format character"); - bool ok; + bool ok = false; fmt.format = Base::QuantityFormat::toFormat(fmtstr[0], &ok); if (!ok) throw Py::ValueError("Invalid format character"); diff --git a/src/Base/Reader.cpp b/src/Base/Reader.cpp index 9d9ac597e9..80c4e8cfd0 100644 --- a/src/Base/Reader.cpp +++ b/src/Base/Reader.cpp @@ -57,9 +57,7 @@ using namespace std; // --------------------------------------------------------------------------- Base::XMLReader::XMLReader(const char* FileName, std::istream& str) - : DocumentSchema(0), ProgramVersion(""), FileVersion(0), Level(0), - CharacterCount(0), ReadType(None), _File(FileName), _valid(false), - _verbose(true) + : _File(FileName) { #ifdef _MSC_VER str.imbue(std::locale::empty()); @@ -69,13 +67,6 @@ Base::XMLReader::XMLReader(const char* FileName, std::istream& str) // create the parser parser = XMLReaderFactory::createXMLReader(); - //parser->setFeature(XMLUni::fgSAX2CoreNameSpaces, false); - //parser->setFeature(XMLUni::fgXercesSchema, false); - //parser->setFeature(XMLUni::fgXercesSchemaFullChecking, false); - //parser->setFeature(XMLUni::fgXercesIdentityConstraintChecking, false); - //parser->setFeature(XMLUni::fgSAX2CoreNameSpacePrefixes, false); - //parser->setFeature(XMLUni::fgSAX2CoreValidation, true); - //parser->setFeature(XMLUni::fgXercesDynamic, true); parser->setContentHandler(this); parser->setLexicalHandler(this); @@ -193,48 +184,28 @@ bool Base::XMLReader::read() parser->parseNext(token); } catch (const XMLException& toCatch) { -#if 0 - char* message = XMLString::transcode(toCatch.getMessage()); - cerr << "Exception message is: \n" - << message << "\n"; - XMLString::release(&message); - return false; -#else + char* message = XMLString::transcode(toCatch.getMessage()); std::string what = message; XMLString::release(&message); throw Base::XMLBaseException(what); -#endif } catch (const SAXParseException& toCatch) { -#if 0 - char* message = XMLString::transcode(toCatch.getMessage()); - cerr << "Exception message is: \n" - << message << "\n"; - XMLString::release(&message); - return false; -#else + char* message = XMLString::transcode(toCatch.getMessage()); std::string what = message; XMLString::release(&message); throw Base::XMLParseException(what); -#endif } catch (...) { -#if 0 - cerr << "Unexpected Exception \n" ; - return false; -#else throw Base::XMLBaseException("Unexpected XML exception"); -#endif } - return true; } void Base::XMLReader::readElement(const char* ElementName) { - bool ok; + bool ok{}; int currentLevel = Level; std::string currentName = LocalName; do { @@ -271,7 +242,7 @@ void Base::XMLReader::readEndElement(const char* ElementName, int level) throw Base::XMLParseException("End of document reached"); } - bool ok; + bool ok{}; do { ok = read(); if (!ok) break; if (ReadType == EndDocument) @@ -372,7 +343,7 @@ void Base::XMLReader::readBinFile(const char* filename) if (!to) throw Base::FileException("XMLReader::readBinFile() Could not open file!"); - bool ok; + bool ok{}; do { ok = read(); if (!ok) break; } while (ReadType != EndCDATA); @@ -464,8 +435,8 @@ const std::vector& Base::XMLReader::getFilenames() const bool Base::XMLReader::isRegistered(Base::Persistence *Object) const { if (Object) { - for (std::vector::const_iterator it = FileList.begin(); it != FileList.end(); ++it) { - if (it->Object == Object) + for (const auto & it : FileList) { + if (it.Object == Object) return true; } } diff --git a/src/Base/Reader.h b/src/Base/Reader.h index c0999481fa..5e92c783e7 100644 --- a/src/Base/Reader.h +++ b/src/Base/Reader.h @@ -215,11 +215,11 @@ public: //@} /// Schema Version of the document - int DocumentSchema; + int DocumentSchema{0}; /// Version of FreeCAD that wrote this document std::string ProgramVersion; /// Version of the file format - int FileVersion; + int FileVersion{0}; /// sets simultaneously the global and local PartialRestore bits void setPartialRestore(bool on); @@ -279,10 +279,10 @@ protected: //@} - int Level; + int Level{0}; std::string LocalName; std::string Characters; - unsigned int CharacterCount; + unsigned int CharacterCount{0}; std::streamsize CharacterOffset{-1}; std::map AttrMap; @@ -298,14 +298,14 @@ protected: EndElement, StartCDATA, EndCDATA - } ReadType; + } ReadType{None}; FileInfo _File; XERCES_CPP_NAMESPACE_QUALIFIER SAX2XMLReader* parser; XERCES_CPP_NAMESPACE_QUALIFIER XMLPScanToken token; - bool _valid; - bool _verbose; + bool _valid{false}; + bool _verbose{true}; std::vector FileNames; diff --git a/src/Base/Resources/translations/Base.ts b/src/Base/Resources/translations/Base.ts new file mode 100644 index 0000000000..8fa90e65de --- /dev/null +++ b/src/Base/Resources/translations/Base.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + + + + + MKS (m, kg, s, degree) + + + + + US customary (in, lb) + + + + + Imperial decimal (in, lb) + + + + + Building Euro (cm, m², m³) + + + + + Building US (ft-in, sqft, cft) + + + + + Metric small parts & CNC(mm, mm/min) + + + + + Imperial for Civil Eng (ft, ft/sec) + + + + + FEM (mm, N, s) + + + + + Unknown schema + + + + diff --git a/src/Base/Resources/translations/Base_be.ts b/src/Base/Resources/translations/Base_be.ts new file mode 100644 index 0000000000..f08fa21b1b --- /dev/null +++ b/src/Base/Resources/translations/Base_be.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Стандартныя (мм, кг, с, градус) + + + + MKS (m, kg, s, degree) + МКС (м, кг, с, градус) + + + + US customary (in, lb) + Звычайныя адзінкі вымярэння Злучаных Штатаў (цалі, фунты) + + + + Imperial decimal (in, lb) + Брытанскія дзесятковыя (цалі, фунты) + + + + Building Euro (cm, m², m³) + Еўрапейскія будаўнічыя (см, м², м³) + + + + Building US (ft-in, sqft, cft) + Будаўнічыя Злучаных Штатаў (футы-цалі, кв. футы, куб. футы) + + + + Metric small parts & CNC(mm, mm/min) + Малыя метрычныя дэталі і CNC (мм, мм/хв) + + + + Imperial for Civil Eng (ft, ft/sec) + Брытанская для грамадскіх інжынераў (футы, футы/с) + + + + FEM (mm, N, s) + МКЭ (мм, Н, с) + + + + Unknown schema + Невядомая схема + + + diff --git a/src/Base/Resources/translations/Base_ca.ts b/src/Base/Resources/translations/Base_ca.ts new file mode 100644 index 0000000000..d2dde93da4 --- /dev/null +++ b/src/Base/Resources/translations/Base_ca.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_cs.ts b/src/Base/Resources/translations/Base_cs.ts new file mode 100644 index 0000000000..50853e4b02 --- /dev/null +++ b/src/Base/Resources/translations/Base_cs.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standardní (mm, kg, s, stupeň) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, stupeň) + + + + US customary (in, lb) + Obvyklé v USA (in, lb) + + + + Imperial decimal (in, lb) + Imperiální desetinné (in, lb) + + + + Building Euro (cm, m², m³) + Stavební Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Stavební US (ft-in, sqft, cuft) + + + + Metric small parts & CNC(mm, mm/min) + Metrické malé díly & CNC (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperiální pro stavebnictví (ft, ft/sec) + + + + FEM (mm, N, s) + MKP (mm, N, s) + + + + Unknown schema + Neznámé schéma + + + diff --git a/src/Base/Resources/translations/Base_de.ts b/src/Base/Resources/translations/Base_de.ts new file mode 100644 index 0000000000..8085c27e05 --- /dev/null +++ b/src/Base/Resources/translations/Base_de.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, Grad) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, Grad) + + + + US customary (in, lb) + US-üblich (in, lb) + + + + Imperial decimal (in, lb) + Angloamerikanisch dezimal (in, lb) + + + + Building Euro (cm, m², m³) + Euro-Bauwesen (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + US-Bauwesen (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metrische Kleinteile & CNC (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Angloamerikanisch für Bauwesen (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unbekanntes Schema + + + diff --git a/src/Base/Resources/translations/Base_el.ts b/src/Base/Resources/translations/Base_el.ts new file mode 100644 index 0000000000..76a65872ee --- /dev/null +++ b/src/Base/Resources/translations/Base_el.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_es-AR.ts b/src/Base/Resources/translations/Base_es-AR.ts new file mode 100644 index 0000000000..56ee7025df --- /dev/null +++ b/src/Base/Resources/translations/Base_es-AR.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Estándar (mm, kg, s, grado) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, grado) + + + + US customary (in, lb) + US habitual (plg, lb) + + + + Imperial decimal (in, lb) + Decimal Imperial (plg, lb) + + + + Building Euro (cm, m², m³) + Construcción Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Construcción US (pie-plg, pie², pie³) + + + + Metric small parts & CNC(mm, mm/min) + Piezas pequeñas métricas y CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial para Ing. Civil (pie, pie/seg) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Esquema desconocido + + + diff --git a/src/Base/Resources/translations/Base_es-ES.ts b/src/Base/Resources/translations/Base_es-ES.ts new file mode 100644 index 0000000000..56f5520a04 --- /dev/null +++ b/src/Base/Resources/translations/Base_es-ES.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Estándar (mm, kg, s, grado) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, grado) + + + + US customary (in, lb) + Unidades tradicionales en EE. UU. (lb, in) + + + + Imperial decimal (in, lb) + Decimales imperiales (in, lb) + + + + Building Euro (cm, m², m³) + Construcción Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Construcción US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Piezas pequeñas métricas y CNC (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial para Ing civil (ft, ft/seg) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Esquema desconocido + + + diff --git a/src/Base/Resources/translations/Base_eu.ts b/src/Base/Resources/translations/Base_eu.ts new file mode 100644 index 0000000000..f26fefc74d --- /dev/null +++ b/src/Base/Resources/translations/Base_eu.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Estandarra (mm, kg, s, gradu) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, gradu) + + + + US customary (in, lb) + AEBko pertsonalizatua (in, lb) + + + + Imperial decimal (in, lb) + Dezimal inperiala (in, lb) + + + + Building Euro (cm, m², m³) + Europar neurriak (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + AEBetako neurriak (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Zati txiki metrikoak & CNC (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Inperiala ingeniaritza zibilerako (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Eskema ezezaguna + + + diff --git a/src/Base/Resources/translations/Base_fi.ts b/src/Base/Resources/translations/Base_fi.ts new file mode 100644 index 0000000000..d757b27cec --- /dev/null +++ b/src/Base/Resources/translations/Base_fi.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_fr.ts b/src/Base/Resources/translations/Base_fr.ts new file mode 100644 index 0000000000..1db88100f8 --- /dev/null +++ b/src/Base/Resources/translations/Base_fr.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degré) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degré) + + + + US customary (in, lb) + Système US (in, lb) + + + + Imperial decimal (in, lb) + Décimale impériale (in, lb) + + + + Building Euro (cm, m², m³) + Construction européenne (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Construction US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Petites pièces métriques & CNC (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Impérial pour le génie civil (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Schéma inconnu + + + diff --git a/src/Base/Resources/translations/Base_gl.ts b/src/Base/Resources/translations/Base_gl.ts new file mode 100644 index 0000000000..227812c3b8 --- /dev/null +++ b/src/Base/Resources/translations/Base_gl.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_hr.ts b/src/Base/Resources/translations/Base_hr.ts new file mode 100644 index 0000000000..4081223dd1 --- /dev/null +++ b/src/Base/Resources/translations/Base_hr.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_hu.ts b/src/Base/Resources/translations/Base_hu.ts new file mode 100644 index 0000000000..cb0565260c --- /dev/null +++ b/src/Base/Resources/translations/Base_hu.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Alapértelmezett (mm, kg, s, fok) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, fok) + + + + US customary (in, lb) + US szokásos (in, lb) + + + + Imperial decimal (in, lb) + Császári decimális (in, lb) + + + + Building Euro (cm, m², m³) + Épület Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Építészet US (láb-hüvelyk, négyzetláb, köbláb) + + + + Metric small parts & CNC(mm, mm/min) + Metrikus apró alkatrészeket & CNC (mm, mm/perc) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial polgári mérnöki (láb, láb/sec) + + + + FEM (mm, N, s) + VEM (mm, N, mp) + + + + Unknown schema + Ismeretlen séma + + + diff --git a/src/Base/Resources/translations/Base_id.ts b/src/Base/Resources/translations/Base_id.ts new file mode 100644 index 0000000000..9cfbb7dfc3 --- /dev/null +++ b/src/Base/Resources/translations/Base_id.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_it.ts b/src/Base/Resources/translations/Base_it.ts new file mode 100644 index 0000000000..48ff4dbb10 --- /dev/null +++ b/src/Base/Resources/translations/Base_it.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_ja.ts b/src/Base/Resources/translations/Base_ja.ts new file mode 100644 index 0000000000..6c03c53809 --- /dev/null +++ b/src/Base/Resources/translations/Base_ja.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_ka.ts b/src/Base/Resources/translations/Base_ka.ts new file mode 100644 index 0000000000..43542c2e8a --- /dev/null +++ b/src/Base/Resources/translations/Base_ka.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + სტანდარტული (მმ, კგ, წმ, გრადუსი) + + + + MKS (m, kg, s, degree) + სი (მ, კგ, წმ, გრადუსი) + + + + US customary (in, lb) + US საბაჟო ერთეულები (დუიმი, გირვანქა) + + + + Imperial decimal (in, lb) + იმპერიული საზ. ერთ.(დუი, გირვან) + + + + Building Euro (cm, m², m³) + სამშენებლო ევრო (სმ, მ², მ³) + + + + Building US (ft-in, sqft, cft) + სამშენებლო აშშ (ფუტი-დუიმი,კვ. ფტ, კუბ. ფტ.) + + + + Metric small parts & CNC(mm, mm/min) + მეტრული პატარა ნაწილები & CNC(მმ, მმ/წთ) + + + + Imperial for Civil Eng (ft, ft/sec) + იმპერიული საზომი ერთეულები სამოქალაქო ინჟინერიისთვის(ფუტები, ფუტები/წმ) + + + + FEM (mm, N, s) + სასრული ელემენტების მეთოდი (მმ, ნ, წმ) + + + + Unknown schema + უცნობი სქემა + + + diff --git a/src/Base/Resources/translations/Base_ko.ts b/src/Base/Resources/translations/Base_ko.ts new file mode 100644 index 0000000000..9a58a991c7 --- /dev/null +++ b/src/Base/Resources/translations/Base_ko.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_nl.ts b/src/Base/Resources/translations/Base_nl.ts new file mode 100644 index 0000000000..01acefefbe --- /dev/null +++ b/src/Base/Resources/translations/Base_nl.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standaard (mm, kg, s, graden) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, graden) + + + + US customary (in, lb) + Amerikaans (in, lb) + + + + Imperial decimal (in, lb) + Engels (in, lb) + + + + Building Euro (cm, m², m³) + Bouw (Europees) (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Bouw (Amerikaans) (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metrische kleine onderdelen en CNC (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Engels voor Civiele Engineering (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Onbekend schema + + + diff --git a/src/Base/Resources/translations/Base_pl.ts b/src/Base/Resources/translations/Base_pl.ts new file mode 100644 index 0000000000..185d4c4db0 --- /dev/null +++ b/src/Base/Resources/translations/Base_pl.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standardowe (mm, kg, s, °) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, °) + + + + US customary (in, lb) + Zwyczajowy USA (in, lb) + + + + Imperial decimal (in, lb) + Dziesiętny brytyjski (in, lb) + + + + Building Euro (cm, m², m³) + Budowlany europejski (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Budowlany USA (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Mniejsze części i CNC, metryczny (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Inżynieria lądowa brytyjskie (ft, ft/s) + + + + FEM (mm, N, s) + MES (mm, N, s) + + + + Unknown schema + Schemat nieokreślony + + + diff --git a/src/Base/Resources/translations/Base_pt-BR.ts b/src/Base/Resources/translations/Base_pt-BR.ts new file mode 100644 index 0000000000..f9df5f3eec --- /dev/null +++ b/src/Base/Resources/translations/Base_pt-BR.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Padrão (mm, kg, s, grau) + + + + MKS (m, kg, s, degree) + MKS (m/kg/s/graus) + + + + US customary (in, lb) + Padrão US (in/lb) + + + + Imperial decimal (in, lb) + Decimal Imperial (in / lb) + + + + Building Euro (cm, m², m³) + Construção Euro (cm/m²/m³) + + + + Building US (ft-in, sqft, cft) + Construção US (ft-in/sqft/cft) + + + + Metric small parts & CNC(mm, mm/min) + Peças pequenas métricas & CNC (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial para Eng Civil (ft, ft/seg) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Esquema desconhecido + + + diff --git a/src/Base/Resources/translations/Base_pt-PT.ts b/src/Base/Resources/translations/Base_pt-PT.ts new file mode 100644 index 0000000000..cb37cd32e8 --- /dev/null +++ b/src/Base/Resources/translations/Base_pt-PT.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Padrão (mm, kg, s, grau) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, grau) + + + + US customary (in, lb) + Padrão US (in, lb) + + + + Imperial decimal (in, lb) + Imperial Decimal (in, lb) + + + + Building Euro (cm, m², m³) + Construção Euro (cm, m2, m3) + + + + Building US (ft-in, sqft, cft) + Construção US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Peças pequenas métricas & CNC (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial para Eng Civil (ft, ft/seg) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Esquema desconhecido + + + diff --git a/src/Base/Resources/translations/Base_ro.ts b/src/Base/Resources/translations/Base_ro.ts new file mode 100644 index 0000000000..8e59a98eca --- /dev/null +++ b/src/Base/Resources/translations/Base_ro.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_ru.ts b/src/Base/Resources/translations/Base_ru.ts new file mode 100644 index 0000000000..27e37b909b --- /dev/null +++ b/src/Base/Resources/translations/Base_ru.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Стандарт (мм, кг, с, градус) + + + + MKS (m, kg, s, degree) + МКС (м, кг, сек, градус) + + + + US customary (in, lb) + Американская традиционная система мер (дюймы, фунты) + + + + Imperial decimal (in, lb) + Английская десятичная (дюймы, фунты) + + + + Building Euro (cm, m², m³) + Строительство Евро (см, м2, м3) + + + + Building US (ft-in, sqft, cft) + Строительство США (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Метрические мелкие детали & ЧПУ (мм, мм/мин) + + + + Imperial for Civil Eng (ft, ft/sec) + Имперская для Гражданских инженеров (футы, футы/с) + + + + FEM (mm, N, s) + МКЭ (мм, Н, с) + + + + Unknown schema + Неизвестная схема + + + diff --git a/src/Base/Resources/translations/Base_sl.ts b/src/Base/Resources/translations/Base_sl.ts new file mode 100644 index 0000000000..39a5c93d0f --- /dev/null +++ b/src/Base/Resources/translations/Base_sl.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standardne (mm, kg, s, stopinje) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, stopinje) + + + + US customary (in, lb) + Ameriške (palci, funti) + + + + Imperial decimal (in, lb) + Anglosaške decimalke (palci, funti) + + + + Building Euro (cm, m², m³) + Metrični gradbeni (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + ZDA gradbeni (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metrični majhni deli in CNC (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Anglosaške gradbene (ft, ft/s) + + + + FEM (mm, N, s) + MKE (mm, N, s) + + + + Unknown schema + Neznana shema + + + diff --git a/src/Base/Resources/translations/Base_sr-CS.ts b/src/Base/Resources/translations/Base_sr-CS.ts new file mode 100644 index 0000000000..0e0a78a566 --- /dev/null +++ b/src/Base/Resources/translations/Base_sr-CS.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, stepeni) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, stepeni) + + + + US customary (in, lb) + US sistem jedinica (in, lb) + + + + Imperial decimal (in, lb) + Imperijalni decimalni (in, lb) + + + + Building Euro (cm, m², m³) + Građevinski Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Građevinski US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metrički mali delovi & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperijalni za građevinarstvo (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Nepoznata šema + + + diff --git a/src/Base/Resources/translations/Base_sr.ts b/src/Base/Resources/translations/Base_sr.ts new file mode 100644 index 0000000000..764b4dbeeb --- /dev/null +++ b/src/Base/Resources/translations/Base_sr.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Стандард (mm, kg,, s, степени) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, степени) + + + + US customary (in, lb) + US cиcтем јединица (in, lb) + + + + Imperial decimal (in, lb) + Империјални децимални (in, lb) + + + + Building Euro (cm, m², m³) + Грађевински Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Грађевински US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Метрички мали делови & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Империјални за грађевинарство (ft, ft/sec) + + + + FEM (mm, N, s) + МКЕ (mm, N, s) + + + + Unknown schema + Непозната шема + + + diff --git a/src/Base/Resources/translations/Base_sv-SE.ts b/src/Base/Resources/translations/Base_sv-SE.ts new file mode 100644 index 0000000000..dabc90078b --- /dev/null +++ b/src/Base/Resources/translations/Base_sv-SE.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, grader) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, grader) + + + + US customary (in, lb) + Amerikanska enheter (in/lb) + + + + Imperial decimal (in, lb) + Brittiska enheter (in/lb) + + + + Building Euro (cm, m², m³) + Europeiska byggenheter (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Amerikanska byggenheter (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metriska små- och CNC-enheter (mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Okänt schema + + + diff --git a/src/Base/Resources/translations/Base_tr.ts b/src/Base/Resources/translations/Base_tr.ts new file mode 100644 index 0000000000..13dd1523d6 --- /dev/null +++ b/src/Base/Resources/translations/Base_tr.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_uk.ts b/src/Base/Resources/translations/Base_uk.ts new file mode 100644 index 0000000000..fbcf639a21 --- /dev/null +++ b/src/Base/Resources/translations/Base_uk.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_val-ES.ts b/src/Base/Resources/translations/Base_val-ES.ts new file mode 100644 index 0000000000..7ede644108 --- /dev/null +++ b/src/Base/Resources/translations/Base_val-ES.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_zh-CN.ts b/src/Base/Resources/translations/Base_zh-CN.ts new file mode 100644 index 0000000000..f311dccaad --- /dev/null +++ b/src/Base/Resources/translations/Base_zh-CN.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + 标准 (毫米, 公斤, 秒, 度) + + + + MKS (m, kg, s, degree) + 公制(米, 公斤, 秒, 度) + + + + US customary (in, lb) + 美制(吋/磅) + + + + Imperial decimal (in, lb) + 英制(英寸,磅) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Resources/translations/Base_zh-TW.ts b/src/Base/Resources/translations/Base_zh-TW.ts new file mode 100644 index 0000000000..66e1fc1b3d --- /dev/null +++ b/src/Base/Resources/translations/Base_zh-TW.ts @@ -0,0 +1,57 @@ + + + + + UnitsApi + + + Standard (mm, kg, s, degree) + Standard (mm, kg, s, degree) + + + + MKS (m, kg, s, degree) + MKS (m, kg, s, degree) + + + + US customary (in, lb) + US customary (in, lb) + + + + Imperial decimal (in, lb) + Imperial decimal (in, lb) + + + + Building Euro (cm, m², m³) + Building Euro (cm, m², m³) + + + + Building US (ft-in, sqft, cft) + Building US (ft-in, sqft, cft) + + + + Metric small parts & CNC(mm, mm/min) + Metric small parts & CNC(mm, mm/min) + + + + Imperial for Civil Eng (ft, ft/sec) + Imperial for Civil Eng (ft, ft/sec) + + + + FEM (mm, N, s) + FEM (mm, N, s) + + + + Unknown schema + Unknown schema + + + diff --git a/src/Base/Rotation.cpp b/src/Base/Rotation.cpp index 344d513c7b..204885147d 100644 --- a/src/Base/Rotation.cpp +++ b/src/Base/Rotation.cpp @@ -401,9 +401,9 @@ Rotation Rotation::operator*(const Rotation & q) const Rotation& Rotation::multRight(const Base::Rotation& q) { // Taken from - double x0, y0, z0, w0; + double x0{}, y0{}, z0{}, w0{}; this->getValue(x0, y0, z0, w0); - double x1, y1, z1, w1; + double x1{}, y1{}, z1{}, w1{}; q.getValue(x1, y1, z1, w1); this->setValue(w0*x1 + x0*w1 + y0*z1 - z0*y1, @@ -422,9 +422,9 @@ Rotation& Rotation::multRight(const Base::Rotation& q) Rotation& Rotation::multLeft(const Base::Rotation& q) { // Taken from - double x0, y0, z0, w0; + double x0{}, y0{}, z0{}, w0{}; q.getValue(x0, y0, z0, w0); - double x1, y1, z1, w1; + double x1{}, y1{}, z1{}, w1{}; this->getValue(x1, y1, z1, w1); this->setValue(w0*x1 + x0*w1 + y0*z1 - z0*y1, @@ -496,7 +496,7 @@ Vector3f Rotation::multVec(const Vector3f & src) const void Rotation::scaleAngle(const double scaleFactor) { Vector3d axis; - double fAngle; + double fAngle{}; this->getValue(axis, fAngle); this->setValue(axis, fAngle * scaleFactor); } @@ -504,10 +504,8 @@ void Rotation::scaleAngle(const double scaleFactor) Rotation Rotation::slerp(const Rotation & q0, const Rotation & q1, double t) { // Taken from - // q = [q0*sin((1-t)*theta)+q1*sin(t*theta)]/sin(theta), 0<=t<=1 if (t<0.0) t=0.0; else if (t>1.0) t=1.0; - //return q0; double scale0 = 1.0 - t; double scale1 = t; @@ -535,12 +533,12 @@ Rotation Rotation::slerp(const Rotation & q0, const Rotation & q1, double t) double y = scale0 * q0.quat[1] + scale1 * q1.quat[1]; double z = scale0 * q0.quat[2] + scale1 * q1.quat[2]; double w = scale0 * q0.quat[3] + scale1 * q1.quat[3]; - return Rotation(x, y, z, w); + return {x, y, z, w}; } Rotation Rotation::identity() { - return Rotation(0.0, 0.0, 0.0, 1.0); + return {0.0, 0.0, 0.0, 1.0}; } Rotation Rotation::makeRotationByAxes(Vector3d xdir, Vector3d ydir, Vector3d zdir, const char* priorityOrder) @@ -574,7 +572,7 @@ Rotation Rotation::makeRotationByAxes(Vector3d xdir, Vector3d ydir, Vector3d zdi auto dropPriority = [&order](int index){ - int tmp; + int tmp{}; if (index == 0){ tmp = order[0]; order[0] = order[1]; @@ -684,7 +682,7 @@ Rotation Rotation::makeRotationByAxes(Vector3d xdir, Vector3d ydir, Vector3d zdi m[2][i] = finaldirs[i].z; } - return Rotation(m); + return {m}; } void Rotation::setYawPitchRoll(double y, double p, double r) @@ -702,11 +700,6 @@ void Rotation::setYawPitchRoll(double y, double p, double r) double c3 = cos(r/2.0); double s3 = sin(r/2.0); - // quat[0] = c1*c2*s3 - s1*s2*c3; - // quat[1] = c1*s2*c3 + s1*c2*s3; - // quat[2] = s1*c2*c3 - c1*s2*s3; - // quat[3] = c1*c2*c3 + s1*s2*s3; - this->setValue ( c1*c2*s3 - s1*s2*c3, c1*s2*c3 + s1*c2*s3, @@ -842,18 +835,17 @@ struct EulerSequence_Parameters EulerSequence_Parameters translateEulerSequence (const Rotation::EulerSequence theSeq) { - using Params = EulerSequence_Parameters; const bool F = false; const bool T = true; switch (theSeq) { - case Rotation::Extrinsic_XYZ: return Params (1, F, F, T); - case Rotation::Extrinsic_XZY: return Params (1, T, F, T); - case Rotation::Extrinsic_YZX: return Params (2, F, F, T); - case Rotation::Extrinsic_YXZ: return Params (2, T, F, T); - case Rotation::Extrinsic_ZXY: return Params (3, F, F, T); - case Rotation::Extrinsic_ZYX: return Params (3, T, F, T); + case Rotation::Extrinsic_XYZ: return {1, F, F, T}; + case Rotation::Extrinsic_XZY: return {1, T, F, T}; + case Rotation::Extrinsic_YZX: return {2, F, F, T}; + case Rotation::Extrinsic_YXZ: return {2, T, F, T}; + case Rotation::Extrinsic_ZXY: return {3, F, F, T}; + case Rotation::Extrinsic_ZYX: return {3, T, F, T}; // Conversion of intrinsic angles is made by the same code as for extrinsic, // using equivalence rule: intrinsic rotation is equivalent to extrinsic @@ -861,30 +853,30 @@ EulerSequence_Parameters translateEulerSequence (const Rotation::EulerSequence t // Swapping of angles (Alpha <-> Gamma) is done inside conversion procedure; // sequence of axes is inverted by setting appropriate parameters here. // Note that proper Euler angles (last block below) are symmetric for sequence of axes. - case Rotation::Intrinsic_XYZ: return Params (3, T, F, F); - case Rotation::Intrinsic_XZY: return Params (2, F, F, F); - case Rotation::Intrinsic_YZX: return Params (1, T, F, F); - case Rotation::Intrinsic_YXZ: return Params (3, F, F, F); - case Rotation::Intrinsic_ZXY: return Params (2, T, F, F); - case Rotation::Intrinsic_ZYX: return Params (1, F, F, F); + case Rotation::Intrinsic_XYZ: return {3, T, F, F}; + case Rotation::Intrinsic_XZY: return {2, F, F, F}; + case Rotation::Intrinsic_YZX: return {1, T, F, F}; + case Rotation::Intrinsic_YXZ: return {3, F, F, F}; + case Rotation::Intrinsic_ZXY: return {2, T, F, F}; + case Rotation::Intrinsic_ZYX: return {1, F, F, F}; - case Rotation::Extrinsic_XYX: return Params (1, F, T, T); - case Rotation::Extrinsic_XZX: return Params (1, T, T, T); - case Rotation::Extrinsic_YZY: return Params (2, F, T, T); - case Rotation::Extrinsic_YXY: return Params (2, T, T, T); - case Rotation::Extrinsic_ZXZ: return Params (3, F, T, T); - case Rotation::Extrinsic_ZYZ: return Params (3, T, T, T); + case Rotation::Extrinsic_XYX: return {1, F, T, T}; + case Rotation::Extrinsic_XZX: return {1, T, T, T}; + case Rotation::Extrinsic_YZY: return {2, F, T, T}; + case Rotation::Extrinsic_YXY: return {2, T, T, T}; + case Rotation::Extrinsic_ZXZ: return {3, F, T, T}; + case Rotation::Extrinsic_ZYZ: return {3, T, T, T}; - case Rotation::Intrinsic_XYX: return Params (1, F, T, F); - case Rotation::Intrinsic_XZX: return Params (1, T, T, F); - case Rotation::Intrinsic_YZY: return Params (2, F, T, F); - case Rotation::Intrinsic_YXY: return Params (2, T, T, F); - case Rotation::Intrinsic_ZXZ: return Params (3, F, T, F); - case Rotation::Intrinsic_ZYZ: return Params (3, T, T, F); + case Rotation::Intrinsic_XYX: return {1, F, T, F}; + case Rotation::Intrinsic_XZX: return {1, T, T, F}; + case Rotation::Intrinsic_YZY: return {2, F, T, F}; + case Rotation::Intrinsic_YXY: return {2, T, T, F}; + case Rotation::Intrinsic_ZXZ: return {3, F, T, F}; + case Rotation::Intrinsic_ZYZ: return {3, T, T, F}; default: - case Rotation::EulerAngles : return Params (3, F, T, F); // = Intrinsic_ZXZ - case Rotation::YawPitchRoll: return Params (1, F, F, F); // = Intrinsic_ZYX + case Rotation::EulerAngles : return {3, F, T, F}; // = Intrinsic_ZXZ + case Rotation::YawPitchRoll: return {1, F, F, F}; // = Intrinsic_ZYX }; } diff --git a/src/Base/RotationPy.xml b/src/Base/RotationPy.xml index 56df46d655..53c8a3104a 100644 --- a/src/Base/RotationPy.xml +++ b/src/Base/RotationPy.xml @@ -16,42 +16,52 @@ This is the Rotation export class - Base.Rotation class.\n -A Rotation using a quaternion.\n -The following constructors are supported:\n + Base.Rotation class. + +A Rotation using a quaternion. + +The following constructors are supported: + Rotation() -Empty constructor.\n +Empty constructor. + Rotation(rotation) -Copy constructor.\n +Copy constructor. + Rotation(Axis, Radian) Rotation(Axis, Degree) Define from an axis and an angle (in radians or degrees according to the keyword). Axis : Base.Vector Radian : float -Degree : float\n +Degree : float + Rotation(vector_start, vector_end) Define from two vectors (rotation from/to vector). vector_start : Base.Vector -vector_end : Base.Vector\n +vector_end : Base.Vector + Rotation(angle1, angle2, angle3) Define from three floats (Euler angles) as yaw-pitch-roll in XY'Z'' convention. angle1 : float angle2 : float -angle3 : float\n +angle3 : float + Rotation(seq, angle1, angle2, angle3) Define from one string and three floats (Euler angles) as Euler rotation of a given type. Call toEulerAngles() for supported sequence types. seq : str angle1 : float angle2 : float -angle3 : float\n +angle3 : float + Rotation(x, y, z, w) Define from four floats (quaternion) where the quaternion is specified as: q = xi+yj+zk+w, i.e. the last parameter is the real part. x : float y : float z : float -w : float\n +w : float + Rotation(dir1, dir2, dir3, seq) Define from three vectors that define rotated axes directions plus an optional 3-characher string of capital letters 'X', 'Y', 'Z' that sets the order of @@ -60,10 +70,12 @@ x is used but corrected if necessary, y is ignored). dir1 : Base.Vector dir2 : Base.Vector dir3 : Base.Vector -seq : str\n +seq : str + Rotation(matrix) Define from a matrix rotation in the 4D representation. -matrix : Base.Matrix\n +matrix : Base.Matrix + Rotation(*coef) Define from 16 or 9 elements which represent the rotation in the 4D matrix representation or in the 3D matrix representation, respectively. @@ -71,68 +83,91 @@ coef : sequence of float - invert() -> None\n + invert() -> None + Sets the rotation to its inverse. - inverted() -> Base.Rotation\n + inverted() -> Base.Rotation + Returns the inverse of the rotation. - isSame(rotation, tol=0) -> bool\n -Checks if `rotation` perform the same transformation as this rotation.\n + isSame(rotation, tol=0) -> bool + +Checks if `rotation` perform the same transformation as this rotation. + rotation : Base.Rotation -tol : float\n Tolerance used to compare both rotations. +tol : float + Tolerance used to compare both rotations. If tol is negative or zero, no tolerance is used. - multiply(rotation) -> Base.Rotation\n -Right multiply this rotation with another rotation.\n -rotation : Base.Rotation\n Rotation by which to multiply this rotation. + multiply(rotation) -> Base.Rotation + +Right multiply this rotation with another rotation. + +rotation : Base.Rotation + Rotation by which to multiply this rotation. - multVec(vector) -> Base.Vector\n -Compute the transformed vector using the rotation.\n -vector : Base.Vector\n Vector to be transformed. + multVec(vector) -> Base.Vector + +Compute the transformed vector using the rotation. + +vector : Base.Vector + Vector to be transformed. - slerp(rotation2, t) -> Base.Rotation\n -Spherical Linear Interpolation (SLERP) of this rotation and `rotation2`.\n -t : float\n Parameter of the path. t=0 returns this rotation, t=1 returns `rotation2`. + slerp(rotation2, t) -> Base.Rotation + +Spherical Linear Interpolation (SLERP) of this rotation and `rotation2`. + +t : float + Parameter of the path. t=0 returns this rotation, t=1 returns `rotation2`. - setYawPitchRoll(angle1, angle2, angle3) -> None\n -Set the Euler angles of this rotation as yaw-pitch-roll in XY'Z'' convention.\n -angle1 : float\n Angle around yaw axis in degrees. -angle2 : float\n Angle around pitch axis in degrees. -angle3 : float\n Angle around roll axis in degrees. + setYawPitchRoll(angle1, angle2, angle3) -> None + +Set the Euler angles of this rotation as yaw-pitch-roll in XY'Z'' convention. + +angle1 : float + Angle around yaw axis in degrees. +angle2 : float + Angle around pitch axis in degrees. +angle3 : float + Angle around roll axis in degrees. - getYawPitchRoll() -> tuple\n + getYawPitchRoll() -> tuple + Get the Euler angles of this rotation as yaw-pitch-roll in XY'Z'' convention. The angles are given in degrees. - setEulerAngles(seq, angle1, angle2, angle3) -> None\n + setEulerAngles(seq, angle1, angle2, angle3) -> None + Set the Euler angles in a given sequence for this rotation. -The angles must be given in degrees.\n -seq : str\n Euler sequence name. All possible values given by toEulerAngles(). +The angles must be given in degrees. + +seq : str + Euler sequence name. All possible values given by toEulerAngles(). angle1 : float angle2 : float angle3 : float @@ -140,29 +175,36 @@ angle3 : float - toEulerAngles(seq) -> list\n -Get the Euler angles in a given sequence for this rotation.\n -seq : str\n Euler sequence name. If not given, the function returns + toEulerAngles(seq) -> list + +Get the Euler angles in a given sequence for this rotation. + +seq : str + Euler sequence name. If not given, the function returns all possible values of `seq`. Optional. - toMatrix() -> Base.Matrix\n + toMatrix() -> Base.Matrix + Convert the rotation to a 4D matrix representation. - isNull() -> bool\n + isNull() -> bool + Returns True if all values in the quaternion representation are zero. - isIdentity(tol=0) -> bool\n + isIdentity(tol=0) -> bool + Returns True if the rotation equals the 4D identity matrix. -tol : float\n Tolerance used to check for identity. +tol : float + Tolerance used to check for identity. If tol is negative or zero, no tolerance is used. diff --git a/src/Base/RotationPyImp.cpp b/src/Base/RotationPyImp.cpp index 6292c9b16b..1af310e4c9 100644 --- a/src/Base/RotationPyImp.cpp +++ b/src/Base/RotationPyImp.cpp @@ -25,6 +25,7 @@ #include #include +#include // inclusion of the generated files (generated out of RotationPy.xml) #include "RotationPy.h" @@ -62,7 +63,7 @@ PyObject *RotationPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // P // constructor method int RotationPy::PyInit(PyObject* args, PyObject* kwds) { - PyObject* o; + PyObject* o{}; if (PyArg_ParseTuple(args, "")) { return 0; } @@ -75,17 +76,17 @@ int RotationPy::PyInit(PyObject* args, PyObject* kwds) } PyErr_Clear(); - double angle; - static char *kw_deg[] = {"Axis", "Degree", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!d", kw_deg, &(Base::VectorPy::Type), &o, &angle)) { + double angle{}; + static const std::array kw_deg {"Axis", "Degree", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!d", kw_deg, &(Base::VectorPy::Type), &o, &angle)) { // NOTE: The last parameter defines the rotation angle in degree. getRotationPtr()->setValue(static_cast(o)->value(), Base::toRadians(angle)); return 0; } PyErr_Clear(); - static char *kw_rad[] = {"Axis", "Radian", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!d", kw_rad, &(Base::VectorPy::Type), &o, &angle)) { + static const std::array kw_rad {"Axis", "Radian", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!d", kw_rad, &(Base::VectorPy::Type), &o, &angle)) { getRotationPtr()->setValue(static_cast(o)->value(), angle); return 0; } @@ -103,22 +104,22 @@ int RotationPy::PyInit(PyObject* args, PyObject* kwds) } PyErr_Clear(); - double q0, q1, q2, q3; + double q0{}, q1{}, q2{}, q3{}; if (PyArg_ParseTuple(args, "dddd", &q0, &q1, &q2, &q3)) { getRotationPtr()->setValue(q0, q1, q2, q3); return 0; } PyErr_Clear(); - double y, p, r; + double y{}, p{}, r{}; if (PyArg_ParseTuple(args, "ddd", &y, &p, &r)) { getRotationPtr()->setYawPitchRoll(y, p, r); return 0; } PyErr_Clear(); - const char *seq; - double a, b, c; + const char *seq{}; + double a{}, b{}, c{}; if (PyArg_ParseTuple(args, "sddd", &seq, &a, &b, &c)) { PY_TRY { getRotationPtr()->setEulerAngles( @@ -176,7 +177,7 @@ int RotationPy::PyInit(PyObject* args, PyObject* kwds) } PyErr_Clear(); - PyObject *v1, *v2; + PyObject *v1{}, *v2{}; if (PyArg_ParseTuple(args, "O!O!", &(Base::VectorPy::Type), &v1, &(Base::VectorPy::Type), &v2)) { Py::Vector from(v1, false); @@ -186,7 +187,7 @@ int RotationPy::PyInit(PyObject* args, PyObject* kwds) } PyErr_Clear(); - PyObject *v3; + PyObject *v3{}; const char *priority = nullptr; if (PyArg_ParseTuple(args, "O!O!O!|s", &(Base::VectorPy::Type), &v1, &(Base::VectorPy::Type), &v2, @@ -275,7 +276,7 @@ PyObject* RotationPy::inverted(PyObject * args) PyObject* RotationPy::multiply(PyObject * args) { - PyObject *rot; + PyObject *rot{}; if (!PyArg_ParseTuple(args, "O!", &(RotationPy::Type), &rot)) return nullptr; Rotation mult = (*getRotationPtr()) * (*static_cast(rot)->getRotationPtr()); @@ -284,7 +285,7 @@ PyObject* RotationPy::multiply(PyObject * args) PyObject* RotationPy::multVec(PyObject * args) { - PyObject *obj; + PyObject *obj{}; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &obj)) return nullptr; Base::Vector3d vec(static_cast(obj)->value()); @@ -294,8 +295,8 @@ PyObject* RotationPy::multVec(PyObject * args) PyObject* RotationPy::slerp(PyObject * args) { - PyObject *rot; - double t; + PyObject *rot{}; + double t{}; if (!PyArg_ParseTuple(args, "O!d", &(RotationPy::Type), &rot, &t)) return nullptr; Rotation *rot0 = this->getRotationPtr(); @@ -306,7 +307,7 @@ PyObject* RotationPy::slerp(PyObject * args) PyObject* RotationPy::setYawPitchRoll(PyObject * args) { - double A,B,C; + double A{},B{},C{}; if (!PyArg_ParseTuple(args, "ddd", &A, &B, &C)) return nullptr; this->getRotationPtr()->setYawPitchRoll(A,B,C); @@ -317,7 +318,7 @@ PyObject* RotationPy::getYawPitchRoll(PyObject * args) { if (!PyArg_ParseTuple(args, "")) return nullptr; - double A,B,C; + double A{},B{},C{}; this->getRotationPtr()->getYawPitchRoll(A,B,C); Py::Tuple tuple(3); @@ -329,8 +330,8 @@ PyObject* RotationPy::getYawPitchRoll(PyObject * args) PyObject* RotationPy::setEulerAngles(PyObject * args) { - const char *seq; - double A,B,C; + const char *seq{}; + double A{},B{},C{}; if (!PyArg_ParseTuple(args, "sddd", &seq, &A, &B, &C)) return nullptr; @@ -358,7 +359,7 @@ PyObject* RotationPy::toEulerAngles(PyObject * args) } PY_TRY { - double A,B,C; + double A{},B{},C{}; this->getRotationPtr()->getEulerAngles( Rotation::eulerSequenceFromName(seq),A,B,C); @@ -382,7 +383,7 @@ PyObject* RotationPy::toMatrix(PyObject * args) PyObject* RotationPy::isSame(PyObject *args) { - PyObject *rot; + PyObject *rot{}; double tol = 0.0; if (!PyArg_ParseTuple(args, "O!|d", &(RotationPy::Type), &rot, &tol)) return nullptr; @@ -412,7 +413,7 @@ PyObject* RotationPy::isNull(PyObject *args) Py::Tuple RotationPy::getQ() const { - double q0, q1, q2, q3; + double q0{}, q1{}, q2{}, q3{}; this->getRotationPtr()->getValue(q0,q1,q2,q3); Py::Tuple tuple(4); @@ -434,21 +435,21 @@ void RotationPy::setQ(Py::Tuple arg) Py::Object RotationPy::getRawAxis() const { - Base::Vector3d axis; double angle; + Base::Vector3d axis; double angle{}; this->getRotationPtr()->getRawValue(axis, angle); - return Py::Vector(axis); + return Py::Vector(axis); // NOLINT } Py::Object RotationPy::getAxis() const { - Base::Vector3d axis; double angle; + Base::Vector3d axis; double angle{}; this->getRotationPtr()->getValue(axis, angle); - return Py::Vector(axis); + return Py::Vector(axis); // NOLINT } void RotationPy::setAxis(Py::Object arg) { - Base::Vector3d axis; double angle; + Base::Vector3d axis; double angle{}; this->getRotationPtr()->getValue(axis, angle); axis = Py::Vector(arg).toVector(); this->getRotationPtr()->setValue(axis, angle); @@ -456,14 +457,14 @@ void RotationPy::setAxis(Py::Object arg) Py::Float RotationPy::getAngle() const { - Base::Vector3d axis; double angle; + Base::Vector3d axis; double angle{}; this->getRotationPtr()->getValue(axis, angle); return Py::Float(angle); } void RotationPy::setAngle(Py::Float arg) { - Base::Vector3d axis; double angle; + Base::Vector3d axis; double angle{}; this->getRotationPtr()->getRawValue(axis, angle); angle = static_cast(arg); this->getRotationPtr()->setValue(axis, angle); @@ -477,21 +478,22 @@ PyObject *RotationPy::getCustomAttributes(const char* attr) const return new MatrixPy(mat); } else if (strcmp(attr, "Yaw") == 0) { - double A,B,C; + double A{},B{},C{}; this->getRotationPtr()->getYawPitchRoll(A,B,C); return PyFloat_FromDouble(A); } else if (strcmp(attr, "Pitch") == 0) { - double A,B,C; + double A{},B{},C{}; this->getRotationPtr()->getYawPitchRoll(A,B,C); return PyFloat_FromDouble(B); } else if (strcmp(attr, "Roll") == 0) { - double A,B,C; + double A{},B{},C{}; this->getRotationPtr()->getYawPitchRoll(A,B,C); return PyFloat_FromDouble(C); } else if (strcmp(attr, "toEuler") == 0) { + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-const-cast) Py::Object self(const_cast(this), false); return Py::new_reference_to(self.getAttr("getYawPitchRoll")); } @@ -528,7 +530,7 @@ int RotationPy::setCustomAttributes(const char* attr, PyObject* obj) else if (strcmp(attr, "Yaw") == 0) { if (PyNumber_Check(obj)) { double V = PyFloat_AsDouble(obj); - double A,B,C; + double A{},B{},C{}; this->getRotationPtr()->getYawPitchRoll(A,B,C); this->getRotationPtr()->setYawPitchRoll(V,B,C); return 1; @@ -537,7 +539,7 @@ int RotationPy::setCustomAttributes(const char* attr, PyObject* obj) else if (strcmp(attr, "Pitch") == 0) { if (PyNumber_Check(obj)) { double V = PyFloat_AsDouble(obj); - double A,B,C; + double A{},B{},C{}; this->getRotationPtr()->getYawPitchRoll(A,B,C); this->getRotationPtr()->setYawPitchRoll(A,V,C); return 1; @@ -546,7 +548,7 @@ int RotationPy::setCustomAttributes(const char* attr, PyObject* obj) else if (strcmp(attr, "Roll") == 0) { if (PyNumber_Check(obj)) { double V = PyFloat_AsDouble(obj); - double A,B,C; + double A{},B{},C{}; this->getRotationPtr()->getYawPitchRoll(A,B,C); this->getRotationPtr()->setYawPitchRoll(A,B,V); return 1; @@ -602,7 +604,7 @@ PyObject * RotationPy::number_power_handler (PyObject* self, PyObject* other, Py long b = Py::Int(other); Vector3d axis; - double rfAngle; + double rfAngle{}; a.getRawValue(axis, rfAngle); rfAngle *= b; diff --git a/src/Base/Sequencer.cpp b/src/Base/Sequencer.cpp index 75459c7737..b9b29020d0 100644 --- a/src/Base/Sequencer.cpp +++ b/src/Base/Sequencer.cpp @@ -78,7 +78,6 @@ SequencerBase& SequencerBase::Instance () } SequencerBase::SequencerBase() - : nProgress(0), nTotalSteps(0), _bLocked(false), _bCanceled(false), _nLastPercentage(-1) { SequencerP::appendInstance(this); } diff --git a/src/Base/Sequencer.h b/src/Base/Sequencer.h index fcb9f93376..cd7d202e10 100644 --- a/src/Base/Sequencer.h +++ b/src/Base/Sequencer.h @@ -236,13 +236,15 @@ protected: virtual void resetData(); protected: - size_t nProgress; /**< Stores the current amount of progress.*/ - size_t nTotalSteps; /**< Stores the total number of steps */ + //NOLINTBEGIN + size_t nProgress{0}; /**< Stores the current amount of progress.*/ + size_t nTotalSteps{0}; /**< Stores the total number of steps */ + //NOLINTEND private: - bool _bLocked; /**< Lock/unlock sequencer. */ - bool _bCanceled; /**< Is set to true if the last pending operation was canceled */ - int _nLastPercentage; /**< Progress in percent. */ + bool _bLocked{false}; /**< Lock/unlock sequencer. */ + bool _bCanceled{false}; /**< Is set to true if the last pending operation was canceled */ + int _nLastPercentage{-1}; /**< Progress in percent. */ }; /** This special sequencer might be useful if you want to suppress any indication @@ -370,9 +372,8 @@ public: void setProgress(size_t); bool wasCanceled() const; -private: - SequencerLauncher(const SequencerLauncher&); - void operator=(const SequencerLauncher&); + SequencerLauncher(const SequencerLauncher&) = delete; + void operator=(const SequencerLauncher&) = delete; }; /** Access to the only SequencerBase instance */ diff --git a/src/Base/Stream.cpp b/src/Base/Stream.cpp index c149dfafdb..d23aa7439a 100644 --- a/src/Base/Stream.cpp +++ b/src/Base/Stream.cpp @@ -40,9 +40,7 @@ using namespace Base; -Stream::Stream() : _swap(false) -{ -} +Stream::Stream() = default; Stream::~Stream() = default; @@ -82,56 +80,56 @@ OutputStream& OutputStream::operator << (uint8_t uch) OutputStream& OutputStream::operator << (int16_t s) { - if (_swap) SwapEndian(s); + if (isSwapped()) SwapEndian(s); _out.write((const char*)&s, sizeof(int16_t)); return *this; } OutputStream& OutputStream::operator << (uint16_t us) { - if (_swap) SwapEndian(us); + if (isSwapped()) SwapEndian(us); _out.write((const char*)&us, sizeof(uint16_t)); return *this; } OutputStream& OutputStream::operator << (int32_t i) { - if (_swap) SwapEndian(i); + if (isSwapped()) SwapEndian(i); _out.write((const char*)&i, sizeof(int32_t)); return *this; } OutputStream& OutputStream::operator << (uint32_t ui) { - if (_swap) SwapEndian(ui); + if (isSwapped()) SwapEndian(ui); _out.write((const char*)&ui, sizeof(uint32_t)); return *this; } OutputStream& OutputStream::operator << (int64_t l) { - if (_swap) SwapEndian(l); + if (isSwapped()) SwapEndian(l); _out.write((const char*)&l, sizeof(int64_t)); return *this; } OutputStream& OutputStream::operator << (uint64_t ul) { - if (_swap) SwapEndian(ul); + if (isSwapped()) SwapEndian(ul); _out.write((const char*)&ul, sizeof(uint64_t)); return *this; } OutputStream& OutputStream::operator << (float f) { - if (_swap) SwapEndian(f); + if (isSwapped()) SwapEndian(f); _out.write((const char*)&f, sizeof(float)); return *this; } OutputStream& OutputStream::operator << (double d) { - if (_swap) SwapEndian(d); + if (isSwapped()) SwapEndian(d); _out.write((const char*)&d, sizeof(double)); return *this; } @@ -163,56 +161,56 @@ InputStream& InputStream::operator >> (uint8_t& uch) InputStream& InputStream::operator >> (int16_t& s) { _in.read((char*)&s, sizeof(int16_t)); - if (_swap) SwapEndian(s); + if (isSwapped()) SwapEndian(s); return *this; } InputStream& InputStream::operator >> (uint16_t& us) { _in.read((char*)&us, sizeof(uint16_t)); - if (_swap) SwapEndian(us); + if (isSwapped()) SwapEndian(us); return *this; } InputStream& InputStream::operator >> (int32_t& i) { _in.read((char*)&i, sizeof(int32_t)); - if (_swap) SwapEndian(i); + if (isSwapped()) SwapEndian(i); return *this; } InputStream& InputStream::operator >> (uint32_t& ui) { _in.read((char*)&ui, sizeof(uint32_t)); - if (_swap) SwapEndian(ui); + if (isSwapped()) SwapEndian(ui); return *this; } InputStream& InputStream::operator >> (int64_t& l) { _in.read((char*)&l, sizeof(int64_t)); - if (_swap) SwapEndian(l); + if (isSwapped()) SwapEndian(l); return *this; } InputStream& InputStream::operator >> (uint64_t& ul) { _in.read((char*)&ul, sizeof(uint64_t)); - if (_swap) SwapEndian(ul); + if (isSwapped()) SwapEndian(ul); return *this; } InputStream& InputStream::operator >> (float& f) { _in.read((char*)&f, sizeof(float)); - if (_swap) SwapEndian(f); + if (isSwapped()) SwapEndian(f); return *this; } InputStream& InputStream::operator >> (double& d) { _in.read((char*)&d, sizeof(double)); - if (_swap) SwapEndian(d); + if (isSwapped()) SwapEndian(d); return *this; } @@ -264,7 +262,7 @@ ByteArrayOStreambuf::seekoff(std::streambuf::off_type off, endpos = _buffer->size(); break; default: - return pos_type(off_type(-1)); + return {off_type(-1)}; } if (endpos != curpos) { @@ -272,7 +270,7 @@ ByteArrayOStreambuf::seekoff(std::streambuf::off_type off, endpos = -1; } - return pos_type(endpos); + return {endpos}; } std::streambuf::pos_type @@ -284,11 +282,12 @@ ByteArrayOStreambuf::seekpos(std::streambuf::pos_type pos, // ---------------------------------------------------------------------- -ByteArrayIStreambuf::ByteArrayIStreambuf(const QByteArray& data) : _buffer(data) +ByteArrayIStreambuf::ByteArrayIStreambuf(const QByteArray& data) + : _buffer(data) + , _beg(0) + , _end(data.size()) + , _cur(0) { - _beg = 0; - _end = data.size(); - _cur = 0; } ByteArrayIStreambuf::~ByteArrayIStreambuf() = default; @@ -396,7 +395,7 @@ IODeviceOStreambuf::seekoff(std::streambuf::off_type off, endpos = device->size(); break; default: - return pos_type(off_type(-1)); + return {off_type(-1)}; } if (endpos != curpos) { @@ -404,7 +403,7 @@ IODeviceOStreambuf::seekoff(std::streambuf::off_type off, endpos = -1; } - return pos_type(endpos); + return {endpos}; } std::streambuf::pos_type @@ -416,7 +415,7 @@ IODeviceOStreambuf::seekpos(std::streambuf::pos_type pos, // ---------------------------------------------------------------------- -IODeviceIStreambuf::IODeviceIStreambuf(QIODevice* dev) : device(dev), buffer{} +IODeviceIStreambuf::IODeviceIStreambuf(QIODevice* dev) : device(dev) { setg (buffer+pbSize, // beginning of putback area buffer+pbSize, // read position @@ -441,7 +440,7 @@ using std::memcpy; * - use number of characters read * - but at most size of putback area */ - int numPutback; + int numPutback{}; numPutback = gptr() - eback(); if (numPutback > pbSize) { numPutback = pbSize; @@ -454,7 +453,7 @@ using std::memcpy; numPutback); // read at most bufSize new characters - int num; + int num{}; num = device->read(buffer+pbSize, bufSize); if (num <= 0) { // ERROR or EOF @@ -488,7 +487,7 @@ IODeviceIStreambuf::seekoff(std::streambuf::off_type off, endpos = device->size(); break; default: - return pos_type(off_type(-1)); + return {off_type(-1)}; } if (endpos != curpos) { @@ -496,7 +495,7 @@ IODeviceIStreambuf::seekoff(std::streambuf::off_type off, endpos = -1; } - return pos_type(endpos); + return {endpos}; } std::streambuf::pos_type @@ -514,7 +513,6 @@ IODeviceIStreambuf::seekpos(std::streambuf::pos_type pos, // http://www.icce.rug.nl/documents/cplusplus/cplusplus24.html PyStreambuf::PyStreambuf(PyObject* o, std::size_t buf_size, std::size_t put_back) : inp(o) - , type(Unknown) , put_back(std::max(put_back, std::size_t(1))) , buffer(std::max(buf_size, put_back) + put_back) { @@ -529,7 +527,7 @@ PyStreambuf::PyStreambuf(PyObject* o, std::size_t buf_size, std::size_t put_back PyStreambuf::~PyStreambuf() { - sync(); + PyStreambuf::sync(); Py_DECREF(inp); } @@ -547,7 +545,7 @@ PyStreambuf::int_type PyStreambuf::underflow() start += put_back; } - std::size_t n; + std::size_t n{}; Py::Tuple arg(1); long len = static_cast(buffer.size() - (start - base)); arg.setItem(0, Py::Long(len)); @@ -696,7 +694,7 @@ PyStreambuf::seekoff(PyStreambuf::off_type offset, PyStreambuf::seekdir dir, PyS whence = 2; break; default: - return pos_type(off_type(-1)); + return {off_type(-1)}; } try { @@ -715,7 +713,7 @@ PyStreambuf::seekoff(PyStreambuf::off_type offset, PyStreambuf::seekdir dir, PyS } catch(Py::Exception& e) { e.clear(); - return pos_type(off_type(-1)); + return {off_type(-1)}; } } @@ -731,7 +729,7 @@ Streambuf::Streambuf(const std::string& data) { _beg = data.begin(); _end = data.end(); - _cur = _beg; + _cur = _beg; //NOLINT } Streambuf::~Streambuf() = default; diff --git a/src/Base/Stream.h b/src/Base/Stream.h index 123dc4d9c9..10097b0757 100644 --- a/src/Base/Stream.h +++ b/src/Base/Stream.h @@ -49,14 +49,19 @@ public: ByteOrder byteOrder() const; void setByteOrder(ByteOrder); + virtual ~Stream(); protected: Stream(); Stream(const Stream&) = default; + Stream(Stream&&) = default; Stream& operator=(const Stream&) = default; - virtual ~Stream(); + Stream& operator=(Stream&&) = default; - bool _swap; + bool isSwapped() const { return _swap; }; + +private: + bool _swap{false}; }; /** @@ -81,9 +86,10 @@ public: OutputStream& operator << (float f); OutputStream& operator << (double d); -private: - OutputStream (const OutputStream&); - void operator = (const OutputStream&); + OutputStream (const OutputStream&) = delete; + OutputStream (OutputStream&&) = delete; + void operator = (const OutputStream&) = delete; + void operator = (OutputStream&&) = delete; private: std::ostream& _out; @@ -117,9 +123,10 @@ public: return !_in.eof(); } -private: - InputStream (const InputStream&); - void operator = (const InputStream&); + InputStream (const InputStream&) = delete; + InputStream (InputStream&&) = delete; + void operator = (const InputStream&) = delete; + void operator = (InputStream&&) = delete; private: std::istream& _in; @@ -149,9 +156,11 @@ protected: std::ios_base::openmode which = std::ios::in | std::ios::out) override; -private: - ByteArrayOStreambuf(const ByteArrayOStreambuf&); - ByteArrayOStreambuf& operator=(const ByteArrayOStreambuf&); +public: + ByteArrayOStreambuf(const ByteArrayOStreambuf&) = delete; + ByteArrayOStreambuf(ByteArrayOStreambuf&&) = delete; + ByteArrayOStreambuf& operator=(const ByteArrayOStreambuf&) = delete; + ByteArrayOStreambuf& operator=(ByteArrayOStreambuf&&) = delete; private: QBuffer* _buffer; @@ -180,9 +189,11 @@ protected: pos_type seekpos(std::streambuf::pos_type pos, std::ios_base::openmode which = std::ios::in | std::ios::out) override; -private: - ByteArrayIStreambuf(const ByteArrayIStreambuf&); - ByteArrayIStreambuf& operator=(const ByteArrayIStreambuf&); +public: + ByteArrayIStreambuf(const ByteArrayIStreambuf&) = delete; + ByteArrayIStreambuf(ByteArrayIStreambuf&&) = delete; + ByteArrayIStreambuf& operator=(const ByteArrayIStreambuf&) = delete; + ByteArrayIStreambuf& operator=(ByteArrayIStreambuf&&) = delete; private: const QByteArray& _buffer; @@ -210,11 +221,13 @@ protected: pos_type seekpos(std::streambuf::pos_type sp, std::ios_base::openmode which = std::ios::in | std::ios::out) override; -private: - IODeviceOStreambuf(const IODeviceOStreambuf&); - IODeviceOStreambuf& operator=(const IODeviceOStreambuf&); +public: + IODeviceOStreambuf(const IODeviceOStreambuf&) = delete; + IODeviceOStreambuf(IODeviceOStreambuf&&) = delete; + IODeviceOStreambuf& operator=(const IODeviceOStreambuf&) = delete; + IODeviceOStreambuf& operator=(IODeviceOStreambuf&&) = delete; -protected: +private: QIODevice* device; }; @@ -238,11 +251,13 @@ protected: pos_type seekpos(std::streambuf::pos_type sp, std::ios_base::openmode which = std::ios::in | std::ios::out) override; -private: - IODeviceIStreambuf(const IODeviceIStreambuf&); - IODeviceIStreambuf& operator=(const IODeviceIStreambuf&); +public: + IODeviceIStreambuf(const IODeviceIStreambuf&) = delete; + IODeviceIStreambuf(IODeviceIStreambuf&&) = delete; + IODeviceIStreambuf& operator=(const IODeviceIStreambuf&) = delete; + IODeviceIStreambuf& operator=(IODeviceIStreambuf&&) = delete; -protected: +private: QIODevice* device; /* data buffer: * - at most, pbSize characters in putback area plus @@ -250,7 +265,7 @@ protected: */ static const int pbSize = 4; // size of putback area static const int bufSize = 1024; // size of the data buffer - char buffer[bufSize+pbSize]; // data buffer + char buffer[bufSize+pbSize]{}; // data buffer }; class BaseExport PyStreambuf : public std::streambuf @@ -286,13 +301,15 @@ private: bool flushBuffer(); bool writeStr(const char* s, std::streamsize num); -private: - PyStreambuf(const PyStreambuf&); - PyStreambuf& operator=(const PyStreambuf&); +public: + PyStreambuf(const PyStreambuf&) = delete; + PyStreambuf(PyStreambuf&&) = delete; + PyStreambuf& operator=(const PyStreambuf&) = delete; + PyStreambuf& operator=(PyStreambuf&&) = delete; private: PyObject* inp; - Type type; + Type type{Unknown}; const std::size_t put_back; std::vector buffer; }; @@ -316,9 +333,11 @@ protected: std::ios_base::openmode which = std::ios::in | std::ios::out) override; -private: - Streambuf(const Streambuf&); - Streambuf& operator=(const Streambuf&); +public: + Streambuf(const Streambuf&) = delete; + Streambuf(Streambuf&&) = delete; + Streambuf& operator=(const Streambuf&) = delete; + Streambuf& operator=(Streambuf&&) = delete; private: std::string::const_iterator _beg; @@ -340,6 +359,8 @@ class ofstream : public std::ofstream { public: ofstream() = default; + ofstream(const ofstream&) = delete; + ofstream(ofstream&&) = delete; ofstream(const FileInfo& fi, ios_base::openmode mode = std::ios::out | std::ios::trunc) #ifdef _MSC_VER @@ -356,6 +377,9 @@ public: std::ofstream::open(fi.filePath().c_str(), mode); #endif } + + ofstream& operator = (const ofstream&) = delete; + ofstream& operator = (ofstream&&) = delete; }; /** @@ -368,6 +392,8 @@ class ifstream : public std::ifstream { public: ifstream() = default; + ifstream(const ifstream&) = delete; + ifstream(ifstream&&) = delete; ifstream(const FileInfo& fi, ios_base::openmode mode = std::ios::in) #ifdef _MSC_VER @@ -384,6 +410,9 @@ public: std::ifstream::open(fi.filePath().c_str(), mode); #endif } + + ifstream& operator = (const ifstream&) = delete; + ifstream& operator = (ifstream&&) = delete; }; } // namespace Base diff --git a/src/Base/Swap.cpp b/src/Base/Swap.cpp index 55fecd0725..159793936a 100644 --- a/src/Base/Swap.cpp +++ b/src/Base/Swap.cpp @@ -42,7 +42,7 @@ void Base::SwapVar (unsigned char&) void Base::SwapVar (short& s) { short sTmp = s; - int i; + int i = 0; for (i = 0; i < (int)sizeof (short); i++) *(((char*) &sTmp) + i) = *(((char*) &s) + sizeof (short) - i - 1); @@ -52,7 +52,7 @@ void Base::SwapVar (short& s) void Base::SwapVar (unsigned short& s) { short sTmp = s; - int i; + int i = 0; for (i = 0; i < (int)sizeof (short); i++) *(((char*) &sTmp) + i) = *(((char*) &s) + sizeof (short) - i - 1); @@ -62,7 +62,7 @@ void Base::SwapVar (unsigned short& s) void Base::SwapVar (long& l) { long lTmp = l; - int i; + int i = 0; for (i = 0; i < (int)sizeof (long); i++) *(((char*) &lTmp) + i) = *(((char*) &l) + sizeof (long) - i - 1); @@ -72,7 +72,7 @@ void Base::SwapVar (long& l) void Base::SwapVar (unsigned long& l) { long lTmp = l; - int i; + int i = 0; for (i = 0; i < (int)sizeof (long); i++) *(((char*) &lTmp) + i) = *(((char*) &l) + sizeof (long) - i - 1); @@ -82,7 +82,7 @@ void Base::SwapVar (unsigned long& l) void Base::SwapVar (float& f) { float fTmp = f; - int i; + int i = 0; for (i = 0; i < (int)sizeof (float); i++) *(((char*) &fTmp) + i) = *(((char*) &f) + sizeof (float) - i - 1); @@ -92,7 +92,7 @@ void Base::SwapVar (float& f) void Base::SwapVar (double& d) { double dTmp = d; - int i; + int i = 0; for (i = 0; i < (int)sizeof (double); i++) *(((char*) &dTmp) + i) = *(((char*) &d) + sizeof (double) - i - 1); diff --git a/src/Base/Swap.h b/src/Base/Swap.h index b881623522..c04a6911c1 100644 --- a/src/Base/Swap.h +++ b/src/Base/Swap.h @@ -51,7 +51,7 @@ template void SwapEndian(T& v) { T tmp = v; - int i; + int i = 0; for (i = 0; i < (int)sizeof (T); i++) *(((char*) &tmp) + i) = *(((char*) &v) + sizeof (T) - i - 1); diff --git a/src/Base/Tools.cpp b/src/Base/Tools.cpp index 0a360cc5bb..8bcbe30f92 100644 --- a/src/Base/Tools.cpp +++ b/src/Base/Tools.cpp @@ -97,9 +97,9 @@ private: void findHighestSuffix(const std::vector& names) { - for (std::vector::const_iterator it = names.begin(); it != names.end(); ++it) { - if (it->substr(0, base_name.length()) == base_name) { // same prefix - std::string suffix(it->substr(base_name.length())); + for (const auto & name : names) { + if (name.substr(0, base_name.length()) == base_name) { // same prefix + std::string suffix(name.substr(base_name.length())); if (suffix.size() > 0) { std::string::size_type pos = suffix.find_first_not_of("0123456789"); if (pos == std::string::npos) { @@ -161,11 +161,11 @@ std::string Base::Tools::getIdentifier(const std::string& name) if (!CleanName.empty() && CleanName[0] >= 48 && CleanName[0] <= 57) CleanName[0] = '_'; // strip illegal chars - for (std::string::iterator it = CleanName.begin(); it != CleanName.end(); ++it) { - if (!((*it>=48 && *it<=57) || // number - (*it>=65 && *it<=90) || // uppercase letter - (*it>=97 && *it<=122))) // lowercase letter - *it = '_'; // it's neither number nor letter + for (char & it : CleanName) { + if (!((it>=48 && it<=57) || // number + (it>=65 && it<=90) || // uppercase letter + (it>=97 && it<=122))) // lowercase letter + it = '_'; // it's neither number nor letter } return CleanName; @@ -175,8 +175,8 @@ std::wstring Base::Tools::widen(const std::string& str) { std::wostringstream wstm; const std::ctype& ctfacet = std::use_facet< std::ctype >(wstm.getloc()); - for (size_t i=0; i& ctfacet = std::use_facet< std::ctype >(stm.getloc()); - for (size_t i=0; i tabs(int n) { - return manipulator(&tabsN, n); + return {&tabsN, n}; } inline manipulator blanks(int n) { - return manipulator(&blanksN, n); + return {&blanksN, n}; } // ---------------------------------------------------------------------------- @@ -263,7 +263,7 @@ struct BaseExport Tools */ static inline std::string toStdString(const QString& s) { QByteArray tmp = s.toUtf8(); - return std::string(tmp.constData(), static_cast(tmp.size())); + return {tmp.constData(), static_cast(tmp.size())}; } /** diff --git a/src/Base/Tools2D.cpp b/src/Base/Tools2D.cpp index 3a76622a36..6b61f526ce 100644 --- a/src/Base/Tools2D.cpp +++ b/src/Base/Tools2D.cpp @@ -35,7 +35,7 @@ using namespace Base; double Vector2d::GetAngle (const Vector2d &rclVect) const { - double fDivid, fNum; + double fDivid = 0.0, fNum = 0.0; fDivid = Length() * rclVect.Length(); @@ -106,18 +106,6 @@ bool BoundBox2d::Intersect(const Line2d &rclLine) const bool BoundBox2d::Intersect(const BoundBox2d &rclBB) const { -//// compare bb2-points to this -//if (Contains (Vector2d (rclBB.fMinX, rclBB.fMinY))) return true; -//if (Contains (Vector2d (rclBB.fMaxX, rclBB.fMinY))) return true; -//if (Contains (Vector2d (rclBB.fMaxX, rclBB.fMaxY))) return true; -//if (Contains (Vector2d (rclBB.fMinX, rclBB.fMaxY))) return true; -// -//// compare this-points to bb2 -//if (rclBB.Contains (Vector2d (fMinX, fMinY))) return true; -//if (rclBB.Contains (Vector2d (fMaxX, fMinY))) return true; -//if (rclBB.Contains (Vector2d (fMaxX, fMaxY))) return true; -//if (rclBB.Contains (Vector2d (fMinX, fMaxY))) return true; - if (MinX < rclBB.MaxX && rclBB.MinX < MaxX && MinY < rclBB.MaxY && @@ -129,7 +117,7 @@ bool BoundBox2d::Intersect(const BoundBox2d &rclBB) const bool BoundBox2d::Intersect(const Polygon2d &rclPoly) const { - unsigned long i; + unsigned long i = 0; Line2d clLine; // points contained in boundbox @@ -181,7 +169,7 @@ BoundBox2d Line2d::CalcBoundBox () const bool Line2d::Intersect (const Line2d& rclLine, Vector2d &rclV) const { - double m1, m2, b1, b2; + double m1 = 0.0, m2 = 0.0, b1 = 0.0, b2 = 0.0; // calc coefficients if (fabs (clV2.x - clV1.x) > 1e-10) @@ -245,7 +233,7 @@ Vector2d Line2d::FromPos (double fDistance) const { Vector2d clDir(clV2 - clV1); clDir.Normalize(); - return Vector2d(clV1.x + (clDir.x * fDistance), clV1.y + (clDir.y * fDistance)); + return {clV1.x + (clDir.x * fDistance), clV1.y + (clDir.y * fDistance)}; } bool Line2d::IntersectAndContain (const Line2d& rclLine, Vector2d &rclV) const @@ -261,7 +249,7 @@ bool Line2d::IntersectAndContain (const Line2d& rclLine, Vector2d &rclV) const BoundBox2d Polygon2d::CalcBoundBox () const { - unsigned long i; + unsigned long i = 0; BoundBox2d clBB; for (i = 0; i < _aclVct.size(); i++) { @@ -275,8 +263,8 @@ BoundBox2d Polygon2d::CalcBoundBox () const static short _CalcTorsion (double *pfLine, double fX, double fY) { - int sQuad[2], i; // Changing this from short to int allows the compiler to inline this function - double fResX; + int sQuad[2], i = 0; // Changing this from short to int allows the compiler to inline this function + double fResX = 0.0; // Classification of both polygon points into quadrants for (i = 0; i < 2; i++) @@ -315,7 +303,7 @@ bool Polygon2d::Contains (const Vector2d &rclV) const // whether a point is contained within a polygon. // The sum of all turns indicates whether yes or no. double pfTmp[4]; - unsigned long i; + unsigned long i = 0; short sTorsion = 0; // Error check @@ -394,10 +382,10 @@ void Polygon2d::Intersect (const Polygon2d &rclPolygon, std::list &rc if (afIntersections.size() > 0) // intersections founded { - for (std::set::iterator pF = afIntersections.begin(); pF != afIntersections.end(); ++pF) + for (double it : afIntersections) { // intersection point - Vector2d clPtIS = clLine.FromPos(*pF); + Vector2d clPtIS = clLine.FromPos(it); if (bInner) { clResultPolygon.Add(clPtIS); diff --git a/src/Base/Tools2D.h b/src/Base/Tools2D.h index 1588e3200b..d2a2b39098 100644 --- a/src/Base/Tools2D.h +++ b/src/Base/Tools2D.h @@ -54,10 +54,13 @@ public: inline Vector2d(); inline Vector2d(float x, float y); inline Vector2d(double x, double y); - inline Vector2d(const Vector2d &v); + inline Vector2d(const Vector2d&) = default; + inline Vector2d(Vector2d&&) = default; + ~Vector2d() = default; // operators - inline Vector2d& operator= (const Vector2d &v); + inline Vector2d& operator= (const Vector2d&) = default; + inline Vector2d& operator= (Vector2d&&) = default; inline bool operator== (const Vector2d &v) const; inline Vector2d operator+ () const; inline Vector2d operator+ (const Vector2d &v) const; @@ -104,13 +107,16 @@ public: double MinX, MinY, MaxX, MaxY; inline BoundBox2d (); - inline BoundBox2d (const BoundBox2d &rclBB); + inline BoundBox2d (const BoundBox2d&) = default; + inline BoundBox2d (BoundBox2d&&) = default; inline BoundBox2d (double fX1, double fY1, double fX2, double fY2); + ~BoundBox2d() = default; inline bool IsValid (); inline bool IsEqual(const BoundBox2d&, double tolerance) const; // operators - inline BoundBox2d& operator= (const BoundBox2d& rclBB); + inline BoundBox2d& operator= (const BoundBox2d&) = default; + inline BoundBox2d& operator= (BoundBox2d&&) = default; inline bool operator== (const BoundBox2d& rclBB) const; // methods @@ -139,7 +145,9 @@ public: Vector2d clV1, clV2; Line2d () = default; - inline Line2d (const Line2d &rclLine); + ~Line2d () = default; + inline Line2d (const Line2d&) = default; + inline Line2d (Line2d&&) = default; inline Line2d (const Vector2d &rclV1, const Vector2d &rclV2); // methods @@ -147,7 +155,8 @@ public: BoundBox2d CalcBoundBox () const; // operators - inline Line2d& operator= (const Line2d& rclLine); + inline Line2d& operator= (const Line2d&) = default; + inline Line2d& operator= (Line2d&&) = default; inline bool operator== (const Line2d& rclLine) const; // misc @@ -167,10 +176,12 @@ class BaseExport Polygon2d { public: Polygon2d () = default; - inline Polygon2d (const Polygon2d &rclPoly); - virtual ~Polygon2d () = default; + inline Polygon2d (const Polygon2d&) = default; + inline Polygon2d (Polygon2d&&) = default; + ~Polygon2d () = default; inline Polygon2d& operator = (const Polygon2d &rclP); + inline Polygon2d& operator = (Polygon2d &&rclP); // admin-interface inline size_t GetCtVectors () const; @@ -210,18 +221,6 @@ inline Vector2d::Vector2d(double x, double y) { } -inline Vector2d::Vector2d(const Vector2d &v) -: x(v.x), y(v.y) -{ -} - -inline Vector2d& Vector2d::operator= (const Vector2d &v) -{ - x = v.x; - y = v.y; - return *this; -} - inline bool Vector2d::operator== (const Vector2d &v) const { return (x == v.x) && (y == v.y); @@ -229,12 +228,12 @@ inline bool Vector2d::operator== (const Vector2d &v) const inline Vector2d Vector2d::operator+ () const { - return Vector2d(x, y); + return {x, y}; } inline Vector2d Vector2d::operator+ (const Vector2d &v) const { - return Vector2d(x + v.x, y + v.y); + return {x + v.x, y + v.y}; } inline Vector2d& Vector2d::operator+= (const Vector2d &v) @@ -246,12 +245,12 @@ inline Vector2d& Vector2d::operator+= (const Vector2d &v) inline Vector2d Vector2d::operator- () const { - return Vector2d(-x, -y); + return {-x, -y}; } inline Vector2d Vector2d::operator- (const Vector2d &v) const { - return Vector2d(x - v.x, y - v.y); + return {x - v.x, y - v.y}; } inline Vector2d& Vector2d::operator-= (const Vector2d &v) @@ -263,7 +262,7 @@ inline Vector2d& Vector2d::operator-= (const Vector2d &v) inline Vector2d Vector2d::operator* (double c) const { - return Vector2d(c * x, c * y); + return {c * x, c * y}; } inline Vector2d& Vector2d::operator*= (double c) @@ -280,12 +279,12 @@ inline double Vector2d::operator* (const Vector2d &v) const inline Vector2d operator* (double c, const Vector2d &v) { - return Vector2d(c * v.x, c * v.y); + return {c * v.x, c * v.y}; } inline Vector2d Vector2d::operator/ (double c) const { - return Vector2d(x / c, y / c); + return {x / c, y / c}; } inline Vector2d& Vector2d::operator/= (double c) @@ -363,7 +362,7 @@ inline Vector2d Vector2d::Perpendicular(bool clockwise) const inline Vector2d Vector2d::FromPolar(double r, double fi) { - return Vector2d(r * cos(fi), r * sin(fi)); + return {r * cos(fi), r * sin(fi)}; } inline double Vector2d::Distance(const Vector2d& v) const @@ -381,16 +380,9 @@ inline bool Vector2d::IsEqual(const Vector2d& v, double tolerance) const // ======================================== -inline Polygon2d::Polygon2d (const Polygon2d &rclPoly) -{ - *this = rclPoly; -} +inline Polygon2d& Polygon2d::operator = (const Polygon2d &rclP) = default; -inline Polygon2d& Polygon2d::operator = (const Polygon2d &rclP) -{ - _aclVct = rclP._aclVct; - return *this; -} +inline Polygon2d& Polygon2d::operator = (Polygon2d &&rclP) = default; inline void Polygon2d::DeleteAll () { @@ -442,12 +434,6 @@ inline Vector2d& Polygon2d::At (size_t ulNdx) } -inline Line2d::Line2d (const Line2d &rclLine) - : clV1 (rclLine.clV1), - clV2 (rclLine.clV2) -{ -} - inline Line2d::Line2d (const Vector2d &rclV1, const Vector2d &rclV2) : clV1 (rclV1), clV2 (rclV2) { @@ -458,13 +444,6 @@ inline double Line2d::Length () const return (clV2 - clV1).Length (); } -inline Line2d& Line2d::operator= (const Line2d& rclLine) -{ - clV1 = rclLine.clV1; - clV2 = rclLine.clV2; - return *this; -} - inline bool Line2d::operator== (const Line2d& rclLine) const { return (clV1 == rclLine.clV1) && (clV2 == rclLine.clV2); @@ -481,20 +460,12 @@ inline BoundBox2d::BoundBox2d () MaxX = MaxY = - DOUBLE_MAX; } -inline BoundBox2d::BoundBox2d (const BoundBox2d &rclBB) - : MinX (rclBB.MinX), - MinY (rclBB.MinY), - MaxX (rclBB.MaxX), - MaxY (rclBB.MaxY) -{ -} - inline BoundBox2d::BoundBox2d (double fX1, double fY1, double fX2, double fY2) + : MinX(std::min(fX1, fX2)) + , MinY(std::min(fY1, fY2)) + , MaxX(std::max(fX1, fX2)) + , MaxY(std::max(fY1, fY2)) { - MinX = std::min(fX1, fX2); - MaxX = std::max(fX1, fX2); - MinY = std::min(fY1, fY2); - MaxY = std::max(fY1, fY2); } inline bool BoundBox2d::IsValid () @@ -508,15 +479,6 @@ inline bool BoundBox2d::IsEqual(const BoundBox2d& b, double tolerance) const Vector2d(MaxX, MaxY).IsEqual(Vector2d(b.MaxX, b.MaxY), tolerance); } -inline BoundBox2d& BoundBox2d::operator= (const BoundBox2d& rclBB) -{ - MinX = rclBB.MinX; - MinY = rclBB.MinY; - MaxX = rclBB.MaxX; - MaxY = rclBB.MaxY; - return *this; -} - inline bool BoundBox2d::operator== (const BoundBox2d& rclBB) const { return (MinX == rclBB.MinX) && @@ -549,7 +511,7 @@ inline bool BoundBox2d::Contains(const Vector2d &v, double tolerance) const inline Vector2d BoundBox2d::GetCenter() const { - return Vector2d((MinX + MaxX) * 0.5, (MinY + MaxY) * 0.5); + return {(MinX + MaxX) * 0.5, (MinY + MaxY) * 0.5}; } inline void BoundBox2d::SetVoid() diff --git a/src/Base/Tools3D.cpp b/src/Base/Tools3D.cpp index af9694b251..b58aedb454 100644 --- a/src/Base/Tools3D.cpp +++ b/src/Base/Tools3D.cpp @@ -34,19 +34,6 @@ using namespace Base; -template -Line3::Line3(const Line3& line) - : p1(line.p1) - , p2(line.p2) -{ -} - -template -Line3::Line3(Line3&& line) -{ - *this = std::move(line); -} - template Line3::Line3(const Vector3& p1, const Vector3& p2) : p1(p1) @@ -54,22 +41,6 @@ Line3::Line3(const Vector3& p1, const Vector3 -Line3& Line3::operator= (const Line3& line) -{ - p1 = line.p1; - p2 = line.p2; - return *this; -} - -template -Line3& Line3::operator= (Line3&& line) -{ - p1 = std::move(line.p1); - p2 = std::move(line.p2); - return *this; -} - template bool Line3::operator== (const Line3& line) const { diff --git a/src/Base/Tools3D.h b/src/Base/Tools3D.h index 7c57d33be1..8bf7d14e95 100644 --- a/src/Base/Tools3D.h +++ b/src/Base/Tools3D.h @@ -58,13 +58,13 @@ public: Line3() = default; ~Line3() = default; - Line3(const Line3& line); - Line3(Line3&& line); + Line3(const Line3& line) = default; + Line3(Line3&& line) = default; Line3(const Vector3& p1, const Vector3& p2); // operators - Line3& operator= (const Line3& line); - Line3& operator= (Line3&& line); + Line3& operator= (const Line3& line) = default; + Line3& operator= (Line3&& line) = default; bool operator== (const Line3& line) const; // methods @@ -111,8 +111,10 @@ public: Polygon3() = default; ~Polygon3() = default; Polygon3(const Polygon3& poly) = default; + Polygon3(Polygon3&& poly) = default; Polygon3& operator = (const Polygon3& poly) = default; + Polygon3& operator = (Polygon3&& poly) = default; size_t GetSize() const; void Add (const Vector3& p); diff --git a/src/Base/Translate.cpp b/src/Base/Translate.cpp index 9385257552..771c24df88 100644 --- a/src/Base/Translate.cpp +++ b/src/Base/Translate.cpp @@ -76,8 +76,8 @@ Translate::~Translate() = default; Py::Object Translate::translate(const Py::Tuple& args) { - char *context; - char *source; + char *context = nullptr; + char *source = nullptr; char *disambiguation = nullptr; int n=-1; if (!PyArg_ParseTuple(args.ptr(), "ss|zi", &context, &source, &disambiguation, &n)) @@ -89,8 +89,8 @@ Py::Object Translate::translate(const Py::Tuple& args) Py::Object Translate::translateNoop(const Py::Tuple& args) { - PyObject* arg1; - PyObject* arg2; + PyObject* arg1 = nullptr; + PyObject* arg2 = nullptr; if (!PyArg_ParseTuple(args.ptr(), "OO", &arg1, &arg2)) throw Py::Exception(); return Py::Object(arg2); @@ -98,9 +98,9 @@ Py::Object Translate::translateNoop(const Py::Tuple& args) Py::Object Translate::translateNoop3(const Py::Tuple& args) { - PyObject* arg1; - PyObject* arg2; - PyObject* arg3; + PyObject* arg1 = nullptr; + PyObject* arg2 = nullptr; + PyObject* arg3 = nullptr; if (!PyArg_ParseTuple(args.ptr(), "OOO", &arg1, &arg2, &arg3)) throw Py::Exception(); return Py::Object(arg2); @@ -108,7 +108,7 @@ Py::Object Translate::translateNoop3(const Py::Tuple& args) Py::Object Translate::trNoop(const Py::Tuple& args) { - PyObject* arg1; + PyObject* arg1 = nullptr; if (!PyArg_ParseTuple(args.ptr(), "O", &arg1)) throw Py::Exception(); return Py::Object(arg1); @@ -116,7 +116,7 @@ Py::Object Translate::trNoop(const Py::Tuple& args) Py::Object Translate::installTranslator(const Py::Tuple& args) { - char* Name; + char* Name = nullptr; if (!PyArg_ParseTuple(args.ptr(), "et","utf-8",&Name)) throw Py::Exception(); QString filename = QString::fromUtf8(Name); @@ -132,7 +132,7 @@ Py::Object Translate::installTranslator(const Py::Tuple& args) ok = true; } - return Py::Boolean(ok); + return Py::Boolean(ok); // NOLINT } Py::Object Translate::removeTranslators(const Py::Tuple& args) @@ -145,5 +145,5 @@ Py::Object Translate::removeTranslators(const Py::Tuple& args) } translators.clear(); - return Py::Boolean(ok); + return Py::Boolean(ok); // NOLINT } diff --git a/src/Base/Type.cpp b/src/Base/Type.cpp index f4c754b151..64c205cdfe 100644 --- a/src/Base/Type.cpp +++ b/src/Base/Type.cpp @@ -55,31 +55,6 @@ map Type::typemap; vector Type::typedata; set Type::loadModuleSet; -//************************************************************************** -// Construction/Destruction - -/** - * A constructor. - * A more elaborate description of the constructor. - */ -Type::Type() -: index(0) -{ -} - - -Type::Type(const Type& type) -:index(type.index) -{ -} - - -/** - * A destructor. - * A more elaborate description of the destructor. - */ -Type::~Type() = default; - void *Type::createInstance() { instantiationMethod method = typedata[index]->instMethod; @@ -125,9 +100,8 @@ string Type::getModuleName(const char* ClassName) std::string::size_type pos = temp.find_first_of("::"); if (pos != std::string::npos) - return string(temp,0,pos); - else - return string(); + return {temp,0,pos}; + return {}; } Type Type::badType() @@ -165,8 +139,8 @@ void Type::init() void Type::destruct() { - for(std::vector::const_iterator it = typedata.begin();it!= typedata.end();++it) - delete *it; + for(auto it : typedata) + delete it; typedata.clear(); typemap.clear(); loadModuleSet.clear(); @@ -218,11 +192,11 @@ int Type::getAllDerivedFrom(const Type type, std::vector & List) { int cnt = 0; - for(std::vector::const_iterator it = typedata.begin();it!= typedata.end();++it) + for(auto it : typedata) { - if ((*it)->type.isDerivedFrom(type)) + if (it->type.isDerivedFrom(type)) { - List.push_back((*it)->type); + List.push_back(it->type); cnt++; } } diff --git a/src/Base/Type.h b/src/Base/Type.h index 60c9f990ec..23e5d1c233 100644 --- a/src/Base/Type.h +++ b/src/Base/Type.h @@ -81,10 +81,11 @@ class BaseExport Type { public: /// Construction - Type(const Type& type); - Type(); + Type(const Type& type) = default; + Type(Type&& type) = default; + Type() = default; /// Destruction - virtual ~Type(); + ~Type() = default; /// creates a instance of this type void *createInstance(); @@ -111,7 +112,8 @@ public: unsigned int getKey() const; bool isBad() const; - void operator = (const Type type); + Type& operator = (const Type& type) = default; + Type& operator = (Type&& type) = default; bool operator == (const Type type) const; bool operator != (const Type type) const; @@ -129,14 +131,10 @@ protected: private: - - - unsigned int index; - + unsigned int index{0}; static std::map typemap; static std::vector typedata; - static std::set loadModuleSet; }; @@ -154,12 +152,6 @@ Type::operator != (const Type type) const return (this->getKey() != type.getKey()); } -inline void -Type::operator = (const Type type) -{ - this->index = type.getKey(); -} - inline bool Type::operator == (const Type type) const { diff --git a/src/Base/TypePy.xml b/src/Base/TypePy.xml index e8fba162e3..55addb1fc6 100644 --- a/src/Base/TypePy.xml +++ b/src/Base/TypePy.xml @@ -17,7 +17,8 @@ namespace Base { This is the Type class - Base.BaseType class.\n + Base.BaseType class. + This class is not intended to create instances of itself, but to get information from the different types and create instances of them. Regarding instantiation, this is possible in cases that inherit from the @@ -25,74 +26,91 @@ Base::BaseClass class and are not abstract classes. - fromName(name) -> Base.BaseType\n -Returns a type object by name.\n + fromName(name) -> Base.BaseType + +Returns a type object by name. + name : str - fromKey(key) -> Base.BaseType\n -Returns a type id object by key.\n + fromKey(key) -> Base.BaseType + +Returns a type id object by key. + key : int - getNumTypes() -> int\n + getNumTypes() -> int + Returns the number of type ids created so far. - getBadType() -> Base.BaseType\n + getBadType() -> Base.BaseType + Returns an invalid type id. - getAllDerivedFrom(type) -> list\n -Returns all descendants from the given type id.\n + getAllDerivedFrom(type) -> list + +Returns all descendants from the given type id. + type : str, Base.BaseType - getParent() -> Base.BaseType\n + getParent() -> Base.BaseType + Returns the parent type id. - isBad() -> bool\n + isBad() -> bool + Checks if the type id is invalid. - isDerivedFrom(type) -> bool\n -Returns true if given type id is a father of this type id.\n + isDerivedFrom(type) -> bool + +Returns true if given type id is a father of this type id. + type : str, Base.BaseType - getAllDerived() -> list\n + getAllDerived() -> list + Returns all descendants from this type id. - createInstance() -> object\n + createInstance() -> object + Creates an instance of this type id. - createInstanceByName(name, load=False) -> object\n -Creates an instance of the named type id.\n + createInstanceByName(name, load=False) -> object + +Creates an instance of the named type id. + name : str -load : bool\n Load named type id module. +load : bool + Load named type id module. diff --git a/src/Base/TypePyImp.cpp b/src/Base/TypePyImp.cpp index 39267d0a8f..cd7593feca 100644 --- a/src/Base/TypePyImp.cpp +++ b/src/Base/TypePyImp.cpp @@ -41,7 +41,7 @@ std::string TypePy::representation() const PyObject* TypePy::fromName (PyObject *args) { - const char *name; + const char *name{}; if (!PyArg_ParseTuple(args, "s", &name)) return nullptr; @@ -51,7 +51,7 @@ PyObject* TypePy::fromName (PyObject *args) PyObject* TypePy::fromKey (PyObject *args) { - unsigned int index; + unsigned int index{}; if (!PyArg_ParseTuple(args, "I", &index)) return nullptr; @@ -100,14 +100,14 @@ PyObject* TypePy::isDerivedFrom(PyObject *args) Base::Type type; do { - const char *name; + const char *name{}; if (PyArg_ParseTuple(args, "s", &name)) { type = Base::Type::fromName(name); break; } PyErr_Clear(); - PyObject* t; + PyObject* t{}; if (PyArg_ParseTuple(args, "O!", &TypePy::Type, &t)) { type = *static_cast(t)->getBaseTypePtr(); break; @@ -127,14 +127,14 @@ PyObject* TypePy::getAllDerivedFrom(PyObject *args) Base::Type type; do { - const char *name; + const char *name{}; if (PyArg_ParseTuple(args, "s", &name)) { type = Base::Type::fromName(name); break; } PyErr_Clear(); - PyObject* t; + PyObject* t{}; if (PyArg_ParseTuple(args, "O!", &TypePy::Type, &t)) { type = *static_cast(t)->getBaseTypePtr(); break; @@ -148,8 +148,8 @@ PyObject* TypePy::getAllDerivedFrom(PyObject *args) std::vector ary; Base::Type::getAllDerivedFrom(type, ary); Py::List res; - for (std::vector::iterator it = ary.begin(); it != ary.end(); ++it) { - res.append(Py::asObject(new TypePy(new Base::Type(*it)))); + for (const auto & it : ary) { + res.append(Py::asObject(new TypePy(new Base::Type(it)))); } return Py::new_reference_to(res); } @@ -163,8 +163,8 @@ PyObject* TypePy::getAllDerived(PyObject *args) std::vector ary; Base::Type::getAllDerivedFrom(type, ary); Py::List res; - for (std::vector::iterator it = ary.begin(); it != ary.end(); ++it) { - res.append(Py::asObject(new TypePy(new Base::Type(*it)))); + for (const auto & it : ary) { + res.append(Py::asObject(new TypePy(new Base::Type(it)))); } return Py::new_reference_to(res); } @@ -224,8 +224,8 @@ PyObject* TypePy::createInstance (PyObject *args) PyObject* TypePy::createInstanceByName (PyObject *args) { - const char* name; - PyObject* load = Py_False; + const char* name{}; + PyObject* load = Py_False; //NOLINT if (!PyArg_ParseTuple(args, "s|O!", &name, &PyBool_Type, &load)) return nullptr; @@ -245,7 +245,7 @@ PyObject* TypePy::createInstanceByName (PyObject *args) Py::String TypePy::getName() const { - return Py::String(std::string(getBaseTypePtr()->getName())); + return {std::string(getBaseTypePtr()->getName())}; } Py::Long TypePy::getKey() const @@ -263,7 +263,7 @@ Py::String TypePy::getModule() const else module.clear(); - return Py::String(module); + return {module}; } PyObject *TypePy::getCustomAttributes(const char* /*attr*/) const diff --git a/src/Base/Unit.cpp b/src/Base/Unit.cpp index f6fe744224..212e293c47 100644 --- a/src/Base/Unit.cpp +++ b/src/Base/Unit.cpp @@ -258,7 +258,7 @@ QString Unit::getString() const std::stringstream ret; if (isEmpty()) - return QString(); + return {}; if (Sig.Length > 0 || Sig.Mass > 0 || @@ -551,7 +551,7 @@ QString Unit::getTypeString() const if (*this == Unit::YoungsModulus) return QString::fromLatin1("YoungsModulus"); - return QString(); + return {}; } // SI base units diff --git a/src/Base/UnitPyImp.cpp b/src/Base/UnitPyImp.cpp index e97bfaf7bf..5e61a18720 100644 --- a/src/Base/UnitPyImp.cpp +++ b/src/Base/UnitPyImp.cpp @@ -62,7 +62,7 @@ PyObject *UnitPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Pytho // constructor method int UnitPy::PyInit(PyObject* args, PyObject* /*kwd*/) { - PyObject *object; + PyObject *object{}; Unit *self = getUnitPtr(); // get quantity @@ -80,7 +80,7 @@ int UnitPy::PyInit(PyObject* args, PyObject* /*kwd*/) PyErr_Clear(); // set by PyArg_ParseTuple() // get string - char* string; + char* string{}; if (PyArg_ParseTuple(args,"et", "utf-8", &string)) { QString qstr = QString::fromUtf8(string); PyMem_Free(string); @@ -194,12 +194,12 @@ PyObject* UnitPy::richCompare(PyObject *v, PyObject *w, int op) return nullptr; } else if (op == Py_EQ) { - res = (*u1 == *u2) ? Py_True : Py_False; + res = (*u1 == *u2) ? Py_True : Py_False; //NOLINT Py_INCREF(res); return res; } else { - res = (*u1 != *u2) ? Py_True : Py_False; + res = (*u1 != *u2) ? Py_True : Py_False; //NOLINT Py_INCREF(res); return res; } @@ -213,7 +213,7 @@ PyObject* UnitPy::richCompare(PyObject *v, PyObject *w, int op) Py::String UnitPy::getType() const { - return Py::String(getUnitPtr()->getTypeString().toUtf8(),"utf-8"); + return {getUnitPtr()->getTypeString().toUtf8(),"utf-8"}; } Py::Tuple UnitPy::getSignature() const diff --git a/src/Base/UnitsApi.cpp b/src/Base/UnitsApi.cpp index 20a5361a94..cfabc98db3 100644 --- a/src/Base/UnitsApi.cpp +++ b/src/Base/UnitsApi.cpp @@ -198,7 +198,7 @@ double UnitsApi::toDouble(PyObject *ArgObj, const Base::Unit &u) Quantity UnitsApi::toQuantity(PyObject *ArgObj, const Base::Unit &u) { - double d; + double d{}; if (PyUnicode_Check(ArgObj)) { QString str = QString::fromUtf8(PyUnicode_AsUTF8(ArgObj)); // Parse the string diff --git a/src/Base/UnitsApi.h b/src/Base/UnitsApi.h index 81d9904087..be630eb155 100644 --- a/src/Base/UnitsApi.h +++ b/src/Base/UnitsApi.h @@ -60,7 +60,7 @@ public: static QString schemaTranslate(const Base::Quantity& quant, double &factor, QString &unitString); static QString schemaTranslate(const Base::Quantity& quant) { // to satisfy GCC - double dummy1; + double dummy1{}; QString dummy2; return UnitsApi::schemaTranslate(quant, dummy1, dummy2); } diff --git a/src/Base/UnitsApiPy.cpp b/src/Base/UnitsApiPy.cpp index b187f0cceb..4c59330e53 100644 --- a/src/Base/UnitsApiPy.cpp +++ b/src/Base/UnitsApiPy.cpp @@ -76,7 +76,7 @@ PyMethodDef UnitsApi::Methods[] = { PyObject* UnitsApi::sParseQuantity(PyObject * /*self*/, PyObject *args) { - char *pstr; + char *pstr{}; if (!PyArg_ParseTuple(args, "et", "utf-8", &pstr)) return nullptr; @@ -108,7 +108,7 @@ PyObject* UnitsApi::sListSchemas(PyObject * /*self*/, PyObject *args) } PyErr_Clear(); - int index; + int index{}; if (PyArg_ParseTuple(args, "i", &index)) { int num = static_cast(UnitSystem::NumUnitSystemTypes); if (index < 0 || index >= num) { @@ -135,7 +135,7 @@ PyObject* UnitsApi::sGetSchema(PyObject * /*self*/, PyObject *args) PyObject* UnitsApi::sSetSchema(PyObject * /*self*/, PyObject *args) { PyErr_Clear(); - int index; + int index{}; if (PyArg_ParseTuple(args, "i", &index)) { int num = static_cast(UnitSystem::NumUnitSystemTypes); if (index < 0 || index >= num) { @@ -149,8 +149,8 @@ PyObject* UnitsApi::sSetSchema(PyObject * /*self*/, PyObject *args) PyObject* UnitsApi::sSchemaTranslate(PyObject * /*self*/, PyObject *args) { - PyObject* q; - int index; + PyObject* q{}; + int index{}; if (!PyArg_ParseTuple(args, "O!i", &(QuantityPy::Type), &q, &index)) return nullptr; @@ -163,7 +163,7 @@ PyObject* UnitsApi::sSchemaTranslate(PyObject * /*self*/, PyObject *args) return nullptr; } - double factor; + double factor{}; QString uus; QString uss = schema->schemaTranslate(quant, factor, uus); @@ -177,12 +177,12 @@ PyObject* UnitsApi::sSchemaTranslate(PyObject * /*self*/, PyObject *args) PyObject* UnitsApi::sToNumber(PyObject * /*self*/, PyObject *args) { - double value; + double value{}; char* format = "g"; - int decimals; + int decimals{}; do { - PyObject* q; + PyObject* q{}; if (PyArg_ParseTuple(args, "O!|si", &(QuantityPy::Type), &q, &format, &decimals)) { value = static_cast(q)->getQuantityPtr()->getValue(); break; @@ -203,7 +203,7 @@ PyObject* UnitsApi::sToNumber(PyObject * /*self*/, PyObject *args) return nullptr; } - bool ok; + bool ok{}; QuantityFormat qf; qf.format = QuantityFormat::toFormat(format[0], &ok); qf.precision = decimals; diff --git a/src/Base/UnitsSchema.cpp b/src/Base/UnitsSchema.cpp index df551bc83f..f22c221ed5 100644 --- a/src/Base/UnitsSchema.cpp +++ b/src/Base/UnitsSchema.cpp @@ -36,7 +36,6 @@ using namespace Base; QString UnitsSchema::toLocale(const Base::Quantity& quant, double factor, const QString& unitString) const { - //return QString::fromUtf8("%L1 %2").arg(quant.getValue() / factor).arg(unitString); QLocale Lc; const QuantityFormat& format = quant.getFormat(); if (format.option != QuantityFormat::None) { diff --git a/src/Base/UnitsSchema.h b/src/Base/UnitsSchema.h index e04893772e..2f27921790 100644 --- a/src/Base/UnitsSchema.h +++ b/src/Base/UnitsSchema.h @@ -73,7 +73,7 @@ public: virtual bool isMultiUnitAngle() const {return false;} //return the basic length unit for this schema - virtual std::string getBasicLengthUnit() const { return std::string("mm"); } + virtual std::string getBasicLengthUnit() const { return {"mm"}; } }; diff --git a/src/Base/UnitsSchemaCentimeters.h b/src/Base/UnitsSchemaCentimeters.h index b45805233c..d6020b89bd 100644 --- a/src/Base/UnitsSchemaCentimeters.h +++ b/src/Base/UnitsSchemaCentimeters.h @@ -38,7 +38,7 @@ class UnitsSchemaCentimeters: public UnitsSchema public: QString schemaTranslate(const Base::Quantity& quant, double &factor, QString &unitString) override; - std::string getBasicLengthUnit() const override { return std::string("cm"); } + std::string getBasicLengthUnit() const override { return {"cm"}; } }; } // namespace Base diff --git a/src/Base/UnitsSchemaImperial1.cpp b/src/Base/UnitsSchemaImperial1.cpp index 27ae8d1341..91a8029592 100644 --- a/src/Base/UnitsSchemaImperial1.cpp +++ b/src/Base/UnitsSchemaImperial1.cpp @@ -37,23 +37,6 @@ using namespace Base; -//void UnitsSchemaImperial1::setSchemaUnits(void){ -// // here you could change the constances used by the parser (defined in Quantity.cpp) -// Quantity::Inch = Quantity (25.4 ,Unit(1)); -// Quantity::Foot = Quantity (304.8 ,Unit(1)); -// Quantity::Thou = Quantity (0.0254 ,Unit(1)); -// Quantity::Yard = Quantity (914.4 ,Unit(1)); -// Quantity::Mile = Quantity (1609344.0 ,Unit(1)); -//} -// -//void UnitsSchemaImperial1::resetSchemaUnits(void){ -// // set units to US customary / Imperial units -// Quantity::Inch = Quantity (25.4 ,Unit(1)); -// Quantity::Foot = Quantity (304.8 ,Unit(1)); -// Quantity::Thou = Quantity (0.0254 ,Unit(1)); -// Quantity::Yard = Quantity (914.4 ,Unit(1)); -// Quantity::Mile = Quantity (1609344.0 ,Unit(1)); -//} QString UnitsSchemaImperial1::schemaTranslate(const Quantity &quant, double &factor, QString &unitString) { @@ -218,18 +201,18 @@ QString UnitsSchemaImperialBuilding::schemaTranslate(const Quantity &quant, doub double totalInches = std::abs(quant.getValue())/factor; // minimum denominator (8 for 1/8, 16 for 1/16, etc) - int minden; + int minden{}; // Outputs - int feet; // whole feet - int inches; // whole inches - int num,den; // numerator and denominator of fractional val + int feet{}; // whole feet + int inches{}; // whole inches + int num{},den{}; // numerator and denominator of fractional val std::stringstream output; // output stream // Intermediate values - int ntot; // total fractional units - int a,b,d; // used to compute greatest common denominator - int tmp; // temporary variable for GCD + int ntot{}; // total fractional units + int a{},b{},d{}; // used to compute greatest common denominator + int tmp{}; // temporary variable for GCD // Get the current user specified minimum denominator minden = quant.getFormat().getDenominator(); @@ -381,8 +364,6 @@ QString UnitsSchemaImperialCivil::schemaTranslate(const Base::Quantity& quant, d double wholeMinutes = std::floor(rawMinutes); double sumSeconds = totalDegrees * 3600.0; //quant as seconds double rawSeconds = sumSeconds - (wholeDegrees * 3600.0) - (wholeMinutes * 60); -// double wholeSeconds = std::floor(rawSeconds); -// double remainSeconds = rawSeconds - wholeSeconds; int outDeg = static_cast(wholeDegrees); int outMin = static_cast(wholeMinutes); diff --git a/src/Base/UnitsSchemaImperial1.h b/src/Base/UnitsSchemaImperial1.h index 2360bcc90d..7eca980ef8 100644 --- a/src/Base/UnitsSchemaImperial1.h +++ b/src/Base/UnitsSchemaImperial1.h @@ -41,7 +41,7 @@ public: //virtual void setSchemaUnits(void); //virtual void resetSchemaUnits(void); QString schemaTranslate(const Base::Quantity& quant, double &factor, QString &unitString) override; - std::string getBasicLengthUnit() const override { return std::string("in"); } + std::string getBasicLengthUnit() const override { return {"in"}; } }; /** The schema class for the imperial unit system @@ -54,7 +54,7 @@ public: //virtual void setSchemaUnits(void); //virtual void resetSchemaUnits(void); QString schemaTranslate(const Base::Quantity& quant, double &factor, QString &unitString) override; - std::string getBasicLengthUnit() const override { return std::string("in"); } + std::string getBasicLengthUnit() const override { return {"in"}; } }; /** The schema class for the imperial unit system @@ -67,7 +67,7 @@ public: //virtual void setSchemaUnits(void); //virtual void resetSchemaUnits(void); QString schemaTranslate(const Base::Quantity& quant, double &factor, QString &unitString) override; - std::string getBasicLengthUnit() const override { return std::string("ft"); } + std::string getBasicLengthUnit() const override { return {"ft"}; } //return true if this schema uses multiple units for length (ex. Ft/In) bool isMultiUnitLength() const override {return true;} @@ -84,7 +84,7 @@ public: //virtual void setSchemaUnits(void); //virtual void resetSchemaUnits(void); QString schemaTranslate(const Base::Quantity& quant, double &factor, QString &unitString) override; - std::string getBasicLengthUnit() const override { return std::string("ft"); } + std::string getBasicLengthUnit() const override { return {"ft"}; } //return true if this schema uses multiple units for angles (ex. DMS) bool isMultiUnitAngle() const override {return true;} diff --git a/src/Base/UnitsSchemaMmMin.cpp b/src/Base/UnitsSchemaMmMin.cpp index ead4cddda3..e9a857f0c7 100644 --- a/src/Base/UnitsSchemaMmMin.cpp +++ b/src/Base/UnitsSchemaMmMin.cpp @@ -43,7 +43,6 @@ QString UnitsSchemaMmMin::schemaTranslate(const Quantity &quant, double &factor, } else if (unit == Unit::Angle) { unitString = QString::fromUtf8("\xC2\xB0"); - //unitString = QString::fromUtf8(u8"\u00B0"); //C++11 - Not supported by VS2013 factor = 1.0; } else if (unit == Unit::Velocity) { diff --git a/src/Base/VectorPy.xml b/src/Base/VectorPy.xml index 237da76229..a434f41f11 100644 --- a/src/Base/VectorPy.xml +++ b/src/Base/VectorPy.xml @@ -16,162 +16,203 @@ This is the Vector export class - Base.Vector class.\n + Base.Vector class. + This class represents a 3D float vector. -Useful to represent points in the 3D space.\n -The following constructors are supported:\n +Useful to represent points in the 3D space. + +The following constructors are supported: + Vector(x=0, y=0, z=0) x : float y : float -z : float\n +z : float + Vector(vector) Copy constructor. -vector : Base.Vector\n +vector : Base.Vector + Vector(seq) Define from a sequence of float. seq : sequence of float. - __reduce__() -> tuple\n + __reduce__() -> tuple + Serialization of Vector objects. - add(vector2) -> Base.Vector\n -Returns the sum of this vector and `vector2`.\n + add(vector2) -> Base.Vector + +Returns the sum of this vector and `vector2`. + vector2 : Base.Vector - sub(vector2) -> Base.Vector\n -Returns the difference of this vector and `vector2`.\n + sub(vector2) -> Base.Vector + +Returns the difference of this vector and `vector2`. + vector2 : Base.Vector - negative() -> Base.Vector\n + negative() -> Base.Vector + Returns the negative (opposite) of this vector. - scale(x, y, z) -> Base.Vector\n -Scales in-place this vector by the given factor in each component.\n -x : float\n x-component factor scale. -y : float\n y-component factor scale. -z : float\n z-component factor scale. + scale(x, y, z) -> Base.Vector + +Scales in-place this vector by the given factor in each component. + +x : float + x-component factor scale. +y : float + y-component factor scale. +z : float + z-component factor scale. - multiply(factor) -> Base.Vector\n + multiply(factor) -> Base.Vector + Multiplies in-place each component of this vector by a single factor. -Equivalent to scale(factor, factor, factor).\n +Equivalent to scale(factor, factor, factor). + factor : float - dot(vector2) -> float\n -Returns the scalar product (dot product) between this vector and `vector2`.\n + dot(vector2) -> float + +Returns the scalar product (dot product) between this vector and `vector2`. + vector2 : Base.Vector - cross(vector2) -> Base.Vector\n -Returns the vector product (cross product) between this vector and `vector2`.\n + cross(vector2) -> Base.Vector + +Returns the vector product (cross product) between this vector and `vector2`. + vector2 : Base.Vector - isOnLineSegment(vector1, vector2) -> bool\n -Checks if this vector is on the line segment generated by `vector1` and `vector2`.\n + isOnLineSegment(vector1, vector2) -> bool + +Checks if this vector is on the line segment generated by `vector1` and `vector2`. + vector1 : Base.Vector vector2 : Base.Vector - getAngle(vector2) -> float\n -Returns the angle in radians between this vector and `vector2`.\n + getAngle(vector2) -> float + +Returns the angle in radians between this vector and `vector2`. + vector2 : Base.Vector - normalize() -> Base.Vector\n + normalize() -> Base.Vector + Normalizes in-place this vector to the length of 1.0. - isEqual(vector2, tol=0) -> bool\n + isEqual(vector2, tol=0) -> bool + Checks if the distance between the points represented by this vector -and `vector2` is less or equal to the given tolerance.\n +and `vector2` is less or equal to the given tolerance. + vector2 : Base.Vector tol : float - projectToLine(point, dir) -> Base.Vector\n + projectToLine(point, dir) -> Base.Vector + Projects `point` on a line that goes through the origin with the direction `dir`. The result is the vector from `point` to the projected point. The operation is equivalent to dir_n.cross(dir_n.cross(point)), where `dir_n` is the vector `dir` normalized. The method modifies this vector instance according to result and does not -depend on the vector itself.\n +depend on the vector itself. + point : Base.Vector dir : Base.Vector - projectToPlane(base, normal) -> Base.Vector\n + projectToPlane(base, normal) -> Base.Vector + Projects in-place this vector on a plane defined by a base point -represented by `base` and a normal defined by `normal`.\n +represented by `base` and a normal defined by `normal`. + base : Base.Vector normal : Base.Vector - distanceToPoint(point2) -> float\n -Returns the distance to another point represented by `point2`.\n. + distanceToPoint(point2) -> float + +Returns the distance to another point represented by `point2`. +. point : Base.Vector - distanceToLine(base, dir) -> float\n + distanceToLine(base, dir) -> float + Returns the distance between the point represented by this vector and a line defined by a base point represented by `base` and a -direction `dir`.\n +direction `dir`. + base : Base.Vector dir : Base.Vector - distanceToLineSegment(point1, point2) -> Base.Vector\n + distanceToLineSegment(point1, point2) -> Base.Vector + Returns the vector between the point represented by this vector and the point on the line segment with the shortest distance. The line segment is defined by -`point1` and `point2`.\n +`point1` and `point2`. + point1 : Base.Vector point2 : Base.Vector - distanceToPlane(base, normal) -> float\n + distanceToPlane(base, normal) -> float + Returns the distance between this vector and a plane defined by a -base point represented by `base` and a normal defined by `normal`.\n +base point represented by `base` and a normal defined by `normal`. + base : Base.Vector normal : Base.Vector diff --git a/src/Base/VectorPyImp.cpp b/src/Base/VectorPyImp.cpp index cf687f580c..9444b3b088 100644 --- a/src/Base/VectorPyImp.cpp +++ b/src/Base/VectorPyImp.cpp @@ -63,7 +63,7 @@ PyObject *VectorPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Pyt int VectorPy::PyInit(PyObject* args, PyObject* /*kwd*/) { double x=0.0,y=0.0,z=0.0; - PyObject *object; + PyObject *object = nullptr; VectorPy::PointerType ptr = getVectorPtr(); if (PyArg_ParseTuple(args, "|ddd", &x,&y,&z)) { ptr->Set(x,y,z); @@ -240,7 +240,7 @@ PyObject * VectorPy::mapping_subscript(PyObject *self, PyObject *item) return sequence_item(self, i); } else if (PySlice_Check(item)) { - Py_ssize_t start, stop, step, slicelength, cur, i; + Py_ssize_t start = 0, stop = 0, step = 0, slicelength = 0, cur = 0, i = 0; PyObject* slice = item; if (PySlice_GetIndicesEx(slice, @@ -283,7 +283,7 @@ PyObject * VectorPy::mapping_subscript(PyObject *self, PyObject *item) PyObject* VectorPy::add(PyObject *args) { - PyObject *obj; + PyObject *obj = nullptr; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &obj)) return nullptr; @@ -298,7 +298,7 @@ PyObject* VectorPy::add(PyObject *args) PyObject* VectorPy::sub(PyObject *args) { - PyObject *obj; + PyObject *obj = nullptr; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &obj)) return nullptr; @@ -335,12 +335,12 @@ PyObject* VectorPy::richCompare(PyObject *v, PyObject *w, int op) return nullptr; } else if (op == Py_EQ) { - res = (v1 == v2) ? Py_True : Py_False; + res = (v1 == v2) ? Py_True : Py_False; //NOLINT Py_INCREF(res); return res; } else { - res = (v1 != v2) ? Py_True : Py_False; + res = (v1 != v2) ? Py_True : Py_False; //NOLINT Py_INCREF(res); return res; } @@ -354,7 +354,7 @@ PyObject* VectorPy::richCompare(PyObject *v, PyObject *w, int op) PyObject* VectorPy::isEqual(PyObject *args) { - PyObject *obj; + PyObject *obj = nullptr; double tolerance=0; if (!PyArg_ParseTuple(args, "O!d", &(VectorPy::Type), &obj, &tolerance)) return nullptr; @@ -370,7 +370,7 @@ PyObject* VectorPy::isEqual(PyObject *args) PyObject* VectorPy::scale(PyObject *args) { - double factorX, factorY, factorZ; + double factorX = 0.0, factorY = 0.0, factorZ = 0.0; if (!PyArg_ParseTuple(args, "ddd", &factorX, &factorY, &factorZ)) return nullptr; VectorPy::PointerType ptr = getVectorPtr(); @@ -381,7 +381,7 @@ PyObject* VectorPy::scale(PyObject *args) PyObject* VectorPy::multiply(PyObject *args) { - double factor; + double factor = 0.0; if (!PyArg_ParseTuple(args, "d", &factor)) return nullptr; VectorPy::PointerType ptr = getVectorPtr(); @@ -392,7 +392,7 @@ PyObject* VectorPy::multiply(PyObject *args) PyObject* VectorPy::dot(PyObject *args) { - PyObject *obj; + PyObject *obj = nullptr; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &obj)) return nullptr; @@ -407,7 +407,7 @@ PyObject* VectorPy::dot(PyObject *args) PyObject* VectorPy::cross(PyObject *args) { - PyObject *obj; + PyObject *obj = nullptr; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &obj)) return nullptr; @@ -422,7 +422,7 @@ PyObject* VectorPy::cross(PyObject *args) PyObject* VectorPy::isOnLineSegment(PyObject *args) { - PyObject *start, *end; + PyObject *start = nullptr, *end = nullptr; if (!PyArg_ParseTuple(args, "OO",&start, &end)) return nullptr; if (!PyObject_TypeCheck(start, &(VectorPy::Type))) { @@ -448,7 +448,7 @@ PyObject* VectorPy::isOnLineSegment(PyObject *args) PyObject* VectorPy::getAngle(PyObject *args) { - PyObject *obj; + PyObject *obj = nullptr; if (!PyArg_ParseTuple(args, "O!", &(VectorPy::Type), &obj)) return nullptr; @@ -478,7 +478,7 @@ PyObject* VectorPy::normalize(PyObject *args) PyObject* VectorPy::projectToLine(PyObject *args) { - PyObject *base, *line; + PyObject *base = nullptr, *line = nullptr; if (!PyArg_ParseTuple(args, "OO",&base, &line)) return nullptr; if (!PyObject_TypeCheck(base, &(VectorPy::Type))) { @@ -504,7 +504,7 @@ PyObject* VectorPy::projectToLine(PyObject *args) PyObject* VectorPy::projectToPlane(PyObject *args) { - PyObject *base, *line; + PyObject *base = nullptr, *line = nullptr; if (!PyArg_ParseTuple(args, "OO",&base, &line)) return nullptr; if (!PyObject_TypeCheck(base, &(VectorPy::Type))) { @@ -530,7 +530,7 @@ PyObject* VectorPy::projectToPlane(PyObject *args) PyObject* VectorPy::distanceToPoint(PyObject *args) { - PyObject *pnt; + PyObject *pnt = nullptr; if (!PyArg_ParseTuple(args, "O!",&(VectorPy::Type),&pnt)) return nullptr; @@ -544,7 +544,7 @@ PyObject* VectorPy::distanceToPoint(PyObject *args) PyObject* VectorPy::distanceToLine(PyObject *args) { - PyObject *base, *line; + PyObject *base = nullptr, *line = nullptr; if (!PyArg_ParseTuple(args, "OO",&base, &line)) return nullptr; if (!PyObject_TypeCheck(base, &(VectorPy::Type))) { @@ -569,7 +569,7 @@ PyObject* VectorPy::distanceToLine(PyObject *args) PyObject* VectorPy::distanceToLineSegment(PyObject *args) { - PyObject *base, *line; + PyObject *base = nullptr, *line = nullptr; if (!PyArg_ParseTuple(args, "OO",&base, &line)) return nullptr; if (!PyObject_TypeCheck(base, &(VectorPy::Type))) { @@ -594,7 +594,7 @@ PyObject* VectorPy::distanceToLineSegment(PyObject *args) PyObject* VectorPy::distanceToPlane(PyObject *args) { - PyObject *base, *line; + PyObject *base = nullptr, *line = nullptr; if (!PyArg_ParseTuple(args, "OO",&base, &line)) return nullptr; if (!PyObject_TypeCheck(base, &(VectorPy::Type))) { diff --git a/src/Base/ViewProj.cpp b/src/Base/ViewProj.cpp index b11278ea66..e627e5ad67 100644 --- a/src/Base/ViewProj.cpp +++ b/src/Base/ViewProj.cpp @@ -26,10 +26,7 @@ using namespace Base; -ViewProjMethod::ViewProjMethod() - : hasTransform(false) -{ -} +ViewProjMethod::ViewProjMethod() = default; bool ViewProjMethod::isValid() const { diff --git a/src/Base/ViewProj.h b/src/Base/ViewProj.h index cc78cd2054..414229c0e9 100644 --- a/src/Base/ViewProj.h +++ b/src/Base/ViewProj.h @@ -65,7 +65,7 @@ protected: void transformInput(const Base::Vector3d&, Base::Vector3d&) const; private: - bool hasTransform; + bool hasTransform{false}; Base::Matrix4D transform; }; diff --git a/src/Base/Writer.cpp b/src/Base/Writer.cpp index b1d592f787..b91701697a 100644 --- a/src/Base/Writer.cpp +++ b/src/Base/Writer.cpp @@ -77,10 +77,6 @@ struct cdata_filter { // --------------------------------------------------------------------------- Writer::Writer() - : indent(0) - , indBuf{} - , forceXML(false) - , fileVersion(1) { indBuf[0] = '\0'; } @@ -133,7 +129,7 @@ void Writer::insertAsciiFile(const char* FileName) throw Base::FileException("Writer::insertAsciiFile() Could not open file!"); Stream() << "" << endl; @@ -150,6 +146,7 @@ void Writer::insertBinFile(const char* FileName) std::ifstream::pos_type fileSize = from.tellg(); from.seekg(0, std::ios::beg); std::vector bytes(static_cast(fileSize)); + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) from.read(reinterpret_cast(&bytes[0]), fileSize); Stream() << Base::base64_encode(&bytes[0], static_cast(fileSize)); Stream() << "]]>" << endl; diff --git a/src/Base/Writer.h b/src/Base/Writer.h index 64ed502613..51cf93cee6 100644 --- a/src/Base/Writer.h +++ b/src/Base/Writer.h @@ -24,7 +24,6 @@ #define BASE_WRITER_H -#include #include #include #include @@ -150,16 +149,17 @@ protected: std::vector Errors; std::set Modes; - short indent; - char indBuf[1024]; + short indent{0}; + char indBuf[1024]{}; - bool forceXML; - int fileVersion; + bool forceXML{false}; + int fileVersion{1}; + +public: + Writer(const Writer&) = delete; + Writer& operator=(const Writer&) = delete; private: - Writer(const Writer&); - Writer& operator=(const Writer&); - std::unique_ptr CharStream; }; diff --git a/src/Base/XMLTools.cpp b/src/Base/XMLTools.cpp index 84b5a8eaf5..fb0fda11e7 100644 --- a/src/Base/XMLTools.cpp +++ b/src/Base/XMLTools.cpp @@ -33,7 +33,7 @@ void XMLTools::initialize() { XERCES_CPP_NAMESPACE_USE; if (!transcoder.get()) { - XMLTransService::Codes res; + XMLTransService::Codes res{}; transcoder.reset(XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgTransService->makeNewTranscoderFor(XERCES_CPP_NAMESPACE_QUALIFIER XMLRecognizer::UTF_8, res, 4096, XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager)); if (res != XMLTransService::Ok) throw Base::UnicodeError("Can\'t create transcoder"); @@ -49,7 +49,7 @@ std::string XMLTools::toStdString(const XMLCh* const toTranscode) //char outBuff[128]; static XMLByte outBuff[128]; - XMLSize_t outputLength; + XMLSize_t outputLength = 0; XMLSize_t eaten = 0; XMLSize_t offset = 0; XMLSize_t inputLength = XMLString::stringLen(toTranscode); @@ -80,7 +80,7 @@ std::basic_string XMLTools::toXMLString(const char* const fromTranscode) static XMLCh outBuff[128]; const XMLByte* xmlBytes = reinterpret_cast(fromTranscode); - XMLSize_t outputLength; + XMLSize_t outputLength = 0; XMLSize_t eaten = 0; XMLSize_t offset = 0; XMLSize_t inputLength = std::string(fromTranscode).size(); diff --git a/src/Base/ZipHeader.cpp b/src/Base/ZipHeader.cpp index 19a8c36339..071e58f326 100644 --- a/src/Base/ZipHeader.cpp +++ b/src/Base/ZipHeader.cpp @@ -150,7 +150,7 @@ bool ZipHeader::readEndOfCentralDirectory(std::istream &_zipfile) bool ZipHeader::confirmLocalHeaders(std::istream &_zipfile) { zipios::Entries::const_iterator it; - zipios::ZipCDirEntry *ent; + zipios::ZipCDirEntry *ent{}; int inconsistencies = 0; zipios::ZipLocalEntry zlh; for (it = _entries.begin(); it != _entries.end(); ++it) { diff --git a/src/Base/swigpyrun.inl b/src/Base/swigpyrun.inl index 42f9308b85..87bcce5dd1 100644 --- a/src/Base/swigpyrun.inl +++ b/src/Base/swigpyrun.inl @@ -74,7 +74,7 @@ void cleanupSWIG_T(const char* TypeName) if (!swig_type) return; - PyObject *module, *dict; + PyObject *module{}, *dict{}; PyObject *modules = PyImport_GetModuleDict(); module = PyDict_GetItemString(modules, "__builtin__"); if (module && PyModule_Check(module)) { @@ -87,8 +87,8 @@ void cleanupSWIG_T(const char* TypeName) PyObject* dict = PyModule_GetDict(module); if (!dict) return; - Py_ssize_t pos; - PyObject *key, *value; + Py_ssize_t pos{}; + PyObject *key{}, *value{}; pos = 0; while (PyDict_Next(dict, &pos, &key, &value)) { if (value != Py_None && PyUnicode_Check(key)) { diff --git a/src/Doc/CONTRIBUTORS b/src/Doc/CONTRIBUTORS index f2d9bada42..2c7e2c109f 100644 --- a/src/Doc/CONTRIBUTORS +++ b/src/Doc/CONTRIBUTORS @@ -206,6 +206,7 @@ Willem Wurstwasser yang12 Yorik van Havre (yorikvanhavre) +Yunus Erdem Ergül (qewer33) zararina Zdeněk Havlík Zheng Lei (realthunder) diff --git a/src/Gui/ActionFunction.cpp b/src/Gui/ActionFunction.cpp index b6beeaf542..5ef70c8448 100644 --- a/src/Gui/ActionFunction.cpp +++ b/src/Gui/ActionFunction.cpp @@ -50,9 +50,7 @@ ActionFunction::ActionFunction(QObject* parent) { } -ActionFunction::~ActionFunction() -{ -} +ActionFunction::~ActionFunction() = default; void ActionFunction::trigger(QAction* action, std::function func) { @@ -135,9 +133,7 @@ TimerFunction::TimerFunction(QObject* parent) d_ptr->autoDelete = false; } -TimerFunction::~TimerFunction() -{ -} +TimerFunction::~TimerFunction() = default; void TimerFunction::setFunction(std::function func) { diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index 17fdc76413..f2fcd796f9 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -68,6 +68,7 @@ #include "CommandPy.h" #include "Control.h" #include "PreferencePages/DlgSettingsCacheDirectory.h" +#include "DlgCheckableMessageBox.h" #include "DocumentPy.h" #include "DocumentRecovery.h" #include "EditorView.h" @@ -85,7 +86,8 @@ #include "MDIViewPy.h" #include "SoFCDB.h" #include "Selection.h" -#include "SoFCOffscreenRenderer.h" +#include "SelectionFilterPy.h" +#include "SoQtOffscreenRendererPy.h" #include "SplitView3DInventor.h" #include "TaskView/TaskView.h" #include "TaskView/TaskDialogPython.h" @@ -171,11 +173,7 @@ public: // Pimpl class struct ApplicationP { - explicit ApplicationP(bool GUIenabled) : - activeDocument(nullptr), - editDocument(nullptr), - isClosing(false), - startingUp(true) + explicit ApplicationP(bool GUIenabled) { // create the macro manager if (GUIenabled) @@ -196,14 +194,14 @@ struct ApplicationP /// list of all handled documents std::map documents; /// Active document - Gui::Document* activeDocument; - Gui::Document* editDocument; + Gui::Document* activeDocument{nullptr}; + Gui::Document* editDocument{nullptr}; MacroManager* macroMngr; PreferencePackManager* prefPackManager; /// List of all registered views std::list passive; - bool isClosing; - bool startingUp; + bool isClosing{false}; + bool startingUp{true}; /// Handles all commands CommandManager commandManager; ViewProviderMap viewproviderMap; @@ -1587,7 +1585,7 @@ QPixmap Application::workbenchIcon(const QString& wb) const if (!s.isEmpty()) return icon.pixmap(s[0]); } - return QPixmap(); + return {}; } QString Application::workbenchToolTip(const QString& wb) const @@ -1611,7 +1609,7 @@ QString Application::workbenchToolTip(const QString& wb) const } } - return QString(); + return {}; } QString Application::workbenchMenuText(const QString& wb) const @@ -1636,7 +1634,7 @@ QString Application::workbenchMenuText(const QString& wb) const } } - return QString(); + return {}; } QStringList Application::workbenches() const @@ -2210,6 +2208,25 @@ void Application::runApplication() int major = context.format().majorVersion(); int minor = context.format().minorVersion(); + +#ifdef NDEBUG + // In release mode, issue a warning to users that their version of OpenGL is + // potentially going to cause problems + if (major < 2) { + auto message = + QObject::tr("This system is running OpenGL %1.%2. " + "FreeCAD requires OpenGL 2.0 or above. " + "Please upgrade your graphics driver and/or card as required.") + .arg(major) + .arg(minor) + + QStringLiteral("\n"); + Base::Console().Warning(message.toStdString().c_str()); + Dialog::DlgCheckableMessageBox::showMessage( + Gui::GUISingleApplication::applicationName() + QStringLiteral(" - ") + + QObject::tr("Invalid OpenGL Version"), + message); + } +#endif const char* glVersion = reinterpret_cast(glGetString(GL_VERSION)); Base::Console().Log("OpenGL version is: %d.%d (%s)\n", major, minor, glVersion); } @@ -2475,11 +2492,9 @@ void Application::setStyleSheet(const QString& qssFile, bool tiledBackground) qApp->setPalette(newPal); } - - QString current = mw->property("fc_currentStyleSheet").toString(); mw->setProperty("fc_currentStyleSheet", qssFile); - if (!qssFile.isEmpty() && current != qssFile) { + if (!qssFile.isEmpty()) { // Search for stylesheet in user-defined search paths. // For qss they are set-up in runApplication() with the prefix "qss" QString prefix(QLatin1String("qss:")); @@ -2495,7 +2510,10 @@ void Application::setStyleSheet(const QString& qssFile, bool tiledBackground) if (!f.fileName().isEmpty() && f.open(QFile::ReadOnly | QFile::Text)) { mdi->setBackground(QBrush(Qt::NoBrush)); QTextStream str(&f); - qApp->setStyleSheet(str.readAll()); + + QString styleSheetContent = replaceVariablesInQss(str.readAll()); + + qApp->setStyleSheet(styleSheetContent); ActionStyleEvent e(ActionStyleEvent::Clear); qApp->sendEvent(mw, &e); @@ -2521,8 +2539,7 @@ void Application::setStyleSheet(const QString& qssFile, bool tiledBackground) } } } - - if (qssFile.isEmpty()) { + else { if (tiledBackground) { qApp->setStyleSheet(QString()); ActionStyleEvent e(ActionStyleEvent::Restore); @@ -2547,6 +2564,28 @@ void Application::setStyleSheet(const QString& qssFile, bool tiledBackground) } } +QString Application::replaceVariablesInQss(QString qssText) +{ + //First we fetch the colors from preferences, + ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/Themes"); + unsigned long longAccentColor1 = hGrp->GetUnsigned("ThemeAccentColor1", 0); + unsigned long longAccentColor2 = hGrp->GetUnsigned("ThemeAccentColor2", 0); + unsigned long longAccentColor3 = hGrp->GetUnsigned("ThemeAccentColor3", 0); + + //convert them to hex. + //Note: the ulong contains alpha channels so 8 hex characters when we need 6 here. + QString accentColor1 = QString::fromLatin1("#%1").arg(longAccentColor1, 8, 16, QLatin1Char('0')).toUpper().mid(0, 7); + QString accentColor2 = QString::fromLatin1("#%1").arg(longAccentColor2, 8, 16, QLatin1Char('0')).toUpper().mid(0, 7); + QString accentColor3 = QString::fromLatin1("#%1").arg(longAccentColor3, 8, 16, QLatin1Char('0')).toUpper().mid(0, 7); + + qssText = qssText.replace(QString::fromLatin1("@ThemeAccentColor1"), accentColor1); + qssText = qssText.replace(QString::fromLatin1("@ThemeAccentColor2"), accentColor2); + qssText = qssText.replace(QString::fromLatin1("@ThemeAccentColor3"), accentColor3); + + //Base::Console().Warning("%s\n", qssText.toStdString()); + return qssText; +} + void Application::checkForDeprecatedSettings() { // From 0.21, `FCBak` will be the intended default backup format diff --git a/src/Gui/Application.h b/src/Gui/Application.h index bee284c459..f1c6916438 100644 --- a/src/Gui/Application.h +++ b/src/Gui/Application.h @@ -209,8 +209,9 @@ public: /** @name Appearance */ //@{ - /// Activate a named workbench + /// Activate a stylesheet void setStyleSheet(const QString& qssFile, bool tiledBackground); + QString replaceVariablesInQss(QString qssText); //@} /** @name User Commands */ diff --git a/src/Gui/ApplicationPy.cpp b/src/Gui/ApplicationPy.cpp index 31a9420f5f..d41fe6f25f 100644 --- a/src/Gui/ApplicationPy.cpp +++ b/src/Gui/ApplicationPy.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include "Application.h" @@ -1475,7 +1476,7 @@ PyObject* Application::sReload(PyObject * /*self*/, PyObject *args) PyObject* Application::sLoadFile(PyObject * /*self*/, PyObject *args) { - char *path, *mod = ""; + const char *path, *mod = ""; if (!PyArg_ParseTuple(args, "s|s", &path, &mod)) return nullptr; diff --git a/src/Gui/AutoSaver.cpp b/src/Gui/AutoSaver.cpp index e88cd1f9ae..9e89ab081b 100644 --- a/src/Gui/AutoSaver.cpp +++ b/src/Gui/AutoSaver.cpp @@ -53,9 +53,12 @@ using namespace Gui; namespace sp = std::placeholders; AutoSaver* AutoSaver::self = nullptr; +const int AutoSaveTimeout = 900000; AutoSaver::AutoSaver(QObject* parent) - : QObject(parent), timeout(900000), compressed(true) + : QObject(parent) + , timeout(AutoSaveTimeout) + , compressed(true) { //NOLINTBEGIN App::GetApplication().signalNewDocument.connect(std::bind(&AutoSaver::slotCreateDocument, this, sp::_1)); @@ -63,14 +66,13 @@ AutoSaver::AutoSaver(QObject* parent) //NOLINTEND } -AutoSaver::~AutoSaver() -{ -} +AutoSaver::~AutoSaver() = default; AutoSaver* AutoSaver::instance() { - if (!self) + if (!self) { self = new AutoSaver(QApplication::instance()); + } return self; } @@ -88,11 +90,11 @@ void AutoSaver::setTimeout(int ms) timeout = Base::clamp(ms, 0, 3600000); // between 0 and 60 min // go through the attached documents and apply the new timeout - for (std::map::iterator it = saverMap.begin(); it != saverMap.end(); ++it) { - if (it->second->timerId > 0) - killTimer(it->second->timerId); + for (auto & it : saverMap) { + if (it.second->timerId > 0) + killTimer(it.second->timerId); int id = timeout > 0 ? startTimer(timeout) : 0; - it->second->timerId = id; + it.second->timerId = id; } } @@ -227,15 +229,15 @@ void AutoSaver::saveDocument(const std::string& name, AutoSaveProperty& saver) void AutoSaver::timerEvent(QTimerEvent * event) { int id = event->timerId(); - for (std::map::iterator it = saverMap.begin(); it != saverMap.end(); ++it) { - if (it->second->timerId == id) { + for (auto & it : saverMap) { + if (it.second->timerId == id) { try { - saveDocument(it->first, *it->second); - it->second->touched.clear(); + saveDocument(it.first, *it.second); + it.second->touched.clear(); break; } catch (...) { - Base::Console().Error("Failed to auto-save document '%s'\n", it->first.c_str()); + Base::Console().Error("Failed to auto-save document '%s'\n", it.first.c_str()); } } } @@ -286,9 +288,7 @@ RecoveryWriter::RecoveryWriter(AutoSaveProperty& saver) { } -RecoveryWriter::~RecoveryWriter() -{ -} +RecoveryWriter::~RecoveryWriter() = default; bool RecoveryWriter::shouldWrite(const std::string& name, const Base::Persistence *object) const { diff --git a/src/Gui/AxisOrigin.cpp b/src/Gui/AxisOrigin.cpp index 7851dc66d8..397f4b2b39 100644 --- a/src/Gui/AxisOrigin.cpp +++ b/src/Gui/AxisOrigin.cpp @@ -45,10 +45,7 @@ using namespace Gui; TYPESYSTEM_SOURCE(Gui::AxisOrigin,Base::BaseClass) -AxisOrigin::AxisOrigin() - :size(6),pSize(4),dist(2),scale(1),lineSize(2),pointSize(4) -{ -} +AxisOrigin::AxisOrigin() = default; SoGroup *AxisOrigin::getNode() { if(node) diff --git a/src/Gui/AxisOrigin.h b/src/Gui/AxisOrigin.h index 33111e0208..c6aea015ea 100644 --- a/src/Gui/AxisOrigin.h +++ b/src/Gui/AxisOrigin.h @@ -93,12 +93,12 @@ public: bool getDetailPath(const char *subname, SoFullPath *pPath, SoDetail *&det) const; private: - float size; - float pSize; - float dist; - float scale; - float lineSize; - float pointSize; + float size = 6; + float pSize = 4; + float dist = 2; + float scale = 1; + float lineSize = 2; + float pointSize = 4; std::map labels; CoinPtr node; std::map > nodeMap; diff --git a/src/Gui/AxisOriginPy.xml b/src/Gui/AxisOriginPy.xml index ea97a5b476..6d8d0bd2c5 100644 --- a/src/Gui/AxisOriginPy.xml +++ b/src/Gui/AxisOriginPy.xml @@ -13,23 +13,30 @@ Delete="true"> - Gui.AxisOrigin class.\n + Gui.AxisOrigin class. + Class for creating a Coin3D representation of a coordinate system. - getElementPicked(pickedPoint) -> str\n -Returns the picked element name.\n + getElementPicked(pickedPoint) -> str + +Returns the picked element name. + pickedPoint : coin.SoPickedPoint - getDetailPath(subname, path) -> coin.SoDetail or None\n + getDetailPath(subname, path) -> coin.SoDetail or None + Returns Coin detail of a subelement. -Note: Not fully implemented. Currently only returns None.\n -subname : str\n String reference to the subelement. -path: coin.SoPath\n Output Coin path leading to the returned element detail. +Note: Not fully implemented. Currently only returns None. + +subname : str + String reference to the subelement. +path: coin.SoPath + Output Coin path leading to the returned element detail. diff --git a/src/Gui/BitmapFactory.cpp b/src/Gui/BitmapFactory.cpp index 2746c3f5a7..7a3adbc7a5 100644 --- a/src/Gui/BitmapFactory.cpp +++ b/src/Gui/BitmapFactory.cpp @@ -239,7 +239,7 @@ bool BitmapFactoryInst::loadPixmap(const QString& filename, QPixmap& icon) const QPixmap BitmapFactoryInst::pixmap(const char* name) const { if (!name || *name == '\0') - return QPixmap(); + return {}; // as very first test check whether the pixmap is in the cache QMap::Iterator it = d->xpmCache.find(name); diff --git a/src/Gui/BlenderNavigationStyle.cpp b/src/Gui/BlenderNavigationStyle.cpp index 0ef5bb4e8f..b9f209ba88 100644 --- a/src/Gui/BlenderNavigationStyle.cpp +++ b/src/Gui/BlenderNavigationStyle.cpp @@ -43,9 +43,7 @@ BlenderNavigationStyle::BlenderNavigationStyle() : lockButton1(false) { } -BlenderNavigationStyle::~BlenderNavigationStyle() -{ -} +BlenderNavigationStyle::~BlenderNavigationStyle() = default; const char* BlenderNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/CADNavigationStyle.cpp b/src/Gui/CADNavigationStyle.cpp index 3cd1f7942e..e0dd117231 100644 --- a/src/Gui/CADNavigationStyle.cpp +++ b/src/Gui/CADNavigationStyle.cpp @@ -42,9 +42,7 @@ CADNavigationStyle::CADNavigationStyle() : lockButton1(false) { } -CADNavigationStyle::~CADNavigationStyle() -{ -} +CADNavigationStyle::~CADNavigationStyle() = default; const char* CADNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/CMakeLists.txt b/src/Gui/CMakeLists.txt index de0c5bd05c..bd08153797 100644 --- a/src/Gui/CMakeLists.txt +++ b/src/Gui/CMakeLists.txt @@ -968,6 +968,7 @@ SET(Inventor_CPP_SRCS SoFCDB.cpp SoFCInteractiveElement.cpp SoFCOffscreenRenderer.cpp + SoQtOffscreenRendererPy.cpp SoFCSelection.cpp SoFCUnifiedSelection.cpp SoFCSelectionContext.cpp @@ -996,6 +997,7 @@ SET(Inventor_SRCS SoFCDB.h SoFCInteractiveElement.h SoFCOffscreenRenderer.h + SoQtOffscreenRendererPy.h SoFCSelection.h SoFCUnifiedSelection.h SoFCSelectionContext.h @@ -1128,6 +1130,8 @@ SET(Selection_SRCS Selection.cpp SelectionFilter.h SelectionFilter.cpp + SelectionFilterPy.h + SelectionFilterPy.cpp SelectionFilter.y SelectionFilter.l SelectionObserverPython.cpp @@ -1314,11 +1318,11 @@ else(WIN32) # Icons/freecad-doc.png # DESTINATION ${CMAKE_INSTALL_DATADIR} #) - INSTALL(FILES Icons/freecad-icon-16.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps RENAME freecad.png) - INSTALL(FILES Icons/freecad-icon-32.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps RENAME freecad.png) - INSTALL(FILES Icons/freecad-icon-48.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps RENAME freecad.png) - INSTALL(FILES Icons/freecad-icon-64.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps RENAME freecad.png) - INSTALL(FILES Icons/freecad.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps) + INSTALL(FILES Icons/freecad-icon-16.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps RENAME org.freecad.FreeCAD.png) + INSTALL(FILES Icons/freecad-icon-32.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps RENAME org.freecad.FreeCAD.png) + INSTALL(FILES Icons/freecad-icon-48.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps RENAME org.freecad.FreeCAD.png) + INSTALL(FILES Icons/freecad-icon-64.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps RENAME org.freecad.FreeCAD.png) + INSTALL(FILES Icons/freecad.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps RENAME org.freecad.FreeCAD.svg) INSTALL(FILES Icons/freecad.xpm DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pixmaps) INSTALL(FILES Icons/freecad-doc.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/mimetypes RENAME application-x-extension-fcstd.svg) endif(WIN32) diff --git a/src/Gui/CallTips.cpp b/src/Gui/CallTips.cpp index 517fbef1a5..35f5b9f33f 100644 --- a/src/Gui/CallTips.cpp +++ b/src/Gui/CallTips.cpp @@ -120,9 +120,7 @@ CallTipsList::CallTipsList(QPlainTextEdit* parent) compKeys.append(Qt::Key_BraceRight); } -CallTipsList::~CallTipsList() -{ -} +CallTipsList::~CallTipsList() = default; void CallTipsList::keyboardSearch(const QString& wordPrefix) { diff --git a/src/Gui/CallTips.h b/src/Gui/CallTips.h index 259a2708b0..04473b074a 100644 --- a/src/Gui/CallTips.h +++ b/src/Gui/CallTips.h @@ -38,11 +38,10 @@ class CallTip { public: enum Type {Unknown, Module, Class, Method, Member, Property}; - CallTip():type(Unknown) {} QString name; QString description; QString parameter; - Type type; + Type type{Unknown}; }; /** diff --git a/src/Gui/Camera.cpp b/src/Gui/Camera.cpp index 1084da3e4f..b5a44020c5 100644 --- a/src/Gui/Camera.cpp +++ b/src/Gui/Camera.cpp @@ -95,34 +95,34 @@ vz.z=0 SbRotation Camera::top() { - return SbRotation(0, 0, 0, 1); + return {0, 0, 0, 1}; } SbRotation Camera::bottom() { - return SbRotation(1, 0, 0, 0); + return {1, 0, 0, 0}; } SbRotation Camera::front() { auto root = (float)(sqrt(2.0)/2.0); - return SbRotation(root, 0, 0, root); + return {root, 0, 0, root}; } SbRotation Camera::rear() { auto root = (float)(sqrt(2.0)/2.0); - return SbRotation(0, root, root, 0); + return {0, root, root, 0}; } SbRotation Camera::right() { - return SbRotation(0.5, 0.5, 0.5, 0.5); + return {0.5, 0.5, 0.5, 0.5}; } SbRotation Camera::left() { - return SbRotation(-0.5, 0.5, 0.5, -0.5); + return {-0.5, 0.5, 0.5, -0.5}; } SbRotation Camera::isometric() @@ -146,17 +146,17 @@ SbRotation Camera::isometric() //#p3=App.Rotation(App.Vector(1,1,0),45) //p3=App.Rotation(App.Vector(1,1,0),degrees(asin(-sqrt(1.0/3.0)))) //p4=p3.multiply(p2).multiply(p1) - return SbRotation(0.424708f, 0.17592f, 0.339851f, 0.820473f); + return {0.424708F, 0.17592F, 0.339851F, 0.820473F}; } SbRotation Camera::dimetric() { - return SbRotation(0.567952f, 0.103751f, 0.146726f, 0.803205f); + return {0.567952F, 0.103751F, 0.146726F, 0.803205F}; } SbRotation Camera::trimetric() { - return SbRotation(0.446015f, 0.119509f, 0.229575f, 0.856787f); + return {0.446015F, 0.119509F, 0.229575F, 0.856787F}; } SbRotation Camera::rotation(Camera::Orientation view) diff --git a/src/Gui/Clipping.cpp b/src/Gui/Clipping.cpp index 76d075a138..8238a04f67 100644 --- a/src/Gui/Clipping.cpp +++ b/src/Gui/Clipping.cpp @@ -48,11 +48,11 @@ public: SoClipPlane* clipY; SoClipPlane* clipZ; SoClipPlane* clipView; - bool flipX; - bool flipY; - bool flipZ; + bool flipX{false}; + bool flipY{false}; + bool flipZ{false}; SoTimerSensor* sensor; - Private() : flipX(false), flipY(false), flipZ(false) + Private() { clipX = new SoClipPlane(); clipX->on.setValue(false); diff --git a/src/Gui/ComboView.cpp b/src/Gui/ComboView.cpp index 5ffeb3c1ea..f142d7672f 100644 --- a/src/Gui/ComboView.cpp +++ b/src/Gui/ComboView.cpp @@ -87,9 +87,7 @@ ComboView::ComboView(bool showModel, Gui::Document* pcDocument, QWidget *parent) //tabs->addTab(projectView, tr("Project")); } -ComboView::~ComboView() -{ -} +ComboView::~ComboView() = default; void ComboView::showDialog(Gui::TaskView::TaskDialog *dlg) { diff --git a/src/Gui/Command.cpp b/src/Gui/Command.cpp index a3c70957cf..52076fa768 100644 --- a/src/Gui/Command.cpp +++ b/src/Gui/Command.cpp @@ -228,9 +228,7 @@ Command::Command(const char* name) bCanLog = true; } -Command::~Command() -{ -} +Command::~Command() = default; void Command::setShortcut(const QString &shortcut) { @@ -579,7 +577,7 @@ std::string Command::getObjectCmd(const char *Name, const App::Document *doc, { if(!doc) doc = App::GetApplication().getActiveDocument(); if(!doc || !Name) - return std::string("None"); + return {"None"}; std::ostringstream str; if(prefix) str << prefix; @@ -594,7 +592,7 @@ std::string Command::getObjectCmd(const App::DocumentObject *obj, const char *prefix, const char *postfix, bool gui) { if(!obj || !obj->getNameInDocument()) - return std::string("None"); + return {"None"}; return getObjectCmd(obj->getNameInDocument(), obj->getDocument(), prefix, postfix,gui); } @@ -1118,9 +1116,7 @@ MacroCommand::MacroCommand(const char* name, bool system) sScriptName = nullptr; } -MacroCommand::~MacroCommand() -{ -} +MacroCommand::~MacroCommand() = default; void MacroCommand::activated(int iMsg) { @@ -1787,9 +1783,7 @@ void PythonGroupCommand::onActionInit() const // CommandManager //=========================================================================== -CommandManager::CommandManager() -{ -} +CommandManager::CommandManager() = default; CommandManager::~CommandManager() { diff --git a/src/Gui/CommandActionPy.cpp b/src/Gui/CommandActionPy.cpp index 3ca1a46d04..389f68783c 100644 --- a/src/Gui/CommandActionPy.cpp +++ b/src/Gui/CommandActionPy.cpp @@ -46,9 +46,7 @@ CommandActionPy::CommandActionPy(Py::PythonClassInstance* self, Py::Tuple& args, cmd = Application::Instance->commandManager().getCommandByName(name); } -CommandActionPy::~CommandActionPy() -{ -} +CommandActionPy::~CommandActionPy() = default; Py::Object CommandActionPy::getAction() { diff --git a/src/Gui/CommandCompleter.cpp b/src/Gui/CommandCompleter.cpp index 609fd3fef2..df572b343a 100644 --- a/src/Gui/CommandCompleter.cpp +++ b/src/Gui/CommandCompleter.cpp @@ -87,13 +87,13 @@ public: QModelIndex parent(const QModelIndex &) const override { - return QModelIndex(); + return {}; } QVariant data(const QModelIndex & index, int role) const override { if (index.row() < 0 || index.row() >= (int)_Commands.size()) - return QVariant(); + return {}; auto &info = _Commands[index.row()]; @@ -125,7 +125,7 @@ public: default: break; } - return QVariant(); + return {}; } QModelIndex index(int row, int, const QModelIndex &) const override diff --git a/src/Gui/CommandDoc.cpp b/src/Gui/CommandDoc.cpp index adb54d64ff..d0eb36a282 100644 --- a/src/Gui/CommandDoc.cpp +++ b/src/Gui/CommandDoc.cpp @@ -1681,10 +1681,6 @@ class StdCmdExpression : public Gui::Command { public: StdCmdExpression() : Command("Std_Expressions") - , pcActionCopyAll(nullptr) - , pcActionCopySel(nullptr) - , pcActionCopyActive(nullptr) - , pcActionPaste(nullptr) { sGroup = "Edit"; sMenuText = QT_TR_NOOP("Expression actions"); @@ -1887,10 +1883,10 @@ protected: return true; } - QAction *pcActionCopyAll; - QAction *pcActionCopySel; - QAction *pcActionCopyActive; - QAction *pcActionPaste; + QAction *pcActionCopyAll{nullptr}; + QAction *pcActionCopySel{nullptr}; + QAction *pcActionCopyActive{nullptr}; + QAction *pcActionPaste{nullptr}; }; namespace Gui { diff --git a/src/Gui/CommandPy.xml b/src/Gui/CommandPy.xml index 2f416f5c1f..2fa2f65639 100644 --- a/src/Gui/CommandPy.xml +++ b/src/Gui/CommandPy.xml @@ -15,107 +15,142 @@ - get(name) -> Gui.Command or None\n -Get a given command by name or None if it doesn't exist.\n -name : str\n Command name. + get(name) -> Gui.Command or None + +Get a given command by name or None if it doesn't exist. + +name : str + Command name. - update() -> None\n + update() -> None + Update active status of all commands. - listAll() -> list of str\n + listAll() -> list of str + Returns the name of all commands. - listByShortcut(string, useRegExp=False) -> list of str\n + listByShortcut(string, useRegExp=False) -> list of str + Returns a list of all commands, filtered by shortcut. Shortcuts are converted to uppercase and spaces removed -prior to comparison.\n -string : str\n Shortcut to be searched. -useRegExp : bool\n Filter using regular expression. +prior to comparison. + +string : str + Shortcut to be searched. +useRegExp : bool + Filter using regular expression. - run(item=0) -> None\n -Runs the given command.\n -item : int\n Item to be run. + run(item=0) -> None + +Runs the given command. + +item : int + Item to be run. - isActive() -> bool\n + isActive() -> bool + Returns True if the command is active, False otherwise. - getShortcut() -> str\n + getShortcut() -> str + Returns string representing shortcut key accelerator for command. - setShortcut(string) -> bool\n -Sets shortcut for given command, returns True for success.\n -string : str\n Shortcut to be set. + setShortcut(string) -> bool + +Sets shortcut for given command, returns True for success. + +string : str + Shortcut to be set. - resetShortcut() -> bool\n + resetShortcut() -> bool + Resets shortcut for given command back to the default, returns True for success. - getInfo() -> dict\n + getInfo() -> dict + Return information about this command. - getAction() -> list of QAction\n + getAction() -> list of QAction + Return the associated QAction object. - createCustomCommand(macroFile, menuText, toolTip, whatsThis, statusTip, pixmap, shortcut) -> str\n -Create a custom command for a macro. Returns name of the created command.\n -macroFile : str\n Macro file. -menuText : str\n Menu text. Optional. -toolTip : str\n Tool tip text. Optional. -whatsThis : str\n `What's this?` text. Optional. -statusTip : str\n Status tip text. Optional. -pixmap : str\n Pixmap name. Optional. -shortcut : str\n Shortcut key sequence. Optional. + createCustomCommand(macroFile, menuText, toolTip, whatsThis, statusTip, pixmap, shortcut) -> str + +Create a custom command for a macro. Returns name of the created command. + +macroFile : str + Macro file. +menuText : str + Menu text. Optional. +toolTip : str + Tool tip text. Optional. +whatsThis : str + `What's this?` text. Optional. +statusTip : str + Status tip text. Optional. +pixmap : str + Pixmap name. Optional. +shortcut : str + Shortcut key sequence. Optional. - removeCustomCommand(name) -> bool\n + removeCustomCommand(name) -> bool + Remove the custom command if it exists. Given the name of a custom command, this removes that command. It is not an error to remove a non-existent command, the function simply does nothing in that case. -Returns True if something was removed, or False if not.\n -name : str\n Command name. +Returns True if something was removed, or False if not. + +name : str + Command name. - findCustomCommand(name) -> str or None\n + findCustomCommand(name) -> str or None + Given the name of a macro, return the name of the custom command for that macro -or None if there is no command matching that macro script name.\n -name : str\n Macro name. +or None if there is no command matching that macro script name. + +name : str + Macro name. diff --git a/src/Gui/CommandPyImp.cpp b/src/Gui/CommandPyImp.cpp index f563cb287d..335d10b105 100644 --- a/src/Gui/CommandPyImp.cpp +++ b/src/Gui/CommandPyImp.cpp @@ -34,6 +34,7 @@ #include "Selection.h" #include "Window.h" #include "PythonWrapper.h" +#include // inclusion of the generated files (generated out of CommandPy.xml) #include "CommandPy.h" @@ -44,7 +45,7 @@ // returns a string which represents the object e.g. when printed in python std::string CommandPy::representation() const { - return std::string(""); + return {""}; } PyObject* CommandPy::get(PyObject *args) @@ -296,10 +297,12 @@ PyObject* CommandPy::createCustomCommand(PyObject* args, PyObject* kw) const char* statustipTxt = nullptr; const char* pixmapTxt = nullptr; const char* shortcutTxt = nullptr; - static char* kwlist[] = {"macroFile", "menuText", "toolTip", "whatsThis","statusTip", "pixmap", "shortcut", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kw, "s|zzzzzz", kwlist, ¯oFile, &menuTxt, - &tooltipTxt, &whatsthisTxt, &statustipTxt, &pixmapTxt, &shortcutTxt)) + static const std::array kwlist{"macroFile", "menuText", "toolTip", "whatsThis", "statusTip", + "pixmap", "shortcut", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kw, "s|zzzzzz", kwlist, ¯oFile, &menuTxt, + &tooltipTxt, &whatsthisTxt, &statustipTxt, &pixmapTxt, &shortcutTxt)) { return nullptr; + } auto name = Application::Instance->commandManager().newMacroName(); CommandManager& commandManager = Application::Instance->commandManager(); diff --git a/src/Gui/CommandStd.cpp b/src/Gui/CommandStd.cpp index 83b2b5ee06..c5d50cb2ac 100644 --- a/src/Gui/CommandStd.cpp +++ b/src/Gui/CommandStd.cpp @@ -855,7 +855,7 @@ class StdCmdUserEditMode : public Gui::Command { public: StdCmdUserEditMode(); - ~StdCmdUserEditMode() override{} + ~StdCmdUserEditMode() override = default; void languageChange() override; const char* className() const override {return "StdCmdUserEditMode";} void updateIcon(int mode); diff --git a/src/Gui/CommandTest.cpp b/src/Gui/CommandTest.cpp index 21b3e71e4e..0a86fa47a7 100644 --- a/src/Gui/CommandTest.cpp +++ b/src/Gui/CommandTest.cpp @@ -75,11 +75,11 @@ void Std_TestQM::activated(int iMsg) if (!files.empty()) { Translator::instance()->activateLanguage("English"); QList i18n = qApp->findChildren(); - for (QList::Iterator it = i18n.begin(); it != i18n.end(); ++it) - qApp->removeTranslator(*it); - for (QStringList::Iterator it = files.begin(); it != files.end(); ++it) { + for (QTranslator* it : i18n) + qApp->removeTranslator(it); + for (const QString& it : files) { auto translator = new QTranslator(qApp); - if (translator->load(*it)) { + if (translator->load(it)) { qApp->installTranslator(translator); } else { @@ -567,9 +567,7 @@ public: explicit BarThread(unsigned long s) : steps(s) { } - ~BarThread() override - { - } + ~BarThread() override = default; void run() override { QMutex mutex; @@ -724,10 +722,12 @@ class TestConsoleObserver : public Base::ILogger { QMutex mutex; public: - int matchMsg, matchWrn, matchErr, matchLog, matchCritical; - TestConsoleObserver() : matchMsg(0), matchWrn(0), matchErr(0), matchLog(0), matchCritical(0) - { - } + int matchMsg{0}; + int matchWrn{0}; + int matchErr{0}; + int matchLog{0}; + int matchCritical{0}; + TestConsoleObserver() = default; void SendLog(const std::string& notifiername, const std::string& msg, Base::LogStyle level, Base::IntendedRecipient recipient, Base::ContentType content) override{ diff --git a/src/Gui/CommandView.cpp b/src/Gui/CommandView.cpp index 17b468e0c8..2ad6a44e85 100644 --- a/src/Gui/CommandView.cpp +++ b/src/Gui/CommandView.cpp @@ -287,7 +287,7 @@ class StdCmdFreezeViews : public Gui::Command { public: StdCmdFreezeViews(); - ~StdCmdFreezeViews() override{} + ~StdCmdFreezeViews() override = default; const char* className() const override { return "StdCmdFreezeViews"; } @@ -305,24 +305,17 @@ private: void onRestoreViews(); private: - const int maxViews; - int savedViews; - int offset; - QAction* saveView; - QAction* freezeView; - QAction* clearView; - QAction* separator; + const int maxViews{50}; + int savedViews{0}; + int offset{0}; + QAction* saveView{nullptr}; + QAction* freezeView{nullptr}; + QAction* clearView{nullptr}; + QAction* separator{nullptr}; }; StdCmdFreezeViews::StdCmdFreezeViews() : Command("Std_FreezeViews") - , maxViews(50) - , savedViews(0) - , offset(0) - , saveView(nullptr) - , freezeView(nullptr) - , clearView(nullptr) - , separator(nullptr) { sGroup = "Standard-View"; sMenuText = QT_TR_NOOP("Freeze display"); @@ -636,7 +629,7 @@ class StdCmdDrawStyle : public Gui::Command { public: StdCmdDrawStyle(); - ~StdCmdDrawStyle() override{} + ~StdCmdDrawStyle() override = default; void languageChange() override; const char* className() const override {return "StdCmdDrawStyle";} void updateIcon(const Gui::MDIView* view); @@ -1359,6 +1352,230 @@ void StdCmdViewTop::activated(int iMsg) doCommand(Command::Gui,"Gui.activeDocument().activeView().viewTop()"); } + +//=============================================================================== +// StdCmdSelectFilter (dropdown toolbar button for Vertex, Edge & Face Selection) +//=============================================================================== + +DEF_STD_CMD_ACL(StdCmdSelectFilter) + +StdCmdSelectFilter::StdCmdSelectFilter() + : Command("Std_SelectFilter") +{ + sGroup = "Standard-View"; + sMenuText = QT_TR_NOOP("Selection filter"); + sToolTipText = QT_TR_NOOP("Change the Selection filter"); + sStatusTip = QT_TR_NOOP("Change the Selection filter"); + sWhatsThis = "Std_SelectFilter"; + sPixmap = "selection-filter"; + eType = Alter3DView; +} + +void StdCmdSelectFilter::activated(int iMsg) +{ + Gui::CommandManager &rcCmdMgr = Gui::Application::Instance->commandManager(); + if (iMsg==0) + rcCmdMgr.runCommandByName("Std_VertexSelection"); + else if (iMsg==1) + rcCmdMgr.runCommandByName("Std_EdgeSelection"); + else if (iMsg==2) + rcCmdMgr.runCommandByName("Std_FaceSelection"); + else if (iMsg==3) + rcCmdMgr.runCommandByName("Std_RemoveSelectionGate"); + else + return; + + // Since the default icon is reset when enabling/disabling the command we have + // to explicitly set the icon of the used command. + Gui::ActionGroup* pcAction = qobject_cast(_pcAction); + QList a = pcAction->actions(); + + assert(iMsg < a.size()); + pcAction->setIcon(a[iMsg]->icon()); +} + +Gui::Action * StdCmdSelectFilter::createAction() +{ + Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); + pcAction->setDropDownMenu(true); + applyCommandData(this->className(), pcAction); + + QAction* cmd0 = pcAction->addAction(QString()); + cmd0->setIcon(Gui::BitmapFactory().iconFromTheme("vertex-selection")); + cmd0->setShortcut(QKeySequence(QString::fromUtf8("X,S"))); + QAction* cmd1 = pcAction->addAction(QString()); + cmd1->setIcon(Gui::BitmapFactory().iconFromTheme("edge-selection")); + cmd1->setShortcut(QKeySequence(QString::fromUtf8("E,S"))); + QAction* cmd2 = pcAction->addAction(QString()); + cmd2->setIcon(Gui::BitmapFactory().iconFromTheme("face-selection")); + cmd2->setShortcut(QKeySequence(QString::fromUtf8("F,S"))); + QAction* cmd3 = pcAction->addAction(QString()); + cmd3->setIcon(Gui::BitmapFactory().iconFromTheme("clear-selection")); + cmd3->setShortcut(QKeySequence(QString::fromUtf8("C,S"))); + + _pcAction = pcAction; + languageChange(); + + pcAction->setIcon(Gui::BitmapFactory().iconFromTheme("selection-filter")); + int defaultId = 3; + pcAction->setProperty("defaultAction", QVariant(defaultId)); + + return pcAction; +} + +void StdCmdSelectFilter::languageChange() +{ + Command::languageChange(); + + if (!_pcAction) + return; + + Gui::CommandManager &rcCmdMgr = Gui::Application::Instance->commandManager(); + + Gui::ActionGroup* pcAction = qobject_cast(_pcAction); + QList a = pcAction->actions(); + + Gui::Command* vertexSelection = rcCmdMgr.getCommandByName("Std_VertexSelection"); + if (vertexSelection) { + QAction* cmd0 = a[0]; + cmd0->setText(QApplication::translate("View_SelectionFilter", vertexSelection->getMenuText())); + cmd0->setToolTip(QApplication::translate("View_SelectionFilter", vertexSelection->getToolTipText())); + cmd0->setStatusTip(QApplication::translate("View_SelectionFilter", vertexSelection->getStatusTip())); + } + + Gui::Command* edgeSelection = rcCmdMgr.getCommandByName("Std_EdgeSelection"); + if (edgeSelection) { + QAction* cmd1 = a[1]; + cmd1->setText(QApplication::translate("View_SelectionFilter", edgeSelection->getMenuText())); + cmd1->setToolTip(QApplication::translate("View_SelectionFilter", edgeSelection->getToolTipText())); + cmd1->setStatusTip(QApplication::translate("View_SelectionFilter", edgeSelection->getStatusTip())); + } + + Gui::Command* faceSelection = rcCmdMgr.getCommandByName("Std_FaceSelection"); + if (faceSelection) { + QAction* cmd1 = a[2]; + cmd1->setText(QApplication::translate("View_SelectionFilter", faceSelection->getMenuText())); + cmd1->setToolTip(QApplication::translate("View_SelectionFilter", faceSelection->getToolTipText())); + cmd1->setStatusTip(QApplication::translate("View_SelectionFilter", faceSelection->getStatusTip())); + } + + Gui::Command* removeSelection = rcCmdMgr.getCommandByName("Std_RemoveSelectionGate"); + if (removeSelection) { + QAction* cmd2 = a[3]; + cmd2->setText(QApplication::translate("View_SelectionFilter", removeSelection->getMenuText())); + cmd2->setToolTip(QApplication::translate("View_SelectionFilter", removeSelection->getToolTipText())); + cmd2->setStatusTip(QApplication::translate("View_SelectionFilter", removeSelection->getStatusTip())); + } +} + +bool StdCmdSelectFilter::isActive() +{ + Gui::MDIView* view = Gui::getMainWindow()->activeWindow(); + return view && view->isDerivedFrom(Gui::View3DInventor::getClassTypeId()); +} + + +//=========================================================================== +// Std_VertexSelection +//=========================================================================== +DEF_3DV_CMD(StdCmdVertexSelection) + +StdCmdVertexSelection::StdCmdVertexSelection() + : Command("Std_VertexSelection") +{ + sGroup = "Standard-View"; + sMenuText = QT_TR_NOOP("Vertex Selection"); + sToolTipText = QT_TR_NOOP("Select a Vertex/Vertices"); + sWhatsThis = "Std_VertexSelection"; + sStatusTip = QT_TR_NOOP("Select a Vertex/Vertices"); + sPixmap = "vertex-selection"; + sAccel = "X, S"; + eType = Alter3DView; +} + +void StdCmdVertexSelection::activated(int iMsg) +{ + Q_UNUSED(iMsg); + doCommand(Command::Gui,"Gui.Selection.addSelectionGate('SELECT Part::Feature SUBELEMENT Vertex')"); +} + + +//=========================================================================== +// Std_EdgeSelection +//=========================================================================== +DEF_3DV_CMD(StdCmdEdgeSelection) + +StdCmdEdgeSelection::StdCmdEdgeSelection() + : Command("Std_EdgeSelection") +{ + sGroup = "Standard-View"; + sMenuText = QT_TR_NOOP("Edge Selection"); + sToolTipText = QT_TR_NOOP("Select Edge(s)"); + sWhatsThis = "Std_EdgeSelection"; + sStatusTip = QT_TR_NOOP("Select Edge(s)"); + sPixmap = "edge-selection"; + sAccel = "E, S"; + eType = Alter3DView; +} + +void StdCmdEdgeSelection::activated(int iMsg) +{ + Q_UNUSED(iMsg); + doCommand(Command::Gui,"Gui.Selection.addSelectionGate('SELECT Part::Feature SUBELEMENT Edge')"); +} + + +//=========================================================================== +// Std_FaceSelection +//=========================================================================== +DEF_3DV_CMD(StdCmdFaceSelection) + +StdCmdFaceSelection::StdCmdFaceSelection() + : Command("Std_FaceSelection") +{ + sGroup = "Standard-View"; + sMenuText = QT_TR_NOOP("Face Selection"); + sToolTipText = QT_TR_NOOP("Select Face(s)"); + sWhatsThis = "Std_FaceSelection"; + sStatusTip = QT_TR_NOOP("Select Face(s)"); + sPixmap = "face-selection"; + sAccel = "F, S"; + eType = Alter3DView; +} + +void StdCmdFaceSelection::activated(int iMsg) +{ + Q_UNUSED(iMsg); + doCommand(Command::Gui,"Gui.Selection.addSelectionGate('SELECT Part::Feature SUBELEMENT Face')"); +} + + + +//=========================================================================== +// Std_RemoveSelectionGate +//=========================================================================== +DEF_3DV_CMD(StdCmdRemoveSelectionGate) + +StdCmdRemoveSelectionGate::StdCmdRemoveSelectionGate() + : Command("Std_RemoveSelectionGate") +{ + sGroup = "Standard-View"; + sMenuText = QT_TR_NOOP("All selection filters cleared"); + sToolTipText = QT_TR_NOOP("All selection filters cleared"); + sWhatsThis = "Std_RemoveSelectionGate"; + sStatusTip = QT_TR_NOOP("All selection filters cleared"); + sPixmap = "clear-selection"; + sAccel = "C, S"; + eType = Alter3DView; +} + +void StdCmdRemoveSelectionGate::activated(int iMsg) +{ + Q_UNUSED(iMsg); + doCommand(Command::Gui,"Gui.Selection.removeSelectionGate()"); +} + + //=========================================================================== // Std_ViewIsometric //=========================================================================== @@ -3789,6 +4006,11 @@ void CreateViewStdCommands() rcCmdMgr.addCommand(new StdCmdViewRear()); rcCmdMgr.addCommand(new StdCmdViewRight()); rcCmdMgr.addCommand(new StdCmdViewTop()); + rcCmdMgr.addCommand(new StdCmdSelectFilter()); + rcCmdMgr.addCommand(new StdCmdVertexSelection()); + rcCmdMgr.addCommand(new StdCmdEdgeSelection()); + rcCmdMgr.addCommand(new StdCmdFaceSelection()); + rcCmdMgr.addCommand(new StdCmdRemoveSelectionGate()); rcCmdMgr.addCommand(new StdCmdViewIsometric()); rcCmdMgr.addCommand(new StdCmdViewDimetric()); rcCmdMgr.addCommand(new StdCmdViewTrimetric()); diff --git a/src/Gui/Control.cpp b/src/Gui/Control.cpp index 83e1b4084e..47e21cd17b 100644 --- a/src/Gui/Control.cpp +++ b/src/Gui/Control.cpp @@ -54,10 +54,7 @@ ControlSingleton::ControlSingleton() } -ControlSingleton::~ControlSingleton() -{ - -} +ControlSingleton::~ControlSingleton() = default; Gui::TaskView::TaskView* ControlSingleton::taskPanel() const { diff --git a/src/Gui/DAGView/DAGFilter.cpp b/src/Gui/DAGView/DAGFilter.cpp index 66bf9de621..57bc3915af 100644 --- a/src/Gui/DAGView/DAGFilter.cpp +++ b/src/Gui/DAGView/DAGFilter.cpp @@ -31,7 +31,7 @@ using namespace Gui; using namespace DAG; -FilterBase::FilterBase() : name(QString::fromLatin1("empty name")), enabled(true), type(Type::Exclusion) +FilterBase::FilterBase() : name(QString::fromLatin1("empty name")) { } diff --git a/src/Gui/DAGView/DAGFilter.h b/src/Gui/DAGView/DAGFilter.h index 9b78af7308..788bc61899 100644 --- a/src/Gui/DAGView/DAGFilter.h +++ b/src/Gui/DAGView/DAGFilter.h @@ -45,8 +45,8 @@ namespace Gui //! @return is whether we have a match or not. virtual bool goFilter(const Vertex &vertexIn, const Graph &graphIn, const GraphLinkContainer &linkIn) const = 0; QString name; - bool enabled; - Type type; + bool enabled = true; + Type type = Type::Exclusion; }; /*! Hide all children of app::origin that are not diff --git a/src/Gui/DAGView/DAGModel.cpp b/src/Gui/DAGView/DAGModel.cpp index 225488cb89..5b9833924d 100644 --- a/src/Gui/DAGView/DAGModel.cpp +++ b/src/Gui/DAGView/DAGModel.cpp @@ -933,9 +933,9 @@ void Model::mousePressEvent(QGraphicsSceneMouseEvent* event) QPointF currentPickPoint = event->scenePos(); QGraphicsLineItem intersectionLine(QLineF(lastPick, currentPickPoint)); QListselection = collidingItems(&intersectionLine); - for (auto currentItem = selection.begin(); currentItem != selection.end(); ++currentItem) + for (auto currentItem : selection) { - auto rect = dynamic_cast(*currentItem); + auto rect = dynamic_cast(currentItem); if (!rect) continue; const GraphLinkRecord &selectionRecord = findRecord(rect, *graphLink); Gui::Selection().addSelection(selectionRecord.DObject->getDocument()->getName(), diff --git a/src/Gui/DAGView/DAGModel.h b/src/Gui/DAGView/DAGModel.h index 624fed7818..eb809b95cb 100644 --- a/src/Gui/DAGView/DAGModel.h +++ b/src/Gui/DAGView/DAGModel.h @@ -84,7 +84,7 @@ namespace Gui void editingFinishedSlot(); private: - Model(){} + Model() = default; //documentObject slots. using Connection = boost::signals2::connection; Connection connectNewObject; diff --git a/src/Gui/DAGView/DAGModelGraph.cpp b/src/Gui/DAGView/DAGModelGraph.cpp index 86c29bec51..f57171c3a9 100644 --- a/src/Gui/DAGView/DAGModelGraph.cpp +++ b/src/Gui/DAGView/DAGModelGraph.cpp @@ -34,13 +34,7 @@ VertexProperty::VertexProperty() : visibleIcon(new QGraphicsPixmapItem()), stateIcon(new QGraphicsPixmapItem()), icon(new QGraphicsPixmapItem()), - text(new QGraphicsTextItem()), - row(0), - column(0), - topoSortIndex(0), - lastVisibleState(VisibilityState::None), - lastFeatureState(FeatureState::None), - dagVisible(true) + text(new QGraphicsTextItem()) { //set z values. this->rectangle->setZValue(-1000.0); @@ -51,10 +45,7 @@ VertexProperty::VertexProperty() : this->text->setZValue(0.0); } -EdgeProperty::EdgeProperty() : relation(BranchTag::None) -{ - -} +EdgeProperty::EdgeProperty() = default; bool Gui::DAG::hasRecord(const App::DocumentObject* dObjectIn, const GraphLinkContainer &containerIn) { diff --git a/src/Gui/DAGView/DAGModelGraph.h b/src/Gui/DAGView/DAGModelGraph.h index e4b65c9363..27d0641e28 100644 --- a/src/Gui/DAGView/DAGModelGraph.h +++ b/src/Gui/DAGView/DAGModelGraph.h @@ -82,12 +82,12 @@ namespace Gui std::shared_ptr icon; //!< icon std::shared_ptr text; //!< text boost::signals2::connection connChangeIcon; - int row; //!< row for this entry. - ColumnMask column; //!< column number containing the point. - int topoSortIndex; - VisibilityState lastVisibleState; //!< visibility test. - FeatureState lastFeatureState; //!< feature state test. - bool dagVisible; //!< should entry be visible in the DAG view. + int row = 0; //!< row for this entry. + ColumnMask column = 0; //!< column number containing the point. + int topoSortIndex = 0; + VisibilityState lastVisibleState = VisibilityState::None; //!< visibility test. + FeatureState lastFeatureState = FeatureState::None; //!< feature state test. + bool dagVisible = true; //!< should entry be visible in the DAG view. }; /*! @brief boost data for each vertex. * @@ -114,7 +114,7 @@ namespace Gui Terminate //!< terminate a branch. }; EdgeProperty(); - BranchTag relation; + BranchTag relation = BranchTag::None; std::shared_ptr connector; //!< line representing link between nodes. }; /*! @brief needed to create an internal index for graph edges. needed for setS.*/ diff --git a/src/Gui/DAGView/DAGView.cpp b/src/Gui/DAGView/DAGView.cpp index e4f34a0337..d525bbc9b1 100644 --- a/src/Gui/DAGView/DAGView.cpp +++ b/src/Gui/DAGView/DAGView.cpp @@ -60,9 +60,7 @@ View::View(QWidget* parentIn): QGraphicsView(parentIn) this, &View::awakeSlot); } -View::~View() -{ -} +View::~View() = default; void View::slotActiveDocument(const Document &documentIn) { diff --git a/src/Gui/DAGView/DAGView.h b/src/Gui/DAGView/DAGView.h index 1229bfe32b..9b9ccd75e9 100644 --- a/src/Gui/DAGView/DAGView.h +++ b/src/Gui/DAGView/DAGView.h @@ -67,7 +67,7 @@ namespace Gui Q_OBJECT public: explicit DockWindow(Gui::Document* gDocumentIn = nullptr, QWidget *parent = nullptr); - ~DockWindow() override{} + ~DockWindow() override = default; private: View *dagView; diff --git a/src/Gui/DlgActionsImp.cpp b/src/Gui/DlgActionsImp.cpp index 4031975dc3..ddddeb7d15 100644 --- a/src/Gui/DlgActionsImp.cpp +++ b/src/Gui/DlgActionsImp.cpp @@ -564,9 +564,7 @@ IconFolders::IconFolders(const QStringList& paths, QWidget* parent) addButton->setDisabled(true); } -IconFolders::~IconFolders() -{ -} +IconFolders::~IconFolders() = default; void IconFolders::addFolder() { diff --git a/src/Gui/DlgActivateWindowImp.cpp b/src/Gui/DlgActivateWindowImp.cpp index e134bfe65d..1a7abd4829 100644 --- a/src/Gui/DlgActivateWindowImp.cpp +++ b/src/Gui/DlgActivateWindowImp.cpp @@ -63,14 +63,14 @@ DlgActivateWindowImp::DlgActivateWindowImp(QWidget* parent, Qt::WindowFlags fl) QWidget* activeWnd = getMainWindow()->activeWindow(); - for (QList::Iterator it = windows.begin(); it != windows.end(); ++it) { + for (QWidget* it : windows) { auto item = new QTreeWidgetItem(ui->treeWidget); - QString title = (*it)->windowTitle(); + QString title = it->windowTitle(); title.replace(QLatin1String("[*]"), QLatin1String("")); - if ((*it)->isWindowModified()) + if (it->isWindowModified()) title += QLatin1String("*"); item->setText(0, title); - if (*it == activeWnd) + if (it == activeWnd) active = item; } diff --git a/src/Gui/DlgAddProperty.cpp b/src/Gui/DlgAddProperty.cpp index 40ab59df9d..088d9f2372 100644 --- a/src/Gui/DlgAddProperty.cpp +++ b/src/Gui/DlgAddProperty.cpp @@ -56,8 +56,8 @@ DlgAddProperty::DlgAddProperty(QWidget* parent, std::vector types; Base::Type::getAllDerivedFrom(Base::Type::fromName("App::Property"),types); - std::sort(types.begin(), types.end(), [](Base::Type a, Base::Type b) { return strcmp(a.getName(), b.getName()) < 0; }); - + std::sort(types.begin(), types.end(), [](Base::Type a, Base::Type b) { return strcmp(a.getName(), b.getName()) < 0; }); + for(const auto& type : types) { ui->comboType->addItem(QString::fromLatin1(type.getName())); if(type == defType) @@ -72,10 +72,7 @@ DlgAddProperty::DlgAddProperty(QWidget* parent, /** * Destroys the object and frees any allocated resources */ -DlgAddProperty::~DlgAddProperty() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgAddProperty::~DlgAddProperty() = default; static std::string containerName(const App::PropertyContainer *c) { auto doc = Base::freecad_dynamic_cast(c); diff --git a/src/Gui/DlgCheckableMessageBox.cpp b/src/Gui/DlgCheckableMessageBox.cpp index bda4d147de..7954190ffd 100644 --- a/src/Gui/DlgCheckableMessageBox.cpp +++ b/src/Gui/DlgCheckableMessageBox.cpp @@ -61,7 +61,7 @@ QPixmap getStandardIcon(QWidget* widget, QStyle::StandardPixmap standardPixmap) #endif } - return QPixmap(); + return {}; } void DlgCheckableMessageBox::showMessage(const QString& header, const QString& message, bool check, const QString& checkText) @@ -105,10 +105,10 @@ void DlgCheckableMessageBox::showMessage(const QString& header, const QString& m } struct DlgCheckableMessageBoxPrivate { - DlgCheckableMessageBoxPrivate() : clickedButton(nullptr) {} + DlgCheckableMessageBoxPrivate() = default; Ui::DlgCheckableMessageBox ui; - QAbstractButton *clickedButton; + QAbstractButton *clickedButton{nullptr}; }; DlgCheckableMessageBox::DlgCheckableMessageBox(QWidget *parent) : diff --git a/src/Gui/DlgCreateNewPreferencePackImp.cpp b/src/Gui/DlgCreateNewPreferencePackImp.cpp index f02535c21a..af7f586c2e 100644 --- a/src/Gui/DlgCreateNewPreferencePackImp.cpp +++ b/src/Gui/DlgCreateNewPreferencePackImp.cpp @@ -57,9 +57,7 @@ DlgCreateNewPreferencePackImp::DlgCreateNewPreferencePackImp(QWidget* parent) } -DlgCreateNewPreferencePackImp::~DlgCreateNewPreferencePackImp() -{ -} +DlgCreateNewPreferencePackImp::~DlgCreateNewPreferencePackImp() = default; void DlgCreateNewPreferencePackImp::setPreferencePackTemplates(const std::vector& availableTemplates) { diff --git a/src/Gui/DlgCustomizeImp.cpp b/src/Gui/DlgCustomizeImp.cpp index 858267a30b..c1109d25c5 100644 --- a/src/Gui/DlgCustomizeImp.cpp +++ b/src/Gui/DlgCustomizeImp.cpp @@ -83,9 +83,9 @@ DlgCustomizeImp::DlgCustomizeImp(QWidget* parent, Qt::WindowFlags fl) // make sure that pages are ready to create GetWidgetFactorySupplier(); - for (QList::Iterator it = _pages.begin(); it!=_pages.end(); ++it) + for (const QByteArray& it : _pages) { - addPage(WidgetFactory().createWidget((*it).constData())); + addPage(WidgetFactory().createWidget(it.constData())); } customLayout->addWidget(tabWidget, 0, 0); @@ -104,10 +104,7 @@ DlgCustomizeImp::DlgCustomizeImp(QWidget* parent, Qt::WindowFlags fl) /** * Destroys the object and frees any allocated resources */ -DlgCustomizeImp::~DlgCustomizeImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgCustomizeImp::~DlgCustomizeImp() = default; /** * Adds a customize page with its class name \a className. diff --git a/src/Gui/DlgCustomizeSpNavSettings.cpp b/src/Gui/DlgCustomizeSpNavSettings.cpp index 78a42a6106..441ef48ea6 100644 --- a/src/Gui/DlgCustomizeSpNavSettings.cpp +++ b/src/Gui/DlgCustomizeSpNavSettings.cpp @@ -51,9 +51,7 @@ DlgCustomizeSpNavSettings::DlgCustomizeSpNavSettings(QWidget *parent) : initialize(); } -DlgCustomizeSpNavSettings::~DlgCustomizeSpNavSettings() -{ -} +DlgCustomizeSpNavSettings::~DlgCustomizeSpNavSettings() = default; void DlgCustomizeSpNavSettings::setupConnections() { diff --git a/src/Gui/DlgCustomizeSpaceball.cpp b/src/Gui/DlgCustomizeSpaceball.cpp index fdd7535fa6..aa4a00cca6 100644 --- a/src/Gui/DlgCustomizeSpaceball.cpp +++ b/src/Gui/DlgCustomizeSpaceball.cpp @@ -202,21 +202,21 @@ QVariant ButtonModel::data (const QModelIndex &index, int role) const if (index.row() >= (int)groupVector.size()) { Base::Console().Log("index error in ButtonModel::data\n"); - return QVariant(); + return {}; } if (role == Qt::DisplayRole) - return QVariant(getLabel(index.row())); + return {getLabel(index.row())}; if (role == Qt::DecorationRole) { static QPixmap icon(BitmapFactory().pixmap("spaceball_button").scaled (32, 32, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); - return QVariant(icon); + return {icon}; } if (role == Qt::UserRole) - return QVariant(QString::fromStdString(groupVector.at(index.row())->GetASCII("Command"))); + return {QString::fromStdString(groupVector.at(index.row())->GetASCII("Command"))}; if (role == Qt::SizeHintRole) - return QVariant(QSize(32, 32)); - return QVariant(); + return {QSize(32, 32)}; + return {}; } void ButtonModel::insertButtonRows(int number) @@ -336,10 +336,12 @@ void CommandView::goClicked(const QModelIndex &index) CommandNode::CommandNode(NodeType typeIn) { + //NOLINTBEGIN nodeType = typeIn; parent = nullptr; children.clear(); aCommand = nullptr; + //NOLINTEND } CommandNode::~CommandNode() @@ -351,8 +353,10 @@ CommandNode::~CommandNode() CommandModel::CommandModel(QObject *parent) : QAbstractItemModel(parent) { + //NOLINTBEGIN rootNode = nullptr; initialize(); + //NOLINTEND } CommandModel::~CommandModel() @@ -364,13 +368,13 @@ CommandModel::~CommandModel() QModelIndex CommandModel::index(int row, int column, const QModelIndex &parent) const { if (!rootNode) - return QModelIndex(); + return {}; if (!parent.isValid()) return createIndex(row, column, rootNode->children.at(row)); CommandNode *parentNode = nodeFromIndex(parent); if (!parentNode) - return QModelIndex(); + return {}; return createIndex(row, column, parentNode->children.at(row)); } @@ -378,17 +382,17 @@ QModelIndex CommandModel::parent(const QModelIndex &index) const { CommandNode *base = nodeFromIndex(index); if (!base) - return QModelIndex(); + return {}; CommandNode *parentNode = base->parent; if (!parentNode) - return QModelIndex(); + return {}; CommandNode *grandParentNode = parentNode->parent; if (!grandParentNode) - return QModelIndex(); + return {}; int row = grandParentNode->children.indexOf(parentNode); if (row == -1) - return QModelIndex(); + return {}; return createIndex(row, index.column(), parentNode); } @@ -413,19 +417,19 @@ QVariant CommandModel::data(const QModelIndex &index, int role) const { CommandNode *node = nodeFromIndex(index); if (!node) - return QVariant(); + return {}; if (role == Qt::DisplayRole) { if (node->nodeType == CommandNode::CommandType) - return QVariant(qApp->translate(node->aCommand->className(), node->aCommand->getMenuText())); + return {qApp->translate(node->aCommand->className(), node->aCommand->getMenuText())}; if (node->nodeType == CommandNode::GroupType) { if (node->children.empty()) - return QVariant(); + return {}; CommandNode *childNode = node->children.at(0); - return QVariant(childNode->aCommand->translatedGroupName()); + return {qApp->translate(childNode->aCommand->className(), childNode->aCommand->getGroupName())}; } - return QVariant(); + return {}; } if (role == Qt::DecorationRole) { @@ -436,33 +440,35 @@ QVariant CommandModel::data(const QModelIndex &index, int role) const (32, 32, Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); } } - if (role == Qt::SizeHintRole) + if (role == Qt::SizeHintRole) { if (node->nodeType == CommandNode::CommandType) - return QVariant(QSize(32, 32)); + return {QSize(32, 32)}; + } if (role == Qt::UserRole) { if (node->nodeType == CommandNode::CommandType) - return QVariant(QString::fromLatin1(node->aCommand->getName())); + return {QString::fromLatin1(node->aCommand->getName())}; if (node->nodeType == CommandNode::GroupType) { if (node->children.empty()) - return QVariant(); + return {}; CommandNode *childNode = node->children.at(0); - return QVariant(QString::fromLatin1(childNode->aCommand->getGroupName())); + return {QString::fromLatin1(childNode->aCommand->getGroupName())}; } - return QVariant(); + return {}; } - if (role == Qt::ToolTipRole) + if (role == Qt::ToolTipRole) { if (node->nodeType == CommandNode::CommandType) - return QVariant(QString::fromLatin1(node->aCommand->getToolTipText())); - return QVariant(); + return {QString::fromLatin1(node->aCommand->getToolTipText())}; + } + return {}; } QVariant CommandModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role == Qt::DisplayRole && orientation == Qt::Horizontal && section == 0) - return QVariant(tr("Commands")); - return QVariant(); + return {tr("Commands")}; + return {}; } Qt::ItemFlags CommandModel::flags (const QModelIndex &index) const @@ -596,8 +602,10 @@ QStringList CommandModel::orderedGroups() PrintModel::PrintModel(QObject *parent, ButtonModel *buttonModelIn, CommandModel *commandModelIn) : QAbstractTableModel(parent) { + //NOLINTBEGIN buttonModel = buttonModelIn; commandModel = commandModelIn; + //NOLINTEND } int PrintModel::rowCount(const QModelIndex &parent) const @@ -625,28 +633,28 @@ QVariant PrintModel::data(const QModelIndex &index, int role) const //command column; QString commandName(buttonModel->data(buttonModel->index(index.row(), 0), Qt::UserRole).toString()); if (commandName.isEmpty()) - return (QVariant()); + return {}; QModelIndexList indexList(commandModel->match(commandModel->index(0,0), Qt::UserRole, QVariant(commandName), 1, Qt::MatchWrap | Qt::MatchRecursive)); if (indexList.isEmpty()) - return QVariant(); + return {}; return commandModel->data(indexList.at(0), role); } - return QVariant(); + return {}; } QVariant PrintModel::headerData(int section, Qt::Orientation orientation, int role) const { if (role != Qt::DisplayRole || orientation != Qt::Horizontal) - return QVariant(); + return {}; if (section == 0) - return QVariant(tr("Button")); + return {tr("Button")}; if (section == 1) - return QVariant(tr("Command")); + return {tr("Command")}; else - return QVariant(); + return {}; } /////////////////////////////////////////////////////////////////////////////////////// @@ -682,10 +690,7 @@ DlgCustomizeSpaceball::DlgCustomizeSpaceball(QWidget *parent) connect(printReference, &QPushButton::clicked, this, &DlgCustomizeSpaceball::goPrint); } -DlgCustomizeSpaceball::~DlgCustomizeSpaceball() -{ - -} +DlgCustomizeSpaceball::~DlgCustomizeSpaceball() = default; void DlgCustomizeSpaceball::setMessage(const QString& message) { diff --git a/src/Gui/DlgDisplayPropertiesImp.cpp b/src/Gui/DlgDisplayPropertiesImp.cpp index 87143ca0cd..07957396e1 100644 --- a/src/Gui/DlgDisplayPropertiesImp.cpp +++ b/src/Gui/DlgDisplayPropertiesImp.cpp @@ -632,10 +632,7 @@ TaskDisplayProperties::TaskDisplayProperties() Content.push_back(taskbox); } -TaskDisplayProperties::~TaskDisplayProperties() -{ - // automatically deleted in the sub-class -} +TaskDisplayProperties::~TaskDisplayProperties() = default; QDialogButtonBox::StandardButtons TaskDisplayProperties::getStandardButtons() const { diff --git a/src/Gui/DlgEditFileIncludePropertyExternal.cpp b/src/Gui/DlgEditFileIncludePropertyExternal.cpp index 82cdb62c7e..f273a21611 100644 --- a/src/Gui/DlgEditFileIncludePropertyExternal.cpp +++ b/src/Gui/DlgEditFileIncludePropertyExternal.cpp @@ -49,11 +49,7 @@ DlgEditFileIncludePropertyExternal(App::PropertyFileIncluded& Prop, /** * Destroys the object and frees any allocated resources */ -DlgEditFileIncludePropertyExternal::~DlgEditFileIncludePropertyExternal() -{ - // no need to delete child widgets, Qt does it all for us -} - +DlgEditFileIncludePropertyExternal::~DlgEditFileIncludePropertyExternal() = default; int DlgEditFileIncludePropertyExternal::processFile() { diff --git a/src/Gui/DlgInputDialogImp.cpp b/src/Gui/DlgInputDialogImp.cpp index 3941b0f271..5f70de8a6c 100644 --- a/src/Gui/DlgInputDialogImp.cpp +++ b/src/Gui/DlgInputDialogImp.cpp @@ -61,10 +61,7 @@ DlgInputDialogImp::DlgInputDialogImp( const QString& labelTxt, QWidget* parent, /** * Destroys the object and frees any allocated resources */ -DlgInputDialogImp::~DlgInputDialogImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgInputDialogImp::~DlgInputDialogImp() = default; void DlgInputDialogImp::textChanged( const QString &s ) { diff --git a/src/Gui/DlgKeyboardImp.cpp b/src/Gui/DlgKeyboardImp.cpp index 5f754d5af5..08f0381c34 100644 --- a/src/Gui/DlgKeyboardImp.cpp +++ b/src/Gui/DlgKeyboardImp.cpp @@ -111,9 +111,7 @@ DlgCustomKeyboardImp::DlgCustomKeyboardImp( QWidget* parent ) } /** Destroys the object and frees any allocated resources */ -DlgCustomKeyboardImp::~DlgCustomKeyboardImp() -{ -} +DlgCustomKeyboardImp::~DlgCustomKeyboardImp() = default; void DlgCustomKeyboardImp::setupConnections() { @@ -348,8 +346,7 @@ void DlgCustomKeyboardImp::populatePriorityList(QTreeWidget *priorityList, auto actionList = ShortcutManager::instance()->getActionsByShortcut(sc); QTreeWidgetItem *currentItem = nullptr; - for (size_t i=0; ifindData(it->first) < 0) { - combo->addItem(it->second); - combo->setItemData(combo->count()-1, QVariant(it->first), Qt::UserRole); + for (const auto & it : groupMap) { + if (combo->findData(it.first) < 0) { + combo->addItem(it.second); + combo->setItemData(combo->count()-1, QVariant(it.first), Qt::UserRole); } } } diff --git a/src/Gui/DlgLocationAngle.ui b/src/Gui/DlgLocationAngle.ui index f020848c7d..0b83bf9942 100644 --- a/src/Gui/DlgLocationAngle.ui +++ b/src/Gui/DlgLocationAngle.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Gui/DlgLocationPos.ui b/src/Gui/DlgLocationPos.ui index 6f18acc05a..d778fc2c59 100644 --- a/src/Gui/DlgLocationPos.ui +++ b/src/Gui/DlgLocationPos.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Gui/DlgMacroExecuteImp.cpp b/src/Gui/DlgMacroExecuteImp.cpp index a6b258d67e..640addab09 100644 --- a/src/Gui/DlgMacroExecuteImp.cpp +++ b/src/Gui/DlgMacroExecuteImp.cpp @@ -58,7 +58,7 @@ namespace Gui { : QTreeWidgetItem(widget), systemWide(systemwide){} - ~MacroItem() override{} + ~MacroItem() override = default; bool systemWide; }; @@ -104,10 +104,7 @@ DlgMacroExecuteImp::DlgMacroExecuteImp( QWidget* parent, Qt::WindowFlags fl ) /** * Destroys the object and frees any allocated resources */ -DlgMacroExecuteImp::~DlgMacroExecuteImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgMacroExecuteImp::~DlgMacroExecuteImp() = default; void DlgMacroExecuteImp::setupConnections() { diff --git a/src/Gui/DlgMacroRecordImp.cpp b/src/Gui/DlgMacroRecordImp.cpp index 9afc0d7322..0796749b16 100644 --- a/src/Gui/DlgMacroRecordImp.cpp +++ b/src/Gui/DlgMacroRecordImp.cpp @@ -73,10 +73,7 @@ DlgMacroRecordImp::DlgMacroRecordImp( QWidget* parent, Qt::WindowFlags fl ) /** * Destroys the object and frees any allocated resources */ -DlgMacroRecordImp::~DlgMacroRecordImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgMacroRecordImp::~DlgMacroRecordImp() = default; void DlgMacroRecordImp::setupConnections() { diff --git a/src/Gui/DlgMaterialPropertiesImp.cpp b/src/Gui/DlgMaterialPropertiesImp.cpp index 08331a4261..27448e50c1 100644 --- a/src/Gui/DlgMaterialPropertiesImp.cpp +++ b/src/Gui/DlgMaterialPropertiesImp.cpp @@ -64,9 +64,7 @@ DlgMaterialPropertiesImp::DlgMaterialPropertiesImp(const std::string& mat, QWidg /** * Destroys the object and frees any allocated resources */ -DlgMaterialPropertiesImp::~DlgMaterialPropertiesImp() -{ -} +DlgMaterialPropertiesImp::~DlgMaterialPropertiesImp() = default; void DlgMaterialPropertiesImp::setupConnections() { diff --git a/src/Gui/DlgOnlineHelpImp.cpp b/src/Gui/DlgOnlineHelpImp.cpp index aa3749c0a6..a16cf2ec1e 100644 --- a/src/Gui/DlgOnlineHelpImp.cpp +++ b/src/Gui/DlgOnlineHelpImp.cpp @@ -58,9 +58,7 @@ DlgOnlineHelpImp::DlgOnlineHelpImp( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -DlgOnlineHelpImp::~DlgOnlineHelpImp() -{ -} +DlgOnlineHelpImp::~DlgOnlineHelpImp() = default; /** * Returns the start page for the HelpView. If none is defined the default diff --git a/src/Gui/DlgParameterImp.cpp b/src/Gui/DlgParameterImp.cpp index 8df3dda0e1..1105d2afb7 100644 --- a/src/Gui/DlgParameterImp.cpp +++ b/src/Gui/DlgParameterImp.cpp @@ -479,9 +479,7 @@ ParameterGroup::ParameterGroup( QWidget * parent ) menuEdit->setDefaultAction(expandAct); } -ParameterGroup::~ParameterGroup() -{ -} +ParameterGroup::~ParameterGroup() = default; void ParameterGroup::contextMenuEvent ( QContextMenuEvent* event ) { @@ -680,9 +678,7 @@ ParameterValue::ParameterValue( QWidget * parent ) this, qOverload(&ParameterValue::onChangeSelectedItem)); } -ParameterValue::~ParameterValue() -{ -} +ParameterValue::~ParameterValue() = default; void ParameterValue::setCurrentGroup( const Base::Reference& hGrp ) { @@ -1020,9 +1016,7 @@ ParameterValueItem::ParameterValueItem ( QTreeWidget* parent, const Base::Refere setFlags(flags() | Qt::ItemIsEditable); } -ParameterValueItem::~ParameterValueItem() -{ -} +ParameterValueItem::~ParameterValueItem() = default; void ParameterValueItem::setData ( int column, int role, const QVariant & value ) { @@ -1052,9 +1046,7 @@ ParameterText::ParameterText ( QTreeWidget * parent, QString label, const char* setText(2, QString::fromUtf8(value)); } -ParameterText::~ParameterText() -{ -} +ParameterText::~ParameterText() = default; void ParameterText::changeValue() { @@ -1096,9 +1088,7 @@ ParameterInt::ParameterInt ( QTreeWidget * parent, QString label, long value, co setText(2, QString::fromLatin1("%1").arg(value)); } -ParameterInt::~ParameterInt() -{ -} +ParameterInt::~ParameterInt() = default; void ParameterInt::changeValue() { @@ -1140,9 +1130,7 @@ ParameterUInt::ParameterUInt ( QTreeWidget * parent, QString label, unsigned lon setText(2, QString::fromLatin1("%1").arg(value)); } -ParameterUInt::~ParameterUInt() -{ -} +ParameterUInt::~ParameterUInt() = default; void ParameterUInt::changeValue() { @@ -1193,9 +1181,7 @@ ParameterFloat::ParameterFloat ( QTreeWidget * parent, QString label, double val setText(2, QString::fromLatin1("%1").arg(value)); } -ParameterFloat::~ParameterFloat() -{ -} +ParameterFloat::~ParameterFloat() = default; void ParameterFloat::changeValue() { @@ -1237,9 +1223,7 @@ ParameterBool::ParameterBool ( QTreeWidget * parent, QString label, bool value, setText(2, QString::fromLatin1((value ? "true" : "false"))); } -ParameterBool::~ParameterBool() -{ -} +ParameterBool::~ParameterBool() = default; void ParameterBool::changeValue() { diff --git a/src/Gui/DlgPreferencePackManagementImp.cpp b/src/Gui/DlgPreferencePackManagementImp.cpp index b956965e79..a1a0dad41a 100644 --- a/src/Gui/DlgPreferencePackManagementImp.cpp +++ b/src/Gui/DlgPreferencePackManagementImp.cpp @@ -212,9 +212,7 @@ void DlgPreferencePackManagementImp::showAddonManager() close(); } -DlgPreferencePackManagementImp::~DlgPreferencePackManagementImp() -{ -} +DlgPreferencePackManagementImp::~DlgPreferencePackManagementImp() = default; diff --git a/src/Gui/DlgProjectUtility.cpp b/src/Gui/DlgProjectUtility.cpp index 15a6759ef8..c9877786b9 100644 --- a/src/Gui/DlgProjectUtility.cpp +++ b/src/Gui/DlgProjectUtility.cpp @@ -53,9 +53,7 @@ DlgProjectUtility::DlgProjectUtility(QWidget* parent, Qt::WindowFlags fl) /** * Destroys the object and frees any allocated resources */ -DlgProjectUtility::~DlgProjectUtility() -{ -} +DlgProjectUtility::~DlgProjectUtility() = default; void DlgProjectUtility::extractButton() { diff --git a/src/Gui/DlgPropertyLink.cpp b/src/Gui/DlgPropertyLink.cpp index e1a5dbf429..507b6d948b 100644 --- a/src/Gui/DlgPropertyLink.cpp +++ b/src/Gui/DlgPropertyLink.cpp @@ -187,7 +187,7 @@ static inline bool isLinkSub(const QList& links) QString DlgPropertyLink::formatLinks(App::Document *ownerDoc, QList links) { if(!ownerDoc || links.empty()) - return QString(); + return {}; auto obj = links.front().getObject(); if(!obj) diff --git a/src/Gui/DlgRevertToBackupConfigImp.cpp b/src/Gui/DlgRevertToBackupConfigImp.cpp index 4cbb3f76ff..c61d23f077 100644 --- a/src/Gui/DlgRevertToBackupConfigImp.cpp +++ b/src/Gui/DlgRevertToBackupConfigImp.cpp @@ -46,9 +46,7 @@ DlgRevertToBackupConfigImp::DlgRevertToBackupConfigImp(QWidget* parent) connect(ui->listWidget, &QListWidget::itemSelectionChanged, this, &DlgRevertToBackupConfigImp::onItemSelectionChanged); } -DlgRevertToBackupConfigImp::~DlgRevertToBackupConfigImp() -{ -} +DlgRevertToBackupConfigImp::~DlgRevertToBackupConfigImp() = default; void Gui::Dialog::DlgRevertToBackupConfigImp::onItemSelectionChanged() { diff --git a/src/Gui/DlgRunExternal.cpp b/src/Gui/DlgRunExternal.cpp index b54b81dee7..39d831dbb8 100644 --- a/src/Gui/DlgRunExternal.cpp +++ b/src/Gui/DlgRunExternal.cpp @@ -63,9 +63,7 @@ DlgRunExternal::DlgRunExternal( QWidget* parent, Qt::WindowFlags fl ) /** * Destroys the object and frees any allocated resources */ -DlgRunExternal::~DlgRunExternal() -{ -} +DlgRunExternal::~DlgRunExternal() = default; void DlgRunExternal::addArgument(const QString& arg) { diff --git a/src/Gui/DlgSettingsColorGradientImp.cpp b/src/Gui/DlgSettingsColorGradientImp.cpp index 97ef8a1aea..d062cac461 100644 --- a/src/Gui/DlgSettingsColorGradientImp.cpp +++ b/src/Gui/DlgSettingsColorGradientImp.cpp @@ -77,10 +77,7 @@ DlgSettingsColorGradientImp::DlgSettingsColorGradientImp(const App::ColorGradien /** * Destroys the object and frees any allocated resources */ -DlgSettingsColorGradientImp::~DlgSettingsColorGradientImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsColorGradientImp::~DlgSettingsColorGradientImp() = default; void DlgSettingsColorGradientImp::setupConnections() { diff --git a/src/Gui/DlgSettingsImageImp.cpp b/src/Gui/DlgSettingsImageImp.cpp index 2eac9773a5..4d4da8b2b5 100644 --- a/src/Gui/DlgSettingsImageImp.cpp +++ b/src/Gui/DlgSettingsImageImp.cpp @@ -63,10 +63,7 @@ DlgSettingsImageImp::DlgSettingsImageImp( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -DlgSettingsImageImp::~DlgSettingsImageImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsImageImp::~DlgSettingsImageImp() = default; void DlgSettingsImageImp::setupConnections() { @@ -131,7 +128,7 @@ void DlgSettingsImageImp::setImageSize( const QSize& s ) */ QSize DlgSettingsImageImp::imageSize() const { - return QSize( ui->spinWidth->value(), ui->spinHeight->value() ); + return { ui->spinWidth->value(), ui->spinHeight->value() }; } /** @@ -157,7 +154,7 @@ int DlgSettingsImageImp::imageHeight() const QString DlgSettingsImageImp::comment() const { if ( !ui->textEditComment->isEnabled() ) - return QString(); + return {}; else return ui->textEditComment->toPlainText(); } diff --git a/src/Gui/DlgToolbarsImp.cpp b/src/Gui/DlgToolbarsImp.cpp index b597af5a97..703030d8ca 100644 --- a/src/Gui/DlgToolbarsImp.cpp +++ b/src/Gui/DlgToolbarsImp.cpp @@ -113,9 +113,7 @@ DlgCustomToolbars::DlgCustomToolbars(DlgCustomToolbars::Type t, QWidget* parent) } /** Destroys the object and frees any allocated resources */ -DlgCustomToolbars::~DlgCustomToolbars() -{ -} +DlgCustomToolbars::~DlgCustomToolbars() = default; void DlgCustomToolbars::setupConnections() { @@ -578,9 +576,7 @@ DlgCustomToolbarsImp::DlgCustomToolbarsImp( QWidget* parent ) } /** Destroys the object and frees any allocated resources */ -DlgCustomToolbarsImp::~DlgCustomToolbarsImp() -{ -} +DlgCustomToolbarsImp::~DlgCustomToolbarsImp() = default; void DlgCustomToolbarsImp::addCustomToolbar(const QString& name) { @@ -845,9 +841,7 @@ DlgCustomToolBoxbarsImp::DlgCustomToolBoxbarsImp( QWidget* parent ) } /** Destroys the object and frees any allocated resources */ -DlgCustomToolBoxbarsImp::~DlgCustomToolBoxbarsImp() -{ -} +DlgCustomToolBoxbarsImp::~DlgCustomToolBoxbarsImp() = default; void DlgCustomToolBoxbarsImp::changeEvent(QEvent *e) { diff --git a/src/Gui/DlgUndoRedo.cpp b/src/Gui/DlgUndoRedo.cpp index fd77f2b00b..64190bcc13 100644 --- a/src/Gui/DlgUndoRedo.cpp +++ b/src/Gui/DlgUndoRedo.cpp @@ -50,10 +50,7 @@ UndoDialog::UndoDialog( QWidget* parent ) /** * Destroys the object and frees any allocated resources. */ -UndoDialog::~UndoDialog() -{ - // no need to delete child widgets, Qt does it all for us -} +UndoDialog::~UndoDialog() = default; /** * This method fetches the undo / redo information from the @@ -99,10 +96,7 @@ RedoDialog::RedoDialog( QWidget* parent ) /** * Destroys the object and frees any allocated resources. */ -RedoDialog::~RedoDialog() -{ - // no need to delete child widgets, Qt does it all for us -} +RedoDialog::~RedoDialog() = default; /** * This method fetches the undo / redo information from the diff --git a/src/Gui/DlgUnitsCalculatorImp.cpp b/src/Gui/DlgUnitsCalculatorImp.cpp index 13641e3227..ad36fa1ab6 100644 --- a/src/Gui/DlgUnitsCalculatorImp.cpp +++ b/src/Gui/DlgUnitsCalculatorImp.cpp @@ -124,8 +124,8 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl ) << Base::Unit::VolumeFlowRate << Base::Unit::VolumetricThermalExpansionCoefficient << Base::Unit::Work; - for (QList::iterator it = units.begin(); it != units.end(); ++it) { - ui->unitsBox->addItem(it->getTypeString()); + for (const Base::Unit& it : units) { + ui->unitsBox->addItem(it.getTypeString()); } ui->quantitySpinBox->setValue(1.0); @@ -134,9 +134,7 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl ) } /** Destroys the object and frees any allocated resources */ -DlgUnitsCalculator::~DlgUnitsCalculator() -{ -} +DlgUnitsCalculator::~DlgUnitsCalculator() = default; void DlgUnitsCalculator::accept() { diff --git a/src/Gui/DockWindow.cpp b/src/Gui/DockWindow.cpp index 74885d8518..39ad26427d 100644 --- a/src/Gui/DockWindow.cpp +++ b/src/Gui/DockWindow.cpp @@ -32,8 +32,6 @@ DockWindow::DockWindow( Gui::Document* pcDocument, QWidget *parent) { } -DockWindow::~DockWindow() -{ -} +DockWindow::~DockWindow() = default; #include "moc_DockWindow.cpp" diff --git a/src/Gui/DockWindowManager.cpp b/src/Gui/DockWindowManager.cpp index cb62a615de..e7864e0da1 100644 --- a/src/Gui/DockWindowManager.cpp +++ b/src/Gui/DockWindowManager.cpp @@ -37,13 +37,9 @@ using namespace Gui; -DockWindowItems::DockWindowItems() -{ -} +DockWindowItems::DockWindowItems() = default; -DockWindowItems::~DockWindowItems() -{ -} +DockWindowItems::~DockWindowItems() = default; void DockWindowItems::addDockWidget(const char* name, Qt::DockWidgetArea pos, bool visibility, bool tabbed) { diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index da49bbb603..5767c93723 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -2591,8 +2591,8 @@ void Document::handleChildren3D(ViewProvider* viewProvider, bool deleting) backGroup->addChild(childBackNode); // cycling to all views of the document to remove the viewprovider from the viewer itself - for (std::list::iterator vIt = d->baseViews.begin();vIt != d->baseViews.end();++vIt) { - auto activeView = dynamic_cast(*vIt); + for (Gui::BaseView* vIt : d->baseViews) { + auto activeView = dynamic_cast(vIt); if (activeView && activeView->getViewer()->hasViewProvider(ChildViewProvider)) { // @Note hasViewProvider() // remove the viewprovider serves the purpose of detaching the inventor nodes from the diff --git a/src/Gui/DocumentModel.cpp b/src/Gui/DocumentModel.cpp index ef7362584d..57308e4a8b 100644 --- a/src/Gui/DocumentModel.cpp +++ b/src/Gui/DocumentModel.cpp @@ -82,7 +82,7 @@ namespace Gui { virtual QVariant data(int role) const { Q_UNUSED(role); - return QVariant(); + return {}; } virtual bool setData (const QVariant & value, int role) { @@ -103,8 +103,8 @@ namespace Gui { { qDeleteAll(childItems); childItems.clear(); } protected: - DocumentModelIndex() : parentItem(nullptr) {} - DocumentModelIndex *parentItem; + DocumentModelIndex() = default; + DocumentModelIndex *parentItem{nullptr}; QList childItems; }; @@ -116,7 +116,7 @@ namespace Gui { TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: - ApplicationIndex(){} + ApplicationIndex() = default; int findChild(const Gui::Document& d) const; Qt::ItemFlags flags() const override; QVariant data(int role) const override; @@ -199,7 +199,7 @@ namespace Gui { else if (role == Qt::DisplayRole) { return DocumentModel::tr("Application"); } - return QVariant(); + return {}; } // ------------------------------------------------------------------------ @@ -271,7 +271,7 @@ namespace Gui { return static_cast(font); } - return QVariant(); + return {}; } // ------------------------------------------------------------------------ @@ -326,7 +326,7 @@ namespace Gui { return static_cast(font); } - return QVariant(); + return {}; } // ------------------------------------------------------------------------ @@ -489,7 +489,7 @@ void DocumentModel::slotChangeObject(const Gui::ViewProviderDocumentObject& obj, auto doc_index = static_cast(d->rootItem->child(row)); QList views; doc_index->findViewProviders(obj, views); - for (const auto & view : views) { + for (const auto & view : qAsConst(views)) { DocumentModelIndex* parentitem = view->parent(); QModelIndex parent = createIndex(0,0,parentitem); int row = view->row(); @@ -523,7 +523,7 @@ void DocumentModel::slotChangeObject(const Gui::ViewProviderDocumentObject& obj, // get all occurrences of the view provider in the tree structure QList obj_index; doc_index->findViewProviders(obj, obj_index); - for (const auto & it : obj_index) { + for (const auto & it : qAsConst(obj_index)) { QModelIndex parent = createIndex(it->row(),0,it); int count_obj = it->childCount(); beginRemoveRows(parent, 0, count_obj); @@ -608,7 +608,7 @@ int DocumentModel::columnCount (const QModelIndex & /*parent*/) const QVariant DocumentModel::data (const QModelIndex & index, int role) const { if (!index.isValid()) - return QVariant(); + return {}; return static_cast(index.internalPointer())->data(role); } @@ -625,7 +625,7 @@ Qt::ItemFlags DocumentModel::flags(const QModelIndex &index) const // return Qt::ItemIsEnabled; //return QAbstractItemModel::flags(index); if (!index.isValid()) - return Qt::ItemFlags(); + return {}; return static_cast(index.internalPointer())->flags(); } @@ -637,14 +637,14 @@ QModelIndex DocumentModel::index (int row, int column, const QModelIndex & paren else item = static_cast(parent.internalPointer())->child(row); if (!item) - return QModelIndex(); + return {}; return createIndex(row, column, item); } QModelIndex DocumentModel::parent (const QModelIndex & index) const { if (!index.isValid() || index.internalPointer() == d->rootItem) - return QModelIndex(); + return {}; DocumentModelIndex* item = nullptr; item = static_cast(index.internalPointer()); DocumentModelIndex* parent = item->parent(); @@ -665,11 +665,11 @@ QVariant DocumentModel::headerData (int section, Qt::Orientation orientation, in Q_UNUSED(section); if (orientation == Qt::Horizontal) { if (role != Qt::DisplayRole) - return QVariant(); + return {}; return tr("Labels & Attributes"); } - return QVariant(); + return {}; } bool DocumentModel::setHeaderData (int, Qt::Orientation, const QVariant &, int) diff --git a/src/Gui/DocumentObserver.cpp b/src/Gui/DocumentObserver.cpp index 2d12579ea7..8d698db764 100644 --- a/src/Gui/DocumentObserver.cpp +++ b/src/Gui/DocumentObserver.cpp @@ -40,9 +40,7 @@ using namespace Gui; namespace sp = std::placeholders; -DocumentT::DocumentT() -{ -} +DocumentT::DocumentT() = default; DocumentT::DocumentT(Document* doc) { @@ -59,9 +57,7 @@ DocumentT::DocumentT(const DocumentT& doc) document = doc.document; } -DocumentT::~DocumentT() -{ -} +DocumentT::~DocumentT() = default; void DocumentT::operator=(const DocumentT& doc) { @@ -122,9 +118,7 @@ std::string DocumentT::getAppDocumentPython() const // ----------------------------------------------------------------------------- -ViewProviderT::ViewProviderT() -{ -} +ViewProviderT::ViewProviderT() = default; ViewProviderT::ViewProviderT(const ViewProviderT& other) { @@ -141,9 +135,7 @@ ViewProviderT::ViewProviderT(const ViewProviderDocumentObject* obj) *this = obj; } -ViewProviderT::~ViewProviderT() -{ -} +ViewProviderT::~ViewProviderT() = default; ViewProviderT & ViewProviderT::operator=(const ViewProviderT& obj) { @@ -266,9 +258,7 @@ DocumentWeakPtrT::DocumentWeakPtrT(Gui::Document* doc) noexcept { } -DocumentWeakPtrT::~DocumentWeakPtrT() -{ -} +DocumentWeakPtrT::~DocumentWeakPtrT() = default; void DocumentWeakPtrT::reset() noexcept { @@ -294,7 +284,7 @@ Gui::Document* DocumentWeakPtrT::operator->() const noexcept class ViewProviderWeakPtrT::Private { public: - Private(ViewProviderDocumentObject* obj) : object(obj), indocument(false) { + Private(ViewProviderDocumentObject* obj) : object(obj) { set(obj); } void deletedDocument(const Gui::Document& doc) { @@ -348,7 +338,7 @@ public: } Gui::ViewProviderDocumentObject* object; - bool indocument; + bool indocument{false}; using Connection = boost::signals2::scoped_connection; Connection connectApplicationDeletedDocument; Connection connectDocumentCreatedObject; @@ -360,10 +350,7 @@ ViewProviderWeakPtrT::ViewProviderWeakPtrT(ViewProviderDocumentObject* obj) { } -ViewProviderWeakPtrT::~ViewProviderWeakPtrT() -{ - -} +ViewProviderWeakPtrT::~ViewProviderWeakPtrT() = default; ViewProviderDocumentObject* ViewProviderWeakPtrT::_get() const noexcept { @@ -409,18 +396,14 @@ bool ViewProviderWeakPtrT::operator!= (const ViewProviderWeakPtrT& p) const noex // ----------------------------------------------------------------------------- -DocumentObserver::DocumentObserver() -{ -} +DocumentObserver::DocumentObserver() = default; DocumentObserver::DocumentObserver(Document* doc) { attachDocument(doc); } -DocumentObserver::~DocumentObserver() -{ -} +DocumentObserver::~DocumentObserver() = default; void DocumentObserver::attachDocument(Document* doc) { diff --git a/src/Gui/DocumentObserver.h b/src/Gui/DocumentObserver.h index f1057c446a..a3400b23d3 100644 --- a/src/Gui/DocumentObserver.h +++ b/src/Gui/DocumentObserver.h @@ -158,11 +158,11 @@ public: */ Gui::Document* operator->() const noexcept; -private: // disable - DocumentWeakPtrT(const DocumentWeakPtrT&); - DocumentWeakPtrT& operator=(const DocumentWeakPtrT&); + DocumentWeakPtrT(const DocumentWeakPtrT&) = delete; + DocumentWeakPtrT& operator=(const DocumentWeakPtrT&) = delete; +private: class Private; std::unique_ptr d; }; @@ -220,9 +220,11 @@ public: private: ViewProviderDocumentObject* _get() const noexcept; + +public: // disable - ViewProviderWeakPtrT(const ViewProviderWeakPtrT&); - ViewProviderWeakPtrT& operator=(const ViewProviderWeakPtrT&); + ViewProviderWeakPtrT(const ViewProviderWeakPtrT&) = delete; + ViewProviderWeakPtrT& operator=(const ViewProviderWeakPtrT&) = delete; private: class Private; @@ -238,8 +240,7 @@ class WeakPtrT public: explicit WeakPtrT(T* t) : ptr(t) { } - ~WeakPtrT() { - } + ~WeakPtrT() = default; /*! * \brief reset @@ -297,10 +298,9 @@ public: return ptr.get(); } -private: // disable - WeakPtrT(const WeakPtrT&); - WeakPtrT& operator=(const WeakPtrT&); + WeakPtrT(const WeakPtrT&) = delete; + WeakPtrT& operator=(const WeakPtrT&) = delete; private: ViewProviderWeakPtrT ptr; diff --git a/src/Gui/DocumentObserverPython.cpp b/src/Gui/DocumentObserverPython.cpp index 8bb41a7abe..c50e547bb4 100644 --- a/src/Gui/DocumentObserverPython.cpp +++ b/src/Gui/DocumentObserverPython.cpp @@ -89,9 +89,7 @@ DocumentObserverPython::DocumentObserverPython(const Py::Object& obj) : inst(obj //NOLINTEND } -DocumentObserverPython::~DocumentObserverPython() -{ -} +DocumentObserverPython::~DocumentObserverPython() = default; void DocumentObserverPython::slotCreatedDocument(const Gui::Document& Doc) { diff --git a/src/Gui/DocumentPy.xml b/src/Gui/DocumentPy.xml index dfc0354719..129bb8697a 100644 --- a/src/Gui/DocumentPy.xml +++ b/src/Gui/DocumentPy.xml @@ -15,135 +15,183 @@ - show(objName) -> None\n -Show an object.\n -objName : str\n Name of the `Gui.ViewProvider` to show. + show(objName) -> None + +Show an object. + +objName : str + Name of the `Gui.ViewProvider` to show. - hide(objName) -> None\n -Hide an object.\n -objName : str\n Name of the `Gui.ViewProvider` to hide. + hide(objName) -> None + +Hide an object. + +objName : str + Name of the `Gui.ViewProvider` to hide. - setPos(objName, matrix) -> None\n -Set the position of an object.\n -objName : str\n Name of the `Gui.ViewProvider`.\n -matrix : Base.Matrix\n Transformation to apply on the object. + setPos(objName, matrix) -> None + +Set the position of an object. + +objName : str + Name of the `Gui.ViewProvider`. + +matrix : Base.Matrix + Transformation to apply on the object. - setEdit(obj, mod=0, subName) -> bool\n -Set an object in edit mode.\n -obj : str, App.DocumentObject, Gui.ViewPrivider\n Object to set in edit mode. -mod : int\n Edit mode. -subName : str\n Subelement name. Optional. + setEdit(obj, mod=0, subName) -> bool + +Set an object in edit mode. + +obj : str, App.DocumentObject, Gui.ViewPrivider + Object to set in edit mode. +mod : int + Edit mode. +subName : str + Subelement name. Optional. - getInEdit() -> Gui.ViewProviderDocumentObject or None\n + getInEdit() -> Gui.ViewProviderDocumentObject or None + Returns the current object in edit mode or None if there is no such object. - resetEdit() -> None\n + resetEdit() -> None + End the current editing. - addAnnotation(annoName, fileName, modName) -> None\n -Add an Inventor object from a file.\n -annoName : str\n Annotation name. -fileName : str\n File name. -modName : str\n Display mode name. Optional. + addAnnotation(annoName, fileName, modName) -> None + +Add an Inventor object from a file. + +annoName : str + Annotation name. +fileName : str + File name. +modName : str + Display mode name. Optional. - update() -> None\n + update() -> None + Update the view representations of all objects. - getObject(objName) -> object or None\n -Return the object with the given name. If no one exists, return None.\n -ObjName : str\n Object name. + getObject(objName) -> object or None + +Return the object with the given name. If no one exists, return None. + +ObjName : str + Object name. - activeObject() -> object or None\n + activeObject() -> object or None + The active object of the document. Deprecated, use ActiveObject. - activeView() -> object or None\n + activeView() -> object or None + The active view of the document. Deprecated, use ActiveView. - mdiViewsOfType(type) -> list of MDIView\n -Return a list of mdi views of a given type.\n -type : str\n Type name. + mdiViewsOfType(type) -> list of MDIView + +Return a list of mdi views of a given type. + +type : str + Type name. - save() -> bool\n + save() -> bool + Attempts to save the document - saveAs() -> bool\n + saveAs() -> bool + Attempts to save the document under a new name - sendMsgToViews(msg) -> None\n -Send a message to all views of the document.\n + sendMsgToViews(msg) -> None + +Send a message to all views of the document. + msg : str - mergeProject(fileName) -> None\n -Merges this document with another project file.\n -fileName : str\n File name. + mergeProject(fileName) -> None + +Merges this document with another project file. + +fileName : str + File name. - toggleTreeItem(obj, mod=0, subName) -> None\n -Change TreeItem of a document object.\n + toggleTreeItem(obj, mod=0, subName) -> None + +Change TreeItem of a document object. + obj : App.DocumentObject -mod : int\n Item mode. +mod : int + Item mode. 0: Toggle, 1: Collapse, 2: Expand, 3: Expand path. -subName : str\n Subelement name. Optional. +subName : str + Subelement name. Optional. - scrollToTreeItem(obj) -> None\n -Scroll the tree view to the item of a view object.\n + scrollToTreeItem(obj) -> None + +Scroll the tree view to the item of a view object. + obj : Gui.ViewProviderDocumentObject - toggleInSceneGraph(obj) -> None\n -Add or remove view object from scene graph of all views depending\non its canAddToSceneGraph().\n + toggleInSceneGraph(obj) -> None + +Add or remove view object from scene graph of all views depending +on its canAddToSceneGraph(). + obj : Gui.ViewProvider diff --git a/src/Gui/DocumentPyImp.cpp b/src/Gui/DocumentPyImp.cpp index 0d105081ff..932852672e 100644 --- a/src/Gui/DocumentPyImp.cpp +++ b/src/Gui/DocumentPyImp.cpp @@ -269,8 +269,8 @@ PyObject* DocumentPy::mdiViewsOfType(PyObject *args) PY_TRY { std::list views = getDocumentPtr()->getMDIViewsOfType(type); Py::List list; - for (auto it = views.begin(); it != views.end(); ++it) - list.append(Py::asObject((*it)->getPyObject())); + for (auto it : views) + list.append(Py::asObject(it->getPyObject())); return Py::new_reference_to(list); } PY_CATCH; @@ -496,12 +496,12 @@ Py::Int DocumentPy::getEditMode() const Py::Boolean DocumentPy::getTransacting() const { - return Py::Boolean(getDocumentPtr()->isPerformingTransaction()); + return {getDocumentPtr()->isPerformingTransaction()}; } Py::Boolean DocumentPy::getModified() const { - return Py::Boolean(getDocumentPtr()->isModified()); + return {getDocumentPtr()->isModified()}; } PyObject *DocumentPy::getCustomAttributes(const char* attr) const diff --git a/src/Gui/DocumentRecovery.cpp b/src/Gui/DocumentRecovery.cpp index 2d64df6d05..6ebfd10358 100644 --- a/src/Gui/DocumentRecovery.cpp +++ b/src/Gui/DocumentRecovery.cpp @@ -200,9 +200,7 @@ DocumentRecovery::DocumentRecovery(const QList& dirs, QWidget* parent this->adjustSize(); } -DocumentRecovery::~DocumentRecovery() -{ -} +DocumentRecovery::~DocumentRecovery() = default; bool DocumentRecovery::foundDocuments() const { diff --git a/src/Gui/DownloadItem.ui b/src/Gui/DownloadItem.ui index 34c8388991..750065b136 100644 --- a/src/Gui/DownloadItem.ui +++ b/src/Gui/DownloadItem.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Gui/DownloadManager.cpp b/src/Gui/DownloadManager.cpp index 786eca7632..0472745447 100644 --- a/src/Gui/DownloadManager.cpp +++ b/src/Gui/DownloadManager.cpp @@ -114,13 +114,13 @@ QUrl DownloadManager::redirectUrl(const QUrl& url) const if (url.host() == QLatin1String("www.dropbox.com")) { QUrlQuery urlQuery(url); QList< QPair > query = urlQuery.queryItems(); - for (QList< QPair >::iterator it = query.begin(); it != query.end(); ++it) { - if (it->first == QLatin1String("dl")) { - if (it->second == QLatin1String("0\r\n")) { + for (const auto & it : query) { + if (it.first == QLatin1String("dl")) { + if (it.second == QLatin1String("0\r\n")) { urlQuery.removeQueryItem(QLatin1String("dl")); urlQuery.addQueryItem(QLatin1String("dl"), QLatin1String("1\r\n")); } - else if (it->second == QLatin1String("0")) { + else if (it.second == QLatin1String("0")) { urlQuery.removeQueryItem(QLatin1String("dl")); urlQuery.addQueryItem(QLatin1String("dl"), QLatin1String("1")); } @@ -310,11 +310,11 @@ DownloadModel::DownloadModel(DownloadManager *downloadManager, QObject *parent) QVariant DownloadModel::data(const QModelIndex &index, int role) const { if (index.row() < 0 || index.row() >= rowCount(index.parent())) - return QVariant(); + return {}; if (role == Qt::ToolTipRole) if (!m_downloadManager->m_downloads.at(index.row())->downloadedSuccessfully()) return m_downloadManager->m_downloads.at(index.row())->downloadInfoLabel->text(); - return QVariant(); + return {}; } int DownloadModel::rowCount(const QModelIndex &parent) const diff --git a/src/Gui/EditorView.cpp b/src/Gui/EditorView.cpp index 89db2b611a..3fc09cf801 100644 --- a/src/Gui/EditorView.cpp +++ b/src/Gui/EditorView.cpp @@ -598,9 +598,7 @@ PythonEditorView::PythonEditorView(PythonEditor* editor, QWidget* parent) editor, &PythonEditor::setFileName); } -PythonEditorView::~PythonEditorView() -{ -} +PythonEditorView::~PythonEditorView() = default; /** * Runs the action specified by \a pMsg. diff --git a/src/Gui/ExpressionBinding.cpp b/src/Gui/ExpressionBinding.cpp index 9f8665e9eb..2906ccec03 100644 --- a/src/Gui/ExpressionBinding.cpp +++ b/src/Gui/ExpressionBinding.cpp @@ -47,15 +47,9 @@ using namespace Gui; using namespace App; namespace sp = std::placeholders; -ExpressionBinding::ExpressionBinding() - : m_autoApply(false) -{ -} +ExpressionBinding::ExpressionBinding() = default; - -ExpressionBinding::~ExpressionBinding() -{ -} +ExpressionBinding::~ExpressionBinding() = default; bool ExpressionBinding::isBound() const { @@ -160,7 +154,7 @@ std::string ExpressionBinding::getExpressionString(bool no_throw) const else throw; } - return std::string(); + return {}; } std::string ExpressionBinding::getEscapedExpressionString() const @@ -280,12 +274,7 @@ void ExpressionBinding::objectDeleted(const App::DocumentObject& obj) // ---------------------------------------------------------------------------- -ExpressionWidget::ExpressionWidget() - : iconLabel(nullptr) - , iconHeight(-1) -{ - -} +ExpressionWidget::ExpressionWidget() = default; QPixmap ExpressionWidget::getIcon(const char* name, const QSize& size) const { diff --git a/src/Gui/ExpressionBinding.h b/src/Gui/ExpressionBinding.h index 65d1bc9eec..7183195f26 100644 --- a/src/Gui/ExpressionBinding.h +++ b/src/Gui/ExpressionBinding.h @@ -78,7 +78,7 @@ protected: void objectDeleted(const App::DocumentObject&); boost::signals2::scoped_connection expressionchanged; boost::signals2::scoped_connection objectdeleted; - bool m_autoApply; + bool m_autoApply{false}; }; class GuiExport ExpressionWidget : public ExpressionBinding @@ -91,9 +91,9 @@ protected: void makeLabel(QLineEdit* parent); protected: - ExpressionLabel* iconLabel; + ExpressionLabel* iconLabel{nullptr}; QPalette defaultPalette; - int iconHeight; + int iconHeight{-1}; }; } diff --git a/src/Gui/ExpressionBindingPy.cpp b/src/Gui/ExpressionBindingPy.cpp index 653d7bc75c..36938d469e 100644 --- a/src/Gui/ExpressionBindingPy.cpp +++ b/src/Gui/ExpressionBindingPy.cpp @@ -32,25 +32,27 @@ using namespace Gui; -void ExpressionBindingPy::init_type() +ExpressionBindingPy::ExpressionBindingPy(Py::PythonClassInstance* self, Py::Tuple& args, Py::Dict& kwds) + : Py::PythonClass::PythonClass(self, args, kwds) { - behaviors().name("ExpressionBinding"); - behaviors().doc("Python interface class for ExpressionBinding"); - // you must have overwritten the virtual functions - behaviors().supportRepr(); - behaviors().supportGetattr(); - behaviors().supportSetattr(); - behaviors().set_tp_new(PyMake); - behaviors().readyType(); + PyObject* pyObj; + if (!PyArg_ParseTuple(args.ptr(), "O", &pyObj)) { + throw Py::Exception(); + } - add_varargs_method("bind", &ExpressionBindingPy::bind, "Bind with an expression"); - add_varargs_method("isBound", &ExpressionBindingPy::isBound, "Check if already bound with an expression"); - add_varargs_method("apply", &ExpressionBindingPy::apply, "apply"); - add_varargs_method("hasExpression", &ExpressionBindingPy::hasExpression, "hasExpression"); - add_varargs_method("autoApply", &ExpressionBindingPy::autoApply, "autoApply"); - add_varargs_method("setAutoApply", &ExpressionBindingPy::setAutoApply, "setAutoApply"); + PythonWrapper wrap; + wrap.loadWidgetsModule(); + + QWidget* obj = dynamic_cast(wrap.toQObject(Py::Object(pyObj))); + expr = asBinding(obj); + + if (!expr) { + throw Py::Exception(PyExc_TypeError, "Wrong type"); + } } +ExpressionBindingPy::~ExpressionBindingPy() = default; + ExpressionBinding* ExpressionBindingPy::asBinding(QWidget* obj) { ExpressionBinding* expr = nullptr; @@ -93,35 +95,6 @@ ExpressionBinding* ExpressionBindingPy::asBinding(QWidget* obj) return expr; } -PyObject *ExpressionBindingPy::PyMake(struct _typeobject *, PyObject * args, PyObject *) -{ - PyObject* pyObj; - if (!PyArg_ParseTuple(args, "O", &pyObj)) - return nullptr; - - PythonWrapper wrap; - wrap.loadWidgetsModule(); - - QWidget* obj = dynamic_cast(wrap.toQObject(Py::Object(pyObj))); - ExpressionBinding* expr = asBinding(obj); - - if (!expr) { - PyErr_SetString(PyExc_TypeError, "Wrong type"); - return nullptr; - } - - return new ExpressionBindingPy(expr); -} - -ExpressionBindingPy::ExpressionBindingPy(ExpressionBinding* expr) - : expr(expr) -{ -} - -ExpressionBindingPy::~ExpressionBindingPy() -{ -} - Py::Object ExpressionBindingPy::repr() { std::stringstream s; @@ -133,8 +106,9 @@ Py::Object ExpressionBindingPy::bind(const Py::Tuple& args) { PyObject* py; const char* str; - if (!PyArg_ParseTuple(args.ptr(), "O!s", &App::DocumentObjectPy::Type, &py, &str)) + if (!PyArg_ParseTuple(args.ptr(), "O!s", &App::DocumentObjectPy::Type, &py, &str)) { throw Py::Exception(); + } try { App::DocumentObject* obj = static_cast(py)->getDocumentObjectPtr(); @@ -154,44 +128,65 @@ Py::Object ExpressionBindingPy::bind(const Py::Tuple& args) throw Py::RuntimeError("Cannot bind to object"); } } +PYCXX_VARARGS_METHOD_DECL(ExpressionBindingPy, bind) -Py::Object ExpressionBindingPy::isBound(const Py::Tuple& args) +Py::Object ExpressionBindingPy::isBound() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); return Py::Boolean(expr->isBound()); } +PYCXX_NOARGS_METHOD_DECL(ExpressionBindingPy, isBound) Py::Object ExpressionBindingPy::apply(const Py::Tuple& args) { const char* str; - if (!PyArg_ParseTuple(args.ptr(), "s", &str)) + if (!PyArg_ParseTuple(args.ptr(), "s", &str)) { throw Py::Exception(); + } return Py::Boolean(expr->apply(str)); } +PYCXX_VARARGS_METHOD_DECL(ExpressionBindingPy, apply) -Py::Object ExpressionBindingPy::hasExpression(const Py::Tuple& args) +Py::Object ExpressionBindingPy::hasExpression() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); return Py::Boolean(expr->hasExpression()); } +PYCXX_NOARGS_METHOD_DECL(ExpressionBindingPy, hasExpression) -Py::Object ExpressionBindingPy::autoApply(const Py::Tuple& args) +Py::Object ExpressionBindingPy::autoApply() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); return Py::Boolean(expr->autoApply()); } +PYCXX_NOARGS_METHOD_DECL(ExpressionBindingPy, autoApply) Py::Object ExpressionBindingPy::setAutoApply(const Py::Tuple& args) { PyObject* b; - if (!PyArg_ParseTuple(args.ptr(), "O!", &PyBool_Type, &b)) + if (!PyArg_ParseTuple(args.ptr(), "O!", &PyBool_Type, &b)) { throw Py::Exception(); + } bool value = Base::asBoolean(b); expr->setAutoApply(value); return Py::None(); } +PYCXX_VARARGS_METHOD_DECL(ExpressionBindingPy, setAutoApply) + +void ExpressionBindingPy::init_type() +{ + behaviors().name("Gui.ExpressionBinding"); + behaviors().doc("Python interface class for ExpressionBinding"); + // you must have overwritten the virtual functions + behaviors().supportRepr(); + behaviors().supportGetattro(); + behaviors().supportSetattro(); + + PYCXX_ADD_VARARGS_METHOD(bind, bind, "Bind with an expression"); + PYCXX_ADD_NOARGS_METHOD(isBound, isBound, "Check if already bound with an expression"); + PYCXX_ADD_VARARGS_METHOD(apply, apply, "apply"); + PYCXX_ADD_NOARGS_METHOD(hasExpression, hasExpression, "hasExpression"); + PYCXX_ADD_NOARGS_METHOD(autoApply, autoApply, "autoApply"); + PYCXX_ADD_VARARGS_METHOD(setAutoApply, setAutoApply, "setAutoApply"); + + behaviors().readyType(); +} diff --git a/src/Gui/ExpressionBindingPy.h b/src/Gui/ExpressionBindingPy.h index e25d4e4196..ab19e44f3f 100644 --- a/src/Gui/ExpressionBindingPy.h +++ b/src/Gui/ExpressionBindingPy.h @@ -29,25 +29,24 @@ class QWidget; namespace Gui { class ExpressionBinding; -class ExpressionBindingPy : public Py::PythonExtension +class ExpressionBindingPy : public Py::PythonClass { public: static void init_type(); // announce properties and methods - explicit ExpressionBindingPy(ExpressionBinding*); + ExpressionBindingPy(Py::PythonClassInstance* self, Py::Tuple& args, Py::Dict& kwds); ~ExpressionBindingPy() override; Py::Object repr() override; Py::Object bind(const Py::Tuple&); - Py::Object isBound(const Py::Tuple&); + Py::Object isBound(); Py::Object apply(const Py::Tuple&); - Py::Object hasExpression(const Py::Tuple&); - Py::Object autoApply(const Py::Tuple&); + Py::Object hasExpression(); + Py::Object autoApply(); Py::Object setAutoApply(const Py::Tuple&); private: - static PyObject *PyMake(struct _typeobject *, PyObject *, PyObject *); static ExpressionBinding* asBinding(QWidget*); private: diff --git a/src/Gui/ExpressionCompleter.cpp b/src/Gui/ExpressionCompleter.cpp index 6bd88839fb..7c79c610d8 100644 --- a/src/Gui/ExpressionCompleter.cpp +++ b/src/Gui/ExpressionCompleter.cpp @@ -250,7 +250,7 @@ public: QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override { if (role != Qt::EditRole && role != Qt::DisplayRole && role != Qt::UserRole) - return QVariant(); + return {}; QVariant variant; Info info = getInfo(index); _data(info, index.row(), &variant, nullptr, role == Qt::UserRole); @@ -491,7 +491,7 @@ public: QModelIndex parent(const QModelIndex & index) const override { if (!index.isValid()) - return QModelIndex(); + return {}; Info parentInfo = getInfo(index); Info grandParentInfo = parentInfo; @@ -524,7 +524,7 @@ public: } - return QModelIndex(); + return {}; } // returns true if successful, false if 'element' identifies a Leaf @@ -597,13 +597,13 @@ public: QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const override { if (row < 0) - return QModelIndex(); + return {}; Info myParentInfoEncoded = Info::root; // encode the parent's QModelIndex into an 'Info' structure bool parentCanHaveChildren = modelIndexToParentInfo(parent, myParentInfoEncoded); if (!parentCanHaveChildren) { - return QModelIndex(); + return {}; } return createIndex(row, column, infoId(myParentInfoEncoded)); } @@ -695,7 +695,7 @@ QString ExpressionCompleter::pathFromIndex(const QModelIndex& index) const { auto m = model(); if (!m || !index.isValid()) - return QString(); + return {}; QString res; auto parent = index; diff --git a/src/Gui/FileDialog.cpp b/src/Gui/FileDialog.cpp index 4485d50ff4..d340197489 100644 --- a/src/Gui/FileDialog.cpp +++ b/src/Gui/FileDialog.cpp @@ -80,9 +80,7 @@ FileDialog::FileDialog(QWidget * parent) connect(this, &QFileDialog::filterSelected, this, &FileDialog::onSelectedFilter); } -FileDialog::~FileDialog() -{ -} +FileDialog::~FileDialog() = default; void FileDialog::onSelectedFilter(const QString& /*filter*/) { @@ -245,7 +243,7 @@ QString FileDialog::getSaveFileName (QWidget * parent, const QString & caption, setWorkingDirectory(file); return file; } else { - return QString(); + return {}; } } @@ -314,7 +312,7 @@ QString FileDialog::getOpenFileName(QWidget * parent, const QString & caption, c setWorkingDirectory(file); return file; } else { - return QString(); + return {}; } } @@ -455,9 +453,7 @@ FileOptionsDialog::FileOptionsDialog( QWidget* parent, Qt::WindowFlags fl ) connect(extensionButton, &QPushButton::clicked, this, &FileOptionsDialog::toggleExtension); } -FileOptionsDialog::~FileOptionsDialog() -{ -} +FileOptionsDialog::~FileOptionsDialog() = default; void FileOptionsDialog::accept() { @@ -584,13 +580,9 @@ QWidget* FileOptionsDialog::getOptionsWidget() const /** * Constructs an empty file icon provider called \a name, with the parent \a parent. */ -FileIconProvider::FileIconProvider() -{ -} +FileIconProvider::FileIconProvider() = default; -FileIconProvider::~FileIconProvider() -{ -} +FileIconProvider::~FileIconProvider() = default; QIcon FileIconProvider::icon(IconType type) const { @@ -691,9 +683,7 @@ FileChooser::FileChooser ( QWidget * parent ) setFocusProxy(lineEdit); } -FileChooser::~FileChooser() -{ -} +FileChooser::~FileChooser() = default; void FileChooser::resizeEvent(QResizeEvent* e) { @@ -916,9 +906,7 @@ SelectModule::SelectModule (const QString& type, const SelectModule::Dict& types #endif } -SelectModule::~SelectModule() -{ -} +SelectModule::~SelectModule() = default; void SelectModule::accept() { diff --git a/src/Gui/Flag.cpp b/src/Gui/Flag.cpp index d5cae36f34..5d1fcde8fe 100644 --- a/src/Gui/Flag.cpp +++ b/src/Gui/Flag.cpp @@ -49,9 +49,7 @@ Flag::Flag(QWidget* parent) setAutoFillBackground(true); } -Flag::~Flag() -{ -} +Flag::~Flag() = default; void Flag::initializeGL() { @@ -183,7 +181,7 @@ QSize Flag::sizeHint() const QRect r = metric.boundingRect(text); w = std::max(w, r.width()+20); h = std::max(h, r.height()); - return QSize(w, h); + return {w, h}; } // ------------------------------------------------------------------------ @@ -254,8 +252,7 @@ void FlagLayout::setGeometry(const QRect &rect) QLayout::setGeometry(rect); // left side - for (int i = 0; i < list.size(); ++i) { - ItemWrapper *wrapper = list.at(i); + for (ItemWrapper *wrapper : list) { QLayoutItem *item = wrapper->item; Position position = wrapper->position; @@ -275,8 +272,7 @@ void FlagLayout::setGeometry(const QRect &rect) // right side topHeight = 0; bottomHeight = 0; - for (int i = 0; i < list.size(); ++i) { - ItemWrapper *wrapper = list.at(i); + for (ItemWrapper *wrapper : list) { QLayoutItem *item = wrapper->item; Position position = wrapper->position; @@ -318,8 +314,7 @@ QSize FlagLayout::calculateSize(SizeType sizeType) const { QSize totalSize; - for (int i = 0; i < list.size(); ++i) { - ItemWrapper *wrapper = list.at(i); + for (ItemWrapper *wrapper : list) { QSize itemSize; if (sizeType == MinimumSize) diff --git a/src/Gui/GLBuffer.h b/src/Gui/GLBuffer.h index c0d1c0812d..7955cfd884 100644 --- a/src/Gui/GLBuffer.h +++ b/src/Gui/GLBuffer.h @@ -24,6 +24,7 @@ #ifndef GUI_GLBUFFER_H #define GUI_GLBUFFER_H +#include #include #include diff --git a/src/Gui/GLPainter.cpp b/src/Gui/GLPainter.cpp index ad5a786999..ed83191973 100644 --- a/src/Gui/GLPainter.cpp +++ b/src/Gui/GLPainter.cpp @@ -34,11 +34,6 @@ using namespace Gui; TYPESYSTEM_SOURCE_ABSTRACT(Gui::GLGraphicsItem, Base::BaseClass) GLPainter::GLPainter() - : viewer(nullptr) - , width(0) - , height(0) - , logicOp(false) - , lineStipple(false) { depthrange[0] = 0; depthrange[1] = 0; @@ -234,9 +229,7 @@ Rubberband::Rubberband() : viewer(nullptr) rgb_a = 1.0f; } -Rubberband::~Rubberband() -{ -} +Rubberband::~Rubberband() = default; void Rubberband::setWorking(bool on) { @@ -340,9 +333,7 @@ Polyline::Polyline() : viewer(nullptr) rgb_a = 1.0f; } -Polyline::~Polyline() -{ -} +Polyline::~Polyline() = default; void Polyline::setWorking(bool on) { @@ -429,8 +420,8 @@ void Polyline::paintGL() if (closed && !stippled) { glBegin(GL_LINE_LOOP); - for (std::vector::iterator it = _cNodeVector.begin(); it != _cNodeVector.end(); ++it) { - glVertex2i(it->x(), it->y()); + for (const QPoint& it : _cNodeVector) { + glVertex2i(it.x(), it.y()); } glEnd(); @@ -439,10 +430,10 @@ void Polyline::paintGL() glBegin(GL_LINES); QPoint start = _cNodeVector.front(); - for (std::vector::iterator it = _cNodeVector.begin(); it != _cNodeVector.end(); ++it) { + for (const QPoint& it : _cNodeVector) { glVertex2i(start.x(), start.y()); - start = *it; - glVertex2i(it->x(), it->y()); + start = it; + glVertex2i(it.x(), it.y()); } glEnd(); diff --git a/src/Gui/GLPainter.h b/src/Gui/GLPainter.h index f6b3307eed..19e6bac343 100644 --- a/src/Gui/GLPainter.h +++ b/src/Gui/GLPainter.h @@ -75,12 +75,12 @@ public: //@} private: - QtGLWidget* viewer; + QtGLWidget* viewer{nullptr}; GLfloat depthrange[2]; GLdouble projectionmatrix[16]; - GLint width, height; - bool logicOp; - bool lineStipple; + GLint width{0}, height{0}; + bool logicOp{false}; + bool lineStipple{false}; }; class GuiExport GLGraphicsItem : public Base::BaseClass @@ -88,12 +88,8 @@ class GuiExport GLGraphicsItem : public Base::BaseClass TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: - GLGraphicsItem() - { - } - ~GLGraphicsItem() override - { - } + GLGraphicsItem() = default; + ~GLGraphicsItem() override = default; virtual void paintGL() = 0; }; diff --git a/src/Gui/GestureNavigationStyle.cpp b/src/Gui/GestureNavigationStyle.cpp index 70e87f80a2..b15296213a 100644 --- a/src/Gui/GestureNavigationStyle.cpp +++ b/src/Gui/GestureNavigationStyle.cpp @@ -93,8 +93,8 @@ namespace Gui { class NS::Event : public sc::event { public: - Event():inventor_event(nullptr), modifiers{}, flags(new Flags){} - virtual ~Event(){} + Event() : flags(new Flags){} + virtual ~Event() = default; void log() const { if (isPress(1)) @@ -197,8 +197,8 @@ public: }; public: - const SoEvent* inventor_event; - unsigned int modifiers; + const SoEvent* inventor_event{nullptr}; + unsigned int modifiers{0}; unsigned int mbstate() const {return modifiers & MASKBUTTONS;} unsigned int kbdstate() const {return modifiers & MASKMODIFIERS;} @@ -245,7 +245,7 @@ public: if (ns.logging) Base::Console().Log(" -> IdleState\n"); } - virtual ~IdleState(){} + virtual ~IdleState() = default; sc::result react(const NS::Event& ev){ auto &ns = this->outermost_context().ns; @@ -494,7 +494,7 @@ public: if (ns.logging) Base::Console().Log(" -> RotateState\n"); } - virtual ~RotateState(){} + virtual ~RotateState() = default; sc::result react(const NS::Event& ev){ if(ev.isMouseButtonEvent()){ @@ -539,7 +539,7 @@ public: this->ratio = ns.viewer->getSoRenderManager()->getViewportRegion().getViewportAspectRatio(); ns.pan(ns.viewer->getSoRenderManager()->getCamera());//set up panningplane } - virtual ~PanState(){} + virtual ~PanState() = default; sc::result react(const NS::Event& ev){ if(ev.isMouseButtonEvent()){ @@ -631,7 +631,7 @@ public: Base::Console().Log(" -> TiltState\n"); ns.pan(ns.viewer->getSoRenderManager()->getCamera());//set up panningplane } - virtual ~TiltState(){} + virtual ~TiltState() = default; sc::result react(const NS::Event& ev){ if(ev.isMouseButtonEvent()){ @@ -759,7 +759,7 @@ public: if (ns.logging) Base::Console().Log(" -> AwaitingReleaseState\n"); } - virtual ~AwaitingReleaseState(){} + virtual ~AwaitingReleaseState() = default; sc::result react(const NS::Event& ev){ auto &ns = this->outermost_context().ns; @@ -810,7 +810,7 @@ public: if (ns.logging) Base::Console().Log(" -> InteractState\n"); } - virtual ~InteractState(){} + virtual ~InteractState() = default; sc::result react(const NS::Event& ev){ if(ev.isMouseButtonEvent()){ @@ -842,10 +842,7 @@ GestureNavigationStyle::GestureNavigationStyle() } -GestureNavigationStyle::~GestureNavigationStyle() -{ - -} +GestureNavigationStyle::~GestureNavigationStyle() = default; const char* GestureNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/GraphvizView.cpp b/src/Gui/GraphvizView.cpp index c01abd26ff..2144365455 100644 --- a/src/Gui/GraphvizView.cpp +++ b/src/Gui/GraphvizView.cpp @@ -153,12 +153,11 @@ class GraphvizGraphicsView final : public QGraphicsView void mouseReleaseEvent(QMouseEvent *event) override; private: - bool isPanning; + bool isPanning{false}; QPoint panStart; }; -GraphvizGraphicsView::GraphvizGraphicsView(QGraphicsScene* scene, QWidget* parent) : QGraphicsView(scene, parent), - isPanning(false) +GraphvizGraphicsView::GraphvizGraphicsView(QGraphicsScene* scene, QWidget* parent) : QGraphicsView(scene, parent) { } @@ -415,7 +414,7 @@ QByteArray GraphvizView::exportGraph(const QString& format) dotProc.setEnvironment(QProcess::systemEnvironment()); dotProc.start(exe, args); if (!dotProc.waitForStarted()) { - return QByteArray(); + return {}; } ParameterGrp::handle depGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/DependencyGraph"); @@ -423,12 +422,12 @@ QByteArray GraphvizView::exportGraph(const QString& format) flatProc.setEnvironment(QProcess::systemEnvironment()); flatProc.start(unflatten, flatArgs); if (!flatProc.waitForStarted()) { - return QByteArray(); + return {}; } flatProc.write(graphCode.c_str(), graphCode.size()); flatProc.closeWriteChannel(); if (!flatProc.waitForFinished()) - return QByteArray(); + return {}; dotProc.write(flatProc.readAll()); } @@ -437,7 +436,7 @@ QByteArray GraphvizView::exportGraph(const QString& format) dotProc.closeWriteChannel(); if (!dotProc.waitForFinished()) - return QByteArray(); + return {}; return dotProc.readAll(); } @@ -455,16 +454,16 @@ bool GraphvizView::onMsg(const char* pMsg,const char**) //formatMap << qMakePair(tr("VRML format (*.vrml)"), QString::fromLatin1("vrml")); QStringList filter; - for (QList< QPair >::iterator it = formatMap.begin(); it != formatMap.end(); ++it) - filter << it->first; + for (const auto & it : formatMap) + filter << it.first; QString selectedFilter; QString fn = Gui::FileDialog::getSaveFileName(this, tr("Export graph"), QString(), filter.join(QLatin1String(";;")), &selectedFilter); if (!fn.isEmpty()) { QString format; - for (QList< QPair >::iterator it = formatMap.begin(); it != formatMap.end(); ++it) { - if (selectedFilter == it->first) { - format = it->second; + for (const auto & it : formatMap) { + if (selectedFilter == it.first) { + format = it.second; break; } } diff --git a/src/Gui/GuiApplication.cpp b/src/Gui/GuiApplication.cpp index a0f27370a8..a334766af4 100644 --- a/src/Gui/GuiApplication.cpp +++ b/src/Gui/GuiApplication.cpp @@ -66,9 +66,7 @@ GUIApplication::GUIApplication(int & argc, char ** argv) #endif } -GUIApplication::~GUIApplication() -{ -} +GUIApplication::~GUIApplication() = default; bool GUIApplication::notify (QObject * receiver, QEvent * event) { @@ -169,8 +167,6 @@ public: explicit Private(GUISingleApplication *q_ptr) : q_ptr(q_ptr) , timer(new QTimer(q_ptr)) - , server(nullptr) - , running(false) { timer->setSingleShot(true); std::string exeName = App::Application::getExecutableName(); @@ -220,10 +216,10 @@ public: GUISingleApplication *q_ptr; QTimer *timer; - QLocalServer *server; + QLocalServer *server{nullptr}; QString serverName; QList messages; - bool running; + bool running{false}; }; GUISingleApplication::GUISingleApplication(int & argc, char ** argv) @@ -234,9 +230,7 @@ GUISingleApplication::GUISingleApplication(int & argc, char ** argv) connect(d_ptr->timer, &QTimer::timeout, this, &GUISingleApplication::processMessages); } -GUISingleApplication::~GUISingleApplication() -{ -} +GUISingleApplication::~GUISingleApplication() = default; bool GUISingleApplication::isRunning() const { diff --git a/src/Gui/GuiApplicationNativeEventAware.cpp b/src/Gui/GuiApplicationNativeEventAware.cpp index 981307e17f..3c2bdec531 100644 --- a/src/Gui/GuiApplicationNativeEventAware.cpp +++ b/src/Gui/GuiApplicationNativeEventAware.cpp @@ -54,9 +54,7 @@ Gui::GUIApplicationNativeEventAware::GUIApplicationNativeEventAware(int &argc, c #endif } -Gui::GUIApplicationNativeEventAware::~GUIApplicationNativeEventAware() -{ -} +Gui::GUIApplicationNativeEventAware::~GUIApplicationNativeEventAware() = default; void Gui::GUIApplicationNativeEventAware::initSpaceball(QMainWindow *window) { diff --git a/src/Gui/GuiConsole.cpp b/src/Gui/GuiConsole.cpp index 9516980443..d9f073d3d3 100644 --- a/src/Gui/GuiConsole.cpp +++ b/src/Gui/GuiConsole.cpp @@ -119,8 +119,8 @@ void GUIConsole::SendLog(const std::string& notifiername, const std::string& msg #else /* FC_OS_LINUX */ // safely ignore GUIConsole::s_nMaxLines and GUIConsole::s_nRefCount -GUIConsole::GUIConsole () {} -GUIConsole::~GUIConsole () {} +GUIConsole::GUIConsole () = default; +GUIConsole::~GUIConsole () = default; void GUIConsole::SendLog(const std::string& notifiername, const std::string& msg, Base::LogStyle level, Base::IntendedRecipient recipient, Base::ContentType content) { diff --git a/src/Gui/Icons/clear-selection.svg b/src/Gui/Icons/clear-selection.svg new file mode 100644 index 0000000000..a5e628f28d --- /dev/null +++ b/src/Gui/Icons/clear-selection.svg @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/src/Gui/Icons/edge-selection.svg b/src/Gui/Icons/edge-selection.svg new file mode 100644 index 0000000000..f72354f54b --- /dev/null +++ b/src/Gui/Icons/edge-selection.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Gui/Icons/face-selection.svg b/src/Gui/Icons/face-selection.svg new file mode 100644 index 0000000000..ecefd15f5a --- /dev/null +++ b/src/Gui/Icons/face-selection.svg @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/src/Gui/Icons/resource.qrc b/src/Gui/Icons/resource.qrc index 98beb0cd6b..792194c0ce 100644 --- a/src/Gui/Icons/resource.qrc +++ b/src/Gui/Icons/resource.qrc @@ -91,6 +91,11 @@ sel-forward.svg sel-instance.svg sel-bbox.svg + vertex-selection.svg + edge-selection.svg + face-selection.svg + clear-selection.svg + selection-filter.svg help-browser.svg preferences-system.svg process-stop.svg diff --git a/src/Gui/Icons/selection-filter.svg b/src/Gui/Icons/selection-filter.svg new file mode 100644 index 0000000000..238c852f48 --- /dev/null +++ b/src/Gui/Icons/selection-filter.svg @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/src/Gui/Icons/vertex-selection.svg b/src/Gui/Icons/vertex-selection.svg new file mode 100644 index 0000000000..319fc1f328 --- /dev/null +++ b/src/Gui/Icons/vertex-selection.svg @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/src/Gui/InputField.cpp b/src/Gui/InputField.cpp index 97646d82e4..ae2641cb45 100644 --- a/src/Gui/InputField.cpp +++ b/src/Gui/InputField.cpp @@ -103,9 +103,7 @@ InputField::InputField(QWidget * parent) connect(this, &QLineEdit::textChanged, this, &InputField::newInput); } -InputField::~InputField() -{ -} +InputField::~InputField() = default; void InputField::bind(const App::ObjectIdentifier &_path) { @@ -416,7 +414,7 @@ QByteArray InputField::paramGrpPath() const { if(_handle.isValid()) return sGroupString.c_str(); - return QByteArray(); + return {}; } /// sets the field with a quantity @@ -567,7 +565,7 @@ void InputField::setPrecision(const int precision) QString InputField::getFormat() const { - return QString(QChar::fromLatin1(actQuantity.getFormat().toFormat())); + return {QChar::fromLatin1(actQuantity.getFormat().toFormat())}; } void InputField::setFormat(const QString& format) @@ -765,9 +763,7 @@ InputValidator::InputValidator(InputField* parent) : QValidator(parent), dptr(pa { } -InputValidator::~InputValidator() -{ -} +InputValidator::~InputValidator() = default; void InputValidator::fixup(QString& input) const { diff --git a/src/Gui/InputVector.cpp b/src/Gui/InputVector.cpp index 0e8b1a767c..9220a23df2 100644 --- a/src/Gui/InputVector.cpp +++ b/src/Gui/InputVector.cpp @@ -79,13 +79,11 @@ LocationWidget::LocationWidget (QWidget * parent) retranslateUi(); } -LocationWidget::~LocationWidget() -{ -} +LocationWidget::~LocationWidget() = default; QSize LocationWidget::sizeHint() const { - return QSize(150,100); + return {150,100}; } void LocationWidget::changeEvent(QEvent* e) @@ -227,9 +225,7 @@ LocationDialog::LocationDialog(QWidget* parent, Qt::WindowFlags fl) { } -LocationDialog::~LocationDialog() -{ -} +LocationDialog::~LocationDialog() = default; Base::Vector3d LocationDialog::getUserDirection(bool* ok) const { @@ -260,10 +256,7 @@ void LocationDialog::onDirectionActivated(int index) // ----------------------------------------------------------- -LocationDialogUiImp::~LocationDialogUiImp() -{ - // no need to delete child widgets, Qt does it all for us -} +LocationDialogUiImp::~LocationDialogUiImp() = default; Base::Vector3d LocationDialogUiImp::getDirection() const { diff --git a/src/Gui/InputVector.h b/src/Gui/InputVector.h index 444898d67b..89dc54c3fc 100644 --- a/src/Gui/InputVector.h +++ b/src/Gui/InputVector.h @@ -118,7 +118,7 @@ public: this->setupUi(this); this->retranslate(); } - ~LocationDialogUi() override{} + ~LocationDialogUi() override = default; void retranslate() { @@ -247,9 +247,7 @@ public: this->setupUi(dlg); this->retranslate(dlg); } - ~LocationUi() - { - } + ~LocationUi() = default; void retranslate(QDialog *dlg) { @@ -367,10 +365,7 @@ public: : LocationDialog(parent, fl), ui(this) { } - ~LocationDialogImp() override - { - // no need to delete child widgets, Qt does it all for us - } + ~LocationDialogImp() override = default; Base::Vector3d getDirection() const override { @@ -428,9 +423,7 @@ public: LocationImpUi(Ui* ui) : ui(ui) { } - ~LocationImpUi() override - { - } + ~LocationImpUi() override = default; boost::any get() override { diff --git a/src/Gui/Inventor/MarkerBitmaps.cpp b/src/Gui/Inventor/MarkerBitmaps.cpp index 3dfd0fe4e1..73baf47772 100644 --- a/src/Gui/Inventor/MarkerBitmaps.cpp +++ b/src/Gui/Inventor/MarkerBitmaps.cpp @@ -559,9 +559,9 @@ int MarkerBitmaps::getMarkerIndex(const std::string& name, int px) std::list MarkerBitmaps::getSupportedSizes(const std::string& name) { std::list sizes; - for (std::map::iterator it = markerIndex.begin(); it != markerIndex.end(); ++it) { - if (it->first.first == name) - sizes.push_back(it->first.second); + for (const auto & it : markerIndex) { + if (it.first.first == name) + sizes.push_back(it.first.second); } return sizes; } diff --git a/src/Gui/Inventor/SmSwitchboard.cpp b/src/Gui/Inventor/SmSwitchboard.cpp index 28df7e10a0..fee7674f14 100644 --- a/src/Gui/Inventor/SmSwitchboard.cpp +++ b/src/Gui/Inventor/SmSwitchboard.cpp @@ -113,9 +113,7 @@ SmSwitchboard::SmSwitchboard(int numchildren) /*! Destructor. */ -SmSwitchboard::~SmSwitchboard() // virtual, protected -{ -} +SmSwitchboard::~SmSwitchboard() = default;// virtual, protected // Documented in superclass. void diff --git a/src/Gui/Inventor/SoAutoZoomTranslation.h b/src/Gui/Inventor/SoAutoZoomTranslation.h index 1bd5c290de..34d033a2b4 100644 --- a/src/Gui/Inventor/SoAutoZoomTranslation.h +++ b/src/Gui/Inventor/SoAutoZoomTranslation.h @@ -42,7 +42,7 @@ public: SoSFFloat scaleFactor; protected: - ~SoAutoZoomTranslation() override {} + ~SoAutoZoomTranslation() override = default; void doAction(SoAction * action) override; void getPrimitiveCount(SoGetPrimitiveCountAction * action) override; void getMatrix(SoGetMatrixAction * action) override; diff --git a/src/Gui/Inventor/SoDrawingGrid.h b/src/Gui/Inventor/SoDrawingGrid.h index 8b625cea19..7a53d09d83 100644 --- a/src/Gui/Inventor/SoDrawingGrid.h +++ b/src/Gui/Inventor/SoDrawingGrid.h @@ -48,7 +48,7 @@ public: private: void renderGrid(SoGLRenderAction *action); // Force using the reference count mechanism. - ~SoDrawingGrid() override {} + ~SoDrawingGrid() override = default; }; } // namespace Inventor diff --git a/src/Gui/InventorNavigationStyle.cpp b/src/Gui/InventorNavigationStyle.cpp index 19b3e0c6e7..f4db29b1a2 100644 --- a/src/Gui/InventorNavigationStyle.cpp +++ b/src/Gui/InventorNavigationStyle.cpp @@ -40,13 +40,9 @@ using namespace Gui; TYPESYSTEM_SOURCE(Gui::InventorNavigationStyle, Gui::UserNavigationStyle) -InventorNavigationStyle::InventorNavigationStyle() -{ -} +InventorNavigationStyle::InventorNavigationStyle() = default; -InventorNavigationStyle::~InventorNavigationStyle() -{ -} +InventorNavigationStyle::~InventorNavigationStyle() = default; const char* InventorNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/Language/FreeCAD.ts b/src/Gui/Language/FreeCAD.ts index 75c673e899..92786d21bd 100644 --- a/src/Gui/Language/FreeCAD.ts +++ b/src/Gui/Language/FreeCAD.ts @@ -42,29 +42,29 @@ - + <empty> - - + + Angle - - + + Axis - + Position - + Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output - - + + Run test cases to verify console messages @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement - + Clear all visible measurements @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement - + Turn on or off the display of all measurements @@ -132,7 +132,7 @@ - + Paste expressions @@ -182,7 +182,7 @@ - + Align @@ -193,40 +193,40 @@ - - + + Transform - + Toggle array elements - + Link Transform - + Measure distance - + Toggle visibility - + Toggle selectability - + Edit image @@ -234,77 +234,77 @@ CommandGroup - + File - + Edit - + Help - + Link - + Tools - + View - + Window - + Standard - + Macros - + Macro - + Structure - + Standard-Test - + Standard-View - + TreeView - + Measure @@ -402,11 +402,6 @@ DownloadItem - - - Form - - Ico @@ -421,42 +416,42 @@ EditMode - + Default - + The object will be edited using the mode defined internally to be the most appropriate for the object type - + Transform - + The object will have its placement editable with the Std TransformManip command - + Cutting - + This edit mode is implemented as available but currently does not seem to be used by any object - + Color - + The object will have the color of its individual faces editable with the Part FaceColors command @@ -482,7 +477,7 @@ - + Press a keyboard shortcut @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: - + Selected: - + Add - + Remove - + Move up - + Move down @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object - + Fixed object @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button - + Press SHIFT and middle mouse button - + Press middle mouse button - + Scroll middle mouse button @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button - + Press middle mouse button - + Press middle+left or middle+right button - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK - + &Cancel @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen - + FreeCAD would not be possible without the contributions of - + Individuals Header for the list of individual people in the Credits list. - + Organizations Header for the list of companies/organizations in the Credits list. - - + + License - + Libraries - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: - + Collection @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory - + The cache directory %1 exceeds the size of %2. - + Do you want to clear it now? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings - + Orientation - + Q0 - + Q1 - + Q2 - + Q3 - + Current view @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands @@ -1112,12 +1107,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists - + A preference pack with that name already exists. Do you want to overwrite it? @@ -1351,48 +1346,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... - + Icon - + Command - + Shortcut - + Default - + Name - + Title - + All - - + + none @@ -1400,8 +1395,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars @@ -1490,40 +1485,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> - + %1 module not loaded - + New toolbar - - + + Toolbar name: - - + + Duplicated name - - + + The toolbar name '%1' is already used - + Rename toolbar @@ -1536,19 +1531,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize - + &Help - + &Close @@ -1557,13 +1552,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion - + No Spaceball Present @@ -1571,27 +1566,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons - + No Spaceball Present - + Buttons - + Reset - + Print Reference @@ -1676,540 +1671,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default - + Aluminium - + Brass - + Bronze - + Copper - + Chrome - + Emerald - + Gold - + Jade - + Metalized - + Neon GNC - + Neon PHC - + Obsidian - + Pewter - + Plaster - + Plastic - + Ruby - + Satin - + Shiny plastic - + Silver - + Steel - + Stone Gui::Dialog::DlgEditorSettings - - - Editor - - - - - Options - - - - - Code lines will be numbered - - - - - Enable line numbers - - - - - The cursor shape will be a block - - - - - Enable block cursor - - - - - Enable folding - - - - - Indentation - - - - - Tab size: - - - - - Tabulator raster (how many spaces) - - - - - Indent size: - - - - - How many spaces will be inserted when pressing <Tab> - - - - - Pressing <Tab> will insert a tabulator with defined tab size - - - - - Keep tabs - - - - - Pressing <Tab> will insert amount of defined indent size - - - - - Insert spaces - - - - - Display items - - - - - Color and font settings will be applied to selected type - - - - - Family: - - - - - Font family to be used for selected code type - - - - - Size: - - - - - Font size to be used for selected code type - - - - - Color: - - - - - Preview: - - - - Gui::Dialog::DlgGeneral - - - General - - - - - Language of the application's user interface - - - - - Number format: - - - - - Operating system - - - - - Selected language - - - - - C/POSIX - - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - - Preference packs - - - - - Name - - - - - Type - - - - - Load - - - - - Import config... - - - - - Save new... - - - - - Manage... - - - - - Revert... - - - - - How many files should be listed in recent files list - - - - - Enable tiled background - - - - - The text cursor will be blinking - - - - - Enable cursor blinking - - - - - Style sheet: - - - - - Language and number format - - - - - Language: - - - - - Unit system: - - - - - Unit system that should be used for all parts of the application - - - - - Number of decimals: - - - - - Number of decimals that should be shown for numbers and dimensions - - - - - Minimum fractional inch: - - - - - Minimum fractional inch to be displayed - - - - - Substitute decimal separator - - - - - Application - - - - - Style sheet how user interface will look like - - - - - Size of toolbar icons: - - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - - - - - Tree view mode: - - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - - - - - Size of recent file list: - - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - - - - - Enable splash screen at start up - - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - - - - - Small (%1px) - - - - - Medium (%1px) - - - - - Large (%1px) - - - - - Extra large (%1px) - - - - - Custom (%1px) - - - - - Combo View - - - - - TreeView and PropertyView - - - - - Both - - - - - No style sheet - - - - - Preference Pack Name - - - - - Tags - - - - - Apply - - - - - Apply the %1 preference pack - - - - - Choose a FreeCAD config file to import - - - - - File exists - - - - - A preference pack with that name already exists. Overwrite? - - - Gui::Dialog::DlgInputDialog @@ -2225,8 +1803,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector @@ -2318,70 +1896,70 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros - + Read-only - + Macro file - + Enter a file name, please: - - - + + + Existing file - + '%1'. This file already exists. - + Cannot create file - + Creation of file '%1' failed. - + Delete macro - + Do you really want to delete the macro '%1'? - + Do not show again - + Guided Walkthrough - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2389,76 +1967,76 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close - + Walkthrough, dialog 1 of 1 - + Walkthrough, dialog 2 of 2 - + Walkthrough instructions: Click right arrow button (->), then Close. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. - + Renaming Macro File - - + + Enter new name: - - + + '%1' already exists. - + Rename Failed - + Failed to rename to '%1'. Perhaps a file permission error? - + Duplicate Macro - + Duplicate Failed - + Failed to duplicate to '%1'. Perhaps a file permission error? @@ -2500,39 +2078,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder - + Specify first a place to save. - + The macro directory doesn't exist. Please, choose another one. - + Existing macro - + The macro '%1' already exists. Do you want to overwrite? - + You have no write permission for the directory. Please, choose another one. - + Choose macro directory @@ -2605,12 +2183,12 @@ Perhaps a file permission error? - + Access denied - + Access denied to '%1' Specify another directory, please. @@ -3009,36 +2587,36 @@ Specify another directory, please. - - + + Empty source - - + + No source is defined. - - + + Empty destination - - + + No destination is defined. - + Failed to extract project - + Failed to create project @@ -3088,182 +2666,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - - - - - Output - - - - - Normal messages will be recorded - - - - - Record normal messages - - - - - Log messages will be recorded - - - - - Record log messages - - - - - Warnings will be recorded - - - - - Record warnings - - - - - Error messages will be recorded - - - - - Record error messages - - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - - - - - Show report view on error - - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - - - - - Show report view on warning - - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - - - - - Show report view on normal message - - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - - - - - Show report view on log message - - - - - Include a timecode for each report - - - - - Include a timecode for each entry - - - - - Colors - - - - - Normal messages: - - - - - Font color for normal messages in Report view panel - - - - - Log messages: - - - - - Font color for log messages in Report view panel - - - - - Warnings: - - - - - Font color for warning messages in Report view panel - - - - - Errors: - - - - - Font color for error messages in Report view panel - - - - - Python interpreter - - - - - Internal Python output will be redirected -from Python console to Report view panel - - - - - Redirect internal Python output to report view - - - - - Internal Python error messages will be redirected -from Python console to Report view panel - - - - - Redirect internal Python errors to report view - - @@ -3290,7 +2692,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file @@ -3333,7 +2735,7 @@ from Python console to Report view panel - + Select a file @@ -3341,88 +2743,88 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View - + General - + Main coordinate system will always be shown in lower right corner within opened files - + Show coordinate system in the corner - + Relative size : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport - + Axis cross will be shown by default at file opening or creation - + Show axis cross by default - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files - + Show counter of frames per second - + Rendering - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. - + Use software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) - + Render cache - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3436,7 +2838,7 @@ report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3447,140 +2849,140 @@ but slower response to any scene changes. - + Auto - + Distributed - + Centralized - + Anti-Aliasing - + What kind of multisample anti-aliasing is used - + None - + Line Smoothing - + MSAA 2x - + MSAA 4x - + MSAA 8x - + Transparent objects: - + Render types of transparent objects - + One pass - + Backface pass - + Marker size: - - Size of vertices in the Sketcher workbench + + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. - + Backlight is enabled with the defined color - - + + Backlight color - + Intensity - + Intensity of the backlight - + Camera type - + Objects will appear in a perspective projection - + Perspective renderin&g - + Objects will be projected in orthographic projection - + Or&thographic rendering @@ -3592,42 +2994,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px - + 7px - + 9px - + 11px - + 13px - + 15px - + Anti-aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. @@ -3635,77 +3037,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache - + Cache directory - + Location: - + Check periodically at program start: - + Always - + Daily - + Weekly - + Monthly - + Yearly - + Never - + Cache size limit: - + Check now... - + Notify the user if the cache size exceeds the specified limit - + Unknown - + Current cache size: %1 @@ -3863,12 +3265,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter - + The maximum value must be higher than the minimum value. @@ -3876,177 +3278,177 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document - + General - + The application will create a new document when started - + Create new document at start up - + Document save compression level (0 = none, 9 = highest, 3 = default) - + Compression level for FCStd files - + All changes in documents are stored so that they can be undone/redone - + Using Undo/Redo on documents - + Maximum Undo/Redo steps - + How many Undo/Redo steps should be recorded - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. - + Allow aborting recomputation - + Storage - + Saving transactions (Auto-save) - + Discard saved transaction after saving document - + If there is a recovery file available the application will automatically run a file recovery when it is started. - + Run AutoRecovery at startup - + How often a recovery file is written - + Save AutoRecovery information every - + A thumbnail will be stored when document is saved - + Save thumbnail into project file when saving document - + Size - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 - + The program logo will be added to the thumbnail - + Add the program logo to the generated thumbnail - + How many backup files will be kept when saving document - + Maximum number of backup files to keep when resaving document - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format - + Use date and FCBak extension - + Date format - + Document objects - + Allow objects to have same label - + Allow duplicate object labels in one document - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4055,54 +3457,54 @@ icon in the tree view to fully reload it. - + Disable partial loading of external linked objects - + Authoring and License - + Author name - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file - + Set on save - + Company - + Default company name to use for new files - + Default license - + Default license for new documents @@ -4172,12 +3574,12 @@ You can also use the form: John Doe <john@doe.com> - + License URL - + URL describing more about the license @@ -4185,104 +3587,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. - + Default - + Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - - - - - Bookmark - - - - - Breakpoint - - - - - Keyword - - - - - Comment - - - - - Block comment - - - - - Number - - - - - String - - - - - Character - - - - - Class name - - - - - Define name - - - - - Operator - - - - - Python output - - - - - Python error - - - - - Current line highlight - - - - - Items - - - Gui::Dialog::DlgSettingsImage @@ -4463,122 +3782,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro - + General macro settings - + Variables defined by macros are created as local variables - + Run macros in local environment - + Macro recording settings - + Macro path - + The directory in which the application will search for macros - + Gui commands - + Recorded macros will also contain user interface commands - + Record GUI commands - + Recorded macros will also contain user interface commands as comments - + Record as comment - + Logging Commands - + Commands executed by macro scripts are shown in Python console - + Show script commands in python console - + Log all commands issued by menus to file: - + FullScript.FCScript - + Recent macros menu - + Size of recent macro list - + How many macros should be listed in recent macros list - + Keyboard shortcut count - + How many recent macros should have shortcuts - + Keyboard Modifiers - + Keyboard modifiers, default = Ctrl+Shift+ @@ -4586,129 +3905,129 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation - + Navigation cube - + Steps by turn - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) - + Corner - + Corner where navigation cube is shown - + Top left - + Top right - + Bottom left - + Bottom right - + Rotates to nearest possible state when clicking a cube face - + Rotate to nearest - + Font name: - + Font name of the navigation cube - + Default - + Cube size - + Size of the navigation cube - + Color - + Base color for all elements - + 3D Navigation - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. - + Mouse... - + Navigation settings set - + Orbit style - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4716,171 +4035,181 @@ Free Turntable: the part will be rotated around the z-axis. - + Turntable - + Trackball - + Free Turntable - + Rotation mode - + Rotations in 3D will use current cursor position as center for rotation - + Window center - + Drag at cursor - + Object center - + Default camera orientation - + Default camera orientation when creating a new document or selecting the home view - + Camera zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. - + mm - + Enable animated rotations - + Enable animation - + Zoom operations will be performed at position of mouse pointer - + Zoom at cursor - + Zoom step - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. - + Direction of zoom operations will be inverted - + Invert zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. - + Disable touchscreen tilt gesture - + + Show the rotation center when dragging. + + + + + Enable rotation center indication + + + + Isometric - + Dimetric - + Trimetric - + Top - + Front - + Left - + Right - + Rear - + Bottom - + Custom @@ -4888,43 +4217,43 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console - + Settings - + Words will be wrapped when they exceed available horizontal space in Python console - + Enable word wrap - + The cursor shape will be a block - + Enable block cursor - + Saves Python history across sessions - + Save history @@ -4932,44 +4261,64 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection - + + Enable preselection, highlighted with specified color + + + + + Enable preselection + + + + + Enable selection, highlighted with specified color + + + + + Enable selection + + + + Pick radius (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. - + Auto switch to the 3D view containing the selected item - + Auto expand tree item when the corresponding object is selected in 3D view - + Preselect the object in 3D view when mouse over the tree item - + Record selection in tree view in order to go back/forward using navigation button - + Add checkboxes for selection in document tree @@ -4977,147 +4326,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors - - Selection - - - - - Enable preselection and highlight by specified color - - - - - Enable preselection highlighting - - - - - Enable selection highlighting and use specified color - - - - - Enable selection highlighting - - - - + Background color for the model view - + Background color - - + + Background will have selected color - + Simple color - - + + Background will have selected color gradient - + Linear gradient - + Radial gradient - - + + Top: - - + + Middle: - + Switches the colors of the gradient - + Switch - + Color gradient will get selected color as middle color - + Middle color - - + + Bottom: - + Tree view - + Object being edited - + Background color for objects in tree view that are currently edited - + Active container - + Background color for active containers in tree view - + Central: - + Midway: - + End: @@ -5227,12 +4551,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: - + unit mismatch @@ -5240,7 +4564,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement @@ -5290,60 +4614,60 @@ The 'Status' column shows whether the document could be recovered. - + Unknown problem occurred - - + + Failed to recover - + Successfully recovered - + Finish - - + + Delete - - + + Cleanup - + Are you sure you want to delete the selected transient directories? - + When deleting the selected transient directory you won't be able to recover any files afterwards. - + Are you sure you want to delete all transient directories? - + When deleting all transient directories you won't be able to recover any files afterwards. - + Transient directories deleted. @@ -5467,7 +4791,7 @@ The 'Status' column shows whether the document could be recovered. - + Add icon folder @@ -5480,12 +4804,12 @@ The 'Status' column shows whether the document could be recovered. - + Remove folder - + Removing a folder only takes effect after an application restart. @@ -5555,79 +4879,79 @@ The 'Status' column shows whether the document could be recovered.Gui::Dialog::ParameterGroup - - + + Expand - + Add sub-group - - + + Remove group - + Rename group - + Export parameter - + Import parameter - + Collapse - + Do you really want to remove this parameter group? - + Existing sub-group - + The sub-group '%1' already exists. - + Export parameter to file - + Import parameter from file - + Import Error - + Reading from '%1' failed. @@ -5635,65 +4959,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value - + Remove key - + Rename key - + New - + New string item - + New float item - + New integer item - + New unsigned item - + New Boolean item - - - - - + + + + + Existing item - - - - - + + + + + The item '%1' already exists. @@ -5839,17 +5163,17 @@ The 'Status' column shows whether the document could be recovered. - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. - + Incorrect quantity - + There are input fields with incorrect input, please ensure valid placement values! @@ -5857,12 +5181,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button - + Command @@ -5926,17 +5250,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree - + Name - + Nodes @@ -5992,14 +5316,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel - - + + Transform @@ -6096,13 +5420,13 @@ originally selected prior to opening this dialog - + Model - + Tasks @@ -6110,7 +5434,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View @@ -6118,82 +5442,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options - + Display message types - - + + Normal messages - - + + Log messages - - + + Warnings - - + + Errors - - + + Critical messages - + Show Report view on - + Redirect Python output - + Redirect Python errors - + Go to end - + Clear - + Save As... - + Save Report Output - + Plain Text Files @@ -6202,13 +5526,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output - + Python console @@ -6246,72 +5570,72 @@ originally selected prior to opening this dialog - + Select only - + Selects only this object - + Deselect - + Deselects this object - + Zoom fit - + Selects and fits this object in the 3D window - + Go to selection - + Selects and locates this object in the tree view - + Mark to recompute - + Mark this object to be recomputed - + To python console - + Reveals this object and its subelements in the python console. - + Duplicate subshape - + Creates a standalone copy of this subshape in the document @@ -6324,7 +5648,7 @@ originally selected prior to opening this dialog - + Labels & Attributes @@ -6370,27 +5694,27 @@ Do you want to save your changes? - + untitled[*] - + - Editor - + %1 chars removed - + %1 chars added - + Formatted @@ -6414,13 +5738,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file - + Select a directory @@ -6428,13 +5752,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as - - + + Open @@ -6442,12 +5766,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended - + All files (*.*) @@ -6455,27 +5779,27 @@ Do you want to save your changes? Gui::Flag - + Top left - + Bottom left - + Top right - + Bottom right - + Remove @@ -6483,22 +5807,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. - + Drag screen with two fingers OR press right mouse button. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. @@ -6506,74 +5830,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found - + Graphviz couldn't be found on your system. - + Read more about it here. - + Do you want to specify its installation path if it's already installed? - + Graphviz installation path - + Graphviz failed - + Graphviz failed to create an image file - + PNG format - + Bitmap format - + GIF format - + JPG format - + SVG format - - + + PDF format - - + + Export graph @@ -6581,12 +5905,12 @@ Do you want to save your changes? Gui::InputField - + Edit - + Save value @@ -6594,22 +5918,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button - + Press middle mouse button - + Press left mouse button - + Scroll middle mouse button @@ -6617,7 +5941,7 @@ Do you want to save your changes? Gui::LabelEditor - + List @@ -6625,66 +5949,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X - - + + - - - - + + + + Y - - + + - - - - + + + + Z - - + + - - - - + + + + User defined... - + - - + + Wrong direction - + - - + + Direction must not be the null vector @@ -6692,22 +6016,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: - + Y: - + Z: - + Direction: @@ -6715,17 +6039,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros - + Macro file doesn't exist - + No such macro file: '%1' @@ -6733,63 +6057,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension - + Ready - + Help addon needed! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager - + Close All - - + + Toggles this toolbar - - + + Toggles this dockable window - - + + WARNING: This is a development version. + + + + + Please do not use in a production environment. + + + + + Unsaved document - + The exported object contains external link. Please save the documentat least once before exporting. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? @@ -6798,121 +6132,121 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment - + The alignment is already in progress. - + Alignment[*] - + Please, select at least one point in the left and the right view - + Please, select at least %1 points in the left and the right view - + Please pick points in the left and right view - + The alignment has finished - + The alignment has been canceled - - + + Too few points picked in the left view. At least %1 points are needed. - - + + Too few points picked in the right view. At least %1 points are needed. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. - + Try to align group of views - + The alignment failed. How do you want to proceed? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. - + Point_%1 - + Point picked at (%1,%2,%3) - + No point was found on model - + No point was picked - + &Align - + &Remove last point - + &Cancel - + &Synchronize views @@ -6920,22 +6254,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. - + Drag screen with two fingers OR press ALT + middle mouse button. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. @@ -6943,7 +6277,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys @@ -6959,22 +6293,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button - + Press CTRL and middle mouse button - + Press CTRL and right mouse button - + Press CTRL and left mouse button @@ -6982,22 +6316,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button - + Press right mouse button and move mouse - + Press left mouse button and move mouse - + Press middle mouse button or SHIFT and right mouse button @@ -7005,17 +6339,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit - + Save value - + Clear list @@ -7046,12 +6380,12 @@ How do you want to proceed? - + Aborting - + Do you really want to abort the operation? @@ -7059,7 +6393,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object @@ -7067,12 +6401,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error - + Object not found @@ -7143,13 +6477,13 @@ How do you want to proceed? Gui::PropertyView - + View - + Data @@ -7196,77 +6530,77 @@ Do you want to exit without saving your data? - + &Copy - + &Copy command - + &Copy history - + Save history as... - + Save history - + Saves Python history across %1 sessions - + &Paste - + Select All - + Clear console - + Insert file name... - + Word wrap - + Save History - + Macro Files - + Insert file name - + All Files @@ -7274,7 +6608,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment @@ -7287,17 +6621,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 - + File not found - + The file '%1' cannot be opened. @@ -7305,22 +6639,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 - + File not found - + The file '%1' cannot be opened. @@ -7328,22 +6662,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button - + Press middle mouse button - + Press SHIFT and middle mouse button - + Scroll middle mouse button @@ -7374,17 +6708,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module - + Open %1 as - + Select @@ -7449,13 +6783,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation - - + + Opens a browser to show the Python modules documentation @@ -7608,38 +6942,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated - + The text of the underlying object has changed. Discard changes and reload the text from the object? - + Yes, reload. - + Unsaved document - + Do you want to save your changes before closing? - + If you don't save, your changes will be lost. - - + + Edit text @@ -7647,22 +6981,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button - + Press middle mouse button - + Press right mouse button - + Scroll middle mouse button @@ -7670,22 +7004,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button - + Press SHIFT button - + Press ALT button - + Press CTRL and SHIFT buttons @@ -7911,7 +7245,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view @@ -7919,7 +7253,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search @@ -7927,183 +7261,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... - + Search for objects - + Activate document - + Activate document %1 - + Tree settings - + Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - + Group - + Labels & Attributes - + Description - + Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view - + Create group... - + Create a group - - + + Rename - + Rename object - + Finish editing - + Finish editing object - + Add dependent objects to selection - + Adds all dependent objects to the selection - + Close document - + Close the document - + Reload document - + Reload a partially loaded document - + Skip recomputes - + Enable or disable recomputations of document - + Allow partial recomputes - + Enable or disable recomputating editing object when 'skip recomputation' is enabled - + Mark to recompute - + Mark this object to be recomputed - + Recompute object - + Recompute the selected object - + (but must be executed) - + %1, Internal name: %2 @@ -8134,12 +7468,12 @@ Do you want to specify another directory? - + Opening file failed - + Can't open file '%1' for writing. @@ -8147,7 +7481,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench @@ -8155,37 +7489,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services - + Hide %1 - + Hide Others - + Show All - + Preferences... - + Quit %1 - + About %1 @@ -8205,11 +7539,6 @@ Do you want to specify another directory? Position - - - Form - - X: @@ -8304,14 +7633,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input - - + + Input in line %1 is not a number @@ -8319,37 +7648,37 @@ Do you want to specify another directory? QDockWidget - + Tree view - + Property view - + Selection view - + Combo View - + DAG View - + Report view - + Python console @@ -8362,31 +7691,32 @@ Do you want to specify another directory? QObject - - + + General - - + + + Display - + Workbenches - - - + + + Python @@ -8414,17 +7744,27 @@ Do you want to specify another directory? - + Workbench failure - + %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + + Invalid OpenGL Version + + + + Exception @@ -8470,8 +7810,8 @@ Do you want to specify another directory? - + Unsaved document @@ -8492,38 +7832,38 @@ Do you want to specify another directory? - + Copy selected - + Copy active document - + Copy all documents - + Paste - + Expression error - + Failed to parse some of the expressions. Please check the Report View for more details. - + Failed to paste expressions @@ -8557,268 +7897,268 @@ Be aware the point where you click matters. - - + + Save views... - - + + Load views... - - + + Freeze view - - + + Clear views - - - + + + Restore view &%1 - + Save frozen views - - + + Frozen views - - + + Restore views - + Importing the restored views would clear the already stored views. Do you want to continue? - + Restore frozen views - + Cannot open file '%1'. - + files - + Save image - + Choose an image file to open - + New sub-group - - - - - - + + + + + + Enter the name: - - + + New text item - - + + Enter your text: - - + + New integer item - - - - - - + + + + + + Enter your number: - - + + New unsigned item - - + + New float item - + New Boolean item - - + + Choose an item: - + New boolean item - + Rename group - + The group '%1' cannot be renamed. - + Existing group - + The group '%1' already exists. - - - - - + + + + + Change value - + Type - + Notifier - + Message - + Notifier: - + Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! - + Are you sure you want to continue? - + Please check report view for more... - - - Physical path: - - - - Document: + Physical path: + Document: + + + + + Path: - + Identical physical path - + Could not save document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8827,102 +8167,102 @@ Would you like to save the file with a different name? - - - + + + Saving aborted - + Save dependent files - + The file contains external dependencies. Do you want to save the dependent files, too? - - + + Saving document failed - + Save document under new filename... - - + + Save %1 Document - + Document - - + + Failed to save document - + Documents contains cyclic dependencies. Do you still want to save them? - + Save a copy of the document under new filename... - + %1 document (*.FCStd) - + Document not closable - + The document is not closable for the moment. - + Document not saved - + The document%1 could not be saved. Do you want to cancel closing it? - + Undo - + Redo - + There are grouped transactions in the following documents with other preceding transactions - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -8934,95 +8274,95 @@ Choose 'Abort' to abort - - + + Finish - - + + Clear - - - + + + Cancel - + Inner - + Outer - + Split - - + + No Browser - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. - + No Server - + Unable to start the server to port %1: %2. - + Unable to open your system browser. - + Options... - + Out of memory - + Not enough memory available to display the data. - - + + Cannot find file %1 - + Cannot find file %1 neither in %2 nor in %3 - + Navigation styles @@ -9032,8 +8372,8 @@ Please open a browser window and type in: http://localhost:%1. - - + + Transform @@ -9043,42 +8383,42 @@ Please open a browser window and type in: http://localhost:%1. - + Do you want to save your changes to document '%1' before closing? - + Do you want to save your changes to document before closing? - + If you don't save, your changes will be lost. - + Apply answer to all - + %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? - + Delete macro - + Not allowed to delete system-wide macros @@ -9088,27 +8428,27 @@ Please open a browser window and type in: http://localhost:%1. - + Delete group content? - + The %1 is not empty, delete its content as well? - + Translation: - + Rotation: - + Toggle active part @@ -9171,103 +8511,103 @@ Please open a browser window and type in: http://localhost:%1. - - + + Invalid name - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. - + The property '%1' already exists in '%2' - + Add property - + Failed to add property to '%1': %2 - - + + Drag & drop failed - + Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed - + Apply to all - + Apply the setting to all links. Or, uncheck this option to apply only to this link. - + Copy on change - + Enable - + Enable auto copy of linked object when its configuration is changed - + Tracking - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. - + Disable copy on change - + Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9275,28 +8615,28 @@ the current copy will be lost. - + Toggle array elements - + Change whether show each link array element as individual objects - + Transform at the origin of the placement - - + + Override colors... - + Edit %1 @@ -9319,12 +8659,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: - + Selection not allowed by filter @@ -9332,9 +8672,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection @@ -9342,13 +8682,13 @@ the current copy will be lost. StdBoxSelection - + Box selection - - + + Activate the box selection tool @@ -9426,13 +8766,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross - - + + Turns on or off the axis cross at the origin @@ -9538,13 +8878,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... - - + + View turntable @@ -9664,13 +9004,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style - - + + Change the draw style of the objects @@ -9734,13 +9074,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions - - + + Actions that apply to expressions @@ -9857,13 +9197,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display - - + + Freezes the current view position @@ -9884,13 +9224,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects - - + + Hide all objects in the document @@ -9898,13 +9238,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection - - + + Hide all selected objects @@ -10178,13 +9518,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance - - + + Activate the distance measurement tool @@ -10243,8 +9583,8 @@ the current copy will be lost. - - + + Unnamed @@ -10472,7 +9812,7 @@ the current copy will be lost. StdCmdRecentFiles - Recent files + Open Recent @@ -10611,13 +9951,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... - - + + Scene inspector @@ -10625,13 +9965,13 @@ the current copy will be lost. StdCmdSelBack - + &Back - - + + Go back to previous selection @@ -10639,13 +9979,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box - - + + Show selection bounding box @@ -10653,13 +9993,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward - - + + Repeat the backed selection @@ -10681,13 +10021,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects - - + + Select visible objects in the active document @@ -10709,13 +10049,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... - - + + Sets the display properties of the selected object @@ -10723,13 +10063,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects - - + + Show all objects in the document @@ -10737,13 +10077,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection - - + + Show all selected objects @@ -10779,13 +10119,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... - - + + Texture mapping @@ -10821,13 +10161,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane - - + + Toggles clipping plane for active view @@ -10835,13 +10175,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode - - + + Toggle between navigation and edit mode @@ -10849,13 +10189,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects - - + + Toggles visibility of all objects in the active document @@ -10863,13 +10203,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability - - + + Toggles the property of the objects to get selected in the 3D-View @@ -10877,13 +10217,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility - - + + Toggles visibility @@ -10933,13 +10273,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item - - + + Collapse currently selected tree items @@ -10947,13 +10287,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item - - + + Expand currently selected tree items @@ -10961,13 +10301,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances - - + + Select all instances of the current selected object @@ -10975,13 +10315,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions - - + + TreeView behavior options and actions @@ -11045,13 +10385,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom - - + + Set to bottom view @@ -11059,13 +10399,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view - - + + Creates a new view window for the active document @@ -11073,13 +10413,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric - - + + Set to dimetric view @@ -11087,13 +10427,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 - - + + Shows a 3D texture with manipulator @@ -11101,13 +10441,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 - - + + Shows spheres and drag-lights @@ -11115,13 +10455,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 - - + + Shows a animated texture @@ -11129,13 +10469,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all - - + + Fits the whole content on the screen @@ -11143,13 +10483,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection - - + + Fits the selected content on the screen @@ -11157,13 +10497,13 @@ the current copy will be lost. StdCmdViewFront - + Front - - + + Set to front view @@ -11171,13 +10511,13 @@ the current copy will be lost. StdCmdViewHome - + Home - - + + Set to default home view @@ -11185,13 +10525,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric - - + + Set to isometric view @@ -11199,13 +10539,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position - - + + Issue the camera position to the console and to a macro, to easily recall this position @@ -11213,13 +10553,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns - - + + Switch stereo viewing to Interleaved Columns @@ -11227,13 +10567,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows - - + + Switch stereo viewing to Interleaved Rows @@ -11241,13 +10581,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off - - + + Switch stereo viewing off @@ -11255,13 +10595,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer - - + + Switch stereo viewing to quad buffer @@ -11269,13 +10609,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan - - + + Switch stereo viewing to red/cyan @@ -11283,13 +10623,13 @@ the current copy will be lost. StdCmdViewLeft - + Left - - + + Set to left view @@ -11297,13 +10637,13 @@ the current copy will be lost. StdCmdViewRear - + Rear - - + + Set to rear view @@ -11325,13 +10665,13 @@ the current copy will be lost. StdCmdViewRight - + Right - - + + Set to right view @@ -11339,13 +10679,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left - - + + Rotate the view by 90° counter-clockwise @@ -11353,13 +10693,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right - - + + Rotate the view by 90° clockwise @@ -11381,13 +10721,13 @@ the current copy will be lost. StdCmdViewTop - + Top - - + + Set to top view @@ -11395,13 +10735,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric - - + + Set to trimetric view @@ -11409,13 +10749,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift @@ -11479,13 +10819,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen - - + + Display the main window in fullscreen mode @@ -11521,13 +10861,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view - - + + Recall previously stored temporary working view @@ -11535,13 +10875,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view - - + + Store a document-specific temporary working view @@ -11549,13 +10889,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand - - + + Expand active document and collapse all others @@ -11563,12 +10903,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging - + Initiate dragging of current selected tree items @@ -11576,13 +10916,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document - - + + Display all documents in the tree view @@ -11590,12 +10930,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection - + Preselect the object in 3D view when mouse over the tree item @@ -11603,12 +10943,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection - + Record selection in tree view in order to go back/forward using navigation button @@ -11616,13 +10956,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection - - + + Scroll to first selected item @@ -11630,13 +10970,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document - - + + Only display the active document in the tree view @@ -11644,12 +10984,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement - + Auto adjust placement on drag and drop objects across coordinate systems @@ -11657,12 +10997,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection - + Auto expand tree item when the corresponding object is selected in 3D view @@ -11670,12 +11010,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view - + Auto switch to the 3D view containing the selected item @@ -11683,13 +11023,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom - - + + Activate the box zoom tool @@ -11697,13 +11037,13 @@ the current copy will be lost. StdViewDock - + Docked - - + + Display the active view either in fullscreen, in undocked or docked mode @@ -11711,13 +11051,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window - - + + Display the active view either in fullscreen, in undocked or docked mode @@ -11725,13 +11065,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen - - + + Display the active view either in fullscreen, in undocked or docked mode @@ -11739,13 +11079,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... - - + + Creates a screenshot of the active view @@ -11753,13 +11093,13 @@ the current copy will be lost. StdViewUndock - + Undocked - - + + Display the active view either in fullscreen, in undocked or docked mode @@ -11767,13 +11107,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In - - + + Increase the zoom factor by a fixed amount @@ -11781,13 +11121,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out - - + + Decrease the zoom factor by a fixed amount @@ -11819,72 +11159,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is - + Normal mode - + Points - + Points mode - + Wireframe - + Wireframe mode - + Hidden line - + Hidden line mode - + No shading - + No shading mode - + Shaded - + Shaded mode - + Flat lines - + Flat lines mode @@ -11943,32 +11283,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. - + Tree view item background padding. - + Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. @@ -11976,117 +11316,117 @@ Do you still want to proceed? Workbench - + &File - + &Edit - + Edit - + Clipboard - + Workbench - + Structure - + Standard views - + Axonometric - + &Stereo - + &Zoom - + Visibility - + &View - + &Tools - + &Macro - + &Windows - + &On-line help - + &Help - + Help - + File - + Macro - + View - + Special Ops - + Link actions @@ -12094,12 +11434,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF - + PDF file @@ -12107,194 +11447,188 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area - + Settings - + The Notification area will appear in the status bar - + Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications - + Additional data sources - + Errors intended for developers will appear in the notification area - + Debug errors - + Warnings intended for developers will appear in the notification area - + Debug warnings - + Non-Intrusive Notifications - + Minimum Duration: - + Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s - + Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen - + Notification width: - + Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive - + Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches - + Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12303,12 +11637,12 @@ after FreeCAD launches - + If checked, application will remember which workbench is active for each tab of the viewport - + Remember active workbench by tab @@ -12457,47 +11791,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. - + Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded - + Load - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12505,17 +11839,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + + + + Toolbar - + Left corner - + Right corner @@ -12541,12 +11880,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications - + Delete All @@ -12582,13 +11921,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... - - + + Loads an image @@ -12650,10 +11989,798 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + + + + + Options + + + + + Code lines will be numbered + + + + + Enable line numbers + + + + + The cursor shape will be a block + + + + + Enable block cursor + + + + + Enable folding + + + + + Indentation + + + + + Tab size: + + + + + Tabulator raster (how many spaces) + + + + + Indent size: + + + + + How many spaces will be inserted when pressing <Tab> + + + + + Pressing <Tab> will insert a tabulator with defined tab size + + + + + Keep tabs + + + + + Pressing <Tab> will insert amount of defined indent size + + + + + Insert spaces + + + + + Display items + + + + + Color and font settings will be applied to selected type + + + + + Family: + + + + + Font family to be used for selected code type + + + + + Size: + + + + + Font size to be used for selected code type + + + + + Color: + + + + + Preview: + + + + + Text + + + + + Bookmark + + + + + Breakpoint + + + + + Keyword + + + + + Comment + + + + + Block comment + + + + + Number + + + + + String + + + + + Character + + + + + Class name + + + + + Define name + + + + + Operator + + + + + Python output + + + + + Python error + + + + + Current line highlight + + + + + Items + + + + + Gui::Dialog::DlgSettingsGeneral + + + General + + + + + Language and number format + + + + + Language: + + + + + Language of the application's user interface + + + + + Unit system: + + + + + Unit system that should be used for all parts of the application + + + + + Number of decimals: + + + + + Number of decimals that should be shown for numbers and dimensions + + + + + Minimum fractional inch: + + + + + Minimum fractional inch to be displayed + + + + + Number format: + + + + + Operating system + + + + + Selected language + + + + + C/POSIX + + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + + Substitute decimal separator + + + + + Application + + + + + Theme: + + + + + Customize how user interface will look like + + + + + Size of toolbar icons: + + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + + + + + Tree view mode: + + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + + + + + Size of recent file list: + + + + + How many files should be listed in recent files list + + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + + Enable tiled background + + + + + The text cursor will be blinking + + + + + Enable cursor blinking + + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + + + + + Enable splash screen at start up + + + + + Preference packs + + + + + Name + + + + + Type + + + + + Load + + + + + Import config... + + + + + Save new... + + + + + Manage... + + + + + Revert... + + + + + Manage preference packs + + + + + Small (%1px) + + + + + Medium (%1px) + + + + + Large (%1px) + + + + + Extra large (%1px) + + + + + Custom (%1px) + + + + + Combo View + + + + + TreeView and PropertyView + + + + + Both + + + + + Preference Pack Name + + + + + Tags + + + + + Apply + + + + + Apply the %1 preference pack + + + + + Choose a FreeCAD config file to import + + + + + File exists + + + + + A preference pack with that name already exists. Overwrite? + + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + + + + + Output + + + + + Normal messages will be recorded + + + + + Record normal messages + + + + + Log messages will be recorded + + + + + Record log messages + + + + + Warnings will be recorded + + + + + Record warnings + + + + + Error messages will be recorded + + + + + Record error messages + + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + + + + + Show report view on error + + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + + + + + Show report view on warning + + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + + + + + Show report view on normal message + + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + + + + + Show report view on log message + + + + + Include a timecode for each report + + + + + Include a timecode for each entry + + + + + Colors + + + + + Normal messages: + + + + + Font color for normal messages in Report view panel + + + + + Log messages: + + + + + Font color for log messages in Report view panel + + + + + Warnings: + + + + + Font color for warning messages in Report view panel + + + + + Errors: + + + + + Font color for error messages in Report view panel + + + + + Python interpreter + + + + + Internal Python output will be redirected +from Python console to Report view panel + + + + + Redirect internal Python output to report view + + + + + Internal Python error messages will be redirected +from Python console to Report view panel + + + + + Redirect internal Python errors to report view + + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + + Accent color 1 + + + + + Accent color 2 + + + + + Accent color 3 + + + + + Style sheet (advanced): + + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + + This color might be used by your theme to let you customize it. + + + + + No style sheet + + + + + StdCmdSelectFilter + + + Selection filter + + + + + + Change the Selection filter + + + + + StdCmdVertexSelection + + + Vertex Selection + + + + + + Select a Vertex/Vertices + + + + + StdCmdEdgeSelection + + + Edge Selection + + + + + + Select Edge(s) + + + + + StdCmdFaceSelection + + + Face Selection + + + + + + Select Face(s) + + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + + + diff --git a/src/Gui/Language/FreeCAD_be.ts b/src/Gui/Language/FreeCAD_be.ts index b0823c6b08..c04a921598 100644 --- a/src/Gui/Language/FreeCAD_be.ts +++ b/src/Gui/Language/FreeCAD_be.ts @@ -42,29 +42,29 @@ Візуальны памер аб'екта - + <empty> <пусты> - - + + Angle Вугал - - + + Axis Вось - + Position - Position + Становішча - + Enum Пералічэнне @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Праверыць вывад кансолі - - + + Run test cases to verify console messages Запусціце тэставыя прыклады для праверкі паведамленняў кансолі @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Ачысціць замер - + Clear all visible measurements Ачысціць усе бачныя вымярэнні @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Пераключыць вымярэнне - + Turn on or off the display of all measurements Уключэнне ці выключэнне адлюстравання ўсіх вымярэнняў @@ -132,7 +132,7 @@ Выдаліць - + Paste expressions Уставіць выраз @@ -182,9 +182,9 @@ Дадаць суполку - + Align - Align + Выраўнаваць @@ -193,40 +193,40 @@ Размясціць - - + + Transform Пераўтварыць - + Toggle array elements Пераключыць элементы масіву - + Link Transform Пераўтварыць сувязь - + Measure distance Вымярэнне адлегласці - + Toggle visibility Пераключыць бачнасць - + Toggle selectability Пераключыць магчымасць выбару - + Edit image Змяніць выяву @@ -234,77 +234,77 @@ CommandGroup - + File Файл - + Edit Змяніць - + Help Даведка - + Link Сувязь - + Tools Інструменты - + View Від - + Window Акно - + Standard Стандартны - + Macros Макрас - + Macro Макрас - + Structure Структура - + Standard-Test Стандартны тэст - + Standard-View Стандартны від - + TreeView Дрэва - + Measure Вымярэнне @@ -402,11 +402,6 @@ DownloadItem - - - Form - Форма - Ico @@ -421,42 +416,42 @@ EditMode - + Default Першапачаткова - + The object will be edited using the mode defined internally to be the most appropriate for the object type Аб'ект будзе зменены з ужываннем рэжыму, вызначанага ўнутры як найбольш прыдатны для дадзенага тыпу аб'екта - + Transform Пераўтварыць - + The object will have its placement editable with the Std TransformManip command Размяшчэнне аб'екту будзе даступна для змены з дапамогай каманды Std TransformManip - + Cutting Абрэзка - + This edit mode is implemented as available but currently does not seem to be used by any object Рэжым змены рэалізаваны як даступны, але ў цяперашні час, падобна, не ўжываецца ні адным аб'ектам - + Color Колер - + The object will have the color of its individual faces editable with the Part FaceColors command Колер асобных граняў аб'екта можна будзе мяняць з дапамогай каманды Part FaceColors @@ -482,7 +477,7 @@ адсутнічае - + Press a keyboard shortcut Націснуць спалучэнне клавішаў @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Даступны: - + Selected: Абраны: - + Add Дадаць - + Remove Выдаліць - + Move up Рухаць уверх - + Move down Рухаць уніз @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Рухомы аб'ект - + Fixed object Фіксаваны аб'ект @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Калі ласка, пачакайце, пакуль файл аўтаматычнага аднаўлення не будзе захаваны... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Націснуць <левую кнопку мышы> - + Press SHIFT and middle mouse button Націснуць клавішу <Shift> і <сярэднюю кнопку мышы> - + Press middle mouse button Націснуць <сярэднюю кнопку мышы> - + Scroll middle mouse button Пракруціць <сярэднюю кнопку мышы> @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Націснуць <левую кнопку мышы> - + Press middle mouse button Націснуць <сярэднюю кнопку мышы> - + Press middle+left or middle+right button Націснуць <сярэднюю+левую кнопкі мышы> ці <сярэднюю+правую кнопкі мышы> кнопкі - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Пракруціць <сярэднюю кнопку мышы> ці ўтрымліваць націснутай <сярэднюю кнопку мышы> @@ -615,12 +610,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel &Скасаваць @@ -628,7 +623,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Панэль задач @@ -712,47 +707,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Падзякі - + FreeCAD would not be possible without the contributions of FreeCAD не існаваў бы без удзелу - + Individuals Header for the list of individual people in the Credits list. Удзельнікі - + Organizations Header for the list of companies/organizations in the Credits list. Установы - - + + License Ліцэнзія - + Libraries Бібліятэкі - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Гэтае праграмнае забеспячэнне ўжывае кампаненты з адкрытым зыходным кодам, аўтарскія правы на якія і іншыя правы ўласнасці належаць іх адпаведным уладальнікам: - + Collection Калекцыя @@ -760,22 +755,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Каталог кэшавання - + The cache directory %1 exceeds the size of %2. Каталог кэшу %1 перавышае памер %2. - + Do you want to clear it now? Вы сапраўды жадаеце ачысціць яго цяпер? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Папярэджанне: Калі ласка, пераканайцеся, што гэта адзіны запушчаны асобнік праграмы %1 і што аніякія дакументы не адчыненыя, так як гэта можа прывесці да страты дадзеных! @@ -796,37 +791,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Налады камеры - + Orientation Арыентацыя - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Бягучы выгляд @@ -892,7 +887,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Каманды @@ -1117,12 +1112,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Набор ужо існуе - + A preference pack with that name already exists. Do you want to overwrite it? Пакет пераваг з такім іменем ужо існуе. Вы жадаеце перазапісаць яго? @@ -1358,48 +1353,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Увядзіце для пошуку... - + Icon Гузік - + Command Каманда - + Shortcut Спалучэнне клавішаў - + Default Першапачаткова - + Name Назва - + Title Назва - + All Усе - - + + none адсутнічае @@ -1407,8 +1402,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Панэлі інструментаў @@ -1497,40 +1492,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Раздзяляльнік> - + %1 module not loaded %1 модуль не загружаны - + New toolbar Новая панэль інструментаў - - + + Toolbar name: Назва панэлі інструментаў: - - + + Duplicated name Паўторная назва - - + + The toolbar name '%1' is already used Назва панэлі інструментаў '%1' ужо ўжываецца - + Rename toolbar Пераназваць панэль інструментаў @@ -1543,19 +1538,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Наладзіць - + &Help &Даведка - + &Close &Зачыніць @@ -1564,13 +1559,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Рух прасторавага маніпулятара - + No Spaceball Present Не знойдзена прасторавага маніпулятара @@ -1578,27 +1573,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Кнопкі прасторавага маніпулятара - + No Spaceball Present Не знойдзена прасторавага маніпулятара - + Buttons Кнопкі - + Reset Скінуць - + Print Reference Надрукаваць спасылкі @@ -1683,550 +1678,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Першапачаткова - + Aluminium Алюміній - + Brass Латунь - + Bronze Бронза - + Copper Медзь - + Chrome Хром - + Emerald Смарагд - + Gold Золата - + Jade Нефрыт - + Metalized Металізаваны - + Neon GNC Неон GNC - + Neon PHC Неон PHC - + Obsidian Абсідыян - + Pewter П'ютэр (алавяны сплаў) - + Plaster Гіпс - + Plastic Пластык - + Ruby Рубін - + Satin Атлас (сацін) - + Shiny plastic Бліскучы пластык - + Silver Срэбра - + Steel Сталь - + Stone Камень Gui::Dialog::DlgEditorSettings - - - Editor - Рэдактар - - - - Options - Налады - - - - Code lines will be numbered - Радкі кода будуць пранумараваны - - - - Enable line numbers - Уключыць нумары радкоў - - - - The cursor shape will be a block - Форма паказальніка будзе ўяўляць сабою вялікі паказальнік - - - - Enable block cursor - Уключыць вялікі паказальнік - - - - Enable folding - Уключыць згінанне - - - - Indentation - Водступ - - - - Tab size: - Памер табуляцыі: - - - - Tabulator raster (how many spaces) - Колькасць прабелаў для табуляцыі - - - - Indent size: - Памер водступу: - - - - How many spaces will be inserted when pressing <Tab> - Колькі прабелаў будзе ўстаўлена пры націску клавішы <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Пры націску <Tab> будзе ўстаўлена табуляцыя пэўнага памеру - - - - Keep tabs - Пакідаць табуляцыю - - - - Pressing <Tab> will insert amount of defined indent size - Пры націску <Tab> будзе ўстаўлены водступы пэўнага памеру - - - - Insert spaces - Уставіць прабелы - - - - Display items - Адлюстраваць элементы - - - - Color and font settings will be applied to selected type - Налады колеру і шрыфту будуць ужытыя да абранага тыпу - - - - Family: - Сямейства: - - - - Font family to be used for selected code type - Сямейства шрыфтоў будзе ўжыты для абранага тыпу кода - - - - Size: - Памер: - - - - Font size to be used for selected code type - Памер шрыфту будзе ўжыты для абранага тыпу кода - - - - Color: - Колер: - - - - Preview: - Папярэдні прагляд: - - - Gui::Dialog::DlgGeneral - - - General - Асноўныя - - - - Language of the application's user interface - Мова карыстальніцкага інтэрфейсу праграмы - - - - Number format: - Фармат лічбаў: - - - - Operating system - Аперацыйная сістэма - - - - Selected language - Абраная мова - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Калі ўключана, дзесятковы падзельнік лічбавай клавіятуры -будзе заменены падзельнікам моўнага стандарту, за выключэннем -кансолі Python і рэдактара макрасаў, дзе -заўсёды будзе друкавацца кропка. - - - - Preference packs - Пакеты перавагі - - - - Name - Назва - - - - Type - Тып - - - - Load - Загрузіць - - - - Import config... - Імпартаваць налады... - - - - Save new... - Захаваць новы... - - - - Manage... - Кіраваць... - - - - Revert... - Вярнуць... - - - - How many files should be listed in recent files list - Колькі файлаў павінна быць паказана ў спісе апошніх файлаў - - - - Enable tiled background - Уключыць фон пліткі - - - - The text cursor will be blinking - Тэкставы паказальнік будзе міргаць - - - - Enable cursor blinking - Уключыць мігценне паказальніку - - - - Style sheet: - Стыль інтэрфейсу: - - - - Language and number format - Мова і фармат ліку - - - - Language: - Мова: - - - - Unit system: - Сістэма адзінак вымярэння: - - - - Unit system that should be used for all parts of the application - Сістэма адзінак вымярэння, якая павінна ўжывацца да ўсіх частак праграмы - - - - Number of decimals: - Колькасць дзесятковых знакаў: - - - - Number of decimals that should be shown for numbers and dimensions - Колькасць дзесятковых знакаў, якая павінна быць паказаныя для лікаў і вымярэнняў - - - - Minimum fractional inch: - Найменшая частка цалі: - - - - Minimum fractional inch to be displayed - Найменшая частка цалі для адлюстравання - - - - Substitute decimal separator - Замена дзесятковага падзельніку - - - - Application - Праграма - - - - Style sheet how user interface will look like - Стыль інтэрфейсу, як будзе выглядаць карыстальніцкі інтэрфейс - - - - Size of toolbar icons: - Памер гузікаў панэлі інструментаў: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Абраць памер гузіка панэлі інструментаў па сваіх перавагах. Вы можаце наладзіць -у адпаведнасці з вашым памерам экрана ці асабістым густам - - - - Tree view mode: - Рэжым прагляду дрэва: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Наладзіць адлюстраванне прагляду дрэва на панэлі (патрабуецца перазагрузка). - -'КамбінаваныПрагляд': аб'ядноўвае выгляд дрэва і выгляд уласцівасцяў у адну панэль. -'Прагляд Дрэва і Уласцівасцяў': падзяляе выгляд дрэва і выгляд уласцівасцяў на асобную панэль. -'Абодва': захоўвае ўсе тры панэлі, і ў вас можа быць два набору выгляд дрэва і выгляд уласцівасцяў. - - - - Size of recent file list: - Памер спісу апошніх файлаў: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Фон галоўнага акна (калі ніводнага дакумента не адчынена) будзе складацца з плітак спецыяльнай выявы. -Глядзіце вікі-старонку FreeCAD, каб атрымаць падрабязную інфармацыю пра выяву. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Экран застаўкі - невялікае акно загрузкі, якое паказваецца пры запуску FreeCAD. -Калі налада ўключаная, FreeCAD будзе адлюстроўваць застаўку - - - - Enable splash screen at start up - Уключыць застаўка пры запуске - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Кіраваць пакетамі пераваг - - - - Small (%1px) - Малы (%1px) - - - - Medium (%1px) - Сярэдні (%1px) - - - - Large (%1px) - Вялікі (%1px) - - - - Extra large (%1px) - Вельмі вялікі (%1px) - - - - Custom (%1px) - Карыстальніцкі (%1px) - - - - Combo View - Камбінаваны Прагляд - - - - TreeView and PropertyView - Прагляд Дрэва і Уласцівасцяў - - - - Both - Абодва - - - - No style sheet - Без табліцы стыляў - - - - Preference Pack Name - Назва Пакета перавагі - - - - Tags - Меткі - - - - Apply - Прымяніць - - - - Apply the %1 preference pack - Прымяніць пакет перавагі %1 - - - - Choose a FreeCAD config file to import - Абраць файл наладаў FreeCAD для імпартавання - - - - File exists - Файл інсуе - - - - A preference pack with that name already exists. Overwrite? - Пакет перавагі з такой назвай ужо існуе. Перазапісаць? - - Gui::Dialog::DlgInputDialog @@ -2242,8 +1810,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector Інспектар сцэны @@ -2335,71 +1903,71 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros Макрас - + Read-only Толькі для чытання - + Macro file Файл макраса - + Enter a file name, please: Калі ласка, увядзіце імя файла: - - - + + + Existing file Існуючы файл - + '%1'. This file already exists. '%1'. Файл ужо існуе. - + Cannot create file Не атрмылася стварыць файл - + Creation of file '%1' failed. Не атрымалася стварыць файл '%1'. - + Delete macro Выдаліць макрас - + Do you really want to delete the macro '%1'? Сапраўды жадаеце выдаліць макрас '%1'? - + Do not show again Не паказваць зноў - + Guided Walkthrough Пакрокавае Кіраўніцтва - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2410,78 +1978,78 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 Пакрокавы даведнік, акно 1 з 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Пакрокавыя інструкцыі: Запоўніце поля, якія адсутнічаюць (неабавязкова), потым націсніце Дадаць, потым Зачыніць - + Walkthrough, dialog 1 of 1 Пакрокавы даведнік, акно 1 з 1 - + Walkthrough, dialog 2 of 2 Пакрокавы даведнік, акно 2 з 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Пакрокавыя інструкцыі: Пстрыкніце кнопку з стрэлкай управа (->), потым Зачыніць. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Пакрокавыя інструкцыі: Пстрыкніце Новы, потым кнопку з правай стрэлкай (->), потым Зачыніць. - + Renaming Macro File Пераназваць файл макраса - - + + Enter new name: Увядзіце новую назву: - - + + '%1' already exists. '%1' ужо існуе. - + Rename Failed Пераназваць не атрымалася - + Failed to rename to '%1'. Perhaps a file permission error? Не атрымалася пераназваць у '%1'. Магчыма, памылка дазволу файла? - + Duplicate Macro Паўтарыць макрас - + Duplicate Failed Памылка паўтору - + Failed to duplicate to '%1'. Perhaps a file permission error? Не атрымалася паўтарыць у '%1'. @@ -2524,39 +2092,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Сродак запісу макраса - + Specify first a place to save. Спачатку пакажыце месца для захавання. - + The macro directory doesn't exist. Please, choose another one. Каталог макрасаў не існуе. Калі ласка, абярыце іншы. - + Existing macro Існуючы макрас - + The macro '%1' already exists. Do you want to overwrite? Макрас '%1' ужо існуе. Вы жадаеце перазапісаць яго? - + You have no write permission for the directory. Please, choose another one. У вас няма дазволу на запіс у каталог. Калі ласка, абярыце іншы. - + Choose macro directory Абраць каталог макрасаў @@ -2629,12 +2197,12 @@ Perhaps a file permission error? Файлы HTML - + Access denied Доступ забаронены - + Access denied to '%1' Specify another directory, please. @@ -3035,36 +2603,36 @@ Specify another directory, please. Файл праекту - - + + Empty source Пустая крыніца - - + + No source is defined. Крыніца не вызначана. - - + + Empty destination Пустое месца прызначэння - - + + No destination is defined. Месца прызначэння не вызначана. - + Failed to extract project Не атрымалася выняць праект - + Failed to create project Не атрымалася стварыць праект @@ -3114,186 +2682,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Прагляд справаздачы - - - - Output - Вывад - - - - Normal messages will be recorded - Звычайныя паведамленні будуць запісаныя - - - - Record normal messages - Запіс звычайных паведамленняў - - - - Log messages will be recorded - Паведамленні часопісу будуць запісаныя - - - - Record log messages - Запіс паведамленняў часопісу - - - - Warnings will be recorded - Папярэджанні будуць запісаныя - - - - Record warnings - Запіс папярэджанняў - - - - Error messages will be recorded - Паведамленні аб памылках будуць запісаныя - - - - Record error messages - Запіс паведамленняў аб памылках - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Калі адбылася памылка, дыялогавае акно Прагляду справаздачы становіцца бачным -на экране, каб адлюстраваць памылку - - - - Show report view on error - Паказаць прагляд справаздачы пры памылцы - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Калі адбылося папярэджанне, дыялогавае акно Прагляду справаздачы становіцца бачным -на экране, каб адлюстраваць папярэджанне - - - - Show report view on warning - Паказаць прагляд справаздачы пры папярэджанні - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Калі адбылося звычайнае паведамленне, дыялогавае акно Прагляду справаздачы становіцца бачным на экране, каб адлюстраваць звычайнае паведамленне - - - - Show report view on normal message - Паказаць прагляд справаздачы пры звычайным паведамленні - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Калі адбылося паведамленне справаздачы, дыялогавае акно Прагляду справаздачы становіцца бачным на экране, каб адлюстраваць паведамленне справаздачы - - - - Show report view on log message - Паказаць прагляд справаздачы пры паведамленні справаздачы - - - - Include a timecode for each report - Уключыць час для кожнай справаздачы - - - - Include a timecode for each entry - Уключыць час для кожнага запісу - - - - Colors - Выдзяленне колерам - - - - Normal messages: - Звычайныя паведамленні (normal): - - - - Font color for normal messages in Report view panel - Колер шрыфту для звычайных паведамленняў у панэлі Прагляду справаздачы - - - - Log messages: - Паведамленні часопісу (log): - - - - Font color for log messages in Report view panel - Колер шрыфту для паведамленняў часопісу ў панэлі Прагляду справаздачы - - - - Warnings: - Паведамленні папярэджання (warning): - - - - Font color for warning messages in Report view panel - Колер шрыфту для паведамленняў папярэджання ў панэлі Прагляду справаздачы - - - - Errors: - Паведамленні памылак (error): - - - - Font color for error messages in Report view panel - Колер шрыфту для паведамленняў памылкі ў панэлі Прагляду справаздачы - - - - Python interpreter - Інтэрпрэтатар Python - - - - Internal Python output will be redirected -from Python console to Report view panel - Унутраны вывад Python будзе перанакіраваны -з кансолі Python на панэль Прагляду справаздачы - - - - Redirect internal Python output to report view - Перанакіраваць унутраны вывад Python у Прагляд справаздачы - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Унутраныя паведамленні аб памылках Python будуць перанакіраваныя -з кансолі Python на панэль Прагляду справаздачы - - - - Redirect internal Python errors to report view - Перанакіраваць унутраныя памылкі Python у Прагляд справаздачы - @@ -3320,7 +2708,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Без выбару ў дыялогавым акне, не атрымалася загрузіць файл рэзервовай копіі @@ -3363,7 +2751,7 @@ from Python console to Report view panel Даведка - + Select a file Абраць файл @@ -3371,66 +2759,66 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View Трохмернае прадстаўленне - + General Асноўныя - + Main coordinate system will always be shown in lower right corner within opened files Асноўная сістэма каардынат заўсёды будзе паказвацца ў правым ніжнім куце ў адчыненых файлах - + Show coordinate system in the corner Паказаць сістэму каардынат у куце - + Relative size : Адносны памер: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Памер прадстаўлення асноўнай сістэмы каардынат у куце - у % ад вышыні/шырыні вобласці прагляду - + Axis cross will be shown by default at file opening or creation Скрыжаванне восей будзе паказвацца першапачаткова пры адкрыцці ці стварэнні файла - + Show axis cross by default Першапачаткова паказаць скрыжаванне восей - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Час, які неабходны для апошняй аперацыі, і выніковая частата кадраў будуць паказаныя ў левым ніжнім куце адчыненых файлаў - + Show counter of frames per second Паказаць лічыльнік кадраў у секунду - + Rendering Візуалізацыя - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3439,22 +2827,22 @@ Changing this option requires a restart of the application. Для змены налады патрабуецца перазапуск праграмы. - + Use software OpenGL Ужыць праграмнае забеспячэнне OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Ужыць OpenGL VBO (аб'ект буфера вяршыняў) - + Render cache Кэшаванне візуалізацыі - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3473,7 +2861,7 @@ VBO забяспечваюць значны прырост эфектыўнас Не забудзьцеся паведаміць аб гэтай уключанай наладзе пры звароце па падтрымку на форумах FreeCAD - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3488,92 +2876,92 @@ but slower response to any scene changes. 3) 'Цэнтралізаванае', уручную адключыць кэшаванне на ўсіх вузлах пастаўшчыка ўяўленняў, і кэшаванне толькі на каранёвым графічным вузле выявы. Гэта забяспечвае самую высокую хуткасць візуалізацыі, але больш павольную рэакцыю на любыя змены кадра. - + Auto Аўтаматычнае - + Distributed Размеркаванае - + Centralized Цэнтралізаванае - + Anti-Aliasing Згладжванне - + What kind of multisample anti-aliasing is used Які выгляд шматпраходнага згладжвання ўжываецца - + None Нічога - + Line Smoothing Згладжванне ліній - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Празрыстыя аб'екты: - + Render types of transparent objects Тып візуалізацыі празрыстых аб'ектаў - + One pass Адзін праход - + Backface pass Праход ззаду - + Marker size: Памер маркера: - - Size of vertices in the Sketcher workbench - Памер вяршыняй у варштаце Эскізу + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Адлегласць паміж вачамі для стэрэа рэжымаў - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3581,48 +2969,48 @@ bounding box size of the 3D object that is currently displayed. Азначанае значэнне з'яўляецца каэфіцыентам, якое будзе памнажацца на памер габарытаў трохмернага аб'екта, які ў бягучы час адлюстроўваецца. - + Backlight is enabled with the defined color Асвятленне ўключана з вызначаным колерам - - + + Backlight color Колер асвятлення - + Intensity Інтэнсіўнасць - + Intensity of the backlight Інтэнсіўнасць асвятлення - + Camera type Тып камеры - + Objects will appear in a perspective projection Аб'екты будуць адлюстроўвацца ў перспектыўнай праекцыі - + Perspective renderin&g Перспектыўная &візуалізацыя - + Objects will be projected in orthographic projection Аб'екты будуць праецыравацца ў артаганальнай праекцыі - + Or&thographic rendering &Артаганальная візуалізацыя @@ -3634,42 +3022,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Згладжванне - + Open a new viewer or restart %1 to apply anti-aliasing changes. Адчыніць новы праглядальнік, альбо перазапусціць %1, каб прымяніць змены згладжвання. @@ -3677,77 +3065,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Кэшаванне - + Cache directory Каталог кэшавання - + Location: Месцазнаходжанне: - + Check periodically at program start: Перыядычна правяраць пры запуску праграмы: - + Always Заўсёды - + Daily Штодзень - + Weekly Штотыдзень - + Monthly Штомесяц - + Yearly Штогод - + Never Ніколі - + Cache size limit: Абмежаванне памеру кэшавання: - + Check now... Праверыць зараз... - + Notify the user if the cache size exceeds the specified limit Апавясціць карыстальніка, калі памер кэшавання перавышае паказаныя межы - + Unknown Невядомы - + Current cache size: %1 Бягучы памер кэшавання: %1 @@ -3905,12 +3293,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Няправільная налада - + The maximum value must be higher than the minimum value. Найбольшае значэнне мусіць быць большым чым найменшае значэнне. @@ -3918,182 +3306,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Дакумент - + General Асноўныя - + The application will create a new document when started Праграма стварае новы дакумент пасля запуску - + Create new document at start up Стварыць новы дакумент пасля запуску - + Document save compression level (0 = none, 9 = highest, 3 = default) Узровень сціску захавання дакумента (0 = няма, 9 = самы высокі, 3 = першапачатковы) - + Compression level for FCStd files Узровень сціску для файлаў FCStd - + All changes in documents are stored so that they can be undone/redone Усе змены ў дакументах захоўваюцца такім чынам, каб іх можна было адкаціць/зрабіць нанова - + Using Undo/Redo on documents Ужываць Адкаціць/Зрабіць нанова ў дакументах - + Maximum Undo/Redo steps Найбольшая колькасць крокаў Адкаціць/Зрабіць нанова - + How many Undo/Redo steps should be recorded Колькі крокаў Адкаціць/Зрабіць нанова павінна быць запісана - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Дазволіць карыстальніку перапыніць вылічэнне дакументу націскам клавішы <Esc>. Функцыя можа трохі павялічыць час вылічэнняў. - + Allow aborting recomputation Дазволіць перапыненне вылічэння - + Storage Сховішча - + Saving transactions (Auto-save) Захоўваць аперацыі (Аўтаматычнае захаванне) - + Discard saved transaction after saving document Скасаваць захаваныя аперацыі пасля захавання дакумента - + If there is a recovery file available the application will automatically run a file recovery when it is started. Калі файл аднаўлення даступнае, праграма аўтаматычна запусціць аднаўленне файла пры яго запуску. - + Run AutoRecovery at startup Запусціць Аўтаматычнае аднаўленне пры запуске - + How often a recovery file is written Як часта запісваецца файл аднаўлення - + Save AutoRecovery information every Захаваць інфармацыю Аўтаматычнага аднаўлення кожныя - + A thumbnail will be stored when document is saved Мініяцюра будзе захаваная пры захаванні дакумента - + Save thumbnail into project file when saving document Захаваць мініяцюру ў файл праекта пры захаванні дакумента - + Size Памер - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Задае памер мініяцюры, якая захоўваецца ў дакуменце. Распаўсюджаныя памеры - 128, 256 і 512 - + The program logo will be added to the thumbnail Лагатып праграмы будзе дададзены да мініяцюры - + Add the program logo to the generated thumbnail Дадаць лагатып праграмы да створанай мініяцюры - + How many backup files will be kept when saving document Колькі файлаў рэзервовых копій будзе захавана пры захаванні дакумента - + Maximum number of backup files to keep when resaving document Найбольшая колькасць рэзервовых файлаў пры захаванні дакумента - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Файлы рэзервовых копій атрымаюць пашырэнне '.FCbak', а імёны файлаў атрымаюць суфікс даты ў адпаведнасці з паказаным фарматам - + Use date and FCBak extension Ужываць дату і пашырэнне FCBak - + Date format Фармат даты - + Document objects Аб'екты дакументу - + Allow objects to have same label Дазволіць аб'ектам мець аднолькавыя надпісы - + Allow duplicate object labels in one document Дазволіць паўторныя надпісы аб'ектаў у адным дакуменце - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4105,22 +3493,22 @@ icon in the tree view to fully reload it. па гузіку дакумента ў праглядзе дрэва, цалкам перазагрузіць яго. - + Disable partial loading of external linked objects Адключыць частковую загрузку вонкавых звязаных аб'ектаў - + Authoring and License Аўтарства і Ліцэнзія - + Author name Імя аўтара - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4129,32 +3517,32 @@ You can also use the form: John Doe <john@doe.com> Вы таксама можаце ўжываць выгляд: John Doe <john@doe.com > - + The field 'Last modified by' will be set to specified author when saving the file Пры захаванні файла поле 'Аўтар апошняга змянення' будзе запоўнена на названага аўтара - + Set on save Задаць пры захаванні - + Company Арганізацыя - + Default company name to use for new files Першапачатковая назва арганізацыі, якое ўжываецца для новых файлаў - + Default license Першапачатковая ліцэнзія - + Default license for new documents Першапачатковая ліцэнзія для новых дакументаў @@ -4224,12 +3612,12 @@ You can also use the form: John Doe <john@doe.com> Іншы - + License URL URL-адрас ліцэнзіі - + URL describing more about the license URL-адрас, які апісвае дадатковую інфармацыю аб ліцэнзіі @@ -4237,104 +3625,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Фармат даты, які ўжываецца. - + Default Першапачаткова - + Format Фармат - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Тэкст - - - - Bookmark - Закладка - - - - Breakpoint - Пункт супыну - - - - Keyword - Ключавое слова - - - - Comment - Каментар - - - - Block comment - Блок каментараў - - - - Number - Лічба - - - - String - Радок - - - - Character - Літара - - - - Class name - Імя класу - - - - Define name - Задаць імя - - - - Operator - Аператар - - - - Python output - Вывад Python - - - - Python error - Памылка Python - - - - Current line highlight - Вылучэнне бягучага радка - - - - Items - Элементы - - Gui::Dialog::DlgSettingsImage @@ -4515,122 +3820,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Макрас - + General macro settings Агульныя налады макрасаў - + Variables defined by macros are created as local variables Зменныя, якія вызначаныя макрасамі, ствараюцца як лакальныя зменныя - + Run macros in local environment Запуск макрасаў у лакальным асяроддзі - + Macro recording settings Налады запісу макрасаў - + Macro path Шлях да макраса - + The directory in which the application will search for macros Каталог, у якім праграма будзе шукаць макрасы - + Gui commands Каманды графічнага інтэрфейсу карыстальніка - + Recorded macros will also contain user interface commands Запісаныя макрасы таксама будуць утрымліваць каманды карыстальніцкага інтэрфейсу - + Record GUI commands Запіс каманд графічнага інтэрфейсу карыстальніка - + Recorded macros will also contain user interface commands as comments Запісаныя макрасы таксама будуць утрымліваць каманды карыстальніцкага інтэрфейсу ў выглядзе каментараў - + Record as comment Запіс у выглядзе каментараў - + Logging Commands Вядзенне часопіса каманд - + Commands executed by macro scripts are shown in Python console Каманды, якія выконваюцца сцэнарам макраса, паказваюцца ў кансолі Python - + Show script commands in python console Паказаць каманды сцэнара ў кансолі Python - + Log all commands issued by menus to file: Запісаць усе каманды, якія выдаюцца меню, у файл часопісу: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Меню апошніх макрасаў - + Size of recent macro list Памер спісу апошніх макрасаў - + How many macros should be listed in recent macros list Колькі макрасаў павінна быць паказана ў спісе апошніх макрасаў - + Keyboard shortcut count Колькасць спалучэнняў клавіш - + How many recent macros should have shortcuts Колькі апошніх макрасаў павінны мець спалучэнні клавішаў - + Keyboard Modifiers Камбінацыя клавіш - + Keyboard modifiers, default = Ctrl+Shift+ Камбінацыя клавіш, першапачаткова = <Ctrl+Shift+?> @@ -4638,130 +3943,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Навігацыя - + Navigation cube Куб навігацыі - + Steps by turn Колькасць крокаў на поўны абарот - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Колькасць крокаў для поўнага павароту пры ўжыванні стрэлак (першапачаткова = 8 : вугал кроку = 360 / 8 = 45 градусаў) - + Corner Кут - + Corner where navigation cube is shown Кут, у якім паказаны куб навігацыі - + Top left Зверху злева - + Top right Зверху справа - + Bottom left Знізу злева - + Bottom right Знізу справа - + Rotates to nearest possible state when clicking a cube face Павярнуць да бліжэйшага магчымага стану, калі пстрыкнуць па грані куба - + Rotate to nearest Павярнуць да бліжэйшага - + Font name: Назва шрыфту: - + Font name of the navigation cube Назва шрыфту куба навігацыі - + Default Першапачаткова - + Cube size Памер куба - + Size of the navigation cube Памер куба навігацыі - + Color Колер - + Base color for all elements Асноўны колер для ўсіх элементаў - + 3D Navigation Трохмерная навігацыя - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Спіс налад кнопак мышы для кожнай абранай налады навігацыі. Абярыце набор, потым націсніце кнопку, каб праглядзець названыя наладкі. - + Mouse... Дэталі стылю навігацыі... - + Navigation settings set Набор налад навігацыі - + Orbit style Стыль арбіты - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4772,116 +4077,116 @@ Free Turntable: the part will be rotated around the z-axis. Свабодны паваротны круг: дэталь будзе круціцца вакол восі z. - + Turntable Паваротны круг - + Trackball Трэкбол - + Free Turntable Свабодны паваротны круг - + Rotation mode Рэжым вярчэння - + Rotations in 3D will use current cursor position as center for rotation Вярчэнне ў трохмерным прадстаўленні будзе ўжываць бягучае становішча курсора ў якасці цэнтру для вярчэння - + Window center Цэнтр акна - + Drag at cursor Перанесці да паказальніка - + Object center Цэнтр аб'екту - + Default camera orientation Першапачатковая арыентацыя камеры - + Default camera orientation when creating a new document or selecting the home view Першапачатковая арыентацыя камеры пры стварэнні новага дакументу ці выбару пачатковага выгляду - + Camera zoom Маштаб камеры - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Задаць маштаб камеры для новых дакументаў. Значэнне - дыяметр сферы, які павінен змясціцца на экране. - + mm мм - + Enable animated rotations Уключыць анімаванае вярчэнне - + Enable animation Уключыць анімацыю - + Zoom operations will be performed at position of mouse pointer Аперацыі маштабавання будуць выконвацца ў становішчы паказальніка мышы - + Zoom at cursor Маштаб на паказальніку - + Zoom step Крок маштабавання - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Наколькі будзе маштабавана. Крок маштабавання '1' азначае каэфіцыент 7.5 для кожнага кроку маштабавання. - + Direction of zoom operations will be inverted Напрамак аперацый маштабавання будзе інвертаваны - + Invert zoom Інвертаваць маштаб - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4890,57 +4195,67 @@ Mouse tilting is not disabled by this setting. Нахіл мышы гэтай наладай не адключаны. - + Disable touchscreen tilt gesture Адключыць жэст нахілу для сэнсарнага экрану - + + Show the rotation center when dragging. + Паказваць цэнтр вярчэння пры перацягванні. + + + + Enable rotation center indication + Уключыць адлюстраванне цэнтра вярчэння + + + Isometric Ізаметрычны - + Dimetric Дыметрычны - + Trimetric Трыметрычны - + Top Зверху - + Front Спераду - + Left Злева - + Right Справа - + Rear Ззаду - + Bottom Знізу - + Custom Карыстальніцкі @@ -4948,44 +4263,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Кансоль Python - + Settings Налады - + Words will be wrapped when they exceed available horizontal space in Python console Словы будуць згорнутыя, калі яны перавысяць даступную гарызантальную прастору ў кансолі Python - + Enable word wrap Уключыць перанос слоў - + The cursor shape will be a block Форма паказальніка будзе ўяўляць сабою вялікі паказальнік - + Enable block cursor Уключыць вялікі паказальнік - + Saves Python history across sessions Захоўвае гісторыю Python паміж сеансамі - + Save history Захаваць гісторыю @@ -4993,17 +4308,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Выдзяленне - + + Enable preselection, highlighted with specified color + Уключыць папярэдні выбар, вылучыць зададзеным колерам + + + + Enable preselection + Уключыць папярэдні выбар + + + + Enable selection, highlighted with specified color + Уключыць выбар, вылучыць зададзеным колерам + + + + Enable selection + Уключыць выбар + + + Pick radius (px): Радыус пстрычкі-выбару (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5012,27 +4347,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Аўтаматычнае пераключэнне на трохмернае прадстаўленне, якое змяшчае абраны элемент - + Auto expand tree item when the corresponding object is selected in 3D view Аўтаматычнае разгортванне элемента дрэва, калі абраны адпаведны аб'ект у трохмерным прадстаўленні - + Preselect the object in 3D view when mouse over the tree item Папярэдне абраць аб'ект у трохмерным прадстаўленні, калі паказальнік мышы наведзены на элемент дрэва - + Record selection in tree view in order to go back/forward using navigation button Выбар запісу ў праглядзе дрэва, для пераходу назад/уперад з дапамогай кнопкі навігацыі - + Add checkboxes for selection in document tree Дадаць птушкі для выбару ў дрэве дакументаў @@ -5040,147 +4375,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Выдзяленне колерам - - Selection - Выдзяленне - - - - Enable preselection and highlight by specified color - Уключыць папярэдні выбар і вылучыць зададзеным колерам - - - - Enable preselection highlighting - Уключыць падсвятленне папярэдняга выбару - - - - Enable selection highlighting and use specified color - Уключыць падсвятленне вылучэння і ўжыць зададзены колер - - - - Enable selection highlighting - Уключыць падсвятленне вылучэння - - - + Background color for the model view Колер фону для прадстаўлення мадэлі - + Background color Колер фону - - + + Background will have selected color Фон будзе мець абраны колер - + Simple color Адзінкавы колер - - + + Background will have selected color gradient Фон будзе мець абраны градыент колеру - + Linear gradient Лінейны градыент - + Radial gradient Радыяльны градыент - - + + Top: Зверху: - - + + Middle: Пасярэдзіне: - + Switches the colors of the gradient Пераключае колеры градыенту - + Switch Пераключыць - + Color gradient will get selected color as middle color Градыент колеру атрымае абраны колер як сярэдні колер - + Middle color Колер сярэдзіны - - + + Bottom: Знізу: - + Tree view Прагляд дрэва - + Object being edited Аб'ект змяняецца - + Background color for objects in tree view that are currently edited Колер фону для аб'ектаў у праглядзе дрэва, якія ў бягучы час змяняюцца - + Active container Бягучы кантэйнер - + Background color for active containers in tree view Колер фону для бягучых кантэйнераў у праглядзе дрэва - + Central: Цэнтральны: - + Midway: Пасярэдзіне: - + End: У канцы: @@ -5292,12 +4602,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: невядомая адзінка вымярэння: - + unit mismatch неадпаведная адзінка вымярэння @@ -5305,7 +4615,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement Размясціць @@ -5357,60 +4667,60 @@ The 'Status' column shows whether the document could be recovered. Яшчэ не аднавілася - + Unknown problem occurred Узнікла невядомая памылка - - + + Failed to recover Не атрымалася аднавіць - + Successfully recovered Паспяхова адноўлена - + Finish Скончыць - - + + Delete Выдаліць - - + + Cleanup Ачыстка - + Are you sure you want to delete the selected transient directories? Вы ўпэўненыя, што жадаеце выдаліць абраныя часовыя каталогі? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Пры выдаленні абранага часовага каталогу, пасля вы не зможаце аднавіць якія-небудзь файлы. - + Are you sure you want to delete all transient directories? Вы ўпэўненыя, што жадаеце выдаліць усе часовыя каталогі? - + When deleting all transient directories you won't be able to recover any files afterwards. Пры выдаленні ўсіх часовых каталогаў, пасля вы не зможаце аднавіць якія-небудзь файлы. - + Transient directories deleted. Часовыя каталогі выдаленыя. @@ -5534,7 +4844,7 @@ The 'Status' column shows whether the document could be recovered. Каталог гузікаў - + Add icon folder Дадаць каталог гузікаў @@ -5547,12 +4857,12 @@ The 'Status' column shows whether the document could be recovered. Дадаць ці выдаліць карыстальніцкія каталогі гузікаў - + Remove folder Выдаліць каталог - + Removing a folder only takes effect after an application restart. Выдаленне каталогу ўступае ў сілу толькі пасля перазапуску праграмы. @@ -5622,79 +4932,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Разгарнуць - + Add sub-group Дадаць укладзеную суполку - - + + Remove group Выдаліць суполку - + Rename group Пераназваць суполку - + Export parameter Экспартаваць наладу - + Import parameter Імпартаваць наладу - + Collapse Згарнуць - + Do you really want to remove this parameter group? Ці сапраўды вы жадаеце выдаліць гэтую суполку налад? - + Existing sub-group Укладзеная суполка ўжо існуе - + The sub-group '%1' already exists. Укладзеная суполка '%1' ужо існуе. - + Export parameter to file Экспартаваць наладу ў файл - + Import parameter from file Імпартаваць наладу з файла - + Import Error Памылка імпартавання - + Reading from '%1' failed. Не атрымалася прачытаць з '%1'. @@ -5702,65 +5012,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Змяніць значэнне - + Remove key Выдаліць ключ - + Rename key Пераназваць ключ - + New Новы - + New string item Новы тэкставы элемент - + New float item Новы лікавы элемент - + New integer item Новы цэлалікавы элемент - + New unsigned item Новы беззнакавы цэлалікавы элемент - + New Boolean item Новы лагічны элемент - - - - - + + + + + Existing item Элемент, які існуе - - - - - + + + + + The item '%1' already exists. Элемент '%1' ужо існуе. @@ -5906,7 +5216,7 @@ The 'Status' column shows whether the document could be recovered. Прымяніць - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Калі ласка, абярыце 1, 2 ці 3 кропкі, перш чым націснуць гэтую кнопку. Кропка можа знаходзіцца на вяршыні, грані ці рэбры. Калі ўжываецца кропка на грані ці рабры, то яна будзе кропкай у становішчы мышы наўздоўж грані або рэбры. Калі абрана 1 кропка, яна будзе ўжывацца ў якасці цэнтра кручэння. @@ -5915,12 +5225,12 @@ The 'Status' column shows whether the document could be recovered. У праглядзе справаздачы прадстаўленая некаторая інфармацыя аб адлегласці і вугле, якія могуць быць карысныя пры выраўноўванні аб'ектаў. Для вашай зручнасці пры ўжыванні <Shift+пстрычка мышшу> адпаведныя адлегласці ці вуглы капіруюцца ў буфер абмену. - + Incorrect quantity Неправільная колькасць - + There are input fields with incorrect input, please ensure valid placement values! Некаторыя палі ўводу з няправільным уводам. Калі ласка, пераканайцеся ў правільнасці размяшчэння значэнняў! @@ -5928,12 +5238,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Кнопка - + Command Каманда @@ -5997,17 +5307,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Дрэва Inventor - + Name Назва - + Nodes Вузлоў @@ -6063,14 +5373,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Скасаваць - - + + Transform Пераўтварыць @@ -6168,13 +5478,13 @@ originally selected prior to opening this dialog - + Model Мадэль - + Tasks Задачы @@ -6182,7 +5492,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Выгляд уласцівасці @@ -6190,82 +5500,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Налады - + Display message types Адлюстраваць тыпы паведамленняў - - + + Normal messages Звычайныя паведамленні - - + + Log messages Паведамленні часопісу - - + + Warnings Папярэджанні - - + + Errors Памылкі - - + + Critical messages Крытычныя паведамленні - + Show Report view on Паказаць прагляд справаздачы на - + Redirect Python output Перанакіраваць вывад з Python - + Redirect Python errors Перанакіраваць вывад памылак з Python - + Go to end Перайсці да канца - + Clear Ачысціць - + Save As... Захаваць як... - + Save Report Output Захаваць вывад справаздачы - + Plain Text Files Тэкставыя файлы @@ -6274,13 +5584,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Вывад - + Python console Кансоль Python @@ -6318,72 +5628,72 @@ originally selected prior to opening this dialog Абраны спіс аб'ектаў - + Select only Абраць толькі - + Selects only this object Абраць толькі гэты аб'ект - + Deselect Зняць выбар - + Deselects this object Адмяніць выбар аб'екту - + Zoom fit Маштабаваць у акно - + Selects and fits this object in the 3D window Абраць і змясціць аб'ект у трохмерным акне - + Go to selection Ісці да выбару - + Selects and locates this object in the tree view Абраць і размясціць аб'ект у праглядзе дрэва - + Mark to recompute Адзначыць для пераліку - + Mark this object to be recomputed Адзначыць аб'ект да пералічэння - + To python console Да кансолі Python - + Reveals this object and its subelements in the python console. Паказвае аб'ект і яго ўкладзеныя элементы ў кансолі Python. - + Duplicate subshape Паўтарыць дачынную фігуру - + Creates a standalone copy of this subshape in the document Стварае асобную копію дачыннай фігуры ў дакуменце @@ -6396,7 +5706,7 @@ originally selected prior to opening this dialog Праграма - + Labels & Attributes Надпісы і атрыбуты @@ -6445,27 +5755,27 @@ Do you want to save your changes? Файл PDF - + untitled[*] без назвы[*] - + - Editor - Рэдактар - + %1 chars removed %1 знакаў выдалена - + %1 chars added %1 знакаў дададзена - + Formatted Адфарматаваны @@ -6489,13 +5799,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Абраць файл - + Select a directory Абраць каталог @@ -6503,13 +5813,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Захаваць як - - + + Open Адчыніць @@ -6517,12 +5827,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Пашыраны - + All files (*.*) Усе файлы (*.*) @@ -6530,27 +5840,27 @@ Do you want to save your changes? Gui::Flag - + Top left Зверху злева - + Bottom left Знізу злева - + Top right Зверху справа - + Bottom right Знізу справа - + Remove Выдаліць @@ -6558,22 +5868,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Націсніце ці пстрыкніце <левай кнопкай мышы>. - + Drag screen with two fingers OR press right mouse button. Перацягніце экран двума пальцамі ці націсніце <правую кнопку мышы>. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Перацягніце экран адным пальцам ці націсніце <левую кнопку мышы>. У варштаце Эскізу і іншых рэжымах змены, дадаткова ўтрымлівайце клавішу <Alt>. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Ўскубнуць (змесціце два пальцы на экран і перацягніце іх паасобку ці насустрач адзін аднаму), альбо пракруціце <сярэднюю кнопку мышы> ці націсніце <PgUp>/<PgDown> на клавіятуры. @@ -6581,74 +5891,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz не знойдзены - + Graphviz couldn't be found on your system. Не атрымалася знайсці Graphviz у вашай сістэме. - + Read more about it here. Больш падрабязна чытайце тут. - + Do you want to specify its installation path if it's already installed? Ці жадаеце вы паказаць шлях устаноўкі, калі ён ужо ўсталяваны? - + Graphviz installation path Шлях устаноўкі Graphviz - + Graphviz failed Памылка Graphviz - + Graphviz failed to create an image file Graphviz не атрымалася стварыць файл выявы - + PNG format Фармат PNG - + Bitmap format Фармат BMP - + GIF format Фармат GIF - + JPG format Фармат JPG - + SVG format Фармат SVG - - + + PDF format Фармат PDF - - + + Export graph Экспартаваць дыяграму @@ -6656,12 +5966,12 @@ Do you want to save your changes? Gui::InputField - + Edit Змяніць - + Save value Захаваць значэнне @@ -6669,22 +5979,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Націсніце <Ctrl> і <левую кнопку мышы> - + Press middle mouse button Націснуць <сярэднюю кнопку мышы> - + Press left mouse button Націснуць <левую кнопку мышы> - + Scroll middle mouse button Пракруціць <сярэднюю кнопку мышы> @@ -6692,7 +6002,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Спіс @@ -6700,66 +6010,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Вызначаны карыстальнікам... - + - - + + Wrong direction Няправільны напрамак - + - - + + Direction must not be the null vector Напрамак не павінен быць нулявым вектарам @@ -6767,40 +6077,40 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: - Direction: + Напрамак: Gui::MacroCommand - + Macros Макрас - + Macro file doesn't exist Файл макраса не існуе - + No such macro file: '%1' Файл макраса адсутнічае: '%1' @@ -6808,63 +6118,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Вымярэнне - + Ready Гатовы - + Help addon needed! Неабходны дадатак даведкі! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Даведачная сістэма %1 цяпер апрацоўваецца дадаткам "Даведка". Яго можна лёгка ўсталяваць праз Кіраванне дадаткамі - + Open Addon Manager Адчыніць Кіраванне дадаткамі - + Close All Зачыніць усё - - + + Toggles this toolbar Пераключае панэль інструментаў - - + + Toggles this dockable window Пераключае ўбудаванае акно - - + + WARNING: This is a development version. + ПАПЯРЭДЖАННЕ: Гэта версія для распрацоўшчыкаў. + + + + Please do not use in a production environment. + Калі ласка, не ўжывайце ў вытворчым асяроддзі. + + + + Unsaved document Незахаваны дакумент - + The exported object contains external link. Please save the documentat least once before exporting. Аб'ект, які экспартуецца, утрымлівае знешні спасылак. Калі ласка, захавайце дакумент хаця б адзін раз перад экспартаваннем. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Каб стварыць спасылак на знешнія аб'екты, дакумент павінен быць захаваны хаця б адзін раз. @@ -6874,63 +6194,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Ручное выраўноўванне - + The alignment is already in progress. Выраўноўванне ўжо адбываецца. - + Alignment[*] Выраўноўванне[*] - + Please, select at least one point in the left and the right view Калі ласка, абярыце хаця б адну кропку ў левым і правам выглядзе - + Please, select at least %1 points in the left and the right view Калі ласка, абярыце па крайняй меры %1 кропак у левым і правым выглядзе - + Please pick points in the left and right view Калі ласка, абярыце кропкі ў левым і правам выглядзе - + The alignment has finished Выраўноўванне скончана - + The alignment has been canceled Выраўноўванне было скасавана - - + + Too few points picked in the left view. At least %1 points are needed. Абрана занадта мала кропак пры выглядзе злева. Патрабуецца не менш чым %1 кропак. - - + + Too few points picked in the right view. At least %1 points are needed. Абрана занадта мала кропак пры выглядзе справа. Патрабуецца не менш чым %1 кропак. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6939,59 +6259,59 @@ on the right view %2 points are picked. пры праглядзе справа абрана %2 кропак. - + Try to align group of views Паспрабаваць выраўнаваць суполку выглядаў - + The alignment failed. How do you want to proceed? Выраўноўванне не атрымалася. Як вы хочаце дзейнічаць далей? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Розная колькасць кропак, якія абраныя пры праглядзе злева і справа. Пры праглядзе злева абрана %1 кропак, пры праглядзе справа абрана %2 кропак. - + Point_%1 Кропка_%1 - + Point picked at (%1,%2,%3) Абрана кропка з каардынатамі (%1,%2,%3) - + No point was found on model У мадэлі не знойдзена ніводнай кропкі - + No point was picked Не абрана ніводнай кропкі - + &Align &Выраўнаваць - + &Remove last point &Выдаліць апошнюю кропку - + &Cancel &Скасаваць - + &Synchronize views &Сінхранізаваць выгляды @@ -6999,22 +6319,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Націсніце ці пстрыкніце <левай кнопкай мышы>. - + Drag screen with two fingers OR press ALT + middle mouse button. Перацягвайце экран двума пальцамі ці націсніце <Alt + сярэдняя кнопка мышы>. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Перацягніце экран адным пальцам ці націсніце <Alt+ левую кнопку мышы>. У варштаце Эскізу і іншых рэжымах змены, дадаткова ўтрымлівайце клавішу <Alt>. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Ўскубнуць (змясціце два пальцы на экран і правядзіце імі паасобку або насустрач адзін аднаму), ці пракруціць <сярэднюю кнопку мышы>, ці націснуць <Alt + правая кнопка мышы>, ці націснуць <PgUp>/<PgDown> на клавіятуры. @@ -7022,7 +6342,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Націсніце клавішы-мадыфікатары @@ -7038,22 +6358,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Націснуць <левую кнопку мышы> - + Press CTRL and middle mouse button Націсніце <Ctrl> і <сярэднюю кнопку мышы> - + Press CTRL and right mouse button Націсніце <Ctrl> і <правую кнопку мышы> - + Press CTRL and left mouse button Націсніце <Ctrl> і <левую кнопку мышы> @@ -7061,22 +6381,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Націснуць <левую кнопку мышы> - + Press right mouse button and move mouse Націсніце <правую кнопку мышы> і рухайце мыш - + Press left mouse button and move mouse Націсніце <левую кнопку мышы> і рухайце мыш - + Press middle mouse button or SHIFT and right mouse button Націсніце <сярэднюю кнопку мышы> ці <Shift> з <правай кнопкай мышы> @@ -7084,17 +6404,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Змяніць - + Save value Захаваць значэнне - + Clear list Ачысціць спіс @@ -7125,12 +6445,12 @@ How do you want to proceed? Засталося: %1 - + Aborting Перапынена - + Do you really want to abort the operation? Ці сапраўды вы жадаеце перарваць аперацыю? @@ -7138,7 +6458,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Змяніць звязаны аб'ект @@ -7146,12 +6466,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Памылка - + Object not found Аб'ект не знойдзены @@ -7222,13 +6542,13 @@ How do you want to proceed? Gui::PropertyView - + View Від - + Data Дадзеныя @@ -7276,77 +6596,77 @@ Do you want to exit without saving your data? Неапрацаванае невядомае выключэнне C++. - + &Copy &Капіраваць - + &Copy command &Скапіраваць каманду - + &Copy history &Скапіраваць гісторыю - + Save history as... Захаваць гісторыю як... - + Save history Захаваць гісторыю - + Saves Python history across %1 sessions Захоўвае гісторыю Python у %1 сеансах - + &Paste &Уставіць - + Select All Пазначыць усё - + Clear console Ачысціць кансоль - + Insert file name... Уставіць імя файла... - + Word wrap Перанос па словах - + Save History Захаваць гісторыю - + Macro Files Файлы макрасаў - + Insert file name Уставіць імя файла - + All Files Усе файлы @@ -7354,7 +6674,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Каментар @@ -7367,17 +6687,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Адчыніць файл %1 - + File not found Файл не знойдзены - + The file '%1' cannot be opened. Не атрымалася адчыніць файл '%1'. @@ -7385,22 +6705,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none адсутнічае - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Запусціць макрас %1 (<Shift+пстрычка> каб змяніць) спалучэнне клавіш: %2 - + File not found Файл не знойдзены - + The file '%1' cannot be opened. Не атрымалася адчыніць файл '%1'. @@ -7408,22 +6728,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Націснуць <левую кнопку мышы> - + Press middle mouse button Націснуць <сярэднюю кнопку мышы> - + Press SHIFT and middle mouse button Націснуць клавішу <Shift> і <сярэднюю кнопку мышы> - + Scroll middle mouse button Пракруціць <сярэднюю кнопку мышы> @@ -7454,17 +6774,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Абраць модуль - + Open %1 as Адчыніць %1 як - + Select Абраць @@ -7533,13 +6853,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Аўтаматычна створаная дакументацыя модуляў Python - - + + Opens a browser to show the Python modules documentation Адчыняе аглядальнік, каб паказаць дакументацыю модуляў Python @@ -7557,7 +6877,7 @@ Do you want to specify another directory? Position - Position + Становішча @@ -7665,7 +6985,7 @@ Do you want to specify another directory? A dialog is already open in the task panel - A dialog is already open in the task panel + На панэлі задач дыялогавае акно ўжо адчыненае @@ -7692,38 +7012,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Абноўлены тэкст - + The text of the underlying object has changed. Discard changes and reload the text from the object? Тэкст базавага аб'екта змяніўся. Скасаваць змены і перазагрузіць тэкст з аб'екту? - + Yes, reload. Так, перагрузіць. - + Unsaved document Незахаваны дакумент - + Do you want to save your changes before closing? Ці жадаеце вы захаваць свае змены перад закрыццём? - + If you don't save, your changes will be lost. Калі вы не захаваеце, вашыя змены будуць незваротна страчаныя. - - + + Edit text Змяніць тэкст @@ -7731,22 +7051,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Націснуць <левую кнопку мышы> - + Press middle mouse button Націснуць <сярэднюю кнопку мышы> - + Press right mouse button Націснуць <правую кнопку мышы> - + Scroll middle mouse button Пракруціць <сярэднюю кнопку мышы> @@ -7754,22 +7074,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Націснуць <левую кнопку мышы> - + Press SHIFT button Націсніце кнопку <Shift> - + Press ALT button Націсніце кнопку <Alt> - + Press CTRL and SHIFT buttons Націсніце клавішы <Ctrl> і <Shift> @@ -7995,7 +7315,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Прагляд дрэва @@ -8003,7 +7323,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Пошук @@ -8011,184 +7331,184 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Пошук... - + Search for objects Пошук аб'ектаў - + Activate document Задзейнічаць дакумент - + Activate document %1 Задзейнічаць дакумент %1 - + Tree settings Налады дрэва - + Show description column Паказаць слупок апісання - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Паказаць дадатковы слупок прагляду дрэва для апісання элемента. Апісанне элемента можна задаць, калі націснуць клавішу <F2> (ці кнопку змены ў вашай аперацыйнай сістэме), альбо змяніць уласцівасць 'label2'. - + Group Суполка - + Labels & Attributes Надпісы і атрыбуты - + Description Апісанне - + Show items hidden in tree view Паказаць схаваныя элементы ў праглядзе дрэва - + Show items that are marked as 'hidden' in the tree view Паказвае элементы, якія пазначаныя як 'схаваныя' у праглядзе дрэва - + Toggle visibility in tree view Пераключыць бачнасць у праглядзе дрэва - + Toggles the visibility of selected items in the tree view Пераключае бачнасць абраных элементаў у праглядзе дрэва - + Create group... Стварыць суполку... - + Create a group Стварыць суполку - - + + Rename Пераназваць - + Rename object Пераназваць аб'ект - + Finish editing Скончыць змену - + Finish editing object Скончыць змену аб'екта - + Add dependent objects to selection Дадаць залежныя аб'екты да выдзялення - + Adds all dependent objects to the selection Дадаць усе залежныя аб'екты да выдзялення - + Close document Зачыніць дакумент - + Close the document Закрыць дакумент - + Reload document Перазагрузіць дакумент - + Reload a partially loaded document Перазагрузіць часткова загружаныя дакументы - + Skip recomputes Прапусціць вылічэнні - + Enable or disable recomputations of document Уключае ці адключае паўторныя вылічэнні дакумента - + Allow partial recomputes Дазволіць частковыя вылічэнні - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Уключае ці адключае паўторныя вылічэнні аб'екта змены, калі ўключана налада 'Прапусціць вылічэнні' - + Mark to recompute Адзначыць для пераліку - + Mark this object to be recomputed Адзначыць аб'ект да пералічэння - + Recompute object Вылічыць аб'ект - + Recompute the selected object Вылічыць абраны аб'ект - + (but must be executed) (але павінен быць выкананы) - + %1, Internal name: %2 %1, унутраная назва: %2 @@ -8219,12 +7539,12 @@ Do you want to specify another directory? Файл PDF - + Opening file failed Немагчыма адчыніць файл - + Can't open file '%1' for writing. Не атрымалася адчыніць файл '%1' для запісу. @@ -8232,7 +7552,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Абраць варштат '%1' @@ -8240,37 +7560,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Службы - + Hide %1 Схаваць %1 - + Hide Others Схаваць іншыя - + Show All Паказаць усё - + Preferences... Перавагі... - + Quit %1 Выйсці з %1 - + About %1 Аб %1 @@ -8290,11 +7610,6 @@ Do you want to specify another directory? Position - - - Form - Форма - X: @@ -8389,14 +7704,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Хібны ўвод - - + + Input in line %1 is not a number Уведзенае значэнне ў радок %1 не з'яўляецца лікам @@ -8404,37 +7719,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Прагляд дрэва - + Property view Выгляд уласцівасці - + Selection view Выгляд абранага - + Combo View Камбінаваны Прагляд - + DAG View Выгляд DAG - + Report view Прагляд справаздачы - + Python console Кансоль Python @@ -8447,31 +7762,32 @@ Do you want to specify another directory? QObject - - + + General Асноўныя - - + + + Display Праецыраванне - + Workbenches Варштаты - - - + + + Python Python @@ -8499,17 +7815,27 @@ Do you want to specify another directory? Не атрымалася захаваць у невядомым тыпе файла: %1 - + Workbench failure Памылка загрузкі варштату - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Выключэнне @@ -8555,8 +7881,8 @@ Do you want to specify another directory? Экспарт у PDF... - + Unsaved document Незахаваны дакумент @@ -8577,39 +7903,39 @@ Do you want to specify another directory? Памылка залежнасці - + Copy selected Скапіраваць абранае - + Copy active document Капіраваць бягучы дакумент - + Copy all documents Капіраваць усе дакументы - + Paste Уставіць - + Expression error Памылка выразу - + Failed to parse some of the expressions. Please check the Report View for more details. Не атрымалася разабраць некаторыя выразы. Калі ласка, азнаёмцеся з праглядам справаздачы для атрымання больш падрабязнай інфармацыі. - + Failed to paste expressions Не атрымалася ўставіць выраз @@ -8645,225 +7971,225 @@ Be aware the point where you click matters. Памятайце, што кропка, куды вы націскаеце, мае значэнне. - - + + Save views... Захаваць выгляды... - - + + Load views... Загрузіць выгляды... - - + + Freeze view Замарозіць выгляд - - + + Clear views Ачысціць выгляды - - - + + + Restore view &%1 Аднавіць выгляд &%1 - + Save frozen views Захаваць замарожаныя выгляды - - + + Frozen views Замарожаныя выгляды - - + + Restore views Аднавіць выгляды - + Importing the restored views would clear the already stored views. Do you want to continue? Імпартаванне адноўленых выглядаў прывядзе да ачыстцы ўжо захаваных выглядаў. Ці жадаеце вы працягнуць? - + Restore frozen views Аднавіць замарожаныя выгляды - + Cannot open file '%1'. Не атрымалася адчыніць файл '%1'. - + files файлы - + Save image Захаваць выяву - + Choose an image file to open Абраць файл выявы, каб адчыніць - + New sub-group Новая ўкладзеная суполка - - - - - - + + + + + + Enter the name: Увядзіце назву: - - + + New text item Новы тэкставы элемент - - + + Enter your text: Увядзіце тэкст: - - + + New integer item Новы цэлалікавы элемент - - - - - - + + + + + + Enter your number: Увядзіце лік: - - + + New unsigned item Новы беззнакавы цэлалікавы элемент - - + + New float item Новы лікавы элемент - + New Boolean item Новы лагічны элемент - - + + Choose an item: Абярыце элемент: - + New boolean item Новы лагічны элемент - + Rename group Пераназваць суполку - + The group '%1' cannot be renamed. Суполка '%1' не можа быць пераназваная. - + Existing group Суполка, якая існуе - + The group '%1' already exists. Суполка '%1' ужо існуе. - - - - - + + + + + Change value Змяніць значэнне - + Type Тып - + Notifier Апавяшчальнік - + Message Паведамленне - + Notifier: Апавяшчальнік: - + Do you want to skip confirmation of further critical message notifications while loading the file? Ці жадаеце вы прапускаць пацверджанні далейшых апавяшчэнняў аб крытычных паведамленнях пры загрузцы файла? - + Critical Message Крытычнае паведамленне - + Too many opened non-intrusive notifications. Notifications are being omitted! Зашмат адчыненых ненадакучлівых апавяшчэнняў. Апавяшчэнні прапускаюцца! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8872,44 +8198,44 @@ Do you want to continue? - + Are you sure you want to continue? Ці ўпэўненыя вы, што жадаеце працягнуць? - + Please check report view for more... Калі ласка, праверце прагляд справаздачы, каб атрымаць дадатковую інфармацыю... - + Physical path: Фізічны шлях: - - + + Document: Дакумент: - - + + Path: Шлях: - + Identical physical path Ідэнтычны фізічны шлях - + Could not save document Не атрымалася захаваць дакумент - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8922,102 +8248,102 @@ Would you like to save the file with a different name? Ці жадаеце вы захаваць файл з іншым іменем? - - - + + + Saving aborted Захаванне перапынена - + Save dependent files Захаваць залежныя файлы - + The file contains external dependencies. Do you want to save the dependent files, too? Файл утрымлівае знешнія залежнасці. Ці жадаеце вы таксама захаваць залежныя файлы? - - + + Saving document failed Не атрымалася захаваць дакумент - + Save document under new filename... Захаваць дакумент з новым іменем файла... - - + + Save %1 Document Захаваць дакумент %1 - + Document Дакумент - - + + Failed to save document Не атрымалася захаваць дакумент - + Documents contains cyclic dependencies. Do you still want to save them? Дакументы ўтрымлівае цыклічныя залежнасці. Ці жадаеце вы яшчэ іх захаваць? - + Save a copy of the document under new filename... Захаваць копію дакумента з новым іменем файла... - + %1 document (*.FCStd) Дакумент %1 (*.FCStd) - + Document not closable Дакумент не можа быць зачынены - + The document is not closable for the moment. На дадзены момант дакумент нельга зачыніць. - + Document not saved Дакумент не захаваны - + The document%1 could not be saved. Do you want to cancel closing it? - Дакумент %1 не атрымалася захаваць. Ці жадаеце вы адмяніць яго закрыццё? + Дакумент %1 не атрымалася захаваць. Ці жадаеце вы скасаваць яго закрыццё? - + Undo Адкаціць - + Redo Зрабіць нанова - + There are grouped transactions in the following documents with other preceding transactions У наступных дакументах згрупаваныя аперацыі з іншымі папярэднімі аперацыямі - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9031,47 +8357,47 @@ Choose 'Abort' to abort Захаваць макрас - - + + Finish Скончыць - - + + Clear Ачысціць - - - + + + Cancel Скасаваць - + Inner Унутры - + Outer Звонку - + Split Падзяліць - - + + No Browser Без аглядальніку - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9080,48 +8406,48 @@ Please open a browser window and type in: http://localhost:%1. Калі ласка, адчыніце акно аглядальніку і ўвядзіце: http://localhost:%1. - + No Server Без сервера - + Unable to start the server to port %1: %2. Немагчыма запусціць сервер на порт %1: %2. - + Unable to open your system browser. Немагчыма запусціць сістэмны аглядальнік. - + Options... Налады... - + Out of memory Не хапае памяці - + Not enough memory available to display the data. Недастаткова памяці для адлюстравання дадзеных. - - + + Cannot find file %1 Не атрымалася знайсці файл %1 - + Cannot find file %1 neither in %2 nor in %3 Не атрымалася знайсці файл %1 ні ў %2, ні ў %3 - + Navigation styles Стылі навігацыі @@ -9131,53 +8457,53 @@ Please open a browser window and type in: http://localhost:%1. Рухаць заметку - - + + Transform Пераўтварыць Do you want to close this dialog? - Do you want to close this dialog? + Ці жадаеце вы зачыніць дыялогавае акно? - + Do you want to save your changes to document '%1' before closing? Ці жадаеце вы захаваць свае змены ў дакуменце '%1' перад закрыццём? - + Do you want to save your changes to document before closing? Ці жадаеце вы захаваць свае змены ў дакуменце перад закрыццём? - + If you don't save, your changes will be lost. Калі вы не захаваеце, вашыя змены будуць незваротна страчаныя. - + Apply answer to all Прымяніць адказ да ўсіх - + %1 Document(s) not saved %1 дакументы не захаваныя - + Some documents could not be saved. Do you want to cancel closing? - Некаторыя дакументы не атрымалася захаваць. Ці жадаеце вы адмяніць закрыццё? + Некаторыя дакументы не атрымалася захаваць. Ці жадаеце вы скасаваць закрыццё? - + Delete macro Выдаліць макрас - + Not allowed to delete system-wide macros Не дазваляецца выдаляць агульнасістэмныя макрасы @@ -9187,27 +8513,27 @@ Please open a browser window and type in: http://localhost:%1. Пачатак каардынат - + Delete group content? Выдаліць змест суполкі? - + The %1 is not empty, delete its content as well? %1 не пусты, ці выдаліць таксама і яго змест? - + Translation: Перанос: - + Rotation: Вярчэнне: - + Toggle active part Пераключыць бягучую дэталь @@ -9270,86 +8596,86 @@ Please open a browser window and type in: http://localhost:%1. Не атрымалася імпартаваць усе сувязі - - + + Invalid name Хібная назва - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Назва ўласцівасці ці назва суполкі павінна ўтрымліваць толькі літарна-лічбавыя абазначэнні, знак падкрэслівання, і не павінна пачынацца з лічбы. - + The property '%1' already exists in '%2' Уласцівасць '%1' ужо існуе ў '%2' - + Add property Дадаць уласцівасць - + Failed to add property to '%1': %2 Не атрымалася дадаць уласцівасць да '%1': %2 - - + + Drag & drop failed Не атрымалася перамясціць - + Setup configurable object Налада карыстальніцкага аб'екту - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Абярыце, які аб'ект капіраваць ці выключаць пры змене налад. Усе вонкавыя звязаныя аб'екты першапачаткова выключаныя. - + Please select which objects to copy when the configuration is changed Калі ласка, абярыце, якія аб'екты капіраваць пры змене налад - + Apply to all Ужыць да ўсіх - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Прымяніць наладу да ўсіх сувязяў. Не птушка, каб прымяніць толькі да гэтай сувязі. - + Copy on change Капіраваць пры зменах - + Enable Уключыць - + Enable auto copy of linked object when its configuration is changed Уключае аўтаматычнае капіраванне звязанага аб'екта пры змене яго налад - + Tracking Адсочванне - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9358,17 +8684,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Адключыць капіраванне пры зменах - + Refresh configurable object Перачытаць карыстальніцкі аб'ект - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9378,28 +8704,28 @@ the current copy will be lost. - + Toggle array elements Пераключыць элементы масіву - + Change whether show each link array element as individual objects Зменіць, ці паказваць кожны элемент артаганальная сеткі як асобныя аб'екты - + Transform at the origin of the placement Пераўтварыць размяшчэнне ў пачатку каардынат - - + + Override colors... Пераназначыць колеры... - + Edit %1 Змяніць %1 @@ -9422,12 +8748,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Не дазволена: - + Selection not allowed by filter Выбар, які не дазволены фільтрам @@ -9435,9 +8761,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Вобласць выбару элементаў @@ -9445,13 +8771,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Вылучыць вобласць - - + + Activate the box selection tool Задзейнічаць інструмент выбару вобласці @@ -9529,13 +8855,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Пераключыць бачнасць восей каардынат - - + + Turns on or off the axis cross at the origin Уключае ці выключае скрыжаванне восей у пачатку каардынат @@ -9641,13 +8967,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Паваротны выгляд... - - + + View turntable Паваротны выгляд @@ -9767,13 +9093,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Стыль прадстаўлення - - + + Change the draw style of the objects Змяняе стыль прадстаўлення аб'ектаў @@ -9837,13 +9163,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Дзеянні з выразам - - + + Actions that apply to expressions Дзеянні, якія прымяняюцца да выразаў @@ -9960,13 +9286,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Запомніць выгляд - - + + Freezes the current view position Запомніць бягучае становішча выгляду @@ -9987,13 +9313,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Схаваць усе аб'екты - - + + Hide all objects in the document Хавае ўсе аб'екты ў дакуменце @@ -10001,13 +9327,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Схаваць абранае - - + + Hide all selected objects Хавае ўсе абраныя аб'екты @@ -10281,13 +9607,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Вымярэнне адлегласці - - + + Activate the distance measurement tool Задзейнічаць інструмент вымярэння адлегласці @@ -10346,8 +9672,8 @@ the current copy will be lost. Стварыць новы пусты дакумент - - + + Unnamed Без назвы @@ -10575,8 +9901,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Апошнія файлы + Open Recent + Адчыніць апошнія файлы @@ -10714,13 +10040,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Інспектар сцэны... - - + + Scene inspector Інспектар сцэны @@ -10728,13 +10054,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Назад - - + + Go back to previous selection Вярнуцца да папярэдняга абранага @@ -10742,13 +10068,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Габарыты - - + + Show selection bounding box Паказаць габарыты абранага @@ -10756,13 +10082,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Наперад - - + + Repeat the backed selection Паўтарыць захаваны выбар @@ -10784,13 +10110,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Абраць бачныя аб'екты - - + + Select visible objects in the active document Абірае бачныя аб'екты ў бягучым дакуменце @@ -10812,13 +10138,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Знешні выгляд... - - + + Sets the display properties of the selected object Задае ўласцівасці адлюстравання абранага аб'екту @@ -10826,13 +10152,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Паказаць усе аб'екты - - + + Show all objects in the document Паказвае ўсе аб'екты ў дакуменце @@ -10840,13 +10166,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Паказаць абранае - - + + Show all selected objects Паказвае ўсе абраныя аб'екты @@ -10882,13 +10208,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Супастаўленне тэкстуры... - - + + Texture mapping Супастаўленне тэкстуры @@ -10924,13 +10250,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Плоскасць перасеку - - + + Toggles clipping plane for active view Пераключыць плоскасць перасеку для бягучага выгляду @@ -10938,13 +10264,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Пераключыць навігацыю/рэжым змены - - + + Toggle between navigation and edit mode Пераключае паміж навігацыяй і рэжымам змены @@ -10952,13 +10278,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Пераключыць усе аб'екты - - + + Toggles visibility of all objects in the active document Пераключае бачнасць усіх аб'ектаў у бягучым дакуменце @@ -10966,13 +10292,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Пераключыць магчымасць выбару - - + + Toggles the property of the objects to get selected in the 3D-View Пераключае ўласцівасць аб'ектаў, якія будуць абраныя ў трохмерным прадстаўленні @@ -10980,13 +10306,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Пераключыць бачнасць - - + + Toggles visibility Пераключае бачнасць @@ -11036,13 +10362,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Згарнуць абраны элемент - - + + Collapse currently selected tree items Згортвае бягучыя абраныя элементы дрэва @@ -11050,13 +10376,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Разгарнуць абраны элемент - - + + Expand currently selected tree items Разгортвае бягучыя абраныя элементы дрэва @@ -11064,13 +10390,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Абраць усе асобнікі - - + + Select all instances of the current selected object Абірае ўсе асобнікі бягучага абранага аб'екту @@ -11078,13 +10404,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions Дзеянні з дрэвам - - + + TreeView behavior options and actions Налады і дзеянні паводзін дрэва @@ -11148,13 +10474,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Знізу - - + + Set to bottom view Задаць выгляд знізу @@ -11162,13 +10488,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Стварыць новы выгляд - - + + Creates a new view window for the active document Стварае новае акно выгляду для бягучага дакументу @@ -11176,13 +10502,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Дыметрычны - - + + Set to dimetric view Задаць дыметрычны выгляд @@ -11190,13 +10516,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Прыклад Inventor #1 - - + + Shows a 3D texture with manipulator Паказвае трохмерную тэкстуру з дапамогай маніпулятара @@ -11204,13 +10530,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Прыклад Inventor #2 - - + + Shows spheres and drag-lights Паказвае сферы і крыніцы свету, якія перацягваюцца @@ -11218,13 +10544,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Прыклад Inventor #3 - - + + Shows a animated texture Паказвае анімаваныя тэкстуры @@ -11232,13 +10558,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Запоўніць усё - - + + Fits the whole content on the screen Запаўняе ўвесь змест на экране @@ -11246,13 +10572,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Запоўніць абранае - - + + Fits the selected content on the screen Запаўняе абраны змест на экране @@ -11260,13 +10586,13 @@ the current copy will be lost. StdCmdViewFront - + Front Спераду - - + + Set to front view Задаць выгляд спераду @@ -11274,13 +10600,13 @@ the current copy will be lost. StdCmdViewHome - + Home Першапачатковы - - + + Set to default home view Задае першапачатковы выгляд @@ -11288,13 +10614,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Ізаметрычны - - + + Set to isometric view Задаць ізаметрычны выгляд @@ -11302,13 +10628,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Вывадзіць становішча камеры - - + + Issue the camera position to the console and to a macro, to easily recall this position Вывядзенне становішча камеры на кансоль і ў макрас для лёгкага выкліку становішча @@ -11316,13 +10642,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Стэрэа слупкоў з чаргаваннем - - + + Switch stereo viewing to Interleaved Columns Пераключае стэрэаскапічны выгляд на выгляд слупкоў з чаргаваннем @@ -11330,13 +10656,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Стэрэа радкоў з чаргаваннем - - + + Switch stereo viewing to Interleaved Rows Пераключае стэрэаскапічны выгляд на выгляд радкоў з чаргаваннем @@ -11344,13 +10670,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Выключыць стэрэа - - + + Switch stereo viewing off Выключае стэрэаскапічны выгляд @@ -11358,13 +10684,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Чацвярны буфер стэрэа - - + + Switch stereo viewing to quad buffer Пераключае стэрэаскапічны выгляд на чацвярны буфер @@ -11372,13 +10698,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Стэрэа чырвоны/блакітны - - + + Switch stereo viewing to red/cyan Пераключае стэрэаскапічны выгляд на чырвоны/блакітны рэжым @@ -11386,13 +10712,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Злева - - + + Set to left view Задаць выгляд злева @@ -11400,13 +10726,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Ззаду - - + + Set to rear view Задаць выгляд сзаду @@ -11428,13 +10754,13 @@ the current copy will be lost. StdCmdViewRight - + Right Справа - - + + Set to right view Задаць выгляд справа @@ -11442,13 +10768,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Павярнуць улева - - + + Rotate the view by 90° counter-clockwise Павярнуць выгляд на 90 градусаў супраць гадзінніка @@ -11456,13 +10782,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Павярнуць управа - - + + Rotate the view by 90° clockwise Павярнуць выгляд на 90 градусаў па гадзінніку @@ -11484,13 +10810,13 @@ the current copy will be lost. StdCmdViewTop - + Top Зверху - - + + Set to top view Задаць выгляд зверху @@ -11498,13 +10824,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Трыметрычны - - + + Set to trimetric view Задаць трыметрычны выгляд @@ -11512,13 +10838,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Пашырае трохмернае акно FreeCAD у Oculus Rift @@ -11582,13 +10908,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Поўнаэкранны - - + + Display the main window in fullscreen mode Адлюстраваць галоўнае акно ў поўнаэкранным рэжыме @@ -11624,13 +10950,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Выклікаць працоўны выгляд - - + + Recall previously stored temporary working view Выклікае раней захаваны часовы працоўны выгляд @@ -11638,13 +10964,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Запомніць працоўны выгляд - - + + Store a document-specific temporary working view Запамінае часовы працоўны выгляд для дакумента @@ -11652,13 +10978,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Згарнуць/Разгарнуць - - + + Expand active document and collapse all others Разгортвае бягучы дакумент і згортвае ўсе астатнія @@ -11666,12 +10992,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Распачаць перацягванне - + Initiate dragging of current selected tree items Распачынае перацягвання бягучых абраных элементаў дрэва @@ -11679,13 +11005,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Шматкампанентны дакумент - - + + Display all documents in the tree view Адлюстраваць усе дакументы ў праглядзе дрэва @@ -11693,12 +11019,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Папярэдні выбар - + Preselect the object in 3D view when mouse over the tree item Папярэдне абраць аб'ект у трохмерным прадстаўленні, калі паказальнік мышы наведзены на элемент дрэва @@ -11706,12 +11032,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Запісаць абранае - + Record selection in tree view in order to go back/forward using navigation button Выбар запісу ў праглядзе дрэва, для пераходу назад/уперад з дапамогай кнопкі навігацыі @@ -11719,13 +11045,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Ісці да выбару - - + + Scroll to first selected item Пракруціць да першага абранага элемента @@ -11733,13 +11059,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Адзінкавы дакумент - - + + Only display the active document in the tree view Адлюстраваць толькі бягучы дакумент у праглядзе дрэва @@ -11747,12 +11073,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Сінхранізаваць размяшчэнне - + Auto adjust placement on drag and drop objects across coordinate systems Аўтаматычная налада размяшчэння пры перацягванні аб'ектаў у розных сістэмах каардынатаў @@ -11760,12 +11086,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Сінхранізаваць абранае - + Auto expand tree item when the corresponding object is selected in 3D view Аўтаматычнае разгортванне элемента дрэва, калі абраны адпаведны аб'ект у трохмерным прадстаўленні @@ -11773,12 +11099,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Сінхранізаваць выгляд - + Auto switch to the 3D view containing the selected item Аўтаматычнае пераключэнне на трохмернае прадстаўленне, якое змяшчае абраны элемент @@ -11786,13 +11112,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Павялічыць вобласць - - + + Activate the box zoom tool Задзейнічаць інструмент выбару маштабавання @@ -11800,13 +11126,13 @@ the current copy will be lost. StdViewDock - + Docked Прымацаваны - - + + Display the active view either in fullscreen, in undocked or docked mode Адлюстроўваць бягучы выгляд альбо ў поўнаэкранным рэжыме, альбо ў адмацаваным ці замацаваным рэжыме @@ -11814,13 +11140,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Акно дакумента - - + + Display the active view either in fullscreen, in undocked or docked mode Адлюстроўваць бягучы выгляд альбо ў поўнаэкранным рэжыме, альбо ў адмацаваным ці замацаваным рэжыме @@ -11828,13 +11154,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Поўнаэкранны - - + + Display the active view either in fullscreen, in undocked or docked mode Адлюстроўваць бягучы выгляд альбо ў поўнаэкранным рэжыме, альбо ў адмацаваным ці замацаваным рэжыме @@ -11842,13 +11168,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Захаваць выяву... - - + + Creates a screenshot of the active view Стварае здымак экрана бягучага выгляду @@ -11856,13 +11182,13 @@ the current copy will be lost. StdViewUndock - + Undocked Адмацаваны - - + + Display the active view either in fullscreen, in undocked or docked mode Адлюстроўваць бягучы выгляд альбо ў поўнаэкранным рэжыме, альбо ў адмацаваным ці замацаваным рэжыме @@ -11870,13 +11196,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Павялічыць - - + + Increase the zoom factor by a fixed amount Павялічыць каэфіцыент маштабавання на фіксаваную велічыню @@ -11884,13 +11210,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Паменшыць - - + + Decrease the zoom factor by a fixed amount Паменшыць каэфіцыент маштабавання на фіксаваную велічыню @@ -11925,72 +11251,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Як ёсць - + Normal mode Звычайны рэжым - + Points Кропкі - + Points mode Кропкавы рэжым - + Wireframe Каркас - + Wireframe mode Каркасны рэжым - + Hidden line Схаваныя лініі - + Hidden line mode Рэжым схаваных ліній - + No shading Без зацянення - + No shading mode Рэжым без зацянення - + Shaded Заценены - + Shaded mode Рэжым заценены - + Flat lines Плоскія лініі - + Flat lines mode Рэжым плоскіх ліній @@ -12053,32 +11379,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. Паказаць элемент прагляду дрэва ў фоне. Эфектыўны толькі пры працы ў рэжыме накладання. - + Tree view item background padding. Запаўненне фону элемента прагляду дрэва. - + Hide extra tree view column for item description. Схаваць дадатковы слупок прагляду для апісання элементу. - + Hide tree view scroll bar in dock overlay. Схаваць паласу пракруткі прагляду дрэва ў замацаванай панэлі. - + Hide tree view header view in dock overlay. Схаваць загаловак прагляду дрэва ў замацаванай панэлі. - + Allow tree view columns to be manually resized. Дазволіць уручную змяняць памер слупкоў прагляду дрэва. @@ -12086,117 +11412,117 @@ Do you still want to proceed? Workbench - + &File &Файл - + &Edit &Праўка - + Edit Змяніць - + Clipboard Буфер абмену - + Workbench Варштат - + Structure Структура - + Standard views Стандартныя выгляды - + Axonometric Аксанаметрычны - + &Stereo &Стэрэа - + &Zoom &Маштаб - + Visibility Бачнасць - + &View &Від - + &Tools &Інструменты - + &Macro &Макрас - + &Windows &Вокны - + &On-line help &Анлайн даведка - + &Help &Даведка - + Help Даведка - + File Файл - + Macro Макрас - + View Від - + Special Ops Спецыяльныя аперацыі - + Link actions Дзеянні з сувязямі @@ -12204,12 +11530,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF Экспартаваць у PDF - + PDF file Файл PDF @@ -12217,195 +11543,189 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Вобласць апавяшчэнняў - + Settings Налады - + The Notification area will appear in the status bar Вобласць апавяшчэнняў будзе адлюстроўвацца ў радку стану - + Enable Notification Area Уключыць Вобласць апавяшчэнняў - + Non-intrusive notifications will appear next to the notification area in the status bar Ненадакучлівыя апавяшчэння будуць адлюстроўвацца побач з вобласцю апавяшчэнняў у радку стану - + Enable non-intrusive notifications Уключыць ненадакучлівыя апавяшчэнні - + Additional data sources Дадатковыя крыніцы дадзеных - + Errors intended for developers will appear in the notification area Памылкі, якія прызначаныя для распрацоўшчыкаў, будуць адлюстроўвацца ў вобласці апавяшчэнняў - + Debug errors Памылкі адладкі - + Warnings intended for developers will appear in the notification area Папярэджанні, якія прызначаныя для распрацоўшчыкаў, будуць адлюстроўвацца ў вобласці апавяшчэнняў - + Debug warnings Папярэджанні адладкі - + Non-Intrusive Notifications Ненадакучлівыя апавяшчэнні - + Minimum Duration: Найменшая працягласць: - + Maximum Duration: Найбольшая працягласць: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Працягласць, цягам якой будзе паказвацца апавяшчэнне (калі не націснутыя кнопкі мышы) - - + + s с - + Minimum duration during which the notification will be shown (unless notification clicked) Найменшая працягласць, цягам якой будуць паказвацца апавяшчэнне (калі не націснутыя кнопкі мышы) - + Maximum Number of Notifications: Найбольшая колькасць апавяшчэнняў: - + Maximum number of notifications that will be simultaneously present on the screen Найбольшая колькасць апавяшчэнняў, якія будуць адначасова прысутнічаць на экране - + Notification width: Шырыня апавяшчэння: - + Width of the notification in pixels Шырыня апавяшчэння ў пікселях - + Any open non-intrusive notifications will disappear when another window is activated Любыя адчыненыя ненадакучлівыя апавяшчэнні знікнуць, калі будзе задзейнічанае іншае акно - + Hide when other window is activated Схаваць, калі задзейнічана іншае акно - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Прадухіліць з'яўленне ненадакучлівых апавяшчэнняў, калі акно FreeCAD не з'яўляецца бягучым - + Do not show when inactive Не паказваць, калі неактыўны - + Message List Спіс паведамленняў - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Абмежаваць колькасць паведамленняў, якія будуць захоўвацца ў спісе. Калі 0, то без абмежаванняў. - + Maximum Messages (0 = no limit): Найбольшая колькасць паведамленняў (0 = без абмежаванняў): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Выдаляе апавяшчэнні карыстальніка з спісу паведамленняў па дасягненні найбольшай працягласці ненадакучлівых паведамленняў. - + Auto-remove User Notifications Аўтаматычнае выдаленне карыстальніцкіх апавяшчэнняў - - - Activation of the Notification Area only takes effect after an application restart. - Вобласць апавяшчэнняў уключыцца толькі пасля перазапуску праграмы. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Даступныя варштаты - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Вы можаце змяніць парадак размяшчэння варштатаў перацягваннем. Дадатковыя варштаты можна ўсталяваць з дапамогай Кіравання дадаткамі.</p><p> У бягучы час у вашай сістэме ёсць наступныя варштаты:</p></body></html> - + Start up workbench: Запусціць варштат: - + Choose which workbench will be activated and shown after FreeCAD launches Абраць, які варштат будзе задзейнічаны і паказаны пасля запуску FreeCAD - + Workbench selector position : Становішча панэлі выбару варштата: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12418,12 +11738,12 @@ after FreeCAD launches 'Правы кут': на панэлі меню, у правым куце. - + If checked, application will remember which workbench is active for each tab of the viewport Калі птушка, праграма запомніць, які варштат бягучы для кожнай укладкі вобласці прагляду - + Remember active workbench by tab Запомніць бягучы варштат на ўкладцы @@ -12433,7 +11753,7 @@ after FreeCAD launches Choose orientation - Choose orientation + Абраць арыентацыю @@ -12443,17 +11763,17 @@ after FreeCAD launches XY-Plane - XY-Plane + Плоскасць XY XZ-Plane - XZ-Plane + Плоскасць XZ YZ-Plane - YZ-Plane + Плоскасць YZ @@ -12463,7 +11783,7 @@ after FreeCAD launches Offset: - Offset: + Зрушэнне: @@ -12572,47 +11892,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Калі не птушка, %1 не будзе адлюстроўвацца на даступных варштатах. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Бягучы модуль запуску, і ён павінен быць уключаны. Для змены глядзіце Перавагі/Агульныя/Аўтаматычная загрузка. - + Shortcut to activate this workbench. Ярлык, каб задзейнічаць варштат. - + Auto-load Аўтаматычная загрузка - + If checked, %1 will be loaded automatically when FreeCAD starts up Калі птушка, %1 будзе аўтаматычна загружаны пры запуску FreeCAD - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Бягучы модуль запуску, і ён павінен быць загружаны аўтаматычна. Для змены глядзіце Перавагі/Асноўныя/Аўтаматычная загрузка. - + Loaded Загружана - + Load Загрузіць - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Каб захаваць рэсурсы, FreeCAD не загружае варштаты, пакуль яны не будуць ужытыя. Іх загрузка можа даць доступ да дадатковых пераваг, якія звязаныя з іх функцыянальнасцю. @@ -12620,17 +11940,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Панэль інструментаў - + Left corner Левы кут - + Right corner Правы кут @@ -12656,12 +11981,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Выдаліць карыстальніцкія апавяшчэнні - + Delete All Выдаліць усё @@ -12697,13 +12022,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Загрузіць выяву... - - + + Loads an image Загрузка выявы @@ -12765,10 +12090,814 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Адбылася памылка - інфармацыю глядзіце ў Праглядзе справаздачы + + Gui::Dialog::DlgSettingsEditor + + + Editor + Рэдактар + + + + Options + Налады + + + + Code lines will be numbered + Радкі кода будуць пранумараваны + + + + Enable line numbers + Уключыць нумары радкоў + + + + The cursor shape will be a block + Форма паказальніка будзе ўяўляць сабою вялікі паказальнік + + + + Enable block cursor + Уключыць вялікі паказальнік + + + + Enable folding + Уключыць згінанне + + + + Indentation + Водступ + + + + Tab size: + Памер табуляцыі: + + + + Tabulator raster (how many spaces) + Колькасць прабелаў для табуляцыі + + + + Indent size: + Памер водступу: + + + + How many spaces will be inserted when pressing <Tab> + Колькі прабелаў будзе ўстаўлена пры націску клавішы <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Пры націску <Tab> будзе ўстаўлена табуляцыя пэўнага памеру + + + + Keep tabs + Пакідаць табуляцыю + + + + Pressing <Tab> will insert amount of defined indent size + Пры націску <Tab> будзе ўстаўлены водступы пэўнага памеру + + + + Insert spaces + Уставіць прабелы + + + + Display items + Адлюстраваць элементы + + + + Color and font settings will be applied to selected type + Налады колеру і шрыфту будуць ужытыя да абранага тыпу + + + + Family: + Сямейства: + + + + Font family to be used for selected code type + Сямейства шрыфтоў будзе ўжыты для абранага тыпу кода + + + + Size: + Памер: + + + + Font size to be used for selected code type + Памер шрыфту будзе ўжыты для абранага тыпу кода + + + + Color: + Колер: + + + + Preview: + Папярэдні прагляд: + + + + Text + Тэкст + + + + Bookmark + Закладка + + + + Breakpoint + Пункт супыну + + + + Keyword + Ключавое слова + + + + Comment + Каментар + + + + Block comment + Блок каментараў + + + + Number + Лічба + + + + String + Радок + + + + Character + Літара + + + + Class name + Імя класу + + + + Define name + Задаць імя + + + + Operator + Аператар + + + + Python output + Вывад Python + + + + Python error + Памылка Python + + + + Current line highlight + Вылучэнне бягучага радка + + + + Items + Элементы + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Асноўныя + + + + Language and number format + Мова і фармат ліку + + + + Language: + Мова: + + + + Language of the application's user interface + Мова карыстальніцкага інтэрфейсу праграмы + + + + Unit system: + Сістэма адзінак вымярэння: + + + + Unit system that should be used for all parts of the application + Сістэма адзінак вымярэння, якая павінна ўжывацца да ўсіх частак праграмы + + + + Number of decimals: + Колькасць дзесятковых знакаў: + + + + Number of decimals that should be shown for numbers and dimensions + Колькасць дзесятковых знакаў, якая павінна быць паказаныя для лікаў і вымярэнняў + + + + Minimum fractional inch: + Найменшая частка цалі: + + + + Minimum fractional inch to be displayed + Найменшая частка цалі для адлюстравання + + + + Number format: + Фармат лічбаў: + + + + Operating system + Аперацыйная сістэма + + + + Selected language + Абраная мова + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Калі ўключана, дзесятковы падзельнік лічбавай клавіятуры +будзе заменены падзельнікам моўнага стандарту, за выключэннем +кансолі Python і рэдактара макрасаў, дзе +заўсёды будзе друкавацца кропка. + + + + Substitute decimal separator + Замена дзесятковага падзельніку + + + + Application + Праграма + + + + Theme: + Тэма: + + + + Customize how user interface will look like + Наладзіць, як будзе выглядаць карыстальніцкі інтэрфейс + + + + Size of toolbar icons: + Памер гузікаў панэлі інструментаў: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Абраць памер гузіка панэлі інструментаў па сваіх перавагах. Вы можаце наладзіць +у адпаведнасці з вашым памерам экрана ці асабістым густам + + + + Tree view mode: + Рэжым прагляду дрэва: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Наладзіць адлюстраванне прагляду дрэва на панэлі (патрабуецца перазагрузка). + +'КамбінаваныПрагляд': аб'ядноўвае выгляд дрэва і выгляд уласцівасцяў у адну панэль. +'Прагляд Дрэва і Уласцівасцяў': падзяляе выгляд дрэва і выгляд уласцівасцяў на асобную панэль. +'Абодва': захоўвае ўсе тры панэлі, і ў вас можа быць два набору выгляд дрэва і выгляд уласцівасцяў. + + + + Size of recent file list: + Памер спісу апошніх файлаў: + + + + How many files should be listed in recent files list + Колькі файлаў павінна быць паказана ў спісе апошніх файлаў + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Фон галоўнага акна (калі ніводнага дакумента не адчынена) будзе складацца з плітак спецыяльнай выявы. +Глядзіце вікі-старонку FreeCAD, каб атрымаць падрабязную інфармацыю пра выяву. + + + + Enable tiled background + Уключыць фон пліткі + + + + The text cursor will be blinking + Тэкставы паказальнік будзе міргаць + + + + Enable cursor blinking + Уключыць мігценне паказальніку + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Экран застаўкі - невялікае акно загрузкі, якое паказваецца пры запуску FreeCAD. +Калі налада ўключаная, FreeCAD будзе адлюстроўваць застаўку + + + + Enable splash screen at start up + Уключыць застаўка пры запуске + + + + Preference packs + Пакеты перавагі + + + + Name + Назва + + + + Type + Тып + + + + Load + Загрузіць + + + + Import config... + Імпартаваць налады... + + + + Save new... + Захаваць новы... + + + + Manage... + Кіраваць... + + + + Revert... + Вярнуць... + + + + Manage preference packs + Кіраваць пакетамі пераваг + + + + Small (%1px) + Малы (%1px) + + + + Medium (%1px) + Сярэдні (%1px) + + + + Large (%1px) + Вялікі (%1px) + + + + Extra large (%1px) + Вельмі вялікі (%1px) + + + + Custom (%1px) + Карыстальніцкі (%1px) + + + + Combo View + Камбінаваны Прагляд + + + + TreeView and PropertyView + Прагляд Дрэва і Уласцівасцяў + + + + Both + Абодва + + + + Preference Pack Name + Назва Пакета перавагі + + + + Tags + Меткі + + + + Apply + Прымяніць + + + + Apply the %1 preference pack + Прымяніць пакет перавагі %1 + + + + Choose a FreeCAD config file to import + Абраць файл наладаў FreeCAD для імпартавання + + + + File exists + Файл інсуе + + + + A preference pack with that name already exists. Overwrite? + Пакет перавагі з такой назвай ужо існуе. Перазапісаць? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Прагляд справаздачы + + + + Output + Вывад + + + + Normal messages will be recorded + Звычайныя паведамленні будуць запісаныя + + + + Record normal messages + Запіс звычайных паведамленняў + + + + Log messages will be recorded + Паведамленні часопісу будуць запісаныя + + + + Record log messages + Запіс паведамленняў часопісу + + + + Warnings will be recorded + Папярэджанні будуць запісаныя + + + + Record warnings + Запіс папярэджанняў + + + + Error messages will be recorded + Паведамленні аб памылках будуць запісаныя + + + + Record error messages + Запіс паведамленняў аб памылках + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Калі адбылася памылка, дыялогавае акно Прагляду справаздачы становіцца бачным +на экране, каб адлюстраваць памылку + + + + Show report view on error + Паказаць прагляд справаздачы пры памылцы + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Калі адбылося папярэджанне, дыялогавае акно Прагляду справаздачы становіцца бачным +на экране, каб адлюстраваць папярэджанне + + + + Show report view on warning + Паказаць прагляд справаздачы пры папярэджанні + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Калі адбылося звычайнае паведамленне, дыялогавае акно Прагляду справаздачы становіцца бачным на экране, каб адлюстраваць звычайнае паведамленне + + + + Show report view on normal message + Паказаць прагляд справаздачы пры звычайным паведамленні + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Калі адбылося паведамленне справаздачы, дыялогавае акно Прагляду справаздачы становіцца бачным на экране, каб адлюстраваць паведамленне справаздачы + + + + Show report view on log message + Паказаць прагляд справаздачы пры паведамленні справаздачы + + + + Include a timecode for each report + Уключыць час для кожнай справаздачы + + + + Include a timecode for each entry + Уключыць час для кожнага запісу + + + + Colors + Выдзяленне колерам + + + + Normal messages: + Звычайныя паведамленні (normal): + + + + Font color for normal messages in Report view panel + Колер шрыфту для звычайных паведамленняў у панэлі Прагляду справаздачы + + + + Log messages: + Паведамленні часопісу (log): + + + + Font color for log messages in Report view panel + Колер шрыфту для паведамленняў часопісу ў панэлі Прагляду справаздачы + + + + Warnings: + Паведамленні папярэджання (warning): + + + + Font color for warning messages in Report view panel + Колер шрыфту для паведамленняў папярэджання ў панэлі Прагляду справаздачы + + + + Errors: + Паведамленні памылак (error): + + + + Font color for error messages in Report view panel + Колер шрыфту для паведамленняў памылкі ў панэлі Прагляду справаздачы + + + + Python interpreter + Інтэрпрэтатар Python + + + + Internal Python output will be redirected +from Python console to Report view panel + Унутраны вывад Python будзе перанакіраваны +з кансолі Python на панэль Прагляду справаздачы + + + + Redirect internal Python output to report view + Перанакіраваць унутраны вывад Python у Прагляд справаздачы + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Унутраныя паведамленні аб памылках Python будуць перанакіраваныя +з кансолі Python на панэль Прагляду справаздачы + + + + Redirect internal Python errors to report view + Перанакіраваць унутраныя памылкі Python у Прагляд справаздачы + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Тэма + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Гэтая старонка дазваляе наладзіць бягучую тэму. +Прапанаваныя налады неабавязковыя для распрацоўшчыкаў, таму яны могуць уплываць, а могуць і не ўплываць на вашу бягучую тэму. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Дадзены колер можа быць ужыты ў вашай тэме, каб вы маглі наладзіць яго. + + + + No style sheet + Без табліцы стыляў + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_ca.ts b/src/Gui/Language/FreeCAD_ca.ts index 45937bf305..0854ca90bf 100644 --- a/src/Gui/Language/FreeCAD_ca.ts +++ b/src/Gui/Language/FreeCAD_ca.ts @@ -42,29 +42,29 @@ Mida visual de la característica - + <empty> <buit> - - + + Angle Angle - - + + Axis Eix - + Position Position - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Prova de sortida de la consola - - + + Run test cases to verify console messages Fer córrer casos de proba per a verificar els missatges de cònsola @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Esborra la mesura - + Clear all visible measurements Esborra tots els mesuraments visibles @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Commuta el mesurament - + Turn on or off the display of all measurements Connecta o desconnecta la pantalla de tots els mesuraments @@ -132,7 +132,7 @@ Elimina - + Paste expressions Enganxa expressions @@ -182,7 +182,7 @@ Afegeix un grup - + Align Align @@ -193,40 +193,40 @@ Posició - - + + Transform Transformar - + Toggle array elements Commuta els elements de la matriu - + Link Transform Transforma el vincle - + Measure distance Mesura la distància - + Toggle visibility Commuta la visibilitat - + Toggle selectability Commuta la selectivitat - + Edit image Edita la imatge @@ -234,77 +234,77 @@ CommandGroup - + File Fitxer - + Edit Edita - + Help Ajuda - + Link Enllaç - + Tools Eines - + View Vista - + Window Finestra - + Standard Estàndard - + Macros Macros - + Macro Macro - + Structure Estructura - + Standard-Test Prova estàndard - + Standard-View Vista estàndard - + TreeView Vista d'arbre - + Measure Mesura @@ -402,11 +402,6 @@ DownloadItem - - - Form - Forma - Ico @@ -421,42 +416,42 @@ EditMode - + Default Per defecte - + The object will be edited using the mode defined internally to be the most appropriate for the object type L'objecte s'editarà fent servir el mode definit internament com el més apropiat segons el tipus d'objecte - + Transform Transformar - + The object will have its placement editable with the Std TransformManip command L'objecte tindrà el seu lloc editable amb el comandament Std TransformManip - + Cutting Tall - + This edit mode is implemented as available but currently does not seem to be used by any object Aquest mode d'edició es troba implementat com a disponible, però ara mateix no sembla que cap objecte l'usi - + Color Color - + The object will have the color of its individual faces editable with the Part FaceColors command L'objecte tindrà el color de les seves cares individuals editables amb el comandament Part FaceColors @@ -482,7 +477,7 @@ cap - + Press a keyboard shortcut Premeu una drecera del teclat @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Disponible: - + Selected: Seleccionat: - + Add Afegeix - + Remove Elimina - + Move up Mou amunt - + Move down Mou avall @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Objecte mòbil - + Fixed object Objecte fix @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Si us plau, espereu fins que es desi el fitxer d'Autorecuperació... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press SHIFT and middle mouse button Premeu la tecla MAJÚS i el botó central del ratolí - + Press middle mouse button Premeu el botó central del ratolí - + Scroll middle mouse button Feu rodar el botó central del ratolí @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press middle mouse button Premeu el botó central del ratolí - + Press middle+left or middle+right button Premeu el botó central+botó esquerre o el botó central+botó dret - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Gireu la rodeta del ratolí o manteniu premuda la rodeta mentre feu clic dret o esquerre i moveu el ratolí cap amunt o cap avall @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK D'ac&ord - + &Cancel &Cancel·la @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Tauler de tasques @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Crèdits - + FreeCAD would not be possible without the contributions of El FreeCAD no seria possible sense les contribucions de - + Individuals Header for the list of individual people in the Credits list. Individus - + Organizations Header for the list of companies/organizations in the Credits list. Organitzacions - - + + License Llicència - + Libraries Llibreries - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Aquest programari utilitza components de codi obert el copyright i altres drets de propietat dels quals pertanyen als seus respectius propietaris: - + Collection Col·lecció @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Carpeta de Cache - + The cache directory %1 exceeds the size of %2. El directori de memòria cau %1 supera la mida de %2. - + Do you want to clear it now? Vols esborrar-ho ara? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Avís: si us plau, assegureu-vos que aquesta és l'única instància %1 en execució i que no s'obre cap document, ja que això pot provocar la pèrdua de dades! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Paràmetres de la càmera - + Orientation Orientació - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vista actual @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Ordres @@ -1116,12 +1111,12 @@ Si no està activat, la propietat ha de tenir un nom únic, i s'accedeix a ella Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists El paquet ja existeix - + A preference pack with that name already exists. Do you want to overwrite it? Ja existeix un paquet de preferències amb aquest nom. Voleu sobreescriure-lo? @@ -1355,48 +1350,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Escriviu per cercar... - + Icon Icona - + Command Ordre - + Shortcut Drecera - + Default Per defecte - + Name Nom - + Title Títol - + All Tot - - + + none cap @@ -1404,8 +1399,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Barres de caixes d'eines @@ -1494,40 +1489,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separador> - + %1 module not loaded El mòdul %1 no s'ha carregat - + New toolbar Barra d'eines nova - - + + Toolbar name: Nom de la barra d'eines: - - + + Duplicated name Nom duplicat - - + + The toolbar name '%1' is already used El nom de la barra d'eines '%1' ja està utilitzat. - + Rename toolbar Reanomena la barra d'eines @@ -1540,19 +1535,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Personalitza - + &Help &Ajuda - + &Close Tan&ca @@ -1561,13 +1556,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Moviment de ratolí 3D - + No Spaceball Present No hi ha cap ratolí 3D @@ -1575,27 +1570,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Botons del ratolí 3D - + No Spaceball Present No hi ha cap ratolí 3D - + Buttons Botons - + Reset Reinicia - + Print Reference Imprimeix la referència @@ -1680,546 +1675,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Per defecte - + Aluminium Alumini - + Brass Llautó - + Bronze Bronze - + Copper Coure - + Chrome Crom - + Emerald Maragda - + Gold Or - + Jade Jade - + Metalized Metal·litzat - + Neon GNC Neó GNC - + Neon PHC Neó PHC - + Obsidian Obsidiana - + Pewter Peltre - + Plaster Guix - + Plastic Plàstic - + Ruby Robí - + Satin Setí - + Shiny plastic Plàstic brillant - + Silver Plata - + Steel Acer - + Stone Pedra Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opcions - - - - Code lines will be numbered - Les línies de codi es numeraran - - - - Enable line numbers - Activa els números de línia - - - - The cursor shape will be a block - La forma del cursor serà un bloc - - - - Enable block cursor - Activa el cursor de bloc - - - - Enable folding - Habilita el plegament - - - - Indentation - Sagnat - - - - Tab size: - Mida de la tabulació: - - - - Tabulator raster (how many spaces) - Ràster del tabulador (quants espais) - - - - Indent size: - Mida del sagnat: - - - - How many spaces will be inserted when pressing <Tab> - Quants espais s’inseriran en prémer <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Si premeu <Tab> s'inserirà un tabulador amb la mida de tabulació definida - - - - Keep tabs - Mantén les tabulacions - - - - Pressing <Tab> will insert amount of defined indent size - Si premeu <Tab> s'inserirà la quantitat de la mida del sagnat definit - - - - Insert spaces - Insereix espais - - - - Display items - Visualitza els elements - - - - Color and font settings will be applied to selected type - La configuració del color i del tipus de lletra s'aplicaran al tipus seleccionat - - - - Family: - Família: - - - - Font family to be used for selected code type - El tipus de lletra que s'utilitzarà per al tipus de codi seleccionat - - - - Size: - Mida: - - - - Font size to be used for selected code type - Mida del tipus de lletra que s'utilitzarà per al tipus de codi seleccionat - - - - Color: - Color: - - - - Preview: - Previsualització: - - - Gui::Dialog::DlgGeneral - - - General - General - - - - Language of the application's user interface - Idioma de la interfície d’usuari de l’aplicació - - - - Number format: - Format de nombre: - - - - Operating system - Sistema operatiu - - - - Selected language - Idioma seleccionat - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Si s'habilita, el separador decimal numèric del teclat numèric se substituirà amb el separador local, excepte a la consola Python i a l'editor de macros en què sempre s'imprimirà un punt/període. - - - - Preference packs - Paquets de preferències - - - - Name - Nom - - - - Type - Tipus - - - - Load - Carrega - - - - Import config... - Importa la configuració... - - - - Save new... - Desa el nou... - - - - Manage... - Administra... - - - - Revert... - Desfes... - - - - How many files should be listed in recent files list - Indica la quantitat de fitxers que s’han d’enumerar en la llista de fitxers recents - - - - Enable tiled background - Habilita el fons en mosaic - - - - The text cursor will be blinking - El cursor de text parpellejarà - - - - Enable cursor blinking - Activa el parpelleig del cursor - - - - Style sheet: - Full d'estil: - - - - Language and number format - Idioma i format de nombre - - - - Language: - Llengua: - - - - Unit system: - Sistema d'unitats: - - - - Unit system that should be used for all parts of the application - Sistema d'unitats que s'ha d'utilitzar per a totes les peces de l'aplicació - - - - Number of decimals: - Nombre de decimals: - - - - Number of decimals that should be shown for numbers and dimensions - Nombre de decimals que s’han de mostrar per als números i dimensions - - - - Minimum fractional inch: - Fracció de polzada mínima: - - - - Minimum fractional inch to be displayed - Fracció mínima de polzada que cal mostrar - - - - Substitute decimal separator - Substitueix el separador decimal - - - - Application - Aplicació - - - - Style sheet how user interface will look like - Full d’estil que defineix com serà la interfície d’usuari - - - - Size of toolbar icons: - Mida de les icones de la barra d'eines: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Trieu la vostra preferència per a la mida de la icona de la barra d’eines. Podeu ajustar -això segons la mida de la pantalla o el gust personal - - - - Tree view mode: - Mode vista d'arbre: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Personalitzeu com es mostra la vista d'arbre en el tauler (cal reiniciar-lo). - -«ComboView»: combina la vista d'arbre i la de propietats en un únic tauler. -«TreeView i PropertyView»: separa la vista d'arbre i la de propietats en taulers separats. -«Ambdós»: conserva els tres taulers i podeu tindre dos conjunts de vista d'arbre i de vista de propietats. - - - - Size of recent file list: - Mida de la llista de fitxers recent: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - El fons de la finestra principal (quan no hi hagi cap document obert) consistirà en un mosaic d'una imatge especial. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Una pantalla de presentació és una finestra petita que es mostra -quan arrenca FreeCAD. Si aquesta opció està marcada, FreeCAD en mostrarà una - - - - Enable splash screen at start up - Habilita la pantalla de presentació a l'inici - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Gestioneu els paquets de preferències - - - - Small (%1px) - Petit (%1px) - - - - Medium (%1px) - Mitjà (%1px) - - - - Large (%1px) - Gran (%1px) - - - - Extra large (%1px) - Molt gran (%1px) - - - - Custom (%1px) - Personalitzat (%1px) - - - - Combo View - Visualització combinada - - - - TreeView and PropertyView - Vista d'arbre i vista de les propietats - - - - Both - Ambdós - - - - No style sheet - No hi ha cap full d'estil. - - - - Preference Pack Name - Nom del paquet de preferències - - - - Tags - Etiquetes - - - - Apply - Aplica - - - - Apply the %1 preference pack - Apliqueu el paquet de preferències %1 - - - - Choose a FreeCAD config file to import - Trieu un fitxer de configuració del FreeCAD per importar - - - - File exists - El fitxer ja existeix - - - - A preference pack with that name already exists. Overwrite? - Ja existeix un paquet de preferències amb el mateix nom. Voleu sobreescriure'l? - - Gui::Dialog::DlgInputDialog @@ -2235,8 +1807,8 @@ quan arrenca FreeCAD. Si aquesta opció està marcada, FreeCAD en mostrarà una< Gui::Dialog::DlgInspector - - + + Scene Inspector Inspector d'escena @@ -2328,70 +1900,70 @@ quan arrenca FreeCAD. Si aquesta opció està marcada, FreeCAD en mostrarà una< Gui::Dialog::DlgMacroExecuteImp - + Macros Macros - + Read-only Només de lectura - + Macro file Fitxer de la macro - + Enter a file name, please: Introduïu un nom de fitxer, si us plau: - - - + + + Existing file El fitxer ja existeix - + '%1'. This file already exists. '%1'. Aquest fitxer ja existeix. - + Cannot create file No es pot crear el fitxer. - + Creation of file '%1' failed. La creació del fitxer '%1' ha fallat. - + Delete macro Suprimeix la macro - + Do you really want to delete the macro '%1'? Esteu segur que voleu suprimir la macro '%1'? - + Do not show again No ho tornis a mostrar - + Guided Walkthrough Procediment guiat - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2402,78 +1974,78 @@ Nota: els vostres canvis s'aplicaran quan canvieu de banc de treball - + Walkthrough, dialog 1 of 2 Procediment guiat, diàleg 1 de 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Instruccions del procediment guiat: ompliu els camps que falten (opcional), feu clic a Afegir i després a Tanca - + Walkthrough, dialog 1 of 1 Procediment guiat, diàleg 1 de 1 - + Walkthrough, dialog 2 of 2 Procediment guiat, diàleg 2 de 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instruccions del procediment guiat: feu clic en el botó de fletxa dreta (->) i després a Tanca. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Instruccions del procediment guiat: feu clic a Nou, després en el botó de fletxa dreta (->) i després a Tanca. - + Renaming Macro File S'està reanomenant l'arxiu de Macro - - + + Enter new name: Introduiu el nou nom: - - + + '%1' already exists. '%1' ja existeix. - + Rename Failed Error al reanomenar - + Failed to rename to '%1'. Perhaps a file permission error? No ha pogut canviar el nom per '%1'. Pot ser és un problema de permisos d'arxiu? - + Duplicate Macro Duplica la macro - + Duplicate Failed Duplicació fallida - + Failed to duplicate to '%1'. Perhaps a file permission error? No s'ha pogut duplicar «%1». @@ -2516,39 +2088,39 @@ Potser per un error de permisos del fitxer? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Gravadora de macro - + Specify first a place to save. Especifiqueu primer un lloc per desar. - + The macro directory doesn't exist. Please, choose another one. El directori de macro no existeix. Trieu-ne un altre. - + Existing macro La macro ja existeix - + The macro '%1' already exists. Do you want to overwrite? La macro '%1' ja existeix. Voleu sobreescriure-la? - + You have no write permission for the directory. Please, choose another one. No teniu permisos d'escriptura en el directori. Trieu-ne un altre. - + Choose macro directory Trieu el directori de macro @@ -2621,12 +2193,12 @@ Potser per un error de permisos del fitxer? Fitxers HTML - + Access denied Accés denegat - + Access denied to '%1' Specify another directory, please. @@ -3025,36 +2597,36 @@ Specify another directory, please. Fitxer del projecte - - + + Empty source La font és buida - - + + No source is defined. No s'ha definit cap font. - - + + Empty destination La destinació és buida. - - + + No destination is defined. No s'ha definit cap destinació. - + Failed to extract project No s'ha pogut extreure el projecte - + Failed to create project No s'ha pogut crear el projecte @@ -3104,187 +2676,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Visualització de l'informe - - - - Output - Sortida - - - - Normal messages will be recorded - Es gravarà el registre de missatges - - - - Record normal messages - Grava els missatges - - - - Log messages will be recorded - Es gravarà el registre de missatges - - - - Record log messages - Grava els missatges de registre - - - - Warnings will be recorded - Es gravaran els avisos - - - - Record warnings - Grava els avisos - - - - Error messages will be recorded - Es gravaran els missatges d'error - - - - Record error messages - Grava els missatges d'error - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Quan s'ha produït un error, el diàleg de Vista d'informes es fa visible -a la pantalla i mostra l'error - - - - Show report view on error - Mostra la vista de l'informe en cas d'error - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Quan s'ha produït un avís, el diàleg de Vista d'informes es fa visible -a la pantalla i mostra l'avís - - - - Show report view on warning - Mostra la vista de l'informe en cas d'avís - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Quan s'ha produït un missatge normal, el diàleg de Vista d'informes es fa visible -a la pantalla i mostra el missatge - - - - Show report view on normal message - Mostra la vista de l'informe en cas d'un missatge normal - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Quan s'ha produït un missatge de registre, el diàleg de Vista d'informes es fa visible a la pantalla i mostra el missatge de registre - - - - Show report view on log message - Mostra la vista de l'informe en cas d'un missatge de registre - - - - Include a timecode for each report - Inclou el codi de temps per cada informe - - - - Include a timecode for each entry - Inclou el codi de temps per a cada entrada - - - - Colors - Colors - - - - Normal messages: - Missatges normals: - - - - Font color for normal messages in Report view panel - Color del tipus de lletra per a missatges normals en el tauler de Vista d'informes - - - - Log messages: - Resgistre de missatges: - - - - Font color for log messages in Report view panel - Color del tipus de lletra per a missatges de registre en el tauler de Vista d'informes - - - - Warnings: - Avisos: - - - - Font color for warning messages in Report view panel - Color del tipus de lletra per a missatges d'avís en el tauler de Vista d'informes - - - - Errors: - Errors: - - - - Font color for error messages in Report view panel - Color del tipus de lletra per a missatges d'error en el tauler de Vista d'informes - - - - Python interpreter - Intèrpret de Python - - - - Internal Python output will be redirected -from Python console to Report view panel - La sortida interna de Python es redirigirà -de la consola Python al tauler de Vista d'informes - - - - Redirect internal Python output to report view - Redirigeix la sortida interna de Python a la visualització d'informe - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Els missatges d'error interns de Python es redirigiran -de la consola Python al tauler de Vista d'informes - - - - Redirect internal Python errors to report view - Redirigeix els errors interns de Python a la visualització d'informe - @@ -3311,7 +2702,7 @@ de la consola Python al tauler de Vista d'informes Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No hi ha cap selecció al diàleg, no es pot carregar el fitxer de còpia de seguretat @@ -3354,7 +2745,7 @@ de la consola Python al tauler de Vista d'informes Ajuda - + Select a file Seleccioneu un fitxer @@ -3362,70 +2753,70 @@ de la consola Python al tauler de Vista d'informes Gui::Dialog::DlgSettings3DView - + 3D View Vista 3D - + General General - + Main coordinate system will always be shown in lower right corner within opened files El sistema de coordenades principal sempre es mostrarà a la cantonada inferior dreta dels fitxers oberts - + Show coordinate system in the corner Mostra el sistema de coordenades a la cantonada - + Relative size : Mida relativa: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Mida de la representació del sistema de coordenades principal a la cantonada -- en % d'alçada/amplada de la finestra gràfica - + Axis cross will be shown by default at file opening or creation Els eixos de coordenades es mostraran per defecte en obrir o crear un arxiu - + Show axis cross by default Mostra els eixos de coordenades per defecte - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files El temps necessari per a l'última operació i els fotogrames per segon resultants es mostraran a la cantonada inferior esquerra dels fitxers oberts - + Show counter of frames per second Mostra el comptador d'imatges per segon - + Rendering Renderització - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3434,22 +2825,22 @@ Changing this option requires a restart of the application. Per modificar aquesta opció cal reiniciar l'aplicació. - + Use software OpenGL Utilitza l'OpenGL per software - + Use OpenGL VBO (Vertex Buffer Object) Empra OpenGL VBO (Objecte de memòria intermèdia de vèrtex) - + Render cache Memòria cau de renderització - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3472,7 +2863,7 @@ diferents, que van des d’anomalies gràfiques fins a errors crítics de la GPU d'informar que aquesta opció està habilitada quan cerqueu ajuda en els fòrums de FreeCAD - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3487,92 +2878,92 @@ Hi ha 3 opcions disponibles per a aconseguir-ho: 3) «Centralitzada», desactiveu manualment la memòria cau en tots els nodes de tots els proveïdors de vista i només la memòria cau en el node arrel del gràfic de l'escena. Això ofereix una velocitat de renderització més ràpida però una resposta més lenta en tots els canvis d'escena. - + Auto Auto - + Distributed Distribuïda - + Centralized Centralitzada - + Anti-Aliasing Antialiàsing - + What kind of multisample anti-aliasing is used Quin tipus d’antialiàsing multimostra s’utilitza - + None Cap - + Line Smoothing Suavitzat de línies - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Objectes transparents: - + Render types of transparent objects Tipus de renderitzat pels objectes transparents - + One pass Una passada - + Backface pass Passada per la cara posterior - + Marker size: Mida del marcador: - - Size of vertices in the Sketcher workbench - La mida dels vèrtexs en el banc de treball de Croquis + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Distància entre els ulls per a la visió estereoscòpica - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3581,48 +2972,48 @@ El valor especificat és un factor que es multiplicarà amb la mida de la caixa contenidora de l'objecte 3D que es mostra actualment. - + Backlight is enabled with the defined color La retroil·luminació s'ha activat amb el color definit - - + + Backlight color Color de la retroil·luminació - + Intensity Intensitat - + Intensity of the backlight Intensitat de la retroil·luminació - + Camera type Tipus de càmera - + Objects will appear in a perspective projection Els objectes apareixeran en una projecció en perspectiva - + Perspective renderin&g &Renderització en perspectiva - + Objects will be projected in orthographic projection Els objectes es projectaran en projecció ortogràfica - + Or&thographic rendering Renderització or&togràfica @@ -3634,42 +3025,42 @@ mida de la caixa contenidora de l'objecte 3D que es mostra actualment. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Antialiàsing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Obriu un visualitzador nou o reinicieu %1 perquè s'apliquin els canvis d'antialiàsing. @@ -3677,77 +3068,77 @@ mida de la caixa contenidora de l'objecte 3D que es mostra actualment. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Memòria cau - + Cache directory Carpeta de Cache - + Location: Ubicació: - + Check periodically at program start: Comprova periòdicament a l'inici del programa: - + Always Sempre - + Daily Diàriament - + Weekly Setmanalment - + Monthly Mensualment - + Yearly Anualment - + Never Mai - + Cache size limit: Límit de la mida de la memòria cau: - + Check now... Comprova ara... - + Notify the user if the cache size exceeds the specified limit Aviseu l'usuari si la mida de la memòria cau supera el límit especificat - + Unknown Desconegut - + Current cache size: %1 Mida de la memòria cau actual: %1 @@ -3908,12 +3299,12 @@ a més de la barra de colors Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter El paràmetre és incorrecte - + The maximum value must be higher than the minimum value. El valor màxim ha de ser més gran que el valor mínim. @@ -3921,182 +3312,182 @@ a més de la barra de colors Gui::Dialog::DlgSettingsDocument - + Document Document - + General General - + The application will create a new document when started L’aplicació crearà un document nou quan s’iniciï - + Create new document at start up Crea un document nou a l'inici - + Document save compression level (0 = none, 9 = highest, 3 = default) Nivell de compressió per a desar el document (0 = cap, 9 = el més alt, 3 = per defecte) - + Compression level for FCStd files Nivell de compressió dels fitxers FCStd - + All changes in documents are stored so that they can be undone/redone Tots els canvis en els documents s’emmagatzemen perquè es puguin desfer/refer - + Using Undo/Redo on documents Ús de les opcions Desfer/Refer en els documents - + Maximum Undo/Redo steps Nombre màxim d'accions de desfer/refer - + How many Undo/Redo steps should be recorded Nombre de passos de desfer/refer que s'han de gravar - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Permet que l'usuari interrompi el recàlcul de documents prement ESC. Aquesta característica pot augmentar lleugerament el temps de recàlcul. - + Allow aborting recomputation Permet interrompre el recàlcul - + Storage Emmagatzematge - + Saving transactions (Auto-save) S'estan desant les operacions (desament automàtic) - + Discard saved transaction after saving document Descarta les operacions desades després de desar el document - + If there is a recovery file available the application will automatically run a file recovery when it is started. Si hi ha un fitxer de recuperació disponible, l’aplicació executa automàticament la recuperació d’un fitxer quan s'iniciï. - + Run AutoRecovery at startup Executa l'autorecuperació a l'inici - + How often a recovery file is written La freqüència amb què s’escriu un fitxer de recuperació - + Save AutoRecovery information every Guarda la informació d'autorecuperació cada - + A thumbnail will be stored when document is saved Una miniatura s'emmagatzemarà quan es desi el document - + Save thumbnail into project file when saving document Desa la miniatura en el fitxer del projecte quan es desi el document - + Size Mida - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Estableix la mida de la miniatura que es desa al document. Les mides habituals són 128, 256 i 512 - + The program logo will be added to the thumbnail El logo del programa s’afegirà a la miniatura - + Add the program logo to the generated thumbnail Afig el logotip del programa a la miniatura generada - + How many backup files will be kept when saving document Nombre de fitxers de còpia de seguretat es conservaran en desar el document - + Maximum number of backup files to keep when resaving document Nombre màxim de fitxers de còpia de seguretat a mantenir quan es torna a desar el document - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Els fitxers de còpia de seguretat tindran l'extensió «.FCbak» i els noms de fitxers tindran el sufix de data segons el format especificat - + Use date and FCBak extension Utilitza la data i l'extensió FCBak - + Date format Format de la data - + Document objects Objectes del document - + Allow objects to have same label Permet que els objectes tinguin la mateixa etiqueta - + Allow duplicate object labels in one document Permet etiquetes d'objecte duplicades en un document - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4110,22 +3501,22 @@ No es pot editar un document carregat parcialment. Feu doble clic a la icona del document en la vista de l'arbre per a carregar-lo completament. - + Disable partial loading of external linked objects Desactiva la càrrega parcial d'objectes enllaçats externs - + Authoring and License Autoria i llicència - + Author name Nom de l'autor - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4134,32 +3525,32 @@ Manteniu-lo en blanc per als anònims. També podeu utilitzar la forma: Joan Peris <joan@peris.com> - + The field 'Last modified by' will be set to specified author when saving the file El camp "Última modificació per" estarà configurat per a l'autor especificat en desar el fitxer - + Set on save Estableix en desar - + Company Empresa - + Default company name to use for new files El nom de l'empresa per defecte que s'utilitza per als fitxers nous - + Default license Llicència per defecte - + Default license for new documents La llicència per defecte per als documents nous @@ -4229,12 +3620,12 @@ També podeu utilitzar la forma: Joan Peris <joan@peris.com> Altres - + License URL URL de la llicència - + URL describing more about the license URL que descriu més informació sobre la llicència @@ -4242,104 +3633,21 @@ També podeu utilitzar la forma: Joan Peris <joan@peris.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. El format de la data que s'ha d'utilitzar. - + Default Per defecte - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Text - - - - Bookmark - Adreça d'interés - - - - Breakpoint - Punt de ruptura - - - - Keyword - Paraula clau - - - - Comment - Comentari - - - - Block comment - Comentari de bloc - - - - Number - Nombre - - - - String - Cadena - - - - Character - Caràcter - - - - Class name - Nom de classe - - - - Define name - Defineix el nom - - - - Operator - Operador - - - - Python output - Sortida de Python - - - - Python error - Error de Python - - - - Current line highlight - Ressaltat de la línia actual - - - - Items - Elements - - Gui::Dialog::DlgSettingsImage @@ -4520,122 +3828,122 @@ També podeu utilitzar la forma: Joan Peris <joan@peris.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Configuració general de macros - + Variables defined by macros are created as local variables Les variables definides per macros es creen com a variables locals - + Run macros in local environment Executa les macros en un entorn local - + Macro recording settings Paràmetres de gravació d'una macro - + Macro path Camí de la macro - + The directory in which the application will search for macros El directori en què l’aplicació cercarà macros - + Gui commands Ordres de la GUI - + Recorded macros will also contain user interface commands Les macros gravades també contindran ordres de la interfície d'usuari - + Record GUI commands Enregistrar els comandaments de l'interfície gràfica GUI - + Recorded macros will also contain user interface commands as comments Les macros gravades també contindran com a comentaris ordres de la interfície d'usuari - + Record as comment Grava com a comentari - + Logging Commands Comandes de registre - + Commands executed by macro scripts are shown in Python console Les ordres executades per scripts de macro es mostren en la consola Python - + Show script commands in python console Mostra ordres de l'script en la consola de Python - + Log all commands issued by menus to file: Registra al fitxer totes les ordres publicades pels menús: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Menú de macros recents - + Size of recent macro list Mida de la llista de macros recents - + How many macros should be listed in recent macros list Indica la quantitat de macros s’han d’enumerar en la llista de macros recents - + Keyboard shortcut count Número de dreceres del teclat - + How many recent macros should have shortcuts Quants macros recents han de tenir deceres - + Keyboard Modifiers Modificadors de teclat - + Keyboard modifiers, default = Ctrl+Shift+ Tecles modificadores, per defecte = CTRL+MAJÚS+ @@ -4643,130 +3951,130 @@ També podeu utilitzar la forma: Joan Peris <joan@peris.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navegació - + Navigation cube Cub de navegació - + Steps by turn Passos per gir - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Nombre de passos per gir quan s’utilitzen fletxes (predeterminat = 8: angle de pas = 360/8 = 45 graus) - + Corner Cantonada - + Corner where navigation cube is shown Cantonada on es mostra el cub de navegació - + Top left Superior esquerra - + Top right Superior dreta - + Bottom left Inferior esquerra - + Bottom right Inferior dreta - + Rotates to nearest possible state when clicking a cube face Gira a l'estat més proper possible quan es fa clic en una cara del cub - + Rotate to nearest Rotar fins al més proper - + Font name: Nom del tipus de lletra: - + Font name of the navigation cube Nom de la font del cub de navegació - + Default Per defecte - + Cube size Mida del cub - + Size of the navigation cube Mida del cub de navegació - + Color Color - + Base color for all elements Color base per tots els elements - + 3D Navigation Navegació 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Mostra les configuracions del botó del ratolí per a cada paràmetre de navegació escollit. Seleccioneu un paràmetre i, a continuació, premeu el botó per a veure aquestes configuracions. - + Mouse... Ratolí... - + Navigation settings set Conjunt de configuracions de navegació - + Orbit style Estil d'òrbita - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4777,173 +4085,183 @@ Plataforma giratòria (Turntable): La peça girarà sobre l'eix z (amb eixos res Plataforma giratòria lliure: la peça girarà sobre l'eix z. - + Turntable Torn - + Trackball Ratolí de bola - + Free Turntable Plataforma giratòria lliure - + Rotation mode Mode de rotació - + Rotations in 3D will use current cursor position as center for rotation Les rotacions en 3D utilitzaran la posició actual del cursor com a centre de rotació - + Window center Centre de la finestra - + Drag at cursor Arrossega al cursor - + Object center Centre de l'objecte - + Default camera orientation Orientació de la càmera per defecte - + Default camera orientation when creating a new document or selecting the home view Orientació de la càmera per defecte en crear un nou document o en seleccionar la vista inicial - + Camera zoom Zoom de Càmera - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Configura el zoom de la càmera per als nous documents. El valor és el diàmetre de l’esfera per a ajustar-se a la pantalla. - + mm mm - + Enable animated rotations Habilita les rotacions animades - + Enable animation Habilita l'animació - + Zoom operations will be performed at position of mouse pointer Les operacions del zoom es realitzaran en la posició del punter del ratolí - + Zoom at cursor Zoom al cursor - + Zoom step Pas de zoom - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. En quant serà ampliat. Un valor de '1' implica un factor de 7,5 per cada grau d'ampliació. - + Direction of zoom operations will be inverted La direcció de les operacions de zoom s’invertirà - + Invert zoom Invertix el zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. Evita la inclinació de la vista quan s'està fent zoom amb els dits. Sols afecta l'estil de Navegació amb gestos. Aquesta opció no desactiva la inclinació del ratolí. - + Disable touchscreen tilt gesture Desactiva el gest d'inclinació de la pantalla tàctil - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Isomètrica - + Dimetric Dimètric - + Trimetric Trimètric - + Top Planta - + Front Alçat - + Left Esquerra - + Right Dreta - + Rear Posterior - + Bottom Inferior - + Custom Personalitzat @@ -4951,43 +4269,43 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Consola de Python - + Settings Paràmetres - + Words will be wrapped when they exceed available horizontal space in Python console Les paraules s'ajustaran quan se superi l'espai horitzontal disponible en la consola Python - + Enable word wrap Habilita l'ajust de paraules - + The cursor shape will be a block La forma del cursor serà un bloc - + Enable block cursor Activa el cursor de bloc - + Saves Python history across sessions Desa l'historial de Python entre sessions - + Save history Desa l'historial @@ -4995,17 +4313,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Selecció - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Trieu el radi (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5014,27 +4352,27 @@ Un valor més gran en facilita la selecció, però pot fer que les propietats pe - + Auto switch to the 3D view containing the selected item Canvia automàticament a la vista 3D que conté l’element seleccionat - + Auto expand tree item when the corresponding object is selected in 3D view Expandeix automàticament l’element de l'arbre quan l’objecte corresponent està seleccionat en la vista 3D - + Preselect the object in 3D view when mouse over the tree item Selecciona l'objecte en vista 3D en fer clic amb el ratolí sobre l'element de l'arbre - + Record selection in tree view in order to go back/forward using navigation button Grava la selecció en la vista de l'arbre per a anar enrere/endavant mitjançant el botó de navegació - + Add checkboxes for selection in document tree Afegieix caselles de selecció a l'arbre del document @@ -5042,147 +4380,122 @@ Un valor més gran en facilita la selecció, però pot fer que les propietats pe Gui::Dialog::DlgSettingsViewColor - + Colors Colors - - Selection - Selecció - - - - Enable preselection and highlight by specified color - Habilita la preselecció i ressalta pel color especificat - - - - Enable preselection highlighting - Habilita el ressaltat de la preselecció - - - - Enable selection highlighting and use specified color - Activa el ressaltat de la selecció i utilitza el color especificat - - - - Enable selection highlighting - Habilita el ressaltat de la selecció - - - + Background color for the model view Color del fons per a la vista del model - + Background color Color de fons - - + + Background will have selected color El fons tindrà el color seleccionat - + Simple color Color simple - - + + Background will have selected color gradient El fons tindrà el degradat del color seleccionat - + Linear gradient Degradat lineal - + Radial gradient Degradat radial - - + + Top: Dalt: - - + + Middle: Mig: - + Switches the colors of the gradient Canvia els colors del degradat - + Switch Canvia - + Color gradient will get selected color as middle color El degradat de color tindrà el color seleccionat com a color mitjà - + Middle color Color central - - + + Bottom: A baix: - + Tree view Vista d'arbre - + Object being edited Objecte que s'està editant - + Background color for objects in tree view that are currently edited Color de fons per a objectes en vista d’arbre que s’editen actualment - + Active container Contenidor actiu - + Background color for active containers in tree view Color de fons per a contenidors actius en la vista d’arbre - + Central: Central: - + Midway: A mig camí: - + End: Fi: @@ -5294,12 +4607,12 @@ El sistema de preferències és el fixat en les preferències generals. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unitat desconeguda: - + unit mismatch la unitat no coincideix @@ -5307,7 +4620,7 @@ El sistema de preferències és el fixat en les preferències generals. Gui::Dialog::DockablePlacement - + Placement Posició @@ -5358,60 +4671,60 @@ La columna 'Estat' mostra si el document es pot recuperar. No s'ha recuperat encara. - + Unknown problem occurred S'ha produït un problema desconegut. - - + + Failed to recover No s'ha pogut recuperar. - + Successfully recovered S'ha recuperat correctament. - + Finish Finalitza - - + + Delete Elimina - - + + Cleanup Neteja - + Are you sure you want to delete the selected transient directories? Esteu segur que voleu eliminar els directoris transitoris seleccionats? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Si suprimiu el directori transitori seleccionat després no podreu recuperar cap fitxer. - + Are you sure you want to delete all transient directories? Esteu segur que voleu eliminar tots els directoris transitoris? - + When deleting all transient directories you won't be able to recover any files afterwards. Eliminant tots els directoris transitoris no podrà recuperar arxius després. - + Transient directories deleted. Directoris transitoris eliminats @@ -5535,7 +4848,7 @@ La columna 'Estat' mostra si el document es pot recuperar. Carpetes d'icones - + Add icon folder Afegeix una carpeta d'icones @@ -5548,12 +4861,12 @@ La columna 'Estat' mostra si el document es pot recuperar. Afegeix o elimina carpetes d'icones personalitzades - + Remove folder Elimina la carpeta - + Removing a folder only takes effect after an application restart. L'acció d'eliminar una carpeta només té efecte després de reiniciar l'aplicació. @@ -5623,79 +4936,79 @@ La columna 'Estat' mostra si el document es pot recuperar. Gui::Dialog::ParameterGroup - - + + Expand Expandeix - + Add sub-group Afegeix un subgrup - - + + Remove group Elimina el grup - + Rename group Reanomena el grup - + Export parameter Exporta el paràmetre - + Import parameter Importa el paràmetre - + Collapse Replega - + Do you really want to remove this parameter group? Segur que voleu eliminar aquest grup de paràmetres? - + Existing sub-group Subgrup existent - + The sub-group '%1' already exists. El subgrup '%1' ja existeix. - + Export parameter to file Exporta el paràmetre al fitxer - + Import parameter from file Importa el paràmetre des del fitxer - + Import Error Error d'importació - + Reading from '%1' failed. La lectura de '%1' ha fallat. @@ -5703,65 +5016,65 @@ La columna 'Estat' mostra si el document es pot recuperar. Gui::Dialog::ParameterValue - + Change value Canvia el valor - + Remove key Elimina la clau - + Rename key Reanomena la clau - + New Nou - + New string item Element de cadena nou - + New float item Element flotant nou - + New integer item Element enter nou - + New unsigned item Element sense signe nou - + New Boolean item Element booleà nou - - - - - + + + + + Existing item Element existent - - - - - + + + + + The item '%1' already exists. L'element '%1' ja existeix. @@ -5907,17 +5220,17 @@ La columna 'Estat' mostra si el document es pot recuperar. Aplica - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Seleccioneu 1, 2 o 3 punts abans de fer clic en aquest botó. Un punt pot estar en un vèrtex, cara o aresta. Si esteu en una cara o aresta, el punt utilitzat serà el punt en la cara o aresta de la posició del ratolí. Si 1 punt és seleccionat serà utilitzat com a centre de rotació. Si se seleccionen 2 punts, el punt mig entre ells serà el centre de rotació i un nou eix personalitzat es crearà, si és necessari. Si se seleccionen 3 punts, el primer punt es converteix en el centre de rotació i es troba en el vector que és normal al pla definit per 3 punts. Alguns detalls de distància i angle es proporcionen en la visualització d'informe, que pot ser útil per a alinear objectes. Per a la vostra comoditat, quan feu Majúscules + clic s'utilitza la distància adequada o l'angle es copia al porta-retalls. - + Incorrect quantity La quantitat és incorrecta - + There are input fields with incorrect input, please ensure valid placement values! Hi ha camps d'entrada amb entrada incorrecta, assegureu-vos que els valors d'emplaçament són vàlids. @@ -5925,12 +5238,12 @@ La columna 'Estat' mostra si el document es pot recuperar. Gui::Dialog::PrintModel - + Button Botó - + Command Ordre @@ -5994,17 +5307,17 @@ La columna 'Estat' mostra si el document es pot recuperar. Gui::Dialog::SceneModel - + Inventor Tree Arbre d'Inventor - + Name Nom - + Nodes Nodes @@ -6060,14 +5373,14 @@ La columna 'Estat' mostra si el document es pot recuperar. Gui::Dialog::Transform - - + + Cancel Cancel·la - - + + Transform Transformar @@ -6165,13 +5478,13 @@ seleccionats abans d'obrir aquest diàleg - + Model Model - + Tasks Tasques @@ -6179,7 +5492,7 @@ seleccionats abans d'obrir aquest diàleg Gui::DockWnd::PropertyDockView - + Property View Visualització de les propietats @@ -6187,82 +5500,82 @@ seleccionats abans d'obrir aquest diàleg Gui::DockWnd::ReportOutput - + Options Opcions - + Display message types Mostra els tipus de missatges - - + + Normal messages Missatges normals - - + + Log messages Resgistre de missatges - - + + Warnings Avisos - - + + Errors Errors - - + + Critical messages Missatges crítics - + Show Report view on Mostra la vista de l'informe a - + Redirect Python output Redirigeix la sortida de Python - + Redirect Python errors Redirigeix els errors de Python - + Go to end Vés al final - + Clear Neteja - + Save As... Anomena i desa... - + Save Report Output Desa la sortida de l'informe - + Plain Text Files Fitxers de text net @@ -6271,13 +5584,13 @@ seleccionats abans d'obrir aquest diàleg Gui::DockWnd::ReportView - + Output Sortida - + Python console Consola de Python @@ -6315,72 +5628,72 @@ seleccionats abans d'obrir aquest diàleg Llista d'objectes seleccionats - + Select only Selecciona només - + Selects only this object Selecciona només aquest objecte - + Deselect Desselecciona - + Deselects this object Desselecciona aquest objecte - + Zoom fit Ajust del zoom - + Selects and fits this object in the 3D window Selecciona i ajusta l'objecte en una finestra 3D - + Go to selection Vés a la selecció - + Selects and locates this object in the tree view Selecciona i col·loca l'objecte en una vista d'arbre - + Mark to recompute Marca per a recalcular - + Mark this object to be recomputed Marca aquest objecte per a recalcular-lo - + To python console A la consola Python - + Reveals this object and its subelements in the python console. Mostra aquest objecte i els seus subelements a la consola Python. - + Duplicate subshape Subforma duplicada - + Creates a standalone copy of this subshape in the document Crea una còpia independent d'aquesta subforma en el document @@ -6393,7 +5706,7 @@ seleccionats abans d'obrir aquest diàleg Aplicació - + Labels & Attributes Etiquetes i atributs @@ -6441,27 +5754,27 @@ Do you want to save your changes? Arxiu PDF - + untitled[*] sense títol[*] - + - Editor - Editor - + %1 chars removed S'han eliminat %1 caràcters - + %1 chars added S'han afegit %1 caràcters - + Formatted Formatat @@ -6485,13 +5798,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Seleccioneu un fitxer - + Select a directory Seleccioneu un directori @@ -6499,13 +5812,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Anomena i desa - - + + Open Obre @@ -6513,12 +5826,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Expandit - + All files (*.*) Tots els fitxers (*.*) @@ -6526,27 +5839,27 @@ Do you want to save your changes? Gui::Flag - + Top left Superior esquerra - + Bottom left Inferior esquerra - + Top right Superior dreta - + Bottom right Inferior dreta - + Remove Elimina @@ -6554,22 +5867,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Toqueu o feu clic amb el botó esquerre del ratolí. - + Drag screen with two fingers OR press right mouse button. Arrossegueu la pantalla amb dos dits o premeu el botó dret del ratolí. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Arrossegueu la pantalla amb un dit o premeu el botó esquerre del ratolí. A Croquis i altres modes d'edició, manteniu a més Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pinceu (poseu dos dits en la pantalla i separeu-los o ajunteu-los). O feu girar la rodeta del ratolí. O utilitzeu les tecles Re Pàg/Av Pàg del teclat. @@ -6577,74 +5890,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found No s'ha trobat el Graphviz. - + Graphviz couldn't be found on your system. El Graphviz no s'ha pogut trobar al sistema. - + Read more about it here. Més informació aquí. - + Do you want to specify its installation path if it's already installed? Voleu especificar el seu camí d'instal·lació si ja està instal·lat? - + Graphviz installation path Camí d'instal·lació del Graphviz - + Graphviz failed Ha fallat el Graphviz. - + Graphviz failed to create an image file El Graphviz no ha pogut crear un fitxer d'imatge. - + PNG format Format PNG - + Bitmap format Format de mapa de bits - + GIF format Format GIF - + JPG format Format JPG - + SVG format Format SVG - - + + PDF format Format PDF - - + + Export graph Exporta el gràfic @@ -6652,12 +5965,12 @@ Do you want to save your changes? Gui::InputField - + Edit Edita - + Save value Desa el valor @@ -6665,22 +5978,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Premeu la tecla CTRL i el botó esquerre del ratolí - + Press middle mouse button Premeu el botó central del ratolí - + Press left mouse button Premeu el botó esquerre del ratolí - + Scroll middle mouse button Feu rodar el botó central del ratolí @@ -6688,7 +6001,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Llista @@ -6696,66 +6009,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definit per l'usuari... - + - - + + Wrong direction Direcció incorrecta - + - - + + Direction must not be the null vector La direcció no pot ser un vector nul. @@ -6763,22 +6076,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6786,17 +6099,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Macros - + Macro file doesn't exist El fitxer de macro no existeix. - + No such macro file: '%1' No existeix aquest fitxer de macro: '%1' @@ -6804,63 +6117,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Cota - + Ready Preparat - + Help addon needed! Necessiteu un complement d'ajuda! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager El sistema d'ajuda de % 1 ara és gestionat pel complement "Ajuda". Es pot instal·lar fàcilment mitjançant el Gestor de complements - + Open Addon Manager Obriu el Gestor de complements - + Close All Tanca-ho tot - - + + Toggles this toolbar Commuta la barra d'eines - - + + Toggles this dockable window Commuta la finestra flotant - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document El document no s'ha desat - + The exported object contains external link. Please save the documentat least once before exporting. L’objecte exportat conté un enllaç extern. Deseu el documenta almenys una vegada abans d’exportar-lo. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Per a enllaçar amb objectes externs, el document s’ha de desar almenys una vegada. @@ -6870,121 +6193,121 @@ Voleu desar el document ara? Gui::ManualAlignment - - - - - + + + + + Manual alignment Alineació manual - + The alignment is already in progress. La alineació ja està en curs. - + Alignment[*] Alineació[*] - + Please, select at least one point in the left and the right view Seleccioneu almenys un punt en les vistes esquerra i dreta - + Please, select at least %1 points in the left and the right view Selecciioneu almenys %1 punts en les vistes esquerra i dreta - + Please pick points in the left and right view Seleccioneu punts en les vistes esquerra i dreta - + The alignment has finished L'alineació ha finalitzat. - + The alignment has been canceled L'alineació s'ha cancel·lat. - - + + Too few points picked in the left view. At least %1 points are needed. No s'han seleccionat prou punts en la vista esquerra. Fan falta almenys %1 punts. - - + + Too few points picked in the right view. At least %1 points are needed. No s'han seleccionat prou punts en la vista dreta. Fan falta almenys %1 punts. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. S'ha seleccionat un nombre diferent de punts en les vistes esquerra i dreta. En la vista esquerra s'han seleccionat %1 punts, mentre que en la vista dreta se n'han seleccionat %2. - + Try to align group of views Proveu d'alinear el grup de vistes - + The alignment failed. How do you want to proceed? Ha fallat l'alineació. Voleu continuar? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. S'ha seleccionat un nombre diferent de punts en les vistes esquerra i dreta. En la vista esquerra s'han seleccionat %1 punts, mentre que en la vista dreta se n'han seleccionat %2. - + Point_%1 Punt_%1 - + Point picked at (%1,%2,%3) Punt seleccionat en (%1,%2,%3) - + No point was found on model No s'ha trobat cap punt en el model. - + No point was picked No s'ha seleccionat cap punt. - + &Align &Alineat - + &Remove last point &Eliminar el darrer punt - + &Cancel &Cancel·la - + &Synchronize views &Sincronitza vistes @@ -6992,22 +6315,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Toqueu o feu clic amb el botó esquerre del ratolí. - + Drag screen with two fingers OR press ALT + middle mouse button. Arrossegueu la pantalla amb dos dits. O premeu ALT i el botó central del ratolí. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Arrossegueu la pantalla amb un dit O premeu el botó esquerre del ratolí. A Croquis i altres modes d'edició, manteniu, a més, la tecla Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pinceu (poseu dos dits en la pantalla i separeu-los o ajunteu-los). O feu girar la rodeta del ratolí. O premeu ALT i el botó dret del ratolí. O utilitzeu les tecles Re Pàg/Av Pàg del teclat. @@ -7015,7 +6338,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Premeu les tecles modificadores @@ -7031,22 +6354,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press CTRL and middle mouse button Premeu la tecla CTRL i el botó central del ratolí - + Press CTRL and right mouse button Premeu la tecla CTRL i el botó dret del ratolí - + Press CTRL and left mouse button Premeu la tecla CTRL i el botó esquerre del ratolí @@ -7054,22 +6377,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press right mouse button and move mouse Premeu el botó dret del ratolí i moveu el ratolí - + Press left mouse button and move mouse Premeu el botó esquerra del ratolí i moveu el ratolí - + Press middle mouse button or SHIFT and right mouse button Premeu el botó central del ratolí o MAJÚS i el botó dret del ratolí @@ -7077,17 +6400,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Edita - + Save value Desa el valor - + Clear list Buida la llista @@ -7118,12 +6441,12 @@ How do you want to proceed? Restant: %1 - + Aborting S'interromp - + Do you really want to abort the operation? Esteu segur que voleu interrompre l'operació? @@ -7131,7 +6454,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Canvia l'objecte enllaçat @@ -7139,12 +6462,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Error - + Object not found No s'ha trobat l'objecte. @@ -7215,13 +6538,13 @@ How do you want to proceed? Gui::PropertyView - + View Vista - + Data Dades @@ -7269,77 +6592,77 @@ Esteu segur que voleu sortir sense desar les dades? S'ha produït una excepció de C++ no gestionada desconeguda. - + &Copy &Copia - + &Copy command &Copia l'ordre - + &Copy history &Copia l'historial - + Save history as... Anomena i desa l'historial... - + Save history Desa l'historial - + Saves Python history across %1 sessions Desa l'historial de Python entre %1 sessions - + &Paste A&pega - + Select All Selecciona-ho tot - + Clear console Neteja la consola - + Insert file name... Inseriu un nom de fitxer... - + Word wrap Ajust de paraules - + Save History Desa l'historial - + Macro Files Fitxers de macro - + Insert file name Inseriu un nom de fitxer - + All Files Tots els fitxers @@ -7347,7 +6670,7 @@ Esteu segur que voleu sortir sense desar les dades? Gui::PythonEditor - + Comment Comentari @@ -7360,17 +6683,17 @@ Esteu segur que voleu sortir sense desar les dades? Gui::RecentFilesAction - + Open file %1 Obrir el fitxer %1 - + File not found No s'ha trobat el fitxer. - + The file '%1' cannot be opened. El fitxer '%1' no es pot obrir. @@ -7378,22 +6701,22 @@ Esteu segur que voleu sortir sense desar les dades? Gui::RecentMacrosAction - + none cap - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Corre la macro %1 (Maj+clic per editar) drecera de teclat: %2 - + File not found No s'ha trobat el fitxer. - + The file '%1' cannot be opened. El fitxer '%1' no es pot obrir. @@ -7401,22 +6724,22 @@ Esteu segur que voleu sortir sense desar les dades? Gui::RevitNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press middle mouse button Premeu el botó central del ratolí - + Press SHIFT and middle mouse button Premeu la tecla MAJÚS i el botó central del ratolí - + Scroll middle mouse button Feu rodar el botó central del ratolí @@ -7447,17 +6770,17 @@ Esteu segur que voleu sortir sense desar les dades? Gui::SelectModule - + Select module Seleccioneu el mòdul - + Open %1 as Obri %1 com a - + Select Selecciona @@ -7522,13 +6845,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentació automàtica de mòduls Python - - + + Opens a browser to show the Python modules documentation Obri un navegador per a mostrar la documentació dels mòduls Python @@ -7681,38 +7004,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Text actualitzat - + The text of the underlying object has changed. Discard changes and reload the text from the object? El text de l'objecte subjacent ha canviat. Voleu descartar els canvis i tornar a carregar el text des de l'objecte? - + Yes, reload. Sí, torna a carregar-lo. - + Unsaved document El document no s'ha desat - + Do you want to save your changes before closing? Voleu desar els canvis abans de tancar? - + If you don't save, your changes will be lost. Si no guardeu els canvis, es perdran. - - + + Edit text Edita el text @@ -7720,22 +7043,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press middle mouse button Premeu el botó central del ratolí - + Press right mouse button Premeu el botó dret del ratolí - + Scroll middle mouse button Feu rodar el botó central del ratolí @@ -7743,22 +7066,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press SHIFT button Premeu la tecla MAJ - + Press ALT button Premeu la tecla ALT - + Press CTRL and SHIFT buttons Premeu les tecles CTRL i MAJ @@ -7984,7 +7307,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Vista d'arbre @@ -7992,7 +7315,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Cerca @@ -8000,183 +7323,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Cerca... - + Search for objects Cerca objectes - + Activate document Activa el document - + Activate document %1 Activa el document %1 - + Tree settings Opcions d'Arbre - + Show description column Mostra la columna descripció - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Mostra una columna addicional a la vista d'arbre per la descripció d'element. La descripció d'element es pot establir prement F2 (o el botó editar del vostre sistema operatiu) o bé editant la propietat 'label2'. - + Group Grup - + Labels & Attributes Etiquetes i atributs - + Description Descripció - + Show items hidden in tree view Mostra objectes amagats en la vista en arbre - + Show items that are marked as 'hidden' in the tree view Mostra objectes marcats com a "ocults" a la vista en arbre - + Toggle visibility in tree view Commuta la visibilitat en la vista en arbre - + Toggles the visibility of selected items in the tree view Commuta la visibilitat dels objectes seleccionats - + Create group... Crea un grup... - + Create a group Crea un grup - - + + Rename Reanomena - + Rename object Reanomena l'objecte - + Finish editing Finalitza l'edició - + Finish editing object Finalitza l'edició de l'objecte - + Add dependent objects to selection Afegiu objectes dependents a la selecció - + Adds all dependent objects to the selection Afegiu tots els objectes dependents a la selecció - + Close document Tanca document - + Close the document Tanca el document - + Reload document Torneu a carregar el document - + Reload a partially loaded document Torna a carregar un document que s'ha carregat parcialment - + Skip recomputes Omet el recàlcul - + Enable or disable recomputations of document Activa o desactiva els recàlculs del document - + Allow partial recomputes Permet recàlculs parcials - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Habilita o inhabilita el recàlcul de l'edició d'objectes quan estigui activat «Omet el recàlcul» - + Mark to recompute Marca per a recalcular - + Mark this object to be recomputed Marca aquest objecte per a recalcular-lo - + Recompute object Recalcula l'objecte - + Recompute the selected object Recalcula l'objecte seleccionat - + (but must be executed) (però s'ha d'executar) - + %1, Internal name: %2 %1, nom intern: %2 @@ -8207,12 +7530,12 @@ Do you want to specify another directory? Arxiu PDF - + Opening file failed No s'ha pogut obrir el fitxer - + Can't open file '%1' for writing. No s'ha pogut obrir el fitxer '%1' per escriure-hi. @@ -8220,7 +7543,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Selecciona el banc de treball '%1' @@ -8228,37 +7551,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Serveis - + Hide %1 Amaga %1 - + Hide Others Amaga els altres - + Show All Mostra-ho tot - + Preferences... Preferències... - + Quit %1 Tanca %1 - + About %1 Quant a %1 @@ -8278,11 +7601,6 @@ Do you want to specify another directory? Position - - - Form - Forma - X: @@ -8377,14 +7695,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input L'entrada no és vàlida - - + + Input in line %1 is not a number L'entrada en la línia %1 no és un nombre. @@ -8392,37 +7710,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Vista d'arbre - + Property view Visualització de les propietats - + Selection view Visualització de la selecció - + Combo View Visualització combinada - + DAG View Vista DAG - + Report view Visualització de l'informe - + Python console Consola de Python @@ -8435,31 +7753,32 @@ Do you want to specify another directory? QObject - - + + General General - - + + + Display Visualització - + Workbenches Bancs de treball - - - + + + Python Python @@ -8487,17 +7806,27 @@ Do you want to specify another directory? No es pot desar el tipus de fitxer desconegut: %1 - + Workbench failure Fallada del banc de treball - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Excepció @@ -8543,8 +7872,8 @@ Do you want to specify another directory? S'està exportant a PDF... - + Unsaved document El document no s'ha desat @@ -8565,39 +7894,39 @@ Do you want to specify another directory? Error de dependència - + Copy selected Copia la selecció - + Copy active document Copia el document actiu - + Copy all documents Copia tots el documents - + Paste Enganxa - + Expression error S'ha produït un error d'expressió - + Failed to parse some of the expressions. Please check the Report View for more details. No s'han pogut analitzar algunes de les expressions. Per a obtindre més detalls, consulteu la vista de l'informe. - + Failed to paste expressions No s'han pogut enganxar les expressions @@ -8631,224 +7960,224 @@ Be aware the point where you click matters. Seleccioneu dos objectes. Tingueu en compte el punt on cliqueu. - - + + Save views... Desa les visualitzacions... - - + + Load views... Carrega les visualitzacions... - - + + Freeze view Congela les visualitzacions - - + + Clear views Neteja les visualitzacions - - - + + + Restore view &%1 Restaura la visualització &%1 - + Save frozen views Desa les visualitzacions congelades - - + + Frozen views Visualitzacions congelades - - + + Restore views Restaura les visualitzacions - + Importing the restored views would clear the already stored views. Do you want to continue? La importació de les visualitzacions restaurades netejarà les visualitzacions ja emmagatzemades. Voleu continuar? - + Restore frozen views Restaura les visualitzacions congelades - + Cannot open file '%1'. No es pot obrir el fitxer '%1'. - + files fitxers - + Save image Desa imatge - + Choose an image file to open Trieu un fitxer d'imatge per obrir - + New sub-group Subgrup nou - - - - - - + + + + + + Enter the name: Introduïu el nom nou: - - + + New text item Nou element de text - - + + Enter your text: Introduïu el text: - - + + New integer item Element enter nou - - - - - - + + + + + + Enter your number: Introduïu el vostre número: - - + + New unsigned item Element sense signe nou - - + + New float item Element flotant nou - + New Boolean item Element booleà nou - - + + Choose an item: Trieu un element: - + New boolean item Element booleà nou - + Rename group Reanomena el grup - + The group '%1' cannot be renamed. El grup '%1' no es pot reanomenar. - + Existing group Grup existent - + The group '%1' already exists. El grup '%1' ja existeix. - - - - - + + + + + Change value Canvia el valor - + Type Tipus - + Notifier Notificador - + Message Missatge - + Notifier: Notificador: - + Do you want to skip confirmation of further critical message notifications while loading the file? Voleu ometre la confirmació de més missatges de notificacions crítiques mentre es carrega el fitxer? - + Critical Message Missatge crític - + Too many opened non-intrusive notifications. Notifications are being omitted! Massa notificacions no intrusives obertes. S'ometran les notificacions! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8857,44 +8186,44 @@ Do you want to continue? - + Are you sure you want to continue? Segur que voleu continuar? - + Please check report view for more... Si us plau, comproveu la vista d'informe per obtenir més informació... - + Physical path: Ruta física: - - + + Document: Document: - - + + Path: Camí: - + Identical physical path Ruta física idèntica - + Could not save document No s'ha pogut desar el document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8907,102 +8236,102 @@ Would you like to save the file with a different name? Voleu desar-lo amb un nom diferent? - - - + + + Saving aborted S'ha interromput el desament - + Save dependent files Desa els fitxers dependents - + The file contains external dependencies. Do you want to save the dependent files, too? El fitxer conté dependències externes. Voleu desar també els fitxers dependents? - - + + Saving document failed No s'ha pogut desar el document - + Save document under new filename... Guarda el document amb un altre nom... - - + + Save %1 Document Guarda el document %1 - + Document Document - - + + Failed to save document No s'ha pogut desar el document - + Documents contains cyclic dependencies. Do you still want to save them? Els documents contenen dependències cícliques. Encara voleu desar-los? - + Save a copy of the document under new filename... Guarda una còpia del document amb un altre nom... - + %1 document (*.FCStd) Document %1 (*.FCStd) - + Document not closable No es pot tancar el document. - + The document is not closable for the moment. De moment el document no es pot tancar. - + Document not saved Document no desat - + The document%1 could not be saved. Do you want to cancel closing it? No s'ha pogut desar el document %1. Vol cancel·lar el tancament? - + Undo Desfés - + Redo Refés - + There are grouped transactions in the following documents with other preceding transactions Hi ha transaccions agrupades en els documents següents amb altres transaccions anteriors - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9016,95 +8345,95 @@ Trieu «Interromp» per a interrompre Desa la macro - - + + Finish Finalitza - - + + Clear Neteja - - - + + + Cancel Cancel·la - + Inner Interior - + Outer Exterior - + Split Dividir - - + + No Browser Cap navegador - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. No es pot obrir el vostre navegador. Obriu una finestra del navegador i escriviu-hi: http://localhost:%1. - + No Server Cap servidor - + Unable to start the server to port %1: %2. No es pot iniciar el servidor al port %1: %2. - + Unable to open your system browser. No es pot obrir el navegador del sistema. - + Options... Opcions... - + Out of memory No hi ha prou memòria. - + Not enough memory available to display the data. No hi ha prou memòria disponible per a mostrar les dades. - - + + Cannot find file %1 No s'ha pogut trobar el fitxer '%1'. - + Cannot find file %1 neither in %2 nor in %3 No s'ha trobat el fitxer %1 ni en %2 ni en %3 - + Navigation styles Estils de navegació @@ -9114,8 +8443,8 @@ Please open a browser window and type in: http://localhost:%1. Mou l'anotació - - + + Transform Transformar @@ -9125,42 +8454,42 @@ Please open a browser window and type in: http://localhost:%1. Do you want to close this dialog? - + Do you want to save your changes to document '%1' before closing? Voleu desar els canvis en el document '%1' abans de tancar? - + Do you want to save your changes to document before closing? Voleu desar els vostres canvis en el document abans de tancar? - + If you don't save, your changes will be lost. Si no guardeu els canvis, es perdran. - + Apply answer to all Envia la resposta a tots - + %1 Document(s) not saved Document (s) %1 no desat - + Some documents could not be saved. Do you want to cancel closing? Alguns documents no s'han pogut desar. Vol cancel·lar la sortida? - + Delete macro Suprimeix la macro - + Not allowed to delete system-wide macros No es permet eliminar les macros del sistema @@ -9170,27 +8499,27 @@ Please open a browser window and type in: http://localhost:%1. Origen - + Delete group content? Voleu suprimir el contingut del grup? - + The %1 is not empty, delete its content as well? L'%1 no és buit, voleu esborrar-ne le contingut? - + Translation: Translació: - + Rotation: Rotació: - + Toggle active part Canvia la part activa @@ -9253,88 +8582,88 @@ Please open a browser window and type in: http://localhost:%1. No s'han pogut importar tots els enllaços - - + + Invalid name Nom no vàlid - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. El nom de propietat o el del grup només ha de contenir caràcters alfanumèrics, guions baixos i no ha de començar amb un dígit. - + The property '%1' already exists in '%2' La propietat «%1» ja existeix en «%2» - + Add property Afegeix una propietat - + Failed to add property to '%1': %2 No s'ha pogut afegir la propietat a «%1»: %2 - - + + Drag & drop failed S'ha produït un error en arrossegar i deixar anar - + Setup configurable object Configura objecte configurable - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Seleccioneu quin objecte copiar o excloure quan canviï la configuració. Tots els objectes enllaçats externs s'exclouen per defecte. - + Please select which objects to copy when the configuration is changed Seleccioneu quins objectes voleu copiar quan es canviï la configuració - + Apply to all Aplicar a tot - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Apliqueu la configuració a tots els enllaços. O desmarqueu això opció d'aplicar només a aquest enllaç. - + Copy on change Copiar al cambiar - + Enable Habilita - + Enable auto copy of linked object when its configuration is changed Activa la còpia automàtica de l'objecte enllaçat quan es canvia la seva configuració - + Tracking Seguiment - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9342,17 +8671,17 @@ Also auto redo the copy if the original linked object is changed. També es refereix automàticament la còpia si es canvia l'objecte enllaçat original. - + Disable copy on change Desactiva la còpia en canviar - + Refresh configurable object Actualitza l'objecte configurable - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9362,28 +8691,28 @@ creant una nova còpia profunda. Tingueu en compte que qualsevol canvi fet a la còpia actual es perdrà. - + Toggle array elements Commuta els elements de la matriu - + Change whether show each link array element as individual objects Canvieu si mostrar cada element de matriu d'enllaços com a objectes individuals - + Transform at the origin of the placement Transformar a l'origen de la col·locació - - + + Override colors... Sobreescriu els colors... - + Edit %1 Editar %1 @@ -9406,12 +8735,12 @@ la còpia actual es perdrà. SelectionFilter - + Not allowed: No es permet: - + Selection not allowed by filter La selecció no és permesa pel filtre. @@ -9419,9 +8748,9 @@ la còpia actual es perdrà. StdBoxElementSelection - - - + + + Box element selection Selecció d'elements de la caixa @@ -9429,13 +8758,13 @@ la còpia actual es perdrà. StdBoxSelection - + Box selection Quadre de selecció - - + + Activate the box selection tool Activa l'eina de selecció de caixa @@ -9513,13 +8842,13 @@ la còpia actual es perdrà. StdCmdAxisCross - + Toggle axis cross Activa/desactiva els eixos de coordenades - - + + Turns on or off the axis cross at the origin Commuta actiu o no actiu la creu d'eixos a l'origen @@ -9625,13 +8954,13 @@ la còpia actual es perdrà. StdCmdDemoMode - + View turntable... Visualitza en rotació... - - + + View turntable Visualitza en rotació @@ -9751,13 +9080,13 @@ la còpia actual es perdrà. StdCmdDrawStyle - + Draw style Estil de dibuix - - + + Change the draw style of the objects Canviar estil de dibuix dels objectes @@ -9821,13 +9150,13 @@ la còpia actual es perdrà. StdCmdExpression - + Expression actions Accions d’expressió - - + + Actions that apply to expressions Accions que s'apliquen a expressions @@ -9944,13 +9273,13 @@ la còpia actual es perdrà. StdCmdFreezeViews - + Freeze display Congela la visualització - - + + Freezes the current view position Congela la posició de la vista actual @@ -9971,13 +9300,13 @@ la còpia actual es perdrà. StdCmdHideObjects - + Hide all objects Oculta tots els objectes - - + + Hide all objects in the document Oculta tots els objectes en el document @@ -9985,13 +9314,13 @@ la còpia actual es perdrà. StdCmdHideSelection - + Hide selection Oculta la selecció - - + + Hide all selected objects Oculta tots els objectes seleccionats @@ -10265,13 +9594,13 @@ la còpia actual es perdrà. StdCmdMeasureDistance - + Measure distance Mesura la distància - - + + Activate the distance measurement tool Activa l'eina de mesurament de distància @@ -10330,8 +9659,8 @@ la còpia actual es perdrà. Crea un document buit nou - - + + Unnamed Sense nom @@ -10559,8 +9888,8 @@ la còpia actual es perdrà. StdCmdRecentFiles - Recent files - Fitxers recents + Open Recent + Open Recent @@ -10698,13 +10027,13 @@ la còpia actual es perdrà. StdCmdSceneInspector - + Scene inspector... Inspector d'escena... - - + + Scene inspector Inspector d'escena @@ -10712,13 +10041,13 @@ la còpia actual es perdrà. StdCmdSelBack - + &Back &Ves arrere - - + + Go back to previous selection Torna a la selecció anterior @@ -10726,13 +10055,13 @@ la còpia actual es perdrà. StdCmdSelBoundingBox - + &Bounding box &Caixa contenidora - - + + Show selection bounding box Mostra la caixa contenidora de la selecció @@ -10740,13 +10069,13 @@ la còpia actual es perdrà. StdCmdSelForward - + &Forward &Ves avant - - + + Repeat the backed selection Repeteix la selecció emmagatzemada @@ -10768,13 +10097,13 @@ la còpia actual es perdrà. StdCmdSelectVisibleObjects - + Select visible objects Seleccioneu objectes visibles - - + + Select visible objects in the active document Seleccioneu objectes visibles en el document actiu @@ -10796,13 +10125,13 @@ la còpia actual es perdrà. StdCmdSetAppearance - + Appearance... Aparença... - - + + Sets the display properties of the selected object Estableix les propietats de visualització dels objectes seleccionats @@ -10810,13 +10139,13 @@ la còpia actual es perdrà. StdCmdShowObjects - + Show all objects Mostra tots els objectes - - + + Show all objects in the document Mostra tots els objectes en el document @@ -10824,13 +10153,13 @@ la còpia actual es perdrà. StdCmdShowSelection - + Show selection Mostra la selecció - - + + Show all selected objects Mostra tots els objectes seleccionats @@ -10866,13 +10195,13 @@ la còpia actual es perdrà. StdCmdTextureMapping - + Texture mapping... Mapatge de textura... - - + + Texture mapping Mapatge de textura @@ -10908,13 +10237,13 @@ la còpia actual es perdrà. StdCmdToggleClipPlane - + Clipping plane Pla de retallada - - + + Toggles clipping plane for active view Commuta el pla de retallada per a la vista activa @@ -10922,13 +10251,13 @@ la còpia actual es perdrà. StdCmdToggleNavigation - + Toggle navigation/Edit mode Commuta el mode navegació i edició - - + + Toggle between navigation and edit mode Commuta entre el mode de navegació i d'edició @@ -10936,13 +10265,13 @@ la còpia actual es perdrà. StdCmdToggleObjects - + Toggle all objects Commuta tots els objectes - - + + Toggles visibility of all objects in the active document Commuta la visibilitat de tots els objectes en el document actiu @@ -10950,13 +10279,13 @@ la còpia actual es perdrà. StdCmdToggleSelectability - + Toggle selectability Commuta la selectivitat - - + + Toggles the property of the objects to get selected in the 3D-View Commuta la propietat dels objectes de ser seleccionats en la vista 3D @@ -10964,13 +10293,13 @@ la còpia actual es perdrà. StdCmdToggleVisibility - + Toggle visibility Commuta la visibilitat - - + + Toggles visibility Commuta la visibilitat @@ -11020,13 +10349,13 @@ la còpia actual es perdrà. StdCmdTreeCollapse - + Collapse selected item Contrau l'element seleccionat - - + + Collapse currently selected tree items Contrau els elements d'arbre seleccionats actualment @@ -11034,13 +10363,13 @@ la còpia actual es perdrà. StdCmdTreeExpand - + Expand selected item Expandeix l'element seleccionat - - + + Expand currently selected tree items Expandeix els elements d'arbre seleccionats actualment @@ -11048,13 +10377,13 @@ la còpia actual es perdrà. StdCmdTreeSelectAllInstances - + Select all instances Selecciona totes les instàncies - - + + Select all instances of the current selected object Selecciona totes les instàncies de l'objecte seleccionat actualment @@ -11062,13 +10391,13 @@ la còpia actual es perdrà. StdCmdTreeViewActions - + TreeView actions Accions de la vista d'arbre - - + + TreeView behavior options and actions Opcions i accions del comportament de la vista d'arbre @@ -11132,13 +10461,13 @@ la còpia actual es perdrà. StdCmdViewBottom - + Bottom Inferior - - + + Set to bottom view Estableix la vista inferior @@ -11146,13 +10475,13 @@ la còpia actual es perdrà. StdCmdViewCreate - + Create new view Crea una visualització nova - - + + Creates a new view window for the active document Crea una nova finestra de visualització per al document actiu @@ -11160,13 +10489,13 @@ la còpia actual es perdrà. StdCmdViewDimetric - + Dimetric Dimètric - - + + Set to dimetric view Estableix la vista dimètrica @@ -11174,13 +10503,13 @@ la còpia actual es perdrà. StdCmdViewExample1 - + Inventor example #1 Inventor exemple #1 - - + + Shows a 3D texture with manipulator Mostra una textura 3D amb manipulació @@ -11188,13 +10517,13 @@ la còpia actual es perdrà. StdCmdViewExample2 - + Inventor example #2 Inventor exemple #2 - - + + Shows spheres and drag-lights Mostra esferes i llums desplaçables @@ -11202,13 +10531,13 @@ la còpia actual es perdrà. StdCmdViewExample3 - + Inventor example #3 Inventor exemple #3 - - + + Shows a animated texture Mostra una textura animada @@ -11216,13 +10545,13 @@ la còpia actual es perdrà. StdCmdViewFitAll - + Fit all Ajusta-ho tot - - + + Fits the whole content on the screen Ajusta el contingut complet a la pantalla @@ -11230,13 +10559,13 @@ la còpia actual es perdrà. StdCmdViewFitSelection - + Fit selection Ajusta la selecció - - + + Fits the selected content on the screen Ajusta el contingut seleccionat a la pantalla @@ -11244,13 +10573,13 @@ la còpia actual es perdrà. StdCmdViewFront - + Front Alçat - - + + Set to front view Estableix la vista en alçat @@ -11258,13 +10587,13 @@ la còpia actual es perdrà. StdCmdViewHome - + Home Inici - - + + Set to default home view Estableix com a pantalla d'inici per defecte @@ -11272,13 +10601,13 @@ la còpia actual es perdrà. StdCmdViewIsometric - + Isometric Isomètrica - - + + Set to isometric view Estableix la vista isomètrica @@ -11286,13 +10615,13 @@ la còpia actual es perdrà. StdCmdViewIvIssueCamPos - + Issue camera position Publica la posició de la càmera - - + + Issue the camera position to the console and to a macro, to easily recall this position Publica la posició de la càmera en la consola i en una macro, tornar a cridar fàcilment a aquesta posició @@ -11300,13 +10629,13 @@ la còpia actual es perdrà. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Columnes estèreo intercalades - - + + Switch stereo viewing to Interleaved Columns Canvia la vista estèreo a columnes intercalades @@ -11314,13 +10643,13 @@ la còpia actual es perdrà. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Files estèreo intercalades - - + + Switch stereo viewing to Interleaved Rows Canvia la vista estèreo a files intercalades @@ -11328,13 +10657,13 @@ la còpia actual es perdrà. StdCmdViewIvStereoOff - + Stereo Off Desactiva l'estèreo - - + + Switch stereo viewing off Canvia la vista estèreo a desactivada @@ -11342,13 +10671,13 @@ la còpia actual es perdrà. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Memòria intermèdia estèreo quàdruple - - + + Switch stereo viewing to quad buffer Canvia la vista estèreo a memòria intermèdia quàdruple @@ -11356,13 +10685,13 @@ la còpia actual es perdrà. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Estèreo roig/cian - - + + Switch stereo viewing to red/cyan Canvia la vista estèreo a roig/cian @@ -11370,13 +10699,13 @@ la còpia actual es perdrà. StdCmdViewLeft - + Left Esquerra - - + + Set to left view Estableix la vista esquerra @@ -11384,13 +10713,13 @@ la còpia actual es perdrà. StdCmdViewRear - + Rear Posterior - - + + Set to rear view Estableix la vista posterior @@ -11412,13 +10741,13 @@ la còpia actual es perdrà. StdCmdViewRight - + Right Dreta - - + + Set to right view Estableix la vista dreta @@ -11426,13 +10755,13 @@ la còpia actual es perdrà. StdCmdViewRotateLeft - + Rotate Left Gira a l'esquerra - - + + Rotate the view by 90° counter-clockwise Gireu la vista 90 ° en sentit antihorari @@ -11440,13 +10769,13 @@ la còpia actual es perdrà. StdCmdViewRotateRight - + Rotate Right Gira a la dreta - - + + Rotate the view by 90° clockwise Gireu la vista 90° en sentit horari @@ -11468,13 +10797,13 @@ la còpia actual es perdrà. StdCmdViewTop - + Top Planta - - + + Set to top view Estableix la vista en planta @@ -11482,13 +10811,13 @@ la còpia actual es perdrà. StdCmdViewTrimetric - + Trimetric Trimètric - - + + Set to trimetric view Estableix la vista trimètrica @@ -11496,13 +10825,13 @@ la còpia actual es perdrà. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Estén la finestra 3D del FreeCAD a l'Oculus Rift @@ -11566,13 +10895,13 @@ la còpia actual es perdrà. StdMainFullscreen - + Fullscreen Pantalla completa - - + + Display the main window in fullscreen mode Mostrar la finestra principal en mode de pantalla completa @@ -11608,13 +10937,13 @@ la còpia actual es perdrà. StdRecallWorkingView - + Recall working view Torna a la vista de treball - - + + Recall previously stored temporary working view Torna a la vista de treball temporalment desada @@ -11622,13 +10951,13 @@ la còpia actual es perdrà. StdStoreWorkingView - + Store working view Desa la vista de treball - - + + Store a document-specific temporary working view Desa una vista d'un document específic temporal de treball @@ -11636,13 +10965,13 @@ la còpia actual es perdrà. StdTreeCollapseDocument - + Collapse/Expand Contreu/Expandeix - - + + Expand active document and collapse all others Expandeix el document actiu i contreu tots els altres @@ -11650,12 +10979,12 @@ la còpia actual es perdrà. StdTreeDrag - + Initiate dragging Inicia l'arrossegament - + Initiate dragging of current selected tree items Inicia l'arrossegament dels elements d'arbre seleccionats actualment @@ -11663,13 +10992,13 @@ la còpia actual es perdrà. StdTreeMultiDocument - + Multi document Document múltiple - - + + Display all documents in the tree view Mostra tots els documents en la vista d'arbre @@ -11677,12 +11006,12 @@ la còpia actual es perdrà. StdTreePreSelection - + Pre-selection Preselecció - + Preselect the object in 3D view when mouse over the tree item Selecciona l'objecte en vista 3D en fer clic amb el ratolí sobre l'element de l'arbre @@ -11690,12 +11019,12 @@ la còpia actual es perdrà. StdTreeRecordSelection - + Record selection Grava la selecció - + Record selection in tree view in order to go back/forward using navigation button Grava la selecció en la vista de l'arbre per a anar enrere/endavant mitjançant el botó de navegació @@ -11703,13 +11032,13 @@ la còpia actual es perdrà. StdTreeSelection - + Go to selection Vés a la selecció - - + + Scroll to first selected item Desplaça fins al primer element seleccionat @@ -11717,13 +11046,13 @@ la còpia actual es perdrà. StdTreeSingleDocument - + Single document Document únic - - + + Only display the active document in the tree view Mostrar només el document actiu a la vista d'arbre @@ -11731,12 +11060,12 @@ la còpia actual es perdrà. StdTreeSyncPlacement - + Sync placement Sincronitza el posicionament - + Auto adjust placement on drag and drop objects across coordinate systems Ajusta automàticament el posicionament en arrossegar i deixar anar objectes en els sistemes de coordenades @@ -11744,12 +11073,12 @@ la còpia actual es perdrà. StdTreeSyncSelection - + Sync selection Sincronitza la selecció - + Auto expand tree item when the corresponding object is selected in 3D view Expandeix automàticament l’element de l'arbre quan l’objecte corresponent està seleccionat en la vista 3D @@ -11757,12 +11086,12 @@ la còpia actual es perdrà. StdTreeSyncView - + Sync view Sincronitza la vista - + Auto switch to the 3D view containing the selected item Canvia automàticament a la vista 3D que conté l’element seleccionat @@ -11770,13 +11099,13 @@ la còpia actual es perdrà. StdViewBoxZoom - + Box zoom Zona de zoom - - + + Activate the box zoom tool Activa l'eina de la caixa de zoom @@ -11784,13 +11113,13 @@ la còpia actual es perdrà. StdViewDock - + Docked Acoblat - - + + Display the active view either in fullscreen, in undocked or docked mode Mostra la vista activa en pantalla completa, en mode desacoblat o acoblat @@ -11798,13 +11127,13 @@ la còpia actual es perdrà. StdViewDockUndockFullscreen - + Document window Finestra del document - - + + Display the active view either in fullscreen, in undocked or docked mode Mostra la vista activa en pantalla completa, en mode desacoblat o acoblat @@ -11812,13 +11141,13 @@ la còpia actual es perdrà. StdViewFullscreen - + Fullscreen Pantalla completa - - + + Display the active view either in fullscreen, in undocked or docked mode Mostra la vista activa en pantalla completa, en mode desacoblat o acoblat @@ -11826,13 +11155,13 @@ la còpia actual es perdrà. StdViewScreenShot - + Save image... Desa imatge... - - + + Creates a screenshot of the active view Crea una captura de pantalla de la vista activa @@ -11840,13 +11169,13 @@ la còpia actual es perdrà. StdViewUndock - + Undocked Desacoblat - - + + Display the active view either in fullscreen, in undocked or docked mode Mostra la vista activa en pantalla completa, en mode desacoblat o acoblat @@ -11854,13 +11183,13 @@ la còpia actual es perdrà. StdViewZoomIn - + Zoom In Amplia - - + + Increase the zoom factor by a fixed amount Augmenta el factor de zoom en una quantitat fixa @@ -11868,13 +11197,13 @@ la còpia actual es perdrà. StdViewZoomOut - + Zoom Out Redueix - - + + Decrease the zoom factor by a fixed amount Augmenta el factor de zoom en una quantitat fixa @@ -11909,72 +11238,72 @@ Segur que voleu continuar? Std_DrawStyle - + As is Com és actualment - + Normal mode Mode normal - + Points Punts - + Points mode Mode de punts - + Wireframe Model de filferro - + Wireframe mode Visualització de model de filferro - + Hidden line Línia amagada - + Hidden line mode Mode de línia amagada - + No shading Sense ombrejat - + No shading mode Mode sense ombrejat - + Shaded Ombrejat - + Shaded mode Mode ombrejat - + Flat lines Línies planes - + Flat lines mode Mode de línies planes @@ -12037,32 +11366,32 @@ Encara voleu continuar? TreeParams - + Tree view item background. Only effective in overlay. La vista en arbre d'objectes està al fons. Només serà efectiva en superposició. - + Tree view item background padding. Farciment del fons de la vista en arbre d'objecte. - + Hide extra tree view column for item description. Amaga la columna extra de vista en arbre per la descripció de l'objecte. - + Hide tree view scroll bar in dock overlay. Amaga la barra de desplaçament de la vista en arbre al moll superposat. - + Hide tree view header view in dock overlay. Amaga la vista de la capçalera de la vista en arbre en la superposició del moll. - + Allow tree view columns to be manually resized. Permet redimensionar manualment les columnes de la vista en arbre. @@ -12070,117 +11399,117 @@ Encara voleu continuar? Workbench - + &File &Fitxer - + &Edit &Edita - + Edit Edita - + Clipboard Porta papers - + Workbench Banc de treball - + Structure Estructura - + Standard views Vistes estàndard - + Axonometric Axonomètrica - + &Stereo E&stèreo - + &Zoom &Zoom - + Visibility Visibilitat - + &View &Visualitza - + &Tools &Eines - + &Macro &Macro - + &Windows &Finestres - + &On-line help &Ajuda en línia - + &Help &Ajuda - + Help Ajuda - + File Fitxer - + Macro Macro - + View Vista - + Special Ops Operacions especials - + Link actions Enllaça accions @@ -12188,12 +11517,12 @@ Encara voleu continuar? Gui::MDIView - + Export PDF Exporta a PDF - + PDF file Arxiu PDF @@ -12201,196 +11530,190 @@ Encara voleu continuar? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Àrea de notificació - + Settings Paràmetres - + The Notification area will appear in the status bar L'àrea de notificació apareixerà a la barra d'estatus - + Enable Notification Area Activa l'àrea de notificació - + Non-intrusive notifications will appear next to the notification area in the status bar Apareixeran notificacions no intrusives al costat de l'àrea de notificació a la barra d'estatus - + Enable non-intrusive notifications Activar notificacions no intrusives - + Additional data sources Orígens de dades addicionals - + Errors intended for developers will appear in the notification area Apareixeran errors destinats a desenvolupadors a l'àrea de notificacions - + Debug errors Errors de depuració - + Warnings intended for developers will appear in the notification area Apareixeran avisos destinats a desenvolupadors a l'àrea de notificacions - + Debug warnings Avisos de depuració - + Non-Intrusive Notifications Notificacions no intrusives - + Minimum Duration: Durada mínima: - + Maximum Duration: Durada màxima: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Durada en què es mostraran notificacions (si no es clica el ratolí) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Durada mínima en què es mostraran notificacions (si no es clica el ratolí) - + Maximum Number of Notifications: Nombre màxim de notificacions: - + Maximum number of notifications that will be simultaneously present on the screen Nombre màxim de notificacions que poden ser present simultàniament a la pantalla - + Notification width: Ample de la notificació: - + Width of the notification in pixels Ample de la notificació en píxels - + Any open non-intrusive notifications will disappear when another window is activated Qualsevol notificació no intrusiva desapareixerà quan una altra finestra s'activi - + Hide when other window is activated Amaga-ho quan s'activi una altra finestra - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Evita notificacions no intrusives quan la finestra FreeCAD no sigui la finestra activa - + Do not show when inactive No ho mostris quan estigui inactiu - + Message List Llista de missatges - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limita el nombre de missatges que es desaran a la llista. Si 0, no hi ha límit. - + Maximum Messages (0 = no limit): Nombre màxim de missatges (0 = sense límit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Treu les notificacions d'usuari de la llista després que la durada màxima s'hagi sobrepassat. - + Auto-remove User Notifications Treu automàticament les notificacions d'usuari - - - Activation of the Notification Area only takes effect after an application restart. - L'activació de l'àrea de notificacions només es tindrà en compte quan l'aplicació es torni a engegar. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Bancs de treball disponibles - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Podeu reorganitzar els bancs de treball arrossegant-los i deixant-los anar. Es poden afegir bancs addicionals mitjançant el manegador de complements (Addon).</p><p> Actualment, el vostre sistema disposa dels bancs de treball següents:</p></body></html> - + Start up workbench: Engega banc de treball: - + Choose which workbench will be activated and shown after FreeCAD launches Trieu quin banc de treball s’activarà i es mostrarà en iniciar FreeCAD - + Workbench selector position : Posició del selector del banc de treball: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12403,12 +11726,12 @@ en iniciar FreeCAD «Cantonada dreta»: a la barra de menús, a la cantonada dreta. - + If checked, application will remember which workbench is active for each tab of the viewport Si aquesta opció està marcada, l’aplicació recordarà quin banc de treball està actiu per a cada pestanya de l'àrea de visualització - + Remember active workbench by tab Recorda el banc de treball actiu per pestanya @@ -12557,47 +11880,47 @@ en iniciar FreeCAD Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Si està desmarcat, %1 no apareixerà en els bancs de treball disponibles. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Aquest és el mòdul d'inici actual, i ha d'estar activat. Mira a Preferències/General/Autoload per a canviar-lo. - + Shortcut to activate this workbench. Drecera per a activar aquest banc de treball. - + Auto-load Càrrega automàtica - + If checked, %1 will be loaded automatically when FreeCAD starts up Si està seleccionat, %1 es carregarà automàticament en iniciar el FreeCAD - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Aquest és el mòdul d'inici actual i s'ha de carregar automàticament. Vegeu Preferències/General/Càrrega automàtica per canviar-ho. - + Loaded Carregat - + Load Carrega - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Per preservar recursos, FreeCAD no carrega els bancs de treball fins que es fan servir. Carregar-los pot proporcionar accés a preferències addicionals relacionades amb la seva funcionalitat. @@ -12605,17 +11928,22 @@ en iniciar FreeCAD Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Barra d'eines - + Left corner Cantonada esquerra - + Right corner Cantonada dreta @@ -12641,12 +11969,12 @@ en iniciar FreeCAD Gui::NotificationArea - + Delete user notifications Elimina les notificacions d'usuari - + Delete All Esborrar-ho tot @@ -12682,13 +12010,13 @@ en iniciar FreeCAD StdViewLoadImage - + Load image... Carrega la imatge... - - + + Loads an image Carrega una imatge @@ -12750,10 +12078,810 @@ en iniciar FreeCAD Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Ha succeït un error - mira la vista d'informes per a més informació + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opcions + + + + Code lines will be numbered + Les línies de codi es numeraran + + + + Enable line numbers + Activa els números de línia + + + + The cursor shape will be a block + La forma del cursor serà un bloc + + + + Enable block cursor + Activa el cursor de bloc + + + + Enable folding + Habilita el plegament + + + + Indentation + Sagnat + + + + Tab size: + Mida de la tabulació: + + + + Tabulator raster (how many spaces) + Ràster del tabulador (quants espais) + + + + Indent size: + Mida del sagnat: + + + + How many spaces will be inserted when pressing <Tab> + Quants espais s’inseriran en prémer <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Si premeu <Tab> s'inserirà un tabulador amb la mida de tabulació definida + + + + Keep tabs + Mantén les tabulacions + + + + Pressing <Tab> will insert amount of defined indent size + Si premeu <Tab> s'inserirà la quantitat de la mida del sagnat definit + + + + Insert spaces + Insereix espais + + + + Display items + Visualitza els elements + + + + Color and font settings will be applied to selected type + La configuració del color i del tipus de lletra s'aplicaran al tipus seleccionat + + + + Family: + Família: + + + + Font family to be used for selected code type + El tipus de lletra que s'utilitzarà per al tipus de codi seleccionat + + + + Size: + Mida: + + + + Font size to be used for selected code type + Mida del tipus de lletra que s'utilitzarà per al tipus de codi seleccionat + + + + Color: + Color: + + + + Preview: + Previsualització: + + + + Text + Text + + + + Bookmark + Adreça d'interés + + + + Breakpoint + Punt de ruptura + + + + Keyword + Paraula clau + + + + Comment + Comentari + + + + Block comment + Comentari de bloc + + + + Number + Nombre + + + + String + Cadena + + + + Character + Caràcter + + + + Class name + Nom de classe + + + + Define name + Defineix el nom + + + + Operator + Operador + + + + Python output + Sortida de Python + + + + Python error + Error de Python + + + + Current line highlight + Ressaltat de la línia actual + + + + Items + Elements + + + + Gui::Dialog::DlgSettingsGeneral + + + General + General + + + + Language and number format + Idioma i format de nombre + + + + Language: + Llengua: + + + + Language of the application's user interface + Idioma de la interfície d’usuari de l’aplicació + + + + Unit system: + Sistema d'unitats: + + + + Unit system that should be used for all parts of the application + Sistema d'unitats que s'ha d'utilitzar per a totes les peces de l'aplicació + + + + Number of decimals: + Nombre de decimals: + + + + Number of decimals that should be shown for numbers and dimensions + Nombre de decimals que s’han de mostrar per als números i dimensions + + + + Minimum fractional inch: + Fracció de polzada mínima: + + + + Minimum fractional inch to be displayed + Fracció mínima de polzada que cal mostrar + + + + Number format: + Format de nombre: + + + + Operating system + Sistema operatiu + + + + Selected language + Idioma seleccionat + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Si s'habilita, el separador decimal numèric del teclat numèric se substituirà amb el separador local, excepte a la consola Python i a l'editor de macros en què sempre s'imprimirà un punt/període. + + + + Substitute decimal separator + Substitueix el separador decimal + + + + Application + Aplicació + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Mida de les icones de la barra d'eines: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Trieu la vostra preferència per a la mida de la icona de la barra d’eines. Podeu ajustar +això segons la mida de la pantalla o el gust personal + + + + Tree view mode: + Mode vista d'arbre: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Personalitzeu com es mostra la vista d'arbre en el tauler (cal reiniciar-lo). + +«ComboView»: combina la vista d'arbre i la de propietats en un únic tauler. +«TreeView i PropertyView»: separa la vista d'arbre i la de propietats en taulers separats. +«Ambdós»: conserva els tres taulers i podeu tindre dos conjunts de vista d'arbre i de vista de propietats. + + + + Size of recent file list: + Mida de la llista de fitxers recent: + + + + How many files should be listed in recent files list + Indica la quantitat de fitxers que s’han d’enumerar en la llista de fitxers recents + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + El fons de la finestra principal (quan no hi hagi cap document obert) consistirà en un mosaic d'una imatge especial. + + + + Enable tiled background + Habilita el fons en mosaic + + + + The text cursor will be blinking + El cursor de text parpellejarà + + + + Enable cursor blinking + Activa el parpelleig del cursor + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Una pantalla de presentació és una finestra petita que es mostra +quan arrenca FreeCAD. Si aquesta opció està marcada, FreeCAD en mostrarà una + + + + Enable splash screen at start up + Habilita la pantalla de presentació a l'inici + + + + Preference packs + Paquets de preferències + + + + Name + Nom + + + + Type + Tipus + + + + Load + Carrega + + + + Import config... + Importa la configuració... + + + + Save new... + Desa el nou... + + + + Manage... + Administra... + + + + Revert... + Desfes... + + + + Manage preference packs + Gestioneu els paquets de preferències + + + + Small (%1px) + Petit (%1px) + + + + Medium (%1px) + Mitjà (%1px) + + + + Large (%1px) + Gran (%1px) + + + + Extra large (%1px) + Molt gran (%1px) + + + + Custom (%1px) + Personalitzat (%1px) + + + + Combo View + Visualització combinada + + + + TreeView and PropertyView + Vista d'arbre i vista de les propietats + + + + Both + Ambdós + + + + Preference Pack Name + Nom del paquet de preferències + + + + Tags + Etiquetes + + + + Apply + Aplica + + + + Apply the %1 preference pack + Apliqueu el paquet de preferències %1 + + + + Choose a FreeCAD config file to import + Trieu un fitxer de configuració del FreeCAD per importar + + + + File exists + El fitxer ja existeix + + + + A preference pack with that name already exists. Overwrite? + Ja existeix un paquet de preferències amb el mateix nom. Voleu sobreescriure'l? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Visualització de l'informe + + + + Output + Sortida + + + + Normal messages will be recorded + Es gravarà el registre de missatges + + + + Record normal messages + Grava els missatges + + + + Log messages will be recorded + Es gravarà el registre de missatges + + + + Record log messages + Grava els missatges de registre + + + + Warnings will be recorded + Es gravaran els avisos + + + + Record warnings + Grava els avisos + + + + Error messages will be recorded + Es gravaran els missatges d'error + + + + Record error messages + Grava els missatges d'error + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Quan s'ha produït un error, el diàleg de Vista d'informes es fa visible +a la pantalla i mostra l'error + + + + Show report view on error + Mostra la vista de l'informe en cas d'error + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Quan s'ha produït un avís, el diàleg de Vista d'informes es fa visible +a la pantalla i mostra l'avís + + + + Show report view on warning + Mostra la vista de l'informe en cas d'avís + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Quan s'ha produït un missatge normal, el diàleg de Vista d'informes es fa visible +a la pantalla i mostra el missatge + + + + Show report view on normal message + Mostra la vista de l'informe en cas d'un missatge normal + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Quan s'ha produït un missatge de registre, el diàleg de Vista d'informes es fa visible a la pantalla i mostra el missatge de registre + + + + Show report view on log message + Mostra la vista de l'informe en cas d'un missatge de registre + + + + Include a timecode for each report + Inclou el codi de temps per cada informe + + + + Include a timecode for each entry + Inclou el codi de temps per a cada entrada + + + + Colors + Colors + + + + Normal messages: + Missatges normals: + + + + Font color for normal messages in Report view panel + Color del tipus de lletra per a missatges normals en el tauler de Vista d'informes + + + + Log messages: + Resgistre de missatges: + + + + Font color for log messages in Report view panel + Color del tipus de lletra per a missatges de registre en el tauler de Vista d'informes + + + + Warnings: + Avisos: + + + + Font color for warning messages in Report view panel + Color del tipus de lletra per a missatges d'avís en el tauler de Vista d'informes + + + + Errors: + Errors: + + + + Font color for error messages in Report view panel + Color del tipus de lletra per a missatges d'error en el tauler de Vista d'informes + + + + Python interpreter + Intèrpret de Python + + + + Internal Python output will be redirected +from Python console to Report view panel + La sortida interna de Python es redirigirà +de la consola Python al tauler de Vista d'informes + + + + Redirect internal Python output to report view + Redirigeix la sortida interna de Python a la visualització d'informe + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Els missatges d'error interns de Python es redirigiran +de la consola Python al tauler de Vista d'informes + + + + Redirect internal Python errors to report view + Redirigeix els errors interns de Python a la visualització d'informe + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + No hi ha cap full d'estil. + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_cs.ts b/src/Gui/Language/FreeCAD_cs.ts index 9e0572711f..dbfbc633dd 100644 --- a/src/Gui/Language/FreeCAD_cs.ts +++ b/src/Gui/Language/FreeCAD_cs.ts @@ -42,31 +42,31 @@ Vizuální velikost prvku - + <empty> <prázdné> - - + + Angle Úhel - - + + Axis Osa - + Position - Position + Pozice - + Enum - Enum + Výčet @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Testovat výstup konzole - - + + Run test cases to verify console messages Spusťte zkušební případy pro ověření zpráv konzole @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Čisti měření - + Clear all visible measurements Vymazat všechna viditelná měření @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Přepni měření - + Turn on or off the display of all measurements Zapnout nebo vypnout displej všech měření @@ -132,7 +132,7 @@ Odstranit - + Paste expressions Vložit výrazy @@ -182,7 +182,7 @@ Přidat skupinu - + Align Zarovnat @@ -193,40 +193,40 @@ Umístění - - + + Transform Transformace - + Toggle array elements Přepnout prvky pole - + Link Transform Transformace odkazu - + Measure distance Změřit vzdálenost - + Toggle visibility Přepnout viditelnost - + Toggle selectability Přepnout možnost výběru - + Edit image Upravit obrázek @@ -234,77 +234,77 @@ CommandGroup - + File Soubor - + Edit Upravit - + Help Nápověda - + Link Odkaz - + Tools Nástroje - + View Pohled - + Window Okno - + Standard Standardní - + Macros Makra - + Macro Makro - + Structure Struktura - + Standard-Test Standardní Test - + Standard-View Standardní pohledy - + TreeView Zobrazení stromu - + Measure Měření @@ -402,11 +402,6 @@ DownloadItem - - - Form - Návrh - Ico @@ -421,42 +416,42 @@ EditMode - + Default Výchozí - + The object will be edited using the mode defined internally to be the most appropriate for the object type Objekt bude upraven pomocí vnitřního režimu tak, aby byl nejvhodnější pro typ objektu - + Transform Transformace - + The object will have its placement editable with the Std TransformManip command Objekt bude mít upravitelné umístění pomocí příkazu Std TransformManip - + Cutting Řez - + This edit mode is implemented as available but currently does not seem to be used by any object Tento režim úprav je implementován jako dostupný, ale v současné době se zdá, že jej žádný objekt nepoužívá - + Color Barva - + The object will have the color of its individual faces editable with the Part FaceColors command Objekt bude mít barvu svých jednotlivých ploch upravitelných příkazem část FaceColors @@ -482,7 +477,7 @@ žádný - + Press a keyboard shortcut Stiskněte klávesovou zkratku @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: K dispozici: - + Selected: Vybráno: - + Add Přidat - + Remove Odstranit - + Move up Posunout nahorů - + Move down Posunout dolů @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Pohyblivý objekt - + Fixed object Fixní objekt @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Prosím počkejte než se uloží soubor Automatické obnovy... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Stiskněte levé tlačítko myši - + Press SHIFT and middle mouse button Stisknutím klávesy SHIFT a klepnutím na prostřední tlačítko myši - + Press middle mouse button Stiskněte prostřední tlačítko myši - + Scroll middle mouse button Rolujte prostředním tlačítkem myši @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Stiskněte levé tlačítko myši - + Press middle mouse button Stiskněte prostřední tlačítko myši - + Press middle+left or middle+right button Stiskněte střední + levé nebo střední + pravé tlačítko - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Rolujte prostředním tlačítkem myši nebo držte prostřední tlačítko zmáčknuté během stisknutí levého nebo pravého tlačítka a pohybujte myší nahoru nebo dolů @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel Zrušit @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Panel Tvorby @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Zásluhy - + FreeCAD would not be possible without the contributions of FreeCAD by nebyl možný bez příspěvků od - + Individuals Header for the list of individual people in the Credits list. Jednotlivci - + Organizations Header for the list of companies/organizations in the Credits list. Organizace - - + + License Licence - + Libraries Knihovny - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Tento program používá open source komponenty, jejichž autorská a další vlastnická práva patří příslušným vlastníkům: - + Collection Kolekce @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Složka mezipaměti - + The cache directory %1 exceeds the size of %2. Složka mezipaměti %1 přesahuje velikost %2. - + Do you want to clear it now? Chcete ji nyní vymazat? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Varování: Ujistěte se, že toto je jediná běžící %1 instance a že žádné dokumenty nejsou otevřeny, protože to může vést ke ztrátě dat! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Nastavení kamery - + Orientation Orientace - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Aktuální pohled @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Příkazy @@ -1116,12 +1111,12 @@ Pokud toto není zaškrtnuto, musí být vlastnost pojmenována jedinečně a bu Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Balíček již existuje - + A preference pack with that name already exists. Do you want to overwrite it? Balíček preferencí s tímto názvem již existuje. Chcete jej přepsat? @@ -1359,48 +1354,48 @@ současně. Spustí se ten s nejvyšší prioritou. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Pište pro vyhledávání... - + Icon Ikona - + Command Příkaz - + Shortcut Zkratka - + Default Výchozí - + Name Jméno - + Title Nadpis - + All Vše - - + + none žádný @@ -1408,8 +1403,8 @@ současně. Spustí se ten s nejvyšší prioritou. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Panely nástrojů @@ -1498,40 +1493,40 @@ současně. Spustí se ten s nejvyšší prioritou. - + <Separator> <Oddělovač> - + %1 module not loaded Modul %1 nebyl načten - + New toolbar Nový nástrojový panel - - + + Toolbar name: Název nástrojového panelu: - - + + Duplicated name Duplicitní název - - + + The toolbar name '%1' is already used Název panelu nástrojů '%1' je již používán - + Rename toolbar Přejmenovat nástrojový panel @@ -1544,19 +1539,19 @@ současně. Spustí se ten s nejvyšší prioritou. Gui::Dialog::DlgCustomizeImp - + Customize Upravit - + &Help Nápověda - + &Close &Zavřít @@ -1565,13 +1560,13 @@ současně. Spustí se ten s nejvyšší prioritou. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Pohyby 3D myši - + No Spaceball Present 3D ovladač nepřipojen @@ -1579,27 +1574,27 @@ současně. Spustí se ten s nejvyšší prioritou. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Tlačítka 3D myši - + No Spaceball Present 3D ovladač nepřipojen - + Buttons Tlačítka - + Reset Reset - + Print Reference Tisk referencí @@ -1684,551 +1679,123 @@ současně. Spustí se ten s nejvyšší prioritou. Gui::Dialog::DlgDisplayPropertiesImp - + Default Výchozí - + Aluminium Hliník - + Brass Mosaz - + Bronze Brnoz - + Copper Měď - + Chrome Chrom - + Emerald Smaragd - + Gold Zlato - + Jade Nefrit - + Metalized Metalizované - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidián - + Pewter Cín - + Plaster Sádra - + Plastic Plast - + Ruby Rubín - + Satin Satén - + Shiny plastic Lesklý plast - + Silver Stříbro - + Steel Ocel - + Stone Kámen Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Možnosti - - - - Code lines will be numbered - Řádky kódu budou očíslovány - - - - Enable line numbers - Zapnout čísla řádků - - - - The cursor shape will be a block - Tvar kurzoru bude blok - - - - Enable block cursor - Povolit blokový kurzor - - - - Enable folding - Povolit skládání - - - - Indentation - Odsazení - - - - Tab size: - Velikost tabulátoru: - - - - Tabulator raster (how many spaces) - Velikost tabulátoru (počet mezer) - - - - Indent size: - Velikost odsazení: - - - - How many spaces will be inserted when pressing <Tab> - Kolik mezer bude vloženo při stisknutí <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Stisknutí <Tab> vloží odrážku definované velikosti - - - - Keep tabs - Zachovat záložky - - - - Pressing <Tab> will insert amount of defined indent size - Stisknutí <Tab> vloží množství definovaného odsazení - - - - Insert spaces - Vložit mezery - - - - Display items - Zobrazit položky - - - - Color and font settings will be applied to selected type - Nastavení barev a fontu bude použito na vybraný typ - - - - Family: - Rodina: - - - - Font family to be used for selected code type - Rodina písma, která se použije pro vybraný typ kódu - - - - Size: - Velikost: - - - - Font size to be used for selected code type - Velikost fontu použitá pro vybraný typ kódu - - - - Color: - Barva: - - - - Preview: - Náhled: - - - Gui::Dialog::DlgGeneral - - - General - Obecné - - - - Language of the application's user interface - Jazyk uživatelského rozhraní aplikace - - - - Number format: - Formát čísla: - - - - Operating system - Operační systém - - - - Selected language - Vybraný jazyk - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Pokud je povoleno, oddělovač desetinných míst na numerické klávesnici -bude nahrazen lokálním oddělovačem, s výjimkou oddělovače -v konzole Pythonu a editoru maker, kde se používá -bude vždy vypsána tečka/tečka. - - - - Preference packs - Balíčky předvoleb - - - - Name - Jméno - - - - Type - Typ - - - - Load - Načíst - - - - Import config... - Importovat konfiguraci... - - - - Save new... - Uložit nové... - - - - Manage... - Spravovat... - - - - Revert... - Vrátit... - - - - How many files should be listed in recent files list - Kolik souborů by mělo být uvedeno v seznamu nedávných souborů - - - - Enable tiled background - Povolit dlaždicové pozadí - - - - The text cursor will be blinking - Textový kurzor bude blikat - - - - Enable cursor blinking - Povolit blikání kurzoru - - - - Style sheet: - Styl: - - - - Language and number format - Jazyk a formát čísel - - - - Language: - Jazyk: - - - - Unit system: - Jednotky: - - - - Unit system that should be used for all parts of the application - Jednotkový systém, který by měl být použit pro všechny části aplikace - - - - Number of decimals: - Počet desetinných míst: - - - - Number of decimals that should be shown for numbers and dimensions - Počet desetinných míst, která se mají zobrazit pro čísla a kóty - - - - Minimum fractional inch: - Minimální zlomek palce: - - - - Minimum fractional inch to be displayed - Minimální zlomek palce který bude zobrazen - - - - Substitute decimal separator - Nahraďte desetinný oddělovač - - - - Application - Aplikace - - - - Style sheet how user interface will look like - Style sheet vzhledu uživatelské rozhraní - - - - Size of toolbar icons: - Velikost ikon panelu nástrojů: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Vyberte si preferovanou velikost ikon v panelu nástrojů. Můžete ji upravit -podle velikosti obrazovky nebo osobní preference - - - - Tree view mode: - Režim zobrazení ve stromu: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Přizpůsobte si, jak je v panelu zobrazeno zobrazení stromu (vyžaduje restart). - -'ComboView': kombinovat zobrazení stromu a zobrazení vlastností v jednom panelu. -'TreeView and PropertyView': rozdělit zobrazení ve stromě a zobrazení vlastností do samostatného panelu. -'Both': zachovat všechny tři panely, můžete mít dvě sady zobrazení stromu a zobrazení vlastnosti. - - - - Size of recent file list: - Velikost seznamu posledních souborů: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Pozadí hlavního okna (když není otevřen žádný dokument) se bude skládat z dlaždic speciálního obrázku. -Podrobnosti o obrázku najdete na FreeCAD Wiki. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Splash screen je malé načítací okno, které se zobrazí - při spouštění FreeCADu. Je-li tato volba zaškrtnuta, -FreeCAD toto okno zobrazí - - - - Enable splash screen at start up - Povolit úvodní obrazovku při startu - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Spravovat balíčky předvoleb - - - - Small (%1px) - Malé (%1px) - - - - Medium (%1px) - Střední (%1px) - - - - Large (%1px) - Velké (%1px) - - - - Extra large (%1px) - Velmi velké (%1px) - - - - Custom (%1px) - Vlastní (%1px) - - - - Combo View - Kombinované zobrazení - - - - TreeView and PropertyView - TreeView a PropertyView - - - - Both - Obě - - - - No style sheet - Bez stylů - - - - Preference Pack Name - Název balíčku předvoleb - - - - Tags - Štítky - - - - Apply - Použít - - - - Apply the %1 preference pack - Použít balíček předvoleb %1 - - - - Choose a FreeCAD config file to import - Vyberte konfigurační soubor FreeCAD pro import - - - - File exists - Soubor existuje - - - - A preference pack with that name already exists. Overwrite? - Balíček předvoleb s tímto názvem již existuje. Přepsat? - - Gui::Dialog::DlgInputDialog @@ -2244,8 +1811,8 @@ FreeCAD toto okno zobrazí Gui::Dialog::DlgInspector - - + + Scene Inspector Inspektor scény @@ -2337,71 +1904,71 @@ FreeCAD toto okno zobrazí Gui::Dialog::DlgMacroExecuteImp - + Macros Makra - + Read-only Jen pro čtení - + Macro file Makro soubor - + Enter a file name, please: Zadejte název souboru, prosím: - - - + + + Existing file Existující soubor - + '%1'. This file already exists. '%1'. Tento soubor již existuje. - + Cannot create file Nelze vytvořit soubor - + Creation of file '%1' failed. Vytvoření souboru '%1' se nezdařilo. - + Delete macro Odstranit makro - + Do you really want to delete the macro '%1'? Opravdu chcete odstranit makro '%1'? - + Do not show again Znovu nezobrazovat - + Guided Walkthrough Komentovaná prohlídka - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2412,76 +1979,76 @@ Poznámka: změny budou aplikovány při dalším přepnutí pracovních prostř - + Walkthrough, dialog 1 of 2 Průvodce, dialog 1 ze 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Instrukce průvodce: Vyplňte chybějící pole (volitelné) a klikněte na tlačítko Přidat, poté Zavřít - + Walkthrough, dialog 1 of 1 Průvodce, dialog 1 ze 1 - + Walkthrough, dialog 2 of 2 Průvodce, dialog 2 ze 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instrukce průvodce: Klikněte na tlačítko šipky doprava (->), a potom Zavřít. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Instrukce průvodce: Klikněte na Nový, potom na pravou šipku (->) a potom Zavřít. - + Renaming Macro File Přejmenovávání souboru makra - - + + Enter new name: Zadejte nový název: - - + + '%1' already exists. "%1" už existuje. - + Rename Failed Přejmenování selhalo - + Failed to rename to '%1'. Perhaps a file permission error? Nepodařilo se přejmenovat na "%1". Chyba oprávnění k souboru? - + Duplicate Macro Duplikovat makro - + Duplicate Failed Duplikace selhala - + Failed to duplicate to '%1'. Perhaps a file permission error? Duplikace selhala na "%1". @@ -2524,39 +2091,39 @@ Možná je chyba v přístupových právech k souboru? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Záznam makra - + Specify first a place to save. Nejprve určete místo pro uložení. - + The macro directory doesn't exist. Please, choose another one. Makro adresář neexistuje. Prosím vyberte jiný. - + Existing macro Existující makro - + The macro '%1' already exists. Do you want to overwrite? Makro '%1' již existuje. Opravdu chcete přepsat? - + You have no write permission for the directory. Please, choose another one. Nemáš práva pro zápis do tohoto adresáře. Prosím, zvol jiný. - + Choose macro directory Vyberte makro adresář @@ -2629,12 +2196,12 @@ Možná je chyba v přístupových právech k souboru? HTML soubory - + Access denied Přístup byl odepřen - + Access denied to '%1' Specify another directory, please. @@ -3033,36 +2600,36 @@ Specify another directory, please. Soubor projektu - - + + Empty source Prázdný zdroj - - + + No source is defined. Není definován zdroj. - - + + Empty destination Prázdný cíl - - + + No destination is defined. Není definován cíl. - + Failed to extract project Projekt se nepodařilo extrahovat - + Failed to create project Projekt se nepodařilo vytvořit @@ -3112,188 +2679,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Zobrazení reportu - - - - Output - Výstup - - - - Normal messages will be recorded - Běžné zprávy budou zaznamenávány - - - - Record normal messages - Zaznamenávat běžné zprávy - - - - Log messages will be recorded - Logovací zprávy budou zaznamenány - - - - Record log messages - Záznam log-ovacích zpráv - - - - Warnings will be recorded - Upozornění budou zaznamenána - - - - Record warnings - Záznam varování - - - - Error messages will be recorded - Chybové zprávy budou zaznamenány - - - - Record error messages - Záznam chyb - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Když dojde k chybě, zobrazí se dialogové okno reportu -při zobrazení chyby - - - - Show report view on error - Zobrazit report při chybě - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Když dojde k varování, zobrazí se dialogové okno reportu -při zobrazení varování - - - - Show report view on warning - Zobrazit report při varování - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Když se objeví normální zpráva, zobrazí se dialogové okno reportu -při zobrazení této zprávy - - - - Show report view on normal message - Zobrazit report při normální zprávě - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Když se objeví logovací zpráva, zobrazí se dialogové okno reportu -při zobrazení této zprávy - - - - Show report view on log message - Zobrazit report při logovací zprávě - - - - Include a timecode for each report - Zahrnout časovou známku pro každou zprávu - - - - Include a timecode for each entry - Zahrnout časovou známku pro každou zprávu - - - - Colors - Barvy - - - - Normal messages: - Zprávy: - - - - Font color for normal messages in Report view panel - Barva písma pro normální zprávy v panelu Report - - - - Log messages: - Log zprávy: - - - - Font color for log messages in Report view panel - Barva písma pro logovací zprávy v panelu Report - - - - Warnings: - Varování: - - - - Font color for warning messages in Report view panel - Barva písma pro zprávy varování v panelu Report - - - - Errors: - Chyby: - - - - Font color for error messages in Report view panel - Barva písma pro chybové zprávy v panelu Report - - - - Python interpreter - Interpretr Pythonu - - - - Internal Python output will be redirected -from Python console to Report view panel - Interní výstup Pythonu bude přesměrován -z Python konzole do panelu Report - - - - Redirect internal Python output to report view - Přesměrovat vnitřní výstup Pythonu do zobrazení reportu - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Interní chybové hlášky Pythonu budou přesměrovány -z Python konzole do panelu Report - - - - Redirect internal Python errors to report view - Přesměrovat vnitřní chyby Pythonu k zobrazení reportu - @@ -3320,7 +2705,7 @@ z Python konzole do panelu Report Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Žádný výběr v dialogovém okně, nelze načíst záložní soubor @@ -3363,7 +2748,7 @@ z Python konzole do panelu Report Nápověda - + Select a file Vyberte soubor @@ -3371,69 +2756,69 @@ z Python konzole do panelu Report Gui::Dialog::DlgSettings3DView - + 3D View 3D pohled - + General Obecné - + Main coordinate system will always be shown in lower right corner within opened files Hlavní souřadnicový systém bude vždy zobrazen v pravém dolním rohu v otevřených souborech - + Show coordinate system in the corner Zobrazit souřadný systém v rohu - + Relative size : Relativní velikost: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Velikost hlavní soustavy souřadnic v rohu -- v % výšky/šířky pohledu - + Axis cross will be shown by default at file opening or creation Ve výchozím nastavení bude zobrazen osový kříž při otevření nebo vytvoření souboru - + Show axis cross by default Zobrazit ve výchozím nastavení osový kříž - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Čas potřebný pro poslední operaci a výsledný frame rate bude zobrazena v levém dolním rohu v otevřených souborech - + Show counter of frames per second Zobrazit FPS - + Rendering Vykreslování - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3442,22 +2827,22 @@ Changing this option requires a restart of the application. Změna této volby vyžaduje restart aplikace. - + Use software OpenGL Použít softwarové OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Použít OpenGL VBO (Vertex Buffer Object) - + Render cache Mezipaměť vykreslování - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3480,7 +2865,7 @@ problémů, od grafických anomálií až po chyby při pádu GPU. Nezapomeňte při hledání podpory na fóru FreeCADu oznámit, že je toto nastavení povoleno - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3497,92 +2882,92 @@ cache pouze v kořenovém uzlu grafu scény. To nabízí nejvyšší rychlost vy ale pomalejší odezvu na jakékoli změny scény. - + Auto Automaticky - + Distributed Distribuován - + Centralized Centrální - + Anti-Aliasing Anti-Aliasing - + What kind of multisample anti-aliasing is used Jaký se používá druh vícenásobného antaliasování - + None Žádný - + Line Smoothing Vyhlazování čáry - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Průhledné objekty: - + Render types of transparent objects Vykreslovat typy průhledných objektů - + One pass Jeden průchod - + Backface pass Průchod zadní stranou - + Marker size: Velikost značky: - - Size of vertices in the Sketcher workbench - Velikost vrcholů v pracovním prostředí náčrtu + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Vzdálenost mezi oky pro stereo režimy - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3591,48 +2976,48 @@ Zadaná hodnota je koeficient pro vynásobení velikosti ohraničujícího kvádru 3D objektů, které jsou zobrazeny. - + Backlight is enabled with the defined color Podsvícení je zapnuto s definovanou barvou - - + + Backlight color Barva podsvícení - + Intensity Intenzita - + Intensity of the backlight Intenzita podsvícení - + Camera type Typ kamery - + Objects will appear in a perspective projection Objekty se objeví v perspektivní projekci - + Perspective renderin&g Perspektivní renderování &g - + Objects will be projected in orthographic projection Objekty budou promítnuty v ortografické projekci - + Or&thographic rendering Or&tografické renderování @@ -3644,42 +3029,42 @@ ohraničujícího kvádru 3D objektů, které jsou zobrazeny. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anti-aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Otevřete nové okno nebo restartujte %1 pro aplikaci změn anti-aliasingu. @@ -3687,77 +3072,77 @@ ohraničujícího kvádru 3D objektů, které jsou zobrazeny. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Mezipaměť - + Cache directory Složka mezipaměti - + Location: - Poloha: + Umístění: - + Check periodically at program start: Pravidelně kontrolovat při spuštění programu: - + Always Vždy - + Daily Denně - + Weekly Týdně - + Monthly Měsíčně - + Yearly Ročně - + Never Nikdy - + Cache size limit: Limit velikosti mezipaměti: - + Check now... Zkontrolovat nyní... - + Notify the user if the cache size exceeds the specified limit Upozornit uživatele, pokud velikost mezipaměti překročí zadaný limit - + Unknown Neznámý - + Current cache size: %1 Aktuální velikost mezipaměti: %1 @@ -3918,12 +3303,12 @@ podél barevné škály Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Chybný parametr - + The maximum value must be higher than the minimum value. Maximální hodnota musí být vyšší než minimální hodnota. @@ -3931,181 +3316,181 @@ podél barevné škály Gui::Dialog::DlgSettingsDocument - + Document Dokument - + General Obecné - + The application will create a new document when started Aplikace vytvoří nový dokument při spuštění - + Create new document at start up Vytvoření nového dokumentu po startu - + Document save compression level (0 = none, 9 = highest, 3 = default) Úroveň komprese při ukládání dokumentu (0 = žádná, 9 = nejvyšší, 3 = výchozí) - + Compression level for FCStd files Úroveň komprese pro soubory FCStd - + All changes in documents are stored so that they can be undone/redone Všechny změny v dokumentech jsou uloženy tak, že mohou být vráceny/znovu provedeny - + Using Undo/Redo on documents Pužití funkce zpět/znovu na dokumentech - + Maximum Undo/Redo steps Maximální počet kroků Zpět/Znovu - + How many Undo/Redo steps should be recorded Kolik kroků Zpět/Znovu by mělo být zaznamenáno - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Umožnit uživateli přerušit přepočítávání dokumentů stisknutím ESC. Tato funkce může mírně prodloužit dobu přepočítání. - + Allow aborting recomputation Povolit přerušení přepočítávání - + Storage Úložiště - + Saving transactions (Auto-save) Ukládání transakcí (Auto ukládání) - + Discard saved transaction after saving document Zrušit uložené transakce po uložení dokumentu - + If there is a recovery file available the application will automatically run a file recovery when it is started. Při spuštění aplikace se automaticky spustí obnova souboru, pokud je soubor pro obnovu k dispozici. - + Run AutoRecovery at startup Spusti Automatickou obnovu při startu - + How often a recovery file is written Jak často se zapisuje obnovovací soubor - + Save AutoRecovery information every Uložit informace Automatické obnovy každých - + A thumbnail will be stored when document is saved Náhled bude uložen jakmile se uloží dokument - + Save thumbnail into project file when saving document Uložit náhled do souboru projektu při ukládání dokumentu - + Size Velikost - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Nastavení velikosti náhledu uloženého v dokumentu. Obvyklé rozměry jsou 128, 256 a 512 - + The program logo will be added to the thumbnail Logo programu bude přidáno do náhledu - + Add the program logo to the generated thumbnail Přidat logo programu do vygenerovaného náhledu - + How many backup files will be kept when saving document Kolik záložních souborů bude ponecháno při ukládání dokumentu - + Maximum number of backup files to keep when resaving document Maximální počet záložních souborů při ukládání dokumentu - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Záložní soubory získají příponu '.FCbak' a názvy souborů získají příponu data podle zadaného formátu - + Use date and FCBak extension Použít datum a příponu FCBak - + Date format Formát data - + Document objects Objekty dokumentu - + Allow objects to have same label Povolit objektům mít stejný štítek - + Allow duplicate object labels in one document Povolit duplicitní názvy objektů v jednom dokumentu - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4118,22 +3503,22 @@ dokumentem, budou odkazované objekty a jejich závislosti načteny. dvojitým kliknutím na ikonu dokumentu ve stromovém zobrazení. - + Disable partial loading of external linked objects Zakázat částečné načítání externích propojených objektů - + Authoring and License Autorství a licence - + Author name Jméno autora - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4142,32 +3527,32 @@ Pro anonymní jméno ponechte prázdné. Můžete také použít tuto formu: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Pole 'Naposledy upraveno' bude nastaveno na definovaného autora při ukládání souboru - + Set on save Nastavit při ukládání - + Company Společnost - + Default company name to use for new files Výchozí název společnosti pro nové soubory - + Default license Výchozí licence - + Default license for new documents Výchozí licence pro nové dokumenty @@ -4237,12 +3622,12 @@ Můžete také použít tuto formu: John Doe <john@doe.com> Jiný - + License URL URL licence - + URL describing more about the license URL adresa popisující více o licenci @@ -4250,104 +3635,21 @@ Můžete také použít tuto formu: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Formát data, který má být použit. - + Default Výchozí - + Format Formát - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Text - - - - Bookmark - Záložka - - - - Breakpoint - Bod přerušení - - - - Keyword - Klíčové slovo - - - - Comment - Komentář - - - - Block comment - Blok komentáře - - - - Number - Číslo - - - - String - Řetězec - - - - Character - Znak - - - - Class name - Název třídy - - - - Define name - Definovat název - - - - Operator - Operátor - - - - Python output - Python výstup - - - - Python error - Python chyba - - - - Current line highlight - Aktuální řádek zvýraznění - - - - Items - Položky - - Gui::Dialog::DlgSettingsImage @@ -4528,122 +3830,122 @@ Můžete také použít tuto formu: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Makro - + General macro settings Obecné nastavení maker - + Variables defined by macros are created as local variables Proměnné definované makry jsou vytvořeny jako místní proměnné - + Run macros in local environment Spustit makro v místním prostředí - + Macro recording settings Nastavení nahrávání maker - + Macro path Cesta maker - + The directory in which the application will search for macros Adresář, ve kterém aplikace vyhledá makra - + Gui commands GUI příkazy - + Recorded macros will also contain user interface commands Nahrávaná makra budou obsahovat také příkazy uživatelského rozhraní - + Record GUI commands Nahrávat příkazy GUI - + Recorded macros will also contain user interface commands as comments Nahrávaná makra budou také obsahovat příkazy uživatelského rozhraní jako komentáře - + Record as comment Zaznamenat jako komentář - + Logging Commands Protokolování příkazů - + Commands executed by macro scripts are shown in Python console Příkazy spuštěné makry jsou zobrazeny v konzoli Pythonu - + Show script commands in python console Zobrazit příkazy skriptu v konzole Pythonu - + Log all commands issued by menus to file: Protokolovat všecny příkazy z nabídky do souboru: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Menu nedávných maker - + Size of recent macro list Velikost seznamu nedávných maker - + How many macros should be listed in recent macros list Kolik maker by mělo být uvedeno v seznamu nedávných maker - + Keyboard shortcut count Počet klávesových zkratek - + How many recent macros should have shortcuts Kolik nedávných maker by mělo mít zkratky - + Keyboard Modifiers Modifikátory klávesnice - + Keyboard modifiers, default = Ctrl+Shift+ Modifikátory klávesnice, výchozí = Ctrl+Shift+ @@ -4651,130 +3953,130 @@ Můžete také použít tuto formu: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigace - + Navigation cube Navigační kostka - + Steps by turn Kroků na otáčku - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Počet kroků otáčení při použití šipek (výchozí hodnota = 8 : úhel kroku = 360/8 = 45 °) - + Corner Roh - + Corner where navigation cube is shown Roh, ve kterém je zobrazena navigační krychle - + Top left Vlevo nahoře - + Top right Vpravo nahoře - + Bottom left Vlevo dole - + Bottom right Vpravo dole - + Rotates to nearest possible state when clicking a cube face Otočit do nejbližšího možného stavu při kliknutí na stěnu krychle - + Rotate to nearest Rotovat k nejbližšímu - + Font name: Název písma: - + Font name of the navigation cube Název písma navigační krychle - + Default Výchozí - + Cube size Velikost krychle - + Size of the navigation cube Velikost navigační krychle - + Color Barva - + Base color for all elements - Base color for all elements + Základní barva pro všechny prvky - + 3D Navigation 3D navigace - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Seznam nastavení tlačítek myši pro každé zvolené nastavení navigace. Vyberte sadu a poté stiskněte tlačítko pro zobrazení uvedených konfigurací. - + Mouse... Myš... - + Navigation settings set Nastavení navigace - + Orbit style Styl orbitu - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4785,116 +4087,116 @@ Otočný stůl: díl se bude otáčet kolem osy z (s omezením os). Volný otočný stůl: díl se bude otáčet kolem osy z. - + Turntable Otočný stůl - + Trackball Trackball - + Free Turntable Volný otočný stůl - + Rotation mode Režim rotace - + Rotations in 3D will use current cursor position as center for rotation 3D Rotace bude používat aktuální pozici kurzoru jako střed rotace - + Window center Střed okna - + Drag at cursor Přetáhněte kurzorem - + Object center Střed objektu - + Default camera orientation Výchozí orientace kamery - + Default camera orientation when creating a new document or selecting the home view Výchozí orientace kamery při vytváření nového dokumentu nebo výběru domácího zobrazení - + Camera zoom Zoom kamery - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Nastaví přiblížení kamery pro nové dokumenty. Hodnota je průměr koule tak, aby se vešla na obrazovku. - + mm mm - + Enable animated rotations Povolit animované otáčení - + Enable animation Zapnout animaci - + Zoom operations will be performed at position of mouse pointer Přiblížení bude provedeno na pozici kurzoru myši - + Zoom at cursor Přibližovat nad kurzorem - + Zoom step Krok přiblížení - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Jak moc bude příblížen. Krok přiblížení "1" znamená faktor 7,5 pro každý krok přiblížení. - + Direction of zoom operations will be inverted Směr operace přiblížení bude obrácen - + Invert zoom Invertovat přiblížení - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4903,57 +4205,67 @@ Ovlivňuje pouze navigační styl gesta. Naklánění myší není v tomto nastavení zakázáno. - + Disable touchscreen tilt gesture Zakázat dotykové gesto naklánění - + + Show the rotation center when dragging. + Zobrazit střed rotace při přetažení. + + + + Enable rotation center indication + Povolit indikaci středu rotace + + + Isometric Izometrie - + Dimetric Dimetrie - + Trimetric Trimetrie - + Top Horní - + Front Přední - + Left Vlevo - + Right Vpravo - + Rear Zadní - + Bottom Dole - + Custom Vlastní @@ -4961,44 +4273,44 @@ Naklánění myší není v tomto nastavení zakázáno. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python konzole - + Settings Nastavení - + Words will be wrapped when they exceed available horizontal space in Python console Slova budou zalomena, pokud přesáhnou dostupné místo v konzoli Pythonu - + Enable word wrap Povolit zalamování řádků - + The cursor shape will be a block Tvar kurzoru bude blok - + Enable block cursor Povolit blokový kurzor - + Saves Python history across sessions Uloží historii Pythonu napříč relacemi - + Save history Uložit historii @@ -5006,17 +4318,37 @@ místo v konzoli Pythonu Gui::Dialog::DlgSettingsSelection - + Selection Výběr - + + Enable preselection, highlighted with specified color + Povolit zvýraznění předvýběru určenou barvu + + + + Enable preselection + Povolit předvýběr + + + + Enable selection, highlighted with specified color + Povolit zvýraznění výběru určenou barvu + + + + Enable selection + Povolit výběr + + + Pick radius (px): Vyberte poloměr (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5024,27 +4356,27 @@ Larger value eases to pick things, but can make small features impossible to sel Vyšší hodnota usnadňuje výběr věcí, ale může znemožnit výběr malých funkcí. - + Auto switch to the 3D view containing the selected item Automaticky přepnout na 3D zobrazení obsahující vybranou položku - + Auto expand tree item when the corresponding object is selected in 3D view Automaticky rozbalit položku stromu, když je vybrán odpovídající objekt ve 3D zobrazení - + Preselect the object in 3D view when mouse over the tree item Předvybrat objekt v 3D zobrazení, když se myš nachází nad položkou stromu - + Record selection in tree view in order to go back/forward using navigation button Nahrát výběr ve stromovém zobrazení pro návrat zpět/vpřed pomocí navigačního tlačítka - + Add checkboxes for selection in document tree Přidat zaškrtávací políčka pro výběr ve stromě dokumentů @@ -5052,147 +4384,122 @@ Vyšší hodnota usnadňuje výběr věcí, ale může znemožnit výběr malýc Gui::Dialog::DlgSettingsViewColor - + Colors Barvy - - Selection - Výběr - - - - Enable preselection and highlight by specified color - Povolit předvýběr a zvýraznit zadanou barvou - - - - Enable preselection highlighting - Povolit předvýběrové zvýraznění - - - - Enable selection highlighting and use specified color - Povolit zvýraznění výběru a použit určenou barvu - - - - Enable selection highlighting - Zapnout zvýrazňování výběru - - - + Background color for the model view Barva pozadí pro zobrazení modelu - + Background color Barva pozadí - - + + Background will have selected color Pozadí bude mít vybranou barvu - + Simple color Jednoduchá barva - - + + Background will have selected color gradient Pozadí bude mít vybraný barevný přechod - + Linear gradient Lineární gradient - + Radial gradient Radiální přechod - - + + Top: Horní: - - + + Middle: Střední: - + Switches the colors of the gradient Přepne barvy gradientu - + Switch Přepínač - + Color gradient will get selected color as middle color Barevný přechod získá vybranou barvu jako střední barvu - + Middle color Prostřední barva - - + + Bottom: Dole: - + Tree view Stromové zobrazení - + Object being edited Upravovaný objekt - + Background color for objects in tree view that are currently edited Barva pozadí pro objekty ve stromovém zobrazení, které jsou aktuálně editovány - + Active container Aktivní kontejner - + Background color for active containers in tree view Barva pozadí pro aktivní kontejnery ve stromovém zobrazení - + Central: Centrální: - + Midway: Uprostřed: - + End: Konec: @@ -5304,12 +4611,12 @@ Systém preferencí je systém nastavený v obecných preferencích. Gui::Dialog::DlgUnitsCalculator - + unknown unit: neznámá jednotka: - + unit mismatch neshoda jednotek @@ -5317,7 +4624,7 @@ Systém preferencí je systém nastavený v obecných preferencích. Gui::Dialog::DockablePlacement - + Placement Umístění @@ -5369,60 +4676,60 @@ Sloupec "Status" ukazuje zda je možné dokument obnovit. Zatím neobnoveno - + Unknown problem occurred Objevil se neznámý problém - - + + Failed to recover Obnova selhala - + Successfully recovered Úspěšně obnoveno - + Finish Dokončit - - + + Delete Odstranit - - + + Cleanup Vyčištit - + Are you sure you want to delete the selected transient directories? Jste si jist, že chcete odstranit vybrané dočasné adresáře? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Po odstranění vybraného dočasného adresáře jsou soubory nenávratně ztraceny. - + Are you sure you want to delete all transient directories? Jste si jist, že chcete odstranit všechny dočasné adresáře? - + When deleting all transient directories you won't be able to recover any files afterwards. Po odstranění všech dočasných adresářů nebudete moci obnovit žádné soubory. - + Transient directories deleted. Dočasné adresáře odstraněny. @@ -5546,7 +4853,7 @@ Sloupec "Status" ukazuje zda je možné dokument obnovit. Složky ikon - + Add icon folder Přidat složku ikony @@ -5559,12 +4866,12 @@ Sloupec "Status" ukazuje zda je možné dokument obnovit. Přidat nebo odebrat uživatelské složky ikon - + Remove folder Odstranit složku - + Removing a folder only takes effect after an application restart. Odstranění složky se projeví až po restartu aplikace. @@ -5634,79 +4941,79 @@ Sloupec "Status" ukazuje zda je možné dokument obnovit. Gui::Dialog::ParameterGroup - - + + Expand Rozbalit - + Add sub-group Přidat podskupinu - - + + Remove group Odstranit skupinu - + Rename group Přejmenovat skupinu - + Export parameter Export parametru - + Import parameter Import parametru - + Collapse Sbalit - + Do you really want to remove this parameter group? Opravdu chcete odstranit tuto skupinu parametrů? - + Existing sub-group Stávající podskupiny - + The sub-group '%1' already exists. Podskupinu '%1' již existuje. - + Export parameter to file Exportovat do souboru parametrů - + Import parameter from file Import parametrů ze souboru - + Import Error Chyba při importu - + Reading from '%1' failed. Čtení z '%1' se nezdařilo. @@ -5714,65 +5021,65 @@ Sloupec "Status" ukazuje zda je možné dokument obnovit. Gui::Dialog::ParameterValue - + Change value Změnit hodnotu - + Remove key Odstranit klíč - + Rename key Přejmenovat klíč - + New Nový - + New string item Nová položka string - + New float item Nové položka float - + New integer item Nová položka Integer - + New unsigned item Nové položka nepodepsana - + New Boolean item Nová položka Boolean - - - - - + + + + + Existing item Existující položka - - - - - + + + + + The item '%1' already exists. Položka '%1' již existuje. @@ -5918,17 +5225,17 @@ Sloupec "Status" ukazuje zda je možné dokument obnovit. Použít - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Před stisknutím tohoto tlačítka prosím vyberte 1, 2 nebo 3 body. Bod může být na vrcholu, ploše nebo hraně. Je-li na ploše nebo hraně, pak bude použit bod na pozici myši podél plochy nebo hrany. Je-li vybrán 1 bod, pak bude použit jako střed rotace. Jsou-li vybrány 2 body, pak bude střední bod mezi nimi středem rotace a bude vytvořena nová uživatelská osa, je-li potřeba. Jsou-li vybrány 3 body, první bod bude středem rotace a bude podél vektoru, který je normálou roviny dané třemi body. Vzdálenost a úhlová informace jsou v zobrazení reportu, což může být užitečné pro zarovnání objektů. Příslušnou vzdálenost a úhel je možné zkopírovat do schánky kliknutím se Shiftem. - + Incorrect quantity Nesprávné množství - + There are input fields with incorrect input, please ensure valid placement values! Vstupních pole obsahují nesprávná data, prosím vložte platné hodnoty umístění! @@ -5936,12 +5243,12 @@ Sloupec "Status" ukazuje zda je možné dokument obnovit. Gui::Dialog::PrintModel - + Button Tlačítko - + Command Příkaz @@ -6005,17 +5312,17 @@ Sloupec "Status" ukazuje zda je možné dokument obnovit. Gui::Dialog::SceneModel - + Inventor Tree Konstrukční strom - + Name Jméno - + Nodes Uzly @@ -6071,14 +5378,14 @@ Sloupec "Status" ukazuje zda je možné dokument obnovit. Gui::Dialog::Transform - - + + Cancel Zrušit - - + + Transform Transformace @@ -6176,13 +5483,13 @@ původně vybranými před otevřením tohoto dialogu - + Model Model - + Tasks Tvorba @@ -6190,7 +5497,7 @@ původně vybranými před otevřením tohoto dialogu Gui::DockWnd::PropertyDockView - + Property View Vlastnosti zobrazení @@ -6198,82 +5505,82 @@ původně vybranými před otevřením tohoto dialogu Gui::DockWnd::ReportOutput - + Options Možnosti - + Display message types Zobrazit typy zpráv - - + + Normal messages Běžné zprávy - - + + Log messages Protokolovat zprávy - - + + Warnings Varování - - + + Errors Chyby - - + + Critical messages Kritická zpráva - + Show Report view on Zobrazit Pohled protokolu - + Redirect Python output Přesměrování výstupu Pythonu - + Redirect Python errors Přesměrování chyb Pythonu - + Go to end Přejít na konec - + Clear Vyčistit - + Save As... Uložit jako... - + Save Report Output Uložit výstupní zprávu - + Plain Text Files Soubory prostého textu @@ -6282,13 +5589,13 @@ původně vybranými před otevřením tohoto dialogu Gui::DockWnd::ReportView - + Output Výstup - + Python console Python konzole @@ -6326,72 +5633,72 @@ původně vybranými před otevřením tohoto dialogu Seznam vybraných objektů - + Select only Vybrat pouze - + Selects only this object Vybere pouze tento objekt - + Deselect Zrušit výběr - + Deselects this object Zruší výběr tohoto objektu - + Zoom fit Přizpůsobit zvětšení - + Selects and fits this object in the 3D window Vybere a přizpůsobí tento objekt ve 3D okně - + Go to selection Přejít na výběr - + Selects and locates this object in the tree view Vybere a vyhledá tento objekt ve stromovém zobrazení - + Mark to recompute Označit k přepočítání - + Mark this object to be recomputed Označit objekt k přepočítání - + To python console Do konzole pythonu - + Reveals this object and its subelements in the python console. Odkrýt tento objekt a jeho subelementy v konzoli pythonu. - + Duplicate subshape Duplikovat části obrazce - + Creates a standalone copy of this subshape in the document Vytvoří samostatnou kopii této části obrazce v dokumentu @@ -6404,7 +5711,7 @@ původně vybranými před otevřením tohoto dialogu Aplikace - + Labels & Attributes Štítky & atributy @@ -6451,27 +5758,27 @@ Chcete uložit provedené změny? PDF soubor - + untitled[*] bez názvu[*] - + - Editor - Editor - + %1 chars removed %1 znaky odstraněny - + %1 chars added %1 znaků z přidané - + Formatted Formátováno @@ -6495,13 +5802,13 @@ Chcete uložit provedené změny? Gui::FileChooser - - + + Select a file Vyberte soubor - + Select a directory Vyberte adresář @@ -6509,13 +5816,13 @@ Chcete uložit provedené změny? Gui::FileDialog - + Save as Uložit jako - - + + Open Otevřít @@ -6523,12 +5830,12 @@ Chcete uložit provedené změny? Gui::FileOptionsDialog - + Extended Rozšířené - + All files (*.*) Všechny soubory (*.*) @@ -6536,27 +5843,27 @@ Chcete uložit provedené změny? Gui::Flag - + Top left Vlevo nahoře - + Bottom left Vlevo dole - + Top right Vpravo nahoře - + Bottom right Vpravo dole - + Remove Odstranit @@ -6564,22 +5871,22 @@ Chcete uložit provedené změny? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Klepněte NEBO klikněte na levé tlačítko myši. - + Drag screen with two fingers OR press right mouse button. Táhněte obrazovku dvěma prsty NEBO stiskněté pravé tlačítko myši. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Táhněte obrazovku jedním prstem NEBO stiskněté levé tlačítko myši. V Náčrtu a dalších editačních módech držte navíc Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Štípněte (položte dva prsty na obrazovku && táhněte je od sebe || k sobě) NEBO rolujte prostředním tlačítkem myši NEBO použijte na klávesnici PgUp/PgDown. @@ -6587,74 +5894,74 @@ Chcete uložit provedené změny? Gui::GraphvizView - + Graphviz not found Graphviz nebyl nalezen - + Graphviz couldn't be found on your system. Program Graphviz nebyl v systému nalezen. - + Read more about it here. Další informace zde. - + Do you want to specify its installation path if it's already installed? Chcete zadat jeho cestu instalace, i když je už nainstalován? - + Graphviz installation path Instalační cesta Graphvizu - + Graphviz failed Graphviz selhal - + Graphviz failed to create an image file Graphvizu se nepodařilo vytvořit soubor s obrázkem - + PNG format Formát PNG - + Bitmap format Formát rastrového obrázku - + GIF format Formát GIF - + JPG format Formát JPG - + SVG format SVG formát - - + + PDF format PDF formát - - + + Export graph Exportovat graf @@ -6662,12 +5969,12 @@ Chcete uložit provedené změny? Gui::InputField - + Edit Upravit - + Save value Uložit hodnotu @@ -6675,22 +5982,22 @@ Chcete uložit provedené změny? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Stiskněte CTRL a levé tlačítko myši - + Press middle mouse button Stiskněte prostřední tlačítko myši - + Press left mouse button Stiskněte levé tlačítko myši - + Scroll middle mouse button Rolujte prostředním tlačítkem myši @@ -6698,7 +6005,7 @@ Chcete uložit provedené změny? Gui::LabelEditor - + List Seznam @@ -6706,66 +6013,66 @@ Chcete uložit provedené změny? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Uživatelem definované... - + - - + + Wrong direction Špatný směr - + - - + + Direction must not be the null vector Směr nesmí být nulový vektor @@ -6773,22 +6080,22 @@ Chcete uložit provedené změny? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Směr: @@ -6796,17 +6103,17 @@ Chcete uložit provedené změny? Gui::MacroCommand - + Macros Makra - + Macro file doesn't exist Soubor makra neexistuje - + No such macro file: '%1' Není soubor makra: '%1' @@ -6814,63 +6121,73 @@ Chcete uložit provedené změny? Gui::MainWindow - - + + Dimension Rozměr - + Ready Připraven - + Help addon needed! Doplněk nápovědy je potřeba! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Systém nápovědy %1 je nyní zpracován doplňkem "Nápověda". Může být snadno nainstalován prostřednictvím Správce rozšíření - + Open Addon Manager Otevřít správce rozšíření - + Close All Zavřít vše - - + + Toggles this toolbar Přepíná panel nástrojů - - + + Toggles this dockable window Přepíná dokovatelný okna - - + + WARNING: This is a development version. + VAROVÁNÍ: Toto je vývojová verze. + + + + Please do not use in a production environment. + Nepoužívejte prosím ve výrobním prostředí. + + + + Unsaved document Neuložený dokument - + The exported object contains external link. Please save the documentat least once before exporting. Exportovaný objekt obsahuje externí odkaz. Před exportem uložte dokument alespoň jednou. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Pro propojení s externími objekty musí být dokument uložen alespoň jednou. @@ -6880,63 +6197,63 @@ Chcete dokument nyní uložit? Gui::ManualAlignment - - - - - + + + + + Manual alignment Ruční zarovnání - + The alignment is already in progress. Zarovnání je již v běhu. - + Alignment[*] Zarovnání[*] - + Please, select at least one point in the left and the right view Prosím vyberte alespoň jeden bod v levém a pravém zobrazení - + Please, select at least %1 points in the left and the right view Prosím vyberte alespoň %1 bod v levém a pravém zobrazení - + Please pick points in the left and right view Prosím vyberte body v levém a pravém zobrazení - + The alignment has finished Zarovnání bylo dokončeno - + The alignment has been canceled Zarovnání bylo zrušeno - - + + Too few points picked in the left view. At least %1 points are needed. Příliš málo bodů v levém pohledu. Alespoň %1 body jsou zapotřebí. - - + + Too few points picked in the right view. At least %1 points are needed. Příliš málo bodů v pravém pohledu. Alespoň %1 body jsou zapotřebí. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6945,61 +6262,61 @@ Na levém pohledu jsou %1 body zachyceny, na pravém pohledu jsou %2 body zachyceny. - + Try to align group of views Zkusit zarovnat skupinu pohledů - + The alignment failed. How do you want to proceed? Zarovnání se nezdařilo. Jak chcete pokračovat? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Různý počet bodů v levém a pravém pohledu. V levém pohledu jsou %1 body vybrány, V pravém pohledu jsou %2 body vybrány. - + Point_%1 Bod_%1 - + Point picked at (%1,%2,%3) Bod umístěn v (%1, %2, %3) - + No point was found on model V modelu nebyly nalezeny žádné body - + No point was picked Nebyl vybrán bod - + &Align Zarovnání - + &Remove last point &Odstranění posledního bodu - + &Cancel Zrušit - + &Synchronize views &Synchronizovat zobrazení @@ -7007,22 +6324,22 @@ V pravém pohledu jsou %2 body vybrány. Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Klepněte NEBO klikněte na levé tlačítko myši. - + Drag screen with two fingers OR press ALT + middle mouse button. Táhněte obrazovku dvěma prsty NEBO stiskněte ALT + prostřední tlačítko myši. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Táhněte obrazovku jedním prstem NEBO stiskněte ALT + levé tlačítko myši. V Náčrtu a dalších editačních módech držte navíc Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Štípněte (položte dva prsty na obrazovku a táhněte je od sebe nebo k sobě) NEBO rolujte prostředním tlačítkem myši NEBO stiskněte ALT + pravé tlačítko myši NEBO použijte PgUp/PgDown na klávesnici. @@ -7030,7 +6347,7 @@ V pravém pohledu jsou %2 body vybrány. Gui::ModifierLineEdit - + Press modifier keys Stiskněte modifikační klávesu @@ -7046,22 +6363,22 @@ V pravém pohledu jsou %2 body vybrány. Gui::OpenCascadeNavigationStyle - + Press left mouse button Stiskněte levé tlačítko myši - + Press CTRL and middle mouse button Stiskněte CTRL a prostřední tlačítko myši - + Press CTRL and right mouse button Stistkněte CTRL a pravé tlačítko myší - + Press CTRL and left mouse button Stiskněte CTRL a levé tlačítko myši @@ -7069,22 +6386,22 @@ V pravém pohledu jsou %2 body vybrány. Gui::OpenSCADNavigationStyle - + Press left mouse button Stiskněte levé tlačítko myši - + Press right mouse button and move mouse Stiskněte pravé tlačítko myši a pohněte myší - + Press left mouse button and move mouse Stiskněte levé tlačítko myši a pohněte myší - + Press middle mouse button or SHIFT and right mouse button Stiskněte prostřední tlačítko myši nebo SHIFT a pravé tlačítko myši @@ -7092,17 +6409,17 @@ V pravém pohledu jsou %2 body vybrány. Gui::PrefQuantitySpinBox - + Edit Upravit - + Save value Uložit hodnotu - + Clear list Smazat seznam @@ -7133,12 +6450,12 @@ V pravém pohledu jsou %2 body vybrány. Zbývá: %1 - + Aborting Přerušení - + Do you really want to abort the operation? Opravdu chcete zrušit operaci? @@ -7146,7 +6463,7 @@ V pravém pohledu jsou %2 body vybrány. Gui::PropertyEditor::LinkLabel - + Change the linked object Změnit propojený objekt @@ -7154,12 +6471,12 @@ V pravém pohledu jsou %2 body vybrány. Gui::PropertyEditor::LinkSelection - + Error Chyba - + Object not found Objekt nenalezen @@ -7230,13 +6547,13 @@ V pravém pohledu jsou %2 body vybrány. Gui::PropertyView - + View Pohled - + Data Údaje @@ -7284,77 +6601,77 @@ Chcete průvodce ukončit bez uložení dat? Neošetřená neznámá výjimka C++. - + &Copy &Kopírovat - + &Copy command &Příkaz kopírovat - + &Copy history Kopírovat historii - + Save history as... Uložit historii jako... - + Save history Uložit historii - + Saves Python history across %1 sessions Uloží historii Pythonu napříč %1 relacemi - + &Paste &Vložit - + Select All Vybrat vše - + Clear console Vyčistit terminál - + Insert file name... Vložit název souboru... - + Word wrap Zalamování řádků - + Save History Uložit historii - + Macro Files Soubory maker - + Insert file name Vložit název souboru - + All Files Všechny soubory @@ -7362,7 +6679,7 @@ Chcete průvodce ukončit bez uložení dat? Gui::PythonEditor - + Comment Komentář @@ -7375,17 +6692,17 @@ Chcete průvodce ukončit bez uložení dat? Gui::RecentFilesAction - + Open file %1 Otevřít soubor %1 - + File not found Soubor nebyl nalezen - + The file '%1' cannot be opened. Soubor '%1' nelze otevřít. @@ -7393,22 +6710,22 @@ Chcete průvodce ukončit bez uložení dat? Gui::RecentMacrosAction - + none žádný - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Spustit makro %1 (Shift+kliknutí pro úpravu) klávesová zkratka: %2 - + File not found Soubor nebyl nalezen - + The file '%1' cannot be opened. Soubor '%1' nelze otevřít. @@ -7416,22 +6733,22 @@ Chcete průvodce ukončit bez uložení dat? Gui::RevitNavigationStyle - + Press left mouse button Stiskněte levé tlačítko myši - + Press middle mouse button Stiskněte prostřední tlačítko myši - + Press SHIFT and middle mouse button Stisknutím klávesy SHIFT a klepnutím na prostřední tlačítko myši - + Scroll middle mouse button Rolujte prostředním tlačítkem myši @@ -7462,17 +6779,17 @@ Chcete průvodce ukončit bez uložení dat? Gui::SelectModule - + Select module Vybrat modul - + Open %1 as Otevřené %1 jako - + Select Vybrat @@ -7537,13 +6854,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Automatická dokumentace modulu Python - - + + Opens a browser to show the Python modules documentation Otevře prohlížeč dokumentace modulů Python @@ -7561,7 +6878,7 @@ Do you want to specify another directory? Position - Position + Pozice @@ -7696,38 +7013,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Text aktualizován - + The text of the underlying object has changed. Discard changes and reload the text from the object? Text nižšího objektu se změnil. Zahodit změny a načíst znovu text z objektu? - + Yes, reload. Ano, znovu načti. - + Unsaved document Neuložený dokument - + Do you want to save your changes before closing? Chcete uložit změny před zavřením? - + If you don't save, your changes will be lost. V případě neuložení dokumentu budou změny ztraceny. - - + + Edit text Upravit text @@ -7735,22 +7052,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Stiskněte levé tlačítko myši - + Press middle mouse button Stiskněte prostřední tlačítko myši - + Press right mouse button Stiskněte pravé tlačítko myši - + Scroll middle mouse button Rolujte prostředním tlačítkem myši @@ -7758,22 +7075,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Stiskněte levé tlačítko myši - + Press SHIFT button Stiskněte klávesu SHIFT - + Press ALT button Stiskněte klávesu ALT - + Press CTRL and SHIFT buttons Stisknout CTRL + SHIFT @@ -7999,7 +7316,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Stromové zobrazení @@ -8007,7 +7324,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Hledat @@ -8015,183 +7332,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Hledat... - + Search for objects Hledání objektů - + Activate document Aktivovat dokument - + Activate document %1 Aktivovat dokumentu %1 - - - Tree settings - Tree settings - - - - Show description column - Show description column - - Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. + Tree settings + Nastavení stromu - + + Show description column + Zobrazit sloupec popisu + + + + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. + Zobrazit extra sloupec stromového zobrazení pro popis položky. Popis položky lze nastavit stisknutím klávesy F2 (nebo tlačítka úprav vašeho OS) nebo úpravou vlastnosti 'label2'. + + + Group Skupina - + Labels & Attributes Štítky & atributy - + Description Popis - + Show items hidden in tree view Zobrazit položky skryté ve stromovém zobrazení - + Show items that are marked as 'hidden' in the tree view Zobrazit položky, které jsou označeny jako 'skryté' ve stromovém zobrazení - + Toggle visibility in tree view Přepnout viditelnost ve stromovém zobrazení - + Toggles the visibility of selected items in the tree view Přepíná viditelnost vybraných položek ve stromovém zobrazení - + Create group... Vytvořit skupinu... - + Create a group Vytvořit skupinu - - + + Rename Přejmenovat - + Rename object Přejmenovat objekt - + Finish editing Dokončení úprav - + Finish editing object Dokončení úprav objektu - + Add dependent objects to selection Přidat závislé objekty k výběru - + Adds all dependent objects to the selection Přidá do výběru všechny závislé objekty - + Close document Zavřít dokument - + Close the document Zavřít dokument - + Reload document Znovu načíst dokument - + Reload a partially loaded document Znovu načíst částečně načtený dokument - + Skip recomputes Přeskočit přepočítání - + Enable or disable recomputations of document Povolit nebo zakázat přepočítání dokumentu - + Allow partial recomputes Povolit částečné přepočty - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Povolit nebo zakázat přepočítávání objektu, když je povoleno 'přeskočit přepočítávání' - + Mark to recompute Označit k přepočítání - + Mark this object to be recomputed Označit objekt k přepočítání - + Recompute object Přepočítat objekt - + Recompute the selected object Přepočítat vybraný objekt - + (but must be executed) (ale musí být provedeno) - + %1, Internal name: %2 %1, vnitřní název: %2 @@ -8222,12 +7539,12 @@ Do you want to specify another directory? PDF soubor - + Opening file failed Otevření souboru selhalo - + Can't open file '%1' for writing. Soubor "%1" nelze otevřít pro zápis. @@ -8235,7 +7552,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Vyberte '%1' pracovní prostředí @@ -8243,37 +7560,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Služby - + Hide %1 Hide %1 - + Hide Others Skrýt ostatní - + Show All Zobrazit vše - + Preferences... Předvolby... - + Quit %1 Ukončit %1 - + About %1 O %1 @@ -8293,11 +7610,6 @@ Do you want to specify another directory? Position - - - Form - Návrh - X: @@ -8392,14 +7704,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Neplatný vstup - - + + Input in line %1 is not a number Vstup na řádku %1 není číslo @@ -8407,37 +7719,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Stromové zobrazení - + Property view Vlastnosti zobrazení - + Selection view Výběr zobrazení - + Combo View Kombinované zobrazení - + DAG View DAG zobrazení - + Report view Zobrazení reportu - + Python console Python konzole @@ -8450,31 +7762,32 @@ Do you want to specify another directory? QObject - - + + General Obecné - - + + + Display Zobrazení - + Workbenches Pracovní prostředí - - - + + + Python Python @@ -8502,17 +7815,27 @@ Do you want to specify another directory? Nelze uložit neznámý typ souboru: %1 - + Workbench failure Selhání v pracovním prostředí - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Výjimka @@ -8558,8 +7881,8 @@ Do you want to specify another directory? Exportovat PDF... - + Unsaved document Neuložený dokument @@ -8580,39 +7903,39 @@ Do you want to specify another directory? Chyba závislosti - + Copy selected Kopírovat výběr - + Copy active document Kopírovat aktivní dokument - + Copy all documents Kopírovat všechny dokumenty - + Paste Vložit - + Expression error Chyba výrazu - + Failed to parse some of the expressions. Please check the Report View for more details. Některé výrazy se nepodařilo analyzovat. Další podrobnosti najdete v zobrazení Přehledu. - + Failed to paste expressions Nepodařilo se vložit výrazy @@ -8648,224 +7971,224 @@ Be aware the point where you click matters. Dejte si pozor na místo, kam klikáte. - - + + Save views... Uložit pohledy... - - + + Load views... Načíst pohledy... - - + + Freeze view Zmrazit pohled - - + + Clear views Smazat pohledy - - - + + + Restore view &%1 Obnovení zobrazení &%1 - + Save frozen views Uložit zmrazené pohledy - - + + Frozen views Zmražené pohledy - - + + Restore views Obnovit pohledy - + Importing the restored views would clear the already stored views. Do you want to continue? Import obnovených pohledů by zrušil již uložené zobrazení. Chcete pokračovat? - + Restore frozen views Obnovit zmrazené pohledy - + Cannot open file '%1'. Nelze otevřít soubor '%1'. - + files soubory - + Save image Uložit obrázek - + Choose an image file to open Vyber soubor obrázku pro otevření - + New sub-group Nová podskupina - - - - - - + + + + + + Enter the name: Zadat název: - - + + New text item Nová textová položka - - + + Enter your text: Zadejte text: - - + + New integer item Nová položka Integer - - - - - - + + + + + + Enter your number: Zadejte číslo: - - + + New unsigned item Nové položka nepodepsana - - + + New float item Nové položka float - + New Boolean item Nová položka Boolean - - + + Choose an item: Zvolte položku: - + New boolean item Nová boolean položka - + Rename group Přejmenovat skupinu - + The group '%1' cannot be renamed. Skupina '%1' nemůže být přejmenována. - + Existing group Existující skupina - + The group '%1' already exists. Skupina '%1' již existuje. - - - - - + + + + + Change value Změnit hodnotu - + Type Typ - + Notifier Oznamovatel - + Message Zpráva - + Notifier: Oznamovatel: - + Do you want to skip confirmation of further critical message notifications while loading the file? Chcete při načítání souboru přeskočit potvrzování dalších oznámení o kritických zprávách? - + Critical Message Kritická zpráva - + Too many opened non-intrusive notifications. Notifications are being omitted! Příliš mnoho otevřených nerušivých oznámení. Oznámení jsou vynechána! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8874,44 +8197,44 @@ Do you want to continue? - + Are you sure you want to continue? Opravdu si přejete pokračovat? - + Please check report view for more... Další informace najdete v zobrazení reportu... - + Physical path: Fyzická cesta: - - + + Document: Dokument: - - + + Path: Cesta: - + Identical physical path Identická fyzická cesta - + Could not save document Dokument nelze uložit - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8924,102 +8247,102 @@ Would you like to save the file with a different name? Chcete uložit soubor s jiným názvem? - - - + + + Saving aborted Ukládání bylo přerušeno - + Save dependent files Uložit závislé soubory - + The file contains external dependencies. Do you want to save the dependent files, too? Soubor obsahuje externí závislosti. Chcete také uložit závislé soubory? - - + + Saving document failed Uložení dokumentu se nezdařilo - + Save document under new filename... Uložte dokument pod novým názvem... - - + + Save %1 Document Uložit dokument %1 - + Document Dokument - - + + Failed to save document Dokumentu se nezdařilo uložit - + Documents contains cyclic dependencies. Do you still want to save them? Dokumenty obsahují cyklické závislosti. Chcete je přesto uložit? - + Save a copy of the document under new filename... Ulož kopii dokumentu pod novým názvem... - + %1 document (*.FCStd) dokument %1 (*.FCStd) - + Document not closable Dokument nelze uzavřít - + The document is not closable for the moment. V tuto chvili nelze dokument uzavřít. - + Document not saved Dokument nebyl uložen - + The document%1 could not be saved. Do you want to cancel closing it? Dokument%1 nelze uložit. Chcete zrušit jeho zavírání? - + Undo Zpět - + Redo Znovu - + There are grouped transactions in the following documents with other preceding transactions V následujících dokumentech jsou seskupeny transakce s jinými předcházejícími transakcemi - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9033,47 +8356,47 @@ Zvolte 'Přerušit' pro zrušení Uložit makro - - + + Finish Dokončit - - + + Clear Vyčistit - - - + + + Cancel Zrušit - + Inner Vnitřní - + Outer Vnější - + Split Rozdělit - - + + No Browser Žádný prohlížeč - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9082,48 +8405,48 @@ Please open a browser window and type in: http://localhost:%1. Prosím, otevřete okno prohlížeče a zadejte: http://localhost:%1. - + No Server Žádný Server - + Unable to start the server to port %1: %2. Nelze spustit server na portu %1: %2. - + Unable to open your system browser. Nelze otevřít systémový prohlížeč. - + Options... Možnosti... - + Out of memory Nedostatek paměti - + Not enough memory available to display the data. Není dostatek paměti pro zobrazení dat. - - + + Cannot find file %1 Nelze najít soubor %1 - + Cannot find file %1 neither in %2 nor in %3 Nelze najít soubor %1 %2 ani v %3 - + Navigation styles Styly navigace @@ -9133,8 +8456,8 @@ Prosím, otevřete okno prohlížeče a zadejte: http://localhost:%1.Přesunout poznámku - - + + Transform Transformace @@ -9144,42 +8467,42 @@ Prosím, otevřete okno prohlížeče a zadejte: http://localhost:%1.Chcete zavřít tento dialog? - + Do you want to save your changes to document '%1' before closing? Přejete si uložit změny v dokumentu "%1" před zavřením? - + Do you want to save your changes to document before closing? Přejete si uložit změny před zavřením dokumentu? - + If you don't save, your changes will be lost. V případě neuložení dokumentu budou změny ztraceny. - + Apply answer to all Použít odpověď na všechny - + %1 Document(s) not saved %1 dokument(y) nebyl(y) uložen(y) - + Some documents could not be saved. Do you want to cancel closing? Některé dokumenty nelze uložit. Chcete zrušit uzavření? - + Delete macro Odstranit makro - + Not allowed to delete system-wide macros Není povoleno mazat systémová makra @@ -9189,27 +8512,27 @@ Prosím, otevřete okno prohlížeče a zadejte: http://localhost:%1.Počátek - + Delete group content? Odstranit obsah skupiny? - + The %1 is not empty, delete its content as well? %1 není prázdný, odstranit jeho obsah také? - + Translation: Překlad: - + Rotation: Rotace: - + Toggle active part Přepnout aktivní část @@ -9272,88 +8595,88 @@ Prosím, otevřete okno prohlížeče a zadejte: http://localhost:%1.Selhal import všech odkazů - - + + Invalid name Neplatný název - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Název vlastnosti nebo název skupiny musí obsahovat pouze alfanumerické znaky, podtržítko a nesmí začínat číslicí. - + The property '%1' already exists in '%2' Vlastnost '%1' již existuje v '%2' - + Add property Přidat vlastnost - + Failed to add property to '%1': %2 Selhalo přidání vlastnosti do '%1': %2 - - + + Drag & drop failed Přetažení se nezdařilo - + Setup configurable object Nastavení konfigurovatelného objektu - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Vyberte, který objekt chcete zkopírovat nebo vyloučit při změně konfigurace. Všechny externí propojené objekty jsou ve výchozím nastavení vyloučeny. - + Please select which objects to copy when the configuration is changed Vyberte objekty, které chcete kopírovat, když je konfigurace změněna - + Apply to all Použít na všechny - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Použít nastavení pro všechny odkazy. Nebo odškrtněte tuto volbu a nastavení se použije jen pro tento odkaz. - + Copy on change Kopírovat při změně - + Enable Povolit - + Enable auto copy of linked object when its configuration is changed Povolit automatické kopírování propojených objektů při změně jejich konfigurace - + Tracking Sledování - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9362,17 +8685,17 @@ Také automaticky opakovat kopírování, pokud se změní původní propojený - + Disable copy on change Zakázat kopírování při změně - + Refresh configurable object Obnovit konfigurovatelný objekt - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9383,28 +8706,28 @@ na aktuální kopii budou ztraceny. - + Toggle array elements Přepnout prvky pole - + Change whether show each link array element as individual objects Určuje, zda zobrazit jednotlivé prvky spojeného pole jako samostatné objekty - + Transform at the origin of the placement Transformovat v počátku umístění - - + + Override colors... Přepsat barvy... - + Edit %1 Upravit %1 @@ -9427,12 +8750,12 @@ na aktuální kopii budou ztraceny. SelectionFilter - + Not allowed: Toto není dovoleno: - + Selection not allowed by filter Výběr není povoleno filtrem @@ -9440,9 +8763,9 @@ na aktuální kopii budou ztraceny. StdBoxElementSelection - - - + + + Box element selection Výběr prvku oknem @@ -9450,13 +8773,13 @@ na aktuální kopii budou ztraceny. StdBoxSelection - + Box selection Okno výběru - - + + Activate the box selection tool Aktivovat nástroj pro výběr polí @@ -9534,13 +8857,13 @@ na aktuální kopii budou ztraceny. StdCmdAxisCross - + Toggle axis cross Přepnout osový kříž - - + + Turns on or off the axis cross at the origin Zapne nebo vypne osu protínající počátek @@ -9646,13 +8969,13 @@ na aktuální kopii budou ztraceny. StdCmdDemoMode - + View turntable... Zobrazit otáčení... - - + + View turntable Zobrazit otáčení @@ -9772,13 +9095,13 @@ na aktuální kopii budou ztraceny. StdCmdDrawStyle - + Draw style Styl kreslení - - + + Change the draw style of the objects Změnit styl kreslení objektů @@ -9842,13 +9165,13 @@ na aktuální kopii budou ztraceny. StdCmdExpression - + Expression actions Akce výrazu - - + + Actions that apply to expressions Akce, které se vztahují na výrazy @@ -9965,13 +9288,13 @@ na aktuální kopii budou ztraceny. StdCmdFreezeViews - + Freeze display Zmrazit zobrazení - - + + Freezes the current view position Zmrazí aktuální pozici zobrazení @@ -9992,13 +9315,13 @@ na aktuální kopii budou ztraceny. StdCmdHideObjects - + Hide all objects Skrýt všechny objekty - - + + Hide all objects in the document Skrýt všechny objekty v dokumentu @@ -10006,13 +9329,13 @@ na aktuální kopii budou ztraceny. StdCmdHideSelection - + Hide selection Skrýt vybrané - - + + Hide all selected objects Skrýt všechny vybrané objekty @@ -10286,13 +9609,13 @@ na aktuální kopii budou ztraceny. StdCmdMeasureDistance - + Measure distance Změřit vzdálenost - - + + Activate the distance measurement tool Aktivovat nástroj pro měření vzdálenosti @@ -10351,8 +9674,8 @@ na aktuální kopii budou ztraceny. Vytvořit nový prázdný dokument - - + + Unnamed Nepojmenovaný @@ -10580,8 +9903,8 @@ na aktuální kopii budou ztraceny. StdCmdRecentFiles - Recent files - Nedávné soubory + Open Recent + Naposledy otevřené @@ -10719,13 +10042,13 @@ na aktuální kopii budou ztraceny. StdCmdSceneInspector - + Scene inspector... Prohlížeč scén... - - + + Scene inspector Prohlížeč scén @@ -10733,13 +10056,13 @@ na aktuální kopii budou ztraceny. StdCmdSelBack - + &Back &Zpět - - + + Go back to previous selection Vrátit se na předchozí výběr @@ -10747,13 +10070,13 @@ na aktuální kopii budou ztraceny. StdCmdSelBoundingBox - + &Bounding box &Ohraničující kvádr - - + + Show selection bounding box Zobrazit výběrový ohraničující kvádr @@ -10761,13 +10084,13 @@ na aktuální kopii budou ztraceny. StdCmdSelForward - + &Forward &Vpřed - - + + Repeat the backed selection Opakovat podporovaný výběr @@ -10789,13 +10112,13 @@ na aktuální kopii budou ztraceny. StdCmdSelectVisibleObjects - + Select visible objects Vybrat viditelné objekty - - + + Select visible objects in the active document Vybrat viditelné objekty v aktivním dokumentu @@ -10817,13 +10140,13 @@ na aktuální kopii budou ztraceny. StdCmdSetAppearance - + Appearance... Vzhled... - - + + Sets the display properties of the selected object Nastaví vlastnosti zobrazení vybraného objektu @@ -10831,13 +10154,13 @@ na aktuální kopii budou ztraceny. StdCmdShowObjects - + Show all objects Zobrazit všechny objekty - - + + Show all objects in the document Zobrazit všechny objekty v dokumentu @@ -10845,13 +10168,13 @@ na aktuální kopii budou ztraceny. StdCmdShowSelection - + Show selection Zobrazit výběr - - + + Show all selected objects Zobrazit všechny vybrané objekty @@ -10887,13 +10210,13 @@ na aktuální kopii budou ztraceny. StdCmdTextureMapping - + Texture mapping... Mapování textury... - - + + Texture mapping Mapování textury @@ -10929,13 +10252,13 @@ na aktuální kopii budou ztraceny. StdCmdToggleClipPlane - + Clipping plane Střižná rovina - - + + Toggles clipping plane for active view Přepíná střižnou rovinu pro aktivní pohled @@ -10943,13 +10266,13 @@ na aktuální kopii budou ztraceny. StdCmdToggleNavigation - + Toggle navigation/Edit mode Přepnout režim navigace/úprava - - + + Toggle between navigation and edit mode Přepnutí mezi režimem úprav a navigací @@ -10957,13 +10280,13 @@ na aktuální kopii budou ztraceny. StdCmdToggleObjects - + Toggle all objects Přepíná všechny objekty - - + + Toggles visibility of all objects in the active document Přepíná viditelnost všech objektů v aktivním dokumentu @@ -10971,13 +10294,13 @@ na aktuální kopii budou ztraceny. StdCmdToggleSelectability - + Toggle selectability Přepnout možnost výběru - - + + Toggles the property of the objects to get selected in the 3D-View Přepíná vlastnost objektů, k výběru ve 3D-zobrazení @@ -10985,13 +10308,13 @@ na aktuální kopii budou ztraceny. StdCmdToggleVisibility - + Toggle visibility Přepnout viditelnost - - + + Toggles visibility Přepíná viditelnost @@ -11041,13 +10364,13 @@ na aktuální kopii budou ztraceny. StdCmdTreeCollapse - + Collapse selected item Sbalit vybranou položku - - + + Collapse currently selected tree items Sbalit aktuálně vybrané položky stromu @@ -11055,13 +10378,13 @@ na aktuální kopii budou ztraceny. StdCmdTreeExpand - + Expand selected item Rozbalit vybranou položku - - + + Expand currently selected tree items Rozbalit aktuálně vybrané položky stromu @@ -11069,13 +10392,13 @@ na aktuální kopii budou ztraceny. StdCmdTreeSelectAllInstances - + Select all instances Vybrat všechny instance - - + + Select all instances of the current selected object Vybrat všechny instance aktuálně vybraného objektu @@ -11083,13 +10406,13 @@ na aktuální kopii budou ztraceny. StdCmdTreeViewActions - + TreeView actions Akce zobrazení stromu - - + + TreeView behavior options and actions Možnosti a akce chování stromu @@ -11153,13 +10476,13 @@ na aktuální kopii budou ztraceny. StdCmdViewBottom - + Bottom Dole - - + + Set to bottom view Nastavit na spodní pohled @@ -11167,13 +10490,13 @@ na aktuální kopii budou ztraceny. StdCmdViewCreate - + Create new view Vytvořit nový pohled - - + + Creates a new view window for the active document Vytvoří nové okno zobrazení pro aktivní dokument @@ -11181,13 +10504,13 @@ na aktuální kopii budou ztraceny. StdCmdViewDimetric - + Dimetric Dimetrie - - + + Set to dimetric view Nastavit dimetrické zobrazení @@ -11195,13 +10518,13 @@ na aktuální kopii budou ztraceny. StdCmdViewExample1 - + Inventor example #1 Příklad konstrukce #1 - - + + Shows a 3D texture with manipulator Zobrazí 3D textury a manipulátor @@ -11209,13 +10532,13 @@ na aktuální kopii budou ztraceny. StdCmdViewExample2 - + Inventor example #2 Příklad návrhu #2 - - + + Shows spheres and drag-lights Ukazuje koule a světla @@ -11223,13 +10546,13 @@ na aktuální kopii budou ztraceny. StdCmdViewExample3 - + Inventor example #3 Příklad návrhu #3 - - + + Shows a animated texture Zobrazí animované textury @@ -11237,13 +10560,13 @@ na aktuální kopii budou ztraceny. StdCmdViewFitAll - + Fit all Zaměřit zobrazení na vše - - + + Fits the whole content on the screen Zaměří zobrazení na obsah obrazovky @@ -11251,13 +10574,13 @@ na aktuální kopii budou ztraceny. StdCmdViewFitSelection - + Fit selection Zaměřit zobrazení na výběr - - + + Fits the selected content on the screen Zaměřit zobrazení na vybraný dokument @@ -11265,13 +10588,13 @@ na aktuální kopii budou ztraceny. StdCmdViewFront - + Front Přední - - + + Set to front view Nastavit na čelní pohled @@ -11279,13 +10602,13 @@ na aktuální kopii budou ztraceny. StdCmdViewHome - + Home Domů - - + + Set to default home view Nastavit jako výchozí domovské zobrazení @@ -11293,13 +10616,13 @@ na aktuální kopii budou ztraceny. StdCmdViewIsometric - + Isometric Izometrie - - + + Set to isometric view Nastavit izometrické zobrazení @@ -11307,13 +10630,13 @@ na aktuální kopii budou ztraceny. StdCmdViewIvIssueCamPos - + Issue camera position Výchozí postavení kamery - - + + Issue the camera position to the console and to a macro, to easily recall this position Výchozí nastavení pozice kamery v konzole a v makru pro jednoduší vyvolání této pozice @@ -11321,13 +10644,13 @@ na aktuální kopii budou ztraceny. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereo prokládané sloupci - - + + Switch stereo viewing to Interleaved Columns Přepnout stereo pohled na prokládané sloupce @@ -11335,13 +10658,13 @@ na aktuální kopii budou ztraceny. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Stereo prokládané řádky - - + + Switch stereo viewing to Interleaved Rows Přepnout stereo pohled na prokládané řádky @@ -11349,13 +10672,13 @@ na aktuální kopii budou ztraceny. StdCmdViewIvStereoOff - + Stereo Off Stereo vypnuto - - + + Switch stereo viewing off Vypnout stereo pohled @@ -11363,13 +10686,13 @@ na aktuální kopii budou ztraceny. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Quad stereo vyrovnávání - - + + Switch stereo viewing to quad buffer Přepnout stereo pohled na quad vyrovnávání @@ -11377,13 +10700,13 @@ na aktuální kopii budou ztraceny. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo červená/azurová - - + + Switch stereo viewing to red/cyan Přepnout stereo zobrazení na červená/azurová @@ -11391,13 +10714,13 @@ na aktuální kopii budou ztraceny. StdCmdViewLeft - + Left Vlevo - - + + Set to left view Nastavit na levý pohled @@ -11405,13 +10728,13 @@ na aktuální kopii budou ztraceny. StdCmdViewRear - + Rear Zadní - - + + Set to rear view Nastavte na zadní pohled @@ -11433,13 +10756,13 @@ na aktuální kopii budou ztraceny. StdCmdViewRight - + Right Vpravo - - + + Set to right view Nastavit na pravý pohled @@ -11447,13 +10770,13 @@ na aktuální kopii budou ztraceny. StdCmdViewRotateLeft - + Rotate Left Otočit doleva - - + + Rotate the view by 90° counter-clockwise Otočit pohled o 90° doleva @@ -11461,13 +10784,13 @@ na aktuální kopii budou ztraceny. StdCmdViewRotateRight - + Rotate Right Otočit doprava - - + + Rotate the view by 90° clockwise Otočit pohled o 90° doprava @@ -11489,13 +10812,13 @@ na aktuální kopii budou ztraceny. StdCmdViewTop - + Top Horní - - + + Set to top view Nastavit na horní pohled @@ -11503,13 +10826,13 @@ na aktuální kopii budou ztraceny. StdCmdViewTrimetric - + Trimetric Trimetrie - - + + Set to trimetric view Nastavit trimetriké zobrazení @@ -11517,13 +10840,13 @@ na aktuální kopii budou ztraceny. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Rozšíření FReeCAD 3D okna na Oculus Rift @@ -11587,13 +10910,13 @@ na aktuální kopii budou ztraceny. StdMainFullscreen - + Fullscreen Celá obrazovka - - + + Display the main window in fullscreen mode Zobrazit hlavní okno v režimu celé obrazovky @@ -11629,13 +10952,13 @@ na aktuální kopii budou ztraceny. StdRecallWorkingView - + Recall working view Vyvolat pracovní pohled - - + + Recall previously stored temporary working view Vyvolání dříve uloženého dočasného pracovního pohledu @@ -11643,13 +10966,13 @@ na aktuální kopii budou ztraceny. StdStoreWorkingView - + Store working view Uložit pracovní pohled - - + + Store a document-specific temporary working view Uložení dočasného pracovního pohledu pro daný dokument @@ -11657,13 +10980,13 @@ na aktuální kopii budou ztraceny. StdTreeCollapseDocument - + Collapse/Expand Sbalit/Rozbalit - - + + Expand active document and collapse all others Rozbalit aktivní dokument a zbalit všechny ostatní @@ -11671,12 +10994,12 @@ na aktuální kopii budou ztraceny. StdTreeDrag - + Initiate dragging Zahájit přetažení - + Initiate dragging of current selected tree items Zahájit přetažení aktuálně vybraných položek stromu @@ -11684,13 +11007,13 @@ na aktuální kopii budou ztraceny. StdTreeMultiDocument - + Multi document Vícenásobný dokument - - + + Display all documents in the tree view Zobrazit všechny dokumenty ve stromovém zobrazení @@ -11698,12 +11021,12 @@ na aktuální kopii budou ztraceny. StdTreePreSelection - + Pre-selection Předvýběr - + Preselect the object in 3D view when mouse over the tree item Předvybrat objekt v 3D zobrazení, když se myš nachází nad položkou stromu @@ -11711,12 +11034,12 @@ na aktuální kopii budou ztraceny. StdTreeRecordSelection - + Record selection Výběr záznamu - + Record selection in tree view in order to go back/forward using navigation button Nahrát výběr ve stromovém zobrazení pro návrat zpět/vpřed pomocí navigačního tlačítka @@ -11724,13 +11047,13 @@ na aktuální kopii budou ztraceny. StdTreeSelection - + Go to selection Přejít na výběr - - + + Scroll to first selected item Posun na první vybranou položku @@ -11738,13 +11061,13 @@ na aktuální kopii budou ztraceny. StdTreeSingleDocument - + Single document Jediný dokument - - + + Only display the active document in the tree view Ve stromovém zobrazení zobrazit pouze aktivní dokument @@ -11752,12 +11075,12 @@ na aktuální kopii budou ztraceny. StdTreeSyncPlacement - + Sync placement Synchronizovat umístění - + Auto adjust placement on drag and drop objects across coordinate systems Automatická úprava polohy přetažených objektů napříč souřadnými systémy @@ -11765,12 +11088,12 @@ na aktuální kopii budou ztraceny. StdTreeSyncSelection - + Sync selection Synchronizovat výběr - + Auto expand tree item when the corresponding object is selected in 3D view Automaticky rozbalit položku stromu, když je vybrán odpovídající objekt ve 3D zobrazení @@ -11778,12 +11101,12 @@ na aktuální kopii budou ztraceny. StdTreeSyncView - + Sync view Synchronizovat zobrazení - + Auto switch to the 3D view containing the selected item Automaticky přepnout na 3D zobrazení obsahující vybranou položku @@ -11791,13 +11114,13 @@ na aktuální kopii budou ztraceny. StdViewBoxZoom - + Box zoom Zoom oknem - - + + Activate the box zoom tool Aktivovat nástroj pro výběr polí @@ -11805,13 +11128,13 @@ na aktuální kopii budou ztraceny. StdViewDock - + Docked Zakotvený - - + + Display the active view either in fullscreen, in undocked or docked mode Zobrazuje aktivní pohled v plné obrazovce v neukotveném nebo ukotveném módu @@ -11819,13 +11142,13 @@ na aktuální kopii budou ztraceny. StdViewDockUndockFullscreen - + Document window Okno dokumentu - - + + Display the active view either in fullscreen, in undocked or docked mode Zobrazuje aktivní pohled v plné obrazovce v neukotveném nebo ukotveném módu @@ -11833,13 +11156,13 @@ na aktuální kopii budou ztraceny. StdViewFullscreen - + Fullscreen Celá obrazovka - - + + Display the active view either in fullscreen, in undocked or docked mode Zobrazuje aktivní pohled v plné obrazovce v neukotveném nebo ukotveném módu @@ -11847,13 +11170,13 @@ na aktuální kopii budou ztraceny. StdViewScreenShot - + Save image... Uložit obrázek... - - + + Creates a screenshot of the active view Vytvoří snímek aktivního zobrazení @@ -11861,13 +11184,13 @@ na aktuální kopii budou ztraceny. StdViewUndock - + Undocked Uvolněný - - + + Display the active view either in fullscreen, in undocked or docked mode Zobrazuje aktivní pohled v plné obrazovce v neukotveném nebo ukotveném módu @@ -11875,13 +11198,13 @@ na aktuální kopii budou ztraceny. StdViewZoomIn - + Zoom In Přiblížit - - + + Increase the zoom factor by a fixed amount Zvýšení faktoru přiblížení o pevnou částku @@ -11889,13 +11212,13 @@ na aktuální kopii budou ztraceny. StdViewZoomOut - + Zoom Out Oddálit - - + + Decrease the zoom factor by a fixed amount Zvýšení faktoru přiblížení o pevnou částku @@ -11930,72 +11253,72 @@ Opravdu chcete pokračovat? Std_DrawStyle - + As is Jako je - + Normal mode Normální režim - + Points Body - + Points mode Režim bodů - + Wireframe Drátěný - + Wireframe mode Drátěný režim - + Hidden line Skrytá čára - + Hidden line mode Režim skryté čáry - + No shading Bez stínování - + No shading mode Režim bez stínování - + Shaded Stínované - + Shaded mode Režim stínování - + Flat lines Hrany - + Flat lines mode Režim hran @@ -12058,32 +11381,32 @@ Chcete pokračovat? TreeParams - + Tree view item background. Only effective in overlay. Pozadí položky stromového zobrazení. Účinné pouze v překryvném zobrazení. - + Tree view item background padding. Výplň pozadí položky stromového zobrazení. - + Hide extra tree view column for item description. Skrytí dalšího sloupce stromového zobrazení pro popis položky. - + Hide tree view scroll bar in dock overlay. Skrytí posuvníku zobrazení stromu v překrytí doku. - + Hide tree view header view in dock overlay. Skrytí zobrazení záhlaví stromového zobrazení v překrytí doku. - + Allow tree view columns to be manually resized. Umožnit ruční změnu velikosti sloupců stromového zobrazení. @@ -12091,117 +11414,117 @@ Chcete pokračovat? Workbench - + &File &Soubor - + &Edit &Upravit - + Edit Upravit - + Clipboard Schránka - + Workbench Pracovní prostředí - + Structure Struktura - + Standard views Standardní zobrazení - + Axonometric Axonometrický - + &Stereo &Stereo - + &Zoom &Přiblížení - + Visibility Viditelnost - + &View &Zobrazit - + &Tools &Nástroje - + &Macro &Makro - + &Windows &Okna - + &On-line help &On-line Nápověda - + &Help Nápověda - + Help Nápověda - + File Soubor - + Macro Makro - + View Pohled - + Special Ops Speciální operace - + Link actions Akce odkazů @@ -12209,12 +11532,12 @@ Chcete pokračovat? Gui::MDIView - + Export PDF Export PDF - + PDF file PDF soubor @@ -12222,196 +11545,190 @@ Chcete pokračovat? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Oznamovací oblast - + Settings Nastavení - + The Notification area will appear in the status bar Ve stavovém řádku se zobrazí oznamovací oblast - + Enable Notification Area Povolit oblast oznámení - + Non-intrusive notifications will appear next to the notification area in the status bar Nerušivá oznámení se zobrazí vedle oznamovací oblasti ve stavovém řádku - + Enable non-intrusive notifications Povolit nevtíravá oznámení - + Additional data sources Další zdroje údajů - + Errors intended for developers will appear in the notification area Chyby určené pro vývojáře se objeví v oznamovací oblasti - + Debug errors Chyby ladění - + Warnings intended for developers will appear in the notification area Upozornění určená vývojářům se objeví v oznamovací oblasti - + Debug warnings Upozornění ladění - + Non-Intrusive Notifications Nerušivá oznámení - + Minimum Duration: Minimální doba: - + Maximum Duration: Maximální doba: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Doba, po kterou se bude upozornění zobrazovat (pokud nekliknete na tlačítka myši) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimální doba, po kterou se bude oznámení zobrazovat (pokud nekliknete na oznámení) - + Maximum Number of Notifications: Maximální počet oznámení: - + Maximum number of notifications that will be simultaneously present on the screen Maximální počet oznámení, která budou současně přítomna na obrazovce - + Notification width: Oznamovací oblast: - + Width of the notification in pixels Šířka oznámení v pixelech - + Any open non-intrusive notifications will disappear when another window is activated Všechna otevřená nerušivá oznámení zmizí, když se aktivuje další okno - + Hide when other window is activated Skrýt, když je aktivováno jiné okno - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Zabraňte zobrazování nevtíravých oznámení, když okno FreeCAD není aktivním oknem - + Do not show when inactive Nezobrazovat, když je neaktivní - + Message List Seznam zpráv - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Omezte počet zpráv, které budou v seznamu zachovány. Pokud je 0, neexistuje žádný limit. - + Maximum Messages (0 = no limit): Maximální počet zpráv (0 = bez omezení): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Odebere uživatelská upozornění ze seznamu zpráv po uplynutí nerušivé maximální doby trvání. - + Auto-remove User Notifications Automaticky odebrat upozornění uživatele - - - Activation of the Notification Area only takes effect after an application restart. - Aktivace oznamovací oblasti se projeví až po restartu aplikace. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Dostupné sady nástrojů - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Pořadí pracovních ploch můžete změnit přetažením. Další pracovní plochy lze nainstalovat prostřednictvím správce doplňků.</p><p> V současné době má váš systém následující pracovní plochy:</p></body></html> - + Start up workbench: Spustit pracovní úroveň: - + Choose which workbench will be activated and shown after FreeCAD launches Vyberte, které pracovní prostředí bude aktivováno a zobrazeno po spuštění FreeCADu - + Workbench selector position : Poloha voliče pracovního prostředí : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12424,12 +11741,12 @@ po spuštění FreeCADu 'Pravý roh': V liště nabídky, v pravém rohu. - + If checked, application will remember which workbench is active for each tab of the viewport Je-li zaškrtnuto, aplikace si pamatuje, které pracovní prostředí je aktivní pro každou kartu - + Remember active workbench by tab Pamatovat si aktivní pracovní prostředí záložky @@ -12439,7 +11756,7 @@ po spuštění FreeCADu Choose orientation - Choose orientation + Zvolit orientaci @@ -12449,17 +11766,17 @@ po spuštění FreeCADu XY-Plane - XY-Plane + Rovina XY XZ-Plane - XZ-Plane + Rovina XZ YZ-Plane - YZ-Plane + Rovina YZ @@ -12469,7 +11786,7 @@ po spuštění FreeCADu Offset: - Offset: + Odsazení: @@ -12578,47 +11895,47 @@ po spuštění FreeCADu Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Pokud není zaškrtnuto, %1 se nezobrazí v dostupných pracovních plochách. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Toto je aktuální spouštěcí modul a musí být povolen. Pro změnu viz Preference/General/Autoload. - + Shortcut to activate this workbench. Zkratka pro aktivaci tohoto pracovního stolu. - + Auto-load Automatické načítání - + If checked, %1 will be loaded automatically when FreeCAD starts up Je-li zaškrtnuto, %1 se načte automaticky při spuštění FreeCADu - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Toto je aktuální spouštěcí modul a musí být automaticky načten. Změna viz. Předvolby/Obecné/Autoload. - + Loaded Načteno - + Load Načíst - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Pro zachování zdrojů FreeCAD nenačítá pracovní plochy, dokud nejsou použity. Jejich načtení může poskytnout přístup k dalším předvolbám souvisejícím s jejich funkčností. @@ -12626,17 +11943,22 @@ po spuštění FreeCADu Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Panel nástrojů - + Left corner Levý roh - + Right corner Pravý roh @@ -12662,12 +11984,12 @@ po spuštění FreeCADu Gui::NotificationArea - + Delete user notifications Smazat uživatelská upozornění - + Delete All Smazat vše @@ -12703,13 +12025,13 @@ po spuštění FreeCADu StdViewLoadImage - + Load image... Načítání obrázků... - - + + Loads an image Načte obrázek @@ -12771,10 +12093,816 @@ po spuštění FreeCADu Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Došlo k chybě -- viz zobrazení zprávy pro informaci + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Možnosti + + + + Code lines will be numbered + Řádky kódu budou očíslovány + + + + Enable line numbers + Zapnout čísla řádků + + + + The cursor shape will be a block + Tvar kurzoru bude blok + + + + Enable block cursor + Povolit blokový kurzor + + + + Enable folding + Povolit skládání + + + + Indentation + Odsazení + + + + Tab size: + Velikost tabulátoru: + + + + Tabulator raster (how many spaces) + Velikost tabulátoru (počet mezer) + + + + Indent size: + Velikost odsazení: + + + + How many spaces will be inserted when pressing <Tab> + Kolik mezer bude vloženo při stisknutí <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Stisknutí <Tab> vloží odrážku definované velikosti + + + + Keep tabs + Zachovat záložky + + + + Pressing <Tab> will insert amount of defined indent size + Stisknutí <Tab> vloží množství definovaného odsazení + + + + Insert spaces + Vložit mezery + + + + Display items + Zobrazit položky + + + + Color and font settings will be applied to selected type + Nastavení barev a fontu bude použito na vybraný typ + + + + Family: + Rodina: + + + + Font family to be used for selected code type + Rodina písma, která se použije pro vybraný typ kódu + + + + Size: + Velikost: + + + + Font size to be used for selected code type + Velikost fontu použitá pro vybraný typ kódu + + + + Color: + Barva: + + + + Preview: + Náhled: + + + + Text + Text + + + + Bookmark + Záložka + + + + Breakpoint + Bod přerušení + + + + Keyword + Klíčové slovo + + + + Comment + Komentář + + + + Block comment + Blok komentáře + + + + Number + Číslo + + + + String + Řetězec + + + + Character + Znak + + + + Class name + Název třídy + + + + Define name + Definovat název + + + + Operator + Operátor + + + + Python output + Python výstup + + + + Python error + Python chyba + + + + Current line highlight + Aktuální řádek zvýraznění + + + + Items + Položky + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Obecné + + + + Language and number format + Jazyk a formát čísel + + + + Language: + Jazyk: + + + + Language of the application's user interface + Jazyk uživatelského rozhraní aplikace + + + + Unit system: + Jednotky: + + + + Unit system that should be used for all parts of the application + Jednotkový systém, který by měl být použit pro všechny části aplikace + + + + Number of decimals: + Počet desetinných míst: + + + + Number of decimals that should be shown for numbers and dimensions + Počet desetinných míst, která se mají zobrazit pro čísla a kóty + + + + Minimum fractional inch: + Minimální zlomek palce: + + + + Minimum fractional inch to be displayed + Minimální zlomek palce který bude zobrazen + + + + Number format: + Formát čísla: + + + + Operating system + Operační systém + + + + Selected language + Vybraný jazyk + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Pokud je povoleno, oddělovač desetinných míst na numerické klávesnici +bude nahrazen lokálním oddělovačem, s výjimkou oddělovače +v konzole Pythonu a editoru maker, kde se používá +bude vždy vypsána tečka/tečka. + + + + Substitute decimal separator + Nahraďte desetinný oddělovač + + + + Application + Aplikace + + + + Theme: + Motiv: + + + + Customize how user interface will look like + Přizpůsobte jak bude vypadat uživatelské rozhraní + + + + Size of toolbar icons: + Velikost ikon panelu nástrojů: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Vyberte si preferovanou velikost ikon v panelu nástrojů. Můžete ji upravit +podle velikosti obrazovky nebo osobní preference + + + + Tree view mode: + Režim zobrazení ve stromu: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Přizpůsobte si, jak je v panelu zobrazeno zobrazení stromu (vyžaduje restart). + +'ComboView': kombinovat zobrazení stromu a zobrazení vlastností v jednom panelu. +'TreeView and PropertyView': rozdělit zobrazení ve stromě a zobrazení vlastností do samostatného panelu. +'Both': zachovat všechny tři panely, můžete mít dvě sady zobrazení stromu a zobrazení vlastnosti. + + + + Size of recent file list: + Velikost seznamu posledních souborů: + + + + How many files should be listed in recent files list + Kolik souborů by mělo být uvedeno v seznamu nedávných souborů + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Pozadí hlavního okna (když není otevřen žádný dokument) se bude skládat z dlaždic speciálního obrázku. +Podrobnosti o obrázku najdete na FreeCAD Wiki. + + + + Enable tiled background + Povolit dlaždicové pozadí + + + + The text cursor will be blinking + Textový kurzor bude blikat + + + + Enable cursor blinking + Povolit blikání kurzoru + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Splash screen je malé načítací okno, které se zobrazí + při spouštění FreeCADu. Je-li tato volba zaškrtnuta, +FreeCAD toto okno zobrazí + + + + Enable splash screen at start up + Povolit úvodní obrazovku při startu + + + + Preference packs + Balíčky předvoleb + + + + Name + Jméno + + + + Type + Typ + + + + Load + Načíst + + + + Import config... + Importovat konfiguraci... + + + + Save new... + Uložit nové... + + + + Manage... + Spravovat... + + + + Revert... + Vrátit... + + + + Manage preference packs + Spravovat balíčky předvoleb + + + + Small (%1px) + Malé (%1px) + + + + Medium (%1px) + Střední (%1px) + + + + Large (%1px) + Velké (%1px) + + + + Extra large (%1px) + Velmi velké (%1px) + + + + Custom (%1px) + Vlastní (%1px) + + + + Combo View + Kombinované zobrazení + + + + TreeView and PropertyView + TreeView a PropertyView + + + + Both + Obě + + + + Preference Pack Name + Název balíčku předvoleb + + + + Tags + Štítky + + + + Apply + Použít + + + + Apply the %1 preference pack + Použít balíček předvoleb %1 + + + + Choose a FreeCAD config file to import + Vyberte konfigurační soubor FreeCAD pro import + + + + File exists + Soubor existuje + + + + A preference pack with that name already exists. Overwrite? + Balíček předvoleb s tímto názvem již existuje. Přepsat? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Zobrazení reportu + + + + Output + Výstup + + + + Normal messages will be recorded + Běžné zprávy budou zaznamenávány + + + + Record normal messages + Zaznamenávat běžné zprávy + + + + Log messages will be recorded + Logovací zprávy budou zaznamenány + + + + Record log messages + Záznam log-ovacích zpráv + + + + Warnings will be recorded + Upozornění budou zaznamenána + + + + Record warnings + Záznam varování + + + + Error messages will be recorded + Chybové zprávy budou zaznamenány + + + + Record error messages + Záznam chyb + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Když dojde k chybě, zobrazí se dialogové okno reportu +při zobrazení chyby + + + + Show report view on error + Zobrazit report při chybě + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Když dojde k varování, zobrazí se dialogové okno reportu +při zobrazení varování + + + + Show report view on warning + Zobrazit report při varování + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Když se objeví normální zpráva, zobrazí se dialogové okno reportu +při zobrazení této zprávy + + + + Show report view on normal message + Zobrazit report při normální zprávě + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Když se objeví logovací zpráva, zobrazí se dialogové okno reportu +při zobrazení této zprávy + + + + Show report view on log message + Zobrazit report při logovací zprávě + + + + Include a timecode for each report + Zahrnout časovou známku pro každou zprávu + + + + Include a timecode for each entry + Zahrnout časovou známku pro každou zprávu + + + + Colors + Barvy + + + + Normal messages: + Zprávy: + + + + Font color for normal messages in Report view panel + Barva písma pro normální zprávy v panelu Report + + + + Log messages: + Log zprávy: + + + + Font color for log messages in Report view panel + Barva písma pro logovací zprávy v panelu Report + + + + Warnings: + Varování: + + + + Font color for warning messages in Report view panel + Barva písma pro zprávy varování v panelu Report + + + + Errors: + Chyby: + + + + Font color for error messages in Report view panel + Barva písma pro chybové zprávy v panelu Report + + + + Python interpreter + Interpretr Pythonu + + + + Internal Python output will be redirected +from Python console to Report view panel + Interní výstup Pythonu bude přesměrován +z Python konzole do panelu Report + + + + Redirect internal Python output to report view + Přesměrovat vnitřní výstup Pythonu do zobrazení reportu + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Interní chybové hlášky Pythonu budou přesměrovány +z Python konzole do panelu Report + + + + Redirect internal Python errors to report view + Přesměrovat vnitřní chyby Pythonu k zobrazení reportu + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Motiv + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Tato stránka vám umožní přizpůsobit aktuální motiv. Nabízená nastavení jsou pro vývojáře motivů volitelná, takže mohou, ale nemusí mít vliv na váš aktuální motiv. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Tato barva může být použita vaším motivem, abyste si jej mohl přizpůsobit. + + + + No style sheet + Bez stylů + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_de.ts b/src/Gui/Language/FreeCAD_de.ts index d280f3d805..d4f93e7ec8 100644 --- a/src/Gui/Language/FreeCAD_de.ts +++ b/src/Gui/Language/FreeCAD_de.ts @@ -42,29 +42,29 @@ Visuelle Größe der Funktion - + <empty> <Leer> - - + + Angle Winkel - - + + Axis Achse - + Position Position - + Enum Aufzählung @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Konsolenausgabe testen - - + + Run test cases to verify console messages Tests ausführen, um Konsolennachrichten zu überprüfen @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Messung löschen - + Clear all visible measurements Alle sichtbaren Messungen löschen @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Messen ein-/ausschalten - + Turn on or off the display of all measurements Anzeigen aller Messungen ein- oder ausschalten @@ -132,7 +132,7 @@ Löschen - + Paste expressions Ausdrücke einfügen @@ -182,9 +182,9 @@ Gruppe hinzufügen - + Align - Ausrichtung + Ausrichten @@ -193,40 +193,40 @@ Positionierung - - + + Transform Transformieren - + Toggle array elements Array-Elemente umschalten - + Link Transform Transformation verknüpfen - + Measure distance Abstand messen - + Toggle visibility Ein/Ausblenden - + Toggle selectability Selektierbarkeit an/aus - + Edit image Bild bearbeiten @@ -234,77 +234,77 @@ CommandGroup - + File Datei - + Edit Bearbeiten - + Help Hilfe - + Link Link - + Tools Werkzeuge - + View Ansicht - + Window Fenster - + Standard Standard - + Macros Makros - + Macro Makro - + Structure Struktur - + Standard-Test Standard-Test - + Standard-View Standardansicht - + TreeView BaumAnsicht - + Measure Messen @@ -402,11 +402,6 @@ DownloadItem - - - Form - Form - Ico @@ -421,42 +416,42 @@ EditMode - + Default Standard - + The object will be edited using the mode defined internally to be the most appropriate for the object type Das Objekt wird mit dem intern als dafür am geeignetsten gekennzeichneten Modus bearbeitet - + Transform Transformieren - + The object will have its placement editable with the Std TransformManip command Die Objektplatzierung wird mit dem Befehl Std TransformManip editierbar sein - + Cutting Schneiden - + This edit mode is implemented as available but currently does not seem to be used by any object Dieser Bearbeitungsmodus ist als verfügbar implementiert, scheint aber von keinem Objekt verwendet zu werden - + Color Farbe - + The object will have the color of its individual faces editable with the Part FaceColors command Das Objekt wird seine einzelnen Flächenfarben mit dem Befehl Part FaceColors editierbar haben @@ -482,7 +477,7 @@ kein - + Press a keyboard shortcut Tastenkombination drücken @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Verfügbar: - + Selected: Ausgewählt: - + Add Hinzufügen - + Remove Entfernen - + Move up Nach oben verschieben - + Move down Nach unten verschieben @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Bewegliches Objekt - + Fixed object Fixiertes Objekt @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Bitte warten Sie, bis die AutoWiederherstellen-Datei gespeichert wurde... @@ -567,59 +562,60 @@ Gui::BlenderNavigationStyle - + Press left mouse button - Drücken Sie die linke Maustaste + Linke Maustaste drücken + + + + Press SHIFT and middle mouse button + Umschalttaste und mittlere Maustaste drücken - Press SHIFT and middle mouse button - Drücke die Umschalttaste und die mittlere Maustaste + Press middle mouse button + Mittlere Maustaste drücken - Press middle mouse button - Drücken Sie die mittlere Maustaste - - - Scroll middle mouse button - Scrollen Sie die mittlere Maustaste + Mausrad drehen Gui::CADNavigationStyle - + Press left mouse button - Drücken Sie die linke Maustaste + Linke Maustaste drücken + + + + Press middle mouse button + Mittlere Maustaste drücken - Press middle mouse button - Drücken Sie die mittlere Maustaste + Press middle+left or middle+right button + Mittlere + linke Maustaste oder mittlere + rechte Maustaste drücken - Press middle+left or middle+right button - Halte die mittlere + linke oder die mittlere + rechte Maustaste gedrückt - - - Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down - Mittlere Maustaste scrollen, oder mittlere Maustaste gedrückt halten, dabei links oder rechts klicken und die Maus auf oder ab bewegen + Mausrad drehen oder mittlere Maustaste gedrückt halten und + dabei links oder rechts klicken und die Maus nach oben oder unten bewegen Gui::ContainerDialog - + &OK &OK - + &Cancel A&bbrechen @@ -627,7 +623,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Taskleiste @@ -711,47 +707,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Danksagungen - + FreeCAD would not be possible without the contributions of FreeCAD wäre nicht möglich ohne die Beiträge von - + Individuals Header for the list of individual people in the Credits list. Personen - + Organizations Header for the list of companies/organizations in the Credits list. Organisationen - - + + License Lizenz - + Libraries Bibliotheken - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Dieses Programm verwendet Open-Source-Komponenten, deren Urheberrechte und andere Eigentumsrechte ihren jeweiligen Eigentümern gehören: - + Collection Sammlung @@ -759,22 +755,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Cache-Verzeichnis - + The cache directory %1 exceeds the size of %2. Das Cache-Verzeichnis %1 überschreitet die Größe von %2. - + Do you want to clear it now? Soll es jetzt geleert werden? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Warnung: Bitte stellen Sie sicher, dass dies die einzige laufende %1-Instanz ist und dass keine Dokumente geöffnet sind, da dies zu Datenverlust führen kann! @@ -795,37 +791,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Kameraeinstellungen - + Orientation - Orientierung + Ausrichtung - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Aktuelle Ansicht @@ -848,7 +844,7 @@ while doing a left or right click and move the mouse up or down Offset - Versetzen + Versatz @@ -891,7 +887,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Befehle @@ -1116,12 +1112,12 @@ Wenn dies nicht ausgewählt ist, muss die Eigenschaft eindeutig benannt sein und Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Paket existiert bereits - + A preference pack with that name already exists. Do you want to overwrite it? Ein Einstellungspaket mit diesem Namen existiert bereits. Möchten Sie es überschreiben? @@ -1357,48 +1353,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Zum Suchen tippen... - + Icon Symbol - + Command Befehl - + Shortcut Tastaturkürzel - + Default Standard - + Name Name - + Title - Name + Überschrift - + All Alles - - + + none kein @@ -1406,8 +1402,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Werkzeugleisten @@ -1496,40 +1492,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Trennlinie> - + %1 module not loaded Modul %1 nicht geladen - + New toolbar Neue Symbolleiste - - + + Toolbar name: Name der Symbolleiste: - - + + Duplicated name Doppelter Namen - - + + The toolbar name '%1' is already used Der Name der Symbolleiste '%1' wird bereits verwendet - + Rename toolbar Symbolleiste umbenennen @@ -1542,19 +1538,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Benutzerdefiniert - + &Help &Hilfe - + &Close S&chließen @@ -1563,13 +1559,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Spaceball-Bewegung - + No Spaceball Present Kein Spaceball gefunden @@ -1577,27 +1573,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Spaceball-Knöpfe - + No Spaceball Present - Kein Spaceball gefunden + Kein Spaceball vorhanden - + Buttons Schaltflächen - + Reset Zurücksetzen - + Print Reference Referenz anzeigen @@ -1682,549 +1678,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Standard - + Aluminium Aluminium - + Brass Messing - + Bronze Bronze - + Copper Kupfer - + Chrome Chrom - + Emerald Smaragd - + Gold Gold - + Jade Jade - + Metalized Metallisiert - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidian - + Pewter Zinn - + Plaster Putz - + Plastic Kunststoff - + Ruby Rubin - + Satin Satin - + Shiny plastic Glänzender Kunststoff - + Silver Silber - + Steel Stahl - + Stone Stein Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Optionen - - - - Code lines will be numbered - Code-Zeilen werden nummeriert - - - - Enable line numbers - Zeilennummerierung - - - - The cursor shape will be a block - Die Form des Eingabezeigers wird ein Block sein - - - - Enable block cursor - Block-Eingabezeiger aktivieren - - - - Enable folding - Faltung zulassen - - - - Indentation - Einrückung - - - - Tab size: - Tabulator-Breite: - - - - Tabulator raster (how many spaces) - Tabulatorraster (Anzahl der Leerzeichen) - - - - Indent size: - Einrückbreite: - - - - How many spaces will be inserted when pressing <Tab> - Anzahl der eingefügten Leerzeichen beim Drücken von <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Durch Drücken von <Tab> wird ein Tabulator eingefügt, dessen Breite unter Tabulator-Breite definiert ist - - - - Keep tabs - Tabulator-Einrückung beibehalten - - - - Pressing <Tab> will insert amount of defined indent size - Durch Drücken von <Tab> wird die unter Einrückbreite definierte Anzahl von Leerzeichen eingefügt - - - - Insert spaces - Leerzeichen-Einrückung beibehalten - - - - Display items - Elemente anzeigen - - - - Color and font settings will be applied to selected type - Farbe und Schrift-Einstellungen werden auf den ausgewählten Typ angewendet - - - - Family: - Familie: - - - - Font family to be used for selected code type - Schriftfamilie, die für den ausgewählten Codetyp verwendet werden soll - - - - Size: - Größe: - - - - Font size to be used for selected code type - Schriftgröße für den ausgewählten Codetyp - - - - Color: - Farbe: - - - - Preview: - Vorschau: - Text source - - Gui::Dialog::DlgGeneral - - - General - Allgemein - - - - Language of the application's user interface - Sprache der Benutzeroberfläche der Anwendung - - - - Number format: - Zahlenformat: - - - - Operating system - Betriebssystem - - - - Selected language - Ausgewählte Sprache - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Wenn aktiviert, wird das Dezimaltrennzeichen des Ziffernblocks -durch das der Spracheinstellung entsprechende Trennzeichen ersetzt, -außer in der Python-Konsole und im Makro-Editor, wo immer ein -Punkt verwendet wird. - - - - Preference packs - Präferenz-Pakete - - - - Name - Name - - - - Type - Typ - - - - Load - Laden - - - - Import config... - Konfiguration importieren... - - - - Save new... - Neu speichern... - - - - Manage... - Verwalten... - - - - Revert... - Rückgängig... - - - - How many files should be listed in recent files list - Anzahl der zuletzt verwendeten Dateien (Historie) - - - - Enable tiled background - Gekachelten Hintergrund aktivieren - - - - The text cursor will be blinking - Der Text-Eingabezeiger blinkt - - - - Enable cursor blinking - Blinken des Eingabezeigers aktivieren - - - - Style sheet: - Formatvorlage: - - - - Language and number format - Sprache und Zahlenformat - - - - Language: - Sprache: - - - - Unit system: - Einheitensystem: - - - - Unit system that should be used for all parts of the application - Verwendete Einheiten für alle Teile der Anwendung - - - - Number of decimals: - Anzahl der Nachkommastellen: - - - - Number of decimals that should be shown for numbers and dimensions - Anzahl der Dezimalstellen, die für Zahlen und Maße angezeigt werden sollen - - - - Minimum fractional inch: - Kleinster Bruch bei Inch/Zoll: - - - - Minimum fractional inch to be displayed - Kleinster Bruch bei Inch/Zoll - - - - Substitute decimal separator - Dezimaltrennzeichen ersetzen - - - - Application - Applikation - - - - Style sheet how user interface will look like - Vorlage, wie die Benutzeroberfläche aussehen wird - - - - Size of toolbar icons: - Bildgröße in Symbolleisten: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Legt die Größe der Schaltflächen innerhalb der Symbolleisten fest. Sie können diese -entsprechend Ihrer Bildschirmgröße oder Ihrem persönlichen Geschmack anpassen. - - - - Tree view mode: - Baumstruktur-Ansichtsmodus: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Anpassung der Baumansicht im Panel (Neustart erforderlich). - -'ComboView': Kombinieren Sie Baum- und Eigenschaftsansicht in einem Fenster. -'TreeView and PropertyView': Aufteilung der Baum- und Eigenschaftsansicht in ein separates Fenster. -'Beides': Behalten Sie alle drei Panels und Sie können zwei Sätze der Baumansicht und der Objektansicht haben. - - - - Size of recent file list: - Anzahl der zuletzt benutzten Dateien: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Der Hintergrund des Hauptfensters (wenn kein Dokument geöffnet ist) besteht aus Kacheln eines speziellen Bildes. -Sehen Sie sich das FreeCAD Wiki für Details über das Bild an. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Wenn diese Option aktiviert ist zeigt FreeCAD den (kleinen) Startbildschirm an - - - - Enable splash screen at start up - Splashscreen beim Starten anzeigen - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Verwaltung von Einstellungspaketen - - - - Small (%1px) - Klein (%1px) - - - - Medium (%1px) - Mittel (%1px) - - - - Large (%1px) - Groß (%1px) - - - - Extra large (%1px) - Extra groß (%1px) - - - - Custom (%1px) - Benutzerdefiniert (%1px) - - - - Combo View - Combo-Ansicht - - - - TreeView and PropertyView - Baumansicht und Eigenschafteneditor - - - - Both - Beide - - - - No style sheet - Keine Formatvorlage - - - - Preference Pack Name - Einstellunspaketname - - - - Tags - Tags - - - - Apply - Übernehmen - - - - Apply the %1 preference pack - Anwenden des %1-Einstellungspakets - - - - Choose a FreeCAD config file to import - Wähle eine FreeCAD-Konfigurationsdatei zum Import aus - - - - File exists - Datei bereits vorhanden - - - - A preference pack with that name already exists. Overwrite? - Ein Einstellungspaket mit diesem Namen existiert bereits. Möchten Sie es überschreiben? - - Gui::Dialog::DlgInputDialog @@ -2240,8 +1810,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector Scene Inspector @@ -2333,71 +1903,71 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros Makros - + Read-only Nur Lesezugriff - + Macro file Makro-Datei - + Enter a file name, please: Geben Sie bitte einen Dateinamen an: - - - + + + Existing file Vorhandene Datei - + '%1'. This file already exists. '%1'.\n Diese Datei ist bereits vorhanden. - + Cannot create file Datei kann nicht erstellt werden - + Creation of file '%1' failed. Erstellen der Datei %1' fehlgeschlagen. - + Delete macro Makro löschen - + Do you really want to delete the macro '%1'? Möchten Sie das Makro '%1' wirklich löschen? - + Do not show again Nicht noch einmal anzeigen - + Guided Walkthrough Programm-Einführung - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2408,77 +1978,77 @@ Hinweis: Ihre Änderungen werden beim nächsten Wechsel im Arbeitsbereich wirksa - + Walkthrough, dialog 1 of 2 Lösungsansatz, Dialog 1 von 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Lösung: Füllen Sie fehlende Felder aus (optional) und klicken Sie auf Hinzufügen, dann schließen - + Walkthrough, dialog 1 of 1 Lösungsansatz, Dialog 1 von 1 - + Walkthrough, dialog 2 of 2 Lösungsansatz, Dialog 2 von 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Lösungsansatz: Klicken Sie auf den rechten Pfeil (->), dann Schließen. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Lösungsansatz: Klicken Sie auf Neu, dann rechten Pfeil (->), dann Schließen. - + Renaming Macro File Makrodatei umbenennen - - + + Enter new name: Neuen Namen eingeben: - - + + '%1' already exists. '%1' ist bereits vorhanden. - + Rename Failed Umbenennen fehlgeschlagen - + Failed to rename to '%1'. Perhaps a file permission error? Umbenennen nach '%1' fehlgeschlagen. Möglicherweise ein Dateizugriffsfehler? - + Duplicate Macro Makro kopieren - + Duplicate Failed Kopieren fehlgeschlagen - + Failed to duplicate to '%1'. Perhaps a file permission error? Fehler beim Kopieren nach '%1'. Vielleicht liegt ein Dateiberechtigungsfehler vor? @@ -2509,7 +2079,7 @@ Perhaps a file permission error? Stop - Beenden + Stop @@ -2520,39 +2090,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Makroaufzeichnung - + Specify first a place to save. Geben Sie vorher einen Speicherort an. - + The macro directory doesn't exist. Please, choose another one. Das Makro-Verzeichnis existiert nicht. Wählen Sie bitte ein anderes aus. - + Existing macro Bestehendes Makro - + The macro '%1' already exists. Do you want to overwrite? Das Makro '%1' existiert bereits. Wollen Sie es überschreiben? - + You have no write permission for the directory. Please, choose another one. Sie haben keine Schreibrechte für das Verzeichnis. Bitte wählen Sie ein anderes. - + Choose macro directory Wählen Sie ein Makro-Verzeichnis @@ -2625,12 +2195,12 @@ Perhaps a file permission error? HTML-Dateien - + Access denied Zugriff verweigert - + Access denied to '%1' Specify another directory, please. @@ -2685,7 +2255,7 @@ Wählen Sie bitte ein anderes Verzeichnis aus. &Close - S&chließen + &Schließen @@ -2759,7 +2329,7 @@ Wählen Sie bitte ein anderes Verzeichnis aus. Type - Typ + Art @@ -3031,36 +2601,36 @@ Wählen Sie bitte ein anderes Verzeichnis aus. Projektdatei - - + + Empty source Leerer Quellpfad - - + + No source is defined. Kein Quellpfad angegeben. - - + + Empty destination Leerer Zielpfad - - + + No destination is defined. Kein Zielpfad angegeben. - + Failed to extract project Projekt konnte nicht extrahiert werden - + Failed to create project Projekt konnte nicht erstellt werden @@ -3070,7 +2640,7 @@ Wählen Sie bitte ein anderes Verzeichnis aus. Link - Link + Verknüpfung @@ -3105,189 +2675,11 @@ Wählen Sie bitte ein anderes Verzeichnis aus. Clear - Löschen + Leeren Gui::Dialog::DlgReportView - - - Report view - Ausgabefenster - - - - Output - Ausgabe - - - - Normal messages will be recorded - Normale Meldungen werden aufgezeichnet - - - - Record normal messages - Normale Meldungen aufzeichnen - - - - Log messages will be recorded - Protokoll-Meldungen werden aufgezeichnet - - - - Record log messages - Protokoll-Meldungen ausgeben - - - - Warnings will be recorded - Warnungen werden aufgezeichnet - - - - Record warnings - Warnungen ausgeben - - - - Error messages will be recorded - Fehlermeldungen werden aufgezeichnet - - - - Record error messages - Fehlermeldungen ausgeben - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Wenn ein Fehler auftritt, wird der Berichts-Dialog mit dem Fehler angezeigt - - - - Show report view on error - Berichtsansicht bei Fehlern anzeigen - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Wenn eine Warnung auftritt wird der Berichts-Dialog mit der Warnung angezeigt - - - - Show report view on warning - Berichtsansicht bei Warnungen anzeigen - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Wenn eine normale Meldung aufgetreten ist, erscheint der Ausgabefenster-Dialog auf dem Bildschirm um die Meldung anzuzeigen - - - - Show report view on normal message - Berichtsansicht für normale Meldungen anzeigen - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Wenn eine Protokoll-Meldung aufgetreten ist, erscheint der Berichtsansicht-Dialog auf dem Bildschirm um die Protokoll-Meldung anzuzeigen - - - - Show report view on log message - Berichtsansicht für Protokoll-Meldungen anzeigen - - - - Include a timecode for each report - Zeitcode für jeden Bericht einfügen - - - - Include a timecode for each entry - Zeitcode für jeden Eintrag einfügen - - - - Colors - Farben - - - - Normal messages: - Normale Meldungen: - - - - Font color for normal messages in Report view panel - Schriftfarbe für normale Nachrichten in der Berichtsansicht - - - - Log messages: - Protokoll-Meldungen: - - - - Font color for log messages in Report view panel - Schriftfarbe für Protokoll-Meldungen in der Berichtsansicht - - - - Warnings: - Warnungen: - - - - Font color for warning messages in Report view panel - Schriftfarbe für Warnmeldungen in der Berichtsansicht - - - - Errors: - Fehlermeldungen: - - - - Font color for error messages in Report view panel - Schriftfarbe für Fehlermeldungen in der Berichtsansicht - - - - Python interpreter - Python-Interpreter - - - - Internal Python output will be redirected -from Python console to Report view panel - Die interne Python-Ausgabe wird -von der Python-Konsole in das Ausgabefenster umgeleitet - - - - Redirect internal Python output to report view - Interne Python-Meldungen auf Ausgabefenster umleiten - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Die internen Python-Fehlermeldungen werden -von der Python-Konsole in das Ausgabefenster umgeleitet - - - - Redirect internal Python errors to report view - Interne Python-Fehlermeldungen auf Ausgabefenster umleiten - Text source @@ -3314,7 +2706,7 @@ von der Python-Konsole in das Ausgabefenster umgeleitet Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Keine Auswahl im Dialog, kann Sicherungsdatei nicht laden @@ -3357,7 +2749,7 @@ von der Python-Konsole in das Ausgabefenster umgeleitet Hilfe - + Select a file Wählen Sie eine Datei aus @@ -3365,69 +2757,69 @@ von der Python-Konsole in das Ausgabefenster umgeleitet Gui::Dialog::DlgSettings3DView - + 3D View 3D-Viewer - + General Allgemein - + Main coordinate system will always be shown in lower right corner within opened files In geöffneten Dateien wird das Hauptkoordinatensystem immer in der unteren rechten Ecke angezeigt - + Show coordinate system in the corner Koordinatensystem in Ecke anzeigen - + Relative size : Relative Größe : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Größe der Darstellung des Hauptkoordinatensystems in der Ecke -- in % von der Höhe/Breite des Ansichtsfensters - + Axis cross will be shown by default at file opening or creation Achsenkreuz wird standardmäßig beim Öffnen oder Erstellen einer Datei angezeigt - + Show axis cross by default Achsenkreuz standardmäßig anzeigen - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Die benötigte Zeit für die letzte Operation und die resultierende Bildrate wird in der linken unteren Ecke in geöffneten Dateien angezeigt - + Show counter of frames per second Anzeigen der Datenrate pro Sekunde - + Rendering Rendern - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3436,22 +2828,22 @@ Changing this option requires a restart of the application. Das Ändern dieser Option erfordert einen Neustart der Anwendung. - + Use software OpenGL Software OpenGL verwenden - + Use OpenGL VBO (Vertex Buffer Object) OpenGL VBO (Vertex Buffer Object) verwenden - + Render cache Render Cache-Speicher - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3470,7 +2862,7 @@ im Grafikspeicher und nicht im Systemspeicher liegen und somit direkt durch die Hinweis: Manchmal kann diese Funktion zu unerwarteten Problemen führen, die von grafischen Anomalien bis hin zu GPU-Absturzfehlern reichen. Wenn Sie Unterstützung in freeCAD-Foren suchen, sollten Sie darauf hinweisen, dass Sie diese Funktion aktiviert haben. - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3486,92 +2878,92 @@ Es stehen 3 Optionen zur Verfügung: nur am Wurzelknoten des Szenegraphen cachen. Dies bietet die schnellste Rendering-Geschwindigkeit aber eine langsamere Reaktion auf Szenenänderungen. - + Auto Automatisch - + Distributed Verteilt - + Centralized Zentralisiert - + Anti-Aliasing Kantenglättung - + What kind of multisample anti-aliasing is used Welche Art von Multisample Anti-Aliasing wird verwendet - + None Kein - + Line Smoothing Linie glätten - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Transparente Objekte: - + Render types of transparent objects Renderarten für transparente Objekte - + One pass Einzelner Render-Durchgang - + Backface pass Zusätzlicher Rückseiten-Render-Durchgang - + Marker size: Markergröße: - - Size of vertices in the Sketcher workbench - Größe der Punkte im Sketcher-Arbeitsbereich + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Augenabstand für Stereo-Modi - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3579,48 +2971,48 @@ bounding box size of the 3D object that is currently displayed. Der angegebene Wert ist ein Faktor, der mit der Größe des Hüllquaders des gerade angezeigten 3D-Objekts multipliziert wird. - + Backlight is enabled with the defined color Die Hintergrundbeleuchtung wird mit der definierten Farbe aktiviert - - + + Backlight color Farbe der Hintergrundbeleuchtung - + Intensity Intensität - + Intensity of the backlight Intensität der Hintergrundbeleuchtung - + Camera type Kameratyp - + Objects will appear in a perspective projection Objekte werden in einer perspektivischen Projektion angezeigt - + Perspective renderin&g Perspektivische Darstellun&g - + Objects will be projected in orthographic projection Objekte werden in orthogonaler Projektion abgebildet - + Or&thographic rendering Or&thogonale Darstellung @@ -3632,42 +3024,42 @@ Der angegebene Wert ist ein Faktor, der mit der Größe des Hüllquaders des ger Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Kantenglättung - + Open a new viewer or restart %1 to apply anti-aliasing changes. Öffnen Sie ein neues Fenster oder starten Sie %1 neu, um Änderungen an der Kantenglättung zu übernehmen. @@ -3675,77 +3067,77 @@ Der angegebene Wert ist ein Faktor, der mit der Größe des Hüllquaders des ger Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Cache-Verzeichnis - + Location: Ort: - + Check periodically at program start: Beim Programmstart periodisch überprüfen: - + Always Immer - + Daily Täglich - + Weekly Wöchentlich - + Monthly Monatlich - + Yearly Jährlich - + Never Nie - + Cache size limit: Limit der Cache-Größe: - + Check now... Jetzt prüfen... - + Notify the user if the cache size exceeds the specified limit Den Benutzer benachrichtigen, wenn die Cache-Größe den angegebenen Grenzwert überschreitet - + Unknown Unbekannt - + Current cache size: %1 Aktuelle Cache-Größe: %1 @@ -3906,12 +3298,12 @@ neben dem Farbbalken Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Falscher Parameter - + The maximum value must be higher than the minimum value. Der Maximalwert muss größer als der Minimalwert sein. @@ -3919,182 +3311,182 @@ neben dem Farbbalken Gui::Dialog::DlgSettingsDocument - + Document Dokument - + General Allgemein - + The application will create a new document when started Die Anwendung erstellt beim Start ein neues Dokument - + Create new document at start up Neues Dokument beim Start erzeugen - + Document save compression level (0 = none, 9 = highest, 3 = default) Kompressionsstufe beim Speichern des Dokuments (0 = keine, 9 = höchste, 3 = standardmäßige Kompression) - + Compression level for FCStd files Komprimierungsstufe für FCStd-Dateien - + All changes in documents are stored so that they can be undone/redone Alle Änderungen in Dokumenten werden so gespeichert, dass sie rückgängig gemacht werden können - + Using Undo/Redo on documents Rückgängigmachen/Wiederholen in Dokumenten verwenden - + Maximum Undo/Redo steps Maximale Rückgängigmachen/Wiederholen-Schritte - + How many Undo/Redo steps should be recorded Wie viele Rückgängig/Wiederholungsschritte aufgezeichnet werden sollen - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Erlaube dem Benutzer die Neuberechnung des Dokuments durch Drücken von ESC abzubrechen. Diese Funktion kann die Neuberechnungszeit leicht erhöhen. - + Allow aborting recomputation Abbrechen der Neuberechnung erlauben - + Storage Speichern - + Saving transactions (Auto-save) Transaktionen speichern (Automatisches Speichern) - + Discard saved transaction after saving document Transaktionen nach Speichern von Dokument verwerfen - + If there is a recovery file available the application will automatically run a file recovery when it is started. Wenn eine Wiederherstellungsdatei verfügbar ist, wird die Anwendung automatisch eine Wiederherstellung der Datei starten, wenn sie gestartet wird. - + Run AutoRecovery at startup Automatische Wiederherstellung beim Start ausführen - + How often a recovery file is written Wie oft eine Wiederherstellungsdatei geschrieben wird - + Save AutoRecovery information every AutoWiederherstellen-Informationen speichern alle - + A thumbnail will be stored when document is saved Ein Vorschaubild wird gespeichert, wenn das Dokument gespeichert wird - + Save thumbnail into project file when saving document Beim Speichern des Dokumentes Miniaturansicht in Projektdatei speichern - + Size Größe - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Legt die Größe der im Dokument gespeicherten Miniaturansicht fest. Übliche Größen sind 128, 256 und 512 - + The program logo will be added to the thumbnail Das Programmlogo wird dem Vorschaubild hinzugefügt - + Add the program logo to the generated thumbnail Programmlogo in Miniaturbild hinzufügen - + How many backup files will be kept when saving document Wie viele Sicherungsdateien werden beim Speichern des Dokuments aufbewahrt - + Maximum number of backup files to keep when resaving document Maximale Anzahl an Sicherungsdateien, die behalten werden, wenn das Dokument gespeichert wird - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Sicherungsdateien erhalten die Endung '.FCbak' und Dateinamen erhalten Datumssuffix im angegebenen Format - + Use date and FCBak extension Datums- und FCBak Erweiterung verwenden - + Date format Datumsformat - + Document objects Dokumentobjekte - + Allow objects to have same label Objekte mit gleicher Bezeichnung zulassen - + Allow duplicate object labels in one document Doppelte Objektbezeichnungen in einem Dokument zulassen - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4107,22 +3499,22 @@ Ein teilweise geladenes Dokument kann nicht bearbeitet werden. Doppelklicken Sie Symbol in der Baumansicht, um es vollständig neu zu laden. - + Disable partial loading of external linked objects Deaktiviere partielles Laden von externen verknüpften Objekten - + Authoring and License Autorenschaft und Lizenz - + Author name Name des Autors - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4131,32 +3523,32 @@ Anonymisiert bleiben leer. Sie können auch das Formular verwenden: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Das Feld 'Letzte Änderung von' wird beim Speichern der Datei auf den angegebenen Autor gesetzt - + Set on save Beim Speichern setzen - + Company Firma - + Default company name to use for new files Standard-Firmenname für neue Dateien - + Default license Standard Lizenz - + Default license for new documents Standard-Lizenz für neue Dokumente @@ -4226,12 +3618,12 @@ Sie können auch das Formular verwenden: John Doe <john@doe.com>Andere - + License URL Lizenz-URL - + URL describing more about the license URL, die mehr über die Lizenz beschreibt @@ -4239,104 +3631,21 @@ Sie können auch das Formular verwenden: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Das Format des zu verwendenden Datums. - + Default Standard - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Text - - - - Bookmark - Lesezeichen - - - - Breakpoint - Haltepunkt - - - - Keyword - Schlüsselwort - - - - Comment - Kommentieren - - - - Block comment - Blockkommentar - - - - Number - Ziffer - - - - String - Zeichenkette - - - - Character - Zeichen - - - - Class name - Klassenname - - - - Define name - Define-Name - - - - Operator - Operator - - - - Python output - Pythonausgabe - - - - Python error - Pythonfehler - - - - Current line highlight - Aktuelle Zeile hervorheben - - - - Items - Elemente - - Gui::Dialog::DlgSettingsImage @@ -4517,122 +3826,122 @@ Sie können auch das Formular verwenden: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Makro - + General macro settings Allgemeine Makro-Einstellungen - + Variables defined by macros are created as local variables Von Makros definierte Variablen werden als lokale Variablen erstellt - + Run macros in local environment Makros in lokaler Umgebung ausführen - + Macro recording settings Einstellungen für Makroaufzeichnung - + Macro path Makro-Zielpfad - + The directory in which the application will search for macros Das Verzeichnis, in dem die Anwendung nach Makros sucht - + Gui commands GUI-Befehle - + Recorded macros will also contain user interface commands Aufgenommene Makros enthalten auch Benutzeroberflächenbefehle - + Record GUI commands GUI-Befehle aufnehmen - + Recorded macros will also contain user interface commands as comments Aufgenommene Makros enthalten auch Benutzeroberflächenbefehle als Kommentare - + Record as comment Aufnahme als Kommentar behandeln - + Logging Commands Befehle protokollieren - + Commands executed by macro scripts are shown in Python console Befehle, die von Makroskripten ausgeführt werden, werden in der Python-Konsole angezeigt - + Show script commands in python console Skript-Befehle in Python-Konsole anzeigen - + Log all commands issued by menus to file: Alle Menübefehle in Datei protokollieren: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Liste der aktuellen Makros - + Size of recent macro list Länge der Liste der aktuellen Makros - + How many macros should be listed in recent macros list Anzahl der Makros in der aktuellen Makroliste - + Keyboard shortcut count Anzahl der Tastenkombinationen - + How many recent macros should have shortcuts Wie viele der aktuellen Makros sollten Tastenkombinationen haben - + Keyboard Modifiers Tastaturmodifikatoren - + Keyboard modifiers, default = Ctrl+Shift+ Tastaturmodifikatoren, Standard = Strg + Shift @@ -4640,130 +3949,130 @@ Sie können auch das Formular verwenden: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigation - + Navigation cube Steuerwürfel - + Steps by turn Anzahl der Schritte für eine komplette Drehung - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Anzahl der Schritte bei Verwendung von Pfeilen (Standard = 8 : Schrittwinkel = 360/8 = 45 deg) - + Corner Ecke - + Corner where navigation cube is shown Ecke, in welcher der Navigationswürfel angezeigt wird - + Top left Oben links - + Top right Oben rechts - + Bottom left Unten links - + Bottom right Unten rechts - + Rotates to nearest possible state when clicking a cube face Dreht zum nächstmöglichen Zustand beim Klicken auf eine Würfel Seite - + Rotate to nearest Drehen zum nächstgelegenen - + Font name: Schriftname: - + Font name of the navigation cube Schriftartname des Navigationswürfels - + Default Standard - + Cube size Würfelgröße - + Size of the navigation cube Größe des Navigationswürfels - + Color Farbe - + Base color for all elements Grundfarbe für alle Elemente - + 3D Navigation 3D-Navigation - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Listet die Konfiguration der Maustaste für jede ausgewählte Navigationseinstellung auf. Wählen Sie eine Einstellung aus und drücken Sie dann die Schaltfläche, um die Einstellungen anzuzeigen. - + Mouse... Maus... - + Navigation settings set Die Einstellungen der Navigationsleiste wurden gespeichert - + Orbit style Orbit Stil - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4774,116 +4083,116 @@ Drehtisch: das Teil wird um die z-Achse gedreht (mit eingeschränkten Achsen). freier Drehtisch: Das Teil wird um die z-Achse gedreht. - + Turntable Drehscheibe - + Trackball Trackball - + Free Turntable Freie Drehscheibe - + Rotation mode Art der Drehung - + Rotations in 3D will use current cursor position as center for rotation Drehen in 3D wird die aktuelle Cursorposition als Drehmittelpunkt verwenden - + Window center Um die Fenstermitte - + Drag at cursor Um den Mauszeiger - + Object center Um das Objektzentrum - + Default camera orientation Standard-Kameraausrichtung - + Default camera orientation when creating a new document or selecting the home view Standard-Kameraorientierung für neue Dokumente oder bei Auswahl der Home-Ansicht - + Camera zoom Kamera-Zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Legt den Kamera-Zoom für neue Dokumente fest. Der Wert ist der Durchmesser der Kugel, der auf den Bildschirm passt. - + mm mm - + Enable animated rotations Animierte Drehungen aktivieren - + Enable animation Animation zulassen - + Zoom operations will be performed at position of mouse pointer Zoom-Operationen werden an der Position des Mauszeigers ausgeführt - + Zoom at cursor Zoom an Cursorposition - + Zoom step Zoom-Stufe - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Wie stark vergrößert werden soll. Zoom-Schritt von '1' bedeutet für jeden Zoom-Schritt einen Faktor von 7,5. - + Direction of zoom operations will be inverted Richtung der Zoom-Operationen wird umgekehrt - + Invert zoom Zoom umkehren - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4892,57 +4201,67 @@ Betrifft nur den Gestennavigationsstil. Das Neigen der Maus wird durch diese Einstellung nicht deaktiviert. - + Disable touchscreen tilt gesture Deaktiviere die Touchscreen Neige-Geste - + + Show the rotation center when dragging. + Drehzentrum beim Ziehen anzeigen. + + + + Enable rotation center indication + Anzeige des Drehzentrums aktivieren + + + Isometric Isometrisch - + Dimetric Dimetrisch - + Trimetric Trimetrisch - + Top Draufsicht - + Front Vorderansicht - + Left Seitenansicht von links - + Right Seitenansicht von rechts - + Rear Rückansicht - + Bottom Untersicht - + Custom Benutzerdefiniert @@ -4950,44 +4269,44 @@ Das Neigen der Maus wird durch diese Einstellung nicht deaktiviert. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python-Konsole - + Settings Einstellungen - + Words will be wrapped when they exceed available horizontal space in Python console Zeilen werden in der Python-Konsole automatisch umbrochen, wenn sie die verfügbare Zeilenlänge überschreiten - + Enable word wrap Wortumbruch aktivieren - + The cursor shape will be a block Die Form des Eingabezeigers wird ein Block sein - + Enable block cursor Block-Eingabezeiger aktivieren - + Saves Python history across sessions Speichert die Python-Historie sitzungsübergreifend - + Save history Verlauf speichern @@ -4995,17 +4314,37 @@ wenn sie die verfügbare Zeilenlänge überschreiten Gui::Dialog::DlgSettingsSelection - + Selection Auswahl - + + Enable preselection, highlighted with specified color + Aktiviert die Vorauswahl, die durch die angegebene Farbe hervorgehoben wird + + + + Enable preselection + Vorauswahl aktivieren + + + + Enable selection, highlighted with specified color + Aktiviert die Auswahl, die durch die angegebene Farbe hervorgehoben wird + + + + Enable selection + Auswahl aktivieren + + + Pick radius (px): Auswahlradius (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5013,27 +4352,27 @@ Larger value eases to pick things, but can make small features impossible to sel Größere Werte erleichtern das Selektieren von Dingen, können aber die Auswahl kleiner Objekte unmöglich machen. - + Auto switch to the 3D view containing the selected item Automatischer Wechsel zur 3D-Ansicht mit dem ausgewählten Element - + Auto expand tree item when the corresponding object is selected in 3D view Baum automatisch ausdehnen, wenn das zugehörige Objekt in der 3D-Ansicht ausgewählt wird - + Preselect the object in 3D view when mouse over the tree item Vorauswählen des Objekts in 3D -ansicht, wenn die Maus über das Baumelement fährt - + Record selection in tree view in order to go back/forward using navigation button Auswahl in der Baumansicht aufzeichnen, um mit der Navigationstaste zurück/vor zu gehen - + Add checkboxes for selection in document tree Kontrollkästchen für die Auswahl im Dokumentenbaum hinzufügen @@ -5041,147 +4380,122 @@ Größere Werte erleichtern das Selektieren von Dingen, können aber die Auswahl Gui::Dialog::DlgSettingsViewColor - + Colors Farben - - Selection - Auswahl - - - - Enable preselection and highlight by specified color - Vorauswahl und Hervorhebung durch bestimmte Farbe aktivieren - - - - Enable preselection highlighting - Hervorhebung von Vorauswahl aktivieren - - - - Enable selection highlighting and use specified color - Aktivieren der Auswahlhervorhebung und Verwenden der angegebene Farbe - - - - Enable selection highlighting - Hervorhebung von Auswahl aktivieren - - - + Background color for the model view Hintergrundfarbe für die Modellansicht - + Background color Hintergrundfarbe - - + + Background will have selected color Der Hintergrund wird die ausgewählte Farbe haben - + Simple color Einfache Farbe - - + + Background will have selected color gradient Der Hintergrund wird den ausgewählten Farbverlauf haben - + Linear gradient Linearer Verlauf - + Radial gradient Radialer Verlauf - - + + Top: Oben: - - + + Middle: Mitte: - + Switches the colors of the gradient Schaltet die Farben des Gradienten um - + Switch Auswahl - + Color gradient will get selected color as middle color Farbverlauf übernimmt ausgewählte Farbe als Mittelfarbe - + Middle color Mittlere Farbe - - + + Bottom: Unten: - + Tree view Baumansicht - + Object being edited Objekt in Bearbeitung - + Background color for objects in tree view that are currently edited Hintergrundfarbe für Objekte in der Baumansicht, die gerade bearbeitet werden - + Active container Aktiver Container - + Background color for active containers in tree view Hintergrundfarbe für aktive Container in der Baumansicht - + Central: Farbe in der Mitte: - + Midway: Farbe in der Mitte: - + End: Ende: @@ -5293,12 +4607,12 @@ Das Präferenzsystem ist das in den allgemeinen Einstellungen festgelegte System Gui::Dialog::DlgUnitsCalculator - + unknown unit: unbekannte Einheit: - + unit mismatch Einheit stimmt nicht überein @@ -5306,7 +4620,7 @@ Das Präferenzsystem ist das in den allgemeinen Einstellungen festgelegte System Gui::Dialog::DockablePlacement - + Placement Positionierung @@ -5323,7 +4637,7 @@ Das Präferenzsystem ist das in den allgemeinen Einstellungen festgelegte System Press 'Start Recovery' to start the recovery process of the document listed below. The 'Status' column shows whether the document could be recovered. - Drücken Sie "Wiederherstellung starten" zum Starten des Wiederherstellungsprozesses der unten aufgeführten Dokumente. Die Spalte "Status" zeigt an, ob das Dokument wiederhergestellt werden konnte. + "Wiederherstellung starten" drücken, um den Wiederherstellungsprozess des unten aufgeführten Dokuments zu starten. Die Spalte "Status" zeigt an, ob das Dokument wiederhergestellt werden konnte. @@ -5356,60 +4670,60 @@ The 'Status' column shows whether the document could be recovered. Noch nicht wiederhergestellt - + Unknown problem occurred Unbekanntes Problem ist aufgetreten - - + + Failed to recover Fehler beim Wiederherstellen - + Successfully recovered Erfolgreich wiederhergestellt - + Finish Fertig - - + + Delete Löschen - - + + Cleanup Bereinigen - + Are you sure you want to delete the selected transient directories? Sind Sie sicher, dass Sie die ausgewählten temporären Verzeichnisse löschen möchten? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Wenn die ausgewählten temporären Verzeichnisses gelöscht werden, können Sie danach keine Dateien wiederherstellen. - + Are you sure you want to delete all transient directories? Sind Sie sicher, dass Sie alle temporären Verzeichnisse löschen möchten? - + When deleting all transient directories you won't be able to recover any files afterwards. Wenn alle temporären Verzeichnisse gelöscht werden, können Sie anschließend keine Dateien wiederherstellen. - + Transient directories deleted. Temporäre Verzeichnisse gelöscht. @@ -5533,7 +4847,7 @@ The 'Status' column shows whether the document could be recovered. Symbol-Ordner - + Add icon folder Symbol-Ordner hinzufügen @@ -5546,12 +4860,12 @@ The 'Status' column shows whether the document could be recovered. Hinzufügen oder Entfernen von benutzerdefinierten Symbol-Ordnern - + Remove folder Ordner entfernen - + Removing a folder only takes effect after an application restart. Das Entfernen eines Ordners wird erst wirksam nach einem Anwendungs-Neustart. @@ -5621,79 +4935,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Erweitern - + Add sub-group Gruppe hinzufügen - - + + Remove group Gruppe entfernen - + Rename group Gruppe umbenennen - + Export parameter Parameter exportieren - + Import parameter Parameter importieren - + Collapse Reduzieren - + Do you really want to remove this parameter group? Möchten Sie diese Parametergruppe wirklich entfernen? - + Existing sub-group Bereits vorhandene Gruppe - + The sub-group '%1' already exists. Diese Gruppe '%1' ist bereits vorhanden. - + Export parameter to file Parameter in Datei schreiben - + Import parameter from file Parameter aus Datei lesen - + Import Error Fehler bei Importieren - + Reading from '%1' failed. Lesen von '%1' fehlgeschlagen. @@ -5701,65 +5015,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Wert ändern - + Remove key Schlüssel entfernen - + Rename key Schlüssel umbenennen - + New Neu - + New string item Neue Zeichenkette - + New float item Neuer Gleitkommawert - + New integer item Neue Ganzzahl - + New unsigned item Neue positive Ganzzahl - + New Boolean item Neuer Boolescher Wert - - - - - + + + + + Existing item Bereits vorhandener Schlüssel - - - - - + + + + + The item '%1' already exists. Der Schlüssel '%1' ist bereits vorhanden. @@ -5905,17 +5219,17 @@ The 'Status' column shows whether the document could be recovered. Übernehmen - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Bitte wählen Sie 1, 2 oder 3 Punkte, bevor Sie auf diese Schaltfläche klicken. Ein Punkt kann sich auf einem Scheitelpunkt, einer Fläche oder einer Kante befinden. Der verwendete Punkt auf einer Fläche oder Kante ist derjenige Punkt, der sich an der Mausposition entlang der Fläche oder Kante befindet. Wenn 1 Punkt ausgewählt ist, wird dieser als Drehpunkt verwendet. Wenn zwei Punkte ausgewählt werden, ist der Mittelpunkt zwischen ihnen der Drehpunkt und falls erforderlich, wird eine neue benutzerdefinierte Achse erstellt. Wenn 3 Punkte ausgewählt werden, wird der erste Punkt zum Drehpunkt und liegt auf dem Vektor, der senkrecht zu der durch die 3 Punkte definierten Ebene liegt. In der Berichtansicht werden einige Entfernungs- und Winkelinformationen bereitgestellt, die beim Ausrichten von Objekten hilfreich sein können. Wenn Sie bei gedrückter Umschalttaste + klicken, wird der entsprechende Abstand oder Winkel in die Zwischenablage kopiert. - + Incorrect quantity Falsche Menge - + There are input fields with incorrect input, please ensure valid placement values! Es gibt Eingabefelder mit falschem Inhalt, bitte stellen Sie die Gültigkeit der Koordinaten-Werte sicher! @@ -5923,12 +5237,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Schaltfläche - + Command Befehl @@ -5948,7 +5262,7 @@ The 'Status' column shows whether the document could be recovered. Password: - Kennwort: + Passwort: @@ -5992,17 +5306,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Szenengraph - + Name Name - + Nodes Knoten @@ -6058,16 +5372,16 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Abbrechen - - + + Transform - Transformieren + Transformierung @@ -6122,7 +5436,7 @@ The 'Status' column shows whether the document could be recovered. All - Alles + Alle @@ -6164,13 +5478,13 @@ dieses Dialogs ausgewählt wurden - + Model Modell - + Tasks Aufgaben @@ -6178,7 +5492,7 @@ dieses Dialogs ausgewählt wurden Gui::DockWnd::PropertyDockView - + Property View Eigenschaften-Ansicht @@ -6186,82 +5500,82 @@ dieses Dialogs ausgewählt wurden Gui::DockWnd::ReportOutput - + Options Optionen - + Display message types Nachrichtenarten anzeigen - - + + Normal messages Normale Meldungen - - + + Log messages Protokoll-Meldungen - - + + Warnings Warnungen - - + + Errors Fehler - - + + Critical messages Kritische Meldungen - + Show Report view on - Zeige Berichtsansicht auf + Ausgabefenster anzeigen für - + Redirect Python output Python-Ausgabe umleiten - + Redirect Python errors Python-Fehler umleiten - + Go to end Go to end - + Clear - Löschen + Leeren - + Save As... Speichern unter... - + Save Report Output Ausgabe speichern - + Plain Text Files Reine Textdateien @@ -6270,13 +5584,13 @@ dieses Dialogs ausgewählt wurden Gui::DockWnd::ReportView - + Output Ausgabe - + Python console Python-Konsole @@ -6314,72 +5628,72 @@ dieses Dialogs ausgewählt wurden Liste ausgewählter Objekte - + Select only Nur auswählen - + Selects only this object Wählt nur dieses Objekt - + Deselect Auswahl aufheben - + Deselects this object Hebt die Auswahl dieses Objekts auf - + Zoom fit Zoom anpassen - + Selects and fits this object in the 3D window Wählt dieses Objekt aus und passt es an das 3D-Fenster an - + Go to selection Gehe zu Selektion - + Selects and locates this object in the tree view Auswahl und Auffinden dieses Objektes in der Baumansicht - + Mark to recompute Markieren, um neu zu berechnen - + Mark this object to be recomputed Markiere dieses Objekt um es neu zu berechnen - + To python console Zur Python-Konsole - + Reveals this object and its subelements in the python console. Zeigt dieses Objekts und seine Unterelemente in der Python-Konsole. - + Duplicate subshape Unterform duplizieren - + Creates a standalone copy of this subshape in the document Erstellt eine eigenständige Kopie dieser Unterform in diesem Dokument @@ -6392,7 +5706,7 @@ dieses Dialogs ausgewählt wurden Applikation - + Labels & Attributes Bezeichnungen & Eigenschaften @@ -6441,27 +5755,27 @@ Sollen die Änderungen gespeichert werden? PDF-Datei - + untitled[*] Unbenannt[*] - + - Editor - Editor - + %1 chars removed %1 Zeichen gelöscht - + %1 chars added %1 Zeichen hinzugefügt - + Formatted Formatiert @@ -6485,13 +5799,13 @@ Sollen die Änderungen gespeichert werden? Gui::FileChooser - - + + Select a file Wählen Sie eine Datei aus - + Select a directory Wählen Sie ein Verzeichnis aus @@ -6499,13 +5813,13 @@ Sollen die Änderungen gespeichert werden? Gui::FileDialog - + Save as Speichern unter - - + + Open Öffnen @@ -6513,12 +5827,12 @@ Sollen die Änderungen gespeichert werden? Gui::FileOptionsDialog - + Extended Erweitert - + All files (*.*) Alle Dateien (*.*) @@ -6526,27 +5840,27 @@ Sollen die Änderungen gespeichert werden? Gui::Flag - + Top left Oben links - + Bottom left Unten links - + Top right Oben rechts - + Bottom right Unten rechts - + Remove Entfernen @@ -6554,97 +5868,97 @@ Sollen die Änderungen gespeichert werden? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Tippen Sie auf den Bildschirm, oder klicken sie mit der linken Maustaste. - + Drag screen with two fingers OR press right mouse button. - Ziehen Sie mit 2 Fingern über den Bildschirm oder drücken Sie die rechte Maustaste. + Bildschirm mit zwei Fingern ziehen ODER die rechte Maustaste drücken. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. - Ziehen Sie den Bildschirm mit einem Finger ODER drücken Sie die linke Maustaste. Im Sketcher && anderen Bearbeitungsmodi halten Sie zusätzlich die Alt-Taste. + Bildschirm mit einem Finger ziehen ODER die linke Maustaste drücken. Im Sketcher && anderen Bearbeitungsmodi zusätzlich die Alt-Taste halten. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. - Kneifen (zwei Finger auf den Bildschirm setzen und auseinanderziehen/zusammenführen) ODER Drehen des Mausrades ODER Bild hoch/Bild runter auf der Tastatur. + Kneifen (zwei Finger auf den Bildschirm setzen und auseinanderziehen oder zusammenführen) ODER Mausrad drehen ODER Bild auf/Bild ab auf der Tastatur. Gui::GraphvizView - + Graphviz not found Graphviz nicht gefunden - + Graphviz couldn't be found on your system. Graphviz konnte auf Ihrem System nicht gefunden werden. - + Read more about it here. Lesen Sie mehr dazu hier. - + Do you want to specify its installation path if it's already installed? Möchten Sie seinen Installationsort angeben, falls es bereits installiert wurde? - + Graphviz installation path Graphviz-Installationspfad - + Graphviz failed Graphviz ist fehlgeschlagen - + Graphviz failed to create an image file Graphviz konnte keine Bild-Datei erstellen - + PNG format PNG-Format - + Bitmap format Bitmap-Format - + GIF format GIF-Format - + JPG format JPG-Format - + SVG format SVG-Format - - + + PDF format PDF-Format - - + + Export graph Graphik exportieren @@ -6652,12 +5966,12 @@ Sollen die Änderungen gespeichert werden? Gui::InputField - + Edit Bearbeiten - + Save value Wert speichern @@ -6665,30 +5979,30 @@ Sollen die Änderungen gespeichert werden? Gui::InventorNavigationStyle - + Press CTRL and left mouse button - Drücken Sie STRG und die linke Maustaste + STRG- (CTRL-) Taste und linke Maustaste drücken + + + + Press middle mouse button + Mittlere Maustaste drücken + + + + Press left mouse button + Linke Maustaste drücken - Press middle mouse button - Drücken Sie die mittlere Maustaste - - - - Press left mouse button - Drücken Sie die linke Maustaste - - - Scroll middle mouse button - Scrollen Sie die mittlere Maustaste + Mausrad drehen Gui::LabelEditor - + List Liste @@ -6696,66 +6010,66 @@ Sollen die Änderungen gespeichert werden? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Benutzerdefiniert... - + - - + + Wrong direction Falsche Richtung - + - - + + Direction must not be the null vector Richtungsvektor darf nicht der Nullvektor sein @@ -6763,22 +6077,22 @@ Sollen die Änderungen gespeichert werden? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Richtung: @@ -6786,17 +6100,17 @@ Sollen die Änderungen gespeichert werden? Gui::MacroCommand - + Macros Makros - + Macro file doesn't exist Makro-Datei existiert nicht - + No such macro file: '%1' Keine solche Makrodatei: "%1" @@ -6804,63 +6118,73 @@ Sollen die Änderungen gespeichert werden? Gui::MainWindow - - + + Dimension Abmessung - + Ready Bereit - + Help addon needed! Hilfe-Erweiterung benötigt! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Das Hilfesystem von %1 wird nun durch die Erweiterung "Hilfe" verwaltet. Es kann einfach über den Erweiterungsmanager installiert werden - + Open Addon Manager Erweiterungsmanager öffnen - + Close All Alles schließen - - + + Toggles this toolbar Symbolleiste ein-/ausschalten - - + + Toggles this dockable window Andockbares Fenster ein-/ausschalten - - + + WARNING: This is a development version. + ACHTUNG: Dies ist eine Entwicklungsversion. + + + + Please do not use in a production environment. + Bitte nicht in einer Produktionsumgebung verwenden. + + + + Unsaved document Nicht gespeichertes Dokument - + The exported object contains external link. Please save the documentat least once before exporting. Das exportierte Objekt enthält einen externen Link. Bitte speichern Sie das Dokument mindestens einmal vor dem Exportieren. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Um zu externen Objekten zu verlinken, muss das Dokument mindestens einmal gespeichert werden. @@ -6870,63 +6194,63 @@ Möchten Sie das Dokument jetzt speichern? Gui::ManualAlignment - - - - - + + + + + Manual alignment Manuelle Ausrichtung - + The alignment is already in progress. Die Ausrichtung wird bereits ausgeführt. - + Alignment[*] Ausrichtung [*] - + Please, select at least one point in the left and the right view Bitte mindestens einen Punkt in der linken und rechten Ansicht auswählen - + Please, select at least %1 points in the left and the right view Bitte mindestens %1 Punkte in der linken und rechten Ansicht auswählen - + Please pick points in the left and right view Bitte Punkte in der linken und rechten Ansicht auswählen - + The alignment has finished Ausrichtung abgeschlossen - + The alignment has been canceled Ausrichtung abgebrochen - - + + Too few points picked in the left view. At least %1 points are needed. Zu wenige Punkte in der linken Ansicht ausgewählt. Mindestens %1 Punkte werden benötigt. - - + + Too few points picked in the right view. At least %1 points are needed. Zu wenige Punkte in der rechten Ansicht ausgewählt. Mindestens %1 Punkte werden benötigt. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6935,58 +6259,58 @@ In der linken Ansicht wurden %1 Punkte ausgewählt. In der rechten Ansicht wurden %2 Punkte ausgewählt. - + Try to align group of views Versuche Ansichtsgruppen auszurichten - + The alignment failed. How do you want to proceed? Das Ausrichten ist fehlgeschlagen. Wie möchten die fortfahren? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Unterschiedliche Anzahl von Punkten in der linken und rechten Ansicht ausgewählt. In der linken Ansicht wurden %1 Punkte ausgewählt. In der rechten Ansicht wurden %2 Punkte ausgewählt. - + Point_%1 Punkt_%1 - + Point picked at (%1,%2,%3) Punkte ausgewählt an (%1,%2,%3) - + No point was found on model Auf dem Modell wurde kein Punkt gefunden - + No point was picked Es wurde kein Punkt ausgewählt - + &Align &Ausrichten - + &Remove last point Letzten Punkt entfe&rnen - + &Cancel - A&bbrechen + &Abbrechen - + &Synchronize views Ansichten &synchronisieren @@ -6994,30 +6318,31 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Tippen Sie auf den Bildschirm, oder klicken sie mit der linken Maustaste. - + Drag screen with two fingers OR press ALT + middle mouse button. Ziehen Sie den Bildschirm mit zwei Fingern oder drücken Sie ALT + mittlere Maustaste. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Ziehen Sie mit einem Finger über den Bildschirm oder drücken Sie die linke Maustaste. Im Skizzierer oder anderen Bearbeitungsmodi drücken sie zusätzlich die Alt-Taste ihrer Tastatur. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. - Kneifen (zwei Finger auf den Bildschirm setzen und auseinander ziehen/zusammenführen). Oder Blättern mit der mittleren Maustaste. Oder drücken Sie ALT + rechte Maustaste. Oder Bild hoch/runter auf der Tastatur. + Kneifen (zwei Finger auf den Bildschirm setzen und auseinander ziehen oder zusammenführen) ODER Mausrad drehen +ODER ALT-Taste + rechte Maustaste drücken ODER Bild auf/Bild ab auf der Tastatur. Gui::ModifierLineEdit - + Press modifier keys Modifikationstasten drücken @@ -7033,63 +6358,63 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button - Drücken Sie die linke Maustaste + Linke Maustaste drücken + + + + Press CTRL and middle mouse button + STRG und mittlere Maustaste drücken + + + + Press CTRL and right mouse button + STRG und rechte Maustaste drücken - Press CTRL and middle mouse button - Drücken Sie STRG und die mittlere Maustaste - - - - Press CTRL and right mouse button - Drücken Sie STRG und die rechte Maustaste - - - Press CTRL and left mouse button - Drücken Sie STRG und die linke Maustaste + STRG- (CTRL-) Taste und linke Maustaste drücken Gui::OpenSCADNavigationStyle - + Press left mouse button - Drücken Sie die linke Maustaste + Linke Maustaste drücken - + Press right mouse button and move mouse Rechte Maustaste drücken und Maus bewegen - + Press left mouse button and move mouse Linke Maustaste drücken und Maus bewegen - + Press middle mouse button or SHIFT and right mouse button - Drücken Sie die mittlere Maustaste oder die Umschalttaste (SHIFT) und die rechte Maustaste + Mittlere Maustaste oder Umschalttaste und rechte Maustaste drücken Gui::PrefQuantitySpinBox - + Edit Bearbeiten - + Save value Wert speichern - + Clear list Liste leeren @@ -7120,12 +6445,12 @@ How do you want to proceed? Verbleibend: %1 - + Aborting Abbrechen - + Do you really want to abort the operation? Möchten Sie die Operation wirklich abbrechen? @@ -7133,7 +6458,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Verknüpftes Objekt ändern @@ -7141,12 +6466,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Fehlermeldungen - + Object not found Objekt nicht gefunden @@ -7217,13 +6542,13 @@ How do you want to proceed? Gui::PropertyView - + View Ansicht - + Data Daten @@ -7271,77 +6596,77 @@ Wollen Sie sie beenden, ohne Ihre Daten zu speichern? Unbehandelte C++-Ausnahme. - + &Copy &Kopieren - + &Copy command &Befehle kopieren - + &Copy history &Verlauf kopieren - + Save history as... Verlauf speichern unter... - + Save history Verlauf speichern - + Saves Python history across %1 sessions Speichert Python-Verlauf über %1 Sitzungen - + &Paste Ein&fügen - + Select All Alles auswählen - + Clear console Konsole leeren - + Insert file name... Dateinamen einfügen... - + Word wrap Zeilenumbruch - + Save History Verlauf speichern - + Macro Files Makro-Dateien - + Insert file name Dateinamen einfügen - + All Files Alle Dateien @@ -7349,7 +6674,7 @@ Wollen Sie sie beenden, ohne Ihre Daten zu speichern? Gui::PythonEditor - + Comment Kommentieren @@ -7362,17 +6687,17 @@ Wollen Sie sie beenden, ohne Ihre Daten zu speichern? Gui::RecentFilesAction - + Open file %1 Öffne Datei %1 - + File not found Datei nicht gefunden - + The file '%1' cannot be opened. Die Datei '%1' kann nicht geöffnet werden. @@ -7380,22 +6705,22 @@ Wollen Sie sie beenden, ohne Ihre Daten zu speichern? Gui::RecentMacrosAction - + none - kein + keins - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Makro %1 ausführen (Umschalt+Klick zum Bearbeiten) Tastenkombination: %2 - + File not found Datei nicht gefunden - + The file '%1' cannot be opened. Die Datei '%1' kann nicht geöffnet werden. @@ -7403,24 +6728,24 @@ Wollen Sie sie beenden, ohne Ihre Daten zu speichern? Gui::RevitNavigationStyle - + Press left mouse button - Drücken Sie die linke Maustaste + Linke Maustaste drücken + + + + Press middle mouse button + Mittlere Maustaste drücken - Press middle mouse button - Drücken Sie die mittlere Maustaste + Press SHIFT and middle mouse button + Umschalttaste und mittlere Maustaste drücken - Press SHIFT and middle mouse button - Drücke die Umschalttaste und die mittlere Maustaste - - - Scroll middle mouse button - Scrollen Sie die mittlere Maustaste + Mausrad drehen @@ -7449,17 +6774,17 @@ Wollen Sie sie beenden, ohne Ihre Daten zu speichern? Gui::SelectModule - + Select module Modul auswählen - + Open %1 as Öffne %1 als - + Select Wähle @@ -7528,13 +6853,13 @@ Möchten Sie ein anderes Verzeichnis angeben? Gui::StdCmdPythonHelp - + Automatic python modules documentation Automatische Python Modul Dokumentation - - + + Opens a browser to show the Python modules documentation Öffnet einen Browser, um die Python-Modul-Dokumentation anzuzeigen @@ -7583,7 +6908,7 @@ Möchten Sie ein anderes Verzeichnis angeben? TextLabel - TextLabel + Textlabel @@ -7687,38 +7012,38 @@ Möchten Sie ein anderes Verzeichnis angeben? Gui::TextDocumentEditorView - + Text updated Text aktualisiert - + The text of the underlying object has changed. Discard changes and reload the text from the object? Der Text des zugrunde liegenden Objekts wurde geändert. Änderungen verwerfen und den Text aus dem Objekt neu laden? - + Yes, reload. Ja, neu zu laden. - + Unsaved document Nicht gespeichertes Dokument - + Do you want to save your changes before closing? Möchten Sie Ihre Änderungen vor dem Schließen speichern? - + If you don't save, your changes will be lost. Wenn Sie nicht speichern, gehen Ihre Änderungen verloren. - - + + Edit text Text bearbeiten @@ -7726,47 +7051,47 @@ Möchten Sie ein anderes Verzeichnis angeben? Gui::TinkerCADNavigationStyle - + Press left mouse button - Drücken Sie die linke Maustaste + Linke Maustaste drücken + + + + Press middle mouse button + Mittlere Maustaste drücken + + + + Press right mouse button + Rechte Maustaste drücken - Press middle mouse button - Drücken Sie die mittlere Maustaste - - - - Press right mouse button - Drücken Sie die rechte Maustaste - - - Scroll middle mouse button - Scrollen Sie die mittlere Maustaste + Mausrad drehen Gui::TouchpadNavigationStyle - + Press left mouse button - Drücken Sie die linke Maustaste + Linke Maustaste drücken + + + + Press SHIFT button + Umschalttaste drücken + + + + Press ALT button + ALT-Taste drücken - Press SHIFT button - Drücken Sie die Umschalt-Taste - - - - Press ALT button - Drücken Sie die ALT-Taste - - - Press CTRL and SHIFT buttons - Drücken Sie STRG und die Umschalt-Tasten + STRG und Umschalt-Taste drücken @@ -7990,7 +7315,7 @@ Möchten Sie ein anderes Verzeichnis angeben? Gui::TreeDockWidget - + Tree view Baumansicht @@ -7998,7 +7323,7 @@ Möchten Sie ein anderes Verzeichnis angeben? Gui::TreePanel - + Search Suche @@ -8006,183 +7331,183 @@ Möchten Sie ein anderes Verzeichnis angeben? Gui::TreeWidget - + Search... Suche... - + Search for objects Suche nach Objekten - + Activate document Dokument aktivieren - + Activate document %1 Dokument %1 aktivieren - + Tree settings Baumeinstellungen - + Show description column Spalte Beschreibung anzeigen - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Zeigt eine weitere Spalte in der Baumansicht an für die Beschreibung des Objekts. Diese Beschreibung kann nach Drücken von F2 (oder der entsprechenden Taste des Betriebssystems) bearbeitet werden oder indem die Eigenschaft 'label2' editiert wird. - + Group Gruppe - + Labels & Attributes Bezeichnungen & Eigenschaften - + Description Beschreibung - + Show items hidden in tree view In der Baumansicht ausgeblendete Elemente anzeigen - + Show items that are marked as 'hidden' in the tree view Elemente anzeigen, die in der Baumansicht als 'ausgeblendet' gekennzeichnet sind - + Toggle visibility in tree view Sichtbarkeit in der Baumansicht umschalten - + Toggles the visibility of selected items in the tree view Schaltet die Sichtbarkeit ausgewählter Elemente in der Baumansicht um - + Create group... Gruppe erstellen... - + Create a group Erstelle eine Gruppe - - + + Rename Umbenennen - + Rename object Objekt umbenennen - + Finish editing Bearbeitung beenden - + Finish editing object Bearbeitung des Objekts beenden - + Add dependent objects to selection Abhängige Objekte zur Auswahl hinzufügen - + Adds all dependent objects to the selection Fügt alle abhängigen Objekte zur Auswahl hinzu - + Close document Dokument schließen - + Close the document Das Dokument schließen - + Reload document Dokument neu laden - + Reload a partially loaded document Ein teilweise geladenes Dokument neu laden - + Skip recomputes Neuberechnungen überspringen - + Enable or disable recomputations of document Aktivieren oder Deaktivieren von Neuberechnungen des Dokuments - + Allow partial recomputes Teilweise Neuberechnungen erlauben - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Aktivieren oder deaktivieren der Neuberechnung des Editierungsobjekts, wenn 'Neuberechnung überspringen' aktiviert ist - + Mark to recompute Markieren, um neu zu berechnen - + Mark this object to be recomputed Markiere dieses Objekt um es neu zu berechnen - + Recompute object Objekt neu berechnen - + Recompute the selected object Ausgewähltes Objekt neu berechnen - + (but must be executed) (muss aber ausgeführt werden) - + %1, Internal name: %2 %1, Interner Name:%2 @@ -8213,20 +7538,20 @@ Möchten Sie ein anderes Verzeichnis angeben? PDF-Datei - + Opening file failed Fehler beim Öffnen der Datei - + Can't open file '%1' for writing. - Datei '%1' kann zum Schreiben nicht geöffnet werden. + Datei '%1' kann nicht zum Schreiben geöffnet werden. Gui::WorkbenchGroup - + Select the '%1' workbench Wähle den Arbeitsbereich %1 @@ -8234,37 +7559,37 @@ Möchten Sie ein anderes Verzeichnis angeben? MAC_APPLICATION_MENU - + Services Dienste - + Hide %1 %1 ausblenden - + Hide Others Andere ausblenden - + Show All Alle anzeigen - + Preferences... Einstellungen... - + Quit %1 %1 schließen - + About %1 Über %1 @@ -8284,11 +7609,6 @@ Möchten Sie ein anderes Verzeichnis angeben? Position - - - Form - Form - X: @@ -8383,14 +7703,14 @@ Möchten Sie ein anderes Verzeichnis angeben? PropertyListDialog - - + + Invalid input Ungültige Eingabe - - + + Input in line %1 is not a number Eingabe in Zeile %1 ist keine Zahl @@ -8398,37 +7718,37 @@ Möchten Sie ein anderes Verzeichnis angeben? QDockWidget - + Tree view Baumansicht - + Property view Eigenschaften - + Selection view Auswahlansicht - + Combo View Combo-Ansicht - + DAG View DAG-Ansicht - + Report view Ausgabefenster - + Python console Python-Konsole @@ -8441,31 +7761,32 @@ Möchten Sie ein anderes Verzeichnis angeben? QObject - - + + General Allgemein - - + + + Display Anzeige - + Workbenches Arbeitsbereiche - - - + + + Python Python @@ -8493,17 +7814,27 @@ Möchten Sie ein anderes Verzeichnis angeben? Kann in unbekannten Dateityp nicht speichern: %1 - + Workbench failure Wechsel von Arbeitsbereich fehlgeschlagen - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Ausnahme @@ -8516,12 +7847,12 @@ Möchten Sie ein anderes Verzeichnis angeben? Error - Fehlermeldungen + Fehler There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. - Beim Laden der Datei sind Fehler aufgetreten. Einige Daten wurden möglicherweise geändert oder gar nicht wiederhergestellt. In der Berichtansicht finden Sie genauere Informationen zu den betroffenen Objekten. + Beim Laden der Datei sind Fehler aufgetreten. Einige Daten wurden möglicherweise geändert oder gar nicht wiederhergestellt. Im Ausgabefenster finden sich genauere Informationen zu den betroffenen Objekten. @@ -8549,8 +7880,8 @@ Möchten Sie ein anderes Verzeichnis angeben? Exportiert als PDF... - + Unsaved document Nicht gespeichertes Dokument @@ -8571,39 +7902,39 @@ Möchten Sie ein anderes Verzeichnis angeben? Abhängigkeitsfehler - + Copy selected Ausgewählte kopieren - + Copy active document Aktives Dokument kopieren - + Copy all documents Alle Dokumente kopieren - + Paste Einfügen - + Expression error Ausdrucksfehler - + Failed to parse some of the expressions. Please check the Report View for more details. Fehler beim Analysieren einiger Ausdrücke. -Bitte überprüfen Sie die Berichtsansicht für weitere Details. +Weitere Einzelheiten finden sich im Ausgabefenster. - + Failed to paste expressions Das Einfügen von Ausdrücken ist fehlgeschlagen @@ -8639,225 +7970,225 @@ Be aware the point where you click matters. Beachten Sie, dass es auf den Punkt ankommt, auf den Sie klicken. - - + + Save views... Ansichten speichern... - - + + Load views... Ansichten laden... - - + + Freeze view Ansicht einfrieren - - + + Clear views Ansichten löschen - - - + + + Restore view &%1 Ansicht &%1 wiederherstellen - + Save frozen views Eingefrorene Ansichten speichern - - + + Frozen views Fixierte Ansichten - - + + Restore views Ansichten wiederherstellen - + Importing the restored views would clear the already stored views. Do you want to continue? Wiederherstellen der importierten Ansichten löscht die bereits gespeicherten Ansichten. Wollen Sie fortfahren? - + Restore frozen views Eingefrorene Ansichten wiederherstellen - + Cannot open file '%1'. Kann Datei '%1' nicht öffnen. - + files Dateien - + Save image Bild speichern - + Choose an image file to open - Wählen Sie ein Bild zum Öffnen aus + Wählen Sie die zu öffnende Bild-Datei - + New sub-group Neue Gruppe - - - - - - + + + + + + Enter the name: Geben Sie einen Namen an: - - + + New text item Neuer Texteintrag - - + + Enter your text: Geben Sie einen Text ein: - - + + New integer item Neue Ganzzahl - - - - - - + + + + + + Enter your number: Geben Sie einen ganzzahligen Wert an: - - + + New unsigned item Neue positive Ganzzahl - - + + New float item Neuer Gleitkommawert - + New Boolean item Neuer Boolescher Wert - - + + Choose an item: Wählen Sie einen Eintrag aus: - + New boolean item Neuer Boolescher Wert - + Rename group Gruppe umbenennen - + The group '%1' cannot be renamed. Die Gruppe '%1' kann nicht umbenannt werden. - + Existing group Bereits vorhandene Gruppe - + The group '%1' already exists. Die Gruppe '%1' ist bereits vorhanden. - - - - - + + + + + Change value Wert ändern - + Type Typ - + Notifier von wem - + Message Nachricht - + Notifier: von wem: - + Do you want to skip confirmation of further critical message notifications while loading the file? Soll die Bestätigung weiterer Benachrichtigungen zu wichtigen Meldungen übersprungen werden, solange die Datei geladen wird? - + Critical Message Wichtige Meldung - + Too many opened non-intrusive notifications. Notifications are being omitted! Zu viele offene, unaufdringliche Benachrichtigungen. Benachrichtigungen werden ausgelassen! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8866,44 +8197,44 @@ Wollen Sie fortfahren? - + Are you sure you want to continue? - Bist du sicher, dass du fortfahren möchtest? + Sind Sie sicher, dass Sie fortfahren möchten? - + Please check report view for more... - Bitte prüfen Sie das Ausgabefenster für mehr... + Bitte das Ausgabefenster prüfen für weitere... - + Physical path: Physischer Pfad: - - + + Document: Dokument: - - + + Path: Pfad: - + Identical physical path Identischer physischer Pfad - + Could not save document Dokument konnte nicht gespeichert werden - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8916,102 +8247,102 @@ Would you like to save the file with a different name? Möchten Sie die Datei mit einem anderen Namen speichern? - - - + + + Saving aborted Speichern abgebrochen - + Save dependent files Abhängige Dateien speichern - + The file contains external dependencies. Do you want to save the dependent files, too? Die Datei enthält externe Abhängigkeiten. Möchten Sie auch die abhängigen Dateien speichern? - - + + Saving document failed Fehler beim Speichern des Dokuments - + Save document under new filename... Dokument unter neuem Dateinamen speichern... - - + + Save %1 Document Dokument %1 speichern - + Document Dokument - - + + Failed to save document Fehler beim Speichern des Dokuments - + Documents contains cyclic dependencies. Do you still want to save them? Dokumente enthalten zyklische Abhängigkeiten. Möchten Sie sie trotzdem speichern? - + Save a copy of the document under new filename... Speichern Sie eine Kopie des Dokuments unter einem neuen Dateinamen... - + %1 document (*.FCStd) %1-Dokument (*.FCStd) - + Document not closable Dokument kann nicht geschlossen werden - + The document is not closable for the moment. Das Dokument kann im Moment nicht geschlossen werden. - + Document not saved Dokument nicht gespeichert - + The document%1 could not be saved. Do you want to cancel closing it? Das Dokument%1 konnte nicht gespeichert werden. Möchtest du das Schließen abbrechen? - + Undo - Rückgängig machen - - - - Redo - Letzte Aktion wiederholen + Rückgängig + Redo + Wiederholen + + + There are grouped transactions in the following documents with other preceding transactions Es gibt gruppierte Transaktionen in den folgenden Dokumenten mit anderen vorhergehenden Transaktionen - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9025,47 +8356,47 @@ Wählen Sie 'Abbrechen' um abzubrechen Makro speichern - - + + Finish Fertig - - + + Clear - Löschen + Leeren - - - + + + Cancel Abbrechen - + Inner Innen - + Outer Außen - + Split Teilen - - + + No Browser Kein Browser - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9074,48 +8405,48 @@ Please open a browser window and type in: http://localhost:%1. Bitte starten Sie einen Browser und geben darin ein: http://localhost:%1. - + No Server Kein Server - + Unable to start the server to port %1: %2. Kann Server auf Port %1 nicht starten: %2. - + Unable to open your system browser. Kann Systembrowser nicht starten. - + Options... Einstellungen... - + Out of memory Nicht genügend Speicher - + Not enough memory available to display the data. Nicht genügend Speicher verfügbar, um die Daten darstellen zu können. - - + + Cannot find file %1 Kann Datei %1 nicht finden - + Cannot find file %1 neither in %2 nor in %3 Kann Datei %1 weder in %2 noch in %3 finden - + Navigation styles Navigationsstile @@ -9125,53 +8456,53 @@ Bitte starten Sie einen Browser und geben darin ein: http://localhost:%1.Beschriftung verschieben - - + + Transform - Transformieren + Transformierung Do you want to close this dialog? - Möchten Sie dieses Dialogfeld schließen? + Möchten Sie diesen Dialog zu schließen? - + Do you want to save your changes to document '%1' before closing? Möchten Sie Ihre Änderungen an dem Dokument '%1' vor dem Schließen speichern? - + Do you want to save your changes to document before closing? Möchten Sie Ihre Änderungen am Dokument vor dem Schließen speichern? - + If you don't save, your changes will be lost. Wenn Sie nicht speichern, gehen Ihre Änderungen verloren. - + Apply answer to all Antwort auf alle anwenden - + %1 Document(s) not saved %1 Dokument(e) nicht gespeichert - + Some documents could not be saved. Do you want to cancel closing? Einige Dokumente konnten nicht gespeichert werden. Möchtest du das Schließen abbrechen? - + Delete macro Makro löschen - + Not allowed to delete system-wide macros Keine Erlaubnis, die systemweiten Makros zu löschen @@ -9181,27 +8512,27 @@ Bitte starten Sie einen Browser und geben darin ein: http://localhost:%1.Ursprung - + Delete group content? Gruppeninhalt löschen? - + The %1 is not empty, delete its content as well? Der %1 ist nicht leer, auch seinen Inhalt löschen? - + Translation: Verschiebung: - + Rotation: Drehung: - + Toggle active part Aktiven Körper umschalten @@ -9264,87 +8595,87 @@ Bitte starten Sie einen Browser und geben darin ein: http://localhost:%1.Fehler beim Importieren aller Verknüpfungen - - + + Invalid name Ungültiger Name - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Der Eigenschaftsname oder der Gruppenname darf nur alphanumerische Zeichen und Unterstriche enthalten und darf nicht mit einer Ziffer beginnen. - + The property '%1' already exists in '%2' Die Eigenschaft '%1' existiert bereits in '%2' - + Add property Eigenschaft hinzufügen - + Failed to add property to '%1': %2 Das Hinzufügen der Eigenschaft %2 zu '%1' ist fehlgeschlagen - - + + Drag & drop failed Drag & Drop fehlgeschlagen - + Setup configurable object Konfigurierbares Objekt einrichten - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Wählen Sie, welches Objekt bei Änderungen der Konfiguration kopiert oder ausgeschlossen werden soll. Alle externen verknüpften Objekte sind standardmäßig ausgeschlossen. - + Please select which objects to copy when the configuration is changed Bitte wählen Sie aus, welche Objekte kopiert werden sollen, wenn die Konfiguration geändert wird - + Apply to all Auf alle anwenden - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Wenden Sie die Einstellung auf alle Verknüpfungen an. Oder, deaktivieren Sie diese Option, um sie nur auf diesen Verknüpfung anzuwenden. - + Copy on change Kopie von Änderungen - + Enable Aktivieren - + Enable auto copy of linked object when its configuration is changed Automatisches Kopieren des verbundenen Objekts aktivieren, wenn seine Konfiguration geändert wurde - + Tracking - Laufweite + Verfolgung - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9353,17 +8684,17 @@ Außerdem wird die Kopie automatisch erneut erstellt, wenn das ursprüngliche ve - + Disable copy on change Kopieren bei Änderungen deaktivieren - + Refresh configurable object Konfigurierbares Objekt aktualisieren - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9372,28 +8703,28 @@ the current copy will be lost. - + Toggle array elements Array-Elemente umschalten - + Change whether show each link array element as individual objects Ändern, ob jedes Verbindungs-Array-Element als einzelnes Objekt angezeigt werden soll - + Transform at the origin of the placement Transformierung am Ursprung der Anordnung - - + + Override colors... Farben überschreiben... - + Edit %1 %1 bearbeiten @@ -9416,12 +8747,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Nicht erlaubt: - + Selection not allowed by filter Auswahl vom Filter nicht erlaubt @@ -9429,9 +8760,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Box-Element Auswahl @@ -9439,13 +8770,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Rechteckauswahl - - + + Activate the box selection tool Aktivieren Sie das Auswahlwerkzeug @@ -9523,13 +8854,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Achsenkreuz ein/ausblenden - - + + Turns on or off the axis cross at the origin Schaltet das Achsenkreuz im Ursprung ein oder aus @@ -9635,13 +8966,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Drehscheibe... - - + + View turntable Drehscheibe @@ -9761,13 +9092,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Darstellungsart - - + + Change the draw style of the objects Ändert die Darstellungsart von Objekten @@ -9831,13 +9162,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Ausdruck-Aktionen - - + + Actions that apply to expressions Aktionen, die auf Ausdrücke angewendet werden @@ -9954,13 +9285,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Ansicht einfrieren - - + + Freezes the current view position Aktuelle Ansicht einfrieren @@ -9981,13 +9312,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Alle Objekte ausblenden - - + + Hide all objects in the document Alle Objekte im Dokument ausblenden @@ -9995,13 +9326,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Auswahl ausblenden - - + + Hide all selected objects Alle ausgewählten Objekte ausblenden @@ -10275,13 +9606,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Abstand messen - - + + Activate the distance measurement tool Aktiviere das Entfernungsmesswerkzeug @@ -10340,8 +9671,8 @@ the current copy will be lost. Neues Dokument erstellen - - + + Unnamed Unbenannt @@ -10569,7 +9900,7 @@ the current copy will be lost. StdCmdRecentFiles - Recent files + Open Recent Zuletzt geöffnete Dateien @@ -10708,13 +10039,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Szenengraph untersuchen... - - + + Scene inspector Szenengraph untersuchen @@ -10722,13 +10053,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Zurück - - + + Go back to previous selection Zurück zur vorherigen Auswahl @@ -10736,13 +10067,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Begrenzungsrahmen - - + + Show selection bounding box Auswahlbegrenzungsrahmen zeigen @@ -10750,13 +10081,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Vorwärts - - + + Repeat the backed selection Gesicherte Auswahl wiederholen @@ -10778,13 +10109,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Sichtbare Objekte auswählen - - + + Select visible objects in the active document Sichtbare Objekte im aktiven Dokument auswählen @@ -10806,13 +10137,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Darstellung... - - + + Sets the display properties of the selected object Setzen der Anzeigeeigenschaften des ausgewählten Objektes @@ -10820,13 +10151,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Alle Objekte einblenden - - + + Show all objects in the document Alle Objekte im Dokument einblenden @@ -10834,13 +10165,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Auswahl einblenden - - + + Show all selected objects Alle ausgewählten Objekte einblenden @@ -10876,13 +10207,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Texturabbildung... - - + + Texture mapping Texturabbildung @@ -10918,13 +10249,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Schnittebene - - + + Toggles clipping plane for active view Schnittebene für aktive Ansicht ein- und ausblenden @@ -10932,13 +10263,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Navigations-/Editier-Modus - - + + Toggle between navigation and edit mode Zwischen Navigations- und Editier-Modus umschalten @@ -10946,13 +10277,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Alle Objekte umkehren - - + + Toggles visibility of all objects in the active document Die Sichtbarkeit aller Objekte im aktiven Dokument umkehren @@ -10960,13 +10291,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Selektierbarkeit an/aus - - + + Toggles the property of the objects to get selected in the 3D-View Schaltet die Eigenschaft der Objekte, in der 3D-Ansicht ausgewählt zu werden um @@ -10974,13 +10305,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Ein/Ausblenden - - + + Toggles visibility Wechselt zwischen Sichtbarkeit und Unsichtbarkeit @@ -11030,13 +10361,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Ausgewähltes Element einklappen - - + + Collapse currently selected tree items Aktuell ausgewählte Baumelemente einklappen @@ -11044,13 +10375,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Ausgewähltes Element ausklappen - - + + Expand currently selected tree items Aktuell ausgewählte Baumelemente erweitern @@ -11058,13 +10389,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Alle Instanzen auswählen - - + + Select all instances of the current selected object Alle Instanzen des ausgewählten Objekts auswählen @@ -11072,13 +10403,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions Baumansicht-Aktionen - - + + TreeView behavior options and actions TreeView-Einstellungen und -Aktionen @@ -11142,13 +10473,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Untersicht - - + + Set to bottom view Wechselt zur Ansicht von unten @@ -11156,13 +10487,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Neue Ansicht - - + + Creates a new view window for the active document Erstellt eine neue Ansicht für das aktive Dokument @@ -11170,13 +10501,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimetrisch - - + + Set to dimetric view Dimetrische Ansicht auswählen @@ -11184,13 +10515,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor Beispiel #1 - - + + Shows a 3D texture with manipulator Zeigt 3D-Textur mit Manipulator @@ -11198,13 +10529,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor Beispiel #2 - - + + Shows spheres and drag-lights Kugeln mit verschiebbarer Lichtquelle @@ -11212,13 +10543,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor Beispiel #3 - - + + Shows a animated texture Zeigt animierte Textur @@ -11226,13 +10557,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Einpassen - - + + Fits the whole content on the screen Passt den gesamten Inhalt auf Bildschirmgröße ein @@ -11240,13 +10571,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Auswahl einpassen - - + + Fits the selected content on the screen Passt den ausgewählten Inhalt auf Bildschirmgröße ein @@ -11254,13 +10585,13 @@ the current copy will be lost. StdCmdViewFront - + Front Vorderansicht - - + + Set to front view Wechselt zur Ansicht von vorne @@ -11268,13 +10599,13 @@ the current copy will be lost. StdCmdViewHome - + Home Home - - + + Set to default home view Als Standardansicht festlegen @@ -11282,13 +10613,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Isometrisch - - + + Set to isometric view Isometrische Ansicht auswählen @@ -11296,13 +10627,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Kameraposition ausgeben - - + + Issue the camera position to the console and to a macro, to easily recall this position Ausgeben der Kameraposition auf die Konsole und in ein Makro, um diese Position einfach wiederherstellen zu können @@ -11310,13 +10641,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Vertikales Interlacing - - + + Switch stereo viewing to Interleaved Columns Wechsle in vertikale Interlacing-Stereo-Ansicht @@ -11324,13 +10655,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Horizontales Interlacing - - + + Switch stereo viewing to Interleaved Rows Wechsle in horizontale Interlacing-Stereo-Ansicht @@ -11338,13 +10669,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Stereo aus - - + + Switch stereo viewing off Schalte Stereo-Ansicht aus @@ -11352,13 +10683,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo 4-fach Puffer - - + + Switch stereo viewing to quad buffer Wechsle in Stereo-Ansicht mit 4-fach Puffer @@ -11366,13 +10697,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo rot/cyan - - + + Switch stereo viewing to red/cyan Wechseln der Stereo Anzeige zu rot/cyan @@ -11380,13 +10711,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Seitenansicht von links - - + + Set to left view Wechselt zur Ansicht von links @@ -11394,13 +10725,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Rückansicht - - + + Set to rear view Wechselt zur Ansicht von hinten @@ -11422,13 +10753,13 @@ the current copy will be lost. StdCmdViewRight - + Right Seitenansicht von rechts - - + + Set to right view Wechselt zur Ansicht von rechts @@ -11436,13 +10767,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Nach links drehen - - + + Rotate the view by 90° counter-clockwise Ansicht um 90° gegen den Uhrzeigersinn drehen @@ -11450,13 +10781,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Nach Rechts drehen - - + + Rotate the view by 90° clockwise Ansicht um 90° im Uhrzeigersinn drehen @@ -11478,13 +10809,13 @@ the current copy will be lost. StdCmdViewTop - + Top Draufsicht - - + + Set to top view Wechselt zur Ansicht von oben @@ -11492,13 +10823,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimetrisch - - + + Set to trimetric view Trimetrische Ansicht auswählen @@ -11506,13 +10837,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Erweitern Sie das FreeCAD 3D Fenster zu einer Oculus-Rift-Darstellung @@ -11576,13 +10907,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Vollbild - - + + Display the main window in fullscreen mode Hauptfenster in Vollansicht zeigen @@ -11618,13 +10949,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Arbeitsansicht wiederherstellen - - + + Recall previously stored temporary working view Zuletzt gespeicherte temporäre Arbeitsansicht wiederherstellen @@ -11632,13 +10963,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Arbeitsansicht speichern - - + + Store a document-specific temporary working view Dokument-spezifische temporäre Arbeitsansicht speichern @@ -11646,13 +10977,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Reduzieren/Erweitern - - + + Expand active document and collapse all others Erweitere alle aktiven Dokumente und reduziere die Anderen @@ -11660,12 +10991,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Ziehen initiieren - + Initiate dragging of current selected tree items Ziehen aktuell ausgewählter Baumelemente initiieren @@ -11673,13 +11004,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Mehrfachdokument - - + + Display all documents in the tree view Alle Dokumente in der Baumansicht anzeigen @@ -11687,12 +11018,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Vorauswahl - + Preselect the object in 3D view when mouse over the tree item Vorauswählen des Objekts in 3D -ansicht, wenn die Maus über das Baumelement fährt @@ -11700,12 +11031,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Auswahl aufzeichnen - + Record selection in tree view in order to go back/forward using navigation button Auswahl in der Baumansicht aufzeichnen, um mit der Navigationstaste zurück/vor zu gehen @@ -11713,13 +11044,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Gehe zu Selektion - - + + Scroll to first selected item Zum ersten selektierten Element rollen @@ -11727,13 +11058,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Einzeldokument - - + + Only display the active document in the tree view Nur das aktive Dokument in der Baumansicht anzeigen @@ -11741,12 +11072,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Sync-Platzierung - + Auto adjust placement on drag and drop objects across coordinate systems Automatische Anpassung der Positionierung beim Ziehen und Ablegen von Objekten aus einem Koordinatensystem in ein anderes @@ -11754,12 +11085,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Sync-Auswahl - + Auto expand tree item when the corresponding object is selected in 3D view Baum automatisch ausdehnen, wenn das zugehörige Objekt in der 3D-Ansicht ausgewählt wird @@ -11767,12 +11098,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Sync-Ansicht - + Auto switch to the 3D view containing the selected item Automatischer Wechsel zur 3D-Ansicht mit dem ausgewählten Element @@ -11780,13 +11111,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Zoomen mit Rechteck - - + + Activate the box zoom tool Aktivieren Sie das Zoom-Werkzeug @@ -11794,13 +11125,13 @@ the current copy will be lost. StdViewDock - + Docked Angedockt - - + + Display the active view either in fullscreen, in undocked or docked mode Aktives Fenster im Vollbild-Modus, im abgedockten oder angedockten Modus anzeigen @@ -11808,13 +11139,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Dokumentfenster - - + + Display the active view either in fullscreen, in undocked or docked mode Aktives Fenster im Vollbild-Modus, im abgedockten oder angedockten Modus anzeigen @@ -11822,13 +11153,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Vollbild - - + + Display the active view either in fullscreen, in undocked or docked mode Aktives Fenster im Vollbild-Modus, im abgedockten oder angedockten Modus anzeigen @@ -11836,13 +11167,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Bild speichern... - - + + Creates a screenshot of the active view Erzeugt einen Schnappschuss der aktiven Ansicht @@ -11850,13 +11181,13 @@ the current copy will be lost. StdViewUndock - + Undocked Abgedockt - - + + Display the active view either in fullscreen, in undocked or docked mode Aktives Fenster im Vollbild-Modus, im abgedockten oder angedockten Modus anzeigen @@ -11864,13 +11195,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Vergrößern - - + + Increase the zoom factor by a fixed amount Erhöht den Zoomfaktor um einen festen Betrag @@ -11878,13 +11209,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Verkleinern - - + + Decrease the zoom factor by a fixed amount Verringert den Zoomfaktor um einen festen Betrag @@ -11919,72 +11250,72 @@ Sind Sie sicher, dass Sie fortfahren möchten? Std_DrawStyle - + As is Original - + Normal mode Normalmodus - + Points Punkte - + Points mode Punktemodus - + Wireframe Drahtgitter - + Wireframe mode Drahtgitter-Modus - + Hidden line Versteckte Linie - + Hidden line mode Hidden Line Modus - + No shading Keine Schattierung - + No shading mode Kein Schattierungsmodus - + Shaded Schattiert - + Shaded mode Schattenmodus - + Flat lines Flache Linien - + Flat lines mode Flachlinienmodus @@ -12020,10 +11351,10 @@ Möchten Sie das Dokument jetzt speichern? Please check the Report View for more details. Do you still want to proceed? - Das Dokument enthält Abhängigkeitszyklen. -Bitte überprüfen Sie die Berichtsansicht für weitere Details. + Das Dokument enthält zyklische Abhängigkeiten. +Weitere Einzelheiten finden sich im Ausgabefenster. -Möchten Sie trotzdem fortfahren? +Trotzdem fortfahren? @@ -12047,32 +11378,32 @@ Möchten Sie trotzdem fortfahren? TreeParams - + Tree view item background. Only effective in overlay. Hintergrund in der Baumansicht. Nur im Overlay sichtbar. - + Tree view item background padding. Abstand zum Nachbarn in der Baumansicht (padding). - + Hide extra tree view column for item description. Zusätzliche Spalte für die Elementbeschreibung in der Baumansicht ausblenden. - + Hide tree view scroll bar in dock overlay. Den Scrollbar für die Baumansicht im Dock-Overlay ausblenden. - + Hide tree view header view in dock overlay. Die Kopfzeile im Dock-Overlay ausblenden. - + Allow tree view columns to be manually resized. Manuelle Größenanpassung der Spalten in der Baumansicht erlauben. @@ -12080,117 +11411,117 @@ Möchten Sie trotzdem fortfahren? Workbench - + &File &Datei - + &Edit &Bearbeiten - + Edit Bearbeiten - + Clipboard Zwischenablage - + Workbench Arbeitsbereich - + Structure Struktur - + Standard views Standardansichten - + Axonometric Axonometrisch - + &Stereo &Stereo - + &Zoom &Zoom - + Visibility Sichtbarkeit - + &View &Ansicht - + &Tools &Werkzeuge - + &Macro &Makro - + &Windows &Fenster - + &On-line help &Online-Hilfe - + &Help &Hilfe - + Help Hilfe - + File Datei - + Macro Makro - + View Ansicht - + Special Ops Spezialfunktionen - + Link actions Verknüpfungen... @@ -12198,12 +11529,12 @@ Möchten Sie trotzdem fortfahren? Gui::MDIView - + Export PDF PDF exportieren - + PDF file PDF-Datei @@ -12211,195 +11542,189 @@ Möchten Sie trotzdem fortfahren? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Benachrichtigungsbereich - + Settings Einstellungen - + The Notification area will appear in the status bar Der Benachrichtigungsbereich wird in der Statusleiste angezeigt - + Enable Notification Area Benachrichtigungsbereich aktivieren - + Non-intrusive notifications will appear next to the notification area in the status bar Unaufdringliche Benachrichtigungen werden neben dem Benachrichtigungsbereich in der Statusleiste angezeigt - + Enable non-intrusive notifications Unaufdringliche Benachrichtigungen aktivieren - + Additional data sources Zusätzliche Datenquellen - + Errors intended for developers will appear in the notification area Für Entwickler bestimmte Fehler werden im Benachrichtigungsbereich angezeigt - + Debug errors Debug-Fehler - + Warnings intended for developers will appear in the notification area Für Entwickler bestimmte Warnungen werden im Benachrichtigungsbereich angezeigt - + Debug warnings Debug-Warnungen - + Non-Intrusive Notifications Unaufdringliche Benachrichtigungen - + Minimum Duration: Mindestdauer: - + Maximum Duration: Höchstdauer: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Dauer, während der die Benachrichtigung angezeigt wird (sofern keine Maustasten geklickt werden) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Mindestdauer, während der die Benachrichtigung angezeigt wird (sofern die Benachrichtigung nicht angeklickt wurde) - + Maximum Number of Notifications: Maximale Anzahl an Benachrichtigungen: - + Maximum number of notifications that will be simultaneously present on the screen Maximale Anzahl an Benachrichtigungen, die gleichzeitig auf dem Bildschirm angezeigt werden dürfen - + Notification width: Benachrichtigungsbreite: - + Width of the notification in pixels Breite der Benachrichtigung in Pixel - + Any open non-intrusive notifications will disappear when another window is activated Alle offenen unaufdringlichen Benachrichtigungen verschwinden, wenn ein anderes Fenster aktiviert wird - + Hide when other window is activated Ausblenden, wenn ein anderes Fenster aktiviert ist - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Verhindern, dass unaufdringliche Benachrichtigungen angezeigt werden, wenn das FreeCAD-Fenster nicht das aktive Fenster ist - + Do not show when inactive Bei Inaktivität nicht anzeigen - + Message List Nachrichtenliste - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Begrenzt die Anzahl der Nachrichten, die in der Liste behalten werden. Bei 0 gibt es keine Begrenzung. - + Maximum Messages (0 = no limit): Maximale Meldungen (0 = keine Begrenzung): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Entfernt die Benutzerbenachrichtigungen aus der Nachrichtenliste, nachdem die unaufdringliche Höchstdauer verstrichen ist. - + Auto-remove User Notifications Benutzerbenachrichtigungen automatisch entfernen - - - Activation of the Notification Area only takes effect after an application restart. - Die Aktivierung des Benachrichtigungsbereichs wird erst nach einem Neustart der Anwendung wirksam. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Verfügbare Arbeitsbereiche - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Arbeitsbereiche können per Drag & Drop neu geordnet werden. Weitere Arbeitsbereiche können über den Addon-Manager installiert werden.</p><p> Zurzeit verfügt dieses System über folgende Arbeitsbereiche:</p></body></html> - + Start up workbench: Start up Arbeitsbereich: - + Choose which workbench will be activated and shown after FreeCAD launches Auswahl des Arbeitsbereichs, der nach dem Start von FreeCAD aktiviert und angezeigt werden soll - + Workbench selector position : Position der Arbeitsbereichsauswahl: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12412,12 +11737,12 @@ after FreeCAD launches 'Rechte Ecke': In der Menüleiste, in der rechten Ecke. - + If checked, application will remember which workbench is active for each tab of the viewport Wenn aktiviert, merkt sich die Anwendung welcher Arbeitsbereich für jeden Tab aktiv ist - + Remember active workbench by tab Aktiven Arbeitsbereich je Reiter merken @@ -12566,47 +11891,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Wenn nicht aktiviert, wird %1 nicht unter den vorhandenen Arbeitsbereichen angezeigt. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Dies ist das aktuelle Startmodul und muss aktiviert sein. Siehe Einstellungen/Allgemein/Autoload um dies zu ändern. - + Shortcut to activate this workbench. Tastaturkürzel zum Aktivieren dieses Arbeitsbereichs. - + Auto-load Automatisch laden - + If checked, %1 will be loaded automatically when FreeCAD starts up Wenn aktiviert, wird %1 beim Start von FreeCAD automatisch geladen - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Dies ist das aktuelle Startmodul und muss automatisch geladen werden. Siehe Einstellungen/Allgemein/Autoload um dies zu ändern. - + Loaded Geladen - + Load Laden - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Um Ressourcen zu schonen, lädt FreeCAD Arbeitsbereiche nicht, solange sie nicht verwendet werden. Wenn sie geladen werden, können sie Zugriff auf weitere Einstellungen bezüglich ihrer Funktionalität ermöglichen. @@ -12614,17 +11939,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Symbolleiste - + Left corner Linke Ecke - + Right corner Rechte Ecke @@ -12650,12 +11980,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Benutzerbenachrichtigungen löschen - + Delete All Alle löschen @@ -12680,24 +12010,24 @@ after FreeCAD launches Zoom in - Vergrößern + Heranzoomen Zoom out - Verkleinern + Herauszoomen StdViewLoadImage - + Load image... Bild laden... - - + + Loads an image Lädt ein Bild @@ -12759,10 +12089,814 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information - Ein Fehler ist aufgetreten -- siehe Report View für Informationen + Es ist ein Fehler aufgetreten -- siehe Ausgabefenster für Informationen + + + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Optionen + + + + Code lines will be numbered + Code-Zeilen werden nummeriert + + + + Enable line numbers + Zeilennummerierung + + + + The cursor shape will be a block + Die Form des Eingabezeigers wird ein Block sein + + + + Enable block cursor + Block-Eingabezeiger aktivieren + + + + Enable folding + Faltung zulassen + + + + Indentation + Einrückung + + + + Tab size: + Tabulator-Breite: + + + + Tabulator raster (how many spaces) + Tabulatorraster (Anzahl der Leerzeichen) + + + + Indent size: + Einrückbreite: + + + + How many spaces will be inserted when pressing <Tab> + Anzahl der eingefügten Leerzeichen beim Drücken von <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Durch Drücken von <Tab> wird ein Tabulator eingefügt, dessen Breite unter Tabulator-Breite definiert ist + + + + Keep tabs + Tabulator-Einrückung beibehalten + + + + Pressing <Tab> will insert amount of defined indent size + Durch Drücken von <Tab> wird die unter Einrückbreite definierte Anzahl von Leerzeichen eingefügt + + + + Insert spaces + Leerzeichen-Einrückung beibehalten + + + + Display items + Elemente anzeigen + + + + Color and font settings will be applied to selected type + Farbe und Schrift-Einstellungen werden auf den ausgewählten Typ angewendet + + + + Family: + Familie: + + + + Font family to be used for selected code type + Schriftfamilie, die für den ausgewählten Codetyp verwendet werden soll + + + + Size: + Größe: + + + + Font size to be used for selected code type + Schriftgröße für den ausgewählten Codetyp + + + + Color: + Farbe: + + + + Preview: + Vorschau: + + + + Text + Text + + + + Bookmark + Lesezeichen + + + + Breakpoint + Haltepunkt + + + + Keyword + Schlüsselwort + + + + Comment + Kommentieren + + + + Block comment + Blockkommentar + + + + Number + Ziffer + + + + String + Zeichenkette + + + + Character + Zeichen + + + + Class name + Klassenname + + + + Define name + Define-Name + + + + Operator + Operator + + + + Python output + Pythonausgabe + + + + Python error + Pythonfehler + + + + Current line highlight + Aktuelle Zeile hervorheben + + + + Items + Elemente + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Allgemein + + + + Language and number format + Sprache und Zahlenformat + + + + Language: + Sprache: + + + + Language of the application's user interface + Sprache der Benutzeroberfläche der Anwendung + + + + Unit system: + Einheitensystem: + + + + Unit system that should be used for all parts of the application + Verwendete Einheiten für alle Teile der Anwendung + + + + Number of decimals: + Anzahl der Nachkommastellen: + + + + Number of decimals that should be shown for numbers and dimensions + Anzahl der Dezimalstellen, die für Zahlen und Maße angezeigt werden sollen + + + + Minimum fractional inch: + Kleinster Bruch bei Inch/Zoll: + + + + Minimum fractional inch to be displayed + Kleinster Bruch bei Inch/Zoll + + + + Number format: + Zahlenformat: + + + + Operating system + Betriebssystem + + + + Selected language + Ausgewählte Sprache + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Wenn aktiviert, wird das Dezimaltrennzeichen des Ziffernblocks +durch das der Spracheinstellung entsprechende Trennzeichen ersetzt, +außer in der Python-Konsole und im Makro-Editor, wo immer ein +Punkt verwendet wird. + + + + Substitute decimal separator + Dezimaltrennzeichen ersetzen + + + + Application + Applikation + + + + Theme: + Aussehen: + + + + Customize how user interface will look like + Passt das Aussehen der Benutzeroberfläche an + + + + Size of toolbar icons: + Bildgröße in Symbolleisten: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Legt die Größe der Schaltflächen innerhalb der Symbolleisten fest. Sie können diese +entsprechend Ihrer Bildschirmgröße oder Ihrem persönlichen Geschmack anpassen. + + + + Tree view mode: + Baumstruktur-Ansichtsmodus: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Anpassung der Baumansicht im Panel (Neustart erforderlich). + +'ComboView': Kombinieren Sie Baum- und Eigenschaftsansicht in einem Fenster. +'TreeView and PropertyView': Aufteilung der Baum- und Eigenschaftsansicht in ein separates Fenster. +'Beides': Behalten Sie alle drei Panels und Sie können zwei Sätze der Baumansicht und der Objektansicht haben. + + + + Size of recent file list: + Anzahl der zuletzt benutzten Dateien: + + + + How many files should be listed in recent files list + Anzahl der zuletzt verwendeten Dateien (Historie) + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Der Hintergrund des Hauptfensters (wenn kein Dokument geöffnet ist) besteht aus Kacheln eines speziellen Bildes. +Sehen Sie sich das FreeCAD Wiki für Details über das Bild an. + + + + Enable tiled background + Gekachelten Hintergrund aktivieren + + + + The text cursor will be blinking + Der Text-Eingabezeiger blinkt + + + + Enable cursor blinking + Blinken des Eingabezeigers aktivieren + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Wenn diese Option aktiviert ist zeigt FreeCAD den (kleinen) Startbildschirm an + + + + Enable splash screen at start up + Splashscreen beim Starten anzeigen + + + + Preference packs + Präferenz-Pakete + + + + Name + Name + + + + Type + Art + + + + Load + Laden + + + + Import config... + Konfiguration importieren... + + + + Save new... + Neu speichern... + + + + Manage... + Verwalten... + + + + Revert... + Rückgängig... + + + + Manage preference packs + Verwaltung von Einstellungspaketen + + + + Small (%1px) + Klein (%1px) + + + + Medium (%1px) + Mittel (%1px) + + + + Large (%1px) + Groß (%1px) + + + + Extra large (%1px) + Extra groß (%1px) + + + + Custom (%1px) + Benutzerdefiniert (%1px) + + + + Combo View + Combo-Ansicht + + + + TreeView and PropertyView + Baumansicht und Eigenschafteneditor + + + + Both + Beide + + + + Preference Pack Name + Einstellunspaketname + + + + Tags + Tags + + + + Apply + Übernehmen + + + + Apply the %1 preference pack + Anwenden des %1-Einstellungspakets + + + + Choose a FreeCAD config file to import + Wähle eine FreeCAD-Konfigurationsdatei zum Import aus + + + + File exists + Datei bereits vorhanden + + + + A preference pack with that name already exists. Overwrite? + Ein Einstellungspaket mit diesem Namen existiert bereits. Möchten Sie es überschreiben? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Ausgabefenster + + + + Output + Ausgabe + + + + Normal messages will be recorded + Normale Meldungen werden aufgezeichnet + + + + Record normal messages + Normale Meldungen ausgeben + + + + Log messages will be recorded + Protokoll-Meldungen werden aufgezeichnet + + + + Record log messages + Protokoll-Meldungen ausgeben + + + + Warnings will be recorded + Warnungen werden aufgezeichnet + + + + Record warnings + Warnungen ausgeben + + + + Error messages will be recorded + Fehlermeldungen werden aufgezeichnet + + + + Record error messages + Fehlermeldungen ausgeben + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Für die Ausgabe einer Fehlermeldung wird das Ausgabefenster +auf dem Bildschirm eingeblendet + + + + Show report view on error + Ausgabefenster für Fehlermeldungen anzeigen + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Für die Ausgabe einer Warnung wird das Ausgabefenster +auf dem Bildschirm eingeblendet + + + + Show report view on warning + Ausgabefenster für Warnungen anzeigen + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Für die Ausgabe einer normalen Meldung wird das Ausgabefenster +auf dem Bildschirm eingeblendet + + + + Show report view on normal message + Ausgabefenster für normale Meldungen anzeigen + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Für die Ausgabe einer Protokoll-Meldung wird das Ausgabefenster +auf dem Bildschirm eingeblendet + + + + Show report view on log message + Ausgabefenster für Protokoll-Meldungen anzeigen + + + + Include a timecode for each report + Gibt jede Meldung mit einem Zeitstempel aus + + + + Include a timecode for each entry + Jeden Eintrag mit Zeitstempel versehen + + + + Colors + Farben + + + + Normal messages: + Normale Meldungen: + + + + Font color for normal messages in Report view panel + Schriftfarbe für normale Meldungen im Ausgabefenster + + + + Log messages: + Protokoll-Meldungen: + + + + Font color for log messages in Report view panel + Schriftfarbe für Protokoll-Meldungen im Ausgabefenster + + + + Warnings: + Warnungen: + + + + Font color for warning messages in Report view panel + Schriftfarbe für Warnmeldungen im Ausgabefenster + + + + Errors: + Fehlermeldungen: + + + + Font color for error messages in Report view panel + Schriftfarbe für Fehlermeldungen im Ausgabefenster + + + + Python interpreter + Python-Interpreter + + + + Internal Python output will be redirected +from Python console to Report view panel + Interne Python-Ausgaben werden von der +Python-Konsole in das Ausgabefenster umgeleitet + + + + Redirect internal Python output to report view + Interne Python-Meldungen auf Ausgabefenster umleiten + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Interne Python-Fehlermeldungen werden von der +Python-Konsole in das Ausgabefenster umgeleitet + + + + Redirect internal Python errors to report view + Interne Python-Fehlermeldungen auf Ausgabefenster umleiten + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Aussehen + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Keine Formatvorlage + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared diff --git a/src/Gui/Language/FreeCAD_el.ts b/src/Gui/Language/FreeCAD_el.ts index e789fe3afc..6a3ee7e920 100644 --- a/src/Gui/Language/FreeCAD_el.ts +++ b/src/Gui/Language/FreeCAD_el.ts @@ -42,29 +42,29 @@ Οπτικό μέγεθος του χαρακτηριστικού - + <empty> <κενό> - - + + Angle Γωνία - - + + Axis Άξονας - + Position Position - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Έλεγχος εξόδου κονσόλας - - + + Run test cases to verify console messages Εκτέλεση δοκιμαστικών υποθέσεων για επαλήθευση μηνυμάτων κονσόλας @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Εκκαθάριση μέτρησης - + Clear all visible measurements Καθαρισμός όλων των ορατών μετρήσεων @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Εναλλαγή μέτρησης - + Turn on or off the display of all measurements Ενεργοποίηση ή απενεργοποίηση της εμφάνισης όλων των μετρήσεων @@ -132,7 +132,7 @@ Διαγραφή - + Paste expressions Επικόλληση εκφράσεων @@ -182,7 +182,7 @@ Προσθήκη μιας Ομάδας - + Align Align @@ -193,40 +193,40 @@ Τοποθέτηση - - + + Transform Μετατόπιση - + Toggle array elements Εναλλαγή στοιχείων πίνακα - + Link Transform Σύνδεσμος Μετατόπισης - + Measure distance Μετρήστε απόσταση - + Toggle visibility Εναλλαγή ορατότητας - + Toggle selectability Εναλλαγή επιλεξιμότητας - + Edit image Επεξεργασία εικόνας @@ -234,77 +234,77 @@ CommandGroup - + File Αρχείο - + Edit Επεξεργασία - + Help Βοήθεια - + Link Σύνδεσμος - + Tools Εργαλεία - + View Προβολή - + Window Παράθυρο - + Standard Καθιερωμένο - + Macros Μακροεντολές - + Macro Μακροεντολή - + Structure Κατασκευή - + Standard-Test Έλεγχος Προτύπων - + Standard-View Καθιερωμένη Προβολή - + TreeView TreeView - + Measure Μετρήστε @@ -402,11 +402,6 @@ DownloadItem - - - Form - Μορφή - Ico @@ -421,42 +416,42 @@ EditMode - + Default Προεπιλεγμένο - + The object will be edited using the mode defined internally to be the most appropriate for the object type The object will be edited using the mode defined internally to be the most appropriate for the object type - + Transform Μετατόπιση - + The object will have its placement editable with the Std TransformManip command The object will have its placement editable with the Std TransformManip command - + Cutting Περικοπή - + This edit mode is implemented as available but currently does not seem to be used by any object Αυτή η λειτουργία επεξεργασίας 'είναι διαθέσιμη, αλλά προς το παρόν δεν φαίνεται να χρησιμοποιείται από κανένα αντικείμενο - + Color Χρώμα - + The object will have the color of its individual faces editable with the Part FaceColors command The object will have the color of its individual faces editable with the Part FaceColors command @@ -482,7 +477,7 @@ κανένα - + Press a keyboard shortcut Πατήστε μια συντόμευση πληκτρολογίου @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Διαθέσιμα: - + Selected: Επιλεγμένα: - + Add Προσθήκη - + Remove Αφαίρεση - + Move up Μετακίνηση πάνω - + Move down Μετακίνηση κάτω @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Κινητό αντικείμενο - + Fixed object Σταθερό αντικείμενο @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Παρακαλώ περιμένετε μέχρι να ολοκληρωθεί η αποθήκευση του αρχείου ΑυτόματηΑνάκτηση... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Πιέστε το αριστερό πλήκτρο του ποντικιού - + Press SHIFT and middle mouse button Πιέστε το SHIFT και το μεσαίο πλήκτρο του ποντικιού - + Press middle mouse button Πιέστε το μεσαίο πλήκτρο του ποντικιού - + Scroll middle mouse button Κυλήστε το μεσαίο πλήκτρο του ποντικιού @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Πιέστε το αριστερό πλήκτρο του ποντικιού - + Press middle mouse button Πιέστε το μεσαίο πλήκτρο του ποντικιού - + Press middle+left or middle+right button Πίεσε « το μεσαίο + το αριστερό » ή « το μεσαίο + το δεξί » πλήκτρα - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Κυλήστε το μεσαίο πλήκτρο του ποντικιού (ή κρατήστε το μεσαίο πλήκτρο πιεσμένο), κλικάρωντας, συγχρόνως, με το αριστερό ή το δεξί πλήκτρο, και σύρε το ποντίκι προς τα πάνω ή προς τα κάτω @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK Εντάξει - + &Cancel Ακύρωση @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Πίνακας εργασιών @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Ονόματα Συντελεστών - + FreeCAD would not be possible without the contributions of Το FreeCAD δεν θα ήταν δυνατό χωρίς τις συνεισφορές του - + Individuals Header for the list of individual people in the Credits list. Ατομικά - + Organizations Header for the list of companies/organizations in the Credits list. Οργανισμός - - + + License Άδεια - + Libraries Βιβλιοθήκες - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Αυτό το λογισμικό χρησιμοποιεί στοιχεία ανοικτού κώδικα. Τα πνευματικά δικαιώματα, καθώς και τα άλλα δικαιώματα ιδιοκτησίας, αυτών των στοιχείων, ανήκουν στους εκάστοτε ιδιοκτήτες τους: - + Collection Συλλογή @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Κατάλογος προσωρινή μνήμης (cache) - + The cache directory %1 exceeds the size of %2. Ο κατάλογος προσωρινής αποθήκευσης %1 υπερβαίνει το μέγεθος του %2. - + Do you want to clear it now? Θέλετε να το καθαρίσετε τώρα; - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Προειδοποίηση: Βεβαιωθείτε ότι αυτό είναι το μόνο %1 που εκτελείται και ότι δεν υπάρχουν ανοιχτά έγγραφα, καθώς αυτό μπορεί να οδηγήσει σε απώλεια δεδομένων! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Ρυθμίσεις κάμερας - + Orientation Προσανατολισμός - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Τωρινή προβολή @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Εντολές @@ -1116,12 +1111,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Το αρχείο υπάρχει ήδη - + A preference pack with that name already exists. Do you want to overwrite it? Ένα αρχείο με το ίδιο όνομα υπάρχει ήδη. Θέλετε να το αντικαταστήσετε; @@ -1359,48 +1354,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Πληκτρολογήστε για αναζήτηση... - + Icon Εικονίδιο - + Command Εντολή - + Shortcut Συντόμευση - + Default Προεπιλεγμένο - + Name Όνομα - + Title Τίτλος - + All Όλα - - + + none κανένα @@ -1408,8 +1403,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Γραμμές εργαλειοθηκών @@ -1498,40 +1493,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Διαχωριστικό> - + %1 module not loaded %1 πρόσθετο δεν φορτώθηκε - + New toolbar Νέα γραμμή εργαλείων - - + + Toolbar name: Όνομα γραμμής εργαλείων: - - + + Duplicated name Το όνομα υπάρχει ήδη - - + + The toolbar name '%1' is already used Το όνομα γραμμής εργαλείων '%1' χρησιμοποιείται ήδη - + Rename toolbar Μετονομασία γραμμής εργαλείων @@ -1544,19 +1539,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Προσαρμογή - + &Help Βο&ήθεια - + &Close Κλείσιμο @@ -1565,13 +1560,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Κίνηση Σφαίρας Γραφικών - + No Spaceball Present Δεν Υπάρχει Σφαίρα Γραφικών @@ -1579,27 +1574,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Πλήκτρα Σφαίρας Γραφικών - + No Spaceball Present Δεν Υπάρχει Σφαίρα Γραφικών - + Buttons Πλήκτρα - + Reset Επαναφορά - + Print Reference Εκτυπώστε Αναφορά @@ -1684,549 +1679,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Προεπιλεγμένο - + Aluminium Αλουμίνιο - + Brass Ορείχαλκος - + Bronze Μπρούτζος - + Copper Χαλκός - + Chrome Χρώμιο - + Emerald Σμαράγδι - + Gold Χρυσός - + Jade Νεφρίτης - + Metalized Επιμεταλλωμένο - + Neon GNC Νέον GNC - + Neon PHC Νέον PHC - + Obsidian Οψιανός - + Pewter Κασσίτερος - + Plaster Γύψος - + Plastic Πλαστικό - + Ruby Ρουμπίνι - + Satin Σατέν - + Shiny plastic Γυαλιστερό πλαστικό - + Silver Ασήμι - + Steel Χάλυβας - + Stone Πέτρα Gui::Dialog::DlgEditorSettings - - - Editor - Πρόγραμμα επεξεργασίας - - - - Options - Επιλογές - - - - Code lines will be numbered - Οι γραμμές κώδικα θα αριθμηθούν - - - - Enable line numbers - Ενεργοποίηση αριθμών γραμμών - - - - The cursor shape will be a block - Το σχήμα του κέρσορα θα είναι μπλοκ - - - - Enable block cursor - Ενεργοποίηση του κέρσορα - - - - Enable folding - Ενεργοποίηση αναδίπλωσης - - - - Indentation - Εισαγωγή εσοχής - - - - Tab size: - Μέγεθος καρτέλας: - - - - Tabulator raster (how many spaces) - Πίνακας ψηφιακή εικόνα τύπου bitmap (πόσα κενά) - - - - Indent size: - Μέγεθος εσοχής: - - - - How many spaces will be inserted when pressing <Tab> - Πόσα κενά θα εισαχθούν όταν πατήσετε <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Πατώντας <Tab> θα εισαχθεί το καθορισμένο μέγεθος εσοχής - - - - Keep tabs - Διατηρήστε τις καρτέλες - - - - Pressing <Tab> will insert amount of defined indent size - Πατώντας <Tab> θα εισαχθεί το καθορισμένο μέγεθος εσοχής - - - - Insert spaces - Εισαγωγή κενών - - - - Display items - Εμφάνιση στοιχείων - - - - Color and font settings will be applied to selected type - Θα εφαρμοστούν οι ρυθμίσεις χρώματος και γραμματοσειράς στον επιλεγμένο τύπο - - - - Family: - Οικογένεια: - - - - Font family to be used for selected code type - Μέγεθος γραμματοσειράς που θα χρησιμοποιηθεί για τον επιλεγμένο τύπο κώδικα - - - - Size: - Μέγεθος: - - - - Font size to be used for selected code type - Μέγεθος γραμματοσειράς που θα χρησιμοποιηθεί για τον επιλεγμένο τύπο κώδικα - - - - Color: - Χρώμα: - - - - Preview: - Προεπισκόπηση: - - - Gui::Dialog::DlgGeneral - - - General - Γενικές - - - - Language of the application's user interface - Γλώσσα του περιβάλλοντος εργασίας χρήστη της εφαρμογής - - - - Number format: - Μορφή αριθμού: - - - - Operating system - Λειτουργικό σύστημα - - - - Selected language - Επιλογή γλώσσας - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Πακέτα προτιμήσεων - - - - Name - Όνομα - - - - Type - Τύπος - - - - Load - Φόρτωση - - - - Import config... - Εισαγωγή ρυθμίσεων... - - - - Save new... - Αποθήκευση νέου... - - - - Manage... - Διαχείριση... - - - - Revert... - Επαναφορά... - - - - How many files should be listed in recent files list - Πόσα αρχεία θα πρέπει να καταχωρηθούν στη λίστα πρόσφατων αρχείων - - - - Enable tiled background - Ενεργοποίηση πλακόστρωτου υποβάθρου - - - - The text cursor will be blinking - Ο κέρσορας κειμένου θα αναβοσβήνει - - - - Enable cursor blinking - Ενεργοποίηση αναβοσβήσματος κέρσορα - - - - Style sheet: - Φύλλο τύπων μορφοποίησης: - - - - Language and number format - Μορφή γλώσσας και αριθμού - - - - Language: - Γλώσσα: - - - - Unit system: - Σύστημα μονάδων: - - - - Unit system that should be used for all parts of the application - Σύστημα μονάδας που θα πρέπει να χρησιμοποιείται για όλα τα μέρη της εφαρμογής - - - - Number of decimals: - Πλήθος δεκαδικών: - - - - Number of decimals that should be shown for numbers and dimensions - Αριθμός δεκαδικών που πρέπει να εμφανίζονται για τους αριθμούς και τις διαστάσεις - - - - Minimum fractional inch: - Ελάχιστο κλάσμα των ιντσών: - - - - Minimum fractional inch to be displayed - Ελάχιστη κλασματική ίντσα για εμφάνιση - - - - Substitute decimal separator - Αντικατάσταση δεκαδικού διαχωριστικού - - - - Application - Εφαρμογή - - - - Style sheet how user interface will look like - Φύλλο στυλ πώς θα μοιάζει το περιβάλλον χρήστη - - - - Size of toolbar icons: - Μέγεθος των εικονιδίων γραμμής εργαλείων: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - - - - Tree view mode: - Tree view mode: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Προσαρμόστε τον τρόπο εμφάνισης της δενδρικής προβολής στον πίνακα (απαιτείται επανεκκίνηση). - -'Συνδυαστική προβολή' ('Combo View'): συνδυάστε την προβολή δέντρου και την προβολή ιδιότητας σε ένα πλαίσιο. -'Προβολή δέντρου και προβολή ιδιότητας'('Tree View and PropertyView'): χωρίστε τις προβολές σε ξεχωριστό πλαίσιο. -'Και τα δύο' ('Both'): διατηρήστε και τα τρία πλαίσια και μπορείτε να έχετε δύο σετ προβολής δέντρου και προβολή ιδιοτήτων. - - - - Size of recent file list: - Μέγεθος λίστας πρόσφατων αρχείων: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Το φόντο του κύριου παραθύρου (όταν δεν έχει ανοιχτεί κανένα έγγραφο) θα αποτελείται από πλακίδια μιας ειδικής εικόνας. -Δείτε το Wiki του FreeCAD για λεπτομέρειες σχετικά με την εικόνα. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Εάν είναι επιλεγμένη αυτή η επιλογή 'οθόνη Splash' είναι ένα μικρό παράθυρο φόρτωσης που εμφανίζεται κατά την εκκίνηση του FreeCAD. - - - - Enable splash screen at start up - Ενεργοποίηση οθόνης υποδοχής κατά την εκκίνηση - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Διαχείριση πακέτων προτιμήσεων - - - - Small (%1px) - Μικρό (%1px) - - - - Medium (%1px) - Μεσαίο (%1px) - - - - Large (%1px) - Μεγάλο (%1px) - - - - Extra large (%1px) - Πολύ μεγάλο (%1px) - - - - Custom (%1px) - Προσαρμοσμένο (%1px) - - - - Combo View - Συνδυασμένη Προβολή - - - - TreeView and PropertyView - TreeView and PropertyView - - - - Both - Both - - - - No style sheet - Χωρίς φύλλο τύπων μορφοποίησης - - - - Preference Pack Name - Όνομα Πακέτου Προτίμησης - - - - Tags - Ετικέτες - - - - Apply - Εφαρμογή - - - - Apply the %1 preference pack - Εφαρμογή του %1 πακέτου προτιμήσεων - - - - Choose a FreeCAD config file to import - Επιλέξτε ένα αρχείο ρυθμίσεων FreeCAD για εισαγωγή - - - - File exists - Το αρχείο υπάρχει - - - - A preference pack with that name already exists. Overwrite? - Ένα πακέτο προτιμήσεων με αυτό το όνομα υπάρχει ήδη. Αντικατάσταση; - - Gui::Dialog::DlgInputDialog @@ -2242,8 +1811,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector Επιθεωρητής Σκηνής @@ -2335,71 +1904,71 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros Μακροεντολές - + Read-only Μόνο για ανάγνωση - + Macro file Αρχείο μακροεντολής - + Enter a file name, please: Εισάγετε ένα όνομα αρχείου, παρακαλώ: - - - + + + Existing file Υπάρχον αρχείο - + '%1'. This file already exists. '%1'. Αυτό το αρχείο υπάρχει ήδη. - + Cannot create file Αδύνατη η δημιουργία αρχείου - + Creation of file '%1' failed. Η δημιουργία του αρχείου '% 1' απέτυχε. - + Delete macro Διαγραφή μακροεντολής - + Do you really want to delete the macro '%1'? Θέλετε πραγματικά να διαγράψετε την μακροεντολή '%1'; - + Do not show again Να μην εμφανιστεί ξανά - + Guided Walkthrough Καθοδήγηση - Περιήγηση - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2410,78 +1979,78 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 Περιγράφει, διαλόγου 1 από 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Οδηγίες περιγραφή: Συμπληρώστε τα πεδία που λείπουν (προαιρετικά) και μετά κάντε κλικ στην επιλογή Προσθήκη, έπειτα Κλείσιμο - + Walkthrough, dialog 1 of 1 Περιήγηση, διαλόγου 1 από 1 - + Walkthrough, dialog 2 of 2 Περιήγηση, διαλόγου 2 από 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Οδηγίες περιήγησης: Κάντε κλικ στο κουμπί με το δεξί βέλος (->) και, στη συνέχεια, στο Κλείσιμο. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Οδηγίες περιήγησης: Κάντε κλικ στο Νέο, στη συνέχεια στο κουμπί με το δεξί βέλος (->) και στη συνέχεια στο Κλείσιμο. - + Renaming Macro File Πραγματοποιείται μετονομασία του Αρχείου Μακροεντολής - - + + Enter new name: Εισάγετε νέο όνομα: - - + + '%1' already exists. Το '%1' υπάρχει ήδη. - + Rename Failed Η Μετονομασία Απέτυχε - + Failed to rename to '%1'. Perhaps a file permission error? Αποτυχία μετονομασίας σε '%1'. Ίσως υπάρχει κάποιο σφάλμα άδειας αρχείου; - + Duplicate Macro Διπλογραφή της Μακροεντολής - + Duplicate Failed Αποτυχία Κατά τη Διπλογραφή - + Failed to duplicate to '%1'. Perhaps a file permission error? Αποτυχία κατά την διπλογραφή στο '%1'. @@ -2524,39 +2093,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Καταγραφέας μακροεντολών - + Specify first a place to save. Καθορίστε πρώτα μια τοποθεσία αποθήκευσης. - + The macro directory doesn't exist. Please, choose another one. Το ευρετήριο μακροεντολών δεν υπάρχει. Παρακαλώ, επιλέξτε κάποιο άλλο. - + Existing macro Υπάρχουσα μακροεντολή - + The macro '%1' already exists. Do you want to overwrite? Η μακροεντολή '%1' υπάρχει ήδη. Επιθυμείτε να αντικατασταθεί; - + You have no write permission for the directory. Please, choose another one. Δεν έχετε δικαίωμα εγγραφής για τo ευρετήριο. Παρακαλώ, επιλέξτε κάποιο άλλο. - + Choose macro directory Επιλέξτε ευρετήριο μακροεντολής @@ -2629,12 +2198,12 @@ Perhaps a file permission error? Αρχεία HTML - + Access denied Δεν επιτρέπεται η πρόσβαση - + Access denied to '%1' Specify another directory, please. @@ -3035,36 +2604,36 @@ Specify another directory, please. Αρχείο έργου - - + + Empty source Κενή πηγή - - + + No source is defined. Δεν προσδιορίστηκε καμία πηγή. - - + + Empty destination Κενός προορισμός - - + + No destination is defined. Δεν ορίστηκε κανένας προορισμός. - + Failed to extract project Αποτυχία εξαγωγής έργου - + Failed to create project Failed to create project @@ -3114,184 +2683,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Προβολή αναφοράς - - - - Output - Έξοδος - - - - Normal messages will be recorded - Κανονικά μηνύματα θα καταγράφονται - - - - Record normal messages - Καταγραφή κανονικών μηνυμάτων - - - - Log messages will be recorded - Θα καταγράφονται τα μηνύματα καταγραφής - - - - Record log messages - Καταχώρηση μηνυμάτων αρχείου καταγραφής - - - - Warnings will be recorded - Οι προειδοποιήσεις θα καταγράφονται - - - - Record warnings - Καταγραφή προειδοποιήσεων - - - - Error messages will be recorded - Θα καταγράφονται μηνύματα σφάλματος - - - - Record error messages - Καταγραφή μηνυμάτων σφάλματος - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Όταν παρουσιαστεί σφάλμα, το παράθυρο διαλόγου Προβολή αναφοράς γίνεται ορατό στην οθόνη και εμφανίζεται το σφάλμα - - - - Show report view on error - Εμφάνιση προβολής αναφοράς σχετικά με το σφάλμα - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Όταν εμφανιστεί μια προειδοποίηση, το παράθυρο διαλόγου Προβολή αναφοράς γίνεται ορατό στην οθόνη ενώ εμφανίζεται η προειδοποίηση - - - - Show report view on warning - Εμφάνιση της προβολής αναφοράς στην προειδοποίηση - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Όταν προκύψει ένα κανονικό μήνυμα, το παράθυρο διαλόγου Προβολή αναφοράς γίνεται ορατό στην οθόνη κατά την εμφάνιση του μηνύματος - - - - Show report view on normal message - Εμφάνιση προβολής αναφοράς σε κανονικό μήνυμα - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Όταν εμφανιστεί ένα μήνυμα καταγραφής, ο διάλογος "Αναφορά προβολής" γίνεται ορατός στην οθόνη κατά την εμφάνιση του μηνύματος καταγραφής - - - - Show report view on log message - Εμφάνιση της προβολής αναφοράς στο μήνυμα καταγραφής - - - - Include a timecode for each report - Include a timecode for each report - - - - Include a timecode for each entry - Include a timecode for each entry - - - - Colors - Χρώματα - - - - Normal messages: - Κανονικά μηνύματα: - - - - Font color for normal messages in Report view panel - Χρώμα γραμματοσειράς για κανονικά μηνύματα στον πίνακα Αναφοράς προβολής - - - - Log messages: - Μηνύματα αρχείου καταγραφής: - - - - Font color for log messages in Report view panel - Χρώμα γραμματοσειράς για μηνύματα καταγραφής στον πίνακα Αναφοράς προβολής - - - - Warnings: - Προειδοποιήσεις: - - - - Font color for warning messages in Report view panel - Χρώμα γραμματοσειράς για προειδοποιητικά μηνύματα στον πίνακα Αναφοράς προβολής - - - - Errors: - Σφάλματα: - - - - Font color for error messages in Report view panel - Χρώμα γραμματοσειράς για μηνύματα σφάλματος στον πίνακα Αναφοράς προβολής - - - - Python interpreter - Διερμηνέας Python - - - - Internal Python output will be redirected -from Python console to Report view panel - Η εσωτερική έξοδος Python θα ανακατευθυνθεί -από την κονσόλα Python στο πλαίσιο προβολής αναφοράς - - - - Redirect internal Python output to report view - Ανακατεύθυνση της εσωτερικής εξόδου Python στην προβολή αναφορών - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Τα εσωτερικά μηνύματα σφάλματος Python θα ανακατευθύνονται -από την κονσόλα Python στον πίνακα προβολής Αναφοράς - - - - Redirect internal Python errors to report view - Ανακατεύθυνση των εσωτερικών σφαλμάτων Python στην προβολή αναφορών - @@ -3318,7 +2709,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Καμία επιλογή στο διάλογο, αδυναμία φόρτωσης αρχείου αντιγράφου ασφαλείας @@ -3361,7 +2752,7 @@ from Python console to Report view panel Βοήθεια - + Select a file Επιλέξτε ένα αρχείο @@ -3369,67 +2760,67 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View Τρισδιάστατη Προβολή - + General Γενικές - + Main coordinate system will always be shown in lower right corner within opened files Το σύστημα συντεταγμένων θα εμφανίζεται πάντα στην κάτω δεξιά γωνία εντός των ανοιχτών αρχείων - + Show coordinate system in the corner Εμφάνιση συστήματος συντεταγμένων στην γωνία - + Relative size : Σχετικό μέγεθος : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Μέγεθος αναπαράστασης του συστήματος συντεταγμένων στη γωνία -- σε % του ύψους/πλάτους της προβολής - + Axis cross will be shown by default at file opening or creation Ο σταυρός αξόνων θα εμφανίζεται κατά το άνοιγμα ή τη δημιουργία ενός αρχείου - + Show axis cross by default Προεπιλογή εμφάνιση σταυρού αξόνων - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Ο χρόνος που απαιτείται για την τελευταία λειτουργία και ο προκύπτων ρυθμός καρέ θα εμφανίζονται στην κάτω αριστερή γωνία στα ανοιχτά αρχεία - + Show counter of frames per second Εμφάνιση μετρητή των καρέ ανά δευτερόλεπτο - + Rendering Απεικόνιση - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3438,22 +2829,22 @@ Changing this option requires a restart of the application. Η αλλαγή αυτής της επιλογής απαιτεί επανεκκίνηση της εφαρμογής. - + Use software OpenGL Χρήση λογισμικού OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Use OpenGL VBO (Vertex Buffer Object) - + Render cache Render cache - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3476,7 +2867,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3493,92 +2884,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Αυτόματο - + Distributed Κατανομή - + Centralized Συγκέντρωση - + Anti-Aliasing Anti-Aliasing - + What kind of multisample anti-aliasing is used What kind of multisample anti-aliasing is used - + None Κανένα - + Line Smoothing Εξομάλυνση Γραμμής - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Διαφανή αντικείμενα: - + Render types of transparent objects Render types of transparent objects - + One pass One pass - + Backface pass Backface pass - + Marker size: Μέγεθος του δείκτη: - - Size of vertices in the Sketcher workbench - Μέγεθος των κορυφών στον πάγκο εργασίας τα "Σκίτσα" + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Eye to eye distance for stereo modes - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3586,48 +2977,48 @@ bounding box size of the 3D object that is currently displayed. Η καθορισμένη τιμή είναι ένας παράγοντας που θα πολλαπλασιαστεί με το μέγεθος του πλαισίου οριοθέτησης του τρισδιάστατου αντικειμένου που εμφανίζεται αυτήν τη στιγμή. - + Backlight is enabled with the defined color Backlight is enabled with the defined color - - + + Backlight color Backlight color - + Intensity Ένταση - + Intensity of the backlight Ένταση οπίσθιου φωτισμού - + Camera type Τύπος κάμερας - + Objects will appear in a perspective projection Objects will appear in a perspective projection - + Perspective renderin&g Προοπτική αποτύπωση - + Objects will be projected in orthographic projection Objects will be projected in orthographic projection - + Or&thographic rendering Ορθογραφική απο&τύπωση @@ -3639,42 +3030,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anti-aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Ανοίξτε ένα νέο πρόγραμμα προβολής ή πραγματοποιήστε επανεκκίνηση %1 για να εφαρμόσετε τις αλλαγές anti-aliasing. @@ -3682,77 +3073,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Κατάλογος προσωρινή μνήμης (cache) - + Location: Location: - + Check periodically at program start: Ελέγχετε περιοδικά με την έναρξη του προγράμματος: - + Always Always - + Daily Καθημερινά - + Weekly Εβδομαδιαία - + Monthly Monthly - + Yearly Yearly - + Never Never - + Cache size limit: Cache size limit: - + Check now... Check now... - + Notify the user if the cache size exceeds the specified limit Notify the user if the cache size exceeds the specified limit - + Unknown Άγνωστο - + Current cache size: %1 Current cache size: %1 @@ -3913,12 +3304,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Εσφαλμένη παράμετρος - + The maximum value must be higher than the minimum value. Η μέγιστη τιμή πρέπει να είναι υψηλότερη από την ελάχιστη τιμή. @@ -3926,182 +3317,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Έγγραφο - + General Γενικές - + The application will create a new document when started Η εφαρμογή θα δημιουργήσει ένα νέο έγγραφο όταν ξεκινήσει - + Create new document at start up Δημιουργήστε νέο έγγραφο κατά την έναρξη - + Document save compression level (0 = none, 9 = highest, 3 = default) Βαθμός συμπίεσης αποθηκευόμενων εγγράφων (0 = καμία, 9 = ύψιστη, 3 = προεπιλεγμένη) - + Compression level for FCStd files Compression level for FCStd files - + All changes in documents are stored so that they can be undone/redone Όλες οι αλλαγές στα έγγραφα αποθηκεύονται έτσι ώστε να μπορούν να αναιρεθούν/επαναληφθούν - + Using Undo/Redo on documents Χρήση Αναίρεσης/Επανάληψης σε έγγραφα - + Maximum Undo/Redo steps Μέγιστο πλήθος βημάτων Αναίρεσης/Επανάληψης - + How many Undo/Redo steps should be recorded How many Undo/Redo steps should be recorded - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. - + Allow aborting recomputation Allow aborting recomputation - + Storage Αποθήκευση - + Saving transactions (Auto-save) Πραγματοποιείται αποθήκευση συναλλαγών (Αυτόματη αποθήκευση) - + Discard saved transaction after saving document Απόρριψη αποθηκευμένης συναλλαγής μετά την αποθήκευση του εγγράφου - + If there is a recovery file available the application will automatically run a file recovery when it is started. If there is a recovery file available the application will automatically run a file recovery when it is started. - + Run AutoRecovery at startup Εκτέλεση ΑυτόματηςΑποκατάστασης κατά την εκκίνηση - + How often a recovery file is written How often a recovery file is written - + Save AutoRecovery information every Αποθήκευση πληροφοριών ΑυτόματηςΑποκατάστασης κάθε - + A thumbnail will be stored when document is saved A thumbnail will be stored when document is saved - + Save thumbnail into project file when saving document Αποθήκευση μικρογραφίας σε αρχείο έργου κατά την αποθήκευση εγγράφου - + Size Μέγεθος - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 - + The program logo will be added to the thumbnail The program logo will be added to the thumbnail - + Add the program logo to the generated thumbnail Προσθήκη του λογότυπου προγράμματος στην παραγόμενη μικρογραφία - + How many backup files will be kept when saving document How many backup files will be kept when saving document - + Maximum number of backup files to keep when resaving document Μέγιστο πλήθος αρχείων αντιγράφων ασφαλείας προς διατήρηση κατά την επαναποθήκευση εγγράφου - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Backup files will get extension '.FCbak' and file names get date suffix according to the specified format - + Use date and FCBak extension Use date and FCBak extension - + Date format Date format - + Document objects Αντικείμενα εγγράφου - + Allow objects to have same label Allow objects to have same label - + Allow duplicate object labels in one document Να επιτρέπεται η χρήση ομοίων ετικετών αντικειμένων στο ίδιο έγγραφο - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4113,22 +3504,22 @@ icon in the tree view to fully reload it. Κάντε διπλό κλικ στο εικονίδιο του εγγράφου στην προβολή δέντρου για να το φορτώσετε πλήρως. - + Disable partial loading of external linked objects Disable partial loading of external linked objects - + Authoring and License Συγγραφή και Άδεια - + Author name Όνομα συγγραφέα - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4137,32 +3528,32 @@ Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file The field 'Last modified by' will be set to specified author when saving the file - + Set on save Ορισμός κατά την αποθήκευση - + Company Εταιρεία - + Default company name to use for new files Default company name to use for new files - + Default license Προεπιλεγμένη άδεια - + Default license for new documents Default license for new documents @@ -4232,12 +3623,12 @@ You can also use the form: John Doe <john@doe.com> Άλλο - + License URL Διεύθυνση URL της άδειας - + URL describing more about the license URL describing more about the license @@ -4245,104 +3636,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Μορφή ημερομηνίας προς χρήση - + Default Προεπιλεγμένο - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Κείμενο - - - - Bookmark - Σελιδοδείκτης - - - - Breakpoint - Σημείο Διακοπής - - - - Keyword - Λέξη-κλειδί - - - - Comment - Σχόλιο - - - - Block comment - Σχόλιο του μπλοκ - - - - Number - Αριθμός - - - - String - Συμβολοσειρά - - - - Character - Χαρακτήρας - - - - Class name - Όνομα κλάσης - - - - Define name - Ορίστε όνομα - - - - Operator - Τελεστής - - - - Python output - Έξοδος Python - - - - Python error - Σφάλμα Python - - - - Current line highlight - Επισήμανση τρέχουσας γραμμής - - - - Items - Αντικείμενα - - Gui::Dialog::DlgSettingsImage @@ -4523,122 +3831,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Μακροεντολή - + General macro settings Γενικές ρυθμίσεις μακροεντολών - + Variables defined by macros are created as local variables Οι μεταβλητές που καθορίζονται από τις μακροεντολές δημιουργούνται ως τοπικές μεταβλητές - + Run macros in local environment Εκτέλεση μακροεντολών σε τοπικό περιβάλλον - + Macro recording settings Ρυθμίσεις καταγραφής μακροεντολών - + Macro path Διαδρομή μακροεντολής - + The directory in which the application will search for macros Ο κατάλογος στον οποίο η εφαρμογή θα αναζητήσει μακροεντολές - + Gui commands Εντολές Γραφικού Περιβάλλοντος Χρήστη - + Recorded macros will also contain user interface commands Οι εγγραφόμενες μακροεντολές θα περιέχουν επίσης εντολές διεπαφής χρήστη - + Record GUI commands Καταγραφή των εντολών της Γενικής Διάδρασης του Χρήστη - + Recorded macros will also contain user interface commands as comments Οι εγγραφόμενες μακροεντολές θα περιέχουν επίσης εντολές διεπαφής χρήστη ως σχόλια - + Record as comment Καταγραφή ως σχόλιο - + Logging Commands Εντολές Καταγραφής - + Commands executed by macro scripts are shown in Python console Οι εντολές που εκτελούνται από μακροεντολές εμφανίζονται στην κονσόλα Python - + Show script commands in python console Εμφάνιση εντολών σεναρίου στην κονσόλα python - + Log all commands issued by menus to file: Καταγραφή όλων των εντολών που εκδίδονται από μενού στο αρχείο: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Μενού πρόσφατων μακροεφαρμογών - + Size of recent macro list Μέγεθος πρόσφατης λίστας μακροεντολών - + How many macros should be listed in recent macros list Πόσες μακροεντολές θα πρέπει να εμφανίζονται στη λίστα πρόσφατων μακροεντολών - + Keyboard shortcut count Καταμέτρηση συντομεύσεων πληκτρολογίου - + How many recent macros should have shortcuts Πόσες πρόσφατες μακροεντολές θα πρέπει να έχουν συντομεύσεις - + Keyboard Modifiers Τροποποιητές Πληκτρολογίου - + Keyboard modifiers, default = Ctrl+Shift+ Τροποποιήσεις πληκτρολογίου, προεπιλογή = Ctrl+Shift+ @@ -4646,130 +3954,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Πλοήγηση - + Navigation cube Τύπος Πλοήγησης - + Steps by turn Βήματα κατά την περιστροφή - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Αριθμός βημάτων με στροφή κατά τη χρήση βελών (προεπιλογή = 8 : γωνία βημάτων = 360/8 = 45 deg) - + Corner Γωνία - + Corner where navigation cube is shown Γωνία όπου εμφανίζεται ο κύβος πλοήγησης - + Top left Πάνω αριστερά - + Top right Πάνω δεξιά - + Bottom left Κάτω αριστερά - + Bottom right Κάτω δεξιά - + Rotates to nearest possible state when clicking a cube face Rotates to nearest possible state when clicking a cube face - + Rotate to nearest Περιστροφή στο πλησιέστερο - + Font name: Font name: - + Font name of the navigation cube Όνομα γραμματοσειράς του κύβου πλοήγησης - + Default Προεπιλεγμένο - + Cube size Μέγεθος κύβου - + Size of the navigation cube Μέγεθος του κύβου πλοήγησης - + Color Χρώμα - + Base color for all elements Base color for all elements - + 3D Navigation Τρισδιάστατη Πλοήγηση - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Εμφάνιση των ρυθμίσεων του ποντικιού για κάθε επιλεγμένη ρύθμιση πλοήγησης. Επιλέξτε ένα σετ και στη συνέχεια πατήστε το κουμπί για να δείτε αυτές τις ρυθμίσεις. - + Mouse... Ποντίκι... - + Navigation settings set Οι ρυθμίσεις πλοήγησης ορίστηκαν - + Orbit style Τύπος μορφοποίησης τροχιάς - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4780,116 +4088,116 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable Περιστρεφόμενη βάση - + Trackball Ιχνόσφαιρα - + Free Turntable Free Turntable - + Rotation mode Λειτουργία περιστροφής - + Rotations in 3D will use current cursor position as center for rotation Περιστροφή σε 3D θα χρησιμοποιήσει την τρέχουσα θέση του κέρσορα ως κέντρο για περιστροφή - + Window center Κεντράρισμα παραθύρου - + Drag at cursor Σύρετε τον κέρσορα - + Object center Κέντρο αντικειμένων - + Default camera orientation Προεπιλεγμένος προσανατολισμός κάμερας - + Default camera orientation when creating a new document or selecting the home view Προεπιλεγμένος προσανατολισμός κάμερας κατά τη δημιουργία ενός νέου εγγράφου ή την επιλογή της προβολής αρχικής οθόνης - + Camera zoom Μεγέθυνση κάμερας - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Ρυθμίζει το ζουμ της κάμερας για νέα έγγραφα. Η τιμή είναι η διάμετρος της σφαίρας που θα χωρέσει στην οθόνη. - + mm χιλιοστά - + Enable animated rotations Enable animated rotations - + Enable animation Ενεργοποίηση αναπαράστασης κίνησης - + Zoom operations will be performed at position of mouse pointer Zoom operations will be performed at position of mouse pointer - + Zoom at cursor Εστίαση στον κέρσορα - + Zoom step Zoom step - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Πόσο θα μεγεθύνεται. Το βήμα ζουμ του '1' σημαίνει ένα συντελεστή 7,5 για κάθε βήμα ζουμ. - + Direction of zoom operations will be inverted Direction of zoom operations will be inverted - + Invert zoom Αντιστροφή εστίασης - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4898,57 +4206,67 @@ Affects only gesture navigation style. Mouse tilting is not disabled by this setting. - + Disable touchscreen tilt gesture Απενεργοποίηση της χειρονομίας πλαγιάσματος, από την οθόνη αφής - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Ισομετρική - + Dimetric Διμετρική - + Trimetric Τριμετρική - + Top Πάνω - + Front Εμπρόσθια - + Left Αριστερά - + Right Δεξιά - + Rear Οπίσθια - + Bottom Κάτω - + Custom Επιλογή @@ -4956,44 +4274,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Κονσόλα Python - + Settings Ρυθμίσεις - + Words will be wrapped when they exceed available horizontal space in Python console Words will be wrapped when they exceed available horizontal space in Python console - + Enable word wrap Ενεργοποίηση της αναδίπλωσης λέξεων - + The cursor shape will be a block Το σχήμα του κέρσορα θα είναι μπλοκ - + Enable block cursor Ενεργοποίηση του κέρσορα - + Saves Python history across sessions Saves Python history across sessions - + Save history Save history @@ -5001,17 +4319,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Επιλογή - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Διαλέξτε ακτίνα (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5020,27 +4358,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Αυτόματη μετάβαση στην τρισδιάστατη προβολή που περιέχει το επιλεγμένο αντικείμενο - + Auto expand tree item when the corresponding object is selected in 3D view Auto expand tree item when the corresponding object is selected in 3D view - + Preselect the object in 3D view when mouse over the tree item Preselect the object in 3D view when mouse over the tree item - + Record selection in tree view in order to go back/forward using navigation button Record selection in tree view in order to go back/forward using navigation button - + Add checkboxes for selection in document tree Προσθήκη πλαισίων επιλογής στο δέντρο εγγράφων @@ -5048,147 +4386,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Χρώματα - - Selection - Επιλογή - - - - Enable preselection and highlight by specified color - Enable preselection and highlight by specified color - - - - Enable preselection highlighting - Ενεργοποίηση επισήμανσης προεπιλογής - - - - Enable selection highlighting and use specified color - Enable selection highlighting and use specified color - - - - Enable selection highlighting - Ενεργοποίηση επισήμανσης επιλογής - - - + Background color for the model view Background color for the model view - + Background color Χρώμα υποβάθρου - - + + Background will have selected color Background will have selected color - + Simple color Απλό χρώμα - - + + Background will have selected color gradient Background will have selected color gradient - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Top: - - + + Middle: Middle: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch Switch - + Color gradient will get selected color as middle color Color gradient will get selected color as middle color - + Middle color Μεσαίο χρώμα - - + + Bottom: Κάτω: - + Tree view Προβολή δενδροδιαγράμματος - + Object being edited Αντικείμενο σε επεξεργασία - + Background color for objects in tree view that are currently edited Background color for objects in tree view that are currently edited - + Active container Ενεργό δοχείο - + Background color for active containers in tree view Background color for active containers in tree view - + Central: Κέντρο: - + Midway: Μεσαίο: - + End: Τέλος: @@ -5300,12 +4613,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: άγνωστη μονάδα: - + unit mismatch unit mismatch @@ -5313,7 +4626,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement Τοποθέτηση @@ -5365,60 +4678,60 @@ The 'Status' column shows whether the document could be recovered. Δεν έχει ανακτηθεί ακόμη - + Unknown problem occurred Παρουσιάστηκε άγνωστο πρόβλημα - - + + Failed to recover Αποτυχία ανάκτησης - + Successfully recovered Ανακτήθηκε επιτυχώς - + Finish Ολοκλήρωση - - + + Delete Διαγραφή - - + + Cleanup Καθάρισμα - + Are you sure you want to delete the selected transient directories? Είστε βέβαιοι πως θέλετε να διαγράψετε τα επιλεγμένα προσωρινά ευρετήρια; - + When deleting the selected transient directory you won't be able to recover any files afterwards. Όταν διαγράφετε το επιλεγμένο προσωρινό ευρετήριο δεν θα είστε σε θέση να ανακτήσετε κανένα αρχείο στη συνέχεια. - + Are you sure you want to delete all transient directories? Είστε βέβαιοι πως θέλετε να διαγράψετε όλα τα προσωρινά ευρετήρια; - + When deleting all transient directories you won't be able to recover any files afterwards. When deleting all transient directories you won't be able to recover any files afterwards. - + Transient directories deleted. Τα προσωρινά ευρετήρια διαγράφηκαν. @@ -5542,7 +4855,7 @@ The 'Status' column shows whether the document could be recovered. Φάκελοι εικονιδίων - + Add icon folder Προσθήκη φακέλου εικονιδίων @@ -5555,12 +4868,12 @@ The 'Status' column shows whether the document could be recovered. Προσθήκη ή αφαίρεση προσαρμοσμένων φακέλων εικονιδίων - + Remove folder Αφαίρεση φακέλου - + Removing a folder only takes effect after an application restart. Η αφαίρεση φακέλου τίθεται σε ισχύ μόνο μετά από επανεκκίνηση της εφαρμογής. @@ -5630,79 +4943,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Επέκταση - + Add sub-group Προσθήκη υποομάδας - - + + Remove group Αφαίρεση ομάδας - + Rename group Μετονομασία ομάδας - + Export parameter Εξαγωγή παραμέτρου - + Import parameter Εισαγωγή παραμέτρου - + Collapse Σύμπτυξη - + Do you really want to remove this parameter group? Do you really want to remove this parameter group? - + Existing sub-group Υπάρχουσα υποομάδα - + The sub-group '%1' already exists. Η υποομάδα '%1' υπάρχει ήδη. - + Export parameter to file Εξαγωγή παραμέτρου σε αρχείο - + Import parameter from file Εισαγωγή παραμέτρου από αρχείο - + Import Error Σφάλμα κατά την Εισαγωγή - + Reading from '%1' failed. Η ανάγνωση από το '%1' απέτυχε. @@ -5710,65 +5023,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Αλλαγή τιμής - + Remove key Αφαίρεση κλειδιού - + Rename key Μετονομασία κλειδιού - + New Νέο - + New string item Νέο αντικείμενο συμβολοσειράς - + New float item Νέο πραγματικό αντικείμενο - + New integer item Νέο ακέραιο αντικείμενο - + New unsigned item Νέο μη υπογεγραμμένο αντικείμενο - + New Boolean item Νέο αντικείμενο άλγεβρας Boole - - - - - + + + + + Existing item Υπάρχον αντικείμενο - - - - - + + + + + The item '%1' already exists. Το αντικείμενο '%1' υπάρχει ήδη. @@ -5914,17 +5227,17 @@ The 'Status' column shows whether the document could be recovered. Εφαρμογή - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Επιλέξτε 1, 2 ή 3 σημεία πριν κάνετε κλικ σε αυτό το κουμπί. Ένα σημείο μπορεί να βρίσκεται σε μια κορυφή, μια όψη ή μια άκρη. Εάν βρίσκεται σε μια όψη ή μια άκρη, το σημείο που χρησιμοποιείται θα είναι το σημείο στη θέση του ποντικιού κατά μήκος της όψης ή της άκρης. Εάν επιλεγεί 1 σημείο, θα χρησιμοποιηθεί ως κέντρο περιστροφής. Εάν επιλεγούν 2 σημεία, το μέσο μεταξύ τους θα είναι το κέντρο περιστροφής και θα δημιουργηθεί ένας νέος προσαρμοσμένος άξονας, εάν χρειαστεί. Εάν επιλεγούν 3 σημεία, το πρώτο σημείο γίνεται το κέντρο περιστροφής και βρίσκεται στο διάνυσμα που είναι κάθετο στο επίπεδο που ορίζεται από τα 3 σημεία. Στην προβολή αναφοράς παρέχονται ορισμένες πληροφορίες απόστασης και γωνίας, οι οποίες μπορεί να είναι χρήσιμες κατά την ευθυγράμμιση αντικειμένων. Για τη διευκόλυνσή σας, όταν χρησιμοποιείται Shift + κλικ, η κατάλληλη απόσταση ή γωνία αντιγράφεται στο πρόχειρο. - + Incorrect quantity Εσφαλμένη ποσότητα - + There are input fields with incorrect input, please ensure valid placement values! Υπάρχουν πεδία εισόδου με εσφαλμένη είσοδο, παρακαλώ βεβαιωθείτε πως χρησιμοποιείτε έγκυρες τιμές τοποθέτησης! @@ -5932,12 +5245,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Πλήκτρο - + Command Εντολή @@ -6001,17 +5314,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Δενδροδιάγραμμα Inventor - + Name Όνομα - + Nodes Κόμβοι @@ -6067,14 +5380,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Ακύρωση - - + + Transform Μετατόπιση @@ -6172,13 +5485,13 @@ originally selected prior to opening this dialog - + Model Μοντέλο - + Tasks Ανατεθειμένες Εργασίες @@ -6186,7 +5499,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Προβολή Ιδιοτήτων @@ -6194,82 +5507,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Επιλογές - + Display message types Εμφάνιση μηνύματος - - + + Normal messages Κανονικά μηνύματα - - + + Log messages Καταγραφή μηνυμάτων - - + + Warnings Warnings - - + + Errors Errors - - + + Critical messages Κρίσιμα μηνύματα - + Show Report view on Εμφάνιση προβολής αναφοράς στις - + Redirect Python output Ανακατεύθυνση εξόδου Python - + Redirect Python errors Ανακατεύθυνση σφαλμάτων Python - + Go to end Μετάβαση στο τέλος - + Clear Εκκαθάριση - + Save As... Αποθήκευση Ως... - + Save Report Output Αποθήκευση Εξόδου Αναφοράς - + Plain Text Files Αρχεία Απλού Κειμένου @@ -6278,13 +5591,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Έξοδος - + Python console Κονσόλα Python @@ -6322,72 +5635,72 @@ originally selected prior to opening this dialog Λίστα επιλεγμένων αντικειμένων - + Select only Επιλέξτε μόνο - + Selects only this object Επιλέγει μόνο αυτό το αντικείμενο - + Deselect Αναίρεση επιλογής - + Deselects this object Αναιρεί την επιλογή αυτού του αντικειμένου - + Zoom fit Προσαρμογή εστίασης - + Selects and fits this object in the 3D window Επιλέγει και προσαρμόζει αυτό το αντικείμενο στο παράθυρο τρισδιάστατης προβολής - + Go to selection Μεταβείτε στην επιλογή - + Selects and locates this object in the tree view Επιλέγει και εντοπίζει αυτό το αντικείμενο στην προβολή δενδροδιαγράμματος - + Mark to recompute Επισημάνετε για επανεκτέλεση υπολογισμών - + Mark this object to be recomputed Επισημάνετε αυτό το αντικείμενο για επανεκτέλεση των υπολογισμών του - + To python console Στην κονσόλα Python - + Reveals this object and its subelements in the python console. Αποκαλύπτει αυτό το αντικείμενο και τα δευτερεύοντα στοιχεία του στην κονσόλα Python. - + Duplicate subshape Αντιγραφή δευτερεύοντος σχήματος - + Creates a standalone copy of this subshape in the document Δημιουργεί ένα αυτόνομο αντίγραφο του εν λόγω δευτερεύοντος σχήματος στο έγγραφο @@ -6400,7 +5713,7 @@ originally selected prior to opening this dialog Εφαρμογή - + Labels & Attributes Ετικέτες & Χαρακτηριστικά @@ -6449,27 +5762,27 @@ Do you want to save your changes? Αρχείο PDF - + untitled[*] χωρίς τίτλο[*] - + - Editor - Πρόγραμμα Επεξεργασίας - + %1 chars removed Απομακρύνθηκαν %1 χαρακτήρες - + %1 chars added Προστέθηκαν %1 χαρακτήρες - + Formatted Μορφοποιημένο @@ -6493,13 +5806,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Επιλέξτε ένα αρχείο - + Select a directory Επιλέξτε ένα ευρετήριο @@ -6507,13 +5820,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Αποθήκευση ως - - + + Open Άνοιγμα @@ -6521,12 +5834,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Επέκταση - + All files (*.*) Όλα τα αρχεία (*.*) @@ -6534,27 +5847,27 @@ Do you want to save your changes? Gui::Flag - + Top left Πάνω αριστερά - + Bottom left Κάτω αριστερά - + Top right Πάνω δεξιά - + Bottom right Κάτω δεξιά - + Remove Αφαίρεση @@ -6562,22 +5875,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Tap OR click left mouse button. - + Drag screen with two fingers OR press right mouse button. Drag screen with two fingers OR press right mouse button. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Σύρετε την οθόνη με το ένα δάχτυλο. Ή πιέστε το αριστερό πλήκτρο του ποντικιού. Σε λειτουργία επεξεργασίας Σκαριφημάτων και σε άλλες λειτουργίες επεξεργασίας, κρατήστε πιεσμένο και το Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Μεγέθυνσή (τοποθετήστε δύο δάχτυλα στην οθόνη και σύρετε τα απομακρύνοντας τα). 'Η κυλήστε το μεσαίο πλήκτρο του ποντικιού. Ή πιέστε τα πλήκτρα PgUp/Pg/Down στο πληκτρολόγιο. @@ -6586,74 +5899,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Δεν βρέθηκε το λογισμικό Graphviz - + Graphviz couldn't be found on your system. Αδύνατη η εύρεση του λογισμικού Graphviz στον υπολογιστή σας. - + Read more about it here. Διαβάστε περισσότερα σχετικά με αυτό εδώ. - + Do you want to specify its installation path if it's already installed? Θέλετε να καθορίσετε τη διαδρομή εγκατάστασής του εφόσον είναι ήδη εγκατεστημένο; - + Graphviz installation path Διαδρομή εγκατάστασης λογισμικού Graphviz - + Graphviz failed Το λογισμικό Graphviz απέτυχε - + Graphviz failed to create an image file Το λογισμικό Graphviz απέτυχε στη δημιουργία αρχείου εικόνας - + PNG format Μορφή PNG - + Bitmap format Μορφή Bitmap - + GIF format Μορφή GIF - + JPG format Μορφή JPG - + SVG format Μορφή SVG - - + + PDF format Μορφή PDF - - + + Export graph Εξαγωγή γραφικού @@ -6661,12 +5974,12 @@ Do you want to save your changes? Gui::InputField - + Edit Επεξεργασία - + Save value Αποθήκευση τιμής @@ -6674,22 +5987,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Πιέστε το CTRL και το αριστερό πλήκτρο του ποντικιού - + Press middle mouse button Πιέστε το μεσαίο πλήκτρο του ποντικιού - + Press left mouse button Πιέστε το αριστερό πλήκτρο του ποντικιού - + Scroll middle mouse button Κυλήστε το μεσαίο πλήκτρο του ποντικιού @@ -6697,7 +6010,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Λίστα @@ -6705,66 +6018,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Ορισμένο από τον χρήστη... - + - - + + Wrong direction Λάθος κατεύθυνση - + - - + + Direction must not be the null vector Η κατεύθυνση δεν πρέπει να ορίζεται από το μηδενικό διάνυσμα @@ -6772,22 +6085,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6795,17 +6108,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Μακροεντολές - + Macro file doesn't exist Το αρχείο μακροεντολής δεν υπάρχει - + No such macro file: '%1' Δεν υπάρχει τέτοιο αρχείο μακροεντολής: '%1' @@ -6813,63 +6126,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Διάσταση - + Ready Έτοιμο - + Help addon needed! Απαιτείται πρόσθετο βοήθειας! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Το σύστημα βοήθειας του %1 αντιμετωπίζεται τώρα από το πρόσθετο "Βοήθεια". Μπορεί εύκολα να εγκατασταθεί μέσω του Διαχειριστή πρόσθετων - + Open Addon Manager Άνοιγμα Διαχειριστή Πρόσθετων - + Close All Κλείσιμο Όλων - - + + Toggles this toolbar Εναλλάσσει την λειτουργία εμφάνισης/απόκρυψης αυτής της γραμμής εργαλείων - - + + Toggles this dockable window Εναλλάσσει την λειτουργία εμφάνισης/απόκρυψης αυτού του προσδέσιμου παραθύρου - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document Μη αποθηκευμένο έγγραφο - + The exported object contains external link. Please save the documentat least once before exporting. The exported object contains external link. Please save the documentat least once before exporting. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? To link to external objects, the document must be saved at least once. @@ -6879,63 +6202,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Χειροκίνητη ευθυγράμμιση - + The alignment is already in progress. Η ευθυγράμμιση βρίσκεται ήδη σε εξέλιξη. - + Alignment[*] Ευθυγράμμιση[*] - + Please, select at least one point in the left and the right view Παρακαλώ, επιλέξτε τουλάχιστον ένα σημείο στην αριστερή και στην δεξιά προβολή - + Please, select at least %1 points in the left and the right view Παρακαλώ, επιλέξτε τουλάχιστον %1 σημεία στην αριστερή και στην δεξιά προβολή - + Please pick points in the left and right view Παρακαλώ, επιλέξτε σημεία στην αριστερή και στην δεξιά προβολή - + The alignment has finished Η ευθυγράμμιση ολοκληρώθηκε - + The alignment has been canceled Η ευθυγράμμιση ακυρώθηκε - - + + Too few points picked in the left view. At least %1 points are needed. Δεν επιλέχθηκαν αρκετά σημεία στην αριστερή προβολή. Χρειάζονται τουλάχιστον %1 σημεία. - - + + Too few points picked in the right view. At least %1 points are needed. Δεν επιλέχθηκαν αρκετά σημεία στην δεξιά προβολή. Χρειάζονται τουλάχιστον %1 σημεία. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6944,59 +6267,59 @@ on the right view %2 points are picked. στην δεξιά προβολή έχουν επιλεχθεί %2 σημεία. - + Try to align group of views Προσπαθήστε να ευθυγραμμίσετε την ομάδα προβολών - + The alignment failed. How do you want to proceed? Η ευθυγράμμιση απέτυχε. Πώς θέλετε να συνεχίσετε; - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Επιλέχθηκε διαφορετικό πλήθος σημείων στην αριστερή και στην δεξιά προβολή. Στην αριστερή προβολή έχουν επιλεχθεί %1 σημεία, στην δεξιά προβολή έχουν επιλεχθεί %2 σημεία. - + Point_%1 Σημείο_%1 - + Point picked at (%1,%2,%3) Επιλέχθηκε σημείο στο (%1,%2,%3) - + No point was found on model Δεν βρέθηκε κανένα σημείο στο μοντέλο - + No point was picked Δεν επιλέχθηκε κανένα σημείο - + &Align &Ευθυγράμμιση - + &Remove last point &Αφαίρεση τελευταίου σημείου - + &Cancel Ακύρωση - + &Synchronize views &Συγχρονισμός προβολών @@ -7004,22 +6327,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Tap OR click left mouse button. - + Drag screen with two fingers OR press ALT + middle mouse button. Drag screen with two fingers OR press ALT + middle mouse button. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Σύρετε την οθόνη με ένα δάχτυλο Ή πατήστε ALT + αριστερό πλήκτρο του ποντικιού. Στο Σχεδιαστή και σε άλλες λειτουργίες επεξεργασίας, κρατήστε επιπλέον πατημένο Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. @@ -7027,7 +6350,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Πατήστε πλήκτρα τροποποιητή @@ -7043,22 +6366,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Πιέστε το αριστερό πλήκτρο του ποντικιού - + Press CTRL and middle mouse button Πιέστε το CTRL και το μεσαίο πλήκτρο του ποντικιού - + Press CTRL and right mouse button Πιέστε το CTRL και το δεξί πλήκτρο του ποντικιού - + Press CTRL and left mouse button Πιέστε το CTRL και το αριστερό πλήκτρο του ποντικιού @@ -7066,22 +6389,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Πιέστε το αριστερό πλήκτρο του ποντικιού - + Press right mouse button and move mouse Πιέστε το δεξί πλήκτρο του ποντικιού και μετακινήστε το ποντίκι - + Press left mouse button and move mouse Πιέστε το αριστερό πλήκτρο του ποντικιού και μετακινήστε το ποντίκι - + Press middle mouse button or SHIFT and right mouse button Πιέστε το μεσαίο πλήκτρο του ποντικιού ή SHIFT και δεξί πλήκτρο του ποντικιού @@ -7089,17 +6412,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Επεξεργασία - + Save value Αποθήκευση τιμής - + Clear list Εκκαθάριση λίστας @@ -7130,12 +6453,12 @@ How do you want to proceed? Απομένει: %1 - + Aborting Πραγματοποιείται διακοπή - + Do you really want to abort the operation? Θέλετε πραγματικά να διακόψετε την διαδικασία; @@ -7143,7 +6466,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Αλλαγή του συνδεδεμένου αντικειμένου @@ -7151,12 +6474,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Σφάλμα - + Object not found Το αντικείμενο δεν βρέθηκε @@ -7227,13 +6550,13 @@ How do you want to proceed? Gui::PropertyView - + View Προβολή - + Data Δεδομένα @@ -7280,77 +6603,77 @@ Do you want to exit without saving your data? Άγνωστη μη διαχειρίσιμη εξαίρεση C++. - + &Copy Αντιγραφή - + &Copy command Αντιγραφή εντολής - + &Copy history Αντιγραφή ιστορικού - + Save history as... Αποθήκευση ιστορικού ως... - + Save history Save history - + Saves Python history across %1 sessions Saves Python history across %1 sessions - + &Paste Ε&πικόλληση - + Select All Επιλογή Όλων - + Clear console Εκκαθάριση κονσόλας - + Insert file name... Εισάγετε όνομα αρχείου... - + Word wrap Αναδίπλωση λέξεων - + Save History Αποθήκευση Ιστορικού - + Macro Files Αρχεία Μακροεντολών - + Insert file name Εισάγετε όνομα αρχείου - + All Files Όλα τα Αρχεία @@ -7358,7 +6681,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Σχόλιο @@ -7371,17 +6694,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Άνοιγμα του αρχείου %1 - + File not found Το αρχείο δεν βρέθηκε - + The file '%1' cannot be opened. Αδυναμία ανοίγματος του αρχείου '%1'. @@ -7389,22 +6712,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none κανένα - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Εκτέλεση μακροεντολής %1 (Shift+click για επεξεργασία) συντόμευση πληκτρολογίου: %2 - + File not found Το αρχείο δεν βρέθηκε - + The file '%1' cannot be opened. Αδυναμία ανοίγματος του αρχείου '%1'. @@ -7412,22 +6735,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Πιέστε το αριστερό πλήκτρο του ποντικιού - + Press middle mouse button Πιέστε το μεσαίο πλήκτρο του ποντικιού - + Press SHIFT and middle mouse button Πιέστε το SHIFT και το μεσαίο πλήκτρο του ποντικιού - + Scroll middle mouse button Κυλήστε το μεσαίο πλήκτρο του ποντικιού @@ -7458,17 +6781,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Επιλέξτε λειτουργική μονάδα - + Open %1 as Ανοίξτε το %1 ως - + Select Επιλέξτε @@ -7537,13 +6860,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Οδηγίες χρήσης αυτομάτων λειτουργικών μονάδων Python - - + + Opens a browser to show the Python modules documentation Ανοίγει έναν περιηγητή για την προβολή οδηγιών χρήσης λειτουργικών μονάδων Python @@ -7696,38 +7019,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Το κείμενο ενημερώθηκε - + The text of the underlying object has changed. Discard changes and reload the text from the object? Το κείμενο του υποκειμένου στοιχείου έχει αλλάξει. Να γίνει απόρριψη αλλαγών και επαναφόρτωση του κειμένου από το στοιχείο; - + Yes, reload. Ναι, να γίνει επαναφόρτωση. - + Unsaved document Μη αποθηκευμένο έγγραφο - + Do you want to save your changes before closing? Θέλετε να αποθηκεύσετε τις αλλαγές σας πριν το κλείσιμο; - + If you don't save, your changes will be lost. Αν δεν κάνετε αποθήκευση, οι αλλαγές σας θα χαθούν. - - + + Edit text Επεξεργασία του κειμένου @@ -7735,22 +7058,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Πιέστε το αριστερό πλήκτρο του ποντικιού - + Press middle mouse button Πιέστε το μεσαίο πλήκτρο του ποντικιού - + Press right mouse button Press right mouse button - + Scroll middle mouse button Κυλήστε το μεσαίο πλήκτρο του ποντικιού @@ -7758,22 +7081,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Πιέστε το αριστερό πλήκτρο του ποντικιού - + Press SHIFT button Πιέστε το πλήκτρο SHIFT - + Press ALT button Πιέστε το πλήκτρο ALT - + Press CTRL and SHIFT buttons Πιέστε τα πλήκτρα CTRL και SHIFT @@ -7999,7 +7322,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Προβολή δενδροδιαγράμματος @@ -8007,7 +7330,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Αναζήτηση @@ -8015,183 +7338,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Αναζήτηση... - + Search for objects Αναζήτηση για αντικείμενα - + Activate document Ενεργοποίηση εγγράφου - + Activate document %1 Ενεργοποίηση του εγγράφου %1 - + Tree settings Tree settings - + Show description column Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - + Group Ομάδα - + Labels & Attributes Ετικέτες & Χαρακτηριστικά - + Description Περιγραφή - + Show items hidden in tree view Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view Toggles the visibility of selected items in the tree view - + Create group... Δημιουργήστε ομάδα... - + Create a group Δημιουργήστε μια ομάδα - - + + Rename Μετονομασία - + Rename object Μετονομασία αντικειμένου - + Finish editing Ολοκλήρωση επεξεργασίας - + Finish editing object Ολοκλήρωση επεξεργασίας του αντικειμένου - + Add dependent objects to selection Add dependent objects to selection - + Adds all dependent objects to the selection Adds all dependent objects to the selection - + Close document Close document - + Close the document Close the document - + Reload document Reload document - + Reload a partially loaded document Reload a partially loaded document - + Skip recomputes Παράλειψη επανεκτέλεσης υπoλογισμών - + Enable or disable recomputations of document Ενεργοποιήστε ή απενεργοποιήστε την επανεκτέλεση υπολογισμών του εγγράφου - + Allow partial recomputes Allow partial recomputes - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Enable or disable recomputating editing object when 'skip recomputation' is enabled - + Mark to recompute Επισημάνετε για επανεκτέλεση υπολογισμών - + Mark this object to be recomputed Επισημάνετε αυτό το αντικείμενο για επανεκτέλεση των υπολογισμών του - + Recompute object Recompute object - + Recompute the selected object Recompute the selected object - + (but must be executed) (but must be executed) - + %1, Internal name: %2 %1, Εσωτερικό όνομα: %2 @@ -8222,12 +7545,12 @@ Do you want to specify another directory? Αρχείο PDF - + Opening file failed Αποτυχία ανοίγματος αρχείου - + Can't open file '%1' for writing. Αδυναμία ανοίγματος αρχείου '%1' για εγγραφή. @@ -8235,7 +7558,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Επιλέξτε τον πάγκο εργασίας '%1' @@ -8243,37 +7566,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Υπηρεσίες - + Hide %1 Απόκρυψη του %1 - + Hide Others Απόκρυψη Υπολοίπων - + Show All Εμφάνιση Όλων - + Preferences... Προτιμήσεις... - + Quit %1 Εγκατάλειψη του %1 - + About %1 Σχετικά με το %1 @@ -8293,11 +7616,6 @@ Do you want to specify another directory? Position - - - Form - Μορφή - X: @@ -8392,14 +7710,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Μη έγκυρη είσοδος - - + + Input in line %1 is not a number Η εισαγωγή στη γραμμή %1 δεν είναι αριθμός @@ -8407,37 +7725,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Προβολή δενδροδιαγράμματος - + Property view Προβολή ιδιοτήτων - + Selection view Προβολή επιλογής - + Combo View Συνδυασμένη Προβολή - + DAG View Προβολή Κατευθυνόμενου Ακυκλικού Γραφήματος - + Report view Προβολή αναφοράς - + Python console Κονσόλα Python @@ -8450,31 +7768,32 @@ Do you want to specify another directory? QObject - - + + General Γενικές - - + + + Display Απεικόνιση - + Workbenches Πάγκοι Εργασίας - - - + + + Python Python @@ -8502,17 +7821,27 @@ Do you want to specify another directory? Αδυναμία αποθήκευσης στον άγνωστο τύπο αρχείου: %1 - + Workbench failure Αποτυχία πάγκου εργασίας - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Εξαίρεση @@ -8558,8 +7887,8 @@ Do you want to specify another directory? Πραγματοποιείται εξαγωγή αρχείου PDF... - + Unsaved document Μη αποθηκευμένο έγγραφο @@ -8580,39 +7909,39 @@ Do you want to specify another directory? Dependency error - + Copy selected Copy selected - + Copy active document Copy active document - + Copy all documents Copy all documents - + Paste Paste - + Expression error Expression error - + Failed to parse some of the expressions. Please check the Report View for more details. Failed to parse some of the expressions. Please check the Report View for more details. - + Failed to paste expressions Failed to paste expressions @@ -8648,55 +7977,55 @@ Be aware the point where you click matters. Έχετε υπόψη πως το σημείο στο οποίο κάνετε κλικ έχει σημασία. - - + + Save views... Αποθήκευση προβολών... - - + + Load views... Φόρτωση προβολών... - - + + Freeze view Πάγωμα προβολής - - + + Clear views Εκκαθάριση προβολών - - - + + + Restore view &%1 Αποκατάσταση της προβολής &%1 - + Save frozen views Αποθήκευση παγωμένων προβολών - - + + Frozen views Παγωμένες προβολές - - + + Restore views Αποκατάσταση προβολών - + Importing the restored views would clear the already stored views. Do you want to continue? Η εισαγωγή των αποκατεστημένων προβολών θα εκκαθαρίσει τις ήδη αποθηκευμένες προβολές. @@ -8704,170 +8033,170 @@ Do you want to continue? Θέλετε να συνεχίσετε; - + Restore frozen views Αποκατάσταση παγωμένων προβολών - + Cannot open file '%1'. Αδυναμία ανοίγματος του αρχείου '%1'. - + files αρχεία - + Save image Save image - + Choose an image file to open Επιλέξτε ένα αρχείο εικόνας για άνοιγμα - + New sub-group Νέα υποομάδα - - - - - - + + + + + + Enter the name: Εισαγωγή του ονόματος: - - + + New text item Νέο αντικείμενο κειμένου - - + + Enter your text: Εισάγετε το κείμενό σας: - - + + New integer item Νέο ακέραιο αντικείμενο - - - - - - + + + + + + Enter your number: Εισάγετε τον αριθμό σας: - - + + New unsigned item Νέο μη υπογεγραμμένο αντικείμενο - - + + New float item Νέο πραγματικό αντικείμενο - + New Boolean item Νέο αντικείμενο άλγεβρας Boole - - + + Choose an item: Διαλέξτε ένα αντικείμενο: - + New boolean item Νέο αντικείμενο άλγεβρας Boole - + Rename group Μετονομασία ομάδας - + The group '%1' cannot be renamed. Αδυναμία μετονομασίας της ομάδας '%1'. - + Existing group Υπάρχουσα ομάδα - + The group '%1' already exists. Η ομάδα '%1' υπάρχει ήδη. - - - - - + + + + + Change value Αλλαγή τιμής - + Type Τύπος - + Notifier Notifier - + Message Message - + Notifier: Notifier: - + Do you want to skip confirmation of further critical message notifications while loading the file? Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8876,44 +8205,44 @@ Do you want to continue? - + Are you sure you want to continue? Are you sure you want to continue? - + Please check report view for more... Ελέγξτε την προβολή αναφοράς για περισσότερα... - + Physical path: Physical path: - - + + Document: Document: - - + + Path: Διαδρομή: - + Identical physical path Identical physical path - + Could not save document Could not save document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8926,102 +8255,102 @@ Would you like to save the file with a different name? Would you like to save the file with a different name? - - - + + + Saving aborted Η αποθήκευση διεκόπη - + Save dependent files Save dependent files - + The file contains external dependencies. Do you want to save the dependent files, too? The file contains external dependencies. Do you want to save the dependent files, too; - - + + Saving document failed Αποτυχία αποθήκευσης εγγράφου - + Save document under new filename... Αποθήκευση εγγράφου με άλλο όνομα αρχείου... - - + + Save %1 Document Αποθήκευση Εγγράφου %1 - + Document Έγγραφο - - + + Failed to save document Failed to save document - + Documents contains cyclic dependencies. Do you still want to save them? Documents contains cyclic dependencies. Do you still want to save them; - + Save a copy of the document under new filename... Αποθηκεύστε ένα αντίγραφο του εγγράφου με νέο όνομα αρχείου... - + %1 document (*.FCStd) έγγραφο %1 (*.FCStd) - + Document not closable Το έγγραφο δεν κλείνει - + The document is not closable for the moment. Το έγγραφο δεν κλείνει προς το παρόν. - + Document not saved Document not saved - + The document%1 could not be saved. Do you want to cancel closing it? Το έγγραφο%1 δεν μπορεί να αποθηκευτεί. Θέλετε να ακυρώσετε το κλείσιμο; - + Undo Undo - + Redo Redo - + There are grouped transactions in the following documents with other preceding transactions There are grouped transactions in the following documents with other preceding transactions - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9035,47 +8364,47 @@ Choose 'Abort' to abort Αποθήκευση Μακροεντολής - - + + Finish Ολοκλήρωση - - + + Clear Εκκαθάριση - - - + + + Cancel Ακύρωση - + Inner Εσωτερικό - + Outer Εξωτερικό - + Split Χωρισμός - - + + No Browser Κανένας Περιηγητής - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9084,48 +8413,48 @@ Please open a browser window and type in: http://localhost:%1. Παρακαλώ ανοίξτε ένα παράθυρο περιηγητή και πληκτρολογήστε: http://localhost:%1. - + No Server Κανένας Διακομιστής - + Unable to start the server to port %1: %2. Αδυναμία εκκίνησης του διακομιστή στη θύρα %1: %2. - + Unable to open your system browser. Αδυναμία ανοίγματος του πλοηγού διαδικτύου του συστήματός σου. - + Options... Επιλογές... - + Out of memory Μνήμη πλήρης - + Not enough memory available to display the data. Δεν υπάρχει αρκετή μνήμη διαθέσιμη για την προβολή των δεδομένων. - - + + Cannot find file %1 Αδυναμία εύρεσης του αρχείου %1 - + Cannot find file %1 neither in %2 nor in %3 Αδυναμία εύρεσης του αρχείου %1 τόσο στο %2 όσο και στο %3 - + Navigation styles Τύποι μορφοποίησης πλοήγησης @@ -9135,8 +8464,8 @@ Please open a browser window and type in: http://localhost:%1. Μετακίνηση περιγραφής - - + + Transform Μετατόπιση @@ -9146,42 +8475,42 @@ Please open a browser window and type in: http://localhost:%1. Do you want to close this dialog? - + Do you want to save your changes to document '%1' before closing? Θέλετε να αποθηκεύσετε τις αλλαγές σας στο έγγραφο '%1' πριν το κλείσιμο; - + Do you want to save your changes to document before closing? Do you want to save your changes to document before closing? - + If you don't save, your changes will be lost. Αν δεν κάνετε αποθήκευση, οι αλλαγές σας θα χαθούν. - + Apply answer to all Apply answer to all - + %1 Document(s) not saved %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? Ορισμένα έγγραφα δεν ήταν δυνατόν να αποθηκευτούν. Θέλετε να ακυρώσετε τον τερματισμό; - + Delete macro Διαγραφή μακροεντολής - + Not allowed to delete system-wide macros Δεν επιτρέπεται να διαγράψετε μακροεντολές συστήματος @@ -9191,27 +8520,27 @@ Please open a browser window and type in: http://localhost:%1. Σημείο Τομής Αξόνων - + Delete group content? Διαγραφή περιεχομένου ομάδας; - + The %1 is not empty, delete its content as well? Το %1 δεν είναι άδειο, να διαγραφεί και το περιεχόμενό του; - + Translation: Μετάφραση: - + Rotation: Περιστροφή: - + Toggle active part Εναλλαγή του ενεργού εξαρτήματος @@ -9274,87 +8603,87 @@ Please open a browser window and type in: http://localhost:%1. Failed to import all links - - + + Invalid name Invalid name - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. - + The property '%1' already exists in '%2' The property '%1' already exists in '%2' - + Add property Add property - + Failed to add property to '%1': %2 Failed to add property to '%1': %2 - - + + Drag & drop failed Drag & drop failed - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Επιλέξτε ποιο αντικείμενο θα αντιγράψετε ή θα εξαιρέσετε όταν αλλάζει η διαμόρφωση. Όλα τα εξωτερικά συνδεδεμένα αντικείμενα εξαιρούνται από προεπιλογή. - + Please select which objects to copy when the configuration is changed Please select which objects to copy when the configuration is changed - + Apply to all Apply to all - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Εφαρμόστε τη ρύθμιση σε όλες τις συνδέσεις. Ή, καταργήστε αυτή την επιλογή μόνο σε αυτόν τον σύνδεσμο. - + Copy on change Copy on change - + Enable Ενεργοποίηση - + Enable auto copy of linked object when its configuration is changed Enable auto copy of linked object when its configuration is changed - + Tracking Απόσταση Γραμμάτων - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9363,17 +8692,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Disable copy on change - + Refresh configurable object Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9382,28 +8711,28 @@ the current copy will be lost. - + Toggle array elements Εναλλαγή στοιχείων πίνακα - + Change whether show each link array element as individual objects Αλλάξτε εάν εμφανίζεται κάθε στοιχείο πίνακα συνδέσμων ως μεμονωμένα αντικείμενα - + Transform at the origin of the placement Μετατόπιση στην αρχή της τοποθέτησης - - + + Override colors... Αντικατάσταση χρωμάτων... - + Edit %1 Επεξεργασία %1 @@ -9426,12 +8755,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Δεν επιτρέπεται: - + Selection not allowed by filter Η επιλογή δεν επιτρέπεται λόγω χρήσης φίλτρου @@ -9439,9 +8768,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Επιλογή στοιχείων πλαισίου @@ -9449,13 +8778,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Επιλογή με τη χρήση πλαισίου - - + + Activate the box selection tool Activate the box selection tool @@ -9533,13 +8862,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Εναλλαγή εμφάνισης/απόκρυψης του συστήματος αξόνων - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9645,13 +8974,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Προβολή περιστρεφόμενης βάσης... - - + + View turntable Προβολή περιστρεφόμενης βάσης @@ -9771,13 +9100,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Τύπος μορφοποίησης σχεδίασης - - + + Change the draw style of the objects Αλλαγή του στυλ σχεδίασης των αντικειμένων @@ -9841,13 +9170,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Expression actions - - + + Actions that apply to expressions Actions that apply to expressions @@ -9964,13 +9293,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Πάγωμα εμφάνισης - - + + Freezes the current view position Παγώνει την τρέχουσα θέση προβολής @@ -9991,13 +9320,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Απόκρυψη όλων των αντικειμένων - - + + Hide all objects in the document Απόκρυψη όλων των αντικειμένων στο έγγραφο @@ -10005,13 +9334,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Απόκρυψη επιλογής - - + + Hide all selected objects Απόκρυψη όλων των επιλεγμένων αντικειμένων @@ -10285,13 +9614,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Μετρήστε απόσταση - - + + Activate the distance measurement tool Activate the distance measurement tool @@ -10350,8 +9679,8 @@ the current copy will be lost. Δημιουργήστε ένα νέο κενό έγγραφο - - + + Unnamed Ανώνυμο @@ -10579,8 +9908,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Πρόσφατα αρχεία + Open Recent + Open Recent @@ -10718,13 +10047,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Επιθεωρητής σκηνής... - - + + Scene inspector Επιθεωρητής σκηνής @@ -10732,13 +10061,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Πίσω - - + + Go back to previous selection Μετάβαση πίσω στην προηγούμενη επιλογή @@ -10746,13 +10075,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Πλαίσιο ορισμού - - + + Show selection bounding box Επιλογή εμφάνιση πλαισίου οριοθέτησης @@ -10760,13 +10089,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Εμπρός - - + + Repeat the backed selection Επανάληψη της υποστηριζόμενης επιλογής @@ -10788,13 +10117,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Επιλέξτε ορατά αντικείμενα - - + + Select visible objects in the active document Επιλέξτε ορατά αντικείμενα στο ενεργό έγγραφο @@ -10816,13 +10145,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Εμφάνιση... - - + + Sets the display properties of the selected object Ορίζει τις ιδιότητες προβολής του επιλεγμένου αντικειμένου @@ -10830,13 +10159,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Εμφάνιση όλων των αντικειμένων - - + + Show all objects in the document Εμφάνιση όλων των αντικειμένων στο έγγραφο @@ -10844,13 +10173,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Εμφάνιση επιλογής - - + + Show all selected objects Εμφάνιση όλων των επιλεγμένων αντικειμένων @@ -10886,13 +10215,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Χαρτογράφηση υφής... - - + + Texture mapping Χαρτογράφηση υφής @@ -10928,13 +10257,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Επίπεδο αποκοπής - - + + Toggles clipping plane for active view Εναλλάσσει το επίπεδο αποκοπής για την ενεργή προβολή @@ -10942,13 +10271,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Εναλλαγή λειτουργίας Πλοήγησης/Επεξεργασίας - - + + Toggle between navigation and edit mode Εναλλαγή μεταξύ της λειτουργίας πλοήγησης και της λειτουργίας επεξεργασίας @@ -10956,13 +10285,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Εναλλαγή εμφάνισης/απόκρυψης όλων των αντικειμένων - - + + Toggles visibility of all objects in the active document Εναλλάσσει την ορατότητα όλων των αντικειμένων στο ενεργό έγγραφο @@ -10970,13 +10299,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Εναλλαγή επιλεξιμότητας - - + + Toggles the property of the objects to get selected in the 3D-View Εναλλάσσει την ιδιότητα των αντικειμένων να επιλέγονται στην Τρισδιάστατη Προβολή @@ -10984,13 +10313,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Εναλλαγή ορατότητας - - + + Toggles visibility Εναλλάσσει την ορατότητα @@ -11040,13 +10369,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Collapse selected item - - + + Collapse currently selected tree items Collapse currently selected tree items @@ -11054,13 +10383,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Expand selected item - - + + Expand currently selected tree items Expand currently selected tree items @@ -11068,13 +10397,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Select all instances - - + + Select all instances of the current selected object Select all instances of the current selected object @@ -11082,13 +10411,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions TreeView actions - - + + TreeView behavior options and actions TreeView behavior options and actions @@ -11152,13 +10481,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Κάτω - - + + Set to bottom view Ορισμός κάτω προβολής @@ -11166,13 +10495,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Δημιουργήστε νέα προβολή - - + + Creates a new view window for the active document Δημιουργεί ένα νέο παράθυρο προβολής για το ενεργό έγγραφο @@ -11180,13 +10509,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Διμετρική - - + + Set to dimetric view Ορισμός σε διμετρική προβολή @@ -11194,13 +10523,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Παράδειγμα Inventor #1 - - + + Shows a 3D texture with manipulator Εμφανίζει μια τρισδιάστατη υφή με χρήση του πάγκου εργασίας παραποίησης @@ -11208,13 +10537,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Παράδειγμα Inventor #2 - - + + Shows spheres and drag-lights Εμφανίζει σφαίρες και μετακινούμενες πηγές φωτός @@ -11222,13 +10551,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Παράδειγμα Inventor #3 - - + + Shows a animated texture Εμφανίζει μια κινούμενη υφή @@ -11236,13 +10565,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Προσαρμογή όλων - - + + Fits the whole content on the screen Επαναφέρει όλα τα αντικείμενά στο κέντρο της οθόνης @@ -11250,13 +10579,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Προσαρμογή επιλογής - - + + Fits the selected content on the screen Επαναφέρει τα επιλεγμένα αντικείμενα στο κέντρο της οθόνης @@ -11264,13 +10593,13 @@ the current copy will be lost. StdCmdViewFront - + Front Εμπρόσθια - - + + Set to front view Ορισμός εμπρόσθιας προβολής @@ -11278,13 +10607,13 @@ the current copy will be lost. StdCmdViewHome - + Home Home - - + + Set to default home view Ορισμός προεπιλεγμένης προβολής αρχικής οθόνης @@ -11292,13 +10621,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Ισομετρική - - + + Set to isometric view Ορισμός σε ισομετρική προβολή @@ -11306,13 +10635,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Καταγραφή θέσης κάμερας - - + + Issue the camera position to the console and to a macro, to easily recall this position Καταγράψτε την θέση της κάμερας στην κονσόλα και σε μια μακροεντολή, ώστε να θυμάστε αυτήν την θέση με ευκολία @@ -11320,13 +10649,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Παρεμβαλλόμενες Στήλες Στερεοσκοπικής Προβολής - - + + Switch stereo viewing to Interleaved Columns Μεταβολή στερεοσκοπικής προβολής σε Παρεμβαλλόμενων Στηλών @@ -11334,13 +10663,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Παρεμβαλλόμενες Σειρές Στερεοσκοπικής Προβολής - - + + Switch stereo viewing to Interleaved Rows Μεταβολή στερεοσκοπικής προβολής σε Παρεμβαλλόμενων Σειρών @@ -11348,13 +10677,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Απενεργοποιημένη η Στερεοσκοπική Προβολή - - + + Switch stereo viewing off Απενεργοποίηση στερεοσκοπικής προβολής @@ -11362,13 +10691,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Στερεοσκοπική προβολή τεσσάρων ρυθμιστών - - + + Switch stereo viewing to quad buffer Μεταβολή στερεοσκοπικής προβολής σε τεσσάρων ρυθμιστών @@ -11376,13 +10705,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Στερεοσκοπική προβολή κόκκινο/κυανό - - + + Switch stereo viewing to red/cyan Μεταβολή στερεοσκοπικής προβολής σε κόκκινο/κυανό @@ -11390,13 +10719,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Αριστερά - - + + Set to left view Ορισμός αριστερής προβολής @@ -11404,13 +10733,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Οπίσθια - - + + Set to rear view Ορισμός οπίσθιας προβολής @@ -11432,13 +10761,13 @@ the current copy will be lost. StdCmdViewRight - + Right Δεξιά - - + + Set to right view Ορισμός δεξιά προβολής @@ -11446,13 +10775,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Περιστροφή προς τα Αριστερά - - + + Rotate the view by 90° counter-clockwise Rotate the view by 90° counter-clockwise @@ -11460,13 +10789,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Περιστροφή προς τα Δεξιά - - + + Rotate the view by 90° clockwise Rotate the view by 90° clockwise @@ -11488,13 +10817,13 @@ the current copy will be lost. StdCmdViewTop - + Top Πάνω - - + + Set to top view Ορισμός πάνω προβολής @@ -11502,13 +10831,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Τριμετρική - - + + Set to trimetric view Ορισμός σε τριμετρική προβολή @@ -11516,13 +10845,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FREECAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Επέκταση του Τρισδιάστατου Παραθύρου FreeCAD σε σύστημα εικονικής πραγματικότητας Oculus Rift @@ -11586,13 +10915,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Πλήρης οθόνη - - + + Display the main window in fullscreen mode Απεικόνιση του κύριου παραθύρου σε λειτουργία πλήρους οθόνης @@ -11628,13 +10957,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11642,13 +10971,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11656,13 +10985,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Σύμπτυξη/Επέκταση - - + + Expand active document and collapse all others Επέκταση του ενεργού εγγράφου, και σύμπτυξη όλων των άλλων @@ -11670,12 +10999,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Initiate dragging - + Initiate dragging of current selected tree items Initiate dragging of current selected tree items @@ -11683,13 +11012,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Multi document - - + + Display all documents in the tree view Εμφάνιση όλων των εγγράφων στην προβολή δέντρου @@ -11697,12 +11026,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Pre-selection - + Preselect the object in 3D view when mouse over the tree item Preselect the object in 3D view when mouse over the tree item @@ -11710,12 +11039,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Record selection - + Record selection in tree view in order to go back/forward using navigation button Record selection in tree view in order to go back/forward using navigation button @@ -11723,13 +11052,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Μεταβείτε στην επιλογή - - + + Scroll to first selected item Κύλιση στο πρώτο επιλεγμένο αντικείμενο @@ -11737,13 +11066,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Single document - - + + Only display the active document in the tree view Εμφάνιση μόνο του ενεργού εγγράφου, στην προβολή σαν δέντρο @@ -11751,12 +11080,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Συγχρονισμός τοποθέτησης - + Auto adjust placement on drag and drop objects across coordinate systems Αυτόματη προσαρμογή της τοποθέτησης σε αντικείμενα μεταφοράς και απόθεσης στα συστήματα συντεταγμένων @@ -11765,12 +11094,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Επιλογή συγχρονισμού - + Auto expand tree item when the corresponding object is selected in 3D view Auto expand tree item when the corresponding object is selected in 3D view @@ -11778,12 +11107,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Συγχρονισμός προβολής - + Auto switch to the 3D view containing the selected item Αυτόματη μετάβαση στην τρισδιάστατη προβολή που περιέχει το επιλεγμένο αντικείμενο @@ -11791,13 +11120,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Εστίαση με τη χρήση πλαισίου - - + + Activate the box zoom tool Activate the box zoom tool @@ -11805,13 +11134,13 @@ the current copy will be lost. StdViewDock - + Docked Προσκολλημένο - - + + Display the active view either in fullscreen, in undocked or docked mode Απεικόνιση της ενεργής όψης είτε σε πλήρη οθόνη, είτε σε λειτουργία ανεξάρτητων παραθύρων είτε σε λειτουργία προσδέσιμων παραθύρων @@ -11819,13 +11148,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Παράθυρο εγγράφου - - + + Display the active view either in fullscreen, in undocked or docked mode Απεικόνιση της ενεργής όψης είτε σε πλήρη οθόνη, είτε σε λειτουργία ανεξάρτητων παραθύρων είτε σε λειτουργία προσδέσιμων παραθύρων @@ -11833,13 +11162,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Πλήρης οθόνη - - + + Display the active view either in fullscreen, in undocked or docked mode Απεικόνιση της ενεργής όψης είτε σε πλήρη οθόνη, είτε σε λειτουργία ανεξάρτητων παραθύρων είτε σε λειτουργία προσδέσιμων παραθύρων @@ -11847,13 +11176,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Save image... - - + + Creates a screenshot of the active view Δημιουργεί ένα στιγμιότυπο οθόνης της ενεργής προβολής @@ -11861,13 +11190,13 @@ the current copy will be lost. StdViewUndock - + Undocked Ανεξάρτητα - - + + Display the active view either in fullscreen, in undocked or docked mode Απεικόνιση της ενεργής όψης είτε σε πλήρη οθόνη, είτε σε λειτουργία ανεξάρτητων παραθύρων είτε σε λειτουργία προσδέσιμων παραθύρων @@ -11875,13 +11204,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Μεγέθυνση - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11889,13 +11218,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Σμίκρυνση - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11930,72 +11259,72 @@ Are you sure you want to continue; Std_DrawStyle - + As is Όπως είναι - + Normal mode Κανονική λειτουργία - + Points Σημεία - + Points mode Λειτουργία σημείων - + Wireframe Σκελετός - + Wireframe mode Λειτουργία σκελετού - + Hidden line Κρυφή γραμμή - + Hidden line mode Λειτουργία κρυφής γραμμής - + No shading Χωρίς σκίαση - + No shading mode Λειτουργία χωρίς σκίαση - + Shaded Σκιασμένη - + Shaded mode Λειτουργία σκίασης - + Flat lines Επίπεδες γραμμές - + Flat lines mode Κατάσταση λειτουργίας επίπεδων γραμμών @@ -12058,32 +11387,32 @@ Do you still want to proceed; TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12091,117 +11420,117 @@ Do you still want to proceed; Workbench - + &File Αρχείο - + &Edit &Επεξεργασία - + Edit Επεξεργασία - + Clipboard Clipboard - + Workbench Πάγκος εργασίας - + Structure Κατασκευή - + Standard views Καθιερωμένες προβολές - + Axonometric Αξονομετρική - + &Stereo &Στερεοσκοπική Προβολή - + &Zoom Μεγέθυνση - + Visibility Ορατότητα - + &View Προβολή - + &Tools Εργαλεία - + &Macro &Μακροεντολή - + &Windows Παράθυρα - + &On-line help &On-line βοήθεια - + &Help Βο&ήθεια - + Help Βοήθεια - + File Αρχείο - + Macro Μακροεντολή - + View Προβολή - + Special Ops Ειδικές Λειτουργίες - + Link actions Link actions @@ -12209,12 +11538,12 @@ Do you still want to proceed; Gui::MDIView - + Export PDF Εξαγωγή σε PDF - + PDF file Αρχείο PDF @@ -12222,196 +11551,190 @@ Do you still want to proceed; Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Notification Area - + Settings Ρυθμίσεις - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Additional data sources - + Errors intended for developers will appear in the notification area Errors intended for developers will appear in the notification area - + Debug errors Debug errors - + Warnings intended for developers will appear in the notification area Warnings intended for developers will appear in the notification area - + Debug warnings Debug warnings - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Διαθέσιμοι πάγκοι εργασίας - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches Επιλέξτε τον πάγκο εργασίας που θα ενεργοποιηθεί και θα εμφανιστεί μετά την εκκίνηση του FreeCAD - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12424,12 +11747,12 @@ after FreeCAD launches 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport Εάν επιλεγεί, η εφαρμογή θα θυμάται ποιος πάγκος εργασίας είναι ενεργός για κάθε καρτέλα της θύρας προβολής - + Remember active workbench by tab Απομνημόνευση ενεργού πάγκου εργασίας κατά καρτέλα @@ -12578,47 +11901,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded Loaded - + Load Φόρτωση - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12626,17 +11949,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Toolbar - + Left corner Left corner - + Right corner Right corner @@ -12662,12 +11990,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12703,13 +12031,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image @@ -12771,10 +12099,810 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + Πρόγραμμα επεξεργασίας + + + + Options + Επιλογές + + + + Code lines will be numbered + Οι γραμμές κώδικα θα αριθμηθούν + + + + Enable line numbers + Ενεργοποίηση αριθμών γραμμών + + + + The cursor shape will be a block + Το σχήμα του κέρσορα θα είναι μπλοκ + + + + Enable block cursor + Ενεργοποίηση του κέρσορα + + + + Enable folding + Ενεργοποίηση αναδίπλωσης + + + + Indentation + Εισαγωγή εσοχής + + + + Tab size: + Μέγεθος καρτέλας: + + + + Tabulator raster (how many spaces) + Πίνακας ψηφιακή εικόνα τύπου bitmap (πόσα κενά) + + + + Indent size: + Μέγεθος εσοχής: + + + + How many spaces will be inserted when pressing <Tab> + Πόσα κενά θα εισαχθούν όταν πατήσετε <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Πατώντας <Tab> θα εισαχθεί το καθορισμένο μέγεθος εσοχής + + + + Keep tabs + Διατηρήστε τις καρτέλες + + + + Pressing <Tab> will insert amount of defined indent size + Πατώντας <Tab> θα εισαχθεί το καθορισμένο μέγεθος εσοχής + + + + Insert spaces + Εισαγωγή κενών + + + + Display items + Εμφάνιση στοιχείων + + + + Color and font settings will be applied to selected type + Θα εφαρμοστούν οι ρυθμίσεις χρώματος και γραμματοσειράς στον επιλεγμένο τύπο + + + + Family: + Οικογένεια: + + + + Font family to be used for selected code type + Μέγεθος γραμματοσειράς που θα χρησιμοποιηθεί για τον επιλεγμένο τύπο κώδικα + + + + Size: + Μέγεθος: + + + + Font size to be used for selected code type + Μέγεθος γραμματοσειράς που θα χρησιμοποιηθεί για τον επιλεγμένο τύπο κώδικα + + + + Color: + Χρώμα: + + + + Preview: + Προεπισκόπηση: + + + + Text + Κείμενο + + + + Bookmark + Σελιδοδείκτης + + + + Breakpoint + Σημείο Διακοπής + + + + Keyword + Λέξη-κλειδί + + + + Comment + Σχόλιο + + + + Block comment + Σχόλιο του μπλοκ + + + + Number + Αριθμός + + + + String + Συμβολοσειρά + + + + Character + Χαρακτήρας + + + + Class name + Όνομα κλάσης + + + + Define name + Ορίστε όνομα + + + + Operator + Τελεστής + + + + Python output + Έξοδος Python + + + + Python error + Σφάλμα Python + + + + Current line highlight + Επισήμανση τρέχουσας γραμμής + + + + Items + Αντικείμενα + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Γενικές + + + + Language and number format + Μορφή γλώσσας και αριθμού + + + + Language: + Γλώσσα: + + + + Language of the application's user interface + Γλώσσα του περιβάλλοντος εργασίας χρήστη της εφαρμογής + + + + Unit system: + Σύστημα μονάδων: + + + + Unit system that should be used for all parts of the application + Σύστημα μονάδας που θα πρέπει να χρησιμοποιείται για όλα τα μέρη της εφαρμογής + + + + Number of decimals: + Πλήθος δεκαδικών: + + + + Number of decimals that should be shown for numbers and dimensions + Αριθμός δεκαδικών που πρέπει να εμφανίζονται για τους αριθμούς και τις διαστάσεις + + + + Minimum fractional inch: + Ελάχιστο κλάσμα των ιντσών: + + + + Minimum fractional inch to be displayed + Ελάχιστη κλασματική ίντσα για εμφάνιση + + + + Number format: + Μορφή αριθμού: + + + + Operating system + Λειτουργικό σύστημα + + + + Selected language + Επιλογή γλώσσας + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + Substitute decimal separator + Αντικατάσταση δεκαδικού διαχωριστικού + + + + Application + Εφαρμογή + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Μέγεθος των εικονιδίων γραμμής εργαλείων: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + + + + Tree view mode: + Tree view mode: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Προσαρμόστε τον τρόπο εμφάνισης της δενδρικής προβολής στον πίνακα (απαιτείται επανεκκίνηση). + +'Συνδυαστική προβολή' ('Combo View'): συνδυάστε την προβολή δέντρου και την προβολή ιδιότητας σε ένα πλαίσιο. +'Προβολή δέντρου και προβολή ιδιότητας'('Tree View and PropertyView'): χωρίστε τις προβολές σε ξεχωριστό πλαίσιο. +'Και τα δύο' ('Both'): διατηρήστε και τα τρία πλαίσια και μπορείτε να έχετε δύο σετ προβολής δέντρου και προβολή ιδιοτήτων. + + + + Size of recent file list: + Μέγεθος λίστας πρόσφατων αρχείων: + + + + How many files should be listed in recent files list + Πόσα αρχεία θα πρέπει να καταχωρηθούν στη λίστα πρόσφατων αρχείων + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Το φόντο του κύριου παραθύρου (όταν δεν έχει ανοιχτεί κανένα έγγραφο) θα αποτελείται από πλακίδια μιας ειδικής εικόνας. +Δείτε το Wiki του FreeCAD για λεπτομέρειες σχετικά με την εικόνα. + + + + Enable tiled background + Ενεργοποίηση πλακόστρωτου υποβάθρου + + + + The text cursor will be blinking + Ο κέρσορας κειμένου θα αναβοσβήνει + + + + Enable cursor blinking + Ενεργοποίηση αναβοσβήσματος κέρσορα + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Εάν είναι επιλεγμένη αυτή η επιλογή 'οθόνη Splash' είναι ένα μικρό παράθυρο φόρτωσης που εμφανίζεται κατά την εκκίνηση του FreeCAD. + + + + Enable splash screen at start up + Ενεργοποίηση οθόνης υποδοχής κατά την εκκίνηση + + + + Preference packs + Πακέτα προτιμήσεων + + + + Name + Όνομα + + + + Type + Τύπος + + + + Load + Φόρτωση + + + + Import config... + Εισαγωγή ρυθμίσεων... + + + + Save new... + Αποθήκευση νέου... + + + + Manage... + Διαχείριση... + + + + Revert... + Επαναφορά... + + + + Manage preference packs + Διαχείριση πακέτων προτιμήσεων + + + + Small (%1px) + Μικρό (%1px) + + + + Medium (%1px) + Μεσαίο (%1px) + + + + Large (%1px) + Μεγάλο (%1px) + + + + Extra large (%1px) + Πολύ μεγάλο (%1px) + + + + Custom (%1px) + Προσαρμοσμένο (%1px) + + + + Combo View + Συνδυασμένη Προβολή + + + + TreeView and PropertyView + TreeView and PropertyView + + + + Both + Both + + + + Preference Pack Name + Όνομα Πακέτου Προτίμησης + + + + Tags + Ετικέτες + + + + Apply + Εφαρμογή + + + + Apply the %1 preference pack + Εφαρμογή του %1 πακέτου προτιμήσεων + + + + Choose a FreeCAD config file to import + Επιλέξτε ένα αρχείο ρυθμίσεων FreeCAD για εισαγωγή + + + + File exists + Το αρχείο υπάρχει + + + + A preference pack with that name already exists. Overwrite? + Ένα πακέτο προτιμήσεων με αυτό το όνομα υπάρχει ήδη. Αντικατάσταση; + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Προβολή αναφοράς + + + + Output + Έξοδος + + + + Normal messages will be recorded + Κανονικά μηνύματα θα καταγράφονται + + + + Record normal messages + Καταγραφή κανονικών μηνυμάτων + + + + Log messages will be recorded + Θα καταγράφονται τα μηνύματα καταγραφής + + + + Record log messages + Καταχώρηση μηνυμάτων αρχείου καταγραφής + + + + Warnings will be recorded + Οι προειδοποιήσεις θα καταγράφονται + + + + Record warnings + Καταγραφή προειδοποιήσεων + + + + Error messages will be recorded + Θα καταγράφονται μηνύματα σφάλματος + + + + Record error messages + Καταγραφή μηνυμάτων σφάλματος + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Όταν παρουσιαστεί σφάλμα, το παράθυρο διαλόγου Προβολή αναφοράς γίνεται ορατό στην οθόνη και εμφανίζεται το σφάλμα + + + + Show report view on error + Εμφάνιση προβολής αναφοράς σχετικά με το σφάλμα + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Όταν εμφανιστεί μια προειδοποίηση, το παράθυρο διαλόγου Προβολή αναφοράς γίνεται ορατό στην οθόνη ενώ εμφανίζεται η προειδοποίηση + + + + Show report view on warning + Εμφάνιση της προβολής αναφοράς στην προειδοποίηση + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Όταν προκύψει ένα κανονικό μήνυμα, το παράθυρο διαλόγου Προβολή αναφοράς γίνεται ορατό στην οθόνη κατά την εμφάνιση του μηνύματος + + + + Show report view on normal message + Εμφάνιση προβολής αναφοράς σε κανονικό μήνυμα + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Όταν εμφανιστεί ένα μήνυμα καταγραφής, ο διάλογος "Αναφορά προβολής" γίνεται ορατός στην οθόνη κατά την εμφάνιση του μηνύματος καταγραφής + + + + Show report view on log message + Εμφάνιση της προβολής αναφοράς στο μήνυμα καταγραφής + + + + Include a timecode for each report + Include a timecode for each report + + + + Include a timecode for each entry + Include a timecode for each entry + + + + Colors + Χρώματα + + + + Normal messages: + Κανονικά μηνύματα: + + + + Font color for normal messages in Report view panel + Χρώμα γραμματοσειράς για κανονικά μηνύματα στον πίνακα Αναφοράς προβολής + + + + Log messages: + Μηνύματα αρχείου καταγραφής: + + + + Font color for log messages in Report view panel + Χρώμα γραμματοσειράς για μηνύματα καταγραφής στον πίνακα Αναφοράς προβολής + + + + Warnings: + Προειδοποιήσεις: + + + + Font color for warning messages in Report view panel + Χρώμα γραμματοσειράς για προειδοποιητικά μηνύματα στον πίνακα Αναφοράς προβολής + + + + Errors: + Σφάλματα: + + + + Font color for error messages in Report view panel + Χρώμα γραμματοσειράς για μηνύματα σφάλματος στον πίνακα Αναφοράς προβολής + + + + Python interpreter + Διερμηνέας Python + + + + Internal Python output will be redirected +from Python console to Report view panel + Η εσωτερική έξοδος Python θα ανακατευθυνθεί +από την κονσόλα Python στο πλαίσιο προβολής αναφοράς + + + + Redirect internal Python output to report view + Ανακατεύθυνση της εσωτερικής εξόδου Python στην προβολή αναφορών + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Τα εσωτερικά μηνύματα σφάλματος Python θα ανακατευθύνονται +από την κονσόλα Python στον πίνακα προβολής Αναφοράς + + + + Redirect internal Python errors to report view + Ανακατεύθυνση των εσωτερικών σφαλμάτων Python στην προβολή αναφορών + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Χωρίς φύλλο τύπων μορφοποίησης + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_es-AR.ts b/src/Gui/Language/FreeCAD_es-AR.ts index 429bc0d9ae..2187033d06 100644 --- a/src/Gui/Language/FreeCAD_es-AR.ts +++ b/src/Gui/Language/FreeCAD_es-AR.ts @@ -42,29 +42,29 @@ Tamaño visual de la operación - + <empty> <vacío> - - + + Angle Ángulo - - + + Axis Eje - + Position Posición - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Prueba de salida de la consola - - + + Run test cases to verify console messages Ejecutar tests de prueba para verificar los mensajes de la consola @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Limpiar medición - + Clear all visible measurements Suprimir todas las mediciones visibles @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Activa/desactiva la medición - + Turn on or off the display of all measurements Activar o desactivar la visualización de todas las mediciones @@ -132,7 +132,7 @@ Eliminar - + Paste expressions Pegar expresiones @@ -182,7 +182,7 @@ Añadir un grupo - + Align Alinear @@ -193,40 +193,40 @@ Ubicación - - + + Transform Transformar - + Toggle array elements Alternar elementos de matriz - + Link Transform Transformación de enlace - + Measure distance Medir distancia - + Toggle visibility Conmutar visibilidad - + Toggle selectability Alternar seleccionabilidad - + Edit image Editar imagen @@ -234,77 +234,77 @@ CommandGroup - + File Archivo - + Edit Editar - + Help Ayuda - + Link Enlace - + Tools Herramientas - + View Ver - + Window Ventana - + Standard Estándar - + Macros Macros - + Macro Macro - + Structure Estructura - + Standard-Test Prueba estándar - + Standard-View Vista estándar - + TreeView Vista de Árbol - + Measure Medida @@ -402,11 +402,6 @@ DownloadItem - - - Form - Forma - Ico @@ -421,42 +416,42 @@ EditMode - + Default Predeterminado - + The object will be edited using the mode defined internally to be the most appropriate for the object type El objeto será editado utilizando el modo definido internamente que es más apropiado para el tipo de objeto - + Transform Transformar - + The object will have its placement editable with the Std TransformManip command El objeto tendrá su ubicación editable con el comando Std TransformManip - + Cutting Corte - + This edit mode is implemented as available but currently does not seem to be used by any object Este modo de edición está implementado como disponible pero actualmente no parece ser utilizado por ningún objeto - + Color Color - + The object will have the color of its individual faces editable with the Part FaceColors command El objeto tendrá el color de sus caras individuales editables con el comando Part FaceColors @@ -482,7 +477,7 @@ ninguno - + Press a keyboard shortcut Teclee un atajo de teclado @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Disponible: - + Selected: Seleccionado: - + Add Agregar - + Remove Eliminar - + Move up Subir - + Move down Bajar @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Objeto móvil - + Fixed object Objeto fijo @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Por favor, espere hasta que se haya guardado el archivo de recuperación automática... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Presione el botón izquierdo del ratón - + Press SHIFT and middle mouse button Presione Shift y el botón central del ratón - + Press middle mouse button Presione el botón central del mouse - + Scroll middle mouse button Rotar la rueda central del mouse @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Presione el botón izquierdo del ratón - + Press middle mouse button Presione el botón central del mouse - + Press middle+left or middle+right button Presione el botón central + izquierdo o central + derecho - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Rota la rueda central del mouse o mantén presionado el botón central @@ -615,12 +610,12 @@ mientras hace un clic izquierdo o derecho y mueve el mouse hacia arriba o hacia Gui::ContainerDialog - + &OK &Aceptar - + &Cancel &Cancelar @@ -628,7 +623,7 @@ mientras hace un clic izquierdo o derecho y mueve el mouse hacia arriba o hacia Gui::ControlSingleton - + Task panel Panel de tareas @@ -712,47 +707,47 @@ mientras hace un clic izquierdo o derecho y mueve el mouse hacia arriba o hacia Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Créditos - + FreeCAD would not be possible without the contributions of FreeCAD no sería posible sin las contribuciones de - + Individuals Header for the list of individual people in the Credits list. Individual - + Organizations Header for the list of companies/organizations in the Credits list. Organizaciones - - + + License Licencia - + Libraries Bibliotecas - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Este software utiliza componentes de código abierto cuyos derechos de autor y otros derechos de propiedad pertenecen a sus respectivos propietarios: - + Collection Colección @@ -760,22 +755,22 @@ mientras hace un clic izquierdo o derecho y mueve el mouse hacia arriba o hacia Gui::Dialog::ApplicationCache - + Cache directory Directorio de caché - + The cache directory %1 exceeds the size of %2. El directorio caché %1 excede el tamaño %2. - + Do you want to clear it now? ¿Quieres borrarlo ahora? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Advertencia: Asegúrese que ésta sea la única instancia %1 en ejecución y que no hayan documentos abiertos, ya que puede resultar en pérdidas de datos. @@ -796,37 +791,37 @@ mientras hace un clic izquierdo o derecho y mueve el mouse hacia arriba o hacia Gui::Dialog::CameraDialog - + Camera settings Ajustes de cámara - + Orientation Orientación - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vista actual @@ -892,7 +887,7 @@ mientras hace un clic izquierdo o derecho y mueve el mouse hacia arriba o hacia Gui::Dialog::CommandModel - + Commands Comandos @@ -1117,12 +1112,12 @@ Si no está marcado, entonces la propiedad debe tener un nombre único y se acce Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists El paquete ya existe - + A preference pack with that name already exists. Do you want to overwrite it? Ya existe un paquete de preferencias con ese nombre. ¿Desea sobrescribirlo? @@ -1177,7 +1172,7 @@ Si no está marcado, entonces la propiedad debe tener un nombre único y se acce Add - Agregar + Añadir @@ -1358,48 +1353,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Escriba para buscar... - + Icon Ícono - + Command Comando - + Shortcut Atajo de teclado - + Default Predeterminado - + Name Nombre - + Title Título - + All Todos - - + + none ninguno @@ -1407,8 +1402,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Barras de caja de herramientas @@ -1497,40 +1492,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separador> - + %1 module not loaded %1 módulo no cargado - + New toolbar Nueva barra de herramientas - - + + Toolbar name: Nombre de la barra de herramientas: - - + + Duplicated name Nombre duplicado - - + + The toolbar name '%1' is already used El nombre de la barra de herramientas '%1' ya está en uso - + Rename toolbar Renombrar barra de herramientas @@ -1543,19 +1538,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Personalizar - + &Help &Ayuda - + &Close &Cerrar @@ -1564,13 +1559,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Movimiento Spaceball - + No Spaceball Present Spaceball no presente @@ -1578,27 +1573,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Botones del SpaceBall - + No Spaceball Present Spaceball no presente - + Buttons Botones - + Reset Reiniciar - + Print Reference Imprimir referencia @@ -1683,550 +1678,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Predeterminado - + Aluminium Aluminio - + Brass Latón - + Bronze Bronce - + Copper Cobre - + Chrome Cromo - + Emerald Esmeralda - + Gold Oro - + Jade Jade - + Metalized Metalizado - + Neon GNC Neón GNC - + Neon PHC Neón PHC - + Obsidian Obsidiana - + Pewter Estaño - + Plaster Yeso - + Plastic Plástico - + Ruby Rubí - + Satin Satén - + Shiny plastic Plástico brillante - + Silver Plata - + Steel Acero - + Stone Piedra Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opciones - - - - Code lines will be numbered - Las líneas de código serán numeradas - - - - Enable line numbers - Habilitar números de línea - - - - The cursor shape will be a block - La forma del cursor será un bloque - - - - Enable block cursor - Habilitar cursor de bloque - - - - Enable folding - Habilitar plegado - - - - Indentation - Sangría - - - - Tab size: - Tamaño de tabulación: - - - - Tabulator raster (how many spaces) - Ráster de tabulador (cuántos espacios) - - - - Indent size: - Tamaño de sangría: - - - - How many spaces will be inserted when pressing <Tab> - Cuántos espacios se insertarán al presionar <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Al presionar <Tab> se insertará un tabulador con un tamaño de pestaña definido - - - - Keep tabs - Mantener tabulación - - - - Pressing <Tab> will insert amount of defined indent size - Al presionar <Tab> se insertará una cantidad de tamaño de sangría definido - - - - Insert spaces - Insertar espacios - - - - Display items - Mostrar elementos - - - - Color and font settings will be applied to selected type - La configuración de color y fuente se aplicará al tipo seleccionado - - - - Family: - Familia: - - - - Font family to be used for selected code type - Familia de fuentes que se utilizará para el tipo de código seleccionado - - - - Size: - Tamaño: - - - - Font size to be used for selected code type - Tamaño de fuente que se utilizará para el tipo de código seleccionado - - - - Color: - Color: - - - - Preview: - Vista previa: - (Vacio) - - Gui::Dialog::DlgGeneral - - - General - General - - - - Language of the application's user interface - Idioma de la interfaz de usuario de la aplicación - - - - Number format: - Formato numérico: - - - - Operating system - Sistema operativo - - - - Selected language - Idioma seleccionado - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Si está activado, el separador decimal del teclado numérico -será sustituido por el separador de localidades, excepto -en la Consola de Python y el Editor de Macro, donde siempre se imprimirá un -punto. - - - - Preference packs - Paquetes de preferencias - - - - Name - Nombre - - - - Type - Tipo - - - - Load - Cargar - - - - Import config... - Importar configuración... - - - - Save new... - Guardar nuevo... - - - - Manage... - Administrar... - - - - Revert... - Deshacer... - - - - How many files should be listed in recent files list - Cuántos archivos deben incluirse en la lista de archivos recientes - - - - Enable tiled background - Habilitar el fondo en mosaico - - - - The text cursor will be blinking - El cursor de texto parpadeará - - - - Enable cursor blinking - Habilitar el parpadeo del cursor - - - - Style sheet: - Hoja del estilo: - - - - Language and number format - Idioma y formato numérico - - - - Language: - Idioma: - - - - Unit system: - Sistema de unidades: - - - - Unit system that should be used for all parts of the application - Sistema de unidades que debe ser utilizado para todas las partes de la aplicación - - - - Number of decimals: - Número de decimales: - - - - Number of decimals that should be shown for numbers and dimensions - Número de decimales que deben mostrarse para números y cotas - - - - Minimum fractional inch: - Fracción de pulgada mínima: - - - - Minimum fractional inch to be displayed - Fracción de pulgada mínima que se mostrará - - - - Substitute decimal separator - Sustituir separador decimal - - - - Application - Aplicación - - - - Style sheet how user interface will look like - Hoja de estilo como se verá la interfaz de usuario - - - - Size of toolbar icons: - Tamaño de los iconos de la barra de herramientas: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Elija su preferencia para el tamaño del icono de la barra de herramientas. Puedes ajustar esto de acuerdo con el tamaño de tu pantalla o gusto personal - - - - Tree view mode: - Modo de vista de árbol: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Personaliza cómo se muestra la vista de árbol en el panel (se requiere reiniciar). - -'Vista combinada': combina la vista de árbol y la vista de propiedad en un panel. -'Vista de árbol y vista de propiedades': divide la vista de árbol y la vista de propiedades en un panel separado. -'Ambas': mantiene los tres paneles, y puedes tener dos conjuntos de vista de árbol y vista de propiedad. - - - - Size of recent file list: - Tamaño de la lista de archivos recientes: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - El fondo de la ventana principal (cuando no se abre ningún documento) se compondrá de mosaicos de una imagen especial. -Vea la wiki de FreeCAD para más detalles sobre la imagen. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Una pantalla de bienvenida es una pequeña ventana de carga que se muestra -cuando se inicia FreeCAD. Si esta opción está marcada, FreeCAD mostrará -la pantalla de bienvenida - - - - Enable splash screen at start up - Habilitar página de bienvenida en el inicio - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Administrar paquetes de preferencias - - - - Small (%1px) - Pequeño (%1px) - - - - Medium (%1px) - Medio (%1px) - - - - Large (%1px) - Grande (%1px) - - - - Extra large (%1px) - Extra grande (%1px) - - - - Custom (%1px) - Personalizado (%1px) - - - - Combo View - Vista combinada - - - - TreeView and PropertyView - Vista de árbol y vista de propiedades - - - - Both - Ambas - - - - No style sheet - Sin hoja de estilo - - - - Preference Pack Name - Nombre del paquete de preferencias - - - - Tags - Etiquetas - - - - Apply - Aplicar - - - - Apply the %1 preference pack - Aplicar el %1 paquete de preferencias - - - - Choose a FreeCAD config file to import - Elige un archivo de configuración de FreeCAD para importar - - - - File exists - El archivo ya existe - - - - A preference pack with that name already exists. Overwrite? - Ya existe un paquete de preferencias con ese nombre. ¿Sobrescribir? - - Gui::Dialog::DlgInputDialog @@ -2242,8 +1810,8 @@ la pantalla de bienvenida Gui::Dialog::DlgInspector - - + + Scene Inspector Inspector de Escena @@ -2335,71 +1903,71 @@ la pantalla de bienvenida Gui::Dialog::DlgMacroExecuteImp - + Macros Macros - + Read-only Sólo lectura - + Macro file Archivo de macro - + Enter a file name, please: Ingrese un nombre de archivo, por favor: - - - + + + Existing file Archivo existente - + '%1'. This file already exists. '%1'. Este archivo ya existe. - + Cannot create file No se puede crear el archivo - + Creation of file '%1' failed. Error al crear el archivo '%1'. - + Delete macro Eliminar macro - + Do you really want to delete the macro '%1'? ¿Realmente desea eliminar la macro '%1'? - + Do not show again No mostrar de nuevo - + Guided Walkthrough Tutorial guiado - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2410,78 +1978,78 @@ Nota: tus cambios se aplicarán cuando cambies de banco de trabajo - + Walkthrough, dialog 1 of 2 Tutorial, diálogo 1 de 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close - Instrucciones de aprobación: Rellene los campos que faltan (opcional) y luego haga clic en Agregar, luego en Cerrar + Instrucciones del tutorial: Rellene los campos que faltan (opcional) y luego haga clic en Agregar, luego en Cerrar - + Walkthrough, dialog 1 of 1 Tutorial, diálogo 1 de 1 - + Walkthrough, dialog 2 of 2 Tutorial, diálogo 2 de 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instrucciones del tutorial: Haga clic en el botón derecho de la flecha (->), luego cierre. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. - Instrucciones del tutorial: Haga clic en el botón derecho de la flecha (->), luego cierre. + Instrucciones del tutorial: Haga clic en Nuevo, luego en la flecha derecha (->) botón, luego en Cerrar. - + Renaming Macro File Renombrar el archivo de la Macro - - + + Enter new name: Introduce nuevo nombre: - - + + '%1' already exists. '%1' ya existe. - + Rename Failed Renombrar fallido - + Failed to rename to '%1'. Perhaps a file permission error? Error al renombrar a '%1'. ¿Tal vez un error de permiso de archivo? - + Duplicate Macro Duplicar Macro - + Duplicate Failed Error al Duplicar - + Failed to duplicate to '%1'. Perhaps a file permission error? Error al duplicar en '%1'. @@ -2524,39 +2092,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Grabador de macros - + Specify first a place to save. Especifique primero un lugar para guardar. - + The macro directory doesn't exist. Please, choose another one. El directorio de macros no existe. Por favor elije otro. - + Existing macro Macro existente - + The macro '%1' already exists. Do you want to overwrite? La macro '%1' ya existe. ¿Quieres sobrescribir? - + You have no write permission for the directory. Please, choose another one. No tiene permiso de escritura para el directorio. Por favor elije otro. - + Choose macro directory Elija el directorio de macros @@ -2629,12 +2197,12 @@ Perhaps a file permission error? Archivos HTML - + Access denied Acceso denegado - + Access denied to '%1' Specify another directory, please. @@ -3035,36 +2603,36 @@ Especifique otro directorio, por favor. Archivo de proyecto - - + + Empty source Fuente vacía - - + + No source is defined. No hay fuente definida. - - + + Empty destination Destino vacío - - + + No destination is defined. No hay destino definido. - + Failed to extract project Error al extraer el proyecto - + Failed to create project Error al crear el proyecto @@ -3114,185 +2682,6 @@ Especifique otro directorio, por favor. Gui::Dialog::DlgReportView - - - Report view - Vista de informe - - - - Output - Salida - - - - Normal messages will be recorded - Los mensajes normales serán grabados - - - - Record normal messages - Grabar mensajes normales - - - - Log messages will be recorded - Los mensajes de registro serán grabados - - - - Record log messages - Grabar mensajes de registro - - - - Warnings will be recorded - Las advertencias se grabarán - - - - Record warnings - Grabar advertencias - - - - Error messages will be recorded - Los mensajes de error serán grabados - - - - Record error messages - Grabar mensajes de error - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Cuando ha ocurrido un error, el diálogo de la Vista de Informe se hace visible en pantalla mostrando el error - - - - Show report view on error - Mostrar la vista de informes en caso de errores - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Cuando ha ocurrido una advertencia, el cuadro de diálogo de Informe se hace visible -en pantalla mientras se muestra la advertencia - - - - Show report view on warning - Mostrar vista de informes en caso de advertencias - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Cuando ha ocurrido un mensaje normal, el cuadro de diálogo de Ver informes se hace visible -en pantalla mientras se muestra el mensaje - - - - Show report view on normal message - Mostrar vista de informe en caso de mensaje normal - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Cuando se ha producido un mensaje de registro, el cuadro de diálogo de Ver informes se hace visible -en pantalla mientras se muestra el mensaje de registro - - - - Show report view on log message - Mostrar vista de informe en caso de mensaje de registro - - - - Include a timecode for each report - Incluye un código de tiempo para cada informe - - - - Include a timecode for each entry - Incluye un código de tiempo para cada entrada - - - - Colors - Colores - - - - Normal messages: - Mensajes normales: - - - - Font color for normal messages in Report view panel - Color de fuente para los mensajes normales en el panel de vista del informe - - - - Log messages: - Mensajes de registro: - - - - Font color for log messages in Report view panel - Color de fuente para los mensajes de registro en el panel de vista del informe - - - - Warnings: - Advertencias: - - - - Font color for warning messages in Report view panel - Color de fuente para mensajes de advertencia en el panel de vista de informe - - - - Errors: - Errores: - - - - Font color for error messages in Report view panel - Color de fuente para mensajes de error en el panel de vista del informe - - - - Python interpreter - Intérprete de Python - - - - Internal Python output will be redirected -from Python console to Report view panel - La salida interna de Python se redirigirá desde la consola de Python al panel de vista de informe - - - - Redirect internal Python output to report view - Redirigir la salida interna de Python a la vista de informe - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Los mensajes de errores internos de Python serán redireccionados desde la consola de Python al panel de vista de informes - - - - Redirect internal Python errors to report view - Redirigir errores internos de Python a la vista de informes - (Vacio) @@ -3319,7 +2708,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No hay selección en el diálogo, no se puede cargar el archivo de copia de seguridad @@ -3362,7 +2751,7 @@ from Python console to Report view panel Ayuda - + Select a file Seleccionar un archivo @@ -3370,67 +2759,67 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View Vista 3D - + General General - + Main coordinate system will always be shown in lower right corner within opened files El sistema de coordenadas principal siempre se mostrará en la esquina inferior derecha dentro de los archivos abiertos - + Show coordinate system in the corner Mostrar sistema de coordenadas en la esquina - + Relative size : Tamaño relativo: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Tamaño de la representación principal del sistema de coordenadas en la esquina -- en % de la altura/ancho de la vista - + Axis cross will be shown by default at file opening or creation La cruz de los ejes se mostrará por defecto al abrir o crear un archivo - + Show axis cross by default Mostrar la cruz de los ejes por defecto - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files El tiempo necesario para la última operación y la tasa de fotogramas resultante se mostrará en la esquina inferior izquierda en los archivos abiertos - + Show counter of frames per second Mostrar contador de fotogramas por segundo - + Rendering Renderizado - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3439,22 +2828,22 @@ Changing this option requires a restart of the application. Cambiar esta opción requiere reiniciar la aplicación. - + Use software OpenGL Usar software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Usar OpenGL VBO (Vertex Buffer Objet) - + Render cache Caché de renderización - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3477,7 +2866,7 @@ que van desde anomías gráficas hasta errores de bloqueo de GPU. Recuerda repor esta configuración como activada al buscar soporte en los foros de FreeCAD - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3494,92 +2883,92 @@ sólo caché en el nodo raíz del gráfico de escenas. Esto ofrece la velocidad pero una respuesta más lenta a cualquier cambio de escena. - + Auto Automático - + Distributed Distribuido - + Centralized Centralizado - + Anti-Aliasing Suavizado de bordes - + What kind of multisample anti-aliasing is used Qué tipo de suavizado de bordes multimuestra se utiliza - + None Ninguno - + Line Smoothing Suavizado de Línea - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Objetos transparentes: - + Render types of transparent objects Tipo de renderizado de objetos transparentes - + One pass Una pasada - + Backface pass Pasada por la cara posterior - + Marker size: Tamaño del marcador: - - Size of vertices in the Sketcher workbench - Tamaño de los vértices en el entorno de trabajo Croquizador + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Distancia de ojo a ojo para modos estéreo - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3588,48 +2977,48 @@ El valor especificado es un factor que se multiplicará con el tamaño del recua del objeto 3D que se muestra actualmente. - + Backlight is enabled with the defined color La retroiluminación se habilita con el color definido - - + + Backlight color Color de retroiluminación - + Intensity Intensidad - + Intensity of the backlight Intensidad de la retroiluminación - + Camera type Tipo de cámara - + Objects will appear in a perspective projection Los objetos aparecerán en una proyección perspectiva - + Perspective renderin&g Renderizado en perspectiva - + Objects will be projected in orthographic projection Los objetos se proyectarán en proyección ortogonal - + Or&thographic rendering Renderizado ortográfico @@ -3641,42 +3030,42 @@ del objeto 3D que se muestra actualmente. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Suavizado de bordes - + Open a new viewer or restart %1 to apply anti-aliasing changes. Abre un nuevo visor o reinicie %1 para aplicar los cambios de suavizado. @@ -3684,77 +3073,77 @@ del objeto 3D que se muestra actualmente. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Caché - + Cache directory Directorio de caché - + Location: Ubicación: - + Check periodically at program start: Comprobar periódicamente al inicio del programa: - + Always Siempre - + Daily Diariamente - + Weekly Semanalmente - + Monthly Mensualmente - + Yearly Anualmente - + Never Nunca - + Cache size limit: Límite de tamaño de caché: - + Check now... Comprobar ahora... - + Notify the user if the cache size exceeds the specified limit Notificar al usuario si el tamaño de la caché excede el límite especificado - + Unknown Desconocido - + Current cache size: %1 Tamaño actual de caché: %1 @@ -3915,12 +3304,12 @@ junto a la barra de color Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Parámetro incorrecto - + The maximum value must be higher than the minimum value. El valor máximo debe ser mayor que el valor mínimo. @@ -3928,180 +3317,180 @@ junto a la barra de color Gui::Dialog::DlgSettingsDocument - + Document Documento - + General General - + The application will create a new document when started La aplicación creará un nuevo documento cuando se inicie - + Create new document at start up Crear nuevo documento al iniciar - + Document save compression level (0 = none, 9 = highest, 3 = default) Nivel de compresión de guardado de documentos (0 = ninguno, 9 = más alto, 3 = por defecto) - + Compression level for FCStd files Nivel de compresión para archivos FCStd - + All changes in documents are stored so that they can be undone/redone Todos los cambios en los documentos son almacenados para que se puedan deshacer/rehacer - + Using Undo/Redo on documents Usar Deshacer/Rehacer en documentos - + Maximum Undo/Redo steps Máximo de pasos de deshacer/rehacer - + How many Undo/Redo steps should be recorded Cuántos pasos de deshacer/rehacer deben ser grabados - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Permite que el usuario anule el recálculo del documento presionando ESC. Esta operación puede aumentar ligeramente el tiempo de recálculo. - + Allow aborting recomputation Permitir anular el recálculo - + Storage Almacenamiento - + Saving transactions (Auto-save) Guardando operaciones (Guardado automático) - + Discard saved transaction after saving document Descartar operaciones guardadas depués de guardar el documento - + If there is a recovery file available the application will automatically run a file recovery when it is started. Si hay un archivo de recuperación disponible, la aplicación automáticamente ejecutará un archivo de recuperación cuando se inicie. - + Run AutoRecovery at startup Ejecutar recuperación automática al iniciar - + How often a recovery file is written Cada cuánto se escribe el archivo de recuperación - + Save AutoRecovery information every Guardar información de auto-recuperación cada - + A thumbnail will be stored when document is saved Una miniatura será almacenada cuando se guarde el documento - + Save thumbnail into project file when saving document Guardar miniatura en el archivo del proyecto al guardar el documento - + Size Tamaño - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Fija el tamaño de la miniatura que es almacenada en el documento. Los tamaños comunes son 128, 256 y 512 - + The program logo will be added to the thumbnail El logo del programa se añadirá a la miniatura - + Add the program logo to the generated thumbnail Agregar el logo del programa a la miniatura generada - + How many backup files will be kept when saving document Cuántos archivos de copia de seguridad se conservarán cuando se guarde el documento - + Maximum number of backup files to keep when resaving document Número máximo de archivos de copia de seguridad a tener al momento de volver a guardar el documento - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Los archivos de copia de seguridad tendrán la extensión '.FCbak' y los nombres de archivo tendrán el sufijo de fecha de acuerdo al formato especificado - + Use date and FCBak extension Usar fecha y extensión FCBak - + Date format Formato de fecha - + Document objects Objetos del documento - + Allow objects to have same label Permitir que los objetos tengan el mismo rótulo - + Allow duplicate object labels in one document Permitir etiquetas de objeto duplicadas en un documento - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4114,22 +3503,22 @@ Un documento parcialmente cargado no puede ser editado. Haga doble clic en el ic del documento en la vista de árbol para volver a cargarlo completamente. - + Disable partial loading of external linked objects Deshabilitar la carga parcial de objetos enlazados externos - + Authoring and License Autoría y Licencia - + Author name Nombre del autor - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4138,32 +3527,32 @@ Mantener en blanco para anonimato. También puede utilizar el formulario: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file El campo "Última modificación por" será asignado al autor especificado cuando se guarde el archivo - + Set on save Establecer al guardar - + Company Organización - + Default company name to use for new files Nombre de organización predeterminado a usar en archivos nuevos - + Default license Licencia predeterminada - + Default license for new documents Licencia predeterminada para documentos nuevos @@ -4233,12 +3622,12 @@ También puede utilizar el formulario: John Doe <john@doe.com>Otro - + License URL URL de la licencia - + URL describing more about the license URL que describe más sobre la licencia @@ -4246,104 +3635,21 @@ También puede utilizar el formulario: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. El formato de la fecha a utilizar. - + Default Predeterminado - + Format Formato - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Texto - - - - Bookmark - Marcador - - - - Breakpoint - Punto de parada - - - - Keyword - Palabra clave - - - - Comment - Comentario - - - - Block comment - Comentar bloque - - - - Number - Número - - - - String - Cadena de texto - - - - Character - Carácter - - - - Class name - Nombre de clase - - - - Define name - Definir nombre - - - - Operator - Operador - - - - Python output - Salida de Python - - - - Python error - Error de Python - - - - Current line highlight - Resaltado de línea actual - - - - Items - Artículos - - Gui::Dialog::DlgSettingsImage @@ -4524,122 +3830,122 @@ También puede utilizar el formulario: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Configuración general de macros - + Variables defined by macros are created as local variables Las variables definidas por macros son creadas como variables locales - + Run macros in local environment Ejecutar macros en entorno local - + Macro recording settings Configuración de grabación de macros - + Macro path Ruta de la macro - + The directory in which the application will search for macros El directorio en el que la aplicación buscará macros - + Gui commands Comandos de la interfaz gráfica de usuario - + Recorded macros will also contain user interface commands Las macros grabadas también contendrán comandos de interfaz de usuario - + Record GUI commands Grabar los comandos GUI - + Recorded macros will also contain user interface commands as comments Las macros grabadas también contendrán comandos de interfaz de usuario como comentarios - + Record as comment Grabar como comentario - + Logging Commands Registro de comandos - + Commands executed by macro scripts are shown in Python console Los comandos ejecutados por scripts de macros se muestran en la consola de Python - + Show script commands in python console Mostrar comandos de scripts en la consola de Python - + Log all commands issued by menus to file: Registrar todos los comandos publicados por menús en el archivo: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Menú de macros recientes - + Size of recent macro list Tamaño de la lista de macros recientes - + How many macros should be listed in recent macros list Cuántas macros deben aparecer en la lista de macros recientes - + Keyboard shortcut count Recuento de atajos de teclado - + How many recent macros should have shortcuts Cuántas macros recientes deben tener atajos - + Keyboard Modifiers Modificadores de teclado - + Keyboard modifiers, default = Ctrl+Shift+ Modificadores de teclado, por defecto = Ctrl+Shift+ @@ -4647,130 +3953,130 @@ También puede utilizar el formulario: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navegación - + Navigation cube Cubo de navegación - + Steps by turn Pasos por vuelta - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Número de pasos por vuelta cuando se usan flechas (por defecto = 8 : ángulo del paso = 360/8 = 45°) - + Corner Esquina - + Corner where navigation cube is shown Esquina donde se muestra el cubo de navegación - + Top left Arriba a la izquierda - + Top right Arriba a la derecha - + Bottom left Abajo a la izquierda - + Bottom right Abajo a la derecha - + Rotates to nearest possible state when clicking a cube face Girar al estado más cercano posible al hacer clic en una cara del cubo - + Rotate to nearest Girar al más cercano - + Font name: Nombre de la fuente: - + Font name of the navigation cube Nombre de la fuente del cubo de navegación - + Default Predeterminado - + Cube size Tamaño del cubo - + Size of the navigation cube Tamaño del cubo de navegación - + Color Color - + Base color for all elements Color base para todos los elementos - + 3D Navigation Navegación 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Lista la configuración de botones del ratón para cada configuración de navegación elegida. Seleccione un conjunto y, a continuación, presione el botón para ver dichas configuraciones. - + Mouse... Mouse... - + Navigation settings set Configuración de navegación establecida - + Orbit style Estilo de órbita - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4781,173 +4087,183 @@ Turntable: la pieza se girará alrededor del eje Z (con ejes restringidos). Turntable libre: la pieza se girará alrededor del eje z. - + Turntable Mesa giratoria - + Trackball Trackball - + Free Turntable Turntable libre - + Rotation mode Modo de rotación - + Rotations in 3D will use current cursor position as center for rotation Las rotaciones en 3D usarán la posición actual del cursor como centro de rotación - + Window center Centro de la ventana - + Drag at cursor Arrastre el cursor - + Object center Centro del objeto - + Default camera orientation Orientación de cámara por defecto - + Default camera orientation when creating a new document or selecting the home view Orientación por defecto de la cámara al crear un nuevo documento o seleccionar la vista de inicio - + Camera zoom Zoom de cámara - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Establece el zoom de la cámara para nuevos documentos. El valor es el diámetro de la esfera que cabe en la pantalla. - + mm mm - + Enable animated rotations Permite las rotaciones animadas - + Enable animation Habilitar animación - + Zoom operations will be performed at position of mouse pointer Las operaciones de zoom se realizarán en la posición del puntero del ratón - + Zoom at cursor Zoom en el cursor - + Zoom step Paso de zoom - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Cuánto zoom se aplicará. Paso de zoom de ´1´ significa un factor de 7.5 para cada paso de zoom. - + Direction of zoom operations will be inverted La dirección de las operaciones de zoom se invertirá - + Invert zoom Invertir zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. Impide que la vista se incline cuando se hace zoom. Afecta solo el estilo de navegación por gestos. La inclinación del ratón no está desactivada por esta configuración. - + Disable touchscreen tilt gesture Desactivar gesto de inclinación de la pantalla táctil - + + Show the rotation center when dragging. + Mostrar el centro de rotación al arrastrar. + + + + Enable rotation center indication + Habilitar la indicación del centro de rotación + + + Isometric Isométrica - + Dimetric Dimétrica - + Trimetric Trimétrica - + Top Superior - + Front Anterior - + Left Izquierda - + Right Derecha - + Rear Posterior - + Bottom Inferior - + Custom Personalizado @@ -4955,44 +4271,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Consola de Python - + Settings Configuración - + Words will be wrapped when they exceed available horizontal space in Python console Las palabras serán ajustadas cuando excedan espacio horizontal disponible en la consola de Python - + Enable word wrap Habilitar ajuste de líneas de texto - + The cursor shape will be a block La forma del cursor será un bloque - + Enable block cursor Habilitar cursor de bloque - + Saves Python history across sessions Guarda el historial de Python a través de sesiones - + Save history Guardar historial @@ -5000,17 +4316,37 @@ espacio horizontal disponible en la consola de Python Gui::Dialog::DlgSettingsSelection - + Selection Selección - + + Enable preselection, highlighted with specified color + Habilita la preselección, resaltada con el color especificado + + + + Enable preselection + Habilitar preselección + + + + Enable selection, highlighted with specified color + Habilita la selección, resaltada con el color especificado + + + + Enable selection + Habilitar selección + + + Pick radius (px): Radio de selección (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5019,27 +4355,27 @@ Valor más grande facilita la selección de cosas, pero puede hacer imposible se - + Auto switch to the 3D view containing the selected item Cambia automáticamente a la vista 3D que contiene el elemento seleccionado - + Auto expand tree item when the corresponding object is selected in 3D view Autoexpande el elemento del árbol cuando se selecciona el objeto correspondiente en la vista 3D - + Preselect the object in 3D view when mouse over the tree item Preselecciona el objeto en la vista 3D cuando el puntero de ratón esté sobre el objeto del árbol - + Record selection in tree view in order to go back/forward using navigation button Graba la selección en la vista de árbol para retroceder/avanzar usando el botón de navegación - + Add checkboxes for selection in document tree Añadir casillas de selección en el árbol de documentos @@ -5047,147 +4383,122 @@ Valor más grande facilita la selección de cosas, pero puede hacer imposible se Gui::Dialog::DlgSettingsViewColor - + Colors Colores - - Selection - Selección - - - - Enable preselection and highlight by specified color - Habilita la preselección y el resaltado mediante el color especificado - - - - Enable preselection highlighting - Habilitar resaltado de preselección - - - - Enable selection highlighting and use specified color - Habilita el resaltado de selección y usa el color especificado - - - - Enable selection highlighting - Habilitar resaltado de selección - - - + Background color for the model view Color de fondo para la vista del modelo - + Background color Color de fondo - - + + Background will have selected color El fondo tendrá el color seleccionado - + Simple color Color simple - - + + Background will have selected color gradient El fondo tendrá el degradado de colores seleccionado - + Linear gradient Gradiente lineal - + Radial gradient Gradiente radial - - + + Top: Superior: - - + + Middle: Medio: - + Switches the colors of the gradient Cambia los colores del degradado - + Switch Cambiar - + Color gradient will get selected color as middle color El color en degradé obtendrá el color seleccionado como color medio - + Middle color Color medio - - + + Bottom: Inferior: - + Tree view Vista de árbol - + Object being edited Objeto en edición - + Background color for objects in tree view that are currently edited Color de fondo para objetos en la vista de árbol que están en edición actualmente - + Active container Contenedor activo - + Background color for active containers in tree view Color de fondo para contenedores activos en vista de árbol - + Central: Central: - + Midway: Intermedio: - + End: Fin: @@ -5299,12 +4610,12 @@ El sistema de preferencias es el establecido en las preferencias generales. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unidad desconocida: - + unit mismatch unidad incompatible @@ -5312,7 +4623,7 @@ El sistema de preferencias es el establecido en las preferencias generales. Gui::Dialog::DockablePlacement - + Placement Ubicación @@ -5364,60 +4675,60 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Aún no recuperado - + Unknown problem occurred Ocurrió un problema desconocido - - + + Failed to recover No se pudo recuperar - + Successfully recovered Recuperado con éxito - + Finish Finalizar - - + + Delete Eliminar - - + + Cleanup Limpiar - + Are you sure you want to delete the selected transient directories? ¿Está seguro que desea eliminar los directorios transitorios seleccionados? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Al eliminar el directorio transitorio seleccionado no podrá recuperar los archivos luego. - + Are you sure you want to delete all transient directories? ¿Está seguro que desea eliminar todos los directorios transitorios? - + When deleting all transient directories you won't be able to recover any files afterwards. Al eliminar todo directorio transitorio no podrá recuperar los archivos luego. - + Transient directories deleted. Directorios transitorios borrados. @@ -5541,7 +4852,7 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Carpetas de íconos - + Add icon folder Añadir icono de la carpeta @@ -5554,12 +4865,12 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Agregar o eliminar carpetas de icono personalizado - + Remove folder Eliminar carpeta - + Removing a folder only takes effect after an application restart. Eliminar una carpeta solo surte efecto después de reiniciar una aplicación. @@ -5629,79 +4940,79 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::ParameterGroup - - + + Expand Expandir - + Add sub-group Añadir subgrupo - - + + Remove group Eliminar grupo - + Rename group Renombrar grupo - + Export parameter Exportar parámetro - + Import parameter Importar parámetro - + Collapse Colapsar - + Do you really want to remove this parameter group? ¿Realmente desea eliminar este grupo de parámetros? - + Existing sub-group Subgrupo existente - + The sub-group '%1' already exists. El subgrupo '%1' ya existe. - + Export parameter to file Exportar parámetro a archivo - + Import parameter from file Importar parámetro de archivo - + Import Error Error de importación - + Reading from '%1' failed. La lectura de '%1' ha fallado. @@ -5709,65 +5020,65 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::ParameterValue - + Change value Cambiar valor - + Remove key Eliminar clave - + Rename key Renombrar clave - + New Nuevo - + New string item Nuevo elemento de cadena - + New float item Nuevo elemento flotante - + New integer item Nuevo elemento entero - + New unsigned item Nuevo elemento sin firmar - + New Boolean item Nuevo elemento Booleano - - - - - + + + + + Existing item Elemento existente - - - - - + + + + + The item '%1' already exists. El elemento '%1' ya existe. @@ -5913,17 +5224,17 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Aplicar - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Por favor, seleccione 1, 2 o 3 puntos antes de hacer clic en este botón. Un punto puede estar en un vértice, cara o arista. Si en una cara o arista, el punto utilizado será el punto en la posición del mouse a lo largo de la cara o la arista. Si se selecciona 1 punto, se utilizará como centro de rotación. Si se seleccionan 2 puntos, el punto medio entre ellos será el centro de rotación y, si es necesario, se creará un nuevo eje personalizado. Si se seleccionan 3 puntos, el primer punto se convierte en el centro de rotación y se encuentra en el vector que es normal al plano definido por los 3 puntos. Se proporciona cierta información de distancia y ángulo en la vista de reporte, que puede ser útil al alinear objetos. Para su comodidad, cuando se usa la tecla Mayús + clic, la distancia o el ángulo apropiados se copian en el portapapeles. - + Incorrect quantity Cantidad incorrecta - + There are input fields with incorrect input, please ensure valid placement values! Algunos campos contienen datos incorrectos, ¡asegúrese de introducirlos en el lugar apropiado! @@ -5931,12 +5242,12 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::PrintModel - + Button Botón - + Command Comando @@ -6000,17 +5311,17 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::SceneModel - + Inventor Tree Árbol de Inventario - + Name Nombre - + Nodes Nodos @@ -6066,14 +5377,14 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::Transform - - + + Cancel Cancelar - - + + Transform Transformar @@ -6170,13 +5481,13 @@ originally selected prior to opening this dialog - + Model Modelo - + Tasks Tareas @@ -6184,7 +5495,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Vista de Propiedad @@ -6192,82 +5503,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Opciones - + Display message types Visualización de tipos de mensajes - - + + Normal messages Mensajes normales - - + + Log messages Mensajes de registro - - + + Warnings Advertencias - - + + Errors Errores - - + + Critical messages Mensajes críticos - + Show Report view on Mostrar vista de informe en - + Redirect Python output Redirigir la salida de Python - + Redirect Python errors Redirigir errores de Python - + Go to end Ir al final - + Clear Limpiar - + Save As... Guardar Como... - + Save Report Output Guardar Informe de Salida - + Plain Text Files Archivos de texto sin formato @@ -6276,13 +5587,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Salida - + Python console Consola de Python @@ -6320,72 +5631,72 @@ originally selected prior to opening this dialog Lista de objetos seleccionados - + Select only Seleccione sólo - + Selects only this object Selecciona sólo este objeto - + Deselect Deseleccionar - + Deselects this object Deselecciona este objeto - + Zoom fit Ampliar ajuste - + Selects and fits this object in the 3D window Selecciona y ajusta éste objeto en la ventana 3D - + Go to selection Ir a la selección - + Selects and locates this object in the tree view Selecciona y localiza éste objeto en la vista de árbol - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marca este objeto para ser recalculado - + To python console A la consola de python - + Reveals this object and its subelements in the python console. Muestra este objeto y sus subelementos en la consola de python. - + Duplicate subshape Subforma duplicada - + Creates a standalone copy of this subshape in the document Crea una copia independiente de esta subforma en el documento @@ -6398,7 +5709,7 @@ originally selected prior to opening this dialog Aplicación - + Labels & Attributes Etiquetas & Atributos @@ -6447,27 +5758,27 @@ Desea guardar los cambios? Archivo PDF - + untitled[*] sin título[*] - + - Editor - Editor - + %1 chars removed %1 caracteres eliminados - + %1 chars added %1 caracteres añadidos - + Formatted Formateado @@ -6491,13 +5802,13 @@ Desea guardar los cambios? Gui::FileChooser - - + + Select a file Seleccionar un archivo - + Select a directory Seleccione una carpeta @@ -6505,13 +5816,13 @@ Desea guardar los cambios? Gui::FileDialog - + Save as Guardar como - - + + Open Abrir @@ -6519,12 +5830,12 @@ Desea guardar los cambios? Gui::FileOptionsDialog - + Extended Extendido - + All files (*.*) Todos los archivos (*.*) @@ -6532,27 +5843,27 @@ Desea guardar los cambios? Gui::Flag - + Top left Arriba a la izquierda - + Bottom left Abajo a la izquierda - + Top right Arriba a la derecha - + Bottom right Abajo a la derecha - + Remove Eliminar @@ -6560,22 +5871,22 @@ Desea guardar los cambios? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Pulse o haga clic en el botón izquierdo del ratón. - + Drag screen with two fingers OR press right mouse button. Arrastre la pantalla con dos dedos O presione el botón derecho del ratón. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Arrastra la pantalla con un dedo O pulsa el botón izquierdo del ratón. En Sketcher && otros modos de edición, mantén Alt además. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pellizque (ponga dos dedos en la pantalla y separelos/juntelos) o rote la rueda central del ratón o use AvPág/RePág en teclado. @@ -6583,74 +5894,74 @@ Desea guardar los cambios? Gui::GraphvizView - + Graphviz not found Graphviz no encontrado - + Graphviz couldn't be found on your system. No se pudo encontrar Graphviz en su sistema. - + Read more about it here. Leer más sobre esto aquí. - + Do you want to specify its installation path if it's already installed? ¿Desea especificar su ruta de instalación si ya está instalado? - + Graphviz installation path Ruta de instalación de Graphviz - + Graphviz failed Error de Graphviz - + Graphviz failed to create an image file Graphviz falló al crear un archivo de imagen - + PNG format Formato PNG - + Bitmap format Formato de mapa de bits - + GIF format Formato GIF - + JPG format Formato JPG - + SVG format Formato SVG - - + + PDF format Formato PDF - - + + Export graph Exportar gráfico @@ -6658,12 +5969,12 @@ Desea guardar los cambios? Gui::InputField - + Edit Editar - + Save value Guardar valor @@ -6671,22 +5982,22 @@ Desea guardar los cambios? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Presione Ctrl y botón izquierdo del ratón - + Press middle mouse button Presione el botón central del mouse - + Press left mouse button Presione el botón izquierdo del ratón - + Scroll middle mouse button Rotar la rueda central del mouse @@ -6694,7 +6005,7 @@ Desea guardar los cambios? Gui::LabelEditor - + List Lista @@ -6702,66 +6013,66 @@ Desea guardar los cambios? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definido por el usuario... - + - - + + Wrong direction Dirección incorrecta - + - - + + Direction must not be the null vector La dirección no puede ser el vector nulo @@ -6769,22 +6080,22 @@ Desea guardar los cambios? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Dirección: @@ -6792,17 +6103,17 @@ Desea guardar los cambios? Gui::MacroCommand - + Macros Macros - + Macro file doesn't exist No existe el archivo de la macro - + No such macro file: '%1' No hay tal archivo macro: '%1' @@ -6810,63 +6121,73 @@ Desea guardar los cambios? Gui::MainWindow - - + + Dimension Cota - + Ready Listo - + Help addon needed! ¡Se necesita el complemento de ayuda! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager El sistema de ayuda de %1 ahora es manejado por el complemento "Ayuda". Se puede instalar fácilmente a través del Administrador de Complementos - + Open Addon Manager Abrir gestor de complementos - + Close All Cerrar todo - - + + Toggles this toolbar Alterna esta barra de herramientas - - + + Toggles this dockable window Alterna esta ventana acoplable - - + + WARNING: This is a development version. + ADVERTENCIA: Esta es una versión de desarrollo. + + + + Please do not use in a production environment. + Por favor, no utilizar en un entorno de producción. + + + + Unsaved document Documento sin guardar - + The exported object contains external link. Please save the documentat least once before exporting. El objeto exportado contiene un vínculo externo. Por favor, guarde el documento al menos una vez antes de exportar. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Para vincular a objetos externos, el documento debe guardarse al menos una vez. @@ -6876,121 +6197,121 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Alineación manual - + The alignment is already in progress. La alineación ya está en progreso. - + Alignment[*] Alineación[*] - + Please, select at least one point in the left and the right view Por favor, selecciona al menos un punto en la vista izquierda y derecha - + Please, select at least %1 points in the left and the right view Por favor, selecciona al menos %1 punto(s) en la vista izquierda y la derecha - + Please pick points in the left and right view Selecciona puntos en la vista izquierda y derecha - + The alignment has finished La alineación ha terminado - + The alignment has been canceled La alineación ha sido cancelada - - + + Too few points picked in the left view. At least %1 points are needed. Muy pocos puntos recogidos en la vista izquierda. Por lo menos se necesitan %1 de puntos. - - + + Too few points picked in the right view. At least %1 points are needed. Muy pocos puntos recogidos en la vista derecha. Por lo menos se necesitan %1 de puntos. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Número diferente de puntos en la vista izquierda y derecha. En la vista izquierda %1 puntos se han seleccionado, en la vista derecha %2 puntos se han seleccionado. - + Try to align group of views Trate de alinear el grupo de vistas - + The alignment failed. How do you want to proceed? Error en la alineación. ¿Desea continuar? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Diferente número de puntos seleccionado en la vista izquierda y derecha. En la vista izquierda se seleccionan %1 puntos, en la vista derecha se seleccionan %2 puntos. - + Point_%1 Puntos_%1 - + Point picked at (%1,%2,%3) Punto seleccionado en (1%, 2%, 3%) - + No point was found on model Ningún punto se encontró en el modelo - + No point was picked No fue elegido ningún punto - + &Align &Alinear - + &Remove last point &Eliminar último punto - + &Cancel &Cancelar - + &Synchronize views Sincronizar vistas @@ -6998,22 +6319,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Pulse o haga clic en el botón izquierdo del ratón. - + Drag screen with two fingers OR press ALT + middle mouse button. Arrastre la pantalla con dos dedos o presione Alt + botón central del ratón. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Arrastre la pantalla con un dedo o presione Alt + botón izquierdo del ratón. En el Croquizador y otros modos de edición, también mantenga presionado Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pellizque (ponga dos dedos en la pantalla y separelos/juntelos) o rote la rueda central del ratón o presione Alt + botón derecho del ratón o use AvPág/RePág en teclado. @@ -7021,7 +6342,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Presione las teclas modificadoras @@ -7037,22 +6358,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Presione el botón izquierdo del ratón - + Press CTRL and middle mouse button Pulse Ctrl y el botón central del ratón - + Press CTRL and right mouse button Pulse Ctrl y botón derecho del ratón - + Press CTRL and left mouse button Presione Ctrl y botón izquierdo del ratón @@ -7060,22 +6381,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Presione el botón izquierdo del ratón - + Press right mouse button and move mouse Pulse el botón derecho del ratón y mueva el ratón - + Press left mouse button and move mouse Pulse el botón izquierdo del ratón y mueva el ratón - + Press middle mouse button or SHIFT and right mouse button Pulse el botón central del ratón o SHIFT y el botón derecho del ratón @@ -7083,17 +6404,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Editar - + Save value Guardar valor - + Clear list Limpiar lista @@ -7124,12 +6445,12 @@ How do you want to proceed? Restante: %1 - + Aborting Anulando - + Do you really want to abort the operation? ¿De verdad quieres anular la operación? @@ -7137,7 +6458,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Cambiar el objeto vinculado @@ -7145,12 +6466,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Error - + Object not found Objeto no encontrado @@ -7221,13 +6542,13 @@ How do you want to proceed? Gui::PropertyView - + View Ver - + Data Datos @@ -7275,77 +6596,77 @@ Do you want to exit without saving your data? Excepción desconocida de C++ no gestionada. - + &Copy &Copiar - + &Copy command &Comando copiar - + &Copy history &Copiar historial - + Save history as... Guardar historial como... - + Save history Guardar historial - + Saves Python history across %1 sessions Guarda el historial de Python en %1 sesiones - + &Paste &Pegar - + Select All Seleccionar Todo - + Clear console Limpiar consola - + Insert file name... Insertar nombre de archivo... - + Word wrap Ajuste de línea de texto - + Save History Guardar Historial - + Macro Files Archivos macro - + Insert file name Insertar nombre de archivo - + All Files Todos los Archivos @@ -7353,7 +6674,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Comentario @@ -7366,17 +6687,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Abrir archivo %1 - + File not found Archivo no encontrado - + The file '%1' cannot be opened. El archivo '%1' no puede ser abierto. @@ -7384,22 +6705,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none ninguno - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Ejecutar macro %1 (Shift+clic para editar) el atajo de teclado: %2 - + File not found Archivo no encontrado - + The file '%1' cannot be opened. El archivo '%1' no puede ser abierto. @@ -7407,22 +6728,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Presione el botón izquierdo del ratón - + Press middle mouse button Presione el botón central del mouse - + Press SHIFT and middle mouse button - Presione Shift y el botón central del ratón + Pulse SHIFT y el botón central del ratón - + Scroll middle mouse button Rotar la rueda central del mouse @@ -7453,17 +6774,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Seleccionar módulo - + Open %1 as Abrir %1 como - + Select Seleccionar @@ -7532,13 +6853,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentación de módulos python automático - - + + Opens a browser to show the Python modules documentation Abre un navegador y muestra documentación sobre los módulos de Python @@ -7636,12 +6957,12 @@ Do you want to specify another directory? Document window: - Ventana de documento: + Ventana del documento: Plot mode: - Modo Matplot: + Modo de ploteo: @@ -7651,7 +6972,7 @@ Do you want to specify another directory? Line width: - Espesor de Línea: + Ancho de línea: @@ -7691,38 +7012,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Texto actualizado - + The text of the underlying object has changed. Discard changes and reload the text from the object? El texto del objeto subyacente ha cambiado. ¿Descartar cambios y volver a cargar el texto del objeto? - + Yes, reload. Sí, recargar. - + Unsaved document Documento sin guardar - + Do you want to save your changes before closing? ¿Desea guardar sus cambios antes de cerrar? - + If you don't save, your changes will be lost. Si no guarda, los cambios se perderán. - - + + Edit text Editar texto @@ -7730,22 +7051,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Presione el botón izquierdo del ratón - + Press middle mouse button - Presione el botón central del mouse + Pulse el botón central del ratón - + Press right mouse button Pulse el botón derecho del ratón - + Scroll middle mouse button Rotar la rueda central del mouse @@ -7753,22 +7074,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Presione el botón izquierdo del ratón - + Press SHIFT button Presione la tecla Shift - + Press ALT button Presione la tecla Alt - + Press CTRL and SHIFT buttons Presione Ctrl y Shift @@ -7994,7 +7315,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Vista de árbol @@ -8002,7 +7323,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Búsqueda @@ -8010,183 +7331,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Búsqueda... - + Search for objects Búsqueda de objetos - + Activate document Activar documento - + Activate document %1 Activar documento %1 - + Tree settings Ajustes del árbol - + Show description column Mostrar columna de descripción - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Muestra una columna extra de vista de árbol para la descripción del artículo. La descripción del elemento se puede establecer pulsando F2 (o el botón de edición de tu sistema operativo) o editando la propiedad 'label2'. - + Group Grupo - + Labels & Attributes Etiquetas & Atributos - + Description Descripción - + Show items hidden in tree view Mostrar elementos ocultos en la vista de árbol - + Show items that are marked as 'hidden' in the tree view Mostrar elementos marcados como 'ocultos' en la vista de árbol - + Toggle visibility in tree view Cambiar visibilidad en la vista de árbol - + Toggles the visibility of selected items in the tree view Cambia la visibilidad de los elementos seleccionados en la vista de árbol - + Create group... Crear grupo... - + Create a group Crear un grupo - - + + Rename Renombrar - + Rename object Renombrar objeto - + Finish editing Finalizar edición - + Finish editing object Finalizar edición de objeto - + Add dependent objects to selection Añadir objetos dependientes a la selección - + Adds all dependent objects to the selection Agrega todos los objetos dependientes a la selección - + Close document Cerrar documento - + Close the document Cerrar el documento - + Reload document Recargar documento - + Reload a partially loaded document Recargar un documento parcialmente cargado - + Skip recomputes Saltar recálculo - + Enable or disable recomputations of document Activar o desactivar el recálculo del documento - + Allow partial recomputes Permitir recalculado parcial - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Activar o desactivar el recálculo del objeto de edición cuando 'saltar recálculo' está habilitado - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marca este objeto para ser recalculado - + Recompute object Recalcular objeto - + Recompute the selected object Recalcular el objeto seleccionado - + (but must be executed) (pero debe ser ejecutado) - + %1, Internal name: %2 %1, Nombre interno: %2 @@ -8217,12 +7538,12 @@ Do you want to specify another directory? Archivo PDF - + Opening file failed No se pudo abrir el archivo - + Can't open file '%1' for writing. No se puede abrir el archivo '%1' para escritura. @@ -8230,7 +7551,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Seleccionar el escenario '%1' @@ -8238,37 +7559,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Servicios - + Hide %1 Ocultar %1 - + Hide Others Ocultar Otros - + Show All Mostrar Todo - + Preferences... Preferencias... - + Quit %1 Cerrar %1 - + About %1 Acerca de %1 @@ -8288,11 +7609,6 @@ Do you want to specify another directory? Position - - - Form - Forma - X: @@ -8387,14 +7703,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Entrada incorrecta - - + + Input in line %1 is not a number La linea de entrada %1 no es un número @@ -8402,37 +7718,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Vista de árbol - + Property view Vista de Propiedades - + Selection view Vista de selección - + Combo View Vista combinada - + DAG View Vista DAG - + Report view Vista de informe - + Python console Consola de Python @@ -8445,31 +7761,32 @@ Do you want to specify another directory? QObject - - + + General General - - + + + Display Mostrar - + Workbenches Bancos de trabajo - - - + + + Python Python @@ -8497,17 +7814,27 @@ Do you want to specify another directory? No es posible guardar el tipo de archivo desconocido: %1 - + Workbench failure Fracaso de escenario - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Excepción @@ -8553,8 +7880,8 @@ Do you want to specify another directory? Exportando a PDF... - + Unsaved document Documento sin guardar @@ -8575,39 +7902,39 @@ Do you want to specify another directory? Error de dependencia - + Copy selected Copiar seleccionado - + Copy active document Copiar documento activo - + Copy all documents Copiar todos los documentos - + Paste Pegar - + Expression error Error de Expresión - + Failed to parse some of the expressions. Please check the Report View for more details. Error al analizar alguna(s) de las expresiones. Por favor, compruebe la Vista de Informe para más detalles. - + Failed to paste expressions Error al pegar expresiones @@ -8641,225 +7968,225 @@ Be aware the point where you click matters. Seleccione dos objetos. Tenga en cuenta el punto en que hace clic. - - + + Save views... Guardar vistas... - - + + Load views... Cargar vistas... - - + + Freeze view Congelar vista - - + + Clear views Limpiar vistas - - - + + + Restore view &%1 Restaurar vista &%1 - + Save frozen views Guardar vistas congeladas - - + + Frozen views Vistas congeladas - - + + Restore views Restaurar vistas - + Importing the restored views would clear the already stored views. Do you want to continue? La importación de las vistas restauradas podría limpiar las vistas ya almacenadas. Desea continuar? - + Restore frozen views Restaurar vistas congeladas - + Cannot open file '%1'. No es posible abrir el archivo '%1'. - + files archivos - + Save image Guardar imagen - + Choose an image file to open Elegir un archivo de imagen para abrir - + New sub-group Nuevo subgrupo - - - - - - + + + + + + Enter the name: Ingresa nuevo nombre: - - + + New text item Nuevo elemento de texto - - + + Enter your text: Ingresa tu texto: - - + + New integer item Nuevo elemento entero - - - - - - + + + + + + Enter your number: Ingresa tu número: - - + + New unsigned item Nuevo elemento sin firmar - - + + New float item Nuevo elemento flotante - + New Boolean item Nuevo elemento Booleano - - + + Choose an item: Elegir un elemento: - + New boolean item Nuevo elemento booleano - + Rename group Renombrar grupo - + The group '%1' cannot be renamed. El grupo '%1' no puede ser renombrado. - + Existing group Grupo existente - + The group '%1' already exists. El grupo '%1' ya existe. - - - - - + + + + + Change value Cambiar valor - + Type Tipo - + Notifier Notificador - + Message Mensaje - + Notifier: Notificador: - + Do you want to skip confirmation of further critical message notifications while loading the file? ¿Desea omitir la confirmación de las notificaciones de mensajes críticos adicionales mientras se carga el archivo? - + Critical Message Mensaje crítico - + Too many opened non-intrusive notifications. Notifications are being omitted! Demasiadas notificaciones no intrusivas abiertas. ¡Las notificaciones serán omitidas! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8868,44 +8195,44 @@ Desea continuar? - + Are you sure you want to continue? ¿Estás seguro/a de que quieres continuar? - + Please check report view for more... Por favor, compruebe la vista del informe para más... - + Physical path: Ruta física: - - + + Document: Documento: - - + + Path: Trayectoria: - + Identical physical path Ruta física idéntica - + Could not save document No se pudo guardar el documento - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8918,102 +8245,102 @@ Would you like to save the file with a different name? ¿Desea guardar el archivo con un nombre diferente? - - - + + + Saving aborted Guardando anulado - + Save dependent files Guardar archivos dependientes - + The file contains external dependencies. Do you want to save the dependent files, too? El archivo contiene dependencias externas. ¿Desea guardar los archivos dependientes también? - - + + Saving document failed No se pudo guardar el documento - + Save document under new filename... Guardar documento con un nombre de archivo nuevo... - - + + Save %1 Document Guardar el documento %1 - + Document Documento - - + + Failed to save document Error al guardar el documento - + Documents contains cyclic dependencies. Do you still want to save them? Los documentos contienen dependencias cíclicas. ¿Desea guardarlos? - + Save a copy of the document under new filename... Guardar una copia del documento con un nuevo nombre de archivo... - + %1 document (*.FCStd) %1 documento (*.FCStd) - + Document not closable El documento no se puede cerrar - + The document is not closable for the moment. El documento no se puede cerrar por el momento. - + Document not saved Documento no guardado - + The document%1 could not be saved. Do you want to cancel closing it? El documento%1 no se pudo guardar. ¿Desea cancelar cerrando? - + Undo Deshacer - + Redo Rehacer - + There are grouped transactions in the following documents with other preceding transactions Hay transacciones de grupo en los siguientes documentos con otras transacciones anteriores - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9027,47 +8354,47 @@ Elija 'Anular' para anular Guardar Macro - - + + Finish Finalizar - - + + Clear Limpiar - - - + + + Cancel Cancelar - + Inner Interior - + Outer Exterior - + Split Dividir - - + + No Browser Sin Navegador - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9076,48 +8403,48 @@ Please open a browser window and type in: http://localhost:%1. Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. - + No Server Ningún servidor - + Unable to start the server to port %1: %2. Incapaz de iniciar el servidor al puerto %1: %2. - + Unable to open your system browser. Incapaz de abrir su navegador del sistema. - + Options... Opciones... - + Out of memory Memoria insuficiente - + Not enough memory available to display the data. Insuficiente memoria disponible para mostrar los datos. - - + + Cannot find file %1 No se puede encontrar el archivo %1 - + Cannot find file %1 neither in %2 nor in %3 No se pueden encontrar los archivos %1 ni %2 ni %3 - + Navigation styles Estilos de navegación @@ -9127,8 +8454,8 @@ Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. Mover anotación - - + + Transform Transformar @@ -9138,42 +8465,42 @@ Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. ¿Desea cerrar este diálogo? - + Do you want to save your changes to document '%1' before closing? ¿Desea guardar el documento '%1' antes de cerrar? - + Do you want to save your changes to document before closing? ¿Desea guardar los cambios en el documento antes de cerrar? - + If you don't save, your changes will be lost. Si no guarda, los cambios se perderán. - + Apply answer to all Aplicar respuesta a todos - + %1 Document(s) not saved %1 Documento(s) no guardados - + Some documents could not be saved. Do you want to cancel closing? Algunos documentos no se han podido guardar. ¿Desea cancelar el cierre? - + Delete macro Eliminar macro - + Not allowed to delete system-wide macros No se permite eliminar macros del sistema @@ -9183,27 +8510,27 @@ Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. Origen de Coordenadas - + Delete group content? ¿Borrar el contenido de grupo? - + The %1 is not empty, delete its content as well? La %1 no está vacía, ¿borrar su contenido? - + Translation: Traslación: - + Rotation: Rotación: - + Toggle active part Activar/desactivar parte activa @@ -9266,87 +8593,87 @@ Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. Error al importar todos los vínculos - - + + Invalid name Nombre no válido - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. El nombre de la propiedad o el nombre del grupo solo debe contener caracteres alfanuméricos, guión bajo, y no debe comenzar con un dígito. - + The property '%1' already exists in '%2' La propiedad '%1' ya existe en '%2' - + Add property Agregar propiedad - + Failed to add property to '%1': %2 Error al añadir la propiedad a '%1': %2 - - + + Drag & drop failed Error al arrastrar y soltar - + Setup configurable object Configurar objeto configurable - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Seleccione qué objeto copiar o excluir cuando la configuración cambia. Todos los objetos vinculados externos son excluidos por defecto. - + Please select which objects to copy when the configuration is changed Por favor, seleccione qué objetos copiar cuando se cambie la configuración - + Apply to all Aplicar a todo - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Aplica la configuración a todos los enlaces. O desmarca esta opción para aplicar solo a este enlace. - + Copy on change Copiar al cambiar - + Enable Habilitar - + Enable auto copy of linked object when its configuration is changed Habilitar la copia automática del objeto vinculado cuando se cambia su configuración - + Tracking Seguimiento - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9355,17 +8682,17 @@ También auto rehacer la copia si el objeto vinculado original es cambiado. - + Disable copy on change Desactivar copia al cambiar - + Refresh configurable object Actualizar objeto configurable - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9376,28 +8703,28 @@ la copia actual se perderá. - + Toggle array elements Alternar elementos de matriz - + Change whether show each link array element as individual objects Cambiar si se muestra cada elemento del arreglo de enlaces como objetos individuales - + Transform at the origin of the placement Transformar en el origen de la colocación - - + + Override colors... Anular colores... - + Edit %1 Editar %1 @@ -9420,12 +8747,12 @@ la copia actual se perderá. SelectionFilter - + Not allowed: No permitido: - + Selection not allowed by filter Selección no permitida por filtro @@ -9433,9 +8760,9 @@ la copia actual se perderá. StdBoxElementSelection - - - + + + Box element selection Cuadro de selección de elementos @@ -9443,13 +8770,13 @@ la copia actual se perderá. StdBoxSelection - + Box selection Cuadro de selección - - + + Activate the box selection tool Activar la herramienta de selección de caja @@ -9527,13 +8854,13 @@ la copia actual se perderá. StdCmdAxisCross - + Toggle axis cross Activa/desactiva los ejes de coordenadas - - + + Turns on or off the axis cross at the origin Enciende o apaga el cruce del eje en el origen @@ -9639,13 +8966,13 @@ la copia actual se perderá. StdCmdDemoMode - + View turntable... Ver mesa giratoria... - - + + View turntable Vista de mesa giratoria @@ -9765,13 +9092,13 @@ la copia actual se perderá. StdCmdDrawStyle - + Draw style Estilo de dibujo - - + + Change the draw style of the objects Cambia el estilo de dibujo de los objetos @@ -9835,13 +9162,13 @@ la copia actual se perderá. StdCmdExpression - + Expression actions Acciones de expresión - - + + Actions that apply to expressions Acciones que se aplican a las expresiones @@ -9958,13 +9285,13 @@ la copia actual se perderá. StdCmdFreezeViews - + Freeze display Congelar visualización - - + + Freezes the current view position Congela la posición de la vista actual @@ -9985,13 +9312,13 @@ la copia actual se perderá. StdCmdHideObjects - + Hide all objects Ocultar todos los objetos - - + + Hide all objects in the document Oculta todos los objetos en el documento @@ -9999,13 +9326,13 @@ la copia actual se perderá. StdCmdHideSelection - + Hide selection Ocultar selección - - + + Hide all selected objects Oculta todos los objetos seleccionados @@ -10279,13 +9606,13 @@ la copia actual se perderá. StdCmdMeasureDistance - + Measure distance Medir distancia - - + + Activate the distance measurement tool Activar la herramienta de medición de distancia @@ -10344,8 +9671,8 @@ la copia actual se perderá. Crea un documento vacío nuevo - - + + Unnamed Sin nombre @@ -10573,8 +9900,8 @@ la copia actual se perderá. StdCmdRecentFiles - Recent files - Archivos recientes + Open Recent + Abrir reciente @@ -10712,13 +10039,13 @@ la copia actual se perderá. StdCmdSceneInspector - + Scene inspector... Inspector de escena... - - + + Scene inspector Inspecciona la escena @@ -10726,13 +10053,13 @@ la copia actual se perderá. StdCmdSelBack - + &Back &Atrás - - + + Go back to previous selection Volver a la selección anterior @@ -10740,13 +10067,13 @@ la copia actual se perderá. StdCmdSelBoundingBox - + &Bounding box &Cuadro delimitador - - + + Show selection bounding box Muestra el cuadro delimitador de selección @@ -10754,13 +10081,13 @@ la copia actual se perderá. StdCmdSelForward - + &Forward Avanzar - - + + Repeat the backed selection Repetir la selección respaldada @@ -10782,13 +10109,13 @@ la copia actual se perderá. StdCmdSelectVisibleObjects - + Select visible objects Seleccionar objetos visibles - - + + Select visible objects in the active document Selecciona objetos visibles en el documento activo @@ -10810,13 +10137,13 @@ la copia actual se perderá. StdCmdSetAppearance - + Appearance... Apariencia... - - + + Sets the display properties of the selected object Establece las propiedades de visualización del objeto seleccionado @@ -10824,13 +10151,13 @@ la copia actual se perderá. StdCmdShowObjects - + Show all objects Mostrar todos los objetos - - + + Show all objects in the document Muestra todos los objetos en el documento @@ -10838,13 +10165,13 @@ la copia actual se perderá. StdCmdShowSelection - + Show selection Mostrar selección - - + + Show all selected objects Muestra todos los objetos seleccionados @@ -10880,13 +10207,13 @@ la copia actual se perderá. StdCmdTextureMapping - + Texture mapping... Mapeo de textura... - - + + Texture mapping Mapeado de textura @@ -10922,13 +10249,13 @@ la copia actual se perderá. StdCmdToggleClipPlane - + Clipping plane Plano de corte - - + + Toggles clipping plane for active view Alterna el plano de corte para la vista activa @@ -10936,13 +10263,13 @@ la copia actual se perderá. StdCmdToggleNavigation - + Toggle navigation/Edit mode Alternar en modo Navegación/Edición - - + + Toggle between navigation and edit mode Alterna entre los modos de navegación y edición @@ -10950,13 +10277,13 @@ la copia actual se perderá. StdCmdToggleObjects - + Toggle all objects Conmutar todos los objetos - - + + Toggles visibility of all objects in the active document Alterna la visibilidad de todos los objetos en el documento activo @@ -10964,13 +10291,13 @@ la copia actual se perderá. StdCmdToggleSelectability - + Toggle selectability Alternar seleccionabilidad - - + + Toggles the property of the objects to get selected in the 3D-View Alterna la propiedad de los objetos para ser seleccionados en la Vista 3D @@ -10978,13 +10305,13 @@ la copia actual se perderá. StdCmdToggleVisibility - + Toggle visibility Conmutar visibilidad - - + + Toggles visibility Alterna visibilidad @@ -11034,13 +10361,13 @@ la copia actual se perderá. StdCmdTreeCollapse - + Collapse selected item Colapsar elemento seleccionado - - + + Collapse currently selected tree items Colapsar elementos del árbol seleccionados @@ -11048,13 +10375,13 @@ la copia actual se perderá. StdCmdTreeExpand - + Expand selected item Expandir elemento seleccionado - - + + Expand currently selected tree items Expandir los elementos del árbol seleccionados @@ -11062,13 +10389,13 @@ la copia actual se perderá. StdCmdTreeSelectAllInstances - + Select all instances Seleccionar todas las instancias - - + + Select all instances of the current selected object Seleccionar todas las instancias del objeto seleccionado actual @@ -11076,13 +10403,13 @@ la copia actual se perderá. StdCmdTreeViewActions - + TreeView actions Acciones de la vista de árbol - - + + TreeView behavior options and actions Opciones y acciones de comportamiento de la vista de árbol @@ -11146,13 +10473,13 @@ la copia actual se perderá. StdCmdViewBottom - + Bottom Inferior - - + + Set to bottom view Establece la vista inferior @@ -11160,13 +10487,13 @@ la copia actual se perderá. StdCmdViewCreate - + Create new view Crear nueva vista - - + + Creates a new view window for the active document Crea una nueva ventana de vista para el documento activo @@ -11174,13 +10501,13 @@ la copia actual se perderá. StdCmdViewDimetric - + Dimetric Dimétrica - - + + Set to dimetric view Establece vista dimétrica @@ -11188,13 +10515,13 @@ la copia actual se perderá. StdCmdViewExample1 - + Inventor example #1 Inventor ejemplo #1 - - + + Shows a 3D texture with manipulator Muestra una textura 3D con manipulador @@ -11202,13 +10529,13 @@ la copia actual se perderá. StdCmdViewExample2 - + Inventor example #2 Inventor ejemplo #2 - - + + Shows spheres and drag-lights Muestra esferas y luces arrastradas @@ -11216,13 +10543,13 @@ la copia actual se perderá. StdCmdViewExample3 - + Inventor example #3 Inventor ejemplo #3 - - + + Shows a animated texture Muestra una textura animada @@ -11230,13 +10557,13 @@ la copia actual se perderá. StdCmdViewFitAll - + Fit all Ajustar todo - - + + Fits the whole content on the screen Ajusta el contenido completo a la pantalla @@ -11244,13 +10571,13 @@ la copia actual se perderá. StdCmdViewFitSelection - + Fit selection Ajustar a la selección - - + + Fits the selected content on the screen Ajusta el contenido seleccionado a la pantalla @@ -11258,13 +10585,13 @@ la copia actual se perderá. StdCmdViewFront - + Front Anterior - - + + Set to front view Establece vista anterior @@ -11272,13 +10599,13 @@ la copia actual se perderá. StdCmdViewHome - + Home Inicio - - + + Set to default home view Establece por defecto la vista de inicio @@ -11286,13 +10613,13 @@ la copia actual se perderá. StdCmdViewIsometric - + Isometric Isométrica - - + + Set to isometric view Establece vista isométrica @@ -11300,13 +10627,13 @@ la copia actual se perderá. StdCmdViewIvIssueCamPos - + Issue camera position Publicar la posición de la cámara - - + + Issue the camera position to the console and to a macro, to easily recall this position Publica la posición de la cámara a la consola y a una macro, para reutilizar fácilmente esta posición @@ -11314,13 +10641,13 @@ la copia actual se perderá. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Estéreo columnas intercaladas - - + + Switch stereo viewing to Interleaved Columns Cambia la visualización estéreo a Columnas Intercaladas @@ -11328,13 +10655,13 @@ la copia actual se perderá. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Filas intercaladas en estéreo - - + + Switch stereo viewing to Interleaved Rows Cambia la visualización estéreo a filas Intercaladas @@ -11342,13 +10669,13 @@ la copia actual se perderá. StdCmdViewIvStereoOff - + Stereo Off Estéreo apagado - - + + Switch stereo viewing off Apaga la visualización estéreo @@ -11356,13 +10683,13 @@ la copia actual se perderá. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Estéreo cuádruple buffer - - + + Switch stereo viewing to quad buffer Cambia la visualización estéreo a cuádruple buffer @@ -11370,13 +10697,13 @@ la copia actual se perderá. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Estéreo rojo/cian - - + + Switch stereo viewing to red/cyan Cambia a visualización estéreo rojo/cian @@ -11384,13 +10711,13 @@ la copia actual se perderá. StdCmdViewLeft - + Left Izquierda - - + + Set to left view Establece vista lateral izquierda @@ -11398,13 +10725,13 @@ la copia actual se perderá. StdCmdViewRear - + Rear Posterior - - + + Set to rear view Establece vista posterior @@ -11426,13 +10753,13 @@ la copia actual se perderá. StdCmdViewRight - + Right Derecha - - + + Set to right view Establece vista lateral derecha @@ -11440,13 +10767,13 @@ la copia actual se perderá. StdCmdViewRotateLeft - + Rotate Left Girar a la izquierda - - + + Rotate the view by 90° counter-clockwise Gira la vista a 90° en sentido antihorario @@ -11454,13 +10781,13 @@ la copia actual se perderá. StdCmdViewRotateRight - + Rotate Right Girar a la derecha - - + + Rotate the view by 90° clockwise Gira la vista a 90° en sentido horario @@ -11482,13 +10809,13 @@ la copia actual se perderá. StdCmdViewTop - + Top Superior - - + + Set to top view Establece vista superior @@ -11496,13 +10823,13 @@ la copia actual se perderá. StdCmdViewTrimetric - + Trimetric Trimétrica - - + + Set to trimetric view Establece vista trimétrica @@ -11510,13 +10837,13 @@ la copia actual se perderá. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Extender la vista 3D a Oculus Rift @@ -11580,13 +10907,13 @@ la copia actual se perderá. StdMainFullscreen - + Fullscreen Pantalla completa - - + + Display the main window in fullscreen mode Muestra la ventana principal en modo de pantalla completa @@ -11622,13 +10949,13 @@ la copia actual se perderá. StdRecallWorkingView - + Recall working view Recordar vista de trabajo - - + + Recall previously stored temporary working view Recordar vista de trabajo temporal almacenada previamente @@ -11636,13 +10963,13 @@ la copia actual se perderá. StdStoreWorkingView - + Store working view Guardar vista de trabajo - - + + Store a document-specific temporary working view Guardar una vista de trabajo temporal específica del documento @@ -11650,13 +10977,13 @@ la copia actual se perderá. StdTreeCollapseDocument - + Collapse/Expand Contraer/expandir - - + + Expand active document and collapse all others Expande el documento activo y contrae todos los demás @@ -11664,12 +10991,12 @@ la copia actual se perderá. StdTreeDrag - + Initiate dragging Iniciar arrastre - + Initiate dragging of current selected tree items Inicia el arrastre de los elementos del árbol seleccionados @@ -11677,13 +11004,13 @@ la copia actual se perderá. StdTreeMultiDocument - + Multi document Documento múltiple - - + + Display all documents in the tree view Muestra todos los documentos en la vista de árbol @@ -11691,12 +11018,12 @@ la copia actual se perderá. StdTreePreSelection - + Pre-selection Pre-selección - + Preselect the object in 3D view when mouse over the tree item Preselecciona el objeto en la vista 3D cuando el puntero de ratón esté sobre el objeto del árbol @@ -11704,12 +11031,12 @@ la copia actual se perderá. StdTreeRecordSelection - + Record selection Grabar selección - + Record selection in tree view in order to go back/forward using navigation button Graba la selección en la vista de árbol para retroceder/avanzar usando el botón de navegación @@ -11717,13 +11044,13 @@ la copia actual se perderá. StdTreeSelection - + Go to selection Ir a la selección - - + + Scroll to first selected item Desplazarse al primer elemento seleccionado @@ -11731,13 +11058,13 @@ la copia actual se perderá. StdTreeSingleDocument - + Single document Documento único - - + + Only display the active document in the tree view Muestra sólo el documento activo en la vista de árbol @@ -11745,12 +11072,12 @@ la copia actual se perderá. StdTreeSyncPlacement - + Sync placement Sincronizar ubicación - + Auto adjust placement on drag and drop objects across coordinate systems Ajusta automáticamente la posición al arrastrar y soltar objetos a través de los sistemas de coordenadas @@ -11758,12 +11085,12 @@ la copia actual se perderá. StdTreeSyncSelection - + Sync selection Sincronizar selección - + Auto expand tree item when the corresponding object is selected in 3D view Autoexpande el elemento del árbol cuando se selecciona el objeto correspondiente en la vista 3D @@ -11771,12 +11098,12 @@ la copia actual se perderá. StdTreeSyncView - + Sync view Vista sincronizada - + Auto switch to the 3D view containing the selected item Cambia automáticamente a la vista 3D que contiene el elemento seleccionado @@ -11784,13 +11111,13 @@ la copia actual se perderá. StdViewBoxZoom - + Box zoom Encuadre de zoom - - + + Activate the box zoom tool Activar la herramienta de zoom de caja @@ -11798,13 +11125,13 @@ la copia actual se perderá. StdViewDock - + Docked Acoplado - - + + Display the active view either in fullscreen, in undocked or docked mode Muestra la vista activa a pantalla completa, en modo desacoplado o acoplado @@ -11812,13 +11139,13 @@ la copia actual se perderá. StdViewDockUndockFullscreen - + Document window Ventana del documento - - + + Display the active view either in fullscreen, in undocked or docked mode Muestra la vista activa a pantalla completa, en modo desacoplado o acoplado @@ -11826,13 +11153,13 @@ la copia actual se perderá. StdViewFullscreen - + Fullscreen Pantalla completa - - + + Display the active view either in fullscreen, in undocked or docked mode Muestra la vista activa a pantalla completa, en modo desacoplado o acoplado @@ -11840,13 +11167,13 @@ la copia actual se perderá. StdViewScreenShot - + Save image... Guardar imagen... - - + + Creates a screenshot of the active view Crea una captura de pantalla de la vista activa @@ -11854,13 +11181,13 @@ la copia actual se perderá. StdViewUndock - + Undocked Desacoplado - - + + Display the active view either in fullscreen, in undocked or docked mode Muestra la vista activa a pantalla completa, en modo desacoplado o acoplado @@ -11868,13 +11195,13 @@ la copia actual se perderá. StdViewZoomIn - + Zoom In Acercar - - + + Increase the zoom factor by a fixed amount Aumentar el factor de zoom en una cantidad fija @@ -11882,13 +11209,13 @@ la copia actual se perderá. StdViewZoomOut - + Zoom Out Alejar - - + + Decrease the zoom factor by a fixed amount Disminuir el factor de zoom en una cantidad fija @@ -11923,72 +11250,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Como es - + Normal mode Modo Normal - + Points Puntos - + Points mode Modo puntos - + Wireframe Estructura alámbrica - + Wireframe mode Modo de alambre - + Hidden line Línea oculta - + Hidden line mode Modo línea oculta - + No shading Sin sombreado - + No shading mode Modo sin sombreado - + Shaded Sombreado - + Shaded mode Modo sombreado - + Flat lines Líneas planas - + Flat lines mode Modo líneas planas @@ -12051,32 +11378,32 @@ Por favor, compruebe la Vista de Reportes para más detalles. TreeParams - + Tree view item background. Only effective in overlay. Fondo de la vista del árbol. Sólo efectivo en la superposición. - + Tree view item background padding. Relleno de fondo del elemento de vista de árbol. - + Hide extra tree view column for item description. Ocultar columna extra de vista de árbol para la descripción del artículo. - + Hide tree view scroll bar in dock overlay. Ocultar barra de desplazamiento de vista de árbol en la superposición de muelle. - + Hide tree view header view in dock overlay. Ocultar vista de cabecera del árbol en la superposición de dock. - + Allow tree view columns to be manually resized. Permitir cambiar el tamaño de las columnas de vista de árbol. @@ -12084,117 +11411,117 @@ Por favor, compruebe la Vista de Reportes para más detalles. Workbench - + &File &Archivo - + &Edit &Editar - + Edit Editar - + Clipboard Portapapeles - + Workbench Banco de trabajo - + Structure Estructura - + Standard views Vistas estándar - + Axonometric Axonométrica - + &Stereo &Estéreo - + &Zoom &Zoom - + Visibility Visibilidad - + &View &Ver - + &Tools &Herramientas - + &Macro &Macro - + &Windows &Ventanas - + &On-line help &Ayuda en línea - + &Help &Ayuda - + Help Ayuda - + File Archivo - + Macro Macro - + View Ver - + Special Ops Operaciones especiales - + Link actions Acciones de vínculos @@ -12202,12 +11529,12 @@ Por favor, compruebe la Vista de Reportes para más detalles. Gui::MDIView - + Export PDF Exportar a PDF - + PDF file Archivo PDF @@ -12215,195 +11542,189 @@ Por favor, compruebe la Vista de Reportes para más detalles. Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Área de notificación - + Settings Configuración - + The Notification area will appear in the status bar El área de notificación aparecerá en la barra de estado - + Enable Notification Area Activar área de notificación - + Non-intrusive notifications will appear next to the notification area in the status bar Las notificaciones no intrusivas aparecerán junto al área de notificación en la barra de estado - + Enable non-intrusive notifications Habilitar notificaciones no intrusivas - + Additional data sources Fuentes de datos adicionales - + Errors intended for developers will appear in the notification area Los errores destinados a desarrolladores aparecerán en el área de notificación - + Debug errors Errores de depuración - + Warnings intended for developers will appear in the notification area Las advertencias destinadas a los desarrolladores aparecerán en el área de notificación - + Debug warnings Advertencias de depuración - + Non-Intrusive Notifications Notificaciones no intrusivas - + Minimum Duration: Duración mínima: - + Maximum Duration: Duración máxima: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duración durante la cual se mostrará la notificación (a menos que se haga clic en los botones del ratón) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Duración mínima durante la cual se mostrará la notificación (a menos que se haga clic en la notificación) - + Maximum Number of Notifications: Número máximo de notificaciones: - + Maximum number of notifications that will be simultaneously present on the screen Número máximo de notificaciones que estarán simultáneamente presentes en la pantalla - + Notification width: Ancho de notificación: - + Width of the notification in pixels Ancho de la notificación en píxeles - + Any open non-intrusive notifications will disappear when another window is activated Cualquier notificación no intrusiva desaparecerá cuando otra ventana esté activada - + Hide when other window is activated Ocultar cuando otra ventana está activada - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Evita que aparezcan notificaciones no intrusivas cuando la ventana de FreeCAD no es la ventana activa - + Do not show when inactive No mostrar cuando esté inactivo - + Message List Lista de mensajes - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limita el número de mensajes que se mantendrán en la lista. Si es 0 no hay límite. - + Maximum Messages (0 = no limit): Máximo de mensajes (0 = sin límite): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Elimina las notificaciones de usuario de la lista de mensajes después de que la duración máxima no intrusiva haya transcurrido. - + Auto-remove User Notifications Autoeliminar notificaciones de usuario - - - Activation of the Notification Area only takes effect after an application restart. - La activación del Área de Notificaciones solo tendrá efecto una vez que se reinicie la aplicación. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Bancos de trabajo disponibles - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Puede reordenar los bancos de trabajo arrastrando y soltando. Los bancos de trabajo adicionales pueden instalarse a través del administrador del complemento.</p><p> Actualmente, su sistema tiene los siguientes bancos de trabajo:</p></body></html> - + Start up workbench: Iniciar banco de trabajo: - + Choose which workbench will be activated and shown after FreeCAD launches Elige cuál banco de trabajo se activará y mostrará al iniciar FreeCAD - + Workbench selector position : Posición del selector de entorno de trabajo : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12416,12 +11737,12 @@ after FreeCAD launches 'esquina derecha': En la barra de menú, en la esquina derecha. - + If checked, application will remember which workbench is active for each tab of the viewport Si está marcado, la aplicación recordará cuál entorno de trabajo está activo por cada pestaña del área de visualización - + Remember active workbench by tab Recordar entorno de trabajo activo por pestaña @@ -12570,47 +11891,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Si no se selecciona, %1 no aparecerá en los bancos de trabajo disponibles. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Este es el módulo de inicio actual y debe estar habilitado. Vea Preferencias/General/Autocarga para cambiar. - + Shortcut to activate this workbench. Acceso directo para activar este banco de trabajo. - + Auto-load Autocarga - + If checked, %1 will be loaded automatically when FreeCAD starts up Si está marcado, %1 se cargará automáticamente cuando FreeCAD se inicie - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Este es el módulo de inicio actual y debe cargarse automáticamente. Vea Preferencias/General/Autocarga para cambiar. - + Loaded Cargado - + Load Cargar - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Para preservar recursos, FreeCAD no carga los bancos de trabajo hasta que se usen. Cargarlos puede proporcionar acceso a preferencias adicionales relacionadas con su funcionalidad. @@ -12618,17 +11939,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Barra de herramientas - + Left corner Esquina izquierda - + Right corner Esquina derecha @@ -12654,12 +11980,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Eliminar notificaciones de usuario - + Delete All Borrar todo @@ -12695,13 +12021,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Cargando imágen... - - + + Loads an image Carga una imagen @@ -12763,10 +12089,812 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Se ha producido un error - vea la Vista de Informe para más información + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opciones + + + + Code lines will be numbered + Las líneas de código serán numeradas + + + + Enable line numbers + Habilitar números de línea + + + + The cursor shape will be a block + La forma del cursor será un bloque + + + + Enable block cursor + Habilitar cursor de bloque + + + + Enable folding + Habilitar plegado + + + + Indentation + Sangría + + + + Tab size: + Tamaño de tabulación: + + + + Tabulator raster (how many spaces) + Ráster de tabulador (cuántos espacios) + + + + Indent size: + Tamaño de sangría: + + + + How many spaces will be inserted when pressing <Tab> + Cuántos espacios se insertarán al presionar <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Al presionar <Tab> se insertará un tabulador con un tamaño de pestaña definido + + + + Keep tabs + Mantener tabulación + + + + Pressing <Tab> will insert amount of defined indent size + Al presionar <Tab> se insertará una cantidad de tamaño de sangría definido + + + + Insert spaces + Insertar espacios + + + + Display items + Mostrar elementos + + + + Color and font settings will be applied to selected type + La configuración de color y fuente se aplicará al tipo seleccionado + + + + Family: + Familia: + + + + Font family to be used for selected code type + Familia de fuentes que se utilizará para el tipo de código seleccionado + + + + Size: + Tamaño: + + + + Font size to be used for selected code type + Tamaño de fuente que se utilizará para el tipo de código seleccionado + + + + Color: + Color: + + + + Preview: + Vista previa: + + + + Text + Texto + + + + Bookmark + Marcador + + + + Breakpoint + Punto de parada + + + + Keyword + Palabra clave + + + + Comment + Comentario + + + + Block comment + Comentar bloque + + + + Number + Número + + + + String + Cadena de texto + + + + Character + Carácter + + + + Class name + Nombre de clase + + + + Define name + Definir nombre + + + + Operator + Operador + + + + Python output + Salida de Python + + + + Python error + Error de Python + + + + Current line highlight + Resaltado de línea actual + + + + Items + Artículos + + + + Gui::Dialog::DlgSettingsGeneral + + + General + General + + + + Language and number format + Idioma y formato numérico + + + + Language: + Idioma: + + + + Language of the application's user interface + Idioma de la interfaz de usuario de la aplicación + + + + Unit system: + Sistema de unidades: + + + + Unit system that should be used for all parts of the application + Sistema de unidades que debe ser utilizado para todas las partes de la aplicación + + + + Number of decimals: + Número de decimales: + + + + Number of decimals that should be shown for numbers and dimensions + Número de decimales que deben mostrarse para números y cotas + + + + Minimum fractional inch: + Fracción de pulgada mínima: + + + + Minimum fractional inch to be displayed + Fracción de pulgada mínima que se mostrará + + + + Number format: + Formato numérico: + + + + Operating system + Sistema operativo + + + + Selected language + Idioma seleccionado + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Si está activado, el separador decimal del teclado numérico +será sustituido por el separador de localidades, excepto +en la Consola de Python y el Editor de Macro, donde siempre se imprimirá un +punto. + + + + Substitute decimal separator + Sustituir separador decimal + + + + Application + Aplicación + + + + Theme: + Tema: + + + + Customize how user interface will look like + Personalizar cómo se verá la interfaz de usuario + + + + Size of toolbar icons: + Tamaño de los iconos de la barra de herramientas: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Elija su preferencia para el tamaño del icono de la barra de herramientas. Puedes ajustar esto de acuerdo con el tamaño de tu pantalla o gusto personal + + + + Tree view mode: + Modo de vista de árbol: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Personaliza cómo se muestra la vista de árbol en el panel (se requiere reiniciar). + +'Vista combinada': combina la vista de árbol y la vista de propiedad en un panel. +'Vista de árbol y vista de propiedades': divide la vista de árbol y la vista de propiedades en un panel separado. +'Ambas': mantiene los tres paneles, y puedes tener dos conjuntos de vista de árbol y vista de propiedad. + + + + Size of recent file list: + Tamaño de la lista de archivos recientes: + + + + How many files should be listed in recent files list + Cuántos archivos deben incluirse en la lista de archivos recientes + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + El fondo de la ventana principal (cuando no se abre ningún documento) se compondrá de mosaicos de una imagen especial. +Vea la wiki de FreeCAD para más detalles sobre la imagen. + + + + Enable tiled background + Habilitar el fondo en mosaico + + + + The text cursor will be blinking + El cursor de texto parpadeará + + + + Enable cursor blinking + Habilitar el parpadeo del cursor + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Una pantalla de bienvenida es una pequeña ventana de carga que se muestra +cuando se inicia FreeCAD. Si esta opción está marcada, FreeCAD mostrará +la pantalla de bienvenida + + + + Enable splash screen at start up + Habilitar página de bienvenida en el inicio + + + + Preference packs + Paquetes de preferencias + + + + Name + Nombre + + + + Type + Tipo + + + + Load + Cargar + + + + Import config... + Importar configuración... + + + + Save new... + Guardar nuevo... + + + + Manage... + Administrar... + + + + Revert... + Deshacer... + + + + Manage preference packs + Administrar paquetes de preferencias + + + + Small (%1px) + Pequeño (%1px) + + + + Medium (%1px) + Medio (%1px) + + + + Large (%1px) + Grande (%1px) + + + + Extra large (%1px) + Extra grande (%1px) + + + + Custom (%1px) + Personalizado (%1px) + + + + Combo View + Vista combinada + + + + TreeView and PropertyView + Vista de árbol y vista de propiedades + + + + Both + Ambas + + + + Preference Pack Name + Nombre del paquete de preferencias + + + + Tags + Etiquetas + + + + Apply + Aplicar + + + + Apply the %1 preference pack + Aplicar el %1 paquete de preferencias + + + + Choose a FreeCAD config file to import + Elige un archivo de configuración de FreeCAD para importar + + + + File exists + El archivo ya existe + + + + A preference pack with that name already exists. Overwrite? + Ya existe un paquete de preferencias con ese nombre. ¿Sobrescribir? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Vista de informe + + + + Output + Salida + + + + Normal messages will be recorded + Los mensajes normales serán grabados + + + + Record normal messages + Grabar mensajes normales + + + + Log messages will be recorded + Los mensajes de registro serán grabados + + + + Record log messages + Grabar mensajes de registro + + + + Warnings will be recorded + Las advertencias se grabarán + + + + Record warnings + Grabar advertencias + + + + Error messages will be recorded + Los mensajes de error serán grabados + + + + Record error messages + Grabar mensajes de error + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Cuando ha ocurrido un error, el diálogo de la Vista de Informe se hace visible en pantalla mostrando el error + + + + Show report view on error + Mostrar la vista de informes en caso de errores + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Cuando ha ocurrido una advertencia, el cuadro de diálogo de Informe se hace visible +en pantalla mientras se muestra la advertencia + + + + Show report view on warning + Mostrar vista de informes en caso de advertencias + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Cuando ha ocurrido un mensaje normal, el cuadro de diálogo de Ver informes se hace visible +en pantalla mientras se muestra el mensaje + + + + Show report view on normal message + Mostrar vista de informe en caso de mensaje normal + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Cuando se ha producido un mensaje de registro, el cuadro de diálogo de Ver informes se hace visible +en pantalla mientras se muestra el mensaje de registro + + + + Show report view on log message + Mostrar vista de informe en caso de mensaje de registro + + + + Include a timecode for each report + Incluye un código de tiempo para cada informe + + + + Include a timecode for each entry + Incluye un código de tiempo para cada entrada + + + + Colors + Colores + + + + Normal messages: + Mensajes normales: + + + + Font color for normal messages in Report view panel + Color de fuente para los mensajes normales en el panel de vista del informe + + + + Log messages: + Mensajes de registro: + + + + Font color for log messages in Report view panel + Color de fuente para los mensajes de registro en el panel de vista del informe + + + + Warnings: + Advertencias: + + + + Font color for warning messages in Report view panel + Color de fuente para mensajes de advertencia en el panel de vista de informe + + + + Errors: + Errores: + + + + Font color for error messages in Report view panel + Color de fuente para mensajes de error en el panel de vista del informe + + + + Python interpreter + Intérprete de Python + + + + Internal Python output will be redirected +from Python console to Report view panel + La salida interna de Python se redirigirá desde la consola de Python al panel de vista de informe + + + + Redirect internal Python output to report view + Redirigir la salida interna de Python a la vista de informe + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Los mensajes de errores internos de Python serán redireccionados desde la consola de Python al panel de vista de informes + + + + Redirect internal Python errors to report view + Redirigir errores internos de Python a la vista de informes + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Tema + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Esta página le permite personalizar su tema actual. Los ajustes ofrecidos son opcionales para desarrolladores de temas por lo que pueden o no tener efecto en su tema actual. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Este color puede ser usado por tu tema para permitirte personalizarlo. + + + + No style sheet + Sin hoja de estilo + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_es-ES.ts b/src/Gui/Language/FreeCAD_es-ES.ts index 07585d9b09..716ab15734 100644 --- a/src/Gui/Language/FreeCAD_es-ES.ts +++ b/src/Gui/Language/FreeCAD_es-ES.ts @@ -42,29 +42,29 @@ Tamaño visual de la característica - + <empty> <empty> - - + + Angle Ángulo - - + + Axis Eje - + Position Posición - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Prueba de salida de la consola - - + + Run test cases to verify console messages Ejecutar casos de prueba para verificar los mensajes de consola @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Limpiar medición - + Clear all visible measurements Borrar todas las mediciones visibles @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Activa/desactiva la medición - + Turn on or off the display of all measurements Activar o desactivar la visualización de todas las mediciones @@ -132,7 +132,7 @@ Borrar - + Paste expressions Pegar expresiones @@ -182,7 +182,7 @@ Añade un grupo - + Align Alinear @@ -193,40 +193,40 @@ Ubicación - - + + Transform Transformar - + Toggle array elements Alternar elementos de matriz - + Link Transform Transformación de vínculo - + Measure distance Medir distancia - + Toggle visibility Conmutar visibilidad - + Toggle selectability Conmutar selectividad - + Edit image Editar imagen @@ -234,77 +234,77 @@ CommandGroup - + File Archivo - + Edit Editar - + Help Ayuda - + Link Vínculo - + Tools Herramientas - + View Vista - + Window Ventana - + Standard Estándar - + Macros Macros - + Macro Macro - + Structure Estructura - + Standard-Test Prueba estándar - + Standard-View Vista estándar - + TreeView Vista de árbol - + Measure Medir @@ -402,11 +402,6 @@ DownloadItem - - - Form - Formulario - Ico @@ -421,42 +416,42 @@ EditMode - + Default Por defecto - + The object will be edited using the mode defined internally to be the most appropriate for the object type El objeto será editado utilizando el modo definido internamente que es más apropiado para el tipo de objeto - + Transform Transformar - + The object will have its placement editable with the Std TransformManip command El objeto tendrá su ubicación editable con el comando Std TransformManip - + Cutting Corte - + This edit mode is implemented as available but currently does not seem to be used by any object Este modo de edición está implementado como disponible pero actualmente no parece ser utilizado por ningún objeto - + Color Color - + The object will have the color of its individual faces editable with the Part FaceColors command El objeto tendrá el color de sus caras individuales editables con el comando Part FaceColors @@ -482,7 +477,7 @@ ninguno - + Press a keyboard shortcut Pulsa un atajo de teclado @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Disponible: - + Selected: Seleccionado: - + Add Añadir - + Remove Quitar - + Move up Mover hacia arriba - + Move down Mover hacia abajo @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Objeto móvil - + Fixed object Objeto fijo @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Espera hasta que se haya guardado el archivo de recuperación automática... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Pulsa el botón izquierdo del ratón - + Press SHIFT and middle mouse button Pulse SHIFT y el botón central del mouse - + Press middle mouse button Pulsar el botón central del ratón - + Scroll middle mouse button Desplazar el botón central del ratón @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Pulsa el botón izquierdo del ratón - + Press middle mouse button Pulsar el botón central del ratón - + Press middle+left or middle+right button Pulsar el botón central + izquierda o central + derecha - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Desplace el botón central del ratón o mantenga presionado el botón central @@ -615,12 +610,12 @@ mientras hace clic con el botón izquierdo o derecho y mueve el ratón hacia arr Gui::ContainerDialog - + &OK &Aceptar - + &Cancel &Cancelar @@ -628,7 +623,7 @@ mientras hace clic con el botón izquierdo o derecho y mueve el ratón hacia arr Gui::ControlSingleton - + Task panel Panel de tareas @@ -712,47 +707,47 @@ mientras hace clic con el botón izquierdo o derecho y mueve el ratón hacia arr Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Créditos - + FreeCAD would not be possible without the contributions of FreeCAD no sería posible sin las contribuciones de - + Individuals Header for the list of individual people in the Credits list. Individuos - + Organizations Header for the list of companies/organizations in the Credits list. Organizaciones - - + + License Licencia - + Libraries Bibliotecas - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Este software utiliza componentes de código abierto, cuyos derechos de autor y otros derechos de propiedad pertenecen a sus respectivos propietarios: - + Collection Colección @@ -760,22 +755,22 @@ mientras hace clic con el botón izquierdo o derecho y mueve el ratón hacia arr Gui::Dialog::ApplicationCache - + Cache directory Carpeta de caché - + The cache directory %1 exceeds the size of %2. El directorio de caché %1 supera el tamaño de %2. - + Do you want to clear it now? ¿Deseas borrarlo ahora? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Advertencia: Por favor, asegúrate de que esta es la única instancia %1 en ejecución y que no hay documentos abiertos, ya que esto puede resultar en ¡pérdida de datos! @@ -796,37 +791,37 @@ mientras hace clic con el botón izquierdo o derecho y mueve el ratón hacia arr Gui::Dialog::CameraDialog - + Camera settings Ajustes de la cámara - + Orientation Orientación - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vista actual @@ -892,7 +887,7 @@ mientras hace clic con el botón izquierdo o derecho y mueve el ratón hacia arr Gui::Dialog::CommandModel - + Commands Comandos @@ -1117,12 +1112,12 @@ Si esto no está marcado, entonces la propiedad debe ser nombrada de forma únic Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists El paquete ya existe - + A preference pack with that name already exists. Do you want to overwrite it? Ya existe un paquete de preferencias con ese nombre. ¿Desea sobrescribirlo? @@ -1358,48 +1353,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Escriba para buscar... - + Icon Icono - + Command Comando - + Shortcut Atajo - + Default Por defecto - + Name Nombre - + Title Título - + All Todo - - + + none ninguno @@ -1407,8 +1402,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Barras de herramientas @@ -1497,40 +1492,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separator> - + %1 module not loaded %1 módulo no cargado - + New toolbar Nueva barra de herramientas - - + + Toolbar name: Nombre de la barra de herramientas: - - + + Duplicated name Nombre duplicado - - + + The toolbar name '%1' is already used El nombre de la barra de herramientas '%1' ya se está utilizando - + Rename toolbar Renombrar barra de herramientas @@ -1543,19 +1538,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Personalizar - + &Help Ay&uda - + &Close &Cerrar @@ -1564,13 +1559,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Movimiento del SpaceBall - + No Spaceball Present Spaceball no presente @@ -1578,27 +1573,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Botones del SpaceBall - + No Spaceball Present Spaceball no presente - + Buttons Botones - + Reset Reiniciar - + Print Reference Imprimir referencia @@ -1683,551 +1678,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Por defecto - + Aluminium Aluminio - + Brass Latón - + Bronze Bronce - + Copper Cobre - + Chrome Cromo - + Emerald Esmeralda - + Gold Oro - + Jade Jade - + Metalized Metalizado - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidiana - + Pewter Estaño - + Plaster Yeso - + Plastic Plástico - + Ruby Rubí - + Satin Satén - + Shiny plastic Plástico brillante - + Silver Plata - + Steel Acero - + Stone Piedra Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opciones - - - - Code lines will be numbered - Las líneas de código serán numeradas - - - - Enable line numbers - Permite números de línea - - - - The cursor shape will be a block - La forma del cursor será un bloque - - - - Enable block cursor - Activar cursor de bloque - - - - Enable folding - Permite el plegado - - - - Indentation - Sangría - - - - Tab size: - Tamaño de la tabulación: - - - - Tabulator raster (how many spaces) - Tabulador raster (cuántos espacios) - - - - Indent size: - Tamaño de sangrado: - - - - How many spaces will be inserted when pressing <Tab> - Cuantos espacios se insertarán al presionar <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Pulsando <Tab> insertará un tabulador con tamaño de tab definido - - - - Keep tabs - Mantener la tabulación - - - - Pressing <Tab> will insert amount of defined indent size - Pulsando <Tab> insertará la cantidad de tamaño de sangría definido - - - - Insert spaces - Insertar espacios - - - - Display items - Mostrar elementos - - - - Color and font settings will be applied to selected type - Los ajustes de color y fuente se aplicarán al tipo seleccionado - - - - Family: - Familia: - - - - Font family to be used for selected code type - Familia de fuente a utilizar para el tipo de código seleccionado - - - - Size: - Tamaño: - - - - Font size to be used for selected code type - Tamaño de letra a utilizar para el tipo de código seleccionado - - - - Color: - Color: - - - - Preview: - Vista previa: - (Vacio) - - Gui::Dialog::DlgGeneral - - - General - General - - - - Language of the application's user interface - Idioma de la interfaz de usuario de la aplicación - - - - Number format: - Formato de número: - - - - Operating system - Sistema operativo - - - - Selected language - Idioma seleccionado - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Si está activado, el separador decimal del teclado numérico -será sustituido por el separador de localidades, excepto -en la Consola de Python y el Editor de Macro, donde siempre se imprimirá un -punto. - - - - Preference packs - Paquetes de preferencias - - - - Name - Nombre - - - - Type - Tipo - - - - Load - Cargar - - - - Import config... - Importar configuración... - - - - Save new... - Guardar nuevo... - - - - Manage... - Administrar... - - - - Revert... - Deshacer... - - - - How many files should be listed in recent files list - Cuántos archivos deben aparecer en la lista de archivos recientes - - - - Enable tiled background - Habilitar el fondo en mosaico - - - - The text cursor will be blinking - El cursor de texto parpadeará - - - - Enable cursor blinking - Activar cursor intermitente - - - - Style sheet: - Hoja del estilo: - - - - Language and number format - Idioma y formato numérico - - - - Language: - Idioma: - - - - Unit system: - Unidad del sistema: - - - - Unit system that should be used for all parts of the application - Sistema de unidades que debe ser utilizado para todas las partes de la aplicación - - - - Number of decimals: - Número de decimales: - - - - Number of decimals that should be shown for numbers and dimensions - Número de decimales que deberían mostrarse en números y cotas. - - - - Minimum fractional inch: - Mínimo pulgadas fraccionarias: - - - - Minimum fractional inch to be displayed - Pulgada fraccional mínima que se mostrará - - - - Substitute decimal separator - Sustituir separador decimal - - - - Application - Aplicación - - - - Style sheet how user interface will look like - Hoja de estilo como se verá la interfaz de usuario - - - - Size of toolbar icons: - Tamaño de los iconos de la barra de herramientas: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Elija su preferencia por el tamaño del icono de la barra de herramientas. Puede ajustar -esto de acuerdo con el tamaño de la pantalla o el gusto personal - - - - Tree view mode: - Modo de vista del árbol: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Personalizar cómo se muestra la vista de árbol en el panel (se requiere reiniciar). - -'Vista Combinada': combinar vista de árbol y vista de propiedad en un panel. -'Vista de Árbol y Vista de Propiedades': dividir vista de árbol y vista de propiedad en un panel separado. -'Ambos': mantén los tres paneles, y puedes tener dos conjuntos de vista de árbol y vista de propiedad. - - - - Size of recent file list: - Tamaño de la lista de archivos recientes: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - El fondo de la ventana principal (cuando no hay documentos abiertos) consistirá en baldosas de una imagen especial. -Vea la wiki de FreeCAD para más detalles sobre la imagen. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Una pantalla de Bienvenida es una pequeña ventana de carga que se muestra -cuando se inicia FreeCAD. Si esta opción está marcada, FreeCAD mostrará -la pantalla de bienvenida - - - - Enable splash screen at start up - Activar página de bienvenida en el inicio - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Administrar paquetes de preferencias - - - - Small (%1px) - Pequeño (%1px) - - - - Medium (%1px) - Medio (%1px) - - - - Large (%1px) - Grande (%1px) - - - - Extra large (%1px) - Extra grande (%1px) - - - - Custom (%1px) - Personalizado (%1px) - - - - Combo View - Vista combinada - - - - TreeView and PropertyView - Vista del Árbol y Vista de Propiedades - - - - Both - Ambos - - - - No style sheet - Sin hoja de estilo - - - - Preference Pack Name - Nombre del paquete de preferencias - - - - Tags - Etiquetas - - - - Apply - Aplicar - - - - Apply the %1 preference pack - Aplicar el paquete de preferencias %1 - - - - Choose a FreeCAD config file to import - Elija un archivo de configuración de FreeCAD para importar - - - - File exists - El archivo ya existe - - - - A preference pack with that name already exists. Overwrite? - Ya existe un paquete de preferencias con ese nombre. ¿Sobrescribir? - - Gui::Dialog::DlgInputDialog @@ -2243,8 +1810,8 @@ la pantalla de bienvenida Gui::Dialog::DlgInspector - - + + Scene Inspector Inspector de escena @@ -2336,71 +1903,71 @@ la pantalla de bienvenida Gui::Dialog::DlgMacroExecuteImp - + Macros Macros - + Read-only Solo lectura - + Macro file Archivo de macro - + Enter a file name, please: Introduzca un nombre de archivo, por favor: - - - + + + Existing file Archivo existente - + '%1'. This file already exists. '%1'. Este archivo ya existe. - + Cannot create file No se puede crear el archivo - + Creation of file '%1' failed. Error al crear el archivo '%1'. - + Delete macro Borrar macro - + Do you really want to delete the macro '%1'? ¿Realmente quiere borrar la macro '%1'? - + Do not show again No volver a mostrar - + Guided Walkthrough Tutorial guiado - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2411,78 +1978,78 @@ Nota: tus cambios se aplicarán cuando cambies de banco de trabajo - + Walkthrough, dialog 1 of 2 Tutorial, diálogo 1 de 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Instrucciones de aprobación: Rellene los campos que faltan (opcional) y luego haga clic en Agregar, luego en Cerrar - + Walkthrough, dialog 1 of 1 Tutorial, diálogo 1 de 1 - + Walkthrough, dialog 2 of 2 Tutorial, diálogo 2 de 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instrucciones del tutorial: Haga clic en el botón derecho de la flecha (->), luego cierre. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Instrucciones del tutorial: Haga clic en el botón derecho de la flecha (->), luego cierre. - + Renaming Macro File Renombrar el archivo de la Macro - - + + Enter new name: Introduce nuevo nombre: - - + + '%1' already exists. '%1' ya existe. - + Rename Failed Error al Re-nombrarlo - + Failed to rename to '%1'. Perhaps a file permission error? Error al cambiar el nombre a '%1'. ¿Tal vez un error de permiso de archivo? - + Duplicate Macro Duplicar Macro - + Duplicate Failed Error al Duplicar - + Failed to duplicate to '%1'. Perhaps a file permission error? Error al duplicar en '%1'. @@ -2525,39 +2092,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Grabador de macros - + Specify first a place to save. Especificar primero donde guardar. - + The macro directory doesn't exist. Please, choose another one. El directorio de la macro no existe. Por favor elije otro. - + Existing macro Macro existente - + The macro '%1' already exists. Do you want to overwrite? La macro '%1' ya existe. ¿Quieres sobrescribir-la? - + You have no write permission for the directory. Please, choose another one. No tienes permisos de escritura para el directorio. Por favor elije otro. - + Choose macro directory Elije el directorio de macro @@ -2630,12 +2197,12 @@ Perhaps a file permission error? Archivos HTML - + Access denied Acceso denegado - + Access denied to '%1' Specify another directory, please. @@ -3036,36 +2603,36 @@ Especifique otro directorio, por favor. Archivo del proyecto - - + + Empty source Fuente vacía - - + + No source is defined. No hay fuente definida. - - + + Empty destination Destino vacío - - + + No destination is defined. Ningún destino definido. - + Failed to extract project No se pudo extraer el proyecto - + Failed to create project Error al crear el proyecto @@ -3115,183 +2682,6 @@ Especifique otro directorio, por favor. Gui::Dialog::DlgReportView - - - Report view - Vista de informe - - - - Output - Salida - - - - Normal messages will be recorded - Los mensajes normales serán grabados - - - - Record normal messages - Grabar mensajes normales - - - - Log messages will be recorded - Los mensajes de registro serán grabados - - - - Record log messages - Grabar mensajes de registro - - - - Warnings will be recorded - Las advertencias se registrarán - - - - Record warnings - Guardar advertencias - - - - Error messages will be recorded - Los mensajes de registro serán grabados - - - - Record error messages - Guardar mensajes de error - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Cuando ha ocurrido un error, el diálogo de Vista de Informe se hace visible en pantalla mostrando el error - - - - Show report view on error - Mostrar vista de informe en errores - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Cuando ha ocurrido una advertencia, el diálogo de Vista de Informe se hace visible en pantalla mostrando la advertencia - - - - Show report view on warning - Mostrar vista de informe en advertencias - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Cuando se emite un mensaje normal, el diálogo de Vista de Informe se hace visible en pantalla mostrando el mensaje - - - - Show report view on normal message - Mostrar vista de informe en mensaje normal - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Cuando se emite un mensaje de registro, el diálogo de Vista de Informe se hace visible en pantalla mostrando el mensaje de registro - - - - Show report view on log message - Mostrar vista de informe en mensaje de registro - - - - Include a timecode for each report - Incluye un código de tiempo para cada informe - - - - Include a timecode for each entry - Incluye un código de tiempo para cada entrada - - - - Colors - Colores - - - - Normal messages: - Mensajes normales: - - - - Font color for normal messages in Report view panel - Color de fuente para los mensajes normales en el panel de Vista de Informe - - - - Log messages: - Mensajes de registro: - - - - Font color for log messages in Report view panel - Color de fuente para los mensajes de registro en el panel de Vista de Informe - - - - Warnings: - Advertencias: - - - - Font color for warning messages in Report view panel - Color de fuente para mensajes de avertencia en el panel de Vista de Informe - - - - Errors: - Errores: - - - - Font color for error messages in Report view panel - Color de fuente para los mensajes de error en el panel de Vista de Informe - - - - Python interpreter - Intérprete de Python - - - - Internal Python output will be redirected -from Python console to Report view panel - La salida interna de Python se redirigirá -desde la consola de Python al panel de la vista de informe - - - - Redirect internal Python output to report view - Redirigir la salida interna de Python a la vista de informe - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Los mensajes de errores internos de Python serán redireccionados desde la consola de Python al panel de vista de informes - - - - Redirect internal Python errors to report view - Redirigir los errores internos de Python a la vista de informe - (Vacio) @@ -3318,7 +2708,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No hay selección en el diálogo, no se puede cargar el archivo de copia de seguridad @@ -3361,7 +2751,7 @@ from Python console to Report view panel Ayuda - + Select a file Seleccionar un archivo @@ -3369,69 +2759,69 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View Vista 3D - + General General - + Main coordinate system will always be shown in lower right corner within opened files El sistema de coordenadas principales siempre se mostrará en esquina inferior derecha dentro de los archivos abiertos - + Show coordinate system in the corner Mostrar sistema de coordenadas en la esquina - + Relative size : Tamaño relativo : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Tamaño de la representación del sistema de coordenadas principal en la esquina -- en % de la altura/ancho de la vista - + Axis cross will be shown by default at file opening or creation La cruz de los ejes se mostrará por defecto al abrir o crear un archivo - + Show axis cross by default Mostrar la cruz de los ejes por defecto - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Tiempo necesario para la última operación y la tasa de fotogramas resultante se mostrará en la esquina inferior izquierda en los archivos abiertos - + Show counter of frames per second Mostrar contador de cuadros por segundo - + Rendering Renderizado - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3440,22 +2830,22 @@ Changing this option requires a restart of the application. Cambiar esta opción requiere reiniciar la aplicación. - + Use software OpenGL Usar software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Usar OpenGL VBO (Vertex Buffer Object) - + Render cache Renderizar caché - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3478,7 +2868,7 @@ que van desde anomías gráficas hasta errores de bloqueo de GPU. Recuerda repor esta configuración como activada al buscar soporte en los foros de FreeCAD - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3495,92 +2885,92 @@ sólo caché en el nodo raíz del gráfico de escenas. Esto ofrece la velocidad pero una respuesta más lenta a cualquier cambio de escena. - + Auto Auto - + Distributed Distribuido - + Centralized Centralizado - + Anti-Aliasing Anti-alias - + What kind of multisample anti-aliasing is used Qué tipo de antialiasing multimuestra se utiliza - + None Ninguno - + Line Smoothing Suavizado de líneas - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Objetos transparentes: - + Render types of transparent objects Renderizar tipos de objetos transparentes - + One pass Una pasada - + Backface pass Pasada de cara posterior - + Marker size: Tamaño del marcador: - - Size of vertices in the Sketcher workbench - Tamaño de los vértices en el banco de trabajo del croquis + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Distancia de ojo a ojo para modos estéreo - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3589,48 +2979,48 @@ El valor especificado es un factor que se multiplicará con el tamaño del recua del objeto 3D que se muestra actualmente. - + Backlight is enabled with the defined color La retroiluminación está habilitada con el color definido - - + + Backlight color Luz de fondo - + Intensity Intensidad - + Intensity of the backlight Intensidad de la luz de fondo - + Camera type Tipo de cámara - + Objects will appear in a perspective projection Los objetos aparecerán en una proyección perspectiva - + Perspective renderin&g Representación en perspectiva - + Objects will be projected in orthographic projection Los objetos se proyectarán en proyección ortogonal - + Or&thographic rendering Representación or&togonal @@ -3642,42 +3032,42 @@ del objeto 3D que se muestra actualmente. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Suavizado de bordes - + Open a new viewer or restart %1 to apply anti-aliasing changes. Abre un nuevo visor o reinicie %1 para aplicar los cambios de suavizado. @@ -3685,77 +3075,77 @@ del objeto 3D que se muestra actualmente. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Caché - + Cache directory Carpeta de caché - + Location: Ubicación: - + Check periodically at program start: Comprobar periódicamente al inicio del programa: - + Always Siempre - + Daily Diario - + Weekly Semanalmente - + Monthly Mensualmente - + Yearly Anual - + Never Nunca - + Cache size limit: Límite de tamaño de caché: - + Check now... Comprobar ahora... - + Notify the user if the cache size exceeds the specified limit Notificar al usuario si el tamaño de la caché excede el límite especificado - + Unknown Desconocido - + Current cache size: %1 Tamaño actual de caché: %1 @@ -3916,12 +3306,12 @@ junto a la barra de color Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Parámetro incorrecto - + The maximum value must be higher than the minimum value. El valor máximo debe ser mayor que el valor mínimo. @@ -3929,181 +3319,181 @@ junto a la barra de color Gui::Dialog::DlgSettingsDocument - + Document Documento - + General General - + The application will create a new document when started La aplicación creará un nuevo documento cuando se inicie - + Create new document at start up Crear un documento nuevo al iniciar - + Document save compression level (0 = none, 9 = highest, 3 = default) Nivel de compresión de guardado del documento (0 = ninguno, 9 = el más alto, 3 = por defecto) - + Compression level for FCStd files Nivel de compresión para archivos FCStd - + All changes in documents are stored so that they can be undone/redone Todos los cambios en los documentos se almacenan para que se puedan deshacer/rehacer - + Using Undo/Redo on documents Usando Deshacer/Rehacer en los documentos - + Maximum Undo/Redo steps Máximos pasos de deshacer/rehacer - + How many Undo/Redo steps should be recorded Cuántos pasos de Deshacer/Rehacer deben ser grabados - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Permitir al usuario abortar el recalculado de documentos presionando ESC. Esta característica puede aumentar ligeramente el tiempo de recomputación. - + Allow aborting recomputation Permitir abortar la recomputación - + Storage Almacenamiento - + Saving transactions (Auto-save) Guardando operaciones (Guardado automático) - + Discard saved transaction after saving document Descartar operaciones guardadas depués de guardar el documento - + If there is a recovery file available the application will automatically run a file recovery when it is started. Si hay un archivo de recuperación disponible, la aplicación ejecutará automáticamente un archivo de recuperación cuando se inicie. - + Run AutoRecovery at startup Ejecutar recuperación automática al iniciar - + How often a recovery file is written Con qué frecuencia se escribe un archivo de recuperación - + Save AutoRecovery information every Guardar información de autorrecuperación cada - + A thumbnail will be stored when document is saved Una miniatura se almacenará cuando se guarde el documento - + Save thumbnail into project file when saving document Guardar la imagen en miniatura dentro del archivo de proyecto cuando se guarda un documento - + Size Tamaño - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Establece el tamaño de la miniatura que se almacena en el documento. Los tamaños comunes son 128, 256 y 512 - + The program logo will be added to the thumbnail El logotipo del programa se añadirá a la miniatura - + Add the program logo to the generated thumbnail Agregar el logo del programa a la miniatura generada - + How many backup files will be kept when saving document Cuántos archivos de copia de seguridad serán guardados al guardar el documento - + Maximum number of backup files to keep when resaving document Número máximo de archivos de copia de seguridad a tener a la hora de volver a guardar el documento - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Los archivos de copia de seguridad tendrán la extensión '.FCbak' y los nombres de archivo tendrán el sufijo de fecha de acuerdo al formato especificado - + Use date and FCBak extension Usar fecha y extensión FCBak - + Date format Formato de fecha - + Document objects Objetos del documento - + Allow objects to have same label Permitir que los objetos tengan el mismo rótulo - + Allow duplicate object labels in one document Permitir etiquetas de objetos duplicadas en un documento - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4116,22 +3506,22 @@ Un documento parcialmente cargado no puede ser editado. Haga doble clic en el ic del documento en la vista de árbol para volver a cargarlo completamente. - + Disable partial loading of external linked objects Deshabilita la carga parcial de objetos vinculados externos - + Authoring and License Autoría y licencia - + Author name Nombre del autor - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4140,32 +3530,32 @@ Mantener en blanco para anonimato. También puede utilizar el formulario: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file El campo 'Última modificación por' se establecerá al autor especificado al guardar el archivo - + Set on save Establecer al guardar - + Company Organización - + Default company name to use for new files Nombre de empresa predeterminado a usar para nuevos archivos - + Default license Licencia por defecto - + Default license for new documents Licencia predeterminada para nuevos documentos @@ -4235,12 +3625,12 @@ También puede utilizar el formulario: John Doe <john@doe.com>Otros - + License URL URL de la licencia - + URL describing more about the license URL que describe más sobre la licencia @@ -4248,104 +3638,21 @@ También puede utilizar el formulario: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. El formato de la fecha a utilizar. - + Default Por defecto - + Format Formato - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Texto - - - - Bookmark - Marcador - - - - Breakpoint - Punto de parada - - - - Keyword - Palabra clave - - - - Comment - Comentar - - - - Block comment - Comentar bloque - - - - Number - Número - - - - String - Cadena de texto - - - - Character - Caracter - - - - Class name - Nombre de clase - - - - Define name - Definir nombre - - - - Operator - Operador - - - - Python output - Salida de Python - - - - Python error - Error de Python - - - - Current line highlight - Resaltado de línea actual - - - - Items - Elementos - - Gui::Dialog::DlgSettingsImage @@ -4526,122 +3833,122 @@ También puede utilizar el formulario: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Configuración general de macros - + Variables defined by macros are created as local variables Las variables definidas por macros se crean como variables locales - + Run macros in local environment Ejecutar macro en entorno local - + Macro recording settings Configuración de la grabación de macros - + Macro path Ruta de la macro - + The directory in which the application will search for macros El directorio en el que la aplicación buscará macros - + Gui commands Comandos de interfaz de usuario - + Recorded macros will also contain user interface commands Las macros grabadas también contendrán comandos de interfaz de usuario - + Record GUI commands Grabar comandos GUI - + Recorded macros will also contain user interface commands as comments Las macros grabadas también contendrán comandos de interfaz de usuario como comentarios - + Record as comment Grabar como comentario - + Logging Commands Comandos de registro - + Commands executed by macro scripts are shown in Python console Los comandos ejecutados por scripts de macro se muestran en la consola de Python - + Show script commands in python console Mostrar comandos de archivos de guión en la consola de Python - + Log all commands issued by menus to file: Registrar todos los comandos publicados por menús en el archivo: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Menú de macros recientes - + Size of recent macro list Tamaño de la lista de macros reciente - + How many macros should be listed in recent macros list Cuántas macros debería aparecer en la lista de macros recientes - + Keyboard shortcut count Recuento de atajos de teclado - + How many recent macros should have shortcuts Cuántas macros recientes deben tener accesos directos - + Keyboard Modifiers Modificadores de teclado - + Keyboard modifiers, default = Ctrl+Shift+ Modificadores de teclado, por defecto = Ctrl+Shift+ @@ -4649,130 +3956,130 @@ También puede utilizar el formulario: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navegación - + Navigation cube Cubo de navegación - + Steps by turn Pasos por vuelta - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Número de pasos por giro cuando se usan flechas (por defecto = 8: ángulo del paso = 360/8 = 45 grados) - + Corner Esquina - + Corner where navigation cube is shown Esquina donde se muestra el cubo de navegación - + Top left Arriba a la izquierda - + Top right Parte superior derecha - + Bottom left Abajo a la izquierda - + Bottom right Abajo a la derecha - + Rotates to nearest possible state when clicking a cube face Girar al estado posible más cercano al hacer clic en una cara del cubo - + Rotate to nearest Girar al más cercano - + Font name: Nombre de fuente: - + Font name of the navigation cube Nombre de la fuente del cubo de navegación - + Default Por defecto - + Cube size Tamaño del cubo - + Size of the navigation cube Tamaño del cubo de navegación - + Color Color - + Base color for all elements Color base para todos los elementos - + 3D Navigation Navegación 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Lista la configuración de botones del ratón para cada configuración de navegación elegida. Seleccione un conjunto y, a continuación, presione el botón para ver dichas configuraciones. - + Mouse... Ratón... - + Navigation settings set Configuración de navegación - + Orbit style Estilo órbita - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4783,173 +4090,183 @@ Turntable: la pieza se girará alrededor del eje Z (con ejes restringidos). Turntable libre: la pieza se girará alrededor del eje z. - + Turntable Mesa giratoria - + Trackball Trackball - + Free Turntable Turntable libre - + Rotation mode Modo de rotación - + Rotations in 3D will use current cursor position as center for rotation Las rotaciones en 3D usarán la posición actual del cursor como centro de rotación - + Window center Centro de la ventana - + Drag at cursor Arrastra el cursor - + Object center Centro del objeto - + Default camera orientation Orientación de cámara por defecto - + Default camera orientation when creating a new document or selecting the home view Orientación de cámara por defecto al crear un nuevo documento o seleccionar la vista de inicio - + Camera zoom Zoom de cámara - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Establece el zoom de la cámara para nuevos documentos. El valor es el diámetro de la esfera que cabe en la pantalla. - + mm mm - + Enable animated rotations Activar rotaciones animadas - + Enable animation Activar animación - + Zoom operations will be performed at position of mouse pointer Las operaciones de zoom se realizarán en la posición del puntero del ratón - + Zoom at cursor Zoom en cursor - + Zoom step Paso de zoom - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Cuánto se ampliará. El paso de zoom de '1' significa un factor de 7.5 para cada paso de acercamiento. - + Direction of zoom operations will be inverted La dirección de las operaciones de zoom se invertirá - + Invert zoom Invertir zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. Impide que la vista se incline cuando se hace zoom. Afecta solo el estilo de navegación por gestos. La inclinación del ratón no está desactivada por esta configuración. - + Disable touchscreen tilt gesture Desactivar el gesto de inclinación de la pantalla táctil - + + Show the rotation center when dragging. + Mostrar el centro de rotación al arrastrar. + + + + Enable rotation center indication + Habilitar la indicación del centro de rotación + + + Isometric Isométrica - + Dimetric Dimétrica - + Trimetric Trimétrica - + Top Planta - + Front Alzado - + Left Izquierda - + Right Derecha - + Rear Posterior - + Bottom Inferior - + Custom Personalizado @@ -4957,44 +4274,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Consola de Python - + Settings Opciones - + Words will be wrapped when they exceed available horizontal space in Python console Las palabras serán envueltas cuando excedan espacio horizontal disponible en la consola de Python - + Enable word wrap Habilitar ajuste de línea - + The cursor shape will be a block La forma del cursor será un bloque - + Enable block cursor Activar cursor de bloque - + Saves Python history across sessions Guarda el historial de Python a través de sesiones - + Save history Guardar historial @@ -5002,17 +4319,37 @@ espacio horizontal disponible en la consola de Python Gui::Dialog::DlgSettingsSelection - + Selection Selección - + + Enable preselection, highlighted with specified color + Habilitar preselección, resaltada con el color especificado + + + + Enable preselection + Habilitar preselección + + + + Enable selection, highlighted with specified color + Habilitar selección, resaltada con el color especificado + + + + Enable selection + Habilitar selección + + + Pick radius (px): Elegir radio (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5021,27 +4358,27 @@ Un valor más grande facilita la selección de cosas, pero puede hacer que las c - + Auto switch to the 3D view containing the selected item Cambia automáticamente a la vista 3D que contiene el elemento seleccionado - + Auto expand tree item when the corresponding object is selected in 3D view Auto expande el elemento del árbol cuando se selecciona el objeto correspondiente en la vista 3D - + Preselect the object in 3D view when mouse over the tree item Preselecciona el objeto en la vista 3D cuando el puntero de ratón esté sobre el objeto del árbol - + Record selection in tree view in order to go back/forward using navigation button Graba la selección en la vista de árbol para retroceder/avanzar usando el botón de navegación - + Add checkboxes for selection in document tree Añadir casillas de selección en el árbol del documentos @@ -5049,147 +4386,122 @@ Un valor más grande facilita la selección de cosas, pero puede hacer que las c Gui::Dialog::DlgSettingsViewColor - + Colors Colores - - Selection - Selección - - - - Enable preselection and highlight by specified color - Habilitar preselección y resaltado mediante el color especificado - - - - Enable preselection highlighting - Activar resaltado de preselección - - - - Enable selection highlighting and use specified color - Activar resaltado de selección y usar el color especificado - - - - Enable selection highlighting - Activar resaltado de selección - - - + Background color for the model view Color de fondo para la vista del modelo - + Background color Color de fondo - - + + Background will have selected color El fondo tendrá el color seleccionado - + Simple color Color simple - - + + Background will have selected color gradient El fondo tendrá el gradiente de colores seleccionado - + Linear gradient Gradiente lineal - + Radial gradient Gradiente radial - - + + Top: Arriba: - - + + Middle: Medio: - + Switches the colors of the gradient Cambia los colores del degradado - + Switch Cambiar - + Color gradient will get selected color as middle color El degradado de color obtendrá el color seleccionado como color medio - + Middle color Color medio - - + + Bottom: Abajo: - + Tree view Vista en árbol - + Object being edited Objeto editándose - + Background color for objects in tree view that are currently edited Color de fondo para objetos en la vista en árbol que están en edición actualmente - + Active container Contenedor activo - + Background color for active containers in tree view Color de fondo para contenedores activos en la vista en árbol - + Central: Central: - + Midway: A medio camino: - + End: Fin: @@ -5301,12 +4613,12 @@ El sistema de preferencias es el establecido en las preferencias generales. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unidad desconocida: - + unit mismatch unidad incompatible @@ -5314,7 +4626,7 @@ El sistema de preferencias es el establecido en las preferencias generales. Gui::Dialog::DockablePlacement - + Placement Ubicación @@ -5366,60 +4678,60 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Aún no recuperado - + Unknown problem occurred Ha ocurrido un problema desconocido - - + + Failed to recover No se pudo recuperar - + Successfully recovered Recuperado con éxito - + Finish Terminado - - + + Delete Borrar - - + + Cleanup Limpieza - + Are you sure you want to delete the selected transient directories? ¿Está seguro que desea eliminar los directorios transitorios seleccionados? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Al eliminar el directorio transitorio seleccionado no podrá recuperar los archivos luego. - + Are you sure you want to delete all transient directories? ¿Está seguro que desea eliminar todos los directorios transitorios? - + When deleting all transient directories you won't be able to recover any files afterwards. Al eliminar todo directorio transitorio no podrá recuperar los archivos luego. - + Transient directories deleted. Directorios transitorios borrados. @@ -5543,7 +4855,7 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Carpetas de icono - + Add icon folder Añadir icono de la carpeta @@ -5556,12 +4868,12 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Agregar o eliminar carpetas de icono personalizado - + Remove folder Eliminar carpeta - + Removing a folder only takes effect after an application restart. La acción de eliminar carpeta se hará efectiva al reiniciar la aplicación. @@ -5631,79 +4943,79 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::ParameterGroup - - + + Expand Expandir - + Add sub-group Añadir subgrupo - - + + Remove group Eliminar subgrupo - + Rename group Renombrar grupo - + Export parameter Exportar parámetro - + Import parameter Importar parámetro - + Collapse Colapsar - + Do you really want to remove this parameter group? ¿Realmente desea eliminar este grupo de parámetros? - + Existing sub-group Subgrupo existente - + The sub-group '%1' already exists. El subgrupo '%1' ya existe. - + Export parameter to file Exportar parámetro a archivo - + Import parameter from file Importar parámetro de archivo - + Import Error Error de importación - + Reading from '%1' failed. La lectura de '%1' ha fallado. @@ -5711,65 +5023,65 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::ParameterValue - + Change value Cambiar valor - + Remove key Eliminar clave - + Rename key Renombrar clave - + New Nuevo - + New string item Nuevo elemento de cadena de texto - + New float item Nuevo elemento de coma flotante - + New integer item Nuevo elemento entero - + New unsigned item Nuevo elemento sin signo - + New Boolean item Nuevo elemento booleano - - - - - + + + + + Existing item Elemento existente - - - - - + + + + + The item '%1' already exists. El elemento '%1' ya existe. @@ -5915,17 +5227,17 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Aplicar - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Por favor, seleccione 1, 2 o 3 puntos antes de hacer clic en este botón. Un punto puede estar en un vértice, cara o arista. Si en una cara o arista, el punto utilizado será el punto en la posición del mouse a lo largo de la cara o la arista. Si se selecciona 1 punto, se utilizará como centro de rotación. Si se seleccionan 2 puntos, el punto medio entre ellos será el centro de rotación y, si es necesario, se creará un nuevo eje personalizado. Si se seleccionan 3 puntos, el primer punto se convierte en el centro de rotación y se encuentra en el vector que es normal al plano definido por los 3 puntos. Se proporciona cierta información de distancia y ángulo en la vista de reporte, que puede ser útil al alinear objetos. Para su comodidad, cuando se usa la tecla Mayús + clic, la distancia o el ángulo apropiados se copian en el portapapeles. - + Incorrect quantity Cantidad incorrecta - + There are input fields with incorrect input, please ensure valid placement values! Algunos campos contienen datos incorrectos, ¡asegúrese de introducirlos en el lugar apropiado! @@ -5933,12 +5245,12 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::PrintModel - + Button Botón - + Command Comando @@ -6002,17 +5314,17 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::SceneModel - + Inventor Tree Árbol de Inventor - + Name Nombre - + Nodes Nodos @@ -6068,14 +5380,14 @@ La columna 'Estado' muestra si el documento puede ser recuperado. Gui::Dialog::Transform - - + + Cancel Cancelar - - + + Transform Transformar @@ -6172,13 +5484,13 @@ originally selected prior to opening this dialog - + Model Modelo - + Tasks Tareas @@ -6186,7 +5498,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Vista de propiedades @@ -6194,82 +5506,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Opciones - + Display message types Mostrar tipos de mensajes - - + + Normal messages Mensajes normales - - + + Log messages Mensajes de registro - - + + Warnings Advertencias - - + + Errors Errores - - + + Critical messages Mensajes críticos - + Show Report view on Mostrar vista de informe en - + Redirect Python output Redirigir la salida de Python - + Redirect Python errors Redirigir errores de Python - + Go to end Ir al final - + Clear Limpiar - + Save As... Guardar como... - + Save Report Output Guardar salida de informe - + Plain Text Files Archivos de texto plano @@ -6278,13 +5590,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Salida - + Python console Consola de Python @@ -6322,72 +5634,72 @@ originally selected prior to opening this dialog Lista de objetos seleccionados - + Select only Seleccione sólo - + Selects only this object Selecciona sólo este objeto - + Deselect De-seleccionar - + Deselects this object Anula la selección de este objeto - + Zoom fit Ampliar ajuste - + Selects and fits this object in the 3D window Selecciona y ajusta éste objeto en la ventana 3D - + Go to selection Ir a la selección - + Selects and locates this object in the tree view Selecciona y localiza éste objeto en la vista de árbol - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marca este objeto para ser recalculado - + To python console A la consola de python - + Reveals this object and its subelements in the python console. Muestra este objeto y sus subelementos en la consola de python. - + Duplicate subshape Subforma duplicada - + Creates a standalone copy of this subshape in the document Crea una copia independiente de esta subforma en el documento @@ -6400,7 +5712,7 @@ originally selected prior to opening this dialog Aplicación - + Labels & Attributes Etiquetas & Atributos @@ -6449,27 +5761,27 @@ Desea guardar los cambios? Archivo PDF - + untitled[*] sin título[*] - + - Editor - Editor - + %1 chars removed %1 caracteres eliminados - + %1 chars added %1 caracteres añadidos - + Formatted Formateado @@ -6493,13 +5805,13 @@ Desea guardar los cambios? Gui::FileChooser - - + + Select a file Seleccionar un archivo - + Select a directory Seleccionar un directorio @@ -6507,13 +5819,13 @@ Desea guardar los cambios? Gui::FileDialog - + Save as Guardar como - - + + Open Abrir @@ -6521,12 +5833,12 @@ Desea guardar los cambios? Gui::FileOptionsDialog - + Extended Extendida - + All files (*.*) Todos los archivos (*.*) @@ -6534,27 +5846,27 @@ Desea guardar los cambios? Gui::Flag - + Top left Arriba a la izquierda - + Bottom left Abajo a la izquierda - + Top right Parte superior derecha - + Bottom right Abajo a la derecha - + Remove Quitar @@ -6562,22 +5874,22 @@ Desea guardar los cambios? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Toque o haga click en el botón izquierdo del ratón. - + Drag screen with two fingers OR press right mouse button. Arrastre la pantalla con dos dedos o pulse el botón derecho del ratón. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Arrastra la pantalla con un dedo O pulsa el botón izquierdo del ratón. En Sketcher && otros modos de edición, mantén Alt además. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pince (coloque dos dedos en la pantalla && sepárelos || júntelos) O arrastre el botón central del ratón O use PgUp/PgDown en el teclado. @@ -6585,74 +5897,74 @@ Desea guardar los cambios? Gui::GraphvizView - + Graphviz not found Graphviz no encontrado - + Graphviz couldn't be found on your system. Graphviz no pudo encontrarse en su sistema. - + Read more about it here. Leer más sobre esto aquí. - + Do you want to specify its installation path if it's already installed? ¿Desea especificar su ruta de instalación si ya está instalado? - + Graphviz installation path Ruta de instalación de Graphviz - + Graphviz failed Error de Graphviz - + Graphviz failed to create an image file No se pudo crear un archivo de imagen de Graphviz - + PNG format Formato PNG - + Bitmap format Formato de mapa de bits - + GIF format Formato GIF - + JPG format Formato JPG - + SVG format Formato SVG - - + + PDF format Formato PDF - - + + Export graph Exportar gráfico @@ -6660,12 +5972,12 @@ Desea guardar los cambios? Gui::InputField - + Edit Editar - + Save value Guardar valor @@ -6673,22 +5985,22 @@ Desea guardar los cambios? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Presione la tecla CTRL y el botón izquierdo del ratón - + Press middle mouse button Pulsar el botón central del ratón - + Press left mouse button Pulsa el botón izquierdo del ratón - + Scroll middle mouse button Desplazar el botón central del ratón @@ -6696,7 +6008,7 @@ Desea guardar los cambios? Gui::LabelEditor - + List Lista @@ -6704,66 +6016,66 @@ Desea guardar los cambios? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definido por el usuario... - + - - + + Wrong direction Dirección incorrecta - + - - + + Direction must not be the null vector La dirección no puede ser el vector nulo @@ -6771,22 +6083,22 @@ Desea guardar los cambios? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Dirección: @@ -6794,17 +6106,17 @@ Desea guardar los cambios? Gui::MacroCommand - + Macros Macros - + Macro file doesn't exist No existe el archivo de la macro - + No such macro file: '%1' No hay tal archivo macro: '%1' @@ -6812,63 +6124,73 @@ Desea guardar los cambios? Gui::MainWindow - - + + Dimension Cota - + Ready Preparado - + Help addon needed! ¡Se necesita el complemento de ayuda! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager El sistema de ayuda de %1 ahora es manejado por el complemento "Ayuda". Se puede instalar fácilmente a través del Administrador de Complementos - + Open Addon Manager Abrir gestor de complementos - + Close All Cerrar todo - - + + Toggles this toolbar Muestra u oculta la barra de herramientas - - + + Toggles this dockable window Alterna esta ventana acoplable - - + + WARNING: This is a development version. + ATENCIÓN: Esta es una versión en desarrollo. + + + + Please do not use in a production environment. + Por favor, no utilizar en un entorno de producción. + + + + Unsaved document Documento sin guardar - + The exported object contains external link. Please save the documentat least once before exporting. El objeto exportado contiene un vínculo externo. Por favor, guarde el documento al menos una vez antes de exportar. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Para vincular a objetos externos, el documento debe guardarse al menos una vez. @@ -6878,121 +6200,121 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Alineación manual - + The alignment is already in progress. La alineación ya está en curso. - + Alignment[*] Alineación [*] - + Please, select at least one point in the left and the right view Por favor, selecciona al menos un punto en la vista izquierda y derecha - + Please, select at least %1 points in the left and the right view Por favor, selecciona al menos %1 punto(s) en la vista izquierda y la derecha - + Please pick points in the left and right view Selecciona puntos en la vista izquierda y derecha - + The alignment has finished La alineación ha terminado - + The alignment has been canceled La alineación se ha cancelado - - + + Too few points picked in the left view. At least %1 points are needed. Muy pocos puntos recogidos en la vista izquierda. Por lo menos se necesitan %1 de puntos. - - + + Too few points picked in the right view. At least %1 points are needed. Muy pocos puntos recogidos en la vista derecha. Por lo menos se necesitan %1 de puntos. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Número diferente de puntos en la vista izquierda y derecha. En la vista izquierda %1 puntos se han seleccionado, en la vista derecha %2 puntos se han seleccionado. - + Try to align group of views Trate de alinear el grupo de vistas - + The alignment failed. How do you want to proceed? Error en la alineación. ¿Desea continuar? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Diferente número de puntos seleccionado en la vista izquierda y derecha. En la vista izquierda se seleccionan %1 puntos, en la vista derecha se seleccionan %2 puntos. - + Point_%1 Puntos_%1 - + Point picked at (%1,%2,%3) Punto seleccionado en (1%, 2%, 3%) - + No point was found on model Ningún punto se encontró en el modelo - + No point was picked No fue elegido ningún punto - + &Align &Alinear - + &Remove last point &Eliminar último punto - + &Cancel &Cancelar - + &Synchronize views Sincronizar vistas @@ -7000,22 +6322,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Toque o haga click en el botón izquierdo del ratón. - + Drag screen with two fingers OR press ALT + middle mouse button. Arrastre la pantalla con dos dedos o presione ALT + botón medio del ratón. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Arrastre la pantalla con un dedo o presione ALT + botón izquierdo del mouse. En Sketcher y otros modos de edición, también mantenga presionado Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pellizque (ponga dos dedos en la pantalla y separelos/juntelos) o arrastre el botón central del ratón o presione ALT + botón derecho del ratón o use AvPág/RePág en teclado. @@ -7023,7 +6345,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Presione las teclas modificadoras @@ -7039,22 +6361,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Pulsa el botón izquierdo del ratón - + Press CTRL and middle mouse button Pulse CTRL y el botón central del ratón - + Press CTRL and right mouse button Pulse CTRL y botón derecho del ratón - + Press CTRL and left mouse button Presione la tecla CTRL y el botón izquierdo del ratón @@ -7062,22 +6384,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Pulsa el botón izquierdo del ratón - + Press right mouse button and move mouse Pulse el botón derecho del ratón y mueva el ratón - + Press left mouse button and move mouse Pulse el botón izquierdo del ratón y mueva el ratón - + Press middle mouse button or SHIFT and right mouse button Pulse el botón central del ratón o SHIFT y el botón derecho del ratón @@ -7085,17 +6407,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Editar - + Save value Guardar valor - + Clear list Limpiar lista @@ -7126,12 +6448,12 @@ How do you want to proceed? Restante: %1 - + Aborting Abortar - + Do you really want to abort the operation? Realmente quieres abortar la operación? @@ -7139,7 +6461,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Cambiar el objeto vinculado @@ -7147,12 +6469,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Error - + Object not found Objeto no encontrado @@ -7223,13 +6545,13 @@ How do you want to proceed? Gui::PropertyView - + View Vista - + Data Datos @@ -7277,77 +6599,77 @@ Do you want to exit without saving your data? Excepción desconocida de C++ no gestionada. - + &Copy &Copiar - + &Copy command &Comando copiar - + &Copy history &Copiar historia - + Save history as... Guardar historia como... - + Save history Guardar historial - + Saves Python history across %1 sessions Guarda el historial de Python en %1 sesiones - + &Paste &Pegar - + Select All Seleccionar todo - + Clear console Limpiar la consola - + Insert file name... Insertar nombre de archivo... - + Word wrap Ajuste de texto - + Save History Guardar historia - + Macro Files Archivos macro - + Insert file name Introducir nombre de archivo - + All Files Todos los Archivos @@ -7355,7 +6677,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Comentar @@ -7368,17 +6690,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Abrir archivo %1 - + File not found Archivo no encontrado - + The file '%1' cannot be opened. El archivo '%1' no se puede abrir. @@ -7386,22 +6708,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none ninguno - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Ejecutar macro %1 (Shift+clic para editar) el atajo de teclado: %2 - + File not found Archivo no encontrado - + The file '%1' cannot be opened. El archivo '%1' no se puede abrir. @@ -7409,22 +6731,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Pulsa el botón izquierdo del ratón - + Press middle mouse button Pulsar el botón central del ratón - + Press SHIFT and middle mouse button Pulse SHIFT y el botón central del mouse - + Scroll middle mouse button Desplazar el botón central del ratón @@ -7455,17 +6777,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Seleccionar módulo - + Open %1 as Abrir %1 como - + Select Seleccionar @@ -7534,13 +6856,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentación de módulos python automático - - + + Opens a browser to show the Python modules documentation Abre un navegador y muestra documentación sobre los módulos de Python @@ -7693,38 +7015,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Texto actualizado - + The text of the underlying object has changed. Discard changes and reload the text from the object? El texto del objeto subyacente ha cambiado. ¿Descartar cambios y volver a cargar el texto del objeto? - + Yes, reload. Sí, cargar de nuevo. - + Unsaved document Documento sin guardar - + Do you want to save your changes before closing? ¿Quiere guardar sus cambios antes de cerrar? - + If you don't save, your changes will be lost. De no guardar, se perderán los cambios. - - + + Edit text Editar texto @@ -7732,22 +7054,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Pulsa el botón izquierdo del ratón - + Press middle mouse button Pulsar el botón central del ratón - + Press right mouse button Pulse el botón derecho del ratón - + Scroll middle mouse button Desplazar el botón central del ratón @@ -7755,22 +7077,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Pulsa el botón izquierdo del ratón - + Press SHIFT button Presione la tecla SHIFT - + Press ALT button Pulse el botón ALT - + Press CTRL and SHIFT buttons Presione CTRL y Mayús @@ -7996,7 +7318,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Vista en árbol @@ -8004,7 +7326,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Buscar @@ -8012,183 +7334,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Buscar... - + Search for objects Búsqueda de objetos - + Activate document Activar documento - + Activate document %1 Activar documento %1 - + Tree settings Ajustes del árbol - + Show description column Mostrar columna de descripción - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Mostrar una columna extra de vista de árbol para la descripción del elemento. La descripción del elemento se puede establecer pulsando F2 (o el botón de edición de tu sistema operativo) o editando la propiedad 'label2'. - + Group Grupo - + Labels & Attributes Etiquetas & Atributos - + Description Descripción - + Show items hidden in tree view Mostrar elementos ocultos en la vista de árbol - + Show items that are marked as 'hidden' in the tree view Mostrar elementos marcados como 'ocultos' en la vista de árbol - + Toggle visibility in tree view Cambiar visibilidad en la vista de árbol - + Toggles the visibility of selected items in the tree view Cambia la visibilidad de los elementos seleccionados en la vista de árbol - + Create group... Crear grupo... - + Create a group Crear un grupo - - + + Rename Renombrar - + Rename object Renombrar objeto - + Finish editing Finalizar la edición - + Finish editing object Finalizar edición del objeto - + Add dependent objects to selection Añadir objetos dependientes a la selección - + Adds all dependent objects to the selection Agrega todos los objetos dependientes a la selección - + Close document Cerrar documento - + Close the document Cerrar el documento - + Reload document Recargar documento - + Reload a partially loaded document Recargar un documento parcialmente cargado - + Skip recomputes Saltar recalculado - + Enable or disable recomputations of document Activar o desactivar el recalculado del documento - + Allow partial recomputes Permitir recalculado parcial - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Activar o desactivar el recalculado del objeto de edición cuando 'saltar recalculado' está activado - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marca este objeto para ser recalculado - + Recompute object Recalcular objeto - + Recompute the selected object Recalcular el objeto seleccionado - + (but must be executed) (pero debe ser ejecutado) - + %1, Internal name: %2 %1, Nombre interno: %2 @@ -8219,12 +7541,12 @@ Do you want to specify another directory? Archivo PDF - + Opening file failed No se pudo abrir el archivo - + Can't open file '%1' for writing. No se puede abrir el archivo '%1' para escritura. @@ -8232,7 +7554,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Seleccionar el escenario '%1' @@ -8240,37 +7562,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Servicios - + Hide %1 Ocultar %1 - + Hide Others Ocultar Otros - + Show All Mostrar Todos - + Preferences... Preferencias... - + Quit %1 Cerrar %1 - + About %1 Acerca de %1 @@ -8290,11 +7612,6 @@ Do you want to specify another directory? Position - - - Form - Formulario - X: @@ -8389,14 +7706,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Entrada incorrecta - - + + Input in line %1 is not a number La linea de entrada %1 no es un número @@ -8404,37 +7721,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Vista en árbol - + Property view Vista de las propiedades - + Selection view Vista de selección - + Combo View Vista combinada - + DAG View Vista DAG - + Report view Vista de informe - + Python console Consola de Python @@ -8447,31 +7764,32 @@ Do you want to specify another directory? QObject - - + + General General - - + + + Display Mostrar - + Workbenches Escenarios - - - + + + Python Python @@ -8499,17 +7817,27 @@ Do you want to specify another directory? No es posible guardar el tipo de archivo desconocido: %1 - + Workbench failure Fracaso de escenario - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Excepción @@ -8555,8 +7883,8 @@ Do you want to specify another directory? Exportando a PDF... - + Unsaved document Documento sin guardar @@ -8577,39 +7905,39 @@ Do you want to specify another directory? Error de dependencia - + Copy selected Copiar seleccionado - + Copy active document Copiar documento activo - + Copy all documents Copiar todos los documentos - + Paste Pegar - + Expression error Error de Expresión - + Failed to parse some of the expressions. Please check the Report View for more details. Error al analizar alguna(s) de las expresiones. Por favor, compruebe la Vista de Informe para más detalles. - + Failed to paste expressions Error al pegar expresiones @@ -8643,225 +7971,225 @@ Be aware the point where you click matters. Seleccione dos objetos. Tenga en cuenta el punto en que hace clic. - - + + Save views... Guardar vistas... - - + + Load views... Cargar vistas... - - + + Freeze view Congelar vista - - + + Clear views Limpiar vistas - - - + + + Restore view &%1 Restaurar vista &%1 - + Save frozen views Guardar vistas congeladas - - + + Frozen views Vistas congeladas - - + + Restore views Restaurar vistas - + Importing the restored views would clear the already stored views. Do you want to continue? La importación de las vistas restauradas podría limpiar las vistas ya almacenadas. Desea continuar? - + Restore frozen views Restaurar vistas congeladas - + Cannot open file '%1'. No es posible abrir el archivo '%1'. - + files archivos - + Save image Guardar imagen - + Choose an image file to open Selecciona un archivo de imagen para abrir - + New sub-group Nuevo subgrupo - - - - - - + + + + + + Enter the name: Introducir el nombre: - - + + New text item Nuevo elemento de texto - - + + Enter your text: Introduzca su texto: - - + + New integer item Nuevo elemento entero - - - - - - + + + + + + Enter your number: Introduzca su número: - - + + New unsigned item Nuevo elemento sin signo - - + + New float item Nuevo elemento de coma flotante - + New Boolean item Nuevo elemento booleano - - + + Choose an item: Seleccionar un elemento: - + New boolean item Nuevo elemento booleano - + Rename group Renombrar grupo - + The group '%1' cannot be renamed. El grupo '%1' no puede renombrarse. - + Existing group Grupo existente - + The group '%1' already exists. El grupo '%1' ya existe. - - - - - + + + + + Change value Cambiar valor - + Type Tipo - + Notifier Notificador - + Message Mensaje - + Notifier: Notificador: - + Do you want to skip confirmation of further critical message notifications while loading the file? ¿Quiere omitir la confirmación de otras notificaciones de mensajes críticos mientras carga el archivo? - + Critical Message Mensaje crítico - + Too many opened non-intrusive notifications. Notifications are being omitted! Demasiadas notificaciones no intrusivas abiertas. ¡Se están omitiendo las notificaciones! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8870,44 +8198,44 @@ Desea continuar? - + Are you sure you want to continue? ¿Está seguro de que desea continuar? - + Please check report view for more... Por favor, compruebe la vista del informe para más... - + Physical path: Ruta física: - - + + Document: Documento: - - + + Path: Ruta: - + Identical physical path Ruta física idéntica - + Could not save document No se pudo guardar el documento - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8920,102 +8248,102 @@ Would you like to save the file with a different name? ¿Desea guardar el archivo con un nombre diferente? - - - + + + Saving aborted Guardar abortado - + Save dependent files Guardar archivos dependientes - + The file contains external dependencies. Do you want to save the dependent files, too? El archivo contiene dependencias externas. ¿Desea guardar los archivos dependientes también? - - + + Saving document failed No se pudo guardar el documento - + Save document under new filename... Guardar documento con un nombre de archivo nuevo... - - + + Save %1 Document Guardar el documento %1 - + Document Documento - - + + Failed to save document Error al guardar el documento - + Documents contains cyclic dependencies. Do you still want to save them? Los documentos contienen dependencias cíclicas. ¿Desea guardarlos? - + Save a copy of the document under new filename... Guardar una copia del documento con un nuevo nombre de archivo... - + %1 document (*.FCStd) %1 documento (*.FCStd) - + Document not closable El documento no se puede cerrar - + The document is not closable for the moment. El documento no se puede cerrar por el momento. - + Document not saved Documento no guardado - + The document%1 could not be saved. Do you want to cancel closing it? El documento%1 no se pudo guardar. ¿Desea cancelar cerrando? - + Undo Deshacer - + Redo Rehacer - + There are grouped transactions in the following documents with other preceding transactions Hay transacciones de grupo en los siguientes documentos con otras transacciones anteriores - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9029,47 +8357,47 @@ Seleccione 'Abortar' para abortar Guardar macro - - + + Finish Terminado - - + + Clear Limpiar - - - + + + Cancel Cancelar - + Inner Interior - + Outer Exterior - + Split Dividir - - + + No Browser Ningún navegador - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9078,48 +8406,48 @@ Please open a browser window and type in: http://localhost:%1. Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. - + No Server Ningún servidor - + Unable to start the server to port %1: %2. Incapaz de iniciar el servidor al puerto %1: %2. - + Unable to open your system browser. Incapaz de abrir su navegador del sistema. - + Options... Opciones... - + Out of memory Memoria insuficiente - + Not enough memory available to display the data. Insuficiente memoria disponible para mostrar los datos. - - + + Cannot find file %1 No se puede encontrar el archivo %1 - + Cannot find file %1 neither in %2 nor in %3 No se pueden encontrar los archivos %1 ni %2 ni %3 - + Navigation styles Estilos de navegación @@ -9129,8 +8457,8 @@ Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. Mover anotación - - + + Transform Transformar @@ -9140,42 +8468,42 @@ Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. ¿Desea cerrar este diálogo? - + Do you want to save your changes to document '%1' before closing? ¿Desea guardar el documento '%1' antes de cerrar? - + Do you want to save your changes to document before closing? ¿Desea guardar los cambios en el documento antes de cerrar? - + If you don't save, your changes will be lost. De no guardar, se perderán los cambios. - + Apply answer to all Aplicar respuesta a todos - + %1 Document(s) not saved %1 Documento(s) no guardados - + Some documents could not be saved. Do you want to cancel closing? Algunos documentos no se han podido guardar. ¿Desea cancelar el cierre? - + Delete macro Borrar macro - + Not allowed to delete system-wide macros No se permite eliminar macros del sistema @@ -9185,27 +8513,27 @@ Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. Origen de coordenadas - + Delete group content? ¿Borrar el contenido de grupo? - + The %1 is not empty, delete its content as well? La %1 no está vacía, ¿borrar su contenido? - + Translation: Traslación: - + Rotation: Rotación: - + Toggle active part Activar/desactivar parte activa @@ -9268,87 +8596,87 @@ Por favor abra una ventana del navegador y escriba en ella: http://localhost:%1. Error al importar todos los vínculos - - + + Invalid name Nombre inválido - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. El nombre de la propiedad o el nombre del grupo solo debe contener caracteres alfanuméricos, guión bajo, y no debe comenzar con un dígito. - + The property '%1' already exists in '%2' La propiedad '%1' ya existe en '%2' - + Add property Añadir propiedad - + Failed to add property to '%1': %2 Error al añadir la propiedad a '%1': %2 - - + + Drag & drop failed Error al arrastrar y soltar - + Setup configurable object Configurar objeto configurable - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Seleccione qué objeto copiar o excluir cuando la configuración cambia. Todos los objetos vinculados externos son excluidos por defecto. - + Please select which objects to copy when the configuration is changed Por favor, seleccione qué objetos copiar cuando se cambie la configuración - + Apply to all Aplicar a todo - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Aplica la configuración a todos los enlaces. O desmarca esta opción para aplicar solo a este enlace. - + Copy on change Copiar al cambiar - + Enable Habilitar - + Enable auto copy of linked object when its configuration is changed Habilitar la copia automática del objeto vinculado cuando se cambia su configuración - + Tracking Seguimiento - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9357,17 +8685,17 @@ También auto rehacer la copia si el objeto vinculado original es cambiado. - + Disable copy on change Desactivar copia al cambiar - + Refresh configurable object Actualizar objeto configurable - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9378,28 +8706,28 @@ la copia actual se perderá. - + Toggle array elements Alternar elementos de matriz - + Change whether show each link array element as individual objects Cambiar si se muestra cada elemento del arreglo de enlaces como objetos individuales - + Transform at the origin of the placement Transformar en el origen de la colocación - - + + Override colors... Anular colores... - + Edit %1 Editar %1 @@ -9422,12 +8750,12 @@ la copia actual se perderá. SelectionFilter - + Not allowed: No permitido: - + Selection not allowed by filter Selección no permitida por filtro @@ -9435,9 +8763,9 @@ la copia actual se perderá. StdBoxElementSelection - - - + + + Box element selection Selección de elemento de cuadro @@ -9445,13 +8773,13 @@ la copia actual se perderá. StdBoxSelection - + Box selection Cuadro de selección - - + + Activate the box selection tool Activar la herramienta de selección de caja @@ -9529,13 +8857,13 @@ la copia actual se perderá. StdCmdAxisCross - + Toggle axis cross Activar o desactivar cruz de los ejes - - + + Turns on or off the axis cross at the origin Enciende o apaga el cruce del eje en el origen @@ -9641,13 +8969,13 @@ la copia actual se perderá. StdCmdDemoMode - + View turntable... Ver torno... - - + + View turntable Ver torno @@ -9767,13 +9095,13 @@ la copia actual se perderá. StdCmdDrawStyle - + Draw style Estilo de dibujo - - + + Change the draw style of the objects Cambia el estilo de dibujo de los objetos @@ -9837,13 +9165,13 @@ la copia actual se perderá. StdCmdExpression - + Expression actions Acciones de expresión - - + + Actions that apply to expressions Acciones que se aplican a las expresiones @@ -9960,13 +9288,13 @@ la copia actual se perderá. StdCmdFreezeViews - + Freeze display Congelar visualización - - + + Freezes the current view position Congelar la posición de la vista actual @@ -9987,13 +9315,13 @@ la copia actual se perderá. StdCmdHideObjects - + Hide all objects Ocultar todos los objetos - - + + Hide all objects in the document Oculta todos los objetos en el documento @@ -10001,13 +9329,13 @@ la copia actual se perderá. StdCmdHideSelection - + Hide selection Ocultar selección - - + + Hide all selected objects Oculta todos los objetos seleccionados @@ -10281,13 +9609,13 @@ la copia actual se perderá. StdCmdMeasureDistance - + Measure distance Medir distancia - - + + Activate the distance measurement tool Activar la herramienta de medición de distancia @@ -10346,8 +9674,8 @@ la copia actual se perderá. Crea un documento vacío nuevo - - + + Unnamed Sin nombre @@ -10575,8 +9903,8 @@ la copia actual se perderá. StdCmdRecentFiles - Recent files - Archivos recientes + Open Recent + Abrir recientes @@ -10714,13 +10042,13 @@ la copia actual se perderá. StdCmdSceneInspector - + Scene inspector... Inspector de escena... - - + + Scene inspector Inspector de escena @@ -10728,13 +10056,13 @@ la copia actual se perderá. StdCmdSelBack - + &Back &Atrás - - + + Go back to previous selection Volver a la selección anterior @@ -10742,13 +10070,13 @@ la copia actual se perderá. StdCmdSelBoundingBox - + &Bounding box &Cuadro delimitador - - + + Show selection bounding box Muestra el cuadro delimitador de selección @@ -10756,13 +10084,13 @@ la copia actual se perderá. StdCmdSelForward - + &Forward &Adelante - - + + Repeat the backed selection Repetir la selección respaldada @@ -10784,13 +10112,13 @@ la copia actual se perderá. StdCmdSelectVisibleObjects - + Select visible objects Seleccionar objetos visibles - - + + Select visible objects in the active document Selecciona objetos visibles en el documento activo @@ -10812,13 +10140,13 @@ la copia actual se perderá. StdCmdSetAppearance - + Appearance... Apariencia... - - + + Sets the display properties of the selected object Establece las propiedades de visualización del objeto seleccionado @@ -10826,13 +10154,13 @@ la copia actual se perderá. StdCmdShowObjects - + Show all objects Mostrar todos los objetos - - + + Show all objects in the document Muestra todos los objetos en el documento @@ -10840,13 +10168,13 @@ la copia actual se perderá. StdCmdShowSelection - + Show selection Mostrar selección - - + + Show all selected objects Muestra todos los objetos seleccionados @@ -10882,13 +10210,13 @@ la copia actual se perderá. StdCmdTextureMapping - + Texture mapping... Mapeo de textura... - - + + Texture mapping Mapeado de textura @@ -10924,13 +10252,13 @@ la copia actual se perderá. StdCmdToggleClipPlane - + Clipping plane Plano de recorte - - + + Toggles clipping plane for active view Conmuta el plano de corte para la vista activa @@ -10938,13 +10266,13 @@ la copia actual se perderá. StdCmdToggleNavigation - + Toggle navigation/Edit mode Alternar en modo Navegación/Edición - - + + Toggle between navigation and edit mode Alterna entre el modo de navegación y edición @@ -10952,13 +10280,13 @@ la copia actual se perderá. StdCmdToggleObjects - + Toggle all objects Conmutar todos los objetos - - + + Toggles visibility of all objects in the active document Conmuta la visibilidad de todos los objetos en el documento activo @@ -10966,13 +10294,13 @@ la copia actual se perderá. StdCmdToggleSelectability - + Toggle selectability Conmutar selectividad - - + + Toggles the property of the objects to get selected in the 3D-View Alterna la propiedad de los objetos para ser seleccionados en la Vista 3D @@ -10980,13 +10308,13 @@ la copia actual se perderá. StdCmdToggleVisibility - + Toggle visibility Conmutar visibilidad - - + + Toggles visibility Conmuta la visibilidad @@ -11036,13 +10364,13 @@ la copia actual se perderá. StdCmdTreeCollapse - + Collapse selected item Colapsar elemento seleccionado - - + + Collapse currently selected tree items Colapsar elementos del árbol seleccionados @@ -11050,13 +10378,13 @@ la copia actual se perderá. StdCmdTreeExpand - + Expand selected item Expandir elemento seleccionado - - + + Expand currently selected tree items Expandir los elementos del árbol seleccionados @@ -11064,13 +10392,13 @@ la copia actual se perderá. StdCmdTreeSelectAllInstances - + Select all instances Seleccionar todas las instancias - - + + Select all instances of the current selected object Seleccionar todas las instancias del objeto seleccionado actual @@ -11078,13 +10406,13 @@ la copia actual se perderá. StdCmdTreeViewActions - + TreeView actions Acciones del vista de árbol - - + + TreeView behavior options and actions Opciones y acciones de comportamiento de la vista de árbol @@ -11148,13 +10476,13 @@ la copia actual se perderá. StdCmdViewBottom - + Bottom Inferior - - + + Set to bottom view Establece la vista inferior @@ -11162,13 +10490,13 @@ la copia actual se perderá. StdCmdViewCreate - + Create new view Crear una vista nueva - - + + Creates a new view window for the active document Crea una nueva ventana de vista para el documento activo @@ -11176,13 +10504,13 @@ la copia actual se perderá. StdCmdViewDimetric - + Dimetric Dimétrica - - + + Set to dimetric view Establece vista dimétrica @@ -11190,13 +10518,13 @@ la copia actual se perderá. StdCmdViewExample1 - + Inventor example #1 Inventor ejemplo #1 - - + + Shows a 3D texture with manipulator Muestra una textura 3D con manipulador @@ -11204,13 +10532,13 @@ la copia actual se perderá. StdCmdViewExample2 - + Inventor example #2 Inventor ejemplo #2 - - + + Shows spheres and drag-lights Muestra esferas y luces arrastradas @@ -11218,13 +10546,13 @@ la copia actual se perderá. StdCmdViewExample3 - + Inventor example #3 Inventor ejemplo #3 - - + + Shows a animated texture Muestra una textura animada @@ -11232,13 +10560,13 @@ la copia actual se perderá. StdCmdViewFitAll - + Fit all Ajustar todo - - + + Fits the whole content on the screen Ajusta el contenido completo a la pantalla @@ -11246,13 +10574,13 @@ la copia actual se perderá. StdCmdViewFitSelection - + Fit selection Ajustar a la selección - - + + Fits the selected content on the screen Ajusta el contenido seleccionado a la pantalla @@ -11260,13 +10588,13 @@ la copia actual se perderá. StdCmdViewFront - + Front Alzado - - + + Set to front view Establece vista de alzado @@ -11274,13 +10602,13 @@ la copia actual se perderá. StdCmdViewHome - + Home Inicio - - + + Set to default home view Establece por defecto la vista de inicio @@ -11288,13 +10616,13 @@ la copia actual se perderá. StdCmdViewIsometric - + Isometric Isométrica - - + + Set to isometric view Establece vista isométrica @@ -11302,13 +10630,13 @@ la copia actual se perderá. StdCmdViewIvIssueCamPos - + Issue camera position Publicar la posición de la cámara - - + + Issue the camera position to the console and to a macro, to easily recall this position Publica la posición de la cámara a la consola y a una macro, para reutilizar fácilmente esta posición @@ -11316,13 +10644,13 @@ la copia actual se perderá. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Estéreo columnas intercaladas - - + + Switch stereo viewing to Interleaved Columns Cambia la visualización estéreo a columnas intercaladas @@ -11330,13 +10658,13 @@ la copia actual se perderá. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Estéreo filas intercaladas - - + + Switch stereo viewing to Interleaved Rows Cambia la visualización estéreo a filas intercaladas @@ -11344,13 +10672,13 @@ la copia actual se perderá. StdCmdViewIvStereoOff - + Stereo Off Estereo apagado - - + + Switch stereo viewing off Apaga la visualización estereo @@ -11358,13 +10686,13 @@ la copia actual se perderá. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Estereo cuádruple buffer - - + + Switch stereo viewing to quad buffer Cambia la visualización estereo a cuádruple buffer @@ -11372,13 +10700,13 @@ la copia actual se perderá. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Estereo rojo/cian - - + + Switch stereo viewing to red/cyan Cambia a visualización estereo rojo/cian @@ -11386,13 +10714,13 @@ la copia actual se perderá. StdCmdViewLeft - + Left Izquierda - - + + Set to left view Establece vista izquierda @@ -11400,13 +10728,13 @@ la copia actual se perderá. StdCmdViewRear - + Rear Posterior - - + + Set to rear view Establece vista posterior @@ -11428,13 +10756,13 @@ la copia actual se perderá. StdCmdViewRight - + Right Derecha - - + + Set to right view Establece vista derecha @@ -11442,13 +10770,13 @@ la copia actual se perderá. StdCmdViewRotateLeft - + Rotate Left Rotar a la izquierda - - + + Rotate the view by 90° counter-clockwise Gira la vista a 90° en sentido antihorario @@ -11456,13 +10784,13 @@ la copia actual se perderá. StdCmdViewRotateRight - + Rotate Right Rotar a la derecha - - + + Rotate the view by 90° clockwise Gira la vista a 90° en sentido horario @@ -11484,13 +10812,13 @@ la copia actual se perderá. StdCmdViewTop - + Top Planta - - + + Set to top view Establece vista en planta @@ -11498,13 +10826,13 @@ la copia actual se perderá. StdCmdViewTrimetric - + Trimetric Trimétrica - - + + Set to trimetric view Establece vista trimétrica @@ -11512,13 +10840,13 @@ la copia actual se perderá. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Extender la vista 3D a Oculus Rift @@ -11582,13 +10910,13 @@ la copia actual se perderá. StdMainFullscreen - + Fullscreen Pantalla completa - - + + Display the main window in fullscreen mode Muestra la ventana principal en modo de pantalla completa @@ -11624,13 +10952,13 @@ la copia actual se perderá. StdRecallWorkingView - + Recall working view Recordar vista de trabajo - - + + Recall previously stored temporary working view Recordar vista de trabajo temporal almacenada previamente @@ -11638,13 +10966,13 @@ la copia actual se perderá. StdStoreWorkingView - + Store working view Guardar vista de trabajo - - + + Store a document-specific temporary working view Guardar una vista de trabajo temporal específica del documento @@ -11652,13 +10980,13 @@ la copia actual se perderá. StdTreeCollapseDocument - + Collapse/Expand Contraer/expandir - - + + Expand active document and collapse all others Expande el documento activo y colapsa todos los demás @@ -11666,12 +10994,12 @@ la copia actual se perderá. StdTreeDrag - + Initiate dragging Iniciar arrastre - + Initiate dragging of current selected tree items Inicia el arrastre de los elementos del árbol seleccionados @@ -11679,13 +11007,13 @@ la copia actual se perderá. StdTreeMultiDocument - + Multi document Documento múltiple - - + + Display all documents in the tree view Muestra todos los documentos en la vista de árbol @@ -11693,12 +11021,12 @@ la copia actual se perderá. StdTreePreSelection - + Pre-selection Pre-selección - + Preselect the object in 3D view when mouse over the tree item Preselecciona el objeto en la vista 3D cuando el puntero de ratón esté sobre el objeto del árbol @@ -11706,12 +11034,12 @@ la copia actual se perderá. StdTreeRecordSelection - + Record selection Grabar selección - + Record selection in tree view in order to go back/forward using navigation button Graba la selección en la vista de árbol para retroceder/avanzar usando el botón de navegación @@ -11719,13 +11047,13 @@ la copia actual se perderá. StdTreeSelection - + Go to selection Ir a la selección - - + + Scroll to first selected item Desplazarse al primer elemento seleccionado @@ -11733,13 +11061,13 @@ la copia actual se perderá. StdTreeSingleDocument - + Single document Documento simple - - + + Only display the active document in the tree view Muestra sólo el documento activo en la vista de árbol @@ -11747,12 +11075,12 @@ la copia actual se perderá. StdTreeSyncPlacement - + Sync placement Colocación de sincronización - + Auto adjust placement on drag and drop objects across coordinate systems Ajusta automáticamente la posición al arrastrar y soltar objetos a través de los sistemas de coordenadas @@ -11760,12 +11088,12 @@ la copia actual se perderá. StdTreeSyncSelection - + Sync selection Sincronizar selección - + Auto expand tree item when the corresponding object is selected in 3D view Auto expande el elemento del árbol cuando se selecciona el objeto correspondiente en la vista 3D @@ -11773,12 +11101,12 @@ la copia actual se perderá. StdTreeSyncView - + Sync view Sincronizar vista - + Auto switch to the 3D view containing the selected item Cambia automáticamente a la vista 3D que contiene el elemento seleccionado @@ -11786,13 +11114,13 @@ la copia actual se perderá. StdViewBoxZoom - + Box zoom Zona de zoom - - + + Activate the box zoom tool Activar la herramienta de zoom de caja @@ -11800,13 +11128,13 @@ la copia actual se perderá. StdViewDock - + Docked Acoplado - - + + Display the active view either in fullscreen, in undocked or docked mode Muestra la vista activa a pantalla completa, en modo desacoplado o acoplado @@ -11814,13 +11142,13 @@ la copia actual se perderá. StdViewDockUndockFullscreen - + Document window Ventana del documento - - + + Display the active view either in fullscreen, in undocked or docked mode Muestra la vista activa a pantalla completa, en modo desacoplado o acoplado @@ -11828,13 +11156,13 @@ la copia actual se perderá. StdViewFullscreen - + Fullscreen Pantalla completa - - + + Display the active view either in fullscreen, in undocked or docked mode Muestra la vista activa a pantalla completa, en modo desacoplado o acoplado @@ -11842,13 +11170,13 @@ la copia actual se perderá. StdViewScreenShot - + Save image... Guardar imagen... - - + + Creates a screenshot of the active view Crea una captura de pantalla de la vista activa @@ -11856,13 +11184,13 @@ la copia actual se perderá. StdViewUndock - + Undocked Desacoplado - - + + Display the active view either in fullscreen, in undocked or docked mode Muestra la vista activa a pantalla completa, en modo desacoplado o acoplado @@ -11870,13 +11198,13 @@ la copia actual se perderá. StdViewZoomIn - + Zoom In Aumentar con el zoom - - + + Increase the zoom factor by a fixed amount Aumentar el factor de zoom en una cantidad fija @@ -11884,13 +11212,13 @@ la copia actual se perderá. StdViewZoomOut - + Zoom Out Reducir con el zoom - - + + Decrease the zoom factor by a fixed amount Disminuir el factor de zoom en una cantidad fija @@ -11925,72 +11253,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Como es - + Normal mode Modo normal - + Points Puntos - + Points mode Modo puntos - + Wireframe Modelo de alambres - + Wireframe mode Modo de alambre - + Hidden line Línea oculta - + Hidden line mode Modo de línea oculta - + No shading Sin sombreado - + No shading mode Modo no sombreado - + Shaded Sombreado - + Shaded mode Modo sombreado - + Flat lines Alámbrico - + Flat lines mode Modo alámbrico @@ -12053,32 +11381,32 @@ Por favor, compruebe la Vista de Reportes para más detalles. TreeParams - + Tree view item background. Only effective in overlay. Fondo de la vista del árbol. Sólo efectivo en la superposición. - + Tree view item background padding. Relleno de fondo del elemento de vista de árbol. - + Hide extra tree view column for item description. Ocultar columna extra de vista de árbol para la descripción del artículo. - + Hide tree view scroll bar in dock overlay. Ocultar barra de desplazamiento de vista de árbol en la superposición de muelle. - + Hide tree view header view in dock overlay. Ocultar vista de cabecera del árbol en la superposición de dock. - + Allow tree view columns to be manually resized. Permitir cambiar el tamaño de las columnas de vista de árbol. @@ -12086,117 +11414,117 @@ Por favor, compruebe la Vista de Reportes para más detalles. Workbench - + &File &Archivo - + &Edit &Editar - + Edit Editar - + Clipboard Portapapeles - + Workbench Escenario - + Structure Estructura - + Standard views Vistas estándar - + Axonometric Axonométrica - + &Stereo &Estéreo - + &Zoom &Zoom - + Visibility Visibilidad - + &View &Ver - + &Tools &Herramientas - + &Macro &Macro - + &Windows &Ventanas - + &On-line help &Ayuda online - + &Help Ay&uda - + Help Ayuda - + File Archivo - + Macro Macro - + View Vista - + Special Ops Operaciones especiales - + Link actions Acciones de vínculos @@ -12204,12 +11532,12 @@ Por favor, compruebe la Vista de Reportes para más detalles. Gui::MDIView - + Export PDF Exportar en PDF - + PDF file Archivo PDF @@ -12217,196 +11545,190 @@ Por favor, compruebe la Vista de Reportes para más detalles. Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Área de notificaciones - + Settings Opciones - + The Notification area will appear in the status bar El área de notificación aparecerá en la barra de estado - + Enable Notification Area Activar área de notificación - + Non-intrusive notifications will appear next to the notification area in the status bar Las notificaciones no intrusivas aparecerán junto al área de notificación en la barra de estado - + Enable non-intrusive notifications Habilitar notificaciones no intrusivas - + Additional data sources Fuentes de datos adicionales - + Errors intended for developers will appear in the notification area Los errores destinados a desarrolladores aparecerán en el área de notificación - + Debug errors Errores de depuración - + Warnings intended for developers will appear in the notification area Las advertencias destinadas a los desarrolladores aparecerán en el área de notificación - + Debug warnings Advertencias de depuración - + Non-Intrusive Notifications Notificaciones no intrusivas - + Minimum Duration: Duración mínima: - + Maximum Duration: Duración máxima: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duración durante la cual se mostrará la notificación (a menos que se haga clic en los botones del ratón) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Duración mínima durante la cual se mostrará la notificación (a menos que se haga clic en la notificación) - + Maximum Number of Notifications: Número máximo de notificaciones: - + Maximum number of notifications that will be simultaneously present on the screen Número máximo de notificaciones que estarán simultáneamente presentes en la pantalla - + Notification width: Ancho de la notificación: - + Width of the notification in pixels Ancho de la notificación en píxeles - + Any open non-intrusive notifications will disappear when another window is activated Cualquier notificación no intrusiva desaparecerá cuando otra ventana esté activada - + Hide when other window is activated Ocultar cuando otra ventana está activada - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Evita que aparezcan notificaciones no intrusivas cuando la ventana de FreeCAD no es la ventana activa - + Do not show when inactive No mostrar cuando esté inactivo - + Message List Lista de mensajes - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limita el número de mensajes que se mantendrán en la lista. Si es 0 no hay límite. - + Maximum Messages (0 = no limit): Máximo de mensajes (0 = sin límite): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Elimina las notificaciones de usuario de la lista de mensajes después de que la duración máxima no intrusiva haya transcurrido. - + Auto-remove User Notifications Auto-eliminar notificaciones de usuario - - - Activation of the Notification Area only takes effect after an application restart. - La activación del área de notificaciones sólo tendrá efecto una vez que se reinicie la aplicación. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Bancos de trabajo disponibles - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Puede reordenar los entornos de trabajo arrastrando y soltando. Los entornos de trabajo adicionales pueden instalarse a través del administrador del complementos.</p><p> Actualmente, su sistema tiene los siguientes entornos de trabajo:</p></body></html> - + Start up workbench: Iniciar banco de trabajo: - + Choose which workbench will be activated and shown after FreeCAD launches Elija qué banco de trabajo se activará y se mostrará después de que FreeCAD inicie - + Workbench selector position : Posición del selector de entorno de trabajo : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12419,12 +11741,12 @@ después de que FreeCAD inicie 'esquina derecha': En la barra de menú, en la esquina derecha. - + If checked, application will remember which workbench is active for each tab of the viewport Si está marcado, la aplicación recordará qué banco de trabajo está activo para cada pestaña de la vista - + Remember active workbench by tab Recordar banco de trabajo activo por pestaña @@ -12573,47 +11895,47 @@ después de que FreeCAD inicie Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Si no se selecciona, %1 no aparecerá en los bancos de trabajo disponibles. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Este es el módulo de inicio actual y debe ser activado. Ver Preferencias/General/Autocarga para cambiar. - + Shortcut to activate this workbench. Atajo para activar este banco de trabajo. - + Auto-load Carga automática - + If checked, %1 will be loaded automatically when FreeCAD starts up Si está marcado, %1 se cargará automáticamente cuando FreeCAD se inicie - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Este es el módulo de inicio actual y debe cargarse automáticamente. Ver Preferencias/General/Autocarga para cambiar. - + Loaded Cargado - + Load Cargar - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Para preservar recursos, FreeCAD no carga los bancos de trabajo hasta que se usen. Cargarlos puede proporcionar acceso a preferencias adicionales relacionadas con su funcionalidad. @@ -12621,17 +11943,22 @@ después de que FreeCAD inicie Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Barra de herramientas - + Left corner Esquina izquierda - + Right corner Esquina derecha @@ -12657,12 +11984,12 @@ después de que FreeCAD inicie Gui::NotificationArea - + Delete user notifications Eliminar notificaciones de usuario - + Delete All Borrar todo @@ -12698,13 +12025,13 @@ después de que FreeCAD inicie StdViewLoadImage - + Load image... Cargar imagen... - - + + Loads an image Carga una imagen @@ -12766,10 +12093,811 @@ después de que FreeCAD inicie Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Se ha producido un error - vea la Vista de Informe para más información + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opciones + + + + Code lines will be numbered + Las líneas de código serán numeradas + + + + Enable line numbers + Permite números de línea + + + + The cursor shape will be a block + La forma del cursor será un bloque + + + + Enable block cursor + Activar cursor de bloque + + + + Enable folding + Permite el plegado + + + + Indentation + Sangría + + + + Tab size: + Tamaño de la tabulación: + + + + Tabulator raster (how many spaces) + Tabulador raster (cuántos espacios) + + + + Indent size: + Tamaño de sangrado: + + + + How many spaces will be inserted when pressing <Tab> + Cuantos espacios se insertarán al presionar <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Pulsando <Tab> insertará un tabulador con tamaño de tab definido + + + + Keep tabs + Mantener la tabulación + + + + Pressing <Tab> will insert amount of defined indent size + Pulsando <Tab> insertará la cantidad de tamaño de sangría definido + + + + Insert spaces + Insertar espacios + + + + Display items + Mostrar elementos + + + + Color and font settings will be applied to selected type + Los ajustes de color y fuente se aplicarán al tipo seleccionado + + + + Family: + Familia: + + + + Font family to be used for selected code type + Familia de fuente a utilizar para el tipo de código seleccionado + + + + Size: + Tamaño: + + + + Font size to be used for selected code type + Tamaño de letra a utilizar para el tipo de código seleccionado + + + + Color: + Color: + + + + Preview: + Vista previa: + + + + Text + Texto + + + + Bookmark + Marcador + + + + Breakpoint + Punto de parada + + + + Keyword + Palabra clave + + + + Comment + Comentar + + + + Block comment + Comentar bloque + + + + Number + Número + + + + String + Cadena de texto + + + + Character + Caracter + + + + Class name + Nombre de clase + + + + Define name + Definir nombre + + + + Operator + Operador + + + + Python output + Salida de Python + + + + Python error + Error de Python + + + + Current line highlight + Resaltado de línea actual + + + + Items + Elementos + + + + Gui::Dialog::DlgSettingsGeneral + + + General + General + + + + Language and number format + Idioma y formato numérico + + + + Language: + Idioma: + + + + Language of the application's user interface + Idioma de la interfaz de usuario de la aplicación + + + + Unit system: + Unidad del sistema: + + + + Unit system that should be used for all parts of the application + Sistema de unidades que debe ser utilizado para todas las partes de la aplicación + + + + Number of decimals: + Número de decimales: + + + + Number of decimals that should be shown for numbers and dimensions + Número de decimales que deberían mostrarse en números y cotas. + + + + Minimum fractional inch: + Mínimo pulgadas fraccionarias: + + + + Minimum fractional inch to be displayed + Pulgada fraccional mínima que se mostrará + + + + Number format: + Formato de número: + + + + Operating system + Sistema operativo + + + + Selected language + Idioma seleccionado + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Si está activado, el separador decimal del teclado numérico +será sustituido por el separador de localidades, excepto +en la Consola de Python y el Editor de Macro, donde siempre se imprimirá un +punto. + + + + Substitute decimal separator + Sustituir separador decimal + + + + Application + Aplicación + + + + Theme: + Tema: + + + + Customize how user interface will look like + Personalizar cómo se verá la interfaz de usuario + + + + Size of toolbar icons: + Tamaño de los iconos de la barra de herramientas: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Elija su preferencia por el tamaño del icono de la barra de herramientas. Puede ajustar +esto de acuerdo con el tamaño de la pantalla o el gusto personal + + + + Tree view mode: + Modo de vista del árbol: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Personalizar cómo se muestra la vista de árbol en el panel (se requiere reiniciar). + +'Vista Combinada': combinar vista de árbol y vista de propiedad en un panel. +'Vista de Árbol y Vista de Propiedades': dividir vista de árbol y vista de propiedad en un panel separado. +'Ambos': mantén los tres paneles, y puedes tener dos conjuntos de vista de árbol y vista de propiedad. + + + + Size of recent file list: + Tamaño de la lista de archivos recientes: + + + + How many files should be listed in recent files list + Cuántos archivos deben aparecer en la lista de archivos recientes + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + El fondo de la ventana principal (cuando no hay documentos abiertos) consistirá en baldosas de una imagen especial. +Vea la wiki de FreeCAD para más detalles sobre la imagen. + + + + Enable tiled background + Habilitar el fondo en mosaico + + + + The text cursor will be blinking + El cursor de texto parpadeará + + + + Enable cursor blinking + Activar cursor intermitente + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Una pantalla de Bienvenida es una pequeña ventana de carga que se muestra +cuando se inicia FreeCAD. Si esta opción está marcada, FreeCAD mostrará +la pantalla de bienvenida + + + + Enable splash screen at start up + Activar página de bienvenida en el inicio + + + + Preference packs + Paquetes de preferencias + + + + Name + Nombre + + + + Type + Tipo + + + + Load + Cargar + + + + Import config... + Importar configuración... + + + + Save new... + Guardar nuevo... + + + + Manage... + Administrar... + + + + Revert... + Deshacer... + + + + Manage preference packs + Administrar paquetes de preferencias + + + + Small (%1px) + Pequeño (%1px) + + + + Medium (%1px) + Medio (%1px) + + + + Large (%1px) + Grande (%1px) + + + + Extra large (%1px) + Extra grande (%1px) + + + + Custom (%1px) + Personalizado (%1px) + + + + Combo View + Vista combinada + + + + TreeView and PropertyView + Vista del Árbol y Vista de Propiedades + + + + Both + Ambos + + + + Preference Pack Name + Nombre del paquete de preferencias + + + + Tags + Etiquetas + + + + Apply + Aplicar + + + + Apply the %1 preference pack + Aplicar el paquete de preferencias %1 + + + + Choose a FreeCAD config file to import + Elija un archivo de configuración de FreeCAD para importar + + + + File exists + El archivo ya existe + + + + A preference pack with that name already exists. Overwrite? + Ya existe un paquete de preferencias con ese nombre. ¿Sobrescribir? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Vista de informe + + + + Output + Salida + + + + Normal messages will be recorded + Los mensajes normales serán grabados + + + + Record normal messages + Grabar mensajes normales + + + + Log messages will be recorded + Los mensajes de registro serán grabados + + + + Record log messages + Grabar mensajes de registro + + + + Warnings will be recorded + Las advertencias se registrarán + + + + Record warnings + Guardar advertencias + + + + Error messages will be recorded + Los mensajes de registro serán grabados + + + + Record error messages + Guardar mensajes de error + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Cuando ha ocurrido un error, el diálogo de Vista de Informe se hace visible en pantalla mostrando el error + + + + Show report view on error + Mostrar vista de informe en errores + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Cuando ha ocurrido una advertencia, el diálogo de Vista de Informe se hace visible en pantalla mostrando la advertencia + + + + Show report view on warning + Mostrar vista de informe en advertencias + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Cuando se emite un mensaje normal, el diálogo de Vista de Informe se hace visible en pantalla mostrando el mensaje + + + + Show report view on normal message + Mostrar vista de informe en mensaje normal + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Cuando se emite un mensaje de registro, el diálogo de Vista de Informe se hace visible en pantalla mostrando el mensaje de registro + + + + Show report view on log message + Mostrar vista de informe en mensaje de registro + + + + Include a timecode for each report + Incluye un código de tiempo para cada informe + + + + Include a timecode for each entry + Incluye un código de tiempo para cada entrada + + + + Colors + Colores + + + + Normal messages: + Mensajes normales: + + + + Font color for normal messages in Report view panel + Color de fuente para los mensajes normales en el panel de Vista de Informe + + + + Log messages: + Mensajes de registro: + + + + Font color for log messages in Report view panel + Color de fuente para los mensajes de registro en el panel de Vista de Informe + + + + Warnings: + Advertencias: + + + + Font color for warning messages in Report view panel + Color de fuente para mensajes de avertencia en el panel de Vista de Informe + + + + Errors: + Errores: + + + + Font color for error messages in Report view panel + Color de fuente para los mensajes de error en el panel de Vista de Informe + + + + Python interpreter + Intérprete de Python + + + + Internal Python output will be redirected +from Python console to Report view panel + La salida interna de Python se redirigirá +desde la consola de Python al panel de la vista de informe + + + + Redirect internal Python output to report view + Redirigir la salida interna de Python a la vista de informe + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Los mensajes de errores internos de Python serán redireccionados desde la consola de Python al panel de vista de informes + + + + Redirect internal Python errors to report view + Redirigir los errores internos de Python a la vista de informe + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Tema + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Esta página le permite personalizar su tema actual. Los ajustes ofrecidos son opcionales para desarrolladores de temas por lo que pueden o no tener efecto en su tema actual. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Este color puede ser usado por tu tema para permitirle personalizarlo. + + + + No style sheet + Sin hoja de estilo + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_eu.ts b/src/Gui/Language/FreeCAD_eu.ts index 5f544010db..d93a35b3c7 100644 --- a/src/Gui/Language/FreeCAD_eu.ts +++ b/src/Gui/Language/FreeCAD_eu.ts @@ -42,29 +42,29 @@ Elementuaren ikusizko tamaina - + <empty> <hutsik> - - + + Angle Angelua - - + + Axis Ardatza - + Position Posizioa - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Kontsola-irteerako proba - - + + Run test cases to verify console messages Exekutatu probako kasuak kontsolako mezuak egiaztatzeko @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Garbitu neurketa - + Clear all visible measurements Garbitu ikusgai dauden neurketa guztiak @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Txandakatu neurketa - + Turn on or off the display of all measurements Aktibatu edo desaktibatu neurketa guztien bistaratzea @@ -132,7 +132,7 @@ Ezabatu - + Paste expressions Itsatsi adierazpenak @@ -182,7 +182,7 @@ Gehitu talde bat - + Align Lerrokatu @@ -193,40 +193,40 @@ Kokapena - - + + Transform Transformatu - + Toggle array elements Txandakatu matrize-elementuak - + Link Transform Estekaren transformazioa - + Measure distance Neurtu distantzia - + Toggle visibility Txandakatu ikusgaitasuna - + Toggle selectability Txandakatu hautagarritasuna - + Edit image Editatu irudia @@ -234,77 +234,77 @@ CommandGroup - + File Fitxategia - + Edit Editatu - + Help Laguntza - + Link Esteka - + Tools Tresnak - + View Bista - + Window Leihoa - + Standard Estandarra - + Macros Makroak - + Macro Makroa - + Structure Egitura - + Standard-Test Proba estandar - + Standard-View Bista estandarra - + TreeView Zuhaitz-bista - + Measure Neurtu @@ -402,11 +402,6 @@ DownloadItem - - - Form - Inprimakia - Ico @@ -421,42 +416,42 @@ EditMode - + Default Lehenetsia - + The object will be edited using the mode defined internally to be the most appropriate for the object type Objektua barnean definitutako modua erabiliz editatuko da, objektu mota egokiena izan dadin - + Transform Transformatu - + The object will have its placement editable with the Std TransformManip command Objektuaren kokapena editatu ahal izango da Std TransformManip komandoaren bidez - + Cutting Moztea - + This edit mode is implemented as available but currently does not seem to be used by any object Edizio modua erabilgarri gisa inplementatu da, baina badirudi momentuan ez dagoela objekturik hura erabiltzen - + Color Kolorea - + The object will have the color of its individual faces editable with the Part FaceColors command Objektuaren banakako aurpegien kolorea editatu ahal izango da piezen FaceColors komandoarekin @@ -482,7 +477,7 @@ bat ere ez - + Press a keyboard shortcut Sakatu lasterbide bat @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Erabilgarri: - + Selected: Hautatua: - + Add Gehitu - + Remove Kendu - + Move up Mugitu gora - + Move down Mugitu behera @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Objektu mugikorra - + Fixed object Objektu finkoa @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Itxaron berreskuratze fitxategia gorde arte... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Sakatu saguaren ezkerreko botoia - + Press SHIFT and middle mouse button Sakatu SHIFT eta xaguaren erdiko botoia - + Press middle mouse button Sakatu saguaren erdiko botoia - + Scroll middle mouse button Korritu saguaren erdiko botoia @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Sakatu saguaren ezkerreko botoia - + Press middle mouse button Sakatu saguaren erdiko botoia - + Press middle+left or middle+right button Sakatu erdiko+ezkerreko edo erdiko+eskuineko botoiak - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Korritu saguaren erdiko botoia edo eutsi sakatuta erdiko botoiari ezker edo eskuineko klik egiten duzun bitartean sagua gora edo behera mugituz @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &Ados - + &Cancel &Utzi @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Ataza-panela @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Kredituak - + FreeCAD would not be possible without the contributions of FreeCADik ez litzateke egongo honakoen laguntzarik gabe: - + Individuals Header for the list of individual people in the Credits list. Banakoak - + Organizations Header for the list of companies/organizations in the Credits list. Erakundeak - - + + License Lizentzia - + Libraries Liburutegiak - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Software honek kode irekiko osagaiak darabiltza, eta horien copyright-a eta beste jabetza-eskubide batzuk beren jabearenak dira: - + Collection Bilduma @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Cache-direktorioa - + The cache directory %1 exceeds the size of %2. %1 cache-direktorioak %2 tamaina gainditzen du. - + Do you want to clear it now? Garbitu nahi duzu? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Abisua: Ziurtatu hau dela exekuzioan dagoen %1 instantzia bakarra eta ez dagoela dokumenturik irekita, bestela datuak galdu baitaitezke. @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Kameraren ezarpenak - + Orientation Orientazioa - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Uneko bista @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Komandoak @@ -1116,12 +1111,12 @@ Hau markatuta ez badago, propietateak izen bakarra izan behar du eta 'obj.Izena' Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Paketea badago lehendik - + A preference pack with that name already exists. Do you want to overwrite it? Badago izen hori duen hobespen-pakete bat. Gainidatzi? @@ -1356,48 +1351,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Idatzi bilatzeko... - + Icon Ikonoa - + Command Komandoa - + Shortcut Lasterbidea - + Default Lehenetsia - + Name Izena - + Title Izenburua - + All Dena - - + + none bat ere ez @@ -1405,8 +1400,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Tresna-kutxen barrak @@ -1495,40 +1490,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Bereizlea> - + %1 module not loaded %1 modulua ez dago kargatuta - + New toolbar Tresna-barra berria - - + + Toolbar name: Tresna-barraren izena: - - + + Duplicated name Izen bikoiztua - - + + The toolbar name '%1' is already used Dagoeneko badago '%1' izena duen tresna-barra - + Rename toolbar Berrizendatu tresna-barra @@ -1541,19 +1536,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Pertsonalizatu - + &Help L&aguntza - + &Close &Itxi @@ -1562,13 +1557,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Spaceball mugimendua - + No Spaceball Present Ez dago Spaceballik @@ -1576,27 +1571,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Spaceballen botoiak - + No Spaceball Present Ez dago Spaceballik - + Buttons Botoiak - + Reset Berrezarri - + Print Reference Inprimaketa-erreferentzia @@ -1681,551 +1676,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Lehenetsia - + Aluminium Aluminioa - + Brass Letoia - + Bronze Brontzea - + Copper Kobrea - + Chrome Kromoa - + Emerald Esmeralda - + Gold Urrea - + Jade Jadea - + Metalized Metalizatua - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidiana - + Pewter Eztainua - + Plaster Igeltsua - + Plastic Plastikoa - + Ruby Errubia - + Satin Satinatua - + Shiny plastic Plastiko distiratsua - + Silver Zilarra - + Steel Altzairua - + Stone Harria Gui::Dialog::DlgEditorSettings - - - Editor - Editorea - - - - Options - Aukerak - - - - Code lines will be numbered - Kode-lerroak zenbakituta egongo dira - - - - Enable line numbers - Gaitu lerro-zenbakiak - - - - The cursor shape will be a block - Kurtsorearen forma bloke bat izango da - - - - Enable block cursor - Gaitu bloke-kurtsorea - - - - Enable folding - Gaitu tolesketa - - - - Indentation - Koska - - - - Tab size: - Tabulazioaren neurria: - - - - Tabulator raster (how many spaces) - Tabuladore rasterra (zenbat zuriune) - - - - Indent size: - Koskaren neurria: - - - - How many spaces will be inserted when pressing <Tab> - Zenbat zuriune txertatuko diren <Tab> sakatzean - - - - Pressing <Tab> will insert a tabulator with defined tab size - <Tab> sakatzen bada, definitutako tamaina duen tabuladore bat txertatuko da - - - - Keep tabs - Mantendu tabulazioak - - - - Pressing <Tab> will insert amount of defined indent size - <Tab> sakatzen bada, definitutako tamaina duen koskatze bat txertatuko da - - - - Insert spaces - Txertatu zuriuneak - - - - Display items - Bistaratu elementuak - - - - Color and font settings will be applied to selected type - Kolorea eta letra-ezarpenak hautatutako motari aplikatuko zaizkio - - - - Family: - Familia: - - - - Font family to be used for selected code type - Hautatutako kode motarako erabiliko den letra-familia - - - - Size: - Tamaina: - - - - Font size to be used for selected code type - Hautatutako kode motarako erabiliko den letra-tamaina - - - - Color: - Kolorea: - - - - Preview: - Aurrebista: - - - Gui::Dialog::DlgGeneral - - - General - Orokorra - - - - Language of the application's user interface - Aplikazioaren erabiltzaile-interfazearen hizkuntza - - - - Number format: - Zenbaki-formatua: - - - - Operating system - Sistema eragilea - - - - Selected language - Hautatutako hizkuntza - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Gaituta badago, zenbakizko teklatuaren dezimalen bereizlea -hizkuntza-ezarpenetako hizkuntzaren bereizlearekin -ordeztuko da, Python kontsolan eta makro-editorean salbu, -horietan beti puntu bat inprimatuko baita. - - - - Preference packs - Hobespen-paketeak - - - - Name - Izena - - - - Type - Mota - - - - Load - Kargatu - - - - Import config... - Inportatu konfigurazioa... - - - - Save new... - Gorde berria... - - - - Manage... - Kudeatu... - - - - Revert... - Leheneratu... - - - - How many files should be listed in recent files list - Zenbat fitxategi zerrendatuko diren azken aldiko fitxategien zerrendan - - - - Enable tiled background - Lauza moduko atzeko planoa gaitu - - - - The text cursor will be blinking - Testu-kurtsoreak keinu egingo du - - - - Enable cursor blinking - Gaitu kurtsore keinukaria - - - - Style sheet: - Estilo-orria: - - - - Language and number format - Hizkuntza eta zenbaki-formatua - - - - Language: - Hizkuntza: - - - - Unit system: - Unitate-sistema: - - - - Unit system that should be used for all parts of the application - Aplikazioko pieza guztietarako erabiliko den unitate-sistema - - - - Number of decimals: - Dezimal kopurua: - - - - Number of decimals that should be shown for numbers and dimensions - Zenbakietarako eta kotetarako erakutsiko den dezimal kopurua - - - - Minimum fractional inch: - Gutxienezko zatikizko hazbetea: - - - - Minimum fractional inch to be displayed - Bistaratuko den gutxieneko zatikizko hazbetea. - - - - Substitute decimal separator - Ordeztu dezimalen bereizlea - - - - Application - Aplikazioa - - - - Style sheet how user interface will look like - Erabiltzaile-interfazearen itxurarako erabiliko den estilo-orria - - - - Size of toolbar icons: - Tresna-barrako ikonoen tamaina: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Aukeratu zure hobespena tresna-barraren ikonoen tamainarako. -Zure pantaila-tamainaren edo gustu pertsonalen arabera doitu daiteke. - - - - Tree view mode: - Zuhaitz-bistaren modua: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Pertsonalizatu zuhaitz-bista panelean nola erakutsiko den (berrabiarazi behar da). - -'Bista konbinatua': konbinatu zuhaitz-bista eta propietate-bista panel bakarrean. -'Zuhaitz-bista eta propietate-bista': zatitu zuhaitz-bista eta propietate-bista panel bereizietan. -'Biak': mantendu hiru panelak, horrela zuhaitz-bistaren eta propietate-bistaren bi multzo eduki ditzakezu. - - - - Size of recent file list: - Azken fitxategien zerrendaren luzera: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Leiho nagusiaren atzeko planoa (dokumenturik irekita ez dagoenean) irudi berezi baten lauzak izango dira. -Ikusi FreeCADen wikia irudiari buruzko xehetasunak ezagutzeko. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Abioko pantaila FreeCAD abiarazten denean erakusten den -leiho txiki bat da. Aukera hau markatuta badago, FreeCADek -abioko pantaila erakutsiko du. - - - - Enable splash screen at start up - Gaitu abioko ongietorri-pantaila - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Kudeatu hobespen-paketeak - - - - Small (%1px) - Txikia (%1px) - - - - Medium (%1px) - Ertaina (%1px) - - - - Large (%1px) - Handia (%1px) - - - - Extra large (%1px) - Oso handia (%1px) - - - - Custom (%1px) - Pertsonalizatua (%1px) - - - - Combo View - Bista konbinatua - - - - TreeView and PropertyView - Zuhaitz-bista eta propietate-bista - - - - Both - Biak - - - - No style sheet - Estilo-orririk ez - - - - Preference Pack Name - Hobespen-paketearen izena - - - - Tags - Etiketak - - - - Apply - Aplikatu - - - - Apply the %1 preference pack - Aplikatu %1 hobespen-paketea - - - - Choose a FreeCAD config file to import - Aukeratu inportatuko den FreeCAD konfigurazio-fitxategia - - - - File exists - Fitxategi hori badago - - - - A preference pack with that name already exists. Overwrite? - Badago izen hori duen hobespen-pakete bat. Gainidatzi? - - Gui::Dialog::DlgInputDialog @@ -2241,8 +1808,8 @@ abioko pantaila erakutsiko du. Gui::Dialog::DlgInspector - - + + Scene Inspector Eszena-ikuskatzailea @@ -2334,71 +1901,71 @@ abioko pantaila erakutsiko du. Gui::Dialog::DlgMacroExecuteImp - + Macros Makroak - + Read-only Irakurtzeko soilik - + Macro file Makro-fitxategia - + Enter a file name, please: Sartu fitxategi-izena, mesedez: - - - + + + Existing file Lehendik dagoen fitxategia - + '%1'. This file already exists. '%1'. Fitxategi hau lehendik badago. - + Cannot create file Ezin da fitxategia sortu - + Creation of file '%1' failed. '%1' fitxategia ezin da sortu. - + Delete macro Ezabatu makroa - + Do you really want to delete the macro '%1'? Ziur zaude '%1' makroa ezabatu nahi duzula? - + Do not show again Ez erakutsi berriro - + Guided Walkthrough Bisita gidatua - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2409,78 +1976,78 @@ Oharra: Zure aldaketak aplikatzeko, lan-mahaiz aldatu behar duzu - + Walkthrough, dialog 1 of 2 Bisita gidatua, 2 esalditik 1. a - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Bisita gidatuaren jarraibideak: bete falta diren eremuak (aukerakoa), egin klik 'Gehitu' aukeran eta gero 'Itxi' aukeran - + Walkthrough, dialog 1 of 1 Bisita gidatua, 1 elkarrizketa-koadrotik 1. a - + Walkthrough, dialog 2 of 2 Bisita gidatua, 2 elkarrizketa-koadrotik 2. a - + Walkthrough instructions: Click right arrow button (->), then Close. Bisita gidatuaren jarraibideak: egin klik eskuin-gezian (->) eta Itxi. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Bisita gidatuaren jarraibideak: Egin klik 'Berria' aukeran, sakatu eskuin-gezia (->) eta Itxi. - + Renaming Macro File Makro-fitxategiaren izena aldatzen - - + + Enter new name: Sartu izen berria: - - + + '%1' already exists. '%1' badago lehendik. - + Rename Failed Izena aldatzeak huts egin du - + Failed to rename to '%1'. Perhaps a file permission error? Ezin izan da '%1' izenez aldatu. Fitxategi-baimenen arazo bat ote da? - + Duplicate Macro Bikoiztu makroa - + Duplicate Failed Bikoizketak huts egin du - + Failed to duplicate to '%1'. Perhaps a file permission error? Ezin izan da '%1' bikoiztu. @@ -2523,39 +2090,39 @@ Fitxategi-baimenen arazo bat ote da? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Makro-grabatzailea - + Specify first a place to save. Lehenengo, zehaztu non gorde. - + The macro directory doesn't exist. Please, choose another one. Makro-direktorioa ez da existitzen. Aukeratu beste bat. - + Existing macro Lehendik dagoen makroa - + The macro '%1' already exists. Do you want to overwrite? '%1' makroa badago lehendik. Gainidatzi nahi duzu? - + You have no write permission for the directory. Please, choose another one. Ez duzu baimenik direktorio honetan idazteko. Aukeratu beste bat. - + Choose macro directory Aukeratu makro-direktorioa @@ -2628,12 +2195,12 @@ Fitxategi-baimenen arazo bat ote da? HTML fitxategiak - + Access denied Sarbidea ukatuta - + Access denied to '%1' Specify another directory, please. @@ -3033,36 +2600,36 @@ Zehaztu beste direktorio, mesedez. Proiektuaren fitxategia - - + + Empty source Iturburua hutsik - - + + No source is defined. Ez da iturbururik definitu. - - + + Empty destination Helburua hutsik - - + + No destination is defined. Ez da helbururik definitu. - + Failed to extract project Huts egin du proiektua erauzteak - + Failed to create project Huts egin du proiektua sortzeak @@ -3112,188 +2679,6 @@ Zehaztu beste direktorio, mesedez. Gui::Dialog::DlgReportView - - - Report view - Txosten-bista - - - - Output - Irteera - - - - Normal messages will be recorded - Mezu normalak grabatuko dira - - - - Record normal messages - Grabatu mezu normalak - - - - Log messages will be recorded - Erregistroko mezuak grabatuko dira - - - - Record log messages - Grabatu egunkari-mezuak - - - - Warnings will be recorded - Abisuak grabatuko dira - - - - Record warnings - Grabatu abisuak - - - - Error messages will be recorded - Errore-mezuak grabatuko dira - - - - Record error messages - Grabatu errore-mezuak - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Errore bat gertatzen denean, txosten-bistaren elkarrizketa-koadroa agertuko da -pantailan errorea erakusten den bitartean - - - - Show report view on error - Erakutsi txosten-bista errorean - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Abisu bat gertatzen denean, txosten-bistaren elkarrizketa-koadroa agertuko da -pantailan abisua erakusten den bitartean - - - - Show report view on warning - Erakutsi txosten-bista abisuan - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Mezu normal bat gertatzen denean, txosten-bistaren elkarrizketa-koadroa agertuko da -pantailan mezua erakusten den bitartean - - - - Show report view on normal message - Erakutsi txosten-bista mezu normalean - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Egunkari-mezu bat gertatzen denean, txosten-bistaren elkarrizketa-koadroa agertuko da -pantailan egunkari-mezua erakusten den bitartean - - - - Show report view on log message - Erakutsi txosten-bista egunkari-mezuan - - - - Include a timecode for each report - Sartu denbora-kode bat txosten bakoitzerako - - - - Include a timecode for each entry - Sartu denbora-kode bat sarrera bakoitzerako - - - - Colors - Koloreak - - - - Normal messages: - Mezu normalak: - - - - Font color for normal messages in Report view panel - Txosten-bistaren paneleko mezu arrunten letraren kolorea - - - - Log messages: - Egunkari-mezuak: - - - - Font color for log messages in Report view panel - Txosten-bistaren paneleko erregistro-mezuen letraren kolorea - - - - Warnings: - Abisuak: - - - - Font color for warning messages in Report view panel - Txosten-bistaren paneleko abisu-mezuen letraren kolorea - - - - Errors: - Erroreak: - - - - Font color for error messages in Report view panel - Txosten ikuspegiaren paneleko errore-mezuen letraren kolorea - - - - Python interpreter - Python interpretatzailea - - - - Internal Python output will be redirected -from Python console to Report view panel - Pythonen barneko irteera Python kontsolatik -txosten-bistaren panelera birzuzenduko da - - - - Redirect internal Python output to report view - Birbideratu Pythoneko barne-irteerak txosten-bistara - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Pythonen barneko errore-mezuak Python kontsolatik -txosten-bistaren panelera birzuzenduko da - - - - Redirect internal Python errors to report view - Birbideratu Pythoneko barne-erroreak txosten-bistara - @@ -3320,7 +2705,7 @@ txosten-bistaren panelera birzuzenduko da Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Ez dago hautapenik elkarrizketa-koadroan, ezin da babeskopia-fitxategia kargatu @@ -3363,7 +2748,7 @@ txosten-bistaren panelera birzuzenduko da Laguntza - + Select a file Hautatu fitxategi bat @@ -3371,70 +2756,70 @@ txosten-bistaren panelera birzuzenduko da Gui::Dialog::DlgSettings3DView - + 3D View 3D bista - + General Orokorra - + Main coordinate system will always be shown in lower right corner within opened files Koordenatuen sistema nagusia fitxategi irekien barruko beheko eskuineko izkinan erakutsiko dira beti - + Show coordinate system in the corner Erakutsi koordenatu-sistema izkinan - + Relative size : Tamaina erlatiboa : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Koordenatu-sistema nagusiaren adierazpenaren tamaina izkinan -- leihatilaren altuera/zabaleraren ehunekoetan - + Axis cross will be shown by default at file opening or creation Ardatz-gurutzeak modu lehenetsian erakutsiko dira fitxategia irekitzean edo sortzean - + Show axis cross by default Erakutsi ardatz-gurutzea modu lehenetsian - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Azken eragiketarako behar izan den denbora eta sortutako fotograma-abiadura irekitako fitxategien beheko ezkerreko izkinan erakutsiko dira - + Show counter of frames per second Erakutsi fotogramak segundoko kontagailua - + Rendering Errendatzea - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3443,22 +2828,22 @@ Changing this option requires a restart of the application. Aukera hau aldatzeko, aplikazioa berrabiarazi behar da. - + Use software OpenGL Erabili softwareko OpenGLa - + Use OpenGL VBO (Vertex Buffer Object) Erabili OpenGL VBO (Vertex Buffer Object) - + Render cache Errendatze-cachea - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3482,7 +2867,7 @@ Gogoan izan ezarpen hori gaituta daukazula FreeCAD foroetan laguntza eske ari bazara. - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3499,92 +2884,92 @@ eta sartu cachean eszena-grafoaren erro-nodoa soilik. Horrek errendatze-abiadura azkarrena eskaintzen du, baina erantzun motelagoa eszena-aldaketetan. - + Auto Automatikoa - + Distributed Banatua - + Centralized Zentralizatua - + Anti-Aliasing Antialiasing-a - + What kind of multisample anti-aliasing is used Zein motatako lagin anitzeko antialiasing-a ari den erabiltzen - + None Bat ere ez - + Line Smoothing Lerroaren leuntzea - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Objektu gardenak: - + Render types of transparent objects Objektu gardenen errendatze motak - + One pass Pasaldi bat - + Backface pass Atzeko aurpegiko pasaldia - + Marker size: Markatzaile-tamaina: - - Size of vertices in the Sketcher workbench - Erpinen tamaina krokisgilearen lan-mahaian + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Begien arteko distantzia modu estereoetarako - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3593,48 +2978,48 @@ Zehaztutako balioa unean bistaratzen ari den 3D objektuaren muga-koadroaren tamainarekin biderkatuko den faktore bat da. - + Backlight is enabled with the defined color Atzeko argia definitutako kolorearekin gaituta dago - - + + Backlight color Atzeko argiaren kolorea - + Intensity Intentsitatea - + Intensity of the backlight Atzeko argiaren intentsitatea - + Camera type Kamera mota - + Objects will appear in a perspective projection Objektuak perspektibako proiekzio baten agertuko dira - + Perspective renderin&g &Perspektiba errendatzea - + Objects will be projected in orthographic projection Objektuak proiekzio ortografikoarekin proiektatuko dira - + Or&thographic rendering Errendatze or&tografikoa @@ -3646,42 +3031,42 @@ muga-koadroaren tamainarekin biderkatuko den faktore bat da. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Antialiasing-a - + Open a new viewer or restart %1 to apply anti-aliasing changes. Ireki ikustaile berri bat edo berrabiarazi %1 antialiasing-aldaketak aplikatzeko. @@ -3689,77 +3074,77 @@ muga-koadroaren tamainarekin biderkatuko den faktore bat da. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cachea - + Cache directory Cache-direktorioa - + Location: Kokapena: - + Check periodically at program start: Egiaztatu aldizka programaren abioan: - + Always Beti - + Daily Egunero - + Weekly Astero - + Monthly Hilero - + Yearly Urtero - + Never Inoiz ez - + Cache size limit: Cache-tamainaren muga: - + Check now... Egiaztatu orain... - + Notify the user if the cache size exceeds the specified limit Jakinarazi erabiltzaileari cache-tamainak gainditzen badu zehaztutako muga - + Unknown Ezezaguna - + Current cache size: %1 Cachearen uneko tamaina: %1 @@ -3920,12 +3305,12 @@ kolore-barraz aparte Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Parametro okerra - + The maximum value must be higher than the minimum value. Balio maximoak balio minimoak baino handiagoa izan behar du. @@ -3933,150 +3318,150 @@ kolore-barraz aparte Gui::Dialog::DlgSettingsDocument - + Document Dokumentua - + General Orokorra - + The application will create a new document when started Aplikazioak dokumentu berria sortuko du abiarazten denean - + Create new document at start up Sortu dokumentu berria abioan - + Document save compression level (0 = none, 9 = highest, 3 = default) Dokumentua gordetzeko konpresio maila (0 = zero, 9 = handiena, 3 = lehenetsia) - + Compression level for FCStd files FCStd fitxategien konpresio-maila - + All changes in documents are stored so that they can be undone/redone Dokumentuetako aldaketa guztiak gorde egiten dira eta ezin dira desegin/berregin - + Using Undo/Redo on documents Erabili desegin/berregin dokumentuetan - + Maximum Undo/Redo steps Desegin/berregin urrats kopuru maximoa - + How many Undo/Redo steps should be recorded Zenbat desegin/berregin urrats grabatuko diren - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Onartu erabiltzaileak dokumentuaren birkalkulua abortatzea ESC sakatuta. Egingide horrek birkalkuluaren denbora pixka bat handitu dezake. - + Allow aborting recomputation Onartu birkalkulua abortatzea - + Storage Biltegiratzea - + Saving transactions (Auto-save) Transakzioak gordetzen (gordetze automatikoa) - + Discard saved transaction after saving document Baztertu gordetako transakzioak dokumentua gorde ondoren - + If there is a recovery file available the application will automatically run a file recovery when it is started. Berreskuratze-fitxategi bat erabilgarri badago, aplikazioak automatikoki exekutatuko du berreskuratzea abioan. - + Run AutoRecovery at startup Exekutatu berreskuratze automatikoa abioan - + How often a recovery file is written Berreskurapen-fitxategia idazteko maiztasuna - + Save AutoRecovery information every Gorde berreskuratze automatikoaren informazioa aldiro - + A thumbnail will be stored when document is saved Miniatura bat biltegiratuko da dokumentua gordetzen denean - + Save thumbnail into project file when saving document Gorde miniatura proiektu-fitxategian, dokumentua gordetzean - + Size Tamaina - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Dokumentuan biltegiratzen den miniaturaren tamaina ezartzen du. Tamaina arruntenak 128, 256 eta 512 dira. - + The program logo will be added to the thumbnail Programaren logoa miniaturari erantsiko zaio - + Add the program logo to the generated thumbnail Gehitu programaren logoa sortutako miniaturari - + How many backup files will be kept when saving document Zenbat babeskopia-fitxategi gordeko diren dokumentua gordetzean - + Maximum number of backup files to keep when resaving document Dokumentua gordetzean mantenduko den babeskopia-fitxategien kopuru maximoa - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Babeskopiako fitxategiek '.FCbak' luzapena izango dute eta @@ -4084,32 +3469,32 @@ fitxategi-izenek dataren atzizkia izango dute, zehaztutako formatuaren arabera - + Use date and FCBak extension Erabili dataren eta FCBak hedapena - + Date format Data-formatua - + Document objects Dokumentu-objektuak - + Allow objects to have same label Onartu objektuek etiketa bera izan dezaten - + Allow duplicate object labels in one document Onartu objektu-etiketa bikoiztuak dokumentu batean - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4122,22 +3507,22 @@ Partzialki kargatutako dokumentu bat ezin da editatu. Egin klik bikoitza dokumentuaren ikonoan, zuhaitz-bistan, hura osorik kargatzeko. - + Disable partial loading of external linked objects Desgaitu kanpoko objektu estekatuen kargatzen partziala - + Authoring and License Egiletza eta lizentzia - + Author name Egilearen izena - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4146,32 +3531,32 @@ Utzi hutsik anonimotasuna bermatzeko. Honako forma ere erabili dezakezu: Jon Inor <jon@inor.com> - + The field 'Last modified by' will be set to specified author when saving the file 'Azken aldaketa' eremuan, zehaztutako egilea ezarriko da fitxategia gordetzean - + Set on save Ezarri gordetzean - + Company Enpresa - + Default company name to use for new files Fitxategi berrietarako erabiliko den enpresa-izen lehenetsia - + Default license Lizentzia lehenetsia - + Default license for new documents Dokumentu berrietarako lizentzia lehenetsia @@ -4241,12 +3626,12 @@ Honako forma ere erabili dezakezu: Jon Inor <jon@inor.com> Beste bat - + License URL Lizentziaren URLa - + URL describing more about the license Lizentziari buruzko deskribapen luzeagoa duen URLa @@ -4254,104 +3639,21 @@ Honako forma ere erabili dezakezu: Jon Inor <jon@inor.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Erabiliko den data-formatua. - + Default Lehenetsia - + Format Formatua - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Testua - - - - Bookmark - Laster-marka - - - - Breakpoint - Eten-puntua - - - - Keyword - Gako-hitza - - - - Comment - Iruzkina - - - - Block comment - Bloke-iruzkina - - - - Number - Zenbakia - - - - String - Katea - - - - Character - Karakterea - - - - Class name - Klase-izena - - - - Define name - Definizio-izena - - - - Operator - Eragilea - - - - Python output - Python irteera - - - - Python error - Python errorea - - - - Current line highlight - Uneko lerroaren nabarmentzea - - - - Items - Elementuak - - Gui::Dialog::DlgSettingsImage @@ -4532,122 +3834,122 @@ Honako forma ere erabili dezakezu: Jon Inor <jon@inor.com> Gui::Dialog::DlgSettingsMacro - + Macro Makroa - + General macro settings Makro-ezarpen orokorrak - + Variables defined by macros are created as local variables Makroek definitutako aldagaiak aldagai lokal modura sortzen dira - + Run macros in local environment Exekutatu makroak ingurune lokalean - + Macro recording settings Makroen grabazioaren ezarpenak - + Macro path Makroaren bidea - + The directory in which the application will search for macros Aplikazioak makroak bilatuko dituen direktorioa - + Gui commands GUI komandoak - + Recorded macros will also contain user interface commands Grabatutako makroek erabiltzaile-interfazeko komandoak ere edukiko dituzte - + Record GUI commands Grabatu EI komandoak - + Recorded macros will also contain user interface commands as comments Grabatutako makroek erabiltzaile-interfazeko komandoak ere edukiko dituzte iruzkin gisa - + Record as comment Grabatu iruzkin gisa - + Logging Commands Egunkariko komandoak - + Commands executed by macro scripts are shown in Python console Makro-scriptek exekutatutako komandoak Python kontsolan erakusten dira - + Show script commands in python console Erakutsi scriptaren komandoak Python kontsolan - + Log all commands issued by menus to file: Erregistratu menuek emandako komandoak fitxategian: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Azken makroen menua - + Size of recent macro list Azken makroen zerrendaren luzera - + How many macros should be listed in recent macros list Zenbat makro zerrendatuko diren azken aldiko makroen zerrendan - + Keyboard shortcut count Teklatu-lasterbideen zenbaketa - + How many recent macros should have shortcuts Azken aldeko zenbat makrok eduki behar dituzten lasterbideak - + Keyboard Modifiers Teklatuko aldatzaileak - + Keyboard modifiers, default = Ctrl+Shift+ Teklatuko aldatzaileak, lehenetsia = Ctrl+Shift+ @@ -4655,130 +3957,130 @@ Honako forma ere erabili dezakezu: Jon Inor <jon@inor.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Nabigazioa - + Navigation cube Nabigazio-kuboa - + Steps by turn Urratsak txandako - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Geziak erabiltzean txanda bakoitzeko izango den urrats kopurua (lehenetsia = 8 : urrats-angelua = 360/8 = 45 gradu) - + Corner Izkina - + Corner where navigation cube is shown Nabigazio-kuboa erakutsiko den izkina - + Top left Goian ezkerrean - + Top right Goian eskuinean - + Bottom left Behean ezkerrean - + Bottom right Behean eskuinean - + Rotates to nearest possible state when clicking a cube face Egoera posible hurbilenera biratzen du kuboaren aurpegi batean klik egitean - + Rotate to nearest Biratu hurbilenera - + Font name: Letra-tipoaren izena: - + Font name of the navigation cube Nabigazio-kuboaren letra-tipoaren izena - + Default Lehenetsia - + Cube size Kubo-tamaina - + Size of the navigation cube Nabigazio-kuboaren tamaina - + Color Kolorea - + Base color for all elements Elementu guztietarako oinarri-kolorea - + 3D Navigation 3D nabigazioa - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Zerrendatu saguaren botoien konfigurazioak hautatutako nabigazio-ezarpen bakoitzerako. Hautatu multzo bat eta sakatu botoia konfigurazioak ikusteko. - + Mouse... Sagua... - + Navigation settings set Nabigazio-ezarpenen multzoa - + Orbit style Orbita-estiloa - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4790,116 +4092,116 @@ Tornu askea: Pieza Z ardatzaren inguruan biratuko da. - + Turntable Tornua - + Trackball Trackball - + Free Turntable Tornu librea - + Rotation mode Biraketa modua - + Rotations in 3D will use current cursor position as center for rotation 3D moduko biraketek kurtsorearen uneko posizioa erabiliko dute biraketarako erdigune gisa - + Window center Leihoaren zentroa - + Drag at cursor Arrastatu kurtsorera - + Object center Objektuaren zentroa - + Default camera orientation Kameraren orientazio lehenetsia - + Default camera orientation when creating a new document or selecting the home view Kameraren orientazio lehenetsia dokumentu bat sortzean edo bista nagusia hautatzean - + Camera zoom Kamera-zooma - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Kameraren zooma ezartzen du dokumentu berrietarako. Balioa da pantailari doituko zaion esferaren diametroa. - + mm mm - + Enable animated rotations Gaitu biraketa animatuak - + Enable animation Gaitu animazioa - + Zoom operations will be performed at position of mouse pointer Zoom-eragiketak saguaren erakuslearen posizioan gauzatuko dira - + Zoom at cursor Zooma kurtsorean - + Zoom step Zoom-urratsa - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Zenbateko zooma egingo den. '1' mailako zoomak 7,5eko faktorea da zoom-maila bakoitzerako. - + Direction of zoom operations will be inverted Zoom-eragiketen norabidea alderantzikatu egingo da. - + Invert zoom Alderantzikatu zooma - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4908,57 +4210,67 @@ Keinu-nabigazioaren estiloari soilik eragiten dio. Ezarpen honek ez du desgaitzen sagu bidezko inklinazioa. - + Disable touchscreen tilt gesture Desgaitu ukimen-pantailaren inklinazio keinua - + + Show the rotation center when dragging. + Arrastatzean, erakutsi biraketa-zentroa. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Isometrikoa - + Dimetric Dimetrikoa - + Trimetric Trimetrikoa - + Top Goikoa - + Front Aurrekoa - + Left Ezkerrekoa - + Right Eskuinekoa - + Rear Atzekoa - + Bottom Azpikoa - + Custom Pertsonalizatua @@ -4966,44 +4278,44 @@ Ezarpen honek ez du desgaitzen sagu bidezko inklinazioa. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python kontsola - + Settings Ezarpenak - + Words will be wrapped when they exceed available horizontal space in Python console Hitzak egokitu egingo dira Python kontsolan dagoen espazioa baino gehiago behar dutenean - + Enable word wrap Gaitu testuaren egokitzea - + The cursor shape will be a block Kurtsorearen forma bloke bat izango da - + Enable block cursor Gaitu bloke-kurtsorea - + Saves Python history across sessions Python historia gordetzen du saio artean - + Save history Gorde historia @@ -5011,17 +4323,37 @@ espazioa baino gehiago behar dutenean Gui::Dialog::DlgSettingsSelection - + Selection Hautapena - + + Enable preselection, highlighted with specified color + Gaitu aurretiko hautapena, zehaztutako kolorearekin nabarmenduta + + + + Enable preselection + Gaitu aurrehautapena + + + + Enable selection, highlighted with specified color + Gaitu hautapena, zehaztutako kolorearekin nabarmenduta + + + + Enable selection + Gaitu hautapena + + + Pick radius (px): Aukeratu erradioa (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5030,27 +4362,27 @@ Balio handiagoak elementuak aukeratzea errazten du, baina elementu txikiak hauta - + Auto switch to the 3D view containing the selected item Automatikoki aldatu hautatutako elementua duen 3D bistara - + Auto expand tree item when the corresponding object is selected in 3D view Automatikoki hedatu zuhaitz-elementua hari dagokion objektua 3D bistan hautatuta dagoenean - + Preselect the object in 3D view when mouse over the tree item Aurretik hautatu objektua 3D bistan sagua zuhaitz-elementuaren gainean dagoenean - + Record selection in tree view in order to go back/forward using navigation button Grabatu zuhaitz-bistako hautapena aurrera/atzera egin ahal izateko nabigazio-botoia erabilita - + Add checkboxes for selection in document tree Gehitu hautapenerako kontrol-laukiak dokumentu-zuhaitzean @@ -5058,147 +4390,122 @@ Balio handiagoak elementuak aukeratzea errazten du, baina elementu txikiak hauta Gui::Dialog::DlgSettingsViewColor - + Colors Koloreak - - Selection - Hautapena - - - - Enable preselection and highlight by specified color - Gaitu aurretiko hautapena eta nabarmentzea zehaztutako kolorearen arabera - - - - Enable preselection highlighting - Gaitu nabarmentze bidezko aurretiko hautaketa - - - - Enable selection highlighting and use specified color - Gaitu hautapenaren nabarmentzea eta erabili zehaztutako kolorea - - - - Enable selection highlighting - Gaitu hautapenaren nabarmentzea - - - + Background color for the model view Eredu-bistaren atzeko planoaren kolorea - + Background color Atzeko planoaren kolorea - - + + Background will have selected color Atzeko planoak hautatutako kolorea izango du - + Simple color Kolore sinplea - - + + Background will have selected color gradient Atzeko planoak hautatutako kolore-gradientea izango du - + Linear gradient Gradiente lineala - + Radial gradient Gradiente erradiala - - + + Top: Goikoa: - - + + Middle: Erdikoa: - + Switches the colors of the gradient Gradientearen koloreak alderantzikatzen ditu - + Switch Alderantzikatu - + Color gradient will get selected color as middle color Kolore-gradienteak hautatutako kolorea erdiko kolore gisa izango du - + Middle color Erdiko kolorea - - + + Bottom: Behekoa: - + Tree view Zuhaitz-bista - + Object being edited Edizioan dagoen objektua - + Background color for objects in tree view that are currently edited Jadanik editatuta dauden zuhaitz-bistako objektuen atzeko planoaren kolorea - + Active container Edukiontzi aktiboa - + Background color for active containers in tree view Zuhaitz-bistako edukiontzi aktiboen atzeko planoaren kolorea - + Central: Zentrala: - + Midway: Erdibidekoa: - + End: Amaierakoa: @@ -5310,12 +4617,12 @@ Hobespen-sistema hobespen orokorretan ezarritakoa da. Gui::Dialog::DlgUnitsCalculator - + unknown unit: Unitate ezezaguna: - + unit mismatch unitateak ez datoz bat @@ -5323,7 +4630,7 @@ Hobespen-sistema hobespen orokorretan ezarritakoa da. Gui::Dialog::DockablePlacement - + Placement Kokapena @@ -5375,60 +4682,60 @@ The 'Status' column shows whether the document could be recovered. Oraindik ez da berreskuratu - + Unknown problem occurred Arazo ezezagun bat gertatu da - - + + Failed to recover Berreskuratzeak huts egin du - + Successfully recovered Ongi berreskuratu da - + Finish Amaitu - - + + Delete Ezabatu - - + + Cleanup Garbiketa - + Are you sure you want to delete the selected transient directories? Ziur zaude hautatutako aldi baterako direktorioak ezabatu nahi dituzula? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Hautatutako aldi baterako direktorioa ezabatzen baduzu, ezin izango dituzu fitxategiak berreskuratu geroago. - + Are you sure you want to delete all transient directories? Ziur zaude aldi baterako direktorio guztiak ezabatu nahi dituzula? - + When deleting all transient directories you won't be able to recover any files afterwards. Aldi baterako direktorio guztiak ezabatzen badituzu, ezin izango dituzu fitxategiak berreskuratu geroago. - + Transient directories deleted. Aldi baterako direktorioak ezabatu dira. @@ -5552,7 +4859,7 @@ The 'Status' column shows whether the document could be recovered. Ikono-karpetak - + Add icon folder Gehitu ikono-karpeta @@ -5565,12 +4872,12 @@ The 'Status' column shows whether the document could be recovered. Gehitu edo kendu ikono-karpeta pertsonalizatuak - + Remove folder Kendu karpeta - + Removing a folder only takes effect after an application restart. Karpeta bat kentzea indarrean sartzeko, aplikazioa berrabiarazi egin behar da. @@ -5640,79 +4947,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Hedatu - + Add sub-group Gehitu azpitaldea - - + + Remove group Kendu taldea - + Rename group Aldatu taldearen izena - + Export parameter Esportatu parametroa - + Import parameter Inportatu parametroa - + Collapse Tolestu - + Do you really want to remove this parameter group? Benetan parametro-talde hau kendu nahi duzu? - + Existing sub-group Lehendik dagoen azpitaldea - + The sub-group '%1' already exists. '%1' azpitaldea badago lehendik ere. - + Export parameter to file Esportatu parametroa fitxategira - + Import parameter from file Inportatu parametroa fitxategitik - + Import Error Inportazio-errorea - + Reading from '%1' failed. '%1' irakurtzeak huts egin du. @@ -5720,65 +5027,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Aldatu balioa - + Remove key Kendu gakoa - + Rename key Berrizendatu gakoa - + New Berria - + New string item Kate-elementu berria - + New float item Elementu mugikor berria - + New integer item Zenbaki osoko elementu berria - + New unsigned item Sinatu gabeko elementu berria - + New Boolean item Elementu boolear berria - - - - - + + + + + Existing item Lehendik dagoen elementua - - - - - + + + + + The item '%1' already exists. '%1' elementua badago lehendik ere. @@ -5924,17 +5231,17 @@ The 'Status' column shows whether the document could be recovered. Aplikatu - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Hautatu 1, 2 edo 3 puntu botoi hau sakatu baino lehen. Puntuak erpin batean, aurpegi batean edo ertz batean egon daitezke. Aurpegi edo ertz batean badago, erabiliko den puntua saguak aurpegian edo ertzean duen kokapenaren puntua izango da. Puntu bat hautatzen bada, biraketa-zentro gisa erabiliko da. Bi puntu hautatzen badira, bien arteko erdiko puntua izango da biraketa-zentroa eta ardatz pertsonalizatu berria sortuko da, beharrezkoa bada. Hiru puntu hautatzen badira, lehen puntua biraketa-zentroa izango da eta hiru puntuek definitutako planoarekiko normala den bektorean egongo da. Txosten-bistak distantziari eta angeluari buruzko informazioa ematen du. Informazio hori erabilgarria izan daiteke objektuak lerrokatzean. Shift + klik erabiltzen denean, distantzia edo angelu egokia arbelera kopiatuko da. - + Incorrect quantity Kantitate okerra - + There are input fields with incorrect input, please ensure valid placement values! Datu okerrak dituzten sarrera-eremuak daude, ziurtatu baliozko kokapen-balioak sartu dituzula! @@ -5942,12 +5249,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Botoia - + Command Komandoa @@ -6011,17 +5318,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Inventor zuhaitza - + Name Izena - + Nodes Nodoak @@ -6077,14 +5384,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Utzi - - + + Transform Transformatu @@ -6183,13 +5490,13 @@ hautatutako objektuekin - + Model Eredua - + Tasks Atazak @@ -6197,7 +5504,7 @@ hautatutako objektuekin Gui::DockWnd::PropertyDockView - + Property View Propietate-bista @@ -6205,82 +5512,82 @@ hautatutako objektuekin Gui::DockWnd::ReportOutput - + Options Aukerak - + Display message types Bistaratze-mezuen motak - - + + Normal messages Mezu normalak - - + + Log messages Egunkari-mezuak - - + + Warnings Abisuak - - + + Errors Erroreak - - + + Critical messages Mezu kritikoak - + Show Report view on Erakutsi txosten-bista honakoan - + Redirect Python output Birzuzendu Python irteera - + Redirect Python errors Birzuzendu Python erroreak - + Go to end Joan amaierara - + Clear Garbitu - + Save As... Gorde honela... - + Save Report Output Gorde txostenaren irteera - + Plain Text Files Testu lauko fitxategiak @@ -6289,13 +5596,13 @@ hautatutako objektuekin Gui::DockWnd::ReportView - + Output Irteera - + Python console Python kontsola @@ -6333,72 +5640,72 @@ hautatutako objektuekin Aukeratutako objektuen zerrenda - + Select only Hautatu soilik - + Selects only this object Objektu hau soilik hautatzen du - + Deselect Kendu hautapena - + Deselects this object Objektu hau desautatzen du - + Zoom fit Doitu zooma - + Selects and fits this object in the 3D window Objektu hau hautatzen du eta 3D leihora doitzen du - + Go to selection Joan hautapenera - + Selects and locates this object in the tree view Objektu hau hautatzen du eta zuhaitz-bistan aurkitzen du - + Mark to recompute Markatu birkalkulurako - + Mark this object to be recomputed Markatu objektu hau birkalkulatua izan dadin - + To python console Python kontsolara - + Reveals this object and its subelements in the python console. Objektu hau eta bere azpielementuak agerian uzten ditu Python kontsolan. - + Duplicate subshape Bikoiztu azpiforma - + Creates a standalone copy of this subshape in the document Azpiforma honen kopia autonomo bat sortzen du dokumentuan @@ -6411,7 +5718,7 @@ hautatutako objektuekin Aplikazioa - + Labels & Attributes Etiketak eta atributuak @@ -6460,27 +5767,27 @@ Aldaketak gorde nahi dituzu? PDF fitxategia - + untitled[*] titulurik gabea[*] - + - Editor - Editorea - + %1 chars removed %1 karaktere ezabatu dira - + %1 chars added %1 karaktere gehitu dira - + Formatted Formatuduna @@ -6504,13 +5811,13 @@ Aldaketak gorde nahi dituzu? Gui::FileChooser - - + + Select a file Hautatu fitxategi bat - + Select a directory Hautatu direktorio bat @@ -6518,13 +5825,13 @@ Aldaketak gorde nahi dituzu? Gui::FileDialog - + Save as Gorde honela - - + + Open Ireki @@ -6532,12 +5839,12 @@ Aldaketak gorde nahi dituzu? Gui::FileOptionsDialog - + Extended Hedatua - + All files (*.*) Fitxategi guztiak (*.*) @@ -6545,27 +5852,27 @@ Aldaketak gorde nahi dituzu? Gui::Flag - + Top left Goian ezkerrean - + Bottom left Behean ezkerrean - + Top right Goian eskuinean - + Bottom right Behean eskuinean - + Remove Kendu @@ -6573,22 +5880,22 @@ Aldaketak gorde nahi dituzu? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Kolpetxoa eman EDO egin klik saguaren ezkerreko botoian. - + Drag screen with two fingers OR press right mouse button. Arrastatu pantaila bi hatzekin EDO sakatu saguaren eskuineko botoia. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Arrastatu pantaila hatz batekin EDO sakatu saguaren ezkerreko botoia. Krokisgilean eta beste edizio modu batzuetan, mantendu Alt sakatuta. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Atximurkatu (ipini bi hatz pantailan eta arrastatu kanporantz edo barrurantz) EDO korritu saguaren erdiko botoia EDO PgUp/PgDown teklatuan. @@ -6596,74 +5903,74 @@ Aldaketak gorde nahi dituzu? Gui::GraphvizView - + Graphviz not found Graphviz ez da aurkitu - + Graphviz couldn't be found on your system. Graphviz ez da aurkitu zure sisteman. - + Read more about it here. Irakurri horri buruzko gehiago hemen. - + Do you want to specify its installation path if it's already installed? Bere instalazio-bidea zehaztu nahi duzu, dagoeneko instalatuta badago? - + Graphviz installation path Graphviz instalazio-bidea - + Graphviz failed Graphviz-ek huts egin du - + Graphviz failed to create an image file Graphviz-ek ezin izan du irudi-fitxategi bat sortu - + PNG format PNG formatua - + Bitmap format Bit-mapa formatua - + GIF format GIF formatua - + JPG format JPG formatua - + SVG format SVG formatua - - + + PDF format PDF formatua - - + + Export graph Esportatu grafikoa @@ -6671,12 +5978,12 @@ Aldaketak gorde nahi dituzu? Gui::InputField - + Edit Editatu - + Save value Gorde balioa @@ -6684,22 +5991,22 @@ Aldaketak gorde nahi dituzu? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Sakatu Ctrl eta saguaren ezkerreko botoia - + Press middle mouse button Sakatu saguaren erdiko botoia - + Press left mouse button Sakatu saguaren ezkerreko botoia - + Scroll middle mouse button Korritu saguaren erdiko botoia @@ -6707,7 +6014,7 @@ Aldaketak gorde nahi dituzu? Gui::LabelEditor - + List Zerrenda @@ -6715,66 +6022,66 @@ Aldaketak gorde nahi dituzu? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Erabiltzaileak definitutakoa... - + - - + + Wrong direction Norabide okerra - + - - + + Direction must not be the null vector Norabideak ezin du bektore nulua izan @@ -6782,22 +6089,22 @@ Aldaketak gorde nahi dituzu? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Norabidea: @@ -6805,17 +6112,17 @@ Aldaketak gorde nahi dituzu? Gui::MacroCommand - + Macros Makroak - + Macro file doesn't exist Makro-fitxategia ez da existitzen - + No such macro file: '%1' Ez dago makro fitxategi hori: '%1' @@ -6823,63 +6130,73 @@ Aldaketak gorde nahi dituzu? Gui::MainWindow - - + + Dimension Kota - + Ready Prest - + Help addon needed! Laguntza-gehigarria behar da. - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager %1(e)n laguntza-sistema "Laguntza" gehigarriaren bidez kudeatzen da. Gehigarrien kudeatzailearen bidez instalatu daiteke. - + Open Addon Manager Ireki gehigarrien kudeatzailea - + Close All Itxi dena - - + + Toggles this toolbar Tresna-barra hau aktibatzen/desaktibatzen du - - + + Toggles this dockable window Aktibatu/desaktibatu leiho atrakagarri hau - - + + WARNING: This is a development version. + ABISUA: Hau garapen-bertsioa da. + + + + Please do not use in a production environment. + Ez erabili hau ekoizpen-ingurune batean. + + + + Unsaved document Gorde gabeko dokumentua - + The exported object contains external link. Please save the documentat least once before exporting. Esportatutako objektuak kanpoko estekak ditu. Gorde dokumentua gutxienez behin hura esportatu baino lehen. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Kanpoko objektuekin estekatzeko, dokumentua gutxienez behin gorde behar da. @@ -6889,63 +6206,63 @@ Dokumentua gorde nahi al duzu? Gui::ManualAlignment - - - - - + + + + + Manual alignment Eskuzko lerrokatzea - + The alignment is already in progress. Lerrokatzea abian dago. - + Alignment[*] Lerrokatzea [*] - + Please, select at least one point in the left and the right view Hautatu gutxienez puntu bat ezkerreko eta eskuineko bistan - + Please, select at least %1 points in the left and the right view Hautatu gutxienez %1 puntu ezkerreko eta eskuineko bistan - + Please pick points in the left and right view Aukeratu ezkerreko zein eskuineko bistetako puntuak - + The alignment has finished Lerrokatzea amaitu da - + The alignment has been canceled Lerrokatzea bertan behera utzi da - - + + Too few points picked in the left view. At least %1 points are needed. Puntu gutxiegi aukeratu dira ezkerreko bistan. Gutxienez %1 puntu behar dira. - - + + Too few points picked in the right view. At least %1 points are needed. Puntu gutxiegi aukeratu dira eskuineko bistan. Gutxienez %1 puntu behar dira. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6954,59 +6271,59 @@ Ezkerreko bistan %1 puntu aukeratu dira, eskuineko bistan %2 puntu aukeratu dira. - + Try to align group of views Saiatu bista-taldea lerrokatzen - + The alignment failed. How do you want to proceed? Lerrokatzeak huts egin du. Nola jarraitu nahi duzu? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Puntu kopuru desberdina aukeratu da ezkerreko eta eskuineko bistetan. Ezkerreko bistan %1 puntu aukeratu dira, eskuineko bistan %2 puntu aukeratu dira. - + Point_%1 Puntua_%1 - + Point picked at (%1,%2,%3) Puntu hautatua (%1,%2,%3) - + No point was found on model Ez da punturik aurkitu ereduan - + No point was picked Ez da punturik aukeratu - + &Align &Lerrokatu - + &Remove last point &Kendu azken puntua - + &Cancel &Utzi - + &Synchronize views &Sinkronizatu bistak @@ -7014,22 +6331,22 @@ Nola jarraitu nahi duzu? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Kolpetxoa eman EDO egin klik saguaren ezkerreko botoian. - + Drag screen with two fingers OR press ALT + middle mouse button. Arrastatu pantaila bi hatzekin EDO sakatu Alt + saguaren erdiko botoia. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Arrastatu pantaila hatz batekin EDO sakatu Alt + saguaren ezkerreko botoia. Krokisgilean eta beste edizio modu batzuetan, mantendu Alt sakatuta. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Atximurkatu (ipini bi hatz pantailan eta arrastatu kanporantz edo barrurantz) EDO korritu saguaren erdiko botoia EDO sakatu Alt + saguaren eskuineko botoia EDO PgUp/PgDown teklatuan. @@ -7037,7 +6354,7 @@ Nola jarraitu nahi duzu? Gui::ModifierLineEdit - + Press modifier keys Sakatu tekla aldatzaileak @@ -7053,22 +6370,22 @@ Nola jarraitu nahi duzu? Gui::OpenCascadeNavigationStyle - + Press left mouse button Sakatu saguaren ezkerreko botoia - + Press CTRL and middle mouse button Sakatu Ctrl eta saguaren erdiko botoia - + Press CTRL and right mouse button Sakatu Ctrl eta saguaren eskuineko botoia - + Press CTRL and left mouse button Sakatu Ctrl eta saguaren ezkerreko botoia @@ -7076,22 +6393,22 @@ Nola jarraitu nahi duzu? Gui::OpenSCADNavigationStyle - + Press left mouse button Sakatu saguaren ezkerreko botoia - + Press right mouse button and move mouse Sakatu saguaren eskuineko botoia eta mugitu sagua - + Press left mouse button and move mouse Sakatu saguaren ezkerreko botoia eta mugitu sagua - + Press middle mouse button or SHIFT and right mouse button Sakatu saguaren erdiko botoia edo ⇧ eta saguaren eskuineko botoia @@ -7099,17 +6416,17 @@ Nola jarraitu nahi duzu? Gui::PrefQuantitySpinBox - + Edit Editatu - + Save value Gorde balioa - + Clear list Garbitu zerrenda @@ -7140,12 +6457,12 @@ Nola jarraitu nahi duzu? Falta da: %1 - + Aborting Abortatzen - + Do you really want to abort the operation? Benetan eragiketa bertan behera utzi nahi duzu? @@ -7153,7 +6470,7 @@ Nola jarraitu nahi duzu? Gui::PropertyEditor::LinkLabel - + Change the linked object Aldatu estekatutako objektua @@ -7161,12 +6478,12 @@ Nola jarraitu nahi duzu? Gui::PropertyEditor::LinkSelection - + Error Errorea - + Object not found Ez da objektua aurkitu @@ -7237,13 +6554,13 @@ Nola jarraitu nahi duzu? Gui::PropertyView - + View Bista - + Data Datuak @@ -7291,77 +6608,77 @@ Datuak gorde gabe irten nahi duzu? Kudeatu gabeko C++ salbuespena. - + &Copy &Kopiatu - + &Copy command &Kopiatu komandoa - + &Copy history Kopiatu &historia - + Save history as... Gorde historia honela... - + Save history Gorde historia - + Saves Python history across %1 sessions Python historia gordetzen du %1 saio artean - + &Paste &Itsatsi - + Select All Hautatu dena - + Clear console Garbitu kontsola - + Insert file name... Txertatu fitxategi-izena... - + Word wrap Testuaren egokitzea - + Save History Gorde historia - + Macro Files Makro-fitxategiak - + Insert file name Txertatu fitxategi-izena - + All Files Fitxategi guztiak @@ -7369,7 +6686,7 @@ Datuak gorde gabe irten nahi duzu? Gui::PythonEditor - + Comment Iruzkina @@ -7382,17 +6699,17 @@ Datuak gorde gabe irten nahi duzu? Gui::RecentFilesAction - + Open file %1 Ireki %1 fitxategia - + File not found Fitxategia ez da aurkitu - + The file '%1' cannot be opened. '%1' fitxategia ezin da ireki. @@ -7400,22 +6717,22 @@ Datuak gorde gabe irten nahi duzu? Gui::RecentMacrosAction - + none bat ere ez - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Exekutatu %1 makroa (Shift+klik editatzeko), teklatu-lasterbidea: %2 - + File not found Fitxategia ez da aurkitu - + The file '%1' cannot be opened. '%1' fitxategia ezin da ireki. @@ -7423,22 +6740,22 @@ Datuak gorde gabe irten nahi duzu? Gui::RevitNavigationStyle - + Press left mouse button Sakatu saguaren ezkerreko botoia - + Press middle mouse button Sakatu saguaren erdiko botoia - + Press SHIFT and middle mouse button - Sakatu SHIFT eta xaguaren erdiko botoia + Sakatu Shift eta saguaren erdiko botoia - + Scroll middle mouse button Korritu saguaren erdiko botoia @@ -7469,17 +6786,17 @@ Datuak gorde gabe irten nahi duzu? Gui::SelectModule - + Select module Hautatu modulua - + Open %1 as Ireki %1 honela: - + Select Hautatu @@ -7548,13 +6865,13 @@ Beste direktorio bat aukeratu nahi al duzu? Gui::StdCmdPythonHelp - + Automatic python modules documentation Python moduluen dokumentazio automatikoa - - + + Opens a browser to show the Python modules documentation Nabigatzaile bat irekitzen du Python moduluen dokumentazioa erakusteko @@ -7707,38 +7024,38 @@ Beste direktorio bat aukeratu nahi al duzu? Gui::TextDocumentEditorView - + Text updated Testua eguneratu da - + The text of the underlying object has changed. Discard changes and reload the text from the object? Azpiko objektuaren testua aldatu egin da. Aldaketak baztertu eta testua objektutik birkargatu? - + Yes, reload. Bai, birkargatu. - + Unsaved document Gorde gabeko dokumentua - + Do you want to save your changes before closing? Zure aldaketak gorde nahi dituzu aplikazioa itxi baino lehen? - + If you don't save, your changes will be lost. Gordetzen ez baduzu, zure aldaketak galdu egingo dira. - - + + Edit text Editatu testua @@ -7746,22 +7063,22 @@ Beste direktorio bat aukeratu nahi al duzu? Gui::TinkerCADNavigationStyle - + Press left mouse button Sakatu saguaren ezkerreko botoia - + Press middle mouse button Sakatu saguaren erdiko botoia - + Press right mouse button Sakatu saguaren eskuineko botoia - + Scroll middle mouse button Korritu saguaren erdiko botoia @@ -7769,22 +7086,22 @@ Beste direktorio bat aukeratu nahi al duzu? Gui::TouchpadNavigationStyle - + Press left mouse button Sakatu saguaren ezkerreko botoia - + Press SHIFT button Sakatu Shift botoia - + Press ALT button Sakatu Alt botoia - + Press CTRL and SHIFT buttons Sakatu Ctrl eta Shift botoiak @@ -8010,7 +7327,7 @@ Beste direktorio bat aukeratu nahi al duzu? Gui::TreeDockWidget - + Tree view Zuhaitz-bista @@ -8018,7 +7335,7 @@ Beste direktorio bat aukeratu nahi al duzu? Gui::TreePanel - + Search Bilatu @@ -8026,183 +7343,183 @@ Beste direktorio bat aukeratu nahi al duzu? Gui::TreeWidget - + Search... Bilatu... - + Search for objects Bilatu objektuak - + Activate document Aktibatu dokumentua - + Activate document %1 Aktibatu %1 dokumentua - + Tree settings Zuhaitz-ezarpenak - + Show description column Erakutsi deskribapen-zutabea - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Erakutsi zutabe gehigarria zuhaitz-bistan elementuen deskribapenerako. Deskribapena ezartzeko, sakatu F2 (edo SEaren edizio-botoia) edo editatu 'label2' propietatea. - + Group Taldea - + Labels & Attributes Etiketak eta atributuak - + Description Deskribapena - + Show items hidden in tree view Erakutsi zuhaitz-bistan ezkutatutako elementuak - + Show items that are marked as 'hidden' in the tree view Erakutsi zuhaitz-bistan "ezkutuan" markatuta dauden elementuak - + Toggle visibility in tree view Aldatu ikuspena zuhaitz-bistan - + Toggles the visibility of selected items in the tree view Aukeratutako elementuen ikuspena zuhaitz-bistan aldatzen du - + Create group... Sortu taldea... - + Create a group Sortu talde bat - - + + Rename Aldatu izena - + Rename object Aldatu objektuaren izena - + Finish editing Amaitu edizioa - + Finish editing object Amaitu objektuaren edizioa - + Add dependent objects to selection Gehitu mendeko objektuak hautapenari - + Adds all dependent objects to the selection Mendeko objektu guztiak hautapenari gehitzen dizkio - + Close document Itxi dokumentua - + Close the document Itxi dokumentua - + Reload document Birkargatu dokumentua - + Reload a partially loaded document Birkargatu partzialki kargatutako dokumentu bat - + Skip recomputes Saltatu birkalkuluak - + Enable or disable recomputations of document Gaitu edo desgaitu dokumentuaren birkalkuluak - + Allow partial recomputes Onartu birkalkulu partzialak - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Gaitu edo desgaitu objektuaren edizioa birkalkulatzea 'Saltatu birkalkulua' gaituta dagoenean - + Mark to recompute Markatu birkalkulurako - + Mark this object to be recomputed Markatu objektu hau birkalkulatua izan dadin - + Recompute object Birkalkulatu objektua - + Recompute the selected object Birkalkulatu hautatutako objektua - + (but must be executed) (baina exekutatu behar da) - + %1, Internal name: %2 %1, barne-izena: %2 @@ -8233,12 +7550,12 @@ Beste direktorio bat aukeratu nahi al duzu? PDF fitxategia - + Opening file failed Fitxategia irekitzeak huts egin du - + Can't open file '%1' for writing. Ezin da '%1' fitxategia ireki hura idazteko. @@ -8246,7 +7563,7 @@ Beste direktorio bat aukeratu nahi al duzu? Gui::WorkbenchGroup - + Select the '%1' workbench Hautatu '%1' lan-mahaia @@ -8254,37 +7571,37 @@ Beste direktorio bat aukeratu nahi al duzu? MAC_APPLICATION_MENU - + Services Zerbitzuak - + Hide %1 Eskutatu %1 - + Hide Others Ezkutatu besteak - + Show All Erakutsi dena - + Preferences... Hobespenak... - + Quit %1 Irten %1 - + About %1 %1(r)i buruz @@ -8304,11 +7621,6 @@ Beste direktorio bat aukeratu nahi al duzu? Position - - - Form - Inprimakia - X: @@ -8403,14 +7715,14 @@ Beste direktorio bat aukeratu nahi al duzu? PropertyListDialog - - + + Invalid input Baliogabeko sarrera - - + + Input in line %1 is not a number %1 lerroko sarrera ez da zenbaki bat @@ -8418,37 +7730,37 @@ Beste direktorio bat aukeratu nahi al duzu? QDockWidget - + Tree view Zuhaitz-bista - + Property view Propietateen bista - + Selection view Hautapen-bista - + Combo View Bista konbinatua - + DAG View DAG bista - + Report view Txosten-bista - + Python console Python kontsola @@ -8461,31 +7773,32 @@ Beste direktorio bat aukeratu nahi al duzu? QObject - - + + General Orokorra - - + + + Display Bistaratzea - + Workbenches Lan-mahaiak - - - + + + Python Python @@ -8513,17 +7826,27 @@ Beste direktorio bat aukeratu nahi al duzu? Ezin da gorde fitxategi mota ezezagunera: %1 - + Workbench failure Lan-mahaiaren hutsegitea - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Salbuespena @@ -8569,8 +7892,8 @@ Beste direktorio bat aukeratu nahi al duzu? PDFa esportatzen... - + Unsaved document Gorde gabeko dokumentua @@ -8591,39 +7914,39 @@ Beste direktorio bat aukeratu nahi al duzu? Mendekotasun-errorea - + Copy selected Kopiatu hautatua - + Copy active document Kopiatu dokumentu aktiboa - + Copy all documents Kopiatu dokumentu guztiak - + Paste Itsatsi - + Expression error Adierazpen-errorea - + Failed to parse some of the expressions. Please check the Report View for more details. Adierazpenetako batzuk ezin izan dira analizatu. Begiratu txosten-bista xehetasun gehiagorako. - + Failed to paste expressions Adierazpenak itsasteak huts egin du @@ -8659,225 +7982,225 @@ Be aware the point where you click matters. Kontuan izan garrantzitsua dela klik non egiten duzun. - - + + Save views... Gorde bistak... - - + + Load views... Kargatu bistak... - - + + Freeze view Izoztu bista - - + + Clear views Garbitu bistak - - - + + + Restore view &%1 Leheneratu &%1 bista - + Save frozen views Gorde izoztutako bistak - - + + Frozen views Izoztutako bistak - - + + Restore views Berrezarri bistak - + Importing the restored views would clear the already stored views. Do you want to continue? Berreskuratutako bistak inportatzean, lehendik gordeta dauden bistan garbituko dira. Jarraitu nahi duzu? - + Restore frozen views Berrezarri izoztutako bistak - + Cannot open file '%1'. Ezin da '%1' fitxategia ireki. - + files fitxategiak - + Save image Gorde irudia - + Choose an image file to open Aukeratu irekiko den irudi-fitxategia - + New sub-group Azpitalde berria - - - - - - + + + + + + Enter the name: Sartu izena: - - + + New text item Testu-elementu berria - - + + Enter your text: Sartu zure testua: - - + + New integer item Zenbaki osoko elementu berria - - - - - - + + + + + + Enter your number: Sartu zure zenbakia: - - + + New unsigned item Sinatu gabeko elementu berria - - + + New float item Elementu mugikor berria - + New Boolean item Elementu boolear berria - - + + Choose an item: Hautatu elementu bat: - + New boolean item Elementu boolear berria - + Rename group Aldatu taldearen izena - + The group '%1' cannot be renamed. '%1' taldea ezin da berrizendatu. - + Existing group Lehendik dagoen taldea - + The group '%1' already exists. '%1' taldea badago lehendik ere. - - - - - + + + + + Change value Aldatu balioa - + Type Mota - + Notifier Jakinarazlea - + Message Mezua - + Notifier: Jakinarazlea: - + Do you want to skip confirmation of further critical message notifications while loading the file? Beste mezu kritiko batzuen jakinarazpenen berrespena saltatu fitxategia kargatzean? - + Critical Message Mezu kritikoa - + Too many opened non-intrusive notifications. Notifications are being omitted! Jakinarazpen ez intrusibo gehiegi dago irekita. Jakinarazpenei ez ikusiarena egiten ari zaie. - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8886,44 +8209,44 @@ Jarraitu nahi duzu? - + Are you sure you want to continue? Ziur zaude jarraitu nahi duzula? - + Please check report view for more... Begiratu txosten-bista gehiagorako... - + Physical path: Bide-izen fisikoa: - - + + Document: Dokumentua: - - + + Path: Bidea: - + Identical physical path Bide-izen fisiko berdina - + Could not save document Ezin da dokumentua gorde - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8936,102 +8259,102 @@ Would you like to save the file with a different name? Fitxategia beste izen batekin gorde nahi al duzu? - - - + + + Saving aborted Gordetzea abortatu da - + Save dependent files Gorde mendeko fitxategiak - + The file contains external dependencies. Do you want to save the dependent files, too? Fitxategiak kanpoko mendekotasunak ditu. Mendeko fitxategiak ere gorde nahi al dituzu? - - + + Saving document failed Dokumentua ezin izan da gorde - + Save document under new filename... Gorde dokumentua beste fitxategi-izen batekin... - - + + Save %1 Document Gorde %1 dokumentua - + Document Dokumentua - - + + Failed to save document Dokumentua gordetzeak huts egin du - + Documents contains cyclic dependencies. Do you still want to save them? Dokumentuek mendekotasun ziklikoak dituzte. Gorde nahi dituzu ala ere? - + Save a copy of the document under new filename... Gorde dokumentuaren kopia bat fitxategi-izen berri batekin... - + %1 document (*.FCStd) %1 dokumentua (*.FCStd) - + Document not closable Dokumentua ezin da itxi - + The document is not closable for the moment. Dokumentua ezin da momentuz itxi. - + Document not saved Dokumentua ez da gorde - + The document%1 could not be saved. Do you want to cancel closing it? %1 dokumentua ezin izan da gorde. Hura ixtea bertan behera utzi nahi duzu? - + Undo Desegin - + Redo Berregin - + There are grouped transactions in the following documents with other preceding transactions Transakzio taldekatuak daude aurretiko beste transakzio batzuk dituzten hurrengo dokumentuetan - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9045,47 +8368,47 @@ Aukeratu 'Abortatu' abortatzeko. Gorde makroa - - + + Finish Amaitu - - + + Clear Garbitu - - - + + + Cancel Utzi - + Inner Barnekoa - + Outer Kanpokoa - + Split Zatitu - - + + No Browser Nabigatzailerik ez - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9094,48 +8417,48 @@ Please open a browser window and type in: http://localhost:%1. Mesedez, ireki nabigatzaile-leiho bat eta idatzi: http://localhost:%1. - + No Server Zerbitzaririk ez - + Unable to start the server to port %1: %2. Ezin izan da zerbitzaria abiarazi %1 atakan: %2. - + Unable to open your system browser. Ezin izan da zure sistemaren nabigatzailea ireki. - + Options... Aukerak... - + Out of memory Memoria gutxiegi - + Not enough memory available to display the data. Ez dago nahiko memoriarik datuak bistaratzeko. - - + + Cannot find file %1 Ezin da %1 fitxategia aurkitu - + Cannot find file %1 neither in %2 nor in %3 Ez da %1 fitxategia aurkitu ez %2 ez %3 tokietan - + Navigation styles Nabigazio-estiloak @@ -9145,8 +8468,8 @@ Mesedez, ireki nabigatzaile-leiho bat eta idatzi: http://localhost:%1.Mugitu oharpena - - + + Transform Transformatu @@ -9156,42 +8479,42 @@ Mesedez, ireki nabigatzaile-leiho bat eta idatzi: http://localhost:%1.Elkarrizketa-koadro hau itxi nahi duzu? - + Do you want to save your changes to document '%1' before closing? '%1' dokumentuko aldaketak gorde nahi dituzu aplikazioa itxi baino lehen? - + Do you want to save your changes to document before closing? Dokumentuko aldaketak gorde nahi dituzu aplikazioa itxi baino lehen? - + If you don't save, your changes will be lost. Gordetzen ez baduzu, zure aldaketak galdu egingo dira. - + Apply answer to all Aplikatu erantzuna denei - + %1 Document(s) not saved %1 dokumentu ez dira gorde - + Some documents could not be saved. Do you want to cancel closing? Zenbait dokumentu ezin izan dira gorde. Ixtea bertan behera utzi nahi duzu? - + Delete macro Ezabatu makroa - + Not allowed to delete system-wide macros Ezin dira ezabatu sistemako makroak @@ -9201,27 +8524,27 @@ Mesedez, ireki nabigatzaile-leiho bat eta idatzi: http://localhost:%1.Jatorria - + Delete group content? Ezabatu talde-edukia? - + The %1 is not empty, delete its content as well? %1 ez dago hutsik, bere edukiak ere ezabatu nahi dituzu? - + Translation: Translazioa: - + Rotation: Biraketa: - + Toggle active part Txandakatu pieza aktiboa @@ -9284,88 +8607,88 @@ Mesedez, ireki nabigatzaile-leiho bat eta idatzi: http://localhost:%1.Esteka guztiak inportatzeak huts egin du - - + + Invalid name Izen baliogabea - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Propietatearen edo taldearen izenek ikur alfanumerikoak eta azpimarrak soilik eduki ditzakete eta ez dira digitu batekin hasi behar. - + The property '%1' already exists in '%2' '%1' propietatea badago '%2' objektuan - + Add property Gehitu propietatea - + Failed to add property to '%1': %2 Huts egin du '%1' objektuari propietatea gehitzeak: %2 - - + + Drag & drop failed Arrastatu eta jaregiteak huts egin du - + Setup configurable object Konfiguratu objektu konfiguragarria - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Hautatu zein objektu kopiatu edo baztertuko den konfigurazioa aldatzen denean. Estekatutako kanpoko objektu guztiak baztertu egingo dira modu lehenetsian. - + Please select which objects to copy when the configuration is changed Hautatu zein objektu kopiatuko diren konfigurazioa aldatzen denean - + Apply to all Aplikatu guztiei - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Aplikatu ezarpenak esteka guztiei. Edo, kendu marka aukera honi esteka honi soilik aplikatzeko. - + Copy on change Kopiatu aldatzean - + Enable Gaitu - + Enable auto copy of linked object when its configuration is changed Gaitu estekatutako objektuaren kopiatze automatikoa bere konfigurazioa aldatzen denean - + Tracking Jarraipena - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9373,17 +8696,17 @@ Also auto redo the copy if the original linked object is changed. Berregin automatikoki kopia estekatutako jatorrizko objektua aldatzen bada. - + Disable copy on change Desgaitu aldaketa dagoenean kopiatzea - + Refresh configurable object Freskatu objektu konfiguragarria - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9393,28 +8716,28 @@ kopia sakon berri bat sortuz. Kontuan izan uneko kopiari egindako aldaketak galdu egingo direla. - + Toggle array elements Txandakatu matrize-elementuak - + Change whether show each link array element as individual objects Aldatu esteka-matrize elementu bakoitza banakako objektu gisa erakutsiko den - + Transform at the origin of the placement Transformazioa kokapenaren jatorrian - - + + Override colors... Gainidatzi koloreak... - + Edit %1 Editatu %1 @@ -9437,12 +8760,12 @@ egindako aldaketak galdu egingo direla. SelectionFilter - + Not allowed: Ez dago onartuta: - + Selection not allowed by filter Iragazkiak ez du hautapena onartzen @@ -9450,9 +8773,9 @@ egindako aldaketak galdu egingo direla. StdBoxElementSelection - - - + + + Box element selection Kutxa-elementuaren hautapena @@ -9460,13 +8783,13 @@ egindako aldaketak galdu egingo direla. StdBoxSelection - + Box selection Kutxa bidezko hautapena - - + + Activate the box selection tool Aktibatu kutxa-hautapenaren tresna @@ -9544,13 +8867,13 @@ egindako aldaketak galdu egingo direla. StdCmdAxisCross - + Toggle axis cross Aktibatu/desaktibatu ardatz-gurutzea - - + + Turns on or off the axis cross at the origin Jatorriaren ardatz-gurutzea aktibatzen edo desaktibatzen du @@ -9656,13 +8979,13 @@ egindako aldaketak galdu egingo direla. StdCmdDemoMode - + View turntable... Ikusi tornua... - - + + View turntable Ikusi tornua @@ -9782,13 +9105,13 @@ egindako aldaketak galdu egingo direla. StdCmdDrawStyle - + Draw style Marrazte-estiloa - - + + Change the draw style of the objects Aldatu objektuen marrazte-estiloa @@ -9852,13 +9175,13 @@ egindako aldaketak galdu egingo direla. StdCmdExpression - + Expression actions Adierazpen-ekintzak - - + + Actions that apply to expressions Adierazpenei aplikatzen zaizkien ekintzak @@ -9975,13 +9298,13 @@ egindako aldaketak galdu egingo direla. StdCmdFreezeViews - + Freeze display Izoztu bistaratzea - - + + Freezes the current view position Uneko bistaren posizioa izozten du @@ -10002,13 +9325,13 @@ egindako aldaketak galdu egingo direla. StdCmdHideObjects - + Hide all objects Ezkutatu objektu guztiak - - + + Hide all objects in the document Ezkutatu dokumentuko objektu guztiak @@ -10016,13 +9339,13 @@ egindako aldaketak galdu egingo direla. StdCmdHideSelection - + Hide selection Ezkutatu hautapena - - + + Hide all selected objects Ezkutatu hautatutako objektu guztiak @@ -10296,13 +9619,13 @@ egindako aldaketak galdu egingo direla. StdCmdMeasureDistance - + Measure distance Neurtu distantzia - - + + Activate the distance measurement tool Aktibatu distantzia neurtzeko tresna @@ -10361,8 +9684,8 @@ egindako aldaketak galdu egingo direla. Sortu dokumentu huts berri bat - - + + Unnamed Izenik gabea @@ -10590,8 +9913,8 @@ egindako aldaketak galdu egingo direla. StdCmdRecentFiles - Recent files - Azken fitxategiak + Open Recent + Ireki azken aldikoa @@ -10729,13 +10052,13 @@ egindako aldaketak galdu egingo direla. StdCmdSceneInspector - + Scene inspector... Eszena-ikuskatzailea... - - + + Scene inspector Eszena-ikuskatzailea @@ -10743,13 +10066,13 @@ egindako aldaketak galdu egingo direla. StdCmdSelBack - + &Back A&tzera - - + + Go back to previous selection Joan aurreko hautapenera @@ -10757,13 +10080,13 @@ egindako aldaketak galdu egingo direla. StdCmdSelBoundingBox - + &Bounding box &Muga-kutxa - - + + Show selection bounding box Erakutsi hautapenaren muga-kutxa @@ -10771,13 +10094,13 @@ egindako aldaketak galdu egingo direla. StdCmdSelForward - + &Forward A&urrera - - + + Repeat the backed selection Errepikatu aurreko hautapena @@ -10799,13 +10122,13 @@ egindako aldaketak galdu egingo direla. StdCmdSelectVisibleObjects - + Select visible objects Hautatu objektu ikusgaiak - - + + Select visible objects in the active document Hautatu dokumentu aktiboko objektu ikusgaiak @@ -10827,13 +10150,13 @@ egindako aldaketak galdu egingo direla. StdCmdSetAppearance - + Appearance... Itxura... - - + + Sets the display properties of the selected object Hautatutako objektuaren bistaratze-propietateak ezartzen ditu @@ -10841,13 +10164,13 @@ egindako aldaketak galdu egingo direla. StdCmdShowObjects - + Show all objects Erakutsi objektu guztiak - - + + Show all objects in the document Erakutsi dokumentuko objektu guztiak @@ -10855,13 +10178,13 @@ egindako aldaketak galdu egingo direla. StdCmdShowSelection - + Show selection Erakutsi hautapena - - + + Show all selected objects Erakutsi hautatutako objektu guztiak @@ -10897,13 +10220,13 @@ egindako aldaketak galdu egingo direla. StdCmdTextureMapping - + Texture mapping... Testuraren mapatzea... - - + + Texture mapping Testuraren mapatzea @@ -10939,13 +10262,13 @@ egindako aldaketak galdu egingo direla. StdCmdToggleClipPlane - + Clipping plane Ebaketa-planoa - - + + Toggles clipping plane for active view Bista aktiboaren ebaketa-planoa txandakatzen du @@ -10953,13 +10276,13 @@ egindako aldaketak galdu egingo direla. StdCmdToggleNavigation - + Toggle navigation/Edit mode Txandakatu nabigazio/edizio moduak - - + + Toggle between navigation and edit mode Txandakatu nabigazio moduaren eta edizio moduaren artean @@ -10967,13 +10290,13 @@ egindako aldaketak galdu egingo direla. StdCmdToggleObjects - + Toggle all objects Objektu guztiak txandakatzen ditu - - + + Toggles visibility of all objects in the active document Dokumentu aktiboko objektu guztien ikusgaitasuna txandakatzen du @@ -10981,13 +10304,13 @@ egindako aldaketak galdu egingo direla. StdCmdToggleSelectability - + Toggle selectability Txandakatu hautagarritasuna - - + + Toggles the property of the objects to get selected in the 3D-View Objektuak 3D bistan hautatuak izateko propietatea aktibatzen/desaktibatzen du @@ -10995,13 +10318,13 @@ egindako aldaketak galdu egingo direla. StdCmdToggleVisibility - + Toggle visibility Txandakatu ikusgaitasuna - - + + Toggles visibility Ikusgaitasuna txandakatzen du @@ -11051,13 +10374,13 @@ egindako aldaketak galdu egingo direla. StdCmdTreeCollapse - + Collapse selected item Tolestu hautatutako elementua - - + + Collapse currently selected tree items Tolestu unean hautatutako zuhaitz-elementuak @@ -11065,13 +10388,13 @@ egindako aldaketak galdu egingo direla. StdCmdTreeExpand - + Expand selected item Hedatu hautatutako elementua - - + + Expand currently selected tree items Hedatu unean hautatutako zuhaitz-elementuak @@ -11079,13 +10402,13 @@ egindako aldaketak galdu egingo direla. StdCmdTreeSelectAllInstances - + Select all instances Hautatu instantzia guztiak - - + + Select all instances of the current selected object Hautatu unean hautatutako objektuaren instantzia guztiak @@ -11093,13 +10416,13 @@ egindako aldaketak galdu egingo direla. StdCmdTreeViewActions - + TreeView actions Zuhaitz-bistako ekintzak - - + + TreeView behavior options and actions Zuhaitz-bistaren portaeraren aukerak eta ekintzak @@ -11163,13 +10486,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewBottom - + Bottom Azpikoa - - + + Set to bottom view Ikusi behetik @@ -11177,13 +10500,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewCreate - + Create new view Sortu bista berria - - + + Creates a new view window for the active document Bista-leiho berria sortzen du dokumentu aktiborako @@ -11191,13 +10514,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewDimetric - + Dimetric Dimetrikoa - - + + Set to dimetric view Ezarri bista dimetrikoa @@ -11205,13 +10528,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewExample1 - + Inventor example #1 Inventor adibidea #1 - - + + Shows a 3D texture with manipulator Manipulatzailea duen 3D testura erakusten du @@ -11219,13 +10542,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewExample2 - + Inventor example #2 Inventor adibidea #2 - - + + Shows spheres and drag-lights Esferak eta argi mugikorrak erakusten ditu @@ -11233,13 +10556,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewExample3 - + Inventor example #3 Inventor adibidea #3 - - + + Shows a animated texture Testura animatu bat erakusten du @@ -11247,13 +10570,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewFitAll - + Fit all Doitu dena - - + + Fits the whole content on the screen Eduki osoa pantailara doitzen du @@ -11261,13 +10584,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewFitSelection - + Fit selection Doitu hautapena - - + + Fits the selected content on the screen Hautatutako edukia pantailara doitzen du @@ -11275,13 +10598,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewFront - + Front Aurrekoa - - + + Set to front view Ikusi aurretik @@ -11289,13 +10612,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewHome - + Home Hasiera - - + + Set to default home view Ezarri hasierako bista lehenetsira @@ -11303,13 +10626,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewIsometric - + Isometric Isometrikoa - - + + Set to isometric view Ezarri bista isometrikoa @@ -11317,13 +10640,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewIvIssueCamPos - + Issue camera position Argitaratu kameraren posizioa - - + + Issue the camera position to the console and to a macro, to easily recall this position Argitaratu kameraren posizioa kontsolan eta makro batean, posizio hori erraz berreskuratu ahal izateko @@ -11331,13 +10654,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Estereoa tartekatutako zutabeak - - + + Switch stereo viewing to Interleaved Columns Aldatu bista estereoa tartekatutako zutabeetara @@ -11345,13 +10668,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Estereoa tartekatutako errenkadak - - + + Switch stereo viewing to Interleaved Rows Aldatu bista estereoa tartekatutako errenkadetara @@ -11359,13 +10682,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewIvStereoOff - + Stereo Off Estereoa desgaituta - - + + Switch stereo viewing off Desgaitu bista estereoa @@ -11373,13 +10696,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Buffer laukoitzeko estereoa - - + + Switch stereo viewing to quad buffer Aldatu bista estereoa buffer laukoitzera @@ -11387,13 +10710,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Estereoa gorria/zian - - + + Switch stereo viewing to red/cyan Aldatu bista estereoa gorria/zian modura @@ -11401,13 +10724,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewLeft - + Left Ezkerrekoa - - + + Set to left view Ikusi ezkerretik @@ -11415,13 +10738,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewRear - + Rear Atzekoa - - + + Set to rear view Ikusi atzetik @@ -11443,13 +10766,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewRight - + Right Eskuinekoa - - + + Set to right view Ikusi eskuinetik @@ -11457,13 +10780,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewRotateLeft - + Rotate Left Biratu ezkerrera - - + + Rotate the view by 90° counter-clockwise Biratu bista 90° erlojuaren noranzkoaren aurka @@ -11471,13 +10794,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewRotateRight - + Rotate Right Biratu eskuinera - - + + Rotate the view by 90° clockwise Biratu bista 90° erlojuaren noranzkoan @@ -11499,13 +10822,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewTop - + Top Goikoa - - + + Set to top view Ikusi goitik @@ -11513,13 +10836,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewTrimetric - + Trimetric Trimetrikoa - - + + Set to trimetric view Ezarri bista trimetrikoa @@ -11527,13 +10850,13 @@ egindako aldaketak galdu egingo direla. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Hedatu FreeCAD 3D leihoa Oculus Rift batera @@ -11597,13 +10920,13 @@ egindako aldaketak galdu egingo direla. StdMainFullscreen - + Fullscreen Pantaila osoa - - + + Display the main window in fullscreen mode Bistaratu leiho nagusia pantaila osoan @@ -11639,13 +10962,13 @@ egindako aldaketak galdu egingo direla. StdRecallWorkingView - + Recall working view Berreskuratu laneko bista - - + + Recall previously stored temporary working view Berreskuratu aurretik gorde den aldi baterako laneko bista @@ -11653,13 +10976,13 @@ egindako aldaketak galdu egingo direla. StdStoreWorkingView - + Store working view Biltegiratu laneko bista - - + + Store a document-specific temporary working view Biltegiratu dokumentuan espezifikoa den aldi baterako laneko bista @@ -11667,13 +10990,13 @@ egindako aldaketak galdu egingo direla. StdTreeCollapseDocument - + Collapse/Expand Tolestu/hedatu - - + + Expand active document and collapse all others Hedatu dokumentu aktiboa eta tolestu beste guztiak @@ -11681,12 +11004,12 @@ egindako aldaketak galdu egingo direla. StdTreeDrag - + Initiate dragging Hasi arrastatzea - + Initiate dragging of current selected tree items Hasi unean hautatutako zuhaitz-elementuen arrastatzea @@ -11694,13 +11017,13 @@ egindako aldaketak galdu egingo direla. StdTreeMultiDocument - + Multi document Dokumentu anitza - - + + Display all documents in the tree view Bistaratu dokumentu guztiak zuhaitz-bistan @@ -11708,12 +11031,12 @@ egindako aldaketak galdu egingo direla. StdTreePreSelection - + Pre-selection Aurretiko hautapena - + Preselect the object in 3D view when mouse over the tree item Aurretik hautatu objektua 3D bistan sagua zuhaitz-elementuaren gainean dagoenean @@ -11721,12 +11044,12 @@ egindako aldaketak galdu egingo direla. StdTreeRecordSelection - + Record selection Grabatu hautapena - + Record selection in tree view in order to go back/forward using navigation button Grabatu zuhaitz-bistako hautapena aurrera/atzera egin ahal izateko nabigazio-botoia erabilita @@ -11734,13 +11057,13 @@ egindako aldaketak galdu egingo direla. StdTreeSelection - + Go to selection Joan hautapenera - - + + Scroll to first selected item Joan hautatutako lehen elementura @@ -11748,13 +11071,13 @@ egindako aldaketak galdu egingo direla. StdTreeSingleDocument - + Single document Dokumentu bakarra - - + + Only display the active document in the tree view Bistaratu dokumentu aktiboa soilik zuhaitz-bistan @@ -11762,12 +11085,12 @@ egindako aldaketak galdu egingo direla. StdTreeSyncPlacement - + Sync placement Sinkronizatu kokapena - + Auto adjust placement on drag and drop objects across coordinate systems Automatikoki doitu kokapena objektuak koordenatu-sistema batetik bestera arrastatu eta jaregitean @@ -11775,12 +11098,12 @@ egindako aldaketak galdu egingo direla. StdTreeSyncSelection - + Sync selection Sinkronizatu hautapena - + Auto expand tree item when the corresponding object is selected in 3D view Automatikoki hedatu zuhaitz-elementua hari dagokion objektua 3D bistan hautatuta dagoenean @@ -11788,12 +11111,12 @@ egindako aldaketak galdu egingo direla. StdTreeSyncView - + Sync view Sinkronizatu bista - + Auto switch to the 3D view containing the selected item Automatikoki aldatu hautatutako elementua duen 3D bistara @@ -11801,13 +11124,13 @@ egindako aldaketak galdu egingo direla. StdViewBoxZoom - + Box zoom Zoom kutxara - - + + Activate the box zoom tool Aktibatu kutxa-zoomaren tresna @@ -11815,13 +11138,13 @@ egindako aldaketak galdu egingo direla. StdViewDock - + Docked Atrakatua - - + + Display the active view either in fullscreen, in undocked or docked mode Erakutsi bista aktiboa pantaila osoan, atrakatu gabe edo atrakatuta @@ -11829,13 +11152,13 @@ egindako aldaketak galdu egingo direla. StdViewDockUndockFullscreen - + Document window Dokumentu-leihoa - - + + Display the active view either in fullscreen, in undocked or docked mode Erakutsi bista aktiboa pantaila osoan, atrakatu gabe edo atrakatuta @@ -11843,13 +11166,13 @@ egindako aldaketak galdu egingo direla. StdViewFullscreen - + Fullscreen Pantaila osoa - - + + Display the active view either in fullscreen, in undocked or docked mode Erakutsi bista aktiboa pantaila osoan, atrakatu gabe edo atrakatuta @@ -11857,13 +11180,13 @@ egindako aldaketak galdu egingo direla. StdViewScreenShot - + Save image... Gorde irudia... - - + + Creates a screenshot of the active view Bista aktiboaren pantaila-argazki bat sortzen du @@ -11871,13 +11194,13 @@ egindako aldaketak galdu egingo direla. StdViewUndock - + Undocked Atrakatu gabea - - + + Display the active view either in fullscreen, in undocked or docked mode Erakutsi bista aktiboa pantaila osoan, atrakatu gabe edo atrakatuta @@ -11885,13 +11208,13 @@ egindako aldaketak galdu egingo direla. StdViewZoomIn - + Zoom In Handiagotu - - + + Increase the zoom factor by a fixed amount Handiagotu zoom-faktorea kantitate finko baten arabera @@ -11899,13 +11222,13 @@ egindako aldaketak galdu egingo direla. StdViewZoomOut - + Zoom Out Txikiagotu - - + + Decrease the zoom factor by a fixed amount Txikiagotu zoom-faktorea kantitate finko baten arabera @@ -11940,72 +11263,72 @@ Ziur zaude jarraitu nahi duzula? Std_DrawStyle - + As is Bere hartan - + Normal mode Modu normala - + Points Puntuak - + Points mode Puntuen modua - + Wireframe Alanbre-bilbea - + Wireframe mode Alanbre-bilbearen modua - + Hidden line Lerro ezkutua - + Hidden line mode Lerro ezkutuaren modua - + No shading Itzalik ez - + No shading mode Itzalik gabeko modua - + Shaded Itzaldurarekin - + Shaded mode Itzaleztadura modua - + Flat lines Lerro lauak - + Flat lines mode Lerro lauen modua @@ -12068,32 +11391,32 @@ Jarraitu nahi al duzu? TreeParams - + Tree view item background. Only effective in overlay. Zuhaitz-bistaren elementuen atzeko planoa. Gainjartzean soilik du eragina. - + Tree view item background padding. Zuhaitz-bistaren elementuaren atzeko planoaren betegarria. - + Hide extra tree view column for item description. Ezkutatu elementuaren deskribapenerako zuhaitz-bistaren zutabe gehigarria. - + Hide tree view scroll bar in dock overlay. Ezkutatu zuhaitz-bistaren korritze-barra panela gainjartzean. - + Hide tree view header view in dock overlay. Ezkutatu zuhaitz-bistaren goiburuaren bista panela gainjartzean. - + Allow tree view columns to be manually resized. Onartu zuhaitz-bistaren zutabeen tamaina eskuz aldatu ahal izan daitezen. @@ -12101,117 +11424,117 @@ Jarraitu nahi al duzu? Workbench - + &File &Fitxategia - + &Edit &Editatu - + Edit Editatu - + Clipboard Arbela - + Workbench Lan-mahaia - + Structure Egitura - + Standard views Bista estandarrak - + Axonometric Axonometrikoa - + &Stereo E&stereoa - + &Zoom &Zooma - + Visibility Ikusgaitasuna - + &View &Ikusi - + &Tools &Tresnak - + &Macro &Makroa - + &Windows Lei&hoak - + &On-line help &Lineako laguntza - + &Help L&aguntza - + Help Laguntza - + File Fitxategia - + Macro Makroa - + View Bista - + Special Ops Eragiketa bereziak - + Link actions Esteka-ekintzak @@ -12219,12 +11542,12 @@ Jarraitu nahi al duzu? Gui::MDIView - + Export PDF Esportatu PDFa - + PDF file PDF fitxategia @@ -12232,196 +11555,190 @@ Jarraitu nahi al duzu? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Jakinarazpen-area - + Settings Ezarpenak - + The Notification area will appear in the status bar Jakinarazpen-area egoera-barran agertuko da - + Enable Notification Area Gaitu jakinarazpen-area - + Non-intrusive notifications will appear next to the notification area in the status bar Jakinarazpen ez intrusiboak egoera-barrako jakinarazpen-arearen alboan agertuko dira - + Enable non-intrusive notifications Gaitu jakinarazpen ez intrusiboak - + Additional data sources Datu-iturburu gehigarriak - + Errors intended for developers will appear in the notification area Garatzaileentzako erroreak jakinarazpen-arean agertuko dira - + Debug errors Arazketa-erroreak - + Warnings intended for developers will appear in the notification area Garatzaileentzako abisuak jakinarazpen-arean agertuko dira - + Debug warnings Arazketa-abisuak - + Non-Intrusive Notifications Jakinarazpen ez intrusiboak - + Minimum Duration: Iraupen minimoa: - + Maximum Duration: Iraupen maximoa: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Jakinarazpenak zenbat denbora erakutsiko diren (saguaren botoietan klik egiten bada salbu) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Jakinarazpena gutxienez zenbat denbora erakutsiko den (jakinarazpenean klik egiten bada salbu) - + Maximum Number of Notifications: Jakinarazpen kopuru maximoa: - + Maximum number of notifications that will be simultaneously present on the screen Pantailan aldi berean agertuko den jakinarazpen kopuru maximoa - + Notification width: Jakinarazpenaren zabalera: - + Width of the notification in pixels Jakinarazpenaren zabalera pixeletan - + Any open non-intrusive notifications will disappear when another window is activated Irekita dauden jakinarazpen ez intrusiboak desagertu egingo dira beste leiho bat aktibatzen denean - + Hide when other window is activated Ezkutatu beste leihoa aktibatzen denean - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Eragotzi jakinarazpen ez intrusiboak agertu daitezen FreeCADen leihoa leiho aktiboa ez denean - + Do not show when inactive Ez erakutsi inaktibo dagoenean - + Message List Mezuen zerrenda - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Mugatu zerrendan mantenduko den mezu kopurua. Balioa 0 bada, ez dago mugarik. - + Maximum Messages (0 = no limit): Mezu kopuru maximoa (0 = ez du mugarik): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Erabiltzaile-jakinarazpenak mezu-zerrendatik kentzen ditu jakinarazpen ez intrusiboen gehieneko iraupena igaro ondoren. - + Auto-remove User Notifications Automatikoki kendu erabiltzaile-jakinarazpenak - - - Activation of the Notification Area only takes effect after an application restart. - Jakinarazpen-area aplikazioa berrabiarazi ondoren soilik aktibatuko da. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Lan-mahai erabilgarriak - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Lan-mahaiak arrastatu eta jaregin daitezke haiek ordenatzeko. Lan-mahai gehiago instalatzeko, erabili gehigarrien kudeatzailea.</p><p> Une honetan, zure sistemak honako lan-mahaiak ditu:</p></body></html> - + Start up workbench: Abiarazi lan-mahaia: - + Choose which workbench will be activated and shown after FreeCAD launches Aukeratu zein lan-mahai aktibatu eta erakutsiko den FreeCAD abiarazi ondoren - + Workbench selector position : Lan-mahaien hautatzailearen kokalekua : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12434,12 +11751,12 @@ FreeCAD abiarazi ondoren 'Eskuineko izkina': Menu-barran, eskuineko izkinan. - + If checked, application will remember which workbench is active for each tab of the viewport Markatuta badago, aplikazioak gogoratuko du zein lan-mahai dagoen aktibo leihatilan - + Remember active workbench by tab Gogoratu lan-mahai aktiboa fitxaren arabera @@ -12588,47 +11905,47 @@ FreeCAD abiarazi ondoren Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Ez badago markatuta, %1 ez da agertuko lan-mahai erabilgarrien artean. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Uneko abioko modulua da hau, eta gaitu egin behar da. Ikusi 'Hobespenak - Orokorra - Automatikoki kargatu' hura aldatzeko. - + Shortcut to activate this workbench. Lan-mahai hau aktibatzeko lasterbidea. - + Auto-load Karga-automatikoa - + If checked, %1 will be loaded automatically when FreeCAD starts up Markatua badago, %1 FreeCAD abiarazten denean automatikoki kargatuko da - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Uneko abioko modulua da hau, eta automatikoki kargatu behar da. Ikusi 'Hobespenak - Orokorra - Automatikoki kargatu' hura aldatzeko. - + Loaded Kargatuta - + Load Kargatu - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Baliabideak aurrezteko, FreeCADek ez ditu laneko mahaiak kargatzen haiek erabili nahi diren arte. Kargatzen direnean, haien funtzionaltasunari lotutako hobespen gehigarriak agertuko dira. @@ -12636,17 +11953,22 @@ FreeCAD abiarazi ondoren Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Tresna-barra - + Left corner Ezkerreko izkina - + Right corner Eskuineko izkina @@ -12672,12 +11994,12 @@ FreeCAD abiarazi ondoren Gui::NotificationArea - + Delete user notifications Ezabatu erabiltzailearen jakinarazpenak - + Delete All Ezabatu dena @@ -12713,13 +12035,13 @@ FreeCAD abiarazi ondoren StdViewLoadImage - + Load image... Irudia kargatu... - - + + Loads an image Irudi bat kargatzen du @@ -12781,10 +12103,816 @@ FreeCAD abiarazi ondoren Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Errorea gertatu da -- ikusi txosten-bista informazio gehiagorako + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editorea + + + + Options + Aukerak + + + + Code lines will be numbered + Kode-lerroak zenbakituta egongo dira + + + + Enable line numbers + Gaitu lerro-zenbakiak + + + + The cursor shape will be a block + Kurtsorearen forma bloke bat izango da + + + + Enable block cursor + Gaitu bloke-kurtsorea + + + + Enable folding + Gaitu tolesketa + + + + Indentation + Koska + + + + Tab size: + Tabulazioaren neurria: + + + + Tabulator raster (how many spaces) + Tabuladore rasterra (zenbat zuriune) + + + + Indent size: + Koskaren neurria: + + + + How many spaces will be inserted when pressing <Tab> + Zenbat zuriune txertatuko diren <Tab> sakatzean + + + + Pressing <Tab> will insert a tabulator with defined tab size + <Tab> sakatzen bada, definitutako tamaina duen tabuladore bat txertatuko da + + + + Keep tabs + Mantendu tabulazioak + + + + Pressing <Tab> will insert amount of defined indent size + <Tab> sakatzen bada, definitutako tamaina duen koskatze bat txertatuko da + + + + Insert spaces + Txertatu zuriuneak + + + + Display items + Bistaratu elementuak + + + + Color and font settings will be applied to selected type + Kolorea eta letra-ezarpenak hautatutako motari aplikatuko zaizkio + + + + Family: + Familia: + + + + Font family to be used for selected code type + Hautatutako kode motarako erabiliko den letra-familia + + + + Size: + Tamaina: + + + + Font size to be used for selected code type + Hautatutako kode motarako erabiliko den letra-tamaina + + + + Color: + Kolorea: + + + + Preview: + Aurrebista: + + + + Text + Testua + + + + Bookmark + Laster-marka + + + + Breakpoint + Eten-puntua + + + + Keyword + Gako-hitza + + + + Comment + Iruzkina + + + + Block comment + Bloke-iruzkina + + + + Number + Zenbakia + + + + String + Katea + + + + Character + Karakterea + + + + Class name + Klase-izena + + + + Define name + Definizio-izena + + + + Operator + Eragilea + + + + Python output + Python irteera + + + + Python error + Python errorea + + + + Current line highlight + Uneko lerroaren nabarmentzea + + + + Items + Elementuak + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Orokorra + + + + Language and number format + Hizkuntza eta zenbaki-formatua + + + + Language: + Hizkuntza: + + + + Language of the application's user interface + Aplikazioaren erabiltzaile-interfazearen hizkuntza + + + + Unit system: + Unitate-sistema: + + + + Unit system that should be used for all parts of the application + Aplikazioko pieza guztietarako erabiliko den unitate-sistema + + + + Number of decimals: + Dezimal kopurua: + + + + Number of decimals that should be shown for numbers and dimensions + Zenbakietarako eta kotetarako erakutsiko den dezimal kopurua + + + + Minimum fractional inch: + Gutxienezko zatikizko hazbetea: + + + + Minimum fractional inch to be displayed + Bistaratuko den gutxieneko zatikizko hazbetea. + + + + Number format: + Zenbaki-formatua: + + + + Operating system + Sistema eragilea + + + + Selected language + Hautatutako hizkuntza + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Gaituta badago, zenbakizko teklatuaren dezimalen bereizlea +hizkuntza-ezarpenetako hizkuntzaren bereizlearekin +ordeztuko da, Python kontsolan eta makro-editorean salbu, +horietan beti puntu bat inprimatuko baita. + + + + Substitute decimal separator + Ordeztu dezimalen bereizlea + + + + Application + Aplikazioa + + + + Theme: + Gaia: + + + + Customize how user interface will look like + Pertsonalizatu erabiltzaile-interfazeak zein itxura izango duen + + + + Size of toolbar icons: + Tresna-barrako ikonoen tamaina: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Aukeratu zure hobespena tresna-barraren ikonoen tamainarako. +Zure pantaila-tamainaren edo gustu pertsonalen arabera doitu daiteke. + + + + Tree view mode: + Zuhaitz-bistaren modua: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Pertsonalizatu zuhaitz-bista panelean nola erakutsiko den (berrabiarazi behar da). + +'Bista konbinatua': konbinatu zuhaitz-bista eta propietate-bista panel bakarrean. +'Zuhaitz-bista eta propietate-bista': zatitu zuhaitz-bista eta propietate-bista panel bereizietan. +'Biak': mantendu hiru panelak, horrela zuhaitz-bistaren eta propietate-bistaren bi multzo eduki ditzakezu. + + + + Size of recent file list: + Azken fitxategien zerrendaren luzera: + + + + How many files should be listed in recent files list + Zenbat fitxategi zerrendatuko diren azken aldiko fitxategien zerrendan + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Leiho nagusiaren atzeko planoa (dokumenturik irekita ez dagoenean) irudi berezi baten lauzak izango dira. +Ikusi FreeCADen wikia irudiari buruzko xehetasunak ezagutzeko. + + + + Enable tiled background + Lauza moduko atzeko planoa gaitu + + + + The text cursor will be blinking + Testu-kurtsoreak keinu egingo du + + + + Enable cursor blinking + Gaitu kurtsore keinukaria + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Abioko pantaila FreeCAD abiarazten denean erakusten den +leiho txiki bat da. Aukera hau markatuta badago, FreeCADek +abioko pantaila erakutsiko du. + + + + Enable splash screen at start up + Gaitu abioko ongietorri-pantaila + + + + Preference packs + Hobespen-paketeak + + + + Name + Izena + + + + Type + Mota + + + + Load + Kargatu + + + + Import config... + Inportatu konfigurazioa... + + + + Save new... + Gorde berria... + + + + Manage... + Kudeatu... + + + + Revert... + Leheneratu... + + + + Manage preference packs + Kudeatu hobespen-paketeak + + + + Small (%1px) + Txikia (%1px) + + + + Medium (%1px) + Ertaina (%1px) + + + + Large (%1px) + Handia (%1px) + + + + Extra large (%1px) + Oso handia (%1px) + + + + Custom (%1px) + Pertsonalizatua (%1px) + + + + Combo View + Bista konbinatua + + + + TreeView and PropertyView + Zuhaitz-bista eta propietate-bista + + + + Both + Biak + + + + Preference Pack Name + Hobespen-paketearen izena + + + + Tags + Etiketak + + + + Apply + Aplikatu + + + + Apply the %1 preference pack + Aplikatu %1 hobespen-paketea + + + + Choose a FreeCAD config file to import + Aukeratu inportatuko den FreeCAD konfigurazio-fitxategia + + + + File exists + Fitxategi hori badago + + + + A preference pack with that name already exists. Overwrite? + Badago izen hori duen hobespen-pakete bat. Gainidatzi? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Txosten-bista + + + + Output + Irteera + + + + Normal messages will be recorded + Mezu normalak grabatuko dira + + + + Record normal messages + Grabatu mezu normalak + + + + Log messages will be recorded + Erregistroko mezuak grabatuko dira + + + + Record log messages + Grabatu egunkari-mezuak + + + + Warnings will be recorded + Abisuak grabatuko dira + + + + Record warnings + Grabatu abisuak + + + + Error messages will be recorded + Errore-mezuak grabatuko dira + + + + Record error messages + Grabatu errore-mezuak + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Errore bat gertatzen denean, txosten-bistaren elkarrizketa-koadroa agertuko da +pantailan errorea erakusten den bitartean + + + + Show report view on error + Erakutsi txosten-bista errorean + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Abisu bat gertatzen denean, txosten-bistaren elkarrizketa-koadroa agertuko da +pantailan abisua erakusten den bitartean + + + + Show report view on warning + Erakutsi txosten-bista abisuan + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Mezu normal bat gertatzen denean, txosten-bistaren elkarrizketa-koadroa agertuko da +pantailan mezua erakusten den bitartean + + + + Show report view on normal message + Erakutsi txosten-bista mezu normalean + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Egunkari-mezu bat gertatzen denean, txosten-bistaren elkarrizketa-koadroa agertuko da +pantailan egunkari-mezua erakusten den bitartean + + + + Show report view on log message + Erakutsi txosten-bista egunkari-mezuan + + + + Include a timecode for each report + Sartu denbora-kode bat txosten bakoitzerako + + + + Include a timecode for each entry + Sartu denbora-kode bat sarrera bakoitzerako + + + + Colors + Koloreak + + + + Normal messages: + Mezu normalak: + + + + Font color for normal messages in Report view panel + Txosten-bistaren paneleko mezu arrunten letraren kolorea + + + + Log messages: + Egunkari-mezuak: + + + + Font color for log messages in Report view panel + Txosten-bistaren paneleko erregistro-mezuen letraren kolorea + + + + Warnings: + Abisuak: + + + + Font color for warning messages in Report view panel + Txosten-bistaren paneleko abisu-mezuen letraren kolorea + + + + Errors: + Erroreak: + + + + Font color for error messages in Report view panel + Txosten ikuspegiaren paneleko errore-mezuen letraren kolorea + + + + Python interpreter + Python interpretatzailea + + + + Internal Python output will be redirected +from Python console to Report view panel + Pythonen barneko irteera Python kontsolatik +txosten-bistaren panelera birzuzenduko da + + + + Redirect internal Python output to report view + Birbideratu Pythoneko barne-irteerak txosten-bistara + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Pythonen barneko errore-mezuak Python kontsolatik +txosten-bistaren panelera birzuzenduko da + + + + Redirect internal Python errors to report view + Birbideratu Pythoneko barne-erroreak txosten-bistara + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Gaia + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Estilo-orririk ez + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_fi.ts b/src/Gui/Language/FreeCAD_fi.ts index 7d9d2b2e73..c7f7cfe696 100644 --- a/src/Gui/Language/FreeCAD_fi.ts +++ b/src/Gui/Language/FreeCAD_fi.ts @@ -42,29 +42,29 @@ Ominaisuuden visuaalinen koko - + <empty> <empty> - - + + Angle Kulma - - + + Axis Akseli - + Position Sijainti - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Testaa konsolin ulostulo - - + + Run test cases to verify console messages Run test cases to verify console messages @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Nollaa mittaus - + Clear all visible measurements Clear all visible measurements @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Vaihda mittaus - + Turn on or off the display of all measurements Turn on or off the display of all measurements @@ -132,7 +132,7 @@ Poista - + Paste expressions Liitä lausekkeet @@ -182,7 +182,7 @@ Lisää ryhmä - + Align Tasaa @@ -193,40 +193,40 @@ Sijainti - - + + Transform Muunna - + Toggle array elements Toggle array elements - + Link Transform Linkitä Muunnos - + Measure distance Mittaa etäisyys - + Toggle visibility Valitse pois/päälle näkyvyys - + Toggle selectability Kytke valintakyvykkyys pois/päälle - + Edit image Edit image @@ -234,77 +234,77 @@ CommandGroup - + File Tiedosto - + Edit Muokkaa - + Help Ohje - + Link Linkki - + Tools Työkalut - + View Näytä - + Window Ikkuna - + Standard Standardi - + Macros Makrot - + Macro Makro - + Structure Rakenne - + Standard-Test Standardi-testi - + Standard-View Standardi-Näkymä - + TreeView Puunäkymä - + Measure Mittaa @@ -402,11 +402,6 @@ DownloadItem - - - Form - Lomake - Ico @@ -421,42 +416,42 @@ EditMode - + Default Oletus - + The object will be edited using the mode defined internally to be the most appropriate for the object type The object will be edited using the mode defined internally to be the most appropriate for the object type - + Transform Muunna - + The object will have its placement editable with the Std TransformManip command The object will have its placement editable with the Std TransformManip command - + Cutting Leikkuu - + This edit mode is implemented as available but currently does not seem to be used by any object This edit mode is implemented as available but currently does not seem to be used by any object - + Color Väri - + The object will have the color of its individual faces editable with the Part FaceColors command The object will have the color of its individual faces editable with the Part FaceColors command @@ -482,7 +477,7 @@ ei mitään - + Press a keyboard shortcut Paina pikanäppäintä @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Saatavilla: - + Selected: Valittu: - + Add Lisää - + Remove Poista - + Move up Siirrä ylös - + Move down Siirrä alas @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Siirrettävä objekti - + Fixed object Kiinnitetty objekti @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Odota kunnes AutoRecovery-tiedosto on tallennettu... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Paina hiiren vasenta painiketta - + Press SHIFT and middle mouse button Paina SHIFT ja hiiren keskipainiketta - + Press middle mouse button Paina hiiren keskipainiketta - + Scroll middle mouse button Selaa hiiren keskimmäisellä painikkeella @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Paina hiiren vasenta painiketta - + Press middle mouse button Paina hiiren keskipainiketta - + Press middle+left or middle+right button Paina keski-+vasen tai keski-+oikea painike - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Vieritä hiiren keskipainiketta tai pidä keskimmäistä painiketta painettuna kun painat vasenta tai oikeata hiiren nappia ja liikutat samalla hiirtä ylös tai alas @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel &Peruuta @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Tehtävä paneeli @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Tekijät - + FreeCAD would not be possible without the contributions of FreeCAD ei olisi mahdollinen ilman seuraavien tahojen vaivannäköä - + Individuals Header for the list of individual people in the Credits list. Yksityishenkilöt - + Organizations Header for the list of companies/organizations in the Credits list. Organisaatiot - - + + License Lisenssi - + Libraries Kirjastot - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Tämä ohjelmisto käyttää avoimen lähdekoodin komponentteja, joiden tekijänoikeudet ja muut omistusoikeudet kuuluvat niiden omistajille: - + Collection Kokoelma @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Välimuistin hakemisto - + The cache directory %1 exceeds the size of %2. The cache directory %1 exceeds the size of %2. - + Do you want to clear it now? Haluatko tyhjentää sen nyt? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Kameran asetukset - + Orientation Suunta - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Nykyinen Näkymä @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Komennot @@ -1116,12 +1111,12 @@ Jos tämä ei ole rastitettuna, ominaisuus on nimettävä ainutlaatuisesti, ja s Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Paketti on jo olemassa - + A preference pack with that name already exists. Do you want to overwrite it? A preference pack with that name already exists. Do you want to overwrite it? @@ -1359,48 +1354,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Kirjoita hakeaksesi... - + Icon kuvake - + Command Komento - + Shortcut Pikanäppäin - + Default Oletus - + Name Nimi - + Title Otsikko - + All Kaikki - - + + none ei mitään @@ -1408,8 +1403,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Työkaluryhmän palkit @@ -1498,40 +1493,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separator> - + %1 module not loaded %1 moduulia ei ole ladattu - + New toolbar Uusi työkalurivi - - + + Toolbar name: Työkalurivin nimi: - - + + Duplicated name Monistettu nimi - - + + The toolbar name '%1' is already used Työkalurivin nimi '%1' on jo käytössä - + Rename toolbar Uudelleennimeä työkalurivi @@ -1544,19 +1539,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Mukauttaminen - + &Help &Ohje - + &Close &Sulje @@ -1565,13 +1560,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion "Spaceball" tyyppinen liike - + No Spaceball Present "Spaceball" ei ole käytössä @@ -1579,27 +1574,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons "Spaceball" painikkeet - + No Spaceball Present "Spaceball" ei ole käytössä - + Buttons Painikkeet - + Reset Palauta - + Print Reference Tulosta viite @@ -1684,551 +1679,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Oletus - + Aluminium Alumiini - + Brass Messinki - + Bronze Pronssi - + Copper Kupari - + Chrome Kromi - + Emerald Smaragdi - + Gold Kulta - + Jade Jade - + Metalized Metallisoitu - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidiaani - + Pewter Kovatina - + Plaster Kipsi - + Plastic Muovi - + Ruby Rubiini - + Satin Satiini - + Shiny plastic Kiiltävä muovi - + Silver Hopea - + Steel Teräs - + Stone Kivi Gui::Dialog::DlgEditorSettings - - - Editor - Muokkain - - - - Options - Asetukset - - - - Code lines will be numbered - Koodirivit numeroidaan - - - - Enable line numbers - Ota rivinumerot käyttöön - - - - The cursor shape will be a block - The cursor shape will be a block - - - - Enable block cursor - Enable block cursor - - - - Enable folding - Ota taivutus käyttöön - - - - Indentation - Sisennys - - - - Tab size: - Sarkaimen koko: - - - - Tabulator raster (how many spaces) - Tabulaattori rasteri (kuinka monta välilyöntiä) - - - - Indent size: - Sisennyksen koko: - - - - How many spaces will be inserted when pressing <Tab> - Kuinka monta välilyöntiä lisätään painettaessa <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Painamalla <Tab> lisätään määrittelyn suuruinen sisennys - - - - Keep tabs - Pidä TAB:it - - - - Pressing <Tab> will insert amount of defined indent size - Painamalla <Tab> lisätään määritetyn sisennyksen kokoa - - - - Insert spaces - Lisää välilyöntejä - - - - Display items - Näytä kohteet - - - - Color and font settings will be applied to selected type - Väri- ja fonttiasetukset otetaan käyttöön valitussa tyypissä - - - - Family: - Perhe: - - - - Font family to be used for selected code type - Kirjasinperhe, jota käytetään valittuun koodityyppiin - - - - Size: - Koko: - - - - Font size to be used for selected code type - Kirjasimen koko, jota käytetään valittuun koodityyppiin - - - - Color: - Väri: - - - - Preview: - Esikatselu: - - - Gui::Dialog::DlgGeneral - - - General - Yleiset - - - - Language of the application's user interface - Sovelluksen käyttöliittymän kieli - - - - Number format: - Numeron muoto: - - - - Operating system - Käyttöjärjestelmä - - - - Selected language - Valittu kieli - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Preference packs - - - - Name - Nimi - - - - Type - Tyyppi - - - - Load - Lataa - - - - Import config... - Tuo asetustiedosto... - - - - Save new... - Tallenna uusi... - - - - Manage... - Hallitse... - - - - Revert... - Palauta... - - - - How many files should be listed in recent files list - Kuinka monta tiedostoa listataan viimeaikaisten tiedostojen luettelossa - - - - Enable tiled background - Valitse tiilikuvio tausta - - - - The text cursor will be blinking - The text cursor will be blinking - - - - Enable cursor blinking - Enable cursor blinking - - - - Style sheet: - Tyylisivu: - - - - Language and number format - Kieli ja numerojen muoto - - - - Language: - Kieli: - - - - Unit system: - Yksikköjärjestelmä: - - - - Unit system that should be used for all parts of the application - Unit system that should be used for all parts of the application - - - - Number of decimals: - Desimaalien määrä: - - - - Number of decimals that should be shown for numbers and dimensions - Numeroiden ja mittojen osalta esitettävä desimaalien määrä - - - - Minimum fractional inch: - Pienin murto-osa tuumaa: - - - - Minimum fractional inch to be displayed - Pienin tuuman murtoluku, joka näytetään - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - Sovellus - - - - Style sheet how user interface will look like - Tyylisivu, miltä käyttöliittymä näyttää - - - - Size of toolbar icons: - Työkalurivin kuvakkeiden koko: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Valitse haluamasi työkalupalkin kuvakkeen koko. Voit säätää -tätä näytön koon tai henkilökohtaisen maun mukaan - - - - Tree view mode: - Puunäkymän tila: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Mukauta miten puunäkymä näkyy paneelissa (vaatii uudelleenkäynnistyksen). - -'ComboView': Yhdistä puunäkymä ja ominaisuusnäkymä yhdeksi paneeliksi. -'TreeView and PropertyView': Jaa puunäkymä ja ominaisuusnäkymä erilliseen paneeliin. -'Both': säilytä kaikki kolme paneelia, ja sinulla voi olla kaksi kappaletta puu- ja ominaisuusnäkymiä. - - - - Size of recent file list: - Size of recent file list: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Väläysikkuna on pieni latausikkuna, joka näkyy -kun FreeCAD on käynnistymässä. Jos tämä valinta on valittuna, FreeCAD näyttää -väläysikkunan. - - - - Enable splash screen at start up - Salli aloitusruutu käynnistyksen yhteydessä - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Manage preference packs - - - - Small (%1px) - Pieni (%1px) - - - - Medium (%1px) - Keskitaso (%1px) - - - - Large (%1px) - Suuri (%1px) - - - - Extra large (%1px) - Erittäin suuri (%1px) - - - - Custom (%1px) - Mukautettu (%1px) - - - - Combo View - Yhdistelmänäkymä - - - - TreeView and PropertyView - Puunäkymä ja ominaisuusnäkymä - - - - Both - Molemmat - - - - No style sheet - Ei tyylimallia - - - - Preference Pack Name - Preference Pack Name - - - - Tags - Tags - - - - Apply - Käytä - - - - Apply the %1 preference pack - Apply the %1 preference pack - - - - Choose a FreeCAD config file to import - Valitse tuotava FreeCAD-asetustiedosto - - - - File exists - Tiedosto on olemassa - - - - A preference pack with that name already exists. Overwrite? - A preference pack with that name already exists. Overwrite? - - Gui::Dialog::DlgInputDialog @@ -2244,8 +1811,8 @@ väläysikkunan. Gui::Dialog::DlgInspector - - + + Scene Inspector Näkymän tarkastaja @@ -2337,71 +1904,71 @@ väläysikkunan. Gui::Dialog::DlgMacroExecuteImp - + Macros Makrot - + Read-only Vain luku - + Macro file Makro-tiedosto - + Enter a file name, please: Anna tiedostolle nimi: - - - + + + Existing file Olemassa oleva tiedosto - + '%1'. This file already exists. "%1". Tämä tiedosto on jo olemassa. - + Cannot create file Tiedostoa ei voi luoda - + Creation of file '%1' failed. Tiedoston '%1' luonti epäonnistui. - + Delete macro Poista makro - + Do you really want to delete the macro '%1'? Haluatko varmasti poistaa makron '%1'? - + Do not show again Älä näytä uudestaan - + Guided Walkthrough Opastettu kävelykierros - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2412,78 +1979,78 @@ Huomautus: muutokset otetaan käyttöön, kun seuraavan kerran vaihdat työpöyt - + Walkthrough, dialog 1 of 2 kävelykierros, valintaikkuna 1 (2:sta) - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Kävelykierros: Täytä puuttuvat kentät (valinnainen) ja napsauta Lisää ja sulje - + Walkthrough, dialog 1 of 1 kävelykierros, valintaikkuna 1 (1:stä) - + Walkthrough, dialog 2 of 2 kävelykierros, valintaikkuna 2 (2:sta) - + Walkthrough instructions: Click right arrow button (->), then Close. Kävelyohjeet: Napsauta oikeaa nuolinäppäintä (->), ja sulje se. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Kävelyohjeet: Klikkaa uusi, napsauta oikeaa nuolinäppäintä (->), ja sulje se. - + Renaming Macro File Uudelleennimetään Makrotiedosto - - + + Enter new name: Syötä uusi nimi: - - + + '%1' already exists. '%1' on jo olemassa. - + Rename Failed Uudelleennimeäminen epäonnistui - + Failed to rename to '%1'. Perhaps a file permission error? Ei voitu nimetä uudelleen '%1'. Ehkä tiedoston käyttöoikeusvirhe? - + Duplicate Macro Monista makro - + Duplicate Failed Monistaminen epäonnistui - + Failed to duplicate to '%1'. Perhaps a file permission error? Ei voitu monistaa '%1':ksi. @@ -2526,39 +2093,39 @@ Ehkä tiedoston käyttöoikeusvirhe? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Makro-tallennin - + Specify first a place to save. Määritä ensin tallennuspaikka. - + The macro directory doesn't exist. Please, choose another one. Makron hakemistoa ei ole olemassa. Valitse toinen hakemisto. - + Existing macro Aiemmin luotu makro - + The macro '%1' already exists. Do you want to overwrite? Makro '%1' on jo olemassa. Haluatko korvata sen? - + You have no write permission for the directory. Please, choose another one. Sinulla ei ole käyttöoikeuksia kirjoittaa kansioon. Valitse toinen kansio. - + Choose macro directory Valitse makron hakemisto @@ -2631,12 +2198,12 @@ Ehkä tiedoston käyttöoikeusvirhe? HTML-tiedostot - + Access denied Pääsy estetty - + Access denied to '%1' Specify another directory, please. @@ -3037,36 +2604,36 @@ Määritä toinen hakemisto, ole hyvä. Projektin tiedosto - - + + Empty source Tyhjä lähde - - + + No source is defined. Lähdettä ei ole määritelty. - - + + Empty destination Tyhjä kohde - - + + No destination is defined. Kohdetta ei ole määritelty. - + Failed to extract project Failed to extract project - + Failed to create project Failed to create project @@ -3116,188 +2683,6 @@ Määritä toinen hakemisto, ole hyvä. Gui::Dialog::DlgReportView - - - Report view - Raporttinäkymä - - - - Output - Tuloste - - - - Normal messages will be recorded - Tavalliset viestit tallennetaan - - - - Record normal messages - Tallenna normaalit viestit - - - - Log messages will be recorded - Loki viestit tallennetaan - - - - Record log messages - Tallenna lokiviestit - - - - Warnings will be recorded - Varoitukset kirjataan - - - - Record warnings - Tallenna varoitukset - - - - Error messages will be recorded - Virheraportit kirjataan - - - - Record error messages - Tallenna virheilmoitukset - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Kun virhe on tapahtunut, ilmoitusnäkymävalintaikkuna tulee näkyviin -näytöllä samalla kun virhe näytetään - - - - Show report view on error - Näytä raportin näkymä virheen löytyessä - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Kun viaroitus on ilmennyt, ilmoitusnäkymävalintaikkuna tulee näkyviin -näytöllä samalla kun varoitus näytetään - - - - Show report view on warning - Näytä raportin näkymä varoituksessa - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Kun normaali viesti on ilmestynytt, ilmoitusnäkymä-ikkuna tulee näkyviin -näytöllä samalla kun viesti näytetään - - - - Show report view on normal message - Näytä raportin näkymä normaalissa viestissä - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Kun lokiviesti on ilmaantunut, ilmoitusnäkymän ikkuna tulee näkyviin -näytöllä samalla kun lokiviesti näytetään - - - - Show report view on log message - Näytä raporttinäkymä lokiviestissä - - - - Include a timecode for each report - Sisällytä kunkin raportin aikakoodi - - - - Include a timecode for each entry - Sisällytä aikakoodi jokaiselle tietuelle - - - - Colors - Värit - - - - Normal messages: - Tavalliset viestit: - - - - Font color for normal messages in Report view panel - Tavallisten viestien kirjasinväri raporttinäkymäpaneelissa - - - - Log messages: - Lokiviestit: - - - - Font color for log messages in Report view panel - Lokiviestien kirjasimen väri Raportin näkymäpaneelissa - - - - Warnings: - Varoitukset: - - - - Font color for warning messages in Report view panel - Kirjasimen väri varoitusviesteille Raportin näkymäpaneelissa - - - - Errors: - Virheet: - - - - Font color for error messages in Report view panel - Kirjasimen väri virheviesteille raporttinäkymäpaneelissa - - - - Python interpreter - Python-tulkki - - - - Internal Python output will be redirected -from Python console to Report view panel - Sisäinen Python- tuloste ohjataan uudelleen -Python- konsolista raporttinäkymäpaneeliin - - - - Redirect internal Python output to report view - Uudelleenohjaa sisäiset Pythonin tulosteet raportointinäkymään - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Sisäiset Pythonin virheviestit ohjataan uudelleen -Python-konsolista Raporttinäkymäpaneeliin - - - - Redirect internal Python errors to report view - Uudelleenohjaa sisäiset Pythonin virheet raportointinäkymään - @@ -3324,7 +2709,7 @@ Python-konsolista Raporttinäkymäpaneeliin Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No selection in dialog, cannot load backup file @@ -3367,7 +2752,7 @@ Python-konsolista Raporttinäkymäpaneeliin Ohje - + Select a file Valitse tiedosto @@ -3375,70 +2760,70 @@ Python-konsolista Raporttinäkymäpaneeliin Gui::Dialog::DlgSettings3DView - + 3D View 3D-näkymä - + General Yleiset - + Main coordinate system will always be shown in lower right corner within opened files Pääkoordinaattijärjestelmä näkyy aina oikeassa alakulmassa avatuissa tiedostoissa - + Show coordinate system in the corner Näytä koordinaatisto nurkassa - + Relative size : Relative size : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Size of main coordinate system representation in the corner -- in % of height/width of viewport - + Axis cross will be shown by default at file opening or creation Akselien ylitys näkyy oletusarvoisesti tiedoston avaamisessa tai luomisessa - + Show axis cross by default Näytä akselin ylitys oletuksena - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Viimeisimmälle toiminnalle tarvittava aika ja tuloksena saatava kehysnopeus näytetään vasemmassa alakulmassa avatuissa tiedostoissa - + Show counter of frames per second Näytä näytön päivitysnopeus - + Rendering Renderöinti - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3447,22 +2832,22 @@ Changing this option requires a restart of the application. Tämän vaihtoehdon muuttaminen vaatii sovelluksen uudelleenkäynnistyksen. - + Use software OpenGL Käytä ohjelmistopohjaista OpenGL:ää - + Use OpenGL VBO (Vertex Buffer Object) Käytä OpenGL VBO (Vertex Buffer Object) - + Render cache Renderöi välimuisti - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3485,7 +2870,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3502,92 +2887,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Automaattinen - + Distributed Jaettu - + Centralized Keskitetty - + Anti-Aliasing Reunanpehmennys - + What kind of multisample anti-aliasing is used What kind of multisample anti-aliasing is used - + None Ei mitään - + Line Smoothing Rivin tasoitus - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Läpinäkyvät objektit: - + Render types of transparent objects Renderöinti tyypit läpinäkyville kohteille - + One pass Yksi kulku - + Backface pass Taustan läpikulku - + Marker size: Markerin koko: - - Size of vertices in the Sketcher workbench - Huippupisteiden (Vertex) koko Sketcher työpöydällä + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Silmien välinen etäisyys stereotiloja varten - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3596,48 +2981,48 @@ The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. - + Backlight is enabled with the defined color Taustavalo on käytössä määritetyllä värillä - - + + Backlight color Taustavalon väri - + Intensity Voimakkuus - + Intensity of the backlight Taustavalon voimakkuus - + Camera type Kameratyyppi - + Objects will appear in a perspective projection Objektit tulevat näkyviin perspektiivi projektiossa - + Perspective renderin&g Perspektiivinen renderöinti&g - + Objects will be projected in orthographic projection Objektit projisoidaan ortografinen projektioon - + Or&thographic rendering Ortografinen renderointi @@ -3649,42 +3034,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Reunanpehmennys - + Open a new viewer or restart %1 to apply anti-aliasing changes. Avaa uusi katsoja tai käynnistä %1 uudelleen ottaaksesi käyttöön reunanpehmennys-muutoksia. @@ -3692,77 +3077,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Välimuisti - + Cache directory Välimuistin hakemisto - + Location: Sijainti: - + Check periodically at program start: Check periodically at program start: - + Always Aina - + Daily Päivittäin - + Weekly Viikottain - + Monthly Kuukausittain - + Yearly Vuosittain - + Never Ei koskaan - + Cache size limit: Välimuistin kokorajoitus: - + Check now... Tarkasta nyt... - + Notify the user if the cache size exceeds the specified limit Notify the user if the cache size exceeds the specified limit - + Unknown Tuntematon - + Current cache size: %1 Nykyinen välimuistin koko: %1 @@ -3923,12 +3308,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Väärä parametri - + The maximum value must be higher than the minimum value. Maksimiarvon pitää olla suurempi kuin minimiarvo. @@ -3936,181 +3321,181 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Asiakirja - + General Yleiset - + The application will create a new document when started Sovellus luo uuden dokumentin, kun ohjelma käynnistetään - + Create new document at start up Luo uusi asiakirja käynnistettäessä - + Document save compression level (0 = none, 9 = highest, 3 = default) Asiakirja tallennetaan pakkaustasolla (0 = ei yhtään, 9 = suurin, 3 = oletus) - + Compression level for FCStd files FCStd-tiedostojen pakkaustaso - + All changes in documents are stored so that they can be undone/redone Kaikki muutokset asiakirjoihin tallennetaan niin, että ne voidaan kumota/uudelleenpalauttaa - + Using Undo/Redo on documents "Peruuta"/"Tee uudelleen" komentojen käyttö asiakirjoissa - + Maximum Undo/Redo steps Suurin sallittu "Peruuta"/"Tee uudelleen" askelten määrä - + How many Undo/Redo steps should be recorded Kuinka monta kumota/uudelleen-teko vaihetta pitäisi tallentaa (uno/redo) - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Salli käyttäjän keskeyttää asiakirjan uudelleenlaskenta painamalla ESC. Tämä ominaisuus saattaa hieman pidentää uudelleenlaskenta-aikaa. - + Allow aborting recomputation Salli uudelleenlaskennan keskeyttäminen - + Storage Talletuspaikka - + Saving transactions (Auto-save) Tallentaa tapahtumat (automaattinen tallennus) - + Discard saved transaction after saving document Hylkää tallennetun tapahtuman asiakirjan tallennuksen jälkeen - + If there is a recovery file available the application will automatically run a file recovery when it is started. Jos on palautustiedosto olemassa, sovellus suorittaa automaattisesti tiedoston palautuksen, kun sovellus käynnistyy. - + Run AutoRecovery at startup Suorita automaattinen AutoRecovery käynnistettäessä - + How often a recovery file is written Kuinka usein palautustiedosto on kirjoitettu - + Save AutoRecovery information every Tallenna automaattisen palautuksen tiedot joka - + A thumbnail will be stored when document is saved Pienoiskuva tallennetaan, kun asiakirja on tallennettu - + Save thumbnail into project file when saving document Tallenna pikkukuva projektitiedostoon asiakirjaa tallennettaessa - + Size Koko - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Asettaa dokumentissa säilytettävän pienoiskuvan koon. Yleiset koot ovat 128, 256 ja 512 - + The program logo will be added to the thumbnail Ohjelman logo lisätään pienoiskuvakkeeseen - + Add the program logo to the generated thumbnail Lisää ohjelman logo luotuun pienoiskuvaan - + How many backup files will be kept when saving document Kuinka monta varmuuskopiotiedostoa säilytetään asiakirjaa tallennettaessa - + Maximum number of backup files to keep when resaving document Enimmäismäärä säilytettäviä varmuuskopiotiedostoja asiakirjan uudelleen tallennuksessa - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Varmuuskopiotiedostot saavat tiedostopäätteen '.FCbak' ja tiedostonimet saavat mukaan päivämäärän määritellyn muodon mukaan - + Use date and FCBak extension Käytä päivämäärää ja FCBak-tiedostopäätettä - + Date format Päiväyksen muoto - + Document objects Asiakirjan objektit - + Allow objects to have same label Allow objects to have same label - + Allow duplicate object labels in one document Salli monistettuja objektien nimilappuja asiakirjassa - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4123,22 +3508,22 @@ Osittain ladattua asiakirjaa ei voi muokata. Kaksoisnapsauta dokumentin pienoiskuvaketta puunäkymässä ladataksesi se kokonaan. - + Disable partial loading of external linked objects Poista käytöstä ulkoisten linkitettyjen kohteiden osittainen lataus - + Authoring and License Kirjoittaminen ja lisenssi - + Author name Tekijän nimi - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4147,32 +3532,32 @@ Säilytä tyhjänä nimettömyyttä varten. Voit myös käyttää muotoa: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Kenttä 'Viimeksi muokannut' asetetaan määriteltyyn tekijään kun tallennettaan tiedostoa - + Set on save Aseta tallennettaessa - + Company Yritys - + Default company name to use for new files Yrityksen oletusnimi, jota käytetään uusiin tiedostoihin - + Default license Oletuslisenssi - + Default license for new documents Oletuslisenssi uusille asiakirjoille @@ -4242,12 +3627,12 @@ Voit myös käyttää muotoa: John Doe <john@doe.com> Muu - + License URL Lisenssin URL-osoite - + URL describing more about the license URL-osoite, joka kuvaa lisenssiä tarkemmin @@ -4255,104 +3640,21 @@ Voit myös käyttää muotoa: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Käytettävän päivämäärän muoto. - + Default Oletus - + Format Formaatti - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Teksti - - - - Bookmark - Kirjanmerkki - - - - Breakpoint - Keskeytyskohta - - - - Keyword - Avainsana - - - - Comment - Kommentti - - - - Block comment - Estä kommentti - - - - Number - Numero - - - - String - Merkkijono - - - - Character - Merkki - - - - Class name - Luokan nimi - - - - Define name - Määritä nimi - - - - Operator - Operaattori - - - - Python output - Python-tuloste - - - - Python error - Python-virhe - - - - Current line highlight - Nykyinen rivin korostus - - - - Items - Osat - - Gui::Dialog::DlgSettingsImage @@ -4533,122 +3835,122 @@ Voit myös käyttää muotoa: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Makro - + General macro settings Yleiset makrojen asetukset - + Variables defined by macros are created as local variables Makrojen määrittelemät muuttujat luodaan paikallisiksi muuttujiksi - + Run macros in local environment Suorita makrot paikallisessa ympäristössä - + Macro recording settings Makron nauhoituksen asetukset - + Macro path Makron polku - + The directory in which the application will search for macros Hakemisto, josta sovellus hakee makroja - + Gui commands Graafisen käyttöliittymän komennot - + Recorded macros will also contain user interface commands Tallennetut makrot sisältävät myös käyttöliittymäkomennot - + Record GUI commands Tallenna graafisen käyttöliittymän (GUI) komentoja - + Recorded macros will also contain user interface commands as comments Tallennetut makrot sisältävät myös käyttöliittymäkomentoja kommentteina - + Record as comment Tallenna kommenttina - + Logging Commands Lokituskomennot - + Commands executed by macro scripts are shown in Python console Makroskriptien suorittamat komennot näytetään Python-konsolissa - + Show script commands in python console Näytä skriptikomennot Python-konsolissa - + Log all commands issued by menus to file: Tallenna kaikki valikoissa valitut käskyt tiedostoon: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Viimeaikaisten makrojen valikko - + Size of recent macro list Viimeisten makrojen listan koko - + How many macros should be listed in recent macros list Kuinka monta tiedostoa listataan viimeaikaisten tiedostojen luettelossa - + Keyboard shortcut count Keyboard shortcut count - + How many recent macros should have shortcuts Kuinka monella viimeaikaisella makrolla pitäisi olla pikakuvakkeita - + Keyboard Modifiers Näppäimistön muokkaajat - + Keyboard modifiers, default = Ctrl+Shift+ Näppäimistön muokkaajat, oletus = Ctrl+Shift+ @@ -4656,130 +3958,130 @@ Voit myös käyttää muotoa: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Siirtyminen - + Navigation cube Navigointikuutio - + Steps by turn Kierroksen askelten lukumäärä - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Askelten lukumäärä kääntymisessä, kun käytetään nuolia (oletus = 8 : askelkulma = 360/8 = 45 astetta ) - + Corner Nurkka - + Corner where navigation cube is shown Kulma, jossa navigointikuutio näytetään - + Top left Vasen ylhäällä - + Top right Oikeasta yläkulmasta - + Bottom left Alas vasemmalle - + Bottom right Alas oikealle - + Rotates to nearest possible state when clicking a cube face Rotates to nearest possible state when clicking a cube face - + Rotate to nearest Rotate to nearest - + Font name: Fontin nimi: - + Font name of the navigation cube Font name of the navigation cube - + Default Oletus - + Cube size Kuution koko - + Size of the navigation cube Navigointikuution koko - + Color Väri - + Base color for all elements Base color for all elements - + 3D Navigation 3D-navigointi - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Listaa hiiren painike asetukset kunkin valitun navigointiasetuksen osalta. Valitse sarja ja paina sitten painiketta nähdäksesi mainitut asetukset. - + Mouse... Hiiri... - + Navigation settings set Navigoinnin asetukset - + Orbit style Kiertoradan tyyli - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4790,116 +4092,116 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable Pyörähdyspöytä - + Trackball Trackball - + Free Turntable Free Turntable - + Rotation mode Kiertotila - + Rotations in 3D will use current cursor position as center for rotation Kiertäminen 3D: ssä käyttää nykyistä kursorin sijaintia pyörimisen keskipisteenä - + Window center Ikkunan keskipiste - + Drag at cursor Vedä kohdistimeen - + Object center Objektin keskipiste - + Default camera orientation Kameran oletussuunta - + Default camera orientation when creating a new document or selecting the home view Kameran oletussuunta luotaessa uutta asiakirjaa tai valitsemalla kotinäkymä - + Camera zoom Camera zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Asettaa kameran zoomaus uusille dokumenteille. Arvo on pallon halkaisija, joka mahtuu ruudulle. - + mm mm - + Enable animated rotations Käytä animoituja kiertoja - + Enable animation Ota animaatiot käyttöön - + Zoom operations will be performed at position of mouse pointer Zoomaus toiminnot suoritetaan hiiren osoittimen kohdassa - + Zoom at cursor Suurenna osoittimen kohdalta - + Zoom step Zoom step - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. - + Direction of zoom operations will be inverted Suurennuksen suunta käännetään ylösalaisin - + Invert zoom Käännä zoom päinvastaiseksi - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4908,57 +4210,67 @@ Vaikuttaa vain ele navigointi tyyliin. Hiiren kallistaminen ei ole pois käytöstä tällä asetuksella. - + Disable touchscreen tilt gesture Poista kosketusnäytön kallistusele käytöstä - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Isometrinen - + Dimetric Dimetrinen - + Trimetric Trimetrinen - + Top Yläpuoli - + Front Etupuoli - + Left Vasen - + Right Oikea - + Rear Takana - + Bottom Pohja - + Custom Mukautettu @@ -4966,44 +4278,44 @@ Hiiren kallistaminen ei ole pois käytöstä tällä asetuksella. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python-konsoli - + Settings Asetukset - + Words will be wrapped when they exceed available horizontal space in Python console Sanat kutistetaan kun ne ylittävät käytettävissä olevan vaakatilan Python-konsolissa - + Enable word wrap Ota käyttöön sanojen rivitys - + The cursor shape will be a block The cursor shape will be a block - + Enable block cursor Enable block cursor - + Saves Python history across sessions Saves Python history across sessions - + Save history Tallenna historia @@ -5011,17 +4323,37 @@ vaakatilan Python-konsolissa Gui::Dialog::DlgSettingsSelection - + Selection Valinta - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Poimi säde (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5030,27 +4362,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Vaihda automaattisesti 3D-näkymään, joka sisältää valitun kohteen - + Auto expand tree item when the corresponding object is selected in 3D view Laajenna puun kohde automaattisesti kun vastaava objekti on valittu 3D-näkymässä - + Preselect the object in 3D view when mouse over the tree item Esivalitse objekti 3D-näkymässä, kun hiiri on puu kohteen yllä - + Record selection in tree view in order to go back/forward using navigation button Tallenna valinta puunäkymään, jotta voit siirtyä takaisin/eteenpäin navigointipainikkeella - + Add checkboxes for selection in document tree Lisää valintalaatikot asiakirjapuuhun @@ -5058,147 +4390,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Värit - - Selection - Valinta - - - - Enable preselection and highlight by specified color - Ota esivalinta ja korostus käyttöön määrätyllä värillä - - - - Enable preselection highlighting - Ota esivalinnan korostaminen käyttöön - - - - Enable selection highlighting and use specified color - Ota valinnan korostus käyttöön ja käytä määriteltyä väriä - - - - Enable selection highlighting - Ota käyttöön valinnan korostus - - - + Background color for the model view Taustan väri mallinäkymässä - + Background color Taustaväri - - + + Background will have selected color Taustalla on valittu väri - + Simple color Yksinkertainen väri - - + + Background will have selected color gradient Taustalla on valittu värigradientti - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Top: - - + + Middle: Middle: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch Switch - + Color gradient will get selected color as middle color Värisävy saa valitun värin keskiväriseksi - + Middle color Keskiväri - - + + Bottom: Bottom: - + Tree view Puunäkymä - + Object being edited Objektin muokkaus - + Background color for objects in tree view that are currently edited Taustan väri puunäkymässä oleville kohteille, joita juuri muokataan - + Active container Aktiivinen säiliö - + Background color for active containers in tree view Aktiivisten säiliöiden taustaväri puunäkymässä - + Central: Central: - + Midway: Midway: - + End: End: @@ -5310,12 +4617,12 @@ Oletussjärjestelmä on määritetty yleisissä asetuksissa. Gui::Dialog::DlgUnitsCalculator - + unknown unit: tuntematon yksikkö: - + unit mismatch yksikkö ei täsmää @@ -5323,7 +4630,7 @@ Oletussjärjestelmä on määritetty yleisissä asetuksissa. Gui::Dialog::DockablePlacement - + Placement Sijainti @@ -5375,60 +4682,60 @@ The 'Status' column shows whether the document could be recovered. Ei vielä palautettu - + Unknown problem occurred Tuntematon virhe tapahtui - - + + Failed to recover Palautus epäonnistui - + Successfully recovered Onnistuneesti palautettu - + Finish Valmis - - + + Delete Poista - - + + Cleanup Siivous - + Are you sure you want to delete the selected transient directories? Oletko varma, että haluat poistaa valitut tilapäiset hakemistot? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Kun poistat valitut tilapäiset hakemistot, et voi palauttaa mitään tiedostoja myöhemmin. - + Are you sure you want to delete all transient directories? Oletko varma, että haluat poistaa kaikki tilapäiset hakemistot? - + When deleting all transient directories you won't be able to recover any files afterwards. Kun poistat kaikki tilapäiset hakemistot, et voi palauttaa mitään tiedostoja myöhemmin. - + Transient directories deleted. Tilapäiset hakemistot poistettu. @@ -5552,7 +4859,7 @@ The 'Status' column shows whether the document could be recovered. Kuvakekansiot - + Add icon folder Lisää kuvakekansio @@ -5565,12 +4872,12 @@ The 'Status' column shows whether the document could be recovered. Lisää tai poista mukautettuja kuvakekansioita - + Remove folder Poista kansio - + Removing a folder only takes effect after an application restart. Kansion poistaminen tulee voimaan, kun sovellus on käynnistetty uudelleen. @@ -5640,79 +4947,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Laajenna - + Add sub-group Lisää alaryhmä - - + + Remove group Poista ryhmä - + Rename group Nimeä ryhmä uudelleen - + Export parameter Vie parametri - + Import parameter Tuo parametri - + Collapse Kutista - + Do you really want to remove this parameter group? Haluatko varmasti poistaa tämän muuttujaryhmän? - + Existing sub-group Nykyinen alaryhmä - + The sub-group '%1' already exists. Alaryhmä "%1" on jo olemassa. - + Export parameter to file Vie parametri tiedostoon - + Import parameter from file Tuo parametri tiedostosta - + Import Error Virhe tuotaessa - + Reading from '%1' failed. '%1' lukeminen epäonnistui. @@ -5720,65 +5027,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Muuta arvoa - + Remove key Poista avain - + Rename key Nimeä avain - + New Uusi - + New string item Uuden merkkijonon kohde - + New float item Uuden sijainnin kohde - + New integer item Uuden kokonaisluvun kohde - + New unsigned item Uusi allekirjoittamaton kohde - + New Boolean item Uusi looginen kohde - - - - - + + + + + Existing item Nykyinen kohde - - - - - + + + + + The item '%1' already exists. Kohde "%1" on jo olemassa. @@ -5924,17 +5231,17 @@ The 'Status' column shows whether the document could be recovered. Käytä - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Valitse 1, 2 tai 3 pistettä ennen kuin napsautat tätä painiketta. Piste voi olla kärkipisteessä, pintanäkymässä tai reunassa. Jos käytetty piste on pintanäkymässä tai reunassa, niin käytetään kohtaa hiiren sijainnissa pitkin pintanäkymää tai reunaa. Jos 1 piste on valittuna, sitä käytetään pyörimisen keskipisteenä. Jos 2 pistettä on valittuna, niin niiden välinen keskikohta on kiertämisen keskipiste ja tarvittaessa luodaan uusi mukautettu akseli. Jos on 3 pistettä valittuna, niin ensimmäinen kohta tulee kiertämisen keskipisteeksi ja se sijaitsee vektorilla, joka on normaali 3 pisteen määrittelemällä tasolla. Raportissa esitetään joitakin etäisyys- ja kulmatietoja, jotka voivat olla hyödyllisiä kohdistettaessa kohteita. Mukavuutesi vuoksi, kun Shift + napsautusta käytetään, niin sopiva etäisyys tai kulma kopioidaan leikepöydälle. - + Incorrect quantity Virheellinen määrä - + There are input fields with incorrect input, please ensure valid placement values! Syöttökentissä on virheellisiä tietoja, varmista että on kelvolliset sijoitetut arvot! @@ -5942,12 +5249,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Painike - + Command Komento @@ -6011,17 +5318,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Keksijäpuu - + Name Nimi - + Nodes Solmut @@ -6077,14 +5384,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Peruuta - - + + Transform Muunna @@ -6182,13 +5489,13 @@ originally selected prior to opening this dialog - + Model Malli - + Tasks Tehtävät @@ -6196,7 +5503,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Näytä ominaisuudet @@ -6204,82 +5511,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Asetukset - + Display message types Näytä viestityypit - - + + Normal messages Tavalliset viestit - - + + Log messages Lokiviestit - - + + Warnings Varoitukset - - + + Errors Virheet - - + + Critical messages Critical messages - + Show Report view on Show Report view on - + Redirect Python output Uudelleenohjaa Pythonin tuloste - + Redirect Python errors Uudelleenohjaa Pythonin virheet - + Go to end Siirry loppuun - + Clear Tyhjennä - + Save As... Tallenna nimellä... - + Save Report Output Tallenna raportin sisältö - + Plain Text Files Pelkät tekstitiedostot @@ -6288,13 +5595,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Tuloste - + Python console Python-konsoli @@ -6332,72 +5639,72 @@ originally selected prior to opening this dialog Valitun objektin luettelo - + Select only Valitse vain - + Selects only this object Valitsee vain tämä objektin - + Deselect Poista valinta - + Deselects this object Poistaa tämän objektin valinnan - + Zoom fit Zoomaa sopivaksi - + Selects and fits this object in the 3D window Valitsee ja sovittaa tämän kohteen 3D-ikkunassa - + Go to selection Siirry valintaan - + Selects and locates this object in the tree view Valitsee ja paikantaa tämän kohteen puunäkymässä - + Mark to recompute Merkitse laskettavaksi uudelleen - + Mark this object to be recomputed Merkitse tämä objekti laskettavaksi uudelleen - + To python console Python-konsoliin - + Reveals this object and its subelements in the python console. Paljastaa tämän objektin ja sen alaelementit python-konsolissa. - + Duplicate subshape Monista alimuoto - + Creates a standalone copy of this subshape in the document Luo dokumentissa itsenäisen kopion tästä alimuodosta @@ -6410,7 +5717,7 @@ originally selected prior to opening this dialog Sovellus - + Labels & Attributes Nimilaput & Määritteet @@ -6458,27 +5765,27 @@ Do you want to save your changes? PDF-tiedosto - + untitled[*] Nimetön[*] - + - Editor -Muokkain - + %1 chars removed %1 merkit poistettu - + %1 chars added %1 merkkiä lisätty - + Formatted Alustettu @@ -6502,13 +5809,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Valitse tiedosto - + Select a directory Valitse hakemisto @@ -6516,13 +5823,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Tallenna nimellä - - + + Open Avaa @@ -6530,12 +5837,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Laajennettu - + All files (*.*) Kaikki tiedostot (*.*) @@ -6543,27 +5850,27 @@ Do you want to save your changes? Gui::Flag - + Top left Vasen ylhäällä - + Bottom left Alas vasemmalle - + Top right Oikeasta yläkulmasta - + Bottom right Alas oikealle - + Remove Poista @@ -6571,22 +5878,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Napauta TAI klikkaa hiiren vasenta painiketta. - + Drag screen with two fingers OR press right mouse button. Vedä näyttöä kahdella sormella TAI paina hiiren oikeaa painiketta. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Vedä näyttöä yhdellä sormella TAI paina hiiren vasenta painiketta. Sketcher && muut muokkaustilat, pidä Alt pohjassa lisäksi. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Nipistä (aseta kaksi sormea näytölle ja vedä niitä erilleen tai kohti toisiaan) TAI vieritä hiiren keskipainiketta TAI PgUp/PgDown näppäimistöllä. @@ -6594,74 +5901,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz:iä ei löydy - + Graphviz couldn't be found on your system. Graphvizia ei löytynyt järjestelmästäsi. - + Read more about it here. Lue lisää täältä. - + Do you want to specify its installation path if it's already installed? Haluatko määrittää sen asennuspolun, jos se on jo asennettu? - + Graphviz installation path Graphviz:in asennuspolun - + Graphviz failed Graphviz:in käyttö epäonnistui - + Graphviz failed to create an image file Graphviz ei pystynyt luomaan kuvatiedostoa - + PNG format PNG-muoto - + Bitmap format Bitmap-muoto - + GIF format GIF-muoto - + JPG format JPG-muoto - + SVG format SVG-muoto - - + + PDF format PDF-muoto - - + + Export graph Vie kaavio @@ -6669,12 +5976,12 @@ Do you want to save your changes? Gui::InputField - + Edit Muokkaa - + Save value Tallenna arvo @@ -6682,22 +5989,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Paina CTRL ja hiiren vasenta painiketta - + Press middle mouse button Paina hiiren keskipainiketta - + Press left mouse button Paina hiiren vasenta painiketta - + Scroll middle mouse button Selaa hiiren keskimmäisellä painikkeella @@ -6705,7 +6012,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Lista @@ -6713,66 +6020,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Käyttäjän määrittelemä... - + - - + + Wrong direction Väärä suunta - + - - + + Direction must not be the null vector Suunta ei saa olla null-arvoinen vektori @@ -6780,22 +6087,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Suunta: @@ -6803,17 +6110,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Makrot - + Macro file doesn't exist Makrotiedostoa ei ole olemassa - + No such macro file: '%1' Ei sellaista makrotiedostoa: '%1' @@ -6821,63 +6128,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Mitta - + Ready Valmis - + Help addon needed! Help addon needed! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager Avaa lisäosien hallinta - + Close All Sulje kaikki - - + + Toggles this toolbar Näyttä tai piilota tämä työkalurivi - - + + Toggles this dockable window Näytä tai piilota telakointiasema ikkunasta - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document Tallentamaton asiakirja - + The exported object contains external link. Please save the documentat least once before exporting. Viety objekti sisältää ulkoisen linkin. Tallenna asiakirja vähintään kerran ennen vientiä. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Linkittääksesi ulkoisiin objekteihin, asiakirja on tallennettava vähintään kerran. @@ -6887,63 +6204,63 @@ Haluatko tallentaa asiakirjan nyt? Gui::ManualAlignment - - - - - + + + + + Manual alignment Manuaalinen kohdistus - + The alignment is already in progress. Yhdenmukaistaminen on jo käynnissä. - + Alignment[*] Yhdenmukaistaminen [*] - + Please, select at least one point in the left and the right view Ole hyvä ja valitse ainakin yksi kohta vasemmasta ja oikeanpuoleisesta näkymästä - + Please, select at least %1 points in the left and the right view Ole hyvä ja valitse ainakin %1 kohtaa vasemmasta ja oikeanpuoleisesta näkymästä - + Please pick points in the left and right view Valitse kohtia vasemmasta- ja oikeanpuoleisesta näkymästä - + The alignment has finished Yhdenmukaistaminen on päättynyt - + The alignment has been canceled Yhdenmukaistaminen on peruutettu - - + + Too few points picked in the left view. At least %1 points are needed. Liian vähän kohteita valittu vasemmasta näkymästä. Ainakin %1 kohdetta pitää valita. - - + + Too few points picked in the right view. At least %1 points are needed. Liian vähän kohteita valittu oikeanpuoleisesta näkymästä. Ainakin %1 kohdetta pitää valita. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6952,58 +6269,58 @@ Vasemmanpuoleisesta näkymästä on valittu %1 kohdetta Oikeanpuoleisesta näkymästä on valittu %2 kohdetta. - + Try to align group of views Yritä yhdenmukaistaa ryhmien näkymät - + The alignment failed. How do you want to proceed? Tasauksen epäonnistui. Miten haluat jatkaa? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Eri määrä kohteita valittu vasemmammasta- ja oikeanpuoleisesta näkymästä.Vasemmanpuoleisesta näkymästä on valittu %1 kohdetta. Oikeanpuoleisesta näkymästä on valittu %2 kohdetta. - + Point_%1 Point_%1 - + Point picked at (%1,%2,%3) Kohteita valittu koordinaateissa (%1, %2, %3) - + No point was found on model Yhtään pistettä ei löytynyt mallista - + No point was picked Yhtään kohdetta ei valittu - + &Align &Align - + &Remove last point &Remove last point - + &Cancel &Peruuta - + &Synchronize views &Synchronize views @@ -7011,22 +6328,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Napauta TAI klikkaa hiiren vasenta painiketta. - + Drag screen with two fingers OR press ALT + middle mouse button. Vedä näyttöä kahdella sormella TAI paina ALT + hiiren keskipainiketta. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Vedä näyttö yhdellä sormella TAI paina ALT + hiiren vasenta painiketta. Sketcherissä ja muissa muokkaustiloissa, pidä Alt pohjassa lisäksi. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Nipistä (aseta kaksi sormea näytölle ja vedä niitä erilleen tai kohti toisiaan) TAI vieritä hiiren keskipainiketta TAI paina ALT + hiiren oikeaa painiketta TAI PgUp/PgDown näppäimistöllä. @@ -7034,7 +6351,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Press modifier keys @@ -7050,22 +6367,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Paina hiiren vasenta painiketta - + Press CTRL and middle mouse button Paina SHIFT ja hiiren keskipainiketta - + Press CTRL and right mouse button Paina CTRL ja hiiren oikeaa painiketta - + Press CTRL and left mouse button Paina CTRL ja hiiren vasenta painiketta @@ -7073,22 +6390,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Paina hiiren vasenta painiketta - + Press right mouse button and move mouse Press right mouse button and move mouse - + Press left mouse button and move mouse Press left mouse button and move mouse - + Press middle mouse button or SHIFT and right mouse button Press middle mouse button or SHIFT and right mouse button @@ -7096,17 +6413,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Muokkaa - + Save value Tallenna arvo - + Clear list Tyhjennä luettelo @@ -7137,12 +6454,12 @@ How do you want to proceed? Jäljellä: %1 - + Aborting Keskeytetään - + Do you really want to abort the operation? Haluatko todella keskeyttää toiminnon? @@ -7150,7 +6467,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Vaihda linkitetty objekti @@ -7158,12 +6475,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Virhe - + Object not found Objektia ei löydy @@ -7234,13 +6551,13 @@ How do you want to proceed? Gui::PropertyView - + View Näytä - + Data Tiedot @@ -7287,77 +6604,77 @@ Do you want to exit without saving your data? Käsittelemätön tuntematon C++-poikkeus. - + &Copy &Kopioi - + &Copy command &Kopioi komento - + &Copy history &Kopiointi historia - + Save history as... Tallenna historia nimellä... - + Save history Tallenna historia - + Saves Python history across %1 sessions Tallentaa Pythonin historian %1 istunnon aikana - + &Paste &Liitä - + Select All Valitse kaikki - + Clear console Tyhjennä konsoli - + Insert file name... Lisää tiedostonimi... - + Word wrap Rivitys - + Save History Tallenna historia - + Macro Files Makrotiedostot - + Insert file name Lisää tiedostonimi - + All Files Kaikki tiedostot @@ -7365,7 +6682,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Kommentti @@ -7378,17 +6695,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Avaa tiedosto %1 - + File not found Tiedostoa ei löydy - + The file '%1' cannot be opened. Tiedostoa '%1' ei voi avata. @@ -7396,22 +6713,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none ei mitään - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Run macro %1 (Shift+click to edit) keyboard shortcut: %2 - + File not found Tiedostoa ei löydy - + The file '%1' cannot be opened. Tiedostoa '%1' ei voi avata. @@ -7419,22 +6736,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Paina hiiren vasenta painiketta - + Press middle mouse button Paina hiiren keskipainiketta - + Press SHIFT and middle mouse button Paina SHIFT ja hiiren keskipainiketta - + Scroll middle mouse button Selaa hiiren keskimmäisellä painikkeella @@ -7465,17 +6782,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Valitse moduuli - + Open %1 as Avaa kuin %1 - + Select Valitse @@ -7544,13 +6861,13 @@ Haluatko valita toisen hakemiston? Gui::StdCmdPythonHelp - + Automatic python modules documentation Automaattinen python moduulien dokumentaatio - - + + Opens a browser to show the Python modules documentation Avaa selain näyttämään Python moduulien dokumentaatio @@ -7703,38 +7020,38 @@ Haluatko valita toisen hakemiston? Gui::TextDocumentEditorView - + Text updated Teksti päivitetty - + The text of the underlying object has changed. Discard changes and reload the text from the object? Alaolevan kohteen teksti on muuttunut. Hylkää muutokset ja lataa teksti uudelleen kohteesta? - + Yes, reload. Kyllä, lataa uudelleen. - + Unsaved document Tallentamaton asiakirja - + Do you want to save your changes before closing? Haluatko tallentaa muutokset ennen poistumista? - + If you don't save, your changes will be lost. Jos et tallenna, niin tekemäsi muutokset menetetään. - - + + Edit text Muokkaa tekstiä @@ -7742,22 +7059,22 @@ Haluatko valita toisen hakemiston? Gui::TinkerCADNavigationStyle - + Press left mouse button Paina hiiren vasenta painiketta - + Press middle mouse button Paina hiiren keskipainiketta - + Press right mouse button Paina hiiren oikeaa painiketta - + Scroll middle mouse button Selaa hiiren keskimmäisellä painikkeella @@ -7765,22 +7082,22 @@ Haluatko valita toisen hakemiston? Gui::TouchpadNavigationStyle - + Press left mouse button Paina hiiren vasenta painiketta - + Press SHIFT button Paina SHIFT-näppäintä - + Press ALT button Paina ALT-näppäintä - + Press CTRL and SHIFT buttons Paina CTRL- ja SHIFT-näppäimiä @@ -8006,7 +7323,7 @@ Haluatko valita toisen hakemiston? Gui::TreeDockWidget - + Tree view Puunäkymä @@ -8014,7 +7331,7 @@ Haluatko valita toisen hakemiston? Gui::TreePanel - + Search Haku @@ -8022,183 +7339,183 @@ Haluatko valita toisen hakemiston? Gui::TreeWidget - + Search... Etsi... - + Search for objects Etsi objekteja - + Activate document Aktivoi asiakirja - + Activate document %1 Aktivoi asiakirja %1 - + Tree settings Puunäkymän asetukset - + Show description column Näytä kuvauksien sarake - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Näytä lisäsarake, jossa näkyy kuvaus toiminnosta. Toiminnon kuvaus voidaan asettaa näppäimellä F2 (tai käyttöjärjestelmän muokkaa-toiminnolla), tai muokkaamalla 'label2'-ominaisuutta. - + Group Ryhmä - + Labels & Attributes Nimilaput & Määritteet - + Description Kuvaus - + Show items hidden in tree view Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view Toggles the visibility of selected items in the tree view - + Create group... Luo ryhmä... - + Create a group Ryhmän luominen - - + + Rename Nimeä uudelleen - + Rename object Nimeä objekti uudelleen - + Finish editing Lopeta muokkaaminen - + Finish editing object Lopeta objektin muokkaaminen - + Add dependent objects to selection Lisää riippuvaisia objekteja valintaan - + Adds all dependent objects to the selection Lisää kaikki riippuvaiset objektit valintaan - + Close document Sulje asiakirja - + Close the document Sulje asiakirja - + Reload document Lataa asiakirja uudelleen - + Reload a partially loaded document Lataa osittain ladattu asiakirja uudelleen - + Skip recomputes Ohita uudelleenlaskenta - + Enable or disable recomputations of document Ota käyttöön tai poista käytöstä asiakirjan uudelleenlaskenta - + Allow partial recomputes Salli osittainen uudelleenlaskenta - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Ota käyttöön tai poista käytöstä kohteen uudelleenlaskenta kun 'ohita uudelleenlaskenta' on käytössä - + Mark to recompute Merkitse laskettavaksi uudelleen - + Mark this object to be recomputed Merkitse tämä objekti laskettavaksi uudelleen - + Recompute object Laske objekti uudelleen - + Recompute the selected object Laske uudelleen valittu objekti - + (but must be executed) (mutta on suoritettava) - + %1, Internal name: %2 %1, Sisäinen nimi: %2 @@ -8229,12 +7546,12 @@ Haluatko valita toisen hakemiston? PDF-tiedosto - + Opening file failed Tiedoston avaaminen epäonnistui - + Can't open file '%1' for writing. Tiedostoon ”%1” ei voida tallentaa. @@ -8242,7 +7559,7 @@ Haluatko valita toisen hakemiston? Gui::WorkbenchGroup - + Select the '%1' workbench Valitse työpöytä '%1' @@ -8250,37 +7567,37 @@ Haluatko valita toisen hakemiston? MAC_APPLICATION_MENU - + Services Palvelut - + Hide %1 Piilota %1 - + Hide Others Piilota muut - + Show All Näytä kaikki - + Preferences... Asetukset... - + Quit %1 Lopeta %1 - + About %1 Tietoja %1 @@ -8300,11 +7617,6 @@ Haluatko valita toisen hakemiston? Position - - - Form - Lomake - X: @@ -8399,14 +7711,14 @@ Haluatko valita toisen hakemiston? PropertyListDialog - - + + Invalid input Virheellinen syöte - - + + Input in line %1 is not a number Syötetty tieto viivalla %1 ei ole numero @@ -8414,37 +7726,37 @@ Haluatko valita toisen hakemiston? QDockWidget - + Tree view Puunäkymä - + Property view Ominaisuusnäkymä - + Selection view Valintanäkymä - + Combo View Yhdistelmänäkymä - + DAG View DAG-näkymä - + Report view Raporttinäkymä - + Python console Python-konsoli @@ -8457,31 +7769,32 @@ Haluatko valita toisen hakemiston? QObject - - + + General Yleiset - - + + + Display Näyttö - + Workbenches Työpöydät - - - + + + Python Python @@ -8509,17 +7822,27 @@ Haluatko valita toisen hakemiston? Ei voi tallentaa tuntematonta tiedostotyyppiä:%1 - + Workbench failure Työpöydän häiriö - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Poikkeus @@ -8565,8 +7888,8 @@ Haluatko valita toisen hakemiston? Viedään PDF... - + Unsaved document Tallentamaton asiakirja @@ -8587,39 +7910,39 @@ Haluatko valita toisen hakemiston? Riippuvuusvirhe - + Copy selected Kopioi valitut - + Copy active document Kopioi aktiivinen asiakirja - + Copy all documents Kopioi kaikki asiakirjat - + Paste Liitä - + Expression error Lausekevirhe - + Failed to parse some of the expressions. Please check the Report View for more details. Joitakin lausekkeita ei voitu jäsentää. Ole hyvä ja tarkista raporttinäkymä saadaksesi lisätietoja. - + Failed to paste expressions Lausekkeiden liittäminen epäonnistui @@ -8655,225 +7978,225 @@ Be aware the point where you click matters. Huomaa, että piste johon klikkaat vaikuttaa. - - + + Save views... Tallenna näkymät ... - - + + Load views... Lataa näkymät... - - + + Freeze view Tallenna näkymä - - + + Clear views Puhdista näkymät - - - + + + Restore view &%1 Palauta näkymä &%1 - + Save frozen views Jäädytettyjen näkymien tallentaminen - - + + Frozen views Jäädytetyt näkymät - - + + Restore views Palauta näkymät - + Importing the restored views would clear the already stored views. Do you want to continue? Palautettujen näkymien tuonti puhdistaisi aikaisemmin tallennetut näkymät. Haluatko jatkaa? - + Restore frozen views Palauta jäädytetyt näkymät - + Cannot open file '%1'. Tiedostoa '%1' ei voi avata. - + files tiedostot - + Save image Tallenna kuva - + Choose an image file to open Valitse avattava kuvatiedosto - + New sub-group Uusi alaryhmä - - - - - - + + + + + + Enter the name: Kirjoita nimi: - - + + New text item Uusi kohdeteksti - - + + Enter your text: Kirjoita teksti: - - + + New integer item Uuden kokonaisluvun kohde - - - - - - + + + + + + Enter your number: Syötä numero: - - + + New unsigned item Uusi allekirjoittamaton kohde - - + + New float item Uuden sijainnin kohde - + New Boolean item Uusi looginen kohde - - + + Choose an item: Valitse kohde: - + New boolean item Uusi looginen kohde - + Rename group Nimeä ryhmä uudelleen - + The group '%1' cannot be renamed. Ryhmää '%1' ei voi nimetä uudelleen. - + Existing group Aiemmin luotu ryhmä - + The group '%1' already exists. Ryhmä '%1' on jo olemassa. - - - - - + + + + + Change value Muuta arvoa - + Type Tyyppi - + Notifier Notifier - + Message Message - + Notifier: Notifier: - + Do you want to skip confirmation of further critical message notifications while loading the file? Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message Kriittinen viesti - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8882,44 +8205,44 @@ Haluatko jatkaa? - + Are you sure you want to continue? Haluatko varmasti jatkaa? - + Please check report view for more... Please check report view for more... - + Physical path: Fyysinen polku: - - + + Document: Document: - - + + Path: Polku: - + Identical physical path Identtinen fyysinen polku - + Could not save document Could not save document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8932,102 +8255,102 @@ Would you like to save the file with a different name? Would you like to save the file with a different name? - - - + + + Saving aborted Tallentaminen keskeytettiin - + Save dependent files Tallenna riippuvaiset tiedostot - + The file contains external dependencies. Do you want to save the dependent files, too? Tiedosto sisältää ulkoisia riippuvuuksia. Haluatko tallentaa myös riippuvaiset tiedostot? - - + + Saving document failed Asiakirjan tallennus epäonnistui - + Save document under new filename... Tallenna asiakirja uudella tiedostonimellä... - - + + Save %1 Document Tallenna %1-asiakirja - + Document Asiakirja - - + + Failed to save document Asiakirjan tallennus epäonnistui - + Documents contains cyclic dependencies. Do you still want to save them? Asiakirjat sisältävät syklisiä riippuvuuksia. Haluatko silti tallentaa ne? - + Save a copy of the document under new filename... Tallenna kopio asiakirjasta uudelle tiedostonimelle... - + %1 document (*.FCStd) %1-asiakirja (*.FCStd) - + Document not closable Asiakirja ei ole suljettavissa - + The document is not closable for the moment. Asiakirja ei ole tällä hetkellä suljettavissa. - + Document not saved Document not saved - + The document%1 could not be saved. Do you want to cancel closing it? The document%1 could not be saved. Do you want to cancel closing it? - + Undo Kumoa - + Redo Tee uudelleen - + There are grouped transactions in the following documents with other preceding transactions Seuraavissa asiakirjoissa on ryhmiteltyjä yhteistoimintoja muiden edeltävien yhteistoimintojen kanssa - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9041,95 +8364,95 @@ Valitse 'Abort' keskeyttääksesi Tallenna makro - - + + Finish Valmis - - + + Clear Tyhjennä - - - + + + Cancel Peruuta - + Inner Sisempi - + Outer Ulompi - + Split Jaa osiin - - + + No Browser Ei selain - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. Selaimen avaaminen ei onnistu. Avaa selainikkuna ja kirjoita: http://localhost:%1. - + No Server Ei palvelinta - + Unable to start the server to port %1: %2. Ei voitu käynnistää palvelimen porttia %1:%2. - + Unable to open your system browser. Järjestelmän selaimen avaaminen ei onnistu. - + Options... Asetukset... - + Out of memory Muisti loppui - + Not enough memory available to display the data. Muisti ei riitä tietojen näyttämiseen. - - + + Cannot find file %1 Tiedostoa %1 ei löydy - + Cannot find file %1 neither in %2 nor in %3 Ei voida löytää tiedostoja %1, %2 ja %3 - + Navigation styles Navigointityylit @@ -9139,8 +8462,8 @@ Please open a browser window and type in: http://localhost:%1. Siirrä lisähuomautusta - - + + Transform Muunna @@ -9150,42 +8473,42 @@ Please open a browser window and type in: http://localhost:%1. Haluatko sulkea tämän valintaikkunan? - + Do you want to save your changes to document '%1' before closing? Haluatko tallentaa asiakirjan "%1" muutokset ennen sulkemista? - + Do you want to save your changes to document before closing? Haluatko tallentaa asiakirjan muutokset ennen sulkemista? - + If you don't save, your changes will be lost. Jos et tallenna, niin tekemäsi muutokset menetetään. - + Apply answer to all Käytä samaa vastausta kaikkiin - + %1 Document(s) not saved %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? Some documents could not be saved. Do you want to cancel closing? - + Delete macro Poista makro - + Not allowed to delete system-wide macros Järjestelmän laajuisten makrojen poistaminen ei ole sallittua @@ -9195,27 +8518,27 @@ Please open a browser window and type in: http://localhost:%1. Origo - + Delete group content? Poista ryhmän sisältö? - + The %1 is not empty, delete its content as well? The %1 ei ole tyhjä, poista myös sen sisältö? - + Translation: Sijainti: - + Rotation: Kierto: - + Toggle active part Vaihda aktiivinen osa @@ -9278,88 +8601,88 @@ Please open a browser window and type in: http://localhost:%1. Kaikkien linkkien tuominen epäonnistui - - + + Invalid name Virheellinen nimi - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Ominaisuuden nimi tai ryhmän nimi saa sisältää vain alfa numeerisia merkkejä, alaviivoja, eikä se saa alkaa numerolla. - + The property '%1' already exists in '%2' Ominaisuus '%1' on jo olemassa '%2':ssa - + Add property Lisää ominaisuus - + Failed to add property to '%1': %2 Ominaisuutta ei voitu lisätä kohteeseen '%1': %2 - - + + Drag & drop failed Vedä & pudota epäonnistui - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed Please select which objects to copy when the configuration is changed - + Apply to all Käytä kaikkiin - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Apply the setting to all links. Or, uncheck this option to apply only to this link. - + Copy on change Copy on change - + Enable Käytä - + Enable auto copy of linked object when its configuration is changed Enable auto copy of linked object when its configuration is changed - + Tracking Seuranta - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9368,17 +8691,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Disable copy on change - + Refresh configurable object Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9389,28 +8712,28 @@ the current copy will be lost. - + Toggle array elements Toggle array elements - + Change whether show each link array element as individual objects Change whether show each link array element as individual objects - + Transform at the origin of the placement Transform at the origin of the placement - - + + Override colors... Ohita värejä... - + Edit %1 Muokkaa %1 @@ -9433,12 +8756,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Ei sallittu: - + Selection not allowed by filter Suodatin ei salli valintaa @@ -9446,9 +8769,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Laatikon elementin valinta @@ -9456,13 +8779,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Laatikon valinta - - + + Activate the box selection tool Activate the box selection tool @@ -9540,13 +8863,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Akselien risteysmerkintä päälle/pois - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9652,13 +8975,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Näytä pyörähdyspöytä... - - + + View turntable Näytä pyörähdyspöytä @@ -9778,13 +9101,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Piirrostyyli - - + + Change the draw style of the objects Muuta objektien piirtotyyliä @@ -9848,13 +9171,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Lausekkeen toiminnot - - + + Actions that apply to expressions Actions that apply to expressions @@ -9971,13 +9294,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Näkymän tallentaminen - - + + Freezes the current view position Nykyisen näkymän sijainti jumittuu @@ -9998,13 +9321,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Piilota kaikki objektit - - + + Hide all objects in the document Piilota kaikki objektit asiakirjassa @@ -10012,13 +9335,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Piilota valinta - - + + Hide all selected objects Piilota kaikki valitut objektit @@ -10292,13 +9615,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Mittaa etäisyys - - + + Activate the distance measurement tool Activate the distance measurement tool @@ -10357,8 +9680,8 @@ the current copy will be lost. Luo uusi tyhjä asiakirja - - + + Unnamed Nimetön @@ -10586,8 +9909,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Viimeisimmät tiedostot + Open Recent + Open Recent @@ -10725,13 +10048,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Näkymän tarkastaja... - - + + Scene inspector Näkymän tarkastaja @@ -10739,13 +10062,13 @@ the current copy will be lost. StdCmdSelBack - + &Back Takaisin &B - - + + Go back to previous selection Siirry edelliseen valintaan @@ -10753,13 +10076,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Kehykset - - + + Show selection bounding box Näytä valintaa rajaava laatikko @@ -10767,13 +10090,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward Eteenpäin - - + + Repeat the backed selection Toista tallennettu valinta @@ -10795,13 +10118,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Valitse näkyvät objektit - - + + Select visible objects in the active document Valitse aktiivisen asiakirjan näkyvät objektit @@ -10823,13 +10146,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Ulkoasu... - - + + Sets the display properties of the selected object Asettaa vaöotun objektin näkyvyysominaisuudet @@ -10837,13 +10160,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Näytä kaikki objektit - - + + Show all objects in the document Näytä kaikki objektit asiakirjassa @@ -10851,13 +10174,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Näytä valinta - - + + Show all selected objects Näytä kaikki valitut objektit @@ -10893,13 +10216,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Teksturointi... - - + + Texture mapping Teksturointi @@ -10935,13 +10258,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Leikkaustaso - - + + Toggles clipping plane for active view Asettaa leikkaustason aktiiviselle näkymällä pois/päälle @@ -10949,13 +10272,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Vaihda navigointi/muokkaustilojen välillä - - + + Toggle between navigation and edit mode Vaihda navigointi ja edit tilojen välillä @@ -10963,13 +10286,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Aseta kaikki objektit päälle/pois - - + + Toggles visibility of all objects in the active document Kytkee pois/päälle kaikkien objektien näkyvyyden aktiivisessa dokumentissa @@ -10977,13 +10300,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Kytke valintakyvykkyys pois/päälle - - + + Toggles the property of the objects to get selected in the 3D-View Valitsee pois/päälle ominaisuuden jolla objektit valitaan 3D-näkymässä @@ -10991,13 +10314,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Valitse pois/päälle näkyvyys - - + + Toggles visibility Valitse pois/päälle näkyvyys @@ -11047,13 +10370,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Kutista valittu kohde - - + + Collapse currently selected tree items Tiivistä valitut puukohteet @@ -11061,13 +10384,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Laajenna valittu kohde - - + + Expand currently selected tree items Laajenna valitut puukohteet @@ -11075,13 +10398,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Valitse kaikki instanssit - - + + Select all instances of the current selected object Valitse kaikki valitun objektin ilmentymät @@ -11089,13 +10412,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions Puunäkymän (TreeView) toiminnot - - + + TreeView behavior options and actions Puunäkymän käyttäytymisvaihtoehdot ja toiminnot @@ -11159,13 +10482,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Pohja - - + + Set to bottom view Aseta näkymä alhaalta @@ -11173,13 +10496,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Luo uusi näkymä - - + + Creates a new view window for the active document Luo uuden näkymäikkunan aktiiviselle dokumentille @@ -11187,13 +10510,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimetrinen - - + + Set to dimetric view Aseta dimetriseen näkymään @@ -11201,13 +10524,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Keksijä esimerkki #1 - - + + Shows a 3D texture with manipulator Näyttää 3D tekstuurin manipuloijalla @@ -11215,13 +10538,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Keksijä esimerkki #2 - - + + Shows spheres and drag-lights Näyttää ympyrät ja vedettävät valot @@ -11229,13 +10552,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Keksijä esimerkki #3 - - + + Shows a animated texture Näyttää animoidun pintarakenteen @@ -11243,13 +10566,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Sovita kaikki - - + + Fits the whole content on the screen Sovittaa koko ruudun sisällön @@ -11257,13 +10580,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Sovita valinta - - + + Fits the selected content on the screen Sovittaa valitun sisällön ruudulle @@ -11271,13 +10594,13 @@ the current copy will be lost. StdCmdViewFront - + Front Etupuoli - - + + Set to front view Aseta näkymä edestä @@ -11285,13 +10608,13 @@ the current copy will be lost. StdCmdViewHome - + Home Koti - - + + Set to default home view Aseta oletuskotinäkymään @@ -11299,13 +10622,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Isometrinen - - + + Set to isometric view Aseta isometriseksi näkymäksi @@ -11313,13 +10636,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Määritä kameran paikka - - + + Issue the camera position to the console and to a macro, to easily recall this position Määritä kameran sijainti konsolilla ja makroon jotta voit helposti palata tähän kamerasijaintiin @@ -11327,13 +10650,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereolomitetut sarakkeet - - + + Switch stereo viewing to Interleaved Columns Vaihda stereonäkymä lomitettuihin sarakkeisiin @@ -11341,13 +10664,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Stereolomitetut rivit - - + + Switch stereo viewing to Interleaved Rows Vaihda stereonäkymä lomitettujen rivien näkymään @@ -11355,13 +10678,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Stereo pois päältä - - + + Switch stereo viewing off Kytkin stereo katselu pois @@ -11369,13 +10692,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo nelipuskurointi - - + + Switch stereo viewing to quad buffer Vaihda stereokatselu nelipuskurointiin @@ -11383,13 +10706,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo punainen/syaani - - + + Switch stereo viewing to red/cyan Vaihda stereokatselu punainen/syaani -näkymään @@ -11397,13 +10720,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Vasen - - + + Set to left view Aseta näkymä vasemmalta @@ -11411,13 +10734,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Takana - - + + Set to rear view Aseta näkymä takaa @@ -11439,13 +10762,13 @@ the current copy will be lost. StdCmdViewRight - + Right Oikea - - + + Set to right view Aseta näkymä oikealta @@ -11453,13 +10776,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Kierrä vasemmalle - - + + Rotate the view by 90° counter-clockwise Kierrä näkymää 90° vastapäivään @@ -11467,13 +10790,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Kierrä oikealle - - + + Rotate the view by 90° clockwise Kierrä näkymää 90° myötäpäivään @@ -11495,13 +10818,13 @@ the current copy will be lost. StdCmdViewTop - + Top Yläpuoli - - + + Set to top view Aseta näkymä ylhäältä @@ -11509,13 +10832,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimetrinen - - + + Set to trimetric view Aseta trimetriseen näkymään @@ -11523,13 +10846,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Laajentaa FreeCAD 3D-näkymä Oculus Rift :iin @@ -11593,13 +10916,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Kokoruututila - - + + Display the main window in fullscreen mode Näytä pääikkuna koko näytön tilassa @@ -11635,13 +10958,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11649,13 +10972,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11663,13 +10986,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Tiivistä/Laajenna - - + + Expand active document and collapse all others Laajenna aktiivinen asiakirja ja kutista kaikki muut @@ -11677,12 +11000,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Käynnistä vetämällä - + Initiate dragging of current selected tree items Aloita valitun puun nimikkeiden vetäminen @@ -11690,13 +11013,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Useita asiakirjoja - - + + Display all documents in the tree view Näytä kaikki asiakirjat puunäkymässä @@ -11704,12 +11027,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Esivalinta - + Preselect the object in 3D view when mouse over the tree item Esivalitse objekti 3D-näkymässä, kun hiiri on puu kohteen yllä @@ -11717,12 +11040,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Tallennuksen valinta - + Record selection in tree view in order to go back/forward using navigation button Tallenna valinta puunäkymään, jotta voit siirtyä takaisin/eteenpäin navigointipainikkeella @@ -11730,13 +11053,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Siirry valintaan - - + + Scroll to first selected item Vieritä ensimmäiseen valittuun kohteeseen @@ -11744,13 +11067,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Yksi asiakirja - - + + Only display the active document in the tree view Näytä vain aktiivinen asiakirja puunäkymässä @@ -11758,12 +11081,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Synkronoi sijoitus - + Auto adjust placement on drag and drop objects across coordinate systems Säädä automaattisesti sijoitusta vedä ja pudota -kohteissa koordinaattijärjestelmien välillä @@ -11771,12 +11094,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Synkronoi valinta - + Auto expand tree item when the corresponding object is selected in 3D view Laajenna puun kohde automaattisesti kun vastaava objekti on valittu 3D-näkymässä @@ -11784,12 +11107,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Synkronoi näkymä - + Auto switch to the 3D view containing the selected item Vaihda automaattisesti 3D-näkymään, joka sisältää valitun kohteen @@ -11797,13 +11120,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Valitun alueen zoomaus - - + + Activate the box zoom tool Activate the box zoom tool @@ -11811,13 +11134,13 @@ the current copy will be lost. StdViewDock - + Docked Telakoitu - - + + Display the active view either in fullscreen, in undocked or docked mode Näyttää aktiivisen näkymän joko kokoruututilassa, leijuvaikkunaisena tai kiinnitettynä @@ -11825,13 +11148,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Asiakirjaikkuna - - + + Display the active view either in fullscreen, in undocked or docked mode Näyttää aktiivisen näkymän joko kokoruututilassa, leijuvaikkunaisena tai kiinnitettynä @@ -11839,13 +11162,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Kokoruututila - - + + Display the active view either in fullscreen, in undocked or docked mode Näyttää aktiivisen näkymän joko kokoruututilassa, leijuvaikkunaisena tai kiinnitettynä @@ -11853,13 +11176,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Save image... - - + + Creates a screenshot of the active view Luo kuvakaappaus aktiivisesta näkymästä @@ -11867,13 +11190,13 @@ the current copy will be lost. StdViewUndock - + Undocked Irrallinen - - + + Display the active view either in fullscreen, in undocked or docked mode Näyttää aktiivisen näkymän joko kokoruututilassa, leijuvaikkunaisena tai kiinnitettynä @@ -11881,13 +11204,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Suurenna - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11895,13 +11218,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Loitonna - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11936,72 +11259,72 @@ Oletko varma, että haluat jatkaa? Std_DrawStyle - + As is Sellaisenaan - + Normal mode Normaalitila - + Points Pisteet - + Points mode Pisteiden tila - + Wireframe Rautalankamalli - + Wireframe mode Rautalankamallitila - + Hidden line Piilotettu viiva - + Hidden line mode Piilotettu rivi tila - + No shading Ei varjostusta - + No shading mode Ei varjostustilaa - + Shaded Varjostettu - + Shaded mode Varjostettu tila - + Flat lines Tasaiset viivat - + Flat lines mode Tasaisten rivien tila @@ -12064,32 +11387,32 @@ Haluatko silti jatkaa? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12097,117 +11420,117 @@ Haluatko silti jatkaa? Workbench - + &File &Tiedosto - + &Edit &Muokkaa - + Edit Muokkaa - + Clipboard Leikepöytä - + Workbench Työpöytä - + Structure Rakenne - + Standard views Standardinäkymät - + Axonometric Aksonometrisiä - + &Stereo &Stereo - + &Zoom &Suurennus - + Visibility Näkyvyys - + &View &Näytä - + &Tools T&yökalut - + &Macro &Makro - + &Windows &Ikkunat - + &On-line help &Verkko-ohje - + &Help &Ohje - + Help Ohje - + File Tiedosto - + Macro Makro - + View Näytä - + Special Ops Erityisoperaatiot - + Link actions Linkin toiminnot @@ -12215,12 +11538,12 @@ Haluatko silti jatkaa? Gui::MDIView - + Export PDF Vie PDF - + PDF file PDF-tiedosto @@ -12228,196 +11551,190 @@ Haluatko silti jatkaa? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Ilmoitusalue - + Settings Asetukset - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Ota ilmoitusalue käyttöön - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Muut tietolähteet - + Errors intended for developers will appear in the notification area Errors intended for developers will appear in the notification area - + Debug errors Virhekorjauksen virheet - + Warnings intended for developers will appear in the notification area Warnings intended for developers will appear in the notification area - + Debug warnings Virhekorjauksen varoitukset - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Vähimmäiskesto: - + Maximum Duration: Enimmäiskesto: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Ilmoitusten enimmäismäärä: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Saatavilla olevat työpöydät - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches Valitse, mikä työpöytä aktivoituu ja näytetään FreeCAD käynnistyksen jälkeen - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12430,12 +11747,12 @@ FreeCAD käynnistyksen jälkeen 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport Jos valittu, sovellus muistaa, mikä työpöytä on aktiivinen kullekin näkymän välilehdelle - + Remember active workbench by tab Muista aktiivinen työpöytä välilehdellä @@ -12584,47 +11901,47 @@ FreeCAD käynnistyksen jälkeen Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded Ladattu - + Load Lataa - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12632,17 +11949,22 @@ FreeCAD käynnistyksen jälkeen Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Työkalupalkki - + Left corner Vasen kulma - + Right corner Oikea kulma @@ -12668,12 +11990,12 @@ FreeCAD käynnistyksen jälkeen Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Poista kaikki @@ -12709,13 +12031,13 @@ FreeCAD käynnistyksen jälkeen StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image @@ -12777,10 +12099,816 @@ FreeCAD käynnistyksen jälkeen Gui::ExpLineEdit - - + + An error occurred -- see Report View for information An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + Muokkain + + + + Options + Asetukset + + + + Code lines will be numbered + Koodirivit numeroidaan + + + + Enable line numbers + Ota rivinumerot käyttöön + + + + The cursor shape will be a block + The cursor shape will be a block + + + + Enable block cursor + Enable block cursor + + + + Enable folding + Ota taivutus käyttöön + + + + Indentation + Sisennys + + + + Tab size: + Sarkaimen koko: + + + + Tabulator raster (how many spaces) + Tabulaattori rasteri (kuinka monta välilyöntiä) + + + + Indent size: + Sisennyksen koko: + + + + How many spaces will be inserted when pressing <Tab> + Kuinka monta välilyöntiä lisätään painettaessa <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Painamalla <Tab> lisätään määrittelyn suuruinen sisennys + + + + Keep tabs + Pidä TAB:it + + + + Pressing <Tab> will insert amount of defined indent size + Painamalla <Tab> lisätään määritetyn sisennyksen kokoa + + + + Insert spaces + Lisää välilyöntejä + + + + Display items + Näytä kohteet + + + + Color and font settings will be applied to selected type + Väri- ja fonttiasetukset otetaan käyttöön valitussa tyypissä + + + + Family: + Perhe: + + + + Font family to be used for selected code type + Kirjasinperhe, jota käytetään valittuun koodityyppiin + + + + Size: + Koko: + + + + Font size to be used for selected code type + Kirjasimen koko, jota käytetään valittuun koodityyppiin + + + + Color: + Väri: + + + + Preview: + Esikatselu: + + + + Text + Teksti + + + + Bookmark + Kirjanmerkki + + + + Breakpoint + Keskeytyskohta + + + + Keyword + Avainsana + + + + Comment + Kommentti + + + + Block comment + Estä kommentti + + + + Number + Numero + + + + String + Merkkijono + + + + Character + Merkki + + + + Class name + Luokan nimi + + + + Define name + Määritä nimi + + + + Operator + Operaattori + + + + Python output + Python-tuloste + + + + Python error + Python-virhe + + + + Current line highlight + Nykyinen rivin korostus + + + + Items + Osat + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Yleiset + + + + Language and number format + Kieli ja numerojen muoto + + + + Language: + Kieli: + + + + Language of the application's user interface + Sovelluksen käyttöliittymän kieli + + + + Unit system: + Yksikköjärjestelmä: + + + + Unit system that should be used for all parts of the application + Unit system that should be used for all parts of the application + + + + Number of decimals: + Desimaalien määrä: + + + + Number of decimals that should be shown for numbers and dimensions + Numeroiden ja mittojen osalta esitettävä desimaalien määrä + + + + Minimum fractional inch: + Pienin murto-osa tuumaa: + + + + Minimum fractional inch to be displayed + Pienin tuuman murtoluku, joka näytetään + + + + Number format: + Numeron muoto: + + + + Operating system + Käyttöjärjestelmä + + + + Selected language + Valittu kieli + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + Substitute decimal separator + Substitute decimal separator + + + + Application + Sovellus + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Työkalurivin kuvakkeiden koko: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Valitse haluamasi työkalupalkin kuvakkeen koko. Voit säätää +tätä näytön koon tai henkilökohtaisen maun mukaan + + + + Tree view mode: + Puunäkymän tila: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Mukauta miten puunäkymä näkyy paneelissa (vaatii uudelleenkäynnistyksen). + +'ComboView': Yhdistä puunäkymä ja ominaisuusnäkymä yhdeksi paneeliksi. +'TreeView and PropertyView': Jaa puunäkymä ja ominaisuusnäkymä erilliseen paneeliin. +'Both': säilytä kaikki kolme paneelia, ja sinulla voi olla kaksi kappaletta puu- ja ominaisuusnäkymiä. + + + + Size of recent file list: + Size of recent file list: + + + + How many files should be listed in recent files list + Kuinka monta tiedostoa listataan viimeaikaisten tiedostojen luettelossa + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + Enable tiled background + Valitse tiilikuvio tausta + + + + The text cursor will be blinking + The text cursor will be blinking + + + + Enable cursor blinking + Enable cursor blinking + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Väläysikkuna on pieni latausikkuna, joka näkyy +kun FreeCAD on käynnistymässä. Jos tämä valinta on valittuna, FreeCAD näyttää +väläysikkunan. + + + + Enable splash screen at start up + Salli aloitusruutu käynnistyksen yhteydessä + + + + Preference packs + Preference packs + + + + Name + Nimi + + + + Type + Tyyppi + + + + Load + Lataa + + + + Import config... + Tuo asetustiedosto... + + + + Save new... + Tallenna uusi... + + + + Manage... + Hallitse... + + + + Revert... + Palauta... + + + + Manage preference packs + Manage preference packs + + + + Small (%1px) + Pieni (%1px) + + + + Medium (%1px) + Keskitaso (%1px) + + + + Large (%1px) + Suuri (%1px) + + + + Extra large (%1px) + Erittäin suuri (%1px) + + + + Custom (%1px) + Mukautettu (%1px) + + + + Combo View + Yhdistelmänäkymä + + + + TreeView and PropertyView + Puunäkymä ja ominaisuusnäkymä + + + + Both + Molemmat + + + + Preference Pack Name + Preference Pack Name + + + + Tags + Tags + + + + Apply + Käytä + + + + Apply the %1 preference pack + Apply the %1 preference pack + + + + Choose a FreeCAD config file to import + Valitse tuotava FreeCAD-asetustiedosto + + + + File exists + Tiedosto on olemassa + + + + A preference pack with that name already exists. Overwrite? + A preference pack with that name already exists. Overwrite? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Raporttinäkymä + + + + Output + Tuloste + + + + Normal messages will be recorded + Tavalliset viestit tallennetaan + + + + Record normal messages + Tallenna normaalit viestit + + + + Log messages will be recorded + Loki viestit tallennetaan + + + + Record log messages + Tallenna lokiviestit + + + + Warnings will be recorded + Varoitukset kirjataan + + + + Record warnings + Tallenna varoitukset + + + + Error messages will be recorded + Virheraportit kirjataan + + + + Record error messages + Tallenna virheilmoitukset + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Kun virhe on tapahtunut, ilmoitusnäkymävalintaikkuna tulee näkyviin +näytöllä samalla kun virhe näytetään + + + + Show report view on error + Näytä raportin näkymä virheen löytyessä + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Kun viaroitus on ilmennyt, ilmoitusnäkymävalintaikkuna tulee näkyviin +näytöllä samalla kun varoitus näytetään + + + + Show report view on warning + Näytä raportin näkymä varoituksessa + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Kun normaali viesti on ilmestynytt, ilmoitusnäkymä-ikkuna tulee näkyviin +näytöllä samalla kun viesti näytetään + + + + Show report view on normal message + Näytä raportin näkymä normaalissa viestissä + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Kun lokiviesti on ilmaantunut, ilmoitusnäkymän ikkuna tulee näkyviin +näytöllä samalla kun lokiviesti näytetään + + + + Show report view on log message + Näytä raporttinäkymä lokiviestissä + + + + Include a timecode for each report + Sisällytä kunkin raportin aikakoodi + + + + Include a timecode for each entry + Sisällytä aikakoodi jokaiselle tietuelle + + + + Colors + Värit + + + + Normal messages: + Tavalliset viestit: + + + + Font color for normal messages in Report view panel + Tavallisten viestien kirjasinväri raporttinäkymäpaneelissa + + + + Log messages: + Lokiviestit: + + + + Font color for log messages in Report view panel + Lokiviestien kirjasimen väri Raportin näkymäpaneelissa + + + + Warnings: + Varoitukset: + + + + Font color for warning messages in Report view panel + Kirjasimen väri varoitusviesteille Raportin näkymäpaneelissa + + + + Errors: + Virheet: + + + + Font color for error messages in Report view panel + Kirjasimen väri virheviesteille raporttinäkymäpaneelissa + + + + Python interpreter + Python-tulkki + + + + Internal Python output will be redirected +from Python console to Report view panel + Sisäinen Python- tuloste ohjataan uudelleen +Python- konsolista raporttinäkymäpaneeliin + + + + Redirect internal Python output to report view + Uudelleenohjaa sisäiset Pythonin tulosteet raportointinäkymään + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Sisäiset Pythonin virheviestit ohjataan uudelleen +Python-konsolista Raporttinäkymäpaneeliin + + + + Redirect internal Python errors to report view + Uudelleenohjaa sisäiset Pythonin virheet raportointinäkymään + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Ei tyylimallia + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_fr.ts b/src/Gui/Language/FreeCAD_fr.ts index 7a7f387656..24c62b7fe5 100644 --- a/src/Gui/Language/FreeCAD_fr.ts +++ b/src/Gui/Language/FreeCAD_fr.ts @@ -42,29 +42,29 @@ Taille visuelle de la forme - + <empty> <vide> - - + + Angle Angle - - + + Axis - Axe + Axes - + Position Position - + Enum Enumération @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Teste la sortie console - - + + Run test cases to verify console messages Lancer des tests pour vérifier les messages de la console @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Supprimer les mesures - + Clear all visible measurements Effacer les mesures visibles @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Activer/désactiver les mesures - + Turn on or off the display of all measurements Activer ou désactiver l’affichage de toutes les mesures @@ -124,7 +124,7 @@ Import - Importation + Importer @@ -132,7 +132,7 @@ Supprimer - + Paste expressions Coller les expressions @@ -182,7 +182,7 @@ Ajouter un groupe - + Align Aligner @@ -190,43 +190,43 @@ Placement - Placement + Positionnement - - + + Transform Transformer - + Toggle array elements Activer/désactiver des éléments du réseau - + Link Transform Transformer le lien - + Measure distance Mesurer une distance - + Toggle visibility Basculer la visibilité - + Toggle selectability Basculer la sélectivité - + Edit image Modifier l'image @@ -234,77 +234,77 @@ CommandGroup - + File Fichier - + Edit Éditer - + Help Aide - + Link Lien - + Tools Outils - + View Vue - + Window Fenêtre - + Standard Standard - + Macros Macros - + Macro Macro - + Structure Structure - + Standard-Test Test-Standard - + Standard-View Vue standard - + TreeView Arborescence - + Measure Mesure @@ -402,11 +402,6 @@ DownloadItem - - - Form - Forme - Ico @@ -421,42 +416,42 @@ EditMode - + Default Défaut - + The object will be edited using the mode defined internally to be the most appropriate for the object type L’objet sera modifié à l’aide du mode défini de manière interne comme étant le plus approprié au type d’objet - + Transform Transformer - + The object will have its placement editable with the Std TransformManip command L’objet aura un positionnement modifiable à l’aide de la commande Transformer - + Cutting Couper - + This edit mode is implemented as available but currently does not seem to be used by any object Ce mode de modification est implémenté comme étant disponible, mais il ne semble pas être actuellement utilisé par un objet quelconque - + Color Couleur - + The object will have the color of its individual faces editable with the Part FaceColors command La couleur des faces individuelles de l’objet sera modifiable à l’aide de la commande Part FaceColors @@ -482,7 +477,7 @@ aucun - + Press a keyboard shortcut Appuyez sur un raccourci clavier @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Disponible: - + Selected: Sélectionné: - + Add Ajouter - + Remove Supprimer - + Move up Déplacer vers le haut - + Move down Déplacer vers le bas @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Objet déplaçable - + Fixed object Objet fixe @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Veuillez patienter jusqu'à ce que le fichier de récupération automatique ait été enregistré... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Appuyez sur le bouton gauche de la souris - + Press SHIFT and middle mouse button - Appuyez sur Maj et le bouton du milieu de la souris + Appuyez sur MAJ et sur la roulette de la souris + + + + Press middle mouse button + Appuyez sur la roulette de la souris - Press middle mouse button - Appuyez sur le bouton central de la souris - - - Scroll middle mouse button Faites défiler le bouton milieu de la souris @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Appuyez sur le bouton gauche de la souris - + Press middle mouse button - Appuyez sur le bouton central de la souris + Appuyer sur la roulette de la souris - + Press middle+left or middle+right button Appuyez sur la roulette + le bouton gauche ou la roulette + le bouton droit - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Utilisez la roulette de la souris ou cliquez sur la roulette en même temps que clic droit ou clic gauche, et déplacez la souris vers le haut ou le bas @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel &Annuler @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Panneau de Tâches @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Remerciements - + FreeCAD would not be possible without the contributions of FreeCAD ne serait pas possible sans les contributions de - + Individuals Header for the list of individual people in the Credits list. Particuliers - + Organizations Header for the list of companies/organizations in the Credits list. Organisations - - + + License Licence - + Libraries Bibliothèques - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Ce logiciel utilise des composants open source dont le copyright et autres droits associés appartiennent à leurs propriétaires respectifs : - + Collection Collection @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory - Répertoire de cache + Répertoire du cache - + The cache directory %1 exceeds the size of %2. - Le répertoire de cache %1 dépasse la taille de %2. + Le répertoire du cache %1 dépasse la taille de %2. - + Do you want to clear it now? Souhaitez-vous l'effacer maintenant ? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Avertissement : assurez-vous qu'il s'agit de la seule instance %1 en cours d'exécution et qu'aucun document n'est ouvert, ce qui pourrait entraîner une perte de données ! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Paramètres de la caméra - + Orientation Orientation - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vue actuelle @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Commandes @@ -1116,12 +1111,12 @@ Si ce n'est pas coché, alors la propriété doit être nommée de manière uniq Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Le kit existe déjà - + A preference pack with that name already exists. Do you want to overwrite it? Un kit de préférences portant ce nom existe déjà. Voulez-vous l'écraser ? @@ -1357,57 +1352,57 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Type à rechercher… - + Icon Icône - + Command Commande - + Shortcut Raccourci - + Default - Défaut + Par défaut - + Name Nom - + Title Titre - + All Tout - - + + none - aucun + rien Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Barres des boîtes à outils @@ -1496,40 +1491,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Séparateur> - + %1 module not loaded Module %1 non chargé - + New toolbar Nouvelle barre d'outils - - + + Toolbar name: Nom de la barre d'outils : - - + + Duplicated name Nom dupliqué - - + + The toolbar name '%1' is already used Le nom de barre d'outils '%1' est déjà utilisé - + Rename toolbar Renommer la barre d'outils @@ -1542,19 +1537,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Personnaliser - + &Help &Aide - + &Close &Fermer @@ -1563,13 +1558,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Mouvement de la SpaceBall - + No Spaceball Present Aucun Spaceball trouvé @@ -1577,27 +1572,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Boutons de la SpaceBall - + No Spaceball Present - Aucun Spaceball trouvé + Aucune Spaceball présente - + Buttons Boutons - + Reset Réinitialiser - + Print Reference Imprimer les références @@ -1682,551 +1677,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default - Défaut + Par défaut - + Aluminium Aluminium - + Brass Laiton - + Bronze Bronze - + Copper Cuivre - + Chrome Chrome - + Emerald Émeraude - + Gold Or - + Jade Jade - + Metalized Métallisé - + Neon GNC Néon GNC - + Neon PHC Néon PHC - + Obsidian Obsidienne - + Pewter Étain - + Plaster Plâtre - + Plastic Plastique - + Ruby Rubis - + Satin Satin - + Shiny plastic Plastique brillant - + Silver Argent - + Steel Acier - + Stone Pierre Gui::Dialog::DlgEditorSettings - - - Editor - Éditeur - - - - Options - Options - - - - Code lines will be numbered - Les lignes de code seront numérotées - - - - Enable line numbers - Activer la numérotation des lignes - - - - The cursor shape will be a block - La forme du curseur sera un bloc - - - - Enable block cursor - Activer le curseur sous forme de bloc - - - - Enable folding - Activer le pliage - - - - Indentation - Retrait - - - - Tab size: - Taille des tabulations : - - - - Tabulator raster (how many spaces) - Valeur de l'indentation d'une tabulation - - - - Indent size: - Taille de retrait : - - - - How many spaces will be inserted when pressing <Tab> - Nombre d'espaces insérés lors de l'appui sur <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Appuyez sur <Tab> pour insérer une tabulation avec une taille de tabulation définie - - - - Keep tabs - Garder les tabulations - - - - Pressing <Tab> will insert amount of defined indent size - Appuyer sur <Tab> insérera une quantité de taille d'indentation définie - - - - Insert spaces - Insérer des espaces - - - - Display items - Afficher les éléments - - - - Color and font settings will be applied to selected type - Les paramètres de couleur et de police seront appliqués au type sélectionné - - - - Family: - Police : - - - - Font family to be used for selected code type - Police à utiliser pour le type de code sélectionné - - - - Size: - Taille : - - - - Font size to be used for selected code type - Taille de la police à utiliser pour le type de code sélectionné - - - - Color: - Couleur : - - - - Preview: - Aperçu : - Texte source - - Gui::Dialog::DlgGeneral - - - General - Général - - - - Language of the application's user interface - Langue de l'interface utilisateur de l'application - - - - Number format: - Format des nombres : - - - - Operating system - Système d'exploitation - - - - Selected language - Langue sélectionnée - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Si activé, le séparateur décimal du pavé numérique -sera remplacé par le séparateur de la langue du système, -sauf dans la console Python et l'éditeur de Macro où un -point sera toujours affiché. - - - - Preference packs - Kits de préférences - - - - Name - Nom - - - - Type - Type - - - - Load - Charger - - - - Import config... - Importer une configuration… - - - - Save new... - Enregistrer un nouveau... - - - - Manage... - Gérer... - - - - Revert... - Rétablir... - - - - How many files should be listed in recent files list - Combien de fichiers doivent être listés dans la liste des fichiers récents - - - - Enable tiled background - Activer l'arrière-plan en mosaïque - - - - The text cursor will be blinking - Le curseur du texte clignotera - - - - Enable cursor blinking - Activer le clignotement du curseur - - - - Style sheet: - Feuille de style : - - - - Language and number format - Format de la langue et des nombres - - - - Language: - Langue : - - - - Unit system: - Système d’unités : - - - - Unit system that should be used for all parts of the application - Système d'unités à utiliser pour toutes les pièces de l'application - - - - Number of decimals: - Nombre de décimales : - - - - Number of decimals that should be shown for numbers and dimensions - Nombre de décimales qui doivent être indiquées pour les nombres et les dimensions - - - - Minimum fractional inch: - Fraction minimale de pouce : - - - - Minimum fractional inch to be displayed - Fraction minimale en pouce à afficher - - - - Substitute decimal separator - Remplacer le séparateur décimal - - - - Application - Application - - - - Style sheet how user interface will look like - Feuille de style qui defini à quoi ressemblera l'interface utilisateur - - - - Size of toolbar icons: - Taille des icônes de la barre d'outils : - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Choisissez la taille des icônes de la barre d'outils. Vous pouvez l'ajuster -selon la taille de votre écran ou votre goût personnel - - - - Tree view mode: - Mode d'affichage de l'arborescence : - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Personnaliser l'affichage de la vue en arborescence dans le panneau (redémarrage requis). - -'''Vue combinée''' : combine l'arborescence et la vue des propriétés en un seul panneau. -* '''Arborescence et Propriétés'' : sépare la vue en arborescence et la vue des propriétés en deux panneaux distincts. -'''Les deux''' : affiche les trois panneaux. Vous pouvez avoir les deux ensembles de paramètres de la vue en arborescence et la vue des propriétés. - - - - Size of recent file list: - Taille de la liste des fichiers récents : - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - L'arrière-plan de la fenêtre principale (quand aucun document n'est ouvert) sera constitué de tuiles d'une image spéciale. -Voir le Wiki de FreeCAD pour plus de détails sur l'image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Un écran de démarrage est une petite fenêtre de chargement qui s'affiche -lors du lancement de FreeCAD. Si cette option est cochée, FreeCAD affichera -l'écran de démarrage - - - - Enable splash screen at start up - Activer l'écran d'accueil au démarrage - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Gérer les kits de préférences - - - - Small (%1px) - Petit (%1px) - - - - Medium (%1px) - Moyen (%1px) - - - - Large (%1px) - Grand (%1px) - - - - Extra large (%1px) - Très grand (%1px) - - - - Custom (%1px) - Personnalisé (%1px) - - - - Combo View - Vue combinée - - - - TreeView and PropertyView - Arborescence et Propriétés - - - - Both - Les deux - - - - No style sheet - Aucune feuille de style - - - - Preference Pack Name - Nom du kit de préférences - - - - Tags - Attaches - - - - Apply - Appliquer - - - - Apply the %1 preference pack - Appliquer le kit de préférences %1 - - - - Choose a FreeCAD config file to import - Choisir un fichier de configuration de FreeCAD à importer - - - - File exists - Le fichier existe - - - - A preference pack with that name already exists. Overwrite? - Un kit de préférences portant ce nom existe déjà. Voulez-vous l'écraser ? - - Gui::Dialog::DlgInputDialog @@ -2242,8 +1809,8 @@ l'écran de démarrage Gui::Dialog::DlgInspector - - + + Scene Inspector Inspecteur de scène @@ -2335,70 +1902,70 @@ l'écran de démarrage Gui::Dialog::DlgMacroExecuteImp - + Macros Macros - + Read-only Lecture seule - + Macro file Fichier de la macro - + Enter a file name, please: Veuillez saisir un nom de fichier : - - - + + + Existing file Fichier existant - + '%1'. This file already exists. '%1'. Ce fichier existe déjà. - + Cannot create file Impossible de créer le fichier - + Creation of file '%1' failed. Échec de la création du fichier « %1 ». - + Delete macro Supprimer la macro - + Do you really want to delete the macro '%1'? - Voulez-vous vraiment supprimer la macro '% 1' ? + Voulez-vous vraiment supprimer la macro "% 1" ? - + Do not show again Ne plus afficher ce message - + Guided Walkthrough Visite guidée - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2409,77 +1976,77 @@ Remarque : vos modifications seront appliquées lorsque vous changerez d'atelier - + Walkthrough, dialog 1 of 2 Parcourir, boîte de dialogue 1 sur 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Instructions pour la marche à suivre : remplissez les champs manquants (facultatif) puis cliquez sur Ajouter, puis sur Fermer - + Walkthrough, dialog 1 of 1 Parcourir, boîte de dialogue 1 sur 1 - + Walkthrough, dialog 2 of 2 Parcourir, boîte de dialogue 2 sur 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instructions de passage : Cliquez sur la flèche droite (->), puis Fermez. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Instructions de passage : Cliquez sur le bouton Nouveau, puis sur la flèche droite (->), puis sur Fermer. - + Renaming Macro File Renommer le fichier de macro - - + + Enter new name: Indiquer un nouveau nom : - - + + '%1' already exists. '%1' existe déjà. - + Rename Failed Échec du renommage - + Failed to rename to '%1'. Perhaps a file permission error? Impossible de renommer en "%1". Peut-être une erreur de permission des fichiers ? - + Duplicate Macro Dupliquer la macro - + Duplicate Failed Échec de la duplication - + Failed to duplicate to '%1'. Perhaps a file permission error? Impossible de dupliquer "%1". @@ -2522,39 +2089,39 @@ Peut-être une erreur de permission du fichier ? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Enregistreur de macro - + Specify first a place to save. Spécifiez d'abord une destination de sauvegarde. - + The macro directory doesn't exist. Please, choose another one. Le répertoire des macros n'existe pas. Veuillez en choisir un autre. - + Existing macro Macro existante - + The macro '%1' already exists. Do you want to overwrite? La macro '%1' existe déjà. Voulez-vous l'écraser? - + You have no write permission for the directory. Please, choose another one. Vous n'avez pas d'autorisation en écriture pour ce répertoire. Veuillez en choisir un autre. - + Choose macro directory Choisir le répertoire des macros @@ -2627,12 +2194,12 @@ Peut-être une erreur de permission du fichier ? Fichiers HTML - + Access denied Accès refusé - + Access denied to '%1' Specify another directory, please. @@ -2888,7 +2455,7 @@ Veuillez spécifier un autre répertoire. You must restart FreeCAD for changes to take effect. - Vous devez redémarrer FreeCAD pour que les modifications soient prises en compte. + Vous devez redémarrer FreeCAD pour que les changements prennent effet. @@ -3033,36 +2600,36 @@ Veuillez spécifier un autre répertoire. Fichier de projet - - + + Empty source Source vide - - + + No source is defined. Aucune source n'est définie. - - + + Empty destination Destination vide - - + + No destination is defined. Aucune destination n'est définie. - + Failed to extract project Impossible d'extraire le projet - + Failed to create project Échec de la création du projet @@ -3112,188 +2679,6 @@ Veuillez spécifier un autre répertoire. Gui::Dialog::DlgReportView - - - Report view - Vue rapport - - - - Output - Sortie - - - - Normal messages will be recorded - Les messages normaux seront enregistrés - - - - Record normal messages - Enregistrer les messages normaux - - - - Log messages will be recorded - Les messages de log seront enregistrés - - - - Record log messages - Enregistrer les messages du journal - - - - Warnings will be recorded - Les avertissements seront enregistrés - - - - Record warnings - Enregistrer les avertissements - - - - Error messages will be recorded - Les messages d'erreur seront enregistrés - - - - Record error messages - Enregistrer les messages d'erreur - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Lorsqu'une erreur est survenue, la fenêtre de visualisation des rapports s'affiche -à l'écran et indique l'erreur - - - - Show report view on error - Afficher la vue rapport en cas d'erreur - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Lorsqu'un avertissement survient, la fenêtre de visualisation des rapports s'affiche -à l'écran et indique l'erreur - - - - Show report view on warning - Afficher la vue rapport en cas d'avertissement - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Lorsqu'un message survient, la fenêtre de visualisation des rapports s'affiche -à l'écran et indique l'erreur - - - - Show report view on normal message - Afficher la vue rapport sur les messages - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Lorsqu'un message du journal survient, la fenêtre de visualisation des rapports s'affiche -à l'écran et indique le message - - - - Show report view on log message - Afficher la vue rapport sur les messages du journal - - - - Include a timecode for each report - Inclure un timecode pour chaque rapport - - - - Include a timecode for each entry - Inclure un timecode pour chaque entrée - - - - Colors - Couleurs - - - - Normal messages: - Messages normaux : - - - - Font color for normal messages in Report view panel - Couleur de police pour les messages normaux dans la vue Rapport - - - - Log messages: - Journal des messages : - - - - Font color for log messages in Report view panel - Couleur de police pour les messages de log dans la fenêtre de rapport - - - - Warnings: - Avertissements : - - - - Font color for warning messages in Report view panel - Couleur de police pour les messages d'avertissement dans la fenêtre Rapport - - - - Errors: - Erreurs : - - - - Font color for error messages in Report view panel - Couleur de police pour les messages d'erreur dans la fenêtre rapport - - - - Python interpreter - Interpréteur Python - - - - Internal Python output will be redirected -from Python console to Report view panel - La sortie interne de Python sera redirigée -depuis la console Python vers la fenêtre Rapport - - - - Redirect internal Python output to report view - Rediriger les messages internes de Python vers la vue rapport - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Les messages d'erreur internes de Python seront redirigés -de la console Python vers la Vue rapport - - - - Redirect internal Python errors to report view - Rediriger les erreurs internes de Python vers la Vue rapport - Texte source @@ -3320,7 +2705,7 @@ de la console Python vers la Vue rapport Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Aucune sélection dans la boîte de dialogue, impossible de charger le fichier de sauvegarde @@ -3335,7 +2720,7 @@ de la console Python vers la Vue rapport TextLabel - TextLabel + Étiquette de texte @@ -3363,7 +2748,7 @@ de la console Python vers la Vue rapport Aide - + Select a file Sélectionner un fichier @@ -3371,68 +2756,68 @@ de la console Python vers la Vue rapport Gui::Dialog::DlgSettings3DView - + 3D View Vue 3D - + General Général - + Main coordinate system will always be shown in lower right corner within opened files Le système de coordonnées principal sera toujours affiché en bas à droite dans les fichiers ouverts - + Show coordinate system in the corner Afficher le système de coordonnées dans le coin - + Relative size : Taille relative : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Taille de la représentation du système de coordonnées principal dans le coin -- en % de hauteur/largeur de la fenêtre d'affichage - + Axis cross will be shown by default at file opening or creation La croix des axes sera affichée par défaut lors de l'ouverture ou de la création du fichier - + Show axis cross by default Afficher la croix de l'axe par défaut - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Le temps nécessaire pour la dernière opération et la fréquence d'images seront affichés dans le coin inférieur gauche dans les fichiers ouverts - + Show counter of frames per second Afficher le compteur d'images par seconde - + Rendering Rendu - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3441,22 +2826,22 @@ Changing this option requires a restart of the application. La modification de cette option nécessite un redémarrage de l'application. - + Use software OpenGL Utiliser OpenGL par logiciel - + Use OpenGL VBO (Vertex Buffer Object) Utiliser OpenGL VBO (Vertex Buffer Object) - + Render cache Rendu accéléré - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3475,7 +2860,7 @@ peuvent être rendues directement par le GPU. Remarque : cette fonction peut parfois conduire à une foule de problèmes différents allant d'anomalies graphiques aux boggues de crash du GPU. Signaler que ce paramètre est activé lorsque vous demandez de l'aide sur le forum de FreeCAD - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3490,92 +2875,92 @@ Il y a 3 options disponibles pour y parvenir : 3) « Centralisé », désactiver manuellement le cache dans tous les nœuds de tous les fournisseurs de vues, et ne cacher qu’au niveau du nœud racine du graphe de la scène. Cette solution offre la vitesse de rendu la plus rapide, mais une réponse plus lente à tout changement de scène. - + Auto Auto - + Distributed Distribué - + Centralized Centralisé - + Anti-Aliasing Anticrénelage - + What kind of multisample anti-aliasing is used Quel type d'anticrénelage multi-échantillon est utilisé - + None - Aucun + Rien - + Line Smoothing Lissage de ligne - + MSAA 2x MSAA 2 x - + MSAA 4x MSAA 4 x - + MSAA 8x MSAA 8 x - + Transparent objects: Objets transparents : - + Render types of transparent objects Type de rendu des objets transparents - + One pass Un seul passage - + Backface pass Passage pour les faces arrières - + Marker size: Taille du marqueur : - - Size of vertices in the Sketcher workbench - Taille des sommets dans l'atelier Sketcher + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Distance entre les yeux pour les modes stéréo - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3584,48 +2969,48 @@ La valeur spécifiée est un facteur qui sera multiplié avec la taille de la boîte englobante de l'objet 3D affichée. - + Backlight is enabled with the defined color Le rétroéclairage est activé avec la couleur définie - - + + Backlight color Couleur du rétroéclairage - + Intensity Intensité - + Intensity of the backlight Intensité du rétroéclairage - + Camera type Type de caméra - + Objects will appear in a perspective projection Les objets apparaîtront dans une projection en perspective - + Perspective renderin&g Vue en perspective - + Objects will be projected in orthographic projection Les objets seront projetés en projection orthographique - + Or&thographic rendering Vue or&thographique @@ -3637,42 +3022,42 @@ la taille de la boîte englobante de l'objet 3D affichée. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anticrénelage - + Open a new viewer or restart %1 to apply anti-aliasing changes. Ouvrir une nouvelle visionneuse ou redémarrer %1 pour appliquer les modifications d'anticrénelage. @@ -3680,77 +3065,77 @@ la taille de la boîte englobante de l'objet 3D affichée. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory - Répertoire de cache + Répertoire du cache - + Location: Emplacement : - + Check periodically at program start: Vérifier périodiquement au démarrage du programme : - + Always Toujours - + Daily Quotidien - + Weekly Hebdomadaire - + Monthly Tous les mois - + Yearly Tous les ans - + Never Jamais - + Cache size limit: Taille limite du cache : - + Check now... Vérifier maintenant... - + Notify the user if the cache size exceeds the specified limit Notifier l'utilisateur si la taille du cache dépasse la limite spécifiée - + Unknown Inconnu - + Current cache size: %1 Taille en cours du cache : %1 @@ -3911,12 +3296,12 @@ en plus de la barre de couleur Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Paramètre erroné - + The maximum value must be higher than the minimum value. La valeur maximale doit être plus grande que la valeur minimale. @@ -3924,182 +3309,182 @@ en plus de la barre de couleur Gui::Dialog::DlgSettingsDocument - + Document Document - + General Général - + The application will create a new document when started L'application va créer un nouveau document au démarrage - + Create new document at start up Créer un nouveau document au démarrage - + Document save compression level (0 = none, 9 = highest, 3 = default) Niveau de compression pour la sauvegarde de document (0 = aucune, 9 = forte, 3 = par défaut) - + Compression level for FCStd files Niveau de compression pour les fichiers FCStd - + All changes in documents are stored so that they can be undone/redone Toutes les modifications des documents sont enregistrées afin qu'elles puissent être annulées/refaites - + Using Undo/Redo on documents Utiliser Annuler / Rétablir sur les documents - + Maximum Undo/Redo steps Nombre maximal d'actions Annuler/Rétablir - + How many Undo/Redo steps should be recorded Nombre d'étapes Annuler/Refaire à enregistrer - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Permettre à l'utilisateur d'annuler le recalcul du document en appuyant sur ESC. Cette fonctionnalité peut légèrement augmenter le temps de recalcul. - + Allow aborting recomputation Autoriser l'annulation du recalcul - + Storage Stockage - + Saving transactions (Auto-save) Sauvegardes des transactions (Auto-sauvegarde) - + Discard saved transaction after saving document Annuler les transactions enregistrées après la sauvegarde du document - + If there is a recovery file available the application will automatically run a file recovery when it is started. S'il y a un fichier de récupération disponible, l'application exécutera automatiquement une récupération de fichier au démarrage. - + Run AutoRecovery at startup Lancer la récupération automatique au démarrage - + How often a recovery file is written Fréquence d'écriture du fichier de récupération - + Save AutoRecovery information every Enregistrer l'information de récupération automatique chaque - + A thumbnail will be stored when document is saved Une vignette sera stockée lorsque le document sera sauvegardé - + Save thumbnail into project file when saving document Enregistrer la vignette dans le fichier projet lors de la sauvegarde du document - + Size - Dimension + Taille - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Définit la taille de la miniature stockée dans le document. Les tailles communes sont 128, 256 et 512 - + The program logo will be added to the thumbnail Le logo du programme sera ajouté à la miniature - + Add the program logo to the generated thumbnail Ajouter le logo du programme à la vignette générée - + How many backup files will be kept when saving document Combien de fichiers de sauvegarde seront conservés lors de la sauvegarde du document - + Maximum number of backup files to keep when resaving document Nombre maximal de fichiers de sauvegarde à conserver lorsqu'un document est enregistré à nouveau - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Les fichiers de sauvegarde recevront l'extension '.FCbak' et les noms de fichiers récupèrent le suffixe de date selon le format spécifié - + Use date and FCBak extension Utiliser la date et l'extension FCBak - + Date format Format de date - + Document objects Objets documents - + Allow objects to have same label Autoriser les objets à avoir la même étiquette - + Allow duplicate object labels in one document Autoriser la duplication des étiquettes dans un document - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4112,22 +3497,22 @@ Un document partiellement chargé ne peut pas être édité. Double-cliquez sur dans la vue arborescence pour le recharger complètement. - + Disable partial loading of external linked objects Désactiver le chargement partiel des objets externes liés - + Authoring and License Création et Licence - + Author name Nom de l'auteur - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4136,32 +3521,32 @@ Gardez vide pour l'anonymat. Vous pouvez également utiliser la forme : John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Le champ 'Dernière modification par' sera défini à l'auteur spécifié lors de l'enregistrement du fichier - + Set on save - Défini lors de la sauvegarde + Définir lors de la sauvegarde - + Company Société - + Default company name to use for new files Société par défaut à utiliser pour les nouveaux fichiers - + Default license Licence par défaut - + Default license for new documents Licence par défaut pour les nouveaux documents @@ -4178,7 +3563,7 @@ Vous pouvez également utiliser la forme : John Doe <john@doe.com> Creative Commons Attribution-ShareAlike - Créative Commons Attribution-Partage dans les mêmes conditions + Creative Commons Attribution-ShareAlike @@ -4193,7 +3578,7 @@ Vous pouvez également utiliser la forme : John Doe <john@doe.com> Creative Commons Attribution-NonCommercial-ShareAlike - Créative Commons Paternité-Pas d’utilisation commerciale-Partage à l’identique + Créative Commons Attribution-NonCommercial-ShareAlike @@ -4231,12 +3616,12 @@ Vous pouvez également utiliser la forme : John Doe <john@doe.com>Autre - + License URL URL de licence - + URL describing more about the license L'URL décrit plus en détail la licence @@ -4244,104 +3629,21 @@ Vous pouvez également utiliser la forme : John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Format de la date à utiliser. - + Default - Défaut + Par défaut - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Texte - - - - Bookmark - Marque-pages - - - - Breakpoint - Point d'arrêt - - - - Keyword - Mot-clé - - - - Comment - Commentaire - - - - Block comment - Bloc commentaire - - - - Number - Nombre - - - - String - Chaîne - - - - Character - Caractère - - - - Class name - Nom de classe - - - - Define name - Définir le nom - - - - Operator - Opérateur - - - - Python output - Sortie Python - - - - Python error - Erreur Python - - - - Current line highlight - Surbrillance de ligne actuelle - - - - Items - Items - - Gui::Dialog::DlgSettingsImage @@ -4408,7 +3710,7 @@ Vous pouvez également utiliser la forme : John Doe <john@doe.com> Alt+S - Alt+M + Alt+S @@ -4522,122 +3824,122 @@ Vous pouvez également utiliser la forme : John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Paramètres généraux des macros - + Variables defined by macros are created as local variables Les variables définies par les macros sont créées comme des variables locales - + Run macros in local environment Exécuter les macros dans l'environnement local - + Macro recording settings Paramètres d'enregistrement des macros - + Macro path Chemin d'accès aux macros - + The directory in which the application will search for macros Le répertoire dans lequel l'application recherchera des macros - + Gui commands Commandes de l'interface graphique - + Recorded macros will also contain user interface commands Les macros enregistrées contiendront également les commandes de l'interface utilisateur - + Record GUI commands Enregistrer les commandes de l’interface graphique - + Recorded macros will also contain user interface commands as comments Les macros enregistrées contiendront également des commandes de l'interface utilisateur sous forme de commentaires - + Record as comment Enregistrer comme un commentaire - + Logging Commands Enregistrement des commandes - + Commands executed by macro scripts are shown in Python console Les commandes exécutées par les scripts des macros sont affichées dans la console Python - + Show script commands in python console Montrer les commandes du script dans la console Python - + Log all commands issued by menus to file: Enregistrer toutes les commandes venant des menus vers le fichier : - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Menu des macros récentes - + Size of recent macro list Taille de la liste des macros récentes - + How many macros should be listed in recent macros list Combien de macros doivent être listés dans la liste des macros récentes - + Keyboard shortcut count Nombre de raccourcis clavier - + How many recent macros should have shortcuts Combien de macros récentes devraient avoir des raccourcis - + Keyboard Modifiers Modificateurs de clavier - + Keyboard modifiers, default = Ctrl+Shift+ Modificateurs de clavier, par défaut = Ctrl+Maj+ @@ -4645,130 +3947,130 @@ Vous pouvez également utiliser la forme : John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigation - + Navigation cube Cube de navigation - + Steps by turn Pas par tour - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Nombre de pas par tour en utilisant les flèches (par défaut = 8 : angle de pas = 360/8 = 45 degrés) - + Corner Coin - + Corner where navigation cube is shown Coin où le cube de navigation est affiché - + Top left En haut à gauche - + Top right En haut à droite - + Bottom left En bas à gauche - + Bottom right En bas à droite - + Rotates to nearest possible state when clicking a cube face Tourner vers l'état le plus proche lorsque vous cliquez sur une face du cube - + Rotate to nearest Tourner au plus près - + Font name: Nom de la police : - + Font name of the navigation cube Nom de la police du cube de navigation - + Default - Défaut + Par défaut - + Cube size Taille du cube - + Size of the navigation cube Taille du cube de navigation - + Color Couleur - + Base color for all elements Couleur de base pour tous les éléments - + 3D Navigation Navigation 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Liste les configurations du bouton de la souris pour chaque paramètre de navigation choisi. Sélectionnez un réglage puis appuyez sur le bouton pour afficher ces configurations. - + Mouse... Souris... - + Navigation settings set Ensemble des paramètres de navigation - + Orbit style Style d'orbite - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4779,116 +4081,116 @@ Vue en rotation : la pièce sera pivotée autour de l’axe z (avec des axes con Vue en rotation libre : la pièce sera pivotée autour de l’axe z. - + Turntable Vue en rotation - + Trackball Trackball - + Free Turntable Vue en rotation libre - + Rotation mode Mode de rotation - + Rotations in 3D will use current cursor position as center for rotation Les rotations en 3D utiliseront la position actuelle du curseur comme centre de rotation - + Window center Centre de la fenêtre - + Drag at cursor Positionner au curseur - + Object center Centre de l'objet - + Default camera orientation Orientation par défaut de la caméra - + Default camera orientation when creating a new document or selecting the home view Orientation par défaut de la caméra lors de la création d'un nouveau document ou de la sélection de la vue initiale - + Camera zoom Zoom de la caméra - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Définit le zoom de la caméra pour de nouveaux documents. La valeur est le diamètre de la sphère qui rentre à l'écran. - + mm mm - + Enable animated rotations Activer les rotations animées - + Enable animation Permettre l'animation - + Zoom operations will be performed at position of mouse pointer Les opérations de zoom seront effectuées à la position du pointeur de la souris - + Zoom at cursor Zoomer sur le curseur - + Zoom step Pas de zoom - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Quel sera le zoom. Le zoom au pas de '1' signifie un facteur de 7.5 pour chaque pas de zoom. - + Direction of zoom operations will be inverted Le sens du zoom sera inversé - + Invert zoom Inverser le zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4897,102 +4199,112 @@ N’affecte que le style de navigation Gesture. L’inclinaison à la souris n’est pas désactivée par ce réglage. - + Disable touchscreen tilt gesture Désactiver l’inclinaison par geste de l’écran tactile - + + Show the rotation center when dragging. + Afficher le centre de rotation lors d'un déplacement. + + + + Enable rotation center indication + Activer l'indication du centre de rotation + + + Isometric Isométrique - + Dimetric Dimétrique - + Trimetric Trimétrique - + Top Dessus - + Front Devant - + Left Gauche - + Right Droit - + Rear Arrière - + Bottom Dessous - + Custom - Personnalisée + Personnaliser Gui::Dialog::DlgSettingsPythonConsole - + Python console Console Python - + Settings - Réglages + Paramètres - + Words will be wrapped when they exceed available horizontal space in Python console Les mots seront enroulés lorsqu'ils dépassent l'espace disponible dans la console Python - + Enable word wrap Autoriser le retour à la ligne - + The cursor shape will be a block La forme du curseur sera un bloc - + Enable block cursor Activer le curseur sous forme de bloc - + Saves Python history across sessions Enregistrer l'historique Python entre les sessions - + Save history Enregistrer l'historique @@ -5000,17 +4312,37 @@ dans la console Python Gui::Dialog::DlgSettingsSelection - + Selection Sélection - + + Enable preselection, highlighted with specified color + Activer la présélection et la mise en évidence par une couleur spécifique + + + + Enable preselection + Activer la préselection + + + + Enable selection, highlighted with specified color + Activer la sélection, mettre en évidence avec la couleur spécifiée + + + + Enable selection + Activer la sélection + + + Pick radius (px): Rayon de sélection du clic de la souris (px) : - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5019,27 +4351,27 @@ Une valeur plus grande facilite la sélection, mais peut rendre les petites fonc - + Auto switch to the 3D view containing the selected item Basculer automatiquement vers la vue 3D contenant l'objet sélectionné - + Auto expand tree item when the corresponding object is selected in 3D view Déplier automatiquement l'arborescence quand l'objet correspondant est sélectionné dans la vue 3D - + Preselect the object in 3D view when mouse over the tree item Préselectionner l'objet dans la vue 3D quand la souris passe au-dessus d'un élément de l'arborescence - + Record selection in tree view in order to go back/forward using navigation button Sauvegarder la sélection dans l'arborescence pour aller en avant/arrière avec les boutons de navigation - + Add checkboxes for selection in document tree Ajouter des cases à cocher pour la sélection dans l'arborescence des documents @@ -5047,147 +4379,122 @@ Une valeur plus grande facilite la sélection, mais peut rendre les petites fonc Gui::Dialog::DlgSettingsViewColor - + Colors Couleurs - - Selection - Sélection - - - - Enable preselection and highlight by specified color - Activer la présélection et la mise en évidence par une couleur spécifique - - - - Enable preselection highlighting - Activer la surbrillance de présélection - - - - Enable selection highlighting and use specified color - Activer la mise en évidence de la sélection et l'utilisation de la couleur spécifiée - - - - Enable selection highlighting - Activer la surbrillance de la sélection - - - + Background color for the model view Couleur de l'arrière-plan pour le modèle - + Background color Couleur d'arrière-plan - - + + Background will have selected color L'arrière-plan aura la couleur sélectionnée - + Simple color Couleur simple - - + + Background will have selected color gradient L'arrière-plan aura le dégradé sélectionné - + Linear gradient Dégradé linéaire - + Radial gradient Dégradé radial - - + + Top: En haut : - - + + Middle: Milieu : - + Switches the colors of the gradient Echange les couleurs du dégradé - + Switch Changer - + Color gradient will get selected color as middle color Le dégradé de couleur obtiendra la couleur sélectionnée comme couleur moyenne - + Middle color Couleur intermédiaire - - + + Bottom: En bas : - + Tree view Vue arborescente - + Object being edited Objet en cours de modification - + Background color for objects in tree view that are currently edited Couleur d'arrière-plan pour les objets de l'arborescence en cours d'édition - + Active container Conteneur actif - + Background color for active containers in tree view Couleur de fond pour les conteneurs actifs dans la vue en arborescence - + Central: Au centre : - + Midway: Au milieu : - + End: Au bord : @@ -5293,18 +4600,18 @@ Le système par défaut est celui défini dans les préférences générales. Close - Fermer + Faible Gui::Dialog::DlgUnitsCalculator - + unknown unit: unité inconnue : - + unit mismatch unité incompatible @@ -5312,9 +4619,9 @@ Le système par défaut est celui défini dans les préférences générales. Gui::Dialog::DockablePlacement - + Placement - Placement + Positionnement @@ -5364,60 +4671,60 @@ La colonne "État" indique si le document a pu être récupéré. Pas encore récupéré - + Unknown problem occurred Survenance d'un problème inconnu - - + + Failed to recover Échec de la récupération - + Successfully recovered Succès de la récupération - + Finish Terminer - - + + Delete Supprimer - - + + Cleanup Nettoyer - + Are you sure you want to delete the selected transient directories? Êtes-vous sûr de vouloir supprimer les répertoires transitoires sélectionnés ? - + When deleting the selected transient directory you won't be able to recover any files afterwards. En supprimant le répertoire transitoire sélectionné, vous ne serez plus en mesure de récupérer les fichiers par la suite. - + Are you sure you want to delete all transient directories? Êtes-vous sûr de vouloir supprimer tous les répertoires transitoires ? - + When deleting all transient directories you won't be able to recover any files afterwards. En supprimant tous les répertoires temporaire, vous ne pourrez plus récupérer les fichiers par la suite. - + Transient directories deleted. Répertoires transitoires supprimés. @@ -5541,7 +4848,7 @@ La colonne "État" indique si le document a pu être récupéré. Dossiers des icônes - + Add icon folder Ajouter un dossier d'icône @@ -5554,12 +4861,12 @@ La colonne "État" indique si le document a pu être récupéré. Ajouter ou supprimer des dossiers d'icônes personnalisés - + Remove folder Supprimer le dossier - + Removing a folder only takes effect after an application restart. Retirer un dossier ne prend effet qu'après le redémarrage de l'application. @@ -5629,79 +4936,79 @@ La colonne "État" indique si le document a pu être récupéré. Gui::Dialog::ParameterGroup - - + + Expand Développer - + Add sub-group Ajouter un sous-groupe - - + + Remove group Enlever le groupe - + Rename group Renommer le groupe - + Export parameter Exporter le paramètre - + Import parameter Importer un paramètre - + Collapse Réduire - + Do you really want to remove this parameter group? Voulez-vous vraiment supprimer ce groupe ? - + Existing sub-group Sous-groupe existant - + The sub-group '%1' already exists. Le sous-groupe '%1' existe déjà. - + Export parameter to file Exporter le paramètre vers un fichier - + Import parameter from file Importer un paramètre depuis un fichier - + Import Error Erreur d'importation - + Reading from '%1' failed. La lecture à partir de '% 1' a échoué. @@ -5709,65 +5016,65 @@ La colonne "État" indique si le document a pu être récupéré. Gui::Dialog::ParameterValue - + Change value Changer la valeur - + Remove key Enlever la clé - + Rename key Renommer la clé - + New Nouveau - + New string item Nouvel élément type chaîne de caractère - + New float item Nouvel élément type variable flottante - + New integer item Nouvel élément type entier - + New unsigned item Nouvel article type non signé - + New Boolean item Nouvel élément type booléen - - - - - + + + + + Existing item Article existant - - - - - + + + + + The item '%1' already exists. L'article '%1' existe déjà. @@ -5777,7 +5084,7 @@ La colonne "État" indique si le document a pu être récupéré. Placement - Placement + Positionnement @@ -5788,19 +5095,19 @@ La colonne "État" indique si le document a pu être récupéré. X: - X : + X : Y: - Y : + Y : Z: - Z : + Z : @@ -5905,7 +5212,7 @@ La colonne "État" indique si le document a pu être récupéré. Close - Fermer + Faible @@ -5913,17 +5220,17 @@ La colonne "État" indique si le document a pu être récupéré. Appliquer - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Veuillez sélectionner 1, 2 ou 3 points avant de cliquer sur ce bouton. Un point peut être sur un sommet, une face ou une arête. S'il est sur une face ou une arête, le point utilisé sera le point à la position de la souris le long de la face ou de l'arête. Si 1 point est sélectionné, il sera utilisé comme centre de rotation. Si 2 points sont choisis, le point médian sera le centre de rotation et un nouvel axe personnalisé sera créé, si nécessaire. Si 3 points sont choisis, le premier point devient le centre de rotation et se trouve sur le vecteur qui est perpendiculaire au plan défini par les 3 points. Des informations de distance et d’angle sont fournies dans la vue rapport, ce qui peut être utile pour aligner des objets. Pour plus de commodité, lorsque vous utilisez Maj + clic, la distance ou l'angle approprié est copié dans le presse-papiers. - + Incorrect quantity Quantité incorrecte - + There are input fields with incorrect input, please ensure valid placement values! Certains champs de saisie sont incorrects, assurez-vous que les valeurs de positionnement sont valides ! @@ -5931,12 +5238,12 @@ La colonne "État" indique si le document a pu être récupéré. Gui::Dialog::PrintModel - + Button Bouton - + Command Commande @@ -6000,17 +5307,17 @@ La colonne "État" indique si le document a pu être récupéré. Gui::Dialog::SceneModel - + Inventor Tree Arbre Inventor - + Name Nom - + Nodes Nœuds @@ -6066,14 +5373,14 @@ La colonne "État" indique si le document a pu être récupéré. Gui::Dialog::Transform - - + + Cancel Annuler - - + + Transform Transformer @@ -6171,13 +5478,13 @@ initialement sélectionnés avant d'ouvrir ce dialogue - + Model Modèle - + Tasks Tâches @@ -6185,7 +5492,7 @@ initialement sélectionnés avant d'ouvrir ce dialogue Gui::DockWnd::PropertyDockView - + Property View Affichage des propriétés @@ -6193,82 +5500,82 @@ initialement sélectionnés avant d'ouvrir ce dialogue Gui::DockWnd::ReportOutput - + Options Options - + Display message types Afficher les types de messages - - + + Normal messages Messages normaux - - + + Log messages Journal des messages - - + + Warnings Avertissements - - + + Errors Erreurs - - + + Critical messages Messages critiques - + Show Report view on Afficher la vue du rapport sur - + Redirect Python output Rediriger la sortie de Python - + Redirect Python errors Rediriger les erreurs de Python - + Go to end Aller à la fin - + Clear Effacer - + Save As... Enregistrer sous… - + Save Report Output Enregistrer la sortie du rapport - + Plain Text Files Fichiers de texte brut @@ -6277,13 +5584,13 @@ initialement sélectionnés avant d'ouvrir ce dialogue Gui::DockWnd::ReportView - + Output Sortie - + Python console Console Python @@ -6321,72 +5628,72 @@ initialement sélectionnés avant d'ouvrir ce dialogue Liste des objets sélectionnés - + Select only Sélectionnez uniquement - + Selects only this object Sélectionne uniquement cet objet - + Deselect Dé-sélectionner - + Deselects this object Désélectionne cet objet - + Zoom fit Zoom étendu - + Selects and fits this object in the 3D window Sélectionne et ajuste le zoom de cet objet dans la fenêtre 3D - + Go to selection Aller à la sélection - + Selects and locates this object in the tree view Sélectionne et localise cet objet dans l'arborescence - + Mark to recompute Marquer pour recalculer - + Mark this object to be recomputed Marquer cet objet pour être recalculé - + To python console Vers la console Python - + Reveals this object and its subelements in the python console. Exprime cet objet et ses sous-éléments dans la console Python. - + Duplicate subshape Dupliquer la forme secondaire - + Creates a standalone copy of this subshape in the document Crée une copie autonome de cette forme secondaire dans le document @@ -6399,7 +5706,7 @@ initialement sélectionnés avant d'ouvrir ce dialogue Application - + Labels & Attributes Étiquettes & attributs @@ -6448,27 +5755,27 @@ Voulez enregistrer les modifications ? Fichier PDF - + untitled[*] sansnom[*] - + - Editor - Éditeur - + %1 chars removed %1 caractères supprimés - + %1 chars added %1 caractères ajoutés - + Formatted Formaté @@ -6492,13 +5799,13 @@ Voulez enregistrer les modifications ? Gui::FileChooser - - + + Select a file Sélectionner un fichier - + Select a directory Sélectionner un répertoire @@ -6506,13 +5813,13 @@ Voulez enregistrer les modifications ? Gui::FileDialog - + Save as Enregistrer sous - - + + Open Ouvrir @@ -6520,12 +5827,12 @@ Voulez enregistrer les modifications ? Gui::FileOptionsDialog - + Extended Étendu - + All files (*.*) Tous les fichiers (*.*) @@ -6533,27 +5840,27 @@ Voulez enregistrer les modifications ? Gui::Flag - + Top left En haut à gauche - + Bottom left En bas à gauche - + Top right En haut à droite - + Bottom right En bas à droite - + Remove Supprimer @@ -6561,22 +5868,22 @@ Voulez enregistrer les modifications ? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Cliquez sur le pavé tactile, ou cliquez sur le bouton gauche de la souris. - + Drag screen with two fingers OR press right mouse button. Faites glisser l'écran avec deux doigts OU appuyez sur le bouton droit de la souris. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Faites glisser l'écran avec un doigt OU appuyez sur le bouton gauche de la souris. Dans Sketcher et d'autres modes d'édition, maintenez la touche Alt enfoncée en plus. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pincez (placez deux doigts sur l'écran et faites-les glisser en les écartant l'un de l'autre ou en les rapprochant l'un de l'autre) OU faites défiler la roulette de la souris OU PgPréc/PgSuiv au clavier. @@ -6584,74 +5891,74 @@ Voulez enregistrer les modifications ? Gui::GraphvizView - + Graphviz not found Graphviz non trouvé - + Graphviz couldn't be found on your system. Graphviz n’a pas pu être trouvé sur votre système. - + Read more about it here. En savoir plus à ce sujet ici. - + Do you want to specify its installation path if it's already installed? Voulez-vous spécifier le chemin d’accès de l’installation si il est déjà installée ? - + Graphviz installation path Chemin d'accès pour l'installation de graphviz - + Graphviz failed Échec de graphviz - + Graphviz failed to create an image file Graphviz n'a pas pu créer un fichier d'image - + PNG format Format PNG - + Bitmap format Format bitmap - + GIF format Format GIF - + JPG format Format JPG - + SVG format Format SVG - - + + PDF format Format PDF - - + + Export graph Export graphique @@ -6659,12 +5966,12 @@ Voulez enregistrer les modifications ? Gui::InputField - + Edit Éditer - + Save value Enregistrer la valeur @@ -6672,30 +5979,30 @@ Voulez enregistrer les modifications ? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Appuyez sur CTRL et le bouton gauche de la souris - + Press middle mouse button - Appuyez sur le bouton central de la souris + Appuyer sur la roulette de la souris - + Press left mouse button Appuyez sur le bouton gauche de la souris - + Scroll middle mouse button - Faites défiler le bouton milieu de la souris + Faites rouler la roulette de la souris Gui::LabelEditor - + List Liste @@ -6703,66 +6010,66 @@ Voulez enregistrer les modifications ? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Défini par l'utilisateur... - + - - + + Wrong direction Mauvaise direction - + - - + + Direction must not be the null vector La direction ne peut pas être un vecteur nul @@ -6770,22 +6077,22 @@ Voulez enregistrer les modifications ? Gui::LocationWidget - + X: - X : + X : + + + + Y: + Y : + + + + Z: + Z : - Y: - Y : - - - - Z: - Z : - - - Direction: Direction: @@ -6793,17 +6100,17 @@ Voulez enregistrer les modifications ? Gui::MacroCommand - + Macros Macros - + Macro file doesn't exist Le fichier du macro n'existe pas - + No such macro file: '%1' Fichier du macro inexistant : "%1" @@ -6811,63 +6118,73 @@ Voulez enregistrer les modifications ? Gui::MainWindow - - + + Dimension Dimension - + Ready Prêt - + Help addon needed! Extension d'aide nécessaire ! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Le système d'aide de %1 est maintenant géré par l'extension "Help". Il peut facilement être installé via le gestionnaire des extensions - + Open Addon Manager Ouvrir le gestionnaire des extensions - + Close All Fermer tout - - + + Toggles this toolbar Bascule cette barre d'outils - - + + Toggles this dockable window Bascule cette fenêtre dockable - - - Unsaved document - Document non sauvegardé + + WARNING: This is a development version. + ATTENTION : ceci est une version de développement. - + + Please do not use in a production environment. + Il est préférable de ne pas l'utiliser en production. + + + + + Unsaved document + Document non enregistré + + + The exported object contains external link. Please save the documentat least once before exporting. L'objet exporté contient un lien externe. Veuillez enregistrer le document au moins une fois avant l'exportation. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Pour créer un lien vers des objets externes, le document doit être enregistré au moins une fois. @@ -6877,121 +6194,121 @@ Voulez-vous enregistrer le document maintenant ? Gui::ManualAlignment - - - - - + + + + + Manual alignment Alignement manuel - + The alignment is already in progress. L'alignement est déjà en cours. - + Alignment[*] Alignement[*] - + Please, select at least one point in the left and the right view Veuillez sélectionner au moins un point dans les vues de droite et de gauche - + Please, select at least %1 points in the left and the right view Veuillez sélectionner au moins %1 points dans les vues de droite et de gauche - + Please pick points in the left and right view Veuillez sélectionner des points dans les vues de gauche et de droite - + The alignment has finished L'alignement est terminé - + The alignment has been canceled L'alignement a été annulé - - + + Too few points picked in the left view. At least %1 points are needed. Trop peu de points sélectionnés dans la vue gauche. Au moins %1 point sont nécessaires. - - + + Too few points picked in the right view. At least %1 points are needed. Trop peu de points sélectionnés dans la vue droite. Au moins %1 point sont nécessaires. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Un nombre différent de points a été sélectionné dans les vues de gauche et de droite Sur la vue gauche %1 points ont été sélectionnés, sur la vue droite %2 points ont été sélectionnés. - + Try to align group of views Essayez d'aligner les groupe de vues - + The alignment failed. How do you want to proceed? Impossible d'aligner. Comment voulez-vous procéder? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Un nombre différent de points a été sélectionné dans les vues de gauche et de droite. Sur la vue gauche %1 points ont été sélectionnés, sur la vue droite %2 points ont été sélectionnés. - + Point_%1 Point_%1 - + Point picked at (%1,%2,%3) Point sélectionné en (%1, %2, %3) - + No point was found on model Aucun point n'a été trouvé sur le modèle - + No point was picked Aucun point n'a été sélectionné - + &Align &Aligner - + &Remove last point &Supprimer le dernier point - + &Cancel &Annuler - + &Synchronize views &Synchroniser les vues @@ -6999,22 +6316,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Cliquez sur le pavé tactile, ou cliquez sur le bouton gauche de la souris. - + Drag screen with two fingers OR press ALT + middle mouse button. Faites glisser l'écran avec deux doigts ou appuyez sur Alt + la roulette de la souris. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Faites glisser l'écran avec un doigt ou appuyez sur Alt + bouton gauche de la souris. Dans l'atelier Sketcher et les autres modes d'édition, maintenez en plus la touche Alt enfoncée. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pincez (placez deux doigts sur l'écran et écartez-les l'un de l'autre ou rapprochez les). Ou utilisez la molette de la souris. Ou appuyez sur Alt + bouton droit de la souris. Ou Pg.Suiv/Pg.Préc au clavier. @@ -7022,7 +6339,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Appuyez sur les touches de modification @@ -7038,22 +6355,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Appuyez sur le bouton gauche de la souris - + Press CTRL and middle mouse button Appuyer sur Ctrl et la roulette de la souris - + Press CTRL and right mouse button Appuyer sur Ctrl et le bouton droit de la souris - + Press CTRL and left mouse button Appuyez sur CTRL et le bouton gauche de la souris @@ -7061,22 +6378,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Appuyez sur le bouton gauche de la souris - + Press right mouse button and move mouse Appuyez sur le bouton droit de la souris et déplacez la souris - + Press left mouse button and move mouse Appuyez sur le bouton gauche de la souris et déplacez la souris - + Press middle mouse button or SHIFT and right mouse button Appuyer sur la roulette de la souris ou sur Maj et le bouton droit de la souris @@ -7084,17 +6401,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Éditer - + Save value Enregistrer la valeur - + Clear list Effacer la liste @@ -7125,12 +6442,12 @@ How do you want to proceed? Restant : %1 - + Aborting Abandon - + Do you really want to abort the operation? Voulez-vous vraiment abandonner l'opération? @@ -7138,7 +6455,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Modifiez l’objet lié @@ -7146,12 +6463,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Erreur - + Object not found Objet introuvable @@ -7222,13 +6539,13 @@ How do you want to proceed? Gui::PropertyView - + View Vue - + Data Données @@ -7276,77 +6593,77 @@ Voulez vous quitter sans sauvegarder vos données? Exception C++ non gérée et/ou inconnue. - + &Copy &Copier - + &Copy command &Copier la commande - + &Copy history &Copier l'historique - + Save history as... Sauvegarder l'historique sous... - + Save history Enregistrer l'historique - + Saves Python history across %1 sessions Enregistre l'historique Python sur %1 sessions - + &Paste &Coller - + Select All Tout sélectionner - + Clear console Vider la console - + Insert file name... Insérez un nom de fichier... - + Word wrap Retour à la ligne - + Save History Sauvegarder l'historique - + Macro Files Fichiers de macros - + Insert file name Insérez un nom de fichier - + All Files Tous les fichiers @@ -7354,7 +6671,7 @@ Voulez vous quitter sans sauvegarder vos données? Gui::PythonEditor - + Comment Commentaire @@ -7367,17 +6684,17 @@ Voulez vous quitter sans sauvegarder vos données? Gui::RecentFilesAction - + Open file %1 Ouvrir le fichier %1 - + File not found Fichier introuvable - + The file '%1' cannot be opened. Impossible d'ouvrir le fichier '%1'. @@ -7385,22 +6702,22 @@ Voulez vous quitter sans sauvegarder vos données? Gui::RecentMacrosAction - + none - aucun + rien - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Lancer la macro %1 (Maj+clic pour modifier) le raccourci clavier : %2 - + File not found Fichier introuvable - + The file '%1' cannot be opened. Impossible d'ouvrir le fichier '%1'. @@ -7408,24 +6725,24 @@ Voulez vous quitter sans sauvegarder vos données? Gui::RevitNavigationStyle - + Press left mouse button Appuyez sur le bouton gauche de la souris - + Press middle mouse button - Appuyez sur le bouton central de la souris + Appuyer sur la roulette de la souris + + + + Press SHIFT and middle mouse button + Appuyez sur MAJ et sur la roulette de la souris - Press SHIFT and middle mouse button - Appuyez sur Maj et le bouton du milieu de la souris - - - Scroll middle mouse button - Faites défiler le bouton milieu de la souris + Faites rouler la roulette de la souris @@ -7454,17 +6771,17 @@ Voulez vous quitter sans sauvegarder vos données? Gui::SelectModule - + Select module Sélectionner le module - + Open %1 as Ouvrir '%1' comme - + Select Sélectionner @@ -7531,13 +6848,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentation automatique des modules en Python - - + + Opens a browser to show the Python modules documentation Ouvre un navigateur pour afficher la documentation des modules Python @@ -7586,7 +6903,7 @@ Do you want to specify another directory? TextLabel - TextLabel + Étiquette de texte @@ -7635,17 +6952,17 @@ Do you want to specify another directory? Document window: - Fenêtre de document: + Fenêtre du document : Plot mode: - Mode de tracé : + Mode de tracé : Point size: - Taille de point : + Taille du point : @@ -7655,7 +6972,7 @@ Do you want to specify another directory? Transparency: - Transparence : + Transparence : @@ -7663,7 +6980,7 @@ Do you want to specify another directory? A dialog is already open in the task panel - Une boîte de dialogue est déjà ouverte dans le panneau des tâches + Une fenêtre de dialogue est déjà ouverte dans le panneau des tâches @@ -7690,38 +7007,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Texte mis à jour - + The text of the underlying object has changed. Discard changes and reload the text from the object? Le texte de l’objet sous-jacent a changé. Abandonner les modifications et recharger le texte depuis l’objet ? - + Yes, reload. Oui, recharger. - + Unsaved document - Document non sauvegardé + Document non enregistré - + Do you want to save your changes before closing? Voulez-vous sauvegarder les modifications avant de fermer ? - + If you don't save, your changes will be lost. Si vous n'enregistrez pas, vos modifications seront perdues. - - + + Edit text Modifier le texte @@ -7729,47 +7046,47 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Appuyez sur le bouton gauche de la souris - + Press middle mouse button - Appuyez sur le bouton central de la souris + Appuyer sur la roulette de la souris - + Press right mouse button Appuyez sur le bouton droit de la souris - + Scroll middle mouse button - Faites défiler le bouton milieu de la souris + Faites rouler la roulette de la souris Gui::TouchpadNavigationStyle - + Press left mouse button Appuyez sur le bouton gauche de la souris - + Press SHIFT button - Appuyez sur la touche Maj + Appuyez sur la touche MAJ - + Press ALT button Appuyez sur la touche ALT - + Press CTRL and SHIFT buttons - Appuyer sur les touches CTRL et SHIFT + Appuyer sur les touches CTRL et MAJ @@ -7993,15 +7310,15 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view - Vue arborescente + Vue en arborescence Gui::TreePanel - + Search Rechercher @@ -8009,183 +7326,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Rechercher... - + Search for objects Rechercher des objets - + Activate document Activer le document - + Activate document %1 Activer document %1 - + Tree settings Paramètres de la vue en arborescence - + Show description column Afficher la colonne de description - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Afficher une colonne supplémentaire dans la vue en arborescence pour la description de l'élément. La description de l'élément peut être définie en appuyant sur F2 (ou le bouton d'édition de votre OS) ou en modifiant la propriété "label2". - + Group Groupe - + Labels & Attributes Étiquettes & attributs - + Description Description - + Show items hidden in tree view Afficher les éléments masqués dans la vue en arborescence - + Show items that are marked as 'hidden' in the tree view Afficher les éléments qui sont marqués comme "cachés" dans la vue en arborescence - + Toggle visibility in tree view Activer/désactiver la visibilité dans l'arborescence - + Toggles the visibility of selected items in the tree view Active/désactive la visibilité des éléments sélectionnés dans l'arborescence - + Create group... Créer un groupe... - + Create a group Créer un groupe - - + + Rename Renommer - + Rename object - Renommer un objet + Renommer l’objet - + Finish editing - Terminer l'édition + Finir la modification - + Finish editing object - Terminer l'édition de l'objet + Finir la modification de l'objet - + Add dependent objects to selection Ajouter des objets dépendants à la sélection - + Adds all dependent objects to the selection Ajouter tous les objets dépendants à la sélection - + Close document Fermer le document - + Close the document Ferme le document - + Reload document Recharger le document - + Reload a partially loaded document Recharger un document partiellement chargé - + Skip recomputes Sauter les recalculs - + Enable or disable recomputations of document Activer ou désactiver le recalcul du document - + Allow partial recomputes Autoriser les recalculs partiels - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Active ou désactive le recalcul de l'objet édité quand 'ignorer le recalcul' est activé - + Mark to recompute Marquer pour recalculer - + Mark this object to be recomputed Marquer cet objet pour être recalculé - + Recompute object Recalculer l'objet - + Recompute the selected object Recalculer l'objet sélectionné - + (but must be executed) (mais doit être exécuté) - + %1, Internal name: %2 %1, nom interne : %2 @@ -8208,7 +7525,7 @@ Do you want to specify another directory? Export PDF - Exporter vers PDF + Exporter en PDF @@ -8216,20 +7533,20 @@ Do you want to specify another directory? Fichier PDF - + Opening file failed L'ouverture du fichier a échoué - + Can't open file '%1' for writing. - Le fichier '%1' n'accepte pas l'écriture. + Impossible d'ouvrir le fichier "%1" en écriture. Gui::WorkbenchGroup - + Select the '%1' workbench Sélectionner l'atelier '%1' @@ -8237,37 +7554,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Services - + Hide %1 Cacher %1 - + Hide Others Cacher tous les autres - + Show All Afficher tout - + Preferences... Préférences... - + Quit %1 Quittez %1 - + About %1 À propos de %1 @@ -8287,11 +7604,6 @@ Do you want to specify another directory? Position - - - Form - Forme - X: @@ -8386,14 +7698,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Saisie invalide - - + + Input in line %1 is not a number L'entrée à la ligne %1 n'est pas un nombre @@ -8401,74 +7713,75 @@ Do you want to specify another directory? QDockWidget - + Tree view Vue arborescente - + Property view Affichage des propriétés - + Selection view Vue de la sélection - + Combo View Vue combinée - + DAG View Vue du DAG - + Report view Vue rapport - + Python console Console Python Display properties - Propriétés d'affichage + Afficher les propriétés QObject - - + + General Général - - + + + Display - Affichage + Afficher - + Workbenches Ateliers - - - + + + Python Python @@ -8496,17 +7809,27 @@ Do you want to specify another directory? Impossible de sauvegarder ce type de fichier inconnu : %1 - + Workbench failure Atelier défaillant - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Exception @@ -8552,8 +7875,8 @@ Do you want to specify another directory? Exportation PDF ... - + Unsaved document Document non sauvegardé @@ -8574,39 +7897,39 @@ Do you want to specify another directory? Erreur de dépendance - + Copy selected Copier la sélection - + Copy active document Copier le document actif - + Copy all documents Copier tous les documents - + Paste Coller - + Expression error Erreur d'expression - + Failed to parse some of the expressions. Please check the Report View for more details. Echec de l'analyse de certaines expressions. Consultez la vue rapport pour plus de détails. - + Failed to paste expressions Echec du collage des expressions @@ -8641,224 +7964,224 @@ Be aware the point where you click matters. Veuillez sélectionner deux objets. Soyez attentif à l'endroit où vous cliquez. - - + + Save views... Enregistrer les vues... - - + + Load views... Charger les vues... - - + + Freeze view Figer la vue - - + + Clear views Effacer les vues - - - + + + Restore view &%1 Restaurer la vue &%1 - + Save frozen views Enregistrer les vues figées - - + + Frozen views Vues congelées - - + + Restore views Restaurer les vues - + Importing the restored views would clear the already stored views. Do you want to continue? Importer des vues enregistrées effacera les vues déjà stockées. Voulez-vous continuer? - + Restore frozen views Restaurer les vues figées - + Cannot open file '%1'. Impossible d'ouvrir le fichier '%1'. - + files fichiers - + Save image Enregistrer l'image - + Choose an image file to open - Choisir un fichier d'image à ouvrir + Choisir un fichier image à ouvrir - + New sub-group Nouveau sous-groupe - - - - - - + + + + + + Enter the name: Entrer le nom : - - + + New text item Nouvel élément type texte - - + + Enter your text: Saisir votre texte : - - + + New integer item Nouvel élément type entier - - - - - - + + + + + + Enter your number: Saisir votre nombre : - - + + New unsigned item Nouvel article type non signé - - + + New float item Nouvel élément type variable flottante - + New Boolean item Nouvel élément type booléen - - + + Choose an item: Choisir un article : - + New boolean item Nouvel élément booléen - + Rename group Renommer le groupe - + The group '%1' cannot be renamed. Le groupe '%1' ne peut pas être renommé. - + Existing group Groupe existant - + The group '%1' already exists. Le groupe '%1' existe déjà. - - - - - + + + + + Change value Changer la valeur - + Type Type - + Notifier Notificateur - + Message Message - + Notifier: Notificateur : - + Do you want to skip confirmation of further critical message notifications while loading the file? Voulez-vous ignorer la confirmation de notification des messages critiques suivants lors du chargement du fichier ? - + Critical Message Message critique - + Too many opened non-intrusive notifications. Notifications are being omitted! Trop de notifications non intrusives ouvertes. Des notifications sont omises ! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8867,44 +8190,44 @@ Do you want to continue? - + Are you sure you want to continue? Êtes-vous sûr de vouloir continuer ? - + Please check report view for more... Veuillez consulter la vue du rapport pour plus... - + Physical path: Chemin d'accès physique : - - + + Document: Document : - - + + Path: Chemin d'accès : - + Identical physical path Chemin d'accès physique identique - + Could not save document Impossible d'enregistrer le document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8917,102 +8240,102 @@ Would you like to save the file with a different name? Voulez-vous enregistrer le fichier avec un nom différent ? - - - + + + Saving aborted Sauvegarde abandonnée - + Save dependent files Enregistrer les fichiers dépendants - + The file contains external dependencies. Do you want to save the dependent files, too? Le fichier contient des dépendances externes. Voulez-vous également enregistrer les fichiers dépendants ? - - + + Saving document failed L'enregistrement du document a échoué - + Save document under new filename... Enregistrer le document sous un nouveau nom… - - + + Save %1 Document Enregistrer le document %1 - + Document Document - - + + Failed to save document Échec de l'enregistrement du document - + Documents contains cyclic dependencies. Do you still want to save them? Les documents contiennent des dépendances cycliques. Voulez-vous les enregistrer ? - + Save a copy of the document under new filename... Enregistrer une copie du document avec un nouveau nom... - + %1 document (*.FCStd) Document %1 (*.FCStd) - + Document not closable Impossible de fermer le document - + The document is not closable for the moment. Impossible de fermer le document pour le moment. - + Document not saved Document non enregistré - + The document%1 could not be saved. Do you want to cancel closing it? Le document%1 n'a pas pu être enregistré. Voulez-vous annuler sa fermeture ? - + Undo Annuler - + Redo Rétablir - + There are grouped transactions in the following documents with other preceding transactions Les documents suivants contiennent des opérations groupées avec d'autres opérations précédentes - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9026,47 +8349,47 @@ Choisissez "Abandonner" pour annuler Enregistrer la macro - - + + Finish Terminer - - + + Clear Effacer - - - + + + Cancel Annuler - + Inner Intérieur - + Outer Extérieur - + Split - Scinder + Séparer - - + + No Browser Pas de navigateur - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9075,48 +8398,48 @@ Please open a browser window and type in: http://localhost:%1. Veuillez ouvrir une fenêtre de navigateur et saisir : http://localhost:%1. - + No Server Aucun serveur - + Unable to start the server to port %1: %2. Impossible de démarrer le serveur sur le port %1: %2. - + Unable to open your system browser. Impossible d'ouvrir le navigateur système. - + Options... Options... - + Out of memory Mémoire insuffisante - + Not enough memory available to display the data. Mémoire insuffisante pour afficher les données. - - + + Cannot find file %1 Fichier %1 introuvable - + Cannot find file %1 neither in %2 nor in %3 Impossible de trouver le fichier %1 ni dans %2 ni dans %3 - + Navigation styles Styles de navigation @@ -9126,53 +8449,53 @@ Veuillez ouvrir une fenêtre de navigateur et saisir : http://localhost:%1.Déplacer l'annotation - - + + Transform Transformer Do you want to close this dialog? - Voulez-vous fermer cette boîte de dialogue? + Voulez-vous fermer cette fenêtre de dialogue? - + Do you want to save your changes to document '%1' before closing? Voulez-vous enregistrer les modifications apportées au document "%1" avant sa fermeture ? - + Do you want to save your changes to document before closing? Voulez-vous enregistrer les modifications apportées au document avant sa fermeture ? - + If you don't save, your changes will be lost. Si vous n'enregistrez pas, vos modifications seront perdues. - + Apply answer to all Appliquez la réponse à tout - + %1 Document(s) not saved Document(s) %1 non enregistré(s) - + Some documents could not be saved. Do you want to cancel closing? Certains documents n'ont pas pu être enregistrés. Voulez-vous annuler la fermeture ? - + Delete macro Supprimer la macro - + Not allowed to delete system-wide macros Pas autorisé à supprimer les macros de l'ensemble du système @@ -9182,27 +8505,27 @@ Veuillez ouvrir une fenêtre de navigateur et saisir : http://localhost:%1.Origine - + Delete group content? Supprimer le contenu du groupe ? - + The %1 is not empty, delete its content as well? - Le %1 n’est pas vide, supprimez son contenu quand même ? + Le %1 n’est pas vide, supprimer son contenu quand même ? - + Translation: Translation : - + Rotation: Rotation : - + Toggle active part Activer/désactiver la pièce @@ -9265,88 +8588,88 @@ Veuillez ouvrir une fenêtre de navigateur et saisir : http://localhost:%1.Impossible d'importer tous les liens - - + + Invalid name Nom incorrect - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Le nom de la propriété ou du groupe doit contenir uniquement des caractères alphanumériques, des tirets bas, et ne doit pas commender par un chiffre. - + The property '%1' already exists in '%2' La propriété '%1' existe déjà dans '%2' - + Add property Ajouter une propriété - + Failed to add property to '%1': %2 Impossible d'ajouter la propriété à '%1': %2 - - + + Drag & drop failed Erreur lors du glisser/déposer - + Setup configurable object Configurer l'objet configurable - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Sélectionner les objets à copier ou à exclure lorsque la configuration change. Tous les objets externes liés sont exclus par défaut. - + Please select which objects to copy when the configuration is changed Veuillez sélectionner les objets à copier lorsque la configuration est modifiée - + Apply to all Appliquer à tous - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Appliquer le paramètre à tous les liens. Ou, décochez cette option pour ne l'appliquer qu'à ce lien. - + Copy on change Copier en cas de changement - + Enable Activer - + Enable auto copy of linked object when its configuration is changed Activer la copie automatique de l'objet lié lorsque sa configuration est modifiée - + Tracking - Crénage + Suivi - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9355,17 +8678,17 @@ Refait aussi automatiquement la copie si l'objet lié original est modifié. - + Disable copy on change Désactiver la copie en cas de changement - + Refresh configurable object Mettre à jour l'objet configurable - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9376,30 +8699,30 @@ apportée à la copie en cours sera perdue. - + Toggle array elements Activer/désactiver des éléments du réseau - + Change whether show each link array element as individual objects Modifier l'affichage de chaque élément du réseau de liens en tant qu'objets isolés - + Transform at the origin of the placement Transformer à l'origine du positionnement - - + + Override colors... Remplacer les couleurs... - + Edit %1 - Modifier %1 + Editer %1 @@ -9420,12 +8743,12 @@ apportée à la copie en cours sera perdue. SelectionFilter - + Not allowed: Non autorisé : - + Selection not allowed by filter Sélection non autorisée par filtre @@ -9433,9 +8756,9 @@ apportée à la copie en cours sera perdue. StdBoxElementSelection - - - + + + Box element selection Sélection d'éléments par boîte @@ -9443,13 +8766,13 @@ apportée à la copie en cours sera perdue. StdBoxSelection - + Box selection Sélectionner par une boîte - - + + Activate the box selection tool Activer l’outil boîte de sélection @@ -9527,13 +8850,13 @@ apportée à la copie en cours sera perdue. StdCmdAxisCross - + Toggle axis cross Afficher les axes de coordonnées - - + + Turns on or off the axis cross at the origin Activer ou désactiver la croix d’axes à l’origine @@ -9627,25 +8950,25 @@ apportée à la copie en cours sera perdue. &Delete - &Effacer + &Supprimer Deletes the selected objects - Efface les objets sélectionnés + Supprimer les objets sélectionnés StdCmdDemoMode - + View turntable... Vue en rotation... - - + + View turntable Vue en rotation @@ -9765,13 +9088,13 @@ apportée à la copie en cours sera perdue. StdCmdDrawStyle - + Draw style Style de représentation - - + + Change the draw style of the objects Changer le style de dessin des objets @@ -9835,13 +9158,13 @@ apportée à la copie en cours sera perdue. StdCmdExpression - + Expression actions Actions sur les expressions - - + + Actions that apply to expressions Actions s’appliquant à des expressions @@ -9958,13 +9281,13 @@ apportée à la copie en cours sera perdue. StdCmdFreezeViews - + Freeze display Figer l'affichage - - + + Freezes the current view position Figer la position actuelle de la vue @@ -9985,13 +9308,13 @@ apportée à la copie en cours sera perdue. StdCmdHideObjects - + Hide all objects Masquer tous les objets - - + + Hide all objects in the document Masquer tous les objets dans le document @@ -9999,13 +9322,13 @@ apportée à la copie en cours sera perdue. StdCmdHideSelection - + Hide selection Masquer la sélection - - + + Hide all selected objects Masquer tous les objets sélectionnés @@ -10279,13 +9602,13 @@ apportée à la copie en cours sera perdue. StdCmdMeasureDistance - + Measure distance - Mesurer une distance + Mesurer la distance - - + + Activate the distance measurement tool Activer l’outil de mesure de distance @@ -10295,7 +9618,7 @@ apportée à la copie en cours sera perdue. Measure distance - Mesurer une distance + Mesurer la distance @@ -10344,8 +9667,8 @@ apportée à la copie en cours sera perdue. Créer un nouveau document vide - - + + Unnamed Sans nom @@ -10573,8 +9896,8 @@ apportée à la copie en cours sera perdue. StdCmdRecentFiles - Recent files - Fichiers récents + Open Recent + Ouvrir un fichier récent @@ -10712,13 +10035,13 @@ apportée à la copie en cours sera perdue. StdCmdSceneInspector - + Scene inspector... Inspecteur de scène... - - + + Scene inspector Inspecteur de scène @@ -10726,13 +10049,13 @@ apportée à la copie en cours sera perdue. StdCmdSelBack - + &Back Précédent - - + + Go back to previous selection Retour à la sélection précédente @@ -10740,13 +10063,13 @@ apportée à la copie en cours sera perdue. StdCmdSelBoundingBox - + &Bounding box &Boîte englobante - - + + Show selection bounding box Afficher la boîte englobante de la sélection @@ -10754,13 +10077,13 @@ apportée à la copie en cours sera perdue. StdCmdSelForward - + &Forward Suivant - - + + Repeat the backed selection Répéter la sélection sauvegardée @@ -10782,13 +10105,13 @@ apportée à la copie en cours sera perdue. StdCmdSelectVisibleObjects - + Select visible objects Sélectionner des objets visibles - - + + Select visible objects in the active document Sélectionner des objets visibles dans le document actif @@ -10810,13 +10133,13 @@ apportée à la copie en cours sera perdue. StdCmdSetAppearance - + Appearance... Apparence... - - + + Sets the display properties of the selected object Définit les propriétés d'affichage de l'objet sélectionné @@ -10824,13 +10147,13 @@ apportée à la copie en cours sera perdue. StdCmdShowObjects - + Show all objects Afficher tous les objets - - + + Show all objects in the document Afficher tous les objets dans le document @@ -10838,13 +10161,13 @@ apportée à la copie en cours sera perdue. StdCmdShowSelection - + Show selection Afficher la sélection - - + + Show all selected objects Afficher tous les objets sélectionnés @@ -10880,13 +10203,13 @@ apportée à la copie en cours sera perdue. StdCmdTextureMapping - + Texture mapping... Mappage de texture... - - + + Texture mapping Mappage de texture @@ -10922,13 +10245,13 @@ apportée à la copie en cours sera perdue. StdCmdToggleClipPlane - + Clipping plane Plan de coupe - - + + Toggles clipping plane for active view Bascule le plan de coupe pour la vue active @@ -10936,13 +10259,13 @@ apportée à la copie en cours sera perdue. StdCmdToggleNavigation - + Toggle navigation/Edit mode - Basculer en mode navigation/édition + Basculer entre mode de navigation/d'édition - - + + Toggle between navigation and edit mode Basculer entre le mode navigation et le mode d'édition @@ -10950,13 +10273,13 @@ apportée à la copie en cours sera perdue. StdCmdToggleObjects - + Toggle all objects Basculer tous les objets - - + + Toggles visibility of all objects in the active document Bascule la visibilité de tous les objets dans le document actif @@ -10964,13 +10287,13 @@ apportée à la copie en cours sera perdue. StdCmdToggleSelectability - + Toggle selectability Basculer la sélectivité - - + + Toggles the property of the objects to get selected in the 3D-View Basculer la propriété des objets à sélectionner dans la vue 3D @@ -10978,13 +10301,13 @@ apportée à la copie en cours sera perdue. StdCmdToggleVisibility - + Toggle visibility Basculer la visibilité - - + + Toggles visibility Bascule la visibilité @@ -11034,13 +10357,13 @@ apportée à la copie en cours sera perdue. StdCmdTreeCollapse - + Collapse selected item Réduire l'élément sélectionné - - + + Collapse currently selected tree items Réduire l'arborescence actuellement sélectionnée @@ -11048,13 +10371,13 @@ apportée à la copie en cours sera perdue. StdCmdTreeExpand - + Expand selected item Développer l'élément sélectionné - - + + Expand currently selected tree items Développer l'arborescence actuellement sélectionnée @@ -11062,13 +10385,13 @@ apportée à la copie en cours sera perdue. StdCmdTreeSelectAllInstances - + Select all instances Sélectionner tous les cas - - + + Select all instances of the current selected object Sélectionner toutes les instances de l'objet sélectionné @@ -11076,13 +10399,13 @@ apportée à la copie en cours sera perdue. StdCmdTreeViewActions - + TreeView actions Vue en arborescence - - + + TreeView behavior options and actions Configurations et options de la vue en arborescence @@ -11146,13 +10469,13 @@ apportée à la copie en cours sera perdue. StdCmdViewBottom - + Bottom Dessous - - + + Set to bottom view Afficher la vue de dessous @@ -11160,13 +10483,13 @@ apportée à la copie en cours sera perdue. StdCmdViewCreate - + Create new view Créer une nouvelle vue - - + + Creates a new view window for the active document Crée une nouvelle fenêtre de vue pour le document actif @@ -11174,13 +10497,13 @@ apportée à la copie en cours sera perdue. StdCmdViewDimetric - + Dimetric Dimétrique - - + + Set to dimetric view Choisir la vue dimétrique @@ -11188,13 +10511,13 @@ apportée à la copie en cours sera perdue. StdCmdViewExample1 - + Inventor example #1 Exemple Inventor #1 - - + + Shows a 3D texture with manipulator Affiche une texture 3D avec manipulation @@ -11202,13 +10525,13 @@ apportée à la copie en cours sera perdue. StdCmdViewExample2 - + Inventor example #2 Exemple Inventor #2 - - + + Shows spheres and drag-lights Affiche des sphères et des lumières déplaçables @@ -11216,13 +10539,13 @@ apportée à la copie en cours sera perdue. StdCmdViewExample3 - + Inventor example #3 Exemple Inventor #3 - - + + Shows a animated texture Affiche une texture animée @@ -11230,13 +10553,13 @@ apportée à la copie en cours sera perdue. StdCmdViewFitAll - + Fit all Tout afficher - - + + Fits the whole content on the screen Afficher l'ensemble du contenu à l'écran @@ -11244,13 +10567,13 @@ apportée à la copie en cours sera perdue. StdCmdViewFitSelection - + Fit selection Afficher la sélection - - + + Fits the selected content on the screen Afficher le contenu sélectionné à l'écran @@ -11258,13 +10581,13 @@ apportée à la copie en cours sera perdue. StdCmdViewFront - + Front Devant - - + + Set to front view Afficher la vue de face @@ -11272,13 +10595,13 @@ apportée à la copie en cours sera perdue. StdCmdViewHome - + Home Accueil - - + + Set to default home view Définir comme vue d'accueil par défaut @@ -11286,13 +10609,13 @@ apportée à la copie en cours sera perdue. StdCmdViewIsometric - + Isometric Isométrique - - + + Set to isometric view Choisir la vue isométrique @@ -11300,13 +10623,13 @@ apportée à la copie en cours sera perdue. StdCmdViewIvIssueCamPos - + Issue camera position Récupérer la position de la caméra - - + + Issue the camera position to the console and to a macro, to easily recall this position Récupérer la position de la caméra dans la console et dans une macro, pour réutiliser facilement cette position @@ -11314,13 +10637,13 @@ apportée à la copie en cours sera perdue. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Colonnes stéréo entrelacées - - + + Switch stereo viewing to Interleaved Columns Basculer la vision stéréo vers la technique des colonnes entrelacées @@ -11328,13 +10651,13 @@ apportée à la copie en cours sera perdue. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Lignes stéréo entrelacées - - + + Switch stereo viewing to Interleaved Rows Basculer la vision stéréo vers la technique des ligne entrelacées @@ -11342,13 +10665,13 @@ apportée à la copie en cours sera perdue. StdCmdViewIvStereoOff - + Stereo Off Désactiver la stéréo - - + + Switch stereo viewing off Désactiver la vision stéréo @@ -11356,13 +10679,13 @@ apportée à la copie en cours sera perdue. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Tampon stéréo quadruple - - + + Switch stereo viewing to quad buffer Basculer la vision stéreo vers la technique de tampon quadruple @@ -11370,13 +10693,13 @@ apportée à la copie en cours sera perdue. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stéréo rouge/cyan - - + + Switch stereo viewing to red/cyan Basculer la vision stéréoscopique vers rouge/cyan @@ -11384,13 +10707,13 @@ apportée à la copie en cours sera perdue. StdCmdViewLeft - + Left Gauche - - + + Set to left view Afficher la vue de gauche @@ -11398,13 +10721,13 @@ apportée à la copie en cours sera perdue. StdCmdViewRear - + Rear Arrière - - + + Set to rear view Afficher la vue arrière @@ -11426,13 +10749,13 @@ apportée à la copie en cours sera perdue. StdCmdViewRight - + Right Droit - - + + Set to right view Afficher la vue de droite @@ -11440,13 +10763,13 @@ apportée à la copie en cours sera perdue. StdCmdViewRotateLeft - + Rotate Left Rotation à gauche - - + + Rotate the view by 90° counter-clockwise Tourner la vue de 90° sens antihoraire @@ -11454,13 +10777,13 @@ apportée à la copie en cours sera perdue. StdCmdViewRotateRight - + Rotate Right Rotation à droite - - + + Rotate the view by 90° clockwise Tourner la vue de 90° sens horaire @@ -11482,13 +10805,13 @@ apportée à la copie en cours sera perdue. StdCmdViewTop - + Top Dessus - - + + Set to top view Afficher la vue de dessus @@ -11496,13 +10819,13 @@ apportée à la copie en cours sera perdue. StdCmdViewTrimetric - + Trimetric Trimétrique - - + + Set to trimetric view Choisir la vue trimétrique @@ -11510,13 +10833,13 @@ apportée à la copie en cours sera perdue. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Étendre la fenêtre 3D FreeCAD pour l'Oculus Rift @@ -11582,13 +10905,13 @@ cette dernière fonction s'ouvre. StdMainFullscreen - + Fullscreen Plein écran - - + + Display the main window in fullscreen mode Afficher la fenêtre principale en mode plein écran @@ -11604,7 +10927,7 @@ cette dernière fonction s'ouvre. Switches to orthographic view mode - Bascule vers le mode de vue orthographique + Basculer vers le mode de vue orthographique @@ -11618,19 +10941,19 @@ cette dernière fonction s'ouvre. Switches to perspective view mode - Bascule en mode de vue perspective + Basculer vers le mode de vue en perspective StdRecallWorkingView - + Recall working view Rappeler la vue de travail - - + + Recall previously stored temporary working view Rappeler la vue de travail temporaire précédemment stockée @@ -11638,13 +10961,13 @@ cette dernière fonction s'ouvre. StdStoreWorkingView - + Store working view Stocker la vue de travail - - + + Store a document-specific temporary working view Stocker une vue de travail temporaire spécifique au document @@ -11652,13 +10975,13 @@ cette dernière fonction s'ouvre. StdTreeCollapseDocument - + Collapse/Expand Réduire/développer - - + + Expand active document and collapse all others Développer le document actif et réduire tous les autres @@ -11666,12 +10989,12 @@ cette dernière fonction s'ouvre. StdTreeDrag - + Initiate dragging Commencer un déplacement - + Initiate dragging of current selected tree items Commencer le déplacement des éléments sélectionnés @@ -11679,13 +11002,13 @@ cette dernière fonction s'ouvre. StdTreeMultiDocument - + Multi document Document multiple - - + + Display all documents in the tree view Afficher tous les documents dans l’arborescence @@ -11693,12 +11016,12 @@ cette dernière fonction s'ouvre. StdTreePreSelection - + Pre-selection Pré-sélectionner - + Preselect the object in 3D view when mouse over the tree item Préselectionner l'objet dans la vue 3D quand la souris passe au-dessus d'un élément de l'arborescence @@ -11706,12 +11029,12 @@ cette dernière fonction s'ouvre. StdTreeRecordSelection - + Record selection Enregistrer la sélection - + Record selection in tree view in order to go back/forward using navigation button Sauvegarder la sélection dans l'arborescence pour aller en avant/arrière avec les boutons de navigation @@ -11719,13 +11042,13 @@ cette dernière fonction s'ouvre. StdTreeSelection - + Go to selection Aller à la sélection - - + + Scroll to first selected item Défiler jusqu'au premier élément sélectionné @@ -11733,13 +11056,13 @@ cette dernière fonction s'ouvre. StdTreeSingleDocument - + Single document Document unique - - + + Only display the active document in the tree view Afficher uniquement le document actif dans l’arborescence @@ -11747,12 +11070,12 @@ cette dernière fonction s'ouvre. StdTreeSyncPlacement - + Sync placement Synchroniser le positionnement - + Auto adjust placement on drag and drop objects across coordinate systems Ajuster automatiquement le positionnement des objets glissés-déposés dans les différents systèmes de coordonnées @@ -11760,12 +11083,12 @@ cette dernière fonction s'ouvre. StdTreeSyncSelection - + Sync selection Synchroniser la sélection - + Auto expand tree item when the corresponding object is selected in 3D view Déplier automatiquement l'arborescence quand l'objet correspondant est sélectionné dans la vue 3D @@ -11773,12 +11096,12 @@ cette dernière fonction s'ouvre. StdTreeSyncView - + Sync view Synchroniser la vue - + Auto switch to the 3D view containing the selected item Basculer automatiquement vers la vue 3D contenant l'objet sélectionné @@ -11786,13 +11109,13 @@ cette dernière fonction s'ouvre. StdViewBoxZoom - + Box zoom Zoom fenêtre - - + + Activate the box zoom tool Activer l’outil boîte de zoom @@ -11800,55 +11123,55 @@ cette dernière fonction s'ouvre. StdViewDock - + Docked - Dockée + Ancré - - + + Display the active view either in fullscreen, in undocked or docked mode - Afficher la vue active soit en mode plein écran, non ancrée ou ancrée + Afficher la vue active soit en plein écran, soit en mode non ancré, soit en mode ancré StdViewDockUndockFullscreen - + Document window Fenêtre de document - - + + Display the active view either in fullscreen, in undocked or docked mode - Afficher la vue active soit en mode plein écran, non ancrée ou ancrée + Afficher la vue active soit en plein écran, soit en mode non ancré, soit en mode ancré StdViewFullscreen - + Fullscreen Plein écran - - + + Display the active view either in fullscreen, in undocked or docked mode - Afficher la vue active soit en mode plein écran, non ancrée ou ancrée + Afficher la vue active soit en plein écran, soit en mode non ancré, soit en mode ancré StdViewScreenShot - + Save image... Enregistrer l'image... - - + + Creates a screenshot of the active view Crée une capture d'écran de la vue active @@ -11856,27 +11179,27 @@ cette dernière fonction s'ouvre. StdViewUndock - + Undocked - Non dockée + Non ancré - - + + Display the active view either in fullscreen, in undocked or docked mode - Afficher la vue active soit en mode plein écran, non ancrée ou ancrée + Afficher la vue active soit en plein écran, soit en mode non ancré, soit en mode ancré StdViewZoomIn - + Zoom In Zoom avant - - + + Increase the zoom factor by a fixed amount Augmenter le facteur de zoom d’une valeur fixe @@ -11884,13 +11207,13 @@ cette dernière fonction s'ouvre. StdViewZoomOut - + Zoom Out Zoom arrière - - + + Decrease the zoom factor by a fixed amount Diminuer le facteur de zoom d’une valeur fixe @@ -11903,9 +11226,9 @@ cette dernière fonction s'ouvre. Are you sure you want to continue? - Les références d'objets suivantes pourraient se briser. + Les objets de référencement suivants risquent de se casser. -Êtes-vous sûrs de vouloir continuer ? +Êtes-vous sûr de vouloir continuer ? @@ -11925,72 +11248,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Comme actuellement - + Normal mode Mode normal - + Points Points - + Points mode Mode points - + Wireframe Filaire - + Wireframe mode Mode filaire - + Hidden line Ligne cachée - + Hidden line mode Mode ligne cachée - + No shading Pas d'ombrage - + No shading mode Aucun mode d’ombrage - + Shaded Ombré - + Shaded mode Mode ombré - + Flat lines Filaire ombré - + Flat lines mode Mode filaire ombré @@ -12053,32 +11376,32 @@ Voulez-vous tout de même continuer ? TreeParams - + Tree view item background. Only effective in overlay. Arrière-plan de l’élément dans la vue en arborescence. Ne fonctionne qu’en cas de superposition. - + Tree view item background padding. Remplissage de l’arrière-plan de l’élément dans la vue en arborescence. - + Hide extra tree view column for item description. Masquer la colonne supplémentaire de la vue en arborescence pour la description de l'élément. - + Hide tree view scroll bar in dock overlay. Masquer la barre de défilement de l'arborescence dans la superposition du dock. - + Hide tree view header view in dock overlay. Masquer la vue d'en-tête de l'arborescence dans la superposition du dock. - + Allow tree view columns to be manually resized. Permettre de redimensionner manuellement les colonnes de la vue en arborescence. @@ -12086,117 +11409,117 @@ Voulez-vous tout de même continuer ? Workbench - + &File &Fichier - + &Edit &Édition - + Edit Éditer - + Clipboard Presse-papiers - + Workbench Ateliers - + Structure Structure - + Standard views Vues standards - + Axonometric Axonométrique - + &Stereo &Stéréo - + &Zoom &Zoom - + Visibility Visibilité - + &View &Affichage - + &Tools &Outils - + &Macro &Macro - + &Windows Fe&nêtre - + &On-line help Aide en &ligne - + &Help &Aide - + Help Aide - + File Fichier - + Macro Macro - + View Vue - + Special Ops Opérations spéciales - + Link actions Actions sur les liens @@ -12204,12 +11527,12 @@ Voulez-vous tout de même continuer ? Gui::MDIView - + Export PDF Exporter vers PDF - + PDF file Fichier PDF @@ -12217,196 +11540,190 @@ Voulez-vous tout de même continuer ? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Zone de notification - + Settings Réglages - + The Notification area will appear in the status bar La zone de notification apparaîtra dans la barre d'état - + Enable Notification Area Activer la zone de notification - + Non-intrusive notifications will appear next to the notification area in the status bar Des notifications non intrusives apparaîtront à côté de la zone de notification dans la barre d'état - + Enable non-intrusive notifications Activer les notifications non intrusives - + Additional data sources Sources de données supplémentaires - + Errors intended for developers will appear in the notification area Les erreurs destinées aux développeurs apparaîtront dans la zone de notification - + Debug errors Erreurs de débogage - + Warnings intended for developers will appear in the notification area Les avertissements destinés aux développeurs apparaîtront dans la zone de notification - + Debug warnings Avertissements de débogage - + Non-Intrusive Notifications Notifications non intrusives - + Minimum Duration: Durée minimale : - + Maximum Duration: Durée maximale : - + Duration during which the notification will be shown (unless mouse buttons are clicked) Durée pendant laquelle la notification sera affichée (sauf si les boutons de la souris sont cliqués) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Durée minimale pendant laquelle la notification sera affichée (sauf si la notification est cliquée) - + Maximum Number of Notifications: Nombre maximum de notifications : - + Maximum number of notifications that will be simultaneously present on the screen Nombre maximum de notifications qui seront présentes simultanément à l'écran - + Notification width: Largeur de la notification : - + Width of the notification in pixels Largeur de la notification en pixels - + Any open non-intrusive notifications will disappear when another window is activated Toutes les notifications non intrusives ouvertes disparaîtront quand une autre fenêtre sera activée - + Hide when other window is activated Masquer quand une autre fenêtre est activée - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Empêcher l'apparition de notifications non intrusives lorsque la fenêtre de FreeCAD n'est pas la fenêtre active - + Do not show when inactive Ne pas afficher en cas d'inactivité - + Message List Liste de messages - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limite le nombre de messages qui seront conservés dans la liste. Si c'est 0 il n'y a pas de limite. - + Maximum Messages (0 = no limit): Nombre maximum de messages (0 = sans limite) : - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Supprime les notifications de l'utilisateur de la liste des messages après l'expiration de la durée maximale non intrusive. - + Auto-remove User Notifications Suppression automatique des notifications de l'utilisateur - - - Activation of the Notification Area only takes effect after an application restart. - L'activation de la zone de notification ne prend effet qu'après le redémarrage de l'application. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Ateliers disponibles - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Vous pouvez réorganiser les ateliers par un glisser-déposer. Des ateliers supplémentaires peuvent être installés via le gestionnaire des extensions.</p><p> Actuellement, votre système dispose des ateliers suivants :</p></body></html> - + Start up workbench: Atelier de démarrage : - + Choose which workbench will be activated and shown after FreeCAD launches Choisissez quel atelier sera activé et affiché après le lancement de FreeCAD - + Workbench selector position : Position du sélecteur d’atelier : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12419,12 +11736,12 @@ après le lancement de FreeCAD "Coin droit" : sur la barre de menus, dans le coin droit. - + If checked, application will remember which workbench is active for each tab of the viewport Si coché, l'application se rappellera quel atelier est actif pour chaque onglet de la fenêtre d'affichage - + Remember active workbench by tab Mémoriser l'atelier actif par onglet @@ -12434,7 +11751,7 @@ après le lancement de FreeCAD Choose orientation - Sélectionner l'orientation + Choisir une orientation @@ -12532,12 +11849,12 @@ après le lancement de FreeCAD Width: - Largeur : + Largeur : Height: - Hauteur : + Hauteur : @@ -12573,47 +11890,47 @@ après le lancement de FreeCAD Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Si non coché, %1 n'apparaîtra pas dans les ateliers disponibles. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Ceci est le module de démarrage actuel et doit être activé. Voir Préférences/Général/Chargement automatique pour en changer. - + Shortcut to activate this workbench. Raccourci pour activer cet atelier. - + Auto-load Chargement automatique - + If checked, %1 will be loaded automatically when FreeCAD starts up Si coché, %1 sera chargé automatiquement lorsque FreeCAD démarrera - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Il s'agit de l'atelier de démarrage, qui doit être chargé automatiquement. Voir Préférences/Général/Chargement automatique pour changer. - + Loaded Chargé - + Load Charger - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Pour préserver les ressources, FreeCAD ne charge pas les ateliers tant qu'ils ne sont pas utilisés. Les charger peut fournir un accès à des préférences supplémentaires liées à leurs fonctionnalités. @@ -12621,17 +11938,22 @@ après le lancement de FreeCAD Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Barre d'outils - + Left corner Coin gauche - + Right corner Coin droit @@ -12657,12 +11979,12 @@ après le lancement de FreeCAD Gui::NotificationArea - + Delete user notifications Supprimer les notifications de l'utilisateur - + Delete All Tout supprimer @@ -12698,13 +12020,13 @@ après le lancement de FreeCAD StdViewLoadImage - + Load image... Charger une image... - - + + Loads an image Charge une image @@ -12766,10 +12088,816 @@ après le lancement de FreeCAD Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Une erreur est survenue -- voir la vue rapport pour plus d'informations + + Gui::Dialog::DlgSettingsEditor + + + Editor + Éditeur + + + + Options + Options + + + + Code lines will be numbered + Les lignes de code seront numérotées + + + + Enable line numbers + Activer la numérotation des lignes + + + + The cursor shape will be a block + La forme du curseur sera un bloc + + + + Enable block cursor + Activer le curseur sous forme de bloc + + + + Enable folding + Activer le pliage + + + + Indentation + Retrait + + + + Tab size: + Taille des tabulations : + + + + Tabulator raster (how many spaces) + Valeur de l'indentation d'une tabulation + + + + Indent size: + Taille des retraits : + + + + How many spaces will be inserted when pressing <Tab> + Nombre d'espaces insérés lors de l'appui sur <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Appuyez sur <Tab> pour insérer une tabulation avec une taille de tabulation définie + + + + Keep tabs + Garder les tabulations + + + + Pressing <Tab> will insert amount of defined indent size + Appuyer sur <Tab> insérera une quantité de taille d'indentation définie + + + + Insert spaces + Insérer des espaces + + + + Display items + Afficher les éléments + + + + Color and font settings will be applied to selected type + Les paramètres de couleur et de police seront appliqués au type sélectionné + + + + Family: + Police : + + + + Font family to be used for selected code type + Police à utiliser pour le type de code sélectionné + + + + Size: + Taille : + + + + Font size to be used for selected code type + Taille de la police à utiliser pour le type de code sélectionné + + + + Color: + Couleur : + + + + Preview: + Aperçu : + + + + Text + Texte + + + + Bookmark + Marque-pages + + + + Breakpoint + Point d'arrêt + + + + Keyword + Mot-clé + + + + Comment + Commentaire + + + + Block comment + Bloc commentaire + + + + Number + Nombre + + + + String + Chaîne + + + + Character + Caractère + + + + Class name + Nom de classe + + + + Define name + Définir le nom + + + + Operator + Opérateur + + + + Python output + Sortie Python + + + + Python error + Erreur Python + + + + Current line highlight + Surbrillance de ligne actuelle + + + + Items + Items + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Général + + + + Language and number format + Format de la langue et des nombres + + + + Language: + Langue : + + + + Language of the application's user interface + Langue de l'interface utilisateur de l'application + + + + Unit system: + Système d’unités : + + + + Unit system that should be used for all parts of the application + Système d'unités à utiliser pour toutes les pièces de l'application + + + + Number of decimals: + Nombre de décimales : + + + + Number of decimals that should be shown for numbers and dimensions + Nombre de décimales qui doivent être indiquées pour les nombres et les dimensions + + + + Minimum fractional inch: + Fraction minimale de pouce : + + + + Minimum fractional inch to be displayed + Fraction minimale en pouce à afficher + + + + Number format: + Format des nombres : + + + + Operating system + Système d'exploitation + + + + Selected language + Langue sélectionnée + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Si activé, le séparateur décimal du pavé numérique +sera remplacé par le séparateur de la langue du système, +sauf dans la console Python et l'éditeur de Macro où un +point sera toujours affiché. + + + + Substitute decimal separator + Remplacer le séparateur décimal + + + + Application + Application + + + + Theme: + Thème : + + + + Customize how user interface will look like + Personnaliser l'interface utilisateur + + + + Size of toolbar icons: + Taille des icônes de la barre d'outils : + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Choisissez la taille des icônes de la barre d'outils. Vous pouvez l'ajuster +selon la taille de votre écran ou votre goût personnel + + + + Tree view mode: + Mode d'affichage de l'arborescence : + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Personnaliser l'affichage de la vue en arborescence dans le panneau (redémarrage requis). + +'''Vue combinée''' : combine l'arborescence et la vue des propriétés en un seul panneau. +* '''Arborescence et Propriétés'' : sépare la vue en arborescence et la vue des propriétés en deux panneaux distincts. +'''Les deux''' : affiche les trois panneaux. Vous pouvez avoir les deux ensembles de paramètres de la vue en arborescence et la vue des propriétés. + + + + Size of recent file list: + Taille de la liste des fichiers récents : + + + + How many files should be listed in recent files list + Combien de fichiers doivent être listés dans la liste des fichiers récents + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + L'arrière-plan de la fenêtre principale (quand aucun document n'est ouvert) sera constitué de tuiles d'une image spéciale. +Voir le Wiki de FreeCAD pour plus de détails sur l'image. + + + + Enable tiled background + Activer l'arrière-plan en mosaïque + + + + The text cursor will be blinking + Le curseur du texte clignotera + + + + Enable cursor blinking + Activer le clignotement du curseur + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Un écran de démarrage est une petite fenêtre de chargement qui s'affiche +lors du lancement de FreeCAD. Si cette option est cochée, FreeCAD affichera +l'écran de démarrage + + + + Enable splash screen at start up + Activer l'écran d'accueil au démarrage + + + + Preference packs + Kits de préférences + + + + Name + Nom + + + + Type + Type + + + + Load + Charger + + + + Import config... + Importer une configuration… + + + + Save new... + Enregistrer un nouveau... + + + + Manage... + Gérer... + + + + Revert... + Rétablir... + + + + Manage preference packs + Gérer les kits de préférences + + + + Small (%1px) + Petit (%1px) + + + + Medium (%1px) + Moyen (%1px) + + + + Large (%1px) + Grand (%1px) + + + + Extra large (%1px) + Très grand (%1px) + + + + Custom (%1px) + Personnalisé (%1px) + + + + Combo View + Vue combinée + + + + TreeView and PropertyView + Arborescence et Propriétés + + + + Both + Les deux + + + + Preference Pack Name + Nom du kit de préférences + + + + Tags + Mots-clés + + + + Apply + Appliquer + + + + Apply the %1 preference pack + Appliquer le kit de préférences %1 + + + + Choose a FreeCAD config file to import + Choisir un fichier de configuration de FreeCAD à importer + + + + File exists + Le fichier existe + + + + A preference pack with that name already exists. Overwrite? + Un kit de préférences portant ce nom existe déjà. Voulez-vous l'écraser ? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Vue rapport + + + + Output + Sortie + + + + Normal messages will be recorded + Les messages normaux seront enregistrés + + + + Record normal messages + Enregistrer les messages normaux + + + + Log messages will be recorded + Les messages de log seront enregistrés + + + + Record log messages + Enregistrer les messages du journal + + + + Warnings will be recorded + Les avertissements seront enregistrés + + + + Record warnings + Enregistrer les avertissements + + + + Error messages will be recorded + Les messages d'erreur seront enregistrés + + + + Record error messages + Enregistrer les messages d'erreur + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Lorsqu'une erreur est survenue, la fenêtre de visualisation des rapports s'affiche +à l'écran et indique l'erreur + + + + Show report view on error + Afficher la vue rapport en cas d'erreur + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Lorsqu'un avertissement survient, la fenêtre de visualisation des rapports s'affiche +à l'écran et indique l'erreur + + + + Show report view on warning + Afficher la vue rapport en cas d'avertissement + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Lorsqu'un message survient, la fenêtre de visualisation des rapports s'affiche +à l'écran et indique l'erreur + + + + Show report view on normal message + Afficher la vue rapport sur les messages + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Lorsqu'un message du journal survient, la fenêtre de visualisation des rapports s'affiche +à l'écran et indique le message + + + + Show report view on log message + Afficher la vue rapport sur les messages du journal + + + + Include a timecode for each report + Inclure un timecode pour chaque rapport + + + + Include a timecode for each entry + Inclure un timecode pour chaque entrée + + + + Colors + Couleurs + + + + Normal messages: + Messages normaux : + + + + Font color for normal messages in Report view panel + Couleur de police pour les messages normaux dans la vue Rapport + + + + Log messages: + Journal des messages : + + + + Font color for log messages in Report view panel + Couleur de police pour les messages de log dans la fenêtre de rapport + + + + Warnings: + Avertissements : + + + + Font color for warning messages in Report view panel + Couleur de police pour les messages d'avertissement dans la fenêtre Rapport + + + + Errors: + Erreurs : + + + + Font color for error messages in Report view panel + Couleur de police pour les messages d'erreur dans la fenêtre rapport + + + + Python interpreter + Interpréteur Python + + + + Internal Python output will be redirected +from Python console to Report view panel + La sortie interne de Python sera redirigée +depuis la console Python vers la fenêtre Rapport + + + + Redirect internal Python output to report view + Rediriger les messages internes de Python vers la vue rapport + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Les messages d'erreur internes de Python seront redirigés +de la console Python vers la Vue rapport + + + + Redirect internal Python errors to report view + Rediriger les erreurs internes de Python vers la Vue rapport + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Thème + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Cette page vous permet de personnaliser votre thème en cours. Les paramètres proposés sont facultatifs pour les développeurs de thèmes et peuvent donc avoir ou non un effet sur votre thème courant. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Cette couleur peut être utilisée par votre thème pour vous permettre de le personnaliser. + + + + No style sheet + Aucune feuille de style + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_gl.ts b/src/Gui/Language/FreeCAD_gl.ts index c423a0d182..7e6728f718 100644 --- a/src/Gui/Language/FreeCAD_gl.ts +++ b/src/Gui/Language/FreeCAD_gl.ts @@ -42,29 +42,29 @@ Tamaño visual das características - + <empty> <baleiro> - - + + Angle Ángulo - - + + Axis Eixo - + Position Position - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Proba de saída da consola - - + + Run test cases to verify console messages Run test cases to verify console messages @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Limpar medicións - + Clear all visible measurements Clear all visible measurements @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Activar medicións - + Turn on or off the display of all measurements Turn on or off the display of all measurements @@ -132,7 +132,7 @@ Desbotar - + Paste expressions Colar expresións @@ -182,7 +182,7 @@ Engadir un grupo - + Align Align @@ -193,40 +193,40 @@ Emprazamento - - + + Transform Transformar - + Toggle array elements Toggle array elements - + Link Transform Transformar ligazón - + Measure distance Medir distancia - + Toggle visibility Alternar visibilidade - + Toggle selectability Alternar selectividade - + Edit image Edit image @@ -234,77 +234,77 @@ CommandGroup - + File Ficheiro - + Edit Editar - + Help Axuda - + Link Ligazón - + Tools Ferramentas - + View Vista - + Window Fiestra - + Standard Estándar - + Macros Macros - + Macro Macro - + Structure Estrutura - + Standard-Test Proba estándar - + Standard-View Vista estándar - + TreeView Vista en árbore - + Measure Medida @@ -402,11 +402,6 @@ DownloadItem - - - Form - Formulario - Ico @@ -421,42 +416,42 @@ EditMode - + Default Por defecto - + The object will be edited using the mode defined internally to be the most appropriate for the object type The object will be edited using the mode defined internally to be the most appropriate for the object type - + Transform Transformar - + The object will have its placement editable with the Std TransformManip command The object will have its placement editable with the Std TransformManip command - + Cutting Tallado - + This edit mode is implemented as available but currently does not seem to be used by any object This edit mode is implemented as available but currently does not seem to be used by any object - + Color Cor - + The object will have the color of its individual faces editable with the Part FaceColors command The object will have the color of its individual faces editable with the Part FaceColors command @@ -482,7 +477,7 @@ ningún - + Press a keyboard shortcut Press a keyboard shortcut @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Dispoñíbel: - + Selected: Escolmado: - + Add Engadir - + Remove Rexeitar - + Move up Mover cara arriba - + Move down Mover cara abaixo @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Obxecto móbil - + Fixed object Obxecto fixo @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Agarde mentres se garda o ficheiro de Auto-recuperación... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Premer o botón esquerdo do rato - + Press SHIFT and middle mouse button Prema SHIFT mais o botón central do rato - + Press middle mouse button Prema o botón central do rato - + Scroll middle mouse button Role o botón central do rato @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Premer o botón esquerdo do rato - + Press middle mouse button Prema o botón central do rato - + Press middle+left or middle+right button Preme botón central+esquerda ou central+dereito - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Move o botón central do rato ou ben manteno preso mentras o botón esquerdo ou dereito e move o rato para enriba ou embaixo @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel &Cancelar @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Panel de Tarefas @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Créditos - + FreeCAD would not be possible without the contributions of FreeCAD non sería posible sen as contribucións de - + Individuals Header for the list of individual people in the Credits list. Individuos - + Organizations Header for the list of companies/organizations in the Credits list. Organizacións - - + + License Licenza - + Libraries Librarías - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Este software usa compoñentes de código aberto dos que os dereitos de autor e outros dereitos propietarios pertencen ós seus respectivos donos: - + Collection Colección @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Cache directory - + The cache directory %1 exceeds the size of %2. The cache directory %1 exceeds the size of %2. - + Do you want to clear it now? Do you want to clear it now? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Axustes da cámara - + Orientation Orientación - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vista actual @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Comandos @@ -1116,12 +1111,12 @@ Se non marca esta opción, entón a propiedade debe nomearse de forma única, e Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Pack already exists - + A preference pack with that name already exists. Do you want to overwrite it? A preference pack with that name already exists. Do you want to overwrite it? @@ -1359,48 +1354,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Type to search... - + Icon Icona - + Command Comando - + Shortcut Shortcut - + Default Por defecto - + Name Nome - + Title Título - + All Todo - - + + none ningún @@ -1408,8 +1403,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Barras da Caixa de Ferramentas @@ -1498,40 +1493,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separador> - + %1 module not loaded Módulo %1 non cargado - + New toolbar Nova Barra de ferramentas - - + + Toolbar name: Nome da Barra: - - + + Duplicated name Nome duplicado - - + + The toolbar name '%1' is already used O nome de barra '%1' xa está en uso - + Rename toolbar Renomear a Barra de ferramentas @@ -1544,19 +1539,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Personalizar - + &Help &Axuda - + &Close &Pechar @@ -1565,13 +1560,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Movemento da Spaceball - + No Spaceball Present Spaceball non presente @@ -1579,27 +1574,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Botóns do SpaceBall - + No Spaceball Present Spaceball non presente - + Buttons Botóns - + Reset Restaurar - + Print Reference Impresionar referencia @@ -1684,551 +1679,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Por defecto - + Aluminium Aluminio - + Brass Latón - + Bronze Bronce - + Copper Cobre - + Chrome Cromo - + Emerald Esmeralda - + Gold Ouro - + Jade Xade - + Metalized Metalizado - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidiana - + Pewter Estaño - + Plaster Xeso - + Plastic Plástico - + Ruby Rubí - + Satin Satén - + Shiny plastic Plástico brillante - + Silver Prata - + Steel Aceiro - + Stone Pedra Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opcións - - - - Code lines will be numbered - As liñas de código estarán numeradas - - - - Enable line numbers - Activar a numeración de liña - - - - The cursor shape will be a block - The cursor shape will be a block - - - - Enable block cursor - Enable block cursor - - - - Enable folding - Activar o pregado - - - - Indentation - Indentación - - - - Tab size: - Tamaño da tabulación: - - - - Tabulator raster (how many spaces) - Tabulador raster (cantos espazos) - - - - Indent size: - Tamaño do Indentación: - - - - How many spaces will be inserted when pressing <Tab> - Cantos espazos se inserirán ó premer <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Premendo <Tab> inserirá un tabulador co tamaño de tab definido - - - - Keep tabs - Manter tabulacións - - - - Pressing <Tab> will insert amount of defined indent size - Premendo <Tab> inserirá a cantidade do tamaño do sangrado definido - - - - Insert spaces - Inserir espazos - - - - Display items - Amosar elementos - - - - Color and font settings will be applied to selected type - Os axustes de cor e tipo de letra aplicaranse ó tipo seleccionado - - - - Family: - Fonte: - - - - Font family to be used for selected code type - Tipo de letra que empregara o tipo de código escollido - - - - Size: - Tamaño: - - - - Font size to be used for selected code type - Tamaño de letra a usar para o tipo de código seleccionado - - - - Color: - Cor: - - - - Preview: - Vista previa: - - - Gui::Dialog::DlgGeneral - - - General - Xeral - - - - Language of the application's user interface - Idioma da interface de usuario da aplicación - - - - Number format: - Number format: - - - - Operating system - Sistema operativo - - - - Selected language - Selected language - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Preference packs - - - - Name - Nome - - - - Type - Tipo - - - - Load - Load - - - - Import config... - Import config... - - - - Save new... - Save new... - - - - Manage... - Manage... - - - - Revert... - Revert... - - - - How many files should be listed in recent files list - Cantos ficheiros deben mostrarse na lista de ficheiros recentes - - - - Enable tiled background - Habilitar fondo en tellas - - - - The text cursor will be blinking - The text cursor will be blinking - - - - Enable cursor blinking - Enable cursor blinking - - - - Style sheet: - Estilo da interface: - - - - Language and number format - Language and number format - - - - Language: - Language: - - - - Unit system: - Sistema de unidades: - - - - Unit system that should be used for all parts of the application - Unit system that should be used for all parts of the application - - - - Number of decimals: - Número de decimais: - - - - Number of decimals that should be shown for numbers and dimensions - Number of decimals that should be shown for numbers and dimensions - - - - Minimum fractional inch: - Mínima fracción de polgadas: - - - - Minimum fractional inch to be displayed - Minimum fractional inch to be displayed - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - Aplicación - - - - Style sheet how user interface will look like - Folla de estilo de como se verá a interface de usuario - - - - Size of toolbar icons: - Tamaño das íconas das barras de ferramentas: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Escolla a súa preferencia para o tamaño da icona da barra de ferramentas. -Pode axustar isto de acordo ó tamaño da súa pantalla ou gusto persoal - - - - Tree view mode: - Modo de vista de árbore: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - - - - Size of recent file list: - Size of recent file list: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - - - - Enable splash screen at start up - Amosar a páxina de benvida o iniciar - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Manage preference packs - - - - Small (%1px) - Pequeno (%1px) - - - - Medium (%1px) - Medio (%1px) - - - - Large (%1px) - Grande (%1px) - - - - Extra large (%1px) - Moi grande (%1px) - - - - Custom (%1px) - Personalizado (%1px) - - - - Combo View - Vista combinada - - - - TreeView and PropertyView - TreeView and PropertyView - - - - Both - Ambos - - - - No style sheet - Ningún estilo - - - - Preference Pack Name - Preference Pack Name - - - - Tags - Etiquetas - - - - Apply - Aplicar - - - - Apply the %1 preference pack - Apply the %1 preference pack - - - - Choose a FreeCAD config file to import - Choose a FreeCAD config file to import - - - - File exists - File exists - - - - A preference pack with that name already exists. Overwrite? - A preference pack with that name already exists. Overwrite? - - Gui::Dialog::DlgInputDialog @@ -2244,8 +1811,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector Inspector da escena @@ -2337,71 +1904,71 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros Macros - + Read-only Só lectura - + Macro file Ficheiro de macros - + Enter a file name, please: Por favor, insira un nome de ficheiro: - - - + + + Existing file Ficheiro existente - + '%1'. This file already exists. '%1'. Este ficheiro xa existe. - + Cannot create file Non se pode crear o ficheiro - + Creation of file '%1' failed. Fallou a creación do ficheiro '%1'. - + Delete macro Desbotar macro - + Do you really want to delete the macro '%1'? Quere de verdade desbotar a macro '%1'? - + Do not show again Non volver amosar - + Guided Walkthrough Guided Walkthrough - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2412,78 +1979,78 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 Walkthrough, dialog 1 of 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close - + Walkthrough, dialog 1 of 1 Walkthrough, dialog 1 of 1 - + Walkthrough, dialog 2 of 2 Walkthrough, dialog 2 of 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Walkthrough instructions: Click right arrow button (->), then Close. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Walkthrough instructions: Click New, then right arrow (->) button, then Close. - + Renaming Macro File Renomear Arquivo Macro - - + + Enter new name: Inserir novo nome: - - + + '%1' already exists. '%1' xa existe. - + Rename Failed Fallou o renomeado - + Failed to rename to '%1'. Perhaps a file permission error? Fallo ao renomear o '%1'. Pode ser un erro do permiso do ficheiro? - + Duplicate Macro Duplicar Macro - + Duplicate Failed Duplicado Errado - + Failed to duplicate to '%1'. Perhaps a file permission error? Erro ao duplicar a '%1'. @@ -2526,39 +2093,39 @@ Pode ser un erro de permiso do ficheiro? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Gravador de macros - + Specify first a place to save. Especificar antes de nada un cartafol para gardar. - + The macro directory doesn't exist. Please, choose another one. Non existe o cartafol da macro. Por favor, escolme outro. - + Existing macro Macro existente - + The macro '%1' already exists. Do you want to overwrite? A macro '%1' xa existe. Quérea substituír? - + You have no write permission for the directory. Please, choose another one. Non ten permisos de escrita para este cartafol. Por favor escolme outro. - + Choose macro directory Escolmar cartafol da macro @@ -2631,12 +2198,12 @@ Pode ser un erro de permiso do ficheiro? Ficheiros HTML - + Access denied Acceso denegado - + Access denied to '%1' Specify another directory, please. @@ -3037,36 +2604,36 @@ Por favor, especifique outro directorio. Ficheiro do proxecto - - + + Empty source Fonte sen datos - - + + No source is defined. Non se definiu ningunha fonte. - - + + Empty destination Destino baleiro - - + + No destination is defined. Non se definiu ningún destino. - + Failed to extract project Failed to extract project - + Failed to create project Failed to create project @@ -3116,188 +2683,6 @@ Por favor, especifique outro directorio. Gui::Dialog::DlgReportView - - - Report view - Vista de informe - - - - Output - Saída - - - - Normal messages will be recorded - As mensaxes normais gravaranse - - - - Record normal messages - Record normal messages - - - - Log messages will be recorded - Gravarase o rexistro de mensaxes - - - - Record log messages - Gravar mensaxes de rexistro - - - - Warnings will be recorded - Gravaranse os avisos - - - - Record warnings - Gravar avisos - - - - Error messages will be recorded - Gravaranse as mensaxes de erros - - - - Record error messages - Gravar mensaxes de erros - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - - - - Show report view on error - Show report view on error - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - - - - Show report view on warning - Show report view on warning - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - - - - Show report view on normal message - Show report view on normal message - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - - - - Show report view on log message - Mostrar a vista do informe na mensaxe de rexistro - - - - Include a timecode for each report - Include a timecode for each report - - - - Include a timecode for each entry - Inclúe un código de tempo para cada entrada - - - - Colors - Cores - - - - Normal messages: - Mensaxes normais: - - - - Font color for normal messages in Report view panel - Font color for normal messages in Report view panel - - - - Log messages: - Mensaxes de rexistro: - - - - Font color for log messages in Report view panel - Font color for log messages in Report view panel - - - - Warnings: - Avisos: - - - - Font color for warning messages in Report view panel - Font color for warning messages in Report view panel - - - - Errors: - Erros: - - - - Font color for error messages in Report view panel - Font color for error messages in Report view panel - - - - Python interpreter - Intérprete de Python - - - - Internal Python output will be redirected -from Python console to Report view panel - Internal Python output will be redirected -from Python console to Report view panel - - - - Redirect internal Python output to report view - Dirixir as saídas internas de Python cara a vista de informes - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Internal Python error messages will be redirected -from Python console to Report view panel - - - - Redirect internal Python errors to report view - Dirixir os erros internos de Python cara a vista de informes - @@ -3324,7 +2709,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No selection in dialog, cannot load backup file @@ -3367,7 +2752,7 @@ from Python console to Report view panel Axuda - + Select a file Escolmar un ficheiro @@ -3375,70 +2760,70 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View Vista 3D - + General Xeral - + Main coordinate system will always be shown in lower right corner within opened files Main coordinate system will always be shown in lower right corner within opened files - + Show coordinate system in the corner Amosar o sistema de coordenadas no vértice - + Relative size : Relative size : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Size of main coordinate system representation in the corner -- in % of height/width of viewport - + Axis cross will be shown by default at file opening or creation Axis cross will be shown by default at file opening or creation - + Show axis cross by default Mostrar a cruz do eixe por defecto - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files - + Show counter of frames per second Amosar o contador de imaxes por segundo - + Rendering Renderización - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3447,22 +2832,22 @@ Changing this option requires a restart of the application. Changing this option requires a restart of the application. - + Use software OpenGL Usa software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Empregar OpenGL VBO (Vertex Buffer Object) - + Render cache Renderizar caché - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3485,7 +2870,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3502,92 +2887,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Automático - + Distributed Distribución - + Centralized Centralizado - + Anti-Aliasing Anti-Aliasing - + What kind of multisample anti-aliasing is used What kind of multisample anti-aliasing is used - + None Ningún - + Line Smoothing Suavizado de líñas - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Obxectos transparentes: - + Render types of transparent objects Render types of transparent objects - + One pass Unha pasada - + Backface pass Pase de cara posterior - + Marker size: Tamaño do marcador: - - Size of vertices in the Sketcher workbench - Size of vertices in the Sketcher workbench + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Distancia entre ollos para os modos estéreo - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3596,48 +2981,48 @@ The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. - + Backlight is enabled with the defined color Backlight is enabled with the defined color - - + + Backlight color Cor da luz de fondo - + Intensity Intensidade - + Intensity of the backlight Intensidade de luz de fondo - + Camera type Tipo de cámara - + Objects will appear in a perspective projection Objects will appear in a perspective projection - + Perspective renderin&g Renderizació&n en perspectiva - + Objects will be projected in orthographic projection Objects will be projected in orthographic projection - + Or&thographic rendering Renderización or&togonal @@ -3649,42 +3034,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anti-Aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Abra unha nova vista ou reinicie %1 para aplicar os cambios de ante-entrelazado. @@ -3692,77 +3077,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Cache directory - + Location: Location: - + Check periodically at program start: Check periodically at program start: - + Always Always - + Daily Daily - + Weekly Weekly - + Monthly Monthly - + Yearly Yearly - + Never Never - + Cache size limit: Cache size limit: - + Check now... Check now... - + Notify the user if the cache size exceeds the specified limit Notify the user if the cache size exceeds the specified limit - + Unknown Descoñecido - + Current cache size: %1 Current cache size: %1 @@ -3923,12 +3308,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Parámetro incorrecto - + The maximum value must be higher than the minimum value. O valor máximo debe de ser superior o valor mínimo. @@ -3936,182 +3321,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Documento - + General Xeral - + The application will create a new document when started The application will create a new document when started - + Create new document at start up Abrir un documento novo o principiar - + Document save compression level (0 = none, 9 = highest, 3 = default) Nivel de compresión no gardado de documentos (0 = ningún, 9 = o máis alto, 3 = por defecto) - + Compression level for FCStd files Compression level for FCStd files - + All changes in documents are stored so that they can be undone/redone All changes in documents are stored so that they can be undone/redone - + Using Undo/Redo on documents Usar Desfacer/Refacer en documentos - + Maximum Undo/Redo steps Máximo de pasos de desfacer/refacer - + How many Undo/Redo steps should be recorded How many Undo/Redo steps should be recorded - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. - + Allow aborting recomputation Allow aborting recomputation - + Storage Almacenaxe - + Saving transactions (Auto-save) Gardar as transacción (gardado automático) - + Discard saved transaction after saving document Desbotar as operacións gardadas logo de gardar o documento - + If there is a recovery file available the application will automatically run a file recovery when it is started. If there is a recovery file available the application will automatically run a file recovery when it is started. - + Run AutoRecovery at startup Executar a recuperación automática o principiar - + How often a recovery file is written How often a recovery file is written - + Save AutoRecovery information every Gardar información de auto-recuperación cada - + A thumbnail will be stored when document is saved A thumbnail will be stored when document is saved - + Save thumbnail into project file when saving document Gardar a miniatura no ficheiro do proxecto cando se garda un documento - + Size Tamaño - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 - + The program logo will be added to the thumbnail The program logo will be added to the thumbnail - + Add the program logo to the generated thumbnail Engadir o logo do programa á miniatura xerada - + How many backup files will be kept when saving document How many backup files will be kept when saving document - + Maximum number of backup files to keep when resaving document Máximo número de ficheiros de seguridade mantidos cando volves gardar o documento - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Backup files will get extension '.FCbak' and file names get date suffix according to the specified format - + Use date and FCBak extension Use date and FCBak extension - + Date format Formato de data - + Document objects Obxectos de documento - + Allow objects to have same label Allow objects to have same label - + Allow duplicate object labels in one document Permitir etiquetas de obxectos duplicadas nun documento - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4124,22 +3509,22 @@ A partially loaded document cannot be edited. Double click the document icon in the tree view to fully reload it. - + Disable partial loading of external linked objects Disable partial loading of external linked objects - + Authoring and License Autoría e licenza - + Author name Nome do autor - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4148,32 +3533,32 @@ Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file The field 'Last modified by' will be set to specified author when saving the file - + Set on save Establecer o gardar - + Company Empresa - + Default company name to use for new files Nome da empresa a se usar para novos documentos - + Default license Licenza por defecto - + Default license for new documents A licenza por defecto para os novos documentos @@ -4243,12 +3628,12 @@ You can also use the form: John Doe <john@doe.com> Outros - + License URL URL da licenza - + URL describing more about the license URL que describe máis sobre a licenza @@ -4256,104 +3641,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. O formato de data a empregar. - + Default Por defecto - + Format Formato - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Texto - - - - Bookmark - Marcador - - - - Breakpoint - Punto de parada - - - - Keyword - Palabra-chave - - - - Comment - Comentario - - - - Block comment - Comentar bloque - - - - Number - Número - - - - String - Cadea de texto - - - - Character - Carácter - - - - Class name - Nome de clase - - - - Define name - Definir Nome - - - - Operator - Operador - - - - Python output - Saída de Python - - - - Python error - Erro do Python - - - - Current line highlight - Realzado da liña actual - - - - Items - Elementos - - Gui::Dialog::DlgSettingsImage @@ -4534,122 +3836,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Configuración xeral de macros - + Variables defined by macros are created as local variables Variables defined by macros are created as local variables - + Run macros in local environment Executar macros no entorno local - + Macro recording settings Configuración de gravación de macros - + Macro path Cartafol da macro - + The directory in which the application will search for macros The directory in which the application will search for macros - + Gui commands Comandos da interface gráfica - + Recorded macros will also contain user interface commands Recorded macros will also contain user interface commands - + Record GUI commands Gravar comandos GUI - + Recorded macros will also contain user interface commands as comments Recorded macros will also contain user interface commands as comments - + Record as comment Gravar como un comentario - + Logging Commands Rexistro de comandos - + Commands executed by macro scripts are shown in Python console Commands executed by macro scripts are shown in Python console - + Show script commands in python console Amosar os comandos do script na consola python - + Log all commands issued by menus to file: Rexistrar tódolos comandos emitidos polos menús no ficheiro: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Recent macros menu - + Size of recent macro list Size of recent macro list - + How many macros should be listed in recent macros list How many macros should be listed in recent macros list - + Keyboard shortcut count Keyboard shortcut count - + How many recent macros should have shortcuts How many recent macros should have shortcuts - + Keyboard Modifiers Keyboard Modifiers - + Keyboard modifiers, default = Ctrl+Shift+ Keyboard modifiers, default = Ctrl+Shift+ @@ -4657,130 +3959,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navegación - + Navigation cube Navigation cube - + Steps by turn Steps by turn - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) - + Corner Vértice - + Corner where navigation cube is shown Corner where navigation cube is shown - + Top left Enriba á esquerda - + Top right Enriba á dereita - + Bottom left Abaixo á esquerda - + Bottom right Abaixo á dereita - + Rotates to nearest possible state when clicking a cube face Rotates to nearest possible state when clicking a cube face - + Rotate to nearest Rotate to nearest - + Font name: Font name: - + Font name of the navigation cube Font name of the navigation cube - + Default Por defecto - + Cube size Tamaño do cubo - + Size of the navigation cube Size of the navigation cube - + Color Cor - + Base color for all elements Base color for all elements - + 3D Navigation Navegación 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. - + Mouse... Rato... - + Navigation settings set Navigation settings set - + Orbit style Estilo orbital - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4791,116 +4093,116 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable Plataforma xiratoria - + Trackball Trackball - + Free Turntable Free Turntable - + Rotation mode Modo de rotación - + Rotations in 3D will use current cursor position as center for rotation Rotations in 3D will use current cursor position as center for rotation - + Window center Centro da fiestra - + Drag at cursor Arrastra o cursor - + Object center Centro do obxecto - + Default camera orientation Default camera orientation - + Default camera orientation when creating a new document or selecting the home view Default camera orientation when creating a new document or selecting the home view - + Camera zoom Camera zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. - + mm mm - + Enable animated rotations Enable animated rotations - + Enable animation Activar animación - + Zoom operations will be performed at position of mouse pointer Zoom operations will be performed at position of mouse pointer - + Zoom at cursor Zoom no cursor - + Zoom step Zoom step - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. - + Direction of zoom operations will be inverted Direction of zoom operations will be inverted - + Invert zoom Inverter Zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4909,57 +4211,67 @@ Affects only gesture navigation style. Mouse tilting is not disabled by this setting. - + Disable touchscreen tilt gesture Desactiva o xesto de inclinación de pantalla táctil - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Isométrica - + Dimetric Dimétrica - + Trimetric Trimétrica - + Top Enriba - + Front Fronte - + Left Esquerda - + Right Dereita - + Rear Traseira - + Bottom Embaixo - + Custom Personalizar @@ -4967,44 +4279,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Consola Python - + Settings Axustes - + Words will be wrapped when they exceed available horizontal space in Python console Words will be wrapped when they exceed available horizontal space in Python console - + Enable word wrap Habilitar guionización - + The cursor shape will be a block The cursor shape will be a block - + Enable block cursor Enable block cursor - + Saves Python history across sessions Saves Python history across sessions - + Save history Gardar historial @@ -5012,17 +4324,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Selección - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Raio de escolma (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5031,27 +4363,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Auto switch to the 3D view containing the selected item - + Auto expand tree item when the corresponding object is selected in 3D view Auto expand tree item when the corresponding object is selected in 3D view - + Preselect the object in 3D view when mouse over the tree item Preselect the object in 3D view when mouse over the tree item - + Record selection in tree view in order to go back/forward using navigation button Record selection in tree view in order to go back/forward using navigation button - + Add checkboxes for selection in document tree Add checkboxes for selection in document tree @@ -5059,147 +4391,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Cores - - Selection - Selección - - - - Enable preselection and highlight by specified color - Enable preselection and highlight by specified color - - - - Enable preselection highlighting - Activar salientado de preselección - - - - Enable selection highlighting and use specified color - Enable selection highlighting and use specified color - - - - Enable selection highlighting - Activar salientado de selección - - - + Background color for the model view Background color for the model view - + Background color Cor de fondo - - + + Background will have selected color Background will have selected color - + Simple color Cor simple - - + + Background will have selected color gradient Background will have selected color gradient - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Top: - - + + Middle: Middle: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch Switch - + Color gradient will get selected color as middle color Color gradient will get selected color as middle color - + Middle color Cor intermedia - - + + Bottom: Bottom: - + Tree view Vista en árbore - + Object being edited O obxecto está sendo editado - + Background color for objects in tree view that are currently edited Background color for objects in tree view that are currently edited - + Active container Contedor activo - + Background color for active containers in tree view Background color for active containers in tree view - + Central: Central: - + Midway: Midway: - + End: End: @@ -5311,12 +4618,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unidade descoñecida: - + unit mismatch unit mismatch @@ -5324,7 +4631,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement Emprazamento @@ -5376,60 +4683,60 @@ A columna 'Estado' amosa se é posible recuperar o documento. Aínda non está recuperado - + Unknown problem occurred Ocorreu un problema estraño - - + + Failed to recover Non se puido recuperar - + Successfully recovered Recuperado con éxito - + Finish Rematar - - + + Delete Desbotar - - + + Cleanup Limpeza - + Are you sure you want to delete the selected transient directories? Seguro que quere desbotar os cartafoles temporais escolmados? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Cando desbote o cartafol temporal escolmado, non será capaz de recuperar ningún ficheiro despois. - + Are you sure you want to delete all transient directories? Seguro que quere desbotar tódolos cartafoles temporais? - + When deleting all transient directories you won't be able to recover any files afterwards. Cando desbote tódolos cartafoles temporais, non será capaz de recuperar ningún ficheiro despois. - + Transient directories deleted. Cartafoles temporais eliminados. @@ -5553,7 +4860,7 @@ A columna 'Estado' amosa se é posible recuperar o documento. Cartafoles de iconas - + Add icon folder Engadir cartafol de iconas @@ -5566,12 +4873,12 @@ A columna 'Estado' amosa se é posible recuperar o documento. Engadir ou desbotar cartafoles de iconas personalizadas - + Remove folder Eliminar cartafol - + Removing a folder only takes effect after an application restart. Desbotar un cartafol só terá efecto logo de principiar o programa de novo. @@ -5641,79 +4948,79 @@ A columna 'Estado' amosa se é posible recuperar o documento. Gui::Dialog::ParameterGroup - - + + Expand Expandir - + Add sub-group Engadir subgrupo - - + + Remove group Desbotar subgrupo - + Rename group Renomear grupo - + Export parameter Exportar parámetro - + Import parameter Importar parámetro - + Collapse Contraer - + Do you really want to remove this parameter group? Quere de verdade desbotar este grupo de parámetros? - + Existing sub-group Subgrupo existente - + The sub-group '%1' already exists. O subgrupo '%1' xa existe. - + Export parameter to file Exportar parámetro para ficheiro - + Import parameter from file Importar parámetro do ficheiro - + Import Error Erro de importación - + Reading from '%1' failed. Fallou a lectura de '%1'. @@ -5721,65 +5028,65 @@ A columna 'Estado' amosa se é posible recuperar o documento. Gui::Dialog::ParameterValue - + Change value Cambiar valor - + Remove key Desbotar chave - + Rename key Renomear chave - + New Novo - + New string item Novo elemento de cadea de texto - + New float item Novo elemento decimal - + New integer item Novo elemento enteiro - + New unsigned item Novo elemento sen signo - + New Boolean item Novo elemento booleano - - - - - + + + + + Existing item Elemento existente - - - - - + + + + + The item '%1' already exists. O elemento '%1' xa existe. @@ -5925,17 +5232,17 @@ A columna 'Estado' amosa se é posible recuperar o documento. Aplicar - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Fai o favor de escolmar 1, 2 ou 3 puntos antes de facer clic neste botón. Un punto pode estar nun vértice, face ou bordo. Se está nunha face ou bordo, o punto empregado será o punto da posición do rato ao longo da face ou bordo. Se 1 punto é escolmado, vai ser usado coma centro de rotación. Se son 2 puntos escolmados o punto medio entre eles será o centro de rotación e crearase un novo eixo persoal, se fose necesario. Se son 3 puntos os escolmados, o primeiro punto convértese en centro de rotación e atópase no vector que é normal ao plano definido polos 3 puntos. Proporciónase certa información de distancia e ángulo na vista de informe, que pode ser útil ao aliñar obxectos. Para o seu convir, cando se usa Maius + clic, a distancia ou o ángulo apropiados cópianse ó portapapeis. - + Incorrect quantity Cantidade incorrecta - + There are input fields with incorrect input, please ensure valid placement values! Hai campos con valor incorrecto, por favor asegúrese que os valores de emprazamento sexan válidos! @@ -5943,12 +5250,12 @@ A columna 'Estado' amosa se é posible recuperar o documento. Gui::Dialog::PrintModel - + Button Botón - + Command Comando @@ -6012,17 +5319,17 @@ A columna 'Estado' amosa se é posible recuperar o documento. Gui::Dialog::SceneModel - + Inventor Tree Árbore do Inventor - + Name Nome - + Nodes Nodos @@ -6078,14 +5385,14 @@ A columna 'Estado' amosa se é posible recuperar o documento. Gui::Dialog::Transform - - + + Cancel Cancelar - - + + Transform Transformar @@ -6183,13 +5490,13 @@ originally selected prior to opening this dialog - + Model Modelo - + Tasks Tarefas @@ -6197,7 +5504,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Vista de propiedades @@ -6205,82 +5512,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Opcións - + Display message types Amosar tipos de mensaxes - - + + Normal messages Mensaxes normais - - + + Log messages Mensaxes de rexistro - - + + Warnings Avisos - - + + Errors Erros - - + + Critical messages Critical messages - + Show Report view on Show Report view on - + Redirect Python output Encamiñar a saída de Python - + Redirect Python errors Encamiñar os erros de Python - + Go to end Ir o final - + Clear Baleirar - + Save As... Gardar coma... - + Save Report Output Gardar saída do informe - + Plain Text Files Ficheiros de texto sen formato @@ -6289,13 +5596,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Saída - + Python console Consola Python @@ -6333,72 +5640,72 @@ originally selected prior to opening this dialog Lista de obxectos seleccionados - + Select only Só escolme - + Selects only this object Escolme só este obxecto - + Deselect Deseleccionar - + Deselects this object Desbota este obxecto - + Zoom fit Axustar zoom - + Selects and fits this object in the 3D window Escolma e encadra este obxecto na xanela 3D - + Go to selection Ir á selección - + Selects and locates this object in the tree view Escolma e localiza este obxecto na vista de árbore - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marca este obxecto para ser recalculado - + To python console Á consola de python - + Reveals this object and its subelements in the python console. Amosa este obxecto mais os seus sub-elementos na consola de python. - + Duplicate subshape Subforma duplicada - + Creates a standalone copy of this subshape in the document Crea unha copia independente desta subforma no documento @@ -6411,7 +5718,7 @@ originally selected prior to opening this dialog Aplicación - + Labels & Attributes Etiquetas & Atributos @@ -6460,27 +5767,27 @@ Quere gardar os cambios? Ficheiro PDF - + untitled[*] sen título[*] - + - Editor - Editor - + %1 chars removed %1 caracteres desbotados - + %1 chars added %1 caracteres engadidos - + Formatted Formatado @@ -6504,13 +5811,13 @@ Quere gardar os cambios? Gui::FileChooser - - + + Select a file Escolmar un ficheiro - + Select a directory Escolmar un cartafol @@ -6518,13 +5825,13 @@ Quere gardar os cambios? Gui::FileDialog - + Save as Gardar como - - + + Open Abrir @@ -6532,12 +5839,12 @@ Quere gardar os cambios? Gui::FileOptionsDialog - + Extended Estendido - + All files (*.*) Tódolos ficheiros (*.*) @@ -6545,27 +5852,27 @@ Quere gardar os cambios? Gui::Flag - + Top left Enriba á esquerda - + Bottom left Abaixo á esquerda - + Top right Enriba á dereita - + Bottom right Abaixo á dereita - + Remove Rexeitar @@ -6573,22 +5880,22 @@ Quere gardar os cambios? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Toque OU prema o botón esquerdo do rato. - + Drag screen with two fingers OR press right mouse button. Arrastrar con dous dedos OU prema o botón dereito do rato. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Arrastrar cun dedo OU prema o botón esquerdo do rato. No Esbozador mais noutros modos de edición, manteña premido Alt ao mesmo tempo. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Belisque (poña dous dedos na pantalla e arrástreos xuntándoos ou afastándoos un do outro) OU role a roda do rato OU use Avpáx/Repáx no teclado. @@ -6596,74 +5903,74 @@ Quere gardar os cambios? Gui::GraphvizView - + Graphviz not found Graphviz non atopado - + Graphviz couldn't be found on your system. Graphviz non puido atoparse no teu sistema. - + Read more about it here. Ler máis sobre isto aquí. - + Do you want to specify its installation path if it's already installed? Queres especificar a ruta de instalación se xa está instalado? - + Graphviz installation path Ruta da instalación de Graphviz - + Graphviz failed Erro de Graphviz - + Graphviz failed to create an image file Graphviz fallou ó crear un ficheiro de imaxe - + PNG format Formato PNG - + Bitmap format Formato Bitmap - + GIF format Formato GIF - + JPG format Formato JPG - + SVG format Formato SVG - - + + PDF format Formato PDF - - + + Export graph Exportar gráfico @@ -6671,12 +5978,12 @@ Quere gardar os cambios? Gui::InputField - + Edit Editar - + Save value Gardar valor @@ -6684,22 +5991,22 @@ Quere gardar os cambios? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Prema CTRL mais o botón esquerdo do rato - + Press middle mouse button Prema o botón central do rato - + Press left mouse button Premer o botón esquerdo do rato - + Scroll middle mouse button Role o botón central do rato @@ -6707,7 +6014,7 @@ Quere gardar os cambios? Gui::LabelEditor - + List Listaxe @@ -6715,66 +6022,66 @@ Quere gardar os cambios? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definido pelo usuario... - + - - + + Wrong direction Dirección errada - + - - + + Direction must not be the null vector A dirección non pode ser o vector nulo @@ -6782,22 +6089,22 @@ Quere gardar os cambios? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6805,17 +6112,17 @@ Quere gardar os cambios? Gui::MacroCommand - + Macros Macros - + Macro file doesn't exist Non existe o ficheiro da macro - + No such macro file: '%1' Non hai o ficheiro de macro: '%1' @@ -6823,63 +6130,73 @@ Quere gardar os cambios? Gui::MainWindow - - + + Dimension Acoutamento - + Ready Pronto - + Help addon needed! Help addon needed! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager Open Addon Manager - + Close All Pechar todo - - + + Toggles this toolbar Amosa/agocha esta barra de ferramentas - - + + Toggles this dockable window Alterna esta xanela acoplable - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document Documento non gardado - + The exported object contains external link. Please save the documentat least once before exporting. The exported object contains external link. Please save the documentat least once before exporting. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? To link to external objects, the document must be saved at least once. @@ -6889,63 +6206,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Aliñamento manual - + The alignment is already in progress. O aliñamento está en progreso. - + Alignment[*] Aliñamento [*] - + Please, select at least one point in the left and the right view Por favor, escolme polo menos un punto nas vistas esquerda e dereita - + Please, select at least %1 points in the left and the right view Por favor, escolme polo menos %1 puntos nas vistas esquerda e dereita - + Please pick points in the left and right view Por favor, escolme puntos nas vistas esquerda e dereita - + The alignment has finished O aliñamento rematou - + The alignment has been canceled O aliñamento foi cancelado - - + + Too few points picked in the left view. At least %1 points are needed. Moi poucos puntos escolmados no lado esquerdo. Son precisos polo menos %1 puntos. - - + + Too few points picked in the right view. At least %1 points are needed. Moi poucos puntos escolmados no lado dereito. Son precisos polo menos %1 puntos. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6954,61 +6271,61 @@ No lado esquerdo escolléronse %1. No lado dereito escolléronse %2. - + Try to align group of views Tente aliñar o grupo de vistas - + The alignment failed. How do you want to proceed? O aliñamento fallou. Como quere seguir? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Cantidade diferente de puntos escolmados entre o lado esquerdo e o dereito. No lado esquerdo escolléronse %1. No lado dereito escolléronse %2. - + Point_%1 Point_%1 - + Point picked at (%1,%2,%3) Punto collido en (%1,%2,%3) - + No point was found on model Non se atopou ningún punto no modelo - + No point was picked Ningúm punto escolmado - + &Align &Align - + &Remove last point &Remove last point - + &Cancel &Cancelar - + &Synchronize views &Synchronize views @@ -7016,22 +6333,22 @@ No lado dereito escolléronse %2. Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Toque OU prema o botón esquerdo do rato. - + Drag screen with two fingers OR press ALT + middle mouse button. Arrastre na pantalla con dous dedos OU prema ALT + botón central do rato. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Arrastre na pantalla cun dedo OU prema ALT + o botón esquerdo do rato. No Esbozador mais noutros modos de edición, manteña premido Alt ao mesmo tempo. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Belisque (poña dous dedos na pantalla e arrástreos xuntándoos ou afastándoos un do outro) OU prema ALT + o botón dereito do rato OU use Avpáx/Repáx no teclado. @@ -7039,7 +6356,7 @@ No lado dereito escolléronse %2. Gui::ModifierLineEdit - + Press modifier keys Press modifier keys @@ -7055,22 +6372,22 @@ No lado dereito escolléronse %2. Gui::OpenCascadeNavigationStyle - + Press left mouse button Premer o botón esquerdo do rato - + Press CTRL and middle mouse button Prema CTRL mais o botón central do rato - + Press CTRL and right mouse button Prema CTRL mais o botón dereito do rato - + Press CTRL and left mouse button Prema CTRL mais o botón esquerdo do rato @@ -7078,22 +6395,22 @@ No lado dereito escolléronse %2. Gui::OpenSCADNavigationStyle - + Press left mouse button Premer o botón esquerdo do rato - + Press right mouse button and move mouse Press right mouse button and move mouse - + Press left mouse button and move mouse Press left mouse button and move mouse - + Press middle mouse button or SHIFT and right mouse button Press middle mouse button or SHIFT and right mouse button @@ -7101,17 +6418,17 @@ No lado dereito escolléronse %2. Gui::PrefQuantitySpinBox - + Edit Editar - + Save value Gardar valor - + Clear list Baleirar listaxe @@ -7142,12 +6459,12 @@ No lado dereito escolléronse %2. Faltan: %1 - + Aborting A abortar - + Do you really want to abort the operation? Quere de verdade abortar a operación? @@ -7155,7 +6472,7 @@ No lado dereito escolléronse %2. Gui::PropertyEditor::LinkLabel - + Change the linked object Trocar obxecto ligado @@ -7163,12 +6480,12 @@ No lado dereito escolléronse %2. Gui::PropertyEditor::LinkSelection - + Error Erro - + Object not found Obxecto non atopado @@ -7239,13 +6556,13 @@ No lado dereito escolléronse %2. Gui::PropertyView - + View Vista - + Data Datos @@ -7293,77 +6610,77 @@ Quere saír sen gardar os seus datos? Excepción estraña de C++ non xestionada. - + &Copy &Copiar - + &Copy command &Copiar comando - + &Copy history &Copiar historial - + Save history as... Gardar historial como... - + Save history Gardar historial - + Saves Python history across %1 sessions Saves Python history across %1 sessions - + &Paste &Colar - + Select All Escolmar todo - + Clear console Limpar a consola - + Insert file name... Inserir nome do ficheiro... - + Word wrap Quebra de palabra - + Save History Gardar historial - + Macro Files Ficheiros de macro - + Insert file name Insire o nome do ficheiro - + All Files Tódolos ficheiros @@ -7371,7 +6688,7 @@ Quere saír sen gardar os seus datos? Gui::PythonEditor - + Comment Comentario @@ -7384,17 +6701,17 @@ Quere saír sen gardar os seus datos? Gui::RecentFilesAction - + Open file %1 Abrir o ficheiro %1 - + File not found Ficheiro non atopado - + The file '%1' cannot be opened. O ficheiro '%1', non se pode abrir. @@ -7402,22 +6719,22 @@ Quere saír sen gardar os seus datos? Gui::RecentMacrosAction - + none ningún - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Run macro %1 (Shift+click to edit) keyboard shortcut: %2 - + File not found Ficheiro non atopado - + The file '%1' cannot be opened. O ficheiro '%1', non se pode abrir. @@ -7425,22 +6742,22 @@ Quere saír sen gardar os seus datos? Gui::RevitNavigationStyle - + Press left mouse button Premer o botón esquerdo do rato - + Press middle mouse button Prema o botón central do rato - + Press SHIFT and middle mouse button Prema SHIFT mais o botón central do rato - + Scroll middle mouse button Role o botón central do rato @@ -7471,17 +6788,17 @@ Quere saír sen gardar os seus datos? Gui::SelectModule - + Select module Escoller módulo - + Open %1 as Abrir %1 como - + Select Escolmar @@ -7550,13 +6867,13 @@ Quere especificar outro directorio? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentación de módulos python automática - - + + Opens a browser to show the Python modules documentation Abre un buscador para amosar a documentación dos módulos de Python @@ -7709,38 +7026,38 @@ Quere especificar outro directorio? Gui::TextDocumentEditorView - + Text updated Texto actualizado - + The text of the underlying object has changed. Discard changes and reload the text from the object? O texto do obxecto subxacente trocou. Descartar trocos e volver cargar o texto do obxecto? - + Yes, reload. Si, recarga. - + Unsaved document Documento non gardado - + Do you want to save your changes before closing? Queres gardalos trocos antes de pechar? - + If you don't save, your changes will be lost. Se non garda os cambios, hanse perder. - - + + Edit text Editar texto @@ -7748,22 +7065,22 @@ Quere especificar outro directorio? Gui::TinkerCADNavigationStyle - + Press left mouse button Premer o botón esquerdo do rato - + Press middle mouse button Prema o botón central do rato - + Press right mouse button Press right mouse button - + Scroll middle mouse button Role o botón central do rato @@ -7771,22 +7088,22 @@ Quere especificar outro directorio? Gui::TouchpadNavigationStyle - + Press left mouse button Premer o botón esquerdo do rato - + Press SHIFT button Premer o botón SHIFT - + Press ALT button Premer o botón ALT - + Press CTRL and SHIFT buttons Premer os botóns CTRL e SHIFT @@ -8012,7 +7329,7 @@ Quere especificar outro directorio? Gui::TreeDockWidget - + Tree view Vista en árbore @@ -8020,7 +7337,7 @@ Quere especificar outro directorio? Gui::TreePanel - + Search Busca @@ -8028,183 +7345,183 @@ Quere especificar outro directorio? Gui::TreeWidget - + Search... Atopar... - + Search for objects Atopar para obxectos - + Activate document Activar o documento - + Activate document %1 Activar o documento %1 - + Tree settings Tree settings - + Show description column Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - + Group Grupo - + Labels & Attributes Etiquetas & Atributos - + Description Descrición - + Show items hidden in tree view Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view Toggles the visibility of selected items in the tree view - + Create group... Crear grupo... - + Create a group Crear un grupo - - + + Rename Renomear - + Rename object Renomear obxecto - + Finish editing Rematar a edición - + Finish editing object Rematar a edición do obxecto - + Add dependent objects to selection Add dependent objects to selection - + Adds all dependent objects to the selection Adds all dependent objects to the selection - + Close document Pechar o documento - + Close the document Pecha o documento - + Reload document Recargar o documento - + Reload a partially loaded document Volve cargar un documento parcialmente cargado - + Skip recomputes Saltarse o recalculado - + Enable or disable recomputations of document Activar ou desactivar o recalculado do documento - + Allow partial recomputes Permitir recálculos parciais - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Enable or disable recomputating editing object when 'skip recomputation' is enabled - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marca este obxecto para ser recalculado - + Recompute object Recalcular obxecto - + Recompute the selected object Recalcular o obxecto seleccionado - + (but must be executed) (pero debe ser executado) - + %1, Internal name: %2 %1, nome interno: %2 @@ -8235,12 +7552,12 @@ Quere especificar outro directorio? Ficheiro PDF - + Opening file failed Falla ó abrir o ficheiro - + Can't open file '%1' for writing. Non se pode abrir o ficheiro '%1' para escrita. @@ -8248,7 +7565,7 @@ Quere especificar outro directorio? Gui::WorkbenchGroup - + Select the '%1' workbench Escolme o banco de traballo '%1' @@ -8256,37 +7573,37 @@ Quere especificar outro directorio? MAC_APPLICATION_MENU - + Services Servizos - + Hide %1 Agochar %1 - + Hide Others Agochar outros - + Show All Amosar todos - + Preferences... Preferencias... - + Quit %1 Pechar %1 - + About %1 Sobre %1 @@ -8306,11 +7623,6 @@ Quere especificar outro directorio? Position - - - Form - Formulario - X: @@ -8405,14 +7717,14 @@ Quere especificar outro directorio? PropertyListDialog - - + + Invalid input Entrada incorrecta - - + + Input in line %1 is not a number A entrada da liña %1 non é un número @@ -8420,37 +7732,37 @@ Quere especificar outro directorio? QDockWidget - + Tree view Vista en árbore - + Property view Vista de propiedades - + Selection view Vista de selección - + Combo View Vista combinada - + DAG View Vista DAG - + Report view Vista de informe - + Python console Consola Python @@ -8463,31 +7775,32 @@ Quere especificar outro directorio? QObject - - + + General Xeral - - + + + Display Visualización - + Workbenches Bancos de traballo - - - + + + Python Python @@ -8515,17 +7828,27 @@ Quere especificar outro directorio? Non se pode gardar o ficheiro de tipo descoñecido: %1 - + Workbench failure Falla da bancada de traballo - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Excepción @@ -8571,8 +7894,8 @@ Quere especificar outro directorio? Exportando en PDF... - + Unsaved document Documento non gardado @@ -8593,39 +7916,39 @@ Quere especificar outro directorio? Erro de dependencia - + Copy selected Copiar o seleccionado - + Copy active document Copiar o documento activo - + Copy all documents Copiar todos os documentos - + Paste Pegar - + Expression error Erro de expresión - + Failed to parse some of the expressions. Please check the Report View for more details. Failed to parse some of the expressions. Please check the Report View for more details. - + Failed to paste expressions Failed to paste expressions @@ -8659,224 +7982,224 @@ Be aware the point where you click matters. Por favor, escolme dous obxectos. Lembre que o punto onde fai clic ten importancia. - - + + Save views... Gardar vistas... - - + + Load views... Cargar vistas... - - + + Freeze view Conxelar vista - - + + Clear views Limpar vistas - - - + + + Restore view &%1 Restaurar a vista &%1 - + Save frozen views Gardar vistas conxeladas - - + + Frozen views Vistas conxeladas - - + + Restore views Restaurar vistas - + Importing the restored views would clear the already stored views. Do you want to continue? Importando as vistas restauradas podería limpar as vistas xa almacenadas. Quere seguir? - + Restore frozen views Restaurar as vistas conxeladas - + Cannot open file '%1'. Non se pode abrir o ficheiro '%1'. - + files ficheiros - + Save image Save image - + Choose an image file to open Escolme un ficheiro de imaxe para abrir - + New sub-group Novo subgrupo - - - - - - + + + + + + Enter the name: Insira o nome: - - + + New text item Novo elemento de texto - - + + Enter your text: Insira o seu texto: - - + + New integer item Novo elemento enteiro - - - - - - + + + + + + Enter your number: Insira o seu número: - - + + New unsigned item Novo elemento sen signo - - + + New float item Novo elemento decimal - + New Boolean item Novo elemento booleano - - + + Choose an item: Escolme un elemento: - + New boolean item Novo elemento booleano - + Rename group Renomear grupo - + The group '%1' cannot be renamed. O grupo '%1' non se pode renomear. - + Existing group Grupo existente - + The group '%1' already exists. O grupo '%1' xa existe. - - - - - + + + + + Change value Cambiar valor - + Type Tipo - + Notifier Notifier - + Message Message - + Notifier: Notifier: - + Do you want to skip confirmation of further critical message notifications while loading the file? Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8885,44 +8208,44 @@ Do you want to continue? - + Are you sure you want to continue? Are you sure you want to continue? - + Please check report view for more... Please check report view for more... - + Physical path: Physical path: - - + + Document: Document: - - + + Path: Directorio: - + Identical physical path Identical physical path - + Could not save document Non se puido gardar o documento - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8935,102 +8258,102 @@ Would you like to save the file with a different name? Would you like to save the file with a different name? - - - + + + Saving aborted Gardado interrompido - + Save dependent files Save dependent files - + The file contains external dependencies. Do you want to save the dependent files, too? The file contains external dependencies. Do you want to save the dependent files, too? - - + + Saving document failed Fallou o gardado do documento - + Save document under new filename... Gardar documento cun nome de ficheiro novo... - - + + Save %1 Document Gardar o documento %1 - + Document Documento - - + + Failed to save document Failed to save document - + Documents contains cyclic dependencies. Do you still want to save them? Documents contains cyclic dependencies. Do you still want to save them? - + Save a copy of the document under new filename... Gardar unha copia do documento cun novo nome... - + %1 document (*.FCStd) documento %1 (*.FCStd) - + Document not closable O documento non se pode pechar - + The document is not closable for the moment. O documento non se pode pechar neste intre. - + Document not saved O documento non se pode gardar - + The document%1 could not be saved. Do you want to cancel closing it? The document%1 could not be saved. Do you want to cancel closing it? - + Undo Desfacer - + Redo Refacer - + There are grouped transactions in the following documents with other preceding transactions There are grouped transactions in the following documents with other preceding transactions - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9044,47 +8367,47 @@ Choose 'Abort' to abort Gardar Macro - - + + Finish Rematar - - + + Clear Baleirar - - - + + + Cancel Cancelar - + Inner Interno - + Outer Externo - + Split Dividir - - + + No Browser Sen buscador - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9093,48 +8416,48 @@ Please open a browser window and type in: http://localhost:%1. Por favor, abra un buscador e escriba: http://localhost:%1. - + No Server Sen servidor - + Unable to start the server to port %1: %2. Non é posíbel arrincar o servidor para o porto %1: %2. - + Unable to open your system browser. Non é posíbel abrir o buscador do seu sistema. - + Options... Opcións... - + Out of memory Sen memoria - + Not enough memory available to display the data. Non hai memoria dispoñíbel para visualizar os datos. - - + + Cannot find file %1 Non se pode atopar o ficheiro %1 - + Cannot find file %1 neither in %2 nor in %3 Non se pode atopar o ficheiro %1 nin en %2 nin en %3 - + Navigation styles Estilos de navegación @@ -9144,8 +8467,8 @@ Por favor, abra un buscador e escriba: http://localhost:%1. Mover apuntamento - - + + Transform Transformar @@ -9155,42 +8478,42 @@ Por favor, abra un buscador e escriba: http://localhost:%1. Do you want to close this dialog? - + Do you want to save your changes to document '%1' before closing? Quere gardar os cambios no documento '%1' antes de pechalo? - + Do you want to save your changes to document before closing? Do you want to save your changes to document before closing? - + If you don't save, your changes will be lost. Se non garda os cambios, hanse perder. - + Apply answer to all Apply answer to all - + %1 Document(s) not saved %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? Some documents could not be saved. Do you want to cancel closing? - + Delete macro Desbotar macro - + Not allowed to delete system-wide macros Non se admite desbotar macros de todo o sistema @@ -9200,27 +8523,27 @@ Por favor, abra un buscador e escriba: http://localhost:%1. Orixe - + Delete group content? Desbotar o contido do grupo? - + The %1 is not empty, delete its content as well? A %1 non está baleira, eliminar o seu contido, así a todo? - + Translation: Tradución: - + Rotation: Rotación: - + Toggle active part Alternar activar peza @@ -9283,88 +8606,88 @@ Por favor, abra un buscador e escriba: http://localhost:%1. Failed to import all links - - + + Invalid name Nome non válido - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. - + The property '%1' already exists in '%2' The property '%1' already exists in '%2' - + Add property Engadir propiedade - + Failed to add property to '%1': %2 Failed to add property to '%1': %2 - - + + Drag & drop failed Drag & drop failed - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed Please select which objects to copy when the configuration is changed - + Apply to all Apply to all - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Apply the setting to all links. Or, uncheck this option to apply only to this link. - + Copy on change Copy on change - + Enable Habilitar - + Enable auto copy of linked object when its configuration is changed Enable auto copy of linked object when its configuration is changed - + Tracking Seguimento - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9373,17 +8696,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Disable copy on change - + Refresh configurable object Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9394,28 +8717,28 @@ the current copy will be lost. - + Toggle array elements Toggle array elements - + Change whether show each link array element as individual objects Change whether show each link array element as individual objects - + Transform at the origin of the placement Transform at the origin of the placement - - + + Override colors... Override colors... - + Edit %1 Editar %1 @@ -9438,12 +8761,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Non permitido: - + Selection not allowed by filter Selección non admitida polo filtro @@ -9451,9 +8774,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Box element selection @@ -9461,13 +8784,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Caixa de selección - - + + Activate the box selection tool Activate the box selection tool @@ -9545,13 +8868,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Alternar fixación da cruz dos eixos - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9657,13 +8980,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Vista xiratoria... - - + + View turntable Vista xiratoria @@ -9783,13 +9106,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Estilo de debuxo - - + + Change the draw style of the objects Change the draw style of the objects @@ -9853,13 +9176,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Expression actions - - + + Actions that apply to expressions Actions that apply to expressions @@ -9976,13 +9299,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Conxelar visualización - - + + Freezes the current view position Conxela a posición da vista actual @@ -10003,13 +9326,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Agochar tódolos obxectos - - + + Hide all objects in the document Agochar tódolos obxectos do documento @@ -10017,13 +9340,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Agochar escolma - - + + Hide all selected objects Agochar tódolos obxectos escolmados @@ -10297,13 +9620,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Medir distancia - - + + Activate the distance measurement tool Activate the distance measurement tool @@ -10362,8 +9685,8 @@ the current copy will be lost. Abrir un documento novo baleiro - - + + Unnamed Sen nome @@ -10591,8 +9914,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Ficheiros recentes + Open Recent + Open Recent @@ -10730,13 +10053,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Inspector da escena... - - + + Scene inspector Inspector da escena @@ -10744,13 +10067,13 @@ the current copy will be lost. StdCmdSelBack - + &Back Volver - - + + Go back to previous selection Go back to previous selection @@ -10758,13 +10081,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Carcasa - - + + Show selection bounding box Show selection bounding box @@ -10772,13 +10095,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Adiante - - + + Repeat the backed selection Repeat the backed selection @@ -10800,13 +10123,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Escolmar obxectos visíbeis - - + + Select visible objects in the active document Escolma obxectos visíbeis no documento activo @@ -10828,13 +10151,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Aparencia... - - + + Sets the display properties of the selected object Estabelece as propiedades de visualización dos obxectos escolmados @@ -10842,13 +10165,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Amosar tódolos obxectos - - + + Show all objects in the document Amosa tódolos obxectos do documento @@ -10856,13 +10179,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Amosar escolma - - + + Show all selected objects Amosa tódolos obxectos escolmados @@ -10898,13 +10221,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Mapeamento de textura... - - + + Texture mapping Distribución gráfica da textura en pantalla @@ -10940,13 +10263,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Plano de corte - - + + Toggles clipping plane for active view Alterna a visualización do plano de corte da vista activa @@ -10954,13 +10277,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Alternar navegación/edición - - + + Toggle between navigation and edit mode Cambia entre o modo de navegación e o modo de edición @@ -10968,13 +10291,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Alternar a visualización de obxectos - - + + Toggles visibility of all objects in the active document Alterna a visibilidade de tódolos objetos do documento activo @@ -10982,13 +10305,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Alternar selectividade - - + + Toggles the property of the objects to get selected in the 3D-View Alterna a propiedade dos obxectos de seren escolmados ou non na visualización 3D @@ -10996,13 +10319,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Alternar visibilidade - - + + Toggles visibility Alterna a visibilidade @@ -11052,13 +10375,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Contraer o elemento escollido - - + + Collapse currently selected tree items Contraer os elementos da árbore escollidos agora @@ -11066,13 +10389,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Expande o elemento escollido - - + + Expand currently selected tree items Expande os elementos da árbore escollidos agora @@ -11080,13 +10403,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Escoller instancias - - + + Select all instances of the current selected object Escoller todas as instancias do obxecto escollido agora @@ -11094,13 +10417,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions Accións de vista en árbore - - + + TreeView behavior options and actions Opcións e accións de comportamento da vista en árbore @@ -11164,13 +10487,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Embaixo - - + + Set to bottom view Estabelece a vista inferior @@ -11178,13 +10501,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Crear unha vista nova - - + + Creates a new view window for the active document Crea unha nova vista para o documento activo @@ -11192,13 +10515,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimétrica - - + + Set to dimetric view Conxunto de vista dimétrica @@ -11206,13 +10529,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor exemplo #1 - - + + Shows a 3D texture with manipulator Amosa unha textura 3D con manipulador @@ -11220,13 +10543,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor exemplo #2 - - + + Shows spheres and drag-lights Amosa esferas e luces desprazables @@ -11234,13 +10557,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor exemplo #3 - - + + Shows a animated texture Amosa unha textura animada @@ -11248,13 +10571,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Axustar todo - - + + Fits the whole content on the screen Axusta o contido completo á pantalla @@ -11262,13 +10585,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Axustar selección - - + + Fits the selected content on the screen Axusta o contido escolmado á pantalla @@ -11276,13 +10599,13 @@ the current copy will be lost. StdCmdViewFront - + Front Fronte - - + + Set to front view Estabelece a vista frontal @@ -11290,13 +10613,13 @@ the current copy will be lost. StdCmdViewHome - + Home Orixe - - + + Set to default home view Establece a vista de inicio predeterminada @@ -11304,13 +10627,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Isométrica - - + + Set to isometric view Conxunto de vista isométrica @@ -11318,13 +10641,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Difundir a posición da cámara - - + + Issue the camera position to the console and to a macro, to easily recall this position Difunde a posición da cámara cara a consola e mais a unha macro, para recuperar doadamente esta posición @@ -11332,13 +10655,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Estéreo a columnas entrelazadas - - + + Switch stereo viewing to Interleaved Columns Cambia a visualización estéreo a columnas entrelazadas @@ -11346,13 +10669,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Estéreo a ringleiras entrelazadas - - + + Switch stereo viewing to Interleaved Rows Cambia a visualización estéreo a ringleiras entrelazadas @@ -11360,13 +10683,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Estéreo apagado - - + + Switch stereo viewing off Cambia a visualización estéreo apagada @@ -11374,13 +10697,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Estéreo buffer cuádruplo - - + + Switch stereo viewing to quad buffer Cambia a visualización estéreo a buffer cuádruplo @@ -11388,13 +10711,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Estéreo encarnado/ciano - - + + Switch stereo viewing to red/cyan Cambia a visualización estéreo a encarnado/ciano @@ -11402,13 +10725,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Esquerda - - + + Set to left view Estabelece a vista esquerda @@ -11416,13 +10739,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Traseira - - + + Set to rear view Estabelece a vista traseira @@ -11444,13 +10767,13 @@ the current copy will be lost. StdCmdViewRight - + Right Dereita - - + + Set to right view Estabelece a vista dereita @@ -11458,13 +10781,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Xirar á esquerda - - + + Rotate the view by 90° counter-clockwise Xira a vista 90° no sentido antihorario @@ -11472,13 +10795,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Xirar á dereita - - + + Rotate the view by 90° clockwise Xira a vista 90° no sentido das agullas do reloxo @@ -11500,13 +10823,13 @@ the current copy will be lost. StdCmdViewTop - + Top Enriba - - + + Set to top view Estabelece a vista superior @@ -11514,13 +10837,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimétrica - - + + Set to trimetric view Conxunto de vista trimétrica @@ -11528,13 +10851,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Estender a fiestra 3D FreeCAD para Oculus Rift @@ -11598,13 +10921,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Pantalla completa - - + + Display the main window in fullscreen mode Amosar a fiestra principal en modo pantalla completa @@ -11640,13 +10963,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11654,13 +10977,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11668,13 +10991,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Ocultar/Expandir - - + + Expand active document and collapse all others Expandir documento activo e ocultar tódolos demais @@ -11682,12 +11005,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Iniciar o arrastre - + Initiate dragging of current selected tree items Inicia o arrastre dos elementos actuais da árbore escollida @@ -11695,13 +11018,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Múltiple Documento - - + + Display all documents in the tree view Amosar tódolos documentos na vista árbore @@ -11709,12 +11032,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Preselección - + Preselect the object in 3D view when mouse over the tree item Preselect the object in 3D view when mouse over the tree item @@ -11722,12 +11045,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Record selection - + Record selection in tree view in order to go back/forward using navigation button Record selection in tree view in order to go back/forward using navigation button @@ -11735,13 +11058,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Ir á selección - - + + Scroll to first selected item Desprazarse o primeiro elemento escolmado @@ -11749,13 +11072,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Documento Individual - - + + Only display the active document in the tree view Amosa só o documento activo na vista árbore @@ -11763,12 +11086,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Sincronizar a colocación - + Auto adjust placement on drag and drop objects across coordinate systems Auto adjust placement on drag and drop objects across coordinate systems @@ -11776,12 +11099,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Sincronizar selección - + Auto expand tree item when the corresponding object is selected in 3D view Auto expand tree item when the corresponding object is selected in 3D view @@ -11789,12 +11112,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Vista sincronizada - + Auto switch to the 3D view containing the selected item Auto switch to the 3D view containing the selected item @@ -11802,13 +11125,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Zoom por caixa - - + + Activate the box zoom tool Activate the box zoom tool @@ -11816,13 +11139,13 @@ the current copy will be lost. StdViewDock - + Docked Ancorada - - + + Display the active view either in fullscreen, in undocked or docked mode Amosa a vista activa xa sexa a pantalla completa, como en modo ancorado ou ceibo @@ -11830,13 +11153,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Xanela do documento - - + + Display the active view either in fullscreen, in undocked or docked mode Amosa a vista activa xa sexa a pantalla completa, como en modo ancorado ou ceibo @@ -11844,13 +11167,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Pantalla completa - - + + Display the active view either in fullscreen, in undocked or docked mode Amosa a vista activa xa sexa a pantalla completa, como en modo ancorado ou ceibo @@ -11858,13 +11181,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Save image... - - + + Creates a screenshot of the active view Fai unha captura de pantalla da vista activa @@ -11872,13 +11195,13 @@ the current copy will be lost. StdViewUndock - + Undocked Ceibe - - + + Display the active view either in fullscreen, in undocked or docked mode Amosa a vista activa xa sexa a pantalla completa, como en modo ancorado ou ceibo @@ -11886,13 +11209,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Medrar zoom - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11900,13 +11223,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Desmedrar zoom - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11941,72 +11264,72 @@ De verdade quere seguir? Std_DrawStyle - + As is Tal cal - + Normal mode Modo normal - + Points Puntos - + Points mode Modo de puntos - + Wireframe Trama de arames - + Wireframe mode Modo de trama de arames - + Hidden line Liña oculta - + Hidden line mode Modo de liña oculta - + No shading Sen raiado - + No shading mode Modo sen raiado - + Shaded Sombreado - + Shaded mode Modo sombreado - + Flat lines Liñas planas - + Flat lines mode Modo de liñas planas @@ -12069,32 +11392,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12102,117 +11425,117 @@ Do you still want to proceed? Workbench - + &File &Ficheiro - + &Edit &Editar - + Edit Editar - + Clipboard Clipboard - + Workbench Banco de traballo - + Structure Estrutura - + Standard views Vistas estándar - + Axonometric Axonométrica - + &Stereo &Estéreo - + &Zoom &Zoom - + Visibility Visibilidade - + &View &Ver - + &Tools Ferramen&tas - + &Macro &Macro - + &Windows &Fiestras - + &On-line help &Axuda en liña - + &Help &Axuda - + Help Axuda - + File Ficheiro - + Macro Macro - + View Vista - + Special Ops Operacións especiais - + Link actions Link actions @@ -12220,12 +11543,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF Exportar en PDF - + PDF file Ficheiro PDF @@ -12233,196 +11556,190 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Notification Area - + Settings Axustes - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Additional data sources - + Errors intended for developers will appear in the notification area Errors intended for developers will appear in the notification area - + Debug errors Debug errors - + Warnings intended for developers will appear in the notification area Warnings intended for developers will appear in the notification area - + Debug warnings Debug warnings - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Available Workbenches - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches Choose which workbench will be activated and shown after FreeCAD launches - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12435,12 +11752,12 @@ after FreeCAD launches 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport If checked, application will remember which workbench is active for each tab of the viewport - + Remember active workbench by tab Remember active workbench by tab @@ -12589,47 +11906,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded Cargado - + Load Load - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12637,17 +11954,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Barra de ferramentas - + Left corner Left corner - + Right corner Right corner @@ -12673,12 +11995,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12714,13 +12036,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image @@ -12782,10 +12104,816 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opcións + + + + Code lines will be numbered + As liñas de código estarán numeradas + + + + Enable line numbers + Activar a numeración de liña + + + + The cursor shape will be a block + The cursor shape will be a block + + + + Enable block cursor + Enable block cursor + + + + Enable folding + Activar o pregado + + + + Indentation + Indentación + + + + Tab size: + Tamaño da tabulación: + + + + Tabulator raster (how many spaces) + Tabulador raster (cantos espazos) + + + + Indent size: + Tamaño do Indentación: + + + + How many spaces will be inserted when pressing <Tab> + Cantos espazos se inserirán ó premer <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Premendo <Tab> inserirá un tabulador co tamaño de tab definido + + + + Keep tabs + Manter tabulacións + + + + Pressing <Tab> will insert amount of defined indent size + Premendo <Tab> inserirá a cantidade do tamaño do sangrado definido + + + + Insert spaces + Inserir espazos + + + + Display items + Amosar elementos + + + + Color and font settings will be applied to selected type + Os axustes de cor e tipo de letra aplicaranse ó tipo seleccionado + + + + Family: + Fonte: + + + + Font family to be used for selected code type + Tipo de letra que empregara o tipo de código escollido + + + + Size: + Tamaño: + + + + Font size to be used for selected code type + Tamaño de letra a usar para o tipo de código seleccionado + + + + Color: + Cor: + + + + Preview: + Vista previa: + + + + Text + Texto + + + + Bookmark + Marcador + + + + Breakpoint + Punto de parada + + + + Keyword + Palabra-chave + + + + Comment + Comentario + + + + Block comment + Comentar bloque + + + + Number + Número + + + + String + Cadea de texto + + + + Character + Carácter + + + + Class name + Nome de clase + + + + Define name + Definir Nome + + + + Operator + Operador + + + + Python output + Saída de Python + + + + Python error + Erro do Python + + + + Current line highlight + Realzado da liña actual + + + + Items + Elementos + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Xeral + + + + Language and number format + Language and number format + + + + Language: + Language: + + + + Language of the application's user interface + Idioma da interface de usuario da aplicación + + + + Unit system: + Sistema de unidades: + + + + Unit system that should be used for all parts of the application + Unit system that should be used for all parts of the application + + + + Number of decimals: + Número de decimais: + + + + Number of decimals that should be shown for numbers and dimensions + Number of decimals that should be shown for numbers and dimensions + + + + Minimum fractional inch: + Mínima fracción de polgadas: + + + + Minimum fractional inch to be displayed + Minimum fractional inch to be displayed + + + + Number format: + Number format: + + + + Operating system + Sistema operativo + + + + Selected language + Selected language + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + Substitute decimal separator + Substitute decimal separator + + + + Application + Aplicación + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Tamaño das íconas das barras de ferramentas: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Escolla a súa preferencia para o tamaño da icona da barra de ferramentas. +Pode axustar isto de acordo ó tamaño da súa pantalla ou gusto persoal + + + + Tree view mode: + Modo de vista de árbore: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + + + + Size of recent file list: + Size of recent file list: + + + + How many files should be listed in recent files list + Cantos ficheiros deben mostrarse na lista de ficheiros recentes + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + Enable tiled background + Habilitar fondo en tellas + + + + The text cursor will be blinking + The text cursor will be blinking + + + + Enable cursor blinking + Enable cursor blinking + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + + + + Enable splash screen at start up + Amosar a páxina de benvida o iniciar + + + + Preference packs + Preference packs + + + + Name + Nome + + + + Type + Tipo + + + + Load + Load + + + + Import config... + Import config... + + + + Save new... + Save new... + + + + Manage... + Manage... + + + + Revert... + Revert... + + + + Manage preference packs + Manage preference packs + + + + Small (%1px) + Pequeno (%1px) + + + + Medium (%1px) + Medio (%1px) + + + + Large (%1px) + Grande (%1px) + + + + Extra large (%1px) + Moi grande (%1px) + + + + Custom (%1px) + Personalizado (%1px) + + + + Combo View + Vista combinada + + + + TreeView and PropertyView + TreeView and PropertyView + + + + Both + Ambos + + + + Preference Pack Name + Preference Pack Name + + + + Tags + Etiquetas + + + + Apply + Aplicar + + + + Apply the %1 preference pack + Apply the %1 preference pack + + + + Choose a FreeCAD config file to import + Choose a FreeCAD config file to import + + + + File exists + File exists + + + + A preference pack with that name already exists. Overwrite? + A preference pack with that name already exists. Overwrite? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Vista de informe + + + + Output + Saída + + + + Normal messages will be recorded + As mensaxes normais gravaranse + + + + Record normal messages + Record normal messages + + + + Log messages will be recorded + Gravarase o rexistro de mensaxes + + + + Record log messages + Gravar mensaxes de rexistro + + + + Warnings will be recorded + Gravaranse os avisos + + + + Record warnings + Gravar avisos + + + + Error messages will be recorded + Gravaranse as mensaxes de erros + + + + Record error messages + Gravar mensaxes de erros + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + + + + Show report view on error + Show report view on error + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + + + + Show report view on warning + Show report view on warning + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + + + + Show report view on normal message + Show report view on normal message + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + + + + Show report view on log message + Mostrar a vista do informe na mensaxe de rexistro + + + + Include a timecode for each report + Include a timecode for each report + + + + Include a timecode for each entry + Inclúe un código de tempo para cada entrada + + + + Colors + Cores + + + + Normal messages: + Mensaxes normais: + + + + Font color for normal messages in Report view panel + Font color for normal messages in Report view panel + + + + Log messages: + Mensaxes de rexistro: + + + + Font color for log messages in Report view panel + Font color for log messages in Report view panel + + + + Warnings: + Avisos: + + + + Font color for warning messages in Report view panel + Font color for warning messages in Report view panel + + + + Errors: + Erros: + + + + Font color for error messages in Report view panel + Font color for error messages in Report view panel + + + + Python interpreter + Intérprete de Python + + + + Internal Python output will be redirected +from Python console to Report view panel + Internal Python output will be redirected +from Python console to Report view panel + + + + Redirect internal Python output to report view + Dirixir as saídas internas de Python cara a vista de informes + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Internal Python error messages will be redirected +from Python console to Report view panel + + + + Redirect internal Python errors to report view + Dirixir os erros internos de Python cara a vista de informes + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Ningún estilo + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_hr.ts b/src/Gui/Language/FreeCAD_hr.ts index ef859565df..ad59f020aa 100644 --- a/src/Gui/Language/FreeCAD_hr.ts +++ b/src/Gui/Language/FreeCAD_hr.ts @@ -42,29 +42,29 @@ vizualna velicina oznake - + <empty> <empty> - - + + Angle Kut - - + + Axis Osi - + Position Položaj - + Enum Nabrajanja @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Testiranje izlaza konzole - - + + Run test cases to verify console messages Pokreni test za provjeru poruka konzole @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Izbriši mjerenja - + Clear all visible measurements Obriši sva vidljiva mjerenja @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Uklj/isklj mjerenje - + Turn on or off the display of all measurements Uključi ili isključi prikaz svih mjerenja @@ -132,7 +132,7 @@ Izbriši - + Paste expressions Umetni izraz @@ -182,7 +182,7 @@ Dodaj grupu - + Align Poravnati @@ -193,40 +193,40 @@ Položaj - - + + Transform Transformiraj - + Toggle array elements Prebaci matricu elemenata - + Link Transform Preobrazba poveznice - + Measure distance Mjerenje udaljenosti - + Toggle visibility Promjeni vidljivost - + Toggle selectability Uklj/isklj mogućnost odabira - + Edit image Uredi sliku @@ -234,77 +234,77 @@ CommandGroup - + File Datoteka - + Edit Uredi - + Help Pomoć - + Link Poveznica - + Tools Alati - + View Pregled - + Window Prozor - + Standard Standard - + Macros Makronaredbe - + Macro Makro naredbe - + Structure Konstrukcija - + Standard-Test Standardni Test - + Standard-View Standardni pogled - + TreeView Stablo pogleda - + Measure Izmjeri @@ -402,11 +402,6 @@ DownloadItem - - - Form - Obrazac - Ico @@ -421,42 +416,42 @@ EditMode - + Default Inicijalno - + The object will be edited using the mode defined internally to be the most appropriate for the object type Objekt će se uređivati pomoću definiranog unutarnjeg načina rada kako bi bio najprimjereniji za vrstu objekta - + Transform Transformiraj - + The object will have its placement editable with the Std TransformManip command Objekt će imati svoju poziciju uređivu pomoću naredbe Std TransformManip - + Cutting Rezanje - + This edit mode is implemented as available but currently does not seem to be used by any object Ovaj način uređivanja implementiran je kao dostupan, ali trenutno se ne čini da ga koristi niti jedan objekt - + Color Boja - + The object will have the color of its individual faces editable with the Part FaceColors command Objekt će imati boju svojih pojedinačnih površina uređivu pomoću naredbe Part FaceColors @@ -482,7 +477,7 @@ nijedan - + Press a keyboard shortcut Pritisnite tipkovni prečac @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Dostupne: - + Selected: Odabrane: - + Add Dodaj - + Remove Ukloniti - + Move up Pomakni gore - + Move down Pomakni dolje @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Objekt koji se pomiće - + Fixed object ksirani objekt @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Pričekajte dok su spremljene datoteke automatskog povratka podataka... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Pritisnite lijevu tipku miša - + Press SHIFT and middle mouse button Pritisnite tipku SHIFT i srednju tipku miša - + Press middle mouse button Pritisnite srednju tipku miša - + Scroll middle mouse button Kotrljajte kotačić na mišu @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Pritisnite lijevu tipku miša - + Press middle mouse button Pritisnite srednju tipku miša - + Press middle+left or middle+right button Pritisnite srednju + lijevu ili srednju + desnu tipku miša - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Vrtite srednji gumb miša ili držite srednji gumb stisnut, kod toga lijevo ili desno kliknite i pomaknite miša prema gore ili dolje @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &U redu - + &Cancel &Otkaži @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Ploča zadataka @@ -711,49 +706,49 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Krediti - + FreeCAD would not be possible without the contributions of FreeCAD-a ne bi bilo bez doprinosa - + Individuals Header for the list of individual people in the Credits list. Pojedinci - + Organizations Header for the list of companies/organizations in the Credits list. Organizacije - - + + License Licenca - + Libraries Datoteke - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Ovaj softver koristi open source komponente čija autorska i druga vlasnička prava pripadaju njihovim vlasnicima: - + Collection Zbirka @@ -761,22 +756,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Direktorij predmemorije - + The cache directory %1 exceeds the size of %2. Direktorij predmemorije %1 premašuje veličinu %2. - + Do you want to clear it now? Želite li sada očistiti? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Upozorenje: Provjerite je li ovo jedina pokrenuta instanca %1 i da nema otvorenih dokumenata jer to može dovesti do gubitka podataka! @@ -797,37 +792,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Postavke kamere - + Orientation Orijentacija - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Trenutni prikaz @@ -893,7 +888,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Naredbe @@ -1118,12 +1113,12 @@ Ako se to ne označi, osobina mora biti jedinstveno imenovana i njoj se pristupa Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Paket već postoji. - + A preference pack with that name already exists. Do you want to overwrite it? Postavka s ovim nazivom paketa već postoji! Želite li ga prepisati? @@ -1361,48 +1356,48 @@ isto vrijeme, pokrenut će se onaj s najvećim prioritetom. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Unesi za pretraživanje... - + Icon Ikona - + Command Naredba - + Shortcut Prečac - + Default Inicijalno - + Name Ime - + Title Naslov - + All Sve - - + + none nijedan @@ -1410,8 +1405,8 @@ isto vrijeme, pokrenut će se onaj s najvećim prioritetom. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Toolbox barovi @@ -1500,40 +1495,40 @@ isto vrijeme, pokrenut će se onaj s najvećim prioritetom. - + <Separator> <Separator> - + %1 module not loaded %1 modula nije učitano - + New toolbar Nova alatna traka - - + + Toolbar name: Ime alatne trake: - - + + Duplicated name Dvostruki naziv - - + + The toolbar name '%1' is already used Ime alatne trake '%1' se već koristi - + Rename toolbar Preimenuj alatnu traku @@ -1546,19 +1541,19 @@ isto vrijeme, pokrenut će se onaj s najvećim prioritetom. Gui::Dialog::DlgCustomizeImp - + Customize Prilagodi - + &Help &Pomoć - + &Close &Zatvori @@ -1567,13 +1562,13 @@ isto vrijeme, pokrenut će se onaj s najvećim prioritetom. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Spaceball pokreti - + No Spaceball Present Spaceball nije pronađen @@ -1581,27 +1576,27 @@ isto vrijeme, pokrenut će se onaj s najvećim prioritetom. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Spaceball Tipke - + No Spaceball Present Spaceball nije pronađen - + Buttons Tipke - + Reset Odbaci - + Print Reference Ispis Reference @@ -1686,552 +1681,123 @@ isto vrijeme, pokrenut će se onaj s najvećim prioritetom. Gui::Dialog::DlgDisplayPropertiesImp - + Default Inicijalno - + Aluminium Aluminij - + Brass Mesing - + Bronze Bronca - + Copper Bakar - + Chrome Krom - + Emerald Emerald - + Gold Zlato - + Jade Žad - + Metalized Metalizirano - + Neon GNC Neonska GNC - + Neon PHC Neonska PHC - + Obsidian Opsidijan - + Pewter Kositar - + Plaster Žbuka - + Plastic Plastika - + Ruby Rubin - + Satin Saten - + Shiny plastic Sjajna plastika - + Silver Srebro - + Steel Čelik - + Stone Kamen Gui::Dialog::DlgEditorSettings - - - Editor - Urednik - - - - Options - Mogućnosti - - - - Code lines will be numbered - Redovi koda bit će numerirani - - - - Enable line numbers - Uključi brojeve redaka - - - - The cursor shape will be a block - Oblik pokazivača bit će blok - - - - Enable block cursor - Omogući blok pokazivača - - - - Enable folding - Omogući preklapanje - - - - Indentation - Uvlačenje - - - - Tab size: - Veličina kartice: - - - - Tabulator raster (how many spaces) - Raširi tabulator (koliko razmaka) - - - - Indent size: - Uvučena veličina: - - - - How many spaces will be inserted when pressing <Tab> - Koliko razmaka će biti dodano ako pritisnete <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Pritiskom na <Tab> umetnite tabulator sa definiranom tab veličinom - - - - Keep tabs - Drži kartice - - - - Pressing <Tab> will insert amount of defined indent size - Pritiskom na <Tab> umetnite količinu definirane veličine uvlačenja - - - - Insert spaces - Umetanje razmaka - - - - Display items - Prikaži stavke - - - - Color and font settings will be applied to selected type - Postavke boje i pisma primijenit će se na odabrani tip - - - - Family: - Obitelj: - - - - Font family to be used for selected code type - Obitelj slova koja se koristi za odabranu vrstu koda - - - - Size: - Veličina: - - - - Font size to be used for selected code type - Veličina slova koja se koristi za odabranu vrstu koda - - - - Color: - Boja: - - - - Preview: - Pregled: - - - Gui::Dialog::DlgGeneral - - - General - Općenito - - - - Language of the application's user interface - Jezik korisničkog sučelja aplikacije - - - - Number format: - Brojevni format: - - - - Operating system - Operativni sustav - - - - Selected language - Odaberite jezik - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Ako je omogućeno, decimalni razdjelnik numeričke tipkovnice -bit će zamijenjen separatorom lokalizacije, osim -u Python konzoli i uređivaču makronaredbi gdje će -točka/zarez uvijek biti ispisana. - - - - Preference packs - Paketi postavki - - - - Name - Ime - - - - Type - Tip - - - - Load - Učitaj - - - - Import config... - Uvoz konfiguracije... - - - - Save new... - Spremi novo... - - - - Manage... - Upravljati... - - - - Revert... - Vrati se... - - - - How many files should be listed in recent files list - Koliko datoteka treba biti na popisu nedavnih datoteka - - - - Enable tiled background - Omogućiti popločanu pozadinu - - - - The text cursor will be blinking - Pokazivač teksta će treperiti - - - - Enable cursor blinking - Omogući treperenje pokazivača - - - - Style sheet: - List sa stilovima: - - - - Language and number format - Jezični i numerički format - - - - Language: - Jezik: - - - - Unit system: - Sustav jedinica: - - - - Unit system that should be used for all parts of the application - Sustav jedinica koji se treba koristiti za sve dijelove aplikacije - - - - Number of decimals: - Broj decimalnih mjesta: - - - - Number of decimals that should be shown for numbers and dimensions - Broj decimala koji bi se trebali prikazati za brojeve i dimenzije - - - - Minimum fractional inch: - Minimalni djelomični palac (inch): - - - - Minimum fractional inch to be displayed - Minimalni frakcijski inč koji se prikazuje - - - - Substitute decimal separator - Zamjena decimalnog razdjelnika - - - - Application - Aplikacija - - - - Style sheet how user interface will look like - Lista stila kako će izgledati korisničko sučelje - - - - Size of toolbar icons: - Veličina ikona alatne trake: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Odaberite željene veličine ikone na alatnoj traci. Možete prilagoditi -to prema vašoj veličini zaslona ili vašem osobnom ukusu - - - - Tree view mode: - Način prikaza stabla: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Prilagodite način prikaza stablastog pregleda na ploči -(potrebno je ponovno pokretanje). - -'ComboView': kombinirajte stablasti pregled i pregled svojstva na jednoj ploči. -'TreeView i PropertyView': stablasti pregled i pregled svojstva na zasebni panel. -"Oba": zadržite sva tri panela, a možete imati i dva prikaza od stablastog pregleda i pregleda svojstva. - - - - Size of recent file list: - Veličina popisa nedavno korištenih datoteka: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Pozadina glavnog prozora (ako nije dokument otvoren) sastojat će se od pločica posebne slike. -Pojedinosti o slici potražite u FreeCAD Wiki-u. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Splash ekran je mali prozor za učitavanje koji se prikazuje -kada se FreeCAD pokreće. Ako je ova opcija potvrđena, FreeCAD će -prikazivati splash ekran - - - - Enable splash screen at start up - Omogući pozdravni zaslon pri pokretanju programa - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Upravljaj sa paketima postavki - - - - Small (%1px) - Malo (%1px) - - - - Medium (%1px) - Srednje (%1px) - - - - Large (%1px) - Veliki (%1px) - - - - Extra large (%1px) - Jako veliko (%1px) - - - - Custom (%1px) - Prilagođeno (%1px) - - - - Combo View - Kombinirani pregled - - - - TreeView and PropertyView - Stablasti pregled i Pregled svojstva - - - - Both - Oboje - - - - No style sheet - Nema lista stilova - - - - Preference Pack Name - Ime paketa postavki - - - - Tags - Oznake - - - - Apply - Primijeni - - - - Apply the %1 preference pack - Primjeni %1 paket postavki - - - - Choose a FreeCAD config file to import - Odaberite FreeCAD konfiguracijsku datoteku za uvoz - - - - File exists - Datoteka postoji - - - - A preference pack with that name already exists. Overwrite? - Postavka s ovim nazivom paketa već postoji! Prepisati? - - Gui::Dialog::DlgInputDialog @@ -2247,8 +1813,8 @@ prikazivati splash ekran Gui::Dialog::DlgInspector - - + + Scene Inspector Pregled scene @@ -2340,71 +1906,71 @@ prikazivati splash ekran Gui::Dialog::DlgMacroExecuteImp - + Macros Makronaredbe - + Read-only Samo za čitanje - + Macro file Makro datoteke - + Enter a file name, please: Unesite naziv datoteke, molimo Vas da: - - - + + + Existing file Postojeće datoteke - + '%1'. This file already exists. '%1'. Ova datoteka već postoji. - + Cannot create file Ne mogu stvoriti datoteku - + Creation of file '%1' failed. Kreiranje datoteke '%1' nije uspjelo. - + Delete macro Brisanje makro - + Do you really want to delete the macro '%1'? Želite li zaista obrisati makro '%1'? - + Do not show again Ne prikazuj ponovno - + Guided Walkthrough Vodič kroz upute - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2415,77 +1981,77 @@ Napomena: vaše promjene primijenit će se prilikom sljedećeg prebacivanja radn - + Walkthrough, dialog 1 of 2 Priručnik, dijalog 1 od 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Upute za uporabu: Popunite polja koja nedostaju (izborno), zatim kliknite Dodaj, a zatim Zatvori - + Walkthrough, dialog 1 of 1 Priručnik, dijalog 1 od 1 - + Walkthrough, dialog 2 of 2 Priručnik, dijalog 2 od 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Uputa za uporabu: kliknite strelicu desno (->), a zatim Zatvori. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Uputa za uporabu: kliknite Novo, zatim strelicu desno (->), a zatim Zatvori. - + Renaming Macro File Preimenovanje makronaredbi datoteka - - + + Enter new name: Unesite novi naziv: - - + + '%1' already exists. '%1' već postoji. - + Rename Failed Preimenovanje nije uspjelo - + Failed to rename to '%1'. Perhaps a file permission error? Nije moguće preimenovati u '%1'. Možda je greška dopuštenja datoteke? - + Duplicate Macro Dupliciraj makronaredbu - + Duplicate Failed Dupliciranje neuspješno - + Failed to duplicate to '%1'. Perhaps a file permission error? Nije uspjelo dupliciranje u '%1'. @@ -2528,39 +2094,39 @@ možda je greška u dopuštenjima datoteke? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Makro snimanje - + Specify first a place to save. Odredite prvo mjesto za spremanje. - + The macro directory doesn't exist. Please, choose another one. Makro direktorij ne postoji. Molimo, odaberite drugi. - + Existing macro Postojeći makro - + The macro '%1' already exists. Do you want to overwrite? Makro '%1' već postoji. Želite li prebrisati? - + You have no write permission for the directory. Please, choose another one. Nemate dozvolu za pisanje u direktorij. Molimo odaberite drugi direktorij. - + Choose macro directory Odaberite makro direktorij @@ -2633,12 +2199,12 @@ možda je greška u dopuštenjima datoteke? HTML datoteke - + Access denied Pristup odbijen - + Access denied to '%1' Specify another directory, please. @@ -3037,36 +2603,36 @@ Specify another directory, please. Datoteka projekta - - + + Empty source Prazan izvor - - + + No source is defined. Izvor nije definiran. - - + + Empty destination Prazno odredište - - + + No destination is defined. Odredište nije definirano. - + Failed to extract project Nije uspjelo izdvajanje projekta - + Failed to create project Nije uspjelo stvaranje projekta @@ -3118,200 +2684,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Pregled izvještaja - - - - Output - Izlaz - - - - Normal messages will be recorded - Snimit će se uobičajene poruke - - - - - - Record normal messages - Snima normalne poruke - - - - Log messages will be recorded - Poruke dnevnika bit će zabilježene - - - - Record log messages - Snimanje log poruke - - - - Warnings will be recorded - Upozorenja bit će zabilježena - - - - Record warnings - Snimanje upozorenja - - - - Error messages will be recorded - Poruke o greškama bit će zabilježene - - - - Record error messages - Snimanje poruka o pogrešci - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Kad se dogodila pogreška, dijaloški okvir Izvještaj izvješća postaje vidljiv -na zaslonu dok prikazuje pogrešku - - - - - Show report view on error - Prikaži izvješća o pogrešci - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Kada se pojavilo upozorenje, dijaloški okvir Izvještaj izvješća postaje vidljiv -na zaslonu dok prikazuje upozorenje - - - - - Show report view on warning - Prikaži izvješća o upozorenju - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Kad se pojavila normalna poruka, dijaloški okvir za prikaz izvješća postaje vidljiv -na zaslonu dok prikazuje poruku - - - - Show report view on normal message - Prikaži pregled izvještaja u normalnoj poruci - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Kada se poruka dnevnika dogodila, dijaloški okvir Izvještaj izvješća postaje vidljiv -na zaslonu dok prikazuje poruku dnevnika - - - - - Show report view on log message - Prikaži pregled izvještaja u poruci dnevnika - - - - Include a timecode for each report - Uključite vremenski kod za svako izvješće - - - - - - Include a timecode for each entry - Uključite vremenski kod za svaki unos - - - - - - Colors - Boje - - - - Normal messages: - Normalne poruke: - - - - Font color for normal messages in Report view panel - Boja pisma za uobičajene poruke na ploči prikaza izvješća - - - - Log messages: - Log poruke: - - - - Font color for log messages in Report view panel - Boja pisma za poruke dnevnika na ploči prikaza izvješća - - - - - Warnings: - Upozorenja: - - - - Font color for warning messages in Report view panel - Boja pisma za poruke upozorenja na ploči prikaza izvješća - - - - Errors: - Pogreške: - - - - Font color for error messages in Report view panel - Boja pisma za poruke o grešci na ploči prikaza izvješća - - - - Python interpreter - Python interpreter (tumač) - - - - Internal Python output will be redirected -from Python console to Report view panel - Interni Python izlaz bit će preusmjeren -od Python konzole na ploču prikaza izvješća - - - - - Redirect internal Python output to report view - Preusmjeri interni Python izlaz na prikaz izvješća - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Interne Python poruke o grešci bit će preusmjerene -od Python konzole na ploču prikaza izvješća - - - - - Redirect internal Python errors to report view - Preusmjeravanje unutarnjih Python grešaka u prikazu pogrešaka - @@ -3338,7 +2710,7 @@ od Python konzole na ploču prikaza izvješća Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Nema odabira u dijaloškom okviru, ne može se učitati datoteka sigurnosne kopije @@ -3381,7 +2753,7 @@ od Python konzole na ploču prikaza izvješća Pomoć - + Select a file Odaberite datoteku @@ -3389,41 +2761,41 @@ od Python konzole na ploču prikaza izvješća Gui::Dialog::DlgSettings3DView - + 3D View 3D Prikaz - + General Općenito - + Main coordinate system will always be shown in lower right corner within opened files Glavni koordinatni sustav uvijek će biti prikazan u donjem desnom kutu unutar otvorenih datoteka - + Show coordinate system in the corner Prikaži koordinatni sustav u kutu - + Relative size : Relativna veličina : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Veličina prikaza glavnog koordinatnog sustava u kutu -- u % visine/širine okvira za prikaz - + Axis cross will be shown by default at file opening or creation Križ osi prema zadanom će biti prikazan kod @@ -3432,12 +2804,12 @@ otvaranja ili stvaranja datoteke - + Show axis cross by default Prikaz križa osi kao zadana postavka - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Vrijeme potrebno za posljednji rad i rezultirajuća brzina kadra @@ -3445,17 +2817,17 @@ prikazat će se u donjem lijevom kutu otvorenih datoteka - + Show counter of frames per second Pokaži brojač sličica u sekundi - + Rendering Iscrtati - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3466,22 +2838,22 @@ Za promjenu ove opcije potrebno je ponovno pokretanje aplikacije. - + Use software OpenGL koristi program OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Koristi OpenGL VBO (Vertex Buffer Object) - + Render cache Privremena memorija iscrtavanja - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3504,7 +2876,7 @@ problema u rasponu od grafičkih anomalija do grešaka pada GPU-a . Zapamtite prijavite ovu postavku ako ste je omogućili kada tražite podršku na FreeCAD forumima - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3521,92 +2893,92 @@ samo pred-memorija na korijenskom čvoru grafikona scene. To nudi najbržu brzin ali sporiji odgovor na bilo kakve promjene scena. - + Auto Automatski - + Distributed Raspodijeljeno - + Centralized Centralizirano - + Anti-Aliasing Anti-Aliasing - + What kind of multisample anti-aliasing is used Kakva vrsta višestrukih uzoraka se koristi - + None Prazno - + Line Smoothing Zaglađivanje linije - + MSAA 2x MSAA 2 x - + MSAA 4x MSAA 4 x - + MSAA 8x MSAA 8 x - + Transparent objects: Prozirni objekti: - + Render types of transparent objects Vrste iscrtavanja za prozirne objekte - + One pass Jedan prolaz - + Backface pass Dodatni prolaz crtanja pozadine - + Marker size: Veličina Oznake: - - Size of vertices in the Sketcher workbench - Veličina vrhova na radnoj površini Skice + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Udaljenost od oka do oka za stereo mode - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3615,48 +2987,48 @@ Navedena vrijednost je faktor koji će se pomnožiti s veličinom graničnog okvira 3D objekta koji se trenutno prikazuje. - + Backlight is enabled with the defined color Pozadinsko osvjetljenje omogućeno je definiranom bojom - - + + Backlight color Boja pozadinskog osvjetljenja - + Intensity Intenzitet - + Intensity of the backlight Intenzitet pozadinskog osvjetljenja - + Camera type Tip kamere - + Objects will appear in a perspective projection Objekti će se pojaviti u perspektivnoj projekciji - + Perspective renderin&g Perspektivna iscrtavanja - + Objects will be projected in orthographic projection Objekti će se projektirati u ortografskoj projekciji - + Or&thographic rendering Or&tografsko iscrtavanje @@ -3668,42 +3040,42 @@ veličinom graničnog okvira 3D objekta koji se trenutno prikazuje. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Izglađivanje - + Open a new viewer or restart %1 to apply anti-aliasing changes. Otvori novi preglednik ili ponovno pokreni %1 za dodavanje promjena izglađivanja. @@ -3711,77 +3083,77 @@ veličinom graničnog okvira 3D objekta koji se trenutno prikazuje. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Međuspremnik - + Cache directory Direktorij predmemorije - + Location: Lokacija: - + Check periodically at program start: Provjerite povremeno na početku programa: - + Always Uvijek - + Daily Dnevno - + Weekly Tjedno - + Monthly Mjesečno - + Yearly Godišnje - + Never Nikada - + Cache size limit: Ograničenje veličine predmemorije: - + Check now... Provjeri sada… - + Notify the user if the cache size exceeds the specified limit Obavijestite korisnika ako veličina predmemorije premaši navedeno ograničenje - + Unknown Nepoznato - + Current cache size: %1 Trenutna veličina predmemorije: %1 @@ -3946,12 +3318,12 @@ osim trake boja Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Pogrešan parametar - + The maximum value must be higher than the minimum value. Maksimalna vrijednost mora biti veći od minimalne vrijednosti. @@ -3959,58 +3331,58 @@ osim trake boja Gui::Dialog::DlgSettingsDocument - + Document Dokument - + General Općenito - + The application will create a new document when started Kada se pokrene, aplikacija će stvoriti novi dokument - + Create new document at start up Stvaranje novog dokumenta prilikom pokretanja - + Document save compression level (0 = none, 9 = highest, 3 = default) Razina kompresije spremanja dokumenta (0 = ništa, 9 = najviši, 3 = zadana vrijednost) - + Compression level for FCStd files Nivo kompresije za FCStd datoteke - + All changes in documents are stored so that they can be undone/redone Sve promjene u dokumentima pohranjuju se tako da se mogu poništiti / ponovno urediti - + Using Undo/Redo on documents Koristi Undo/Redo na dokumentima - + Maximum Undo/Redo steps Maksimalan broj Undo/Redo koraka - + How many Undo/Redo steps should be recorded Koliko poništiti / ponovno postavi koraka treba snimiti - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Dopustite korisniku da prekine ponovno računanje dokumenata pritiskom na ESC. @@ -4018,64 +3390,64 @@ Ova značajka može malo produljiti vrijeme preračunavanja. - + Allow aborting recomputation Dopustite prekid preračunavanja - + Storage Skladištenje - + Saving transactions (Auto-save) Spremanje transakcije (Auto-save) - + Discard saved transaction after saving document Odbaci spremljene transakcije nakon spremanja dokumenta - + If there is a recovery file available the application will automatically run a file recovery when it is started. Ako je na raspolaganju datoteka za oporavak aplikacija će automatski pokrenuti oporavak datoteke kad je pokrenuta. - + Run AutoRecovery at startup Pokreni samo oporavak tijekom pokretanja - + How often a recovery file is written Učestalost zapisa datoteke za oporavak - + Save AutoRecovery information every Spremiti informacije samo oporavka svakih - + A thumbnail will be stored when document is saved Kad se dokument spremi, bit će spremljena i sličica - + Save thumbnail into project file when saving document Spremi thumbnail u projekt datoteku prilikom spremanja dokumenta - + Size Veličina - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Postavlja veličinu sličice koja se pohranjuje u dokumentu. @@ -4083,59 +3455,59 @@ Uobičajene veličine su 128, 256 i 512 - + The program logo will be added to the thumbnail Logotip programa bit će dodan minijaturi - + Add the program logo to the generated thumbnail Dodaj programski logo generiranoj sličici - + How many backup files will be kept when saving document Koliko datoteka sigurnosnih kopija će se zadržati prilikom spremanja dokumenta - + Maximum number of backup files to keep when resaving document Maksimalan broj sigurnosnih kopija koji se čuva kad ponovno spremite dokument - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Datoteke sigurnosnih kopija dobivat će ekstenziju '.FCbak' i nazive datoteka dobiti dodatak (sufiks) datuma prema navedenom formatu - + Use date and FCBak extension Koristite datum i FCBak ekstenziju - + Date format Format datuma - + Document objects Objekti dokumenta - + Allow objects to have same label Dopusti da objekti imaju istu oznaku - + Allow duplicate object labels in one document Dopusti dvostruke nazive objekata u jednom dokumentu - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4149,22 +3521,22 @@ ikonu u prikazu stabla da biste je u potpunosti ponovo postavili. - + Disable partial loading of external linked objects Onemogući djelomično učitavanje vanjskih povezanih objekata - + Authoring and License Stvaranje i licence - + Author name Ime autora - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4174,33 +3546,33 @@ Možete koristiti i obrazac: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Polje "Zadnja izmjena od" postavit će se navedenom autoru prilikom spremanja datoteke - + Set on save Postavi na spremanju - + Company Tvrtka - + Default company name to use for new files Zadano ime tvrtke za nove datoteke - + Default license Dodijeljena licenca - + Default license for new documents Zadana licenca za nove datoteke @@ -4270,12 +3642,12 @@ Možete koristiti i obrazac: John Doe <john@doe.com> Drugo - + License URL URL licence - + URL describing more about the license URL koji opisuje više o licenci @@ -4283,104 +3655,21 @@ Možete koristiti i obrazac: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Format datuma koji će se koristiti. - + Default Inicijalno - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Tekst - - - - Bookmark - Bookmark - - - - Breakpoint - Prijelomna točka - - - - Keyword - Kljušna riječ - - - - Comment - Komentar - - - - Block comment - Blok komentar - - - - Number - Broj - - - - String - Tekst (string) - - - - Character - Simbol - - - - Class name - Ime klase - - - - Define name - Odredite naziv - - - - Operator - Operator - - - - Python output - Python izlaz - - - - Python error - Python pogreška - - - - Current line highlight - Osvjetljenje trenutne linije - - - - Items - Jedinice - - Gui::Dialog::DlgSettingsImage @@ -4561,125 +3850,125 @@ Možete koristiti i obrazac: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Makro naredbe - + General macro settings Generalne Macro opcije - + Variables defined by macros are created as local variables Varijable definirane makronaredbama stvaraju se kao lokalne varijable - + Run macros in local environment Izvrti Macro u lokalnom okruženju - + Macro recording settings Postavke snimanja za makro - + Macro path Makro put - + The directory in which the application will search for macros Imenik u kojem će aplikacija tražiti makronaredbe - + Gui commands GUI naredbe - + Recorded macros will also contain user interface commands Snimljene makronaredbe također će sadržavati naredbe korisničkog sučelja - + Record GUI commands Snimi GUI naredbe - + Recorded macros will also contain user interface commands as comments Snimljene makronaredbe također će sadržavati naredbe korisničkog sučelja kao komentare - + Record as comment Snimiti kao komentar - + Logging Commands Prijava Naredbi - + Commands executed by macro scripts are shown in Python console Naredbe koje izvršavaju makro skripte prikazane su na Python konzoli - + Show script commands in python console Prikaži naredbe skripta u python konzoli - + Log all commands issued by menus to file: Prijavite se sve naredbe izdane od strane izbornika u datoteku: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Izbornik nedavnih makronaredbi - + Size of recent macro list Veličina nedavnog makro popisa - + How many macros should be listed in recent macros list Koliko makronaredbi treba biti navedeno na nedavnom popisu makronaredbi - + Keyboard shortcut count Broj prečaca na tipkovnici - + How many recent macros should have shortcuts Koliko nedavnih makronaredbi treba imati prečace - + Keyboard Modifiers Modifikatori tipkovnice - + Keyboard modifiers, default = Ctrl+Shift+ Modifikatori tipkovnice, zadani = Ctrl + Shift + @@ -4689,110 +3978,110 @@ Možete koristiti i obrazac: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigacija - + Navigation cube Navigacijska kocka - + Steps by turn Koraka po cijelom zaokretu - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Broj koraka kod zaokretanja pri korištenju strelica (zadano = 8: kut koraka = 360/8 = 45 stupnjeva) - + Corner Ugao - + Corner where navigation cube is shown Ugao gdje je prikazana kocka za navigaciju - + Top left Gore lijevo - + Top right Gore desno - + Bottom left Dolje lijevo - + Bottom right Dolje desno - + Rotates to nearest possible state when clicking a cube face Rotira se u najbliže moguće stanje kada kliknete lice kocke - + Rotate to nearest Rotira se u najbliže - + Font name: Ime pisma: - + Font name of the navigation cube Naziv pisma navigacijske kocke - + Default Inicijalno - + Cube size Veličina kocke - + Size of the navigation cube Veličina kocke navigacije - + Color Boja - + Base color for all elements Osnovna boja za sve elemente - + 3D Navigation 3D navigacija - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Navedite konfiguracije gumba miša za svaku odabranu navigacijsku postavku. @@ -4800,22 +4089,22 @@ Odaberite set, a zatim pritisnite gumb za prikaz navedenih konfiguracija. - + Mouse... Miš... - + Navigation settings set Set navigacijskih postavki - + Orbit style Način okretanja - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4826,66 +4115,66 @@ Okretna ploča: dio će se rotirati oko z-osi (s ograničenim osima). Free Turntable: dio će se rotirati oko z-osi. - + Turntable Okretano - + Trackball Prećeno - + Free Turntable Slobodna okretna ploča - + Rotation mode Način rotacije - + Rotations in 3D will use current cursor position as center for rotation Rotacije u 3D upotrebljavat će trenutni položaj pokazivača kao središte rotacije - + Window center Središte prozora - + Drag at cursor Povucite kod pokazivača - + Object center Središte objekta - + Default camera orientation Zadana orijentacija kamere - + Default camera orientation when creating a new document or selecting the home view Zadana orijentacija kamere prilikom izrade novog dokumenta ili odabira zadanog početnog prikaza - + Camera zoom Zumiranje kamere - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Postavlja zumiranje za nove dokumente. @@ -4893,54 +4182,54 @@ Vrijednost je promjer sfere koja će stati na zaslon. - + mm mm - + Enable animated rotations Omogući animirane rotacije - + Enable animation Omogući animacije - + Zoom operations will be performed at position of mouse pointer Operacije zumiranja izvodit će se na položaju pokazivača miša - + Zoom at cursor Približavaj na kursor - + Zoom step Korak zumiranja - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Koliko će se zumirati. Korak zumiranja '1' znači faktor 7,5 za svaki korak zumiranja. - + Direction of zoom operations will be inverted Smjer operacija zumiranja će se obrnuti - + Invert zoom Invertiraj zumiranje - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4949,57 +4238,67 @@ Utječe samo na navigacijski stil gestama. Naginjanje miša nije onemogućeno ovom postavkom. - + Disable touchscreen tilt gesture Onemogući nagib geste zaslona osjetljivog na dodir - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Izometrički - + Dimetric Dvometrički - + Trimetric Trimetrički - + Top Gore - + Front Ispred - + Left Lijevo - + Right Desno - + Rear Iza - + Bottom Ispod - + Custom Prilagođeno @@ -5007,17 +4306,17 @@ Naginjanje miša nije onemogućeno ovom postavkom. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python konzola - + Settings Postavke - + Words will be wrapped when they exceed available horizontal space in Python console Riječi će biti istisnute kada premaše dostupni @@ -5025,27 +4324,27 @@ vodoravni prostor u Python konzoli - + Enable word wrap Omogući prelamanje riječi - + The cursor shape will be a block Oblik pokazivača bit će blok - + Enable block cursor Omogući blok pokazivača - + Saves Python history across sessions Sprema povijest Pythona kroz sesije - + Save history Spremi povijest @@ -5053,17 +4352,37 @@ vodoravni prostor u Python konzoli Gui::Dialog::DlgSettingsSelection - + Selection Izbor - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Omogući odabrano + + + Pick radius (px): Odaberite radijus (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5071,28 +4390,28 @@ Larger value eases to pick things, but can make small features impossible to sel Veća vrijednost olakšava odabir stvari, ali može onemogućiti odabir malih značajki - + Auto switch to the 3D view containing the selected item Automatski se prebaci na 3D prikaz koji sadrži odabranu stavku - + Auto expand tree item when the corresponding object is selected in 3D view Automatski proširi stavku stabla kad je u 3D prikazu odabran odgovarajući objekt - + Preselect the object in 3D view when mouse over the tree item Pred odaberite predmet u 3D prikazu kad mišem pređete preko stavke - + Record selection in tree view in order to go back/forward using navigation button Snimite odabir u prikazu stabla kako biste se kretali nazad/naprijed pomoću navigacijskog gumba - + Add checkboxes for selection in document tree Dodajte potvrdne okvire za odabir u stablu dokumenta @@ -5100,149 +4419,123 @@ Veća vrijednost olakšava odabir stvari, ali može onemogućiti odabir malih zn Gui::Dialog::DlgSettingsViewColor - + Colors Boje - - Selection - Izbor - - - - Enable preselection and highlight by specified color - Omogućite pred odabir i označite određenom bojom - - - - Enable preselection highlighting - Omogući isticanje prelaskom miša - - - - Enable selection highlighting and use specified color - Omogući isticanje odabira i korištenje određene boje - - - - - Enable selection highlighting - Omogući odabir isticanja - - - + Background color for the model view Boja pozadine za prikaz modela - + Background color Boja pozadine - - + + Background will have selected color Pozadina će imati odabranu boju - + Simple color Jednostavna boja - - + + Background will have selected color gradient Pozadina će imati prijelaz odabrane boje - + Linear gradient Linearni gradijent - + Radial gradient Radijalni gradijent - - + + Top: Vrh: - - + + Middle: Srednji: - + Switches the colors of the gradient Mijenja boje gradijenta - + Switch Prijeđi - + Color gradient will get selected color as middle color Gradijent boje dobit će odabranu boju kao srednju boju - + Middle color Srednja boja - - + + Bottom: Dno: - + Tree view Pogled hijerarhije - + Object being edited Objekt uređivanja - + Background color for objects in tree view that are currently edited Boja pozadine za objekte u prikazu stabla koji se trenutno uređuju - + Active container Aktivni spremnik - + Background color for active containers in tree view Boja pozadine za aktivne spremnike u prikazu stabla - + Central: Središnje: - + Midway: Na pola puta: - + End: Kraj: @@ -5354,12 +4647,12 @@ Sustav preferencija je onaj skup postavki koji se nalazi u općim preferencijam Gui::Dialog::DlgUnitsCalculator - + unknown unit: nepoznata mjerna jedinica: - + unit mismatch mjerne jedinice se ne podudaraju @@ -5367,7 +4660,7 @@ Sustav preferencija je onaj skup postavki koji se nalazi u općim preferencijam Gui::Dialog::DockablePlacement - + Placement Položaj @@ -5419,60 +4712,60 @@ The 'Status' column shows whether the document could be recovered. Još nije oporavljeno - + Unknown problem occurred Došlo je do nepoznatog problema - - + + Failed to recover Nije uspio oporaviti - + Successfully recovered Uspješno oporavio - + Finish Završiti - - + + Delete Izbriši - - + + Cleanup Čišćenje - + Are you sure you want to delete the selected transient directories? Jeste li sigurni da želite izbrisati odabrane prolazne direktorije? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Kod brisanja odabrane prolazne mape nećete biti u mogućnosti da oporavite bilo koju datoteku nakon toga. - + Are you sure you want to delete all transient directories? Jeste li sigurni da želite izbrisati sve prolazne direktorije? - + When deleting all transient directories you won't be able to recover any files afterwards. Nakon brisanja prolaznih mapa nećete biti u mogućnosti da oporavite bilo koju datoteku nakon toga. - + Transient directories deleted. Prolazne mape izbrisame. @@ -5596,7 +4889,7 @@ The 'Status' column shows whether the document could be recovered. Mape Ikona - + Add icon folder Dodavanje mape ikona @@ -5609,12 +4902,12 @@ The 'Status' column shows whether the document could be recovered. Dodavanje ili uklanjanje prilagođenih mapa ikona - + Remove folder Ukloni mapu - + Removing a folder only takes effect after an application restart. Uklanjanje mape stupa na snagu samo nakon ponovnog pokretanja aplikacije. @@ -5684,79 +4977,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Proširi - + Add sub-group Dodaj podgrupu - - + + Remove group Ukloni grupu - + Rename group Preimenuj grupu - + Export parameter Izvoz parametra - + Import parameter Uvoz parametra - + Collapse Kolaps - + Do you really want to remove this parameter group? Želite li stvarno ukloniti ovu grupu parametara ? - + Existing sub-group Postojeća podgrupa - + The sub-group '%1' already exists. Pod-grupa '%1' već postoji. - + Export parameter to file Izvoz parametra u datoteku - + Import parameter from file Uvoz parametara iz datoteke - + Import Error Greška uvoza - + Reading from '%1' failed. Čitanje iz '%1' nije uspjelo. @@ -5764,65 +5057,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Promjena vrijednosti - + Remove key Odbaci tipka - + Rename key Preimenuj tipka - + New Novi - + New string item Nova niz (string) jedinica - + New float item Nova float jedinica - + New integer item Nova integer jedinica - + New unsigned item Nova unsigned jedinica - + New Boolean item Nova Boolean jedinica - - - - - + + + + + Existing item Postojeća jedinica - - - - - + + + + + The item '%1' already exists. Jedinica '%1' već postoji. @@ -5968,17 +5261,17 @@ The 'Status' column shows whether the document could be recovered. Primijeni - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Odaberite 1, 2 ili 3 točke prije nego kliknete ovaj gumb. Točka može biti tjemena točka, točka lica ili ruba. Ako se koristi na licu ili rubu točka će biti točka na položaju miša uzduž lica ili ruba. Ako je 1 točka odabrana ona će se koristiti kao centar rotacije. Ako su 2 točke odabrane središnja točka između njih će biti centar rotacije i po potrebi će se stvoriti nova prilagođena os. Ako su 3 točke odabrane prva točka postaje centar rotacije i leži na vektoru koji je normala na ravninu definiranu sa 3 točke. Neke informacije udaljenosti i kuta su dane u prikazu izvještaja, što može biti korisno kod poravnavanja objekata. Radi vaše udobnosti kada se koristi "Shift + klik" odgovarajuća udaljenost ili kut je kopiran(a) u međuspremnik. - + Incorrect quantity Netočna količina - + There are input fields with incorrect input, please ensure valid placement values! Unos polja netočan unos, provjerite je li vrijednost valjana! @@ -5986,12 +5279,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Gumb - + Command Naredba @@ -6055,17 +5348,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Inventor stablo - + Name Ime - + Nodes Čvorovi @@ -6121,14 +5414,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Otkazati - - + + Transform Transformiraj @@ -6229,13 +5522,13 @@ izvorno odabranim prije otvaranja ovog dijaloškog okvira - + Model Model - + Tasks Zadaci @@ -6243,7 +5536,7 @@ izvorno odabranim prije otvaranja ovog dijaloškog okvira Gui::DockWnd::PropertyDockView - + Property View Prikaz Svojstava @@ -6251,82 +5544,82 @@ izvorno odabranim prije otvaranja ovog dijaloškog okvira Gui::DockWnd::ReportOutput - + Options Mogućnosti - + Display message types Prikažite vrste poruka - - + + Normal messages Normalne poruke - - + + Log messages Log poruke - - + + Warnings Upozorenja - - + + Errors Greške - - + + Critical messages Kritične poruke - + Show Report view on Prikaži pregled izvješća na - + Redirect Python output Preusmjeravanje Python izlaza - + Redirect Python errors Preusmjeravanje Python pogreški - + Go to end Idi na kraj - + Clear Brisanje - + Save As... Spremi kao ... - + Save Report Output Spremi izvješće izlaza - + Plain Text Files Obične tekstualne datoteke @@ -6335,13 +5628,13 @@ izvorno odabranim prije otvaranja ovog dijaloškog okvira Gui::DockWnd::ReportView - + Output Izlaz - + Python console Python konzola @@ -6379,72 +5672,72 @@ izvorno odabranim prije otvaranja ovog dijaloškog okvira Lista odabranih objekata - + Select only Odabir samo - + Selects only this object Odaberite samo ovaj objekt - + Deselect Odznači - + Deselects this object Poništi odabir ovog objekta - + Zoom fit Zumiraj cijelo - + Selects and fits this object in the 3D window Odaberi i postavi ovaj objekt u 3D prozoru - + Go to selection Idi na odabrane objekte - + Selects and locates this object in the tree view Odabire i smješta ovaj objekt u prikazu stabla - + Mark to recompute Označi za preračunaj - + Mark this object to be recomputed Označi ovaj objekt da se preračuna - + To python console Python konzola - + Reveals this object and its subelements in the python console. Otkriva ovaj objekt i njegove subelements u python konzoli. - + Duplicate subshape Dupliciraj pod-oblik - + Creates a standalone copy of this subshape in the document Stvori samostalnu kopiju od ovog pod-oblika u dokumentu @@ -6457,7 +5750,7 @@ izvorno odabranim prije otvaranja ovog dijaloškog okvira Aplikacija - + Labels & Attributes Etikete i atributi @@ -6504,27 +5797,27 @@ Do you want to save your changes? PDF Datoteka - + untitled[*] Bez imena[*] - + - Editor - Urednik - + %1 chars removed %1 znakova uklonjeno - + %1 chars added %1 znakova dodano - + Formatted Oblikovano @@ -6548,13 +5841,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Odaberite datoteku - + Select a directory Odaberite direktorij @@ -6562,13 +5855,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Spremi kao - - + + Open Otvori @@ -6576,12 +5869,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Produženo - + All files (*.*) Sve datoteke (*.*) @@ -6589,27 +5882,27 @@ Do you want to save your changes? Gui::Flag - + Top left Gore lijevo - + Bottom left Dolje lijevo - + Top right Gore desno - + Bottom right Dolje desno - + Remove Ukloniti @@ -6617,22 +5910,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Dodirnite. Ili kliknite lijevom tipkom miša. - + Drag screen with two fingers OR press right mouse button. Povucite zaslon s dva prsta. Ili pritisnite desnu tipku miša. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Povuci radnu površinu sa jednim prstom ili pritisni lijevu tipku miša. U crtaču i u drugim modovima uređivanja pritisni dodatno Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pinch (stavi dva prsta na ekran i razdvoji /približi ih) ili pomakni točkić miša ili pritisni na PgUp/PgDown na tipkovnici. @@ -6640,74 +5933,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz nije pronađen - + Graphviz couldn't be found on your system. Graphviz nije pronađen u sustavu. - + Read more about it here. Više o tome pročitajte ovdje. - + Do you want to specify its installation path if it's already installed? Želite li navesti svoj instalacijski put ako je već instaliran? - + Graphviz installation path Grpahviz instalacijska putanja - + Graphviz failed Graphviz nije uspio - + Graphviz failed to create an image file Graphviz nije uspio pronaći datoteku slike - + PNG format PNG format - + Bitmap format Bitmap format - + GIF format GIF format - + JPG format JPG format - + SVG format SVG format - - + + PDF format PDF format - - + + Export graph Izvoz grafikona @@ -6715,12 +6008,12 @@ Do you want to save your changes? Gui::InputField - + Edit Uredi - + Save value Spremi vrijednost @@ -6728,22 +6021,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Pritisnite CTRL i lijevu tipku miša - + Press middle mouse button Pritisnite srednju tipku miša - + Press left mouse button Pritisnite lijevu tipku miša - + Scroll middle mouse button Kotrljajte kotačić na mišu @@ -6751,7 +6044,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Popis @@ -6759,66 +6052,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Korisnički definirano... - + - - + + Wrong direction Pogrešan smjer - + - - + + Direction must not be the null vector Smjer ne smije biti nula @@ -6826,22 +6119,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Smjer: @@ -6849,17 +6142,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Makronaredbe - + Macro file doesn't exist Makro datoteke ne postoji - + No such macro file: '%1' Nema takve makronaredbe datoteke: '%1 ' @@ -6867,66 +6160,76 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Dimenzija - + Ready Spreman - + Help addon needed! Potreban je dodatak za pomoć! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Sustavom pomoći %1 sada upravlja dodatak "Pomoć". Jednostavno se može instalirati putem Upravitelj dodataka - + Open Addon Manager Otvori Upravitelj dodataka - + Close All Zatvori sve - - + + Toggles this toolbar Uključuje ove alatne trake - - + + Toggles this dockable window Uključuje ovaj usidrivi prozor - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document Nespremljeni dokument - + The exported object contains external link. Please save the documentat least once before exporting. Izvezeni objekt sadrži vanjsku poveznicu. Prije izvoza spremite dokument barem jednom. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Za povezivanje s vanjskim objektima dokument se mora barem jednom spremiti. @@ -6937,63 +6240,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment učno poravnavanje - + The alignment is already in progress. Poravnavanje se trenutno izvršava. - + Alignment[*] Poravnavanje[*] - + Please, select at least one point in the left and the right view Molimo odaberite barem jedan vrh sa lijeve i desne strane - + Please, select at least %1 points in the left and the right view Molimo odaberite barem jedan %1 vrh sa lijeve i desne strane - + Please pick points in the left and right view Molimo odaberite točke sa lijeve i desne strane - + The alignment has finished Poravnavanje dovršeno - + The alignment has been canceled Poravnavanje otkazano - - + + Too few points picked in the left view. At least %1 points are needed. Premalo točaka je odabrano sa lijeve strane. Barem %1 je potrebno. - - + + Too few points picked in the right view. At least %1 points are needed. Premalo točaka je odabrano sa desne strane. Barem %1 je potrebno. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -7002,59 +6305,59 @@ Lijevo je odabrano %1 vrhova, Desno je odabrano %2 vrhova. - + Try to align group of views Pokušaj poravnati grupe pogleda - + The alignment failed. How do you want to proceed? Poravnavanje nije uspjelo. Kako želite nastaviti? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Različit broj vrhova je odabran sa lijeve strane. Lijevo je odabrano %1 vrhova, a desno je odabrano %2 vrhova. - + Point_%1 Točka_%1 - + Point picked at (%1,%2,%3) Odabran vrh (%1, %2, %3) - + No point was found on model Nema pronađene točke na modelu - + No point was picked Ni jedan vrh nije odabran - + &Align &Podesi - + &Remove last point &Uklanjanje zadnje točke - + &Cancel &Otkaži - + &Synchronize views &Sinhroniziraj poglede @@ -7062,22 +6365,22 @@ Kako želite nastaviti? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Dodirnite. Ili kliknite lijevom tipkom miša. - + Drag screen with two fingers OR press ALT + middle mouse button. Povucite zaslon s dva prsta. Ili pritisnite ALT + srednji miš gumb. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Povucite zaslon s jednim prstom. Ili pritisnite ALT + lijevi gumb miša. U crtaču i drugim načinima uređivanja, držite tipku Alt za dodavanje. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Prstohvat (Stavite dva prsta na zaslon i povucite ih jedan od drugoga) Ili pomaknite srednji gumb miša. Ili PgUp/PgDown tipke na tipkovnici. @@ -7085,7 +6388,7 @@ Kako želite nastaviti? Gui::ModifierLineEdit - + Press modifier keys Pritisnite modifikacijske tipke @@ -7101,22 +6404,22 @@ Kako želite nastaviti? Gui::OpenCascadeNavigationStyle - + Press left mouse button Pritisnite lijevu tipku miša - + Press CTRL and middle mouse button Pritisnite CTRL, i srednji miš gumb - + Press CTRL and right mouse button Pritisnite CTRL, i desni miš gumb - + Press CTRL and left mouse button Pritisnite CTRL i lijevu tipku miša @@ -7124,24 +6427,24 @@ Kako želite nastaviti? Gui::OpenSCADNavigationStyle - + Press left mouse button Pritisnite lijevu tipku miša - + Press right mouse button and move mouse Pritisnite desnu tipku miša i pomaknite miš - + Press left mouse button and move mouse Pritisnite lijevu tipku miša i pomaknite miš - + Press middle mouse button or SHIFT and right mouse button Pritisnite srednju tipku miša ili SHIFT i desnu tipku miša @@ -7149,17 +6452,17 @@ Kako želite nastaviti? Gui::PrefQuantitySpinBox - + Edit Uredi - + Save value Spremi vrijednost - + Clear list Očisti popis @@ -7190,12 +6493,12 @@ Kako želite nastaviti? Preostalo: %1 - + Aborting Odustani - + Do you really want to abort the operation? Želite li zaista prekinuti operaciju? @@ -7203,7 +6506,7 @@ Kako želite nastaviti? Gui::PropertyEditor::LinkLabel - + Change the linked object Promjena povezanog objekta @@ -7211,12 +6514,12 @@ Kako želite nastaviti? Gui::PropertyEditor::LinkSelection - + Error Pogreška - + Object not found Objekt nije pronađen @@ -7287,13 +6590,13 @@ Kako želite nastaviti? Gui::PropertyView - + View Pregled - + Data Podaci @@ -7340,77 +6643,77 @@ Do you want to exit without saving your data? Neobrađena nepoznata C++ iznimka. - + &Copy &Kopiraj - + &Copy command &Kopiraj naredba - + &Copy history &Kopiraj povijest - + Save history as... Spremi povijest kao ... - + Save history Spremi povijest - + Saves Python history across %1 sessions Spremi povijest Pythona u %1 sesiji - + &Paste &Zalijepi - + Select All Označi sve - + Clear console Makni konsolu - + Insert file name... Umetni ime datoteke ... - + Word wrap Automatsko dovršavanje - + Save History Spremi povijest - + Macro Files Makro Datoteke - + Insert file name Umetni ime datoteke - + All Files Sve datoteke @@ -7418,7 +6721,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Komentar @@ -7431,17 +6734,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Otvoriti datoteku %1 - + File not found Datoteka nije pronađena - + The file '%1' cannot be opened. Datoteka '%1' ne može biti otvorena. @@ -7449,22 +6752,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none nijedan - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Pokreni makro %1 (Shift+klik za uređivanje) tipkovnički prečac: %2 - + File not found Datoteka nije pronađena - + The file '%1' cannot be opened. Datoteka '%1' ne može biti otvorena. @@ -7472,22 +6775,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Pritisnite lijevu tipku miša - + Press middle mouse button Pritisnite srednju tipku miša - + Press SHIFT and middle mouse button Pritisnite tipku SHIFT i srednju tipku miša - + Scroll middle mouse button Kotrljajte kotačić na mišu @@ -7518,17 +6821,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Odaberite modul - + Open %1 as Otvori %1 kao - + Select Odaberite @@ -7597,13 +6900,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Automatska dokumentacija python modula - - + + Opens a browser to show the Python modules documentation Otvara se preglednik za pokazati dokumentaciju Python modula @@ -7756,38 +7059,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Tekst ažuriran - + The text of the underlying object has changed. Discard changes and reload the text from the object? Tekst podloge objekta se promijenio. Odbaci promjene i ponovno učitajte tekst iz objekta? - + Yes, reload. Da, ponovno učitati. - + Unsaved document Nespremljeni dokument - + Do you want to save your changes before closing? Želite li spremiti promjene prije zatvaranja? - + If you don't save, your changes will be lost. Ako ne spremite, vaše promjene bit će izgubljene. - - + + Edit text Uredi tekst @@ -7795,22 +7098,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Pritisnite lijevu tipku miša - + Press middle mouse button Pritisnite srednju tipku miša - + Press right mouse button Pritisni desno dugme miša - + Scroll middle mouse button Kotrljajte kotačić na mišu @@ -7818,22 +7121,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Pritisnite lijevu tipku miša - + Press SHIFT button Pritisni SHIFT - + Press ALT button Pritisni ALT - + Press CTRL and SHIFT buttons Pritisnite tipke CTRL i SHIFT tipke @@ -8059,7 +7362,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Pogled hijerarhije @@ -8067,7 +7370,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Pretraživanje @@ -8075,185 +7378,185 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Pretraživanje... - + Search for objects Potraga za objektima - + Activate document Aktiviraj dokument - + Activate document %1 Aktiviraj dokument %1 - + Tree settings Postavke Stabla - + Show description column Prikaži opisni stupac - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Prikaži dodatni stupac prikaza stabla za opis stavke. Opis stavke može se postaviti pritiskom na F2 (ili gumb za uređivanje vašeg OS-a) ili uređivanjem svojstva 'label2'. - + Group Grupa - + Labels & Attributes Etikete i atributi - + Description Opis - + Show items hidden in tree view Prikaži elemente skrivene u prikazu stabla - + Show items that are marked as 'hidden' in the tree view Prikaži elemente koji su označeni kao 'skriveni' u prikazu stabla - + Toggle visibility in tree view Prebaci vidljivost u prikazu stabla - + Toggles the visibility of selected items in the tree view Prebaci vidljivost označenih stavki u prikazu stabla - + Create group... Napravi grupu ... - + Create a group Napravite grupu - - + + Rename Preimenuj - + Rename object Preimenovanje objekta - + Finish editing Završi uređivanje - + Finish editing object Završi uređivanje objekta - + Add dependent objects to selection Dodajte ovisne objekte odabiru - + Adds all dependent objects to the selection Dodaje sve ovisne objekte odabiru - + Close document Zatvori dokument - + Close the document Zatvori dokument - + Reload document Dokument ponovo učitati - + Reload a partially loaded document Učitajte ponovo djelomično učitan dokument - + Skip recomputes Preskoči recomputes - + Enable or disable recomputations of document Omogućavanje ili onemogućavanje recomputations dokumenta - + Allow partial recomputes Djelomično omogući preračunavanje - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Omogućite ili onemogućite ponovno računanje objekta uređivanja kada je omogućeno 'preskoči ponovno računanje' - + Mark to recompute Označi za preračunaj - + Mark this object to be recomputed Označi ovaj objekt da se preračuna - + Recompute object Ponovno računanje objekta - + Recompute the selected object Ponovno računanje odabranog objekta - + (but must be executed) (ali mora biti izvršen) - + %1, Internal name: %2 %1, Interni naziv: %2 @@ -8284,12 +7587,12 @@ Do you want to specify another directory? PDF Datoteka - + Opening file failed Otvaranje dokumenta nije uspjelo - + Can't open file '%1' for writing. Ne mogu otvoriti dokument '%1' za ispis. @@ -8297,7 +7600,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Odaberite '%1' radni stol @@ -8305,37 +7608,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Usluge - + Hide %1 Sakrij %1 - + Hide Others Sakrij Ostale - + Show All Prikaži sve - + Preferences... Postavke... - + Quit %1 Izađi %1 - + About %1 O %1 @@ -8355,11 +7658,6 @@ Do you want to specify another directory? Position - - - Form - Obrazac - X: @@ -8454,14 +7752,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Neispravan unos - - + + Input in line %1 is not a number Ono što se umeće u liniju %1 nije broj @@ -8469,37 +7767,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Pogled hijerarhije - + Property view Prikaz svojstava - + Selection view Pregled selekcije - + Combo View Kombinirani pregled - + DAG View DAG pogled - + Report view Pregled izvještaja - + Python console Python konzola @@ -8512,31 +7810,32 @@ Do you want to specify another directory? QObject - - + + General Općenito - - + + + Display Prikaz - + Workbenches Radne površine - - - + + + Python Python @@ -8564,17 +7863,27 @@ Do you want to specify another directory? Ne mogu spremiti nepoznatu vrstu datoteke: %1 - + Workbench failure Workbench neuspjeh - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Iznimka @@ -8620,8 +7929,8 @@ Do you want to specify another directory? Izvoz PDF ... - + Unsaved document Nespremljeni dokument @@ -8643,32 +7952,32 @@ Do you want to specify another directory? Pogreška ovisnosti - + Copy selected Kopira odabrano - + Copy active document Kopira aktivni dokument - + Copy all documents Kopira sve dokumente - + Paste Umetni - + Expression error Pogreška izraza - + Failed to parse some of the expressions. Please check the Report View for more details. Analiza nekih izraza nije uspjela. @@ -8676,7 +7985,7 @@ Molimo provjerite Pregled izvještaja za više pojedinosti. - + Failed to paste expressions Umetanje izraza nije uspjelo @@ -8712,224 +8021,224 @@ Be aware the point where you click matters. Pazite jer točke odabira utječu. - - + + Save views... Spremi poglede ... - - + + Load views... Učitavanje pregleda ... - - + + Freeze view Zamrzni pogled - - + + Clear views Obriši poglede - - - + + + Restore view &%1 Vrati pogled &%1 - + Save frozen views Spremi smrznute poglede - - + + Frozen views Smrznuti pogled - - + + Restore views Vraćanje pogleda - + Importing the restored views would clear the already stored views. Do you want to continue? Uvoz obnovljena pogleda bi obrisao već pohranjene poglede. Želite li nastaviti? - + Restore frozen views Vraćanje smrznutih pogleda - + Cannot open file '%1'. Ne mogu otvoriti datoteku '%1'. - + files datoteke - + Save image Spremi sliku - + Choose an image file to open Odaberite koju ce te sliku otvoriti - + New sub-group Nova podgrupa - - - - - - + + + + + + Enter the name: Unesite naziv: - - + + New text item Nova tekst jedinica - - + + Enter your text: Unesite tekst: - - + + New integer item Nova integer jedinica - - - - - - + + + + + + Enter your number: Unesite broj: - - + + New unsigned item Nova unsigned jedinica - - + + New float item Nova float jedinica - + New Boolean item Nova Boolean jedinica - - + + Choose an item: Izaberite jedinicu: - + New boolean item Nova boolean jedinica - + Rename group Preimenuj grupu - + The group '%1' cannot be renamed. Grupa '%1' ne može biti preimenovana. - + Existing group Postojeća grupa - + The group '%1' already exists. Grupa '%1' već postoji. - - - - - + + + + + Change value Promjena vrijednosti - + Type Tip - + Notifier Obavještavač - + Message Poruka - + Notifier: Obavještavač: - + Do you want to skip confirmation of further critical message notifications while loading the file? Želite li preskočiti potvrdu daljnjih obavijesti o kritičnim porukama tijekom učitavanja datoteke? - + Critical Message Kritična poruka - + Too many opened non-intrusive notifications. Notifications are being omitted! Previše otvorenih nenametljivih obavijesti. Obavijesti se izostavljaju! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8938,46 +8247,46 @@ Do you want to continue? - + Are you sure you want to continue? Jeste li sigurni da želite nastaviti? - + Please check report view for more... Molimo provjerite prikaz izvješća za više ... - + Physical path: Fizički put: - - + + Document: Dokument: - - + + Path: Put: - + Identical physical path Identičan fizički put - + Could not save document Ne mogu spremiti dokument - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8990,105 +8299,105 @@ Would you like to save the file with a different name? Želite li datoteku spremiti pod drugim imenom? - - - + + + Saving aborted Spremanje prekinuto - + Save dependent files Spremite ovisne datoteke - + The file contains external dependencies. Do you want to save the dependent files, too? Datoteka sadrži vanjske ovisnosti. Želite li spremiti i ovisne datoteke? - - + + Saving document failed Spremanje dokumenta nije uspjelo - + Save document under new filename... Spremi dokument pod novim imenom ... - - + + Save %1 Document Spremi %1 dokument - + Document Dokument - - + + Failed to save document Spremanje dokumenta nije uspjelo - + Documents contains cyclic dependencies. Do you still want to save them? Dokumenti sadrže cikličke ovisnosti. Želite li ih još spremiti? - + Save a copy of the document under new filename... Spremanje kopije dokumenta pod novi naziv datoteke... - + %1 document (*.FCStd) %1 dokument (*.FCStd) - + Document not closable Dokument nije moguće zatvoriti - + The document is not closable for the moment. Dokument trenutno nije moguće zatvoriti. - + Document not saved Dokument nije spremljen - + The document%1 could not be saved. Do you want to cancel closing it? Dokument%1 nije bilo moguće spremiti. Želite li otkazati zatvaranje? - + Undo Poništi promjenu - + Redo Vrati - + There are grouped transactions in the following documents with other preceding transactions U sljedećim dokumentima su grupirane transakcije s ostalim prethodnim transakcijama - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9103,95 +8412,95 @@ Odaberite "Prekini" za prekid Spremi Makro - - + + Finish Završiti - - + + Clear Brisanje - - - + + + Cancel Otkazati - + Inner Unutrašnji - + Outer Vanjski - + Split Razdjeli - - + + No Browser Nema preglednika - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. Nije moguće otvoriti pregledniku. Molimo vas da otvorite prozor preglednika i unesete: http://localhost:%1. - + No Server Nema Servera - + Unable to start the server to port %1: %2. Nije moguće pokrenuti poslužitelja na portu %1: %2. - + Unable to open your system browser. Ne mogu otvoriti vaš preglednik sustava. - + Options... Opcije ... - + Out of memory Bez memorije - + Not enough memory available to display the data. Nema dovoljno dostupne memorije za prikaz podataka. - - + + Cannot find file %1 Ne mogu pronaći datoteku %1 - + Cannot find file %1 neither in %2 nor in %3 Ne mogu pronaći datoteku %1 niti u %2 niti u %3 - + Navigation styles Načini navigacije @@ -9201,8 +8510,8 @@ Please open a browser window and type in: http://localhost:%1. Premjesti primjedbu - - + + Transform Transformiraj @@ -9212,42 +8521,42 @@ Please open a browser window and type in: http://localhost:%1. Želite li zatvoriti ovaj dijalog? - + Do you want to save your changes to document '%1' before closing? Želite li spremiti promjene u dokumentu '%1' prije zatvaranja? - + Do you want to save your changes to document before closing? Želite li spremiti promjene u dokumentu prije zatvaranja? - + If you don't save, your changes will be lost. Ako ne spremite, vaše promjene bit će izgubljene. - + Apply answer to all Primijenite odgovor na sve - + %1 Document(s) not saved %1 dokument(a) nije spremljeno - + Some documents could not be saved. Do you want to cancel closing? Neke dokumente nije bilo moguće spremiti. Želite li otkazati zatvaranje? - + Delete macro Brisanje makro - + Not allowed to delete system-wide macros Ne možete izbrisati cijeli sustav makronaredbe @@ -9257,27 +8566,27 @@ Please open a browser window and type in: http://localhost:%1. Izvornik - + Delete group content? Brisanje skupine sadržaja? - + The %1 is not empty, delete its content as well? %1 nije prazan, izbrisati njegov sadržaj? - + Translation: Translacija: - + Rotation: Rotacija: - + Toggle active part Uključivanje/isključivanje aktivnog tijela @@ -9340,88 +8649,88 @@ Please open a browser window and type in: http://localhost:%1. Uvoz svih poveznica nije uspio - - + + Invalid name Nevažeće ime - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Naziv svojstva ili naziv grupe mora sadržavati samo abecedne i brojevne znakove i podcrtavanje, ne smije se započeti s znamenkom. - + The property '%1' already exists in '%2' Svojstvo '%1' već postoji u '%2' - + Add property Dodaj svojstvo - + Failed to add property to '%1': %2 Nije moguće dodati svojstvo u '%1':%2 - - + + Drag & drop failed Povlačenje i ispuštanje nije uspjelo - + Setup configurable object Postavljanje konfigurabilnog objekta - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Odaberite koji objekt želite kopirati ili isključiti kada se promijeni konfiguracija. Svi vanjski povezani objekti isključeni su prema zadanim postavkama. - + Please select which objects to copy when the configuration is changed Odaberite koje objekte želite kopirati kada se konfiguracija promijeni - + Apply to all Primijeni na sve - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Primijeni postavku na sve veze. Ili poništite ovu mogućnost, primjena samo na ovu vezu. - + Copy on change Kopirajte kod promjene - + Enable Omogući - + Enable auto copy of linked object when its configuration is changed Omogući automatsko kopiranje povezanog objekta kada se promijeni njegova konfiguracija - + Tracking Praćenje - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9429,17 +8738,17 @@ Also auto redo the copy if the original linked object is changed. Također automatski ponovi kopiju ako se promijeni izvorni povezani objekt. - + Disable copy on change Onemogući kopiranje pri promjeni - + Refresh configurable object Osvježi konfigurabilni objekt - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9449,28 +8758,28 @@ stvaranja nove duboke kopije. Imajte na umu da sve promjene unesene u trenutnu kopiju će biti izgubljene. - + Toggle array elements Prebaci matricu elemenata - + Change whether show each link array element as individual objects Promijenite želite li prikazati svaki element niza veza kao pojedinačne objekte - + Transform at the origin of the placement Transformirajte u ishodištu položaja - - + + Override colors... Nadjačava boje... - + Edit %1 Uređivanje %1 @@ -9493,12 +8802,12 @@ trenutnu kopiju će biti izgubljene. SelectionFilter - + Not allowed: Nije dopušteno: - + Selection not allowed by filter Izbor nije dozvoljen kod ovog filtera @@ -9506,9 +8815,9 @@ trenutnu kopiju će biti izgubljene. StdBoxElementSelection - - - + + + Box element selection Odabir elemenata okvira @@ -9516,13 +8825,13 @@ trenutnu kopiju će biti izgubljene. StdBoxSelection - + Box selection Pravokutno odabiranje - - + + Activate the box selection tool Aktiviraj alat za okvir odabira @@ -9600,13 +8909,13 @@ trenutnu kopiju će biti izgubljene. StdCmdAxisCross - + Toggle axis cross Pokaži ishodište - - + + Turns on or off the axis cross at the origin Uključi/Isključi koordinatni sustav u koordinatnom početku @@ -9712,13 +9021,13 @@ trenutnu kopiju će biti izgubljene. StdCmdDemoMode - + View turntable... Prikaži okretnicu... - - + + View turntable Prikaži okretnicu @@ -9838,13 +9147,13 @@ trenutnu kopiju će biti izgubljene. StdCmdDrawStyle - + Draw style Stil crtanja - - + + Change the draw style of the objects Promijenite stil crtanja objekata @@ -9910,13 +9219,13 @@ trenutnu kopiju će biti izgubljene. StdCmdExpression - + Expression actions Radnje izražavanja - - + + Actions that apply to expressions Radnje koje se primjenjuju na izraze @@ -10035,13 +9344,13 @@ trenutnu kopiju će biti izgubljene. StdCmdFreezeViews - + Freeze display Zamrzni prikaz - - + + Freezes the current view position Zamrzni trenutni položaj Pogleda @@ -10062,13 +9371,13 @@ trenutnu kopiju će biti izgubljene. StdCmdHideObjects - + Hide all objects Sakrij sve objekte - - + + Hide all objects in the document Sakrij sve objekte u dokument @@ -10076,13 +9385,13 @@ trenutnu kopiju će biti izgubljene. StdCmdHideSelection - + Hide selection Sakrij odabir - - + + Hide all selected objects Sakrij sve odabrane objekte @@ -10359,13 +9668,13 @@ trenutnu kopiju će biti izgubljene. StdCmdMeasureDistance - + Measure distance Mjerenje udaljenosti - - + + Activate the distance measurement tool Aktiviraj alat za mjerenje udaljenosti @@ -10424,8 +9733,8 @@ trenutnu kopiju će biti izgubljene. Kreira novi prazni dokument - - + + Unnamed Neimenovano @@ -10653,8 +9962,8 @@ trenutnu kopiju će biti izgubljene. StdCmdRecentFiles - Recent files - Nedavne datoteke + Open Recent + Open Recent @@ -10796,13 +10105,13 @@ trenutnu kopiju će biti izgubljene. StdCmdSceneInspector - + Scene inspector... Pregled scene... - - + + Scene inspector Pregled scene @@ -10810,13 +10119,13 @@ trenutnu kopiju će biti izgubljene. StdCmdSelBack - + &Back &Natrag - - + + Go back to previous selection Vratite se na prethodni odabir @@ -10824,13 +10133,13 @@ trenutnu kopiju će biti izgubljene. StdCmdSelBoundingBox - + &Bounding box &Granični okvir - - + + Show selection bounding box Prikaži odabir Graničnog okvira @@ -10838,13 +10147,13 @@ trenutnu kopiju će biti izgubljene. StdCmdSelForward - + &Forward &Naprijed - - + + Repeat the backed selection Ponovite podržani izbor @@ -10866,13 +10175,13 @@ trenutnu kopiju će biti izgubljene. StdCmdSelectVisibleObjects - + Select visible objects Odaberi vidljive objekte - - + + Select visible objects in the active document Odaberite vidljive objekte u aktivnom dokumentu @@ -10894,13 +10203,13 @@ trenutnu kopiju će biti izgubljene. StdCmdSetAppearance - + Appearance... Izgled... - - + + Sets the display properties of the selected object Postavlja prikaz svojstava odabranog objekta @@ -10908,13 +10217,13 @@ trenutnu kopiju će biti izgubljene. StdCmdShowObjects - + Show all objects Prikaži sve objekte - - + + Show all objects in the document Prikazuje sve objekte u dokument @@ -10922,13 +10231,13 @@ trenutnu kopiju će biti izgubljene. StdCmdShowSelection - + Show selection Prikaži odabir - - + + Show all selected objects Prikazuje sve odabrane objekte @@ -10964,13 +10273,13 @@ trenutnu kopiju će biti izgubljene. StdCmdTextureMapping - + Texture mapping... Mapiranje tekstura ... - - + + Texture mapping Mapiranje tekstura @@ -11006,13 +10315,13 @@ trenutnu kopiju će biti izgubljene. StdCmdToggleClipPlane - + Clipping plane Ravni isječak - - + + Toggles clipping plane for active view Uključuje ravni isječak za aktivan prikaz @@ -11020,13 +10329,13 @@ trenutnu kopiju će biti izgubljene. StdCmdToggleNavigation - + Toggle navigation/Edit mode Toggle navigacija / Edit modu - - + + Toggle between navigation and edit mode Šetanje između navigacije i način za uređivanje @@ -11034,13 +10343,13 @@ trenutnu kopiju će biti izgubljene. StdCmdToggleObjects - + Toggle all objects Uključi / isključi sve objekte - - + + Toggles visibility of all objects in the active document Uključuje/isključuje vidljivost svih objekata u aktivnom dokumentu @@ -11048,13 +10357,13 @@ trenutnu kopiju će biti izgubljene. StdCmdToggleSelectability - + Toggle selectability Uklj/isklj mogućnost odabira - - + + Toggles the property of the objects to get selected in the 3D-View Uključiuje/isključuje mogućnost odabira objekta u 3D prikazu svojstava @@ -11062,13 +10371,13 @@ trenutnu kopiju će biti izgubljene. StdCmdToggleVisibility - + Toggle visibility Promjeni vidljivost - - + + Toggles visibility Uključuje/isključuje vidljivost @@ -11118,13 +10427,13 @@ trenutnu kopiju će biti izgubljene. StdCmdTreeCollapse - + Collapse selected item Sažmi odabranu stavku - - + + Collapse currently selected tree items Sažmi trenutno odabrane stavke stabla @@ -11132,13 +10441,13 @@ trenutnu kopiju će biti izgubljene. StdCmdTreeExpand - + Expand selected item Proširi odabrane stavke - - + + Expand currently selected tree items Proširi trenutno odabrane stavke stabla @@ -11146,13 +10455,13 @@ trenutnu kopiju će biti izgubljene. StdCmdTreeSelectAllInstances - + Select all instances Odaberite sve instance - - + + Select all instances of the current selected object Odaberite sve instance trenutno odabranog objekta @@ -11160,13 +10469,13 @@ trenutnu kopiju će biti izgubljene. StdCmdTreeViewActions - + TreeView actions Akcije Stabla pogleda - - + + TreeView behavior options and actions Opcije ponašanja i radnje Stabla pogleda @@ -11230,13 +10539,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewBottom - + Bottom Ispod - - + + Set to bottom view Postavite pogled od dolje @@ -11244,13 +10553,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewCreate - + Create new view Napravi novi pogled - - + + Creates a new view window for the active document Stvara novi prozor prikaza za aktivni dokument @@ -11258,13 +10567,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewDimetric - + Dimetric Dvometrički - - + + Set to dimetric view Postavlja na dijametralan pogled @@ -11272,13 +10581,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewExample1 - + Inventor example #1 Inventor primjer #1 - - + + Shows a 3D texture with manipulator Pokazuje 3D teksturu sa manipulatorom @@ -11286,13 +10595,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewExample2 - + Inventor example #2 Inventor primjer #2 - - + + Shows spheres and drag-lights Pokazuje sferu i pomicanje svjetla @@ -11300,13 +10609,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewExample3 - + Inventor example #3 Inventor primjer #3 - - + + Shows a animated texture Pokazuje animirane teksture @@ -11314,13 +10623,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewFitAll - + Fit all Prikaži sve - - + + Fits the whole content on the screen Prikazuje sav sadržaj na zaslonu @@ -11328,13 +10637,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewFitSelection - + Fit selection Prikaži odabir - - + + Fits the selected content on the screen Prikazuje odabrani sadržaj na zaslonu @@ -11342,13 +10651,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewFront - + Front Ispred - - + + Set to front view Postavlja pogled sprijeda @@ -11356,13 +10665,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewHome - + Home Početna - - + + Set to default home view Postavite zadani početni prikaz @@ -11372,13 +10681,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewIsometric - + Isometric Izometrički - - + + Set to isometric view Postavlja na izometrički pogled @@ -11386,13 +10695,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewIvIssueCamPos - + Issue camera position Upit za položaj kamere - - + + Issue the camera position to the console and to a macro, to easily recall this position Sprema poziciju kamere na konzolu i makro, radi lakšeg vraćanja na ovaj pogled @@ -11400,13 +10709,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereo Interleaved Kolumne - - + + Switch stereo viewing to Interleaved Columns Prebaci stereo gledanje na Interleaved stupce @@ -11414,13 +10723,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Stereo Interleaved redak - - + + Switch stereo viewing to Interleaved Rows Prebaci stereo gledanje na retke Interleaved @@ -11428,13 +10737,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewIvStereoOff - + Stereo Off Stereo Off - - + + Switch stereo viewing off Prebacite stereo gledanje off @@ -11442,13 +10751,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo quad tampon - - + + Switch stereo viewing to quad buffer Prebaci stereo gledanje na quad tampon @@ -11456,13 +10765,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereotip crvene/cijan - - + + Switch stereo viewing to red/cyan Stereo gledanja prebaciti crvene/cijan @@ -11470,13 +10779,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewLeft - + Left Lijevo - - + + Set to left view Postavlja pogled s lijeve strane @@ -11484,13 +10793,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewRear - + Rear Iza - - + + Set to rear view Postavlja pogled sa stražnje strane @@ -11512,13 +10821,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewRight - + Right Desno - - + + Set to right view Postavlja pogled sa desne strane @@ -11526,13 +10835,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewRotateLeft - + Rotate Left Zaokreni lijevo - - + + Rotate the view by 90° counter-clockwise Zakrenite pogled za 90 ° u smjeru suprotnom od kazaljke na satu @@ -11540,13 +10849,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewRotateRight - + Rotate Right Zaokreni desno - - + + Rotate the view by 90° clockwise Zakrenite pogled za 90 ° u smjeru od kazaljke na satu @@ -11568,13 +10877,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewTop - + Top Gore - - + + Set to top view Postavlja pogled sa gornje strane @@ -11582,13 +10891,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewTrimetric - + Trimetric Trimetrički - - + + Set to trimetric view Postavlja na pogled u tri točke @@ -11596,13 +10905,13 @@ trenutnu kopiju će biti izgubljene. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Proširi FreeCAD 3D prozor na Oculus Rift @@ -11666,13 +10975,13 @@ trenutnu kopiju će biti izgubljene. StdMainFullscreen - + Fullscreen Preko cijelog ekrana - - + + Display the main window in fullscreen mode Prikaži glavni prozor na cijelom ekranu @@ -11708,13 +11017,13 @@ trenutnu kopiju će biti izgubljene. StdRecallWorkingView - + Recall working view Opozovite radni prikaz - - + + Recall previously stored temporary working view Opozovite prethodno pohranjeni privremeni radni prikaz @@ -11722,13 +11031,13 @@ trenutnu kopiju će biti izgubljene. StdStoreWorkingView - + Store working view Spremite radni prikaz - - + + Store a document-specific temporary working view Spremite privremeni radni prikaz specifičan za dokument @@ -11736,13 +11045,13 @@ trenutnu kopiju će biti izgubljene. StdTreeCollapseDocument - + Collapse/Expand Sažimati/Proširiti - - + + Expand active document and collapse all others Proširivanje aktivnog dokumenta a sve druge sažeti @@ -11750,12 +11059,12 @@ trenutnu kopiju će biti izgubljene. StdTreeDrag - + Initiate dragging Pokrenite povlačenjem - + Initiate dragging of current selected tree items Pokrenite povlačenjem odabrane stavke stabla @@ -11763,13 +11072,13 @@ trenutnu kopiju će biti izgubljene. StdTreeMultiDocument - + Multi document Više dokumenata - - + + Display all documents in the tree view Prikaži sve dokumente u pogledu grananja @@ -11777,12 +11086,12 @@ trenutnu kopiju će biti izgubljene. StdTreePreSelection - + Pre-selection Pred odabir - + Preselect the object in 3D view when mouse over the tree item Pred odaberite predmet u 3D prikazu kad mišem pređete preko stavke @@ -11790,12 +11099,12 @@ trenutnu kopiju će biti izgubljene. StdTreeRecordSelection - + Record selection Snimi odabir - + Record selection in tree view in order to go back/forward using navigation button Snimite odabir u prikazu stabla kako biste se kretali nazad/naprijed pomoću navigacijskog gumba @@ -11803,13 +11112,13 @@ trenutnu kopiju će biti izgubljene. StdTreeSelection - + Go to selection Idi na odabrane objekte - - + + Scroll to first selected item Dođite na prvu odabranu stavku @@ -11817,13 +11126,13 @@ trenutnu kopiju će biti izgubljene. StdTreeSingleDocument - + Single document Jedan dokument - - + + Only display the active document in the tree view Prikaži samo aktivni dokument u pogledu grananja @@ -11831,12 +11140,12 @@ trenutnu kopiju će biti izgubljene. StdTreeSyncPlacement - + Sync placement Sinkroniziranje položaja - + Auto adjust placement on drag and drop objects across coordinate systems Automatski prilagodite postavljanje povlačenjem i ispuštanjem objekata diljem koordinatnih sustava @@ -11845,12 +11154,12 @@ trenutnu kopiju će biti izgubljene. StdTreeSyncSelection - + Sync selection Sinkroniziranje odabira - + Auto expand tree item when the corresponding object is selected in 3D view Automatski proširi stavku stabla kad je u 3D prikazu odabran odgovarajući objekt @@ -11859,12 +11168,12 @@ trenutnu kopiju će biti izgubljene. StdTreeSyncView - + Sync view Sinkroniziranje pogleda - + Auto switch to the 3D view containing the selected item Automatski se prebaci na 3D prikaz koji sadrži odabranu stavku @@ -11872,13 +11181,13 @@ trenutnu kopiju će biti izgubljene. StdViewBoxZoom - + Box zoom Zumiranje u okvir - - + + Activate the box zoom tool Aktiviraj alat za zumiranje okvira @@ -11886,13 +11195,13 @@ trenutnu kopiju će biti izgubljene. StdViewDock - + Docked Usidren - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaz aktivnog pogleda preko cijelog zaslona, u plutajućem ili usidrenom načinu @@ -11900,13 +11209,13 @@ trenutnu kopiju će biti izgubljene. StdViewDockUndockFullscreen - + Document window Prozor dokumenta - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaz aktivnog pogleda preko cijelog zaslona, u plutajućem ili usidrenom načinu @@ -11914,13 +11223,13 @@ trenutnu kopiju će biti izgubljene. StdViewFullscreen - + Fullscreen Preko cijelog ekrana - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaz aktivnog pogleda preko cijelog zaslona, u plutajućem ili usidrenom načinu @@ -11928,13 +11237,13 @@ trenutnu kopiju će biti izgubljene. StdViewScreenShot - + Save image... Spremi sliku... - - + + Creates a screenshot of the active view Stvara sliku aktivnog pogleda @@ -11942,13 +11251,13 @@ trenutnu kopiju će biti izgubljene. StdViewUndock - + Undocked Odsidren - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaz aktivnog pogleda preko cijelog zaslona, u plutajućem ili usidrenom načinu @@ -11956,13 +11265,13 @@ trenutnu kopiju će biti izgubljene. StdViewZoomIn - + Zoom In Zumirati unutra - - + + Increase the zoom factor by a fixed amount Povećaj faktor zumiranja za fiksni iznos @@ -11970,13 +11279,13 @@ trenutnu kopiju će biti izgubljene. StdViewZoomOut - + Zoom Out Zumirati van - - + + Decrease the zoom factor by a fixed amount Smanji faktor zumiranja za fiksni iznos @@ -12011,72 +11320,72 @@ Jeste li sigurni da želite nastaviti? Std_DrawStyle - + As is Kao što je - + Normal mode Normalni mod - + Points Točke - + Points mode Način Točaka - + Wireframe Žičana mreža - + Wireframe mode Žičana mreža mod - + Hidden line Skrivene linije - + Hidden line mode Skrivena linija, način - + No shading Ako nema sjenčanja - + No shading mode Način bez sjenčanja - + Shaded Osijenčeno - + Shaded mode Način sjenčanja - + Flat lines Ravne linije - + Flat lines mode Način Ravne linije @@ -12141,32 +11450,32 @@ Molimo provjerite Pregled izvještaja za više pojedinosti. TreeParams - + Tree view item background. Only effective in overlay. Pozadina stavke stabla. Učinkovito samo u preklapanju. - + Tree view item background padding. Ispuna pozadine stavke stabla. - + Hide extra tree view column for item description. Sakrij dodatni stupac prikaza stabla za opis stavke. - + Hide tree view scroll bar in dock overlay. Sakrij traku za pomicanje prikaza stabla u dock preklapanju. - + Hide tree view header view in dock overlay. Sakrij prikaz zaglavlja stabla u dock preklapanju. - + Allow tree view columns to be manually resized. Dopusti ručno mijenjanje veličine stupaca prikaza stabla. @@ -12174,117 +11483,117 @@ Molimo provjerite Pregled izvještaja za više pojedinosti. Workbench - + &File &Datoteka - + &Edit &Uredi - + Edit Uredi - + Clipboard Međuspremnik - + Workbench Workbench - + Structure Konstrukcija - + Standard views Standardni pogledi - + Axonometric Aksonometrijski - + &Stereo &Stereo - + &Zoom &Zumiraj - + Visibility Vidljivost - + &View &Pogled - + &Tools &Alati - + &Macro &Makro naredbe - + &Windows &Prozori - + &On-line help &On-line pomoć - + &Help &Pomoć - + Help Pomoć - + File Datoteka - + Macro Makro naredbe - + View Pregled - + Special Ops Specijalne radnje - + Link actions Radnje poveznica @@ -12292,12 +11601,12 @@ Molimo provjerite Pregled izvještaja za više pojedinosti. Gui::MDIView - + Export PDF Izvoz PDF - + PDF file PDF Datoteka @@ -12305,186 +11614,180 @@ Molimo provjerite Pregled izvještaja za više pojedinosti. Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Područje obavijesti - + Settings Postavke - + The Notification area will appear in the status bar Područje obavijesti će se pojaviti na statusnoj traci - + Enable Notification Area Omogući obavijesti - + Non-intrusive notifications will appear next to the notification area in the status bar Nenametljive Obavijesti će se pojaviti pored područja obavijesti na statusnoj traci - + Enable non-intrusive notifications Omogući nenametljive obavijesti - + Additional data sources Dodatni izvori podataka - + Errors intended for developers will appear in the notification area Greške namijenjene programerima pojavit će se u području obavijesti - + Debug errors Otklanjanje pogrešaka - + Warnings intended for developers will appear in the notification area Upozorenja namijenjena programerima pojavit će se u području obavijesti - + Debug warnings Upozorenja otklanjanja pogrešaka - + Non-Intrusive Notifications Nenametljive Obavijesti - + Minimum Duration: Najmanje trajanje: - + Maximum Duration: Najveće trajanje: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Vremenski razmak tokom kojeg će se obavijesti prikazivati (osim ako se ne klikne na tipke miša) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimalni vremenski razmak tokom kojeg će se obavijest prikazivati (osim ako se ne klikne na obavijest) - + Maximum Number of Notifications: Maksimalni broj Obavijesti: - + Maximum number of notifications that will be simultaneously present on the screen Maksimalni broj obavijesti koje će biti simultano prisune na zaslonu - + Notification width: Širina Obavijesti: - + Width of the notification in pixels Širina obavijesti u pikselima - + Any open non-intrusive notifications will disappear when another window is activated Bilo koja otvorena nenametljiva Obavijest će nestati kada se aktivira drugi prozor - + Hide when other window is activated Sakrij kada se aktivira drugi prozor - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Spriječi pojavljivanje nenametljivih Obavijesti kada FreeCAD prozor nije aktivan prozor - + Do not show when inactive Ne prikazuj kada je neaktivan - + Message List Popis Poruka - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Ograničite broj poruka koje će se nalaziti u popisu. Ako je 0, nema ograničenja. - + Maximum Messages (0 = no limit): Maksimalan broj Poruka (0 = bez ograničenja): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Uklanja korisničke obavijesti sa popisa poruka nakon što istekne maksimalni nenametljivi vremenski razmak. - + Auto-remove User Notifications Automatsko uklanjanje korisničkih Obavijesti - - - Activation of the Notification Area only takes effect after an application restart. - Aktiviranje područja obavijesti stupa na snagu tek nakon ponovnog pokretanja aplikacije. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Dostupne radne površine - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Možete da promjenite redoslijed Radnih stolova prevlačenjemi ispuštanjem. Dodatni Radni stolovi mogu biti instalirani pomoću Upravitelja nadogradnji..</p><p> Trenutno tvoj sustav ima sledeće radne stolove:</p></body></html> - + Start up workbench: Otvori radnu površinu: - + Choose which workbench will be activated and shown after FreeCAD launches Odaberite koja će radna površina biti aktivirana i prikazana @@ -12492,12 +11795,12 @@ nakon pokretanja FreeCAD-a - + Workbench selector position : Položaj birača radnog stola: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12510,12 +11813,12 @@ nakon pokretanja FreeCAD-a 'Desni kut': Na traci izbornika, u desnom kutu. - + If checked, application will remember which workbench is active for each tab of the viewport Ako je označeno, aplikacija će upamtiti koja je radna ploča aktivna za svaku karticu okvira prikaza - + Remember active workbench by tab Zapamtite aktivnu radnu površinu po tab karticama @@ -12664,47 +11967,47 @@ nakon pokretanja FreeCAD-a Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Ako nije čekirano, %1 se neće pojaviti u dostupnim radnim površinama. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Ovo je trenutni modul za pokretanje i mora biti omogućen. Za promjenu pogledajte Postavke/Opće/Automatsko učitavanje. - + Shortcut to activate this workbench. Prečac za aktiviranje ove radne površine. - + Auto-load Automatsko učitavanje - + If checked, %1 will be loaded automatically when FreeCAD starts up Ako je uključeno %1 ovo će se automatski učitati kada se FreeCAD pokrene - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Ovo je trenutni modul za pokretanje i mora se automatski učitati. Za promjenu pogledajte Postavke/Općenito/Automatsko učitavanje. - + Loaded Učitano - + Load Učitaj - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Da bi sačuvao resurse, FreeCAD ne učitava radne površine dok se ne koriste. Njihovo učitavanje može da omogući pristup dodatnim podešavanjima koja se odnose na njihovu funkcionalnost. @@ -12712,17 +12015,22 @@ nakon pokretanja FreeCAD-a Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Alatna traka - + Left corner Lijevi ugao - + Right corner Desni ugao @@ -12748,12 +12056,12 @@ nakon pokretanja FreeCAD-a Gui::NotificationArea - + Delete user notifications Obriši obavijesti korisnika - + Delete All Izbriši sve @@ -12789,13 +12097,13 @@ nakon pokretanja FreeCAD-a StdViewLoadImage - + Load image... Učitaj sliku... - - + + Loads an image Učitava jednu sliku @@ -12857,10 +12165,829 @@ nakon pokretanja FreeCAD-a Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Nastala je greška - pogledaj Pregled izvješća za više informacija + + Gui::Dialog::DlgSettingsEditor + + + Editor + Urednik + + + + Options + Mogućnosti + + + + Code lines will be numbered + Redovi koda bit će numerirani + + + + Enable line numbers + Uključi brojeve redaka + + + + The cursor shape will be a block + Oblik pokazivača bit će blok + + + + Enable block cursor + Omogući blok pokazivača + + + + Enable folding + Omogući preklapanje + + + + Indentation + Uvlačenje + + + + Tab size: + Veličina kartice: + + + + Tabulator raster (how many spaces) + Raširi tabulator (koliko razmaka) + + + + Indent size: + Uvučena veličina: + + + + How many spaces will be inserted when pressing <Tab> + Koliko razmaka će biti dodano ako pritisnete <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Pritiskom na <Tab> umetnite tabulator sa definiranom tab veličinom + + + + Keep tabs + Drži kartice + + + + Pressing <Tab> will insert amount of defined indent size + Pritiskom na <Tab> umetnite količinu definirane veličine uvlačenja + + + + Insert spaces + Umetanje razmaka + + + + Display items + Prikaži stavke + + + + Color and font settings will be applied to selected type + Postavke boje i pisma primijenit će se na odabrani tip + + + + Family: + Obitelj: + + + + Font family to be used for selected code type + Obitelj slova koja se koristi za odabranu vrstu koda + + + + Size: + Veličina: + + + + Font size to be used for selected code type + Veličina slova koja se koristi za odabranu vrstu koda + + + + Color: + Boja: + + + + Preview: + Pregled: + + + + Text + Tekst + + + + Bookmark + Bookmark + + + + Breakpoint + Prijelomna točka + + + + Keyword + Kljušna riječ + + + + Comment + Komentar + + + + Block comment + Blok komentar + + + + Number + Broj + + + + String + Tekst (string) + + + + Character + Simbol + + + + Class name + Ime klase + + + + Define name + Odredite naziv + + + + Operator + Operator + + + + Python output + Python izlaz + + + + Python error + Python pogreška + + + + Current line highlight + Osvjetljenje trenutne linije + + + + Items + Jedinice + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Općenito + + + + Language and number format + Jezični i numerički format + + + + Language: + Jezik: + + + + Language of the application's user interface + Jezik korisničkog sučelja aplikacije + + + + Unit system: + Sustav jedinica: + + + + Unit system that should be used for all parts of the application + Sustav jedinica koji se treba koristiti za sve dijelove aplikacije + + + + Number of decimals: + Broj decimalnih mjesta: + + + + Number of decimals that should be shown for numbers and dimensions + Broj decimala koji bi se trebali prikazati za brojeve i dimenzije + + + + Minimum fractional inch: + Minimalni djelomični palac (inch): + + + + Minimum fractional inch to be displayed + Minimalni frakcijski inč koji se prikazuje + + + + Number format: + Brojevni format: + + + + Operating system + Operativni sustav + + + + Selected language + Odaberite jezik + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Ako je omogućeno, decimalni razdjelnik numeričke tipkovnice +bit će zamijenjen separatorom lokalizacije, osim +u Python konzoli i uređivaču makronaredbi gdje će +točka/zarez uvijek biti ispisana. + + + + Substitute decimal separator + Zamjena decimalnog razdjelnika + + + + Application + Aplikacija + + + + Theme: + Tema: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Veličina ikona alatne trake: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Odaberite željene veličine ikone na alatnoj traci. Možete prilagoditi +to prema vašoj veličini zaslona ili vašem osobnom ukusu + + + + Tree view mode: + Način prikaza stabla: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Prilagodite način prikaza stablastog pregleda na ploči +(potrebno je ponovno pokretanje). + +'ComboView': kombinirajte stablasti pregled i pregled svojstva na jednoj ploči. +'TreeView i PropertyView': stablasti pregled i pregled svojstva na zasebni panel. +"Oba": zadržite sva tri panela, a možete imati i dva prikaza od stablastog pregleda i pregleda svojstva. + + + + Size of recent file list: + Veličina popisa nedavno korištenih datoteka: + + + + How many files should be listed in recent files list + Koliko datoteka treba biti na popisu nedavnih datoteka + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Pozadina glavnog prozora (ako nije dokument otvoren) sastojat će se od pločica posebne slike. +Pojedinosti o slici potražite u FreeCAD Wiki-u. + + + + Enable tiled background + Omogućiti popločanu pozadinu + + + + The text cursor will be blinking + Pokazivač teksta će treperiti + + + + Enable cursor blinking + Omogući treperenje pokazivača + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Splash ekran je mali prozor za učitavanje koji se prikazuje +kada se FreeCAD pokreće. Ako je ova opcija potvrđena, FreeCAD će +prikazivati splash ekran + + + + Enable splash screen at start up + Omogući pozdravni zaslon pri pokretanju programa + + + + Preference packs + Paketi postavki + + + + Name + Ime + + + + Type + Tip + + + + Load + Učitaj + + + + Import config... + Uvoz konfiguracije... + + + + Save new... + Spremi novo... + + + + Manage... + Upravljati... + + + + Revert... + Vrati se... + + + + Manage preference packs + Upravljaj sa paketima postavki + + + + Small (%1px) + Malo (%1px) + + + + Medium (%1px) + Srednje (%1px) + + + + Large (%1px) + Veliki (%1px) + + + + Extra large (%1px) + Jako veliko (%1px) + + + + Custom (%1px) + Prilagođeno (%1px) + + + + Combo View + Kombinirani pregled + + + + TreeView and PropertyView + Stablasti pregled i Pregled svojstva + + + + Both + Oboje + + + + Preference Pack Name + Ime paketa postavki + + + + Tags + Oznake + + + + Apply + Primijeni + + + + Apply the %1 preference pack + Primjeni %1 paket postavki + + + + Choose a FreeCAD config file to import + Odaberite FreeCAD konfiguracijsku datoteku za uvoz + + + + File exists + Datoteka postoji + + + + A preference pack with that name already exists. Overwrite? + Postavka s ovim nazivom paketa već postoji! Prepisati? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Pregled izvještaja + + + + Output + Izlaz + + + + Normal messages will be recorded + Snimit će se uobičajene poruke + + + + + + Record normal messages + Snima normalne poruke + + + + Log messages will be recorded + Poruke dnevnika bit će zabilježene + + + + Record log messages + Snimanje log poruke + + + + Warnings will be recorded + Upozorenja bit će zabilježena + + + + Record warnings + Snimanje upozorenja + + + + Error messages will be recorded + Poruke o greškama bit će zabilježene + + + + Record error messages + Snimanje poruka o pogrešci + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Kad se dogodila pogreška, dijaloški okvir Izvještaj izvješća postaje vidljiv +na zaslonu dok prikazuje pogrešku + + + + + Show report view on error + Prikaži izvješća o pogrešci + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Kada se pojavilo upozorenje, dijaloški okvir Izvještaj izvješća postaje vidljiv +na zaslonu dok prikazuje upozorenje + + + + + Show report view on warning + Prikaži izvješća o upozorenju + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Kad se pojavila normalna poruka, dijaloški okvir za prikaz izvješća postaje vidljiv +na zaslonu dok prikazuje poruku + + + + Show report view on normal message + Prikaži pregled izvještaja u normalnoj poruci + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Kada se poruka dnevnika dogodila, dijaloški okvir Izvještaj izvješća postaje vidljiv +na zaslonu dok prikazuje poruku dnevnika + + + + + Show report view on log message + Prikaži pregled izvještaja u poruci dnevnika + + + + Include a timecode for each report + Uključite vremenski kod za svako izvješće + + + + + + Include a timecode for each entry + Uključite vremenski kod za svaki unos + + + + + + Colors + Boje + + + + Normal messages: + Normalne poruke: + + + + Font color for normal messages in Report view panel + Boja pisma za uobičajene poruke na ploči prikaza izvješća + + + + Log messages: + Log poruke: + + + + Font color for log messages in Report view panel + Boja pisma za poruke dnevnika na ploči prikaza izvješća + + + + + Warnings: + Upozorenja: + + + + Font color for warning messages in Report view panel + Boja pisma za poruke upozorenja na ploči prikaza izvješća + + + + Errors: + Pogreške: + + + + Font color for error messages in Report view panel + Boja pisma za poruke o grešci na ploči prikaza izvješća + + + + Python interpreter + Python interpreter (tumač) + + + + Internal Python output will be redirected +from Python console to Report view panel + Interni Python izlaz bit će preusmjeren +od Python konzole na ploču prikaza izvješća + + + + + Redirect internal Python output to report view + Preusmjeri interni Python izlaz na prikaz izvješća + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Interne Python poruke o grešci bit će preusmjerene +od Python konzole na ploču prikaza izvješća + + + + + Redirect internal Python errors to report view + Preusmjeravanje unutarnjih Python grešaka u prikazu pogrešaka + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Tema + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Nema lista stilova + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_hu.ts b/src/Gui/Language/FreeCAD_hu.ts index e41f0272a4..55eee51bef 100644 --- a/src/Gui/Language/FreeCAD_hu.ts +++ b/src/Gui/Language/FreeCAD_hu.ts @@ -42,29 +42,29 @@ A tulajdonság megjelenő mérete - + <empty> <üres> - - + + Angle Szög - - + + Axis Tengely - + Position Pozíció - + Enum Felsorolás @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Tesztkimenet konzol - - + + Run test cases to verify console messages Tesztek futtatása a konzolüzenetek ellenőrzésére @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Méretek törlése - + Clear all visible measurements Törölje az összes látható méretet @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Mérés ki/be kapcsolása - + Turn on or off the display of all measurements Az összes méret kijelzésének be- vagy kikapcsolása @@ -132,7 +132,7 @@ Törlés - + Paste expressions Kifejezések beszúrása @@ -182,9 +182,9 @@ Csoport hozzáadása - + Align - Igazítás + Igazít @@ -193,40 +193,40 @@ Elhelyezés - - + + Transform Átalakítás - + Toggle array elements Tömbelemek váltása - + Link Transform Átalakítások hivatkozása - + Measure distance Távolság mérés - + Toggle visibility Láthatóság váltása - + Toggle selectability Kiválaszthatóság ki-/bekapcsolása - + Edit image Kép szerkesztése @@ -234,77 +234,77 @@ CommandGroup - + File Fájl - + Edit Szerkesztés - + Help Súgó - + Link Hivatkozás - + Tools Eszközök - + View Nézet - + Window Ablak - + Standard Általános - + Macros Makrók - + Macro Makró - + Structure Felépítés - + Standard-Test Általános-teszt - + Standard-View Standard-nézet - + TreeView FaNézet - + Measure Mérés @@ -402,11 +402,6 @@ DownloadItem - - - Form - Űrlap - Ico @@ -421,42 +416,42 @@ EditMode - + Default Alapértelmezett - + The object will be edited using the mode defined internally to be the most appropriate for the object type A tárgy szerkesztése a belsőleg meghatározott, az tárgy típusnak legmegfelelőbb módban történik - + Transform Átalakítás - + The object will have its placement editable with the Std TransformManip command A tárgy elhelyezése az Std TransformManip paranccsal lesz szerkeszthető - + Cutting Vágás - + This edit mode is implemented as available but currently does not seem to be used by any object Ez a szerkesztési mód elérhető, de jelenleg úgy tűnik, hogy egyetlen tárgy sem használja - + Color Szín - + The object will have the color of its individual faces editable with the Part FaceColors command A tárgy egyes felületeinek színe a alkatrész FaceColors paranccsal lesz szerkeszthető @@ -482,7 +477,7 @@ egyik sem - + Press a keyboard shortcut A billentyűparancs megnyomása @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Elérhető: - + Selected: Kiválasztott: - + Add Hozzáad - + Remove Törlés - + Move up Mozgatás felfelé - + Move down Mozgatás lefelé @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Mozgatható tárgy - + Fixed object Rögzített tárgy @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Kérem várjon míg a helyreállítási fájl mentésre került... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Nyomja meg a bal egérgombot - + Press SHIFT and middle mouse button Nyomja le a SHIFT BILLENTYŰT, és a középső egérgombot - + Press middle mouse button Nyomja meg a középső egérgombot - + Scroll middle mouse button Görgesse a középső egérgombot @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Nyomja meg a bal egérgombot - + Press middle mouse button Nyomja meg a középső egérgombot - + Press middle+left or middle+right button Nyomja meg a középső+bal vagy a középső+jobb gombot - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Görgesse a középső egérgombot vagy a bal vagy jobb kattintással a középső gomb nyomva tartásával együtt, és mozgassa az egeret felfelé vagy lefelé @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel Mégse (&0) @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Feladat panel @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Készítők listája - + FreeCAD would not be possible without the contributions of A FreeCAD nem jöhetett volna létre az alábbi együttműködők nélkül - + Individuals Header for the list of individual people in the Credits list. Személyek - + Organizations Header for the list of companies/organizations in the Credits list. Szervezetek - - + + License - Licenc + Licensz - + Libraries Könyvtárak - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Ez a szoftver nyílt forráskódú összetevőket tartalmaz, melyeknek a szerzői jogai és egyéb szabadalmi jogai a saját jogtulajdonosáé: - + Collection Gyűjtemény @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Gyorsítótár könyvtár - + The cache directory %1 exceeds the size of %2. A(z) %1 gyorsítótárkönyvtár mérete meghaladja a következő méretet: %2. - + Do you want to clear it now? Kiüríti most? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Figyelmeztetés: Győződjön meg arról, hogy ez az %1 egyetlen példány fut, és hogy nincsenek megnyitva dokumentumok, mivel ez adatvesztést okozhat! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Kamera beállításai - + Orientation Tájolás - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Aktuális nézet @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Parancsok @@ -1116,12 +1111,12 @@ Ha ez nincs bejelölve, akkor a tulajdonságot egyedileg kell elnevezni, és úg Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Csomag már létezik - + A preference pack with that name already exists. Do you want to overwrite it? Ezzel a névvel már létezik csomag. Szeretné felülírni? @@ -1357,48 +1352,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Írja be a kereséshez... - + Icon Ikon - + Command Parancs - + Shortcut Billentyűparancs - + Default Alapértelmezett - + Name Név - + Title Cím - + All Minden - - + + none egyik sem @@ -1406,8 +1401,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Eszköztár sávok @@ -1496,40 +1491,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Szóköz> - + %1 module not loaded %1 modul nincs betöltve - + New toolbar Új eszköztár - - + + Toolbar name: Eszköztár neve: - - + + Duplicated name Ismételt név - - + + The toolbar name '%1' is already used Az '%1' eszköztár név már használatban - + Rename toolbar Eszköztár átnevezése @@ -1542,19 +1537,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Testreszabás - + &Help Súgó - + &Close Bezárás @@ -1563,13 +1558,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Térbeli mozgás - + No Spaceball Present Térbeli mozgatás nincs jelen @@ -1577,27 +1572,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Térbeli mozgatás gombjai - + No Spaceball Present Térbeli mozgatás nincs jelen - + Buttons Gombok - + Reset Alaphelyzetbe állítása - + Print Reference Nyomtatási hivatkozás @@ -1682,550 +1677,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Alapértelmezett - + Aluminium Alumínium - + Brass Sárgaréz - + Bronze Bronz - + Copper Réz - + Chrome Króm - + Emerald Smaragd - + Gold Arany - + Jade Jadezöld - + Metalized Fémes - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obszidián - + Pewter Ón - + Plaster Vakolat - + Plastic Műanyag - + Ruby Rubin - + Satin Szatén - + Shiny plastic Fényes műanyag - + Silver Ezüst - + Steel Acél - + Stone Gui::Dialog::DlgEditorSettings - - - Editor - Szerkesztő - - - - Options - Beállítások - - - - Code lines will be numbered - A kódsorok sorszámozva lesznek - - - - Enable line numbers - Sorszámozás bekapcsolása - - - - The cursor shape will be a block - A kurzor alajkja nagy blokk lesz - - - - Enable block cursor - Nagy kurzor engedélyezése - - - - Enable folding - Hajlítás bekapcsolása - - - - Indentation - Azonosítás - - - - Tab size: - Tabulátorméret: - - - - Tabulator raster (how many spaces) - Tabulátor raszter (hány szóköz) - - - - Indent size: - Azonosítási méret: - - - - How many spaces will be inserted when pressing <Tab> - Ennyi szóköz kerül beszúrva a <Tab> megnyomására - - - - Pressing <Tab> will insert a tabulator with defined tab size - A <Tab> billentyű megnyomására meghatározott méretű tabulátort szúr be - - - - Keep tabs - Tabulátorok megtartása - - - - Pressing <Tab> will insert amount of defined indent size - A <Tab> beszúrja a megadott behúzási méretet - - - - Insert spaces - Szóközök beszúrása - - - - Display items - Elemek megjelenítése - - - - Color and font settings will be applied to selected type - A kiválasztott típushoz alkalmazandó szín- és betű beállítások - - - - Family: - Szülő: - - - - Font family to be used for selected code type - A kiválasztott kód típushoz használandó betű család - - - - Size: - Méret: - - - - Font size to be used for selected code type - A kijelölt kódtípushoz használandó betűméret - - - - Color: - Szín: - - - - Preview: - Előnézet: - Program infó - - Gui::Dialog::DlgGeneral - - - General - Általános - - - - Language of the application's user interface - Az alkalmazás felhasználói felületének nyelve - - - - Number format: - Szám formátum: - - - - Operating system - Operációs rendszer - - - - Selected language - Kijelölt nyelv - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Ha engedélyezve van, a numerikus billentyűzet tizedeselválasztója -területi elválasztóval lesz helyettesítve, kivéve -a Python konzolban és a makrószerkesztőben, ahol a -pont/pont mindig ki lesz nyomtatva. - - - - Preference packs - Preferenciacsomagok - - - - Name - Név - - - - Type - Típus - - - - Load - Betöltés - - - - Import config... - Importálási konfiguráció... - - - - Save new... - Új mentése... - - - - Manage... - Kezel... - - - - Revert... - Visszaállít... - - - - How many files should be listed in recent files list - A legutóbbi file-ok listájában szereplő file-ok száma - - - - Enable tiled background - Engedélyezi a csempézett háttérképet - - - - The text cursor will be blinking - A szövegkurzor villogni fog - - - - Enable cursor blinking - Kurzor villogásának engedélyezése - - - - Style sheet: - Stíluslap: - - - - Language and number format - Nyelv és számformátum - - - - Language: - Nyelv: - - - - Unit system: - Mértékegységrendszer: - - - - Unit system that should be used for all parts of the application - Az alkalmazás minden részéhez használandó egységrendszer - - - - Number of decimals: - Tizedesjegyek száma: - - - - Number of decimals that should be shown for numbers and dimensions - A számokhoz és dimenziókhoz feltüntetendő tizedesjegyek száma - - - - Minimum fractional inch: - Legkisebb része hüvelykben/inch: - - - - Minimum fractional inch to be displayed - A megjelenítendő legkisebb tört hüvelyk - - - - Substitute decimal separator - Helyettesítő tizedeselválasztó - - - - Application - Alkalmazás - - - - Style sheet how user interface will look like - Stíluslap, hogyan fog kinézni a felhasználói felület - - - - Size of toolbar icons: - Eszköztárikonok mérete: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Válassza ki az eszköztárikon méretét. Beállíthatja, a képernyő méretének vagy a személyes ízlésnek megfelelően - - - - Tree view mode: - Fa nézet mód: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - A fanézet panelen való megjelenítésének testreszabása (újraindítás szükséges). - -"KombináltNézet": a fanézet és a tulajdonságnézet kombinálása egyetlen panelen. -'FaNézet és TulajdonságNézet': a fa nézet és a tulajdonság nézet felosztása külön panelre. -"Mindkettő": tartsa meg mindhárom panelt, és két fanézet- és tulajdonságnézetet használhat. - - - - Size of recent file list: - Legutóbbi fájlok listájának mérete: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - A főablak háttere (ha nincs megnyitva dokumentum) egy speciális kép csempéiből áll. -A képpel kapcsolatos részletekért lásd a FreeCAD Wiki-t. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - A kezdőkép egy kis betöltőablak, amely -a FreeCAD indulásakor látható. Ha ez az opció be van jelölve, a FreeCAD -megjeleníti a kezdő képet - - - - Enable splash screen at start up - Felugró ablak bekapcsolása a kezdő oldalon - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Beállításcsomagok kezelése - - - - Small (%1px) - Kicsi (%1px) - - - - Medium (%1px) - Közepes (%1px) - - - - Large (%1px) - Nagy (%1px) - - - - Extra large (%1px) - Extra nagy (%1px) - - - - Custom (%1px) - Egyéni (%1px) - - - - Combo View - Összetett nézet - - - - TreeView and PropertyView - FaNézet és TulajdonságNézet - - - - Both - Mindkettő - - - - No style sheet - Nincs stíluslap - - - - Preference Pack Name - Preferencia csomag név - - - - Tags - Címkék - - - - Apply - Alkalmaz - - - - Apply the %1 preference pack - Preferenciacsomag alkalmazása: %1 - - - - Choose a FreeCAD config file to import - Válassza ki az importálni kívánt FreeCAD konfigurációs fájlt - - - - File exists - A fájl létezik - - - - A preference pack with that name already exists. Overwrite? - Már létezik ilyen nevű preferenciacsomag. Felülírja? - - Gui::Dialog::DlgInputDialog @@ -2241,8 +1809,8 @@ megjeleníti a kezdő képet Gui::Dialog::DlgInspector - - + + Scene Inspector Jelenet felügyelő @@ -2334,71 +1902,71 @@ megjeleníti a kezdő képet Gui::Dialog::DlgMacroExecuteImp - + Macros Makrók - + Read-only Csak olvasható - + Macro file Makró fájl - + Enter a file name, please: Kérem, adja meg a fájl nevét: - - - + + + Existing file Létező fájl - + '%1'. This file already exists. '%1'. Ez a fájl már létezik. - + Cannot create file Nem lehet létrehozni a fájlt - + Creation of file '%1' failed. Nem sikerült létrehozni a '%1' fájlt. - + Delete macro Makró törlése - + Do you really want to delete the macro '%1'? Valóban törölni szeretné a '%1' nevű makrót? - + Do not show again Többé ne jelenjen meg - + Guided Walkthrough Interaktív útmutató - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2409,76 +1977,76 @@ Megjegyzés: a módosítások csak a következő munkaasztal váltásakor érvé - + Walkthrough, dialog 1 of 2 Útmutató, 1. dialógus a 2-ből - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Útmutató utasítások: Töltse ki a hiányzó mezőket (nem kötelező), majd kattintson a Hozzáadás, majd a Bezárás gombra - + Walkthrough, dialog 1 of 1 Útmutató, 1. dialógus az 1-ből - + Walkthrough, dialog 2 of 2 Útmutató, 2. dialógus a 2-ből - + Walkthrough instructions: Click right arrow button (->), then Close. Útmutató utasítások: Kattintson a jobbra nyílra (->), majd a majd a Bezárás gombra. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Útmutató utasítások: Kattintson az Új, majd a jobbra nyíl (->) gombra, majd a Bezárás gombra. - + Renaming Macro File Makró fájl átnevezése - - + + Enter new name: Adja meg az új nevet: - - + + '%1' already exists. '%1' már létezik. - + Rename Failed Átnevezés sikertelen - + Failed to rename to '%1'. Perhaps a file permission error? Sikertelen átnevezés: '%1'. Talán fájl jogosultság hiba? - + Duplicate Macro Makró másolat - + Duplicate Failed Másolás meghiúsult - + Failed to duplicate to '%1'. Perhaps a file permission error? '%1' másolása meghiúsult. @@ -2521,39 +2089,39 @@ Esetleg fájl jogosultsági hiba? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Makrórögzítő - + Specify first a place to save. Először adjon meg egy helyet a mentésnek. - + The macro directory doesn't exist. Please, choose another one. A makró könyvtár nem létezik. Kérjük, válasszon egy másikat. - + Existing macro Létező makró - + The macro '%1' already exists. Do you want to overwrite? A '%1' makró már létezik. Szeretné felülírni? - + You have no write permission for the directory. Please, choose another one. A könyvtárhoz nincs írási engedélye. Válasszon egy másikat. - + Choose macro directory Válassza ki a makró könyvtárat @@ -2626,12 +2194,12 @@ Esetleg fájl jogosultsági hiba? HTML fájlok - + Access denied Hozzáférés megtagadva - + Access denied to '%1' Specify another directory, please. @@ -2686,7 +2254,7 @@ Kérem válasszon másik könyvtárat. &Close - Bezárás + $Bezárás @@ -3032,36 +2600,36 @@ Kérem válasszon másik könyvtárat. Projekt téma fájl - - + + Empty source Üres forrás. - - + + No source is defined. Nincs forrás definiálva. - - + + Empty destination Üres célállomás - - + + No destination is defined. Nincs célállomás meghatározva. - + Failed to extract project Nem sikerült exportálni a projektet - + Failed to create project Nem sikerült létrehozni a projektet @@ -3111,188 +2679,6 @@ Kérem válasszon másik könyvtárat. Gui::Dialog::DlgReportView - - - Report view - Jelentés nézet - - - - Output - Kimenet - - - - Normal messages will be recorded - Alapértelmezett üzenetek rögzítésre kerülnek - - - - Record normal messages - Aktuális üzenetek rögzítése - - - - Log messages will be recorded - Naplóüzenetek rögzítésre kerülnek - - - - Record log messages - Változások naplózása - - - - Warnings will be recorded - Figyelmeztetések rögzítésre kerülnek - - - - Record warnings - Riasztások feljegyzése - - - - Error messages will be recorded - Hibaüzenetek rögzítésre kerülnek - - - - Record error messages - Hibák feljegyzése - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Hiba esetén a Jelentésnézet párbeszédpanel láthatóvá válik -a képernyőn a hiba megjelenítése közben - - - - Show report view on error - Jelentésnézet megjelenítése hiba esetén - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Figyelmeztetés esetén a Jelentésnézet párbeszédpanel láthatóvá válik -a képernyőn, miközben megjeleníti a figyelmeztető - - - - Show report view on warning - Jelentésnézet megjelenítése figyelmeztetésre - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Aktuális üzenet bekövetkezése esetén a Jelentésnézet párbeszédpanel láthatóvá válik -a képernyőn az üzenet megjelenítése közben - - - - Show report view on normal message - Jelentésnézet megjelenítése aktuális üzenetben - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Naplóüzenet bekövetkezése esetén, a Jelentésnézet párbeszédpanel láthatóvá válik -a képernyőn a naplóüzenet megjelenítése közben - - - - Show report view on log message - Jelentésnézet megjelenítése naplóüzenetben - - - - Include a timecode for each report - Minden jelentéshez időkód szerepeltetése - - - - Include a timecode for each entry - Minden bejegyzéshez adjon meg egy időkódot - - - - Colors - Színek - - - - Normal messages: - Aktuális üzenetek: - - - - Font color for normal messages in Report view panel - Aktuális üzenetek betűszíne a Jelentés nézet panelen - - - - Log messages: - Naplóüzenetek: - - - - Font color for log messages in Report view panel - Naplóüzenetek betűszíne a Jelentés nézet panelen - - - - Warnings: - Riasztások: - - - - Font color for warning messages in Report view panel - Figyelmeztető üzenetek betűszíne a Jelentés nézet panelen - - - - Errors: - Hibaüzenetek: - - - - Font color for error messages in Report view panel - Hibaüzenetek betűszíne a Jelentés nézet panelen - - - - Python interpreter - Python értelmező - - - - Internal Python output will be redirected -from Python console to Report view panel - A belső Python kimenet átirányításra kerül -a Python konzolról a Jelentés nézet panelre - - - - Redirect internal Python output to report view - Belső Python kimenet átirányítása jelentés megtekintéséhez - - - - Internal Python error messages will be redirected -from Python console to Report view panel - A belső Python-hibaüzenetek át lesznek irányítva -a Python konzolról a Jelentés nézet panelre - - - - Redirect internal Python errors to report view - Belső Python hibák átirányítása a jelentés nézetbe - Program infó @@ -3319,7 +2705,7 @@ a Python konzolról a Jelentés nézet panelre Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Nincs kijelölés, nem lehet betölteni a biztonságimásolat-fájlt @@ -3334,7 +2720,7 @@ a Python konzolról a Jelentés nézet panelre TextLabel - Szövegfelirat + Szövegcimke @@ -3362,7 +2748,7 @@ a Python konzolról a Jelentés nézet panelre Súgó - + Select a file Válasszon ki egy fájlt @@ -3370,70 +2756,70 @@ a Python konzolról a Jelentés nézet panelre Gui::Dialog::DlgSettings3DView - + 3D View 3D-s nézet - + General Általános - + Main coordinate system will always be shown in lower right corner within opened files A fő koordináta rendszer mindig a jobb alsó sarok a megnyitott fájlokban - + Show coordinate system in the corner Koordináta rendszer mutatása a sarokban - + Relative size : Relatív méret: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport A fő koordináta-rendszer szimbólumábrázolásának mérete a betekintés sarkában - a magasság /szélesség százalékában - + Axis cross will be shown by default at file opening or creation A tengelykereszteződés alapértelmezés szerint megjelenik a fájl megnyitásakor vagy létrehozásakor - + Show axis cross by default Tengely kereszteződés mutatása alapértelmezetten - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Az utolsó művelethez és az eredményül kapott képkockasebességhez szükséges idő a bal alsó sarokban jelenik meg a megnyitott fájlokban - + Show counter of frames per second A keret / másodperc mutatása - + Rendering Igazít - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3442,22 +2828,22 @@ Changing this option requires a restart of the application. A beállítás módosításához újra kell indítani az alkalmazást. - + Use software OpenGL Szoftveres OpenGL használata - + Use OpenGL VBO (Vertex Buffer Object) OpenGL VBO (Csúcspont pufferobjektum) használata - + Render cache Gyorsítótár leképzése - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3480,7 +2866,7 @@ grafikus anomáliáktól a GPU összeomlási hibákig, generál. Ne feledje, hog jelentse ezt a beállítást engedélyezve, amikor támogatást kér a FreeCAD fórumokon - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3495,92 +2881,92 @@ Ennek elérésére 3 lehetőség áll rendelkezésre: 3) 'Központosított', manuálisan kapcsolja ki a gyorsítótárat az összes nézetszolgáltató összes csomópontjában, és csak a helyszínen rajzolt grafikus gyökér csomópontot gyorsítja. Ez a leggyorsabb gyorsító sebesség, de lassabban válaszol minden jelenet változásokra. - + Auto Automatikus - + Distributed Elosztott - + Centralized Központosított - + Anti-Aliasing Élsimítás - + What kind of multisample anti-aliasing is used Milyen több mintavételes élsimítást használ - + None Egyik sem - + Line Smoothing Vonal simítás - + MSAA 2x MSAA 2 x - + MSAA 4x MSAA 4 x - + MSAA 8x MSAA 8 x - + Transparent objects: Átlátszó tárgyak: - + Render types of transparent objects Áttetsző objektumok gyorsítótárazása - + One pass Egy áthaladás - + Backface pass Hátsó lap áthaladás - + Marker size: Jelölő mérete: - - Size of vertices in the Sketcher workbench - Csúcspontok mérete a vázlatkészítő munkafelületen + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Szemtől szembeni távolság a sztereó módban - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3589,48 +2975,48 @@ A megadott érték olyan tényező, amelyet megszoroz az aktuálisan megjelenített 3D tárgy határolókeret méretével. - + Backlight is enabled with the defined color Háttérvilágítás engedélyezve van a meghatározott színnel - - + + Backlight color Háttérvilágítás színe - + Intensity Intenzitás - + Intensity of the backlight Háttérvilágítás intenzitása - + Camera type Kamera típus - + Objects will appear in a perspective projection Az objektumok távoli nézet vetítésben jelennek meg - + Perspective renderin&g Perspektivikus leképezés - + Objects will be projected in orthographic projection Az objektumok függőleges vetületi vetítésben jelennek meg - + Or&thographic rendering Egyenesvonalú leképzés @@ -3642,42 +3028,42 @@ az aktuálisan megjelenített 3D tárgy határolókeret méretével. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Élsimítás - + Open a new viewer or restart %1 to apply anti-aliasing changes. Nyisson megy egy új megjelenítőt, vagy indítsa újra a %1, az élsimítás változtatások alkalmazásához. @@ -3685,77 +3071,77 @@ az aktuálisan megjelenített 3D tárgy határolókeret méretével. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Gyorsítótár - + Cache directory Gyorsítótár könyvtár - + Location: Helye: - + Check periodically at program start: Ellenőrizze rendszeresen a program elején: - + Always Mindig - + Daily Napi - + Weekly Heti - + Monthly Havonta - + Yearly Évente - + Never Soha - + Cache size limit: Gyorsítótár méretkorlátja: - + Check now... Ellenőrzés most... - + Notify the user if the cache size exceeds the specified limit A felhasználó értesítése, ha a gyorsítótár mérete meghalad egy bizonyos korlátot - + Unknown Ismeretlen - + Current cache size: %1 Jelenlegi méret: %1 @@ -3917,12 +3303,12 @@ a színsáv mellett Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Hibás paraméter - + The maximum value must be higher than the minimum value. A maximális értéknek magasabbnak kell lennie, mint a minimális érték. @@ -3930,182 +3316,182 @@ a színsáv mellett Gui::Dialog::DlgSettingsDocument - + Document Dokumentum - + General Általános - + The application will create a new document when started Az alkalmazás új dokumentumot hoz létre, amikor elindul - + Create new document at start up Indításkor egy új munkalap létrehozása - + Document save compression level (0 = none, 9 = highest, 3 = default) Dokumentum mentésének tömörítési szintje (0=nincs, 9=legnagyobb, 3=alapértelmezett) - + Compression level for FCStd files Az FCStd-fájlok tömörítési szintje - + All changes in documents are stored so that they can be undone/redone A dokumentumok minden változása tárolva van, hogy visszalehessen vonni/ismételni lehessen - + Using Undo/Redo on documents Visszalépés / Újra létrehozás használata a dokumentumokhoz - + Maximum Undo/Redo steps Maximális Visszalépés / Újra létrehozás lépések - + How many Undo/Redo steps should be recorded Hány visszavonási/ismétlési lépést rögzítsen - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Engedélyezze a dokumentum újbóli számításának megszakítását az ESC billentyű lenyomásával. Ez a funkció némileg növelheti az újraszámítás idejét. - + Allow aborting recomputation Újraszámítás megszakításának engedélyezése - + Storage Tárolás - + Saving transactions (Auto-save) Mentési tranzakciók (Automatikus mentés) - + Discard saved transaction after saving document Dobja el a mentett tranzakciókat a munkalap mentését követően - + If there is a recovery file available the application will automatically run a file recovery when it is started. Ha van rendelkezésre álló helyreállítási fájl, az alkalmazás automatikusan futtatja a fájlhelyreállítást az indításkor. - + Run AutoRecovery at startup Automatikus helyreállítás futtatása indításkor - + How often a recovery file is written A helyreállítási fájl megírásának gyakorisága - + Save AutoRecovery information every Helyreállítási adatok mentése minden - + A thumbnail will be stored when document is saved A dokumentum mentésekor a rendszer a miniatűrt tárolja - + Save thumbnail into project file when saving document Bélyegkép mentése a projektfájlba, munkalap mentésekor - + Size Méret - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 A dokumentumban tárolt bélyegkép méretét adja meg. Gyakori méretek: 128, 256 és 512 - + The program logo will be added to the thumbnail A program embléma hozzáadódik a miniatűrhöz - + Add the program logo to the generated thumbnail A program embléma felvétele a generált bélyegképhez - + How many backup files will be kept when saving document Hány biztonsági másolat lesz megőrizve a dokumentum mentésekor - + Maximum number of backup files to keep when resaving document Maximum biztonsági másolatok száma a dokumentum újramentésekor - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Biztonsági fájl másolatok a '. FCbak' kiterjesztést kapják és fájlnevek dátumutótagot a megadott formátumnak megfelelően - + Use date and FCBak extension Dátum és FCBak kiterjesztés használata - + Date format Dátum formátum - + Document objects Dokumentum objektumok - + Allow objects to have same label Objektumok azonos címkéjének engedélyezése - + Allow duplicate object labels in one document Engedélyezi, hogy egy dokumentumban duplikált objektumazonosítók legyenek - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4118,22 +3504,22 @@ Egy részlegesen betöltött dokumentum nem szerkeszthető. Teljes betöltéséh kattintson a fa nézetben a dokumentum ikonra. - + Disable partial loading of external linked objects Külső csatolt objektumok részleges betöltésének letiltása - + Authoring and License Szerző és a licenc - + Author name Szerző neve - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4142,32 +3528,32 @@ Maradjon üresen, ha névtelen. Használhatja az űrlapot is: Gipsz Jakab <gipsz@jakab.hu> - + The field 'Last modified by' will be set to specified author when saving the file A 'Utoljára módosította' mező a fájl mentésekor megadott szerzőre lesz állítva - + Set on save Mentéskor beállítva - + Company Vállalat - + Default company name to use for new files Az új fájlokhoz használandó alapértelmezett vállalatnév - + Default license Alapértelmezett licenc - + Default license for new documents Az új dokumentumok alapértelmezett licence @@ -4237,12 +3623,12 @@ Használhatja az űrlapot is: Gipsz Jakab <gipsz@jakab.hu> Egyéb - + License URL Licenc URL-címe - + URL describing more about the license A licenc részleteinek URL-je @@ -4250,104 +3636,21 @@ Használhatja az űrlapot is: Gipsz Jakab <gipsz@jakab.hu> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. A használandó dátum forma. - + Default Alapértelmezett - + Format Formátum - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Szöveg - - - - Bookmark - Könyvjelző - - - - Breakpoint - Töréspont - - - - Keyword - Kulcsszó - - - - Comment - Megjegyzés - - - - Block comment - Megjegyzés tömb - - - - Number - Szám - - - - String - Karakterlánc - - - - Character - Karakter - - - - Class name - Osztálynév - - - - Define name - Definiált név - - - - Operator - Irányító - - - - Python output - Python kimenet - - - - Python error - Python hiba - - - - Current line highlight - Aktuális vonal kiemelése - - - - Items - Elemek - - Gui::Dialog::DlgSettingsImage @@ -4528,122 +3831,122 @@ Használhatja az űrlapot is: Gipsz Jakab <gipsz@jakab.hu> Gui::Dialog::DlgSettingsMacro - + Macro Makró - + General macro settings Általános makró beállítások - + Variables defined by macros are created as local variables A makrók által definiált változók helyi változóként jönnek létre - + Run macros in local environment Makró futtatása a helyi környezetben - + Macro recording settings Makró felvétel beállításai - + Macro path Makró elérési út - + The directory in which the application will search for macros Az a könyvtár, amelyben az alkalmazás makrókat keres - + Gui commands GUI parancsok - + Recorded macros will also contain user interface commands A rögzített makrók a felhasználói felület parancsait is tartalmazzák - + Record GUI commands GUI parancsok rögzítése - + Recorded macros will also contain user interface commands as comments A rögzített makrók a felhasználói felület parancsait is megjegyzésként tartalmazzák - + Record as comment Rögzítés megjegyzésként - + Logging Commands Naplózási parancsok - + Commands executed by macro scripts are shown in Python console A makróparancsfájlok által végrehajtott parancsok a Python konzolon jelennek meg - + Show script commands in python console A parancsutasítások megjelenítése a python konzolon - + Log all commands issued by menus to file: Naplózza fájlba a menük által kiadott összes parancsot: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Legutóbbi makrók menü - + Size of recent macro list Legutóbbi makrók listájának mérete - + How many macros should be listed in recent macros list A legutóbbi makrók listájában szereplő makrók száma - + Keyboard shortcut count Billentyűparancsok száma - + How many recent macros should have shortcuts Hány legutóbbi makrónak kell billentyűparancs - + Keyboard Modifiers Billentyűzet módosítók - + Keyboard modifiers, default = Ctrl+Shift+ Billentyűzet módosítók, alapértelmezett = Ctrl+Shift+ @@ -4651,130 +3954,130 @@ Használhatja az űrlapot is: Gipsz Jakab <gipsz@jakab.hu> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigáció - + Navigation cube Navigációs kocka - + Steps by turn A teljes elforgatás lépésszáma - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Lépések száma elfordulás szerint nyíl használatakor (alapértelmezett = 8 : lépésszög = 360/8 = 45 fok) - + Corner Sarok - + Corner where navigation cube is shown Sarok, ahol a navigációs kocka látható - + Top left Bal felső - + Top right Jobb felső - + Bottom left Bal alsó - + Bottom right Jobb alsó - + Rotates to nearest possible state when clicking a cube face Kocka felületére kattintva a lehető legközelebbi állapotba forog - + Rotate to nearest Forgatás a legközelebbire - + Font name: Betűtípus neve: - + Font name of the navigation cube Navigációs kocka betű neve - + Default Alapértelmezett - + Cube size Kocka méret - + Size of the navigation cube Navigációs kocka mérete - + Color Szín - + Base color for all elements Alapszín minden elemnek - + 3D Navigation 3D-s navigáció - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Felsorolja az egérgomb konfigurációját az egyes kijelölt navigációs beállításokhoz. Jelöljön ki egy beállítást, majd nyomja meg a gombot a beállítások megtekintéséhez. - + Mouse... Egér ... - + Navigation settings set A navigációs sáv beállításai mentésre kerültek - + Orbit style Orbit stílus - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4785,116 +4088,116 @@ Forgóasztal: az alkatrészt a z-tengely körül forgatják (korlátozott tengel Szabad forgóasztal: az alkatrész a z tengely körül forog. - + Turntable Fordítótábla - + Trackball Trackball - + Free Turntable Forgóasztal - + Rotation mode Elforgatási mód - + Rotations in 3D will use current cursor position as center for rotation A 3D-ben való elforgatás az aktuális kurzorpozíciót fogja használni forgatási központként - + Window center Az ablak közepére - + Drag at cursor Húzás a kurzornál - + Object center A tárgy központba - + Default camera orientation Szabványos kamerabeállítás - + Default camera orientation when creating a new document or selecting the home view Az új dokumentumok szabványos kamera tájolása vagy az otthoni nézet kiválasztásakor - + Camera zoom Nagyítás a nézeten - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Beállítja az új dokumentumok kameranagyítását. Az érték a képernyőn elférő gömb átmérője. - + mm mm - + Enable animated rotations Animált forgatások aktiválása - + Enable animation Animáció engedélyezése - + Zoom operations will be performed at position of mouse pointer A nagyítási műveleteket az egérmutató helyén hajtják végre - + Zoom at cursor Kurzorra nagyítás - + Zoom step Zoomolási lépték - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Mennyire nagyítson. Az '1' nagyítási lépés minden nagyítási lépésnél 7,5-ös tényezőt jelent. - + Direction of zoom operations will be inverted A nagyítási műveletek iránya megfordul - + Invert zoom Zoomolás megfordítása - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4903,57 +4206,67 @@ Csak a kézmozdulat-navigációs stílusra vonatkozik. Ez a beállítás nem tiltja le az egér megdöntése beállítást. - + Disable touchscreen tilt gesture Érintőképernyős döntés kikapcsolása - + + Show the rotation center when dragging. + Forgatási középpont megjelenítése húzáskor. + + + + Enable rotation center indication + Forgatási középpont kijelzés engedélyezése + + + Isometric Izometrikus - + Dimetric Dimetrikus - + Trimetric Trimetrikus - + Top Felülnézet - + Front Elölnézet - + Left Bal - + Right Jobb oldalnézet - + Rear Hátsó nézet - + Bottom Alsó - + Custom Egyéni @@ -4961,43 +4274,43 @@ Ez a beállítás nem tiltja le az egér megdöntése beállítást. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python konzol - + Settings Beállítások - + Words will be wrapped when they exceed available horizontal space in Python console A szavak több sorba törve jelennek meg, ha nem férnek bele a Python konzolablak szélességébe - + Enable word wrap Sortörés engedélyezése - + The cursor shape will be a block A kurzor alajkja nagy blokk lesz - + Enable block cursor Nagy kurzor engedélyezése - + Saves Python history across sessions Python-előzmények mentése munkamenetben - + Save history Előzmények mentése @@ -5005,17 +4318,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Kijelölés - + + Enable preselection, highlighted with specified color + Előválasztás engedélyezése, megadott színnel kiemelve + + + + Enable preselection + Előválasztás bekapcsolása + + + + Enable selection, highlighted with specified color + Kiválasztás engedélyezése, megadott színnel kiemelve + + + + Enable selection + Kiválasztás engedélyezése + + + Pick radius (px): Kiválasztott rádiusz (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5023,27 +4356,27 @@ Larger value eases to pick things, but can make small features impossible to sel Nagyobb érték megkönnyíti a kiválasztást, de lehetetlenné teheti a kis elemek kiválasztását. - + Auto switch to the 3D view containing the selected item Automatikus váltás 3D nézetre a kijelölt elemmel - + Auto expand tree item when the corresponding object is selected in 3D view A fa automatikus kibontása, ha a társított tárgy 3D nézetben van kijelölve - + Preselect the object in 3D view when mouse over the tree item A tárgy előre kijelölése 3D nézetben, amikor az egér a faelem felett mozog - + Record selection in tree view in order to go back/forward using navigation button Kijelölés rögzítése a fa nézetben. Előre/hátra a navigációs gombokkal - + Add checkboxes for selection in document tree Jelölőnégyzetek hozzáadása kijelöléshez a dokumentumfában @@ -5051,147 +4384,122 @@ Nagyobb érték megkönnyíti a kiválasztást, de lehetetlenné teheti a kis el Gui::Dialog::DlgSettingsViewColor - + Colors Színek - - Selection - Kijelölés - - - - Enable preselection and highlight by specified color - Előválasztás és kiemelés engedélyezése megadott színnel - - - - Enable preselection highlighting - Előválasztás kiemelést tesz lehetővé - - - - Enable selection highlighting and use specified color - Kijelölés kiemelésének engedélyezése és megadott szín használata - - - - Enable selection highlighting - Kijelölésnél kiemelés alkalmazása - - - + Background color for the model view Háttérszín modellnézethez - + Background color Háttér szín - - + + Background will have selected color A háttér lesz a kiválasztott szín - + Simple color Egyszínű - - + + Background will have selected color gradient A háttér a kijelölt színátmenettel - + Linear gradient Lineáris átmenet - + Radial gradient Sugárirányú átmenet - - + + Top: Felső: - - + + Middle: Középső: - + Switches the colors of the gradient A színátmenet színeinek váltása - + Switch Váltó kapcsoló - + Color gradient will get selected color as middle color A színátmenet középső színként lesz kijelölve - + Middle color Középső szín - - + + Bottom: Alsó: - + Tree view Fanézet - + Object being edited Tárgy szerkesztésre kerül - + Background color for objects in tree view that are currently edited Az aktuálisan szerkesztett fanézetben lévő objektumok háttérszíne - + Active container Aktív tároló - + Background color for active containers in tree view Az aktív tárolók háttérszíne fanézetben - + Central: Központ: - + Midway: Közepén: - + End: Vége: @@ -5303,12 +4611,12 @@ Az előnyben részesített rendszer az általános beállításokban beállítot Gui::Dialog::DlgUnitsCalculator - + unknown unit: ismeretlen mértékegység: - + unit mismatch mértékegység eltérés @@ -5316,7 +4624,7 @@ Az előnyben részesített rendszer az általános beállításokban beállítot Gui::Dialog::DockablePlacement - + Placement Elhelyezés @@ -5368,60 +4676,60 @@ Az 'Állapot' oszlop tájékoztatja a visszaállítás sikerességéről.Még nincs helyreállítva - + Unknown problem occurred Ismeretlen hiba történt - - + + Failed to recover Nem sikerült helyreállítani - + Successfully recovered Sikeresen helyreállítva - + Finish Befejezés - - + + Delete Törlés - - + + Cleanup Takarítás - + Are you sure you want to delete the selected transient directories? Biztosan törli az ideiglenesen kijelölt könyvtárakat? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Ha a kijelölt átmeneti könyvtárakat törli, nem lesz képes visszaszerezni a fájlokat utána. - + Are you sure you want to delete all transient directories? Biztosan törli az összes átmeneti könyvtárakat? - + When deleting all transient directories you won't be able to recover any files afterwards. Ha az összes kijelölt átmeneti könyvtárat törli, a későbbiekben nem tudja visszaállítani a fájlokat. - + Transient directories deleted. Átmeneti könyvtárak törölve. @@ -5545,7 +4853,7 @@ Az 'Állapot' oszlop tájékoztatja a visszaállítás sikerességéről.Ikon mappák - + Add icon folder Ikon mappa hozzáadása @@ -5558,12 +4866,12 @@ Az 'Állapot' oszlop tájékoztatja a visszaállítás sikerességéről.Egyéni ikon mappák hozzáadása és eltávolítása - + Remove folder Mappa eltávolítása - + Removing a folder only takes effect after an application restart. Könyvtár mappa eltávolítása csak az alkalmazás újraindításával lép érvénybe. @@ -5633,79 +4941,79 @@ Az 'Állapot' oszlop tájékoztatja a visszaállítás sikerességéről.Gui::Dialog::ParameterGroup - - + + Expand Kibontás - + Add sub-group Alcsoport hozzáadás - - + + Remove group Csoport eltávolítása - + Rename group Csoport átnevezése - + Export parameter Paraméter export - + Import parameter Paraméter import - + Collapse Összevonás - + Do you really want to remove this parameter group? Tényleg eltávolítja ezt a paramétercsoportot? - + Existing sub-group Létező alcsoport - + The sub-group '%1' already exists. Az '%1' alcsoport már létezik. - + Export parameter to file Paraméter exportálása fájlba - + Import parameter from file Paraméter importálása fájlból - + Import Error Importálási hiba - + Reading from '%1' failed. '%1' -ből olvasás sikertelen. @@ -5713,65 +5021,65 @@ Az 'Állapot' oszlop tájékoztatja a visszaállítás sikerességéről. Gui::Dialog::ParameterValue - + Change value Érték módosítása - + Remove key Kulcs eltávolítása - + Rename key Kulcs átnevezése - + New Új - + New string item Új karakterlánc-elem - + New float item Új lebegőpontos elem - + New integer item Új egész szám elem - + New unsigned item Új pozitív egésszám elem - + New Boolean item Új logikai elem - - - - - + + + + + Existing item Meglévő elem - - - - - + + + + + The item '%1' already exists. Az '%1' tétel már létezik. @@ -5917,17 +5225,17 @@ Az 'Állapot' oszlop tájékoztatja a visszaállítás sikerességéről.Alkalmaz - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Kérjük, válasszon 1, 2 vagy 3 pontot ennek a gombnak a megnyomása előtt. Egy pont lehet a végponton, felületen vagy élen. Ha egy felületre vagy élre használja a pontot az egér helyzetének pontja lesz a felület vagy él mentén. Ha 1 pontot választ ki akkor az az elforgatás középpontját határozza meg. 2 pont kijelölésekor a két pont közti lesz az elforgatás középpontja, és egy új egyéni tengely jön létre, ha szükséges. Ha 3 pontot jelöltünk az első pont lesz az elforgatás középpontja, és azon a vektoron fekszik, mely síkot a 3 pont alapértelmezés meghatározza. Néhány távolság és szög információt a jelentésben tekinthet meg, ami hasznos lehet az tárgyak igazításához. Az Ön kényelme érdekében Shift + kattintás használata esetén a megfelelő távolság vagy szög másolódik a vágólapra. - + Incorrect quantity Hibás mennyiség - + There are input fields with incorrect input, please ensure valid placement values! Helytelen beviteli mezők, ellenőrizze az értékek elhelyezkedését! @@ -5935,12 +5243,12 @@ Az 'Állapot' oszlop tájékoztatja a visszaállítás sikerességéről. Gui::Dialog::PrintModel - + Button Gomb - + Command Parancs @@ -6004,17 +5312,17 @@ Az 'Állapot' oszlop tájékoztatja a visszaállítás sikerességéről. Gui::Dialog::SceneModel - + Inventor Tree Inventor struktúra - + Name Név - + Nodes Csomópontok @@ -6070,14 +5378,14 @@ Az 'Állapot' oszlop tájékoztatja a visszaállítás sikerességéről. Gui::Dialog::Transform - - + + Cancel Mégse - - + + Transform Átalakítás @@ -6175,13 +5483,13 @@ párbeszédpanel megnyitása előtt kiválasztott tárgyak folytatása - + Model Modell - + Tasks Feladatok @@ -6189,7 +5497,7 @@ párbeszédpanel megnyitása előtt kiválasztott tárgyak folytatása Gui::DockWnd::PropertyDockView - + Property View Tulajdonságok nézet @@ -6197,82 +5505,82 @@ párbeszédpanel megnyitása előtt kiválasztott tárgyak folytatása Gui::DockWnd::ReportOutput - + Options Beállítások - + Display message types Üzenettípusok megjelenítése - - + + Normal messages Aktuális üzenetek - - + + Log messages Naplóüzenetek - - + + Warnings Riasztások - - + + Errors Hibaüzenetek - - + + Critical messages Kritikus értesítések - + Show Report view on Jelentés nézet megjelenítés bekapcsolva - + Redirect Python output Python kimenet átirányítása - + Redirect Python errors Átirányított Python-hibák - + Go to end Ugrás a végére - + Clear Törlés - + Save As... Mentés másként... - + Save Report Output Jelentés kimenet mentése - + Plain Text Files Egyszerű szöveges fájlok @@ -6281,13 +5589,13 @@ párbeszédpanel megnyitása előtt kiválasztott tárgyak folytatásaGui::DockWnd::ReportView - + Output Kimenet - + Python console Python konzol @@ -6325,72 +5633,72 @@ párbeszédpanel megnyitása előtt kiválasztott tárgyak folytatásaKijelölt tárgyak listája - + Select only Csak kiválasztás - + Selects only this object Csak azt a tárgyat jelöli ki - + Deselect Kijelölés megszüntetése - + Deselects this object Ennek az objektum kijelölésének megszüntetése - + Zoom fit Nagyításhoz illesztés - + Selects and fits this object in the 3D window Tárgy kiválasztása és illesztése a 3D ablakhoz - + Go to selection Kijelöltre ugrás - + Selects and locates this object in the tree view Tárgy kiválasztása és foglalása a fa nézetben - + Mark to recompute Jelölje, újraszámításhoz - + Mark this object to be recomputed Jelölje ezt az objektumot az újraszámoláshoz - + To python console Python konzolhoz - + Reveals this object and its subelements in the python console. Megmutatja a tárgyat és annak al elemeit a python konzolban. - + Duplicate subshape Megkettőzött részalakzat - + Creates a standalone copy of this subshape in the document Egyedülálló másolatot hoz létre a dokumentumban erről a részalakzatról @@ -6403,7 +5711,7 @@ párbeszédpanel megnyitása előtt kiválasztott tárgyak folytatásaAlkalmazás - + Labels & Attributes Cimkék & Tulajdonságok @@ -6452,27 +5760,27 @@ El akarja menteni a változásokat? PDF-fájl - + untitled[*] névtelen[*] - + - Editor - Szerkesztő - + %1 chars removed %1 karakter eltávolítása - + %1 chars added %1 karakter hozzáadása - + Formatted Formázott @@ -6496,13 +5804,13 @@ El akarja menteni a változásokat? Gui::FileChooser - - + + Select a file Válasszon ki egy fájlt - + Select a directory Válasszon ki egy könyvtárat @@ -6510,13 +5818,13 @@ El akarja menteni a változásokat? Gui::FileDialog - + Save as Mentés másként - - + + Open Megnyit @@ -6524,12 +5832,12 @@ El akarja menteni a változásokat? Gui::FileOptionsDialog - + Extended Kiterjesztett - + All files (*.*) Minden fájl (*.*) @@ -6537,27 +5845,27 @@ El akarja menteni a változásokat? Gui::Flag - + Top left Bal felső - + Bottom left Bal alsó - + Top right Jobb felső - + Bottom right Jobb alsó - + Remove Törlés @@ -6565,22 +5873,22 @@ El akarja menteni a változásokat? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Érintsen VAGY kattintson a bal egérgombbal. - + Drag screen with two fingers OR press right mouse button. Húzza a képernyőn két ujjal VAGY nyomja meg az egér jobb oldali gombját. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Húzza a képernyőt egy ujjal vagy nyomja meg az egér bal gombját. A vázlatkészítő && egyéb szerkesztési módokban, tartsa lenyomva az ALT billentyűt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Csípje (helyezze két ujját a képernyőn && húzza őket egymáshoz || el egymástól) VAGY görgesse a középső egér gombot VAGY a billentyűzet PgUp/PgDown gombjával. @@ -6588,74 +5896,74 @@ El akarja menteni a változásokat? Gui::GraphvizView - + Graphviz not found Nem található grafikonszerk - + Graphviz couldn't be found on your system. Grafikonszerk nem található a rendszerben. - + Read more about it here. Itt olvasson többet róla. - + Do you want to specify its installation path if it's already installed? Szeretné megadni a telepítési útvonal, ha már telepítve van? - + Graphviz installation path Grafikusszerk telepítési hely elérési útja - + Graphviz failed Nem sikerült Grafikonszerk - + Graphviz failed to create an image file Nem sikerült létrehozni egy kép fájl Grafikonszerkesztőhöz - + PNG format PNG formátum - + Bitmap format Bittérkép-formátum - + GIF format GIF formátum - + JPG format JPG formátum - + SVG format SVG formátum - - + + PDF format PDF formátum - - + + Export graph Export grafikon @@ -6663,12 +5971,12 @@ El akarja menteni a változásokat? Gui::InputField - + Edit Szerkesztés - + Save value Érték mentése @@ -6676,22 +5984,22 @@ El akarja menteni a változásokat? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Nyomja meg a CTRL és a bal egérgombot - + Press middle mouse button Nyomja meg a középső egérgombot - + Press left mouse button Nyomja meg a bal egérgombot - + Scroll middle mouse button Görgesse a középső egérgombot @@ -6699,7 +6007,7 @@ El akarja menteni a változásokat? Gui::LabelEditor - + List Lista @@ -6707,66 +6015,66 @@ El akarja menteni a változásokat? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Felhasználó által megadott... - + - - + + Wrong direction Rossz irány - + - - + + Direction must not be the null vector Irány nem lehet nullvektor @@ -6774,22 +6082,22 @@ El akarja menteni a változásokat? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Irány: @@ -6797,17 +6105,17 @@ El akarja menteni a változásokat? Gui::MacroCommand - + Macros Makrók - + Macro file doesn't exist Makró fájl nem létezik - + No such macro file: '%1' Nincs ilyen makró fájl: '%1' @@ -6815,63 +6123,73 @@ El akarja menteni a változásokat? Gui::MainWindow - - + + Dimension Dimenzió - + Ready Kész - + Help addon needed! Segítség kiegészítő szükséges! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager A(z) %1 támogatási rendszerét most a "Súgó" bővítmény támogatja. Könnyen telepíthető a Bővítmények kezelőjével - + Open Addon Manager Bővítmények kezelő megnyitása - + Close All Minden bezárása - - + + Toggles this toolbar Eszköztár megjelenítése - - + + Toggles this dockable window Dokkolható ablak megjelenítése - - + + WARNING: This is a development version. + FIGYELMEZTETÉS: Ez egy fejlesztői változat. + + + + Please do not use in a production environment. + Kérjük, ne használja éles környezetben. + + + + Unsaved document Nem mentett dokumentum - + The exported object contains external link. Please save the documentat least once before exporting. Az exportált tárgy külső hivatkozást tartalmaz. Exportálás előtt legalább egyszer mentse a dokumentumot. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Külső tárgyakra hivatkozáshoz a dokumentumot legalább egyszer menteni kell. @@ -6881,63 +6199,63 @@ Menti most a dokumentumot? Gui::ManualAlignment - - - - - + + + + + Manual alignment Kézi igazítás - + The alignment is already in progress. Az igazítás már folyamatban. - + Alignment[*] Igazítás[*] - + Please, select at least one point in the left and the right view Kérem válasszon minimum egy pontot a bal- ill. jobboldali nézetben - + Please, select at least %1 points in the left and the right view Kérem válasszon minimum %1 pontot a bal- ill. jobboldali nézetben - + Please pick points in the left and right view Kérem válasszon ki pontokat a bal és a jobboldali nézetben - + The alignment has finished Az igazítás végrehajtva - + The alignment has been canceled Az igazítás megszakítva - - + + Too few points picked in the left view. At least %1 points are needed. Túl kevés pont lett kiválasztva a baloldali nézetben. Legkevesebb %1 pont kell. - - + + Too few points picked in the right view. At least %1 points are needed. Túl kevés pont lett kiválasztva a jobboldali nézetben. Legkevesebb %1 pont kell. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6946,61 +6264,61 @@ A baloldali nézetben %1 pont lett jelölve, a jobboldali nézetben %2 pont lett jelölve. - + Try to align group of views Próbálja a nézet csoportokat igazítani - + The alignment failed. How do you want to proceed? Az igazítás sikertelen. Mit szeretne tenni? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Különböző számú pont lett kijelölve a bal és jobboldali nézetben A baloldali nézetben %1 pont lett jelölve, a jobboldali nézetben %2 pont lett jelölve. - + Point_%1 Pont_%1 - + Point picked at (%1,%2,%3) Pont kiválasztva itt (%1,%2,%3) - + No point was found on model A modellen nem talált pontot - + No point was picked Nem lett pont kiválasztva - + &Align &Igazít - + &Remove last point &utolsó pont eltávolítása - + &Cancel Mégse (&0) - + &Synchronize views &Nézetek szinkronizálása @@ -7008,22 +6326,22 @@ a jobboldali nézetben %2 pont lett jelölve. Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Érintsen VAGY kattintson a bal egérgombbal. - + Drag screen with two fingers OR press ALT + middle mouse button. Húzza a képernyőn két ujjal VAGY nyomja meg az ALT + a középső egér gombot. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Húzza a képernyőn, egy ujjal VAGY nyomja meg az ALT + bal egérgombot. Vázlatkészítőben és más szerkesztési módokban ezen felül tartsa lenyomva az Alt billentyűt is. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Csípjen (helyezze két ujját a képernyőn, és húzza őket egymáshoz vagy el egymástól) VAGY görgesse a középső egér gombot VAGY nyomja meg az ALT + jobb egér gombot VAGY a billentyűzet PgUp/PgDown gombjait használja. @@ -7031,7 +6349,7 @@ a jobboldali nézetben %2 pont lett jelölve. Gui::ModifierLineEdit - + Press modifier keys Nyomja meg a módosító gombokat @@ -7047,22 +6365,22 @@ a jobboldali nézetben %2 pont lett jelölve. Gui::OpenCascadeNavigationStyle - + Press left mouse button Nyomja meg a bal egérgombot - + Press CTRL and middle mouse button Nyomja meg a CTRL és a középső egér gombot - + Press CTRL and right mouse button Nyomja meg a CTRL és a jobb egérgombot - + Press CTRL and left mouse button Nyomja meg a CTRL és a bal egérgombot @@ -7070,22 +6388,22 @@ a jobboldali nézetben %2 pont lett jelölve. Gui::OpenSCADNavigationStyle - + Press left mouse button Nyomja meg a bal egérgombot - + Press right mouse button and move mouse Nyomja meg a jobb egérgombot, és mozgassa a kurzort - + Press left mouse button and move mouse Nyomja meg a bal egérgombot, és mozgassa a kurzort - + Press middle mouse button or SHIFT and right mouse button Nyomja meg a középső egérgombot vagy a SHIFT billentyűt és a jobb egérgombot @@ -7093,17 +6411,17 @@ a jobboldali nézetben %2 pont lett jelölve. Gui::PrefQuantitySpinBox - + Edit Szerkesztés - + Save value Érték mentése - + Clear list Lista törlése @@ -7134,12 +6452,12 @@ a jobboldali nézetben %2 pont lett jelölve. Maradt: %1 - + Aborting Megszakítása - + Do you really want to abort the operation? Biztosan megszakítja a műveletet? @@ -7147,7 +6465,7 @@ a jobboldali nézetben %2 pont lett jelölve. Gui::PropertyEditor::LinkLabel - + Change the linked object Hivatkozott objektum megváltoztatása @@ -7155,12 +6473,12 @@ a jobboldali nézetben %2 pont lett jelölve. Gui::PropertyEditor::LinkSelection - + Error Hiba - + Object not found Az objektum nem található @@ -7231,13 +6549,13 @@ a jobboldali nézetben %2 pont lett jelölve. Gui::PropertyView - + View Nézet - + Data Adat @@ -7285,77 +6603,77 @@ Ki szeretne lépni az adatok mentése nélkül? Nem kezelt ismeretlen C++ kivétel. - + &Copy &Másolás - + &Copy command Parancs másolása - + &Copy history Előzmények másolása - + Save history as... Előzmények mentése mint ... - + Save history Előzmények mentése - + Saves Python history across %1 sessions Python-előzmények mentése %1 munkamenetben - + &Paste Beillesztés - + Select All Mindent kijelöl - + Clear console Konzol törlése - + Insert file name... Fájlnév beszúrása... - + Word wrap Sortörés - + Save History Előzmények mentése - + Macro Files Makró Fájlok - + Insert file name Fájlnév beszúrása - + All Files Összes fájl @@ -7363,7 +6681,7 @@ Ki szeretne lépni az adatok mentése nélkül? Gui::PythonEditor - + Comment Megjegyzés @@ -7376,17 +6694,17 @@ Ki szeretne lépni az adatok mentése nélkül? Gui::RecentFilesAction - + Open file %1 Fájl megnyitása %1 - + File not found A fájl nem található - + The file '%1' cannot be opened. A '%1' fájl nem nyitható meg. @@ -7394,22 +6712,22 @@ Ki szeretne lépni az adatok mentése nélkül? Gui::RecentMacrosAction - + none egyik sem - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 A(z) %1 makró futtatása (Shift+kattintás a szerkesztéshez) billentyűparancs: %2 - + File not found A fájl nem található - + The file '%1' cannot be opened. A '%1' fájl nem nyitható meg. @@ -7417,22 +6735,22 @@ Ki szeretne lépni az adatok mentése nélkül? Gui::RevitNavigationStyle - + Press left mouse button Nyomja meg a bal egérgombot - + Press middle mouse button Nyomja meg a középső egérgombot - + Press SHIFT and middle mouse button Nyomja le a SHIFT BILLENTYŰT, és a középső egérgombot - + Scroll middle mouse button Görgesse a középső egérgombot @@ -7463,17 +6781,17 @@ Ki szeretne lépni az adatok mentése nélkül? Gui::SelectModule - + Select module Modul választás - + Open %1 as Megnyitás mint %1 - + Select Kiválaszt @@ -7540,13 +6858,13 @@ Meg szeretne adni egy másik könyvtárat? Gui::StdCmdPythonHelp - + Automatic python modules documentation Automatikus python modulok dokumentáció - - + + Opens a browser to show the Python modules documentation A Python modulok dokumentációhoz megnyitja a böngészőt @@ -7699,38 +7017,38 @@ Meg szeretne adni egy másik könyvtárat? Gui::TextDocumentEditorView - + Text updated Frissített szöveg - + The text of the underlying object has changed. Discard changes and reload the text from the object? Az aláhúzott objektum szövege megváltozott. Módosítások elvetése és az objektum szövegének újratöltése? - + Yes, reload. Igen, újratöltés. - + Unsaved document Nem mentett dokumentum - + Do you want to save your changes before closing? Szeretné menteni a módosításait a bezárás előtt? - + If you don't save, your changes will be lost. Ha nem menti, a módosítások elvesznek. - - + + Edit text Szöveg szerkesztése @@ -7738,22 +7056,22 @@ Meg szeretne adni egy másik könyvtárat? Gui::TinkerCADNavigationStyle - + Press left mouse button Nyomja meg a bal egérgombot - + Press middle mouse button Nyomja meg a középső egérgombot - + Press right mouse button Nyomja meg a jobb egérgombot - + Scroll middle mouse button Görgesse a középső egérgombot @@ -7761,22 +7079,22 @@ Meg szeretne adni egy másik könyvtárat? Gui::TouchpadNavigationStyle - + Press left mouse button Nyomja meg a bal egérgombot - + Press SHIFT button Nyomjon SHIFT billentyűt - + Press ALT button Nyomjon ALT billentyűt - + Press CTRL and SHIFT buttons Nyomja meg a CTRL és a SHIFT gombokat @@ -8002,7 +7320,7 @@ Meg szeretne adni egy másik könyvtárat? Gui::TreeDockWidget - + Tree view Fanézet @@ -8010,7 +7328,7 @@ Meg szeretne adni egy másik könyvtárat? Gui::TreePanel - + Search Keresés @@ -8018,183 +7336,183 @@ Meg szeretne adni egy másik könyvtárat? Gui::TreeWidget - + Search... Keres... - + Search for objects Objektumok keresése - + Activate document Dokumentum aktiválása - + Activate document %1 A %1 dokumentum aktiválása - + Tree settings Fa beállításai - + Show description column A leírás oszlop megjelenítése - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Egy extra fa nézet oszlop megjelenítése az elem leírásához. Az elem leírását az F2 (vagy az operációs rendszer szerkesztőgombjának) megnyomásával vagy a 'label2' tulajdonság szerkesztésével lehet beállítani. - + Group Csoport - + Labels & Attributes Cimkék & Tulajdonságok - + Description Leírás - + Show items hidden in tree view Fa nézetben elrejtett elemek megjelenítése - + Show items that are marked as 'hidden' in the tree view Fa nézetben a "rejtett"-ként jelölt elemek megjelenítése - + Toggle visibility in tree view Láthatóság váltása a fa nézetben - + Toggles the visibility of selected items in the tree view Fa nézetben a kiválasztott elemek láthatóságának váltása - + Create group... Csoport létrehozása... - + Create a group Új csoport létrehozása - - + + Rename Átnevezés - + Rename object Tárgy átnevezése - + Finish editing Szerkesztés befejezése - + Finish editing object Objektumszerkesztés befejezése - + Add dependent objects to selection Függő tárgyak hozzáadása a kijelöléshez - + Adds all dependent objects to the selection Összes függőben lévő tárgy hozzáadása a kijelöléshez - + Close document Dokumentum bezárása - + Close the document A dokumentum bezárása - + Reload document Dokumentum újratöltése - + Reload a partially loaded document Részlegesen betöltött dokumentum újratöltése - + Skip recomputes Újraszámítás átugrása - + Enable or disable recomputations of document Dokumentum újraszámításának engedélyezése vagy letiltása - + Allow partial recomputes Részleges újraszámítás engedélyezése - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Szerkesztési tárgy újraszámításának engedélyezése vagy letiltása, ha a 'újraszámítás kihagyása' engedélyezve van - + Mark to recompute Jelölje, újraszámításhoz - + Mark this object to be recomputed Jelölje ezt az objektumot az újraszámoláshoz - + Recompute object Tárgy újraszámítás - + Recompute the selected object A kijelölt tárgy újraszámítása - + (but must be executed) (de végre kell hajtanom) - + %1, Internal name: %2 %1, Belső név: %2 @@ -8225,12 +7543,12 @@ Meg szeretne adni egy másik könyvtárat? PDF-fájl - + Opening file failed Fájl megnyitása sikertelen - + Can't open file '%1' for writing. Nem lehet megnyitni a(z) '%1' fájlt írásra. @@ -8238,7 +7556,7 @@ Meg szeretne adni egy másik könyvtárat? Gui::WorkbenchGroup - + Select the '%1' workbench '%1' munkafelület kiválasztása @@ -8246,37 +7564,37 @@ Meg szeretne adni egy másik könyvtárat? MAC_APPLICATION_MENU - + Services Szolgáltatások - + Hide %1 %1 elrejtése - + Hide Others Minden más elrejtése - + Show All Összes megjelenítése - + Preferences... Beállítások... - + Quit %1 Kilépés %1 - + About %1 Alkotó %1 @@ -8296,11 +7614,6 @@ Meg szeretne adni egy másik könyvtárat? Position - - - Form - Űrlap - X: @@ -8395,14 +7708,14 @@ Meg szeretne adni egy másik könyvtárat? PropertyListDialog - - + + Invalid input Érvénytelen adat - - + + Input in line %1 is not a number Az %1 tételsor nem szám @@ -8410,37 +7723,37 @@ Meg szeretne adni egy másik könyvtárat? QDockWidget - + Tree view Fanézet - + Property view Tulajdonságok nézet - + Selection view Részlet nézet - + Combo View Összetett nézet - + DAG View DAG nézet - + Report view Jelentés nézet - + Python console Python konzol @@ -8453,31 +7766,32 @@ Meg szeretne adni egy másik könyvtárat? QObject - - + + General Általános - - + + + Display Megjelenítés - + Workbenches Munkafelületek - - - + + + Python Python @@ -8505,17 +7819,27 @@ Meg szeretne adni egy másik könyvtárat? Nem menthető fájltípus: %1 - + Workbench failure Munkafelület hiba - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Kivétel @@ -8561,8 +7885,8 @@ Meg szeretne adni egy másik könyvtárat? PDF exportálása... - + Unsaved document Nem mentett dokumentum @@ -8583,39 +7907,39 @@ Meg szeretne adni egy másik könyvtárat? Függőség hiba - + Copy selected Kijelöltek másolása - + Copy active document Aktív dokumentum másolása - + Copy all documents Összes dokumentum másolása - + Paste Beillesztés - + Expression error Kifejezés hiba - + Failed to parse some of the expressions. Please check the Report View for more details. Nem sikerült elemezni néhány kifejezést. További részletekért tekintse meg a Jelentés nézetet. - + Failed to paste expressions Nem sikerült beilleszteni a kifejezéseket @@ -8651,225 +7975,225 @@ Be aware the point where you click matters. Legyen körültekintő, fontos melyik pontra kattint. - - + + Save views... Nézet mentése... - - + + Load views... Nézet betöltése... - - + + Freeze view Nézet megállítása - - + + Clear views Nézetek törlése - - - + + + Restore view &%1 Nézet visszaállítás &%1 - + Save frozen views Fagyasztott nézetek mentése - - + + Frozen views Fagyasztott nézetek - - + + Restore views Nézetek visszaállítása - + Importing the restored views would clear the already stored views. Do you want to continue? A visszaállított nézetek importálása felülírja a már tárolt nézetet. Folytatni kívánja? - + Restore frozen views Fagyasztott nézet visszaállítása - + Cannot open file '%1'. Nem lehet megnyitni a '%1' fájlt. - + files fájlok - + Save image Kép mentése - + Choose an image file to open Egy képfájl kiválasztása megnyitásra - + New sub-group Új alcsoport - - - - - - + + + + + + Enter the name: Adja meg a nevét: - - + + New text item Új szöveges elem - - + + Enter your text: Írja be a szöveget: - - + + New integer item Új egész szám elem - - - - - - + + + + + + Enter your number: Írja be a számot: - - + + New unsigned item Új pozitív egésszám elem - - + + New float item Új lebegőpontos elem - + New Boolean item Új logikai elem - - + + Choose an item: Válasszon egy elemet: - + New boolean item Új logikai elem - + Rename group Csoport átnevezése - + The group '%1' cannot be renamed. A '%1' csoport nem nevezhető át. - + Existing group Létező csoport - + The group '%1' already exists. A '%1' csoport már létezik. - - - - - + + + + + Change value Érték módosítása - + Type Típus - + Notifier Értesítő - + Message Üzenet - + Notifier: Értesítő: - + Do you want to skip confirmation of further critical message notifications while loading the file? Szeretné kihagyni a későbbi kritikus értesítések megerősítését egy fájl betöltésekor? - + Critical Message Kritikus értesítések - + Too many opened non-intrusive notifications. Notifications are being omitted! Túl sok megnyitott nem zavaró értesítés. Az értesítések elmaradnak! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8878,44 +8202,44 @@ Folytatni kívánja? - + Are you sure you want to continue? Biztosan folytatja? - + Please check report view for more... Kérjük, ellenőrizze a jelentés nézetet továbbiakért... - + Physical path: Fizikai útvonal: - - + + Document: Dokumentum: - - + + Path: Útvonalak: - + Identical physical path Azonos fizikai elérési út - + Could not save document Nem lehet menteni a dokumentumot - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8928,102 +8252,102 @@ Would you like to save the file with a different name? Szeretné menteni a fájlt egy másik névvel? - - - + + + Saving aborted Mentés megszakítva - + Save dependent files Függő fájlok mentése - + The file contains external dependencies. Do you want to save the dependent files, too? A fájl külső függőségeket tartalmaz. Menti a függő fájlokat is? - - + + Saving document failed Dokumentum mentése sikertelen - + Save document under new filename... Dokumentum mentése új fájlnéven... - - + + Save %1 Document A(z) %1 dokumentum mentése - + Document Dokumentum - - + + Failed to save document Nem sikerült menteni a dokumentumot - + Documents contains cyclic dependencies. Do you still want to save them? A dokumentumok ciklikus függőségeket tartalmaznak. Még mindig menteni szeretné? - + Save a copy of the document under new filename... Menti új fájlnév alatt a dokumentum egy másolatát... - + %1 document (*.FCStd) %1 dokumentum (*.FCStd) - + Document not closable A dokumentum nem zárható be - + The document is not closable for the moment. A dokumentum nem zárható be pillanatnyilag. - + Document not saved Dokumentum nincs mentve - + The document%1 could not be saved. Do you want to cancel closing it? A dokumentum%1 nem menthető. Nem szeretné bezárni? - + Undo Visszavonás - + Redo Ismétlés - + There are grouped transactions in the following documents with other preceding transactions A következő dokumentumokban csoportosított tranzakciók vannak más korábbi tranzakciókkal - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9037,47 +8361,47 @@ A 'Megszakítás' választásával megszakít Mentse a makrót - - + + Finish Befejezés - - + + Clear Törlés - - - + + + Cancel Mégse - + Inner Belső - + Outer Külső - + Split Feloszt - - + + No Browser Nincs böngésző - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9085,48 +8409,48 @@ Please open a browser window and type in: http://localhost:%1. Nyisson meg egy böngészőt, és írja be: http://localhost:%1. - + No Server Nincs szerver - + Unable to start the server to port %1: %2. Nem sikerült elindítani a szervert a %1: %2 porton. - + Unable to open your system browser. Nem lehet megnyitni a rendszer böngészőt. - + Options... Beállítások... - + Out of memory Kevés a memória - + Not enough memory available to display the data. Nincs elég memória az adatok megjelenítéséhez. - - + + Cannot find file %1 A fájl nem található: %1 - + Cannot find file %1 neither in %2 nor in %3 Nem talál fájlt %1 -ben %2 -ben, sem %3 -ban - + Navigation styles Navigációs stílusok @@ -9136,8 +8460,8 @@ Nyisson meg egy böngészőt, és írja be: http://localhost:%1. Lépés leírása - - + + Transform Átalakítás @@ -9147,42 +8471,42 @@ Nyisson meg egy böngészőt, és írja be: http://localhost:%1. Szeretné bezárni a párbeszédpanelt? - + Do you want to save your changes to document '%1' before closing? Szeretné menteni a módosításait bezárás előtt az '%1' dokumentumba? - + Do you want to save your changes to document before closing? Menti a dokumentum módosításait bezárás előtt? - + If you don't save, your changes will be lost. Ha nem menti, a módosítások elvesznek. - + Apply answer to all Válasz alkalmazása az összesre - + %1 Document(s) not saved %1 Dokumentum(ok) nincsen(ek) mentve - + Some documents could not be saved. Do you want to cancel closing? Egyes dokumentumok nem menthetők. Nem szeretné bezárni? - + Delete macro Makró törlése - + Not allowed to delete system-wide macros Nem szabad törölni a rendszer-területi makrókat @@ -9192,27 +8516,27 @@ Nyisson meg egy böngészőt, és írja be: http://localhost:%1. Kezdőpont - + Delete group content? Törli a csoport tartalmát? - + The %1 is not empty, delete its content as well? A %1 nem üres, törölheti annak tartalmát is? - + Translation: Fordítás: - + Rotation: Elforgatás: - + Toggle active part Aktív alkatrész átkapcsolása @@ -9275,88 +8599,88 @@ Nyisson meg egy böngészőt, és írja be: http://localhost:%1. Összes hivatkozás importálása sikertelen - - + + Invalid name Érvénytelen név - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. A tulajdonságnév vagy csoportnév csak alfa-numerikus adatokat, aláhúzást tartalmazhat, és nem kezdődhet számjegyekkel. - + The property '%1' already exists in '%2' A(z) '%1' tulajdonság már létezik a következőben: '%2' - + Add property Tulajdonság hozzáadása - + Failed to add property to '%1': %2 Nem sikerült tulajdonságot hozzáadni a következőhöz: '%1': %2 - - + + Drag & drop failed A fogd & vidd sikertelen - + Setup configurable object Konfigurálható tárgy beállítása - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Válassza ki, hogy mely tárgyakat másolja vagy zárja ki a konfiguráció módosításakor. Alapértelmezés szerint az összes külsőleg kapcsolódó tárgy ki van zárva. - + Please select which objects to copy when the configuration is changed A konfiguráció módosítása után válassza ki, hogy mely tárgyakat másolja - + Apply to all Alkalmazás mindegyikre - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Alkalmazza ezt a beállítást az összes hivatkozásra. Ezt a beállítást is törölheti a kijelölésből, ha a beállítást csak az aktuális hivatkozásra szeretné alkalmazni. - + Copy on change Másolás módosításkor - + Enable Bekapcsolás - + Enable auto copy of linked object when its configuration is changed Csatolt tárgy automatikus másolásának engedélyezése a konfiguráció módosításakor - + Tracking Léptetés - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9365,17 +8689,17 @@ A másolat automatikusan visszaáll, ha az eredeti csatolt tárgy megváltozik. - + Disable copy on change Másolás letiltása módosításkor - + Refresh configurable object Konfigurálható tárgy frissítése - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9386,28 +8710,28 @@ az aktuális példány elveszik. - + Toggle array elements Tömbelemek váltása - + Change whether show each link array element as individual objects Annak módosítása, hogy a csatolási tömb egyes elemeit egyedi tárgyakként jelenítse-e meg - + Transform at the origin of the placement Átalakítás a helyszín származási helyén - - + + Override colors... Színek felülbírálása... - + Edit %1 %1 szerkesztése @@ -9430,12 +8754,12 @@ az aktuális példány elveszik. SelectionFilter - + Not allowed: Nem engedélyezett: - + Selection not allowed by filter Kiválasztást nem engedi a szűrő @@ -9443,9 +8767,9 @@ az aktuális példány elveszik. StdBoxElementSelection - - - + + + Box element selection Téglatest kijelölése @@ -9453,13 +8777,13 @@ az aktuális példány elveszik. StdBoxSelection - + Box selection Négyzet kiválasztás - - + + Activate the box selection tool Aktiválja a dobozkiválasztó eszközt @@ -9537,13 +8861,13 @@ az aktuális példány elveszik. StdCmdAxisCross - + Toggle axis cross Tengely kereszteződés váltása - - + + Turns on or off the axis cross at the origin Be- vagy kikapcsolja a tengelykeresztet az origónál @@ -9649,13 +8973,13 @@ az aktuális példány elveszik. StdCmdDemoMode - + View turntable... Forgóasztal nézet... - - + + View turntable Forgóasztal nézet @@ -9775,13 +9099,13 @@ az aktuális példány elveszik. StdCmdDrawStyle - + Draw style Rajzolási stílus - - + + Change the draw style of the objects A tárgy rajzstílusának módosítása @@ -9845,13 +9169,13 @@ az aktuális példány elveszik. StdCmdExpression - + Expression actions Kifejezési műveletek - - + + Actions that apply to expressions Kifejezésekre vonatkozó műveletek @@ -9968,13 +9292,13 @@ az aktuális példány elveszik. StdCmdFreezeViews - + Freeze display Képernyő fagyasztása - - + + Freezes the current view position Az aktuális nézet pozíció fagyasztása @@ -9995,13 +9319,13 @@ az aktuális példány elveszik. StdCmdHideObjects - + Hide all objects Az összes objektum elrejtése - - + + Hide all objects in the document A dokumentumban lévő összes objektum elrejtéséhez @@ -10009,13 +9333,13 @@ az aktuális példány elveszik. StdCmdHideSelection - + Hide selection Kijelölt elrejtése - - + + Hide all selected objects Minden kijelölt objektum elrejtése @@ -10289,13 +9613,13 @@ az aktuális példány elveszik. StdCmdMeasureDistance - + Measure distance Távolság mérés - - + + Activate the distance measurement tool Aktiválja a távolságmérő eszközt @@ -10354,8 +9678,8 @@ az aktuális példány elveszik. Új üres munkalap létrehozása - - + + Unnamed Névtelen @@ -10583,8 +9907,8 @@ az aktuális példány elveszik. StdCmdRecentFiles - Recent files - Legutóbbi fájlok + Open Recent + Legutóbbi megnyitása @@ -10722,13 +10046,13 @@ az aktuális példány elveszik. StdCmdSceneInspector - + Scene inspector... Jelenet ellenőr ... - - + + Scene inspector Jelenet ellenőr @@ -10736,13 +10060,13 @@ az aktuális példány elveszik. StdCmdSelBack - + &Back &Vissza - - + + Go back to previous selection Ugrás az előző kijelölésre @@ -10750,13 +10074,13 @@ az aktuális példány elveszik. StdCmdSelBoundingBox - + &Bounding box &Határolókeret - - + + Show selection bounding box Kijelölési határolókeret megjelenése @@ -10764,13 +10088,13 @@ az aktuális példány elveszik. StdCmdSelForward - + &Forward &Előre - - + + Repeat the backed selection Biztonságos kijelölés ismétlése @@ -10792,13 +10116,13 @@ az aktuális példány elveszik. StdCmdSelectVisibleObjects - + Select visible objects Látható objektumok kijelölése - - + + Select visible objects in the active document Az aktív dokumentumban látható objektumok kijelölése @@ -10820,13 +10144,13 @@ az aktuális példány elveszik. StdCmdSetAppearance - + Appearance... Megjelenés... - - + + Sets the display properties of the selected object A képernyő tulajdonságok beállítása az objektumhoz @@ -10834,13 +10158,13 @@ az aktuális példány elveszik. StdCmdShowObjects - + Show all objects Összes objektum megjelenítése - - + + Show all objects in the document Összes objektum megjelenítése a dokumentumban @@ -10848,13 +10172,13 @@ az aktuális példány elveszik. StdCmdShowSelection - + Show selection Kijelölés megjelenítése - - + + Show all selected objects Összes kijelölt objektum megjelenítése @@ -10890,13 +10214,13 @@ az aktuális példány elveszik. StdCmdTextureMapping - + Texture mapping... Textúra leképezés ... - - + + Texture mapping Textúra leképezés @@ -10932,13 +10256,13 @@ az aktuális példány elveszik. StdCmdToggleClipPlane - + Clipping plane Vágás sík - - + + Toggles clipping plane for active view Aktív nézet váltása a vágási síkra @@ -10946,13 +10270,13 @@ az aktuális példány elveszik. StdCmdToggleNavigation - + Toggle navigation/Edit mode Váltás a navigációs/szerkesztési mód közt - - + + Toggle between navigation and edit mode Váltás a navigációs és szerkesztési mód közt @@ -10960,13 +10284,13 @@ az aktuális példány elveszik. StdCmdToggleObjects - + Toggle all objects Az összes objektum ki-/ bekapcsolása - - + + Toggles visibility of all objects in the active document Megjeleníti, illetve eltünteti az aktív dokumentumban található összes objektumot @@ -10974,13 +10298,13 @@ az aktuális példány elveszik. StdCmdToggleSelectability - + Toggle selectability Kiválaszthatóság ki-/bekapcsolása - - + + Toggles the property of the objects to get selected in the 3D-View A tárgy tulajdonságainak változtatása a 3D-nézet kiválasztásához @@ -10988,13 +10312,13 @@ az aktuális példány elveszik. StdCmdToggleVisibility - + Toggle visibility Láthatóság váltása - - + + Toggles visibility Átkapcsolja a láthatóságot @@ -11044,13 +10368,13 @@ az aktuális példány elveszik. StdCmdTreeCollapse - + Collapse selected item Kijelölt elem összecsukása - - + + Collapse currently selected tree items Jelenleg kijelölt faelemek összecsukása @@ -11058,13 +10382,13 @@ az aktuális példány elveszik. StdCmdTreeExpand - + Expand selected item Kijelölt elem kibontása - - + + Expand currently selected tree items Jelenleg kijelölt faelemek kibontása @@ -11072,13 +10396,13 @@ az aktuális példány elveszik. StdCmdTreeSelectAllInstances - + Select all instances Az összes példány kijelölése - - + + Select all instances of the current selected object Az aktuális kijelölt tárgy összes példányának kijelölése @@ -11086,13 +10410,13 @@ az aktuális példány elveszik. StdCmdTreeViewActions - + TreeView actions FaNézet műveletei - - + + TreeView behavior options and actions A FaNézet viselkedés beállításai és műveletei @@ -11156,13 +10480,13 @@ az aktuális példány elveszik. StdCmdViewBottom - + Bottom Alsó - - + + Set to bottom view Alsó nézet beállítása @@ -11170,13 +10494,13 @@ az aktuális példány elveszik. StdCmdViewCreate - + Create new view Új nézet létrehozása - - + + Creates a new view window for the active document Új nézet ablakot hoz létre az aktív dokumentumhoz @@ -11184,13 +10508,13 @@ az aktuális példány elveszik. StdCmdViewDimetric - + Dimetric Dimetrikus - - + + Set to dimetric view Dimetrikus nézetre váltás @@ -11198,13 +10522,13 @@ az aktuális példány elveszik. StdCmdViewExample1 - + Inventor example #1 Inventor példa #1 - - + + Shows a 3D texture with manipulator A kezelővel jeleníti meg a 3D textúrát @@ -11212,13 +10536,13 @@ az aktuális példány elveszik. StdCmdViewExample2 - + Inventor example #2 Inventor példa #2 - - + + Shows spheres and drag-lights Gömb felület és mozgó fényforrás mutatása @@ -11226,13 +10550,13 @@ az aktuális példány elveszik. StdCmdViewExample3 - + Inventor example #3 Inventor példa #3 - - + + Shows a animated texture Animált textúra megjelenítése @@ -11240,13 +10564,13 @@ az aktuális példány elveszik. StdCmdViewFitAll - + Fit all Összes igazítása - - + + Fits the whole content on the screen A teljes tartalom töltse ki a képernyőt @@ -11254,13 +10578,13 @@ az aktuális példány elveszik. StdCmdViewFitSelection - + Fit selection Kijelöltek igazítása képernyőméretre - - + + Fits the selected content on the screen A kiválasztott tartalom kitöltse a képernyőt @@ -11268,13 +10592,13 @@ az aktuális példány elveszik. StdCmdViewFront - + Front Elölnézet - - + + Set to front view Elölnézetre állítás @@ -11282,13 +10606,13 @@ az aktuális példány elveszik. StdCmdViewHome - + Home Kezdőoldal - - + + Set to default home view Beállítás alapértelmezett kezdőoldal nézetként @@ -11296,13 +10620,13 @@ az aktuális példány elveszik. StdCmdViewIsometric - + Isometric Izometrikus - - + + Set to isometric view Izometrikus nézetre váltás @@ -11310,13 +10634,13 @@ az aktuális példány elveszik. StdCmdViewIvIssueCamPos - + Issue camera position Kamera pozicionálása - - + + Issue the camera position to the console and to a macro, to easily recall this position Írd be a kamera helyzetét, hogy a konzol és a makró könnyen felvegye ezt a pozíciót @@ -11324,13 +10648,13 @@ az aktuális példány elveszik. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Váltott oszlopú sztereó - - + + Switch stereo viewing to Interleaved Columns Sztereó nézet váltása: Váltott oszloposra @@ -11338,13 +10662,13 @@ az aktuális példány elveszik. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Váltott soros sztereó - - + + Switch stereo viewing to Interleaved Rows Sztereó nézet váltása: Váltott sorosra @@ -11352,13 +10676,13 @@ az aktuális példány elveszik. StdCmdViewIvStereoOff - + Stereo Off Sztereó kikapcsolása - - + + Switch stereo viewing off Sztereó nézet kikapcsolása @@ -11366,13 +10690,13 @@ az aktuális példány elveszik. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Sztereó négyszeres tároló - - + + Switch stereo viewing to quad buffer Sztereó nézet váltása 4-szeres tárolóra @@ -11380,13 +10704,13 @@ az aktuális példány elveszik. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Sztereó piros/cián - - + + Switch stereo viewing to red/cyan Piros/cián sztereó nézetre váltás @@ -11394,13 +10718,13 @@ az aktuális példány elveszik. StdCmdViewLeft - + Left Bal - - + + Set to left view Bal oldali nézetre váltás @@ -11408,13 +10732,13 @@ az aktuális példány elveszik. StdCmdViewRear - + Rear Hátsó nézet - - + + Set to rear view Hátulnézetre váltás @@ -11436,13 +10760,13 @@ az aktuális példány elveszik. StdCmdViewRight - + Right Jobb oldalnézet - - + + Set to right view Jobb oldali nézetre váltás @@ -11450,13 +10774,13 @@ az aktuális példány elveszik. StdCmdViewRotateLeft - + Rotate Left Forgatás balra - - + + Rotate the view by 90° counter-clockwise Nézet forgatása 90°-al az óramutató járásával ellentétesen @@ -11464,13 +10788,13 @@ az aktuális példány elveszik. StdCmdViewRotateRight - + Rotate Right Fordítsa jobbra - - + + Rotate the view by 90° clockwise A nézetet forgassa 90° óramutató járásával egyezően @@ -11492,13 +10816,13 @@ az aktuális példány elveszik. StdCmdViewTop - + Top Felülnézet - - + + Set to top view Felülnézetre váltás @@ -11506,13 +10830,13 @@ az aktuális példány elveszik. StdCmdViewTrimetric - + Trimetric Trimetrikus - - + + Set to trimetric view Trimetrikus nézetre váltás @@ -11520,13 +10844,13 @@ az aktuális példány elveszik. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift A FreeCAD 3D ablak kiterjesztése Oculus Rift ablakra @@ -11590,13 +10914,13 @@ az aktuális példány elveszik. StdMainFullscreen - + Fullscreen Teljes képernyős - - + + Display the main window in fullscreen mode Fő ablak megjelenítése teljes képernyős módban @@ -11632,13 +10956,13 @@ az aktuális példány elveszik. StdRecallWorkingView - + Recall working view Munkanézet visszahívása - - + + Recall previously stored temporary working view Korábban tárolt ideiglenes munkanézet visszahívása @@ -11646,13 +10970,13 @@ az aktuális példány elveszik. StdStoreWorkingView - + Store working view Munkanézet mentése - - + + Store a document-specific temporary working view Dokumentumspecifikus ideiglenes munkanézet tárolása @@ -11660,13 +10984,13 @@ az aktuális példány elveszik. StdTreeCollapseDocument - + Collapse/Expand Összecsukás/kibontás - - + + Expand active document and collapse all others Aktív dokumentum kibontása és az összes többi összecsukása @@ -11674,12 +10998,12 @@ az aktuális példány elveszik. StdTreeDrag - + Initiate dragging Húzás kezdeményezése - + Initiate dragging of current selected tree items Az aktuálisan kijelölt faelemek húzásának kezdeményezése @@ -11687,13 +11011,13 @@ az aktuális példány elveszik. StdTreeMultiDocument - + Multi document Több dokumentum - - + + Display all documents in the tree view Összes dokumentumot a fa nézetben megjeleníteni @@ -11701,12 +11025,12 @@ az aktuális példány elveszik. StdTreePreSelection - + Pre-selection Előválogatás - + Preselect the object in 3D view when mouse over the tree item A tárgy előre kijelölése 3D nézetben, amikor az egér a faelem felett mozog @@ -11714,12 +11038,12 @@ az aktuális példány elveszik. StdTreeRecordSelection - + Record selection Rekordkijelölés - + Record selection in tree view in order to go back/forward using navigation button Kijelölés rögzítése a fa nézetben. Előre/hátra a navigációs gombokkal @@ -11727,13 +11051,13 @@ az aktuális példány elveszik. StdTreeSelection - + Go to selection Kijelöltre ugrás - - + + Scroll to first selected item Lapozzon az első kijelölt elemre @@ -11741,13 +11065,13 @@ az aktuális példány elveszik. StdTreeSingleDocument - + Single document Egyetlen dokumentum - - + + Only display the active document in the tree view A fa nézetben csak az aktív dokumentumot jelenítse meg @@ -11755,12 +11079,12 @@ az aktuális példány elveszik. StdTreeSyncPlacement - + Sync placement Elhelyezés szinkronizálása - + Auto adjust placement on drag and drop objects across coordinate systems Tárgyak automatikus beállítása a koordináta-rendszerek között húzni kívánt tárgyakon @@ -11768,12 +11092,12 @@ az aktuális példány elveszik. StdTreeSyncSelection - + Sync selection Kijelölés szinkronizálása - + Auto expand tree item when the corresponding object is selected in 3D view A fa automatikus kibontása, ha a társított tárgy 3D nézetben van kijelölve @@ -11781,12 +11105,12 @@ az aktuális példány elveszik. StdTreeSyncView - + Sync view Nézet szinkronizálása - + Auto switch to the 3D view containing the selected item Automatikus váltás 3D nézetre a kijelölt elemmel @@ -11794,13 +11118,13 @@ az aktuális példány elveszik. StdViewBoxZoom - + Box zoom Mező nagyítása - - + + Activate the box zoom tool Aktiválja a nagyító eszközt @@ -11808,13 +11132,13 @@ az aktuális példány elveszik. StdViewDock - + Docked Rögzített - - + + Display the active view either in fullscreen, in undocked or docked mode Az aktív nézet megjelenítése teljes képernyőben, rögzített és nem rögzített módban is @@ -11822,13 +11146,13 @@ az aktuális példány elveszik. StdViewDockUndockFullscreen - + Document window Dokumentum ablak - - + + Display the active view either in fullscreen, in undocked or docked mode Az aktív nézet megjelenítése teljes képernyőben, rögzített és nem rögzített módban is @@ -11836,13 +11160,13 @@ az aktuális példány elveszik. StdViewFullscreen - + Fullscreen Teljes képernyős - - + + Display the active view either in fullscreen, in undocked or docked mode Az aktív nézet megjelenítése teljes képernyőben, rögzített és nem rögzített módban is @@ -11850,13 +11174,13 @@ az aktuális példány elveszik. StdViewScreenShot - + Save image... Kép mentése... - - + + Creates a screenshot of the active view Képernyőkép készítése az aktuális nézetről @@ -11864,13 +11188,13 @@ az aktuális példány elveszik. StdViewUndock - + Undocked Nem rögzített - - + + Display the active view either in fullscreen, in undocked or docked mode Az aktív nézet megjelenítése teljes képernyőben, rögzített és nem rögzített módban is @@ -11878,13 +11202,13 @@ az aktuális példány elveszik. StdViewZoomIn - + Zoom In Nagyítás - - + + Increase the zoom factor by a fixed amount A nagyítási tényező fix összeggel történő növelése @@ -11892,13 +11216,13 @@ az aktuális példány elveszik. StdViewZoomOut - + Zoom Out Kicsinyítés - - + + Decrease the zoom factor by a fixed amount A nagyítási tényező fix összeggel történő csökkentése @@ -11933,72 +11257,72 @@ Biztosan folytatja? Std_DrawStyle - + As is Úgy mint - + Normal mode Aktuális mód - + Points Pontok - + Points mode Pontozott mód - + Wireframe Drótváz - + Wireframe mode Drótváz mód - + Hidden line Rejtett vonal - + Hidden line mode Rejtett vonal mód - + No shading Nincs árnyalás - + No shading mode Nincs árnyalás mód - + Shaded Árnyékolt - + Shaded mode Árnyékolt mód - + Flat lines Sima vonalak - + Flat lines mode Sima vonal mód @@ -12061,32 +11385,32 @@ Még mindig fojtatni szeretné? TreeParams - + Tree view item background. Only effective in overlay. A fanézet tárgy háttere. Csak a kivetésre vonatkozó. - + Tree view item background padding. Töltse ki a fanézet elem hátterét. - + Hide extra tree view column for item description. A fanézet egy további oszlopának elrejtése a cikk leírásához. - + Hide tree view scroll bar in dock overlay. Fa görgetősáv elrejtése a dokkoló fedvényben. - + Hide tree view header view in dock overlay. Fa görgetősáv fejléc nézet elrejtése a dokkoló fedvényben. - + Allow tree view columns to be manually resized. Engedélyezze a fanézet oszlopainak manuális átméretezését. @@ -12094,117 +11418,117 @@ Még mindig fojtatni szeretné? Workbench - + &File &Fájl - + &Edit Sz&erkesztés - + Edit Szerkesztés - + Clipboard Vágólap - + Workbench Munkafelület - + Structure Felépítés - + Standard views Alap nézetek - + Axonometric Axonometric - + &Stereo &Sztereo - + &Zoom Nagyítás - + Visibility Láthatóság - + &View Nézet - + &Tools Eszközök - + &Macro &Makró - + &Windows Ablakok - + &On-line help &On-line támogatás - + &Help Súgó - + Help Súgó - + File Fájl - + Macro Makró - + View Nézet - + Special Ops Speciális lehetőségek - + Link actions Hivatkozás műveletek @@ -12212,12 +11536,12 @@ Még mindig fojtatni szeretné? Gui::MDIView - + Export PDF Exportálás PDF-be - + PDF file PDF-fájl @@ -12225,196 +11549,190 @@ Még mindig fojtatni szeretné? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Értesítési terület - + Settings Beállítások - + The Notification area will appear in the status bar Az értesítési terület megjelenik az állapotsorban - + Enable Notification Area Értesítési terület engedélyezése - + Non-intrusive notifications will appear next to the notification area in the status bar A nem zavaró értesítések az értesítési terület mellett jelennek meg az állapotsorban - + Enable non-intrusive notifications Nem zavaró értesítések engedélyezése - + Additional data sources További adatforrások - + Errors intended for developers will appear in the notification area A fejlesztőknek szánt hibák az értesítési területen jelennek meg - + Debug errors Hibák elhárítása - + Warnings intended for developers will appear in the notification area A fejlesztőknek szánt figyelmeztetések az értesítési területen jelennek meg - + Debug warnings Hibaelhárítási figyelmeztetések - + Non-Intrusive Notifications Nem zavaró értesítések - + Minimum Duration: Minimális időtartam: - + Maximum Duration: Maximális időtartam: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Az értesítés megjelenésének időtartama (kivéve, ha az egérgombokra kattintanak) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Az értesítés megjelenésének minimális időtartama (kivéve, ha az értesítésre kattintottak) - + Maximum Number of Notifications: Értesítések maximális száma: - + Maximum number of notifications that will be simultaneously present on the screen A képernyőn egyidejűleg megjelenő értesítések maximális száma - + Notification width: Értesítési szélessége: - + Width of the notification in pixels Az értesítés szélessége pixelben - + Any open non-intrusive notifications will disappear when another window is activated Minden nyitott, nem zavaró értesítés eltűnik, amikor egy másik ablak aktiválódik - + Hide when other window is activated Más ablak aktiválásakor elrejteni - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Megakadályozza a nem zavaró értesítések megjelenését, amikor a FreeCAD ablak nem az aktív ablak - + Do not show when inactive Ne jelenjen meg, ha inaktív - + Message List Üzenetlista - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Korlátozza a listában tárolt üzenetek számát. Ha 0, akkor nincs korlátozás. - + Maximum Messages (0 = no limit): Maximális üzenetek (0 = nincs korlát): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Eltávolítja a felhasználói értesítéseket az üzenetlistából, miután a nem tolakodó maximális időtartam lejárt. - + Auto-remove User Notifications Felhasználói értesítések automatikus eltávolítása - - - Activation of the Notification Area only takes effect after an application restart. - Az értesítési terület aktiválása csak az alkalmazás újraindítása után lép hatályba. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Elérhető munkafelületek - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>A munkafelület átrendezése húz és visz segítségével történhet. További munkafelületek telepíthetők a bővítménykezelőn keresztül.</p><p> Jelenleg a rendszere a következő munkafelületekkel rendelkezik:</p></body></html> - + Start up workbench: Munkafelület indítása: - + Choose which workbench will be activated and shown after FreeCAD launches Válassza ki, hogy melyik munkaterület lesz aktiválva és jelenik meg a FreeCAD elindítása után - + Workbench selector position : Munkafelólet választó pozíciója: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12427,12 +11745,12 @@ a FreeCAD elindítása után 'Jobb sarok': A menüsor jobb sarkában. - + If checked, application will remember which workbench is active for each tab of the viewport Ha be van jelölve, az alkalmazás megjegyzi, hogy melyik munkaterület aktív a nézetablak minden lapján - + Remember active workbench by tab Aktív munkaterület lap szerinti megjegyzése @@ -12581,47 +11899,47 @@ a FreeCAD elindítása után Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Ha a jelölőnégyzet nincs bejelölve, a %1 nem jelenik meg a rendelkezésre álló munkafelületek között. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Ez az aktuális indítómodul, és engedélyezni kell. A módosításhoz lásd a Beállítások/Általános/Autobetöltés menüpontot. - + Shortcut to activate this workbench. A munkafelület aktiválásának gyorsbillentyűje. - + Auto-load Auto betöltés - + If checked, %1 will be loaded automatically when FreeCAD starts up Ha bejelölt, akkor a %1 automatikusan betöltődik a FreeCAD indulásakor - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Ez az aktuális indítási modul, és automatikusan be kell tölteni. Ennek módosításához lásd a Beállítások/Általános/Automatikus betöltés lehetőséget. - + Loaded Betöltve - + Load Betöltés - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Az erőforrások kímélése érdekében a FreeCAD nem tölti be a munkafelületeket, amíg azokat nem használják. Betöltésükkel a funkcionalitásukkal kapcsolatos további beállításokhoz férhet hozzá. @@ -12629,17 +11947,22 @@ a FreeCAD elindítása után Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Eszköztár - + Left corner Bal sarok - + Right corner Jobb sarok @@ -12665,12 +11988,12 @@ a FreeCAD elindítása után Gui::NotificationArea - + Delete user notifications Felhasználói értesítések törlése - + Delete All Összes törlése @@ -12706,13 +12029,13 @@ a FreeCAD elindítása után StdViewLoadImage - + Load image... Kép betöltés... - - + + Loads an image Egy képet tölt @@ -12774,10 +12097,815 @@ a FreeCAD elindítása után Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Hiba történt -- lásd a jelentés nézetet az információért + + Gui::Dialog::DlgSettingsEditor + + + Editor + Szerkesztő + + + + Options + Beállítások + + + + Code lines will be numbered + A kódsorok sorszámozva lesznek + + + + Enable line numbers + Sorszámozás bekapcsolása + + + + The cursor shape will be a block + A kurzor alajkja nagy blokk lesz + + + + Enable block cursor + Nagy kurzor engedélyezése + + + + Enable folding + Hajlítás bekapcsolása + + + + Indentation + Azonosítás + + + + Tab size: + Tabulátorméret: + + + + Tabulator raster (how many spaces) + Tabulátor raszter (hány szóköz) + + + + Indent size: + Azonosítási méret: + + + + How many spaces will be inserted when pressing <Tab> + Ennyi szóköz kerül beszúrva a <Tab> megnyomására + + + + Pressing <Tab> will insert a tabulator with defined tab size + A <Tab> billentyű megnyomására meghatározott méretű tabulátort szúr be + + + + Keep tabs + Tabulátorok megtartása + + + + Pressing <Tab> will insert amount of defined indent size + A <Tab> beszúrja a megadott behúzási méretet + + + + Insert spaces + Szóközök beszúrása + + + + Display items + Elemek megjelenítése + + + + Color and font settings will be applied to selected type + A kiválasztott típushoz alkalmazandó szín- és betű beállítások + + + + Family: + Szülő: + + + + Font family to be used for selected code type + A kiválasztott kód típushoz használandó betű család + + + + Size: + Méret: + + + + Font size to be used for selected code type + A kijelölt kódtípushoz használandó betűméret + + + + Color: + Szín: + + + + Preview: + Előnézet: + + + + Text + Szöveg + + + + Bookmark + Könyvjelző + + + + Breakpoint + Töréspont + + + + Keyword + Kulcsszó + + + + Comment + Megjegyzés + + + + Block comment + Megjegyzés tömb + + + + Number + Szám + + + + String + Karakterlánc + + + + Character + Karakter + + + + Class name + Osztálynév + + + + Define name + Definiált név + + + + Operator + Irányító + + + + Python output + Python kimenet + + + + Python error + Python hiba + + + + Current line highlight + Aktuális vonal kiemelése + + + + Items + Elemek + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Általános + + + + Language and number format + Nyelv és számformátum + + + + Language: + Nyelv: + + + + Language of the application's user interface + Az alkalmazás felhasználói felületének nyelve + + + + Unit system: + Mértékegységrendszer: + + + + Unit system that should be used for all parts of the application + Az alkalmazás minden részéhez használandó egységrendszer + + + + Number of decimals: + Tizedesjegyek száma: + + + + Number of decimals that should be shown for numbers and dimensions + A számokhoz és dimenziókhoz feltüntetendő tizedesjegyek száma + + + + Minimum fractional inch: + Legkisebb része hüvelykben/inch: + + + + Minimum fractional inch to be displayed + A megjelenítendő legkisebb tört hüvelyk + + + + Number format: + Szám formátum: + + + + Operating system + Operációs rendszer + + + + Selected language + Kijelölt nyelv + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Ha engedélyezve van, a numerikus billentyűzet tizedeselválasztója +területi elválasztóval lesz helyettesítve, kivéve +a Python konzolban és a makrószerkesztőben, ahol a +pont/pont mindig ki lesz nyomtatva. + + + + Substitute decimal separator + Helyettesítő tizedeselválasztó + + + + Application + Alkalmazás + + + + Theme: + Téma: + + + + Customize how user interface will look like + Testre szabhatja, hogyan nézzen ki a felhasználói felület + + + + Size of toolbar icons: + Eszköztárikonok mérete: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Válassza ki az eszköztárikon méretét. Beállíthatja, a képernyő méretének vagy a személyes ízlésnek megfelelően + + + + Tree view mode: + Fa nézet mód: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + A fanézet panelen való megjelenítésének testreszabása (újraindítás szükséges). + +"KombináltNézet": a fanézet és a tulajdonságnézet kombinálása egyetlen panelen. +'FaNézet és TulajdonságNézet': a fa nézet és a tulajdonság nézet felosztása külön panelre. +"Mindkettő": tartsa meg mindhárom panelt, és két fanézet- és tulajdonságnézetet használhat. + + + + Size of recent file list: + Legutóbbi fájlok listájának mérete: + + + + How many files should be listed in recent files list + A legutóbbi file-ok listájában szereplő file-ok száma + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + A főablak háttere (ha nincs megnyitva dokumentum) egy speciális kép csempéiből áll. +A képpel kapcsolatos részletekért lásd a FreeCAD Wiki-t. + + + + Enable tiled background + Engedélyezi a csempézett háttérképet + + + + The text cursor will be blinking + A szövegkurzor villogni fog + + + + Enable cursor blinking + Kurzor villogásának engedélyezése + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + A kezdőkép egy kis betöltőablak, amely +a FreeCAD indulásakor látható. Ha ez az opció be van jelölve, a FreeCAD +megjeleníti a kezdő képet + + + + Enable splash screen at start up + Felugró ablak bekapcsolása a kezdő oldalon + + + + Preference packs + Preferenciacsomagok + + + + Name + Név + + + + Type + Típus + + + + Load + Betöltés + + + + Import config... + Importálási konfiguráció... + + + + Save new... + Új mentése... + + + + Manage... + Kezel... + + + + Revert... + Visszaállít... + + + + Manage preference packs + Beállításcsomagok kezelése + + + + Small (%1px) + Kicsi (%1px) + + + + Medium (%1px) + Közepes (%1px) + + + + Large (%1px) + Nagy (%1px) + + + + Extra large (%1px) + Extra nagy (%1px) + + + + Custom (%1px) + Egyéni (%1px) + + + + Combo View + Összetett nézet + + + + TreeView and PropertyView + FaNézet és TulajdonságNézet + + + + Both + Mindkettő + + + + Preference Pack Name + Preferencia csomag név + + + + Tags + Címkék + + + + Apply + Alkalmaz + + + + Apply the %1 preference pack + Preferenciacsomag alkalmazása: %1 + + + + Choose a FreeCAD config file to import + Válassza ki az importálni kívánt FreeCAD konfigurációs fájlt + + + + File exists + A fájl létezik + + + + A preference pack with that name already exists. Overwrite? + Már létezik ilyen nevű preferenciacsomag. Felülírja? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Jelentés nézet + + + + Output + Kimenet + + + + Normal messages will be recorded + Alapértelmezett üzenetek rögzítésre kerülnek + + + + Record normal messages + Aktuális üzenetek rögzítése + + + + Log messages will be recorded + Naplóüzenetek rögzítésre kerülnek + + + + Record log messages + Változások naplózása + + + + Warnings will be recorded + Figyelmeztetések rögzítésre kerülnek + + + + Record warnings + Riasztások feljegyzése + + + + Error messages will be recorded + Hibaüzenetek rögzítésre kerülnek + + + + Record error messages + Hibák feljegyzése + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Hiba esetén a Jelentésnézet párbeszédpanel láthatóvá válik +a képernyőn a hiba megjelenítése közben + + + + Show report view on error + Jelentésnézet megjelenítése hiba esetén + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Figyelmeztetés esetén a Jelentésnézet párbeszédpanel láthatóvá válik +a képernyőn, miközben megjeleníti a figyelmeztető + + + + Show report view on warning + Jelentésnézet megjelenítése figyelmeztetésre + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Aktuális üzenet bekövetkezése esetén a Jelentésnézet párbeszédpanel láthatóvá válik +a képernyőn az üzenet megjelenítése közben + + + + Show report view on normal message + Jelentésnézet megjelenítése aktuális üzenetben + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Naplóüzenet bekövetkezése esetén, a Jelentésnézet párbeszédpanel láthatóvá válik +a képernyőn a naplóüzenet megjelenítése közben + + + + Show report view on log message + Jelentésnézet megjelenítése naplóüzenetben + + + + Include a timecode for each report + Minden jelentéshez időkód szerepeltetése + + + + Include a timecode for each entry + Minden bejegyzéshez adjon meg egy időkódot + + + + Colors + Színek + + + + Normal messages: + Aktuális üzenetek: + + + + Font color for normal messages in Report view panel + Aktuális üzenetek betűszíne a Jelentés nézet panelen + + + + Log messages: + Naplóüzenetek: + + + + Font color for log messages in Report view panel + Naplóüzenetek betűszíne a Jelentés nézet panelen + + + + Warnings: + Riasztások: + + + + Font color for warning messages in Report view panel + Figyelmeztető üzenetek betűszíne a Jelentés nézet panelen + + + + Errors: + Hibaüzenetek: + + + + Font color for error messages in Report view panel + Hibaüzenetek betűszíne a Jelentés nézet panelen + + + + Python interpreter + Python értelmező + + + + Internal Python output will be redirected +from Python console to Report view panel + A belső Python kimenet átirányításra kerül +a Python konzolról a Jelentés nézet panelre + + + + Redirect internal Python output to report view + Belső Python kimenet átirányítása jelentés megtekintéséhez + + + + Internal Python error messages will be redirected +from Python console to Report view panel + A belső Python-hibaüzenetek át lesznek irányítva +a Python konzolról a Jelentés nézet panelre + + + + Redirect internal Python errors to report view + Belső Python hibák átirányítása a jelentés nézetbe + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Téma + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Ezen az oldalon testre szabhatja az aktuális témát. A felkínált beállítások a témafejlesztők számára választhatók, így előfordulhat, hogy az aktuális témára hatással lesznek vagy nem. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Ezt a színt a téma használhatja, hogy testre szabhassa. + + + + No style sheet + Nincs stíluslap + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_id.ts b/src/Gui/Language/FreeCAD_id.ts index bc3feb9838..b201ece2e4 100644 --- a/src/Gui/Language/FreeCAD_id.ts +++ b/src/Gui/Language/FreeCAD_id.ts @@ -32,39 +32,39 @@ App::Property - + The displayed size of the origin Ukuran ditampilkan asal - + Visual size of the feature Ukuran visual fitur - + <empty> <empty> - - + + Angle Sudut - - + + Axis Axis - + Position Position - + Enum Enum @@ -77,30 +77,42 @@ CmdTestConsoleOutput - - - + Test console output Menguji output konsol + + + + Run test cases to verify console messages + Run test cases to verify console messages + CmdViewMeasureClearAll - - + Clear measurement Jelas pengukuran + + + Clear all visible measurements + Clear all visible measurements + CmdViewMeasureToggleAll - - + Toggle measurement Toggle pengukuran + + + Turn on or off the display of all measurements + Turn on or off the display of all measurements + Command @@ -120,7 +132,7 @@ Menghapus - + Paste expressions Paste expressions @@ -170,7 +182,7 @@ Add a group - + Align Align @@ -181,40 +193,40 @@ Penempatan - - + + Transform Transform - + Toggle array elements Toggle array elements - + Link Transform Link Transform - + Measure distance Ukur jarak - + Toggle visibility Toggle visibility - + Toggle selectability Toggle selectability - + Edit image Edit image @@ -222,77 +234,77 @@ CommandGroup - + File Mengajukan - + Edit Edit - + Help Bantuan - + Link Link - + Tools Alat - + View Tampilan - + Window Jendela - + Standard Standar - + Macros Makro - + Macro Makro - + Structure Struktur - + Standard-Test Standar-Test - + Standard-View Tampilan Standar - + TreeView TreeView - + Measure Ukuran @@ -390,11 +402,6 @@ DownloadItem - - - Form - Bentuk - Ico @@ -409,25 +416,45 @@ EditMode - + Default Bawaan - + + The object will be edited using the mode defined internally to be the most appropriate for the object type + The object will be edited using the mode defined internally to be the most appropriate for the object type + + + Transform Transform - + + The object will have its placement editable with the Std TransformManip command + The object will have its placement editable with the Std TransformManip command + + + Cutting Pemotongan - + + This edit mode is implemented as available but currently does not seem to be used by any object + This edit mode is implemented as available but currently does not seem to be used by any object + + + Color Warna + + + The object will have the color of its individual faces editable with the Part FaceColors command + The object will have the color of its individual faces editable with the Part FaceColors command + ExpressionLabel @@ -450,7 +477,7 @@ tidak ada - + Press a keyboard shortcut Press a keyboard shortcut @@ -458,32 +485,32 @@ Gui::ActionSelector - + Available: Tersedia: - + Selected: Terpilih: - + Add Menambahkan - + Remove Menghapus - + Move up Pindah ke atas - + Move down Pindah ke bawah @@ -491,12 +518,12 @@ Gui::AlignmentView - + Movable object Benda bergerak - + Fixed object Objek tetap @@ -527,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Harap tunggu sampai file AutoRecovery telah disimpan... @@ -535,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Tekan tombol kiri mouse - + Press SHIFT and middle mouse button Tekan tombol SHIFT dan mouse tengah - + Press middle mouse button Tekan tombol tengah mouse - + Scroll middle mouse button Geser tombol tengah mouse @@ -558,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Tekan tombol kiri mouse - + Press middle mouse button Tekan tombol tengah mouse - + Press middle+left or middle+right button Press middle+left or middle+right button - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Scroll middle mouse button or keep middle button depressed @@ -583,12 +610,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &BAIK - + &Cancel &Membatalkan @@ -596,7 +623,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Panel tugas @@ -680,47 +707,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Kredit - + FreeCAD would not be possible without the contributions of FreeCAD would not be possible without the contributions of - + Individuals Header for the list of individual people in the Credits list. Individuals - + Organizations Header for the list of companies/organizations in the Credits list. Organisasi - - + + License Lisensi - + Libraries Pustaka - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: This software uses open source components whose copyright and other proprietary rights belong to their respective owners: - + Collection Collection @@ -728,22 +755,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Cache directory - + The cache directory %1 exceeds the size of %2. The cache directory %1 exceeds the size of %2. - + Do you want to clear it now? Do you want to clear it now? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! @@ -764,37 +791,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Setelan kamera - + Orientation Orientasi - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Current view @@ -860,7 +887,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Perintah @@ -1085,12 +1112,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Pack already exists - + A preference pack with that name already exists. Do you want to overwrite it? A preference pack with that name already exists. Do you want to overwrite it? @@ -1328,48 +1355,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Type to search... - + Icon Ikon - + Command Perintah - + Shortcut Shortcut - + Default Bawaan - + Name Nama - + Title Judul - + All Semua - - + + none tidak ada @@ -1377,8 +1404,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Bilah alat kotak @@ -1467,40 +1494,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separator> - + %1 module not loaded %1 module not loaded - + New toolbar Toolbar baru - - + + Toolbar name: Nama Toolbar: - - + + Duplicated name Nama duplikat - - + + The toolbar name '%1' is already used Nama toolbar ' % 1 ' sudah digunakan - + Rename toolbar Ubah nama toolbar @@ -1513,19 +1540,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Sesuaikan - + &Help &Membantu - + &Close &Dekat @@ -1534,13 +1561,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Spaceball gerak - + No Spaceball Present Tidak ada spaceball yang hadir @@ -1548,27 +1575,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Tombol Spaceball - + No Spaceball Present Tidak ada spaceball yang hadir - + Buttons Tombol - + Reset Setel ulang - + Print Reference Referensi Cetak @@ -1653,551 +1680,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Bawaan - + Aluminium Aluminium - + Brass Kuningan - + Bronze Perunggu - + Copper Tembaga - + Chrome Chrome - + Emerald Zamrud - + Gold Emas - + Jade Giok - + Metalized Metalized - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidian - + Pewter Timah - + Plaster Plester - + Plastic Plastik - + Ruby Rubi - + Satin Satin - + Shiny plastic Plastik mengkilap - + Silver Perak - + Steel Baja - + Stone Batu Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Pilihan - - - - Code lines will be numbered - Code lines will be numbered - - - - Enable line numbers - Aktifkan nomor baris - - - - The cursor shape will be a block - The cursor shape will be a block - - - - Enable block cursor - Enable block cursor - - - - Enable folding - Aktifkan lipat - - - - Indentation - Lekukan - - - - Tab size: - Ukuran tab: - - - - Tabulator raster (how many spaces) - Tabulator raster (how many spaces) - - - - Indent size: - Ukuran indent: - - - - How many spaces will be inserted when pressing <Tab> - How many spaces will be inserted when pressing <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Pressing <Tab> will insert a tabulator with defined tab size - - - - Keep tabs - Mengawasi - - - - Pressing <Tab> will insert amount of defined indent size - Pressing <Tab> will insert amount of defined indent size - - - - Insert spaces - Sisipkan spasi - - - - Display items - Display items - - - - Color and font settings will be applied to selected type - Color and font settings will be applied to selected type - - - - Family: - Keluarga: - - - - Font family to be used for selected code type - Font family to be used for selected code type - - - - Size: - Ukuran: - - - - Font size to be used for selected code type - Font size to be used for selected code type - - - - Color: - Warna: - - - - Preview: - Pratinjau: - - - Gui::Dialog::DlgGeneral - - - General - Umum - - - - Language of the application's user interface - Language of the application's user interface - - - - Number format: - Number format: - - - - Operating system - Sistem operasi - - - - Selected language - Selected language - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Preference packs - - - - Name - Nama - - - - Type - Jenis - - - - Load - Muat - - - - Import config... - Import config... - - - - Save new... - Save new... - - - - Manage... - Manage... - - - - Revert... - Revert... - - - - How many files should be listed in recent files list - How many files should be listed in recent files list - - - - Enable tiled background - Aktifkan latar belakang ubin - - - - The text cursor will be blinking - The text cursor will be blinking - - - - Enable cursor blinking - Enable cursor blinking - - - - Style sheet: - Style sheet: - - - - Language and number format - Language and number format - - - - Language: - Language: - - - - Unit system: - Sistem satuan: - - - - Unit system that should be used for all parts of the application - Unit system that should be used for all parts of the application - - - - Number of decimals: - Jumlah desimal: - - - - Number of decimals that should be shown for numbers and dimensions - Number of decimals that should be shown for numbers and dimensions - - - - Minimum fractional inch: - Minimum fractional inch: - - - - Minimum fractional inch to be displayed - Minimum fractional inch to be displayed - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - Aplikasi - - - - Style sheet how user interface will look like - Style sheet how user interface will look like - - - - Size of toolbar icons: - Ukuran ikon toolbar: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - - - - Tree view mode: - Tree view mode: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - - - - Size of recent file list: - Size of recent file list: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - - - - Enable splash screen at start up - Aktifkan layar splash saat start up - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Manage preference packs - - - - Small (%1px) - Kecil ( % 1p x) - - - - Medium (%1px) - Sedang ( % 1p x) - - - - Large (%1px) - Besar ( % 1p x) - - - - Extra large (%1px) - Ekstra besar (%1px) - - - - Custom (%1px) - Custom (%1px) - - - - Combo View - Tampilan Kombo - - - - TreeView and PropertyView - TreeView and PropertyView - - - - Both - Both - - - - No style sheet - Tidak ada style sheet - - - - Preference Pack Name - Preference Pack Name - - - - Tags - Tags - - - - Apply - Apply - - - - Apply the %1 preference pack - Apply the %1 preference pack - - - - Choose a FreeCAD config file to import - Choose a FreeCAD config file to import - - - - File exists - File exists - - - - A preference pack with that name already exists. Overwrite? - A preference pack with that name already exists. Overwrite? - - Gui::Dialog::DlgInputDialog @@ -2213,8 +1812,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector Adegan Inspektur @@ -2306,70 +1905,70 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros Makro - + Read-only Baca saja - + Macro file File makro - + Enter a file name, please: Masukkan nama file, silahkan: - - - + + + Existing file File yang ada - + '%1'. This file already exists. ' % 1 '. File ini sudah ada. - + Cannot create file Tidak bisa membuat file - + Creation of file '%1' failed. Pembuatan file ' % 1 ' gagal. - + Delete macro Hapus makro - + Do you really want to delete the macro '%1'? Apakah Anda benar-benar ingin menghapus makro ' % 1 '? - + Do not show again Jangan tunjukkan lagi - + Guided Walkthrough Guided Walkthrough - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2380,77 +1979,77 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 Walkthrough, dialog 1 of 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close - + Walkthrough, dialog 1 of 1 Walkthrough, dialog 1 of 1 - + Walkthrough, dialog 2 of 2 Walkthrough, dialog 2 of 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Walkthrough instructions: Click right arrow button (->), then Close. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Walkthrough instructions: Click New, then right arrow (->) button, then Close. - + Renaming Macro File Mengganti nama file makro - - + + Enter new name: Masukkan nama baru: - - + + '%1' already exists. ' %1 ' sudah ada. - + Rename Failed Ganti nama Gagal - + Failed to rename to '%1'. Perhaps a file permission error? Gagal mengganti nama menjadi ' % 1 '. Mungkin file permission error? - + Duplicate Macro Duplicate Macro - + Duplicate Failed Duplicate Failed - + Failed to duplicate to '%1'. Perhaps a file permission error? Failed to duplicate to '%1'. @@ -2493,39 +2092,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Perekam Makro - + Specify first a place to save. Tentukan dulu tempat untuk menyimpan. - + The macro directory doesn't exist. Please, choose another one. Direktori makro tidak ada. Tolong pilih yang lain. - + Existing macro Makro yang ada - + The macro '%1' already exists. Do you want to overwrite? Makro ' % 1 ' sudah ada. Apakah Anda ingin menimpa? - + You have no write permission for the directory. Please, choose another one. Anda tidak memiliki izin menulis untuk direktori. Tolong pilih yang lain. - + Choose macro directory Pilih direktori makro @@ -2598,12 +2197,12 @@ Perhaps a file permission error? File HTML - + Access denied Akses ditolak - + Access denied to '%1' Specify another directory, please. @@ -2830,42 +2429,42 @@ Specify another directory, please. Gui::Dialog::DlgPreferencesImp - + Clear user settings Hapus pengaturan pengguna - + Do you want to clear all your user settings? Apakah Anda ingin menghapus semua pengaturan pengguna Anda? - + If you agree all your settings will be cleared. Jika Anda setuju semua pengaturan Anda akan dihapus. - + Wrong parameter Parameter yang salah - + Restart required Restart required - + You must restart FreeCAD for changes to take effect. You must restart FreeCAD for changes to take effect. - + Restart now Restart now - + Restart later Restart later @@ -3002,36 +2601,36 @@ Specify another directory, please. File proyek - - + + Empty source Sumber kosong - - + + No source is defined. Tidak ada sumber yang didefinisikan. - - + + Empty destination Tujuan kosong - - + + No destination is defined. Tidak ada tujuan yang ditentukan. - + Failed to extract project Failed to extract project - + Failed to create project Failed to create project @@ -3081,188 +2680,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Tampilan laporan - - - - Output - Keluaran - - - - Normal messages will be recorded - Normal messages will be recorded - - - - Record normal messages - Record normal messages - - - - Log messages will be recorded - Log messages will be recorded - - - - Record log messages - Rekam pesan log - - - - Warnings will be recorded - Warnings will be recorded - - - - Record warnings - Catat peringatan - - - - Error messages will be recorded - Error messages will be recorded - - - - Record error messages - Rekam pesan kesalahan - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - - - - Show report view on error - Show report view on error - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - - - - Show report view on warning - Show report view on warning - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - - - - Show report view on normal message - Show report view on normal message - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - - - - Show report view on log message - Show report view on log message - - - - Include a timecode for each report - Include a timecode for each report - - - - Include a timecode for each entry - Include a timecode for each entry - - - - Colors - Warna - - - - Normal messages: - Pesan normal: - - - - Font color for normal messages in Report view panel - Font color for normal messages in Report view panel - - - - Log messages: - Pesan log: - - - - Font color for log messages in Report view panel - Font color for log messages in Report view panel - - - - Warnings: - Peringatan: - - - - Font color for warning messages in Report view panel - Font color for warning messages in Report view panel - - - - Errors: - Kesalahan: - - - - Font color for error messages in Report view panel - Font color for error messages in Report view panel - - - - Python interpreter - Penerjemah Python - - - - Internal Python output will be redirected -from Python console to Report view panel - Internal Python output will be redirected -from Python console to Report view panel - - - - Redirect internal Python output to report view - Arahkan ulang keluaran Python internal ke tampilan laporan - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Internal Python error messages will be redirected -from Python console to Report view panel - - - - Redirect internal Python errors to report view - Redirect kesalahan Python internal untuk melihat laporan - @@ -3289,7 +2706,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No selection in dialog, cannot load backup file @@ -3332,7 +2749,7 @@ from Python console to Report view panel Bantuan - + Select a file Pilih berkas @@ -3340,70 +2757,70 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View Tampilan 3D - + General Umum - + Main coordinate system will always be shown in lower right corner within opened files Main coordinate system will always be shown in lower right corner within opened files - + Show coordinate system in the corner Tunjukkan sistem koordinat di pojok - + Relative size : Relative size : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Size of main coordinate system representation in the corner -- in % of height/width of viewport - + Axis cross will be shown by default at file opening or creation Axis cross will be shown by default at file opening or creation - + Show axis cross by default Show axis cross by default - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files - + Show counter of frames per second Tampilkan counter frame per detik - + Rendering Rendering - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3412,22 +2829,22 @@ Changing this option requires a restart of the application. Changing this option requires a restart of the application. - + Use software OpenGL Use software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Use OpenGL VBO (Vertex Buffer Object) - + Render cache Render cache - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3450,7 +2867,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3467,92 +2884,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Mobil - + Distributed Distributed - + Centralized Centralized - + Anti-Aliasing Anti-Aliasing - + What kind of multisample anti-aliasing is used What kind of multisample anti-aliasing is used - + None Tidak ada - + Line Smoothing Line Smoothing - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Transparent objects: - + Render types of transparent objects Render types of transparent objects - + One pass One pass - + Backface pass Backface pass - + Marker size: Marker size: - - Size of vertices in the Sketcher workbench - Size of vertices in the Sketcher workbench + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Eye to eye distance for stereo modes - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3561,48 +2978,48 @@ The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. - + Backlight is enabled with the defined color Backlight is enabled with the defined color - - + + Backlight color Backlight color - + Intensity Intensity - + Intensity of the backlight Intensity of the backlight - + Camera type Tipe kamera - + Objects will appear in a perspective projection Objects will appear in a perspective projection - + Perspective renderin&g Perspektif renderin & g - + Objects will be projected in orthographic projection Objects will be projected in orthographic projection - + Or&thographic rendering Atau & thographic rendering @@ -3614,42 +3031,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anti-aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Buka penampil baru atau mulai ulang % 1 untuk menerapkan perubahan anti-aliasing. @@ -3657,77 +3074,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Cache directory - + Location: Location: - + Check periodically at program start: Check periodically at program start: - + Always Always - + Daily Daily - + Weekly Weekly - + Monthly Monthly - + Yearly Yearly - + Never Never - + Cache size limit: Cache size limit: - + Check now... Check now... - + Notify the user if the cache size exceeds the specified limit Notify the user if the cache size exceeds the specified limit - + Unknown Unknown - + Current cache size: %1 Current cache size: %1 @@ -3888,12 +3305,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Parameter yang salah - + The maximum value must be higher than the minimum value. Nilai maksimum harus lebih tinggi dari nilai minimum. @@ -3901,180 +3318,180 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Dokumen - + General Umum - + The application will create a new document when started The application will create a new document when started - + Create new document at start up Buat dokumen baru saat start up - + Document save compression level (0 = none, 9 = highest, 3 = default) Dokumen menyimpan tingkat kompresi (0 = none, 9 = tertinggi, 3 = default) - + Compression level for FCStd files Compression level for FCStd files - + All changes in documents are stored so that they can be undone/redone All changes in documents are stored so that they can be undone/redone - + Using Undo/Redo on documents Menggunakan Undo / Redo pada dokumen - + Maximum Undo/Redo steps Langkah Undo / Redo Maksimum - + How many Undo/Redo steps should be recorded How many Undo/Redo steps should be recorded - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. - + Allow aborting recomputation Allow aborting recomputation - + Storage Penyimpanan - + Saving transactions (Auto-save) Menyimpan transaksi (Auto-save) - + Discard saved transaction after saving document Buang transaksi tersimpan setelah menyimpan dokumen - + If there is a recovery file available the application will automatically run a file recovery when it is started. If there is a recovery file available the application will automatically run a file recovery when it is started. - + Run AutoRecovery at startup Jalankan AutoRecovery saat startup - + How often a recovery file is written How often a recovery file is written - + Save AutoRecovery information every Simpan informasi AutoRecovery setiap - + A thumbnail will be stored when document is saved A thumbnail will be stored when document is saved - + Save thumbnail into project file when saving document Simpan thumbnail ke file proyek saat menyimpan dokumen - + Size Ukuran - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Atur ukuran keluku yang ada pada dokumen. Ukuran yang lazim ialah 128, 256, dan 512 - + The program logo will be added to the thumbnail Logo program akan ditambahkan ke keluku - + Add the program logo to the generated thumbnail Tambahkan logo program ke gambar kecil yang dihasilkan - + How many backup files will be kept when saving document How many backup files will be kept when saving document - + Maximum number of backup files to keep when resaving document Jumlah maksimum file cadangan untuk disimpan saat menyimpan dokumen - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Backup files will get extension '.FCbak' and file names get date suffix according to the specified format - + Use date and FCBak extension Use date and FCBak extension - + Date format Format tanggal - + Document objects Dokumen objek - + Allow objects to have same label Allow objects to have same label - + Allow duplicate object labels in one document Izinkan label objek duplikat dalam satu dokumen - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4087,22 +3504,22 @@ A partially loaded document cannot be edited. Double click the document icon in the tree view to fully reload it. - + Disable partial loading of external linked objects Disable partial loading of external linked objects - + Authoring and License Authoring and License - + Author name Nama penulis - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4111,32 +3528,32 @@ Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file The field 'Last modified by' will be set to specified author when saving the file - + Set on save Atur di save - + Company Perusahaan - + Default company name to use for new files Default company name to use for new files - + Default license Lisensi default - + Default license for new documents Default license for new documents @@ -4206,12 +3623,12 @@ You can also use the form: John Doe <john@doe.com> Lain - + License URL URL lisensi - + URL describing more about the license URL describing more about the license @@ -4219,104 +3636,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. The format of the date to use. - + Default Bawaan - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Teks - - - - Bookmark - Tanda buku - - - - Breakpoint - Titik istirahat - - - - Keyword - Kata kunci - - - - Comment - Komentar - - - - Block comment - Blok komentar - - - - Number - Jumlah - - - - String - Tali - - - - Character - Karakter - - - - Class name - Nama kelas - - - - Define name - Tentukan nama - - - - Operator - Operator - - - - Python output - Keluaran Python - - - - Python error - Kesalahan Python - - - - Current line highlight - Sorotan saluran saat ini - - - - Items - Item - - Gui::Dialog::DlgSettingsImage @@ -4497,122 +3831,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Makro - + General macro settings Pengaturan makro umum - + Variables defined by macros are created as local variables Variables defined by macros are created as local variables - + Run macros in local environment Jalankan macro di lingkungan lokal - + Macro recording settings Pengaturan perekaman makro - + Macro path Jalan makro - + The directory in which the application will search for macros The directory in which the application will search for macros - + Gui commands Perintah Gui - + Recorded macros will also contain user interface commands Recorded macros will also contain user interface commands - + Record GUI commands Rekam perintah GUI - + Recorded macros will also contain user interface commands as comments Recorded macros will also contain user interface commands as comments - + Record as comment Rekam sebagai komentar - + Logging Commands Perintah Logging - + Commands executed by macro scripts are shown in Python console Commands executed by macro scripts are shown in Python console - + Show script commands in python console Tampilkan perintah skrip di konsol python - + Log all commands issued by menus to file: Log semua perintah yang dikeluarkan oleh menu ke file: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Recent macros menu - + Size of recent macro list Size of recent macro list - + How many macros should be listed in recent macros list How many macros should be listed in recent macros list - + Keyboard shortcut count Keyboard shortcut count - + How many recent macros should have shortcuts How many recent macros should have shortcuts - + Keyboard Modifiers Keyboard Modifiers - + Keyboard modifiers, default = Ctrl+Shift+ Keyboard modifiers, default = Ctrl+Shift+ @@ -4620,137 +3954,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigasi - + Navigation cube Kubus navigasi - + Steps by turn Steps by turn - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) - + Corner Corner - + Corner where navigation cube is shown Corner where navigation cube is shown - + Top left Kiri atas - + Top right Kanan atas - + Bottom left Kiri bawah - + Bottom right Kanan bawah - + Rotates to nearest possible state when clicking a cube face Rotates to nearest possible state when clicking a cube face - + Rotate to nearest Rotate to nearest - + Font name: Font name: - + Font name of the navigation cube Font name of the navigation cube - + + Default + Bawaan + + + Cube size Ukuran kubus - + Size of the navigation cube Ukuran kubus navigasi - - Font size: - Font size: + + Color + Warna - - Font size of the navigation cube - Font size of the navigation cube + + Base color for all elements + Base color for all elements - - Button color - Button color - - - - color for all elements -around the cube - color for all elements -around the cube - - - + 3D Navigation Navigasi 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. - + Mouse... Mouse... - + Navigation settings set Navigation settings set - + Orbit style Gaya Orbit - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4761,116 +4088,116 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable Turntable - + Trackball Trackball - + Free Turntable Free Turntable - + Rotation mode Rotation mode - + Rotations in 3D will use current cursor position as center for rotation Rotations in 3D will use current cursor position as center for rotation - + Window center Window center - + Drag at cursor Drag at cursor - + Object center Pusat objek - + Default camera orientation Default camera orientation - + Default camera orientation when creating a new document or selecting the home view Default camera orientation when creating a new document or selecting the home view - + Camera zoom Camera zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. - + mm mm - + Enable animated rotations Enable animated rotations - + Enable animation Aktifkan animasi - + Zoom operations will be performed at position of mouse pointer Zoom operations will be performed at position of mouse pointer - + Zoom at cursor Perbesar kursor - + Zoom step Zoom step - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. - + Direction of zoom operations will be inverted Direction of zoom operations will be inverted - + Invert zoom Balikkan zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4879,57 +4206,67 @@ Affects only gesture navigation style. Mouse tilting is not disabled by this setting. - + Disable touchscreen tilt gesture Disable touchscreen tilt gesture - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Isometrik - + Dimetric Dimetrik - + Trimetric Trimetrik - + Top Puncak - + Front Depan - + Left Kiri - + Right Kanan - + Rear Belakang - + Bottom Bawah - + Custom Adat @@ -4937,44 +4274,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Konsol Python - + Settings Setelan - + Words will be wrapped when they exceed available horizontal space in Python console Words will be wrapped when they exceed available horizontal space in Python console - + Enable word wrap Aktifkan bungkus kata - + The cursor shape will be a block The cursor shape will be a block - + Enable block cursor Enable block cursor - + Saves Python history across sessions Saves Python history across sessions - + Save history Simpan riwayat @@ -4982,17 +4319,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Pilihan - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Pilih radius (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5001,27 +4358,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Auto switch to the 3D view containing the selected item - + Auto expand tree item when the corresponding object is selected in 3D view Auto expand tree item when the corresponding object is selected in 3D view - + Preselect the object in 3D view when mouse over the tree item Preselect the object in 3D view when mouse over the tree item - + Record selection in tree view in order to go back/forward using navigation button Record selection in tree view in order to go back/forward using navigation button - + Add checkboxes for selection in document tree Add checkboxes for selection in document tree @@ -5029,147 +4386,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Warna - - Selection - Pilihan - - - - Enable preselection and highlight by specified color - Enable preselection and highlight by specified color - - - - Enable preselection highlighting - Aktifkan penyorotan preseleksi - - - - Enable selection highlighting and use specified color - Enable selection highlighting and use specified color - - - - Enable selection highlighting - Aktifkan penyorotan pilihan - - - + Background color for the model view Background color for the model view - + Background color Warna latar belakang - - + + Background will have selected color Background will have selected color - + Simple color Warna sederhana - - + + Background will have selected color gradient Background will have selected color gradient - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Top: - - + + Middle: Middle: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch Switch - + Color gradient will get selected color as middle color Color gradient will get selected color as middle color - + Middle color Warna tengah - - + + Bottom: Bottom: - + Tree view Tampilan pohon - + Object being edited Object being edited - + Background color for objects in tree view that are currently edited Background color for objects in tree view that are currently edited - + Active container Active container - + Background color for active containers in tree view Background color for active containers in tree view - + Central: Central: - + Midway: Midway: - + End: End: @@ -5281,12 +4613,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unknown unit: - + unit mismatch unit mismatch @@ -5294,7 +4626,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement Penempatan @@ -5344,60 +4676,60 @@ The 'Status' column shows whether the document could be recovered. Belum pulih - + Unknown problem occurred Masalah tak diketahui terjadi - - + + Failed to recover Gagal pulih - + Successfully recovered Berhasil pulih - + Finish Selesai - - + + Delete Menghapus - - + + Cleanup Membersihkan - + Are you sure you want to delete the selected transient directories? Yakin ingin menghapus direktori transien yang dipilih? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Saat menghapus direktori transien yang dipilih, Anda tidak akan dapat memulihkan file apa pun setelahnya. - + Are you sure you want to delete all transient directories? Yakin ingin menghapus semua direktori transien? - + When deleting all transient directories you won't be able to recover any files afterwards. When deleting all transient directories you won't be able to recover any files afterwards. - + Transient directories deleted. Direktori sementara dihapus. @@ -5521,7 +4853,7 @@ The 'Status' column shows whether the document could be recovered. Folder ikon - + Add icon folder Tambahkan folder ikon @@ -5534,12 +4866,12 @@ The 'Status' column shows whether the document could be recovered. Tambahkan atau hapus folder ikon khusus - + Remove folder Hapus folder - + Removing a folder only takes effect after an application restart. Melepaskan folder hanya akan berpengaruh setelah aplikasi di-restart. @@ -5609,79 +4941,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Memperluas - + Add sub-group Tambahkan subkelompok - - + + Remove group Hapus grup - + Rename group Ubah nama grup - + Export parameter Parameter ekspor - + Import parameter Parameter impor - + Collapse Jatuh - + Do you really want to remove this parameter group? Do you really want to remove this parameter group? - + Existing sub-group Sub kelompok yang ada - + The sub-group '%1' already exists. Sub kelompok ' % 1 ' sudah ada. - + Export parameter to file Ekspor parameter ke file - + Import parameter from file Impor parameter dari file - + Import Error Kesalahan Impor - + Reading from '%1' failed. Membaca dari ' % 1 ' gagal. @@ -5689,65 +5021,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Ubah nilai - + Remove key Hapus kunci - + Rename key Ganti nama kunci - + New Baru - + New string item Item string baru - + New float item Item pelampung baru - + New integer item Item bilangan bulat baru - + New unsigned item Item unsigned baru - + New Boolean item Item Boolean baru - - - - - + + + + + Existing item Item yang ada - - - - - + + + + + The item '%1' already exists. Item ' % 1 ' sudah ada. @@ -5893,17 +5225,17 @@ The 'Status' column shows whether the document could be recovered. Apply - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. - + Incorrect quantity Kuantitas salah - + There are input fields with incorrect input, please ensure valid placement values! Ada kolom masukan dengan masukan yang salah, pastikan nilai penempatan yang valid! @@ -5911,12 +5243,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Tombol - + Command Perintah @@ -5980,17 +5312,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Pohon Penemu - + Name Nama - + Nodes Node @@ -6046,14 +5378,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Membatalkan - - + + Transform Transform @@ -6151,13 +5483,13 @@ originally selected prior to opening this dialog - + Model Model - + Tasks Tugas @@ -6165,7 +5497,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Tampilan properti @@ -6233,22 +5565,22 @@ originally selected prior to opening this dialog Pergi ke akhir - + Clear Bersih - + Save As... Simpan Sebagai... - + Save Report Output Simpan Laporan Output - + Plain Text Files File Teks Biasa @@ -6257,13 +5589,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Keluaran - + Python console Konsol Python @@ -6301,72 +5633,72 @@ originally selected prior to opening this dialog Picked object list - + Select only Pilih saja - + Selects only this object Pilih hanya objek ini - + Deselect Hapus pilihan - + Deselects this object Menghilangkan objek ini - + Zoom fit Zoom pas - + Selects and fits this object in the 3D window Memilih dan menyesuaikan objek ini di jendela 3D - + Go to selection Pergi ke seleksi - + Selects and locates this object in the tree view Memilih dan menempatkan ini objek di pohon tampilan - + Mark to recompute Tandai untuk menghitung ulang - + Mark this object to be recomputed Tandai objek ini untuk dihitung ulang - + To python console Untuk konsol python - + Reveals this object and its subelements in the python console. Mengungkapkan objek ini dan subelemennya di konsol python. - + Duplicate subshape Duplikat subshape - + Creates a standalone copy of this subshape in the document Membuat salinan mandiri dari subshape ini di dalam dokumen @@ -6379,7 +5711,7 @@ originally selected prior to opening this dialog Aplikasi - + Labels & Attributes Label & Atribut @@ -6425,27 +5757,27 @@ Do you want to save your changes? File PDF - + untitled[*] untitled [*] - + - Editor - Editor - + %1 chars removed % 1 karakter dihapus - + %1 chars added % 1 karakter ditambahkan - + Formatted Terformat @@ -6469,13 +5801,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Pilih berkas - + Select a directory Pilih sebuah direktori @@ -6483,13 +5815,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Simpan sebagai - - + + Open Buka @@ -6497,12 +5829,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Diperpanjang - + All files (*.*) Semua data (*.*) @@ -6510,27 +5842,27 @@ Do you want to save your changes? Gui::Flag - + Top left Kiri atas - + Bottom left Kiri bawah - + Top right Kanan atas - + Bottom right Kanan bawah - + Remove Menghapus @@ -6538,22 +5870,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Tap OR click left mouse button. - + Drag screen with two fingers OR press right mouse button. Drag screen with two fingers OR press right mouse button. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. @@ -6561,74 +5893,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz tidak ditemukan - + Graphviz couldn't be found on your system. Graphviz tidak dapat ditemukan di sistem anda. - + Read more about it here. Baca lebih lanjut tentang hal ini di sini. - + Do you want to specify its installation path if it's already installed? Apakah Anda ingin menentukan jalur instalasinya jika sudah terpasang? - + Graphviz installation path Jalur instalasi Graphviz - + Graphviz failed Graphviz gagal - + Graphviz failed to create an image file Graphviz gagal membuat file gambar - + PNG format Format PNG - + Bitmap format Format bitmap - + GIF format Format GIF - + JPG format Format JPG - + SVG format Format SVG - - + + PDF format Format PDF - - + + Export graph Grafik ekspor @@ -6636,12 +5968,12 @@ Do you want to save your changes? Gui::InputField - + Edit Edit - + Save value Simpan value @@ -6649,22 +5981,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Tekan CTRL dan tombol kiri mouse - + Press middle mouse button Tekan tombol tengah mouse - + Press left mouse button Tekan tombol kiri mouse - + Scroll middle mouse button Geser tombol tengah mouse @@ -6672,7 +6004,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Daftar @@ -6680,66 +6012,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Ditetapkan pengguna... - + - - + + Wrong direction Salah arah - + - - + + Direction must not be the null vector Arah tidak boleh menjadi vektor nol @@ -6747,22 +6079,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6770,17 +6102,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Makro - + Macro file doesn't exist File makro tidak ada - + No such macro file: '%1' Tidak ada file makro seperti itu: ' % 1 ' @@ -6788,63 +6120,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Dimensi - + Ready Siap - + Help addon needed! Help addon needed! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager Open Addon Manager - + Close All Tutup semua - - - + + + Toggles this toolbar Toggles toolbar ini - - - + + + Toggles this dockable window Matikan jendela dockable ini - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document Dokumen yang belum disimpan - + The exported object contains external link. Please save the documentat least once before exporting. The exported object contains external link. Please save the documentat least once before exporting. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? To link to external objects, the document must be saved at least once. @@ -6854,119 +6196,144 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Penyelarasan manual - + The alignment is already in progress. Keselarasan sudah berlangsung. - + Alignment[*] Penjajaran[*] - + Please, select at least one point in the left and the right view Harap pilih setidaknya satu titik di kiri dan kanan tampilan - + Please, select at least %1 points in the left and the right view Silakan, pilih setidaknya % 1 poin di kiri dan kanan tampilan - + Please pick points in the left and right view Silakan memilih poin di kiri dan kanan tampilan - + The alignment has finished Keselarasan telah selesai - + The alignment has been canceled Keselarasan telah dibatalkan - - + + Too few points picked in the left view. At least %1 points are needed. Terlalu beberapa poin dijemput di kiri tampilan. Setidaknya dibutuhkan 1 poin. - - + + Too few points picked in the right view. At least %1 points are needed. Terlalu beberapa poin dijemput di kanan tampilan. Setidaknya dibutuhkan 1 poin. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Nomor yang berbeda dari poin dijemput di kiri dan kanan tampilan. Di sebelah kiri tampilan % 1 poin dipetik, di sebelah kanan tampilan % 2 poin dipetik. - + Try to align group of views Cobalah untuk menyelaraskan kelompok pandangan - + The alignment failed. How do you want to proceed? Keselarasan gagal. Bagaimana Anda ingin melanjutkan? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Nomor yang berbeda dari poin dijemput di kiri dan kanan tampilan. Di sebelah kiri tampilan % 1 poin dipetik, di sebelah kanan tampilan % 2 poin dipetik. - + + Point_%1 + Point_%1 + + + Point picked at (%1,%2,%3) Titik diambil pada ( % 1, % 2, % 3) - + No point was found on model Tidak ada titik ditemukan pada model - + No point was picked Tidak ada gunanya dipilih + + + &Align + &Align + + + + &Remove last point + &Remove last point + + + + &Cancel + &Membatalkan + + + + &Synchronize views + &Synchronize views + Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Tap OR click left mouse button. - + Drag screen with two fingers OR press ALT + middle mouse button. Drag screen with two fingers OR press ALT + middle mouse button. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. @@ -6974,7 +6341,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Press modifier keys @@ -6990,22 +6357,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Tekan tombol kiri mouse - + Press CTRL and middle mouse button Tekan tombol CTRL dan mouse tengah - + Press CTRL and right mouse button Tekan tombol CTRL dan kanan mouse - + Press CTRL and left mouse button Tekan CTRL dan tombol kiri mouse @@ -7013,22 +6380,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Tekan tombol kiri mouse - + Press right mouse button and move mouse Press right mouse button and move mouse - + Press left mouse button and move mouse Press left mouse button and move mouse - + Press middle mouse button or SHIFT and right mouse button Press middle mouse button or SHIFT and right mouse button @@ -7036,17 +6403,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Edit - + Save value Simpan value - + Clear list Hapus daftar @@ -7054,17 +6421,17 @@ How do you want to proceed? Gui::ProgressBar - + Remaining: %1 Sisa: % 1 - + Aborting Aborting - + Do you really want to abort the operation? Apakah Anda benar-benar ingin membatalkan operasi? @@ -7077,12 +6444,12 @@ How do you want to proceed? Sisa: % 1 - + Aborting Aborting - + Do you really want to abort the operation? Apakah Anda benar-benar ingin membatalkan operasi? @@ -7090,7 +6457,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Ubah objek yang terhubung @@ -7098,12 +6465,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Kesalahan - + Object not found objek tidak ditemukan @@ -7174,13 +6541,13 @@ How do you want to proceed? Gui::PropertyView - + View Tampilan - + Data Data @@ -7188,116 +6555,116 @@ How do you want to proceed? Gui::PythonConsole - + System exit Keluar sistem - + The application is still running. Do you want to exit without saving your data? Aplikasi masih berjalan. Apakah Anda ingin keluar tanpa menyimpan data Anda? - - + + Python console Konsol Python - + Unhandled PyCXX exception. Pengecualian PyCXX yang tidak tertangani. - + Unhandled FreeCAD exception. Pengecualian FreeCAD yang tidak tertangani. - + Unhandled std C++ exception. Unhandled std C + + pengecualian. - + Unhandled unknown C++ exception. Unhandled tidak diketahui C ++ exception. - + &Copy &Salinan - + &Copy command & Perintah Salin - + &Copy history & Salin riwayat - + Save history as... Simpan sejarah sebagai... - + Save history Simpan riwayat - + Saves Python history across %1 sessions Saves Python history across %1 sessions - + &Paste &Pasta - + Select All Pilih Semua - + Clear console Hapus konsol - + Insert file name... Sisipkan nama file... - + Word wrap Bungkus kata - + Save History Simpan Riwayat - + Macro Files Makro File - + Insert file name Masukkan nama file - + All Files Semua data @@ -7305,7 +6672,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Komentar @@ -7318,17 +6685,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Buka file % 1 - + File not found Berkas tidak ditemukan - + The file '%1' cannot be opened. File ' % 1 ' tidak dapat dibuka. @@ -7336,22 +6703,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none tidak ada - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Run macro %1 (Shift+click to edit) keyboard shortcut: %2 - + File not found Berkas tidak ditemukan - + The file '%1' cannot be opened. File ' % 1 ' tidak dapat dibuka. @@ -7359,22 +6726,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Tekan tombol kiri mouse - + Press middle mouse button Tekan tombol tengah mouse - + Press SHIFT and middle mouse button Tekan tombol SHIFT dan mouse tengah - + Scroll middle mouse button Geser tombol tengah mouse @@ -7405,17 +6772,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Pilih modul - + Open %1 as Buka % 1 sebagai - + Select Memilih @@ -7480,13 +6847,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Dokumentasi modul python otomatis - - + + Opens a browser to show the Python modules documentation Membuka browser untuk menampilkan dokumentasi modul Python @@ -7639,38 +7006,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Teks diperbarui - + The text of the underlying object has changed. Discard changes and reload the text from the object? Teks dari objek yang mendasari telah berubah. Buang perubahan dan muat ulang teks dari objek? - + Yes, reload. Ya, ulang. - + Unsaved document Dokumen yang belum disimpan - + Do you want to save your changes before closing? Apakah Anda ingin menyimpan perubahan sebelum menutup? - + If you don't save, your changes will be lost. Jika Anda tidak menyimpan, perubahan Anda akan hilang. - - + + Edit text Edit text @@ -7678,22 +7045,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Tekan tombol kiri mouse - + Press middle mouse button Tekan tombol tengah mouse - + Press right mouse button Press right mouse button - + Scroll middle mouse button Geser tombol tengah mouse @@ -7701,22 +7068,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Tekan tombol kiri mouse - + Press SHIFT button Tekan tombol SHIFT - + Press ALT button Tekan tombol ALT - + Press CTRL and SHIFT buttons Tekan tombol CTRL dan SHIFT @@ -7942,7 +7309,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Tampilan pohon @@ -7950,7 +7317,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Pencarian @@ -7958,173 +7325,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Search... - + Search for objects Search for objects - + Activate document Aktifkan dokumen - + Activate document %1 Aktifkan dokumen % 1 - + + Tree settings + Tree settings + + + + Show description column + Show description column + + + + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. + + + Group Kelompok - + Labels & Attributes Label & Atribut - + Description Description - - Application - Aplikasi - - - + Show items hidden in tree view Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view Toggles the visibility of selected items in the tree view - + Create group... Membuat grup... - + Create a group Buat grup - - + + Rename Ganti nama - + Rename object Ganti nama objek - + Finish editing Selesai mengedit - + Finish editing object Selesai mengedit objek - + Add dependent objects to selection Add dependent objects to selection - + Adds all dependent objects to the selection Adds all dependent objects to the selection - + Close document Tutup dokumen - + Close the document Tutup dokumen ini - + Reload document Muat ulang dokumen - + Reload a partially loaded document Reload a partially loaded document - + Skip recomputes Lewati rekomputasi - + Enable or disable recomputations of document Mengaktifkan atau menonaktifkan rekomputasi dokumen - + Allow partial recomputes Allow partial recomputes - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Enable or disable recomputating editing object when 'skip recomputation' is enabled - + Mark to recompute Tandai untuk menghitung ulang - + Mark this object to be recomputed Tandai objek ini untuk dihitung ulang - + Recompute object Recompute object - + Recompute the selected object Recompute the selected object - + (but must be executed) (but must be executed) - + %1, Internal name: %2 % 1, Nama internal: % 2 @@ -8145,22 +7522,22 @@ Do you want to specify another directory? Gui::View3DInventor - + Export PDF Ekspor PDF - + PDF file File PDF - + Opening file failed Membuka file gagal - + Can't open file '%1' for writing. Tidak bisa membuka file ' % 1 ' untuk tulisan. @@ -8168,8 +7545,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - - + Select the '%1' workbench Pilih meja kerja ' % 1 ' @@ -8177,37 +7553,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Jasa - + Hide %1 Sembunyikan % 1 - + Hide Others Sembunyikan Lainnya - + Show All Tunjukkan semua - + Preferences... Preferensi... - + Quit %1 Berhenti % 1 - + About %1 Sekitar % 1 @@ -8227,11 +7603,6 @@ Do you want to specify another directory? Position - - - Form - Bentuk - X: @@ -8326,14 +7697,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Input tidak valid - - + + Input in line %1 is not a number Input in line % 1 bukan angka @@ -8341,37 +7712,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Tampilan pohon - + Property view Tampilan properti - + Selection view Tampilan pilihan - + Combo View Tampilan Kombo - + DAG View DAG View - + Report view Tampilan laporan - + Python console Konsol Python @@ -8384,31 +7755,32 @@ Do you want to specify another directory? QObject - - + + General Umum - - + + + Display Tampilan - + Workbenches Workbenches - - - + + + Python Python @@ -8436,17 +7808,27 @@ Do you want to specify another directory? Tidak dapat menyimpan ke jenis filetype yang tidak diketahui: % 1 - + Workbench failure Kegagalan workbench - + %1 % 1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Pengecualian @@ -8492,8 +7874,8 @@ Do you want to specify another directory? Mengekspor PDF... - + Unsaved document Dokumen yang belum disimpan @@ -8514,39 +7896,39 @@ Do you want to specify another directory? Dependency error - + Copy selected Copy selected - + Copy active document Salin dokumen aktif - + Copy all documents Salin semua dokumen - + Paste Tempel - + Expression error Galat ekspresi - + Failed to parse some of the expressions. Please check the Report View for more details. Failed to parse some of the expressions. Please check the Report View for more details. - + Failed to paste expressions Failed to paste expressions @@ -8580,224 +7962,224 @@ Be aware the point where you click matters. Silahkan pilih dua objek. Sadarilah titik di mana Anda mengklik hal-hal. - - + + Save views... Simpan tampilan... - - + + Load views... Muat tampilan... - - + + Freeze view Tampilan beku - - + + Clear views Pemandangan yang jelas - - - + + + Restore view &%1 Kembalikan tampilan & % 1 - + Save frozen views Simpan pemandangan beku - - + + Frozen views Tampilan beku - - + + Restore views Kembalikan penayangan - + Importing the restored views would clear the already stored views. Do you want to continue? Mengimpor tampilan yang dipulihkan akan menghapus tampilan yang sudah tersimpan. Apakah Anda ingin melanjutkan? - + Restore frozen views Kembalikan tampilan beku - + Cannot open file '%1'. Tidak bisa membuka file ' % 1 '. - + files file - + Save image Save image - + Choose an image file to open Pilih file gambar yang akan dibuka - + New sub-group Sub kelompok baru - - - - - - + + + + + + Enter the name: Masukkan nama: - - + + New text item Item teks baru - - + + Enter your text: Masukkan teks Anda: - - + + New integer item Item bilangan bulat baru - - - - - - + + + + + + Enter your number: Masukkan nomor anda: - - + + New unsigned item Item unsigned baru - - + + New float item Item pelampung baru - + New Boolean item Item Boolean baru - - + + Choose an item: Pilih item: - + New boolean item Item boolean baru - + Rename group Ubah nama grup - + The group '%1' cannot be renamed. Kelompok ' % 1 ' tidak dapat diganti namanya. - + Existing group Kelompok yang ada - + The group '%1' already exists. Kelompok ' % 1 ' sudah ada. - - - - - + + + + + Change value Ubah nilai - - + + Type Jenis - - + + Notifier Notifier - - + + Message Message - + Notifier: Notifier: - + Do you want to skip confirmation of further critical message notifications while loading the file? Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8806,44 +8188,44 @@ Do you want to continue? - + Are you sure you want to continue? Apakah yakin ingin melanjutkan? - + Please check report view for more... Please check report view for more... - + Physical path: Physical path: - - + + Document: Document: - - + + Path: Jalan: - + Identical physical path Identical physical path - + Could not save document Could not save document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8856,102 +8238,102 @@ Would you like to save the file with a different name? Would you like to save the file with a different name? - - - + + + Saving aborted Menyimpan dibatalkan - + Save dependent files Save dependent files - + The file contains external dependencies. Do you want to save the dependent files, too? The file contains external dependencies. Do you want to save the dependent files, too? - - + + Saving document failed Menyimpan dokumen gagal - + Save document under new filename... Simpan dokumen dengan nama file baru... - - + + Save %1 Document Simpan % 1 Dokumen - + Document Dokumen - - + + Failed to save document Gagal menyimpan dokumen - + Documents contains cyclic dependencies. Do you still want to save them? Documents contains cyclic dependencies. Do you still want to save them? - + Save a copy of the document under new filename... Simpan salinan dokumen di bawah nama file baru... - + %1 document (*.FCStd) % 1 dokumen (*.FCStd) - + Document not closable Dokumen tidak bisa ditutup - + The document is not closable for the moment. Dokumen ini tidak bisa ditutup untuk saat ini. - + Document not saved Document not saved - + The document%1 could not be saved. Do you want to cancel closing it? The document%1 could not be saved. Do you want to cancel closing it? - + Undo Urung - + Redo Redo - + There are grouped transactions in the following documents with other preceding transactions There are grouped transactions in the following documents with other preceding transactions - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -8965,95 +8347,95 @@ Choose 'Abort' to abort Simpan Makro - - + + Finish Selesai - - + + Clear Bersih - - - + + + Cancel Membatalkan - + Inner Batin - + Outer Luar - + Split Split - - + + No Browser Tidak ada browser - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. Tidak dapat membuka browser Anda. Silahkan buka jendela browser dan ketikkan: http: // localhost: % 1. - + No Server Tidak ada server - + Unable to start the server to port %1: %2. Tidak dapat memulai server ke port % 1: % 2. - + Unable to open your system browser. Tidak dapat membuka peramban sistem Anda. - + Options... Pilihan... - + Out of memory Kehabisan memori - + Not enough memory available to display the data. Memori tidak cukup tersedia untuk menampilkan data. - - + + Cannot find file %1 Tidak dapat menemukan file % 1 - + Cannot find file %1 neither in %2 nor in %3 Tidak dapat menemukan file % 1 tidak di % 2 maupun di % 3 - + Navigation styles Gaya navigasi @@ -9063,8 +8445,8 @@ Please open a browser window and type in: http://localhost:%1. Pindahkan anotasi - - + + Transform Transform @@ -9074,42 +8456,42 @@ Please open a browser window and type in: http://localhost:%1. Do you want to close this dialog? - + Do you want to save your changes to document '%1' before closing? Apakah Anda ingin menyimpan perubahan Anda ke dokumen ' % 1 ' sebelum menutup? - + Do you want to save your changes to document before closing? Do you want to save your changes to document before closing? - + If you don't save, your changes will be lost. Jika Anda tidak menyimpan, perubahan Anda akan hilang. - + Apply answer to all Apply answer to all - + %1 Document(s) not saved %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? Some documents could not be saved. Do you want to cancel closing? - + Delete macro Hapus makro - + Not allowed to delete system-wide macros Tidak diizinkan untuk menghapus makro sistem secara keseluruhan @@ -9119,27 +8501,27 @@ Please open a browser window and type in: http://localhost:%1. Asal - + Delete group content? Hapus konten grup? - + The %1 is not empty, delete its content as well? The % 1 tidak kosong, menghapus isinya juga? - + Translation: Terjemahan: - + Rotation: Rotasi: - + Toggle active part Toggle active part @@ -9202,88 +8584,88 @@ Please open a browser window and type in: http://localhost:%1. Gagal mengimpor semua tautan - - + + Invalid name Invalid name - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. - + The property '%1' already exists in '%2' The property '%1' already exists in '%2' - + Add property Add property - + Failed to add property to '%1': %2 Failed to add property to '%1': %2 - - + + Drag & drop failed Drag & drop failed - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed Please select which objects to copy when the configuration is changed - + Apply to all Apply to all - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Apply the setting to all links. Or, uncheck this option to apply only to this link. - + Copy on change Copy on change - + Enable Memungkinkan - + Enable auto copy of linked object when its configuration is changed Enable auto copy of linked object when its configuration is changed - + Tracking Pelacakan - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9292,17 +8674,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Disable copy on change - + Refresh configurable object Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9313,46 +8695,56 @@ the current copy will be lost. - + Toggle array elements Toggle array elements - + Change whether show each link array element as individual objects Change whether show each link array element as individual objects - + Transform at the origin of the placement Transform at the origin of the placement - - + + Override colors... Override colors... - + Edit %1 Edit %1 - + Change image... Change image... + + + Color Gradient + Color Gradient + + + + Color Legend + Color Legend + SelectionFilter - + Not allowed: Tidak diijinkan: - + Selection not allowed by filter Seleksi tidak diperbolehkan oleh filter @@ -9360,9 +8752,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Box element selection @@ -9370,12 +8762,16 @@ the current copy will be lost. StdBoxSelection - - - + Box selection Pemilihan kotak + + + + Activate the box selection tool + Activate the box selection tool + StdCmdAbout @@ -9450,12 +8846,16 @@ the current copy will be lost. StdCmdAxisCross - - - + Toggle axis cross Alihkan sumbu silang + + + + Turns on or off the axis cross at the origin + Turns on or off the axis cross at the origin + StdCmdCascadeWindows @@ -9558,13 +8958,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Lihat meja putar... - - + + View turntable Lihat meja putar @@ -9684,13 +9084,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Menggambar gaya - - + + Change the draw style of the objects Change the draw style of the objects @@ -9754,12 +9154,16 @@ the current copy will be lost. StdCmdExpression - - - + Expression actions Expression actions + + + + Actions that apply to expressions + Actions that apply to expressions + StdCmdFeatRecompute @@ -9873,13 +9277,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Layar beku - - + + Freezes the current view position Membekukan posisi tampilan saat ini @@ -9900,13 +9304,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Sembunyikan semua benda - - + + Hide all objects in the document Sembunyikan semua objek dalam dokumen @@ -9914,13 +9318,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Sembunyikan pilihan - - + + Hide all selected objects Sembunyikan semua objek yang dipilih @@ -9953,11 +9357,15 @@ the current copy will be lost. StdCmdLinkActions - - Link actions Link actions + + + + Actions that apply to link objects + Actions that apply to link objects + StdCmdLinkImport @@ -10135,21 +9543,29 @@ the current copy will be lost. StdCmdMacroStepInto - - Step into Melangkah ke + + + + Step to the next line executed + Step to the next line executed + StdCmdMacroStepOver - - Step over Langkah selesai + + + + Step to the next line in this file + Step to the next line in this file + StdCmdMacroStopDebug @@ -10182,12 +9598,16 @@ the current copy will be lost. StdCmdMeasureDistance - - - + Measure distance Ukur jarak + + + + Activate the distance measurement tool + Activate the distance measurement tool + StdCmdMeasurementSimple @@ -10243,8 +9663,8 @@ the current copy will be lost. Buat dokumen kosong baru - - + + Unnamed Tanpa nama @@ -10458,18 +9878,22 @@ the current copy will be lost. StdCmdRandomColor - - Random color Warna acak + + + + Set each selected object to a randomly-selected color + Set each selected object to a randomly-selected color + StdCmdRecentFiles - Recent files - File terbaru + Open Recent + Open Recent @@ -10607,13 +10031,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Inspektur pemandangan... - - + + Scene inspector Inspektur pemandangan @@ -10621,13 +10045,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Back - - + + Go back to previous selection Go back to previous selection @@ -10635,13 +10059,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Bounding box - - + + Show selection bounding box Show selection bounding box @@ -10649,13 +10073,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Forward - - + + Repeat the backed selection Repeat the backed selection @@ -10677,13 +10101,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Pilih objek yang terlihat - - + + Select visible objects in the active document Pilih objek yang terlihat dalam dokumen aktif @@ -10705,13 +10129,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Penampilan... - - + + Sets the display properties of the selected object Mengatur properti tampilan dari objek yang dipilih @@ -10719,13 +10143,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Tampilkan semua benda - - + + Show all objects in the document Tampilkan semua objek dalam dokumen @@ -10733,13 +10157,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Tampilkan pilihan - - + + Show all selected objects Tampilkan semua objek yang dipilih @@ -10775,13 +10199,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Pemetaan tekstur... - - + + Texture mapping Pemetaan tekstur @@ -10804,22 +10228,26 @@ the current copy will be lost. StdCmdToggleBreakpoint - - Toggle breakpoint Toggle breakpoint + + + + Add or remove a breakpoint at this position + Add or remove a breakpoint at this position + StdCmdToggleClipPlane - + Clipping plane Kliping pesawat - - + + Toggles clipping plane for active view Toggles clipping plane untuk tampilan aktif @@ -10827,13 +10255,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Toggle navigation / Edit mode - - + + Toggle between navigation and edit mode Beralih antara mode navigasi dan edit @@ -10841,13 +10269,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Toggle semua benda - - + + Toggles visibility of all objects in the active document Matikan visibilitas semua objek dalam dokumen aktif @@ -10855,13 +10283,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Toggle selectability - - + + Toggles the property of the objects to get selected in the 3D-View Toggles properti dari objek yang akan dipilih dalam 3D-View @@ -10869,13 +10297,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Toggle visibility - - + + Toggles visibility Matikan visibilitas @@ -10925,13 +10353,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Collapse selected item - - + + Collapse currently selected tree items Collapse currently selected tree items @@ -10939,13 +10367,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Expand selected item - - + + Expand currently selected tree items Expand currently selected tree items @@ -10953,13 +10381,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Select all instances - - + + Select all instances of the current selected object Select all instances of the current selected object @@ -10967,13 +10395,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions TreeView actions - - + + TreeView behavior options and actions TreeView behavior options and actions @@ -11037,13 +10465,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Bawah - - + + Set to bottom view Atur ke tampilan bawah @@ -11051,13 +10479,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Buat tampilan baru - - + + Creates a new view window for the active document Creates a new view window for the active document @@ -11065,13 +10493,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimetrik - - + + Set to dimetric view Set to dimetric view @@ -11079,13 +10507,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Contoh inventaris # 1 - - + + Shows a 3D texture with manipulator Menunjukkan tekstur 3D dengan manipulator @@ -11093,13 +10521,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Contoh inventor # 2 - - + + Shows spheres and drag-lights Menampilkan bola dan lampu seret @@ -11107,13 +10535,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Contoh inventaris # 3 - - + + Shows a animated texture Menunjukkan tekstur animasi @@ -11121,13 +10549,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Cocokkan semua - - + + Fits the whole content on the screen Cocokkan keseluruhan konten di layar @@ -11135,13 +10563,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Pilihan pas - - + + Fits the selected content on the screen Cocok dengan konten yang dipilih di layar @@ -11149,13 +10577,13 @@ the current copy will be lost. StdCmdViewFront - + Front Depan - - + + Set to front view Atur ke tampilan depan @@ -11163,13 +10591,13 @@ the current copy will be lost. StdCmdViewHome - + Home Beranda - - + + Set to default home view Set to default home view @@ -11177,13 +10605,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Isometrik - - + + Set to isometric view Set to isometric view @@ -11191,13 +10619,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Masalah posisi kamera - - + + Issue the camera position to the console and to a macro, to easily recall this position Masalahkan posisi kamera ke konsol dan ke makro, dengan mudah mengingat posisi ini @@ -11205,13 +10633,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Kolom Interleaved Stereo - - + + Switch stereo viewing to Interleaved Columns Berpindah tampilan stereo ke Interleaved Columns @@ -11219,13 +10647,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Rangkaian Interleaved Stereo - - + + Switch stereo viewing to Interleaved Rows Berpindah tampilan stereo ke Interleaved Rows @@ -11233,13 +10661,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Stereo Nonaktif - - + + Switch stereo viewing off Matikan tampilan stereo @@ -11247,13 +10675,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo quad buffer - - + + Switch stereo viewing to quad buffer Berpindah tampilan stereo ke quad buffer @@ -11261,13 +10689,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo merah / cyan - - + + Switch stereo viewing to red/cyan Beralih tampilan stereo ke merah / cyan @@ -11275,13 +10703,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Kiri - - + + Set to left view Atur ke tampilan kiri @@ -11289,13 +10717,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Belakang - - + + Set to rear view Atur ke tampilan belakang @@ -11303,13 +10731,13 @@ the current copy will be lost. StdCmdViewRestoreCamera - + Restore saved camera Restore saved camera + - Restore saved camera settings Restore saved camera settings @@ -11317,13 +10745,13 @@ the current copy will be lost. StdCmdViewRight - + Right Kanan - - + + Set to right view Atur ke tampilan kanan @@ -11331,13 +10759,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Putar Kiri - - + + Rotate the view by 90° counter-clockwise Rotate the view by 90° counter-clockwise @@ -11345,13 +10773,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Putar ke kanan - - + + Rotate the view by 90° clockwise Rotate the view by 90° clockwise @@ -11359,13 +10787,13 @@ the current copy will be lost. StdCmdViewSaveCamera - + Save current camera Save current camera + - Save current camera settings Save current camera settings @@ -11373,13 +10801,13 @@ the current copy will be lost. StdCmdViewTop - + Top Puncak - - + + Set to top view Atur ke tampilan atas @@ -11387,13 +10815,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimetrik - - + + Set to trimetric view Set to trimetric view @@ -11401,13 +10829,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Perluas FreeCAD 3D Window ke Oculus Rift @@ -11444,6 +10872,10 @@ the current copy will be lost. StdCmdWindowsMenu + Activate window + Activate window + + Activates this window @@ -11467,13 +10899,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Layar penuh - - + + Display the main window in fullscreen mode Tampilkan jendela utama dalam mode fullscreen @@ -11481,13 +10913,13 @@ the current copy will be lost. StdOrthographicCamera - + Orthographic view Tampilan orthographic - - + + Switches to orthographic view mode Beralih ke mode tampilan ortografi @@ -11495,13 +10927,13 @@ the current copy will be lost. StdPerspectiveCamera - + Perspective view Perspektif tampilan - - + + Switches to perspective view mode Beralih ke mode tampilan perspektif @@ -11509,13 +10941,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11523,13 +10955,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11537,13 +10969,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Ciutkan/Perluas - - + + Expand active document and collapse all others Perluas dokumen aktif dan ciutkan yang lainnya @@ -11551,12 +10983,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Initiate dragging - + Initiate dragging of current selected tree items Initiate dragging of current selected tree items @@ -11564,13 +10996,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Multi document - - + + Display all documents in the tree view Display all documents in the tree view @@ -11578,12 +11010,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Pre-selection - + Preselect the object in 3D view when mouse over the tree item Preselect the object in 3D view when mouse over the tree item @@ -11591,12 +11023,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Record selection - + Record selection in tree view in order to go back/forward using navigation button Record selection in tree view in order to go back/forward using navigation button @@ -11604,13 +11036,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Pergi ke seleksi - - + + Scroll to first selected item Gulir ke item yang dipilih pertama @@ -11618,13 +11050,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Dokumen tunggal - - + + Only display the active document in the tree view Only display the active document in the tree view @@ -11632,12 +11064,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Selaraskan penempatan - + Auto adjust placement on drag and drop objects across coordinate systems Auto adjust placement on drag and drop objects across coordinate systems @@ -11645,12 +11077,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Sync selection - + Auto expand tree item when the corresponding object is selected in 3D view Auto expand tree item when the corresponding object is selected in 3D view @@ -11658,12 +11090,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Sync view - + Auto switch to the 3D view containing the selected item Auto switch to the 3D view containing the selected item @@ -11671,23 +11103,27 @@ the current copy will be lost. StdViewBoxZoom - - - + Box zoom Kotak zoom + + + + Activate the box zoom tool + Activate the box zoom tool + StdViewDock - + Docked Docked - - + + Display the active view either in fullscreen, in undocked or docked mode Menampilkan aktif pandangan baik di layar penuh, dalam mode undocked atau berlabuh @@ -11695,13 +11131,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Jendela dokumen - - + + Display the active view either in fullscreen, in undocked or docked mode Menampilkan aktif pandangan baik di layar penuh, dalam mode undocked atau berlabuh @@ -11709,13 +11145,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Layar penuh - - + + Display the active view either in fullscreen, in undocked or docked mode Menampilkan aktif pandangan baik di layar penuh, dalam mode undocked atau berlabuh @@ -11723,13 +11159,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Save image... - - + + Creates a screenshot of the active view Membuat tangkapan layar tampilan aktif @@ -11737,13 +11173,13 @@ the current copy will be lost. StdViewUndock - + Undocked Undocked - - + + Display the active view either in fullscreen, in undocked or docked mode Menampilkan aktif pandangan baik di layar penuh, dalam mode undocked atau berlabuh @@ -11751,22 +11187,30 @@ the current copy will be lost. StdViewZoomIn - - - + Zoom In Perbesar + + + + Increase the zoom factor by a fixed amount + Increase the zoom factor by a fixed amount + StdViewZoomOut - - - + Zoom Out Zoom Out + + + + Decrease the zoom factor by a fixed amount + Decrease the zoom factor by a fixed amount + Std_Delete @@ -11798,72 +11242,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Dengan adanya - + Normal mode Mode normal - + Points Poin - + Points mode Mode poin - + Wireframe Bingkai kawat - + Wireframe mode Mode wireframe - + Hidden line Garis tersembunyi - + Hidden line mode Mode garis tersembunyi - + No shading Tidak ada bayangan - + No shading mode Tidak ada mode shading - + Shaded Berbayang - + Shaded mode Mode berbayang - + Flat lines Garis datar - + Flat lines mode Mode garis datar @@ -11926,202 +11370,150 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. - - ViewIsometricCmd - - - Isometric - Isometrik - - - - Set NaviCube to Isometric mode - Set NaviCube to Isometric mode - - - - ViewOrthographicCmd - - - Orthographic - Ortografis - - - - Set View to Orthographic mode - Set View to Orthographic mode - - - - ViewPerspectiveCmd - - - Perspective - Perspektif - - - - Set View to Perspective mode - Set View to Perspective mode - - - - ViewZoomToFitCmd - - - Zoom to fit - Zoom to fit - - - - Zoom so that model fills the view - Zoom so that model fills the view - - Workbench - + &File &Mengajukan - + &Edit &Edit - + Edit Edit - + Clipboard Clipboard - + Workbench Meja kerja - + Structure Struktur - + Standard views Tampilan standar - + Axonometric Axonometrik - + &Stereo &Stereo - + &Zoom & Zoom - + Visibility Visibilitas - + &View &Melihat - + &Tools & Alat - + &Macro & Makro - + &Windows & Windows - + &On-line help & Bantuan on-line - + &Help &Membantu - + Help Bantuan - + File Mengajukan - + Macro Makro - + View Tampilan - + Special Ops Pasukan khusus - + Link actions Link actions @@ -12129,12 +11521,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF Ekspor PDF - + PDF file File PDF @@ -12142,196 +11534,190 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Notification Area - + Settings Setelan - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - - Additional data Sources - Additional data Sources + + Additional data sources + Additional data sources - - Errors will appear in the notification area - Errors will appear in the notification area + + Errors intended for developers will appear in the notification area + Errors intended for developers will appear in the notification area - - Errors - Galat + + Debug errors + Debug errors - - Warnings will appear in the notification area - Warnings will appear in the notification area + + Warnings intended for developers will appear in the notification area + Warnings intended for developers will appear in the notification area - - Warnings - Peringatan + + Debug warnings + Debug warnings - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Available Workbenches - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches Choose which workbench will be activated and shown after FreeCAD launches - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12344,12 +11730,12 @@ after FreeCAD launches 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport If checked, application will remember which workbench is active for each tab of the viewport - + Remember active workbench by tab Remember active workbench by tab @@ -12495,58 +11881,50 @@ after FreeCAD launches Membatalkan - - SoFCColorGradient - - - Color Gradient - Color Gradient - - Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded Loaded - + Load Muat - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12554,43 +11932,40 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Bilah alat - + Left corner Left corner - + Right corner Right corner - - SoFCColorLegend - - - Color Legend - Color Legend - - NotificationsAction - + Delete Menghapus - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12598,12 +11973,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12639,56 +12014,884 @@ after FreeCAD launches StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image - NaviCubeImplementation + Gui::InteractiveScale - + + Enter desired distance between the points + Enter desired distance between the points + + + + NaviCubeDraggableCmd + + + Movable navigation cube + Movable navigation cube + + + + Drag and place NaviCube + Drag and place NaviCube + + + + NaviCubeSettings + + FRONT FRONT - - REAR - REAR - - - + TOP TOP - - BOTTOM - BOTTOM - - - + RIGHT RIGHT - + + REAR + REAR + + + + BOTTOM + BOTTOM + + + LEFT LEFT - Gui::InteractiveScale + Gui::ExpLineEdit - - Enter desired distance between the points - Enter desired distance between the points + + + An error occurred -- see Report View for information + An error occurred -- see Report View for information + + + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Pilihan + + + + Code lines will be numbered + Code lines will be numbered + + + + Enable line numbers + Aktifkan nomor baris + + + + The cursor shape will be a block + The cursor shape will be a block + + + + Enable block cursor + Enable block cursor + + + + Enable folding + Aktifkan lipat + + + + Indentation + Lekukan + + + + Tab size: + Ukuran tab: + + + + Tabulator raster (how many spaces) + Tabulator raster (how many spaces) + + + + Indent size: + Ukuran indent: + + + + How many spaces will be inserted when pressing <Tab> + How many spaces will be inserted when pressing <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Pressing <Tab> will insert a tabulator with defined tab size + + + + Keep tabs + Mengawasi + + + + Pressing <Tab> will insert amount of defined indent size + Pressing <Tab> will insert amount of defined indent size + + + + Insert spaces + Sisipkan spasi + + + + Display items + Display items + + + + Color and font settings will be applied to selected type + Color and font settings will be applied to selected type + + + + Family: + Keluarga: + + + + Font family to be used for selected code type + Font family to be used for selected code type + + + + Size: + Ukuran: + + + + Font size to be used for selected code type + Font size to be used for selected code type + + + + Color: + Warna: + + + + Preview: + Pratinjau: + + + + Text + Teks + + + + Bookmark + Tanda buku + + + + Breakpoint + Titik istirahat + + + + Keyword + Kata kunci + + + + Comment + Komentar + + + + Block comment + Blok komentar + + + + Number + Jumlah + + + + String + Tali + + + + Character + Karakter + + + + Class name + Nama kelas + + + + Define name + Tentukan nama + + + + Operator + Operator + + + + Python output + Keluaran Python + + + + Python error + Kesalahan Python + + + + Current line highlight + Sorotan saluran saat ini + + + + Items + Item + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Umum + + + + Language and number format + Language and number format + + + + Language: + Language: + + + + Language of the application's user interface + Language of the application's user interface + + + + Unit system: + Sistem satuan: + + + + Unit system that should be used for all parts of the application + Unit system that should be used for all parts of the application + + + + Number of decimals: + Jumlah desimal: + + + + Number of decimals that should be shown for numbers and dimensions + Number of decimals that should be shown for numbers and dimensions + + + + Minimum fractional inch: + Minimum fractional inch: + + + + Minimum fractional inch to be displayed + Minimum fractional inch to be displayed + + + + Number format: + Number format: + + + + Operating system + Sistem operasi + + + + Selected language + Selected language + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + Substitute decimal separator + Substitute decimal separator + + + + Application + Aplikasi + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Ukuran ikon toolbar: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + + + + Tree view mode: + Tree view mode: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + + + + Size of recent file list: + Size of recent file list: + + + + How many files should be listed in recent files list + How many files should be listed in recent files list + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + Enable tiled background + Aktifkan latar belakang ubin + + + + The text cursor will be blinking + The text cursor will be blinking + + + + Enable cursor blinking + Enable cursor blinking + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + + + + Enable splash screen at start up + Aktifkan layar splash saat start up + + + + Preference packs + Preference packs + + + + Name + Nama + + + + Type + Jenis + + + + Load + Muat + + + + Import config... + Import config... + + + + Save new... + Save new... + + + + Manage... + Manage... + + + + Revert... + Revert... + + + + Manage preference packs + Manage preference packs + + + + Small (%1px) + Kecil ( % 1p x) + + + + Medium (%1px) + Sedang ( % 1p x) + + + + Large (%1px) + Besar ( % 1p x) + + + + Extra large (%1px) + Ekstra besar (%1px) + + + + Custom (%1px) + Custom (%1px) + + + + Combo View + Tampilan Kombo + + + + TreeView and PropertyView + TreeView and PropertyView + + + + Both + Both + + + + Preference Pack Name + Preference Pack Name + + + + Tags + Tags + + + + Apply + Apply + + + + Apply the %1 preference pack + Apply the %1 preference pack + + + + Choose a FreeCAD config file to import + Choose a FreeCAD config file to import + + + + File exists + File exists + + + + A preference pack with that name already exists. Overwrite? + A preference pack with that name already exists. Overwrite? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Tampilan laporan + + + + Output + Keluaran + + + + Normal messages will be recorded + Normal messages will be recorded + + + + Record normal messages + Record normal messages + + + + Log messages will be recorded + Log messages will be recorded + + + + Record log messages + Rekam pesan log + + + + Warnings will be recorded + Warnings will be recorded + + + + Record warnings + Catat peringatan + + + + Error messages will be recorded + Error messages will be recorded + + + + Record error messages + Rekam pesan kesalahan + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + + + + Show report view on error + Show report view on error + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + + + + Show report view on warning + Show report view on warning + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + + + + Show report view on normal message + Show report view on normal message + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + + + + Show report view on log message + Show report view on log message + + + + Include a timecode for each report + Include a timecode for each report + + + + Include a timecode for each entry + Include a timecode for each entry + + + + Colors + Warna + + + + Normal messages: + Pesan normal: + + + + Font color for normal messages in Report view panel + Font color for normal messages in Report view panel + + + + Log messages: + Pesan log: + + + + Font color for log messages in Report view panel + Font color for log messages in Report view panel + + + + Warnings: + Peringatan: + + + + Font color for warning messages in Report view panel + Font color for warning messages in Report view panel + + + + Errors: + Kesalahan: + + + + Font color for error messages in Report view panel + Font color for error messages in Report view panel + + + + Python interpreter + Penerjemah Python + + + + Internal Python output will be redirected +from Python console to Report view panel + Internal Python output will be redirected +from Python console to Report view panel + + + + Redirect internal Python output to report view + Arahkan ulang keluaran Python internal ke tampilan laporan + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Internal Python error messages will be redirected +from Python console to Report view panel + + + + Redirect internal Python errors to report view + Redirect kesalahan Python internal untuk melihat laporan + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Tidak ada style sheet + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared diff --git a/src/Gui/Language/FreeCAD_it.ts b/src/Gui/Language/FreeCAD_it.ts index 1db22ff534..70de7bc63a 100644 --- a/src/Gui/Language/FreeCAD_it.ts +++ b/src/Gui/Language/FreeCAD_it.ts @@ -42,29 +42,29 @@ Dimensione visiva della funzione - + <empty> <empty> - - + + Angle Angolo - - + + Axis Asse - + Position Posizione - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Prova l'output della console - - + + Run test cases to verify console messages Esegui casi di test per verificare i messaggi della console @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Cancella le misure - + Clear all visible measurements Cancella tutte le misure visibili @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Attiva/disattiva le misure - + Turn on or off the display of all measurements Attivare o disattivare la visualizzazione di tutte le misurazioni @@ -132,7 +132,7 @@ Elimina - + Paste expressions Incolla espressioni @@ -182,7 +182,7 @@ Aggiungi gruppo - + Align Allinea @@ -193,40 +193,40 @@ Posizionamento - - + + Transform Trasforma - + Toggle array elements Attiva/Disattiva elementi array - + Link Transform Collega trasformazione - + Measure distance Misura la distanza - + Toggle visibility Mostra/Nascondi - + Toggle selectability Commuta la selezionabilità - + Edit image Modifica immagine @@ -234,77 +234,77 @@ CommandGroup - + File File - + Edit Modifica - + Help Aiuto - + Link Collegamento - + Tools Strumenti - + View Vista - + Window Finestra - + Standard Standard - + Macros Macro - + Macro Macro - + Structure Struttura - + Standard-Test Standard-Test - + Standard-View Vista standard - + TreeView Vista ad albero - + Measure Misura @@ -402,11 +402,6 @@ DownloadItem - - - Form - Modulo - Ico @@ -421,42 +416,42 @@ EditMode - + Default Predefinito - + The object will be edited using the mode defined internally to be the most appropriate for the object type L'oggetto verrà modificato usando la modalità definita internamente per essere il più appropriato per il tipo di oggetto - + Transform Trasforma - + The object will have its placement editable with the Std TransformManip command L'oggetto avrà il suo posizionamento modificabile con il comando Std TransformManip - + Cutting Taglio - + This edit mode is implemented as available but currently does not seem to be used by any object Questa modalità di modifica è disponibile, ma al momento non sembra essere utilizzata da nessun oggetto - + Color Colore - + The object will have the color of its individual faces editable with the Part FaceColors command L'oggetto avrà il colore delle singole facce modificabile con il comando Part FaceColors @@ -482,7 +477,7 @@ nessuno - + Press a keyboard shortcut Inserisci una scorciatoria da tastiera @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Disponibile: - + Selected: Selezionato: - + Add Aggiungi - + Remove Rimuovi - + Move up Sposta verso l'alto - + Move down Sposta in basso @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Oggetto movibile - + Fixed object Oggetto fisso @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Si prega di attendere durante il salvataggio del file di recupero automatico... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Premi il tasto sinistro del mouse - + Press SHIFT and middle mouse button Premi MAIUSC e il pulsante centrale del mouse - + Press middle mouse button Premi il tasto centrale del mouse - + Scroll middle mouse button Scorri il tasto centrale del mouse @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Premi il tasto sinistro del mouse - + Press middle mouse button Premi il tasto centrale del mouse - + Press middle+left or middle+right button Premere il tasto centrale + tasto sinistro o il tasto centrale + tasto destro - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Scorrere con la rotellina centrale del mouse, oppure tenere premuto il tasto centrale mentre si fa un click con il tasto sinistro o destro e spostare il mouse su o giù @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel &Annulla @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Riquadro delle azioni @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Ringraziamenti - + FreeCAD would not be possible without the contributions of FreeCAD non sarebbe possibile senza i contributi di - + Individuals Header for the list of individual people in the Credits list. Utenti privati - + Organizations Header for the list of companies/organizations in the Credits list. Organizzazioni - - + + License Licenza - + Libraries Librerie - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Questo software utilizza componenti open source i cui copyright e altri diritti di proprietà appartengono ai rispettivi proprietari: - + Collection Collezione @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Cartella della cache - + The cache directory %1 exceeds the size of %2. La directory di cache %1 supera la dimensione di %2. - + Do you want to clear it now? Vuoi svuotarla adesso? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Attenzione: Assicurati che questa sia l'unica istanza %1 in esecuzione e che nessun documento sia aperto in quanto ciò potrebbe comportare una perdita di dati! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Impostazioni telecamera - + Orientation Orientamento - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vista corrente @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Comandi @@ -1116,12 +1111,12 @@ Se questo non è spuntato, la proprietà deve avere un nome univoco e vi si acce Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Il pacchetto esiste già - + A preference pack with that name already exists. Do you want to overwrite it? Esiste già un pacchetto di preferenze con quel nome. Vuoi sovrascriverlo? @@ -1357,48 +1352,48 @@ con la stessa scorciatoia sono attivi contemporaneamente sarà usato il comando Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Digita per cercare... - + Icon Icona - + Command Comando - + Shortcut Scelta rapida - + Default Predefinito - + Name Nome - + Title Titolo - + All Tutti - - + + none nessuno @@ -1406,8 +1401,8 @@ con la stessa scorciatoia sono attivi contemporaneamente sarà usato il comando Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Barre degli strumenti @@ -1496,40 +1491,40 @@ con la stessa scorciatoia sono attivi contemporaneamente sarà usato il comando - + <Separator> <Separatore> - + %1 module not loaded %1 modulo non caricato - + New toolbar Nuova barra degli strumenti - - + + Toolbar name: Nome della barra degli strumenti: - - + + Duplicated name Nome duplicato - - + + The toolbar name '%1' is already used Il nome della barra degli strumenti '%1' è già usato - + Rename toolbar Rinomina la barra degli strumenti @@ -1542,19 +1537,19 @@ con la stessa scorciatoia sono attivi contemporaneamente sarà usato il comando Gui::Dialog::DlgCustomizeImp - + Customize Personalizza - + &Help &Aiuto - + &Close &Chiudi @@ -1563,13 +1558,13 @@ con la stessa scorciatoia sono attivi contemporaneamente sarà usato il comando Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Movimenti Spaceball - + No Spaceball Present Nessun Spaceball Presente @@ -1577,27 +1572,27 @@ con la stessa scorciatoia sono attivi contemporaneamente sarà usato il comando Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Pulsanti Spaceball - + No Spaceball Present Nessun Spaceball Presente - + Buttons Pulsanti - + Reset Ripristina - + Print Reference Stampa riferimento @@ -1682,551 +1677,123 @@ con la stessa scorciatoia sono attivi contemporaneamente sarà usato il comando Gui::Dialog::DlgDisplayPropertiesImp - + Default Predefinito - + Aluminium Alluminio - + Brass Ottone - + Bronze Bronzo - + Copper Rame - + Chrome Cromo - + Emerald Smeraldo - + Gold Oro - + Jade Giada - + Metalized Metallizzato - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Ossidiana - + Pewter Peltro - + Plaster Gesso - + Plastic Plastica - + Ruby Rubino - + Satin Raso - + Shiny plastic Plastica lucida - + Silver Argento - + Steel Acciaio - + Stone Pietra Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opzioni - - - - Code lines will be numbered - Le righe del codice saranno numerate - - - - Enable line numbers - Abilita la numerazione delle righe - - - - The cursor shape will be a block - La forma del cursore sarà un blocco - - - - Enable block cursor - Abilita il cursore a blocco - - - - Enable folding - Abilita il folding - - - - Indentation - Indentazione - - - - Tab size: - Dimensione della tabulazione: - - - - Tabulator raster (how many spaces) - Indentazione del tabulatore (quanti spazi) - - - - Indent size: - Dimensione dell'indentazione: - - - - How many spaces will be inserted when pressing <Tab> - Quantità di spazi che vengono inseriti premendo <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Premendo <Tab> si inserirà un tabulatore con gli spazi definiti da Dimensione della tabulazioe - - - - Keep tabs - Mantieni le tabulazioni - - - - Pressing <Tab> will insert amount of defined indent size - Premendo <Tab> verrà inserita la quantità di spazi definiti per l'indentazione - - - - Insert spaces - Inserisci gli spazi - - - - Display items - Visualizza gli elementi - - - - Color and font settings will be applied to selected type - Le impostazioni del colore e del carattere verranno applicate al tipo selezionato - - - - Family: - Tipo di carattere: - - - - Font family to be used for selected code type - Famiglia di caratteri da utilizzare per il tipo di codice selezionato - - - - Size: - Dimensione: - - - - Font size to be used for selected code type - Dimensione del carattere da utilizzare per il tipo di codice selezionato - - - - Color: - Colore: - - - - Preview: - Anteprima: - - - Gui::Dialog::DlgGeneral - - - General - Generale - - - - Language of the application's user interface - Lingua dell'interfaccia utente dell'applicazione - - - - Number format: - Formato numerico: - - - - Operating system - Sistema operativo - - - - Selected language - Lingua selezionata - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Se abilitato, il separatore decimale del tastierino numerico -verrà sostituito con il separatore locale, tranne -in Python Console e Macro Editor dove un -punto verrà sempre stampato. - - - - Preference packs - Pacchetti preferenze - - - - Name - Nome - - - - Type - Tipo - - - - Load - Carica - - - - Import config... - Importa configurazione... - - - - Save new... - Salva nuovo... - - - - Manage... - Gestisci... - - - - Revert... - Ripristina... - - - - How many files should be listed in recent files list - Quanti file devono essere elencati nell'elenco dei file recenti - - - - Enable tiled background - Abilita lo sfondo a mosaico - - - - The text cursor will be blinking - Il cursore di testo lampeggierà - - - - Enable cursor blinking - Abilita lampeggiamento cursore - - - - Style sheet: - Foglio di stile: - - - - Language and number format - Lingua e formato numerico - - - - Language: - Lingua: - - - - Unit system: - Sistema di unità: - - - - Unit system that should be used for all parts of the application - Sistema di unità che dovrebbe essere utilizzato per tutte le parti dell'applicazione - - - - Number of decimals: - Numero di cifre decimali: - - - - Number of decimals that should be shown for numbers and dimensions - Numero di decimali che devono essere mostrati per i numeri e le dimensioni - - - - Minimum fractional inch: - Minima frazione in pollici: - - - - Minimum fractional inch to be displayed - Frazione minima in pollici da visualizzare - - - - Substitute decimal separator - Sostituire il separatore decimale - - - - Application - Applicazione - - - - Style sheet how user interface will look like - Foglio di stile di come apparirà l'interfaccia utente - - - - Size of toolbar icons: - Dimensione delle icone della barra degli strumenti: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Scegliere la dimensione preferita delle icone nella barra degli strumenti. Possono essere regolate -in base alle dimensioni dello schermo o al gusto personale - - - - Tree view mode: - Modalità vista ad albero: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Personalizza il modo in cui la vista ad albero viene mostrata nel pannello (è richiesto il riavvio). - -'ComboView': combina la vista ad albero e la vista proprietà in un unico pannello. -'TreeView e PropertyView': divide la vista ad albero e la vista delle proprietà in pannelli separati. -'Entrambi': mantiene tutti e tre i pannelli, e si possono avere due tipi di vista ad albero e di vista proprietà. - - - - Size of recent file list: - Dimensione della lista dei file recenti: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Lo sfondo della finestra principale (quando nessun documento è aperto) sarà costituito da piastrelle di un'immagine speciale. -Guarda la Wiki di FreeCAD per maggiori dettagli sull'immagine. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - La schermata di avvio è una piccola finestra di caricamento visualizzata -quando FreeCAD viene avviato. Se questa opzione è selezionata, FreeCAD visualizzerà -la schermata di avvio - - - - Enable splash screen at start up - Abilita la schermata iniziale all'avvio - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Gestisci pacchetti di preferenze - - - - Small (%1px) - Piccolo (%1px) - - - - Medium (%1px) - Medio (%1px) - - - - Large (%1px) - Grande (%1px) - - - - Extra large (%1px) - Grandissimo (%1px) - - - - Custom (%1px) - Personalizzato (%1px) - - - - Combo View - Vista combinata - - - - TreeView and PropertyView - Vista ad albero e proprietà - - - - Both - Entrambe - - - - No style sheet - Nessun foglio di stile - - - - Preference Pack Name - Nome Pacchetto Preferenze - - - - Tags - Etichette - - - - Apply - Applica - - - - Apply the %1 preference pack - Applica il pacchetto preferenze %1 - - - - Choose a FreeCAD config file to import - Scegli un file di configurazione FreeCAD da importare - - - - File exists - Il file esiste - - - - A preference pack with that name already exists. Overwrite? - Esiste già un pacchetto di preferenze con quel nome. Vuoi sovrascriverlo? - - Gui::Dialog::DlgInputDialog @@ -2242,8 +1809,8 @@ la schermata di avvio Gui::Dialog::DlgInspector - - + + Scene Inspector Ispettore di scena @@ -2335,71 +1902,71 @@ la schermata di avvio Gui::Dialog::DlgMacroExecuteImp - + Macros Macro - + Read-only Sola lettura - + Macro file File macro - + Enter a file name, please: Inserisci un nome file: - - - + + + Existing file File esistente - + '%1'. This file already exists. '%1'. Il file esiste già. - + Cannot create file Impossibile creare il file - + Creation of file '%1' failed. Creazione del file '%1' fallita. - + Delete macro Cancella macro - + Do you really want to delete the macro '%1'? Vuoi veramente cancellare la macro '%1'? - + Do not show again Non mostrare più - + Guided Walkthrough Procedura guidata - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2410,78 +1977,78 @@ Nota: le modifiche verranno applicate al successivo cambio di ambiente di lavoro - + Walkthrough, dialog 1 of 2 Procedura guidata, finestra di dialogo 1 di 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Istruzioni della procedura guidata: riempire i campi mancanti (opzionale) quindi fare clic su Aggiungi, quindi chiudere - + Walkthrough, dialog 1 of 1 Procedura guidata, finestra di dialogo 1 di 1 - + Walkthrough, dialog 2 of 2 Procedura guidata, finestra di dialogo 2 di 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Istruzioni della procedura guidata: fare clic sulla freccia destra (->), quindi chiudere. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Istruzioni della procedura guidata: fare clic sul pulsante Nuovo e quindi sulla freccia destra (->), quindi chiudere. - + Renaming Macro File Rinomina file Macro - - + + Enter new name: Inserire un nuovo nome: - - + + '%1' already exists. '%1' esiste già. - + Rename Failed Impossibile rinominare - + Failed to rename to '%1'. Perhaps a file permission error? Impossibile rinominare in '%1'. Forse un errore di autorizzazione del file? - + Duplicate Macro Duplica la macro - + Duplicate Failed Duplicazione fallita - + Failed to duplicate to '%1'. Perhaps a file permission error? Impossibile duplicare '%1'. @@ -2524,39 +2091,39 @@ Forse un errore di autorizzazione del file? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Registratore macro - + Specify first a place to save. Specificare prima dove salvare. - + The macro directory doesn't exist. Please, choose another one. La cartella delle macro non esiste. Sceglierne un'altra. - + Existing macro Macro esistente - + The macro '%1' already exists. Do you want to overwrite? La macro '%1' esiste già. Vuoi sovrasciverla? - + You have no write permission for the directory. Please, choose another one. Non hai i permessi di scrittura per la cartella. Scegline un'altra. - + Choose macro directory Scegli la cartella delle macro @@ -2629,12 +2196,12 @@ Forse un errore di autorizzazione del file? File HTML - + Access denied Accesso negato - + Access denied to '%1' Specify another directory, please. @@ -3035,36 +2602,36 @@ Specificare un'altra cartella. File di progetto - - + + Empty source Sorgente vuota - - + + No source is defined. Non è definita nessuna fonte. - - + + Empty destination Destinazione vuota - - + + No destination is defined. Non è definita alcuna destinazione. - + Failed to extract project Impossibile estrarre il progetto - + Failed to create project Impossibile creare il progetto @@ -3114,188 +2681,6 @@ Specificare un'altra cartella. Gui::Dialog::DlgReportView - - - Report view - Report - - - - Output - Output - - - - Normal messages will be recorded - I messaggi normali verranno registrati - - - - Record normal messages - Registra i messaggi normali - - - - Log messages will be recorded - I messaggi di log verranno registrati - - - - Record log messages - Registra i messaggi di log - - - - Warnings will be recorded - Gli avvisi verranno registrati - - - - Record warnings - Registra gli avvisi - - - - Error messages will be recorded - I messaggi di errore verranno registrati - - - - Record error messages - Registra i messaggi di errore - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Quando si verifica un errore, la finestra di dialogo della vista report appare -sullo schermo e visualizza l'errore - - - - Show report view on error - Mostra la vista report in caso di errore - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Quando si verifica un avviso, la finestra di dialogo della vista report appare -sullo schermo e visualizza l'avviso - - - - Show report view on warning - Mostra la vista report in caso di avviso - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Quando si verifica un messaggio normale, la finestra di dialogo Vista report diventa visibile -sullo schermo per visualizzare il messaggio - - - - Show report view on normal message - Mostra la vista report per i messaggi - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Quando si verifica un messaggio di log, la finestra di dialogo Vista report diventa visibile -sullo schermo per visualizzare il messaggio - - - - Show report view on log message - Mostra la vista report per i messaggi log - - - - Include a timecode for each report - Inserisci il codice temporale per ogni report - - - - Include a timecode for each entry - Inserisci il codice temporale per ogni voce - - - - Colors - Colori - - - - Normal messages: - Messaggi normali: - - - - Font color for normal messages in Report view panel - Colore del carattere per i messaggi normali nel pannello Rapporti - - - - Log messages: - Messaggi di log: - - - - Font color for log messages in Report view panel - Colore del carattere per i messaggi di log nel pannello Rapporti - - - - Warnings: - Avvisi: - - - - Font color for warning messages in Report view panel - Colore del carattere per i messaggi di avvisi nel pannello Report - - - - Errors: - Errori: - - - - Font color for error messages in Report view panel - Colore del carattere per i messaggi di errore nel pannello Report - - - - Python interpreter - Interprete Python - - - - Internal Python output will be redirected -from Python console to Report view panel - L'output interno di Python verrà reindirizzato -dalla console di Python al pannello Vista Report - - - - Redirect internal Python output to report view - Reindirizza l'output interno di Python alla finestra di report - - - - Internal Python error messages will be redirected -from Python console to Report view panel - I messaggi di errore interni di Python saranno reindirizzati -dalla console di Python al pannello vista Report - - - - Redirect internal Python errors to report view - Reindirizza gli errori interni di Python alla finestra di report - @@ -3322,7 +2707,7 @@ dalla console di Python al pannello vista Report Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Nessuna selezione nella finestra di dialogo, impossibile caricare il file di backup @@ -3365,7 +2750,7 @@ dalla console di Python al pannello vista Report Aiuto - + Select a file Seleziona un file @@ -3373,68 +2758,68 @@ dalla console di Python al pannello vista Report Gui::Dialog::DlgSettings3DView - + 3D View Vista 3D - + General Generale - + Main coordinate system will always be shown in lower right corner within opened files Il sistema di coordinate principali verrà sempre mostrato nell'angolo in basso a destra all'interno dei file aperti - + Show coordinate system in the corner Mostra il sistema di coordinate all'angolo - + Relative size : Dimensione relativa: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Dimensione della rappresentazione del sistema di coordinate principali nell'angolo -- in % di altezza/larghezza della vista - + Axis cross will be shown by default at file opening or creation Il sistema di assi sarà mostrato di default all'apertura o alla creazione del file - + Show axis cross by default Mostra di default il sistema di assi - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Il tempo necessario per l'ultima operazione e il conseguente frame rate verranno mostrati nell'angolo in basso a sinistra nei file aperti - + Show counter of frames per second Mostra contatore frame per secondo - + Rendering Rendering - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3443,22 +2828,22 @@ Changing this option requires a restart of the application. La modifica di questa opzione richiede un riavvio dell'applicazione. - + Use software OpenGL Usa software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Usa OpenGL VBO (Vertex Buffer Object) - + Render cache Rendering accelerato - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3481,7 +2866,7 @@ diversi che vanno dalle anomalie grafiche ai bug crash della GPU. Ricordarsi di segnalare che questa impostazione è stata abilitata quando si cerca supporto sui forum di FreeCAD - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3498,92 +2883,92 @@ solo la cache nel nodo radice del grafico della scena. Questo offre la velocità ma la risposta più lenta a qualsiasi cambiamento di scena. - + Auto Auto - + Distributed Distribuita - + Centralized Centralizzata - + Anti-Aliasing Anti-Aliasing - + What kind of multisample anti-aliasing is used Che tipo di anti-aliasing multisample è usato - + None Nessuno - + Line Smoothing Leviga linea - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Oggetti trasparenti: - + Render types of transparent objects Tipo di rendering degli oggetti trasparenti - + One pass Un passaggio - + Backface pass Passa per le facce nascoste - + Marker size: Grandezza segnaposto: - - Size of vertices in the Sketcher workbench - Dimensione dei vertici nell'ambiente Sketcher + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Distanza tra gli occhi per le modalità stereo - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3592,48 +2977,48 @@ Il valore specificato è un fattore che verrà moltiplicato per la dimensione del riquadro di delimitazione dell'oggetto 3D che è attualmente visualizzato. - + Backlight is enabled with the defined color La retroilluminazione è attivata con il colore definito - - + + Backlight color Colore di retroilluminazione - + Intensity Intensità - + Intensity of the backlight Intensità della retroilluminazione - + Camera type Tipo di camera - + Objects will appear in a perspective projection Gli oggetti appariranno in prospettiva - + Perspective renderin&g Vista in prospettiva - + Objects will be projected in orthographic projection Gli oggetti saranno proiettati in proiezione ortografica - + Or&thographic rendering Vista or&tografica @@ -3645,42 +3030,42 @@ del riquadro di delimitazione dell'oggetto 3D che è attualmente visualizzato. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anti-aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Aprire un nuovo visualizzatore o riavviare %1 per applicare le modifiche all' Anti-Aliasing. @@ -3688,77 +3073,77 @@ del riquadro di delimitazione dell'oggetto 3D che è attualmente visualizzato. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Cartella della cache - + Location: Posizione: - + Check periodically at program start: Controlla periodicamente all'avvio del programma: - + Always Sempre - + Daily Giornaliero - + Weekly Settimanale - + Monthly Mensilmente - + Yearly Annualmente - + Never Mai - + Cache size limit: Limite dimensione della cache: - + Check now... Controlla ora... - + Notify the user if the cache size exceeds the specified limit Notifica l'utente se la dimensione della cache supera il limite specificato - + Unknown Sconosciuto - + Current cache size: %1 Dimensione attuale cache: %1 @@ -3919,12 +3304,12 @@ oltre alla barra dei colori Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Parametro errato - + The maximum value must be higher than the minimum value. Il valore massimo deve essere maggiore del valore minimo. @@ -3932,182 +3317,182 @@ oltre alla barra dei colori Gui::Dialog::DlgSettingsDocument - + Document Documento - + General Generale - + The application will create a new document when started L'applicazione creerà un nuovo documento quando viene avviata - + Create new document at start up Crea un nuovo documento all'avvio - + Document save compression level (0 = none, 9 = highest, 3 = default) Livello di compressione di salvataggio del documento (0 = nessuno, 9 = massimo, 3 = normale) - + Compression level for FCStd files Livello di compressione per i file FCStd - + All changes in documents are stored so that they can be undone/redone Tutte le modifiche ai documenti vengono archiviate in modo da poter essere annullate o ripristinate - + Using Undo/Redo on documents Utilizza Annulla/Ripeti sui documenti - + Maximum Undo/Redo steps Numero massimo di passaggi di Annulla/Ripristina - + How many Undo/Redo steps should be recorded Quanti passi di Annulla/Ripristina devono essere registrati - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Consente all'utente di annullare il ricalcolo dei documenti premendo ESC. Questa funzione può aumentare leggermente il tempo di ricalcolo. - + Allow aborting recomputation Permetti l'interruzione del ricalcolo - + Storage Archiviazione - + Saving transactions (Auto-save) Salva la cronologia delle operazioni (Salvataggio automatico) - + Discard saved transaction after saving document Elimina le transazioni dopo il salvataggio del documento - + If there is a recovery file available the application will automatically run a file recovery when it is started. Se c'è un file di recupero disponibile, l'applicazione eseguirà automaticamente il ripristino del file quando viene avviata. - + Run AutoRecovery at startup Esegui il salvataggio automatico all'avvio - + How often a recovery file is written Frequenza con cui viene scritto un file di recupero - + Save AutoRecovery information every Salva le informazioni di autorecupero ogni - + A thumbnail will be stored when document is saved Quando il documento viene salvato verrà memorizzata una miniatura - + Save thumbnail into project file when saving document Salva la miniatura nel file del progetto al salvataggio del documento - + Size Dimensione - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Imposta la dimensione della miniatura che viene memorizzata nel documento. Le dimensioni comuni sono 128, 256 e 512 - + The program logo will be added to the thumbnail Il logo del programma verrà aggiunto alla miniatura - + Add the program logo to the generated thumbnail Aggiungi il logo del programma alla miniatura generata - + How many backup files will be kept when saving document Quanti file di backup saranno mantenuti quando si salva il documento - + Maximum number of backup files to keep when resaving document Numero massimo di file di backup da conservare quando si salva nuovamente il documento - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format I file di backup otterranno l'estensione '.FCbak' e i nomi dei file avranno il suffisso della data in base al formato specificato - + Use date and FCBak extension Usa l'estensione data e FCBak - + Date format Formato della data - + Document objects Oggetti del documento - + Allow objects to have same label Consente agli oggetti di avere la stessa etichetta - + Allow duplicate object labels in one document Consenti la duplicazione delle etichette degli oggetti nello stesso documento - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4120,22 +3505,22 @@ Un documento caricato parzialmente non può essere modificato. Fare doppio clic documento nella vista ad albero per ricaricarlo completamente. - + Disable partial loading of external linked objects Disabilita il caricamento parziale degli oggetti collegati esterni - + Authoring and License Diritti d'autore e licenze - + Author name Nome autore - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4144,32 +3529,32 @@ Lasciare vuoto per anonimo. Si può anche utilizzare il modulo: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Il campo 'Ultima modifica effettata da' sarà impostato sull'autore specificato durante il salvataggio del file - + Set on save Imposta su salva - + Company Azienda - + Default company name to use for new files Nome dell'azienda predefinita da utilizzare per i nuovi file - + Default license Licenza di default - + Default license for new documents Licenza predefinita per i nuovi documenti @@ -4239,12 +3624,12 @@ Si può anche utilizzare il modulo: John Doe <john@doe.com> Altro - + License URL URL della licenza - + URL describing more about the license URL che descrive di più sulla licenza @@ -4252,104 +3637,21 @@ Si può anche utilizzare il modulo: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Il formato della data da utilizzare. - + Default Predefinito - + Format Formato - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Testo - - - - Bookmark - Segnalibro - - - - Breakpoint - Interruzione - - - - Keyword - Parola chiave - - - - Comment - Commento - - - - Block comment - Blocco di commento - - - - Number - Numero - - - - String - Stringa - - - - Character - Carattere - - - - Class name - Nome della classe - - - - Define name - Nome definito - - - - Operator - Operatore - - - - Python output - Output Python - - - - Python error - Errore Python - - - - Current line highlight - Evidenziare la linea corrente - - - - Items - Elementi - - Gui::Dialog::DlgSettingsImage @@ -4530,122 +3832,122 @@ Si può anche utilizzare il modulo: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Impostazioni generali delle macro - + Variables defined by macros are created as local variables Le variabili definite dalle macro vengono create come variabili locali - + Run macros in local environment Esegui le macro in ambiente locale - + Macro recording settings Impostazioni di registrazione delle macro - + Macro path Percorso macro - + The directory in which the application will search for macros La directory nella quale l'applicazione cercherà le macro - + Gui commands Comandi dell'interfaccia utente - + Recorded macros will also contain user interface commands Le macro registrate conterranno anche i comandi dell'interfaccia utente - + Record GUI commands Registra i comandi GUI - + Recorded macros will also contain user interface commands as comments Le macro registrate conterranno anche i comandi di interfaccia utente come commenti - + Record as comment Registra come commento - + Logging Commands Comandi di log - + Commands executed by macro scripts are shown in Python console I comandi eseguiti dagli script delle macro sono mostrati nella console di Python - + Show script commands in python console Mostra lo script dei comandi nella console Python - + Log all commands issued by menus to file: Registra tutti i comandi emessi dai menu al file: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Menu delle macro recenti - + Size of recent macro list Dimensione dell'elenco delle macro recenti - + How many macros should be listed in recent macros list Quante macro devono essere elencate nella lista delle macro recenti - + Keyboard shortcut count Conteggio scorciatoie da tastiera - + How many recent macros should have shortcuts Quante macro recenti devono avere scorciatoie - + Keyboard Modifiers Modificatori tastiera - + Keyboard modifiers, default = Ctrl+Shift+ Modificatori tastiera, predefinito = Ctrl+Maiusc+ @@ -4653,130 +3955,130 @@ Si può anche utilizzare il modulo: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigazione - + Navigation cube Cubo di navigazione - + Steps by turn Passi di rotazione - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Numero di passi di rotazione quando si usano le frecce (impostazione predefinita = 8: angolo del passo = 360/8 = 45 gradi) - + Corner Angolo - + Corner where navigation cube is shown Angolo in cui viene mostrato il cubo di navigazione - + Top left In alto a sinistra - + Top right In alto a destra - + Bottom left In basso a sinistra - + Bottom right In basso a destra - + Rotates to nearest possible state when clicking a cube face Ruota allo stato possibile più vicino quando si fa clic su una faccia del cubo - + Rotate to nearest Ruota verso il più vicino - + Font name: Nome carattere: - + Font name of the navigation cube Carattere del cubo di navigazione - + Default Predefinito - + Cube size Dimensione cubo - + Size of the navigation cube Dimensione del cubo di navigazione - + Color Colore - + Base color for all elements Colore di base per tutti gli elementi - + 3D Navigation Navigazione 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Elenca le configurazioni dei pulsanti del mouse per ogni impostazione di navigazione selezionata. Seleziona un set e poi premi il pulsante per visualizzare le configurazioni indicate. - + Mouse... Mouse... - + Navigation settings set Impostazioni di navigazione - + Orbit style Stile orbita - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4787,116 +4089,116 @@ Giradischi: la parte sarà ruotata attorno all'asse z (con assi vincolati). Giradischi Libero: la parte sarà ruotata attorno all'asse z. - + Turntable Piatto - + Trackball Trackball - + Free Turntable Piatto Libero - + Rotation mode Modalità rotazione - + Rotations in 3D will use current cursor position as center for rotation Le rotazioni in 3D utilizzeranno la posizione corrente del cursore come centro per la rotazione - + Window center Centro finestra - + Drag at cursor Trascina al cursore - + Object center Centro oggetto - + Default camera orientation Orientamento predefinito della camera - + Default camera orientation when creating a new document or selecting the home view Orientamento predefinito della fotocamera quando si crea un nuovo documento o si seleziona la vista iniziale - + Camera zoom Zoom fotocamera - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Imposta lo zoom della fotocamera per i nuovi documenti. Il valore è il diametro della sfera da adattare allo schermo. - + mm mm - + Enable animated rotations Abilita le rotazioni animate - + Enable animation Abilita animazione - + Zoom operations will be performed at position of mouse pointer Le operazioni di zoom verranno eseguite sulla posizione del puntatore del mouse - + Zoom at cursor Ingrandimento al cursore - + Zoom step Fattore di zoom - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Quanto verrà ingrandito. Il passo di zoom di '1' significa un fattore di 7.5 per ogni fase di zoom. - + Direction of zoom operations will be inverted La direzione delle operazioni di zoom verrà invertita - + Invert zoom Inverti lo zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4905,57 +4207,67 @@ Interessa solo lo stile gesture. Questa impostazione non disabilitata l'inclinazione tramite mouse. - + Disable touchscreen tilt gesture Disattiva l'inclinazione dai gesti del touch screen - + + Show the rotation center when dragging. + Mostra il centro di rotazione durante il trascinamento. + + + + Enable rotation center indication + Abilita indicazione centro di rotazione + + + Isometric Isometrica - + Dimetric Dimetrica - + Trimetric Trimetrica - + Top Dall'alto - + Front Di fronte - + Left Da sinistra - + Right Da destra - + Rear Da dietro - + Bottom Dal basso - + Custom Personalizza @@ -4963,44 +4275,44 @@ Questa impostazione non disabilitata l'inclinazione tramite mouse. Gui::Dialog::DlgSettingsPythonConsole - + Python console Console Python - + Settings Impostazioni - + Words will be wrapped when they exceed available horizontal space in Python console Le parole saranno compresse quando superano lo spazio disponibile orizzontale nella console di Python - + Enable word wrap Abilita il ritorno a capo automatico - + The cursor shape will be a block La forma del cursore sarà un blocco - + Enable block cursor Abilita il cursore a blocco - + Saves Python history across sessions Salva la cronologia Python tra le sessioni - + Save history Salva la cronologia @@ -5008,17 +4320,37 @@ orizzontale nella console di Python Gui::Dialog::DlgSettingsSelection - + Selection Selezione - + + Enable preselection, highlighted with specified color + Abilita la preselezione, evidenziata con il colore specificato + + + + Enable preselection + Abilita preselezione + + + + Enable selection, highlighted with specified color + Abilita la selezione, evidenziata con il colore specificato + + + + Enable selection + Attiva selezione + + + Pick radius (px): Raggio di selezione (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5027,27 +4359,27 @@ Un valore maggiore facilita la selezione delle cose, ma può rendere impossibile - + Auto switch to the 3D view containing the selected item Passa automaticamente alla vista 3D contenente l'elemento selezionato - + Auto expand tree item when the corresponding object is selected in 3D view Espande automaticamente la struttura quando l'oggetto corrispondente viene selezionato nella vista 3D - + Preselect the object in 3D view when mouse over the tree item Preseleziona l'oggetto nella vista 3D quando il mouse sopra l'elemento ad albero - + Record selection in tree view in order to go back/forward using navigation button Registra la selezione nella vista ad albero per andare indietro/avanti usando il pulsante di navigazione - + Add checkboxes for selection in document tree Aggiunge caselle di selezione nell'albero del modello @@ -5055,147 +4387,122 @@ Un valore maggiore facilita la selezione delle cose, ma può rendere impossibile Gui::Dialog::DlgSettingsViewColor - + Colors Colori - - Selection - Selezione - - - - Enable preselection and highlight by specified color - Abilita la preselezione e l'evidenziazione con il colore specificato - - - - Enable preselection highlighting - Attiva l'evidenziamento di preselezione - - - - Enable selection highlighting and use specified color - Abilita l'evidenziazione della selezione e usa il colore specificato - - - - Enable selection highlighting - Attiva l'evidenziamento di selezione - - - + Background color for the model view Colore di sfondo per la vista del modello - + Background color Colore dello sfondo - - + + Background will have selected color Lo sfondo avrà il colore selezionato - + Simple color Colore semplice - - + + Background will have selected color gradient Lo sfondo avrà la sfumatura selezionata - + Linear gradient Gradiente lineare - + Radial gradient Sfumatura radiale - - + + Top: Sopra: - - + + Middle: Al centro: - + Switches the colors of the gradient Cambia i colori del gradiente - + Switch Cambia - + Color gradient will get selected color as middle color La sfumatura di colore verrà selezionata come colore centrale - + Middle color Colore centrale - - + + Bottom: Sotto: - + Tree view Struttura - + Object being edited Oggetto in fase di modifica - + Background color for objects in tree view that are currently edited Colore di sfondo nella vista ad albero per gli oggetti che sono attualmente in modifica - + Active container Contenitore attivo - + Background color for active containers in tree view Colore di sfondo nella vista ad albero per i contenitori attivi - + Central: Centrale: - + Midway: Medio: - + End: Fine: @@ -5307,12 +4614,12 @@ Il sistema di preferenza è quello impostato nelle preferenze generali. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unità sconosciuta: - + unit mismatch unità non corrispondente @@ -5320,7 +4627,7 @@ Il sistema di preferenza è quello impostato nelle preferenze generali. Gui::Dialog::DockablePlacement - + Placement Posizionamento @@ -5370,60 +4677,60 @@ The 'Status' column shows whether the document could be recovered. Non ancora recuperati - + Unknown problem occurred Si è verificato un problema sconosciuto - - + + Failed to recover Recupero fallito - + Successfully recovered Recuperato con successo - + Finish Termina - - + + Delete Elimina - - + + Cleanup Pulizia - + Are you sure you want to delete the selected transient directories? Sicuro di voler eliminare le directory transitorie selezionate? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Se si elimina la directory transitoria selezionata dopo non è più possibile recuperare nessun file. - + Are you sure you want to delete all transient directories? Sicuro di voler eliminare tutte le directory transitorie? - + When deleting all transient directories you won't be able to recover any files afterwards. Se si eliminano tutte le directory transitorie non è più possibile recuperare nessun file. - + Transient directories deleted. Directory transitoria eliminata. @@ -5547,7 +4854,7 @@ The 'Status' column shows whether the document could be recovered. Cartelle di icone - + Add icon folder Aggiungi cartella icone @@ -5560,12 +4867,12 @@ The 'Status' column shows whether the document could be recovered. Aggiunge o rimuove delle cartelle di icone personalizzate - + Remove folder Rimuovi la cartella - + Removing a folder only takes effect after an application restart. La rimozione di una cartella ha effetto solo dopo il riavvio dell'applicazione. @@ -5635,79 +4942,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Espandi - + Add sub-group Aggiungi sottogruppo - - + + Remove group Rimuovi gruppo - + Rename group Rinomina gruppo - + Export parameter Esporta parametro - + Import parameter Importa parametro - + Collapse Riduci - + Do you really want to remove this parameter group? Vuoi veramente rimuovere questo gruppo di parametri? - + Existing sub-group Sottogruppo esistente - + The sub-group '%1' already exists. Il sottogruppo '%1' esiste già. - + Export parameter to file Esporta il parametro in un file - + Import parameter from file Importa il parametro da un file - + Import Error Errore durante l'importazione - + Reading from '%1' failed. Lettura da '%1' non riuscita. @@ -5715,65 +5022,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Cambia valore - + Remove key Rimuovi la chiave - + Rename key Rinomina la chiave - + New Nuovo - + New string item Nuovo elemento string - + New float item Nuovo elemento float - + New integer item Nuovo elemento integer - + New unsigned item Nuovo elemento unsigned - + New Boolean item Nuovo elemento boolean - - - - - + + + + + Existing item Elemento esistente - - - - - + + + + + The item '%1' already exists. L'elemento '%1' esiste già. @@ -5919,17 +5226,17 @@ The 'Status' column shows whether the document could be recovered. Applica - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Selezionare 1, 2 o 3 punti prima di fare clic su questo pulsante. Il punto può essere su un vertice, una faccia o un bordo. Se viene scelto su una faccia o bordo il punto utilizzato è il punto in corrispondenza della posizione del mouse lungo la faccia o il bordo. Se viene selezionato solo 1 punto, esso è usato come centro di rotazione. Se sono selezionati 2 punti, il centro di rotazione è il punto medio tra di essi e viene creato un nuovo asse personalizzato, se necessario. Se vengono selezionati 3 punti, il primo punto diventa il centro di rotazione e giace sul vettore che è normale rispetto al piano definito dai 3 punti. Alcune informazioni sulla distanza e sull'angolo sono fornite nella vista Report, questo può essere utile quando si allineano gli oggetti. Per praticità quando si usa Maiusc + clic, la distanza o l'angolo appropriati vengono copiati negli Appunti. - + Incorrect quantity Quantità non corretta - + There are input fields with incorrect input, please ensure valid placement values! Ci sono dei campi di input con valori errati, assicurarsi che i valori di posizionamento siano validi! @@ -5937,12 +5244,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Pulsante - + Command Comando @@ -6006,17 +5313,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Albero Inventor - + Name Nome - + Nodes Nodi @@ -6072,14 +5379,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Annulla - - + + Transform Trasforma @@ -6156,7 +5463,7 @@ originariamente selezionati prima di aprire questa finestra Dialog - Finestra di dialogo + Dialogo @@ -6177,13 +5484,13 @@ originariamente selezionati prima di aprire questa finestra - + Model Modello - + Tasks Azioni @@ -6191,7 +5498,7 @@ originariamente selezionati prima di aprire questa finestra Gui::DockWnd::PropertyDockView - + Property View Proprietà @@ -6199,82 +5506,82 @@ originariamente selezionati prima di aprire questa finestra Gui::DockWnd::ReportOutput - + Options Opzioni - + Display message types Visualizza tipi di messaggi - - + + Normal messages Messaggi normali - - + + Log messages Messaggi di log - - + + Warnings Avvertenze - - + + Errors Errori - - + + Critical messages Messaggi critici - + Show Report view on Mostra la Vista Report in caso di - + Redirect Python output Reindirizza l'output di Python - + Redirect Python errors Reindirizza gli errori di Python - + Go to end Vai alla fine - + Clear Pulisci - + Save As... Salva con nome... - + Save Report Output Salva report di output - + Plain Text Files File di testo normale @@ -6283,13 +5590,13 @@ originariamente selezionati prima di aprire questa finestra Gui::DockWnd::ReportView - + Output Output - + Python console Console Python @@ -6327,72 +5634,72 @@ originariamente selezionati prima di aprire questa finestra Lista oggetti selezionati - + Select only Seleziona solo - + Selects only this object Seleziona solo questo oggetto - + Deselect Deseleziona - + Deselects this object Deseleziona questo oggetto - + Zoom fit Adatta alla finestra - + Selects and fits this object in the 3D window Seleziona e adatta l'oggetto alla finestra 3D - + Go to selection Vai alla selezione - + Selects and locates this object in the tree view Seleziona e individua l'oggetto nella struttura ad albero - + Mark to recompute Segna da ricalcolare - + Mark this object to be recomputed Contrassegna questo oggetto come oggetto da ricalcolare - + To python console Alla console python - + Reveals this object and its subelements in the python console. Mostra questo oggetto e i relativi sottoelementi nella console python. - + Duplicate subshape Forma secondaria duplicata - + Creates a standalone copy of this subshape in the document Crea una copia autonoma di questa forma secondaria nel documento @@ -6405,7 +5712,7 @@ originariamente selezionati prima di aprire questa finestra Applicazione - + Labels & Attributes Etichette & Attributi @@ -6454,27 +5761,27 @@ Si desidera salvare le modifiche? File PDF - + untitled[*] senza titolo[*] - + - Editor - Editor - + %1 chars removed %1 caratteri rimossi - + %1 chars added %1 caratteri aggiunti - + Formatted Formattato @@ -6498,13 +5805,13 @@ Si desidera salvare le modifiche? Gui::FileChooser - - + + Select a file Seleziona un file - + Select a directory Seleziona una cartella @@ -6512,13 +5819,13 @@ Si desidera salvare le modifiche? Gui::FileDialog - + Save as Salva con nome - - + + Open Apri @@ -6526,12 +5833,12 @@ Si desidera salvare le modifiche? Gui::FileOptionsDialog - + Extended Esteso - + All files (*.*) Tutti i file (*.*) @@ -6539,27 +5846,27 @@ Si desidera salvare le modifiche? Gui::Flag - + Top left In alto a sinistra - + Bottom left In basso a sinistra - + Top right In alto a destra - + Bottom right In basso a destra - + Remove Rimuovi @@ -6567,22 +5874,22 @@ Si desidera salvare le modifiche? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Toccare oppure cliccare con il pulsante sinistro del mouse. - + Drag screen with two fingers OR press right mouse button. Trascinare lo schermo con due dita, oppure premere il tasto destro del mouse. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Trascinare lo schermo con un dito, oppure premere il tasto sinistro del mouse. In Sketcher e altre modalità di modifica, tenere anche premuto Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pizzicare (mettere due dita sullo schermo e trascinarli, avvicinandoli o allontanandoli). Oppure muovere la rotellina del mouse. Oppure usare i tasti Pgsu e Pggiù. @@ -6590,74 +5897,74 @@ Si desidera salvare le modifiche? Gui::GraphvizView - + Graphviz not found Graphviz non trovato - + Graphviz couldn't be found on your system. Graphviz non può essere trovato nel vostro sistema. - + Read more about it here. Per saperne di più leggere qui. - + Do you want to specify its installation path if it's already installed? Si desidera specificare il percorso di installazione se è già installato? - + Graphviz installation path Percorso di installazione di Graphviz - + Graphviz failed Graphviz ha fallito - + Graphviz failed to create an image file Graphviz non è riuscito a creare un file immagine - + PNG format Formato PNG - + Bitmap format Formato bitmap - + GIF format Formato GIF - + JPG format Formato JPG - + SVG format Formato SVG - - + + PDF format Formato PDF - - + + Export graph Esporta grafico @@ -6665,12 +5972,12 @@ Si desidera salvare le modifiche? Gui::InputField - + Edit Modifica - + Save value Salva valore @@ -6678,22 +5985,22 @@ Si desidera salvare le modifiche? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Premere CTRL e il tasto sinistro del mouse - + Press middle mouse button Premi il tasto centrale del mouse - + Press left mouse button Premi il tasto sinistro del mouse - + Scroll middle mouse button Scorri il tasto centrale del mouse @@ -6701,7 +6008,7 @@ Si desidera salvare le modifiche? Gui::LabelEditor - + List Elenco @@ -6709,66 +6016,66 @@ Si desidera salvare le modifiche? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definito dall'utente... - + - - + + Wrong direction Direzione sbagliata - + - - + + Direction must not be the null vector La direzione non può essere un vettore nullo @@ -6776,22 +6083,22 @@ Si desidera salvare le modifiche? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direzione: @@ -6799,17 +6106,17 @@ Si desidera salvare le modifiche? Gui::MacroCommand - + Macros Macro - + Macro file doesn't exist Il file di macro non esiste - + No such macro file: '%1' Nessun file macro: '%1' @@ -6817,63 +6124,73 @@ Si desidera salvare le modifiche? Gui::MainWindow - - + + Dimension Dimensione - + Ready Pronto - + Help addon needed! Aiuto aggiuntivo necessario! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Il sistema di aiuto di %1 è ora gestito dall'addon "Help". Può essere facilmente installato tramite Addons Manager - + Open Addon Manager Apri Addon Manager - + Close All Chiudi tutto - - + + Toggles this toolbar Nascondi questa barra degli strumenti - - + + Toggles this dockable window Nascondi questa finestra - - + + WARNING: This is a development version. + ATTENZIONE: Questa è una versione di sviluppo. + + + + Please do not use in a production environment. + Non utilizzare in un ambiente di produzione. + + + + Unsaved document Documento non salvato - + The exported object contains external link. Please save the documentat least once before exporting. L'oggetto esportato contiene un link esterno. Salvare il documento almeno una volta prima di esportarlo. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Per collegare oggetti esterni, il documento deve essere salvato almeno una volta. @@ -6883,63 +6200,63 @@ Vuoi salvare il documento ora? Gui::ManualAlignment - - - - - + + + + + Manual alignment Allineamento manuale - + The alignment is already in progress. L'allineamento è già in corso. - + Alignment[*] Allineamento[*] - + Please, select at least one point in the left and the right view Seleziona almeno un punto nelle viste di sinistra e di destra - + Please, select at least %1 points in the left and the right view Seleziona almeno %1 punti nelle viste di sinistra e di destra - + Please pick points in the left and right view Specificare i punti nelle viste di destra e di sinistra - + The alignment has finished L'allineamento è terminato - + The alignment has been canceled L'allineamento è stato annullato - - + + Too few points picked in the left view. At least %1 points are needed. I punti selezionati nella vista di sinistra non sono sufficienti. Servono almeno %1 punti. - - + + Too few points picked in the right view. At least %1 points are needed. I punti selezionati nella vista di destra non sono sufficienti. Servono almeno %1 punti. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6948,58 +6265,58 @@ Nella vista sinistra sono stati specificati %1 punti, nella vista destra sono stati specificati %2 punti. - + Try to align group of views Prova ad allineare un gruppo di viste - + The alignment failed. How do you want to proceed? L'allineamento non è riuscito. Come si desidera procedere? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Diverso numero di punti specificati nella vista di destra e sinistra. Nella vista sinistra sono stati specificati %1 punti, nella vista destra sono stati specificati %2 punti. - + Point_%1 Punto_%1 - + Point picked at (%1,%2,%3) Punto selezionato a (%1,%2,%3) - + No point was found on model Nessun punto è stato trovato sul modello - + No point was picked Nessun punto è stato selezionato - + &Align &Allinea - + &Remove last point &Rimuovi l'ultimo punto - + &Cancel &Annulla - + &Synchronize views &Sincronizza viste @@ -7007,22 +6324,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Toccare oppure cliccare con il pulsante sinistro del mouse. - + Drag screen with two fingers OR press ALT + middle mouse button. Trascinare lo schermo con due dita. Oppure premere Alt + il tasto centrale del mouse. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Trascinare lo schermo un dito. Oppure premere Alt + tasto sinistro del mouse. In Sketcher e altre modalità di modifica, tenere anche premuto Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pizzicare (mettere due dita sullo schermo e trascinarli, avvicinandoli o allontanandoli). Oppure muovere la rotellina del mouse. Oppure premere Alt + il tasto destro del mouse. Oppure usare i tasti Pgsu e Pggiù. @@ -7030,7 +6347,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Premere i tasti modificatori @@ -7046,22 +6363,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Premi il tasto sinistro del mouse - + Press CTRL and middle mouse button Premere CTRL e il pulsante centrale del mouse - + Press CTRL and right mouse button Premere CTRL e tasto destro del mouse - + Press CTRL and left mouse button Premere CTRL e il tasto sinistro del mouse @@ -7069,22 +6386,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Premi il tasto sinistro del mouse - + Press right mouse button and move mouse Premere il tasto destro del mouse e spostare il mouse - + Press left mouse button and move mouse Premere il tasto sinistro del mouse e spostare il mouse - + Press middle mouse button or SHIFT and right mouse button Premere il pulsante centrale del mouse o MAIUSC e il pulsante destro del mouse @@ -7092,17 +6409,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Modifica - + Save value Salva valore - + Clear list Cancella la lista @@ -7133,12 +6450,12 @@ How do you want to proceed? Rimanente: %1 - + Aborting Interrompi - + Do you really want to abort the operation? Vuoi veramente interrompere l'operazione? @@ -7146,7 +6463,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Cambia l'oggetto collegato @@ -7154,12 +6471,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Errore - + Object not found Oggetto non trovato @@ -7230,13 +6547,13 @@ How do you want to proceed? Gui::PropertyView - + View Vista - + Data Dati @@ -7284,77 +6601,77 @@ Vuoi uscire senza salvare i tuoi dati? Eccezione sconosciuta C++ non gestibile. - + &Copy &Copia - + &Copy command &Copia il comando - + &Copy history &Copia la cronologia - + Save history as... Salva cronologia come... - + Save history Salva la cronologia - + Saves Python history across %1 sessions Salva la cronologia Python in %1 sessioni - + &Paste &Incolla - + Select All Seleziona tutto - + Clear console Pulisci la console - + Insert file name... Inserisci il nome del file... - + Word wrap A capo automatico - + Save History Salva cronologia - + Macro Files File di macro - + Insert file name Inserisci il nome del file - + All Files Tutti i file @@ -7362,7 +6679,7 @@ Vuoi uscire senza salvare i tuoi dati? Gui::PythonEditor - + Comment Commento @@ -7375,17 +6692,17 @@ Vuoi uscire senza salvare i tuoi dati? Gui::RecentFilesAction - + Open file %1 Apri file %1 - + File not found File non trovato - + The file '%1' cannot be opened. Il file '%1' non può essere aperto. @@ -7393,22 +6710,22 @@ Vuoi uscire senza salvare i tuoi dati? Gui::RecentMacrosAction - + none nessuno - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Esegue la macro %1 (Maiusc+clic per modificare) scorciatoia da tastiera: %2 - + File not found File non trovato - + The file '%1' cannot be opened. Il file '%1' non può essere aperto. @@ -7416,22 +6733,22 @@ Vuoi uscire senza salvare i tuoi dati? Gui::RevitNavigationStyle - + Press left mouse button Premi il tasto sinistro del mouse - + Press middle mouse button Premi il tasto centrale del mouse - + Press SHIFT and middle mouse button Premi MAIUSC e il pulsante centrale del mouse - + Scroll middle mouse button Scorri il tasto centrale del mouse @@ -7462,17 +6779,17 @@ Vuoi uscire senza salvare i tuoi dati? Gui::SelectModule - + Select module Seleziona il modulo - + Open %1 as Apri %1 come - + Select Seleziona @@ -7541,13 +6858,13 @@ Vuoi specificare un'altra cartella? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentazione automatica per i moduli python - - + + Opens a browser to show the Python modules documentation Apre un browser per visualizzare la documentazione dei moduli Python @@ -7596,7 +6913,7 @@ Vuoi specificare un'altra cartella? TextLabel - Etichetta Testo + Etichetta di testo @@ -7645,7 +6962,7 @@ Vuoi specificare un'altra cartella? Document window: - Finestra del documento: + Finestra documento: @@ -7700,38 +7017,38 @@ Vuoi specificare un'altra cartella? Gui::TextDocumentEditorView - + Text updated Testo aggiornato - + The text of the underlying object has changed. Discard changes and reload the text from the object? Il testo dell'oggetto sottostante è stato modificato. Annullare le modifiche e ricaricare il testo dall'oggetto? - + Yes, reload. Sì, ricarica. - + Unsaved document Documento non salvato - + Do you want to save your changes before closing? Salvare le modifiche prima di chiudere? - + If you don't save, your changes will be lost. Se non vengono salvate, le modifiche andranno perse. - - + + Edit text Modifica testo @@ -7739,22 +7056,22 @@ Vuoi specificare un'altra cartella? Gui::TinkerCADNavigationStyle - + Press left mouse button Premi il tasto sinistro del mouse - + Press middle mouse button Premi il tasto centrale del mouse - + Press right mouse button Premere il tasto destro del mouse - + Scroll middle mouse button Scorri il tasto centrale del mouse @@ -7762,22 +7079,22 @@ Vuoi specificare un'altra cartella? Gui::TouchpadNavigationStyle - + Press left mouse button Premi il tasto sinistro del mouse - + Press SHIFT button Premere il tasto Maiusc - + Press ALT button Premere il tasto ALT - + Press CTRL and SHIFT buttons Premere Ctrl e Maiusc @@ -8003,7 +7320,7 @@ Vuoi specificare un'altra cartella? Gui::TreeDockWidget - + Tree view Struttura @@ -8011,7 +7328,7 @@ Vuoi specificare un'altra cartella? Gui::TreePanel - + Search Trova @@ -8019,183 +7336,183 @@ Vuoi specificare un'altra cartella? Gui::TreeWidget - + Search... Cerca... - + Search for objects Cerca oggetti - + Activate document Attiva documento - + Activate document %1 Attiva il documento %1 - + Tree settings Impostazioni albero - + Show description column Mostra colonna descrizione - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Mostra una colonna extra nella vista ad albero per la descrizione degli elementi. La descrizione dell'elemento può essere impostata premendo F2 (o il pulsante di modifica del sistema operativo) o modificando la proprietà 'label2'. - + Group Gruppo - + Labels & Attributes Etichette & Attributi - + Description Descrizione - + Show items hidden in tree view Mostra gli elementi nascosti nella vista ad albero - + Show items that are marked as 'hidden' in the tree view Mostra gli elementi contrassegnati come 'nascosti' nella vista ad albero - + Toggle visibility in tree view Commuta la visibilità nella vista ad albero - + Toggles the visibility of selected items in the tree view Commuta la visibilità degli elementi selezionati nella vista ad albero - + Create group... Crea gruppo... - + Create a group Crea un gruppo - - + + Rename Rinomina - + Rename object Rinomina oggetto - + Finish editing Completa la modifica - + Finish editing object Completa la modifica dell'oggetto - + Add dependent objects to selection Aggiungi oggetti dipendenti alla selezione - + Adds all dependent objects to the selection Aggiunge tutti gli oggetti dipendenti alla selezione - + Close document Chiudi il documento - + Close the document Chiude il documento - + Reload document Ricarica il documento - + Reload a partially loaded document Ricarica un documento caricato parzialmente - + Skip recomputes Salta il ricalcolo - + Enable or disable recomputations of document Abilita o disabilita il ricalcolo del documento - + Allow partial recomputes Consenti i ricalcoli parziali - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Abilita o disabilita il ricalcolo dell'oggetto in modifica quando 'salta il ricalcolo' è abilitato - + Mark to recompute Segna da ricalcolare - + Mark this object to be recomputed Contrassegna questo oggetto come oggetto da ricalcolare - + Recompute object Ricalcola l'oggetto - + Recompute the selected object Ricalcola l'oggetto selezionato - + (but must be executed) (ma deve essere eseguito) - + %1, Internal name: %2 %1, nome interno: %2 @@ -8226,12 +7543,12 @@ Vuoi specificare un'altra cartella? File PDF - + Opening file failed Apertura del file non riuscita - + Can't open file '%1' for writing. Impossibile aprire il file '%1' per la scrittura. @@ -8239,7 +7556,7 @@ Vuoi specificare un'altra cartella? Gui::WorkbenchGroup - + Select the '%1' workbench Seleziona l'ambiente '%1' @@ -8247,37 +7564,37 @@ Vuoi specificare un'altra cartella? MAC_APPLICATION_MENU - + Services Servizi - + Hide %1 Nascondi %1 - + Hide Others Nascondi gli altri - + Show All Mostra tutto - + Preferences... Preferenze... - + Quit %1 Termina %1 - + About %1 Informazioni su %1 @@ -8297,11 +7614,6 @@ Vuoi specificare un'altra cartella? Position - - - Form - Modulo - X: @@ -8396,14 +7708,14 @@ Vuoi specificare un'altra cartella? PropertyListDialog - - + + Invalid input Input non valido - - + + Input in line %1 is not a number Nella riga %1 non è stato inserito un numero @@ -8411,37 +7723,37 @@ Vuoi specificare un'altra cartella? QDockWidget - + Tree view Struttura - + Property view Proprietà - + Selection view Selezione - + Combo View Vista combinata - + DAG View Vista DAG - + Report view Report - + Python console Console Python @@ -8454,31 +7766,32 @@ Vuoi specificare un'altra cartella? QObject - - + + General Generale - - + + + Display Visualizzazione - + Workbenches Ambienti di lavoro - - - + + + Python Python @@ -8506,17 +7819,27 @@ Vuoi specificare un'altra cartella? Non è possibile salvare il tipo di file sconosciuto: %1 - + Workbench failure Avaria ambiente - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Eccezione @@ -8562,8 +7885,8 @@ Vuoi specificare un'altra cartella? Esportazione PDF... - + Unsaved document Documento non salvato @@ -8584,39 +7907,39 @@ Vuoi specificare un'altra cartella? Errore di dipendenza - + Copy selected Copia la selezione - + Copy active document Copia il documento attivo - + Copy all documents Copia tutti i documenti - + Paste Incolla - + Expression error Errore di espressione - + Failed to parse some of the expressions. Please check the Report View for more details. Impossibile analizzare alcune delle espressioni. Si prega di controllare la Vista Report per maggiori dettagli. - + Failed to paste expressions Impossibile incollare le espressioni @@ -8652,225 +7975,225 @@ Be aware the point where you click matters. Prestare attenzione al punto dove si fa clic. - - + + Save views... Salva le viste... - - + + Load views... Carica le viste... - - + + Freeze view Fissa la vista - - + + Clear views Pulisci le viste - - - + + + Restore view &%1 Ripristina la vista &%1 - + Save frozen views Salva le viste bloccate - - + + Frozen views Viste bloccate - - + + Restore views Ripristina le viste - + Importing the restored views would clear the already stored views. Do you want to continue? L'importazione delle viste ripristinate cancellerà le viste salvate. Vuoi continuare? - + Restore frozen views Ripristina le viste bloccate - + Cannot open file '%1'. Non è possibile aprire il file '%1'. - + files file - + Save image Salva immagine - + Choose an image file to open Seleziona un file immagine da aprire - + New sub-group Nuovo sottogruppo - - - - - - + + + + + + Enter the name: Inserisci il nome: - - + + New text item Nuovo elemento testo - - + + Enter your text: Inserisci il testo: - - + + New integer item Nuovo elemento integer - - - - - - + + + + + + Enter your number: Inserisci il numero: - - + + New unsigned item Nuovo elemento unsigned - - + + New float item Nuovo elemento float - + New Boolean item Nuovo elemento boolean - - + + Choose an item: Scegli un elemento: - + New boolean item Nuovo elemento booleano - + Rename group Rinomina gruppo - + The group '%1' cannot be renamed. Il gruppo '%1' non può essere rinominato. - + Existing group Gruppo esistente - + The group '%1' already exists. Il gruppo '%1' esiste già. - - - - - + + + + + Change value Cambia valore - + Type Tipo - + Notifier Notificato da - + Message Messaggio - + Notifier: Notificato da: - + Do you want to skip confirmation of further critical message notifications while loading the file? Vuoi saltare la conferma di ulteriori notifiche di messaggi critici durante il caricamento del file? - + Critical Message Messaggio critico - + Too many opened non-intrusive notifications. Notifications are being omitted! Troppe notifiche aperte non invasive. Le notifiche sono state omesse! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8879,44 +8202,44 @@ Vuoi continuare? - + Are you sure you want to continue? Sei sicuro di voler continuare? - + Please check report view for more... Per favore controlla la visualizzazione dei report per saperne di più... - + Physical path: Percorso fisico: - - + + Document: Documento: - - + + Path: Percorso: - + Identical physical path Percorso fisico identico - + Could not save document Impossibile salvare il documento - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8929,102 +8252,102 @@ Would you like to save the file with a different name? Vuoi salvare il file con un nome diverso? - - - + + + Saving aborted Salvataggio annullato - + Save dependent files Salva i file dipendenti - + The file contains external dependencies. Do you want to save the dependent files, too? Il file contiene delle dipendenze esterne. Salvare anche i file dipendenti? - - + + Saving document failed Salvataggio del documento non riuscito - + Save document under new filename... Salva il documento con nome... - - + + Save %1 Document Salva il documento %1 - + Document Documento - - + + Failed to save document Impossibile salvare il documento - + Documents contains cyclic dependencies. Do you still want to save them? I documenti contengono delle dipendenze cicliche. Volete ancora salvarli? - + Save a copy of the document under new filename... Salvare una copia del documento con un nuovo nome di file... - + %1 document (*.FCStd) Documento %1 (*.FCStd) - + Document not closable Impossibile chiudere il documento - + The document is not closable for the moment. Impossibile chiudere il documento al momento. - + Document not saved Documento non salvato - + The document%1 could not be saved. Do you want to cancel closing it? Il documento %1 non può essere salvato. Vuoi annullare la chiusura? - + Undo Annulla - + Redo Ripristina - + There are grouped transactions in the following documents with other preceding transactions Nei seguenti documenti ci sono transazioni raggruppate con altre transazioni precedenti - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9038,47 +8361,47 @@ Scegli 'Annulla' per interrompere Salva macro - - + + Finish Termina - - + + Clear Pulisci - - - + + + Cancel Annulla - + Inner Interno - + Outer Esterno - + Split Dividi - - + + No Browser Nessun Browser - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9087,48 +8410,48 @@ Please open a browser window and type in: http://localhost:%1. Aprire una finestra browser e scrivere http://localhost:%1. - + No Server Nessun server - + Unable to start the server to port %1: %2. Impossibile avviare il server alla porta %1: %2. - + Unable to open your system browser. Impossibile aprire il browser di sistema. - + Options... Opzioni... - + Out of memory Memoria insufficiente - + Not enough memory available to display the data. Memoria disponibile insufficiente per visualizzare i dati. - - + + Cannot find file %1 Impossibile trovare il file %1 - + Cannot find file %1 neither in %2 nor in %3 Impossibile trovare il file %1 nè in %2 nè in %3 - + Navigation styles Stile di navigazione @@ -9138,8 +8461,8 @@ Aprire una finestra browser e scrivere http://localhost:%1. Sposta annotazione - - + + Transform Trasforma @@ -9149,42 +8472,42 @@ Aprire una finestra browser e scrivere http://localhost:%1. Vuoi chiudere questa finestra di dialogo? - + Do you want to save your changes to document '%1' before closing? Si desidera salvare le modifiche apportate al documento '%1' prima di chiuderlo? - + Do you want to save your changes to document before closing? Salvare le modifiche apportate al documento prima di chiuderlo? - + If you don't save, your changes will be lost. Se non vengono salvate, le modifiche andranno perse. - + Apply answer to all Applica la risposta a tutti - + %1 Document(s) not saved %1 Documento(i) non salvato - + Some documents could not be saved. Do you want to cancel closing? Alcuni documenti non possono essere salvati. Vuoi annullare la chiusura? - + Delete macro Cancella macro - + Not allowed to delete system-wide macros Non è consentito eliminare le macro di sistema @@ -9194,27 +8517,27 @@ Aprire una finestra browser e scrivere http://localhost:%1. Origine - + Delete group content? Eliminare il contenuto del gruppo? - + The %1 is not empty, delete its content as well? Il %1 non è vuoto, eliminare anche il suo contenuto? - + Translation: Traslazione: - + Rotation: Rotazione: - + Toggle active part Attiva/disattiva la parte @@ -9277,88 +8600,88 @@ Aprire una finestra browser e scrivere http://localhost:%1. Impossibile importare tutti i link - - + + Invalid name Nome non valido - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Il nome della proprietà o il nome del gruppo devono contenere solo caratteri alfanumerici, e sottolineato e non deve iniziare con un numero. - + The property '%1' already exists in '%2' La proprietà '%1' esiste già in '%2' - + Add property Aggiungi proprietà - + Failed to add property to '%1': %2 Impossibile aggiungere la proprietà a '%1': %2 - - + + Drag & drop failed Trascinamento della selezione non riuscito - + Setup configurable object Imposta oggetto configurabile - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Seleziona quale oggetto copiare o escludere quando la configurazione cambia. Tutti gli oggetti collegati esterni sono esclusi per impostazione predefinita. - + Please select which objects to copy when the configuration is changed Seleziona quali oggetti copiare quando la configurazione è cambiata - + Apply to all Applica a tutti - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Applica l'impostazione a tutti i collegamenti. Oppure, deseleziona questa opzione per applicare solo a questo collegamento. - + Copy on change Copia al cambiamento - + Enable Abilita - + Enable auto copy of linked object when its configuration is changed Abilita la copia automatica dell'oggetto collegato quando la sua configurazione viene cambiata - + Tracking Crenatura - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9367,17 +8690,17 @@ Viene anche rifatta automaticamente la copia se l'oggetto collegato originale vi - + Disable copy on change Disabilita la copia al cambiamento - + Refresh configurable object Aggiorna oggetto configurabile - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9388,28 +8711,28 @@ la copia corrente andranno perse. - + Toggle array elements Attiva/Disattiva elementi array - + Change whether show each link array element as individual objects Cambia se mostra ogni elemento dell'array di collegamento come singoli oggetti - + Transform at the origin of the placement Trasformazione all'origine del posizionamento - - + + Override colors... Sostituisci colori... - + Edit %1 Edita %1 @@ -9432,12 +8755,12 @@ la copia corrente andranno perse. SelectionFilter - + Not allowed: Non consentito: - + Selection not allowed by filter Selezione non consentita dal filtro @@ -9445,9 +8768,9 @@ la copia corrente andranno perse. StdBoxElementSelection - - - + + + Box element selection Box di selezione di elementi @@ -9455,13 +8778,13 @@ la copia corrente andranno perse. StdBoxSelection - + Box selection Box di selezione - - + + Activate the box selection tool Attiva lo strumento di selezione casella @@ -9539,13 +8862,13 @@ la copia corrente andranno perse. StdCmdAxisCross - + Toggle axis cross Origine degli assi - - + + Turns on or off the axis cross at the origin Attiva o disattiva la croce degli assi all'origine @@ -9651,13 +8974,13 @@ la copia corrente andranno perse. StdCmdDemoMode - + View turntable... Visualizza rotazione oggetti... - - + + View turntable Visualizza rotazione oggetti @@ -9777,13 +9100,13 @@ la copia corrente andranno perse. StdCmdDrawStyle - + Draw style Stile di disegno - - + + Change the draw style of the objects Cambia lo stile di disegno degli oggetti @@ -9847,13 +9170,13 @@ la copia corrente andranno perse. StdCmdExpression - + Expression actions Azioni rapide - - + + Actions that apply to expressions Azioni che si applicano alle espressioni @@ -9970,13 +9293,13 @@ la copia corrente andranno perse. StdCmdFreezeViews - + Freeze display Viste bloccate - - + + Freezes the current view position Blocca la vista nella posizione corrente @@ -9997,13 +9320,13 @@ la copia corrente andranno perse. StdCmdHideObjects - + Hide all objects Nascondi tutti gli oggetti - - + + Hide all objects in the document Nascondi tutti gli oggetti nel documento @@ -10011,13 +9334,13 @@ la copia corrente andranno perse. StdCmdHideSelection - + Hide selection Nascondi la selezione - - + + Hide all selected objects Nascondi tutti gli oggetti selezionati @@ -10291,13 +9614,13 @@ la copia corrente andranno perse. StdCmdMeasureDistance - + Measure distance Misura la distanza - - + + Activate the distance measurement tool Attiva lo strumento di misura della distanza @@ -10356,8 +9679,8 @@ la copia corrente andranno perse. Crea un documento vuoto - - + + Unnamed Senza nome @@ -10585,8 +9908,8 @@ la copia corrente andranno perse. StdCmdRecentFiles - Recent files - File recenti + Open Recent + Apri Recenti @@ -10724,13 +10047,13 @@ la copia corrente andranno perse. StdCmdSceneInspector - + Scene inspector... Ispettore di scena... - - + + Scene inspector Ispettore di scena @@ -10738,13 +10061,13 @@ la copia corrente andranno perse. StdCmdSelBack - + &Back &Indietro - - + + Go back to previous selection Torna alla selezione precedente @@ -10752,13 +10075,13 @@ la copia corrente andranno perse. StdCmdSelBoundingBox - + &Bounding box &Box contenitore - - + + Show selection bounding box Mostra il contenitore di delimitazione della selezione @@ -10766,13 +10089,13 @@ la copia corrente andranno perse. StdCmdSelForward - + &Forward &Avanti - - + + Repeat the backed selection Ripeti la selezione precedente @@ -10794,13 +10117,13 @@ la copia corrente andranno perse. StdCmdSelectVisibleObjects - + Select visible objects Seleziona gli oggetti visibili - - + + Select visible objects in the active document Seleziona gli oggetti visibili nel documento attivo @@ -10822,13 +10145,13 @@ la copia corrente andranno perse. StdCmdSetAppearance - + Appearance... Aspetto... - - + + Sets the display properties of the selected object Imposta le proprietà di visualizzazione dell'oggetto selezionato @@ -10836,13 +10159,13 @@ la copia corrente andranno perse. StdCmdShowObjects - + Show all objects Mostra tutti gli oggetti - - + + Show all objects in the document Mostra tutti gli oggetti nel documento @@ -10850,13 +10173,13 @@ la copia corrente andranno perse. StdCmdShowSelection - + Show selection Mostra la selezione - - + + Show all selected objects Mostra tutti gli oggetti selezionati @@ -10892,13 +10215,13 @@ la copia corrente andranno perse. StdCmdTextureMapping - + Texture mapping... Mappa una trama... - - + + Texture mapping Mappatura texture @@ -10934,13 +10257,13 @@ la copia corrente andranno perse. StdCmdToggleClipPlane - + Clipping plane Piano di taglio - - + + Toggles clipping plane for active view Attiva/disattiva il piano di taglio per la vista attiva @@ -10948,13 +10271,13 @@ la copia corrente andranno perse. StdCmdToggleNavigation - + Toggle navigation/Edit mode Attiva/disattiva la modalità modifica - - + + Toggle between navigation and edit mode Alterna tra la modalità di modifica e navigazione @@ -10962,13 +10285,13 @@ la copia corrente andranno perse. StdCmdToggleObjects - + Toggle all objects Commuta tutti gli oggetti - - + + Toggles visibility of all objects in the active document Nascondi tutti gli oggetti del documento attivo @@ -10976,13 +10299,13 @@ la copia corrente andranno perse. StdCmdToggleSelectability - + Toggle selectability Commuta la selezionabilità - - + + Toggles the property of the objects to get selected in the 3D-View Attiva o disattiva la proprietà degli oggetti di essere selezionati nella vista 3D @@ -10990,13 +10313,13 @@ la copia corrente andranno perse. StdCmdToggleVisibility - + Toggle visibility Mostra/Nascondi - - + + Toggles visibility Attiva/disattiva la visibilità @@ -11046,13 +10369,13 @@ la copia corrente andranno perse. StdCmdTreeCollapse - + Collapse selected item Riduci l'elemento selezionato - - + + Collapse currently selected tree items Riduce gli elementi attualmente selezionati @@ -11060,13 +10383,13 @@ la copia corrente andranno perse. StdCmdTreeExpand - + Expand selected item Espandi l'elemento selezionato - - + + Expand currently selected tree items Espande gli elementi dell'albero attualmente selezionati @@ -11074,13 +10397,13 @@ la copia corrente andranno perse. StdCmdTreeSelectAllInstances - + Select all instances Seleziona tutte le istanze - - + + Select all instances of the current selected object Seleziona tutte le istanze dell'oggetto selezionato corrente @@ -11088,13 +10411,13 @@ la copia corrente andranno perse. StdCmdTreeViewActions - + TreeView actions Azioni della vista ad albero - - + + TreeView behavior options and actions Opzioni e azioni della Vista ad albero @@ -11158,13 +10481,13 @@ la copia corrente andranno perse. StdCmdViewBottom - + Bottom Dal basso - - + + Set to bottom view Imposta la vista dal basso @@ -11172,13 +10495,13 @@ la copia corrente andranno perse. StdCmdViewCreate - + Create new view Crea una nuova vista - - + + Creates a new view window for the active document Crea una nuova vista per il documento attivo @@ -11186,13 +10509,13 @@ la copia corrente andranno perse. StdCmdViewDimetric - + Dimetric Dimetrica - - + + Set to dimetric view Imposta la vista dimetrica @@ -11200,13 +10523,13 @@ la copia corrente andranno perse. StdCmdViewExample1 - + Inventor example #1 Esempio Inventor #1 - - + + Shows a 3D texture with manipulator Mostra una texture 3D con il manipolatore @@ -11214,13 +10537,13 @@ la copia corrente andranno perse. StdCmdViewExample2 - + Inventor example #2 Esempio Inventor #2 - - + + Shows spheres and drag-lights Mostra le sfere con scia di luce @@ -11228,13 +10551,13 @@ la copia corrente andranno perse. StdCmdViewExample3 - + Inventor example #3 Esempio Inventor #3 - - + + Shows a animated texture Mostra una texture animata @@ -11242,13 +10565,13 @@ la copia corrente andranno perse. StdCmdViewFitAll - + Fit all Visualizza tutto - - + + Fits the whole content on the screen Visualizza tutto il contenuto nello schermo @@ -11256,13 +10579,13 @@ la copia corrente andranno perse. StdCmdViewFitSelection - + Fit selection Visualizza la selezione - - + + Fits the selected content on the screen Visualizza il contenuto selezionato sullo schermo @@ -11270,13 +10593,13 @@ la copia corrente andranno perse. StdCmdViewFront - + Front Di fronte - - + + Set to front view Imposta la vista di fronte @@ -11284,13 +10607,13 @@ la copia corrente andranno perse. StdCmdViewHome - + Home Home - - + + Set to default home view Imposta come vista iniziale predefinita @@ -11298,13 +10621,13 @@ la copia corrente andranno perse. StdCmdViewIsometric - + Isometric Isometrica - - + + Set to isometric view Imposta la vista isometrica @@ -11312,13 +10635,13 @@ la copia corrente andranno perse. StdCmdViewIvIssueCamPos - + Issue camera position Pubblica la posizione della camera - - + + Issue the camera position to the console and to a macro, to easily recall this position Pubblica la posizione della camera nella console e nella macro, per facilitare il richiamo di questa posizione @@ -11326,13 +10649,13 @@ la copia corrente andranno perse. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereo a colonne interlacciate - - + + Switch stereo viewing to Interleaved Columns Passa alla visualizzazione stereo a colonne interlacciate @@ -11340,13 +10663,13 @@ la copia corrente andranno perse. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Stereo a righe interlacciate - - + + Switch stereo viewing to Interleaved Rows Passa alla visualizzazione stereo a righe interlacciate @@ -11354,13 +10677,13 @@ la copia corrente andranno perse. StdCmdViewIvStereoOff - + Stereo Off Stereo off - - + + Switch stereo viewing off Disattiva la visualizzazione stereo @@ -11368,13 +10691,13 @@ la copia corrente andranno perse. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo quad buffer - - + + Switch stereo viewing to quad buffer Passa alla visualizzazione stereo a quad buffer @@ -11382,13 +10705,13 @@ la copia corrente andranno perse. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo rosso/ciano - - + + Switch stereo viewing to red/cyan Commuta la visualizzazione stereo in rosso/ciano @@ -11396,13 +10719,13 @@ la copia corrente andranno perse. StdCmdViewLeft - + Left Da sinistra - - + + Set to left view Imposta la vista da sinistra @@ -11410,13 +10733,13 @@ la copia corrente andranno perse. StdCmdViewRear - + Rear Da dietro - - + + Set to rear view Imposta la vista da dietro @@ -11438,13 +10761,13 @@ la copia corrente andranno perse. StdCmdViewRight - + Right Da destra - - + + Set to right view Imposta la vista da destra @@ -11452,13 +10775,13 @@ la copia corrente andranno perse. StdCmdViewRotateLeft - + Rotate Left Ruota a sinistra - - + + Rotate the view by 90° counter-clockwise Ruota la vista di 90° in senso antiorario @@ -11466,13 +10789,13 @@ la copia corrente andranno perse. StdCmdViewRotateRight - + Rotate Right Ruota a destra - - + + Rotate the view by 90° clockwise Ruota la vista in senso orario di 90° @@ -11494,13 +10817,13 @@ la copia corrente andranno perse. StdCmdViewTop - + Top Dall'alto - - + + Set to top view Imposta la vista dall'alto @@ -11508,13 +10831,13 @@ la copia corrente andranno perse. StdCmdViewTrimetric - + Trimetric Trimetrica - - + + Set to trimetric view Imposta la vista trimetrica @@ -11522,13 +10845,13 @@ la copia corrente andranno perse. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Estendi la finestra 3D di FreeCAD a Oculus Rift @@ -11592,13 +10915,13 @@ la copia corrente andranno perse. StdMainFullscreen - + Fullscreen Schermo intero - - + + Display the main window in fullscreen mode Visualizzare la finestra principale in modalità schermo intero @@ -11634,13 +10957,13 @@ la copia corrente andranno perse. StdRecallWorkingView - + Recall working view Richiama vista di lavoro - - + + Recall previously stored temporary working view Richiama la vista di lavoro temporanea precedentemente memorizzata @@ -11648,13 +10971,13 @@ la copia corrente andranno perse. StdStoreWorkingView - + Store working view Memorizza vista di lavoro - - + + Store a document-specific temporary working view Memorizza una vista di lavoro temporanea specifica al documento @@ -11662,13 +10985,13 @@ la copia corrente andranno perse. StdTreeCollapseDocument - + Collapse/Expand Comprimi/Espandi - - + + Expand active document and collapse all others Espandi il documento attivo e comprimi tutti gli altri @@ -11676,12 +10999,12 @@ la copia corrente andranno perse. StdTreeDrag - + Initiate dragging Avvia il trascinamento - + Initiate dragging of current selected tree items Avvia il trascinamento degli elementi dell'albero selezionato @@ -11689,13 +11012,13 @@ la copia corrente andranno perse. StdTreeMultiDocument - + Multi document Multi documento - - + + Display all documents in the tree view Visualizza tutti i documenti nella struttura ad albero @@ -11703,12 +11026,12 @@ la copia corrente andranno perse. StdTreePreSelection - + Pre-selection Pre-selezione - + Preselect the object in 3D view when mouse over the tree item Preseleziona l'oggetto nella vista 3D quando il mouse sopra l'elemento ad albero @@ -11716,12 +11039,12 @@ la copia corrente andranno perse. StdTreeRecordSelection - + Record selection Registra la selezione - + Record selection in tree view in order to go back/forward using navigation button Registra la selezione nella vista ad albero per andare indietro/avanti usando il pulsante di navigazione @@ -11729,13 +11052,13 @@ la copia corrente andranno perse. StdTreeSelection - + Go to selection Vai alla selezione - - + + Scroll to first selected item Scorri fino al primo elemento selezionato @@ -11743,13 +11066,13 @@ la copia corrente andranno perse. StdTreeSingleDocument - + Single document Documento singolo - - + + Only display the active document in the tree view Visualizza solo il documento attivo nella struttura ad albero @@ -11757,12 +11080,12 @@ la copia corrente andranno perse. StdTreeSyncPlacement - + Sync placement Sincronizza la posizione - + Auto adjust placement on drag and drop objects across coordinate systems Regola automaticamente il posizionamento degli oggetti trascinandoli tra i sistemi di coordinate @@ -11770,12 +11093,12 @@ la copia corrente andranno perse. StdTreeSyncSelection - + Sync selection Sincronizza la selezione - + Auto expand tree item when the corresponding object is selected in 3D view Espande automaticamente la struttura quando l'oggetto corrispondente viene selezionato nella vista 3D @@ -11783,12 +11106,12 @@ la copia corrente andranno perse. StdTreeSyncView - + Sync view Sincronizza la vista - + Auto switch to the 3D view containing the selected item Passa automaticamente alla vista 3D contenente l'elemento selezionato @@ -11796,13 +11119,13 @@ la copia corrente andranno perse. StdViewBoxZoom - + Box zoom Finestra di ingrandimento - - + + Activate the box zoom tool Attiva lo strumento di selezione riquadro @@ -11810,13 +11133,13 @@ la copia corrente andranno perse. StdViewDock - + Docked Agganciata - - + + Display the active view either in fullscreen, in undocked or docked mode Visualizza la vista attiva a tutto schermo, in modalità agganciata o sganciata @@ -11824,13 +11147,13 @@ la copia corrente andranno perse. StdViewDockUndockFullscreen - + Document window Finestra del documento - - + + Display the active view either in fullscreen, in undocked or docked mode Visualizza la vista attiva a tutto schermo, in modalità agganciata o sganciata @@ -11838,13 +11161,13 @@ la copia corrente andranno perse. StdViewFullscreen - + Fullscreen Schermo intero - - + + Display the active view either in fullscreen, in undocked or docked mode Visualizza la vista attiva a tutto schermo, in modalità agganciata o sganciata @@ -11852,13 +11175,13 @@ la copia corrente andranno perse. StdViewScreenShot - + Save image... Salva immagine... - - + + Creates a screenshot of the active view Crea una istantanea della vista attiva @@ -11866,13 +11189,13 @@ la copia corrente andranno perse. StdViewUndock - + Undocked Sganciata - - + + Display the active view either in fullscreen, in undocked or docked mode Visualizza la vista attiva a tutto schermo, in modalità agganciata o sganciata @@ -11880,13 +11203,13 @@ la copia corrente andranno perse. StdViewZoomIn - + Zoom In Ingrandisci - - + + Increase the zoom factor by a fixed amount Aumenta il fattore di zoom di una quantità fissa @@ -11894,13 +11217,13 @@ la copia corrente andranno perse. StdViewZoomOut - + Zoom Out Riduci - - + + Decrease the zoom factor by a fixed amount Diminuisce il fattore di zoom di una quantità fissa @@ -11935,72 +11258,72 @@ Sicuro di voler continuare? Std_DrawStyle - + As is Come è - + Normal mode Modalità normale - + Points Punti - + Points mode Punti - + Wireframe Reticolo - + Wireframe mode Modalità reticolo - + Hidden line Linee nascoste - + Hidden line mode Modalità linea nascosta - + No shading Senza ombre - + No shading mode Nessuna modalità di ombreggiatura - + Shaded Ombreggiato - + Shaded mode Modalità ombreggiata, senza linee - + Flat lines Facce piene - + Flat lines mode Modalità facce piene con linee visibili @@ -12063,32 +11386,32 @@ Si desidera ancora procedere? TreeParams - + Tree view item background. Only effective in overlay. Sfondo dell'elemento vista ad albero. Efficace solo in sovrapposizione. - + Tree view item background padding. Padding sfondo elemento in vista ad albero. - + Hide extra tree view column for item description. Nascondi la colonna vista ad albero extra per la descrizione degli elementi. - + Hide tree view scroll bar in dock overlay. Nasconde la barra di scorrimento della vista albero nella sovrapposizione dock. - + Hide tree view header view in dock overlay. Nasconde l'intestazione della vista ad albero nella sovrapposizione del dock. - + Allow tree view columns to be manually resized. Consenti di ridimensionare manualmente le colonne della vista ad albero. @@ -12096,117 +11419,117 @@ Si desidera ancora procedere? Workbench - + &File &File - + &Edit &Modifica - + Edit Modifica - + Clipboard Appunti - + Workbench Ambiente - + Structure Struttura - + Standard views Viste standard - + Axonometric Assonometria - + &Stereo &Stereo - + &Zoom &Zoom - + Visibility Visibilità - + &View &Visualizza - + &Tools &Strumenti - + &Macro &Macro - + &Windows &Finestre - + &On-line help &Aiuto in linea - + &Help &Aiuto - + Help Aiuto - + File File - + Macro Macro - + View Vista - + Special Ops Operazioni speciali - + Link actions Azioni link @@ -12214,12 +11537,12 @@ Si desidera ancora procedere? Gui::MDIView - + Export PDF Esporta in formato PDF - + PDF file File PDF @@ -12227,196 +11550,190 @@ Si desidera ancora procedere? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Area di Notifica - + Settings Impostazioni - + The Notification area will appear in the status bar L'area di Notifica apparirà nella barra di stato - + Enable Notification Area Abilita area di Notifica - + Non-intrusive notifications will appear next to the notification area in the status bar Le notifiche non intrusive appariranno accanto all'area di notifica nella barra di stato - + Enable non-intrusive notifications Abilita le notifiche non invasive - + Additional data sources Fonti dati aggiuntive - + Errors intended for developers will appear in the notification area Gli errori destinati agli sviluppatori appariranno nell'area di notifica - + Debug errors Errori di debug - + Warnings intended for developers will appear in the notification area Gli avvisi destinati agli sviluppatori appariranno nell'area di notifica - + Debug warnings Avvertimenti di debug - + Non-Intrusive Notifications Notifiche non invasive - + Minimum Duration: Durata minima: - + Maximum Duration: Durata massima: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Durata durante la quale verrà mostrata la notifica (a meno che non vengano cliccati i pulsanti del mouse) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Durata minima durante la quale verrà visualizzata la notifica (a meno che la notifica non venga cliccata) - + Maximum Number of Notifications: Numero massimo di notifiche: - + Maximum number of notifications that will be simultaneously present on the screen Numero massimo di notifiche che saranno contemporaneamente presenti sullo schermo - + Notification width: Larghezza delle notifiche: - + Width of the notification in pixels Larghezza della notifica in pixel - + Any open non-intrusive notifications will disappear when another window is activated Tutte le notifiche aperte non invasive scompaiono quando viene attivata un'altra finestra - + Hide when other window is activated Nascondi quando viene attivata un'altra finestra - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Impedisci che appaiano notifiche non invasive quando la finestra di FreeCAD non è la finestra attiva - + Do not show when inactive Non mostrare quando inattivo - + Message List Elenco messaggi - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limita il numero di messaggi che verranno mantenuti nella lista. Se 0 non c'è limite. - + Maximum Messages (0 = no limit): Messaggi massimi (0 = nessun limite): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Rimuove le notifiche utente dall'elenco dei messaggi dopo che la durata massima non invasiva è scaduta. - + Auto-remove User Notifications Rimozione automatica delle notifiche utente - - - Activation of the Notification Area only takes effect after an application restart. - L'attivazione dell'area di notifica ha effetto solo dopo il riavvio di un'applicazione. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Ambienti di Lavoro Disponibili - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>È possibile riordinare i banchi di lavoro trascinando e rilasciando. Ulteriori ambienti di lavoro possono essere installati attraverso il gestore delle estensioni.</p><p> Attualmente, il tuo sistema ha i seguenti ambienti di lavoro:</p></body></html> - + Start up workbench: Avvio dell'ambiente di lavoro: - + Choose which workbench will be activated and shown after FreeCAD launches Scegliere quale ambiente di lavoro sarà attivato e mostrato dopo l'avvio di FreeCAD - + Workbench selector position : Posizione selettore ambiente di lavoro: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12429,12 +11746,12 @@ dopo l'avvio di FreeCAD 'Angolo destro': Nella barra dei menu, nell'angolo destro. - + If checked, application will remember which workbench is active for each tab of the viewport Se selezionato, l'applicazione ricorderà quale ambiente di lavoro è attivo per ogni scheda della finestra visualizzata - + Remember active workbench by tab Ricorda l'ambiente attivo per la scheda @@ -12583,47 +11900,47 @@ dopo l'avvio di FreeCAD Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Se deselezionato, %1 non apparirà negli ambienti di lavoro disponibili. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Questo è il modulo di avvio attuale e deve essere automaticamente abilitato. Vedi in Preferenze/Generale/Autoload per modificare. - + Shortcut to activate this workbench. Scorciatoia per attivare questo ambiente di lavoro. - + Auto-load Caricamento automatico - + If checked, %1 will be loaded automatically when FreeCAD starts up Se selezionato, %1 verrà caricato automaticamente all'avvio di FreeCAD - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Questo è il modulo di avvio corrente e deve essere automaticamente abilitato. Vedi Preferenze/Generale/Autoload per cambiare. - + Loaded Caricato - + Load Carica - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Per preservare le risorse, FreeCAD non carica gli ambienti di lavoro finché non vengono utilizzati. Il loro caricamento può fornire l'accesso a preferenze aggiuntive relative alla loro funzionalità. @@ -12631,17 +11948,22 @@ dopo l'avvio di FreeCAD Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Barra degli strumenti - + Left corner Angolo sinistro - + Right corner Angolo destro @@ -12667,12 +11989,12 @@ dopo l'avvio di FreeCAD Gui::NotificationArea - + Delete user notifications Cancella notifiche - + Delete All Elimina tutto @@ -12708,13 +12030,13 @@ dopo l'avvio di FreeCAD StdViewLoadImage - + Load image... Carica immagine... - - + + Loads an image Carica un'immagine @@ -12776,10 +12098,816 @@ dopo l'avvio di FreeCAD Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Si è verificato un errore -- vedere Report View per informazioni + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opzioni + + + + Code lines will be numbered + Le righe del codice saranno numerate + + + + Enable line numbers + Abilita la numerazione delle righe + + + + The cursor shape will be a block + La forma del cursore sarà un blocco + + + + Enable block cursor + Abilita il cursore a blocco + + + + Enable folding + Abilita il folding + + + + Indentation + Indentazione + + + + Tab size: + Dimensione della tabulazione: + + + + Tabulator raster (how many spaces) + Indentazione del tabulatore (quanti spazi) + + + + Indent size: + Dimensione dell'indentazione: + + + + How many spaces will be inserted when pressing <Tab> + Quantità di spazi che vengono inseriti premendo <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Premendo <Tab> si inserirà un tabulatore con gli spazi definiti da Dimensione della tabulazioe + + + + Keep tabs + Mantieni le tabulazioni + + + + Pressing <Tab> will insert amount of defined indent size + Premendo <Tab> verrà inserita la quantità di spazi definiti per l'indentazione + + + + Insert spaces + Inserisci gli spazi + + + + Display items + Visualizza gli elementi + + + + Color and font settings will be applied to selected type + Le impostazioni del colore e del carattere verranno applicate al tipo selezionato + + + + Family: + Tipo di carattere: + + + + Font family to be used for selected code type + Famiglia di caratteri da utilizzare per il tipo di codice selezionato + + + + Size: + Dimensione: + + + + Font size to be used for selected code type + Dimensione del carattere da utilizzare per il tipo di codice selezionato + + + + Color: + Colore: + + + + Preview: + Anteprima: + + + + Text + Testo + + + + Bookmark + Segnalibro + + + + Breakpoint + Interruzione + + + + Keyword + Parola chiave + + + + Comment + Commento + + + + Block comment + Blocco di commento + + + + Number + Numero + + + + String + Stringa + + + + Character + Carattere + + + + Class name + Nome della classe + + + + Define name + Nome definito + + + + Operator + Operatore + + + + Python output + Output Python + + + + Python error + Errore Python + + + + Current line highlight + Evidenziare la linea corrente + + + + Items + Elementi + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Generale + + + + Language and number format + Lingua e formato numerico + + + + Language: + Lingua: + + + + Language of the application's user interface + Lingua dell'interfaccia utente dell'applicazione + + + + Unit system: + Sistema di unità: + + + + Unit system that should be used for all parts of the application + Sistema di unità che dovrebbe essere utilizzato per tutte le parti dell'applicazione + + + + Number of decimals: + Numero di cifre decimali: + + + + Number of decimals that should be shown for numbers and dimensions + Numero di decimali che devono essere mostrati per i numeri e le dimensioni + + + + Minimum fractional inch: + Minima frazione in pollici: + + + + Minimum fractional inch to be displayed + Frazione minima in pollici da visualizzare + + + + Number format: + Formato numerico: + + + + Operating system + Sistema operativo + + + + Selected language + Lingua selezionata + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Se abilitato, il separatore decimale del tastierino numerico +verrà sostituito con il separatore locale, tranne +in Python Console e Macro Editor dove un +punto verrà sempre stampato. + + + + Substitute decimal separator + Sostituire il separatore decimale + + + + Application + Applicazione + + + + Theme: + Tema: + + + + Customize how user interface will look like + Personalizza l'aspetto dell'interfaccia utente + + + + Size of toolbar icons: + Dimensione delle icone della barra degli strumenti: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Scegliere la dimensione preferita delle icone nella barra degli strumenti. Possono essere regolate +in base alle dimensioni dello schermo o al gusto personale + + + + Tree view mode: + Modalità vista ad albero: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Personalizza il modo in cui la vista ad albero viene mostrata nel pannello (è richiesto il riavvio). + +'ComboView': combina la vista ad albero e la vista proprietà in un unico pannello. +'TreeView e PropertyView': divide la vista ad albero e la vista delle proprietà in pannelli separati. +'Entrambi': mantiene tutti e tre i pannelli, e si possono avere due tipi di vista ad albero e di vista proprietà. + + + + Size of recent file list: + Dimensione della lista dei file recenti: + + + + How many files should be listed in recent files list + Quanti file devono essere elencati nell'elenco dei file recenti + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Lo sfondo della finestra principale (quando nessun documento è aperto) sarà costituito da piastrelle di un'immagine speciale. +Guarda la Wiki di FreeCAD per maggiori dettagli sull'immagine. + + + + Enable tiled background + Abilita lo sfondo a mosaico + + + + The text cursor will be blinking + Il cursore di testo lampeggierà + + + + Enable cursor blinking + Abilita lampeggiamento cursore + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + La schermata di avvio è una piccola finestra di caricamento visualizzata +quando FreeCAD viene avviato. Se questa opzione è selezionata, FreeCAD visualizzerà +la schermata di avvio + + + + Enable splash screen at start up + Abilita la schermata iniziale all'avvio + + + + Preference packs + Pacchetti preferenze + + + + Name + Nome + + + + Type + Tipo + + + + Load + Carica + + + + Import config... + Importa configurazione... + + + + Save new... + Salva nuovo... + + + + Manage... + Gestisci... + + + + Revert... + Ripristina... + + + + Manage preference packs + Gestisci pacchetti di preferenze + + + + Small (%1px) + Piccolo (%1px) + + + + Medium (%1px) + Medio (%1px) + + + + Large (%1px) + Grande (%1px) + + + + Extra large (%1px) + Grandissimo (%1px) + + + + Custom (%1px) + Personalizzato (%1px) + + + + Combo View + Vista combinata + + + + TreeView and PropertyView + Vista ad albero e proprietà + + + + Both + Entrambe + + + + Preference Pack Name + Nome Pacchetto Preferenze + + + + Tags + Etichette + + + + Apply + Applica + + + + Apply the %1 preference pack + Applica il pacchetto preferenze %1 + + + + Choose a FreeCAD config file to import + Scegli un file di configurazione FreeCAD da importare + + + + File exists + Il file esiste + + + + A preference pack with that name already exists. Overwrite? + Esiste già un pacchetto di preferenze con quel nome. Vuoi sovrascriverlo? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Report + + + + Output + Output + + + + Normal messages will be recorded + I messaggi normali verranno registrati + + + + Record normal messages + Registra i messaggi normali + + + + Log messages will be recorded + I messaggi di log verranno registrati + + + + Record log messages + Registra i messaggi di log + + + + Warnings will be recorded + Gli avvisi verranno registrati + + + + Record warnings + Registra gli avvisi + + + + Error messages will be recorded + I messaggi di errore verranno registrati + + + + Record error messages + Registra i messaggi di errore + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Quando si verifica un errore, la finestra di dialogo della vista report appare +sullo schermo e visualizza l'errore + + + + Show report view on error + Mostra la vista report in caso di errore + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Quando si verifica un avviso, la finestra di dialogo della vista report appare +sullo schermo e visualizza l'avviso + + + + Show report view on warning + Mostra la vista report in caso di avviso + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Quando si verifica un messaggio normale, la finestra di dialogo Vista report diventa visibile +sullo schermo per visualizzare il messaggio + + + + Show report view on normal message + Mostra la vista report per i messaggi + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Quando si verifica un messaggio di log, la finestra di dialogo Vista report diventa visibile +sullo schermo per visualizzare il messaggio + + + + Show report view on log message + Mostra la vista report per i messaggi log + + + + Include a timecode for each report + Inserisci il codice temporale per ogni report + + + + Include a timecode for each entry + Inserisci il codice temporale per ogni voce + + + + Colors + Colori + + + + Normal messages: + Messaggi normali: + + + + Font color for normal messages in Report view panel + Colore del carattere per i messaggi normali nel pannello Rapporti + + + + Log messages: + Messaggi di log: + + + + Font color for log messages in Report view panel + Colore del carattere per i messaggi di log nel pannello Rapporti + + + + Warnings: + Avvisi: + + + + Font color for warning messages in Report view panel + Colore del carattere per i messaggi di avvisi nel pannello Report + + + + Errors: + Errori: + + + + Font color for error messages in Report view panel + Colore del carattere per i messaggi di errore nel pannello Report + + + + Python interpreter + Interprete Python + + + + Internal Python output will be redirected +from Python console to Report view panel + L'output interno di Python verrà reindirizzato +dalla console di Python al pannello Vista Report + + + + Redirect internal Python output to report view + Reindirizza l'output interno di Python alla finestra di report + + + + Internal Python error messages will be redirected +from Python console to Report view panel + I messaggi di errore interni di Python saranno reindirizzati +dalla console di Python al pannello vista Report + + + + Redirect internal Python errors to report view + Reindirizza gli errori interni di Python alla finestra di report + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Tema + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Questa pagina ti permette di personalizzare il tuo tema attuale. Le impostazioni offerte sono facoltative per gli sviluppatori di temi in modo che possano o meno avere un effetto nel tuo tema attuale. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Questo colore potrebbe essere usato dal tuo tema per consentirti di personalizzarlo. + + + + No style sheet + Nessun foglio di stile + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_ja.ts b/src/Gui/Language/FreeCAD_ja.ts index 73bf063f6f..676a42f283 100644 --- a/src/Gui/Language/FreeCAD_ja.ts +++ b/src/Gui/Language/FreeCAD_ja.ts @@ -42,29 +42,29 @@ フィーチャーの表示サイズ - + <empty> <空> - - + + Angle 角度 - - + + Axis - + Position - Position + 位置 - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output コンソール出力のテスト - - + + Run test cases to verify console messages コンソールメッセージを確認するためのテストケースを実行 @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement 計測のクリア - + Clear all visible measurements 表示されているすべての測定値をクリア @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement 計測値の表示切替 - + Turn on or off the display of all measurements すべての測定値の表示をオンまたはオフにする @@ -132,7 +132,7 @@ 削除 - + Paste expressions 式を貼り付け @@ -182,7 +182,7 @@ グループを追加 - + Align Align @@ -193,40 +193,40 @@ 配置 - - + + Transform 変換 - + Toggle array elements 整列要素の切り替え - + Link Transform リンク変換 - + Measure distance 距離を測定 - + Toggle visibility 表示切り替え - + Toggle selectability 選択方法の切り替え - + Edit image 画像の編集 @@ -234,77 +234,77 @@ CommandGroup - + File ファイル - + Edit 編集 - + Help ヘルプ - + Link リンク - + Tools ツール - + View ビュー - + Window ウィンドウ - + Standard 標準 - + Macros マクロ - + Macro マクロ - + Structure 構造体 - + Standard-Test 標準テスト - + Standard-View 標準ビュー - + TreeView ツリービュー - + Measure 計測 @@ -402,11 +402,6 @@ DownloadItem - - - Form - フォーム - Ico @@ -421,42 +416,42 @@ EditMode - + Default デフォルト - + The object will be edited using the mode defined internally to be the most appropriate for the object type オブジェクトは、オブジェクト型に最も適した、内部的に定義されたモードを使用して編集されます。 - + Transform 変換 - + The object will have its placement editable with the Std TransformManip command オブジェクトの配置は Std TransformManip コマンドで編集可能です。 - + Cutting 切断 - + This edit mode is implemented as available but currently does not seem to be used by any object この編集モードは利用可能な状態で実装されていますが、現在はどのオブジェクトでも使用されていないようです。 - + Color - + The object will have the color of its individual faces editable with the Part FaceColors command オブジェクトはそれぞれの面の色を持ち、Part FaceColors コマンドで編集可能です。 @@ -482,7 +477,7 @@ なし - + Press a keyboard shortcut キーボードショートカットを押してください @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: 利用可能: - + Selected: 選択: - + Add 追加 - + Remove 削除 - + Move up 上へ移動 - + Move down 下へ移動 @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object 可動オブジェクト - + Fixed object 固定オブジェクト @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... 自動修復ファイルが保存されるまでお待ちください... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button マウスの左ボタンを押す - + Press SHIFT and middle mouse button Shiftキーとマウスの中央ボタンを押す - + Press middle mouse button マウスの中ボタンを押す - + Scroll middle mouse button マウスの中ボタンをスクロールする @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button マウスの左ボタンを押す - + Press middle mouse button マウスの中ボタンを押す - + Press middle+left or middle+right button 中ボタン+左ボタンまたは、中ボタン+右ボタンを押してください。 - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down スクロールするには、左または右クリックをしながら中ボタン、あるいは中央ボタンを押したままにして、マウスを上下に移動させる。 @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK OK(&O) - + &Cancel キャンセル(&C) @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel タスクパネル @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen 謝辞 - + FreeCAD would not be possible without the contributions of FreeCAD は以下の貢献がなければあり得なかったでしょう: - + Individuals Header for the list of individual people in the Credits list. 個人 - + Organizations Header for the list of companies/organizations in the Credits list. 組織 - - + + License ライセンス - + Libraries ライブラリ - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: このソフトウェアはオープンソースのコンポーネントを使用しており、それらコンポーネントの著作権及びその他の所有権はそれぞれの所有者に帰属します: - + Collection コレクション @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory キャッシュディレクトリ - + The cache directory %1 exceeds the size of %2. キャッシュディレクトリ %1 が %2 のサイズを超えています。 - + Do you want to clear it now? 今すぐ消去しますか? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! 警告: これが唯一の %1 インスタンスであり、データが失われる可能性があるため、ドキュメントが開かれていないことを確認してください! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings カメラ設定 - + Orientation 向き - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view 現在のビュー @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands コマンド @@ -1117,12 +1112,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists パックは既に存在します - + A preference pack with that name already exists. Do you want to overwrite it? 同じ名前のユーザー設定パックが既に存在します!上書きしますか? @@ -1358,48 +1353,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... 検索キーワードを入力 - + Icon アイコン - + Command コマンド - + Shortcut ショートカット - + Default デフォルト - + Name 名前 - + Title タイトル - + All すべて - - + + none なし @@ -1407,8 +1402,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars ツールボックスバー @@ -1497,40 +1492,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separator> - + %1 module not loaded %1 モジュールが読み込まれていません - + New toolbar 新しいツールバー - - + + Toolbar name: ツールバー名: - - + + Duplicated name 重複名 - - + + The toolbar name '%1' is already used ツールバーの名前'%1'は既に使われています。 - + Rename toolbar ツールバーの名前を変更 @@ -1543,19 +1538,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize カスタマイズ - + &Help ヘルプ(&H) - + &Close 閉じる(&C) @@ -1564,13 +1559,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion SpaceNavigatorの動作 - + No Spaceball Present スペースボールが存在しません @@ -1578,27 +1573,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons SpaceNavigatorのボタン - + No Spaceball Present スペースボールが存在しません - + Buttons ボタン - + Reset リセット - + Print Reference リファレンスを印刷 @@ -1683,547 +1678,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default デフォルト - + Aluminium アルミニウム - + Brass 真鍮 - + Bronze 青銅 - + Copper - + Chrome クロム - + Emerald エメラルド - + Gold - + Jade 翡翠 - + Metalized 金属化 - + Neon GNC ネオンGNC - + Neon PHC ネオンPHC - + Obsidian 黒曜石 - + Pewter 白目 - + Plaster 石膏 - + Plastic プラスチック - + Ruby ルビー - + Satin サテン - + Shiny plastic 光沢のあるプラスチック - + Silver - + Steel 鋼材 - + Stone Gui::Dialog::DlgEditorSettings - - - Editor - エディタ - - - - Options - オプション - - - - Code lines will be numbered - コード行に番号を付ける - - - - Enable line numbers - 行番号を有効 - - - - The cursor shape will be a block - カーソル形状がブロックになります。 - - - - Enable block cursor - ブロックカーソル有効 - - - - Enable folding - 折りたたみを有効 - - - - Indentation - 字下げ - - - - Tab size: - タブサイズ: - - - - Tabulator raster (how many spaces) - タブ・サイズ (スペース数) - - - - Indent size: - インデントのサイズ: - - - - How many spaces will be inserted when pressing <Tab> - <Tab> を押した時に挿入されるスペースの数 - - - - Pressing <Tab> will insert a tabulator with defined tab size - <Tab>を押すと定義されたタブ・サイズでタブが挿入されます。 - - - - Keep tabs - タブを維持 - - - - Pressing <Tab> will insert amount of defined indent size - <Tab>を押すと定義されたインデント・サイズが挿入されます。 - - - - Insert spaces - 空白を挿入 - - - - Display items - 表示項目 - - - - Color and font settings will be applied to selected type - 色とフォント設定が選択したタイプに適用されます - - - - Family: - ファミリー: - - - - Font family to be used for selected code type - 選択したコードタイプで使用されるフォント・ファミリー - - - - Size: - サイズ: - - - - Font size to be used for selected code type - 選択したコードタイプで使用されるフォント・サイズ - - - - Color: - 色: - - - - Preview: - プレビュー: - [empty string] - - Gui::Dialog::DlgGeneral - - - General - 標準 - - - - Language of the application's user interface - アプリケーションのユーザーインターフェイスの言語 - - - - Number format: - 数値書式: - - - - Operating system - オペレーティングシステム - - - - Selected language - 選択言語 - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - 有効にすると、数値キーパッドの小数点以下の区切り文字はロケールの区切り文字で置き換えられます。ただし Python コンソールとマクロ・エディタでは ドット/ピリオドが常に表示されます。 - - - - Preference packs - ユーザー設定パック - - - - Name - 名前 - - - - Type - タイプ - - - - Load - 読み込み - - - - Import config... - 設定をインポート... - - - - Save new... - 新規保存... - - - - Manage... - 管理... - - - - Revert... - 元に戻す... - - - - How many files should be listed in recent files list - 最近使用したファイルのリストにいくつのファイルを表示するか - - - - Enable tiled background - 画像を並べた背景を有効 - - - - The text cursor will be blinking - テキスト・カーソルが点滅します - - - - Enable cursor blinking - カーソル点滅を有効 - - - - Style sheet: - スタイル シート: - - - - Language and number format - 言語と数値形式 - - - - Language: - 言語: - - - - Unit system: - 単位系: - - - - Unit system that should be used for all parts of the application - アプリケーションのすべての部品で使用される単位系 - - - - Number of decimals: - 小数点以下桁数: - - - - Number of decimals that should be shown for numbers and dimensions - 数字と寸法の小数点以下の表示桁数 - - - - Minimum fractional inch: - 最小分数インチ: - - - - Minimum fractional inch to be displayed - 表示される最小分数インチ - - - - Substitute decimal separator - 小数点以下の区切り文字 - - - - Application - アプリケーション - - - - Style sheet how user interface will look like - ユーザーインターフェイスをどの様に表示するかを指定するスタイルシート - - - - Size of toolbar icons: - ツールバーのアイコンのサイズ: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - ツールバーのアイコンのサイズの設定を行ってください。 -使用しているスクリーンサイズや好みに合わせて調整できます。 - - - - Tree view mode: - ツリービューモード: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - パネルでツリービューをどのように表示するかのカスタマイズ (再起動が必要です)。 - -'コンボビュー': ツリービューとプロパティビューを1つのパネルに結合 -'ツリービュー': ツリービューとプロパティビューを別々のパネルに分割 -'両方': 3つのパネルすべてを維持。ツリービューとプロパティビューを2組保持できます。 - - - - Size of recent file list: - 最近使用したファイル一覧のサイズ: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - (ドキュメントが開かれていないときの) メインウィンドウの背景を特別な画像のタイルで構成。 -画像の詳細については FreeCAD ウィキを参照。 - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - スプラッシュ画面とは FreeCAD 起動時に表示される小さな読み込みウィンドウのことです。 -このオプションがチェックされている場合、FreeCAD はスプラッシュ画面を表示します。 - - - - Enable splash screen at start up - 起動時にスプラッシュ画面を表示 - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - ユーザー設定パックを管理 - - - - Small (%1px) - 小(%1px) - - - - Medium (%1px) - 中(%1px) - - - - Large (%1px) - 大(%1px) - - - - Extra large (%1px) - 特大(%1px) - - - - Custom (%1px) - カスタム(%1px) - - - - Combo View - コンボビュー - - - - TreeView and PropertyView - ツリービューとプロパティービュー - - - - Both - 両方 - - - - No style sheet - スタイル シートなし - - - - Preference Pack Name - ユーザー設定パック名 - - - - Tags - タグ - - - - Apply - 適用する - - - - Apply the %1 preference pack - ユーザー設定パック %1 を適用 - - - - Choose a FreeCAD config file to import - インポートするFreeCAD設定ファイルを選択してください。 - - - - File exists - ファイルが存在します。 - - - - A preference pack with that name already exists. Overwrite? - 同じ名前のユーザー設定パックが既に存在します。上書きしますか? - - Gui::Dialog::DlgInputDialog @@ -2239,8 +1810,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector シーンインスペクタ @@ -2332,70 +1903,70 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros マクロ - + Read-only 読み取り専用 - + Macro file マクロファイル - + Enter a file name, please: ファイル名を入力してください: - - - + + + Existing file 既存ファイル - + '%1'. This file already exists. '%1'.このファイルは既に存在します。 - + Cannot create file ファイルを作成できません。 - + Creation of file '%1' failed. ファイル '%1' の作成に失敗しました。 - + Delete macro マクロの削除 - + Do you really want to delete the macro '%1'? マクロ '%1' を削除しますか? - + Do not show again 今後表示しない - + Guided Walkthrough ガイド・ウォークスルー - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2406,76 +1977,76 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 ウォークスルー・ダイアログ1/2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close ウォークスルーの手順: 不足しているフィールドを入力(省略可能)して、追加をクリックし、閉じます。 - + Walkthrough, dialog 1 of 1 ウォークスルー・ダイアログ1/1 - + Walkthrough, dialog 2 of 2 ウォークスルー・ダイアログ2/2 - + Walkthrough instructions: Click right arrow button (->), then Close. ウォークスルーの手順: 右矢印ボタン(→)をクリックし、閉じます。 - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. ウォークスルーの手順: 新規をクリックし、さらに右矢印ボタン(→)をクリックし、閉じます。 - + Renaming Macro File マクロファイルの名前を変更 - - + + Enter new name: 新しい名前を入力: - - + + '%1' already exists. '%1' は既に存在します - + Rename Failed 名前の変更に失敗 - + Failed to rename to '%1'. Perhaps a file permission error? 名前を '%1' に変更できませんでした。ファイルのアクセス許可でのエラーの可能性があります。 - + Duplicate Macro マクロの複製 - + Duplicate Failed 複製に失敗しました - + Failed to duplicate to '%1'. Perhaps a file permission error? '%1' を複製に失敗しました。 @@ -2518,39 +2089,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder マクロの記録 - + Specify first a place to save. 最初に保存する場所を指定してください。 - + The macro directory doesn't exist. Please, choose another one. マクロのディレクトリが存在しません。別のものを選択してください。 - + Existing macro 既存のマクロ - + The macro '%1' already exists. Do you want to overwrite? マクロ'%1'は既に存在します。上書きしますか? - + You have no write permission for the directory. Please, choose another one. ディレクトリに対する書き込みアクセス許可がありません。別の ディレクトリを選択してください。 - + Choose macro directory マクロのディレクトリを選択します。 @@ -2623,12 +2194,12 @@ Perhaps a file permission error? HTMLファイル - + Access denied アクセスが拒否されました - + Access denied to '%1' Specify another directory, please. @@ -2882,7 +2453,7 @@ Specify another directory, please. You must restart FreeCAD for changes to take effect. - You must restart FreeCAD for changes to take effect. + 変更を有効にするにはFreeCADを再起動する必要があります。 @@ -3028,36 +2599,36 @@ Specify another directory, please. プロジェクトファイル - - + + Empty source 空のコピー元 - - + + No source is defined. コピー元が定義されていません。 - - + + Empty destination 空のコピー先 - - + + No destination is defined. コピー先が定義されていません。 - + Failed to extract project プロジェクトの展開に失敗しました。 - + Failed to create project プロジェクトの作成に失敗しました。 @@ -3107,182 +2678,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - レポートビュー - - - - Output - 出力 - - - - Normal messages will be recorded - 通常メッセージが記録されます。 - - - - Record normal messages - 通常メッセージを記録 - - - - Log messages will be recorded - ログメッセージが記録されます。 - - - - Record log messages - ログメッセージを記録 - - - - Warnings will be recorded - 警告が記録されます。 - - - - Record warnings - 警告メッセージを記録 - - - - Error messages will be recorded - エラーメッセージが記録されます。 - - - - Record error messages - エラーメッセージを記録 - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - エラーが生じた場合に、レポートビューダイアログがスクリーンに現れてエラーを表示します。 - - - - Show report view on error - エラー時にレポートビューを表示 - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - 警告が生じた場合に、レポートビューダイアログがスクリーンに現れて警告を表示します。 - - - - Show report view on warning - 警告時にレポートビューを表示 - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - 通常メッセージが生じた場合に、レポートビューダイアログがスクリーンに現れてメッセージを表示します。 - - - - Show report view on normal message - 通常メッセージ時にレポートビューを表示 - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - ログメッセージが生じた場合に、レポートビューダイアログがスクリーンに現れてログメッセージを表示します。 - - - - Show report view on log message - ログメッセージ時にレポートビューを表示 - - - - Include a timecode for each report - 各レポートのタイムコードを含める - - - - Include a timecode for each entry - 各エントリにタイムコードを含める - - - - Colors - - - - - Normal messages: - 通常メッセージ: - - - - Font color for normal messages in Report view panel - レポートビューパネルでの通常メッセージのフォント色 - - - - Log messages: - ログメッセージ: - - - - Font color for log messages in Report view panel - レポートビューパネルでのログメッセージのフォント色 - - - - Warnings: - 警告: - - - - Font color for warning messages in Report view panel - レポートビューパネルでの警告メッセージのフォント色 - - - - Errors: - エラー: - - - - Font color for error messages in Report view panel - レポートビューパネルでのエラーメッセージのフォント色 - - - - Python interpreter - Python インタプリター - - - - Internal Python output will be redirected -from Python console to Report view panel - 内部のPythonの出力がPythonコンソールからレポートビューパネルにリダイレクトされます - - - - Redirect internal Python output to report view - 内部のPythonの出力をレポートビューにリダイレクトする - - - - Internal Python error messages will be redirected -from Python console to Report view panel - 内部のPythonのエラーメッセージがPythonコンソールからレポートビューパネルにリダイレクトされます - - - - Redirect internal Python errors to report view - 内部のPythonのエラーをレポートビューにリダイレクトする - [empty string] @@ -3309,7 +2704,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file ダイアログで何も選択されていないため、バックアップファイルを読み込めません。 @@ -3352,7 +2747,7 @@ from Python console to Report view panel ヘルプ - + Select a file ファイルを選択してください @@ -3360,66 +2755,66 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View 3D ビュー - + General 標準 - + Main coordinate system will always be shown in lower right corner within opened files メイン座標系が開かれたファイルの右下に常に表示されます。 - + Show coordinate system in the corner ウィンドウの隅に座標系を表示 - + Relative size : 相対サイズ: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport 隅に配置されるメイン座標系表示のサイズ-ビューポートの高さ/幅に対するパーセント - + Axis cross will be shown by default at file opening or creation ファイルを開くまたは作成する際に、既定で交差軸が表示されます - + Show axis cross by default 既定で交差軸を表示 - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files 最後の操作に要した時間と結果表示のフレームレートが開かれたファイルの左下に表示されます。 - + Show counter of frames per second 1 秒あたりのフレーム数のカウンターを表示 - + Rendering レンダリング - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3428,22 +2823,22 @@ Changing this option requires a restart of the application. このオプションを変更するとアプリケーションの再起動が必要になります。 - + Use software OpenGL ソフトウェア OpenGL を使用 - + Use OpenGL VBO (Vertex Buffer Object) OpenGL VBO(頂点バッファーオブジェクト)を使用 - + Render cache レンダリングのキャッシュ - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3460,7 +2855,7 @@ VBOはOpenGLの機能で、頂点データ (位置、法線ベクトル、色な 注意: この機能を使用すると描画の異常やGPUをクラッシュさせる不具合といった様々な問題が起きる場合があります。FreeCADフォーラムでサポートを受ける場合はこの設定を有効にしていることを忘れずに報告してください。 - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3475,92 +2870,92 @@ but slower response to any scene changes. 3) '集中' 全てのビュープロバイダーの全てのノードでのキャッシュを手動で無効にし、シーングラフのルートノードでのみキャッシュさせます。この設定を使うとレンダリング速度は最速になりますが、シーン変更での応答は遅くなります。 - + Auto 自動 - + Distributed 分散 - + Centralized 集中 - + Anti-Aliasing アンチエイリアス - + What kind of multisample anti-aliasing is used 使用されているマルチサンプル・アンチエイリアスの種類 - + None なし - + Line Smoothing 線を滑らかにする - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: 透明オブジェクト: - + Render types of transparent objects 透明オブジェクトのレンダータイプ - + One pass ワンパス - + Backface pass バックフェイスパス - + Marker size: マーカーサイズ: - - Size of vertices in the Sketcher workbench - スケッチャーワークベンチでの頂点のサイズ + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes ステレオモードでの目と目の間の距離  - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3568,48 +2963,48 @@ bounding box size of the 3D object that is currently displayed. 現在表示されている 3D オブジェクトのバウンディングボックスサイズと掛け合わされる係数の値を指定します。 - + Backlight is enabled with the defined color 定義された色でバックライトが有効になります。 - - + + Backlight color バックライトの色 - + Intensity 強度 - + Intensity of the backlight バックライトの強度 - + Camera type カメラの種類 - + Objects will appear in a perspective projection オブジェクトは透視投影で表示されます。 - + Perspective renderin&g 透視投影レンダリング(&g) - + Objects will be projected in orthographic projection オブジェクトは正投影で投影されます。 - + Or&thographic rendering 正射投影レンダリング(&t) @@ -3621,42 +3016,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing アンチエイリアス - + Open a new viewer or restart %1 to apply anti-aliasing changes. アンチ・エイリアスの変更を適用するには、新しいビューアーを開くまたは %1 を再起動してください。 @@ -3664,77 +3059,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache キャッシュ - + Cache directory キャッシュディレクトリ - + Location: 場所: - + Check periodically at program start: プログラム開始時に定期的にチェック: - + Always 常に - + Daily 日次 - + Weekly 週次 - + Monthly 毎月 - + Yearly 毎年 - + Never Never - + Cache size limit: キャッシュサイズ上限: - + Check now... チェック中... - + Notify the user if the cache size exceeds the specified limit キャッシュサイズが指定された上限を超えた場合、ユーザーに通知 - + Unknown 不明 - + Current cache size: %1 現在のキャッシュサイズ: %1 @@ -3892,12 +3287,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter 間違ったパラメーター - + The maximum value must be higher than the minimum value. 最大値は最小値よりも大きくする必要があります。 @@ -3905,179 +3300,179 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document ドキュメント - + General 標準 - + The application will create a new document when started 起動時にアプリケーションは新規ドキュメントを作成します。 - + Create new document at start up 起動時に新しいドキュメントを作成 - + Document save compression level (0 = none, 9 = highest, 3 = default) ドキュメントの圧縮レベル(0 = 非圧縮、9 = 高圧縮、3 = デフォルト) - + Compression level for FCStd files FCStd ファイルの圧縮レベル - + All changes in documents are stored so that they can be undone/redone 元に戻す/やり直しをできるようにドキュメントでの全ての変更を保持 - + Using Undo/Redo on documents ドキュメントで元に戻す/やり直しの使用 - + Maximum Undo/Redo steps 「元に戻す/やり直し」の最大回数 - + How many Undo/Redo steps should be recorded 記録される「元に戻す/やり直し」のステップ数 - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. ESC を押してドキュメントの再計算の破棄をできるようにするかどうか。 この機能を使用すると再計算時間がわずかに増加する可能性があります。 - + Allow aborting recomputation 再計算の破棄を許可 - + Storage ストレージ - + Saving transactions (Auto-save) 変更内容を保存(自動保存) - + Discard saved transaction after saving document ドキュメントを保存した後、保存された変更内容を破棄します。 - + If there is a recovery file available the application will automatically run a file recovery when it is started. 利用可能な復旧用ファイルがある場合、アプリケーションは起動時に復旧するファイルを自動的に読み込みます。 - + Run AutoRecovery at startup 起動時に自動修復を実行 - + How often a recovery file is written 復旧用ファイルの書き込み頻度 - + Save AutoRecovery information every 自動修復の情報を常に保存 - + A thumbnail will be stored when document is saved ドキュメントを保存する時にサムネイルが保存されます。 - + Save thumbnail into project file when saving document ドキュメントを保存する時にサムネイルをプロジェクトファイルに保存 - + Size サイズ - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 ドキュメント内に保存されるサムネイルのサイズ設定。 一般的なサイズは128、256、512です。 - + The program logo will be added to the thumbnail サムネイルにプログラムのロゴが追加されます。 - + Add the program logo to the generated thumbnail 生成されたサムネイルにプログラムのロゴを追加 - + How many backup files will be kept when saving document ドキュメント保存時にいくつのバックアップファイルを保持するか。 - + Maximum number of backup files to keep when resaving document ドキュメントを再保存する時に保持するバックアップファイルの最大数 - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format バックアップファイルには拡張子「.FCbak」が付けられ、ファイル名には指定された形式に従って日付サファイックスが追加されます。 - + Use date and FCBak extension 日付とFCBakの拡張子を使用 - + Date format 日付のフォーマット - + Document objects ドキュメント オブジェクト - + Allow objects to have same label オブジェクトが同じラベルを持つことを許可 - + Allow duplicate object labels in one document 同一ドキュメント内での重複したオブジェクトラベルを許可 - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4088,22 +3483,22 @@ icon in the tree view to fully reload it. 部分読み込みされたドキュメントは編集できません。ツリービューのドキュメントアイコンをダブルクリックすると全体が再読み込みされます。 - + Disable partial loading of external linked objects 外部リンクオブジェクトの部分読み込みを無効化 - + Authoring and License 作成者とライセンス - + Author name 作成者 - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4112,32 +3507,32 @@ You can also use the form: John Doe <john@doe.com> John Doe <john@doe.com> 形式を使用することもできます。 - + The field 'Last modified by' will be set to specified author when saving the file ファイルの保存時に「最終更新者」フィールドに指定された作成者が設定されます - + Set on save 保存時に設定 - + Company 会社 - + Default company name to use for new files 新規ファイルに使用するデフォルトの会社名 - + Default license 既定のライセンス - + Default license for new documents 新規ドキュメントにおけるデフォルトのライセンス @@ -4207,12 +3602,12 @@ John Doe <john@doe.com> 形式を使用することもできます。その他 - + License URL ライセンス URL - + URL describing more about the license ライセンスについてさらに詳しく説明した URL @@ -4220,104 +3615,21 @@ John Doe <john@doe.com> 形式を使用することもできます。 Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. 使用する日付のフォーマット - + Default デフォルト - + Format フォーマット - - Gui::Dialog::DlgSettingsEditorImp - - - Text - テキスト - - - - Bookmark - ブックマーク - - - - Breakpoint - ブレークポイント - - - - Keyword - キーワード - - - - Comment - コメント - - - - Block comment - ブロック コメント - - - - Number - 数値 - - - - String - 文字列 - - - - Character - 文字 - - - - Class name - クラス名 - - - - Define name - 名前の定義 - - - - Operator - 演算子 - - - - Python output - Python出力 - - - - Python error - Pythonエラー - - - - Current line highlight - 現在の行をハイライト表示 - - - - Items - 項目 - - Gui::Dialog::DlgSettingsImage @@ -4498,122 +3810,122 @@ John Doe <john@doe.com> 形式を使用することもできます。 Gui::Dialog::DlgSettingsMacro - + Macro マクロ - + General macro settings 全般的なマクロの設定 - + Variables defined by macros are created as local variables マクロで定義された変数はローカル変数として作成されます - + Run macros in local environment ローカル環境でマクロを実行 - + Macro recording settings マクロの記録の設定 - + Macro path マクロのパス - + The directory in which the application will search for macros アプリケーションがマクロを検索するディレクトリ - + Gui commands GUI コマンド - + Recorded macros will also contain user interface commands 記録されたマクロには、ユーザーインターフェイス・コマンドも含まれます - + Record GUI commands GUI コマンドの記録 - + Recorded macros will also contain user interface commands as comments 記録されたマクロには、コメントとしてユーザー インターフェイス・コマンドも含まれます - + Record as comment コメントとして記録 - + Logging Commands 履歴コマンド - + Commands executed by macro scripts are shown in Python console マクロスクリプトで実行されるコマンドは Python コンソールに表示されます - + Show script commands in python console Python コンソールでスクリプトコマンドを表示 - + Log all commands issued by menus to file: メニューから発行された全てのコマンドをファイルに記録: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu 最近使用したマクロのメニュー - + Size of recent macro list 最近使用したマクロ一覧のサイズ - + How many macros should be listed in recent macros list 最近使用したマクロのリストにいくつのマクロを表示するか - + Keyboard shortcut count キーボード ショートカットの数 - + How many recent macros should have shortcuts ショートカットを持つ最近のマクロの数 - + Keyboard Modifiers キーボード修飾子 - + Keyboard modifiers, default = Ctrl+Shift+ キーボード修飾子、デフォルト = Ctrl+Shift+ @@ -4621,130 +3933,130 @@ John Doe <john@doe.com> 形式を使用することもできます。 Gui::Dialog::DlgSettingsNavigation - - + + Navigation ナビゲーション - + Navigation cube ナビゲーションキューブ - + Steps by turn 曲がり角のステップ数 - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) 矢印使用時の曲がり角のステップ数 (デフォルトは8:ステップ角度 = 360/8 = 45度) - + Corner コーナー - + Corner where navigation cube is shown ナビゲーションキューブが表示される位置 - + Top left 左上 - + Top right 右上 - + Bottom left 左下 - + Bottom right 右下 - + Rotates to nearest possible state when clicking a cube face キューブ面をクリックした時に最も近い状態へ回転 - + Rotate to nearest 最も近い状態へ回転 - + Font name: フォント名: - + Font name of the navigation cube ナビゲーションキューブで使用するフォント - + Default デフォルト - + Cube size キューブのサイズ - + Size of the navigation cube ナビゲーションキューブのサイズ - + Color - + Base color for all elements すべての要素の基本色 - + 3D Navigation 3Dナビゲーション - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. 選択したナビゲーション設定ごとにマウスボタン設定をリスト表示。 設定を選択し、ボタンを押すとその設定が表示されます。 - + Mouse... マウス... - + Navigation settings set ナビゲーション設定 - + Orbit style 軌道スタイル - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4755,173 +4067,183 @@ Free Turntable: the part will be rotated around the z-axis. フリーターンテーブル: Z軸周りにオブジェクトを回転 - + Turntable ターンテーブル - + Trackball トラックボール - + Free Turntable フリーターンテーブル - + Rotation mode 回転モード - + Rotations in 3D will use current cursor position as center for rotation 3D回転では現在のカーソル位置が回転中心として使用されます。 - + Window center ウィンドウの中央 - + Drag at cursor カーソル位置にドラッグ - + Object center オブジェクトの中央 - + Default camera orientation デフォルトのカメラの向き - + Default camera orientation when creating a new document or selecting the home view 新しいドキュメントを作成、またはホームビューを選択した場合のデフォルトのカメラの向き - + Camera zoom カメラのズーム - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. 新しいドキュメントのカメラズームを設定。 値は画面にちょうど収まる球の直径。 - + mm mm - + Enable animated rotations アニメーション回転を有効 - + Enable animation アニメーションを有効 - + Zoom operations will be performed at position of mouse pointer ズーム操作はマウスポインタの位置で実行されます - + Zoom at cursor カーソルの位置にズーム - + Zoom step ズーム量 - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. どの程度ズームを行うか。 ズーム量「1」はズーム 1 段階ごとに 7.5 倍することを意味します。 - + Direction of zoom operations will be inverted ズーム操作の方向を反転 - + Invert zoom ズームを反転 - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. ピンチズーム時のビューのチルトを防ぎます。ジェスチャーナビゲーションスタイルに対してのみ有効です。この設定ではマウスでのチルトは無効化されません。 - + Disable touchscreen tilt gesture タッチスクリーンのチルトジェスチャーを無効化 - + + Show the rotation center when dragging. + ドラッグ時に回転中心を表示します。 + + + + Enable rotation center indication + 回転中心の表示を有効 + + + Isometric アイソメトリック - + Dimetric ダイメトリック - + Trimetric 不等角投影図法 - + Top 上面図 - + Front 正面図 - + Left 左面図 - + Right 右面図 - + Rear 背面図 - + Bottom 底面 - + Custom カスタム @@ -4929,43 +4251,43 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python コンソール - + Settings 設定 - + Words will be wrapped when they exceed available horizontal space in Python console Python コンソールで利用可能な水平方向スペースを超えた場合に文字を折返し - + Enable word wrap 行の折り返しを有効 - + The cursor shape will be a block カーソル形状がブロックになります。 - + Enable block cursor ブロックカーソル有効 - + Saves Python history across sessions セッション中にPythonの履歴を保存 - + Save history 履歴の保存 @@ -4973,17 +4295,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection 選択範囲 - + + Enable preselection, highlighted with specified color + 事前選択と指定色での強調表示を有効 + + + + Enable preselection + 事前選択を有効 + + + + Enable selection, highlighted with specified color + 選択と指定色での強調表示を有効 + + + + Enable selection + 選択を有効 + + + Pick radius (px): ピック半径(px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -4991,27 +4333,27 @@ Larger value eases to pick things, but can make small features impossible to sel 大きな値を設定するとピックが容易になりますが、小さなフィーチャーを選択できなくなります。 - + Auto switch to the 3D view containing the selected item 選択したアイテムを含む3Dビューへ自動切り替え - + Auto expand tree item when the corresponding object is selected in 3D view 対応するオブジェクトが3Dビューで選択された場合にツリーアイテムを自動的に展開 - + Preselect the object in 3D view when mouse over the tree item ツリーアイテムの上をマウスが通過した時に 3D ビューでオブジェクトを事前選択 - + Record selection in tree view in order to go back/forward using navigation button ナビゲーションボタンを使用した戻る/進むの動作のためにツリー ビューでの選択を記録 - + Add checkboxes for selection in document tree ドキュメントツリーに選択用のチェックボックスを追加 @@ -5019,147 +4361,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors - - Selection - 選択範囲 - - - - Enable preselection and highlight by specified color - 事前選択と指定色での強調表示を有効 - - - - Enable preselection highlighting - 事前選択の強調表示を有効 - - - - Enable selection highlighting and use specified color - 選択時の強調表示を有効にし、指定色を使用 - - - - Enable selection highlighting - 選択範囲の強調表示を有効 - - - + Background color for the model view モデルビューの背景色 - + Background color 背景色 - - + + Background will have selected color 選択した色が背景に使用されます。 - + Simple color 単色 - - + + Background will have selected color gradient 選択した色グラデーションが背景に使用されます。 - + Linear gradient 線状グラデーション - + Radial gradient 放射状グラデーション - - + + Top: 上: - - + + Middle: 中間: - + Switches the colors of the gradient グラデーションの色を切り替え - + Switch 切り替え - + Color gradient will get selected color as middle color 色グラデーションで選択した色が中間色となります。 - + Middle color 中間色 - - + + Bottom: 下: - + Tree view ツリービュー - + Object being edited 編集中のオブジェクト - + Background color for objects in tree view that are currently edited ツリービューでの編集中オブジェクトの背景色 - + Active container アクティブなコンテナー - + Background color for active containers in tree view ツリービューでのアクティブなコンテナーの背景色 - + Central: 中央: - + Midway: 中間: - + End: 終端: @@ -5271,12 +4588,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: 未知の単位: - + unit mismatch 単位の不一致 @@ -5284,7 +4601,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement 配置 @@ -5336,60 +4653,60 @@ The 'Status' column shows whether the document could be recovered. 復旧中です - + Unknown problem occurred 不明なエラーが発生しました - - + + Failed to recover 復旧に失敗しました - + Successfully recovered 正常に復旧されました - + Finish 完了 - - + + Delete 削除 - - + + Cleanup クリーンアップ - + Are you sure you want to delete the selected transient directories? 選択した一時ディレクトリを削除しますか? - + When deleting the selected transient directory you won't be able to recover any files afterwards. 選択した一時ディレクトリを削除すると全てのファイルを復元できなくなります。 - + Are you sure you want to delete all transient directories? 全ての一時ディレクトリを削除しますか? - + When deleting all transient directories you won't be able to recover any files afterwards. 全ての一時ディレクトリを削除すると、その後任意のファイルを回復できなくなります。 - + Transient directories deleted. 一時ディレクトリが削除されました。 @@ -5513,7 +4830,7 @@ The 'Status' column shows whether the document could be recovered. アイコンフォルダー - + Add icon folder アイコンフォルダーを追加 @@ -5526,12 +4843,12 @@ The 'Status' column shows whether the document could be recovered. カスタムアイコンのフォルダーの追加または削除 - + Remove folder フォルダーを削除 - + Removing a folder only takes effect after an application restart. フォルダーの削除はアプリケーション再起動後に反映されます。 @@ -5601,79 +4918,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand 開く - + Add sub-group サブグループを追加 - - + + Remove group グループを削除 - + Rename group グループ名変更 - + Export parameter エクスポートパラメーター - + Import parameter インポートパラメーター - + Collapse 折りたたむ - + Do you really want to remove this parameter group? 本当にこのパラメーターグループを削除しますか? - + Existing sub-group 既存のサブグループ - + The sub-group '%1' already exists. サブグループ '%1' は既に存在します. - + Export parameter to file パラメーターをファイルにエクスポートします。 - + Import parameter from file パラメーターをファイルからインポートします。 - + Import Error インポートエラー - + Reading from '%1' failed. '%1' からの読み取りに失敗しました。 @@ -5681,65 +4998,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value 値を変更 - + Remove key キーを削除 - + Rename key 名前変更キー - + New 新規作成 - + New string item 新しい文字列項目 - + New float item 新しいフロート項目 - + New integer item 新しい整数項目 - + New unsigned item 新しい符号なし項目 - + New Boolean item 新しいブール項目 - - - - - + + + + + Existing item 既存の項目 - - - - - + + + + + The item '%1' already exists. 項目 '%1' は既に存在します。 @@ -5885,17 +5202,17 @@ The 'Status' column shows whether the document could be recovered. 適用する - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. このボタンをクリックする前に1つ、2つ、または3つの点を選択してください。 点は頂点、面、またはエッジ上にあります。面またはエッジ上の点を使用する場合は面またはエッジに沿ったマウス位置にある点を使います。1つの点を選択した場合には点が回転中心として使用されます。2つの点を選択した場合にはその中点が回転中心となり、必要に応じて新しいカスタム軸が作成されます。3つの点を選択した場合には1つ目の点が回転中心となり、3点によって定義される平面の法線となるベクトル上に配置されます。距離と角度の情報はレポートビューに表示されます。この情報はオブジェクトを配置する際に便利です。簡単のために Shift + クリックで適切な距離と角度がクリップボードにコピーされます。 - + Incorrect quantity 不適切な数値です - + There are input fields with incorrect input, please ensure valid placement values! 入力欄に不適切な入力がされています。適切な位置かどうか確認してください! @@ -5903,12 +5220,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button ボタン - + Command コマンド @@ -5972,17 +5289,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Inventorツリー - + Name 名前 - + Nodes ノード @@ -6038,14 +5355,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel キャンセル - - + + Transform 変換 @@ -6143,13 +5460,13 @@ originally selected prior to opening this dialog - + Model モデル - + Tasks タスク @@ -6157,7 +5474,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View プロパティ表示 @@ -6165,82 +5482,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options オプション - + Display message types 表示メッセージタイプ - - + + Normal messages 通常メッセージ - - + + Log messages ログメッセージ - - + + Warnings 警告 - - + + Errors エラー - - + + Critical messages 重要なメッセージ - + Show Report view on レポートビューの表示 - + Redirect Python output Python の出力をリダイレクト - + Redirect Python errors Pythonのエラーをリダイレクト - + Go to end 最後に移動 - + Clear クリア - + Save As... 名前を付けて保存... - + Save Report Output レポート出力を保存する - + Plain Text Files プレーンテキストファイル @@ -6249,13 +5566,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output 出力 - + Python console Python コンソール @@ -6293,72 +5610,72 @@ originally selected prior to opening this dialog 選択オブジェクトのリスト - + Select only 選択のみ - + Selects only this object このオブジェクトのみ選択 - + Deselect 選択を解除 - + Deselects this object このオブジェクトの選択を解除 - + Zoom fit ズームフィット - + Selects and fits this object in the 3D window 3Dウィンドウでこのオブジェクトを選択してフィット - + Go to selection 選択範囲に移動 - + Selects and locates this object in the tree view ツリービューでこのオブジェクトを選択して配置 - + Mark to recompute 再計算用にマーク - + Mark this object to be recomputed このオブジェクトを再計算のためにマーク - + To python console Python コンソールへ - + Reveals this object and its subelements in the python console. Python コンソールでこのオブジェクトとそのサブ要素を表示 - + Duplicate subshape 重複したサブシェイプ - + Creates a standalone copy of this subshape in the document ドキュメント内のこのサブシェイプの独立したコピーを作成 @@ -6371,7 +5688,7 @@ originally selected prior to opening this dialog アプリケーション - + Labels & Attributes ラベルと属性 @@ -6419,27 +5736,27 @@ Do you want to save your changes? PDFファイル - + untitled[*] untitled[*] - + - Editor - エディター - + %1 chars removed %1文字を削除 - + %1 chars added %1文字を追加 - + Formatted フォーマット済み @@ -6463,13 +5780,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file ファイルを選択してください - + Select a directory ディレクトリを選択 @@ -6477,13 +5794,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as 名前を付けて保存 - - + + Open 開く @@ -6491,12 +5808,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended 拡張 - + All files (*.*) 全てのファイル (*.*) @@ -6504,27 +5821,27 @@ Do you want to save your changes? Gui::Flag - + Top left 左上 - + Bottom left 左下 - + Top right 右上 - + Bottom right 右下 - + Remove 削除 @@ -6532,22 +5849,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. タップ、または左マウスボタンをクリック - + Drag screen with two fingers OR press right mouse button. 二本指ですスクリーンをドラッグするか、右マウスボタンを押します。 - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. 画面を1本の指でドラッグするか、マウス左ボタンを押します。スケッチャーなどの編集モードではさらにALTキーを押しっぱなしにします。 - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. ピンチ(スクリーンに二本の指を置き、互いに離すようにドラッグ)、または中マウスボタンをスクロール、またはキーボードのPgUp/PgDownキーを押す。 @@ -6555,74 +5872,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz が見つかりません - + Graphviz couldn't be found on your system. Graphviz がシステム上に見つかりませんでした。 - + Read more about it here. 詳細についてはこちら。 - + Do you want to specify its installation path if it's already installed? すでにインストールされている場合、そのインストールパスを指定しますか? - + Graphviz installation path Graphvizのインストール パス - + Graphviz failed Graphvizに失敗しました - + Graphviz failed to create an image file Graphvizはイメージファイルを作成できませんでした - + PNG format PNG形式 - + Bitmap format ビットマップ形式 - + GIF format GIF形式 - + JPG format JPG形式 - + SVG format SVG形式 - - + + PDF format PDF形式 - - + + Export graph グラフをエクスポート @@ -6630,12 +5947,12 @@ Do you want to save your changes? Gui::InputField - + Edit 編集 - + Save value 値を保存 @@ -6643,22 +5960,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Ctrlキーを押しながらマウスの左ボタンを押す - + Press middle mouse button マウスの中ボタンを押す - + Press left mouse button マウスの左ボタンを押す - + Scroll middle mouse button マウスの中ボタンをスクロールする @@ -6666,7 +5983,7 @@ Do you want to save your changes? Gui::LabelEditor - + List リスト @@ -6674,66 +5991,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... ユーザ定義... - + - - + + Wrong direction 間違った方向 - + - - + + Direction must not be the null vector 方向はnullのベクトルであってはならない @@ -6741,40 +6058,40 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: - Direction: + 方向: Gui::MacroCommand - + Macros マクロ - + Macro file doesn't exist マクロファイルが存在しません - + No such macro file: '%1' 以下のマクロファイルは存在しません: '%1' @@ -6782,63 +6099,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension 寸法 - + Ready 準備完了 - + Help addon needed! ヘルプ用アドオンが必要です! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager %1 のヘルプシステムは「Help」アドオンによって制御されるようになりました。アドオンマネージャーから簡単にインストールできます。 - + Open Addon Manager アドオンマネージャーを開く - + Close All すべて閉じる - - + + Toggles this toolbar このツールバーを切り替えます - - + + Toggles this dockable window このドッキング可能なウィンドウを切り替える - - + + WARNING: This is a development version. + 警告: これは開発版です。 + + + + Please do not use in a production environment. + 本番環境では使用しないでください。 + + + + Unsaved document 未保存のドキュメント - + The exported object contains external link. Please save the documentat least once before exporting. エクスポートされたオブジェクトには外部リンクがふくまれています。エクスポートの前に少なくとも一度ドキュメントを保存してください。 - + To link to external objects, the document must be saved at least once. Do you want to save the document now? 外部オブジェクトにリンクするにはドキュメントを少なくとも一度保存する必要があります。 @@ -6848,121 +6175,121 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment 手動による整列 - + The alignment is already in progress. 既に整列処理中です。 - + Alignment[*] Alignment[*] - + Please, select at least one point in the left and the right view 左右のビューから少なくとも1個の点を選択してください - + Please, select at least %1 points in the left and the right view 左右のビューから少なくとも %1 個の点を選択してください - + Please pick points in the left and right view 左右のビューから点をピックしてください - + The alignment has finished 整列が完了しました - + The alignment has been canceled 整列がキャンセルされました - - + + Too few points picked in the left view. At least %1 points are needed. 左のビューでピックされた点が少なすぎます。少なくとも %1 個の点が必要です。 - - + + Too few points picked in the right view. At least %1 points are needed. 右のビューでピックされた点が少なすぎます。少なくとも %1 個の点が必要です。 - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. 左のビューと右のビューでピックされた点の数が異なります。左のビューでは %1 個の点がピックされていますが、右のビューでは %2 個の点がピックされています。 - + Try to align group of views ビューのグループの整列を試みます - + The alignment failed. How do you want to proceed? 整列に失敗しました。どのように続行しますか。 - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. 左のビューと右のビューでピックされた点の数が異なります。左のビューでは %1 個の点がピックされていますが、右のビューでは %2 個の点がピックされています。 - + Point_%1 Point_%1 - + Point picked at (%1,%2,%3) (%1,%2,%3) の点がピックされました - + No point was found on model モデルにおいて、点が見つかりません - + No point was picked ピックされた点はありません - + &Align 整列(&A) - + &Remove last point 最後の点を削除(&R) - + &Cancel キャンセル(&C) - + &Synchronize views ビューを同期(&S) @@ -6970,22 +6297,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. タップ、または左マウスボタンをクリック - + Drag screen with two fingers OR press ALT + middle mouse button. 画面を2本の指でドラッグするか、ALTキーとマウス中ボタンを押します。 - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. 画面を1本の指でドラッグするか、ALTキーとマウス左ボタンを押します。スケッチャーなどの編集モードではさらにALTキーを押しっぱなしにします。 - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. ピンチ(2本の指を画面に置き、互いに離すようにドラッグ)するか、マウス中ボタンをスクロールします。またはALT1キーとマウス右ボタンを押すか、キーボードのPgUp/PgDownキーを押します。 @@ -6993,7 +6320,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys 修飾キーを押してください。 @@ -7009,22 +6336,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button マウスの左ボタンを押す - + Press CTRL and middle mouse button Ctrl キーとマウスの中ボタンを押す - + Press CTRL and right mouse button Ctrl キーとマウスの右ボタンを押す - + Press CTRL and left mouse button Ctrlキーを押しながらマウスの左ボタンを押す @@ -7032,22 +6359,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button マウスの左ボタンを押す - + Press right mouse button and move mouse マウス右ボタンを押しながらマウスを動かしてください。 - + Press left mouse button and move mouse マウス左ボタンを押しながらマウスを動かしてください。 - + Press middle mouse button or SHIFT and right mouse button マウス中ボタン、またはSHIFTキーを押しながらマウス右ボタンを押してください。 @@ -7055,17 +6382,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit 編集 - + Save value 値を保存 - + Clear list リストをクリア @@ -7096,12 +6423,12 @@ How do you want to proceed? 残り: %1 - + Aborting 中止します - + Do you really want to abort the operation? 操作を中止してよろしいですか? @@ -7109,7 +6436,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object リンクされたオブジェクトを変更 @@ -7117,12 +6444,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error エラー - + Object not found オブジェクトが見つかりません @@ -7193,13 +6520,13 @@ How do you want to proceed? Gui::PropertyView - + View ビュー - + Data データ @@ -7246,77 +6573,77 @@ Do you want to exit without saving your data? 処理されていない不明な C++ 例外。 - + &Copy コピー(&C) - + &Copy command コピー コマンド(&C) - + &Copy history コピー履歴(&C) - + Save history as... 名前を付けて履歴を保存... - + Save history 履歴の保存 - + Saves Python history across %1 sessions %1 セッションでPythonの履歴を保存します - + &Paste 貼り付け(&P) - + Select All 全て選択 - + Clear console コンソールをクリア - + Insert file name... ファイル名を挿入... - + Word wrap 右端で折り返す - + Save History 履歴の保存。 - + Macro Files マクロファイル - + Insert file name ファイル名を挿入します。 - + All Files すべてのファイル @@ -7324,7 +6651,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment コメント @@ -7337,17 +6664,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 %1 ファイルを開く - + File not found ファイルが見つかりませんでした - + The file '%1' cannot be opened. ファイル '%1' を開くことができませんでした。 @@ -7355,22 +6682,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none なし - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 マクロ実行 %1 (Shift + クリックで編集) キーボードショートカット: %2 - + File not found ファイルが見つかりませんでした - + The file '%1' cannot be opened. ファイル '%1' を開くことができませんでした。 @@ -7378,22 +6705,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button マウスの左ボタンを押す - + Press middle mouse button マウスの中ボタンを押す - + Press SHIFT and middle mouse button Shiftキーとマウスの中央ボタンを押す - + Scroll middle mouse button マウスの中ボタンをスクロールする @@ -7424,17 +6751,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module モジュールを選択します。 - + Open %1 as %1 を開く - + Select 選択 @@ -7503,13 +6830,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Python モジュールのマニュアル - - + + Opens a browser to show the Python modules documentation Python モジュール・ドキュメントを表示するブラウザーを開く @@ -7527,7 +6854,7 @@ Do you want to specify another directory? Position - Position + 位置 @@ -7662,38 +6989,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated テキストの更新 - + The text of the underlying object has changed. Discard changes and reload the text from the object? オブジェクト内のテキストが変更されています。変更を破棄してオブジェクトからテキストを再読み込みしますか? - + Yes, reload. はい、再読み込みします。 - + Unsaved document 未保存のドキュメント - + Do you want to save your changes before closing? 終了する前に変更を保存しますか? - + If you don't save, your changes will be lost. 保存しない場合、変更内容は失われます。 - - + + Edit text テキストを編集 @@ -7701,22 +7028,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button マウスの左ボタンを押す - + Press middle mouse button マウスの中ボタンを押す - + Press right mouse button マウスの右ボタンを押す - + Scroll middle mouse button マウスの中ボタンをスクロールする @@ -7724,22 +7051,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button マウスの左ボタンを押す - + Press SHIFT button Shiftキーを押す - + Press ALT button Altキーを押す - + Press CTRL and SHIFT buttons Ctrl キーと Shift キーを押す @@ -7965,7 +7292,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view ツリービュー @@ -7973,7 +7300,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search 検索  @@ -7981,183 +7308,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... 検索... - + Search for objects オブジェクトの検索 - + Activate document ドキュメントをアクティブにする - + Activate document %1 文書の %1をアクティブにする - + Tree settings ツリー設定 - + Show description column 説明列を表示 - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. アイテム説明のための追加のツリービュー列を表示します。 項目の説明は、F2 (または使用している OS の編集ボタン) を押すか、「label2」プロパティを編集することで設定できます。 - + Group グループ - + Labels & Attributes ラベルと属性 - + Description 説明 - + Show items hidden in tree view ツリービューの非表示アイテムを表示 - + Show items that are marked as 'hidden' in the tree view ツリービューで「非表示」としてマークされているアイテムを表示 - + Toggle visibility in tree view ツリー ビューでの表示を切り替え - + Toggles the visibility of selected items in the tree view ツリー ビューで選択したアイテムの表示を切り替えます。 - + Create group... グループを作成... - + Create a group グループを作成します。 - - + + Rename 名前の変更 - + Rename object オブジェクトの名前を変更します。 - + Finish editing 編集を終了 - + Finish editing object オブジェクトの編集を終了します。 - + Add dependent objects to selection 依存オブジェクトを追加選択 - + Adds all dependent objects to the selection すべての依存オブジェクトを追加選択 - + Close document ドキュメントを閉じる - + Close the document ドキュメントを閉じる - + Reload document ドキュメントを再読み込み - + Reload a partially loaded document 特定の読み込み済みドキュメントを再読み込み - + Skip recomputes 再計算をスキップ - + Enable or disable recomputations of document ドキュメントの再計算の有効、無効を切り替え - + Allow partial recomputes 部分的な再計算を許可 - + Enable or disable recomputating editing object when 'skip recomputation' is enabled 「再計算のスキップ」が有効な場合の編集オブジェクト再計算の有効、無効を切り替え - + Mark to recompute 再計算用にマーク - + Mark this object to be recomputed このオブジェクトを再計算のためにマーク - + Recompute object オブジェクトを再計算 - + Recompute the selected object 選択したオブジェクトを再計算する - + (but must be executed) (実行する必要があります) - + %1, Internal name: %2 %1、内部名: %2 @@ -8188,12 +7515,12 @@ Do you want to specify another directory? PDFファイル - + Opening file failed ファイルを開けませんでした。 - + Can't open file '%1' for writing. 書き込み用ファイル '%1' を開くことができません。 @@ -8201,7 +7528,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench ワークベンチ'%1'を選択 @@ -8209,37 +7536,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services サービス - + Hide %1 %1 を非表示 - + Hide Others 他を非表示 - + Show All 全て表示 - + Preferences... 設定... - + Quit %1 %1を終了 - + About %1 %1 について @@ -8259,11 +7586,6 @@ Do you want to specify another directory? Position - - - Form - フォーム - X: @@ -8358,14 +7680,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input 無効な入力 - - + + Input in line %1 is not a number 行 %1 の入力が数値ではありません @@ -8373,37 +7695,37 @@ Do you want to specify another directory? QDockWidget - + Tree view ツリービュー - + Property view プロパティビュー - + Selection view 選択ビュー - + Combo View コンボビュー - + DAG View DAGビュー - + Report view レポートビュー - + Python console Python コンソール @@ -8416,31 +7738,32 @@ Do you want to specify another directory? QObject - - + + General 標準 - - + + + Display 表示 - + Workbenches ワークベンチ - - - + + + Python Python @@ -8468,17 +7791,27 @@ Do you want to specify another directory? 不明なファイル形式に保存できません: %1 - + Workbench failure ワークベンチのエラー - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception 例外 @@ -8524,8 +7857,8 @@ Do you want to specify another directory? PDF ファイルをエクスポートしています - + Unsaved document 未保存のドキュメント @@ -8546,39 +7879,39 @@ Do you want to specify another directory? 依存関係エラー - + Copy selected 選択内容のコピー - + Copy active document アクティブなドキュメントをコピー - + Copy all documents 全てのドキュメントをコピー - + Paste 貼り付け - + Expression error 式にエラーがあります - + Failed to parse some of the expressions. Please check the Report View for more details. 幾つか式の構文解析に失敗しました。 詳細に就いては、レポートビューを確認してください。 - + Failed to paste expressions 式の貼り付けに失敗しました @@ -8613,225 +7946,225 @@ Be aware the point where you click matters. 2つのオブジェクトを選択してください。クリックする点に注意してください。 - - + + Save views... ビューを保存... - - + + Load views... ビューを読み込み... - - + + Freeze view ビューを固定 - - + + Clear views ビューをクリア - - - + + + Restore view &%1 ビュー'%1'を復元 - + Save frozen views 固定ビューを保存 - - + + Frozen views ビューを凍結 - - + + Restore views ビューを復元 - + Importing the restored views would clear the already stored views. Do you want to continue? ビューの復元を行うと、現在保存されているビューはクリアされます。 処理を続行しますか? - + Restore frozen views 固定ビューの復元 - + Cannot open file '%1'. ファイル %1 を開くことができません. - + files ファイル - + Save image 画像を保存 - + Choose an image file to open 開く画像ファイルを選択 - + New sub-group 新しいサブグループ - - - - - - + + + + + + Enter the name: 名前を入力: - - + + New text item 新しいテキスト項目 - - + + Enter your text: テキストを入力してください: - - + + New integer item 新しい整数項目 - - - - - - + + + + + + Enter your number: あなたの番号を入力します。 - - + + New unsigned item 新しい符号なし項目 - - + + New float item 新しいフロート項目 - + New Boolean item 新しいブール項目 - - + + Choose an item: 項目を選択します: - + New boolean item 新しいブール値の項目 - + Rename group グループ名変更 - + The group '%1' cannot be renamed. グループ '%1' の名前は変更できません。 - + Existing group 既存のグループ - + The group '%1' already exists. グループ '%1' は既に存在します。 - - - - - + + + + + Change value 値を変更 - + Type タイプ - + Notifier 通知 - + Message メッセージ - + Notifier: 通知: - + Do you want to skip confirmation of further critical message notifications while loading the file? ファイルの読み込み中により重要なメッセージの通知確認をスキップしますか? - + Critical Message 重要なメッセージ - + Too many opened non-intrusive notifications. Notifications are being omitted! 非割り込み通知が大量にあります。通知は省略されています! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8840,44 +8173,44 @@ Do you want to continue? - + Are you sure you want to continue? 本当に続行しますか? - + Please check report view for more... 詳細はレポートビューを確認してください... - + Physical path: 物理パス: - - + + Document: ドキュメント: - - + + Path: パス: - + Identical physical path 同一の物理パス - + Could not save document ドキュメントを保存できませんでした - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8890,102 +8223,102 @@ Would you like to save the file with a different name? 別名のファイルとして保存しますか? - - - + + + Saving aborted 保存は中断されました - + Save dependent files 依存ファイルを保存 - + The file contains external dependencies. Do you want to save the dependent files, too? このファイルには外部依存関係が含まれています。依存ファイルも保存しますか? - - + + Saving document failed ドキュメントを保存できませんでした - + Save document under new filename... ドキュメントに新しいファイル名を付けて保存 - - + + Save %1 Document %1 のドキュメントを保存します。 - + Document ドキュメント - - + + Failed to save document ドキュメントの保存に失敗 - + Documents contains cyclic dependencies. Do you still want to save them? ドキュメントに循環する依存関係が含まれています。保存の続行を続けますか? - + Save a copy of the document under new filename... 新しいファイル名でドキュメントのコピーを保存... - + %1 document (*.FCStd) %1 のドキュメント (*.FCStd) - + Document not closable 閉じられないドキュメント - + The document is not closable for the moment. 今閉じることができないドキュメント - + Document not saved ドキュメントが保存されていません - + The document%1 could not be saved. Do you want to cancel closing it? ドキュメント%1 を保存できませんでした。閉じることをキャンセルしますか? - + Undo 元に戻す - + Redo やり直す - + There are grouped transactions in the following documents with other preceding transactions 以下のドキュメントには先行する他のトランザクションとグループ化されたトランザクショが含まれています。 - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -8999,47 +8332,47 @@ Choose 'Abort' to abort マクロを保存します。 - - + + Finish 完了 - - + + Clear クリア - - - + + + Cancel キャンセル - + Inner 内側 - + Outer 外側 - + Split スプリット - - + + No Browser ブラウザーが見つかりません。 - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9047,48 +8380,48 @@ Please open a browser window and type in: http://localhost:%1. 次のURLを表示してください: http://localhost:%1 - + No Server サーバーが見つかりません。 - + Unable to start the server to port %1: %2. %1: %2 のポートにサーバーを開始できませんでした。 - + Unable to open your system browser. お使いのシステムのブラウザーを開くことができません。 - + Options... オプション... - + Out of memory メモリ不足 - + Not enough memory available to display the data. データを表示するのに十分なメモリがありません。 - - + + Cannot find file %1 ファイル %1 が見つかりません。 - + Cannot find file %1 neither in %2 nor in %3 %2 にも %3 にもファイル %1 が見つかりません。 - + Navigation styles ナビゲーションスタイル @@ -9098,8 +8431,8 @@ Please open a browser window and type in: http://localhost:%1. 注釈を移動 - - + + Transform 変換 @@ -9109,42 +8442,42 @@ Please open a browser window and type in: http://localhost:%1. このダイアログを閉じますか? - + Do you want to save your changes to document '%1' before closing? 閉じる前にドキュメント '%1' に変更を保存しますか? - + Do you want to save your changes to document before closing? 閉じる前にドキュメントに変更を保存しますか? - + If you don't save, your changes will be lost. 保存しない場合、変更内容は失われます。 - + Apply answer to all すべてに適用 - + %1 Document(s) not saved %1 ドキュメントは保存されていません - + Some documents could not be saved. Do you want to cancel closing? 一部のドキュメントを保存できませんでした。閉じることをキャンセルしますか? - + Delete macro マクロの削除 - + Not allowed to delete system-wide macros システム全体のマクロを削除することはできません @@ -9154,27 +8487,27 @@ Please open a browser window and type in: http://localhost:%1. 原点 - + Delete group content? グループコンテンツを削除しますか? - + The %1 is not empty, delete its content as well? %1は空ではありません。コンテンツごと削除しますか? - + Translation: 平行移動量: - + Rotation: 回転: - + Toggle active part アクティブなパーツを切り替え @@ -9237,86 +8570,86 @@ Please open a browser window and type in: http://localhost:%1. すべてのリンクのインポートに失敗 - - + + Invalid name 無効な名前 - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. プロパティ名またはグループ名には、半角英数字のみ用いることができ、なおかつアンダースコアを含める必要があり、数字から始めることはできません。 - + The property '%1' already exists in '%2' プロパティ '%1' は、 '%2' において既に存在します - + Add property プロパティの追加 - + Failed to add property to '%1': %2 '%1' へプロパティの追加に失敗しました: %2 - - + + Drag & drop failed ドラッグ&ドロップ失敗 - + Setup configurable object 設定可能オブジェクトの設定 - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. 設定が変更された場合にどのオブジェクトをコピー、除去するかを選択してください。デフォルトでは全ての外部リンクオブジェクトが除去されます。 - + Please select which objects to copy when the configuration is changed 設定が変更された場合にどのオブジェクトをコピーするかを選択してください。 - + Apply to all すべてに適用 - + Apply the setting to all links. Or, uncheck this option to apply only to this link. 設定を全てのリンクに適用。このリンクだけに適用する場合はチェックを外してください。 - + Copy on change 変更時にコピー - + Enable 有効 - + Enable auto copy of linked object when its configuration is changed 設定が変更された場合のリンク・オブジェクトの自動コピーを有効化 - + Tracking トラッキング - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9324,17 +8657,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change 変更時のコピーを無効化 - + Refresh configurable object 設定可能オブジェクトの更新 - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9343,28 +8676,28 @@ the current copy will be lost. - + Toggle array elements 整列要素の切り替え - + Change whether show each link array element as individual objects それぞれのリンク整列要素を個別のオブジェクトとして表示するかどうかを変更します。 - + Transform at the origin of the placement 配置原点を移動 - - + + Override colors... 色を上書き... - + Edit %1 %1を編集 @@ -9387,12 +8720,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: 許可されていません: - + Selection not allowed by filter フィルターによる選択は許可されていません。 @@ -9400,9 +8733,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection ボックス要素選択 @@ -9410,13 +8743,13 @@ the current copy will be lost. StdBoxSelection - + Box selection 矩形選択 - - + + Activate the box selection tool ボックス選択ツールをアクティブにする @@ -9494,13 +8827,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross 座標軸の表示を切り替え - - + + Turns on or off the axis cross at the origin 原点で交差する軸のオン・オフを切り替えます。 @@ -9606,13 +8939,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... 回転表示... - - + + View turntable 回転表示 @@ -9732,13 +9065,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style 描画スタイル - - + + Change the draw style of the objects オブジェクトの描画スタイルを変更 @@ -9802,13 +9135,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions 式アクション - - + + Actions that apply to expressions 式に適用するアクション @@ -9925,13 +9258,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display 表示を固定 - - + + Freezes the current view position 現在のビューを固定 @@ -9952,13 +9285,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects すべてのオブジェクトを非表示にします。 - - + + Hide all objects in the document ドキュメント内のすべてのオブジェクトを非表示にします。 @@ -9966,13 +9299,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection 選択オブジェクトを隠す - - + + Hide all selected objects 選択したオブジェクトをすべて非表示にします。 @@ -10246,13 +9579,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance 距離を測定 - - + + Activate the distance measurement tool 距離計測ツールをアクティブにする @@ -10311,8 +9644,8 @@ the current copy will be lost. 新しい空のドキュメントを作成 - - + + Unnamed Unnamed @@ -10540,8 +9873,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - 最近使用したファイル + Open Recent + 最近開いたファイル @@ -10679,13 +10012,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... シーンインスペクター... - - + + Scene inspector シーンインスペクター @@ -10693,13 +10026,13 @@ the current copy will be lost. StdCmdSelBack - + &Back 戻る(&B) - - + + Go back to previous selection 前の選択に戻る @@ -10707,13 +10040,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box バウンディングボックス(&B) - - + + Show selection bounding box 選択バウンディングボックスを表示 @@ -10721,13 +10054,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward 進む(&F) - - + + Repeat the backed selection バックアップされた選択を繰り返し @@ -10749,13 +10082,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects 表示オブジェクトを選択 - - + + Select visible objects in the active document アクティブなドキュメント内の表示オブジェクトを選択 @@ -10777,13 +10110,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... 表示... - - + + Sets the display properties of the selected object 選択したオブジェクトの表示プロパティを設定します @@ -10791,13 +10124,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects すべてのオブジェクトを表示します。 - - + + Show all objects in the document ドキュメント内のすべてのオブジェクトを表示します。 @@ -10805,13 +10138,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection 表示の選択 - - + + Show all selected objects 選択したすべてのオブジェクトを表示する @@ -10847,13 +10180,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... テクスチャマッピング... - - + + Texture mapping テクスチャーマッピング @@ -10889,13 +10222,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane 断面 - - + + Toggles clipping plane for active view 断面をアクティブビューに切り替え @@ -10903,13 +10236,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode ナビゲーション/編集モードの切り替え - - + + Toggle between navigation and edit mode ナビゲーションモードと編集モード間での切り替え @@ -10917,13 +10250,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects すべてのオブジェクトを切り替える - - + + Toggles visibility of all objects in the active document アクテブなドキュメント内の全てのオブジェクトの表示状態を切り替え @@ -10931,13 +10264,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability 選択方法の切り替え - - + + Toggles the property of the objects to get selected in the 3D-View 3Dビュー内で選択できるようオブジェクトのプロパティを切り替え @@ -10945,13 +10278,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility 表示切り替え - - + + Toggles visibility 表示切り替え @@ -11001,13 +10334,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item 現在の選択アイテムの折りたたみ - - + + Collapse currently selected tree items 現在選択しているツリーアイテムを折りたたむ @@ -11015,13 +10348,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item 現在の選択アイテムの展開 - - + + Expand currently selected tree items 現在選択しているツリーアイテムを展開 @@ -11029,13 +10362,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances 全てのインスタンスを選択 - - + + Select all instances of the current selected object 現在選択しているオブジェクトの全てのインスタンスを選択 @@ -11043,13 +10376,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions ツリービューアクション - - + + TreeView behavior options and actions ツリービューの動作設定と振る舞い @@ -11113,13 +10446,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom 底面 - - + + Set to bottom view 底面ビューに設定 @@ -11127,13 +10460,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view ビューを作成 - - + + Creates a new view window for the active document 作業中のドキュメントのための新しいビューウィンドウを作成 @@ -11141,13 +10474,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric ダイメトリック - - + + Set to dimetric view 二等角投影ビューに設定 @@ -11155,13 +10488,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 構想の例 #1 - - + + Shows a 3D texture with manipulator 3Dテクスチャーとマニピュレーターを表示 @@ -11169,13 +10502,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 構想の例 #2 - - + + Shows spheres and drag-lights 球とドラッグライトを表示 @@ -11183,13 +10516,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 構想の例 #3 - - + + Shows a animated texture アニメーションテクスチャーを表示 @@ -11197,13 +10530,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all 全てにフィット - - + + Fits the whole content on the screen 画面上の全てのコンテンツにフィット @@ -11211,13 +10544,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection 選択範囲にフィット - - + + Fits the selected content on the screen 画面上の選択されたコンテンツにフィット @@ -11225,13 +10558,13 @@ the current copy will be lost. StdCmdViewFront - + Front 正面図 - - + + Set to front view 前面ビューに設定 @@ -11239,13 +10572,13 @@ the current copy will be lost. StdCmdViewHome - + Home ホーム - - + + Set to default home view デフォルトのホームビューに設定 @@ -11253,13 +10586,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric アイソメトリック - - + + Set to isometric view 等角投影ビューに設定 @@ -11267,13 +10600,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position カメラ位置を表示 - - + + Issue the camera position to the console and to a macro, to easily recall this position 簡単に位置を呼び出せるようにコンソールとマクロにカメラ位置を表示 @@ -11281,13 +10614,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns ステレオインターリーブ列 - - + + Switch stereo viewing to Interleaved Columns ステレオビューをインターリーブ列に切り替え @@ -11295,13 +10628,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows ステレオインターリーブ行 - - + + Switch stereo viewing to Interleaved Rows ステレオビューをインターリーブ行に切り替え @@ -11309,13 +10642,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off ステレオ表示をオフ - - + + Switch stereo viewing off ステレオビューをオフ @@ -11323,13 +10656,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer ステレオクアッドバッファー - - + + Switch stereo viewing to quad buffer ステレオビューをクアッドバッファーに切り替え @@ -11337,13 +10670,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan ステレオ 赤/シアン - - + + Switch stereo viewing to red/cyan 赤/シアン ステレオ表示切り替え @@ -11351,13 +10684,13 @@ the current copy will be lost. StdCmdViewLeft - + Left 左面図 - - + + Set to left view 左面ビューに設定 @@ -11365,13 +10698,13 @@ the current copy will be lost. StdCmdViewRear - + Rear 背面図 - - + + Set to rear view 背面ビューに設定 @@ -11393,13 +10726,13 @@ the current copy will be lost. StdCmdViewRight - + Right 右面図 - - + + Set to right view 右面ビューに設定 @@ -11407,13 +10740,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left 左に回転 - - + + Rotate the view by 90° counter-clockwise ビューを反時計回りに90度回転 @@ -11421,13 +10754,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right 右に回転 - - + + Rotate the view by 90° clockwise ビューを時計回りに90度回転 @@ -11449,13 +10782,13 @@ the current copy will be lost. StdCmdViewTop - + Top 上面図 - - + + Set to top view 上面ビューに設定 @@ -11463,13 +10796,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric 不等角投影図法 - - + + Set to trimetric view 斜方投影ビューに設定 @@ -11477,13 +10810,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift FreeCAD 3DウィンドウをOculus Rift用に拡張 @@ -11547,13 +10880,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen 全画面表示 - - + + Display the main window in fullscreen mode メインウィンドウをフルスクリーンモードで表示 @@ -11589,13 +10922,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view 作業ビューを復元 - - + + Recall previously stored temporary working view 以前に保存された一時的な作業ビューを復元 @@ -11603,13 +10936,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view 作業ビューを保存 - - + + Store a document-specific temporary working view ドキュメント固有の一時的な作業ビューを保存 @@ -11617,13 +10950,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand 折りたたみ/展開 - - + + Expand active document and collapse all others アクティブなドキュメントを展開し、他の全てを折りたたむ @@ -11631,12 +10964,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging ドラッグの開始 - + Initiate dragging of current selected tree items 現在選択されているツリー項目のドラッグを開始 @@ -11644,13 +10977,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document マルチドキュメント - - + + Display all documents in the tree view 全てのドキュメントをツリービューに表示 @@ -11658,12 +10991,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection 事前選択 - + Preselect the object in 3D view when mouse over the tree item ツリーアイテムの上をマウスが通過した時に 3D ビューでオブジェクトを事前選択 @@ -11671,12 +11004,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection 選択の記録 - + Record selection in tree view in order to go back/forward using navigation button ナビゲーションボタンを使用した戻る/進むの動作のためにツリー ビューでの選択を記録 @@ -11684,13 +11017,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection 選択範囲に移動 - - + + Scroll to first selected item 最初の選択項目までスクロール @@ -11698,13 +11031,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document シングルドキュメント - - + + Only display the active document in the tree view アクティブなドキュメントのみをツリービューに表示 @@ -11712,12 +11045,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement 配置の同期 - + Auto adjust placement on drag and drop objects across coordinate systems 座標系間でのオブジェクトのドラッグ&ドロップ時に配置を自動調整 @@ -11725,12 +11058,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection 選択の同期 - + Auto expand tree item when the corresponding object is selected in 3D view 対応するオブジェクトが3Dビューで選択された場合にツリーアイテムを自動的に展開 @@ -11738,12 +11071,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view ビューの同期 - + Auto switch to the 3D view containing the selected item 選択したアイテムを含む3Dビューへ自動切り替え @@ -11751,13 +11084,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom ボックスズーム - - + + Activate the box zoom tool ボックス拡大縮小ツールをアクティブにする @@ -11765,13 +11098,13 @@ the current copy will be lost. StdViewDock - + Docked ドッキング - - + + Display the active view either in fullscreen, in undocked or docked mode アクティブなビューを、全画面、ドッキング解除モード、ドッキングモードのいずれかで表示します @@ -11779,13 +11112,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window ドキュメント ウィンドウ: - - + + Display the active view either in fullscreen, in undocked or docked mode アクティブなビューを、全画面、ドッキング解除モード、ドッキングモードのいずれかで表示します @@ -11793,13 +11126,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen 全画面表示 - - + + Display the active view either in fullscreen, in undocked or docked mode アクティブなビューを、全画面、ドッキング解除モード、ドッキングモードのいずれかで表示します @@ -11807,13 +11140,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... 画像を保存... - - + + Creates a screenshot of the active view アクティブなビューのスクリーン ショットを作成します。 @@ -11821,13 +11154,13 @@ the current copy will be lost. StdViewUndock - + Undocked ドッキング解除 - - + + Display the active view either in fullscreen, in undocked or docked mode アクティブなビューを、全画面、ドッキング解除モード、ドッキングモードのいずれかで表示します @@ -11835,13 +11168,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In ズームイン - - + + Increase the zoom factor by a fixed amount 拡大縮小率を一定量だけ増加 @@ -11849,13 +11182,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out ズームアウト - - + + Decrease the zoom factor by a fixed amount 拡大縮小率を一定量だけ減少 @@ -11890,72 +11223,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is そのまま - + Normal mode 通常モード - + Points 点群 - + Points mode ポイント モード - + Wireframe ワイヤ フレーム - + Wireframe mode ワイヤ フレーム モード - + Hidden line ラインを非表示 - + Hidden line mode ライン非表示モード - + No shading シェーディング無し - + No shading mode 非シェーディング・モード - + Shaded シェーディング - + Shaded mode シェーディング モード - + Flat lines フラット ライン - + Flat lines mode フラット ライン モード @@ -12018,32 +11351,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. ツリービューアイテムの背景。オーバーレイ時のみ有効。 - + Tree view item background padding. ツリービューアイテムの背景余白。 - + Hide extra tree view column for item description. アイテム説明のためのツリービューの追加列を非表示。 - + Hide tree view scroll bar in dock overlay. ドックオーバーレイ時にツリービューのスクロールバーを非表示。 - + Hide tree view header view in dock overlay. ドックオーバーレイ時にツリービューのヘッダービューを非表示。 - + Allow tree view columns to be manually resized. ツリービューの列の手動でのサイズ変更を許可。 @@ -12051,117 +11384,117 @@ Do you still want to proceed? Workbench - + &File ファイル(&F) - + &Edit 編集(&E) - + Edit 編集 - + Clipboard クリップボード - + Workbench ワークベンチ - + Structure 構造体 - + Standard views 標準のビュー - + Axonometric 不等角投影 - + &Stereo ステレオ(&S) - + &Zoom ズーム(&Z) - + Visibility 可視性 - + &View 表示(&V) - + &Tools ツール(&T) - + &Macro マクロ(&M) - + &Windows ウィンドウ(&W) - + &On-line help オンライン ヘルプ(&O) - + &Help ヘルプ(&H) - + Help ヘルプ - + File ファイル - + Macro マクロ - + View ビュー - + Special Ops 特殊設定 - + Link actions リンクアクション @@ -12169,12 +11502,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF PDFファイル形式でエクスポート - + PDF file PDFファイル @@ -12182,195 +11515,189 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area 通知領域 - + Settings 設定 - + The Notification area will appear in the status bar 通知領域がステータスバーに表示されます。 - + Enable Notification Area 通知領域を有効にする - + Non-intrusive notifications will appear next to the notification area in the status bar ステータスバーの通知領域の隣に非割り込み通知が表示されます。 - + Enable non-intrusive notifications 非割り込み通知を有効にする - + Additional data sources 追加のデータソース - + Errors intended for developers will appear in the notification area 開発者向けのエラーが通知領域に表示されます。 - + Debug errors デバッグエラー - + Warnings intended for developers will appear in the notification area 開発者向けの警告が通知領域に表示されます。 - + Debug warnings デバッグ警告 - + Non-Intrusive Notifications 非割り込み通知 - + Minimum Duration: 最小継続時間: - + Maximum Duration: 最大継続時間: - + Duration during which the notification will be shown (unless mouse buttons are clicked) 通知表示の継続時間 (マウスボタンをクリックしない場合) - - + + s - + Minimum duration during which the notification will be shown (unless notification clicked) 通知表示の最小継続時間 (通知をクリックしない場合) - + Maximum Number of Notifications: 通知の最大数: - + Maximum number of notifications that will be simultaneously present on the screen 画面に同時に表示される通知の最大数 - + Notification width: 通知の幅: - + Width of the notification in pixels ピクセル単位での通知の幅 - + Any open non-intrusive notifications will disappear when another window is activated 別のウィンドウがアクティブになったときにすべての非割り込み通知が消えます。 - + Hide when other window is activated 他のウインドウがアクティブになっているときには非表示 - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window FreeCAD ウインドウがアクティブなウインドウでない場合に非割り込み通知が表示されないようにします。 - + Do not show when inactive 非アクティブ時は表示しない - + Message List メッセージ一覧 - + Limit the number of messages that will be kept in the list. If 0 there is no limit. リストに保持されるメッセージ数を制限します。0の場合、制限はありません。 - + Maximum Messages (0 = no limit): 最大メッセージ数 (0 = 制限なし): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. 非割り込み最大時間が経過した後、メッセージ一覧からユーザー通知を削除します。 - + Auto-remove User Notifications ユーザー通知を自動削除 - - - Activation of the Notification Area only takes effect after an application restart. - 通知領域の有効化にはアプリケーションの再起動が必要です。 - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches 利用可能なワークベンチ - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>ドラッグ・アンド・ドロップでワークベンチを並び替えることができます。追加のワークベンチはアドオンマネージャーからインストールできます。</p><p> 現在、このシステムには以下のワークベンチが存在します:</p></body></html> - + Start up workbench: 開始時のワークベンチ: - + Choose which workbench will be activated and shown after FreeCAD launches FreeCAD 起動後にどのワークベンチをアクティブにして表示するかを選択 - + Workbench selector position : ワークベンチセレクターの位置: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12383,12 +11710,12 @@ after FreeCAD launches 「右コーナー」: メニューバーの右端 - + If checked, application will remember which workbench is active for each tab of the viewport チェックした場合、ビューポートの各タブでどのワークベンチがアクティブかをアプリケーションが記憶します。 - + Remember active workbench by tab タブでのアクティブなワークベンチを記憶 @@ -12537,47 +11864,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. チェックを外すと %1 は利用可能なワークベンチに表示されません。 - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. これは現在の起動モジュールであり、有効化されます。変更するには環境設定/一般/自動ロードを参照してください。 - + Shortcut to activate this workbench. このワークベンチをアクティブにするショートカット。 - + Auto-load 自動読み込み - + If checked, %1 will be loaded automatically when FreeCAD starts up チェックするとFreeCAD起動時に %1 が自動的に読み込まれます。 - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. これは現在の起動モジュールであり、自動ロードする必要があります。変更するには環境設定/一般/自動ロードを参照してください。 - + Loaded 読み込まれました - + Load 読み込み - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. リソースを節約するため、FreeCAD は使用されるまでワークベンチをロードしません。ワークベンチをロードするとその機能に関係する追加のユーザー設定へアクセスできるようになります。 @@ -12585,17 +11912,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar ツールバー - + Left corner 左コーナー - + Right corner 右コーナー @@ -12621,12 +11953,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications ユーザー通知を削除 - + Delete All すべて削除 @@ -12662,13 +11994,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... 画像を読み込み... - - + + Loads an image 画像を読み込み @@ -12730,10 +12062,806 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information エラーが発生しました。詳細はレポートビューを参照してください。 + + Gui::Dialog::DlgSettingsEditor + + + Editor + エディタ + + + + Options + オプション + + + + Code lines will be numbered + コード行に番号を付ける + + + + Enable line numbers + 行番号を有効 + + + + The cursor shape will be a block + カーソル形状がブロックになります。 + + + + Enable block cursor + ブロックカーソル有効 + + + + Enable folding + 折りたたみを有効 + + + + Indentation + 字下げ + + + + Tab size: + タブサイズ: + + + + Tabulator raster (how many spaces) + タブ・サイズ (スペース数) + + + + Indent size: + インデントのサイズ: + + + + How many spaces will be inserted when pressing <Tab> + <Tab> を押した時に挿入されるスペースの数 + + + + Pressing <Tab> will insert a tabulator with defined tab size + <Tab>を押すと定義されたタブ・サイズでタブが挿入されます。 + + + + Keep tabs + タブを維持 + + + + Pressing <Tab> will insert amount of defined indent size + <Tab>を押すと定義されたインデント・サイズが挿入されます。 + + + + Insert spaces + 空白を挿入 + + + + Display items + 表示項目 + + + + Color and font settings will be applied to selected type + 色とフォント設定が選択したタイプに適用されます + + + + Family: + ファミリー: + + + + Font family to be used for selected code type + 選択したコードタイプで使用されるフォント・ファミリー + + + + Size: + サイズ: + + + + Font size to be used for selected code type + 選択したコードタイプで使用されるフォント・サイズ + + + + Color: + 色: + + + + Preview: + プレビュー: + + + + Text + テキスト + + + + Bookmark + ブックマーク + + + + Breakpoint + ブレークポイント + + + + Keyword + キーワード + + + + Comment + コメント + + + + Block comment + ブロック コメント + + + + Number + 数値 + + + + String + 文字列 + + + + Character + 文字 + + + + Class name + クラス名 + + + + Define name + 名前の定義 + + + + Operator + 演算子 + + + + Python output + Python出力 + + + + Python error + Pythonエラー + + + + Current line highlight + 現在の行をハイライト表示 + + + + Items + 項目 + + + + Gui::Dialog::DlgSettingsGeneral + + + General + 標準 + + + + Language and number format + 言語と数値形式 + + + + Language: + 言語: + + + + Language of the application's user interface + アプリケーションのユーザーインターフェイスの言語 + + + + Unit system: + 単位系: + + + + Unit system that should be used for all parts of the application + アプリケーションのすべての部品で使用される単位系 + + + + Number of decimals: + 小数点以下桁数: + + + + Number of decimals that should be shown for numbers and dimensions + 数字と寸法の小数点以下の表示桁数 + + + + Minimum fractional inch: + 最小分数インチ: + + + + Minimum fractional inch to be displayed + 表示される最小分数インチ + + + + Number format: + 数値書式: + + + + Operating system + オペレーティングシステム + + + + Selected language + 選択言語 + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + 有効にすると、数値キーパッドの小数点以下の区切り文字はロケールの区切り文字で置き換えられます。ただし Python コンソールとマクロ・エディタでは ドット/ピリオドが常に表示されます。 + + + + Substitute decimal separator + 小数点以下の区切り文字 + + + + Application + アプリケーション + + + + Theme: + テーマ: + + + + Customize how user interface will look like + ユーザー インターフェイスの外観をカスタマイズ + + + + Size of toolbar icons: + ツールバーのアイコンのサイズ: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + ツールバーのアイコンのサイズの設定を行ってください。 +使用しているスクリーンサイズや好みに合わせて調整できます。 + + + + Tree view mode: + ツリービューモード: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + パネルでツリービューをどのように表示するかのカスタマイズ (再起動が必要です)。 + +'コンボビュー': ツリービューとプロパティビューを1つのパネルに結合 +'ツリービュー': ツリービューとプロパティビューを別々のパネルに分割 +'両方': 3つのパネルすべてを維持。ツリービューとプロパティビューを2組保持できます。 + + + + Size of recent file list: + 最近使用したファイル一覧のサイズ: + + + + How many files should be listed in recent files list + 最近使用したファイルのリストにいくつのファイルを表示するか + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + (ドキュメントが開かれていないときの) メインウィンドウの背景を特別な画像のタイルで構成。 +画像の詳細については FreeCAD ウィキを参照。 + + + + Enable tiled background + 画像を並べた背景を有効 + + + + The text cursor will be blinking + テキスト・カーソルが点滅します + + + + Enable cursor blinking + カーソル点滅を有効 + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + スプラッシュ画面とは FreeCAD 起動時に表示される小さな読み込みウィンドウのことです。 +このオプションがチェックされている場合、FreeCAD はスプラッシュ画面を表示します。 + + + + Enable splash screen at start up + 起動時にスプラッシュ画面を表示 + + + + Preference packs + ユーザー設定パック + + + + Name + 名前 + + + + Type + タイプ + + + + Load + 読み込み + + + + Import config... + 設定をインポート... + + + + Save new... + 新規保存... + + + + Manage... + 管理... + + + + Revert... + 元に戻す... + + + + Manage preference packs + ユーザー設定パックを管理 + + + + Small (%1px) + 小(%1px) + + + + Medium (%1px) + 中(%1px) + + + + Large (%1px) + 大(%1px) + + + + Extra large (%1px) + 特大(%1px) + + + + Custom (%1px) + カスタム(%1px) + + + + Combo View + コンボビュー + + + + TreeView and PropertyView + ツリービューとプロパティービュー + + + + Both + 両方 + + + + Preference Pack Name + ユーザー設定パック名 + + + + Tags + タグ + + + + Apply + 適用する + + + + Apply the %1 preference pack + ユーザー設定パック %1 を適用 + + + + Choose a FreeCAD config file to import + インポートするFreeCAD設定ファイルを選択してください。 + + + + File exists + ファイルが存在します。 + + + + A preference pack with that name already exists. Overwrite? + 同じ名前のユーザー設定パックが既に存在します。上書きしますか? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + レポートビュー + + + + Output + 出力 + + + + Normal messages will be recorded + 通常メッセージが記録されます。 + + + + Record normal messages + 通常メッセージを記録 + + + + Log messages will be recorded + ログメッセージが記録されます。 + + + + Record log messages + ログメッセージを記録 + + + + Warnings will be recorded + 警告が記録されます。 + + + + Record warnings + 警告メッセージを記録 + + + + Error messages will be recorded + エラーメッセージが記録されます。 + + + + Record error messages + エラーメッセージを記録 + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + エラーが生じた場合に、レポートビューダイアログがスクリーンに現れてエラーを表示します。 + + + + Show report view on error + エラー時にレポートビューを表示 + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + 警告が生じた場合に、レポートビューダイアログがスクリーンに現れて警告を表示します。 + + + + Show report view on warning + 警告時にレポートビューを表示 + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + 通常メッセージが生じた場合に、レポートビューダイアログがスクリーンに現れてメッセージを表示します。 + + + + Show report view on normal message + 通常メッセージ時にレポートビューを表示 + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + ログメッセージが生じた場合に、レポートビューダイアログがスクリーンに現れてログメッセージを表示します。 + + + + Show report view on log message + ログメッセージ時にレポートビューを表示 + + + + Include a timecode for each report + 各レポートのタイムコードを含める + + + + Include a timecode for each entry + 各エントリにタイムコードを含める + + + + Colors + + + + + Normal messages: + 通常メッセージ: + + + + Font color for normal messages in Report view panel + レポートビューパネルでの通常メッセージのフォント色 + + + + Log messages: + ログメッセージ: + + + + Font color for log messages in Report view panel + レポートビューパネルでのログメッセージのフォント色 + + + + Warnings: + 警告: + + + + Font color for warning messages in Report view panel + レポートビューパネルでの警告メッセージのフォント色 + + + + Errors: + エラー: + + + + Font color for error messages in Report view panel + レポートビューパネルでのエラーメッセージのフォント色 + + + + Python interpreter + Python インタプリター + + + + Internal Python output will be redirected +from Python console to Report view panel + 内部のPythonの出力がPythonコンソールからレポートビューパネルにリダイレクトされます + + + + Redirect internal Python output to report view + 内部のPythonの出力をレポートビューにリダイレクトする + + + + Internal Python error messages will be redirected +from Python console to Report view panel + 内部のPythonのエラーメッセージがPythonコンソールからレポートビューパネルにリダイレクトされます + + + + Redirect internal Python errors to report view + 内部のPythonのエラーをレポートビューにリダイレクトする + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + テーマ + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + スタイル シートなし + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_ka.ts b/src/Gui/Language/FreeCAD_ka.ts index f0302eea23..2d1baab27c 100644 --- a/src/Gui/Language/FreeCAD_ka.ts +++ b/src/Gui/Language/FreeCAD_ka.ts @@ -42,29 +42,29 @@ თვისების ვიზუალური ზომა - + <empty> <ცარიელი> - - + + Angle კუთხე - - + + Axis ღერძი - + Position - Position + მდებარეობა - + Enum სია @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output სატესტო კონსოლის შემცველობა - - + + Run test cases to verify console messages კონსოლის შეტყობინებების შესამოწმებლად სატესტო შემთხვევების გაშვება @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement გაზომვის გასუფთავება - + Clear all visible measurements ყველა ხილული გაზომვის გასუფთავება @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement გაზომვის გადართვა - + Turn on or off the display of all measurements ყველა გაზომვის ჩვენების ჩართვა/გამორთვა @@ -132,7 +132,7 @@ წაშლა - + Paste expressions გამოთქმის ჩასმა @@ -182,9 +182,9 @@ ჯგუფის დამატება - + Align - Align + სწორება @@ -193,40 +193,40 @@ მდებარეობა - - + + Transform გარდაქმნა - + Toggle array elements მასივის ელემენტების გადართვა - + Link Transform ბმის გარდაქმნა - + Measure distance მანძილის გაზომვა - + Toggle visibility ხილვადობის ჩართ/გამორთ - + Toggle selectability მონიშვნადობის ჩართ/გამორთ - + Edit image გამოსახულების ჩასწორება @@ -234,77 +234,77 @@ CommandGroup - + File ფაილი - + Edit ჩასწორება - + Help დახმარება - + Link ბმა - + Tools ხელსაწყოები - + View ხედი - + Window ფანჯარა - + Standard ჩვეულებრივი - + Macros მაკროები - + Macro მაკრო - + Structure სტრუქტურა - + Standard-Test Standard-Test - + Standard-View სტანდარტული ხედი - + TreeView ელემენტების ხე - + Measure საზომი @@ -369,7 +369,7 @@ Reverse - რევერსი + პირიქით @@ -402,11 +402,6 @@ DownloadItem - - - Form - ფორმა - Ico @@ -421,42 +416,42 @@ EditMode - + Default ნაგულისხმევი - + The object will be edited using the mode defined internally to be the most appropriate for the object type ობიექტი ჩასწორდება რეჟიმით, რომელიც შიგნით ამ ობიექტის ტიპისთვის ყველაზე შესაფერისია - + Transform გარდაქმნა - + The object will have its placement editable with the Std TransformManip command ობიექტს Std TransformManip ბრძანებით ჩასწორებადი მდებარეობა ექნება - + Cutting ამოჭრა - + This edit mode is implemented as available but currently does not seem to be used by any object ეს ჩასწორების რეჟიმი განხორციელებულია, როგორც ხელმისაწვდომი, მაგრამ ამჟამად, როგორც ჩანს, არც ერთი ობიექტის მიერ არ გამოიყენება - + Color ფერი - + The object will have the color of its individual faces editable with the Part FaceColors command ობიექტს თითოეული ზედაპირის Part FaceColors ბრძანებით ჩასწორებადი ფერი ექნება @@ -482,7 +477,7 @@ არცერთი - + Press a keyboard shortcut დააჭირეთ კლავიატურის მალსახმობს @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: ხელმისაწვდომი: - + Selected: მონიშნული: - + Add დამატება - + Remove მოცილება - + Move up აწევა - + Move down დაწევა @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object გადაადგილებადი ობიექტი - + Fixed object დამაგრებული ობიექტი @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... მიმდინარეობს აღდგენის ფაილის ჩაწერა. გთხოვთ მოითმინოთ... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button დააჭირეთ თაგუნის მარცხენა ღილაკს - + Press SHIFT and middle mouse button დააჭირეთ SHIFT-ს და თაგუნის შუა ღილაკს - + Press middle mouse button დააჭირეთ თაგუნის შუა ღილაკს - + Scroll middle mouse button დაატრიალეთ თაგუნის ბორბალი @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button - დააჭირეთ თაგუნის მარცხენა ღილაკს + დააწექით მარცხენა თაგუნას ღილაკს + + + + Press middle mouse button + დააწექით შუა თაგუნას ღილაკს - Press middle mouse button - დააჭირეთ თაგუნის შუა ღილაკს - - - Press middle+left or middle+right button დააჭირეთ შუა+მარცხენა ან შუა+მარჯვენა ღილაკებს - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down დაატრიალეთ თაგუნას შუა ღილაკი ან დააჭირეთ შუა ღილაკს მარცხენა ან მარჯვენა დაწკაპუნების დროს და გადაიტანეთ თაგუნა ზემოთ ან ქვემოთ @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &დიახ - + &Cancel &გაუქმება @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel ამოცანების ზოლი @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen მონაწილეები - + FreeCAD would not be possible without the contributions of FreeCAD-ის შექმნა შეუძლებელი იქნება ამ ადამიანების წვლილის გარეშე - + Individuals Header for the list of individual people in the Credits list. ერთეულები - + Organizations Header for the list of companies/organizations in the Credits list. ორგანიზაციები - - + + License ლიცენზია - + Libraries ბიბლიოთეკები - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: ეს პროგრამა იყენებს ღია კოდის კომპონენტებს, რომელთა საავტორო და სხვა საკუთრების უფლებები ეკუთვნის მათ შესაბამის მფლობელებს: - + Collection კოლექცია @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory ქეშის საქაღალდე - + The cache directory %1 exceeds the size of %2. ქეშის საქაღალდის ზომა %1 უფრო მეტია, ვდრე %2. - + Do you want to clear it now? გნებავთ ახლა გაასუფთავოთ? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! გაფრთხლება: დარწმუნდით, რომ გაშვებულია %1-ის მხოლოდ ერთი ასლი და დოკუმენტები ღია არაა. ამან შეიძლება მონაცემების დაკარგვა გამოიწვიოს! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings კამერის პარამეტრები - + Orientation ორიენტაცია - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view მიმდინარე ხედი @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands ბრძანებები @@ -1116,12 +1111,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists ნაკრები უკვე არსებობს - + A preference pack with that name already exists. Do you want to overwrite it? პარამეტრების ნაკრები ამ სახელით უკვე არსებობს. გნებავთ, თავზე გადააწეროთ? @@ -1181,7 +1176,7 @@ If this is not ticked, then the property must be uniquely named, and it is acces Remove - მოცილება + წაშლა @@ -1359,48 +1354,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... მოსაძებნად აკრიფეთ... - + Icon ხატულა - + Command ბრძანება - + Shortcut მალსახმობი - + Default ნაგულისხმევი - + Name სახელი - + Title სათაური - + All ყველა - - + + none არცერთი @@ -1408,8 +1403,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars ხელსაწყოების ზოლები @@ -1474,7 +1469,7 @@ same time. The one with the highest priority will be triggered. Move down - დაწევა + ქვემოთ ჩამოწევა @@ -1498,40 +1493,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <გამყოფი> - + %1 module not loaded %1 მოდული არ ჩატვირთულა - + New toolbar ხელსაწყოების ახალი ზოლი - - + + Toolbar name: ზოლის სახელი: - - + + Duplicated name გამეორებადი სახელი - - + + The toolbar name '%1' is already used სახელი '%1' უკვე გამოიყენება - + Rename toolbar ზოლის სახელის გადარქმევა @@ -1544,19 +1539,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize ჩასწორება - + &Help &დახმარება - + &Close დახურვა (&c) @@ -1565,13 +1560,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion SpaceBall-ის მოძრაობა - + No Spaceball Present SpaceBall ნაპოვნი არაა @@ -1579,27 +1574,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons SpaceBall-ის ღილაკები - + No Spaceball Present SpaceBall ნაპოვნი არაა - + Buttons ღილაკები - + Reset საწყის მნიშვნელობებზე დაბრუნება - + Print Reference რეფერენსის დაბეჭდვა @@ -1684,549 +1679,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default ნაგულისხმევი - + Aluminium ალუმინი - + Brass თითბერი - + Bronze ბრინჯაო - + Copper სპილენძი - + Chrome ქრომი - + Emerald ზურმუხტი - + Gold ოქრო - + Jade ნეფრიტი - + Metalized გალითონებული - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian ობსიდიანი - + Pewter კალა - + Plaster ბათქაში - + Plastic პლასტმასა - + Ruby ლალი - + Satin კრიალა - + Shiny plastic მრწყინავი პლასტმასა - + Silver ვერცხლი - + Steel ფოლადი - + Stone ქვა Gui::Dialog::DlgEditorSettings - - - Editor - რედაქტორი - - - - Options - პარამეტრები - - - - Code lines will be numbered - კოდის ხაზები დაინომრება - - - - Enable line numbers - ხაზის ნომრების ჩვენება - - - - The cursor shape will be a block - კურსორს ბლოკის ფორმა ექნება - - - - Enable block cursor - კურსორის დაბლოკვის ჩართვა - - - - Enable folding - დაკეცვის ჩართვა - - - - Indentation - შეწევა - - - - Tab size: - ჩანართის ზომა: - - - - Tabulator raster (how many spaces) - 1 ტაბში ჰარეების რაოდენობა(რამდენი პრაბელი) - - - - Indent size: - შეწევის ზომა: - - - - How many spaces will be inserted when pressing <Tab> - <Tab>-ის დაჭერისას ჩასმული ჰარეების რაოდენობა - - - - Pressing <Tab> will insert a tabulator with defined tab size - <Tab>-ზე დაჭერა გამოიწვევს წინასწარ გაწერილი რაოდენობის ჰარეების ჩასმას - - - - Keep tabs - ჩანართევის დატოვება - - - - Pressing <Tab> will insert amount of defined indent size - <Tab>-ის დაჭერით შეიტანილი შეწევის ზომა - - - - Insert spaces - ჰარეების ჩასმა - - - - Display items - ელემენტების ჩვენება - - - - Color and font settings will be applied to selected type - მონიშნულ ტიპზე გადასატარებელი ფერისა და ფონტის პარამეტრები - - - - Family: - ოჯახი: - - - - Font family to be used for selected code type - მონიშნული ტიპის კოდის ტექსტის ფონტის ოჯახი - - - - Size: - ზომა: - - - - Font size to be used for selected code type - მონიშნული ტიპის კოდის ტექსტის ფონტის ზომა - - - - Color: - ფერი: - - - - Preview: - მინიატურა: - - - Gui::Dialog::DlgGeneral - - - General - ზოგადი - - - - Language of the application's user interface - აპლიკაციის ინტერფეისის ენა - - - - Number format: - რიცხვის ფორმატი: - - - - Operating system - ოპერაციული სისტემა - - - - Selected language - არჩეული ენა - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - თუ ჩართულია, რიცხვითი კლავიატურის წილადის გამყოფი -ენის შესაბამისი გამყოფით შეიცვლება, Python-ის -კონსოლის და მაკროების რედაქტორის გარდა, -სადაც წერტილი/მძიმე ყოველთვის გამოჩნდება. - - - - Preference packs - პარამეტრების პაკეტები - - - - Name - სახელი - - - - Type - ტიპი - - - - Load - ჩატვირთვა - - - - Import config... - კონფიგურაციის შემოტანა... - - - - Save new... - ახლის შენახვა... - - - - Manage... - მართვა... - - - - Revert... - დაბრუნება... - - - - How many files should be listed in recent files list - რამდენი ფაილი უნდა იყოს „უკანასკნელი ფაილები“-ის სიაში - - - - Enable tiled background - კუბოკრული ფონის ჩართვა - - - - The text cursor will be blinking - ტექსტური კურსორი იციმციმებს - - - - Enable cursor blinking - კურსორის ციმციმის ჩართვა - - - - Style sheet: - ინტერფეისის სტილი: - - - - Language and number format - ენის და რიცხვის ფორმატი - - - - Language: - ენა: - - - - Unit system: - საზომი ერთეულები: - - - - Unit system that should be used for all parts of the application - საზომი ერთეულები, რომელიც უნდა იყოს გამოყენებული აპლიკაციის ყველა ნაწილისთვის - - - - Number of decimals: - ათეულების რიცხვი: - - - - Number of decimals that should be shown for numbers and dimensions - ზომებისა და რიცხვების ნაჩვენები ათეულების სიზუსტე - - - - Minimum fractional inch: - დუიმის მინიმალური ნაწილი: - - - - Minimum fractional inch to be displayed - დუიმის მინიმალური ჩვენებად ნაწილი - - - - Substitute decimal separator - წილადის გამყოფის შეცვლა - - - - Application - აპლიკაცია - - - - Style sheet how user interface will look like - სტილების ცხრილი, როგორ უნდა გამოიყურებოდეს მომხმარებლის ინტერფეისი - - - - Size of toolbar icons: - ხელსაწყოთა ზოლის ხატულების ზომა: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - აირჩიეთ თქვენზე მორგებული ხელსაწყოების ზოლის ხატულების ზომა. -შეგიძლიათ აირჩიოთ თქვენი ეკრანზე მორგებული ან პირადი გემოვნებით - - - - Tree view mode: - ხის ფორმით ჩვენების რეჟიმი: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - მოირგეთ, თუ როგორ გამოჩნდება ხის ხედი პანელზე (საჭიროა გადატვირთვა). - -„ComboView“: გააერთიანეთ ხის ხედი და თვისების ხედი ერთ პანელში. -„TreeView და PropertyView“: ხის ხედის და თვისების ხედის გაყოფა ცალ-ცალკე პანელებზე. -„ორივე“: შეინახეთ სამივე პანელი და შეგიძლიათ გქონდეთ ხეების ხედის ორი ნაკრები და თვისების ხედი. - - - - Size of recent file list: - უკანასკნელად გახსნილი ფაილების სიის ზომა: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - მთავარი ფანჯრის ფონი (როცა დოკუმენტები გახსნილი არაა) სპეციალური გამოსახულების ფილებისგან შედგება. -სურათის შესახებ დეტალებისთვის იხილეთ FreeCAD Wiki. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Splash ეკრანი არის პატარა ჩატვირთვის ფანჯარა, რომელიც ნაჩვენებია FreeCAD-ის გაშვებისას. თუ ეს პარამეტრი ჩართულია, FreeCAD გამოაჩენს Splash ეკრანს - - - - Enable splash screen at start up - გაშვებისას სტატუსის ჩვენება - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - პარამეტრების ნაკრებების მართვა - - - - Small (%1px) - პატარა (%1px) - - - - Medium (%1px) - საშუალო(%1px) - - - - Large (%1px) - დიდი(%1px) - - - - Extra large (%1px) - ძალიან დიდი(%1px) - - - - Custom (%1px) - მომხმარებლის(%1px) - - - - Combo View - კომბო ხედი - - - - TreeView and PropertyView - TreeView და PropertyView - - - - Both - ორივე - - - - No style sheet - განსაკუთრებული სტილის გარეშე - - - - Preference Pack Name - პარამეტრების პაკეტის სახელი - - - - Tags - ჭდეები - - - - Apply - დადება - - - - Apply the %1 preference pack - პარამეტრების ნაკრების გადატარება: %1 - - - - Choose a FreeCAD config file to import - აირჩიეთ შემოსატანი FreeCAD-ის კონფიგურაციის ფაილი - - - - File exists - ფაილი არსებობს - - - - A preference pack with that name already exists. Overwrite? - პარამეტრების ნაკრები ამ სახელით უკვე არსებობს. გნებავთ, თავზე გადააწეროთ? - - Gui::Dialog::DlgInputDialog @@ -2242,8 +1811,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector სცენის ინსპექტორი @@ -2298,7 +1867,7 @@ display the splash screen Rename - სახელის გადარქმევა + გადარქმევა @@ -2335,71 +1904,71 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros მაკროები - + Read-only მხოლოდ კითხვის რეჟიმი - + Macro file მაკროს ფაილი - + Enter a file name, please: შეიყვანეთ ფაილის სახელი, გეთაყვა: - - - + + + Existing file არსებული ფაილი - + '%1'. This file already exists. '%1' ეს ფაილი უკვე არსებობს. - + Cannot create file ფაილის შექმნა შეუძლებელია - + Creation of file '%1' failed. ფაილ '%1'-ის შექმნის შეცდომა. - + Delete macro მაკროს წაშლა - + Do you really want to delete the macro '%1'? მართლა გნებავთ მაკრო '%1'-ის წაშლა? - + Do not show again აღარ მაჩვენო განმეორებით - + Guided Walkthrough ინტერაქტიული ტური - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2410,82 +1979,82 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 ტური, ფანჯარა 1 2-დან - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close ინსტრუქციები: შეავსეთ გამოტოვებული ველები (არასავალდებულო) შემდეგ დააჭირეთ დამატებას, შემდეგ კი დახურვას - + Walkthrough, dialog 1 of 1 ტური, ფანჯარა 1 1-დან - + Walkthrough, dialog 2 of 2 ტური, ფანჯარა 2 2-დან - + Walkthrough instructions: Click right arrow button (->), then Close. გავლის ინსტრუქციები: დააწკაპუნეთ მარჯვნივ ისარზე (->), შემდეგ კი დახურვაზე. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. გავლის ინსტრუქციები: დააწკაპუნეთ ახალი, შემდეგ მარჯვნივ ისარზე (->), შემდეგ კი დახურვაზე. - + Renaming Macro File მაკროს ფაილის სახელის გადარქმევა - - + + Enter new name: შეიყვანეთ ახალი სახელი: - - + + '%1' already exists. %1 უკვე არსებობს. - + Rename Failed სახელის გადარქმევის შეცდომა - + Failed to rename to '%1'. Perhaps a file permission error? %1-სთვის სახელის გადარქმევის შეცდომა. -გთხოვთ, შეამოწმეთ წვდომები +ფაილებზე წვდომები ნამდვილად გაქვთ? - + Duplicate Macro მაკროს ასლი - + Duplicate Failed ასლის შექმნის შეცდომა - + Failed to duplicate to '%1'. Perhaps a file permission error? %1-ის დუბლირების შეცდომა. -გთხოვთ, შეამოწმეთ წვდომები +ფაილებზე წვდომები ნამდვილად გაქვთ? @@ -2513,7 +2082,7 @@ Perhaps a file permission error? Stop - გაჩერება + შეჩერება @@ -2524,39 +2093,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder მაკროს ჩამწერი - + Specify first a place to save. შეიყვანეთ პირველი შესანახი ადგილი. - + The macro directory doesn't exist. Please, choose another one. მაკროს საქაღალდე არ არსებობს. გთხოვთ, სხვა აირჩიოთ. - + Existing macro არსებული მაკრო - + The macro '%1' already exists. Do you want to overwrite? მაკრო '%1' უკვე არსებობს. გსურთ გადააწეროთ? - + You have no write permission for the directory. Please, choose another one. არ გაქვთ არჩეულ საქაღალდეში ჩაწერის უფლება. გთხოვთ, სხვა აირჩიეთ. - + Choose macro directory აირჩიეთ მაკროების საქაღალდე @@ -2629,12 +2198,12 @@ Perhaps a file permission error? HTML ფაილები - + Access denied დაშვება აკრძალულია - + Access denied to '%1' Specify another directory, please. @@ -2689,7 +2258,7 @@ Specify another directory, please. &Close - დახურვა (&c) + დაკე&ტვა @@ -2890,12 +2459,12 @@ Specify another directory, please. You must restart FreeCAD for changes to take effect. - ცვლილებების ძალაში შესასვლელად საჭიროა FreeCAD-ის გადატვირთვა. + ამ ცვლილების გასააქტიურებლად გადატვირთეთ FreeCAD. Restart now - ახლავე გადატვირთვა + ახლა გადატვირთვა @@ -3035,36 +2604,36 @@ Specify another directory, please. პროექტის ფაილი - - + + Empty source ცარიელი წყარო - - + + No source is defined. წყარო მითითებული არაა. - - + + Empty destination ცარიელი დანიშნულების პუნქტი - - + + No destination is defined. მიმართულება აღწერილი არაა. - + Failed to extract project პროექტის გაშლის შეცდომა - + Failed to create project პროექტის შექმნის შეცდომა @@ -3074,7 +2643,7 @@ Specify another directory, please. Link - ბმა + ბმული @@ -3104,7 +2673,7 @@ Specify another directory, please. Reset - საწყის მნიშვნელობებზე დაბრუნება + დაბრუნება @@ -3114,184 +2683,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - ანგარიში - - - - Output - გამოტანა - - - - Normal messages will be recorded - ნორმალური შეტყობინებები ასევე ჩაიწერება ჟურნალში - - - - Record normal messages - ნორმალური შეტყობინებების ჩაწერა - - - - Log messages will be recorded - შეტყობიბენენის ჩაიწერება ჟურნალში - - - - Record log messages - საინფორმაციო შეტყობინებების ჩაწერა - - - - Warnings will be recorded - გაფრთხილებები ჩაიწერება - - - - Record warnings - გაფრთხილებების ჩაწერა - - - - Error messages will be recorded - შეცდომები ჩაიწერება - - - - Record error messages - ჟურნალში შეცდომის შეტყობინებების ჩაწერა - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - როცა მიღებული იქნება ჟურნალში ჩასაწერი შეცდომა, ეკრანზე ნაჩვენები იქნება შეცდომის შემცველი ანგარიშის ფანჯარა - - - - Show report view on error - შეცდომის ანგარიშის ხედის ჩვენება - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - როცა მიღებული იქნება ჟურნალში ჩასაწერი გაფრთხილება, ეკრანზე ნაჩვენები იქნება შეტყობინების შემცველი ანგარიშის ფანჯარა - - - - Show report view on warning - გაფრთხილების ანგარიშის ხედის ჩვენება - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - როცა მიღებული იქნება ჟურნალში ჩასაწერი ნორმალური შეტყობინება, ეკრანზე ნაჩვენები იქნება შეტყობინების შემცველი ანგარიშის ფანჯარა - - - - Show report view on normal message - ჟურნალში ჩვეულებრივი შეტყობინებების გამოჩენისას ანგარიშის ხედის ჩვენება - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - როცა მიღებული იქნება ჟურნალში ჩასაწერი შეტყობინება, ეკრანზე ნაჩვენები იქნება ამ შეტყობინების შემცველი ანგარიშის ფანჯარა - - - - Show report view on log message - ჟურნალის შეტყობინების გამოჩენისას ანგარიშის ხედის ჩვენება - - - - Include a timecode for each report - ჟურნალში ანგარიშებისთვის დროის მიწერა - - - - Include a timecode for each entry - ჟურნალში ელემენტებისთვის დროის მიწერა - - - - Colors - ფერით მონიშვნა - - - - Normal messages: - ნორმალური შეტყობინებები: - - - - Font color for normal messages in Report view panel - ანგარიშის ნახვის პანელის ნორმალური ელემენტების ფონტის ფერი - - - - Log messages: - ჟურნალის შეტყობინებები: - - - - Font color for log messages in Report view panel - ანგარიშის ნახვის პანელის ჟურნალის ელემენტების ფონტის ფერი - - - - Warnings: - გაფრთხილებები: - - - - Font color for warning messages in Report view panel - ანგარიშის ნახვის პანელის გაფრთხილების ელემენტების ფონტის ფერი - - - - Errors: - შეცდომები: - - - - Font color for error messages in Report view panel - ანგარიშის ნახვის პანელის შეცდომის ელემენტების ფონტის ფერი - - - - Python interpreter - Python-ის ინტერპრეტატორი - - - - Internal Python output will be redirected -from Python console to Report view panel - შიდა Python-ის გამოტანა გადამისამართებული -იქნება Python-ს კონსოლიდან ანგარიშის ნახვის პანელზე - - - - Redirect internal Python output to report view - Python-ის შიდა გამომავლების ანგარიშის ხედში ჩვენება - - - - Internal Python error messages will be redirected -from Python console to Report view panel - შიდა Python-ის შეცდომები გადამისამართებული -იქნება Python-ს კონსოლიდან ანგარიშის ნახვის პანელზე - - - - Redirect internal Python errors to report view - Python-ის შიდა შეცდომების ანგარიშის ხედში ჩვენება - @@ -3318,7 +2709,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file ფანჯარაში არაფერი მოგინიშნავსთ. მარქაფის ფაილის ჩატვირთვა შეუძლებელია @@ -3333,7 +2724,7 @@ from Python console to Report view panel TextLabel - ტექსტური წარწერა + ტექსტური ჭდე @@ -3361,7 +2752,7 @@ from Python console to Report view panel დახმარება - + Select a file აირჩიეთ ფაილი @@ -3369,68 +2760,68 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View 3D ხედი - + General ზოგადი - + Main coordinate system will always be shown in lower right corner within opened files გახსნილ ფაილებში ქვედა მარჯვენა კუთხეში ძირითადი კოორდინატთა სისტემა ყოველთვის იქნება ნაჩვენები - + Show coordinate system in the corner კუთხეში კოორდინატების სისტემის ჩვენება - + Relative size : შედარებითი ზომა : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport კოორდინატების მთავარი სისტემის წარმოდგენა კუთხეში -- ხედის სიგრძე/სიგანის % - + Axis cross will be shown by default at file opening or creation ღერძების კვეთა ნაგულისხმევად იქნება ნაჩვენები ფაილის გახსნისას ან შექმნისას - + Show axis cross by default ღერძების კვეთის ყოველთვის ჩვენება - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files ბოლო ოპერაციისთვის საჭირო დრო და შედეგად მიღებული კადრების სიხშირე გახსნილ ფაილებში ნაჩვენები იქნება ქვედა მარცხენა კუთხეში - + Show counter of frames per second კადრი/წამში რაოდენობის ჩვენება - + Rendering მიმდინარეობს რენდერი - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3439,22 +2830,22 @@ Changing this option requires a restart of the application. ამ პარამეტრის შეცვლა მოითხოვს აპლიკაციის გადატვირთვას. - + Use software OpenGL პროგრამული OpenGL-ის გამოყენება - + Use OpenGL VBO (Vertex Buffer Object) OpenGL VBO-ს გამოყენება (Vertex Buffer Object) - + Render cache რენდერის კეში - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3473,7 +2864,7 @@ VBO-ს გააჩნია წარმადობის მნიშვნ პრობლემები დაწყებული გრაფიკული ანომალიებით დამთავრებული GPU-ის ავარიული შეცდომებით. დაიმახსოვრეთ, რომ ამ პარამეტრის ჩართულობის მოხსენიება FreeCAD-ის ფორუმზე დახმარების ძებნისას აუცილებელია - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3489,92 +2880,92 @@ but slower response to any scene changes. მხოლოდ ჩართეთ მხოლოდ სცენის გრაფიკის ძირეულ კვანძში. ეს გთავაზობთ რენდერის უსწრაფეს სიჩქარეს, მაგრამ სცენის ნებისმიერ ცვლილებაზე ნელი რეაგირების ხარჯზე. - + Auto ავტო - + Distributed განაწილებული - + Centralized ცენტრალიზებული - + Anti-Aliasing მომრგვალება - + What kind of multisample anti-aliasing is used მომრგვალების გამოყენებული ტიპი - + None არცერთი - + Line Smoothing ხაზის მომრგვალება - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: გამჭვირვალე ობიექტები: - + Render types of transparent objects გამჭვირვალე ობიექტების რენდერის ტიპები - + One pass ერთი გავლა - + Backface pass ფონის გავლა - + Marker size: ჭდის ზომა: - - Size of vertices in the Sketcher workbench - წვეროების ზომა Sketcher-ის სამუშაო მაგიდაზე + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes სტერეორეჟიმში თვალებს შორის დაშორება - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3583,48 +2974,48 @@ bounding box size of the 3D object that is currently displayed. ამჟამად ნაჩვენები 3D ობიექტის შემოსაზღვრული ყუთის ზომაზე. - + Backlight is enabled with the defined color ფონური სინათლე მითითებული ფერით ჩაირთო - - + + Backlight color განათების ფერი - + Intensity ინტენსივობა - + Intensity of the backlight გამოკვეთის ინტენსიურობა - + Camera type კამერის ტიპი - + Objects will appear in a perspective projection ობიექტები პერსპექტივაში გამოჩნდებიან - + Perspective renderin&g პერსპექტივის რენდერი - + Objects will be projected in orthographic projection ობიექტები ნაჩვენები იქნება ორთოგრაფიულ პროექციაში - + Or&thographic rendering ორ&თოგრაფიული რენდერი @@ -3636,42 +3027,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing მომრგვალება - + Open a new viewer or restart %1 to apply anti-aliasing changes. მომრგვალების გადასატარებლად %1 ან დაარესტარტეთ, ან გახსენით ახალ ფანჯარაში. @@ -3679,77 +3070,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache ქეში - + Cache directory ქეშის საქაღალდე - + Location: მდებარეობა: - + Check periodically at program start: პერიოდული შემოწმება პროგრამის გაშვებისას: - + Always ყოველთვის - + Daily - ყოველდღიური + დღიურად - + Weekly - ყოველკვირეული + კვირაში ერთხელ - + Monthly ყოველთვიურად - + Yearly ყოველწლიური - + Never არასდროს - + Cache size limit: ქეშის ზომის ლიმიტი: - + Check now... შემოწმება... - + Notify the user if the cache size exceeds the specified limit მომხმარებლისთვის შეტყობინება, როცა ქეშის ზომა მითითებულ ზღვარს აჭარბებს - + Unknown უცნობი - + Current cache size: %1 ქეშის მიმდინარე ზომაა: %1 @@ -3910,12 +3301,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter არასწორი პარამეტრი - + The maximum value must be higher than the minimum value. მაქსიმალური მნიშვნელობა მინიმალურზე დიდი უნდა იყოს. @@ -3923,182 +3314,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document დოკუმენტი - + General ზოგადი - + The application will create a new document when started დაწყებისას აპლიკაცია შექმნის ახალ დოკუმენტს - + Create new document at start up გაშვებისას ახალი დოკუმენტის შექმნა - + Document save compression level (0 = none, 9 = highest, 3 = default) დოკუმენტის შეკუმშვის დონე შენახვისას (0 = არაფერი, 9 = უმაღლესი, 3 = ნაგულისხმევი) - + Compression level for FCStd files FCStd ფაილებს შეკუმშვის დონე - + All changes in documents are stored so that they can be undone/redone დოკუმენტებში ინახება ინფორმაცია ყველა ცვლილების შესახებ, ასე რომ ისინი შეიძლება დაბრუნდეს/თავიდან მოხდეს - + Using Undo/Redo on documents დაბრუნება/გამეორების დოკუმენტებზე გამოყენება - + Maximum Undo/Redo steps დაბრუნება/გამეორებების ბიჯებს მაქს. რაოდენობა - + How many Undo/Redo steps should be recorded რამდენი დაბრუნება/გამეორების ნაბიჯი უნდა იქნეს ჩაწერილი - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. მომხმარებლისთვის ESC ღილაკზე დაჭერით გამოთვლის გაუქმების უფლების მიცემა. ამ თვისებამ შეიძლება გადათვლის დრო ოდნავ გაზარდოს. - + Allow aborting recomputation გადათვლის შეწყვეტის დაშვება - + Storage საცავი - + Saving transactions (Auto-save) ტრანზაქციების შენახვა (ავტოშენახვა) - + Discard saved transaction after saving document დოკუმენტის შემდეგ მომხდარი ტრანზაქციების წაშლა - + If there is a recovery file available the application will automatically run a file recovery when it is started. თუ ხელმისაწვდომია აღდგენის ფაილი, გაშვებისას აპლიკაცია მის აღდგენას ავტომატურად დაიწყებს. - + Run AutoRecovery at startup გაშვებისას ფაილების ავტომატური აღდგენა - + How often a recovery file is written რამდენად ხშირად ჩაიწერება აღდგენის ფაილი - + Save AutoRecovery information every ავტოჩაწერის ინტერვალი - + A thumbnail will be stored when document is saved მინიატურა შეინახება დოკუმენტის შენახვისას - + Save thumbnail into project file when saving document დოკუმენტის შენახვისას პროექტის ფაილში მინიატურის ჩამატება - + Size ზომა - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 ფაილში დასამახსოვრებელი მინიატურის ზომა. მიღებული ზომებია 128, 256 და 512 - + The program logo will be added to the thumbnail მინიატურას დაემატება პროგრამის ლოგო - + Add the program logo to the generated thumbnail გენერირებულ მინიატურაში პროგრამის ლოგოს ჩამატება - + How many backup files will be kept when saving document რამდენი სარეზერვო ფაილი შეინახება დოკუმენტის შენახვისას - + Maximum number of backup files to keep when resaving document დოკუმენტის ხელახალი შენახვისას სარეზერვო ფაილების მაქსიმალური რაოდენობა - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format მარქაფის ფაილები მიიღებენ გაფართოებას '.FCbak'; ფაილის სახელები მიიღებენ თარიღის სუფიქსს მითითებული ფორმატის მიხედვით - + Use date and FCBak extension თარიღის და FCBak გაფართოების გამოყენება - + Date format თარიღის ფორმატი - + Document objects ობიექტები დოკუმენტში - + Allow objects to have same label ნების დართვა, ობიექტებს იგივე ჭდე ჰქონდეთ - + Allow duplicate object labels in one document დოკუმენტში ერთნაირი ჭდეების მქონე ობიექტების დაშვება - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4111,22 +3502,22 @@ icon in the tree view to fully reload it. მისი სრულად განახლებისთვის ხის ხედში ორჯერ დააწკაპუნეთ დოკუმენტის ხატულაზე. - + Disable partial loading of external linked objects გარე მიბმული ობიექტების ნაწილობრივი ჩატვირთვის გათიშვა - + Authoring and License ავტორი და ლიცენზია - + Author name ავტორის სახელი - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4135,32 +3526,32 @@ You can also use the form: John Doe <john@doe.com> თქვენ ასევე შეგიძლიათ გამოიყენოთ ფორმა: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file ფაილს ჩაწერისას ველი 'Last modified by' დაყენებული იქნება მითითებულ ავტორზე - + Set on save დაყენება შენახვისას - + Company კომპანია - + Default company name to use for new files კომპანიის სახელის ნაგულისხმევი მნიშვნელობა ახალი ფაილებისთვის - + Default license ნაგულისხმევი ლიცენზია - + Default license for new documents ახალი დოკუმენტების ნაგულისხმევი ლიცენზია @@ -4230,12 +3621,12 @@ You can also use the form: John Doe <john@doe.com> სხვა - + License URL ლიცენზის URL - + URL describing more about the license ბმული, სადაც ლიცენზიების შესახებ უფო მეტი რამ წერია @@ -4243,104 +3634,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. თარიღის გამოყენებადი ფორმატი. - + Default ნაგულისხმევი - + Format ფორმატი - - Gui::Dialog::DlgSettingsEditorImp - - - Text - ტექსტი - - - - Bookmark - სანიშნი - - - - Breakpoint - შეჩერების წერტილი - - - - Keyword - საკვანძო სიტყვა - - - - Comment - კომენტარი - - - - Block comment - კომენტარების დაბლოკვა - - - - Number - რიცხვი - - - - String - პწკარი - - - - Character - ასო - - - - Class name - კლასის სახელი - - - - Define name - სახელის მინიჭება - - - - Operator - ოპერატორი - - - - Python output - Python-ის პასუხები - - - - Python error - Python-ის შეცდომა - - - - Current line highlight - მიმდინარე ხაზის ამოწევა - - - - Items - ელემენტები - - Gui::Dialog::DlgSettingsImage @@ -4521,122 +3829,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro მაკრო - + General macro settings მაკროების საერთო პარამეტრები - + Variables defined by macros are created as local variables მაკროებით განსაზღვრული ცვლადები იქმნება როგორც ლოკალური ცვლადები - + Run macros in local environment მაკროს ლოკალურ გარემოში გაშვება - + Macro recording settings მაკროს ჩაწერის პარამეტრები - + Macro path მაკროს მისამართი - + The directory in which the application will search for macros საქაღალდე, რომელშიც აპლიკაცია მოძებნის მაკროებს - + Gui commands გრაფიკული ინტერფეისის ბრძანებები - + Recorded macros will also contain user interface commands ჩაწერილ მაკროებში ასევე იქნება მომხმარებლის ინტერფეისის ბრძანებები - + Record GUI commands GUI ბრძანებების ჩაწერა - + Recorded macros will also contain user interface commands as comments ჩაწერილ მაკროებში ასევე კომენტარებად იქნება მომხმარებლის ინტერფეისის ბრძანებები - + Record as comment კომენტარის სახით ჩაწერა - + Logging Commands ჟურნალის ბრძანებები - + Commands executed by macro scripts are shown in Python console მაკროს სკრიპტების მიერ გაშვებული ბრძანებების თანამიმდევრობა ნაჩვენებია Python-ის კონსოლში - + Show script commands in python console სკრიპტის ბრძანებების Python-ის კონსოლში ჩვენება - + Log all commands issued by menus to file: მენიუს ყველა ბრძანების ფაილში ჩაწერა: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu ახლახანს გამოყენებული მაკროების მენიუ - + Size of recent macro list ბოლოს გახსნილი მაკროების სიის ზომა - + How many macros should be listed in recent macros list რამდენი მაკრო უნდა იყოს ჩამოთვლილი ბოლო მაკროების სიაში - + Keyboard shortcut count კლავიატურის მალსახმობების რიცხვი - + How many recent macros should have shortcuts რამდენ ბოლო მაკროს უნდა ჰქონდეს თავისი მალსახმობი ღილაკი - + Keyboard Modifiers ღილაკების კომბინაციები - + Keyboard modifiers, default = Ctrl+Shift+ კლავიატურის მოდიფიკატორები. ნაგულისხმევი = Ctrl+Shift+ @@ -4644,130 +3952,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation ნავიგაცია - + Navigation cube ნავიგაციის კუბი - + Steps by turn ბრუნის ბიჯები - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) ბრუნვის საფეხურების რაოდენობა ისრების გამოყენებისას (ნაგულისხმევი = 8: ნაბიჯის კუთხე = 360/8 = 45 გრადუსი) - + Corner კუთხე - + Corner where navigation cube is shown ეკრანის კუთხე, რომელშიც ნავიგაციის კუბ გამოჩნდება - + Top left ზედა მარცხენა - + Top right ზედა მარჯვენა - + Bottom left ქვედა მარცხენა - + Bottom right ქვედა მარჯვენა - + Rotates to nearest possible state when clicking a cube face კუბის ზედაპირზე დაწკაპუნებისას უახლოეს შესაძლო მდგომარეობამდე მობრუნება - + Rotate to nearest უახლოესისკენ შებრუნება - + Font name: ფონტის სახელი: - + Font name of the navigation cube ნავიგაციის კუბის ფონტის სახელი - + Default ნაგულისხმევი - + Cube size კუბის ზომა - + Size of the navigation cube ნავიგაციის კუბის ზომა - + Color ფერი - + Base color for all elements ყველა ელემენტის ძირითადი ფერი - + 3D Navigation 3D ნავიგაცია - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. მაუსის ღილაკის კონფიგურაციების ჩამოთვლა არჩეული ნავიგაციის თითოეული პარამეტრისთვის. აირჩიეთ ნაკრები და შემდეგ დააჭირეთ ღილაკს აღნიშნული კონფიგურაციების სანახავად. - + Mouse... თაგუნა... - + Navigation settings set ნავიგაციის პარამეტრების ნაკრები - + Orbit style ტრიალის სტილი - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4778,116 +4086,116 @@ Free Turntable: the part will be rotated around the z-axis. თავისუფალი ბრუნავი დისკო: ნაწილი Z-ღერძის გარშემო შებრუნდება. - + Turntable გრუნტი - + Trackball ტრეკბოლი - + Free Turntable თავისუფალი გრუნტი - + Rotation mode ბრუნვის რეჟიმი - + Rotations in 3D will use current cursor position as center for rotation 3D-ში ბრუნვის დროს მობრუნების ცენტრი კურსორის მიმდინარე მდებარეობა იქნება - + Window center ფანჯრის ცენტრი - + Drag at cursor კურსორთან გადათრევა - + Object center ობიექტის ცენტრი - + Default camera orientation კამერის ნაგულისხმევი ორიენტაცია - + Default camera orientation when creating a new document or selecting the home view კამერის ნაგულისხმევი ორიენტაცია ახალი დოკუმენტის შექმნისას ან საწყისი ხედის არჩევისას - + Camera zoom კამერის გადიდება - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. აყენებს ახალი დოკუმენტების კამერის მასშტაბს. მნიშვნელობას წარმოადგენს სფეროს დიამეტრი, რომელიც ეკრანზე ეტევა. - + mm მმ - + Enable animated rotations ანიმირებული შებრუნების ჩართვა - + Enable animation ანიმაციის ჩართვა - + Zoom operations will be performed at position of mouse pointer გადიდების მოქმედება თაგუნას მაჩვენებლის პოზიციაზე მოხდება - + Zoom at cursor კურსორთან გადიდება - + Zoom step გადიდების ბიჯი - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. რამდენად შეიძლება გაადიდოთ. გადიდების ბიჯი 1 ნიშნავს 7,5-ჯერ გადიდებას ყოველ ბიჯზე. - + Direction of zoom operations will be inverted გადიდების ოპერაციების ინვერსია - + Invert zoom გადიდების ინვერსია - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4896,101 +4204,111 @@ Mouse tilting is not disabled by this setting. თაგუნათი დახრილობა ამ პარამეტრით არ არის ითიშება. - + Disable touchscreen tilt gesture სენსორული ეკრანის მისახვედრი ჟესტების გამორთვა - + + Show the rotation center when dragging. + გადათრევისას შებრუნების ცენტრის ჩვენება. + + + + Enable rotation center indication + შებრუნების ცენტრის მაჩვენებლის ჩართვა + + + Isometric იზომეტრიული - + Dimetric დიმეტრიული - + Trimetric - ტრიმეტრული + ტრიმეტრიული - + Top თავზე - + Front წინ - + Left მარცხნივ - + Right მარჯვნივ - + Rear უკან - + Bottom ძირზე - + Custom - მომხმარებლის + ხელით Gui::Dialog::DlgSettingsPythonConsole - + Python console Python-ის კონსოლი - + Settings - გამართვა + მორგება - + Words will be wrapped when they exceed available horizontal space in Python console როცა სიმბოლოების რიცხვი გადააჭარბებს ჰორიზონტალურად დაშვებულ რაოდენობას Python-ის კონსოლში, მოხდება სიტყვების გადატანა - + Enable word wrap სიტყვების გადატანის ჩართვა - + The cursor shape will be a block კურსორს ბლოკის ფორმა ექნება - + Enable block cursor კურსორის დაბლოკვის ჩართვა - + Saves Python history across sessions Python-ის ისტორიის სესიებს შორის შენახვა - + Save history ისტორიის შენახვა @@ -4998,17 +4316,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection მონიშნული - + + Enable preselection, highlighted with specified color + წინასწარი მონიშვნისა და მითითებული ფერით გამოკვეთის ჩართვა + + + + Enable preselection + წინასწარი მონიშვნის ჩართვა + + + + Enable selection, highlighted with specified color + მითითებული ფერით გამოკვეთილი მონიშნულის ჩართვა + + + + Enable selection + მონიშნულის ჩართვა + + + Pick radius (px): აირჩიეთ რადიუსი (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5017,27 +4355,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item მონიშნული ობიექტის 3D ხედზე ავტომატური გადართვა - + Auto expand tree item when the corresponding object is selected in 3D view ხის ელემენტის ავტომატური გაფართოება, როდესაც შესაბამისი ობიექტი მოინიშნება 3D ხედში - + Preselect the object in 3D view when mouse over the tree item 3D ხედში ხის ელემენტზე კურსორის გადატარებისას ობიექტების წინასწარი მონიშვნა - + Record selection in tree view in order to go back/forward using navigation button მონიშნულის ხის ხედში ჩაწერა მათზე ნავიგაციის ღილაკებით წინ/უკან გადასასვლელად - + Add checkboxes for selection in document tree მონიშნულის ასარჩევების დამატება დოკუმენტის ხეში @@ -5045,147 +4383,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors ფერით მონიშვნა - - Selection - მონიშნული - - - - Enable preselection and highlight by specified color - წინასწარი მონიშვნისა და ფერის მიხედვით გამოკვეთის ჩართვა - - - - Enable preselection highlighting - გამოკვეთა თაგუნის გადატარებით - - - - Enable selection highlighting and use specified color - მონიშვნისა და განსაზღვრული ფერით გამოკვეთის ჩართვა - - - - Enable selection highlighting - მონიშნულის გამოკვეთის ჩართვა - - - + Background color for the model view მოდელის ხედის ფონის ფერი - + Background color ფონის ფერი - - + + Background will have selected color ფონს მონიშნული ფერ ექნება - + Simple color უბრალო ფერი - - + + Background will have selected color gradient ფონს მონიშნული ფერის გრადიენტი ექნება - + Linear gradient წრფივი გრადიენტი - + Radial gradient რადიალური გრადიენტი - - + + Top: თავზე: - - + + Middle: შუა: - + Switches the colors of the gradient გრადიენტის ფერების გადართვა - + Switch ჩამრთველი - + Color gradient will get selected color as middle color ფერის გრადიენტი მიიღებს შერჩეულ ფერს, როგორც შუა ფერს - + Middle color შუა ფერი - - + + Bottom: ძირზე: - + Tree view ელემენტების ხე - + Object being edited მიმდინარეობს ობიექტის ჩასწორება - + Background color for objects in tree view that are currently edited ობიექტების, რომლების ჩასწორებაც მიმდინარეობს, ფერი ხის ხედში - + Active container აქტიური კონტეინერი - + Background color for active containers in tree view ხის ხედში აქტიური კონტეინერების ფონის ფერი - + Central: ცენტრალური: - + Midway: შუაში: - + End: ბოლო: @@ -5297,12 +4610,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: უცნობი საზომ ერთეული: - + unit mismatch საზომი ერთეულები არ ემთხვევა @@ -5310,7 +4623,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement მდებარეობა @@ -5362,60 +4675,60 @@ The 'Status' column shows whether the document could be recovered. ჯერ არ აღდგენილა - + Unknown problem occurred უცნობი შეცდომა - - + + Failed to recover აღდგენის შეცდომა - + Successfully recovered აღდგენა წარმატებულია - + Finish დასრულება - - + + Delete წაშლა - - + + Cleanup გასუფთავება - + Are you sure you want to delete the selected transient directories? დარწმუნებული ხართ, რომ გსურთ წაშალოთ ყველა მონიშნული დროებითი საქაღალდე? - + When deleting the selected transient directory you won't be able to recover any files afterwards. ყველა გარდამავალი საქაღალდის წაშლის შემდეგ თქვენ ვეღარ შეძლებთ ფაილის აღდგენას. - + Are you sure you want to delete all transient directories? დარწმუნებული ხართ, რომ გსურთ წაშალოთ ყველა დროებითი საქაღალდე? - + When deleting all transient directories you won't be able to recover any files afterwards. გარდამავალი საქაღალდეების წაშლის შემდეგ თქვენ ვეღარ შეძლებთ ფაილის აღდგენას. - + Transient directories deleted. დროებითი საქაღალდეები წაშლილია. @@ -5539,7 +4852,7 @@ The 'Status' column shows whether the document could be recovered. ხატულების საქაღალდეები - + Add icon folder ხატულის საქაღალდის დამატება @@ -5552,12 +4865,12 @@ The 'Status' column shows whether the document could be recovered. ხელით მითითებული ხატულების საქაღალდეების დამატება და წაშლა - + Remove folder საქაღალდის წაშლა - + Removing a folder only takes effect after an application restart. საქაღალდის წაშლა მხოლოდ აპლიკაციის რესტარტის შემდეგ გააქტიურდება. @@ -5605,7 +4918,7 @@ The 'Status' column shows whether the document could be recovered. Selection: - მონიშნული: + არჩევანი: @@ -5627,79 +4940,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand გაფართოება - + Add sub-group ქვეჯგუფის დამატება - - + + Remove group ჯგუფის წაშლა - + Rename group ჯგუფისთვის სახელის გადარქმევა - + Export parameter პარამეტრის გატანა - + Import parameter პარამეტრის შემოტანა - + Collapse ჩახურვა - + Do you really want to remove this parameter group? დარწმუნებული ხართ რომ გნებავთ ამ პარამეტრების ამ ჯგუფის წაშლა? - + Existing sub-group არსებული ქვეჯგუფი - + The sub-group '%1' already exists. ქვეჯგუფი %1 უკვე არსებობს. - + Export parameter to file პარამეტრის ფაილში გატანა - + Import parameter from file პარამეტრის ფაილიდან შემოტანა - + Import Error შემოტანის შეცდომა - + Reading from '%1' failed. %1-ის წაკითხვის შეცდომა. @@ -5707,65 +5020,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value მნიშვნელობის შეცვლა - + Remove key გასაღების მოცილება - + Rename key გასაღებისთვის სახელის გადარქმევა - + New ახალი - + New string item ახალი ტექსტური პარამეტრი - + New float item ახალი წილადი ელემენტი - + New integer item ახალი მთელი ელემენტი - + New unsigned item ახალი მოუნიშნავი ელემენტი - + New Boolean item ახალი 0 ან 1 ელემენტი - - - - - + + + + + Existing item არსებული ელემენტი - - - - - + + + + + The item '%1' already exists. ელემენტი %1 უკვე არსებობს. @@ -5775,7 +5088,7 @@ The 'Status' column shows whether the document could be recovered. Placement - მდებარეობა + განლაგება @@ -5833,7 +5146,7 @@ The 'Status' column shows whether the document could be recovered. Rotation: - ბრუნვა: + შემობრუნება: @@ -5893,12 +5206,12 @@ The 'Status' column shows whether the document could be recovered. Reset - საწყის მნიშვნელობებზე დაბრუნება + საწყისი მნიშვნელობები OK - &დიახ + დიახ @@ -5911,17 +5224,17 @@ The 'Status' column shows whether the document could be recovered. დადება - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. გთხოვთ, ამ ღილაკზე დაწკაპუნებამდე მონიშნოთ 1, 2 ან 3 წერტილი. წერტილი შეიძლება იყოს წვეროზე, ზედაპირზე ან წიბოზე. თუ ის ზედაპირზე ან წიბოზეა, გამოყენებული წერტილი იქნება მაუსის პოზიცია სახის ან წიბოს გასწვრივ. თუ მონიშნოთ 1 წერტილი, ის გამოყენებული იქნება ბრუნვის ცენტრად. თუ არჩეულია 2 წერტილი, მათ შორის შუა წერტილი იქნება ბრუნვის ცენტრი და საჭიროების შემთხვევაში შეიქმნება ახალი ღერძი. თუ არჩეულია 3 წერტილი, პირველი წერტილი ხდება ბრუნვის ცენტრი და დევს ვექტორზე, რომელიც 3 წერტილით განსაზღვრული სიბრტყის ნორმალია. გარკვეული მანძილისა და კუთხის შესახებ ინფორმაცია მოცემულია მოხსენების ხედში, რაც შეიძლება ობიექტების სწორებისას სასარგებლო იყოს. მოხერხებულობისთვის, როდესაც Shift + წკაპი გამოიყენება, შესაბამისი მანძილი ან კუთხე კოპირდება ბუფერში. - + Incorrect quantity არასწორი რაოდენობა - + There are input fields with incorrect input, please ensure valid placement values! არსებობს არასწორად შევსებული ველები. გთხოვთ დარწმუნდეთ, რომ ყველა ველი სწორადაა შევსებული! @@ -5929,12 +5242,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button ღილაკი - + Command ბრძანება @@ -5998,17 +5311,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Inventor-ის იერარქია - + Name სახელი - + Nodes კვანძები @@ -6064,14 +5377,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel გაუქმება - - + + Transform გარდაქმნა @@ -6169,13 +5482,13 @@ originally selected prior to opening this dialog - + Model მოდელი - + Tasks დავალებები @@ -6183,7 +5496,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View თვისებაზე გადახედვა @@ -6191,82 +5504,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options პარამეტრები - + Display message types შეტყობინებების ტიპების დაბეჭდვა - - + + Normal messages ნორმალური შეტყობინებები - - + + Log messages ჟურნალის შეტყობინებები - - + + Warnings გაფრთხილებები - - + + Errors შეცდომები - - + + Critical messages კრიტიკული შეტყობინებები - + Show Report view on ანგარიშის ხედის ჩვენების დანიშნულება - + Redirect Python output Python-ის გადამისამართება - + Redirect Python errors Python-ის შეცდომის გადამისამართება - + Go to end ბოლოში გადასვლა - + Clear გასუფთავება - + Save As... შენახვა როგორც... - + Save Report Output ანგარიშის შენახვა - + Plain Text Files ტექსტური ფაილები @@ -6275,13 +5588,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output გამოტანა - + Python console Python-ის კონსოლი @@ -6319,72 +5632,72 @@ originally selected prior to opening this dialog მონიშნული ობიექტების სია - + Select only მხოლოდ არჩევა - + Selects only this object ობიექტის მონიშვნა - + Deselect მონიშვნის მოხსნა - + Deselects this object ობიექტისთვის მონიშვნის მოხსნა - + Zoom fit ფანჯარაში ჩატევა - + Selects and fits this object in the 3D window ამ ობიექტს მონიშნავს და ჩაატევს 3D ფანჯარაში - + Go to selection მონიშნულზე გადასვლა - + Selects and locates this object in the tree view ამ ობიექტის ხის ხედში პოვნა და მონშვნა - + Mark to recompute გადათვლისთვის მონიშვნა - + Mark this object to be recomputed ამ ობიექტის მონიშვნა, როგორც გადასართველის - + To python console პითონის კონსოლზე - + Reveals this object and its subelements in the python console. ამ ობიექტის და მისი ქვეელემენტების Python-ის კონსოლში ჩვენება. - + Duplicate subshape ქვემოხაზულობის დუბლირება - + Creates a standalone copy of this subshape in the document დოკუმენტში ამ ქვეფორმის ცალკეულ ასლის შექმნა @@ -6397,7 +5710,7 @@ originally selected prior to opening this dialog აპლიკაცია - + Labels & Attributes ჭდეები & ატრიბუტები @@ -6446,27 +5759,27 @@ Do you want to save your changes? PDF ფაილი - + untitled[*] უსახელო[*] - + - Editor - რედაქტორი - + %1 chars removed წაიშალა %1 სიმბოლო - + %1 chars added დაემატა %1 სიმბოლო - + Formatted ფორმატირებულია @@ -6490,13 +5803,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file აირჩიეთ ფაილი - + Select a directory აირჩიეთ საქაღალდე @@ -6504,13 +5817,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as შენახვა როგორც - - + + Open გახსნა @@ -6518,12 +5831,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended გაფართოებული - + All files (*.*) ყველა ფაილი (*.*) @@ -6531,50 +5844,50 @@ Do you want to save your changes? Gui::Flag - + Top left ზედა მარცხენა - + Bottom left ქვედა მარცხენა - + Top right ზედა მარჯვენა - + Bottom right ქვედა მარჯვენა - + Remove - მოცილება + წაშლა Gui::GestureNavigationStyle - + Tap OR click left mouse button. დააჭირეთ ან დააჭირეთ თაგუნის მარცხენა ღილაკს. - + Drag screen with two fingers OR press right mouse button. გადაათრიეთ ეკრანი ორი თითით ან დააჭირეთ მაუსის მარჯვენა ღილაკს. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. გადაათრიეთ ეკრანი ერთი თითით ან დააჭირეთ თაგუნას მარცხენა ღილაკს. Sketcher-ში და სხვა რედაქტირების რეჟიმებში დამატებით დააჭირეთ Alt-ს. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. დაჭერით (მოათავსეთ ეკრანზე ორი თითი და და გადაიტანეთ ისინი ერთმანეთისგან ან ერთმანეთისკენ) ან დაატრიალეთ მაუსის შუა ღილაკი ან PgUp/PgDown კლავიატურაზე. @@ -6582,74 +5895,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz-ი ნაპოვნი არაა - + Graphviz couldn't be found on your system. თქვენს სისტემაში Graphviz აღმოჩენილი არაა. - + Read more about it here. მეტი შეგიძლიათ წაიკითხოთ აქ. - + Do you want to specify its installation path if it's already installed? გნებავთ მისამართის მითითება, თუ ის უკვე დაყენებულია? - + Graphviz installation path მისამართი Graphviz-ის გამშვებ ფაილებამდე - + Graphviz failed Graphviz-ის შეცდომა - + Graphviz failed to create an image file Graphviz-მა ვერ შეძლო გამოსახულების შექმნა - + PNG format PNG ფორმატი - + Bitmap format Bitmap ფორმატი - + GIF format GIF ფორმატი - + JPG format JPG ფორმატი - + SVG format SVG ფორმატი - - + + PDF format PDF ფორმატი - - + + Export graph გრაფიკის გატანა @@ -6657,12 +5970,12 @@ Do you want to save your changes? Gui::InputField - + Edit ჩასწორება - + Save value მნიშვნელობის შენახვა @@ -6670,30 +5983,30 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button დააწექით CTRL-ს და თაგუნას მარცხენა ღილაკს - + Press middle mouse button - დააჭირეთ თაგუნის შუა ღილაკს + დააწექით შუა თაგუნას ღილაკს - + Press left mouse button - დააჭირეთ თაგუნის მარცხენა ღილაკს + დააწექით მარცხენა თაგუნას ღილაკს - + Scroll middle mouse button - დაატრიალეთ თაგუნის ბორბალი + დაატრიალეთ შუა თაგუნას ღილაკი Gui::LabelEditor - + List სია @@ -6701,66 +6014,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... მომხმარებლის მიერ მითითებული... - + - - + + Wrong direction არასწორი მიმართულება - + - - + + Direction must not be the null vector მიმართულება ვერ იქნება ნულოვანი ვექტორი @@ -6768,40 +6081,40 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: - Direction: + მიმართულება: Gui::MacroCommand - + Macros მაკროები - + Macro file doesn't exist მაკროს ფაილი არ არსებობს - + No such macro file: '%1' მაკროს ფაილი %1 არ არსებობს @@ -6809,63 +6122,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension ზომა - + Ready მზადაა - + Help addon needed! საჭიროა დამატების დახმარება! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager %1-ის დახმარების სისტემა ახლა "Help" დამატების მიერაა მხარდაჭერილი. მისი დაყენება ადვილად შეგიძლიათ დამატების მმართველიდან - + Open Addon Manager დამატებების მმართველის გახსნა - + Close All ყველას დახურვა - - + + Toggles this toolbar ამ ზოლის ჩართ/გამორთ - - + + Toggles this dockable window მიმაგრებადი ფანჯრის ჩვენების ჩართ/გამორთ - - + + WARNING: This is a development version. + გაფრთხილება: ეს სატესტო ვერსიაა. + + + + Please do not use in a production environment. + არ გამოიყენოთ საწარმოო გარემოში. + + + + Unsaved document შეუნახავი დოკუმენტი - + The exported object contains external link. Please save the documentat least once before exporting. გატანილი ობიექტი შეიცავს გარე ბმულს. გთხოვთ გატანამდე დოკუმენტი ერთხელ მაინც შეინახოთ. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? გარე ობიექტებთან დასაკავშირებლად, დოკუმენტი უნდა იყოს შენახული ერთხელ მაინც. @@ -6875,63 +6198,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment ხელით სწორება - + The alignment is already in progress. სწორება უკვე მიმდინარეობს. - + Alignment[*] სწორება[*] - + Please, select at least one point in the left and the right view გთხოვთ აირჩიოთ ერთი წერტილი მარცხენა და ერთიც მარჯვენა ხედიდან - + Please, select at least %1 points in the left and the right view გთხოვთ აირჩიოთ %1 წერტილი მარცხენა და მაგდენივე მარჯვენა ხედიდან - + Please pick points in the left and right view გთხოვთ აირჩიოთ წერტილები მარცხენა და მარჯვენა ხედებიდან - + The alignment has finished სწორება დასრულებულია - + The alignment has been canceled სწორება გაუქმებულია - - + + Too few points picked in the left view. At least %1 points are needed. მარცხენა ხედში არჩეულია ძალიან ცოტა წერტილი. საჭიროა მინიმუმ %1. - - + + Too few points picked in the right view. At least %1 points are needed. მარჯვენა ხედში არჩეულია ძალიან ცოტა წერტილი. საჭიროა მინიმუმ %1. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6940,59 +6263,59 @@ on the right view %2 points are picked. მარჯვნივ არჩეულია %2 წერტილი. - + Try to align group of views ხედების ჯგუფის დალაგების ცდა - + The alignment failed. How do you want to proceed? სწორების შეცდომა. გნებავთ გააგრძელოთ? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. მარცხენა და მარჯვენა ხედში არჩეულია წერტილების სხვადასხვა რაოდენობა. მარცხნივ არჩეულია %1 წერტილი, მარჯვენა ხედზე არჩეულია %2 წერტილი. - + Point_%1 წერტილი_%1 - + Point picked at (%1,%2,%3) არჩეული წერტილი (%1,%2,%3) - + No point was found on model მოდელს არ აქვს არცერთი წერტილი - + No point was picked წერტილები არჩეული არაა - + &Align &გათანაბრება - + &Remove last point &ბოლო წერტილის მოცილება - + &Cancel &გაუქმება - + &Synchronize views &ხედების სინქრონიზაცია @@ -7000,22 +6323,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. დააჭირეთ ან დააჭირეთ თაგუნის მარცხენა ღილაკს. - + Drag screen with two fingers OR press ALT + middle mouse button. გადაათრიეთ ეკრანი ორი თითით ან დააჭირეთ ALT+ თაგუნას შუა ღილაკს. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. გადაათრიეთ ეკრანი ერთი თითით ან დააჭირეთ ALT + თაგუნას მარცხენა ღილაკს. Sketcher-ში და სხვა რედაქტირების რეჟიმებში დამატებით დააჭირეთ Alt-ს. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. დაჭერით (მოათავსეთ ორი თითი ეკრანზე და გადაათრიეთ ისინი ერთმანეთისგან ან ერთმანეთისკენ) ან დაატრიალეთ თაგუნას შუა ღილაკი ან დააჭირეთ ALT + თაგუნას მარჯვენა ღილაკს ან PgUp/PgDown კლავიატურაზე. @@ -7023,7 +6346,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys დააწექით მოდიფიკატორ ღილაკებს @@ -7039,22 +6362,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button - დააჭირეთ თაგუნის მარცხენა ღილაკს + დააწექით მარცხენა თაგუნას ღილაკს - + Press CTRL and middle mouse button დააჭირეთ CTRL-ს და თაგუნას შუა ღილაკს - + Press CTRL and right mouse button დააწექით CTRL-ს და თაგუნას მარჯვენა ღილაკს - + Press CTRL and left mouse button დააწექით CTRL-ს და თაგუნას მარცხენა ღილაკს @@ -7062,22 +6385,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button - დააჭირეთ თაგუნის მარცხენა ღილაკს + დააწექით მარცხენა თაგუნას ღილაკს - + Press right mouse button and move mouse დააწექით თაგუნას მარჯვენა ღილაკს და გაამოძრავეთ თაგუნა - + Press left mouse button and move mouse დააწექით თაგუნას მარცხენა ღილაკს და გაამოძრავეთ თაგუნა - + Press middle mouse button or SHIFT and right mouse button დააჭირეთ თაგუნას შუა ღილაკს ან SHIFT-ს ან თაგუნას მარჯვენა ღილაკს @@ -7085,17 +6408,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit ჩასწორება - + Save value მნიშვნელობის შენახვა - + Clear list სიის გასუფთავება @@ -7126,12 +6449,12 @@ How do you want to proceed? დარჩენილია: %1 - + Aborting შეწყვეტა - + Do you really want to abort the operation? მართლა გნებავთ ოპერაციის შეწყვეტა? @@ -7139,7 +6462,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object მიბმული ობიექტის შეცვლა @@ -7147,12 +6470,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error შეცდომა - + Object not found ობიექტი ნაპოვნი არაა @@ -7223,13 +6546,13 @@ How do you want to proceed? Gui::PropertyView - + View ხედი - + Data მონაცემები @@ -7277,77 +6600,77 @@ Do you want to exit without saving your data? C++-ის დაუმუშავებელი უცნობი შეცდომა. - + &Copy &კოპირება - + &Copy command &კოპირების ბრძანება - + &Copy history &კოპირების ისტორია - + Save history as... ისტორიის შენახვა როგორც... - + Save history ისტორიის შენახვა - + Saves Python history across %1 sessions Python-ის ისტორიის შენახვა %1 სესიის განმავლობაში - + &Paste &ჩასმა - + Select All ყველაფრის მონიშვნა - + Clear console კონსოლის გასუფთავება - + Insert file name... ჩასვით ფაილის სახელი... - + Word wrap სიტყვების გადატანა - + Save History ისტორიის შენახვა - + Macro Files მაკროს ფაილები - + Insert file name ჩასვით ფაილის სახელი - + All Files ყველა ფაილი @@ -7355,7 +6678,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment კომენტარი @@ -7368,17 +6691,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 %1 ფაილის გახსნა - + File not found ფაილი ვერ მოიძებნა - + The file '%1' cannot be opened. ფაილ '%1'-ის გახსნა შეუძლებელია. @@ -7386,22 +6709,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none - არცერთი + არა - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 %1 მაკროს გაშვება (Shift+წკაპი ჩასასწორებლად) მალსახმობი: %2 - + File not found ფაილი ვერ მოიძებნა - + The file '%1' cannot be opened. ფაილ '%1'-ის გახსნა შეუძლებელია. @@ -7409,24 +6732,24 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button - დააჭირეთ თაგუნის მარცხენა ღილაკს + დააწექით მარცხენა თაგუნას ღილაკს + + + + Press middle mouse button + დააწექით შუა თაგუნას ღილაკს - Press middle mouse button - დააჭირეთ თაგუნის შუა ღილაკს + Press SHIFT and middle mouse button + დააწექით SHIFT + შუა თაგუნას ღილაკს - Press SHIFT and middle mouse button - დააჭირეთ SHIFT-ს და თაგუნის შუა ღილაკს - - - Scroll middle mouse button - დაატრიალეთ თაგუნის ბორბალი + დაატრიალეთ შუა თაგუნას ღილაკი @@ -7455,17 +6778,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module აირჩიეთ მოდული - + Open %1 as %1-ის გაღება, როგორც - + Select არჩევა @@ -7534,13 +6857,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Python-ის მოდულების ავტომატურად გენერირებული დოკუმენტაცია - - + + Opens a browser to show the Python modules documentation ბრაუზერის გახსნა Python-ის მოდულების დოკუმენტაციის საჩვენებლად @@ -7558,7 +6881,7 @@ Do you want to specify another directory? Position - Position + მდებარეობა @@ -7589,7 +6912,7 @@ Do you want to specify another directory? TextLabel - ტექსტური წარწერა + ტექსტური ჭდე @@ -7604,7 +6927,7 @@ Do you want to specify another directory? Remove - მოცილება + წაშლა @@ -7643,7 +6966,7 @@ Do you want to specify another directory? Plot mode: - გრაფიკის რეჟიმი: + ნახაზის რეჟიმი: @@ -7666,7 +6989,7 @@ Do you want to specify another directory? A dialog is already open in the task panel - A dialog is already open in the task panel + ფანჯარა უკვე ღიაა ამოცანების პანელზე @@ -7693,38 +7016,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated ტექსტი განახლდა - + The text of the underlying object has changed. Discard changes and reload the text from the object? ძირითადი ობიექტის ტექსტი შეიცვალა. გაუქმდეს ცვლილებები და თავიდან ჩაიტვირთოს ტექსტი ობიექტიდან? - + Yes, reload. დიახ, გადატვირთე. - + Unsaved document შეუნახავი დოკუმენტი - + Do you want to save your changes before closing? გსურთ შეინახოთ თქვენი ცვლილებები გამოსვლამდე? - + If you don't save, your changes will be lost. თუ არ შეინახავთ, ყველა თქვენი ცვლილება დაიკარგება. - - + + Edit text ტექსტის ჩასწორება @@ -7732,45 +7055,45 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button - დააჭირეთ თაგუნის მარცხენა ღილაკს + დააწექით მარცხენა თაგუნას ღილაკს - + Press middle mouse button - დააჭირეთ თაგუნის შუა ღილაკს + დააწექით შუა თაგუნას ღილაკს - + Press right mouse button დააჭირეთ თაგუნას მარჯვენა ღილაკს - + Scroll middle mouse button - დაატრიალეთ თაგუნის ბორბალი + დაატრიალეთ შუა თაგუნას ღილაკი Gui::TouchpadNavigationStyle - + Press left mouse button - დააჭირეთ თაგუნის მარცხენა ღილაკს + დააწექით მარცხენა თაგუნას ღილაკს - + Press SHIFT button დააჭირეთ SHIFT ღილაკს - + Press ALT button დააჭირეთ ALT ღილაკს - + Press CTRL and SHIFT buttons დააჭირეთ CTRL და SHIFT ღილაკებს @@ -7780,7 +7103,7 @@ Do you want to specify another directory? Afrikaans - აფრიკული + აფრიკაანსი @@ -7996,15 +7319,15 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view - ელემენტების ხე + ხის ხედი Gui::TreePanel - + Search ძებნა @@ -8012,183 +7335,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... ძებნა... - + Search for objects ობიექტების ძებნა - + Activate document დოკუმენტის აქტივაცია - + Activate document %1 დოკუმენტის აქტივაცია %1 - + Tree settings ხის მორგება - + Show description column აღწერის სვეტის ჩვენება - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. ელემენტის აღწერისთვის დამატებითი სვეტის ჩვენება. ელემენტის აღწერა F2 (ან თქვენი ოს-ის ჩასწორების ღილაკით) ღილაკით ან 'label2' თვისების ჩასწორებით შეგძლიათ. - + Group ჯგუფი - + Labels & Attributes ჭდეები & ატრიბუტები - + Description აღწერა - + Show items hidden in tree view ხის ხედში დამალული ელემენტების ჩვენება - + Show items that are marked as 'hidden' in the tree view ხის ხედში 'დამალულად' მონიშნული ელემენტების ჩვენება - + Toggle visibility in tree view ხის ხედში ხილვადობის გადართვა - + Toggles the visibility of selected items in the tree view ხის ხედში მონიშნული ელემენტების ხილვადობის გადართვა - + Create group... ჯგუფის შექმნა... - + Create a group ჯგუფის შექმნა - - + + Rename - სახელის გადარქმევა + გადარქმევა - + Rename object ობიექტის სახელის გადარქმევა - + Finish editing ჩასწორების დასრულება - + Finish editing object ობიექტის ჩასწორების დასრულება - + Add dependent objects to selection დამოკიდებული ობიექტების მონიშნულში ჩამატება - + Adds all dependent objects to the selection მონიშნულში ყველა დამოკიდებული ობიექტის ჩამატება - + Close document დოკუმენტის დახურვა - + Close the document დოკუმენტის დახურვა - + Reload document დოკუმენტის თავიდან ჩატვირთვა - + Reload a partially loaded document ნაწილობრივ ჩატვირთული დოკუმენტის თავიდან ჩატვირთვა - + Skip recomputes გადათვლების გამოტოვება - + Enable or disable recomputations of document დოკუმენტის გადათვლების ჩართვა ან გამორთვა - + Allow partial recomputes ნაწილობრივი გადაანგარიშებების ჩართვა - + Enable or disable recomputating editing object when 'skip recomputation' is enabled როცა 'გადათვლის გამოტოვება' ჩართულია, რთავს ან თიშავს ობიექტის გადათვლას მისი ჩასწორებისას - + Mark to recompute გადათვლისთვის მონიშვნა - + Mark this object to be recomputed ამ ობიექტის მონიშვნა, როგორც გადასართველის - + Recompute object ობიექტის გადათვლა - + Recompute the selected object მონიშნული ობიექტის თავიდან გამოთვლა - + (but must be executed) (მაგრამ უნდა შესრულდეს) - + %1, Internal name: %2 %1, შიდა სახელი: %2 @@ -8219,20 +7542,20 @@ Do you want to specify another directory? PDF ფაილი - + Opening file failed ფაილის გახსნის შეცდომა - + Can't open file '%1' for writing. - ჩასაწერად ფაილის „%1“ გახსნა შეუძლებელია. + ფაილის ჩასაწერად გახსნა შეუძლებელია. Gui::WorkbenchGroup - + Select the '%1' workbench აირჩიეთ სამუშაო მაგიდა %1 @@ -8240,37 +7563,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services სერვისები - + Hide %1 %1-ის დამალვა - + Hide Others სხვების დამალვა - + Show All ყველას ჩვენება - + Preferences... გამართვა... - + Quit %1 %1-დან გასვლა - + About %1 %1-ის შესახებ @@ -8290,11 +7613,6 @@ Do you want to specify another directory? Position - - - Form - ფორმა - X: @@ -8389,14 +7707,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input არასწორი შეტანა - - + + Input in line %1 is not a number ხაზზე %1 შეყვანილი სტრიქონი რიცხვს არ წარმოადგენს @@ -8404,74 +7722,75 @@ Do you want to specify another directory? QDockWidget - + Tree view ელემენტების ხე - + Property view თვისებაზე გადახედვა - + Selection view მონიშნულის ხედი - + Combo View - კომბო ხედი + ჩამოშლადი სია - + DAG View DAG ხედი - + Report view ანგარიში - + Python console Python-ის კონსოლი Display properties - ეკრანის პარამეტრები + თვისებების ჩვენება QObject - - + + General ზოგადი - - + + + Display - ეკრანი + ჩვენება - + Workbenches სამუშაო მაგიდები - - - + + + Python Python @@ -8499,17 +7818,27 @@ Do you want to specify another directory? უცნობ ფაილის ტიპში ჩაწერის შეცდომა: %1 - + Workbench failure სამუშაო მაგიდის შეცდომა - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception გამონაკლისი @@ -8527,7 +7856,7 @@ Do you want to specify another directory? There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. - შეცდომა ფაილის ჩატვირთვისას. მონაცემები შეიძლება შეცვლილი იყოს ან საერთოდ არ იქნება წაკითხული. მეტი ინფორმაციის სანახავად ჩაიხედეთ რეპორტში. + შეცდომები მონაცემების ჩატვირთვისას. ზოგიერთი მონაცემი შეიძლება შეიცვალა ან არ აღდგენილა. ჩარეული ობიექტების სიის მისაღებად ანგარიშის ველში ჩაიხედეთ. @@ -8555,8 +7884,8 @@ Do you want to specify another directory? PDF-ად გატანა... - + Unsaved document შეუნახავი დოკუმენტი @@ -8577,39 +7906,39 @@ Do you want to specify another directory? დამოკიდებულების შეცდომა - + Copy selected მონიშნულის კოპირება - + Copy active document აქტიური დოკუმენტის კოპირება - + Copy all documents ყველა დოკუმენტის კოპირება - + Paste ჩასმა - + Expression error გამოხატვის შეცდომა - + Failed to parse some of the expressions. Please check the Report View for more details. შეცდომა ზოგიერთი გამოთქმის გავლილსას. მეტი დეტალებისთვის იხილეთ ჟურნალი. - + Failed to paste expressions გამოთქმების ჩასმის შეცდომა @@ -8628,7 +7957,7 @@ Please check the Report View for more details. Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული @@ -8645,225 +7974,225 @@ Be aware the point where you click matters. წერტილები, რომლებსაც აირჩევთ, მნიშვნელოვანია. - - + + Save views... ხედების შენახვა... - - + + Load views... ხედების ჩატვირთვა... - - + + Freeze view ხედების გაყინვა - - + + Clear views ხედების გასუფთავება - - - + + + Restore view &%1 %1 ხედის აღდგენა - + Save frozen views გაყინული ხედების შენახვა - - + + Frozen views დამახსოვრებული ხედები - - + + Restore views ხედების აღდგენა - + Importing the restored views would clear the already stored views. Do you want to continue? აღდგენილი ხედების იმპორტი გაასუფთავებს უკვე შენახულ ხედებს. გნებავთ გააგრძელოთ? - + Restore frozen views გაყინული ხედების აღდგენა - + Cannot open file '%1'. %1-ის გახსნა შეუძლებელია. - + files ფაილები - + Save image სურათის შენახვა - + Choose an image file to open - აირჩიეთ გასახსნელი გამოსახულება + აირჩიეთ გასახსნელი გამოსახულების ფაილი - + New sub-group ახალი ქვეჯგუფი - - - - - - + + + + + + Enter the name: შეიყვანეთ სახელი: - - + + New text item ახალი ტექსტური ელემენტი - - + + Enter your text: შეიყვანეთ თქვენი ტექსტი: - - + + New integer item ახალი მთელი ელემენტი - - - - - - + + + + + + Enter your number: შეიყვანეთ თქვენი ნომერი: - - + + New unsigned item ახალი მოუნიშნავი ელემენტი - - + + New float item ახალი წილადი ელემენტი - + New Boolean item ახალი 0 ან 1 ელემენტი - - + + Choose an item: აირჩიეთ ელემენტი: - + New boolean item ახალი 0 ან 1 ელემენტი - + Rename group ჯგუფისთვის სახელის გადარქმევა - + The group '%1' cannot be renamed. ჯგუფ %1-ს სახელს ვერ შეუცვლით. - + Existing group არსებული ჯგუფი - + The group '%1' already exists. ქვეჯგუფი %1 უკვე არსებობს. - - - - - + + + + + Change value მნიშვნელობის შეცვლა - + Type ტიპი - + Notifier გამფრთხილებელი - + Message შეტყობინება - + Notifier: გამფრთხილებელი: - + Do you want to skip confirmation of further critical message notifications while loading the file? გნებავთ ფაილის ჩატვირთვისას მომავალი კრიტიკული შეტყობინების გაფრთხილების დადასტურების გამოტოვება? - + Critical Message კრიტიკული შეტყობინება - + Too many opened non-intrusive notifications. Notifications are being omitted! ძალიან ბევრი გახსნილი არაშემაწუხებელი გაფრთხილება. გაფრთხილებებს გამოვტოვებთ! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8872,44 +8201,44 @@ Do you want to continue? - + Are you sure you want to continue? - დარწმუნებული ბრძანდებით, რომ გნებავთ გააგრძელოთ? + დარწმუნებული ბრძანდებით, რომ გნებავთ, გააგრძელოთ? - + Please check report view for more... მეტის გასაგებად, გთხოვთ გაეცნოთ ანგარიშს... - + Physical path: ფიზიკური მისამართი: - - + + Document: დოკუმენტი: - - + + Path: მისამართი: - + Identical physical path იგივე ფიზიკური მისამართი - + Could not save document ფაილის შენახვის შეცდომა - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8922,102 +8251,102 @@ Would you like to save the file with a different name? გსურთ შეინახოთ ფაილი სხვა სახელით? - - - + + + Saving aborted შენახვა შეწყვეტილია - + Save dependent files დამოკიდებული ფაილების ჩაწერა - + The file contains external dependencies. Do you want to save the dependent files, too? ფაილი შეიცავს გარე დამოკიდებულებებს. გსურთ შეინახოთ დამოკიდებული ფაილებიც? - - + + Saving document failed დკუმენტის შენახვის შეცდომა - + Save document under new filename... დოკუმენტის ახალი სახელით შენახვა... - - + + Save %1 Document დოკუმენტ %1-ის შენახვა - + Document დოკუმენტი - - + + Failed to save document დოკუმენტის შენახვის შეცდომა - + Documents contains cyclic dependencies. Do you still want to save them? დოკუმენტები შეიცავენ წრიულ დამოკიდებულებებს. მაინც გნებავთ მათი შენახვა? - + Save a copy of the document under new filename... დოკუმენტის ასლის ახალი სახელით შენახვა... - + %1 document (*.FCStd) %1 დოკუმენტი (*.FCStd) - + Document not closable დოკუმენტი დახურვადი არაა - + The document is not closable for the moment. დოკუმენტი ამ მომენტისთვის დახურვადი არაა. - + Document not saved დოკუმენტი არ იქნა შენახული - + The document%1 could not be saved. Do you want to cancel closing it? %1-ის შენახვა შეუძლებელია. გნებავთ დახურვის გაუქმება? - + Undo - დაბრუნება (&U) + დაბრუნება - + Redo გამეორება - + There are grouped transactions in the following documents with other preceding transactions შემდეგ დოკუმენტებში არის დაჯგუფებული ტრანზაქციები სხვა წინა ტრანზაქციებთან ერთად - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9031,47 +8360,47 @@ Choose 'Abort' to abort მაკროს შენახვა - - + + Finish დასრულება - - + + Clear გასუფთავება - - - + + + Cancel გაუქმება - + Inner შიდა - + Outer გარე - + Split გაყოფა - - + + No Browser ბრაუზერის შეცდომა - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9080,48 +8409,48 @@ Please open a browser window and type in: http://localhost:%1. გთხოვთ, გახსენით ბრაუზერის ფანჯარა და ჩაწერეთ: http://localhost:%1. - + No Server სერვერის გარეშე - + Unable to start the server to port %1: %2. სერვერის გაშვების შეცდომა პორტზე %1: %2. - + Unable to open your system browser. სისტემური ბრაუზერის გაშვების შეცდომა. - + Options... პარამეტრები... - + Out of memory მეხსიერება აღარ არის - + Not enough memory available to display the data. არ არის საკმარისი მეხსიერება მონაცემთა საჩვენებლად. - - + + Cannot find file %1 ფაილ %1-ს პოვნა ვერ ხერხდება - + Cannot find file %1 neither in %2 nor in %3 ვერ ვიპოვე ფაილი %1, ვერც %2 და ვერც %3 - + Navigation styles ნავიგაციის სტილები @@ -9131,83 +8460,83 @@ Please open a browser window and type in: http://localhost:%1. ანოტაციის გადატანა - - + + Transform გარდაქმნა Do you want to close this dialog? - Do you want to close this dialog? + ნამდვილად გსურთ ამ ფანჯრის დახურვა? - + Do you want to save your changes to document '%1' before closing? გსურთ შეინახოთ ცვლილებები %1 -ში მის დახურვამდე? - + Do you want to save your changes to document before closing? გსურთ შეინახოთ დოკუმენტის ცვლილებები მის დახურვამდე? - + If you don't save, your changes will be lost. თუ არ შეინახავთ, ყველა თქვენი ცვლილება დაიკარგება. - + Apply answer to all პასუხის ყველაზე გადატარება - + %1 Document(s) not saved %1 დოკუმენტი არ იქნა შენახული - + Some documents could not be saved. Do you want to cancel closing? ზოგიერთი დოკუმენტის შენახვა შეუძლებელია. გნებავთ დახურვის გაუქმება? - + Delete macro მაკროს წაშლა - + Not allowed to delete system-wide macros სისტემური მაკროების წაშლა აკრძალულია Origin - კოორდინატების საწყისი + საწყისი - + Delete group content? წავშალო ჯგუფის შემცველობა? - + The %1 is not empty, delete its content as well? %1 ცარიელი არაა. წავშალო მისი შემცველობაც? - + Translation: მოძრაობითი გადატანა: - + Rotation: ბრუნვა: - + Toggle active part ნაწილის აქტიურობის ჩართ/გამორთ @@ -9270,87 +8599,87 @@ Please open a browser window and type in: http://localhost:%1. ყველა ბმულის შემოტანის შეცდომა - - + + Invalid name არასწორი სახელი - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. თვისების სახელი ან მათი ჯგუფის სახელი უნდა შეიცავდეს მხოლოდ ციფრებს, სიმბოლოებს და ხაზს. არ უნდა დაიწყოს ციფრით. - + The property '%1' already exists in '%2' %2-ს უკვე აქვს თვისება %1 - + Add property თვისების დამატება - + Failed to add property to '%1': %2 %1-სთვის თვისების დამატება: %2 - - + + Drag & drop failed გადათრევის შეცდომა - + Setup configurable object მორგებადი ობიექტის აწყობა - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - აირჩიეთ ობიექტი, რომელიც გამოირიცხება ან დაკოპირდება კონფიგურაციის ცვლილებისას. ყველა გარე მიბმული ობიექტი ნაგულისხმებად გამორიცხულია. + აირჩიეთ ობიექტი, რომელიც გამოირიცხება ან დაკოპირდება კონფიგურაციის ცვლილებისას. ყველა გარე მიბმული ობიექტი ნაგულისხმევად გამორიცხულია. - + Please select which objects to copy when the configuration is changed აირჩიეთ, რომელი ობიექტები დაკოპირდება კონფიგურაციის ცვლილებისას - + Apply to all ყველაზე გადატარება - + Apply the setting to all links. Or, uncheck this option to apply only to this link. პარამეტრის ყველა ბმულზე გადატარება. ან გამორთეთ მხოლოდ ამ ბმულზე გადასატარებლად. - + Copy on change კოპირება ცვლილებისას - + Enable ჩაართვა - + Enable auto copy of linked object when its configuration is changed კონფიგურაციის ცვლილებისას მიბმული ობიექტის ავტომატური კოპირების ჩართვა - + Tracking ტრეკინგი - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9359,17 +8688,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change შეცვლისას კოპირების გამორთვა - + Refresh configurable object მორგებადი ობიექტის განახლება - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9380,30 +8709,30 @@ the current copy will be lost. - + Toggle array elements მასივის ელემენტების გადართვა - + Change whether show each link array element as individual objects ბმულის მასივის თითოეული ელემენტის ინდივიდუალურ ობიექტად ჩვენების ჩართ/გამორთ - + Transform at the origin of the placement გარდაქმნა მდებარეობის წყაროსთან - - + + Override colors... ფერების გადალაგება... - + Edit %1 - ჩასწორება %1 + %1-ის ჩასწორება @@ -9424,12 +8753,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: არაა დაშვებული: - + Selection not allowed by filter მონიშვნა უარყოფილია ფილტრის მიერ @@ -9437,9 +8766,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection ელემენტების მონიშვნის არეალი @@ -9447,13 +8776,13 @@ the current copy will be lost. StdBoxSelection - + Box selection არეალის მონიშვნა - - + + Activate the box selection tool შემ. ჩარჩოს მონიშვნის ხელსაწყოს აქტივაცია @@ -9531,13 +8860,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross ღერძების ჩვენების ჩართ/გამორთ - - + + Turns on or off the axis cross at the origin საწყისთან ღერძის კვეთის ჩართვა ან გამორთვა @@ -9643,13 +8972,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... გრუნტის ნახვა... - - + + View turntable გრუნტის ნახვა @@ -9769,13 +9098,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style ხაზვის სტილი - - + + Change the draw style of the objects ობიექტების ხაზვის სტილის შეცვლა @@ -9828,7 +9157,7 @@ the current copy will be lost. No selection - მონიშნული არაფერი არაა + მონიშნულის გარეშე @@ -9839,13 +9168,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions მოქმედებები გამოთქმით - - + + Actions that apply to expressions გამოსახულებებზე გადასატარებელი ქმედებები @@ -9882,7 +9211,7 @@ the current copy will be lost. FreeCAD FAQ - FreeCAD-ის ხ.დ.კ. + FreeCAD-ის ხ.დ.კ @@ -9962,13 +9291,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display კამერის მდებარეობა - - + + Freezes the current view position ხედის მიმდინარე პოზიციის გაყინვა @@ -9989,13 +9318,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects ყველა ობიექტის დამალვა - - + + Hide all objects in the document დოკუმენტში ყველა ობიექტის დამალვა @@ -10003,13 +9332,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection მონიშნულის დამალვა - - + + Hide all selected objects ყველა მონიშნული ობიექტის დამალვა @@ -10283,13 +9612,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance მანძილის გაზომვა - - + + Activate the distance measurement tool მანძილის გაზომვის ხელსაწყოს აქტივაცია @@ -10348,8 +9677,8 @@ the current copy will be lost. ახალი ცარიელი პროექტის შექმნა - - + + Unnamed უსახელო @@ -10577,8 +9906,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - უკანასკნელი ფაილები + Open Recent + უკანასკნელის გახსნა @@ -10716,13 +10045,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... სცენის ინსპექტორი... - - + + Scene inspector სცენის ინსპექტორი @@ -10730,13 +10059,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &უკან - - + + Go back to previous selection წინა მონიშნულზე დაბრუნება @@ -10744,13 +10073,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &გაბარიტები - - + + Show selection bounding box მონიშნულის საზღვრების ჩვენება @@ -10758,13 +10087,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &წინ - - + + Repeat the backed selection ფონის შერჩევის გამეორება @@ -10786,13 +10115,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects ხილული ობიექტების მონიშვნა - - + + Select visible objects in the active document აქტიურ დოკუმენტში ყველა ხილული ობიექტის მონიშვნა @@ -10814,13 +10143,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... გარეგნობა... - - + + Sets the display properties of the selected object ადგენს მონიშნული ობიექტის ჩვენების თვისებებს @@ -10828,13 +10157,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects ყველა ობიექტის ჩვენება - - + + Show all objects in the document დოკუმენტში ყველა ობიექტის ჩვენება @@ -10842,13 +10171,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection მონიშნულის ჩვენება - - + + Show all selected objects ყველა მონიშნული ობიექტის ჩვენება @@ -10884,13 +10213,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... ტექსტურების დალაგება... - - + + Texture mapping ტექსტურების დალაგება @@ -10926,13 +10255,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane კვეთის სიბრტყე - - + + Toggles clipping plane for active view აქტიური ხედის სიბრტყის კვეთის ჩართ/გამორთ @@ -10940,13 +10269,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode ნავიგაცია / ჩასწორება - - + + Toggle between navigation and edit mode ნავიგაციისა და ჩასწორების რეჟიმებს შორის გადართვა @@ -10954,13 +10283,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects ყველა ობიექტის ჩართ/გამორთ - - + + Toggles visibility of all objects in the active document აქტიურ დოკუმენტში ყველა ობიექტის ხილვადობის ჩართ/გამორთ @@ -10968,13 +10297,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability მონიშვნადობის ჩართ/გამორთ - - + + Toggles the property of the objects to get selected in the 3D-View ობიექტის თვისების, მონიშვნადი იყოს 3D ხედში, ჩართ/გამორთ @@ -10982,13 +10311,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility ხილვადობის ჩართ/გამორთ - - + + Toggles visibility ხილვადობის ჩართ/გამორთ @@ -11038,13 +10367,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item არჩეული ელემენტის ჩაკეცვა - - + + Collapse currently selected tree items ხის მონიშნული ელემენტების ჩაკეცვა @@ -11052,13 +10381,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item მონიშნული ელემენტის გაშლა - - + + Expand currently selected tree items ხის მონიშნული ელემენტების გაშლა @@ -11066,13 +10395,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances ყველა ნიმუშის მონიშვნა - - + + Select all instances of the current selected object მონიშნული ობიექტის ყველა ასლის მონიშვნა @@ -11080,13 +10409,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions TreeVIew-ის ფუნქციები - - + + TreeView behavior options and actions TreeView-ის ქცევებისა და მოქმედებების მორგება @@ -11150,13 +10479,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom ძირზე - - + + Set to bottom view ქვედა ხედის დაყენება @@ -11164,13 +10493,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view ახალი ხედის შექმნა - - + + Creates a new view window for the active document ქმნისა ქტიური დოკუმენტის ხედის ახალ ფანჯარას @@ -11178,13 +10507,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric დიმეტრიული - - + + Set to dimetric view ტეტრაგონული ხედის დაყენება @@ -11192,13 +10521,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor-ის მაგალითი #1 - - + + Shows a 3D texture with manipulator 3D ტექსტურის მანიპულატორით ჩვენება @@ -11206,13 +10535,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor-ის მაგალითი #2 - - + + Shows spheres and drag-lights სფეროების და გადათრევადი სინათლის წყაროების ჩვენება @@ -11220,13 +10549,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor-ის მაგალითი #3 - - + + Shows a animated texture ანიმირებული ტექსტურის ჩვენება @@ -11234,13 +10563,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all ყველას ჩატევა - - + + Fits the whole content on the screen მთელი შემცველობის ეკრანის ზომებში ჩატევა @@ -11248,13 +10577,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection მონიშნულის ჩატევა - - + + Fits the selected content on the screen მონიშნულის ეკრანის ზომებში ჩატევა @@ -11262,13 +10591,13 @@ the current copy will be lost. StdCmdViewFront - + Front წინ - - + + Set to front view წინა ხედის დაყენება @@ -11276,13 +10605,13 @@ the current copy will be lost. StdCmdViewHome - + Home დასაწყისში - - + + Set to default home view საწყისი ხედის ნაგულისხმევა დაყენება @@ -11290,13 +10619,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric იზომეტრიული - - + + Set to isometric view იზომეტრიულ ხედზე გადართვა @@ -11304,13 +10633,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position კამერის მდებარეობის ჩვენება - - + + Issue the camera position to the console and to a macro, to easily recall this position ამ ადგილის ადვილად მოსაგნებად კამერის პოზიციის კონსოლსა და მაკროსთვის მიწოდება @@ -11318,13 +10647,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns სტერეო მონაცვლეობითი სვეტები - - + + Switch stereo viewing to Interleaved Columns სტერეო ხედიდან მონაცვლეობით სვეტებზე გადართვა @@ -11332,13 +10661,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows სტერეო მონაცვლეობითი მწკრივები - - + + Switch stereo viewing to Interleaved Rows სტერეო ხედიდან მონაცვლეობით მწკრივებზე გადართვა @@ -11346,13 +10675,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off სტერეოს გამორთვა - - + + Switch stereo viewing off სტერეოთვალიერების რეჟიმის გამორთვა @@ -11360,13 +10689,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer სტერეოს ოთხმაგი ბაფერი - - + + Switch stereo viewing to quad buffer სტერეოხედის ოთხმაგ ბაფერზე გადართვა @@ -11374,13 +10703,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan სტერეო წითელი/ცისფერი - - + + Switch stereo viewing to red/cyan სტერეოხედის წითელ/ალისფერზე გადართვა @@ -11388,13 +10717,13 @@ the current copy will be lost. StdCmdViewLeft - + Left მარცხნივ - - + + Set to left view მარცხენა ხედის დაყენება @@ -11402,13 +10731,13 @@ the current copy will be lost. StdCmdViewRear - + Rear უკან - - + + Set to rear view უკანა ხედის დაყენება @@ -11430,13 +10759,13 @@ the current copy will be lost. StdCmdViewRight - + Right მარჯვნივ - - + + Set to right view მარჯვენა ხედის დაყენება @@ -11444,13 +10773,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left მარცხნივ შებრუნება - - + + Rotate the view by 90° counter-clockwise ხედის მობრუნება 90°-ით საათის ისრის საწინააღმდეგო მიმართულებით @@ -11458,13 +10787,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right მარჯვნივ შებრუნება - - + + Rotate the view by 90° clockwise ხედის საათის მიმართულებით 90°-ით შებრუნება @@ -11486,13 +10815,13 @@ the current copy will be lost. StdCmdViewTop - + Top თავზე - - + + Set to top view ზემოდან ხედის დაყენება @@ -11500,13 +10829,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric ტრიმეტრული - - + + Set to trimetric view ტრიმეტრიული ხედის დაყენება @@ -11514,13 +10843,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift FreeCAD-ის 3D ფანჯრის Oculus Rift-მდე გაფართოება @@ -11584,13 +10913,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen - მთლიან ეკრანზე ჩვენების რეჟიმი + მთელ ეკრანზე - - + + Display the main window in fullscreen mode მთავარი ფანჯრის მთელ ეკრანზე ჩვენება @@ -11626,13 +10955,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view მუშა ხედს თავიდან გამოძახება - - + + Recall previously stored temporary working view ადრე შენახული დროებით მუშა ხედის თავიდან გამოძახება @@ -11640,13 +10969,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view მუშა ხედის დამახსოვრება - - + + Store a document-specific temporary working view დოკუმენტის დროებითი მუშა ხედის დამახსოვრება @@ -11654,13 +10983,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand ჩაკეცვა/ამოკეცვა - - + + Expand active document and collapse all others აქტიური დოკუმენტის გაფართოება და ყველა დანარჩენის ჩაკეცვა @@ -11668,12 +10997,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging გადათრევის დასაწყისი - + Initiate dragging of current selected tree items ხის მონიშნული ელემენტების გადათრევის დაწყება @@ -11681,13 +11010,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document შედგენილი დოკუმენტი - - + + Display all documents in the tree view დოკუმენტის ხის ფანჯარაში ყველა დოკუმენტის ჩვენება @@ -11695,12 +11024,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection წინასწარ მონიშნული - + Preselect the object in 3D view when mouse over the tree item 3D ხედში ხის ელემენტზე კურსორის გადატარებისას ობიექტების წინასწარი მონიშვნა @@ -11708,12 +11037,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection მონიშნულის ჩაწერა - + Record selection in tree view in order to go back/forward using navigation button მონიშნულის ხის ხედში ჩაწერა მათზე ნავიგაციის ღილაკებით წინ/უკან გადასასვლელად @@ -11721,13 +11050,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection მონიშნულზე გადასვლა - - + + Scroll to first selected item პირველ მონიშნულ ელემენტზე გადასვლა @@ -11735,13 +11064,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document ერთიანი დოკუმენტი - - + + Only display the active document in the tree view ხის ხედში მხოლოდ აქტიური დოკუმენტის ჩვენება @@ -11749,12 +11078,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement მდებარეობის სინქრონიზაცია - + Auto adjust placement on drag and drop objects across coordinate systems კოორდინატთა სისტემებს შორის ობიექტების გადათრევისას განლაგების ავტომატური რეგულირება @@ -11762,12 +11091,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection მონიშნულის სინქრონიზაცია - + Auto expand tree item when the corresponding object is selected in 3D view ხის ელემენტის ავტომატური გაფართოება, როდესაც შესაბამისი ობიექტი მოინიშნება 3D ხედში @@ -11775,12 +11104,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view სინქრონიზაციის ხედი - + Auto switch to the 3D view containing the selected item მონიშნული ობიექტის 3D ხედზე ავტომატური გადართვა @@ -11788,13 +11117,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom არეალის გაზრდა - - + + Activate the box zoom tool შემ. ჩარჩოს გადიდების ხელსაწყოს აქტივაცია @@ -11802,13 +11131,13 @@ the current copy will be lost. StdViewDock - + Docked დამაგრებული - - + + Display the active view either in fullscreen, in undocked or docked mode აქტიური ხედის მთელ ეკრანზე, მომძვრალ ან მიმაგრებულ რეჟიმში ჩვენება @@ -11816,41 +11145,41 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window დოკუმენტის ფანჯარა - - + + Display the active view either in fullscreen, in undocked or docked mode - აქტიური ხედის მთელ ეკრანზე, მომძვრალ ან მიმაგრებულ რეჟიმში ჩვენება + აქტიური ხედის მთელ ეკრანზე, დოკზე მიმაგრებულ ან დოკიდან მოხსნილ რეჟიმში ჩვენება StdViewFullscreen - + Fullscreen - მთლიან ეკრანზე ჩვენების რეჟიმი + მთელ ეკრანზე - - + + Display the active view either in fullscreen, in undocked or docked mode - აქტიური ხედის მთელ ეკრანზე, მომძვრალ ან მიმაგრებულ რეჟიმში ჩვენება + აქტიური ხედის მთელ ეკრანზე, დოკზე მიმაგრებულ ან დოკიდან მოხსნილ რეჟიმში ჩვენება StdViewScreenShot - + Save image... გამოსახულების შენახვა... - - + + Creates a screenshot of the active view მიმდინარე ხედის სურათად ჩაწერა @@ -11858,13 +11187,13 @@ the current copy will be lost. StdViewUndock - + Undocked დამაგრება მოხსნილია - - + + Display the active view either in fullscreen, in undocked or docked mode აქტიური ხედის მთელ ეკრანზე, მომძვრალ ან მიმაგრებულ რეჟიმში ჩვენება @@ -11872,13 +11201,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In გადიდება - - + + Increase the zoom factor by a fixed amount გადიდების ფაქტორის მითითებული სიდიდით გაზრდა @@ -11886,13 +11215,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out დაპატარავება - - + + Decrease the zoom factor by a fixed amount გადიდების ფაქტორის მითითებული სიდიდით შემცირებ @@ -11927,72 +11256,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is როგორც არის - + Normal mode სტანდარტული რეჟიმი - + Points წერტილები - + Points mode წერტილოვანი რეჟიმი - + Wireframe კარკასი - + Wireframe mode კარკასული რეჟიმი - + Hidden line დამალული ხაზი - + Hidden line mode დამალული ხაზების რეჟიმი - + No shading დაჩრდილვის გარეშე - + No shading mode დაჩრდილვის რეჟიმის გარეშე - + Shaded მხოლოდ წიბოები - + Shaded mode მხოლოდ წიბოების ჩვენება - + Flat lines ბრტყელი ხაზები - + Flat lines mode ბრტყელი ხაზების რეჟიმი @@ -12055,32 +11384,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. ხის ხედის ელემენტის ფონი. ეფექტურია მხოლოდ განლაგებაში. - + Tree view item background padding. ხის ხედის ელემენტის ფონის დაშორება. - + Hide extra tree view column for item description. ელემენტის აღწერისთვის დამატებითი ხის ხედის სვეტის დამალვა. - + Hide tree view scroll bar in dock overlay. მიბმის განლაგებაში ხის ხედის ჩოჩიის ზოლის დამალვა. - + Hide tree view header view in dock overlay. მიბმის განლაგებაში ხის ხედის თავსართის ხედის დამალვა. - + Allow tree view columns to be manually resized. ხის ხედის სვეტების ზომის ხელით შეცვლის დაშვება. @@ -12088,117 +11417,117 @@ Do you still want to proceed? Workbench - + &File &ფაილი - + &Edit &ჩასწორება - + Edit ჩასწორება - + Clipboard ბუფერი - + Workbench სამუშაო მაგიდა - + Structure სტრუქტურა - + Standard views სტანდარტული ხედები - + Axonometric აქსონომეტრიული - + &Stereo &სტერეო - + &Zoom &გადიდება - + Visibility ხილვადობა - + &View &ხედი - + &Tools &ხელსაწყოები - + &Macro &მაკრო - + &Windows &ფანჯრები - + &On-line help &ონლაინ დახმარება - + &Help &დახმარება - + Help დახმარება - + File ფაილი - + Macro მაკრო - + View - ხედი + ნახვა - + Special Ops სპეციალური ოპერაციები - + Link actions ბმული @@ -12206,12 +11535,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF PDF-ად გატანა - + PDF file PDF ფაილი @@ -12219,196 +11548,190 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area შეტყობინებების ადგილი - + Settings გამართვა - + The Notification area will appear in the status bar შეტყობინებების ადგილი სტატუსის სტრიქონში გამოჩნდება - + Enable Notification Area შეტყობინებების ადგილის ჩართვა - + Non-intrusive notifications will appear next to the notification area in the status bar არაშემაწუხებელი გაფრთხილებები გაფრთხილების ადგილის ახლოს გამოჩნდებიან, სტატუსის სტრიქონში - + Enable non-intrusive notifications არა-შემაწუხებელი შეტყობინებების ჩართვა - + Additional data sources დამატებითი მონაცემის წყაროები - + Errors intended for developers will appear in the notification area პროგრამისტებისთვის განკუთვნილი შეცდომები გაფრთხილების ადგილზე გამოჩნდება - + Debug errors გამართვის შეცდომები - + Warnings intended for developers will appear in the notification area პროგრამისტებისთვის განკუთვნილი გაფრთხილებები გაფრთხილების ადგილზე გამოჩნდება - + Debug warnings გამართვის გაფრთხილებები - + Non-Intrusive Notifications არა-შემაწუხებელი შეტყობინებები - + Minimum Duration: მინიმალური ხანგრძლივობა: - + Maximum Duration: მაქსიმალური ხანგრძლივობა: - + Duration during which the notification will be shown (unless mouse buttons are clicked) შეტყობინებების ჩვენების ხანგრძლივობა (თუ თაგუნას არ დააწკაპუნებთ) - - + + s - s + წმ - + Minimum duration during which the notification will be shown (unless notification clicked) შეტყობინებების ჩვენების მინიმალური ხანგრძლივობა (თუ თაგუნას არ დააწკაპუნებთ) - + Maximum Number of Notifications: გაფრთხილებების მაქსიმალური რაოდენობა: - + Maximum number of notifications that will be simultaneously present on the screen ეკრანზე ერთდროულად გამოჩენილი გაფრთხილებების მაქსიმალური რაოდენობა - + Notification width: შეტყობინების სიგანე: - + Width of the notification in pixels შეტყობინების სიგანე პიქსელებში - + Any open non-intrusive notifications will disappear when another window is activated როცა სხვა ფანჯარა გააქტიურდება, ყველა ღია არამოსაბეზრებელი შეტყობინება გაქრება - + Hide when other window is activated დამალვა, როცა სხვა ფანჯარა აქტიურია - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window არა-მოსაბეზრებელი შეტყობინებები არ გამოჩნდება, როცა FreeCAD-ის ფანჯარა აქტიური არაა - + Do not show when inactive ნუ აჩვენებ, როცა არააქტიურია - + Message List შეტყობინებების სია - + Limit the number of messages that will be kept in the list. If 0 there is no limit. სიაში შენარჩუნებული შეტყობინებების რაოდენობა. თუ უდრის 0-ს, ზღვარი არ არსებობს. - + Maximum Messages (0 = no limit): შეტყობინებების მაქსიმალური რაოდენობა (0 = შეზღუდვის გარეშე): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. წაშლის მომხმარებლის გაფრთხილებას შეტყობინებების სიიდან მას შემდეგ, რაც არა-მოსაბეზრებელი მაქსიმალური ხანგრძლივობა გავა. - + Auto-remove User Notifications მომხმარებლის გაფრთხილებების ავტომატური წაშლა - - - Activation of the Notification Area only takes effect after an application restart. - გაფრთხილებების ადგილის ჩართვას აპლიკაციის გადატვირთვა სჭირდება. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches ხელმისაწვდომი სამუშაო მაგიდები - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>სამუშაო მაგიდების გადალაგება მათი გადათრევით შეგიძლიათ. დამატებითი სამუშაო მაგიდები დამატებების მმართველით შეგიძლიათ დააყენოთ.</p><p> ამჟამად თქვენს სისტემას გააჩნია შემდეგ სამუშაო მაგიდები:</p></body></html> - + Start up workbench: სამუშაო მაგიდის გაშვება: - + Choose which workbench will be activated and shown after FreeCAD launches აირჩიეთ რომელი სამუშაო მაგიდები გააქტიურდება და იქნება ნაჩვენები FreeCAD-ის გაშვების შემდეგ - + Workbench selector position : სამუშაო მაგიდის ამრჩევის მდებარეობა : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12421,12 +11744,12 @@ FreeCAD-ის გაშვების შემდეგ 'მარჯვენა კუთხე': მენიუზ ზოლში, მარჯვენა კუთხეში. - + If checked, application will remember which workbench is active for each tab of the viewport თუ ჩართულია, აპლიკაცია დაიმახსოვრებს, რომელი სამუშაო მაგიდაა აქტიური ხედის პორტის თითოეული ჩანართისთვის - + Remember active workbench by tab აქტიური სამუშაო მაგიდების დამახსოვრება ყველა ჩანართზე @@ -12436,7 +11759,7 @@ FreeCAD-ის გაშვების შემდეგ Choose orientation - Choose orientation + აირჩიეთ ორიენტაცია @@ -12446,17 +11769,17 @@ FreeCAD-ის გაშვების შემდეგ XY-Plane - XY-Plane + XY-სიბრტყე XZ-Plane - XZ-Plane + XZ-სიბრტყე YZ-Plane - YZ-Plane + YZ-სიბრტყე @@ -12466,7 +11789,7 @@ FreeCAD-ის გაშვების შემდეგ Offset: - Offset: + წანაცვლება: @@ -12564,7 +11887,7 @@ FreeCAD-ის გაშვების შემდეგ Apply - დადება + გადატარება @@ -12575,47 +11898,47 @@ FreeCAD-ის გაშვების შემდეგ Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. თუ გამორთულია, %1 ხელმისაწვდომი სამუშაო მაგიდების სიაში არ გამოჩნდება. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. ეს არის მიმდინარე გაშვების მოდული და ჩართული უნდა იყოს. შესაცვლელად იხილეთ პარამეტრები/ზოგადი/ავტომატური ჩატვირთვა. - + Shortcut to activate this workbench. ამ სამუშაო მაგიდის გასააქტიურებელი მალსახმობი. - + Auto-load ავტომატური ჩატვირთვა - + If checked, %1 will be loaded automatically when FreeCAD starts up თუ ჩართულია %1 ავტომატურად, FreeCAD-ის გაშვებისას ჩაიტვირთება - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. ეს არის მიმდინარე გაშვების მოდული და უნდა იყოს ავტომატური ჩატვირთული. შესაცვლელად იხილეთ პარამეტრები/ზოგადი/ავტომატური ჩატვირთვა. - + Loaded ჩატვირთულია - + Load ჩატვირთვა - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. რესურსების შესანარჩუნებლად, FreeCAD არ ტვირთავს სამუშაო მაგიდებს, სანამ ისინი არ გამოიყენება. მათი ჩატვირთვამ შეიძლება უზრუნველყოს წვდომა დამატებით პარამეტრებზე, რომლებიც დაკავშირებულია მათ ფუნქციონირებასთან. @@ -12623,17 +11946,22 @@ FreeCAD-ის გაშვების შემდეგ Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar ხელსაწყოთა ზოლი - + Left corner მარცხენა კუთხე - + Right corner მარჯვენა კუთხე @@ -12659,12 +11987,12 @@ FreeCAD-ის გაშვების შემდეგ Gui::NotificationArea - + Delete user notifications მომხმარებლის შეტყობინებების წაშლა - + Delete All ყველას წაშლა @@ -12700,13 +12028,13 @@ FreeCAD-ის გაშვების შემდეგ StdViewLoadImage - + Load image... გამოსახულების ჩატვირთვა... - - + + Loads an image ტვირთავს გამოსახულებას @@ -12768,10 +12096,810 @@ FreeCAD-ის გაშვების შემდეგ Gui::ExpLineEdit - - + + An error occurred -- see Report View for information დაფიქსირდა შეცდომა - ინფორმაციისთვის იხილეთ ანგარიშის ხედი + + Gui::Dialog::DlgSettingsEditor + + + Editor + რედაქტორი + + + + Options + პარამეტრები + + + + Code lines will be numbered + კოდის ხაზები დაინომრება + + + + Enable line numbers + ხაზის ნომრების ჩვენება + + + + The cursor shape will be a block + კურსორს ბლოკის ფორმა ექნება + + + + Enable block cursor + კურსორის დაბლოკვის ჩართვა + + + + Enable folding + დაკეცვის ჩართვა + + + + Indentation + შეწევა + + + + Tab size: + ჩანართის ზომა: + + + + Tabulator raster (how many spaces) + 1 ტაბში ჰარეების რაოდენობა(რამდენი პრაბელი) + + + + Indent size: + შეწევის ზომა: + + + + How many spaces will be inserted when pressing <Tab> + <Tab>-ის დაჭერისას ჩასმული ჰარეების რაოდენობა + + + + Pressing <Tab> will insert a tabulator with defined tab size + <Tab>-ზე დაჭერა გამოიწვევს წინასწარ გაწერილი რაოდენობის ჰარეების ჩასმას + + + + Keep tabs + ჩანართევის დატოვება + + + + Pressing <Tab> will insert amount of defined indent size + <Tab>-ის დაჭერით შეიტანილი შეწევის ზომა + + + + Insert spaces + ჰარეების ჩასმა + + + + Display items + ელემენტების ჩვენება + + + + Color and font settings will be applied to selected type + მონიშნულ ტიპზე გადასატარებელი ფერისა და ფონტის პარამეტრები + + + + Family: + ოჯახი: + + + + Font family to be used for selected code type + მონიშნული ტიპის კოდის ტექსტის ფონტის ოჯახი + + + + Size: + ზომა: + + + + Font size to be used for selected code type + მონიშნული ტიპის კოდის ტექსტის ფონტის ზომა + + + + Color: + ფერი: + + + + Preview: + მინიატურა: + + + + Text + ტექსტი + + + + Bookmark + სანიშნი + + + + Breakpoint + შეჩერების წერტილი + + + + Keyword + საკვანძო სიტყვა + + + + Comment + კომენტარი + + + + Block comment + კომენტარების დაბლოკვა + + + + Number + რიცხვი + + + + String + პწკარი + + + + Character + ასო + + + + Class name + კლასის სახელი + + + + Define name + სახელის მინიჭება + + + + Operator + ოპერატორი + + + + Python output + Python-ის პასუხები + + + + Python error + Python-ის შეცდომა + + + + Current line highlight + მიმდინარე ხაზის ამოწევა + + + + Items + ელემენტები + + + + Gui::Dialog::DlgSettingsGeneral + + + General + ზოგადი + + + + Language and number format + ენის და რიცხვის ფორმატი + + + + Language: + ენა: + + + + Language of the application's user interface + აპლიკაციის ინტერფეისის ენა + + + + Unit system: + საზომი ერთეულები: + + + + Unit system that should be used for all parts of the application + საზომი ერთეულები, რომელიც უნდა იყოს გამოყენებული აპლიკაციის ყველა ნაწილისთვის + + + + Number of decimals: + ათეულების რიცხვი: + + + + Number of decimals that should be shown for numbers and dimensions + ზომებისა და რიცხვების ნაჩვენები ათეულების სიზუსტე + + + + Minimum fractional inch: + დუიმის მინიმალური ნაწილი: + + + + Minimum fractional inch to be displayed + დუიმის მინიმალური ჩვენებად ნაწილი + + + + Number format: + რიცხვის ფორმატი: + + + + Operating system + ოპერაციული სისტემა + + + + Selected language + არჩეული ენა + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + თუ ჩართულია, რიცხვითი კლავიატურის წილადის გამყოფი +ენის შესაბამისი გამყოფით შეიცვლება, Python-ის +კონსოლის და მაკროების რედაქტორის გარდა, +სადაც წერტილი/მძიმე ყოველთვის გამოჩნდება. + + + + Substitute decimal separator + წილადის გამყოფის შეცვლა + + + + Application + აპლიკაცია + + + + Theme: + თემა: + + + + Customize how user interface will look like + მოირგეთ, როგორ უნდა გამოიყურებოდეს მომხმარებლის ინტერფეისი + + + + Size of toolbar icons: + ხელსაწყოთა ზოლის ხატულების ზომა: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + აირჩიეთ თქვენზე მორგებული ხელსაწყოების ზოლის ხატულების ზომა. +შეგიძლიათ აირჩიოთ თქვენი ეკრანზე მორგებული ან პირადი გემოვნებით + + + + Tree view mode: + ხის ფორმით ჩვენების რეჟიმი: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + მოირგეთ, თუ როგორ გამოჩნდება ხის ხედი პანელზე (საჭიროა გადატვირთვა). + +„ComboView“: გააერთიანეთ ხის ხედი და თვისების ხედი ერთ პანელში. +„TreeView და PropertyView“: ხის ხედის და თვისების ხედის გაყოფა ცალ-ცალკე პანელებზე. +„ორივე“: შეინახეთ სამივე პანელი და შეგიძლიათ გქონდეთ ხეების ხედის ორი ნაკრები და თვისების ხედი. + + + + Size of recent file list: + უკანასკნელად გახსნილი ფაილების სიის ზომა: + + + + How many files should be listed in recent files list + რამდენი ფაილი უნდა იყოს „უკანასკნელი ფაილები“-ის სიაში + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + მთავარი ფანჯრის ფონი (როცა დოკუმენტები გახსნილი არაა) სპეციალური გამოსახულების ფილებისგან შედგება. +სურათის შესახებ დეტალებისთვის იხილეთ FreeCAD Wiki. + + + + Enable tiled background + კუბოკრული ფონის ჩართვა + + + + The text cursor will be blinking + ტექსტური კურსორი იციმციმებს + + + + Enable cursor blinking + კურსორის ციმციმის ჩართვა + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Splash ეკრანი არის პატარა ჩატვირთვის ფანჯარა, რომელიც ნაჩვენებია FreeCAD-ის გაშვებისას. თუ ეს პარამეტრი ჩართულია, FreeCAD გამოაჩენს Splash ეკრანს + + + + Enable splash screen at start up + გაშვებისას სტატუსის ჩვენება + + + + Preference packs + პარამეტრების პაკეტები + + + + Name + სახელი + + + + Type + ტიპი + + + + Load + ჩატვირთვა + + + + Import config... + კონფიგურაციის შემოტანა... + + + + Save new... + ახლის შენახვა... + + + + Manage... + მართვა... + + + + Revert... + დაბრუნება... + + + + Manage preference packs + პარამეტრების ნაკრებების მართვა + + + + Small (%1px) + პატარა (%1px) + + + + Medium (%1px) + საშუალო(%1px) + + + + Large (%1px) + დიდი(%1px) + + + + Extra large (%1px) + ძალიან დიდი(%1px) + + + + Custom (%1px) + მომხმარებლის(%1px) + + + + Combo View + კომბო ხედი + + + + TreeView and PropertyView + TreeView და PropertyView + + + + Both + ორივე + + + + Preference Pack Name + პარამეტრების პაკეტის სახელი + + + + Tags + ჭდეები + + + + Apply + დადება + + + + Apply the %1 preference pack + პარამეტრების ნაკრების გადატარება: %1 + + + + Choose a FreeCAD config file to import + აირჩიეთ შემოსატანი FreeCAD-ის კონფიგურაციის ფაილი + + + + File exists + ფაილი არსებობს + + + + A preference pack with that name already exists. Overwrite? + პარამეტრების ნაკრები ამ სახელით უკვე არსებობს. გნებავთ, თავზე გადააწეროთ? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + ანგარიში + + + + Output + გამოტანა + + + + Normal messages will be recorded + ნორმალური შეტყობინებები ასევე ჩაიწერება ჟურნალში + + + + Record normal messages + ნორმალური შეტყობინებების ჩაწერა + + + + Log messages will be recorded + შეტყობიბენენის ჩაიწერება ჟურნალში + + + + Record log messages + საინფორმაციო შეტყობინებების ჩაწერა + + + + Warnings will be recorded + გაფრთხილებები ჩაიწერება + + + + Record warnings + გაფრთხილებების ჩაწერა + + + + Error messages will be recorded + შეცდომები ჩაიწერება + + + + Record error messages + ჟურნალში შეცდომის შეტყობინებების ჩაწერა + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + როცა მიღებული იქნება ჟურნალში ჩასაწერი შეცდომა, ეკრანზე ნაჩვენები იქნება შეცდომის შემცველი ანგარიშის ფანჯარა + + + + Show report view on error + შეცდომის ანგარიშის ხედის ჩვენება + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + როცა მიღებული იქნება ჟურნალში ჩასაწერი გაფრთხილება, ეკრანზე ნაჩვენები იქნება შეტყობინების შემცველი ანგარიშის ფანჯარა + + + + Show report view on warning + გაფრთხილების ანგარიშის ხედის ჩვენება + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + როცა მიღებული იქნება ჟურნალში ჩასაწერი ნორმალური შეტყობინება, ეკრანზე ნაჩვენები იქნება შეტყობინების შემცველი ანგარიშის ფანჯარა + + + + Show report view on normal message + ჟურნალში ჩვეულებრივი შეტყობინებების გამოჩენისას ანგარიშის ხედის ჩვენება + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + როცა მიღებული იქნება ჟურნალში ჩასაწერი შეტყობინება, ეკრანზე ნაჩვენები იქნება ამ შეტყობინების შემცველი ანგარიშის ფანჯარა + + + + Show report view on log message + ჟურნალის შეტყობინების გამოჩენისას ანგარიშის ხედის ჩვენება + + + + Include a timecode for each report + ჟურნალში ანგარიშებისთვის დროის მიწერა + + + + Include a timecode for each entry + ჟურნალში ელემენტებისთვის დროის მიწერა + + + + Colors + ფერით მონიშვნა + + + + Normal messages: + ნორმალური შეტყობინებები: + + + + Font color for normal messages in Report view panel + ანგარიშის ნახვის პანელის ნორმალური ელემენტების ფონტის ფერი + + + + Log messages: + ჟურნალის შეტყობინებები: + + + + Font color for log messages in Report view panel + ანგარიშის ნახვის პანელის ჟურნალის ელემენტების ფონტის ფერი + + + + Warnings: + გაფრთხილებები: + + + + Font color for warning messages in Report view panel + ანგარიშის ნახვის პანელის გაფრთხილების ელემენტების ფონტის ფერი + + + + Errors: + შეცდომები: + + + + Font color for error messages in Report view panel + ანგარიშის ნახვის პანელის შეცდომის ელემენტების ფონტის ფერი + + + + Python interpreter + Python-ის ინტერპრეტატორი + + + + Internal Python output will be redirected +from Python console to Report view panel + შიდა Python-ის გამოტანა გადამისამართებული +იქნება Python-ს კონსოლიდან ანგარიშის ნახვის პანელზე + + + + Redirect internal Python output to report view + Python-ის შიდა გამომავლების ანგარიშის ხედში ჩვენება + + + + Internal Python error messages will be redirected +from Python console to Report view panel + შიდა Python-ის შეცდომები გადამისამართებული +იქნება Python-ს კონსოლიდან ანგარიშის ნახვის პანელზე + + + + Redirect internal Python errors to report view + Python-ის შიდა შეცდომების ანგარიშის ხედში ჩვენება + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + თემა + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + ეს გვერდი თქვენი მიმდინარე თემის მორგების საშუალებას გაძლევთ. შეთავაზებული პარამეტრები არასავალდებულია თემის პროგრამისტებისთვის, ასე რომ, მათ თქვენს მიმდინარე თემაზე ეფექტი ან ექნება, ან არა. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + ეს ფერი შეიძლება გამოიყენებოდეს თქვენ თემის მიერ, რათა მისი შეცვლის უფლება მოგცეთ. + + + + No style sheet + განსაკუთრებული სტილის გარეშე + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_ko.ts b/src/Gui/Language/FreeCAD_ko.ts index 2b1c2764c4..fe15d5d711 100644 --- a/src/Gui/Language/FreeCAD_ko.ts +++ b/src/Gui/Language/FreeCAD_ko.ts @@ -43,31 +43,31 @@ 기능의 시각적 크기(보이는 형태의 크기) - + <empty> <비어 있음> - - + + Angle - - + + Axis - + Position Position - + Enum - Enum + 열거형(Enum) @@ -78,13 +78,13 @@ CmdTestConsoleOutput - + Test console output 테스트 콘솔 출력 - - + + Run test cases to verify console messages 시험삼아 콘솔 메시지를 확인해보기 위해 테스용 샘플을 실행 해 보세요 @@ -92,12 +92,12 @@ CmdViewMeasureClearAll - + Clear measurement 명확한 측정 - + Clear all visible measurements 보이는 모든 측정값 지우기 @@ -105,12 +105,12 @@ CmdViewMeasureToggleAll - + Toggle measurement 측정 전환하기 - + Turn on or off the display of all measurements 모든 측정값 표시 켜기 또는 끄기 @@ -133,7 +133,7 @@ 삭제 - + Paste expressions 식 복사하기 @@ -183,7 +183,7 @@ 그룹 추가하기 - + Align Align @@ -194,40 +194,40 @@ 위치 설정 - - + + Transform 변환하기 - + Toggle array elements 배열 요소 전환하기 - + Link Transform 링크 변환하기 - + Measure distance 거리 측정 - + Toggle visibility 가시성 전환하기 - + Toggle selectability 선택 가능성 전환하기 - + Edit image 이미지 편집 @@ -235,77 +235,77 @@ CommandGroup - + File 파일 - + Edit 편집 - + Help 도움말 - + Link 링크 - + Tools 도구 - + View 보기 - + Window 작업창 - + Standard 표준 - + Macros 매크로 - + Macro 매크로 - + Structure 구조 - + Standard-Test 표준 테스트 - + Standard-View 표준 보기 - + TreeView 트리보기 - + Measure 측정하기 @@ -403,11 +403,6 @@ DownloadItem - - - Form - 양식 - Ico @@ -422,42 +417,42 @@ EditMode - + Default 기본값 - + The object will be edited using the mode defined internally to be the most appropriate for the object type 객체 유형에 가장 적합하도록 내부적으로 정의된 모드를 사용하여 객체를 편집합니다. - + Transform 변환하기 - + The object will have its placement editable with the Std TransformManip command - The object will have its placement editable with the Std TransformManip command + 대상물이 변위 명령을 입력할 수 있는 상태로 될 것 입니다 - + Cutting 절단 - + This edit mode is implemented as available but currently does not seem to be used by any object - This edit mode is implemented as available but currently does not seem to be used by any object + 현 편집 모드는 사용할 수 있는 기능이고, 현재 사용중인 대상물이 없는 것으로 보입니다 - + Color 색상 - + The object will have the color of its individual faces editable with the Part FaceColors command 객체는 Part FaceColors 명령으로 개별 면의 색상을 편집할 수 있습니다. @@ -483,7 +478,7 @@ 없음 - + Press a keyboard shortcut 키보드 단축키를 입력하십시오 @@ -491,32 +486,32 @@ Gui::ActionSelector - + Available: 사용가능 - + Selected: 선택: - + Add 추가하기 - + Remove 제거 - + Move up 위로 이동 - + Move down 아래로 이동 @@ -524,12 +519,12 @@ Gui::AlignmentView - + Movable object 이동 가능한 객체 - + Fixed object 고정된 객체 @@ -560,7 +555,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... 자동 복구 파일이 저장될 때까지 기다려주십시오... @@ -568,22 +563,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button 마우스 왼쪽 버튼 누르기 - + Press SHIFT and middle mouse button SHIFT키와 마우스 가운데 버튼 누르기 - + Press middle mouse button 가운데 마우스 버튼 누르기 - + Scroll middle mouse button 가운데 마우스 버튼 스크롤 @@ -591,22 +586,22 @@ Gui::CADNavigationStyle - + Press left mouse button 마우스 왼쪽 버튼 누르기 - + Press middle mouse button 가운데 마우스 버튼 누르기 - + Press middle+left or middle+right button 중간+왼쪽 또는 중간+오른쪽 버튼을 누르기 - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down 마우스 가운데 버튼을 스크롤하거나 가운데 버튼을 누른 상태에서 @@ -616,12 +611,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK 확인(&O) - + &Cancel 취소하기(&C) @@ -629,7 +624,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel 작업 패널 @@ -713,47 +708,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen 제작진 - + FreeCAD would not be possible without the contributions of 프리캐드는 도움이 없다면 불가능 할 것이다. - + Individuals Header for the list of individual people in the Credits list. 개인 개발자 - + Organizations Header for the list of companies/organizations in the Credits list. 단체 - - + + License 라이선스 - + Libraries 라이브러리 - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: 이 소프트웨어는 오픈 소스 컴포넌트를 사용하며, 각 컴포넌트의 저작권과 기타 톡점점 권리는 해당 권리자에게 귀속됩니다. - + Collection 컬렉션 @@ -761,22 +756,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory 캐시 디렉터리 - + The cache directory %1 exceeds the size of %2. %1 캐시 디렉터리가 %2의 크기를 초과합니다. - + Do you want to clear it now? 지금 비우시겠습니까? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! 경고: 이 인스턴스가 유일하게 실행중인 %1 인스턴스이고 데이터 손실이 발생할 수 있으므로 문서가 열리지 않았는지 확인하십시오. @@ -797,37 +792,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings 카메라 설정 - + Orientation Orientation - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view 현재 보기 @@ -893,7 +888,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands 명령 @@ -1118,12 +1113,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists 팩이 이미 존재합니다 - + A preference pack with that name already exists. Do you want to overwrite it? 해당 이름의 환경설정 팩이 이미 있습니다. 덮어쓰시겠습니까? @@ -1361,48 +1356,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... 검색할 유형... - + Icon 아이콘 - + Command 명령 - + Shortcut 단축키 - + Default 기본값 - + Name 이름 - + Title 제목 - + All 전체 - - + + none 없음 @@ -1410,8 +1405,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars 도구 상자 표시줄 @@ -1500,40 +1495,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <구분자> - + %1 module not loaded %1 모듈을 불려오지 못했습니다. - + New toolbar 새 도구 모음 - - + + Toolbar name: 도구 모음 이름: - - + + Duplicated name 복제된 이름 - - + + The toolbar name '%1' is already used 도구 모음의 이름 '% 1'은 이미 사용되고 있습니다. - + Rename toolbar 도구 모음 이름 바꾸기 @@ -1546,19 +1541,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize 사용자 정의하기 - + &Help 도움말(&H) - + &Close 닫기(&C) @@ -1567,13 +1562,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion SpaceNavigator 동작 - + No Spaceball Present 스페이스 볼이 존재하지 않습니다 @@ -1581,27 +1576,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Spaceball 버튼 - + No Spaceball Present 스페이스 볼이 존재하지 않습니다 - + Buttons 버튼 - + Reset 재설정 - + Print Reference 참조 인쇄하기 @@ -1686,547 +1681,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default 기본값 - + Aluminium 알루미늄 - + Brass 황동 - + Bronze 청동 - + Copper 구리 - + Chrome 크롬 - + Emerald 에메랄드 - + Gold - + Jade - + Metalized 금속화 - + Neon GNC 네온 GNC - + Neon PHC 네온 PHC - + Obsidian 흑요석 - + Pewter 퓨터 - + Plaster 석고 - + Plastic 플라스틱 - + Ruby 루비 - + Satin 새틴 - + Shiny plastic 광택 플라스틱 - + Silver - + Steel 스틸 - + Stone Gui::Dialog::DlgEditorSettings - - - Editor - 편집기 - - - - Options - 옵션 - - - - Code lines will be numbered - 코드 라인에 번호가 매겨집니다 - - - - Enable line numbers - 줄 번호를 활성화 - - - - The cursor shape will be a block - 커서가 곧 잠금됩니다. - - - - Enable block cursor - 커서 잠금 할성화 - - - - Enable folding - 폴딩 가능 - - - - Indentation - 들여쓰기 - - - - Tab size: - 탭 크기: - - - - Tabulator raster (how many spaces) - Tabulator 래스터(공백 수) - - - - Indent size: - 들여쓰기 : - - - - How many spaces will be inserted when pressing <Tab> - <Tab>이 입력 되었을때 얼만큼의 공간이 삽입 될 것인가 - - - - Pressing <Tab> will insert a tabulator with defined tab size - <Tab>을 누르면 정의된 탭 크기의 표가 삽입됩니다 - - - - Keep tabs - 탭 유지 - - - - Pressing <Tab> will insert amount of defined indent size - <Tab>을 누르면 정의된 들여쓰기 크기가 삽입됩니다. - - - - Insert spaces - 공백 삽입 - - - - Display items - 항목 보이기 - - - - Color and font settings will be applied to selected type - 선택한 유형에 색상 및 글꼴 설정이 적용됩니다 - - - - Family: - 가족: - - - - Font family to be used for selected code type - 선택한 코드 유형에 사용할 글꼴 집합 - - - - Size: - 크기: - - - - Font size to be used for selected code type - 선택한 코드 유형에 사용할 글꼴 크기 - - - - Color: - Color: - - - - Preview: - 미리보기: - - - Gui::Dialog::DlgGeneral - - - General - 일반 - - - - Language of the application's user interface - 응용 프로그램의 사용자 인터페이스 언어 - - - - Number format: - 숫자 형식: - - - - Operating system - 운영 체제 - - - - Selected language - 선택된 언어 - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - 활성화된 경우 숫자 키패드 10진수 구분 기호가 항상 점/주기가 인쇄되는 Python 콘솔 및 매크로 편집기를 제외하고 로케일 구분 기호로 대체됩니다. - - - - Preference packs - 환경설정 팩 - - - - Name - 이름 - - - - Type - 유형 - - - - Load - 불러오기 - - - - Import config... - 구성 가져오기... - - - - Save new... - 새로 저장하기... - - - - Manage... - 관리... - - - - Revert... - 되돌리기... - - - - How many files should be listed in recent files list - 최근 파일 목록에 나열되어야 하는 파일 수 - - - - Enable tiled background - 타일식 배경 사용 - - - - The text cursor will be blinking - 텍스트 커서가 깜박입니다 - - - - Enable cursor blinking - 커서 깜박임 활성화하기 - - - - Style sheet: - 스타일 시트 - - - - Language and number format - 언어 및 숫자 형식 - - - - Language: - 언어: - - - - Unit system: - 단위 체계 - - - - Unit system that should be used for all parts of the application - 응용프로그램의 모든 부분에 사용해야 하는 단위 시스템 - - - - Number of decimals: - 소수점 자릿수 - - - - Number of decimals that should be shown for numbers and dimensions - 숫자 및 치수에 대해 표시되어야 하는 소수점 자릿수 - - - - Minimum fractional inch: - 최소 분수 인치: - - - - Minimum fractional inch to be displayed - 화면표시할 최소 분수 인치 - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - 응용 프로그램 - - - - Style sheet how user interface will look like - 스타일 시트 사용자 인터페이스의 모양 - - - - Size of toolbar icons: - 도구 모음 아이콘 크기 - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - 도구 모음 아이콘 크기에 대한 환경설정을 선택합니다. -화면 크기나 개인 취향에 따라 조정할 수 있습니다. - - - - Tree view mode: - 트리 뷰 모드: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - 패널에 트리 보기가 표시되는 방식을 사용자 지정합니다(다시 시작해야 함). - -'콤보보기': 트리 보기와 속성 보기를 하나의 패널로 결합합니다. -'트리보기 및 속성보기': 트리 보기와 속성 보기를 별도의 패널로 분할합니다. -'둘 다': 세 개의 패널을 모두 유지하면 두 세트의 트리 보기와 속성 보기를 가질 수 있습니다. - - - - Size of recent file list: - 최근 파일 목록의 크기: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - 기본 창의 배경(문서가 열려 있지 않은 경우) 은 특수 이미지의 타일로 구성됩니다. -이미지에 대한 자세한 내용은 FreeCAD 위키를 참조하세요. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - 시작 화면은 FreeCAD가 시작될 때 표시되는 작은 로딩 창입니다. -이 옵션을 선택하면, FreeCAD가 시작 화면을 표시합니다. - - - - Enable splash screen at start up - 시작시 스플래시 화면을 사용 - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - 환경설정 팩 관리하기 - - - - Small (%1px) - 작게(%1px) - - - - Medium (%1px) - 중간(%1px) - - - - Large (%1px) - 크게(%1px) - - - - Extra large (%1px) - 아주크게(%1px) - - - - Custom (%1px) - 커스텀(%1px) - - - - Combo View - 콤보 보기 - - - - TreeView and PropertyView - 트리보기 및 속성보기 - - - - Both - 둘다 - - - - No style sheet - 스타일 시트 없음 - - - - Preference Pack Name - 환경설정 팩 이름 - - - - Tags - 태그 - - - - Apply - 적용 - - - - Apply the %1 preference pack - %1 환경설정 팩 적용하기 - - - - Choose a FreeCAD config file to import - 가져올 FreeCAD 구성 파일 고르기 - - - - File exists - 파일이 존재합니다 - - - - A preference pack with that name already exists. Overwrite? - 해당 이름의 환경설정 팩이 이미 있습니다. 덮어쓰시겠습니까? - - Gui::Dialog::DlgInputDialog @@ -2242,8 +1813,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector 장면 검사기 @@ -2335,70 +1906,70 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros 매크로 - + Read-only 읽기 전용 - + Macro file 매크로 파일 - + Enter a file name, please: 파일 이름을 입력하세요: - - - + + + Existing file 존재하는 파일 - + '%1'. This file already exists. '%1 '입니다. 파일이 이미 존재함. - + Cannot create file 파일을 만들 수 없습니다. - + Creation of file '%1' failed. 파일 '%1'을 생성하지 못했습니다. - + Delete macro 매크로 삭제 - + Do you really want to delete the macro '%1'? '%1' 매크로를 삭제하시겠습니까? - + Do not show again 다시 표시 안함 - + Guided Walkthrough 가이드된 워크스루 - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2408,78 +1979,78 @@ Note: your changes will be applied when you next switch workbenches 참고: 다음에 워크벤치를 전환할 때 변경사항이 적용됩니다. - + Walkthrough, dialog 1 of 2 워크스루, 대화상자 1/2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close 워크스루 지침: 누락된 필드를 채우고(옵션) 추가를 클릭한 다음 닫기를 클릭합니다 - + Walkthrough, dialog 1 of 1 워크스루, 대화상자 1/1 - + Walkthrough, dialog 2 of 2 워크스루, 대화상자 2/2 - + Walkthrough instructions: Click right arrow button (->), then Close. 워크스루 지침: 새로 만들기를 클릭한 다음, 오른쪽 화살표(->) 버튼을 클릭하고 닫기를 클릭합니다. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. 워크스루 지침: 새로 만들기를 클릭한 다음, 오른쪽 화살표(->) 버튼을 클릭하고 닫기를 클릭합니다. - + Renaming Macro File 매크로 파일 이름 바꾸기 - - + + Enter new name: 새 이름 입력하기: - - + + '%1' already exists. '%1' 이미 존재합니다. - + Rename Failed 이름 바꾸기 실패함 - + Failed to rename to '%1'. Perhaps a file permission error? '%1'(으)로 이름을 바꾸지 못했습니다. 어쩌면 파일권한 오류일까요? - + Duplicate Macro 매크로 복제하기 - + Duplicate Failed 복제 실패함 - + Failed to duplicate to '%1'. Perhaps a file permission error? '%1'(으)로 복제하지 못했습니다. @@ -2522,39 +2093,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder 매크로 기록 - + Specify first a place to save. 먼저 저장할 위치를 지정합니다. - + The macro directory doesn't exist. Please, choose another one. 매크로 디렉터리 존재하지 않습니다. 다른 위치를 선택하십시오. - + Existing macro 존재하는 매크로 - + The macro '%1' already exists. Do you want to overwrite? '%1' 매크로가 이미 존재합니다. 덮어 쓰겠습니까? - + You have no write permission for the directory. Please, choose another one. 디렉토리에 대한 쓰기 권한이 없습니다. 다른 폴더를 선택하십시오. - + Choose macro directory 매크로 디렉터리 선택 @@ -2627,12 +2198,12 @@ Perhaps a file permission error? HTML 파일 - + Access denied 액세스할 수 없습니다. - + Access denied to '%1' Specify another directory, please. @@ -2886,17 +2457,17 @@ Specify another directory, please. You must restart FreeCAD for changes to take effect. - You must restart FreeCAD for changes to take effect. + FreeCAD를 재시작 해야 변경사항이 적용됩니다 Restart now - Restart now + 지금 재시작 Restart later - Restart later + 재시작은 나중에 @@ -3031,36 +2602,36 @@ Specify another directory, please. 프로젝트 파일 - - + + Empty source 빈 소스 - - + + No source is defined. 소스 없음이 정의되었습니다. - - + + Empty destination 빈 대상 - - + + No destination is defined. 대상 없음이 정의되었습니다. - + Failed to extract project 프로젝트 추출 실패 - + Failed to create project 프로젝트 생성에 실패하였습니다. @@ -3110,185 +2681,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - 보고서 보기 - - - - Output - 출력 - - - - Normal messages will be recorded - 정상적인 메시지가 기록됩니다 - - - - Record normal messages - 정상적인 메시지 기록하기 - - - - Log messages will be recorded - 로그 메시지가 기록됩니다 - - - - Record log messages - 로그 메시지를 기록 - - - - Warnings will be recorded - 경고가 곧 기록됩니다 - - - - Record warnings - 경고를 기록 - - - - Error messages will be recorded - 오류 메시지가 기록됩니다 - - - - Record error messages - 에러 메시지를 기록 - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - 오류가 발생하면 오류를 표시하는 동안 보고서 보기 대화 상자가 화면에 표시됩니다. - - - - Show report view on error - 오류 시 보고서 보기 표시하기 - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - 경고가 발생하면 경고를 표시하는 동안 보고서 보기 대화 상자가 화면에 표시됩니다. - - - - Show report view on warning - 경고 시 보고서 보기 표시하기 - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - 정상적인 메시지가 발생하면, 메시지를 표시하는 동안 보고서 보기 대화상자가 -화면에 표시됩니다 - - - - Show report view on normal message - 정상 메시지에 보고서 보기 표시하기 - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - 로그 메시지가 발생하면 로그 메시지를 표시하는 동안 보고서 보기 대화 상자가 화면에 표시됩니다. - - - - Show report view on log message - 로그 메시지에 보고서 보기 표시하기 - - - - Include a timecode for each report - 각 보고서에 대한 시간 코드 포함하기 - - - - Include a timecode for each entry - 각 항목에 대한 시간 코드 포함하기 - - - - Colors - 색상 - - - - Normal messages: - 일반 메시지: - - - - Font color for normal messages in Report view panel - 보고서 보기 패널의 정상적인 메시지 글꼴 색상 - - - - Log messages: - 로그 메시지: - - - - Font color for log messages in Report view panel - 보고서 보기 패널의 로그 메시지 글꼴 색상 - - - - Warnings: - 경고: - - - - Font color for warning messages in Report view panel - 보고서 보기 패널의 경고 메시지 글꼴 색상 - - - - Errors: - 오류: - - - - Font color for error messages in Report view panel - 보고서 보기 패널의 오류 메시지 글꼴 색상 - - - - Python interpreter - Python 해석 프로그램 - - - - Internal Python output will be redirected -from Python console to Report view panel - 내부 Python 출력이 Python 콘솔에서 -보고서 보기 패널로 다시 보내집니다 - - - - Redirect internal Python output to report view - 내부 Python 출력을 보고서 보기로 다시 보내기 - - - - Internal Python error messages will be redirected -from Python console to Report view panel - 내부 Python 오류 메시지는 Python 콘솔에서 -보고서 보기 패널로 다시 보내집니다 - - - - Redirect internal Python errors to report view - 내부 Python 오류를 보고서 보기로 다시 보내기 - @@ -3315,7 +2707,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file 대화상자에 선택 항목이 없습니다. 백업 파일을 불러올 수 없습니다 @@ -3358,7 +2750,7 @@ from Python console to Report view panel 도움말 - + Select a file 파일 선택하기 @@ -3366,70 +2758,70 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View 3D 보기 - + General 일반 - + Main coordinate system will always be shown in lower right corner within opened files 기본 좌표계는 열린 파일 내에서 항상 오른쪽 하단에 표시됩니다 - + Show coordinate system in the corner 모서리에 좌표계를 표시 - + Relative size : 상대적 크기: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport 주 좌표계 표현의 크기 모서리 - 뷰포트 높이/폭의 % 단위 - + Axis cross will be shown by default at file opening or creation 파일을 열거나 생성할 때 기본적으로 축 교차가 표시됩니다 - + Show axis cross by default 기본값으로 축 교차 표시하기 - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files 마지막 작업에 필요한 시간과 결과 프레임 속도는 열린 파일의 왼쪽 하단 모서리에 표시됩니다 - + Show counter of frames per second 초당 프레임 카운터를 표시 - + Rendering 렌더링 - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3438,22 +2830,22 @@ Changing this option requires a restart of the application. 이 옵션을 변경하려면 응용 프로그램을 다시 시작해야 합니다. - + Use software OpenGL 소프트웨어 OpenGL 사용하기 - + Use OpenGL VBO (Vertex Buffer Object) OpenGL VBO 사용(버텍스 버퍼 객체) - + Render cache 캐시 렌더링하기 - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3464,19 +2856,18 @@ can be rendered directly by GPU. Note: Sometimes this feature may lead to a host of different issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - If selected, Vertex Buffer Objects (VBO) will be used. -A VBO is an OpenGL feature that provides methods for uploading -vertex data (position, normal vector, color, etc.) to the graphics card. -VBOs offer substantial performance gains because the data resides -in the graphics memory rather than the system memory and so it -can be rendered directly by GPU. + 이 옵션을 선택하면 VBO(Vertex Buffer Objects) 가 사용됩니다. +VBO는 꼭짓점 데이터(위치, 정상 벡터, 색상 등) 를 그래픽 카드에 업로드하는 +방법을 제공하는 OpenGL 기능입니다. +VBO는 데이터가 시스템 메모리가 아닌 그래픽 메모리에 상주하므로 GPU에서 +직접 렌더링할 수 있기 때문에 상당한 성능 향상을 제공합니다. -Note: Sometimes this feature may lead to a host of different -issues ranging from graphical anomalies to GPU crash bugs. Remember to -report this setting as enabled when seeking support on the FreeCAD forums +참고: 때때로 이 기능으로 인해 그래픽 이상 징후에서 GPU 충돌 버그에 이르기까지 +다양한 문제가 발생할 수 있습니다. FreeCAD 포럼에서 지원을 요청할 경우 +이 설정을 활성화된 것으로 보고하는 것을 잊지 마십시오 - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3484,101 +2875,101 @@ There are 3 options available to achieve this: 3) 'Centralized', manually turn off cache in all nodes of all view provider, and only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - 'Render Caching' is another way to say 'Rendering Acceleration'. -There are 3 options available to achieve this: -1) 'Auto' (default), let Coin3D decide where to cache. -2) 'Distributed', manually turn on cache for all view provider root node. -3) 'Centralized', manually turn off cache in all nodes of all view provider, and -only cache at the scene graph root node. This offers the fastest rendering speed -but slower response to any scene changes. + '렌더 캐싱'은 '렌더링 가속'을 말하는 또 다른 방법입니다. +이를 달성하기 위해 3가지 옵션을 사용할 수 있습니다. +1) '자동'(기본값), Coin3D가 캐시할 위치를 결정하도록 합니다. +2) '분산됨', 모든 보기 제공자 루트 노드에 대해 캐시를 수동으로 켭니다. +3) '집중됨', 모든 보기 제공자의 모든 노드에서 캐시를 끄고, +장면 그래프 루트 노드에서만 캐시를 끕니다. 이렇게 하면 렌더링 속도는 +가장 빠르지만 장면 변경에 대한 응답은 느립니다. - + Auto 자동 - + Distributed 분산됨 - + Centralized 집중됨 - + Anti-Aliasing 앤티 앨리어싱 - + What kind of multisample anti-aliasing is used 사용되는 다중샘플 앤티에일리어싱의 종류 - + None 없음 - + Line Smoothing 선 평활화 - + MSAA 2x MSAA 2 x - + MSAA 4x MSAA 4 x - + MSAA 8x MSAA 8 x - + Transparent objects: 투명한 객체: - + Render types of transparent objects 투명한 객체의 렌더링 유형 - + One pass 하나의 패스 - + Backface pass 배면 패스 - + Marker size: 마커 크기 - - Size of vertices in the Sketcher workbench - 스케쳐 워크벤치의 정점 크기 + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes 입체 모드에 적용된 눈과 눈 사이의 거리 - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3587,48 +2978,48 @@ bounding box size of the 3D object that is currently displayed. 곱할 인수입니다. - + Backlight is enabled with the defined color 정의된 색상으로 백라이트가 활성화됩니다 - - + + Backlight color 백라이트 색상 - + Intensity 강도 - + Intensity of the backlight 백라이트의 강도 - + Camera type 카메라 유형 - + Objects will appear in a perspective projection 객체가 투시도면에 나타납니다. - + Perspective renderin&g 투시 렌더링(&G) - + Objects will be projected in orthographic projection 객체는 직교 투영으로 투영됩니다 - + Or&thographic rendering 직교 렌더링(&T) @@ -3640,42 +3031,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing 앤티얼라이징 - + Open a new viewer or restart %1 to apply anti-aliasing changes. 새 뷰어를 열거나 %1을(를) 다시 시작하여 앤티에일리어싱 변경 내용을 적용합니다. @@ -3683,77 +3074,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache 캐시 - + Cache directory 캐시 디렉터리 - + Location: 위치: - + Check periodically at program start: 프로그램 시작 시 주기적으로 확인하기: - + Always 항상 - + Daily Daily - + Weekly Weekly - + Monthly 매월 - + Yearly 매년 - + Never Never - + Cache size limit: 캐시 크기 제한: - + Check now... 지금 확인... - + Notify the user if the cache size exceeds the specified limit 캐시 크기가 지정된 제한을 초과하는 경우 사용자에게 알립니다 - + Unknown 알 수 없음 - + Current cache size: %1 현재 캐시 크기: %1 @@ -3913,12 +3304,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter 잘못 된 파라미터 - + The maximum value must be higher than the minimum value. 최대값은 최소값보다 커야 합니다. @@ -3926,182 +3317,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document 문서 - + General 일반 - + The application will create a new document when started 응용 프로그램이 시작될 때 새 문서를 만듭니다. - + Create new document at start up 시작 시 새 문서 만들기 - + Document save compression level (0 = none, 9 = highest, 3 = default) 문서 저장 압축 수준 (0 = 없음, 9 = 최고, 3 = 기본값) - + Compression level for FCStd files FCStd 파일의 압축 수준 - + All changes in documents are stored so that they can be undone/redone 문서의 모든 변경사항은 실행 취소/재실행할 수 있도록 저장됩니다 - + Using Undo/Redo on documents 문서에 실행취소/다시실행 하기 - + Maximum Undo/Redo steps 실행 취소/다시 실행 최대 횟수 - + How many Undo/Redo steps should be recorded 기록해야 하는 실행 취소/다시 실행 단계 수 - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. ESC를 눌러 문서 재계산을 중단하는 사용자를 허용합니다. 이 기능은 재계산 시간을 약간 증가시킬 수 있습니다. - + Allow aborting recomputation 재계산 중단 허용하기 - + Storage 저장장치 - + Saving transactions (Auto-save) 트랜잭션 저장 (자동 저장) - + Discard saved transaction after saving document 문서 저장 후 저장된 트랜잭션 버리기 - + If there is a recovery file available the application will automatically run a file recovery when it is started. 복구 파일이 있으면 응용 프로그램 시작 시에 파일 복구를 자동으로 실행합니다. - + Run AutoRecovery at startup 시작 시 자동 복구 실행 - + How often a recovery file is written 얼마나 자주 복구 파일이 저장되는가 - + Save AutoRecovery information every 자동 복구 정보 저장 간격 - + A thumbnail will be stored when document is saved 문서 저장 시 마중그림이 저장됩니다 - + Save thumbnail into project file when saving document 문서 저장 시 프로젝트 파일에 마중그림 저장하기 - + Size 크기 - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 문서에 저장된 마중그림의 크기를 설정합니다. 일반적인 크기는 128, 256 및 512입니다 - + The program logo will be added to the thumbnail 프로그램 로고가 마중그림에 추가됩니다 - + Add the program logo to the generated thumbnail 생성된 마중그림에 프로그램 로고 추가하기 - + How many backup files will be kept when saving document 문서를 저장할 때 보관할 백업 파일 수 - + Maximum number of backup files to keep when resaving document 문서를 저장할 때 보관할 최대 백업 파일 수 - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format 백업 파일의 확장자는 '.FCbak'이고 파일 이름에는 지정된 형식에 따라 날짜 접미사가 붙습니다 - + Use date and FCBak extension 날짜 및 FCBak 확장 사용 - + Date format 날짜 형식 - + Document objects 문서 객체 - + Allow objects to have same label 객체가 동일한 레이블을 갖도록 허용하기 - + Allow duplicate object labels in one document 하나의 문서에 복제된 객체 레이블 허용하기 - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4114,22 +3505,22 @@ icon in the tree view to fully reload it. 두 번 눌러 문서를 완전히 다시 불러옵니다. - + Disable partial loading of external linked objects 외부 링크된 객체의 부분 불러오기 비활성화 - + Authoring and License 저작 및 라이선스 - + Author name 저작자 - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4138,32 +3529,32 @@ You can also use the form: John Doe <john@doe.com> 다음 양식을 사용할 수도 있습니다. Gilong Hong <hong@gildong.com> - + The field 'Last modified by' will be set to specified author when saving the file 파일을 저장할 때 '마지막 수정자' 필드가 지정된 작성자로 설정됩니다 - + Set on save 저장 시 설정하기 - + Company 회사 - + Default company name to use for new files 새 파일에 사용할 기본 회사 이름 - + Default license 기본 라이선스 - + Default license for new documents 새 문서에 대한 기본 라이선스 @@ -4233,12 +3624,12 @@ You can also use the form: John Doe <john@doe.com> 기타 - + License URL 라이선스 URL - + URL describing more about the license 라이선스에 대해 자세히 설명하는 URL @@ -4246,104 +3637,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. 사용할 날짜 형식입니다. - + Default 기본값 - + Format 형식 - - Gui::Dialog::DlgSettingsEditorImp - - - Text - 텍스트 - - - - Bookmark - 책갈피 - - - - Breakpoint - 중단점 - - - - Keyword - 키워드 - - - - Comment - 주석 - - - - Block comment - 블록 주석 - - - - Number - 숫자 - - - - String - 문자열 - - - - Character - 문자 - - - - Class name - 클래스 이름 - - - - Define name - 이름 정의 - - - - Operator - 연산자 - - - - Python output - Python 출력 - - - - Python error - Python 오류 - - - - Current line highlight - 현재 줄 강조 표시 - - - - Items - 항목 - - Gui::Dialog::DlgSettingsImage @@ -4524,122 +3832,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro 매크로 - + General macro settings 일반 매크로 설정 - + Variables defined by macros are created as local variables 매크로에서 정의한 변수가 지역 변수로 생성됨 - + Run macros in local environment 로컬 환경에서 매크로 실행 - + Macro recording settings 매크로 기록 설정 - + Macro path 매크로 경로 - + The directory in which the application will search for macros 응용 프로그램이 매크로를 검색할 디렉터리 - + Gui commands Gui 명령 - + Recorded macros will also contain user interface commands 기록된 매크로에는 사용자 인터페이스 명령도 포함됩니다 - + Record GUI commands GUI 명령 기록하기 - + Recorded macros will also contain user interface commands as comments 기록된 매크로에는 주석으로 사용자 인터페이스 명령도 포함됩니다 - + Record as comment 주석으로 기록하기 - + Logging Commands 로깅 명령 - + Commands executed by macro scripts are shown in Python console 매크로 스크립트에 의해 실행된 명령은 Python 콘솔에 표시됩니다 - + Show script commands in python console Python 콘솔에서 스크립트 명령 표시하기 - + Log all commands issued by menus to file: 메뉴에서 실행한 모든 명령을 파일에 기록합니다: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu 최근 매크로 메뉴 - + Size of recent macro list 최근 매크로 목록의 크기 - + How many macros should be listed in recent macros list 최근 매크로 목록에 나열할 매크로 수 - + Keyboard shortcut count 키보드 단축키 수 - + How many recent macros should have shortcuts 단축키가 있어야 하는 최근 매크로 수 - + Keyboard Modifiers 키보드 수정자 - + Keyboard modifiers, default = Ctrl+Shift+ 키보드 수정자, 기본값 = Ctrl+Shift+ @@ -4647,250 +3955,250 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation 탐색 - + Navigation cube 네비게이션 입방체 - + Steps by turn 회전 단계 - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) 화살표를 사용할 때 회전하는 단계 수 (기본값 = 8: 단계 각도 = 360/8 = 45도) - + Corner 모서리 - + Corner where navigation cube is shown 탐색 입방체가 표시되는 모서리 - + Top left 왼쪽 상단 - + Top right 오른쪽 상단 - + Bottom left 왼쪽 하단 - + Bottom right 오른쪽 하단 - + Rotates to nearest possible state when clicking a cube face 입방체 표면을 클릭하면 가능한 가장 가까운 상태로 회전합니다 - + Rotate to nearest 가장 가까운 위치로 회전하기 - + Font name: 글꼴 이름: - + Font name of the navigation cube 탐색 큐브의 글꼴 이름 - + Default 기본값 - + Cube size 입방체 크기 - + Size of the navigation cube 네비게이션 입방체의 크기 - + Color 색상 - + Base color for all elements Base color for all elements - + 3D Navigation 3D 탐색 - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. 선택한 각 탐색 설정에 대한 마우스 버튼 구성을 나열합니다. 세트를 선택한 다음 단추를 누르면 해당 구성이 표시됩니다. - + Mouse... 마우스... - + Navigation settings set 탐색 설정 설정하기 - + Orbit style 궤도 스타일 - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - Rotation orbit style. -Trackball: moving the mouse horizontally will rotate the part around the y-axis -Turntable: the part will be rotated around the z-axis (with constrained axes). -Free Turntable: the part will be rotated around the z-axis. + 회전보기 조정장치 스타일. +트랙 볼: 대상물을 y축에 대해 회전 즉, 좌우로 회전 하게됨 +턴테이블: 대상물이 x축에 대해 (또는 지정해 둔 축을 기준으로 하여) 회전 하게됨. +자유 턴테이블: 대상물이 x축에 대해 회전 하게됨. - + Turntable 턴테이블 - + Trackball 트랙볼 - + Free Turntable Free Turntable - + Rotation mode 회전 모드 - + Rotations in 3D will use current cursor position as center for rotation 3D 회전은 현재 커서 위치를 회전 중심으로 사용합니다 - + Window center 창 중앙 - + Drag at cursor 커서에서 드래그 - + Object center 객체 중심 - + Default camera orientation 기본 카메라 방향 - + Default camera orientation when creating a new document or selecting the home view 새 문서를 만들거나 홈 보기를 선택할 때의 기본 카메라 방향 - + Camera zoom 카메라 줌 - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. 새 문서에 대한 카메라 줌을 설정합니다. 값은 화면에 맞출 구체의 지름입니다. - + mm mm - + Enable animated rotations 애니메이션 회전 활성화하기 - + Enable animation 애니메이션 활성화 - + Zoom operations will be performed at position of mouse pointer 확대/축소 작업은 마우스 포인터 위치에서 수행됩니다 - + Zoom at cursor 커서에서 확대/축소하기 - + Zoom step 확대/축소 단계 - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. 얼마나 확대/축소되는지 여부. '1'의 확대/축소 단계는 모든 확대/축소 단계에 대해 7.5의 계수를 의미합니다. - + Direction of zoom operations will be inverted 확대/축소 작업의 방향이 반전됩니다 - + Invert zoom 확대/축소 반전하기 - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4899,57 +4207,67 @@ Mouse tilting is not disabled by this setting. 이 설정에 의해 마우스 기울기가 비활성화되지 않습니다. - + Disable touchscreen tilt gesture 터치스크린 틸트 제스처 비활성화하기 - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric 아이소메트릭 - + Dimetric 디메트릭 - + Trimetric 트라이메트릭 - + Top 평면 - + Front 정면 - + Left 좌측면 - + Right 우측면 - + Rear 배면 - + Bottom 저면 - + Custom 색상 편집 @@ -4957,43 +4275,43 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python 콘솔 - + Settings Settings - + Words will be wrapped when they exceed available horizontal space in Python console Python 콘솔에서 사용 가능한 가로 공간을 초과하면 단어가 줄 바꿈됩니다 - + Enable word wrap 글자 나누기 사용 - + The cursor shape will be a block 커서가 곧 잠금됩니다. - + Enable block cursor 커서 잠금 할성화 - + Saves Python history across sessions 세션 전반에 걸쳐 Python 내역 저장하기 - + Save history 내역 저장하기 @@ -5001,46 +4319,65 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection 선택항목 - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): 선택 반지름 (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. - Area for picking elements in 3D view. -Larger value eases to pick things, but can make small features impossible to select. - + 3D 보기에서 요소개체를 선택하기 위해 설정하는 영역. +큰 값을 설정해 둘 수록 개체를 선택하기 쉽겠지만, 모양이 작은 것을 선택하기 어렵게 할 수 있습니다 - + Auto switch to the 3D view containing the selected item 선택한 항목이 포함된 3D 보기로 자동 전환하기 - + Auto expand tree item when the corresponding object is selected in 3D view 3D 보기에서 해당 객체 선택 시 트리 항목 자동 펼치기 - + Preselect the object in 3D view when mouse over the tree item 트리 항목 위로 마우스를 가져갈 때 3D 보기에서 객체 미리 선택하기 - + Record selection in tree view in order to go back/forward using navigation button 탐색 버튼을 사용하여 뒤로/앞으로 가려면 트리 보기에 선택항목 기록하기 - + Add checkboxes for selection in document tree 문서 트리에서 선택항목을 위한 확인란 추가하기 @@ -5048,147 +4385,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors 색상 - - Selection - 선택항목 - - - - Enable preselection and highlight by specified color - 지정된 색상으로 미리 선택 및 강조 표시 활성화하기 - - - - Enable preselection highlighting - 미리 선택 강조 표시 활성화하기 - - - - Enable selection highlighting and use specified color - 선택항목을 강조 표시 활성화하고 지정된 색상 사용하기 - - - - Enable selection highlighting - 선택항목 강조 표시 활성화하기 - - - + Background color for the model view 모델 뷰의 배경색 - + Background color 배경색 - - + + Background will have selected color 배경의 색상이 선택되어야 합니다. - + Simple color 간단한 색상 - - + + Background will have selected color gradient 배경에 색상 그라데이션이 선택되어야 합니다. - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: 상단: - - + + Middle: 중앙: - + Switches the colors of the gradient 배경의 색을 전환합니다. - + Switch 전환 - + Color gradient will get selected color as middle color 색상 채우기가 중간 색상으로 선택됩니다. - + Middle color 중간 색 - - + + Bottom: 하단: - + Tree view 트리 보기 - + Object being edited 편집 중인 오브젝트 - + Background color for objects in tree view that are currently edited 현재 편집된 트리 뷰의 오브젝트에 대한 배경색 - + Active container 활성 컨테이너 - + Background color for active containers in tree view 트리 뷰에서 활성 컨테이너의 배경색 - + Central: 중앙: - + Midway: 중간: - + End: 끝: @@ -5300,12 +4612,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: 알 수 없는 단위: - + unit mismatch 단위 불일치 @@ -5313,7 +4625,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement 위치 설정 @@ -5365,60 +4677,60 @@ The 'Status' column shows whether the document could be recovered. 아직 복구 되지 않음 - + Unknown problem occurred 알 수 없는 문제 발생 - - + + Failed to recover 복구 실패 - + Successfully recovered 복구 성공 - + Finish 마침 - - + + Delete 삭제 - - + + Cleanup 깨끗이 삭제 - + Are you sure you want to delete the selected transient directories? 선택한 임시 디렉터리를 삭제하시겠습니까? - + When deleting the selected transient directory you won't be able to recover any files afterwards. 선택한 임시 디렉터리를 삭제하면 나중에 파일을 복구할 수 없습니다. - + Are you sure you want to delete all transient directories? 임시 디렉토리를 모두 삭제하시겠습니까? - + When deleting all transient directories you won't be able to recover any files afterwards. 임시 디렉토리를 모두 삭제하면 해당 파일은 더 이상 복구할 수 없습니다. - + Transient directories deleted. 임시 디렉토리가 삭제되었습니다. @@ -5542,7 +4854,7 @@ The 'Status' column shows whether the document could be recovered. 아이콘 폴더 - + Add icon folder 아이콘 폴더 추가하기 @@ -5555,12 +4867,12 @@ The 'Status' column shows whether the document could be recovered. 사용자 지정 아이콘 폴더 추가 또는 제거하기 - + Remove folder 폴더 제거 - + Removing a folder only takes effect after an application restart. 폴터 제거는 응용 프로그램 다시 시작 후 적용이 됩니다. @@ -5630,79 +4942,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand 펼치기 - + Add sub-group 하위 그룹 추가하기 - - + + Remove group 그룹 제거 - + Rename group 그룹 이름 바꾸기 - + Export parameter 매개 변수를 내보내기 - + Import parameter 매개 변수 가져 오기 - + Collapse 접기 - + Do you really want to remove this parameter group? 이 매개 변수 그룹을 제거하시겠습니까? - + Existing sub-group 존재하는 하위 그룹 - + The sub-group '%1' already exists. 하위 그룹 '%1'이(가) 이미 있습니다. - + Export parameter to file 매개 변수를 파일로 내보내기 - + Import parameter from file 파일에서 매개 변수 가져오기 - + Import Error 가져오기 오류 - + Reading from '%1' failed. '%1'에서 읽어들이지 못했습니다. @@ -5710,65 +5022,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value 값 변경 - + Remove key 키 제거 - + Rename key 키 이름 바꾸기 - + New 새로 만들기 - + New string item 새 문자열 항목 - + New float item 새 부동 소수점 항목 - + New integer item 새 정수 항목 - + New unsigned item 새 무부호 항목 - + New Boolean item 새 불리언 항목 - - - - - + + + + + Existing item 존재하는 항목 - - - - - + + + + + The item '%1' already exists. 항목 '%1'이(가) 이미 있습니다. @@ -5914,17 +5226,17 @@ The 'Status' column shows whether the document could be recovered. 적용 - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. 이 단추를 클릭하기 전에 1, 2, 3 포인트를 선택하십시오. 포인트는 꼭짓점, 면 또는 모서리에 있을 수 있습니다. 면이나 모서리의 경우, 사용된 포인트는 면이나 모서리를 따라 마우스 위치에 있는 포인트가 됩니다. 1 포인트를 선택하면 회전 중심으로 사용됩니다. 2 포인트의 점을 선택하면 그 사이의 중간점이 회전 중심이 되고 필요한 경우 새 사용자 지정 축이 생성됩니다. 3 포인트의 포인트를 선택하면 첫 번째 포인트가 회전 중심이 되고 3개의 포인트로 정의된 평면에 수직인 벡터에 놓입니다. 보고서 보기에는 객체를 정렬할 때, 유용할 수 있는 일부 거리 및 각도 정보가 제공됩니다. 편의를 위해 Shift + 클릭을 사용할 때 적절한 거리 또는 각도가 클립보드에 복사됩니다. - + Incorrect quantity 잘못된 수량 - + There are input fields with incorrect input, please ensure valid placement values! 잘못된 입력 필드가 있습니다. 올바른 배치 값을 확인하십시오! @@ -5932,12 +5244,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button 버튼 - + Command 명령 @@ -6001,17 +5313,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Inventor 트리 - + Name 이름 - + Nodes 노드 @@ -6067,14 +5379,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel 취소하기 - - + + Transform 변환하기 @@ -6172,13 +5484,13 @@ originally selected prior to opening this dialog - + Model 모델 - + Tasks 작업 @@ -6186,7 +5498,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View 속성 보기 @@ -6194,82 +5506,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options 옵션 - + Display message types 메시지 유형 표시 - - + + Normal messages 정상 메시지 - - + + Log messages 로그 메시지 - - + + Warnings 경고 - - + + Errors 오류 - - + + Critical messages Critical messages - + Show Report view on 다음에 보고서 뷰 표시 - + Redirect Python output Python 출력 다시 보내기 - + Redirect Python errors Python 오류 다시 보내기 - + Go to end 끝으로 이동 - + Clear 지우기 - + Save As... 다른 이름으로 저장... - + Save Report Output 보고서 출력 저장 - + Plain Text Files 일반 텍스트 파일 @@ -6278,13 +5590,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output 출력 - + Python console Python 콘솔 @@ -6322,72 +5634,72 @@ originally selected prior to opening this dialog 선택한 객체 목록 - + Select only 선택만 - + Selects only this object 이 객체만 선택하기 - + Deselect Deselect - + Deselects this object 이 오브젝트의 선택을 취소합니다. - + Zoom fit 화면에 맞춤 - + Selects and fits this object in the 3D window 이 오브젝트를 선택하고 3D 창에 맞춥니다. - + Go to selection 선택항목으로 가기 - + Selects and locates this object in the tree view 트리 뷰에서 이 오브젝트를 선택하고 찾습니다. - + Mark to recompute 다시 계산 표시 - + Mark this object to be recomputed 이 객체가 다시 계산될 수 있도록 표시합니다 - + To python console Python 콘솔로 - + Reveals this object and its subelements in the python console. Python 콘솔에서 이 객체와 그 하위 요소를 표시합니다. - + Duplicate subshape 하위 모양 복제하기 - + Creates a standalone copy of this subshape in the document 문서에서 이 하위 모양의 독립 실행형 사본을 만듭니다 @@ -6400,7 +5712,7 @@ originally selected prior to opening this dialog 응용 프로그램 - + Labels & Attributes 레이블 및 특성 @@ -6449,27 +5761,27 @@ Do you want to save your changes? PDF 파일 - + untitled[*] 제목없음[*] - + - Editor - 편집기 - + %1 chars removed %1자 제거됨 - + %1 chars added %1 문자 추가됨 - + Formatted 형식화됨 @@ -6493,13 +5805,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file 파일 선택하기 - + Select a directory 디렉터리 선택하기 @@ -6507,13 +5819,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as 다른 이름으로 저장하기 - - + + Open 열기 @@ -6521,12 +5833,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended 확장 - + All files (*.*) 모든 파일 (*.*) @@ -6534,27 +5846,27 @@ Do you want to save your changes? Gui::Flag - + Top left 왼쪽 상단 - + Bottom left 왼쪽 하단 - + Top right 오른쪽 상단 - + Bottom right 오른쪽 하단 - + Remove 제거 @@ -6562,22 +5874,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. 탭하거나 마우스 왼쪽 버튼을 클릭합니다. - + Drag screen with two fingers OR press right mouse button. 두 손가락으로 화면을 드래그하거나 마우스 오른쪽 버튼을 누릅니다. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. 한 손가락으로 화면을 드래그하거나 마우스 왼쪽 버튼을 누릅니다. 스케쳐 && 다른 편집 모드에서 Alt 키를 추가로 누릅니다. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. 핀치(화면을 엄지와 검지로 벌리듯 확대하거나 조이듯 축소하는 기능) 또는 마우스 가운데 버튼으로 스크롤 또는 키보드의 PgUp/PgDown 키를 누릅니다. @@ -6585,74 +5897,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz를 찾을 수 없습니다 - + Graphviz couldn't be found on your system. 당신의 시스템에서 Graphviz를 찾을 수 없습니다. - + Read more about it here. 여기에서 자세히 읽어보세요. - + Do you want to specify its installation path if it's already installed? 이미 설치된 경우 설치 경로를 지정하시겠습니까? - + Graphviz installation path Graphviz 설치 경로 - + Graphviz failed Graphviz 실패 - + Graphviz failed to create an image file Graphviz가 이미지 파일을 만들지 못했습니다 - + PNG format PNG형식 - + Bitmap format Bitmap형식 - + GIF format Gif형식 - + JPG format JPG형식 - + SVG format SVG형식 - - + + PDF format PDF형식 - - + + Export graph 그래프 내보내기 @@ -6660,12 +5972,12 @@ Do you want to save your changes? Gui::InputField - + Edit 편집 - + Save value 값을 저장하기 @@ -6673,22 +5985,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button CTRL 키와 마우스 왼쪽 버튼 누르기 - + Press middle mouse button 가운데 마우스 버튼 누르기 - + Press left mouse button 마우스 왼쪽 버튼 누르기 - + Scroll middle mouse button 가운데 마우스 버튼 스크롤 @@ -6696,7 +6008,7 @@ Do you want to save your changes? Gui::LabelEditor - + List 목록 @@ -6704,66 +6016,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... 사용자 정의됨... - + - - + + Wrong direction 잘못된 방향 - + - - + + Direction must not be the null vector 방향은 null 벡터가 아니어야 합니다 @@ -6771,22 +6083,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6794,17 +6106,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros 매크로 - + Macro file doesn't exist 매크로 파일이 없습니다. - + No such macro file: '%1' 해당 매크로 파일이 없습니다: '%1' @@ -6812,63 +6124,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension 치수 - + Ready 준비 - + Help addon needed! 도움말 추가 기능 필요! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager %1의 도움말 시스템은 이제 "도움말" 추가 기능에 의해 처리됩니다. Addons Manager를 통해 쉽게 설치할 수 있습니다. - + Open Addon Manager 애드온 관리자 열기 - + Close All 모두 닫기 - - + + Toggles this toolbar 이 도구 모음 전환하기 - - + + Toggles this dockable window 이 도킹 가능 창 전환하기 - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document 저장하지 않은 문서 - + The exported object contains external link. Please save the documentat least once before exporting. 내보낸 객체에 외부 링크가 포함되어 있습니다. 내보내기 전에 문서를 한 번 이상 저장하십시오. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? 외부 객체에 링크하려면, 문서를 한 번 이상 저장해야 합니다. @@ -6878,63 +6200,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment 수동 정렬 - + The alignment is already in progress. 정렬이 이미 진행 중입니다. - + Alignment[*] 정렬(*)... - + Please, select at least one point in the left and the right view 오른쪽 및 왼쪽 보기에서 점을 적어도 하나 이상 선택하십시오 - + Please, select at least %1 points in the left and the right view 왼쪽과 오른쪽 보기에서 최소한 %1개의 포인트를 선택하십시오 - + Please pick points in the left and right view 왼쪽과 오른쪽 보기에서 포인트를 선택하십시오 - + The alignment has finished 정렬 되었습니다. - + The alignment has been canceled 정렬이 취소되었습니다 - - + + Too few points picked in the left view. At least %1 points are needed. 왼쪽 보기에서 선택한 포인트가 너무 적습니다. 최소한 %1포인트가 필요합니다. - - + + Too few points picked in the right view. At least %1 points are needed. 오른쪽 보기에서 선택한 포인트가 너무 적습니다. 최소한 %1포인트가 필요합니다. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6943,59 +6265,59 @@ on the right view %2 points are picked. 오른쪽 보기에서 %2 포인트가 선택됩니다. - + Try to align group of views 보기 그룹을 정렬합니다 - + The alignment failed. How do you want to proceed? 정렬에 실패했습니다. 어떻게 진행하길 원합니까? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. 왼쪽 및 오른쪽 보기에서 선택한 포인트 수가 다릅니다. 왼쪽 보기에서 %1 포인트가 선택되고 오른쪽 보기에서 %2 포인트가 선택됩니다. - + Point_%1 포인트_%1 - + Point picked at (%1,%2,%3) (%1,%2,%3)에서 선택한 포인트 - + No point was found on model 모델에서 포인트를 찾을 수 없습니다 - + No point was picked 포인트가 선택되지 않았습니다 - + &Align 정렬하기(&A) - + &Remove last point 마지막 포인트 제거(&R) - + &Cancel 취소하기(&C) - + &Synchronize views &Synchronize views @@ -7003,22 +6325,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. 탭하거나 마우스 왼쪽 버튼을 클릭합니다. - + Drag screen with two fingers OR press ALT + middle mouse button. 두 손가락으로 화면을 드래그하거나 ALT + 마우스 가운데 버튼을 누릅니다. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. 한 손가락으로 화면을 드래그하거나 ALT + 마우스 왼쪽 버튼을 누릅니다. 스케쳐 및 다른 편집 모드에서 Alt 키를 추가로 누릅니다. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. 핀치(화면을 엄지와 검지로 벌리듯 확대하거나 조이듯 축소하는 기능) 또는 마우스 가운데 버튼으로 스크롤하거나 ALT + 마우스 오른쪽 버튼 또는 키보드의 PgUp/PgDown 키를 누릅니다. @@ -7026,7 +6348,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys 수식 키 누르기 @@ -7042,22 +6364,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button 마우스 왼쪽 버튼 누르기 - + Press CTRL and middle mouse button CTRL 키와 마우스 가운데 버튼 누르기 - + Press CTRL and right mouse button CTRL 키와 마우스 왼쪽 버튼 누르기 - + Press CTRL and left mouse button CTRL 키와 마우스 왼쪽 버튼 누르기 @@ -7065,22 +6387,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button 마우스 왼쪽 버튼 누르기 - + Press right mouse button and move mouse 마우스 오른쪽 버튼을 누르고 마우스 이동하기 - + Press left mouse button and move mouse 마우스 왼쪽 버튼을 누르고 마우스 이동하기 - + Press middle mouse button or SHIFT and right mouse button 마우스 가운데 버튼 누르기 또는 SHIFT 키와 마우스 오른쪽 버튼 누르기 @@ -7088,17 +6410,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit 편집 - + Save value 값을 저장하기 - + Clear list 목록 비우기 @@ -7129,12 +6451,12 @@ How do you want to proceed? 남은 시간: %1 - + Aborting 중단 - + Do you really want to abort the operation? 작업을 중단 하시겠습니까? @@ -7142,7 +6464,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object 링크된 객체 변경하기 @@ -7150,12 +6472,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error 에러 - + Object not found 객체를 찾을 수 없습니다 @@ -7226,13 +6548,13 @@ How do you want to proceed? Gui::PropertyView - + View 보기 - + Data 데이터 @@ -7279,77 +6601,77 @@ Do you want to exit without saving your data? 처리되지 않은 알 수 없는 C++ 예외입니다. - + &Copy 복사하기(&C) - + &Copy command 명령어 복사하기(&C) - + &Copy history 내역 복사하기(&C) - + Save history as... 다른 이름으로 내역 저장하기... - + Save history 내역 저장하기 - + Saves Python history across %1 sessions %1 세션 전반에 걸쳐 Python 내역 저장하기 - + &Paste 붙여넣기(&P) - + Select All 모두 선택 - + Clear console 콘솔 지우기 - + Insert file name... 파일 이름 삽입... - + Word wrap 줄 바꿈 - + Save History 내역 저장하기 - + Macro Files 매크로 파일 - + Insert file name 파일 이름 삽입 - + All Files 모든 파일 @@ -7357,7 +6679,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment 주석 @@ -7370,17 +6692,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 파일 열기 %1 - + File not found 파일을 찾을 수 없습니다 - + The file '%1' cannot be opened. '%1' 파일을 열 수 없습니다. @@ -7388,22 +6710,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none 없음 - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 매크로 %1 실행(편집하려면 Shift+클릭) 키보드 단축키: %2 - + File not found 파일을 찾을 수 없습니다 - + The file '%1' cannot be opened. '%1' 파일을 열 수 없습니다. @@ -7411,22 +6733,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button 마우스 왼쪽 버튼 누르기 - + Press middle mouse button 가운데 마우스 버튼 누르기 - + Press SHIFT and middle mouse button SHIFT키와 마우스 가운데 버튼 누르기 - + Scroll middle mouse button 가운데 마우스 버튼 스크롤 @@ -7457,17 +6779,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module 모듈 선택 - + Open %1 as 다음으로 %1 열기 - + Select 선택 @@ -7536,13 +6858,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation 자동 Python 모듈 문서 - - + + Opens a browser to show the Python modules documentation Python 모듈 문서를 보여주는 브라우저 열기 @@ -7695,38 +7017,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated 텍스트 업데이트됨 - + The text of the underlying object has changed. Discard changes and reload the text from the object? 기본 객체의 텍스트가 변경되었습니다. 변경사항을 취소하고 객체에서 텍스트를 다시 불러오시겠습니까? - + Yes, reload. 예, 다시 불러옵니다. - + Unsaved document 저장하지 않은 문서 - + Do you want to save your changes before closing? 닫기 전에 변경 내용을 저장하시겠습니까? - + If you don't save, your changes will be lost. 저장하지 않으면 변경 내용이 손실됩니다. - - + + Edit text 텍스트 편집 @@ -7734,22 +7056,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button 마우스 왼쪽 버튼 누르기 - + Press middle mouse button 가운데 마우스 버튼 누르기 - + Press right mouse button 마우스 오른쪽 버튼 누르기 - + Scroll middle mouse button 가운데 마우스 버튼 스크롤 @@ -7757,22 +7079,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button 마우스 왼쪽 버튼 누르기 - + Press SHIFT button SHIFT 버튼 누르기 - + Press ALT button Alt 버튼 누르기 - + Press CTRL and SHIFT buttons CTRL과 SHIFT 버튼 누르기 @@ -7998,7 +7320,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view 트리 보기 @@ -8006,7 +7328,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search 검색하기 @@ -8014,183 +7336,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... 검색하기... - + Search for objects 객체 검색하기 - + Activate document 문서 활성화 - + Activate document %1 문서 %1를 활성화 - + Tree settings 트리 설정 - + Show description column Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. + 트리뷰에서 열을 추가하여 대상물에 대한 설명을 보이게 합니다. 대상물 설명은 F2를 눌러서 설정할 수 있고 (또는 귀하의 OS에서 편집 버튼) 또는 속성 'label2' 을 편집해도 됩니다. - + Group 그룹 - + Labels & Attributes 레이블 및 특성 - + Description 설명 - + Show items hidden in tree view 트리 뷰에서 숨겨진 항목 보기 - + Show items that are marked as 'hidden' in the tree view 트리 뷰에서 '숨김'으로 표시된 항목 보기 - + Toggle visibility in tree view 트리 뷰에서 표시여부 토글 - + Toggles the visibility of selected items in the tree view 트리 뷰에서 선택 항목의 표시여부를 토글함 - + Create group... 그룹 만들기... - + Create a group 그룹 만들기 - - + + Rename 이름 바꾸기 - + Rename object 객체 이름 바꾸기 - + Finish editing 편집 완료 - + Finish editing object 객체 편집 완료 - + Add dependent objects to selection 선택 항목에 종속 오브젝트 추가 - + Adds all dependent objects to the selection 모든 종속 개체를 선택 항목에 추가합니다. - + Close document 문서 닫기 - + Close the document 문서 닫기 - + Reload document 문서 다시 불러오기 - + Reload a partially loaded document 부분적인 불러온 문서 다시 불러오기 - + Skip recomputes 재계산 건너뛰기 - + Enable or disable recomputations of document 문서 계산 사용 또는 사용 안 함 - + Allow partial recomputes 부분적인 재계산 허용하기 - + Enable or disable recomputating editing object when 'skip recomputation' is enabled '계산 건너뛰기'가 활성화된 경우 편집 개체 다시 계산 사용 또는 사용 안 함 - + Mark to recompute 다시 계산 표시 - + Mark this object to be recomputed 이 객체가 다시 계산될 수 있도록 표시합니다 - + Recompute object 객체 다시 계산하기 - + Recompute the selected object 선택한 객체를 다시 계산합니다 - + (but must be executed) (단, 실행해야 함) - + %1, Internal name: %2 %1, 내부 이름: %2 @@ -8221,12 +7543,12 @@ Do you want to specify another directory? PDF 파일 - + Opening file failed 파일 열기 실패 - + Can't open file '%1' for writing. 쓰기에 사용할 '%1' 파일을 열 수 없습니다. @@ -8234,7 +7556,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench '%1' 워크벤치 선택하기 @@ -8242,37 +7564,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services 서비스 - + Hide %1 %1 숨기기 - + Hide Others 다른 항목 숨기기 - + Show All 모두 표시하기 - + Preferences... 환경설정... - + Quit %1 %1 종료 - + About %1 %1 정보 @@ -8292,11 +7614,6 @@ Do you want to specify another directory? Position - - - Form - 양식 - X: @@ -8391,14 +7708,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input 잘못 된 입력 - - + + Input in line %1 is not a number 줄에 있는 입력%1 이 숫자가 아닙니다. @@ -8406,37 +7723,37 @@ Do you want to specify another directory? QDockWidget - + Tree view 트리 보기 - + Property view 속성 보기 - + Selection view 선택항목 보기 - + Combo View 콤보 보기 - + DAG View DAG 보기 - + Report view 보고서 보기 - + Python console Python 콘솔 @@ -8449,31 +7766,32 @@ Do you want to specify another directory? QObject - - + + General 일반 - - + + + Display 화면 - + Workbenches 워크벤치 - - - + + + Python Python @@ -8501,17 +7819,27 @@ Do you want to specify another directory? 알 수 없는 파일유형에 저장할 수 없습니다. %1 - + Workbench failure 워크벤치 실패 - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception 예외 @@ -8557,8 +7885,8 @@ Do you want to specify another directory? PDF로 내보내기... - + Unsaved document 저장하지 않은 문서 @@ -8579,39 +7907,39 @@ Do you want to specify another directory? 종속성 오류 - + Copy selected 사본 선택됨 - + Copy active document 활성 문서 복사하기 - + Copy all documents 모든 문서 복사하기 - + Paste Paste - + Expression error 표현식 오류 - + Failed to parse some of the expressions. Please check the Report View for more details. 일부 식을 구문 분석하지 못했습니다. 자세한 내용은 보고서 뷰를 확인하십시오. - + Failed to paste expressions 식을 붙여넣지 못했습니다. @@ -8647,269 +7975,269 @@ Be aware the point where you click matters. 문제를 클릭하는 포인트를 알고 있어야합니다. - - + + Save views... 뷰를 저장... - - + + Load views... 보기 불러오기... - - + + Freeze view 뷰 고정 - - + + Clear views 뷰 지우기 - - - + + + Restore view &%1 보기 %1 복원하기(&%) - + Save frozen views 고정된 뷰 저장 - - + + Frozen views 고정된 뷰 - - + + Restore views 뷰 저장하기 - + Importing the restored views would clear the already stored views. Do you want to continue? 복원된 보기를 가져오면 이미 저장된 보기가 지워집니다. 계속하시겠습니까? - + Restore frozen views 고정된 뷰 저장 - + Cannot open file '%1'. '%1' 파일을 열 수 없습니다. - + files 파일 - + Save image 이미지 저장 - + Choose an image file to open 열려는 이미지 파일 고르기 - + New sub-group 새 하위 그룹 - - - - - - + + + + + + Enter the name: 이름 입력 - - + + New text item 새 텍스트 항목 - - + + Enter your text: 사용자의 텍스트 입력하기: - - + + New integer item 새 정수 항목 - - - - - - + + + + + + Enter your number: 사용자의 번호 입력하기: - - + + New unsigned item 새 무부호 항목 - - + + New float item 새 부동 소수점 항목 - + New Boolean item 새 불리언 항목 - - + + Choose an item: 항목 고르기: - + New boolean item 새 불리언 항목 - + Rename group 그룹 이름 바꾸기 - + The group '%1' cannot be renamed. 그룹 '%1'의 이름을 바꿀 수 없습니다. - + Existing group 존재하는 그룹 - + The group '%1' already exists. 그룹 '%1'이 이미 존재합니다. - - - - - + + + + + Change value 값 변경 - + Type 유형 - + Notifier 알림이 - + Message 메시지 - + Notifier: 알림이: - + Do you want to skip confirmation of further critical message notifications while loading the file? 파일을 로드하는 동안 추가 중요 메시지 알림의 확인을 건너뛰고 싶으신가요? - + Critical Message 중요한 메시지 - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! 동일한 물리적 경로가 감지되었습니다. 존재하는 문서의 원치 않는 덮어쓰기가 발생할 수 있습니다! - + Are you sure you want to continue? Are you sure you want to continue? - + Please check report view for more... 자세한 내용은 보고서 보기를 확인하십시오... - + Physical path: 물리적 경로: - - + + Document: 문서: - - + + Path: 경로: - + Identical physical path 동일한 물리적 경로 - + Could not save document 문서를 저장할 수 없습니다 - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8922,102 +8250,102 @@ Would you like to save the file with a different name? 파일을 다른 이름으로 저장하시겠습니까? - - - + + + Saving aborted 저장 실패 - + Save dependent files 종속 파일 저장하기 - + The file contains external dependencies. Do you want to save the dependent files, too? 파일에 외부 종속성이 있습니다. 종속 파일도 저장하시겠습니까? - - + + Saving document failed 문서 저장 실패 - + Save document under new filename... 새 파일 이름으로 문서 저장하기... - - + + Save %1 Document %1 문서 저장 - + Document 문서 - - + + Failed to save document 문서 저장 실패 - + Documents contains cyclic dependencies. Do you still want to save them? 문서에는 주기적 종속성이 포함되어 있습니다. 아직도 저장하길 원하나요? - + Save a copy of the document under new filename... 문서의 사본을 새 파일 이름으로 저장하기... - + %1 document (*.FCStd) %1 문서 (*.FCStd) - + Document not closable 문서를 닫을 수 없습니다 - + The document is not closable for the moment. 그 문서는 당분간 닫을 수 없다. - + Document not saved 문서가 저장되지 않았습니다 - + The document%1 could not be saved. Do you want to cancel closing it? %1 문서를 저장할 수 없습니다. 닫기를 취소하시겠습니까? - + Undo Undo - + Redo Redo - + There are grouped transactions in the following documents with other preceding transactions 다음 문서에 다른 이전 트랜잭션과 함께 그룹화된 트랜잭션이 있습니다. - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9031,47 +8359,47 @@ Choose 'Abort' to abort 매크로 저장하기 - - + + Finish 마침 - - + + Clear 지우기 - - - + + + Cancel 취소하기 - + Inner 안쪽 - + Outer 바깥쪽 - + Split 분할 - - + + No Browser 브라우저 없음 - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9080,48 +8408,48 @@ Please open a browser window and type in: http://localhost:%1. 브라우저 창을 열고 http://localhost:%1을 입력하십시오. - + No Server 서버 없음 - + Unable to start the server to port %1: %2. Unable to start the server to port %1: %2. - + Unable to open your system browser. 시스템 브라우저를 열 수 없습니다. - + Options... 옵션... - + Out of memory 메모리 부족 - + Not enough memory available to display the data. 데이터를 화면표시하는 데 사용할 수 있는 메모리가 충분하지 않습니다. - - + + Cannot find file %1 %1 파일을 찾을 수 없습니다 - + Cannot find file %1 neither in %2 nor in %3 %2 또는 %3에서 %1 파일을 찾을 수 없습니다 - + Navigation styles 탐색 스타일 @@ -9131,8 +8459,8 @@ Please open a browser window and type in: http://localhost:%1. 애노테이션 이동하기 - - + + Transform 변환하기 @@ -9142,42 +8470,42 @@ Please open a browser window and type in: http://localhost:%1. 다이얼로그를 닫으시겠습니까? - + Do you want to save your changes to document '%1' before closing? 문서를 닫기 전에 변경 내용을 '%1'에 저장하시겠습니까? - + Do you want to save your changes to document before closing? 닫기 전에 변경사항을 문서에 저장하시겠습니까? - + If you don't save, your changes will be lost. 저장하지 않으면 변경 내용이 손실됩니다. - + Apply answer to all 모든 것에 답변 적용 - + %1 Document(s) not saved %1문서가 저장되지 않았습니다. - + Some documents could not be saved. Do you want to cancel closing? 일부 문서를 저장할 수 없습니다. 닫는 것을 취소하시겠습니까? - + Delete macro 매크로 삭제 - + Not allowed to delete system-wide macros 시스템 전체 매크로 삭제가 허용되지 않음 @@ -9187,27 +8515,27 @@ Please open a browser window and type in: http://localhost:%1. 원점 - + Delete group content? 그룹 내용을 삭제하시겠습니까? - + The %1 is not empty, delete its content as well? %1이 비어 있지 않습니다. 내용도 삭제하시겠습니까? - + Translation: 이동: - + Rotation: 회전: - + Toggle active part 활성 부품 전환하기 @@ -9270,88 +8598,87 @@ Please open a browser window and type in: http://localhost:%1. 모든 링크를 가져오지 못했습니다 - - + + Invalid name 잘못된 이름 - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. - The property name or group name must only contain alpha numericals, -underscore, and must not start with a digit. + 속성 또는 그룹에 이름을 지정할 때 규칙은 첫글자는 숫자가 아니어야 하고, 알파벳, 밑줄, 숫자들로 되어 있어야 하는 것입니다. - + The property '%1' already exists in '%2' The property '%1' already exists in '%2' - + Add property 속성 추가하기 - + Failed to add property to '%1': %2 '%1'에 속성을 추가하지 못했습니다: %2 - - + + Drag & drop failed 드래그 엔 드랍 실패 - + Setup configurable object 설정 구성 가능한 객체 - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. 구성이 변경될 때 복사하거나 제외할 객체를 선택합니다. 모든 외부 링크된 객체는 기본적으로 제외됩니다. - + Please select which objects to copy when the configuration is changed 구성이 변경될 때 복사할 객체를 선택하십시오 - + Apply to all 모두에 적용하기 - + Apply the setting to all links. Or, uncheck this option to apply only to this link. 모든 링크에 설정을 적용합니다. 또는, 이 링크에만 적용하려면 이 옵션을 선택 취소합니다. - + Copy on change 변경 시 복사하기 - + Enable 활성화 - + Enable auto copy of linked object when its configuration is changed 구성이 변경되면 링크된 객체의 자동 복사 활성화하기 - + Tracking 트래킹 - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9359,17 +8686,17 @@ Also auto redo the copy if the original linked object is changed. 또한 원래 링크된 객체가 변경된 경우 복사를 자동으로 다시 실행합니다. - + Disable copy on change 변경 시 복사 비활성화하기 - + Refresh configurable object 구성 가능한 객체 새로고침 - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9378,28 +8705,28 @@ the current copy will be lost. 현재 사본에서 변경한 내용은 모두 손실됩니다 - + Toggle array elements 배열 요소 전환하기 - + Change whether show each link array element as individual objects 각 링크 배열 요소를 개별 객체로 표시할지 여부 변경하기 - + Transform at the origin of the placement 배치의 원점에서 변환하기 - - + + Override colors... 색상 재정의하기... - + Edit %1 Edit %1 @@ -9422,12 +8749,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: 허용 되지 않습니다. - + Selection not allowed by filter 필터에서 허용되지 않는 선택 @@ -9435,9 +8762,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection 박스 요소 선택항목 @@ -9445,13 +8772,13 @@ the current copy will be lost. StdBoxSelection - + Box selection 박스 선택항목 - - + + Activate the box selection tool Activate the box selection tool @@ -9529,13 +8856,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross 축 교차 전환하기 - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9641,13 +8968,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... 턴테이블 보기... - - + + View turntable 턴테이블 보기 @@ -9767,13 +9094,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style 그리기 스타일 - - + + Change the draw style of the objects 오브젝트의 그리기 스타일 변경 @@ -9837,13 +9164,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Expression actions - - + + Actions that apply to expressions Actions that apply to expressions @@ -9960,13 +9287,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display 디스플레이 고정 - - + + Freezes the current view position 현재 보기 위치를 고정합니다 @@ -9987,13 +9314,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects 모든 객체 숨기기 - - + + Hide all objects in the document 문서에서 모든 객체 숨기기 @@ -10001,13 +9328,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection 선택 영역 숨기기 - - + + Hide all selected objects 선택된 모든 객체 숨기기 @@ -10281,13 +9608,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance 거리 측정 - - + + Activate the distance measurement tool 거리 측정 도구 활성화 @@ -10346,8 +9673,8 @@ the current copy will be lost. 비어 있는 새 문서 만들기 - - + + Unnamed 이름없음 @@ -10575,8 +9902,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - 최근 파일 + Open Recent + Open Recent @@ -10714,13 +10041,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... 장면 검사기... - - + + Scene inspector 장면 검사기 @@ -10728,13 +10055,13 @@ the current copy will be lost. StdCmdSelBack - + &Back 뒤로(&B) - - + + Go back to previous selection 이전 선택 항목으로 돌아가기 @@ -10742,13 +10069,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box 경계 상자(&B) - - + + Show selection bounding box 선택항목 경계 상자 표시하기 @@ -10756,13 +10083,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward 앞으로(&F) - - + + Repeat the backed selection 백업된 선택 반복 @@ -10784,13 +10111,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects 표시된 모든 오브젝트 - - + + Select visible objects in the active document 활성 문서에서 보이는 오브젝트 선택 @@ -10812,13 +10139,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... 설정... - - + + Sets the display properties of the selected object 선택한 객체의 화면표시 속성을 설정합니다 @@ -10826,13 +10153,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects 모든 객체 표시하기 - - + + Show all objects in the document 문서에서 모든 객체 표시하기 @@ -10840,13 +10167,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection 선태항목 표시하기 - - + + Show all selected objects 선택된 모든 객체 표시하기 @@ -10882,13 +10209,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... 텍스처 매핑... - - + + Texture mapping 텍스처 매핑 @@ -10924,13 +10251,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane 평면 오리기 - - + + Toggles clipping plane for active view 활성 보기를 위한 평면 오리기 전환하기 @@ -10938,13 +10265,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode 탐색/편집 모드 전환하기 - - + + Toggle between navigation and edit mode 탐색 모드와 편집 모드 간 전환하기 @@ -10952,13 +10279,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects 모든 객체 전환하기 - - + + Toggles visibility of all objects in the active document 활성 문서에서 모든 객체의 보기 전환하기 @@ -10966,13 +10293,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability 선택 가능성 전환하기 - - + + Toggles the property of the objects to get selected in the 3D-View 3D 보기에서 선택할 객체의 속성을 전환합니다 @@ -10980,13 +10307,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility 가시성 전환하기 - - + + Toggles visibility 가시성 전환하기 @@ -11036,13 +10363,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item 선택한 항목 접기 - - + + Collapse currently selected tree items 현재 선택한 트리 항목 접기 @@ -11050,13 +10377,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item 선택한 항목 펼치기 - - + + Expand currently selected tree items 현재 선택된 트리 항목 펼치기 @@ -11064,13 +10391,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances 모든 인스턴스 선택하기 - - + + Select all instances of the current selected object 현재 선택한 오브젝트의 모든 경우 선택 @@ -11078,13 +10405,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions 트리보기 작업 - - + + TreeView behavior options and actions 트리보기 동작 옵션 및 작업 @@ -11148,13 +10475,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom 저면 - - + + Set to bottom view 저면도로 설정하기 @@ -11162,13 +10489,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view 새 3D 보기 만들기 - - + + Creates a new view window for the active document 활성 문서에 대한 새 보기 창을 만듭니다 @@ -11176,13 +10503,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric 디메트릭 - - + + Set to dimetric view 이각투상도로 설정하기 @@ -11190,13 +10517,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor 예시 #1 - - + + Shows a 3D texture with manipulator 조작기로 3D 텍스처를 표시합니다 @@ -11204,13 +10531,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor 예시 #2 - - + + Shows spheres and drag-lights 구체 및 드래그 라이트 표시하기 @@ -11218,13 +10545,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor 예시 #3 - - + + Shows a animated texture 애니메이션 텍스처를 표시합니다 @@ -11232,13 +10559,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all 전체 보기 - - + + Fits the whole content on the screen 전체 내용이 화면에 보이도록 조정합니다 @@ -11246,13 +10573,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection 선택 보기 - - + + Fits the selected content on the screen 선택한 내용이 화면에 보이도록 조정합니다 @@ -11260,13 +10587,13 @@ the current copy will be lost. StdCmdViewFront - + Front 정면 - - + + Set to front view 정면도로 설정하기 @@ -11274,13 +10601,13 @@ the current copy will be lost. StdCmdViewHome - + Home - - + + Set to default home view 기본 홈 보기로 설정하기 @@ -11288,13 +10615,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric 아이소메트릭 - - + + Set to isometric view 등각투상도로 설정하기 @@ -11302,27 +10629,27 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Issue camera position - - + + Issue the camera position to the console and to a macro, to easily recall this position - Issue the camera position to the console and to a macro, to easily recall this position + 이 위치를 나중에 쉽게 이용하기 위해, 콘솔과 매크로를 사용하여 카메라의 위치를 다루는 과정을 시행해 두세요 StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns 입체 인터리브 열 - - + + Switch stereo viewing to Interleaved Columns 인터리브 열로 입체 바라보기 바꾸기 @@ -11330,13 +10657,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows 입체 인터리브 행 - - + + Switch stereo viewing to Interleaved Rows 인터리브 행으로 입체 바라보기 바꾸기 @@ -11344,13 +10671,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off 입체 끄기 - - + + Switch stereo viewing off 입체 바라보기 끄기 바꾸기 @@ -11358,13 +10685,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer 입체 쿼드 버퍼 - - + + Switch stereo viewing to quad buffer 입체 보기를 쿼드 버퍼로 바꾸기 @@ -11372,13 +10699,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan 입체 빨강/녹청 - - + + Switch stereo viewing to red/cyan 빨강/녹청 입체 보기 바꾸기 @@ -11386,13 +10713,13 @@ the current copy will be lost. StdCmdViewLeft - + Left 좌측면 - - + + Set to left view 좌측면도로 설정하기 @@ -11400,13 +10727,13 @@ the current copy will be lost. StdCmdViewRear - + Rear 배면 - - + + Set to rear view 배면도로 설정하기 @@ -11428,13 +10755,13 @@ the current copy will be lost. StdCmdViewRight - + Right 우측면 - - + + Set to right view 우측면도로 설정하기 @@ -11442,13 +10769,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left 왼쪽으로 돌리기 - - + + Rotate the view by 90° counter-clockwise 뷰를 시계 반대 방향으로 90° 회전 @@ -11456,13 +10783,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right 오른쪽으로 회전 - - + + Rotate the view by 90° clockwise 뷰를 시계 방향으로 90° 돌립니다. @@ -11484,13 +10811,13 @@ the current copy will be lost. StdCmdViewTop - + Top 평면 - - + + Set to top view 평면도로 설정하기 @@ -11498,13 +10825,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric 트라이메트릭 - - + + Set to trimetric view 삼각투상도로 설정하기 @@ -11512,13 +10839,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Extend the FreeCAD 3D Window to a Oculus Rift @@ -11582,13 +10909,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen 전체 화면 - - + + Display the main window in fullscreen mode 메인 윈도우를 전체 화면 모드로 표시 @@ -11624,13 +10951,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view 작업 뷰 불러오기 - - + + Recall previously stored temporary working view 이전에 저장된 임시 작업 뷰 호출 @@ -11638,13 +10965,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view 작업 뷰 저장 - - + + Store a document-specific temporary working view 문서별 임시 작업 뷰 저장 @@ -11652,13 +10979,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand 접기/펼치기 - - + + Expand active document and collapse all others 활성 문서 펼치기 및 다른 모든 문서 접기 @@ -11666,12 +10993,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Initiate dragging - + Initiate dragging of current selected tree items Initiate dragging of current selected tree items @@ -11679,13 +11006,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document 다중 문서 - - + + Display all documents in the tree view 트리 뷰에 모든 문서 표시 @@ -11693,12 +11020,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection 사전-선택항목 - + Preselect the object in 3D view when mouse over the tree item 트리 항목 위로 마우스를 가져갈 때 3D 보기에서 객체 미리 선택하기 @@ -11706,12 +11033,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection 선택항목 기록하기 - + Record selection in tree view in order to go back/forward using navigation button 탐색 버튼을 사용하여 뒤로/앞으로 가려면 트리 보기에 선택항목 기록하기 @@ -11719,13 +11046,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection 선택항목으로 가기 - - + + Scroll to first selected item 처음 선택한 항목으로 스크롤 @@ -11733,13 +11060,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document 단일 문서 - - + + Only display the active document in the tree view 트리 보기에서 활성 문서만 보이기 @@ -11747,12 +11074,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement 배치 동기화하기 - + Auto adjust placement on drag and drop objects across coordinate systems 좌표계 전체에서 드래그 앤 드롭 객체의 배치 자동 조정 @@ -11760,12 +11087,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection 선택항목 동기화하기 - + Auto expand tree item when the corresponding object is selected in 3D view 3D 보기에서 해당 객체 선택 시 트리 항목 자동 펼치기 @@ -11773,12 +11100,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view 보기 동기화하기 - + Auto switch to the 3D view containing the selected item 선택한 항목이 포함된 3D 보기로 자동 전환하기 @@ -11786,13 +11113,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom 확대/축소영역 지정 - - + + Activate the box zoom tool Activate the box zoom tool @@ -11800,13 +11127,13 @@ the current copy will be lost. StdViewDock - + Docked 고정 - - + + Display the active view either in fullscreen, in undocked or docked mode Display the active view either in fullscreen, in undocked or docked mode @@ -11814,13 +11141,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window 문서 창 - - + + Display the active view either in fullscreen, in undocked or docked mode Display the active view either in fullscreen, in undocked or docked mode @@ -11828,13 +11155,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen 전체 화면 - - + + Display the active view either in fullscreen, in undocked or docked mode Display the active view either in fullscreen, in undocked or docked mode @@ -11842,13 +11169,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Save image... - - + + Creates a screenshot of the active view 액티브 뷰의 스크린샷을 만듭니다. @@ -11856,13 +11183,13 @@ the current copy will be lost. StdViewUndock - + Undocked 고정 해제 - - + + Display the active view either in fullscreen, in undocked or docked mode Display the active view either in fullscreen, in undocked or docked mode @@ -11870,13 +11197,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In 확대 - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11884,13 +11211,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out 축소 - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11924,72 +11251,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is 이와 - + Normal mode 보통 모드 - + Points Points - + Points mode 포인트 모드 - + Wireframe 와이어 프레임 - + Wireframe mode 와이어 프레임 모드 - + Hidden line 은선 - + Hidden line mode 은선 모드 - + No shading 음영 없음 - + No shading mode 음영 모드 없음 - + Shaded 음영 처리 - + Shaded mode 음영 처리 모드 - + Flat lines 평평한 라인 - + Flat lines mode 평평한 라인 모드 @@ -12050,32 +11377,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. 트리 보기 항목 배경입니다. 오버레이에서만 유효합니다. - + Tree view item background padding. 트리 보기 항목 배경 패딩입니다. - + Hide extra tree view column for item description. 항목 설명에 대한 추가 트리 뷰 열을 숨깁니다. - + Hide tree view scroll bar in dock overlay. 독 오버레이에서 트리 보기 스크롤 막대를 숨깁니다. - + Hide tree view header view in dock overlay. 독 오버레이에서 트리 보기 헤더 보기를 숨깁니다. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12083,117 +11410,117 @@ Do you still want to proceed? Workbench - + &File 파일(&F) - + &Edit 편집(&E) - + Edit 편집 - + Clipboard Clipboard - + Workbench 워크벤치 - + Structure 구조 - + Standard views 표준 보기 - + Axonometric 축척 - + &Stereo 스테레오(&S) - + &Zoom 확대/축소(&Z) - + Visibility 표시 여부 - + &View 보기(&V) - + &Tools 도구(&T) - + &Macro 매크로(&M) - + &Windows 창(&W) - + &On-line help 온라인 도움말(&O) - + &Help 도움말(&H) - + Help 도움말 - + File 파일 - + Macro 매크로 - + View 보기 - + Special Ops 특수 설정 - + Link actions 링크 작업 @@ -12201,12 +11528,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF PDF로 내보내기 - + PDF file PDF 파일 @@ -12214,195 +11541,189 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Notification Area - + Settings Settings - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar - Non-intrusive notifications will appear next to the notification area in the status bar + 다음번에는 상태바 속에 알림 영역에 불쾌하지 않는 알림 내용이 보여질 겁니다 - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Additional data sources - + Errors intended for developers will appear in the notification area Errors intended for developers will appear in the notification area - + Debug errors Debug errors - + Warnings intended for developers will appear in the notification area Warnings intended for developers will appear in the notification area - + Debug warnings Debug warnings - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches 사용 가능한 워크벤치 - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches FreeCAD 실행 후 활성화되고 표시될 워크벤치 고르기 - + Workbench selector position : 워크벤치 선택기 위치: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12416,12 +11737,12 @@ after FreeCAD launches '오른쪽 모서리': 메뉴 모음의 오른쪽 모서리에 있습니다. - + If checked, application will remember which workbench is active for each tab of the viewport 이 옵션을 선택하면, 뷰포트의 각 탭에 대해 활성 상태인 워크벤치를 기억합니다 - + Remember active workbench by tab 탭별로 활성 워크벤치 기억하기 @@ -12570,47 +11891,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. 이것은 현재 시작 모듈이며 자동으로 불러오기되어야 합니다. 변경하려면 환경설정/일반/자동으로 불러오기를 참조하십시오. - + Loaded 불러오기 됨 - + Load 불러오기 - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12618,17 +11939,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar 도구 모음 - + Left corner 왼쪽 모서리 - + Right corner 오른쪽 모서리 @@ -12654,12 +11980,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12695,13 +12021,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image @@ -12763,10 +12089,809 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + 편집기 + + + + Options + 옵션 + + + + Code lines will be numbered + 코드 라인에 번호가 매겨집니다 + + + + Enable line numbers + 줄 번호를 활성화 + + + + The cursor shape will be a block + 커서가 곧 잠금됩니다. + + + + Enable block cursor + 커서 잠금 할성화 + + + + Enable folding + 폴딩 가능 + + + + Indentation + 들여쓰기 + + + + Tab size: + 탭 크기: + + + + Tabulator raster (how many spaces) + Tabulator 래스터(공백 수) + + + + Indent size: + 들여쓰기 : + + + + How many spaces will be inserted when pressing <Tab> + <Tab>이 입력 되었을때 얼만큼의 공간이 삽입 될 것인가 + + + + Pressing <Tab> will insert a tabulator with defined tab size + <Tab>을 누르면 정의된 탭 크기의 표가 삽입됩니다 + + + + Keep tabs + 탭 유지 + + + + Pressing <Tab> will insert amount of defined indent size + <Tab>을 누르면 정의된 들여쓰기 크기가 삽입됩니다. + + + + Insert spaces + 공백 삽입 + + + + Display items + 항목 보이기 + + + + Color and font settings will be applied to selected type + 선택한 유형에 색상 및 글꼴 설정이 적용됩니다 + + + + Family: + 가족: + + + + Font family to be used for selected code type + 선택한 코드 유형에 사용할 글꼴 집합 + + + + Size: + 크기: + + + + Font size to be used for selected code type + 선택한 코드 유형에 사용할 글꼴 크기 + + + + Color: + Color: + + + + Preview: + 미리보기: + + + + Text + 텍스트 + + + + Bookmark + 책갈피 + + + + Breakpoint + 중단점 + + + + Keyword + 키워드 + + + + Comment + 주석 + + + + Block comment + 블록 주석 + + + + Number + 숫자 + + + + String + 문자열 + + + + Character + 문자 + + + + Class name + 클래스 이름 + + + + Define name + 이름 정의 + + + + Operator + 연산자 + + + + Python output + Python 출력 + + + + Python error + Python 오류 + + + + Current line highlight + 현재 줄 강조 표시 + + + + Items + 항목 + + + + Gui::Dialog::DlgSettingsGeneral + + + General + 일반 + + + + Language and number format + 언어 및 숫자 형식 + + + + Language: + 언어: + + + + Language of the application's user interface + 응용 프로그램의 사용자 인터페이스 언어 + + + + Unit system: + 단위 체계 + + + + Unit system that should be used for all parts of the application + 응용프로그램의 모든 부분에 사용해야 하는 단위 시스템 + + + + Number of decimals: + 소수점 자릿수 + + + + Number of decimals that should be shown for numbers and dimensions + 숫자 및 치수에 대해 표시되어야 하는 소수점 자릿수 + + + + Minimum fractional inch: + 최소 분수 인치: + + + + Minimum fractional inch to be displayed + 화면표시할 최소 분수 인치 + + + + Number format: + 숫자 형식: + + + + Operating system + 운영 체제 + + + + Selected language + 선택된 언어 + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + 활성화된 경우 숫자 키패드 10진수 구분 기호가 항상 점/주기가 인쇄되는 Python 콘솔 및 매크로 편집기를 제외하고 로케일 구분 기호로 대체됩니다. + + + + Substitute decimal separator + Substitute decimal separator + + + + Application + 응용 프로그램 + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + 도구 모음 아이콘 크기 + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + 도구 모음 아이콘 크기에 대한 환경설정을 선택합니다. +화면 크기나 개인 취향에 따라 조정할 수 있습니다. + + + + Tree view mode: + 트리 뷰 모드: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + 패널에 트리 보기가 표시되는 방식을 사용자 지정합니다(다시 시작해야 함). + +'콤보보기': 트리 보기와 속성 보기를 하나의 패널로 결합합니다. +'트리보기 및 속성보기': 트리 보기와 속성 보기를 별도의 패널로 분할합니다. +'둘 다': 세 개의 패널을 모두 유지하면 두 세트의 트리 보기와 속성 보기를 가질 수 있습니다. + + + + Size of recent file list: + 최근 파일 목록의 크기: + + + + How many files should be listed in recent files list + 최근 파일 목록에 나열되어야 하는 파일 수 + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + 기본 창의 배경(문서가 열려 있지 않은 경우) 은 특수 이미지의 타일로 구성됩니다. +이미지에 대한 자세한 내용은 FreeCAD 위키를 참조하세요. + + + + Enable tiled background + 타일식 배경 사용 + + + + The text cursor will be blinking + 텍스트 커서가 깜박입니다 + + + + Enable cursor blinking + 커서 깜박임 활성화하기 + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + 시작 화면은 FreeCAD가 시작될 때 표시되는 작은 로딩 창입니다. +이 옵션을 선택하면, FreeCAD가 시작 화면을 표시합니다. + + + + Enable splash screen at start up + 시작시 스플래시 화면을 사용 + + + + Preference packs + 환경설정 팩 + + + + Name + 이름 + + + + Type + 유형 + + + + Load + 불러오기 + + + + Import config... + 구성 가져오기... + + + + Save new... + 새로 저장하기... + + + + Manage... + 관리... + + + + Revert... + 되돌리기... + + + + Manage preference packs + 환경설정 팩 관리하기 + + + + Small (%1px) + 작게(%1px) + + + + Medium (%1px) + 중간(%1px) + + + + Large (%1px) + 크게(%1px) + + + + Extra large (%1px) + 아주크게(%1px) + + + + Custom (%1px) + 커스텀(%1px) + + + + Combo View + 콤보 보기 + + + + TreeView and PropertyView + 트리보기 및 속성보기 + + + + Both + 둘다 + + + + Preference Pack Name + 환경설정 팩 이름 + + + + Tags + 태그 + + + + Apply + 적용 + + + + Apply the %1 preference pack + %1 환경설정 팩 적용하기 + + + + Choose a FreeCAD config file to import + 가져올 FreeCAD 구성 파일 고르기 + + + + File exists + 파일이 존재합니다 + + + + A preference pack with that name already exists. Overwrite? + 해당 이름의 환경설정 팩이 이미 있습니다. 덮어쓰시겠습니까? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + 보고서 보기 + + + + Output + 출력 + + + + Normal messages will be recorded + 정상적인 메시지가 기록됩니다 + + + + Record normal messages + 정상적인 메시지 기록하기 + + + + Log messages will be recorded + 로그 메시지가 기록됩니다 + + + + Record log messages + 로그 메시지를 기록 + + + + Warnings will be recorded + 경고가 곧 기록됩니다 + + + + Record warnings + 경고를 기록 + + + + Error messages will be recorded + 오류 메시지가 기록됩니다 + + + + Record error messages + 에러 메시지를 기록 + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + 오류가 발생하면 오류를 표시하는 동안 보고서 보기 대화 상자가 화면에 표시됩니다. + + + + Show report view on error + 오류 시 보고서 보기 표시하기 + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + 경고가 발생하면 경고를 표시하는 동안 보고서 보기 대화 상자가 화면에 표시됩니다. + + + + Show report view on warning + 경고 시 보고서 보기 표시하기 + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + 정상적인 메시지가 발생하면, 메시지를 표시하는 동안 보고서 보기 대화상자가 +화면에 표시됩니다 + + + + Show report view on normal message + 정상 메시지에 보고서 보기 표시하기 + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + 로그 메시지가 발생하면 로그 메시지를 표시하는 동안 보고서 보기 대화 상자가 화면에 표시됩니다. + + + + Show report view on log message + 로그 메시지에 보고서 보기 표시하기 + + + + Include a timecode for each report + 각 보고서에 대한 시간 코드 포함하기 + + + + Include a timecode for each entry + 각 항목에 대한 시간 코드 포함하기 + + + + Colors + 색상 + + + + Normal messages: + 일반 메시지: + + + + Font color for normal messages in Report view panel + 보고서 보기 패널의 정상적인 메시지 글꼴 색상 + + + + Log messages: + 로그 메시지: + + + + Font color for log messages in Report view panel + 보고서 보기 패널의 로그 메시지 글꼴 색상 + + + + Warnings: + 경고: + + + + Font color for warning messages in Report view panel + 보고서 보기 패널의 경고 메시지 글꼴 색상 + + + + Errors: + 오류: + + + + Font color for error messages in Report view panel + 보고서 보기 패널의 오류 메시지 글꼴 색상 + + + + Python interpreter + Python 해석 프로그램 + + + + Internal Python output will be redirected +from Python console to Report view panel + 내부 Python 출력이 Python 콘솔에서 +보고서 보기 패널로 다시 보내집니다 + + + + Redirect internal Python output to report view + 내부 Python 출력을 보고서 보기로 다시 보내기 + + + + Internal Python error messages will be redirected +from Python console to Report view panel + 내부 Python 오류 메시지는 Python 콘솔에서 +보고서 보기 패널로 다시 보내집니다 + + + + Redirect internal Python errors to report view + 내부 Python 오류를 보고서 보기로 다시 보내기 + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + 스타일 시트 없음 + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_nl.ts b/src/Gui/Language/FreeCAD_nl.ts index bbe242a4e9..c1779e2e06 100644 --- a/src/Gui/Language/FreeCAD_nl.ts +++ b/src/Gui/Language/FreeCAD_nl.ts @@ -42,31 +42,31 @@ Visuele grootte van de functie - + <empty> <empty> - - + + Angle Hoek - - + + Axis As - + Position Positie - + Enum - Enum + Enum @@ -77,26 +77,26 @@ CmdTestConsoleOutput - + Test console output Console uitvoer van testen - - + + Run test cases to verify console messages - Run test cases to verify console messages + Doe een aantal testen om console-berichten te verifiëren CmdViewMeasureClearAll - + Clear measurement Metingen uitwissen - + Clear all visible measurements Alle zichtbare metingen wissen @@ -104,14 +104,14 @@ CmdViewMeasureToggleAll - + Toggle measurement Metingen schakelen - + Turn on or off the display of all measurements - Turn on or off the display of all measurements + Schakel de weergave van alle maten in of uit @@ -132,7 +132,7 @@ Verwijderen - + Paste expressions Paste expressions @@ -182,9 +182,9 @@ Een groep toevoegen - + Align - Align + Uitlijnen @@ -193,40 +193,40 @@ Plaatsing - - + + Transform Transformeren - + Toggle array elements - Toggle array elements + Schakel array-elementen in/uit - + Link Transform Koppeling transformeren - + Measure distance Afstand meten - + Toggle visibility Wissel zichtbaarheid - + Toggle selectability Schakel selecteerbaarheid aan/uit - + Edit image Afbeelding bewerken @@ -234,77 +234,77 @@ CommandGroup - + File Bestand - + Edit Bewerken - + Help Help - + Link Link - + Tools Gereedschap - + View Aanzicht - + Window Venster - + Standard Standaard - + Macros Macro's - + Macro Macro - + Structure Structuur - + Standard-Test Standaard-Test - + Standard-View Standaardweergave - + TreeView StructuurWeergave - + Measure Meten @@ -369,7 +369,7 @@ Reverse - Omdraaien + Omgekeerde @@ -402,11 +402,6 @@ DownloadItem - - - Form - Vorm - Ico @@ -421,44 +416,44 @@ EditMode - + Default Standaard - + The object will be edited using the mode defined internally to be the most appropriate for the object type - The object will be edited using the mode defined internally to be the most appropriate for the object type + Het object zal worden bewerkt met behulp van de intern gedefinieerde modus die het meest geschikt is voor dit type object - + Transform Transformeren - + The object will have its placement editable with the Std TransformManip command - The object will have its placement editable with the Std TransformManip command + De plaatsing van het object kan worden bewerkt met de Std TransformManip opdracht - + Cutting Snijden - + This edit mode is implemented as available but currently does not seem to be used by any object - This edit mode is implemented as available but currently does not seem to be used by any object + Deze bewerkingsmodus is geïmplementeerd zoals nu beschikbaar maar lijkt momenteel niet te worden gebruikt door een object - + Color Kleur - + The object will have the color of its individual faces editable with the Part FaceColors command - The object will have the color of its individual faces editable with the Part FaceColors command + De kleur van de individuele vlakken van het object kunnen worden bewerkt met de opdracht Part FaceColors @@ -482,7 +477,7 @@ geen - + Press a keyboard shortcut Druk op een sneltoets @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Beschikbaar: - + Selected: Geselecteerd: - + Add Toevoegen - + Remove Verwijderen - + Move up Naar boven verplaatsen - + Move down Naar beneden verplaatsen @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Verplaatsbaar object - + Fixed object Vast object @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Wacht tot het AutoHerstel-bestand gered is... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Druk op de linker muisknop - + Press SHIFT and middle mouse button Druk op SHIFT en middelste muisknop - + Press middle mouse button Druk op de middelste muisknop - + Scroll middle mouse button Scroll middelste muisknop @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Druk op de linker muisknop - + Press middle mouse button Druk op de middelste muisknop - + Press middle+left or middle+right button Druk op de middelste + links of midden + rechterknop - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Scroll of middelste muisknop of laar dezen onbediend terwijl linker of rechter muisknop wordt bediend en beweeg de muis omhoog of omlaag @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel &Annuleren @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Taken-deelvenster @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Credits - + FreeCAD would not be possible without the contributions of FreeCAD zou niet mogelijk zijn met het werk van - + Individuals Header for the list of individual people in the Credits list. Individuen - + Organizations Header for the list of companies/organizations in the Credits list. Organisaties - - + + License Licentie - + Libraries Bibliotheken - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Deze software maakt gebruik van open source componenten waarvan copyright en andere eigendomsrechten tot hun respectievelijke eigenaars behoren: - + Collection Collectie @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Cache map - + The cache directory %1 exceeds the size of %2. De cache map %1 overschrijdt de grootte van %2. - + Do you want to clear it now? Wilt u het nu wissen? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Waarschuwing: Zorg ervoor dat dit de enige actieve %1 instantie is en dat er geen documenten worden geopend, omdat dit kan leiden tot gegevensverlies! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Camera-instellingen - + Orientation - Oriëntatie + Orientatie - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Huidige weergave @@ -848,7 +843,7 @@ while doing a left or right click and move the mouse up or down Offset - Verschuiving + Afwijking @@ -875,7 +870,7 @@ while doing a left or right click and move the mouse up or down View - Aanzicht + Weergave @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Commando's @@ -1110,18 +1105,18 @@ Als dit niet is aangevinkt, dan moet de eigenschap uniek worden benoemd en is ka Property group templates - Property group templates + Sjablonen voor een groep eigenschappen Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists %@ bestaat al - + A preference pack with that name already exists. Do you want to overwrite it? Er bestaat al een pakket met voorkeuren met deze naam. Wilt u deze overschrijven? @@ -1271,7 +1266,7 @@ Als dit niet is aangevinkt, dan moet de eigenschap uniek worden benoemd en is ka To change a current shortcut enter the new shortcut in the field below and press 'Assign'. - To change a current shortcut enter the new shortcut in the field below and press 'Assign'. + Als u een huidige snelkoppeling wilt wijzigen, vul dan de nieuwe snelkoppeling in het veld hieronder in en klik op 'Toevoegen'. @@ -1281,30 +1276,28 @@ Als dit niet is aangevinkt, dan moet de eigenschap uniek worden benoemd en is ka Multi-key sequence delay: - Multi-key sequence delay: + Vertraging voor toets combinaties: Time in milliseconds to wait for the next key stroke of the current key sequence. For example, pressing 'F' twice in less than the time delay setting here will be be treated as shorctcut key sequence 'F, F'. - Time in milliseconds to wait for the next key stroke of the current key sequence. -For example, pressing 'F' twice in less than the time delay setting here will be -be treated as shorctcut key sequence 'F, F'. + Beschikbare tijd in milliseconden voor de volgende toets van de huidige toetscombinatie. +Bijvoorbeeld, het twee keer indrukken van 'F' in minder dan de ingestelde tijd zal +worden behandeld als een snelkoppeling toetscombinatie 'F, F'. This list shows commands having the same shortcut in the priority from high to low. If more than one command with the same shortcut are active at the same time. The one with the highest priority will be triggered. - This list shows commands having the same shortcut in the priority from high -to low. If more than one command with the same shortcut are active at the -same time. The one with the highest priority will be triggered. + Deze lijst toont commando's met dezelfde snelkoppeling, in prioriteit van hoog naar laag. Als er meer dan één commando met dezelfde snelkoppeling tegelijk actief zijn, zal degene met de hoogste prioriteit worden geactiveerd. Shortcut priority list: - Shortcut priority list: + Prioriteitenlijst snelkoppelingen: @@ -1349,7 +1342,7 @@ same time. The one with the highest priority will be triggered. Down - Naar beneden + Omlaag @@ -1359,48 +1352,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Typ om te zoeken... - + Icon Pictogram - + Command Commando - + Shortcut Sneltoets - + Default Standaard - + Name Naam - + Title - Hoofding + Titel - + All Alle - - + + none geen @@ -1408,8 +1401,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Gereedschap werkbalken @@ -1464,7 +1457,7 @@ same time. The one with the highest priority will be triggered. Move up - Naar boven verplaatsen + Verplaats naar boven @@ -1474,7 +1467,7 @@ same time. The one with the highest priority will be triggered. Move down - Naar beneden verplaatsen + Verplaats naar beneden @@ -1484,7 +1477,7 @@ same time. The one with the highest priority will be triggered. <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-weight:600;">Note:</span> The changes become active the next time you load the appropriate workbench</p></body></html> - <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"><span style=" font-weight:600;">Note:</span> The changes become active the next time you load the appropriate workbench</p></body></html> + Opmerking: de aanpassingen worden pas doorgevoerd de eerstvolgende keer dat de betreffende werkbank wordt geladen @@ -1494,44 +1487,44 @@ same time. The one with the highest priority will be triggered. Command - Commando + Opdracht - + <Separator> <Separator> - + %1 module not loaded %1 module niet geladen - + New toolbar Nieuwe werkbalk - - + + Toolbar name: Werkbalknaam: - - + + Duplicated name Dubbele naam - - + + The toolbar name '%1' is already used De werkbalk naam '%1' is al in gebruik - + Rename toolbar Werkbalk hernoemen @@ -1544,19 +1537,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Aanpassen - + &Help &Help - + &Close & Sluiten @@ -1565,13 +1558,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Spaceball beweging - + No Spaceball Present Geen Spaceball aanwezig @@ -1579,27 +1572,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Spaceball Buttons - + No Spaceball Present Geen Spaceball aanwezig - + Buttons Knoppen - + Reset Herstel - + Print Reference Afdruk referentie @@ -1684,551 +1677,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Standaard - + Aluminium Aluminium - + Brass Brons - + Bronze Brons - + Copper Koper - + Chrome Chroom - + Emerald Smaragd - + Gold Goud - + Jade Jade - + Metalized Gemetalliseerde - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidiaan - + Pewter Pewter - + Plaster Gips - + Plastic Kunststof - + Ruby Robijn - + Satin Satijn - + Shiny plastic Glanzende kunststof - + Silver Zilver - + Steel Staal - + Stone Steen Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opties - - - - Code lines will be numbered - Code-regels worden genummerd - - - - Enable line numbers - Activeer regelnummers - - - - The cursor shape will be a block - The cursor shape will be a block - - - - Enable block cursor - Enable block cursor - - - - Enable folding - Vouwing inschakelen - - - - Indentation - Indrukking - - - - Tab size: - Tabgrootte: - - - - Tabulator raster (how many spaces) - Tabulator raster (hoeveel spaties) - - - - Indent size: - Inspring grootte: - - - - How many spaces will be inserted when pressing <Tab> - Hoeveel spaties zullen worden ingevoegd bij het indrukken van <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Op <Tab> drukken zal een tabulator invoegen met een gedefinieerde tabgrootte - - - - Keep tabs - Behoud tabs - - - - Pressing <Tab> will insert amount of defined indent size - Op <Tab> klikken zal de grootte van de gedefinieerde inspringen invoegen - - - - Insert spaces - Spaties invoegen - - - - Display items - Items tonen - - - - Color and font settings will be applied to selected type - Kleur- en lettertype-instellingen worden toegepast op het geselecteerde type - - - - Family: - Familie: - - - - Font family to be used for selected code type - Lettertypefamilie die gebruikt moet worden voor het geselecteerde codetype - - - - Size: - Grootte: - - - - Font size to be used for selected code type - Lettergrootte die gebruikt moet worden voor het geselecteerde codetype - - - - Color: - Kleur: - - - - Preview: - Voorbeeldweergave: - '' - - Gui::Dialog::DlgGeneral - - - General - Algemeen - - - - Language of the application's user interface - Taal van de gebruikersinterface van de applicatie - - - - Number format: - Nummerformaat: - - - - Operating system - Besturingssysteem - - - - Selected language - Geselecteerde taal - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Preference packs - - - - Name - Naam - - - - Type - Type - - - - Load - Laad - - - - Import config... - Importeer configuratie... - - - - Save new... - Nieuwe opslaan... - - - - Manage... - Beheer... - - - - Revert... - Ongedaan maken... - - - - How many files should be listed in recent files list - Hoeveel bestanden moeten er in de lijst met recente bestanden worden opgenomen - - - - Enable tiled background - Betegelde achtergrond inschakelen - - - - The text cursor will be blinking - De tekstcursor zal knipperen - - - - Enable cursor blinking - Enable cursor blinking - - - - Style sheet: - Stijlblad: - - - - Language and number format - Taal en nummer formaat - - - - Language: - Taal: - - - - Unit system: - Eenheidssysteem: - - - - Unit system that should be used for all parts of the application - Unit system that should be used for all parts of the application - - - - Number of decimals: - Aantal decimalen: - - - - Number of decimals that should be shown for numbers and dimensions - Aantal decimalen dat moet worden weergegeven voor aantallen en afmetingen - - - - Minimum fractional inch: - Minimale fractie van een duim: - - - - Minimum fractional inch to be displayed - Minimale fractionele inch om weer te geven - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - Applicatie - - - - Style sheet how user interface will look like - Stijlblad hoe de gebruikersinterface eruit zal zien - - - - Size of toolbar icons: - Grootte van de werkbalk-pictogrammen: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Kies uw voorkeur voor de grootte van de werkbalkpictogrammen. U kunt -dit aanpassen aan uw schermgrootte of persoonlijke smaak - - - - Tree view mode: - Boomstructuurweergavemodus: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Pas aan hoe de Structuurweergave wordt weergegeven in het paneel (herstart vereist). - -'ComboView': combineer de SructuurWeergave en eigenschap in een paneel. -'TreeView and PropertyView': splits de Structuur- en eigenschapsweergave in aparte panelen. -'Both': houd alle drie de panelen bij, en u kunt twee sets Structuur- en eigenschapsweergave hebben. - - - - Size of recent file list: - Grootte van recente bestandslijst: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Een Splashscherm is een klein laadvenster dat wordt weergegeven -wanneer FreeCAD wordt opgestart. Als deze optie aangevinkt is, zal FreeCAD -het splashscherm weergeven - - - - Enable splash screen at start up - Activeer splash-scherm tijdens het opstarten - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Beheer voorkeurspakketten - - - - Small (%1px) - Kleine (%1px) - - - - Medium (%1px) - Medium (%1px) - - - - Large (%1px) - Grote (%1px) - - - - Extra large (%1px) - Extra groot (%1px) - - - - Custom (%1px) - Aangepaste (%1px) - - - - Combo View - Combi-weergave - - - - TreeView and PropertyView - Structuur- en Eigenschapsweergave - - - - Both - Beide - - - - No style sheet - Geen stijlblad - - - - Preference Pack Name - Preference Pack Name - - - - Tags - Labels - - - - Apply - Toepassen - - - - Apply the %1 preference pack - %1 voorkeurspakket toepassen - - - - Choose a FreeCAD config file to import - Kies een FreeCAD configuratiebestand om te importeren - - - - File exists - Bestand bestaat - - - - A preference pack with that name already exists. Overwrite? - Een voorkeurspakket met deze naam bestaat al. Overschrijven? - - Gui::Dialog::DlgInputDialog @@ -2244,8 +1809,8 @@ het splashscherm weergeven Gui::Dialog::DlgInspector - - + + Scene Inspector Scènekeuring @@ -2310,7 +1875,7 @@ het splashscherm weergeven Launch a guide on how to set up a macro in a custom global toolbar. - Launch a guide on how to set up a macro in a custom global toolbar. + Start een instructie over het opzetten van een macro in een aangepaste globale toolbar. @@ -2320,7 +1885,7 @@ het splashscherm weergeven Open Addon Manager where macros created by the community and other addons can be downloaded. - Open Addon Manager where macros created by the community and other addons can be downloaded. + Open Addon Manager waarin macro's gemaakt door de gemeenschap, en andere addons, kunnen worden gedownload. @@ -2337,70 +1902,70 @@ het splashscherm weergeven Gui::Dialog::DlgMacroExecuteImp - + Macros Macro's - + Read-only Alleen-lezen - + Macro file Macro-bestand - + Enter a file name, please: Gelieve een bestandsnaam in te voeren: - - - + + + Existing file Bestaand bestand - + '%1'. This file already exists. '%1'. Dit bestand bestaat reeds. - + Cannot create file Kan bestand niet aanmaken - + Creation of file '%1' failed. Creëren van bestand '%1' mislukt. - + Delete macro Verwijder macro - + Do you really want to delete the macro '%1'? Weet u zeker dat u macro '%1' wilt verwijderen? - + Do not show again Niet opnieuw tonen - + Guided Walkthrough Stap voor Stap begeleiding - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2411,78 +1976,78 @@ Opmerking: uw wijzigingen worden toegepast wanneer u de volgende keer van werkba - + Walkthrough, dialog 1 of 2 Stappenplan, dialoog 1 van 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Stappeninstructies: Vul de ontbrekende velden in (optioneel) en klik op Toevoegen en vervolgens op Sluiten - + Walkthrough, dialog 1 of 1 Stappenplan, dialoog 1 van 1 - + Walkthrough, dialog 2 of 2 Stappenplan, dialoog 2 van 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Stappeninstructies: Klik op de rechter pijltjestoets (->) en vervolgens op Sluiten. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Stappeninstructies: Klik op de knop Nieuw, vervolgens op de rechter pijltjestoets (->) en dan op Sluiten. - + Renaming Macro File Hernoemen van macrobestand - - + + Enter new name: Nieuwe naam invoeren: - - + + '%1' already exists. '%1' bestaat al. - + Rename Failed Hernoemen is mislukt - + Failed to rename to '%1'. Perhaps a file permission error? Kan de naam '%1' niet wijzigen. Misschien een fout met bestandsrechten? - + Duplicate Macro Macro dupliceren - + Duplicate Failed Dupliceren mislukt - + Failed to duplicate to '%1'. Perhaps a file permission error? Kan niet naar '%1' dupliceren. @@ -2519,45 +2084,45 @@ Misschien een fout met bestandsrechten? Close - Sluiten + Afsluiten Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Macro-recorder - + Specify first a place to save. Geef eerst de locatie om op te slaan. - + The macro directory doesn't exist. Please, choose another one. De macro-map bestaat niet. Gelieve een andere te kiezen. - + Existing macro Bestaande macro - + The macro '%1' already exists. Do you want to overwrite? De macro '%1' bestaat reeds. Wilt u het overschrijven? - + You have no write permission for the directory. Please, choose another one. U hebt geen schrijfrechten voor deze map. Kies een andere map. - + Choose macro directory Kies macro-map @@ -2630,12 +2195,12 @@ Misschien een fout met bestandsrechten? HTML-bestanden - + Access denied Toegang geweigerd - + Access denied to '%1' Specify another directory, please. @@ -2689,7 +2254,7 @@ Kies een andere map, alstublieft. &Close - & Sluiten + &Sluiten @@ -2751,7 +2316,7 @@ Kies een andere map, alstublieft. Group - Groep + Groeperen @@ -2802,12 +2367,12 @@ Kies een andere map, alstublieft. Manage Preference Packs - Manage Preference Packs + Beheer voorkeurspakketten Open Addon Manager... - Open Addon Manager... + Open Addon Manager... @@ -2815,17 +2380,17 @@ Kies een andere map, alstublieft. User-Saved Preference Packs - User-Saved Preference Packs + Door gebruiker opgeslagen voorkeurspakketten Built-In Preference Packs - Built-In Preference Packs + Ingebouwde voorkeurspakketten Toggle visibility of built-in preference pack '%1' - Toggle visibility of built-in preference pack '%1' + Zichtbaarheid van ingebouwd voorkeurspakket '%1 ' in-/uitschakelen @@ -2835,7 +2400,7 @@ Kies een andere map, alstublieft. Toggle visibility of Addon preference pack '%1' (use Addon Manager to permanently remove) - Toggle visibility of Addon preference pack '%1' (use Addon Manager to permanently remove) + Zichtbaarheid van het Addon voorkeurspakket '%1' in-/uitschakelen (gebruik Addon Manager om het permanent te verwijderen) @@ -2845,7 +2410,7 @@ Kies een andere map, alstublieft. Are you sure you want to delete the preference pack named '%1'? This cannot be undone. - Are you sure you want to delete the preference pack named '%1'? This cannot be undone. + Weet u zeker dat u het voorkeurspakket genaamd '%1' wilt verwijderen? Dit kan niet ongedaan worden gemaakt. @@ -2978,7 +2543,7 @@ Kies een andere map, alstublieft. &Comment: - &Comment: + &Opmerkingen: @@ -3035,36 +2600,36 @@ Kies een andere map, alstublieft. Project-bestand - - + + Empty source Lege bron - - + + No source is defined. Geen bron is gedefinieerd. - - + + Empty destination Lege bestemming - - + + No destination is defined. Geen bestemming is gedefinieerd. - + Failed to extract project - Failed to extract project + Kan project niet uitpakken - + Failed to create project Kan project niet aanmaken @@ -3114,188 +2679,6 @@ Kies een andere map, alstublieft. Gui::Dialog::DlgReportView - - - Report view - Rapportweergave - - - - Output - Uitvoer - - - - Normal messages will be recorded - Normale berichten worden opgenomen - - - - Record normal messages - Neem normale berichten op - - - - Log messages will be recorded - Logberichten worden opgenomen - - - - Record log messages - logboek-berichten bewaren - - - - Warnings will be recorded - Waarschuwingen zullen worden opgenomen - - - - Record warnings - Waarschuwingen bewaren - - - - Error messages will be recorded - Foutberichten worden opgenomen - - - - Record error messages - Foutmeldingen bewaren - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Wanneer er een fout is opgetreden, wordt het dialoogvenster Rapportweergave zichtbaar -op het scherm terwijl de fout wordt weergegeven - - - - Show report view on error - Rapportweergave bij fout weergeven - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Wanneer er een waarschuwing is opgetreden, wordt het dialoogvenster Rapportweergave zichtbaar -op het scherm terwijl de waarschuwing wordt weergegeven - - - - Show report view on warning - Rapportweergave bij waarschuwing weergeven - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Wanneer er een normaal bericht is opgetreden, wordt het dialoogvenster Rapportweergave -op het scherm zichtbaar terwijl het bericht wordt weergegeven - - - - Show report view on normal message - Rapportweergave weergeven op normaal bericht - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Wanneer er een logbericht is opgetreden, wordt het dialoogvenster Rapportweergave -op het scherm zichtbaar terwijl het bericht wordt weergegeven - - - - Show report view on log message - Rapportweergave weergeven op logbericht - - - - Include a timecode for each report - Voeg een tijdcode toe voor elk rapport - - - - Include a timecode for each entry - Voeg een tijdcode toe voor elke invoer - - - - Colors - Kleuren - - - - Normal messages: - Normale berichten: - - - - Font color for normal messages in Report view panel - Letterkleur voor normale berichten in rapportweergavepaneel - - - - Log messages: - Logboekberichten: - - - - Font color for log messages in Report view panel - Letterkleur voor logberichten in rapportweergavepaneel - - - - Warnings: - Waarschuwingen: - - - - Font color for warning messages in Report view panel - Letterkleur voor waarschuwingsberichten in rapportweergavepaneel - - - - Errors: - Fouten: - - - - Font color for error messages in Report view panel - Letterkleur voor foutberichten in rapportweergavepaneel - - - - Python interpreter - Python-interpreter - - - - Internal Python output will be redirected -from Python console to Report view panel - De interne Python-uitvoer wordt omgeleid -van de Python-console naar het rapportweergavepaneel - - - - Redirect internal Python output to report view - Interne Python uitvoer omleiden naar de rapportweergave - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Interne Python-foutberichten worden omgeleid -van de Python-console naar het rapportweergavepaneel - - - - Redirect internal Python errors to report view - Interne Python fouten omleiden naar rapportweergave - '' @@ -3311,7 +2694,7 @@ van de Python-console naar het rapportweergavepaneel WARNING: this process will undo any preference changes made since the specified date, and will also reset your Recent files and Macros to their state on that date. - WARNING: this process will undo any preference changes made since the specified date, and will also reset your Recent files and Macros to their state on that date. + WAARSCHUWING: deze stap zal eventuele wijzigingen van de voorkeursinstellingen, die zijn aangebracht sinds de opgegeven datum, ongedaan maken en zal ook je recente bestanden en macro's resetten naar de status op die datum. @@ -3322,7 +2705,7 @@ van de Python-console naar het rapportweergavepaneel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Geen selectie in dialoogvenster, kan back-upbestand niet laden @@ -3365,7 +2748,7 @@ van de Python-console naar het rapportweergavepaneel Help - + Select a file Selecteer een bestand @@ -3373,70 +2756,69 @@ van de Python-console naar het rapportweergavepaneel Gui::Dialog::DlgSettings3DView - + 3D View 3D-weergave - + General Algemeen - + Main coordinate system will always be shown in lower right corner within opened files Het hoofdcoördinatensysteem wordt altijd rechtsonder in de geopende bestanden getoond - + Show coordinate system in the corner Toon coördinatenstelsel in de hoek - + Relative size : Relatieve grootte: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport - Size of main coordinate system representation -in the corner -- in % of height/width of viewport + Relatieve grootte van het coördinatenstelsel, weergegeven in de hoek, -- in % van de hoogte/breedte van de weergave - + Axis cross will be shown by default at file opening or creation Assenkruis wordt standaard getoond het openen of aanmaken van bestand - + Show axis cross by default Toon assenkruis standaard - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files De tijd die nodig is voor de laatste bewerking en de resulterende framerate worden in geopende bestanden linksonder getoond - + Show counter of frames per second Toon teller van frames per seconde - + Rendering Rendering - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3445,22 +2827,22 @@ Changing this option requires a restart of the application. Het wijzigen van deze optie vereist een herstart van de toepassing. - + Use software OpenGL Gebruik software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Gebruik OpenGL VBO (Vertex Buffer Object) - + Render cache Cache renderen - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3471,19 +2853,14 @@ can be rendered directly by GPU. Note: Sometimes this feature may lead to a host of different issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - If selected, Vertex Buffer Objects (VBO) will be used. -A VBO is an OpenGL feature that provides methods for uploading -vertex data (position, normal vector, color, etc.) to the graphics card. -VBOs offer substantial performance gains because the data resides -in the graphics memory rather than the system memory and so it -can be rendered directly by GPU. + Indien geselecteerd, worden Vertex Buffer Objecten (VBO) gebruikt. +Een VBO is een OpenGL functie die methoden biedt voor het uploaden van vertex data (positie, normaal vector, kleur, enz.) naar de grafische kaart. +VBO's bieden aanzienlijke prestatiewinst omdat de gegevens in het grafische geheugen worden opgeslagen in plaats van in het systeemgeheugen en zo direct kunnen worden weergegeven door de GPU. -Note: Sometimes this feature may lead to a host of different -issues ranging from graphical anomalies to GPU crash bugs. Remember to -report this setting as enabled when seeking support on the FreeCAD forums +Opmerking: Soms kan deze functie leiden tot een scala van verschillende problemen, van grafische afwijkingen tot GPU crash bugs. Vergeet niet om deze instelling als -ingeschakeld- te rapporteren, bij het zoeken naar ondersteuning op de FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3491,101 +2868,99 @@ There are 3 options available to achieve this: 3) 'Centralized', manually turn off cache in all nodes of all view provider, and only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - 'Render Caching' is another way to say 'Rendering Acceleration'. -There are 3 options available to achieve this: -1) 'Auto' (default), let Coin3D decide where to cache. -2) 'Distributed', manually turn on cache for all view provider root node. -3) 'Centralized', manually turn off cache in all nodes of all view provider, and -only cache at the scene graph root node. This offers the fastest rendering speed -but slower response to any scene changes. + 'Render Caching' is een alternatieve uitdrukking voor 'Rendering versnelling'. +Er zijn 3 opties beschikbaar om dit te bereiken: +1) 'Auto' (standaard), laat Coin3D beslissen waar de cache terecht moet komen. +2) 'Verspreid', schakel handmatig de cache in voor alle ´weergave voorzieningen root nodes´. +3) 'Gecentraliseerd', schakel handmatig de cache uit in alle ´weergave nodes van elke voorziening´, en cache alleen op de ´scene beeld root node´. Dit biedt de hoogste rendersnelheid, maar een langzamere reactie op eventuele veranderingen in de scene. - + Auto Automatisch - + Distributed Verspreid - + Centralized Gecentraliseerd - + Anti-Aliasing Anti-aliasing - + What kind of multisample anti-aliasing is used Wat voor soort multisample anti-aliasing wordt gebruikt - + None Geen - + Line Smoothing Lijn vloeiend maken - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Transparante objecten: - + Render types of transparent objects Type transparante objecten renderen - + One pass Een passage - + Backface pass Passage op de achterkant - + Marker size: Markergrootte: - - Size of vertices in the Sketcher workbench - Grootte van eindpunten in de schetserwerkbank + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Oog-naar-oog-afstand voor stereomodi - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3594,48 +2969,48 @@ De opgegeven waarde is een factor die zal worden vermenigvuldigd met de begrenzingsvakgrootte van het 3D-object dat op dat moment wordt weergegeven. - + Backlight is enabled with the defined color Tegenlicht is ingeschakeld met de ingestelde kleur - - + + Backlight color Tegenlichtkleur - + Intensity Intensiteit - + Intensity of the backlight Intensiteit van het tegenlicht - + Camera type Cameratype - + Objects will appear in a perspective projection Objecten verschijnen in een perspectiefprojectie - + Perspective renderin&g Perspectief renderin&g - + Objects will be projected in orthographic projection Objecten zullen geprojecteerd worden in orthografische projectie - + Or&thographic rendering Or&thografische weergave @@ -3647,42 +3022,42 @@ de begrenzingsvakgrootte van het 3D-object dat op dat moment wordt weergegeven.< Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anti-aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Open een nieuwe viewer of %1 herstart om anti-aliasing wijzigingen toepassen. @@ -3690,79 +3065,79 @@ de begrenzingsvakgrootte van het 3D-object dat op dat moment wordt weergegeven.< Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Cache map - + Location: Locatie: - + Check periodically at program start: Controleer periodiek bij het opstarten van het programma: - + Always Altijd - + Daily Dagelijks - + Weekly Wekelijks - + Monthly Maandelijks - + Yearly Jaarlijks - + Never Nooit - + Cache size limit: - Cache size limit: + Maximale cache grootte: - + Check now... Nu controleren... - + Notify the user if the cache size exceeds the specified limit - Notify the user if the cache size exceeds the specified limit + Informeer de gebruiker als de cachegrootte de gespecificeerde maximale grootte overschrijdt - + Unknown Onbekend - + Current cache size: %1 - Current cache size: %1 + Huidige cache grootte: %1 @@ -3810,7 +3185,7 @@ de begrenzingsvakgrootte van het 3D-object dat op dat moment wordt weergegeven.< Color gradient is used with its full color range - Color gradient is used with its full color range + Kleurgradiënt wordt gebruikt met het volledige kleurbereik @@ -3825,7 +3200,7 @@ de begrenzingsvakgrootte van het 3D-object dat op dat moment wordt weergegeven.< Color gradient starts from the zero value - Color gradient starts from the zero value + Kleurgradiënt begint bij de nulwaarde @@ -3846,8 +3221,7 @@ de begrenzingsvakgrootte van het 3D-object dat op dat moment wordt weergegeven.< Data outside the specified min-max range will be displayed in gray - Data outside the specified min-max range -will be displayed in gray + Gegevens buiten het gespecificeerde min-max bereik worden in grijs weergegeven @@ -3863,13 +3237,12 @@ will be displayed in gray Data outside the specified min-max range will be displayed with transparency - Data outside the specified min-max range -will be displayed with transparency + Gegevens buiten het gespecificeerde min-max bereik worden transparant weergegeven Out &transparent - Out &transparent + Buiten min-max bereik &transparent @@ -3894,7 +3267,7 @@ will be displayed with transparency Number of labels besides the color bar - Number of labels besides the color bar + Aantal labels naast de kleurenbalk @@ -3910,8 +3283,7 @@ will be displayed with transparency Number of decimals for labels besides the color bar - Number of decimals for labels -besides the color bar + Aantal decimalen voor labels naast de kleurenbalk @@ -3921,12 +3293,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Verkeerde parameter - + The maximum value must be higher than the minimum value. De maximale waarde moet hoger zijn dan de minimale waarde. @@ -3934,181 +3306,181 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Document - + General Algemeen - + The application will create a new document when started De applicatie maakt een nieuw document aan wanneer deze wordt opgestart - + Create new document at start up Maak een nieuw document aan bij het opstarten - + Document save compression level (0 = none, 9 = highest, 3 = default) Document op te slaan compressie-niveau (0=geen, 9=hoogste, 3=standaard) - + Compression level for FCStd files Compressieniveau voor FCStd-bestanden - + All changes in documents are stored so that they can be undone/redone Alle wijzigingen in documenten worden opgeslagen en kunnen zo ongedaan worden gemaakt of opnieuw aangemaakt - + Using Undo/Redo on documents Gebruik undo/redo op documenten - + Maximum Undo/Redo steps Maximale 'ongedaan maken' / 'Opnieuw' stappen - + How many Undo/Redo steps should be recorded Hoeveel stappen van Ongedaan maken/Herstel ongedaan maken moeten worden geregistreerd - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Laat de gebruiker toe om de documentherberekening af te breken door op ESC te drukken. Deze functie kan de herberekeningstijd enigszins verlengen. - + Allow aborting recomputation Afbreken van herberekening toestaan - + Storage Opslag - + Saving transactions (Auto-save) Opslaan van transacties (automatisch opslaan) - + Discard saved transaction after saving document Opgeslagen transactie na het opslaan van het document negeren - + If there is a recovery file available the application will automatically run a file recovery when it is started. Als er een herstelbestand beschikbaar is, zal de applicatie automatisch een bestandsherstel uitvoeren wanneer deze wordt gestart. - + Run AutoRecovery at startup AutoHerstel bij het opstarten uitvoeren - + How often a recovery file is written Hoe vaak een herstelbestand wordt geschreven - + Save AutoRecovery information every AutoHerstel-informatie opslaan elke - + A thumbnail will be stored when document is saved Een miniatuur wordt opgeslagen wanneer het document wordt opgeslagen - + Save thumbnail into project file when saving document Miniatuur opslaat in projectbestand bij het opslaan van document - + Size Grootte - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Stelt de grootte van de miniatuur in die in het document is opgeslagen. Gebruikelijke maten zijn 128, 256 en 512 - + The program logo will be added to the thumbnail Het logo van het programma wordt toegevoegd aan de miniatuur - + Add the program logo to the generated thumbnail Voeg het programmalogo toe aan de gegenereerde miniatuur - + How many backup files will be kept when saving document Hoeveel back-upbestanden worden bewaard bij het opslaan van document - + Maximum number of backup files to keep when resaving document Maximaal aantal back-upbestanden dat moet worden bewaard bij het opslaan van het document - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Back-upbestanden krijgen de extensie '.FCbak' en bestandsnamen krijgen het achtervoegsel van de datum volgens het opgegeven formaat - + Use date and FCBak extension Gebruik datum en FCBak-extensie - + Date format Datumformaat - + Document objects Document objecten - + Allow objects to have same label - Allow objects to have same label + Sta toe dat objecten dezelfde label hebben - + Allow duplicate object labels in one document Dubbele voorwerpnamen in een document toestaan - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4121,22 +3493,22 @@ Een gedeeltelijk geladen document kan niet worden bewerkt. Dubbelklik op het doc in de boomstructuurweergave om het volledig te herladen. - + Disable partial loading of external linked objects Gedeeltelijk laden van externe gekoppelde objecten uitschakelen - + Authoring and License Auteur en licentie - + Author name Auteursnaam - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4145,32 +3517,32 @@ Houd leeg voor anoniem. U kunt ook het formulier gebruiken: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Het veld 'Laatst gewijzigd door' wordt bij het opslaan van het bestand op de opgegeven auteur ingesteld - + Set on save Instellen met opslaan - + Company Bedrijf - + Default company name to use for new files Standaardbedrijfsnaam om te gebruiken voor nieuwe bestanden - + Default license Standaardlicentie - + Default license for new documents Standaardlicentie voor nieuwe documenten @@ -4222,17 +3594,17 @@ U kunt ook het formulier gebruiken: John Doe <john@doe.com> CERN Open Hardware Licence strongly-reciprocal - CERN Open Hardware Licence strongly-reciprocal + CERN Open Hardware licentie ´strongly-reciprocal´ CERN Open Hardware Licence weakly-reciprocal - CERN Open Hardware Licence weakly-reciprocal + CERN Open Hardware licentie ´weakly-reciprocal´ CERN Open Hardware Licence permissive - CERN Open Hardware Licence permissive + CERN Open Hardware licentie 'permissive' @@ -4240,12 +3612,12 @@ U kunt ook het formulier gebruiken: John Doe <john@doe.com> Andere - + License URL Licentie URL - + URL describing more about the license URL beschrijft meer over de licentie @@ -4253,104 +3625,21 @@ U kunt ook het formulier gebruiken: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. De notatie van de datum om te gebruiken. - + Default Standaard - + Format Formaat - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Tekst - - - - Bookmark - Bladwijzer - - - - Breakpoint - Pauze-punt - - - - Keyword - Sleutelwoord - - - - Comment - Commentaar - - - - Block comment - Commentaarblok - - - - Number - Getal - - - - String - Tekenreeks - - - - Character - Teken - - - - Class name - Klassenaam - - - - Define name - Definieer Naam - - - - Operator - Operand - - - - Python output - Python-uitvoer - - - - Python error - Python-fout - - - - Current line highlight - Nadruk van tegenwoordige lijn - - - - Items - Items - - Gui::Dialog::DlgSettingsImage @@ -4531,122 +3820,122 @@ U kunt ook het formulier gebruiken: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Algemene macro instellingen - + Variables defined by macros are created as local variables Variabelen gedefinieerd door macro's worden gemaakt als lokale variabelen - + Run macros in local environment Macro's uitvoeren in de lokale omgeving - + Macro recording settings Macro-opname-instellingen - + Macro path Macro-pad - + The directory in which the application will search for macros De map waarin de applicatie naar macro's zoekt - + Gui commands Gui commando's - + Recorded macros will also contain user interface commands Opgenomen macro's zullen ook gebruikersinterfacecommando's bevatten - + Record GUI commands Neem GUI-commando's op - + Recorded macros will also contain user interface commands as comments Opgenomen macro's zullen ook gebruikersinterfacecommando's als commentaren bevatten - + Record as comment Opnemen als commentaar - + Logging Commands Loggen van commando's - + Commands executed by macro scripts are shown in Python console Commando's uitgevoerd door macroscripts worden weergegeven in Pythonconsole - + Show script commands in python console Toon scriptopdrachten in python console - + Log all commands issued by menus to file: Log alle commando's veroorzaakt door menu's naar bestand: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Recente macro's menu - + Size of recent macro list Grootte van recente macro lijst - + How many macros should be listed in recent macros list Hoeveel macro's moeten worden weergegeven in recente macro's lijst - + Keyboard shortcut count - Keyboard shortcut count + Toetsenbord snelkoppelingen - + How many recent macros should have shortcuts Hoeveel recente macro's hebben snelkoppelingen - + Keyboard Modifiers Toetsenbord aanpassers - + Keyboard modifiers, default = Ctrl+Shift+ Toetsenbord aanpassingen, standaard = Ctrl+Shift+ @@ -4654,250 +3943,250 @@ U kunt ook het formulier gebruiken: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigatie - + Navigation cube Navigatiekubus - + Steps by turn Stappen per draai - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Aantal stappen per draai bij het gebruik van pijlen (standaard = 8: staphoek = 360/8 = 45 graden) - + Corner Hoek - + Corner where navigation cube is shown Hoek waar navigatiekubus wordt weergegeven - + Top left Linksboven - + Top right Rechtsboven - + Bottom left Linksonder - + Bottom right Rechts Onder - + Rotates to nearest possible state when clicking a cube face Draait naar dichtstbijzijnde mogelijke status bij het klikken op een kubus - + Rotate to nearest Draai naar dichtstbijzijnde - + Font name: Naam lettertype: - + Font name of the navigation cube - Font name of the navigation cube + Lettertype naam van de navigatiekubus - + Default Standaard - + Cube size Kubus grootte - + Size of the navigation cube Grootte van de navigatie kubus - + Color Kleur - + Base color for all elements Basiskleur voor alle elementen - + 3D Navigation 3D-navigatie - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Geef een lijst met de configuratie van de muisknop voor elke gekozen navigatie-instelling. Selecteer een set en druk vervolgens op de knop om deze configuraties te bekijken. - + Mouse... Muis... - + Navigation settings set Navigatie-instellingen ingesteld - + Orbit style - Orbit stijl + Rotatiebaan stijl - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - Rotation orbit style. -Trackball: moving the mouse horizontally will rotate the part around the y-axis -Turntable: the part will be rotated around the z-axis (with constrained axes). -Free Turntable: the part will be rotated around the z-axis. + Rotatiebaan stijl. +Trackball: als je de muis horizontaal beweegt, roteert het object rond de y-as +Draaitafel: het object wordt rond de z-as gedraaid (met beperkte assen). +Vrije draaitafel: het object zal worden gedraaid rond de z-as. - + Turntable Draaitafel - + Trackball Trackball - + Free Turntable - Free Turntable + Vrije draaitafel - + Rotation mode Draai modus - + Rotations in 3D will use current cursor position as center for rotation Rotaties in 3D zullen de huidige cursorpositie als middelpunt voor de rotatie gebruiken - + Window center Venster midden - + Drag at cursor Sleep bij cursor - + Object center Object midden - + Default camera orientation Standaard cameraoriëntatie - + Default camera orientation when creating a new document or selecting the home view Standaard cameraoriëntatie bij het aanmaken van een nieuw document of het selecteren van het startscherm - + Camera zoom Camera zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Stelt de camerazoom in voor nieuwe documenten. De waarde is de diameter van de bol die op het scherm past. - + mm mm - + Enable animated rotations Geanimeerde rotaties inschakelen - + Enable animation Animatie inschakelen - + Zoom operations will be performed at position of mouse pointer Zoombewerkingen worden uitgevoerd bij de positie van de muisaanwijzer - + Zoom at cursor Inzoomen bij cursor - + Zoom step - Zoom step + Zoomstap - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Hoeveel zal er worden ingezoomd. Zoomstap van '1' betekent een factor 7,5 voor elke zoomstap. - + Direction of zoom operations will be inverted Richting van zoombewerkingen zullen omgedraaid worden - + Invert zoom Zoom omkeren - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4906,57 +4195,67 @@ Beïnvloedt alleen gebaar nav. stijl. De kanteling van de muis wordt niet uitgeschakeld door deze instelling. - + Disable touchscreen tilt gesture Touchscreen kantel gebaar uitschakelen - + + Show the rotation center when dragging. + Toon het rotatiepunt tijdens slepen. + + + + Enable rotation center indication + Schakel de indicatie van het rotatiecentrum in + + + Isometric Isometrisch - + Dimetric Dimetrisch - + Trimetric Trimetrisch - + Top Boven - + Front Voorkant - + Left Links - + Right Rechts - + Rear Achter - + Bottom Onder - + Custom Eigen @@ -4964,44 +4263,44 @@ De kanteling van de muis wordt niet uitgeschakeld door deze instelling. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python Console - + Settings Instellingen - + Words will be wrapped when they exceed available horizontal space in Python console Woorden worden verborgen wanneer ze de beschikbare horizontale ruimte in de Python-console overschrijden - + Enable word wrap Tekstterugloop inschakelen - + The cursor shape will be a block - The cursor shape will be a block + De vorm van de cursor wordt een blok - + Enable block cursor - Enable block cursor + Schakel blokvormige cursor in - + Saves Python history across sessions - Saves Python history across sessions + Bewaart Python geschiedenis van voorgaande sessies - + Save history Geschiedenis opslaan @@ -5009,46 +4308,64 @@ horizontale ruimte in de Python-console overschrijden Gui::Dialog::DlgSettingsSelection - + Selection Selectie - + + Enable preselection, highlighted with specified color + Preselectie inschakelen, gemarkeerd met de opgegeven kleur + + + + Enable preselection + Preselectie inschakelen + + + + Enable selection, highlighted with specified color + Schakel selectie van objecten, gemarkeerd met opgegeven kleur, in + + + + Enable selection + Selectie inschakelen + + + Pick radius (px): Kies straal (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. - Area for picking elements in 3D view. -Larger value eases to pick things, but can make small features impossible to select. - + Cirkelstraal voor het selectiegebied van elementen in 3D-weergave. Een grotere waarde vergemakkelijkt de selectie van elementen, maar kan de selectie van kleinere elementen onmogelijk maken. - + Auto switch to the 3D view containing the selected item Automatisch overschakelen naar de 3D-weergave met het geselecteerde item - + Auto expand tree item when the corresponding object is selected in 3D view Automatisch boomstructuur item uitbreiden wanneer het bijbehorende object is geselecteerd in 3D-weergave - + Preselect the object in 3D view when mouse over the tree item Selecteer het object in de 3D-weergave als u met de muis over het item in de boomstructuur gaat - + Record selection in tree view in order to go back/forward using navigation button Neem de selectie op in de boomstructuur om terug/vooruit te gaan met behulp van de navigatieknop - + Add checkboxes for selection in document tree Selectievakjes voor selectie in documentstructuur toevoegen @@ -5056,147 +4373,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Kleuren - - Selection - Selectie - - - - Enable preselection and highlight by specified color - Voorselectie inschakelen en markeren op basis van kleur - - - - Enable preselection highlighting - Activeer voorselectie markeren - - - - Enable selection highlighting and use specified color - Selectiemarkering mogelijk maken en een bepaalde kleur gebruiken - - - - Enable selection highlighting - Activeer selectie markeren - - - + Background color for the model view Achtergrondkleur voor de modelweergave - + Background color Achtergrond - - + + Background will have selected color Achtergrond zal de geselecteerde kleur hebben - + Simple color Eenvoudige kleur - - + + Background will have selected color gradient Achtergrond zal een geselecteerd kleurverloop hebben - + Linear gradient - Linear gradient + Lineaire gradiënt - + Radial gradient - Radial gradient + Radiale gradiënt - - + + Top: Boven: - - + + Middle: Midden: - + Switches the colors of the gradient - Switches the colors of the gradient + Wisselt de kleurengradiënt Boven/Onder - + Switch Wisselen - + Color gradient will get selected color as middle color Kleurverloop krijgt de geselecteerde kleur als middelste kleur - + Middle color Middelste kleur - - + + Bottom: Onder: - + Tree view Boomstructuurweergave - + Object being edited Object in bewerking - + Background color for objects in tree view that are currently edited Achtergrondkleur voor objecten in de boomstructuurweergave die momenteel zijn bewerkt - + Active container Actieve container - + Background color for active containers in tree view Achtergrondkleur voor actieve containers in de boomstructuurweergave - + Central: Centraal: - + Midway: Halverwege: - + End: Einde: @@ -5244,8 +4536,7 @@ Larger value eases to pick things, but can make small features impossible to sel List of last used calculations. To add a calculation press Return in the value input field - List of last used calculations. -To add a calculation press Return in the value input field + Lijst van de laatst gebruikte berekeningen. Om een berekening toe te voegen druk op -Enter- in het invoerveld @@ -5308,12 +4599,12 @@ Het voorkeurssysteem is het systeem dat in de algemene voorkeuren is ingesteld.< Gui::Dialog::DlgUnitsCalculator - + unknown unit: onbekende eenheid: - + unit mismatch wanverhouding van eenheid @@ -5321,7 +4612,7 @@ Het voorkeurssysteem is het systeem dat in de algemene voorkeuren is ingesteld.< Gui::Dialog::DockablePlacement - + Placement Plaatsing @@ -5371,60 +4662,60 @@ The 'Status' column shows whether the document could be recovered. Nog niet hersteld - + Unknown problem occurred Een onbekend probleem is gebeurd - - + + Failed to recover Herstellen mislukt - + Successfully recovered Met success teruggehaald - + Finish Voltooien - - + + Delete Verwijderen - - + + Cleanup Opruimen - + Are you sure you want to delete the selected transient directories? Weet je zeker dat selectie tijdelijke mappen verwijderd mogen worden? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Na het verwijderen van alle tijdelijke mappen is het herstellen van bestanden niet mogelijk. - + Are you sure you want to delete all transient directories? Weet u zeker dat u alle voorbijgaande mappen wilt verwijderen? - + When deleting all transient directories you won't be able to recover any files afterwards. Herstel van bestanden is niet mogelijk na het verwijderen van alle tijdelijke mappen. - + Transient directories deleted. Tijdelijke mappen verwijderd. @@ -5548,7 +4839,7 @@ The 'Status' column shows whether the document could be recovered. Icon mappen - + Add icon folder Icon map toevoegen @@ -5561,12 +4852,12 @@ The 'Status' column shows whether the document could be recovered. Aangepaste icon mappen toevoegen of verwijderen - + Remove folder Map verwijderen - + Removing a folder only takes effect after an application restart. Verwijderen van een map enkel van kracht is nadat de applicatie herstart heeft. @@ -5619,7 +4910,7 @@ The 'Status' column shows whether the document could be recovered. Panning: - Panning: + Schuiven: @@ -5636,79 +4927,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Uitvouwen - + Add sub-group Subgroep toevoegen - - + + Remove group Groep verwijderen - + Rename group Groep hernoemen - + Export parameter Export parameter - + Import parameter Import parameter - + Collapse Samenvouwen - + Do you really want to remove this parameter group? Wenst u echt deze parametergroep te verwijderen? - + Existing sub-group Bestaande subgroep - + The sub-group '%1' already exists. De subgroep '%1' bestaat reeds. - + Export parameter to file Exporteer parameters naar bestand - + Import parameter from file Importeer parameters uit bestand - + Import Error Import fout - + Reading from '%1' failed. Het lezen van '%1' is mislukt. @@ -5716,65 +5007,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Waarde wijzigen - + Remove key Verwijder de sleutel - + Rename key Wijzig de naam van de sleutel - + New Nieuw - + New string item Nieuwe tekenreeks - + New float item Nieuwe decimale waarde - + New integer item Nieuw geheel getal - + New unsigned item Nieuw positief geheel getal - + New Boolean item Nieuwe booleaanse waarde - - - - - + + + + + Existing item Bestaand item - - - - - + + + + + The item '%1' already exists. Item '%1' bestaat reeds. @@ -5902,7 +5193,7 @@ The 'Status' column shows whether the document could be recovered. Reset - Herstel + Herstellen @@ -5920,17 +5211,17 @@ The 'Status' column shows whether the document could be recovered. Toepassen - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Gelieve 1, 2 of 3 punten te selecteren voordat u op deze knop klikt. Een punt kan op een eindpunt, vlak of rand zijn. Indien op een vlak of rand, zal het gebruikte punt het punt zijn dat zich op de positie van de muis langs het vlak of de rand bevindt. Als 1 punt wordt geselecteerd, wordt het gebruikt als draaipunt. Als 2 punten worden geselecteerd, is het middelpunt daarvan het draaipunt en wordt er zo nodig een nieuwe aangepaste as gemaakt. Als 3 punten worden geselecteerd, wordt het eerste punt het draaipunt en ligt het op de vector die normaal is voor het vlak gedefinieerd door de 3 punten. Enige informatie over afstand en hoek wordt in de rapportweergave gegeven, wat nuttig kan zijn bij het uitlijnen van objecten. Voor uw gemak wordt, wanneer Shift + klik gebruikt worden, de juiste afstand of hoek naar het klembord gekopieerd. - + Incorrect quantity Verkeerd aantal - + There are input fields with incorrect input, please ensure valid placement values! Er zijn invoervelden met verkeerde input, zorg voor geldige waarden van plaatsing! @@ -5938,12 +5229,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Knop - + Command Commando @@ -6007,17 +5298,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Inventorboom - + Name Naam - + Nodes Knopen @@ -6037,7 +5328,7 @@ The 'Status' column shows whether the document could be recovered. Global - Overal + Globaal @@ -6073,14 +5364,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Annuleren - - + + Transform Transformeren @@ -6100,7 +5391,7 @@ The 'Status' column shows whether the document could be recovered. Auto select depending objects - Auto select depending objects + Selecteer automatisch de afhankelijke objecten @@ -6178,13 +5469,13 @@ oorspronkelijk geselecteerd voorafgaand aan het openen van dit dialoogvenster - + Model Model - + Tasks Taken @@ -6192,7 +5483,7 @@ oorspronkelijk geselecteerd voorafgaand aan het openen van dit dialoogvenster Gui::DockWnd::PropertyDockView - + Property View Eigenschappen-aanzicht @@ -6200,82 +5491,82 @@ oorspronkelijk geselecteerd voorafgaand aan het openen van dit dialoogvenster Gui::DockWnd::ReportOutput - + Options Opties - + Display message types Toon berichttypes - - + + Normal messages Normale berichten - - + + Log messages Log berichten - - + + Warnings Waarschuwingen - - + + Errors Foutmeldingen - - + + Critical messages - Critical messages + Kritieke berichten - + Show Report view on Toon rapportweergave op - + Redirect Python output Python-uitvoer omleiden - + Redirect Python errors Omleiden van Python fouten - + Go to end Ga naar het einde - + Clear Wissen - + Save As... Opslaan als... - + Save Report Output Rapport-uitvoer opslaan - + Plain Text Files Gewone tekstbestanden @@ -6284,13 +5575,13 @@ oorspronkelijk geselecteerd voorafgaand aan het openen van dit dialoogvensterGui::DockWnd::ReportView - + Output Uitvoer - + Python console Python Console @@ -6328,72 +5619,72 @@ oorspronkelijk geselecteerd voorafgaand aan het openen van dit dialoogvensterGekozen objectlijst - + Select only Selecteer enkel - + Selects only this object Hiermee selecteert u enkel dit object - + Deselect Deselecteer - + Deselects this object Dit object deselecteren - + Zoom fit Zoom aangepast - + Selects and fits this object in the 3D window Selecteert en past dit object in het 3D-venster - + Go to selection Ga naar selectie - + Selects and locates this object in the tree view Dit object selecteren en in de documentstructuur vinden - + Mark to recompute Markeren om te herberekenen - + Mark this object to be recomputed Object opnieuw berekenen - + To python console Naar python console - + Reveals this object and its subelements in the python console. Drukt dit object en haar subelementen in de python console uit. - + Duplicate subshape Dubbele subvorm - + Creates a standalone copy of this subshape in the document Maakt een eigen kopie van deze subvorm in het document @@ -6406,7 +5697,7 @@ oorspronkelijk geselecteerd voorafgaand aan het openen van dit dialoogvensterApplicatie - + Labels & Attributes Labels & attributen @@ -6453,27 +5744,27 @@ Wilt u uw wijzigingen opslaan? PDF-bestand - + untitled[*] naamloos[*] - + - Editor - Editor - + %1 chars removed %1 karakters verwijderd - + %1 chars added %1 karakters toegevoegd - + Formatted Geformatteerd @@ -6497,13 +5788,13 @@ Wilt u uw wijzigingen opslaan? Gui::FileChooser - - + + Select a file Selecteer een bestand - + Select a directory Kies een map @@ -6511,13 +5802,13 @@ Wilt u uw wijzigingen opslaan? Gui::FileDialog - + Save as Opslaan als - - + + Open Openen @@ -6525,12 +5816,12 @@ Wilt u uw wijzigingen opslaan? Gui::FileOptionsDialog - + Extended Uitgebreid - + All files (*.*) Alle bestanden (*.*) @@ -6538,27 +5829,27 @@ Wilt u uw wijzigingen opslaan? Gui::Flag - + Top left Linksboven - + Bottom left Linksonder - + Top right Rechtsboven - + Bottom right Rechts Onder - + Remove Verwijderen @@ -6566,22 +5857,22 @@ Wilt u uw wijzigingen opslaan? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Tik OF klik op de linkermuisknop. - + Drag screen with two fingers OR press right mouse button. Sleep het scherm met twee vingers OF hou de rechtermuisknop ingedrukt. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Sleep het scherm met één vinger OF op de linkermuisknop. Houd Alt ingedrukt in Sketcher && andere bewerkingsmodi. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Knijp (plaats twee vingers op het scherm && sleep ze uit || naar elkaar) OF scrol de middelste muisknop OF PgUp/PgDown op het toetsenbord. @@ -6589,74 +5880,74 @@ Wilt u uw wijzigingen opslaan? Gui::GraphvizView - + Graphviz not found Graphviz niet gevonden - + Graphviz couldn't be found on your system. Graphviz kan niet worden gevonden op uw systeem. - + Read more about it here. Lees hier meer over - + Do you want to specify its installation path if it's already installed? Wilt u het installatiepad specificeren als het al is geïnstalleerd? - + Graphviz installation path Graphviz installatiepad - + Graphviz failed Graphviz is mislukt - + Graphviz failed to create an image file Graphviz kon geen afbeeldingsbestand creëren - + PNG format PNG formaat - + Bitmap format Bitmap formaat - + GIF format GIF formaat - + JPG format JPG formaat - + SVG format SVG formaat - - + + PDF format PDF formaat - - + + Export graph Grafiek exporteren @@ -6664,12 +5955,12 @@ Wilt u uw wijzigingen opslaan? Gui::InputField - + Edit Bewerken - + Save value Waarde opslaan @@ -6677,22 +5968,22 @@ Wilt u uw wijzigingen opslaan? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Druk op CTRL en de linker muisknop - + Press middle mouse button Druk op de middelste muisknop - + Press left mouse button Druk op de linker muisknop - + Scroll middle mouse button Scroll middelste muisknop @@ -6700,7 +5991,7 @@ Wilt u uw wijzigingen opslaan? Gui::LabelEditor - + List Lijst @@ -6708,66 +5999,66 @@ Wilt u uw wijzigingen opslaan? Gui::LocationDialog - - + + - - - - + + + + X x - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Door gebruiker gedefinieerd... - + - - + + Wrong direction Verkeerde richting - + - - + + Direction must not be the null vector Richting mag niet de nul-vector zijn @@ -6775,22 +6066,22 @@ Wilt u uw wijzigingen opslaan? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Richting: @@ -6798,17 +6089,17 @@ Wilt u uw wijzigingen opslaan? Gui::MacroCommand - + Macros Macro's - + Macro file doesn't exist Macro-bestand bestaat niet - + No such macro file: '%1' Geen dergelijke macro-bestand: '%1' @@ -6816,63 +6107,73 @@ Wilt u uw wijzigingen opslaan? Gui::MainWindow - - + + Dimension Afmeting - + Ready Gereed - + Help addon needed! - Help addon needed! + Help add-on nodig! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager + Het helpsysteem van %1 wordt nu afgehandeld door de "Help" addon. Het kan gemakkelijk worden geïnstalleerd via de Addons Manager - + Open Addon Manager - Open Addon Manager + Addon Manager openen - + Close All Alles sluiten - - + + Toggles this toolbar Schakelt deze werkbalk in/uit - - + + Toggles this dockable window Schakelt dit dokbare venster in/uit - - + + WARNING: This is a development version. + WAARSCHUWING: Dit is een ontwikkelversie. + + + + Please do not use in a production environment. + Alsjeblieft niet gebruiken in een productieomgeving. + + + + Unsaved document Niet-opgeslagen document - + The exported object contains external link. Please save the documentat least once before exporting. Het geëxporteerde object bevat een externe link. Sla het document minstens één keer op voordat u het exporteert. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Om een link naar externe objecten te kunnen maken, moet het document minstens één keer worden opgeslagen. @@ -6882,63 +6183,63 @@ Wilt u het document nu opslaan? Gui::ManualAlignment - - - - - + + + + + Manual alignment Handmatige uitlijning - + The alignment is already in progress. De uitlijning is al aan de gang. - + Alignment[*] Uitlijning [*] - + Please, select at least one point in the left and the right view Selecteer ten minste één punt in de linker- en rechter weergave - + Please, select at least %1 points in the left and the right view Selecteer ten minste %1 punten in de linker- en rechter weergave - + Please pick points in the left and right view Kies punten in de linker- en rechter weergave - + The alignment has finished De uitlijning is voltooid - + The alignment has been canceled De uitlijning is geannuleerd - - + + Too few points picked in the left view. At least %1 points are needed. Te weinig punten geselecteerd in de linker weergave. Ten minste %1 punten nodig zijn. - - + + Too few points picked in the right view. At least %1 points are needed. Te weinig punten geselecteerd in de rechter weergave. Ten minste %1 punten nodig zijn. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6947,58 +6248,58 @@ De linker weergave heeft %1 selecties en de rechter weergave heeft %2 selecties. - + Try to align group of views Groep van weergaven uitlijnen - + The alignment failed. How do you want to proceed? De uitlijning is mislukt. Hoe wilt u doorgaan? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Verschillend aantal punten geselecteerd in de linker- en rechterweergave. De linker weergave heeft %1 punten en de rechter weergave %2 worden punten. - + Point_%1 Punt_%1 - + Point picked at (%1,%2,%3) Punt gepakt bij (%1,%2,%3) - + No point was found on model Op het model is geen punt gevonden - + No point was picked Geen punt was geselecteerd - + &Align - &Align + &Align - + &Remove last point &Laatste punt verwijderen - + &Cancel &Annuleren - + &Synchronize views &Synchroniseer weergaven @@ -7006,22 +6307,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Tik OF klik op de linkermuisknop. - + Drag screen with two fingers OR press ALT + middle mouse button. Sleep het scherm met twee vingers OF druk op ALT + middelste muisknop. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Sleep het scherm met één vinger OF druk op de linkermuisknop. Houd Alt in bij Schetser en andere bewerkingsmodi. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Knijp (plaats twee vingers op het scherm en sleep ze uit/naar elkaar) OF scrol de middelste muisknop OF druk ALT + rechtermuisknop OF PgUp/PgDown op het toetsenbord. @@ -7029,9 +6330,9 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys - Press modifier keys + Druk op modificeer toetsen @@ -7045,22 +6346,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Druk op de linker muisknop - + Press CTRL and middle mouse button Druk op CTRL en de middelste muisknop - + Press CTRL and right mouse button Druk op CTRL en de middelste muisknop - + Press CTRL and left mouse button Druk op CTRL en de linker muisknop @@ -7068,22 +6369,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Druk op de linker muisknop - + Press right mouse button and move mouse Druk op de rechtermuisknop en beweeg de muis - + Press left mouse button and move mouse Druk op de linkermuisknop en beweeg de muis - + Press middle mouse button or SHIFT and right mouse button Druk op de middelste muisknop of SHIFT en de rechtermuisknop @@ -7091,17 +6392,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Bewerken - + Save value Waarde opslaan - + Clear list Lijst wissen @@ -7132,12 +6433,12 @@ How do you want to proceed? Resterend: %1 - + Aborting Bezig met afbreken - + Do you really want to abort the operation? Wilt u echt de bewerking afbreken? @@ -7145,7 +6446,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Het gekoppelde object wijzigen @@ -7153,12 +6454,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Fout - + Object not found Object niet gevonden @@ -7199,7 +6500,7 @@ How do you want to proceed? Rename property group - Rename property group + Hernoem de groep eigenschappen @@ -7229,13 +6530,13 @@ How do you want to proceed? Gui::PropertyView - + View Aanzicht - + Data Gegevens @@ -7282,77 +6583,77 @@ Do you want to exit without saving your data? Niet-verwerkte uitzondering voor onbekende C++. - + &Copy &Kopiëren - + &Copy command Kopieer commando - + &Copy history Kopieer geschiedenis - + Save history as... Geschiedenis opslaan als... - + Save history Geschiedenis opslaan - + Saves Python history across %1 sessions Bewaart Pythongeschiedenis over %1 sessies - + &Paste &Plakken - + Select All Alles selecteren - + Clear console Maak console leeg - + Insert file name... Bestandsnaam invoeren... - + Word wrap Tekstterugloop - + Save History Geschiedenis opslaan - + Macro Files Macro Bestanden - + Insert file name Bestandsnaam invoeren - + All Files Alle bestanden @@ -7360,7 +6661,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Commentaar @@ -7373,17 +6674,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Open bestand %1 - + File not found Bestand niet gevonden - + The file '%1' cannot be opened. Het bestand '%1' kan niet worden geopend. @@ -7391,22 +6692,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none geen - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 - Run macro %1 (Shift+click to edit) keyboard shortcut: %2 + Voer macro %1 uit (Shift+klik om te bewerken) sneltoets: %2 - + File not found Bestand niet gevonden - + The file '%1' cannot be opened. Het bestand '%1' kan niet worden geopend. @@ -7414,22 +6715,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Druk op de linker muisknop - + Press middle mouse button Druk op de middelste muisknop - + Press SHIFT and middle mouse button Druk op SHIFT en middelste muisknop - + Scroll middle mouse button Scroll middelste muisknop @@ -7460,17 +6761,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Module selecteren - + Open %1 as Open %1 als - + Select Selecteer @@ -7537,13 +6838,13 @@ Wilt u een andere map opgeven? Gui::StdCmdPythonHelp - + Automatic python modules documentation Automatische python module documentatie - - + + Opens a browser to show the Python modules documentation Opent een browser om de Python module documentatie weer te geven @@ -7656,7 +6957,7 @@ Wilt u een andere map opgeven? Line width: - Lijndikte: + Lijnbreedte: @@ -7696,38 +6997,38 @@ Wilt u een andere map opgeven? Gui::TextDocumentEditorView - + Text updated Tekst bijgewerkt - + The text of the underlying object has changed. Discard changes and reload the text from the object? De tekst van het onderliggende object is gewijzigd. Wijzigingen weggooien en de tekst van het object opnieuw laden? - + Yes, reload. Ja, opnieuw laden. - + Unsaved document Niet-opgeslagen document - + Do you want to save your changes before closing? Wilt u de wijziging op slaan voordat u afsluit? - + If you don't save, your changes will be lost. Als u niet opslaat, zullen uw wijzigingen verloren gaan. - - + + Edit text Tekst bewerken @@ -7735,22 +7036,22 @@ Wilt u een andere map opgeven? Gui::TinkerCADNavigationStyle - + Press left mouse button Druk op de linker muisknop - + Press middle mouse button - Druk op de middelste muisknop + Druk op middelste muisknop - + Press right mouse button Druk op de rechtermuisknop - + Scroll middle mouse button Scroll middelste muisknop @@ -7758,22 +7059,22 @@ Wilt u een andere map opgeven? Gui::TouchpadNavigationStyle - + Press left mouse button Druk op de linker muisknop - + Press SHIFT button Druk op de SHIFT toets - + Press ALT button Druk op de toets ALT - + Press CTRL and SHIFT buttons CTRL en SHIFT indrukken @@ -7798,7 +7099,7 @@ Wilt u een andere map opgeven? Belarusian - Belarusian + Wit-Russisch @@ -7943,7 +7244,7 @@ Wilt u een andere map opgeven? Serbian, Latin - Serbian, Latin + Servisch (Latijns schrift) @@ -7999,7 +7300,7 @@ Wilt u een andere map opgeven? Gui::TreeDockWidget - + Tree view Boomstructuurweergave @@ -8007,7 +7308,7 @@ Wilt u een andere map opgeven? Gui::TreePanel - + Search Zoeken @@ -8015,183 +7316,183 @@ Wilt u een andere map opgeven? Gui::TreeWidget - + Search... Zoeken... - + Search for objects Zoeken naar objecten - + Activate document Activeer document - + Activate document %1 Activeer document %1 - + Tree settings Boom instellingen - + Show description column Toon beschrijvingskolom - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Toon een extra kolom in de boom structuur met beschrijvingen. De beschrijving van een object kan worden ingesteld door op F2 (of de standaard bewerkings-knop van je besturingssysteem) te drukken, of door de 'label2' eigenschap aan te passen. - + Group Groep - + Labels & Attributes Labels & attributen - + Description Omschrijving - + Show items hidden in tree view Items verborgen in boomweergave weergeven - + Show items that are marked as 'hidden' in the tree view - Show items that are marked as 'hidden' in the tree view + Toon items die in de structuurweergave gemarkeerd zijn als 'verborgen' - + Toggle visibility in tree view - Toggle visibility in tree view + Zichtbaarheid in de structuurweergave in-/uitschakelen - + Toggles the visibility of selected items in the tree view - Toggles the visibility of selected items in the tree view + Schakelt de zichtbaarheid, in de structuurweergave, van de geselecteerde items aan/uit - + Create group... Groep maken... - + Create a group Maak een groep - - + + Rename Hernoemen - + Rename object Object hernoemen - + Finish editing - Bewerken gereed + Voltooi het bewerken - + Finish editing object Beëindig bewerken object - + Add dependent objects to selection Afhankelijke objecten toevoegen aan selectie - + Adds all dependent objects to the selection Voegt alle afhankelijke objecten aan de selectie toe - + Close document Sluit document - + Close the document Sluit het document - + Reload document Document opnieuw laden - + Reload a partially loaded document Herlaad een gedeeltelijk geladen document - + Skip recomputes Herberekening overslaan - + Enable or disable recomputations of document Herberekening van het document in- of uitschakelen - + Allow partial recomputes Sta gedeeltelijke herberekeningen toe - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Herberekening van het bewerkingsobject in- of uitschakelen wanneer 'herberekening overslaan' is ingeschakeld - + Mark to recompute Markeren om te herberekenen - + Mark this object to be recomputed Object opnieuw berekenen - + Recompute object Herbereken object - + Recompute the selected object Het geselecteerde object herberekenen - + (but must be executed) (maar moet worden uitgevoerd) - + %1, Internal name: %2 %1, interne naam: %2 @@ -8222,12 +7523,12 @@ Wilt u een andere map opgeven? PDF-bestand - + Opening file failed Bestand openen mislukt - + Can't open file '%1' for writing. Kan bestand '%1' niet openen om te schrijven. @@ -8235,7 +7536,7 @@ Wilt u een andere map opgeven? Gui::WorkbenchGroup - + Select the '%1' workbench Selecteer de '%1' werkbank @@ -8243,37 +7544,37 @@ Wilt u een andere map opgeven? MAC_APPLICATION_MENU - + Services Diensten - + Hide %1 %1 verbergen - + Hide Others Andere verbergen - + Show All Alles tonen - + Preferences... Voorkeuren... - + Quit %1 Stoppen met %1 - + About %1 Info over %1 @@ -8293,11 +7594,6 @@ Wilt u een andere map opgeven? Position - - - Form - Vorm - X: @@ -8392,14 +7688,14 @@ Wilt u een andere map opgeven? PropertyListDialog - - + + Invalid input Ongeldige invoer - - + + Input in line %1 is not a number Input in lijn %1 is geen getal @@ -8407,74 +7703,75 @@ Wilt u een andere map opgeven? QDockWidget - + Tree view Boomstructuurweergave - + Property view Eigenschappen-aanzicht - + Selection view Selectieweergave - + Combo View Combi-weergave - + DAG View DAG weergave - + Report view Rapportweergave - + Python console Python Console Display properties - Weergave eigenschappen + Eigenschappen weergeven QObject - - + + General Algemeen - - + + + Display Weergave - + Workbenches Werkbanken - - - + + + Python Python @@ -8502,17 +7799,27 @@ Wilt u een andere map opgeven? Kan onbekende bestandstype niet opslaan: %1 - + Workbench failure Werkbank falen - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Uitzondering @@ -8558,8 +7865,8 @@ Wilt u een andere map opgeven? Exporteren van PDF ... - + Unsaved document Niet-opgeslagen document @@ -8580,39 +7887,39 @@ Wilt u een andere map opgeven? Afhankelijkheidsfout - + Copy selected Kopieer geselecteerde - + Copy active document Kopieer actief document - + Copy all documents Kopieer alle documenten - + Paste Plakken - + Expression error Expressiefout - + Failed to parse some of the expressions. Please check the Report View for more details. Het ontleden van sommige uitdrukkingen is mislukt. Gelieve de rapportweergave te raadplegen voor meer details. - + Failed to paste expressions Fout bij het plakken van expressie @@ -8648,224 +7955,224 @@ Be aware the point where you click matters. Let op, het maakt uit waar je klikt. - - + + Save views... Weergaves opslaan... - - + + Load views... Weergaves laden... - - + + Freeze view Weergave blokkeren - - + + Clear views Weergaves wissen - - - + + + Restore view &%1 Herstel weergave &%1 - + Save frozen views Bevroren zichten opslaan - - + + Frozen views Bevroren views - - + + Restore views Weergaves terughalen - + Importing the restored views would clear the already stored views. Do you want to continue? Importeren van de gerestaureerde weergaven zou de reeds opgeslagen weergaven overschrijven. Wilt u doorgaan? - + Restore frozen views Bevroren zichten herstellen - + Cannot open file '%1'. Kan bestand '%1' niet openen. - + files Bestanden - + Save image Afbeelding opslaan - + Choose an image file to open Kies een afbeeldingsbestand om te openen - + New sub-group Nieuwe subgroep - - - - - - + + + + + + Enter the name: Voer de naam in: - - + + New text item Nieuw tekstitem - - + + Enter your text: Voer uw tekst in: - - + + New integer item Nieuw geheel getal - - - - - - + + + + + + Enter your number: Geef uw nummer: - - + + New unsigned item Nieuw positief geheel getal - - + + New float item Nieuwe decimale waarde - + New Boolean item Nieuwe booleaanse waarde - - + + Choose an item: Kies een item: - + New boolean item Nieuw Booleaans element - + Rename group Groep hernoemen - + The group '%1' cannot be renamed. De groep '%1' kan niet worden hernoemd. - + Existing group Bestaande groep - + The group '%1' already exists. De groep '%1' bestaat al. - - - - - + + + + + Change value Waarde wijzigen - + Type Type - + Notifier Melder - + Message Bericht - + Notifier: Melder: - + Do you want to skip confirmation of further critical message notifications while loading the file? - Do you want to skip confirmation of further critical message notifications while loading the file? + Wilt u de bevestiging van verdere kritische meldingen overslaan tijdens het laden van het bestand? - + Critical Message - Critical Message + Kritische meldingen - + Too many opened non-intrusive notifications. Notifications are being omitted! - Too many opened non-intrusive notifications. Notifications are being omitted! + Te veel geopende achtergrond meldingen. Meldingen worden weggelaten! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8874,44 +8181,44 @@ Do you want to continue? - + Are you sure you want to continue? Weet u zeker dat u wilt doorgaan? - + Please check report view for more... Controleer de rapportweergave voor meer... - + Physical path: Fysiek pad: - - + + Document: Document: - - + + Path: PAD: - + Identical physical path Identische fysieke pad - + Could not save document Kan verzending niet opslaan - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8924,102 +8231,102 @@ Would you like to save the file with a different name? Wilt u het bestand met een andere naam opslaan? - - - + + + Saving aborted Opslaan afgebroken - + Save dependent files Bewaar afhankelijke bestanden - + The file contains external dependencies. Do you want to save the dependent files, too? Het bestand bevat externe afhankelijkheden. Wilt u ook de afhankelijke bestanden opslaan? - - + + Saving document failed Document opslaan is mislukt - + Save document under new filename... Document opslaan onder een nieuwe bestandsnaam... - - + + Save %1 Document Document %1 opslaan - + Document Document - - + + Failed to save document Opslaan document mislukt - + Documents contains cyclic dependencies. Do you still want to save them? Documenten bevatten cyclische afhankelijkheden. Wilt u ze nog opslaan? - + Save a copy of the document under new filename... Bewaar een copy van het actieve document onder een nieuwe naam... - + %1 document (*.FCStd) %1 document (*.FCStd) - + Document not closable Document niet te sluiten - + The document is not closable for the moment. Het document kan nu niet gesloten worden. - + Document not saved Document niet opgeslagen - + The document%1 could not be saved. Do you want to cancel closing it? Het document%1 kon niet worden opgeslagen. Wilt u het sluiten annuleren? - + Undo Ongedaan maken - + Redo Herstel ongedaan maken - + There are grouped transactions in the following documents with other preceding transactions Er zijn gegroepeerde transacties in de volgende documenten met andere voorgaande transacties - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9033,47 +8340,47 @@ Kies 'Afbreken' om af te breken Macro opslaan - - + + Finish Voltooien - - + + Clear Wissen - - - + + + Cancel Annuleren - + Inner binnenste - + Outer buitenste - + Split Delen - - + + No Browser Geen browser - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9081,48 +8388,48 @@ Please open a browser window and type in: http://localhost:%1. Open een browservenster en typ: http://localhost:%1. - + No Server Geen Server - + Unable to start the server to port %1: %2. Kan de server met poort %1 niet starten: %2. - + Unable to open your system browser. Kan uw standaard browser niet starten. - + Options... Opties... - + Out of memory Onvoldoende geheugen - + Not enough memory available to display the data. Niet genoeg geheugen beschikbaar om de gegevens weer te geven. - - + + Cannot find file %1 Kan bestand %1 niet vinden - + Cannot find file %1 neither in %2 nor in %3 Kan bestand %1 niet vinden noch in %2, noch in %3 - + Navigation styles Navigatie stijlen @@ -9132,8 +8439,8 @@ Open een browservenster en typ: http://localhost:%1. Verplaats annotatie - - + + Transform Transformeren @@ -9143,42 +8450,42 @@ Open een browservenster en typ: http://localhost:%1. Wilt u dit dialoogvenster sluiten? - + Do you want to save your changes to document '%1' before closing? Wil je de wijzigingen in het document '%1' opslaan alvorens te sluiten? - + Do you want to save your changes to document before closing? Wilt u de wijzigingen aan het document opslaan voordat u afsluit? - + If you don't save, your changes will be lost. Als u niet opslaat, zullen uw wijzigingen verloren gaan. - + Apply answer to all Antwoord op alles toepassen - + %1 Document(s) not saved %1 Document(en) niet opgeslagen - + Some documents could not be saved. Do you want to cancel closing? Sommige documenten konden niet worden opgeslagen. Wilt u het sluiten annuleren? - + Delete macro Verwijder macro - + Not allowed to delete system-wide macros Niet toegestaan om systeem macro's te verwijderen @@ -9188,27 +8495,27 @@ Open een browservenster en typ: http://localhost:%1. Oorsprong - + Delete group content? Groepsinhoud verwijderen? - + The %1 is not empty, delete its content as well? De %1 is niet leeg. Mag de inhoud worden verwijderd? - + Translation: Verplaatsing: - + Rotation: Rotatie: - + Toggle active part Schakel het actieve deel om @@ -9271,139 +8578,135 @@ Open een browservenster en typ: http://localhost:%1. Alle links importeren is mislukt - - + + Invalid name Ongeldige naam - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. De eigenschapsnaam of groepsnaam mag alleen alfanumerieke tekens en underscore bevatten en mag niet beginnen met een cijfer. - + The property '%1' already exists in '%2' Eigenschap '%1' bestaat al in '%2' - + Add property Voeg eigenschap toe - + Failed to add property to '%1': %2 Eigenschap toevoegen aan '%1': %2 mislukt - - + + Drag & drop failed Verslepen en neerzetten mislukt - + Setup configurable object Stel configureerbaar object in - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. + Selecteer welk object te kopiëren of uit te sluiten als de configuratie verandert. Alle externe gekoppelde objecten worden standaard uitgesloten. - + Please select which objects to copy when the configuration is changed Selecteer welke objecten gekopieerd moeten worden als de configuratie is gewijzigd - + Apply to all Toepassen op alles - + Apply the setting to all links. Or, uncheck this option to apply only to this link. - Apply the setting to all links. Or, uncheck this -option to apply only to this link. + Pas de instelling toe op alle links. Of schakel deze optie uit om het alleen op deze link toe te passen. - + Copy on change Kopieer bij verandering - + Enable Schakel in - + Enable auto copy of linked object when its configuration is changed - Enable auto copy of linked object when its configuration is changed + Schakel 'automatisch kopiëren van het gekoppelde object als de configuratie wordt gewijzigd' in - + Tracking Volgen - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. - Copy the linked object when its configuration is changed. -Also auto redo the copy if the original linked object is changed. - + Kopieer ook het gekoppelde object als de configuratie wordt gewijzigd. En herhaal het kopiëren automatisch als het originele gekoppelde object wordt gewijzigd. - + Disable copy on change - Disable copy on change + Kopiëren bij wijziging uitschakelen - + Refresh configurable object Configureerbaar object vernieuwen - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. - Synchronize the original configurable source object by -creating a new deep copy. Note that any changes made to -the current copy will be lost. + Synchroniseer het originele configureerbare bronobject door een nieuwe diepe kopie te maken. Merk op dat elke wijziging in +de huidige kopie verloren gaat. - + Toggle array elements - Toggle array elements + Schakel array-elementen in/uit - + Change whether show each link array element as individual objects - Change whether show each link array element as individual objects + Pas aan of elk link array-element als individuele objecten zichtbaar zijn - + Transform at the origin of the placement - Transform at the origin of the placement + Transformeer aan het startpunt van de plaatsing - - + + Override colors... Kleuren overschrijven... - + Edit %1 Bewerken %1 @@ -9426,12 +8729,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Niet toegestaan: - + Selection not allowed by filter Selectie niet toegestaan door de filter @@ -9439,9 +8742,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Selectie van dooselement @@ -9449,15 +8752,15 @@ the current copy will be lost. StdBoxSelection - + Box selection Rechthoekselectie - - + + Activate the box selection tool - Activate the box selection tool + Activeer de box selectie tool @@ -9533,15 +8836,15 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Schakel assenkruis - - + + Turns on or off the axis cross at the origin - Turns on or off the axis cross at the origin + Schakelt het kruis van assen aan of uit van het assenstelsel @@ -9645,13 +8948,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Draaitafel tonen... - - + + View turntable Draaitafel tonen @@ -9771,13 +9074,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Tekenstijl - - + + Change the draw style of the objects De tekenstijl van de objecten wijzigen @@ -9841,15 +9144,15 @@ the current copy will be lost. StdCmdExpression - + Expression actions Expressieacties - - + + Actions that apply to expressions - Actions that apply to expressions + Acties die van toepassing zijn op expressies @@ -9964,13 +9267,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Bevries aanzicht - - + + Freezes the current view position Blokkeert de huidige weergave @@ -9991,13 +9294,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Verberg alle objecten - - + + Hide all objects in the document Verberg alle objecten in het document @@ -10005,13 +9308,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Selectie verbergen - - + + Hide all selected objects Verberg alle geselecteerde objecten @@ -10051,7 +9354,7 @@ the current copy will be lost. Actions that apply to link objects - Actions that apply to link objects + Acties die van toepassing zijn om objecten te koppelen @@ -10237,7 +9540,7 @@ the current copy will be lost. Step to the next line executed - Step to the next line executed + Stap naar de volgende uitgevoerde regel @@ -10251,7 +9554,7 @@ the current copy will be lost. Step to the next line in this file - Step to the next line in this file + Stap naar de volgende regel in dit bestand @@ -10285,15 +9588,15 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Afstand meten - - + + Activate the distance measurement tool - Activate the distance measurement tool + Activeer de tool voor afstandsmeting @@ -10350,8 +9653,8 @@ the current copy will be lost. Maak een nieuw leeg document - - + + Unnamed Naamloos @@ -10572,15 +9875,15 @@ the current copy will be lost. Set each selected object to a randomly-selected color - Set each selected object to a randomly-selected color + Geef elk geselecteerd object een willekeurig geselecteerde kleur StdCmdRecentFiles - Recent files - Recente Bestanden + Open Recent + Onlangs geopend @@ -10718,13 +10021,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Scènekeuring... - - + + Scene inspector Scènekeuring @@ -10732,13 +10035,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Terug - - + + Go back to previous selection Ga terug naar vorige selectie @@ -10746,13 +10049,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Selectiekader - - + + Show selection bounding box Toon begrenzingsdoos van de selectie @@ -10760,13 +10063,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Vooruit - - + + Repeat the backed selection Repeat the backed selection @@ -10788,13 +10091,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Selecteer zichtbare objecten - - + + Select visible objects in the active document Selecteer zichtbare objecten in het actieve document @@ -10816,13 +10119,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Uiterlijk... - - + + Sets the display properties of the selected object Stelt de weergave-eigenschappen in van het geselecteerde object @@ -10830,13 +10133,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Toon alle objecten - - + + Show all objects in the document Toon alle objecten in het document @@ -10844,13 +10147,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Toon selectie - - + + Show all selected objects Toon alle geselecteerde objecten @@ -10886,13 +10189,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Textuurmapping... - - + + Texture mapping Textuurmapping @@ -10922,19 +10225,19 @@ the current copy will be lost. Add or remove a breakpoint at this position - Add or remove a breakpoint at this position + Op deze positie een breekpunt toevoegen of verwijderen StdCmdToggleClipPlane - + Clipping plane Snijvlak - - + + Toggles clipping plane for active view Snijvlak voor de actieve weergave in/uitschakelen @@ -10942,13 +10245,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Schakel tussen navigatie en aanpassing modus - - + + Toggle between navigation and edit mode Wisselen tussen navigatie- en editmode @@ -10956,13 +10259,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Alle objecten [de]selecteren - - + + Toggles visibility of all objects in the active document Wisselt zichtbaarheid van alle objecten in het actieve document @@ -10970,13 +10273,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Schakel selecteerbaarheid aan/uit - - + + Toggles the property of the objects to get selected in the 3D-View Schakelt de mogelijkheid of ombjecten in de 3D view te selecteren aan of uit @@ -10984,13 +10287,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Wissel zichtbaarheid - - + + Toggles visibility Wisselt zichtbaarheid @@ -11028,7 +10331,7 @@ the current copy will be lost. Transform - Transformeren + Transformeer @@ -11040,13 +10343,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Klap geselecteerde item in - - + + Collapse currently selected tree items Klap geselecteerde boomstructuur in @@ -11054,13 +10357,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Vouw geselecteerde item uit - - + + Expand currently selected tree items Vouw geselecteerde boomstructuur uit @@ -11068,13 +10371,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Selecteer alle instanties - - + + Select all instances of the current selected object Selecteer alle instanties van het huidige geselecteerde object @@ -11082,13 +10385,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions StructuurWeergave acties - - + + TreeView behavior options and actions Gedragsopties en -acties van de StructuurWeergave @@ -11152,13 +10455,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Onder - - + + Set to bottom view Instellen als onderaanzicht @@ -11166,13 +10469,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Nieuwe weergave aanmaken - - + + Creates a new view window for the active document Maakt een nieuw weergavevenster voor het actieve document @@ -11180,13 +10483,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimetrisch - - + + Set to dimetric view Ingesteld op dimetrisch aanzicht @@ -11194,13 +10497,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor voorbeeld #1 - - + + Shows a 3D texture with manipulator Toont een 3D textuur met manipulator @@ -11208,13 +10511,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor bijvoorbeeld #2 - - + + Shows spheres and drag-lights Toont sferen en treklichten @@ -11222,13 +10525,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor bijvoorbeeld #3 - - + + Shows a animated texture Toont een geanimeerde textuur @@ -11236,13 +10539,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Passend - - + + Fits the whole content on the screen Zorgt dat de volledige inhoud op het scherm past @@ -11250,13 +10553,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Selectie passend - - + + Fits the selected content on the screen Zorgt dat de geselecteerde inhoud op het scherm past @@ -11264,13 +10567,13 @@ the current copy will be lost. StdCmdViewFront - + Front Voorkant - - + + Set to front view Ingestellen als vooraanzicht @@ -11278,13 +10581,13 @@ the current copy will be lost. StdCmdViewHome - + Home Startpagina - - + + Set to default home view Instellen als standaard beginscherm @@ -11292,13 +10595,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Isometrisch - - + + Set to isometric view Ingesteld op isometrisch aanzicht @@ -11306,13 +10609,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position De camerapositie weergeven - - + + Issue the camera position to the console and to a macro, to easily recall this position Weergeeft de camerapositie in de console en in een macro, zo het gemakkelijk kan herhaald worden @@ -11320,13 +10623,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereoscopisch, vervlochten kolommen - - + + Switch stereo viewing to Interleaved Columns Ga naar stereoscopisch, vervlochten kolommen @@ -11334,13 +10637,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Stereoscopisch, vervlochten regels - - + + Switch stereo viewing to Interleaved Rows Ga naar stereoscopisch vervlochten regels @@ -11348,13 +10651,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Stereo Uit - - + + Switch stereo viewing off Schakel stereo-weergave uit @@ -11362,13 +10665,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereoscopisch, quad buffer - - + + Switch stereo viewing to quad buffer Ga naar stereoscopisch, quad buffer @@ -11376,13 +10679,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo rood/cyaan - - + + Switch stereo viewing to red/cyan Stereo weergave naar rood/cyaan overschakelen @@ -11390,13 +10693,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Links - - + + Set to left view Instellen als linkeraanzicht @@ -11404,13 +10707,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Achter - - + + Set to rear view Instellen als achteraanzicht @@ -11432,13 +10735,13 @@ the current copy will be lost. StdCmdViewRight - + Right Rechts - - + + Set to right view Instellen als rechteraanzicht @@ -11446,13 +10749,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Linksom draaien - - + + Rotate the view by 90° counter-clockwise Draai weergave 90° linksom @@ -11460,13 +10763,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Rechtsom draaien - - + + Rotate the view by 90° clockwise Draai weergave 90° rechtsom @@ -11488,13 +10791,13 @@ the current copy will be lost. StdCmdViewTop - + Top Boven - - + + Set to top view Instellen als bovenaanzicht @@ -11502,13 +10805,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimetrisch - - + + Set to trimetric view Ingesteld op trimetrisch aanzicht @@ -11516,13 +10819,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Het 3D-venster FreeCAD uitbreiden naar een Oculus Rift @@ -11586,13 +10889,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Schermvullend - - + + Display the main window in fullscreen mode Het hoofdvenster in fullscreen modus weergeven @@ -11628,27 +10931,27 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view - Recall working view + Schakel terug naar werkweergave - - + + Recall previously stored temporary working view - Recall previously stored temporary working view + Schakel terug naar eerder opgeslagen tijdelijke werkweergave StdStoreWorkingView - + Store working view - Store working view + Werkweergave opslaan - - + + Store a document-specific temporary working view Sla een document-specifieke tijdelijke werkweergave op @@ -11656,13 +10959,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand In- / Uitvouwen - - + + Expand active document and collapse all others Actieve document uitvouwen en alle andere documenten invouwen @@ -11670,12 +10973,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Begin slepen - + Initiate dragging of current selected tree items Begin met slepen van huidige geselecteerde boomstructuur @@ -11683,13 +10986,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Multidocument - - + + Display all documents in the tree view Alle documenten in de structuurweergave weergeven @@ -11697,12 +11000,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Voorselectie - + Preselect the object in 3D view when mouse over the tree item Selecteer het object in de 3D-weergave als u met de muis over het item in de boomstructuur gaat @@ -11710,12 +11013,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Selectie opnemen - + Record selection in tree view in order to go back/forward using navigation button Neem de selectie op in de boomstructuur om terug/vooruit te gaan met behulp van de navigatieknop @@ -11723,13 +11026,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Ga naar selectie - - + + Scroll to first selected item Scroll naar het eerste geselecteerde item @@ -11737,13 +11040,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Enkel document - - + + Only display the active document in the tree view Geef alleen het actieve document weer in de boomstructuurweergave @@ -11751,12 +11054,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Synchroniseer plaatsing - + Auto adjust placement on drag and drop objects across coordinate systems Plaatsing op versleepte objecten over de coördinatenstelsels automatisch aanpassen @@ -11764,12 +11067,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Synchroniseer selectie - + Auto expand tree item when the corresponding object is selected in 3D view Automatisch boomstructuur item uitbreiden wanneer het bijbehorende object is geselecteerd in 3D-weergave @@ -11777,12 +11080,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Synchroniseer weergave - + Auto switch to the 3D view containing the selected item Automatisch overschakelen naar de 3D-weergave met het geselecteerde item @@ -11790,27 +11093,27 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Vensterzoom - - + + Activate the box zoom tool - Activate the box zoom tool + Activeer het zoomgereedschap box StdViewDock - + Docked Gedokt - - + + Display the active view either in fullscreen, in undocked or docked mode De actieve weergave tonen als volledig, losgekoppeld of gekoppeld scherm @@ -11818,13 +11121,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Documentvenster - - + + Display the active view either in fullscreen, in undocked or docked mode De actieve weergave tonen als volledig, losgekoppeld of gekoppeld scherm @@ -11832,13 +11135,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen - Schermvullend + Volledig scherm - - + + Display the active view either in fullscreen, in undocked or docked mode De actieve weergave tonen als volledig, losgekoppeld of gekoppeld scherm @@ -11846,13 +11149,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Afbeelding opslaan... - - + + Creates a screenshot of the active view Maakt een schermafbeelding van de actieve weergave @@ -11860,13 +11163,13 @@ the current copy will be lost. StdViewUndock - + Undocked Afgekoppeld - - + + Display the active view either in fullscreen, in undocked or docked mode De actieve weergave tonen als volledig, losgekoppeld of gekoppeld scherm @@ -11874,29 +11177,29 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Inzoomen - - + + Increase the zoom factor by a fixed amount - Increase the zoom factor by a fixed amount + Verhoog de zoomfactor met een vaste waarde StdViewZoomOut - + Zoom Out Uitzoomen - - + + Decrease the zoom factor by a fixed amount - Decrease the zoom factor by a fixed amount + Verlaag de zoomfactor met een vaste waarde @@ -11929,72 +11232,72 @@ Weet u zeker dat u wilt doorgaan? Std_DrawStyle - + As is Als getekend - + Normal mode Standaard modus - + Points Punten - + Points mode Punten modus - + Wireframe Draadmodel - + Wireframe mode Draadmodelmodus - + Hidden line Verborgen lijn - + Hidden line mode Verborgen lijn modus - + No shading Geen schaduw - + No shading mode Geen schaduw modus - + Shaded Schaduw - + Shaded mode Schaduw modus - + Flat lines Platte lijn - + Flat lines mode Platte lijnen modus @@ -12057,150 +11360,150 @@ Wilt u toch doorgaan? TreeParams - + Tree view item background. Only effective in overlay. - Tree view item background. Only effective in overlay. + Structuurweergave item achtergrond. Alleen effectief in overlay. - + Tree view item background padding. - Tree view item background padding. + Boomweergave item achtergrond opvulling. - + Hide extra tree view column for item description. - Hide extra tree view column for item description. + Verberg extra structuurweergave kolom voor een item beschrijving. - + Hide tree view scroll bar in dock overlay. - Hide tree view scroll bar in dock overlay. + Verberg structuurweergave schuifbalk in dock overlay. - + Hide tree view header view in dock overlay. - Hide tree view header view in dock overlay. + Verberg structuurweergave kop in dock overlay. - + Allow tree view columns to be manually resized. - Allow tree view columns to be manually resized. + Toestaan dat structuurweergave kolommen handmatig aangepast kunnen worden. Workbench - + &File &Bestand - + &Edit &Bewerken - + Edit Bewerken - + Clipboard Klembord - + Workbench Werkbank - + Structure Structuur - + Standard views Standaardweergaves - + Axonometric Axonometrisch - + &Stereo &Stereo - + &Zoom &Zoom - + Visibility Zichtbaarheid - + &View &Weergave - + &Tools &Gereedschap - + &Macro &Macro - + &Windows &Vensters - + &On-line help &Online-help - + &Help &Help - + Help Help - + File Bestand - + Macro Macro - + View Aanzicht - + Special Ops Speciale functies - + Link actions Linkacties @@ -12208,12 +11511,12 @@ Wilt u toch doorgaan? Gui::MDIView - + Export PDF Exporteren als PDF - + PDF file PDF-bestand @@ -12221,214 +11524,207 @@ Wilt u toch doorgaan? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Melding gebied - + Settings Instellingen - + The Notification area will appear in the status bar - The Notification area will appear in the status bar + Het melding gebied zal verschijnen in de statusbalk - + Enable Notification Area Notificaties aanzetten - + Non-intrusive notifications will appear next to the notification area in the status bar - Non-intrusive notifications will appear next to the notification area in the status bar + Niet-opdringerige meldingen verschijnen naast het melding gebied in de statusbalk - + Enable non-intrusive notifications - Enable non-intrusive notifications + Niet-opdringerige meldingen inschakelen - + Additional data sources Extra gegevensbronnen - + Errors intended for developers will appear in the notification area Fouten bedoeld voor ontwikkelaars verschijnen in het notificatiegebied - + Debug errors Debug fouten - + Warnings intended for developers will appear in the notification area Waarschuwingen bedoeld voor ontwikkelaars verschijnen in het notificatiegebied - + Debug warnings Debug waarschuwingen - + Non-Intrusive Notifications Niet-opdringerige meldingen - + Minimum Duration: Minimale duur: - + Maximum Duration: Maximale duur: - + Duration during which the notification will be shown (unless mouse buttons are clicked) - Duration during which the notification will be shown (unless mouse buttons are clicked) + Minimale tijd hoe lang de melding wordt weergegeven (tenzij de muis knoppen worden geklikt) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) - Minimum duration during which the notification will be shown (unless notification clicked) + Minimale tijd hoe lang de melding wordt weergegeven (tenzij de melding wordt aangeklikt) - + Maximum Number of Notifications: Maximum aantal meldingen: - + Maximum number of notifications that will be simultaneously present on the screen Maximum aantal meldingen dat tegelijkertijd op het scherm aanwezig zal zijn - + Notification width: Breedte melding: - + Width of the notification in pixels Breedte van de melding in pixels - + Any open non-intrusive notifications will disappear when another window is activated - Any open non-intrusive notifications will disappear when another window is activated + Alle niet-opdringerige meldingen zullen verdwijnen wanneer een ander venster is geactiveerd - + Hide when other window is activated Verbergen wanneer een ander venster is geactiveerd - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window + Voorkom dat niet-opdringerige meldingen verschijnen wanneer het FreeCAD-venster niet het actieve venster is - + Do not show when inactive Niet tonen wanneer inactief - + Message List Berichtenlijst - + Limit the number of messages that will be kept in the list. If 0 there is no limit. - Limit the number of messages that will be kept in the list. If 0 there is no limit. + Beperk het aantal berichten dat in de lijst wordt bewaard. De waarde -0- betekent: onbeperkt aantal. - + Maximum Messages (0 = no limit): Maximum berichten (0 = geen limiet): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. + Verwijdert gebruikersmeldingen uit de berichtenlijst nadat de maximale duur voor niet-opdringerige meldingen is verstreken. - + Auto-remove User Notifications Automatisch verwijderen van gebruikersmeldingen - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Beschikbare werkbanken - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> -Currently, your system has the following workbenches:</p></body></html> + U kunt de werkbanken herschikken door ze omhoog of omlaag te slepen. Extra werkbanken kunnen worden geïnstalleerd via de addon manager. Op dit moment heeft uw systeem de volgende werkbanken: - + Start up workbench: - Start up workbench: + Werkbank bij opstarten: - + Choose which workbench will be activated and shown after FreeCAD launches Kies welke werkbank zal worden geactiveerd en weergegeven nadat FreeCAD opgestart is - + Workbench selector position : - Workbench selector position : + Werkbank keuze positie: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. 'Left Corner': In the menu bar, on the left corner. 'Right Corner': In the menu bar, on the right corner. - Customize where the workbench selector appears (restart required). + Pas aan waar het werkbank keuzemenu wordt weergegeven (herstart vereist). -'Toolbar': In the toolbars, as a movable toolbar. -'Left Corner': In the menu bar, on the left corner. -'Right Corner': In the menu bar, on the right corner. +'Werkbalk': In de werkbalken als een verplaatsbare werkbalk. +'Linker hoek': In de menubalk aan de linkerkant. +'Rechter hoek': In de menubalk aan de rechterkant. - + If checked, application will remember which workbench is active for each tab of the viewport Indien aangevinkt, zal de applicatie onthouden welke werkbank actief is voor elk tabblad van het kijkvenster - + Remember active workbench by tab Onthoud actieve werkbank per tabblad @@ -12443,7 +11739,7 @@ nadat FreeCAD opgestart is Planes - Planes + Vlakken @@ -12476,12 +11772,12 @@ nadat FreeCAD opgestart is Image plane settings - Image plane settings + Afbeelding vlak instellingen Planes - Planes + Vlakken @@ -12546,7 +11842,7 @@ nadat FreeCAD opgestart is Keep aspect ratio - Keep aspect ratio + Beeldverhouding behouden @@ -12577,65 +11873,70 @@ nadat FreeCAD opgestart is Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. - If unchecked, %1 will not appear in the available workbenches. + Indien niet aangevinkt, %1 zal niet verschijnen in de beschikbare werkbanken. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. + Dit is de huidige opstartmodule, en moet worden ingeschakeld. Zie Voorkeuren/Werkbanken/Automatisch laden om te wijzigen. - + Shortcut to activate this workbench. - Shortcut to activate this workbench. + Snelkoppeling om deze werkbank te activeren. - + Auto-load Automatisch laden - + If checked, %1 will be loaded automatically when FreeCAD starts up - If checked, %1 will be loaded automatically when FreeCAD starts up + Indien aangevinkt wordt %1 automatisch geladen als FreeCAD opstart - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Dit is de huidige opstartmodule, en moet automatisch geladen worden. Zie Voorkeuren/General/Autoload om te wijzigen. - + Loaded Geladen - + Load Laad - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. - To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. + Om hulpbronnen beschikbaar te houden, laadt FreeCAD geen werkbanken totdat ze worden gebruikt. Het laden van deze werkbanken kan toegang bieden tot extra voorkeuren met betrekking tot hun functionaliteit. Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Werkbalk - + Left corner Linkerhoek - + Right corner Rechterhoek @@ -12650,7 +11951,7 @@ nadat FreeCAD opgestart is Delete user notifications - Delete user notifications + Verwijder gebruikersmeldingen @@ -12661,12 +11962,12 @@ nadat FreeCAD opgestart is Gui::NotificationArea - + Delete user notifications - Delete user notifications + Verwijder gebruikersmeldingen - + Delete All Alles verwijderen @@ -12702,13 +12003,13 @@ nadat FreeCAD opgestart is StdViewLoadImage - + Load image... Afbeelding laden... - - + + Loads an image Laad een afbeelding @@ -12726,12 +12027,12 @@ nadat FreeCAD opgestart is Movable navigation cube - Movable navigation cube + Verplaatsbare navigatie kubus Drag and place NaviCube - Drag and place NaviCube + Sleep en plaats NaviCube @@ -12770,10 +12071,813 @@ nadat FreeCAD opgestart is Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Er is een fout opgetreden - zie Report View voor informatie + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opties + + + + Code lines will be numbered + Code-regels worden genummerd + + + + Enable line numbers + Activeer regelnummers + + + + The cursor shape will be a block + De vorm van de cursor wordt een blok + + + + Enable block cursor + Schakel blokvormige cursor in + + + + Enable folding + Vouwing inschakelen + + + + Indentation + Indrukking + + + + Tab size: + Tabgrootte: + + + + Tabulator raster (how many spaces) + Tabulator raster (hoeveel spaties) + + + + Indent size: + Inspring grootte: + + + + How many spaces will be inserted when pressing <Tab> + Hoeveel spaties zullen worden ingevoegd bij het indrukken van <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Op <Tab> drukken zal een tabulator invoegen met een gedefinieerde tabgrootte + + + + Keep tabs + Behoud tabs + + + + Pressing <Tab> will insert amount of defined indent size + Op <Tab> klikken zal de grootte van de gedefinieerde inspringen invoegen + + + + Insert spaces + Spaties invoegen + + + + Display items + Items tonen + + + + Color and font settings will be applied to selected type + Kleur- en lettertype-instellingen worden toegepast op het geselecteerde type + + + + Family: + Familie: + + + + Font family to be used for selected code type + Lettertypefamilie die gebruikt moet worden voor het geselecteerde codetype + + + + Size: + Grootte: + + + + Font size to be used for selected code type + Lettergrootte die gebruikt moet worden voor het geselecteerde codetype + + + + Color: + Kleur: + + + + Preview: + Voorbeeldweergave: + + + + Text + Tekst + + + + Bookmark + Bladwijzer + + + + Breakpoint + Pauze-punt + + + + Keyword + Sleutelwoord + + + + Comment + Commentaar + + + + Block comment + Commentaarblok + + + + Number + Getal + + + + String + Tekenreeks + + + + Character + Teken + + + + Class name + Klassenaam + + + + Define name + Definieer Naam + + + + Operator + Operand + + + + Python output + Python-uitvoer + + + + Python error + Python-fout + + + + Current line highlight + Nadruk van tegenwoordige lijn + + + + Items + Items + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Algemeen + + + + Language and number format + Taal en nummer formaat + + + + Language: + Taal: + + + + Language of the application's user interface + Taal van de gebruikersinterface van de applicatie + + + + Unit system: + Eenheidssysteem: + + + + Unit system that should be used for all parts of the application + Eenhedenstelsel dat moet worden gebruikt voor alle onderdelen van de applicatie + + + + Number of decimals: + Aantal decimalen: + + + + Number of decimals that should be shown for numbers and dimensions + Aantal decimalen dat moet worden weergegeven voor aantallen en afmetingen + + + + Minimum fractional inch: + Minimale fractie van een duim: + + + + Minimum fractional inch to be displayed + Minimale fractionele inch om weer te geven + + + + Number format: + Nummerformaat: + + + + Operating system + Besturingssysteem + + + + Selected language + Geselecteerde taal + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Indien ingeschakeld, wordt het decimaal teken van het toetsenbord vervangen door lokale decimaal tekens, behalve in Python Console en Macro Editor waar altijd een -punt- wordt afgedrukt. + + + + Substitute decimal separator + Vervang het decimaal teken + + + + Application + Applicatie + + + + Theme: + Thema: + + + + Customize how user interface will look like + Aanpassen hoe de gebruikersinterface eruit ziet + + + + Size of toolbar icons: + Grootte van de werkbalk-pictogrammen: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Kies uw voorkeur voor de grootte van de werkbalkpictogrammen. U kunt +dit aanpassen aan uw schermgrootte of persoonlijke smaak + + + + Tree view mode: + Boomstructuurweergavemodus: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Pas aan hoe de Structuurweergave wordt weergegeven in het paneel (herstart vereist). + +'ComboView': combineer de SructuurWeergave en eigenschap in een paneel. +'TreeView and PropertyView': splits de Structuur- en eigenschapsweergave in aparte panelen. +'Both': houd alle drie de panelen bij, en u kunt twee sets Structuur- en eigenschapsweergave hebben. + + + + Size of recent file list: + Grootte van recente bestandslijst: + + + + How many files should be listed in recent files list + Hoeveel bestanden moeten er in de lijst met recente bestanden worden opgenomen + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + De achtergrond van het hoofdvenster (als er geen bestand geopend is) zal bestaan uit tegels van een speciale afbeelding. +Zie de FreeCAD-Wiki voor meer informatie over de afbeelding. + + + + Enable tiled background + Betegelde achtergrond inschakelen + + + + The text cursor will be blinking + De tekstcursor zal knipperen + + + + Enable cursor blinking + Schakel ´Cursor knipperen´ in + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Een Splashscherm is een klein laadvenster dat wordt weergegeven +wanneer FreeCAD wordt opgestart. Als deze optie aangevinkt is, zal FreeCAD +het splashscherm weergeven + + + + Enable splash screen at start up + Activeer splash-scherm tijdens het opstarten + + + + Preference packs + Pakketten met voorkeuren + + + + Name + Naam + + + + Type + Type + + + + Load + Laad + + + + Import config... + Importeer configuratie... + + + + Save new... + Nieuwe opslaan... + + + + Manage... + Beheer... + + + + Revert... + Ongedaan maken... + + + + Manage preference packs + Beheer voorkeurspakketten + + + + Small (%1px) + Kleine (%1px) + + + + Medium (%1px) + Medium (%1px) + + + + Large (%1px) + Grote (%1px) + + + + Extra large (%1px) + Extra groot (%1px) + + + + Custom (%1px) + Aangepaste (%1px) + + + + Combo View + Combi-weergave + + + + TreeView and PropertyView + Structuur- en Eigenschapsweergave + + + + Both + Beide + + + + Preference Pack Name + Naam van het voorkeuren pakket + + + + Tags + Labels + + + + Apply + Toepassen + + + + Apply the %1 preference pack + %1 voorkeurspakket toepassen + + + + Choose a FreeCAD config file to import + Kies een FreeCAD configuratiebestand om te importeren + + + + File exists + Bestand bestaat + + + + A preference pack with that name already exists. Overwrite? + Een voorkeurspakket met deze naam bestaat al. Overschrijven? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Rapportweergave + + + + Output + Uitvoer + + + + Normal messages will be recorded + Normale berichten worden opgenomen + + + + Record normal messages + Neem normale berichten op + + + + Log messages will be recorded + Logberichten worden opgenomen + + + + Record log messages + logboek-berichten bewaren + + + + Warnings will be recorded + Waarschuwingen zullen worden opgenomen + + + + Record warnings + Waarschuwingen bewaren + + + + Error messages will be recorded + Foutberichten worden opgenomen + + + + Record error messages + Foutmeldingen bewaren + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Wanneer er een fout is opgetreden, wordt het dialoogvenster Rapportweergave zichtbaar +op het scherm terwijl de fout wordt weergegeven + + + + Show report view on error + Rapportweergave bij fout weergeven + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Wanneer er een waarschuwing is opgetreden, wordt het dialoogvenster Rapportweergave zichtbaar +op het scherm terwijl de waarschuwing wordt weergegeven + + + + Show report view on warning + Rapportweergave bij waarschuwing weergeven + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Wanneer er een normaal bericht is opgetreden, wordt het dialoogvenster Rapportweergave +op het scherm zichtbaar terwijl het bericht wordt weergegeven + + + + Show report view on normal message + Rapportweergave weergeven op normaal bericht + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Wanneer er een logbericht is opgetreden, wordt het dialoogvenster Rapportweergave +op het scherm zichtbaar terwijl het bericht wordt weergegeven + + + + Show report view on log message + Rapportweergave weergeven op logbericht + + + + Include a timecode for each report + Voeg een tijdcode toe voor elk rapport + + + + Include a timecode for each entry + Voeg een tijdcode toe voor elke invoer + + + + Colors + Kleuren + + + + Normal messages: + Normale berichten: + + + + Font color for normal messages in Report view panel + Letterkleur voor normale berichten in rapportweergavepaneel + + + + Log messages: + Logboekberichten: + + + + Font color for log messages in Report view panel + Letterkleur voor logberichten in rapportweergavepaneel + + + + Warnings: + Waarschuwingen: + + + + Font color for warning messages in Report view panel + Letterkleur voor waarschuwingsberichten in rapportweergavepaneel + + + + Errors: + Fouten: + + + + Font color for error messages in Report view panel + Letterkleur voor foutberichten in rapportweergavepaneel + + + + Python interpreter + Python-interpreter + + + + Internal Python output will be redirected +from Python console to Report view panel + De interne Python-uitvoer wordt omgeleid +van de Python-console naar het rapportweergavepaneel + + + + Redirect internal Python output to report view + Interne Python uitvoer omleiden naar de rapportweergave + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Interne Python-foutberichten worden omgeleid +van de Python-console naar het rapportweergavepaneel + + + + Redirect internal Python errors to report view + Interne Python fouten omleiden naar rapportweergave + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Thema + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Met deze pagina kun je je huidige thema aanpassen. De aangeboden instellingen zijn optioneel voor thema-ontwikkelaars dus ze kunnen wel of geen effect hebben in je huidige thema. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Deze kleur zou gebruikt kunnen worden door jouw thema en kan indien gewenst worden aangepast. + + + + No style sheet + Geen stijlblad + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_pl.ts b/src/Gui/Language/FreeCAD_pl.ts index 8b5953cd74..b734c48c17 100644 --- a/src/Gui/Language/FreeCAD_pl.ts +++ b/src/Gui/Language/FreeCAD_pl.ts @@ -42,29 +42,29 @@ Wizualna wielkość cechy - + <empty> <pusty> - - + + Angle Kąt - - + + Axis - + Position Pozycja - + Enum Wyliczenia @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Testowanie wyjścia konsoli - - + + Run test cases to verify console messages Uruchom przypadki testowe w celu weryfikacji wiadomości z konsoli @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Wyczyść wymiary - + Clear all visible measurements Usuń wszystkie widoczne pomiary @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Włącz / wyłącz widoczność pomiarów - + Turn on or off the display of all measurements Włącz lub wyłącz wyświetlanie wszystkich pomiarów @@ -124,7 +124,7 @@ Import - Import + Importuj @@ -132,7 +132,7 @@ Usuń - + Paste expressions Wklej wyrażenia @@ -182,7 +182,7 @@ Dodaj grupę - + Align Wyrównaj @@ -193,40 +193,40 @@ Umiejscowienie - - + + Transform Przemieszczenie - + Toggle array elements Przełącz elementy szyku - + Link Transform Przekształcanie łączy - + Measure distance Pomiar odległości - + Toggle visibility Przełącz widoczność - + Toggle selectability Przełącz możliwość zaznaczenia - + Edit image Edytuj obraz @@ -234,77 +234,77 @@ CommandGroup - + File Plik - + Edit Edycja - + Help Pomoc - + Link Łącze - + Tools Narzędzia - + View Widok - + Window Okno - + Standard Standardowy - + Macros Makrodefinicje - + Macro Makrodefinicje - + Structure Konstrukcja - + Standard-Test Test standardowy - + Standard-View Widok standardowy - + TreeView Widok drzewa - + Measure Pomiary @@ -397,16 +397,11 @@ Ok - OK + Ok DownloadItem - - - Form - Formularz - Ico @@ -421,42 +416,42 @@ EditMode - + Default Domyślny - + The object will be edited using the mode defined internally to be the most appropriate for the object type Obiekt będzie edytowany przy użyciu trybu zdefiniowanego wewnętrznie, aby był najbardziej odpowiedni dla typu obiektu - + Transform Przemieszczenie - + The object will have its placement editable with the Std TransformManip command Obiekt będzie miał umiejscowienie edytowalne za pomocą polecenia Std TransformManip - + Cutting Cięcie - + This edit mode is implemented as available but currently does not seem to be used by any object Ten tryb edycji jest zaimplementowany jako dostępny, ale obecnie nie wydaje się być używany przez żaden obiekt - + Color Kolor - + The object will have the color of its individual faces editable with the Part FaceColors command Obiekt będzie miał kolor poszczególnych ścianek edytowalny za pomocą polecenia Part FaceColors @@ -482,7 +477,7 @@ brak - + Press a keyboard shortcut Naciśnij skrót klawiaturowy @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Dostępne: - + Selected: Zaznaczone: - + Add Dodaj - + Remove Usuń - + Move up Przenieś wyżej - + Move down Przenieś w dół @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Obiekt ruchomy - + Fixed object Obiekt stały @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Proszę czekać aż plik Automatycznego Odzyskiwania zostanie zapisany... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Wciśnij lewy przycisk myszki - + Press SHIFT and middle mouse button Wciśnij klawisz SHIFT i środkowy przycisk myszki - + Press middle mouse button Wciśnij środkowy przycisk myszki - + Scroll middle mouse button Przewiń środkowym przyciskiem myszki @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button - Wciśnij lewy przycisk myszki + Naciśnij lewy przycisk myszki - + Press middle mouse button Wciśnij środkowy przycisk myszki - + Press middle+left or middle+right button Naciśnij środkowy + lewy lub środkowy + prawy przycisk - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Przewiń środkowy przycisk myszki lub trzymaj naciśnięty @@ -615,12 +610,12 @@ podczas kliknięcia lewym lub prawym przyciskiem myszki i przesuwaj kursor w gó Gui::ContainerDialog - + &OK &OK - + &Cancel &Anuluj @@ -628,7 +623,7 @@ podczas kliknięcia lewym lub prawym przyciskiem myszki i przesuwaj kursor w gó Gui::ControlSingleton - + Task panel Panel zadań @@ -712,47 +707,47 @@ podczas kliknięcia lewym lub prawym przyciskiem myszki i przesuwaj kursor w gó Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Zasłużeni - + FreeCAD would not be possible without the contributions of FreeCAD nie istniałby bez udziału - + Individuals Header for the list of individual people in the Credits list. Osoby - + Organizations Header for the list of companies/organizations in the Credits list. Organizacje - - + + License Licencja - + Libraries Biblioteki - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: To oprogramowanie używa komponentów typu open source, którego prawa autorskie i inne prawa zastrzeżone należą do ich właścicieli: - + Collection Kolekcja @@ -760,22 +755,22 @@ podczas kliknięcia lewym lub prawym przyciskiem myszki i przesuwaj kursor w gó Gui::Dialog::ApplicationCache - + Cache directory Katalog pamięci podręcznej - + The cache directory %1 exceeds the size of %2. Katalog pamięci podręcznej %1 przekracza rozmiar %2. - + Do you want to clear it now? Czy chcesz go teraz wyczyścić? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Ostrzeżenie: Upewnij się, że jest to jedyna uruchomiona instancja %1 i że żadne dokumenty nie są otwarte, ponieważ może to spowodować utratę danych! @@ -796,37 +791,37 @@ podczas kliknięcia lewym lub prawym przyciskiem myszki i przesuwaj kursor w gó Gui::Dialog::CameraDialog - + Camera settings Ustawienia ujęcia widoku - + Orientation Orientacja - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Bieżący widok @@ -892,7 +887,7 @@ podczas kliknięcia lewym lub prawym przyciskiem myszki i przesuwaj kursor w gó Gui::Dialog::CommandModel - + Commands Polecenia @@ -1117,12 +1112,12 @@ Jeśli ta opcja nie jest zaznaczona, właściwość musi być jednoznacznie nazw Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Pakiet już istnieje - + A preference pack with that name already exists. Do you want to overwrite it? Pakiet ustawień o tej nazwie już istnieje! Czy chcesz go zastąpić? @@ -1132,7 +1127,7 @@ Jeśli ta opcja nie jest zaznaczona, właściwość musi być jednoznacznie nazw Macros - Makrodefinicje + Makropolecenie @@ -1200,7 +1195,7 @@ Jeśli ta opcja nie jest zaznaczona, właściwość musi być jednoznacznie nazw Macros - Makrodefinicje + Makropolecenie @@ -1359,57 +1354,57 @@ wyzwolone zostanie to, które ma najwyższy priorytet. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Wpisz, aby wyszukać ... - + Icon Ikonka - + Command Polecenie - + Shortcut Skrót - + Default - Domyślny + Domyślnie - + Name Nazwa - + Title Tytuł - + All Wszystkie - - + + none - brak + żaden Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Paski przybornika @@ -1464,7 +1459,7 @@ wyzwolone zostanie to, które ma najwyższy priorytet. Move up - Przenieś wyżej + Przesuń w górę @@ -1474,7 +1469,7 @@ wyzwolone zostanie to, które ma najwyższy priorytet. Move down - Przenieś w dół + Przesuń w dół @@ -1498,40 +1493,40 @@ wyzwolone zostanie to, które ma najwyższy priorytet. - + <Separator> <Separator> - + %1 module not loaded Moduł %1 nie został załadowany - + New toolbar Nowy pasek narzędzi - - + + Toolbar name: Nazwa paska narzędzi: - - + + Duplicated name Powielona nazwa - - + + The toolbar name '%1' is already used Nazwa paska narzędzi '%1' jest już używana - + Rename toolbar Zmień nazwę paska narzędzi @@ -1544,19 +1539,19 @@ wyzwolone zostanie to, które ma najwyższy priorytet. Gui::Dialog::DlgCustomizeImp - + Customize Dostosuj - + &Help Pomo&c - + &Close &Zamknij @@ -1565,13 +1560,13 @@ wyzwolone zostanie to, które ma najwyższy priorytet. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Ruch SpaceMouse - + No Spaceball Present Brak manipulatora przestrzennego @@ -1579,27 +1574,27 @@ wyzwolone zostanie to, które ma najwyższy priorytet. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Przyciski SpaceMouse - + No Spaceball Present Brak manipulatora przestrzennego - + Buttons Przyciski - + Reset Reset - + Print Reference Wydrukuj odnośniki @@ -1684,551 +1679,123 @@ wyzwolone zostanie to, które ma najwyższy priorytet. Gui::Dialog::DlgDisplayPropertiesImp - + Default - Domyślny + Domyślnie - + Aluminium Aluminium - + Brass Mosiądz - + Bronze Brąz - + Copper Miedź - + Chrome Chrom - + Emerald Szmaragd - + Gold Złoto - + Jade Jadeit - + Metalized Metalizowany - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsydian - + Pewter Stop cyny - + Plaster Tynk - + Plastic Tworzywo sztuczne - + Ruby Rubin - + Satin Satyna - + Shiny plastic Błyszczące tworzywo sztuczne - + Silver Srebro - + Steel Stal - + Stone Kamień Gui::Dialog::DlgEditorSettings - - - Editor - Edytor - - - - Options - Opcje - - - - Code lines will be numbered - Wiersze kodu będą ponumerowane - - - - Enable line numbers - Włącz numerowanie linii - - - - The cursor shape will be a block - Kursor przyjmie kształt bloku - - - - Enable block cursor - Włącz duży kursor - - - - Enable folding - Włącz składanie - - - - Indentation - Wcięcie - - - - Tab size: - Rozmiar tabulacji: - - - - Tabulator raster (how many spaces) - Ilość znaków spacji dla tabulacji - - - - Indent size: - Rozmiar wcięcia: - - - - How many spaces will be inserted when pressing <Tab> - Ilość spacji wstawionych po naciśnięciu <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Naciśnięcie klawisza <Tab> spowoduje wstawienie tabulatora o określonym rozmiarze - - - - Keep tabs - Kontroluj tabulacje - - - - Pressing <Tab> will insert amount of defined indent size - Naciśnięcie <Tab> spowoduje wstawienie odstępu o określonym rozmiarze - - - - Insert spaces - Wstaw spacje - - - - Display items - Wyświetl elementy - - - - Color and font settings will be applied to selected type - Definicje ustawień czcionki dla wybranego typu tekstu - - - - Family: - Czcionka: - - - - Font family to be used for selected code type - Krój czcionki stosowany dla wybranego typu kodu - - - - Size: - Rozmiar: - - - - Font size to be used for selected code type - Rozmiar czcionki stosowany dla wybranego typu kodu - - - - Color: - Kolor: - - - - Preview: - Podgląd: - [empty string] - - Gui::Dialog::DlgGeneral - - - General - Ogólne - - - - Language of the application's user interface - Język interfejsu użytkownika dla aplikacji - - - - Number format: - Format liczb: - - - - Operating system - System operacyjny - - - - Selected language - Wybrany język - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Jeśli opcja jest włączona, znak separatora dziesiętnego -klawiatury numerycznej zostanie zastąpiony separatorem z ustawień -lokalnych, z wyjątkiem konsoli Python i edytora makrodefinicji, -gdzie zawsze będzie wpisywana kropka. - - - - Preference packs - Pakiety preferencji - - - - Name - Nazwa - - - - Type - Typ - - - - Load - Wczytaj - - - - Import config... - Importuj konfigurację ... - - - - Save new... - Zapisz jako nowy ... - - - - Manage... - Zarządzaj ... - - - - Revert... - Przywróć … - - - - How many files should be listed in recent files list - Liczba plików na liście ostatnio używanych - - - - Enable tiled background - Aktywuj kafle w tle - - - - The text cursor will be blinking - Kursor tekstowy będzie migał - - - - Enable cursor blinking - Włącz miganie kursora - - - - Style sheet: - Arkusz stylów: - - - - Language and number format - Język i format liczb - - - - Language: - Język: - - - - Unit system: - Układ jednostek: - - - - Unit system that should be used for all parts of the application - System jednostek, który ma być używany we wszystkich częściach aplikacji - - - - Number of decimals: - Liczba cyfr po przecinku: - - - - Number of decimals that should be shown for numbers and dimensions - Liczba miejsc dziesiętnych, które maja być prezentowane dla liczb i wymiarów - - - - Minimum fractional inch: - Najmniejszy ułamek cala: - - - - Minimum fractional inch to be displayed - Najmniejszy ułamek cala, który ma być wyświetlany - - - - Substitute decimal separator - Zastąp separator dziesiętny - - - - Application - Aplikacja - - - - Style sheet how user interface will look like - Arkusz stylów, przedstawiający jak będzie wyglądał interfejs użytkownika - - - - Size of toolbar icons: - Rozmiar ikon paska narzędzi: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Wybierz preferowany rozmiar ikonek paska narzędzi. Możesz dokonać zmiany -w zależności od wielkości ekranu lub swoich upodobań - - - - Tree view mode: - Tryb widoku drzewa: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Dostosuj widok drzewa w panelu (wymagany restart). - -„Widok połączony”: połącz widok drzewa i widok właściwości w jednym panelu. -„Widok drzewa i Widok właściwości”: rozdziel widok drzewa i widok właściwości na oddzielny panel. -„Obydwa”: zachowaj wszystkie panele, możesz mieć dwa zestawy widoku drzewa i widoku właściwości. - - - - Size of recent file list: - Rozmiar listy ostatnio używanych plików: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Tło okna głównego (gdy nie jest otwarty żaden dokument) będzie składało się z kafelków specjalnego obrazu. -Szczegółowe informacje na temat obrazu można znaleźć w FreeCAD Wiki. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Ekran powitalny to małe okno postępu ładowania, które jest wyświetlane -podczas uruchamiania FreeCAD. Jeśli ta opcja jest zaznaczona, FreeCAD -wyświetli ekran powitalny - - - - Enable splash screen at start up - Włącz ekran powitalny przy uruchamianiu - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Zarządzaj pakietami preferencji - - - - Small (%1px) - Małe (%1px) - - - - Medium (%1px) - Średnie (%1px) - - - - Large (%1px) - Duże (%1px) - - - - Extra large (%1px) - Bardzo duże (%1px) - - - - Custom (%1px) - Niestandardowy (%1px) - - - - Combo View - Widok połączony - - - - TreeView and PropertyView - Widok drzewa i widok właściwości - - - - Both - Obydwa - - - - No style sheet - Brak arkusza stylu - - - - Preference Pack Name - Nazwa Pakietu preferencji - - - - Tags - Znaczniki - - - - Apply - Zastosuj - - - - Apply the %1 preference pack - Zastosuj pakiet preferencji: %1 - - - - Choose a FreeCAD config file to import - Wybierz plik konfiguracyjny FreeCAD do importu - - - - File exists - Plik już Istnieje - - - - A preference pack with that name already exists. Overwrite? - Pakiet ustawień o tej nazwie już istnieje! Czy chcesz go zastąpić? - - Gui::Dialog::DlgInputDialog @@ -2244,8 +1811,8 @@ wyświetli ekran powitalny Gui::Dialog::DlgInspector - - + + Scene Inspector Inspektor sceny @@ -2337,70 +1904,70 @@ wyświetli ekran powitalny Gui::Dialog::DlgMacroExecuteImp - + Macros Makropolecenie - + Read-only Tylko do odczytu - + Macro file Plik makrodefinicji - + Enter a file name, please: Proszę wprowadzić nazwę pliku: - - - + + + Existing file Plik już istnieje - + '%1'. This file already exists. '%1'. Ten plik już istnieje. - + Cannot create file Nie można utworzyć pliku - + Creation of file '%1' failed. Tworzenie pliku %1 nie powiodło się. - + Delete macro Usuń makrodefinicję - + Do you really want to delete the macro '%1'? Czy na pewno chcesz usunąć makro '%1'? - + Do not show again Nie pokazuj ponownie - + Guided Walkthrough Poradnik - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2411,78 +1978,78 @@ Uwaga: Twoje zmiany zostaną zastosowane przy następnym przełączeniu środowi - + Walkthrough, dialog 1 of 2 Przewodnik, okno 1 z 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Instrukcje przewodnika: Wypełnij brakujące pola (opcjonalnie), a następnie kliknij dodaj, a następnie zamknij - + Walkthrough, dialog 1 of 1 Przewodnik, okno 1 z 1 - + Walkthrough, dialog 2 of 2 Przewodnik, okno 2 z 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instrukcje przewodnika: Kliknij strzałkę w prawo (->), a następnie Zamknij. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Instrukcje przewodnika: Kliknij Nowy, następnie strzałkę w prawo (->), a następnie Zamknij. - + Renaming Macro File Zmiana nazwy pliku makrodefinicji - - + + Enter new name: Wprowadź nową nazwę: - - + + '%1' already exists. '%1' już istnieje. - + Rename Failed Zmiana nazwy nie powiodła się - + Failed to rename to '%1'. Perhaps a file permission error? Nie udało się zmienić nazwy na '%1'. Być może odmowa dostępu do pliku? - + Duplicate Macro Duplikuj Makroinstrukcje - + Duplicate Failed Błąd duplikowania - + Failed to duplicate to '%1'. Perhaps a file permission error? Nie można powielić do '%1'. @@ -2525,39 +2092,39 @@ Możliwy błąd dostępu do pliku? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Rejestrator makrodefinicji - + Specify first a place to save. Najpierw określ miejsce zapisu. - + The macro directory doesn't exist. Please, choose another one. Folder z makrodefinicjami nie istnieje. Proszę wybrać inny. - + Existing macro Makrodefinicja już istnieje - + The macro '%1' already exists. Do you want to overwrite? Makro '%1' już istnieje. Czy chcesz nadpisać? - + You have no write permission for the directory. Please, choose another one. Nie masz uprawnień zapisu do katalogu. Proszę wybrać inny. - + Choose macro directory Wybierz folder dla makrodefinicji @@ -2630,12 +2197,12 @@ Możliwy błąd dostępu do pliku? Pliki HTML - + Access denied Brak dostępu - + Access denied to '%1' Specify another directory, please. @@ -3036,36 +2603,36 @@ Proszę podać inny katalog. Plik projektu - - + + Empty source Puste źródło - - + + No source is defined. Nie zdefiniowano żadnego źródła. - - + + Empty destination Puste miejsca przeznaczenia - - + + No destination is defined. Miejsce docelowe nie jest zdefiniowane. - + Failed to extract project Nie udało się rozpakować projektu - + Failed to create project Nie udało się utworzyć projektu @@ -3105,7 +2672,7 @@ Proszę podać inny katalog. Reset - Reset + Resetuj @@ -3115,188 +2682,6 @@ Proszę podać inny katalog. Gui::Dialog::DlgReportView - - - Report view - Widok raportu - - - - Output - Wyjście - - - - Normal messages will be recorded - Zwykłe wiadomości o błędach będą rejestrowane - - - - Record normal messages - Rejestruj zwykłe wiadomości - - - - Log messages will be recorded - Wiadomości dziennika będą rejestrowane - - - - Record log messages - Rejestruj wiadomości dziennika - - - - Warnings will be recorded - Ostrzeżenia będą rejestrowane - - - - Record warnings - Rejestruj ostrzeżenia - - - - Error messages will be recorded - Wiadomości o błędach będą rejestrowane - - - - Record error messages - Rejestruj komunikaty błędów - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Gdy wystąpi błąd, okno dialogowe Widoku Raportu staje się widoczne -na ekranie podczas wyświetlania błędu - - - - Show report view on error - Pokaż okno Widok raportu po wystąpieniu błędu - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Gdy pojawi się ostrzeżenie, okno dialogowe Widoku Raportu zostanie -wyświetlone na ekranie podczas wyświetlania ostrzeżenia - - - - Show report view on warning - Pokaż okno Widok raportu po wystąpieniu ostrzeżenia - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Gdy pojawi się zwykły komunikat, okno dialogowe Widoku Raportu zostanie -wyświetlone na ekranie - - - - Show report view on normal message - Pokaż okno Widok raportu po wystąpieniu zwykłej wiadomości - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Gdy pojawi się komunikat dziennika, okno dialogowe Widoku Raportu zostanie -wyświetlone na ekranie podczas wyświetlania komunikatu dziennika - - - - Show report view on log message - Pokaż okno Widok raportu z wiadomościami dziennika - - - - Include a timecode for each report - Dołączaj znacznik czasu do każdego raportu - - - - Include a timecode for each entry - Dołączaj znacznik czasu do każdej pozycji wpisu - - - - Colors - Kolory - - - - Normal messages: - Zwykłe wiadomości: - - - - Font color for normal messages in Report view panel - Kolor tekstu dla zwykłych komunikatów w panelu Widoku Raportu - - - - Log messages: - Wiadomości dziennika: - - - - Font color for log messages in Report view panel - Kolor tekstu dla komunikatów dziennika w panelu Widoku Raportu - - - - Warnings: - Ostrzeżenia: - - - - Font color for warning messages in Report view panel - Kolor tekstu dla komunikatów ostrzegawczych w panelu Widoku Raportu - - - - Errors: - Błędy: - - - - Font color for error messages in Report view panel - Kolor tekstu dla komunikatów z błędami w panelu Widoku Raportu - - - - Python interpreter - Interpreter Python - - - - Internal Python output will be redirected -from Python console to Report view panel - Wewnętrzne dane wyjściowe środowiska Python zostaną przekierowane -z konsoli Python do panelu Widoku Raportu - - - - Redirect internal Python output to report view - Przekieruj wiadomości wewnętrzne środowiska Python do Widoku Raportu - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Wewnętrzne komunikaty o błędach środowiska Python zostaną przekierowane -z konsoli Python do panelu Widoku Raportu - - - - Redirect internal Python errors to report view - Przekieruj błędy wewnętrzne środowiska Python do Widoku Raportu - [empty string] @@ -3323,7 +2708,7 @@ z konsoli Python do panelu Widoku Raportu Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Brak wyboru, nie można załadować pliku kopii zapasowej @@ -3366,7 +2751,7 @@ z konsoli Python do panelu Widoku Raportu Pomoc - + Select a file Wybierz plik @@ -3374,69 +2759,69 @@ z konsoli Python do panelu Widoku Raportu Gui::Dialog::DlgSettings3DView - + 3D View Widok 3D - + General Ogólne - + Main coordinate system will always be shown in lower right corner within opened files Symbol głównego układu współrzędnych będzie zawsze pokazany w dolnym prawym rogu podczas edycji plików - + Show coordinate system in the corner Pokaż w narożniku symbol układu współrzędnych - + Relative size : Względna wielkość: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Rozmiar reprezentacji symbolu głównego układu współrzędnych w rogu rzutni — w % wysokości / szerokości - + Axis cross will be shown by default at file opening or creation Podczas edycji domyślnie będzie wyświetlany krzyżyk osi modelu - + Show axis cross by default Domyślnie pokazuj krzyżyk osi modelu - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Podczas edycji w lewym dolnym rogu będzie wyświetlany czas potrzebny do wykonania ostatniej operacji i wynikowa liczba klatek na sekundę - + Show counter of frames per second Pokaż licznik klatek na sekundę - + Rendering Renderowanie - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3445,22 +2830,22 @@ Changing this option requires a restart of the application. Zmiana tej opcji wymaga ponownego uruchomienia aplikacji. - + Use software OpenGL Wyłącz sprzętowe wspomaganie renderowania - + Use OpenGL VBO (Vertex Buffer Object) Użyj OpenGL VBO (Vertex Buffer Object) - + Render cache Pamięć podręczna dla renderowania - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3483,7 +2868,7 @@ od anomalii graficznych do błędów spowodowanych awarią GPU. Pamiętaj, o zgłoszeniu aktywacji tej nastawy podczas szukania wsparcia na forum FreeCAD. - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3500,92 +2885,92 @@ tylko cache w głównym węźle graficznym obrazu. Oferuje to najszybszą prędk ale wolniej reaguje na każdą zmianę ujęcia. - + Auto Automatycznie - + Distributed Rozproszone - + Centralized Scentralizowane - + Anti-Aliasing Wygładzanie - + What kind of multisample anti-aliasing is used Jaki zostanie użyty rodzaj antyaliasingu wielopróbkowego - + None Brak - + Line Smoothing Wygładzanie linii - + MSAA 2x MSAA 2 x - + MSAA 4x MSAA 4 x - + MSAA 8x MSAA 8 x - + Transparent objects: Przezroczystość obiektów: - + Render types of transparent objects Typ wizualizacji dla przezroczystości - + One pass Jeden przebieg - + Backface pass Przebieg od tyłu - + Marker size: Rozmiar znacznika punktu: - - Size of vertices in the Sketcher workbench - Rozmiar punktów dla wierzchołków w Środowisku pracy Szkicownika + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Odległość między oczami dla trybu stereo - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3594,48 +2979,48 @@ Podana wartość jest współczynnikiem, który zostanie pomnożony przez rozmiar ramki otaczającej obiekt 3D, który jest aktualnie wyświetlany. - + Backlight is enabled with the defined color Podświetlenie jest włączane w określonym kolorze - - + + Backlight color Kolor podświetlenia - + Intensity Intensywność - + Intensity of the backlight Natężenie podświetlenia - + Camera type Typ projekcji - + Objects will appear in a perspective projection Podczas wyświetlania obiekty będą rzutowane w projekcji perspektywicznej - + Perspective renderin&g Renderowanie &perspektywiczne - + Objects will be projected in orthographic projection Podczas wyświetlania obiekty będą rzutowane w projekcji ortogonalnej - + Or&thographic rendering Renderowanie or&togonalne @@ -3647,42 +3032,42 @@ rozmiar ramki otaczającej obiekt 3D, który jest aktualnie wyświetlany. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Wygładzanie krawędzi - + Open a new viewer or restart %1 to apply anti-aliasing changes. Otwórz nowe okno widoku 3D lub uruchom ponownie %1, aby zobaczyć naniesione zmiany wygładzania krawędzi. @@ -3690,77 +3075,77 @@ rozmiar ramki otaczającej obiekt 3D, który jest aktualnie wyświetlany. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Pamięć podręczna - + Cache directory Katalog pamięci podręcznej - + Location: Lokalizacja: - + Check periodically at program start: Sprawdzaj rozmiar pamięci przy starcie programu: - + Always Zawsze - + Daily Codziennie - + Weekly Tygodniowo - + Monthly Miesięcznie - + Yearly Rocznie - + Never Nigdy - + Cache size limit: Limit rozmiaru pamięci podręcznej: - + Check now... Sprawdź teraz ... - + Notify the user if the cache size exceeds the specified limit Powiadom użytkownika, jeśli rozmiar pamięci podręcznej przekroczy określony limit - + Unknown Nieznany - + Current cache size: %1 Aktualny rozmiar: %1 @@ -3857,7 +3242,7 @@ będą wyświetlane na szaro Alt+R - Alt+R + Alt + R @@ -3921,12 +3306,12 @@ oprócz paska kolorów Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Nieprawidłowy parametr - + The maximum value must be higher than the minimum value. Wartość maksymalna musi być wyższa niż wartość minimalna. @@ -3934,180 +3319,180 @@ oprócz paska kolorów Gui::Dialog::DlgSettingsDocument - + Document Dokument - + General Ogólne - + The application will create a new document when started Aplikacja utworzy nowy dokument przy starcie - + Create new document at start up Utwórz nowy dokument w trakcie uruchamiania - + Document save compression level (0 = none, 9 = highest, 3 = default) Poziom kompresji podczas zapisu dokumentu (0 = brak, 9 = najwyższy, 3 = domyślny) - + Compression level for FCStd files Stopień kompresji dla plików FCStd - + All changes in documents are stored so that they can be undone/redone Wszystkie zmiany w dokumentach są przechowywane w taki sposób, aby można je było cofnąć / odtworzyć - + Using Undo/Redo on documents Użyj Cofnij / Ponów w dokumentach - + Maximum Undo/Redo steps Maksymalna ilość kroków Cofnij / Ponów - + How many Undo/Redo steps should be recorded Ile kroków Cofnij / Ponów powinno być zapisanych - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Zezwalaj użytkownikowi na przerywanie przeliczania dokumentu poprzez naciśnięcie ESC. Ta funkcja może nieznacznie zwiększyć czas przeliczania. - + Allow aborting recomputation Zezwalaj na przerywanie przeliczania - + Storage Zapis i przechowywanie - + Saving transactions (Auto-save) Zapisywania transakcji (Autozapis) - + Discard saved transaction after saving document Odrzuć zapisaną transakcję po zapisaniu dokumentu - + If there is a recovery file available the application will automatically run a file recovery when it is started. Jeśli dostępny jest plik odzyskiwania aplikacja automatycznie uruchomi odzyskiwanie po uruchomieniu. - + Run AutoRecovery at startup Uruchomienie automatycznego odzyskiwanie przy starcie - + How often a recovery file is written Jak często zapisywać plik odzyskiwania - + Save AutoRecovery information every Zapisz informacje Automatycznego Odzyskiwania co - + A thumbnail will be stored when document is saved Po zapisaniu dokumentu prezentuj miniaturkę - + Save thumbnail into project file when saving document Podczas zapisywania dokumentu dołącz miniaturkę do pliku projektu - + Size Rozmiar - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Ustawia rozmiar miniatury, która jest przechowywana w dokumencie. Typowe rozmiary to 128, 256 i 512 - + The program logo will be added to the thumbnail Logo programu zostanie dodane do miniaturki - + Add the program logo to the generated thumbnail Dodaj logo programu do wygenerowanej miniatury - + How many backup files will be kept when saving document Ile plików kopii zapasowej będzie przechowywanych podczas zapisywania dokumentu - + Maximum number of backup files to keep when resaving document Maksymalna liczba plików kopii zapasowych podczas ponownego zapisywania dokumentu - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Pliki kopii zapasowych otrzymają rozszerzenie ".FCbak" a nazwy plików przyrostek daty zgodnie z określonym formatem - + Use date and FCBak extension Użyj daty i rozszerzenia FCBak - + Date format Format daty - + Document objects Obiekty dokumentu - + Allow objects to have same label Zezwól na obiekty o identycznej nazwie - + Allow duplicate object labels in one document Zezwalaj na umieszczanie duplikatów etykiet obiektów w obrębie jednego dokumentu - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4120,22 +3505,22 @@ Częściowo załadowany dokument nie może być edytowany. Kliknij dwukrotnie w na widoku drzewa, aby go w pełni przeładować. - + Disable partial loading of external linked objects Wyłącz częściowe ładowanie połączonych obiektów zewnętrznych - + Authoring and License Prawa autorskie i licencja - + Author name Nazwa autora - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4144,32 +3529,32 @@ Pozostaw puste miejsce dla zachowania anonimowości. Możesz również skorzystać z formatki: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Podczas zapisywania pliku pole 'Ostatnio zmodyfikowany przez' zostanie uzupełnione nazwą określonego autora - + Set on save Ustaw przy zapisywaniu - + Company Nazwa firmy - + Default company name to use for new files Domyślna nazwa firmy dla nowych plików - + Default license Licencja domyślna - + Default license for new documents Domyślna licencja dla nowych dokumentów @@ -4236,15 +3621,15 @@ Możesz również skorzystać z formatki: John Doe <john@doe.com> Other - Inne + Pozostałe - + License URL Adres URL licencji - + URL describing more about the license Witryna ze szczegółami licencji @@ -4252,104 +3637,21 @@ Możesz również skorzystać z formatki: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Używany format zapisu daty. - + Default - Domyślny + Domyślnie - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Tekst - - - - Bookmark - Zakładka - - - - Breakpoint - Punkt przerwania - - - - Keyword - Słowo kluczowe - - - - Comment - Komentarz - - - - Block comment - Zablokuj komentarz - - - - Number - Liczba - - - - String - Ciąg - - - - Character - Znak - - - - Class name - Nazwa klasy - - - - Define name - Określ nazwę - - - - Operator - Operator - - - - Python output - Okno Python - - - - Python error - Błąd Pythona - - - - Current line highlight - Podświetlenie bieżącego wiersza - - - - Items - Elementy - - Gui::Dialog::DlgSettingsImage @@ -4416,7 +3718,7 @@ Możesz również skorzystać z formatki: John Doe <john@doe.com> Alt+S - Alt+S + Alt + S @@ -4530,122 +3832,122 @@ Możesz również skorzystać z formatki: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Makropolecenia - + General macro settings Ustawienia ogólne dla makrodefinicji - + Variables defined by macros are created as local variables Zmienne zdefiniowane przez makrodefinicje będą zmiennymi lokalnymi - + Run macros in local environment Uruchom makro w środowisku lokalnym - + Macro recording settings Ustawienia nagrywania makrodefinicji - + Macro path Ścieżka do plików makrodefinicji - + The directory in which the application will search for macros Folder, w którym aplikacja będzie poszukiwać makrodefinicji - + Gui commands Polecenia GUI - + Recorded macros will also contain user interface commands Nagrane makrodefinicje będą również zawierać komendy interfejsu użytkownika - + Record GUI commands Nagrywanie poleceń GUI - + Recorded macros will also contain user interface commands as comments Nagrane makrodefinicje będą również zawierać komendy interfejsu użytkownika jako komentarze - + Record as comment Zarejestruj jako komentarz - + Logging Commands Rejestrowanie poleceń - + Commands executed by macro scripts are shown in Python console Polecenia wykonywane przez skrypty makrodefinicji są wyświetlane w konsoli środowiska Python - + Show script commands in python console Pokaż polecenia skryptu w konsoli Python - + Log all commands issued by menus to file: Rejestruj wszystkie polecenia wydawane przez menu Plik: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Menu z ostatnio użytymi makrodefinicjami - + Size of recent macro list Rozmiar listy ostatnio używanych makrodefinicji - + How many macros should be listed in recent macros list Liczba makrodefinicji na liście ostatnio używanych - + Keyboard shortcut count Liczba skrótów klawiszowych - + How many recent macros should have shortcuts Ile ostatnio używanych makrodefinicji powinno mieć skróty - + Keyboard Modifiers Klawisze modyfikujące - + Keyboard modifiers, default = Ctrl+Shift+ Klawisze modyfikujące, domyślnie = Ctrl+Shift+ @@ -4653,130 +3955,130 @@ Możesz również skorzystać z formatki: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Nawigacja - + Navigation cube Kostka nawigacyjna - + Steps by turn Ilość kroków na pełen obrót - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Ilość kroków do wykonania pełnego obrotu przy użyciu strzałek (domyślnie = 8 : kąt kroku = 360/8 = 45°) - + Corner Narożnik - + Corner where navigation cube is shown Narożnik, w którym wyświetlana jest kostka nawigacyjna - + Top left Lewy górny - + Top right Prawy górny - + Bottom left Lewy dolny - + Bottom right Prawy dolny - + Rotates to nearest possible state when clicking a cube face Obróć do najbliższego stanu po kliknięciu w ścianę kostki nawigacyjnej - + Rotate to nearest Obróć do najbliższego - + Font name: Nazwa czcionki: - + Font name of the navigation cube Nazwa czcionki kostki nawigacyjnej - + Default - Domyślny + Domyślnie - + Cube size Rozmiar kostki nawigacyjnej - + Size of the navigation cube Rozmiar kostki nawigacyjnej - + Color Kolor - + Base color for all elements Podstawowy kolor dla wszystkich elementów - + 3D Navigation Styl nawigacji w przestrzeni 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Lista konfiguracji przycisku myszki dla każdego wybranego ustawienia nawigacji. Wybierz zestaw, a następnie naciśnij przycisk, w celu wyświetlenia konfiguracji. - + Mouse... Myszka ... - + Navigation settings set Zestaw ustawień nawigacyjnych - + Orbit style Technika orbitalna - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4787,116 +4089,116 @@ Turntable: część zostanie obrócona wokół osi z (z powiązanymi osiami). Free Turntable: część będzie obracana wokół osi z. - + Turntable Turntable - + Trackball Trackball - + Free Turntable Free Turntable - + Rotation mode Tryb obrotu - + Rotations in 3D will use current cursor position as center for rotation Do obrótu w przestrzeni 3D będzie użyta pozycja kursora jako środek obrotu - + Window center Środek okna - + Drag at cursor Przeciągnij kursorem - + Object center Środek obiektu - + Default camera orientation Domyślna orientacja ujęcia widoku - + Default camera orientation when creating a new document or selecting the home view Domyślna orientacja ujęcia widoku podczas tworzenia nowego dokumentu lub wybierania widoku głównego - + Camera zoom Przybliż ujęcie widoku - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Ustawia przybliżenie ujęcia widoku z kamery dla nowych dokumentów. Wartością jest średnica kuli, która ma zmieścić się na ekranie. - + mm mm - + Enable animated rotations Włącz animowane obracanie - + Enable animation Włącz animację - + Zoom operations will be performed at position of mouse pointer Operacje powiększenia będą wykonywane w odniesieniu dla pozycji kursora myszki - + Zoom at cursor Powiększ przy kursorze - + Zoom step Krok powiększenia - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Określa krok powiększenia Stopień powiększenia "1" oznacza współczynnik 7,5 dla każdego kolejnego kroku powiększenia. - + Direction of zoom operations will be inverted Kierunek wykonania operacji przybliż / oddal zostanie odwrócony - + Invert zoom Odwrócenie operacji przybliż / oddal - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4905,57 +4207,67 @@ Dotyczy tylko nawigacji gestami. Obracanie przy pomocy myszki nie jest blokowane. - + Disable touchscreen tilt gesture Wyłącz gest obrotu na ekranie dotykowym - - Isometric - Widok izometryczny + + Show the rotation center when dragging. + Pokaż środek obrotu podczas przeciągania. - + + Enable rotation center indication + Włącz wskaźnik środka obrotu + + + + Isometric + Izometryczny + + + Dimetric Dimetryczny - + Trimetric Trimetryczny - + Top Od góry - + Front Od przodu - + Left Od lewej - + Right Od prawej - + Rear Od tył - + Bottom Od dołu - + Custom Niestandardowy @@ -4963,44 +4275,44 @@ Obracanie przy pomocy myszki nie jest blokowane. Gui::Dialog::DlgSettingsPythonConsole - + Python console Konsola Python - + Settings Ustawienia - + Words will be wrapped when they exceed available horizontal space in Python console Słowa będą zawijane, gdy przekroczą dostępną długość wiersza w konsoli Python - + Enable word wrap Włącz zawijanie tekstu - + The cursor shape will be a block Kursor przyjmie kształt bloku - + Enable block cursor Włącz duży kursor - + Saves Python history across sessions Zapisz historię środowiska Python pomiędzy sesjami - + Save history Zapisz dziennik działań @@ -5008,17 +4320,37 @@ długość wiersza w konsoli Python Gui::Dialog::DlgSettingsSelection - + Selection Zaznaczanie - + + Enable preselection, highlighted with specified color + Włącz możliwość wskazania obiektu i podświetlenie przez wybrany kolor + + + + Enable preselection + Włącz wskazanie obiektu + + + + Enable selection, highlighted with specified color + Włącz możliwość zaznaczenia obiektu i podświetlenie przez wybrany kolor + + + + Enable selection + Włącz wybór + + + Pick radius (px): Promień kliknięcia — wybrania (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5027,27 +4359,27 @@ Większa wartość ułatwia wybieranie, ale może uniemożliwić wybór małych - + Auto switch to the 3D view containing the selected item Przełącz automatycznie do widoku 3D zawierającego wybrany element - + Auto expand tree item when the corresponding object is selected in 3D view Automatycznie rozwiń drzewko gdy odpowiedni obiekt jest zaznaczony w oknie widoku 3D - + Preselect the object in 3D view when mouse over the tree item Wyróżnij obiekt w oknie widoku 3D, gdy kursor myszki znajduje się nad pozycją drzewa - + Record selection in tree view in order to go back/forward using navigation button Zapisuj zaznaczenie w widoku drzewa, aby cofnąć / ponowić za pomocą przycisku nawigacji - + Add checkboxes for selection in document tree Dodaj pola wyboru do zaznaczenia w drzewie dokumentu @@ -5055,147 +4387,122 @@ Większa wartość ułatwia wybieranie, ale może uniemożliwić wybór małych Gui::Dialog::DlgSettingsViewColor - + Colors Kolory - - Selection - Zaznaczanie - - - - Enable preselection and highlight by specified color - Włącz możliwość wskazania obiektu i podświetlenie przez wybrany kolor - - - - Enable preselection highlighting - Włącz podświetlanie wskazania - - - - Enable selection highlighting and use specified color - Włącz możliwość zaznaczenia obiektu i podświetlenie przez wybrany kolor - - - - Enable selection highlighting - Włącz podświetlanie zaznaczenia - - - + Background color for the model view Kolor tła widoku modelu - + Background color Kolor tła - - + + Background will have selected color Tło będzie miało wybrany kolor - + Simple color Pojedynczy kolor - - + + Background will have selected color gradient Tło będzie miało wybrany gradient kolorów - + Linear gradient Gradient liniowy - + Radial gradient Gradient radialny - - + + Top: U góry: - - + + Middle: Pośrodku: - + Switches the colors of the gradient Przełącza kolory gradientu - + Switch Przełącz - + Color gradient will get selected color as middle color Gradient otrzyma wybrany kolor jako kolor na środku - + Middle color Kolor po środku - - + + Bottom: U dołu: - + Tree view Widok drzewa - + Object being edited Edytowany obiekt - + Background color for objects in tree view that are currently edited Kolor tła dla edytowanych obiektów w widoku drzewa - + Active container Aktywna zawartość - + Background color for active containers in tree view Kolor tła dla aktywnej zawartości w widoku drzewa - + Central: Centralny: - + Midway: W połowie: - + End: Na końcu: @@ -5307,12 +4614,12 @@ System preferencji to ten, który jest ustawiony w preferencjach ogólnych. Gui::Dialog::DlgUnitsCalculator - + unknown unit: nieznana jednostka: - + unit mismatch niezgodność jednostek @@ -5320,7 +4627,7 @@ System preferencji to ten, który jest ustawiony w preferencjach ogólnych. Gui::Dialog::DockablePlacement - + Placement Umiejscowienie @@ -5372,60 +4679,60 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany.Jeszcze nie odzyskano - + Unknown problem occurred Wystąpił nieznany problem - - + + Failed to recover Odzyskiwanie nie powiodło się - + Successfully recovered Pomyślnie odzyskano - + Finish Zakończ - - + + Delete Usuń - - + + Cleanup Wyczyść - + Are you sure you want to delete the selected transient directories? Czy na pewno chcesz usunąć wybrane katalogi przejściowe? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Po usunięciu wybranego katalogu przejściowego nie będziesz w stanie odzyskać żadnych plików. - + Are you sure you want to delete all transient directories? Czy na pewno chcesz usunąć wszystkie katalogi przejściowe? - + When deleting all transient directories you won't be able to recover any files afterwards. Po usunięciu wybranych katalogów przejściowych nie będziesz w stanie odzyskać żadnych plików. - + Transient directories deleted. Katalogi przejściowe usunięto. @@ -5549,7 +4856,7 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany.Folder ikonek - + Add icon folder Dodaj folder ikonek @@ -5562,12 +4869,12 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany.Dodawanie i usuwanie niestandardowych folderów z ikonami - + Remove folder Usuń folder - + Removing a folder only takes effect after an application restart. Usunięcie folderu jest możliwe po ponownym uruchomieniu aplikacji. @@ -5637,79 +4944,79 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany.Gui::Dialog::ParameterGroup - - + + Expand Rozwiń - + Add sub-group Dodaj grupę podrzędną - - + + Remove group Usuń grupę - + Rename group Zmień nazwę grupy - + Export parameter Eksportuj parametr - + Import parameter Importuj parametr - + Collapse Zwiń - + Do you really want to remove this parameter group? Czy na pewno chcesz usunąć tę grupę parametrów? - + Existing sub-group Istniejąca grupa podrzędna - + The sub-group '%1' already exists. Grupa podrzędna '%1' już istnieje. - + Export parameter to file Eksportuj parametr do pliku - + Import parameter from file Importuj parametr z pliku - + Import Error Błąd importu - + Reading from '%1' failed. Odczyt z '%1' nie powiódł się. @@ -5717,65 +5024,65 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany. Gui::Dialog::ParameterValue - + Change value Zmień wartość elementu - + Remove key Usuń element z tą wartością - + Rename key Zmień nazwę wartości - + New Nowy - + New string item Nowy element tekstowy - + New float item Nowy element z liczbą zmiennoprzecinkową - + New integer item Nowy element z liczbą całkowitą - + New unsigned item Nowy element bez typu - + New Boolean item Nowy element z wartością logiczną - - - - - + + + + + Existing item Istniejący element - - - - - + + + + + The item '%1' already exists. Element '%1' już istnieje. @@ -5903,7 +5210,7 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany. Reset - Reset + Resetuj @@ -5921,17 +5228,17 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany.Zastosuj - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Proszę wybrać 1, 2 lub 3 punkty przed kliknięciem na ten przycisk. Punktem może być wierzchołek, ściana lub krawędź. Jeśli zostanie wybrany punkt na ścianie lub na krawędzi, zostanie użyty punkt pozycji myszy na tej ścianie lub wzdłuż tej krawędzi. Jeśli zostanie wybrany 1 punkt, to zostanie on użyty jako środek obrotu. Jeśli zostaną wybrane 2 punkty, to punkt pomiędzy nimi zostanie wybrany jako środek obrotu, a te punkty utworzą nową oś, jeśli jest taka potrzeba. Jeśli zostaną wybrane 3 punkty to pierwszy punkt zostanie użyty jako środek obrotu i jako wierzchołek wektora normalnego do płaszczyzny zdefiniowanej przez te 3 punkty. Niektóre odległości i kąty są pokazane na widoku raportu, mogę być one pomocne przy dopasowywaniu obiektów. Dla Twojej wygody, gdy naciśniesz Shift+Click, to odpowiednia odległość lub kąt są skopiowane do schowka. - + Incorrect quantity Nieprawidłowa ilość - + There are input fields with incorrect input, please ensure valid placement values! Istnieją pola wejściowe z niepoprawnymi danymi, proszę zapewnić prawidłowe rozmieszczenie wartości! @@ -5939,12 +5246,12 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany. Gui::Dialog::PrintModel - + Button Przycisk - + Command Polecenie @@ -6008,17 +5315,17 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany. Gui::Dialog::SceneModel - + Inventor Tree Drzewo konstruktora - + Name Nazwa - + Nodes Węzły @@ -6038,7 +5345,7 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany. Global - Globalne + Globalnie @@ -6074,14 +5381,14 @@ Kolumna "Aktualny status" pokazuje, czy dokument może być odzyskany. Gui::Dialog::Transform - - + + Cancel Anuluj - - + + Transform Przemieszczenie @@ -6179,13 +5486,13 @@ wstępnie wybranymi przed otwarciem tego okna - + Model Model - + Tasks Zadania @@ -6193,7 +5500,7 @@ wstępnie wybranymi przed otwarciem tego okna Gui::DockWnd::PropertyDockView - + Property View Widok właściwości @@ -6201,82 +5508,82 @@ wstępnie wybranymi przed otwarciem tego okna Gui::DockWnd::ReportOutput - + Options Opcje - + Display message types Wyświetl typy wiadomości - - + + Normal messages Zwykłe wiadomości - - + + Log messages Wiadomości dziennika - - + + Warnings Ostrzeżenia - - + + Errors Błędy - - + + Critical messages Wiadomości krytyczne - + Show Report view on Pokaż Widok raportu na - + Redirect Python output Przekieruj wyjście z Pythona - + Redirect Python errors Przekieruj błędy Pythona - + Go to end Przejdź na koniec - + Clear Wyczyść - + Save As... Zapisz jako ... - + Save Report Output Zapisz raport - + Plain Text Files Pliki tekstowe @@ -6285,13 +5592,13 @@ wstępnie wybranymi przed otwarciem tego okna Gui::DockWnd::ReportView - + Output Wyjście - + Python console Konsola Python @@ -6329,72 +5636,72 @@ wstępnie wybranymi przed otwarciem tego okna Wybrana lista obiektów - + Select only Wybierz tylko - + Selects only this object Wybiera tylko ten obiekt - + Deselect Odznacz - + Deselects this object Usuwa zaznaczenie tego obiektu - + Zoom fit Dopasuj powiększenie - + Selects and fits this object in the 3D window Zaznacza i dopasowuje ten obiekt w oknie widoku 3D - + Go to selection Przejdź do wyboru - + Selects and locates this object in the tree view Wybiera i lokalizuje ten obiekt w widoku drzewa - + Mark to recompute Zaznacz do przeliczania - + Mark this object to be recomputed Zaznacz ten obiekt do przeliczania - + To python console Do konsoli Python - + Reveals this object and its subelements in the python console. Pokazuje ten obiekt i jego elementy podrzędne w konsoli Python. - + Duplicate subshape Zduplikowany kształt podrzędny - + Creates a standalone copy of this subshape in the document Tworzy samodzielną kopię tego kształtu podrzędnego w dokumencie @@ -6407,7 +5714,7 @@ wstępnie wybranymi przed otwarciem tego okna Aplikacja - + Labels & Attributes Etykiety i atrybuty @@ -6455,27 +5762,27 @@ Do you want to save your changes? Plik PDF - + untitled[*] bez nazwy [*] - + - Editor - Edytor - + %1 chars removed Usunięto %1 znaków - + %1 chars added Dodano %1 znaków - + Formatted Sformatowany @@ -6499,13 +5806,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Wybierz plik - + Select a directory Wybierz katalog @@ -6513,13 +5820,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Zapisz jako - - + + Open Otwórz @@ -6527,12 +5834,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Rozszerz - + All files (*.*) Wszystkie pliki (*.*) @@ -6540,27 +5847,27 @@ Do you want to save your changes? Gui::Flag - + Top left Lewy górny - + Bottom left Lewy dolny - + Top right Prawy górny - + Bottom right Prawy dolny - + Remove Usuń @@ -6568,22 +5875,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Dotknij lub kliknij lewym przyciskiem myszki. - + Drag screen with two fingers OR press right mouse button. Przeciągnij po ekranie dwoma palcami lub kliknij prawym przyciskiem myszki. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Przeciągnij po ekranie jednym palcem lub naciśnij lewy przycisk myszki. W innych trybach edycji jak np. Szkicownik dodatkowo przytrzymaj naciśnięty klawisz Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Uszczypnięcie (umieść dwa palce na ekranie i przeciągnij je od lub do siebie na wzajem) lub przewiń środkowym przyciskiem myszy, bądź użyj przycisków PageUp / PageDown na klawiaturze. @@ -6591,74 +5898,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz - nie znaleziono - + Graphviz couldn't be found on your system. Nie można znaleźć Graphviz w Twoim systemie. - + Read more about it here. Przeczytaj więcej o tym tutaj. - + Do you want to specify its installation path if it's already installed? Czy chcesz określić ścieżkę dla instalacji, jeśli już jest zainstalowany? - + Graphviz installation path Ścieżka instalacji Graphviz - + Graphviz failed Graphviz - nie powiodło się - + Graphviz failed to create an image file Graphviz - nie można utworzyć pliku obrazu - + PNG format Format PNG - + Bitmap format Format mapy bitowej - + GIF format Format GIF - + JPG format Format JPG - + SVG format Format SVG - - + + PDF format Format PDF - - + + Export graph Eksport wykresu @@ -6666,12 +5973,12 @@ Do you want to save your changes? Gui::InputField - + Edit Edycja - + Save value Zapisz wartość @@ -6679,22 +5986,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Naciśnij klawisz CTRL i lewy przycisk myszki - + Press middle mouse button - Wciśnij środkowy przycisk myszki + Naciśnij środkowy przycisk myszki - + Press left mouse button - Wciśnij lewy przycisk myszki + Naciśnij lewy przycisk myszki - + Scroll middle mouse button Przewiń środkowym przyciskiem myszki @@ -6702,7 +6009,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Lista @@ -6710,66 +6017,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Zdefiniowane przez użytkownika... - + - - + + Wrong direction Nieprawidłowy kierunek - + - - + + Direction must not be the null vector Kierunek nie może być wektorem zerowym @@ -6777,22 +6084,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Kierunek: @@ -6800,17 +6107,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Makrodefinicje - + Macro file doesn't exist Plik makrodefinicji nie istnieje - + No such macro file: '%1' Nie ma takiego pliku makroinstrukcji: '%1' @@ -6818,63 +6125,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Wymiar - + Ready Gotowe - + Help addon needed! Potrzebny dodatek pomocy! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager System pomocy dla %1 jest teraz obsługiwany przez dodatek "Pomoc". Można go łatwo zainstalować przy pomocy Menadżera dodatków - + Open Addon Manager Otwórz Menedżer dodatków - + Close All Zamknij wszystkie - - + + Toggles this toolbar Włącza/wyłącza ten pasek narzędzi - - + + Toggles this dockable window Włącza/wyłącza to okno dokujące - - - Unsaved document - Niezapisany dokument + + WARNING: This is a development version. + UWAGA: To jest wersja deweloperska. - + + Please do not use in a production environment. + Proszę nie używać w środowisku produkcyjnym. + + + + + Unsaved document + Dokument niezapisany + + + The exported object contains external link. Please save the documentat least once before exporting. Wyeksportowany obiekt zawiera zewnętrzny odnośnik. Proszę zapisać dokument przynajmniej raz przed wyeksportowaniem. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Aby powiązać z obiektami zewnętrznymi, dokument musi być zapisany co najmniej raz. @@ -6884,63 +6201,63 @@ Czy chcesz zapisać dokument teraz? Gui::ManualAlignment - - - - - + + + + + Manual alignment Wyrównanie ręczne - + The alignment is already in progress. Wyrównanie jest już w toku. - + Alignment[*] Wyrównanie [*] - + Please, select at least one point in the left and the right view Proszę wybrać co najmniej jeden punkt w lewym i prawym widoku - + Please, select at least %1 points in the left and the right view Proszę, wybierz co najmniej %1 punkty/ów w lewym i prawym widoku - + Please pick points in the left and right view Proszę wybierz punkty w lewym oraz prawym widoku - + The alignment has finished Wyrównanie zakończone - + The alignment has been canceled Wyrównanie zostało anulowane - - + + Too few points picked in the left view. At least %1 points are needed. Wybrano za mało punktów w lewym widoku. Potrzeba co najmniej %1 punkt/ów. - - + + Too few points picked in the right view. At least %1 points are needed. Wybrano za mało punktów w prawym widoku. Potrzeba co najmniej %1 punkt/ów. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6949,59 +6266,59 @@ Na lewym widoku wybrano %1 punkt(ów), a na prawym widoku wybrano %2 punkt(ów). - + Try to align group of views Spróbuj dopasować grupę poglądów - + The alignment failed. How do you want to proceed? Wyrównanie nie powiodło się. Jak chcesz kontynuować? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Wybrano odmienne ilości punktów w lewym i w prawym widoku. Na lewym widoku wybrano %1 punkt(ów) a na prawym widoku %2. - + Point_%1 Punkt_%1 - + Point picked at (%1,%2,%3) Wybrano punkt o współrzędnych (%1,%2,%3) - + No point was found on model Nie znaleziono żadnego punktu na modelu - + No point was picked Nie wybrano żadnego punktu - + &Align &Wyrównaj - + &Remove last point &Usuń ostatni punktu - + &Cancel &Anuluj - + &Synchronize views &Synchronizuj widoki @@ -7009,22 +6326,22 @@ Jak chcesz kontynuować? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Dotknij lub kliknij lewym przyciskiem myszki. - + Drag screen with two fingers OR press ALT + middle mouse button. Przeciągnij po ekranie dwoma palcami lub wciśnij Alt + kliknij prawym przyciskiem myszki. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Przeciągnij po ekranie jednym palcem lub naciśnij klawisz ALT + lewy przycisk myszki. W innych trybach jak np. Szkicownik dodatkowo przytrzymaj wciśnięty klawisz Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Uszczypnięcie (umieść dwa palce na ekranie i przeciągnij je od lub do siebie na wzajem) lub przewijanie środkowym przyciskiem myszy, bądź klawiszami PgUp/PgDown. @@ -7032,7 +6349,7 @@ Jak chcesz kontynuować? Gui::ModifierLineEdit - + Press modifier keys Naciśnij klawisze modyfikujące @@ -7048,22 +6365,22 @@ Jak chcesz kontynuować? Gui::OpenCascadeNavigationStyle - + Press left mouse button - Wciśnij lewy przycisk myszki + Naciśnij lewy przycisk myszki - + Press CTRL and middle mouse button Naciśnij klawisz CTRL i środkowy przycisk myszy - + Press CTRL and right mouse button Naciśnij klawisz CTRL i prawy przycisk myszy - + Press CTRL and left mouse button Naciśnij klawisz CTRL i lewy przycisk myszki @@ -7071,22 +6388,22 @@ Jak chcesz kontynuować? Gui::OpenSCADNavigationStyle - + Press left mouse button - Wciśnij lewy przycisk myszki + Naciśnij lewy przycisk myszki - + Press right mouse button and move mouse Naciśnij prawy przycisk myszki i przesuń kursor - + Press left mouse button and move mouse Naciśnij lewy przycisk myszki i przesuń kursor - + Press middle mouse button or SHIFT and right mouse button Naciśnij środkowy przycisk myszki lub klawisz SHIFT i prawy przycisk myszki @@ -7094,17 +6411,17 @@ Jak chcesz kontynuować? Gui::PrefQuantitySpinBox - + Edit Edycja - + Save value Zapisz wartość - + Clear list Czyszczenie listy @@ -7135,12 +6452,12 @@ Jak chcesz kontynuować? Pozostało: %1 - + Aborting Przerywanie - + Do you really want to abort the operation? Czy na pewno chcesz przerwać tę operację? @@ -7148,7 +6465,7 @@ Jak chcesz kontynuować? Gui::PropertyEditor::LinkLabel - + Change the linked object Zmień połączony obiekt @@ -7156,12 +6473,12 @@ Jak chcesz kontynuować? Gui::PropertyEditor::LinkSelection - + Error Błąd - + Object not found Obiekt nie znaleziony @@ -7232,13 +6549,13 @@ Jak chcesz kontynuować? Gui::PropertyView - + View Widok - + Data Dane @@ -7285,77 +6602,77 @@ Do you want to exit without saving your data? Nieobsługiwany nieznany wyjątek C++. - + &Copy &Kopiuj - + &Copy command &Kopiuj polecenie - + &Copy history &Kopiuj historię - + Save history as... Zapisz historię jako ... - + Save history Zapisz dziennik działań - + Saves Python history across %1 sessions Zapisuje historię z konsoli Pyton w %1 sesji - + &Paste &Wklej - + Select All Zaznacz wszystko - + Clear console Wyczyść okienko konsoli - + Insert file name... Wstaw nazwę pliku... - + Word wrap Zawijanie wyrazów - + Save History Zapisz historię - + Macro Files Plik makrodefinicji - + Insert file name Wstaw nazwę pliku - + All Files Wszystkie pliki @@ -7363,7 +6680,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Komentarz @@ -7376,17 +6693,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Otwórz plik %1 - + File not found Nie znaleziono pliku - + The file '%1' cannot be opened. Plik '%1' nie może zostać otwarty. @@ -7394,22 +6711,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none brak - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Uruchom makro %1 (Shift + kliknięcie, aby edytować) skrót klawiszowy: %2 - + File not found Nie znaleziono pliku - + The file '%1' cannot be opened. Plik '%1' nie może zostać otwarty. @@ -7417,22 +6734,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button - Wciśnij lewy przycisk myszki + Naciśnij lewy przycisk myszki + + + + Press middle mouse button + Naciśnij środkowy przycisk myszki - Press middle mouse button - Wciśnij środkowy przycisk myszki - - - Press SHIFT and middle mouse button Wciśnij klawisz SHIFT i środkowy przycisk myszki - + Scroll middle mouse button Przewiń środkowym przyciskiem myszki @@ -7463,17 +6780,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Wybierz moduł importera - + Open %1 as Otwórz %1 za pomocą: - + Select Wybierz @@ -7538,13 +6855,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Dokumentacja automatyczna modułów Python - - + + Opens a browser to show the Python modules documentation Otwórz przeglądarkę aby zobaczyć dokumentację modułów Pythona @@ -7593,7 +6910,7 @@ Do you want to specify another directory? TextLabel - Etykieta tekstu + Etykieta @@ -7670,7 +6987,7 @@ Do you want to specify another directory? A dialog is already open in the task panel - Okno dialogowe jest już otwarte w panelu zadań + Okienko dialogowe jest już otwarte w panelu zadań @@ -7697,38 +7014,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Zaktualizowany tekst - + The text of the underlying object has changed. Discard changes and reload the text from the object? Tekst podstawowego obiektu uległ zmianie. Odrzucić zmiany i przeładować tekst z obiektu? - + Yes, reload. Tak, przeładuj. - + Unsaved document Niezapisany dokument - + Do you want to save your changes before closing? Czy chcesz zapisać zmiany przed zamknięciem? - + If you don't save, your changes will be lost. Jeśli nie zapiszesz dokumentu, zmiany zostaną utracone. - - + + Edit text Edytuj tekst @@ -7736,22 +7053,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button - Wciśnij lewy przycisk myszki + Naciśnij lewy przycisk myszki - + Press middle mouse button - Wciśnij środkowy przycisk myszki + Naciśnij środkowy przycisk myszki - + Press right mouse button Naciśnij prawy przycisk myszki - + Scroll middle mouse button Przewiń środkowym przyciskiem myszki @@ -7759,22 +7076,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button - Wciśnij lewy przycisk myszki + Naciśnij lewy przycisk myszki - + Press SHIFT button Naciśnij przycisk SHIFT - + Press ALT button Naciśnij przycisk ALT - + Press CTRL and SHIFT buttons Naciśnij klawisze CTRL i SHIFT @@ -7839,7 +7156,7 @@ Do you want to specify another directory? English - angielski + Angielski @@ -7959,7 +7276,7 @@ Do you want to specify another directory? Spanish - hiszpański + Hiszpański @@ -8000,7 +7317,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Widok drzewa @@ -8008,7 +7325,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Szukaj @@ -8016,183 +7333,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Szukaj ... - + Search for objects Szukaj obiektów - + Activate document Uaktywnij dokument - + Activate document %1 Uaktywnij dokument %1 - + Tree settings Ustawienia Widoku drzewa - + Show description column Pokaż kolumnę opisu - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Wyświetla dodatkową kolumnę widoku Drzewa dla opisu elementu. Opis elementu można ustawić, naciskając klawisz F2 (lub przycisk edycji systemu operacyjnego) lub edytując właściwość "etykieta2". - + Group Grupa - + Labels & Attributes Etykiety i atrybuty - + Description Opis - + Show items hidden in tree view Pokaż elementy ukryte w widoku drzewa - + Show items that are marked as 'hidden' in the tree view Pokaż elementy, które są oznaczone jako "ukryte" w widoku drzewa - + Toggle visibility in tree view Przełącz widoczność w widoku drzewa - + Toggles the visibility of selected items in the tree view Przełącza widoczność wybranych elementów w widoku drzewa - + Create group... Utwórz grupę ... - + Create a group Utwórz grupę - - + + Rename Zmień nazwę - + Rename object - Zmiana nazwy obiektu + Zmień nazwę obiektu - + Finish editing - Zakończ edycję + Zakończ modyfikację - + Finish editing object - Zakończ edycję obiektu + Zakończ modyfikację obiektu - + Add dependent objects to selection Dodaj obiekty zależne do zaznaczenia - + Adds all dependent objects to the selection Dodaje wszystkie obiekty zależne do zaznaczenia - + Close document Zamknij dokument - + Close the document Zamknij dokument - + Reload document Przeładuj dokument - + Reload a partially loaded document Załaduj ponownie częściowo wczytany dokument - + Skip recomputes Pomiń przeliczanie - + Enable or disable recomputations of document Włącz lub wyłącz ponowne przeliczanie dokumentu - + Allow partial recomputes Zezwalaj na częściowe przeliczanie - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Włącz lub wyłącz przeliczanie edytowanego obiektu gdy 'pomijanie przeliczania' jest aktywne - + Mark to recompute Zaznacz do przeliczania - + Mark this object to be recomputed Zaznacz ten obiekt do przeliczania - + Recompute object Przelicz obiekt - + Recompute the selected object Przelicz wybrany obiekt - + (but must be executed) (ale musi zostać wykonany) - + %1, Internal name: %2 %1, wewnętrzna nazwa: %2 @@ -8215,7 +7532,7 @@ Do you want to specify another directory? Export PDF - Eksportuj do PDF + Eksportuj do formatu PDF @@ -8223,12 +7540,12 @@ Do you want to specify another directory? Plik PDF - + Opening file failed Otwarcie pliku nie powiodło się - + Can't open file '%1' for writing. Nie można otworzyć pliku "%1" do zapisu. @@ -8236,7 +7553,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Wybierz Środowisko pracy '%1' @@ -8244,37 +7561,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Usługi - + Hide %1 Ukryj %1 - + Hide Others Ukryj pozostałe - + Show All Wyświetl wszystko - + Preferences... Ustawienia ... - + Quit %1 Zamknij %1 - + About %1 O %1 @@ -8294,11 +7611,6 @@ Do you want to specify another directory? Position - - - Form - Formularz - X: @@ -8393,14 +7705,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Niepoprawne dane wejściowe - - + + Input in line %1 is not a number Wprowadzony ciąg znaków w linii %1 nie jest liczbą @@ -8408,37 +7720,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Widok drzewa - + Property view Widok właściwości - + Selection view Wybór widoku - + Combo View Widok połączony - + DAG View Widok DAG - + Report view Widok raportu - + Python console Konsola Python @@ -8451,32 +7763,33 @@ Do you want to specify another directory? QObject - - + + General Ogólne - - + + + Display Wyświetlanie - + Workbenches Środowiska pracy - - - + + + Python Python @@ -8504,17 +7817,27 @@ Do you want to specify another directory? Nie można zapisać do pliku nieznanego typu: %1 - + Workbench failure Awaria środowiska pracy - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Wyjątek @@ -8560,8 +7883,8 @@ Do you want to specify another directory? Eksportuj do PDF... - + Unsaved document Niezapisany dokument @@ -8582,39 +7905,39 @@ Do you want to specify another directory? Błąd zależności - + Copy selected Kopiuj zaznaczone - + Copy active document Kopiuj aktywny dokument - + Copy all documents Kopiuj wszystkie dokumenty - + Paste Wklej - + Expression error Błąd wyrażenia - + Failed to parse some of the expressions. Please check the Report View for more details. Nie udało się przetworzyć niektórych wyrażeń. Sprawdź widok raportu, aby uzyskać więcej informacji. - + Failed to paste expressions Nie udało się wkleić wyrażeń @@ -8633,7 +7956,7 @@ Sprawdź widok raportu, aby uzyskać więcej informacji. Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór @@ -8649,224 +7972,224 @@ Be aware the point where you click matters. Proszę wybrać dwa obiekty. Pamiętaj, że punkt, w którym klikasz ma znaczenie. - - + + Save views... Zapisz widoki... - - + + Load views... Załaduj widoki ... - - + + Freeze view Zamroź widok - - + + Clear views Wyczyść widoki - - - + + + Restore view &%1 Przywróć widok &%1 - + Save frozen views Zapisz zamrożone widoki - - + + Frozen views Zamrożone widoki - - + + Restore views Przywróć widoki - + Importing the restored views would clear the already stored views. Do you want to continue? Importowanie przywróconych widoków wyczyści już przechowywane widoki. Czy chcesz kontynuować? - + Restore frozen views Przywróć zamrożone widoki - + Cannot open file '%1'. Nie można otworzyć pliku '%1'. - + files pliki - + Save image Zapisz obrazek - + Choose an image file to open Wybierz plik obrazu, aby otworzyć - + New sub-group Nowa grupa podrzędna - - - - - - + + + + + + Enter the name: Wprowadź nazwę: - - + + New text item Nowy obiekt tekstowy - - + + Enter your text: Wprowadź tekst: - - + + New integer item Nowy element z liczbą całkowitą - - - - - - + + + + + + Enter your number: Wprowadź liczbę: - - + + New unsigned item Nowy element bez typu - - + + New float item Nowy element z liczbą zmiennoprzecinkową - + New Boolean item Nowy element z wartością logiczną - - + + Choose an item: Wybierz obiekt: - + New boolean item Nowy element z wartością logiczną - + Rename group Zmień nazwę grupy - + The group '%1' cannot be renamed. Nie można zmienić nazwy grupy %1. - + Existing group Istniejąca grupa - + The group '%1' already exists. Grupa '%1' już istnieje. - - - - - + + + + + Change value Zmień wartość elementu - + Type Typ - + Notifier Zgłoszenie od - + Message Wiadomość - + Notifier: Zgłoszenie od: - + Do you want to skip confirmation of further critical message notifications while loading the file? Czy chcesz pominąć potwierdzanie kolejnych krytycznych powiadomień podczas ładowania pliku? - + Critical Message Wiadomość krytyczna - + Too many opened non-intrusive notifications. Notifications are being omitted! Zbyt wiele otwartych powiadomień. Powiadomienia są pomijane! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8875,44 +8198,44 @@ Do you want to continue? - + Are you sure you want to continue? Czy na pewno chcesz kontynuować? - + Please check report view for more... Proszę, sprawdź widok raportu, aby uzyskać więcej informacji ... - + Physical path: Ścieżka fizyczna: - - + + Document: Dokument: - - + + Path: Ścieżka: - + Identical physical path Identyczna fizyczna ścieżka - + Could not save document Nie udało się zapisać dokumentu - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8925,102 +8248,102 @@ Would you like to save the file with a different name? Czy chcesz zapisać plik pod inną nazwą? - - - + + + Saving aborted Zapisywanie przerwane - + Save dependent files Zapisz zależne pliki - + The file contains external dependencies. Do you want to save the dependent files, too? Plik zawiera zewnętrzne zależności. Czy chcesz zapisać również zależne pliki? - - + + Saving document failed Zapisywanie dokumentu nie powiodło się - + Save document under new filename... Zapisz dokument pod nową nazwą pliku ... - - + + Save %1 Document Zapis dokumentu %1 - + Document Dokument - - + + Failed to save document Nie udało się zapisać dokumentu - + Documents contains cyclic dependencies. Do you still want to save them? Dokumenty zawierają zależności kołowe. Czy nadal chcesz je zapisać? - + Save a copy of the document under new filename... Zapisz kopię dokumentu pod nową nazwą pliku... - + %1 document (*.FCStd) Dokument %1 (*.FCStd) - + Document not closable Dokument nie może zostać zamknięty - + The document is not closable for the moment. Nie można zamknąć dokumentu w tym momencie. - + Document not saved Dokument nie zapisany - + The document%1 could not be saved. Do you want to cancel closing it? Nie można zapisać dokumentu %1. Czy chcesz przerwać zamykanie dokumentu? - + Undo Cofnij - + Redo - Przywróć + Ponów - + There are grouped transactions in the following documents with other preceding transactions W następujących dokumentach zgrupowane są operacje z innymi poprzedzającymi je operacjami - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9034,47 +8357,47 @@ Wybierz "Przerwij", aby zrezygnować Zapisz makrodefinicję - - + + Finish Zakończ - - + + Clear Wyczyść - - - + + + Cancel Anuluj - + Inner Wewnętrzny - + Outer Zewnętrzny - + Split Rozdziel - - + + No Browser Brak przeglądarki - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9083,48 +8406,48 @@ Please open a browser window and type in: http://localhost:%1. Proszę otworzyć okno przeglądarki i wpisać: http://localhost:%1. - + No Server Brak serwera - + Unable to start the server to port %1: %2. Nie można uruchomić serwera na porcie %1: %2. - + Unable to open your system browser. Nie można otworzyć przeglądarki systemowej. - + Options... Opcje ... - + Out of memory Przekroczono limit pamięci - + Not enough memory available to display the data. Za mało dostępnej pamięci, aby wyświetlić dane. - - + + Cannot find file %1 Pliku %1 nie znaleziono - + Cannot find file %1 neither in %2 nor in %3 Nie znaleziono pliku %1 w %2, ani w %3 - + Navigation styles Style nawigacji @@ -9134,53 +8457,53 @@ Proszę otworzyć okno przeglądarki i wpisać: http://localhost:%1.Przenieść adnotację - - + + Transform Przemieszczenie Do you want to close this dialog? - Czy chcesz zamknąć to okno dialogowe? + Czy chcesz zamknąć to okno? - + Do you want to save your changes to document '%1' before closing? Czy chcesz zapisać zmiany do dokumentu "%1" przed zamknięciem? - + Do you want to save your changes to document before closing? Czy chcesz zapisać zmiany przed zamknięciem? - + If you don't save, your changes will be lost. Jeśli nie zapiszesz dokumentu, zmiany zostaną utracone. - + Apply answer to all Zastosuj odpowiedź dla wszystkich - + %1 Document(s) not saved Dokument %1 nie został zapisany - + Some documents could not be saved. Do you want to cancel closing? Niektóre dokumenty nie mogły zostać zapisane. Czy chcesz przerwać zamykanie dokumentów? - + Delete macro Usuń makrodefinicję - + Not allowed to delete system-wide macros Nie wolno usuwać makrodefinicji systemowych @@ -9190,27 +8513,27 @@ Proszę otworzyć okno przeglądarki i wpisać: http://localhost:%1.Odniesienie położenia - + Delete group content? Usunąć zawartość grupy? - + The %1 is not empty, delete its content as well? %1 nie jest pusty, czy usunąć również jego zawartość? - + Translation: Przesunięcie: - + Rotation: Obrót: - + Toggle active part Przełącz aktywność części @@ -9273,88 +8596,88 @@ Proszę otworzyć okno przeglądarki i wpisać: http://localhost:%1.Nie udało się zaimportować wszystkich powiązań - - + + Invalid name Nieprawidłowa nazwa - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Nazwa właściwości lub nazwa grupy może zawierać tylko znaki alfanumeryczne, podkreślenie i nie może zaczynać się od cyfry. - + The property '%1' already exists in '%2' Właściwość '%1' już istnieje w '%2' - + Add property Dodaj właściwość - + Failed to add property to '%1': %2 Nie udało się dodać właściwości do '%1': %2 - - + + Drag & drop failed Przeciągnięcie i upuszczenie nie powiodło się - + Setup configurable object Konfiguracja obiektu parametrycznego - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Wybierz, które obiekty mają być kopiowane lub wykluczane przy zmianie konfiguracji. Domyślnie wykluczane są wszystkie obiekty powiązane zewnętrznie. - + Please select which objects to copy when the configuration is changed Proszę wybrać, które obiekty mają być kopiowane po zmianie konfiguracji - + Apply to all Zastosuj do wszystkich - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Zastosuj to ustawienie do wszystkich łączy. Można też usunąć zaznaczenie tej opcji, aby zastosować ustawienie tylko do bieżącego łącza. - + Copy on change Kopiuj przy zmianie - + Enable Włącz - + Enable auto copy of linked object when its configuration is changed Włącz automatyczne kopiowanie połączonego obiektu po zmianie jego konfiguracji - + Tracking Śledzenie - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9363,17 +8686,17 @@ Kopia jest również automatycznie ponawiana, jeśli oryginalny obiekt połączo - + Disable copy on change Wyłącz kopiowanie przy zmianie - + Refresh configurable object Przelicz obiekt parametryczny - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9384,28 +8707,28 @@ bieżącej kopii zostaną utracone. - + Toggle array elements Przełącz elementy szyku - + Change whether show each link array element as individual objects Zmienić, czy pokazać każdy element tablicy łączy jako indywidualne obiekty - + Transform at the origin of the placement Przekształcić w miejscu pochodzenia umiejscowienia - - + + Override colors... Zastąp kolory ... - + Edit %1 Edytuj %1 @@ -9428,12 +8751,12 @@ bieżącej kopii zostaną utracone. SelectionFilter - + Not allowed: Niedozwolone: - + Selection not allowed by filter Wybór niedozwolony przez filtr @@ -9441,9 +8764,9 @@ bieżącej kopii zostaną utracone. StdBoxElementSelection - - - + + + Box element selection Wybór elementów ramką zaznaczenia @@ -9451,13 +8774,13 @@ bieżącej kopii zostaną utracone. StdBoxSelection - + Box selection Zaznacz obszarem - - + + Activate the box selection tool Aktywuje narzędzie zaznaczania obszaru @@ -9535,13 +8858,13 @@ bieżącej kopii zostaną utracone. StdCmdAxisCross - + Toggle axis cross Przełącz krzyż osi - - + + Turns on or off the axis cross at the origin Włącza lub wyłącza krzyżyk osi w punkcie odniesienia położenia @@ -9647,13 +8970,13 @@ bieżącej kopii zostaną utracone. StdCmdDemoMode - + View turntable... Widok obrotowy ... - - + + View turntable Widok obrotowy @@ -9773,13 +9096,13 @@ bieżącej kopii zostaną utracone. StdCmdDrawStyle - + Draw style Styl kreślenia - - + + Change the draw style of the objects Zmień styl rysowania obiektów @@ -9832,7 +9155,7 @@ bieżącej kopii zostaną utracone. No selection - Nie wybrano + Brak zaznaczenia @@ -9843,13 +9166,13 @@ bieżącej kopii zostaną utracone. StdCmdExpression - + Expression actions Akcje z wyrażeniami - - + + Actions that apply to expressions Akcje z wyrażeniami @@ -9966,13 +9289,13 @@ bieżącej kopii zostaną utracone. StdCmdFreezeViews - + Freeze display Zamroź widok - - + + Freezes the current view position Zamraża bieżący widok @@ -9993,13 +9316,13 @@ bieżącej kopii zostaną utracone. StdCmdHideObjects - + Hide all objects Ukryj wszystkie obiekty - - + + Hide all objects in the document Ukryj wszystkie obiekty w dokumencie @@ -10007,13 +9330,13 @@ bieżącej kopii zostaną utracone. StdCmdHideSelection - + Hide selection Ukryj zaznaczone - - + + Hide all selected objects Ukryj wszystkie zaznaczone obiekty @@ -10287,13 +9610,13 @@ bieżącej kopii zostaną utracone. StdCmdMeasureDistance - + Measure distance Pomiar odległości - - + + Activate the distance measurement tool Aktywuj narzędzie pomiaru odległości @@ -10352,8 +9675,8 @@ bieżącej kopii zostaną utracone. Utwórz nowy pusty dokument - - + + Unnamed Nienazwany @@ -10581,8 +9904,8 @@ bieżącej kopii zostaną utracone. StdCmdRecentFiles - Recent files - Ostatnio używane pliki + Open Recent + Ostatnio otwierane @@ -10720,13 +10043,13 @@ bieżącej kopii zostaną utracone. StdCmdSceneInspector - + Scene inspector... Inspektor sceny ... - - + + Scene inspector Inspektor sceny @@ -10734,13 +10057,13 @@ bieżącej kopii zostaną utracone. StdCmdSelBack - + &Back Przywróć wybór - - + + Go back to previous selection Przywróć poprzednie zaznaczenie @@ -10748,13 +10071,13 @@ bieżącej kopii zostaną utracone. StdCmdSelBoundingBox - + &Bounding box &Ramka otaczająca - - + + Show selection bounding box Pokaż ramkę otaczającą @@ -10762,13 +10085,13 @@ bieżącej kopii zostaną utracone. StdCmdSelForward - + &Forward Ponów wybór - - + + Repeat the backed selection Ponawia poprzednio cofnięte zaznaczenie @@ -10790,13 +10113,13 @@ bieżącej kopii zostaną utracone. StdCmdSelectVisibleObjects - + Select visible objects Wybierz widoczne obiekty - - + + Select visible objects in the active document Wybierz widoczne obiekty w aktywnym dokumencie @@ -10818,13 +10141,13 @@ bieżącej kopii zostaną utracone. StdCmdSetAppearance - + Appearance... Wygląd zewnętrzny ... - - + + Sets the display properties of the selected object Ustawia właściwości wyświetlania wybranego obiektu @@ -10832,13 +10155,13 @@ bieżącej kopii zostaną utracone. StdCmdShowObjects - + Show all objects Wyświetl wszystkie obiekty - - + + Show all objects in the document Wyświetl wszystkie obiekty w dokumencie @@ -10846,13 +10169,13 @@ bieżącej kopii zostaną utracone. StdCmdShowSelection - + Show selection Pokaż zaznaczone - - + + Show all selected objects Wyświetl wszystkie zaznaczone obiekty @@ -10888,13 +10211,13 @@ bieżącej kopii zostaną utracone. StdCmdTextureMapping - + Texture mapping... Odwzorowanie tekstury ... - - + + Texture mapping Mapowanie tekstury @@ -10930,13 +10253,13 @@ bieżącej kopii zostaną utracone. StdCmdToggleClipPlane - + Clipping plane Płaszczyzna tnąca - - + + Toggles clipping plane for active view Przełącza płaszczyznę przycinania dla aktywnego widoku @@ -10944,13 +10267,13 @@ bieżącej kopii zostaną utracone. StdCmdToggleNavigation - + Toggle navigation/Edit mode Przełącz tryb nawigacja / edycja - - + + Toggle between navigation and edit mode Przełączanie między trybem nawigacji i edycji @@ -10958,13 +10281,13 @@ bieżącej kopii zostaną utracone. StdCmdToggleObjects - + Toggle all objects Przełącz widoczność wszystkich obiektów - - + + Toggles visibility of all objects in the active document Przełącza widoczność wszystkich obiektów aktywnego dokumentu @@ -10972,13 +10295,13 @@ bieżącej kopii zostaną utracone. StdCmdToggleSelectability - + Toggle selectability Przełącz możliwość zaznaczenia - - + + Toggles the property of the objects to get selected in the 3D-View Przełącza właściwość obiektów, które mają zostać wybrane w widoku 3D @@ -10986,13 +10309,13 @@ bieżącej kopii zostaną utracone. StdCmdToggleVisibility - + Toggle visibility Przełącz widoczność - - + + Toggles visibility Przełącza wyświetlanie @@ -11042,13 +10365,13 @@ bieżącej kopii zostaną utracone. StdCmdTreeCollapse - + Collapse selected item Zwiń zaznaczony element - - + + Collapse currently selected tree items Zwiń aktualnie wybrane elementy drzewa @@ -11056,13 +10379,13 @@ bieżącej kopii zostaną utracone. StdCmdTreeExpand - + Expand selected item Rozwiń zaznaczony element - - + + Expand currently selected tree items Rozwiń aktualnie wybrane elementy drzewa @@ -11070,13 +10393,13 @@ bieżącej kopii zostaną utracone. StdCmdTreeSelectAllInstances - + Select all instances Wybierz wszystkie wystąpienia - - + + Select all instances of the current selected object Wybierz wszystkie wystąpienia w aktualnie wybranym obiekcie @@ -11084,13 +10407,13 @@ bieżącej kopii zostaną utracone. StdCmdTreeViewActions - + TreeView actions Akcje widoku drzewa - - + + TreeView behavior options and actions Opcje i działania na Widoku drzewa @@ -11154,13 +10477,13 @@ bieżącej kopii zostaną utracone. StdCmdViewBottom - + Bottom Od dołu - - + + Set to bottom view Ustaw widok z dołu @@ -11168,13 +10491,13 @@ bieżącej kopii zostaną utracone. StdCmdViewCreate - + Create new view Utwórz nowy widok - - + + Creates a new view window for the active document Tworzy nowe okno widoku dla aktywnego dokumentu @@ -11182,13 +10505,13 @@ bieżącej kopii zostaną utracone. StdCmdViewDimetric - + Dimetric Dimetryczny - - + + Set to dimetric view Ustaw na widok dimetryczny @@ -11196,13 +10519,13 @@ bieżącej kopii zostaną utracone. StdCmdViewExample1 - + Inventor example #1 Przykład Inventor #1 - - + + Shows a 3D texture with manipulator Pokazuje trójwymiarową teksturę z manipulatorem @@ -11210,13 +10533,13 @@ bieżącej kopii zostaną utracone. StdCmdViewExample2 - + Inventor example #2 Przykład Inventor #2 - - + + Shows spheres and drag-lights Pokazuje sfery oraz przeciągane oświetlenie @@ -11224,13 +10547,13 @@ bieżącej kopii zostaną utracone. StdCmdViewExample3 - + Inventor example #3 Przykład Inventor #3 - - + + Shows a animated texture Pokazuje animowaną teksturę @@ -11238,13 +10561,13 @@ bieżącej kopii zostaną utracone. StdCmdViewFitAll - + Fit all Dopasuj wszystko - - + + Fits the whole content on the screen Dopasuj rozmiar do okna @@ -11252,13 +10575,13 @@ bieżącej kopii zostaną utracone. StdCmdViewFitSelection - + Fit selection Dopasuj do wyboru - - + + Fits the selected content on the screen Dopasuj widok do zaznaczenia @@ -11266,13 +10589,13 @@ bieżącej kopii zostaną utracone. StdCmdViewFront - + Front Od przodu - - + + Set to front view Ustaw na widok z przodu @@ -11280,13 +10603,13 @@ bieżącej kopii zostaną utracone. StdCmdViewHome - + Home Widok domyślny - - + + Set to default home view Ustaw na widok domyślny @@ -11294,13 +10617,13 @@ bieżącej kopii zostaną utracone. StdCmdViewIsometric - + Isometric Widok izometryczny - - + + Set to isometric view Ustaw widok izometryczny @@ -11308,13 +10631,13 @@ bieżącej kopii zostaną utracone. StdCmdViewIvIssueCamPos - + Issue camera position Pokaż parametry ujęcia widoku - - + + Issue the camera position to the console and to a macro, to easily recall this position Wyślij dane pozycji ujęcia widoku do konsoli i do makra, aby łatwo przywołać tę pozycję @@ -11322,13 +10645,13 @@ bieżącej kopii zostaną utracone. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Widok z przeplotem kolumn - - + + Switch stereo viewing to Interleaved Columns Przełącz widok trójwymiarowy na: z przeplotem kolumn @@ -11336,13 +10659,13 @@ bieżącej kopii zostaną utracone. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Widok z przeplotem wierszy - - + + Switch stereo viewing to Interleaved Rows Przełącz wyświetlanie na tryb stereo z przeplotem wierszy @@ -11350,13 +10673,13 @@ bieżącej kopii zostaną utracone. StdCmdViewIvStereoOff - + Stereo Off Wyłącz widok trójwymiarowy - - + + Switch stereo viewing off Przełącznik widoku stereoskopowego, wyświetlanie wyłączone @@ -11364,13 +10687,13 @@ bieżącej kopii zostaną utracone. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Poczwórny bufor stereo - - + + Switch stereo viewing to quad buffer Przełącz widok stereo na bufor poczwórny @@ -11378,13 +10701,13 @@ bieżącej kopii zostaną utracone. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo czerwony/cyjan - - + + Switch stereo viewing to red/cyan Przełącz widok stereo na czerwony / cyjan @@ -11392,13 +10715,13 @@ bieżącej kopii zostaną utracone. StdCmdViewLeft - + Left Od lewej - - + + Set to left view Ustaw na widok z lewej @@ -11406,13 +10729,13 @@ bieżącej kopii zostaną utracone. StdCmdViewRear - + Rear Od tył - - + + Set to rear view Ustaw widok z tyłu @@ -11434,13 +10757,13 @@ bieżącej kopii zostaną utracone. StdCmdViewRight - + Right Od prawej - - + + Set to right view Ustaw na widok z prawej @@ -11448,13 +10771,13 @@ bieżącej kopii zostaną utracone. StdCmdViewRotateLeft - + Rotate Left Obrócić w lewo - - + + Rotate the view by 90° counter-clockwise Obróć widok w lewo o 90° @@ -11462,13 +10785,13 @@ bieżącej kopii zostaną utracone. StdCmdViewRotateRight - + Rotate Right Obróć w prawo - - + + Rotate the view by 90° clockwise Obróć widok w prawo o 90° @@ -11490,13 +10813,13 @@ bieżącej kopii zostaną utracone. StdCmdViewTop - + Top Od góry - - + + Set to top view Ustaw na widok z góry @@ -11504,13 +10827,13 @@ bieżącej kopii zostaną utracone. StdCmdViewTrimetric - + Trimetric Trimetryczny - - + + Set to trimetric view Ustaw widok trimetrii @@ -11518,13 +10841,13 @@ bieżącej kopii zostaną utracone. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Rozszerzenie funkcji 3D, programu FreeCAD z urządzeniem Oculus Rift, do projekcji wirtualnej rzeczywistości @@ -11588,13 +10911,13 @@ bieżącej kopii zostaną utracone. StdMainFullscreen - + Fullscreen Pełny ekran - - + + Display the main window in fullscreen mode Wyświetl okno główne w trybie pełnoekranowym @@ -11630,13 +10953,13 @@ bieżącej kopii zostaną utracone. StdRecallWorkingView - + Recall working view Przywróć widok roboczy - - + + Recall previously stored temporary working view Przywróć wcześniej zapisany tymczasowy widok roboczy @@ -11644,13 +10967,13 @@ bieżącej kopii zostaną utracone. StdStoreWorkingView - + Store working view Przechowaj widok roboczy - - + + Store a document-specific temporary working view Przechowaj tymczasowy widok roboczy specyficzny dla dokumentacji @@ -11658,13 +10981,13 @@ bieżącej kopii zostaną utracone. StdTreeCollapseDocument - + Collapse/Expand Zwiń / Rozwiń - - + + Expand active document and collapse all others Wyświetl aktywny dokument i schowaj pozostałe @@ -11672,12 +10995,12 @@ bieżącej kopii zostaną utracone. StdTreeDrag - + Initiate dragging Rozpocznij przeciąganie - + Initiate dragging of current selected tree items Rozpocznij przeciąganie zaznaczonych elementów drzewa @@ -11685,13 +11008,13 @@ bieżącej kopii zostaną utracone. StdTreeMultiDocument - + Multi document Wiele dokumentów - - + + Display all documents in the tree view Wyświetl wszystkie dokumenty w widoku drzewa @@ -11699,12 +11022,12 @@ bieżącej kopii zostaną utracone. StdTreePreSelection - + Pre-selection Wybór wstępny - + Preselect the object in 3D view when mouse over the tree item Wyróżnij obiekt w oknie widoku 3D, gdy kursor myszki znajduje się nad pozycją drzewa @@ -11712,12 +11035,12 @@ bieżącej kopii zostaną utracone. StdTreeRecordSelection - + Record selection Zapisz zaznaczenie - + Record selection in tree view in order to go back/forward using navigation button Zapisuj zaznaczenie w widoku drzewa, aby cofnąć / ponowić za pomocą przycisku nawigacji @@ -11725,13 +11048,13 @@ bieżącej kopii zostaną utracone. StdTreeSelection - + Go to selection Przejdź do wyboru - - + + Scroll to first selected item Przejdź do pierwszego zaznaczonego elementu @@ -11739,13 +11062,13 @@ bieżącej kopii zostaną utracone. StdTreeSingleDocument - + Single document Jeden dokument - - + + Only display the active document in the tree view Wyświetl tylko aktywne dokumenty w widoku drzewa @@ -11753,12 +11076,12 @@ bieżącej kopii zostaną utracone. StdTreeSyncPlacement - + Sync placement Synchronizuj położenie - + Auto adjust placement on drag and drop objects across coordinate systems Automatyczne dostosowywanie położenia obiektów w układach współrzędnych podczas przeciągania i upuszczania @@ -11766,12 +11089,12 @@ bieżącej kopii zostaną utracone. StdTreeSyncSelection - + Sync selection Synchronizuj wybrane - + Auto expand tree item when the corresponding object is selected in 3D view Automatycznie rozwiń drzewko gdy odpowiedni obiekt jest zaznaczony w oknie widoku 3D @@ -11779,12 +11102,12 @@ bieżącej kopii zostaną utracone. StdTreeSyncView - + Sync view Synchronizuj widok - + Auto switch to the 3D view containing the selected item Przełącz automatycznie do widoku 3D zawierającego wybrany element @@ -11792,13 +11115,13 @@ bieżącej kopii zostaną utracone. StdViewBoxZoom - + Box zoom Powiększ obszar - - + + Activate the box zoom tool Aktywuj narzędzie powiększania obszaru @@ -11806,13 +11129,13 @@ bieżącej kopii zostaną utracone. StdViewDock - + Docked Zadokowany - - + + Display the active view either in fullscreen, in undocked or docked mode Wyświetl aktywny widok na pełnym ekranie, w trybie niezadokowanym lub zadokowanym @@ -11820,13 +11143,13 @@ bieżącej kopii zostaną utracone. StdViewDockUndockFullscreen - + Document window Okno dokumentu - - + + Display the active view either in fullscreen, in undocked or docked mode Wyświetl aktywny widok w trybie pełnoekranowym, w trybie niezadokowanym lub zadokowanym @@ -11834,13 +11157,13 @@ bieżącej kopii zostaną utracone. StdViewFullscreen - + Fullscreen Cały ekran - - + + Display the active view either in fullscreen, in undocked or docked mode Wyświetl aktywny widok w trybie pełnoekranowym, w trybie niezadokowanym lub zadokowanym @@ -11848,13 +11171,13 @@ bieżącej kopii zostaną utracone. StdViewScreenShot - + Save image... Zapisz obraz … - - + + Creates a screenshot of the active view Tworzy zrzut ekranu aktywnego widoku @@ -11862,13 +11185,13 @@ bieżącej kopii zostaną utracone. StdViewUndock - + Undocked Niezadokowany - - + + Display the active view either in fullscreen, in undocked or docked mode Wyświetl aktywny widok na pełnym ekranie, w trybie niezadokowanym lub zadokowanym @@ -11876,13 +11199,13 @@ bieżącej kopii zostaną utracone. StdViewZoomIn - + Zoom In Przybliż - - + + Increase the zoom factor by a fixed amount Zwiększ współczynnik powiększenia o stałą wartość @@ -11890,13 +11213,13 @@ bieżącej kopii zostaną utracone. StdViewZoomOut - + Zoom Out Oddal - - + + Decrease the zoom factor by a fixed amount Zmniejsz współczynnik powiększenia o stałą wartość @@ -11917,7 +11240,7 @@ Czy na pewno kontynuować? Object dependencies - Zależności obiektów + Zależności obiektu @@ -11931,72 +11254,72 @@ Czy na pewno kontynuować? Std_DrawStyle - + As is Domyślny - + Normal mode Tryb normalny - + Points Tylko punkty - + Points mode Tryb punktów - + Wireframe Szkieletowy - + Wireframe mode Tryb szkieletowy - + Hidden line Cieniowany z ukrytymi krawędziami - + Hidden line mode Tryb cieniowany z ukrytymi krawędziami - + No shading Jednolity z krawędziami - + No shading mode Tryb bez cieniowania - + Shaded Cieniowany - + Shaded mode Tryb cieniowania - + Flat lines Cieniowany z krawędziami - + Flat lines mode Tryb cieniowania z krawędziami @@ -12006,7 +11329,7 @@ Czy na pewno kontynuować? Object dependencies - Zależności obiektów + Zależności obiektu @@ -12059,32 +11382,32 @@ Czy nadal chcesz kontynuować? TreeParams - + Tree view item background. Only effective in overlay. Tło elementu widoku drzewa. Ma zastosowanie tylko w nałożeniu. - + Tree view item background padding. Wypełnienie tła pozycji Widoku drzewa. - + Hide extra tree view column for item description. Ukryj dodatkową kolumnę widoku drzewa dla opisu pozycji. - + Hide tree view scroll bar in dock overlay. Ukryj pasek przewijania widoku drzewa w nakładce doku. - + Hide tree view header view in dock overlay. Ukryj nagłówek widoku drzewa w nakładce doku. - + Allow tree view columns to be manually resized. Pozwól na samodzielną zmianę rozmiaru kolumn widoku drzewa. @@ -12092,117 +11415,117 @@ Czy nadal chcesz kontynuować? Workbench - + &File &Plik - + &Edit &Edycja - + Edit Edycja - + Clipboard Schowek - + Workbench Środowiska pracy - + Structure - Konstrukcja + Struktura - + Standard views Widoki standardowe - + Axonometric Aksonometria - + &Stereo &Widok trójwymiarowy - + &Zoom Powięks&zenie - + Visibility Widoczność - + &View &Widok - + &Tools P&rzybory - + &Macro &Makrodefinicje - + &Windows &Okna - + &On-line help Pomoc &on-line - + &Help Pomo&c - + Help Pomoc - + File Plik - + Macro - Makrodefinicje + Makrodefinicja - + View Widok - + Special Ops Opcje specjalne - + Link actions Akcje z łączami @@ -12210,12 +11533,12 @@ Czy nadal chcesz kontynuować? Gui::MDIView - + Export PDF Eksportuj do PDF - + PDF file Plik PDF @@ -12223,196 +11546,190 @@ Czy nadal chcesz kontynuować? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Obszar powiadomień - + Settings Ustawienia - + The Notification area will appear in the status bar Obszar powiadomień pojawi się na pasku statusu - + Enable Notification Area Włącz obszar powiadomień - + Non-intrusive notifications will appear next to the notification area in the status bar Nieinwazyjne powiadomienia pojawią się obok obszaru powiadomień na pasku statusu - + Enable non-intrusive notifications Włącz powiadomienia - + Additional data sources Dodatkowe źródła danych - + Errors intended for developers will appear in the notification area Błędy przeznaczone dla programistów będą wyświetlane w obszarze powiadomień - + Debug errors Błędy debugowania - + Warnings intended for developers will appear in the notification area Ostrzeżenia przeznaczone dla programistów będą wyświetlane w obszarze powiadomień - + Debug warnings Ostrzeżenia debugowania - + Non-Intrusive Notifications Nieinwazyjne powiadomienia - + Minimum Duration: Najkrótszy czas trwania: - + Maximum Duration: Najdłuższy czas trwania: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Czas wyświetlania powiadomienia (o ile przyciski myszy nie zostaną użyte) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Najkrótszy czas wyświetlania powiadomienia (o ile powiadomienie nie zostanie kliknięte) - + Maximum Number of Notifications: Maksymalna liczba powiadomień: - + Maximum number of notifications that will be simultaneously present on the screen Maksymalna liczba powiadomień, które będą obecne jednocześnie na ekranie - + Notification width: Szerokość obszaru na powiadomienia: - + Width of the notification in pixels Szerokość powiadomienia w pikselach - + Any open non-intrusive notifications will disappear when another window is activated Wszelkie otwarte nieinwazyjne powiadomienia znikną po aktywacji innego okna - + Hide when other window is activated Ukryj po aktywacji innego okna - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Zapobiegaj pojawianiu się nieinwazyjnych powiadomień, gdy okno FreeCAD nie jest aktywne - + Do not show when inactive Nie pokazuj, gdy nieaktywne - + Message List Lista wiadomości - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Ograniczenie liczby wiadomości, które będą przechowywane na liście. Jeśli 0 to nie ma limitu. - + Maximum Messages (0 = no limit): Maksymalna ilość wiadomości (0 = brak limitu): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Usuwa powiadomienia użytkownika z listy wiadomości po upływie maksymalnego czasu trwania. - + Auto-remove User Notifications Automatyczne usuwanie powiadomień użytkownika - - - Activation of the Notification Area only takes effect after an application restart. - Aktywacja obszaru powiadomień wchodzi w życie dopiero po ponownym uruchomieniu aplikacji. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Dostępne środowiska pracy - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Można zmieniać kolejność środowisk pracy metodą "przeciągnij i upuść". Dodatkowe środowiska pracy można zainstalować poprzez menedżera dodatków.</p><p> Obecnie w Twoim systemie znajdują się następujące środowiska pracy:</p></body></html> - + Start up workbench: Uruchamianie środowiska pracy: - + Choose which workbench will be activated and shown after FreeCAD launches Wybierz, które Środowisko pracy zostanie aktywowane i wyświetlone po uruchomieniu FreeCAD - + Workbench selector position : Pozycja okienka wyboru środowiska pracy: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12425,12 +11742,12 @@ po uruchomieniu FreeCAD "Prawy narożnik": W prawym rogu paska menu. - + If checked, application will remember which workbench is active for each tab of the viewport Jeśli opcja jest zaznaczona, aplikacja zapamięta, które Środowisko pracy jest aktywne w każdej karcie widoku - + Remember active workbench by tab Zapamiętaj aktywne środowisko pracy w zakładce @@ -12579,47 +11896,47 @@ po uruchomieniu FreeCAD Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Jeśli opcja jest odznaczona, %1 nie pojawi się na liście dostępnych środowisk pracy. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Jest to bieżący moduł startowy i musi być automatycznie załadowany. Aby zmienić ustawienia, patrz: Preferencje → Ogólne → Uruchamianie. - + Shortcut to activate this workbench. Skrót do aktywacji tego środowiska pracy. - + Auto-load Wczytaj automatycznie - + If checked, %1 will be loaded automatically when FreeCAD starts up Jeśli opcja jest zaznaczona, %1 zostanie załadowany automatycznie po uruchomieniu programu FreeCAD - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Jest to bieżący moduł startowy i musi być automatycznie załadowany. Aby zmienić ustawienia, patrz: Preferencje → Ogólne → Uruchamianie. - + Loaded Wczytano - + Load Wczytaj - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. <html><head/><body><p>Aby oszczędzać zasoby, FreeCAD nie ładuje środowisk pracy, dopóki nie zostaną użyte. Ich załadowanie może zapewnić dostęp do dodatkowych preferencji związanych z ich funkcjonalnością.</p><p>Następujące środowiska pracy są dostępne w twojej instalacji, ale nie są jeszcze załadowane:</p></body></html> @@ -12627,17 +11944,22 @@ po uruchomieniu FreeCAD Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Pasek narzędzi - + Left corner Lewy narożnik - + Right corner Prawy narożnik @@ -12663,12 +11985,12 @@ po uruchomieniu FreeCAD Gui::NotificationArea - + Delete user notifications Usuń powiadomienia użytkownika - + Delete All Usuń wszystkie @@ -12693,24 +12015,24 @@ po uruchomieniu FreeCAD Zoom in - Powiększ + Przybliż Zoom out - Pomniejsz + Oddal StdViewLoadImage - + Load image... Załaduj obraz ... - - + + Loads an image Ładuje obraz @@ -12772,10 +12094,816 @@ po uruchomieniu FreeCAD Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Wystąpił błąd -- zajrzyj do Widoku raportu, aby uzyskać więcej informacji + + Gui::Dialog::DlgSettingsEditor + + + Editor + Edytor + + + + Options + Opcje + + + + Code lines will be numbered + Wiersze kodu będą ponumerowane + + + + Enable line numbers + Włącz numerowanie linii + + + + The cursor shape will be a block + Kursor przyjmie kształt bloku + + + + Enable block cursor + Włącz duży kursor + + + + Enable folding + Włącz składanie + + + + Indentation + Wcięcie + + + + Tab size: + Rozmiar tabulacji: + + + + Tabulator raster (how many spaces) + Ilość znaków spacji dla tabulacji + + + + Indent size: + Rozmiar wcięcia: + + + + How many spaces will be inserted when pressing <Tab> + Ilość spacji wstawionych po naciśnięciu <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Naciśnięcie klawisza <Tab> spowoduje wstawienie tabulatora o określonym rozmiarze + + + + Keep tabs + Kontroluj tabulacje + + + + Pressing <Tab> will insert amount of defined indent size + Naciśnięcie <Tab> spowoduje wstawienie odstępu o określonym rozmiarze + + + + Insert spaces + Wstaw spacje + + + + Display items + Wyświetl elementy + + + + Color and font settings will be applied to selected type + Definicje ustawień czcionki dla wybranego typu tekstu + + + + Family: + Czcionka: + + + + Font family to be used for selected code type + Krój czcionki stosowany dla wybranego typu kodu + + + + Size: + Rozmiar: + + + + Font size to be used for selected code type + Rozmiar czcionki stosowany dla wybranego typu kodu + + + + Color: + Kolor: + + + + Preview: + Podgląd: + + + + Text + Tekst + + + + Bookmark + Zakładka + + + + Breakpoint + Punkt przerwania + + + + Keyword + Słowo kluczowe + + + + Comment + Komentarz + + + + Block comment + Zablokuj komentarz + + + + Number + Liczba + + + + String + Ciąg + + + + Character + Znak + + + + Class name + Nazwa klasy + + + + Define name + Określ nazwę + + + + Operator + Operator + + + + Python output + Okno Python + + + + Python error + Błąd Pythona + + + + Current line highlight + Podświetlenie bieżącego wiersza + + + + Items + Elementy + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Ogólne + + + + Language and number format + Język i format liczb + + + + Language: + Język: + + + + Language of the application's user interface + Język interfejsu użytkownika dla aplikacji + + + + Unit system: + Układ jednostek: + + + + Unit system that should be used for all parts of the application + System jednostek, który ma być używany we wszystkich częściach aplikacji + + + + Number of decimals: + Liczba cyfr po przecinku: + + + + Number of decimals that should be shown for numbers and dimensions + Liczba miejsc dziesiętnych, które maja być prezentowane dla liczb i wymiarów + + + + Minimum fractional inch: + Najmniejszy ułamek cala: + + + + Minimum fractional inch to be displayed + Najmniejszy ułamek cala, który ma być wyświetlany + + + + Number format: + Format liczb: + + + + Operating system + System operacyjny + + + + Selected language + Wybrany język + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Jeśli opcja jest włączona, znak separatora dziesiętnego +klawiatury numerycznej zostanie zastąpiony separatorem z ustawień +lokalnych, z wyjątkiem konsoli Python i edytora makrodefinicji, +gdzie zawsze będzie wpisywana kropka. + + + + Substitute decimal separator + Zastąp separator dziesiętny + + + + Application + Aplikacja + + + + Theme: + Motyw: + + + + Customize how user interface will look like + Dostosuj jak będzie wyglądał interfejs użytkownika + + + + Size of toolbar icons: + Rozmiar ikon paska narzędzi: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Wybierz preferowany rozmiar ikonek paska narzędzi. Możesz dokonać zmiany +w zależności od wielkości ekranu lub swoich upodobań + + + + Tree view mode: + Tryb widoku drzewa: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Dostosuj widok drzewa w panelu (wymagany restart). + +„Widok połączony”: połącz widok drzewa i widok właściwości w jednym panelu. +„Widok drzewa i Widok właściwości”: rozdziel widok drzewa i widok właściwości na oddzielny panel. +„Obydwa”: zachowaj wszystkie panele, możesz mieć dwa zestawy widoku drzewa i widoku właściwości. + + + + Size of recent file list: + Rozmiar listy ostatnio używanych plików: + + + + How many files should be listed in recent files list + Liczba plików na liście ostatnio używanych + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Tło okna głównego (gdy nie jest otwarty żaden dokument) będzie składało się z kafelków specjalnego obrazu. +Szczegółowe informacje na temat obrazu można znaleźć w FreeCAD Wiki. + + + + Enable tiled background + Aktywuj kafle w tle + + + + The text cursor will be blinking + Kursor tekstowy będzie migał + + + + Enable cursor blinking + Włącz miganie kursora + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Ekran powitalny to małe okno postępu ładowania, które jest wyświetlane +podczas uruchamiania FreeCAD. Jeśli ta opcja jest zaznaczona, FreeCAD +wyświetli ekran powitalny + + + + Enable splash screen at start up + Włącz ekran powitalny przy uruchamianiu + + + + Preference packs + Pakiety preferencji + + + + Name + Nazwa + + + + Type + Typ + + + + Load + Wczytaj + + + + Import config... + Importuj konfigurację ... + + + + Save new... + Zapisz jako nowy ... + + + + Manage... + Zarządzaj ... + + + + Revert... + Przywróć … + + + + Manage preference packs + Zarządzaj pakietami preferencji + + + + Small (%1px) + Małe (%1px) + + + + Medium (%1px) + Średnie (%1px) + + + + Large (%1px) + Duże (%1px) + + + + Extra large (%1px) + Bardzo duże (%1px) + + + + Custom (%1px) + Niestandardowy (%1px) + + + + Combo View + Widok połączony + + + + TreeView and PropertyView + Widok drzewa i widok właściwości + + + + Both + Obydwa + + + + Preference Pack Name + Nazwa Pakietu preferencji + + + + Tags + Znaczniki + + + + Apply + Zastosuj + + + + Apply the %1 preference pack + Zastosuj pakiet preferencji: %1 + + + + Choose a FreeCAD config file to import + Wybierz plik konfiguracyjny FreeCAD do importu + + + + File exists + Plik już Istnieje + + + + A preference pack with that name already exists. Overwrite? + Pakiet ustawień o tej nazwie już istnieje! Czy chcesz go zastąpić? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Widok raportu + + + + Output + Wyjście + + + + Normal messages will be recorded + Zwykłe wiadomości o błędach będą rejestrowane + + + + Record normal messages + Rejestruj zwykłe wiadomości + + + + Log messages will be recorded + Wiadomości dziennika będą rejestrowane + + + + Record log messages + Rejestruj wiadomości dziennika + + + + Warnings will be recorded + Ostrzeżenia będą rejestrowane + + + + Record warnings + Rejestruj ostrzeżenia + + + + Error messages will be recorded + Wiadomości o błędach będą rejestrowane + + + + Record error messages + Rejestruj komunikaty błędów + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Gdy wystąpi błąd, okno dialogowe Widoku Raportu staje się widoczne +na ekranie podczas wyświetlania błędu + + + + Show report view on error + Pokaż okno Widok raportu po wystąpieniu błędu + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Gdy pojawi się ostrzeżenie, okno dialogowe Widoku Raportu zostanie +wyświetlone na ekranie podczas wyświetlania ostrzeżenia + + + + Show report view on warning + Pokaż okno Widok raportu po wystąpieniu ostrzeżenia + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Gdy pojawi się zwykły komunikat, okno dialogowe Widoku Raportu zostanie +wyświetlone na ekranie + + + + Show report view on normal message + Pokaż okno Widok raportu po wystąpieniu zwykłej wiadomości + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Gdy pojawi się komunikat dziennika, okno dialogowe Widoku Raportu zostanie +wyświetlone na ekranie podczas wyświetlania komunikatu dziennika + + + + Show report view on log message + Pokaż okno Widok raportu z wiadomościami dziennika + + + + Include a timecode for each report + Dołączaj znacznik czasu do każdego raportu + + + + Include a timecode for each entry + Dołączaj znacznik czasu do każdej pozycji wpisu + + + + Colors + Kolory + + + + Normal messages: + Zwykłe wiadomości: + + + + Font color for normal messages in Report view panel + Kolor tekstu dla zwykłych komunikatów w panelu Widoku Raportu + + + + Log messages: + Wiadomości dziennika: + + + + Font color for log messages in Report view panel + Kolor tekstu dla komunikatów dziennika w panelu Widoku Raportu + + + + Warnings: + Ostrzeżenia: + + + + Font color for warning messages in Report view panel + Kolor tekstu dla komunikatów ostrzegawczych w panelu Widoku Raportu + + + + Errors: + Błędy: + + + + Font color for error messages in Report view panel + Kolor tekstu dla komunikatów z błędami w panelu Widoku Raportu + + + + Python interpreter + Interpreter Python + + + + Internal Python output will be redirected +from Python console to Report view panel + Wewnętrzne dane wyjściowe środowiska Python zostaną przekierowane +z konsoli Python do panelu Widoku Raportu + + + + Redirect internal Python output to report view + Przekieruj wiadomości wewnętrzne środowiska Python do Widoku Raportu + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Wewnętrzne komunikaty o błędach środowiska Python zostaną przekierowane +z konsoli Python do panelu Widoku Raportu + + + + Redirect internal Python errors to report view + Przekieruj błędy wewnętrzne środowiska Python do Widoku Raportu + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Motyw + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Ta strona pozwala dostosować swój bieżący motyw. Zaoferowane ustawienia są opcjonalne dla programistów motywów, więc mogą lub nie mieć wpływu na bieżący motyw. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Ten kolor może być używany przez motyw, aby umożliwić jego dostosowanie. + + + + No style sheet + Brak arkusza stylu + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_pt-BR.ts b/src/Gui/Language/FreeCAD_pt-BR.ts index 858772758d..0605e34b52 100644 --- a/src/Gui/Language/FreeCAD_pt-BR.ts +++ b/src/Gui/Language/FreeCAD_pt-BR.ts @@ -42,29 +42,29 @@ Tamanho visual do recurso - + <empty> <vazio> - - + + Angle Ângulo - - + + Axis Eixo - + Position Posição - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Testar saída do console - - + + Run test cases to verify console messages Executar casos de teste para verificar as mensagens do console @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Limpar medições - + Clear all visible measurements Limpar todas as cotas visíveis @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Alternar medição - + Turn on or off the display of all measurements Ativar ou desativar a exibição de todas as cotas @@ -132,7 +132,7 @@ Excluir - + Paste expressions Colar expressões @@ -182,7 +182,7 @@ Adicionar um grupo - + Align Alinhar @@ -193,40 +193,40 @@ Posicionamento - - + + Transform Transformar - + Toggle array elements Ativar/Desativar elementos do array - + Link Transform Transformar Link - + Measure distance Medir distância - + Toggle visibility Mudar visibilidade - + Toggle selectability Alternar seletibilidade - + Edit image Editar imagem @@ -234,77 +234,77 @@ CommandGroup - + File Arquivo - + Edit Editar - + Help Ajuda - + Link Link - + Tools Ferramentas - + View Vista - + Window Janela - + Standard Padrão - + Macros Macros - + Macro Macro - + Structure Estrutura - + Standard-Test Teste-Padrão - + Standard-View Vista padrão - + TreeView Árvore - + Measure Medir @@ -402,11 +402,6 @@ DownloadItem - - - Form - Formulário - Ico @@ -421,42 +416,42 @@ EditMode - + Default Padrão - + The object will be edited using the mode defined internally to be the most appropriate for the object type O objeto será editado usando o modo definido internamente para ser o mais apropriado para o tipo de objeto - + Transform Transformar - + The object will have its placement editable with the Std TransformManip command O objeto terá seu posicionamento editável com o comando Std TransformManip - + Cutting Corte - + This edit mode is implemented as available but currently does not seem to be used by any object Este modo de edição está implementado como disponível, mas atualmente não parece ser usado por nenhum objeto - + Color Cor - + The object will have the color of its individual faces editable with the Part FaceColors command O objeto terá a cor de suas faces individuais editáveis com o comando Part FaceColors @@ -482,7 +477,7 @@ nenhum - + Press a keyboard shortcut Pressione um atalho de teclado @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Disponível: - + Selected: Selecionado: - + Add Adicionar - + Remove Remover - + Move up Mover para cima - + Move down Move para baixo @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Objeto móvel - + Fixed object Objeto fixo @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Por favor, aguarde até que o arquivo de auto recuperação tenha sido salvo... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Pressione o botão esquerdo do mouse - + Press SHIFT and middle mouse button Pressione Shift e o botão do meio do mouse - + Press middle mouse button Pressione o botão do meio do mouse - + Scroll middle mouse button Role a roda do mouse @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Pressione o botão esquerdo do mouse - + Press middle mouse button Pressione o botão do meio do mouse - + Press middle+left or middle+right button Clique nos botões do meio+esquerdo ou meio+direito - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Role o botão do meio do mouse ou mantenha o botão do meio apertado enquanto clica com o botão esquerdo ou direito do mouse e mova o mouse para cima ou para baixo @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel &Cancelar @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Painel de tarefas @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Créditos - + FreeCAD would not be possible without the contributions of O FreeCAD não seria possível sem as contribuições de - + Individuals Header for the list of individual people in the Credits list. Indivíduos - + Organizations Header for the list of companies/organizations in the Credits list. Organizações - - + + License Licença - + Libraries Bibliotecas - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Este software utiliza componentes de código aberto, cujos direitos autorais e outros direitos proprietários pertencem a seus respectivos proprietários: - + Collection Coleção @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Diretório de cache - + The cache directory %1 exceeds the size of %2. O diretório de cache %1 excede o tamanho de %2. - + Do you want to clear it now? Você quer limpar tudo? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Aviso: Por favor, certifique-se de que esta é a única instância em execução de %1 e que nenhum documento está aberto, pois isso pode resultar em perda de dados! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Configurações da câmera - + Orientation Orientação - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vista atual @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Comandos @@ -1116,12 +1111,12 @@ Se este campo não estiver marcado, então, a propriedade deve ser nomeada e ace Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists O pacote já existe - + A preference pack with that name already exists. Do you want to overwrite it? Já existe um pacote de preferências com esse nome. Deseja substituí-lo? @@ -1359,48 +1354,48 @@ simultaneamente. Aquele com a maior prioridade será acionado. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Digite para pesquisar... - + Icon Ícone - + Command Comando - + Shortcut Atalho - + Default Padrão - + Name Nome - + Title Título - + All Todos - - + + none nenhum @@ -1408,8 +1403,8 @@ simultaneamente. Aquele com a maior prioridade será acionado. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Barras de ferramentas @@ -1498,40 +1493,40 @@ simultaneamente. Aquele com a maior prioridade será acionado. - + <Separator> <Separador> - + %1 module not loaded %1 do módulo não carregado - + New toolbar Nova barra de ferramentas - - + + Toolbar name: Nome da barra de ferramentas: - - + + Duplicated name Nome duplicado - - + + The toolbar name '%1' is already used O nome de barra de ferramentas '%1' já está sendo usado - + Rename toolbar Renomear barra de ferramentas @@ -1544,19 +1539,19 @@ simultaneamente. Aquele com a maior prioridade será acionado. Gui::Dialog::DlgCustomizeImp - + Customize Personalizar - + &Help A&juda - + &Close &Fechar @@ -1565,13 +1560,13 @@ simultaneamente. Aquele com a maior prioridade será acionado. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Movimento do Spaceball - + No Spaceball Present Nenhum Spaceball encontrado @@ -1579,27 +1574,27 @@ simultaneamente. Aquele com a maior prioridade será acionado. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Botões do Spaceball - + No Spaceball Present Nenhum Spaceball encontrado - + Buttons Botões - + Reset Restaurar - + Print Reference Imprimir referência @@ -1684,550 +1679,123 @@ simultaneamente. Aquele com a maior prioridade será acionado. Gui::Dialog::DlgDisplayPropertiesImp - + Default Padrão - + Aluminium Alumínio - + Brass Latão - + Bronze Bronze - + Copper Cobre - + Chrome Cromo - + Emerald Esmeralda - + Gold Ouro - + Jade Jade - + Metalized Metalizado - + Neon GNC Néon GNC - + Neon PHC Néon PHC - + Obsidian Obsidiana - + Pewter Estanho - + Plaster Gesso - + Plastic Plástico - + Ruby Rubi - + Satin Cetim - + Shiny plastic Plástico brilhante - + Silver Prata - + Steel Aço - + Stone Pedra Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opções - - - - Code lines will be numbered - Linhas de código serão numeradas - - - - Enable line numbers - Ativar números de linha - - - - The cursor shape will be a block - A forma do cursor será um bloco - - - - Enable block cursor - Habilitar cursor de bloco - - - - Enable folding - Habilitar dobra - - - - Indentation - Indentação - - - - Tab size: - Tamanho da tabulação: - - - - Tabulator raster (how many spaces) - Tabulador de raster (quantos espaços) - - - - Indent size: - Tamanho da indentação: - - - - How many spaces will be inserted when pressing <Tab> - Quantos espaços serão inseridos ao pressionar <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Pressionar o <Tab> irá inserir um tabulador com tamanho de tabulação definido - - - - Keep tabs - Manter abas - - - - Pressing <Tab> will insert amount of defined indent size - Pressionar <Tab> irá inserir quantidade de tamanho de recuo definido - - - - Insert spaces - Inserir espaços - - - - Display items - Exibir itens - - - - Color and font settings will be applied to selected type - Cor e configurações de fonte serão aplicadas ao tipo selecionado - - - - Family: - Família: - - - - Font family to be used for selected code type - Família de fonte a ser usada no tipo de código selecionado - - - - Size: - Tamanho: - - - - Font size to be used for selected code type - Tamanho da fonte a ser usado no tipo de código selecionado - - - - Color: - Cor: - - - - Preview: - Pré-visualização: - - - Gui::Dialog::DlgGeneral - - - General - Geral - - - - Language of the application's user interface - Idioma da interface de usuário da aplicação - - - - Number format: - Formato do número: - - - - Operating system - Sistema operacional - - - - Selected language - Selecionar o idioma - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Se habilitado, o separador decimal do teclado numérico -será substituído pelo separador local, exceto -no Console Python e Editor de Macro onde um -ponto/ponto final sempre será impresso. - - - - Preference packs - Pacotes de preferências - - - - Name - Nome - - - - Type - Tipo - - - - Load - Carregar - - - - Import config... - Importar configuração... - - - - Save new... - Salvar novo... - - - - Manage... - Gerenciar... - - - - Revert... - Reverter... - - - - How many files should be listed in recent files list - Quantos arquivos devem ser listados na lista de arquivos recentes - - - - Enable tiled background - Ativar fundo em mosaico - - - - The text cursor will be blinking - O cursor do texto estará piscando - - - - Enable cursor blinking - Habilitar cursor piscante - - - - Style sheet: - Folha de estilo: - - - - Language and number format - Idioma e formato numérico - - - - Language: - Idioma: - - - - Unit system: - Sistema de unidades: - - - - Unit system that should be used for all parts of the application - Sistema de unidades que será usado em todas as partes do aplicativo - - - - Number of decimals: - Número de casas decimais: - - - - Number of decimals that should be shown for numbers and dimensions - Número de decimais que devem ser mostrados em números e dimensões - - - - Minimum fractional inch: - Fração mínima das polegadas: - - - - Minimum fractional inch to be displayed - Polegada fracionária mínima a ser exibida - - - - Substitute decimal separator - Substituir o separador decimal - - - - Application - Programa - - - - Style sheet how user interface will look like - Folha de estilo de como a interface do usuário será parecida - - - - Size of toolbar icons: - Tamanho dos ícones da barra de ferramentas: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Escolha sua preferência para o tamanho do ícone da barra de ferramentas. Você pode ajustar isto de acordo com o tamanho da sua tela ou gosto pessoal - - - - Tree view mode: - Modo de visualização em árvore: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Personalize como a exibição em árvore é exibida no painel (requer reinicialização). - -'ComboView': combine exibição em árvore e vista de propriedade em um painel. -'TreeView e PropertyView': dividir exibição em árvore e visualização de propriedades em painel separado. -'Ambos': mantenha todos os três painéis, e você pode ter dois conjuntos de exibição em árvore e exibição de propriedade. - - - - Size of recent file list: - Tamanho da lista de arquivos recentes: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - O fundo da janela principal (quando o documento é aberto) consistirá em blocos de uma imagem especial. -Veja a Wiki do FreeCAD para mais detalhes sobre a imagem. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - A Tela de Abertura é exibida durante o carregamento, -na inicialização do FreeCAD. Se esta opção estiver marcada, -a tela de abertura será exibida - - - - Enable splash screen at start up - Mostrar a tela de splash ao iniciar - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Gerenciar pacotes de preferências - - - - Small (%1px) - Pequeno (%1px) - - - - Medium (%1px) - Médio (%1px) - - - - Large (%1px) - Grande (%1px) - - - - Extra large (%1px) - Extra grande (%1px) - - - - Custom (%1px) - Personalizado (%1px) - - - - Combo View - Tela combinada - - - - TreeView and PropertyView - TreeView e Propriedades - - - - Both - Ambos - - - - No style sheet - Nenhuma folha de estilo - - - - Preference Pack Name - Nome do pacote de preferências - - - - Tags - Etiquetas - - - - Apply - Aplicar - - - - Apply the %1 preference pack - Aplicar o pacote de preferências %1 - - - - Choose a FreeCAD config file to import - Escolha um arquivo de configuração do FreeCAD para importar - - - - File exists - Arquivo existe - - - - A preference pack with that name already exists. Overwrite? - Já existe um pacote de preferências com esse nome. Deseja substituí-lo? - - Gui::Dialog::DlgInputDialog @@ -2243,8 +1811,8 @@ a tela de abertura será exibida Gui::Dialog::DlgInspector - - + + Scene Inspector Inspetor de cena @@ -2336,71 +1904,71 @@ a tela de abertura será exibida Gui::Dialog::DlgMacroExecuteImp - + Macros Macros - + Read-only Somente leitura - + Macro file Arquivo de macro - + Enter a file name, please: Digite um nome de arquivo, por favor: - - - + + + Existing file Arquivo existente - + '%1'. This file already exists. '%1'. Este arquivo já existe. - + Cannot create file Não é possível criar o arquivo - + Creation of file '%1' failed. Falha na criação do arquivo '%1'. - + Delete macro Excluir macro - + Do you really want to delete the macro '%1'? Você realmente deseja excluir a macro '%1'? - + Do not show again Não mostrar novamente - + Guided Walkthrough Passo a passo - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2411,76 +1979,76 @@ Obs: as mudanças serão aplicadas na próxima troca de bancada - + Walkthrough, dialog 1 of 2 Passo a passo, diálogo 1 de 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Instruções: complete os campos vazios (opcional) então clique em Adicionar e, por fim, Fechar - + Walkthrough, dialog 1 of 1 Passo a passo, diálogo 1 de 1 - + Walkthrough, dialog 2 of 2 Passo a passo, diálogo 2 de 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instruções: Clique na tecla seta para a direita (->), e depois Fechar. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Instrução: Clique Novo, então clique no botão seta para a direita (->), e depois Fechar. - + Renaming Macro File Renomear um arquivo de Macro - - + + Enter new name: Digite o novo nome: - - + + '%1' already exists. '%1' já existe. - + Rename Failed Falha ao renomear - + Failed to rename to '%1'. Perhaps a file permission error? Falha ao renomear para '%1'. Talvez um erro de permissão de arquivo? - + Duplicate Macro Duplicar Macro - + Duplicate Failed Não foi possível duplicar - + Failed to duplicate to '%1'. Perhaps a file permission error? Não foi possível duplicar para '%1'. @@ -2523,39 +2091,39 @@ Talvez um erro de permissão de arquivo? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Gravador de macro - + Specify first a place to save. Especifique um local para salvar. - + The macro directory doesn't exist. Please, choose another one. O diretório de macro não existe. Por favor, escolha um outro. - + Existing macro Macro existente - + The macro '%1' already exists. Do you want to overwrite? A macro '%1' já existe. Deseja substituir? - + You have no write permission for the directory. Please, choose another one. Você não tem permissão de escrita para essa pasta. Por favor, escolha outra. - + Choose macro directory Escolha o diretório de macros @@ -2628,12 +2196,12 @@ Talvez um erro de permissão de arquivo? Arquivos HTML - + Access denied Acesso negado - + Access denied to '%1' Specify another directory, please. @@ -3033,36 +2601,36 @@ Por favor especifique outro diretório. Arquivo de projeto - - + + Empty source Fonte vazia - - + + No source is defined. Nenhuma fonte foi definida. - - + + Empty destination Destino vazio - - + + No destination is defined. Nenhum destino foi definido. - + Failed to extract project Falha ao extrair projeto - + Failed to create project Falha ao criar projeto @@ -3112,186 +2680,6 @@ Por favor especifique outro diretório. Gui::Dialog::DlgReportView - - - Report view - Ver Relatório - - - - Output - Saída - - - - Normal messages will be recorded - Mensagens normais serão gravadas - - - - Record normal messages - Gravar mensagens normais - - - - Log messages will be recorded - Mensagens de log serão gravadas - - - - Record log messages - Gravar mensagens de log - - - - Warnings will be recorded - Avisos serão gravados - - - - Record warnings - Gravar advertências - - - - Error messages will be recorded - Mensagens de erro serão gravadas - - - - Record error messages - Gravar mensagens de erro - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Quando ocorreu um erro, a caixa de diálogo Relatório torna-se visível -na tela enquanto exibe o erro - - - - Show report view on error - Mostrar visualização de relatório em caso de erro - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Quando ocorre um aviso, a caixa de diálogo Visualização de Relatório torna-se visível -na tela enquanto exibe o aviso - - - - Show report view on warning - Mostrar visualização de relatório no aviso - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Quando ocorre uma notificação, o Painel de Relatório aparece enquanto a notificação é exibida - - - - Show report view on normal message - Mostrar painel de relatório em notificações - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Quando uma mensagem de registro ocorreu, o Painel de Relatório aparece enquanto a mensagem de registro é exibida - - - - Show report view on log message - Mostrar painel de relatório nas mensagens de registro - - - - Include a timecode for each report - Incluir uma marca temporal para cada relatório - - - - Include a timecode for each entry - Incluir uma marca temporal para cada entrada - - - - Colors - Cores - - - - Normal messages: - Mensagens normais: - - - - Font color for normal messages in Report view panel - Cor da fonte para notificações no painel de Relatório - - - - Log messages: - Mensagens de log: - - - - Font color for log messages in Report view panel - Cor da fonte para mensagens de registro no painel de Relatório - - - - Warnings: - Advertências: - - - - Font color for warning messages in Report view panel - Cor da fonte para mensagens de aviso no painel de Relatório - - - - Errors: - Erros: - - - - Font color for error messages in Report view panel - Cor da fonte para mensagens de erro no painel de Relatório - - - - Python interpreter - Interpretador Python - - - - Internal Python output will be redirected -from Python console to Report view panel - A saída interna do Python será redirecionada -do console Python para o painel de Relatórios - - - - Redirect internal Python output to report view - Redirecionar a saída interna de Python para a janela de relatório - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Mensagens de erro internas do Python serão redirecionadas -do console Python para o painel de Relatórios - - - - Redirect internal Python errors to report view - Redirecionar erros internos do Python para a janela de relatório - @@ -3318,7 +2706,7 @@ do console Python para o painel de Relatórios Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Nenhuma seleção na caixa de diálogo, não é possível carregar o arquivo de backup @@ -3361,7 +2749,7 @@ do console Python para o painel de Relatórios Ajuda - + Select a file Selecione um arquivo @@ -3369,69 +2757,69 @@ do console Python para o painel de Relatórios Gui::Dialog::DlgSettings3DView - + 3D View Vista 3D - + General Geral - + Main coordinate system will always be shown in lower right corner within opened files O sistema de coordenadas principais sempre será mostrado no canto inferior direito dentro dos arquivos abertos - + Show coordinate system in the corner Mostrar sistema de coordenadas no canto - + Relative size : Tamanho relativo: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Tamanho da representação do sistema de coordenadas principal no canto -- em % de altura/largura da janela de visualização - + Axis cross will be shown by default at file opening or creation Cruzamento de eixo será exibido por padrão na abertura ou criação do arquivo - + Show axis cross by default Mostrar eixo do cruzamento por padrão - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files O tempo necessário para a última operação e a taxa de quadros serão mostrados no canto inferior esquerdo nos arquivos abertos - + Show counter of frames per second Mostrar contador de frames por segundo - + Rendering Renderizando - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3440,22 +2828,22 @@ Changing this option requires a restart of the application. Mudar esta opção requer uma reinicialização da aplicação. - + Use software OpenGL Utilizar software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Usar OpenGL VBO (Vertex Buffer Object) - + Render cache Cache de renderização - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3478,7 +2866,7 @@ problemas que variam de anomalias gráficas a erros e bugs da GPU. Lembre-se de relatar esta configuração como ativada ao buscar suporte nos fóruns do FreeCAD - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3495,92 +2883,92 @@ apenas realiza o cache no nó raiz gráfico da cena. Isto oferece a maior veloci mas mais lenta para qualquer mudança de cena. - + Auto Auto - + Distributed Distribuído - + Centralized Centralizado - + Anti-Aliasing Suavização de serrilhado - + What kind of multisample anti-aliasing is used Que tipo de anti-aliasing de múltiplas amostras é usado - + None Nenhum - + Line Smoothing Alisamento de linha - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Objetos transparentes: - + Render types of transparent objects Renderizar tipos de objetos transparentes - + One pass Uma etápa - + Backface pass Etapa para as faces ocultas - + Marker size: Tamanho do marcador: - - Size of vertices in the Sketcher workbench - Tamanho dos vértices na bancada de esboço + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Distância entre olhos para modos estéreo - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3589,48 +2977,48 @@ O valor especificado é um fator que será multiplicado com o tamanho da caixa delimitadora do objeto 3D que está sendo exibido. - + Backlight is enabled with the defined color A luz de fundo está habilitada com a cor definida - - + + Backlight color Cor de fundo - + Intensity Intensidade - + Intensity of the backlight Intensidade da luz de fundo - + Camera type Tipo de câmera - + Objects will appear in a perspective projection Objetos aparecerão em uma projeção de perspectiva - + Perspective renderin&g Renderização de perspectiva - + Objects will be projected in orthographic projection Objetos serão projetados em projeção ortográfica - + Or&thographic rendering Renderização ortográfica @@ -3642,42 +3030,42 @@ tamanho da caixa delimitadora do objeto 3D que está sendo exibido. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Suavização de serrilhado - + Open a new viewer or restart %1 to apply anti-aliasing changes. Abra uma nova visualização ou reinicie %1 para aplicar as alterações de suavização de serrilhado. @@ -3685,77 +3073,77 @@ tamanho da caixa delimitadora do objeto 3D que está sendo exibido. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Diretório de cache - + Location: Localização: - + Check periodically at program start: Verifique periodicamente ao iniciar o programa: - + Always Sempre - + Daily Diariamente - + Weekly Semanalmente - + Monthly Mensalmente - + Yearly Anualmente - + Never Never - + Cache size limit: Tamanho limite do cache: - + Check now... Verificar agora... - + Notify the user if the cache size exceeds the specified limit Notificar o usuário se o tamanho do cache exceder o limite especificado - + Unknown Desconhecido - + Current cache size: %1 Tamanho atual da memória cache: %1 @@ -3916,12 +3304,12 @@ além da barra de cores Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Parâmetro incorreto - + The maximum value must be higher than the minimum value. O valor máximo deve ser superior ao valor mínimo. @@ -3929,181 +3317,181 @@ além da barra de cores Gui::Dialog::DlgSettingsDocument - + Document Documento - + General Geral - + The application will create a new document when started A aplicação irá criar um novo documento quando iniciada - + Create new document at start up Criar um novo documento ao iniciar - + Document save compression level (0 = none, 9 = highest, 3 = default) Nível de compactação ao salvar documentos (0 = nenhum, 9 = mais alto, 3 = padrão) - + Compression level for FCStd files Nível de compressão para arquivos FCStd - + All changes in documents are stored so that they can be undone/redone Todas as alterações nos documentos são armazenadas para que possam ser desfeitas/refeitas - + Using Undo/Redo on documents Usar Desfazer/Refazer em documentos - + Maximum Undo/Redo steps Número máximo de operações Desfazer/Refazer - + How many Undo/Redo steps should be recorded Quantos passos de Desfazer/Refazer devem ser registrados - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Permitir que o usuário aborte o recálculo dos documentos pressionando ESC. Este recurso pode aumentar ligeiramente o tempo de recálculo. - + Allow aborting recomputation Permitir abortação de recálculo - + Storage Armazenamento - + Saving transactions (Auto-save) Salvar as transações (auto-save) - + Discard saved transaction after saving document Descartar transações salvas depois de salvar o documento - + If there is a recovery file available the application will automatically run a file recovery when it is started. Se houver um arquivo de recuperação disponível, a aplicação executará automaticamente uma recuperação de arquivo quando for iniciada. - + Run AutoRecovery at startup Executar Auto Recuperação ao iniciar - + How often a recovery file is written Com que frequência um arquivo de recuperação é escrito - + Save AutoRecovery information every Salvar informações de Auto Recuperação a cada - + A thumbnail will be stored when document is saved Uma miniatura será armazenada quando o documento for salvo - + Save thumbnail into project file when saving document Salvar miniatura no arquivo quando salvar um documento - + Size Tamanho - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Define o tamanho da miniatura armazenada no documento. Tamanhos comuns são 128, 256 e 512 - + The program logo will be added to the thumbnail O logotipo do programa será adicionado à miniatura - + Add the program logo to the generated thumbnail Adicionar o logotipo do programa à miniatura gerada - + How many backup files will be kept when saving document Quantos arquivos de backup serão mantidos ao salvar o documento - + Maximum number of backup files to keep when resaving document Número máximo de arquivos de backup a manter quando salvar novamente o documento - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Os arquivos de backup obterão a extensão '.FCbak' e os nomes de arquivos obterão um sufixo de data de acordo com o formato especificado - + Use date and FCBak extension Usar a data e a extensão FCBak - + Date format Formato da data - + Document objects Objetos do documento - + Allow objects to have same label Permitir que os objetos tenham a mesma etiqueta/nome - + Allow duplicate object labels in one document Permitir rótulos de objetos duplicados em um documento - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4116,22 +3504,22 @@ Um documento parcialmente carregado não pode ser editado. Dê um duplo clique n na arborescência para recarregá-lo completamente. - + Disable partial loading of external linked objects Desativar carregamento parcial de objetos externos vinculados - + Authoring and License Autoria e licença - + Author name Nome do autor - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4140,32 +3528,32 @@ Deixe vazio para ser anônimo. Você também pode usar o formulário: João Silva <joao@silva.com> - + The field 'Last modified by' will be set to specified author when saving the file O campo 'Última modificação por' será configurado como autor especificado ao salvar o arquivo - + Set on save Salvar - + Company Empresa - + Default company name to use for new files O nome de empresa padrão a ser usado para novos arquivos - + Default license Licença padrão - + Default license for new documents Licença padrão para novos arquivos @@ -4235,12 +3623,12 @@ Você também pode usar o formulário: João Silva <joao@silva.com>Outro - + License URL URL da licença - + URL describing more about the license URL descrevendo mais sobre a licença @@ -4248,104 +3636,21 @@ Você também pode usar o formulário: João Silva <joao@silva.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. O formato da data a ser utilizada. - + Default Padrão - + Format Formato - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Texto - - - - Bookmark - Favorito - - - - Breakpoint - Ponto de Interrupção - - - - Keyword - Palavra-chave - - - - Comment - Comentário - - - - Block comment - Comentário de bloco - - - - Number - Número - - - - String - Texto - - - - Character - Caráter - - - - Class name - Nome de classe - - - - Define name - Definir nome - - - - Operator - Operador - - - - Python output - Saída de Python - - - - Python error - Erro de python - - - - Current line highlight - Destacar linha atual - - - - Items - Itens - - Gui::Dialog::DlgSettingsImage @@ -4526,122 +3831,122 @@ Você também pode usar o formulário: João Silva <joao@silva.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Configurações gerais de macro - + Variables defined by macros are created as local variables Variáveis definidas por macros são criadas como variáveis locais - + Run macros in local environment Executar macros no ambiente local - + Macro recording settings Configurações de gravação de macros - + Macro path Caminho de macro - + The directory in which the application will search for macros O diretório em que o aplicativo irá procurar por macros - + Gui commands Comandos da interface gráfica - + Recorded macros will also contain user interface commands Macros gravarão também comandos de interface - + Record GUI commands Gravar comandos na GUI - + Recorded macros will also contain user interface commands as comments Macros gravados também conterão comandos de interface de usuário como comentários - + Record as comment Gravar como comentário - + Logging Commands Comandos de log - + Commands executed by macro scripts are shown in Python console Comandos executados por scripts de macro são mostrados no console do Python - + Show script commands in python console Mostrar os comandos de script no console python - + Log all commands issued by menus to file: Salvar todos os comandos emitidos por menus em arquivo de log: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Menu de macros recentes - + Size of recent macro list Tamanho da lista de macros recentes - + How many macros should be listed in recent macros list Quantas macros devem ser mostrados na lista de macros recentes - + Keyboard shortcut count Contar atalhos do teclado - + How many recent macros should have shortcuts Quantas macros recentes devem ter atalhos - + Keyboard Modifiers Modificadores de Teclado - + Keyboard modifiers, default = Ctrl+Shift+ Modificadores de teclado, padrão = Ctrl+Shift+ @@ -4649,130 +3954,130 @@ Você também pode usar o formulário: João Silva <joao@silva.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navegação - + Navigation cube Cubo de navegação - + Steps by turn Passos por turno - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Número de passos por giro usando setas (padrão = 8: ângulo de giro = 360/8 = 45 graus) - + Corner Canto - + Corner where navigation cube is shown Canto onde o cubo de navegação é mostrado - + Top left Superior esquerdo - + Top right Superior direito - + Bottom left Inferior esquerdo - + Bottom right Inferior direito - + Rotates to nearest possible state when clicking a cube face Rotaciona ao estado mais próximo possível ao clicar em uma face do cubo - + Rotate to nearest Girar para o mais próximo - + Font name: Nome da fonte: - + Font name of the navigation cube Nome da fonte do cubo de navegação - + Default Padrão - + Cube size Tamanho do cubo - + Size of the navigation cube Tamanho do cubo de navegação - + Color Cor - + Base color for all elements Cor base para todos os elementos - + 3D Navigation Navegação 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Mostra as configurações dos botões do mouse para cada configuração de navegação escolhida. Selecione um conjunto e, em seguida, pressione o botão para visualizar as referidas configurações. - + Mouse... Mouse... - + Navigation settings set Configurações de navegação definidas - + Orbit style Estilo de orbita - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4783,116 +4088,116 @@ Girarmesa a parte será girada em torno do eixo z (com eixos limitados). Girarmesa livre: a parte será girada em torno do eixo z. - + Turntable Plataforma - + Trackball Trackball - + Free Turntable Girarmesa Livre - + Rotation mode Modo de rotação - + Rotations in 3D will use current cursor position as center for rotation Rotações de câmera usarão a posição atual do cursor como centro de rotação - + Window center Centro da janela - + Drag at cursor Arraste no cursor - + Object center Centro do objeto - + Default camera orientation Orientação padrão da câmera - + Default camera orientation when creating a new document or selecting the home view Orientação padrão da câmera ao criar um novo documento ou selecionar a vista inicial - + Camera zoom Zoom da Câmera - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Define o zoom da câmera para novos documentos. O valor é o diâmetro de uma esfera que caberia na tela. - + mm mm - + Enable animated rotations Habilitar rotações animadas - + Enable animation Habilitar animação - + Zoom operations will be performed at position of mouse pointer Operações de zoom serão realizadas a partir da posição do cursor do mouse - + Zoom at cursor Zoom no cursor - + Zoom step Aumento do zoom - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Quanto será ampliado. O intervalo de ampliação '1' significa um fator de 7,5 para cada intervalo. - + Direction of zoom operations will be inverted A direção das operações de zoom será invertida - + Invert zoom Inverter o zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4901,57 +4206,67 @@ Afeta somente o estilo de navegação por gesto. A inclinação do mouse não está afetada por esta configuração. - + Disable touchscreen tilt gesture Desativar o gesto de inclinação da tela sensível ao toque - + + Show the rotation center when dragging. + Mostrar o centro de rotação quando arrastar. + + + + Enable rotation center indication + Ativar indicação do centro de rotação + + + Isometric Isométrico - + Dimetric Diamétrico - + Trimetric Trimétrico - + Top Topo - + Front Frente - + Left Esquerda - + Right Direito - + Rear Traseira - + Bottom De baixo - + Custom Personalizado @@ -4959,43 +4274,43 @@ A inclinação do mouse não está afetada por esta configuração. Gui::Dialog::DlgSettingsPythonConsole - + Python console Console Python - + Settings Configurações - + Words will be wrapped when they exceed available horizontal space in Python console As palavras serão acomodadas se excederem o espaço horizontal do console Python - + Enable word wrap Permitir quebra de linha - + The cursor shape will be a block A forma do cursor será um bloco - + Enable block cursor Habilitar cursor de bloco - + Saves Python history across sessions Salvar histórico do Python em sessões - + Save history Salvar o histórico @@ -5003,17 +4318,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Seleção - + + Enable preselection, highlighted with specified color + Ativar pré-seleção, destaque com cor específica + + + + Enable preselection + Ativar pré-seleção + + + + Enable selection, highlighted with specified color + Ativar seleção, destaque em cor específica + + + + Enable selection + Ativar seleção + + + Pick radius (px): Raio do Ponteiro (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5021,27 +4356,27 @@ Larger value eases to pick things, but can make small features impossible to sel Valores maiores facilitam a seleção, mas podem impedir a seleção de objetos menores. - + Auto switch to the 3D view containing the selected item Ir automaticamente para a vista 3D que contém o item selecionado - + Auto expand tree item when the corresponding object is selected in 3D view Expande automaticamente o item na árvore quando o objeto correspondente for selecionado na vista 3D - + Preselect the object in 3D view when mouse over the tree item Pré-selecionar o objeto na vista 3D quando o mouse passa sobre o item na árvore - + Record selection in tree view in order to go back/forward using navigation button Lembrar a seleção na árvore para voltar/avançar usando os botões de navegação - + Add checkboxes for selection in document tree Adicionar caixas de seleção para seleção na árvore do documento @@ -5049,147 +4384,122 @@ Valores maiores facilitam a seleção, mas podem impedir a seleção de objetos Gui::Dialog::DlgSettingsViewColor - + Colors Cores - - Selection - Seleção - - - - Enable preselection and highlight by specified color - Ativar a pré-seleção e destaque por cor especificada - - - - Enable preselection highlighting - Habilitar o enfoque de preseleção - - - - Enable selection highlighting and use specified color - Habilitar seleção de realce e usar cor especificada - - - - Enable selection highlighting - Habilitar o enfoque da seleção - - - + Background color for the model view Cor de fundo para a vista 3D - + Background color Cor de fundo - - + + Background will have selected color Fundo terá a cor selecionada - + Simple color Cor simples - - + + Background will have selected color gradient O fundo terá o gradiente de cor selecionado - + Linear gradient Gradiente linear - + Radial gradient Gradiente radial - - + + Top: Topo: - - + + Middle: Meio: - + Switches the colors of the gradient Alterna as cores do gradiente - + Switch Alternar - + Color gradient will get selected color as middle color A cor do gradiente usará a cor selecionada como cor do meio - + Middle color Cor intermediária - - + + Bottom: Embaixo: - + Tree view Exibição em árvore - + Object being edited Objeto sendo editado - + Background color for objects in tree view that are currently edited Cor de fundo para objetos na exibição em árvore que estão sendo editados - + Active container Recipiente ativo - + Background color for active containers in tree view Cor de fundo para contêineres ativos na árvore - + Central: Centro: - + Midway: Metade: - + End: Fim: @@ -5301,12 +4611,12 @@ O sistema de preferências é aquele que está configurado nas preferências ger Gui::Dialog::DlgUnitsCalculator - + unknown unit: unidade desconhecida: - + unit mismatch incompatibilidade de unidade @@ -5314,7 +4624,7 @@ O sistema de preferências é aquele que está configurado nas preferências ger Gui::Dialog::DockablePlacement - + Placement Posicionamento @@ -5364,60 +4674,60 @@ The 'Status' column shows whether the document could be recovered. Ainda não recuperado - + Unknown problem occurred Ocorreu um problema desconhecido - - + + Failed to recover Falha ao recuperar - + Successfully recovered Recuperado com sucesso - + Finish Concluir - - + + Delete Excluir - - + + Cleanup Limpeza - + Are you sure you want to delete the selected transient directories? Tem certeza que deseja excluir os diretórios temporários selecionados? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Ao excluir o diretório temporário selecionado, não será mais possível recuperar os arquivos contidos nele depois. - + Are you sure you want to delete all transient directories? Tem certeza que deseja excluir todos os diretórios temporários? - + When deleting all transient directories you won't be able to recover any files afterwards. Ao excluir todos os diretórios temporários, não será possível recuperar nenhum arquivo depois. - + Transient directories deleted. Diretórios temporários excluídos. @@ -5541,7 +4851,7 @@ The 'Status' column shows whether the document could be recovered. Pastas de ícones - + Add icon folder Adicionar uma pasta de ícones @@ -5554,12 +4864,12 @@ The 'Status' column shows whether the document could be recovered. Adicionar ou remover pastas de ícones personalizados - + Remove folder Remover pasta - + Removing a folder only takes effect after an application restart. Remover uma pasta só entrará em vigor depois de reiniciar o aplicativo. @@ -5629,79 +4939,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Expandir - + Add sub-group Adicionar sub-grupo - - + + Remove group Remover grupo - + Rename group Renomear grupo - + Export parameter Parâmetros de exportação - + Import parameter Parâmetros de importação - + Collapse Recolher - + Do you really want to remove this parameter group? Você realmente deseja remover este grupo de parâmetros? - + Existing sub-group Subgrupo existente - + The sub-group '%1' already exists. O subgrupo '%1' já existe. - + Export parameter to file Exportar parâmetros para arquivo - + Import parameter from file Importar parâmetros de arquivo - + Import Error Erro de importação - + Reading from '%1' failed. Leitura de '1%' falhou. @@ -5709,65 +5019,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Mudar o valor - + Remove key Remover a chave - + Rename key Renomear a chave - + New Novo - + New string item Novo item string - + New float item Novo item float - + New integer item Novo item inteiro - + New unsigned item Novo item unsigned - + New Boolean item Novo item booleano - - - - - + + + + + Existing item Item existente - - - - - + + + + + The item '%1' already exists. O item '%1' já existe. @@ -5913,17 +5223,17 @@ The 'Status' column shows whether the document could be recovered. Aplicar - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Por favor, selecione 1, 2 ou 3 pontos antes de clicar neste botão. Um ponto pode estar em um vértice, face ou aresta. Se em uma face ou borda, o ponto usado será o ponto na posição do mouse ao longo da face ou da borda. Se 1 ponto for selecionado, ele será usado como centro de rotação. Se 2 pontos forem selecionados, o ponto médio entre eles será o centro de rotação e um novo eixo personalizado será criado, se necessário. Se 3 pontos são selecionados, o primeiro ponto se torna o centro de rotação e fica no vetor que é normal ao plano definido pelos 3 pontos. Algumas informações de distância e ângulo são fornecidas na visão do relatório, o que pode ser útil ao alinhar objetos. Para sua conveniência, quando Shift + clique é usado, a distância ou ângulo apropriado é copiado para a área de transferência. - + Incorrect quantity Quantidade incorreta - + There are input fields with incorrect input, please ensure valid placement values! Existem campos com valor incorreto, por favor, certifique-se de usar valores de posicionamento válidos! @@ -5931,12 +5241,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Botão - + Command Comando @@ -6000,17 +5310,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Árvore do Inventor - + Name Nome - + Nodes Nós @@ -6066,14 +5376,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Cancelar - - + + Transform Transformar @@ -6171,13 +5481,13 @@ originalmente selecionados antes de abrir esta caixa de diálogo - + Model Modelo - + Tasks Tarefas @@ -6185,7 +5495,7 @@ originalmente selecionados antes de abrir esta caixa de diálogo Gui::DockWnd::PropertyDockView - + Property View Tela de propriedades @@ -6193,82 +5503,82 @@ originalmente selecionados antes de abrir esta caixa de diálogo Gui::DockWnd::ReportOutput - + Options Opções - + Display message types Exibir tipos de mensagem - - + + Normal messages Mensagens normais - - + + Log messages Mensagens de log - - + + Warnings Advertências - - + + Errors Erros - - + + Critical messages Mensagens críticas - + Show Report view on Mostrar visualização de relatório em - + Redirect Python output Redirecionar a saída de Python - + Redirect Python errors Redirecionar erros de Python - + Go to end Ir para o fim - + Clear Limpar - + Save As... Salvar como... - + Save Report Output Salvar o relatório - + Plain Text Files Arquivos de texto sem formatação @@ -6277,13 +5587,13 @@ originalmente selecionados antes de abrir esta caixa de diálogo Gui::DockWnd::ReportView - + Output Saída - + Python console Console Python @@ -6321,72 +5631,72 @@ originalmente selecionados antes de abrir esta caixa de diálogo Lista de objetos escolhidos - + Select only Selecionar somente este - + Selects only this object Seleciona apenas este objeto - + Deselect Deselecionar - + Deselects this object Deseleciona este objeto - + Zoom fit Enquadrar - + Selects and fits this object in the 3D window Seleciona e enquadra este objeto na janela 3D - + Go to selection Ir para a seleção - + Selects and locates this object in the tree view Seleciona e localiza este objeto na árvore - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marcar este objeto para ser recalculado - + To python console Para o console python - + Reveals this object and its subelements in the python console. Mostrar este objeto e seus subelementos no console python. - + Duplicate subshape Duplicar subelemento - + Creates a standalone copy of this subshape in the document Cria uma cópia independente deste subelemento no documento @@ -6399,7 +5709,7 @@ originalmente selecionados antes de abrir esta caixa de diálogo Programa - + Labels & Attributes Rótulos & atributos @@ -6447,27 +5757,27 @@ Deseja salvar as alterações? Arquivo PDF - + untitled[*] sem título[*] - + - Editor - Editor - + %1 chars removed %1 caracteres removidos - + %1 chars added %1 caracteres adicionados - + Formatted Formatado @@ -6491,13 +5801,13 @@ Deseja salvar as alterações? Gui::FileChooser - - + + Select a file Selecione um arquivo - + Select a directory Selecione um diretório @@ -6505,13 +5815,13 @@ Deseja salvar as alterações? Gui::FileDialog - + Save as Salvar como - - + + Open Abrir @@ -6519,12 +5829,12 @@ Deseja salvar as alterações? Gui::FileOptionsDialog - + Extended Extendido - + All files (*.*) Todos os arquivos (*.*) @@ -6532,27 +5842,27 @@ Deseja salvar as alterações? Gui::Flag - + Top left Superior esquerdo - + Bottom left Inferior esquerdo - + Top right Superior direito - + Bottom right Inferior direito - + Remove Remover @@ -6560,22 +5870,22 @@ Deseja salvar as alterações? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Toque ou clique com o botão esquerdo do mouse. - + Drag screen with two fingers OR press right mouse button. Arraste com dois dedos no monitor, ou pressione o botão direito do rato. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Arraste a tela com um dedo OU pressione o botão esquerdo do mouse. Em outros modos de edição ou no Sketcher, pressione também Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pinçar (Coloque dois dedos na tela e arraste-os afastando/aproximando um do outro) OU o botão de rolagem do mouse OU PgUp/PgDown no teclado. @@ -6583,74 +5893,74 @@ Deseja salvar as alterações? Gui::GraphvizView - + Graphviz not found Graphviz não encontrado - + Graphviz couldn't be found on your system. Não foi possível encontrar o Graphviz em seu sistema. - + Read more about it here. Leia mais sobre isso. - + Do you want to specify its installation path if it's already installed? Deseja especificar seu caminho de instalação, caso já esteja instalado? - + Graphviz installation path Caminho da instalação do Graphviz - + Graphviz failed Falha no Graphviz - + Graphviz failed to create an image file O Graphviz falhou ao criar um arquivo de imagem - + PNG format Formato PNG - + Bitmap format Formato de bitmap - + GIF format Formato GIF - + JPG format Formato JPG - + SVG format Formato SVG - - + + PDF format Formato PDF - - + + Export graph Exportar gráfico @@ -6658,12 +5968,12 @@ Deseja salvar as alterações? Gui::InputField - + Edit Editar - + Save value Salvar o valor @@ -6671,22 +5981,22 @@ Deseja salvar as alterações? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Pressione Ctrl e o botão esquerdo do mouse - + Press middle mouse button Pressione o botão do meio do mouse - + Press left mouse button Pressione o botão esquerdo do mouse - + Scroll middle mouse button Role a roda do mouse @@ -6694,7 +6004,7 @@ Deseja salvar as alterações? Gui::LabelEditor - + List Lista @@ -6702,66 +6012,66 @@ Deseja salvar as alterações? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definido pelo usuário... - + - - + + Wrong direction Direção errada - + - - + + Direction must not be the null vector Direção não pode ser um vector nulo @@ -6769,22 +6079,22 @@ Deseja salvar as alterações? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direção: @@ -6792,17 +6102,17 @@ Deseja salvar as alterações? Gui::MacroCommand - + Macros Macros - + Macro file doesn't exist Arquivo de macro não existe - + No such macro file: '%1' Não existe tal arquivo de macro: '%1' @@ -6810,63 +6120,73 @@ Deseja salvar as alterações? Gui::MainWindow - - + + Dimension Dimensão - + Ready Pronto - + Help addon needed! Add-on de ajuda é necessário! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager O sistema de ajuda do %1 agora é tratado pela extensão "Ajuda". Ele pode ser facilmente instalado através do Gerenciador de Complementos - + Open Addon Manager Abrir o Gestor de Add-ons - + Close All Fechar tudo - - + + Toggles this toolbar Alterna esta barra de ferramentas - - + + Toggles this dockable window Alterna esta janela acoplável - - + + WARNING: This is a development version. + AVISO: esta é uma versão em desenvolvimento. + + + + Please do not use in a production environment. + Por favor, não use em ambiente de produção. + + + + Unsaved document Documento não salvo - + The exported object contains external link. Please save the documentat least once before exporting. O objeto exportado contém links externos. Salve o documento pelo menos uma vez antes de exportar. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Para vincular a objetos externos, o documento deve ser salvo pelo menos uma vez. @@ -6876,63 +6196,63 @@ Deseja salvar o documento agora? Gui::ManualAlignment - - - - - + + + + + Manual alignment Alinhamento manual - + The alignment is already in progress. O alinhamento já está em progresso. - + Alignment[*] Alinhamento[*] - + Please, select at least one point in the left and the right view Por favor, selecione pelo menos um ponto nos lados esquerdo e direito - + Please, select at least %1 points in the left and the right view Por favor, selecione pelo menos %1 pontos nos lados esquerdo e direito - + Please pick points in the left and right view Por favor, selecione pontos dos lados direito e esquerdo - + The alignment has finished O alinhamento foi finalizado - + The alignment has been canceled O alinhamento foi cancelado - - + + Too few points picked in the left view. At least %1 points are needed. Muitos pontos selecionados no lado esquerdo. São necessários pelo menos %1 pontos. - - + + Too few points picked in the right view. At least %1 points are needed. Muitos pontos selecionados no lado direito. Pelo menos %1 pontos são necessários. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6941,59 +6261,59 @@ No lado esquerdo foram selecionado %1 e, no lado direito foram selecionados %2. - + Try to align group of views Tente alinhar o grupo de visualização - + The alignment failed. How do you want to proceed? O alinhamento falhou. Deseja prosseguir? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Diferentes números de pontos selecionados no lado esquerdo e direito. No lado esquerdo foram selecionados %1 pontos e, no lado direito foram selecionados %2 pontos. - + Point_%1 Ponto_%1 - + Point picked at (%1,%2,%3) Ponto (%1,%2,%3) escolhido - + No point was found on model Nenhum ponto foi encontrado no modelo - + No point was picked Nenhum ponto foi escolhido - + &Align &Alinhar - + &Remove last point &Remover último ponto - + &Cancel &Cancelar - + &Synchronize views &Sincronizar vistas @@ -7001,22 +6321,22 @@ Deseja prosseguir? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Toque ou clique com o botão esquerdo do mouse. - + Drag screen with two fingers OR press ALT + middle mouse button. Arraste a tela com os dois dedos ou pressione ALT + botão central do mouse. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Arraste a tela com um dedo. Ou pressione o botão esquerdo do mouse. No esboço (Sketcher) e em outros modos de edição, pressione 'Alt' simultaneamente. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Belisque (Coloque dois dedos na tela e arraste-os separados um do outro). Ou o use o botão de rolagem central do mouse. Ou pressione ALT + botão direito do mouse. Ou PgUp/PgDown no teclado. @@ -7024,7 +6344,7 @@ Deseja prosseguir? Gui::ModifierLineEdit - + Press modifier keys Pressione as teclas modificadoras @@ -7040,22 +6360,22 @@ Deseja prosseguir? Gui::OpenCascadeNavigationStyle - + Press left mouse button Pressione o botão esquerdo do mouse - + Press CTRL and middle mouse button Pressione CTRL e o botão do meio do mouse - + Press CTRL and right mouse button Pressione CTRL e o botão direito do mouse - + Press CTRL and left mouse button Pressione Ctrl e o botão esquerdo do mouse @@ -7063,22 +6383,22 @@ Deseja prosseguir? Gui::OpenSCADNavigationStyle - + Press left mouse button Pressione o botão esquerdo do mouse - + Press right mouse button and move mouse Pressione o botão direito do mouse e mova-o - + Press left mouse button and move mouse Pressione o botão esquerdo do mouse e mova-o - + Press middle mouse button or SHIFT and right mouse button Pressione o botão do meio do mouse ou aperte SHIFT e pressione o botão direito do mouse @@ -7086,17 +6406,17 @@ Deseja prosseguir? Gui::PrefQuantitySpinBox - + Edit Editar - + Save value Salvar o valor - + Clear list Limpar lista @@ -7127,12 +6447,12 @@ Deseja prosseguir? Restante: %1 - + Aborting Interrompendo - + Do you really want to abort the operation? Você realmente deseja abortar a operação? @@ -7140,7 +6460,7 @@ Deseja prosseguir? Gui::PropertyEditor::LinkLabel - + Change the linked object Mudar o objeto vinculado @@ -7148,12 +6468,12 @@ Deseja prosseguir? Gui::PropertyEditor::LinkSelection - + Error Erro - + Object not found Objeto não encontrado @@ -7224,13 +6544,13 @@ Deseja prosseguir? Gui::PropertyView - + View Vista - + Data Dados @@ -7277,77 +6597,77 @@ Do you want to exit without saving your data? Exceção desconhecida C++ não tratada. - + &Copy &Copiar - + &Copy command &Copiar comando - + &Copy history &Copiar histórico - + Save history as... Salvar histórico como... - + Save history Salvar o histórico - + Saves Python history across %1 sessions Salvar histórico do Python em %1 sessões - + &Paste Co&lar - + Select All Selecionar tudo - + Clear console Limpar console - + Insert file name... Insira o nome do arquivo... - + Word wrap Quebra de linha - + Save History Salvar histórico - + Macro Files Arquivos de macro - + Insert file name Insira o nome do arquivo - + All Files Todos os Arquivos @@ -7355,7 +6675,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Comentário @@ -7368,17 +6688,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Abrir o arquivo %1 - + File not found Arquivo não encontrado - + The file '%1' cannot be opened. Não é possível abrir o arquivo '%1'. @@ -7386,22 +6706,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none nenhum - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Executar macro %1 (Shift+clique para editar) atalho de teclado: %2 - + File not found Arquivo não encontrado - + The file '%1' cannot be opened. Não é possível abrir o arquivo '%1'. @@ -7409,22 +6729,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Pressione o botão esquerdo do mouse - + Press middle mouse button Pressione o botão do meio do mouse - + Press SHIFT and middle mouse button Pressione Shift e o botão do meio do mouse - + Scroll middle mouse button Role a roda do mouse @@ -7455,17 +6775,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Selecione o módulo - + Open %1 as Abrir %1 como - + Select Selecionar @@ -7530,13 +6850,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentação automática dos módulos python - - + + Opens a browser to show the Python modules documentation Abre um navegador para mostrar a documentação dos módulos Python @@ -7689,38 +7009,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Texto actualizado - + The text of the underlying object has changed. Discard changes and reload the text from the object? O texto do objeto incluído mudou. Cancelar mudanças e recarregar o texto do objeto? - + Yes, reload. Sim, recarregar. - + Unsaved document Documento não salvo - + Do you want to save your changes before closing? Deseja salvar suas alterações antes de fechar? - + If you don't save, your changes will be lost. Se você não for salvar, suas alterações serão perdidas. - - + + Edit text Editar texto @@ -7728,22 +7048,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Pressione o botão esquerdo do mouse - + Press middle mouse button Pressione o botão do meio do mouse - + Press right mouse button Pressione o botão direito do mouse - + Scroll middle mouse button Role a roda do mouse @@ -7751,22 +7071,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Pressione o botão esquerdo do mouse - + Press SHIFT button Aperte o Shift - + Press ALT button Pressione Alt - + Press CTRL and SHIFT buttons Pressione Ctrl e Shift @@ -7992,7 +7312,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Exibição em árvore @@ -8000,7 +7320,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Pesquisar @@ -8008,183 +7328,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Procurar... - + Search for objects Procurar por objetos - + Activate document Ativar o documento - + Activate document %1 Ativar o documento %1 - + Tree settings Configuração da árvore - + Show description column Mostrar coluna de descrição - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Exibe uma coluna extra de vista em árvore para a descrição do item. A descrição do item pode ser definida pressionando F2 (ou o botão editar do seu SO) ou editando a propriedade 'label2'. - + Group Grupo - + Labels & Attributes Rótulos & atributos - + Description Descrição - + Show items hidden in tree view Mostrar itens ocultos na vista em árvore - + Show items that are marked as 'hidden' in the tree view Exibir itens marcados como 'oculto' na visualização de árvore - + Toggle visibility in tree view Alternar visibilidade na exibição em árvore - + Toggles the visibility of selected items in the tree view Alterna a visibilidade dos itens selecionados na exibição em árvore - + Create group... Criar grupo... - + Create a group Criar um grupo - - + + Rename Renomear - + Rename object Renomear objeto - + Finish editing Concluir a edição - + Finish editing object Terminar de editar o objeto - + Add dependent objects to selection Adicionar objetos dependentes à seleção - + Adds all dependent objects to the selection Adicionar todos os objetos dependentes à seleção - + Close document Fechar documento - + Close the document Fechar o documento - + Reload document Recarregar documento - + Reload a partially loaded document Recarregar um documento parcialmente carregado - + Skip recomputes Pular recálculos - + Enable or disable recomputations of document Ativa/desativa o recálculo automático do documento - + Allow partial recomputes Permitir recálculos parciais - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Ativar ou desativar o recálculo do objeto editado quando a opção 'pular recálculo' estiver ativada - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marcar este objeto para ser recalculado - + Recompute object Recalcular o objeto - + Recompute the selected object Recalcula o objeto selecionado - + (but must be executed) (mas deve ser executado) - + %1, Internal name: %2 %1, Nome interno: %2 @@ -8215,12 +7535,12 @@ Do you want to specify another directory? Arquivo PDF - + Opening file failed Falha ao abrir arquivo - + Can't open file '%1' for writing. Não é possível abrir o arquivo '%1' para a gravação. @@ -8228,7 +7548,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Selecione a bancada de trabalho '%1' @@ -8236,37 +7556,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Serviços - + Hide %1 Ocultar %1 - + Hide Others Ocultar outros - + Show All Mostrar tudo - + Preferences... Preferências... - + Quit %1 Encerrar %1 - + About %1 Sobre %1 @@ -8286,11 +7606,6 @@ Do you want to specify another directory? Position - - - Form - Formulário - X: @@ -8385,14 +7700,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Entrada inválida - - + + Input in line %1 is not a number A entrada na linha %1 não é um número @@ -8400,37 +7715,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Exibição em árvore - + Property view Tela de propriedades - + Selection view Tela de seleção - + Combo View Tela combinada - + DAG View Vista DAG - + Report view Ver Relatório - + Python console Console Python @@ -8443,31 +7758,32 @@ Do you want to specify another directory? QObject - - + + General Geral - - + + + Display Tela - + Workbenches Bancadas de trabalho - - - + + + Python Python @@ -8495,17 +7811,27 @@ Do you want to specify another directory? Não é possível salvar em tipo de arquivo desconhecido: %1 - + Workbench failure Falha da bancada de trabalho - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Exceção @@ -8551,8 +7877,8 @@ Do you want to specify another directory? Exportar PDF... - + Unsaved document Documento não salvo @@ -8573,39 +7899,39 @@ Do you want to specify another directory? Erro de dependência - + Copy selected Copiar a seleção - + Copy active document Copiar documento ativo - + Copy all documents Copiar todos os documentos - + Paste Colar - + Expression error Erro de expressão - + Failed to parse some of the expressions. Please check the Report View for more details. Falha ao analisar algumas das expressões. Veja o painel de relatório para mais detalhes. - + Failed to paste expressions Falha ao colar expressões @@ -8639,224 +7965,224 @@ Be aware the point where you click matters. Por favor selecione dois objetos. Lembre-se o que ponto onde você clicar tem importância. - - + + Save views... Salvar vistas... - - + + Load views... Carregar vistas... - - + + Freeze view Congelar a vista - - + + Clear views Limpar vistas - - - + + + Restore view &%1 Restaurar a vista &%1 - + Save frozen views Salvar vistas congeladas - - + + Frozen views Vistas paralizadas (estáticas) - - + + Restore views Restaurar vistas - + Importing the restored views would clear the already stored views. Do you want to continue? Importar vistas restauradas irá descartar vistas já armazenadas. Deseja continuar? - + Restore frozen views Restaurar vistas congeladas - + Cannot open file '%1'. Não é possível abrir o arquivo '%1'. - + files arquivos - + Save image Salvar imagem - + Choose an image file to open Escolha um arquivo de imagem para abrir - + New sub-group Novo subgrupo - - - - - - + + + + + + Enter the name: Digite o nome: - - + + New text item Novo item de texto - - + + Enter your text: Digite o texto: - - + + New integer item Novo item inteiro - - - - - - + + + + + + Enter your number: Digite seu número: - - + + New unsigned item Novo item unsigned - - + + New float item Novo item float - + New Boolean item Novo item booleano - - + + Choose an item: Escolha um item: - + New boolean item Novo item booleano - + Rename group Renomear grupo - + The group '%1' cannot be renamed. O grupo '%1' não pode ser renomeado. - + Existing group Grupo existente - + The group '%1' already exists. O grupo '%1' já existe. - - - - - + + + + + Change value Mudar o valor - + Type Tipo - + Notifier Notificador - + Message Mensagem - + Notifier: Notificador: - + Do you want to skip confirmation of further critical message notifications while loading the file? Você deseja pular a confirmação de novas notificações de mensagens críticas ao carregar o arquivo? - + Critical Message Mensagem Crítica - + Too many opened non-intrusive notifications. Notifications are being omitted! Muitas notificações não intrusivas abertas. Notificações estão sendo omitidas! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8865,44 +8191,44 @@ Do you want to continue? - + Are you sure you want to continue? Tem certeza que deseja continuar? - + Please check report view for more... Por favor, verifique o relatório de visualização para mais... - + Physical path: Caminho físico: - - + + Document: Documento: - - + + Path: Caminho: - + Identical physical path Caminho físico idêntico - + Could not save document Não foi possível salvar o documento - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8915,102 +8241,102 @@ Would you like to save the file with a different name? Salvar o arquivo com um nome diferente? - - - + + + Saving aborted Salvamento abortado - + Save dependent files Salvar arquivos dependentes - + The file contains external dependencies. Do you want to save the dependent files, too? O arquivo contém dependências externas. Deseja também salvar os arquivos dependentes? - - + + Saving document failed Falha ao salvar documento - + Save document under new filename... Salvar documento sob novo nome ... - - + + Save %1 Document Salvar documento %1 - + Document Documento - - + + Failed to save document Falha ao salvar o documento - + Documents contains cyclic dependencies. Do you still want to save them? Os documentos contêm dependências cíclicas. Deseja salvá-los mesmo assim? - + Save a copy of the document under new filename... Salve uma cópia do documento com um novo nome de arquivo... - + %1 document (*.FCStd) documento %1 (*.FCStd) - + Document not closable O documento não pode ser fechado - + The document is not closable for the moment. O documento não pode ser fechado neste momento. - + Document not saved Documento não salvo - + The document%1 could not be saved. Do you want to cancel closing it? O documento%1 não pode ser salvo. Cancelar o fechamento? - + Undo Desfazer - + Redo Refazer - + There are grouped transactions in the following documents with other preceding transactions Existem transações agrupadas com outras transações anteriores nos seguintes documentos - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9024,95 +8350,95 @@ Escolha 'Abortar' para cancelar Salvar macro - - + + Finish Concluir - - + + Clear Limpar - - - + + + Cancel Cancelar - + Inner Interno - + Outer Externo - + Split Separar - - + + No Browser Nenhum navegador - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. Não é possível abrir o navegador. Por favor, abra uma janela do navegador e digite: http://localhost:%1. - + No Server Nenhum servidor - + Unable to start the server to port %1: %2. Não é possível iniciar o servidor na porta %1: %2. - + Unable to open your system browser. Não é possível abrir o navegador do sistema. - + Options... Opções... - + Out of memory Memória insuficiente - + Not enough memory available to display the data. Não há memória suficiente para exibir os dados. - - + + Cannot find file %1 Não foi possível encontrar o arquivo '%1' - + Cannot find file %1 neither in %2 nor in %3 Não é possível encontrar o arquivo %1 nem em %2, nem em %3 - + Navigation styles Estilos de navegação @@ -9122,8 +8448,8 @@ Please open a browser window and type in: http://localhost:%1. Mover a anotação - - + + Transform Transformar @@ -9133,42 +8459,42 @@ Please open a browser window and type in: http://localhost:%1. Deseja fechar este diálogo? - + Do you want to save your changes to document '%1' before closing? Deseja salvar as alterações no documento '%1' antes de fechar? - + Do you want to save your changes to document before closing? Deseja salvar suas alterações no documento antes de fechar? - + If you don't save, your changes will be lost. Se você não for salvar, suas alterações serão perdidas. - + Apply answer to all Aplicar esta resposta a todos - + %1 Document(s) not saved %1 Documento(s) não foram salvos - + Some documents could not be saved. Do you want to cancel closing? Alguns documentos não puderam ser salvos. Cancelar o fechamento? - + Delete macro Excluir macro - + Not allowed to delete system-wide macros Não é permitido excluir macros do sistema @@ -9178,27 +8504,27 @@ Please open a browser window and type in: http://localhost:%1. Origem - + Delete group content? Excluir conteúdo do grupo? - + The %1 is not empty, delete its content as well? %1 não está vazio. Excluir seu conteúdo também? - + Translation: Translação: - + Rotation: Rotação: - + Toggle active part Alternar peça ativa @@ -9261,88 +8587,88 @@ Please open a browser window and type in: http://localhost:%1. Falha ao importar todos os vínculos - - + + Invalid name Nome inválido - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. O nome da propriedade ou nome de grupo só deve conter números, letras, ou underscore e não deve começar com um número. - + The property '%1' already exists in '%2' A propriedade '%1' já existe em '%2' - + Add property Adicionar propriedade - + Failed to add property to '%1': %2 Falha ao adicionar uma propriedade a '%1': %2 - - + + Drag & drop failed Arrastar & soltar falhou - + Setup configurable object Ajustar objeto configurável - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Selecione qual objeto copiar ou excluir quando houver alterações na configuração. Todos os objetos externos vinculados são excluídos por padrão. - + Please select which objects to copy when the configuration is changed Por favor, selecione quais objetos serão copiados quando a configuração for alterada - + Apply to all Aplicar a todos - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Aplica a configuração para todos os links. Ou, desmarque esta opção para aplicar somente a este link. - + Copy on change Copiar ao alterar - + Enable Ativar - + Enable auto copy of linked object when its configuration is changed Habilita a cópia automática do objeto vinculado quando sua configuração é alterada - + Tracking Rastreamento - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9351,17 +8677,17 @@ Também refaz automaticamente a cópia se o objeto original vinculado for altera - + Disable copy on change Desativar cópia ao allterar - + Refresh configurable object Atualizar o objeto configurável - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9372,28 +8698,28 @@ cópia atual será perdida. - + Toggle array elements Ativar/Desativar elementos do array - + Change whether show each link array element as individual objects Alterna se mostra cada elemento do array de links como objetos individuais - + Transform at the origin of the placement Transformar na origem do posicionamento - - + + Override colors... Substituir cores... - + Edit %1 Editar %1 @@ -9416,12 +8742,12 @@ cópia atual será perdida. SelectionFilter - + Not allowed: Não é permitido: - + Selection not allowed by filter Seleção não permitida pelo filtro @@ -9429,9 +8755,9 @@ cópia atual será perdida. StdBoxElementSelection - - - + + + Box element selection Seleção do elementos por caixa @@ -9439,13 +8765,13 @@ cópia atual será perdida. StdBoxSelection - + Box selection Caixa de seleção - - + + Activate the box selection tool Ativar ferramenta de seleção de caixa @@ -9523,13 +8849,13 @@ cópia atual será perdida. StdCmdAxisCross - + Toggle axis cross Ligar/desligar símbolo de eixos - - + + Turns on or off the axis cross at the origin Liga ou desliga o cruzamento de eixo na origem @@ -9635,13 +8961,13 @@ cópia atual será perdida. StdCmdDemoMode - + View turntable... Vista turntable... - - + + View turntable Vista turntable @@ -9761,13 +9087,13 @@ cópia atual será perdida. StdCmdDrawStyle - + Draw style Estilo de desenho - - + + Change the draw style of the objects Mudar o estilo de representação dos objetos @@ -9831,13 +9157,13 @@ cópia atual será perdida. StdCmdExpression - + Expression actions Ações de expressão - - + + Actions that apply to expressions Ações que se aplicam às expressões @@ -9954,13 +9280,13 @@ cópia atual será perdida. StdCmdFreezeViews - + Freeze display Congelar exibição - - + + Freezes the current view position Congela o ponto de vista atual @@ -9981,13 +9307,13 @@ cópia atual será perdida. StdCmdHideObjects - + Hide all objects Ocultar todos os objetos - - + + Hide all objects in the document Ocultar todos os objetos do documento @@ -9995,13 +9321,13 @@ cópia atual será perdida. StdCmdHideSelection - + Hide selection Ocultar seleção - - + + Hide all selected objects Ocultar todos os objetos selecionados @@ -10275,13 +9601,13 @@ cópia atual será perdida. StdCmdMeasureDistance - + Measure distance Medir distância - - + + Activate the distance measurement tool Ativar a ferramenta de medição de distância @@ -10340,8 +9666,8 @@ cópia atual será perdida. Criar um novo documento vazio - - + + Unnamed Sem nome @@ -10569,8 +9895,8 @@ cópia atual será perdida. StdCmdRecentFiles - Recent files - Arquivos recentes + Open Recent + Aberto recentemente @@ -10708,13 +10034,13 @@ cópia atual será perdida. StdCmdSceneInspector - + Scene inspector... Inspetor de cena... - - + + Scene inspector Inspetor de cena @@ -10722,13 +10048,13 @@ cópia atual será perdida. StdCmdSelBack - + &Back &Voltar - - + + Go back to previous selection Voltar para a seleção anterior @@ -10736,13 +10062,13 @@ cópia atual será perdida. StdCmdSelBoundingBox - + &Bounding box &Caixa delimitadora - - + + Show selection bounding box Mostrar caixa delimitadora da seleção @@ -10750,13 +10076,13 @@ cópia atual será perdida. StdCmdSelForward - + &Forward &Avançar - - + + Repeat the backed selection Repetir a seleção salva @@ -10778,13 +10104,13 @@ cópia atual será perdida. StdCmdSelectVisibleObjects - + Select visible objects Selecionar objetos visíveis - - + + Select visible objects in the active document Selecionar objetos visíveis no documento ativo @@ -10806,13 +10132,13 @@ cópia atual será perdida. StdCmdSetAppearance - + Appearance... Aparência... - - + + Sets the display properties of the selected object Define as propriedades de exibição do objeto selecionado @@ -10820,13 +10146,13 @@ cópia atual será perdida. StdCmdShowObjects - + Show all objects Mostrar todos os objectos - - + + Show all objects in the document Mostrar todos os objetos do documento @@ -10834,13 +10160,13 @@ cópia atual será perdida. StdCmdShowSelection - + Show selection Exibir seleção - - + + Show all selected objects Mostrar todos os objetos selecionados @@ -10876,13 +10202,13 @@ cópia atual será perdida. StdCmdTextureMapping - + Texture mapping... Mapeamento de textura... - - + + Texture mapping Mapeamento de textura @@ -10918,13 +10244,13 @@ cópia atual será perdida. StdCmdToggleClipPlane - + Clipping plane Plano de clipping - - + + Toggles clipping plane for active view Alterna plano de clipping da vista ativa @@ -10932,13 +10258,13 @@ cópia atual será perdida. StdCmdToggleNavigation - + Toggle navigation/Edit mode Alternar o modo de navegação/modo de edição - - + + Toggle between navigation and edit mode Alternar entre o modo de edição e navegação @@ -10946,13 +10272,13 @@ cópia atual será perdida. StdCmdToggleObjects - + Toggle all objects Alternar todos os objetos - - + + Toggles visibility of all objects in the active document Alterna a visibilidade de todos os objetos do documento ativo @@ -10960,13 +10286,13 @@ cópia atual será perdida. StdCmdToggleSelectability - + Toggle selectability Alternar seletibilidade - - + + Toggles the property of the objects to get selected in the 3D-View Alterna a possibilidade dos objetos serem selecionados na vista 3D @@ -10974,13 +10300,13 @@ cópia atual será perdida. StdCmdToggleVisibility - + Toggle visibility Mudar visibilidade - - + + Toggles visibility Troca a visibilidade @@ -11030,13 +10356,13 @@ cópia atual será perdida. StdCmdTreeCollapse - + Collapse selected item Recolher item selecionado - - + + Collapse currently selected tree items Recolher itens selecionados na árvore @@ -11044,13 +10370,13 @@ cópia atual será perdida. StdCmdTreeExpand - + Expand selected item Expandir item selecionado - - + + Expand currently selected tree items Expandir itens selecionados na árvore @@ -11058,13 +10384,13 @@ cópia atual será perdida. StdCmdTreeSelectAllInstances - + Select all instances Selecionar todas as instâncias - - + + Select all instances of the current selected object Selecionar todas as instâncias do objeto selecionado @@ -11072,13 +10398,13 @@ cópia atual será perdida. StdCmdTreeViewActions - + TreeView actions Ações de Exibição em Árvore - - + + TreeView behavior options and actions Opções e ações da exibição em árvore @@ -11142,13 +10468,13 @@ cópia atual será perdida. StdCmdViewBottom - + Bottom De baixo - - + + Set to bottom view Vista inferior @@ -11156,13 +10482,13 @@ cópia atual será perdida. StdCmdViewCreate - + Create new view Criar uma nova vista - - + + Creates a new view window for the active document Cria uma nova vista para o documento ativo @@ -11170,13 +10496,13 @@ cópia atual será perdida. StdCmdViewDimetric - + Dimetric Diamétrico - - + + Set to dimetric view Mudar para perspectiva dimétrica @@ -11184,13 +10510,13 @@ cópia atual será perdida. StdCmdViewExample1 - + Inventor example #1 Exemplo Inventor #1 - - + + Shows a 3D texture with manipulator Mostra uma textura 3D com manipulador @@ -11198,13 +10524,13 @@ cópia atual será perdida. StdCmdViewExample2 - + Inventor example #2 Exemplo Inventor #2 - - + + Shows spheres and drag-lights Mostra esferas e luzes de arrasto @@ -11212,13 +10538,13 @@ cópia atual será perdida. StdCmdViewExample3 - + Inventor example #3 Exemplo Inventor #3 - - + + Shows a animated texture Mostra uma textura animada @@ -11226,13 +10552,13 @@ cópia atual será perdida. StdCmdViewFitAll - + Fit all Enquadrar tudo - - + + Fits the whole content on the screen Ajustar todo o conteúdo na tela @@ -11240,13 +10566,13 @@ cópia atual será perdida. StdCmdViewFitSelection - + Fit selection Enquadrar seleção - - + + Fits the selected content on the screen Ajustar o conteúdo selecionado na tela @@ -11254,13 +10580,13 @@ cópia atual será perdida. StdCmdViewFront - + Front Frente - - + + Set to front view Vista frontal @@ -11268,13 +10594,13 @@ cópia atual será perdida. StdCmdViewHome - + Home Vista inicial - - + + Set to default home view Definir como vista inicial padrão @@ -11282,13 +10608,13 @@ cópia atual será perdida. StdCmdViewIsometric - + Isometric Isométrico - - + + Set to isometric view Mudar para perspectiva isométrica @@ -11296,13 +10622,13 @@ cópia atual será perdida. StdCmdViewIvIssueCamPos - + Issue camera position Mostrar a posição da câmera - - + + Issue the camera position to the console and to a macro, to easily recall this position Mostrar a posição da câmera no console e numa macro, para recuperar facilmente essa posição @@ -11310,13 +10636,13 @@ cópia atual será perdida. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Colunas estéreo intercaladas - - + + Switch stereo viewing to Interleaved Columns Mudar de visualização stereo para Colunas Intercaladas @@ -11324,13 +10650,13 @@ cópia atual será perdida. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Linhas estéreo intercaladas - - + + Switch stereo viewing to Interleaved Rows Alternar visualização estéreo para linhas intercaladas @@ -11338,13 +10664,13 @@ cópia atual será perdida. StdCmdViewIvStereoOff - + Stereo Off Desligar estéreo - - + + Switch stereo viewing off Desligar o modo de visualização estéreo @@ -11352,13 +10678,13 @@ cópia atual será perdida. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Quad buffer estéreo - - + + Switch stereo viewing to quad buffer Alternar visualização estéreo para quad buffer @@ -11366,13 +10692,13 @@ cópia atual será perdida. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Estéreo vermelho/ciano - - + + Switch stereo viewing to red/cyan Alternar visualização estéreo vermelho/ciano @@ -11380,13 +10706,13 @@ cópia atual será perdida. StdCmdViewLeft - + Left Esquerda - - + + Set to left view Vista lateral esquerda @@ -11394,13 +10720,13 @@ cópia atual será perdida. StdCmdViewRear - + Rear Traseira - - + + Set to rear view Vista traseira @@ -11422,13 +10748,13 @@ cópia atual será perdida. StdCmdViewRight - + Right Direito - - + + Set to right view Vista lateral direita @@ -11436,13 +10762,13 @@ cópia atual será perdida. StdCmdViewRotateLeft - + Rotate Left Girar para esquerda - - + + Rotate the view by 90° counter-clockwise Gire a vista por 90° no sentido anti-horário @@ -11450,13 +10776,13 @@ cópia atual será perdida. StdCmdViewRotateRight - + Rotate Right Girar para direita - - + + Rotate the view by 90° clockwise Girar a vista por 90° no sentido horário @@ -11478,13 +10804,13 @@ cópia atual será perdida. StdCmdViewTop - + Top Topo - - + + Set to top view Vista superior @@ -11492,13 +10818,13 @@ cópia atual será perdida. StdCmdViewTrimetric - + Trimetric Trimétrico - - + + Set to trimetric view Mudar para perspectiva trimétrica @@ -11506,13 +10832,13 @@ cópia atual será perdida. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Estender a janela 3D FreeCAD para um Oculus Rift @@ -11576,13 +10902,13 @@ cópia atual será perdida. StdMainFullscreen - + Fullscreen Tela cheia - - + + Display the main window in fullscreen mode Exibir a janela principal em tela cheia @@ -11618,13 +10944,13 @@ cópia atual será perdida. StdRecallWorkingView - + Recall working view Revocar vista de trabalho - - + + Recall previously stored temporary working view Revocar vista de trabalho temporária previamente armazenada @@ -11632,13 +10958,13 @@ cópia atual será perdida. StdStoreWorkingView - + Store working view Guardar vista de trabalho - - + + Store a document-specific temporary working view Guardar uma vista de trabalho temporária específica do documento @@ -11646,13 +10972,13 @@ cópia atual será perdida. StdTreeCollapseDocument - + Collapse/Expand Recolher/Expandir - - + + Expand active document and collapse all others Expandir documento ativo e recolher todos os outros @@ -11660,12 +10986,12 @@ cópia atual será perdida. StdTreeDrag - + Initiate dragging Iniciar arrastamento - + Initiate dragging of current selected tree items Iniciar arrastamento dos itens selecionados da árvore @@ -11673,13 +10999,13 @@ cópia atual será perdida. StdTreeMultiDocument - + Multi document Multi-documento - - + + Display all documents in the tree view Exibir todos os documentos na exibição em árvore @@ -11687,12 +11013,12 @@ cópia atual será perdida. StdTreePreSelection - + Pre-selection Pré-seleção - + Preselect the object in 3D view when mouse over the tree item Pré-selecionar o objeto na vista 3D quando o mouse passa sobre o item na árvore @@ -11700,12 +11026,12 @@ cópia atual será perdida. StdTreeRecordSelection - + Record selection Gravar seleção - + Record selection in tree view in order to go back/forward using navigation button Lembrar a seleção na árvore para voltar/avançar usando os botões de navegação @@ -11713,13 +11039,13 @@ cópia atual será perdida. StdTreeSelection - + Go to selection Ir para a seleção - - + + Scroll to first selected item Vai para o primeiro item selecionado @@ -11727,13 +11053,13 @@ cópia atual será perdida. StdTreeSingleDocument - + Single document Documento único - - + + Only display the active document in the tree view Exibir apenas o documento ativo na exibição em árvore @@ -11741,12 +11067,12 @@ cópia atual será perdida. StdTreeSyncPlacement - + Sync placement Sincronizar posição - + Auto adjust placement on drag and drop objects across coordinate systems Ajustar posicionamento automaticamente ao arrastar e soltar objetos entre sistemas de coordenadas @@ -11754,12 +11080,12 @@ cópia atual será perdida. StdTreeSyncSelection - + Sync selection Sincronizar seleção - + Auto expand tree item when the corresponding object is selected in 3D view Expande automaticamente o item na árvore quando o objeto correspondente for selecionado na vista 3D @@ -11767,12 +11093,12 @@ cópia atual será perdida. StdTreeSyncView - + Sync view Sincronizar vista - + Auto switch to the 3D view containing the selected item Ir automaticamente para a vista 3D que contém o item selecionado @@ -11780,13 +11106,13 @@ cópia atual será perdida. StdViewBoxZoom - + Box zoom Zoom por caixa - - + + Activate the box zoom tool Ativar a ferramenta de caixa de zoom @@ -11794,13 +11120,13 @@ cópia atual será perdida. StdViewDock - + Docked Ancorado - - + + Display the active view either in fullscreen, in undocked or docked mode Mostrar a vista activa em tela cheia, em modo desencaixado ou encaixado @@ -11808,13 +11134,13 @@ cópia atual será perdida. StdViewDockUndockFullscreen - + Document window Janela do documento - - + + Display the active view either in fullscreen, in undocked or docked mode Mostrar a vista activa em tela cheia, em modo desencaixado ou encaixado @@ -11822,13 +11148,13 @@ cópia atual será perdida. StdViewFullscreen - + Fullscreen Tela cheia - - + + Display the active view either in fullscreen, in undocked or docked mode Mostrar a vista activa em tela cheia, em modo desencaixado ou encaixado @@ -11836,13 +11162,13 @@ cópia atual será perdida. StdViewScreenShot - + Save image... Salvar imagem... - - + + Creates a screenshot of the active view Cria uma captura de tela da vista activa @@ -11850,13 +11176,13 @@ cópia atual será perdida. StdViewUndock - + Undocked Desancorado - - + + Display the active view either in fullscreen, in undocked or docked mode Mostrar a vista activa em tela cheia, em modo desencaixado ou encaixado @@ -11864,13 +11190,13 @@ cópia atual será perdida. StdViewZoomIn - + Zoom In Ampliar - - + + Increase the zoom factor by a fixed amount Aumentar o fator de zoom em uma quantidade fixa @@ -11878,13 +11204,13 @@ cópia atual será perdida. StdViewZoomOut - + Zoom Out Reduzir - - + + Decrease the zoom factor by a fixed amount Diminuir o fator de zoom em uma quantidade fixa @@ -11919,72 +11245,72 @@ Tem certeza que deseja continuar? Std_DrawStyle - + As is Estilo padrão - + Normal mode Modo normal - + Points Pontos - + Points mode Modo pontos - + Wireframe Arame - + Wireframe mode Modo de arame - + Hidden line Linha oculta - + Hidden line mode Modo de linha oculta - + No shading Sem sombreamento - + No shading mode Modo sem sombreamento - + Shaded Sombreado - + Shaded mode Modo sombreado - + Flat lines Linhas planas - + Flat lines mode Modo linhas plana @@ -12047,32 +11373,32 @@ Deseja prosseguir mesmo assim? TreeParams - + Tree view item background. Only effective in overlay. Itens de fundo da exibição em árvore. Apenas eficaz em sobreposição. - + Tree view item background padding. Preenchimento de itens de fundo da exibição em árvore. - + Hide extra tree view column for item description. Ocultar coluna extra de exibição em árvore para descrição do item. - + Hide tree view scroll bar in dock overlay. Ocultar barra de rolagem da exibição em árvore na sobreposição de encaixe. - + Hide tree view header view in dock overlay. Ocultar cabeçalho da exibição em árvore na sobreposição de encaixe. - + Allow tree view columns to be manually resized. Permitir que as colunas de exibição em árvore sejam redimensionadas manualmente. @@ -12080,117 +11406,117 @@ Deseja prosseguir mesmo assim? Workbench - + &File &Arquivo - + &Edit &Editar - + Edit Editar - + Clipboard Área de transferência - + Workbench Bancada - + Structure Estrutura - + Standard views Vistas padrão - + Axonometric Axonométrica - + &Stereo E&stéreo - + &Zoom &Zoom - + Visibility Visibilidade - + &View &Vista - + &Tools &Ferramentas - + &Macro &Macro - + &Windows &Janelas - + &On-line help A&juda on-line - + &Help A&juda - + Help Ajuda - + File Arquivo - + Macro Macro - + View Vista - + Special Ops Operações especiais - + Link actions Ações de vínculos @@ -12198,12 +11524,12 @@ Deseja prosseguir mesmo assim? Gui::MDIView - + Export PDF Exportar PDF - + PDF file Arquivo PDF @@ -12211,195 +11537,189 @@ Deseja prosseguir mesmo assim? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Área de Notificação - + Settings Configurações - + The Notification area will appear in the status bar A área de notificação aparecerá na barra de status - + Enable Notification Area Ativar Área de Notificação - + Non-intrusive notifications will appear next to the notification area in the status bar Notificações não intrusivas aparecerão ao lado da área de notificação na barra de status - + Enable non-intrusive notifications Ativar notificações não-intrusivas - + Additional data sources Fontes de dados adicionais - + Errors intended for developers will appear in the notification area Erros destinados aos desenvolvedores aparecerão na área de notificação - + Debug errors Erros de depuração - + Warnings intended for developers will appear in the notification area Avisos destinados aos desenvolvedores vão aparecer na área de notificação - + Debug warnings Alertas de depuração - + Non-Intrusive Notifications Notificações não-intrusivas - + Minimum Duration: Duração Mínima: - + Maximum Duration: Duração Máxima: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duração durante a qual a notificação será exibida (a menos que os botões do mouse sejam clicados) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Duração mínima durante a qual a notificação será exibida (a menos que a notificação seja clicada) - + Maximum Number of Notifications: Número máximo de notificações: - + Maximum number of notifications that will be simultaneously present on the screen Número máximo de notificações que estará simultaneamente presente na tela - + Notification width: Largura da notificação: - + Width of the notification in pixels Largura da notificação em pixels - + Any open non-intrusive notifications will disappear when another window is activated Quaisquer notificações não intrusivas abertas desaparecerão quando outra janela for ativada - + Hide when other window is activated Ocultar quando outra janela estiver ativada - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Impedir que notificações não intrusivas apareçam quando a janela do FreeCAD não for a janela ativa - + Do not show when inactive Não mostrar quando inativo - + Message List Lista de Mensagens - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limitar o número de mensagens que serão mantidas na lista. Não há limite se for 0. - + Maximum Messages (0 = no limit): Máximo de Mensagens (0 = sem limite): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Remove as notificações do usuário da lista de mensagens após a duração máxima não intrusiva passar. - + Auto-remove User Notifications Remover automaticamente notificações de usuário - - - Activation of the Notification Area only takes effect after an application restart. - Ativação da área de notificação só entra em vigor após o reinício do aplicativo. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Bancadas de trabalho disponíveis - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Você pode reordenar as bancadas de trabalho arrastando e soltando. Bancadas de trabalho adicionais podem ser instaladas através do gerenciador de addon.</p><p> Atualmente, o seu sistema tem as seguintes bancadas de trabalho:</p></body></html> - + Start up workbench: Iniciar bancada de trabalho: - + Choose which workbench will be activated and shown after FreeCAD launches Escolhe qual bancada será ativada e exibida após o FreeCAD iniciar - + Workbench selector position : Posição do seletor da mesa de trabalho: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12412,12 +11732,12 @@ after FreeCAD launches 'Canto Direito': Na barra de menu, no canto direito. - + If checked, application will remember which workbench is active for each tab of the viewport Se marcada, a aplicação irá lembrar qual bancada de trabalho está ativa para cada guia da janela de visualização - + Remember active workbench by tab Lembrar da bancada ativa por aba @@ -12566,47 +11886,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Se desmarcado, %1 não aparecerá nas bancadas de trabalho disponíveis. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Este é o módulo de inicialização atual e deve estar ativado. Veja Preferências/Gerais/Carregamento Automático para mudar. - + Shortcut to activate this workbench. Atalho para ativar esta bancada de trabalho. - + Auto-load Carregar automaticamente - + If checked, %1 will be loaded automatically when FreeCAD starts up Se marcado, %1 será carregado automaticamente quando o FreeCAD iniciar - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Este é o módulo de inicialização atual e ele deve ser carregado automaticamente. Veja preferências/Gerais/Carregamento automático para mudar. - + Loaded Carregado - + Load Carregar - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Para preservar recursos, o FreeCAD não carrega bancadas de trabalho até que sejam usadas. Carregá-las manualmente pode fornecer acesso a preferências adicionais relacionadas à sua funcionalidade. @@ -12614,17 +11934,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Barra de ferramentas - + Left corner Canto esquerdo - + Right corner Canto direito @@ -12650,12 +11975,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Excluir notificações de usuário - + Delete All Excluir Tudo @@ -12691,13 +12016,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Carregar imagem... - - + + Loads an image Carrega uma imagem @@ -12759,10 +12084,813 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Ocorreu um erro -- consulte Ver Relatório para informações + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opções + + + + Code lines will be numbered + Linhas de código serão numeradas + + + + Enable line numbers + Ativar números de linha + + + + The cursor shape will be a block + A forma do cursor será um bloco + + + + Enable block cursor + Habilitar cursor de bloco + + + + Enable folding + Habilitar dobra + + + + Indentation + Indentação + + + + Tab size: + Tamanho da tabulação: + + + + Tabulator raster (how many spaces) + Tabulador de raster (quantos espaços) + + + + Indent size: + Tamanho da indentação: + + + + How many spaces will be inserted when pressing <Tab> + Quantos espaços serão inseridos ao pressionar <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Pressionar o <Tab> irá inserir um tabulador com tamanho de tabulação definido + + + + Keep tabs + Manter abas + + + + Pressing <Tab> will insert amount of defined indent size + Pressionar <Tab> irá inserir quantidade de tamanho de recuo definido + + + + Insert spaces + Inserir espaços + + + + Display items + Exibir itens + + + + Color and font settings will be applied to selected type + Cor e configurações de fonte serão aplicadas ao tipo selecionado + + + + Family: + Família: + + + + Font family to be used for selected code type + Família de fonte a ser usada no tipo de código selecionado + + + + Size: + Tamanho: + + + + Font size to be used for selected code type + Tamanho da fonte a ser usado no tipo de código selecionado + + + + Color: + Cor: + + + + Preview: + Pré-visualização: + + + + Text + Texto + + + + Bookmark + Favorito + + + + Breakpoint + Ponto de Interrupção + + + + Keyword + Palavra-chave + + + + Comment + Comentário + + + + Block comment + Comentário de bloco + + + + Number + Número + + + + String + Texto + + + + Character + Caráter + + + + Class name + Nome de classe + + + + Define name + Definir nome + + + + Operator + Operador + + + + Python output + Saída de Python + + + + Python error + Erro de python + + + + Current line highlight + Destacar linha atual + + + + Items + Itens + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Geral + + + + Language and number format + Idioma e formato numérico + + + + Language: + Idioma: + + + + Language of the application's user interface + Idioma da interface de usuário da aplicação + + + + Unit system: + Sistema de unidades: + + + + Unit system that should be used for all parts of the application + Sistema de unidades que será usado em todas as partes do aplicativo + + + + Number of decimals: + Número de casas decimais: + + + + Number of decimals that should be shown for numbers and dimensions + Número de decimais que devem ser mostrados em números e dimensões + + + + Minimum fractional inch: + Fração mínima das polegadas: + + + + Minimum fractional inch to be displayed + Polegada fracionária mínima a ser exibida + + + + Number format: + Formato do número: + + + + Operating system + Sistema operacional + + + + Selected language + Selecionar o idioma + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Se habilitado, o separador decimal do teclado numérico +será substituído pelo separador local, exceto +no Console Python e Editor de Macro onde um +ponto/ponto final sempre será impresso. + + + + Substitute decimal separator + Substituir o separador decimal + + + + Application + Programa + + + + Theme: + Tema: + + + + Customize how user interface will look like + Personalizar como será a ‘interface’ do usuário + + + + Size of toolbar icons: + Tamanho dos ícones da barra de ferramentas: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Escolha sua preferência para o tamanho do ícone da barra de ferramentas. Você pode ajustar isto de acordo com o tamanho da sua tela ou gosto pessoal + + + + Tree view mode: + Modo de visualização em árvore: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Personalize como a exibição em árvore é exibida no painel (requer reinicialização). + +'ComboView': combine exibição em árvore e vista de propriedade em um painel. +'TreeView e PropertyView': dividir exibição em árvore e visualização de propriedades em painel separado. +'Ambos': mantenha todos os três painéis, e você pode ter dois conjuntos de exibição em árvore e exibição de propriedade. + + + + Size of recent file list: + Tamanho da lista de arquivos recentes: + + + + How many files should be listed in recent files list + Quantos arquivos devem ser listados na lista de arquivos recentes + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + O fundo da janela principal (quando o documento é aberto) consistirá em blocos de uma imagem especial. +Veja a Wiki do FreeCAD para mais detalhes sobre a imagem. + + + + Enable tiled background + Ativar fundo em mosaico + + + + The text cursor will be blinking + O cursor do texto estará piscando + + + + Enable cursor blinking + Habilitar cursor piscante + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + A Tela de Abertura é exibida durante o carregamento, +na inicialização do FreeCAD. Se esta opção estiver marcada, +a tela de abertura será exibida + + + + Enable splash screen at start up + Mostrar a tela de splash ao iniciar + + + + Preference packs + Pacotes de preferências + + + + Name + Nome + + + + Type + Tipo + + + + Load + Carregar + + + + Import config... + Importar configuração... + + + + Save new... + Salvar novo... + + + + Manage... + Gerenciar... + + + + Revert... + Reverter... + + + + Manage preference packs + Gerenciar pacotes de preferências + + + + Small (%1px) + Pequeno (%1px) + + + + Medium (%1px) + Médio (%1px) + + + + Large (%1px) + Grande (%1px) + + + + Extra large (%1px) + Extra grande (%1px) + + + + Custom (%1px) + Personalizado (%1px) + + + + Combo View + Tela combinada + + + + TreeView and PropertyView + TreeView e Propriedades + + + + Both + Ambos + + + + Preference Pack Name + Nome do pacote de preferências + + + + Tags + Etiquetas + + + + Apply + Aplicar + + + + Apply the %1 preference pack + Aplicar o pacote de preferências %1 + + + + Choose a FreeCAD config file to import + Escolha um arquivo de configuração do FreeCAD para importar + + + + File exists + Arquivo existe + + + + A preference pack with that name already exists. Overwrite? + Já existe um pacote de preferências com esse nome. Deseja substituí-lo? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Ver Relatório + + + + Output + Saída + + + + Normal messages will be recorded + Mensagens normais serão gravadas + + + + Record normal messages + Gravar mensagens normais + + + + Log messages will be recorded + Mensagens de log serão gravadas + + + + Record log messages + Gravar mensagens de log + + + + Warnings will be recorded + Avisos serão gravados + + + + Record warnings + Gravar advertências + + + + Error messages will be recorded + Mensagens de erro serão gravadas + + + + Record error messages + Gravar mensagens de erro + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Quando ocorreu um erro, a caixa de diálogo Relatório torna-se visível +na tela enquanto exibe o erro + + + + Show report view on error + Mostrar visualização de relatório em caso de erro + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Quando ocorre um aviso, a caixa de diálogo Visualização de Relatório torna-se visível +na tela enquanto exibe o aviso + + + + Show report view on warning + Mostrar visualização de relatório no aviso + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Quando ocorre uma notificação, o Painel de Relatório aparece enquanto a notificação é exibida + + + + Show report view on normal message + Mostrar painel de relatório em notificações + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Quando uma mensagem de registro ocorreu, o Painel de Relatório aparece enquanto a mensagem de registro é exibida + + + + Show report view on log message + Mostrar painel de relatório nas mensagens de registro + + + + Include a timecode for each report + Incluir uma marca temporal para cada relatório + + + + Include a timecode for each entry + Incluir uma marca temporal para cada entrada + + + + Colors + Cores + + + + Normal messages: + Mensagens normais: + + + + Font color for normal messages in Report view panel + Cor da fonte para notificações no painel de Relatório + + + + Log messages: + Mensagens de log: + + + + Font color for log messages in Report view panel + Cor da fonte para mensagens de registro no painel de Relatório + + + + Warnings: + Advertências: + + + + Font color for warning messages in Report view panel + Cor da fonte para mensagens de aviso no painel de Relatório + + + + Errors: + Erros: + + + + Font color for error messages in Report view panel + Cor da fonte para mensagens de erro no painel de Relatório + + + + Python interpreter + Interpretador Python + + + + Internal Python output will be redirected +from Python console to Report view panel + A saída interna do Python será redirecionada +do console Python para o painel de Relatórios + + + + Redirect internal Python output to report view + Redirecionar a saída interna de Python para a janela de relatório + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Mensagens de erro internas do Python serão redirecionadas +do console Python para o painel de Relatórios + + + + Redirect internal Python errors to report view + Redirecionar erros internos do Python para a janela de relatório + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Tema + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Esta página permite que você personalize seu tema atual. As configurações oferecidas são opcionais para desenvolvedores de temas, então eles podem ou não ter um efeito no seu tema atual. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Esta cor pode ser usada pelo seu tema para deixá-lo personalizado. + + + + No style sheet + Nenhuma folha de estilo + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_pt-PT.ts b/src/Gui/Language/FreeCAD_pt-PT.ts index 9707f491d6..ad07209faa 100644 --- a/src/Gui/Language/FreeCAD_pt-PT.ts +++ b/src/Gui/Language/FreeCAD_pt-PT.ts @@ -42,29 +42,29 @@ Tamanho visual do recurso - + <empty> <vazio> - - + + Angle Ângulo - - + + Axis Eixo - + Position Posição - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Saída na consola de teste - - + + Run test cases to verify console messages Run test cases to verify console messages @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Limpar medições - + Clear all visible measurements Clear all visible measurements @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Ativar/desativar medição - + Turn on or off the display of all measurements Turn on or off the display of all measurements @@ -132,7 +132,7 @@ Apagar - + Paste expressions Colar expressões @@ -182,7 +182,7 @@ Adicionar grupo - + Align Align @@ -193,40 +193,40 @@ Colocação - - + + Transform Transformar - + Toggle array elements Toggle array elements - + Link Transform Link Transform - + Measure distance Calcular a Distância - + Toggle visibility Alternar Visibilidade - + Toggle selectability Alternar seletibilidade - + Edit image Edit image @@ -234,77 +234,77 @@ CommandGroup - + File Ficheiro - + Edit Editar - + Help Ajuda - + Link Link - + Tools Ferramentas - + View Ver - + Window Janela - + Standard Standard - + Macros Macros - + Macro Macro - + Structure Estrutura - + Standard-Test Teste-Padrão - + Standard-View Vista-predefinida - + TreeView TreeView - + Measure Medir @@ -402,11 +402,6 @@ DownloadItem - - - Form - De - Ico @@ -421,42 +416,42 @@ EditMode - + Default Predefinição - + The object will be edited using the mode defined internally to be the most appropriate for the object type The object will be edited using the mode defined internally to be the most appropriate for the object type - + Transform Transformar - + The object will have its placement editable with the Std TransformManip command The object will have its placement editable with the Std TransformManip command - + Cutting Corte - + This edit mode is implemented as available but currently does not seem to be used by any object This edit mode is implemented as available but currently does not seem to be used by any object - + Color Cor - + The object will have the color of its individual faces editable with the Part FaceColors command The object will have the color of its individual faces editable with the Part FaceColors command @@ -482,7 +477,7 @@ Nenhuma - + Press a keyboard shortcut Press a keyboard shortcut @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Disponível: - + Selected: Selecionado: - + Add Adicionar - + Remove Remover - + Move up Mover para cima - + Move down Mover para baixo @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Objeto movível - + Fixed object Objeto fixo @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Aguarde até o ficheiro de AutoRecuperação ser guardado... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Pressione o botão esquerdo do rato - + Press SHIFT and middle mouse button Pressionar SHIFT e o botão do meio do rato - + Press middle mouse button Pressione o botão do meio do rato - + Scroll middle mouse button Rode a roda do rato @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Pressione o botão esquerdo do rato - + Press middle mouse button Pressione o botão do meio do rato - + Press middle+left or middle+right button Clique nos botões do meio+esquerda ou meio+direita - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Rode o botão do meio do rato ou mantenha o botão do meio pressionado enquanto clica no botão esquerdo ou direito do rato e mova o rato para cima ou para baixo @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel &Cancelar @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Painel de Tarefas @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Créditos - + FreeCAD would not be possible without the contributions of O FreeCAD não seria possível sem as contribuições de - + Individuals Header for the list of individual people in the Credits list. Indivíduos - + Organizations Header for the list of companies/organizations in the Credits list. Organizações - - + + License Licença - + Libraries Bibliotecas - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Este software utiliza componentes de código aberto, cujos direitos autorais e outros direitos proprietários pertencem a seus respectivos proprietários: - + Collection Coleção @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Cache directory - + The cache directory %1 exceeds the size of %2. The cache directory %1 exceeds the size of %2. - + Do you want to clear it now? Do you want to clear it now? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Definições da câmara - + Orientation Orientação - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vista atual @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Comandos @@ -1116,12 +1111,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Pack already exists - + A preference pack with that name already exists. Do you want to overwrite it? A preference pack with that name already exists. Do you want to overwrite it? @@ -1359,48 +1354,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Type to search... - + Icon Ícone - + Command Comando - + Shortcut Shortcut - + Default Predefinição - + Name Nome - + Title Título - + All Tudo - - + + none Nenhuma @@ -1408,8 +1403,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Barras da Caixa de Ferramentas @@ -1498,40 +1493,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separador> - + %1 module not loaded %1 module not loaded - + New toolbar Nova Barra de Ferramentas - - + + Toolbar name: Nome da Barra de Ferramentas: - - + + Duplicated name Nome duplicado - - + + The toolbar name '%1' is already used O nome '%1' da Barra de Ferramentas já está em uso - + Rename toolbar Renomear a Barra de Ferramentas @@ -1544,19 +1539,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Personalizar - + &Help &Ajuda - + &Close &Fechar @@ -1565,13 +1560,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Movimento da Spaceball - + No Spaceball Present Nenhuma Spaceball encontrada @@ -1579,27 +1574,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Botões da Spaceball - + No Spaceball Present Nenhuma Spaceball encontrada - + Buttons Botões - + Reset Reiniciar - + Print Reference Referência de Impressão @@ -1684,550 +1679,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Predefinição - + Aluminium Alumínio - + Brass Latão - + Bronze Bronze - + Copper Cobre - + Chrome Crómio - + Emerald Esmeralda - + Gold Ouro - + Jade Jade - + Metalized Metalizado - + Neon GNC Néon GNC - + Neon PHC Néon PHC - + Obsidian Obsidiana - + Pewter Estanho - + Plaster Reboco - + Plastic Plástico - + Ruby Rubi - + Satin Cetim - + Shiny plastic Plástico brilhante - + Silver Prata - + Steel Aço - + Stone Pedra Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opções - - - - Code lines will be numbered - Linhas de código serão numeradas - - - - Enable line numbers - Ativar os números da linha - - - - The cursor shape will be a block - The cursor shape will be a block - - - - Enable block cursor - Enable block cursor - - - - Enable folding - Ativar dobragem - - - - Indentation - Indentação - - - - Tab size: - Tamanho do Separador: - - - - Tabulator raster (how many spaces) - Tabulator raster (how many spaces) - - - - Indent size: - Tamanho da Indentação: - - - - How many spaces will be inserted when pressing <Tab> - Quantos espaços serão inseridos ao pressionar <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Pressing <Tab> will insert a tabulator with defined tab size - - - - Keep tabs - Manter Separadores - - - - Pressing <Tab> will insert amount of defined indent size - Pressing <Tab> will insert amount of defined indent size - - - - Insert spaces - Inserir Espaços - - - - Display items - Exibir itens - - - - Color and font settings will be applied to selected type - Definições de cor e fonte serão aplicadas ao tipo selecionado - - - - Family: - Tipo de Letra: - - - - Font family to be used for selected code type - Família de fonte a ser usada no tipo de código selecionado - - - - Size: - Tamanho: - - - - Font size to be used for selected code type - Tamanho da fonte a ser usado no tipo de código selecionado - - - - Color: - Cor: - - - - Preview: - Pré-visualizar: - - - Gui::Dialog::DlgGeneral - - - General - Geral - - - - Language of the application's user interface - Idioma da interface de utilizador da aplicação - - - - Number format: - Number format: - - - - Operating system - Sistema Operativo - - - - Selected language - Selected language - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Preference packs - - - - Name - Nome - - - - Type - Tipo - - - - Load - Carregar - - - - Import config... - Import config... - - - - Save new... - Save new... - - - - Manage... - Manage... - - - - Revert... - Revert... - - - - How many files should be listed in recent files list - Quantos ficheiros devem ser listados na lista de ficheiros recentes - - - - Enable tiled background - Habilitar o fundo em mosaico - - - - The text cursor will be blinking - The text cursor will be blinking - - - - Enable cursor blinking - Enable cursor blinking - - - - Style sheet: - Estilo da folha: - - - - Language and number format - Language and number format - - - - Language: - Language: - - - - Unit system: - Sistema de unidades: - - - - Unit system that should be used for all parts of the application - Unit system that should be used for all parts of the application - - - - Number of decimals: - Número de casas decimais: - - - - Number of decimals that should be shown for numbers and dimensions - Number of decimals that should be shown for numbers and dimensions - - - - Minimum fractional inch: - Fração mínima de Polegada: - - - - Minimum fractional inch to be displayed - Minimum fractional inch to be displayed - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - Aplicação - - - - Style sheet how user interface will look like - Style sheet how user interface will look like - - - - Size of toolbar icons: - Tamanho dos ícones da barra de ferramentas: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Escolha a sua preferência para o tamanho do ícone na barra de ferramentas. Você pode ajustar de acordo com o tamanho do seu ecrã ou gosto pessoal - - - - Tree view mode: - Tree view mode: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - - - - Size of recent file list: - Size of recent file list: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Uma janela de abertura é uma pequena janela de carregamento exibida -enquando o FreeCAD está a ser iniciado. Se esta opção estiver assinalada, o FreeCAD -exibirá a janela de abertura - - - - Enable splash screen at start up - Ativar a janela Boas-vindas ao iniciar - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Manage preference packs - - - - Small (%1px) - Pequeno (%1px) - - - - Medium (%1px) - Médio (%1px) - - - - Large (%1px) - Grande (%1px) - - - - Extra large (%1px) - Extra grande (%1px) - - - - Custom (%1px) - Personalizado (%1px) - - - - Combo View - Visualização Combinada - - - - TreeView and PropertyView - TreeView and PropertyView - - - - Both - Ambos - - - - No style sheet - Nenhum estilo de folha - - - - Preference Pack Name - Preference Pack Name - - - - Tags - Tags - - - - Apply - Aplicar - - - - Apply the %1 preference pack - Apply the %1 preference pack - - - - Choose a FreeCAD config file to import - Choose a FreeCAD config file to import - - - - File exists - File exists - - - - A preference pack with that name already exists. Overwrite? - A preference pack with that name already exists. Overwrite? - - Gui::Dialog::DlgInputDialog @@ -2243,8 +1811,8 @@ exibirá a janela de abertura Gui::Dialog::DlgInspector - - + + Scene Inspector Inspetor de cena @@ -2336,70 +1904,70 @@ exibirá a janela de abertura Gui::Dialog::DlgMacroExecuteImp - + Macros Macros - + Read-only Só-de-leitura - + Macro file Ficheiro de macros - + Enter a file name, please: Por favor, insira um nome de ficheiro: - - - + + + Existing file Ficheiro Existente - + '%1'. This file already exists. '%1'. Este ficheiro já existe. - + Cannot create file Não é possível criar o ficheiro - + Creation of file '%1' failed. Não foi possível criar o ficheiro '%1'. - + Delete macro Apagar macro - + Do you really want to delete the macro '%1'? Deseja apagar a macro '%1'? - + Do not show again Não mostrar novamente - + Guided Walkthrough Guia passo-a-passo - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2410,76 +1978,76 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 Guia passo-a-passo, diálogo 1 de 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close - + Walkthrough, dialog 1 of 1 Guia passo-a-passo, diálogo 1 de 1 - + Walkthrough, dialog 2 of 2 Guia passo-a-passo, diálogo 2 de 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instruções passo-a-passo: Clique na seta para a direita (->), e depois Fechar. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Instruções passo-a-passo: Clique Novo, de seguida na seta para a direita (->), e depois Fechar. - + Renaming Macro File Renomear o Ficheiro Macro - - + + Enter new name: Digite o novo nome: - - + + '%1' already exists. '%1' já existe. - + Rename Failed Falha ao Renomear - + Failed to rename to '%1'. Perhaps a file permission error? Falha ao renomear para '%1'. Talvez um erro de permissão de ficheiro? - + Duplicate Macro Duplicar Macro - + Duplicate Failed Duplicação falhada - + Failed to duplicate to '%1'. Perhaps a file permission error? Falha ao duplicar para '%1'. @@ -2522,39 +2090,39 @@ Talvez um erro de permissão de ficheiro? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Gravador de macro - + Specify first a place to save. Especificar em primeiro lugar um lugar para guardar. - + The macro directory doesn't exist. Please, choose another one. A pasta da macro não existe. Por favor, escolha outra. - + Existing macro Macro existente - + The macro '%1' already exists. Do you want to overwrite? A macro '%1' já existe. Deseja substituir? - + You have no write permission for the directory. Please, choose another one. Não tem permissão de escrita para esta pasta. Por favor, escolha outra. - + Choose macro directory Escolher pasta da macro @@ -2627,12 +2195,12 @@ Talvez um erro de permissão de ficheiro? Ficheiros HTML - + Access denied Acesso Negado - + Access denied to '%1' Specify another directory, please. @@ -3033,36 +2601,36 @@ Por favor, indique outra pasta. Ficheiro de projeto - - + + Empty source Fonte sem dados - - + + No source is defined. Nenhuma fonte foi definida. - - + + Empty destination Destino vazio - - + + No destination is defined. Nenhum destino foi definido. - + Failed to extract project Failed to extract project - + Failed to create project Failed to create project @@ -3112,188 +2680,6 @@ Por favor, indique outra pasta. Gui::Dialog::DlgReportView - - - Report view - Visualizar Relatório - - - - Output - Destino - - - - Normal messages will be recorded - Mensagens normais serão gravadas - - - - Record normal messages - Gravar mensagens normais - - - - Log messages will be recorded - Log messages will be recorded - - - - Record log messages - Gravar registo das mensagens - - - - Warnings will be recorded - Avisos serão gravados - - - - Record warnings - Gravar avisos - - - - Error messages will be recorded - Mensagens de erro serão gravadas - - - - Record error messages - Gravar erros das mensagens - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Quando ocorre um erro, a caixa de diálogo Vista de Relatório torna-se visível -no ecrã enquanto mostra o erro - - - - Show report view on error - Mostrar vista de relatório em caso de erro - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Quando ocorre um aviso, a caixa de diálogo Vista de Relatório torna-se visível -no ecrã enquanto mostra o aviso - - - - Show report view on warning - Mostrar vista de relatório em caso de aviso - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Quando ocorre uma mensagem normal, a caixa de diálogo Vista de Relatório torna-se visível -no ecrã enquanto mostra a mensagem - - - - Show report view on normal message - Mostrar vista de relatório em caso de mensagem normal - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - - - - Show report view on log message - Show report view on log message - - - - Include a timecode for each report - Include a timecode for each report - - - - Include a timecode for each entry - Include a timecode for each entry - - - - Colors - Cores - - - - Normal messages: - Mensagens normais: - - - - Font color for normal messages in Report view panel - Font color for normal messages in Report view panel - - - - Log messages: - Mensagens de registo: - - - - Font color for log messages in Report view panel - Font color for log messages in Report view panel - - - - Warnings: - Avisos: - - - - Font color for warning messages in Report view panel - Font color for warning messages in Report view panel - - - - Errors: - Erros: - - - - Font color for error messages in Report view panel - Font color for error messages in Report view panel - - - - Python interpreter - Interpretador Python - - - - Internal Python output will be redirected -from Python console to Report view panel - Internal Python output will be redirected -from Python console to Report view panel - - - - Redirect internal Python output to report view - Redirecionar a saída interna de Python para a vista de relatório - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Internal Python error messages will be redirected -from Python console to Report view panel - - - - Redirect internal Python errors to report view - Redirecionar erros internos do Python para a vista de relatório - @@ -3320,7 +2706,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No selection in dialog, cannot load backup file @@ -3363,7 +2749,7 @@ from Python console to Report view panel Ajuda - + Select a file Selecionar um Ficheiro @@ -3371,70 +2757,70 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View Vista 3D - + General Geral - + Main coordinate system will always be shown in lower right corner within opened files O sistema de coordenadas principais será sempre mostrado no canto inferior direito dos ficheiros abertos - + Show coordinate system in the corner Mostrar o sistema de coordenadas no canto - + Relative size : Relative size : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Size of main coordinate system representation in the corner -- in % of height/width of viewport - + Axis cross will be shown by default at file opening or creation Axis cross will be shown by default at file opening or creation - + Show axis cross by default Show axis cross by default - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files - + Show counter of frames per second Mostrar contador das imagens por segundo - + Rendering Renderização - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3443,22 +2829,22 @@ Changing this option requires a restart of the application. Changing this option requires a restart of the application. - + Use software OpenGL Utilizar software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Use OpenGL VBO (Vertex Buffer Object) - + Render cache Render cache - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3481,7 +2867,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3498,92 +2884,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Auto - + Distributed Distribuído - + Centralized Centralizado - + Anti-Aliasing Suavização de serrilhado - + What kind of multisample anti-aliasing is used What kind of multisample anti-aliasing is used - + None Nenhum - + Line Smoothing Suavização da linha - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Objetos transparentes: - + Render types of transparent objects Render types of transparent objects - + One pass Uma passagem - + Backface pass Backface pass - + Marker size: Tamanho do marcador: - - Size of vertices in the Sketcher workbench - Size of vertices in the Sketcher workbench + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Eye to eye distance for stereo modes - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3592,48 +2978,48 @@ The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. - + Backlight is enabled with the defined color Backlight is enabled with the defined color - - + + Backlight color Cor da luz de fundo - + Intensity Intensidade - + Intensity of the backlight Intensidade da luz de fundo - + Camera type Tipo de câmara - + Objects will appear in a perspective projection Objetos aparecerão em uma projeção de perspectiva - + Perspective renderin&g Renderização de perspectiva - + Objects will be projected in orthographic projection Objetos serão projetados em projeção ortográfica - + Or&thographic rendering Renderização Or&tográfica @@ -3645,42 +3031,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Suavização de serrilhado - + Open a new viewer or restart %1 to apply anti-aliasing changes. Abra um novo visualizador ou reiniciar o %1 para aplicar as alterações de suavização de serrilhado. @@ -3688,77 +3074,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Cache directory - + Location: Location: - + Check periodically at program start: Check periodically at program start: - + Always Always - + Daily Daily - + Weekly Weekly - + Monthly Monthly - + Yearly Yearly - + Never Never - + Cache size limit: Cache size limit: - + Check now... Check now... - + Notify the user if the cache size exceeds the specified limit Notify the user if the cache size exceeds the specified limit - + Unknown Desconhecido - + Current cache size: %1 Current cache size: %1 @@ -3919,12 +3305,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Parâmetro Errado - + The maximum value must be higher than the minimum value. O valor máximo deve ser superior ao valor mínimo. @@ -3932,181 +3318,181 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Documento - + General Geral - + The application will create a new document when started The application will create a new document when started - + Create new document at start up Criar novo documento no arranque - + Document save compression level (0 = none, 9 = highest, 3 = default) Nível de compactação ao guardar documentos (0 = nenhum, 9 = mais alto, 3 = padrão) - + Compression level for FCStd files Nível de compressão para ficheiros FCStd - + All changes in documents are stored so that they can be undone/redone All changes in documents are stored so that they can be undone/redone - + Using Undo/Redo on documents Usar Desfazer/Refazer em documentos - + Maximum Undo/Redo steps Máximo do Anular/Refazer passos - + How many Undo/Redo steps should be recorded Quantos passos de Desfazer/Refazer devem ser gravados - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. - + Allow aborting recomputation Allow aborting recomputation - + Storage Armazenamento - + Saving transactions (Auto-save) Guardando as transações (auto-save) - + Discard saved transaction after saving document Descartar transações gravadas depois de guardar o documento - + If there is a recovery file available the application will automatically run a file recovery when it is started. If there is a recovery file available the application will automatically run a file recovery when it is started. - + Run AutoRecovery at startup Executar a AutoRecuperação ao iniciar - + How often a recovery file is written Com que frequência é escrito um ficheiro de recuperação - + Save AutoRecovery information every Guardar informações de AutoRecuperação a cada - + A thumbnail will be stored when document is saved A thumbnail will be stored when document is saved - + Save thumbnail into project file when saving document Gravar miniatura no ficheiro de projeto quando guardar um documento - + Size Tamanho - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 - + The program logo will be added to the thumbnail The program logo will be added to the thumbnail - + Add the program logo to the generated thumbnail Adicionar o logotipo do programa à miniatura gerada - + How many backup files will be kept when saving document How many backup files will be kept when saving document - + Maximum number of backup files to keep when resaving document Número máximo de ficheiros de backup a manter quando salvar novamente o documento - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Backup files will get extension '.FCbak' and file names get date suffix according to the specified format - + Use date and FCBak extension Use date and FCBak extension - + Date format Formato de data - + Document objects Objetos de documento - + Allow objects to have same label Allow objects to have same label - + Allow duplicate object labels in one document Permitir os nomes de objeto duplicados num documento - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4119,22 +3505,22 @@ A partially loaded document cannot be edited. Double click the document icon in the tree view to fully reload it. - + Disable partial loading of external linked objects Disable partial loading of external linked objects - + Authoring and License Autoria e licença - + Author name Nome do autor - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4143,32 +3529,32 @@ Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file The field 'Last modified by' will be set to specified author when saving the file - + Set on save Salvar - + Company Empresa - + Default company name to use for new files Default company name to use for new files - + Default license Licença padrão - + Default license for new documents Licença padrão para novos documentos @@ -4238,12 +3624,12 @@ You can also use the form: John Doe <john@doe.com> Outros - + License URL URL da licença - + URL describing more about the license URL describing more about the license @@ -4251,104 +3637,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. The format of the date to use. - + Default Predefinição - + Format Formato - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Texto - - - - Bookmark - Marcador - - - - Breakpoint - Ponto de quebra - - - - Keyword - Palavra-chave - - - - Comment - Comentário - - - - Block comment - Bloquear comentário - - - - Number - Número - - - - String - Texto - - - - Character - Caráter - - - - Class name - Nome da Classe - - - - Define name - Definir Nome - - - - Operator - Operador - - - - Python output - Saída de Python - - - - Python error - Erro do Python - - - - Current line highlight - Linha atual realçada - - - - Items - Itens - - Gui::Dialog::DlgSettingsImage @@ -4529,122 +3832,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Definições Gerais da Macro - + Variables defined by macros are created as local variables Variables defined by macros are created as local variables - + Run macros in local environment Executar macros no ambiente local - + Macro recording settings Definições da Gravação de Macro - + Macro path Caminho da macro - + The directory in which the application will search for macros The directory in which the application will search for macros - + Gui commands Comandos da GUI - + Recorded macros will also contain user interface commands Recorded macros will also contain user interface commands - + Record GUI commands Record GUI commands - + Recorded macros will also contain user interface commands as comments Recorded macros will also contain user interface commands as comments - + Record as comment Gravar como comentário - + Logging Commands Registo de Comandos - + Commands executed by macro scripts are shown in Python console Commands executed by macro scripts are shown in Python console - + Show script commands in python console Mostrar comandos script na consola python - + Log all commands issued by menus to file: Salvar todos os comandos emitidos por menus em ficheiro log: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Menu de macros recentes - + Size of recent macro list Size of recent macro list - + How many macros should be listed in recent macros list Quantas macros devem ser listadas na lista de macros recentes - + Keyboard shortcut count Keyboard shortcut count - + How many recent macros should have shortcuts How many recent macros should have shortcuts - + Keyboard Modifiers Keyboard Modifiers - + Keyboard modifiers, default = Ctrl+Shift+ Keyboard modifiers, default = Ctrl+Shift+ @@ -4652,130 +3955,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navegação - + Navigation cube Navigation cube - + Steps by turn Steps by turn - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) - + Corner Vértice - + Corner where navigation cube is shown Canto onde o cubo de navegação é mostrado - + Top left Topo Esquerdo - + Top right Topo Direito - + Bottom left Base esquerda - + Bottom right Base direita - + Rotates to nearest possible state when clicking a cube face Rotates to nearest possible state when clicking a cube face - + Rotate to nearest Girar para o mais próximo - + Font name: Font name: - + Font name of the navigation cube Font name of the navigation cube - + Default Predefinição - + Cube size Tamanho do cubo - + Size of the navigation cube Tamanho do cubo de navegação - + Color Cor - + Base color for all elements Base color for all elements - + 3D Navigation Navegação 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. - + Mouse... Rato ... - + Navigation settings set Navigation settings set - + Orbit style Estilo da Órbita - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4786,116 +4089,116 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable Plataforma giratória - + Trackball Trackball - + Free Turntable Free Turntable - + Rotation mode Modo de Rotação - + Rotations in 3D will use current cursor position as center for rotation Rotations in 3D will use current cursor position as center for rotation - + Window center Window center - + Drag at cursor Drag at cursor - + Object center Centro do objeto - + Default camera orientation Default camera orientation - + Default camera orientation when creating a new document or selecting the home view Default camera orientation when creating a new document or selecting the home view - + Camera zoom Camera zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. - + mm mm - + Enable animated rotations Enable animated rotations - + Enable animation Ativar animação - + Zoom operations will be performed at position of mouse pointer Zoom operations will be performed at position of mouse pointer - + Zoom at cursor Zoom no cursor - + Zoom step Zoom step - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. - + Direction of zoom operations will be inverted Direction of zoom operations will be inverted - + Invert zoom Inverter Zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4904,57 +4207,67 @@ Affects only gesture navigation style. Mouse tilting is not disabled by this setting. - + Disable touchscreen tilt gesture Desativar o gesto de inclinação da tela sensível ao toque - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Isométrica - + Dimetric Dimetrica - + Trimetric Trimétrica - + Top Topo - + Front Frente - + Left Esquerda - + Right Direita - + Rear Traseira - + Bottom De baixo - + Custom Personalizado @@ -4962,44 +4275,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Consola Python - + Settings Ajustes - + Words will be wrapped when they exceed available horizontal space in Python console Words will be wrapped when they exceed available horizontal space in Python console - + Enable word wrap Permitir quebra de linha - + The cursor shape will be a block The cursor shape will be a block - + Enable block cursor Enable block cursor - + Saves Python history across sessions Saves Python history across sessions - + Save history Save history @@ -5007,17 +4320,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Seleção - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Raio do Ponteiro (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5026,27 +4359,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Auto switch to the 3D view containing the selected item - + Auto expand tree item when the corresponding object is selected in 3D view Auto expand tree item when the corresponding object is selected in 3D view - + Preselect the object in 3D view when mouse over the tree item Preselect the object in 3D view when mouse over the tree item - + Record selection in tree view in order to go back/forward using navigation button Record selection in tree view in order to go back/forward using navigation button - + Add checkboxes for selection in document tree Add checkboxes for selection in document tree @@ -5054,147 +4387,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Cores - - Selection - Seleção - - - - Enable preselection and highlight by specified color - Enable preselection and highlight by specified color - - - - Enable preselection highlighting - Habilitar preseleção realçada - - - - Enable selection highlighting and use specified color - Enable selection highlighting and use specified color - - - - Enable selection highlighting - ativar o realce de seleção - - - + Background color for the model view Background color for the model view - + Background color Cor de Fundo - - + + Background will have selected color Background will have selected color - + Simple color Cor Simples - - + + Background will have selected color gradient Background will have selected color gradient - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Top: - - + + Middle: Middle: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch Switch - + Color gradient will get selected color as middle color Color gradient will get selected color as middle color - + Middle color Cor intermédia - - + + Bottom: Bottom: - + Tree view Visualizar em Árvore - + Object being edited Objeto em edição - + Background color for objects in tree view that are currently edited Background color for objects in tree view that are currently edited - + Active container Contentor ativo - + Background color for active containers in tree view Background color for active containers in tree view - + Central: Central: - + Midway: Midway: - + End: End: @@ -5306,12 +4614,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unidade desconhecida: - + unit mismatch incompatibilidade de unidades @@ -5319,7 +4627,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement Colocação @@ -5369,60 +4677,60 @@ The 'Status' column shows whether the document could be recovered. Ainda não foi recuperado - + Unknown problem occurred Ocorreu um problema desconhecido - - + + Failed to recover Recuperação falhada - + Successfully recovered Recuperado com sucesso - + Finish Terminar - - + + Delete Apagar - - + + Cleanup Limpeza - + Are you sure you want to delete the selected transient directories? Tem certeza que deseja excluir os diretórios temporários selecionados? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Ao excluir o diretório temporário selecionado, não será capaz de recuperar qualquer ficheiro depois. - + Are you sure you want to delete all transient directories? Tem certeza que deseja excluir todos os diretórios temporários? - + When deleting all transient directories you won't be able to recover any files afterwards. Ao apagar todos os diretórios transitórios, não será possível recuperar quaisquer ficheiros depois. - + Transient directories deleted. Diretórios temporários excluídos. @@ -5546,7 +4854,7 @@ The 'Status' column shows whether the document could be recovered. Pastas de ícone - + Add icon folder Adicionar pasta de ícones @@ -5559,12 +4867,12 @@ The 'Status' column shows whether the document could be recovered. Adicionar ou remover pastas de ícones personalizados - + Remove folder Remover pasta - + Removing a folder only takes effect after an application restart. Remover uma pasta só terá efeito depois de reiniciar o programa. @@ -5634,79 +4942,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Expandir - + Add sub-group Adicionar Subgrupo - - + + Remove group Remover Grupo - + Rename group Renomear Grupo - + Export parameter Exportar Parâmetro - + Import parameter Importar Parâmetro - + Collapse Ocultar - + Do you really want to remove this parameter group? Do you really want to remove this parameter group? - + Existing sub-group Subgrupo existente - + The sub-group '%1' already exists. O subgrupo '%1' já existe. - + Export parameter to file Exportar parâmetro para ficheiro - + Import parameter from file Importar parâmetro a partir do ficheiro - + Import Error Erro de Importação - + Reading from '%1' failed. Falou a leitura a partir de '%1'. @@ -5714,65 +5022,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Alterar Valor - + Remove key Remover Chave - + Rename key Renomear Chave - + New Novo - + New string item Novo item string - + New float item Novo item flutuante - + New integer item Novo item inteiro - + New unsigned item Novo item não atribuído (unsigned) - + New Boolean item Novo Item Booliano - - - - - + + + + + Existing item Item existente - - - - - + + + + + The item '%1' already exists. Já existe o item '%1'. @@ -5918,17 +5226,17 @@ The 'Status' column shows whether the document could be recovered. Aplicar - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Por favor selecione 1, 2 ou 3 pontos antes de clicar neste botão. Um ponto pode estar num vértice, face ou aresta. Se estiver numa face ou aresta, o ponto utilizado será o ponto na posição do rato ao longo da face ou aresta. Se for selecionado 1 ponto será usado como o centro de rotação. Se forem selecionados 2 pontos o ponto médio entre eles será o centro de rotação e será criado um novo eixo personalizado, se necessário. Se forem selecionados 3 pontos o primeiro ponto torna-se o centro de rotação e encontra-se sobre o vetor normal ao plano definido por 3 pontos. Algumas informações de distância e ângulo são fornecidas na vista de relatório, que pode ser útil ao alinhar objetos. Para sua conveniência quando Shift + clique for usado a distância adequada ou ângulo é copiado para a área de transferência. - + Incorrect quantity Quantidade incorreta - + There are input fields with incorrect input, please ensure valid placement values! Existem campos com valor incorreto, por favor, certifique-se de usar valores de posicionamento válidos! @@ -5936,12 +5244,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Botão - + Command Comando @@ -6005,17 +5313,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Árvore do Inventor - + Name Nome - + Nodes Nós @@ -6071,14 +5379,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Cancelar - - + + Transform Transformar @@ -6176,13 +5484,13 @@ originally selected prior to opening this dialog - + Model Modelo - + Tasks Tarefas @@ -6190,7 +5498,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Ver Propriedade @@ -6198,82 +5506,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Opções - + Display message types Exibir tipos de mensagem - - + + Normal messages Normal messages - - + + Log messages Log messages - - + + Warnings Avisos - - + + Errors Erros - - + + Critical messages Critical messages - + Show Report view on Show Report view on - + Redirect Python output Redirecionar a saída de Python - + Redirect Python errors Redirecionar erros Python - + Go to end Ir para o fim - + Clear Limpar - + Save As... Guardar Como ... - + Save Report Output Guardar Relatório de Saída - + Plain Text Files Ficheiros de texto sem formatação @@ -6282,13 +5590,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Destino - + Python console Consola Python @@ -6326,72 +5634,72 @@ originally selected prior to opening this dialog Lista de objetos escolhidos - + Select only Selecione somente - + Selects only this object Seleciona apenas este objeto - + Deselect Desselecionar - + Deselects this object Desseleciona este objeto - + Zoom fit Ajustar zoom - + Selects and fits this object in the 3D window Seleciona e enquadra este objeto na janela 3D - + Go to selection Ir para seleção - + Selects and locates this object in the tree view Seleciona e localiza este objeto na árvore - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marcar este objeto para ser recalculado - + To python console Para consola de python - + Reveals this object and its subelements in the python console. Mostra este objeto e os seus subelementos na consola do python. - + Duplicate subshape Duplicar sub-elemento - + Creates a standalone copy of this subshape in the document Cria uma cópia independente deste sub-elemento no documento @@ -6404,7 +5712,7 @@ originally selected prior to opening this dialog Aplicação - + Labels & Attributes Nomes e Atributos @@ -6453,27 +5761,27 @@ Deseja guardar as suas alterações? Ficheiro PDF - + untitled[*] sem título[*] - + - Editor - Editor - + %1 chars removed %1 carateres removidos - + %1 chars added %1 carateres adicionados - + Formatted Formatado @@ -6497,13 +5805,13 @@ Deseja guardar as suas alterações? Gui::FileChooser - - + + Select a file Selecionar um Ficheiro - + Select a directory Selecionar uma Pasta @@ -6511,13 +5819,13 @@ Deseja guardar as suas alterações? Gui::FileDialog - + Save as Guardar Como - - + + Open Abrir @@ -6525,12 +5833,12 @@ Deseja guardar as suas alterações? Gui::FileOptionsDialog - + Extended Estendido - + All files (*.*) Todos os Ficheiros (*.*) @@ -6538,27 +5846,27 @@ Deseja guardar as suas alterações? Gui::Flag - + Top left Topo Esquerdo - + Bottom left Base esquerda - + Top right Topo Direito - + Bottom right Base direita - + Remove Remover @@ -6566,22 +5874,22 @@ Deseja guardar as suas alterações? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Toque ou clique no botão esquerdo do rato. - + Drag screen with two fingers OR press right mouse button. Arraste com dois dedos no monitor, ou pressione o botão direito do rato. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. @@ -6589,74 +5897,74 @@ Deseja guardar as suas alterações? Gui::GraphvizView - + Graphviz not found Graphviz não encontrado - + Graphviz couldn't be found on your system. Não foi possível encontrar o Graphviz no seu sistema. - + Read more about it here. Leia mais sobre isso aqui. - + Do you want to specify its installation path if it's already installed? Quer especificar o caminho de instalação se este já estiver instalado? - + Graphviz installation path Caminho de instalação do Graphviz - + Graphviz failed Graphviz falhou - + Graphviz failed to create an image file O Graphviz falhou ao criar um ficheiro de imagem - + PNG format Formato PNG - + Bitmap format Formato de bitmap - + GIF format Formato GIF - + JPG format Formato JPG - + SVG format Formato SVG - - + + PDF format Formato PDF - - + + Export graph Exportar gráfico @@ -6664,12 +5972,12 @@ Deseja guardar as suas alterações? Gui::InputField - + Edit Editar - + Save value Guardar o valor @@ -6677,22 +5985,22 @@ Deseja guardar as suas alterações? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Pressione CTRL e o botão esquerdo do rato - + Press middle mouse button Pressione o botão do meio do rato - + Press left mouse button Pressione o botão esquerdo do rato - + Scroll middle mouse button Rode a roda do rato @@ -6700,7 +6008,7 @@ Deseja guardar as suas alterações? Gui::LabelEditor - + List Lista @@ -6708,66 +6016,66 @@ Deseja guardar as suas alterações? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definido pelo utilizador: - + - - + + Wrong direction Direção Errada - + - - + + Direction must not be the null vector Direção não pode ser um vector nulo @@ -6775,22 +6083,22 @@ Deseja guardar as suas alterações? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direção: @@ -6798,17 +6106,17 @@ Deseja guardar as suas alterações? Gui::MacroCommand - + Macros Macros - + Macro file doesn't exist Ficheiro de macro não existe - + No such macro file: '%1' Não existe tal ficheiro de macro: '%1' @@ -6816,63 +6124,73 @@ Deseja guardar as suas alterações? Gui::MainWindow - - + + Dimension Dimensão - + Ready Pronto - + Help addon needed! Help addon needed! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager Open Addon Manager - + Close All Fechar Tudo - - + + Toggles this toolbar Altera esta Barra de Ferramentas - - + + Toggles this dockable window Ativa/desativa esta janela encaixável - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document Documento não guardado - + The exported object contains external link. Please save the documentat least once before exporting. The exported object contains external link. Please save the documentat least once before exporting. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? To link to external objects, the document must be saved at least once. @@ -6882,63 +6200,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Alinhamento manual - + The alignment is already in progress. O alinhamento já está em progresso. - + Alignment[*] Alinhamento [*] - + Please, select at least one point in the left and the right view Por favor, selecione pelo menos um ponto nos lados esquerdo e direito - + Please, select at least %1 points in the left and the right view Por favor, selecione pelo menos %1 pontos nos lados esquerdo e direito - + Please pick points in the left and right view Por favor, selecione pontos dos lados direito e esquerdo - + The alignment has finished O alinhamento terminou - + The alignment has been canceled O alinhamento foi cancelado - - + + Too few points picked in the left view. At least %1 points are needed. Poucos pontos selecionados no lado esquerdo. São necessários pelo menos %1 pontos. - - + + Too few points picked in the right view. At least %1 points are needed. Poucos pontos selecionados no lado direito. São necessários pelo menos %1 pontos. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6947,59 +6265,59 @@ No lado esquerdo foram selecionados %1, no lado direito foram selecionados %2. - + Try to align group of views Tentar alinhar o grupo de vistas - + The alignment failed. How do you want to proceed? O alinhamento falhou. Como pretende continuar? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Diferente número de pontos selecionados no lado esquerdo e direito. No lado esquerdo foram selecionados %1 pontos e, no lado direito foram selecionados %2 pontos. - + Point_%1 Point_%1 - + Point picked at (%1,%2,%3) Selecionado o ponto (%1,%2,%3) - + No point was found on model Nenhum ponto foi encontrado no modelo - + No point was picked Nenhum ponto foi escolhido - + &Align &Align - + &Remove last point &Remove last point - + &Cancel &Cancelar - + &Synchronize views &Synchronize views @@ -7007,22 +6325,22 @@ Como pretende continuar? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Toque ou clique no botão esquerdo do rato. - + Drag screen with two fingers OR press ALT + middle mouse button. Arraste a tela com dois dedos OU pressione ALT + botão do meio do rato. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Arraste a tela com um dedo OU pressione ALT + botão esquerdo do rato. Em outros modos de edição ou no Sketcher, pressione também Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pinch (coloque dois dedos na tela e afaste-os ou aproxime-os) role o botão do meio do rato OU pressione ALT + botão direito do rato OU PgUp/PgDown no teclado. @@ -7030,7 +6348,7 @@ Como pretende continuar? Gui::ModifierLineEdit - + Press modifier keys Press modifier keys @@ -7046,22 +6364,22 @@ Como pretende continuar? Gui::OpenCascadeNavigationStyle - + Press left mouse button Pressione o botão esquerdo do rato - + Press CTRL and middle mouse button Pressione CTRL e o botão do meio do rato - + Press CTRL and right mouse button Pressione CTRL e o botão direito do rato - + Press CTRL and left mouse button Pressione CTRL e o botão esquerdo do rato @@ -7069,22 +6387,22 @@ Como pretende continuar? Gui::OpenSCADNavigationStyle - + Press left mouse button Pressione o botão esquerdo do rato - + Press right mouse button and move mouse Press right mouse button and move mouse - + Press left mouse button and move mouse Press left mouse button and move mouse - + Press middle mouse button or SHIFT and right mouse button Press middle mouse button or SHIFT and right mouse button @@ -7092,17 +6410,17 @@ Como pretende continuar? Gui::PrefQuantitySpinBox - + Edit Editar - + Save value Guardar o valor - + Clear list Limpar lista @@ -7133,12 +6451,12 @@ Como pretende continuar? Restante: %1 - + Aborting a abortar ... - + Do you really want to abort the operation? Quer realmente abortar a operação? @@ -7146,7 +6464,7 @@ Como pretende continuar? Gui::PropertyEditor::LinkLabel - + Change the linked object Alterar o objeto ligado @@ -7154,12 +6472,12 @@ Como pretende continuar? Gui::PropertyEditor::LinkSelection - + Error Erro - + Object not found Objeto não encontrado @@ -7230,13 +6548,13 @@ Como pretende continuar? Gui::PropertyView - + View Ver - + Data Dados @@ -7284,77 +6602,77 @@ Deseja sair sem guardar os seus dados? Exceção de C++ desconhecida não resolvida. - + &Copy &Copiar - + &Copy command &Copiar Comando - + &Copy history &Copiar Histórico - + Save history as... Guardar histórico como... - + Save history Save history - + Saves Python history across %1 sessions Salva histórico do Python em %1 sessões - + &Paste &Colar - + Select All Selecionar Tudo - + Clear console Limpar consola - + Insert file name... Inserir Nome do Ficheiro ... - + Word wrap Continuar Palavra - + Save History Guardar Histórico - + Macro Files Ficheiros de macro - + Insert file name Inserir Nome do Ficheiro - + All Files Todos os Ficheiros @@ -7362,7 +6680,7 @@ Deseja sair sem guardar os seus dados? Gui::PythonEditor - + Comment Comentário @@ -7375,17 +6693,17 @@ Deseja sair sem guardar os seus dados? Gui::RecentFilesAction - + Open file %1 Abrir Ficheiro %1 - + File not found Ficheiro não encontrado - + The file '%1' cannot be opened. Não foi possível abrir o ficheiro '%1'. @@ -7393,22 +6711,22 @@ Deseja sair sem guardar os seus dados? Gui::RecentMacrosAction - + none Nenhuma - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Run macro %1 (Shift+click to edit) keyboard shortcut: %2 - + File not found Ficheiro não encontrado - + The file '%1' cannot be opened. Não foi possível abrir o ficheiro '%1'. @@ -7416,22 +6734,22 @@ Deseja sair sem guardar os seus dados? Gui::RevitNavigationStyle - + Press left mouse button Pressione o botão esquerdo do rato - + Press middle mouse button Pressione o botão do meio do rato - + Press SHIFT and middle mouse button Pressionar SHIFT e o botão do meio do rato - + Scroll middle mouse button Rode a roda do rato @@ -7462,17 +6780,17 @@ Deseja sair sem guardar os seus dados? Gui::SelectModule - + Select module Selecionar Módulo - + Open %1 as Abrir %1 Como - + Select Selecionar @@ -7539,13 +6857,13 @@ Quer especificar outro diretório? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentação de módulos Automatic python - - + + Opens a browser to show the Python modules documentation Abre um navegador para visualizar a documentação de módulos Python @@ -7698,38 +7016,38 @@ Quer especificar outro diretório? Gui::TextDocumentEditorView - + Text updated Texto actualizado - + The text of the underlying object has changed. Discard changes and reload the text from the object? Foi alterado o texto do objeto subjacente. Descartar as alterações e recarregar o texto do objeto? - + Yes, reload. Sim, recarregar. - + Unsaved document Documento não guardado - + Do you want to save your changes before closing? Quer guardar as alterações antes de fechar? - + If you don't save, your changes will be lost. Se não guardar, as alterações serão perdidas. - - + + Edit text Editar Texto @@ -7737,22 +7055,22 @@ Quer especificar outro diretório? Gui::TinkerCADNavigationStyle - + Press left mouse button Pressione o botão esquerdo do rato - + Press middle mouse button Pressione o botão do meio do rato - + Press right mouse button Press right mouse button - + Scroll middle mouse button Rode a roda do rato @@ -7760,22 +7078,22 @@ Quer especificar outro diretório? Gui::TouchpadNavigationStyle - + Press left mouse button Pressione o botão esquerdo do rato - + Press SHIFT button Pressione a tecla SHIFT - + Press ALT button Pressione a tecla ALT - + Press CTRL and SHIFT buttons Pressione as teclas CTRL e SHIFT @@ -8001,7 +7319,7 @@ Quer especificar outro diretório? Gui::TreeDockWidget - + Tree view Visualizar em Árvore @@ -8009,7 +7327,7 @@ Quer especificar outro diretório? Gui::TreePanel - + Search Procurar @@ -8017,183 +7335,183 @@ Quer especificar outro diretório? Gui::TreeWidget - + Search... Procurar... - + Search for objects Procurar por objetos - + Activate document Ativar Documento - + Activate document %1 Ativar Documento %1 - + Tree settings Configurações da árvore - + Show description column Mostrar coluna de descrição - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Exibe uma coluna extra na árvore para a descrição do item. A descrição do item pode ser definida pressionando F2 (ou o botão editar do seu SO) ou editando a propriedade 'label2'. - + Group Grupo - + Labels & Attributes Nomes e Atributos - + Description Descrição - + Show items hidden in tree view Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view Toggles the visibility of selected items in the tree view - + Create group... Criar Grupo ... - + Create a group Criar um Grupo - - + + Rename Renomear - + Rename object Renomear objeto - + Finish editing Terminar Edição - + Finish editing object Terminar Edição do Objeto - + Add dependent objects to selection Add dependent objects to selection - + Adds all dependent objects to the selection Adds all dependent objects to the selection - + Close document Fechar documento - + Close the document Fechar o documento - + Reload document Recarregar documento - + Reload a partially loaded document Recarregar um documento parcialmente carregado - + Skip recomputes Ignorar recalcular - + Enable or disable recomputations of document Habilitar ou desabilitar recalculo do documento - + Allow partial recomputes Allow partial recomputes - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Enable or disable recomputating editing object when 'skip recomputation' is enabled - + Mark to recompute Marcar para recalcular - + Mark this object to be recomputed Marcar este objeto para ser recalculado - + Recompute object Recompute object - + Recompute the selected object Recompute the selected object - + (but must be executed) (but must be executed) - + %1, Internal name: %2 %1, nome interno: %2 @@ -8224,12 +7542,12 @@ Quer especificar outro diretório? Ficheiro PDF - + Opening file failed Falha ao abrir ficheiro - + Can't open file '%1' for writing. Não é possível abrir o ficheiro '%1' para escrita. @@ -8237,7 +7555,7 @@ Quer especificar outro diretório? Gui::WorkbenchGroup - + Select the '%1' workbench Selecione a bancada '%1' @@ -8245,37 +7563,37 @@ Quer especificar outro diretório? MAC_APPLICATION_MENU - + Services Serviços - + Hide %1 Esconder %1 - + Hide Others Esconder outros - + Show All Mostrar todos - + Preferences... Preferências... - + Quit %1 Sair %1 - + About %1 Sobre o %1 @@ -8295,11 +7613,6 @@ Quer especificar outro diretório? Position - - - Form - Formulário - X: @@ -8394,14 +7707,14 @@ Quer especificar outro diretório? PropertyListDialog - - + + Invalid input Inserção inválida - - + + Input in line %1 is not a number A entrada na linha %1 não é um número @@ -8409,37 +7722,37 @@ Quer especificar outro diretório? QDockWidget - + Tree view Visualizar em Árvore - + Property view Visualizar Propriedades - + Selection view Visualizar Seleção - + Combo View Visualização Combinada - + DAG View Vista DAG - + Report view Visualizar Relatório - + Python console Consola Python @@ -8452,31 +7765,32 @@ Quer especificar outro diretório? QObject - - + + General Geral - - + + + Display Visualização - + Workbenches Bancadas de trabalho - - - + + + Python Python @@ -8504,17 +7818,27 @@ Quer especificar outro diretório? Não é possível guardar um tipo de ficheiro desconhecido: %1 - + Workbench failure Falha da bancada de trabalho - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Exceção @@ -8560,8 +7884,8 @@ Quer especificar outro diretório? A exportar PDF ... - + Unsaved document Documento não guardado @@ -8582,39 +7906,39 @@ Quer especificar outro diretório? Erro de dependência - + Copy selected Copiar selecionados - + Copy active document Copiar documento ativo - + Copy all documents Copiar todos os documentos - + Paste Colar - + Expression error Erro de expressão - + Failed to parse some of the expressions. Please check the Report View for more details. Failed to parse some of the expressions. Please check the Report View for more details. - + Failed to paste expressions Falha ao colar expressões @@ -8648,224 +7972,224 @@ Be aware the point where you click matters. Por favor selecione dois objetos. Lembre-se o que ponto onde você clicar tem importância. - - + + Save views... Guardar vistas... - - + + Load views... Carregar vistas... - - + + Freeze view Congelar a vista - - + + Clear views Limpar visualizações - - - + + + Restore view &%1 Restaurar a vista & %1 - + Save frozen views Guardar vistas congeladas - - + + Frozen views Congelar (gravar) Vistas - - + + Restore views Restaurar vistas - + Importing the restored views would clear the already stored views. Do you want to continue? Importar as vistas restauradas apagará as vistas já armazenadas.Quer continuar? - + Restore frozen views Restaurar vistas congeladas - + Cannot open file '%1'. Não é possível abrir o ficheiro '%1'. - + files ficheiros - + Save image Save image - + Choose an image file to open Escolha um ficheiro de imagem para abrir - + New sub-group Novo subgrupo - - - - - - + + + + + + Enter the name: Insira o nome: - - + + New text item Novo item de texto - - + + Enter your text: Inserir o seu texto: - - + + New integer item Novo item inteiro - - - - - - + + + + + + Enter your number: Inserir o seu número: - - + + New unsigned item Novo item não atribuído (unsigned) - - + + New float item Novo item flutuante - + New Boolean item Novo Item Booliano - - + + Choose an item: Escolher um Item: - + New boolean item Novo Item Booliano - + Rename group Renomear Grupo - + The group '%1' cannot be renamed. Não é possível renomear o grupo '%1'. - + Existing group Grupo existente - + The group '%1' already exists. Já existe o grupo '%1'. - - - - - + + + + + Change value Alterar Valor - + Type Tipo - + Notifier Notifier - + Message Message - + Notifier: Notifier: - + Do you want to skip confirmation of further critical message notifications while loading the file? Deseja saltar a confirmação de novas notificações de mensagens críticas ao carregar o ficheiro? - + Critical Message Mensagem Crítica - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8874,44 +8198,44 @@ Do you want to continue? - + Are you sure you want to continue? Tem certeza que deseja continuar? - + Please check report view for more... Please check report view for more... - + Physical path: Physical path: - - + + Document: Document: - - + + Path: Caminho: - + Identical physical path Identical physical path - + Could not save document Could not save document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8924,102 +8248,102 @@ Would you like to save the file with a different name? Would you like to save the file with a different name? - - - + + + Saving aborted Guardar interrompido - + Save dependent files Guardar ficheiros dependentes - + The file contains external dependencies. Do you want to save the dependent files, too? O ficheiro contém dependências externas. Você também deseja guardar os ficheiros dependentes? - - + + Saving document failed Salvar o documento falhou - + Save document under new filename... Guardar o documento sob um novo nome de ficheiro... - - + + Save %1 Document Guardar Documento %1 - + Document Documento - - + + Failed to save document Falha ao guardar documento - + Documents contains cyclic dependencies. Do you still want to save them? Documentos contém dependências cíclicas. Você ainda deseja salvá-los? - + Save a copy of the document under new filename... Guardar uma cópia do documento com um novo nome... - + %1 document (*.FCStd) documento %1 (*.FCStd) - + Document not closable O documento não pode ser fechado - + The document is not closable for the moment. O documento não pode ser fechado neste momento. - + Document not saved Document not saved - + The document%1 could not be saved. Do you want to cancel closing it? The document%1 could not be saved. Do you want to cancel closing it? - + Undo Desfazer - + Redo Refazer - + There are grouped transactions in the following documents with other preceding transactions There are grouped transactions in the following documents with other preceding transactions - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9033,47 +8357,47 @@ Choose 'Abort' to abort Guardar Macro - - + + Finish Terminar - - + + Clear Limpar - - - + + + Cancel Cancelar - + Inner Interno - + Outer Externo - + Split Separar - - + + No Browser Sem Navegador - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9082,48 +8406,48 @@ Please open a browser window and type in: http://localhost:%1. Por favor, abra um navegador e digite: http://localhost:%1. - + No Server Sem Servidor - + Unable to start the server to port %1: %2. Não é possível iniciar o servidor para a porta %1: %2. - + Unable to open your system browser. Não é possível abrir o navegador do seu sistema. - + Options... Opções ... - + Out of memory Sem Memória - + Not enough memory available to display the data. Não há memória disponível para visualizar os dados. - - + + Cannot find file %1 Não é possível encontrar o ficheiro %1 - + Cannot find file %1 neither in %2 nor in %3 Não é possível encontrar o ficheiro %1, nem em %2 ou em %3 - + Navigation styles Estilos de Navegação @@ -9133,8 +8457,8 @@ Por favor, abra um navegador e digite: http://localhost:%1. Mover a anotação - - + + Transform Transformar @@ -9144,42 +8468,42 @@ Por favor, abra um navegador e digite: http://localhost:%1. Deseja fechar esta janela? - + Do you want to save your changes to document '%1' before closing? Deseja guardar as alterações no documento '%1' antes de fechar? - + Do you want to save your changes to document before closing? Do you want to save your changes to document before closing? - + If you don't save, your changes will be lost. Se não guardar, as alterações serão perdidas. - + Apply answer to all Aplicar resposta a todos - + %1 Document(s) not saved %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? Some documents could not be saved. Do you want to cancel closing? - + Delete macro Apagar macro - + Not allowed to delete system-wide macros Não é permitido apagar macros do sistema @@ -9189,27 +8513,27 @@ Por favor, abra um navegador e digite: http://localhost:%1. Origem - + Delete group content? Apagar conteúdo do grupo? - + The %1 is not empty, delete its content as well? O %1 não está vazio, Apagar o seu conteúdo também? - + Translation: Tradução: - + Rotation: Rotação: - + Toggle active part Alternar peça ativa @@ -9272,88 +8596,88 @@ Por favor, abra um navegador e digite: http://localhost:%1. Falha ao importar todas as ligações - - + + Invalid name Nome inválido - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. O nome da propriedade ou nome de grupo só deve conter caracteres alfanuméricos, sublinhado (_) e não deve começar com um dígito. - + The property '%1' already exists in '%2' A propriedade '%1' já existe em '%2' - + Add property Adicionar propriedade - + Failed to add property to '%1': %2 Falha ao adicionar propriedade a '%1': %2 - - + + Drag & drop failed Arrastar & soltar falhou - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed Please select which objects to copy when the configuration is changed - + Apply to all Apply to all - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Apply the setting to all links. Or, uncheck this option to apply only to this link. - + Copy on change Copy on change - + Enable Ativar - + Enable auto copy of linked object when its configuration is changed Enable auto copy of linked object when its configuration is changed - + Tracking Monitorização - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9362,17 +8686,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Disable copy on change - + Refresh configurable object Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9383,28 +8707,28 @@ the current copy will be lost. - + Toggle array elements Toggle array elements - + Change whether show each link array element as individual objects Change whether show each link array element as individual objects - + Transform at the origin of the placement Transform at the origin of the placement - - + + Override colors... Override colors... - + Edit %1 Edite %1 @@ -9427,12 +8751,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Não é permitido: - + Selection not allowed by filter Seleção não permitida pelo filtro @@ -9440,9 +8764,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Box element selection @@ -9450,13 +8774,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Caixa de seleção - - + + Activate the box selection tool Activate the box selection tool @@ -9534,13 +8858,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Ligar/desligar símbolo de eixos - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9646,13 +8970,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Vista de mesa giratória... - - + + View turntable Vista de mesa giratória @@ -9772,13 +9096,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Estilo de visualização - - + + Change the draw style of the objects Change the draw style of the objects @@ -9842,13 +9166,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Expression actions - - + + Actions that apply to expressions Actions that apply to expressions @@ -9965,13 +9289,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Congelar a visualização - - + + Freezes the current view position Congela o ponto de vista atual @@ -9992,13 +9316,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Ocultar todos os objetos - - + + Hide all objects in the document Ocultar todos os objetos no documento @@ -10006,13 +9330,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Ocultar seleção - - + + Hide all selected objects Ocultar todos os objetos selecionados @@ -10286,13 +9610,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Calcular a Distância - - + + Activate the distance measurement tool Activate the distance measurement tool @@ -10351,8 +9675,8 @@ the current copy will be lost. Criar um Novo Documento vazio - - + + Unnamed Sem nome @@ -10580,8 +9904,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Ficheiros Recentes + Open Recent + Open Recent @@ -10719,13 +10043,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Inspetor de cena... - - + + Scene inspector Inspetor de cena @@ -10733,13 +10057,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Voltar - - + + Go back to previous selection Voltar para a seleção anterior @@ -10747,13 +10071,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Bounding box - - + + Show selection bounding box Show selection bounding box @@ -10761,13 +10085,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Avançar - - + + Repeat the backed selection Repeat the backed selection @@ -10789,13 +10113,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Selecionar objetos visíveis - - + + Select visible objects in the active document Selecionar objetos visíveis no documento ativo @@ -10817,13 +10141,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Aparência ... - - + + Sets the display properties of the selected object Define as propriedades de exibição do objeto selecionado @@ -10831,13 +10155,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Mostrar Todos os Objetos - - + + Show all objects in the document Mostrar Todos os Objetos no Documento @@ -10845,13 +10169,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Mostrar Seleção - - + + Show all selected objects Mostrar Todos os Objetos Selecionados @@ -10887,13 +10211,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Mapeamento de textura... - - + + Texture mapping Mapeamento da Textura @@ -10929,13 +10253,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Plano de corte (clipping) - - + + Toggles clipping plane for active view Ativar/desativar plano de corte (clipping) da vista ativa @@ -10943,13 +10267,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Alternar o modo de navegação/modo de edição - - + + Toggle between navigation and edit mode Alternar entre o modo de edição e navegação @@ -10957,13 +10281,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Alternar Todos os Objetos - - + + Toggles visibility of all objects in the active document Alterna a visibilidade de todos os objetos no documento ativo @@ -10971,13 +10295,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Alternar seletibilidade - - + + Toggles the property of the objects to get selected in the 3D-View Alterna a propriedade dos objetos para serem selecionados na Visualização a 3D @@ -10985,13 +10309,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Alternar Visibilidade - - + + Toggles visibility Alterna a visibilidade @@ -11041,13 +10365,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Collapse selected item - - + + Collapse currently selected tree items Collapse currently selected tree items @@ -11055,13 +10379,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Expandir item selecionado - - + + Expand currently selected tree items Expandir itens da árvore selecionados atualmente @@ -11069,13 +10393,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Selecionar todas as instâncias - - + + Select all instances of the current selected object Selecionar todas as instâncias do objeto atual @@ -11083,13 +10407,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions TreeView actions - - + + TreeView behavior options and actions TreeView behavior options and actions @@ -11153,13 +10477,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom De baixo - - + + Set to bottom view Mostrar vista de baixo @@ -11167,13 +10491,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Criar nova janela de visualização - - + + Creates a new view window for the active document Cria uma nova janela de visualização para o documento ativo @@ -11181,13 +10505,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimetrica - - + + Set to dimetric view Ver axonometria dimétrica @@ -11195,13 +10519,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Exemplo Inventor #1 - - + + Shows a 3D texture with manipulator Mostra uma textura 3D com manipulador @@ -11209,13 +10533,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Exemplo Inventor #2 - - + + Shows spheres and drag-lights Mostra as esferas e luzes-arrastadas (drag-lights) @@ -11223,13 +10547,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Exemplo Inventor #3 - - + + Shows a animated texture Mostra uma textura animada @@ -11237,13 +10561,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Visualizar tudo - - + + Fits the whole content on the screen Ajustar todo o conteúdo à tela @@ -11251,13 +10575,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Enquadrar seleção - - + + Fits the selected content on the screen Enquadra o conteúdo selecionado no monitor @@ -11265,13 +10589,13 @@ the current copy will be lost. StdCmdViewFront - + Front Frente - - + + Set to front view Mostrar vista frontal @@ -11279,13 +10603,13 @@ the current copy will be lost. StdCmdViewHome - + Home Início - - + + Set to default home view Definir como vista inicial pré-definida @@ -11293,13 +10617,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Isométrica - - + + Set to isometric view Ver axonometria isométrica @@ -11307,13 +10631,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Mostrar a posição da câmera - - + + Issue the camera position to the console and to a macro, to easily recall this position Mostrar a posição da câmara na consola e numa macro, para recuperar facilmente essa posição @@ -11321,13 +10645,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereo Interleaved Columns - - + + Switch stereo viewing to Interleaved Columns Alternar visualização stereo para colunas intercalados @@ -11335,13 +10659,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Linhas intercaladas Stereo - - + + Switch stereo viewing to Interleaved Rows Alternar vista stereo para linhas intercalados @@ -11349,13 +10673,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Desligar Stereo - - + + Switch stereo viewing off Desligar vista stereo @@ -11363,13 +10687,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo quad buffer - - + + Switch stereo viewing to quad buffer Alternar vista stereo para quad buffer @@ -11377,13 +10701,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo vermelho/ciano - - + + Switch stereo viewing to red/cyan Alternar vista stereo vermelho/ciano @@ -11391,13 +10715,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Esquerda - - + + Set to left view Mostrar vista esquerda @@ -11405,13 +10729,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Traseira - - + + Set to rear view Mostrar vista de trás @@ -11433,13 +10757,13 @@ the current copy will be lost. StdCmdViewRight - + Right Direita - - + + Set to right view Mostrar vista direita @@ -11447,13 +10771,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Rodar para a Esquerda - - + + Rotate the view by 90° counter-clockwise Rodar a vista 90º no sentido anti-horário @@ -11461,13 +10785,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Rodar para a Direita - - + + Rotate the view by 90° clockwise Rodar a vista 90º no sentido horário @@ -11489,13 +10813,13 @@ the current copy will be lost. StdCmdViewTop - + Top Topo - - + + Set to top view Mostrar vista de cima @@ -11503,13 +10827,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimétrica - - + + Set to trimetric view Ver axonometria trimétrica @@ -11517,13 +10841,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Estender a janela 3D FreeCAD para Oculus Rift @@ -11587,13 +10911,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Ecrã inteiro - - + + Display the main window in fullscreen mode Mostrar a janela principal em ecrã completo @@ -11629,13 +10953,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11643,13 +10967,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11657,13 +10981,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Colapsar/Expandir - - + + Expand active document and collapse all others Expandir o documento ativo e colapsar todos os outros @@ -11671,12 +10995,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Iniciar arrastar - + Initiate dragging of current selected tree items Initiate dragging of current selected tree items @@ -11684,13 +11008,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Multi document - - + + Display all documents in the tree view Mostrar todos os documentos na vista em árvore @@ -11698,12 +11022,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Pré-seleção - + Preselect the object in 3D view when mouse over the tree item Preselect the object in 3D view when mouse over the tree item @@ -11711,12 +11035,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Record selection - + Record selection in tree view in order to go back/forward using navigation button Record selection in tree view in order to go back/forward using navigation button @@ -11724,13 +11048,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Ir para seleção - - + + Scroll to first selected item Ir para o primeiro item selecionado @@ -11738,13 +11062,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Documento único - - + + Only display the active document in the tree view Mostrar somente o documento ativo na vista em árvore @@ -11752,12 +11076,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Sync placement - + Auto adjust placement on drag and drop objects across coordinate systems Auto adjust placement on drag and drop objects across coordinate systems @@ -11765,12 +11089,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Seleção de sincronização - + Auto expand tree item when the corresponding object is selected in 3D view Auto expand tree item when the corresponding object is selected in 3D view @@ -11778,12 +11102,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Visualização de sincronização - + Auto switch to the 3D view containing the selected item Auto switch to the 3D view containing the selected item @@ -11791,13 +11115,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Zoom por caixa - - + + Activate the box zoom tool Activate the box zoom tool @@ -11805,13 +11129,13 @@ the current copy will be lost. StdViewDock - + Docked Ancorada - - + + Display the active view either in fullscreen, in undocked or docked mode Mostrar a vista activa em ecrã completo, em modo desencaixado ou encaixado @@ -11819,13 +11143,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Janela do documento - - + + Display the active view either in fullscreen, in undocked or docked mode Mostrar a vista activa em ecrã completo, em modo desencaixado ou encaixado @@ -11833,13 +11157,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Ecrã inteiro - - + + Display the active view either in fullscreen, in undocked or docked mode Mostrar a vista activa em ecrã completo, em modo desencaixado ou encaixado @@ -11847,13 +11171,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Save image... - - + + Creates a screenshot of the active view Salvar uma imagem da vista ativa @@ -11861,13 +11185,13 @@ the current copy will be lost. StdViewUndock - + Undocked Livre - - + + Display the active view either in fullscreen, in undocked or docked mode Mostrar a vista activa em ecrã completo, em modo desencaixado ou encaixado @@ -11875,13 +11199,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Zoom + - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11889,13 +11213,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Zoom - - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11930,72 +11254,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Como é - + Normal mode Modo normal - + Points Pontos - + Points mode Modo de pontos - + Wireframe aramado (wireframe) - + Wireframe mode Modo de aramado (Wireframe) - + Hidden line Linha oculta - + Hidden line mode Modo de linha oculta - + No shading Sem sombreamento - + No shading mode Modo sem sombreamento - + Shaded Sombreado - + Shaded mode Modo sombreado - + Flat lines Linhas planas - + Flat lines mode Modo linhas plana @@ -12058,32 +11382,32 @@ Ainda deseja prosseguir? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12091,117 +11415,117 @@ Ainda deseja prosseguir? Workbench - + &File &Ficheiro - + &Edit &Editar - + Edit Editar - + Clipboard Clipboard - + Workbench Bancada de trabalho - + Structure Estrutura - + Standard views Vistas Predefinidas - + Axonometric Axanométrico - + &Stereo &Stereo - + &Zoom &Zoom - + Visibility Visibilidade - + &View &Ver - + &Tools Ferramen&tas - + &Macro &Macro - + &Windows &Janelas - + &On-line help Ajuda na &Internet - + &Help &Ajuda - + Help Ajuda - + File Ficheiro - + Macro Macro - + View Ver - + Special Ops Operações especiais - + Link actions Link actions @@ -12209,12 +11533,12 @@ Ainda deseja prosseguir? Gui::MDIView - + Export PDF Exportar PDF - + PDF file Ficheiro PDF @@ -12222,196 +11546,190 @@ Ainda deseja prosseguir? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Notification Area - + Settings Ajustes - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Fontes de dados adicionais - + Errors intended for developers will appear in the notification area Erros destinados aos programadores aparecerão na área de notificação - + Debug errors Erros de depuração - + Warnings intended for developers will appear in the notification area Avisos destinados aos programadores vão aparecer na área de notificação - + Debug warnings Alertas de depuração - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Available Workbenches - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches Choose which workbench will be activated and shown after FreeCAD launches - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12424,12 +11742,12 @@ after FreeCAD launches 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport If checked, application will remember which workbench is active for each tab of the viewport - + Remember active workbench by tab Remember active workbench by tab @@ -12578,47 +11896,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded Loaded - + Load Carregar - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12626,17 +11944,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Barras de ferramentas - + Left corner Left corner - + Right corner Right corner @@ -12662,12 +11985,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12703,13 +12026,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image @@ -12771,10 +12094,815 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Ocorreu um erro -- consulte Visualização e Relatórios para mais informações + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opções + + + + Code lines will be numbered + Linhas de código serão numeradas + + + + Enable line numbers + Ativar os números da linha + + + + The cursor shape will be a block + The cursor shape will be a block + + + + Enable block cursor + Enable block cursor + + + + Enable folding + Ativar dobragem + + + + Indentation + Indentação + + + + Tab size: + Tamanho do Separador: + + + + Tabulator raster (how many spaces) + Tabulator raster (how many spaces) + + + + Indent size: + Tamanho da Indentação: + + + + How many spaces will be inserted when pressing <Tab> + Quantos espaços serão inseridos ao pressionar <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Pressing <Tab> will insert a tabulator with defined tab size + + + + Keep tabs + Manter Separadores + + + + Pressing <Tab> will insert amount of defined indent size + Pressing <Tab> will insert amount of defined indent size + + + + Insert spaces + Inserir Espaços + + + + Display items + Exibir itens + + + + Color and font settings will be applied to selected type + Definições de cor e fonte serão aplicadas ao tipo selecionado + + + + Family: + Tipo de Letra: + + + + Font family to be used for selected code type + Família de fonte a ser usada no tipo de código selecionado + + + + Size: + Tamanho: + + + + Font size to be used for selected code type + Tamanho da fonte a ser usado no tipo de código selecionado + + + + Color: + Cor: + + + + Preview: + Pré-visualizar: + + + + Text + Texto + + + + Bookmark + Marcador + + + + Breakpoint + Ponto de quebra + + + + Keyword + Palavra-chave + + + + Comment + Comentário + + + + Block comment + Bloquear comentário + + + + Number + Número + + + + String + Texto + + + + Character + Caráter + + + + Class name + Nome da Classe + + + + Define name + Definir Nome + + + + Operator + Operador + + + + Python output + Saída de Python + + + + Python error + Erro do Python + + + + Current line highlight + Linha atual realçada + + + + Items + Itens + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Geral + + + + Language and number format + Language and number format + + + + Language: + Language: + + + + Language of the application's user interface + Idioma da interface de utilizador da aplicação + + + + Unit system: + Sistema de unidades: + + + + Unit system that should be used for all parts of the application + Unit system that should be used for all parts of the application + + + + Number of decimals: + Número de casas decimais: + + + + Number of decimals that should be shown for numbers and dimensions + Number of decimals that should be shown for numbers and dimensions + + + + Minimum fractional inch: + Fração mínima de Polegada: + + + + Minimum fractional inch to be displayed + Minimum fractional inch to be displayed + + + + Number format: + Number format: + + + + Operating system + Sistema Operativo + + + + Selected language + Selected language + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + Substitute decimal separator + Substitute decimal separator + + + + Application + Aplicação + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Tamanho dos ícones da barra de ferramentas: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Escolha a sua preferência para o tamanho do ícone na barra de ferramentas. Você pode ajustar de acordo com o tamanho do seu ecrã ou gosto pessoal + + + + Tree view mode: + Tree view mode: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + + + + Size of recent file list: + Size of recent file list: + + + + How many files should be listed in recent files list + Quantos ficheiros devem ser listados na lista de ficheiros recentes + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + Enable tiled background + Habilitar o fundo em mosaico + + + + The text cursor will be blinking + The text cursor will be blinking + + + + Enable cursor blinking + Enable cursor blinking + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Uma janela de abertura é uma pequena janela de carregamento exibida +enquando o FreeCAD está a ser iniciado. Se esta opção estiver assinalada, o FreeCAD +exibirá a janela de abertura + + + + Enable splash screen at start up + Ativar a janela Boas-vindas ao iniciar + + + + Preference packs + Preference packs + + + + Name + Nome + + + + Type + Tipo + + + + Load + Carregar + + + + Import config... + Import config... + + + + Save new... + Save new... + + + + Manage... + Manage... + + + + Revert... + Revert... + + + + Manage preference packs + Manage preference packs + + + + Small (%1px) + Pequeno (%1px) + + + + Medium (%1px) + Médio (%1px) + + + + Large (%1px) + Grande (%1px) + + + + Extra large (%1px) + Extra grande (%1px) + + + + Custom (%1px) + Personalizado (%1px) + + + + Combo View + Visualização Combinada + + + + TreeView and PropertyView + TreeView and PropertyView + + + + Both + Ambos + + + + Preference Pack Name + Preference Pack Name + + + + Tags + Tags + + + + Apply + Aplicar + + + + Apply the %1 preference pack + Apply the %1 preference pack + + + + Choose a FreeCAD config file to import + Choose a FreeCAD config file to import + + + + File exists + File exists + + + + A preference pack with that name already exists. Overwrite? + A preference pack with that name already exists. Overwrite? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Visualizar Relatório + + + + Output + Destino + + + + Normal messages will be recorded + Mensagens normais serão gravadas + + + + Record normal messages + Gravar mensagens normais + + + + Log messages will be recorded + Log messages will be recorded + + + + Record log messages + Gravar registo das mensagens + + + + Warnings will be recorded + Avisos serão gravados + + + + Record warnings + Gravar avisos + + + + Error messages will be recorded + Mensagens de erro serão gravadas + + + + Record error messages + Gravar erros das mensagens + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Quando ocorre um erro, a caixa de diálogo Vista de Relatório torna-se visível +no ecrã enquanto mostra o erro + + + + Show report view on error + Mostrar vista de relatório em caso de erro + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Quando ocorre um aviso, a caixa de diálogo Vista de Relatório torna-se visível +no ecrã enquanto mostra o aviso + + + + Show report view on warning + Mostrar vista de relatório em caso de aviso + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Quando ocorre uma mensagem normal, a caixa de diálogo Vista de Relatório torna-se visível +no ecrã enquanto mostra a mensagem + + + + Show report view on normal message + Mostrar vista de relatório em caso de mensagem normal + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + + + + Show report view on log message + Show report view on log message + + + + Include a timecode for each report + Include a timecode for each report + + + + Include a timecode for each entry + Include a timecode for each entry + + + + Colors + Cores + + + + Normal messages: + Mensagens normais: + + + + Font color for normal messages in Report view panel + Font color for normal messages in Report view panel + + + + Log messages: + Mensagens de registo: + + + + Font color for log messages in Report view panel + Font color for log messages in Report view panel + + + + Warnings: + Avisos: + + + + Font color for warning messages in Report view panel + Font color for warning messages in Report view panel + + + + Errors: + Erros: + + + + Font color for error messages in Report view panel + Font color for error messages in Report view panel + + + + Python interpreter + Interpretador Python + + + + Internal Python output will be redirected +from Python console to Report view panel + Internal Python output will be redirected +from Python console to Report view panel + + + + Redirect internal Python output to report view + Redirecionar a saída interna de Python para a vista de relatório + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Internal Python error messages will be redirected +from Python console to Report view panel + + + + Redirect internal Python errors to report view + Redirecionar erros internos do Python para a vista de relatório + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Nenhum estilo de folha + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_ro.ts b/src/Gui/Language/FreeCAD_ro.ts index 676cc5b3c2..312fb2726d 100644 --- a/src/Gui/Language/FreeCAD_ro.ts +++ b/src/Gui/Language/FreeCAD_ro.ts @@ -42,29 +42,29 @@ Dimensiunea vizuală a formei - + <empty> (gol) - - + + Angle Unghi - - + + Axis Axele - + Position Position - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Testarea consolei de ieşire - - + + Run test cases to verify console messages Rulează testele pentru verificarea mesajelor din consolă @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Suprimă măsurătoarea - + Clear all visible measurements Ştergeţi toate măsurătorile vizibile @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Activează/dezactivează măsurătoarea - + Turn on or off the display of all measurements Porniţi sau opriţi afişajul tuturor măsurătorilor @@ -132,7 +132,7 @@ Ştergeţi - + Paste expressions Lipește expresii @@ -182,7 +182,7 @@ Adaugă un grup - + Align Align @@ -193,40 +193,40 @@ Amplasare - - + + Transform Transformare - + Toggle array elements Comutare elemente matrice - + Link Transform Transformarea legăturii - + Measure distance Măsoară distanţa - + Toggle visibility Activează/dezactivează vizibilitate - + Toggle selectability Activează/dezactivează selectabilitatea - + Edit image Editare imagine @@ -234,77 +234,77 @@ CommandGroup - + File Fişier - + Edit Editare - + Help Ajutor - + Link Link - + Tools Instrumente - + View Vizualizare - + Window Fereastră - + Standard Standard - + Macros Macro-uri - + Macro Macrocomandă - + Structure Structura - + Standard-Test Test Standard - + Standard-View Vedere standard - + TreeView Vizualizare arborescentă - + Measure Măsură @@ -402,11 +402,6 @@ DownloadItem - - - Form - Formular - Ico @@ -421,42 +416,42 @@ EditMode - + Default Implicit - + The object will be edited using the mode defined internally to be the most appropriate for the object type Obiectul va fi editat folosind modul definit intern pentru a fi cel mai potrivit pentru tipul obiectului - + Transform Transformare - + The object will have its placement editable with the Std TransformManip command Obiectul va avea posibilitatea de a plasa cu comanda Std TransformManip - + Cutting Tăiere - + This edit mode is implemented as available but currently does not seem to be used by any object Acest mod de editare este implementat ca disponibil, dar în prezent nu pare să fie folosit de orice obiect - + Color Culoare - + The object will have the color of its individual faces editable with the Part FaceColors command Obiectul va avea culoarea fețelor sale individuale editabile cu comanda Part FaceColors @@ -482,7 +477,7 @@ niciunul - + Press a keyboard shortcut Apasă o scurtătură la tastatură @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Disponibil: - + Selected: Selectat: - + Add Adaugă - + Remove Elimină - + Move up Deplasare în sus - + Move down Deplasare în jos @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Obiect deplasabil - + Fixed object Obiect fixat @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Vă rugăm să aşteptaţi până când s-a salvat fișierul AutoRecovery... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Apăsă butonul stânga al mouse-ului - + Press SHIFT and middle mouse button Apasă SHIFT şi butonul din mijloc al mouse-ului - + Press middle mouse button Apasati butonul din mijloc al mouse-ului - + Scroll middle mouse button Deruleaza folosind butonul din mijloc al mouse-ului @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Apăsă butonul stânga al mouse-ului - + Press middle mouse button Apasati butonul din mijloc al mouse-ului - + Press middle+left or middle+right button Press middle+left or middle+right button - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Scroll middle mouse button or keep middle button depressed @@ -615,12 +610,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &OK - + &Cancel &Revocare @@ -628,7 +623,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Panoul de activitate @@ -712,47 +707,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Contributii - + FreeCAD would not be possible without the contributions of FreeCAD nu ar fi posibil fără contribuțiile - + Individuals Header for the list of individual people in the Credits list. Persoane - + Organizations Header for the list of companies/organizations in the Credits list. Organizaţii - - + + License Licenţă - + Libraries Libraries - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: This software uses open source components whose copyright and other proprietary rights belong to their respective owners: - + Collection Colecție @@ -760,22 +755,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Director cache - + The cache directory %1 exceeds the size of %2. Directorul de cache %1 depăşeşte dimensiunea de %2. - + Do you want to clear it now? Doriți sa îl curățați acum? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Atenție: Asigurați-vă că aceasta este singura instanță %1 care rulează și că niciun document nu este deschis, deoarece vă puteți pierde datele! @@ -796,37 +791,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Setari camera - + Orientation Orientarea - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vedere curentă @@ -892,7 +887,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Comenzi @@ -1117,12 +1112,12 @@ Cu toate acestea, proprietatea este încă utilizată într-un script cu numele Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Pachetul există deja - + A preference pack with that name already exists. Do you want to overwrite it? Un pachet de preferințe cu același nume există deja. Doriți sa îl suprascrieți? @@ -1360,48 +1355,48 @@ acelasi timp. Va fi declanșat cel cu cea mai mare prioritate. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Tastați pentru a căuta ... - + Icon Iconiță - + Command Comanda - + Shortcut Comandă rapidă - + Default Implicit - + Name Nume - + Title Titlu - + All Toate - - + + none niciunul @@ -1409,8 +1404,8 @@ acelasi timp. Va fi declanșat cel cu cea mai mare prioritate. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Bare de instrumente @@ -1499,40 +1494,40 @@ acelasi timp. Va fi declanșat cel cu cea mai mare prioritate. - + <Separator> <Separator> - + %1 module not loaded Modulul %1 nu a fost încărcat - + New toolbar Bară de instrumente nouă - - + + Toolbar name: Numele barei de instrumente: - - + + Duplicated name Numele este dublură - - + + The toolbar name '%1' is already used Numele barei de instrumente '%1' este deja utilizat - + Rename toolbar Redenumiţi bara de instrumente @@ -1545,19 +1540,19 @@ acelasi timp. Va fi declanșat cel cu cea mai mare prioritate. Gui::Dialog::DlgCustomizeImp - + Customize Personalizare - + &Help &Ajutor - + &Close &Inchide @@ -1566,13 +1561,13 @@ acelasi timp. Va fi declanșat cel cu cea mai mare prioritate. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Miscarea Spaceball - + No Spaceball Present Nici un Spaceball găsit @@ -1580,27 +1575,27 @@ acelasi timp. Va fi declanșat cel cu cea mai mare prioritate. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Butoane Spaceball - + No Spaceball Present Nici un Spaceball găsit - + Buttons Butoane - + Reset Reinițializare - + Print Reference Imprimare - referinta @@ -1685,551 +1680,123 @@ acelasi timp. Va fi declanșat cel cu cea mai mare prioritate. Gui::Dialog::DlgDisplayPropertiesImp - + Default Implicit - + Aluminium Aluminiu - + Brass Alamă - + Bronze Bronz - + Copper Cupru - + Chrome Crom - + Emerald Smarald - + Gold Aur - + Jade Jad - + Metalized Metalizat - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidian - + Pewter Cositor - + Plaster Ipsos - + Plastic Din material plastic - + Ruby Rubin - + Satin Satin/atlas/mătase - + Shiny plastic Plastic lucios - + Silver Argint - + Steel Oţel - + Stone Piatră Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opţiuni - - - - Code lines will be numbered - Liniile de cod vor fi numerotate - - - - Enable line numbers - Activează numerotarea liniilor - - - - The cursor shape will be a block - Forma cursorului va fi un bloc - - - - Enable block cursor - Activare cursor bloc - - - - Enable folding - Activează plierea - - - - Indentation - Identație/retragere - - - - Tab size: - Mărime tabulator: - - - - Tabulator raster (how many spaces) - Rasterul tabulatorului (câte spații) - - - - Indent size: - Demensiunea identației /retragerii: - - - - How many spaces will be inserted when pressing <Tab> - Câte spații vor fi inserate la apăsarea tastei <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Apăsarea tastei <Tab> va insera un tabulator cu dimensiunea definită a tab-ului - - - - Keep tabs - Păstrează tabulatorii - - - - Pressing <Tab> will insert amount of defined indent size - Apăsarea tastei <Tab> va insera indentația conform dimensiunii definite - - - - Insert spaces - Inseraţi spaţii - - - - Display items - Afişare elemente - - - - Color and font settings will be applied to selected type - Setările de culoare și font vor fi aplicate tipului selectat - - - - Family: - Familie: - - - - Font family to be used for selected code type - Familia de fonturi care va fi folosită pentru tipul de cod selectat - - - - Size: - Dimensiune: - - - - Font size to be used for selected code type - Dimensiunea fontului pentru tipul de cod selectat - - - - Color: - Culoare: - - - - Preview: - Previzualizare: - - - Gui::Dialog::DlgGeneral - - - General - General - - - - Language of the application's user interface - Limba interfeței pentru utilizator a aplicației - - - - Number format: - Format număr: - - - - Operating system - Sistem de operare - - - - Selected language - Limba selectată - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Dacă este activat, separatorul zecimal de tastatură numerică -va fi înlocuit cu separator local, exceptând -în Python Console și Macro Editor, unde un -punct/period va fi întotdeauna imprimat. - - - - Preference packs - Pachete de preferințe - - - - Name - Nume - - - - Type - Tip - - - - Load - Incarcă - - - - Import config... - Importă configurația... - - - - Save new... - Salvează nou... - - - - Manage... - Gestionează... - - - - Revert... - Revenire/restabilire... - - - - How many files should be listed in recent files list - Câte fişiere trebuie afișate în lista de fişiere recente - - - - Enable tiled background - Activează fundalul în mozaic - - - - The text cursor will be blinking - Cursorul de text va clipi - - - - Enable cursor blinking - Activează clipirea cursorului - - - - Style sheet: - Stil foaie: - - - - Language and number format - Limbă și format de număr - - - - Language: - Limba: - - - - Unit system: - Sistem de unitate: - - - - Unit system that should be used for all parts of the application - Sistem unităților de măsură care ar trebui să fie utilizat pentru toate componentele aplicației - - - - Number of decimals: - Număr de zecimale: - - - - Number of decimals that should be shown for numbers and dimensions - Numărul de zecimale care ar trebui afișate pentru numere și dimensiuni - - - - Minimum fractional inch: - Fracțiunea minimă în Inch: - - - - Minimum fractional inch to be displayed - Fracțiunea minimă de inch care va fi afișată - - - - Substitute decimal separator - Separator zecimal înlocuitor - - - - Application - Aplicație - - - - Style sheet how user interface will look like - Foaie de stil despre cum va arăta interfața utilizatorului - - - - Size of toolbar icons: - Dimensiunea iconițelor in toolbar: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Alegeți preferința dumneavoastră pentru dimensiunea pictogramelor din bara de instrumente. Puteți ajusta -acest lucru în funcție de dimensiunea ecranului sau de gustul personal - - - - Tree view mode: - Vizualizare tip arbore: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Personalizați modul în care este afișată vizualizarea arborelui în panou (este necesară repornirea). - -'ComboView': combinați vizualizarea arborelui și a proprietății într-un singur panou. -'TreeView și PropertyView': vizualizare arborele împărțit și vizualizare proprietate în panou separat. -'Ambele': păstrați toate cele trei panouri și puteți avea două seturi de vizualizare a arborelui și a proprietății. - - - - Size of recent file list: - Dimensiunea listei de fişiere recente: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Fundalul ferestrei principale (atunci când nu este deschis niciun document) va fi format din plăci ale unei imagini speciale. -Consultați Wiki FreeCAD pentru detalii despre imagine. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Un ecran de pornire este o mică fereastră de încărcare care este afișată -atunci când FreeCAD este lansat. În cazul în care această opțiune este bifată, FreeCAD va afișa -ecranul de pornire - - - - Enable splash screen at start up - Activează ecranul inițial de bun sosit la pornire - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Gestionează pachetele de preferințe - - - - Small (%1px) - Mic (%1px) - - - - Medium (%1px) - Mediu (%1px) - - - - Large (%1px) - Mare (%1px) - - - - Extra large (%1px) - Foarte mare (%1px) - - - - Custom (%1px) - Personalizat (%1px) - - - - Combo View - Vizualizare combo - - - - TreeView and PropertyView - VedereArbore și VedereProprietăți - - - - Both - Ambele - - - - No style sheet - Fără stil foaie - - - - Preference Pack Name - Numele pachetului de preferințe - - - - Tags - Etichete - - - - Apply - Aplică - - - - Apply the %1 preference pack - Aplică pachetul de preferințe %1 - - - - Choose a FreeCAD config file to import - Alegeți un fișier de configurare FreeCAD pentru import - - - - File exists - Fișier existent - - - - A preference pack with that name already exists. Overwrite? - Un pachet de preferințe cu același nume există deja. Doriți sa îl suprascrieți? - - Gui::Dialog::DlgInputDialog @@ -2245,8 +1812,8 @@ ecranul de pornire Gui::Dialog::DlgInspector - - + + Scene Inspector Inspector Scenă @@ -2338,71 +1905,71 @@ ecranul de pornire Gui::Dialog::DlgMacroExecuteImp - + Macros Macro-uri - + Read-only Numai în citire - + Macro file Fişier macro - + Enter a file name, please: Vă rugăm să introduceți un nume de fişier: - - - + + + Existing file Fișier existent - + '%1'. This file already exists. '%1'. Acest fişier există deja. - + Cannot create file Imposibil de creat fisierul - + Creation of file '%1' failed. Crearea fisierului '%1' nu a reusit. - + Delete macro Ştergeţi macrocomanda - + Do you really want to delete the macro '%1'? Într-adevăr doriţi să ştergeţi macrocomanda '%1'? - + Do not show again Nu mai arăta din nou - + Guided Walkthrough Walkthrough ghidat - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2413,76 +1980,76 @@ Notă: modificările dvs. vor fi aplicate la schimbarea următoare a bancului de - + Walkthrough, dialog 1 of 2 Walkthrough, dialog 1 din 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Instrucțiuni walkthrough: Completați câmpurile lipsă (opțional) apoi apăsați „Adăugați”, apoi Închide - + Walkthrough, dialog 1 of 1 Walkthrough, dialog 1 din 1 - + Walkthrough, dialog 2 of 2 Walkthrough, dialog 2 din 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instrucțiuni walkthrough: Apasă butonul săgeată dreapta (->), apoi Închide. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Instrucțiuni walkthrough: Apasă butonul Nou, apoi săgeată dreapta (->), apoi Închide. - + Renaming Macro File Redenumirea fişierului Macro - - + + Enter new name: Introduceţi numele nou: - - + + '%1' already exists. '%1' există deja. - + Rename Failed Redenumirea a eșuat - + Failed to rename to '%1'. Perhaps a file permission error? Nu a reușit să redenumească ca '%1'. Probabil că este o eroare de permisiuni atașate fișierului? - + Duplicate Macro Fațete duplicate - + Duplicate Failed Dublare eșuată - + Failed to duplicate to '%1'. Perhaps a file permission error? Nu a reușit să redenumească ca '%1'. Probabil că este o eroare de permisiuni atașate fișierului? @@ -2524,39 +2091,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Înregistratorul de macrocomenzi - + Specify first a place to save. Specificaţi mai întâi un loc pentru a salva. - + The macro directory doesn't exist. Please, choose another one. Directorul pentru macroinstructiuni nu exista; alege altul. - + Existing macro Macrocomanda existentă - + The macro '%1' already exists. Do you want to overwrite? Macrocomanda '%1' există deja. Doriţi să suprascrieţi? - + You have no write permission for the directory. Please, choose another one. Nu aveți permisiune de scriere pentru acest director. Alegeți altul. - + Choose macro directory Selecteaza directorul pentru macroinstructiuni @@ -2629,12 +2196,12 @@ Perhaps a file permission error? Fişierele HTML - + Access denied Acces nepermis - + Access denied to '%1' Specify another directory, please. @@ -3033,36 +2600,36 @@ Specify another directory, please. Fișierul proiectului - - + + Empty source Sursa goala - - + + No source is defined. Nici o sursa nu a fost definita. - - + + Empty destination Destinatie goala - - + + No destination is defined. Nici o destinatie nu a fost definita. - + Failed to extract project Extragerea proiectului a eșuat - + Failed to create project Crearea proiectului a eșuat @@ -3112,188 +2679,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Vezualizare raport - - - - Output - Ieşire - - - - Normal messages will be recorded - Mesajele normale vor fi înregistrate - - - - Record normal messages - Înregistrează mesajele normale - - - - Log messages will be recorded - Jurnalul de mesaje va fi înregistrat - - - - Record log messages - Înregistrare mesaje în jurnal - - - - Warnings will be recorded - Avertismentele vor fi înregistrate - - - - Record warnings - Înregistrează avertismente - - - - Error messages will be recorded - Mesajele de eroare vor fi înregistrate - - - - Record error messages - Înregistrează mesajele de eroare - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Când a apărut o eroare, fereastra de vizualizare raport va devini vizibilă -pe ecran în timpul afișării erorii - - - - Show report view on error - Arată vizualizarea raportului pentru eroare - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Când a apărut un avertisment, fereastra Vizualizare Raport va deveni vizibilă -pe ecran în timpul afișării avertismentului - - - - Show report view on warning - Arată Vizualizare Raport pentru avertismente - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Când a apărut un mesaj normal, fereastra Vizualizare Raport va deveni vizibilă -pe ecran în timp ce afișează mesajul - - - - Show report view on normal message - Arată rapoarte pentru mesajele normale - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Când a apărut un mesaj de jurnal, fereastra Vizualizare Raport va deveni vizibilă -pe ecran în timp ce afișează mesajul de jurnal - - - - Show report view on log message - Arată rapoarte pentru mesajele de jurnal - - - - Include a timecode for each report - Include ora pentru fiecare raport - - - - Include a timecode for each entry - Include ora pentru fiecare înregistrare - - - - Colors - Culori - - - - Normal messages: - Mesaje normale: - - - - Font color for normal messages in Report view panel - Culoarea font-ului pentru mesajele normale în fereastra de Vizualizare Rapoarte - - - - Log messages: - Mesaje de jurnal: - - - - Font color for log messages in Report view panel - Culoarea font-ului pentru mesajele de jurnal în fereastra de Vizualizare Rapoarte - - - - Warnings: - Avertismente: - - - - Font color for warning messages in Report view panel - Culoarea font-ului pentru mesajele de avertizare în panoul de vizualizare Rapoarte - - - - Errors: - Erori: - - - - Font color for error messages in Report view panel - Culoarea font-ului pentru mesajele de eroare în panoul de vizualizare Rapoarte - - - - Python interpreter - Interpretor de Python - - - - Internal Python output will be redirected -from Python console to Report view panel - Mesajele interne Python vor fi redirecționate -din consola Python către panoul de vizualizare Rapoarte - - - - Redirect internal Python output to report view - Redirectioneaza textele generate de Python catre panoul de raportare - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Mesajele de eroare interne Python vor fi redirecționate -din consola Python către panoul de vizualizare Rapoarte - - - - Redirect internal Python errors to report view - Redirectioneaza erorile interne generate de Python catre panoul de raportare - @@ -3320,7 +2705,7 @@ din consola Python către panoul de vizualizare Rapoarte Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Nicio selecţie în dialog, nu se poate încărca fişierul copie de rezervă @@ -3363,7 +2748,7 @@ din consola Python către panoul de vizualizare Rapoarte Ajutor - + Select a file Selectaţi un fişier @@ -3371,70 +2756,70 @@ din consola Python către panoul de vizualizare Rapoarte Gui::Dialog::DlgSettings3DView - + 3D View Vizualizare 3D - + General General - + Main coordinate system will always be shown in lower right corner within opened files Sistemul principal de coordonate va fi întotdeauna afișat în colțul din dreapta jos în cadrul fișierelor deschise - + Show coordinate system in the corner Arată sistemul de coordonate în colţ - + Relative size : Dimensiune relativă: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Mărimea reprezentării coordonatelor principale în colţ -- în % înălţime/lăţime de vizualizare - + Axis cross will be shown by default at file opening or creation Crucea axei va fi afișată implicit la deschiderea sau crearea fișierului - + Show axis cross by default Afișare implicită a sistemului de axe - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Timpul necesar pentru ultima operațiune și rata de cadre rezultată vor fi afișate în colțul din stânga jos în fișierele deschise - + Show counter of frames per second Arată contorul de cadre pe secundă - + Rendering Randare - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3443,22 +2828,22 @@ Changing this option requires a restart of the application. Modificarea acestei opțiuni necesită repornirea aplicației. - + Use software OpenGL Utilizaţi OpenGL software - + Use OpenGL VBO (Vertex Buffer Object) Utilizaţi OpenGL VBO (Vertex Buffer Object) - + Render cache Cache-ul de randare - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3481,7 +2866,7 @@ probleme, de la anomalii grafice la erori de blocare a GPU-ului. A își aminti raportați această setare ca fiind activată atunci când căutați asistență pe forumurile FreeCAD - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3498,92 +2883,92 @@ doar cache-ul din nodul rădăcină al graficului de scenă. Aceasta oferă cea dar un răspuns mai lent la orice schimbare de scenă. - + Auto Automat - + Distributed Distribuit - + Centralized Centralizat - + Anti-Aliasing Anti-aliasing - + What kind of multisample anti-aliasing is used Ce tip de antialiasing multisample se utilizează - + None Niciunul - + Line Smoothing Netezire linie - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Obiecte transparente: - + Render types of transparent objects Redare tipuri de obiecte transparente - + One pass O trecere - + Backface pass Trecere pe verso - + Marker size: Dimensiune marcator: - - Size of vertices in the Sketcher workbench - Mărimea nodurilor în atelierul de lucru Sketcher + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Distanța dintre ochi pentru modurile stereo - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3592,48 +2977,48 @@ Valoarea specificată este un factor care va fi multiplicat cu dimensiunea casetei de încadrare a obiectului 3D care este afișat în prezent. - + Backlight is enabled with the defined color Lumina de fundal este activată având culoarea definită - - + + Backlight color Culoarea luminii de fundal - + Intensity Intensitate - + Intensity of the backlight Intensitatea luminii de fundal - + Camera type Tipul camerei video - + Objects will appear in a perspective projection Obiectele vor apărea într-o proiecție de perspectivă - + Perspective renderin&g Redar&e din perspectivă - + Objects will be projected in orthographic projection Obiectele vor fi proiectate în proiecții ortografice - + Or&thographic rendering Vedere or&togonală @@ -3645,42 +3030,42 @@ dimensiunea casetei de încadrare a obiectului 3D care este afișat în prezent. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anti-aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Deschide un vizualizator nou sau reporniţi %1 pentru a aplica modificările anti-aliasing. @@ -3688,77 +3073,77 @@ dimensiunea casetei de încadrare a obiectului 3D care este afișat în prezent. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Director cache - + Location: Locaţie: - + Check periodically at program start: Verifică periodic la pornirea programului: - + Always Întotdeauna - + Daily Daily - + Weekly Weekly - + Monthly Lunar - + Yearly Anual - + Never Never - + Cache size limit: Limita de dimensiune a cache: - + Check now... Verifică acum... - + Notify the user if the cache size exceeds the specified limit Notifică utilizatorul dacă dimensiunea geocutiei depăşeşte limita specificată - + Unknown Necunoscut - + Current cache size: %1 Dimensiunea actuală a memoriei cache: %1 @@ -3919,12 +3304,12 @@ pe lângă bara de culori Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Parametru greşit - + The maximum value must be higher than the minimum value. Valoarea maximă trebuie să fie mai mare decât valoarea minimă. @@ -3932,182 +3317,182 @@ pe lângă bara de culori Gui::Dialog::DlgSettingsDocument - + Document Documentul - + General General - + The application will create a new document when started Aplicația va crea un nou document la pornire - + Create new document at start up Creează un document nou la pornire - + Document save compression level (0 = none, 9 = highest, 3 = default) nivelul de comprimare al documentului (0=deloc, 9=cel mai mare, 3=implicit) - + Compression level for FCStd files Nivel de compresie pentru fișierele FCStd - + All changes in documents are stored so that they can be undone/redone Toate modificările în documente sunt stocate astfel încât să poată fi anulate/refăcute - + Using Undo/Redo on documents Folosire Undo/Redo in documente - + Maximum Undo/Redo steps Numar maxim de pasi in Undo/Redo - + How many Undo/Redo steps should be recorded Câți pași Undo/Redo trebuie înregistrați - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Permite utilizatorului să anuleze recalcularea documentului apăsând ESC. Această caracteristică poate crește ușor timpul de recalculare. - + Allow aborting recomputation Permite abandonarea recalculării - + Storage Stocare - + Saving transactions (Auto-save) Salvare tranzacţii (Autosave) - + Discard saved transaction after saving document Renunțați la tranzacţia salvată după salvarea documentului - + If there is a recovery file available the application will automatically run a file recovery when it is started. Dacă există un fişier de recuperare disponibil, aplicaţia va rula automat un fişier de recuperare la pornire. - + Run AutoRecovery at startup Lansați AutoRecovery la pornire - + How often a recovery file is written Cât de des este scris un fișier de recuperare - + Save AutoRecovery information every Salvați informația la fiecare AutoRecovery - + A thumbnail will be stored when document is saved O imagine în miniatură va fi stocată când documentul este salvat - + Save thumbnail into project file when saving document Salvaţi pictograma în fişierul proiect la salvarea documentului - + Size Dimensiune - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Setează dimensiunea imaginii miniaturale care este stocată în document. Dimensiunile comune sunt 128, 256 și 512 - + The program logo will be added to the thumbnail Logo-ul programului va fi adăugat la imaginea miniaturală - + Add the program logo to the generated thumbnail Adăugați logo programului la miniatura générată - + How many backup files will be kept when saving document Câte fişiere de rezervă vor fi păstrate la salvarea documentului - + Maximum number of backup files to keep when resaving document Numărul maxim de fişiere de rezervă pentru a menţine atunci când se re-salvează documentului - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Fișierele de rezervă vor primi extensia '.FCbak' și numele fișierelor obțin sufixul datei în conformitate cu formatul specificat - + Use date and FCBak extension Utilizează data și extensia FCBak - + Date format Formatul datei - + Document objects Obiecte din document - + Allow objects to have same label Permite obiectelor să aibă aceeași etichetă/nume - + Allow duplicate object labels in one document Permite duplicarea etichetelor de obiecte intr-un document - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4120,22 +3505,22 @@ Un document parțial încărcat nu poate fi editat. Faceți dublu clic pe pictog din vizualizarea arbore, pentru a-l reîncărca complet. - + Disable partial loading of external linked objects Dezactivează încărcarea parțială a obiectelor externe conectate - + Authoring and License Autor şi licenţă - + Author name Numele autorului - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4144,32 +3529,32 @@ Păstrați necompletat pentru anonim. Puteți folosi și formatul: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Câmpul 'Ultima modificare de' va fi setat pe autorul specificat la salvarea fișierului - + Set on save Définit în timpul salvării - + Company Companie - + Default company name to use for new files Numele companiei implicit ce va fi folosit pentru fişiere noi - + Default license Licența implicită - + Default license for new documents Licența implicită pentru documentele noi @@ -4239,12 +3624,12 @@ Puteți folosi și formatul: John Doe <john@doe.com> Altceva - + License URL URL licență - + URL describing more about the license URL care descrie mai multe despre licență @@ -4252,104 +3637,21 @@ Puteți folosi și formatul: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Formatul datei ce va fi utilizat. - + Default Implicit - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Text - - - - Bookmark - Semn de carte - - - - Breakpoint - Punct de întrerupere - - - - Keyword - Cuvânt cheie - - - - Comment - Comentariu - - - - Block comment - Comentariu de bloc - - - - Number - Număr - - - - String - Şir - - - - Character - Caracter - - - - Class name - Numele clasei - - - - Define name - Definiți numele - - - - Operator - Operator - - - - Python output - Ieşire Python - - - - Python error - Eroare Python - - - - Current line highlight - Evidentiere linie curenta - - - - Items - Elemente - - Gui::Dialog::DlgSettingsImage @@ -4530,122 +3832,122 @@ Puteți folosi și formatul: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Macrocomandă - + General macro settings Setari generale pentru macroinstructiuni - + Variables defined by macros are created as local variables Variabilele definite de macro-uri sunt create ca variabile locale - + Run macros in local environment Ruleaza macroinstructiuni in mediul curent - + Macro recording settings Setările de înregistrare macrocomandă - + Macro path Calea macrocomenzii - + The directory in which the application will search for macros Directorul în care aplicația va căuta macro-uri - + Gui commands Comenzi interfață grafică GUI - + Recorded macros will also contain user interface commands Macro-urile înregistrate vor conține și comenzi ale interfeței utilizatorului - + Record GUI commands Înregistrare comenzi GUI - + Recorded macros will also contain user interface commands as comments Macro-urile înregistrate vor conține, de asemenea, comenzile interfeței utilizatorului ca și comentarii - + Record as comment Înregistrează ca și comentariu - + Logging Commands Comenzi pentru jurnal - + Commands executed by macro scripts are shown in Python console Comenzile executate de scripturile macro sunt afișate în consola Python - + Show script commands in python console Arată comenzile script-ului în consola python - + Log all commands issued by menus to file: Salvează toate comenzile inițiate de meniuri în fișierul: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Meniu cu macro-uri recente - + Size of recent macro list Dimensiunea listei cu macro-uri recente - + How many macros should be listed in recent macros list Câte macro-uri ar trebui să fie listate în lista de macro-uri recente - + Keyboard shortcut count Numărul de comenzi rapide - + How many recent macros should have shortcuts Câte macro-uri recente ar trebui să aibă comenzi rapide - + Keyboard Modifiers Modificatori de tastatură - + Keyboard modifiers, default = Ctrl+Shift+ Modificatori de tastatură, implicit = Ctrl+Shift+ @@ -4653,130 +3955,130 @@ Puteți folosi și formatul: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigare - + Navigation cube Cub de navigare - + Steps by turn Pași prin rotire - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Numărul de pași prin rotire când se folosesc săgeți (implicit = 8: unghi pas = 360/8 = 45 deg) - + Corner Colţ - + Corner where navigation cube is shown Colțul unde este afișat cubul de navigație - + Top left Stânga sus - + Top right Dreapta sus - + Bottom left Stânga jos - + Bottom right Dreapta jos - + Rotates to nearest possible state when clicking a cube face Se rotește la cea mai apropiată stare posibilă când dați click pe o față de cub - + Rotate to nearest Rotire la cel mai apropiat - + Font name: Nume font: - + Font name of the navigation cube Numele fontului cubului de navigare - + Default Implicit - + Cube size Dimensiune Cub - + Size of the navigation cube Dimensiunea cubului de navigare - + Color Culoare - + Base color for all elements Base color for all elements - + 3D Navigation Navigare 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Listează configurările butonului mouse-ului pentru fiecare setare de navigare aleasă. Selectează un set și apoi apasă butonul pentru a vedea configurația menționată. - + Mouse... Mouse... - + Navigation settings set Set de setări de navigație - + Orbit style Stil de rotație - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4787,116 +4089,116 @@ Turntable: partea va fi rotită în jurul axei z (cu axe constrânse). Gratuit de întoarcere: partea va fi rotită în jurul axei z. - + Turntable Placa turnantă - + Trackball Trackball - + Free Turntable Gratuit de Turntable - + Rotation mode Modul de rotație - + Rotations in 3D will use current cursor position as center for rotation Rotațiile în 3D vor utiliza poziția curentă a cursorului ca centru de rotație - + Window center Centrul ferestrei - + Drag at cursor Trageți la cursor - + Object center Centrul obiectului - + Default camera orientation Orientarea implicită a camerei - + Default camera orientation when creating a new document or selecting the home view Orientarea implicită a camerei la crearea unui nou document sau la selectarea vizualizării de bază - + Camera zoom Zoom cameră - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Setează zoom-ul camerei pentru documentele noi. Valoarea este diametrul sferei pentru a o potrivi pe ecran. - + mm mm - + Enable animated rotations Activează rotaţiile animate - + Enable animation Activează animaţia - + Zoom operations will be performed at position of mouse pointer Operațiunile de zoom vor fi efectuate la poziția indicatorului mouse-ului - + Zoom at cursor Mareste la pozitia cursorului - + Zoom step Pas de mărire - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Cât de mult va fi mărit. Pasul de mărire de '1' înseamnă un factor de 7,5 pentru fiecare pas de mărire. - + Direction of zoom operations will be inverted Direcția operațiunilor de zoom va fi inversată - + Invert zoom Inverseaza zoom-ul - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4905,57 +4207,67 @@ Afectează numai stilul de navigare prin gesturi. Înclinarea cu mouse-ul nu este dezactivată de această setare. - + Disable touchscreen tilt gesture Dezactivaţi inclinarea prin gest a ecranului tactil - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Izometrică - + Dimetric Dimetric - + Trimetric Trimetric - + Top Partea de sus - + Front Din față - + Left Stanga - + Right Dreapta - + Rear Din spate - + Bottom Partea de jos - + Custom Personalizat @@ -4963,44 +4275,44 @@ Afectează numai stilul de navigare prin gesturi. Gui::Dialog::DlgSettingsPythonConsole - + Python console Consola Python - + Settings Setari - + Words will be wrapped when they exceed available horizontal space in Python console Cuvintele vor fi împachetate când depășesc spațiul orizontal disponibil în consola Python - + Enable word wrap Permite împărțirea textului în linii pentru încadrarea textului - + The cursor shape will be a block Forma cursorului va fi un bloc - + Enable block cursor Activare cursor bloc - + Saves Python history across sessions Salvează istoricul Python prin sesiuni - + Save history Salvează istoric @@ -5008,17 +4320,37 @@ spațiul orizontal disponibil în consola Python Gui::Dialog::DlgSettingsSelection - + Selection Selecţie - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Selectionați raza (px) : - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5027,27 +4359,27 @@ Valoare mai mare se ușurează să aleagă lucruri, dar poate face imposibilă s - + Auto switch to the 3D view containing the selected item Comutare automată la vizualizarea 3D care conține elementul selectat - + Auto expand tree item when the corresponding object is selected in 3D view Extinde automat vederea arborescentă atunci când obiectul corespunzător este selectat în vizualizarea 3D - + Preselect the object in 3D view when mouse over the tree item Preselectează obiectul în vizualizarea 3D când mouse-ul este deasupra elementului în vizualizarea arborescentă - + Record selection in tree view in order to go back/forward using navigation button Înregistrați selecția în vizualizarea arborelui pentru a merge înapoi/înainte folosind butonul de navigare - + Add checkboxes for selection in document tree Adăugați bifele pentru selecție în arborele de documente @@ -5055,147 +4387,122 @@ Valoare mai mare se ușurează să aleagă lucruri, dar poate face imposibilă s Gui::Dialog::DlgSettingsViewColor - + Colors Culori - - Selection - Selecţie - - - - Enable preselection and highlight by specified color - Activează preselecția și evidențierea folosind culoarea specificată - - - - Enable preselection highlighting - Activeaza evidentierea preselectiei - - - - Enable selection highlighting and use specified color - Activează evidenţierea selecţiei şi utilizează culoarea specificată - - - - Enable selection highlighting - Activează evidenţierea selecţiei - - - + Background color for the model view Culoare de fundal pentru vizualizarea modelului - + Background color Culoarea de fundal - - + + Background will have selected color Fundalul va avea culoarea selectată - + Simple color Culoare simplă - - + + Background will have selected color gradient Fundal va avea gradientul de culoare selectat - + Linear gradient Granat liniar - + Radial gradient Grosimea radială - - + + Top: Partea de sus: - - + + Middle: Mijloc: - + Switches the colors of the gradient Schimbă culorile gradientului - + Switch Comutare - + Color gradient will get selected color as middle color Gradientul de culoare va avea culoarea selectată drept culoarea de mijloc - + Middle color Culoarea de mijloc - - + + Bottom: Partea de jos: - + Tree view Vizualizare arborescentă - + Object being edited Obiectul de editat - + Background color for objects in tree view that are currently edited Culoare de fundal pentru obiecte în vizualizarea arborescentă care sunt acum editate - + Active container Containerul activ - + Background color for active containers in tree view Culoarea de fundal pentru containerele active în vizualizarea arborescentă - + Central: Central: - + Midway: La mijloc: - + End: Sfârșit: @@ -5307,12 +4614,12 @@ Sistemul preferat este cel ales în preferințele generale. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unitatede măsură necunoscută: - + unit mismatch unitățile de măsură nu se potrivesc @@ -5320,7 +4627,7 @@ Sistemul preferat este cel ales în preferințele generale. Gui::Dialog::DockablePlacement - + Placement Amplasare @@ -5370,60 +4677,60 @@ The 'Status' column shows whether the document could be recovered. Încă ne recuperat - + Unknown problem occurred A avut loc o eroare necunoscută - - + + Failed to recover Nu a reuşit să recupereze - + Successfully recovered S-a recuperat cu succes - + Finish Terminare - - + + Delete Ştergeţi - - + + Cleanup Curățare - + Are you sure you want to delete the selected transient directories? Sunteţi sigur că doriţi să ştergeţi directoarele temporare selectate? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Atunci când ştergeţi directorul temporar selectat, nu veți fi capabil a recupera orice dosar după aceea. - + Are you sure you want to delete all transient directories? Sigur doriți să ștergeți toate directoarele tranzitorii? - + When deleting all transient directories you won't be able to recover any files afterwards. Atunci când ştergeţi toate directoarele temporare selectate, nu veți putea recupera vreun dosar după aceea. - + Transient directories deleted. Directoarele tranzitorii șterse. @@ -5547,7 +4854,7 @@ The 'Status' column shows whether the document could be recovered. Dosar de iconițe - + Add icon folder Adauga dosar iconițe @@ -5560,12 +4867,12 @@ The 'Status' column shows whether the document could be recovered. Adăugați sau eliminați foldere iconițe personalizate - + Remove folder Elimină dosar - + Removing a folder only takes effect after an application restart. Ștergerea unui folder intră în vigoare doar după restartul aplicației. @@ -5635,79 +4942,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Extinde - + Add sub-group Adaugă subgrup - - + + Remove group Elimină grupul - + Rename group Redenumire grup - + Export parameter Exportă parametrul - + Import parameter Importă parametrul - + Collapse Restrângere - + Do you really want to remove this parameter group? Sigur dorești să ștergi acest grup de parametrii? - + Existing sub-group Subgrup existent - + The sub-group '%1' already exists. Subgroupul '%1' există deja. - + Export parameter to file Exportă parametru într-un fişier - + Import parameter from file Importă parametrul din fişier - + Import Error Eroare de import - + Reading from '%1' failed. Citirea din '%1' nu a reușit. @@ -5715,65 +5022,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Modificaţi valoarea - + Remove key Eliminați cheie - + Rename key Redenumiţi cheie - + New Nou - + New string item Element şir nou - + New float item Element float nou - + New integer item Element întreg nou - + New unsigned item Element unsigned nou - + New Boolean item Element Boolean nou - - - - - + + + + + Existing item Element existent - - - - - + + + + + The item '%1' already exists. Elementul '%1' există deja. @@ -5919,17 +5226,17 @@ The 'Status' column shows whether the document could be recovered. Aplică - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Vă rugăm să selectaţi 1, 2 sau 3 puncte înainte de a face clic pe acest buton. Un punct poate fi pe un vârf, faţă, sau muchie. Dacă este pe o față sau o muchie, punctul folosit va fi punctul de la poziția mouse-ului de-a lungul feței sau muchiei respective. Dacă este selectat un punct, acesta va fi folosit ca centru de rotaţie. Dacă 2 puncte sunt selectate punctul intermediar dintre ele va fi centrul de rotație și va fi creată o nouă axă personalizată, dacă este necesar. Dacă sunt selectate 3 puncte, primul punct devine centrul de rotaţie şi se află pe vectorul care este normal planului definit de cele 3 puncte. Unele informații privind distanța și unghiul sunt furnizate în vizualizarea raport, ceea ce poate fi util la alinierea obiectelor. Pentru confortul tău când Shift + click este folosit distanța sau unghiul corespunzător este copiat în clipboard. - + Incorrect quantity Cantitate incorectă - + There are input fields with incorrect input, please ensure valid placement values! Există campurile input cu intrare incorectă, asigură-te că sunt valorile de poziționare sunt valide! @@ -5937,12 +5244,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Buton - + Command Comanda @@ -6006,17 +5313,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Arbore tip Inventor - + Name Nume - + Nodes Noduri @@ -6072,14 +5379,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Renunţă - - + + Transform Transformare @@ -6177,13 +5484,13 @@ selectate inițial, înainte de a deschide acest dialog - + Model Model - + Tasks Sarcini @@ -6191,7 +5498,7 @@ selectate inițial, înainte de a deschide acest dialog Gui::DockWnd::PropertyDockView - + Property View Vizualizare proprietăţi @@ -6199,82 +5506,82 @@ selectate inițial, înainte de a deschide acest dialog Gui::DockWnd::ReportOutput - + Options Opţiuni - + Display message types Afișează tipul mesajelor - - + + Normal messages Mesaje normale - - + + Log messages Înregistrează mesajele - - + + Warnings Avertismente - - + + Errors Erori - - + + Critical messages Mesaje critice - + Show Report view on Afișare afișare raport pe - + Redirect Python output Redirectioneaza textul din Python - + Redirect Python errors Redirectioneaza erorile din Python - + Go to end Mergi la sfarsit - + Clear Șterge - + Save As... Salvare ca... - + Save Report Output Salvaţi raportul de ieşire - + Plain Text Files Fişierele de Text simplu @@ -6283,13 +5590,13 @@ selectate inițial, înainte de a deschide acest dialog Gui::DockWnd::ReportView - + Output Ieşire - + Python console Consola Python @@ -6327,72 +5634,72 @@ selectate inițial, înainte de a deschide acest dialog Lista obiectelor alese - + Select only Selectaţi numai - + Selects only this object Selecteaza doar acest obiect - + Deselect Deselectati - + Deselects this object Deselectează acest obiect - + Zoom fit Potrivire zoom - + Selects and fits this object in the 3D window Selectează şi potriveşte acest obiect în fereastra 3D - + Go to selection Du-te la selecție - + Selects and locates this object in the tree view Selectează şi localizează acest obiect în afişarea ierarhică - + Mark to recompute Marcare de recalculare - + Mark this object to be recomputed Marcați acest obiect pentru a fi recalculate - + To python console Spre Consola Python - + Reveals this object and its subelements in the python console. Exprimă acest obiect şi subelementele sale în consola python. - + Duplicate subshape Duplicare formă secundară - + Creates a standalone copy of this subshape in the document Creează o copie de sine stătătoare de această formă secundară în documentul @@ -6405,7 +5712,7 @@ selectate inițial, înainte de a deschide acest dialog Aplicație - + Labels & Attributes Etichete & Atribute @@ -6453,27 +5760,27 @@ Doriți să salvați modificările? Fişier PDF - + untitled[*] fără titlu [*] - + - Editor - Editor - + %1 chars removed %1 caractere eliminate - + %1 chars added %1 caractere adăugate - + Formatted Formatat @@ -6497,13 +5804,13 @@ Doriți să salvați modificările? Gui::FileChooser - - + + Select a file Selectaţi un fişier - + Select a directory Selectaţi un director @@ -6511,13 +5818,13 @@ Doriți să salvați modificările? Gui::FileDialog - + Save as Salvare ca - - + + Open Deschide @@ -6525,12 +5832,12 @@ Doriți să salvați modificările? Gui::FileOptionsDialog - + Extended Extins - + All files (*.*) Toate fişierele (*.*) @@ -6538,27 +5845,27 @@ Doriți să salvați modificările? Gui::Flag - + Top left Stânga sus - + Bottom left Stânga jos - + Top right Dreapta sus - + Bottom right Dreapta jos - + Remove Elimină @@ -6566,22 +5873,22 @@ Doriți să salvați modificările? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Atingeți sau apăsați butonul stâng al mausului. - + Drag screen with two fingers OR press right mouse button. Glisați ecranul folosind două degete SAU apăsați butonul din dreapta al mausului. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Glisați un singur deget pe ecran SAU apăsați butonul stâng al mouse-ului. În Sketcher și în alte moduri de editare, țineți și tasta Alt apăsată. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Ciupiți (puneți două degete pe ecran și glisați-le divergent). Sau scroll cu rotița din mijloc de la mouse. Sau apăsați PgUp/PgDown pe tastatură. @@ -6589,74 +5896,74 @@ Doriți să salvați modificările? Gui::GraphvizView - + Graphviz not found Pachetul Graphviz nu a fost gasit - + Graphviz couldn't be found on your system. Graphviz nu a putut fi găsit pe sistemul dvs. - + Read more about it here. Citeşte mai multe despre acest lucru. - + Do you want to specify its installation path if it's already installed? Vreți să specificați calea lui de acces la instalarea dacă el este deja instalat? - + Graphviz installation path Calea pachetului Graphviz - + Graphviz failed Graphviz a esuat - + Graphviz failed to create an image file Graphviz nu a reusit sa creeze un fisier de imagine - + PNG format Formatul PNG - + Bitmap format Bitmap format - + GIF format Formatul GIF - + JPG format JPG format - + SVG format Formatul SVG - - + + PDF format PDF format - - + + Export graph Exportă graficul @@ -6664,12 +5971,12 @@ Doriți să salvați modificările? Gui::InputField - + Edit Editare - + Save value Salvează valoarea @@ -6677,22 +5984,22 @@ Doriți să salvați modificările? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Apasati CTRL si butonul stanga al mouse-ului - + Press middle mouse button Apasati butonul din mijloc al mouse-ului - + Press left mouse button Apăsă butonul stânga al mouse-ului - + Scroll middle mouse button Deruleaza folosind butonul din mijloc al mouse-ului @@ -6700,7 +6007,7 @@ Doriți să salvați modificările? Gui::LabelEditor - + List Listă @@ -6708,66 +6015,66 @@ Doriți să salvați modificările? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definit de utilizator... - + - - + + Wrong direction Direcţie greşită - + - - + + Direction must not be the null vector Direcţia nu trebuie să fie vectorul nul @@ -6775,22 +6082,22 @@ Doriți să salvați modificările? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6798,17 +6105,17 @@ Doriți să salvați modificările? Gui::MacroCommand - + Macros Macro-uri - + Macro file doesn't exist Fișierul macro nu există - + No such macro file: '%1' Fișier macro inexistent: «%1 » @@ -6816,63 +6123,73 @@ Doriți să salvați modificările? Gui::MainWindow - - + + Dimension Dimensiune - + Ready Gata - + Help addon needed! Ajutor supliment necesar! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Sistemul de ajutor al %1 este acum gestionat de suplimentul "Ajutor". Acesta poate fi instalat cu uşurinţă prin Addons Manager - + Open Addon Manager Deschide Addon Manager - + Close All Inchide toate - - + + Toggles this toolbar Activează/dezactivează această bară de instrumente - - + + Toggles this dockable window Activează/dezactivează această fereastră fixabilă - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document Document nesalvat - + The exported object contains external link. Please save the documentat least once before exporting. Obiectul exportat conține o legătură externă. Vă rugăm să salvați documentul cel puțin o dată înainte de al exporta. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Pentru face legăturile la obiecte externe, documentul trebuie salvat cel puțin o dată. @@ -6882,63 +6199,63 @@ Doriți să salvați documentul acum? Gui::ManualAlignment - - - - - + + + + + Manual alignment Aliniere manuala - + The alignment is already in progress. Alinierea este deja in curs. - + Alignment[*] Aliniere[*] - + Please, select at least one point in the left and the right view Selectati cel putin cate un punct in vizualizarea stanga si dreapta - + Please, select at least %1 points in the left and the right view Selectati cel putin %1 puncte in vizualizarea stanga si dreapta - + Please pick points in the left and right view Selectati puncte in vizualizarea stanga si dreapta - + The alignment has finished Alinierea s-a incheiat - + The alignment has been canceled Alinierea a fost anulata - - + + Too few points picked in the left view. At least %1 points are needed. Prea putine puncte selectate in vizualizarea din stanga. Cel putin %1 puncte sunt necesare. - - + + Too few points picked in the right view. At least %1 points are needed. Prea putine puncte selectate in vizualizarea din dreapta. Cel putin %1 puncte sunt necesare. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6947,59 +6264,59 @@ In stanga au fost alese %1 puncte, in dreapta au fost alese %2 puncte. - + Try to align group of views Incearca sa aliniezi grupuri de vizualizari - + The alignment failed. How do you want to proceed? Alinierea a esuat. Cum doresti sa continuam? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Numar diferit de puncte in vizualizarea din stanga si dreapta. In stanga au fost alese %1 puncte, in dreapta au fost alese %2 puncte. - + Point_%1 Punct_%1 - + Point picked at (%1,%2,%3) Punct ales (%1,%2,%3) - + No point was found on model Pe model nu a fost găsit nici un punct - + No point was picked Nu a fost ales nici un punct - + &Align Aliniere - + &Remove last point &Elimină ultimul punct - + &Cancel &Revocare - + &Synchronize views &Sincronizează vizualizările @@ -7007,22 +6324,22 @@ Cum doresti sa continuam? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Atingeți sau apăsați butonul stâng al mausului. - + Drag screen with two fingers OR press ALT + middle mouse button. Glisați două degete pe ecran SAU apăsați ALT + butonul mijlociu al mouse-ului. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Glisați un singur deget pe ecran SAU apăsați ALT + butonul stâng al mouse-ului. În Sketcher și în alte moduri de editare, țineți apăsat și pe Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Ciupiți (puneți două degete pe ecran și glisați-le divergent). Sau scroll cu rotița din mijloc de la mouse. Sau apăsați PgUp/PgDown pe tastatură. @@ -7030,7 +6347,7 @@ Cum doresti sa continuam? Gui::ModifierLineEdit - + Press modifier keys Apăsați taste modificatoare @@ -7046,22 +6363,22 @@ Cum doresti sa continuam? Gui::OpenCascadeNavigationStyle - + Press left mouse button Apăsă butonul stânga al mouse-ului - + Press CTRL and middle mouse button Apasă CTRL şi butonul din mijloc al mouse-ului - + Press CTRL and right mouse button Apasă CTRL şi butonul din dreapta al mouse-ului - + Press CTRL and left mouse button Apasati CTRL si butonul stanga al mouse-ului @@ -7069,22 +6386,22 @@ Cum doresti sa continuam? Gui::OpenSCADNavigationStyle - + Press left mouse button Apăsă butonul stânga al mouse-ului - + Press right mouse button and move mouse Apasă butonul dreapta al mouse-ului și mișcă mouse-ul - + Press left mouse button and move mouse Apasă butonul stâng al mouse-ului și mișcă mouse-ul - + Press middle mouse button or SHIFT and right mouse button Apăsaţi butonul mijlociu al mouse-ului sau SHIFT şi butonul dreapta al mouse-ului @@ -7092,17 +6409,17 @@ Cum doresti sa continuam? Gui::PrefQuantitySpinBox - + Edit Editare - + Save value Salvează valoarea - + Clear list Curăță lista @@ -7133,12 +6450,12 @@ Cum doresti sa continuam? Rămas:%1 - + Aborting Se anulează - + Do you really want to abort the operation? Chiar doriţi abandonarea operațiunii? @@ -7146,7 +6463,7 @@ Cum doresti sa continuam? Gui::PropertyEditor::LinkLabel - + Change the linked object Modificați obiectul atașat @@ -7154,12 +6471,12 @@ Cum doresti sa continuam? Gui::PropertyEditor::LinkSelection - + Error Eroare - + Object not found Obiectul nu a fost găsit @@ -7230,13 +6547,13 @@ Cum doresti sa continuam? Gui::PropertyView - + View Vizualizare - + Data Date @@ -7284,77 +6601,77 @@ Doriți să ieşiți fără a salva datele dumneavoastră? Excepție netratată necunoscută C++. - + &Copy &Copie - + &Copy command &Copiaţi comanda - + &Copy history &Copiaţi istoria - + Save history as... Salvaţi istoria ca... - + Save history Salvează istoric - + Saves Python history across %1 sessions Salvează istoricul Python de-a lungul a %1 sesiuni - + &Paste &Lipire - + Select All Selectaţi tot - + Clear console Curata consola - + Insert file name... Introduceţi nume fişier... - + Word wrap Distribuie cuvintele - + Save History Salvează Istoria - + Macro Files Fişier macro - + Insert file name Inserați nume fişier - + All Files Toate fișierele @@ -7362,7 +6679,7 @@ Doriți să ieşiți fără a salva datele dumneavoastră? Gui::PythonEditor - + Comment Comentariu @@ -7375,17 +6692,17 @@ Doriți să ieşiți fără a salva datele dumneavoastră? Gui::RecentFilesAction - + Open file %1 Deschide fişierul %1 - + File not found Fișier nu a fost găsit - + The file '%1' cannot be opened. Fișierul '%1' nu poate fi deschis. @@ -7393,22 +6710,22 @@ Doriți să ieşiți fără a salva datele dumneavoastră? Gui::RecentMacrosAction - + none niciunul - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Rulează scurtătura macro %1 (Shift+click pentru editare) tastatură: %2 - + File not found Fișier nu a fost găsit - + The file '%1' cannot be opened. Fișierul '%1' nu poate fi deschis. @@ -7416,22 +6733,22 @@ Doriți să ieşiți fără a salva datele dumneavoastră? Gui::RevitNavigationStyle - + Press left mouse button Apăsă butonul stânga al mouse-ului - + Press middle mouse button Apasati butonul din mijloc al mouse-ului - + Press SHIFT and middle mouse button Apasă SHIFT şi butonul din mijloc al mouse-ului - + Scroll middle mouse button Deruleaza folosind butonul din mijloc al mouse-ului @@ -7462,17 +6779,17 @@ Doriți să ieşiți fără a salva datele dumneavoastră? Gui::SelectModule - + Select module Selectaţi modulul - + Open %1 as Deschide '%1' ca - + Select Selectaţi @@ -7539,13 +6856,13 @@ Doriţi să specificaţi un alt director? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentație automată a modulelor python - - + + Opens a browser to show the Python modules documentation Deschide un navigator pentru a arăta documentația modulelor Python @@ -7698,38 +7015,38 @@ Doriţi să specificaţi un alt director? Gui::TextDocumentEditorView - + Text updated Actualizare Text - + The text of the underlying object has changed. Discard changes and reload the text from the object? Textul obiectului sub-adiacent s-a schimbat. Respingeți modificările și reîncărcați textul de la obiect ? - + Yes, reload. Da, reîncarcă. - + Unsaved document Document nesalvat - + Do you want to save your changes before closing? Vreți să salvați modificările înainte de a închide? - + If you don't save, your changes will be lost. Dacă nu salvați, schimbările vor fi pierdute. - - + + Edit text Editare text @@ -7737,22 +7054,22 @@ Doriţi să specificaţi un alt director? Gui::TinkerCADNavigationStyle - + Press left mouse button Apăsă butonul stânga al mouse-ului - + Press middle mouse button Apasati butonul din mijloc al mouse-ului - + Press right mouse button Apasă butonul dreapta al mouse-ului - + Scroll middle mouse button Deruleaza folosind butonul din mijloc al mouse-ului @@ -7760,22 +7077,22 @@ Doriţi să specificaţi un alt director? Gui::TouchpadNavigationStyle - + Press left mouse button Apăsă butonul stânga al mouse-ului - + Press SHIFT button Apasa butonul SHIFT - + Press ALT button Apasa butonul ALT - + Press CTRL and SHIFT buttons Apăsați tastele CTRL și SHIFT @@ -8001,7 +7318,7 @@ Doriţi să specificaţi un alt director? Gui::TreeDockWidget - + Tree view Vizualizare arborescentă @@ -8009,7 +7326,7 @@ Doriţi să specificaţi un alt director? Gui::TreePanel - + Search Caută @@ -8017,183 +7334,183 @@ Doriţi să specificaţi un alt director? Gui::TreeWidget - + Search... Caută... - + Search for objects Caută obiecte - + Activate document Activeaza documentul - + Activate document %1 Activeaza documentul %1 - + Tree settings Tree settings - + Show description column Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - + Group Grup - + Labels & Attributes Etichete & Atribute - + Description Descriere - + Show items hidden in tree view Arată elementele ascunse în vizualizarea arborelui - + Show items that are marked as 'hidden' in the tree view Arată elementele care sunt marcate ca 'ascunse' în vizualizarea arborelui - + Toggle visibility in tree view Comută vizibilitatea în vizualizarea arborelui - + Toggles the visibility of selected items in the tree view Activează/dezactivează vizibilitatea elementelor selectate în vizualizarea arborelui - + Create group... Creazã grup... - + Create a group Creează un grup - - + + Rename Redenumire - + Rename object Redenumire obiect - + Finish editing Termina editarea - + Finish editing object Editarea obiectului incheiata - + Add dependent objects to selection Adaugă obiectele dependente la selecție - + Adds all dependent objects to the selection Adauga toate obiectele dependente la selectie - + Close document Închide documentul - + Close the document Închide documentul - + Reload document Reîncarcă documentul - + Reload a partially loaded document Reîncarcă un document parțial încărcat - + Skip recomputes Abandonați recalcularea - + Enable or disable recomputations of document Autorizați sau interziceți recalculare documentului - + Allow partial recomputes Permite recompilări parțiale - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Activați sau dezactivați recalcularea editării obiectului atunci când este activat 'săriți peste recalculare' - + Mark to recompute Marcare de recalculare - + Mark this object to be recomputed Marcați acest obiect pentru a fi recalculate - + Recompute object Recalculare obiect - + Recompute the selected object Recalculează obiectul selectat - + (but must be executed) (dar trebuie executat) - + %1, Internal name: %2 %1, nume intern : %2 @@ -8224,12 +7541,12 @@ Doriţi să specificaţi un alt director? Fişier PDF - + Opening file failed Deschiderea fișierului a eșuat - + Can't open file '%1' for writing. Fișierul r '%1' nu acceptă scrierea. @@ -8237,7 +7554,7 @@ Doriţi să specificaţi un alt director? Gui::WorkbenchGroup - + Select the '%1' workbench Selectaţi bancul de lucru '%1' @@ -8245,37 +7562,37 @@ Doriţi să specificaţi un alt director? MAC_APPLICATION_MENU - + Services Servicii - + Hide %1 Ascunde %1 - + Hide Others Ascunde-le pe celelate - + Show All Arată-le pe toate - + Preferences... Preferințe... - + Quit %1 Ieşire din %1 - + About %1 Despre %1 @@ -8295,11 +7612,6 @@ Doriţi să specificaţi un alt director? Position - - - Form - Formular - X: @@ -8394,14 +7706,14 @@ Doriţi să specificaţi un alt director? PropertyListDialog - - + + Invalid input Introducere valoare nevalidă - - + + Input in line %1 is not a number Intrarea la linia %1 nu este un număr @@ -8409,37 +7721,37 @@ Doriţi să specificaţi un alt director? QDockWidget - + Tree view Vizualizare arborescentă - + Property view Vizualizare proprietăţi - + Selection view Vizualizare selecție - + Combo View Vizualizare combo - + DAG View Vizualizare DAG - + Report view Vezualizare raport - + Python console Consola Python @@ -8452,31 +7764,32 @@ Doriţi să specificaţi un alt director? QObject - - + + General General - - + + + Display Afișare - + Workbenches Banc de lucru - - - + + + Python Python @@ -8504,17 +7817,27 @@ Doriţi să specificaţi un alt director? Nu se poate salva într-un format de fişier necunoscut:%1 - + Workbench failure Bancul de lucru a eşuat - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Excepţie @@ -8560,8 +7883,8 @@ Doriţi să specificaţi un alt director? Export PDF... - + Unsaved document Document nesalvat @@ -8582,39 +7905,39 @@ Doriţi să specificaţi un alt director? Eroare de dependență - + Copy selected Copiază selecția - + Copy active document Copiază documentul activ - + Copy all documents Copiază toate documentele - + Paste Paste - + Expression error Eroare de expresie - + Failed to parse some of the expressions. Please check the Report View for more details. Eșec în analiza unora dintre expresii. Verificați fereastra Raport pentru mai multe detalii. - + Failed to paste expressions Nu s-a reușit lipirea expresiilor @@ -8649,225 +7972,225 @@ Be aware the point where you click matters. Retineti: locul unde faceti click conteaza. - - + + Save views... Salvare vederi... - - + + Load views... Încarcă vederi... - - + + Freeze view Îngheaţă vederi - - + + Clear views Eliberează vederile - - - + + + Restore view &%1 Restaurează vederile &%1 - + Save frozen views Salvează vederile îngheţate - - + + Frozen views Vedere înghețată - - + + Restore views Restaurează vederile - + Importing the restored views would clear the already stored views. Do you want to continue? Importul vederilor restaurate ar elimina vederile deja salvate. Doriţi să continuaţi? - + Restore frozen views Restaurează vederile ănghețate - + Cannot open file '%1'. Imposibil de deschis fișierul '%1'. - + files fişiere - + Save image Salvează imaginea - + Choose an image file to open Alegeți un fișier imagine pentru deschidere - + New sub-group Subgrup noi - - - - - - + + + + + + Enter the name: Introduceți numele: - - + + New text item Text nou - - + + Enter your text: Introduceţi textul: - - + + New integer item Element întreg nou - - - - - - + + + + + + Enter your number: Introduceți numărul: - - + + New unsigned item Element unsigned nou - - + + New float item Element float nou - + New Boolean item Element Boolean nou - - + + Choose an item: Alegeţi un element: - + New boolean item Element logic nou - + Rename group Redenumire grup - + The group '%1' cannot be renamed. Grupul '%1' nu poate fi redenumit. - + Existing group Grup existent - + The group '%1' already exists. Grupul '%1' există deja. - - - - - + + + + + Change value Modificaţi valoarea - + Type Tip - + Notifier Notificator - + Message Mesaj - + Notifier: Notificator: - + Do you want to skip confirmation of further critical message notifications while loading the file? Doriți să omiteți confirmarea altor notificări pentru mesaje critice în timpul încărcării fișierului? - + Critical Message Mesaj critic - + Too many opened non-intrusive notifications. Notifications are being omitted! Prea multe notificări neintruzive deschise. Notificările sunt omise! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8876,44 +8199,44 @@ Doriţi să continuaţi? - + Are you sure you want to continue? Are you sure you want to continue? - + Please check report view for more... Vă rugăm să verificați vizualizarea raportului pentru mai multe... - + Physical path: Calea fizică: - - + + Document: Documentul: - - + + Path: Cale: - + Identical physical path Cale fizică identică - + Could not save document Documentul nu a putut fi salvat - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8926,102 +8249,102 @@ Would you like to save the file with a different name? Doriți să salvați fișierul cu alt nume? - - - + + + Saving aborted Salvarea a fost anulată - + Save dependent files Salvează fișierele dependente - + The file contains external dependencies. Do you want to save the dependent files, too? Fișierul conține dependențe externe. Doriți să salvați și fișierele dependente? - - + + Saving document failed Salvarea documentului a eșuat - + Save document under new filename... Salvaţi documentul sub un nume nou... - - + + Save %1 Document Salvaţi documentul %1 - + Document Documentul - - + + Failed to save document Salvarea documentului nu a reușit - + Documents contains cyclic dependencies. Do you still want to save them? Documentele conţin dependenţe ciclice. Mai doriţi să le salvaţi? - + Save a copy of the document under new filename... Salvați o copie a documentului sub un nou nume de fişier... - + %1 document (*.FCStd) Documentul %1 (*.FCStd) - + Document not closable Documentul nu se poate închide - + The document is not closable for the moment. Documentul nu se poate închide momentan. - + Document not saved Document nesalvat - + The document%1 could not be saved. Do you want to cancel closing it? Documentul%1 nu a putut fi salvat. Doriți să renunțați la închiderea acestuia? - + Undo Undo - + Redo Redo - + There are grouped transactions in the following documents with other preceding transactions Există tranzacții grupate cu alte tranzacții anterioare în următoarele documente - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9035,95 +8358,95 @@ Alege 'Abandonează' pentru a abandona Salvaţi macrocomanda - - + + Finish Terminare - - + + Clear Șterge - - - + + + Cancel Renunţă - + Inner Interior - + Outer Exterior - + Split Divizare - - + + No Browser Nici un Browser - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. Imposibil de deschis browser-ul dumneavoastră. Vă rugăm să deschideţi o fereastră de browser şi tastaţi: http://localhost:%1. - + No Server Nici un server - + Unable to start the server to port %1: %2. Imposibil de pornit serverul pentru portul %1:%2. - + Unable to open your system browser. Imposibil de deschis browser-ul de sistem. - + Options... Opţiuni... - + Out of memory Memorie insuficientă - + Not enough memory available to display the data. Insuficientă memorie disponibilă pentru a afişa datele. - - + + Cannot find file %1 Imposibil de găsit fișierul %1 - + Cannot find file %1 neither in %2 nor in %3 Imposibil de găsit fișierul %1 la %2 nici în %3 - + Navigation styles Stiluri de navigare @@ -9133,8 +8456,8 @@ Please open a browser window and type in: http://localhost:%1. Muta adnotarea - - + + Transform Transformare @@ -9144,42 +8467,42 @@ Please open a browser window and type in: http://localhost:%1. Doriţi să închideţi această fereastră de dialog? - + Do you want to save your changes to document '%1' before closing? Vreți să salvați modificările dvs înainte de a închide? - + Do you want to save your changes to document before closing? Doriți să salvați modificările documentului înainte de închidere? - + If you don't save, your changes will be lost. Dacă nu salvați, schimbările vor fi pierdute. - + Apply answer to all Aplică răspunsul tuturor - + %1 Document(s) not saved %1 Document(e) nu au fost salvate - + Some documents could not be saved. Do you want to cancel closing? Unele documente nu au putut fi salvate. Doriți să renunțați la închiderea documentelor? - + Delete macro Ştergeţi macrocomanda - + Not allowed to delete system-wide macros Nu sunteți autorizat să ștergeți macro comenzile sistèmului @@ -9189,27 +8512,27 @@ Please open a browser window and type in: http://localhost:%1. Origine - + Delete group content? Ștergeți conținutul grupului? - + The %1 is not empty, delete its content as well? %1 nu este vid, suprimați totuși conținutul ? - + Translation: Traducere: - + Rotation: Rotaţie: - + Toggle active part Comută piesa activă @@ -9272,88 +8595,88 @@ Please open a browser window and type in: http://localhost:%1. Importul tuturor legăturilor a eșuat - - + + Invalid name Nume invalid - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Numele proprietății sau al grupului trebuie să conțină doar caractere alfanumerice sau liniuță jos și nu trebuie să înceapă cu o cifră. - + The property '%1' already exists in '%2' Proprietatea '%1' există deja în '%2' - + Add property Adăugaţi o proprietate - + Failed to add property to '%1': %2 Nu am putut adăuga proprietatea la '%1': %2 - - + + Drag & drop failed Drag & drop eșuat - + Setup configurable object Setarea obiectului configurabil - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Selectați ce obiect trebuie copiat sau exclus atunci când se schimbă configurarea. Toate obiectele externe legate sunt excluse în mod implicit. - + Please select which objects to copy when the configuration is changed Vă rugăm să selectați ce obiecte să copiați atunci când configurația este schimbată - + Apply to all Aplică tuturor - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Aplică setarea la toate link-urile. Sau, debifează această opțiune pentru a se aplica numai la acest link. - + Copy on change Copiază la schimbare - + Enable Activeaza - + Enable auto copy of linked object when its configuration is changed Activează copierea automată a obiectului legat atunci când configurația sa este schimbată - + Tracking Urmărire - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9362,17 +8685,17 @@ De asemenea, refaceți automat copia în cazul în care obiectul original legat - + Disable copy on change Dezactivează copierea la schimbare - + Refresh configurable object Reîmprospătează obiectul configurabil - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9383,28 +8706,28 @@ copia curentă va fi pierdută. - + Toggle array elements Comutare elemente matrice - + Change whether show each link array element as individual objects Modifică dacă afișează fiecare element de array al legăturii ca obiecte individuale - + Transform at the origin of the placement Transformare la originea plasamentului - - + + Override colors... Suprascrie culorile... - + Edit %1 Editare %1 @@ -9427,12 +8750,12 @@ copia curentă va fi pierdută. SelectionFilter - + Not allowed: Nu este permis: - + Selection not allowed by filter Selecție nepermisă de către Filtrul de selecție @@ -9440,9 +8763,9 @@ copia curentă va fi pierdută. StdBoxElementSelection - - - + + + Box element selection Selectare element căsuță @@ -9450,13 +8773,13 @@ copia curentă va fi pierdută. StdBoxSelection - + Box selection Selectare cu dreptunghi - - + + Activate the box selection tool Activează unealta de selecție a casetei @@ -9534,13 +8857,13 @@ copia curentă va fi pierdută. StdCmdAxisCross - + Toggle axis cross Activează /dezactivează sistemul cartezian - - + + Turns on or off the axis cross at the origin Se roteşte sau se opreşte axa încrucişată la origine @@ -9646,13 +8969,13 @@ copia curentă va fi pierdută. StdCmdDemoMode - + View turntable... Vedere rotită... - - + + View turntable Vedere rotită @@ -9772,13 +9095,13 @@ copia curentă va fi pierdută. StdCmdDrawStyle - + Draw style Stil de desenare - - + + Change the draw style of the objects Schimbă stilul de desenare al obiectelor @@ -9842,13 +9165,13 @@ copia curentă va fi pierdută. StdCmdExpression - + Expression actions Acțiunile expresiei - - + + Actions that apply to expressions Acțiuni care se aplică expresiilor @@ -9965,13 +9288,13 @@ copia curentă va fi pierdută. StdCmdFreezeViews - + Freeze display Îngheaţă ecranul - - + + Freezes the current view position Îngheaţă poziţia curentă a vederii @@ -9992,13 +9315,13 @@ copia curentă va fi pierdută. StdCmdHideObjects - + Hide all objects Ascunde toate obiectele - - + + Hide all objects in the document Ascunde toate obiectele din document @@ -10006,13 +9329,13 @@ copia curentă va fi pierdută. StdCmdHideSelection - + Hide selection Ascunde selecţia - - + + Hide all selected objects Ascunde toate obiectele selectate @@ -10286,13 +9609,13 @@ copia curentă va fi pierdută. StdCmdMeasureDistance - + Measure distance Măsoară distanţa - - + + Activate the distance measurement tool Activați unealta de măsurare a distanței @@ -10351,8 +9674,8 @@ copia curentă va fi pierdută. Creaţi un nou document gol - - + + Unnamed Nedenumit @@ -10580,8 +9903,8 @@ copia curentă va fi pierdută. StdCmdRecentFiles - Recent files - Fişiere recente + Open Recent + Open Recent @@ -10719,13 +10042,13 @@ copia curentă va fi pierdută. StdCmdSceneInspector - + Scene inspector... Inspectorul de scena... - - + + Scene inspector Inspectorul de scena @@ -10733,13 +10056,13 @@ copia curentă va fi pierdută. StdCmdSelBack - + &Back &Înapoi - - + + Go back to previous selection Înapoi la selecția anterioară @@ -10747,13 +10070,13 @@ copia curentă va fi pierdută. StdCmdSelBoundingBox - + &Bounding box &Casetă de încadrare - - + + Show selection bounding box Arată caseta de încadrare a selecției @@ -10761,13 +10084,13 @@ copia curentă va fi pierdută. StdCmdSelForward - + &Forward &Înainte - - + + Repeat the backed selection Repetă selecția suportată @@ -10789,13 +10112,13 @@ copia curentă va fi pierdută. StdCmdSelectVisibleObjects - + Select visible objects Selectaţi obiectele vizibile - - + + Select visible objects in the active document Selectaţi obiectele vizibile în documentul activ @@ -10817,13 +10140,13 @@ copia curentă va fi pierdută. StdCmdSetAppearance - + Appearance... Aspect... - - + + Sets the display properties of the selected object Defineşte proprietăţile de afişare a obiectului selectat @@ -10831,13 +10154,13 @@ copia curentă va fi pierdută. StdCmdShowObjects - + Show all objects Arată toate obiectele - - + + Show all objects in the document Arată toate obiectele din document @@ -10845,13 +10168,13 @@ copia curentă va fi pierdută. StdCmdShowSelection - + Show selection Arăta de selecţia - - + + Show all selected objects Arată toate obiectele selectate @@ -10887,13 +10210,13 @@ copia curentă va fi pierdută. StdCmdTextureMapping - + Texture mapping... Aplicare textura... - - + + Texture mapping Aplicare textura @@ -10929,13 +10252,13 @@ copia curentă va fi pierdută. StdCmdToggleClipPlane - + Clipping plane Plan de secțiune - - + + Toggles clipping plane for active view Activează/dezactivează planul de secțiune pentru vederea activă @@ -10943,13 +10266,13 @@ copia curentă va fi pierdută. StdCmdToggleNavigation - + Toggle navigation/Edit mode Activează/dezactivează mod de navigare/editare - - + + Toggle between navigation and edit mode Activează/dezactivează între modul de editare şi modul de navigare @@ -10957,13 +10280,13 @@ copia curentă va fi pierdută. StdCmdToggleObjects - + Toggle all objects Activează/dezactivează toate obiectele - - + + Toggles visibility of all objects in the active document Activează/dezactivează vizibilitatea tuturor obiectelor din documentul activ @@ -10971,13 +10294,13 @@ copia curentă va fi pierdută. StdCmdToggleSelectability - + Toggle selectability Activează/dezactivează selectabilitatea - - + + Toggles the property of the objects to get selected in the 3D-View Activează/dezactivează abilitatea obiectelor de a fi selectate in 3D @@ -10985,13 +10308,13 @@ copia curentă va fi pierdută. StdCmdToggleVisibility - + Toggle visibility Activează/dezactivează vizibilitate - - + + Toggles visibility Activează/dezactivează vizibilitatea @@ -11041,13 +10364,13 @@ copia curentă va fi pierdută. StdCmdTreeCollapse - + Collapse selected item Restrânge elementul selectat - - + + Collapse currently selected tree items Restrânge elementele selectate ale arborelui @@ -11055,13 +10378,13 @@ copia curentă va fi pierdută. StdCmdTreeExpand - + Expand selected item Extinde elementul selectat - - + + Expand currently selected tree items Extinde elementele selectate ale arborelui @@ -11069,13 +10392,13 @@ copia curentă va fi pierdută. StdCmdTreeSelectAllInstances - + Select all instances Selectează toate instanțele - - + + Select all instances of the current selected object Selectați toate instanțele obiectului selectat @@ -11083,13 +10406,13 @@ copia curentă va fi pierdută. StdCmdTreeViewActions - + TreeView actions Actiuni ale vizualizării arbore - - + + TreeView behavior options and actions Opțiuni de comportament TreeView și acțiuni @@ -11153,13 +10476,13 @@ copia curentă va fi pierdută. StdCmdViewBottom - + Bottom Partea de jos - - + + Set to bottom view Vedere de dedesubt @@ -11167,13 +10490,13 @@ copia curentă va fi pierdută. StdCmdViewCreate - + Create new view Creaza vizualizare noua - - + + Creates a new view window for the active document Creează o nouă fereastră de vizualizare pentru documentul activ @@ -11181,13 +10504,13 @@ copia curentă va fi pierdută. StdCmdViewDimetric - + Dimetric Dimetric - - + + Set to dimetric view Setează vizualizarea dimetrică @@ -11195,13 +10518,13 @@ copia curentă va fi pierdută. StdCmdViewExample1 - + Inventor example #1 Inventor - Exemplu #1 - - + + Shows a 3D texture with manipulator Prezinta o textura 3D cu manipulator @@ -11209,13 +10532,13 @@ copia curentă va fi pierdută. StdCmdViewExample2 - + Inventor example #2 Inventor - Exemplu #2 - - + + Shows spheres and drag-lights Prezinta sfere si lumini mobile @@ -11223,13 +10546,13 @@ copia curentă va fi pierdută. StdCmdViewExample3 - + Inventor example #3 Inventor - Exemplu #3 - - + + Shows a animated texture Prezinta o textura animata @@ -11237,13 +10560,13 @@ copia curentă va fi pierdută. StdCmdViewFitAll - + Fit all Incadreaza toate - - + + Fits the whole content on the screen Incadreaza intreg continutul in ecran @@ -11251,13 +10574,13 @@ copia curentă va fi pierdută. StdCmdViewFitSelection - + Fit selection Incadreaza selectia - - + + Fits the selected content on the screen Incadreaza continutul selectat in ecran @@ -11265,13 +10588,13 @@ copia curentă va fi pierdută. StdCmdViewFront - + Front Din față - - + + Set to front view Seteaza vederea din fata @@ -11279,13 +10602,13 @@ copia curentă va fi pierdută. StdCmdViewHome - + Home Acasă - - + + Set to default home view Setează la vizualizarea implicită a domiciliului @@ -11293,13 +10616,13 @@ copia curentă va fi pierdută. StdCmdViewIsometric - + Isometric Izometrică - - + + Set to isometric view Setează vizualizarea izometrică @@ -11307,13 +10630,13 @@ copia curentă va fi pierdută. StdCmdViewIvIssueCamPos - + Issue camera position Seteaza pozitia camerei - - + + Issue the camera position to the console and to a macro, to easily recall this position Seteaza pozitia camerei la consola si pentru macronstructiune, pentru a putea fi usor reamintita @@ -11321,13 +10644,13 @@ copia curentă va fi pierdută. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Coloane stereo intercalate - - + + Switch stereo viewing to Interleaved Columns Schimba vizualizarea stereo in coloane intercalate @@ -11335,13 +10658,13 @@ copia curentă va fi pierdută. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Randuri stereo intercalate - - + + Switch stereo viewing to Interleaved Rows Schimba vizualizarea stereo in randuri intercalate @@ -11349,13 +10672,13 @@ copia curentă va fi pierdută. StdCmdViewIvStereoOff - + Stereo Off Inchide stereo - - + + Switch stereo viewing off Opreste vizualizarea stereo @@ -11363,13 +10686,13 @@ copia curentă va fi pierdută. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo quad buffer - - + + Switch stereo viewing to quad buffer Schimba vizualizarea stereo in quad buffer @@ -11377,13 +10700,13 @@ copia curentă va fi pierdută. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo rosu/verde - - + + Switch stereo viewing to red/cyan Schimba vizualizarea stereo in rosu/verde @@ -11391,13 +10714,13 @@ copia curentă va fi pierdută. StdCmdViewLeft - + Left Stanga - - + + Set to left view Afișează vederea din stanga @@ -11405,13 +10728,13 @@ copia curentă va fi pierdută. StdCmdViewRear - + Rear Din spate - - + + Set to rear view Seteaza vederea din spate @@ -11433,13 +10756,13 @@ copia curentă va fi pierdută. StdCmdViewRight - + Right Dreapta - - + + Set to right view Seteaza vederea din dreapta @@ -11447,13 +10770,13 @@ copia curentă va fi pierdută. StdCmdViewRotateLeft - + Rotate Left Rotire la stanga - - + + Rotate the view by 90° counter-clockwise Rotește vizualizarea cu 90° în sens antiorar @@ -11461,13 +10784,13 @@ copia curentă va fi pierdută. StdCmdViewRotateRight - + Rotate Right Rotire la dreapta - - + + Rotate the view by 90° clockwise Rotește vizualizarea cu 90° în sens orar @@ -11489,13 +10812,13 @@ copia curentă va fi pierdută. StdCmdViewTop - + Top Partea de sus - - + + Set to top view Seteaza vederea de sus @@ -11503,13 +10826,13 @@ copia curentă va fi pierdută. StdCmdViewTrimetric - + Trimetric Trimetric - - + + Set to trimetric view Setează vizualizarea trimetrică @@ -11517,13 +10840,13 @@ copia curentă va fi pierdută. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Extinde fereastra 3D FreeCAD un Oculus Rift @@ -11587,13 +10910,13 @@ copia curentă va fi pierdută. StdMainFullscreen - + Fullscreen Ecran complet - - + + Display the main window in fullscreen mode Afişează fereastra principală în modul fullscreen @@ -11629,13 +10952,13 @@ copia curentă va fi pierdută. StdRecallWorkingView - + Recall working view Recuperare vizualizare lucru - - + + Recall previously stored temporary working view Rechemați modul de lucru temporar stocat anterior @@ -11643,13 +10966,13 @@ copia curentă va fi pierdută. StdStoreWorkingView - + Store working view Vedere de lucru magazin - - + + Store a document-specific temporary working view Salvați un modul de lucru temporar specific documentului @@ -11657,13 +10980,13 @@ copia curentă va fi pierdută. StdTreeCollapseDocument - + Collapse/Expand Restrânge/Extinde - - + + Expand active document and collapse all others Extinde documentul activ și restrângele pe toate celelalte @@ -11671,12 +10994,12 @@ copia curentă va fi pierdută. StdTreeDrag - + Initiate dragging Inițiază glisare - + Initiate dragging of current selected tree items Inițiază glisarea elementelor curent selectate din vederea arborescentă @@ -11684,13 +11007,13 @@ copia curentă va fi pierdută. StdTreeMultiDocument - + Multi document Document multiplu - - + + Display all documents in the tree view Afişează toate documentele în vizualizarea arborescentă @@ -11698,12 +11021,12 @@ copia curentă va fi pierdută. StdTreePreSelection - + Pre-selection Preselecție - + Preselect the object in 3D view when mouse over the tree item Preselectează obiectul în vizualizarea 3D când mouse-ul este deasupra elementului în vizualizarea arborescentă @@ -11711,12 +11034,12 @@ copia curentă va fi pierdută. StdTreeRecordSelection - + Record selection Înregistrare selecție - + Record selection in tree view in order to go back/forward using navigation button Înregistrați selecția în vizualizarea arborelui pentru a merge înapoi/înainte folosind butonul de navigare @@ -11724,13 +11047,13 @@ copia curentă va fi pierdută. StdTreeSelection - + Go to selection Du-te la selecție - - + + Scroll to first selected item Mergi la primul obiect selectat @@ -11738,13 +11061,13 @@ copia curentă va fi pierdută. StdTreeSingleDocument - + Single document Document unic - - + + Only display the active document in the tree view Afișează doar documentul activ în vizualizarea arborescentă @@ -11752,12 +11075,12 @@ copia curentă va fi pierdută. StdTreeSyncPlacement - + Sync placement Plasare sincronizare - + Auto adjust placement on drag and drop objects across coordinate systems Reglaţi automat plasarea pe tragere şi plasare obiecte între sistemele de coordonate @@ -11765,12 +11088,12 @@ copia curentă va fi pierdută. StdTreeSyncSelection - + Sync selection Sincronizează selecția - + Auto expand tree item when the corresponding object is selected in 3D view Extinde automat vederea arborescentă atunci când obiectul corespunzător este selectat în vizualizarea 3D @@ -11778,12 +11101,12 @@ copia curentă va fi pierdută. StdTreeSyncView - + Sync view Sincronizarea vizualizării - + Auto switch to the 3D view containing the selected item Comutare automată la vizualizarea 3D care conține elementul selectat @@ -11791,13 +11114,13 @@ copia curentă va fi pierdută. StdViewBoxZoom - + Box zoom Marire cu dreptunghi - - + + Activate the box zoom tool Activează unealta de mărire a cutiei @@ -11805,13 +11128,13 @@ copia curentă va fi pierdută. StdViewDock - + Docked Andocat - - + + Display the active view either in fullscreen, in undocked or docked mode Afiseaza vizualizarea activa in ecran complet, in mod detasat sau andocat @@ -11819,13 +11142,13 @@ copia curentă va fi pierdută. StdViewDockUndockFullscreen - + Document window Fereastra doumentului - - + + Display the active view either in fullscreen, in undocked or docked mode Afiseaza vizualizarea activa in ecran complet, in mod detasat sau andocat @@ -11833,13 +11156,13 @@ copia curentă va fi pierdută. StdViewFullscreen - + Fullscreen Ecran complet - - + + Display the active view either in fullscreen, in undocked or docked mode Afiseaza vizualizarea activa in ecran complet, in mod detasat sau andocat @@ -11847,13 +11170,13 @@ copia curentă va fi pierdută. StdViewScreenShot - + Save image... Salvare imagine... - - + + Creates a screenshot of the active view Creaza o imagine din vizualizarea activa @@ -11861,13 +11184,13 @@ copia curentă va fi pierdută. StdViewUndock - + Undocked Neandocat - - + + Display the active view either in fullscreen, in undocked or docked mode Afiseaza vizualizarea activa in ecran complet, in mod detasat sau andocat @@ -11875,13 +11198,13 @@ copia curentă va fi pierdută. StdViewZoomIn - + Zoom In Marire - - + + Increase the zoom factor by a fixed amount Crește factorul de zoom cu o sumă fixă @@ -11889,13 +11212,13 @@ copia curentă va fi pierdută. StdViewZoomOut - + Zoom Out Micsorare - - + + Decrease the zoom factor by a fixed amount Scade factorul zoom cu o valoare fixă @@ -11930,72 +11253,72 @@ Sunteți sigur că doriți să continuați? Std_DrawStyle - + As is Asa cum este - + Normal mode Modul normal - + Points Puncte - + Points mode Mod puncte - + Wireframe Wireframe - + Wireframe mode Modul wireframe - + Hidden line Linie ascunsă - + Hidden line mode Modul linie ascunsă - + No shading Nici o umbrire - + No shading mode Nu în modul de umbrire - + Shaded Umbrit - + Shaded mode Mod umbrit - + Flat lines Linii plane - + Flat lines mode Mod linii plane @@ -12058,32 +11381,32 @@ Doriți în continuare să continuați? TreeParams - + Tree view item background. Only effective in overlay. Fundalul elementului de vizualizare copac este eficient doar în suprapunere. - + Tree view item background padding. Asocierea elementului de fundal pentru vizualizarea arborelor. - + Hide extra tree view column for item description. Ascunde coloana extra de vizualizare arbore pentru descrierea elementului. - + Hide tree view scroll bar in dock overlay. Ascunde bara de derulare a arborelui în suprapunere cu doc. - + Hide tree view header view in dock overlay. Ascunde vizualizarea arborelui de antet în suprapunere cu dock. - + Allow tree view columns to be manually resized. Permite redimensionarea manuală a coloanelor de vizualizare a arborelor. @@ -12091,117 +11414,117 @@ Doriți în continuare să continuați? Workbench - + &File &Fişier - + &Edit &Editare - + Edit Editare - + Clipboard Clipboard - + Workbench Banc de lucru - + Structure Structura - + Standard views Vederi standard - + Axonometric Axonometric - + &Stereo &Stereo - + &Zoom &Zoom - + Visibility Vizibilitate - + &View &Vedere - + &Tools Ins&trumente - + &Macro &Macro - + &Windows &Ferestre - + &On-line help Ajut&or on-line - + &Help &Ajutor - + Help Ajutor - + File Fişier - + Macro Macrocomandă - + View Vizualizare - + Special Ops Operaţii speciale - + Link actions Legați acțiunile @@ -12209,12 +11532,12 @@ Doriți în continuare să continuați? Gui::MDIView - + Export PDF Exportă PDF - + PDF file Fişier PDF @@ -12222,196 +11545,190 @@ Doriți în continuare să continuați? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Zona de notificare - + Settings Setari - + The Notification area will appear in the status bar Zona de notificare va apărea în bara de stare - + Enable Notification Area Activează zona de notificare - + Non-intrusive notifications will appear next to the notification area in the status bar Notificările neintruzive vor apărea lângă zona de notificare în bara de stare - + Enable non-intrusive notifications Activează notificările neintruzive - + Additional data sources Surse de date suplimentare - + Errors intended for developers will appear in the notification area Erorile destinate dezvoltatorilor vor apărea în zona de notificare - + Debug errors Depanare erori - + Warnings intended for developers will appear in the notification area Avertismente destinate dezvoltatorilor vor apărea în zona de notificare - + Debug warnings Avertismente de depanare - + Non-Intrusive Notifications Notificări discrete - + Minimum Duration: Durata Minimă: - + Maximum Duration: Durată maximă: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Durata în care notificarea va fi afișată (dacă nu se dă click pe butoanele mouse-ului) - - + + s S - + Minimum duration during which the notification will be shown (unless notification clicked) Durata minimă în care va fi afișată notificarea (cu excepția cazului în care se dă click pe notificare) - + Maximum Number of Notifications: Numărul maxim de notificări: - + Maximum number of notifications that will be simultaneously present on the screen Numărul maxim de notificări care vor fi prezente simultan pe ecran - + Notification width: Lățime notificare: - + Width of the notification in pixels Lățimea notificării în pixeli - + Any open non-intrusive notifications will disappear when another window is activated Orice notificări deschise neintruzive vor dispărea atunci când este activată o altă fereastră - + Hide when other window is activated Ascunde când este activată cealaltă fereastră - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Previne să apară notificări neinvazive atunci când Fereastra FreeCAD nu este fereastra activă - + Do not show when inactive Nu se afișează când este inactiv - + Message List Listă mesaje - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limitează numărul de mesaje care vor fi păstrate în listă. Dacă 0 nu există limite. - + Maximum Messages (0 = no limit): Numărul maxim de mesaje (0 = fără limită): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Elimină notificările utilizatorului din lista de mesaje după ce durata maximă neintruzivă a expirat. - + Auto-remove User Notifications Ștergere automată notificări utilizator - - - Activation of the Notification Area only takes effect after an application restart. - Activarea ariei de notificare intră în vigoare numai după repornirea cererii. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Bancuri de lucru disponibile - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Puteți reordona atelierele prin tragere și scădere. Atelierele suplimentare pot fi instalate prin intermediul managerului de suplimente.</p><p> În prezent, sistemul dvs. are următoarele ateliere:</p></body></html> - + Start up workbench: Start workbench-ul de lucru: - + Choose which workbench will be activated and shown after FreeCAD launches Alegeți ce banc de lucru va fi activat și afișat după lansarea FreeCAD - + Workbench selector position : Poziție selector banc de lucru: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12424,12 +11741,12 @@ după lansarea FreeCAD 'Colț Dreapt': în bara de meniu, în colțul din dreapta. - + If checked, application will remember which workbench is active for each tab of the viewport Dacă bifaţi, aplicaţia va reţine care banc de lucru este activ pentru fiecare filă din vizualizare - + Remember active workbench by tab Memorează bancul de lucru activ în fiecare filă @@ -12578,47 +11895,47 @@ după lansarea FreeCAD Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Dacă nu este bifat, %1 nu va apărea în bancurile de lucru disponibile. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Acesta este modulul curent de pornire, și trebuie să fie activat. Vezi Preferințe/Generale/Autoîncărcate pentru modificare. - + Shortcut to activate this workbench. Scurtătură pentru a activa acest atelier. - + Auto-load Autoîncărcare - + If checked, %1 will be loaded automatically when FreeCAD starts up Daca este bifat, %1 va fi incarcat automat cand FreeCAD incepe - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Acesta este modulul curent de pornire și trebuie să fie încărcat automat. Vezi Preferințe/Generale/Autoîncărcate pentru modificare. - + Loaded Încărcat - + Load Incarcă - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Pentru a păstra resursele, FreeCAD nu încarcă atelierele de lucru până nu sunt utilizate. Încărcarea acestora poate oferi acces la preferințe suplimentare legate de funcționalitatea lor. @@ -12626,17 +11943,22 @@ după lansarea FreeCAD Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Bară de instrumente - + Left corner Colț stânga - + Right corner Colţul din dreapta @@ -12662,12 +11984,12 @@ după lansarea FreeCAD Gui::NotificationArea - + Delete user notifications Ştergeţi notificările utilizatorului - + Delete All Şterge tot @@ -12703,13 +12025,13 @@ după lansarea FreeCAD StdViewLoadImage - + Load image... Încărcare imagini - - + + Loads an image Încarcă o imagine @@ -12771,10 +12093,816 @@ după lansarea FreeCAD Gui::ExpLineEdit - - + + An error occurred -- see Report View for information S-a produs o eroare -- vezi Raport View pentru informaţii + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opţiuni + + + + Code lines will be numbered + Liniile de cod vor fi numerotate + + + + Enable line numbers + Activează numerotarea liniilor + + + + The cursor shape will be a block + Forma cursorului va fi un bloc + + + + Enable block cursor + Activare cursor bloc + + + + Enable folding + Activează plierea + + + + Indentation + Identație/retragere + + + + Tab size: + Mărime tabulator: + + + + Tabulator raster (how many spaces) + Rasterul tabulatorului (câte spații) + + + + Indent size: + Demensiunea identației /retragerii: + + + + How many spaces will be inserted when pressing <Tab> + Câte spații vor fi inserate la apăsarea tastei <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Apăsarea tastei <Tab> va insera un tabulator cu dimensiunea definită a tab-ului + + + + Keep tabs + Păstrează tabulatorii + + + + Pressing <Tab> will insert amount of defined indent size + Apăsarea tastei <Tab> va insera indentația conform dimensiunii definite + + + + Insert spaces + Inseraţi spaţii + + + + Display items + Afişare elemente + + + + Color and font settings will be applied to selected type + Setările de culoare și font vor fi aplicate tipului selectat + + + + Family: + Familie: + + + + Font family to be used for selected code type + Familia de fonturi care va fi folosită pentru tipul de cod selectat + + + + Size: + Dimensiune: + + + + Font size to be used for selected code type + Dimensiunea fontului pentru tipul de cod selectat + + + + Color: + Culoare: + + + + Preview: + Previzualizare: + + + + Text + Text + + + + Bookmark + Semn de carte + + + + Breakpoint + Punct de întrerupere + + + + Keyword + Cuvânt cheie + + + + Comment + Comentariu + + + + Block comment + Comentariu de bloc + + + + Number + Număr + + + + String + Şir + + + + Character + Caracter + + + + Class name + Numele clasei + + + + Define name + Definiți numele + + + + Operator + Operator + + + + Python output + Ieşire Python + + + + Python error + Eroare Python + + + + Current line highlight + Evidentiere linie curenta + + + + Items + Elemente + + + + Gui::Dialog::DlgSettingsGeneral + + + General + General + + + + Language and number format + Limbă și format de număr + + + + Language: + Limba: + + + + Language of the application's user interface + Limba interfeței pentru utilizator a aplicației + + + + Unit system: + Sistem de unitate: + + + + Unit system that should be used for all parts of the application + Sistem unităților de măsură care ar trebui să fie utilizat pentru toate componentele aplicației + + + + Number of decimals: + Număr de zecimale: + + + + Number of decimals that should be shown for numbers and dimensions + Numărul de zecimale care ar trebui afișate pentru numere și dimensiuni + + + + Minimum fractional inch: + Fracțiunea minimă în Inch: + + + + Minimum fractional inch to be displayed + Fracțiunea minimă de inch care va fi afișată + + + + Number format: + Format număr: + + + + Operating system + Sistem de operare + + + + Selected language + Limba selectată + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Dacă este activat, separatorul zecimal de tastatură numerică +va fi înlocuit cu separator local, exceptând +în Python Console și Macro Editor, unde un +punct/period va fi întotdeauna imprimat. + + + + Substitute decimal separator + Separator zecimal înlocuitor + + + + Application + Aplicație + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Dimensiunea iconițelor in toolbar: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Alegeți preferința dumneavoastră pentru dimensiunea pictogramelor din bara de instrumente. Puteți ajusta +acest lucru în funcție de dimensiunea ecranului sau de gustul personal + + + + Tree view mode: + Vizualizare tip arbore: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Personalizați modul în care este afișată vizualizarea arborelui în panou (este necesară repornirea). + +'ComboView': combinați vizualizarea arborelui și a proprietății într-un singur panou. +'TreeView și PropertyView': vizualizare arborele împărțit și vizualizare proprietate în panou separat. +'Ambele': păstrați toate cele trei panouri și puteți avea două seturi de vizualizare a arborelui și a proprietății. + + + + Size of recent file list: + Dimensiunea listei de fişiere recente: + + + + How many files should be listed in recent files list + Câte fişiere trebuie afișate în lista de fişiere recente + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Fundalul ferestrei principale (atunci când nu este deschis niciun document) va fi format din plăci ale unei imagini speciale. +Consultați Wiki FreeCAD pentru detalii despre imagine. + + + + Enable tiled background + Activează fundalul în mozaic + + + + The text cursor will be blinking + Cursorul de text va clipi + + + + Enable cursor blinking + Activează clipirea cursorului + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Un ecran de pornire este o mică fereastră de încărcare care este afișată +atunci când FreeCAD este lansat. În cazul în care această opțiune este bifată, FreeCAD va afișa +ecranul de pornire + + + + Enable splash screen at start up + Activează ecranul inițial de bun sosit la pornire + + + + Preference packs + Pachete de preferințe + + + + Name + Nume + + + + Type + Tip + + + + Load + Incarcă + + + + Import config... + Importă configurația... + + + + Save new... + Salvează nou... + + + + Manage... + Gestionează... + + + + Revert... + Revenire/restabilire... + + + + Manage preference packs + Gestionează pachetele de preferințe + + + + Small (%1px) + Mic (%1px) + + + + Medium (%1px) + Mediu (%1px) + + + + Large (%1px) + Mare (%1px) + + + + Extra large (%1px) + Foarte mare (%1px) + + + + Custom (%1px) + Personalizat (%1px) + + + + Combo View + Vizualizare combo + + + + TreeView and PropertyView + VedereArbore și VedereProprietăți + + + + Both + Ambele + + + + Preference Pack Name + Numele pachetului de preferințe + + + + Tags + Etichete + + + + Apply + Aplică + + + + Apply the %1 preference pack + Aplică pachetul de preferințe %1 + + + + Choose a FreeCAD config file to import + Alegeți un fișier de configurare FreeCAD pentru import + + + + File exists + Fișier existent + + + + A preference pack with that name already exists. Overwrite? + Un pachet de preferințe cu același nume există deja. Doriți sa îl suprascrieți? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Vezualizare raport + + + + Output + Ieşire + + + + Normal messages will be recorded + Mesajele normale vor fi înregistrate + + + + Record normal messages + Înregistrează mesajele normale + + + + Log messages will be recorded + Jurnalul de mesaje va fi înregistrat + + + + Record log messages + Înregistrare mesaje în jurnal + + + + Warnings will be recorded + Avertismentele vor fi înregistrate + + + + Record warnings + Înregistrează avertismente + + + + Error messages will be recorded + Mesajele de eroare vor fi înregistrate + + + + Record error messages + Înregistrează mesajele de eroare + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Când a apărut o eroare, fereastra de vizualizare raport va devini vizibilă +pe ecran în timpul afișării erorii + + + + Show report view on error + Arată vizualizarea raportului pentru eroare + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Când a apărut un avertisment, fereastra Vizualizare Raport va deveni vizibilă +pe ecran în timpul afișării avertismentului + + + + Show report view on warning + Arată Vizualizare Raport pentru avertismente + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Când a apărut un mesaj normal, fereastra Vizualizare Raport va deveni vizibilă +pe ecran în timp ce afișează mesajul + + + + Show report view on normal message + Arată rapoarte pentru mesajele normale + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Când a apărut un mesaj de jurnal, fereastra Vizualizare Raport va deveni vizibilă +pe ecran în timp ce afișează mesajul de jurnal + + + + Show report view on log message + Arată rapoarte pentru mesajele de jurnal + + + + Include a timecode for each report + Include ora pentru fiecare raport + + + + Include a timecode for each entry + Include ora pentru fiecare înregistrare + + + + Colors + Culori + + + + Normal messages: + Mesaje normale: + + + + Font color for normal messages in Report view panel + Culoarea font-ului pentru mesajele normale în fereastra de Vizualizare Rapoarte + + + + Log messages: + Mesaje de jurnal: + + + + Font color for log messages in Report view panel + Culoarea font-ului pentru mesajele de jurnal în fereastra de Vizualizare Rapoarte + + + + Warnings: + Avertismente: + + + + Font color for warning messages in Report view panel + Culoarea font-ului pentru mesajele de avertizare în panoul de vizualizare Rapoarte + + + + Errors: + Erori: + + + + Font color for error messages in Report view panel + Culoarea font-ului pentru mesajele de eroare în panoul de vizualizare Rapoarte + + + + Python interpreter + Interpretor de Python + + + + Internal Python output will be redirected +from Python console to Report view panel + Mesajele interne Python vor fi redirecționate +din consola Python către panoul de vizualizare Rapoarte + + + + Redirect internal Python output to report view + Redirectioneaza textele generate de Python catre panoul de raportare + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Mesajele de eroare interne Python vor fi redirecționate +din consola Python către panoul de vizualizare Rapoarte + + + + Redirect internal Python errors to report view + Redirectioneaza erorile interne generate de Python catre panoul de raportare + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Fără stil foaie + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_ru.ts b/src/Gui/Language/FreeCAD_ru.ts index 531fdb9109..7e350423fd 100644 --- a/src/Gui/Language/FreeCAD_ru.ts +++ b/src/Gui/Language/FreeCAD_ru.ts @@ -42,48 +42,48 @@ Визуальный размер элемента - + <empty> <пусто> - - + + Angle Угол - - + + Axis Ось - + Position Положение - + Enum Перечисления Base - Основные + База CmdTestConsoleOutput - + Test console output Тест с выводом на консоль (терминал) - - + + Run test cases to verify console messages Запустите тестовые кейсы для проверки сообщений консоли @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Удалить замер - + Clear all visible measurements Очистить все видимые измерения @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Показывать замеры - + Turn on or off the display of all measurements Включить или выключить дисплей всех измерений @@ -132,7 +132,7 @@ Удалить - + Paste expressions Вставить выражения @@ -182,9 +182,9 @@ Добавить группу - + Align - Выравнивание + Выровнить @@ -193,40 +193,40 @@ Расположение - - + + Transform Переместить - + Toggle array elements Переключить элементы массива - + Link Transform Преобразование ссылок - + Measure distance Измерить расстояние - + Toggle visibility Видимость - + Toggle selectability Откл/вкл выделяемость - + Edit image Редактировать изображение @@ -234,77 +234,77 @@ CommandGroup - + File Файл - + Edit Редактировать - + Help Справка - + Link Зависимость - + Tools Инструменты - + View Вид - + Window Окно - + Standard Стандартно - + Macros Макрос - + Macro Макрос - + Structure Структура - + Standard-Test Стандартный тест - + Standard-View Стандартный вид - + TreeView Дерево элементов - + Measure Измерить @@ -397,16 +397,11 @@ Ok - Да + OK DownloadItem - - - Form - Форма - Ico @@ -421,42 +416,42 @@ EditMode - + Default По умолчанию - + The object will be edited using the mode defined internally to be the most appropriate for the object type Объект будет отредактирован с помощью режима, определяемого внутри наиболее подходящего для типа объекта - + Transform - Переместить + Преобразовать - + The object will have its placement editable with the Std TransformManip command Объекта будет иметь размещение, редактируемое с помощью команды Std TransformManip - + Cutting Обрезка - + This edit mode is implemented as available but currently does not seem to be used by any object Этот режим редактирования реализован как доступный, но в настоящее время он не используется ни одним объектом - + Color Цвет - + The object will have the color of its individual faces editable with the Part FaceColors command Объект будет иметь цвет отдельных граней, редактируемый с помощью команды Part FaceColors @@ -482,7 +477,7 @@ Отсутствует - + Press a keyboard shortcut Нажмите сочетание клавиш @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Доступны: - + Selected: Выбрано: - + Add Добавить - + Remove Удалить - + Move up Переместить вверх - + Move down Переместить вниз @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Перемещаемый объект - + Fixed object Фиксированный объект @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Пожалуйста, подождите завершения записи файлов автоматического восстановления... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Нажмите левую кнопку мыши - + Press SHIFT and middle mouse button Нажмите клавишу SHIFT и среднюю кнопку мыши - + Press middle mouse button Нажмите среднюю кнопку мыши - + Scroll middle mouse button Прокрутите колёсико мыши @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Нажмите левую кнопку мыши - + Press middle mouse button Нажмите среднюю кнопку мыши - + Press middle+left or middle+right button Нажмите среднюю + левую или среднюю + правую кнопки - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Прокрутка колёсиком мыши или, удерживая среднюю кнопку мыши нажатой, нажатием левой или правой кнопки мыши и перемещением мыши вверх или вниз @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK OK - + &Cancel Отмена @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Панель задач @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Благодарности - + FreeCAD would not be possible without the contributions of Список всех, кто внес свой вклад в создание FreeCAD - + Individuals Header for the list of individual people in the Credits list. Участники - + Organizations Header for the list of companies/organizations in the Credits list. Организации - - + + License Лицензия - + Libraries Библиотеки - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Это программное обеспечение использует компоненты с открытым исходным кодом, чьи авторские права и другие права собственности принадлежат их соответствующим владельцам: - + Collection Коллекция @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Расположение кэша - + The cache directory %1 exceeds the size of %2. Каталог кэша %1 превышает размер %2. - + Do you want to clear it now? Хотите очистить сейчас? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Предупреждение: Пожалуйста, убедитесь, что это единственный работающий экземпляр %1 и что ни один документ не открыт, так как это может привести к потере данных! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Настройки камеры - + Orientation Ориентация - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Текущий вид @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Команды @@ -1117,12 +1112,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Набор уже существует - + A preference pack with that name already exists. Do you want to overwrite it? Пакет настроек с таким именем уже существует. Вы хотите перезаписать его? @@ -1357,57 +1352,57 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Введите для поиска... - + Icon Значок - + Command Команда - + Shortcut Сочетание клавиш - + Default По умолчанию - + Name Название - + Title Заголовок - + All Все - - + + none - Отсутствует + отсутствует Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Панели инструментов @@ -1472,7 +1467,7 @@ same time. The one with the highest priority will be triggered. Move down - Переместить вниз + Переместить вниз @@ -1496,40 +1491,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Разделитель> - + %1 module not loaded %1 модуль не загружен - + New toolbar Новая панель инструментов - - + + Toolbar name: Название панели инструментов: - - + + Duplicated name Повторяющееся название - - + + The toolbar name '%1' is already used Название панели инструментов '%1' уже используется - + Rename toolbar Переименовать панель инструментов @@ -1542,19 +1537,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Настроить - + &Help Справка - + &Close Закрыть @@ -1563,13 +1558,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Движение пространственного манипулятора - + No Spaceball Present Не обнаружено пространственного манипулятора @@ -1577,27 +1572,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Кнопки пространственного манипулятора - + No Spaceball Present Не обнаружено пространственного манипулятора - + Buttons Кнопки - + Reset Сброс - + Print Reference Напечатать шпаргалку @@ -1682,550 +1677,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default По умолчанию - + Aluminium Алюминий - + Brass Латунь - + Bronze Бронза - + Copper Медь - + Chrome Хром - + Emerald Изумруд - + Gold Золото - + Jade Нефрит - + Metalized Металлизированный - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Обсидиан - + Pewter Пьютер - + Plaster Гипс - + Plastic Пластик - + Ruby Рубин - + Satin Глянцевый - + Shiny plastic Блестящий пластик - + Silver Серебро - + Steel Сталь - + Stone Камень Gui::Dialog::DlgEditorSettings - - - Editor - Редактор кода - - - - Options - Параметры - - - - Code lines will be numbered - Строки кода будут пронумерованы - - - - Enable line numbers - Показывать номера строк - - - - The cursor shape will be a block - Форма курсора будет представлять собой блок - - - - Enable block cursor - Включить большой курсор в виде блока - - - - Enable folding - Включить сворачивание - - - - Indentation - Отступы - - - - Tab size: - Шаг табуляции: - - - - Tabulator raster (how many spaces) - Число пробелов в одной табуляции - - - - Indent size: - Размер отступа: - - - - How many spaces will be inserted when pressing <Tab> - Сколько пробелов будет вставлено при нажатии <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Нажатие <Tab> вставит табуляцию определенного размера - - - - Keep tabs - Символы табуляции - - - - Pressing <Tab> will insert amount of defined indent size - Нажатие <Tab> для вставки определенного размера отступа - - - - Insert spaces - Заменять на пробелы - - - - Display items - Показать пункты - - - - Color and font settings will be applied to selected type - Настройки цвета и шрифта будут применены к выбранному типу - - - - Family: - Шрифт: - - - - Font family to be used for selected code type - Семейство шрифтов, которые будут использоваться для выбранного типа кода - - - - Size: - Размер: - - - - Font size to be used for selected code type - Размер шрифта, который будет использоваться для выбранного типа кода - - - - Color: - Цвет: - - - - Preview: - Предпросмотр: - О программе - - Gui::Dialog::DlgGeneral - - - General - Основные - - - - Language of the application's user interface - Язык пользовательского интерфейса приложения - - - - Number format: - Формат чисел: - - - - Operating system - Операционная система - - - - Selected language - Выбранный язык - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Если включено, числовой десятичный разделитель клавиш -будет заменён локальным разделителем, за исключением -консоли Python и редактора макросов, где всегда будут напечатаны точки/периоды. - - - - Preference packs - Наборы настроек - - - - Name - Название - - - - Type - Тип - - - - Load - Загрузить - - - - Import config... - Импорт конфигурации... - - - - Save new... - Сохранить новый... - - - - Manage... - Управление... - - - - Revert... - Вернуть... - - - - How many files should be listed in recent files list - Количество файлов в списке последних файлов - - - - Enable tiled background - Включить фон из повторяющегося узора - - - - The text cursor will be blinking - Текстовый курсор будет мигать - - - - Enable cursor blinking - Включить мигание курсора - - - - Style sheet: - Стиль интерфейса: - - - - Language and number format - Язык и числовой формат - - - - Language: - Язык интерфейса: - - - - Unit system: - Система измерения: - - - - Unit system that should be used for all parts of the application - Система единиц измерения, которая должна использоваться для всех компонентов приложения - - - - Number of decimals: - Количество десятичных знаков: - - - - Number of decimals that should be shown for numbers and dimensions - Количество десятичных знаков, которые должны отображаться для чисел и размеров - - - - Minimum fractional inch: - Минимальная часть дюйма: - - - - Minimum fractional inch to be displayed - Минимальная часть дюйма для отображения - - - - Substitute decimal separator - Замена десятичного разделителя - - - - Application - Приложение - - - - Style sheet how user interface will look like - Таблица стилей, как будет выглядеть пользовательский интерфейс - - - - Size of toolbar icons: - Размер значков на панелях инструментов: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Выберите предпочтение для размера иконки в панели инструментов. Вы можете настроить -этот размер в соответствии с размером Вашего экрана или индивидуальным вкусом - - - - Tree view mode: - Режим отображения иерархии документа: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Настроить отображение дерева в панели (требуется перезапуск). - -'ComboView: комбинирует вид дерева и свойства в одну панель. -'TreeView и PropertyView': разделяет вид дерева и вид свойства в отдельную панель. -'Оба ': сохраняет все три панели, и Вы можете иметь два набора вида дерева и вид свойств. - - - - Size of recent file list: - Размер списка последних файлов: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Фон главного окна (при отсутствии документа) будет состоять из плиток специального изображения. -Смотрите Вики FreeCAD для получения подробной информации о изображении. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Экран заставки — это небольшое окно загрузки, которое отображается -при запуске FreeCAD. Если этот параметр отмечен, FreeCAD -отобразит экран заставки - - - - Enable splash screen at start up - Включение экрана-заставки при запуске - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Управление наборами настроек - - - - Small (%1px) - Малый (%1px) - - - - Medium (%1px) - Средний (%1пикс.) - - - - Large (%1px) - Крупный (%1пикс.) - - - - Extra large (%1px) - Очень крупный (%1пикс.) - - - - Custom (%1px) - Пользовательский (%1пикс.) - - - - Combo View - Комбо панель - - - - TreeView and PropertyView - Иерархия документа и свойства разделено (две панели) - - - - Both - Оба варианта одновременно (три панели) - - - - No style sheet - Без особого стиля - - - - Preference Pack Name - Название пакета настроек - - - - Tags - Метки - - - - Apply - Применить - - - - Apply the %1 preference pack - Применить %1 набор настроек - - - - Choose a FreeCAD config file to import - Выберите файл конфигурации FreeCAD для импорта - - - - File exists - Файл существует - - - - A preference pack with that name already exists. Overwrite? - Пакет настроек с таким именем уже существует. Перезаписать? - - Gui::Dialog::DlgInputDialog @@ -2241,8 +1809,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector Инспектор сцены @@ -2334,71 +1902,71 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros Макрос - + Read-only Только для чтения - + Macro file Файл макроса - + Enter a file name, please: Введите имя файла, пожалуйста: - - - + + + Existing file Существующий файл - + '%1'. This file already exists. '%1'. Этот файл уже существует. - + Cannot create file Не удается создать файл - + Creation of file '%1' failed. Не удалось создать файл '%1'. - + Delete macro Удалить макрос - + Do you really want to delete the macro '%1'? Вы действительно хотите удалить макрос '%1' ? - + Do not show again Не показывать снова - + Guided Walkthrough Интерактивный тур - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2409,77 +1977,77 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 Пошаговое руководство, диалоговое окно 1 из 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Пошаговые инструкции: заполните пропущенные поля (необязательно), затем нажмите «Добавить», затем «Закрыть» - + Walkthrough, dialog 1 of 1 Пошаговое руководство, диалоговое окно 1 из 1 - + Walkthrough, dialog 2 of 2 Пошаговое руководство, диалоговое окно 2 из 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Пошаговые инструкции: Нажмите на кнопку со стрелкой вправо (->), затем закройте. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Пошаговые инструкции: Нажмите новый, затем на кнопку со стрелкой вправо (->), затем закройте. - + Renaming Macro File Переименование файла макроса - - + + Enter new name: Введите новое имя: - - + + '%1' already exists. '%1' уже существует. - + Rename Failed Не удалось переименовать - + Failed to rename to '%1'. Perhaps a file permission error? Не удалось переименовать в '%1'. Возможно ошибка прав доступа к файлу? - + Duplicate Macro Дублировать макрос - + Duplicate Failed Не удалось дублировать - + Failed to duplicate to '%1'. Perhaps a file permission error? Не удалось дублировать в '%1'. @@ -2522,39 +2090,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Средство записи макросов - + Specify first a place to save. Сначала укажите место для сохранения. - + The macro directory doesn't exist. Please, choose another one. Указанная директория не существует. Пожалуйста, укажите другую. - + Existing macro Существующий макрос - + The macro '%1' already exists. Do you want to overwrite? Макрос '%1' уже существует. Хотите ли вы перезаписать его? - + You have no write permission for the directory. Please, choose another one. У вас нет разрешения на запись в эту директорию. Пожалуйста, выберите другую. - + Choose macro directory Выберите директорию для макросов @@ -2627,12 +2195,12 @@ Perhaps a file permission error? HTML файлы - + Access denied Доступ запрещен - + Access denied to '%1' Specify another directory, please. @@ -2687,7 +2255,7 @@ Specify another directory, please. &Close - Закрыть + &Закрыть @@ -3033,36 +2601,36 @@ Specify another directory, please. Файлы проекта - - + + Empty source Откуда? - - + + No source is defined. Не указан источник. - - + + Empty destination Куда? - - + + No destination is defined. Не указано, куда. - + Failed to extract project Не удалось извлечь проект - + Failed to create project Не удалось создать проект @@ -3072,7 +2640,7 @@ Specify another directory, please. Link - Зависимость + Ссылка @@ -3112,187 +2680,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Просмотр отчёта - - - - Output - Вывод - - - - Normal messages will be recorded - Обычные сообщения будут записаны - - - - Record normal messages - Записывать обычные сообщения (normal) - - - - Log messages will be recorded - Сообщения журнала будут записаны - - - - Record log messages - Выводить информационные сообщения (log) - - - - Warnings will be recorded - Предупреждения будут записаны - - - - Record warnings - Выводить предупреждения (warnings) - - - - Error messages will be recorded - Сообщения об ошибках будут записаны - - - - Record error messages - Выводить сообщения об ошибках (errors) - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - При возникновении ошибки на экране становится видимым - диалог Просмотр Отчёта при отображении ошибки - - - - Show report view on error - Показать Просмотр отчёта при ошибке - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - При появления предупреждения становится видимым диалоговое окно "Просмотр отчета" -на экране при отображении предупреждения - - - - Show report view on warning - Показать Просмотр отчёта при предупреждении - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Когда появится обычное сообщение, диалог Просмотр отчёта становится видимым на экране для отображения сообщения - - - - Show report view on normal message - Показать отчёт в случае вывода обычного сообщения (normal) - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - При появлении сообщения журнала, диалоговое окно Report View становится видимым на экране, -пока отображается сообщение журнала - - - - Show report view on log message - Показать Просмотр отчёта для журнала сообщений - - - - Include a timecode for each report - Включить код времени для каждого отчёта - - - - Include a timecode for each entry - Вставлять время вывода в каждую запись отчёта - - - - Colors - Выделение цветом - - - - Normal messages: - Обычные сообщения: - - - - Font color for normal messages in Report view panel - Цвет шрифта для обычных сообщений на панели Просмотр отчёта - - - - Log messages: - Информационные сообщения (log): - - - - Font color for log messages in Report view panel - Цвет шрифта для журнала сообщений в панели Просмотр отчёта - - - - Warnings: - Предупреждения (warnings): - - - - Font color for warning messages in Report view panel - Цвет шрифта предупреждающих сообщений в панели Просмотр отчёта - - - - Errors: - Сообщения об ошибках (errors): - - - - Font color for error messages in Report view panel - Цвет шрифта для сообщений об ошибках на панели Report view - - - - Python interpreter - Интерпретатор Python - - - - Internal Python output will be redirected -from Python console to Report view panel - Внутренний вывод Python будет перенаправлен -с консоли Python на панель просмотра отчета - - - - Redirect internal Python output to report view - Перенаправить внутренний вывод Python в отчёт - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Внутренние сообщения об ошибках Python будут перенаправлены -с консоли Python на панель просмотра отчета - - - - Redirect internal Python errors to report view - Перенаправить внутренние ошибки Python в Просмотр отчёта - О программе @@ -3319,7 +2706,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Нет выбора в диалоговом окне, невозможно загрузить файл резервной копии @@ -3359,10 +2746,10 @@ from Python console to Report view panel Help - Справка + Помощь - + Select a file Выберите файл @@ -3370,68 +2757,68 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View 3D Вид - + General Основные - + Main coordinate system will always be shown in lower right corner within opened files Основная система координат всегда отображается в нижнем правом углу в открытых файлах - + Show coordinate system in the corner Показывать систему координат в углу - + Relative size : Относительный размер : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Размер представления основной системы координат в углу -- в % от высоты/ширины области просмотра - + Axis cross will be shown by default at file opening or creation Перекрестие осей будет показано по умолчанию при открытии или создании файла - + Show axis cross by default Показывать перекрестие осей по умолчанию - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Время, необходимое для последней операции, и результирующая частота кадров будут показаны в левом нижнем углу открытых файлов - + Show counter of frames per second Показывать счетчик кадров в секунду - + Rendering Отрисовка - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3440,22 +2827,22 @@ Changing this option requires a restart of the application. Изменение этой опции требует перезапуска приложения. - + Use software OpenGL Использовать программное обеспечение OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Использовать OpenGL VBO (объекты буфера вершин) - + Render cache Кэш рендера - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3475,7 +2862,7 @@ VBO - это технология OpenGL, позволяющая хранить - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3492,92 +2879,92 @@ but slower response to any scene changes. но более медленную реакцию на любые изменения сцены. - + Auto Авто - + Distributed Распределенный - + Centralized Централизованный - + Anti-Aliasing Сглаживание - + What kind of multisample anti-aliasing is used Какой тип многопроходного сглаживания используется - + None Нет - + Line Smoothing Сглаживание линий - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Прозрачные объекты: - + Render types of transparent objects Отображение типов прозрачных объектов - + One pass Один проход - + Backface pass Проход фона - + Marker size: Размер метки: - - Size of vertices in the Sketcher workbench - Размер вершин в верстаке Sketcher + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Расстояние между глаз для стерео режима - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3585,48 +2972,48 @@ bounding box size of the 3D object that is currently displayed. Указанное значение — это множитель, который будет умножаться на габаритный прямоугольный каркас текущего отображаемого трехмерного объекта. - + Backlight is enabled with the defined color Подсветка включена с определенным цветом - - + + Backlight color Цвет подсветки - + Intensity Интенсивность - + Intensity of the backlight Интенсивность подсветки - + Camera type Тип камеры - + Objects will appear in a perspective projection Объекты будут отображаться в перспективе - + Perspective renderin&g Прорисовка &перспективной проекции - + Objects will be projected in orthographic projection Объекты будут отображаться в ортографической проекции - + Or&thographic rendering Прорисовка ортогональной проекции @@ -3638,42 +3025,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5пикс. - + 7px 7пикс. - + 9px 9пикс. - + 11px 11пикс. - + 13px 13пикс. - + 15px 15пикс. - + Anti-aliasing Сглаживание - + Open a new viewer or restart %1 to apply anti-aliasing changes. Для вступления в силу изменений режима сглаживания, откройте новое окно просмотра или перезапустите %1. @@ -3681,77 +3068,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Кэш - + Cache directory Расположение кэша - + Location: Расположение: - + Check periodically at program start: Проверять периодически при запуске программы: - + Always Всегда - + Daily Ежедневно - + Weekly Еженедельно - + Monthly Ежемесячно - + Yearly Ежегодно - + Never Никогда - + Cache size limit: Ограничение размера кэша: - + Check now... Проверить сейчас... - + Notify the user if the cache size exceeds the specified limit Уведомить пользователя, если размер кэша превышает установленное ограничение - + Unknown Неизвестно - + Current cache size: %1 Текущий размер кэша: %1 @@ -3912,12 +3299,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Неверный параметр - + The maximum value must be higher than the minimum value. Максимальное значение должно быть больше минимального значения. @@ -3925,182 +3312,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Документ - + General - Основные + Главный - + The application will create a new document when started Приложение создаст новый документ при запуске - + Create new document at start up Создавать новый документ при запуске - + Document save compression level (0 = none, 9 = highest, 3 = default) Уровень сжатия сохраняемого документа (0 = нет, 9 = наивысший, 3 = по умолчанию) - + Compression level for FCStd files Уровень сжатия для файлов FCStd - + All changes in documents are stored so that they can be undone/redone Все изменения в документах хранятся, чтобы они могли быть отменены или восстановлены - + Using Undo/Redo on documents отмены/повторы - + Maximum Undo/Redo steps Максимум шагов отмен/повторов - + How many Undo/Redo steps should be recorded Сколько шагов Отмены/Повтора должно быть записано - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Разрешить пользователю прервать перерасчёт документа нажатием кнопки ESC. Эта функция может немного увеличить время пересчёта. - + Allow aborting recomputation Разрешить отмену перерасчёта - + Storage Сохранение - + Saving transactions (Auto-save) Записывать все операции (Автосохранение) - + Discard saved transaction after saving document Удалять сохраненные операции после сохранения документа - + If there is a recovery file available the application will automatically run a file recovery when it is started. Если файл восстановления доступен приложение автоматически выполнит восстановление при его запуске. - + Run AutoRecovery at startup Запуск автоматического восстановления при запуске - + How often a recovery file is written Как часто записывается файл восстановления - + Save AutoRecovery information every Автосохранение каждые - + A thumbnail will be stored when document is saved Миниатюра будет сохранена при сохранении документа - + Save thumbnail into project file when saving document Сохранить миниатюру в файл проекта при сохранении документа - + Size Размер - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Устанавливает размер миниатюры в документе. Общие размеры 128, 256 и 512 - + The program logo will be added to the thumbnail Логотип программы будет добавлен к миниатюре - + Add the program logo to the generated thumbnail Добавить логотип программы в генерируемую миниатюру - + How many backup files will be kept when saving document Количество файлов резервных копий создаваемое при сохранении документа - + Maximum number of backup files to keep when resaving document Максимальное количество файлов резервных копий, при пересохранении документа - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Файлы резервного копирования получат расширение '.FCbak' и имена файлов получат суффикс даты в соответствии с указанным форматом - + Use date and FCBak extension Использовать дату и расширение FCBak - + Date format Формат даты - + Document objects Объекты в документе - + Allow objects to have same label Разрешить объектам иметь одинаковые имена - + Allow duplicate object labels in one document Разрешить идентичные метки (Label) в одном документе - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4111,22 +3498,22 @@ icon in the tree view to fully reload it. Частично загруженный документ не может быть изменён. Дважды щёлкните на иконке документа в виде дерева, чтобы полностью перезагрузить его. - + Disable partial loading of external linked objects Отключить частичную загрузку внешних связанных объектов - + Authoring and License Авторство и лицензия - + Author name Имя автора - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4135,32 +3522,32 @@ You can also use the form: John Doe <john@doe.com> Вы также можете использовать форму: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file При сохранении файла поле 'Последнее изменение' будет заполнено именем указанного автора - + Set on save Устанавливать при сохранении - + Company Компания - + Default company name to use for new files Название компании по умолчанию для использования в новых файлах - + Default license Лицензия по умолчанию - + Default license for new documents Лицензия по умолчанию для новых документов @@ -4230,12 +3617,12 @@ You can also use the form: John Doe <john@doe.com> Другое - + License URL URL-адрес лицензии - + URL describing more about the license URL-адрес, описывающий дополнительные сведения о лицензии @@ -4243,104 +3630,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Формат используемой даты. - + Default По умолчанию - + Format Формат - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Текст - - - - Bookmark - Закладка - - - - Breakpoint - Точка останова - - - - Keyword - Ключевое слово - - - - Comment - Закомментировать - - - - Block comment - Блок комментариев - - - - Number - Число - - - - String - Строка - - - - Character - Символ - - - - Class name - Имя класса - - - - Define name - Задать название - - - - Operator - Оператор - - - - Python output - Вывод Python - - - - Python error - Ошибка Python - - - - Current line highlight - Выделение текущей строки - - - - Items - Элементы - - Gui::Dialog::DlgSettingsImage @@ -4521,122 +3825,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro - Макрос + Макрокоманда - + General macro settings Общие параметры макросов - + Variables defined by macros are created as local variables Переменные, определенные макросами создаются как локальные переменные - + Run macros in local environment Запуск макросов в локальном окружении - + Macro recording settings Настройки записи макросов - + Macro path Куда записывать макросы - + The directory in which the application will search for macros Каталог, в котором приложение будет искать макросы - + Gui commands Команды в графическом интерфейсе - + Recorded macros will also contain user interface commands Записанные макросы также будут содержать команды интерфейса пользователя - + Record GUI commands Записать команды интерфейса - + Recorded macros will also contain user interface commands as comments Записанные макросы также будут содержать команды интерфейса пользователя в виде комментариев - + Record as comment Записывать как комментарий - + Logging Commands Ведение журнала команд - + Commands executed by macro scripts are shown in Python console Команды, выполняемые скриптами макросов, отображаются в консоли Python - + Show script commands in python console Показывать команды скриптов в консоли Python - + Log all commands issued by menus to file: Записывать все команды интерфейса в файл: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Меню недавних макросов - + Size of recent macro list Размер списка недавних макросов - + How many macros should be listed in recent macros list Количество файлов в списке последних файлов - + Keyboard shortcut count Количество горячих клавиш - + How many recent macros should have shortcuts Определяет сколько макросов из списка "недавние макросы" должны иметь свою комбинацию клавиш - + Keyboard Modifiers Комбинация клавиш - + Keyboard modifiers, default = Ctrl+Shift+ Комбинация клавиш для быстрого запуска макроса из списка "недавние макросы", по умолчанию = Ctrl+Shift+ @@ -4644,130 +3948,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Навигация - + Navigation cube Куб навигации - + Steps by turn Шаги вращения - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Число шагов поворота при использовании стрелок (по умолчанию = 8: угол шага = 360/8 = 45 град.) - + Corner Угол - + Corner where navigation cube is shown Угол экрана, в котором показан куб навигации - + Top left Верхний левый угол - + Top right Верхний правый угол - + Bottom left Нижний левый угол - + Bottom right Нижний правый угол - + Rotates to nearest possible state when clicking a cube face Поворачивать до ближайшего состояния при клике на кубическую грань - + Rotate to nearest Повернуть к ближайшему - + Font name: Название шрифта: - + Font name of the navigation cube Шрифт используемый для навигационного куба - + Default По умолчанию - + Cube size Размер куба - + Size of the navigation cube Размер навигационного куба - + Color Цвет - + Base color for all elements Основной цвет для всех элементов - + 3D Navigation Трёхмерная навигация - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Список настроек кнопки мыши для каждой выбранной настройки навигации. Выберите набор и затем нажмите кнопку, чтобы просмотреть указанные конфигурации. - + Mouse... Подробности стиля управления... - + Navigation settings set Набор настроек навигации - + Orbit style Вращение - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4778,116 +4082,116 @@ Free Turntable: the part will be rotated around the z-axis. Свободное вращение: деталь поворачивается относительно оси Z. - + Turntable Поворотный круг - + Trackball Trackball - + Free Turntable Свободное вращение - + Rotation mode Режим вращения - + Rotations in 3D will use current cursor position as center for rotation Вращение в 3D будет использовать текущую позицию курсора как центр вращения - + Window center Центр окна - + Drag at cursor Перенести к курсору - + Object center Центр объекта - + Default camera orientation Ориентация камеры по умолчанию - + Default camera orientation when creating a new document or selecting the home view Ориентация камеры по умолчанию при создании нового документа или выборе вида "Домой" - + Camera zoom Масштаб камеры - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Устанавливает масштаб камеры для новых документов. Значение - диаметр сферы, помещаемой на экран. - + mm мм - + Enable animated rotations Включить анимированные вращения - + Enable animation Включить анимацию - + Zoom operations will be performed at position of mouse pointer Операции масштабирования будут выполняться в позиции указателя мыши - + Zoom at cursor Зум туда, где мышь - + Zoom step Шаг масштабирования - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Насколько будет масштабировано. Шаг масштаба '1' означает коэффициент 7.5 для каждого шага масштаба. - + Direction of zoom operations will be inverted Направление масштабирования будет инвертировано - + Invert zoom Инвертировать зум - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4896,102 +4200,112 @@ Mouse tilting is not disabled by this setting. Наклон мыши этой настройкой не отключен. - + Disable touchscreen tilt gesture Отключить жест наклона для сенсорного экрана - + + Show the rotation center when dragging. + Показывать центр вращения при перетаскивании. + + + + Enable rotation center indication + Включить отображение центра вращения + + + Isometric Изометрическая - + Dimetric Диметрическая - + Trimetric Триметрическая - + Top Сверху - + Front Спереди - + Left Слева - + Right Справа - + Rear Сзади - + Bottom Снизу - + Custom - Дополнительно + Произвольный Gui::Dialog::DlgSettingsPythonConsole - + Python console Консоль Python - + Settings Настройки - + Words will be wrapped when they exceed available horizontal space in Python console Слова будут свёрнуты, когда они превысят доступное горизонтальное пространство в консоли Python - + Enable word wrap Включить перенос слов - + The cursor shape will be a block Форма курсора будет представлять собой блок - + Enable block cursor Включить большой курсор в виде блока - + Saves Python history across sessions Сохраняет историю Python между сеансами - + Save history Сохранить историю @@ -4999,17 +4313,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Выделение - + + Enable preselection, highlighted with specified color + Включить предварительный выбор, с подсветкой указанным цветом + + + + Enable preselection + Включить предвыборку + + + + Enable selection, highlighted with specified color + Включить выбор, с подсветкой указанным цветом + + + + Enable selection + Включить выбор + + + Pick radius (px): Укажите радиус (пикс.): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5018,27 +4352,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Автопереключение в 3D вид, содержащий выбранный элемент - + Auto expand tree item when the corresponding object is selected in 3D view Автоматически разворачивать элемент дерева при выделении соответствующего объекта в 3D виде - + Preselect the object in 3D view when mouse over the tree item Выделить объект в режиме 3D при наведении курсора на элемент дерева - + Record selection in tree view in order to go back/forward using navigation button Записывать выделение в дереве для перехода назад / вперед с помощью кнопки навигации - + Add checkboxes for selection in document tree Добавить флажки для выделения в дереве документов @@ -5046,147 +4380,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Выделение цветом - - Selection - Выделение - - - - Enable preselection and highlight by specified color - Включить предварительный выбор и подсветку заданным цветом - - - - Enable preselection highlighting - Включить подсвечивание при наведении курсора - - - - Enable selection highlighting and use specified color - Включить подсветку выделения и использовать указанный цвет - - - - Enable selection highlighting - Включить подсвечивание выделенного - - - + Background color for the model view Цвет фона для представления модели - + Background color Цвет фона - - + + Background will have selected color Фон будет иметь выбранный цвет - + Simple color Один цвет - - + + Background will have selected color gradient Фон будет иметь выбранный градиент цвета - + Linear gradient Линейный градиент - + Radial gradient Радиальный градиент - - + + Top: Верх: - - + + Middle: В центре: - + Switches the colors of the gradient Переключает цвета градиента - + Switch Переключить - + Color gradient will get selected color as middle color Градиент цвета будет выбран в качестве среднего цвета - + Middle color Средний цвет - - + + Bottom: Снизу: - + Tree view Иерархия документа - + Object being edited Объект редактируется - + Background color for objects in tree view that are currently edited Цвет фона для объектов в виде дерева, которые в настоящее время редактируются - + Active container Активный контейнер - + Background color for active containers in tree view Цвет фона для активных контейнеров в виде дерева - + Central: Центральное: - + Midway: Полпути (Середина): - + End: Конец: @@ -5299,12 +4608,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: неизвестная единица: - + unit mismatch несоответствие единиц измерения @@ -5312,7 +4621,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement Расположение @@ -5364,60 +4673,60 @@ The 'Status' column shows whether the document could be recovered. Еще не восстановлен - + Unknown problem occurred Выявлена неизвестная проблема - - + + Failed to recover Не удалось восстановить - + Successfully recovered Успешно восстановлен - + Finish Завершить - - + + Delete Удалить - - + + Cleanup Очистить - + Are you sure you want to delete the selected transient directories? Вы уверены, что хотите удалить выбранные временные директории? - + When deleting the selected transient directory you won't be able to recover any files afterwards. При удалении выбранной временной директории, вы не сможете потом восстановить какие-либо файлы. - + Are you sure you want to delete all transient directories? Вы уверены, что хотите удалить все временные директории? - + When deleting all transient directories you won't be able to recover any files afterwards. При удалении всех временных директорий Вы не сможете потом восстановить какие-либо файлы. - + Transient directories deleted. Временные каталоги удалены. @@ -5541,7 +4850,7 @@ The 'Status' column shows whether the document could be recovered. Папки со значками - + Add icon folder Добавить папку @@ -5554,12 +4863,12 @@ The 'Status' column shows whether the document could be recovered. Добавить или удалить пользовательскую папку, содержащую значки - + Remove folder Удалить папку - + Removing a folder only takes effect after an application restart. Чтобы изменения вступили в силу, перезапустите программу. @@ -5629,79 +4938,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Развернуть - + Add sub-group Добавить подгруппу - - + + Remove group Удалить группу - + Rename group Переименовать группу - + Export parameter Экспортировать параметр - + Import parameter Импортировать параметр - + Collapse Свернуть - + Do you really want to remove this parameter group? Вы действительно хотите удалить эту группу параметров? - + Existing sub-group Уже есть - + The sub-group '%1' already exists. Подгруппа '%1' уже существует. - + Export parameter to file Экспорт параметров в файл - + Import parameter from file Импорт параметров из файла - + Import Error Ошибка импорта - + Reading from '%1' failed. Не удалось выполнить чтение из '%1'. @@ -5709,65 +5018,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Изменить значение - + Remove key Удалить ключ - + Rename key Переименовать ключ - + New Новый - + New string item Новый текстовый параметр - + New float item Новый нецелочисленный параметр - + New integer item Новый целочисленный параметр - + New unsigned item Новый беззнаковый параметр - + New Boolean item Новый логический параметр - - - - - + + + + + Existing item Существующий элемент - - - - - + + + + + The item '%1' already exists. Элемент '%1' уже существует. @@ -5913,17 +5222,17 @@ The 'Status' column shows whether the document could be recovered. Применить - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Пожалуйста, выберите 1, 2 или 3 точки, прежде чем нажать эту кнопку. Точка может быть на вершине, грани или кромке. Если используемая точка на грани или кромке, то она будет точкой на позиции мыши вдоль грани или кромки. Если выбрана 1 точка, то она будет использоваться в качестве центра вращения. Если выбраны 2 точки, то посредине между ними будет центр вращения, и, при необходимости, будет создана новая пользовательская ось. Если выбраны 3 точки, то первая точка становится центром вращения, и будет лежать на векторе, который перпендикулярен плоскости, проходящей через эти 3 точки. Некоторые расстояния и углы содержатся в отчёте, который может быть полезен при выравнивании объектов. Для Вашего удобства при использовании Shift + щелчок мыши соответствующее расстояние или угол копируются в буфер обмена. - + Incorrect quantity Неправильное количество - + There are input fields with incorrect input, please ensure valid placement values! Некоторые поля заполнены неправильно. Убедитесь в правильности выражений и единиц. @@ -5931,12 +5240,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Кнопка - + Command Команда @@ -6000,17 +5309,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Иерархия Inventor - + Name Название - + Nodes Узлов @@ -6066,16 +5375,16 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Отмена - - + + Transform - Переместить + Преобразовать @@ -6170,13 +5479,13 @@ originally selected prior to opening this dialog - + Model Модель - + Tasks Задачи @@ -6184,7 +5493,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Просмотр свойств @@ -6192,82 +5501,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Параметры - + Display message types Показать типы сообщений - - + + Normal messages Обычные сообщения - - + + Log messages Журнал сообщений - - + + Warnings Предупреждения - - + + Errors Ошибки - - + + Critical messages Критические сообщения - + Show Report view on Показать Просмотр отчёта на - + Redirect Python output Вывод Python - + Redirect Python errors Ошибки Python - + Go to end Переход к концу - + Clear Очистить - + Save As... Сохранить как... - + Save Report Output Сохранить вывод Отчёта - + Plain Text Files Текстовые файлы @@ -6276,13 +5585,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Вывод - + Python console Консоль Python @@ -6320,72 +5629,72 @@ originally selected prior to opening this dialog Список выбранных объектов - + Select only Выделить - + Selects only this object Выделить только этот объект - + Deselect Снять выделение - + Deselects this object Снять выделение с этого объекта - + Zoom fit Вписать в окно просмотра - + Selects and fits this object in the 3D window Изменить положение камеры так, чтобы объект уместился на экране - + Go to selection Перейти к выделенному - + Selects and locates this object in the tree view Выделить объект и показать его в дереве модели - + Mark to recompute Отметить для пересчета - + Mark this object to be recomputed Пометить этот объект для повторного вычисления - + To python console К консоли Python - + Reveals this object and its subelements in the python console. Раскрывает в консоли python этот объект и его подэлементы. - + Duplicate subshape Дублировать подформу - + Creates a standalone copy of this subshape in the document Создает стандартную копию этой подфигуры в документе @@ -6398,7 +5707,7 @@ originally selected prior to opening this dialog Приложение - + Labels & Attributes Метки и свойства @@ -6446,27 +5755,27 @@ Do you want to save your changes? Файл PDF - + untitled[*] безымянный[*] - + - Editor -Редактор - + %1 chars removed Удалено символов: %1 - + %1 chars added %1 символов добавлено - + Formatted Форматировано @@ -6490,13 +5799,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Выберите файл - + Select a directory Выберите папку @@ -6504,13 +5813,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Сохранить как - - + + Open Открыть @@ -6518,12 +5827,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Расширенный - + All files (*.*) Все файлы (*.*) @@ -6531,27 +5840,27 @@ Do you want to save your changes? Gui::Flag - + Top left Верхний левый угол - + Bottom left Нижний левый угол - + Top right Верхний правый угол - + Bottom right Нижний правый угол - + Remove Удалить @@ -6559,22 +5868,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Коснитесь ИЛИ щёлкните левой кнопкой мыши. - + Drag screen with two fingers OR press right mouse button. Перетаскивайте экран двумя пальцами ИЛИ нажатием правой кнопки мыши. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Перетаскивайте экран одним пальцем ИЛИ нажмите левую кнопку мыши. В верстаке Эскиз и других режимах редактирования, дополнительно удерживайте клавишу Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Щепок (поместите два пальца на экран и двигайте их друг от друга или друг к другу) ИЛИ вращайте колесо мыши ИЛИ используйте кнопки PgUp/PgDown на клавиатуре. @@ -6582,74 +5891,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found GraphViz не найден - + Graphviz couldn't be found on your system. GraphViz не найден в Вашей системе. - + Read more about it here. Прочтите подробнее об этом здесь. - + Do you want to specify its installation path if it's already installed? Вы хотите задать путь к нему, если он уже установлен? - + Graphviz installation path Путь установки GraphViz - + Graphviz failed Ошибка GraphViz - + Graphviz failed to create an image file GraphViz не удалось создать файл изображения - + PNG format Формат PNG - + Bitmap format Формат bitmap - + GIF format Формат GIF - + JPG format Формат JPG - + SVG format Формат SVG - - + + PDF format Формат PDF - - + + Export graph Экспорт графа @@ -6657,12 +5966,12 @@ Do you want to save your changes? Gui::InputField - + Edit Редактировать - + Save value Сохранить значение @@ -6670,22 +5979,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Нажмите клавишу CTRL и левую кнопку мыши - + Press middle mouse button Нажмите среднюю кнопку мыши - + Press left mouse button Нажмите левую кнопку мыши - + Scroll middle mouse button Прокрутите колёсико мыши @@ -6693,7 +6002,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Список @@ -6701,66 +6010,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Задать... - + - - + + Wrong direction Неправильное направление - + - - + + Direction must not be the null vector Направление не должно быть нулевым вектором @@ -6768,22 +6077,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Направление: @@ -6791,17 +6100,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Макрос - + Macro file doesn't exist Файл макроса не существует - + No such macro file: '%1' Нет такого файла макроса: «%1» @@ -6809,63 +6118,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Размер - + Ready Готово - + Help addon needed! Необходимо дополнение помощи! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Справочная система %1 теперь управляется дополнением «Справка». Его можно легко установить через Менеджер дополнений - + Open Addon Manager Открыть менеджер дополнений - + Close All Закрыть все - - + + Toggles this toolbar Переключение этой панели инструментов - - + + Toggles this dockable window Спрятать/показать это встраиваемое окно - - + + WARNING: This is a development version. + ПРЕДУПРЕЖДЕНИЕ: Это версия для разработчиков. + + + + Please do not use in a production environment. + Пожалуйста, не используйте в производственной среде. + + + + Unsaved document Документ не сохранён - + The exported object contains external link. Please save the documentat least once before exporting. Экспортированный объект содержит внешнюю ссылку. Пожалуйста, сохраните документ хотя бы один раз перед экспортом. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Для ссылки на внешние объекты документ необходимо сохранить хотя бы один раз. @@ -6875,63 +6194,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Ручное выравнивание - + The alignment is already in progress. Выравнивание уже выполняется. - + Alignment[*] Выравнивание[*] - + Please, select at least one point in the left and the right view Пожалуйста, выберите хотя бы одну точку на левом и правом виде - + Please, select at least %1 points in the left and the right view Пожалуйста, выберите хотя бы %1 точек на левом и правом виде - + Please pick points in the left and right view Пожалуйста, выберите точки на левом и правом виде - + The alignment has finished Выравнивание завершено - + The alignment has been canceled Выравнивание было отменено - - + + Too few points picked in the left view. At least %1 points are needed. Выбрано слишком мало точек в левом окне. Выберите как минимум %1 точки. - - + + Too few points picked in the right view. At least %1 points are needed. Выбрано слишком мало точек в правом окне. Выберите как минимум %1 точки. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6939,59 +6258,59 @@ on the right view %2 points are picked. В левом окне выбрано %1 точки, а в правом - %2. - + Try to align group of views Попытаться выровнять группу видов - + The alignment failed. How do you want to proceed? Выравнивание не удалось. Как вы хотите продолжить? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Выбрано различное количество точек слева и справа. В левом окне выбрано %1 точки, а в правом - %2. - + Point_%1 Точка_%1 - + Point picked at (%1,%2,%3) Выбраны точки: (%1, %2, %3) - + No point was found on model В модели нет ни одной точки - + No point was picked Не выбрано ни одной точки - + &Align &Выровнять - + &Remove last point &Удалить последнюю точку - + &Cancel - Отмена + О&тмена - + &Synchronize views &Синхронизировать виды @@ -6999,22 +6318,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Коснитесь ИЛИ щёлкните левой кнопкой мыши. - + Drag screen with two fingers OR press ALT + middle mouse button. Перетаскивайте экран двумя пальцами ИЛИ нажатием ALT + средней кнопки мыши. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Перетаскивайте экран одним пальцем ИЛИ нажатием ALT + левой кнопки мыши. В верстаке Эскиз и других режимах редактирования, дополнительно удерживайте клавишу Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Щепок (поместите два пальца на экран и двигайте их друг от друга/друг к другу) ИЛИ вращайте колесо мыши ИЛИ используйте кнопки PgUp/PgDown на клавиатуре. @@ -7022,7 +6341,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Нажмите клавиши-модификаторы @@ -7038,22 +6357,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Нажмите левую кнопку мыши - + Press CTRL and middle mouse button Нажмите клавишу CTRL и среднюю кнопку мыши - + Press CTRL and right mouse button Нажмите клавишу CTRL и правую кнопку мыши - + Press CTRL and left mouse button Нажмите клавишу CTRL и левую кнопку мыши @@ -7061,22 +6380,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Нажмите левую кнопку мыши - + Press right mouse button and move mouse Нажмите правую кнопку мыши и переместите мышь - + Press left mouse button and move mouse Нажмите левую кнопку мыши и переместите мышь - + Press middle mouse button or SHIFT and right mouse button Нажмите среднюю кнопку мыши или SHIFT и правую кнопку мыши @@ -7084,17 +6403,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Редактировать - + Save value Сохранить значение - + Clear list Очистить список @@ -7125,12 +6444,12 @@ How do you want to proceed? Осталось: %1 - + Aborting Прерывание - + Do you really want to abort the operation? Вы действительно хотите прервать операцию? @@ -7138,7 +6457,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Изменить связанный объект @@ -7146,12 +6465,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Ошибки - + Object not found Объект не найден @@ -7222,13 +6541,13 @@ How do you want to proceed? Gui::PropertyView - + View Вид - + Data Данные @@ -7275,77 +6594,77 @@ Do you want to exit without saving your data? Необработанное неизвестное исключение C++. - + &Copy Копировать - + &Copy command Скопировать команду - + &Copy history Скопировать историю - + Save history as... Сохранить историю как... - + Save history Сохранить историю - + Saves Python history across %1 sessions Сохраняет историю Python в %1 сеансах - + &Paste Вставить - + Select All Выделить всё - + Clear console Очистить консоль - + Insert file name... Вставить путь к файлу... - + Word wrap Переносить строки - + Save History Сохранить историю - + Macro Files Файлы макросов - + Insert file name Вставить путь к файлу в консоль Python - + All Files Все файлы @@ -7353,7 +6672,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Закомментировать @@ -7366,17 +6685,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Открыть файл %1 - + File not found Файл не найден - + The file '%1' cannot be opened. Не удаётся открыть файл '%1'. @@ -7384,22 +6703,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none - Отсутствует + отсутствует - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Запуск макроса %1 (Shift+клик для редактирования) сочетания клавиш: %2 - + File not found Файл не найден - + The file '%1' cannot be opened. Не удаётся открыть файл '%1'. @@ -7407,22 +6726,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Нажмите левую кнопку мыши - + Press middle mouse button Нажмите среднюю кнопку мыши - + Press SHIFT and middle mouse button Нажмите клавишу SHIFT и среднюю кнопку мыши - + Scroll middle mouse button Прокрутите колёсико мыши @@ -7453,17 +6772,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Выбрать модуль - + Open %1 as Открыть %1 как - + Select Выбрать @@ -7531,13 +6850,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Автоматически сгенерированная документация python - - + + Opens a browser to show the Python modules documentation Показать документацию модулей Python в интернете @@ -7640,7 +6959,7 @@ Do you want to specify another directory? Plot mode: - Режим графика: + Рисовать графики: @@ -7690,38 +7009,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Текст обновлён - + The text of the underlying object has changed. Discard changes and reload the text from the object? Текст базового объекта изменился. Отменить изменения и перезагрузить текста из объекта? - + Yes, reload. Да, перезагрузить. - + Unsaved document - Документ не сохранён + Несохраненный документ - + Do you want to save your changes before closing? Вы хотите сохранить изменения перед закрытием? - + If you don't save, your changes will be lost. Если вы не сохраните, ваши изменения будут потеряны. - - + + Edit text Редактировать текст @@ -7729,22 +7048,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Нажмите левую кнопку мыши - + Press middle mouse button Нажмите среднюю кнопку мыши - + Press right mouse button Нажмите правую кнопку мыши - + Scroll middle mouse button Прокрутите колёсико мыши @@ -7752,22 +7071,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Нажмите левую кнопку мыши - + Press SHIFT button Нажмите клавишу SHIFT - + Press ALT button Нажмите клавишу ALT - + Press CTRL and SHIFT buttons Нажмите клавиши Ctrl и Shift @@ -7993,15 +7312,15 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view - Иерархия документа + В виде дерева Gui::TreePanel - + Search Поиск @@ -8009,184 +7328,184 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Поиск... - + Search for objects Поиск объектов - + Activate document Активировать документ - + Activate document %1 Активировать документ %1 - + Tree settings Настройки дерева - + Show description column Показать столбец описания - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Показать дополнительный столбец в виде дерева для описания элемента. Описание элемента можно установить, нажав F2 (или кнопку редактирования вашей ОС) или отредактировав свойство label2. - + Group Группа - + Labels & Attributes Метки и свойства - + Description Описание - + Show items hidden in tree view Показать элементы, скрытые в дереве - + Show items that are marked as 'hidden' in the tree view Показать элементы, помеченные как 'скрытые' в дереве - + Toggle visibility in tree view Переключить видимость в виде дерева - + Toggles the visibility of selected items in the tree view Переключение видимости выбранных элементов в виде дерева - + Create group... Создать группу... - + Create a group Создать группу - - + + Rename Переименовать - + Rename object Переименовать объект - + Finish editing Завершить редактирование - + Finish editing object Завершить редактирование объекта - + Add dependent objects to selection Добавить зависимые объекты к выделению - + Adds all dependent objects to the selection Добавляет к выделению все зависимые объекты - + Close document Закрыть документ - + Close the document Закрыть документ - + Reload document Перезагрузить документ - + Reload a partially loaded document Перезагрузить частично загруженный документ - + Skip recomputes Пропуск пересчета - + Enable or disable recomputations of document Включение или отключение повторных вычислений документа - + Allow partial recomputes Разрешить частичные перерасчёты - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Включить или выключить повторное вычисление объекта редактирования, если включен параметр 'пропустить пересчет ' - + Mark to recompute Отметить для пересчета - + Mark this object to be recomputed Пометить этот объект для повторного вычисления - + Recompute object Пересчитать объект - + Recompute the selected object Пересчитать выбранный объект - + (but must be executed) (но должно быть выполнено) - + %1, Internal name: %2 %1, внутреннее название: %2 @@ -8217,12 +7536,12 @@ Do you want to specify another directory? Файл PDF - + Opening file failed Ошибка при открытии файла - + Can't open file '%1' for writing. Не удается записать в файл '%1'. @@ -8230,7 +7549,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Выбрать верстак '%1' @@ -8238,37 +7557,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Службы - + Hide %1 Скрыть %1 - + Hide Others Скрыть остальное - + Show All Показать Все - + Preferences... Настройки... - + Quit %1 Завершить %1 - + About %1 О %1 @@ -8288,11 +7607,6 @@ Do you want to specify another directory? Position - - - Form - Форма - X: @@ -8387,14 +7701,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Неверный ввод - - + + Input in line %1 is not a number Введённое в строку %1 не является числом @@ -8402,74 +7716,75 @@ Do you want to specify another directory? QDockWidget - + Tree view Иерархия документа - + Property view Окно свойств - + Selection view Просмотр выделения - + Combo View Комбо панель - + DAG View DAG Вид - + Report view Просмотр отчёта - + Python console Консоль Python Display properties - Внешний вид + Свойства экрана QObject - - - General - Основные - - - - Display - Отображение + General + Главный + + + + Display + Экран + + + Workbenches Верстаки - - - + + + Python Python @@ -8497,17 +7812,27 @@ Do you want to specify another directory? Не удалось сохранить в неизвестном формате файла: %1 - + Workbench failure Ошибка загрузки верстака - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Исключение @@ -8520,12 +7845,12 @@ Do you want to specify another directory? Error - Ошибки + Ошибка There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. - Произошли ошибки при загрузке файла. Возможно, некоторые данные были изменены или не восстановлены. Посмотрите в окно отчета для более конкретной информации о затронутых объектах. + При загрузке файла возникли ошибки. Некоторые данные могли быть изменены или вообще не восстановлены. Просмотрите представление отчета для получения более подробной информации о задействованных объектах. @@ -8553,8 +7878,8 @@ Do you want to specify another directory? Экспорт PDF... - + Unsaved document Документ не сохранён @@ -8575,39 +7900,39 @@ Do you want to specify another directory? Ошибка зависимости - + Copy selected Копировать выбранное - + Copy active document Копировать активный документ - + Copy all documents Копировать все документы - + Paste Вставить - + Expression error Ошибка выражения - + Failed to parse some of the expressions. Please check the Report View for more details. Не удалось проанализировать некоторые выражения. Дополнительные сведения смотрите в журнале. - + Failed to paste expressions Не удалось вставить выражения @@ -8641,225 +7966,225 @@ Be aware the point where you click matters. Пожалуйста, выберите два объекта. Будьте внимательны, так как точка куда вы нажмете важна. - - + + Save views... Сохранить виды в файл... - - + + Load views... Загрузить виды из файла... - - + + Freeze view Запомнить вид - - + + Clear views Забыть все виды - - - + + + Restore view &%1 Восстановить вид %1 - + Save frozen views Сохранить запомненные виды - - + + Frozen views Запомненные виды - - + + Restore views Восстановить виды - + Importing the restored views would clear the already stored views. Do you want to continue? Импортирование видов просмотра приведёт к сбросу текущих запомненных видов. Хотите ли вы продолжить? - + Restore frozen views Восстановить запомненный вид - + Cannot open file '%1'. Не удается открыть файл '%1'. - + files файлы - + Save image Сохранить изображение - + Choose an image file to open Выберите файл изображения, чтобы открыть - + New sub-group Новая подгруппа - - - - - - + + + + + + Enter the name: Введите название: - - + + New text item Новый текстовый элемент - - + + Enter your text: Введите текст: - - + + New integer item Новый целочисленный параметр - - - - - - + + + + + + Enter your number: Введите номер: - - + + New unsigned item Новый беззнаковый параметр - - + + New float item Новый нецелочисленный параметр - + New Boolean item Новый логический параметр - - + + Choose an item: Выберите элемент: - + New boolean item Новый логический параметр - + Rename group Переименовать группу - + The group '%1' cannot be renamed. Группа '%1' не может быть переименована. - + Existing group Существующая группа - + The group '%1' already exists. Группа '%1' уже существует. - - - - - + + + + + Change value Изменить значение - + Type Тип - + Notifier Уведомления - + Message Сообщение - + Notifier: Уведомления: - + Do you want to skip confirmation of further critical message notifications while loading the file? Вы хотите пропустить подтверждение новых уведомлений критических сообщений при загрузке файла? - + Critical Message Критическое сообщение - + Too many opened non-intrusive notifications. Notifications are being omitted! Слишком много открытых ненавязчивых уведомлений. Уведомления пропускаются! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8868,44 +8193,44 @@ Do you want to continue? - + Are you sure you want to continue? Вы уверены, что хотите продолжить? - + Please check report view for more... Пожалуйста, проверьте Просмотр отчёта для более подробной информации... - + Physical path: Физический путь: - - + + Document: Документ: - - + + Path: Путь: - + Identical physical path Идентичная физическая траектория - + Could not save document Невозможно сохранить документ - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8918,102 +8243,102 @@ Would you like to save the file with a different name? Хотите сохранить файл под другим именем? - - - + + + Saving aborted Сохранение прервано - + Save dependent files Сохранить зависимые файлы - + The file contains external dependencies. Do you want to save the dependent files, too? Файл содержит внешние зависимости. Хотите ли вы также сохранить зависимые файлы? - - + + Saving document failed Не удалось сохранить документ - + Save document under new filename... Сохранить документ под новым именем... - - + + Save %1 Document Сохранение документа %1 - + Document Документ - - + + Failed to save document Не удалось сохранить документ - + Documents contains cyclic dependencies. Do you still want to save them? Документы содержат циклические зависимости. Вы уверены, что хотите сохранить их? - + Save a copy of the document under new filename... Сохранить копию документа под новым именем файла... - + %1 document (*.FCStd) документ %1 (*.FCStd) - + Document not closable Документ не закрываем - + The document is not closable for the moment. Этот документ не закрываемый на данный момент. - + Document not saved Документ не сохранен - + The document%1 could not be saved. Do you want to cancel closing it? Документ %1 не может быть сохранен. Вы хотите отменить его закрытие? - + Undo Отменить - + Redo Повторить - + There are grouped transactions in the following documents with other preceding transactions В следующих документах имеются группируются транзакции с другими предыдущими транзакциями - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9027,95 +8352,95 @@ Choose 'Abort' to abort Сохранить Макрос - - + + Finish Завершить - - + + Clear Очистить - - - + + + Cancel Отмена - + Inner Внутренний - + Outer Внешний - + Split Разделить - - + + No Browser Нет браузера - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. Не удается открыть браузер. Пожалуйста, откройте окно браузера и введите: http://localhost:%1. - + No Server Нет сервера - + Unable to start the server to port %1: %2. Не удается запустить сервер на порту %1: %2. - + Unable to open your system browser. Не удается открыть ваш системный браузере. - + Options... Параметры... - + Out of memory Недостаточно памяти - + Not enough memory available to display the data. Недостаточно памяти для отображения данных. - - + + Cannot find file %1 Не удалось найти файл '%1' - + Cannot find file %1 neither in %2 nor in %3 Не удается найти файл %1, ни в %2 ни в %3 - + Navigation styles Стили навигации @@ -9125,10 +8450,10 @@ Please open a browser window and type in: http://localhost:%1. Переместить заметку - - + + Transform - Переместить + Преобразовать @@ -9136,42 +8461,42 @@ Please open a browser window and type in: http://localhost:%1. Вы хотите закрыть этот диалог? - + Do you want to save your changes to document '%1' before closing? Сохранить изменения перед закрытием документа '%1'? - + Do you want to save your changes to document before closing? Сохранить изменения перед закрытием документа ''? - + If you don't save, your changes will be lost. Если вы не сохраните, ваши изменения будут потеряны. - + Apply answer to all Применить ответ ко всем - + %1 Document(s) not saved %1 Документ(ы) не сохранены - + Some documents could not be saved. Do you want to cancel closing? Некоторые документы не удалось сохранить. Вы хотите отменить закрытие? - + Delete macro Удалить макрос - + Not allowed to delete system-wide macros Не разрешается удалять системные макросы @@ -9181,27 +8506,27 @@ Please open a browser window and type in: http://localhost:%1. Начало координат - + Delete group content? Удалить содержимое группы? - + The %1 is not empty, delete its content as well? %1 не пуст, удалить его содержимое тоже? - + Translation: Перемещение: - + Rotation: Вращение: - + Toggle active part Сделать деталь активной/неактивной @@ -9264,88 +8589,88 @@ Please open a browser window and type in: http://localhost:%1. Не удалось импортировать все ссылки - - + + Invalid name Недопустимое имя - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. буквенно-цифровых знаков Имя свойства или группы должно содержать только буквенно-цифровые знаки, подчеркивание и не должно начинаться с цифры - + The property '%1' already exists in '%2' Свойство '%1' уже существует в '%2' - + Add property Добавить свойство - + Failed to add property to '%1': %2 Не удалось добавить свойство к '%1': %2 - - + + Drag & drop failed Не удалось переместить - + Setup configurable object Настройка настраиваемого объекта - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Выберите, какой объект копировать или исключать при изменении конфигурации. По умолчанию все внешние связанные объекты исключены. - + Please select which objects to copy when the configuration is changed Пожалуйста, выберите, какие объекты копировать при изменении конфигурации - + Apply to all Применить ко всем - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Применить настройку ко всем ссылкам. Или снимите флажок, чтобы применить только к этой ссылке. - + Copy on change Копировать при изменении - + Enable Включить - + Enable auto copy of linked object when its configuration is changed Включить автоматическое копирование связанного объекта при изменении его конфигурации - + Tracking - Межсимвольное расстояние + Отслеживание - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9354,17 +8679,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Отключить копирование при изменении - + Refresh configurable object Обновить настраиваемый объект - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9375,28 +8700,28 @@ the current copy will be lost. - + Toggle array elements Переключить элементы массива - + Change whether show each link array element as individual objects Изменить, отображать или нет каждый элемент массива ссылок как отдельные объекты - + Transform at the origin of the placement Преобразовать в начале координат - - + + Override colors... Переопределить цвета... - + Edit %1 Редактировать %1 @@ -9419,12 +8744,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Не допускается: - + Selection not allowed by filter Выбор отвергнут фильтром @@ -9432,9 +8757,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Область выбора элементов @@ -9442,13 +8767,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Выделить область - - + + Activate the box selection tool Активируйте инструмент выбора поля @@ -9526,13 +8851,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Показать/скрыть оси координат - - + + Turns on or off the axis cross at the origin Включает или выключает ось пересечения @@ -9638,13 +8963,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Поворотный просмотр... - - + + View turntable Поворотный просмотр @@ -9764,13 +9089,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Стиль представления - - + + Change the draw style of the objects Изменить стиль отрисовки объектов @@ -9834,13 +9159,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Действия с выражением - - + + Actions that apply to expressions Действия, применимые к выражениям @@ -9957,13 +9282,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Положения камеры - - + + Freezes the current view position Запомнить текущую позицию просмотра @@ -9984,13 +9309,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Скрыть все объекты - - + + Hide all objects in the document Скрыть все объекты в документе @@ -9998,13 +9323,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Скрыть выделенные - - + + Hide all selected objects Скрыть все выбранные объекты @@ -10278,13 +9603,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Измерить расстояние - - + + Activate the distance measurement tool Активировать инструмент измерения расстояния @@ -10343,8 +9668,8 @@ the current copy will be lost. Создать новый пустой документ - - + + Unnamed Безымянный @@ -10572,8 +9897,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Недавние файлы + Open Recent + Открыть недавние @@ -10711,13 +10036,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Инспектор сцены... - - + + Scene inspector Инспектор сцены @@ -10725,13 +10050,13 @@ the current copy will be lost. StdCmdSelBack - + &Back Назад - - + + Go back to previous selection Вернуться к предыдущему выбору @@ -10739,13 +10064,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box Габариты - - + + Show selection bounding box Показать границу выбора @@ -10753,13 +10078,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward Вперёд - - + + Repeat the backed selection Повторите выбор заднего плана @@ -10781,13 +10106,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Выбрать видимые объекты - - + + Select visible objects in the active document Выбрать видимые объекты в активном документе @@ -10809,13 +10134,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Внешний вид ... - - + + Sets the display properties of the selected object Устанавливает свойства отображения выбранного объекта @@ -10823,13 +10148,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Показать все объекты - - + + Show all objects in the document Показать все объекты в документе @@ -10837,13 +10162,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Показать выделенные - - + + Show all selected objects Показать все выделенные объекты @@ -10879,13 +10204,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Текстурирование... - - + + Texture mapping Наложение текстур @@ -10921,13 +10246,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Плоскость сечения - - + + Toggles clipping plane for active view Переключает плоскость сечения для активного вида @@ -10935,13 +10260,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Навигация / редактирование - - + + Toggle between navigation and edit mode Переключение между режимом навигации и редактирования @@ -10949,13 +10274,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Инвертировать все видимости - - + + Toggles visibility of all objects in the active document Инвертировать видимость всех объектов в активном документе @@ -10963,13 +10288,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Откл/вкл выделяемость - - + + Toggles the property of the objects to get selected in the 3D-View Включает/выключает возможность выделить объект через окно трёхмерного просмотра @@ -10977,13 +10302,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Видимость - - + + Toggles visibility Показать / скрыть видимость выделенных объектов @@ -11021,7 +10346,7 @@ the current copy will be lost. Transform - Переместить + Преобразовать @@ -11033,13 +10358,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Свернуть выбранный элемент - - + + Collapse currently selected tree items Свернуть выбранные элементы дерева @@ -11047,13 +10372,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Развернуть выбранный элемент - - + + Expand currently selected tree items Развернуть выбранные элементы дерева @@ -11061,13 +10386,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Выбрать все экземпляры - - + + Select all instances of the current selected object Выделить все экземпляры текущего выбранного объекта @@ -11075,13 +10400,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions Действия с деревом - - + + TreeView behavior options and actions Параметры поведения и действий TreeView @@ -11145,13 +10470,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Снизу - - + + Set to bottom view Установить вид снизу @@ -11159,13 +10484,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Создать новый вид - - + + Creates a new view window for the active document Создает новое окно просмотра для активного документа @@ -11173,13 +10498,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Диметрическая - - + + Set to dimetric view Установить диметрический вид @@ -11187,13 +10512,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Пример Inventor #1 - - + + Shows a 3D texture with manipulator Показывает трёхмерные текстуры с манипулятором @@ -11201,13 +10526,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Пример Inventor #2 - - + + Shows spheres and drag-lights Показывает сферы и перетаскиваемые источники света @@ -11215,13 +10540,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Пример Inventor #3 - - + + Shows a animated texture Показывает анимированные текстуры @@ -11229,13 +10554,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Уместить всё - - + + Fits the whole content on the screen Уместить всё содержимое на экране @@ -11243,13 +10568,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Уместить выделенное - - + + Fits the selected content on the screen Уместить выбранные объекты на экране @@ -11257,13 +10582,13 @@ the current copy will be lost. StdCmdViewFront - + Front Спереди - - + + Set to front view Установить вид спереди @@ -11271,13 +10596,13 @@ the current copy will be lost. StdCmdViewHome - + Home Домой - - + + Set to default home view Установить по умолчанию домашний вид @@ -11285,13 +10610,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Изометрическая - - + + Set to isometric view Установить изометрический вид @@ -11299,13 +10624,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Выводить положения камеры - - + + Issue the camera position to the console and to a macro, to easily recall this position Выведение положения камеры на консоль и в макрос для легкого воспроизведения позиции @@ -11313,13 +10638,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Стерео с чередованием столбцов - - + + Switch stereo viewing to Interleaved Columns Стерео режим - чередующиеся столбцы (Interleaved Columns) @@ -11327,13 +10652,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Стерео с чередованием строк - - + + Switch stereo viewing to Interleaved Rows Стерео режим - чередующиеся строки (Interleaved Rows) @@ -11341,13 +10666,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Выключить стерео - - + + Switch stereo viewing off Выключить режим стерео просмотра @@ -11355,13 +10680,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Четверная буферизация стерео - - + + Switch stereo viewing to quad buffer Стерео режим четверной буферизации (quad buffer) @@ -11369,13 +10694,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Стерео красный/голубой - - + + Switch stereo viewing to red/cyan Стерео режим - красный/синий @@ -11383,13 +10708,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Слева - - + + Set to left view Установить вид слева @@ -11397,13 +10722,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Сзади - - + + Set to rear view Установить вид сзади @@ -11425,13 +10750,13 @@ the current copy will be lost. StdCmdViewRight - + Right Справа - - + + Set to right view Установить вид справа @@ -11439,13 +10764,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Повернуть влево - - + + Rotate the view by 90° counter-clockwise Повернуть вид на 90° против часовой стрелки @@ -11453,13 +10778,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Повернуть вправо - - + + Rotate the view by 90° clockwise Повернуть вид на 90° по часовой стрелке @@ -11481,13 +10806,13 @@ the current copy will be lost. StdCmdViewTop - + Top Сверху - - + + Set to top view Установить вид сверху @@ -11495,13 +10820,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Триметрическая - - + + Set to trimetric view Установить триметрический вид @@ -11509,13 +10834,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Расширить трёхмерное окно FreeCAD в Oculus Rift @@ -11579,13 +10904,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen - На весь экран + Полноэкранный режим - - + + Display the main window in fullscreen mode Отобразить главное окно в полноэкранном режиме @@ -11621,13 +10946,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Вызвать рабочий вид - - + + Recall previously stored temporary working view Вызвать сохранённый ранее временный рабочий вид @@ -11635,13 +10960,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Сохранить рабочий вид - - + + Store a document-specific temporary working view Сохранить временный рабочий вид для документа @@ -11649,13 +10974,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Свернуть/Развернуть - - + + Expand active document and collapse all others Развернуть активный документ и свернуть все остальные @@ -11663,12 +10988,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Инициировать перетаскивание - + Initiate dragging of current selected tree items Инициировать перетаскивание выбранных элементов дерева @@ -11676,13 +11001,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Многокомпонентный документ - - + + Display all documents in the tree view Показать все документы в окне дерева документа @@ -11690,12 +11015,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Предвыборка - + Preselect the object in 3D view when mouse over the tree item Выделить объект в режиме 3D при наведении курсора на элемент дерева @@ -11703,12 +11028,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Записать выделение - + Record selection in tree view in order to go back/forward using navigation button Записывать выделение в дереве для перехода назад / вперед с помощью кнопки навигации @@ -11716,13 +11041,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Перейти к выделенному - - + + Scroll to first selected item Прокрутить до первого выбранного элемента @@ -11730,13 +11055,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Одиночный документ - - + + Only display the active document in the tree view Показывать только активный документ в окне дерева документа @@ -11744,12 +11069,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Синхронизировать размещение - + Auto adjust placement on drag and drop objects across coordinate systems Автоматическая настройка размещения при перетаскивании объектов между системами координат @@ -11757,12 +11082,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Синхронизировать выделение - + Auto expand tree item when the corresponding object is selected in 3D view Автоматически разворачивать элемент дерева при выделении соответствующего объекта в 3D виде @@ -11770,12 +11095,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Синхронизировать вид - + Auto switch to the 3D view containing the selected item Автопереключение в 3D вид, содержащий выбранный элемент @@ -11783,13 +11108,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Увеличить область - - + + Activate the box zoom tool Активировать инструмент масштабирования @@ -11797,13 +11122,13 @@ the current copy will be lost. StdViewDock - + Docked Закреплённое - - + + Display the active view either in fullscreen, in undocked or docked mode Отображать активный вид в полноэкранном, закрепленном и откреплённом режиме @@ -11811,41 +11136,41 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Окно документа - - + + Display the active view either in fullscreen, in undocked or docked mode - Отображать активный вид в полноэкранном, закрепленном и откреплённом режиме + Отображать активный вид в полноэкранном режиме, встроенном окне или в отдельном окне StdViewFullscreen - + Fullscreen - На весь экран + Полный экран - - + + Display the active view either in fullscreen, in undocked or docked mode - Отображать активный вид в полноэкранном, закрепленном и откреплённом режиме + Отображать активный вид в полноэкранном режиме, встроенном окне или в отдельном окне StdViewScreenShot - + Save image... Сохранить изображение... - - + + Creates a screenshot of the active view Создает скриншот активного вида @@ -11853,13 +11178,13 @@ the current copy will be lost. StdViewUndock - + Undocked Откреплённое - - + + Display the active view either in fullscreen, in undocked or docked mode Отображать активный вид в полноэкранном, закрепленном и откреплённом режиме @@ -11867,13 +11192,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Увеличить - - + + Increase the zoom factor by a fixed amount Увеличивает коэффициент масштаба на фиксированную величину @@ -11881,13 +11206,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Уменьшить - - + + Decrease the zoom factor by a fixed amount Уменьшает масштаб на фиксированную величину @@ -11922,72 +11247,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Как есть - + Normal mode Обычный режим - + Points Точки - + Points mode Точечный режим - + Wireframe Каркас - + Wireframe mode Каркасный режим - + Hidden line Скрытые линии - + Hidden line mode Режим скрытых линий - + No shading Без затенения - + No shading mode Режим без затенения - + Shaded Только грани - + Shaded mode Только грани - + Flat lines Плоские линии - + Flat lines mode Режим плоских линий @@ -12050,32 +11375,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. Позать дерево на заднем плане. Работает в режиме наложения. - + Tree view item background padding. Заполнение фона панели дерева. - + Hide extra tree view column for item description. Скрыть дополнительные столбцы в дереве для описания элемента. - + Hide tree view scroll bar in dock overlay. Скрыть полосу прокрутки дерева в закрепленной панели. - + Hide tree view header view in dock overlay. Скрыть заголовок дерева в закрепленной панели. - + Allow tree view columns to be manually resized. Разрешено ручное изменение размера столбцов дерева. @@ -12083,117 +11408,117 @@ Do you still want to proceed? Workbench - + &File Файл - + &Edit &Правка - + Edit Редактировать - + Clipboard Буфер обмена - + Workbench Верстак - + Structure Структура - + Standard views Стандартные виды - + Axonometric - Аксонометрия + Аксонометрический - + &Stereo &Стерео - + &Zoom Масштаб - + Visibility Видимость - + &View Вид - + &Tools &Инструменты - + &Macro Макросы - + &Windows Окна - + &On-line help Справка в Сети - + &Help - Справка + &Справка - + Help - Справка + Помощь - + File Файл - + Macro - Макрос + Макрокоманда - + View Вид - + Special Ops Специальные операции - + Link actions Ссылка @@ -12201,12 +11526,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF Экспортировать в PDF - + PDF file Файл PDF @@ -12214,195 +11539,189 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Область уведомлений - + Settings Настройки - + The Notification area will appear in the status bar Область уведомлений будет отображаться в строке состояния - + Enable Notification Area Включить область уведомлений - + Non-intrusive notifications will appear next to the notification area in the status bar Не назойливые уведомления появятся рядом с областью уведомлений в строке состояния - + Enable non-intrusive notifications Включить ненавязчивые уведомления - + Additional data sources Дополнительные источники данных - + Errors intended for developers will appear in the notification area Ошибки, предназначенные для разработчиков, появятся в области уведомлений - + Debug errors Ошибки отладки - + Warnings intended for developers will appear in the notification area Предупреждения, предназначенные для разработчиков, появятся в области уведомлений - + Debug warnings Отладочные предупреждения - + Non-Intrusive Notifications Ненавязчивые уведомления - + Minimum Duration: Минимальная длительность: - + Maximum Duration: Максимальная длительность: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Длительность, во время которой будет показано уведомление (если не нажаты кнопки мыши) - - + + s с - + Minimum duration during which the notification will be shown (unless notification clicked) Минимальная продолжительность, в течение которой будет отображаться уведомление (если не нажимаете на уведомление) - + Maximum Number of Notifications: Максимальное количество уведомлений: - + Maximum number of notifications that will be simultaneously present on the screen Максимальное количество уведомлений, которые будут одновременно присутствовать на экране - + Notification width: Ширина уведомления: - + Width of the notification in pixels Ширина уведомления в пикселях - + Any open non-intrusive notifications will disappear when another window is activated Любое открытое ненавязчивое уведомление исчезнет, когда другое окно будет активировано - + Hide when other window is activated Скрывать, когда другое окно активировано - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Запретить ненавязчивым уведомлениям появляться, когда окно FreeCAD не является активным окном - + Do not show when inactive Не показывать, когда неактивен - + Message List Список сообщений - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Ограничить количество сообщений, которые будут храниться в списке. Если 0 нет ограничений. - + Maximum Messages (0 = no limit): Максимальное количество сообщений (0 = без ограничений): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Удаляет пользовательские уведомления из списка сообщений по истечении максимальной продолжительности ненавязчивых сообщений. - + Auto-remove User Notifications Автоудаление уведомлений пользователя - - - Activation of the Notification Area only takes effect after an application restart. - Активация области уведомлений вступает в силу только после перезапуска приложения. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Доступные верстаки - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Вы можете изменить порядок верстаков, перетащив их. Дополнительные рабочие места можно установить через менеджер надстроек.</p><p> В настоящее время в вашей системе есть следующие рабочие места:</p></body></html> - + Start up workbench: Запустить рабочий этап: - + Choose which workbench will be activated and shown after FreeCAD launches Выберите, какой верстак будет активным и отображён после запуска FreeCAD - + Workbench selector position : Положение селектора Верстаков: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12415,12 +11734,12 @@ after FreeCAD launches 'Правый угол': В строке меню в правом углу. - + If checked, application will remember which workbench is active for each tab of the viewport Если флажок установлен, приложение будет помнить, какой верстак активен для каждой вкладки области просмотра - + Remember active workbench by tab Запомнить активный верстак вкладкой @@ -12430,7 +11749,7 @@ after FreeCAD launches Choose orientation - Выберите ориентацию + Выбрать направление @@ -12440,22 +11759,22 @@ after FreeCAD launches XY-Plane - Плоскость XY + XY-плоскость XZ-Plane - Плоскость XZ + XZ-плоскость YZ-Plane - Плоскость YZ + YZ-плоскость Reverse direction - Развернуть направление + В обратном направлении @@ -12569,47 +11888,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Если флажок не установлен, %1 не будет отображаться на рабочих столах. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Это текущий модуль запуска и должен быть автоматически загружен. Смотрите Настройки/Общее/Автозагрузка для изменения. - + Shortcut to activate this workbench. Ярлык для активации этого верстака. - + Auto-load Автозагрузка - + If checked, %1 will be loaded automatically when FreeCAD starts up Если отмечено, %1 будет загружен автоматически при запуске FreeCAD - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Это текущий модуль запуска и должен быть автоматически загружен. Смотрите Настройки/Общее/Автозагрузка для изменения. - + Loaded Загружено - + Load Загрузить - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Для сохранения ресурсов FreeCAD не загружает рабочие столы до тех пор, пока они не используются. Загрузка может обеспечить доступ к дополнительным настройкам, связанным с их функциональностью. @@ -12617,17 +11936,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Панель инструментов - + Left corner Левый угол - + Right corner Правый угол @@ -12653,12 +11977,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Удалить уведомления пользователя - + Delete All Удалить всё @@ -12694,13 +12018,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Загрузить изображение... - - + + Loads an image Загружает изображение @@ -12762,10 +12086,814 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Произошла ошибка -- смотрите просмотр отчета для информации + + Gui::Dialog::DlgSettingsEditor + + + Editor + Редактор кода + + + + Options + Параметры + + + + Code lines will be numbered + Строки кода будут пронумерованы + + + + Enable line numbers + Показывать номера строк + + + + The cursor shape will be a block + Форма курсора будет представлять собой блок + + + + Enable block cursor + Включить большой курсор в виде блока + + + + Enable folding + Включить сворачивание + + + + Indentation + Отступы + + + + Tab size: + Шаг табуляции: + + + + Tabulator raster (how many spaces) + Число пробелов в одной табуляции + + + + Indent size: + Размер отступа: + + + + How many spaces will be inserted when pressing <Tab> + Сколько пробелов будет вставлено при нажатии <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Нажатие <Tab> вставит табуляцию определенного размера + + + + Keep tabs + Символы табуляции + + + + Pressing <Tab> will insert amount of defined indent size + Нажатие <Tab> для вставки определенного размера отступа + + + + Insert spaces + Заменять на пробелы + + + + Display items + Показать пункты + + + + Color and font settings will be applied to selected type + Настройки цвета и шрифта будут применены к выбранному типу + + + + Family: + Шрифт: + + + + Font family to be used for selected code type + Семейство шрифтов, которые будут использоваться для выбранного типа кода + + + + Size: + Размер: + + + + Font size to be used for selected code type + Размер шрифта, который будет использоваться для выбранного типа кода + + + + Color: + Цвет: + + + + Preview: + Предпросмотр: + + + + Text + Текст + + + + Bookmark + Закладка + + + + Breakpoint + Точка останова + + + + Keyword + Ключевое слово + + + + Comment + Закомментировать + + + + Block comment + Блок комментариев + + + + Number + Число + + + + String + Строка + + + + Character + Символ + + + + Class name + Имя класса + + + + Define name + Задать название + + + + Operator + Оператор + + + + Python output + Вывод Python + + + + Python error + Ошибка Python + + + + Current line highlight + Выделение текущей строки + + + + Items + Элементы + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Основные + + + + Language and number format + Язык и числовой формат + + + + Language: + Язык интерфейса: + + + + Language of the application's user interface + Язык пользовательского интерфейса приложения + + + + Unit system: + Система измерения: + + + + Unit system that should be used for all parts of the application + Система единиц измерения, которая должна использоваться для всех компонентов приложения + + + + Number of decimals: + Количество десятичных знаков: + + + + Number of decimals that should be shown for numbers and dimensions + Количество десятичных знаков, которые должны отображаться для чисел и размеров + + + + Minimum fractional inch: + Минимальная часть дюйма: + + + + Minimum fractional inch to be displayed + Минимальная часть дюйма для отображения + + + + Number format: + Формат чисел: + + + + Operating system + Операционная система + + + + Selected language + Выбранный язык + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Если включено, числовой десятичный разделитель клавиш +будет заменён локальным разделителем, за исключением +консоли Python и редактора макросов, где всегда будут напечатаны точки/периоды. + + + + Substitute decimal separator + Замена десятичного разделителя + + + + Application + Приложение + + + + Theme: + Тема: + + + + Customize how user interface will look like + Настроить как будет выглядеть пользовательский интерфейс + + + + Size of toolbar icons: + Размер значков на панелях инструментов: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Выберите предпочтение для размера иконки в панели инструментов. Вы можете настроить +этот размер в соответствии с размером Вашего экрана или индивидуальным вкусом + + + + Tree view mode: + Режим отображения иерархии документа: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Настроить отображение дерева в панели (требуется перезапуск). + +'ComboView: комбинирует вид дерева и свойства в одну панель. +'TreeView и PropertyView': разделяет вид дерева и вид свойства в отдельную панель. +'Оба ': сохраняет все три панели, и Вы можете иметь два набора вида дерева и вид свойств. + + + + Size of recent file list: + Размер списка последних файлов: + + + + How many files should be listed in recent files list + Количество файлов в списке последних файлов + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Фон главного окна (при отсутствии документа) будет состоять из плиток специального изображения. +Смотрите Вики FreeCAD для получения подробной информации о изображении. + + + + Enable tiled background + Включить фон из повторяющегося узора + + + + The text cursor will be blinking + Текстовый курсор будет мигать + + + + Enable cursor blinking + Включить мигание курсора + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Экран заставки — это небольшое окно загрузки, которое отображается +при запуске FreeCAD. Если этот параметр отмечен, FreeCAD +отобразит экран заставки + + + + Enable splash screen at start up + Включение экрана-заставки при запуске + + + + Preference packs + Наборы настроек + + + + Name + Название + + + + Type + Тип + + + + Load + Загрузить + + + + Import config... + Импорт конфигурации... + + + + Save new... + Сохранить новый... + + + + Manage... + Управление... + + + + Revert... + Вернуть... + + + + Manage preference packs + Управление наборами настроек + + + + Small (%1px) + Малый (%1px) + + + + Medium (%1px) + Средний (%1пикс.) + + + + Large (%1px) + Крупный (%1пикс.) + + + + Extra large (%1px) + Очень крупный (%1пикс.) + + + + Custom (%1px) + Пользовательский (%1пикс.) + + + + Combo View + Комбо панель + + + + TreeView and PropertyView + Иерархия документа и свойства разделено (две панели) + + + + Both + Оба варианта одновременно (три панели) + + + + Preference Pack Name + Название пакета настроек + + + + Tags + Метки + + + + Apply + Применить + + + + Apply the %1 preference pack + Применить %1 набор настроек + + + + Choose a FreeCAD config file to import + Выберите файл конфигурации FreeCAD для импорта + + + + File exists + Файл существует + + + + A preference pack with that name already exists. Overwrite? + Пакет настроек с таким именем уже существует. Перезаписать? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Просмотр отчёта + + + + Output + Вывод + + + + Normal messages will be recorded + Обычные сообщения будут записаны + + + + Record normal messages + Записывать обычные сообщения (normal) + + + + Log messages will be recorded + Сообщения журнала будут записаны + + + + Record log messages + Выводить информационные сообщения (log) + + + + Warnings will be recorded + Предупреждения будут записаны + + + + Record warnings + Выводить предупреждения (warnings) + + + + Error messages will be recorded + Сообщения об ошибках будут записаны + + + + Record error messages + Выводить сообщения об ошибках (errors) + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + При возникновении ошибки на экране становится видимым + диалог Просмотр Отчёта при отображении ошибки + + + + Show report view on error + Показать Просмотр отчёта при ошибке + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + При появления предупреждения становится видимым диалоговое окно "Просмотр отчета" +на экране при отображении предупреждения + + + + Show report view on warning + Показать Просмотр отчёта при предупреждении + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Когда появится обычное сообщение, диалог Просмотр отчёта становится видимым на экране для отображения сообщения + + + + Show report view on normal message + Показать отчёт в случае вывода обычного сообщения (normal) + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + При появлении сообщения журнала, диалоговое окно Report View становится видимым на экране, +пока отображается сообщение журнала + + + + Show report view on log message + Показать Просмотр отчёта для журнала сообщений + + + + Include a timecode for each report + Включить код времени для каждого отчёта + + + + Include a timecode for each entry + Вставлять время вывода в каждую запись отчёта + + + + Colors + Выделение цветом + + + + Normal messages: + Обычные сообщения: + + + + Font color for normal messages in Report view panel + Цвет шрифта для обычных сообщений на панели Просмотр отчёта + + + + Log messages: + Информационные сообщения (log): + + + + Font color for log messages in Report view panel + Цвет шрифта для журнала сообщений в панели Просмотр отчёта + + + + Warnings: + Предупреждения (warnings): + + + + Font color for warning messages in Report view panel + Цвет шрифта предупреждающих сообщений в панели Просмотр отчёта + + + + Errors: + Сообщения об ошибках (errors): + + + + Font color for error messages in Report view panel + Цвет шрифта для сообщений об ошибках на панели Report view + + + + Python interpreter + Интерпретатор Python + + + + Internal Python output will be redirected +from Python console to Report view panel + Внутренний вывод Python будет перенаправлен +с консоли Python на панель просмотра отчета + + + + Redirect internal Python output to report view + Перенаправить внутренний вывод Python в отчёт + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Внутренние сообщения об ошибках Python будут перенаправлены +с консоли Python на панель просмотра отчета + + + + Redirect internal Python errors to report view + Перенаправить внутренние ошибки Python в Просмотр отчёта + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Тема + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Эта страница позволяет вам настроить текущую тему. Предлагаемые настройки являются необязательными для разработчиков, поэтому они могут иметь или не иметь эффект в вашей текущей теме. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Этот цвет может быть использован для вашей темы, чтобы позволить вам настраивать её. + + + + No style sheet + Без особого стиля + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_sl.ts b/src/Gui/Language/FreeCAD_sl.ts index 33a3c796d5..b56d5d46f8 100644 --- a/src/Gui/Language/FreeCAD_sl.ts +++ b/src/Gui/Language/FreeCAD_sl.ts @@ -42,29 +42,29 @@ Prikazana velikost zmožnosti - + <empty> <empty> - - + + Angle Kot - - + + Axis Os - + Position - Position + Položaj - + Enum Številčnik @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Izpis preizkusne konzole - - + + Run test cases to verify console messages Zaženi poskusne primere za preveritev sporočil na ukazni mizi @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Počisti meritev - + Clear all visible measurements Počisti vse vidne meritve @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Preklopi meritev - + Turn on or off the display of all measurements Vključi oz. izključi prikaz vseh meritev @@ -132,7 +132,7 @@ Izbriši - + Paste expressions Prilepi izraze @@ -182,9 +182,9 @@ Dodaj skupino - + Align - Align + Poravnaj @@ -193,40 +193,40 @@ Postavitev - - + + Transform Preoblikuj - + Toggle array elements Preklopi med prvinami razpostavitve - + Link Transform Poveži Preoblikovanje - + Measure distance Izmeri razdaljo - + Toggle visibility Preklopi vidnost - + Toggle selectability Preklopi izbirnost - + Edit image Uredi sliko @@ -234,77 +234,77 @@ CommandGroup - + File Datoteka - + Edit Uredi - + Help Pomoč - + Link Povezava - + Tools Orodja - + View Pogled - + Window Okno - + Standard Običajno - + Macros Makri - + Macro Makro - + Structure Struktura - + Standard-Test Običajni preizkus - + Standard-View Običajni pogled - + TreeView DrevesniPrikaz - + Measure Merjenje @@ -402,11 +402,6 @@ DownloadItem - - - Form - Oblika - Ico @@ -421,42 +416,42 @@ EditMode - + Default Privzeti - + The object will be edited using the mode defined internally to be the most appropriate for the object type Urejanje predmeta bo v načinu, ki je notranje določen kot najprimernejši glede na vrsto predmeta - + Transform Preoblikuj - + The object will have its placement editable with the Std TransformManip command Postavitev predmeta bo mogoče urejati z ukazom Std TransformManip - + Cutting Prerez - + This edit mode is implemented as available but currently does not seem to be used by any object Ta urejevalni način je razpoložljiv, vendar trenutno ni kaže, da bi ga uporabljal katerikoli predmet - + Color Barva - + The object will have the color of its individual faces editable with the Part FaceColors command Barvo posameznih ploskev predmeta bo mogoče urejati z ukazom FaceColors @@ -482,7 +477,7 @@ nobeden - + Press a keyboard shortcut Stisnite tipkovno bližnjico @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Na voljo: - + Selected: Izbrano: - + Add Dodaj - + Remove Odstrani - + Move up Premakni gor - + Move down Premakni dol @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Premični predmet - + Fixed object Nepremičen predmet @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Počakajte, da se datoteka samodejne obnovitve shrani … @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Pritisnite levo miškino tipko - + Press SHIFT and middle mouse button Pritisnite Shift in srednjo miškino tipko - + Press middle mouse button Pritisnite srednjo miškino tipko - + Scroll middle mouse button Zavrtite kolesce na miški @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button - Pritisnite levo miškino tipko + Pritisnite levi miškin gumb - + Press middle mouse button Pritisnite srednjo miškino tipko - + Press middle+left or middle+right button Pritisnite srednji+levi ali srednji+desni gumb - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Zavrtite srednjo miškino tipko ali jo spustite, medtem ko @@ -615,12 +610,12 @@ kliknete na levo oz. desno tipko in premikate miško gor oz. dol Gui::ContainerDialog - + &OK &V redu - + &Cancel &Prekliči @@ -628,7 +623,7 @@ kliknete na levo oz. desno tipko in premikate miško gor oz. dol Gui::ControlSingleton - + Task panel Podokno nalog @@ -712,47 +707,47 @@ kliknete na levo oz. desno tipko in premikate miško gor oz. dol Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Zahvale - + FreeCAD would not be possible without the contributions of FreeCADa ne bi bilo, če ne bi bilo prispevkov - + Individuals Header for the list of individual people in the Credits list. Posamezniki - + Organizations Header for the list of companies/organizations in the Credits list. Družbe - - + + License Dovoljenje - + Libraries Knjižnice - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: To programje uporablja odprtokodne dele, katerih avtorske pravice in ostale pravice pripadajo njihovim lastnikom: - + Collection Zbirka @@ -760,22 +755,22 @@ kliknete na levo oz. desno tipko in premikate miško gor oz. dol Gui::Dialog::ApplicationCache - + Cache directory Mapa predpomnilnika - + The cache directory %1 exceeds the size of %2. Predpomnilnikova mapa %1 presega velikost %2. - + Do you want to clear it now? Ali ga želite sedaj počistiti? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Opozorilo: Prepričajte se, da je to edini delujoči %1 primerek in ni odprt noben dokument, saj bi lahko prišlo do izgube podatkov! @@ -796,37 +791,37 @@ kliknete na levo oz. desno tipko in premikate miško gor oz. dol Gui::Dialog::CameraDialog - + Camera settings Nastavitve kamere - + Orientation Usmerjenost - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Trenutni pogled @@ -856,7 +851,7 @@ kliknete na levo oz. desno tipko in premikate miško gor oz. dol Flip - Obrni + Preobrni @@ -892,7 +887,7 @@ kliknete na levo oz. desno tipko in premikate miško gor oz. dol Gui::Dialog::CommandModel - + Commands Ukazi @@ -907,7 +902,7 @@ kliknete na levo oz. desno tipko in premikate miško gor oz. dol Angle - Kot + Kót @@ -1106,7 +1101,7 @@ Neglede na to ima lastnost v skriptih še vedno polni naziv, kot npr. "obj.Ime_S Name - Ime + Naziv @@ -1117,12 +1112,12 @@ Neglede na to ima lastnost v skriptih še vedno polni naziv, kot npr. "obj.Ime_S Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Sveženj že obstaja - + A preference pack with that name already exists. Do you want to overwrite it? Prednastavitveni sveženj s tem imenom že obstaja. Ali ga želite pripisati? @@ -1360,57 +1355,57 @@ tisti z višjo prednostjo. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Vpišite iskalni niz ... - + Icon Ikona - + Command Ukaz - + Shortcut Bližnjica - + Default - Privzeti + Privzeto - + Name - Ime - - - - Title Naziv - + + Title + Naslov + + + All Vse - - + + none - nobeden + brez Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Vrstice orodjarne @@ -1499,40 +1494,40 @@ tisti z višjo prednostjo. - + <Separator> <Ločilo> - + %1 module not loaded Modul %1 ni naložen - + New toolbar Nova orodna vrstica - - + + Toolbar name: Ime orodne vrstice: - - + + Duplicated name Podvojeno ime - - + + The toolbar name '%1' is already used Ime orodne vrstice '%1' je že uporabljeno - + Rename toolbar Preimenuj orodno vrstico @@ -1545,19 +1540,19 @@ tisti z višjo prednostjo. Gui::Dialog::DlgCustomizeImp - + Customize Po meri - + &Help &Pomoč - + &Close &Zapri @@ -1566,13 +1561,13 @@ tisti z višjo prednostjo. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Gibanje miške 3D - + No Spaceball Present Ni 3D miške @@ -1580,27 +1575,27 @@ tisti z višjo prednostjo. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Gumbi 3D miške - + No Spaceball Present Ni 3D miške - + Buttons Gumbi - + Reset Ponastavi - + Print Reference Natisni sklic @@ -1685,551 +1680,123 @@ tisti z višjo prednostjo. Gui::Dialog::DlgDisplayPropertiesImp - + Default - Privzeti + Privzeto - + Aluminium Aluminij - + Brass Medenina - + Bronze Bron - + Copper Baker - + Chrome Krom - + Emerald Smaragd - + Gold Zlato - + Jade Žad - + Metalized Prevlečeno s kovino - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidian - + Pewter Trd kositer - + Plaster Mavec - + Plastic Plastika - + Ruby Rubin - + Satin Atlas - + Shiny plastic Sijoča plastika - + Silver Srebro - + Steel Jeklo - + Stone Kamen Gui::Dialog::DlgEditorSettings - - - Editor - Urejevalnik - - - - Options - Možnosti - - - - Code lines will be numbered - Vrstice kode bodo oštevilčene - - - - Enable line numbers - Omogoči številke vrstic - - - - The cursor shape will be a block - Kazalka bo v obliki pravokotega polja - - - - Enable block cursor - Omogoči poljno kazalko - - - - Enable folding - Omogoči pregibanje - - - - Indentation - Zamik - - - - Tab size: - Velikost zamika: - - - - Tabulator raster (how many spaces) - Korak zamikalke (koliko presledkov) - - - - Indent size: - Velikost zamika: - - - - How many spaces will be inserted when pressing <Tab> - Koliko presledkov se vstavi s pritiskom na <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - S pritiskom na <Tab> vstavite zamik določene velikosti - - - - Keep tabs - Obdrži zamike - - - - Pressing <Tab> will insert amount of defined indent size - S pritiskom na <Tab> boste vstavili določen zamik - - - - Insert spaces - Vstavi presledke - - - - Display items - Prikaži predmete - - - - Color and font settings will be applied to selected type - Za izbrano vrsto bodo uveljavljene nastavitve barve in pisave - - - - Family: - Družina: - - - - Font family to be used for selected code type - Družina pisave za izbrano vrsto kode - - - - Size: - Velikost: - - - - Font size to be used for selected code type - Velikost pisave za izbrano vrsto kode - - - - Color: - Barva: - - - - Preview: - Predogled: - - - Gui::Dialog::DlgGeneral - - - General - Splošne nastavitve - - - - Language of the application's user interface - Jezik uporabniškega vmesnika programa - - - - Number format: - Oblika zapisa števil: - - - - Operating system - Operacijski sistem - - - - Selected language - Izberite jezik - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Če je omogočeno, bo decimalni ločevalnik na -številčnici zamenjan s krajevnim ločevalnikom, -razen na Pythonovi ukaznimi mizi in v Urejevalniku -makrov, kjer bo pika/vejica vedno natisnjena. - - - - Preference packs - Prednastavitveni svežnji - - - - Name - Ime - - - - Type - Vrsta - - - - Load - Naloži - - - - Import config... - Nastavljanje uvoza ... - - - - Save new... - Shrani nov ... - - - - Manage... - Upravljaj ... - - - - Revert... - Povrni ... - - - - How many files should be listed in recent files list - Koliko datotek naj bo navedenih na seznamu nedavnih datotek - - - - Enable tiled background - Omogoči ploščičasto ozadje - - - - The text cursor will be blinking - Besedilna kazalka bo utripala - - - - Enable cursor blinking - Omogoči utripanje kazalke - - - - Style sheet: - Slogovna predloga: - - - - Language and number format - Jezik in oblika zapisa števil - - - - Language: - Jezik: - - - - Unit system: - Merski sistem: - - - - Unit system that should be used for all parts of the application - Merski sistem, ki naj se uporablja v celotnem programu - - - - Number of decimals: - Število decimalk: - - - - Number of decimals that should be shown for numbers and dimensions - Število decimalk, ki naj se prikaže pri številkah ter merah - - - - Minimum fractional inch: - Najmanjši del palca (inch): - - - - Minimum fractional inch to be displayed - Najmanjši del palca, ki na jse še prikaže - - - - Substitute decimal separator - Zamenjaj decimalni ločilnik - - - - Application - Program - - - - Style sheet how user interface will look like - Slogovna predloga, ki določa videz uporabniškega vmesnika - - - - Size of toolbar icons: - Velikost ikon orodne vrstice: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Izberite velikost ikon orodne vrstice, ki vam najbolj odgovarja. -Prilagodite jo lahko glede na velikost zaslona ali po lastnem okusu - - - - Tree view mode: - Način drevesnega prikaza: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Prilagodi način prikazovanja drevesnega prikaza v podoknu (potreben vnovični zagon). - -"Sestavljen pogled": v eno podokno združen drevesni prikaz in lastnostni prikaz. -"Drevesni in Lastnostni prikaz": drevesni in lastnostni prikaz, vsak v svojem podoknu. -"Oboje": ohrani vsa tri podokna tako, da imate lahko dva drevesna in dva lastnostna prikaza. - - - - Size of recent file list: - Velikost seznama nedavnih datotek: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Ozadje glavnega okna bo, (ko ni odprt noben dokument) tlakovano s posebno sliko. -Za podrobnosti o sliki si oglejte FreeCAD Wiki. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Pozdravno okno je majhno okno, ki se prikaže med nalaganje -FreeCADa ob zagonu. Če je ta možnost označena, -bo pozdravno okno prikazano - - - - Enable splash screen at start up - Omogoči pozdravno okno ob zagonu - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Upravljanje s prenastavitvenimi svežnji - - - - Small (%1px) - Majhno (%1px) - - - - Medium (%1px) - Srednje (%1px) - - - - Large (%1px) - Veliko (%1px) - - - - Extra large (%1px) - Zelo velike (%1px) - - - - Custom (%1px) - Po meri (%1px) - - - - Combo View - Sestavljen pogled - - - - TreeView and PropertyView - Drevesni prikaz in Lastnostni prikaz - - - - Both - Oboje - - - - No style sheet - Brez slogovne predloge - - - - Preference Pack Name - Ime prednastavitvenega svežnja - - - - Tags - Značke - - - - Apply - Uveljavi - - - - Apply the %1 preference pack - Uveljavi prednastavitveni sveženj %1 - - - - Choose a FreeCAD config file to import - Za uvažanje izberite FreeCADovo nastavitveno datoteko - - - - File exists - Datoteka obtsaja - - - - A preference pack with that name already exists. Overwrite? - Prednastavitveni sveženj s tem imenom že obstaja. Ali ga želite pripisati? - - Gui::Dialog::DlgInputDialog @@ -2245,8 +1812,8 @@ bo pozdravno okno prikazano Gui::Dialog::DlgInspector - - + + Scene Inspector Preglednik torišč @@ -2326,7 +1893,7 @@ bo pozdravno okno prikazano Download - Prejmi + Prenesi @@ -2338,70 +1905,70 @@ bo pozdravno okno prikazano Gui::Dialog::DlgMacroExecuteImp - + Macros Makri - + Read-only Samo za branje - + Macro file Datoteka z makrom - + Enter a file name, please: Vnesite ime datoteke: - - - + + + Existing file Obstoječa datoteka - + '%1'. This file already exists. '%1'. Ta datoteka že obstaja. - + Cannot create file Datoteke ni mogoče ustvariti - + Creation of file '%1' failed. Ustvarjanje datoteke '%1' ni uspelo. - + Delete macro Izbriši makro - + Do you really want to delete the macro '%1'? Ali res želite izbrisati makro '%1'? - + Do not show again Ne prikaži več - + Guided Walkthrough Vodič - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2412,78 +1979,78 @@ Opomba: spremembe bodo uveljavljene pri naslednjem preklopu med delovnimi okolji - + Walkthrough, dialog 1 of 2 Vodič, 1. pogovorno okno od 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Navodila vodiča: Izpolnite manjkajoča polja (po izbiri), kliknite Dodaj in nato Zapri - + Walkthrough, dialog 1 of 1 Vodič, 1. pogovorno okno od 1 - + Walkthrough, dialog 2 of 2 Vodič, 2. pogovorno okno od 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Navodila vodiča: Kliknite gumb s puščico v desno (->), nato Zapri. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Navodila vodiča: Kliknite Nov, nato gumb s puščico v desno (->) in na koncu Zapri. - + Renaming Macro File Preimenovanje datoteke Macro - - + + Enter new name: Vnesite novo ime: - - + + '%1' already exists. '%1' že obstaja. - + Rename Failed Preimenovanje ni uspelo - + Failed to rename to '%1'. Perhaps a file permission error? Preimenovanje v '%1' ni uspelo. Mogoče je napaka pri dostopu do datoteke? - + Duplicate Macro Podvoji Makro - + Duplicate Failed Podvajanje spodletelo - + Failed to duplicate to '%1'. Perhaps a file permission error? Podvajanje v '%1' ni uspelo. @@ -2526,39 +2093,39 @@ Mogoče je napaka pri dostopu do datoteke? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Snemalnik makrov - + Specify first a place to save. Najprej določite mesto shranjevanja. - + The macro directory doesn't exist. Please, choose another one. Mapa makrov ne obstaja. Izberite drugo. - + Existing macro Obstoječi makro - + The macro '%1' already exists. Do you want to overwrite? Makro '%1' že obstaja. Ali ga želite prepisati? - + You have no write permission for the directory. Please, choose another one. Nimate dovoljenj za pisanje v mapo. Izberite drugo. - + Choose macro directory Izberite mapo makrov @@ -2631,12 +2198,12 @@ Mogoče je napaka pri dostopu do datoteke? Datoteke HTML - + Access denied Dostop zavrnjen - + Access denied to '%1' Specify another directory, please. @@ -2759,7 +2326,7 @@ Navedite drugo mapo. Name - Ime + Naziv @@ -2892,17 +2459,17 @@ Navedite drugo mapo. You must restart FreeCAD for changes to take effect. - You must restart FreeCAD for changes to take effect. + Da bi spremembe stopile v veljavo, morate ponovno zagnati FreeCAD. Restart now - Restart now + Ponovno zaženi zdaj Restart later - Restart later + Ponovno zaženi pozneje @@ -3037,36 +2604,36 @@ Navedite drugo mapo. Datoteka projekta - - + + Empty source Prazen vir - - + + No source is defined. Ni določenega vira. - - + + Empty destination Prazen cilj - - + + No destination is defined. Cilj ni določen. - + Failed to extract project Projekta ni mogoče izvleči - + Failed to create project Projekta ni mogoče ustvariti @@ -3116,188 +2683,6 @@ Navedite drugo mapo. Gui::Dialog::DlgReportView - - - Report view - Poročevalni pogled - - - - Output - Izpis - - - - Normal messages will be recorded - Običajna sporočila bodo zabeležena - - - - Record normal messages - Zabeleži običajna sporočila - - - - Log messages will be recorded - Dnevniška sporočilo bodo zabeležena - - - - Record log messages - Zabeleži dnevniška sporočila - - - - Warnings will be recorded - Opozorila bodo zabeležena - - - - Record warnings - Zapiši opozorila - - - - Error messages will be recorded - Sporočila o napakah bodo zabeležena - - - - Record error messages - Zabeleži sporočila napak - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Ko pride do napake, bo pri prikazovanju napake postalo na zaslonu vidno -poročevalno pogovorno okno - - - - Show report view on error - Prikaži pri napaki poročevalni pogled - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Ko pride do opozorila, bo pri prikazovanju opozorila postalo na zaslonu vidno -poročevalno pogovorno okno - - - - Show report view on warning - Prikaži pri opozorilu poročevalni pogled - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Ko pride do običajnega sporočila, bo pri prikazovanju sporočila postalo na zaslonu -vidno poročevalno pogovorno okno - - - - Show report view on normal message - Prikaži pri običajnih sporočilih poročevalni pogled - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Ko pride do dnevniškega sporočila, bo pri prikazovanju zapisa postalo na zaslonu -vidno poročevalno pogovorno okno - - - - Show report view on log message - Prikaži pri dnevniškem sporočilu poročevalni pogled - - - - Include a timecode for each report - Vsakemu poročilu dodaj časovni žig - - - - Include a timecode for each entry - Vsakemu vpisu dodaj tudi časovni žig - - - - Colors - Barve - - - - Normal messages: - Običajna sporočila: - - - - Font color for normal messages in Report view panel - Barva pisave pri običajnih sporočilih v poročilnem podoknu - - - - Log messages: - Dnevniška sporočila: - - - - Font color for log messages in Report view panel - Barva pisave pri dnevniških sporočilih v poročilnem podoknu - - - - Warnings: - Opozorila: - - - - Font color for warning messages in Report view panel - Barva pisave pri opozorilnih sporočilih v poročilnem podoknu - - - - Errors: - Napake: - - - - Font color for error messages in Report view panel - Barva pisave pri sporočilih o napakah v poročilnem podoknu - - - - Python interpreter - Tolmač Pythona - - - - Internal Python output will be redirected -from Python console to Report view panel - Pythonov notranji izpis bo preusmerjen s -Pythonove ukazne mize na poročilno podokno - - - - Redirect internal Python output to report view - Preusmeri notranji izpis Pythona na poročevalni pogled - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Notranja Pythonova sporočila o napakah bodo preusmerjena -s Pythonove ukazne mize na poročilno podokno - - - - Redirect internal Python errors to report view - Preusmeri notranje napake Pythona na poročevalni pogled - @@ -3324,7 +2709,7 @@ s Pythonove ukazne mize na poročilno podokno Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file V pogovornem oknu ni nič izbrano. Varnostnih kopij ni mogoče naložiti @@ -3367,7 +2752,7 @@ s Pythonove ukazne mize na poročilno podokno Pomoč - + Select a file Izberite datoteko @@ -3375,70 +2760,70 @@ s Pythonove ukazne mize na poročilno podokno Gui::Dialog::DlgSettings3DView - + 3D View 3D pogled - + General Splošne nastavitve - + Main coordinate system will always be shown in lower right corner within opened files Glavni koordinatni sistem bo vedno prikazan v spodnjem desnem kotu znotraj odprtih datotek - + Show coordinate system in the corner Pokaži v vogalu koordinatni sistem - + Relative size : Odnosna velikost: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Velikost prikaza glavnega koordinatnega sistema v vogalu -- merjeno v % višine/širine vpogleda - + Axis cross will be shown by default at file opening or creation Križ osi bo ob odprtu ali ustvaritvi datoteke privzeto prikazan - + Show axis cross by default Privzeto prikaži križ osi - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files V spodnjem levem vogalu odprtih datotek bosta prikazana čas, porabljen za zadnje opravilo, in gostota sličic - + Show counter of frames per second Pokaži števec slik na sekundo - + Rendering Izrisovanje - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3447,22 +2832,22 @@ Changing this option requires a restart of the application. Za spremembo te možnosti je treba program ponovno zagnati. - + Use software OpenGL Uporabi OpenGL programje - + Use OpenGL VBO (Vertex Buffer Object) Uporabi OpenGL VBO (medpomnilnik oglišč) - + Render cache Izrisni predpomnilnik - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3485,7 +2870,7 @@ od grafičnih nepravilnosti do hroščev sesipanja GPE. Ne pozabite javiti, da je bila ta zmožnost omogočena, ko boste iskali podporo na FreeCAD-ovih forumih - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3502,92 +2887,92 @@ razen predpomnilnika korenskega vozlišča na grafu torišča. S tem dobite hitr izrisovanje, vendar počasnejše odzivanje na spremembe torišča. - + Auto Samodejno - + Distributed Porazdeljeno - + Centralized Usrediščeno - + Anti-Aliasing Glajenje robov - + What kind of multisample anti-aliasing is used Kakšno glajenje robov z večkratnim vzorčenjem je uporabljeno - + None Brez - + Line Smoothing Glajenje črt - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Prozorni predmeti: - + Render types of transparent objects Način izrisovanja prozornih predmetov - + One pass Enkratni prelet - + Backface pass Prelet čez hrbtne ploskve - + Marker size: Velikost oznake: - - Size of vertices in the Sketcher workbench - Velikost oglišč v delovnem okolju Očrtovalnik + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Medočesna razdalja v dvovidnih načinih - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3596,48 +2981,48 @@ Ta vredost predstavlja količnik, ki bo pomnožen z velikostjo očrtnega kvadra trenutno prikazanega prostorskega predmeta. - + Backlight is enabled with the defined color Protisvetloba je omogočena z določeno barvo - - + + Backlight color Barva protisvetlobe - + Intensity Jakost - + Intensity of the backlight Jakost protisvetlobe - + Camera type Vrsta kamere - + Objects will appear in a perspective projection Predmeti bodo prikazani v perspektivni preslikavi - + Perspective renderin&g Izris v p&erspektivi - + Objects will be projected in orthographic projection Predmeti bodo preslikani v pravokotno preslikavo - + Or&thographic rendering Pravoko&tni izris @@ -3649,42 +3034,42 @@ očrtnega kvadra trenutno prikazanega prostorskega predmeta. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Glajenje robov - + Open a new viewer or restart %1 to apply anti-aliasing changes. Odprite nov pregledovalnik ali ponovno zaženite %1, da uporabite spremembe glajenja robov. @@ -3692,77 +3077,77 @@ očrtnega kvadra trenutno prikazanega prostorskega predmeta. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Predpomnilnik - + Cache directory Mapa predpomnilnika - + Location: Mesto: - + Check periodically at program start: Redno preverjanje ob zagonu programa: - + Always Vedno - + Daily Dnevno - + Weekly Tedensko - + Monthly Mesečno - + Yearly Letno - + Never Nikoli - + Cache size limit: Omejitev velikosti predpomnilnika: - + Check now... Preveri zdaj ... - + Notify the user if the cache size exceeds the specified limit Obvesti uporabnika, če velikost predpomnilnika presega določeno omejitev - + Unknown Neznano - + Current cache size: %1 Trenutna velikost predpomnilnika: %1 @@ -3923,12 +3308,12 @@ poleg barvne vrstice Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Napačna določilka - + The maximum value must be higher than the minimum value. Najvišja vrednost mora biti višja od najnižje. @@ -3936,182 +3321,182 @@ poleg barvne vrstice Gui::Dialog::DlgSettingsDocument - + Document Dokument - + General Splošne nastavitve - + The application will create a new document when started Program bo ob zagonu ustvaril nov dokument - + Create new document at start up Ob zagonu ustvari nov dokument - + Document save compression level (0 = none, 9 = highest, 3 = default) Raven stiskanja pri shranjevanju dokumenta (0 = brez, 9 = najvišja, 3 = privzeta) - + Compression level for FCStd files Raven stiskanja pri datotekah FCtd - + All changes in documents are stored so that they can be undone/redone Vse spremembe v dokumentu so shranjene, da se jih lahko razveljavi oz. uveljavi - + Using Undo/Redo on documents Omogoči razveljavljanje/uveljavljanje - + Maximum Undo/Redo steps Največje število razveljavitev/uveljavitev - + How many Undo/Redo steps should be recorded Koliko korakov za razveljavitev/uveljavitev naj se shrani - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Dovoli uporabniku prekinitev preračunavanja s pritiskom na Izhod (ESC). Ta zmožnost lahko malo podaljša čas preračunavanja. - + Allow aborting recomputation Dovoli prekinitev preračunavanja - + Storage Shranjevanje - + Saving transactions (Auto-save) Shranjevanje izmenjav (samodejno shranjevanje) - + Discard saved transaction after saving document Zavrzi shranjeno izmenjavo po shranjevanju dokumenta - + If there is a recovery file available the application will automatically run a file recovery when it is started. Če je obnovitvena datoteka na voljo, bo program ob zagonu samodejno obnovil datoteko. - + Run AutoRecovery at startup Zaženi samodejno obnovitev ob zagonu - + How often a recovery file is written Kako pogosto naj se naredi obnovitvena datoteka - + Save AutoRecovery information every Shrani podatke samodejne obnovitve vsakih - + A thumbnail will be stored when document is saved Pri shranjevanju datoteke se bo shranila tudi sličica - + Save thumbnail into project file when saving document Pri shranjevanju dokumenta shrani sličico za ikono datoteke projekta - + Size Velikost - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Nastavi velikost sličice, ki se shrani v dokument. Običajne mere so 128, 256 in 512 - + The program logo will be added to the thumbnail Sličici bo dodan logotip - + Add the program logo to the generated thumbnail Dodaj v proizvedeno sličico logotip programa - + How many backup files will be kept when saving document Koliko varnostnih kopij se ohrani po shranitvi dokumenta - + Maximum number of backup files to keep when resaving document Največje število varnostnih kopij, ohranjenih pri ponovnem shranjevanju dokumenta - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Varnostne kopije bodo dobile pripono ".FCbak", imena datotek pa pripono glede na določen razpis - + Use date and FCBak extension Uporabi datum in FCBak-ov razširitev - + Date format Zapis datuma - + Document objects Predmeti dokumenta - + Allow objects to have same label Dovoli, da imajo lahko predmeti enako oznako - + Allow duplicate object labels in one document Dovoli podvojene oznake predmetov v enem dokumentu - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4124,22 +3509,22 @@ Delno naloženega dokumenta ni mogoče urejati. Z dvoklikom na ikono dokumenta v drevesnem prikazu se bo ta ponovno naložil v celoti. - + Disable partial loading of external linked objects Onemogoči delno nalaganje zunanjih sklicnih predmetov - + Authoring and License Avtorstvo in licenca - + Author name Ime avtorja - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4148,32 +3533,32 @@ You can also use the form: John Doe <john@doe.com> Lahko uporabite tudi obliko: Neznanec <ne@znanec.com> - + The field 'Last modified by' will be set to specified author when saving the file Polje "Zadnji spremenil" bo pri shranjevanju izpolnjeno z izbranim ustvarjalcem - + Set on save Glede na shranjevanje - + Company Podjetje - + Default company name to use for new files Privzeto ime podjetja pri ustvarjanju novih datotek - + Default license Privzeta licenca - + Default license for new documents Privzeto dovoljenje za nove dokumente @@ -4243,12 +3628,12 @@ Lahko uporabite tudi obliko: Neznanec <ne@znanec.com> Drugo - + License URL Spletni naslov dovoljenja - + URL describing more about the license Spletni naslov s podrobnejšim opisom dovoljenja @@ -4256,104 +3641,21 @@ Lahko uporabite tudi obliko: Neznanec <ne@znanec.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Vrsta zapisa podatkov, ki naj se uporabi. - + Default - Privzeti + Privzeto - + Format Zapis - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Besedilo - - - - Bookmark - Zaznamek - - - - Breakpoint - Prekinitvena točka - - - - Keyword - Ključna beseda - - - - Comment - Opomba - - - - Block comment - Večvrstično pojasnilo - - - - Number - Število - - - - String - Niz - - - - Character - Znak - - - - Class name - Ime razreda - - - - Define name - Določi ime - - - - Operator - Operator - - - - Python output - Izpis Pythona - - - - Python error - Napaka Pythona - - - - Current line highlight - Poudarjanje trenutne vrstice - - - - Items - Predmeti - - Gui::Dialog::DlgSettingsImage @@ -4534,122 +3836,122 @@ Lahko uporabite tudi obliko: Neznanec <ne@znanec.com> Gui::Dialog::DlgSettingsMacro - + Macro Makro - + General macro settings Splošne nastavitve makrov - + Variables defined by macros are created as local variables Spremenljivke, ki jih določi makro, so krajevne spremenljivke - + Run macros in local environment Zaženi makre v krajevnem okolju - + Macro recording settings Nastavitve snemanja makrov - + Macro path Pot makrov - + The directory in which the application will search for macros Mapa, v kateri bo program iskal makre - + Gui commands Ukazi graf. up. vmesnika - + Recorded macros will also contain user interface commands Posneti makri bodo vsebovali tudi ukaze uporabniškega vmesnika - + Record GUI commands Beleži ukaze graf. upor. vmesnika - + Recorded macros will also contain user interface commands as comments Posneti makri bodo kot opombe vsebovali tudi ukaze uporabniškega vmesnika - + Record as comment Beleži kot opombe - + Logging Commands Ukazi beleženja - + Commands executed by macro scripts are shown in Python console Ukazi, ki jih izvajajo skripti makra, so prikazani v Pythonovi ukazni mizi - + Show script commands in python console Prikaži ukaze skriptov v konzoli Python - + Log all commands issued by menus to file: Beleži vse ukaze, ki jih izdajo meniji v datoteko: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Meni nedavnih makrov - + Size of recent macro list Velikost seznama nedavnih marov - + How many macros should be listed in recent macros list Koliko makrov naj bo navedenih na seznamu nedavnih makrov - + Keyboard shortcut count Štetje tipkovnih bližnjic - + How many recent macros should have shortcuts Koliko nedavnih makrov naj ima bližnjice - + Keyboard Modifiers Tipkovnični spremenilniki - + Keyboard modifiers, default = Ctrl+Shift+ Tipkovnični spremenilniki, privzeto = Ctrel+Premakni (Shift)+ @@ -4657,130 +3959,130 @@ Lahko uporabite tudi obliko: Neznanec <ne@znanec.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation - Navigacija + Krmarjenje - + Navigation cube Krmilna kocka - + Steps by turn Korakov v zaobratu - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Število korakov pri obračanju s puščico v enem zaobratu (privzeto = 8 : koračnih kotov = 360/8 = 45 stopinj) - + Corner Vogal - + Corner where navigation cube is shown Vogal, v katerem je prikazana krmilna kocka - + Top left Zgornji levi - + Top right Zgornji desni - + Bottom left Spodnji levi - + Bottom right Spodnji desni - + Rotates to nearest possible state when clicking a cube face Zasuk v najbližji možni položaj, ob kliku na ploskev kocke - + Rotate to nearest Zasuk do najbližjega - + Font name: Ime pisave: - + Font name of the navigation cube Ime pisave za krmilno kocko - + Default - Privzeti + Privzeto - + Cube size Velikost kocke - + Size of the navigation cube Velikost krmilne kocke - + Color Barva - + Base color for all elements Osnovna barva vseh predmetov - + 3D Navigation 3D krmarjenje - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Naštej nastavitve miškinih tipk za vsako izbrano nastavitev krmarjenja. Izberite nastavitev in nato pritisnite tipko za pregled navedenih nastavitev. - + Mouse... Miška … - + Navigation settings set Nabor nastavitev krmarjenja - + Orbit style Slog vrtenja - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4791,116 +4093,116 @@ Sukajoči pogled: del se bo sukal okrog osi z. (z omejitvami osi). Prostosukajoči pogled: del se bo sukal okoli osi z. - + Turntable Sukajoča pogled - + Trackball Vrtilna krogla - + Free Turntable Prostosukajoča plošča - + Rotation mode Sukalni način - + Rotations in 3D will use current cursor position as center for rotation Pri prostorskem sukanju bo za vrtišče izbran trenutni položaj kazalke - + Window center Sredina okna - + Drag at cursor Povleci h kazalki - + Object center Središče predmeta - + Default camera orientation Privzeta usmeritev kamere - + Default camera orientation when creating a new document or selecting the home view Privzeta usmeritev kamere pri ustvarjanju novega dokumenta ali izbiri domačega pogleda - + Camera zoom Preodmičenje - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Nastavi vidno polje kamere za nove dokumente. Vrednost predstavlja premer krogle, včrtane v zaslon. - + mm mm - + Enable animated rotations Omogoči potujoče zasuke - + Enable animation Omogoči potovanje - + Zoom operations will be performed at position of mouse pointer Preodmičenje se bo izvajalo okrog položaja kazalke - + Zoom at cursor Preodmičenje ob kazalki - + Zoom step Korak preodmičenja - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Za koliko se bo spremenila povečava. Korak preodmičenja "1" pomeni količnik velikost 7,5 za vsak korak. - + Direction of zoom operations will be inverted Smer preodmičenja bo obrnjena - + Invert zoom Obrni preodmičenje - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4909,57 +4211,67 @@ Vpliva le na slog krmarjenja s kretnjami. S to nastavitvijo nagibanje z miško ni onemogočeno. - + Disable touchscreen tilt gesture Onemogoči potezo nagibanja na zaslonu na dotik - + + Show the rotation center when dragging. + Pri vlečenju prikaži središče sukanja. + + + + Enable rotation center indication + Omogoče nakazovanje središča sukanja + + + Isometric - Izometrična + Izometrično - + Dimetric - Dimetrična + Dvomeren - + Trimetric - Trimetrična + Trimetrično - + Top Zgoraj - + Front Spredaj - + Left Levo - + Right Desno - + Rear Zadaj - + Bottom Spodaj - + Custom Po meri @@ -4967,44 +4279,44 @@ S to nastavitvijo nagibanje z miško ni onemogočeno. Gui::Dialog::DlgSettingsPythonConsole - + Python console Pythonova ukazna miza - + Settings Nastavitve - + Words will be wrapped when they exceed available horizontal space in Python console Ko besede presežejo razpložljivo širino na Pythonovi ukazni mizi, se prelomijo - + Enable word wrap Omogoči prelom besed - + The cursor shape will be a block Kazalka bo v obliki pravokotega polja - + Enable block cursor Omogoči poljno kazalko - + Saves Python history across sessions Shrani zgodovino Pythonove seje - + Save history Shrani zgodovino @@ -5012,17 +4324,37 @@ ukazni mizi, se prelomijo Gui::Dialog::DlgSettingsSelection - + Selection Izbira - + + Enable preselection, highlighted with specified color + Omogoči predizbor, poudarjen z izbrano barvo + + + + Enable preselection + Omogoči predizbor + + + + Enable selection, highlighted with specified color + Omogoči izbor, poudarjen z izbrano barvo + + + + Enable selection + Omogoči izbor + + + Pick radius (px): Izberi polmer (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5031,27 +4363,27 @@ Pri večjih vrednostih je izbiranje lažje, vendar pa je lahko zaradi tega izbir - + Auto switch to the 3D view containing the selected item Samodejno preklopi na prostorski pogled, ki vsebuje izbrani predmet - + Auto expand tree item when the corresponding object is selected in 3D view Samodejno razširi predmet v drevesu, ki odgovarja izbranemu predmetu v prostorskem pogledu - + Preselect the object in 3D view when mouse over the tree item Predizberi predmete v prostorskem pogledu, preko katerih se gre v drevesu s kazalko - + Record selection in tree view in order to go back/forward using navigation button Posnemi izbor v drevesnem prikazu, da se je mogoče s krmilnim gumbom premikati nazaj in naprej - + Add checkboxes for selection in document tree Za izbiranje po drevesu dokumenta dodaj označna polja @@ -5059,147 +4391,122 @@ Pri večjih vrednostih je izbiranje lažje, vendar pa je lahko zaradi tega izbir Gui::Dialog::DlgSettingsViewColor - + Colors Barve - - Selection - Izbira - - - - Enable preselection and highlight by specified color - Omogoči predizbor in poudarjanje z določeno barvo - - - - Enable preselection highlighting - Omogoči poudarjanje predizbora - - - - Enable selection highlighting and use specified color - Omogoči poudarjanje izbora in uporabi določeno barvo - - - - Enable selection highlighting - Omogoči poudarjanje izbora - - - + Background color for the model view Barva ozadja v oblikovalnici - + Background color Barva ozadja - - + + Background will have selected color Ozadje bo izbrane barve - + Simple color Preprosta barva - - + + Background will have selected color gradient Ozadje bo izbrani barvni preliv - + Linear gradient Premi preliv - + Radial gradient Krožni preliv - - + + Top: Zgoraj: - - + + Middle: Sredina: - + Switches the colors of the gradient Preklaplja barve preliva - + Switch Stikalo - + Color gradient will get selected color as middle color Barvni preliv bo imel izbrano barvo kot sredinsko barvo - + Middle color Srednja barva - - + + Bottom: Spodaj: - + Tree view Drevesni prikaz - + Object being edited Predmet v urejanju - + Background color for objects in tree view that are currently edited Barva ozadja za predmete v drevesem prikazu, ki jih trenutno urejate - + Active container Dejavni vsebnik - + Background color for active containers in tree view Barva ozadja pri dejavnih vsebnikih v drevesnem prikazu - + Central: Središčno: - + Midway: Na polovici: - + End: Konec: @@ -5311,12 +4618,12 @@ Prednostni je sistem, nastavljen v splošnih prednastavitvah. Gui::Dialog::DlgUnitsCalculator - + unknown unit: neznana enota: - + unit mismatch neujemajoča enota @@ -5324,7 +4631,7 @@ Prednostni je sistem, nastavljen v splošnih prednastavitvah. Gui::Dialog::DockablePlacement - + Placement Postavitev @@ -5374,60 +4681,60 @@ The 'Status' column shows whether the document could be recovered. Še ni obnovljeno - + Unknown problem occurred Pojavila se je neznana težava - - + + Failed to recover Obnavljanje je spodletelo - + Successfully recovered Uspešno obnovljeno - + Finish Končaj - - + + Delete Izbriši - - + + Cleanup Počisti - + Are you sure you want to delete the selected transient directories? Ali ste prepričani, da želite izbrisati izbrane prehodne mape? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Če izbrane začasne imenike izbrišete, pozneje ne boste mogli obnoviti datotek. - + Are you sure you want to delete all transient directories? Ali ste prepričani, da želite izbrisati vse prehodne mape? - + When deleting all transient directories you won't be able to recover any files afterwards. Če se izbriše vse začasne imenike, kasneje ni več mogoče obnoviti datotek. - + Transient directories deleted. Začasne mape izbrisane. @@ -5551,7 +4858,7 @@ The 'Status' column shows whether the document could be recovered. Mape ikon - + Add icon folder Dodaj mapo ikon @@ -5564,12 +4871,12 @@ The 'Status' column shows whether the document could be recovered. Dodaj ali odstrani mape ikon po meri - + Remove folder Odstrani mapo - + Removing a folder only takes effect after an application restart. Odstranitev mape začne veljati po ponovnem zagonu programa. @@ -5639,79 +4946,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Razširi - + Add sub-group Dodaj podskupine - - + + Remove group Odstrani skupino - + Rename group Preimenuj skupino - + Export parameter Izvoz določilke - + Import parameter Uvoz določilke - + Collapse Zloži - + Do you really want to remove this parameter group? Ali res želite odstraniti to skupino določilk? - + Existing sub-group Obstoječa podskupina - + The sub-group '%1' already exists. Podskupina '%1' že obstaja. - + Export parameter to file Izvozi določilko v datoteko - + Import parameter from file Uvozi določilko iz datoteke - + Import Error Napaka pri uvozu - + Reading from '%1' failed. Branje iz '%1' ni uspelo. @@ -5719,65 +5026,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Spremeni vrednost - + Remove key Odstrani ključ - + Rename key Preimenuj ključ - + New Novo - + New string item Nov niz - + New float item Nov pred. s plavajočo vejico - + New integer item Nov predmet celega števila - + New unsigned item Nov nepodpisan predmet - + New Boolean item Nov logični predmet - - - - - + + + + + Existing item Obstoječi predmet - - - - - + + + + + The item '%1' already exists. Predmet '%1' že obstaja. @@ -5910,7 +5217,7 @@ The 'Status' column shows whether the document could be recovered. OK - Potrdi + V redu @@ -5923,17 +5230,17 @@ The 'Status' column shows whether the document could be recovered. Uveljavi - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Izberite 1, 2 ali 3 točke preden kliknete ta gumb. Točka je lahko na ogljišču, ploskvi ali na robu. Če bo na ploskvi ali robu, bo uporabljena točka položaja kazalke na ploskvi ali robu. Če je izbrana 1 točka, bo uporabljena kot središče sukanja. Če sta izbrani 2 točki, bo točka na sredini med njima središče sukanja in ustvarjena bo nova os po meri, če bo potrebno. Če so izbrane 3 točke, prva točka postane središče vrtenja in leži na vektorju, ki je pravokoten na ravnino, določeno s temi 3 točkami. Nekateri podatki o razdaljah in kotih so podani v poročilnem pogledu, ki je lahko koristen posebno pri poravnavanju objektov. Za lažjo uporabo se s Premakni + klik ustrezna razdalja ali kot kopira v odložišče. - + Incorrect quantity Nepravilna količina - + There are input fields with incorrect input, please ensure valid placement values! Nekatera vnosna polja so napačno izpolnjena. Vnesite veljavne vrednosti postavitve! @@ -5941,12 +5248,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Gumb - + Command Ukaz @@ -5994,7 +5301,7 @@ The 'Status' column shows whether the document could be recovered. Dialog - Pog. okno + Pogovorno okno @@ -6010,17 +5317,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Drevo Inventorja - + Name - Ime + Naziv - + Nodes Vozlišča @@ -6040,7 +5347,7 @@ The 'Status' column shows whether the document could be recovered. Global - Splošno + Obče @@ -6076,14 +5383,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Prekliči - - + + Transform Preoblikuj @@ -6125,7 +5432,7 @@ The 'Status' column shows whether the document could be recovered. Name - Ime + Naziv @@ -6160,7 +5467,7 @@ izbrani pred odprtjem tega pogovrnega okna Dialog - Pog. okno + Pogovorno okno @@ -6181,13 +5488,13 @@ izbrani pred odprtjem tega pogovrnega okna - + Model Model - + Tasks Opravila @@ -6195,7 +5502,7 @@ izbrani pred odprtjem tega pogovrnega okna Gui::DockWnd::PropertyDockView - + Property View Lastnostni prikaz @@ -6203,82 +5510,82 @@ izbrani pred odprtjem tega pogovrnega okna Gui::DockWnd::ReportOutput - + Options Možnosti - + Display message types Prikaži vrste sporočil - - + + Normal messages Običajna sporočila - - + + Log messages Dnevniška sporočila - - + + Warnings Opozorila - - + + Errors Napake - - + + Critical messages Ključna sporočila - + Show Report view on Prikaži poročevalni pogled na - + Redirect Python output Preusmeri izpis Pythona - + Redirect Python errors Preusmeri napake Pythona - + Go to end Pojdi na konec - + Clear Počisti - + Save As... Shrani kot... - + Save Report Output Shrani izpis poročila - + Plain Text Files Golobesedilne datoteke @@ -6287,13 +5594,13 @@ izbrani pred odprtjem tega pogovrnega okna Gui::DockWnd::ReportView - + Output Izpis - + Python console Pythonova ukazna miza @@ -6331,72 +5638,72 @@ izbrani pred odprtjem tega pogovrnega okna Seznam izbranih predmetov - + Select only Izberi le - + Selects only this object Izbere le ta predmet - + Deselect - Odstrani izbiro + Prekliči izbor - + Deselects this object Odstrani izbiro tega predmeta - + Zoom fit Prilagodi povečavo - + Selects and fits this object in the 3D window Izbere in prilagodi predmet 3D oknu - + Go to selection Pojdi na izbor - + Selects and locates this object in the tree view Izbere in poišče ta predmet v drevesnem prikazu - + Mark to recompute Označi za ponovni izračun - + Mark this object to be recomputed Označi ta predmet za ponovni preračun - + To python console Na Pythonovo ukazno mizo - + Reveals this object and its subelements in the python console. Razkrije ta predmet in njegove podenote v Pythonovi ukazni mizi. - + Duplicate subshape Podvoji notranjo obliko - + Creates a standalone copy of this subshape in the document V dokumentu ustvari ločeno kopijo te podoblike @@ -6409,7 +5716,7 @@ izbrani pred odprtjem tega pogovrnega okna Program - + Labels & Attributes Oznake in značilke @@ -6458,27 +5765,27 @@ Ali želite shraniti spremembe? Datoteka PDF - + untitled[*] nepoimenovan [*] - + - Editor - Urejevalnik - + %1 chars removed %1 znakov odstranjenih - + %1 chars added %1 znakov dodanih - + Formatted Oblikovano @@ -6502,13 +5809,13 @@ Ali želite shraniti spremembe? Gui::FileChooser - - + + Select a file Izberite datoteko - + Select a directory Izberite mapo @@ -6516,13 +5823,13 @@ Ali želite shraniti spremembe? Gui::FileDialog - + Save as Shrani kot - - + + Open Odpri @@ -6530,12 +5837,12 @@ Ali želite shraniti spremembe? Gui::FileOptionsDialog - + Extended Razširi - + All files (*.*) Vse datoteke (*.*) @@ -6543,27 +5850,27 @@ Ali želite shraniti spremembe? Gui::Flag - + Top left Zgornji levi - + Bottom left Spodnji levi - + Top right Zgornji desni - + Bottom right Spodnji desni - + Remove Odstrani @@ -6571,22 +5878,22 @@ Ali želite shraniti spremembe? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Tapnite ali kliknite z levo miškino tipko. - + Drag screen with two fingers OR press right mouse button. Povlecite po zaslonu z dvema prstoma ali kliknite z desno miškino tipko. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Povlecite po zaslonu z enim prstom ali kliknite z levo miškinio tipko. V očrtovalniku in drugih načinih urejanja pridržite še tipko Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Uščipnite (na zaslonu dva prsta povlecite skupaj ali narazen), zavrtite miškino kolesce ali na tipkovnici pritisnite Stran ↑/Stran ↓. @@ -6594,74 +5901,74 @@ Ali želite shraniti spremembe? Gui::GraphvizView - + Graphviz not found Graphviza ni mogoče najti - + Graphviz couldn't be found on your system. Programa Graphviz ni bilo mogoče najti v vašem sistemu. - + Read more about it here. Več preberite tukaj. - + Do you want to specify its installation path if it's already installed? Ali želite določiti namestitveno mesto, če je že nameščen? - + Graphviz installation path Namestitvena pot Graphviza - + Graphviz failed Graphvizu je spodletelo - + Graphviz failed to create an image file Graphvizu ni uspelo ustvariti slikovne datoteke - + PNG format PNG zapis - + Bitmap format Zapis točkovne slike - + GIF format GIF zapis - + JPG format JPG zapis - + SVG format SVG zapis - - + + PDF format PDF zapis - - + + Export graph Izvozi graf @@ -6669,12 +5976,12 @@ Ali želite shraniti spremembe? Gui::InputField - + Edit Uredi - + Save value Shrani vrednost @@ -6682,22 +5989,22 @@ Ali želite shraniti spremembe? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Pritisnite CTRL in levo miškino tipko - + Press middle mouse button Pritisnite srednjo miškino tipko - + Press left mouse button - Pritisnite levo miškino tipko + Pritisnite levi miškin gumb - + Scroll middle mouse button Zavrtite kolesce na miški @@ -6705,7 +6012,7 @@ Ali želite shraniti spremembe? Gui::LabelEditor - + List Seznam @@ -6713,66 +6020,66 @@ Ali želite shraniti spremembe? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Uporabniško določeno... - + - - + + Wrong direction Napačna smer - + - - + + Direction must not be the null vector Smer ne sme biti ničelni vektor @@ -6780,40 +6087,40 @@ Ali želite shraniti spremembe? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: - Direction: + Smer: Gui::MacroCommand - + Macros Makri - + Macro file doesn't exist Datoteka makra ne obstaja - + No such macro file: '%1' Ni datoteke makra: '%1' @@ -6821,63 +6128,73 @@ Ali želite shraniti spremembe? Gui::MainWindow - - + + Dimension Mera - + Ready Pripravljen - + Help addon needed! Potreben je dodatek za pomoč! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager %1 sistem pomoči sedaj upravlja dodatek "Pomoč". Zlahka ga lahko namestite z upravljalnikom dodatkov - + Open Addon Manager Odpri upravljalnik dodatkov - + Close All Zapri vse - - + + Toggles this toolbar Preklopi to orodno vrstico - - + + Toggles this dockable window Preklopi to usidrivo okno - - + + WARNING: This is a development version. + OPOZORILO: To je razvojna različica. + + + + Please do not use in a production environment. + Ne uporabljajte v proizvodnih okoljih. + + + + Unsaved document Neshranjen dokument - + The exported object contains external link. Please save the documentat least once before exporting. Izvoženi predmet vsebuje zunanje povezave. Pred izvažanjem shranite dokument vsaj enkrat. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Za povezovanje na zunanje predmete mora biti dokument shranjen vsaj enkrat. @@ -6887,63 +6204,63 @@ Ali želite shraniti dokument zdaj? Gui::ManualAlignment - - - - - + + + + + Manual alignment Ročna poravnava - + The alignment is already in progress. Poravnava je že v teku. - + Alignment[*] Poravnava[*] - + Please, select at least one point in the left and the right view Izberite vsaj eno točko v levem in desnem pogledu - + Please, select at least %1 points in the left and the right view Izberite vsaj %1 točk v levem in desnem pogledu - + Please pick points in the left and right view Izberite točke v levem in desnem pogledu - + The alignment has finished Poravnava je končana - + The alignment has been canceled Poravnava je bila preklicana - - + + Too few points picked in the left view. At least %1 points are needed. V levem pogledu ste izbrali premalo točk. Potrebnih je najmanj %1 točk. - - + + Too few points picked in the right view. At least %1 points are needed. V desnem pogledu ste izbrali premalo točk. Potrebnih je najmanj %1 točk. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6952,59 +6269,59 @@ V levem pogledu ste izbrali %1 točk, v desnem pa %2 točk. - + Try to align group of views Poizkusite poravnati skupino pogledov - + The alignment failed. How do you want to proceed? Poravnava spodletela. Kako želite nadaljevati? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. V levem in desnem pogledu ste izbrali različno število točk. V levem pogledu ste izbrali %1 točk, v desnem pa %2 točk. - + Point_%1 Točka_%1 - + Point picked at (%1,%2,%3) Točka izbrana na (%1,%2,%3) - + No point was found on model Ni najdenih točk na modelu - + No point was picked Ni izbranih točk - + &Align &Poravnava - + &Remove last point &Odstrani zadnjo točko - + &Cancel &Prekliči - + &Synchronize views &Uskladi poglede @@ -7012,22 +6329,22 @@ Kako želite nadaljevati? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Tapnite ali kliknite z levo miškino tipko. - + Drag screen with two fingers OR press ALT + middle mouse button. Povlecite po zaslonu z dvema prstoma ali pritisnite Alt + srednjo miškino tipko. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Povlecite po zaslonu z enim prstom ali pritisnite Alt + levo miškino tipko. V očrtovalniku in drugih načinih urejanja pridržite še gumb Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Uščipnite (na zaslonu dva prsta povlecite skupaj ali narazen), zavrtite miškino kolesce, pritisnite Alt + desno miškino tipko ali na tipkovnici pritisnite Stran ↑/Stran ↓. @@ -7035,7 +6352,7 @@ Kako želite nadaljevati? Gui::ModifierLineEdit - + Press modifier keys Pritisni spremenilne tipke @@ -7051,22 +6368,22 @@ Kako želite nadaljevati? Gui::OpenCascadeNavigationStyle - + Press left mouse button - Pritisnite levo miškino tipko + Pritisnite levi miškin gumb - + Press CTRL and middle mouse button Pritisnite Ctrl in srednjo miškino tipko - + Press CTRL and right mouse button Pritisnite CTRL in levo miškino tipko - + Press CTRL and left mouse button Pritisnite CTRL in levo miškino tipko @@ -7074,22 +6391,22 @@ Kako želite nadaljevati? Gui::OpenSCADNavigationStyle - + Press left mouse button - Pritisnite levo miškino tipko + Pritisnite levi miškin gumb - + Press right mouse button and move mouse Pritisnite desni miškin gum in premaknite miško - + Press left mouse button and move mouse Pritisnite levi miškin gum in premaknite miško - + Press middle mouse button or SHIFT and right mouse button Pritisnite srednji miškin gum ali PREMAKNI in desni miškin gumb @@ -7097,17 +6414,17 @@ Kako želite nadaljevati? Gui::PrefQuantitySpinBox - + Edit Uredi - + Save value Shrani vrednost - + Clear list Počisti seznam @@ -7138,12 +6455,12 @@ Kako želite nadaljevati? Preostane: %1 - + Aborting Prekinjanje - + Do you really want to abort the operation? Ali res želite prekiniti opravilo? @@ -7151,7 +6468,7 @@ Kako želite nadaljevati? Gui::PropertyEditor::LinkLabel - + Change the linked object Spremeni povezan predmet @@ -7159,12 +6476,12 @@ Kako želite nadaljevati? Gui::PropertyEditor::LinkSelection - + Error Napaka - + Object not found Predmeta ni bilo mogoče najti @@ -7235,13 +6552,13 @@ Kako želite nadaljevati? Gui::PropertyView - + View Pogled - + Data Podatki @@ -7289,77 +6606,77 @@ Ali želite končati ne da bi shranili podatke? Neobravnavana izjema C++. - + &Copy &Kopiraj - + &Copy command &Kopiraj ukaz - + &Copy history &Kopiraj zgodovino - + Save history as... Shrani zgodovino kot... - + Save history Shrani zgodovino - + Saves Python history across %1 sessions Shrani %1 sej Pythonove zgodovine - + &Paste &Prilepi - + Select All Izberi vse - + Clear console Počisti ukazno mizo - + Insert file name... Vstavite ime datoteke ... - + Word wrap Prelom besed - + Save History Shrani zgodovino - + Macro Files Datoteke makra - + Insert file name Vstavite ime datoteke - + All Files Vse datoteke @@ -7367,7 +6684,7 @@ Ali želite končati ne da bi shranili podatke? Gui::PythonEditor - + Comment Opomba @@ -7380,17 +6697,17 @@ Ali želite končati ne da bi shranili podatke? Gui::RecentFilesAction - + Open file %1 Odpri datoteko %1 - + File not found Datoteke ni mogoče najti - + The file '%1' cannot be opened. Datoteke '%1' ni mogoče odpreti. @@ -7398,22 +6715,22 @@ Ali želite končati ne da bi shranili podatke? Gui::RecentMacrosAction - + none - nobeden + brez - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Zaženi makro %1 (PREMAKNI+kliknite za urejanje) tipkovna bližnjica: %2 - + File not found Datoteke ni mogoče najti - + The file '%1' cannot be opened. Datoteke '%1' ni mogoče odpreti. @@ -7421,22 +6738,22 @@ Ali želite končati ne da bi shranili podatke? Gui::RevitNavigationStyle - + Press left mouse button - Pritisnite levo miškino tipko + Pritisnite levi miškin gumb - + Press middle mouse button Pritisnite srednjo miškino tipko - + Press SHIFT and middle mouse button - Pritisnite Shift in srednjo miškino tipko + Pritisnite PREMAKNI in srednjo miškino tipko - + Scroll middle mouse button Zavrtite kolesce na miški @@ -7446,7 +6763,7 @@ Ali želite končati ne da bi shranili podatke? Previous - Predhodni + Predhodno @@ -7467,17 +6784,17 @@ Ali želite končati ne da bi shranili podatke? Gui::SelectModule - + Select module Izberite modul - + Open %1 as Odpri %1 kot - + Select Izberite @@ -7546,13 +6863,13 @@ Ali želite navesti drugo mapo? Gui::StdCmdPythonHelp - + Automatic python modules documentation Dokumentacija o samodejnih modulih Python - - + + Opens a browser to show the Python modules documentation Odpre brskalnik za prikaz dokumentacije o modulih Python @@ -7570,7 +6887,7 @@ Ali želite navesti drugo mapo? Position - Position + Položaj @@ -7660,7 +6977,7 @@ Ali želite navesti drugo mapo? Point size: - Velikost točke: + Velikost pike: @@ -7678,7 +6995,7 @@ Ali želite navesti drugo mapo? A dialog is already open in the task panel - A dialog is already open in the task panel + Pogovorno okno je že odprto v podoknu nalog @@ -7705,38 +7022,38 @@ Ali želite navesti drugo mapo? Gui::TextDocumentEditorView - + Text updated Besedilo posodobljeno - + The text of the underlying object has changed. Discard changes and reload the text from the object? Besedilo osnovnega predmeta je bilo spremenjeno. Želite zavreči spremembe in znova naložiti besedilo iz predmeta? - + Yes, reload. Da, ponovno naloži. - + Unsaved document Neshranjen dokument - + Do you want to save your changes before closing? Ali želite pred zapiranjem shraniti spremembe? - + If you don't save, your changes will be lost. Če ne shranite, bodo spremembe izgubljene. - - + + Edit text Uredi besedilo @@ -7744,22 +7061,22 @@ Ali želite navesti drugo mapo? Gui::TinkerCADNavigationStyle - + Press left mouse button - Pritisnite levo miškino tipko + Pritisnite levi miškin gumb - + Press middle mouse button Pritisnite srednjo miškino tipko - + Press right mouse button Pritisni desni miškin gumb - + Scroll middle mouse button Zavrtite kolesce na miški @@ -7767,22 +7084,22 @@ Ali želite navesti drugo mapo? Gui::TouchpadNavigationStyle - + Press left mouse button Pritisnite levo miškino tipko - + Press SHIFT button Pritisnite Premakni (Shift) - + Press ALT button Pritisnite Alt - + Press CTRL and SHIFT buttons Pritisnite Ctrl in Premakni (Shift) @@ -8008,7 +7325,7 @@ Ali želite navesti drugo mapo? Gui::TreeDockWidget - + Tree view Drevesni prikaz @@ -8016,7 +7333,7 @@ Ali želite navesti drugo mapo? Gui::TreePanel - + Search Poišči @@ -8024,183 +7341,183 @@ Ali želite navesti drugo mapo? Gui::TreeWidget - + Search... Iskanje ... - + Search for objects Išči predmete - + Activate document Aktiviraj dokument - + Activate document %1 Aktiviranje dokumente %1 - + Tree settings Nastavitve drevesa - + Show description column Prikaži opisni stolpec - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Prikaži dodatni stolpec drevesnega pogleda za prikaz opisa predmeta. Opis predmeta je mogoče nastaviti s pritiskom na F2 (ali urejevalni gumb vašega OS) ali z urejanjem lastnosti "oznake2". - + Group Skupina - + Labels & Attributes Oznake in značilke - + Description Opis - + Show items hidden in tree view Prikaži predmete, skrite v drevesnem pogledu - + Show items that are marked as 'hidden' in the tree view Prikaži predmete, ki so v drevesnem pogledu označeni kot "skriti" - + Toggle visibility in tree view Preklopi vidnost v drevesnem pogledu - + Toggles the visibility of selected items in the tree view Preklopi vidnost izbranih predmetov v drevesnem pogledu - + Create group... Ustvari skupino … - + Create a group Ustvarite skupino - - + + Rename Preimenuj - + Rename object Preimenuj predmet - + Finish editing Zaključi urejanje - + Finish editing object Zaključi urejanje predmeta - + Add dependent objects to selection Dodaj izboru odvisne predmete - + Adds all dependent objects to the selection Doda izboru vse odvisne predmete - + Close document Zapri dokument - + Close the document Zapri dokument - + Reload document Ponovno naloži dokument - + Reload a partially loaded document Ponovno naloži delno naložen dokument - + Skip recomputes Preskoči ponovne preračune - + Enable or disable recomputations of document Omogoči ali onemogoči ponovni preračun dokumenta - + Allow partial recomputes Dovoli delno praračunavanje - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Omogoči ali onemogoči preračunavanje urejevanih predmetov, ko je onemogočeno "Preskoči preračunavanje" - + Mark to recompute Označi za ponovni izračun - + Mark this object to be recomputed Označi ta predmet za ponovni preračun - + Recompute object Preračunaj predmete - + Recompute the selected object Preračunaj izbranie predmet - + (but must be executed) (vendar mora biti izvedeno) - + %1, Internal name: %2 %1, Notranje ime: %2 @@ -8223,7 +7540,7 @@ Ali želite navesti drugo mapo? Export PDF - Izvoz PDF + Izvozi v PDF @@ -8231,12 +7548,12 @@ Ali želite navesti drugo mapo? Datoteka PDF - + Opening file failed Odpiranje datoteke ni uspelo - + Can't open file '%1' for writing. Datoteke '%1' ni mogoče odpreti za pisanje. @@ -8244,7 +7561,7 @@ Ali želite navesti drugo mapo? Gui::WorkbenchGroup - + Select the '%1' workbench Izberite delovno okolje '%1' @@ -8252,37 +7569,37 @@ Ali želite navesti drugo mapo? MAC_APPLICATION_MENU - + Services Storitve - + Hide %1 Skrij %1 - + Hide Others Skrij ostale - + Show All Prikaži vse - + Preferences... Prednastavitve ... - + Quit %1 Končaj %1 - + About %1 O %1u @@ -8302,11 +7619,6 @@ Ali želite navesti drugo mapo? Position - - - Form - Oblika - X: @@ -8401,14 +7713,14 @@ Ali želite navesti drugo mapo? PropertyListDialog - - + + Invalid input Neveljaven vnos - - + + Input in line %1 is not a number Vnos v vrstici %1 ni število @@ -8416,37 +7728,37 @@ Ali želite navesti drugo mapo? QDockWidget - + Tree view Drevesni prikaz - + Property view Pogled z lastnostmi - + Selection view Pogled na izbor - + Combo View Sestavljen pogled - + DAG View DAG pogled - + Report view Poročevalni pogled - + Python console Pythonova ukazna miza @@ -8459,33 +7771,34 @@ Ali želite navesti drugo mapo? QObject - - - General - Splošne nastavitve - - + General + Splošno + + + + + Display Prikaz - + Workbenches Delovna okolja - - - + + + Python - Python + Python @@ -8511,17 +7824,27 @@ Ali želite navesti drugo mapo? Ni mogoče shraniti v neznano vrsto datoteke: %1 - + Workbench failure Napaka delovnega okolja - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Izjema @@ -8567,8 +7890,8 @@ Ali želite navesti drugo mapo? Izvažanje PDF... - + Unsaved document Neshranjen dokument @@ -8589,39 +7912,39 @@ Ali želite navesti drugo mapo? Napaka odvisnosti - + Copy selected Kopiraj izbrano - + Copy active document Kopiraj dejavni dokument - + Copy all documents Kopiraj vse dokumente - + Paste Prilepi - + Expression error Napaka izraza - + Failed to parse some of the expressions. Please check the Report View for more details. Nekaterh izrazov ni bilo mogoče razčleniti. Za več podrobnosti poglejte Poročevalni pogled. - + Failed to paste expressions Izraza ni bilo mogoče prilepiti @@ -8640,7 +7963,7 @@ Za več podrobnosti poglejte Poročevalni pogled. Wrong selection - Napačna izbira + Napačen izbor @@ -8657,225 +7980,225 @@ Be aware the point where you click matters. Upoštevajte, da je mesto klika pomembno. - - + + Save views... Shrani poglede … - - + + Load views... Naloži poglede … - - + + Freeze view Zamrzni pogled - - + + Clear views Počisti poglede - - - + + + Restore view &%1 Obnovi pogled &%1 - + Save frozen views Shrani zamrznjene poglede - - + + Frozen views Zamrznjeni pogledi - - + + Restore views Obnovi poglede - + Importing the restored views would clear the already stored views. Do you want to continue? Uvoz obnovljenih pogledov bo izbrisal že shranjene poglede. Ali želite nadaljevati? - + Restore frozen views Obnovi zamrznjene poglede - + Cannot open file '%1'. Datoteke '%1' ni mogoče odpreti. - + files datotek - + Save image Shrani sliko - + Choose an image file to open Izberite sliko, ki jo želite odpreti - + New sub-group Nova podskupina - - - - - - + + + + + + Enter the name: Vnesite ime: - - + + New text item Nov predmet besedila - - + + Enter your text: Vnesite besedilo: - - + + New integer item Nov predmet celega števila - - - - - - + + + + + + Enter your number: Vnesite število: - - + + New unsigned item Nov nepodpisan predmet - - + + New float item Nov pred. s plavajočo vejico - + New Boolean item Nov logični predmet - - + + Choose an item: Izberite predmet: - + New boolean item Nov logični predmet - + Rename group Preimenuj skupino - + The group '%1' cannot be renamed. Skupine '%1' ni mogoče preimenovati. - + Existing group Obstoječa skupina - + The group '%1' already exists. Skupina '%1' že obstaja. - - - - - + + + + + Change value Spremeni vrednost - + Type Vrsta - + Notifier Obvestilnik - + Message Sporočilo - + Notifier: Obvestilnik: - + Do you want to skip confirmation of further critical message notifications while loading the file? Ali želite pri nalaganu datotek v bodoče preskočiti potrditev obvestil o usodnih sporočilih? - + Critical Message Kritično sporočilo - + Too many opened non-intrusive notifications. Notifications are being omitted! Preveč odprtih nevsivljivih obvestil. Obvestila so prezrta! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8884,44 +8207,44 @@ Ali želite nadaljevati? - + Are you sure you want to continue? Ali ste prepričani da želite nadaljevati? - + Please check report view for more... Za več informacij poglejte poročevalni pogled ... - + Physical path: Tvarna pot: - - + + Document: Dokument: - - + + Path: Pot: - + Identical physical path Enaka tvarna pot - + Could not save document Dokumenta ni bilo mogoče shraniti - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8934,102 +8257,102 @@ Would you like to save the file with a different name? Ali želite datoteko shraniti z drugačnim imenom? - - - + + + Saving aborted Shranjevanje prekinjeno - + Save dependent files Shrani odvisne datoteke - + The file contains external dependencies. Do you want to save the dependent files, too? Datoteka vsebuje zunanje odvisnosti. Ali želite shraniti tudi odvisne datoteke? - - + + Saving document failed Shranjevanje dokumenta spodletelo - + Save document under new filename... Shrani dokument z novim imenom datoteke … - - + + Save %1 Document Shrani dokument %1 - + Document Dokument - - + + Failed to save document Shranjevanje dokumenta spodletelo - + Documents contains cyclic dependencies. Do you still want to save them? Dokumenti vsebujejo krožne odvisnosti. Jih vseeno želite shraniti? - + Save a copy of the document under new filename... Shrani dvojnik dokumenta z novim imenom … - + %1 document (*.FCStd) Dokument %1 (*.FCStd) - + Document not closable Dokumenta ni mogoče zapreti - + The document is not closable for the moment. Dokumenta trenutno ni mogoče zapreti. - + Document not saved Dokument ni shranjen - + The document%1 could not be saved. Do you want to cancel closing it? Dokumenta%1 ni bilo mogoče shraniti. Ali želite preklicati zapiranje? - + Undo Razveljavi - + Redo - Uveljavi + Ponovno uveljavi - + There are grouped transactions in the following documents with other preceding transactions V sledečih dokumentih so skupinske izmenjava z drugimi predhodnimi izmenjavami - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9043,47 +8366,47 @@ Izberite "Prekini" za prekinitev Shrani makro - - + + Finish Končaj - - + + Clear Počisti - - - + + + Cancel Prekliči - + Inner Notranji - + Outer Zunanji - + Split Razdeli - - + + No Browser Ni brskalnika - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9092,48 +8415,48 @@ Please open a browser window and type in: http://localhost:%1. Odprite brskalnik in vtipkajte: http://localhost:%1. - + No Server Ni strežnika - + Unable to start the server to port %1: %2. Strežnika na vratih %1 ni mogoče začeti: %2. - + Unable to open your system browser. Sistemskega brskalnika ni mogoče odpreti. - + Options... Možnosti ... - + Out of memory Zmanjkalo je pomnilnika - + Not enough memory available to display the data. Ni dovolj pomnilnika za prikaz podatkov. - - + + Cannot find file %1 Datoteke %1 ni mogoče najti - + Cannot find file %1 neither in %2 nor in %3 Datoteke %1 ni mogoče najti v %2 niti v %3 - + Navigation styles Slogi krmarjenja @@ -9143,53 +8466,53 @@ Odprite brskalnik in vtipkajte: http://localhost:%1. Premakni opis - - + + Transform Preoblikuj Do you want to close this dialog? - Do you want to close this dialog? + Ali želite zapreti to pogovorno okno? - + Do you want to save your changes to document '%1' before closing? Ali želite pred zapiranjem shraniti spremembe dokumenta '%1'? - + Do you want to save your changes to document before closing? Ali želite pred zapiranjem shraniti spremembe dokumenta? - + If you don't save, your changes will be lost. Če ne shranite, bodo spremembe izgubljene. - + Apply answer to all Uporabi odgovor za vse - + %1 Document(s) not saved %1 Dokumenti niso shranjeni - + Some documents could not be saved. Do you want to cancel closing? Določenih dokumentov se ni dalo zapreti. Ali želite preklicati zapiranje? - + Delete macro Izbriši makro - + Not allowed to delete system-wide macros Sistemskih makrov ni dovoljeno izbrisati @@ -9199,27 +8522,27 @@ Odprite brskalnik in vtipkajte: http://localhost:%1. Izhodišče - + Delete group content? Izbriši vsebino skupine? - + The %1 is not empty, delete its content as well? %1 ni prazna, brisanje tudi njene vsebine? - + Translation: Vzporedni premik: - + Rotation: Sukanje: - + Toggle active part Preklopi dejavni del @@ -9282,88 +8605,88 @@ Odprite brskalnik in vtipkajte: http://localhost:%1. Uvažanje vseh povezav je spodletelo - - + + Invalid name Neveljavno ime - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Ime lastnosti ali skupine lahko vsebuje le črkovno-številčne znake in podčrtaj ter se ne smo začeti s števko. - + The property '%1' already exists in '%2' Lastnost '%1' že obstaja v '%2' - + Add property Dodaj lastnost - + Failed to add property to '%1': %2 Ni bilo mogoče dodati lastnosti v '%1': %2 - - + + Drag & drop failed Povleci-spusti spodletelo - + Setup configurable object Nastavitev nastavljivih predmetov - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Izberite, katere predmete kopirati oz. izvzeti, ko se nastavitev spremeni. Vsi zunanji povezani predmeti so privzeto izvzeti. - + Please select which objects to copy when the configuration is changed Izberite, katere predmete želite kopirati, ko je nastavitev spremenjena - + Apply to all Uveljavi za vse - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Uveljavi nastavitev za vse povezave ali odkljukaj to možnost, če želite uveljaviti le za to povezavo. - + Copy on change Kopiraj ob spremembi - + Enable Omogoči - + Enable auto copy of linked object when its configuration is changed Omogoči samodejno kopiranje povezanih predmetov, ko se njihova nastavitev spremeni - + Tracking Sledenje - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9372,17 +8695,17 @@ Prav tako samodejno ponovno kopiraj, če se izvirni povezani predmet spremeni. - + Disable copy on change Onemogoči kopiranje ob spremembi - + Refresh configurable object Osveži nastavljive predmete - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9393,28 +8716,28 @@ bodo izgubljene. - + Toggle array elements Preklopi med prvinami razpostavitve - + Change whether show each link array element as individual objects Spremenite, če želite vsak primerek vezane razpostavitve prikazati kot samostojen predmet - + Transform at the origin of the placement Preoblikuj na izhodišču postavitve - - + + Override colors... Povozi barve ... - + Edit %1 Uredi %1 @@ -9437,12 +8760,12 @@ bodo izgubljene. SelectionFilter - + Not allowed: Ni dovoljeno: - + Selection not allowed by filter Sito ne dovoljuje izbora @@ -9450,9 +8773,9 @@ bodo izgubljene. StdBoxElementSelection - - - + + + Box element selection Izbiranje predmetov s kvadrom @@ -9460,13 +8783,13 @@ bodo izgubljene. StdBoxSelection - + Box selection Izbirni kvader - - + + Activate the box selection tool Omogoči izbirni kvader @@ -9544,13 +8867,13 @@ bodo izgubljene. StdCmdAxisCross - + Toggle axis cross Preklopi križ osi - - + + Turns on or off the axis cross at the origin Vključi oz. izključi križ osi v izhodišču @@ -9656,13 +8979,13 @@ bodo izgubljene. StdCmdDemoMode - + View turntable... Pokaži sukajočo ploščo … - - + + View turntable Pokaži sukajočo ploščo @@ -9770,7 +9093,7 @@ bodo izgubljene. Panels - Plošče + Podokna @@ -9782,13 +9105,13 @@ bodo izgubljene. StdCmdDrawStyle - + Draw style Slog risanja - - + + Change the draw style of the objects Spremeni slog risanja predmetov @@ -9852,13 +9175,13 @@ bodo izgubljene. StdCmdExpression - + Expression actions Dejanja izrazov - - + + Actions that apply to expressions Dejanja, ki veljajo za izraze @@ -9975,13 +9298,13 @@ bodo izgubljene. StdCmdFreezeViews - + Freeze display Zamrzni prikaz - - + + Freezes the current view position Zamrzne trenutno postavitev pogleda @@ -10002,13 +9325,13 @@ bodo izgubljene. StdCmdHideObjects - + Hide all objects Skrij vse predmete - - + + Hide all objects in the document Skrij vse predmete dokumenta @@ -10016,13 +9339,13 @@ bodo izgubljene. StdCmdHideSelection - + Hide selection Skrij izbor - - + + Hide all selected objects Skrij vse izbrane predmete @@ -10248,7 +9571,7 @@ bodo izgubljene. Step to the next line executed - Step to the next line executed + Korak v naslednjo vrstico izveden @@ -10262,7 +9585,7 @@ bodo izgubljene. Step to the next line in this file - Step to the next line in this file + Korak v naslednjo vrstico v tej datoteki @@ -10296,13 +9619,13 @@ bodo izgubljene. StdCmdMeasureDistance - + Measure distance Izmeri razdaljo - - + + Activate the distance measurement tool Omogoči merilnik razdalje @@ -10361,8 +9684,8 @@ bodo izgubljene. Ustvari nov, prazen dokument - - + + Unnamed Neimenovan @@ -10590,8 +9913,8 @@ bodo izgubljene. StdCmdRecentFiles - Recent files - Nedavne datoteke + Open Recent + Odpri nedavne @@ -10729,13 +10052,13 @@ bodo izgubljene. StdCmdSceneInspector - + Scene inspector... Preglednik torišč … - - + + Scene inspector Preglednik torišč @@ -10743,13 +10066,13 @@ bodo izgubljene. StdCmdSelBack - + &Back Naza&j - - + + Go back to previous selection Pojdi na prejšnji izbor @@ -10757,13 +10080,13 @@ bodo izgubljene. StdCmdSelBoundingBox - + &Bounding box &Očrtni kvader - - + + Show selection bounding box Prikaži očrtni kvader izbora @@ -10771,13 +10094,13 @@ bodo izgubljene. StdCmdSelForward - + &Forward &Naprej - - + + Repeat the backed selection Ponovi podprt izbor @@ -10799,13 +10122,13 @@ bodo izgubljene. StdCmdSelectVisibleObjects - + Select visible objects Izberi vidne predmete - - + + Select visible objects in the active document Izberi vidne predmete v dejavnem dokumentu @@ -10827,13 +10150,13 @@ bodo izgubljene. StdCmdSetAppearance - + Appearance... Videz … - - + + Sets the display properties of the selected object Nastavi lastnosti prikaza izbranega predmeta @@ -10841,13 +10164,13 @@ bodo izgubljene. StdCmdShowObjects - + Show all objects Prikaži vse predmete - - + + Show all objects in the document Prikaži vse opredmete dokumenta @@ -10855,13 +10178,13 @@ bodo izgubljene. StdCmdShowSelection - + Show selection Prikaži izbor - - + + Show all selected objects Prikaži vse izbrane predmete @@ -10897,13 +10220,13 @@ bodo izgubljene. StdCmdTextureMapping - + Texture mapping... Preslikava ustroja … - - + + Texture mapping Preslikava ustroja @@ -10939,13 +10262,13 @@ bodo izgubljene. StdCmdToggleClipPlane - + Clipping plane Prerezna ravnina - - + + Toggles clipping plane for active view Preklopi prerezno ravnino dejavnega pogleda @@ -10953,13 +10276,13 @@ bodo izgubljene. StdCmdToggleNavigation - + Toggle navigation/Edit mode Preklopi krmarjenje/način urejanja - - + + Toggle between navigation and edit mode Preklopi med krmarjenjem in načinom urejanja @@ -10967,13 +10290,13 @@ bodo izgubljene. StdCmdToggleObjects - + Toggle all objects Preklopi vse predmete - - + + Toggles visibility of all objects in the active document Preklopi vidnost vseh predmetov v dejavnem dokumentu @@ -10981,13 +10304,13 @@ bodo izgubljene. StdCmdToggleSelectability - + Toggle selectability Preklopi izbirnost - - + + Toggles the property of the objects to get selected in the 3D-View Preklopi lastnost predmetov za izbiro v pogledu 3D @@ -10995,13 +10318,13 @@ bodo izgubljene. StdCmdToggleVisibility - + Toggle visibility Preklopi vidnost - - + + Toggles visibility Preklopi vidnost @@ -11051,13 +10374,13 @@ bodo izgubljene. StdCmdTreeCollapse - + Collapse selected item Zloži izbrani predmet - - + + Collapse currently selected tree items Zloži trenutno izbrane predmete drevesa @@ -11065,13 +10388,13 @@ bodo izgubljene. StdCmdTreeExpand - + Expand selected item Razširi izbrani predmet - - + + Expand currently selected tree items Razširi trenutno izbrane predmete drevesa @@ -11079,13 +10402,13 @@ bodo izgubljene. StdCmdTreeSelectAllInstances - + Select all instances Izberi vse primerke - - + + Select all instances of the current selected object Izberi vse primerke trenutno izbranega predmeta @@ -11093,13 +10416,13 @@ bodo izgubljene. StdCmdTreeViewActions - + TreeView actions Dejanja drevesnega prikaza - - + + TreeView behavior options and actions Možnost odzivanja in dejanj drevesnega prikaza @@ -11163,13 +10486,13 @@ bodo izgubljene. StdCmdViewBottom - + Bottom Spodaj - - + + Set to bottom view Nastavi na spodnji pogled @@ -11177,13 +10500,13 @@ bodo izgubljene. StdCmdViewCreate - + Create new view Ustvari nov pogled - - + + Creates a new view window for the active document Ustvari okno z novim pogledom za dejavni dokument @@ -11191,13 +10514,13 @@ bodo izgubljene. StdCmdViewDimetric - + Dimetric Dimetrična - - + + Set to dimetric view Nastavi na dvomeren pogled @@ -11205,13 +10528,13 @@ bodo izgubljene. StdCmdViewExample1 - + Inventor example #1 1. primer Inventorja - - + + Shows a 3D texture with manipulator Prikaže 3D ustroj z obdelovalnikom @@ -11219,13 +10542,13 @@ bodo izgubljene. StdCmdViewExample2 - + Inventor example #2 2. primer Inventorja - - + + Shows spheres and drag-lights Prikaže krogle in vire svetlobe @@ -11233,13 +10556,13 @@ bodo izgubljene. StdCmdViewExample3 - + Inventor example #3 3. primer Inventorja - - + + Shows a animated texture Prikaže animiran ustroj @@ -11247,13 +10570,13 @@ bodo izgubljene. StdCmdViewFitAll - + Fit all Pokaži vse - - + + Fits the whole content on the screen Prilagodi vso vsebino na zaslon @@ -11261,13 +10584,13 @@ bodo izgubljene. StdCmdViewFitSelection - + Fit selection Pokaži izbor - - + + Fits the selected content on the screen Prilagodi izbrano vsebino na zaslon @@ -11275,13 +10598,13 @@ bodo izgubljene. StdCmdViewFront - + Front Spredaj - - + + Set to front view Nastavi na sprednji pogled @@ -11289,13 +10612,13 @@ bodo izgubljene. StdCmdViewHome - + Home Domov - - + + Set to default home view Nastavi privzeti domači pogled @@ -11303,13 +10626,13 @@ bodo izgubljene. StdCmdViewIsometric - + Isometric Izometrična - - + + Set to isometric view Nastavi na izometričen pogled @@ -11317,13 +10640,13 @@ bodo izgubljene. StdCmdViewIvIssueCamPos - + Issue camera position Sporoči položaj kamere - - + + Issue the camera position to the console and to a macro, to easily recall this position Sporoči položaj kamere konzoli in makru za enostavno obnovitev tega položaja @@ -11331,13 +10654,13 @@ bodo izgubljene. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Dvovidno prepletanje stolpcev - - + + Switch stereo viewing to Interleaved Columns Preklopi dvovidni pogled na prepletanje stolpcev @@ -11345,13 +10668,13 @@ bodo izgubljene. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Dvovidno prepletanje vrstic - - + + Switch stereo viewing to Interleaved Rows Preklopi dvovidni pogled na prepletanj vrstic @@ -11359,13 +10682,13 @@ bodo izgubljene. StdCmdViewIvStereoOff - + Stereo Off Izklopi dvovidnost - - + + Switch stereo viewing off Izklopi dvovidni pogled @@ -11373,13 +10696,13 @@ bodo izgubljene. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Štirikratni medpomnilnik dvovidnosti - - + + Switch stereo viewing to quad buffer Preklopi dvovidni pogled na štirikratni medpomnilnik @@ -11387,13 +10710,13 @@ bodo izgubljene. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Rdeče-sinja dvovidnost - - + + Switch stereo viewing to red/cyan Preklopi dvovidni pogled na rdeče-sinji način @@ -11401,13 +10724,13 @@ bodo izgubljene. StdCmdViewLeft - + Left Levo - - + + Set to left view Nastavi na levi pogled @@ -11415,13 +10738,13 @@ bodo izgubljene. StdCmdViewRear - + Rear Zadaj - - + + Set to rear view Nastavi na pogled od zadaj @@ -11443,13 +10766,13 @@ bodo izgubljene. StdCmdViewRight - + Right Desno - - + + Set to right view Nastavi na desni pogled @@ -11457,13 +10780,13 @@ bodo izgubljene. StdCmdViewRotateLeft - + Rotate Left Zasukaj levo - - + + Rotate the view by 90° counter-clockwise Zasukaj pogled za 90° v naspr. smeri ur. kazalca @@ -11471,13 +10794,13 @@ bodo izgubljene. StdCmdViewRotateRight - + Rotate Right Zasukaj desno - - + + Rotate the view by 90° clockwise Zasukaj pogled za 90° v smeri ur. kazalca @@ -11499,13 +10822,13 @@ bodo izgubljene. StdCmdViewTop - + Top Zgoraj - - + + Set to top view Nastavi na zgornji pogled @@ -11513,13 +10836,13 @@ bodo izgubljene. StdCmdViewTrimetric - + Trimetric Trimetrična - - + + Set to trimetric view Nastavi na trimetričen pogled @@ -11527,13 +10850,13 @@ bodo izgubljene. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Razširi okno 3D FreeCAD na Oculus Rift @@ -11597,13 +10920,13 @@ bodo izgubljene. StdMainFullscreen - + Fullscreen - Celozaslonski način + Celozaslonsko - - + + Display the main window in fullscreen mode Prikaži glavno okno v celozaslonskem načinu @@ -11639,13 +10962,13 @@ bodo izgubljene. StdRecallWorkingView - + Recall working view Priklic delovnega pogleda - - + + Recall previously stored temporary working view Prikliči predhodno shranjeno začasni delovni pogled @@ -11653,13 +10976,13 @@ bodo izgubljene. StdStoreWorkingView - + Store working view Shrani delovni pogled - - + + Store a document-specific temporary working view Shrani začasni delovni pogled v odvisnosti od dokumenta @@ -11667,13 +10990,13 @@ bodo izgubljene. StdTreeCollapseDocument - + Collapse/Expand Zloži/Razširi - - + + Expand active document and collapse all others Razširi dejavni dokument in zloži vse ostale @@ -11681,12 +11004,12 @@ bodo izgubljene. StdTreeDrag - + Initiate dragging Začni z vlečenjem - + Initiate dragging of current selected tree items Začni vlečenje trenutno izbranih predmetov v drevesu @@ -11694,13 +11017,13 @@ bodo izgubljene. StdTreeMultiDocument - + Multi document Večkraten dokument - - + + Display all documents in the tree view Prikaži vse dokumente v drevesnem prikazu @@ -11708,12 +11031,12 @@ bodo izgubljene. StdTreePreSelection - + Pre-selection Predizbor - + Preselect the object in 3D view when mouse over the tree item Predizberi predmete v prostorskem pogledu, preko katerih se gre v drevesu s kazalko @@ -11721,12 +11044,12 @@ bodo izgubljene. StdTreeRecordSelection - + Record selection Posnemi izbor - + Record selection in tree view in order to go back/forward using navigation button Posnemi izbor v drevesnem prikazu, da se je mogoče s krmilnim gumbom premikati nazaj in naprej @@ -11734,13 +11057,13 @@ bodo izgubljene. StdTreeSelection - + Go to selection Pojdi na izbor - - + + Scroll to first selected item Pomakni se na prvi izbrani predmet @@ -11748,13 +11071,13 @@ bodo izgubljene. StdTreeSingleDocument - + Single document En dokument - - + + Only display the active document in the tree view V drevesnem prikazu kaži le dejavni dokument @@ -11762,12 +11085,12 @@ bodo izgubljene. StdTreeSyncPlacement - + Sync placement Uskladi postavitev - + Auto adjust placement on drag and drop objects across coordinate systems Samodejno prilagodi postavitev pri vlečenju-spuščanju predmetov po koordinatnih sistemih @@ -11775,12 +11098,12 @@ bodo izgubljene. StdTreeSyncSelection - + Sync selection Uskladi izbor - + Auto expand tree item when the corresponding object is selected in 3D view Samodejno razširi predmet v drevesu, ki odgovarja izbranemu predmetu v prostorskem pogledu @@ -11788,12 +11111,12 @@ bodo izgubljene. StdTreeSyncView - + Sync view Uskladi pogled - + Auto switch to the 3D view containing the selected item Samodejno preklopi na prostorski pogled, ki vsebuje izbrani predmet @@ -11801,13 +11124,13 @@ bodo izgubljene. StdViewBoxZoom - + Box zoom Polje povečave - - + + Activate the box zoom tool Omogoči poljno povečevalo @@ -11815,13 +11138,13 @@ bodo izgubljene. StdViewDock - + Docked Usidrano - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaži dejavni pogled v celozaslonskem, odsidranem ali usidranem načinu @@ -11829,13 +11152,13 @@ bodo izgubljene. StdViewDockUndockFullscreen - + Document window Okno dokumenta - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaži dejavni pogled v celozaslonskem, odsidranem ali usidranem načinu @@ -11843,13 +11166,13 @@ bodo izgubljene. StdViewFullscreen - + Fullscreen - Celozaslonski način + Celozaslonsko - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaži dejavni pogled v celozaslonskem, odsidranem ali usidranem načinu @@ -11857,13 +11180,13 @@ bodo izgubljene. StdViewScreenShot - + Save image... Shrani sliko ... - - + + Creates a screenshot of the active view Ustvari zaslonsko sliko dejavnega pogleda @@ -11871,13 +11194,13 @@ bodo izgubljene. StdViewUndock - + Undocked Odsidrano - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaži dejavni pogled v celozaslonskem, odsidranem ali usidranem načinu @@ -11885,13 +11208,13 @@ bodo izgubljene. StdViewZoomIn - + Zoom In Približaj - - + + Increase the zoom factor by a fixed amount Povečaj količnik povečave za nespremenljivo vrednost @@ -11899,13 +11222,13 @@ bodo izgubljene. StdViewZoomOut - + Zoom Out Oddalji - - + + Decrease the zoom factor by a fixed amount Zmanjšaj količnik povečave za nespremenljivo vrednost @@ -11940,72 +11263,72 @@ Ali želite vseeno nadaljevati? Std_DrawStyle - + As is Kot je - + Normal mode Običajni način - + Points Točke - + Points mode Način točk - + Wireframe Žični prikaz - + Wireframe mode Način žičnega modela - + Hidden line Skrita črta - + Hidden line mode Način skritih črt - + No shading Brez senčenja - + No shading mode Način brez senčenja - + Shaded Osenčeno - + Shaded mode Osenčen način - + Flat lines Črtno-senčen - + Flat lines mode Črtno-senčen način @@ -12068,32 +11391,32 @@ Ali želite vseeno nadaljevati? TreeParams - + Tree view item background. Only effective in overlay. Ozadje predmetov drevesnega prikaza. Deluje le pri prekrivanju. - + Tree view item background padding. Zapolnjevanje ozadja predmetov v drevesnem prikazu. - + Hide extra tree view column for item description. Skrij dodatni stolpec drevesnega prikaza z opisom predmeta. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Dovoli ročno spreminjanje velikosti stolpcev drevesnega prikaza. @@ -12101,117 +11424,117 @@ Ali želite vseeno nadaljevati? Workbench - + &File &Datoteka - + &Edit &Uredi - + Edit Uredi - + Clipboard Odložišče - + Workbench Delovno okolje - + Structure Struktura - + Standard views Običajni pogledi - + Axonometric Aksonometrično - + &Stereo D&vovidnost - + &Zoom P&reodmičenje - + Visibility Vidnost - + &View &Pogled - + &Tools &Orodja - + &Macro &Makro - + &Windows O&kna - + &On-line help &Spletna pomoč - + &Help &Pomoč - + Help Pomoč - + File Datoteka - + Macro Makro - + View Pogled - + Special Ops Posebna opravila - + Link actions Dejanja povezav @@ -12219,12 +11542,12 @@ Ali želite vseeno nadaljevati? Gui::MDIView - + Export PDF Izvoz PDF - + PDF file Datoteka PDF @@ -12232,196 +11555,190 @@ Ali želite vseeno nadaljevati? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Obvestišče - + Settings Nastavitve - + The Notification area will appear in the status bar Obvestišče se bo pojavilo v vrstici stanja - + Enable Notification Area Omogoči obvestišče - + Non-intrusive notifications will appear next to the notification area in the status bar Nevsiljiva ovestila bodo prikazana polega obvestišča v vrstici stanja - + Enable non-intrusive notifications Omogoči nevsiljiva obvestila - + Additional data sources Dodatni viri podatkov - + Errors intended for developers will appear in the notification area Opozorila o napakah, ki so namenjena razvijalcem, bodo prikazana v obvestišču - + Debug errors Napake za razhroščenje - + Warnings intended for developers will appear in the notification area Opozorila, ki so namenjena razvijalcem, bodo prikazana v obvestišču - + Debug warnings - Debug warnings + Opozorila razhroščenja - + Non-Intrusive Notifications Nevsiljiva obvestila - + Minimum Duration: Najkrajše trajanje: - + Maximum Duration: Najdaljše trajanje: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Trajanje prikazovanja obvestila (razen pri kliku z miškinimi gumbi) - - + + s - s + s - + Minimum duration during which the notification will be shown (unless notification clicked) Najkrajše trajanje prikazovanja obvestila (razen, če kliknete na obvestilo) - + Maximum Number of Notifications: Največje število obvestil: - + Maximum number of notifications that will be simultaneously present on the screen Največje število istočasno prikazanih obvestil - + Notification width: Širina obvestil: - + Width of the notification in pixels Širina obvestila v slikovnih točkah - + Any open non-intrusive notifications will disappear when another window is activated Vsa nevsiljiva obvestila se bodo ob izbiri drugega okna zaprla - + Hide when other window is activated Skrij, ko se omogoči drugo okno - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prepreči pojavljanje nevsiljivih opozoril, ko FreeCAD-ovo okno ni dejavno - + Do not show when inactive Ne prikaži ob nedejavnosti - + Message List Seznam sporočil - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Omeji število v seznamu shranjenih sporočil. Nič pomeni brez omejitve. - + Maximum Messages (0 = no limit): Največ sporočil (0=brez omejitve): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Odstrani s seznama sporočil uporabniška obvestila, ko preteče najdaljše trajanje nevsiljivih sporočil. - + Auto-remove User Notifications Samoodstranitev uporabniških obvestil - - - Activation of the Notification Area only takes effect after an application restart. - Omogočenje obvestišča stopi v veljavo šele po pozagonu programa. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Razpoložljiva delovna okolja - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Delovna okolja lahko prerazporeditev s povleci-spusti. Dodatna delovna okolje je mogoče namestiti preko upravljalnika dodatkov.</p><p> Trenutno ima vaš sistem naslednja delovna okolja:</p></body></html> - + Start up workbench: Začetno delovno okolje: - + Choose which workbench will be activated and shown after FreeCAD launches Izberite delovna okolja, ki jih želite prikazana ob zagodu FreeCAD-a - + Workbench selector position : Položaj izbirnika delovnega okolja: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12434,12 +11751,12 @@ ob zagodu FreeCAD-a "Desni kot": V menijski vrstici v desnem kotu. - + If checked, application will remember which workbench is active for each tab of the viewport Če je označeno, si bo program zapomnil, katero delovno okolje je dejavno v vsakem vpogledu - + Remember active workbench by tab Zapomni si dejavna delovna okolja po zavihkih @@ -12449,7 +11766,7 @@ ob zagodu FreeCAD-a Choose orientation - Choose orientation + Izberite usmerjenost @@ -12459,17 +11776,17 @@ ob zagodu FreeCAD-a XY-Plane - XY-Plane + Ravnina XY XZ-Plane - XZ-Plane + Ravnina XZ YZ-Plane - YZ-Plane + Ravnina YZ @@ -12479,7 +11796,7 @@ ob zagodu FreeCAD-a Offset: - Offset: + Odmik: @@ -12588,47 +11905,47 @@ ob zagodu FreeCAD-a Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Če je odznačeno, %1 ne bo prikazan v razpoložljivih delovnih okoljih. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Takšen je trenutni začetni modul, ki mora biti omogočen. Če želite to spremeniti, pojdite ne Prednastavitve/Splošno/Samodejno nalaganje. - + Shortcut to activate this workbench. Bližnjica za omogočanje tega delovnega okolja. - + Auto-load Samodejno nalaganje - + If checked, %1 will be loaded automatically when FreeCAD starts up Če je označeno, bo %1 samodejno naložen ob zagonu FreeCADa - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Takšen je trenutni zagonski modul, ki mora biti samodejno naložen. Če želite to spremeniti, pojdite ne Prednastavitve/Splošno/Samodejno nalaganje. - + Loaded Naloženo - + Load Naloži - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Zaradi varčevanja z viri FreeCAD ne naloži delovnih okolij, dokler se jih ne uporabi. Če jih naložite, vam bodo lahko na voljo dodatne prednastavitve, ki so povezane z njihovimi zmožnostmi. @@ -12636,17 +11953,22 @@ ob zagodu FreeCAD-a Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Orodna vrstica - + Left corner Levi kot - + Right corner Desni kot @@ -12672,12 +11994,12 @@ ob zagodu FreeCAD-a Gui::NotificationArea - + Delete user notifications Izbriši uporabniška obvestila - + Delete All Izbriši vse @@ -12692,12 +12014,12 @@ ob zagodu FreeCAD-a Cannot load file %1: %2 - Cannot load file %1: %2 + Datoteke %1 ni mogoče naložiti: %2 Fit to window - Fit to window + Prilagodi oknu @@ -12713,15 +12035,15 @@ ob zagodu FreeCAD-a StdViewLoadImage - + Load image... - Load image... + Nalaganje slike ... - - + + Loads an image - Loads an image + Naloži sliko @@ -12729,7 +12051,7 @@ ob zagodu FreeCAD-a Enter desired distance between the points - Enter desired distance between the points + Vnesite željen odmik med točkama @@ -12750,41 +12072,847 @@ ob zagodu FreeCAD-a FRONT - FRONT + SPREDAJ TOP - TOP + ZGORAJ RIGHT - RIGHT + DESNO REAR - REAR + ZADAJ BOTTOM - BOTTOM + SPODAJ LEFT - LEFT + LEVO Gui::ExpLineEdit - - + + An error occurred -- see Report View for information - An error occurred -- see Report View for information + Prišlo je do napake -- več o tem si preberite v poročevalnem pogledu + + + + Gui::Dialog::DlgSettingsEditor + + + Editor + Urejevalnik + + + + Options + Možnosti + + + + Code lines will be numbered + Vrstice kode bodo oštevilčene + + + + Enable line numbers + Omogoči številke vrstic + + + + The cursor shape will be a block + Kazalka bo v obliki pravokotega polja + + + + Enable block cursor + Omogoči poljno kazalko + + + + Enable folding + Omogoči pregibanje + + + + Indentation + Zamik + + + + Tab size: + Velikost zamika: + + + + Tabulator raster (how many spaces) + Korak zamikalke (koliko presledkov) + + + + Indent size: + Velikost zamika: + + + + How many spaces will be inserted when pressing <Tab> + Koliko presledkov se vstavi s pritiskom na <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + S pritiskom na <Tab> vstavite zamik določene velikosti + + + + Keep tabs + Obdrži zamike + + + + Pressing <Tab> will insert amount of defined indent size + S pritiskom na <Tab> boste vstavili določen zamik + + + + Insert spaces + Vstavi presledke + + + + Display items + Prikaži predmete + + + + Color and font settings will be applied to selected type + Za izbrano vrsto bodo uveljavljene nastavitve barve in pisave + + + + Family: + Družina: + + + + Font family to be used for selected code type + Družina pisave za izbrano vrsto kode + + + + Size: + Velikost: + + + + Font size to be used for selected code type + Velikost pisave za izbrano vrsto kode + + + + Color: + Barva: + + + + Preview: + Predogled: + + + + Text + Besedilo + + + + Bookmark + Zaznamek + + + + Breakpoint + Prekinitvena točka + + + + Keyword + Ključna beseda + + + + Comment + Opomba + + + + Block comment + Večvrstično pojasnilo + + + + Number + Število + + + + String + Niz + + + + Character + Znak + + + + Class name + Ime razreda + + + + Define name + Določi ime + + + + Operator + Operator + + + + Python output + Izpis Pythona + + + + Python error + Napaka Pythona + + + + Current line highlight + Poudarjanje trenutne vrstice + + + + Items + Predmeti + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Splošne nastavitve + + + + Language and number format + Jezik in oblika zapisa števil + + + + Language: + Jezik: + + + + Language of the application's user interface + Jezik uporabniškega vmesnika programa + + + + Unit system: + Merski sistem: + + + + Unit system that should be used for all parts of the application + Merski sistem, ki naj se uporablja v celotnem programu + + + + Number of decimals: + Število decimalk: + + + + Number of decimals that should be shown for numbers and dimensions + Število decimalk, ki naj se prikaže pri številkah ter merah + + + + Minimum fractional inch: + Najmanjši del palca (inch): + + + + Minimum fractional inch to be displayed + Najmanjši del palca, ki na jse še prikaže + + + + Number format: + Oblika zapisa števil: + + + + Operating system + Operacijski sistem + + + + Selected language + Izberite jezik + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Če je omogočeno, bo decimalni ločevalnik na +številčnici zamenjan s krajevnim ločevalnikom, +razen na Pythonovi ukaznimi mizi in v Urejevalniku +makrov, kjer bo pika/vejica vedno natisnjena. + + + + Substitute decimal separator + Zamenjaj decimalni ločilnik + + + + Application + Program + + + + Theme: + Tema: + + + + Customize how user interface will look like + Prilagodite videz uporabniškega vmesnika + + + + Size of toolbar icons: + Velikost ikon orodne vrstice: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Izberite velikost ikon orodne vrstice, ki vam najbolj odgovarja. +Prilagodite jo lahko glede na velikost zaslona ali po lastnem okusu + + + + Tree view mode: + Način drevesnega prikaza: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Prilagodi način prikazovanja drevesnega prikaza v podoknu (potreben vnovični zagon). + +"Sestavljen pogled": v eno podokno združen drevesni prikaz in lastnostni prikaz. +"Drevesni in Lastnostni prikaz": drevesni in lastnostni prikaz, vsak v svojem podoknu. +"Oboje": ohrani vsa tri podokna tako, da imate lahko dva drevesna in dva lastnostna prikaza. + + + + Size of recent file list: + Velikost seznama nedavnih datotek: + + + + How many files should be listed in recent files list + Koliko datotek naj bo navedenih na seznamu nedavnih datotek + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Ozadje glavnega okna bo, (ko ni odprt noben dokument) tlakovano s posebno sliko. +Za podrobnosti o sliki si oglejte FreeCAD Wiki. + + + + Enable tiled background + Omogoči ploščičasto ozadje + + + + The text cursor will be blinking + Besedilna kazalka bo utripala + + + + Enable cursor blinking + Omogoči utripanje kazalke + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Pozdravno okno je majhno okno, ki se prikaže med nalaganje +FreeCADa ob zagonu. Če je ta možnost označena, +bo pozdravno okno prikazano + + + + Enable splash screen at start up + Omogoči pozdravno okno ob zagonu + + + + Preference packs + Prednastavitveni svežnji + + + + Name + Naziv + + + + Type + Vrsta + + + + Load + Naloži + + + + Import config... + Nastavljanje uvoza ... + + + + Save new... + Shrani nov ... + + + + Manage... + Upravljaj ... + + + + Revert... + Povrni ... + + + + Manage preference packs + Upravljanje s prenastavitvenimi svežnji + + + + Small (%1px) + Majhno (%1px) + + + + Medium (%1px) + Srednje (%1px) + + + + Large (%1px) + Veliko (%1px) + + + + Extra large (%1px) + Zelo velike (%1px) + + + + Custom (%1px) + Po meri (%1px) + + + + Combo View + Sestavljen pogled + + + + TreeView and PropertyView + Drevesni prikaz in Lastnostni prikaz + + + + Both + Oboje + + + + Preference Pack Name + Ime prednastavitvenega svežnja + + + + Tags + Značke + + + + Apply + Uveljavi + + + + Apply the %1 preference pack + Uveljavi prednastavitveni sveženj %1 + + + + Choose a FreeCAD config file to import + Za uvažanje izberite FreeCADovo nastavitveno datoteko + + + + File exists + Datoteka obtsaja + + + + A preference pack with that name already exists. Overwrite? + Prednastavitveni sveženj s tem imenom že obstaja. Ali ga želite pripisati? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Poročevalni pogled + + + + Output + Izpis + + + + Normal messages will be recorded + Običajna sporočila bodo zabeležena + + + + Record normal messages + Zabeleži običajna sporočila + + + + Log messages will be recorded + Dnevniška sporočilo bodo zabeležena + + + + Record log messages + Zabeleži dnevniška sporočila + + + + Warnings will be recorded + Opozorila bodo zabeležena + + + + Record warnings + Zapiši opozorila + + + + Error messages will be recorded + Sporočila o napakah bodo zabeležena + + + + Record error messages + Zabeleži sporočila napak + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Ko pride do napake, bo pri prikazovanju napake postalo na zaslonu vidno +poročevalno pogovorno okno + + + + Show report view on error + Prikaži pri napaki poročevalni pogled + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Ko pride do opozorila, bo pri prikazovanju opozorila postalo na zaslonu vidno +poročevalno pogovorno okno + + + + Show report view on warning + Prikaži pri opozorilu poročevalni pogled + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Ko pride do običajnega sporočila, bo pri prikazovanju sporočila postalo na zaslonu +vidno poročevalno pogovorno okno + + + + Show report view on normal message + Prikaži pri običajnih sporočilih poročevalni pogled + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Ko pride do dnevniškega sporočila, bo pri prikazovanju zapisa postalo na zaslonu +vidno poročevalno pogovorno okno + + + + Show report view on log message + Prikaži pri dnevniškem sporočilu poročevalni pogled + + + + Include a timecode for each report + Vsakemu poročilu dodaj časovni žig + + + + Include a timecode for each entry + Vsakemu vpisu dodaj tudi časovni žig + + + + Colors + Barve + + + + Normal messages: + Običajna sporočila: + + + + Font color for normal messages in Report view panel + Barva pisave pri običajnih sporočilih v poročilnem podoknu + + + + Log messages: + Dnevniška sporočila: + + + + Font color for log messages in Report view panel + Barva pisave pri dnevniških sporočilih v poročilnem podoknu + + + + Warnings: + Opozorila: + + + + Font color for warning messages in Report view panel + Barva pisave pri opozorilnih sporočilih v poročilnem podoknu + + + + Errors: + Napake: + + + + Font color for error messages in Report view panel + Barva pisave pri sporočilih o napakah v poročilnem podoknu + + + + Python interpreter + Tolmač Pythona + + + + Internal Python output will be redirected +from Python console to Report view panel + Pythonov notranji izpis bo preusmerjen s +Pythonove ukazne mize na poročilno podokno + + + + Redirect internal Python output to report view + Preusmeri notranji izpis Pythona na poročevalni pogled + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Notranja Pythonova sporočila o napakah bodo preusmerjena +s Pythonove ukazne mize na poročilno podokno + + + + Redirect internal Python errors to report view + Preusmeri notranje napake Pythona na poročevalni pogled + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Tema + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Na tej strani lahko prilagajate trenutno temo. Ponujene možnosti so za razvijalce tem neobvezne in ni nujno, da so vse učinke vključili v vašo trenutno temo. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + Ta barva je lahko uporabljena v temi in dopušča, da jo sami izberete. + + + + No style sheet + Brez slogovne predloge + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared diff --git a/src/Gui/Language/FreeCAD_sr-CS.ts b/src/Gui/Language/FreeCAD_sr-CS.ts index f069f79258..ba6c578188 100644 --- a/src/Gui/Language/FreeCAD_sr-CS.ts +++ b/src/Gui/Language/FreeCAD_sr-CS.ts @@ -42,29 +42,29 @@ Visual size of the feature - + <empty> <empty> - - + + Angle Ugao - - + + Axis Osa - + Position Position - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Testiraj izlaz konzole - - + + Run test cases to verify console messages Pokreni test slučajeve da bi proverio poruke konzole @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Ukloni izmereno - + Clear all visible measurements Obriši sva vidljiva merenja @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Omogući/Onemogući merenje - + Turn on or off the display of all measurements Uključi/Isključi prikazivanje svih merenja @@ -132,7 +132,7 @@ Obriši - + Paste expressions Nalepi izraz @@ -182,7 +182,7 @@ Dodaj grupu - + Align Align @@ -193,40 +193,40 @@ Položaj - - + + Transform Pomeri - + Toggle array elements Toggle array elements - + Link Transform Link Transform - + Measure distance Izmeri rastojanje - + Toggle visibility Uključi/isklljuči vidlljivost - + Toggle selectability Uključi/isklljuči mogućnost izbora - + Edit image Uredi sliku @@ -234,77 +234,77 @@ CommandGroup - + File Datoteka - + Edit Uredi - + Help Pomoć - + Link Spona - + Tools Alati - + View Pogled - + Window Prozor - + Standard Standard - + Macros Makro-i - + Macro Makro - + Structure Struktura - + Standard-Test Standard-Test - + Standard-View Osnovni pogled - + TreeView Stablo dokumenta - + Measure Izmeri @@ -402,11 +402,6 @@ DownloadItem - - - Form - Obrazac - Ico @@ -421,42 +416,42 @@ EditMode - + Default Podrazumevano - + The object will be edited using the mode defined internally to be the most appropriate for the object type Objekat će biti uređivan korišćenjem interno definisanog režima koji je najprikladniji za taj tip objekta - + Transform Pomeri - + The object will have its placement editable with the Std TransformManip command Objekat će imati svoj položaj koji se može uređivati pomoću komande Std TransformManip - + Cutting Cutting - + This edit mode is implemented as available but currently does not seem to be used by any object Ovaj režim uređivanja je implementiran kao dostupan, ali trenutno izgleda da ga nijedan objekat ne koristi - + Color Boja - + The object will have the color of its individual faces editable with the Part FaceColors command Objekat će imati boju svojih pojedinačnih lica koja se može uređivati komandom Part FaceColors @@ -482,7 +477,7 @@ ništa - + Press a keyboard shortcut Pritisni prečicu na tastaturi @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Dostupno: - + Selected: Izabrano: - + Add Dodaj - + Remove Ukloni - + Move up Pomeri nagore - + Move down Pomeri nadole @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Pokretni objekat - + Fixed object Nepokretni objekat @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Sačekaj dok se datoteka za automatsko vraćanje ne sačuva... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Pritisni levi taster miša - + Press SHIFT and middle mouse button Pritisni SHIFT i srednji taster miša - + Press middle mouse button Pritisni srednji taster miša - + Scroll middle mouse button Okreći srednji taster miša @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Pritisni levi taster miša - + Press middle mouse button Pritisni srednji taster miša - + Press middle+left or middle+right button Pritisni srednji+levi ili srednji+desni taster - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Okreći srednji taster miša ili drži srednji taster pritisnut @@ -615,12 +610,12 @@ dok pritiskš levim ili desnim tasterom i pomeraš miša gore ili dole Gui::ContainerDialog - + &OK &U redu - + &Cancel &Otkaži @@ -628,7 +623,7 @@ dok pritiskš levim ili desnim tasterom i pomeraš miša gore ili dole Gui::ControlSingleton - + Task panel Panel zadataka @@ -712,47 +707,47 @@ dok pritiskš levim ili desnim tasterom i pomeraš miša gore ili dole Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Zasluge - + FreeCAD would not be possible without the contributions of Spisak svih koji su dali doprinos pri stvaranju FreeCAD-a - + Individuals Header for the list of individual people in the Credits list. Pojedinci - + Organizations Header for the list of companies/organizations in the Credits list. Organizacije - - + + License Licenca - + Libraries Biblioteke - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Ovaj softver koristi komponente otvorenog koda čija autorska prava i druga vlasnička prava pripadaju njihovim vlasnicima: - + Collection Kolekcija @@ -760,22 +755,22 @@ dok pritiskš levim ili desnim tasterom i pomeraš miša gore ili dole Gui::Dialog::ApplicationCache - + Cache directory Fascikla za keširanje - + The cache directory %1 exceeds the size of %2. Direktorijum za keširanje %1 premašuje veličinu %2. - + Do you want to clear it now? Da li želiš da ga obrišeš sada? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Upozorenje: Uveri se da je ovo jedina pokrenuta instanca %1 i da nijedan dokument nije otvoren jer to može dovesti do gubitka podataka! @@ -796,37 +791,37 @@ dok pritiskš levim ili desnim tasterom i pomeraš miša gore ili dole Gui::Dialog::CameraDialog - + Camera settings Podešavanja kamere - + Orientation Orijentacija - + Q0 Q1 - + Q1 Q2 - + Q2 Q2 - + Q3 Q3 - + Current view Trenutni pogled @@ -892,7 +887,7 @@ dok pritiskš levim ili desnim tasterom i pomeraš miša gore ili dole Gui::Dialog::CommandModel - + Commands Naredbe @@ -1117,12 +1112,12 @@ Ako ovo nije označeno, osobina mora imati jedinstveno ime i pristupa mu se kao Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Paket već postoji - + A preference pack with that name already exists. Do you want to overwrite it? Paket podešavanja sa tim imenom već postoji. Da li želiš da ga zameniš ovim? @@ -1360,48 +1355,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Unesi za pretraživanje... - + Icon Ikona - + Command Komanda - + Shortcut Prečica - + Default Podrazumevano - + Name Ime - + Title Naslov - + All Sva - - + + none ništa @@ -1409,8 +1404,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Paleta sa alatkama @@ -1499,40 +1494,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separator> - + %1 module not loaded %1 modul nije učitan - + New toolbar Nova paleta sa alatkama - - + + Toolbar name: Ime palete alatki: - - + + Duplicated name Duplirano ime - - + + The toolbar name '%1' is already used Ime palete alatki '%1' se već koristi - + Rename toolbar Preimenuj paletu sa alatkama @@ -1545,19 +1540,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Prilagodi - + &Help &Pomoć - + &Close &Zatvori @@ -1566,13 +1561,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Spaceball Pokreti - + No Spaceball Present Spaceball nije pronađen @@ -1580,27 +1575,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Spaceball Tasteri - + No Spaceball Present Spaceball nije pronađen - + Buttons Dugmad - + Reset Poništi - + Print Reference Štampaj Referencu @@ -1685,551 +1680,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Podrazumevano - + Aluminium Aluminijum - + Brass Mesing - + Bronze Bronza - + Copper Bakar - + Chrome Hrom - + Emerald Smaragd - + Gold Zlato - + Jade Žad - + Metalized Metalizirana - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Opsidijan - + Pewter Kalaj - + Plaster Gips - + Plastic Plastika - + Ruby Rubin - + Satin Saten - + Shiny plastic Svetla plastika - + Silver Srebro - + Steel Čelik - + Stone Kamen Gui::Dialog::DlgEditorSettings - - - Editor - Urednik - - - - Options - Opcije - - - - Code lines will be numbered - Linije koda će biti numerisane - - - - Enable line numbers - Omogući brojeve linija - - - - The cursor shape will be a block - Oblik kursora će biti blok - - - - Enable block cursor - Omogući kursor u obliku bloka - - - - Enable folding - Omogući prelom - - - - Indentation - Uvlačenje - - - - Tab size: - Veličina kartice: - - - - Tabulator raster (how many spaces) - Veličina tabulatora (koliko razmaka) - - - - Indent size: - Veličina uvlačenja: - - - - How many spaces will be inserted when pressing <Tab> - Koliko će razmaka biti umetnuto kada pritisneš <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Pritiskom na <Tab> umetnuće tabulator sa definisanom veličinom kartice - - - - Keep tabs - Zadrži kartice - - - - Pressing <Tab> will insert amount of defined indent size - Pritisak na <Tab> umetnuće definisanu veličinu uvlačenja - - - - Insert spaces - Umetni razmak - - - - Display items - Prikaži stavke - - - - Color and font settings will be applied to selected type - Podešavanja boja i fonta će biti primenjena na izabrani tip - - - - Family: - Familija: - - - - Font family to be used for selected code type - Familija fontova koja će se koristiti za izabrani tip koda - - - - Size: - Veličina: - - - - Font size to be used for selected code type - Veličina fontova koja će se koristiti za izabrani tip koda - - - - Color: - Boja: - - - - Preview: - Pregled: - - - Gui::Dialog::DlgGeneral - - - General - Opšte - - - - Language of the application's user interface - Jezik korisničkog okruženja aplikacije - - - - Number format: - Format brojeva: - - - - Operating system - Operativni sistem - - - - Selected language - Izabrani jezik - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Ako je čekirano, decimalni separator numeričke tastature -biće zamenjen lokalnim separatorom, osim -u Python konzoli i uređivaču makro-a gde će -tačka/zarez uvek biti štampani. - - - - Preference packs - Paketi podešavanja - - - - Name - Ime - - - - Type - Vrsta - - - - Load - Učitaj - - - - Import config... - Uvezi konfiguraciju... - - - - Save new... - Sačuvaj novi... - - - - Manage... - Upravljaj... - - - - Revert... - Vrati... - - - - How many files should be listed in recent files list - Koliko datoteka treba da bude navedeno na listi nedavnih datoteka - - - - Enable tiled background - Omogući popločanu pozadinu - - - - The text cursor will be blinking - Kursor teksta će treptati - - - - Enable cursor blinking - Omogući treptanje kursora - - - - Style sheet: - Stilski list: - - - - Language and number format - Jezik i format broja - - - - Language: - Jezik: - - - - Unit system: - Sistem mernih jedinica: - - - - Unit system that should be used for all parts of the application - Sistem mernih jedinica koji treba da se koristi za sve delove aplikacije - - - - Number of decimals: - Broj decimala: - - - - Number of decimals that should be shown for numbers and dimensions - Broj decimala koje treba prikazati za brojeve i dimenzije - - - - Minimum fractional inch: - Minimalni razlomak za definisanje preciznosti inča: - - - - Minimum fractional inch to be displayed - Minimalni razlomak za definisanje preciznosti inča koji će biti prikazan - - - - Substitute decimal separator - Zameni decimalni separator - - - - Application - Aplikacija - - - - Style sheet how user interface will look like - Stilski list kako će izgledati korisnički interfejs - - - - Size of toolbar icons: - Veličina ikona na paleti alatki: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Izaberi veličinu ikone na paleti sa alatkama. Možeš podesiti -prema veličini ekrana ili ličnom ukusu - - - - Tree view mode: - Režim stabla dokumenta: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Prilagodi kako se stablo dokumenta prikazuje na panelu (potrebno je ponovno pokretanje). - -'Kombinovani pogled': kombinuje stablo dokumenta i Osobine prikaz-a u jedan panel. -'Stablo dokumenta i Osobine prikaza': podeli stablo dokumenta i Osobine prikaza u posebne panele. -'Oba': zadrži sva tri panela i možeš imati dva seta stabla dokumenta i Osobina prikaza. - - - - Size of recent file list: - Veličina liste nedavno otvaranih datoteka: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Pozadina glavnog prozora (kada nijedan dokument nije otvoren) će biti popločana posebnom slikom. -Pogledaj FreeCAD Wiki za detalje o slici. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Početni ekran je mali prozor za učitavanje koji se prikazuje -kada se FreeCAD pokreće. Ako je ova opcija čekirana, FreeCAD će -prikazati početni ekran - - - - Enable splash screen at start up - Omogući početni ekran pri pokretanju - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Upravljanje paketima podešavanja - - - - Small (%1px) - Mali (%1px) - - - - Medium (%1px) - Srednji (%1px) - - - - Large (%1px) - Veliki (%1px) - - - - Extra large (%1px) - Ekstra veliki (%1px) - - - - Custom (%1px) - Sopstveni (%1px) - - - - Combo View - Kombinovani panel - - - - TreeView and PropertyView - Stablo dokumenta i Osobine prikaza - - - - Both - Oba - - - - No style sheet - Nema stilskog lista - - - - Preference Pack Name - Ime paketa podešavanja - - - - Tags - Oznake - - - - Apply - Primeni - - - - Apply the %1 preference pack - Primeniti %1 paket podešavanja - - - - Choose a FreeCAD config file to import - Izaberi FreeCAD konfiguracionu datoteku koju hoćeš uvesti - - - - File exists - Datoteka postoji - - - - A preference pack with that name already exists. Overwrite? - Paket podešavanja sa tim imenom već postoji. Zameni? - - Gui::Dialog::DlgInputDialog @@ -2245,8 +1812,8 @@ prikazati početni ekran Gui::Dialog::DlgInspector - - + + Scene Inspector Inspektor scene @@ -2338,70 +1905,70 @@ prikazati početni ekran Gui::Dialog::DlgMacroExecuteImp - + Macros Makro-i - + Read-only Samo za čitanje - + Macro file Makro datoteka - + Enter a file name, please: Unesi naziv datoteke: - - - + + + Existing file Postojeća datoteka - + '%1'. This file already exists. '%1' Ova datoteka već postoji. - + Cannot create file Ne mogu napraviti datoteku - + Creation of file '%1' failed. Pravljenje datoteke '%1' neuspešno. - + Delete macro Obriši makro - + Do you really want to delete the macro '%1'? Da li stvarno želiš obrisati makro '%1'? - + Do not show again Ne pokazuj ponovo - + Guided Walkthrough Interaktivna tura - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2412,78 +1979,78 @@ Napomena: Promene će biti primenjene kada sledeći put promeniš radno okružen - + Walkthrough, dialog 1 of 2 Interaktivni vodič, dijalog 1 od 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Interaktivni vodič: Popuni polja koja nedostaju (neobavezno), zatim klikni na Dodaj, a zatim na Zatvori - + Walkthrough, dialog 1 of 1 Interaktivni vodič, dijalog 1 od 1 - + Walkthrough, dialog 2 of 2 Interaktivni vodič, dijalog 2 od 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Uputstva: Kliknite na dugme sa strelicom nadesno (->), a zatim Zatvori. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Uputstva: Kliknite na Novi, zatim na dugme sa strelicom nadesno (->), a zatim na Zatvori. - + Renaming Macro File Preimenovanje datoteke makro-a - - + + Enter new name: Unesi novo ime: - - + + '%1' already exists. '%1' već postoji. - + Rename Failed Preimenovanje nije uspelo - + Failed to rename to '%1'. Perhaps a file permission error? Nije uspelo preimenovanje u „%1“. Možda je greška u nivou pristupu datoteki? - + Duplicate Macro Dupliraj makro - + Duplicate Failed Dupliranje nije uspelo - + Failed to duplicate to '%1'. Perhaps a file permission error? Nije uspelo dupliranje u „%1“. @@ -2526,39 +2093,39 @@ Možda je greška u nivou pristupu datoteki? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Snimač makro-a - + Specify first a place to save. Prvo odredi mesto za čuvanje. - + The macro directory doesn't exist. Please, choose another one. Fascikla sa makro-ima ne postoji. Izaberi drugu. - + Existing macro Postojeći makro - + The macro '%1' already exists. Do you want to overwrite? Makro '%1' već postoji. Želiš li da ga zameniš ovim? - + You have no write permission for the directory. Please, choose another one. Nemaš dozvolu upisivanja u ovaj imenik. Izaberi drugi. - + Choose macro directory Izaberi fasciklu makro-a @@ -2631,12 +2198,12 @@ Možda je greška u nivou pristupu datoteki? HTML datoteke - + Access denied Pristup odbijen - + Access denied to '%1' Specify another directory, please. @@ -3036,36 +2603,36 @@ Navedi neku drugu fasciklu. Datoteka projekta - - + + Empty source Prazan izvor - - + + No source is defined. Izvor nije definisan. - - + + Empty destination Prazno odredište - - + + No destination is defined. Odredište nije definisano. - + Failed to extract project Ekstrakcija projekta nije uspela - + Failed to create project Nije uspelo stvaranje projekta @@ -3115,184 +2682,6 @@ Navedi neku drugu fasciklu. Gui::Dialog::DlgReportView - - - Report view - Pregledač objava - - - - Output - Izlaz - - - - Normal messages will be recorded - Uobičajene poruke će biti snimljene - - - - Record normal messages - Snimi uobičajene poruke - - - - Log messages will be recorded - Poruke u dnevniku će biti snimljene - - - - Record log messages - Snimi poruke u dnevnik - - - - Warnings will be recorded - Upozorenja će biti snimljena - - - - Record warnings - Snimi upozorenja - - - - Error messages will be recorded - Poruke o grešci će biti snimljene - - - - Record error messages - Snimi poruke o greškama - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Kada dođe do greške, na ekranu će biti vidljiv Pregled Izveštaja dok se prikazuje greška - - - - Show report view on error - Prikaži pregled izveštaja o grešci - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Kada dođe do upozorenja, na ekranu će biti vidljiv Pregled Izveštaja dok se prikazuje upozorenje - - - - Show report view on warning - Prikaži izveštaj uz upozorenje - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Kada nastane obična poruka, na ekranu će biti vidljiv Pregled Izveštaja dok se prikazuje poruka - - - - Show report view on normal message - Prikaži izveštaj uz običnu poruku - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Kada nastane poruka u dnevniku, na ekranu će biti vidljiv Pregled Izveštaja dok se prikazuje poruka iz dnevnika - - - - Show report view on log message - Prikaži izveštaj uz poruku dnevnika - - - - Include a timecode for each report - Uključi vremenski kod za svaki izveštaj - - - - Include a timecode for each entry - Uključi vremenski kod za svaki unos - - - - Colors - Boje - - - - Normal messages: - Uobičajene poruke: - - - - Font color for normal messages in Report view panel - Boja fonta za obične poruke na tabli za prikaz izveštaja - - - - Log messages: - Poruke dnevnika: - - - - Font color for log messages in Report view panel - Boja fonta za poruke iz dnevnika na tabli za prikaz izveštaja - - - - Warnings: - Upozorenja: - - - - Font color for warning messages in Report view panel - Boja fonta za poruke upozorenja na tabli za prikaz izveštaja - - - - Errors: - Greške: - - - - Font color for error messages in Report view panel - Boja fonta za poruke o greškama na tabli za prikaz izveštaja - - - - Python interpreter - Python interpreter - - - - Internal Python output will be redirected -from Python console to Report view panel - Interni Python izlaz će biti preusmeren -sa Python konzole na tablu za prikaz izveštaja - - - - Redirect internal Python output to report view - Preusmeri interni Python izlaz ka izveštaju - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Interne poruke o Python greškama biti preusmerene -sa Python konzole na tablu za prikaz izveštaja - - - - Redirect internal Python errors to report view - Preusmeri interne Python greške u izveštaj - @@ -3319,7 +2708,7 @@ sa Python konzole na tablu za prikaz izveštaja Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Nema izbora u dijalogu, ne može se učitati datoteka rezervne kopije @@ -3362,7 +2751,7 @@ sa Python konzole na tablu za prikaz izveštaja Pomoć - + Select a file Izaberi datoteku @@ -3370,69 +2759,69 @@ sa Python konzole na tablu za prikaz izveštaja Gui::Dialog::DlgSettings3DView - + 3D View 3D pogled - + General Opšte - + Main coordinate system will always be shown in lower right corner within opened files Ortogonalni triedar glavnog koordinatnog sistema će uvek biti prikazan u donjem desnom uglu otvorenih datoteka - + Show coordinate system in the corner Prikaži ortogonalni triedar u uglu - + Relative size : Relativna veličina : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Veličina prikaza ortogonalnog triedra u uglu -- u % visine/širine prozora prikaza - + Axis cross will be shown by default at file opening or creation Podesi da se koordinatni sistem uvek prikazuje - + Show axis cross by default Prikaži koordinatni sistem - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Vreme potrebno za poslednju operaciju i rezultujuća brzina kadrova biće prikazano u donjem levom uglu otvorenih datoteka - + Show counter of frames per second Prikaži brojač kadrova u sekundi - + Rendering Rendering - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3441,22 +2830,22 @@ Changing this option requires a restart of the application. Promena ove opcije zahteva ponovno pokretanje programa. - + Use software OpenGL Koristi OpenGL program - + Use OpenGL VBO (Vertex Buffer Object) Koristi OpenGL VBO (Vertex Buffer Object) - + Render cache Render keš - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3479,7 +2868,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3496,92 +2885,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Automatski - + Distributed Raspodeljen - + Centralized Centralizovan - + Anti-Aliasing Anti-aliasing - + What kind of multisample anti-aliasing is used Koja vrsta smanjivanja nazubljenja ivica se koristi - + None Nijedan - + Line Smoothing Glačanje linije - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Providni objekti: - + Render types of transparent objects Vrste renderovanja providnih objekata - + One pass Jedan prolaz - + Backface pass Pozadinski prolaz - + Marker size: Veličina oznake tačke: - - Size of vertices in the Sketcher workbench - Veličina tačaka u Sketcher radnom okruženju + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Rastojanje između očiju za stereo režime - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3590,48 +2979,48 @@ Navedena vrednost je koeficijent koji će biti pomnožen sa veličinom graničnog okvira 3D objekta koji je trenutno prikazan. - + Backlight is enabled with the defined color Pozadinsko osvetljenje i njegova boja je omogućeno - - + + Backlight color Boja pozadinskog osveljenja - + Intensity Intenzitet - + Intensity of the backlight Intenzitet pozadinskog osvetljenja - + Camera type Vrsta kamere - + Objects will appear in a perspective projection Objekti će se pojaviti u perspektivi - + Perspective renderin&g Renderovanje perspektive - + Objects will be projected in orthographic projection Objekti će biti projektovani u ortografskoj projekciji - + Or&thographic rendering Or&thographic rendering @@ -3643,42 +3032,42 @@ veličinom graničnog okvira 3D objekta koji je trenutno prikazan. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anti-aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Da bi promene anti-aliasing (smanjivanja nazubljenja ivica) stupile na snagu, otvori novi prozor prikaza ili ponovo pokreni %1. @@ -3686,77 +3075,77 @@ veličinom graničnog okvira 3D objekta koji je trenutno prikazan. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Keš - + Cache directory Fascikla za keširanje - + Location: Lokacija: - + Check periodically at program start: Povremeno proveri prilikom startovanja programa: - + Always Uvek - + Daily Dnevno - + Weekly Nedeljno - + Monthly Mesečno - + Yearly Godišnje - + Never Nikada - + Cache size limit: Ograničenje veličine keša: - + Check now... Proveri odmah... - + Notify the user if the cache size exceeds the specified limit Obavestite korisnika ako veličina keša premašuje trenutno ograničenje - + Unknown Nepoznato - + Current cache size: %1 Trenutno veličina keša: %1 @@ -3917,12 +3306,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Pogrešan parametar - + The maximum value must be higher than the minimum value. Maksimalna vrednost mora biti veća od minimalne. @@ -3930,182 +3319,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Dokument - + General Opšte - + The application will create a new document when started Aplikacija će kreirati novi dokument kada se pokrene - + Create new document at start up Napravi novi dokument pri pokretanju - + Document save compression level (0 = none, 9 = highest, 3 = default) Nivo kompresije za čuvanje dokumenta (0 = ništa, 9 = najviše, 3 = podrazumevano) - + Compression level for FCStd files Nivo kompresije za FCStd datoteke - + All changes in documents are stored so that they can be undone/redone Sve promene u dokumentima se čuvaju tako da se mogu poništiti/ponoviti - + Using Undo/Redo on documents Korišćenje Poništi/Ponovi na dokumentima - + Maximum Undo/Redo steps Maksimalni broj koraka Poništi/Ponovi - + How many Undo/Redo steps should be recorded Koliko koraka Poništi/Ponovi treba da bude zabeleženo - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Dozvoli korisniku da prekine ponovno izračunavanje dokumenta pritiskom na ESC. Ova funkcija može malo povećati vreme ponovnog izračunavanja. - + Allow aborting recomputation Dozvoli prekid ponovnog izračunavanja - + Storage Skladište - + Saving transactions (Auto-save) Čuvanje transakcija (Auto-sačuvaj) - + Discard saved transaction after saving document Odbaci sačuvane transakcije nakon što je dokument sačuvan - + If there is a recovery file available the application will automatically run a file recovery when it is started. Ako postoji datoteka za oporavak, aplikacija će automatski pokrenuti njen oporavak kada se pokrene. - + Run AutoRecovery at startup Pokreni automatski oporavak pri pokretanju - + How often a recovery file is written Učestalost zapisa datoteke za oporavak - + Save AutoRecovery information every Sačuvaj podatke za automatski oporavak na svakih - + A thumbnail will be stored when document is saved Umanjena slika 3D pogleda će biti napravljena i snimljena zajedno sa dokumentom - + Save thumbnail into project file when saving document Prilikom snimanja dokumenta snimite u njega i umanjenu sliku 3D pogleda - + Size Veličina - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Podesite veličinu umanjene slike 3D pogleda koja se čuva u dokumentu. Uobičajene veličine su 128, 256 i 512 - + The program logo will be added to the thumbnail Logotip FreeCAD programa će biti dodat na umanjenu sliku 3D pogleda - + Add the program logo to the generated thumbnail Dodaj logotip na umanjenu sliku 3D pogleda - + How many backup files will be kept when saving document Koliko će rezervnih datoteka biti čuvano prilikom snimanja dokumenta - + Maximum number of backup files to keep when resaving document Maksimalan broj datoteka rezervnih kopija koje treba čuvati - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Datoteke rezervnih kopija će dobiti ekstenziju '.FCbak' a imena datoteka će dobiti sufiks datuma prema navedenom formatu - + Use date and FCBak extension Koristi datum i nastavak imena datoteke FCBak - + Date format Format datuma - + Document objects Objekti dokumenta - + Allow objects to have same label Dozvoli objektima da imaju istu oznaku - + Allow duplicate object labels in one document Dozvoli duple oznake objekata u jednom dokumentu - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4118,22 +3507,22 @@ Delimično učitani dokument se ne može uređivati. Dvaput kliknite na ikonu do u stablu dokumenta da biste ga u potpunosti ponovo učitali. - + Disable partial loading of external linked objects Onemogući delimično učitavanje spoljnih povezanih objekata - + Authoring and License Autorstvo i licenca - + Author name Ime autora - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4142,32 +3531,32 @@ Ostavite prazno za anonimnost. Takođe možete koristiti obrazac: Pera Perić <pera@peric.com> - + The field 'Last modified by' will be set to specified author when saving the file Polje 'Poslednji put izmenio' će biti postavljeno na navedenog autora prilikom snimanja datoteke - + Set on save Podesi pri snimanju - + Company Prеduzеćе - + Default company name to use for new files Podrazumevano ime preduzeća koje se koristi za nove datoteke - + Default license Podrazumevana licenca - + Default license for new documents Podrazumevana licenca za nove dokumente @@ -4237,12 +3626,12 @@ Takođe možete koristiti obrazac: Pera Perić <pera@peric.com>Drugo - + License URL URL adresa licence - + URL describing more about the license URL adresa gde možeš pročitati dodatne informacije o licenci @@ -4250,104 +3639,21 @@ Takođe možete koristiti obrazac: Pera Perić <pera@peric.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Format datuma koji treba koristiti. - + Default Podrazumevano - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Tekst - - - - Bookmark - Obeleživač - - - - Breakpoint - Tačka prekida - - - - Keyword - Ključna reč - - - - Comment - Komentar - - - - Block comment - Blokiraj komentar - - - - Number - Broj - - - - String - Znakovni niz - - - - Character - Karakter - - - - Class name - Ime klase - - - - Define name - Definiši ime - - - - Operator - Operator - - - - Python output - Python izlaz - - - - Python error - Python greška - - - - Current line highlight - Isticanje trenutne linije - - - - Items - Stavke - - Gui::Dialog::DlgSettingsImage @@ -4528,122 +3834,122 @@ Takođe možete koristiti obrazac: Pera Perić <pera@peric.com> Gui::Dialog::DlgSettingsMacro - + Macro Makro - + General macro settings Generalna makro podešavanja - + Variables defined by macros are created as local variables Promenljive definisane makro-ima se stvaraju kao lokalne promenljive - + Run macros in local environment Izvrši makro-e u lokalnom okruženju - + Macro recording settings Podešavanje snimanja makro-a - + Macro path Makro putanja - + The directory in which the application will search for macros Fascikla u kojoj će program tražiti makro-e - + Gui commands Gui komande - + Recorded macros will also contain user interface commands Snimljeni makro-i će takođe sadržati komande korisničkog interfejsa - + Record GUI commands Snimi GUI komande - + Recorded macros will also contain user interface commands as comments Snimljeni makro-i će takođe sadržati komande korisničkog interfejsa kao komentare - + Record as comment Snimi kao komentar - + Logging Commands Komande za evidentiranje - + Commands executed by macro scripts are shown in Python console Komande izvršene makro skriptama prikazane su u Python konzoli - + Show script commands in python console Prikaži naredbe skripta u python konzoli - + Log all commands issued by menus to file: Evidentiraj sve komande izdate menijima u datoteku: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Meni nedavnih makro-a - + Size of recent macro list Veličina liste nedavnih makro-a - + How many macros should be listed in recent macros list Koliko makro-a treba da bude navedeno na listi nedavnih makro-a - + Keyboard shortcut count Broj prečica na tastaturi - + How many recent macros should have shortcuts Koliko nedavnih makro-a treba da ima prečice - + Keyboard Modifiers Modifikatori tastature - + Keyboard modifiers, default = Ctrl+Shift+ Modifikatori tastature, unapred definisan = Ctrl+Shift+ @@ -4651,130 +3957,130 @@ Takođe možete koristiti obrazac: Pera Perić <pera@peric.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigacija - + Navigation cube Navigaciona kocka - + Steps by turn Koraka po obrtu - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Broj koraka po obrtu kada koristite strelice (podrazumevano = 8 : ugao koraka = 360/8 = 45 stepeni) - + Corner Ugao - + Corner where navigation cube is shown Ugao u kom će se nalaziti navigaciona kocka - + Top left Gornje levo - + Top right Gornje desno - + Bottom left Donje levo - + Bottom right Donje desno - + Rotates to nearest possible state when clicking a cube face Rotira u najbliže moguće stanje kada kliknete na stranu kocke - + Rotate to nearest Rotiraj na najbliže - + Font name: Naziv fonta: - + Font name of the navigation cube Naziv fonta navigacione kocke - + Default Podrazumevano - + Cube size Veličina kocke - + Size of the navigation cube Veličina navigacione kocke - + Color Boja - + Base color for all elements Osnovna boja za sve elemente - + 3D Navigation 3D Navigacija - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Funkcije tastera miša za izabrani stil 3D navigacije. Izaberi stil 3D navigacije, a zatim pritisni dugme da vidiš funkcije tastera. - + Mouse... Miš... - + Navigation settings set Stil 3D navigacije miša - + Orbit style Način okretanja orbit - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4785,116 +4091,116 @@ Gramofon: deo će biti rotiran oko z-ose (sa zadanim ograničenjima na osama). Obični gramofon: deo će biti rotiran oko z-ose. - + Turntable Gramofon - + Trackball Trackball - + Free Turntable Obični gramofon - + Rotation mode Režimi rotacije - + Rotations in 3D will use current cursor position as center for rotation 3D rotacija će koristiti trenutni položaj kursora miša kao centar za rotaciju - + Window center Centar prozora - + Drag at cursor Drag at cursor - + Object center Centar objekta - + Default camera orientation Podrazumevana orijentacija kamere - + Default camera orientation when creating a new document or selecting the home view Podrazumevana orijentacija kamere prilikom kreiranja novog dokumenta ili izbora početnog pogleda - + Camera zoom Zumiranje kamere - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Podešava zum kamere za nove dokumente. Vrednost je prečnik sfere koja staje na ekran. - + mm mm - + Enable animated rotations Omogući animirane rotacije - + Enable animation Omogući animaciju - + Zoom operations will be performed at position of mouse pointer Operacije zumiranja će se izvoditi na položaju pokazivača miša - + Zoom at cursor Zumiraj na kursoru - + Zoom step Korak zumiranja - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Koliko će biti zumirano. Korak zumiranja od '1' znači koeficijent od 7,5 za svaki korak zumiranja. - + Direction of zoom operations will be inverted Smer operacije zumiranja će biti obrnut - + Invert zoom Obrnite smer zumiranja - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4903,57 +4209,67 @@ Affects only gesture navigation style. Mouse tilting is not disabled by this setting. - + Disable touchscreen tilt gesture Disable touchscreen tilt gesture - + + Show the rotation center when dragging. + Prikaži centar rotacije prilikom prevlačenja. + + + + Enable rotation center indication + Omogući prikazivanje centra rotacije + + + Isometric Izometrijski - + Dimetric Dimetrijski - + Trimetric Trimetrijski - + Top Odozgo - + Front Spreda - + Left Sleva - + Right Sdesna - + Rear Straga - + Bottom Odozdo - + Custom Sopstvena @@ -4961,44 +4277,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python konzola - + Settings Podešavanja - + Words will be wrapped when they exceed available horizontal space in Python console Reči će biti prelomljene kada premaše dostupni horizontalni prostor u Python konzoli - + Enable word wrap Omogući prelom reda - + The cursor shape will be a block Oblik kursora će biti blok - + Enable block cursor Omogući kursor u obliku bloka - + Saves Python history across sessions Saves Python history across sessions - + Save history Sačuvaj istoriju @@ -5006,17 +4322,37 @@ horizontalni prostor u Python konzoli Gui::Dialog::DlgSettingsSelection - + Selection Izbor - + + Enable preselection, highlighted with specified color + Omogući predizbor, označen određenom bojom + + + + Enable preselection + Omogući predizbor + + + + Enable selection, highlighted with specified color + Omogući izbor, označen određenom bojom + + + + Enable selection + Omogući izbor + + + Pick radius (px): Izaberi poluprečnik (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5025,27 +4361,27 @@ Veća vrednost olakšava odabir stvari, ali može onemogućiti odabir malih stva - + Auto switch to the 3D view containing the selected item Automatski pređi na 3D pogled koji sadrži izabranu stavku - + Auto expand tree item when the corresponding object is selected in 3D view Automatsko proširivanje stavke u stablu kada je odgovarajući objekat izabran u 3D pogledu - + Preselect the object in 3D view when mouse over the tree item Unapred izaberi objekat u 3D pogledu samo prolaskom mišem preko stavke u stablu - + Record selection in tree view in order to go back/forward using navigation button Snimi izbor u stablu dokumenta da bi se kretao napred/nazad koristeći dugme za navigaciju - + Add checkboxes for selection in document tree Dodaj polja za čekiranje u stablu dokumenta @@ -5053,147 +4389,122 @@ Veća vrednost olakšava odabir stvari, ali može onemogućiti odabir malih stva Gui::Dialog::DlgSettingsViewColor - + Colors Boje - - Selection - Izbor - - - - Enable preselection and highlight by specified color - Omogući predizbor i označite određenom bojom - - - - Enable preselection highlighting - Omogući isticanje predizbora - - - - Enable selection highlighting and use specified color - Omogući isticanje izbora i koristite određenu boju - - - - Enable selection highlighting - Omogući isticanje izbora - - - + Background color for the model view Boja pozadine 3D pogleda - + Background color Boja pozadine - - + + Background will have selected color Pozadina će imati izabranu boju - + Simple color Jedna boja - - + + Background will have selected color gradient Pozadina će imati izabrani preliv boje - + Linear gradient Linearno prelivanje boja - + Radial gradient Radijalno prelivanje boja - - + + Top: Gornja: - - + + Middle: Srednja: - + Switches the colors of the gradient Menja boje preliva - + Switch Prebaci na - + Color gradient will get selected color as middle color Preliv boja će dobiti izabranu boju po sredini - + Middle color Srednja boja - - + + Bottom: Donja: - + Tree view Stablo dokumenta - + Object being edited Objekat koji se uređuje - + Background color for objects in tree view that are currently edited Boja pozadine za objekte u stablu dokumenta koji se trenutno uređuju - + Active container Aktivni kontejner - + Background color for active containers in tree view Boja pozadine za aktivne kontejnere u stablu dokumenta - + Central: Central: - + Midway: Midway: - + End: End: @@ -5305,12 +4616,12 @@ Podešeni sistem je onaj koji je postavljen u opštim podešavanjima. Gui::Dialog::DlgUnitsCalculator - + unknown unit: nepoznata merna jedinica: - + unit mismatch neusklađenost jedinica @@ -5318,7 +4629,7 @@ Podešeni sistem je onaj koji je postavljen u opštim podešavanjima. Gui::Dialog::DockablePlacement - + Placement Položaj @@ -5370,60 +4681,60 @@ Kolona „Status“ pokazuje da li se dokument može oporaviti. Još nije oporavljeno - + Unknown problem occurred Došlo je do nepoznate greške - - + + Failed to recover Neuspešno oporavljanje - + Successfully recovered Uspešno oporavljen - + Finish Završi - - + + Delete Obriši - - + + Cleanup Očisti - + Are you sure you want to delete the selected transient directories? Da li si sigurnan da želiš da izbrišeš izabrane privremene fascikle? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Kada izbrišeš izabranu privremenu fasciklu, nećeš nakon toga moći da povratiš nijednu datoteku. - + Are you sure you want to delete all transient directories? Da li si siguran da želiš da izbrišeš sve privremene fascikle? - + When deleting all transient directories you won't be able to recover any files afterwards. Kada izbrišeš sve privremene fascikle, nećeš moći nakon toga da povratiš nijednu datoteku. - + Transient directories deleted. Privremene fascikle su izbrisane. @@ -5547,7 +4858,7 @@ Kolona „Status“ pokazuje da li se dokument može oporaviti. Fascikla ikona - + Add icon folder Dodaj fasciklu za ikone @@ -5560,12 +4871,12 @@ Kolona „Status“ pokazuje da li se dokument može oporaviti. Dodaj ili ukloni korisničke fascikle sa ikonama - + Remove folder Ukloni fasciklu - + Removing a folder only takes effect after an application restart. Uklanjanje fascikle nastupa posle ponovnog pokretanja aplikacije. @@ -5635,79 +4946,79 @@ Kolona „Status“ pokazuje da li se dokument može oporaviti. Gui::Dialog::ParameterGroup - - + + Expand Proširi - + Add sub-group Dodaj podgrupu - - + + Remove group Ukloni grupu - + Rename group Preimenuj grupu - + Export parameter Izvezi parametar - + Import parameter Uvezi parametar - + Collapse Skupi - + Do you really want to remove this parameter group? Da li zaista želiš da ukloniš ovu grupu parametara? - + Existing sub-group Postojeća podgrupa - + The sub-group '%1' already exists. Podgrupa '%1' već postoji. - + Export parameter to file Izvezi parametar u datoteku - + Import parameter from file Uvezi parametar iz datoteke - + Import Error Greška prilikom uvoza - + Reading from '%1' failed. Čitanje iz '%1' neuspešno. @@ -5715,65 +5026,65 @@ Kolona „Status“ pokazuje da li se dokument može oporaviti. Gui::Dialog::ParameterValue - + Change value Promeni vrednost - + Remove key Ukloni ključ - + Rename key Preimenuj ključ - + New Novi - + New string item Nova stavka znakovnog niza - + New float item New float item - + New integer item New integer item - + New unsigned item New unsigned item - + New Boolean item Nova Bulova stavka - - - - - + + + + + Existing item Postojeća stavka - - - - - + + + + + The item '%1' already exists. Stavka '%1' već postoji. @@ -5919,17 +5230,17 @@ Kolona „Status“ pokazuje da li se dokument može oporaviti. Primeni - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Izaberi 1, 2 ili 3 tačke pre nego što klikneš na ovo dugme. Tačka može biti na temenu, stranici ili ivici. Ako je na stranici ili ivici, korišćena tačka će biti tačka na poziciji miša duž stranice ili ivice. Ako se izabere 1 tačka, ona će se koristiti kao centar rotacije. Ako se izaberu 2 tačke, sredina između njih će biti centar rotacije i nova prilagođena osa će biti napravljena, ako je potrebno. Ako su izabrane 3 tačke, prva tačka postaje centar rotacije i leži na vektoru koji je normalan na ravan definisanu sa 3 tačke. Neke informacije o udaljenosti i uglovima su date u prikazu izveštaja, što može biti korisno pri poravnavanju objekata. Radi vaše udobnosti kada se koristi Shift + click, odgovarajuća udaljenost ili ugao se kopiraju u privremenu memoriju. - + Incorrect quantity Nepravilna količina - + There are input fields with incorrect input, please ensure valid placement values! Postoje polja za unos sa netačnim unosom, molimo vas da obezbedite ispravne vrednosti položaja! @@ -5937,12 +5248,12 @@ Kolona „Status“ pokazuje da li se dokument može oporaviti. Gui::Dialog::PrintModel - + Button Dugme - + Command Komanda @@ -6006,17 +5317,17 @@ Kolona „Status“ pokazuje da li se dokument može oporaviti. Gui::Dialog::SceneModel - + Inventor Tree Inventor stablo - + Name Ime - + Nodes Čvorovi @@ -6072,14 +5383,14 @@ Kolona „Status“ pokazuje da li se dokument može oporaviti. Gui::Dialog::Transform - - + + Cancel Otkaži - - + + Transform Pomeri @@ -6177,13 +5488,13 @@ izabranim objektima pre otvaranja ovog dijaloga - + Model Model - + Tasks Zadaci @@ -6191,7 +5502,7 @@ izabranim objektima pre otvaranja ovog dijaloga Gui::DockWnd::PropertyDockView - + Property View Osobine prikaza @@ -6199,82 +5510,82 @@ izabranim objektima pre otvaranja ovog dijaloga Gui::DockWnd::ReportOutput - + Options Opcije - + Display message types Prikaži tip poruke - - + + Normal messages Uobičajene poruke - - + + Log messages Poruke dnevnika - - + + Warnings Upozorenja - - + + Errors Greške - - + + Critical messages Kritične poruke - + Show Report view on Show Report view on - + Redirect Python output Preusmeri Python izlaz - + Redirect Python errors Preusmeri Python greške - + Go to end Idi na kraj - + Clear Obriši - + Save As... Sačuvaj Kao... - + Save Report Output Sačuvaj izlaz izveštaja - + Plain Text Files Datoteke čistog teksta @@ -6283,13 +5594,13 @@ izabranim objektima pre otvaranja ovog dijaloga Gui::DockWnd::ReportView - + Output Izlaz - + Python console Python konzola @@ -6327,72 +5638,72 @@ izabranim objektima pre otvaranja ovog dijaloga Lista objekata za biranje - + Select only Odaberi samo - + Selects only this object Odabira samo ovaj objekat - + Deselect Poništi izbor - + Deselects this object Poništava izbor ovog objekta - + Zoom fit Zumiraj da stane - + Selects and fits this object in the 3D window Odabira i postavlja ovaj objekat u 3D prozor - + Go to selection Idi na izabrano - + Selects and locates this object in the tree view Odabira i pronalazi ovaj objekat u stablu dokumenta - + Mark to recompute Označi za ponovno izračunavanje - + Mark this object to be recomputed Označi ovaj objekat za ponovno izračunavanje - + To python console Ka Python konzoli - + Reveals this object and its subelements in the python console. Reveals this object and its subelements in the python console. - + Duplicate subshape Duplirati pod-oblik - + Creates a standalone copy of this subshape in the document Napravi samostalnu kopiju ovog pod-oblika u dokumentu @@ -6405,7 +5716,7 @@ izabranim objektima pre otvaranja ovog dijaloga Aplikacija - + Labels & Attributes Oznake & Atributi @@ -6454,27 +5765,27 @@ Da li želiš da sačuvaš promene? PDF datoteka - + untitled[*] bez naslova[*] - + - Editor -Uređivač - + %1 chars removed %1 znakova uklonjeno - + %1 chars added %1 znakova dodano - + Formatted Formatirano @@ -6498,13 +5809,13 @@ Da li želiš da sačuvaš promene? Gui::FileChooser - - + + Select a file Izaberi datoteku - + Select a directory Izaberi fasciklu @@ -6512,13 +5823,13 @@ Da li želiš da sačuvaš promene? Gui::FileDialog - + Save as Sačuvaj kao - - + + Open Otvori @@ -6526,12 +5837,12 @@ Da li želiš da sačuvaš promene? Gui::FileOptionsDialog - + Extended Prošireno - + All files (*.*) Sve datoteke (*.*) @@ -6539,27 +5850,27 @@ Da li želiš da sačuvaš promene? Gui::Flag - + Top left Gornje levo - + Bottom left Donje levo - + Top right Gornje desno - + Bottom right Donje desno - + Remove Ukloni @@ -6567,22 +5878,22 @@ Da li želiš da sačuvaš promene? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Dodirni ILI klikni levim tasterom miša. - + Drag screen with two fingers OR press right mouse button. Prevuci po ekranu sa dva prsta ILI pritisni desni taster miša. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Prevuci po ekranu jednim prstom ILI pritisni levi taster miša. U ostalim Sketcher režimima za uređivanje, dodatno drži Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Štipni (stavi dva prsta na ekran i vuci ih jedan od drugog ili jedan prema drugom) ILI okreći srednji taster miša ILI PgUp/PgDown na tastaturi. @@ -6590,74 +5901,74 @@ Da li želiš da sačuvaš promene? Gui::GraphvizView - + Graphviz not found Graphviz nije pronađen - + Graphviz couldn't be found on your system. Graphviz nije pronađen na vašem sistemu. - + Read more about it here. Pročitaj više o tome ovde. - + Do you want to specify its installation path if it's already installed? Ako je već instaliran navedi putanju ka fascikli u koju je instaliran? - + Graphviz installation path Graphviz instalaciona putanja - + Graphviz failed Graphviz otkazao - + Graphviz failed to create an image file Graphviz nije uspeo da napravi datoteku slike - + PNG format PNG format - + Bitmap format Bitmap format - + GIF format GIF format - + JPG format JPG format - + SVG format SVG format - - + + PDF format PDF format - - + + Export graph Izvezi grafikon @@ -6665,12 +5976,12 @@ Da li želiš da sačuvaš promene? Gui::InputField - + Edit Uredi - + Save value Sačuvaj vrednost @@ -6678,22 +5989,22 @@ Da li želiš da sačuvaš promene? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Pritisni CTRL i levi taster miša - + Press middle mouse button Pritisni srednji taster miša - + Press left mouse button Pritisni levi taster miša - + Scroll middle mouse button Okreći srednji taster miša @@ -6701,7 +6012,7 @@ Da li želiš da sačuvaš promene? Gui::LabelEditor - + List Lista @@ -6709,66 +6020,66 @@ Da li želiš da sačuvaš promene? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definisano od strane korisnika... - + - - + + Wrong direction Pogrešan smer - + - - + + Direction must not be the null vector Pravac ne sme biti nulti vektor @@ -6776,22 +6087,22 @@ Da li želiš da sačuvaš promene? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6799,17 +6110,17 @@ Da li želiš da sačuvaš promene? Gui::MacroCommand - + Macros Makro-i - + Macro file doesn't exist Makro datoteka ne postoji - + No such macro file: '%1' Nema takve macro datoteke: '%1' @@ -6817,63 +6128,73 @@ Da li želiš da sačuvaš promene? Gui::MainWindow - - + + Dimension Kota - + Ready Spreman - + Help addon needed! Potreban je dodatak Pomoć! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Sistemom pomoći %1 sada upravlja dodatak „Pomoć“. Može se lako instalirati preko Menadžera dodataka - + Open Addon Manager Otvori menadžer dodataka - + Close All Zatvori sve - - + + Toggles this toolbar Uključuje/isključuje ovu paletu alata - - + + Toggles this dockable window Toggles this dockable window - - + + WARNING: This is a development version. + UPOZORENJE: Ovo je razvojna verzija. + + + + Please do not use in a production environment. + Nemojte koristiti za profesionalnu upotrebu. + + + + Unsaved document Nesačuvan dokument - + The exported object contains external link. Please save the documentat least once before exporting. Izvezeni objekat sadrži spoljnu vezu. Sačuvaj dokument bar jednom pre nego što ga izvezeš. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Da bi se povezali sa spoljnim objektima, dokument mora biti sačuvan najmanje jednom. @@ -6883,63 +6204,63 @@ Da li želiš sada da sačuvaš dokument? Gui::ManualAlignment - - - - - + + + + + Manual alignment Manuelno poravnanje - + The alignment is already in progress. Poravnanje je već u toku. - + Alignment[*] Poravnaj[*] - + Please, select at least one point in the left and the right view Izaberi najmanje jednu tačku u levom i desnom pogledu - + Please, select at least %1 points in the left and the right view Izaberi najmanje %1 tačaka u levom i desnom pogledu - + Please pick points in the left and right view Izaberi tačke u levom i desnom pogledu - + The alignment has finished Poravnanje završeno - + The alignment has been canceled Poravnanje otkazano - - + + Too few points picked in the left view. At least %1 points are needed. Premalo tačaka izabrano u levom pogledu. Potrebno je najmanje %1 tačaka. - - + + Too few points picked in the right view. At least %1 points are needed. Premalo tačaka izabrano u desnom pogledu. Potrebno je najmanje %1 tačaka. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6948,59 +6269,59 @@ Na levom pogledu je izabrano %1 tačaka, na desnom pogledu je izabrano %2 tačaka. - + Try to align group of views Pokušaj da uskladiš grupu pogleda - + The alignment failed. How do you want to proceed? Poravnanje neuspešno. Kako želiš da nastaviš? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Različit broj tačaka izabran u levom i desnom pogledu. Na levom pogledu je izabrano %1 tačaka, na desnom pogledu je izabrano %2 tačaka. - + Point_%1 Tačka_%1 - + Point picked at (%1,%2,%3) Izabrana tačka u (%1,%2,%3) - + No point was found on model Na modelu nije pronađena tačka - + No point was picked Nijedna tačka nije izabrana - + &Align &Poravnaj - + &Remove last point &Ukloni zadnju tačku - + &Cancel &Otkaži - + &Synchronize views &Sinhronizuj poglede @@ -7008,22 +6329,22 @@ Kako želiš da nastaviš? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Dodirni ILI klikni levim tasterom miša. - + Drag screen with two fingers OR press ALT + middle mouse button. Prevuci po ekranu sa dva prsta ILI pritisni ALT + srednji taster miša. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Prevuci po ekranu sa dva prsta ILI pritisni ALT + levi taster miša. U ostalim Sketcher režimima za uređivanje, dodatno drži Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Štipni (stavi dva prsta na ekran i vuci ih jedan od drugog ili jedan prema drugom) ILI okreći srednji taster miša ILI pritisni ALT + desni klik miša ILI PgUp/PgDown na tastaturi. @@ -7031,7 +6352,7 @@ Kako želiš da nastaviš? Gui::ModifierLineEdit - + Press modifier keys Pritisni modifikatorske tastere @@ -7047,22 +6368,22 @@ Kako želiš da nastaviš? Gui::OpenCascadeNavigationStyle - + Press left mouse button Pritisni levi taster miša - + Press CTRL and middle mouse button Pritisni CTRL i srednji taster miša - + Press CTRL and right mouse button Pritisni CTRL i desni taster miša - + Press CTRL and left mouse button Pritisni CTRL i levi taster miša @@ -7070,22 +6391,22 @@ Kako želiš da nastaviš? Gui::OpenSCADNavigationStyle - + Press left mouse button Pritisni levi taster miša - + Press right mouse button and move mouse Pritisni desni taster i pomerite miša - + Press left mouse button and move mouse Pritisni levi taster i pomerite miša - + Press middle mouse button or SHIFT and right mouse button Pritisni srednji taster miša ili zajedno SHIFT i desni taster miša @@ -7093,17 +6414,17 @@ Kako želiš da nastaviš? Gui::PrefQuantitySpinBox - + Edit Uredi - + Save value Sačuvaj vrednost - + Clear list Izbriši listu @@ -7134,12 +6455,12 @@ Kako želiš da nastaviš? Preostalo: %1 - + Aborting Prekida se - + Do you really want to abort the operation? Da li stvarno želiš prekinuti operaciju? @@ -7147,7 +6468,7 @@ Kako želiš da nastaviš? Gui::PropertyEditor::LinkLabel - + Change the linked object Promeni povezani objekat @@ -7155,12 +6476,12 @@ Kako želiš da nastaviš? Gui::PropertyEditor::LinkSelection - + Error Greška - + Object not found Objekat nije pronađen @@ -7231,13 +6552,13 @@ Kako želiš da nastaviš? Gui::PropertyView - + View Pogled - + Data Podaci @@ -7285,77 +6606,77 @@ Da li želiš izaći bez čuvanja podataka? Neobrađeni nepoznati C++ izuzetak. - + &Copy &Kopiraj - + &Copy command &Kopiraj komanda - + &Copy history &Kopiraj istoriju - + Save history as... Sačuvaj istoriju kao... - + Save history Sačuvaj istoriju - + Saves Python history across %1 sessions Saves Python history across %1 sessions - + &Paste &Nalepi - + Select All Izaberi sve - + Clear console Očisti konzolu - + Insert file name... Unesi ime datoteke... - + Word wrap Prelom reda - + Save History Sačuvaj Istoriju - + Macro Files Makro datoteke - + Insert file name Unesi ime datoteke - + All Files Sve datoteke @@ -7363,7 +6684,7 @@ Da li želiš izaći bez čuvanja podataka? Gui::PythonEditor - + Comment Komentar @@ -7376,17 +6697,17 @@ Da li želiš izaći bez čuvanja podataka? Gui::RecentFilesAction - + Open file %1 Otvori datoteku %1 - + File not found Datoteka nije nađena - + The file '%1' cannot be opened. Datoteka '%1' se ne može otvoriti. @@ -7394,22 +6715,22 @@ Da li želiš izaći bez čuvanja podataka? Gui::RecentMacrosAction - + none ništa - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Pokreni makro %1 (Shift+klik za uređivanje) prečica na tastaturi: %2 - + File not found Datoteka nije nađena - + The file '%1' cannot be opened. Datoteka '%1' se ne može otvoriti. @@ -7417,22 +6738,22 @@ Da li želiš izaći bez čuvanja podataka? Gui::RevitNavigationStyle - + Press left mouse button Pritisni levi taster miša - + Press middle mouse button Pritisni srednji taster miša - + Press SHIFT and middle mouse button Pritisni SHIFT i srednji taster miša - + Scroll middle mouse button Okreći srednji taster miša @@ -7463,17 +6784,17 @@ Da li želiš izaći bez čuvanja podataka? Gui::SelectModule - + Select module Izaberi modul - + Open %1 as Otvori %1 kao - + Select Izaberi @@ -7542,13 +6863,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Dokumentacija automatskih python modula - - + + Opens a browser to show the Python modules documentation Otvara pregledač da prikaže dokumentaciju Python modula @@ -7566,7 +6887,7 @@ Do you want to specify another directory? Position - Position + Položaj @@ -7701,38 +7022,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Tekst je izmenjen - + The text of the underlying object has changed. Discard changes and reload the text from the object? Tekst osnovnog objekta je promenjen. Odbaci promene i ponovo učitaj tekst iz objekta? - + Yes, reload. Da, ponovo učitaj. - + Unsaved document Nesačuvan dokument - + Do you want to save your changes before closing? Da li želiš da sačuvaš promene pre zatvaranja? - + If you don't save, your changes will be lost. Ako ne sačuvaš, promene će biti izgubljene. - - + + Edit text Uredi tekst @@ -7740,22 +7061,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Pritisni levi taster miša - + Press middle mouse button Pritisni srednji taster miša - + Press right mouse button Pritisni desni taster miša - + Scroll middle mouse button Okreći srednji taster miša @@ -7763,22 +7084,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Pritisni levi taster miša - + Press SHIFT button Pritisni SHIFT taster - + Press ALT button Pritisni ALT taster - + Press CTRL and SHIFT buttons Pritisni CTRL i SHIFT tastere @@ -8004,7 +7325,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Stablo dokumenta @@ -8012,7 +7333,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Pretraga @@ -8020,183 +7341,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Pretraži... - + Search for objects Traži objekte - + Activate document Aktiviraj dokument - + Activate document %1 Aktiviraj dokument %1 - + Tree settings Podešavanja stabla dokumenta - + Show description column Prikaži kolonu sa opisima - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Prikaži u stablu dokumenta dodatnu kolonu sa opisima stavki. Opis stavke se može podesiti pritiskom na F2 (ili dugme za uređivanje vašeg OS-a) ili uređivanjem svojstva 'label2'. - + Group Grupa - + Labels & Attributes Oznake & Atributi - + Description Opis - + Show items hidden in tree view Prikaži sakrivene stavke u stablu dokumenta - + Show items that are marked as 'hidden' in the tree view Prikaži stavke koje su u stablu dokumenta označene kao 'sakrivene' - + Toggle visibility in tree view Uključi/isključi vidljivost u stablu dokumenta - + Toggles the visibility of selected items in the tree view Uključi/isključi vidljivost izabranih stavki u stablu dokumenta - + Create group... Napravi grupu... - + Create a group Napravi grupu - - + + Rename Preimenuj - + Rename object Preimenuj objekat - + Finish editing Završi uređivanje - + Finish editing object Završi uređivanje objekta - + Add dependent objects to selection Dodaj zavisne objekte izboru - + Adds all dependent objects to the selection Dodaje sve zavisne objekte izboru - + Close document Zatvori dokument - + Close the document Zatvori dokument - + Reload document Učitaj dokument ponovo - + Reload a partially loaded document Učitaj ponovo delimično učitan dokument - + Skip recomputes Preskoči ponovna preračunavanja - + Enable or disable recomputations of document Omogući ili onemogući ponovno preračunavanje dokumenta - + Allow partial recomputes Dozvoli delimična preračunavanja - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Enable or disable recomputating editing object when 'skip recomputation' is enabled - + Mark to recompute Označi za ponovno izračunavanje - + Mark this object to be recomputed Označi ovaj objekat za ponovno izračunavanje - + Recompute object Ponovno preračunaj objekat - + Recompute the selected object Ponovno preračunaj izabrani objekat - + (but must be executed) (ali mora da se izvrši) - + %1, Internal name: %2 %1, Unutrašnje ime: %2 @@ -8227,12 +7548,12 @@ Do you want to specify another directory? PDF datoteka - + Opening file failed Otvaranje datoteke neuspešno - + Can't open file '%1' for writing. Can't open file '%1' for writing. @@ -8240,7 +7561,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Izaberi '%1' radno okruženje @@ -8248,37 +7569,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Usluge - + Hide %1 Sakrij '%1' - + Hide Others Sakrij ostale - + Show All Prikaži sve - + Preferences... Podešavanja... - + Quit %1 Odustani %1 - + About %1 O %1 @@ -8298,11 +7619,6 @@ Do you want to specify another directory? Position - - - Form - Obrazac - X: @@ -8397,14 +7713,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Neispravan unos - - + + Input in line %1 is not a number Unos u redu %1 nije broj @@ -8412,37 +7728,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Stablo dokumenta - + Property view Osobine prikaza - + Selection view Pregledač izbora - + Combo View Kombinovani panel - + DAG View DAG View - + Report view Pregledač objava - + Python console Python konzola @@ -8455,31 +7771,32 @@ Do you want to specify another directory? QObject - - + + General Opšte - - + + + Display Prikaz - + Workbenches Radna okruženja - - - + + + Python Python @@ -8507,17 +7824,27 @@ Do you want to specify another directory? Ne mogu sačuvati nepoznatu vrstu datoteke: %1 - + Workbench failure Otkazivanje radnog okruženja - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Izuzetak @@ -8563,8 +7890,8 @@ Do you want to specify another directory? Izvozim PDF... - + Unsaved document Nesačuvan dokument @@ -8585,39 +7912,39 @@ Do you want to specify another directory? Greška međuzavisnosti - + Copy selected Kopiraj izabrano - + Copy active document Kopiraj aktivni dokument - + Copy all documents Kopiraj sve dokumente - + Paste Nalepi - + Expression error Greška izraza - + Failed to parse some of the expressions. Please check the Report View for more details. Raščlanjivanje nekih izraza nije uspelo. Pogledaj izveštaj za više detalja. - + Failed to paste expressions Nalepljivanje izraza nije uspelo @@ -8653,225 +7980,225 @@ Be aware the point where you click matters. Budi svestan da je tačka na koju klikneš bitna. - - + + Save views... Sačuvaj poglede... - - + + Load views... Učitavanje pogleda... - - + + Freeze view Zamrzni pogled - - + + Clear views Očisti poglede - - - + + + Restore view &%1 Vrati pogled na prethodno stanje &%1 - + Save frozen views Sačuvaj zamrznute poglede - - + + Frozen views Zamrznuti pogledi - - + + Restore views Vrati poglede na prethodno stanje - + Importing the restored views would clear the already stored views. Do you want to continue? Uvoz obnovljenih pogleda bi obrisao već uskladištene poglede. Da li želiš da nastaviš? - + Restore frozen views Vrati zamrznute poglede na prethodno stanje - + Cannot open file '%1'. Ne mogu otvoriti datoteku '%1'. - + files Datoteke - + Save image Sačuvaj sliku - + Choose an image file to open Izaberi datoteku slike koju želiš da otvoriš - + New sub-group Nova podgrupa - - - - - - + + + + + + Enter the name: Unesi ime: - - + + New text item Nova tekstualna stavka - - + + Enter your text: Unesi tekst: - - + + New integer item New integer item - - - - - - + + + + + + Enter your number: Unesi broj: - - + + New unsigned item New unsigned item - - + + New float item New float item - + New Boolean item Nova Bulova stavka - - + + Choose an item: Izaberi stavku: - + New boolean item Nova bulova stavka - + Rename group Preimenuj grupu - + The group '%1' cannot be renamed. Grupa '%1' se ne može preimenovati. - + Existing group Postojeća grupa - + The group '%1' already exists. Grupa '%1' već postoji. - - - - - + + + + + Change value Promeni vrednost - + Type Vrsta - + Notifier Obaveštavač - + Message Poruka - + Notifier: Obaveštavač: - + Do you want to skip confirmation of further critical message notifications while loading the file? Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! Previše otvorenih nenametljivih obaveštenja. Obaveštenja se izostavljaju! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8880,44 +8207,44 @@ Da li želiš da nastaviš? - + Are you sure you want to continue? Da li si siguran da želiš da nastaviš? - + Please check report view for more... Pogledajte izveštaj za više... - + Physical path: Fizička putanja: - - + + Document: Dokument: - - + + Path: Putanja: - + Identical physical path Identična fizička putanja - + Could not save document Nije moguće sačuvati dokument - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8930,102 +8257,102 @@ Would you like to save the file with a different name? Da li želite da sačuvate datoteku pod drugim imenom? - - - + + + Saving aborted Snimanje obustavljeno - + Save dependent files Sačuvaj zavisne datoteke - + The file contains external dependencies. Do you want to save the dependent files, too? Datoteka sadrži spoljne zavisnosti. Da li želiš da sačuvaš i zavisne datoteke? - - + + Saving document failed Snimanje dokumenta nije uspelo - + Save document under new filename... Sačuvaj dokument pod novim imenom... - - + + Save %1 Document Sačuvaj %1 Dokument - + Document Dokument - - + + Failed to save document Nije uspelo snimanje dokumenta - + Documents contains cyclic dependencies. Do you still want to save them? Dokumenti sadrže ciklične zavisnosti. Da li i dalje želiš da ih spaseš? - + Save a copy of the document under new filename... Sačuvaj kopiju dokumenta pod novim imenom datoteke... - + %1 document (*.FCStd) %1 dokument (*.FCStd) - + Document not closable Dokument nije moguće zatvoriti - + The document is not closable for the moment. Trenutno nije moguće zatvoriti dokument. - + Document not saved Dokument nije snimnjen - + The document%1 could not be saved. Do you want to cancel closing it? Dokument%1 nije mogao biti snimljen. Da li želiš da otkažeš zatvaranje? - + Undo Poništi - + Redo Ponovi - + There are grouped transactions in the following documents with other preceding transactions There are grouped transactions in the following documents with other preceding transactions - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9039,47 +8366,47 @@ Izaberi „Prekini“ da bi prekinuo Sačuvaj Makro - - + + Finish Završi - - + + Clear Obriši - - - + + + Cancel Otkaži - + Inner Unutrašnje - + Outer Spoljašnje - + Split Podeli - - + + No Browser Nema pregledača - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9088,48 +8415,48 @@ Please open a browser window and type in: http://localhost:%1. Otvori pregledač i ukucaj: http://localhost:%1. - + No Server Nema Servera - + Unable to start the server to port %1: %2. Nije moguće pokrenuti server na portu %1: %2. - + Unable to open your system browser. Ne mogu otvoriti vaš sistemski pregledač. - + Options... Opcije... - + Out of memory Nema dovoljno memorije - + Not enough memory available to display the data. Nema dovoljno memorije za prikazivanje podataka. - - + + Cannot find file %1 Ne mogu pronaći datoteku %1 - + Cannot find file %1 neither in %2 nor in %3 Ne mogu pronaći datoteku %1 ni u %2 ni u %3 - + Navigation styles Navigacioni stilovi @@ -9139,8 +8466,8 @@ Otvori pregledač i ukucaj: http://localhost:%1. Pomeri napomenu - - + + Transform Pomeri @@ -9150,42 +8477,42 @@ Otvori pregledač i ukucaj: http://localhost:%1. Do you want to close this dialog? - + Do you want to save your changes to document '%1' before closing? Da li želiš da sačuvaš promene u dokument '%1' pre zatvaranja? - + Do you want to save your changes to document before closing? Da li želiš da snimiš promene u dokumentu pre zatvaranja? - + If you don't save, your changes will be lost. Ako ne sačuvaš, promene će biti izgubljene. - + Apply answer to all Primeni odgovor na sve - + %1 Document(s) not saved %1 Dokument(i) nisu snimljeni - + Some documents could not be saved. Do you want to cancel closing? Neki dokumenti nisu mogli biti snimljeni. Da li želiš da otkažeš zatvaranje? - + Delete macro Obriši makro - + Not allowed to delete system-wide macros Nije dozvoljeno brisanje sistemskih makro-a @@ -9195,27 +8522,27 @@ Otvori pregledač i ukucaj: http://localhost:%1. Koordinatni početak - + Delete group content? Izbriši sadržaj grupe? - + The %1 is not empty, delete its content as well? %1 nije prazan, želiš li izbrisati i njegov sadržaj? - + Translation: Translacija: - + Rotation: Rotacija: - + Toggle active part Aktiviraj/deaktiviraj deo @@ -9278,88 +8605,88 @@ Otvori pregledač i ukucaj: http://localhost:%1. Uvoz svih spona nije uspeo - - + + Invalid name Pogrešno ime - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Ime osobine ili ime grupe mora da sadrži samo alfanumeričke brojeve, donju crtu i ne sme da počinje brojem. - + The property '%1' already exists in '%2' Osobina „%1“ već postoji u „%2“ - + Add property Dodaj osobinu - + Failed to add property to '%1': %2 Nije uspelo dodavanje osobine u '%1': %2 - - + + Drag & drop failed Prevlačenje i otpuštanje nije uspelo - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed Izaberi koje objekte želiš da kopiraš kada se konfiguracija promeni - + Apply to all Primeni na sve - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Primeni postavku na sve veze. Ili poništi izbor ove opcije da bi primenio samo na ovu vezu. - + Copy on change Kopiraj prilikom promene - + Enable Omogući - + Enable auto copy of linked object when its configuration is changed Omogući automatsko kopiranje povezanog objekta kada se promeni njegova konfiguracija - + Tracking Rastojanje među slovima - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9368,17 +8695,17 @@ Takođe automatski ponovo uradi kopiju ako se promeni originalni povezani objeka - + Disable copy on change Onemogući kopiranje prilikom promene - + Refresh configurable object Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9389,28 +8716,28 @@ the current copy will be lost. - + Toggle array elements Toggle array elements - + Change whether show each link array element as individual objects Change whether show each link array element as individual objects - + Transform at the origin of the placement Transform at the origin of the placement - - + + Override colors... Izmeni boje... - + Edit %1 Uredi %1 @@ -9433,12 +8760,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Nije dozvoljeno: - + Selection not allowed by filter Filter ne dozvoljava izbor @@ -9446,9 +8773,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Pravougaoni izbor elemenata @@ -9456,13 +8783,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Pravougaoni izbor - - + + Activate the box selection tool Aktiviraj alatku za pravougaoni izbor @@ -9540,13 +8867,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Uključi/isključi ortogonalni triedar - - + + Turns on or off the axis cross at the origin Uključi/Isključi koordinatni sistem u koordinatnom početku @@ -9652,13 +8979,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Prikaži gramofon... - - + + View turntable Prikaži gramofon @@ -9778,13 +9105,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Stil prikaza - - + + Change the draw style of the objects Promeni stil prikaza objekata @@ -9848,13 +9175,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Radnje sa izrazima - - + + Actions that apply to expressions Radnje koje se primenjuju na izraze @@ -9971,13 +9298,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Zamrzni prikaz - - + + Freezes the current view position Zamrzava trenutni položaj u pogledu @@ -9998,13 +9325,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Sakrij sve objekte - - + + Hide all objects in the document Sakrij sve objekte u dokumentu @@ -10012,13 +9339,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Sakrij izbor - - + + Hide all selected objects Sakrij sve izabrane objekte @@ -10292,13 +9619,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Izmeri rastojanje - - + + Activate the distance measurement tool Aktiviraj alatku za merenje rastojanja @@ -10357,8 +9684,8 @@ the current copy will be lost. Napravi novi prazan dokument - - + + Unnamed Bez imena @@ -10586,8 +9913,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Nedavne datoteke + Open Recent + Otvori nedavno @@ -10725,13 +10052,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Pregled scene... - - + + Scene inspector Pregled scene @@ -10739,13 +10066,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Nazad - - + + Go back to previous selection Vrati se na prethodni izbor @@ -10753,13 +10080,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Granična kutija - - + + Show selection bounding box Prikaži graničnu kutiju @@ -10767,13 +10094,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Napred - - + + Repeat the backed selection Repeat the backed selection @@ -10795,13 +10122,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Izaberi vidljive objekte - - + + Select visible objects in the active document Izaberi vidljive objekte u aktivnom dokumentu @@ -10823,13 +10150,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Izgled... - - + + Sets the display properties of the selected object Podešava osobine prikaza izabranog objekta @@ -10837,13 +10164,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Prikaži sve objekte - - + + Show all objects in the document Prikaži sve objekte u dokumentu @@ -10851,13 +10178,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Prikaži izbor - - + + Show all selected objects Prikaži sve izabrane objekte @@ -10893,13 +10220,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Mapiranje tekstura... - - + + Texture mapping Mapiranje tekstura @@ -10935,13 +10262,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Ravan isecanja - - + + Toggles clipping plane for active view Uključuje/isklljučuje ravan odsecanja za aktivni prikaz @@ -10949,13 +10276,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Navigacioni/uređivački režim - - + + Toggle between navigation and edit mode Preklopnik između režima navigacije i uređivanja @@ -10963,13 +10290,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Uključi/isklljuči sve objekte - - + + Toggles visibility of all objects in the active document Preklopnik za vidljivost svih objekata u aktivnom dokumentu @@ -10977,13 +10304,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Uključi/isklljuči mogućnost izbora - - + + Toggles the property of the objects to get selected in the 3D-View Uključuje/isklljučuje mogućnost da neki objekat bude selektovan u 3D pogledu @@ -10991,13 +10318,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Uključi/isklljuči vidlljivost - - + + Toggles visibility Uključuje/isklljučuje vidljivost @@ -11047,13 +10374,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Skupi izabranu stavku - - + + Collapse currently selected tree items Skupi trenutno izabranu stavku stabla dokumenta @@ -11061,13 +10388,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Proširi izabranu stavku - - + + Expand currently selected tree items Proširi trenutno izabranu stavku stabla dokumenta @@ -11075,13 +10402,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Select all instances - - + + Select all instances of the current selected object Select all instances of the current selected object @@ -11089,13 +10416,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions Radnje u stablu dokumenta - - + + TreeView behavior options and actions TreeView behavior options and actions @@ -11159,13 +10486,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Odozdo - - + + Set to bottom view Namesti osnovni pogled odozdo @@ -11173,13 +10500,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Napravi novi pogled - - + + Creates a new view window for the active document Napravi novi prozor za prikaz aktivnog dokumenta @@ -11187,13 +10514,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimetrijski - - + + Set to dimetric view Namesti dimetrijski pogled @@ -11201,13 +10528,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor primer #1 - - + + Shows a 3D texture with manipulator Shows a 3D texture with manipulator @@ -11215,13 +10542,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor primer #2 - - + + Shows spheres and drag-lights Shows spheres and drag-lights @@ -11229,13 +10556,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor primer #3 - - + + Shows a animated texture Shows a animated texture @@ -11243,13 +10570,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Smesti sve - - + + Fits the whole content on the screen Smešta sav sadržaj na ekran @@ -11257,13 +10584,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Smesti izabrano - - + + Fits the selected content on the screen Smešta izabran sadržaj na ekran @@ -11271,13 +10598,13 @@ the current copy will be lost. StdCmdViewFront - + Front Spreda - - + + Set to front view Namesti osnovni pogled spreda @@ -11285,13 +10612,13 @@ the current copy will be lost. StdCmdViewHome - + Home Početna - - + + Set to default home view Set to default home view @@ -11299,13 +10626,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Izometrijski - - + + Set to isometric view Namesti izometrijski pogled @@ -11313,13 +10640,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Issue camera position - - + + Issue the camera position to the console and to a macro, to easily recall this position Issue the camera position to the console and to a macro, to easily recall this position @@ -11327,13 +10654,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereo Interleaved Columns - - + + Switch stereo viewing to Interleaved Columns Switch stereo viewing to Interleaved Columns @@ -11341,13 +10668,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Stereo Interleaved Rows - - + + Switch stereo viewing to Interleaved Rows Switch stereo viewing to Interleaved Rows @@ -11355,13 +10682,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Isključi stereoskopiju - - + + Switch stereo viewing off Isključi stereoskopski prikaz @@ -11369,13 +10696,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo quad buffer - - + + Switch stereo viewing to quad buffer Switch stereo viewing to quad buffer @@ -11383,13 +10710,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo crvena/cijan - - + + Switch stereo viewing to red/cyan Prebaci stereo prikaz na crveno/cijan @@ -11397,13 +10724,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Sleva - - + + Set to left view Namesti osnovni pogled sleva @@ -11411,13 +10738,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Straga - - + + Set to rear view Namesti osnovni pogled straga @@ -11439,13 +10766,13 @@ the current copy will be lost. StdCmdViewRight - + Right Sdesna - - + + Set to right view Namesti osnovni pogled sdesna @@ -11453,13 +10780,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Rotiraj Ulevo - - + + Rotate the view by 90° counter-clockwise Rotiraj pogled za 90° u smeru suprotnom od kazaljke na satu @@ -11467,13 +10794,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Rotiraj Udesno - - + + Rotate the view by 90° clockwise Rotiraj pogled za 90° u smeru kazaljke na satu @@ -11495,13 +10822,13 @@ the current copy will be lost. StdCmdViewTop - + Top Odozgo - - + + Set to top view Namesti osnovni pogled odozgo @@ -11509,13 +10836,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimetrijski - - + + Set to trimetric view Namesti trimetrijski pogled @@ -11523,13 +10850,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Proširi FreeCAD 3D prozor na Oculus Rift @@ -11593,13 +10920,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Ceo ekran - - + + Display the main window in fullscreen mode Prikaži glavni prozor u režimu celog ekrana @@ -11635,13 +10962,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Opozovi radni pogled - - + + Recall previously stored temporary working view Opozovi prethodno sačuvan privremeni radni pogled @@ -11649,13 +10976,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Sačuvaj radni pogled - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11663,13 +10990,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Skupi/Proširi - - + + Expand active document and collapse all others Proširi u stablu dokumenta aktivni a skupi sve ostale dokumente @@ -11677,12 +11004,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Pokreni prevlačenje - + Initiate dragging of current selected tree items Pokreni prevlačenje trenutno izabranih stavki stabla dokumenta @@ -11690,13 +11017,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Višestruki dokumenat - - + + Display all documents in the tree view Prikazuj sve dokumente u stablu dokumenta @@ -11704,12 +11031,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Predizbor - + Preselect the object in 3D view when mouse over the tree item Unapred izaberi objekat u 3D pogledu samo prolaskom mišem preko stavke u stablu @@ -11717,12 +11044,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Snimi izbor - + Record selection in tree view in order to go back/forward using navigation button Snimi izbor u stablu dokumenta da bi se kretao napred/nazad koristeći dugme za navigaciju @@ -11730,13 +11057,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Idi na izabrano - - + + Scroll to first selected item Idi do prve izabrane stavke @@ -11744,13 +11071,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Jedan dokument - - + + Only display the active document in the tree view Prikazuj samo aktivni dokument u stablu dokumenta @@ -11758,12 +11085,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Sinhronizuj položaj - + Auto adjust placement on drag and drop objects across coordinate systems Automatsko prilagođavanje položaja prilikom prevlačenja objekata kroz koordinatne sisteme @@ -11771,12 +11098,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Sinhronizuj izbor - + Auto expand tree item when the corresponding object is selected in 3D view Automatsko proširivanje stavke u stablu kada je odgovarajući objekat izabran u 3D pogledu @@ -11784,12 +11111,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Sinhronizuj prikaz - + Auto switch to the 3D view containing the selected item Automatski pređi na 3D pogled koji sadrži izabranu stavku @@ -11797,13 +11124,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Zumiranje okvirom - - + + Activate the box zoom tool Aktiviraj zumiranje okvirom @@ -11811,13 +11138,13 @@ the current copy will be lost. StdViewDock - + Docked Usidren - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaži aktivni pogled na celom ekranu, u usidrenom ili u odsidrenom režimu @@ -11825,13 +11152,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Prozor dokumenta - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaži aktivni pogled na celom ekranu, u usidrenom ili u odsidrenom režimu @@ -11839,13 +11166,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Ceo ekran - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaži aktivni pogled na celom ekranu, u usidrenom ili u odsidrenom režimu @@ -11853,13 +11180,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Sačuvaj sliku... - - + + Creates a screenshot of the active view Pravi snimak aktivnog 3D pogleda @@ -11867,13 +11194,13 @@ the current copy will be lost. StdViewUndock - + Undocked Odsidren - - + + Display the active view either in fullscreen, in undocked or docked mode Prikaži aktivni pogled na celom ekranu, u usidrenom ili u odsidrenom režimu @@ -11881,13 +11208,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Uvećaj - - + + Increase the zoom factor by a fixed amount Povećaj faktor zumiranja za fiksni iznos @@ -11895,13 +11222,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Umanji - - + + Decrease the zoom factor by a fixed amount Smanji faktor zumiranja za fiksni iznos @@ -11936,72 +11263,72 @@ Da li si siguran da želiš da nastaviš? Std_DrawStyle - + As is Kao što je - + Normal mode Uobičajeni režim - + Points Tačke - + Points mode Režim prikaza 3D tačaka - + Wireframe Žičani - + Wireframe mode Režim prikaza žičani - + Hidden line Kao trougaona mreža - + Hidden line mode Režim prikaza kao trougaona mreža - + No shading Bez senčenja - + No shading mode Režim prikaza bez senčenja - + Shaded Nevidljive ivice, sa senčenjem - + Shaded mode Režim prikaza nevidljive ivice, sa senčenjem - + Flat lines Vidljive ivice sa senčenjem - + Flat lines mode Režim prikaza Vidljive ivice sa senčenjem @@ -12064,32 +11391,32 @@ Da li i dalje želiš da nastaviš? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12097,117 +11424,117 @@ Da li i dalje želiš da nastaviš? Workbench - + &File &Datoteka - + &Edit &Uredi - + Edit Uredi - + Clipboard Privremena memorija - + Workbench Radno okruženje - + Structure Struktura - + Standard views Osnovni pogledi - + Axonometric Aksonometrijski - + &Stereo &Stereo - + &Zoom &Zum - + Visibility Vidljivost - + &View &Pogled - + &Tools &Alati - + &Macro &Makro - + &Windows &Prozori - + &On-line help Pomoć na mreži - + &Help &Pomoć - + Help Pomoć - + File Datoteka - + Macro Makro - + View Pogled - + Special Ops Specijalne operacije - + Link actions Radnje sa sponama @@ -12215,12 +11542,12 @@ Da li i dalje želiš da nastaviš? Gui::MDIView - + Export PDF Izvezi PDF - + PDF file PDF datoteka @@ -12228,196 +11555,190 @@ Da li i dalje želiš da nastaviš? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Oblast za obaveštenja - + Settings Podešavanja - + The Notification area will appear in the status bar Oblast za obaveštenja će se pojaviti na statusnoj traci - + Enable Notification Area Omogući oblast za obaveštenja - + Non-intrusive notifications will appear next to the notification area in the status bar Nenametljiva obaveštenja će se pojaviti pored oblasti za obaveštenja na statusnoj traci - + Enable non-intrusive notifications Omogući nenametljiva obaveštenja - + Additional data sources Dodatni izvori podataka - + Errors intended for developers will appear in the notification area Greške će se pojaviti u oblasti za obaveštenja - + Debug errors Otklanjanje grešaka - + Warnings intended for developers will appear in the notification area Upozorenja će se pojaviti u oblasti za obaveštenja - + Debug warnings Upozorenja za otklanjanje grešaka - + Non-Intrusive Notifications Nenametljiva obaveštenja - + Minimum Duration: Minimalno trajanje: - + Maximum Duration: Maksimalno trajanje: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Vremenski period tokom kojeg će se obaveštenje prikazivati (osim ako se ne klikne na tastere miša) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimalni vremenski period tokom kojeg će se obaveštenje prikazivati (osim ako se ne klikne na obaveštenje) - + Maximum Number of Notifications: Maksimalan broj obaveštenja: - + Maximum number of notifications that will be simultaneously present on the screen Maksimalan broj obaveštenja koja će istovremeno biti prikazana na ekranu - + Notification width: Širina obaveštenja: - + Width of the notification in pixels Širina obaveštenja u pikselima - + Any open non-intrusive notifications will disappear when another window is activated Sva otvorena nenametljiva obaveštenja će nestati kada se aktivira drugi prozor - + Hide when other window is activated Sakrij kada se aktivira drugi prozor - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Spreči pojavljivanje nenametljivih obaveštenja kada FreeCAD prozor nije aktivan prozor - + Do not show when inactive Ne prikazuj kada je neaktivan - + Message List Lista Poruka - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Ograničite broj poruka koje će se nalaziti u listi. Ako je 0, nema ograničenja. - + Maximum Messages (0 = no limit): Maksimalan broj poruka (0 = bez ograničenja): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Uklanja korisnička obaveštenja sa liste poruka nakon što istekne maksimalni nenametljivi vremenski period. - + Auto-remove User Notifications Automatsko uklanjanje korisničkih obaveštenja - - - Activation of the Notification Area only takes effect after an application restart. - Aktivacija oblasti za obaveštenja stupa na snagu tek nakon ponovnog pokretanja aplikacije. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Raspoloživa radna okruženja - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Možete da promenite redosled radnih okruženja prevlačenjem. Dodatna radna okruženja se mogu instalirati pomću Menadžera dodataka.</p><p> Trenutno tvoj sistem ima sledeća radna okruženja:</p></body></html> - + Start up workbench: Pokreni radno okruženje: - + Choose which workbench will be activated and shown after FreeCAD launches Izaberi koje će radno okruženje biti aktivirano i prikazano nakon pokretanja FreeCAD-a - + Workbench selector position : Položaj birača radnog okruženja: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12430,12 +11751,12 @@ nakon pokretanja FreeCAD-a „Desni ugao“: Na traci menija, u desnom uglu. - + If checked, application will remember which workbench is active for each tab of the viewport Ako je čekirano, FreeCAD će zapamtiti koje je radno okruženje aktivno za svaku karticu prozora glavne grafičke oblasti - + Remember active workbench by tab Zapamti aktivno radno okruženje pomoću kartice @@ -12584,47 +11905,47 @@ nakon pokretanja FreeCAD-a Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Ako nije čekirano, %1 se neće pojaviti u dostupnim radnim okruženjima. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Ovo je trenutni modul za pokretanje i mora biti omogućen. Pogledajte Podešavanja/Opšte/Automatsko učitavanje ako želiš da promeniš. - + Shortcut to activate this workbench. Prečica za aktiviranje ovog radnog okruženja. - + Auto-load Automatsko učitavanje - + If checked, %1 will be loaded automatically when FreeCAD starts up Ako je čekirano, %1 će se automatski učitati kada se FreeCAD pokrene - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded Učitan - + Load Učitaj - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Da bi sačuvao resurse, FreeCAD ne učitava radna okruženja dok se ne koriste. Njihovo učitavanje može da omogući pristup dodatnim podešavanjima koja se odnose na njihovu funkcionalnost. @@ -12632,17 +11953,22 @@ nakon pokretanja FreeCAD-a Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Paleta sa alatima - + Left corner Levi ugao - + Right corner Desni ugao @@ -12668,12 +11994,12 @@ nakon pokretanja FreeCAD-a Gui::NotificationArea - + Delete user notifications Izbriši korisnička obaveštenja - + Delete All Obriši sve @@ -12709,13 +12035,13 @@ nakon pokretanja FreeCAD-a StdViewLoadImage - + Load image... Učitaj sliku... - - + + Loads an image Učitavanje slike @@ -12777,10 +12103,812 @@ nakon pokretanja FreeCAD-a Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Dogodila se greška - Za više informacija pogledaj Pregledač objava + + Gui::Dialog::DlgSettingsEditor + + + Editor + Urednik + + + + Options + Opcije + + + + Code lines will be numbered + Linije koda će biti numerisane + + + + Enable line numbers + Omogući brojeve linija + + + + The cursor shape will be a block + Oblik kursora će biti blok + + + + Enable block cursor + Omogući kursor u obliku bloka + + + + Enable folding + Omogući prelom + + + + Indentation + Uvlačenje + + + + Tab size: + Veličina kartice: + + + + Tabulator raster (how many spaces) + Veličina tabulatora (koliko razmaka) + + + + Indent size: + Veličina uvlačenja: + + + + How many spaces will be inserted when pressing <Tab> + Koliko će razmaka biti umetnuto kada pritisneš <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Pritiskom na <Tab> umetnuće tabulator sa definisanom veličinom kartice + + + + Keep tabs + Zadrži kartice + + + + Pressing <Tab> will insert amount of defined indent size + Pritisak na <Tab> umetnuće definisanu veličinu uvlačenja + + + + Insert spaces + Umetni razmak + + + + Display items + Prikaži stavke + + + + Color and font settings will be applied to selected type + Podešavanja boja i fonta će biti primenjena na izabrani tip + + + + Family: + Familija: + + + + Font family to be used for selected code type + Familija fontova koja će se koristiti za izabrani tip koda + + + + Size: + Veličina: + + + + Font size to be used for selected code type + Veličina fontova koja će se koristiti za izabrani tip koda + + + + Color: + Boja: + + + + Preview: + Pregled: + + + + Text + Tekst + + + + Bookmark + Obeleživač + + + + Breakpoint + Tačka prekida + + + + Keyword + Ključna reč + + + + Comment + Komentar + + + + Block comment + Blokiraj komentar + + + + Number + Broj + + + + String + Znakovni niz + + + + Character + Karakter + + + + Class name + Ime klase + + + + Define name + Definiši ime + + + + Operator + Operator + + + + Python output + Python izlaz + + + + Python error + Python greška + + + + Current line highlight + Isticanje trenutne linije + + + + Items + Stavke + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Opšte + + + + Language and number format + Jezik i format broja + + + + Language: + Jezik: + + + + Language of the application's user interface + Jezik korisničkog okruženja aplikacije + + + + Unit system: + Sistem mernih jedinica: + + + + Unit system that should be used for all parts of the application + Sistem mernih jedinica koji treba da se koristi za sve delove aplikacije + + + + Number of decimals: + Broj decimala: + + + + Number of decimals that should be shown for numbers and dimensions + Broj decimala koje treba prikazati za brojeve i dimenzije + + + + Minimum fractional inch: + Minimalni razlomak za definisanje preciznosti inča: + + + + Minimum fractional inch to be displayed + Minimalni razlomak za definisanje preciznosti inča koji će biti prikazan + + + + Number format: + Format brojeva: + + + + Operating system + Operativni sistem + + + + Selected language + Izabrani jezik + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Ako je čekirano, decimalni separator numeričke tastature +biće zamenjen lokalnim separatorom, osim +u Python konzoli i uređivaču makro-a gde će +tačka/zarez uvek biti štampani. + + + + Substitute decimal separator + Zameni decimalni separator + + + + Application + Aplikacija + + + + Theme: + Tema: + + + + Customize how user interface will look like + Prilagodi kako će izgledati korisnički interfejs + + + + Size of toolbar icons: + Veličina ikona na paleti alatki: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Izaberi veličinu ikone na paleti sa alatkama. Možeš podesiti +prema veličini ekrana ili ličnom ukusu + + + + Tree view mode: + Režim stabla dokumenta: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Prilagodi kako se stablo dokumenta prikazuje na panelu (potrebno je ponovno pokretanje). + +'Kombinovani pogled': kombinuje stablo dokumenta i Osobine prikaz-a u jedan panel. +'Stablo dokumenta i Osobine prikaza': podeli stablo dokumenta i Osobine prikaza u posebne panele. +'Oba': zadrži sva tri panela i možeš imati dva seta stabla dokumenta i Osobina prikaza. + + + + Size of recent file list: + Veličina liste nedavno otvaranih datoteka: + + + + How many files should be listed in recent files list + Koliko datoteka treba da bude navedeno na listi nedavnih datoteka + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Pozadina glavnog prozora (kada nijedan dokument nije otvoren) će biti popločana posebnom slikom. +Pogledaj FreeCAD Wiki za detalje o slici. + + + + Enable tiled background + Omogući popločanu pozadinu + + + + The text cursor will be blinking + Kursor teksta će treptati + + + + Enable cursor blinking + Omogući treptanje kursora + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Početni ekran je mali prozor za učitavanje koji se prikazuje +kada se FreeCAD pokreće. Ako je ova opcija čekirana, FreeCAD će +prikazati početni ekran + + + + Enable splash screen at start up + Omogući početni ekran pri pokretanju + + + + Preference packs + Paketi podešavanja + + + + Name + Ime + + + + Type + Vrsta + + + + Load + Učitaj + + + + Import config... + Uvezi konfiguraciju... + + + + Save new... + Sačuvaj novi... + + + + Manage... + Upravljaj... + + + + Revert... + Vrati... + + + + Manage preference packs + Upravljanje paketima podešavanja + + + + Small (%1px) + Mali (%1px) + + + + Medium (%1px) + Srednji (%1px) + + + + Large (%1px) + Veliki (%1px) + + + + Extra large (%1px) + Ekstra veliki (%1px) + + + + Custom (%1px) + Sopstveni (%1px) + + + + Combo View + Kombinovani panel + + + + TreeView and PropertyView + Stablo dokumenta i Osobine prikaza + + + + Both + Oba + + + + Preference Pack Name + Ime paketa podešavanja + + + + Tags + Oznake + + + + Apply + Primeni + + + + Apply the %1 preference pack + Primeniti %1 paket podešavanja + + + + Choose a FreeCAD config file to import + Izaberi FreeCAD konfiguracionu datoteku koju hoćeš uvesti + + + + File exists + Datoteka postoji + + + + A preference pack with that name already exists. Overwrite? + Paket podešavanja sa tim imenom već postoji. Zameni? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Pregledač objava + + + + Output + Izlaz + + + + Normal messages will be recorded + Uobičajene poruke će biti snimljene + + + + Record normal messages + Snimi uobičajene poruke + + + + Log messages will be recorded + Poruke u dnevniku će biti snimljene + + + + Record log messages + Snimi poruke u dnevnik + + + + Warnings will be recorded + Upozorenja će biti snimljena + + + + Record warnings + Snimi upozorenja + + + + Error messages will be recorded + Poruke o grešci će biti snimljene + + + + Record error messages + Snimi poruke o greškama + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Kada dođe do greške, na ekranu će biti vidljiv Pregled Izveštaja dok se prikazuje greška + + + + Show report view on error + Prikaži pregled izveštaja o grešci + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Kada dođe do upozorenja, na ekranu će biti vidljiv Pregled Izveštaja dok se prikazuje upozorenje + + + + Show report view on warning + Prikaži izveštaj uz upozorenje + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Kada nastane obična poruka, na ekranu će biti vidljiv Pregled Izveštaja dok se prikazuje poruka + + + + Show report view on normal message + Prikaži izveštaj uz običnu poruku + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Kada nastane poruka u dnevniku, na ekranu će biti vidljiv Pregled Izveštaja dok se prikazuje poruka iz dnevnika + + + + Show report view on log message + Prikaži izveštaj uz poruku dnevnika + + + + Include a timecode for each report + Uključi vremenski kod za svaki izveštaj + + + + Include a timecode for each entry + Uključi vremenski kod za svaki unos + + + + Colors + Boje + + + + Normal messages: + Uobičajene poruke: + + + + Font color for normal messages in Report view panel + Boja fonta za obične poruke na tabli za prikaz izveštaja + + + + Log messages: + Poruke dnevnika: + + + + Font color for log messages in Report view panel + Boja fonta za poruke iz dnevnika na tabli za prikaz izveštaja + + + + Warnings: + Upozorenja: + + + + Font color for warning messages in Report view panel + Boja fonta za poruke upozorenja na tabli za prikaz izveštaja + + + + Errors: + Greške: + + + + Font color for error messages in Report view panel + Boja fonta za poruke o greškama na tabli za prikaz izveštaja + + + + Python interpreter + Python interpreter + + + + Internal Python output will be redirected +from Python console to Report view panel + Interni Python izlaz će biti preusmeren +sa Python konzole na tablu za prikaz izveštaja + + + + Redirect internal Python output to report view + Preusmeri interni Python izlaz ka izveštaju + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Interne poruke o Python greškama biti preusmerene +sa Python konzole na tablu za prikaz izveštaja + + + + Redirect internal Python errors to report view + Preusmeri interne Python greške u izveštaj + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Tema + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Ova stranica omogućava prilagođavanje trenutne teme. Ponuđena podešavanja su opciona za programere tema tako da mogu, ali ne moraju imati efekta u trenutnoj temi. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Nema stilskog lista + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_sr.ts b/src/Gui/Language/FreeCAD_sr.ts index 89ed96b680..dc5cad663f 100644 --- a/src/Gui/Language/FreeCAD_sr.ts +++ b/src/Gui/Language/FreeCAD_sr.ts @@ -42,29 +42,29 @@ Visual size of the feature - + <empty> <empty> - - + + Angle Угао - - + + Axis Оса - + Position Position - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Тестирајте излаз конзоле - - + + Run test cases to verify console messages Покрени тест случајеве да би проверио поруке конзоле @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Уклони измерено - + Clear all visible measurements Обриши сва видљива мерења @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Омогући/Онемогући мерење - + Turn on or off the display of all measurements Укључи/Искључи приказивање свих мерења @@ -132,7 +132,7 @@ Обриши - + Paste expressions Налепи израз @@ -182,7 +182,7 @@ Додај групу - + Align Align @@ -193,40 +193,40 @@ Положај - - + + Transform Помери - + Toggle array elements Toggle array elements - + Link Transform Link Transform - + Measure distance Измери растојање - + Toggle visibility Укључи/искључи видлљивост - + Toggle selectability Укључи/искључи могућност избора - + Edit image Уреди слику @@ -234,77 +234,77 @@ CommandGroup - + File Датотека - + Edit Уреди - + Help Помоћ - + Link Спона - + Tools Алати - + View Поглед - + Window Прозор - + Standard Стандард - + Macros Макро-и - + Macro Макро - + Structure Структура - + Standard-Test Standard-Test - + Standard-View Основни поглед - + TreeView Стабло документа - + Measure Измери @@ -402,11 +402,6 @@ DownloadItem - - - Form - Образац - Ico @@ -421,42 +416,42 @@ EditMode - + Default Подразумевано - + The object will be edited using the mode defined internally to be the most appropriate for the object type Објекат ће бити уређиван коришћењем интерно дефинисаног режима који је најприкладнији за тај тип објекта - + Transform Помери - + The object will have its placement editable with the Std TransformManip command Објекат ће имати свој положај који се може уређивати помоћу команде Std TransformManip - + Cutting Cutting - + This edit mode is implemented as available but currently does not seem to be used by any object Овај режим уређивања је имплементиран као доступан, али тренутно изгледа да га ниједан објекат не користи - + Color Боја - + The object will have the color of its individual faces editable with the Part FaceColors command Објекат ће имати боју својих појединачних лица која се може уређивати командом Part FaceColors @@ -482,7 +477,7 @@ ништа - + Press a keyboard shortcut Притисни пречицу на тастатури @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Доступно: - + Selected: Изабрано: - + Add Додај - + Remove Уклони - + Move up Помери нагоре - + Move down Померите надоле @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Покретни објекат - + Fixed object Непокретни објекат @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Сачекај док се датотека за аутоматско враћање не сачува... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Притисни леви тастер миша - + Press SHIFT and middle mouse button Притисни SHIFT и средњи тастер миша - + Press middle mouse button Притисни средњи тастер миша - + Scroll middle mouse button Окрећи cредњи таcтер миша @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Притисни леви тастер миша - + Press middle mouse button Притисни средњи тастер миша - + Press middle+left or middle+right button Притисни средњи+леви или средњи+десни тастер - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Окрећи средњи тастер миша или држи средњи тастер притиснут @@ -615,12 +610,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &У реду - + &Cancel &Откажи @@ -628,7 +623,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Панел задатака @@ -712,47 +707,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Заслуге - + FreeCAD would not be possible without the contributions of Списак свих који су дали допринос при стварању FreeCAD-а - + Individuals Header for the list of individual people in the Credits list. Појединци - + Organizations Header for the list of companies/organizations in the Credits list. Организације - - + + License Лиценца - + Libraries Библиотеке - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Овај софтвер користи компоненте отвореног кода чија ауторска права и друга власничка права припадају њиховим власницима: - + Collection Колекција @@ -760,22 +755,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Фасцикла за кеширање - + The cache directory %1 exceeds the size of %2. Директоријум за кеширање %1 премашује величину %2. - + Do you want to clear it now? Да ли желиш да га обришеш сада? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Упозорење: Увери се да је ово једина покренута инстанца %1 и да ниједан документ није отворен јер то може довести до губитка података! @@ -796,37 +791,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Подешавања камере - + Orientation Оријентација - + Q0 Q1 - + Q1 Q2 - + Q2 Q2 - + Q3 Q3 - + Current view Тренутни поглед @@ -892,7 +887,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Наредбе @@ -1117,12 +1112,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Пакет већ постоји - + A preference pack with that name already exists. Do you want to overwrite it? Пакет подешавања са тим именом већ постоји. Да ли желиш да га замениш овим? @@ -1360,48 +1355,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Унеси за претраживање... - + Icon Икона - + Command Команда - + Shortcut Пречица - + Default Подразумевано - + Name Име - + Title Наслов - + All Сва - - + + none ништа @@ -1409,8 +1404,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Траке алата @@ -1499,40 +1494,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separator> - + %1 module not loaded %1 модул није учитан - + New toolbar Нова трака са алаткама - - + + Toolbar name: Име палете алатки: - - + + Duplicated name Дуплирано име - - + + The toolbar name '%1' is already used Име палете алатки '%1' се већ користи - + Rename toolbar Преименуј траку са алаткама @@ -1545,19 +1540,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Прилагоди - + &Help &Помоћ - + &Close &Затвори @@ -1566,13 +1561,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Spaceball Покрети - + No Spaceball Present Spaceball није пронађен @@ -1580,27 +1575,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Spaceball Таcтери - + No Spaceball Present Spaceball није пронађен - + Buttons Дугмад - + Reset Поништи - + Print Reference Штампај Референцу @@ -1685,551 +1680,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Подразумевано - + Aluminium Алуминиум - + Brass Месинг - + Bronze Бронза - + Copper Бакар - + Chrome Хром - + Emerald Смарагд - + Gold Злато - + Jade Жад - + Metalized Метализирана - + Neon GNC Неон GNC - + Neon PHC Неон PHC - + Obsidian Опсидијан - + Pewter Калај - + Plaster Гипс - + Plastic Пластика - + Ruby Рубин - + Satin Сатен - + Shiny plastic Светла пластика - + Silver Сребро - + Steel Челик - + Stone Камен Gui::Dialog::DlgEditorSettings - - - Editor - Уредник - - - - Options - Опције - - - - Code lines will be numbered - Линије кода ће бити нумерисане - - - - Enable line numbers - Омогући бројеве линија - - - - The cursor shape will be a block - Облик курсора ће бити блок - - - - Enable block cursor - Омогући курсор у облику блока - - - - Enable folding - Омогући прелом - - - - Indentation - Увлачење - - - - Tab size: - Величина картице: - - - - Tabulator raster (how many spaces) - Величина табулатора (колико размака) - - - - Indent size: - Величина увлачења: - - - - How many spaces will be inserted when pressing <Tab> - Колико ће размака бити уметнуто када притиснеш <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Притиском на <Tab> уметнуће табулатор са дефинисаном величином картице - - - - Keep tabs - Задржи картице - - - - Pressing <Tab> will insert amount of defined indent size - Притисак на <Tab> уметнуће дефинисану величину увлачења - - - - Insert spaces - Уметни размак - - - - Display items - Прикажи ставке - - - - Color and font settings will be applied to selected type - Подешавања боја и фонта ће бити примењена на изабрани тип - - - - Family: - Фамилија: - - - - Font family to be used for selected code type - Фамилија фонтова која ће се користити за изабрани тип кода - - - - Size: - Величина: - - - - Font size to be used for selected code type - Величина фонтова која ће се користити за изабрани тип кода - - - - Color: - Боја: - - - - Preview: - Преглед: - - - Gui::Dialog::DlgGeneral - - - General - Опште - - - - Language of the application's user interface - Језик корисничког окружења апликације - - - - Number format: - Формат бројева: - - - - Operating system - Оперативни систем - - - - Selected language - Изабрани језик - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - Ако је чекирано, децимални сепаратор нумеричке тастатуре -биће замењен локалним сепаратором, осим -у Python конзоли и уређивачу макро-а где ће -тачка/зарез увек бити штампани. - - - - Preference packs - Пакети подешавања - - - - Name - Име - - - - Type - Врста - - - - Load - Учитај - - - - Import config... - Увези конфигурацију... - - - - Save new... - Сачувај нови... - - - - Manage... - Управљај... - - - - Revert... - Врати се... - - - - How many files should be listed in recent files list - Колико датотека треба да буде наведено на листи недавних датотека - - - - Enable tiled background - Омогући поплочану позадину - - - - The text cursor will be blinking - Курсор текста ће трептати - - - - Enable cursor blinking - Омогући трептање курсора - - - - Style sheet: - Стилски лист: - - - - Language and number format - Језик и формат броја - - - - Language: - Језик: - - - - Unit system: - Систем мерних јединица: - - - - Unit system that should be used for all parts of the application - Систем мерних јединица који треба да се користи за све делове апликације - - - - Number of decimals: - Број децимала: - - - - Number of decimals that should be shown for numbers and dimensions - Број децимала које треба приказати за бројеве и димензије - - - - Minimum fractional inch: - Минимални разломак за дефинисање прецизности инча: - - - - Minimum fractional inch to be displayed - Минимални разломак за дефинисање прецизности инча који ће бити приказан - - - - Substitute decimal separator - Замени децимални сепаратор - - - - Application - Апликација - - - - Style sheet how user interface will look like - Стилски лист како ће изгледати кориснички интерфејс - - - - Size of toolbar icons: - Величина икона на палети алатки: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Одабере величину иконе на траци са алаткама. Можеш подесити -према величини екрана или личном укусу - - - - Tree view mode: - Режим стабла документа: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Прилагоди како се стабло документа приказује на панелу (потребно је поновно покретање). - -'Комбиновани поглед': комбинује стабло документа и Особине приказ-а у један панел. -'Стабло документа и Особине приказа': подели стабло документа и Особине приказа у посебне панеле. -'Оба': задржи сва три панела и можеш имати два сета стабла документа и Особина приказа. - - - - Size of recent file list: - Величина листе недавнo отвараних датотека: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Озадина главног прозора (када ниједан документ није отворен) ће бити поплочана посебном сликом. -Погледај FreeCAD Wiki за детаље о слици. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Почетни екран је мали прозор за учитавање који се приказује -када се FreeCAD покреће. Ако је ова опција чекирана, FreeCAD ће -приказати почетни екран - - - - Enable splash screen at start up - Омогући почетни екран при покретању - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Управљање пакетима подешавања - - - - Small (%1px) - Мали (%1px) - - - - Medium (%1px) - Средњи (%1px) - - - - Large (%1px) - Велики (%1px) - - - - Extra large (%1px) - Екстра велики (%1px) - - - - Custom (%1px) - Сопствени (%1px) - - - - Combo View - Комбиновани панел - - - - TreeView and PropertyView - Стабло документа и Особине приказа - - - - Both - Оба - - - - No style sheet - Нема стилског листа - - - - Preference Pack Name - Име пакета подешавања - - - - Tags - Ознаке - - - - Apply - Примени - - - - Apply the %1 preference pack - Применити %1 пакет подешавања - - - - Choose a FreeCAD config file to import - Изабери FreeCAD конфигурациону датотеку коју хоћеш увести - - - - File exists - Датотека постоји - - - - A preference pack with that name already exists. Overwrite? - Пакет подешавања са тим именом већ постоји. Замени? - - Gui::Dialog::DlgInputDialog @@ -2245,8 +1812,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector Инспектор сцене @@ -2338,70 +1905,70 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros Макро-и - + Read-only Само за читање - + Macro file Макро датотека - + Enter a file name, please: Унеси назив датотеке: - - - + + + Existing file Постојећа датотека - + '%1'. This file already exists. '%1' Ова датотека већ постоји. - + Cannot create file Не могу направити датотеку - + Creation of file '%1' failed. Прављење датотеке '%1' неуcпешно. - + Delete macro Обриши макро - + Do you really want to delete the macro '%1'? Да ли стварно желиш обрисати макро '%1'? - + Do not show again Не показуј поново - + Guided Walkthrough Интерактивна тура - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2412,78 +1979,78 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 Интерактивни водич, дијалог 1 од 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Интерактивни водич: Попуни поља која недостају (необавезно), затим кликни на Додај, а затим на Затвори - + Walkthrough, dialog 1 of 1 Интерактивни водич, дијалог 1 од 1 - + Walkthrough, dialog 2 of 2 Интерактивни водич, дијалог 2 од 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Упутства: Кликни на дугме са стрелицом надесно (->), а затим Затвори. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Упутства: Кликни на Нови, затим на дугме са стрелицом надесно (->), а затим на Затвори. - + Renaming Macro File Преименовање датотеке макро-а - - + + Enter new name: Унеси ново име: - - + + '%1' already exists. '%1' већ постоји. - + Rename Failed Преименовање није успело - + Failed to rename to '%1'. Perhaps a file permission error? Није успело преименовање у „%1“. Можда је грешка у нивоу приступу датотеки? - + Duplicate Macro Дуплирај макро - + Duplicate Failed Дуплирање није успело - + Failed to duplicate to '%1'. Perhaps a file permission error? Није успело дуплирање у „%1“. @@ -2526,39 +2093,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Снимач макро-а - + Specify first a place to save. Прво одреди место за чување. - + The macro directory doesn't exist. Please, choose another one. Фасцикла са макро-има не постоји. Изабери другу. - + Existing macro Постојећи макро - + The macro '%1' already exists. Do you want to overwrite? Макро '%1' већ постоји. Желиш ли да га замениш овим? - + You have no write permission for the directory. Please, choose another one. Немаш дозволу уписивања у овај именик. Одабери други. - + Choose macro directory Одабери фасциклу макро-а @@ -2631,12 +2198,12 @@ Perhaps a file permission error? HTML датотеке - + Access denied Приступ одбијен - + Access denied to '%1' Specify another directory, please. @@ -3036,36 +2603,36 @@ Specify another directory, please. Датотека пројекта - - + + Empty source Празан извор - - + + No source is defined. Извор није дефинисан. - - + + Empty destination Празно одредиште - - + + No destination is defined. Одредиште није дефинисано. - + Failed to extract project Екстракција пројекта није успела - + Failed to create project Није успело стварање пројекта @@ -3115,184 +2682,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Прегледач објава - - - - Output - Излаз - - - - Normal messages will be recorded - Уобичајене поруке ће бити снимљене - - - - Record normal messages - Сними уобичајене поруке - - - - Log messages will be recorded - Поруке о грешкама ће бити снимљене - - - - Record log messages - Сними поруке у дневник - - - - Warnings will be recorded - Упозорења ће бити снимљена - - - - Record warnings - Сними упозорења - - - - Error messages will be recorded - Поруке о грешци ће бити снимљене - - - - Record error messages - Сними поруке о грешкама - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Када дође до грешке, на екрану ће бити видљив Преглед Извештаја док се приказује грешка - - - - Show report view on error - Прикажи преглед извештаја о грешци - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Када дође до упозорења, на екрану ће бити видљив Преглед Извештаја док се приказује упозорење - - - - Show report view on warning - Прикажи извештај уз упозорење - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Када настане обична порука, на екрану ће бити видљив Преглед Извештаја док се приказује порука - - - - Show report view on normal message - Прикажи извештај уз обичну поруку - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Када настане порука у дневнику, на екрану ће бити видљив Преглед Извештаја док се приказује порука из дневника - - - - Show report view on log message - Прикажи извештај уз поруку дневника - - - - Include a timecode for each report - Укључи временски код за сваки извештај - - - - Include a timecode for each entry - Укључи временски код за сваки унос - - - - Colors - Боје - - - - Normal messages: - Уобичајене поруке: - - - - Font color for normal messages in Report view panel - Боја фонта за обичне поруке на табли за приказ извештаја - - - - Log messages: - Поруке дневника: - - - - Font color for log messages in Report view panel - Боја фонта за поруке из дневника на табли за приказ извештаја - - - - Warnings: - Упозорења: - - - - Font color for warning messages in Report view panel - Боја фонта за поруке упозорења на табли за приказ извештаја - - - - Errors: - Грешке: - - - - Font color for error messages in Report view panel - Боја фонта за поруке о грешкама на табли за приказ извештаја - - - - Python interpreter - Python интерпретер - - - - Internal Python output will be redirected -from Python console to Report view panel - Интерни Python излаз ће бити преусмерен -са Python конзоле на таблу за приказ извештаја - - - - Redirect internal Python output to report view - Преусмери интерни Python излаз ка извештају - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Интерне поруке о Python грешкама бити преусмерене -са Python конзоле на таблу за приказ извештаја - - - - Redirect internal Python errors to report view - Преусмери интерне Python грешке у извештај - @@ -3319,7 +2708,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Нема избора у дијалогу, не може се учитати датотека резервне копије @@ -3362,7 +2751,7 @@ from Python console to Report view panel Помоћ - + Select a file Изабери датотеку @@ -3370,69 +2759,69 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View 3Д поглед - + General Опште - + Main coordinate system will always be shown in lower right corner within opened files Ортогонални триедар главног координатног система ће увек бити приказан у доњем десном углу отворених датотека - + Show coordinate system in the corner Прикажи координатни систем у углу - + Relative size : Релативна величина : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Величина приказа ортогоналног триедра у углу -- у % висине/ширине прозора приказа - + Axis cross will be shown by default at file opening or creation Задај да се координатни систем увек приказује - + Show axis cross by default Прикажи координатни систем - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Време потребно за последњу операцију и резултујућа брзина кадрова биће приказано у доњем левом углу отворених датотека - + Show counter of frames per second Прикажи бројач кадрова у секунди - + Rendering Рендеринг - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3441,22 +2830,22 @@ Changing this option requires a restart of the application. Промена ове опције захтева поновно покретање програма. - + Use software OpenGL Користи OpenGL програм - + Use OpenGL VBO (Vertex Buffer Object) Користи OpenGL VBO (Vertex Buffer Object) - + Render cache Рендер кеш - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3479,7 +2868,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3496,92 +2885,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Аутоматски - + Distributed Расподељен - + Centralized Централизован - + Anti-Aliasing Anti-Aliasing - + What kind of multisample anti-aliasing is used Која врста смањивања назубљења ивица се користи - + None Ниједан - + Line Smoothing Глачање линије - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Провидни објекти: - + Render types of transparent objects Врсте рендеровања провидних објеката - + One pass Један пролаз - + Backface pass Позадински пролаз - + Marker size: Величина ознаке тачке: - - Size of vertices in the Sketcher workbench - Величина тачака у Sketcher радном окружењу + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Растојање између очију за стерео режиме - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3590,48 +2979,48 @@ bounding box size of the 3D object that is currently displayed. величином граничног оквира 3Д објекта који је тренутно приказан. - + Backlight is enabled with the defined color Позадинско осветљење и његова боја је омогућено - - + + Backlight color Боја позадинског освељења - + Intensity Интензитет - + Intensity of the backlight Интензитет позадинcког осветљења - + Camera type Врста камере - + Objects will appear in a perspective projection Објекти ће се појавити у перспективи - + Perspective renderin&g Рендеровање перспективе - + Objects will be projected in orthographic projection Објекти ће бити пројектовани у ортографској пројекцији - + Or&thographic rendering Or&thographic rendering @@ -3643,42 +3032,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Anti-aliasing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Да би промене anti-aliasing (смањивања назубљења ивица) ступиле на снагу, отвори нови прозор приказа или поново покрени %1. @@ -3686,77 +3075,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Кеш - + Cache directory Фасцикла за кеширање - + Location: Локација: - + Check periodically at program start: Повремено провери приликом стартовања програма: - + Always Увек - + Daily Дневно - + Weekly Недељно - + Monthly Месечно - + Yearly Годишње - + Never Никада - + Cache size limit: Ограничење величине кеша: - + Check now... Провери одмах... - + Notify the user if the cache size exceeds the specified limit Обавести корисника ако величина кеша премашује тренутно ограничење - + Unknown Непознато - + Current cache size: %1 Тренутно величина кеша: %1 @@ -3917,12 +3306,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Погрешан параметар - + The maximum value must be higher than the minimum value. Максимална вредност мора бити већа од минималне. @@ -3930,182 +3319,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Документ - + General Опште - + The application will create a new document when started Апликација ће креирати нови документ када се покрене - + Create new document at start up Направи нови документ при покретању - + Document save compression level (0 = none, 9 = highest, 3 = default) Ниво компресије за чување документа (0 = ништа, 9 = највише, 3 = подразумевано) - + Compression level for FCStd files Ниво компресије за FCStd датотеке - + All changes in documents are stored so that they can be undone/redone Све промене у документима се чувају тако да се могу поништити/поновити - + Using Undo/Redo on documents Коришћење Поништи/Понови на документима - + Maximum Undo/Redo steps Максимални број корака Поништи/Понови - + How many Undo/Redo steps should be recorded Колико корака Поништи/Понови треба да буде забележено - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Дозволи кориснику да прекине поновно израчунавање документа притиском на ESC. Ова функција може мало повећати време поновног израчунавања. - + Allow aborting recomputation Дозволи прекид поновног израчунавања - + Storage Складиште - + Saving transactions (Auto-save) Чување трансакција (Ауто-сачувај) - + Discard saved transaction after saving document Одбаци cачуване транcакције након што је документ cачуван - + If there is a recovery file available the application will automatically run a file recovery when it is started. Ако постоји датотека за опоравак, апликација ће аутоматски покренути њен опоравак када се покрене. - + Run AutoRecovery at startup Покрени аутоматски опоравак при покретању - + How often a recovery file is written Учесталост записа датотеке за опоравак - + Save AutoRecovery information every Сачувај податке за аутоматски опоравак на сваких - + A thumbnail will be stored when document is saved Умањена слика 3Д погледа ће бити направљена и снимљена заједно са документом - + Save thumbnail into project file when saving document Приликом снимања документа сними у њега и умањену слику 3Д погледа - + Size Величина - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Подеси величину умањене слику 3Д погледа која се чува у документу. Уобичајене величине су 128, 256 и 512 - + The program logo will be added to the thumbnail Логотип FreeCAD програма ће бити додат на умањену слику 3Д погледа - + Add the program logo to the generated thumbnail Додај логотип на умањену слику 3Д погледа - + How many backup files will be kept when saving document Колико ће резервних датотека бити чувано приликом снимања документа - + Maximum number of backup files to keep when resaving document Максималан број датотека резервних копија које треба чувати - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Датотеке резервних копија ће добити екстензију '.FCbak' а имена датотека ће добити суфикс датума према наведеном формату - + Use date and FCBak extension Користи датум и наставак имена датотеке FCBak - + Date format Формат датума - + Document objects Објекти документа - + Allow objects to have same label Дозволи објектима да имају исту ознаку - + Allow duplicate object labels in one document Дозволи дупле ознаке објеката у једном документу - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4118,22 +3507,22 @@ icon in the tree view to fully reload it. у стаблу документа да бисте га у потпуности поново учитали. - + Disable partial loading of external linked objects Онемогући делимично учитавање спољних повезаних објеката - + Authoring and License Ауторство и лиценца - + Author name Име аутора - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4142,32 +3531,32 @@ You can also use the form: John Doe <john@doe.com> Такође можете користити образац: Пера Перић <pera@peric.com> - + The field 'Last modified by' will be set to specified author when saving the file Поље 'Последњи пут изменио' ће бити постављено на наведеног аутора приликом снимања датотеке - + Set on save Подеси при снимању - + Company Предузеће - + Default company name to use for new files Подразумевано име предузећа које се користи за нове датотеке - + Default license Подразумевана лиценца - + Default license for new documents Подразумевана лиценца за нове документе @@ -4237,12 +3626,12 @@ You can also use the form: John Doe <john@doe.com> Друго - + License URL URL адреса лиценце - + URL describing more about the license URL адреса где можеш прочитати додатне информације о лиценци @@ -4250,104 +3639,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Формат датума који треба користити. - + Default Подразумевано - + Format Формат - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Текст - - - - Bookmark - Обележивач - - - - Breakpoint - Тачка прекида - - - - Keyword - Кључна реч - - - - Comment - Коментар - - - - Block comment - Блокирај коментар - - - - Number - Број - - - - String - Знаковни низ - - - - Character - Карактер - - - - Class name - Име класе - - - - Define name - Дефиниши име - - - - Operator - Оператор - - - - Python output - Python излаз - - - - Python error - Python грешка - - - - Current line highlight - Истицање тренутне линије - - - - Items - Ставке - - Gui::Dialog::DlgSettingsImage @@ -4528,122 +3834,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Макро - + General macro settings Генерална макро подешавања - + Variables defined by macros are created as local variables Променљиве дефинисане макро-има се стварају као локалне променљиве - + Run macros in local environment Изврши макро-е у локалном окружењу - + Macro recording settings Подешавање снимања макро-а - + Macro path Макро путања - + The directory in which the application will search for macros Фасцикла у којој ће програм тражити макро-е - + Gui commands Gui команде - + Recorded macros will also contain user interface commands Снимљени макро-и ће такође садржати команде корисничког интерфејса - + Record GUI commands Cними GUI команде - + Recorded macros will also contain user interface commands as comments Снимљени макро-и ће такође садржати команде корисничког интерфејса као коментаре - + Record as comment Сними као коментар - + Logging Commands Команде за евидентирање - + Commands executed by macro scripts are shown in Python console Команде извршене макро скриптама приказане су у Python конзоли - + Show script commands in python console Прикажи наредбе cкрипта у python конзоли - + Log all commands issued by menus to file: Евидентирај све команде издате менијима у датотеку: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Мени недавних макро-а - + Size of recent macro list Величина листе недавних макро-а - + How many macros should be listed in recent macros list Колико макро-а треба да буде наведено на листи недавних макро-а - + Keyboard shortcut count Број пречица на тастатури - + How many recent macros should have shortcuts Колико недавних макро-а треба да има пречице - + Keyboard Modifiers Модификатори тастатуре - + Keyboard modifiers, default = Ctrl+Shift+ Модификатори тастатуре, унапред дефинисан = Ctrl+Shift+ @@ -4651,130 +3957,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Навигација - + Navigation cube Навигациона коцка - + Steps by turn Корака по обрту - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Број корака по обрту када користите стрелице (подразумевано = 8 : угао корака = 360/8 = 45 степени) - + Corner Угао - + Corner where navigation cube is shown Угао у ком ће се налазити навигациона коцка - + Top left Горње лево - + Top right Горње десно - + Bottom left Доње лево - + Bottom right Доње десно - + Rotates to nearest possible state when clicking a cube face Ротира у најближе могуће стање када кликнете на страну коцке - + Rotate to nearest Ротирај на најближе - + Font name: Назив фонта: - + Font name of the navigation cube Назив фонта навигационе коцке - + Default Подразумевано - + Cube size Величина коцке - + Size of the navigation cube Величина навигационе коцке - + Color Боја - + Base color for all elements Основна боја за све елементе - + 3D Navigation 3Д Навигација - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Функције тастера миша за изабрани стил 3Д навигације. Изабери стил 3Д навигације, а затим притисни дугме да видиш функције тастера. - + Mouse... Миш... - + Navigation settings set Стил 3Д навигације миша - + Orbit style Начин окретања орбит - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4785,116 +4091,116 @@ Trackball: померање миша хоризонтално ће ротира Обични грамофон: део ће бити ротиран око z-осе. - + Turntable Грамофон - + Trackball Trackball - + Free Turntable Обични грамофон - + Rotation mode Режими ротације - + Rotations in 3D will use current cursor position as center for rotation 3Д ротација ће користити тренутну положај курсора миша као центар за ротацију - + Window center Центар прозора - + Drag at cursor Drag at cursor - + Object center Центар објекта - + Default camera orientation Подразумевана оријентација камере - + Default camera orientation when creating a new document or selecting the home view Подразумевана оријентација камере приликом креирања новог документа или избора почетног погледа - + Camera zoom Зумирање камере - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Подешава зум камере за нове документе. Вредност је пречник сфере која стаје на екран. - + mm мм - + Enable animated rotations Омогући анимиране ротације - + Enable animation Омогући анимацију - + Zoom operations will be performed at position of mouse pointer Операције зумирања ће се изводити на положају показивача миша - + Zoom at cursor Зумирај на курсору - + Zoom step Корак зумирања - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Колико ће бити зумирано. Корак зумирања од '1' значи коефицијент од 7,5 за сваки корак зумирања. - + Direction of zoom operations will be inverted Смер операције зумирања ће бити обрнут - + Invert zoom Обрни смер зумирања - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4903,57 +4209,67 @@ Affects only gesture navigation style. Mouse tilting is not disabled by this setting. - + Disable touchscreen tilt gesture Disable touchscreen tilt gesture - + + Show the rotation center when dragging. + Прикажи центар ротације приликом превлачења. + + + + Enable rotation center indication + Омогући приказивање центра ротације + + + Isometric Изометријски - + Dimetric Диметријски - + Trimetric Триметријски - + Top Одозго - + Front Спреда - + Left Слева - + Right Сдесна - + Rear Страга - + Bottom Одоздо - + Custom Сопствена @@ -4961,44 +4277,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python конзола - + Settings Подешавања - + Words will be wrapped when they exceed available horizontal space in Python console Речи ће бити преломљене када премаше доступни хоризонтални простор у Python конзоли - + Enable word wrap Омогући прелом реда - + The cursor shape will be a block Облик курсора ће бити блок - + Enable block cursor Омогући курсор у облику блока - + Saves Python history across sessions Saves Python history across sessions - + Save history Сачувај историју @@ -5006,17 +4322,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Избор - + + Enable preselection, highlighted with specified color + Омогући предизбор, означен одређеном бојом + + + + Enable preselection + Омогући предизбор + + + + Enable selection, highlighted with specified color + Омогући избор, означен одређеном бојом + + + + Enable selection + Омогући дизбор + + + Pick radius (px): Одабери полупречник (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5025,27 +4361,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Аутоматски пређи на 3Д поглед који садржи изабрану ставку - + Auto expand tree item when the corresponding object is selected in 3D view Аутоматско проширивање ставке у стаблу када је одговарајући објекат изабран у 3Д погледу - + Preselect the object in 3D view when mouse over the tree item Унапред изабери објекат у 3Д погледу само проласком мишем преко ставке у стаблу - + Record selection in tree view in order to go back/forward using navigation button Сними избор у стаблу документа да би се кретао напред/назад користећи дугме за навигацију - + Add checkboxes for selection in document tree Додај поља за чекирање у стаблу документа @@ -5053,147 +4389,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Боје - - Selection - Избор - - - - Enable preselection and highlight by specified color - Омогући предизбор и означите одређеном бојом - - - - Enable preselection highlighting - Омогући истицање предизбора - - - - Enable selection highlighting and use specified color - Омогући истицање избора и користите одређену боју - - - - Enable selection highlighting - Омогући истицање избора - - - + Background color for the model view Боја позадине 3Д погледа - + Background color Боја позадине - - + + Background will have selected color Позадина ће имати изабрану боју - + Simple color Једна боја - - + + Background will have selected color gradient Позадина ће имати изабрани прелив боје - + Linear gradient Линеарно преливање боја - + Radial gradient Радијално преливање боја - - + + Top: Горња: - - + + Middle: Средња: - + Switches the colors of the gradient Мења боје прелива - + Switch Пребаци на - + Color gradient will get selected color as middle color Прелив боја ће добити изабрану боју по средини - + Middle color Средња боја - - + + Bottom: Доња: - + Tree view Стабло документа - + Object being edited Објекат који се уређује - + Background color for objects in tree view that are currently edited Боја позадине за објекте у стаблу документа који се тренутно уређују - + Active container Активни контејнер - + Background color for active containers in tree view Боја позадине за активне контејнере у стаблу документа - + Central: Central: - + Midway: Midway: - + End: End: @@ -5305,12 +4616,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: непозната мерна јединица: - + unit mismatch неусклађеност јединица @@ -5318,7 +4629,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement Положај @@ -5370,60 +4681,60 @@ The 'Status' column shows whether the document could be recovered. Још није опорављено - + Unknown problem occurred Дошло је до непознате грешке - - + + Failed to recover Неуспешно опорављање - + Successfully recovered Успешно опорављен - + Finish Заврши - - + + Delete Обриши - - + + Cleanup Очисти - + Are you sure you want to delete the selected transient directories? Да ли си сигуран да желиш да избришеш изабране привремене фасцикле? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Када избришеш изабрану привремену фасциклу, нећеш након тога моћи да повратиш ниједну датотеку. - + Are you sure you want to delete all transient directories? Да ли си сигуран да желиш да избришеш све привремене фасцикле? - + When deleting all transient directories you won't be able to recover any files afterwards. Када избришеш све привремене фасцикле, нећеш моћи након тога да повратиш ниједну датотеку. - + Transient directories deleted. Привремене фасцикле су избрисане. @@ -5547,7 +4858,7 @@ The 'Status' column shows whether the document could be recovered. Фасцикла икона - + Add icon folder Додај фасциклу за иконе @@ -5560,12 +4871,12 @@ The 'Status' column shows whether the document could be recovered. Додај или уклони корисничке фасцикле са иконама - + Remove folder Уклони фасциклу - + Removing a folder only takes effect after an application restart. Уклањање датотеке наступа после поновног покретања апликације. @@ -5635,79 +4946,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Прошири - + Add sub-group Додај подгрупу - - + + Remove group Уклони групу - + Rename group Преименуј групу - + Export parameter Извези параметар - + Import parameter Увези параметар - + Collapse Скупи - + Do you really want to remove this parameter group? Да ли заиста желиш да уклониш ову групу параметара? - + Existing sub-group Постојећа подгрупа - + The sub-group '%1' already exists. Подгрупа '%1' већ постоји. - + Export parameter to file Извези параметар у датотеку - + Import parameter from file Увези параметар из датотеке - + Import Error Грешка приликом увоза - + Reading from '%1' failed. Читање из '%1' неуспешно. @@ -5715,65 +5026,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Промени вредност - + Remove key Уклони кључ - + Rename key Преименуј кључ - + New Нови - + New string item Нова ставка знаковног низа - + New float item New float item - + New integer item New integer item - + New unsigned item New unsigned item - + New Boolean item Нова Булова cтавка - - - - - + + + + + Existing item Постојећа ставка - - - - - + + + + + The item '%1' already exists. Cтавка '%1' већ постоји. @@ -5919,17 +5230,17 @@ The 'Status' column shows whether the document could be recovered. Примени - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Изабери 1, 2 или 3 тачке пре него што кликнеш на ово дугме. Тачка може бити на темену, страници или ивици. Ако је на страници или ивици, коришћена тачка ће бити тачка на позицији миша дуж странице или ивице. Ако се изабере 1 тачка, она ће се користити као центар ротације. Ако се изаберу 2 тачке, средина између њих ће бити центар ротације и нова прилагођена оса ће бити направљена, ако је потребно. Ако су изабране 3 тачке, прва тачка постаје центар ротације и лежи на вектору који је нормалан на раван дефинисану са 3 тачке. Неке информације о удаљености и угловима су дате у приказу извештаја, што може бити корисно при поравнавању објеката. Ради ваше удобности када се користи Shift + click, одговарајућа удаљеност или угао се копирају у привремену меморију. - + Incorrect quantity Неправилна количина - + There are input fields with incorrect input, please ensure valid placement values! Постоје поља за унос са нетачним уносом, молимо вас да обезбедите исправне вредности положаја! @@ -5937,12 +5248,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Дугме - + Command Команда @@ -6006,17 +5317,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Инвентор стабло - + Name Име - + Nodes Чворови @@ -6072,14 +5383,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Откажи - - + + Transform Помери @@ -6177,13 +5488,13 @@ originally selected prior to opening this dialog - + Model Модел - + Tasks Задаци @@ -6191,7 +5502,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Особине приказа @@ -6199,82 +5510,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Опције - + Display message types Прикажи тип поруке - - + + Normal messages Уобичајене поруке - - + + Log messages Поруке дневника - - + + Warnings Упозорења - - + + Errors Грешке - - + + Critical messages Критичне поруке - + Show Report view on Show Report view on - + Redirect Python output Преусмери Python излаз - + Redirect Python errors Преуcмери Python грешке - + Go to end Иди на крај - + Clear Обриши - + Save As... Сачувај Као... - + Save Report Output Сачувај излаз извештаја - + Plain Text Files Датотеке чистог текста @@ -6283,13 +5594,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Излаз - + Python console Python конзола @@ -6327,72 +5638,72 @@ originally selected prior to opening this dialog Листа објеката за бирање - + Select only Изабери само - + Selects only this object Одабира само овај објекат - + Deselect Поништи одабир - + Deselects this object Поништава избор овог објекта - + Zoom fit Зумирај да стане - + Selects and fits this object in the 3D window Одабира и поставља овај објекат у 3Д прозор - + Go to selection Иди на изабрано - + Selects and locates this object in the tree view Одабира и проналази овај објекат у стаблу документа - + Mark to recompute Означи за поновно израчунавање - + Mark this object to be recomputed Означи овај објекат за поновно израчунавање - + To python console Ка Python конзоли - + Reveals this object and its subelements in the python console. Reveals this object and its subelements in the python console. - + Duplicate subshape Дуплирај под-облик - + Creates a standalone copy of this subshape in the document Направи самосталну копију овог под-облика у документу @@ -6405,7 +5716,7 @@ originally selected prior to opening this dialog Апликација - + Labels & Attributes Ознаке & Атрибути @@ -6454,27 +5765,27 @@ Do you want to save your changes? PDF датотека - + untitled[*] без наслова[*] - + - Editor -Уређивач - + %1 chars removed %1 знакова уклоњено - + %1 chars added %1 знакова додано - + Formatted Форматирано @@ -6498,13 +5809,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Изабери датотеку - + Select a directory Изабери фасциклу @@ -6512,13 +5823,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Сачувај као - - + + Open Отвори @@ -6526,12 +5837,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Проширено - + All files (*.*) Све датотеке (*.*) @@ -6539,27 +5850,27 @@ Do you want to save your changes? Gui::Flag - + Top left Горње лево - + Bottom left Доње лево - + Top right Горње десно - + Bottom right Доње десно - + Remove Уклони @@ -6567,22 +5878,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Додирни ИЛИ кликни левим тастером миша. - + Drag screen with two fingers OR press right mouse button. Превуци по екрану са два прста ИЛИ притисни десни тастер миша. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Превуци по екрану једним прстом ИЛИ притисни леви тастер миша. У осталим Sketcher режимима за уређивање, додатно држи Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Штипни (стави два прста на екран и вуци их један од другог или један према другом) ИЛИ окрећи средњи тастер миша ИЛИ PgUp/PgDown на тастатури. @@ -6590,74 +5901,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz није пронађен - + Graphviz couldn't be found on your system. Graphviz није пронађен на вашем систему. - + Read more about it here. Прочитај више о томе овде. - + Do you want to specify its installation path if it's already installed? Ако је већ инсталиран наведи путању ка фасцикли у коју је инсталиран? - + Graphviz installation path Graphviz инсталациона путања - + Graphviz failed Graphviz отказао - + Graphviz failed to create an image file Graphviz није успео да направи датотеку слике - + PNG format PNG формат - + Bitmap format Bitmap формат - + GIF format GIF формат - + JPG format JPG формат - + SVG format SVG формат - - + + PDF format PDF формат - - + + Export graph Извези графикон @@ -6665,12 +5976,12 @@ Do you want to save your changes? Gui::InputField - + Edit Уреди - + Save value Сачувај вредност @@ -6678,22 +5989,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Притисни CTRL и леви тастер миша - + Press middle mouse button Притисни средњи тастер миша - + Press left mouse button Притисни леви тастер миша - + Scroll middle mouse button Окрећи cредњи таcтер миша @@ -6701,7 +6012,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Лиcта @@ -6709,66 +6020,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Дефиниcано од cтране кориcника... - + - - + + Wrong direction Погрешан смер - + - - + + Direction must not be the null vector Правац не сме бити нулти вектор @@ -6776,22 +6087,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6799,17 +6110,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Макро-и - + Macro file doesn't exist Maкro датотека не постоји - + No such macro file: '%1' Нема такве maкro датотеке: '%1' @@ -6817,63 +6128,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Кота - + Ready Спреман - + Help addon needed! Потребан је додатак Помоћ! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Системом помоћи %1 сада управља додатак „Помоћ“. Може се лако инсталирати преко Менаџера додатака - + Open Addon Manager Отвори менаџер додатака - + Close All Затвори све - - + + Toggles this toolbar Укључује/иcкључује ову палету алатки - - + + Toggles this dockable window Toggles this dockable window - - + + WARNING: This is a development version. + УПОЗОРЕЊЕ: Ово је развојна верзија. + + + + Please do not use in a production environment. + Немојте користити за професионалну употребу. + + + + Unsaved document Несачуван документ - + The exported object contains external link. Please save the documentat least once before exporting. Извезени објекат садржи спољну везу. Сачувај документ бар једном пре него што га извезеш. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Да би се повезао са спољним објектима, документ мора бити сачуван најмање једном. @@ -6883,63 +6204,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Мануелно поравнање - + The alignment is already in progress. Поравнање је већ у току. - + Alignment[*] Поравнај[*] - + Please, select at least one point in the left and the right view Изабери најмање једну тачку у левом и десном погледу - + Please, select at least %1 points in the left and the right view Изабери најмање %1 тачака у левом и десном погледу - + Please pick points in the left and right view Изабери тачке у левом и десном погледу - + The alignment has finished Поравнање завршено - + The alignment has been canceled Поравнање отказано - - + + Too few points picked in the left view. At least %1 points are needed. Премало тачака изабрано у левом погледу. Потребно је најмање %1 тачака. - - + + Too few points picked in the right view. At least %1 points are needed. Премало тачака изабрано у десном погледу. Потребно је најмање %1 тачака. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6948,59 +6269,59 @@ on the right view %2 points are picked. на десном погледу је изабрано %2 тачака. - + Try to align group of views Покушај да ускладиш групу погледа - + The alignment failed. How do you want to proceed? Поравнање неуспешно. Како желиш да наставиш? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Различит број тачака изабран у левом и десном погледу. На левом погледу је изабрано %1 тачака, на десном погледу је изабрано %2 тачака. - + Point_%1 Тачка_%1 - + Point picked at (%1,%2,%3) Изабрана тачка у (%1,%2,%3) - + No point was found on model На моделу није пронађена тачка - + No point was picked Ниједна тачка није изабрана - + &Align &Поравнај - + &Remove last point &Уклони задњу тачку - + &Cancel &Откажи - + &Synchronize views &Синхронизуј погледе @@ -7008,22 +6329,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Додирни ИЛИ кликни левим тастером миша. - + Drag screen with two fingers OR press ALT + middle mouse button. Превуци по екрану са два прста ИЛИ притисни ALT + средњи тастер миша. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Превуци по екрану са два прста ИЛИ притисни ALT + леви тастер миша. У Sketcher-у и другим режимима за уређивање, додатно држи Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Штипни (стави два прста на екран и вуци их један од другог или један према другом) ИЛИ окрећи средњи тастер миша ИЛИ притисни ALT + десни клик миша ИЛИ PgUp/PgDown на тастатури. @@ -7031,7 +6352,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Притисни модификаторске тастере @@ -7047,22 +6368,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Притисни леви тастер миша - + Press CTRL and middle mouse button Притисни CTRL и средњи тастер миша - + Press CTRL and right mouse button Притисни CTRL и десни тастер миша - + Press CTRL and left mouse button Притисни CTRL и леви тастер миша @@ -7070,22 +6391,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Притисни леви тастер миша - + Press right mouse button and move mouse Притисни десни тастер и померите миша - + Press left mouse button and move mouse Притисни леви тастер и померите миша - + Press middle mouse button or SHIFT and right mouse button Притисни средњи тастер миша или заједно SHIFT и десни тастер миша @@ -7093,17 +6414,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Уреди - + Save value Сачувај вредност - + Clear list Избриши листу @@ -7134,12 +6455,12 @@ How do you want to proceed? Преостало: %1 - + Aborting Прекида се - + Do you really want to abort the operation? Да ли стварно желиш прекинути операцију? @@ -7147,7 +6468,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Промени повезани објекат @@ -7155,12 +6476,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Грешка - + Object not found Објекат није пронађен @@ -7231,13 +6552,13 @@ How do you want to proceed? Gui::PropertyView - + View Поглед - + Data Подаци @@ -7285,77 +6606,77 @@ Do you want to exit without saving your data? Необрађени непознати C++ изузетак. - + &Copy &Копирај - + &Copy command &Kopiraj команда - + &Copy history &Kopiraj историју - + Save history as... Сачувај историју као... - + Save history Сачувај историју - + Saves Python history across %1 sessions Saves Python history across %1 sessions - + &Paste &Налепи - + Select All Изабери све - + Clear console Очисти конзолу - + Insert file name... Унеси име датотеке... - + Word wrap Прелом реда - + Save History Сачувај Историју - + Macro Files Макро датотеке - + Insert file name Унеси име датотеке - + All Files Све датотеке @@ -7363,7 +6684,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Коментар @@ -7376,17 +6697,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Отвори датотеку %1 - + File not found Датотека није нађена - + The file '%1' cannot be opened. Датотека '%1' се не може отворити. @@ -7394,22 +6715,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none ништа - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Покрени макро %1 (Shift+клик за уређивање) пречица на тастатури: %2 - + File not found Датотека није нађена - + The file '%1' cannot be opened. Датотека '%1' се не може отворити. @@ -7417,22 +6738,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Притисни леви тастер миша - + Press middle mouse button Притисни средњи тастер миша - + Press SHIFT and middle mouse button Притисни SHIFT и средњи тастер миша - + Scroll middle mouse button Окрећи cредњи таcтер миша @@ -7463,17 +6784,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Изабери модул - + Open %1 as Отвори %1 као - + Select Изабери @@ -7542,13 +6863,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Документација аутоматских python модула - - + + Opens a browser to show the Python modules documentation Отвара прегледач да прикаже документацију Python модула @@ -7566,7 +6887,7 @@ Do you want to specify another directory? Position - Position + Положај @@ -7701,38 +7022,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Текст је измењен - + The text of the underlying object has changed. Discard changes and reload the text from the object? Текст основног објекта је промењен. Одбаци промене и поново учитај текст из објекта? - + Yes, reload. Да, поново учитај. - + Unsaved document Несачуван документ - + Do you want to save your changes before closing? Да ли желиш да сачуваш промене пре затварања? - + If you don't save, your changes will be lost. Ако не сачуваш, промене ће бити изгубљене. - - + + Edit text Уреди текст @@ -7740,22 +7061,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Притисни леви тастер миша - + Press middle mouse button Притисни средњи тастер миша - + Press right mouse button Притисни десни тастер миша - + Scroll middle mouse button Окрећи cредњи таcтер миша @@ -7763,22 +7084,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Притисни леви тастер миша - + Press SHIFT button Притисни SHIFT тастер - + Press ALT button Притисни ALT тастер - + Press CTRL and SHIFT buttons Притисни CTRL и SHIFT тастере @@ -8004,7 +7325,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Стабло документа @@ -8012,7 +7333,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Претрага @@ -8020,183 +7341,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Претрага... - + Search for objects Тражи објекте - + Activate document Активирај документ - + Activate document %1 Активирај документ %1 - + Tree settings Подешавања стабла документа - + Show description column Прикажи колону са описима - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Прикажи у стаблу документа додатну колону са описима ставки. Опис ставке се може подесити притиском на F2 (или дугме за уређивање вашег ОС-а) или уређивањем својства 'label2'. - + Group Група - + Labels & Attributes Ознаке & Атрибути - + Description Опис - + Show items hidden in tree view Прикажи сакривене ставке у стаблу документа - + Show items that are marked as 'hidden' in the tree view Прикажи ставке које су у стаблу документа означене као 'сакривене' - + Toggle visibility in tree view Укључи/искључи видљивост у стаблу документа - + Toggles the visibility of selected items in the tree view Укључи/искључи видљивост изабраних ставки у стаблу документа - + Create group... Направи групу... - + Create a group Направи групу - - + + Rename Преименуј - + Rename object Преименуј објекат - + Finish editing Заврши уређивање - + Finish editing object Заврши уређивање објекта - + Add dependent objects to selection Додај зависне објекте избору - + Adds all dependent objects to the selection Додаје све зависне објекте избору - + Close document Затвори документ - + Close the document Затвори документ - + Reload document Учитај документ поново - + Reload a partially loaded document Учитај поново делимично учитан документ - + Skip recomputes Прескочи поновна прерачунавања - + Enable or disable recomputations of document Омогући или онемогући поновно прерачунавање документа - + Allow partial recomputes Дозволи делимична прерачунавања - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Enable or disable recomputating editing object when 'skip recomputation' is enabled - + Mark to recompute Означи за поновно израчунавање - + Mark this object to be recomputed Означи овај објекат за поновно израчунавање - + Recompute object Поновно прерачунај објекат - + Recompute the selected object Поновно прерачунај изабрани објекат - + (but must be executed) (али мора да се изврши) - + %1, Internal name: %2 %1, Унутрашње име: %2 @@ -8227,12 +7548,12 @@ Do you want to specify another directory? PDF датотека - + Opening file failed Отварање датотеке неуcпешно - + Can't open file '%1' for writing. Can't open file '%1' for writing. @@ -8240,7 +7561,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Изабери '%1' радно окружење @@ -8248,37 +7569,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Услуге - + Hide %1 Сакриј '%1' - + Hide Others Сакриј остале - + Show All Прикажи све - + Preferences... Подешавања... - + Quit %1 Одустани %1 - + About %1 О %1 @@ -8298,11 +7619,6 @@ Do you want to specify another directory? Position - - - Form - Образац - X: @@ -8397,14 +7713,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Неисправан унос - - + + Input in line %1 is not a number Унос у реду %1 није број @@ -8412,37 +7728,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Стабло документа - + Property view Особине приказа - + Selection view Прегледач избора - + Combo View Комбиновани панел - + DAG View DAG View - + Report view Прегледач објава - + Python console Python конзола @@ -8455,31 +7771,32 @@ Do you want to specify another directory? QObject - - + + General Опште - - + + + Display Приказ - + Workbenches Радна окружења - - - + + + Python Python @@ -8507,17 +7824,27 @@ Do you want to specify another directory? Не могу сачувати непознату врсту датотеке: %1 - + Workbench failure Отказивање радног окружења - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Изузетак @@ -8563,8 +7890,8 @@ Do you want to specify another directory? Извозим PDF... - + Unsaved document Несачуван документ @@ -8585,39 +7912,39 @@ Do you want to specify another directory? Грешка међузависности - + Copy selected Копирај изабрано - + Copy active document Копирај активни документ - + Copy all documents Копирај све документе - + Paste Налепи - + Expression error Грешка израза - + Failed to parse some of the expressions. Please check the Report View for more details. Рашчлањивање неких израза није успело. Погледај извештај за више детаља. - + Failed to paste expressions Налепљивање израза није успело @@ -8653,225 +7980,225 @@ Be aware the point where you click matters. Буди свестан да је тачка на коју кликнеш битна. - - + + Save views... Сачувај погледе... - - + + Load views... Учитавање погледа... - - + + Freeze view Замрзни поглед - - + + Clear views Очисти погледе - - - + + + Restore view &%1 Врати погледе на претходно стање &%1 - + Save frozen views Сачувај замрзнуте погледе - - + + Frozen views Замрзнути погледи - - + + Restore views Врати погледе на претходно стање - + Importing the restored views would clear the already stored views. Do you want to continue? Увоз обновљених погледа би обрисао већ ускладиштене погледе. Да ли желиш да наставиш? - + Restore frozen views Врати замрзнуте погледе на претходно стање - + Cannot open file '%1'. Не могу отворити датотеку '%1'. - + files Датотеке - + Save image Сачувај слику - + Choose an image file to open Изабери датотеку слике коју желиш да отвориш - + New sub-group Нова подгрупа - - - - - - + + + + + + Enter the name: Унеси име: - - + + New text item Нова текстуална ставка - - + + Enter your text: Унеси текcт: - - + + New integer item New integer item - - - - - - + + + + + + Enter your number: Унеси број: - - + + New unsigned item New unsigned item - - + + New float item New float item - + New Boolean item Нова Булова cтавка - - + + Choose an item: Одабери cтавку: - + New boolean item Нова булова cтавка - + Rename group Преименуј групу - + The group '%1' cannot be renamed. Група '%1' се не може преименовати. - + Existing group Постојећа група - + The group '%1' already exists. Група '%1' већ постоји. - - - - - + + + + + Change value Промени вредност - + Type Врста - + Notifier Обавештавач - + Message Порука - + Notifier: Обавештавач: - + Do you want to skip confirmation of further critical message notifications while loading the file? Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! Превише отворених ненаметљивих обавештења. Обавештења се изостављају! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8880,44 +8207,44 @@ Do you want to continue? - + Are you sure you want to continue? Да ли си сигуран да желиш да наставиш? - + Please check report view for more... Погледајте извештај за више... - + Physical path: Физичка путања: - - + + Document: Документ: - - + + Path: Путања: - + Identical physical path Идентична физичка путања - + Could not save document Није могуће сачувати документ - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8930,102 +8257,102 @@ Would you like to save the file with a different name? Да ли желите да сачувате датотеку под другим именом? - - - + + + Saving aborted Снимање обуcтављено - + Save dependent files Сачувај зависне датотеке - + The file contains external dependencies. Do you want to save the dependent files, too? Датотека садржи спољне зависности. Да ли желиш да сачуваш и зависне датотеке? - - + + Saving document failed Снимање документа није успело - + Save document under new filename... Cачувај документ под новим именом... - - + + Save %1 Document Сачувај %1 Документ - + Document Документ - - + + Failed to save document Није успело снимање документа - + Documents contains cyclic dependencies. Do you still want to save them? Документи садрже цикличне зависности. Да ли и даље желиш да их спасеш? - + Save a copy of the document under new filename... Сачувај копију документа под новим именом датотеке... - + %1 document (*.FCStd) %1 документ (*.FCStd) - + Document not closable Документ није могуће затворити - + The document is not closable for the moment. Тренутно није могуће затворити документ. - + Document not saved Документ није снимњен - + The document%1 could not be saved. Do you want to cancel closing it? Документ%1 није могао бити снимљен. Да ли желиш да откажеш затварање? - + Undo Поништи - + Redo Понови - + There are grouped transactions in the following documents with other preceding transactions There are grouped transactions in the following documents with other preceding transactions - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9039,47 +8366,47 @@ Choose 'Abort' to abort Cачувај Макро - - + + Finish Заврши - - + + Clear Обриши - - - + + + Cancel Откажи - + Inner Унутрашње - + Outer Спољашње - + Split Подели - - + + No Browser Нема прегледача - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9088,48 +8415,48 @@ Please open a browser window and type in: http://localhost:%1. Отвори прегледач и укуцај: http://localhost:%1. - + No Server Нема сервера - + Unable to start the server to port %1: %2. Није могуће покренути сервер на порту %1: %2. - + Unable to open your system browser. Не могу отворити ваш системски прегледач. - + Options... Опције... - + Out of memory Нема довољно меморије - + Not enough memory available to display the data. Нема довољно меморије за приказивање података. - - + + Cannot find file %1 Не могу пронаћи датотеку %1 - + Cannot find file %1 neither in %2 nor in %3 Не могу пронаћи датотеку %1 ни у %2 ни у %3 - + Navigation styles Навигациони стилови @@ -9139,8 +8466,8 @@ Please open a browser window and type in: http://localhost:%1. Помери напомену - - + + Transform Помери @@ -9150,42 +8477,42 @@ Please open a browser window and type in: http://localhost:%1. Да ли желите да затворите овај дијалог? - + Do you want to save your changes to document '%1' before closing? Да ли желиш да сачуваш промене у документу '%1' пре затварања? - + Do you want to save your changes to document before closing? Да ли желиш да снимиш промене у документу пре затварања? - + If you don't save, your changes will be lost. Ако не сачуваш, промене ће бити изгубљене. - + Apply answer to all Примени одговор на све - + %1 Document(s) not saved %1 Документ(и) нису снимљени - + Some documents could not be saved. Do you want to cancel closing? Неки документи нису могли бити снимљени. Да ли желиш да откажеш затварање? - + Delete macro Обриши макро - + Not allowed to delete system-wide macros Није дозвољено брисање системских макро-а @@ -9195,27 +8522,27 @@ Please open a browser window and type in: http://localhost:%1. Координатни почетак - + Delete group content? Избриши садржај групе? - + The %1 is not empty, delete its content as well? %1 није празан, желиш ли избрисати и његов садржај? - + Translation: Транслација: - + Rotation: Ротација: - + Toggle active part Активирај/деактивирај део @@ -9278,88 +8605,88 @@ Please open a browser window and type in: http://localhost:%1. Увоз свих спона није успео - - + + Invalid name Погрешно име - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Име особине или име групе мора да садржи само алфанумеричке бројеве, доњу црту и не сме да почиње бројем. - + The property '%1' already exists in '%2' Особина „%1“ већ постоји у „%2“ - + Add property Додај особину - + Failed to add property to '%1': %2 Није успело додавање особине у '%1': %2 - - + + Drag & drop failed Превлачење и отпуштање није успело - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed Изабери које објекте желиш да копираш када се конфигурација промени - + Apply to all Примени на све - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Примени поставку на све везе. Или поништи избор ове опције да би применио само на ову везу. - + Copy on change Копирај приликом промене - + Enable Омогући - + Enable auto copy of linked object when its configuration is changed Омогући аутоматско копирање повезаног објекта када се промени његова конфигурација - + Tracking Растојање међу словима - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9368,17 +8695,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Онемогући копирање приликом промене - + Refresh configurable object Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9389,28 +8716,28 @@ the current copy will be lost. - + Toggle array elements Toggle array elements - + Change whether show each link array element as individual objects Change whether show each link array element as individual objects - + Transform at the origin of the placement Transform at the origin of the placement - - + + Override colors... Измени боје... - + Edit %1 Уреди %1 @@ -9433,12 +8760,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Није дозвољено: - + Selection not allowed by filter Филтер не дозвољава избор @@ -9446,9 +8773,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Правоугаони избор елемената @@ -9456,13 +8783,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Правоугаони избор - - + + Activate the box selection tool Активирај алатку за правоугаони избор @@ -9540,13 +8867,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Укључи/искључи ортогонални триедар - - + + Turns on or off the axis cross at the origin Укључи/Искључи координатни систем у координатном почетку @@ -9652,13 +8979,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Прикажи грамофон... - - + + View turntable Прикажи грамофон @@ -9778,13 +9105,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Cтил приказа - - + + Change the draw style of the objects Промени стил приказа објеката @@ -9848,13 +9175,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Радње са изразима - - + + Actions that apply to expressions Радње које се примењују на изразе @@ -9971,13 +9298,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Замрзни приказ - - + + Freezes the current view position Замрзава тренутни положај у погледу @@ -9998,13 +9325,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Сакриј све објекте - - + + Hide all objects in the document Сакриј све објекте у документу @@ -10012,13 +9339,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Сакриј избор - - + + Hide all selected objects Сакриј све изабране објекте @@ -10292,13 +9619,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Измери растојање - - + + Activate the distance measurement tool Активирај алатку за мерење растојања @@ -10357,8 +9684,8 @@ the current copy will be lost. Направи нови празан документ - - + + Unnamed Без имена @@ -10586,8 +9913,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Недавне датотеке + Open Recent + Отвори недавно @@ -10725,13 +10052,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Преглед сцене... - - + + Scene inspector Преглед сцене @@ -10739,13 +10066,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Назад - - + + Go back to previous selection Врати се на претходни избор @@ -10753,13 +10080,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Гранична кутија - - + + Show selection bounding box Прикажи граничну кутију @@ -10767,13 +10094,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Напред - - + + Repeat the backed selection Repeat the backed selection @@ -10795,13 +10122,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Изабери видљиве објекте - - + + Select visible objects in the active document Изабери видљиве објекте у активном документу @@ -10823,13 +10150,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Изглед... - - + + Sets the display properties of the selected object Подешава особине приказа изабраног објекта @@ -10837,13 +10164,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Прикажи cве објекте - - + + Show all objects in the document Прикажи cве објекте у документу @@ -10851,13 +10178,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Прикажи избор - - + + Show all selected objects Прикажи cве изабране објекте @@ -10893,13 +10220,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Мапирање текcтура... - - + + Texture mapping Мапирање текcтура @@ -10935,13 +10262,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Раван исецања - - + + Toggles clipping plane for active view Укључује/исклључује раван одсецања за активни приказ @@ -10949,13 +10276,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Навигациони/уређивачки режим - - + + Toggle between navigation and edit mode Преклопник између режима навигације и уређивања @@ -10963,13 +10290,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Укључи/исклључи све објекте - - + + Toggles visibility of all objects in the active document Преклопник за видљивост свих објеката у активном документу @@ -10977,13 +10304,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Укључи/искључи могућност избора - - + + Toggles the property of the objects to get selected in the 3D-View Укључује/исклључује могућност да неки објекат буде селектован у 3Д погледу @@ -10991,13 +10318,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Укључи/искључи видлљивост - - + + Toggles visibility Укључује/исклључује видљивост @@ -11047,13 +10374,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Скупи изабрану ставку - - + + Collapse currently selected tree items Скупи тренутно изабрану ставку стабла документа @@ -11061,13 +10388,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Прошири изабрану ставку - - + + Expand currently selected tree items Прошири тренутно изабрану ставку стабла документа @@ -11075,13 +10402,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Select all instances - - + + Select all instances of the current selected object Select all instances of the current selected object @@ -11089,13 +10416,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions Радње у стаблу документа - - + + TreeView behavior options and actions TreeView behavior options and actions @@ -11159,13 +10486,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Одоздо - - + + Set to bottom view Намести основни поглед одоздо @@ -11173,13 +10500,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Направи нови поглед - - + + Creates a new view window for the active document Направи нови прозор за приказ активног документа @@ -11187,13 +10514,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Диметријски - - + + Set to dimetric view Намести диметријски поглед @@ -11201,13 +10528,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor пример #1 - - + + Shows a 3D texture with manipulator Shows a 3D texture with manipulator @@ -11215,13 +10542,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor пример #2 - - + + Shows spheres and drag-lights Shows spheres and drag-lights @@ -11229,13 +10556,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor пример #3 - - + + Shows a animated texture Shows a animated texture @@ -11243,13 +10570,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Смести све - - + + Fits the whole content on the screen Смешта сав садржај на екран @@ -11257,13 +10584,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Смести изабрано - - + + Fits the selected content on the screen Смешта изабран садржај на екран @@ -11271,13 +10598,13 @@ the current copy will be lost. StdCmdViewFront - + Front Спреда - - + + Set to front view Намести основни поглед спреда @@ -11285,13 +10612,13 @@ the current copy will be lost. StdCmdViewHome - + Home Почетна - - + + Set to default home view Set to default home view @@ -11299,13 +10626,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Изометријски - - + + Set to isometric view Намести изометријски поглед @@ -11313,13 +10640,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Issue camera position - - + + Issue the camera position to the console and to a macro, to easily recall this position Issue the camera position to the console and to a macro, to easily recall this position @@ -11327,13 +10654,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereo Interleaved Columns - - + + Switch stereo viewing to Interleaved Columns Switch stereo viewing to Interleaved Columns @@ -11341,13 +10668,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Stereo Interleaved Rows - - + + Switch stereo viewing to Interleaved Rows Switch stereo viewing to Interleaved Rows @@ -11355,13 +10682,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Искључи sтереоскопију - - + + Switch stereo viewing off Искључи стереоскопски приказ @@ -11369,13 +10696,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo quad buffer - - + + Switch stereo viewing to quad buffer Switch stereo viewing to quad buffer @@ -11383,13 +10710,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Стерео црвена/цијан - - + + Switch stereo viewing to red/cyan Пребаци стерео приказ на црвено/цијан @@ -11397,13 +10724,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Слева - - + + Set to left view Намести основни поглед слева @@ -11411,13 +10738,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Страга - - + + Set to rear view Намести основни поглед страга @@ -11439,13 +10766,13 @@ the current copy will be lost. StdCmdViewRight - + Right Сдесна - - + + Set to right view Намести основни поглед сдесна @@ -11453,13 +10780,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Ротирај Улево - - + + Rotate the view by 90° counter-clockwise Ротирај поглед за 90° у смеру супротном од казаљке на сату @@ -11467,13 +10794,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Ротирај Удесно - - + + Rotate the view by 90° clockwise Ротирај поглед за 90° у смеру казаљке на сату @@ -11495,13 +10822,13 @@ the current copy will be lost. StdCmdViewTop - + Top Одозго - - + + Set to top view Намести основни поглед одозго @@ -11509,13 +10836,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Триметријски - - + + Set to trimetric view Намести триметријски поглед @@ -11523,13 +10850,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Прошири FreeCAD 3Д прозор на Oculus Rift @@ -11593,13 +10920,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Цео екран - - + + Display the main window in fullscreen mode Прикажи главни прозор у режиму целог екрана @@ -11635,13 +10962,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Опозови радни поглед - - + + Recall previously stored temporary working view Опозови претходно сачуван привремени радни поглед @@ -11649,13 +10976,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Сачувај радни поглед - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11663,13 +10990,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Скупи/Прошири - - + + Expand active document and collapse all others Прошири у стаблу документа активни а скупи све остале документе @@ -11677,12 +11004,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Покрени превлачење - + Initiate dragging of current selected tree items Покрени превлачење тренутно изабраних ставки стабла документа @@ -11690,13 +11017,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Вишеструки докуменат - - + + Display all documents in the tree view Прикажи све документе у стаблу документа @@ -11704,12 +11031,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Предизбор - + Preselect the object in 3D view when mouse over the tree item Унапред изабери објекат у 3Д погледу само проласком мишем преко ставке у стаблу @@ -11717,12 +11044,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Сними избор - + Record selection in tree view in order to go back/forward using navigation button Сними избор у стаблу документа да би се кретао напред/назад користећи дугме за навигацију @@ -11730,13 +11057,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Иди на изабрано - - + + Scroll to first selected item Иди до прве изабране ставке @@ -11744,13 +11071,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Један документ - - + + Only display the active document in the tree view Приказуј само активни документ у стаблу документа @@ -11758,12 +11085,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Синхронизуј положај - + Auto adjust placement on drag and drop objects across coordinate systems Аутоматско прилагођавање положаја приликом превлачења објеката кроз координатне системе @@ -11771,12 +11098,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Синхронизуј избор - + Auto expand tree item when the corresponding object is selected in 3D view Аутоматско проширивање ставке у стаблу када је одговарајући објекат изабран у 3Д погледу @@ -11784,12 +11111,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Синхронизуј приказ - + Auto switch to the 3D view containing the selected item Аутоматски пређи на 3Д поглед који садржи изабрану ставку @@ -11797,13 +11124,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Зумирање оквиром - - + + Activate the box zoom tool Активирај зумирање оквиром @@ -11811,13 +11138,13 @@ the current copy will be lost. StdViewDock - + Docked Уcидрен - - + + Display the active view either in fullscreen, in undocked or docked mode Прикажи активни поглед на целом екрану, у усидреном или у одсидреном режиму @@ -11825,13 +11152,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Прозор документа - - + + Display the active view either in fullscreen, in undocked or docked mode Прикажи активни поглед на целом екрану, у усидреном или у одсидреном режиму @@ -11839,13 +11166,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Цео екран - - + + Display the active view either in fullscreen, in undocked or docked mode Прикажи активни поглед на целом екрану, у усидреном или у одсидреном режиму @@ -11853,13 +11180,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Сачувај слику... - - + + Creates a screenshot of the active view Прави снимак активног 3Д погледа @@ -11867,13 +11194,13 @@ the current copy will be lost. StdViewUndock - + Undocked Одcидрен - - + + Display the active view either in fullscreen, in undocked or docked mode Прикажи активни поглед на целом екрану, у усидреном или у одсидреном режиму @@ -11881,13 +11208,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Увећај - - + + Increase the zoom factor by a fixed amount Повећај фактор зумирања за фиксни износ @@ -11895,13 +11222,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Умањи - - + + Decrease the zoom factor by a fixed amount Смањи фактор зумирања за фиксни износ @@ -11936,72 +11263,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Као што је - + Normal mode Уобичајени режим - + Points Тачке - + Points mode Режим приказа 3Д тачака - + Wireframe Жичани - + Wireframe mode Режим приказа жичани - + Hidden line Као троугаона мрежа - + Hidden line mode Режим приказа као троугаона мрежа - + No shading Без сенчења - + No shading mode Режим приказа без сенчења - + Shaded Невидљиве ивице, са сенчењем - + Shaded mode Режим приказа невидљиве ивице, са сенчењем - + Flat lines Видљиве ивице са сенчењем - + Flat lines mode Режим приказа Видљиве ивице са сенчењем @@ -12064,32 +11391,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12097,117 +11424,117 @@ Do you still want to proceed? Workbench - + &File &Датотека - + &Edit &Уреди - + Edit Уреди - + Clipboard Привремена меморија - + Workbench Радно окружење - + Structure Структура - + Standard views Основни погледи - + Axonometric Аксонометријски - + &Stereo &Стерео - + &Zoom &Зум - + Visibility Видљивост - + &View &Поглед - + &Tools &Алати - + &Macro &Макро - + &Windows &Прозори - + &On-line help Помоћ на мрежи - + &Help &Помоћ - + Help Помоћ - + File Датотека - + Macro Макро - + View Поглед - + Special Ops Специјалне операције - + Link actions Радње са спонама @@ -12215,12 +11542,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF Извези PDF - + PDF file PDF датотека @@ -12228,196 +11555,190 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Област за обавештења - + Settings Подешавања - + The Notification area will appear in the status bar Област за обавештења ће се појавити на статусној траци - + Enable Notification Area Омогући област за обавештења - + Non-intrusive notifications will appear next to the notification area in the status bar Ненаметљива обавештења ће се појавити поред области за обавештења на статусној траци - + Enable non-intrusive notifications Омогући ненаметљива обавештења - + Additional data sources Додатни извори података - + Errors intended for developers will appear in the notification area Грешке ће се појавити у области за обавештења - + Debug errors Отклањање грешака - + Warnings intended for developers will appear in the notification area Упозорења ће се појавити у области за обавештења - + Debug warnings Упозорења за отклањање грешака - + Non-Intrusive Notifications Ненаметљива обавештења - + Minimum Duration: Минимално трајање: - + Maximum Duration: Максимално трајање: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Временски период током којег ће се обавештење приказивати (осим ако се не кликне на тастере миша) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Минимални временски период током којег ће се обавештење приказивати (осим ако се не кликне на обавештење) - + Maximum Number of Notifications: Максималан број обавештења: - + Maximum number of notifications that will be simultaneously present on the screen Максималан број обавештења која ће истовремено бити приказана на екрану - + Notification width: Ширина обавештења: - + Width of the notification in pixels Ширина обавештења у пикселима - + Any open non-intrusive notifications will disappear when another window is activated Сва отворена ненаметљива обавештења ће нестати када се активира други прозор - + Hide when other window is activated Сакриј када се активира други прозор - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Спречи појављивање ненаметљивих обавештења када FreeCAD прозор није активан прозор - + Do not show when inactive Не приказуј када је неактиван - + Message List Листа Порука - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Ограничите број порука које ће се налазити у листи. Ако је 0, нема ограничења. - + Maximum Messages (0 = no limit): Максималан број порука (0 = без ограничења): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Уклања корисничка обавештења са листе порука након што истекне максимални ненаметљиви временски период. - + Auto-remove User Notifications Аутоматско уклањање корисничких обавештења - - - Activation of the Notification Area only takes effect after an application restart. - Активација области за обавештења ступа на снагу тек након поновног покретања апликације. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Расположива радна окружења - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Можете да промените редослед радних окружења превлачењем. Додатна радна окружења се могу инсталирати помћу Менаџера додатака.</p><p> Тренутно твој систем има следећа радна окружења:</p></body></html> - + Start up workbench: Покрени радно окружење: - + Choose which workbench will be activated and shown after FreeCAD launches Изабери које ће радно окружење бити активирано и приказано након покретања FreeCAD-а - + Workbench selector position : Положај бирача радног окружења: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12430,12 +11751,12 @@ after FreeCAD launches „Десни угао“: На траци менија, у десном углу. - + If checked, application will remember which workbench is active for each tab of the viewport Ако је чекирано, FreeCAD ће запамтити које је радно окружење активно за сваку картицу прозора главне графичке области - + Remember active workbench by tab Запамти активно радно окружење помоћу картице @@ -12584,47 +11905,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Ако није чекирано, %1 се неће појавити у доступним радним окружењима. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. Ово је тренутни модул за покретање и мора бити омогућен. Погледајте Подешавања/Опште/Аутоматско учитавање ако желиш да промениш. - + Shortcut to activate this workbench. Пречица за активирање овог радног окружења. - + Auto-load Аутоматско учитавање - + If checked, %1 will be loaded automatically when FreeCAD starts up Ако је чекирано, %1 ће се аутоматски учитати када се FreeCAD покрене - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded Учитан - + Load Учитај - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. Да би сачувао ресурсе, FreeCAD не учитава радна окружења док се не користе. Њихово учитавање може да омогући приступ додатним подешавањима која се односе на њихову функционалност. @@ -12632,17 +11953,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Палета са алатима - + Left corner Леви угао - + Right corner Десни угао @@ -12668,12 +11994,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Избриши корисничка обавештења - + Delete All Обриши све @@ -12709,13 +12035,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Учитај слику... - - + + Loads an image Учитавање слике @@ -12777,10 +12103,812 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information Догодила се грешка - За више информација погледај Прегледач објава + + Gui::Dialog::DlgSettingsEditor + + + Editor + Уредник + + + + Options + Опције + + + + Code lines will be numbered + Линије кода ће бити нумерисане + + + + Enable line numbers + Омогући бројеве линија + + + + The cursor shape will be a block + Облик курсора ће бити блок + + + + Enable block cursor + Омогући курсор у облику блока + + + + Enable folding + Омогући прелом + + + + Indentation + Увлачење + + + + Tab size: + Величина картице: + + + + Tabulator raster (how many spaces) + Величина табулатора (колико размака) + + + + Indent size: + Величина увлачења: + + + + How many spaces will be inserted when pressing <Tab> + Колико ће размака бити уметнуто када притиснеш <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Притиском на <Tab> уметнуће табулатор са дефинисаном величином картице + + + + Keep tabs + Задржи картице + + + + Pressing <Tab> will insert amount of defined indent size + Притисак на <Tab> уметнуће дефинисану величину увлачења + + + + Insert spaces + Уметни размак + + + + Display items + Прикажи ставке + + + + Color and font settings will be applied to selected type + Подешавања боја и фонта ће бити примењена на изабрани тип + + + + Family: + Фамилија: + + + + Font family to be used for selected code type + Фамилија фонтова која ће се користити за изабрани тип кода + + + + Size: + Величина: + + + + Font size to be used for selected code type + Величина фонтова која ће се користити за изабрани тип кода + + + + Color: + Боја: + + + + Preview: + Преглед: + + + + Text + Текст + + + + Bookmark + Обележивач + + + + Breakpoint + Тачка прекида + + + + Keyword + Кључна реч + + + + Comment + Коментар + + + + Block comment + Блокирај коментар + + + + Number + Број + + + + String + Знаковни низ + + + + Character + Карактер + + + + Class name + Име класе + + + + Define name + Дефиниши име + + + + Operator + Оператор + + + + Python output + Python излаз + + + + Python error + Python грешка + + + + Current line highlight + Истицање тренутне линије + + + + Items + Ставке + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Опште + + + + Language and number format + Језик и формат броја + + + + Language: + Језик: + + + + Language of the application's user interface + Језик корисничког окружења апликације + + + + Unit system: + Систем мерних јединица: + + + + Unit system that should be used for all parts of the application + Систем мерних јединица који треба да се користи за све делове апликације + + + + Number of decimals: + Број децимала: + + + + Number of decimals that should be shown for numbers and dimensions + Број децимала које треба приказати за бројеве и димензије + + + + Minimum fractional inch: + Минимални разломак за дефинисање прецизности инча: + + + + Minimum fractional inch to be displayed + Минимални разломак за дефинисање прецизности инча који ће бити приказан + + + + Number format: + Формат бројева: + + + + Operating system + Оперативни систем + + + + Selected language + Изабрани језик + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + Ако је чекирано, децимални сепаратор нумеричке тастатуре +биће замењен локалним сепаратором, осим +у Python конзоли и уређивачу макро-а где ће +тачка/зарез увек бити штампани. + + + + Substitute decimal separator + Замени децимални сепаратор + + + + Application + Апликација + + + + Theme: + Тема: + + + + Customize how user interface will look like + Прилагоди како ће изгледати кориснички интерфејс + + + + Size of toolbar icons: + Величина икона на палети алатки: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Одабере величину иконе на траци са алаткама. Можеш подесити +према величини екрана или личном укусу + + + + Tree view mode: + Режим стабла документа: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Прилагоди како се стабло документа приказује на панелу (потребно је поновно покретање). + +'Комбиновани поглед': комбинује стабло документа и Особине приказ-а у један панел. +'Стабло документа и Особине приказа': подели стабло документа и Особине приказа у посебне панеле. +'Оба': задржи сва три панела и можеш имати два сета стабла документа и Особина приказа. + + + + Size of recent file list: + Величина листе недавнo отвараних датотека: + + + + How many files should be listed in recent files list + Колико датотека треба да буде наведено на листи недавних датотека + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Озадина главног прозора (када ниједан документ није отворен) ће бити поплочана посебном сликом. +Погледај FreeCAD Wiki за детаље о слици. + + + + Enable tiled background + Омогући поплочану позадину + + + + The text cursor will be blinking + Курсор текста ће трептати + + + + Enable cursor blinking + Омогући трептање курсора + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Почетни екран је мали прозор за учитавање који се приказује +када се FreeCAD покреће. Ако је ова опција чекирана, FreeCAD ће +приказати почетни екран + + + + Enable splash screen at start up + Омогући почетни екран при покретању + + + + Preference packs + Пакети подешавања + + + + Name + Име + + + + Type + Врста + + + + Load + Учитај + + + + Import config... + Увези конфигурацију... + + + + Save new... + Сачувај нови... + + + + Manage... + Управљај... + + + + Revert... + Врати се... + + + + Manage preference packs + Управљање пакетима подешавања + + + + Small (%1px) + Мали (%1px) + + + + Medium (%1px) + Средњи (%1px) + + + + Large (%1px) + Велики (%1px) + + + + Extra large (%1px) + Екстра велики (%1px) + + + + Custom (%1px) + Сопствени (%1px) + + + + Combo View + Комбиновани панел + + + + TreeView and PropertyView + Стабло документа и Особине приказа + + + + Both + Оба + + + + Preference Pack Name + Име пакета подешавања + + + + Tags + Ознаке + + + + Apply + Примени + + + + Apply the %1 preference pack + Применити %1 пакет подешавања + + + + Choose a FreeCAD config file to import + Изабери FreeCAD конфигурациону датотеку коју хоћеш увести + + + + File exists + Датотека постоји + + + + A preference pack with that name already exists. Overwrite? + Пакет подешавања са тим именом већ постоји. Замени? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Прегледач објава + + + + Output + Излаз + + + + Normal messages will be recorded + Уобичајене поруке ће бити снимљене + + + + Record normal messages + Сними уобичајене поруке + + + + Log messages will be recorded + Поруке о грешкама ће бити снимљене + + + + Record log messages + Сними поруке у дневник + + + + Warnings will be recorded + Упозорења ће бити снимљена + + + + Record warnings + Сними упозорења + + + + Error messages will be recorded + Поруке о грешци ће бити снимљене + + + + Record error messages + Сними поруке о грешкама + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Када дође до грешке, на екрану ће бити видљив Преглед Извештаја док се приказује грешка + + + + Show report view on error + Прикажи преглед извештаја о грешци + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Када дође до упозорења, на екрану ће бити видљив Преглед Извештаја док се приказује упозорење + + + + Show report view on warning + Прикажи извештај уз упозорење + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Када настане обична порука, на екрану ће бити видљив Преглед Извештаја док се приказује порука + + + + Show report view on normal message + Прикажи извештај уз обичну поруку + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Када настане порука у дневнику, на екрану ће бити видљив Преглед Извештаја док се приказује порука из дневника + + + + Show report view on log message + Прикажи извештај уз поруку дневника + + + + Include a timecode for each report + Укључи временски код за сваки извештај + + + + Include a timecode for each entry + Укључи временски код за сваки унос + + + + Colors + Боје + + + + Normal messages: + Уобичајене поруке: + + + + Font color for normal messages in Report view panel + Боја фонта за обичне поруке на табли за приказ извештаја + + + + Log messages: + Поруке дневника: + + + + Font color for log messages in Report view panel + Боја фонта за поруке из дневника на табли за приказ извештаја + + + + Warnings: + Упозорења: + + + + Font color for warning messages in Report view panel + Боја фонта за поруке упозорења на табли за приказ извештаја + + + + Errors: + Грешке: + + + + Font color for error messages in Report view panel + Боја фонта за поруке о грешкама на табли за приказ извештаја + + + + Python interpreter + Python интерпретер + + + + Internal Python output will be redirected +from Python console to Report view panel + Интерни Python излаз ће бити преусмерен +са Python конзоле на таблу за приказ извештаја + + + + Redirect internal Python output to report view + Преусмери интерни Python излаз ка извештају + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Интерне поруке о Python грешкама бити преусмерене +са Python конзоле на таблу за приказ извештаја + + + + Redirect internal Python errors to report view + Преусмери интерне Python грешке у извештај + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Тема + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + Ова страница омогућава прилагођавање тренутне теме. Понуђена подешавања су опциона за програмере тема тако да могу, али не морају имати ефекта у тренутној теми. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Нема стилског листа + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_sv-SE.ts b/src/Gui/Language/FreeCAD_sv-SE.ts index 7b70af3d99..5bc5bff5d8 100644 --- a/src/Gui/Language/FreeCAD_sv-SE.ts +++ b/src/Gui/Language/FreeCAD_sv-SE.ts @@ -42,29 +42,29 @@ Visningsstorlek för funktionen - + <empty> <tom> - - + + Angle Vinkel - - + + Axis Axel - + Position Position - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Testkonsol-utmatning - - + + Run test cases to verify console messages Run test cases to verify console messages @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Rensa mätning - + Clear all visible measurements Clear all visible measurements @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Växla mätning - + Turn on or off the display of all measurements Turn on or off the display of all measurements @@ -132,7 +132,7 @@ Radera - + Paste expressions Klistra in uttryck @@ -182,7 +182,7 @@ Lägg till en grupp - + Align Justera @@ -193,40 +193,40 @@ Placering - - + + Transform Omvandla - + Toggle array elements Toggle array elements - + Link Transform Länk omvandling - + Measure distance Mät avstånd - + Toggle visibility Växla synlighet - + Toggle selectability Växla valbarhet - + Edit image Redigera bild @@ -234,77 +234,77 @@ CommandGroup - + File Fil - + Edit Redigera - + Help Hjälp - + Link Länk - + Tools Verktyg - + View Vy - + Window Fönster - + Standard Standard - + Macros Makron - + Macro Makro - + Structure Struktur - + Standard-Test Standardtest - + Standard-View Standardvy - + TreeView Trädvy - + Measure Mätning @@ -397,16 +397,11 @@ Ok - OK + Ok DownloadItem - - - Form - Form - Ico @@ -421,42 +416,42 @@ EditMode - + Default Standard - + The object will be edited using the mode defined internally to be the most appropriate for the object type The object will be edited using the mode defined internally to be the most appropriate for the object type - + Transform Omvandla - + The object will have its placement editable with the Std TransformManip command The object will have its placement editable with the Std TransformManip command - + Cutting Skär - + This edit mode is implemented as available but currently does not seem to be used by any object This edit mode is implemented as available but currently does not seem to be used by any object - + Color Färg - + The object will have the color of its individual faces editable with the Part FaceColors command The object will have the color of its individual faces editable with the Part FaceColors command @@ -482,7 +477,7 @@ inget - + Press a keyboard shortcut Press a keyboard shortcut @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Tillgängliga: - + Selected: Vald: - + Add Lägg till - + Remove Ta bort - + Move up Flytta upp - + Move down Flytta ned @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Flyttbart objekt - + Fixed object Fasta objekt @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Vänligen vänta tills återskapningsfilen har sparats... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Tryck på vänster musknapp - + Press SHIFT and middle mouse button Tryck på SKIFT och mellersta musknappen - + Press middle mouse button Tryck på mittre musknapp - + Scroll middle mouse button Bläddra mittre musknapp @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Tryck på vänster musknapp - + Press middle mouse button Tryck på mittre musknapp - + Press middle+left or middle+right button Tryck mittenknapp + vänsterknapp eller mittenknapp + högerknapp - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Rulla med musens mittenknapp, eller håll den nedtryckt medan du klickar med vänster eller höger knapp och rör musen uppåt eller nedåt @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &Ok - + &Cancel &Avbryt @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Uppgiftspanel @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Tack till - + FreeCAD would not be possible without the contributions of FreeCAD skulle inte vara möjligt utan bidrag från - + Individuals Header for the list of individual people in the Credits list. Personer - + Organizations Header for the list of companies/organizations in the Credits list. Organisationer - - + + License Licens - + Libraries Bibliotek - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Denna mjukvara använder komponenter med öppen källkod vars copyright och andra rättigheter tillhör deras respektive ägare: - + Collection Samling @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Cache directory - + The cache directory %1 exceeds the size of %2. The cache directory %1 exceeds the size of %2. - + Do you want to clear it now? Do you want to clear it now? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Kamerainställningar - + Orientation Orientering - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Aktuell vy @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Kommandon @@ -1116,12 +1111,12 @@ Om detta inte väljs måste egenskapen vara unikt namngiven och den nås som 'ob Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Pack already exists - + A preference pack with that name already exists. Do you want to overwrite it? A preference pack with that name already exists. Do you want to overwrite it? @@ -1359,48 +1354,48 @@ samma gång. Den med högsta prioritet kommer att utlösas. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Skriv för att söka... - + Icon Ikon - + Command Kommando - + Shortcut Genväg - + Default Standard - + Name Namn - + Title Titel - + All Alla - - + + none inget @@ -1408,8 +1403,8 @@ samma gång. Den med högsta prioritet kommer att utlösas. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Verktygslådor @@ -1498,40 +1493,40 @@ samma gång. Den med högsta prioritet kommer att utlösas. - + <Separator> <Separator> - + %1 module not loaded %1 modulen ej inladdad - + New toolbar Ny verktygsrad - - + + Toolbar name: Namn på verktygsraden: - - + + Duplicated name Duplicerat namn - - + + The toolbar name '%1' is already used Verktygsradens namn '%1' används redan - + Rename toolbar Döp om verktygsraden @@ -1544,19 +1539,19 @@ samma gång. Den med högsta prioritet kommer att utlösas. Gui::Dialog::DlgCustomizeImp - + Customize Anpassa - + &Help &Hjälp - + &Close S&täng @@ -1565,13 +1560,13 @@ samma gång. Den med högsta prioritet kommer att utlösas. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Spaceball rörelse - + No Spaceball Present Ingen spaceball finns @@ -1579,27 +1574,27 @@ samma gång. Den med högsta prioritet kommer att utlösas. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Spaceball knappar - + No Spaceball Present Ingen spaceball finns - + Buttons Knappar - + Reset Återställ - + Print Reference Utskriftsreferens @@ -1684,551 +1679,123 @@ samma gång. Den med högsta prioritet kommer att utlösas. Gui::Dialog::DlgDisplayPropertiesImp - + Default Standard - + Aluminium Aluminium - + Brass Mässing - + Bronze Brons - + Copper Koppar - + Chrome Krom - + Emerald Smaragd - + Gold Guld - + Jade Jade - + Metalized Metalliserad - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidian - + Pewter Tenn - + Plaster Gips - + Plastic Plast - + Ruby Rubin - + Satin Satin - + Shiny plastic Blank plast - + Silver Silver - + Steel Stål - + Stone Sten Gui::Dialog::DlgEditorSettings - - - Editor - Redigerare - - - - Options - Alternativ - - - - Code lines will be numbered - Kodrader kommer att numreras - - - - Enable line numbers - Aktivera radnummer - - - - The cursor shape will be a block - The cursor shape will be a block - - - - Enable block cursor - Enable block cursor - - - - Enable folding - Aktivera vikning - - - - Indentation - Indrag - - - - Tab size: - Tabulatorstorlek: - - - - Tabulator raster (how many spaces) - Tabulator raster (how many spaces) - - - - Indent size: - Storlek på indrag: - - - - How many spaces will be inserted when pressing <Tab> - Hur många mellanslag som kommer att infogas med <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Tryck på <Tab> för att infoga definierad indenteringsstorlek - - - - Keep tabs - Behåll tabulatorer - - - - Pressing <Tab> will insert amount of defined indent size - Tryck på <Tab> för att infoga definierad indenteringsstorlek - - - - Insert spaces - Sätt in mellanslag - - - - Display items - Visa objekt - - - - Color and font settings will be applied to selected type - Färg- och typsnittsinställningar kommer att tillämpas på markerad typ - - - - Family: - Familj: - - - - Font family to be used for selected code type - Typsnittsfamilj som ska användas för markerad kodtyp - - - - Size: - Storlek: - - - - Font size to be used for selected code type - Teckenstorlek som ska användas för markerad kodtyp - - - - Color: - Färg: - - - - Preview: - Förhandsgranskning: - - - Gui::Dialog::DlgGeneral - - - General - Allmänt - - - - Language of the application's user interface - Användargränssnittets språk - - - - Number format: - Number format: - - - - Operating system - Operativsystem - - - - Selected language - Selected language - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Preference packs - - - - Name - Namn - - - - Type - Typ - - - - Load - Ladda - - - - Import config... - Import config... - - - - Save new... - Save new... - - - - Manage... - Manage... - - - - Revert... - Revert... - - - - How many files should be listed in recent files list - Hur många filer ska visas i listan över senaste filer - - - - Enable tiled background - Aktivera staplad bakgrund - - - - The text cursor will be blinking - The text cursor will be blinking - - - - Enable cursor blinking - Enable cursor blinking - - - - Style sheet: - Formatmall: - - - - Language and number format - Language and number format - - - - Language: - Språk: - - - - Unit system: - Enhetssystem: - - - - Unit system that should be used for all parts of the application - Unit system that should be used for all parts of the application - - - - Number of decimals: - Antal decimaler: - - - - Number of decimals that should be shown for numbers and dimensions - Antal decimaler som ska visas för siffror och dimensioner - - - - Minimum fractional inch: - Minsta bråkdel av tum: - - - - Minimum fractional inch to be displayed - Minsta bråkdel tum som ska visas - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - Applikation - - - - Style sheet how user interface will look like - Stilmallen för användargränssnittets utseende - - - - Size of toolbar icons: - Storlek på verktygsfältsikonerna: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Välj din inställning för ikonstorlek i verktygsfältet. Du kan justera -detta beroende på skärmstorlek eller personlig smak - - - - Tree view mode: - Trädvyläge: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Anpassa hur trädvyn visas i panelen (omstart krävs). - -'ComboView': kombinera trävyn och egenskapsvyn i en panel. -'TreeView and PropertyView': delad trädvy och egenskapsvy i separat panel. -'Båda': ha alla tre paneler, och du kan ha två uppsättningar av träd vy och egenskapsvy. - - - - Size of recent file list: - Size of recent file list: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - En startskärm är ett litet laddningsfönster som visas -när FreeCAD startar. Om detta alternativ är markerat kommer FreeCAD -visa startskärm - - - - Enable splash screen at start up - Aktivera splashfönster vid uppstart - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Manage preference packs - - - - Small (%1px) - Liten (%1px) - - - - Medium (%1px) - Medel (%1px) - - - - Large (%1px) - Stor (%1px) - - - - Extra large (%1px) - Extra stor (%1px) - - - - Custom (%1px) - Anpassad (%1px) - - - - Combo View - Kombinerad vy - - - - TreeView and PropertyView - TrädVy och EgenskapsVy - - - - Both - Båda - - - - No style sheet - Ingen formatmall - - - - Preference Pack Name - Preference Pack Name - - - - Tags - Taggar - - - - Apply - Verkställ - - - - Apply the %1 preference pack - Apply the %1 preference pack - - - - Choose a FreeCAD config file to import - Choose a FreeCAD config file to import - - - - File exists - File exists - - - - A preference pack with that name already exists. Overwrite? - A preference pack with that name already exists. Overwrite? - - Gui::Dialog::DlgInputDialog @@ -2244,8 +1811,8 @@ visa startskärm Gui::Dialog::DlgInspector - - + + Scene Inspector Sceninspektör @@ -2337,71 +1904,71 @@ visa startskärm Gui::Dialog::DlgMacroExecuteImp - + Macros Makron - + Read-only Skrivskyddad - + Macro file Makro fil - + Enter a file name, please: Skriv in ett filnamn: - - - + + + Existing file Filen finns - + '%1'. This file already exists. '%1'. Denna fil finns redan. - + Cannot create file Kan inte skapa fil - + Creation of file '%1' failed. Skapandet av filen %1' misslyckades. - + Delete macro Radera makro - + Do you really want to delete the macro '%1'? Vill du verkligen radera makrot '%1'? - + Do not show again Visa inte igen - + Guided Walkthrough Guidad genomgång - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2412,78 +1979,78 @@ Obs: dina ändringar kommer att tillämpas när du byter arbetsbänkar nästa g - + Walkthrough, dialog 1 of 2 Genomgång, dialogruta 1 av 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Genomgångsinstruktioner: Fyll i saknade fält (valfritt) klicka sedan på Lägg till och stäng - + Walkthrough, dialog 1 of 1 Genomgång, dialogruta 1 av 1 - + Walkthrough, dialog 2 of 2 Genomgång, dialogruta 2 av 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Genomgångsinstruktioner: Klicka på höger pilknapp (->), sedan Stäng. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Genomgångsinstruktioner: Klicka på Ny, sedan höger pilknapp (->), sedan Stäng. - + Renaming Macro File Döper om makrofil - - + + Enter new name: Ange nytt namn: - - + + '%1' already exists. '%1' finns redan. - + Rename Failed Omdöpning misslyckades - + Failed to rename to '%1'. Perhaps a file permission error? Misslyckades med att döpa om till '%1'. Kanske saknas filrättigheter? - + Duplicate Macro Duplicera makro - + Duplicate Failed Duplicering misslyckades - + Failed to duplicate to '%1'. Perhaps a file permission error? Misslyckades med att duplicera till '%1'. @@ -2526,39 +2093,39 @@ Kanske saknas fil-rättigheter? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Makroinspelare - + Specify first a place to save. Specificera först en plats att spara på. - + The macro directory doesn't exist. Please, choose another one. Makrokatalogen finns inte. Var snäll och välj en annan. - + Existing macro Makrot finns - + The macro '%1' already exists. Do you want to overwrite? Makrot '%1' finns redan. Vill du skriva över den? - + You have no write permission for the directory. Please, choose another one. Du saknar skrivbehörighet för katalogen. Vänligen välj en annan. - + Choose macro directory Välj makro katalog @@ -2631,12 +2198,12 @@ Kanske saknas fil-rättigheter? HTML-filer - + Access denied Åtkomst nekad - + Access denied to '%1' Specify another directory, please. @@ -3037,36 +2604,36 @@ Ange en annan katalog. Projektfil - - + + Empty source Tom källa - - + + No source is defined. Ingen källa är definierad. - - + + Empty destination Tom destination - - + + No destination is defined. Ingen destination är definierad. - + Failed to extract project Failed to extract project - + Failed to create project Failed to create project @@ -3116,188 +2683,6 @@ Ange en annan katalog. Gui::Dialog::DlgReportView - - - Report view - Rapportvy - - - - Output - Utmatning - - - - Normal messages will be recorded - Normala meddelanden kommer att spelas in - - - - Record normal messages - Spela in normala meddelanden - - - - Log messages will be recorded - Loggmeddelanden kommer att spelas in - - - - Record log messages - spela in logg meddelanden - - - - Warnings will be recorded - Varningar kommer att registreras - - - - Record warnings - Spela in varningar - - - - Error messages will be recorded - Felmeddelanden kommer att spelas in - - - - Record error messages - Spela in felmeddelanden - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - När ett fel har inträffat blir dialogrutan för rapportvy synlig -på skärmen när felet visas - - - - Show report view on error - Visa rapportvy vid fel - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - När varning har inträffat blir dialogrutan för rapportvy synlig -på skärmen när varningen visas - - - - Show report view on warning - Visa rapportvy vid varning - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - När ett normalt meddelande har inträffat blir dialogrutan för rapportvy synlig -på skärmen när meddelandet visas - - - - Show report view on normal message - Visa rapportvy på normalt meddelande - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - När ett loggmeddelande har inträffat blir dialogrutan för Report View synlig -på skärmen när loggmeddelandet visas - - - - Show report view on log message - Visa rapportvy för loggmeddelande - - - - Include a timecode for each report - Inkludera en tidskod för varje rapport - - - - Include a timecode for each entry - Inkludera en tidskod för varje post - - - - Colors - Färger - - - - Normal messages: - Normala meddelanden: - - - - Font color for normal messages in Report view panel - Teckensnittsfärg för vanliga meddelanden i panelen Rapportvy - - - - Log messages: - Loggmeddelanden: - - - - Font color for log messages in Report view panel - Teckensnittsfärg för loggmeddelanden i panelen Rapportvy - - - - Warnings: - Varningar: - - - - Font color for warning messages in Report view panel - Teckensnittsfärg för varningsmeddelanden i panelen Rapportvy - - - - Errors: - Fel: - - - - Font color for error messages in Report view panel - Teckensnittsfärg för felmeddelanden i panelen Rapportvy - - - - Python interpreter - Python-tolk - - - - Internal Python output will be redirected -from Python console to Report view panel - Intern Python-utmatning kommer att omdirigeras -från Python-konsolen till Rapportvy panelen - - - - Redirect internal Python output to report view - Dirigera om intern Pythonutmatning till rapportvyn - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Intern Python-utmatning kommer att omdirigeras -från Python-konsolen till Rapportvy panelen - - - - Redirect internal Python errors to report view - Omdirigera interna Pythonfel till rapportvy - @@ -3324,7 +2709,7 @@ från Python-konsolen till Rapportvy panelen Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No selection in dialog, cannot load backup file @@ -3367,7 +2752,7 @@ från Python-konsolen till Rapportvy panelen Hjälp - + Select a file Välj en fil @@ -3375,70 +2760,70 @@ från Python-konsolen till Rapportvy panelen Gui::Dialog::DlgSettings3DView - + 3D View 3D Vy - + General Allmänt - + Main coordinate system will always be shown in lower right corner within opened files Huvudkoordinatsystemet kommer alltid att visas i nedre högra hörnet i öppnade filer - + Show coordinate system in the corner Visa koordinatsystemet i hörnet - + Relative size : Relative size : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Size of main coordinate system representation in the corner -- in % of height/width of viewport - + Axis cross will be shown by default at file opening or creation Axelkors kommer att visas som standard vid fil öppna eller skapa - + Show axis cross by default Visa axelkors som standard - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Tid som behövs för senaste operation och resulterande bildfrekvens visas i nedre vänstra hörnet i öppnade filer - + Show counter of frames per second Visa räknaren för bilder per sekund - + Rendering Rendering - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3447,22 +2832,22 @@ Changing this option requires a restart of the application. För att ändra detta alternativ krävs en omstart av programmet. - + Use software OpenGL Använd mjukvaru OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Använd OpenGL (VertexBufferObject) - + Render cache Renderingscache - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3485,7 +2870,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3502,92 +2887,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Automatisk - + Distributed Distribuerad - + Centralized Centraliserad - + Anti-Aliasing Kantutjämning - + What kind of multisample anti-aliasing is used Vilken typ av multisamplad anti-aliasing används - + None Inget - + Line Smoothing Linjeutjämning - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Transparenta objekt: - + Render types of transparent objects Rendera typer av transparenta objekt - + One pass Ett pass - + Backface pass Backface pass - + Marker size: Markörstorlek: - - Size of vertices in the Sketcher workbench - Storlek på hörn i Sketcher arbetsbänken + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Ögonavstånd för stereolägen - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3596,48 +2981,48 @@ Det angivna värdet är en faktor som kommer att multipliceras med storleken på det 3D-objekt som visas. - + Backlight is enabled with the defined color Bakgrundsbelysningen är aktiverad med den definierade färgen - - + + Backlight color Bakgrundsbelysningens färg - + Intensity Intensitet - + Intensity of the backlight Bakgrundsbelysningens Intensitet - + Camera type Kameratyp - + Objects will appear in a perspective projection Objekt kommer att visas i en perspektiv projektion - + Perspective renderin&g Perspektivrenderin&g - + Objects will be projected in orthographic projection Objekt kommer att projiceras i ortografisk projektion - + Or&thographic rendering Or&tografisk rendering @@ -3649,42 +3034,42 @@ storleken på det 3D-objekt som visas. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Kantutjämning - + Open a new viewer or restart %1 to apply anti-aliasing changes. Öppna ett nytt fönster eller starta om %1 för att tillämpa ändringar för kantutjämning. @@ -3692,77 +3077,77 @@ storleken på det 3D-objekt som visas. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Cache directory - + Location: Location: - + Check periodically at program start: Check periodically at program start: - + Always Alltid - + Daily Daily - + Weekly Veckovis - + Monthly Monthly - + Yearly Årligen - + Never - Never + Aldrig - + Cache size limit: Cache size limit: - + Check now... Check now... - + Notify the user if the cache size exceeds the specified limit Notify the user if the cache size exceeds the specified limit - + Unknown Okänd - + Current cache size: %1 Current cache size: %1 @@ -3923,12 +3308,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Fel parameter - + The maximum value must be higher than the minimum value. Maximumvärdet måste vara större än minimumvärdet. @@ -3936,182 +3321,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Dokument - + General Allmänt - + The application will create a new document when started Programmet kommer att skapa ett nytt dokument när det startas - + Create new document at start up Skapa nytt dokument vid uppstart - + Document save compression level (0 = none, 9 = highest, 3 = default) Komprimeringsgrad när dokument sparas (0 = ingen, 9 = högst, 3 = standard) - + Compression level for FCStd files Komprimeringsnivå för FCStd-filer - + All changes in documents are stored so that they can be undone/redone Alla ändringar i dokument lagras så att de kan ångras/göras om - + Using Undo/Redo on documents Använder Ångra / Gör om på dokument - + Maximum Undo/Redo steps Maximalt Ångra / Gör om steg - + How many Undo/Redo steps should be recorded Hur många Ångra/Gör om steg ska registreras - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Tillåt användare att avbryta omberäkning av dokument genom att trycka på ESC. Denna funktion kan öka omberäkningstiden något. - + Allow aborting recomputation Tillåt att omberäkning avbryts - + Storage Lagring - + Saving transactions (Auto-save) Spara transaktionerna (autospara) - + Discard saved transaction after saving document Förstör sparad transaktion efter att ha sparat dokumentet - + If there is a recovery file available the application will automatically run a file recovery when it is started. Om det finns en återställningsfil tillgänglig kommer programmet automatiskt att köra en filåterställning när det startas. - + Run AutoRecovery at startup Kör automatisk återställning vid start - + How often a recovery file is written Hur ofta en återställningsfil skrivs - + Save AutoRecovery information every Spara information för automatisk återställning varje - + A thumbnail will be stored when document is saved En miniatyrbild sparas när dokumentet sparas - + Save thumbnail into project file when saving document Spara minibild i projektfilen när dokumentet sparas - + Size Storlek - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Anger storleken på miniatyrbilden som lagras i dokumentet. Vanliga storlekar är 128, 256 och 512 - + The program logo will be added to the thumbnail Programmets logotyp kommer att adderas till miniatyrbilden - + Add the program logo to the generated thumbnail Lägg till programlogon i den genererade miniatyrbilden - + How many backup files will be kept when saving document Hur många säkerhetskopierade filer kommer att behållas när dokument sparas - + Maximum number of backup files to keep when resaving document Maximalt antal backup-filer att behålla när dokument återsparas - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Säkerhetskopiera filer kommer att få tillägg '.FCbak' och filnamn få datum suffix enligt det angivna formatet - + Use date and FCBak extension Använd datum och FCBak tillägg - + Date format Datumformat - + Document objects Dokumentobjekt - + Allow objects to have same label Allow objects to have same label - + Allow duplicate object labels in one document Tillåt duplicerade objektetiketter i ett dokument - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4124,22 +3509,22 @@ Ett delvis laddat dokument kan inte redigeras. Dubbelklicka på ikonen för doku i trädvyn för att ladda om det. - + Disable partial loading of external linked objects Inaktivera partiell laddning av externa länkade objekt - + Authoring and License Upphovsinformation och Licens - + Author name Författare - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4148,32 +3533,32 @@ Behåll tomt för anonymt. Du kan också använda formuläret: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Fältet 'Senast ändrad av' kommer att sättas till specificerad författare när filen sparas - + Set on save Uppdatera vid sparning - + Company Företag - + Default company name to use for new files Förvalt företagsnamn att använda för nya filer - + Default license Standardlicens - + Default license for new documents Standardlicens för nya dokument @@ -4243,12 +3628,12 @@ Du kan också använda formuläret: John Doe <john@doe.com> Övrigt - + License URL Licens-URL - + URL describing more about the license URL som beskriver mer om licensen @@ -4256,104 +3641,21 @@ Du kan också använda formuläret: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Datumformat som ska användas. - + Default Standard - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Text - - - - Bookmark - Bokmärke - - - - Breakpoint - Brytpunkt - - - - Keyword - Nyckelord - - - - Comment - Kommentar - - - - Block comment - Blockkommentar - - - - Number - Nummer - - - - String - Sträng - - - - Character - Tecken - - - - Class name - Klassnamn - - - - Define name - Definiera namn - - - - Operator - Operator - - - - Python output - Python utmatning - - - - Python error - Python fel - - - - Current line highlight - Nuvarande radmarkering - - - - Items - Saker - - Gui::Dialog::DlgSettingsImage @@ -4534,122 +3836,122 @@ Du kan också använda formuläret: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Makro - + General macro settings Allmänna makroinställningar - + Variables defined by macros are created as local variables Variabler definierade av makron skapas som lokala variabler - + Run macros in local environment Kör makron i lokala miljön - + Macro recording settings Inställningar för makroinspelning - + Macro path sökväg för makro - + The directory in which the application will search for macros Katalogen där programmet kommer att söka efter makron - + Gui commands Gui kommandon - + Recorded macros will also contain user interface commands Inspelade makron kommer också att innehålla kommandon för användargränssnitt - + Record GUI commands Spela in GUI-kommandon - + Recorded macros will also contain user interface commands as comments Inspelade makron kommer också att innehålla kommandon för användargränssnitt som kommentarer - + Record as comment Spela in som kommentar - + Logging Commands Loggkommandon - + Commands executed by macro scripts are shown in Python console Kommandon som körs av makroskript visas i Python-konsolen - + Show script commands in python console Visa skriptkommandon i python konsolen - + Log all commands issued by menus to file: Logga alla kommandon startade av menyer till fil: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Lista över senast använda makron - + Size of recent macro list Storlek på senaste makrolistan - + How many macros should be listed in recent macros list Hur många makron ska listas i listan över senast använda makron - + Keyboard shortcut count Keyboard shortcut count - + How many recent macros should have shortcuts Hur många nya makron bör ha genvägar - + Keyboard Modifiers Tangentbords modifierare - + Keyboard modifiers, default = Ctrl+Shift+ Tangentbords modifierare, standard = Ctrl+Skift+ @@ -4657,130 +3959,130 @@ Du kan också använda formuläret: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navigering - + Navigation cube Navigationskub - + Steps by turn Vridsteg - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Antal vridsteg vid användning av pilar (standard = 8 : stegvinkel = 360/8 = 45 grader) - + Corner Hörn - + Corner where navigation cube is shown Hörn där navigationskub visas - + Top left Topp vänster - + Top right Topp höger - + Bottom left Botten vänster - + Bottom right Botten höger - + Rotates to nearest possible state when clicking a cube face Roterar till närmaste möjliga tillstånd när du klickar på en kubsida - + Rotate to nearest Rotera till närmaste - + Font name: Font name: - + Font name of the navigation cube Font name of the navigation cube - + Default Standard - + Cube size Kubstorlek - + Size of the navigation cube Storlek på navigationskuben - + Color Färg - + Base color for all elements Base color for all elements - + 3D Navigation 3D Navigering - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Lista musknappskonfigurationer för varje vald navigeringsinställning. Välj en uppsättning och tryck sedan på knappen för att visa nämnda konfigurationer. - + Mouse... Mus... - + Navigation settings set Navigeringsinställningar inställda - + Orbit style Orbit stil - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4791,173 +4093,183 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable Skivtallrik - + Trackball Trackball - + Free Turntable Free Turntable - + Rotation mode Rotationsläge - + Rotations in 3D will use current cursor position as center for rotation Rotationer i 3D kommer att använda aktuell markörposition som centrum för rotation - + Window center Fönster mitt - + Drag at cursor Drag vid muspekaren - + Object center Objekt centrum - + Default camera orientation Standard kamerainriktning - + Default camera orientation when creating a new document or selecting the home view Standard kamerainriktning när du skapar ett nytt dokument eller väljer hemvyn - + Camera zoom Camera zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Ställer in kamerans zoom för nya dokument. Värdet är sfärens diameter som passar på skärmen. - + mm mm - + Enable animated rotations Aktivera animerade rotationer - + Enable animation Aktivera animering - + Zoom operations will be performed at position of mouse pointer Zoomoperationer kommer att utföras vid muspekarens position - + Zoom at cursor Zooma vid markören - + Zoom step Zoomsteg - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Hur mycket kommer att zoomas. Zoomsteg '1' betyder en faktor på 7,5 för varje zoomsteg. - + Direction of zoom operations will be inverted Zoomoperationernas riktning kommer att inverteras - + Invert zoom Invertera zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. Förhindrar lutning av vy vid två-fingers-zoomning. Påverkar endast gestnavigeringsstil, vylutning med musen avaktiveras inte av denna inställning. - + Disable touchscreen tilt gesture Avaktivera lutning med gester på pekskärm - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Aktivera indikering av rotationscentrum + + + Isometric Isometrisk - + Dimetric Dimetrisk - + Trimetric Trimetrisk - + Top Topp - + Front Front - + Left Vänster - + Right Höger - + Rear Bak - + Bottom Botten - + Custom Anpassad @@ -4965,44 +4277,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python konsoll - + Settings Inställningar - + Words will be wrapped when they exceed available horizontal space in Python console Radbrytning kommer att appliceras när det tillgängliga horisontellt utrymmet överskrids i Python-konsolen - + Enable word wrap Aktivera radbrytning - + The cursor shape will be a block The cursor shape will be a block - + Enable block cursor Enable block cursor - + Saves Python history across sessions Saves Python history across sessions - + Save history Spara historik @@ -5010,17 +4322,37 @@ horisontellt utrymmet överskrids i Python-konsolen Gui::Dialog::DlgSettingsSelection - + Selection Markering - + + Enable preselection, highlighted with specified color + Aktivera förval och markering efter angiven färg + + + + Enable preselection + Aktivera förval + + + + Enable selection, highlighted with specified color + Aktivera förval och markering efter angiven färg + + + + Enable selection + Aktivera markering + + + Pick radius (px): Välj radie (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5029,27 +4361,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Växla automatiskt till 3D-vyn som innehåller det valda objektet - + Auto expand tree item when the corresponding object is selected in 3D view Expandera trädobjektet automatiskt när motsvarande objekt väljs i 3D-vyn - + Preselect the object in 3D view when mouse over the tree item Förvälj objektet i 3D-vyn när musen går över trädobjektet - + Record selection in tree view in order to go back/forward using navigation button Spela in markering i trädvyn för att gå bakåt/framåt med navigeringsknappen - + Add checkboxes for selection in document tree Lägg till kryssrutor för val i dokumentträd @@ -5057,147 +4389,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Färger - - Selection - Markering - - - - Enable preselection and highlight by specified color - Aktivera förval och markering efter angiven färg - - - - Enable preselection highlighting - Aktivera förvalsmarkering - - - - Enable selection highlighting and use specified color - Aktivera valmarkering och använd angiven färg - - - - Enable selection highlighting - Aktivera valmarkering - - - + Background color for the model view Bakgrundsfärg för modellvyn - + Background color Bakgrundsfärg - - + + Background will have selected color Bakgrunden kommer att ha vald färg - + Simple color Enkel färg - - + + Background will have selected color gradient Bakgrunden kommer att ha vald färgtoning - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Topp: - - + + Middle: Mitt: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch Switch - + Color gradient will get selected color as middle color Färg gradient kommer att få vald färg som mellersta färg - + Middle color Mellanfärg - - + + Bottom: Nederst: - + Tree view Trädvy - + Object being edited Objektet som blir redigerat - + Background color for objects in tree view that are currently edited Bakgrundsfärg för objekt i trädvyn som för närvarande redigeras - + Active container Aktiv behållare - + Background color for active containers in tree view Bakgrundsfärg för aktiva behållare i trädvyn - + Central: Central: - + Midway: Halvvägs: - + End: Slut: @@ -5309,12 +4616,12 @@ Inställningssystemet är det som anges i de allmänna inställningarna. Gui::Dialog::DlgUnitsCalculator - + unknown unit: okänd enhet: - + unit mismatch enhet matchar inte @@ -5322,7 +4629,7 @@ Inställningssystemet är det som anges i de allmänna inställningarna. Gui::Dialog::DockablePlacement - + Placement Placering @@ -5372,60 +4679,60 @@ The 'Status' column shows whether the document could be recovered. Ännu ej återställt - + Unknown problem occurred Okänt fel uppstod - - + + Failed to recover Återställning misslyckades - + Successfully recovered Återställning lyckades - + Finish Gör klart - - + + Delete Radera - - + + Cleanup Städning - + Are you sure you want to delete the selected transient directories? Är du säker på att du vill radera de valda temporära katalogerna? - + When deleting the selected transient directory you won't be able to recover any files afterwards. När den valda temporära katalogen raderas kommer du inte att kunna återställa några filer efteråt. - + Are you sure you want to delete all transient directories? Är du säker på att du vill radera alla temporära kataloger? - + When deleting all transient directories you won't be able to recover any files afterwards. När du tar bort alla temporära kataloger kommer du inte att kunna återställa några filer efteråt. - + Transient directories deleted. Temporära kataloger raderade. @@ -5549,7 +4856,7 @@ The 'Status' column shows whether the document could be recovered. Mapp för ikoner - + Add icon folder Lägg till mapp för ikoner @@ -5562,12 +4869,12 @@ The 'Status' column shows whether the document could be recovered. Lägg till eller ta bort mapp(ar) för egna ikoner - + Remove folder Ta bort mapp - + Removing a folder only takes effect after an application restart. Borttagning av en mapp kräver omstart av programmet för att verkställas. @@ -5637,79 +4944,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Expandera - + Add sub-group Lägg till undergrupp - - + + Remove group Ta bort grupp - + Rename group Döp om grupp - + Export parameter Exportera parameter - + Import parameter Importera parameter - + Collapse Minimera - + Do you really want to remove this parameter group? Vill du verkligen to bort denna parametergrupp? - + Existing sub-group Existerande undergrupp - + The sub-group '%1' already exists. Undergruppen '%1' finns redan. - + Export parameter to file exportera parameter till fil - + Import parameter from file Importera parameter från fil - + Import Error Importfel - + Reading from '%1' failed. Läsning från '%1' misslyckades. @@ -5717,65 +5024,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Ändra värde - + Remove key Ta bort nyckel - + Rename key Döp om nyckel - + New Ny - + New string item Ny sträng - + New float item Nytt flyttal - + New integer item Nytt heltal - + New unsigned item Nytt osignerat tal - + New Boolean item Nytt booleskt värde - - - - - + + + + + Existing item Existerar - - - - - + + + + + The item '%1' already exists. Saken '%1' finns redan. @@ -5921,17 +5228,17 @@ The 'Status' column shows whether the document could be recovered. Verkställ - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Vänligen välj en, två eller tre punkter och tryck sedan på denna knapp. En punkt kan antingen vara en hörnpunkt eller ligga på en kant eller yta. Om en kant eller yta väljs, kommer punkten ligga vid musens position på kanten eller ytan. Om en punkt är vald kommer den vara rotationscentrum. Om två punkter är valda kommer mittpunkten mellan dom att vara rotationscentrum, och en ny axel kommer skapas vid behov. Om tre punkter är valda kommer den första punkten att vara rotationscentrum och ligga på normalvektorn mot det plan som definieras av dom tre valda punkterna. Viss distans- och vinkelinformation är tillgänglig i rapport-vyn, vilket kan vara användbart när objekt ska justeras. För enkelhetens skull så kopieras lämplig distans och vinkel vid skift + klick. - + Incorrect quantity Felaktigt antal - + There are input fields with incorrect input, please ensure valid placement values! Det finns inmatningsfält med felaktiga värden, vänligen ange giltiga värden! @@ -5939,12 +5246,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Knapp - + Command Kommando @@ -6008,17 +5315,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Inventor träd - + Name Namn - + Nodes Noder @@ -6074,14 +5381,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Avbryt - - + + Transform Omvandla @@ -6179,13 +5486,13 @@ som ursprungligen valts innan du öppnar denna dialogruta - + Model Modell - + Tasks Uppgifter @@ -6193,7 +5500,7 @@ som ursprungligen valts innan du öppnar denna dialogruta Gui::DockWnd::PropertyDockView - + Property View Egenskapsvy @@ -6201,82 +5508,82 @@ som ursprungligen valts innan du öppnar denna dialogruta Gui::DockWnd::ReportOutput - + Options Alternativ - + Display message types Visa meddelandetyper - - + + Normal messages Normala meddelanden - - + + Log messages Loggmeddelanden - - + + Warnings Varningar - - + + Errors Fel - - + + Critical messages Kritiska meddelanden - + Show Report view on Show Report view on - + Redirect Python output Dirigera om Pythonutmatning - + Redirect Python errors Omdirigera Python fel - + Go to end Gå till slutet - + Clear Rensa - + Save As... Spara som... - + Save Report Output Spara rapport utmatning - + Plain Text Files Textfil @@ -6285,13 +5592,13 @@ som ursprungligen valts innan du öppnar denna dialogruta Gui::DockWnd::ReportView - + Output Utmatning - + Python console Python konsoll @@ -6329,72 +5636,72 @@ som ursprungligen valts innan du öppnar denna dialogruta Lista med valda objekt - + Select only Markera endast - + Selects only this object Markerar endast detta objekt - + Deselect Avmarkera - + Deselects this object Avmarkerar detta objekt - + Zoom fit Zooma inpassad - + Selects and fits this object in the 3D window Väljer och passar in detta objekt i 3D-fönstret - + Go to selection Gå till markering - + Selects and locates this object in the tree view Markerar och lokaliserar detta objekt i trädvyn - + Mark to recompute Markera för att omberäkna - + Mark this object to be recomputed Markera detta objekt för att bli omberäknat - + To python console Till Python-konsolen - + Reveals this object and its subelements in the python console. Visar detta objekt och dess underelement i Python-konsolen. - + Duplicate subshape Duplicera underform - + Creates a standalone copy of this subshape in the document Skapa en fristående kopia av den här underformen i dokumentet @@ -6407,7 +5714,7 @@ som ursprungligen valts innan du öppnar denna dialogruta Applikation - + Labels & Attributes Etiketter & attribut @@ -6456,27 +5763,27 @@ Vill du spara ändringarna? PDF-fil - + untitled[*] utan namn[*] - + - Editor - Redigerare - + %1 chars removed %1 tecken borttagna - + %1 chars added %1 tecken tillagda - + Formatted Formatterad @@ -6500,13 +5807,13 @@ Vill du spara ändringarna? Gui::FileChooser - - + + Select a file Välj en fil - + Select a directory Välj en katalog @@ -6514,13 +5821,13 @@ Vill du spara ändringarna? Gui::FileDialog - + Save as Spara som - - + + Open Öppna @@ -6528,12 +5835,12 @@ Vill du spara ändringarna? Gui::FileOptionsDialog - + Extended Utökad - + All files (*.*) Alla filer (*.*) @@ -6541,27 +5848,27 @@ Vill du spara ändringarna? Gui::Flag - + Top left Topp vänster - + Bottom left Botten vänster - + Top right Topp höger - + Bottom right Botten höger - + Remove Ta bort @@ -6569,22 +5876,22 @@ Vill du spara ändringarna? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Knacka ELLER klicka på musens vänstra knapp. - + Drag screen with two fingers OR press right mouse button. Drag skärmen med två fingrar ELLER tryck på musens högra knapp. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Dra skärmen med ett finger ELLER tryck på musens vänstra knapp. I Skissaren och andra redigeringslägen, håller du även ned Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Nyp (dra isär/ihop två fingrar på skärmen), bläddra med musens mittenknapp eller använd PGUP/PGDOWN på tangentbordet. @@ -6592,74 +5899,74 @@ Vill du spara ändringarna? Gui::GraphvizView - + Graphviz not found Graphviz hittades inte - + Graphviz couldn't be found on your system. Graphviz kunde inte hittas i systemet. - + Read more about it here. Läs mer om det här. - + Do you want to specify its installation path if it's already installed? Vill du ange dess installationssökväg om det redan är installerat? - + Graphviz installation path Graphviz installationssökväg - + Graphviz failed Graphviz misslyckades - + Graphviz failed to create an image file Graphviz lyckades inte skapa en avbildningsfil - + PNG format PNG-format - + Bitmap format Bitmap-format - + GIF format GIF-format - + JPG format JPG-format - + SVG format SVG-format - - + + PDF format PDF-format - - + + Export graph Exportera graf @@ -6667,12 +5974,12 @@ Vill du spara ändringarna? Gui::InputField - + Edit Redigera - + Save value Spara värde @@ -6680,22 +5987,22 @@ Vill du spara ändringarna? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Tryck CTRL och vänster musknapp - + Press middle mouse button Tryck på mittre musknapp - + Press left mouse button Tryck på vänster musknapp - + Scroll middle mouse button Bläddra mittre musknapp @@ -6703,7 +6010,7 @@ Vill du spara ändringarna? Gui::LabelEditor - + List Lista @@ -6711,66 +6018,66 @@ Vill du spara ändringarna? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Användardefinierad... - + - - + + Wrong direction Fel riktning - + - - + + Direction must not be the null vector Riktningen får inte vara noll vektorn @@ -6778,22 +6085,22 @@ Vill du spara ändringarna? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Riktning: @@ -6801,17 +6108,17 @@ Vill du spara ändringarna? Gui::MacroCommand - + Macros Makron - + Macro file doesn't exist Makrofil existerar inte - + No such macro file: '%1' Ingen sådan macrofil: '%1' @@ -6819,63 +6126,73 @@ Vill du spara ändringarna? Gui::MainWindow - - + + Dimension Dimension - + Ready Klar - + Help addon needed! Help addon needed! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager Open Addon Manager - + Close All Stäng alla - - + + Toggles this toolbar Växlar denna verktygsrad - - + + Toggles this dockable window Växlar detta dockningsbara fönster - - + + WARNING: This is a development version. + VARNING: Detta är en utvecklingsversion. + + + + Please do not use in a production environment. + Använd inte i en produktionsmiljö. + + + + Unsaved document Osparat dokument - + The exported object contains external link. Please save the documentat least once before exporting. Det exporterade objektet innehåller extern länk. Spara dokumentet minst en gång innan du exporterar. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? För att länka till externa objekt måste dokumentet sparas minst en gång. @@ -6885,63 +6202,63 @@ Vill du spara dokumentet nu? Gui::ManualAlignment - - - - - + + + + + Manual alignment Manuell justering - + The alignment is already in progress. Justeringen pågår redan. - + Alignment[*] Justering[*] - + Please, select at least one point in the left and the right view Välj minst en punkt i den vänstra och den högra vyn - + Please, select at least %1 points in the left and the right view Välj minst %1 punkter i den vänstra och den högra vyn - + Please pick points in the left and right view Markera punkter i den vänstra och den högra vyn - + The alignment has finished Justeringen är klar - + The alignment has been canceled Justeringen har avbrutits - - + + Too few points picked in the left view. At least %1 points are needed. För få punkter har markerats i den vänstra vyn. Minst %1 punkter behövs. - - + + Too few points picked in the right view. At least %1 points are needed. För få punkter har markerats i den högra vyn Minst %1 punkter behövs. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6950,59 +6267,59 @@ I vänstra vyn har %1 punkter markerats, I högra vyn har %2 punkter markerats. - + Try to align group of views Försök att anpassa vygrupper - + The alignment failed. How do you want to proceed? Anpassningen misslyckades. Hur vill du fortsätta? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Olika antal punkter har markerats i vänster respektive höger vy. I vänstra vyn har %1 punkter markerats, i högra vyn har %2 punkter markerats. - + Point_%1 Point_%1 - + Point picked at (%1,%2,%3) Punkt markerad vid (%1, %2, %3) - + No point was found on model Ingen punkt hittades på modellen - + No point was picked Ingen punkt markerades - + &Align &Align - + &Remove last point &Remove last point - + &Cancel &Avbryt - + &Synchronize views &Synchronize views @@ -7010,22 +6327,22 @@ Hur vill du fortsätta? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Knacka ELLER klicka på musens vänstra knapp. - + Drag screen with two fingers OR press ALT + middle mouse button. Drag skärmen med två fingrar eller tryck på musens mittenknapp. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Drag skärmen med ett finger ELLER tryck på musens vänstra knapp. I Skissaren och andra redigeringslägen, håller du även ned ALT. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Nyp (dra isär/ihop två fingrar på skärmen), bläddra med musens mittenknapp eller använd PgUp/PgDown på tangentbordet. @@ -7033,7 +6350,7 @@ Hur vill du fortsätta? Gui::ModifierLineEdit - + Press modifier keys Press modifier keys @@ -7049,22 +6366,22 @@ Hur vill du fortsätta? Gui::OpenCascadeNavigationStyle - + Press left mouse button Tryck på vänster musknapp - + Press CTRL and middle mouse button Tryck på CTRL och musens mittenknapp - + Press CTRL and right mouse button Tryck på CTRL och musens högra knapp - + Press CTRL and left mouse button Tryck CTRL och vänster musknapp @@ -7072,22 +6389,22 @@ Hur vill du fortsätta? Gui::OpenSCADNavigationStyle - + Press left mouse button Tryck på vänster musknapp - + Press right mouse button and move mouse Press right mouse button and move mouse - + Press left mouse button and move mouse Press left mouse button and move mouse - + Press middle mouse button or SHIFT and right mouse button Press middle mouse button or SHIFT and right mouse button @@ -7095,17 +6412,17 @@ Hur vill du fortsätta? Gui::PrefQuantitySpinBox - + Edit Redigera - + Save value Spara värde - + Clear list Töm lista @@ -7136,12 +6453,12 @@ Hur vill du fortsätta? Kvarvarande: %1 - + Aborting Avbryter - + Do you really want to abort the operation? Vill du verkligen avbryta operationen? @@ -7149,7 +6466,7 @@ Hur vill du fortsätta? Gui::PropertyEditor::LinkLabel - + Change the linked object Ändra det länkade objektet @@ -7157,12 +6474,12 @@ Hur vill du fortsätta? Gui::PropertyEditor::LinkSelection - + Error Fel - + Object not found Objekt hittades inte @@ -7233,13 +6550,13 @@ Hur vill du fortsätta? Gui::PropertyView - + View Vy - + Data Data @@ -7287,85 +6604,85 @@ Vill du avsluta utan att spara din data? Ohanterat okänt C++ undantag. - + &Copy K&opiera - + &Copy command &Kopiera kommando - + &Copy history &Kopieringshistorik - + Save history as... Spara historik som... - + Save history Spara historik - + Saves Python history across %1 sessions Sparar Python-historik över %1 sessioner - + &Paste Klistra &in - + Select All Markera allt - + Clear console Rensa konsolen - + Insert file name... Mata in filnamn... - + Word wrap Radbrytning - + Save History Spara historik - + Macro Files Makrofiler - + Insert file name Mata in filnamn - + All Files - Alla Filer + Alla filer Gui::PythonEditor - + Comment Kommentar @@ -7378,17 +6695,17 @@ Vill du avsluta utan att spara din data? Gui::RecentFilesAction - + Open file %1 Öppna fil %1 - + File not found Fil ej funnen - + The file '%1' cannot be opened. Filen '%1' kan inte öppnas. @@ -7396,22 +6713,22 @@ Vill du avsluta utan att spara din data? Gui::RecentMacrosAction - + none inget - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Run macro %1 (Shift+click to edit) keyboard shortcut: %2 - + File not found Fil ej funnen - + The file '%1' cannot be opened. Filen '%1' kan inte öppnas. @@ -7419,22 +6736,22 @@ Vill du avsluta utan att spara din data? Gui::RevitNavigationStyle - + Press left mouse button Tryck på vänster musknapp - + Press middle mouse button Tryck på mittre musknapp - + Press SHIFT and middle mouse button Tryck på SKIFT och mellersta musknappen - + Scroll middle mouse button Bläddra mittre musknapp @@ -7465,17 +6782,17 @@ Vill du avsluta utan att spara din data? Gui::SelectModule - + Select module Välj modul - + Open %1 as Öppna %1 som - + Select Markera @@ -7544,13 +6861,13 @@ Vill du ange en annan katalog? Gui::StdCmdPythonHelp - + Automatic python modules documentation Automatisk dokumentation för Python-moduler - - + + Opens a browser to show the Python modules documentation Öppnar en webbläsare för att visa dokumentation för Python-moduler @@ -7703,38 +7020,38 @@ Vill du ange en annan katalog? Gui::TextDocumentEditorView - + Text updated Text uppdaterad - + The text of the underlying object has changed. Discard changes and reload the text from the object? Texten hos det underliggande objektet har ändrats. Förkasta ändringar och ladda om texten från objektet? - + Yes, reload. Ja, ladda om. - + Unsaved document Osparat dokument - + Do you want to save your changes before closing? Vill du spara ändringarna innan du avslutar? - + If you don't save, your changes will be lost. Om du inte sparar går dina ändringar förlorade. - - + + Edit text Redigera text @@ -7742,22 +7059,22 @@ Vill du ange en annan katalog? Gui::TinkerCADNavigationStyle - + Press left mouse button Tryck på vänster musknapp - + Press middle mouse button Tryck på mittre musknapp - + Press right mouse button Press right mouse button - + Scroll middle mouse button Bläddra mittre musknapp @@ -7765,22 +7082,22 @@ Vill du ange en annan katalog? Gui::TouchpadNavigationStyle - + Press left mouse button Tryck på vänster musknapp - + Press SHIFT button Tryck på SKIFT-tangenten - + Press ALT button Tryck på ALT tangenten - + Press CTRL and SHIFT buttons Tryck på CTRL och SHIFT @@ -8006,7 +7323,7 @@ Vill du ange en annan katalog? Gui::TreeDockWidget - + Tree view Trädvy @@ -8014,7 +7331,7 @@ Vill du ange en annan katalog? Gui::TreePanel - + Search Sök @@ -8022,183 +7339,183 @@ Vill du ange en annan katalog? Gui::TreeWidget - + Search... Sök... - + Search for objects Sök efter objekt - + Activate document Aktivera dokument - + Activate document %1 Aktivera dokument %1 - + Tree settings Tree settings - + Show description column Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - + Group Grupp - + Labels & Attributes Etiketter & attribut - + Description Beskrivning - + Show items hidden in tree view Visa objekt dolda i trädvyn - + Show items that are marked as 'hidden' in the tree view Visa objekt som är markerade som 'dolda' i trädvyn - + Toggle visibility in tree view Växla synlighet i trädvyn - + Toggles the visibility of selected items in the tree view Växlar synligheten för markerade objekt i trädvyn - + Create group... Skapa grupp... - + Create a group Skapa en grupp - - + + Rename Döp om - + Rename object Döp om objekt - + Finish editing Slutför redigering - + Finish editing object Slutför redigering av objekt - + Add dependent objects to selection Add dependent objects to selection - + Adds all dependent objects to the selection Adds all dependent objects to the selection - + Close document Stäng dokument - + Close the document Stäng dokumentet - + Reload document Ladda om dokument - + Reload a partially loaded document Ladda om ett delvis laddat dokument - + Skip recomputes Utför inte omberäkningar - + Enable or disable recomputations of document Aktivera eller inaktivera omberäkningar av dokument - + Allow partial recomputes Tillåt partiell omberäkning - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Aktivera eller inaktivera omberäkning av redigeringsobjekt när 'hoppa över omberäkning' är aktiverat - + Mark to recompute Markera för att omberäkna - + Mark this object to be recomputed Markera detta objekt för att bli omberäknat - + Recompute object Omräkna objekt - + Recompute the selected object Beräkna om det markerade objektet - + (but must be executed) (men måste verkställas) - + %1, Internal name: %2 %1, Internt namn: %2 @@ -8229,12 +7546,12 @@ Vill du ange en annan katalog? PDF-fil - + Opening file failed Fel vid filöppning - + Can't open file '%1' for writing. Kan inte öppna filen '%1' för skrivning. @@ -8242,7 +7559,7 @@ Vill du ange en annan katalog? Gui::WorkbenchGroup - + Select the '%1' workbench Välj arbetsbänken '%1' @@ -8250,37 +7567,37 @@ Vill du ange en annan katalog? MAC_APPLICATION_MENU - + Services Tjänster - + Hide %1 Dölj %1 - + Hide Others Dölj övriga - + Show All Visa alla - + Preferences... Inställningar... - + Quit %1 Avsluta %1 - + About %1 Om %1 @@ -8300,11 +7617,6 @@ Vill du ange en annan katalog? Position - - - Form - Form - X: @@ -8399,14 +7711,14 @@ Vill du ange en annan katalog? PropertyListDialog - - + + Invalid input Ogiltig inmatning - - + + Input in line %1 is not a number Inmatning på rad %1 är inte ett nummer @@ -8414,37 +7726,37 @@ Vill du ange en annan katalog? QDockWidget - + Tree view Trädvy - + Property view Egenskapsvy - + Selection view Markeringsvy - + Combo View Kombinerad vy - + DAG View DAG-vy - + Report view Rapportvy - + Python console Python konsoll @@ -8457,31 +7769,32 @@ Vill du ange en annan katalog? QObject - - + + General Allmänt - - + + + Display Fönster - + Workbenches Arbetsbänkar - - - + + + Python Python @@ -8509,17 +7822,27 @@ Vill du ange en annan katalog? Kan inte spara till okänd filtyp: %1 - + Workbench failure Fel på arbetsbänk - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Undantag @@ -8565,8 +7888,8 @@ Vill du ange en annan katalog? Exporterar PDF ... - + Unsaved document Osparat dokument @@ -8587,39 +7910,39 @@ Vill du ange en annan katalog? Beroendefel - + Copy selected Kopiera markerade - + Copy active document Kopiera aktivt dokument - + Copy all documents Kopiera alla dokument - + Paste Klistra in - + Expression error Fel på uttryck - + Failed to parse some of the expressions. Please check the Report View for more details. Det gick inte att tolka några av uttrycken. Vänligen kontrollera rapportvyn för mer information. - + Failed to paste expressions Misslyckas att klistra in uttryck @@ -8655,225 +7978,225 @@ Be aware the point where you click matters. Tänk på att det har betydelse var du klickar. - - + + Save views... Spara vyer... - - + + Load views... Ladda vyer... - - + + Freeze view Frys vy - - + + Clear views Rensa vyer - - - + + + Restore view &%1 Återställ vy &%1 - + Save frozen views Spara frusna vyer - - + + Frozen views Frysna vyer - - + + Restore views Återställ vyer - + Importing the restored views would clear the already stored views. Do you want to continue? Att importera de återställda vyerna kommer att förstöra de vyer som sparats. vill du fortsätta? - + Restore frozen views Återställ frusna vyer - + Cannot open file '%1'. Kan inte öppna fil '%1'. - + files Filer - + Save image Spara bild - + Choose an image file to open Välj en bildfil att öppna - + New sub-group Ny undergrupp - - - - - - + + + + + + Enter the name: Skriv in namnet: - - + + New text item Ny text - - + + Enter your text: Mata in din text: - - + + New integer item Nytt heltal - - - - - - + + + + + + Enter your number: Mata in ditt nummer: - - + + New unsigned item Nytt osignerat tal - - + + New float item Nytt flyttal - + New Boolean item Nytt booleskt värde - - + + Choose an item: Välj en sak: - + New boolean item Nytt booleskt objekt - + Rename group Döp om grupp - + The group '%1' cannot be renamed. Gruppen '%1' kan inte döpas om. - + Existing group Gruppen existerar redan - + The group '%1' already exists. Gruppen '%1' existerar redan. - - - - - + + + + + Change value Ändra värde - + Type Typ - + Notifier Notifierare - + Message Meddelande - + Notifier: Notifierare: - + Do you want to skip confirmation of further critical message notifications while loading the file? Vill du hoppa över bekräftelse av ytterligare kritiska meddelanden när du laddar filen? - + Critical Message Kritiskt meddelande - + Too many opened non-intrusive notifications. Notifications are being omitted! För många öppnade icke-störande meddelanden. Meddelanden utelämnas! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8882,44 +8205,44 @@ vill du fortsätta? - + Are you sure you want to continue? Är du säker på att du vill fortsätta? - + Please check report view for more... Please check report view for more... - + Physical path: Physical path: - - + + Document: Document: - - + + Path: Sökväg: - + Identical physical path Identisk fysisk sökväg - + Could not save document Could not save document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8932,102 +8255,102 @@ Would you like to save the file with a different name? Would you like to save the file with a different name? - - - + + + Saving aborted Sparning avbruten - + Save dependent files Spara beroende filer - + The file contains external dependencies. Do you want to save the dependent files, too? Filen innehåller externa beroenden. Vill du spara de beroende filerna också? - - + + Saving document failed Sparning av dokument misslyckades - + Save document under new filename... Spara dokumentet med ett nytt filnamn... - - + + Save %1 Document Spara %1 dokument - + Document Dokument - - + + Failed to save document Det gick inte att spara dokumentet - + Documents contains cyclic dependencies. Do you still want to save them? Dokument innehåller cykliska beroenden. Vill du fortfarande spara dem? - + Save a copy of the document under new filename... Spara en kopia av dokumentet med nytt filnamn... - + %1 document (*.FCStd) %1 dokument (*.FCStd) - + Document not closable Dokumentet kan ej stängas - + The document is not closable for the moment. Dokumentet kan inte stängas för tillfället. - + Document not saved Document not saved - + The document%1 could not be saved. Do you want to cancel closing it? The document%1 could not be saved. Do you want to cancel closing it? - + Undo Ångra - + Redo Gör om - + There are grouped transactions in the following documents with other preceding transactions Det finns grupperade transaktioner i följande dokument med andra föregående transaktioner - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9041,47 +8364,47 @@ Välj "Avbryt" för att avbryta Spara Makro - - + + Finish Gör klart - - + + Clear Rensa - - - + + + Cancel Avbryt - + Inner Inre - + Outer Yttre - + Split Dela - - + + No Browser Ingen webbläsare - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9090,48 +8413,48 @@ Please open a browser window and type in: http://localhost:%1. Öppna ett fönster i en webbläsare och skriv in : hppt://localhost:%1. - + No Server Ingen server - + Unable to start the server to port %1: %2. Kan inte starta server till port %1: %2. - + Unable to open your system browser. Kan inte öppna din systemwebbläsare. - + Options... Alternativ... - + Out of memory Slut på minne - + Not enough memory available to display the data. Det finns inte tillräckligt med minne för att visa datan. - - + + Cannot find file %1 Kan inte finna fil %1 - + Cannot find file %1 neither in %2 nor in %3 Kan inte finna fil %1, varken i %2 eller i %3 - + Navigation styles Navigationsstilar @@ -9141,8 +8464,8 @@ Please open a browser window and type in: http://localhost:%1. Flytta annotering - - + + Transform Omvandla @@ -9152,42 +8475,42 @@ Please open a browser window and type in: http://localhost:%1. Vill du stänga denna dialogruta? - + Do you want to save your changes to document '%1' before closing? Vill du spara dina ändringar i dokument "%1" innan du stänger? - + Do you want to save your changes to document before closing? Vill du spara dina ändringar i dokument innan du stänger? - + If you don't save, your changes will be lost. Om du inte sparar går dina ändringar förlorade. - + Apply answer to all Tillämpa svar på alla - + %1 Document(s) not saved %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? Some documents could not be saved. Do you want to cancel closing? - + Delete macro Radera makro - + Not allowed to delete system-wide macros Inte tillåtet att ta bort systemmakron @@ -9197,27 +8520,27 @@ Please open a browser window and type in: http://localhost:%1. Origo - + Delete group content? Radera gruppens innehåll? - + The %1 is not empty, delete its content as well? %1 är inte tom, vill du även ta bort innehållet? - + Translation: Förflyttning: - + Rotation: Rotation: - + Toggle active part Växla aktiv del @@ -9280,88 +8603,88 @@ Please open a browser window and type in: http://localhost:%1. Det gick inte att importera alla länkar - - + + Invalid name Ogiltigt namn - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Egenskapens namn eller gruppnamn får endast innehålla alfanumeriska tecken, understrykningstecken och får inte börja med en siffra. - + The property '%1' already exists in '%2' Egenskapen '%1' finns redan i '%2' - + Add property Lägg till egenskap - + Failed to add property to '%1': %2 Det gick inte att lägga till egenskapen till '%1': %2 - - + + Drag & drop failed Dra och släpp misslyckades - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Välj vilket objekt som ska kopieras eller uteslutas när konfigurationen ändras. Alla externa länkade objekt utesluts som standard. - + Please select which objects to copy when the configuration is changed Please select which objects to copy when the configuration is changed - + Apply to all Apply to all - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Apply the setting to all links. Or, uncheck this option to apply only to this link. - + Copy on change Copy on change - + Enable Aktivera - + Enable auto copy of linked object when its configuration is changed Enable auto copy of linked object when its configuration is changed - + Tracking Spårning - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9370,17 +8693,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Disable copy on change - + Refresh configurable object Uppdatera konfigurerbart objekt - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9391,28 +8714,28 @@ the current copy will be lost. - + Toggle array elements Toggle array elements - + Change whether show each link array element as individual objects Change whether show each link array element as individual objects - + Transform at the origin of the placement Transform at the origin of the placement - - + + Override colors... Åsidosätt färger... - + Edit %1 Redigera %1 @@ -9435,12 +8758,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Inte tillåtet: - + Selection not allowed by filter Markering inte tillåten av filter @@ -9448,9 +8771,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Box element selection @@ -9458,13 +8781,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Lådmarkering - - + + Activate the box selection tool Activate the box selection tool @@ -9542,13 +8865,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Växla axelkors - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9654,13 +8977,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Visa vridbord... - - + + View turntable Visa vridbord @@ -9780,13 +9103,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Ritstil - - + + Change the draw style of the objects Ändra ritningsstilen för objekten @@ -9850,13 +9173,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Åtgärder för uttryck - - + + Actions that apply to expressions Actions that apply to expressions @@ -9973,13 +9296,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Frys skärmen - - + + Freezes the current view position Fryser den nuvarande vypositionen @@ -10000,13 +9323,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Dölj alla objekt - - + + Hide all objects in the document Dölj alla objekt i dokumentet @@ -10014,13 +9337,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Dölj markering - - + + Hide all selected objects Dölj alla markerade objekt @@ -10294,13 +9617,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Mät avstånd - - + + Activate the distance measurement tool Activate the distance measurement tool @@ -10359,8 +9682,8 @@ the current copy will be lost. Skapa ett nytt tomt dokument - - + + Unnamed Namnlös @@ -10588,8 +9911,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Senaste filer + Open Recent + Öppna senaste @@ -10727,13 +10050,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Sceninspektör... - - + + Scene inspector Sceninspektör @@ -10741,13 +10064,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Tillbaka - - + + Go back to previous selection Gå tillbaka till föregående markering @@ -10755,13 +10078,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Markeringsramen - - + + Show selection bounding box Visa markeringsruta @@ -10769,13 +10092,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Framåt - - + + Repeat the backed selection Repeat the backed selection @@ -10797,13 +10120,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Markera synliga objekt - - + + Select visible objects in the active document Markera synliga objekt i det aktiva dokumentet @@ -10825,13 +10148,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Utseende... - - + + Sets the display properties of the selected object Ställer in det markerade objektets visningsegenskaper @@ -10839,13 +10162,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Visa alla objekt - - + + Show all objects in the document Visa alla objekt i dokumentet @@ -10853,13 +10176,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Visa markering - - + + Show all selected objects Visa alla markerade objekt @@ -10895,13 +10218,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... strukturmappning... - - + + Texture mapping strukturmappning @@ -10937,13 +10260,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Klippningsplan - - + + Toggles clipping plane for active view Växlar klippningsplan för den aktiva vyn @@ -10951,13 +10274,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Växla navigations/redigeringsläge - - + + Toggle between navigation and edit mode Växla mellan navigering och redigeringsläge @@ -10965,13 +10288,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Växla alla objekt - - + + Toggles visibility of all objects in the active document Växlar alla objektens synlighet i det aktiva dokumentet @@ -10979,13 +10302,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Växla valbarhet - - + + Toggles the property of the objects to get selected in the 3D-View Växlar objektens egenskaper för att bli markerade i 3D-vyn @@ -10993,13 +10316,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Växla synlighet - - + + Toggles visibility Växlar synligheten @@ -11049,13 +10372,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Komprimera markerat objekt - - + + Collapse currently selected tree items Komprimera för närvarande valda trädposter @@ -11063,13 +10386,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Expandera valt objekt - - + + Expand currently selected tree items Expandera för närvarande valda trädobjekt @@ -11077,13 +10400,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Markera alla instanser - - + + Select all instances of the current selected object Markera alla instanser av det aktuella markerade objektet @@ -11091,13 +10414,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions TreeView åtgärder - - + + TreeView behavior options and actions TreeView beteende alternativ och åtgärder @@ -11161,13 +10484,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Botten - - + + Set to bottom view Ställ in till bottenvy @@ -11175,13 +10498,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Skapa ny vy - - + + Creates a new view window for the active document Skapar ett nytt vyfönster för det aktiva dokumentet @@ -11189,13 +10512,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimetrisk - - + + Set to dimetric view Applicera dimetrisk vy @@ -11203,13 +10526,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor exempel #1 - - + + Shows a 3D texture with manipulator Visar en 3D struktur med manipulator @@ -11217,13 +10540,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor exempel #2 - - + + Shows spheres and drag-lights Visar sfärer och släpljus @@ -11231,13 +10554,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor exempel #3 - - + + Shows a animated texture Visar en animerad struktur @@ -11245,13 +10568,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Passa allt - - + + Fits the whole content on the screen Anpassar så allt får plats på skärmen @@ -11259,13 +10582,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Passa markering - - + + Fits the selected content on the screen Anpassar det markerade innehållet på skärmen @@ -11273,13 +10596,13 @@ the current copy will be lost. StdCmdViewFront - + Front Front - - + + Set to front view Ställ in till frontvy @@ -11287,13 +10610,13 @@ the current copy will be lost. StdCmdViewHome - + Home Start - - + + Set to default home view Ange som standardvy @@ -11301,13 +10624,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Isometrisk - - + + Set to isometric view Applicera isometrisk vy @@ -11315,13 +10638,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Tilldela kameraposition - - + + Issue the camera position to the console and to a macro, to easily recall this position Tilldela kamerapositionen till konsolen och till ett makro, för att lätt återkalla denna position @@ -11329,13 +10652,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereo interfolierade kolumner - - + + Switch stereo viewing to Interleaved Columns Växla stereovisning till interfolierade kolumner @@ -11343,13 +10666,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Stereo interfolierade rader - - + + Switch stereo viewing to Interleaved Rows Växla stereovisning till interfolierade rader @@ -11357,13 +10680,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Stereo av - - + + Switch stereo viewing off Stänger av stereovisning @@ -11371,13 +10694,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo quad buffer - - + + Switch stereo viewing to quad buffer Växla stereovisning till quad buffer @@ -11385,13 +10708,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo röd/cyan - - + + Switch stereo viewing to red/cyan Byt stereovisning till röd/cyan @@ -11399,13 +10722,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Vänster - - + + Set to left view Ställ in till vänstervy @@ -11413,13 +10736,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Bak - - + + Set to rear view Ställ in till bakvy @@ -11441,13 +10764,13 @@ the current copy will be lost. StdCmdViewRight - + Right Höger - - + + Set to right view Ställ in till högervy @@ -11455,13 +10778,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Rotera vänster - - + + Rotate the view by 90° counter-clockwise Rotera vyn 90° moturs @@ -11469,13 +10792,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Rotera höger - - + + Rotate the view by 90° clockwise Rotera vyn 90° medurs @@ -11497,13 +10820,13 @@ the current copy will be lost. StdCmdViewTop - + Top Topp - - + + Set to top view Ställ in till toppvy @@ -11511,13 +10834,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimetrisk - - + + Set to trimetric view Applicera trimetrisk vy @@ -11525,13 +10848,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Utvidga 3D-fönstret till en Oculus Rift @@ -11595,13 +10918,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Helskärm - - + + Display the main window in fullscreen mode Visa huvudfönstret i helskärmsläge @@ -11637,13 +10960,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11651,13 +10974,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11665,13 +10988,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Minimera/expandera - - + + Expand active document and collapse all others Expandera det aktiva dokumentet och minimera alla andra @@ -11679,12 +11002,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Initiera dragning - + Initiate dragging of current selected tree items Initiera dragning av aktuella valda trädobjekt @@ -11692,13 +11015,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Flerdokument - - + + Display all documents in the tree view Visa alla dokument i trädvyn @@ -11706,12 +11029,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Förval - + Preselect the object in 3D view when mouse over the tree item Förvälj objektet i 3D-vyn när musen går över trädobjektet @@ -11719,12 +11042,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Spela in markering - + Record selection in tree view in order to go back/forward using navigation button Spela in markering i trädvyn för att gå bakåt/framåt med navigeringsknappen @@ -11732,13 +11055,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Gå till markering - - + + Scroll to first selected item Rulla till den först valda saken @@ -11746,13 +11069,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Enskilt dokument - - + + Only display the active document in the tree view Visa endast det aktiva dokumentet i trädvyn @@ -11760,12 +11083,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Synkronisera placering - + Auto adjust placement on drag and drop objects across coordinate systems Justera automatiskt placering när du drar och släpper objekt över koordinatsystem @@ -11773,12 +11096,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Synkroniseringsval - + Auto expand tree item when the corresponding object is selected in 3D view Expandera trädobjektet automatiskt när motsvarande objekt väljs i 3D-vyn @@ -11786,12 +11109,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Synkronisera vy - + Auto switch to the 3D view containing the selected item Växla automatiskt till 3D-vyn som innehåller det valda objektet @@ -11799,13 +11122,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Låd zoom - - + + Activate the box zoom tool Activate the box zoom tool @@ -11813,13 +11136,13 @@ the current copy will be lost. StdViewDock - + Docked Dockad - - + + Display the active view either in fullscreen, in undocked or docked mode Visa den aktiva vyn antingen i helskärm, i odockat eller dockat läge @@ -11827,13 +11150,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Dokumentfönstret - - + + Display the active view either in fullscreen, in undocked or docked mode Visa den aktiva vyn antingen i helskärm, i odockat eller dockat läge @@ -11841,13 +11164,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Helskärm - - + + Display the active view either in fullscreen, in undocked or docked mode Visa den aktiva vyn antingen i helskärm, i odockat eller dockat läge @@ -11855,13 +11178,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Spara bild... - - + + Creates a screenshot of the active view Ta en skärmbild på den aktiva vyn @@ -11869,13 +11192,13 @@ the current copy will be lost. StdViewUndock - + Undocked Odockad - - + + Display the active view either in fullscreen, in undocked or docked mode Visa den aktiva vyn antingen i helskärm, i odockat eller dockat läge @@ -11883,13 +11206,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Zooma in - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11897,13 +11220,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Zooma ut - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11936,72 +11259,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Som är - + Normal mode Normalt läge - + Points Punkter - + Points mode Punktläge - + Wireframe Trådram - + Wireframe mode Trådramsläge - + Hidden line Dold linje - + Hidden line mode Dolda linjer-läge - + No shading Utan skuggning - + No shading mode Utan skuggning-läge - + Shaded Skuggad - + Shaded mode Skuggläge - + Flat lines Platta linjer - + Flat lines mode Platta linjer-läge @@ -12064,32 +11387,32 @@ Vill du fortfarande fortsätta? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12097,117 +11420,117 @@ Vill du fortfarande fortsätta? Workbench - + &File &Arkiv - + &Edit R&edigera - + Edit Redigera - + Clipboard Urklipp - + Workbench Arbetsbänk - + Structure Struktur - + Standard views Standardvyer - + Axonometric Axonometrisk - + &Stereo &Stereo - + &Zoom &Zoom - + Visibility Synlighet - + &View &Visa - + &Tools &Verktyg - + &Macro &Makro - + &Windows &Fönster - + &On-line help &Online hjälp - + &Help &Hjälp - + Help Hjälp - + File Fil - + Macro Makro - + View Vy - + Special Ops Special operationer - + Link actions Länka åtgärder @@ -12215,12 +11538,12 @@ Vill du fortfarande fortsätta? Gui::MDIView - + Export PDF Exportera PDF - + PDF file PDF-fil @@ -12228,196 +11551,190 @@ Vill du fortfarande fortsätta? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Aviseringsområde - + Settings Inställningar - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Additional data sources - + Errors intended for developers will appear in the notification area Errors intended for developers will appear in the notification area - + Debug errors Debug errors - + Warnings intended for developers will appear in the notification area Warnings intended for developers will appear in the notification area - + Debug warnings Debug warnings - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Tillgängliga arbetsbänkar - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches Välj vilken arbetsbänk som ska aktiveras och visas vid start av FreeCAD - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12430,12 +11747,12 @@ vid start av FreeCAD 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport Om markerad, så kommer applikationen att komma ihåg vilken arbetsbänk som är aktiv för varje flik i visningsområdet - + Remember active workbench by tab Kom ihåg aktiv arbetsbänk för flik @@ -12584,47 +11901,47 @@ vid start av FreeCAD Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Läs in automatiskt - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Detta är den aktuella startmodulen och måste autoladdas. Se Inställningar/Allmän/Autoladda för att ändra. - + Loaded Laddad - + Load Ladda - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12632,17 +11949,22 @@ vid start av FreeCAD Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Verktygsfält - + Left corner Left corner - + Right corner Right corner @@ -12668,12 +11990,12 @@ vid start av FreeCAD Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12709,13 +12031,13 @@ vid start av FreeCAD StdViewLoadImage - + Load image... Läs in bild... - - + + Loads an image Läser in bild @@ -12756,7 +12078,7 @@ vid start av FreeCAD RIGHT - RIGHT + HÖGER @@ -12777,10 +12099,816 @@ vid start av FreeCAD Gui::ExpLineEdit - - + + An error occurred -- see Report View for information An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + Redigerare + + + + Options + Alternativ + + + + Code lines will be numbered + Kodrader kommer att numreras + + + + Enable line numbers + Aktivera radnummer + + + + The cursor shape will be a block + The cursor shape will be a block + + + + Enable block cursor + Enable block cursor + + + + Enable folding + Aktivera vikning + + + + Indentation + Indrag + + + + Tab size: + Tabulatorstorlek: + + + + Tabulator raster (how many spaces) + Tabulator raster (how many spaces) + + + + Indent size: + Storlek på indrag: + + + + How many spaces will be inserted when pressing <Tab> + Hur många mellanslag som kommer att infogas med <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Tryck på <Tab> för att infoga definierad indenteringsstorlek + + + + Keep tabs + Behåll tabulatorer + + + + Pressing <Tab> will insert amount of defined indent size + Tryck på <Tab> för att infoga definierad indenteringsstorlek + + + + Insert spaces + Sätt in mellanslag + + + + Display items + Visa objekt + + + + Color and font settings will be applied to selected type + Färg- och typsnittsinställningar kommer att tillämpas på markerad typ + + + + Family: + Familj: + + + + Font family to be used for selected code type + Typsnittsfamilj som ska användas för markerad kodtyp + + + + Size: + Storlek: + + + + Font size to be used for selected code type + Teckenstorlek som ska användas för markerad kodtyp + + + + Color: + Färg: + + + + Preview: + Förhandsgranskning: + + + + Text + Text + + + + Bookmark + Bokmärke + + + + Breakpoint + Brytpunkt + + + + Keyword + Nyckelord + + + + Comment + Kommentar + + + + Block comment + Blockkommentar + + + + Number + Nummer + + + + String + Sträng + + + + Character + Tecken + + + + Class name + Klassnamn + + + + Define name + Definiera namn + + + + Operator + Operator + + + + Python output + Python utmatning + + + + Python error + Python fel + + + + Current line highlight + Nuvarande radmarkering + + + + Items + Saker + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Allmänt + + + + Language and number format + Language and number format + + + + Language: + Språk: + + + + Language of the application's user interface + Användargränssnittets språk + + + + Unit system: + Enhetssystem: + + + + Unit system that should be used for all parts of the application + Unit system that should be used for all parts of the application + + + + Number of decimals: + Antal decimaler: + + + + Number of decimals that should be shown for numbers and dimensions + Antal decimaler som ska visas för siffror och dimensioner + + + + Minimum fractional inch: + Minsta bråkdel av tum: + + + + Minimum fractional inch to be displayed + Minsta bråkdel tum som ska visas + + + + Number format: + Number format: + + + + Operating system + Operativsystem + + + + Selected language + Selected language + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + Substitute decimal separator + Substitute decimal separator + + + + Application + Applikation + + + + Theme: + Tema: + + + + Customize how user interface will look like + Anpassa användargränssnittets utseende + + + + Size of toolbar icons: + Storlek på verktygsfältsikonerna: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Välj din inställning för ikonstorlek i verktygsfältet. Du kan justera +detta beroende på skärmstorlek eller personlig smak + + + + Tree view mode: + Trädvyläge: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Anpassa hur trädvyn visas i panelen (omstart krävs). + +'ComboView': kombinera trävyn och egenskapsvyn i en panel. +'TreeView and PropertyView': delad trädvy och egenskapsvy i separat panel. +'Båda': ha alla tre paneler, och du kan ha två uppsättningar av träd vy och egenskapsvy. + + + + Size of recent file list: + Size of recent file list: + + + + How many files should be listed in recent files list + Hur många filer ska visas i listan över senaste filer + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + Enable tiled background + Aktivera staplad bakgrund + + + + The text cursor will be blinking + The text cursor will be blinking + + + + Enable cursor blinking + Enable cursor blinking + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + En startskärm är ett litet laddningsfönster som visas +när FreeCAD startar. Om detta alternativ är markerat kommer FreeCAD +visa startskärm + + + + Enable splash screen at start up + Aktivera splashfönster vid uppstart + + + + Preference packs + Preference packs + + + + Name + Namn + + + + Type + Typ + + + + Load + Ladda + + + + Import config... + Import config... + + + + Save new... + Save new... + + + + Manage... + Manage... + + + + Revert... + Revert... + + + + Manage preference packs + Manage preference packs + + + + Small (%1px) + Liten (%1px) + + + + Medium (%1px) + Medel (%1px) + + + + Large (%1px) + Stor (%1px) + + + + Extra large (%1px) + Extra stor (%1px) + + + + Custom (%1px) + Anpassad (%1px) + + + + Combo View + Kombinerad vy + + + + TreeView and PropertyView + TrädVy och EgenskapsVy + + + + Both + Båda + + + + Preference Pack Name + Preference Pack Name + + + + Tags + Taggar + + + + Apply + Verkställ + + + + Apply the %1 preference pack + Apply the %1 preference pack + + + + Choose a FreeCAD config file to import + Choose a FreeCAD config file to import + + + + File exists + File exists + + + + A preference pack with that name already exists. Overwrite? + A preference pack with that name already exists. Overwrite? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Rapportvy + + + + Output + Utmatning + + + + Normal messages will be recorded + Normala meddelanden kommer att spelas in + + + + Record normal messages + Spela in normala meddelanden + + + + Log messages will be recorded + Loggmeddelanden kommer att spelas in + + + + Record log messages + spela in logg meddelanden + + + + Warnings will be recorded + Varningar kommer att registreras + + + + Record warnings + Spela in varningar + + + + Error messages will be recorded + Felmeddelanden kommer att spelas in + + + + Record error messages + Spela in felmeddelanden + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + När ett fel har inträffat blir dialogrutan för rapportvy synlig +på skärmen när felet visas + + + + Show report view on error + Visa rapportvy vid fel + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + När varning har inträffat blir dialogrutan för rapportvy synlig +på skärmen när varningen visas + + + + Show report view on warning + Visa rapportvy vid varning + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + När ett normalt meddelande har inträffat blir dialogrutan för rapportvy synlig +på skärmen när meddelandet visas + + + + Show report view on normal message + Visa rapportvy på normalt meddelande + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + När ett loggmeddelande har inträffat blir dialogrutan för Report View synlig +på skärmen när loggmeddelandet visas + + + + Show report view on log message + Visa rapportvy för loggmeddelande + + + + Include a timecode for each report + Inkludera en tidskod för varje rapport + + + + Include a timecode for each entry + Inkludera en tidskod för varje post + + + + Colors + Färger + + + + Normal messages: + Normala meddelanden: + + + + Font color for normal messages in Report view panel + Teckensnittsfärg för vanliga meddelanden i panelen Rapportvy + + + + Log messages: + Loggmeddelanden: + + + + Font color for log messages in Report view panel + Teckensnittsfärg för loggmeddelanden i panelen Rapportvy + + + + Warnings: + Varningar: + + + + Font color for warning messages in Report view panel + Teckensnittsfärg för varningsmeddelanden i panelen Rapportvy + + + + Errors: + Fel: + + + + Font color for error messages in Report view panel + Teckensnittsfärg för felmeddelanden i panelen Rapportvy + + + + Python interpreter + Python-tolk + + + + Internal Python output will be redirected +from Python console to Report view panel + Intern Python-utmatning kommer att omdirigeras +från Python-konsolen till Rapportvy panelen + + + + Redirect internal Python output to report view + Dirigera om intern Pythonutmatning till rapportvyn + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Intern Python-utmatning kommer att omdirigeras +från Python-konsolen till Rapportvy panelen + + + + Redirect internal Python errors to report view + Omdirigera interna Pythonfel till rapportvy + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Tema + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Ingen formatmall + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_tr.ts b/src/Gui/Language/FreeCAD_tr.ts index cae8131815..1c5cbda67f 100644 --- a/src/Gui/Language/FreeCAD_tr.ts +++ b/src/Gui/Language/FreeCAD_tr.ts @@ -42,29 +42,29 @@ Unsurun görsel boyutu - + <empty> <boş> - - + + Angle Açı - - + + Axis Eksen - + Position Position - + Enum Numaralandırma @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Test konsol çıktısı - - + + Run test cases to verify console messages Run test cases to verify console messages @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Ölçümü temizle - + Clear all visible measurements Clear all visible measurements @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Ölçümü aç / kapat - + Turn on or off the display of all measurements Turn on or off the display of all measurements @@ -132,7 +132,7 @@ Sil - + Paste expressions Formülleri yapıştır @@ -182,7 +182,7 @@ Bir grup ekle - + Align Align @@ -193,40 +193,40 @@ Yerleşim - - + + Transform Dönüştür - + Toggle array elements Dizi öğelerini aç/kapat - + Link Transform Bağlantı dönüşümü - + Measure distance Mesafe Ölç - + Toggle visibility Görünürlüğünü Aç/Kapat - + Toggle selectability Seçilebilirliği değiştir - + Edit image Edit image @@ -234,77 +234,77 @@ CommandGroup - + File Dosya - + Edit Düzenle - + Help Yardım - + Link Link - + Tools Araçlar - + View Görünüm - + Window Pencere - + Standard Standart - + Macros Makrolar - + Macro Makro - + Structure Yapı - + Standard-Test Standart-Test - + Standard-View Standart Görünüm - + TreeView AğaçGörünümü - + Measure Ölçüm @@ -402,11 +402,6 @@ DownloadItem - - - Form - Şekil: - Ico @@ -421,42 +416,42 @@ EditMode - + Default Varsayılan - + The object will be edited using the mode defined internally to be the most appropriate for the object type The object will be edited using the mode defined internally to be the most appropriate for the object type - + Transform Dönüştür - + The object will have its placement editable with the Std TransformManip command The object will have its placement editable with the Std TransformManip command - + Cutting Kesme - + This edit mode is implemented as available but currently does not seem to be used by any object This edit mode is implemented as available but currently does not seem to be used by any object - + Color Renk - + The object will have the color of its individual faces editable with the Part FaceColors command The object will have the color of its individual faces editable with the Part FaceColors command @@ -482,7 +477,7 @@ hiçbiri - + Press a keyboard shortcut Bir klavye kısayoluna basın @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Kullanılabilir: - + Selected: Seçili: - + Add Ekle - + Remove Kaldır - + Move up Yukarı taşı - + Move down Aşağı taşı @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Taşınabilir nesne - + Fixed object Sabit nesne @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Otomatik Kurtarma dosyası kaydedilinceye kadar lütfen bekleyin... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Sol fare düğmesine basın - + Press SHIFT and middle mouse button SHIFT ve farenin orta tuşuna basın - + Press middle mouse button Farenin orta tuşuna basın - + Scroll middle mouse button Fare tekerleğini kaydırın @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Sol fare düğmesine basın - + Press middle mouse button Farenin orta tuşuna basın - + Press middle+left or middle+right button Orta+sol veya orta+sağ tuşuna basın - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Fare tekerini kaydırın ya da sol veya sağ butona tıklarken orta düğmeyi basılı tutun ve fareyi yukarı veya aşağı hareket ettirin @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &Tamam - + &Cancel İptal @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Görev paneli @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Katkıda Bulunanlar - + FreeCAD would not be possible without the contributions of FreeCAD, bu katkılar olmadan ortaya çıkamazdı: - + Individuals Header for the list of individual people in the Credits list. Kişiler - + Organizations Header for the list of companies/organizations in the Credits list. Kuruluşlar - - + + License Lisans - + Libraries Kütüphaneler - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Bu yazılım telif hakkı ve diğer fikri mülkiyet hakları ilgili sahiplerine ait açık kaynak bileşenleri kullanır: - + Collection Koleksiyon @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Önbellek Dizini - + The cache directory %1 exceeds the size of %2. Önbellek dizini %1 %2 boyutunu aşıyor. - + Do you want to clear it now? Şimdi temizlemek istiyor musunuz? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Uyarı: Lütfen bunun sadece çalışan %1 örneği olduğu ve veri kaybına uğrayabileceğinden dolayı hiçbir belgenin açık olmadığından emin olun! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Kamera ayarları - + Orientation Yönlendirme - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Geçerli görünüm @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Komutlar @@ -1116,12 +1111,12 @@ Eğer bu işaretlenmeyecekse, özelliğe benzersiz bir ad verilmelidir ve böyle Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Paket zaten var - + A preference pack with that name already exists. Do you want to overwrite it? Bu adlı bir tercih paketi zaten bulunmakta. Üzerine yazılmasını ister misin? @@ -1359,48 +1354,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Type to search... - + Icon Simge - + Command Komut - + Shortcut Kısayol - + Default Varsayılan - + Name Isim - + Title Başlık - + All Hepsi - - + + none hiçbiri @@ -1408,8 +1403,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Araç kutusu çubukları @@ -1498,40 +1493,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Ayraç> - + %1 module not loaded %1 modül yüklenmedi - + New toolbar Yeni araç çubuğu - - + + Toolbar name: Araç çubuğu adı: - - + + Duplicated name Yinelenen isim - - + + The toolbar name '%1' is already used '%1' Araç çubuğu adı zaten kullanılıyor - + Rename toolbar Araç çubuğunu yeniden adlandırın @@ -1544,19 +1539,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Özelleştir - + &Help &Yardım - + &Close Kapat @@ -1565,13 +1560,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Uzaytopu Hareketi - + No Spaceball Present Spaceball yok @@ -1579,27 +1574,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Uzaybol Hareketi - + No Spaceball Present Spaceball yok - + Buttons Düğmeler - + Reset Sıfırla - + Print Reference Başvuruyu yazdır @@ -1684,551 +1679,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Varsayılan - + Aluminium Alüminyum - + Brass Pirinç - + Bronze Bronz - + Copper Bakır - + Chrome Krom - + Emerald Zümrüt - + Gold Altın - + Jade Yeşim taşı - + Metalized Metalleşmiş - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Obsidyen - + Pewter Kalay - + Plaster Alçı - + Plastic Plastik - + Ruby Yakut - + Satin Saten - + Shiny plastic Parlak plastik - + Silver Gümüş - + Steel Çelik - + Stone Taş Gui::Dialog::DlgEditorSettings - - - Editor - Düzenleyici - - - - Options - Seçenekler - - - - Code lines will be numbered - Kod satırları numaralandırılacak - - - - Enable line numbers - Satır numaralarını etkinleştir - - - - The cursor shape will be a block - İmleç, blok şeklinde olacak - - - - Enable block cursor - Blok imleci etkinleştir - - - - Enable folding - Katlamayı etkinleştir - - - - Indentation - Girinti - - - - Tab size: - Sekme boyutu: - - - - Tabulator raster (how many spaces) - Sekme ızgarası boşluğa göre - - - - Indent size: - Girinti boyutu: - - - - How many spaces will be inserted when pressing <Tab> - <Tab> tuşuna basıldığında ne kadar boşluk eklenecek - - - - Pressing <Tab> will insert a tabulator with defined tab size - <Tab> tuşuna bastığınızda tanımlı sekme boyutunda bir sekme durağı ekleyecek - - - - Keep tabs - Sekmeleri koru - - - - Pressing <Tab> will insert amount of defined indent size - <Tab> a basmak, tanımlı talep boyutu miktarını ekleyecek - - - - Insert spaces - Boşluk ekle - - - - Display items - Ögeleri göster - - - - Color and font settings will be applied to selected type - Renk ve yazı tipi ayarları seçilen türe uygulanacak - - - - Family: - Aile: - - - - Font family to be used for selected code type - Seçilen kod türü için kullanılacak yazı tipi ailesi - - - - Size: - Boyut: - - - - Font size to be used for selected code type - Seçilen kod türü için kullanılacak yazı tipi boyutu - - - - Color: - Renk: - - - - Preview: - Önizleme: - Altgrup '%1' zaten mevcut. - - Gui::Dialog::DlgGeneral - - - General - Genel - - - - Language of the application's user interface - Uygulamanın kullanıcı arayüzü dili - - - - Number format: - Sayı biçimi: - - - - Operating system - İşletim Sistemi - - - - Selected language - Seçilen dil - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Tercih paketleri - - - - Name - Isim - - - - Type - Türü - - - - Load - Yükle - - - - Import config... - Import config... - - - - Save new... - Yeni Kaydet... - - - - Manage... - Yönet... - - - - Revert... - Geri al... - - - - How many files should be listed in recent files list - Son dosyalar listesinde kaç dosya sıralanmalı - - - - Enable tiled background - Kiremitli arka plan etkinleştirmek - - - - The text cursor will be blinking - Metin imleci yanıp sönecek - - - - Enable cursor blinking - İmlecin yanıp sönmesini etkinleştir - - - - Style sheet: - Stil Sayfası: - - - - Language and number format - Language and number format - - - - Language: - Language: - - - - Unit system: - Ölçü Birimi sistemi: - - - - Unit system that should be used for all parts of the application - Unit system that should be used for all parts of the application - - - - Number of decimals: - Ondalık basamak sayısı: - - - - Number of decimals that should be shown for numbers and dimensions - Numaralar ve boyutlar için gösterilmesi gereken ondalık sayısı - - - - Minimum fractional inch: - En küçük kesirli inç: - - - - Minimum fractional inch to be displayed - Görüntülenecek en küçük kesirli inç - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - Uygulama - - - - Style sheet how user interface will look like - Sayfayı, kullanıcı arayüzüne benzer şekilde tasarla - - - - Size of toolbar icons: - Araç çubuğu simgeleri Boyutu: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Araç çubuğu simge boyutu tercihinizi seçin. Bunu, ekran -boyutunuza veya kişisel zevkinize göre ayarlayabilirsiniz - - - - Tree view mode: - Unsur ağacı modu: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Panelde görüntülenen işlem ağacı görünümünü özelleştirin (yeniden başlatma gereklidir). - -'TekGörünüm': ağaç ve özellik görünümünü tek panelde birleştirin. -'AğaçGörünümü ve ÖzellikGörünümü': ağaç görünümü ve özellik görünümünü iki panele ayırın. -'Hepsi': hem birleşik hem ayrı panellerin üçü de kalsın. - - - - Size of recent file list: - Size of recent file list: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Karşılama ekranı, FreeCAD çalıştığında gözüken -küçük bir yükleme penceresidir. Bu özellik seçiliyse, FreeCAD -karşılama ekranını gösterecektir - - - - Enable splash screen at start up - Giriş ekranını başlangıçta etkinleştir - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Tercih paketlerini yönet - - - - Small (%1px) - Küçük (%1px) - - - - Medium (%1px) - Orta (%1px) - - - - Large (%1px) - Büyük (%1px) - - - - Extra large (%1px) - Çok büyük (%1px) - - - - Custom (%1px) - Özel (%1px) - - - - Combo View - Birleşik görünüm - - - - TreeView and PropertyView - AğaçGörünümü ve ÖzellikGörünümü - - - - Both - İkisi - - - - No style sheet - Stil Sayfası - - - - Preference Pack Name - Tercih Paketi Adı - - - - Tags - Etiketler - - - - Apply - Uygula - - - - Apply the %1 preference pack - %1 tercih paketini uygula - - - - Choose a FreeCAD config file to import - Choose a FreeCAD config file to import - - - - File exists - Dosya mevcut - - - - A preference pack with that name already exists. Overwrite? - Aynı adlı bir tercih paketi zaten bulunuyor. Üzerine yazılsın mı? - - Gui::Dialog::DlgInputDialog @@ -2244,8 +1811,8 @@ karşılama ekranını gösterecektir Gui::Dialog::DlgInspector - - + + Scene Inspector Sahne denetçisi @@ -2337,71 +1904,71 @@ karşılama ekranını gösterecektir Gui::Dialog::DlgMacroExecuteImp - + Macros Makrolar - + Read-only Salt okunur - + Macro file Makro dosyası - + Enter a file name, please: Lütfen bir dosya adı yazın: - - - + + + Existing file Varolan dosya - + '%1'. This file already exists. '%1'. Bu dosya zaten var. - + Cannot create file Dosya oluşturulamadı - + Creation of file '%1' failed. '%1' dosyası oluşturulamadı. - + Delete macro Makroyu sil - + Do you really want to delete the macro '%1'? Gerçekten '%1' makrosunu silmek istiyor musunuz? - + Do not show again Tekrar gösterme - + Guided Walkthrough Kılavuzlu Çözüm Yolu - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2412,78 +1979,78 @@ Not: Değişiklikleriniz, sonraki tezgah geçişinizde uygulanacak - + Walkthrough, dialog 1 of 2 Gidişat, 2 ileti penceresinden 1. si - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Gidişat talimatları: Eksik alanları doldurun (isteğe bağlı), sonra Ekle' ye, ardından Kapat' a tıklayın - + Walkthrough, dialog 1 of 1 Gidişat, 1 ileti penceresinden 1. si - + Walkthrough, dialog 2 of 2 Gidişat, 2 ileti penceresinden 2. si - + Walkthrough instructions: Click right arrow button (->), then Close. Gidişat talimatları: Sağ ok düğmesine (->) ardından Kapat' a tıklayın. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Gidişat Talimatları: Yeni' ye, sonra sağ oka (->), ardından Kapat' a tıklayın. - + Renaming Macro File Makro dosya yeniden adlandırma - - + + Enter new name: Yeni adı gir: - - + + '%1' already exists. '%1' zaten mevcut. - + Rename Failed Yeniden adlandırma başarısız oldu - + Failed to rename to '%1'. Perhaps a file permission error? '%1' yeniden adlandıramadı. Belki de bir dosya yetki hatası? - + Duplicate Macro Makroyu Kopyala - + Duplicate Failed Kopyalama Başarısız - + Failed to duplicate to '%1'. Perhaps a file permission error? '%1'olarak çoğaltılamadı. @@ -2526,39 +2093,39 @@ Belki bir dosya izni hatası vardır? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Makro kaydedici - + Specify first a place to save. Önce kaydedilecek yeri belirleyin. - + The macro directory doesn't exist. Please, choose another one. Makro dizini mevcut değil. Lütfen, başla bir tane seçin. - + Existing macro Varolan makro - + The macro '%1' already exists. Do you want to overwrite? '%1' makrosu zaten var. Üzerine yazmak ister misiniz? - + You have no write permission for the directory. Please, choose another one. Dizin için yazma izniniz yok. Lütfen başka birini seçiniz. - + Choose macro directory Makro dizini seçiniz @@ -2631,12 +2198,12 @@ Belki bir dosya izni hatası vardır? HTML Dosyaları - + Access denied Erişim engellendi - + Access denied to '%1' Specify another directory, please. @@ -3037,36 +2604,36 @@ Lütfen başka bir dizin belirtin. Proje dosyası - - + + Empty source Boş kaynak - - + + No source is defined. Kaynak belirlenmedi. - - + + Empty destination Boş hedef - - + + No destination is defined. Hedef belirlenmedi. - + Failed to extract project Failed to extract project - + Failed to create project Failed to create project @@ -3116,184 +2683,6 @@ Lütfen başka bir dizin belirtin. Gui::Dialog::DlgReportView - - - Report view - Rapor Görünümü - - - - Output - Çıktı - - - - Normal messages will be recorded - Normal iletiler kaydedilecek - - - - Record normal messages - Normal iletileri kaydet - - - - Log messages will be recorded - Günlük mesajları kaydedilecek - - - - Record log messages - Günlük iletilerini kaydet - - - - Warnings will be recorded - Uyarılar kaydedilecek - - - - Record warnings - Uyarıları kaydet - - - - Error messages will be recorded - Hata mesajları kaydedilecek - - - - Record error messages - Hata iletilerini kaydet - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Bir hata oluştuğunda, hatayı görüntülerken Rapor Görünümü iletişim kutusu görünür hale gelir - - - - Show report view on error - Hata anında rapor görünümünü göster - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Bir uyarı oluştuğunda, uyarı görüntülenirken Rapor Görünümü iletişim kutusu ekranda görünür hale gelir - - - - Show report view on warning - Uyarı anında rapor görünümünü göster - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Normal bir mesaj oluştuğunda, mesaj görüntülenirken Rapor Görünümü iletişim kutusu ekranda görünür hale gelir - - - - Show report view on normal message - Normal iletide rapor görünümünü göster - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Bir günlük mesajı oluştuğunda, günlük mesajı görüntülenirken Rapor Görünümü iletişim kutusu ekranda görünür hale gelir - - - - Show report view on log message - Günlük iletisinde rapor görünümünü göster - - - - Include a timecode for each report - Her bir rapor için zaman kodu içer - - - - Include a timecode for each entry - Her bir girdi için zaman kodu içer - - - - Colors - Renkler - - - - Normal messages: - Normal iletiler: - - - - Font color for normal messages in Report view panel - Rapor görünümü panosunda normal mesajlar için yazı tipi rengi - - - - Log messages: - İşlem kaydı mesajları: - - - - Font color for log messages in Report view panel - Rapor görünümü panosunda günlük mesajları için yazı tipi rengi - - - - Warnings: - Uyarılar: - - - - Font color for warning messages in Report view panel - Rapor görünümü panosunda uyarı mesajları için yazı tipi rengi - - - - Errors: - Hatalar: - - - - Font color for error messages in Report view panel - Rapor görünümü panosunda hata mesajları için yazı tipi rengi - - - - Python interpreter - Python yorumlayıcı - - - - Internal Python output will be redirected -from Python console to Report view panel - İç Pyhton çıktısı, Python uçbiriminden -Rapor görünümü panosuna yönlendirilecek - - - - Redirect internal Python output to report view - Dahili python çıktısını rapor görünümüne yönlendir - - - - Internal Python error messages will be redirected -from Python console to Report view panel - İç Pyhton hata iletileri, Python uçbiriminden -Rapor görünümü panosuna yönlendirilecek - - - - Redirect internal Python errors to report view - Dahili Python hatalarını rapor görünümüne yönlendir - Altgrup '%1' zaten mevcut. @@ -3320,7 +2709,7 @@ Rapor görünümü panosuna yönlendirilecek Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No selection in dialog, cannot load backup file @@ -3363,7 +2752,7 @@ Rapor görünümü panosuna yönlendirilecek Yardım - + Select a file Bir dosya seçin @@ -3371,69 +2760,69 @@ Rapor görünümü panosuna yönlendirilecek Gui::Dialog::DlgSettings3DView - + 3D View 3D Görünüm - + General Genel - + Main coordinate system will always be shown in lower right corner within opened files Ana koordinat sistemi, açılan dosyaların içerisinde, sağ alt kenarda, her zaman gösterilecek - + Show coordinate system in the corner Koordinat sistemini köşede göster - + Relative size : Göreceli boyut: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Size of main coordinate system representation in the corner -- in % of height/width of viewport - + Axis cross will be shown by default at file opening or creation Eksen çizgileri, dosya açma veya oluşturmada varsayılan olarak görünecek - + Show axis cross by default Eksen çizgilerini varsayılan olarak göster - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Son işlem için gereken süre ve sonuçta oluşan kare hızı, açılan dosyalarda sol alt köşede gösterilecek - + Show counter of frames per second Kare/sn sayacını göster - + Rendering Görsel İşleme - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3442,22 +2831,22 @@ Changing this option requires a restart of the application. Bu seçeneğin değiştirilmesi, uygulamanın yeniden başlatılmasını gerektirir. - + Use software OpenGL Yazılımsal OpenGL kullan - + Use OpenGL VBO (Vertex Buffer Object) OpenGL VBO (Uç Tampon Nesnesi) kullan - + Render cache Görsel İşleme önbelleği - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3480,7 +2869,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3497,92 +2886,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Otomatik - + Distributed Dağıtılmış - + Centralized Merkezileştirilmiş - + Anti-Aliasing Kenar Yumuşatma - + What kind of multisample anti-aliasing is used Kullanılan çok örneklemeli kenar düzeltme türü - + None Hiçbiri - + Line Smoothing Yumuşatma Yok - + MSAA 2x MSAA 2 x - + MSAA 4x MSAA 4 x - + MSAA 8x MSAA 8 x - + Transparent objects: Şeffaf nesneler: - + Render types of transparent objects Şeffaf nesnelerin görüntü işleme türleri - + One pass Tek geçiş - + Backface pass Arka yüz geçişi - + Marker size: İşaretci boyutu: - - Size of vertices in the Sketcher workbench - Eskiz tezgahındaki noktaların boyutu + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Stereo kipler için iki göz arası mesafe - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3591,48 +2980,48 @@ Belirlenen değer, şuan görüntülenen 3B nesnenin sınırlama çerçevesi boyutu ile çoğaltılacak bir etkendir. - + Backlight is enabled with the defined color Arka ışık, tanımlanan renkle etkinleştirilir - - + + Backlight color Arka ışık rengi - + Intensity Yoğunluk - + Intensity of the backlight Arka ışığın yoğunluğu - + Camera type kamera tipi - + Objects will appear in a perspective projection Nesneler perspektif görünümde görünecek - + Perspective renderin&g Perspektif işleme - + Objects will be projected in orthographic projection Nesneler ortografik gösterimde gösterilecek - + Or&thographic rendering Or&tografik işle (renderla) @@ -3644,42 +3033,42 @@ Belirlenen değer, şuan görüntülenen 3B nesnenin sınırlama Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Kenar Yumuşatma - + Open a new viewer or restart %1 to apply anti-aliasing changes. %1 Kenar yumuşatma değişikliklerini uygulamak için yeni bir görüntüleyici açın veya yeniden başlatın. @@ -3687,77 +3076,77 @@ Belirlenen değer, şuan görüntülenen 3B nesnenin sınırlama Gui::Dialog::DlgSettingsCacheDirectory - + Cache Önbellek - + Cache directory Önbellek Dizini - + Location: Konum: - + Check periodically at program start: Check periodically at program start: - + Always Her zaman - + Daily Günlük - + Weekly Haftalık - + Monthly Aylık - + Yearly Yıllık - + Never Asla - + Cache size limit: Önbellek boyut sınırı: - + Check now... Şimdi kontrol et... - + Notify the user if the cache size exceeds the specified limit Notify the user if the cache size exceeds the specified limit - + Unknown Bilinmeyen - + Current cache size: %1 Current cache size: %1 @@ -3918,12 +3307,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Yanlış parametre - + The maximum value must be higher than the minimum value. En yüksek değer, en düşük değerden yüksek olmalı. @@ -3931,182 +3320,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Döküman - + General Genel - + The application will create a new document when started Uygulama başladığında yeni bir belge oluşturacak - + Create new document at start up Başlangıçta yeni bir belge oluştur - + Document save compression level (0 = none, 9 = highest, 3 = default) Belge kaydındaki sıkıştırma seviyesi (0=hiç,9=en yüksek,3=varsayılan) - + Compression level for FCStd files FCStd dosyaları için sıkıştırma seviyesi - + All changes in documents are stored so that they can be undone/redone Belgelerdeki tüm değişiklikler geri al/yinele yapılabilmesi için depolanır - + Using Undo/Redo on documents Dökümanlarda Geri Al/Yeniden Yap kullanılıyor - + Maximum Undo/Redo steps Maksimum Geri Al / Yinele adımları - + How many Undo/Redo steps should be recorded Ne kadar GeriAl/Yinele adımı kaydedilmeli - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Kullanıcının, ESC 'ye basarak belgeyi yeniden hesaplamayı iptal etmesine izin ver. Bu özellik, yeniden hesaplama süresini biraz artırabilir. - + Allow aborting recomputation Yeniden hesaplamayı iptal etmeye izin ver - + Storage Depolama - + Saving transactions (Auto-save) Ara geçişleri kaydet (Özdeviniml-kayıt) - + Discard saved transaction after saving document Ara geçişleri belge kaydedildikten sonra sil - + If there is a recovery file available the application will automatically run a file recovery when it is started. Eğer bir kurtarma dosyası varsa, uygulama başladığında otomatik olarak dosya kurtarmayı çalıştıracak. - + Run AutoRecovery at startup Otomatik Kurtarmayı başlangıçta çalıştır - + How often a recovery file is written Kurtarma dosyası ne sıklıkta yazılır - + Save AutoRecovery information every Otomatik Arşiv bilgilerini her biri için kaydedin - + A thumbnail will be stored when document is saved Belge kaydedildiğinde bir küçük resim depolacak - + Save thumbnail into project file when saving document Belgeyi kaydederken küçük resmini proje dosyası içine kaydet - + Size Boyut - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Belgede depolanan küçük resim boyutunu ayarlar. Genel boyutlar 128, 256 ve 512 - + The program logo will be added to the thumbnail Program logosu küçük resime eklenecek - + Add the program logo to the generated thumbnail Oluşturulan minik resme program logosunu ekleyin - + How many backup files will be kept when saving document Belgeyi kaydederken kaç tane yedekleme dosyası tutulacak - + Maximum number of backup files to keep when resaving document Belgeyi yeniden kaydederken saklanacak maksimum yedek dosya sayısı - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Yedek dosyaları '.FCbak' uzantısı ve dosya adları belirtilen biçime göre tarih son eki alacaktır - + Use date and FCBak extension Tarih ve FCBak uzantısı kullan - + Date format Tarih biçimi - + Document objects Döküman nesneleri - + Allow objects to have same label Allow objects to have same label - + Allow duplicate object labels in one document Bir dökümanda nesne etiketlerini ikilemeye izin ver - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4119,22 +3508,22 @@ Kısmi yüklenen belge düzenlenemez. Belgeyi tam olarak yeniden yüklemek için simgesine çift tıklayın. - + Disable partial loading of external linked objects Dış bağlantılı nesnelerin kısmi yüklenmesini geçersizleştir - + Authoring and License Yazarlık ve Lisans - + Author name Yazar Adı - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4143,32 +3532,32 @@ You can also use the form: John Doe <john@doe.com> Ayrıca formu da kullanabilirsiniz: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Dosya kaydedilirken 'tarafından son olarak değiştirildi' alanı, belirlenen yazar adına ayarlanacak - + Set on save Üzerinde ayarlama Kaydet - + Company Şirket - + Default company name to use for new files Yeni dosyalar için kullanılacak varsayılan şirket adı - + Default license Varsayılan Lisans - + Default license for new documents Yeni belgeler için varsayılan lisans @@ -4238,12 +3627,12 @@ Ayrıca formu da kullanabilirsiniz: John Doe <john@doe.com> Diğer - + License URL Lisans URL (Automatic Translation) - + URL describing more about the license Lisans hakkında daha fazlasını anlatan URL @@ -4251,104 +3640,21 @@ Ayrıca formu da kullanabilirsiniz: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Kullanılacak tarih biçimi. - + Default Varsayılan - + Format Biçim - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Metin - - - - Bookmark - Yer işareti - - - - Breakpoint - Kesme noktası - - - - Keyword - Anahtar kelime - - - - Comment - Yorum - - - - Block comment - Blok yorum - - - - Number - Sayı - - - - String - Dize - - - - Character - Karakter - - - - Class name - Sınıf adı - - - - Define name - Ad tanımla - - - - Operator - İşleç - - - - Python output - Python çıktısı - - - - Python error - Python hatası - - - - Current line highlight - Geçerli satırı vurgulama - - - - Items - Öğeler - - Gui::Dialog::DlgSettingsImage @@ -4529,122 +3835,122 @@ Ayrıca formu da kullanabilirsiniz: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Makro - + General macro settings Genel makro ayarları - + Variables defined by macros are created as local variables Makrolar tarafından tanımlanan değişkenler, yerel değişkenler olarak oluşturulur - + Run macros in local environment Makroları yerel ortamda çalıştır - + Macro recording settings Makro kayıt ayarları - + Macro path Makro yolu - + The directory in which the application will search for macros Uygulamanın makroları arayacağı dizin - + Gui commands Arayüz komutları - + Recorded macros will also contain user interface commands Kaydedilen makrolar, kullanıcı arayüzü komutlarını da içerecektir - + Record GUI commands GUI arayüz komutlarını kaydet - + Recorded macros will also contain user interface commands as comments Kaydedilen makrolar ayrıca, kullanıcı arayüzü komutlarını açıklamalar olarak içerecektir - + Record as comment Yorum olarak kaydet - + Logging Commands Komutlar günlük kaydına ekleniyor - + Commands executed by macro scripts are shown in Python console Makro betikleri ile çalıştırılan komutlar Python konsolunda gösterilir - + Show script commands in python console Betık komutlarını python konsolunda göster - + Log all commands issued by menus to file: Menüler kaynaklı komutları günlük defterine ekle: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Son makrolar menüsü - + Size of recent macro list Son makro listesinin boyutu - + How many macros should be listed in recent macros list Son makrolar listesinde kaç tane makro listelenmeli - + Keyboard shortcut count Kılavye kısayolu sayısı - + How many recent macros should have shortcuts Son makrolardan kaç tanesi kısayol içermeli - + Keyboard Modifiers Klavye Değiştiricileri - + Keyboard modifiers, default = Ctrl+Shift+ Klavye değiştiricileri, varsayılan = Ctrl+Shift+ @@ -4652,130 +3958,130 @@ Ayrıca formu da kullanabilirsiniz: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Gezinme - + Navigation cube Gezinme küpü - + Steps by turn Dönüş başına adım - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Ok tuşları kullanıldığında, dönüş başına adım sayısı (varsayılan = 8 : adım açısı = 360/8 = 45 derece) - + Corner Köşe - + Corner where navigation cube is shown Gezinme küpünün gösterildiği köşe - + Top left Sol üst - + Top right Sağ üst - + Bottom left Alt sol - + Bottom right Sağ alt - + Rotates to nearest possible state when clicking a cube face Küp yüzeyine tıklandığında, mümkün olan en yakın konuma döndürür - + Rotate to nearest En yakına döndür - + Font name: Font name: - + Font name of the navigation cube Font name of the navigation cube - + Default Varsayılan - + Cube size Küp boyutu - + Size of the navigation cube Gezinme küpü boyutu - + Color Renk - + Base color for all elements Base color for all elements - + 3D Navigation 3D Gezinme - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Seçilen her gezinti ayarı için fare düğmesi yapılandırmalarını listele. Bahsedilen yapılandırmaları görmek için bir ayar seçin ve sonra düğmeye basın. - + Mouse... Fare... - + Navigation settings set Gezinti ayarları ayarı - + Orbit style Yörünge stili - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4786,116 +4092,116 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable Döner tabla - + Trackball Trackball - + Free Turntable Free Turntable - + Rotation mode Döndürme modu - + Rotations in 3D will use current cursor position as center for rotation 3B' daki dönüşler, dönüş merkezi olarak geçerli imleç konumunu kullanacak - + Window center Pencere merkezi - + Drag at cursor İmleç ile sürükle - + Object center Nesne merkezi - + Default camera orientation Varsayılan kamera yönü - + Default camera orientation when creating a new document or selecting the home view Yeni bir belge oluştururken veya ev görünümünü seçerkenki varsayılan kamera yönlendirmesi - + Camera zoom Kamera yakınlaştırma - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Yeni belgeler için kamera yakınlaştırılmasını ayarlar. Değeri, ekrana sığdırılacak kürenin çapıdır. - + mm mm - + Enable animated rotations Hareketli dönüşleri etkinleştir - + Enable animation Animasyonu etkinleştir - + Zoom operations will be performed at position of mouse pointer Yakınlaştırma işlemleri, fare işaretçisi konumunda yapılacak - + Zoom at cursor İmlece yaklaş - + Zoom step Yakınlaştırma adımı - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Yakınlaştırma miktarı. 1 yakınlaştırma adımı, adım başına 7.5 katsayı anlamına gelir. - + Direction of zoom operations will be inverted Yakınlaştırma işlemlerinin yönü ters çevrilecek - + Invert zoom Zoomu tersine çevir - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4904,57 +4210,67 @@ Yalnızca hareketle gezinme stilini etkiler. Bu ayarla fareyi eğme devre dışı bırakılmaz. - + Disable touchscreen tilt gesture DokunmatikEkran eğim hareketini devre dışı bırak - + + Show the rotation center when dragging. + Sürüklerken döndürme eksenini göster. + + + + Enable rotation center indication + Dönüş eksenini göster + + + Isometric İzometrik - + Dimetric Dimetrik - + Trimetric Trimetrik - + Top üst - + Front Ön - + Left Sol - + Right Sağ - + Rear Arka - + Bottom Alt - + Custom Özel @@ -4962,44 +4278,44 @@ Bu ayarla fareyi eğme devre dışı bırakılmaz. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python konsolu - + Settings Ayarlar - + Words will be wrapped when they exceed available horizontal space in Python console Kelimeler, Python uçbirimindeki kullanılabilir yatay boşluğu aştığında kaydırılacak - + Enable word wrap Sözcük kaydırmayı etkinleştir - + The cursor shape will be a block İmleç, blok şeklinde olacak - + Enable block cursor Blok imleci etkinleştir - + Saves Python history across sessions Python geçmişini oturumlar arasında kaydeder - + Save history Geçmişi kaydet @@ -5007,17 +4323,37 @@ boşluğu aştığında kaydırılacak Gui::Dialog::DlgSettingsSelection - + Selection seçim - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Radius (px) seçin: - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5026,27 +4362,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Seçili ögeyi içeren 3B görünümüne otomatik geçiş yap - + Auto expand tree item when the corresponding object is selected in 3D view İlgili nesne 3B görünümünde seçildiğinde ağaç ögesini otomatik genişlet - + Preselect the object in 3D view when mouse over the tree item Fare ağaç ögesinin üzerine geldiğinde 3B görünümdeki nesneyi ön seç - + Record selection in tree view in order to go back/forward using navigation button Gezinme düğmesini kullanarak geri/ileri gitmek için unsur ağacında seçimi kaydedin - + Add checkboxes for selection in document tree Belge ağacında seçim için onay kutuları ekleyin @@ -5054,147 +4390,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Renkler - - Selection - seçim - - - - Enable preselection and highlight by specified color - Belirlenen renk ile önseçim ve vurgulamaya izin ver - - - - Enable preselection highlighting - önseçim vurgulamayı etkinleştir - - - - Enable selection highlighting and use specified color - Seçimi vurgulamaya izin ver ve belirlenen rengi kullan - - - - Enable selection highlighting - seçim vurgulamayı etkinleştir - - - + Background color for the model view Model görünümü için arka plan rengi - + Background color Arka plan rengi - - + + Background will have selected color Arka plan seçilen renge sahip olacak - + Simple color Basit renk - - + + Background will have selected color gradient Arka plan seçilen renk gradyanına sahip olacak - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Top: - - + + Middle: Middle: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch Değiştir - + Color gradient will get selected color as middle color Renk geçişi, orta renk için seçilen rengi ayarlayacak - + Middle color Orta renk - - + + Bottom: Bottom: - + Tree view Unsur Ağacı - + Object being edited Nesne düzenleniyor - + Background color for objects in tree view that are currently edited Şu anda düzenlenen Unsur Ağacı nesneleri için arka plan rengi - + Active container Etkin taşıyıcı - + Background color for active containers in tree view Ağaç görünümündeki etkin kutular için arkaplan rengi - + Central: Central: - + Midway: Midway: - + End: End: @@ -5306,12 +4617,12 @@ Tercih edilen sistem, genel tercihlerdeki tek ayardır. Gui::Dialog::DlgUnitsCalculator - + unknown unit: bilinmeyen birim: - + unit mismatch birim uyuşmazlığı @@ -5319,7 +4630,7 @@ Tercih edilen sistem, genel tercihlerdeki tek ayardır. Gui::Dialog::DockablePlacement - + Placement Yerleşim @@ -5371,60 +4682,60 @@ The 'Status' column shows whether the document could be recovered. Henüz cevaplanmadı - + Unknown problem occurred Bilinmeyen bir hata oluştu - - + + Failed to recover Kurtarmak başarısız oldu - + Successfully recovered Başarıyla kurtarıldı - + Finish Bitir - - + + Delete Sil - - + + Cleanup Temizle - + Are you sure you want to delete the selected transient directories? Seçili geçici dizinleri silmek istediğinize emin misiniz? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Ne zaman seçilen geçici dizin silme herhangi bir dosya daha sonra kurtarmak mümkün olmayacaktır. - + Are you sure you want to delete all transient directories? Tüm geçici dizinleri silmek istediğinizden emin misiniz? - + When deleting all transient directories you won't be able to recover any files afterwards. Tüm geçici dizinleri silerken daha sonra hiçbir dosyayı kurtaramazsınız. - + Transient directories deleted. Geçici dizinler silindi. @@ -5548,7 +4859,7 @@ The 'Status' column shows whether the document could be recovered. Simge klasörleri - + Add icon folder Simgesini klasör ekle @@ -5561,12 +4872,12 @@ The 'Status' column shows whether the document could be recovered. Özel simge klasörleri ekleyebilir ve kaldırabilirsiniz - + Remove folder Klasörü Kaldır - + Removing a folder only takes effect after an application restart. Bir klasörü kaldırmak, yalnızca bir uygulamanın yeniden başlatılmasından sonra etkili olur. @@ -5636,79 +4947,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Genişlet - + Add sub-group Alt-Grup ekle - - + + Remove group Grubu sil - + Rename group Grubu yeniden adlandır - + Export parameter Parametreyi dışa aktar - + Import parameter Parametreyi içe aktar - + Collapse Daralt - + Do you really want to remove this parameter group? Bu değişken grubunu gerçekten kaldırmak istiyor musunuz? - + Existing sub-group Varolan alt grup - + The sub-group '%1' already exists. Altgrup '%1' zaten mevcut. - + Export parameter to file Parametreyi dosyaya (dışarı) aktar - + Import parameter from file Parametreyi dosyadan içeri aktar - + Import Error İçe aktarım hatası - + Reading from '%1' failed. '%1'den okuma başarısız oldu. @@ -5716,65 +5027,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Değeri değiştir - + Remove key Anahtarı kaldır - + Rename key Anahtarı yeniden adlandır - + New Yeni - + New string item Yeni dize öğesi - + New float item Yeni float öğesi - + New integer item Yeni tamsayı öğesi - + New unsigned item Yeni mutlak değerli öğe - + New Boolean item Yeni Boolean (mantıksal) öğesi - - - - - + + + + + Existing item Varsayılan öğe - - - - - + + + + + The item '%1' already exists. '%1' öğesi zaten var. @@ -5920,17 +5231,17 @@ The 'Status' column shows whether the document could be recovered. Uygula - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Bu tuşa basmadan önce lütfen 1, 2 veya 3 nokta seçin. Bir nokta, yüzey veya kenarda bir nokta olabilir. Bir yüzey veya kenarda kullanılan nokta, yüzey veya kenar boyunca fare konumunda bulunan nokta olacaktır. 1 nokta seçilirse, dönüş merkezi olarak kullanılacaktır. 2 nokta seçilirse, aralarındaki orta nokta, dönme merkezi olacak ve gerekirse yeni bir özel eksen oluşturulacaktır. 3 nokta seçilirse, ilk nokta dönme merkezi olur ve 3 nokta tarafından tanımlanan düzlemde normal olan vektör üzerinde bulunur. Nesneleri hizalarken faydalı olabilecek, rapor görünümünde bazı mesafe ve açı bilgileri sağlanır. Shift + tıklama kullanıldığında kolaylık için uygun mesafe veya açı panoya kopyalanır. - + Incorrect quantity Hatalı miktar - + There are input fields with incorrect input, please ensure valid placement values! Yanlış girişi olan girdi alanları var, lütfen geçerli yerleşim değerlerini sağlayın! @@ -5938,12 +5249,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Düğme - + Command Komut @@ -6007,17 +5318,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Inventor programı ağacı - + Name Isim - + Nodes Düğümler @@ -6073,14 +5384,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel İptal - - + + Transform Dönüştür @@ -6178,13 +5489,13 @@ kutusunu açmadan önce seçilen nesnelerle devam et - + Model Model - + Tasks Görevler @@ -6192,7 +5503,7 @@ kutusunu açmadan önce seçilen nesnelerle devam et Gui::DockWnd::PropertyDockView - + Property View Özellik görünümü @@ -6200,82 +5511,82 @@ kutusunu açmadan önce seçilen nesnelerle devam et Gui::DockWnd::ReportOutput - + Options Seçenekler - + Display message types Mesaj türlerini görüntüle - - + + Normal messages Normal mesajlar - - + + Log messages Günlük mesajları - - + + Warnings Uyarılar - - + + Errors Hatalar - - + + Critical messages Critical messages - + Show Report view on Show Report view on - + Redirect Python output Python çıktısını yeniden yönlendir - + Redirect Python errors Python hatalarını yeniden yönlendir - + Go to end Sona git - + Clear Temizle - + Save As... Farklı Kaydet... - + Save Report Output Rapor çıktısını kaydet - + Plain Text Files Yalın Yazı Düzenleyicisi @@ -6284,13 +5595,13 @@ kutusunu açmadan önce seçilen nesnelerle devam et Gui::DockWnd::ReportView - + Output Çıktı - + Python console Python konsolu @@ -6328,72 +5639,72 @@ kutusunu açmadan önce seçilen nesnelerle devam et Özel seçilen nesne listesi - + Select only Yalnızca seçili - + Selects only this object Sadece bu nesneyi seçer - + Deselect Seçimi kaldır - + Deselects this object Bu nesneyi sil - + Zoom fit Uzaklaştır - + Selects and fits this object in the 3D window Bu nesneyi seçer ve 3B Penceresine sığdırır - + Go to selection Seçime git - + Selects and locates this object in the tree view Bu nesneyi unsur ağacında bulur ve seçer - + Mark to recompute Yeniden hesaplamak için işaretle - + Mark this object to be recomputed Bu nesneyi yeniden hesaplanacak şekilde işaretleyin - + To python console Python konsolu - + Reveals this object and its subelements in the python console. Bu nesneyi ve alt öğelerini python konsolunda gösterir. - + Duplicate subshape Yinelenen şekleAlt şekli çoğalt - + Creates a standalone copy of this subshape in the document Belgede bu alt şablonun bağımsız bir kopyasını oluşturur @@ -6406,7 +5717,7 @@ kutusunu açmadan önce seçilen nesnelerle devam et Uygulama - + Labels & Attributes Etiketler & öznitelikleri @@ -6454,27 +5765,27 @@ Do you want to save your changes? PDF dosyası - + untitled[*] Adsız [*] - + - Editor -Editör(Düzenleyici) - + %1 chars removed %1 karakter kaldırıldı - + %1 chars added %1 karakter eklendi - + Formatted Biçimlendirilmiş @@ -6498,13 +5809,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Bir dosya seçin - + Select a directory Dizin Seç @@ -6512,13 +5823,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Farklı Kaydet - - + + Open @@ -6526,12 +5837,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Genişletilmiş - + All files (*.*) Tüm dosyalar (*. *) @@ -6539,27 +5850,27 @@ Do you want to save your changes? Gui::Flag - + Top left Sol üst - + Bottom left Alt sol - + Top right Sağ üst - + Bottom right Sağ alt - + Remove Kaldır @@ -6567,22 +5878,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Dokunun YA DA farenin sol düğmesini tıklatın. - + Drag screen with two fingers OR press right mouse button. Ekranı iki parmağınızla sürükleyin VEYA farenin sağ düğmesine basın. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Tek parmakla ekranı kaydır ya da farenin sol tuşuna bas. desinatör veya diğer düzenleme modlarında Alt tuşuna basılı tut. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Çimdikleyin (İki parmağınızı ekrana koyun && bunları || birbirinden ayırarak sürükleyin) YA DA farenin orta tuşuyla kaydırın YA DA PgUp/PgDown tuşlarını kullanın. @@ -6590,74 +5901,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz bulunamadı - + Graphviz couldn't be found on your system. Graphviz, sisteminizde bulunamadı. - + Read more about it here. Burada daha fazla bilgi için tıklayın. - + Do you want to specify its installation path if it's already installed? Yükleme yolu zaten yüklüyse belirtmek ister misiniz? - + Graphviz installation path Graphviz yükleme yolu - + Graphviz failed Graphviz başarısız oldu - + Graphviz failed to create an image file Graphviz görüntü dosyası oluşturulamadı - + PNG format PNG biçimi - + Bitmap format Bit eşlem biçimi - + GIF format PNG biçimi - + JPG format PNG biçimi - + SVG format PNG biçimi - - + + PDF format PNG biçimi - - + + Export graph Grafiği dışa aktar @@ -6665,12 +5976,12 @@ Do you want to save your changes? Gui::InputField - + Edit Düzenle - + Save value Değeri kaydet @@ -6678,22 +5989,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button ctrl ve sol fare düğmesine basın - + Press middle mouse button Farenin orta tuşuna basın - + Press left mouse button Sol fare düğmesine basın - + Scroll middle mouse button Fare tekerleğini kaydırın @@ -6701,7 +6012,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Liste @@ -6709,66 +6020,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Kullanıcı tanımlı... - + - - + + Wrong direction Yanlış yön - + - - + + Direction must not be the null vector Yön, boş vektör olmamalıdır @@ -6776,22 +6087,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6799,17 +6110,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Makrolar - + Macro file doesn't exist Makro dosyası yok - + No such macro file: '%1' Böyle bir makro dosya: '%1' @@ -6817,63 +6128,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Boyut - + Ready Hazır - + Help addon needed! Yardım eklentisi gerekli! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager Eklenti Yöneticisini Aç - + Close All Tümünü Kapat - - + + Toggles this toolbar Bu araç çubuğunu değiştirir - - + + Toggles this dockable window Bu yapışabilir pencere arasında geçiş yapar - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document Kaydedilmemiş belge - + The exported object contains external link. Please save the documentat least once before exporting. Dışa aktarılan nesne dış bağlantı içeriyor. Lüften dışa aktarmadan önce belgeyi en az bir defa kaydedin. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Harici nesneleri bağlamak için belge, en az bir defa kaydedilmelidir. Belgeyi şimdi kaydetmek istiyor musunuz? @@ -6882,63 +6203,63 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Elle hizalama - + The alignment is already in progress. Hizalama işlemi zaten devam ediyor. - + Alignment[*] Hizalama [*] - + Please, select at least one point in the left and the right view Lütfen sol ve sağ görünümden en az birer nokta seçin - + Please, select at least %1 points in the left and the right view Lütfen sol ve sağ görünümden en az %1 nokta seçin - + Please pick points in the left and right view Lütfen sol ve sağ görünümden noktalar seçiniz - + The alignment has finished Hizalama tamamladı - + The alignment has been canceled Hizalama iptal edildi - - + + Too few points picked in the left view. At least %1 points are needed. Sol görünümde çok az nokta seçildi . En az %1 nokta gereklidir. - - + + Too few points picked in the right view. At least %1 points are needed. Sol görünümde çok az nokta seçildi . En az %1 nokta gereklidir. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. @@ -6947,60 +6268,60 @@ Sol görünümde %1 nokta seçili, sağ görünümde %2 nokta seçili. - + Try to align group of views Görünüm gruplarını hizalamayı dene - + The alignment failed. How do you want to proceed? Hizalama başarısız oldu. İşleme nasıl devam etmek istiyorsunuz? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Sol ve sağ görünümde eşit sayıda nokta seçilmedi. Sol görünümde %1 nokta seçili, sağ görünümde %2 nokta seçili. - + Point_%1 Point_%1 - + Point picked at (%1,%2,%3) Seçili noktalar (%1,%2,%3) - + No point was found on model Model üzerinde hiçbir nokta bulunamadı - + No point was picked Hiçbir nokta seçilmedi - + &Align &Align - + &Remove last point &Remove last point - + &Cancel İptal - + &Synchronize views &Synchronize views @@ -7008,22 +6329,22 @@ sağ görünümde %2 nokta seçili. Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Dokunun YA DA farenin sol düğmesini tıklatın. - + Drag screen with two fingers OR press ALT + middle mouse button. Ekranı iki parmağınızla sürükleyin VEYA ALT + farenin orta düğmesine basın. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Ekranı bir parmağınızla sürükleyin VEYA ALT + farenin sol düğmesine basın. Sketcher ve diğer düzenleme modlarında, ilave olarak Alt tuşuna basılı tutun. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Çimdikleyin (iki parmağınızı ekrana yerleştirin ve birbirinden uzağa veya birbirlerine doğru sürükleyin) VEYA fare tekerini kaydırın VEYA klavyede ALT + farenin sağ butonunu kullanın VEYA PgUp / PgDown tuşlarına basın. @@ -7031,7 +6352,7 @@ sağ görünümde %2 nokta seçili. Gui::ModifierLineEdit - + Press modifier keys Press modifier keys @@ -7047,22 +6368,22 @@ sağ görünümde %2 nokta seçili. Gui::OpenCascadeNavigationStyle - + Press left mouse button Sol fare düğmesine basın - + Press CTRL and middle mouse button Sağ ve orta fare düğmesine basma - + Press CTRL and right mouse button Sağ ve orta fare düğmesine basma - + Press CTRL and left mouse button ctrl ve sol fare düğmesine basın @@ -7070,22 +6391,22 @@ sağ görünümde %2 nokta seçili. Gui::OpenSCADNavigationStyle - + Press left mouse button Sol fare düğmesine basın - + Press right mouse button and move mouse Sağ fare düğmesine basın ve fareyi hareket ettirin - + Press left mouse button and move mouse Sol fare düğmesine basın ve fareyi hareket ettirin - + Press middle mouse button or SHIFT and right mouse button Orta fare düğmesine veya SHIFT ve sağ fare düğmesine basın @@ -7093,17 +6414,17 @@ sağ görünümde %2 nokta seçili. Gui::PrefQuantitySpinBox - + Edit Düzenle - + Save value Değeri kaydet - + Clear list Listeyi temizle @@ -7134,12 +6455,12 @@ sağ görünümde %2 nokta seçili. Kalan: %1 - + Aborting İptal ediliyor - + Do you really want to abort the operation? Bu işlemi iptal etmek istediğinizden emin misiniz? @@ -7147,7 +6468,7 @@ sağ görünümde %2 nokta seçili. Gui::PropertyEditor::LinkLabel - + Change the linked object Bağlı nesneyi değiştir @@ -7155,12 +6476,12 @@ sağ görünümde %2 nokta seçili. Gui::PropertyEditor::LinkSelection - + Error Hata - + Object not found Nesne bulunamadı @@ -7231,13 +6552,13 @@ sağ görünümde %2 nokta seçili. Gui::PropertyView - + View Görünüm - + Data Veri @@ -7284,77 +6605,77 @@ Do you want to exit without saving your data? İşlenmemiş bilinmeyen c++ özel durum. - + &Copy &amp; Kopyala - + &Copy command &Kopyala komutu - + &Copy history &Kopyalama tarihi - + Save history as... Geçmişi olarak kaydet... - + Save history Geçmişi kaydet - + Saves Python history across %1 sessions Python geçmişini %1 oturum boyunca kaydeder - + &Paste & Yapıştır - + Select All Tümünü Seç - + Clear console Konsolü temizle - + Insert file name... Dosya adı Ekle... - + Word wrap Sözcük kaydırma - + Save History Geçmişi Kaydet - + Macro Files Makro dosyaları - + Insert file name Dosya adı Ekle - + All Files Tüm Dosyalar @@ -7362,7 +6683,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Yorum @@ -7375,17 +6696,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Dosyayı aç %1 - + File not found Dosya bulunamadı - + The file '%1' cannot be opened. '%1' Dosyası açılamıyor. @@ -7393,22 +6714,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none hiçbiri - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Run macro %1 (Shift+click to edit) keyboard shortcut: %2 - + File not found Dosya bulunamadı - + The file '%1' cannot be opened. '%1' Dosyası açılamıyor. @@ -7416,22 +6737,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Sol fare düğmesine basın - + Press middle mouse button Farenin orta tuşuna basın - + Press SHIFT and middle mouse button SHIFT ve farenin orta tuşuna basın - + Scroll middle mouse button Fare tekerleğini kaydırın @@ -7462,17 +6783,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Modül seçin - + Open %1 as %1 Olarak açın - + Select Seç @@ -7541,13 +6862,13 @@ Başka bir dizin belirlemek ister misiniz? Gui::StdCmdPythonHelp - + Automatic python modules documentation Otomatik python modülleri belgeleri - - + + Opens a browser to show the Python modules documentation Python modüllerini göstermek için bir internet gezgini açar @@ -7565,7 +6886,7 @@ Başka bir dizin belirlemek ister misiniz? Position - Position + Konum @@ -7700,38 +7021,38 @@ Başka bir dizin belirlemek ister misiniz? Gui::TextDocumentEditorView - + Text updated Metin güncelleştirildi - + The text of the underlying object has changed. Discard changes and reload the text from the object? Altta yatan nesnenin metni değişti. Değişiklikleri atın ve metni nesneden yeniden yükleyin? - + Yes, reload. Evet, yeniden yükleyin. - + Unsaved document Kaydedilmemiş belge - + Do you want to save your changes before closing? Kapatmadan önce değişiklikleri kaydetmek istiyor musunuz? - + If you don't save, your changes will be lost. Kaydetmezseniz, yaptığınız değişiklikler kaybolacak. - - + + Edit text Metni düzenle @@ -7739,22 +7060,22 @@ Başka bir dizin belirlemek ister misiniz? Gui::TinkerCADNavigationStyle - + Press left mouse button Sol fare düğmesine basın - + Press middle mouse button Farenin orta tuşuna basın - + Press right mouse button Sağ fare düğmesine basın - + Scroll middle mouse button Fare tekerleğini kaydırın @@ -7762,22 +7083,22 @@ Başka bir dizin belirlemek ister misiniz? Gui::TouchpadNavigationStyle - + Press left mouse button Sol fare düğmesine basın - + Press SHIFT button Üst Karakter(Shift) tuşuna basın - + Press ALT button Alt tuşuna basın - + Press CTRL and SHIFT buttons CTRL ve SHIFT tuşuna basın düğmeleri @@ -8003,7 +7324,7 @@ Başka bir dizin belirlemek ister misiniz? Gui::TreeDockWidget - + Tree view Unsur Ağacı @@ -8011,7 +7332,7 @@ Başka bir dizin belirlemek ister misiniz? Gui::TreePanel - + Search Ara @@ -8019,183 +7340,183 @@ Başka bir dizin belirlemek ister misiniz? Gui::TreeWidget - + Search... Ara... - + Search for objects Nesneleri ara - + Activate document Belgeyi etkinleştir - + Activate document %1 %1 Belgesini etkinleştir - + Tree settings Tree settings - + Show description column Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - + Group Grup - + Labels & Attributes Etiketler & öznitelikleri - + Description Açıklama - + Show items hidden in tree view Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view Toggles the visibility of selected items in the tree view - + Create group... Grup Oluştur... - + Create a group Bir Grup oluşturma - - + + Rename Yeniden Adlandır - + Rename object Nesneyi yeniden adlandır - + Finish editing Düzenlemeyi tamamla - + Finish editing object Nesneyi düzenlemeyi tamamla - + Add dependent objects to selection Seçilecek bağıntılı nesneler ekle - + Adds all dependent objects to the selection Seçilecek tüm bağıntılı nesneleri ekler - + Close document Belgeyi kapat - + Close the document Belgeyi kapat - + Reload document Belgeyi tekrar yükle - + Reload a partially loaded document Kısmi yüklenen belgeyi tekrar yükle - + Skip recomputes Yeniden hesaplamayı atla - + Enable or disable recomputations of document Dokümanın yeniden hesaplanmasını etkinleştirir veya devre dışı bırakır - + Allow partial recomputes Kısmi yeniden hesaplamalara izin ver - + Enable or disable recomputating editing object when 'skip recomputation' is enabled 'Tekrar hesaplamayı atla' etkin ise tekrar hesaplama düzenleme nesnesini etkinleştir veya geçersizleştir - + Mark to recompute Yeniden hesaplamak için işaretle - + Mark this object to be recomputed Bu nesneyi yeniden hesaplanacak şekilde işaretleyin - + Recompute object Nesneyi yeniden hesapla - + Recompute the selected object Seçili Nesneyi yeniden hesapla - + (but must be executed) (ama çalıştırılmalı) - + %1, Internal name: %2 %1, Dahili adı: %2 @@ -8226,12 +7547,12 @@ Başka bir dizin belirlemek ister misiniz? PDF dosyası - + Opening file failed Dosya açılamadı - + Can't open file '%1' for writing. Dosya '%1' yazmak için açılamıyor. @@ -8239,7 +7560,7 @@ Başka bir dizin belirlemek ister misiniz? Gui::WorkbenchGroup - + Select the '%1' workbench '%1' tezgahını seçin @@ -8247,37 +7568,37 @@ Başka bir dizin belirlemek ister misiniz? MAC_APPLICATION_MENU - + Services Hizmetler - + Hide %1 %1 Gizle - + Hide Others Diğerlerini Gizle - + Show All Tümünü Göster - + Preferences... Ayarlar... - + Quit %1 Çık %1 - + About %1 %1 Hakkında @@ -8297,11 +7618,6 @@ Başka bir dizin belirlemek ister misiniz? Position - - - Form - Şekil: - X: @@ -8396,14 +7712,14 @@ Başka bir dizin belirlemek ister misiniz? PropertyListDialog - - + + Invalid input Geçersiz giriş - - + + Input in line %1 is not a number Giriş hattı %1 içinde bir sayı değil @@ -8411,37 +7727,37 @@ Başka bir dizin belirlemek ister misiniz? QDockWidget - + Tree view Unsur Ağacı - + Property view Özellik görünümü - + Selection view Seçim görünümü - + Combo View Birleşik görünüm - + DAG View DAG görünümü - + Report view Rapor Görünümü - + Python console Python konsolu @@ -8454,31 +7770,32 @@ Başka bir dizin belirlemek ister misiniz? QObject - - + + General Genel - - + + + Display Ekran - + Workbenches Tezgah - - - + + + Python Python @@ -8506,17 +7823,27 @@ Başka bir dizin belirlemek ister misiniz? Bilinmeyen dosya türü kaydedilemiyor: %1 - + Workbench failure Tezgah hatası - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Özel durum(İstisna) @@ -8562,8 +7889,8 @@ Başka bir dizin belirlemek ister misiniz? PDF dışa aktarılıyor... - + Unsaved document Kaydedilmemiş belge @@ -8584,39 +7911,39 @@ Başka bir dizin belirlemek ister misiniz? Bağımlılık hatası - + Copy selected Seçileni kopyala - + Copy active document Etkin belgeyi kopyala - + Copy all documents Tüm belgeleri kopyala - + Paste Yapıştır - + Expression error İfade hatası - + Failed to parse some of the expressions. Please check the Report View for more details. Bazı ifadelerin ayrıştırılması başarısız. Daha fazla ayrıntı için lütfen Rapor Görünümünü kontrol edin. - + Failed to paste expressions İfadeleri yapıştırma başarısız @@ -8650,224 +7977,224 @@ Be aware the point where you click matters. Lütfen iki nesne seçin. Unutmayın, tıkladığınız nokta önemlidir. - - + + Save views... Görünümleri kaydet... - - + + Load views... Görünümleri yükle... - - + + Freeze view Görünümü Dondur - - + + Clear views Görünümleri Temizle - - - + + + Restore view &%1 Görünümü geri yükle &%1 - + Save frozen views Dondurulmuş görünümleri Kaydet - - + + Frozen views Donmuş kez bakıldı - - + + Restore views Görünümleri Geri Yükle - + Importing the restored views would clear the already stored views. Do you want to continue? Geri yüklenen görünümleri içeri aktarmak kaydedilmiş görünümleri temizleyecek. Devam etmek istiyor musunuz? - + Restore frozen views Dondurulmuş görünümleri geri yükle - + Cannot open file '%1'. '%1' dosyası açılamıyor. - + files dosyalar - + Save image Save image - + Choose an image file to open Açmak için bir görüntü dosyası seçin - + New sub-group Yeni alt grup - - - - - - + + + + + + Enter the name: Adı girin: - - + + New text item Yeni metin öğesi - - + + Enter your text: Metninizi girin: - - + + New integer item Yeni tamsayı öğesi - - - - - - + + + + + + Enter your number: Numaranızı girin: - - + + New unsigned item Yeni mutlak değerli öğe - - + + New float item Yeni float öğesi - + New Boolean item Yeni Boolean (mantıksal) öğesi - - + + Choose an item: Bir öğe seçin: - + New boolean item Yeni Boolean (birbirinden çıkarma) öğesi - + Rename group Grubu yeniden adlandır - + The group '%1' cannot be renamed. '%1' grubu yeniden adlandırılamaz. - + Existing group Mevcut grup - + The group '%1' already exists. '%1' Grubu zaten var. - - - - - + + + + + Change value Değeri değiştir - + Type Türü - + Notifier Notifier - + Message Message - + Notifier: Notifier: - + Do you want to skip confirmation of further critical message notifications while loading the file? Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8876,44 +8203,44 @@ Do you want to continue? - + Are you sure you want to continue? Devam etmek istediğinizden emin misiniz? - + Please check report view for more... Please check report view for more... - + Physical path: Fiziksel yol: - - + + Document: Belge: - - + + Path: Yol: - + Identical physical path Özdeş fiziksel yol - + Could not save document Belge kaydedilemedi - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8926,102 +8253,102 @@ Would you like to save the file with a different name? Dosyayı farklı bir adla kaydetmek ister misiniz? - - - + + + Saving aborted Kaydetme iptal edildi - + Save dependent files Bağımlı dosyaları kaydet - + The file contains external dependencies. Do you want to save the dependent files, too? Dosya dış bağımlılıklar içeriyor. Bağımlı dosyaları da kaydetmek istiyor musunuz? - - + + Saving document failed Belge kaydetme başarısız oldu - + Save document under new filename... Belgeyi yeni bir dosya adı altında kaydedin... - - + + Save %1 Document %1 Belgeyi Kaydet - + Document Döküman - - + + Failed to save document Belgeyi kaydetme başarısız - + Documents contains cyclic dependencies. Do you still want to save them? Belgeler döngüsel bağımlılıklar içeriyor. Yine de bunları kaydetmek istiyor musunuz? - + Save a copy of the document under new filename... Dokümanın bir kopyasını yeni dosya adı altında kaydedin... - + %1 document (*.FCStd) %1 belgesi (*. FCStd) - + Document not closable Belge kapatılamıyor - + The document is not closable for the moment. Belge şu an için kapatılamıyor. - + Document not saved Belge kaydedilmedi - + The document%1 could not be saved. Do you want to cancel closing it? %1 belgesi kaydedilemedi. Kapatmayı iptal etmek istiyor musunuz? - + Undo Geri al - + Redo Yinele - + There are grouped transactions in the following documents with other preceding transactions Aşağıdaki belgelerde, diğer önceki işlemlerle gruplanmış işlemler var - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9035,95 +8362,95 @@ Vazgeçmek için 'Vazgeç' i seçin Makroyu kaydet - - + + Finish Bitir - - + + Clear Temizle - - - + + + Cancel İptal - + Inner İç - + Outer Dış - + Split Ayır - - + + No Browser Tarayıcı yok - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. Tarayıcınız açılamıyor. Lütfen bir tarayıcı penceresi açın ve yazın: http://localhost:%1. - + No Server Sunucu yok - + Unable to start the server to port %1: %2. %2: port %1 sunucusu başlatılamıyor. - + Unable to open your system browser. Sistem tarayıcı açılamıyor. - + Options... Seçenekler... - + Out of memory Yetersiz bellek - + Not enough memory available to display the data. Verileri görüntülemek için yetersiz bellek. - - + + Cannot find file %1 %1 Dosyası bulunamıyor - + Cannot find file %1 neither in %2 nor in %3 %1 Dosyası %2 veya %3 içinde bulunamıyor - + Navigation styles Gezinme şekilleri @@ -9133,8 +8460,8 @@ Please open a browser window and type in: http://localhost:%1. Ek açıklamayı taşı - - + + Transform Dönüştür @@ -9144,42 +8471,42 @@ Please open a browser window and type in: http://localhost:%1. Bu pencereyi kapatmak ister misiniz? - + Do you want to save your changes to document '%1' before closing? Kapatmadan önce değişiklikleri kaydetmek istiyor musunuz? - + Do you want to save your changes to document before closing? Kapatmadan önce değişikliklerinizi belgeye kaydetmek istiyor musunuz? - + If you don't save, your changes will be lost. Kaydetmezseniz, yaptığınız değişiklikler kaybolacak. - + Apply answer to all Cevabı tümüne uygula - + %1 Document(s) not saved %1 belge kaydedilmedi - + Some documents could not be saved. Do you want to cancel closing? Bazı belgeler kaydedilemedi. Kapatmaktan vazgeçmek ister misiniz? - + Delete macro Makroyu sil - + Not allowed to delete system-wide macros Sistemde makrolar silmek için izin verilmez @@ -9189,27 +8516,27 @@ Please open a browser window and type in: http://localhost:%1. Orijin - + Delete group content? İçerik silinsin? - + The %1 is not empty, delete its content as well? %1 boş değil, içerik de silinsin mi? - + Translation: Ötele: - + Rotation: Döndürme: - + Toggle active part Aktif parçayı ayarla @@ -9272,88 +8599,88 @@ Please open a browser window and type in: http://localhost:%1. Tüm bağlantıların içe aktarılması başarısız - - + + Invalid name Geçersiz ad - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Özellik veya grup adı sadece alfa sayısallar, alt tire içermeli ve bir rakam ile başlamamalıdır. - + The property '%1' already exists in '%2' '%1' özelliği '%2' de zaten mevcut - + Add property Özellik ekle - + Failed to add property to '%1': %2 '%1' e özellik ekleme başarısız: %2 - - + + Drag & drop failed Sürükle ve bırak başarısız - + Setup configurable object Yapılandırılabilir nesneyi kur - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed Lütfen yapılandırma değiştirildiğinde kopyalanacak nesneleri seçin - + Apply to all Tümüne uygula - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Apply the setting to all links. Or, uncheck this option to apply only to this link. - + Copy on change Değişimde Kopyala - + Enable Etkinleştir - + Enable auto copy of linked object when its configuration is changed Enable auto copy of linked object when its configuration is changed - + Tracking İzleme - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9362,17 +8689,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Değişiklikte kopyalamayı devre dışı bırak - + Refresh configurable object Yapılandırılabilir nesneyi tazele - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9383,28 +8710,28 @@ the current copy will be lost. - + Toggle array elements Dizi öğelerini aç/kapat - + Change whether show each link array element as individual objects Change whether show each link array element as individual objects - + Transform at the origin of the placement Transform at the origin of the placement - - + + Override colors... Renkleri etkisiz kıl... - + Edit %1 %1'i düzenle @@ -9427,12 +8754,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: İzin verilmiyor: - + Selection not allowed by filter Seçime filtre tarafından izin verilmiyor @@ -9440,9 +8767,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Kutu eleman seçimi @@ -9450,13 +8777,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Seçim kutusu - - + + Activate the box selection tool Activate the box selection tool @@ -9534,13 +8861,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Eksen çizgileri - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9646,13 +8973,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Döner tablayı göster... - - + + View turntable Döner tablayı göster @@ -9772,13 +9099,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Çizim biçimi - - + + Change the draw style of the objects Nesnelerin çizim biçimini değiştir @@ -9842,13 +9169,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions İfade eylemleri - - + + Actions that apply to expressions Actions that apply to expressions @@ -9965,13 +9292,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Görüntüyü Dondur - - + + Freezes the current view position Geçerli görünüm duruşunu dondur @@ -9992,13 +9319,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Tüm nesneleri gizle - - + + Hide all objects in the document Belgedeki bütün nesneler gizle @@ -10006,13 +9333,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Seçimi Gizle - - + + Hide all selected objects Tüm Seçili nesneleri gizle @@ -10286,13 +9613,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Mesafe Ölç - - + + Activate the distance measurement tool Activate the distance measurement tool @@ -10351,8 +9678,8 @@ the current copy will be lost. Yeni, boş bir belge oluştur - - + + Unnamed Adsız @@ -10580,8 +9907,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Son dosyalar + Open Recent + Son Kullanılanları Aç @@ -10719,13 +10046,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Sahne Denetmeni... - - + + Scene inspector Sahne Denetmeni @@ -10733,13 +10060,13 @@ the current copy will be lost. StdCmdSelBack - + &Back Geri - - + + Go back to previous selection Önceki seçime geri dön @@ -10747,13 +10074,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box Sınır kutusu - - + + Show selection bounding box Seçimin sınır kutusunu göster @@ -10761,13 +10088,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &İleri - - + + Repeat the backed selection Desteklenen seçimi tekrarlayın @@ -10789,13 +10116,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Tüm görünür nesneler - - + + Select visible objects in the active document Aktif dökümandaki bir nesneyi dışa çıkart @@ -10817,13 +10144,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Görünüm... - - + + Sets the display properties of the selected object Seçili nesneyi görüntüleme özelliklerini ayarlar @@ -10831,13 +10158,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Tüm nesneleri göster - - + + Show all objects in the document Belgedeki tüm nesneleri göster @@ -10845,13 +10172,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Seçimi göster - - + + Show all selected objects Tüm Seçili nesneleri göster @@ -10887,13 +10214,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Doku haritalama... - - + + Texture mapping Doku eşlemesi @@ -10929,13 +10256,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Düz Kırpma - - + + Toggles clipping plane for active view Etkin görünüm için düz kırpmayı değiştirir @@ -10943,13 +10270,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Gezinti/Düzenle moduna geç - - + + Toggle between navigation and edit mode Gezinme ve düzenleme modu arasında geçiş yap @@ -10957,13 +10284,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Tüm nesneleri değiştir - - + + Toggles visibility of all objects in the active document Etkin belgedeki tüm nesnelerin görünürlüğünü değiştirir @@ -10971,13 +10298,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Seçilebilirliği değiştir - - + + Toggles the property of the objects to get selected in the 3D-View 3D-Görünümde seçili olanları almak için nesnelerin özelliklerini değiştirir @@ -10985,13 +10312,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Görünürlüğünü Aç/Kapat - - + + Toggles visibility Görünürlüğünü Aç/Kapat @@ -11041,13 +10368,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Seçilen nesneyi daralt - - + + Collapse currently selected tree items Mevcut seçili ağaç ögelerini daralt @@ -11055,13 +10382,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Seçilen ögeyi genişlet - - + + Expand currently selected tree items Mevcut seçili ağaç ögelerini genişlet @@ -11069,13 +10396,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Tüm aşamaları seç - - + + Select all instances of the current selected object Mevcut seçilen nesnenin tüm aşamalarını seç @@ -11083,13 +10410,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions AğaçGörünümü eylemleri - - + + TreeView behavior options and actions AğaçGörünümü davranış seçenekleri ve eylemleri @@ -11153,13 +10480,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Alt - - + + Set to bottom view Alt görünüme ayarla @@ -11167,13 +10494,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Yeni görünüm oluştur - - + + Creates a new view window for the active document Etkin belge için yeni bir görünüm penceresi oluşturur @@ -11181,13 +10508,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimetrik - - + + Set to dimetric view Dimetrik görünümü ayarla @@ -11195,13 +10522,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor Örneği #1 - - + + Shows a 3D texture with manipulator Düzenleme yardımcılarıyla 3D dokuyu gösterir @@ -11209,13 +10536,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor Örneği #2 - - + + Shows spheres and drag-lights Küre ve sürükleme-ışıklarını gösterir @@ -11223,13 +10550,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor Örneği #3 - - + + Shows a animated texture Animasyonlu bir doku gösterir @@ -11237,13 +10564,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Tümünü görüntüle - - + + Fits the whole content on the screen Ekrandaki tüm içeriği uydurur @@ -11251,13 +10578,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Seçimi görüntüle - - + + Fits the selected content on the screen Ekrandaki seçili içeriği uydurur @@ -11265,13 +10592,13 @@ the current copy will be lost. StdCmdViewFront - + Front Ön - - + + Set to front view Ön görünüme geç @@ -11279,13 +10606,13 @@ the current copy will be lost. StdCmdViewHome - + Home Ana Sayfa - - + + Set to default home view Varsayılan ev görünümüne ayarla @@ -11293,13 +10620,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric İzometrik - - + + Set to isometric view İzometrik görünümü ayarla @@ -11307,13 +10634,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Kamera pozisyonunu ver - - + + Issue the camera position to the console and to a macro, to easily recall this position Tekrar kolayca çağırabilmek için Kamera pozisyonunu konsola yada bir makroya ver @@ -11321,13 +10648,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Stereo ayraç kolonlar - - + + Switch stereo viewing to Interleaved Columns Stereo görünümünden bölünmüş sütunlara geçiş yap @@ -11335,13 +10662,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Bölünmüş Stereo Satırlar - - + + Switch stereo viewing to Interleaved Rows Stereo görünümünden bölünmüş Satırlar görünümüne geçiş yap @@ -11349,13 +10676,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Stereo devre dışı - - + + Switch stereo viewing off Stereo gürünümünü kapat @@ -11363,13 +10690,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Stereo çift arabellek - - + + Switch stereo viewing to quad buffer Stereo görünümünden çift arabelleğe geçiş yapın @@ -11377,13 +10704,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Stereo Kırmızı/Yeşil - - + + Switch stereo viewing to red/cyan Stereo görünümü kırmızı/yeşil'e çevir @@ -11391,13 +10718,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Sol - - + + Set to left view Sol yan görünüme geç @@ -11405,13 +10732,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Arka - - + + Set to rear view Arka görünüme geç @@ -11433,13 +10760,13 @@ the current copy will be lost. StdCmdViewRight - + Right Sağ - - + + Set to right view Sağ yan görünüme geç @@ -11447,13 +10774,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Sola Döndür - - + + Rotate the view by 90° counter-clockwise Görünüşü saat yönü tersinde 90° döndür @@ -11461,13 +10788,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Sağa Döndür - - + + Rotate the view by 90° clockwise Görünüşü saat yönünde 90° döndür @@ -11489,13 +10816,13 @@ the current copy will be lost. StdCmdViewTop - + Top üst - - + + Set to top view Üst görünüme geç @@ -11503,13 +10830,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimetrik - - + + Set to trimetric view Trimetrik görünümü ayarla @@ -11517,13 +10844,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift FreeCAD 3D Penceresini bir Oculus Riftine uzatın @@ -11587,13 +10914,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Tam ekran - - + + Display the main window in fullscreen mode Ana pencereyi tam ekran modunda göster @@ -11629,13 +10956,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11643,13 +10970,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11657,13 +10984,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Daralt/Genişlet - - + + Expand active document and collapse all others Aktif belgeyi genişlet ve diğerlerini daralt @@ -11671,12 +10998,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Sürüklemeyi başlat - + Initiate dragging of current selected tree items Mevcut seçilen ağaç ögelerini sürüklemeyi başlat @@ -11684,13 +11011,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Çoklu belge - - + + Display all documents in the tree view Unsur ağacındaki tüm belgeleri görüntüle @@ -11698,12 +11025,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Ön seçim - + Preselect the object in 3D view when mouse over the tree item Fare ağaç ögesinin üzerine geldiğinde 3B görünümdeki nesneyi ön seç @@ -11711,12 +11038,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Seçimi kaydet - + Record selection in tree view in order to go back/forward using navigation button Gezinme düğmesini kullanarak geri/ileri gitmek için unsur ağacında seçimi kaydedin @@ -11724,13 +11051,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Seçime git - - + + Scroll to first selected item İlk seçili öğeye gidin @@ -11738,13 +11065,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Tek belge - - + + Only display the active document in the tree view Unsur ağacında, yalnız aktif belgeyi görüntüle @@ -11752,12 +11079,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Yerleşimi eşzamanla - + Auto adjust placement on drag and drop objects across coordinate systems Koordinat sistemleri boyunca, sürükle ve bırak nesneleri üzerinde yerleşimi otomatik ayarla @@ -11765,12 +11092,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Seçimi eşzamanla - + Auto expand tree item when the corresponding object is selected in 3D view İlgili nesne 3B görünümünde seçildiğinde ağaç ögesini otomatik genişlet @@ -11778,12 +11105,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Görünümü eşzamanla - + Auto switch to the 3D view containing the selected item Seçili ögeyi içeren 3B görünümüne otomatik geçiş yap @@ -11791,13 +11118,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Kutuya Yakınlaş - - + + Activate the box zoom tool Activate the box zoom tool @@ -11805,13 +11132,13 @@ the current copy will be lost. StdViewDock - + Docked Yuvalanmış - - + + Display the active view either in fullscreen, in undocked or docked mode Etkin görünüm tam ekran, birinde yerleşik olmayan ya da yerleşik modunda görüntüleme @@ -11819,13 +11146,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Belge penceresi - - + + Display the active view either in fullscreen, in undocked or docked mode Etkin görünüm tam ekran, birinde yerleşik olmayan ya da yerleşik modunda görüntüleme @@ -11833,13 +11160,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Tam ekran - - + + Display the active view either in fullscreen, in undocked or docked mode Etkin görünüm tam ekran, birinde yerleşik olmayan ya da yerleşik modunda görüntüleme @@ -11847,13 +11174,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Save image... - - + + Creates a screenshot of the active view Etkin görünümün bir görüntüsünü yakalar @@ -11861,13 +11188,13 @@ the current copy will be lost. StdViewUndock - + Undocked yuvalanmamış - - + + Display the active view either in fullscreen, in undocked or docked mode Etkin görünüm tam ekran, birinde yerleşik olmayan ya da yerleşik modunda görüntüleme @@ -11875,13 +11202,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Yakınlaştır - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11889,13 +11216,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Uzaklaştır - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11930,72 +11257,72 @@ Devam etmek istediğinize emin misiniz? Std_DrawStyle - + As is Olduğu gibi - + Normal mode Normal mod - + Points Noktalar - + Points mode Nokta Modu - + Wireframe Tel Kafes görünümü - + Wireframe mode Tel kafes modu - + Hidden line Gizli çizgi - + Hidden line mode Gizli çizgi modu - + No shading Gölgelendirme yok - + No shading mode Gölgeleme modu yok - + Shaded Gölgeli - + Shaded mode Gölgeli modu - + Flat lines Düz çizgiler - + Flat lines mode Düz çizgiler modu @@ -12057,32 +11384,32 @@ Hala ilerlemek istiyor musunuz? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12090,117 +11417,117 @@ Hala ilerlemek istiyor musunuz? Workbench - + &File &Dosya - + &Edit Düz&enle - + Edit Düzenle - + Clipboard Clipboard - + Workbench Tezgah - + Structure Yapı - + Standard views Standart görünümler - + Axonometric Aksonometrik - + &Stereo &Stereo - + &Zoom &Yaklaş - + Visibility Görünürlük - + &View &Görünüm - + &Tools Araçlar - + &Macro &Makro - + &Windows &Pencere - + &On-line help & On-line yardım - + &Help &Yardım - + Help Yardım - + File Dosya - + Macro Makro - + View Görünüm - + Special Ops Özel Ops - + Link actions Bağlantı eylemleri @@ -12208,12 +11535,12 @@ Hala ilerlemek istiyor musunuz? Gui::MDIView - + Export PDF PDF olarak dışa aktar - + PDF file PDF dosyası @@ -12221,196 +11548,190 @@ Hala ilerlemek istiyor musunuz? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Notification Area - + Settings Ayarlar - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Additional data sources - + Errors intended for developers will appear in the notification area Errors intended for developers will appear in the notification area - + Debug errors Debug errors - + Warnings intended for developers will appear in the notification area Warnings intended for developers will appear in the notification area - + Debug warnings Debug warnings - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Mevcut Çalışma Tezgahları - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches FreeCAD açıldıktan sonra hangi tezgahın etkinleştirilip gösterileceğini seçin - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12423,12 +11744,12 @@ etkinleştirilip gösterileceğini seçin 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport İşaretlendiğinde; tezgahın, görünüm alanının her sekmesi için etkin olduğunu uygulama hatırlayacak - + Remember active workbench by tab Etkin tezgahı, sekmeye göre hatırla @@ -12577,47 +11898,47 @@ etkinleştirilip gösterileceğini seçin Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Bu, geçerli başlangıç modülüdür ve otomatik olarak yüklenmesi gerekir. Değiştirmek için Tercihler/Genel/Otomatik Yükleme bölümüne bakın. - + Loaded Yüklendi - + Load Yükle - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12625,17 +11946,22 @@ etkinleştirilip gösterileceğini seçin Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Araç çubuğu - + Left corner Left corner - + Right corner Right corner @@ -12661,12 +11987,12 @@ etkinleştirilip gösterileceğini seçin Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12702,13 +12028,13 @@ etkinleştirilip gösterileceğini seçin StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image @@ -12770,10 +12096,812 @@ etkinleştirilip gösterileceğini seçin Gui::ExpLineEdit - - + + An error occurred -- see Report View for information An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + Düzenleyici + + + + Options + Seçenekler + + + + Code lines will be numbered + Kod satırları numaralandırılacak + + + + Enable line numbers + Satır numaralarını etkinleştir + + + + The cursor shape will be a block + İmleç, blok şeklinde olacak + + + + Enable block cursor + Blok imleci etkinleştir + + + + Enable folding + Katlamayı etkinleştir + + + + Indentation + Girinti + + + + Tab size: + Sekme boyutu: + + + + Tabulator raster (how many spaces) + Sekme ızgarası boşluğa göre + + + + Indent size: + Girinti boyutu: + + + + How many spaces will be inserted when pressing <Tab> + <Tab> tuşuna basıldığında ne kadar boşluk eklenecek + + + + Pressing <Tab> will insert a tabulator with defined tab size + <Tab> tuşuna bastığınızda tanımlı sekme boyutunda bir sekme durağı ekleyecek + + + + Keep tabs + Sekmeleri koru + + + + Pressing <Tab> will insert amount of defined indent size + <Tab> a basmak, tanımlı talep boyutu miktarını ekleyecek + + + + Insert spaces + Boşluk ekle + + + + Display items + Ögeleri göster + + + + Color and font settings will be applied to selected type + Renk ve yazı tipi ayarları seçilen türe uygulanacak + + + + Family: + Aile: + + + + Font family to be used for selected code type + Seçilen kod türü için kullanılacak yazı tipi ailesi + + + + Size: + Boyut: + + + + Font size to be used for selected code type + Seçilen kod türü için kullanılacak yazı tipi boyutu + + + + Color: + Renk: + + + + Preview: + Önizleme: + + + + Text + Metin + + + + Bookmark + Yer işareti + + + + Breakpoint + Kesme noktası + + + + Keyword + Anahtar kelime + + + + Comment + Yorum + + + + Block comment + Blok yorum + + + + Number + Sayı + + + + String + Dize + + + + Character + Karakter + + + + Class name + Sınıf adı + + + + Define name + Ad tanımla + + + + Operator + İşleç + + + + Python output + Python çıktısı + + + + Python error + Python hatası + + + + Current line highlight + Geçerli satırı vurgulama + + + + Items + Öğeler + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Genel + + + + Language and number format + Language and number format + + + + Language: + Language: + + + + Language of the application's user interface + Uygulamanın kullanıcı arayüzü dili + + + + Unit system: + Ölçü Birimi sistemi: + + + + Unit system that should be used for all parts of the application + Unit system that should be used for all parts of the application + + + + Number of decimals: + Ondalık basamak sayısı: + + + + Number of decimals that should be shown for numbers and dimensions + Numaralar ve boyutlar için gösterilmesi gereken ondalık sayısı + + + + Minimum fractional inch: + En küçük kesirli inç: + + + + Minimum fractional inch to be displayed + Görüntülenecek en küçük kesirli inç + + + + Number format: + Sayı biçimi: + + + + Operating system + İşletim Sistemi + + + + Selected language + Seçilen dil + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + Substitute decimal separator + Substitute decimal separator + + + + Application + Uygulama + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Araç çubuğu simgeleri Boyutu: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Araç çubuğu simge boyutu tercihinizi seçin. Bunu, ekran +boyutunuza veya kişisel zevkinize göre ayarlayabilirsiniz + + + + Tree view mode: + Unsur ağacı modu: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Panelde görüntülenen işlem ağacı görünümünü özelleştirin (yeniden başlatma gereklidir). + +'TekGörünüm': ağaç ve özellik görünümünü tek panelde birleştirin. +'AğaçGörünümü ve ÖzellikGörünümü': ağaç görünümü ve özellik görünümünü iki panele ayırın. +'Hepsi': hem birleşik hem ayrı panellerin üçü de kalsın. + + + + Size of recent file list: + Size of recent file list: + + + + How many files should be listed in recent files list + Son dosyalar listesinde kaç dosya sıralanmalı + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + Enable tiled background + Kiremitli arka plan etkinleştirmek + + + + The text cursor will be blinking + Metin imleci yanıp sönecek + + + + Enable cursor blinking + İmlecin yanıp sönmesini etkinleştir + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Karşılama ekranı, FreeCAD çalıştığında gözüken +küçük bir yükleme penceresidir. Bu özellik seçiliyse, FreeCAD +karşılama ekranını gösterecektir + + + + Enable splash screen at start up + Giriş ekranını başlangıçta etkinleştir + + + + Preference packs + Tercih paketleri + + + + Name + Isim + + + + Type + Türü + + + + Load + Yükle + + + + Import config... + Import config... + + + + Save new... + Yeni Kaydet... + + + + Manage... + Yönet... + + + + Revert... + Geri al... + + + + Manage preference packs + Tercih paketlerini yönet + + + + Small (%1px) + Küçük (%1px) + + + + Medium (%1px) + Orta (%1px) + + + + Large (%1px) + Büyük (%1px) + + + + Extra large (%1px) + Çok büyük (%1px) + + + + Custom (%1px) + Özel (%1px) + + + + Combo View + Birleşik görünüm + + + + TreeView and PropertyView + AğaçGörünümü ve ÖzellikGörünümü + + + + Both + İkisi + + + + Preference Pack Name + Tercih Paketi Adı + + + + Tags + Etiketler + + + + Apply + Uygula + + + + Apply the %1 preference pack + %1 tercih paketini uygula + + + + Choose a FreeCAD config file to import + Choose a FreeCAD config file to import + + + + File exists + Dosya mevcut + + + + A preference pack with that name already exists. Overwrite? + Aynı adlı bir tercih paketi zaten bulunuyor. Üzerine yazılsın mı? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Rapor Görünümü + + + + Output + Çıktı + + + + Normal messages will be recorded + Normal iletiler kaydedilecek + + + + Record normal messages + Normal iletileri kaydet + + + + Log messages will be recorded + Günlük mesajları kaydedilecek + + + + Record log messages + Günlük iletilerini kaydet + + + + Warnings will be recorded + Uyarılar kaydedilecek + + + + Record warnings + Uyarıları kaydet + + + + Error messages will be recorded + Hata mesajları kaydedilecek + + + + Record error messages + Hata iletilerini kaydet + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Bir hata oluştuğunda, hatayı görüntülerken Rapor Görünümü iletişim kutusu görünür hale gelir + + + + Show report view on error + Hata anında rapor görünümünü göster + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Bir uyarı oluştuğunda, uyarı görüntülenirken Rapor Görünümü iletişim kutusu ekranda görünür hale gelir + + + + Show report view on warning + Uyarı anında rapor görünümünü göster + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Normal bir mesaj oluştuğunda, mesaj görüntülenirken Rapor Görünümü iletişim kutusu ekranda görünür hale gelir + + + + Show report view on normal message + Normal iletide rapor görünümünü göster + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Bir günlük mesajı oluştuğunda, günlük mesajı görüntülenirken Rapor Görünümü iletişim kutusu ekranda görünür hale gelir + + + + Show report view on log message + Günlük iletisinde rapor görünümünü göster + + + + Include a timecode for each report + Her bir rapor için zaman kodu içer + + + + Include a timecode for each entry + Her bir girdi için zaman kodu içer + + + + Colors + Renkler + + + + Normal messages: + Normal iletiler: + + + + Font color for normal messages in Report view panel + Rapor görünümü panosunda normal mesajlar için yazı tipi rengi + + + + Log messages: + İşlem kaydı mesajları: + + + + Font color for log messages in Report view panel + Rapor görünümü panosunda günlük mesajları için yazı tipi rengi + + + + Warnings: + Uyarılar: + + + + Font color for warning messages in Report view panel + Rapor görünümü panosunda uyarı mesajları için yazı tipi rengi + + + + Errors: + Hatalar: + + + + Font color for error messages in Report view panel + Rapor görünümü panosunda hata mesajları için yazı tipi rengi + + + + Python interpreter + Python yorumlayıcı + + + + Internal Python output will be redirected +from Python console to Report view panel + İç Pyhton çıktısı, Python uçbiriminden +Rapor görünümü panosuna yönlendirilecek + + + + Redirect internal Python output to report view + Dahili python çıktısını rapor görünümüne yönlendir + + + + Internal Python error messages will be redirected +from Python console to Report view panel + İç Pyhton hata iletileri, Python uçbiriminden +Rapor görünümü panosuna yönlendirilecek + + + + Redirect internal Python errors to report view + Dahili Python hatalarını rapor görünümüne yönlendir + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Stil Sayfası + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_uk.ts b/src/Gui/Language/FreeCAD_uk.ts index d7dc7fa458..69e5539402 100644 --- a/src/Gui/Language/FreeCAD_uk.ts +++ b/src/Gui/Language/FreeCAD_uk.ts @@ -42,29 +42,29 @@ Наочний розмір функції - + <empty> <пусто> - - + + Angle Кут - - + + Axis Вісь - + Position Позиція - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Тест виводу консолі - - + + Run test cases to verify console messages Запускає тестові приклади для перевірки консольних повідомлень @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Очистити вимірювання - + Clear all visible measurements Очищує всі видимі вимірювання @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Перемкнути вимірювання - + Turn on or off the display of all measurements Вмикає або вимикає відображення всіх вимірювань @@ -132,7 +132,7 @@ Видалити - + Paste expressions Вставити вирази @@ -182,7 +182,7 @@ Додати групу - + Align Вирівнювати @@ -193,40 +193,40 @@ Розташувати - - + + Transform Перетворити - + Toggle array elements Перемикання елементів масиву - + Link Transform Перетворити посилання - + Measure distance Виміряти відстань - + Toggle visibility Перемикнути видимість - + Toggle selectability Перемикач можливостей вибору - + Edit image Редагувати зображення @@ -234,77 +234,77 @@ CommandGroup - + File Файл - + Edit Правка - + Help Довідка - + Link Посилання - + Tools Інструменти - + View Вид - + Window Вікно - + Standard Стандартний - + Macros Макроси - + Macro Макрос - + Structure Структура - + Standard-Test Стандартний-Тест - + Standard-View Стандартний-Вид - + TreeView Ієрархія - + Measure Вимірювання @@ -402,11 +402,6 @@ DownloadItem - - - Form - Форма - Ico @@ -421,42 +416,42 @@ EditMode - + Default За замовчуванням - + The object will be edited using the mode defined internally to be the most appropriate for the object type Об'єкт буде відредаговано з використанням внутрішньо визначеним режимом який найбільш відповідає типу об'єкта - + Transform Перетворити - + The object will have its placement editable with the Std TransformManip command The object will have its placement editable with the Std TransformManip command - + Cutting Переріз - + This edit mode is implemented as available but currently does not seem to be used by any object This edit mode is implemented as available but currently does not seem to be used by any object - + Color Колір - + The object will have the color of its individual faces editable with the Part FaceColors command The object will have the color of its individual faces editable with the Part FaceColors command @@ -482,7 +477,7 @@ нічого - + Press a keyboard shortcut Натисніть комбінацію клавіш @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Доступно: - + Selected: Виділено: - + Add Додати - + Remove Видалити - + Move up Перемістити вгору - + Move down Перемістити вниз @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Рухомий обʼєкт - + Fixed object Зафіксований обʼєкт @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Будь ласка, зачекайте, поки не збережеться файл автоматичного відновлення... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Натисніть ліву кнопку миші - + Press SHIFT and middle mouse button Натисніть клавішу SHIFT та середню кнопку миші - + Press middle mouse button Натисніть середню кнопку миші - + Scroll middle mouse button Прокрутіть середньою кнопкою миші @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Натисніть ліву кнопку миші - + Press middle mouse button Натисніть середню кнопку миші - + Press middle+left or middle+right button Натисніть середню+ліву або середню+праву кнопки - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Прокрутіть середню кнопку мишки або клікніть і рухайте @@ -615,12 +610,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK &Гаразд - + &Cancel &Скасувати @@ -628,7 +623,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Панель завдань @@ -712,47 +707,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Розробники - + FreeCAD would not be possible without the contributions of FreeCAD не був би можливим без внесків цих - + Individuals Header for the list of individual people in the Credits list. Персон - + Organizations Header for the list of companies/organizations in the Credits list. Організацій - - + + License Ліцензія - + Libraries Бібліотеки - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Це програмне забезпечення використовує компоненти з відкритим вихідним кодом, чиї права та інші права власності належать їх власникам: - + Collection Колекція @@ -760,22 +755,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Тека кэш-файлів - + The cache directory %1 exceeds the size of %2. Тека кешу %1 перевищує розмір %2. - + Do you want to clear it now? Бажаєте очистити її зараз? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Увага: Переконайтесь, що це єдиний запущений %1 екземпляр і що не відкрито документів, оскільки це може призвести до втрати даних! @@ -796,37 +791,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Налаштування камери - + Orientation Орієнтація - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Поточний вид @@ -892,7 +887,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Команди @@ -1117,12 +1112,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Пакет вже існує - + A preference pack with that name already exists. Do you want to overwrite it? Набір налаштувань з таким імʼям вже існує. Бажаєте перезаписати його? @@ -1357,48 +1352,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Введіть текст для пошуку... - + Icon Піктограма - + Command Команда - + Shortcut Комбінація клавіш - + Default За замовчуванням - + Name Назва - + Title Назва - + All Всі - - + + none нічого @@ -1406,8 +1401,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Панель інструментів @@ -1496,40 +1491,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Розділювач> - + %1 module not loaded Модуль %1 не завантажено - + New toolbar Нова панель інструментів - - + + Toolbar name: Назва панелі: - - + + Duplicated name Повторення назви - - + + The toolbar name '%1' is already used Назва панелі інструментів '%1' вже використовується - + Rename toolbar Перейменувати панель @@ -1542,19 +1537,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Налаштування - + &Help &Довідка - + &Close &Закрити @@ -1563,13 +1558,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Рух 3D-миші Spaceball - + No Spaceball Present 3D-миші Spaceball не виявлено @@ -1577,27 +1572,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Кнопки 3D-миші Spaceball - + No Spaceball Present 3D-миші Spaceball не виявлено - + Buttons Кнопки - + Reset Скинути - + Print Reference Друкувати посилання @@ -1682,550 +1677,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default За замовчуванням - + Aluminium Алюміній - + Brass Латунь - + Bronze Бронза - + Copper Мідь - + Chrome Хром - + Emerald Смарагд - + Gold Золото - + Jade Нефрит - + Metalized Металізований - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian Обсидіан - + Pewter Сплав олова - + Plaster Штукатурка - + Plastic Пластмаса - + Ruby Рубін - + Satin Атлас - + Shiny plastic Виблискуюча пластмаса - + Silver Срібло - + Steel Сталь - + Stone Камінь Gui::Dialog::DlgEditorSettings - - - Editor - Редактор - - - - Options - Параметри - - - - Code lines will be numbered - Рядки коду буде пронумеровано - - - - Enable line numbers - Показати нумерацію рядків - - - - The cursor shape will be a block - Форма курсору буде блоком - - - - Enable block cursor - Ввімкнути курсор у вигляді блоку - - - - Enable folding - Ввімкнути складання - - - - Indentation - Відступ - - - - Tab size: - Розмір табуляції: - - - - Tabulator raster (how many spaces) - Розмір табулятора (скільки пробілів) - - - - Indent size: - Розмір відступу: - - - - How many spaces will be inserted when pressing <Tab> - Скільки пробілів буде вставлено при натисканні на <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Натиснення <Tab> вставляє табулятор з визначеним розміром табуляції - - - - Keep tabs - Залишати табулятори - - - - Pressing <Tab> will insert amount of defined indent size - Натиснення <Tab> вставляє відступ визначеного розміру - - - - Insert spaces - Вставляти пробіли - - - - Display items - Показати елементи - - - - Color and font settings will be applied to selected type - Налаштування кольору і шрифту будуть застосовані до вибраного типу - - - - Family: - Сімейство: - - - - Font family to be used for selected code type - Сімейство шрифтів яке буде застосовуватись для обраного типу коду - - - - Size: - Розмір: - - - - Font size to be used for selected code type - Розмір шрифту який буде застосовуватись для обраного типу коду - - - - Color: - Колір: - - - - Preview: - Попередній перегляд: - Про програму - - Gui::Dialog::DlgGeneral - - - General - Загальні - - - - Language of the application's user interface - Мова інтерфейсу користувача програми - - - - Number format: - Формат цифр: - - - - Operating system - Операційна система - - - - Selected language - З налаштувань локалі - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Набори Налаштувань - - - - Name - Назва - - - - Type - Тип - - - - Load - Завантажити - - - - Import config... - Імпортувати налаштування... - - - - Save new... - Зберегти новий... - - - - Manage... - Керувати... - - - - Revert... - Відновити... - - - - How many files should be listed in recent files list - Скільки файлів має бути у списку останніх файлів - - - - Enable tiled background - Ввімкнути плитки на тлі - - - - The text cursor will be blinking - Текстовий курсор буде миготіти - - - - Enable cursor blinking - Дозволити миготіння курсору - - - - Style sheet: - Таблиця стилів: - - - - Language and number format - Мовний та числовий формат - - - - Language: - Мова: - - - - Unit system: - Система одиниць вимірювання: - - - - Unit system that should be used for all parts of the application - Система одиниць вимірювання, яку слід використовувати для всіх частин програми - - - - Number of decimals: - Кількість десяткових знаків: - - - - Number of decimals that should be shown for numbers and dimensions - Визначає кількість десяткових знаків для чисел і розмірів - - - - Minimum fractional inch: - Мінімальна частина дюйма: - - - - Minimum fractional inch to be displayed - Визначає мінімальну частину дюйма для показу - - - - Substitute decimal separator - Замінник десяткового роздільника - - - - Application - Програма - - - - Style sheet how user interface will look like - Таблиця стилів як буде виглядати користувацький інтерфейс - - - - Size of toolbar icons: - Розмір піктограм на панелі інструментів: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Оберіть ваші пераметри для розміру значка панелі інструментів. Ви можете налаштувати це -у відповідності до розміру екрану або на власний смак - - - - Tree view mode: - Режим показу ієрархії документа: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Налаштовує, як ієрархія документа буде зображатись в панелі (вимагає перезапуску). - -'Комбінований': комбінує Вид Ієрархії та Вид Властивостей в одній панелі. -'Вид Ієрархіі та Властивостей': розділення Виду Ієрархії та Виду Властивостей на окремі панелі. -'Перше та Друге': показує всі три панелі. Ви отримаєте два набори Ієрархії та Вид Властивостей. - - - - Size of recent file list: - Size of recent file list: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Заставка - це маленьке вікно завантаження, яке показується при запуску FreeCAD. -Якщо ця опція відмічена, то FreeCAD буде показувати заставку - - - - Enable splash screen at start up - Ввімкнути заставку при запуску - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Керування наборами налаштувань - - - - Small (%1px) - Малий (%1пікс) - - - - Medium (%1px) - Середній (%1пікс) - - - - Large (%1px) - Великий (%1пікс) - - - - Extra large (%1px) - Дуже великий (%1пікс) - - - - Custom (%1px) - Власний (%1пікс) - - - - Combo View - Комбінований вид - - - - TreeView and PropertyView - Вид Ієрархії та Властивостей - - - - Both - Обидві - - - - No style sheet - Таблиці стилів немає - - - - Preference Pack Name - Імʼя Набору Налаштувань - - - - Tags - Мітки - - - - Apply - Застосувати - - - - Apply the %1 preference pack - Застосувати набір налаштувань %1 - - - - Choose a FreeCAD config file to import - Choose a FreeCAD config file to import - - - - File exists - Файл вже існує - - - - A preference pack with that name already exists. Overwrite? - A preference pack with that name already exists. Overwrite? - - Gui::Dialog::DlgInputDialog @@ -2241,8 +1809,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector Інспектор сцени @@ -2334,71 +1902,71 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros Макроси - + Read-only Тільки для читання - + Macro file Файл макросу - + Enter a file name, please: Будь ласка, введіть імʼя файлу: - - - + + + Existing file Існуючий файл - + '%1'. This file already exists. '%1'. Цей файл вже існує. - + Cannot create file Не вдається створити файл - + Creation of file '%1' failed. Помилка створення файлу '%1'. - + Delete macro Видалити макрос - + Do you really want to delete the macro '%1'? Ви дійсно бажаєте видалити макрос '%1'? - + Do not show again Не показувати знову - + Guided Walkthrough Інтерактивний тур - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2409,78 +1977,78 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 Покрокова Інструкція. Діалог 1 із 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Покрокова Інструкція: Заповніть відсутні поля (опціонально) потім натисніть кнопку Додати, потім Закрити - + Walkthrough, dialog 1 of 1 Покрокова Інструкція. Діалог 1 із 1 - + Walkthrough, dialog 2 of 2 Покрокова Інструкція. Діалог 2 із 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Покрокова Інструкція: натисніть праву кнопку зі стрілкою (->), потім Закрити. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Покрокова Інструкція; Натисніть Новий, потім праву кнопку зі стрілкою (>), потім Закрити. - + Renaming Macro File Перейменування файлу макросу - - + + Enter new name: Введіть нове імʼя: - - + + '%1' already exists. '%1' вже існує. - + Rename Failed Не вдалося перейменувати - + Failed to rename to '%1'. Perhaps a file permission error? Помилка перейменування '%1'. Можливо помилка доступу до файлу? - + Duplicate Macro Створити копію макроса - + Duplicate Failed Не вдалося створити копію - + Failed to duplicate to '%1'. Perhaps a file permission error? Помилка дублювання '%1'. @@ -2523,39 +2091,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Засіб запису макросу - + Specify first a place to save. Спочатку вкажіть місце для збереження. - + The macro directory doesn't exist. Please, choose another one. Тека макросів не існує. Виберіть іншу. - + Existing macro Наявні макроси - + The macro '%1' already exists. Do you want to overwrite? Макрос '%1' вже існує. Бажаєте перезаписати? - + You have no write permission for the directory. Please, choose another one. Ви не маєте права на запис до цього каталогу. Будь ласка, оберіть інший. - + Choose macro directory Вибрати каталог макросів @@ -2628,12 +2196,12 @@ Perhaps a file permission error? Файли HTML - + Access denied Доступ заборонено - + Access denied to '%1' Specify another directory, please. @@ -3034,36 +2602,36 @@ Specify another directory, please. Файл проєкту - - + + Empty source Файл не заданий - - + + No source is defined. Файл не заданий. - - + + Empty destination Тека Призначення порожня - - + + No destination is defined. Тека призначення відсутня. - + Failed to extract project Failed to extract project - + Failed to create project Failed to create project @@ -3113,188 +2681,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Вид Звіту - - - - Output - Вивід - - - - Normal messages will be recorded - Записує звичайні повідомлення - - - - Record normal messages - Запис звичайних повідомлень - - - - Log messages will be recorded - Записує повідомлення журналу - - - - Record log messages - Запис повідомлень журналу (log) - - - - Warnings will be recorded - Записує Попередження - - - - Record warnings - Запис попереджень - - - - Error messages will be recorded - Записує повідомлення про помилки - - - - Record error messages - Запис повідомлень про помилки - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - При виникненні помилки, діалогове вікно Вид Звіту -стає видимим на екрані для показу помилки - - - - Show report view on error - Показати Вид звіту для помилок - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - При виникненні попередження, діалогове вікно Вид Звіту стає -видимим на екрані для показу попередження - - - - Show report view on warning - Показати Вид Звіту для попередження - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - При виникненні звичайного повідомлення, діалогове вікно Вид Звіту стає -видимим на екрані для показу повідомлення - - - - Show report view on normal message - Показати Вид Звіту для звичайних повідомлень - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - При виникненні повідомлення журналу, діалогове вікно Вид Звіту стає -видимим на екрані для показу повідомлення журналу - - - - Show report view on log message - Показати Вид Звіту для повідомлень журналу - - - - Include a timecode for each report - Додає мітку часу до кожного повідомлення - - - - Include a timecode for each entry - Додати мітку часу до кожного запису - - - - Colors - Кольори - - - - Normal messages: - Звичайні повідомлення: - - - - Font color for normal messages in Report view panel - Встановлює колір шрифту для звичайних повідомлень у панелі Вид Звіту - - - - Log messages: - Повідомлення журналу: - - - - Font color for log messages in Report view panel - Встановлює колір шрифту для повідомлень журналу у панелі Вид Звіту - - - - Warnings: - Попередження: - - - - Font color for warning messages in Report view panel - Встановлює колір шрифту для попереджень у панелі Вид Звіту - - - - Errors: - Помилки: - - - - Font color for error messages in Report view panel - Встановлює колір шрифту для повідомлень про помилки у панелі Вид Звіту - - - - Python interpreter - Інтерпретатор Python - - - - Internal Python output will be redirected -from Python console to Report view panel - Перенаправляє внутрішні повідомлення Python -з консолі Python на панель Вид Звіту - - - - Redirect internal Python output to report view - Перенаправити внутрішній вивод Python до Виду Звіту - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Перенаправляє внутрішні повідомлення про помилки Python -з консолі Python на панель Вид Звіту - - - - Redirect internal Python errors to report view - Перенаправити внутрішні помилки Python у Вид Звіту - Про програму @@ -3321,7 +2707,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file Нічого не виділено у діалоговому вікні, неможливо завантажити файл резервної копії @@ -3364,7 +2750,7 @@ from Python console to Report view panel Довідка - + Select a file Виберіть файл @@ -3372,69 +2758,69 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View 3D вид - + General Загальні - + Main coordinate system will always be shown in lower right corner within opened files Основна система координат буде завжди відображатись в нижньому правому кутку у відкритих файлах - + Show coordinate system in the corner Показати систему координат в кутку - + Relative size : Відносний розмір: - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Визначає розмір представлення головної системи координат у куті - у % висоти / ширини вікна перегляду - + Axis cross will be shown by default at file opening or creation Під час відкриття або створення файлу за замовчуванням буде зображено перетин осей - + Show axis cross by default Показати перетин осей за замовчуванням - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Час, потрібний для останньої операції, та кінцева частота кадрів будуть відображені в нижньому лівому кутку у відкритих файлах - + Show counter of frames per second Показати кількість кадрів в секунду - + Rendering Візуалізація - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3443,22 +2829,22 @@ Changing this option requires a restart of the application. Зміна цього параметра вимагає перезапуску програми. - + Use software OpenGL Використати "програмний" OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Використати OpenGL VBO (Vertex Buffer Object) - + Render cache Кеш рендера - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3481,7 +2867,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3498,92 +2884,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Автоматично - + Distributed Розподілений - + Centralized Централізований - + Anti-Aliasing Згладжування - + What kind of multisample anti-aliasing is used Який тип багато вибіркове згладжування використано - + None Немає - + Line Smoothing Згладжування ліній - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Обчислення прозорості об'єктів: - + Render types of transparent objects Визначає тип візуалізації прозорих обʼєктів - + One pass Один прохід - + Backface pass Тіньовий прохід - + Marker size: Розмір маркера: - - Size of vertices in the Sketcher workbench - Визначає розмір вершин в Редакторі ескізів + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Відстань між очима для стереорежимів - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3592,48 +2978,48 @@ bounding box size of the 3D object that is currently displayed. граничного поля 3D-обʼєкта, який зараз показується. - + Backlight is enabled with the defined color Підсвічування увімкнено із вказаним кольором - - + + Backlight color Колір підсвічування - + Intensity Інтенсивність - + Intensity of the backlight Інтенсивність підсвітки - + Camera type Тип камери - + Objects will appear in a perspective projection Встановлює перспективу проєкцію для показу обʼєктів - + Perspective renderin&g Пе&рспективна проєкція - + Objects will be projected in orthographic projection Встановлює ортографічну проєкцію для показу обʼєктів - + Or&thographic rendering Ор&тогональна проєкція @@ -3645,42 +3031,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5пікс - + 7px 7пікс - + 9px 9пікс - + 11px 11пікс - + 13px 13пікс - + 15px 15пікс - + Anti-aliasing Згладжування - + Open a new viewer or restart %1 to apply anti-aliasing changes. Відкрити новий переглядач або перезапустити %1 для застосування змін згладжування. @@ -3688,77 +3074,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Кеш - + Cache directory Тека кэш-файлів - + Location: Розташування: - + Check periodically at program start: Періодична перевірка при запуску програми: - + Always Завжди - + Daily Щоденно - + Weekly Щотиждня - + Monthly Щомісяця - + Yearly Щорічно - + Never Ні (Не питати більше) - + Cache size limit: Обмеження розміру кешу: - + Check now... Перевірка... - + Notify the user if the cache size exceeds the specified limit Сповіщає користувача, якщо розмір кешу перевищив зазначений ліміт - + Unknown Невідомо - + Current cache size: %1 Поточний розмір кешу: %1 @@ -3919,12 +3305,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter Неправильний параметр - + The maximum value must be higher than the minimum value. Максимальне значення має бути вище, ніж мінімальне значення. @@ -3932,182 +3318,182 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Документ - + General Загальні - + The application will create a new document when started Буде створено новий документ після запуску програми - + Create new document at start up Створити новий документ при запуску - + Document save compression level (0 = none, 9 = highest, 3 = default) Рівень стиснення документу (0 = немає, 9 = високий, 3 = за замовчуванням) - + Compression level for FCStd files Встановлює рівень стиснення для файлів FCStd - + All changes in documents are stored so that they can be undone/redone Всі зміни в документах зберігаються таким чином, щоб їх можна було Скасувати/Повторити - + Using Undo/Redo on documents Використати режим Скасувати/Повторити у документах - + Maximum Undo/Redo steps Максимальна кількість кроків Скасувати/Повторити - + How many Undo/Redo steps should be recorded Визначає кількість дій Скасувати/Повторити - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Дозволяє користувачу зупинити переобчислення документа натисканням ESC. Це може призвести до збільшення часу переобчислення. - + Allow aborting recomputation Дозволити зупинку переобчислення - + Storage Сховище - + Saving transactions (Auto-save) Збереження операцій (Автозбереження) - + Discard saved transaction after saving document Очищати збережені операції після збереження документа - + If there is a recovery file available the application will automatically run a file recovery when it is started. Якщо доступний файл відновлення, то програма автоматично запустить його відновлення після запуску. - + Run AutoRecovery at startup Запускати автовідновлення при завантаженні - + How often a recovery file is written Частота запису файлу відновлення - + Save AutoRecovery information every Зберігати інформацію для автовідновлення кожні - + A thumbnail will be stored when document is saved Мініатюра буде зберігатися під час збереження документу - + Save thumbnail into project file when saving document Зберігати мініатюру у файл проєкту при збереженні документа - + Size Розмір - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Встановлює розмір мініатюри, що зберігається у документі. Звичайні розміри 128, 256 і 512 - + The program logo will be added to the thumbnail Логотип програми буде додано до мініатюри - + Add the program logo to the generated thumbnail Додати логотип програми до згенерованої мініатюри - + How many backup files will be kept when saving document Визначає кількість резервних копій при збереженні документа - + Maximum number of backup files to keep when resaving document Максимальна кількість файлів резервних копій, що зберігаються при збереженні документа - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Файли резервних копій отримають розширення '.FCbak' і суфікс з датою відповідно до вказаного формату - + Use date and FCBak extension Використати дату та FCBak розширення - + Date format Формат дати - + Document objects Обʼєкти документу - + Allow objects to have same label Allow objects to have same label - + Allow duplicate object labels in one document Дозволити дублювання міток обʼєктів в одному документі - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4117,22 +3503,22 @@ icon in the tree view to fully reload it. При відкритті основного документу автоматично завантажятся обʼєкти повʼязаного документа з посиланнями та їх залежності. Частково завантажений документ не можна редагувати. Двічі клацніть документ у ієрархіїї документа, щоб повністю перезавантажити його. - + Disable partial loading of external linked objects Вимкнути часткове завантаження зовнішніх повʼязаних обʼєктів - + Authoring and License Авторство та ліцензії - + Author name Імʼя автора - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4141,32 +3527,32 @@ You can also use the form: John Doe <john@doe.com> Також можна використати цю форму: Джон До <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file Під час збереження файлу поле 'Востаннє модифіковано' буде заповнене зазначеним автором - + Set on save Встановити при збереженні - + Company Назва компанії - + Default company name to use for new files Назва Компанії за замовчуванням для нових файлів - + Default license Ліцензія за замовчуванням - + Default license for new documents Типова Ліцензія для нових документів @@ -4236,12 +3622,12 @@ You can also use the form: John Doe <john@doe.com> Інші - + License URL URL ліцензії - + URL describing more about the license URL, що описує більше про ліцензію @@ -4249,104 +3635,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. Формат дати, яка використовується. - + Default За замовчуванням - + Format Формат - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Текст - - - - Bookmark - Закладка - - - - Breakpoint - Точка зупинки - - - - Keyword - Ключове слово - - - - Comment - Коментар - - - - Block comment - Блок коментаря - - - - Number - Число - - - - String - Рядок - - - - Character - Символ - - - - Class name - Назва класу - - - - Define name - Вказати назву - - - - Operator - Оператор - - - - Python output - Вивід Python - - - - Python error - Помилка Python - - - - Current line highlight - Підсвітка поточної лінії - - - - Items - Елементи - - Gui::Dialog::DlgSettingsImage @@ -4527,122 +3830,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro Макрос - + General macro settings Загальні параметри макросів - + Variables defined by macros are created as local variables Створює змінні, визначені у макросі як локальні - + Run macros in local environment Запускати макроси у локальному середовищі - + Macro recording settings Налаштування запису макросів - + Macro path Шлях до макросу - + The directory in which the application will search for macros Тека, в якій програма буде шукати макрос - + Gui commands Команди GUI - + Recorded macros will also contain user interface commands Додає до записаних макросів команди інтерфейсу користувача - + Record GUI commands Запис команд GUI - + Recorded macros will also contain user interface commands as comments Додає до записаних макросів команди інтерфейсу користувача, записані як коментарі - + Record as comment Записати як коментар - + Logging Commands Ведення журналу команд - + Commands executed by macro scripts are shown in Python console Команди, виконані скриптами макросів, показує в консолі Python - + Show script commands in python console Показати команди скриптів в консолі Python - + Log all commands issued by menus to file: Реєстрація всіх команд (викликаних з допомогою меню) у файл: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Меню останніх макросів - + Size of recent macro list Розмір списку останніх макросів - + How many macros should be listed in recent macros list Встановлює кількість макросів в списку недавніх макросів - + Keyboard shortcut count Кількість комбінацій клавіш - + How many recent macros should have shortcuts Встановлює кількість останніх макросів з ярликами - + Keyboard Modifiers Модифікатори клавіатури - + Keyboard modifiers, default = Ctrl+Shift+ Встановлює модифікатор клавіатури, за замовчуванням = Ctrl+Shift+ @@ -4650,130 +3953,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Навігація - + Navigation cube Куб навігації - + Steps by turn Кількість кроків для повного обертання - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Кількість кроків для повного обертання при повороті стрілками (типово = 8: кут кроку = 360/8 = 45 deg) - + Corner Кут - + Corner where navigation cube is shown Визначає кут екрану з навігаційним кубом - + Top left Вгорі ліворуч - + Top right Вгорі праворуч - + Bottom left Знизу ліворуч - + Bottom right Знизу праворуч - + Rotates to nearest possible state when clicking a cube face Повертає до найближчого можливого стану при натисканні на грань куба - + Rotate to nearest Повертати до найближчого - + Font name: Назва шрифту: - + Font name of the navigation cube Font name of the navigation cube - + Default За замовчуванням - + Cube size Розмір куба - + Size of the navigation cube Визначає розмір навігаційного куба - + Color Колір - + Base color for all elements Базовий колір для всіх елементів - + 3D Navigation 3D Навігація - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Перелік налаштувань кнопок миші для кожного обраного параметра навігації. Виберіть набір, а потім натисніть кнопку для перегляду конфігурацій. - + Mouse... Мишка... - + Navigation settings set Набір налаштувань навігації - + Orbit style Стиль орбіти - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4784,116 +4087,116 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable Поворотна - + Trackball Трекбол - + Free Turntable Free Turntable - + Rotation mode Режим обертання - + Rotations in 3D will use current cursor position as center for rotation Обертання в 3D буде використовувати поточне положення курсору як центр обертання - + Window center Центр вікна - + Drag at cursor Перетягування під курсором - + Object center Центр обʼєкта - + Default camera orientation Типова орієнтація камери - + Default camera orientation when creating a new document or selecting the home view Визначає типову орієнтацію камери під час створення нового документа або вибору стандартного виду - + Camera zoom Масштабування камери - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Встановлює масштабування камери для нових документів. Значення це діаметр сфери, яка поміститься на екрані. - + mm мм - + Enable animated rotations Ввімкнути анімовані обертання - + Enable animation Ввімкнути анімацію - + Zoom operations will be performed at position of mouse pointer Операції масштабування буде виконано на позиції вказівника миші - + Zoom at cursor Масштабування над курсором - + Zoom step Крок масштабування - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. Визначає коефіцієнт збільшення. Крок масштабування '1' дорівнює коефіцієнту збільшення 7,5. - + Direction of zoom operations will be inverted Напрямок масштабування операцій буде інвертований - + Invert zoom Інвертувати масштабування - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4902,57 +4205,67 @@ Mouse tilting is not disabled by this setting. Нахил миші не вимикається цим параметром. - + Disable touchscreen tilt gesture Вимкнути реакцію на нахил екрану - + + Show the rotation center when dragging. + Показувати центр обертання при перетягуванні. + + + + Enable rotation center indication + Увімкнути індикацію центру обертання + + + Isometric Ізометричний - + Dimetric Диметрія - + Trimetric Триметрія - + Top Згори - + Front Фронтальний - + Left Ліворуч - + Right Направо - + Rear Ззаду - + Bottom Знизу - + Custom Підлаштувати @@ -4960,44 +4273,44 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Консоль Python - + Settings Параметри - + Words will be wrapped when they exceed available horizontal space in Python console Слова будуть перенесені при перевищенні максимального розміру строки в консолі Python - + Enable word wrap Ввімкнути перенесення слів - + The cursor shape will be a block Форма курсору буде блоком - + Enable block cursor Ввімкнути курсор у вигляді блоку - + Saves Python history across sessions Зберігати історію Python між сесіями - + Save history Зберегти історію @@ -5005,17 +4318,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Виділення - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Радіус виділення (пікс): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5024,27 +4357,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Автопереключення до 3D-виду, що містить виділений елемент - + Auto expand tree item when the corresponding object is selected in 3D view Автоматично відкриває елемент в ієрархії при виділенні відповідного обʼєкта в 3D-виді - + Preselect the object in 3D view when mouse over the tree item Підсвічує обʼєкт в 3D-виді при наведенні мишки на елемент в ієрархії - + Record selection in tree view in order to go back/forward using navigation button Записати виділення в ієрархії до історії команд для повернення назад/вперед за допомогою кнопки навігації - + Add checkboxes for selection in document tree Додати чекбокси для виділення в ієрархії документів @@ -5052,147 +4385,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Кольори - - Selection - Виділення - - - - Enable preselection and highlight by specified color - Вмикає попереднє виділення та підсвічування вказаним кольором - - - - Enable preselection highlighting - Ввімкнути підсвічування попереднього виділення - - - - Enable selection highlighting and use specified color - Вмикає підсвічування виділення та використовує вказаний колір - - - - Enable selection highlighting - Ввімкнути підсвічування виділеного - - - + Background color for the model view Колір тла моделі - + Background color Колір фону - - + + Background will have selected color Встановлює обраний колір для тла - + Simple color Прості кольори - - + + Background will have selected color gradient Тло буде мати градієнт виділеного кольору - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Top: - - + + Middle: Middle: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch Переключити - + Color gradient will get selected color as middle color Градієнт кольору використовує виділений колір як середній - + Middle color Середній колір - - + + Bottom: Bottom: - + Tree view Ієрархія документа - + Object being edited Обʼєкт редагувався - + Background color for objects in tree view that are currently edited Колір тла для обʼєктів в ієрархії документа під час редагування - + Active container Активний контейнер - + Background color for active containers in tree view Колір тла для активних контейнерів ієрархії документа - + Central: Central: - + Midway: Midway: - + End: End: @@ -5304,12 +4612,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: невідома одиниця вимірювання: - + unit mismatch невідповідність одиниць вимірювання @@ -5317,7 +4625,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement Розташувати @@ -5369,60 +4677,60 @@ The 'Status' column shows whether the document could be recovered. Ще не відновлений - + Unknown problem occurred Сталася невідома помилка - - + + Failed to recover Не вдалося відновити - + Successfully recovered Успішно відновлений - + Finish Завершити - - + + Delete Видалити - - + + Cleanup Очищення - + Are you sure you want to delete the selected transient directories? Ви дійсно бажаєте видалити вибрані тимчасові каталоги? - + When deleting the selected transient directory you won't be able to recover any files afterwards. При видаленні виділених тимчасових тек, ви не зможете відновити після цього будь-які файли. - + Are you sure you want to delete all transient directories? Ви дійсно бажаєте видалити всі тимчасові каталоги? - + When deleting all transient directories you won't be able to recover any files afterwards. При видаленні всіх тимчасових тек, ви не зможете відновити після цього будь-які файли. - + Transient directories deleted. Тимчасові каталоги видалені. @@ -5546,7 +4854,7 @@ The 'Status' column shows whether the document could be recovered. Теки з піктограмами - + Add icon folder Додати теку з піктограмами @@ -5559,12 +4867,12 @@ The 'Status' column shows whether the document could be recovered. Додати або видалити теку піктограм користувача - + Remove folder Видалити теку - + Removing a folder only takes effect after an application restart. Видалення теки відбудеться лише після перезапуску програми. @@ -5634,79 +4942,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand Розгорнути - + Add sub-group Додати підгрупу - - + + Remove group Видалити групу - + Rename group Перейменувати групу - + Export parameter Параметри експорту - + Import parameter Параметр імпорту - + Collapse Згорнути - + Do you really want to remove this parameter group? Ви дійсно хочете видалити цю групу параметрів? - + Existing sub-group Існуючі підгрупи - + The sub-group '%1' already exists. Підгрупа '%1' вже існує. - + Export parameter to file Експорт параметрів до файлу - + Import parameter from file Імпорт параметрів з файлу - + Import Error Помилка імпорту - + Reading from '%1' failed. Не вдалося прочитати з '%1'. @@ -5714,65 +5022,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value Змінити значення - + Remove key Видалити ключ - + Rename key Перейменувати ключ - + New Новий - + New string item Новий рядок елементу - + New float item Новий дійсний елемент - + New integer item Новий елемент, ціле число - + New unsigned item Новий непідписаний елемент - + New Boolean item Новий логічний елемент - - - - - + + + + + Existing item Існуючий елемент - - - - - + + + + + The item '%1' already exists. Елемент '%1' вже існує. @@ -5918,17 +5226,17 @@ The 'Status' column shows whether the document could be recovered. Застосувати - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Будь ласка, виберіть 1, 2 або 3 точки перед натисканням на цю кнопку. Точка може бути на вершині, грані або на ребрі. Якщо вибрати на грані або на ребрі, то обраною буде точка найближча до курсора, що належить грані або ребру. Якщо вибрано 1 точку, вона буде використовуватися як центр обертання. При виборі двох точок, центром обертання буде середина між ними, а також при потребі буде додано нову вісь обертання. При виборі 3 точок, перша точка стає центром обертання і лежить на векторі, що буде нормаллю до площини утвореної трьома вибраними точками. У додатвовій інформації також надаються дані про відстань та кут. Це може бути корисним для вирівнювання обʼєктів. Для вашої зручності при кліку з натисненим Shift відповідна відстань або кут буде скопійовано в буфер обміну. - + Incorrect quantity Неправильна кількість - + There are input fields with incorrect input, please ensure valid placement values! Поля заповнені некоректними величинами, переконайтесь, що вводите правильні значення! @@ -5936,12 +5244,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button Кнопка - + Command Команда @@ -6005,17 +5313,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree Дерево конструктора - + Name Назва - + Nodes Вузли @@ -6071,14 +5379,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel Скасувати - - + + Transform Перетворити @@ -6176,13 +5484,13 @@ originally selected prior to opening this dialog - + Model Модель - + Tasks Завдання @@ -6190,7 +5498,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Перегляд властивостей @@ -6198,82 +5506,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Параметри - + Display message types Показати типи повідомлень - - + + Normal messages Звичайні повідомлення - - + + Log messages Журнал повідомлень - - + + Warnings Застереження - - + + Errors Помилки - - + + Critical messages Critical messages - + Show Report view on Show Report view on - + Redirect Python output Перенаправити вивід Python - + Redirect Python errors Перенаправити помилки Python - + Go to end Перейти в кінець - + Clear Очистити - + Save As... Зберегти як... - + Save Report Output Зберегти звіт - + Plain Text Files Текстові файли @@ -6282,13 +5590,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Вивід - + Python console Консоль Python @@ -6326,72 +5634,72 @@ originally selected prior to opening this dialog Список вибраних обʼєктів - + Select only Тільки виділити - + Selects only this object Виділіть лише цей обʼєкт - + Deselect Зняти виділення - + Deselects this object Зніміть виділення з цього обʼєкта - + Zoom fit Повністю вмістити у вікно перегляду - + Selects and fits this object in the 3D window Виділити та повністю вмістити обʼєкт у 3D-вікні - + Go to selection Перейти до вибраного - + Selects and locates this object in the tree view Виділити обʼєкт та знайти його у ієрархії документа - + Mark to recompute Помітити для переобчислення - + Mark this object to be recomputed Позначити цей обʼєкт для переобчислення - + To python console На консоль python - + Reveals this object and its subelements in the python console. Показати цей обʼєкт і його піделементи в консолі Python. - + Duplicate subshape Дублювання під-форми - + Creates a standalone copy of this subshape in the document Створює автономну копію цієї під-форми в документі @@ -6404,7 +5712,7 @@ originally selected prior to opening this dialog Програма - + Labels & Attributes Мітки та Атрибути @@ -6453,27 +5761,27 @@ Do you want to save your changes? PDF-файл - + untitled[*] без імені [*] - + - Editor - Редактор - + %1 chars removed %1 символів видалено - + %1 chars added %1 символів додано - + Formatted Форматований @@ -6497,13 +5805,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Виберіть файл - + Select a directory Виберіть теку @@ -6511,13 +5819,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Зберегти як - - + + Open Відкрити @@ -6525,12 +5833,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Розширений - + All files (*.*) Усі файли (*.*) @@ -6538,27 +5846,27 @@ Do you want to save your changes? Gui::Flag - + Top left Вгорі ліворуч - + Bottom left Знизу ліворуч - + Top right Вгорі праворуч - + Bottom right Знизу праворуч - + Remove Видалити @@ -6566,22 +5874,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Торкніться або клацніть лівою кнопкою миші. - + Drag screen with two fingers OR press right mouse button. Перетягніть екран двома пальцями або натисніть праву кнопку миші. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Перетягніть екран одним пальцем або натисніть ліву кнопку миші. У режимі Ескіз та в інших режимах, додатково утримуйте кнопку Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pinch (помістіть два пальці на екран і перетягніть їх у сторони || у напрямку один до одного) АБО прокрутіть середню кнопку миші АБО PgUp/PgDown на клавіатурі. @@ -6589,74 +5897,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found Graphviz не знайдено - + Graphviz couldn't be found on your system. Пакет Graphviz не знайдено у вашій системі. - + Read more about it here. Дізнайтеся більше про це тут. - + Do you want to specify its installation path if it's already installed? Бажаєте вказати шлях до його інсталяції, якщо його вже інстальовано? - + Graphviz installation path Шлях до встановленного Graphviz - + Graphviz failed Помилка Graphviz - + Graphviz failed to create an image file Помилка Graphviz при створенні файла зображення - + PNG format Формат PNG - + Bitmap format Формат Bitmap - + GIF format Формат GIF - + JPG format Формат JPG - + SVG format Формат SVG - - + + PDF format Формат PDF - - + + Export graph Експортувати діаграму @@ -6664,12 +5972,12 @@ Do you want to save your changes? Gui::InputField - + Edit Правка - + Save value Зберегти значення @@ -6677,22 +5985,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Натисніть CTRL та ліву кнопку миші - + Press middle mouse button Натисніть середню кнопку миші - + Press left mouse button Натисніть ліву кнопку миші - + Scroll middle mouse button Прокрутіть середньою кнопкою миші @@ -6700,7 +6008,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Список @@ -6708,66 +6016,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Визначено користувачем... - + - - + + Wrong direction Неправильний напрямок - + - - + + Direction must not be the null vector Напрям не може мати нульовий вектор @@ -6775,22 +6083,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Напрям: @@ -6798,17 +6106,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Макроси - + Macro file doesn't exist Файл макросу не існує - + No such macro file: '%1' Немає такого макросу: '%1' @@ -6816,63 +6124,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Розмірність - + Ready Готово - + Help addon needed! Потрібен Додаток Допомога! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager Система Допомоги %1 тепер обробляється додатком "Допомога". Її можна легко встановити через Менеджер доповнень - + Open Addon Manager Відкрити менеджер додатків - + Close All Закрити все - - + + Toggles this toolbar Переключення цієї панелі - - + + Toggles this dockable window Переключення цього закріплюваного вікна - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document Незбережений документ - + The exported object contains external link. Please save the documentat least once before exporting. Експортований обʼєкт містить зовнішні посилання. Збережіть документ хоча б раз перед експортом. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Щоб привʼязати зовнішні обʼєкти, документ повинен бути збережений хоча б один раз. @@ -6882,121 +6200,121 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment Вирівнювання вручну - + The alignment is already in progress. Вирівнювання вже виконується. - + Alignment[*] Вирівнювання[*] - + Please, select at least one point in the left and the right view Будь ласка, вкажіть не менше однієї точки на лівому та правому поданнях - + Please, select at least %1 points in the left and the right view Виберіть принаймні %1 точок на лівому та правому видах - + Please pick points in the left and right view Виберіть точку на лівому та правому виді - + The alignment has finished Вирівнювання завершено - + The alignment has been canceled Вирівнювання скасовано - - + + Too few points picked in the left view. At least %1 points are needed. Занадто мало точок вибрано на лівому виді. Необхідно вибрати принаймні %1 точок. - - + + Too few points picked in the right view. At least %1 points are needed. Занадто мало точок вибрано на правому виді. Необхідно вибрати принаймні %1 точок. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Вибрана різна кількість точок на лівому та правому видах. На лівому виді вибрано %1 точок, на правому виді вибрано %2 точок. - + Try to align group of views Вирівняти групу виглядів - + The alignment failed. How do you want to proceed? Не вдалося виконати вирівнювання. Як ви бажаєте продовжувати? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. Обрана різна кількість точок на лівому та правому видах. На лівому виді обрано %1 точок, на правому виді - %2 точок. - + Point_%1 Point_%1 - + Point picked at (%1,%2,%3) Обрані точки при (%1, %2 %3) - + No point was found on model Не знайдено точки на моделі - + No point was picked Жодної точки не вибрано - + &Align &Align - + &Remove last point &Remove last point - + &Cancel &Скасувати - + &Synchronize views &Synchronize views @@ -7004,22 +6322,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Торкніться або клацніть лівою кнопкою миші. - + Drag screen with two fingers OR press ALT + middle mouse button. Перетягніть екран двома пальцями, або натисніть Alt + середню клавішу миші. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Перетягніть екран одним пальцем, або натисніть Alt + ліву клавішу миші. В ескізі і інших режимах редагування, утримуючи Alt додатково. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pinch (помістіть два пальці на екран і перетягніть їх один від одного або назустріч один одному) АБО прокрутіть середню кнопку миші АБО натисніть ALT + праву кнопку миші АБО PgUp/PgDown на клавіатурі. @@ -7027,7 +6345,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Натисніть клавіші модифікаторів @@ -7043,22 +6361,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Натисніть ліву кнопку миші - + Press CTRL and middle mouse button Натисніть клавішу Ctrl та середню кнопку миші - + Press CTRL and right mouse button Натисніть клавішу Ctrl та праву кнопку миші - + Press CTRL and left mouse button Натисніть CTRL та ліву кнопку миші @@ -7066,22 +6384,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Натисніть ліву кнопку миші - + Press right mouse button and move mouse Натисніть праву кнопку миші та перемістіть курсор миші - + Press left mouse button and move mouse Натисніть ліву кнопку миші та перемістіть курсор миші - + Press middle mouse button or SHIFT and right mouse button Натисніть середню кнопку миші або кнопку SHIFT та праву кнопку миші @@ -7089,17 +6407,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Правка - + Save value Зберегти значення - + Clear list Очистити список @@ -7130,12 +6448,12 @@ How do you want to proceed? Залишилося:%1 - + Aborting Переривання - + Do you really want to abort the operation? Ви дійсно бажаєте перервати операцію? @@ -7143,7 +6461,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Заміна звʼязаного обʼєкта @@ -7151,12 +6469,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Помилка - + Object not found Обʼєкт не знайдено @@ -7227,13 +6545,13 @@ How do you want to proceed? Gui::PropertyView - + View Вид - + Data Дані @@ -7281,77 +6599,77 @@ Do you want to exit without saving your data? Необроблений невідомий виняток C++. - + &Copy &Копіювати - + &Copy command &Копіювати команду - + &Copy history &Копіювати історію - + Save history as... Зберегти історію як... - + Save history Зберегти історію - + Saves Python history across %1 sessions Зберігає історію Python з %1 сесій - + &Paste &Вставити - + Select All Вибрати все - + Clear console Очистити консоль - + Insert file name... Введіть імʼя файлу... - + Word wrap Перенесення слів - + Save History Зберегти історію - + Macro Files Файли макросів - + Insert file name Введіть імʼя файлу - + All Files Всі файли @@ -7359,7 +6677,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Коментар @@ -7372,17 +6690,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Відкрити файл %1 - + File not found Файл не знайдено - + The file '%1' cannot be opened. Файл '%1' не вдалося відкрити. @@ -7390,22 +6708,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none нічого - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Комбінація клавіш: %2 для виконання макросу %1 (Shift + клац для редагування) - + File not found Файл не знайдено - + The file '%1' cannot be opened. Файл '%1' не вдалося відкрити. @@ -7413,22 +6731,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Натисніть ліву кнопку миші - + Press middle mouse button Натисніть середню кнопку миші - + Press SHIFT and middle mouse button Натисніть клавішу SHIFT та середню кнопку миші - + Scroll middle mouse button Прокрутіть середньою кнопкою миші @@ -7459,17 +6777,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Виберіть модуль - + Open %1 as Відкрити %1 як - + Select Вибрати @@ -7538,13 +6856,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Автоматичне документування модуля python - - + + Opens a browser to show the Python modules documentation Відкриває вебпереглядач для показу документації Python модулів @@ -7697,38 +7015,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Текст оновлено - + The text of the underlying object has changed. Discard changes and reload the text from the object? Текст основного обʼєкта змінився. Відхилити зміни та перезавантажити текст з обʼєкта? - + Yes, reload. Так, перезавантажити. - + Unsaved document Незбережений документ - + Do you want to save your changes before closing? Бажаєте зберегти ваші зміни перед закриттям? - + If you don't save, your changes will be lost. Якщо ви не збережете, зміни будуть втрачено. - - + + Edit text Редагувати текст @@ -7736,22 +7054,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Натисніть ліву кнопку миші - + Press middle mouse button Натисніть середню кнопку миші - + Press right mouse button Натисніть праву кнопку миші - + Scroll middle mouse button Прокрутіть середньою кнопкою миші @@ -7759,22 +7077,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Натисніть ліву кнопку миші - + Press SHIFT button Натисніть клавішу SHIFT - + Press ALT button Натисніть клавішу ALT - + Press CTRL and SHIFT buttons Одночасно натисніть кнопки CTRL і SHIFT @@ -8000,7 +7318,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Ієрархія документа @@ -8008,7 +7326,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Пошук @@ -8016,183 +7334,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Шукати... - + Search for objects Пошук обʼєктів - + Activate document Активувати документ - + Activate document %1 Активувати документ %1 - + Tree settings Tree settings - + Show description column Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - + Group Група - + Labels & Attributes Мітки та Атрибути - + Description Опис - + Show items hidden in tree view Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view Toggles the visibility of selected items in the tree view - + Create group... Створити групу... - + Create a group Створити групу - - + + Rename Перейменувати - + Rename object Перейменувати обʼєкт - + Finish editing Завершити редагування - + Finish editing object Завершити редагування обʼєкту - + Add dependent objects to selection Додати залежні обʼєкти до виділення - + Adds all dependent objects to the selection Додає всі залежні обʼєкти до виділеного - + Close document Закрити документ - + Close the document Закрити цей документ - + Reload document Перезавантажити документ - + Reload a partially loaded document Перезавантажити частково завантажений документ - + Skip recomputes Пропустити перерахунки - + Enable or disable recomputations of document Ввімкнути або вимкнути перерахунки документа - + Allow partial recomputes Дозволити часткові переобчислення - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Ввімкнути або вимкнути переобчислення обʼєктів, коли 'пропустити переобчислення' активовано - + Mark to recompute Помітити для переобчислення - + Mark this object to be recomputed Позначити цей обʼєкт для переобчислення - + Recompute object Переобчислити обʼєкт - + Recompute the selected object Переобчислити виділений обʼєкт - + (but must be executed) (але має бути виконано) - + %1, Internal name: %2 %1, внутрішнє імʼя: %2 @@ -8223,12 +7541,12 @@ Do you want to specify another directory? PDF-файл - + Opening file failed Відкриття файлу не вдалося - + Can't open file '%1' for writing. Не вдалося відкрити файл '%1' для запису. @@ -8236,7 +7554,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Оберіть робоче середовище '%1' @@ -8244,37 +7562,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Сервіси - + Hide %1 Приховати %1 - + Hide Others Приховати інші - + Show All Показати усе - + Preferences... Вподобання... - + Quit %1 Вихід %1 - + About %1 Про %1 @@ -8294,11 +7612,6 @@ Do you want to specify another directory? Position - - - Form - Форма - X: @@ -8393,14 +7706,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input Некоректний ввід - - + + Input in line %1 is not a number Введене у рядку %1 значення не є числом @@ -8408,37 +7721,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Ієрархія документа - + Property view Вид Властивості - + Selection view Вид Виділення - + Combo View Комбінований вид - + DAG View Вид DAG - + Report view Вид Звіту - + Python console Консоль Python @@ -8451,31 +7764,32 @@ Do you want to specify another directory? QObject - - + + General Загальні - - + + + Display Показ - + Workbenches Робочі середовища - - - + + + Python Python @@ -8503,17 +7817,27 @@ Do you want to specify another directory? Не вдається зберегти в невідомий тип файлу: %1 - + Workbench failure Помилка робочого середовища - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Виняток @@ -8559,8 +7883,8 @@ Do you want to specify another directory? Експорт в PDF ... - + Unsaved document Незбережений документ @@ -8581,39 +7905,39 @@ Do you want to specify another directory? Помилка залежності - + Copy selected Копіювати вибране - + Copy active document Копіювати активний документ - + Copy all documents Копіювати всі документи - + Paste Paste - + Expression error Помилка виразу - + Failed to parse some of the expressions. Please check the Report View for more details. Не вдалося обробити деякі з виразів. Будь ласка перевірте Звіт для отримання більш докладної інформації. - + Failed to paste expressions Не вдалося вставити вирази @@ -8649,225 +7973,225 @@ Be aware the point where you click matters. що має значення місце, де ви робите вибір. - - + + Save views... Зберегти вид... - - + + Load views... Завантажити вид... - - + + Freeze view Зафіксувати вид - - + + Clear views Очистити види - - - + + + Restore view &%1 Відновити вид &%1 - + Save frozen views Зберегти заморожені види - - + + Frozen views Заморожені перегляди - - + + Restore views Відновити види - + Importing the restored views would clear the already stored views. Do you want to continue? При імпорті видів очиститься поточний вид. Бажаєте продовжити? - + Restore frozen views Відновити заморожені види - + Cannot open file '%1'. Не вдалося відкрити файл '%1'. - + files Файли - + Save image Зберегти зображення - + Choose an image file to open Оберіть файл зображення для відкриття - + New sub-group Нова підгрупа - - - - - - + + + + + + Enter the name: Введіть назву: - - + + New text item Новий текстовий елемент - - + + Enter your text: Введіть текст: - - + + New integer item Новий елемент, ціле число - - - - - - + + + + + + Enter your number: Введіть номер: - - + + New unsigned item Новий непідписаний елемент - - + + New float item Новий дійсний елемент - + New Boolean item Новий логічний елемент - - + + Choose an item: Виберіть елемент: - + New boolean item Новий логічний елемент - + Rename group Перейменувати групу - + The group '%1' cannot be renamed. Не можна перейменувати групу '%1'. - + Existing group Існуюча група - + The group '%1' already exists. Група '%1' вже існує. - - - - - + + + + + Change value Змінити значення - + Type Тип - + Notifier Сповіщення - + Message Повідомлення - + Notifier: Сповіщення: - + Do you want to skip confirmation of further critical message notifications while loading the file? Ви хочете пропустити підтвердження подальших критичних повідомлень під час завантаження файлу? - + Critical Message Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8876,44 +8200,44 @@ Do you want to continue? - + Are you sure you want to continue? Ви впевнені, що бажаєте продовжити? - + Please check report view for more... Будь ласка, перегляньте Вид Звіту... - + Physical path: Фізичний шлях: - - + + Document: Документ: - - + + Path: Шлях: - + Identical physical path Ідентичний фізичний шлях - + Could not save document Не вдалося зберегти документ - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8926,102 +8250,102 @@ Would you like to save the file with a different name? Хочете зберегти файл з іншим імʼям? - - - + + + Saving aborted Збереження перервано - + Save dependent files Зберегти залежні файли - + The file contains external dependencies. Do you want to save the dependent files, too? Файл містить зовнішні залежності. Бажаєте також зберегти залежні файли? - - + + Saving document failed Не вдалося зберегти документ - + Save document under new filename... Зберегти документ під новим імʼям... - - + + Save %1 Document Зберегти %1 документ - + Document Документ - - + + Failed to save document Не вдалося зберегти документ - + Documents contains cyclic dependencies. Do you still want to save them? Документи містять циклічні залежності. Ви все ще хочете їх зберегти? - + Save a copy of the document under new filename... Зберегти копію документа під новим іменем файла... - + %1 document (*.FCStd) Документ %1 (*.FCStd) - + Document not closable Документ не закривається - + The document is not closable for the moment. Документ не може бути закритим в даний час. - + Document not saved Документ не збережено - + The document%1 could not be saved. Do you want to cancel closing it? Документ%1 не вдалося зберегти. Бажаєте скасувати закриття? - + Undo Undo - + Redo Redo - + There are grouped transactions in the following documents with other preceding transactions В наступних документах відбувається групування операцій з іншими попередніми операціями - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9035,47 +8359,47 @@ Choose 'Abort' to abort Зберегти макрос - - + + Finish Завершити - - + + Clear Очистити - - - + + + Cancel Скасувати - + Inner Внутрішній - + Outer Зовнішній - + Split Розділити - - + + No Browser Браузер відсутній - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. @@ -9084,48 +8408,48 @@ Please open a browser window and type in: http://localhost:%1. Будь ласка, відкрийте вікно браузера та введіть адресу: http://localhost:%1. - + No Server Сервер відсутній - + Unable to start the server to port %1: %2. Не вдалося запустити сервер з портом %1: %2. - + Unable to open your system browser. Не вдається відкрити Ваш системний браузер. - + Options... Параметри... - + Out of memory Не вистачає памʼяті - + Not enough memory available to display the data. Недостатньо памʼяті для показу даних. - - + + Cannot find file %1 Не вдається знайти файл %1 - + Cannot find file %1 neither in %2 nor in %3 Не вдається знайти файл %1 ні в %2 , ні в %3 - + Navigation styles Стилі навігації @@ -9135,8 +8459,8 @@ Please open a browser window and type in: http://localhost:%1. Переміщення анотації - - + + Transform Перетворити @@ -9146,42 +8470,42 @@ Please open a browser window and type in: http://localhost:%1. Ви бажаєте закрити це діалогове вікно? - + Do you want to save your changes to document '%1' before closing? Бажаєте зберегти внесені зміни в документ '%1' перед його закриттям? - + Do you want to save your changes to document before closing? Бажаєте зберегти зміни, які були внесені до документа перед його закриттям? - + If you don't save, your changes will be lost. Якщо ви не збережете, зміни будуть втрачено. - + Apply answer to all Застосувати відповідь до наступних питань - + %1 Document(s) not saved %1 Документ(и/ів) не збережено - + Some documents could not be saved. Do you want to cancel closing? Деякі документи не вдалося зберегти. Бажаєте скасувати закриття? - + Delete macro Видалити макрос - + Not allowed to delete system-wide macros Не дозволено видаляти системні макроси @@ -9191,27 +8515,27 @@ Please open a browser window and type in: http://localhost:%1. Початок координат - + Delete group content? Видалити вміст групи? - + The %1 is not empty, delete its content as well? %1 не порожній, також видалити його вміст? - + Translation: Переміщення: - + Rotation: Обертання: - + Toggle active part Перемкнути активну частину @@ -9274,60 +8598,60 @@ Please open a browser window and type in: http://localhost:%1. Не вдалось імпортувати всі посилання - - + + Invalid name Невірне імʼя - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. Назва властивості або групи повинна містити лише буквено-цифрові символи, підкреслення, і не повинна починатися з цифри. - + The property '%1' already exists in '%2' Властивість '%1' вже існує в '%2' - + Add property Додати властивість - + Failed to add property to '%1': %2 Не вдалося додати властивість до '%1': %2 - - + + Drag & drop failed Помилка перетягування - + Setup configurable object Налаштування конфігураційного обʼєкта - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Виділіть об'єкт який необхідно копіювати або виключити під час зміни конфігурації. За замовчуванням виключаються всі пов'язані зовнішні об'єкти. - + Please select which objects to copy when the configuration is changed Будь ласка, виберіть, які обʼєкти слід скопіювати при зміні конфігурації - + Apply to all Застосувати до всіх - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Застосувати налаштування до всіх посилань. @@ -9335,27 +8659,27 @@ option to apply only to this link. до цього посилання. - + Copy on change Копіювання при зміні - + Enable Ввімкнути - + Enable auto copy of linked object when its configuration is changed Ввімкнути автоматичне копіювання звʼязаного обʼєкта, коли його налаштування змінюється - + Tracking Колія - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9365,17 +8689,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Вимкнути копіювання при зміні - + Refresh configurable object Оновити обʼєкт конфігурації - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9386,28 +8710,28 @@ the current copy will be lost. - + Toggle array elements Перемикання елементів масиву - + Change whether show each link array element as individual objects Змінює, чи показувати кожен елемент масиву посилань окремими обʼєктами - + Transform at the origin of the placement Перетворити в місці розташування - - + + Override colors... Змінити кольори... - + Edit %1 Редагувати %1 @@ -9430,12 +8754,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: Заборонено: - + Selection not allowed by filter Вибір забороненого за допомогою фільтра @@ -9443,9 +8767,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Область виділення елементів @@ -9453,13 +8777,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Виділити область - - + + Activate the box selection tool Activate the box selection tool @@ -9537,13 +8861,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Показати/приховати початок координат - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9649,13 +8973,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Поворотний перегляд... - - + + View turntable Показує деталь в режимі поворотного перегляду @@ -9775,13 +9099,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Стиль малювання - - + + Change the draw style of the objects Змінити стиль малювання обʼєктів @@ -9845,13 +9169,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Дії з виразом - - + + Actions that apply to expressions Actions that apply to expressions @@ -9968,13 +9292,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Фіксація виду - - + + Freezes the current view position Замерзає поточну позицію перегляду @@ -9995,13 +9319,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Приховати всі обʼєкти - - + + Hide all objects in the document Приховує всі обʼєкти в документі @@ -10009,13 +9333,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Приховати виділене - - + + Hide all selected objects Приховує всі виділені обʼєкти @@ -10289,13 +9613,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Виміряти відстань - - + + Activate the distance measurement tool Activate the distance measurement tool @@ -10354,8 +9678,8 @@ the current copy will be lost. Створює новий порожній документ - - + + Unnamed Без назви @@ -10583,8 +9907,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Нещодавні файли + Open Recent + Open Recent @@ -10722,13 +10046,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Інспектор сцени... - - + + Scene inspector Інспектор сцени @@ -10736,13 +10060,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Назад - - + + Go back to previous selection Повернутися до попереднього вибору @@ -10750,13 +10074,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Обмежувальна рамка - - + + Show selection bounding box Показує обмежувальну рамку при виділенні @@ -10764,13 +10088,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Вперед - - + + Repeat the backed selection Повторіть вибір резервної копії @@ -10792,13 +10116,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Виділити видимі обʼєкти - - + + Select visible objects in the active document Виділяє видимі обʼєкти в активному документі @@ -10820,13 +10144,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Зовнішній вигляд... - - + + Sets the display properties of the selected object Задає вигляд виділеного обʼєкта @@ -10834,13 +10158,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Показати всі обʼєкти - - + + Show all objects in the document Показує всі обʼєкти в документі @@ -10848,13 +10172,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Показати віділене - - + + Show all selected objects Показує всі виділені обʼєкти @@ -10890,13 +10214,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Нанесення текстури... - - + + Texture mapping Текстури @@ -10932,13 +10256,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Площини обрізання - - + + Toggles clipping plane for active view Переключення площину відсікання для активного перегляду @@ -10946,13 +10270,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Перемкнути навігацію/Змінити режим - - + + Toggle between navigation and edit mode Переключення між навігацією і режимом редагування @@ -10960,13 +10284,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Перемкнути всі обʼєкти - - + + Toggles visibility of all objects in the active document Вмикає/вимикає видимість всіх обʼєктів в активному документі @@ -10974,13 +10298,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Перемикач можливостей вибору - - + + Toggles the property of the objects to get selected in the 3D-View Перемикає можливість виділяти обʼєкти у 3D-Виді @@ -10988,13 +10312,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Перемикнути видимість - - + + Toggles visibility Вмикає/вимикає видимість @@ -11044,13 +10368,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Згорнути виділений елемент - - + + Collapse currently selected tree items Згортає виділені елементи ієрархії документа @@ -11058,13 +10382,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Розгорнути виділений елемент - - + + Expand currently selected tree items Розгортає виділені елементи ієрархії документа @@ -11072,13 +10396,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Вибрати всі екземпляри - - + + Select all instances of the current selected object Виберіть усі екземпляри виділеного обʼєкта @@ -11086,13 +10410,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions Дії з Ієрархію Документа - - + + TreeView behavior options and actions Параметри та дії Ієрархії Документа @@ -11156,13 +10480,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Знизу - - + + Set to bottom view Встановлює вид знизу @@ -11170,13 +10494,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Створити новий вид - - + + Creates a new view window for the active document Створює нове вікно Виду для активного документа @@ -11184,13 +10508,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Диметрія - - + + Set to dimetric view Встановлює диметричний вид @@ -11198,13 +10522,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Приклад Inventor #1 - - + + Shows a 3D texture with manipulator Показує 3D текстури з маніпулятором @@ -11212,13 +10536,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Приклад Inventor #2 - - + + Shows spheres and drag-lights Показ сфер та перетягувані ліхтарі @@ -11226,13 +10550,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Приклад Inventor #3 - - + + Shows a animated texture Показ анімованих текстур @@ -11240,13 +10564,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Вмістити все - - + + Fits the whole content on the screen Вміщує весь вміст на екрані @@ -11254,13 +10578,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Вмістити вибране - - + + Fits the selected content on the screen Вміщує виділені обʼєкти на екрані @@ -11268,13 +10592,13 @@ the current copy will be lost. StdCmdViewFront - + Front Фронтальний - - + + Set to front view Встановлює фронтальний вид @@ -11282,13 +10606,13 @@ the current copy will be lost. StdCmdViewHome - + Home Домівка - - + + Set to default home view Встановлює стандартний вид @@ -11296,13 +10620,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Ізометричний - - + + Set to isometric view Встановлює ізометричний вид @@ -11310,13 +10634,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Вихідне положення камери - - + + Issue the camera position to the console and to a macro, to easily recall this position Вихідне положення камери для консолі і макросів, щоб потім швидко відновити цю позицію @@ -11324,13 +10648,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Формування стереозображення способом чередування стовпчиків - - + + Switch stereo viewing to Interleaved Columns Перемикає вивід стереозображення на спосіб чергування стовпчиків @@ -11338,13 +10662,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Формування стереозображення черезрядковим способом - - + + Switch stereo viewing to Interleaved Rows Перемикає вивід стереозображення на черезрядковий спосіб @@ -11352,13 +10676,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Вимкнути стерео - - + + Switch stereo viewing off Вимикає стерео перегляд @@ -11366,13 +10690,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Стереозображення, сформоване методом чотириразового буферування - - + + Switch stereo viewing to quad buffer Перемикає вивід стереозображення на спосіб чотирикратного буферування @@ -11380,13 +10704,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Стерео червоно-блакитне - - + + Switch stereo viewing to red/cyan Перемикає стерео перегляд на червоно-блакитний @@ -11394,13 +10718,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Ліворуч - - + + Set to left view Встановлює вид ліворуч @@ -11408,13 +10732,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Ззаду - - + + Set to rear view Встановлює вид ззаду @@ -11436,13 +10760,13 @@ the current copy will be lost. StdCmdViewRight - + Right Направо - - + + Set to right view Встановлює вид праворуч @@ -11450,13 +10774,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Повернути ліворуч - - + + Rotate the view by 90° counter-clockwise Повертає вид на 90° проти годинникової стрілки @@ -11464,13 +10788,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Повернути праворуч - - + + Rotate the view by 90° clockwise Повертає вид на 90° за годинниковою стрілкою @@ -11492,13 +10816,13 @@ the current copy will be lost. StdCmdViewTop - + Top Згори - - + + Set to top view Встановлює вид згори @@ -11506,13 +10830,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Триметрія - - + + Set to trimetric view Встановлює триметричний вид @@ -11520,13 +10844,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Поширити 3D-вікно FreeCAD на Oculus Rift @@ -11590,13 +10914,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen На весь екран - - + + Display the main window in fullscreen mode Показує головне вікно в повноекранному режимі @@ -11632,13 +10956,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11646,13 +10970,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11660,13 +10984,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Згорнути/Розгорнути - - + + Expand active document and collapse all others Розгортає активний документ та згортає усі інші @@ -11674,12 +10998,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Розпочати перетягування - + Initiate dragging of current selected tree items Починає перетягування виділених елементів ієрархії @@ -11687,13 +11011,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Мульти-документ - - + + Display all documents in the tree view Показує всі документи ієрархії документа @@ -11701,12 +11025,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Попередній вибір - + Preselect the object in 3D view when mouse over the tree item Підсвічує обʼєкт в 3D-виді при наведенні мишки на елемент в ієрархії @@ -11714,12 +11038,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Записати вибір - + Record selection in tree view in order to go back/forward using navigation button Записати виділення в ієрархії до історії команд для повернення назад/вперед за допомогою кнопки навігації @@ -11727,13 +11051,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Перейти до вибраного - - + + Scroll to first selected item Прокручує до першого виділеного елемента @@ -11741,13 +11065,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Окремий документ - - + + Only display the active document in the tree view Показує тільки активний документ в ієрархії документа @@ -11755,12 +11079,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Синхронізувати розташування - + Auto adjust placement on drag and drop objects across coordinate systems Автоматичне налаштування розташування при перетягуванні об’єктів через системи координат @@ -11768,12 +11092,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Синхронізувати виділення - + Auto expand tree item when the corresponding object is selected in 3D view Автоматично відкриває елемент в ієрархії при виділенні відповідного обʼєкта в 3D-виді @@ -11781,12 +11105,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Синхронізувати вид - + Auto switch to the 3D view containing the selected item Автопереключення до 3D-виду, що містить виділений елемент @@ -11794,13 +11118,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Поле маштабування - - + + Activate the box zoom tool Activate the box zoom tool @@ -11808,13 +11132,13 @@ the current copy will be lost. StdViewDock - + Docked Закріплено - - + + Display the active view either in fullscreen, in undocked or docked mode Показати активний вид в повноекранному режимі, у відстикованому, або зістикуваваному режимі @@ -11822,13 +11146,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Вікно документа - - + + Display the active view either in fullscreen, in undocked or docked mode Показати активний вид в повноекранному режимі, у відстикованому, або зістикуваваному режимі @@ -11836,13 +11160,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen На весь екран - - + + Display the active view either in fullscreen, in undocked or docked mode Показати активний вид в повноекранному режимі, у відстикованому, або зістикуваваному режимі @@ -11850,13 +11174,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Зберегти зображення... - - + + Creates a screenshot of the active view Створює знімок екрану активного виду @@ -11864,13 +11188,13 @@ the current copy will be lost. StdViewUndock - + Undocked Не закріплено - - + + Display the active view either in fullscreen, in undocked or docked mode Показати активний вид в повноекранному режимі, у відстикованому, або зістикуваваному режимі @@ -11878,13 +11202,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Збільшити - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11892,13 +11216,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Зменшити - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11933,72 +11257,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is Як є - + Normal mode Звичайний режим - + Points Точки - + Points mode Режим точок - + Wireframe Каркас - + Wireframe mode Каркасний режим - + Hidden line Прихована лінія - + Hidden line mode Режим прихованої лінії - + No shading Без затінення - + No shading mode Режим без затінення - + Shaded Затінений - + Shaded mode Режим затіненя - + Flat lines Прямі лінії - + Flat lines mode Режим прямих ліній @@ -12061,32 +11385,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12094,117 +11418,117 @@ Do you still want to proceed? Workbench - + &File &Файл - + &Edit &Правка - + Edit Правка - + Clipboard Буфер обміну - + Workbench Робочі середовища - + Structure Структура - + Standard views Стандартні види - + Axonometric Аксонометрія - + &Stereo &Стерео - + &Zoom &Збільшення - + Visibility Видимість - + &View &Вид - + &Tools &Інструменти - + &Macro &Макрос - + &Windows &Вікна - + &On-line help &Он-лайн допомога - + &Help &Довідка - + Help Довідка - + File Файл - + Macro Макрос - + View Вид - + Special Ops Спеціальні операції - + Link actions Дії з посиланням @@ -12212,12 +11536,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF Експорт в PDF - + PDF file PDF-файл @@ -12225,196 +11549,190 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Область сповіщень - + Settings Параметри - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Additional data sources - + Errors intended for developers will appear in the notification area Errors intended for developers will appear in the notification area - + Debug errors Debug errors - + Warnings intended for developers will appear in the notification area Warnings intended for developers will appear in the notification area - + Debug warnings Debug warnings - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s с - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Список повідомлень - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Обмежити кількість повідомлень, які будуть зберігатися у списку. Якщо 0, обмежень немає. - + Maximum Messages (0 = no limit): Максимальна кількість повідомлень (0 = немає обмежень): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Доступні Робочі Середовища - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>Ви можете змінити порядок робочих столів перетягуванням та скиданням. Додаткові робочі середовища можна встановити через менеджера доповнень.</p> <p>Зараз ваша система має наступні робочі столи:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches Оберіть, яке робоче середовище буде активовано і показано після запуску FreeCAD - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12427,12 +11745,12 @@ after FreeCAD launches 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport Якщо встановлено, то додаток запамʼятає яке робоче середовище було активним для кожної вкладки viewport - + Remember active workbench by tab Запамʼятати активне робоче середовище в закладці @@ -12581,47 +11899,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. Якщо вимкнено, то %1 не буде з'являтися в доступних робочих столах. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Ярлик, щоб активувати цей робочий стіл. - + Auto-load Автоматичне завантаження - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. Це поточний модуль запуску, який потрібно завантажити автоматично. Для зміни див. Налаштування/Загальні/Автозавантаження. - + Loaded Завантажено: - + Load Завантажити - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12629,17 +11947,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Панель інструментів - + Left corner Лівий кут - + Right corner Правий кут @@ -12665,12 +11988,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Видалити сповіщення користувача - + Delete All Видалити все @@ -12706,13 +12029,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image @@ -12774,10 +12097,815 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + Редактор + + + + Options + Параметри + + + + Code lines will be numbered + Рядки коду буде пронумеровано + + + + Enable line numbers + Показати нумерацію рядків + + + + The cursor shape will be a block + Форма курсору буде блоком + + + + Enable block cursor + Ввімкнути курсор у вигляді блоку + + + + Enable folding + Ввімкнути складання + + + + Indentation + Відступ + + + + Tab size: + Розмір табуляції: + + + + Tabulator raster (how many spaces) + Розмір табулятора (скільки пробілів) + + + + Indent size: + Розмір відступу: + + + + How many spaces will be inserted when pressing <Tab> + Скільки пробілів буде вставлено при натисканні на <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Натиснення <Tab> вставляє табулятор з визначеним розміром табуляції + + + + Keep tabs + Залишати табулятори + + + + Pressing <Tab> will insert amount of defined indent size + Натиснення <Tab> вставляє відступ визначеного розміру + + + + Insert spaces + Вставляти пробіли + + + + Display items + Показати елементи + + + + Color and font settings will be applied to selected type + Налаштування кольору і шрифту будуть застосовані до вибраного типу + + + + Family: + Сімейство: + + + + Font family to be used for selected code type + Сімейство шрифтів яке буде застосовуватись для обраного типу коду + + + + Size: + Розмір: + + + + Font size to be used for selected code type + Розмір шрифту який буде застосовуватись для обраного типу коду + + + + Color: + Колір: + + + + Preview: + Попередній перегляд: + + + + Text + Текст + + + + Bookmark + Закладка + + + + Breakpoint + Точка зупинки + + + + Keyword + Ключове слово + + + + Comment + Коментар + + + + Block comment + Блок коментаря + + + + Number + Число + + + + String + Рядок + + + + Character + Символ + + + + Class name + Назва класу + + + + Define name + Вказати назву + + + + Operator + Оператор + + + + Python output + Вивід Python + + + + Python error + Помилка Python + + + + Current line highlight + Підсвітка поточної лінії + + + + Items + Елементи + + + + Gui::Dialog::DlgSettingsGeneral + + + General + Загальні + + + + Language and number format + Мовний та числовий формат + + + + Language: + Мова: + + + + Language of the application's user interface + Мова інтерфейсу користувача програми + + + + Unit system: + Система одиниць вимірювання: + + + + Unit system that should be used for all parts of the application + Система одиниць вимірювання, яку слід використовувати для всіх частин програми + + + + Number of decimals: + Кількість десяткових знаків: + + + + Number of decimals that should be shown for numbers and dimensions + Визначає кількість десяткових знаків для чисел і розмірів + + + + Minimum fractional inch: + Мінімальна частина дюйма: + + + + Minimum fractional inch to be displayed + Визначає мінімальну частину дюйма для показу + + + + Number format: + Формат цифр: + + + + Operating system + Операційна система + + + + Selected language + З налаштувань локалі + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + Substitute decimal separator + Замінник десяткового роздільника + + + + Application + Програма + + + + Theme: + Тема: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Розмір піктограм на панелі інструментів: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Оберіть ваші пераметри для розміру значка панелі інструментів. Ви можете налаштувати це +у відповідності до розміру екрану або на власний смак + + + + Tree view mode: + Режим показу ієрархії документа: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Налаштовує, як ієрархія документа буде зображатись в панелі (вимагає перезапуску). + +'Комбінований': комбінує Вид Ієрархії та Вид Властивостей в одній панелі. +'Вид Ієрархіі та Властивостей': розділення Виду Ієрархії та Виду Властивостей на окремі панелі. +'Перше та Друге': показує всі три панелі. Ви отримаєте два набори Ієрархії та Вид Властивостей. + + + + Size of recent file list: + Size of recent file list: + + + + How many files should be listed in recent files list + Скільки файлів має бути у списку останніх файлів + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + Enable tiled background + Ввімкнути плитки на тлі + + + + The text cursor will be blinking + Текстовий курсор буде миготіти + + + + Enable cursor blinking + Дозволити миготіння курсору + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Заставка - це маленьке вікно завантаження, яке показується при запуску FreeCAD. +Якщо ця опція відмічена, то FreeCAD буде показувати заставку + + + + Enable splash screen at start up + Ввімкнути заставку при запуску + + + + Preference packs + Набори Налаштувань + + + + Name + Назва + + + + Type + Тип + + + + Load + Завантажити + + + + Import config... + Імпортувати налаштування... + + + + Save new... + Зберегти новий... + + + + Manage... + Керувати... + + + + Revert... + Відновити... + + + + Manage preference packs + Керування наборами налаштувань + + + + Small (%1px) + Малий (%1пікс) + + + + Medium (%1px) + Середній (%1пікс) + + + + Large (%1px) + Великий (%1пікс) + + + + Extra large (%1px) + Дуже великий (%1пікс) + + + + Custom (%1px) + Власний (%1пікс) + + + + Combo View + Комбінований вид + + + + TreeView and PropertyView + Вид Ієрархії та Властивостей + + + + Both + Обидві + + + + Preference Pack Name + Імʼя Набору Налаштувань + + + + Tags + Мітки + + + + Apply + Застосувати + + + + Apply the %1 preference pack + Застосувати набір налаштувань %1 + + + + Choose a FreeCAD config file to import + Choose a FreeCAD config file to import + + + + File exists + Файл вже існує + + + + A preference pack with that name already exists. Overwrite? + A preference pack with that name already exists. Overwrite? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Вид Звіту + + + + Output + Вивід + + + + Normal messages will be recorded + Записує звичайні повідомлення + + + + Record normal messages + Запис звичайних повідомлень + + + + Log messages will be recorded + Записує повідомлення журналу + + + + Record log messages + Запис повідомлень журналу (log) + + + + Warnings will be recorded + Записує Попередження + + + + Record warnings + Запис попереджень + + + + Error messages will be recorded + Записує повідомлення про помилки + + + + Record error messages + Запис повідомлень про помилки + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + При виникненні помилки, діалогове вікно Вид Звіту +стає видимим на екрані для показу помилки + + + + Show report view on error + Показати Вид звіту для помилок + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + При виникненні попередження, діалогове вікно Вид Звіту стає +видимим на екрані для показу попередження + + + + Show report view on warning + Показати Вид Звіту для попередження + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + При виникненні звичайного повідомлення, діалогове вікно Вид Звіту стає +видимим на екрані для показу повідомлення + + + + Show report view on normal message + Показати Вид Звіту для звичайних повідомлень + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + При виникненні повідомлення журналу, діалогове вікно Вид Звіту стає +видимим на екрані для показу повідомлення журналу + + + + Show report view on log message + Показати Вид Звіту для повідомлень журналу + + + + Include a timecode for each report + Додає мітку часу до кожного повідомлення + + + + Include a timecode for each entry + Додати мітку часу до кожного запису + + + + Colors + Кольори + + + + Normal messages: + Звичайні повідомлення: + + + + Font color for normal messages in Report view panel + Встановлює колір шрифту для звичайних повідомлень у панелі Вид Звіту + + + + Log messages: + Повідомлення журналу: + + + + Font color for log messages in Report view panel + Встановлює колір шрифту для повідомлень журналу у панелі Вид Звіту + + + + Warnings: + Попередження: + + + + Font color for warning messages in Report view panel + Встановлює колір шрифту для попереджень у панелі Вид Звіту + + + + Errors: + Помилки: + + + + Font color for error messages in Report view panel + Встановлює колір шрифту для повідомлень про помилки у панелі Вид Звіту + + + + Python interpreter + Інтерпретатор Python + + + + Internal Python output will be redirected +from Python console to Report view panel + Перенаправляє внутрішні повідомлення Python +з консолі Python на панель Вид Звіту + + + + Redirect internal Python output to report view + Перенаправити внутрішній вивод Python до Виду Звіту + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Перенаправляє внутрішні повідомлення про помилки Python +з консолі Python на панель Вид Звіту + + + + Redirect internal Python errors to report view + Перенаправити внутрішні помилки Python у Вид Звіту + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Тема + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + Таблиці стилів немає + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_val-ES.ts b/src/Gui/Language/FreeCAD_val-ES.ts index b840b61fdb..88000797fa 100644 --- a/src/Gui/Language/FreeCAD_val-ES.ts +++ b/src/Gui/Language/FreeCAD_val-ES.ts @@ -42,29 +42,29 @@ Tamany visual del Perfil - + <empty> <buit> - - + + Angle Angle - - + + Axis Eix - + Position Position - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output Prova la sortida de la consola - - + + Run test cases to verify console messages Run test cases to verify console messages @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement Esborra la mesura - + Clear all visible measurements Clear all visible measurements @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement Commuta el mesurament - + Turn on or off the display of all measurements Turn on or off the display of all measurements @@ -132,7 +132,7 @@ Elimina - + Paste expressions Paste expressions @@ -182,7 +182,7 @@ Add a group - + Align Align @@ -193,40 +193,40 @@ Posició - - + + Transform Transforma - + Toggle array elements Toggle array elements - + Link Transform Link Transform - + Measure distance Mesura la distància - + Toggle visibility Commuta la visibilitat - + Toggle selectability Commuta la selectivitat - + Edit image Edit image @@ -234,77 +234,77 @@ CommandGroup - + File Fitxer - + Edit Edita - + Help Ajuda - + Link Enllaç - + Tools Eines - + View Visualitza - + Window Finestra - + Standard Estàndard - + Macros Macros - + Macro Macro - + Structure Estructura - + Standard-Test Prova estàndard - + Standard-View Vista estàndard - + TreeView Vista d'arbre - + Measure Mesura @@ -402,11 +402,6 @@ DownloadItem - - - Form - Forma - Ico @@ -421,42 +416,42 @@ EditMode - + Default Per defecte - + The object will be edited using the mode defined internally to be the most appropriate for the object type The object will be edited using the mode defined internally to be the most appropriate for the object type - + Transform Transforma - + The object will have its placement editable with the Std TransformManip command The object will have its placement editable with the Std TransformManip command - + Cutting Tall - + This edit mode is implemented as available but currently does not seem to be used by any object This edit mode is implemented as available but currently does not seem to be used by any object - + Color Color - + The object will have the color of its individual faces editable with the Part FaceColors command The object will have the color of its individual faces editable with the Part FaceColors command @@ -482,7 +477,7 @@ cap - + Press a keyboard shortcut Press a keyboard shortcut @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: Disponible: - + Selected: Seleccionat: - + Add Afegir - + Remove Elimina - + Move up Mou amunt - + Move down Mou avall @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object Objecte mòbil - + Fixed object Objecte fix @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... Espereu fins que es guarde el fitxer d'autorecuperació... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press SHIFT and middle mouse button Premeu la tecla MAJ i el botó central del ratolí - + Press middle mouse button premeu el botó central del ratolí - + Scroll middle mouse button Feu rodar el botó central del ratolí @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press middle mouse button premeu el botó central del ratolí - + Press middle+left or middle+right button Premeu el botó del mig+botó esquerre o el botó del mig+botó dret - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down Feu lliscar la roda del ratolí o manteniu premuda la roda mentre feu clic dret o esquerre i moveu el ratolí cap amunt o cap avall @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK D'ac&ord - + &Cancel &Cancel·la @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel Tauler de tasques @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen Crèdits - + FreeCAD would not be possible without the contributions of FreeCAD would not be possible without the contributions of - + Individuals Header for the list of individual people in the Credits list. Individuals - + Organizations Header for the list of companies/organizations in the Credits list. Organizations - - + + License Llicència - + Libraries Biblioteques - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: Aquest programari utilitza components de codi obert, el copyright i altres drets de propietat dels quals pertanyen als seus respectius propietaris: - + Collection Col·lecció @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory Cache directory - + The cache directory %1 exceeds the size of %2. The cache directory %1 exceeds the size of %2. - + Do you want to clear it now? Do you want to clear it now? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings Paràmetres de la càmera - + Orientation Orientació - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view Vista actual @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands Ordres @@ -1116,12 +1111,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists Pack already exists - + A preference pack with that name already exists. Do you want to overwrite it? A preference pack with that name already exists. Do you want to overwrite it? @@ -1359,48 +1354,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Type to search... - + Icon Icona - + Command Ordre - + Shortcut Shortcut - + Default Per defecte - + Name Nom - + Title Títol - + All Tot - - + + none cap @@ -1408,8 +1403,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars Barres de caixes d'eines @@ -1498,40 +1493,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <Separador> - + %1 module not loaded %1 module not loaded - + New toolbar Barra d'eines nova - - + + Toolbar name: Nom de la barra d'eines: - - + + Duplicated name Nom duplicat - - + + The toolbar name '%1' is already used El nom de la barra d'eines '%1' ja està utilitzat. - + Rename toolbar Reanomena la barra d'eines @@ -1544,19 +1539,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize Personalitza - + &Help &Ajuda - + &Close Tan&ca @@ -1565,13 +1560,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Moviment del ratolí 3D - + No Spaceball Present No hi ha cap ratolí 3D. @@ -1579,27 +1574,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Botons del ratolí 3D - + No Spaceball Present No hi ha cap ratolí 3D. - + Buttons Botons - + Reset Reinicialitza - + Print Reference Imprimeix les referències @@ -1684,550 +1679,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default Per defecte - + Aluminium Alumini - + Brass Metall - + Bronze Bronze - + Copper Coure - + Chrome Crom - + Emerald Maragda - + Gold Or - + Jade Jade - + Metalized Metal·litzat - + Neon GNC Neó GNC - + Neon PHC Neó PHC - + Obsidian Obsidiana - + Pewter Peltre - + Plaster Guix - + Plastic Plàstic - + Ruby Robí - + Satin Setí - + Shiny plastic Plàstic brillant - + Silver Plata - + Steel Acer - + Stone Pedra Gui::Dialog::DlgEditorSettings - - - Editor - Editor - - - - Options - Opcions - - - - Code lines will be numbered - Code lines will be numbered - - - - Enable line numbers - Activa els números de línia - - - - The cursor shape will be a block - The cursor shape will be a block - - - - Enable block cursor - Enable block cursor - - - - Enable folding - Habilita el plegament - - - - Indentation - Sagnat - - - - Tab size: - Mida de la tabulació: - - - - Tabulator raster (how many spaces) - Ràster del tabulador (quants espais) - - - - Indent size: - Mida del sagnat: - - - - How many spaces will be inserted when pressing <Tab> - Quants espais s’inseriran en prémer <Tab> - - - - Pressing <Tab> will insert a tabulator with defined tab size - Si premeu <Tab> s'inserirà un tabulador amb la mida de tabulació definida - - - - Keep tabs - Mantín les tabulacions - - - - Pressing <Tab> will insert amount of defined indent size - Si premeu <Tab> s'inserirà la quantitat de la mida del sagnat definit - - - - Insert spaces - Insereix espais - - - - Display items - Visualitza els elements - - - - Color and font settings will be applied to selected type - La configuració del color i del tipus de lletra s'aplicaran al tipus seleccionat - - - - Family: - Família: - - - - Font family to be used for selected code type - El tipus de lletra que s'utilitzarà per al tipus de codi seleccionat - - - - Size: - Mida: - - - - Font size to be used for selected code type - Mida del tipus de lletra que s'utilitzarà per al tipus de codi seleccionat - - - - Color: - Color: - - - - Preview: - Previsualització: - - - Gui::Dialog::DlgGeneral - - - General - General - - - - Language of the application's user interface - Idioma de la interfície d’usuari de l’aplicació - - - - Number format: - Number format: - - - - Operating system - Sistema operatiu - - - - Selected language - Selected language - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - - - - Preference packs - Preference packs - - - - Name - Nom - - - - Type - Tipus - - - - Load - Load - - - - Import config... - Import config... - - - - Save new... - Save new... - - - - Manage... - Manage... - - - - Revert... - Revert... - - - - How many files should be listed in recent files list - Indica la quantitat de fitxers s’han d’enumerar en la llista de fitxers recents - - - - Enable tiled background - Habilita el fons en mosaic - - - - The text cursor will be blinking - The text cursor will be blinking - - - - Enable cursor blinking - Enable cursor blinking - - - - Style sheet: - Full d'estil: - - - - Language and number format - Language and number format - - - - Language: - Language: - - - - Unit system: - Sistema de la unitat: - - - - Unit system that should be used for all parts of the application - Unit system that should be used for all parts of the application - - - - Number of decimals: - Nombre de decimals: - - - - Number of decimals that should be shown for numbers and dimensions - Nombre de decimals que s’han de mostrar per als números i dimensions - - - - Minimum fractional inch: - Polzada fraccionària mínima: - - - - Minimum fractional inch to be displayed - Polzada fraccionària mínima que cal mostrar - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - Aplicació - - - - Style sheet how user interface will look like - Full d’estil que defineix com serà la interfície d’usuari - - - - Size of toolbar icons: - Mida de les icones de la barra d'eines: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - Trieu la vostra preferència per a la mida de la icona de la barra d’eines. Podeu ajustar -això segons la mida de la pantalla o el gust personal - - - - Tree view mode: - Mode vista d'arbre: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - Personalitzeu com es mostra la vista d'arbre en el tauler (cal reiniciar-lo). - -«ComboView»: combina la vista d'arbre i la de propietats en un únic tauler. -«TreeView i PropertyView»: separa la vista d'arbre i la de propietats en taulers separats. -«Ambdós»: conserva els tres taulers i podeu tindre dos conjunts de vista d'arbre i de vista de propietats. - - - - Size of recent file list: - Size of recent file list: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Una pantalla de presentació és una xicoteta finestra de càrrega que es mostra -quan FreeCAD s'executa. Si aquesta opció està marcada, FreeCAD en mostrarà una - - - - Enable splash screen at start up - Habilita la pantalla de presentació a l'inici - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - Manage preference packs - - - - Small (%1px) - Xicotet (%1px) - - - - Medium (%1px) - Mitjà (%1px) - - - - Large (%1px) - Gran (%1px) - - - - Extra large (%1px) - Molt gran (%1px) - - - - Custom (%1px) - Personalitzat (%1px) - - - - Combo View - Visualització combinada - - - - TreeView and PropertyView - Vista d'arbre i vista de les propietats - - - - Both - Ambdós - - - - No style sheet - No hi ha cap full d'estil. - - - - Preference Pack Name - Preference Pack Name - - - - Tags - Tags - - - - Apply - Aplica - - - - Apply the %1 preference pack - Apply the %1 preference pack - - - - Choose a FreeCAD config file to import - Choose a FreeCAD config file to import - - - - File exists - File exists - - - - A preference pack with that name already exists. Overwrite? - A preference pack with that name already exists. Overwrite? - - Gui::Dialog::DlgInputDialog @@ -2243,8 +1811,8 @@ quan FreeCAD s'executa. Si aquesta opció està marcada, FreeCAD en mostrarà un Gui::Dialog::DlgInspector - - + + Scene Inspector Inspector d'escena @@ -2336,70 +1904,70 @@ quan FreeCAD s'executa. Si aquesta opció està marcada, FreeCAD en mostrarà un Gui::Dialog::DlgMacroExecuteImp - + Macros Macros - + Read-only Només de lectura - + Macro file Fitxer de la macro - + Enter a file name, please: Introduïu un nom de fitxer: - - - + + + Existing file Fitxer existent - + '%1'. This file already exists. '%1'. Aquest fitxer ja existeix. - + Cannot create file No es pot crear el fitxer. - + Creation of file '%1' failed. La creació del fitxer '%1' ha fallat. - + Delete macro Suprimeix la macro - + Do you really want to delete the macro '%1'? Esteu segur que voleu suprimir la macro '%1'? - + Do not show again No ho tornes a mostrar - + Guided Walkthrough Procediment guiat - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2410,78 +1978,78 @@ Nota: els vostres canvis s'aplicaran quan canvieu de banc de treball - + Walkthrough, dialog 1 of 2 Procediment guiat, diàleg 1 de 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close Instruccions del procediment guiat: empleneu els camps que falten (opcional), feu clic a Afig i després a Tanca - + Walkthrough, dialog 1 of 1 Procediment guiat, diàleg 1 de 1 - + Walkthrough, dialog 2 of 2 Procediment guiat, diàleg 2 de 2 - + Walkthrough instructions: Click right arrow button (->), then Close. Instruccions del procediment guiat: feu clic en el botó de fletxa dreta (->) i després en Tanca. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. Instruccions del procediment guiat: feu clic en Nou, després en el botó de fletxa dreta (->) i després en Tanca. - + Renaming Macro File S'està canviant el nom del fitxer de Macro - - + + Enter new name: Introduïu el nom nou: - - + + '%1' already exists. '%1' ja existeix. - + Rename Failed Error en canviar el nom - + Failed to rename to '%1'. Perhaps a file permission error? No ha pogut canviar el nom per '%1'. Pot ser un problema de permisos d'arxiu? - + Duplicate Macro Duplica la macro - + Duplicate Failed Ha fallat el duplicat - + Failed to duplicate to '%1'. Perhaps a file permission error? No s'ha pogut duplicar «%1». @@ -2524,39 +2092,39 @@ Potser per un error de permís de fitxer? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder Gravadora de macro - + Specify first a place to save. Especifiqueu en primer lloc una ubicació on guardar. - + The macro directory doesn't exist. Please, choose another one. El directori de macro no existeix. Trieu-ne un altre - + Existing macro Macro existent - + The macro '%1' already exists. Do you want to overwrite? La macro '%1' ja existeix. Voleu sobreescriure-la? - + You have no write permission for the directory. Please, choose another one. No teniu permisos d'escriptura en el directori. Trieu-ne un altre. - + Choose macro directory Trieu el directori de macro @@ -2629,12 +2197,12 @@ Potser per un error de permís de fitxer? Fitxers HTML - + Access denied Accés denegat - + Access denied to '%1' Specify another directory, please. @@ -3033,36 +2601,36 @@ Specify another directory, please. Fitxer del projecte - - + + Empty source La font és buida. - - + + No source is defined. No s'ha definit cap font. - - + + Empty destination La destinació és buida. - - + + No destination is defined. No s'ha definit cap destinació. - + Failed to extract project Failed to extract project - + Failed to create project Failed to create project @@ -3112,187 +2680,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - Visualització de l'informe - - - - Output - Eixida - - - - Normal messages will be recorded - Normal messages will be recorded - - - - Record normal messages - Record normal messages - - - - Log messages will be recorded - Es gravarà el registre de missatges - - - - Record log messages - Grava els missatges de registre - - - - Warnings will be recorded - Es gravaran els avisos - - - - Record warnings - Grava els avisos - - - - Error messages will be recorded - Es gravaran els missatges d'error - - - - Record error messages - Grava els missatges d'error - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - Quan s'ha produït un error, el diàleg de Vista d'informes es fa visible -en la pantalla i mostra l'error - - - - Show report view on error - Mostra la vista de l'informe en cas d'error - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - Quan s'ha produït un avís, el diàleg de Vista d'informes es fa visible -en la pantalla i mostra l'avís - - - - Show report view on warning - Mostra la vista de l'informe en cas d'avís - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - Quan s'ha produït un missatge normal, el diàleg de Vista d'informes es fa visible -en la pantalla i mostra el missatge - - - - Show report view on normal message - Mostra la vista de l'informe en cas d'un missatge normal - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - Quan s'ha produït un missatge de registre, el diàleg de Vista d'informes es fa visible en la pantalla i mostra el missatge de registre - - - - Show report view on log message - Mostra la vista de l'informe en cas d'un missatge de registre - - - - Include a timecode for each report - Include a timecode for each report - - - - Include a timecode for each entry - Include a timecode for each entry - - - - Colors - Colors - - - - Normal messages: - Missatges normals: - - - - Font color for normal messages in Report view panel - Color del tipus de lletra per a missatges normals en el tauler de Vista d'informes - - - - Log messages: - Resgistre de missatges: - - - - Font color for log messages in Report view panel - Color del tipus de lletra per a missatges de registre en el tauler de Vista d'informes - - - - Warnings: - Avisos: - - - - Font color for warning messages in Report view panel - Color del tipus de lletra per a missatges d'avís en el tauler de Vista d'informes - - - - Errors: - Errors: - - - - Font color for error messages in Report view panel - Color del tipus de lletra per a missatges d'error en el tauler de Vista d'informes - - - - Python interpreter - Intèrpret de Python - - - - Internal Python output will be redirected -from Python console to Report view panel - L'eixida interna de Python es redirigirà -de la consola Python al tauler de Vista d'informes - - - - Redirect internal Python output to report view - Redirigeix l'eixida interna de Python a la visualització d'informe1 - - - - Internal Python error messages will be redirected -from Python console to Report view panel - Els missatges d'error interns de Python es redirigiran -de la consola Python al tauler de Vista d'informes - - - - Redirect internal Python errors to report view - Redirigeix els errors interns de Python a la visualització d'informe - @@ -3319,7 +2706,7 @@ de la consola Python al tauler de Vista d'informes Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No selection in dialog, cannot load backup file @@ -3362,7 +2749,7 @@ de la consola Python al tauler de Vista d'informes Ajuda - + Select a file Seleccioneu un fitxer @@ -3370,70 +2757,70 @@ de la consola Python al tauler de Vista d'informes Gui::Dialog::DlgSettings3DView - + 3D View Vista 3D - + General General - + Main coordinate system will always be shown in lower right corner within opened files El sistema de coordenades principal sempre es mostrarà en el cantó inferior dret dels fitxers oberts - + Show coordinate system in the corner Mostra el sistema de coordenades en la cantonada - + Relative size : Relative size : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Size of main coordinate system representation in the corner -- in % of height/width of viewport - + Axis cross will be shown by default at file opening or creation Axis cross will be shown by default at file opening or creation - + Show axis cross by default Show axis cross by default - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files El temps necessari per a l'última operació i la freqüència de marcs resultant es mostrarà en el cantó inferior esquerre dels fitxers oberts - + Show counter of frames per second Mostra el comptador d'imatges per segon - + Rendering Renderització - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3442,22 +2829,22 @@ Changing this option requires a restart of the application. Changing this option requires a restart of the application. - + Use software OpenGL Use software OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Use OpenGL VBO (Objecte de memòria intermèdia de vèrtex) - + Render cache Renderització de la memòria cau - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3480,7 +2867,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3497,92 +2884,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto Auto - + Distributed Distribuïda - + Centralized Centralitzada - + Anti-Aliasing Antialiàsing - + What kind of multisample anti-aliasing is used What kind of multisample anti-aliasing is used - + None Cap - + Line Smoothing Suavització de línies - + MSAA 2x MSAA 2x - + MSAA 4x MSAA 4x - + MSAA 8x MSAA 8x - + Transparent objects: Objectes transparents: - + Render types of transparent objects Renderitza els tipus d'objectes transparents - + One pass Una passada - + Backface pass Passada per la cara posterior - + Marker size: Mida del marcador: - - Size of vertices in the Sketcher workbench - Mida de vèrtexs en el banc de treball de l'entorn d'esbós + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Distància entre els ulls per a la visió estereoscòpica - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3591,48 +2978,48 @@ The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. - + Backlight is enabled with the defined color La retroil·luminació s'ha activat amb el color definit - - + + Backlight color Color de la retroil·luminació - + Intensity Intensitat - + Intensity of the backlight Intensitat de la retroil·luminació - + Camera type Tipus de càmera - + Objects will appear in a perspective projection Els objectes apareixeran en una projecció en perspectiva - + Perspective renderin&g &Renderització en perspectiva - + Objects will be projected in orthographic projection Els objectes es projectaran en projecció ortogràfica - + Or&thographic rendering Renderització or&togràfica @@ -3644,42 +3031,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing Antialiàsing - + Open a new viewer or restart %1 to apply anti-aliasing changes. Obriu un visualitzador nou o reinicieu %1 perquè s'apliquen els canvis d'antialiàsing @@ -3687,77 +3074,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache Cache - + Cache directory Cache directory - + Location: Location: - + Check periodically at program start: Check periodically at program start: - + Always Always - + Daily Daily - + Weekly Weekly - + Monthly Monthly - + Yearly Yearly - + Never Never - + Cache size limit: Cache size limit: - + Check now... Check now... - + Notify the user if the cache size exceeds the specified limit Notify the user if the cache size exceeds the specified limit - + Unknown Desconegut - + Current cache size: %1 Current cache size: %1 @@ -3918,12 +3305,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter El paràmetre és incorrecte. - + The maximum value must be higher than the minimum value. El valor màxim ha de ser major que el valor mínim. @@ -3931,181 +3318,181 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document Document - + General General - + The application will create a new document when started L’aplicació crearà un document nou quan s’inicie - + Create new document at start up Crea un document nou a l'inici - + Document save compression level (0 = none, 9 = highest, 3 = default) Nivell de compressió per a guardar el document (0 = cap, 9 = el més alt, 3 = per defecte) - + Compression level for FCStd files Nivell de compressió dels fitxers FCStd - + All changes in documents are stored so that they can be undone/redone Tots els canvis en els documents s’emmagatzemen perquè es puguen desfer/refer - + Using Undo/Redo on documents Ús de les opcions Fes/Desfés en els documents - + Maximum Undo/Redo steps Nombre màxim d'accions de fer/desfer - + How many Undo/Redo steps should be recorded Nombre de passos de desfer/refer que s'han de gravar - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Permet que l'usuari interrompa el recàlcul de documents prement ESC. Aquesta característica pot augmentar lleugerament el temps de recàlcul. - + Allow aborting recomputation Permet interrompre el recàlcul - + Storage Emmagatzematge - + Saving transactions (Auto-save) S'estan guardant les transaccions (guarda automàticament) - + Discard saved transaction after saving document Descarta les transaccions guardades després de guardar el document - + If there is a recovery file available the application will automatically run a file recovery when it is started. Si hi ha un fitxer de recuperació disponible, l’aplicació executa automàticament la recuperació d’un fitxer quan s'inicie. - + Run AutoRecovery at startup Executa l'autorecuperació a l'inici - + How often a recovery file is written La freqüència amb què s’escriu un fitxer de recuperació - + Save AutoRecovery information every Guarda la informació d'autorecuperació cada - + A thumbnail will be stored when document is saved Una miniatura s'emmagatzemarà quan es guarde el document - + Save thumbnail into project file when saving document Guarda la miniatura en el fitxer del projecte quan es guarde el document - + Size Mida - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Estableix la mida de la miniatura que es guarda en el document. Les mides habituals són 128, 256 i 512 - + The program logo will be added to the thumbnail El logo del programa s’afegirà a la miniatura - + Add the program logo to the generated thumbnail Afig el logotip del programa a la miniatura generada - + How many backup files will be kept when saving document Nombre de fitxers de còpia de seguretat es conservaran en guardar el document - + Maximum number of backup files to keep when resaving document Nombre màxim de fitxers de còpia de seguretat que cal mantenir quan es torna a guardar el document - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Els fitxers de còpia de seguretat tindran l'extensió «.FCbak» i els noms de fitxers tindran el sufix de data segons el format especificat - + Use date and FCBak extension Utilitza la data i l'extensió FCBak - + Date format Format de la data - + Document objects Objectes del document - + Allow objects to have same label Allow objects to have same label - + Allow duplicate object labels in one document Permet etiquetes duplicades d'objectes en un document - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4116,22 +3503,22 @@ Aleshores, només es carregaran els objectes referenciats i les seues dependènc No es pot editar un document carregat parcialment. Feu doble clic a la icona del document en la vista de l'arbre per a tornar a carregar-lo completament. - + Disable partial loading of external linked objects Desactiva la càrrega parcial d'objectes enllaçats externs - + Authoring and License Autoria i llicència - + Author name Nom de l'autor - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4140,32 +3527,32 @@ Manteniu-lo en blanc per als anònims. També podeu utilitzar la forma: Joan Peris <joan@peris.com> - + The field 'Last modified by' will be set to specified author when saving the file El camp «Última modificació per" estarà configurat per a l'autor especificat en guardar el fitxer - + Set on save En guardar - + Company Empresa - + Default company name to use for new files El nom de l'empresa per defecte que s'utilitza per als fitxers nous - + Default license Llicència per defecte - + Default license for new documents La llicència per defecte per als documents nous @@ -4235,12 +3622,12 @@ També podeu utilitzar la forma: Joan Peris <joan@peris.com> Altres - + License URL URL de la llicència - + URL describing more about the license URL que descriu més informació sobre la llicència @@ -4248,104 +3635,21 @@ També podeu utilitzar la forma: Joan Peris <joan@peris.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. El format de la data que s'ha d'utilitzar. - + Default Per defecte - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - Text - - - - Bookmark - Adreça d'interés - - - - Breakpoint - Punt de ruptura - - - - Keyword - Paraula clau - - - - Comment - Comentari - - - - Block comment - Comentari de bloc - - - - Number - Nombre - - - - String - Cadena - - - - Character - Caràcter - - - - Class name - Nom de classe - - - - Define name - Defineix el nom - - - - Operator - Operador - - - - Python output - Eixida de Python - - - - Python error - Error de Python - - - - Current line highlight - Ressaltat de la línia actual - - - - Items - Elements - - Gui::Dialog::DlgSettingsImage @@ -4526,122 +3830,122 @@ També podeu utilitzar la forma: Joan Peris <joan@peris.com> Gui::Dialog::DlgSettingsMacro - + Macro Macro - + General macro settings Configuració general de macros - + Variables defined by macros are created as local variables Les variables definides per macros es creen com a variables locals - + Run macros in local environment Executa les macros en un entorn local - + Macro recording settings Paràmetres de gravació d'una macro - + Macro path Camí de la macro - + The directory in which the application will search for macros El directori en què l’aplicació buscarà macros - + Gui commands Ordres de la GUI - + Recorded macros will also contain user interface commands Les macros gravades també contindran ordres de la interfície d'usuari - + Record GUI commands Gravació de les ordres de la GUI - + Recorded macros will also contain user interface commands as comments Les macros gravades també contindran com a comentaris ordres de la interfície d'usuari - + Record as comment Grava com a comentari - + Logging Commands Ordres d'inici de sessió - + Commands executed by macro scripts are shown in Python console Les ordres executades per scripts de macro es mostren en la consola Python - + Show script commands in python console Mostra ordres de l'script en la consola de Python - + Log all commands issued by menus to file: Registra al fitxer totes les ordres publicades pels menús: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu Recent macros menu - + Size of recent macro list Size of recent macro list - + How many macros should be listed in recent macros list How many macros should be listed in recent macros list - + Keyboard shortcut count Keyboard shortcut count - + How many recent macros should have shortcuts How many recent macros should have shortcuts - + Keyboard Modifiers Keyboard Modifiers - + Keyboard modifiers, default = Ctrl+Shift+ Keyboard modifiers, default = Ctrl+Shift+ @@ -4649,130 +3953,130 @@ També podeu utilitzar la forma: Joan Peris <joan@peris.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation Navegació - + Navigation cube Cub de navegació - + Steps by turn Passos per gir - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Nombre de passos per gir quan s’utilitzen fletxes (predeterminat = 8: angle de pas = 360/8 = 45 graus) - + Corner Cantó - + Corner where navigation cube is shown Cantó on es mostra el cub de navegació - + Top left Superior esquerra - + Top right Superior dreta - + Bottom left Inferior esquerra - + Bottom right Inferior dreta - + Rotates to nearest possible state when clicking a cube face Rotates to nearest possible state when clicking a cube face - + Rotate to nearest Rotate to nearest - + Font name: Font name: - + Font name of the navigation cube Font name of the navigation cube - + Default Per defecte - + Cube size Cube size - + Size of the navigation cube Size of the navigation cube - + Color Color - + Base color for all elements Base color for all elements - + 3D Navigation Navegació 3D - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. Mostra les configuracions del botó del ratolí per a cada paràmetre de navegació escollit. Seleccioneu un paràmetre i, a continuació, premeu el botó per a veure aquestes configuracions. - + Mouse... Ratolí... - + Navigation settings set Un conjunt de configuracions de navegació - + Orbit style Estil d'òrbita - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4783,173 +4087,183 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable En rotació - + Trackball Ratolí de bola - + Free Turntable Free Turntable - + Rotation mode Rotation mode - + Rotations in 3D will use current cursor position as center for rotation Les rotacions en 3D utilitzaran la posició actual del cursor com a centre de rotació - + Window center Window center - + Drag at cursor Drag at cursor - + Object center Object center - + Default camera orientation Default camera orientation - + Default camera orientation when creating a new document or selecting the home view Default camera orientation when creating a new document or selecting the home view - + Camera zoom Camera zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Configura el zoom de la càmera per als nous documents. El valor és el diàmetre de l’esfera per a ajustar-se a la pantalla. - + mm mm - + Enable animated rotations Habilita les rotacions animades - + Enable animation Habilita l'animació - + Zoom operations will be performed at position of mouse pointer Les operacions del zoom es realitzaran en la posició del punter del ratolí - + Zoom at cursor Zoom en el cursor - + Zoom step Zoom step - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. - + Direction of zoom operations will be inverted La direcció de les operacions de zoom s’invertirà - + Invert zoom Invertix el zoom - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. Evita la inclinació de la vista quan s'està fent zoom amb els dits. Sols afecta l'estil de Navegació amb gestos. Aquesta opció no desactiva la inclinació del ratolí. - + Disable touchscreen tilt gesture Desactiva el gest d'inclinació de la pantalla tàctil - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric Isomètric - + Dimetric Dimètric - + Trimetric Trimètric - + Top Planta - + Front Alçat - + Left Esquerra - + Right Dreta - + Rear Posterior - + Bottom Inferior - + Custom Personalitzat @@ -4957,43 +4271,43 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Consola de Python - + Settings Paràmetres - + Words will be wrapped when they exceed available horizontal space in Python console Les paraules s'ajustaran quan se supere l'espai horitzontal disponible en la consola Python - + Enable word wrap Habilita l'ajust de paraules - + The cursor shape will be a block The cursor shape will be a block - + Enable block cursor Enable block cursor - + Saves Python history across sessions Saves Python history across sessions - + Save history Guarda l'historial @@ -5001,17 +4315,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection Selecció - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): Trieu el radi (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5020,27 +4354,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item Canvia automàticament a la vista 3D que conté l’element seleccionat - + Auto expand tree item when the corresponding object is selected in 3D view Expandeix automàticament l’element de l'arbre quan l’objecte corresponent està seleccionat en la vista 3D - + Preselect the object in 3D view when mouse over the tree item Selecciona l'objecte en vista 3D en fer clic amb el ratolí sobre l'element de l'arbre - + Record selection in tree view in order to go back/forward using navigation button Grava la selecció en la vista de l'arbre per a anar arrere/avant mitjançant el botó de navegació - + Add checkboxes for selection in document tree Add checkboxes for selection in document tree @@ -5048,147 +4382,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors Colors - - Selection - Selecció - - - - Enable preselection and highlight by specified color - Habilita la preselecció i ressalta pel color especificat - - - - Enable preselection highlighting - Habilita el ressaltat de la preselecció - - - - Enable selection highlighting and use specified color - Activa el ressaltat de la selecció i utilitza el color especificat - - - - Enable selection highlighting - Habilita el ressaltat de la selecció - - - + Background color for the model view Color del fons per a la vista del model - + Background color Color de fons - - + + Background will have selected color El fons tindrà el color seleccionat - + Simple color Color simple - - + + Background will have selected color gradient El fons tindrà el degradat del color seleccionat - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Top: - - + + Middle: Middle: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch Switch - + Color gradient will get selected color as middle color El degradat de color tindrà el color seleccionat com a color mitjà - + Middle color Color mitjà - - + + Bottom: Bottom: - + Tree view Vista d'arbre - + Object being edited Objecte que s'està editant - + Background color for objects in tree view that are currently edited Color de fons per a objectes en vista d’arbre que s’editen actualment - + Active container Contenidor actiu - + Background color for active containers in tree view Color de fons per a contenidors actius en la vista d’arbre - + Central: Central: - + Midway: Midway: - + End: End: @@ -5300,12 +4609,12 @@ El sistema de preferències és el fixat en les preferències generals. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unknown unit: - + unit mismatch la unitat no coincideix @@ -5313,7 +4622,7 @@ El sistema de preferències és el fixat en les preferències generals. Gui::Dialog::DockablePlacement - + Placement Posició @@ -5364,60 +4673,60 @@ La columna 'Estat? mostra si el document es pot recuperar. No s'ha recuperat encara. - + Unknown problem occurred S'ha produït un problema desconegut. - - + + Failed to recover No s'ha pogut recuperar. - + Successfully recovered S'ha recuperat correctament. - + Finish Finalitza - - + + Delete Elimina - - + + Cleanup Neteja - + Are you sure you want to delete the selected transient directories? Esteu segur que voleu eliminar els directoris transitoris seleccionats? - + When deleting the selected transient directory you won't be able to recover any files afterwards. Si suprimiu el directori transitori seleccionat després no podreu recuperar cap fitxer. - + Are you sure you want to delete all transient directories? Esteu segur que voleu eliminar tots els directoris transitoris? - + When deleting all transient directories you won't be able to recover any files afterwards. Si suprimiu tots els directoris transitoris després no podreu recuperar cap fitxer. - + Transient directories deleted. Directoris transitoris eliminats @@ -5541,7 +4850,7 @@ La columna 'Estat? mostra si el document es pot recuperar. Carpetes d'icones - + Add icon folder Afig una carpeta d'icones @@ -5554,12 +4863,12 @@ La columna 'Estat? mostra si el document es pot recuperar. Afig o elimina carpetes d'icones personalitzades - + Remove folder Elimina la carpeta - + Removing a folder only takes effect after an application restart. L'acció d'eliminar una carpeta només té efecte després de reiniciar l'aplicació. @@ -5629,79 +4938,79 @@ La columna 'Estat? mostra si el document es pot recuperar. Gui::Dialog::ParameterGroup - - + + Expand Expandeix - + Add sub-group Afig un subgrup - - + + Remove group Elimina el grup - + Rename group Reanomena el grup - + Export parameter Exporta el paràmetre - + Import parameter Importa el paràmetre - + Collapse Redueix - + Do you really want to remove this parameter group? Segur que voleu eliminar aquest grup de paràmetres? - + Existing sub-group Subgrup existent - + The sub-group '%1' already exists. El subgrup '%1' ja existeix. - + Export parameter to file Exporta el paràmetre al fitxer - + Import parameter from file Importa el paràmetre des del fitxer - + Import Error Error d'importació - + Reading from '%1' failed. La lectura de '%1' ha fallat. @@ -5709,65 +5018,65 @@ La columna 'Estat? mostra si el document es pot recuperar. Gui::Dialog::ParameterValue - + Change value Canvia el valor - + Remove key Elimina la clau - + Rename key Reanomena la clau - + New Nou - + New string item Element de cadena nou - + New float item Element flotant nou - + New integer item Element enter nou - + New unsigned item Element sense signe nou - + New Boolean item Element booleà nou - - - - - + + + + + Existing item Element existent - - - - - + + + + + The item '%1' already exists. L'element '%1' ja existeix. @@ -5913,17 +5222,17 @@ La columna 'Estat? mostra si el document es pot recuperar. Aplica - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Seleccioneu 1, 2 o 3 punts abans de fer clic en aquest botó. Un punt pot estar en un vèrtex, cara o aresta. Si esteu en una cara o aresta, el punt utilitzat serà el punt en la cara o aresta en la posició del ratolí. Si 1 punt és seleccionat serà utilitzat com a centre de rotació. Si se seleccionen 2 punts, el punt mig entre ells serà el centre de rotació i un nou eix personalitzat es crearà, si és necessari. Si se seleccionen 3 punts, el primer punt es converteix en el centre de rotació i es troba en el vector que és normal al pla definit per 3 punts. Alguns detalls de distància i angle es proporcionen en la visualització d'informe, que pot ser útil per a alinear objectes. Per a la vostra comoditat, quan feu Majúscules + clic s'utilitza la distància adequada o l'angle es copia al porta-retalls. - + Incorrect quantity La quantitat és incorrecta. - + There are input fields with incorrect input, please ensure valid placement values! Hi ha camps d'entrada amb entrada incorrecta, assegureu-vos que els valors d'emplaçament són vàlids. @@ -5931,12 +5240,12 @@ La columna 'Estat? mostra si el document es pot recuperar. Gui::Dialog::PrintModel - + Button Botó - + Command Ordre @@ -6000,17 +5309,17 @@ La columna 'Estat? mostra si el document es pot recuperar. Gui::Dialog::SceneModel - + Inventor Tree Arbre d'Inventor - + Name Nom - + Nodes Nodes @@ -6066,14 +5375,14 @@ La columna 'Estat? mostra si el document es pot recuperar. Gui::Dialog::Transform - - + + Cancel Cancel·la - - + + Transform Transforma @@ -6171,13 +5480,13 @@ originally selected prior to opening this dialog - + Model Model - + Tasks Tasques @@ -6185,7 +5494,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View Visualització de les propietats @@ -6193,82 +5502,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options Opcions - + Display message types Display message types - - + + Normal messages Normal messages - - + + Log messages Log messages - - + + Warnings Warnings - - + + Errors Errors - - + + Critical messages Critical messages - + Show Report view on Show Report view on - + Redirect Python output Redirigeix l'eixida de Python - + Redirect Python errors Redirigeix els errors de Python - + Go to end Vés al final - + Clear Neteja - + Save As... Anomena i guarda... - + Save Report Output Guarda l'eixida de l'informe - + Plain Text Files Fitxers de text net @@ -6277,13 +5586,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output Eixida - + Python console Consola de Python @@ -6321,72 +5630,72 @@ originally selected prior to opening this dialog Llista d'objectes seleccionats - + Select only Selecciona només - + Selects only this object Selecciona només aquest objecte - + Deselect Desselecciona - + Deselects this object Desselecciona aquest objecte - + Zoom fit Ajust del zoom - + Selects and fits this object in the 3D window Selecciona i ajusta l'objecte en una finestra 3D - + Go to selection Ves a la selecció - + Selects and locates this object in the tree view Selecciona i col·loca l'objecte en una vista d'arbre - + Mark to recompute Marca per a recalcular - + Mark this object to be recomputed Marca aquest objecte per a recalcular-lo - + To python console A la consola Python - + Reveals this object and its subelements in the python console. Mostra aquest objecte i els seus subelements en la consola Python. - + Duplicate subshape Subforma duplicada - + Creates a standalone copy of this subshape in the document Crea una còpia independent d'aquesta subforma en el document @@ -6399,7 +5708,7 @@ originally selected prior to opening this dialog Aplicació - + Labels & Attributes Etiquetes i atributs @@ -6447,27 +5756,27 @@ Do you want to save your changes? Fitxer PDF - + untitled[*] sense títol[*] - + - Editor - Editor - + %1 chars removed S'han eliminat %1 caràcters - + %1 chars added S'han afegit %1 caràcters - + Formatted Formatat @@ -6491,13 +5800,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file Seleccioneu un fitxer - + Select a directory Seleccioneu un directori @@ -6505,13 +5814,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as Anomena i guarda - - + + Open Obri @@ -6519,12 +5828,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended Expandit - + All files (*.*) Tots els fitxers (*.*) @@ -6532,27 +5841,27 @@ Do you want to save your changes? Gui::Flag - + Top left Superior esquerra - + Bottom left Inferior esquerra - + Top right Superior dreta - + Bottom right Inferior dreta - + Remove Elimina @@ -6560,22 +5869,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Toqueu o feu clic amb el botó esquerre del ratolí. - + Drag screen with two fingers OR press right mouse button. Arrossegueu la pantalla amb dos dits o premeu el botó dret del ratolí. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Arrossegueu la pantalla amb un dit o premeu el botó esquerre del ratolí. En l'entorn d'esbós i altres modes d'edició, manteniu, a més, la tecla Alt. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pinceu (poseu dos dits en la pantalla i separeu-los o ajunteu-los), feu girar la roda del ratolí o utilitzeu les tecles Re Pàg/Av Pàg del teclat. @@ -6583,74 +5892,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found No s'ha trobat el Graphviz. - + Graphviz couldn't be found on your system. El Graphviz no s'ha pogut trobar al sistema. - + Read more about it here. Més informació ací. - + Do you want to specify its installation path if it's already installed? Voleu especificar el seu camí d'instal·lació si ja està instal·lat? - + Graphviz installation path Camí d'instal·lació del Graphviz - + Graphviz failed Ha fallat el Graphviz. - + Graphviz failed to create an image file El Graphviz no ha pogut crear un fitxer d'imatge. - + PNG format Format PNG - + Bitmap format Format de mapa de bits - + GIF format Format GIF - + JPG format Format JPG - + SVG format Format SVG - - + + PDF format Format PDF - - + + Export graph Exporta el gràfic @@ -6658,12 +5967,12 @@ Do you want to save your changes? Gui::InputField - + Edit Edita - + Save value Guarda el valor @@ -6671,22 +5980,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button Premeu la tecla CTRL i el botó esquerre del ratolí - + Press middle mouse button premeu el botó central del ratolí - + Press left mouse button Premeu el botó esquerre del ratolí - + Scroll middle mouse button Feu rodar el botó central del ratolí @@ -6694,7 +6003,7 @@ Do you want to save your changes? Gui::LabelEditor - + List Llista @@ -6702,66 +6011,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... Definit per l'usuari... - + - - + + Wrong direction Direcció incorrecta - + - - + + Direction must not be the null vector La direcció no pot ser un vector nul. @@ -6769,22 +6078,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: Direction: @@ -6792,17 +6101,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros Macros - + Macro file doesn't exist El fitxer de macro no existeix. - + No such macro file: '%1' No existeix aquest fitxer de macro: '%1' @@ -6810,63 +6119,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension Dimensió - + Ready Preparat - + Help addon needed! Help addon needed! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager Open Addon Manager - + Close All Tanca-ho tot - - + + Toggles this toolbar Commuta la barra d'eines - - + + Toggles this dockable window Commuta la finestra flotant - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document El document no s'ha guardat. - + The exported object contains external link. Please save the documentat least once before exporting. L’objecte exportat conté un enllaç extern. Guardeu el documenta almenys una vegada abans d’exportar-lo. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? Per a enllaçar amb objectes externs, el document s’ha de guardar almenys una vegada. @@ -6876,121 +6195,121 @@ Voleu guardar el document ara? Gui::ManualAlignment - - - - - + + + + + Manual alignment Alineació manual - + The alignment is already in progress. La alineació ja està en curs. - + Alignment[*] Alineació[*] - + Please, select at least one point in the left and the right view Seleccioneu almenys un punt en les vistes esquerra i dreta - + Please, select at least %1 points in the left and the right view Selecciioneu almenys %1 punts en les vistes esquerra i dreta - + Please pick points in the left and right view Seleccioneu punts en les vistes esquerra i dreta - + The alignment has finished L'alineació ha finalitzat. - + The alignment has been canceled L'alineació s'ha cancel·lat. - - + + Too few points picked in the left view. At least %1 points are needed. No s'han seleccionat prou punts en la vista esquerra. Fan falta almenys %1 punts. - - + + Too few points picked in the right view. At least %1 points are needed. No s'han seleccionat prou punts en la vista dreta. Fan falta almenys %1 punts. - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. S'ha seleccionat un nombre diferent de punts en les vistes esquerra i dreta. En la vista esquerra s'han seleccionat %1 punts, mentre que en la vista dreta se n'han seleccionat %2. - + Try to align group of views Proveu d'alinear el grup de vistes - + The alignment failed. How do you want to proceed? Ha fallat l'alineació. Voleu continuar? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. S'ha seleccionat un nombre diferent de punts en les vistes esquerra i dreta. En la vista esquerra s'han seleccionat %1 punts, mentre que en la vista dreta se n'han seleccionat %2. - + Point_%1 Point_%1 - + Point picked at (%1,%2,%3) Punt seleccionat en (%1,%2,%3) - + No point was found on model No s'ha trobat cap punt en el model. - + No point was picked No s'ha seleccionat cap punt. - + &Align &Align - + &Remove last point &Remove last point - + &Cancel &Cancel·la - + &Synchronize views &Synchronize views @@ -6998,22 +6317,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Toqueu o feu clic amb el botó esquerre del ratolí. - + Drag screen with two fingers OR press ALT + middle mouse button. Arrossegueu la pantalla amb dos dits o premeu ALT i el botó central del ratolí. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Arrossegueu la pantalla amb un dit o premeu Alt i el botó esquerre del ratolí. En l'entorn d'esbós i altres modes d'edició, manteniu, a més, la tecla Alt. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pinceu (poseu dos dits en la pantalla i separeu-los o ajunteu-los); o feu girar la rodeta del ratolí; o premeu Alt i el botó dret del ratolí; o utilitzeu les tecles Re Pàg/Av Pàg del teclat. @@ -7021,7 +6340,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Press modifier keys @@ -7037,22 +6356,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press CTRL and middle mouse button Premeu la tecla CTRL i el botó central del ratolí - + Press CTRL and right mouse button Premeu la tecla CTRL i el botó dret del ratolí - + Press CTRL and left mouse button Premeu la tecla CTRL i el botó esquerre del ratolí @@ -7060,22 +6379,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press right mouse button and move mouse Press right mouse button and move mouse - + Press left mouse button and move mouse Press left mouse button and move mouse - + Press middle mouse button or SHIFT and right mouse button Press middle mouse button or SHIFT and right mouse button @@ -7083,17 +6402,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit Edita - + Save value Guarda el valor - + Clear list Buida la llista @@ -7124,12 +6443,12 @@ How do you want to proceed? Restant: %1 - + Aborting S'interromp - + Do you really want to abort the operation? Esteu segur que voleu interrompre l'operació? @@ -7137,7 +6456,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Canvia l'objecte enllaçat @@ -7145,12 +6464,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error Error - + Object not found No s'ha trobat l'objecte. @@ -7221,13 +6540,13 @@ How do you want to proceed? Gui::PropertyView - + View Visualitza - + Data Dades @@ -7274,77 +6593,77 @@ Do you want to exit without saving your data? S'ha produït una excepció de C++ no gestionada desconeguda. - + &Copy &Copia - + &Copy command &Copia l'ordre - + &Copy history &Copia l'historial - + Save history as... Anomena i guarda l'historial... - + Save history Guarda l'historial - + Saves Python history across %1 sessions Guarda l'historial de Python entre %1 sessions - + &Paste A&pega - + Select All Selecciona-ho tot - + Clear console Neteja la consola - + Insert file name... Inseriu un nom de fitxer... - + Word wrap Ajust de paraules - + Save History Guarda l'historial - + Macro Files Fitxers de macro - + Insert file name Inseriu un nom de fitxer - + All Files Tots els fitxers @@ -7352,7 +6671,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment Comentari @@ -7365,17 +6684,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 Obri el fitxer %1 - + File not found No s'ha trobat el fitxer. - + The file '%1' cannot be opened. El fitxer '%1' no es pot obrir. @@ -7383,22 +6702,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none cap - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 Run macro %1 (Shift+click to edit) keyboard shortcut: %2 - + File not found No s'ha trobat el fitxer. - + The file '%1' cannot be opened. El fitxer '%1' no es pot obrir. @@ -7406,22 +6725,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press middle mouse button premeu el botó central del ratolí - + Press SHIFT and middle mouse button Premeu la tecla MAJ i el botó central del ratolí - + Scroll middle mouse button Feu rodar el botó central del ratolí @@ -7452,17 +6771,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module Seleccioneu el mòdul - + Open %1 as Obri %1 com a - + Select Selecciona @@ -7527,13 +6846,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation Documentació automàtica de mòduls Python - - + + Opens a browser to show the Python modules documentation Obri un navegador per a mostrar la documentació dels mòduls Python @@ -7686,38 +7005,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated Text actualitzat - + The text of the underlying object has changed. Discard changes and reload the text from the object? El text de l'objecte subjacent ha canviat. Voleu descartar els canvis i tornar a carregar el text des de l'objecte? - + Yes, reload. Sí, torna a carregar-lo. - + Unsaved document El document no s'ha guardat. - + Do you want to save your changes before closing? Voleu guardar els canvis abans de tancar? - + If you don't save, your changes will be lost. Si no guardeu els canvis, es perdran. - - + + Edit text Edita el text @@ -7725,22 +7044,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press middle mouse button premeu el botó central del ratolí - + Press right mouse button Press right mouse button - + Scroll middle mouse button Feu rodar el botó central del ratolí @@ -7748,22 +7067,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button Premeu el botó esquerre del ratolí - + Press SHIFT button Premeu la tecla MAJ - + Press ALT button Premeu la tecla ALT - + Press CTRL and SHIFT buttons Premeu les tecles CTRL i MAJ @@ -7989,7 +7308,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view Vista d'arbre @@ -7997,7 +7316,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search Cerca @@ -8005,183 +7324,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Busca... - + Search for objects Busca objectes - + Activate document Activa el document - + Activate document %1 Activa el document %1 - + Tree settings Tree settings - + Show description column Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - + Group Grup - + Labels & Attributes Etiquetes i atributs - + Description Descripció - + Show items hidden in tree view Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view Toggles the visibility of selected items in the tree view - + Create group... Crea un grup... - + Create a group Crea un grup - - + + Rename Reanomena - + Rename object Reanomena l'objecte - + Finish editing Finalitza l'edició - + Finish editing object Finalitza l'edició de l'objecte - + Add dependent objects to selection Add dependent objects to selection - + Adds all dependent objects to the selection Adds all dependent objects to the selection - + Close document Tanca el document - + Close the document Tanca el document - + Reload document Torneu a la carregar el document - + Reload a partially loaded document Torna a carregar un document que s'ha carregat parcialment - + Skip recomputes Omet el recàlcul - + Enable or disable recomputations of document Activa o desactiva els recàlculs del document - + Allow partial recomputes Permet recàlculs parcials - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Habilita o inhabilita el recàlcul de l'edició d'objectes quan estiga activat «Omet el recàlcul» - + Mark to recompute Marca per a recalcular - + Mark this object to be recomputed Marca aquest objecte per a recalcular-lo - + Recompute object Recalcula l'objecte - + Recompute the selected object Recalcula l'objecte seleccionat - + (but must be executed) (but must be executed) - + %1, Internal name: %2 %1, nom intern: %2 @@ -8212,12 +7531,12 @@ Do you want to specify another directory? Fitxer PDF - + Opening file failed No s'ha pogut obrir el fitxer. - + Can't open file '%1' for writing. No s'ha pogut obrir el fitxer '%1' per a escriure-hi. @@ -8225,7 +7544,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench Selecciona el banc de treball '%1' @@ -8233,37 +7552,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services Serveis - + Hide %1 Amaga %1 - + Hide Others Amaga els altres - + Show All Mostra-ho tot - + Preferences... Preferències... - + Quit %1 Tanca %1 - + About %1 Quant a %1 @@ -8283,11 +7602,6 @@ Do you want to specify another directory? Position - - - Form - Forma - X: @@ -8382,14 +7696,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input L'entrada no és vàlida - - + + Input in line %1 is not a number L'entrada en la línia %1 no és un nombre. @@ -8397,37 +7711,37 @@ Do you want to specify another directory? QDockWidget - + Tree view Vista d'arbre - + Property view Visualització de les propietats - + Selection view Visualització de la selecció - + Combo View Visualització combinada - + DAG View Vista DAG - + Report view Visualització de l'informe - + Python console Consola de Python @@ -8440,31 +7754,32 @@ Do you want to specify another directory? QObject - - + + General General - - + + + Display Visualització - + Workbenches Bancs de treball - - - + + + Python Python @@ -8492,17 +7807,27 @@ Do you want to specify another directory? No es pot guardar el tipus de fitxer desconegut: %1 - + Workbench failure Fallada del banc de treball - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception Excepció @@ -8548,8 +7873,8 @@ Do you want to specify another directory? S'està exportant a PDF... - + Unsaved document El document no s'ha guardat. @@ -8570,39 +7895,39 @@ Do you want to specify another directory? Error de dependència - + Copy selected Copia la selecció - + Copy active document Copia el document actiu - + Copy all documents Copia tots el documents - + Paste Apega - + Expression error S'ha produït un error d'expressió - + Failed to parse some of the expressions. Please check the Report View for more details. No s'han pogut analitzar algunes de les expressions. Per a obtindre més detalls, consulteu la vista de l'informe. - + Failed to paste expressions No s'han pogut apegar les expressions @@ -8636,224 +7961,224 @@ Be aware the point where you click matters. Seleccioneu dos objectes. Tingueu en compte el punt on cliqueu. - - + + Save views... Guarda les visualitzacions... - - + + Load views... Carrega les visualitzacions... - - + + Freeze view Congela les visualitzacions - - + + Clear views Neteja les visualitzacions - - - + + + Restore view &%1 Restaura la visualització &%1 - + Save frozen views Guarda les visualitzacions congelades - - + + Frozen views Visualitzacions congelades - - + + Restore views Restaura les visualitzacions - + Importing the restored views would clear the already stored views. Do you want to continue? La importació de les visualitzacions restaurades netejarà les visualitzacions ja emmagatzemades. Voleu continuar? - + Restore frozen views Restaura les visualitzacions congelades - + Cannot open file '%1'. No es pot obrir el fitxer '%1'. - + files fitxers - + Save image Save image - + Choose an image file to open Trieu un fitxer d'imatge per a obrir-lo - + New sub-group Subgrup nou - - - - - - + + + + + + Enter the name: Introduïu el nom nou: - - + + New text item Nou element de text - - + + Enter your text: Introduïu el text: - - + + New integer item Element enter nou - - - - - - + + + + + + Enter your number: Introduïu el vostre número: - - + + New unsigned item Element sense signe nou - - + + New float item Element flotant nou - + New Boolean item Element booleà nou - - + + Choose an item: Trieu un element: - + New boolean item Element booleà nou - + Rename group Reanomena el grup - + The group '%1' cannot be renamed. El grup '%1' no es pot reanomenar. - + Existing group Grup existent - + The group '%1' already exists. El grup '%1' ja existeix. - - - - - + + + + + Change value Canvia el valor - + Type Tipus - + Notifier Notifier - + Message Message - + Notifier: Notifier: - + Do you want to skip confirmation of further critical message notifications while loading the file? Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8862,44 +8187,44 @@ Do you want to continue? - + Are you sure you want to continue? Are you sure you want to continue? - + Please check report view for more... Please check report view for more... - + Physical path: Physical path: - - + + Document: Document: - - + + Path: Camí: - + Identical physical path Identical physical path - + Could not save document Could not save document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8912,102 +8237,102 @@ Would you like to save the file with a different name? Would you like to save the file with a different name? - - - + + + Saving aborted S'avorta el procés de guardar. - + Save dependent files Guarda els fitxers dependents - + The file contains external dependencies. Do you want to save the dependent files, too? El fitxer conté dependències externes. Voleu guardar també els fitxers dependents? - - + + Saving document failed No s'ha pogut guardar el document. - + Save document under new filename... Guarda el document amb un altre nom... - - + + Save %1 Document Guarda el document %1 - + Document Document - - + + Failed to save document No s'ha pogut guardar el document - + Documents contains cyclic dependencies. Do you still want to save them? Els documents contenen dependències cícliques. Encara voleu guardar-los? - + Save a copy of the document under new filename... Guarda una còpia del document amb un altre nom... - + %1 document (*.FCStd) Document %1 (*.FCStd) - + Document not closable No es pot tancar el document. - + The document is not closable for the moment. De moment el document no es pot tancar. - + Document not saved Document not saved - + The document%1 could not be saved. Do you want to cancel closing it? The document%1 could not be saved. Do you want to cancel closing it? - + Undo Desfés - + Redo Refés - + There are grouped transactions in the following documents with other preceding transactions Hi ha transaccions agrupades en els documents següents amb altres transaccions anteriors - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9021,95 +8346,95 @@ Trieu «Interromp» per a interrompre Guarda la macro - - + + Finish Finalitza - - + + Clear Neteja - - - + + + Cancel Cancel·la - + Inner Interior - + Outer Exterior - + Split Divideix - - + + No Browser Cap navegador - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. No es pot obrir el vostre navegador. Obriu una finestra del navegador i escriviu-hi: http://localhost:%1. - + No Server Cap servidor - + Unable to start the server to port %1: %2. No es pot iniciar el servidor al port %1: %2. - + Unable to open your system browser. No es pot obrir el navegador del sistema. - + Options... Opcions... - + Out of memory No hi ha prou memòria. - + Not enough memory available to display the data. No hi ha prou memòria disponible per a mostrar les dades. - - + + Cannot find file %1 No s'ha pogut trobar el fitxer '%1'. - + Cannot find file %1 neither in %2 nor in %3 No s'ha trobat el fitxer %1 ni en %2 ni en %3 - + Navigation styles Estils de navegació @@ -9119,8 +8444,8 @@ Please open a browser window and type in: http://localhost:%1. Mou l'anotació - - + + Transform Transforma @@ -9130,42 +8455,42 @@ Please open a browser window and type in: http://localhost:%1. Do you want to close this dialog? - + Do you want to save your changes to document '%1' before closing? Voleu guardar els vostres canvis en el document '%1' abans de tancar? - + Do you want to save your changes to document before closing? Voleu guardar els vostres canvis en el document abans de tancar? - + If you don't save, your changes will be lost. Si no guardeu els canvis, es perdran. - + Apply answer to all Envia la resposta a tots - + %1 Document(s) not saved %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? Some documents could not be saved. Do you want to cancel closing? - + Delete macro Suprimeix la macro - + Not allowed to delete system-wide macros No es permet eliminar les macros del sistema @@ -9175,27 +8500,27 @@ Please open a browser window and type in: http://localhost:%1. Origen - + Delete group content? Voleu suprimir el contingut del grup? - + The %1 is not empty, delete its content as well? L'%1 no és buit, voleu esborrar-ne le contingut? - + Translation: Translació: - + Rotation: Rotació: - + Toggle active part Commuta la part activa @@ -9258,88 +8583,88 @@ Please open a browser window and type in: http://localhost:%1. No s'han pogut importar tots els enllaços - - + + Invalid name Nom no vàlid - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. El nom de propietat o el del grup només ha de contenir caràcters alfanumèrics, guions baixos i no ha de començar amb un dígit. - + The property '%1' already exists in '%2' La propietat «%1» ja existeix en «%2» - + Add property Afig una propietat - + Failed to add property to '%1': %2 No s'ha pogut afegir la propietat a «%1»: %2 - - + + Drag & drop failed S'ha produït un error en arrossegar i deixar anar - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed Please select which objects to copy when the configuration is changed - + Apply to all Apply to all - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Apply the setting to all links. Or, uncheck this option to apply only to this link. - + Copy on change Copy on change - + Enable Habilita - + Enable auto copy of linked object when its configuration is changed Enable auto copy of linked object when its configuration is changed - + Tracking Seguiment - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9348,17 +8673,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Disable copy on change - + Refresh configurable object Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9369,28 +8694,28 @@ the current copy will be lost. - + Toggle array elements Toggle array elements - + Change whether show each link array element as individual objects Change whether show each link array element as individual objects - + Transform at the origin of the placement Transform at the origin of the placement - - + + Override colors... Sobreescriu els colors... - + Edit %1 Edita %1 @@ -9413,12 +8738,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: No es permet: - + Selection not allowed by filter La selecció no és permesa pel filtre. @@ -9426,9 +8751,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection Selecció d'elements de la caixa @@ -9436,13 +8761,13 @@ the current copy will be lost. StdBoxSelection - + Box selection Quadre de selecció - - + + Activate the box selection tool Activate the box selection tool @@ -9520,13 +8845,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross Activa/desactiva els eixos de coordenades - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9632,13 +8957,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... Visualitza en rotació... - - + + View turntable Visualitza en rotació @@ -9758,13 +9083,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style Estil de dibuix - - + + Change the draw style of the objects Change the draw style of the objects @@ -9828,13 +9153,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions Accions d’expressió - - + + Actions that apply to expressions Actions that apply to expressions @@ -9951,13 +9276,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display Congela la visualització - - + + Freezes the current view position Congela la posició de la vista actual @@ -9978,13 +9303,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects Oculta tots els objectes - - + + Hide all objects in the document Oculta tots els objectes en el document @@ -9992,13 +9317,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection Oculta la selecció - - + + Hide all selected objects Oculta tots els objectes seleccionats @@ -10272,13 +9597,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance Mesura la distància - - + + Activate the distance measurement tool Activate the distance measurement tool @@ -10337,8 +9662,8 @@ the current copy will be lost. Crea un document buit nou - - + + Unnamed Sense nom @@ -10566,8 +9891,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - Fitxers recents + Open Recent + Open Recent @@ -10705,13 +10030,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... Inspector d'escena... - - + + Scene inspector Inspector d'escena @@ -10719,13 +10044,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Ves arrere - - + + Go back to previous selection Torna a la selecció anterior @@ -10733,13 +10058,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Caixa contenidora - - + + Show selection bounding box Mostra la caixa contenidora de la selecció @@ -10747,13 +10072,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Ves avant - - + + Repeat the backed selection Repeteix la selecció emmagatzemada @@ -10775,13 +10100,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects Seleccioneu objectes visibles - - + + Select visible objects in the active document Seleccioneu objectes visibles en el document actiu @@ -10803,13 +10128,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... Aparença... - - + + Sets the display properties of the selected object Estableix les propietats de visualització dels objectes seleccionats @@ -10817,13 +10142,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects Mostra tots els objectes - - + + Show all objects in the document Mostra tots els objectes en el document @@ -10831,13 +10156,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection Mostra la selecció - - + + Show all selected objects Mostra tots els objectes seleccionats @@ -10873,13 +10198,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... Mapatge de textura... - - + + Texture mapping Mapatge de textura @@ -10915,13 +10240,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane Pla de retallada - - + + Toggles clipping plane for active view Commuta el pla de retallada per a la vista activa @@ -10929,13 +10254,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode Commuta el mode navegació i edició - - + + Toggle between navigation and edit mode Commuta entre el mode de navegació i d'edició @@ -10943,13 +10268,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects Commuta tots els objectes - - + + Toggles visibility of all objects in the active document Commuta la visibilitat de tots els objectes en el document actiu @@ -10957,13 +10282,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability Commuta la selectivitat - - + + Toggles the property of the objects to get selected in the 3D-View Commuta la propietat dels objectes de ser seleccionats en la vista 3D @@ -10971,13 +10296,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility Commuta la visibilitat - - + + Toggles visibility Commuta la visibilitat @@ -11027,13 +10352,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Contrau l'element seleccionat - - + + Collapse currently selected tree items Contrau els elements d'arbre seleccionats actualment @@ -11041,13 +10366,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Expandeix l'element seleccionat - - + + Expand currently selected tree items Expandeix els elements d'arbre seleccionats actualment @@ -11055,13 +10380,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Selecciona totes les instàncies - - + + Select all instances of the current selected object Selecciona totes les instàncies de l'objecte seleccionat actualment @@ -11069,13 +10394,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions Accions de la vista d'arbre - - + + TreeView behavior options and actions Opcions i accions del comportament de la vista d'arbre @@ -11139,13 +10464,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom Inferior - - + + Set to bottom view Estableix la vista inferior @@ -11153,13 +10478,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view Crea una visualització nova - - + + Creates a new view window for the active document Crea una nova finestra de visualització per al document actiu @@ -11167,13 +10492,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric Dimètric - - + + Set to dimetric view Estableix la vista dimètrica @@ -11181,13 +10506,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor exemple #1 - - + + Shows a 3D texture with manipulator Mostra una textura 3D amb manipulació @@ -11195,13 +10520,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor exemple #2 - - + + Shows spheres and drag-lights Mostra esferes i llums desplaçables @@ -11209,13 +10534,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor exemple #3 - - + + Shows a animated texture Mostra una textura animada @@ -11223,13 +10548,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all Ajusta-ho tot - - + + Fits the whole content on the screen Ajusta el contingut complet a la pantalla @@ -11237,13 +10562,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection Ajusta la selecció - - + + Fits the selected content on the screen Ajusta el contingut seleccionat a la pantalla @@ -11251,13 +10576,13 @@ the current copy will be lost. StdCmdViewFront - + Front Alçat - - + + Set to front view Estableix la vista en alçat @@ -11265,13 +10590,13 @@ the current copy will be lost. StdCmdViewHome - + Home Home - - + + Set to default home view Set to default home view @@ -11279,13 +10604,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric Isomètric - - + + Set to isometric view Estableix la vista isomètrica @@ -11293,13 +10618,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position Publica la posició de la càmera - - + + Issue the camera position to the console and to a macro, to easily recall this position Publica la posició de la càmera en la consola i en una macro, tornar a cridar fàcilment a aquesta posició @@ -11307,13 +10632,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns Columnes estèreo intercalades - - + + Switch stereo viewing to Interleaved Columns Canvia la vista estèreo a columnes intercalades @@ -11321,13 +10646,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows Files estèreo intercalades - - + + Switch stereo viewing to Interleaved Rows Canvia la vista estèreo a files intercalades @@ -11335,13 +10660,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off Desactiva l'estèreo - - + + Switch stereo viewing off Canvia la vista estèreo a desactivada @@ -11349,13 +10674,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer Memòria intermèdia estèreo quàdruple - - + + Switch stereo viewing to quad buffer Canvia la vista estèreo a memòria intermèdia quàdruple @@ -11363,13 +10688,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan Estèreo roig/cian - - + + Switch stereo viewing to red/cyan Canvia la vista estèreo a roig/cian @@ -11377,13 +10702,13 @@ the current copy will be lost. StdCmdViewLeft - + Left Esquerra - - + + Set to left view Estableix la vista esquerra @@ -11391,13 +10716,13 @@ the current copy will be lost. StdCmdViewRear - + Rear Posterior - - + + Set to rear view Estableix la vista posterior @@ -11419,13 +10744,13 @@ the current copy will be lost. StdCmdViewRight - + Right Dreta - - + + Set to right view Estableix la vista dreta @@ -11433,13 +10758,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left Gira a l'esquerra - - + + Rotate the view by 90° counter-clockwise Gireu la vista 90 ° en sentit antihorari @@ -11447,13 +10772,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right Gira a la dreta - - + + Rotate the view by 90° clockwise Gira la vista 90° en sentit horari @@ -11475,13 +10800,13 @@ the current copy will be lost. StdCmdViewTop - + Top Planta - - + + Set to top view Estableix la vista en planta @@ -11489,13 +10814,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric Trimètric - - + + Set to trimetric view Estableix la vista trimètrica @@ -11503,13 +10828,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-VR - - + + Extend the FreeCAD 3D Window to a Oculus Rift Estén la finestra 3D del FreeCAD a l'Oculus Rift @@ -11573,13 +10898,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen Pantalla completa - - + + Display the main window in fullscreen mode Mostrar la finestra principal en mode de pantalla completa @@ -11615,13 +10940,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11629,13 +10954,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11643,13 +10968,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand Contrau/Expandeix - - + + Expand active document and collapse all others Expandeix el document actiu i contrau tota la resta @@ -11657,12 +10982,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging Inicia l'arrossegament - + Initiate dragging of current selected tree items Inicia l'arrossegament dels elements d'arbre seleccionats actualment @@ -11670,13 +10995,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Document múltiple - - + + Display all documents in the tree view Mostra tots els documents en la vista d'arbre @@ -11684,12 +11009,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Preselecció - + Preselect the object in 3D view when mouse over the tree item Selecciona l'objecte en vista 3D en fer clic amb el ratolí sobre l'element de l'arbre @@ -11697,12 +11022,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection Grava la selecció - + Record selection in tree view in order to go back/forward using navigation button Grava la selecció en la vista de l'arbre per a anar arrere/avant mitjançant el botó de navegació @@ -11710,13 +11035,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection Ves a la selecció - - + + Scroll to first selected item Desplaça fins al primer element seleccionat @@ -11724,13 +11049,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Document únic - - + + Only display the active document in the tree view Mostra només el document actiu a la vista d'arbre @@ -11738,12 +11063,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Sincronitza el posicionament - + Auto adjust placement on drag and drop objects across coordinate systems Ajusta automàticament el posicionament en arrossegar i deixar anar objectes en els sistemes de coordenades @@ -11751,12 +11076,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Sincronitza la selecció - + Auto expand tree item when the corresponding object is selected in 3D view Expandeix automàticament l’element de l'arbre quan l’objecte corresponent està seleccionat en la vista 3D @@ -11764,12 +11089,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view Sincronitza la vista - + Auto switch to the 3D view containing the selected item Canvia automàticament a la vista 3D que conté l’element seleccionat @@ -11777,13 +11102,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom Zona de zoom - - + + Activate the box zoom tool Activate the box zoom tool @@ -11791,13 +11116,13 @@ the current copy will be lost. StdViewDock - + Docked Acoblat - - + + Display the active view either in fullscreen, in undocked or docked mode Mostra la vista activa en pantalla completa, en mode desacoblat o acoblat @@ -11805,13 +11130,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window Finestra del document - - + + Display the active view either in fullscreen, in undocked or docked mode Mostra la vista activa en pantalla completa, en mode desacoblat o acoblat @@ -11819,13 +11144,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen Pantalla completa - - + + Display the active view either in fullscreen, in undocked or docked mode Mostra la vista activa en pantalla completa, en mode desacoblat o acoblat @@ -11833,13 +11158,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Save image... - - + + Creates a screenshot of the active view Crea una captura de pantalla de la vista activa @@ -11847,13 +11172,13 @@ the current copy will be lost. StdViewUndock - + Undocked Desacoblat - - + + Display the active view either in fullscreen, in undocked or docked mode Mostra la vista activa en pantalla completa, en mode desacoblat o acoblat @@ -11861,13 +11186,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In Amplia - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11875,13 +11200,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out Redueix - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11916,72 +11241,72 @@ Segur que voleu continuar? Std_DrawStyle - + As is Com és actualment - + Normal mode Mode normal - + Points Punts - + Points mode Mode de punts - + Wireframe Filferro - + Wireframe mode Mode de filferro - + Hidden line Línia amagada - + Hidden line mode Mode de línia amagada - + No shading Sense ombrejat - + No shading mode Mode sense ombrejat - + Shaded Ombrejat - + Shaded mode Mode ombrejat - + Flat lines Línies planes - + Flat lines mode Mode de línies planes @@ -12044,32 +11369,32 @@ Encara voleu continuar? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12077,117 +11402,117 @@ Encara voleu continuar? Workbench - + &File &Fitxer - + &Edit &Edita - + Edit Edita - + Clipboard Clipboard - + Workbench Banc de treball - + Structure Estructura - + Standard views Vistes estàndard - + Axonometric Axonomètrica - + &Stereo E&stèreo - + &Zoom &Zoom - + Visibility Visibilitat - + &View &Visualitza - + &Tools &Eines - + &Macro &Macro - + &Windows &Finestres - + &On-line help &Ajuda en línia - + &Help &Ajuda - + Help Ajuda - + File Fitxer - + Macro Macro - + View Visualitza - + Special Ops Operacions especials - + Link actions Enllaça accions @@ -12195,12 +11520,12 @@ Encara voleu continuar? Gui::MDIView - + Export PDF Exporta a PDF - + PDF file Fitxer PDF @@ -12208,196 +11533,190 @@ Encara voleu continuar? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Notification Area - + Settings Paràmetres - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Additional data sources - + Errors intended for developers will appear in the notification area Errors intended for developers will appear in the notification area - + Debug errors Debug errors - + Warnings intended for developers will appear in the notification area Warnings intended for developers will appear in the notification area - + Debug warnings Debug warnings - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Available Workbenches - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches Trieu quin banc de treball s’activarà i es mostrarà després que s'execute FreeCAD - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12410,12 +11729,12 @@ després que s'execute FreeCAD 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport Si aquesta opció està marcada, l’aplicació recordarà quin banc de treball està actiu per a cada pestanya de l'àrea de visualització - + Remember active workbench by tab Recorda el banc de treball actiu per pestanya @@ -12564,47 +11883,47 @@ després que s'execute FreeCAD Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded Loaded - + Load Load - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12612,17 +11931,22 @@ després que s'execute FreeCAD Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar Barra d'eines - + Left corner Left corner - + Right corner Right corner @@ -12648,12 +11972,12 @@ després que s'execute FreeCAD Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12689,13 +12013,13 @@ després que s'execute FreeCAD StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image @@ -12757,10 +12081,814 @@ després que s'execute FreeCAD Gui::ExpLineEdit - - + + An error occurred -- see Report View for information An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + Editor + + + + Options + Opcions + + + + Code lines will be numbered + Code lines will be numbered + + + + Enable line numbers + Activa els números de línia + + + + The cursor shape will be a block + The cursor shape will be a block + + + + Enable block cursor + Enable block cursor + + + + Enable folding + Habilita el plegament + + + + Indentation + Sagnat + + + + Tab size: + Mida de la tabulació: + + + + Tabulator raster (how many spaces) + Ràster del tabulador (quants espais) + + + + Indent size: + Mida del sagnat: + + + + How many spaces will be inserted when pressing <Tab> + Quants espais s’inseriran en prémer <Tab> + + + + Pressing <Tab> will insert a tabulator with defined tab size + Si premeu <Tab> s'inserirà un tabulador amb la mida de tabulació definida + + + + Keep tabs + Mantín les tabulacions + + + + Pressing <Tab> will insert amount of defined indent size + Si premeu <Tab> s'inserirà la quantitat de la mida del sagnat definit + + + + Insert spaces + Insereix espais + + + + Display items + Visualitza els elements + + + + Color and font settings will be applied to selected type + La configuració del color i del tipus de lletra s'aplicaran al tipus seleccionat + + + + Family: + Família: + + + + Font family to be used for selected code type + El tipus de lletra que s'utilitzarà per al tipus de codi seleccionat + + + + Size: + Mida: + + + + Font size to be used for selected code type + Mida del tipus de lletra que s'utilitzarà per al tipus de codi seleccionat + + + + Color: + Color: + + + + Preview: + Previsualització: + + + + Text + Text + + + + Bookmark + Adreça d'interés + + + + Breakpoint + Punt de ruptura + + + + Keyword + Paraula clau + + + + Comment + Comentari + + + + Block comment + Comentari de bloc + + + + Number + Nombre + + + + String + Cadena + + + + Character + Caràcter + + + + Class name + Nom de classe + + + + Define name + Defineix el nom + + + + Operator + Operador + + + + Python output + Eixida de Python + + + + Python error + Error de Python + + + + Current line highlight + Ressaltat de la línia actual + + + + Items + Elements + + + + Gui::Dialog::DlgSettingsGeneral + + + General + General + + + + Language and number format + Language and number format + + + + Language: + Language: + + + + Language of the application's user interface + Idioma de la interfície d’usuari de l’aplicació + + + + Unit system: + Sistema de la unitat: + + + + Unit system that should be used for all parts of the application + Unit system that should be used for all parts of the application + + + + Number of decimals: + Nombre de decimals: + + + + Number of decimals that should be shown for numbers and dimensions + Nombre de decimals que s’han de mostrar per als números i dimensions + + + + Minimum fractional inch: + Polzada fraccionària mínima: + + + + Minimum fractional inch to be displayed + Polzada fraccionària mínima que cal mostrar + + + + Number format: + Number format: + + + + Operating system + Sistema operatiu + + + + Selected language + Selected language + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + + + + Substitute decimal separator + Substitute decimal separator + + + + Application + Aplicació + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + Mida de les icones de la barra d'eines: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + Trieu la vostra preferència per a la mida de la icona de la barra d’eines. Podeu ajustar +això segons la mida de la pantalla o el gust personal + + + + Tree view mode: + Mode vista d'arbre: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + Personalitzeu com es mostra la vista d'arbre en el tauler (cal reiniciar-lo). + +«ComboView»: combina la vista d'arbre i la de propietats en un únic tauler. +«TreeView i PropertyView»: separa la vista d'arbre i la de propietats en taulers separats. +«Ambdós»: conserva els tres taulers i podeu tindre dos conjunts de vista d'arbre i de vista de propietats. + + + + Size of recent file list: + Size of recent file list: + + + + How many files should be listed in recent files list + Indica la quantitat de fitxers s’han d’enumerar en la llista de fitxers recents + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + Enable tiled background + Habilita el fons en mosaic + + + + The text cursor will be blinking + The text cursor will be blinking + + + + Enable cursor blinking + Enable cursor blinking + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Una pantalla de presentació és una xicoteta finestra de càrrega que es mostra +quan FreeCAD s'executa. Si aquesta opció està marcada, FreeCAD en mostrarà una + + + + Enable splash screen at start up + Habilita la pantalla de presentació a l'inici + + + + Preference packs + Preference packs + + + + Name + Nom + + + + Type + Tipus + + + + Load + Load + + + + Import config... + Import config... + + + + Save new... + Save new... + + + + Manage... + Manage... + + + + Revert... + Revert... + + + + Manage preference packs + Manage preference packs + + + + Small (%1px) + Xicotet (%1px) + + + + Medium (%1px) + Mitjà (%1px) + + + + Large (%1px) + Gran (%1px) + + + + Extra large (%1px) + Molt gran (%1px) + + + + Custom (%1px) + Personalitzat (%1px) + + + + Combo View + Visualització combinada + + + + TreeView and PropertyView + Vista d'arbre i vista de les propietats + + + + Both + Ambdós + + + + Preference Pack Name + Preference Pack Name + + + + Tags + Tags + + + + Apply + Aplica + + + + Apply the %1 preference pack + Apply the %1 preference pack + + + + Choose a FreeCAD config file to import + Choose a FreeCAD config file to import + + + + File exists + File exists + + + + A preference pack with that name already exists. Overwrite? + A preference pack with that name already exists. Overwrite? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + Visualització de l'informe + + + + Output + Eixida + + + + Normal messages will be recorded + Normal messages will be recorded + + + + Record normal messages + Record normal messages + + + + Log messages will be recorded + Es gravarà el registre de missatges + + + + Record log messages + Grava els missatges de registre + + + + Warnings will be recorded + Es gravaran els avisos + + + + Record warnings + Grava els avisos + + + + Error messages will be recorded + Es gravaran els missatges d'error + + + + Record error messages + Grava els missatges d'error + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + Quan s'ha produït un error, el diàleg de Vista d'informes es fa visible +en la pantalla i mostra l'error + + + + Show report view on error + Mostra la vista de l'informe en cas d'error + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + Quan s'ha produït un avís, el diàleg de Vista d'informes es fa visible +en la pantalla i mostra l'avís + + + + Show report view on warning + Mostra la vista de l'informe en cas d'avís + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + Quan s'ha produït un missatge normal, el diàleg de Vista d'informes es fa visible +en la pantalla i mostra el missatge + + + + Show report view on normal message + Mostra la vista de l'informe en cas d'un missatge normal + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + Quan s'ha produït un missatge de registre, el diàleg de Vista d'informes es fa visible en la pantalla i mostra el missatge de registre + + + + Show report view on log message + Mostra la vista de l'informe en cas d'un missatge de registre + + + + Include a timecode for each report + Include a timecode for each report + + + + Include a timecode for each entry + Include a timecode for each entry + + + + Colors + Colors + + + + Normal messages: + Missatges normals: + + + + Font color for normal messages in Report view panel + Color del tipus de lletra per a missatges normals en el tauler de Vista d'informes + + + + Log messages: + Resgistre de missatges: + + + + Font color for log messages in Report view panel + Color del tipus de lletra per a missatges de registre en el tauler de Vista d'informes + + + + Warnings: + Avisos: + + + + Font color for warning messages in Report view panel + Color del tipus de lletra per a missatges d'avís en el tauler de Vista d'informes + + + + Errors: + Errors: + + + + Font color for error messages in Report view panel + Color del tipus de lletra per a missatges d'error en el tauler de Vista d'informes + + + + Python interpreter + Intèrpret de Python + + + + Internal Python output will be redirected +from Python console to Report view panel + L'eixida interna de Python es redirigirà +de la consola Python al tauler de Vista d'informes + + + + Redirect internal Python output to report view + Redirigeix l'eixida interna de Python a la visualització d'informe1 + + + + Internal Python error messages will be redirected +from Python console to Report view panel + Els missatges d'error interns de Python es redirigiran +de la consola Python al tauler de Vista d'informes + + + + Redirect internal Python errors to report view + Redirigeix els errors interns de Python a la visualització d'informe + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + No hi ha cap full d'estil. + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_zh-CN.ts b/src/Gui/Language/FreeCAD_zh-CN.ts index 8a9edc95dc..d9020755f3 100644 --- a/src/Gui/Language/FreeCAD_zh-CN.ts +++ b/src/Gui/Language/FreeCAD_zh-CN.ts @@ -42,29 +42,29 @@ 特征的显示大小 - + <empty> <空> - - + + Angle 角度 - - + + Axis 轴线 - + Position 位置 - + Enum 列举 @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output 测试控制台输出 - - + + Run test cases to verify console messages 运行测试用例来验证控制台消息 @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement 清除测量 - + Clear all visible measurements 清除所有可见的测量值 @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement 切换测量 - + Turn on or off the display of all measurements 开启或关闭所有测量的显示 @@ -132,7 +132,7 @@ 删除 - + Paste expressions 粘贴表达式 @@ -182,7 +182,7 @@ 添加一个群组 - + Align 对齐 @@ -193,40 +193,40 @@ 定位 - - + + Transform 变换 - + Toggle array elements 切换数组元素 - + Link Transform 链接变换 - + Measure distance 测量距离 - + Toggle visibility 切换可见性 - + Toggle selectability 切换可选择性 - + Edit image 编辑图像 @@ -234,77 +234,77 @@ CommandGroup - + File 文件 - + Edit 编辑 - + Help 帮助 - + Link 链接 - + Tools 工具 - + View 视图 - + Window 窗口 - + Standard 标准 - + Macros - + Macro - + Structure 结构 - + Standard-Test 标准测试 - + Standard-View 标准视图 - + TreeView 树视图 - + Measure 测量 @@ -402,11 +402,6 @@ DownloadItem - - - Form - 窗体 - Ico @@ -421,42 +416,42 @@ EditMode - + Default 默认 - + The object will be edited using the mode defined internally to be the most appropriate for the object type 对象将使用内部定义的模式(以最适合对象的类型)进行编辑 - + Transform 变换 - + The object will have its placement editable with the Std TransformManip command 该对象将可以通过 Std TransformManip 命令进行放置编辑 - + Cutting 锯切 - + This edit mode is implemented as available but currently does not seem to be used by any object 此编辑模式是可用的,但当前似乎没有用于任何对象 - + Color 颜色 - + The object will have the color of its individual faces editable with the Part FaceColors command 该对象的各个面的颜色将使用 FaceColors 命令进行编辑 @@ -482,7 +477,7 @@ - + Press a keyboard shortcut 按下键盘快捷键 @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: 可用: - + Selected: 已选择: - + Add 添加 - + Remove 删除 - + Move up 上移 - + Move down 下移 @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object 可移动对象 - + Fixed object 固定的对象 @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... 正在保存自动恢复文件,请稍后... @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button 按鼠标左键 - + Press SHIFT and middle mouse button 按SHIFT和鼠标中键 - + Press middle mouse button 按鼠标中键 - + Scroll middle mouse button 滚动鼠标中键 @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button 按鼠标左键 - + Press middle mouse button 按鼠标中键 - + Press middle+left or middle+right button 按中键+左键或中键+右键 - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down 滚动鼠标中键或在点击鼠标左键或右键时按住鼠标中键并移动鼠标 @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK 确定(&O) - + &Cancel 取消(&C) @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel 任务面板 @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen 鸣谢 - + FreeCAD would not be possible without the contributions of 如果没有以下贡献者的帮助,FreeCAD 项目不可能成立 - + Individuals Header for the list of individual people in the Credits list. 个人用户 - + Organizations Header for the list of companies/organizations in the Credits list. 组织 - - + + License 授权许可 - + Libraries - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: 该软件使用开放源码组件, 其版权和其他专有权利属于各自的所有者: - + Collection 集合 @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory 缓存目录 - + The cache directory %1 exceeds the size of %2. 缓存目录 %1 超过了 %2 的大小。 - + Do you want to clear it now? 您现在要清除吗? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! 警告: 请确保这是唯一正在运行的 %1 实例,并且没有文件被打开,因为这可能导致数据丢失! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings 相机设置 - + Orientation 方向 - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view 当前视图 @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands 命令 @@ -1116,12 +1111,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists 包已存在 - + A preference pack with that name already exists. Do you want to overwrite it? 已存在该名称的首选项配置包。 你想要覆盖它吗? @@ -1359,48 +1354,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... 输入过滤条件 - + Icon 图标 - + Command 命令 - + Shortcut 快捷键 - + Default 默认 - + Name 名称 - + Title 标题 - + All 全部 - - + + none @@ -1408,8 +1403,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars 工具条 @@ -1498,40 +1493,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <分隔符> - + %1 module not loaded %1 模块未加载 - + New toolbar 新建工具栏 - - + + Toolbar name: 工具栏名称: - - + + Duplicated name 名称重复 - - + + The toolbar name '%1' is already used 工具栏名称'%1'已被使用 - + Rename toolbar 重命名工具栏 @@ -1544,19 +1539,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize 自定义 - + &Help 帮助(&H) - + &Close 关闭(&C) @@ -1565,13 +1560,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion 三维鼠标动作 - + No Spaceball Present 当前无轨迹球 @@ -1579,27 +1574,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons 三维鼠标按键 - + No Spaceball Present 当前无轨迹球 - + Buttons 按钮 - + Reset 重设 - + Print Reference 打印参考 @@ -1684,546 +1679,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default 默认 - + Aluminium - + Brass 黄铜 - + Bronze 青铜 - + Copper - + Chrome - + Emerald 祖母绿 - + Gold - + Jade - + Metalized 金属化 - + Neon GNC Neon GNC - + Neon PHC 霓虹PHC - + Obsidian 黑曜石 - + Pewter 锡铅合金 - + Plaster 石膏 - + Plastic 塑料 - + Ruby 红宝石 - + Satin 缎布 - + Shiny plastic 镜面塑料 - + Silver - + Steel - + Stone 石头 Gui::Dialog::DlgEditorSettings - - - Editor - 编辑器 - - - - Options - 选项 - - - - Code lines will be numbered - 代码行将被编号 - - - - Enable line numbers - 启用行号 - - - - The cursor shape will be a block - 光标形状将是一个方块 - - - - Enable block cursor - 启用方块光标 - - - - Enable folding - 启用折叠 - - - - Indentation - 缩进 - - - - Tab size: - 制表符长度: - - - - Tabulator raster (how many spaces) - 制表符<Tab>转空格(空格数量) - - - - Indent size: - 缩进大小: - - - - How many spaces will be inserted when pressing <Tab> - 按下 <Tab> 将插入多少空格 - - - - Pressing <Tab> will insert a tabulator with defined tab size - 按下 <Tab> 将插入一个定义大小的制表符 - - - - Keep tabs - 保留制表符 - - - - Pressing <Tab> will insert amount of defined indent size - 按下 <Tab> 将插入定义大小的缩进 - - - - Insert spaces - 插入空格 - - - - Display items - 显示项目 - - - - Color and font settings will be applied to selected type - 颜色和字体设置将应用于所选类型 - - - - Family: - 字体族: - - - - Font family to be used for selected code type - 用于选定代码类型的字体 - - - - Size: - 大小: - - - - Font size to be used for selected code type - 用于选定代码类型的字体大小 - - - - Color: - 颜色: - - - - Preview: - 预览: - 关于 - - Gui::Dialog::DlgGeneral - - - General - 常规 - - - - Language of the application's user interface - 应用程序用户界面语言 - - - - Number format: - 数字格式: - - - - Operating system - 操作系统 - - - - Selected language - 选择语言 - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - 如果启用,数字键盘小数点分隔符将被替换为语言环境分隔符。但在 Python 控制台和宏编辑器中,点/句点将始终打印。 - - - - Preference packs - 首选项配置包 - - - - Name - 名称 - - - - Type - 类型 - - - - Load - 加载 - - - - Import config... - 导入配置... - - - - Save new... - 保存新文件... - - - - Manage... - 管理... - - - - Revert... - 还原... - - - - How many files should be listed in recent files list - 最近文件列表中应该列出多少个文件 - - - - Enable tiled background - 启用平面背景 - - - - The text cursor will be blinking - 文本光标将会闪烁 - - - - Enable cursor blinking - 启用光标闪烁 - - - - Style sheet: - 样式表: - - - - Language and number format - 语言和数字格式 - - - - Language: - 语言: - - - - Unit system: - 单位系统: - - - - Unit system that should be used for all parts of the application - 适用于应用程序所有部分的单位系统 - - - - Number of decimals: - 小数位数: - - - - Number of decimals that should be shown for numbers and dimensions - 数字和尺寸应显示的小数位数 - - - - Minimum fractional inch: - 最小分数英寸: - - - - Minimum fractional inch to be displayed - Minimum fractional inch to be displayed - - - - Substitute decimal separator - 替代小数分隔符 - - - - Application - 工程 - - - - Style sheet how user interface will look like - 用户界面的样式表 - - - - Size of toolbar icons: - 工具栏图标大小: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - 选择您对工具栏图标大小的偏好。您可以根据您的屏幕大小或个人品味来调整 - - - - Tree view mode: - 树形视图模式: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - 在面板中显示自定义树形视图的方式(需要重启)。 - -'组合视图': 将树形视图和属性视图合并为一个面板。 -'树形视图和属性视图':拆分树视图和属性视图为单独的面板。 -'全部':保留所有三个面板,你可以有两组树形视图和属性视图。 - - - - Size of recent file list: - 最近文件列表的大小: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - 主窗口的背景将由特殊图像的平铺显示。 -请参阅FreeCAD Wiki 了解图像的详细信息。 - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - Splash 屏幕是一个小的加载窗口,在FreeCAD 启动时显示 -。 如果选中此选项,FreeCAD 将显示初始屏幕 - - - - Enable splash screen at start up - 打开软件启动界面 - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - 管理首选项配置包 - - - - Small (%1px) - 小 (%1px) - - - - Medium (%1px) - 中(%1px) - - - - Large (%1px) - 大 (%1px) - - - - Extra large (%1px) - 特大 (%1px) - - - - Custom (%1px) - 自定义 (%1px) - - - - Combo View - 组合浏览器 - - - - TreeView and PropertyView - 树状视图和属性视图 - - - - Both - 两者都是 - - - - No style sheet - 无样式表 - - - - Preference Pack Name - 首选项配置包名称 - - - - Tags - 标签 - - - - Apply - 应用 - - - - Apply the %1 preference pack - 应用 %1 首选项配置包 - - - - Choose a FreeCAD config file to import - 选择要导入的 FreeCAD 配置文件 - - - - File exists - 文件已存在 - - - - A preference pack with that name already exists. Overwrite? - 已存在该名称的首选项配置包。是否覆盖? - - Gui::Dialog::DlgInputDialog @@ -2239,8 +1811,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector 场景检查器 @@ -2332,71 +1904,71 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros - + Read-only 只读 - + Macro file 宏文件 - + Enter a file name, please: 请输入文件名称: - - - + + + Existing file 已存在文件 - + '%1'. This file already exists. '%1'. 此文件已经存在. - + Cannot create file 无法创建文件 - + Creation of file '%1' failed. 文件 '%1' 创建失败. - + Delete macro 删除宏 - + Do you really want to delete the macro '%1'? 是否确实要删除宏 '%1'? - + Do not show again 不再显示 - + Guided Walkthrough 指导式演练 - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2407,78 +1979,78 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 遍历,对话框1 / 2 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close 顺序执行以下指令:填充缺失的字段 (可选) 然后单击添加,然后关闭 - + Walkthrough, dialog 1 of 1 遍历,对话框1 / 1 - + Walkthrough, dialog 2 of 2 遍历,对话框2 / 2 - + Walkthrough instructions: Click right arrow button (->), then Close. 顺序执行以下指令:点击右箭头按钮 (->),然后关闭。 - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. 顺序执行以下指令:点击新建,然后右箭头按钮 (->),然后关闭。 - + Renaming Macro File 重命名宏文件 - - + + Enter new name: 输入新的名称: - - + + '%1' already exists. '%1' 已存在。 - + Rename Failed 重命名失败 - + Failed to rename to '%1'. Perhaps a file permission error? 无法重命名为 "%1"。 可能是文件权限错误? - + Duplicate Macro 复制宏 - + Duplicate Failed 复制失败 - + Failed to duplicate to '%1'. Perhaps a file permission error? 无法复制到"%1"。 @@ -2521,39 +2093,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder 宏录制器 - + Specify first a place to save. 首先指定要保存的位置。 - + The macro directory doesn't exist. Please, choose another one. 宏目录不存在.请重新选择. - + Existing macro 现有宏 - + The macro '%1' already exists. Do you want to overwrite? 宏'%1'已经存在.是否要覆盖? - + You have no write permission for the directory. Please, choose another one. 您对此目录无写入权限,请选择其他目录 - + Choose macro directory 选择宏目录 @@ -2626,12 +2198,12 @@ Perhaps a file permission error? HTML 文件 - + Access denied 拒绝访问 - + Access denied to '%1' Specify another directory, please. @@ -2885,17 +2457,17 @@ Specify another directory, please. You must restart FreeCAD for changes to take effect. - You must restart FreeCAD for changes to take effect. + 你需要重启freecad使更改生效 Restart now - Restart now + 立即重启 Restart later - Restart later + 稍后重启 @@ -3030,36 +2602,36 @@ Specify another directory, please. 项目文件 - - + + Empty source 来源为空 - - + + No source is defined. 未定义来源. - - + + Empty destination 目标为空 - - + + No destination is defined. 未定义目标. - + Failed to extract project 导出项目失败 - + Failed to create project 创建项目失败 @@ -3109,182 +2681,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - 报告浏览器 - - - - Output - 输出 - - - - Normal messages will be recorded - 正常消息将被记录 - - - - Record normal messages - 记录正常消息 - - - - Log messages will be recorded - 日志消息将被记录 - - - - Record log messages - 记录日志 - - - - Warnings will be recorded - 警告将被记录 - - - - Record warnings - 记录警告 - - - - Error messages will be recorded - 错误消息将被记录 - - - - Record error messages - 记录错误 - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - 发生错误时,错误对话框会在屏幕上显示 - - - - Show report view on error - 出现错误时显示报告窗口 - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - 当警告发生时,当显示警告时,报告视图对话框会在屏幕上显示 - - - - Show report view on warning - 出现警告时显示报告窗口 - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - 当有普通消息时,报告窗口会出现并显示这个消息 - - - - Show report view on normal message - 出现普通消息时显示报告窗口 - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - 在日志消息发生时,选择显示日志消息的情况下,报告视图对话框会在屏幕上显示 - - - - Show report view on log message - 出现日志消息时显示报告窗口 - - - - Include a timecode for each report - 为每份报告包含一个时间码 - - - - Include a timecode for each entry - 每个条目包含一个时间码 - - - - Colors - 颜色 - - - - Normal messages: - 正常的消息: - - - - Font color for normal messages in Report view panel - 报表视图面板一般消息的字体颜色 - - - - Log messages: - 日志信息: - - - - Font color for log messages in Report view panel - 报表视图面板日志消息的字体颜色 - - - - Warnings: - 警告: - - - - Font color for warning messages in Report view panel - 报告视图面板中警告信息的字体颜色 - - - - Errors: - 错误: - - - - Font color for error messages in Report view panel - 报表视图面板错误消息的字体颜色 - - - - Python interpreter - Python 解释器 - - - - Internal Python output will be redirected -from Python console to Report view panel - 内部 Python 的输出将从 Python 控制台重定向到报告视图面板 - - - - Redirect internal Python output to report view - 将 Python 内部输出重定向到报告视图 - - - - Internal Python error messages will be redirected -from Python console to Report view panel - 内部 Python 的错误消息将从 Python 控制台重定向到报告视图面板 - - - - Redirect internal Python errors to report view - 将 Python 内部错误重定向到报告视图 - 关于 @@ -3311,7 +2707,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file 对话框中没有选项,无法加载备份文件 @@ -3354,7 +2750,7 @@ from Python console to Report view panel 帮助 - + Select a file 选择一个文件 @@ -3362,67 +2758,67 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View 三维视图 - + General 常规 - + Main coordinate system will always be shown in lower right corner within opened files 主坐标系统将始终显示在打开文件的 右下角 - + Show coordinate system in the corner 坐标系统显示在边角 - + Relative size : 相对大小 : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport 边角中主坐标系统大小——占视图高度/宽度的百分比的 % - + Axis cross will be shown by default at file opening or creation 在文件打开或创建时默认会显示坐标轴 - + Show axis cross by default 默认显示坐标轴 - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files 将在打开的文件中左下角显示最后一次操作所需时间和结束帧速率 - + Show counter of frames per second 显示每秒运行帧数 - + Rendering 正在渲染 - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3431,22 +2827,22 @@ Changing this option requires a restart of the application. 更改此选项需要重启应用程序。 - + Use software OpenGL 使用软件 OpenGL - + Use OpenGL VBO (Vertex Buffer Object) 使用 OpenGL VBO (顶点缓存对象) - + Render cache 渲染缓存 - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3464,7 +2860,7 @@ VBO 提供了显著的性能提升,因为数据位于图形内存而非系统 注意:有时此功能可能会导致一系列不同的问题,从图形异常到 GPU 崩溃。 在 FreeCAD 论坛寻求支持时,请启用此设置。 - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3479,92 +2875,92 @@ but slower response to any scene changes. 3)“集中式”,手动关闭所有视图提供者的所有节点中的缓存,并且仅在场景图根节点处缓存。 这提供了最快地渲染速度,但对场景变化的响应速度较慢。 - + Auto 自动 - + Distributed 分布 - + Centralized 居中 - + Anti-Aliasing 抗锯齿 - + What kind of multisample anti-aliasing is used 使用什么多重采样抗锯齿模式 - + None - + Line Smoothing 线条平滑化 - + MSAA 2x 反锯齿 2x - + MSAA 4x 反锯齿 4x - + MSAA 8x 反锯齿 8x - + Transparent objects: 透明对象: - + Render types of transparent objects 透明对象的渲染类型 - + One pass One pass - + Backface pass Backface pass - + Marker size: 标记大小: - - Size of vertices in the Sketcher workbench - Size of vertices in the Sketcher workbench + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes 立体模式的双眼距离 - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3573,48 +2969,48 @@ The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. - + Backlight is enabled with the defined color 已启用带有定义颜色的背光 - - + + Backlight color 背光颜色 - + Intensity 强度 - + Intensity of the backlight 背光强度 - + Camera type 相机类型 - + Objects will appear in a perspective projection 对象将以透视投影法显示 - + Perspective renderin&g 以透视渲染(&g) - + Objects will be projected in orthographic projection 对象将以正交投影方式投影 - + Or&thographic rendering 正视投影渲染(&t) @@ -3626,42 +3022,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing 抗锯齿 - + Open a new viewer or restart %1 to apply anti-aliasing changes. 打开一个新的查看器或重新启动 %1 以应用消除锯齿的更改。 @@ -3669,77 +3065,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache 缓存 - + Cache directory 缓存目录 - + Location: 位置: - + Check periodically at program start: 在程序启动时定期检查: - + Always 总是 - + Daily 每天 - + Weekly 每周 - + Monthly 每月 - + Yearly 每年 - + Never 从不 - + Cache size limit: 缓存大小限制: - + Check now... 立即检查... - + Notify the user if the cache size exceeds the specified limit 如果缓存大小超过指定的限制,则通知用户 - + Unknown 未知的 - + Current cache size: %1 当前缓存大小: %1 @@ -3871,7 +3267,7 @@ will be displayed with transparency Number of labels besides the color bar - Number of labels besides the color bar + 调色板旁的标签数量 @@ -3887,8 +3283,7 @@ will be displayed with transparency Number of decimals for labels besides the color bar - Number of decimals for labels -besides the color bar + 调色板旁标签小数位数 @@ -3898,12 +3293,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter 参数错误 - + The maximum value must be higher than the minimum value. 最大值必须大于最小值. @@ -3911,180 +3306,180 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document 文档 - + General 常规 - + The application will create a new document when started 该应用程序将在启动时创建一个新文档 - + Create new document at start up 启动时创建新文档 - + Document save compression level (0 = none, 9 = highest, 3 = default) 保存文件的压缩级别(0 = 无,9 = 最高,3 = 默认) - + Compression level for FCStd files FCStd 文件的压缩级别 - + All changes in documents are stored so that they can be undone/redone 存储文档中的所有更改,以便可以撤消/重做 - + Using Undo/Redo on documents 在文档上使用撤消/重做 - + Maximum Undo/Redo steps 最大撤消/重做步数 - + How many Undo/Redo steps should be recorded 需要记录多少撤消/重做步骤 - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. 允许用户按 ESC 键中止文档重新计算。 此功能可能会略微增加重新计算时间。 - + Allow aborting recomputation 允许中止重新计算 - + Storage 存储 - + Saving transactions (Auto-save) 保存交互记录(自动保存) - + Discard saved transaction after saving document 保存文件后放弃保存历史记录 - + If there is a recovery file available the application will automatically run a file recovery when it is started. 如果有可用的恢复文件, 应用程序将启动时自动运行文件恢复。 - + Run AutoRecovery at startup 在启动时运行自动恢复 - + How often a recovery file is written 恢复文件写入频率 - + Save AutoRecovery information every 每次都保存自动恢复信息 - + A thumbnail will be stored when document is saved 保存文档时将存储缩略图 - + Save thumbnail into project file when saving document 保存文件时同时保存缩略图到项目文件 - + Size 大小 - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 设置文档中存储的缩略图的大小。 常见大小为128、256和512 - + The program logo will be added to the thumbnail 程序徽标将被添加到缩略图 - + Add the program logo to the generated thumbnail 将程序徽标添加到生成的缩略图 - + How many backup files will be kept when saving document 保存文档时将保留多少备份文件 - + Maximum number of backup files to keep when resaving document 保存文档时要保留的最大备份文件数 - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format 备份文件将使用扩展名“.FCbak”,文件名将根据指定格式获得日期后缀 - + Use date and FCBak extension 使用日期和 FCBak 扩展名 - + Date format 日期格式 - + Document objects 文档对象 - + Allow objects to have same label 允许对象具有相同的标签/名称 - + Allow duplicate object labels in one document 在一个文档中允许重复的对象标签 - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4097,22 +3492,22 @@ icon in the tree view to fully reload it. 树视图中的图标以完全重新加载它。 - + Disable partial loading of external linked objects 禁用外部链接对象的部分加载 - + Authoring and License 授权及许可证 - + Author name 作者姓名 - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4121,32 +3516,32 @@ You can also use the form: John Doe <john@doe.com> 您也可以使用以下形式:Ning<ningjiazun@163.com> - + The field 'Last modified by' will be set to specified author when saving the file 保存文件时,“最后修改者”字段将设置为指定的作者 - + Set on save 保存时的设置 - + Company 公司 - + Default company name to use for new files 用于新文件的默认公司名称 - + Default license 默认许可证 - + Default license for new documents 新文档的默认许可证 @@ -4216,12 +3611,12 @@ You can also use the form: John Doe <john@doe.com> 其它 - + License URL 许可证网址 - + URL describing more about the license 更多关于许可证的 URL @@ -4229,104 +3624,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. 要使用的日期格式。 - + Default 默认 - + Format 格式 - - Gui::Dialog::DlgSettingsEditorImp - - - Text - 文本 - - - - Bookmark - 书签 - - - - Breakpoint - 断点 - - - - Keyword - 关键字 - - - - Comment - 注释 - - - - Block comment - 块注释 - - - - Number - - - - - String - 字符串 - - - - Character - 字符 - - - - Class name - 类名称 - - - - Define name - 定义名称 - - - - Operator - 运算符 - - - - Python output - Python 输出 - - - - Python error - Python 错误 - - - - Current line highlight - 当前行高亮显示 - - - - Items - 项目 - - Gui::Dialog::DlgSettingsImage @@ -4507,122 +3819,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro - + General macro settings 宏全局设置 - + Variables defined by macros are created as local variables - Variables defined by macros are created as local variables + 宏定义的变量创建为本地变量 - + Run macros in local environment 在本地环境中运行宏 - + Macro recording settings 宏录制设置 - + Macro path 宏路径 - + The directory in which the application will search for macros 应用程序搜索宏的目录 - + Gui commands 图形用户界面命令 - + Recorded macros will also contain user interface commands - Recorded macros will also contain user interface commands + 记录的宏包含用户界面命令 - + Record GUI commands 录制图形用户界面命令 - + Recorded macros will also contain user interface commands as comments - Recorded macros will also contain user interface commands as comments + 将用户界面命令记录为注释 - + Record as comment 录制为注释 - + Logging Commands 记录命令 - + Commands executed by macro scripts are shown in Python console 宏脚本执行的命令会显示在Python控制台中 - + Show script commands in python console 在Python控制台显示脚本 - + Log all commands issued by menus to file: 记录所有菜单执行命令到文件: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu 最近的宏菜单 - + Size of recent macro list 最近的宏列表大小 - + How many macros should be listed in recent macros list 在最近宏列表中可以列出多少个宏 - + Keyboard shortcut count 键盘快捷键数量 - + How many recent macros should have shortcuts 需要给多少个最近使用的宏设置快捷键 - + Keyboard Modifiers 键盘编辑器 - + Keyboard modifiers, default = Ctrl+Shift+ 键盘编辑器,默认 = Ctrl+Shift+ @@ -4630,130 +3942,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation 导航栏 - + Navigation cube 导航立方体 - + Steps by turn 转动步数 - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) 使用箭头时的转向值 (默认 = 8 : 角度= 360/8 = 45 度) - + Corner 边角 - + Corner where navigation cube is shown 显示导航立方体的角落 - + Top left 左上 - + Top right 右上 - + Bottom left 左下 - + Bottom right 右下 - + Rotates to nearest possible state when clicking a cube face 点击立方体面时旋转到尽可能近的状态 - + Rotate to nearest 旋转到最近 - + Font name: 字体名称: - + Font name of the navigation cube 导航立方体字体名称 - + Default 默认 - + Cube size 立方体大小 - + Size of the navigation cube 导航立方体大小 - + Color 颜色 - + Base color for all elements 所有元素的基本颜色 - + 3D Navigation 三维导航 - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. 列出每个所选导航设置的鼠标按钮配置。 选择一组然后按下按钮查看所述配置。 - + Mouse... 鼠标... - + Navigation settings set 导航栏设置 - + Orbit style 环绕模式 - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4764,115 +4076,115 @@ Free Turntable: the part will be rotated around the z-axis. 自由转盘:部件将绕z轴旋转。 - + Turntable 转盘 - + Trackball 轨迹球 - + Free Turntable 自由转盘 - + Rotation mode 旋转模式 - + Rotations in 3D will use current cursor position as center for rotation - Rotations in 3D will use current cursor position as center for rotation + 以当前光标位置为3D旋转中心 - + Window center 窗口中心 - + Drag at cursor 在光标处拖动 - + Object center 对象中心 - + Default camera orientation 默认相机方向 - + Default camera orientation when creating a new document or selecting the home view 创建新文档或选择主视图时的默认相机方向 - + Camera zoom 镜头缩放 - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. 设置新文档相机缩放。 该值是要适合屏幕的球体的直径。 - + mm mm - + Enable animated rotations 启用动画旋转 - + Enable animation 启用动画 - + Zoom operations will be performed at position of mouse pointer 缩放操作将在鼠标指针位置进行 - + Zoom at cursor 以光标为中心缩放 - + Zoom step 缩放步进 - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. 将缩放多少。缩放步长为“1”意味着每个缩放步长为 7.5 倍。 - + Direction of zoom operations will be inverted 缩放操作的方向将反转 - + Invert zoom 反向缩放 - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4881,57 +4193,67 @@ Mouse tilting is not disabled by this setting. 此设置不会禁用鼠标倾斜。 - + Disable touchscreen tilt gesture 禁用触摸屏倾斜手势 - + + Show the rotation center when dragging. + 拖动时显示旋转中心 + + + + Enable rotation center indication + 启用旋转中心指示 + + + Isometric 等轴测 - + Dimetric 二轴测 - + Trimetric 三轴测 - + Top 俯视 - + Front 前视 - + Left 左视 - + Right 右视 - + Rear 后视 - + Bottom 底视 - + Custom 自定义 @@ -4939,43 +4261,43 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python控制台 - + Settings 设置 - + Words will be wrapped when they exceed available horizontal space in Python console 在 Python 控制台中自动换行 - + Enable word wrap 启用自动换行 - + The cursor shape will be a block 光标形状将是一个方块 - + Enable block cursor 启用方块光标 - + Saves Python history across sessions - Saves Python history across sessions + 夸会话保存Python历史记录 - + Save history 保存历史记录 @@ -4983,17 +4305,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection 选择 - + + Enable preselection, highlighted with specified color + 启用预选,使用指定颜色高亮显示 + + + + Enable preselection + 启用预选 + + + + Enable selection, highlighted with specified color + 启用选项,使用指定颜色高亮显示 + + + + Enable selection + 启用选择 + + + Pick radius (px): 选取半径 (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5002,27 +4344,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item 自动切换到包含已选定项目的 3D 视图 - + Auto expand tree item when the corresponding object is selected in 3D view 在 3D 视图中选择相应对象时自动展开树项目 - + Preselect the object in 3D view when mouse over the tree item 当鼠标悬停在树项目上时,在 3D 视图中预选对象 - + Record selection in tree view in order to go back/forward using navigation button 在树视图中记录选择,以便使用导航按钮后退/前进 - + Add checkboxes for selection in document tree 在文档树中添加用于选择的复选框 @@ -5030,147 +4372,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors 颜色 - - Selection - 选择 - - - - Enable preselection and highlight by specified color - Enable preselection and highlight by specified color - - - - Enable preselection highlighting - 启用预选高亮 - - - - Enable selection highlighting and use specified color - Enable selection highlighting and use specified color - - - - Enable selection highlighting - 启用选择高亮 - - - + Background color for the model view 模型视图的背景颜色 - + Background color 背景颜色 - - + + Background will have selected color 背景将使用所选颜色 - + Simple color 简单颜色 - - + + Background will have selected color gradient - Background will have selected color gradient + 背景使用选中的渐变色 - + Linear gradient - Linear gradient + 线性渐变 - + Radial gradient - Radial gradient + 径向渐变: - - + + Top: - Top: + 顶部: - - + + Middle: - Middle: + 中间: - + Switches the colors of the gradient 切换渐变颜色 - + Switch 切换 - + Color gradient will get selected color as middle color 颜色渐变将使用所选颜色作为中间颜色 - + Middle color 中间色 - - + + Bottom: - Bottom: + 底部: - + Tree view 结构树浏览器 - + Object being edited 正在编辑的对象 - + Background color for objects in tree view that are currently edited 树形视图中当前编辑对象的背景颜色 - + Active container 活动容器 - + Background color for active containers in tree view - Background color for active containers in tree view + 树状图活动元素背景色 - + Central: - Central: + 中心: - + Midway: Midway: - + End: End: @@ -5282,12 +4599,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: 未知单位: - + unit mismatch 单位不匹配 @@ -5295,7 +4612,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement 定位 @@ -5346,60 +4663,60 @@ The 'Status' column shows whether the document could be recovered. 尚未恢复 - + Unknown problem occurred 发生未知的错误 - - + + Failed to recover 无法恢复 - + Successfully recovered 成功恢复 - + Finish 完成 - - + + Delete 删除 - - + + Cleanup 清除 - + Are you sure you want to delete the selected transient directories? 您确定要删除所选的暂存目录? - + When deleting the selected transient directory you won't be able to recover any files afterwards. 删除所选的暂存目录,您之后将无法恢复任何文件。 - + Are you sure you want to delete all transient directories? 您确定要删除所有暂存目录? - + When deleting all transient directories you won't be able to recover any files afterwards. 删除所有的暂存目录之后您将无法恢复任何文件。 - + Transient directories deleted. 暂存目录已删除。 @@ -5523,7 +4840,7 @@ The 'Status' column shows whether the document could be recovered. 图标文件夹 - + Add icon folder 添加图标文件夹 @@ -5536,12 +4853,12 @@ The 'Status' column shows whether the document could be recovered. 添加或删除自定义的图标文件夹 - + Remove folder 删除文件夹 - + Removing a folder only takes effect after an application restart. 只有应用程序重新启动后移除资料夹才生效。 @@ -5611,79 +4928,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand 展开 - + Add sub-group 添加子组 - - + + Remove group 删除组 - + Rename group 重命名组 - + Export parameter 导出参数 - + Import parameter 导入参数 - + Collapse 折叠 - + Do you really want to remove this parameter group? Do you really want to remove this parameter group? - + Existing sub-group 已存在子组 - + The sub-group '%1' already exists. 子组'%1'已经存在. - + Export parameter to file 导出参数到文件 - + Import parameter from file 从文件中导入参数 - + Import Error 导入错误 - + Reading from '%1' failed. 读取'%1'失败. @@ -5691,65 +5008,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value 更改值 - + Remove key 删除键 - + Rename key 重命名键 - + New 新建 - + New string item 新字符串项 - + New float item 新浮点数 - + New integer item 新整数 - + New unsigned item 新无符号数 - + New Boolean item 新布尔值 - - - - - + + + + + Existing item 已存在项目 - - - - - + + + + + The item '%1' already exists. 对象'%1'已经存在. @@ -5895,17 +5212,17 @@ The 'Status' column shows whether the document could be recovered. 应用 - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. 单击此按钮之前,请选择1,2或3个点。点可以位于顶点,面或边上。如果在面或边缘上,所使用的点将是沿着面或边缘的鼠标位置处的点。如果选择1点,则将其用作旋转中心。如果选择了2个点,则它们之间的中点将成为旋转中心,必要时将新建自定义轴。如果选择3个点,则第一个点成为旋转中心,并且位于与3个点定义的平面垂直的矢量上。报告视图中提供了一些距离和角度信息,这在对齐对象时非常有用。为方便,使用Shift+单击时,相应的距离或角度将复制到剪贴板。 - + Incorrect quantity 错误的数量 - + There are input fields with incorrect input, please ensure valid placement values! 输入区域有错误的内容,请确认该区域合理的输入内容! @@ -5913,12 +5230,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button 按钮 - + Command 命令 @@ -5982,17 +5299,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree 发明者树 - + Name 名称 - + Nodes 节点 @@ -6048,14 +5365,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel 取消 - - + + Transform 变换 @@ -6153,13 +5470,13 @@ originally selected prior to opening this dialog - + Model 模型 - + Tasks 任务 @@ -6167,7 +5484,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View 属性浏览器 @@ -6175,82 +5492,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options 选项 - + Display message types 显示消息类型 - - + + Normal messages 普通消息 - - + + Log messages 日志消息 - - + + Warnings 警告 - - + + Errors 错误 - - + + Critical messages Critical messages - + Show Report view on Show Report view on - + Redirect Python output 重定向Python输出 - + Redirect Python errors Python错误重定向 - + Go to end 转至末尾 - + Clear 清除 - + Save As... 另存为... - + Save Report Output 保存输出报告 - + Plain Text Files 纯文本文件 @@ -6259,13 +5576,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output 输出 - + Python console Python控制台 @@ -6303,72 +5620,72 @@ originally selected prior to opening this dialog 选择对象列表 - + Select only 仅选择 - + Selects only this object 仅选择此对象 - + Deselect 取消选定 - + Deselects this object 取消选择此对象 - + Zoom fit 自适应缩放 - + Selects and fits this object in the 3D window 于3D视窗选取并居中此物体 - + Go to selection 转到选择 - + Selects and locates this object in the tree view 在树视图中,选择和定位此对象 - + Mark to recompute 标记以重新运算 - + Mark this object to be recomputed 对此物体执行重新计算 - + To python console 到 python 控制台 - + Reveals this object and its subelements in the python console. 在 python 控制台中显示此对象及其子元素。 - + Duplicate subshape 复制子形状 - + Creates a standalone copy of this subshape in the document 在文档中创建此子形状的独立副本 @@ -6381,7 +5698,7 @@ originally selected prior to opening this dialog 工程 - + Labels & Attributes 标签 & 属性 @@ -6429,27 +5746,27 @@ Do you want to save your changes? PDF 文件 - + untitled[*] 无标题[*] - + - Editor - Editor - + %1 chars removed 删除了 %1 个字符 - + %1 chars added 增加了 %1 个字符 - + Formatted 已格式化 @@ -6473,13 +5790,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file 选择一个文件 - + Select a directory 选择一个目录 @@ -6487,13 +5804,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as 另存为 - - + + Open 打开 @@ -6501,12 +5818,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended 扩展 - + All files (*.*) 所有文件(*.*) @@ -6514,27 +5831,27 @@ Do you want to save your changes? Gui::Flag - + Top left 左上 - + Bottom left 左下 - + Top right 右上 - + Bottom right 右下 - + Remove 删除 @@ -6542,22 +5859,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. 单击OR点击鼠标左键。 - + Drag screen with two fingers OR press right mouse button. 用两个手指拖动屏幕OR按下鼠标右键。 - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. 用单指拖动屏幕OR使用鼠标左键,在草图&&其他编辑模式中需配合Alt键使用。 - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. 捏 (将两指置于屏幕上 && 分开 || 靠近) OR 转动鼠标中键 OR 键盘上的PgUp/PgDown。 @@ -6565,74 +5882,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found 找不到Graphviz - + Graphviz couldn't be found on your system. Graphviz 在您的系统上找不到。 - + Read more about it here. 查看详细解释。 - + Do you want to specify its installation path if it's already installed? 如果已经安装,你想要指定其安装路径吗? - + Graphviz installation path Graphviz的安装路径 - + Graphviz failed Graphviz 失败 - + Graphviz failed to create an image file Graphviz 创建图像失败 - + PNG format PNG 格式 - + Bitmap format Bitmap格式 - + GIF format GIF 格式 - + JPG format JPG 格式 - + SVG format SVG 格式 - - + + PDF format PDF 格式 - - + + Export graph 导出图形 @@ -6640,12 +5957,12 @@ Do you want to save your changes? Gui::InputField - + Edit 编辑 - + Save value 保存值 @@ -6653,22 +5970,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button 按CTRL和鼠标左键 - + Press middle mouse button 按鼠标中键 - + Press left mouse button 按鼠标左键 - + Scroll middle mouse button 滚动鼠标中键 @@ -6676,7 +5993,7 @@ Do you want to save your changes? Gui::LabelEditor - + List 列表 @@ -6684,66 +6001,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... 用户定义... - + - - + + Wrong direction 方向错误 - + - - + + Direction must not be the null vector 方向不能是零向量 @@ -6751,22 +6068,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: 方向: @@ -6774,17 +6091,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros - + Macro file doesn't exist 宏文件不存在 - + No such macro file: '%1' 没有这样的宏文件: '%1' @@ -6792,63 +6109,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension 尺寸标注 - + Ready 就绪 - + Help addon needed! Help addon needed! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager 打开插件管理器 - + Close All 全部关闭 - - + + Toggles this toolbar 切换此工具栏 - - + + Toggles this dockable window 切换此可停靠的窗口 - - + + WARNING: This is a development version. + 警告:这是一个开发版本。 + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document 未保存的文件 - + The exported object contains external link. Please save the documentat least once before exporting. The exported object contains external link. Please save the documentat least once before exporting. - + To link to external objects, the document must be saved at least once. Do you want to save the document now? To link to external objects, the document must be saved at least once. @@ -6858,121 +6185,121 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment 手动对齐 - + The alignment is already in progress. 对齐正在进行。 - + Alignment[*] 对齐[*] - + Please, select at least one point in the left and the right view 请在左和右视图中选择至少1点 - + Please, select at least %1 points in the left and the right view 请在左和右视图中选择至少%1点 - + Please pick points in the left and right view 请在左、 右视图中选取点 - + The alignment has finished 对齐已完成 - + The alignment has been canceled 对齐已被取消 - - + + Too few points picked in the left view. At least %1 points are needed. 在左视图选取的点太少。至少需要 %1 点。 - - + + Too few points picked in the right view. At least %1 points are needed. 在右视图选取的点太少。至少需要 %1 点。 - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. 左、 右视图中选中的点数不同。左视图选中 %1 点,右视图选中 %2 点。 - + Try to align group of views 尝试对齐一组视图 - + The alignment failed. How do you want to proceed? 对齐失败。您希望如何进行? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. 不同数量的左、 右视图中选取的点。对左视图 %1 点被挑选,右视图 %2 上点被挑选。 - + Point_%1 点_%1 - + Point picked at (%1,%2,%3) 选择点(%1,%2,%3) - + No point was found on model 在模型上发现没有点 - + No point was picked 没有点被选 - + &Align 对齐(&A) - + &Remove last point 移除最后一个点(&R) - + &Cancel 取消(&C) - + &Synchronize views 同步视图(&S) @@ -6980,22 +6307,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. 单击OR点击鼠标左键。 - + Drag screen with two fingers OR press ALT + middle mouse button. 用两个手指拖动屏幕 OR 按 ALT + 鼠标中键。 - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. 用一根手指拖动屏幕 OR 按 ALT + 鼠标左键。在草图和其他编辑模式,还需按住 Alt。 - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. 捏合 (将两指置于屏幕并分开或靠近) OR 滚动鼠标中键 OR 按住ALT+鼠标右键 OR 键盘上的PgUp/PgDown。 @@ -7003,7 +6330,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Press modifier keys @@ -7019,22 +6346,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button 按鼠标左键 - + Press CTRL and middle mouse button 按下 ctrl 键和鼠标中键 - + Press CTRL and right mouse button 按下 ctrl 键和鼠标右键 - + Press CTRL and left mouse button 按CTRL和鼠标左键 @@ -7042,22 +6369,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button 按鼠标左键 - + Press right mouse button and move mouse Press right mouse button and move mouse - + Press left mouse button and move mouse Press left mouse button and move mouse - + Press middle mouse button or SHIFT and right mouse button Press middle mouse button or SHIFT and right mouse button @@ -7065,17 +6392,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit 编辑 - + Save value 保存值 - + Clear list 清空列表 @@ -7106,12 +6433,12 @@ How do you want to proceed? 剩余:%1 - + Aborting 异常中止 - + Do you really want to abort the operation? 你真的想中止运行么? @@ -7119,7 +6446,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object 更改链接的对象 @@ -7127,12 +6454,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error 错误 - + Object not found 未发现物件 @@ -7203,13 +6530,13 @@ How do you want to proceed? Gui::PropertyView - + View 视图 - + Data 数据 @@ -7257,77 +6584,77 @@ Do you want to exit without saving your data? 未处理的未知c++异常. - + &Copy 复制(&C) - + &Copy command 复制命令(&C) - + &Copy history 复制历史(&C) - + Save history as... 历史记录另存为... - + Save history 保存历史记录 - + Saves Python history across %1 sessions Saves Python history across %1 sessions - + &Paste 粘贴(&P) - + Select All 全选 - + Clear console 清空控制台 - + Insert file name... 插入文件名... - + Word wrap 自动换行 - + Save History 保存历史记录 - + Macro Files 宏文件 - + Insert file name 插入文件名 - + All Files 所有文件 @@ -7335,7 +6662,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment 注释 @@ -7348,17 +6675,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 打开文件%1 - + File not found 文件未找到 - + The file '%1' cannot be opened. 无法打开文件'%1'. @@ -7366,22 +6693,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 运行宏 %1 (Shift+单击进行编辑),键盘快捷键: %2 - + File not found 文件未找到 - + The file '%1' cannot be opened. 无法打开文件'%1'. @@ -7389,22 +6716,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button 按鼠标左键 - + Press middle mouse button 按鼠标中键 - + Press SHIFT and middle mouse button 按SHIFT和鼠标中键 - + Scroll middle mouse button 滚动鼠标中键 @@ -7435,17 +6762,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module 选择模块 - + Open %1 as 打开 %1 作为 - + Select 选择 @@ -7512,13 +6839,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation 自动 python 模块文件 - - + + Opens a browser to show the Python modules documentation 打开一个浏览器来显示 Python 模块文档 @@ -7671,38 +6998,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated 文本已更新 - + The text of the underlying object has changed. Discard changes and reload the text from the object? 基础对象的文本已更改。放弃更改并重新加载对象中的文本? - + Yes, reload. 是的,重新加载。 - + Unsaved document 未保存的文件 - + Do you want to save your changes before closing? 是否在关闭前存储所作更改? - + If you don't save, your changes will be lost. 如果您现在退出的话,您的更改将会丢失。 - - + + Edit text 编辑文本 @@ -7710,22 +7037,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button 按鼠标左键 - + Press middle mouse button 按鼠标中键 - + Press right mouse button 按鼠标右键 - + Scroll middle mouse button 滚动鼠标中键 @@ -7733,22 +7060,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button 按鼠标左键 - + Press SHIFT button 按SHIFT键 - + Press ALT button 按 ALT 键 - + Press CTRL and SHIFT buttons 按下 CTRL 和 SHIFT 按键 @@ -7974,7 +7301,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view 结构树浏览器 @@ -7982,7 +7309,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search 搜索 @@ -7990,183 +7317,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... 搜索... - + Search for objects 搜索对象 - + Activate document 激活文档 - + Activate document %1 激活文档 %1 - + Tree settings Tree settings - + Show description column Show description column - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. - + Group - + Labels & Attributes 标签 & 属性 - + Description 描述 - + Show items hidden in tree view Show items hidden in tree view - + Show items that are marked as 'hidden' in the tree view Show items that are marked as 'hidden' in the tree view - + Toggle visibility in tree view Toggle visibility in tree view - + Toggles the visibility of selected items in the tree view Toggles the visibility of selected items in the tree view - + Create group... 创建组... - + Create a group 创建组 - - + + Rename 重命名 - + Rename object 重命名对象 - + Finish editing 完成编辑 - + Finish editing object 完成编辑对象 - + Add dependent objects to selection 将依赖对象添加到所选对象 - + Adds all dependent objects to the selection 将所有依赖对象添加到所选对象 - + Close document 关闭文档 - + Close the document 关闭此文档 - + Reload document 重载文档 - + Reload a partially loaded document 重新加载部分加载的文档 - + Skip recomputes 略过重新计算 - + Enable or disable recomputations of document 启用或禁用文档的重新计算 - + Allow partial recomputes Allow partial recomputes - + Enable or disable recomputating editing object when 'skip recomputation' is enabled Enable or disable recomputating editing object when 'skip recomputation' is enabled - + Mark to recompute 标记以重新运算 - + Mark this object to be recomputed 对此物体执行重新计算 - + Recompute object 重新计算对象 - + Recompute the selected object 重新计算所选的对象 - + (but must be executed) (但是必须执行) - + %1, Internal name: %2 %1、内部名: %2 @@ -8197,12 +7524,12 @@ Do you want to specify another directory? PDF 文件 - + Opening file failed 打开文件失败 - + Can't open file '%1' for writing. 无法打开文件“%1”进行写入。 @@ -8210,7 +7537,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench 选择'%1'工作台 @@ -8218,37 +7545,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services 服务 - + Hide %1 隐藏%1 - + Hide Others 隐藏其他 - + Show All 显示全部 - + Preferences... 首选项… - + Quit %1 退出 %1 - + About %1 关于 %1 @@ -8268,11 +7595,6 @@ Do you want to specify another directory? Position - - - Form - 窗体 - X: @@ -8367,14 +7689,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input 无效输入 - - + + Input in line %1 is not a number 于%1的输入并非数字 @@ -8382,37 +7704,37 @@ Do you want to specify another directory? QDockWidget - + Tree view 结构树浏览器 - + Property view 属性浏览器 - + Selection view 选择浏览器 - + Combo View 组合浏览器 - + DAG View DAG视图 - + Report view 报告浏览器 - + Python console Python控制台 @@ -8425,33 +7747,34 @@ Do you want to specify another directory? QObject - - + + General 常规 - - + + + Display 显示 - + Workbenches 工作台 - - - + + + Python - Python + Python @@ -8477,17 +7800,27 @@ Do you want to specify another directory? 无法保存为未知的文件类型: %1 - + Workbench failure 工作台故障 - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception 异常 @@ -8533,8 +7866,8 @@ Do you want to specify another directory? 导出 PDF... - + Unsaved document 未保存的文件 @@ -8555,39 +7888,39 @@ Do you want to specify another directory? 依赖关系错误 - + Copy selected 复制所选项 - + Copy active document 复制活动文档 - + Copy all documents 复制所有文档 - + Paste 粘贴 - + Expression error 表达式错误 - + Failed to parse some of the expressions. Please check the Report View for more details. Failed to parse some of the expressions. Please check the Report View for more details. - + Failed to paste expressions Failed to paste expressions @@ -8623,224 +7956,224 @@ Be aware the point where you click matters. 请注意您的点击位置. - - + + Save views... 保存视图... - - + + Load views... 加载视图... - - + + Freeze view 冻结视图 - - + + Clear views 清除视图 - - - + + + Restore view &%1 还原视图 &%1 - + Save frozen views 保存冻结视图 - - + + Frozen views 冻结视图 - - + + Restore views 还原视图 - + Importing the restored views would clear the already stored views. Do you want to continue? 导入还原视图将清除已存储的视图.是否继续? - + Restore frozen views 恢复冻结视图 - + Cannot open file '%1'. 无法打开文件'%1'. - + files 文件 - + Save image 保存图像 - + Choose an image file to open 选择一个图像文件打开 - + New sub-group 新次级组 - - - - - - + + + + + + Enter the name: 输入名称: - - + + New text item 新文本 - - + + Enter your text: 输入文本: - - + + New integer item 新整数 - - - - - - + + + + + + Enter your number: 输入数字: - - + + New unsigned item 新无符号数 - - + + New float item 新浮点数 - + New Boolean item 新布尔值 - - + + Choose an item: 选择对象: - + New boolean item 新布尔运算项目 - + Rename group 重命名组 - + The group '%1' cannot be renamed. 组'%1'无法重命名. - + Existing group 现有的组 - + The group '%1' already exists. 组'%1'已存在. - - - - - + + + + + Change value 更改值 - + Type 类型 - + Notifier Notifier - + Message Message - + Notifier: Notifier: - + Do you want to skip confirmation of further critical message notifications while loading the file? Do you want to skip confirmation of further critical message notifications while loading the file? - + Critical Message Critical Message - + Too many opened non-intrusive notifications. Notifications are being omitted! Too many opened non-intrusive notifications. Notifications are being omitted! - + Identical physical path detected. It may cause unwanted overwrite of existing document! @@ -8849,44 +8182,44 @@ Do you want to continue? - + Are you sure you want to continue? 您确定要继续吗? - + Please check report view for more... Please check report view for more... - + Physical path: 物理路径: - - + + Document: 文档: - - + + Path: 路径: - + Identical physical path 相同的物理路径 - + Could not save document 无法保存文档 - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8899,102 +8232,102 @@ Would you like to save the file with a different name? Would you like to save the file with a different name? - - - + + + Saving aborted 保存中止 - + Save dependent files 保存依赖文件 - + The file contains external dependencies. Do you want to save the dependent files, too? The file contains external dependencies. Do you want to save the dependent files, too? - - + + Saving document failed 保存文档失败 - + Save document under new filename... 使用新的文件名保存文档... - - + + Save %1 Document 保存%1文件 - + Document 文档 - - + + Failed to save document 保存文档失败 - + Documents contains cyclic dependencies. Do you still want to save them? 文档包含循环依赖。您仍然想要保存它们吗? - + Save a copy of the document under new filename... 以新的文件名称保存目前文档的副本... - + %1 document (*.FCStd) %1 文档(*.FCStd) - + Document not closable 文档不可关闭 - + The document is not closable for the moment. 文档当前无法关闭. - + Document not saved 文档未保存. - + The document%1 could not be saved. Do you want to cancel closing it? The document%1 could not be saved. Do you want to cancel closing it? - + Undo 撤销 - + Redo 重做 - + There are grouped transactions in the following documents with other preceding transactions There are grouped transactions in the following documents with other preceding transactions - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9008,95 +8341,95 @@ Choose 'Abort' to abort 保存宏 - - + + Finish 完成 - - + + Clear 清除 - - - + + + Cancel 取消 - + Inner 内部 - + Outer 外部 - + Split 分割 - - + + No Browser 无浏览器 - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. 无法打开您的浏览器。请打开浏览器窗口并输入:http://localhost:%1. - + No Server 无服务器 - + Unable to start the server to port %1: %2. 无法从端口“%1:%2”启动服务器. - + Unable to open your system browser. 无法打开您的系统浏览器. - + Options... 选项... - + Out of memory 内存不足 - + Not enough memory available to display the data. 没有足够的可用内存来显示数据. - - + + Cannot find file %1 找不到文件 %1 - + Cannot find file %1 neither in %2 nor in %3 在 %2 或 %3 中找不到文件 %1 - + Navigation styles 导航模式 @@ -9106,8 +8439,8 @@ Please open a browser window and type in: http://localhost:%1. 移动批注 - - + + Transform 变换 @@ -9117,42 +8450,42 @@ Please open a browser window and type in: http://localhost:%1. 您要关闭此对话框吗? - + Do you want to save your changes to document '%1' before closing? 在关闭前要储存「%1」文档嘛? - + Do you want to save your changes to document before closing? Do you want to save your changes to document before closing? - + If you don't save, your changes will be lost. 如果您现在退出的话,您的更改将会丢失。 - + Apply answer to all 将选择应用于所有 - + %1 Document(s) not saved %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? Some documents could not be saved. Do you want to cancel closing? - + Delete macro 删除宏 - + Not allowed to delete system-wide macros 不允取删除系统自有宏 @@ -9162,27 +8495,27 @@ Please open a browser window and type in: http://localhost:%1. 原点 - + Delete group content? 删除群组内容? - + The %1 is not empty, delete its content as well? %1 不是空的,一并删除其相关内容吗? - + Translation: 变换: - + Rotation: 旋转: - + Toggle active part 在活动部件间切换 @@ -9245,87 +8578,87 @@ Please open a browser window and type in: http://localhost:%1. 导入所有链接失败 - - + + Invalid name 名称无效 - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. 属性名或群组名只能包含字母、数字和下划线,且不能以数字开头。 - + The property '%1' already exists in '%2' The property '%1' already exists in '%2' - + Add property 添加属性 - + Failed to add property to '%1': %2 Failed to add property to '%1': %2 - - + + Drag & drop failed 拖放失败 - + Setup configurable object Setup configurable object - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. - + Please select which objects to copy when the configuration is changed Please select which objects to copy when the configuration is changed - + Apply to all 应用到全部 - + Apply the setting to all links. Or, uncheck this option to apply only to this link. Apply the setting to all links. Or, uncheck this option to apply only to this link. - + Copy on change Copy on change - + Enable 启用 - + Enable auto copy of linked object when its configuration is changed Enable auto copy of linked object when its configuration is changed - + Tracking 追踪 - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9334,17 +8667,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Disable copy on change - + Refresh configurable object Refresh configurable object - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9355,28 +8688,28 @@ the current copy will be lost. - + Toggle array elements 切换数组元素 - + Change whether show each link array element as individual objects 更改是否把每个链接的阵列元素显示为单独对象 - + Transform at the origin of the placement 变换放置原点 - - + + Override colors... 覆盖颜色... - + Edit %1 编辑 %1 @@ -9399,12 +8732,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: 不允许: - + Selection not allowed by filter 选择不被筛选器许可 @@ -9412,9 +8745,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection 方框元素选择 @@ -9422,13 +8755,13 @@ the current copy will be lost. StdBoxSelection - + Box selection 框选 - - + + Activate the box selection tool Activate the box selection tool @@ -9506,13 +8839,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross 切换坐标轴显示 - - + + Turns on or off the axis cross at the origin Turns on or off the axis cross at the origin @@ -9618,13 +8951,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... 视图罗盘... - - + + View turntable 视图罗盘 @@ -9744,13 +9077,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style 绘制样式 - - + + Change the draw style of the objects 更改对象的绘制样式 @@ -9814,13 +9147,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions 表达式动作 - - + + Actions that apply to expressions Actions that apply to expressions @@ -9937,13 +9270,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display 冻结显示 - - + + Freezes the current view position 冻结当前视图位置 @@ -9964,13 +9297,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects 隐藏所有对象 - - + + Hide all objects in the document 隐藏文档中的所有对象 @@ -9978,13 +9311,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection 隐藏选中对象 - - + + Hide all selected objects 隐藏所有选定的对象 @@ -10258,13 +9591,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance 测量距离 - - + + Activate the distance measurement tool 激活距离测量工具 @@ -10323,8 +9656,8 @@ the current copy will be lost. 创建一个新空白文档 - - + + Unnamed 未命名 @@ -10552,8 +9885,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - 最近打开的文件 + Open Recent + Open Recent @@ -10691,13 +10024,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... 场景检索... - - + + Scene inspector 场景检索 @@ -10705,13 +10038,13 @@ the current copy will be lost. StdCmdSelBack - + &Back 返回(&B) - - + + Go back to previous selection 返回上一个选择 @@ -10719,13 +10052,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box 边框(&B) - - + + Show selection bounding box 显示选择边框 @@ -10733,13 +10066,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward 向前(&F) - - + + Repeat the backed selection 重复支持的选择 @@ -10761,13 +10094,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects 选择可见对象 - - + + Select visible objects in the active document 选择活动文档中的可见对象 @@ -10789,13 +10122,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... 外观... - - + + Sets the display properties of the selected object 设置选中对象的显示属性 @@ -10803,13 +10136,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects 显示所有对象 - - + + Show all objects in the document 显示文档中的所有对象 @@ -10817,13 +10150,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection 显示所选 - - + + Show all selected objects 显示所有选择的对象 @@ -10859,13 +10192,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... 纹理映射... - - + + Texture mapping 纹理映射 @@ -10901,13 +10234,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane 剪切平面 - - + + Toggles clipping plane for active view 打开当前视图的剪切平面 @@ -10915,13 +10248,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode 切换导航/编辑模式 - - + + Toggle between navigation and edit mode 在导航和编辑模式之间切换 @@ -10929,13 +10262,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects 切换所有对象 - - + + Toggles visibility of all objects in the active document 切换当前文档中所有对象的可见性 @@ -10943,13 +10276,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability 切换可选择性 - - + + Toggles the property of the objects to get selected in the 3D-View 切换3D视图中选择的对象的属性 @@ -10957,13 +10290,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility 切换可见性 - - + + Toggles visibility 切换可见性 @@ -11013,13 +10346,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item 折叠所选项 - - + + Collapse currently selected tree items 折叠当前所选树项 @@ -11027,13 +10360,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item 展开所选项 - - + + Expand currently selected tree items 展开当前所选树项 @@ -11041,13 +10374,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances 选择所有实例 - - + + Select all instances of the current selected object 选择当前所选对象的所有实例 @@ -11055,13 +10388,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions 树视图操作 - - + + TreeView behavior options and actions 树状视图行为选项和操作 @@ -11125,13 +10458,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom 底视 - - + + Set to bottom view 设置为底视图 @@ -11139,13 +10472,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view 创建新视图 - - + + Creates a new view window for the active document 为活动文档新建视图窗口 @@ -11153,13 +10486,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric 二轴测 - - + + Set to dimetric view 设置为二轴测视图 @@ -11167,13 +10500,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 Inventor 实例#1 - - + + Shows a 3D texture with manipulator 自动控制显示三维纹理 @@ -11181,13 +10514,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 Inventor 实例#2 - - + + Shows spheres and drag-lights 显示操控球和拖放指示 @@ -11195,13 +10528,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 Inventor 实例#3 - - + + Shows a animated texture 显示一个动画纹理 @@ -11209,13 +10542,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all 适合所有 - - + + Fits the whole content on the screen 在屏幕上容纳全部内容 @@ -11223,13 +10556,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection 适合选中 - - + + Fits the selected content on the screen 适合在屏幕上选取的内容 @@ -11237,13 +10570,13 @@ the current copy will be lost. StdCmdViewFront - + Front 前视 - - + + Set to front view 设置为前视图 @@ -11251,13 +10584,13 @@ the current copy will be lost. StdCmdViewHome - + Home 主页 - - + + Set to default home view 设置为默认主视图 @@ -11265,13 +10598,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric 等轴测 - - + + Set to isometric view 设置为等轴测视图 @@ -11279,13 +10612,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position 发布相机位置 - - + + Issue the camera position to the console and to a macro, to easily recall this position 发布相机位置至控制台或宏,以便重新访问 @@ -11293,13 +10626,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns 三维成像列扫描 - - + + Switch stereo viewing to Interleaved Columns 切换三维成像视图为列扫描显示 @@ -11307,13 +10640,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows 三维成像行扫描 - - + + Switch stereo viewing to Interleaved Rows 切换三维成像视图为行扫描显示 @@ -11321,13 +10654,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off 关闭三维成像 - - + + Switch stereo viewing off 关闭三维成像视图 @@ -11335,13 +10668,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer 三维成像缓存 - - + + Switch stereo viewing to quad buffer 切换三维成像视图为缓存显示 @@ -11349,13 +10682,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan 立体红色/青色 - - + + Switch stereo viewing to red/cyan 切换到红色/青色立体视图 @@ -11363,13 +10696,13 @@ the current copy will be lost. StdCmdViewLeft - + Left 左视 - - + + Set to left view 设置为左视图 @@ -11377,13 +10710,13 @@ the current copy will be lost. StdCmdViewRear - + Rear 后视 - - + + Set to rear view 设置为后视图 @@ -11405,13 +10738,13 @@ the current copy will be lost. StdCmdViewRight - + Right 右视 - - + + Set to right view 设置为右视图 @@ -11419,13 +10752,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left 向左旋转 - - + + Rotate the view by 90° counter-clockwise 逆时针旋转 90° 视图 @@ -11433,13 +10766,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right 向右旋转 - - + + Rotate the view by 90° clockwise 顺时针旋转 90° 视图 @@ -11461,13 +10794,13 @@ the current copy will be lost. StdCmdViewTop - + Top 俯视 - - + + Set to top view 设置为俯视图 @@ -11475,13 +10808,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric 三轴测 - - + + Set to trimetric view 设置为三轴测视图 @@ -11489,13 +10822,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-虚拟现实 - - + + Extend the FreeCAD 3D Window to a Oculus Rift 扩展FreeCAD三维窗口至头戴式显示器 @@ -11559,13 +10892,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen 全屏 - - + + Display the main window in fullscreen mode 全屏显示主窗口 @@ -11601,13 +10934,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view 回顾工作视图 - - + + Recall previously stored temporary working view 回顾以前存储的临时工作视图 @@ -11615,13 +10948,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view 保存工作视图 - - + + Store a document-specific temporary working view 保存一个文件 - 指明临时工作视图 @@ -11629,13 +10962,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand 折叠/展开 - - + + Expand active document and collapse all others 展开活动文档并折叠所有其他文档 @@ -11643,12 +10976,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging 启动拖动 - + Initiate dragging of current selected tree items 开始拖动当前所选树项 @@ -11656,13 +10989,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document 多文档 - - + + Display all documents in the tree view 在树状图中显示所有文档 @@ -11670,12 +11003,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection 预选 - + Preselect the object in 3D view when mouse over the tree item 当鼠标悬停在树项目上时,在 3D 视图中预选对象 @@ -11683,12 +11016,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection 录制选择 - + Record selection in tree view in order to go back/forward using navigation button 在树视图中记录选择,以便使用导航按钮后退/前进 @@ -11696,13 +11029,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection 转到选择 - - + + Scroll to first selected item 滚动到所选的第一个对象 @@ -11710,13 +11043,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document 单个文档 - - + + Only display the active document in the tree view 仅在树状图中显示活动文档 @@ -11724,12 +11057,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement 同步位置 - + Auto adjust placement on drag and drop objects across coordinate systems 自动调整跨坐标系拖放对象的位置 @@ -11737,12 +11070,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection 同步选择 - + Auto expand tree item when the corresponding object is selected in 3D view 在 3D 视图中选择相应对象时自动展开树项目 @@ -11750,12 +11083,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view 同步视图 - + Auto switch to the 3D view containing the selected item 自动切换到包含已选定项目的 3D 视图 @@ -11763,13 +11096,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom 框选缩放 - - + + Activate the box zoom tool Activate the box zoom tool @@ -11777,13 +11110,13 @@ the current copy will be lost. StdViewDock - + Docked 停靠 - - + + Display the active view either in fullscreen, in undocked or docked mode 当前视图显示模式:1.全屏,2.不停靠,3.停靠 @@ -11791,13 +11124,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window 文档窗口 - - + + Display the active view either in fullscreen, in undocked or docked mode 当前视图显示模式:1.全屏,2.不停靠,3.停靠 @@ -11805,13 +11138,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen 全屏 - - + + Display the active view either in fullscreen, in undocked or docked mode 当前视图显示模式:1.全屏,2.不停靠,3.停靠 @@ -11819,13 +11152,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... Save image... - - + + Creates a screenshot of the active view 创建当前视图的屏幕截图 @@ -11833,13 +11166,13 @@ the current copy will be lost. StdViewUndock - + Undocked 不停靠 - - + + Display the active view either in fullscreen, in undocked or docked mode 当前视图显示模式:1.全屏,2.不停靠,3.停靠 @@ -11847,13 +11180,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In 放大 - - + + Increase the zoom factor by a fixed amount Increase the zoom factor by a fixed amount @@ -11861,13 +11194,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out 缩小 - - + + Decrease the zoom factor by a fixed amount Decrease the zoom factor by a fixed amount @@ -11902,72 +11235,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is 保持当前样式 - + Normal mode 普通模式 - + Points - + Points mode 点模式 - + Wireframe 线框 - + Wireframe mode 线框模式 - + Hidden line 隐藏线 - + Hidden line mode 隐藏线模式 - + No shading 没有阴影 - + No shading mode 没有阴影模式 - + Shaded 着色 - + Shaded mode 着色模式 - + Flat lines 带边着色 - + Flat lines mode 带边着色模式 @@ -12030,32 +11363,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. Tree view item background. Only effective in overlay. - + Tree view item background padding. Tree view item background padding. - + Hide extra tree view column for item description. Hide extra tree view column for item description. - + Hide tree view scroll bar in dock overlay. Hide tree view scroll bar in dock overlay. - + Hide tree view header view in dock overlay. Hide tree view header view in dock overlay. - + Allow tree view columns to be manually resized. Allow tree view columns to be manually resized. @@ -12063,117 +11396,117 @@ Do you still want to proceed? Workbench - + &File 文件(&F) - + &Edit 编辑(&E) - + Edit 编辑 - + Clipboard 剪贴板 - + Workbench 工作台 - + Structure 结构 - + Standard views 标准视图 - + Axonometric 轴测图 - + &Stereo 立体显示(&S) - + &Zoom 缩放(&Z) - + Visibility 可见性 - + &View 视图(&V) - + &Tools 工具(&T) - + &Macro 宏(&M) - + &Windows 窗口(&W) - + &On-line help 在线帮助(&O) - + &Help 帮助(&H) - + Help 帮助 - + File 文件 - + Macro - + View 视图 - + Special Ops 特殊设定 - + Link actions 链接操作 @@ -12181,12 +11514,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF 导出PDF - + PDF file PDF 文件 @@ -12194,195 +11527,189 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area 通知区域 - + Settings 设置 - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources Additional data sources - + Errors intended for developers will appear in the notification area Errors intended for developers will appear in the notification area - + Debug errors Debug errors - + Warnings intended for developers will appear in the notification area Warnings intended for developers will appear in the notification area - + Debug warnings Debug warnings - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated Any open non-intrusive notifications will disappear when another window is activated - + Hide when other window is activated Hide when other window is activated - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - Activation of the Notification Area only takes effect after an application restart. - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches 可用的工作台 - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches 选择再FreeCAD启动以后显示的工作台 - + Workbench selector position : 工作台选择器位置: - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12395,12 +11722,12 @@ after FreeCAD launches '右边':在菜单栏中,右边。 - + If checked, application will remember which workbench is active for each tab of the viewport 如果选中,应用程序将记住视图端口的每个标签页中哪些工作台处于活动状态 - + Remember active workbench by tab 通过标签记住活动的工作台 @@ -12549,47 +11876,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. If unchecked, %1 will not appear in the available workbenches. - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. - + Shortcut to activate this workbench. Shortcut to activate this workbench. - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up If checked, %1 will be loaded automatically when FreeCAD starts up - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded 已载入 - + Load 加载 - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. @@ -12597,17 +11924,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar 工具栏 - + Left corner 左边角 - + Right corner 右边角 @@ -12633,12 +11965,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications Delete user notifications - + Delete All Delete All @@ -12674,13 +12006,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... Load image... - - + + Loads an image Loads an image @@ -12742,10 +12074,805 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information An error occurred -- see Report View for information + + Gui::Dialog::DlgSettingsEditor + + + Editor + 编辑器 + + + + Options + 选项 + + + + Code lines will be numbered + 代码行将被编号 + + + + Enable line numbers + 启用行号 + + + + The cursor shape will be a block + 光标形状将是一个方块 + + + + Enable block cursor + 启用方块光标 + + + + Enable folding + 启用折叠 + + + + Indentation + 缩进 + + + + Tab size: + 制表符长度: + + + + Tabulator raster (how many spaces) + 制表符<Tab>转空格(空格数量) + + + + Indent size: + 缩进大小: + + + + How many spaces will be inserted when pressing <Tab> + 按下 <Tab> 将插入多少空格 + + + + Pressing <Tab> will insert a tabulator with defined tab size + 按下 <Tab> 将插入一个定义大小的制表符 + + + + Keep tabs + 保留制表符 + + + + Pressing <Tab> will insert amount of defined indent size + 按下 <Tab> 将插入定义大小的缩进 + + + + Insert spaces + 插入空格 + + + + Display items + 显示项目 + + + + Color and font settings will be applied to selected type + 颜色和字体设置将应用于所选类型 + + + + Family: + 字体族: + + + + Font family to be used for selected code type + 用于选定代码类型的字体 + + + + Size: + 大小: + + + + Font size to be used for selected code type + 用于选定代码类型的字体大小 + + + + Color: + 颜色: + + + + Preview: + 预览: + + + + Text + 文本 + + + + Bookmark + 书签 + + + + Breakpoint + 断点 + + + + Keyword + 关键字 + + + + Comment + 注释 + + + + Block comment + 块注释 + + + + Number + + + + + String + 字符串 + + + + Character + 字符 + + + + Class name + 类名称 + + + + Define name + 定义名称 + + + + Operator + 运算符 + + + + Python output + Python 输出 + + + + Python error + Python 错误 + + + + Current line highlight + 当前行高亮显示 + + + + Items + 项目 + + + + Gui::Dialog::DlgSettingsGeneral + + + General + 常规 + + + + Language and number format + 语言和数字格式 + + + + Language: + 语言: + + + + Language of the application's user interface + 应用程序用户界面语言 + + + + Unit system: + 单位系统: + + + + Unit system that should be used for all parts of the application + 适用于应用程序所有部分的单位系统 + + + + Number of decimals: + 小数位数: + + + + Number of decimals that should be shown for numbers and dimensions + 数字和尺寸应显示的小数位数 + + + + Minimum fractional inch: + 最小分数英寸: + + + + Minimum fractional inch to be displayed + Minimum fractional inch to be displayed + + + + Number format: + 数字格式: + + + + Operating system + 操作系统 + + + + Selected language + 选择语言 + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + 如果启用,数字键盘小数点分隔符将被替换为语言环境分隔符。但在 Python 控制台和宏编辑器中,点/句点将始终打印。 + + + + Substitute decimal separator + 替代小数分隔符 + + + + Application + 工程 + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + 工具栏图标大小: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + 选择您对工具栏图标大小的偏好。您可以根据您的屏幕大小或个人品味来调整 + + + + Tree view mode: + 树形视图模式: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + 在面板中显示自定义树形视图的方式(需要重启)。 + +'组合视图': 将树形视图和属性视图合并为一个面板。 +'树形视图和属性视图':拆分树视图和属性视图为单独的面板。 +'全部':保留所有三个面板,你可以有两组树形视图和属性视图。 + + + + Size of recent file list: + 最近文件列表的大小: + + + + How many files should be listed in recent files list + 最近文件列表中应该列出多少个文件 + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + 主窗口的背景将由特殊图像的平铺显示。 +请参阅FreeCAD Wiki 了解图像的详细信息。 + + + + Enable tiled background + 启用平面背景 + + + + The text cursor will be blinking + 文本光标将会闪烁 + + + + Enable cursor blinking + 启用光标闪烁 + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + Splash 屏幕是一个小的加载窗口,在FreeCAD 启动时显示 +。 如果选中此选项,FreeCAD 将显示初始屏幕 + + + + Enable splash screen at start up + 打开软件启动界面 + + + + Preference packs + 首选项配置包 + + + + Name + 名称 + + + + Type + 类型 + + + + Load + 加载 + + + + Import config... + 导入配置... + + + + Save new... + 保存新文件... + + + + Manage... + 管理... + + + + Revert... + 还原... + + + + Manage preference packs + 管理首选项配置包 + + + + Small (%1px) + 小 (%1px) + + + + Medium (%1px) + 中(%1px) + + + + Large (%1px) + 大 (%1px) + + + + Extra large (%1px) + 特大 (%1px) + + + + Custom (%1px) + 自定义 (%1px) + + + + Combo View + 组合浏览器 + + + + TreeView and PropertyView + 树状视图和属性视图 + + + + Both + 两者都是 + + + + Preference Pack Name + 首选项配置包名称 + + + + Tags + 标签 + + + + Apply + 应用 + + + + Apply the %1 preference pack + 应用 %1 首选项配置包 + + + + Choose a FreeCAD config file to import + 选择要导入的 FreeCAD 配置文件 + + + + File exists + 文件已存在 + + + + A preference pack with that name already exists. Overwrite? + 已存在该名称的首选项配置包。是否覆盖? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + 报告浏览器 + + + + Output + 输出 + + + + Normal messages will be recorded + 正常消息将被记录 + + + + Record normal messages + 记录正常消息 + + + + Log messages will be recorded + 日志消息将被记录 + + + + Record log messages + 记录日志 + + + + Warnings will be recorded + 警告将被记录 + + + + Record warnings + 记录警告 + + + + Error messages will be recorded + 错误消息将被记录 + + + + Record error messages + 记录错误 + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + 发生错误时,错误对话框会在屏幕上显示 + + + + Show report view on error + 出现错误时显示报告窗口 + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + 当警告发生时,当显示警告时,报告视图对话框会在屏幕上显示 + + + + Show report view on warning + 出现警告时显示报告窗口 + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + 当有普通消息时,报告窗口会出现并显示这个消息 + + + + Show report view on normal message + 出现普通消息时显示报告窗口 + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + 在日志消息发生时,选择显示日志消息的情况下,报告视图对话框会在屏幕上显示 + + + + Show report view on log message + 出现日志消息时显示报告窗口 + + + + Include a timecode for each report + 为每份报告包含一个时间码 + + + + Include a timecode for each entry + 每个条目包含一个时间码 + + + + Colors + 颜色 + + + + Normal messages: + 正常的消息: + + + + Font color for normal messages in Report view panel + 报表视图面板一般消息的字体颜色 + + + + Log messages: + 日志信息: + + + + Font color for log messages in Report view panel + 报表视图面板日志消息的字体颜色 + + + + Warnings: + 警告: + + + + Font color for warning messages in Report view panel + 报告视图面板中警告信息的字体颜色 + + + + Errors: + 错误: + + + + Font color for error messages in Report view panel + 报表视图面板错误消息的字体颜色 + + + + Python interpreter + Python 解释器 + + + + Internal Python output will be redirected +from Python console to Report view panel + 内部 Python 的输出将从 Python 控制台重定向到报告视图面板 + + + + Redirect internal Python output to report view + 将 Python 内部输出重定向到报告视图 + + + + Internal Python error messages will be redirected +from Python console to Report view panel + 内部 Python 的错误消息将从 Python 控制台重定向到报告视图面板 + + + + Redirect internal Python errors to report view + 将 Python 内部错误重定向到报告视图 + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + 无样式表 + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/FreeCAD_zh-TW.ts b/src/Gui/Language/FreeCAD_zh-TW.ts index 004cbef548..f86cca0243 100644 --- a/src/Gui/Language/FreeCAD_zh-TW.ts +++ b/src/Gui/Language/FreeCAD_zh-TW.ts @@ -42,29 +42,29 @@ 特徵之顯示大小 - + <empty> <空> - - + + Angle 角度 - - + + Axis - + Position 位置 - + Enum Enum @@ -77,13 +77,13 @@ CmdTestConsoleOutput - + Test console output 測試主控台輸出 - - + + Run test cases to verify console messages 請執行測試案例以驗證主控台訊息。 @@ -91,12 +91,12 @@ CmdViewMeasureClearAll - + Clear measurement 清除測量值 - + Clear all visible measurements 清除所有可視之量測 @@ -104,12 +104,12 @@ CmdViewMeasureToggleAll - + Toggle measurement 切換測量 - + Turn on or off the display of all measurements 打開或關閉所有量測顯示 @@ -132,7 +132,7 @@ 刪除 - + Paste expressions 貼上表示式 @@ -182,7 +182,7 @@ 新增群組 - + Align Align @@ -193,40 +193,40 @@ 佈置 - - + + Transform 轉換 - + Toggle array elements Toggle array elements - + Link Transform 連結轉換 - + Measure distance 測量距離 - + Toggle visibility 切換可見性 - + Toggle selectability 切換可能選項 - + Edit image 編輯影像 @@ -234,77 +234,77 @@ CommandGroup - + File 檔案 - + Edit 編輯 - + Help 説明 - + Link 連結 - + Tools 工具 - + View 檢視 - + Window 視窗 - + Standard 標準 - + Macros 巨集 - + Macro 巨集 - + Structure 結構 - + Standard-Test 標準測試 - + Standard-View 標準視景 - + TreeView 樹狀圖 - + Measure 測量 @@ -402,11 +402,6 @@ DownloadItem - - - Form - 格式 - Ico @@ -421,42 +416,42 @@ EditMode - + Default 預設 - + The object will be edited using the mode defined internally to be the most appropriate for the object type 此物件將被使用內部定義模式來編輯,這會是最適合的物件類型。 - + Transform 轉換 - + The object will have its placement editable with the Std TransformManip command 此物件的位置將可透過 Std TransformManip 指令進行編輯 - + Cutting 切割 - + This edit mode is implemented as available but currently does not seem to be used by any object 此編輯模式已實作為可用,但目前似乎沒有被任何物件使用 - + Color 色彩 - + The object will have the color of its individual faces editable with the Part FaceColors command 該物件的個別面的顏色將可透過 Part FaceColors 指令進行編輯 @@ -482,7 +477,7 @@ - + Press a keyboard shortcut 按鍵盤快捷鍵 @@ -490,32 +485,32 @@ Gui::ActionSelector - + Available: 可用: - + Selected: 已選取: - + Add 新增 - + Remove 移除 - + Move up 上移 - + Move down 下移 @@ -523,12 +518,12 @@ Gui::AlignmentView - + Movable object 可移動物件 - + Fixed object 固定物件 @@ -559,7 +554,7 @@ Gui::AutoSaver - + Please wait until the AutoRecovery file has been saved... 自動修復檔儲存中,請稍候 @@ -567,22 +562,22 @@ Gui::BlenderNavigationStyle - + Press left mouse button 按滑鼠左鍵 - + Press SHIFT and middle mouse button 按下 shift 鍵和滑鼠中鍵 - + Press middle mouse button 按滑鼠中鍵 - + Scroll middle mouse button 滾動滑鼠中鍵 @@ -590,22 +585,22 @@ Gui::CADNavigationStyle - + Press left mouse button 按滑鼠左鍵 - + Press middle mouse button 按滑鼠中鍵 - + Press middle+left or middle+right button 按下滑鼠 中+左鍵 或 中+右鍵 - + Scroll middle mouse button or keep middle button depressed while doing a left or right click and move the mouse up or down 滾動滑鼠中央滾輪,或按住滑鼠左鍵或右鍵時按住中鍵,上下移動鼠標 @@ -614,12 +609,12 @@ while doing a left or right click and move the mouse up or down Gui::ContainerDialog - + &OK 確定(&O) - + &Cancel 取消(&C) @@ -627,7 +622,7 @@ while doing a left or right click and move the mouse up or down Gui::ControlSingleton - + Task panel 工作面板 @@ -711,47 +706,47 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::AboutDialog - - + + Credits Header for the Credits tab of the About screen 鳴謝 - + FreeCAD would not be possible without the contributions of 沒有這些人的貢獻 FreeCAD 將不可能成真 - + Individuals Header for the list of individual people in the Credits list. 個人 - + Organizations Header for the list of companies/organizations in the Credits list. 組織 - - + + License 版權 - + Libraries 函式庫 - + This software uses open source components whose copyright and other proprietary rights belong to their respective owners: 此軟體使用開放原始碼元件,其版權及其他專屬權利屬於其各自擁有者: - + Collection 收藏 @@ -759,22 +754,22 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::ApplicationCache - + Cache directory 快取目錄 - + The cache directory %1 exceeds the size of %2. 快取目錄 %1 超過 %2 的大小。 - + Do you want to clear it now? 請問您要清除掉嗎? - + Warning: Please make sure that this is the only running %1 instance and that no documents are opened as this may result into data loss! 警告:請確保這是唯一正在運行的 %1 實例,並且沒有打開任何文件,因為這可能會導致資料遺失! @@ -795,37 +790,37 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CameraDialog - + Camera settings 相機視角設定 - + Orientation 定位 - + Q0 Q0 - + Q1 Q1 - + Q2 Q2 - + Q3 Q3 - + Current view 目前視角 @@ -891,7 +886,7 @@ while doing a left or right click and move the mouse up or down Gui::Dialog::CommandModel - + Commands 命令 @@ -1116,12 +1111,12 @@ If this is not ticked, then the property must be uniquely named, and it is acces Gui::Dialog::DlgCreateNewPreferencePackImp - + Pack already exists 包已經存在。 - + A preference pack with that name already exists. Do you want to overwrite it? 有此名稱之偏好設定包已存在。您要覆寫它嗎? @@ -1359,48 +1354,48 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomKeyboardImp - + Type to search... Type to search... - + Icon 圖示 - + Command 指令 - + Shortcut 快捷鍵 - + Default 預設 - + Name 名稱 - + Title 標題 - + All 所有 - - + + none @@ -1408,8 +1403,8 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomToolBoxbarsImp - - + + Toolbox bars 工具箱列 @@ -1498,40 +1493,40 @@ same time. The one with the highest priority will be triggered. - + <Separator> <分隔線> - + %1 module not loaded %1 模組未載入 - + New toolbar 新工具列 - - + + Toolbar name: 工具列名稱: - - + + Duplicated name 重複的名稱 - - + + The toolbar name '%1' is already used '%1' 的工具列名稱已被使用 - + Rename toolbar 重新命名工具列 @@ -1544,19 +1539,19 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeImp - + Customize 自訂 - + &Help 説明(&H) - + &Close 關閉(&C) @@ -1565,13 +1560,13 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpNavSettings - + Spaceball Motion Spaceball行為 - + No Spaceball Present 無顯示Spaceball @@ -1579,27 +1574,27 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgCustomizeSpaceball - + Spaceball Buttons Spaceball按鈕 - + No Spaceball Present 無顯示Spaceball - + Buttons 按鈕 - + Reset 重設 - + Print Reference 列印參考 @@ -1684,545 +1679,123 @@ same time. The one with the highest priority will be triggered. Gui::Dialog::DlgDisplayPropertiesImp - + Default 預設 - + Aluminium - + Brass 黃銅 - + Bronze 青銅 - + Copper - + Chrome - + Emerald 祖母綠 - + Gold - + Jade - + Metalized 金屬化 - + Neon GNC Neon GNC - + Neon PHC Neon PHC - + Obsidian 黑曜岩 - + Pewter 錫鉛合金 - + Plaster 石膏 - + Plastic 塑膠 - + Ruby 紅寶石 - + Satin 緞布 - + Shiny plastic 亮面塑膠 - + Silver - + Steel - + Stone 石頭 Gui::Dialog::DlgEditorSettings - - - Editor - 編輯器 - - - - Options - 選項 - - - - Code lines will be numbered - 程式碼將加上行號 - - - - Enable line numbers - 啟用行號 - - - - The cursor shape will be a block - The cursor shape will be a block - - - - Enable block cursor - Enable block cursor - - - - Enable folding - 啟用折疊 - - - - Indentation - 縮排 - - - - Tab size: - 標籤尺寸: - - - - Tabulator raster (how many spaces) - 縮排量(幾個空格) - - - - Indent size: - 縮排尺寸: - - - - How many spaces will be inserted when pressing <Tab> - 按下<Tab>鍵時將插入幾個空白格 - - - - Pressing <Tab> will insert a tabulator with defined tab size - 按下<Tab>鍵時將插入預設尺寸的縮排量 - - - - Keep tabs - 保留字元符號 - - - - Pressing <Tab> will insert amount of defined indent size - 按<Tab>鍵將插入預先定義的縮排量 - - - - Insert spaces - 插入空格 - - - - Display items - 顯示項目 - - - - Color and font settings will be applied to selected type - 顏色及字型設定將被套用到所選項目 - - - - Family: - 家族: - - - - Font family to be used for selected code type - 字型集將套用到所選的程式碼項目 - - - - Size: - 尺寸: - - - - Font size to be used for selected code type - 字型大小將套用到所選的程式碼項目 - - - - Color: - 色彩: - - - - Preview: - 預覽: - - - Gui::Dialog::DlgGeneral - - - General - 一般 - - - - Language of the application's user interface - 應用程式使用者介面的語言 - - - - Number format: - 數字格式: - - - - Operating system - 作業系統 - - - - Selected language - 選擇語言 - - - - C/POSIX - C/POSIX - - - - If enabled, numerical keypad decimal separator -will be substituted with locale separator, except -in Python Console and Macro Editor where a -dot/period will always be printed. - 如果啟用,數字鍵盤的小數點分隔符號將會被替換為區域設定的分隔符號,但在 Python 主控台和巨集編輯器中,將始終顯示一個點/句號。 - - - - Preference packs - 偏好設定包 - - - - Name - 名稱 - - - - Type - 類型 - - - - Load - 載入 - - - - Import config... - 匯入設定... - - - - Save new... - 另存新檔... - - - - Manage... - 管理... - - - - Revert... - 還原... - - - - How many files should be listed in recent files list - 在最近使用的檔案清單中,要列出多少檔案 - - - - Enable tiled background - 啟用平面背景 - - - - The text cursor will be blinking - 文字遊標將會閃爍 - - - - Enable cursor blinking - 啟動遊標閃爍 - - - - Style sheet: - 樣式表: - - - - Language and number format - Language and number format - - - - Language: - 語言: - - - - Unit system: - Unit system: - - - - Unit system that should be used for all parts of the application - Unit system that should be used for all parts of the application - - - - Number of decimals: - 小數位數: - - - - Number of decimals that should be shown for numbers and dimensions - 數字與尺寸應顯示的小數位數 - - - - Minimum fractional inch: - Minimum fractional inch: - - - - Minimum fractional inch to be displayed - Minimum fractional inch to be displayed - - - - Substitute decimal separator - Substitute decimal separator - - - - Application - 應用程式 - - - - Style sheet how user interface will look like - 樣式表決定使用者界面的外觀 - - - - Size of toolbar icons: - 工具列圖示尺寸: - - - - Choose your preference for toolbar icon size. You can adjust -this according to your screen size or personal taste - 在偏好設定中選擇工具列圖示大小。您可以依照螢幕大小及個人品味來調整。 - - - - Tree view mode: - 樹狀圖模式: - - - - Customize how tree view is shown in the panel (restart required). - -'ComboView': combine tree view and property view into one panel. -'TreeView and PropertyView': split tree view and property view into separate panel. -'Both': keep all three panels, and you can have two sets of tree view and property view. - 自訂樹狀圖要如何在面板中顯示 (需重新啟動)。 - -'複合檢視': 將樹狀選單及屬性檢視整合到同一面板中。 -'樹狀檢視 及 屬性檢視': 將樹狀檢視 及 屬性檢視分割為二個面板。 -'全部': 保留全部三個面板,你可看到二組 樹狀檢視 及屬性檢視面板. - - - - Size of recent file list: - 最近檔案清單大小: - - - - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - Background of the main window (when no document is opened) will consist of tiles of a special image. -See the FreeCAD Wiki for details about the image. - - - - A Splash screen is a small loading window that is shown -when FreeCAD is launching. If this option is checked, FreeCAD will -display the splash screen - 啟動畫面是在FreeCAD啟動後顯示的開始畫面。如果勾選此選項,FreeCAD啟動後將顯示啟動畫面。 - - - - Enable splash screen at start up - 在開啟時使用啟動畫面 - - - - Gui::Dialog::DlgGeneralImp - - - Manage preference packs - 管理偏好設定包 - - - - Small (%1px) - 小 (%1px) - - - - Medium (%1px) - 中 (%1px) - - - - Large (%1px) - 大 (%1px) - - - - Extra large (%1px) - 超大 (%1px) - - - - Custom (%1px) - 自訂 (%1px) - - - - Combo View - 複合檢視 - - - - TreeView and PropertyView - 樹狀圖檢視及屬性檢視 - - - - Both - 兩者 - - - - No style sheet - 無樣式表 - - - - Preference Pack Name - 偏好設定包名稱 - - - - Tags - 標籤 - - - - Apply - 應用 - - - - Apply the %1 preference pack - 套用 %1 之偏好設定包 - - - - Choose a FreeCAD config file to import - 還擇一個 FreeCAD 設定檔以匯入 - - - - File exists - 檔案已存在 - - - - A preference pack with that name already exists. Overwrite? - 有此名稱之偏好設定包已存在。是否覆寫? - - Gui::Dialog::DlgInputDialog @@ -2238,8 +1811,8 @@ display the splash screen Gui::Dialog::DlgInspector - - + + Scene Inspector 場景檢查器 @@ -2331,70 +1904,70 @@ display the splash screen Gui::Dialog::DlgMacroExecuteImp - + Macros 巨集 - + Read-only 唯讀 - + Macro file 巨集檔案 - + Enter a file name, please: 請輸入檔案名稱: - - - + + + Existing file 現有檔案 - + '%1'. This file already exists. '%1'.該檔案已存在。 - + Cannot create file 無法建立檔案 - + Creation of file '%1' failed. 檔案「%1」建立失敗。 - + Delete macro 刪除巨集 - + Do you really want to delete the macro '%1'? 您確定要刪除 '%1' 的巨集嗎? - + Do not show again 不再顯示 - + Guided Walkthrough 指導式演練 - + This will guide you in setting up this macro in a custom global toolbar. Instructions will be in red text inside the dialog. Note: your changes will be applied when you next switch workbenches @@ -2405,77 +1978,77 @@ Note: your changes will be applied when you next switch workbenches - + Walkthrough, dialog 1 of 2 演練, 對話方塊2之1 - + Walkthrough instructions: Fill in missing fields (optional) then click Add, then Close 演練指令: 填入遺失的欄位(選擇性) 然後點選新增, 然後關閉 - + Walkthrough, dialog 1 of 1 演練, 對話方塊1之1 - + Walkthrough, dialog 2 of 2 演練, 對話方塊2之2 - + Walkthrough instructions: Click right arrow button (->), then Close. 演練指令: 點選右邊的箭頭按鈕 (->), 然後關閉. - + Walkthrough instructions: Click New, then right arrow (->) button, then Close. 演練指令: 點選新增, 然後右邊的箭頭 (->) 按鈕, 然後關閉. - + Renaming Macro File 重新命名巨集 - - + + Enter new name: 輸入新名稱: - - + + '%1' already exists. '%1' 已存在 - + Rename Failed 無法重新命名 - + Failed to rename to '%1'. Perhaps a file permission error? 無法重新命名為'%1'。可能是檔案許可設定錯誤? - + Duplicate Macro 複製巨集 - + Duplicate Failed 複製失敗 - + Failed to duplicate to '%1'. Perhaps a file permission error? 複製到 '%1' 失敗。 @@ -2518,39 +2091,39 @@ Perhaps a file permission error? Gui::Dialog::DlgMacroRecordImp - - - + + + Macro recorder 巨集錄製器 - + Specify first a place to save. 首先指定存檔位置。 - + The macro directory doesn't exist. Please, choose another one. 巨集目錄不存在。請另選一個。 - + Existing macro 現有的巨集 - + The macro '%1' already exists. Do you want to overwrite? 巨集 '%1' 已存在。是否要改寫? - + You have no write permission for the directory. Please, choose another one. 您沒有此目錄之寫入權限,請選擇另一個 - + Choose macro directory 選擇巨集目錄 @@ -2623,12 +2196,12 @@ Perhaps a file permission error? HTML 檔 - + Access denied 訪問被拒絕 - + Access denied to '%1' Specify another directory, please. @@ -3027,36 +2600,36 @@ Specify another directory, please. 專案檔 - - + + Empty source 無指定來源 - - + + No source is defined. 無指定來源 - - + + Empty destination 無目的地 - - + + No destination is defined. 未定義目的地 - + Failed to extract project 無法提取專案資料 - + Failed to create project 無法建立專案 @@ -3106,188 +2679,6 @@ Specify another directory, please. Gui::Dialog::DlgReportView - - - Report view - 報告檢視 - - - - Output - 輸出 - - - - Normal messages will be recorded - 正常訊息將會被錄製下來 - - - - Record normal messages - 錄製正常訊息 - - - - Log messages will be recorded - 日誌訊息將會被錄製下來 - - - - Record log messages - 錄製日誌訊息 - - - - Warnings will be recorded - 警告將會被錄製下來 - - - - Record warnings - 記錄警告 - - - - Error messages will be recorded - 錯誤訊息將會被錄製下來 - - - - Record error messages - 錄製錯誤訊息 - - - - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - When an error has occurred, the Report View dialog becomes visible -on-screen while displaying the error - - - - Show report view on error - 當發生錯誤時顯示報告 - - - - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - When a warning has occurred, the Report View dialog becomes visible -on-screen while displaying the warning - - - - Show report view on warning - 當發生警告時顯示報告 - - - - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - When a normal message has occurred, the Report View dialog becomes visible -on-screen while displaying the message - - - - Show report view on normal message - Show report view on normal message - - - - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - When a log message has occurred, the Report View dialog becomes visible -on-screen while displaying the log message - - - - Show report view on log message - Show report view on log message - - - - Include a timecode for each report - 在每個報告中包含時間碼 - - - - Include a timecode for each entry - 在每個條目中包含時間碼 - - - - Colors - 顏色 - - - - Normal messages: - 正常訊息: - - - - Font color for normal messages in Report view panel - Font color for normal messages in Report view panel - - - - Log messages: - 日誌訊息: - - - - Font color for log messages in Report view panel - Font color for log messages in Report view panel - - - - Warnings: - 警告: - - - - Font color for warning messages in Report view panel - Font color for warning messages in Report view panel - - - - Errors: - 錯誤: - - - - Font color for error messages in Report view panel - Font color for error messages in Report view panel - - - - Python interpreter - Python 直譯器 - - - - Internal Python output will be redirected -from Python console to Report view panel - 內部 Python 輸出將從 Python 主控台 -轉向到報告視窗面板 - - - - Redirect internal Python output to report view - 內部Python重新輸出至報告視圖 - - - - Internal Python error messages will be redirected -from Python console to Report view panel - 內部 Python 錯誤訊息將從 Python 控制台 -重新指向到報告視窗面板 - - - - Redirect internal Python errors to report view - 將內部 Python 錯誤重定向到報表視景 - @@ -3314,7 +2705,7 @@ from Python console to Report view panel Gui::Dialog::DlgRevertToBackupConfigImp - + No selection in dialog, cannot load backup file No selection in dialog, cannot load backup file @@ -3357,7 +2748,7 @@ from Python console to Report view panel 説明 - + Select a file 選擇一個檔案 @@ -3365,70 +2756,70 @@ from Python console to Report view panel Gui::Dialog::DlgSettings3DView - + 3D View 3D視圖 - + General 一般 - + Main coordinate system will always be shown in lower right corner within opened files Main coordinate system will always be shown in lower right corner within opened files - + Show coordinate system in the corner 在角落顯示坐標系統 - + Relative size : Relative size : - + Size of main coordinate system representation in the corner -- in % of height/width of viewport Size of main coordinate system representation in the corner -- in % of height/width of viewport - + Axis cross will be shown by default at file opening or creation 軸的十字將預設顯示在一個檔案開啟或建立時 opening or creation - + Show axis cross by default 預設顯示軸的十字 - + Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files - + Show counter of frames per second 顯示每秒影格計數器 - + Rendering 算繪 - + This option is useful for troubleshooting graphics card and driver problems. Changing this option requires a restart of the application. @@ -3437,22 +2828,22 @@ Changing this option requires a restart of the application. 更改此選項需要重新啟動應用程式. - + Use software OpenGL 使用軟體OpenGL - + Use OpenGL VBO (Vertex Buffer Object) Use OpenGL VBO (Vertex Buffer Object) - + Render cache 算繪快取 - + If selected, Vertex Buffer Objects (VBO) will be used. A VBO is an OpenGL feature that provides methods for uploading vertex data (position, normal vector, color, etc.) to the graphics card. @@ -3475,7 +2866,7 @@ issues ranging from graphical anomalies to GPU crash bugs. Remember to report this setting as enabled when seeking support on the FreeCAD forums - + 'Render Caching' is another way to say 'Rendering Acceleration'. There are 3 options available to achieve this: 1) 'Auto' (default), let Coin3D decide where to cache. @@ -3492,92 +2883,92 @@ only cache at the scene graph root node. This offers the fastest rendering speed but slower response to any scene changes. - + Auto 自動 - + Distributed 分散式 - + Centralized 中心化 - + Anti-Aliasing 反鋸齒 - + What kind of multisample anti-aliasing is used What kind of multisample anti-aliasing is used - + None - + Line Smoothing 線條平滑化 - + MSAA 2x 反鋸齒 2x - + MSAA 4x 反鋸齒 4x - + MSAA 8x 反鋸齒 8x - + Transparent objects: 透明物件: - + Render types of transparent objects 透明物件的算繪類型 - + One pass One pass - + Backface pass Backface pass - + Marker size: 標記大小 - - Size of vertices in the Sketcher workbench - Size of vertices in the Sketcher workbench + + Size of vertices in the Sketcher, TechDraw and other workbenches + Size of vertices in the Sketcher, TechDraw and other workbenches - + Eye to eye distance for stereo modes Eye to eye distance for stereo modes - + Eye-to-eye distance used for stereo projections. The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. @@ -3586,48 +2977,48 @@ The specified value is a factor that will be multiplied with the bounding box size of the 3D object that is currently displayed. - + Backlight is enabled with the defined color 以定義顏色來啟動背光 - - + + Backlight color 背光顏色 - + Intensity 強度 - + Intensity of the backlight 背光源的強度 - + Camera type 相機視角 - + Objects will appear in a perspective projection 物件將以透視投影法顯示 - + Perspective renderin&g 透視圖(&g) - + Objects will be projected in orthographic projection 物件將以正投影法顯示 - + Or&thographic rendering 以正視算繪(&t) @@ -3639,42 +3030,42 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettings3DViewImp - + 5px 5px - + 7px 7px - + 9px 9px - + 11px 11px - + 13px 13px - + 15px 15px - + Anti-aliasing 反鋸齒 - + Open a new viewer or restart %1 to apply anti-aliasing changes. 開啟新視窗或重新啟動 %1 來套用反鋸齒效果 @@ -3682,77 +3073,77 @@ bounding box size of the 3D object that is currently displayed. Gui::Dialog::DlgSettingsCacheDirectory - + Cache 快取 - + Cache directory 快取目錄 - + Location: 位置: - + Check periodically at program start: 在程式開始時固定檢查: - + Always 總是 - + Daily Daily - + Weekly Weekly - + Monthly 每月 - + Yearly 每年 - + Never Never - + Cache size limit: 快取大小限制: - + Check now... 立即檢查 - + Notify the user if the cache size exceeds the specified limit 提醒使用者如果快取大小超過指定的限制 - + Unknown 未知 - + Current cache size: %1 目前快取大小:%1 @@ -3913,12 +3304,12 @@ besides the color bar Gui::Dialog::DlgSettingsColorGradientImp - + Wrong parameter 錯誤的參數 - + The maximum value must be higher than the minimum value. 最高值必須高於最低值。 @@ -3926,181 +3317,181 @@ besides the color bar Gui::Dialog::DlgSettingsDocument - + Document 文件 - + General 一般 - + The application will create a new document when started The application will create a new document when started - + Create new document at start up 啟動時開啟空白文件 - + Document save compression level (0 = none, 9 = highest, 3 = default) 儲存文件的壓縮級別(0 =無,9 =最高,3 =預設) - + Compression level for FCStd files Compression level for FCStd files - + All changes in documents are stored so that they can be undone/redone All changes in documents are stored so that they can be undone/redone - + Using Undo/Redo on documents 使用“復原/重做”功能於此檔案 - + Maximum Undo/Redo steps 最大復原/重做次數 - + How many Undo/Redo steps should be recorded How many Undo/Redo steps should be recorded - + Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. - + Allow aborting recomputation Allow aborting recomputation - + Storage 儲存 - + Saving transactions (Auto-save) 儲存交易(自動儲存) - + Discard saved transaction after saving document 儲存文件後拋棄儲存的交易 - + If there is a recovery file available the application will automatically run a file recovery when it is started. If there is a recovery file available the application will automatically run a file recovery when it is started. - + Run AutoRecovery at startup 於啟動時執行自動修復 - + How often a recovery file is written How often a recovery file is written - + Save AutoRecovery information every 儲存每個自動修復資訊 - + A thumbnail will be stored when document is saved A thumbnail will be stored when document is saved - + Save thumbnail into project file when saving document 儲存文件時縮圖儲存到專案檔 - + Size 尺寸 - + Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 Sets the size of the thumbnail that is stored in the document. Common sizes are 128, 256 and 512 - + The program logo will be added to the thumbnail The program logo will be added to the thumbnail - + Add the program logo to the generated thumbnail Add the program logo to the generated thumbnail - + How many backup files will be kept when saving document How many backup files will be kept when saving document - + Maximum number of backup files to keep when resaving document Maximum number of backup files to keep when resaving document - + Backup files will get extension '.FCbak' and file names get date suffix according to the specified format Backup files will get extension '.FCbak' and file names get date suffix according to the specified format - + Use date and FCBak extension Use date and FCBak extension - + Date format 日期格式 - + Document objects 檔案物件 - + Allow objects to have same label 允許物件有同樣標籤 - + Allow duplicate object labels in one document 在一個檔案中允許重複的物件標籤 - + Enable partial loading of external linked documents. Then only referenced objects and their dependencies will be loaded when a linked document is auto-opened together with the main document. @@ -4111,22 +3502,22 @@ icon in the tree view to fully reload it. 部分載入的檔案無法被編輯。在樹狀檢視中雙擊該檔案以完整載入該檔案。 - + Disable partial loading of external linked objects Disable partial loading of external linked objects - + Authoring and License 創作及授權 - + Author name 作者 - + All documents that will be created will get the specified author name. Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> @@ -4135,32 +3526,32 @@ Keep blank for anonymous. You can also use the form: John Doe <john@doe.com> - + The field 'Last modified by' will be set to specified author when saving the file The field 'Last modified by' will be set to specified author when saving the file - + Set on save 儲存時設定 - + Company 公司 - + Default company name to use for new files Default company name to use for new files - + Default license 預設授權 - + Default license for new documents Default license for new documents @@ -4230,12 +3621,12 @@ You can also use the form: John Doe <john@doe.com> 其他 - + License URL 授權連結 - + URL describing more about the license URL describing more about the license @@ -4243,104 +3634,21 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsDocumentImp - + The format of the date to use. The format of the date to use. - + Default 預設 - + Format Format - - Gui::Dialog::DlgSettingsEditorImp - - - Text - 文字 - - - - Bookmark - 書籤 - - - - Breakpoint - 斷點 - - - - Keyword - 關鍵字 - - - - Comment - 評論 - - - - Block comment - 阻止評論 - - - - Number - 數目 - - - - String - 字串 - - - - Character - 字符 - - - - Class name - 類別名稱 - - - - Define name - 定義名稱 - - - - Operator - 操作 - - - - Python output - Python 輸出 - - - - Python error - Python 錯誤 - - - - Current line highlight - 強調此行 - - - - Items - 項目 - - Gui::Dialog::DlgSettingsImage @@ -4521,122 +3829,122 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsMacro - + Macro 巨集 - + General macro settings 一般巨集設定 - + Variables defined by macros are created as local variables Variables defined by macros are created as local variables - + Run macros in local environment 於此環境執行巨集 - + Macro recording settings 巨集錄製設定 - + Macro path 巨集路徑 - + The directory in which the application will search for macros The directory in which the application will search for macros - + Gui commands Gui 指令 - + Recorded macros will also contain user interface commands Recorded macros will also contain user interface commands - + Record GUI commands 紀錄 GUI 指令 - + Recorded macros will also contain user interface commands as comments Recorded macros will also contain user interface commands as comments - + Record as comment 記錄為評論 - + Logging Commands 記錄命令 - + Commands executed by macro scripts are shown in Python console 巨集腳本執行的指令會顯示在 Python 主控台中 - + Show script commands in python console 在python控制台顯示腳本指令 - + Log all commands issued by menus to file: 記錄所有功能表所發出的指令檔: - + FullScript.FCScript FullScript.FCScript - + Recent macros menu 最近使用的巨集選單 - + Size of recent macro list 最近使用的巨集清單大小 - + How many macros should be listed in recent macros list How many macros should be listed in recent macros list - + Keyboard shortcut count 鍵盤快捷鍵數目 - + How many recent macros should have shortcuts 最近有多少巨集應該有快捷鍵 - + Keyboard Modifiers Keyboard Modifiers - + Keyboard modifiers, default = Ctrl+Shift+ Keyboard modifiers, default = Ctrl+Shift+ @@ -4644,130 +3952,130 @@ You can also use the form: John Doe <john@doe.com> Gui::Dialog::DlgSettingsNavigation - - + + Navigation 導覽 - + Navigation cube Navigation cube - + Steps by turn Steps by turn - + Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) Number of steps by turn when using arrows (default = 8 : step angle = 360/8 = 45 deg) - + Corner Corner - + Corner where navigation cube is shown Corner where navigation cube is shown - + Top left 左上 - + Top right 右上 - + Bottom left 左下 - + Bottom right 右下 - + Rotates to nearest possible state when clicking a cube face Rotates to nearest possible state when clicking a cube face - + Rotate to nearest Rotate to nearest - + Font name: Font name: - + Font name of the navigation cube Font name of the navigation cube - + Default 預設 - + Cube size Cube size - + Size of the navigation cube Size of the navigation cube - + Color 色彩 - + Base color for all elements 所有元件之基底顏色 - + 3D Navigation 3D 導航 - + List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. List the mouse button configs for each chosen navigation setting. Select a set and then press the button to view said configurations. - + Mouse... 滑鼠... - + Navigation settings set Navigation settings set - + Orbit style 環繞模式 - + Rotation orbit style. Trackball: moving the mouse horizontally will rotate the part around the y-axis Turntable: the part will be rotated around the z-axis (with constrained axes). @@ -4778,116 +4086,116 @@ Turntable: the part will be rotated around the z-axis (with constrained axes). Free Turntable: the part will be rotated around the z-axis. - + Turntable 可旋轉 - + Trackball 軌跡球 - + Free Turntable Free Turntable - + Rotation mode Rotation mode - + Rotations in 3D will use current cursor position as center for rotation Rotations in 3D will use current cursor position as center for rotation - + Window center Window center - + Drag at cursor Drag at cursor - + Object center Object center - + Default camera orientation Default camera orientation - + Default camera orientation when creating a new document or selecting the home view Default camera orientation when creating a new document or selecting the home view - + Camera zoom Camera zoom - + Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. Sets camera zoom for new documents. The value is the diameter of the sphere to fit on the screen. - + mm mm - + Enable animated rotations Enable animated rotations - + Enable animation 啟用動畫 - + Zoom operations will be performed at position of mouse pointer Zoom operations will be performed at position of mouse pointer - + Zoom at cursor 游標處放大 - + Zoom step 放大步驟 - + How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. - + Direction of zoom operations will be inverted Direction of zoom operations will be inverted - + Invert zoom 反相縮放 - + Prevents view tilting when pinch-zooming. Affects only gesture navigation style. Mouse tilting is not disabled by this setting. @@ -4896,57 +4204,67 @@ Affects only gesture navigation style. Mouse tilting is not disabled by this setting. - + Disable touchscreen tilt gesture Disable touchscreen tilt gesture - + + Show the rotation center when dragging. + Show the rotation center when dragging. + + + + Enable rotation center indication + Enable rotation center indication + + + Isometric 等角立體 - + Dimetric 二等角立體 - + Trimetric 不等角立體 - + Top 上視圖 - + Front 前視圖 - + Left 左視圖 - + Right 右視圖 - + Rear 後視圖 - + Bottom 底視圖 - + Custom 自訂 @@ -4954,43 +4272,43 @@ Mouse tilting is not disabled by this setting. Gui::Dialog::DlgSettingsPythonConsole - + Python console Python 主控台 - + Settings 設定 - + Words will be wrapped when they exceed available horizontal space in Python console 當字詞在 Python 主控台中超過可用的水平空間時,它們將被換行。 - + Enable word wrap 啟用文字換行 - + The cursor shape will be a block The cursor shape will be a block - + Enable block cursor Enable block cursor - + Saves Python history across sessions Saves Python history across sessions - + Save history 儲存歷史紀錄 @@ -4998,17 +4316,37 @@ horizontal space in Python console Gui::Dialog::DlgSettingsSelection - + Selection 選擇 - + + Enable preselection, highlighted with specified color + Enable preselection, highlighted with specified color + + + + Enable preselection + Enable preselection + + + + Enable selection, highlighted with specified color + Enable selection, highlighted with specified color + + + + Enable selection + Enable selection + + + Pick radius (px): 選取半徑 (px): - + Area for picking elements in 3D view. Larger value eases to pick things, but can make small features impossible to select. @@ -5017,27 +4355,27 @@ Larger value eases to pick things, but can make small features impossible to sel - + Auto switch to the 3D view containing the selected item 自動切換到包含選擇項目的3D視圖 - + Auto expand tree item when the corresponding object is selected in 3D view 在3D視圖中選擇物件時,自動展開樹狀圖中對應項目 - + Preselect the object in 3D view when mouse over the tree item 將滑鼠游標停在樹狀圖項目上時,在3D視窗中預選取該物件 - + Record selection in tree view in order to go back/forward using navigation button 將樹狀圖中選取項目記錄下來,以便使用導航按鈕 返回/前進 - + Add checkboxes for selection in document tree 在文件樹中添加複選框以進行選擇 @@ -5045,147 +4383,122 @@ Larger value eases to pick things, but can make small features impossible to sel Gui::Dialog::DlgSettingsViewColor - + Colors 顏色 - - Selection - 選擇 - - - - Enable preselection and highlight by specified color - 啟用預選並按指定顏色高亮度強調 - - - - Enable preselection highlighting - 啟用強調預選 - - - - Enable selection highlighting and use specified color - 啟用選擇強調並使用指定的顏色 - - - - Enable selection highlighting - 啟用選擇突出顯示 - - - + Background color for the model view Background color for the model view - + Background color 背景顏色 - - + + Background will have selected color Background will have selected color - + Simple color 簡單顏色 - - + + Background will have selected color gradient Background will have selected color gradient - + Linear gradient Linear gradient - + Radial gradient Radial gradient - - + + Top: Top: - - + + Middle: Middle: - + Switches the colors of the gradient Switches the colors of the gradient - + Switch 切換 - + Color gradient will get selected color as middle color Color gradient will get selected color as middle color - + Middle color 中間色 - - + + Bottom: Bottom: - + Tree view 樹狀檢視 - + Object being edited 正在編輯的物件 - + Background color for objects in tree view that are currently edited 在樹狀圖裡編輯中物件的背景色彩 - + Active container Active container - + Background color for active containers in tree view 樹狀圖裡選定中容器的背景色彩 - + Central: 中央: - + Midway: 中途: - + End: 終點: @@ -5297,12 +4610,12 @@ The preference system is the one set in the general preferences. Gui::Dialog::DlgUnitsCalculator - + unknown unit: unknown unit: - + unit mismatch unit mismatch @@ -5310,7 +4623,7 @@ The preference system is the one set in the general preferences. Gui::Dialog::DockablePlacement - + Placement 佈置 @@ -5362,60 +4675,60 @@ The 'Status' column shows whether the document could be recovered. 尚未修復 - + Unknown problem occurred 發生未知的錯誤 - - + + Failed to recover 無法修復 - + Successfully recovered 成功修復 - + Finish 結束 - - + + Delete 刪除 - - + + Cleanup 清除 - + Are you sure you want to delete the selected transient directories? 您確定要刪除已選之暫存資料夾? - + When deleting the selected transient directory you won't be able to recover any files afterwards. 當刪除已選之暫存資料夾後您將無法進行任何檔案之復原。 - + Are you sure you want to delete all transient directories? 您確定要移除所有暫存資料夾嗎? - + When deleting all transient directories you won't be able to recover any files afterwards. When deleting all transient directories you won't be able to recover any files afterwards. - + Transient directories deleted. 暫存資料夾已刪除 @@ -5539,7 +4852,7 @@ The 'Status' column shows whether the document could be recovered. 圖示資料夾 - + Add icon folder 增加圖示資料夾 @@ -5552,12 +4865,12 @@ The 'Status' column shows whether the document could be recovered. 增加或刪除自訂圖示資料夾 - + Remove folder 刪除資料夾 - + Removing a folder only takes effect after an application restart. 僅於應用程式重新啟動後才移除資料夾 @@ -5627,79 +4940,79 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterGroup - - + + Expand 展開 - + Add sub-group 新增子群組 - - + + Remove group 移除群組 - + Rename group 重命名群組 - + Export parameter 匯出參數 - + Import parameter 匯入參數 - + Collapse 瓦解 - + Do you really want to remove this parameter group? Do you really want to remove this parameter group? - + Existing sub-group 現有子群組 - + The sub-group '%1' already exists. 子群組'%1'已經存在。 - + Export parameter to file 匯出參數到檔案 - + Import parameter from file 從檔案中匯入參數 - + Import Error 匯入錯誤 - + Reading from '%1' failed. 讀取'%1'失敗。 @@ -5707,65 +5020,65 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::ParameterValue - + Change value 變更值 - + Remove key 移除鍵 - + Rename key 重命名鍵 - + New 新增 - + New string item 新增字串項目 - + New float item 新增浮點項目 - + New integer item 新增整數項目 - + New unsigned item 新的無符號項目 - + New Boolean item 新增布林項目 - - - - - + + + + + Existing item 現有項目 - - - - - + + + + + The item '%1' already exists. 該項目'%1'已存在。 @@ -5911,17 +5224,17 @@ The 'Status' column shows whether the document could be recovered. 應用 - + Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. Please select 1, 2, or 3 points before clicking this button. A point may be on a vertex, face, or edge. If on a face or edge the point used will be the point at the mouse position along face or edge. If 1 point is selected it will be used as the center of rotation. If 2 points are selected the midpoint between them will be the center of rotation and a new custom axis will be created, if needed. If 3 points are selected the first point becomes the center of rotation and lies on the vector that is normal to the plane defined by the 3 points. Some distance and angle information is provided in the report view, which can be useful when aligning objects. For your convenience when Shift + click is used the appropriate distance or angle is copied to the clipboard. - + Incorrect quantity 錯誤的數量 - + There are input fields with incorrect input, please ensure valid placement values! 於輸入區域有錯誤的內容,請確認該區域合理之輸入內容 @@ -5929,12 +5242,12 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::PrintModel - + Button 按鈕 - + Command 指令 @@ -5998,17 +5311,17 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::SceneModel - + Inventor Tree 建立者樹 - + Name 名稱 - + Nodes 節點 @@ -6064,14 +5377,14 @@ The 'Status' column shows whether the document could be recovered. Gui::Dialog::Transform - - + + Cancel 取消 - - + + Transform 轉換 @@ -6168,13 +5481,13 @@ originally selected prior to opening this dialog - + Model 模型 - + Tasks 任務 @@ -6182,7 +5495,7 @@ originally selected prior to opening this dialog Gui::DockWnd::PropertyDockView - + Property View 屬性檢視 @@ -6190,82 +5503,82 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportOutput - + Options 選項 - + Display message types 顯示訊息類型 - - + + Normal messages 正常訊息: - - + + Log messages 日誌訊息 - - + + Warnings Warnings - - + + Errors Errors - - + + Critical messages 關鍵訊息 - + Show Report view on Show Report view on - + Redirect Python output Python輸出重新指定 - + Redirect Python errors 重定向Python的錯誤 - + Go to end 至最末端 - + Clear 清除 - + Save As... 另存新檔... - + Save Report Output 儲存報表輸出 - + Plain Text Files 純文字檔 @@ -6274,13 +5587,13 @@ originally selected prior to opening this dialog Gui::DockWnd::ReportView - + Output 輸出 - + Python console Python 主控台 @@ -6318,72 +5631,72 @@ originally selected prior to opening this dialog Picked object list - + Select only 僅選擇 - + Selects only this object 僅選擇此物件 - + Deselect 取消選擇 - + Deselects this object 取消選擇此物件 - + Zoom fit 最適化縮放 - + Selects and fits this object in the 3D window 於3D視窗選取並聚焦於此物件 - + Go to selection 進行選擇 - + Selects and locates this object in the tree view 於樹狀圖中選取並定位此物件 - + Mark to recompute 執行重新運算 - + Mark this object to be recomputed 對此物件執行重新運算 - + To python console 至 python 主控台 - + Reveals this object and its subelements in the python console. 將此物件及其子元素於python主控台中顯示 - + Duplicate subshape Duplicate subshape - + Creates a standalone copy of this subshape in the document Creates a standalone copy of this subshape in the document @@ -6396,7 +5709,7 @@ originally selected prior to opening this dialog 應用程式 - + Labels & Attributes 標籤和屬性 @@ -6444,27 +5757,27 @@ Do you want to save your changes? PDF 檔 - + untitled[*] 未命名[*] - + - Editor -編輯器 - + %1 chars removed 移除 %1 字元 - + %1 chars added 添加 %1 字元 - + Formatted 格式化了的 @@ -6488,13 +5801,13 @@ Do you want to save your changes? Gui::FileChooser - - + + Select a file 選擇一個檔案 - + Select a directory 選擇一個目錄 @@ -6502,13 +5815,13 @@ Do you want to save your changes? Gui::FileDialog - + Save as 另存新檔 - - + + Open 開啟 @@ -6516,12 +5829,12 @@ Do you want to save your changes? Gui::FileOptionsDialog - + Extended 延伸的 - + All files (*.*) 所有檔案(*.*) @@ -6529,27 +5842,27 @@ Do you want to save your changes? Gui::Flag - + Top left 左上 - + Bottom left 左下 - + Top right 右上 - + Bottom right 右下 - + Remove 移除 @@ -6557,22 +5870,22 @@ Do you want to save your changes? Gui::GestureNavigationStyle - + Tap OR click left mouse button. Tap OR click left mouse button. - + Drag screen with two fingers OR press right mouse button. Drag screen with two fingers OR press right mouse button. - + Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. Drag screen with one finger OR press left mouse button. In Sketcher && other edit modes, hold Alt in addition. - + Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. Pinch (place two fingers on the screen && drag them apart from || towards each other) OR scroll middle mouse button OR PgUp/PgDown on keyboard. @@ -6580,74 +5893,74 @@ Do you want to save your changes? Gui::GraphvizView - + Graphviz not found 未發現Graphviz - + Graphviz couldn't be found on your system. Graphviz couldn't be found on your system. - + Read more about it here. Read more about it here. - + Do you want to specify its installation path if it's already installed? Do you want to specify its installation path if it's already installed? - + Graphviz installation path Graphviz安裝路徑 - + Graphviz failed Graphviz錯誤 - + Graphviz failed to create an image file Graphviz建立影像失敗 - + PNG format PNG 格式 - + Bitmap format 點陣圖格式 - + GIF format GIF 格式 - + JPG format JPG 格式 - + SVG format SVG 格式 - - + + PDF format PDF 格式 - - + + Export graph 匯出圖形 @@ -6655,12 +5968,12 @@ Do you want to save your changes? Gui::InputField - + Edit 編輯 - + Save value 儲存數值 @@ -6668,22 +5981,22 @@ Do you want to save your changes? Gui::InventorNavigationStyle - + Press CTRL and left mouse button 請按 ctrl 鍵和滑鼠左鍵 - + Press middle mouse button 按滑鼠中鍵 - + Press left mouse button 按滑鼠左鍵 - + Scroll middle mouse button 滾動滑鼠中鍵 @@ -6691,7 +6004,7 @@ Do you want to save your changes? Gui::LabelEditor - + List 清單 @@ -6699,66 +6012,66 @@ Do you want to save your changes? Gui::LocationDialog - - + + - - - - + + + + X X - - + + - - - - + + + + Y Y - - + + - - - - + + + + Z Z - - + + - - - - + + + + User defined... 使用者定義... - + - - + + Wrong direction 錯誤的方向 - + - - + + Direction must not be the null vector 方向不可為空向量 @@ -6766,22 +6079,22 @@ Do you want to save your changes? Gui::LocationWidget - + X: X: - + Y: Y: - + Z: Z: - + Direction: 方向: @@ -6789,17 +6102,17 @@ Do you want to save your changes? Gui::MacroCommand - + Macros 巨集 - + Macro file doesn't exist 無此巨集 - + No such macro file: '%1' 無 '%1'之巨集 @@ -6807,63 +6120,73 @@ Do you want to save your changes? Gui::MainWindow - - + + Dimension 標註 - + Ready 就緒 - + Help addon needed! Help addon needed! - + The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager The Help system of %1 is now handled by the "Help" addon. It can easily be installed via the Addons Manager - + Open Addon Manager Open Addon Manager - + Close All 全部關閉 - - + + Toggles this toolbar 切換此工具列 - - + + Toggles this dockable window 切換此可停靠的視窗 - - + + WARNING: This is a development version. + WARNING: This is a development version. + + + + Please do not use in a production environment. + Please do not use in a production environment. + + + + Unsaved document 未儲存文件 - + The exported object contains external link. Please save the documentat least once before exporting. 匯出的物件包含外部連結。請在匯出前至少儲存一次文件。 - + To link to external objects, the document must be saved at least once. Do you want to save the document now? To link to external objects, the document must be saved at least once. @@ -6873,121 +6196,121 @@ Do you want to save the document now? Gui::ManualAlignment - - - - - + + + + + Manual alignment 手動對齊 - + The alignment is already in progress. 正在對齊中 - + Alignment[*] 對齊[*] - + Please, select at least one point in the left and the right view 請於左和右視圖至少選擇一點 - + Please, select at least %1 points in the left and the right view 請於左和右視圖至少選擇%1點 - + Please pick points in the left and right view 請於左和右視圖中選擇點 - + The alignment has finished 已對齊結束 - + The alignment has been canceled 已取消對齊 - - + + Too few points picked in the left view. At least %1 points are needed. 左側視圖選擇點過少,至少要%1點 - - + + Too few points picked in the right view. At least %1 points are needed. 右側視圖選擇點過少,至少要%1點 - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. 左右視圖所選點數不同,左側視圖選擇%1點,右側視圖選擇%2點 - + Try to align group of views 嘗試對齊視圖群組 - + The alignment failed. How do you want to proceed? 無法對齊,您要如何進行? - + Different number of points picked in left and right view. On the left view %1 points are picked, on the right view %2 points are picked. 左右視圖所選點數不同 - + Point_%1 點_%1 - + Point picked at (%1,%2,%3) 選取點(%1,%2,%3) - + No point was found on model 於模型上沒有點 - + No point was picked 無選定點 - + &Align 對齊(&A) - + &Remove last point 移除最後的點(&R) - + &Cancel 取消(&C) - + &Synchronize views 同步視圖(&S) @@ -6995,22 +6318,22 @@ How do you want to proceed? Gui::MayaGestureNavigationStyle - + Tap OR click left mouse button. Tap OR click left mouse button. - + Drag screen with two fingers OR press ALT + middle mouse button. Drag screen with two fingers OR press ALT + middle mouse button. - + Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. Drag screen with one finger OR press ALT + left mouse button. In Sketcher and other edit modes, hold Alt in addition. - + Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. Pinch (place two fingers on the screen and drag them apart from or towards each other) OR scroll middle mouse button OR press ALT + right mouse button OR PgUp/PgDown on keyboard. @@ -7018,7 +6341,7 @@ How do you want to proceed? Gui::ModifierLineEdit - + Press modifier keys Press modifier keys @@ -7034,22 +6357,22 @@ How do you want to proceed? Gui::OpenCascadeNavigationStyle - + Press left mouse button 按滑鼠左鍵 - + Press CTRL and middle mouse button 按下CTRL和滑鼠中鍵 - + Press CTRL and right mouse button 按下CTRL和滑鼠右鍵 - + Press CTRL and left mouse button 請按 ctrl 鍵和滑鼠左鍵 @@ -7057,22 +6380,22 @@ How do you want to proceed? Gui::OpenSCADNavigationStyle - + Press left mouse button 按滑鼠左鍵 - + Press right mouse button and move mouse Press right mouse button and move mouse - + Press left mouse button and move mouse Press left mouse button and move mouse - + Press middle mouse button or SHIFT and right mouse button Press middle mouse button or SHIFT and right mouse button @@ -7080,17 +6403,17 @@ How do you want to proceed? Gui::PrefQuantitySpinBox - + Edit 編輯 - + Save value 儲存數值 - + Clear list 清除清單 @@ -7121,12 +6444,12 @@ How do you want to proceed? 剩餘: %1 - + Aborting 中止 - + Do you really want to abort the operation? 您確實要中止操作嗎? @@ -7134,7 +6457,7 @@ How do you want to proceed? Gui::PropertyEditor::LinkLabel - + Change the linked object Change the linked object @@ -7142,12 +6465,12 @@ How do you want to proceed? Gui::PropertyEditor::LinkSelection - + Error 錯誤 - + Object not found 未發現物件 @@ -7218,13 +6541,13 @@ How do you want to proceed? Gui::PropertyView - + View 檢視 - + Data 資料 @@ -7272,77 +6595,77 @@ Do you want to exit without saving your data? 未處理未知的C++例外。 - + &Copy 複製(&C) - + &Copy command 複製指令(&C) - + &Copy history 複製歷史(&C) - + Save history as... 另存歷史為新檔... - + Save history 儲存歷史紀錄 - + Saves Python history across %1 sessions Saves Python history across %1 sessions - + &Paste &貼上 - + Select All 全選 - + Clear console 清除主控台 - + Insert file name... 插入檔案名稱... - + Word wrap 自動換行 - + Save History 儲存歷史記錄 - + Macro Files 巨集檔 - + Insert file name 插入檔案名稱 - + All Files 所有檔案 @@ -7350,7 +6673,7 @@ Do you want to exit without saving your data? Gui::PythonEditor - + Comment 評論 @@ -7363,17 +6686,17 @@ Do you want to exit without saving your data? Gui::RecentFilesAction - + Open file %1 打開檔案 %1 - + File not found 找不到檔案 - + The file '%1' cannot be opened. 無法打開'%1'檔案。 @@ -7381,22 +6704,22 @@ Do you want to exit without saving your data? Gui::RecentMacrosAction - + none - + Run macro %1 (Shift+click to edit) keyboard shortcut: %2 執行巨集 %1 (Shift+click 來編輯) 快捷鍵: %2 - + File not found 找不到檔案 - + The file '%1' cannot be opened. 無法打開'%1'檔案。 @@ -7404,22 +6727,22 @@ Do you want to exit without saving your data? Gui::RevitNavigationStyle - + Press left mouse button 按滑鼠左鍵 - + Press middle mouse button 按滑鼠中鍵 - + Press SHIFT and middle mouse button 按下 shift 鍵和滑鼠中鍵 - + Scroll middle mouse button 滾動滑鼠中鍵 @@ -7450,17 +6773,17 @@ Do you want to exit without saving your data? Gui::SelectModule - + Select module 選擇模組 - + Open %1 as 開啟%1為 - + Select 選擇 @@ -7525,13 +6848,13 @@ Do you want to specify another directory? Gui::StdCmdPythonHelp - + Automatic python modules documentation 自動python模組文件 - - + + Opens a browser to show the Python modules documentation 開啟一個瀏覽器顯示Python模組文件 @@ -7684,38 +7007,38 @@ Do you want to specify another directory? Gui::TextDocumentEditorView - + Text updated 文字上傳 - + The text of the underlying object has changed. Discard changes and reload the text from the object? The text of the underlying object has changed. Discard changes and reload the text from the object? - + Yes, reload. 是,重新載入 - + Unsaved document 未儲存文件 - + Do you want to save your changes before closing? 是否在關閉前儲存變更? - + If you don't save, your changes will be lost. 若不儲存將會失去所有修改 - - + + Edit text 編輯文字 @@ -7723,22 +7046,22 @@ Do you want to specify another directory? Gui::TinkerCADNavigationStyle - + Press left mouse button 按滑鼠左鍵 - + Press middle mouse button 按滑鼠中鍵 - + Press right mouse button Press right mouse button - + Scroll middle mouse button 滾動滑鼠中鍵 @@ -7746,22 +7069,22 @@ Do you want to specify another directory? Gui::TouchpadNavigationStyle - + Press left mouse button 按滑鼠左鍵 - + Press SHIFT button 使用SHIFT按鈕 - + Press ALT button 使用ALT按鈕 - + Press CTRL and SHIFT buttons 按下CTRL及SHIFT鈕 @@ -7987,7 +7310,7 @@ Do you want to specify another directory? Gui::TreeDockWidget - + Tree view 樹狀檢視 @@ -7995,7 +7318,7 @@ Do you want to specify another directory? Gui::TreePanel - + Search 搜尋 @@ -8003,183 +7326,183 @@ Do you want to specify another directory? Gui::TreeWidget - + Search... Search... - + Search for objects 搜尋物件 - + Activate document 啟動文件 - + Activate document %1 啟動文件 %1 - + Tree settings 樹狀設定 - + Show description column 顯示說明欄 - + Show an extra tree view column for item description. The item's description can be set by pressing F2 (or your OS's edit button) or by editing the 'label2' property. 為項目描述顯示一個額外的樹狀檢視圖列。此項目描述可以藉由按 F2 來設定 (或者您 OS 的編輯按鍵) 或藉由編輯其 'label2' 屬性。 - + Group 群組 - + Labels & Attributes 標籤和屬性 - + Description 說明 - + Show items hidden in tree view 在樹狀檢視圖中顯示隱藏項目 - + Show items that are marked as 'hidden' in the tree view 在樹狀檢視圖中顯示被標為 '隱藏' 的項目 - + Toggle visibility in tree view 在樹狀圖中切換可見性 - + Toggles the visibility of selected items in the tree view 切換樹狀圖中被選項目的可見性 - + Create group... 建立群組... - + Create a group 建立一個群組 - - + + Rename 重新命名 - + Rename object 重新命名物件 - + Finish editing 完成編輯 - + Finish editing object 完成編輯物件 - + Add dependent objects to selection 將相依物件增加到選擇 - + Adds all dependent objects to the selection 將所有相依物件增加到選擇 - + Close document Close document - + Close the document Close the document - + Reload document Reload document - + Reload a partially loaded document Reload a partially loaded document - + Skip recomputes 略過重新運算 - + Enable or disable recomputations of document 啟用或停用檔案重新運算之功能 - + Allow partial recomputes Allow partial recomputes - + Enable or disable recomputating editing object when 'skip recomputation' is enabled 啟用'跳過重新計算'時啟用或禁用重新計算編輯物件 - + Mark to recompute 執行重新運算 - + Mark this object to be recomputed 對此物件執行重新運算 - + Recompute object 重新計算物件 - + Recompute the selected object 重新計算所選的物件 - + (but must be executed) (but must be executed) - + %1, Internal name: %2 %1, Internal name: %2 @@ -8210,12 +7533,12 @@ Do you want to specify another directory? PDF 檔 - + Opening file failed 開啟檔案失敗 - + Can't open file '%1' for writing. 無法開啟並寫入檔案 '%1' @@ -8223,7 +7546,7 @@ Do you want to specify another directory? Gui::WorkbenchGroup - + Select the '%1' workbench 選擇 '%1' 工作台 @@ -8231,37 +7554,37 @@ Do you want to specify another directory? MAC_APPLICATION_MENU - + Services 服務 - + Hide %1 隱藏 %1 - + Hide Others 隱藏其他 - + Show All 顯示全部 - + Preferences... 偏好設定... - + Quit %1 離開 %1 - + About %1 關於%1 @@ -8281,11 +7604,6 @@ Do you want to specify another directory? Position - - - Form - 格式 - X: @@ -8380,14 +7698,14 @@ Do you want to specify another directory? PropertyListDialog - - + + Invalid input 無效的輸入 - - + + Input in line %1 is not a number 於%1之輸入並非數字 @@ -8395,37 +7713,37 @@ Do you want to specify another directory? QDockWidget - + Tree view 樹狀檢視 - + Property view 屬性檢視 - + Selection view 選擇視圖 - + Combo View 複合檢視 - + DAG View DAG視圖 - + Report view 報告檢視 - + Python console Python 主控台 @@ -8438,31 +7756,32 @@ Do you want to specify another directory? QObject - - + + General 一般 - - + + + Display 顯示 - + Workbenches 工作臺 - - - + + + Python Python @@ -8490,17 +7809,27 @@ Do you want to specify another directory? 無法儲存為未知的檔案類型:%1 - + Workbench failure 工作台故障 - + %1 %1 - + + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + This system is running OpenGL %1.%2. FreeCAD requires OpenGL 2.0 or above. Please upgrade your graphics driver and/or card as required. + + + + Invalid OpenGL Version + Invalid OpenGL Version + + + Exception 異常 @@ -8546,8 +7875,8 @@ Do you want to specify another directory? 匯出 PDF... - + Unsaved document 未儲存文件 @@ -8568,39 +7897,39 @@ Do you want to specify another directory? Dependency error - + Copy selected Copy selected - + Copy active document 複製作業中文件 - + Copy all documents Copy all documents - + Paste 貼上 - + Expression error 表示式錯誤 - + Failed to parse some of the expressions. Please check the Report View for more details. 無法解析某些表示式。 請檢視報告視窗以獲得更多細節。 - + Failed to paste expressions 無法貼上表示式 @@ -8634,268 +7963,268 @@ Be aware the point where you click matters. 請選擇兩個物件。請注意您點擊的位置很重要。 - - + + Save views... 保存視圖... - - + + Load views... 載入視圖... - - + + Freeze view 凍結視圖 - - + + Clear views 清除視圖 - - - + + + Restore view &%1 還原視圖 &%1 - + Save frozen views 保存凍結的視圖 - - + + Frozen views 凍結視窗 - - + + Restore views 還原試圖 - + Importing the restored views would clear the already stored views. Do you want to continue? 導入恢復的視圖將清除已存儲的視圖。您要繼續嗎? - + Restore frozen views 還原凍結的視圖 - + Cannot open file '%1'. 無法開啟檔案'%1' - + files 檔案 - + Save image 儲存影像 - + Choose an image file to open 選擇要打開的影像檔 - + New sub-group 新的分組 - - - - - - + + + + + + Enter the name: 輸入名稱: - - + + New text item 新增文字項 - - + + Enter your text: 輸入您的文字: - - + + New integer item 新增整數項目 - - - - - - + + + + + + Enter your number: 輸入您的號碼: - - + + New unsigned item 新的無符號項目 - - + + New float item 新增浮點項目 - + New Boolean item 新增布林項目 - - + + Choose an item: 選擇一個項目: - + New boolean item 新布林項目 - + Rename group 重命名群組 - + The group '%1' cannot be renamed. '%1'群組法重新命名 - + Existing group 現有群組 - + The group '%1' already exists. 該群組'%1'已存在。 - - - - - + + + + + Change value 變更值 - + Type 類型 - + Notifier 通知器 - + Message 訊息 - + Notifier: 通知人: - + Do you want to skip confirmation of further critical message notifications while loading the file? 當載入檔案時,您是否想要跳過進一步重要訊息通知的確認? - + Critical Message 嚴重訊息 - + Too many opened non-intrusive notifications. Notifications are being omitted! 太多已開啟之非侵入通知。通知已被忽略! - + Identical physical path detected. It may cause unwanted overwrite of existing document! 偵測到相同的實體路徑。這可能會導致現有文件被不必要地覆寫! - + Are you sure you want to continue? 您確定要繼續嗎? - + Please check report view for more... 請檢視報告視窗以獲得更多... - + Physical path: Physical path: - - + + Document: Document: - - + + Path: 路徑: - + Identical physical path Identical physical path - + Could not save document Could not save document - + There was an issue trying to save the file. This may be because some of the parent folders do not exist, or you do not have sufficient permissions, or for other reasons. Error details: "%1" @@ -8906,102 +8235,102 @@ Would you like to save the file with a different name? "%1" - - - + + + Saving aborted 終止存檔 - + Save dependent files Save dependent files - + The file contains external dependencies. Do you want to save the dependent files, too? 該檔案包含外部相依性。您是否也要一併儲存相依的檔案? - - + + Saving document failed 儲存檔案失敗 - + Save document under new filename... 以新檔名儲存文件 - - + + Save %1 Document 儲存文件 %1 - + Document 文件 - - + + Failed to save document 儲存檔案失敗。 - + Documents contains cyclic dependencies. Do you still want to save them? 文件包含循環相依性。您是否仍然要儲存它們? - + Save a copy of the document under new filename... 以新的檔案名稱儲存目前檔案的副本 - + %1 document (*.FCStd) %1文件(*.FCStd) - + Document not closable 文件無法關閉 - + The document is not closable for the moment. 目前文件無法關閉 - + Document not saved 檔案未儲存 - + The document%1 could not be saved. Do you want to cancel closing it? 文件%1無法被儲存。請問您是否要關閉它? - + Undo 復原 - + Redo 重做 - + There are grouped transactions in the following documents with other preceding transactions 以下文件中存在與其他前置交易進行分組的交易。 - + Choose 'Yes' to roll back all preceding transactions. Choose 'No' to roll back in the active document only. Choose 'Abort' to abort @@ -9015,95 +8344,95 @@ Choose 'Abort' to abort 儲存巨集 - - + + Finish 結束 - - + + Clear 清除 - - - + + + Cancel 取消 - + Inner 內部 - + Outer 外部 - + Split Split - - + + No Browser 無瀏覽器 - + Unable to open your browser. Please open a browser window and type in: http://localhost:%1. 無法打開您的流覽器。請打開流覽器視窗,並在鍵入: http://localhost:%1。 - + No Server 沒有伺服器 - + Unable to start the server to port %1: %2. 無法啟動伺服器埠 %1:%2。 - + Unable to open your system browser. 無法打開您的系統瀏覽器。 - + Options... 選項 ... - + Out of memory 記憶體不足 - + Not enough memory available to display the data. 沒有足夠的記憶體可用來顯示資料。 - - + + Cannot find file %1 找不到檔案%1 - + Cannot find file %1 neither in %2 nor in %3 在%2與%3中找不到檔案 %1 - + Navigation styles 導航模式 @@ -9113,8 +8442,8 @@ Please open a browser window and type in: http://localhost:%1. 移動標註 - - + + Transform 轉換 @@ -9124,42 +8453,42 @@ Please open a browser window and type in: http://localhost:%1. 您確定要關閉此對話窗嗎? - + Do you want to save your changes to document '%1' before closing? 於關閉前要儲存「%1」檔嘛? - + Do you want to save your changes to document before closing? 您是否在關閉前要儲存改變至此文件? - + If you don't save, your changes will be lost. 若不儲存將會失去所有修改 - + Apply answer to all Apply answer to all - + %1 Document(s) not saved %1 Document(s) not saved - + Some documents could not be saved. Do you want to cancel closing? 某些文件無法被儲存。請問您是否要關閉它? - + Delete macro 刪除巨集 - + Not allowed to delete system-wide macros 不允取刪除系統自有之巨集 @@ -9169,27 +8498,27 @@ Please open a browser window and type in: http://localhost:%1. 原點 - + Delete group content? 刪除群組內容? - + The %1 is not empty, delete its content as well? %1內尚有內容,確定要刪除嗎? - + Translation: 轉移: - + Rotation: 旋轉: - + Toggle active part Toggle active part @@ -9252,86 +8581,86 @@ Please open a browser window and type in: http://localhost:%1. Failed to import all links - - + + Invalid name Invalid name - + The property name or group name must only contain alpha numericals, underscore, and must not start with a digit. 屬性名稱或群組名稱只能包含字母、數字、底線,且不能以數字開頭。 - + The property '%1' already exists in '%2' The property '%1' already exists in '%2' - + Add property 新增屬性 - + Failed to add property to '%1': %2 Failed to add property to '%1': %2 - - + + Drag & drop failed Drag & drop failed - + Setup configurable object 可設定屬性物件 - + Select which object to copy or exclude when configuration changes. All external linked objects are excluded by default. 當設定變更時,請選擇什麼物件要複製或排除。預設情況下,所有外部連結的物件都會被排除。 - + Please select which objects to copy when the configuration is changed 請選擇在設定變更時要複製的物件 - + Apply to all Apply to all - + Apply the setting to all links. Or, uncheck this option to apply only to this link. 套用此設定至所有連結。或者,取消選中此選項僅將其套用於此連結。 - + Copy on change Copy on change - + Enable 啟用 - + Enable auto copy of linked object when its configuration is changed 當連結物件的設定更改時啟用自動複製連結物件 - + Tracking 追蹤 - + Copy the linked object when its configuration is changed. Also auto redo the copy if the original linked object is changed. @@ -9340,17 +8669,17 @@ Also auto redo the copy if the original linked object is changed. - + Disable copy on change Disable copy on change - + Refresh configurable object 重新運算可設定物件 - + Synchronize the original configurable source object by creating a new deep copy. Note that any changes made to the current copy will be lost. @@ -9359,28 +8688,28 @@ the current copy will be lost. - + Toggle array elements Toggle array elements - + Change whether show each link array element as individual objects 更改是否將每個連結陣列元素顯示為個別的物件 - + Transform at the origin of the placement 在放置原點轉換 - - + + Override colors... 覆蓋顏色... - + Edit %1 編輯 %1 @@ -9403,12 +8732,12 @@ the current copy will be lost. SelectionFilter - + Not allowed: 不允許: - + Selection not allowed by filter 不允許透過篩選器選取 @@ -9416,9 +8745,9 @@ the current copy will be lost. StdBoxElementSelection - - - + + + Box element selection 框選元件 @@ -9426,13 +8755,13 @@ the current copy will be lost. StdBoxSelection - + Box selection 拉框選擇 - - + + Activate the box selection tool 啟動框選工具 @@ -9510,13 +8839,13 @@ the current copy will be lost. StdCmdAxisCross - + Toggle axis cross 切換軸交錯 - - + + Turns on or off the axis cross at the origin 打開或關閉在原點處的軸交叉 @@ -9622,13 +8951,13 @@ the current copy will be lost. StdCmdDemoMode - + View turntable... 可旋轉視圖... - - + + View turntable 可旋轉視圖 @@ -9748,13 +9077,13 @@ the current copy will be lost. StdCmdDrawStyle - + Draw style 繪製樣式 - - + + Change the draw style of the objects Change the draw style of the objects @@ -9818,13 +9147,13 @@ the current copy will be lost. StdCmdExpression - + Expression actions 表示式動作 - - + + Actions that apply to expressions 套用在表示式的動作 @@ -9941,13 +9270,13 @@ the current copy will be lost. StdCmdFreezeViews - + Freeze display 凍結顯示 - - + + Freezes the current view position 凍結當前視景的位置 @@ -9968,13 +9297,13 @@ the current copy will be lost. StdCmdHideObjects - + Hide all objects 隱藏所有物件 - - + + Hide all objects in the document 隱藏檔案中的所有物件 @@ -9982,13 +9311,13 @@ the current copy will be lost. StdCmdHideSelection - + Hide selection 隱藏選取內容 - - + + Hide all selected objects 隱藏所有選取的物件 @@ -10262,13 +9591,13 @@ the current copy will be lost. StdCmdMeasureDistance - + Measure distance 測量距離 - - + + Activate the distance measurement tool 啟動距離量測工具 @@ -10327,8 +9656,8 @@ the current copy will be lost. 建立一個新的空白檔案 - - + + Unnamed 未命名 @@ -10556,8 +9885,8 @@ the current copy will be lost. StdCmdRecentFiles - Recent files - 最近使用的檔案 + Open Recent + Open Recent @@ -10695,13 +10024,13 @@ the current copy will be lost. StdCmdSceneInspector - + Scene inspector... 場景檢查器... - - + + Scene inspector 場景檢查器 @@ -10709,13 +10038,13 @@ the current copy will be lost. StdCmdSelBack - + &Back &Back - - + + Go back to previous selection Go back to previous selection @@ -10723,13 +10052,13 @@ the current copy will be lost. StdCmdSelBoundingBox - + &Bounding box &Bounding box - - + + Show selection bounding box Show selection bounding box @@ -10737,13 +10066,13 @@ the current copy will be lost. StdCmdSelForward - + &Forward &Forward - - + + Repeat the backed selection Repeat the backed selection @@ -10765,13 +10094,13 @@ the current copy will be lost. StdCmdSelectVisibleObjects - + Select visible objects 選取顯示中物件 - - + + Select visible objects in the active document 於作業中文件選取可視物件 @@ -10793,13 +10122,13 @@ the current copy will be lost. StdCmdSetAppearance - + Appearance... 外觀... - - + + Sets the display properties of the selected object 設置所選物件的顯示屬性 @@ -10807,13 +10136,13 @@ the current copy will be lost. StdCmdShowObjects - + Show all objects 顯示所有物件 - - + + Show all objects in the document 在檔案中顯示所有物件 @@ -10821,13 +10150,13 @@ the current copy will be lost. StdCmdShowSelection - + Show selection 顯示選取內容 - - + + Show all selected objects 顯示所有選取的物件 @@ -10863,13 +10192,13 @@ the current copy will be lost. StdCmdTextureMapping - + Texture mapping... 紋理映射... - - + + Texture mapping 材質貼圖 @@ -10905,13 +10234,13 @@ the current copy will be lost. StdCmdToggleClipPlane - + Clipping plane 裁剪平面 - - + + Toggles clipping plane for active view 為目前視圖切換剪裁面板 @@ -10919,13 +10248,13 @@ the current copy will be lost. StdCmdToggleNavigation - + Toggle navigation/Edit mode 切換導航/編輯模式 - - + + Toggle between navigation and edit mode 導航和編輯模式之間切換 @@ -10933,13 +10262,13 @@ the current copy will be lost. StdCmdToggleObjects - + Toggle all objects 切換所有物件 - - + + Toggles visibility of all objects in the active document 切換顯示作業中文件之所有物件的可見性 @@ -10947,13 +10276,13 @@ the current copy will be lost. StdCmdToggleSelectability - + Toggle selectability 切換可能選項 - - + + Toggles the property of the objects to get selected in the 3D-View 切換物件性質於3D視圖中選取 @@ -10961,13 +10290,13 @@ the current copy will be lost. StdCmdToggleVisibility - + Toggle visibility 切換可見性 - - + + Toggles visibility 切換可見性 @@ -11017,13 +10346,13 @@ the current copy will be lost. StdCmdTreeCollapse - + Collapse selected item Collapse selected item - - + + Collapse currently selected tree items 將目前選取的樹狀圖項目折疊起來 @@ -11031,13 +10360,13 @@ the current copy will be lost. StdCmdTreeExpand - + Expand selected item Expand selected item - - + + Expand currently selected tree items 將目前選取的樹狀圖項目展開來 @@ -11045,13 +10374,13 @@ the current copy will be lost. StdCmdTreeSelectAllInstances - + Select all instances Select all instances - - + + Select all instances of the current selected object 選擇目前選定物件的全部實例 @@ -11059,13 +10388,13 @@ the current copy will be lost. StdCmdTreeViewActions - + TreeView actions 樹狀圖動作 - - + + TreeView behavior options and actions 樹狀檢視的行為及動作選項 @@ -11129,13 +10458,13 @@ the current copy will be lost. StdCmdViewBottom - + Bottom 底視圖 - - + + Set to bottom view 設置為底部視圖 @@ -11143,13 +10472,13 @@ the current copy will be lost. StdCmdViewCreate - + Create new view 建立新視圖 - - + + Creates a new view window for the active document 為作業中文件建立新的視窗 @@ -11157,13 +10486,13 @@ the current copy will be lost. StdCmdViewDimetric - + Dimetric 二等角立體 - - + + Set to dimetric view Set to dimetric view @@ -11171,13 +10500,13 @@ the current copy will be lost. StdCmdViewExample1 - + Inventor example #1 創作範例 #1 - - + + Shows a 3D texture with manipulator 顯示3D紋理及控制面板 @@ -11185,13 +10514,13 @@ the current copy will be lost. StdCmdViewExample2 - + Inventor example #2 創作範例 #2 - - + + Shows spheres and drag-lights 顯示範圍和拖燈 @@ -11199,13 +10528,13 @@ the current copy will be lost. StdCmdViewExample3 - + Inventor example #3 創作範例 #3 - - + + Shows a animated texture 顯示動畫的紋理 @@ -11213,13 +10542,13 @@ the current copy will be lost. StdCmdViewFitAll - + Fit all 顯示全部 - - + + Fits the whole content on the screen 在螢幕上容納整個內容 @@ -11227,13 +10556,13 @@ the current copy will be lost. StdCmdViewFitSelection - + Fit selection 顯示所選區域 - - + + Fits the selected content on the screen 顯示所選內容於螢幕 @@ -11241,13 +10570,13 @@ the current copy will be lost. StdCmdViewFront - + Front 前視圖 - - + + Set to front view 設置為前視圖 @@ -11255,13 +10584,13 @@ the current copy will be lost. StdCmdViewHome - + Home Home - - + + Set to default home view Set to default home view @@ -11269,13 +10598,13 @@ the current copy will be lost. StdCmdViewIsometric - + Isometric 等角立體 - - + + Set to isometric view 設定為立體正投影檢視 @@ -11283,13 +10612,13 @@ the current copy will be lost. StdCmdViewIvIssueCamPos - + Issue camera position 設置攝影位置 - - + + Issue the camera position to the console and to a macro, to easily recall this position 於控制台及巨集中紀錄攝影機位置,以方便回復 @@ -11297,13 +10626,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedColumns - + Stereo Interleaved Columns 立體插入列 - - + + Switch stereo viewing to Interleaved Columns 轉換立體視圖為行交錯 @@ -11311,13 +10640,13 @@ the current copy will be lost. StdCmdViewIvStereoInterleavedRows - + Stereo Interleaved Rows 立體列交錯 - - + + Switch stereo viewing to Interleaved Rows 轉換立體視圖為列交錯 @@ -11325,13 +10654,13 @@ the current copy will be lost. StdCmdViewIvStereoOff - + Stereo Off 關閉立體影像 - - + + Switch stereo viewing off 關閉立體影像 @@ -11339,13 +10668,13 @@ the current copy will be lost. StdCmdViewIvStereoQuadBuff - + Stereo quad buffer 四組立體緩衝功能 - - + + Switch stereo viewing to quad buffer 轉換立體視圖為四組緩衝功能 @@ -11353,13 +10682,13 @@ the current copy will be lost. StdCmdViewIvStereoRedGreen - + Stereo red/cyan 立體 紅/青 - - + + Switch stereo viewing to red/cyan 切換立體視圖至 紅/青 @@ -11367,13 +10696,13 @@ the current copy will be lost. StdCmdViewLeft - + Left 左視圖 - - + + Set to left view 設置為左視圖 @@ -11381,13 +10710,13 @@ the current copy will be lost. StdCmdViewRear - + Rear 後視圖 - - + + Set to rear view 設置為後視圖 @@ -11409,13 +10738,13 @@ the current copy will be lost. StdCmdViewRight - + Right 右視圖 - - + + Set to right view 設置為右視圖 @@ -11423,13 +10752,13 @@ the current copy will be lost. StdCmdViewRotateLeft - + Rotate Left 向左旋轉 - - + + Rotate the view by 90° counter-clockwise Rotate the view by 90° counter-clockwise @@ -11437,13 +10766,13 @@ the current copy will be lost. StdCmdViewRotateRight - + Rotate Right 向右旋轉 - - + + Rotate the view by 90° clockwise Rotate the view by 90° clockwise @@ -11465,13 +10794,13 @@ the current copy will be lost. StdCmdViewTop - + Top 上視圖 - - + + Set to top view 設置為上視圖 @@ -11479,13 +10808,13 @@ the current copy will be lost. StdCmdViewTrimetric - + Trimetric 不等角立體 - - + + Set to trimetric view Set to trimetric view @@ -11493,13 +10822,13 @@ the current copy will be lost. StdCmdViewVR - + FreeCAD-VR FreeCAD-虛擬實境 - - + + Extend the FreeCAD 3D Window to a Oculus Rift 延伸FreeCAD 3D視窗到Oculus Rift @@ -11563,13 +10892,13 @@ the current copy will be lost. StdMainFullscreen - + Fullscreen 全螢幕 - - + + Display the main window in fullscreen mode Display the main window in fullscreen mode @@ -11605,13 +10934,13 @@ the current copy will be lost. StdRecallWorkingView - + Recall working view Recall working view - - + + Recall previously stored temporary working view Recall previously stored temporary working view @@ -11619,13 +10948,13 @@ the current copy will be lost. StdStoreWorkingView - + Store working view Store working view - - + + Store a document-specific temporary working view Store a document-specific temporary working view @@ -11633,13 +10962,13 @@ the current copy will be lost. StdTreeCollapseDocument - + Collapse/Expand 折疊/展開 - - + + Expand active document and collapse all others 展開作業中文件並折疊所有其他文件 @@ -11647,12 +10976,12 @@ the current copy will be lost. StdTreeDrag - + Initiate dragging 開始拖曳 - + Initiate dragging of current selected tree items 開始拖動目前選定的樹狀圖項目 @@ -11660,13 +10989,13 @@ the current copy will be lost. StdTreeMultiDocument - + Multi document Multi document - - + + Display all documents in the tree view 在樹狀圖檢視中顯示所有檔案 @@ -11674,12 +11003,12 @@ the current copy will be lost. StdTreePreSelection - + Pre-selection Pre-selection - + Preselect the object in 3D view when mouse over the tree item 將滑鼠游標停在樹狀圖項目上時,在3D視窗中預選取該物件 @@ -11687,12 +11016,12 @@ the current copy will be lost. StdTreeRecordSelection - + Record selection 錄製選取項目 - + Record selection in tree view in order to go back/forward using navigation button 將樹狀圖中選取項目記錄下來,以便使用導航按鈕 返回/前進 @@ -11700,13 +11029,13 @@ the current copy will be lost. StdTreeSelection - + Go to selection 進行選擇 - - + + Scroll to first selected item 滾動到第一個選擇的項目 @@ -11714,13 +11043,13 @@ the current copy will be lost. StdTreeSingleDocument - + Single document Single document - - + + Only display the active document in the tree view 在樹狀圖中僅顯示作業中文件 @@ -11728,12 +11057,12 @@ the current copy will be lost. StdTreeSyncPlacement - + Sync placement Sync placement - + Auto adjust placement on drag and drop objects across coordinate systems 在不同座標系統中拖放物件時自動調整位置 @@ -11741,12 +11070,12 @@ the current copy will be lost. StdTreeSyncSelection - + Sync selection Sync selection - + Auto expand tree item when the corresponding object is selected in 3D view 在3D視圖中選擇物件時,自動展開樹狀圖中對應項目 @@ -11754,12 +11083,12 @@ the current copy will be lost. StdTreeSyncView - + Sync view 同步顯示 - + Auto switch to the 3D view containing the selected item 自動切換到包含選擇項目的3D視圖 @@ -11767,13 +11096,13 @@ the current copy will be lost. StdViewBoxZoom - + Box zoom 框選縮放 - - + + Activate the box zoom tool 啟動框選縮放工具 @@ -11781,13 +11110,13 @@ the current copy will be lost. StdViewDock - + Docked 嵌入 - - + + Display the active view either in fullscreen, in undocked or docked mode 無論是在全螢幕,在未嵌入或嵌入模式中均顯示當前視圖 @@ -11795,13 +11124,13 @@ the current copy will be lost. StdViewDockUndockFullscreen - + Document window 檔案視窗 - - + + Display the active view either in fullscreen, in undocked or docked mode 無論是在全螢幕,在未嵌入或嵌入模式中均顯示當前視圖 @@ -11809,13 +11138,13 @@ the current copy will be lost. StdViewFullscreen - + Fullscreen 全螢幕 - - + + Display the active view either in fullscreen, in undocked or docked mode 無論是在全螢幕,在未嵌入或嵌入模式中均顯示當前視圖 @@ -11823,13 +11152,13 @@ the current copy will be lost. StdViewScreenShot - + Save image... 儲存影像... - - + + Creates a screenshot of the active view 建立目前視圖畫面的螢幕截圖 @@ -11837,13 +11166,13 @@ the current copy will be lost. StdViewUndock - + Undocked 未嵌入 - - + + Display the active view either in fullscreen, in undocked or docked mode 無論是在全螢幕,在未嵌入或嵌入模式中均顯示當前視圖 @@ -11851,13 +11180,13 @@ the current copy will be lost. StdViewZoomIn - + Zoom In 放大 - - + + Increase the zoom factor by a fixed amount 以固定數量來增加縮放比例 @@ -11865,13 +11194,13 @@ the current copy will be lost. StdViewZoomOut - + Zoom Out 縮小 - - + + Decrease the zoom factor by a fixed amount 以固定數量來減少縮放比例 @@ -11906,72 +11235,72 @@ Are you sure you want to continue? Std_DrawStyle - + As is 如同 - + Normal mode 正常模式 - + Points - + Points mode 點模式 - + Wireframe 線框 - + Wireframe mode 線框模式 - + Hidden line Hidden line - + Hidden line mode Hidden line mode - + No shading No shading - + No shading mode No shading mode - + Shaded 上色 - + Shaded mode 上色模式 - + Flat lines 框線 - + Flat lines mode 框線模式 @@ -12034,32 +11363,32 @@ Do you still want to proceed? TreeParams - + Tree view item background. Only effective in overlay. 樹狀檢視圖背景。只有在覆蓋有效。 - + Tree view item background padding. 樹狀檢視圖項目背景填充。 - + Hide extra tree view column for item description. 隱藏項目描述的額外樹狀檢視圖列。 - + Hide tree view scroll bar in dock overlay. 在 dock 覆蓋中隱藏樹狀檢視圖捲軸。 - + Hide tree view header view in dock overlay. 在 dock 覆蓋中隱藏樹狀檢視圖標題檢視圖。 - + Allow tree view columns to be manually resized. 允許手動調整樹狀檢視圖列的大小。 @@ -12067,117 +11396,117 @@ Do you still want to proceed? Workbench - + &File 檔案(&F) - + &Edit 編輯(&E) - + Edit 編輯 - + Clipboard 剪貼簿 - + Workbench 工作台 - + Structure 結構 - + Standard views 標準視景 - + Axonometric 軸測圖 - + &Stereo 立體視圖(&S) - + &Zoom 縮放(&Z) - + Visibility 可見性 - + &View 檢視(&V) - + &Tools 工具(&T) - + &Macro &巨集 - + &Windows 視窗(&W) - + &On-line help 線上說明(&O) - + &Help 説明(&H) - + Help 説明 - + File 檔案 - + Macro 巨集 - + View 檢視 - + Special Ops 特別行動 - + Link actions Link actions @@ -12185,12 +11514,12 @@ Do you still want to proceed? Gui::MDIView - + Export PDF 匯出 PDF - + PDF file PDF 檔 @@ -12198,195 +11527,189 @@ Do you still want to proceed? Gui::Dialog::DlgSettingsNotificationArea - - + Notification Area Notification Area - + Settings 設定 - + The Notification area will appear in the status bar The Notification area will appear in the status bar - + Enable Notification Area Enable Notification Area - + Non-intrusive notifications will appear next to the notification area in the status bar Non-intrusive notifications will appear next to the notification area in the status bar - + Enable non-intrusive notifications Enable non-intrusive notifications - + Additional data sources 其他資料來源 - + Errors intended for developers will appear in the notification area 針對開發人員的錯誤將出現在通知區域 - + Debug errors 除錯錯誤 - + Warnings intended for developers will appear in the notification area 針對開發人員的警告將出現在通知區域 - + Debug warnings 除錯警告 - + Non-Intrusive Notifications Non-Intrusive Notifications - + Minimum Duration: Minimum Duration: - + Maximum Duration: Maximum Duration: - + Duration during which the notification will be shown (unless mouse buttons are clicked) Duration during which the notification will be shown (unless mouse buttons are clicked) - - + + s s - + Minimum duration during which the notification will be shown (unless notification clicked) Minimum duration during which the notification will be shown (unless notification clicked) - + Maximum Number of Notifications: Maximum Number of Notifications: - + Maximum number of notifications that will be simultaneously present on the screen Maximum number of notifications that will be simultaneously present on the screen - + Notification width: Notification width: - + Width of the notification in pixels Width of the notification in pixels - + Any open non-intrusive notifications will disappear when another window is activated 當另一個視窗被啟動時,任何打開的非侵入式通知都會消失 - + Hide when other window is activated 當其他視窗啟動時隱藏 - + Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window Prevent non-intrusive notifications from appearing when the FreeCAD Window is not the active window - + Do not show when inactive Do not show when inactive - + Message List Message List - + Limit the number of messages that will be kept in the list. If 0 there is no limit. Limit the number of messages that will be kept in the list. If 0 there is no limit. - + Maximum Messages (0 = no limit): Maximum Messages (0 = no limit): - + Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. Removes the user notifications from the message list after the non-intrusive maximum duration has lapsed. - + Auto-remove User Notifications Auto-remove User Notifications - - - Activation of the Notification Area only takes effect after an application restart. - 通知區域的啟動僅在應用程式重啟後生效。 - Gui::Dialog::DlgSettingsWorkbenches - + Available Workbenches Available Workbenches - + <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> <html><head/><body><p>You can reorder workbenches by drag and drop. Additional workbenches can be installed through the addon manager.</p><p> Currently, your system has the following workbenches:</p></body></html> - + Start up workbench: Start up workbench: - + Choose which workbench will be activated and shown after FreeCAD launches 選擇那個工作台將會被啟動並顯示在FreeCAD啟動後 - + Workbench selector position : Workbench selector position : - + Customize where the workbench selector appears (restart required). 'Toolbar': In the toolbars, as a movable toolbar. @@ -12399,12 +11722,12 @@ after FreeCAD launches 'Right Corner': In the menu bar, on the right corner. - + If checked, application will remember which workbench is active for each tab of the viewport 若勾選,應用程式將記住哪個工作台對於視角的每個分頁處於啟用狀態 - + Remember active workbench by tab Remember active workbench by tab @@ -12553,47 +11876,47 @@ after FreeCAD launches Gui::Dialog::wbListItem - + If unchecked, %1 will not appear in the available workbenches. 若未勾選,%1 將不會出現在可用的工作台中。 - + This is the current startup module, and must be enabled. See Preferences/General/Autoload to change. 這是目前的啟動模組,且必須被啟用。請參閱 屬性/一般/自動載入 進行更改. - + Shortcut to activate this workbench. 啟動此工作台之快捷鍵 - + Auto-load Auto-load - + If checked, %1 will be loaded automatically when FreeCAD starts up 若勾選,%1 將會在 FreeCAD 啟動時自動載入 - + This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. This is the current startup module, and must be autoloaded. See Preferences/General/Autoload to change. - + Loaded Loaded - + Load 載入 - + To preserve resources, FreeCAD does not load workbenches until they are used. Loading them may provide access to additional preferences related to their functionality. 為了保留資源,FreeCAD 在使用前不會載入工作台。載入工作台可能會提供對與其功能相關的其他偏好設定的存取。 @@ -12601,17 +11924,22 @@ after FreeCAD launches Gui::Dialog::DlgSettingsWorkbenchesImp - + + Sort alphabetically + Sort alphabetically + + + Toolbar 工具列 - + Left corner Left corner - + Right corner Right corner @@ -12637,12 +11965,12 @@ after FreeCAD launches Gui::NotificationArea - + Delete user notifications 刪除使用者通知 - + Delete All 全部刪除 @@ -12678,13 +12006,13 @@ after FreeCAD launches StdViewLoadImage - + Load image... 載入影像... - - + + Loads an image 載入一張影像 @@ -12746,10 +12074,810 @@ after FreeCAD launches Gui::ExpLineEdit - - + + An error occurred -- see Report View for information 有錯誤發生 - 請看報告視窗以獲得資訊 + + Gui::Dialog::DlgSettingsEditor + + + Editor + 編輯器 + + + + Options + 選項 + + + + Code lines will be numbered + 程式碼將加上行號 + + + + Enable line numbers + 啟用行號 + + + + The cursor shape will be a block + The cursor shape will be a block + + + + Enable block cursor + Enable block cursor + + + + Enable folding + 啟用折疊 + + + + Indentation + 縮排 + + + + Tab size: + 標籤尺寸: + + + + Tabulator raster (how many spaces) + 縮排量(幾個空格) + + + + Indent size: + 縮排尺寸: + + + + How many spaces will be inserted when pressing <Tab> + 按下<Tab>鍵時將插入幾個空白格 + + + + Pressing <Tab> will insert a tabulator with defined tab size + 按下<Tab>鍵時將插入預設尺寸的縮排量 + + + + Keep tabs + 保留字元符號 + + + + Pressing <Tab> will insert amount of defined indent size + 按<Tab>鍵將插入預先定義的縮排量 + + + + Insert spaces + 插入空格 + + + + Display items + 顯示項目 + + + + Color and font settings will be applied to selected type + 顏色及字型設定將被套用到所選項目 + + + + Family: + 家族: + + + + Font family to be used for selected code type + 字型集將套用到所選的程式碼項目 + + + + Size: + 尺寸: + + + + Font size to be used for selected code type + 字型大小將套用到所選的程式碼項目 + + + + Color: + 色彩: + + + + Preview: + 預覽: + + + + Text + 文字 + + + + Bookmark + 書籤 + + + + Breakpoint + 斷點 + + + + Keyword + 關鍵字 + + + + Comment + 評論 + + + + Block comment + 阻止評論 + + + + Number + 數目 + + + + String + 字串 + + + + Character + 字符 + + + + Class name + 類別名稱 + + + + Define name + 定義名稱 + + + + Operator + 操作 + + + + Python output + Python 輸出 + + + + Python error + Python 錯誤 + + + + Current line highlight + 強調此行 + + + + Items + 項目 + + + + Gui::Dialog::DlgSettingsGeneral + + + General + 一般 + + + + Language and number format + Language and number format + + + + Language: + 語言: + + + + Language of the application's user interface + 應用程式使用者介面的語言 + + + + Unit system: + Unit system: + + + + Unit system that should be used for all parts of the application + Unit system that should be used for all parts of the application + + + + Number of decimals: + 小數位數: + + + + Number of decimals that should be shown for numbers and dimensions + 數字與尺寸應顯示的小數位數 + + + + Minimum fractional inch: + Minimum fractional inch: + + + + Minimum fractional inch to be displayed + Minimum fractional inch to be displayed + + + + Number format: + 數字格式: + + + + Operating system + 作業系統 + + + + Selected language + 選擇語言 + + + + C/POSIX + C/POSIX + + + + If enabled, numerical keypad decimal separator +will be substituted with locale separator, except +in Python Console and Macro Editor where a +dot/period will always be printed. + 如果啟用,數字鍵盤的小數點分隔符號將會被替換為區域設定的分隔符號,但在 Python 主控台和巨集編輯器中,將始終顯示一個點/句號。 + + + + Substitute decimal separator + Substitute decimal separator + + + + Application + 應用程式 + + + + Theme: + Theme: + + + + Customize how user interface will look like + Customize how user interface will look like + + + + Size of toolbar icons: + 工具列圖示尺寸: + + + + Choose your preference for toolbar icon size. You can adjust +this according to your screen size or personal taste + 在偏好設定中選擇工具列圖示大小。您可以依照螢幕大小及個人品味來調整。 + + + + Tree view mode: + 樹狀圖模式: + + + + Customize how tree view is shown in the panel (restart required). + +'ComboView': combine tree view and property view into one panel. +'TreeView and PropertyView': split tree view and property view into separate panel. +'Both': keep all three panels, and you can have two sets of tree view and property view. + 自訂樹狀圖要如何在面板中顯示 (需重新啟動)。 + +'複合檢視': 將樹狀選單及屬性檢視整合到同一面板中。 +'樹狀檢視 及 屬性檢視': 將樹狀檢視 及 屬性檢視分割為二個面板。 +'全部': 保留全部三個面板,你可看到二組 樹狀檢視 及屬性檢視面板. + + + + Size of recent file list: + 最近檔案清單大小: + + + + How many files should be listed in recent files list + 在最近使用的檔案清單中,要列出多少檔案 + + + + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + Background of the main window (when no document is opened) will consist of tiles of a special image. +See the FreeCAD Wiki for details about the image. + + + + Enable tiled background + 啟用平面背景 + + + + The text cursor will be blinking + 文字遊標將會閃爍 + + + + Enable cursor blinking + 啟動遊標閃爍 + + + + A Splash screen is a small loading window that is shown +when FreeCAD is launching. If this option is checked, FreeCAD will +display the splash screen + 啟動畫面是在FreeCAD啟動後顯示的開始畫面。如果勾選此選項,FreeCAD啟動後將顯示啟動畫面。 + + + + Enable splash screen at start up + 在開啟時使用啟動畫面 + + + + Preference packs + 偏好設定包 + + + + Name + 名稱 + + + + Type + 類型 + + + + Load + 載入 + + + + Import config... + 匯入設定... + + + + Save new... + 另存新檔... + + + + Manage... + 管理... + + + + Revert... + 還原... + + + + Manage preference packs + 管理偏好設定包 + + + + Small (%1px) + 小 (%1px) + + + + Medium (%1px) + 中 (%1px) + + + + Large (%1px) + 大 (%1px) + + + + Extra large (%1px) + 超大 (%1px) + + + + Custom (%1px) + 自訂 (%1px) + + + + Combo View + 複合檢視 + + + + TreeView and PropertyView + 樹狀圖檢視及屬性檢視 + + + + Both + 兩者 + + + + Preference Pack Name + 偏好設定包名稱 + + + + Tags + 標籤 + + + + Apply + 應用 + + + + Apply the %1 preference pack + 套用 %1 之偏好設定包 + + + + Choose a FreeCAD config file to import + 還擇一個 FreeCAD 設定檔以匯入 + + + + File exists + 檔案已存在 + + + + A preference pack with that name already exists. Overwrite? + 有此名稱之偏好設定包已存在。是否覆寫? + + + + Gui::Dialog::DlgSettingsReportView + + + Report view + 報告檢視 + + + + Output + 輸出 + + + + Normal messages will be recorded + 正常訊息將會被錄製下來 + + + + Record normal messages + 錄製正常訊息 + + + + Log messages will be recorded + 日誌訊息將會被錄製下來 + + + + Record log messages + 錄製日誌訊息 + + + + Warnings will be recorded + 警告將會被錄製下來 + + + + Record warnings + 記錄警告 + + + + Error messages will be recorded + 錯誤訊息將會被錄製下來 + + + + Record error messages + 錄製錯誤訊息 + + + + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + When an error has occurred, the Report View dialog becomes visible +on-screen while displaying the error + + + + Show report view on error + 當發生錯誤時顯示報告 + + + + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + When a warning has occurred, the Report View dialog becomes visible +on-screen while displaying the warning + + + + Show report view on warning + 當發生警告時顯示報告 + + + + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + When a normal message has occurred, the Report View dialog becomes visible +on-screen while displaying the message + + + + Show report view on normal message + Show report view on normal message + + + + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + When a log message has occurred, the Report View dialog becomes visible +on-screen while displaying the log message + + + + Show report view on log message + Show report view on log message + + + + Include a timecode for each report + 在每個報告中包含時間碼 + + + + Include a timecode for each entry + 在每個條目中包含時間碼 + + + + Colors + 顏色 + + + + Normal messages: + 正常訊息: + + + + Font color for normal messages in Report view panel + Font color for normal messages in Report view panel + + + + Log messages: + 日誌訊息: + + + + Font color for log messages in Report view panel + Font color for log messages in Report view panel + + + + Warnings: + 警告: + + + + Font color for warning messages in Report view panel + Font color for warning messages in Report view panel + + + + Errors: + 錯誤: + + + + Font color for error messages in Report view panel + Font color for error messages in Report view panel + + + + Python interpreter + Python 直譯器 + + + + Internal Python output will be redirected +from Python console to Report view panel + 內部 Python 輸出將從 Python 主控台 +轉向到報告視窗面板 + + + + Redirect internal Python output to report view + 內部Python重新輸出至報告視圖 + + + + Internal Python error messages will be redirected +from Python console to Report view panel + 內部 Python 錯誤訊息將從 Python 控制台 +重新指向到報告視窗面板 + + + + Redirect internal Python errors to report view + 將內部 Python 錯誤重定向到報表視景 + + + + Gui::Dialog::DlgSettingsTheme + + + Theme + Theme + + + + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + This page let you customize your current theme. The offered settings are optional for theme developers so they may or may not have an effect in your current theme. + + + + Accent color 1 + Accent color 1 + + + + Accent color 2 + Accent color 2 + + + + Accent color 3 + Accent color 3 + + + + Style sheet (advanced): + Style sheet (advanced): + + + + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. + + + + + + This color might be used by your theme to let you customize it. + This color might be used by your theme to let you customize it. + + + + No style sheet + 無樣式表 + + + + StdCmdSelectFilter + + + Selection filter + Selection filter + + + + + Change the Selection filter + Change the Selection filter + + + + StdCmdVertexSelection + + + Vertex Selection + Vertex Selection + + + + + Select a Vertex/Vertices + Select a Vertex/Vertices + + + + StdCmdEdgeSelection + + + Edge Selection + Edge Selection + + + + + Select Edge(s) + Select Edge(s) + + + + StdCmdFaceSelection + + + Face Selection + Face Selection + + + + + Select Face(s) + Select Face(s) + + + + StdCmdRemoveSelectionGate + + + + + All selection filters cleared + All selection filters cleared + + diff --git a/src/Gui/Language/Translator.cpp b/src/Gui/Language/Translator.cpp index f8350fc052..9457021d3b 100644 --- a/src/Gui/Language/Translator.cpp +++ b/src/Gui/Language/Translator.cpp @@ -345,8 +345,8 @@ void Translator::refresh() std::map::iterator tld = d->mapLanguageTopLevelDomain.find(d->activatedLanguage); if (tld == d->mapLanguageTopLevelDomain.end()) return; // no language activated - for (QStringList::iterator it = d->paths.begin(); it != d->paths.end(); ++it) { - QDir dir(*it); + for (const QString& it : d->paths) { + QDir dir(it); installQMFiles(dir, tld->second.c_str()); } } @@ -356,9 +356,9 @@ void Translator::refresh() */ void Translator::removeTranslators() { - for (std::list::iterator it = d->translators.begin(); it != d->translators.end(); ++it) { - qApp->removeTranslator(*it); - delete *it; + for (QTranslator* it : d->translators) { + qApp->removeTranslator(it); + delete it; } d->translators.clear(); diff --git a/src/Gui/ListWidgetDragBugFix.cpp b/src/Gui/ListWidgetDragBugFix.cpp index dfaaa01b74..30b2c92d6d 100644 --- a/src/Gui/ListWidgetDragBugFix.cpp +++ b/src/Gui/ListWidgetDragBugFix.cpp @@ -35,9 +35,7 @@ ListWidgetDragBugFix::ListWidgetDragBugFix(QWidget * parent) { } -ListWidgetDragBugFix::~ListWidgetDragBugFix() -{ -} +ListWidgetDragBugFix::~ListWidgetDragBugFix() = default; void ListWidgetDragBugFix::dragMoveEvent(QDragMoveEvent *event) { diff --git a/src/Gui/MDIView.cpp b/src/Gui/MDIView.cpp index 7c8fb85b01..ec427565f7 100644 --- a/src/Gui/MDIView.cpp +++ b/src/Gui/MDIView.cpp @@ -341,7 +341,7 @@ QStringList MDIView::redoActions() const QSize MDIView::minimumSizeHint () const { - return QSize(400, 300); + return {400, 300}; } void MDIView::changeEvent(QEvent *e) diff --git a/src/Gui/MDIViewPy.cpp b/src/Gui/MDIViewPy.cpp index bb89725cdb..92e1c0e67c 100644 --- a/src/Gui/MDIViewPy.cpp +++ b/src/Gui/MDIViewPy.cpp @@ -256,26 +256,37 @@ Py::Object MDIViewPy::setActiveObject(const Py::Tuple& args) Py::Object MDIViewPy::getActiveObject(const Py::Tuple& args) { - const char* name; - PyObject *resolve = Py_True; - if (!PyArg_ParseTuple(args.ptr(), "s|O!", &name, &PyBool_Type, &resolve)) + const char* name{}; + PyObject *resolve = Py_True; // NOLINT + if (!PyArg_ParseTuple(args.ptr(), "s|O!", &name, &PyBool_Type, &resolve)) { throw Py::Exception(); + } App::DocumentObject *parent = nullptr; std::string subname; App::DocumentObject* obj = nullptr; - if (_view) + if (_view) { obj = _view->getActiveObject(name,&parent,&subname); - if (!obj) + } + + if (Base::asBoolean(resolve)) { + if (obj) { + return Py::asObject(obj->getPyObject()); + } + return Py::None(); + } - if (Base::asBoolean(resolve)) - return Py::asObject(obj->getPyObject()); + // NOLINTBEGIN(cppcoreguidelines-slicing) + if (obj) { + return Py::TupleN( + Py::asObject(obj->getPyObject()), + Py::asObject(parent->getPyObject()), + Py::String(subname.c_str())); + } - return Py::TupleN( - Py::asObject(obj->getPyObject()), - Py::asObject(parent->getPyObject()), - Py::String(subname.c_str())); + return Py::TupleN(Py::None(), Py::None(), Py::String()); + // NOLINTEND(cppcoreguidelines-slicing) } Py::Object MDIViewPy::cast_to_base(const Py::Tuple&) diff --git a/src/Gui/Macro.cpp b/src/Gui/Macro.cpp index 46f37674e8..83e8f38de0 100644 --- a/src/Gui/Macro.cpp +++ b/src/Gui/Macro.cpp @@ -43,11 +43,7 @@ using namespace Gui; -MacroFile::MacroFile() - : openMacro(false) -{ - -} +MacroFile::MacroFile() = default; void MacroFile::open(const char *sName) { @@ -136,10 +132,7 @@ void MacroFile::cancel() // ---------------------------------------------------------------------------- -MacroOutputBuffer::MacroOutputBuffer() - : totalLines(0) -{ -} +MacroOutputBuffer::MacroOutputBuffer() = default; void MacroOutputBuffer::addPendingLine(int type, const char* line) { @@ -170,12 +163,7 @@ void MacroOutputBuffer::incrementIfNoComment(int type) // ---------------------------------------------------------------------------- -MacroOutputOption::MacroOutputOption() - : recordGui(true) - , guiAsComment(true) - , scriptToPyConsole(true) -{ -} +MacroOutputOption::MacroOutputOption() = default; std::tuple MacroOutputOption::values(int type) const { @@ -213,9 +201,7 @@ bool MacroOutputOption::isAppCommand(int type) // ---------------------------------------------------------------------------- MacroManager::MacroManager() - : localEnv(true), - pyConsole(nullptr), - pyDebugger(new PythonDebugger()) + : pyDebugger(new PythonDebugger()) { // Attach to the Parametergroup regarding macros this->params = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/Macro"); @@ -358,7 +344,7 @@ namespace Gui { class PythonRedirector { public: - PythonRedirector(const char* type, PyObject* obj) : std_out(type), out(obj), old(nullptr) + PythonRedirector(const char* type, PyObject* obj) : std_out(type), out(obj) { if (out) { Base::PyGILStateLocker lock; @@ -377,7 +363,7 @@ namespace Gui { private: const char* std_out; PyObject* out; - PyObject* old; + PyObject* old{nullptr}; }; } diff --git a/src/Gui/Macro.h b/src/Gui/Macro.h index 3b00702178..eeff49f568 100644 --- a/src/Gui/Macro.h +++ b/src/Gui/Macro.h @@ -56,7 +56,7 @@ public: private: QStringList macroInProgress; /**< Container for the macro */ QString macroName; /**< name of the macro */ - bool openMacro; + bool openMacro{false}; }; class MacroOutputBuffer @@ -75,7 +75,7 @@ public: } void incrementIfNoComment(int type); - long totalLines; + long totalLines{0}; std::vector > pendingLine; }; @@ -89,9 +89,9 @@ public: static bool isGuiCommand(int type); static bool isAppCommand(int type); - bool recordGui; - bool guiAsComment; - bool scriptToPyConsole; + bool recordGui{true}; + bool guiAsComment{true}; + bool scriptToPyConsole{true}; }; /** Macro recording and play back management @@ -170,8 +170,8 @@ private: MacroFile macroFile; MacroOutputBuffer buffer; MacroOutputOption option; - bool localEnv; - mutable PythonConsole* pyConsole; // link to the python console + bool localEnv{true}; + mutable PythonConsole* pyConsole{nullptr}; // link to the python console PythonDebugger* pyDebugger; Base::Reference params; // link to the Macro parameter group diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index 0f6031e3bc..b7f5c640cc 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -136,8 +136,7 @@ public: CustomMessageEvent(int t, const QString& s, int timeout=0) : QEvent(QEvent::User), _type(t), msg(s), _timeout(timeout) { } - ~CustomMessageEvent() override - { } + ~CustomMessageEvent() override = default; int type() const { return _type; } const QString& message() const @@ -1691,30 +1690,57 @@ QPixmap MainWindow::aboutImage() const return about_image; } -void MainWindow::RenderDevBuildWarning(QPainter &painter, int x, int y) const +/** + * Displays a warning about this being a developer build. Designed for display in the Splashscreen. + * \param painter The painter to draw the warning into + * \param startPosition The painter-space coordinates to start the warning box at. + * \param maxSize The maximum extents for the box that is drawn. If the text exceeds this size it + * will be scaled down to fit. + * \note The text string is translatable, so its length is somewhat unpredictable. It is always + * displayed as two lines, regardless of the length of the text (e.g. no wrapping is done). Only the + * width is considered, the height simply follows from the font size. + */ +void MainWindow::renderDevBuildWarning( + QPainter &painter, + const QPoint startPosition, + const QSize maxSize) { // Create a background box that fades out the artwork for better legibility QColor fader (Qt::black); - const float halfDensity (0.5); + constexpr float halfDensity (0.5); fader.setAlphaF(halfDensity); QBrush fillBrush(fader, Qt::BrushStyle::SolidPattern); painter.setBrush(fillBrush); // Construct the lines of text and figure out how much space they need - auto devWarningLine1 = tr("WARNING: This is a development version."); - auto devWarningLine2 = tr("Please do not use in a production environment."); - QFontMetrics fontMetrics(painter.font()); + const auto devWarningLine1 = tr("WARNING: This is a development version."); + const auto devWarningLine2 = tr("Please do not use in a production environment."); + QFontMetrics fontMetrics(painter.font()); // Try to use the existing font int padding = QtTools::horizontalAdvance(fontMetrics, QLatin1String("M")); // Arbitrary int line1Width = QtTools::horizontalAdvance(fontMetrics, devWarningLine1); int line2Width = QtTools::horizontalAdvance(fontMetrics, devWarningLine2); int boxWidth = std::max(line1Width,line2Width) + 2 * padding; int lineHeight = fontMetrics.lineSpacing(); - int boxHeight = static_cast(lineHeight*2.3); + if (boxWidth > maxSize.width()) { + // Especially if the text was translated, there is a chance that using the existing font + // will exceed the width of the Splashscreen graphic. Resize down so that it fits, no matter + // how long the text strings are. + float reductionFactor = static_cast(maxSize.width()) / static_cast(boxWidth); + int newFontSize = static_cast(painter.font().pointSize() * reductionFactor); + padding *= reductionFactor; + QFont newFont = painter.font(); + newFont.setPointSize(newFontSize); + painter.setFont(newFont); + lineHeight = painter.fontMetrics().lineSpacing(); + boxWidth = maxSize.width(); + } + constexpr float lineExpansionFactor(2.3); + int boxHeight = static_cast(lineHeight*lineExpansionFactor); // Draw the background rectangle and the text - painter.drawRect(x, y, boxWidth, boxHeight); - painter.drawText(x+padding, y+lineHeight, devWarningLine1); - painter.drawText(x+padding, y+2*lineHeight, devWarningLine2); + painter.drawRect(startPosition.x(), startPosition.y(), boxWidth, boxHeight); + painter.drawText(startPosition.x()+padding, startPosition.y()+lineHeight, devWarningLine1); + painter.drawText(startPosition.x()+padding, startPosition.y()+2*lineHeight, devWarningLine2); } QPixmap MainWindow::splashImage() const @@ -1738,12 +1764,14 @@ QPixmap MainWindow::splashImage() const } // now try the icon paths + float pixelRatio (1.0); if (splash_image.isNull()) { if (qApp->devicePixelRatio() > 1.0) { // For HiDPI screens, we have a double-resolution version of the splash image splash_path += "2x"; splash_image = Gui::BitmapFactory().pixmap(splash_path.c_str()); splash_image.setDevicePixelRatio(2.0); + pixelRatio = 2.0; } else { splash_image = Gui::BitmapFactory().pixmap(splash_path.c_str()); @@ -1821,7 +1849,11 @@ QPixmap MainWindow::splashImage() const painter.setFont(fontVer); painter.drawText(x + (l + 5), y, version); if (suffix == QLatin1String("dev")) { - RenderDevBuildWarning(painter, x + l + 5, y + 10); + const int lineHeight = metricVer.lineSpacing(); + const int padding {10}; // Distance from the edge of the graphic's bounding box + QPoint startPosition(padding, y + lineHeight); + QSize maxSize(w/pixelRatio - 2*padding, lineHeight * 3); + MainWindow::renderDevBuildWarning(painter, startPosition, maxSize); } painter.end(); } diff --git a/src/Gui/MainWindow.h b/src/Gui/MainWindow.h index ab9fb87528..9ac6e7b8b5 100644 --- a/src/Gui/MainWindow.h +++ b/src/Gui/MainWindow.h @@ -58,8 +58,7 @@ public: explicit UrlHandler(QObject* parent = nullptr) : QObject(parent){ } - ~UrlHandler() override { - } + ~UrlHandler() override = default; virtual void openUrl(App::Document*, const QUrl&) { } }; @@ -292,7 +291,7 @@ private: bool setupReportView(const std::string&); bool setupPythonConsole(const std::string&); - void RenderDevBuildWarning(QPainter &painter, int x, int y) const; + static void renderDevBuildWarning(QPainter &painter, const QPoint startPosition, const QSize maxSize); private Q_SLOTS: /** diff --git a/src/Gui/ManualAlignment.cpp b/src/Gui/ManualAlignment.cpp index bfb30f8d72..5f82f4a58b 100644 --- a/src/Gui/ManualAlignment.cpp +++ b/src/Gui/ManualAlignment.cpp @@ -64,13 +64,9 @@ using namespace Gui; namespace sp = std::placeholders; -AlignmentGroup::AlignmentGroup() -{ -} +AlignmentGroup::AlignmentGroup() = default; -AlignmentGroup::~AlignmentGroup() -{ -} +AlignmentGroup::~AlignmentGroup() = default; void AlignmentGroup::addView(App::DocumentObject* pView) { @@ -254,33 +250,21 @@ Base::BoundBox3d AlignmentGroup::getBoundingBox() const // ------------------------------------------------------------------ -MovableGroup::MovableGroup() -{ -} +MovableGroup::MovableGroup() = default; -MovableGroup::~MovableGroup() -{ -} +MovableGroup::~MovableGroup() = default; // ------------------------------------------------------------------ -FixedGroup::FixedGroup() -{ -} +FixedGroup::FixedGroup() = default; -FixedGroup::~FixedGroup() -{ -} +FixedGroup::~FixedGroup() = default; // ------------------------------------------------------------------ -MovableGroupModel::MovableGroupModel() -{ -} +MovableGroupModel::MovableGroupModel() = default; -MovableGroupModel::~MovableGroupModel() -{ -} +MovableGroupModel::~MovableGroupModel() = default; void MovableGroupModel::addGroup(const MovableGroup& grp) { @@ -426,9 +410,7 @@ public: static_cast(getViewer(1)->getSoRenderManager()->getSceneGraph())-> addChild(setupHeadUpDisplay(tr("Fixed object"))); } - ~AlignmentView() override - { - } + ~AlignmentView() override = default; PyObject* getPyObject() override { Py_Return; @@ -489,13 +471,12 @@ class ManualAlignment::Private { public: SoSeparator * picksepLeft; SoSeparator * picksepRight; - SoNodeSensor* sensorCam1; - SoNodeSensor* sensorCam2; + SoNodeSensor* sensorCam1{nullptr}; + SoNodeSensor* sensorCam2{nullptr}; SbRotation rot_cam1, rot_cam2; SbVec3f pos_cam1, pos_cam2; Private() - : sensorCam1(nullptr), sensorCam2(nullptr) { // left view picksepLeft = new SoSeparator; @@ -609,7 +590,7 @@ public: Base::Vector3d pln_base; rot.multVec(plane1_base,pln_base); Base::Vector3d dif = plane2_base - pln_base; - return Base::Placement(dif, rot); + return {dif, rot}; } static Base::Placement diff --git a/src/Gui/ManualAlignment.h b/src/Gui/ManualAlignment.h index f31a96a855..d881da101f 100644 --- a/src/Gui/ManualAlignment.h +++ b/src/Gui/ManualAlignment.h @@ -42,7 +42,7 @@ class View3DInventorViewer; class PickedPoint { public: - PickedPoint() {} + PickedPoint() = default; PickedPoint(const Base::Vector3d& p, const Base::Vector3d& n) : point(p), normal(n) {} Base::Vector3d point; Base::Vector3d normal; diff --git a/src/Gui/MayaGestureNavigationStyle.cpp b/src/Gui/MayaGestureNavigationStyle.cpp index 3fe368d8b8..5f5bf36375 100644 --- a/src/Gui/MayaGestureNavigationStyle.cpp +++ b/src/Gui/MayaGestureNavigationStyle.cpp @@ -85,9 +85,7 @@ MayaGestureNavigationStyle::MayaGestureNavigationStyle() inGesture = false; } -MayaGestureNavigationStyle::~MayaGestureNavigationStyle() -{ -} +MayaGestureNavigationStyle::~MayaGestureNavigationStyle() = default; const char* MayaGestureNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/MenuManager.cpp b/src/Gui/MenuManager.cpp index 02dbc448d7..30c03457de 100644 --- a/src/Gui/MenuManager.cpp +++ b/src/Gui/MenuManager.cpp @@ -37,9 +37,7 @@ using namespace Gui; -MenuItem::MenuItem() -{ -} +MenuItem::MenuItem() = default; MenuItem::MenuItem(MenuItem* item) { @@ -197,13 +195,9 @@ void MenuManager::destruct() _instance = nullptr; } -MenuManager::MenuManager() -{ -} +MenuManager::MenuManager() = default; -MenuManager::~MenuManager() -{ -} +MenuManager::~MenuManager() = default; void MenuManager::setup(MenuItem* menuItems) const { diff --git a/src/Gui/MergeDocuments.cpp b/src/Gui/MergeDocuments.cpp index 4c01453495..aeafb24704 100644 --- a/src/Gui/MergeDocuments.cpp +++ b/src/Gui/MergeDocuments.cpp @@ -74,7 +74,7 @@ private: }; } -MergeDocuments::MergeDocuments(App::Document* doc) : stream(nullptr), appdoc(doc) +MergeDocuments::MergeDocuments(App::Document* doc) : appdoc(doc) { //NOLINTBEGIN connectExport = doc->signalExportObjects.connect @@ -113,8 +113,8 @@ MergeDocuments::importObjects(std::istream& input) void MergeDocuments::importObject(const std::vector& o, Base::XMLReader & r) { objects = o; - for (std::vector::iterator it = objects.begin(); it != objects.end(); ++it) { - Gui::ViewProvider* vp = document->getViewProvider(*it); + for (auto it : objects) { + Gui::ViewProvider* vp = document->getViewProvider(it); if (vp) vp->hide(); } Restore(r); diff --git a/src/Gui/MergeDocuments.h b/src/Gui/MergeDocuments.h index 55eee8580b..d6945c0a79 100644 --- a/src/Gui/MergeDocuments.h +++ b/src/Gui/MergeDocuments.h @@ -27,6 +27,7 @@ #include #include #include +#include namespace zipios { class ZipInputStream; @@ -53,7 +54,7 @@ public: void RestoreDocFile(Base::Reader & r) override; private: - zipios::ZipInputStream* stream; + zipios::ZipInputStream* stream{nullptr}; App::Document* appdoc; Gui::Document* document; std::vector objects; diff --git a/src/Gui/MouseSelection.cpp b/src/Gui/MouseSelection.cpp index 8fdd43842d..b05278cb09 100644 --- a/src/Gui/MouseSelection.cpp +++ b/src/Gui/MouseSelection.cpp @@ -38,7 +38,7 @@ using namespace Gui; -AbstractMouseSelection::AbstractMouseSelection() : _pcView3D(nullptr) +AbstractMouseSelection::AbstractMouseSelection() { m_iXold = 0; m_iYold = 0; @@ -204,9 +204,7 @@ void PolyPickerSelection::draw() _pcView3D->redraw(); } -PolyPickerSelection::~PolyPickerSelection() -{ -} +PolyPickerSelection::~PolyPickerSelection() = default; int PolyPickerSelection::popupMenu() { @@ -357,9 +355,7 @@ PolyClipSelection::PolyClipSelection() selectionBits.set(2); } -PolyClipSelection::~PolyClipSelection() -{ -} +PolyClipSelection::~PolyClipSelection() = default; int PolyClipSelection::popupMenu() { @@ -404,14 +400,9 @@ int PolyClipSelection::popupMenu() // ----------------------------------------------------------------------------------- -FreehandSelection::FreehandSelection() -{ -} +FreehandSelection::FreehandSelection() = default; -FreehandSelection::~FreehandSelection() -{ - -} +FreehandSelection::~FreehandSelection() = default; void FreehandSelection::setClosed(bool on) { @@ -565,9 +556,7 @@ RubberbandSelection::RubberbandSelection() rubberband.setColor(1.0, 1.0, 0.0, 0.5); } -RubberbandSelection::~RubberbandSelection() -{ -} +RubberbandSelection::~RubberbandSelection() = default; void RubberbandSelection::setColor(float r, float g, float b, float a) { @@ -665,19 +654,13 @@ RectangleSelection::RectangleSelection() : RubberbandSelection() rubberband.setColor(0.0,0.0,1.0,1.0); } -RectangleSelection::~RectangleSelection() -{ -} +RectangleSelection::~RectangleSelection() = default; // ----------------------------------------------------------------------------------- -BoxZoomSelection::BoxZoomSelection() -{ -} +BoxZoomSelection::BoxZoomSelection() = default; -BoxZoomSelection::~BoxZoomSelection() -{ -} +BoxZoomSelection::~BoxZoomSelection() = default; void BoxZoomSelection::terminate(bool abort) { diff --git a/src/Gui/MouseSelection.h b/src/Gui/MouseSelection.h index 8b227bf2a4..f798e25c41 100644 --- a/src/Gui/MouseSelection.h +++ b/src/Gui/MouseSelection.h @@ -36,6 +36,7 @@ class QWheelEvent; class QKeyEvent; class QPaintEvent; class QResizeEvent; +class SbVec2s; class SoEvent; class SbViewportRegion; class SoMouseButtonEvent; @@ -58,7 +59,7 @@ public: enum { Continue=0, Restart=1, Finish=2, Cancel=3, Ignore=4 }; AbstractMouseSelection(); - virtual ~AbstractMouseSelection() {} + virtual ~AbstractMouseSelection() = default; /// implement this in derived classes virtual void initialize() = 0; /// implement this in derived classes @@ -94,7 +95,7 @@ protected: virtual void draw() {} protected: - Gui::View3DInventorViewer* _pcView3D; + Gui::View3DInventorViewer* _pcView3D{nullptr}; QCursor m_cPrevCursor; int m_iXold, m_iYold; int m_iXnew, m_iYnew; @@ -112,7 +113,7 @@ class GuiExport BaseMouseSelection : public AbstractMouseSelection { public: BaseMouseSelection(); - ~BaseMouseSelection() override{} + ~BaseMouseSelection() override = default; }; // ----------------------------------------------------------------------------------- diff --git a/src/Gui/NavigationStyle.cpp b/src/Gui/NavigationStyle.cpp index 33771881f5..e3490ead43 100644 --- a/src/Gui/NavigationStyle.cpp +++ b/src/Gui/NavigationStyle.cpp @@ -90,7 +90,7 @@ public: }; FCSphereSheetProjector(const SbSphere & sph, const SbBool orienttoeye = true) - : SbSphereSheetProjector(sph, orienttoeye), orbit(Trackball) + : SbSphereSheetProjector(sph, orienttoeye) { } @@ -169,7 +169,7 @@ public: private: SbMatrix worldToScreen; - OrbitStyle orbit; + OrbitStyle orbit{Trackball}; }; NavigationStyleEvent::NavigationStyleEvent(const Base::Type& s) @@ -177,9 +177,7 @@ NavigationStyleEvent::NavigationStyleEvent(const Base::Type& s) { } -NavigationStyleEvent::~NavigationStyleEvent() -{ -} +NavigationStyleEvent::~NavigationStyleEvent() = default; const Base::Type& NavigationStyleEvent::style() const { @@ -878,7 +876,7 @@ SbVec3f NavigationStyle::getFocalPoint() const { SoCamera* cam = viewer->getSoRenderManager()->getCamera(); if (!cam) - return SbVec3f(0,0,0); + return {0,0,0}; // Find global coordinates of focal point. SbVec3f direction; @@ -1082,8 +1080,9 @@ void NavigationStyle::saveCursorPosition(const SoEvent * const ev) if (!cam) // no camera return; + // Get the bounding box center of the physical object group SoGetBoundingBoxAction action(viewer->getSoRenderManager()->getViewportRegion()); - action.apply(viewer->getSceneGraph()); + action.apply(viewer->objectGroup); SbBox3f boundingBox = action.getBoundingBox(); SbVec3f boundingBoxCenter = boundingBox.getCenter(); setRotationCenter(boundingBoxCenter); @@ -1104,16 +1103,16 @@ SbVec2f NavigationStyle::normalizePixelPos(SbVec2s pixpos) { const SbViewportRegion & vp = viewer->getSoRenderManager()->getViewportRegion(); const SbVec2s size(vp.getViewportSizePixels()); - return SbVec2f ((float) pixpos[0] / (float) std::max((int)(size[0] - 1), 1), - (float) pixpos[1] / (float) std::max((int)(size[1] - 1), 1)); + return {(float) pixpos[0] / (float) std::max((int)(size[0] - 1), 1), + (float) pixpos[1] / (float) std::max((int)(size[1] - 1), 1)}; } SbVec2f NavigationStyle::normalizePixelPos(SbVec2f pixpos) { const SbViewportRegion & vp = viewer->getSoRenderManager()->getViewportRegion(); const SbVec2s size(vp.getViewportSizePixels()); - return SbVec2f ( pixpos[0] / (float) std::max((int)(size[0] - 1), 1), - pixpos[1] / (float) std::max((int)(size[1] - 1), 1)); + return {pixpos[0] / (float) std::max((int)(size[0] - 1), 1), + pixpos[1] / (float) std::max((int)(size[1] - 1), 1)}; } void NavigationStyle::moveCursorPosition() diff --git a/src/Gui/NavigationStyle.h b/src/Gui/NavigationStyle.h index a6c6bf51e1..cbc6204a9a 100644 --- a/src/Gui/NavigationStyle.h +++ b/src/Gui/NavigationStyle.h @@ -114,6 +114,7 @@ public: public: NavigationStyle(); ~NavigationStyle() override; + NavigationStyle(const NavigationStyle&) = delete; NavigationStyle& operator = (const NavigationStyle& ns); void setViewer(View3DInventorViewer*); @@ -231,7 +232,7 @@ protected: SbTime * time; } log; - View3DInventorViewer* viewer; + View3DInventorViewer* viewer{nullptr}; ViewerMode currentmode; SoMouseButtonEvent mouseDownConsumedEvent; SbVec2f lastmouseposition; @@ -250,7 +251,7 @@ protected: /** @name Mouse model */ //@{ - AbstractMouseSelection* mouseSelection; + AbstractMouseSelection* mouseSelection{nullptr}; std::vector pcPolygon; SelectionRole selectedRole; //@} @@ -265,7 +266,6 @@ protected: //@} private: - NavigationStyle(const NavigationStyle&); struct NavigationStyleP* pimpl; friend struct NavigationStyleP; }; @@ -283,8 +283,8 @@ class GuiExport UserNavigationStyle : public NavigationStyle { TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: - UserNavigationStyle(){} - ~UserNavigationStyle() override{} + UserNavigationStyle() = default; + ~UserNavigationStyle() override = default; virtual const char* mouseButtons(ViewerMode) = 0; virtual std::string userFriendlyName() const; static std::map getUserFriendlyNames(); @@ -319,7 +319,7 @@ protected: SbBool processSoEvent(const SoEvent * const ev) override; private: - SbBool lockButton1; + SbBool lockButton1{false}; }; class GuiExport RevitNavigationStyle : public UserNavigationStyle { @@ -336,7 +336,7 @@ protected: SbBool processSoEvent(const SoEvent * const ev) override; private: - SbBool lockButton1; + SbBool lockButton1{false}; }; class GuiExport BlenderNavigationStyle : public UserNavigationStyle { @@ -353,7 +353,7 @@ protected: SbBool processSoEvent(const SoEvent * const ev) override; private: - SbBool lockButton1; + SbBool lockButton1{false}; }; class GuiExport MayaGestureNavigationStyle : public UserNavigationStyle { diff --git a/src/Gui/NotificationArea.cpp b/src/Gui/NotificationArea.cpp index c53636941f..1be348075b 100644 --- a/src/Gui/NotificationArea.cpp +++ b/src/Gui/NotificationArea.cpp @@ -353,7 +353,7 @@ public: return font; } - return QVariant(); + return {}; } Base::LogStyle notificationType; @@ -382,7 +382,7 @@ public: ~NotificationsAction() override { - for (auto* item : pushedItems) { + for (auto* item : qAsConst(pushedItems)) { if (item) { delete item; } @@ -572,7 +572,7 @@ protected: QMenu menu; QAction* del = menu.addAction(tr("Delete"), this, [&]() { - for (auto it : selectedItems) { + for (auto it : qAsConst(selectedItems)) { delete it; } }); diff --git a/src/Gui/NotificationBox.cpp b/src/Gui/NotificationBox.cpp index f96f58e70d..241332dadc 100644 --- a/src/Gui/NotificationBox.cpp +++ b/src/Gui/NotificationBox.cpp @@ -392,7 +392,7 @@ QString NotificationBox::text() { if (NotificationLabel::instance) return NotificationLabel::instance->text(); - return QString(); + return {}; } Q_GLOBAL_STATIC(QPalette, notificationbox_palette) diff --git a/src/Gui/NotificationBox.h b/src/Gui/NotificationBox.h index f25cae4c44..5fb229f0a6 100644 --- a/src/Gui/NotificationBox.h +++ b/src/Gui/NotificationBox.h @@ -46,9 +46,9 @@ namespace Gui */ class NotificationBox { +public: NotificationBox() = delete; -public: enum class Options { None = 0x0, diff --git a/src/Gui/OnlineDocumentation.cpp b/src/Gui/OnlineDocumentation.cpp index 9a1a9b8bb7..7d786601be 100644 --- a/src/Gui/OnlineDocumentation.cpp +++ b/src/Gui/OnlineDocumentation.cpp @@ -65,13 +65,9 @@ static const unsigned char navicon_data[] = { 0x9c,0x3d,0x00,0x00,0x9f,0xfd,0x00,0x00,0x80,0xfd,0x00,0x00,0xff,0x7d, 0x00,0x00,0xfe,0x01,0x00,0x00,0xff,0x7f,0x00,0x00}; -PythonOnlineHelp::PythonOnlineHelp() -{ -} +PythonOnlineHelp::PythonOnlineHelp() = default; -PythonOnlineHelp::~PythonOnlineHelp() -{ -} +PythonOnlineHelp::~PythonOnlineHelp() = default; QByteArray PythonOnlineHelp::loadResource(const QString& filename) const { diff --git a/src/Gui/OpenCascadeNavigationStyle.cpp b/src/Gui/OpenCascadeNavigationStyle.cpp index 1d219da314..8c98567d73 100644 --- a/src/Gui/OpenCascadeNavigationStyle.cpp +++ b/src/Gui/OpenCascadeNavigationStyle.cpp @@ -38,13 +38,9 @@ using namespace Gui; TYPESYSTEM_SOURCE(Gui::OpenCascadeNavigationStyle, Gui::UserNavigationStyle) -OpenCascadeNavigationStyle::OpenCascadeNavigationStyle() -{ -} +OpenCascadeNavigationStyle::OpenCascadeNavigationStyle() = default; -OpenCascadeNavigationStyle::~OpenCascadeNavigationStyle() -{ -} +OpenCascadeNavigationStyle::~OpenCascadeNavigationStyle() = default; const char* OpenCascadeNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/OpenSCADNavigationStyle.cpp b/src/Gui/OpenSCADNavigationStyle.cpp index e013541367..3a9b183a8b 100644 --- a/src/Gui/OpenSCADNavigationStyle.cpp +++ b/src/Gui/OpenSCADNavigationStyle.cpp @@ -38,13 +38,9 @@ using namespace Gui; TYPESYSTEM_SOURCE(Gui::OpenSCADNavigationStyle, Gui::UserNavigationStyle) -OpenSCADNavigationStyle::OpenSCADNavigationStyle() -{ -} +OpenSCADNavigationStyle::OpenSCADNavigationStyle() = default; -OpenSCADNavigationStyle::~OpenSCADNavigationStyle() -{ -} +OpenSCADNavigationStyle::~OpenSCADNavigationStyle() = default; const char* OpenSCADNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/Placement.cpp b/src/Gui/Placement.cpp index 1dc3029982..def5130319 100644 --- a/src/Gui/Placement.cpp +++ b/src/Gui/Placement.cpp @@ -990,9 +990,7 @@ DockablePlacement::DockablePlacement(QWidget* parent, Qt::WindowFlags fl) : Plac dw->show(); } -DockablePlacement::~DockablePlacement() -{ -} +DockablePlacement::~DockablePlacement() = default; void DockablePlacement::accept() { @@ -1026,10 +1024,7 @@ TaskPlacement::TaskPlacement() connect(widget, &Placement::placementChanged, this, &TaskPlacement::slotPlacementChanged); } -TaskPlacement::~TaskPlacement() -{ - // automatically deleted in the sub-class -} +TaskPlacement::~TaskPlacement() = default; /*! diff --git a/src/Gui/PrefWidgets.cpp b/src/Gui/PrefWidgets.cpp index 0b573116c7..314380b311 100644 --- a/src/Gui/PrefWidgets.cpp +++ b/src/Gui/PrefWidgets.cpp @@ -171,9 +171,7 @@ PrefSpinBox::PrefSpinBox ( QWidget * parent ) { } -PrefSpinBox::~PrefSpinBox() -{ -} +PrefSpinBox::~PrefSpinBox() = default; void PrefSpinBox::restorePreferences() { @@ -205,9 +203,7 @@ PrefDoubleSpinBox::PrefDoubleSpinBox ( QWidget * parent ) { } -PrefDoubleSpinBox::~PrefDoubleSpinBox() -{ -} +PrefDoubleSpinBox::~PrefDoubleSpinBox() = default; void PrefDoubleSpinBox::restorePreferences() { @@ -239,9 +235,7 @@ PrefLineEdit::PrefLineEdit ( QWidget * parent ) { } -PrefLineEdit::~PrefLineEdit() -{ -} +PrefLineEdit::~PrefLineEdit() = default; void PrefLineEdit::restorePreferences() { @@ -274,9 +268,7 @@ PrefTextEdit::PrefTextEdit(QWidget* parent) { } -PrefTextEdit::~PrefTextEdit() -{ -} +PrefTextEdit::~PrefTextEdit() = default; void PrefTextEdit::restorePreferences() { @@ -310,9 +302,7 @@ PrefFileChooser::PrefFileChooser ( QWidget * parent ) { } -PrefFileChooser::~PrefFileChooser() -{ -} +PrefFileChooser::~PrefFileChooser() = default; void PrefFileChooser::restorePreferences() { @@ -344,9 +334,7 @@ PrefComboBox::PrefComboBox ( QWidget * parent ) { } -PrefComboBox::~PrefComboBox() -{ -} +PrefComboBox::~PrefComboBox() = default; QMetaType::Type PrefComboBox::getParamType() const { @@ -439,9 +427,7 @@ PrefCheckBox::PrefCheckBox ( QWidget * parent ) { } -PrefCheckBox::~PrefCheckBox() -{ -} +PrefCheckBox::~PrefCheckBox() = default; void PrefCheckBox::restorePreferences() { @@ -473,9 +459,7 @@ PrefRadioButton::PrefRadioButton ( QWidget * parent ) { } -PrefRadioButton::~PrefRadioButton() -{ -} +PrefRadioButton::~PrefRadioButton() = default; void PrefRadioButton::restorePreferences() { @@ -507,9 +491,7 @@ PrefSlider::PrefSlider ( QWidget * parent ) { } -PrefSlider::~PrefSlider() -{ -} +PrefSlider::~PrefSlider() = default; void PrefSlider::restorePreferences() { @@ -541,9 +523,7 @@ PrefColorButton::PrefColorButton ( QWidget * parent ) { } -PrefColorButton::~PrefColorButton() -{ -} +PrefColorButton::~PrefColorButton() = default; void PrefColorButton::restorePreferences() { @@ -588,9 +568,7 @@ PrefUnitSpinBox::PrefUnitSpinBox ( QWidget * parent ) { } -PrefUnitSpinBox::~PrefUnitSpinBox() -{ -} +PrefUnitSpinBox::~PrefUnitSpinBox() = default; void PrefUnitSpinBox::restorePreferences() { @@ -686,9 +664,7 @@ PrefQuantitySpinBox::PrefQuantitySpinBox (QWidget * parent) { } -PrefQuantitySpinBox::~PrefQuantitySpinBox() -{ -} +PrefQuantitySpinBox::~PrefQuantitySpinBox() = default; void PrefQuantitySpinBox::contextMenuEvent(QContextMenuEvent *event) { @@ -703,9 +679,9 @@ void PrefQuantitySpinBox::contextMenuEvent(QContextMenuEvent *event) // data structure to remember actions for values QStringList history = d->history.asStringList(); - for (QStringList::const_iterator it = history.cbegin();it != history.cend(); ++it) { - QAction* action = menu->addAction(*it); - action->setProperty("history_value", *it); + for (const auto & it : history) { + QAction* action = menu->addAction(it); + action->setProperty("history_value", it); } // add the save value portion of the menu @@ -810,9 +786,7 @@ PrefFontBox::PrefFontBox ( QWidget * parent ) { } -PrefFontBox::~PrefFontBox() -{ -} +PrefFontBox::~PrefFontBox() = default; void PrefFontBox::restorePreferences() { diff --git a/src/Gui/PreferencePackTemplates/Shortcuts.cfg b/src/Gui/PreferencePackTemplates/Shortcuts.cfg index a2872d7f9a..79025a3d10 100644 --- a/src/Gui/PreferencePackTemplates/Shortcuts.cfg +++ b/src/Gui/PreferencePackTemplates/Shortcuts.cfg @@ -69,7 +69,6 @@ A, R A, T - B, S @@ -94,7 +93,6 @@ L, I - M, I M, V O, S @@ -230,6 +228,8 @@ S, Z + + @@ -428,7 +428,7 @@ - + P, S P, L @@ -482,6 +482,7 @@ + @@ -496,7 +497,7 @@ G, W Z, L - R + @@ -557,6 +558,7 @@ G, P, 3 + D G, Q G, X @@ -571,6 +573,7 @@ Z, A Z, R + Z, I Z, P, C @@ -638,9 +641,11 @@ + Ctrl+E + @@ -700,6 +705,7 @@ Ctrl+Shift+Z Ctrl+R + Ctrl+S @@ -711,6 +717,7 @@ S, F + Ctrl+Shift+P Ctrl+D @@ -762,6 +769,7 @@ + 5 Ctrl+B @@ -804,7 +812,6 @@ - @@ -953,4 +960,4 @@ - + \ No newline at end of file diff --git a/src/Gui/PreferencePacks/CMakeLists.txt b/src/Gui/PreferencePacks/CMakeLists.txt index 7b9a17260d..eaceafddc2 100644 --- a/src/Gui/PreferencePacks/CMakeLists.txt +++ b/src/Gui/PreferencePacks/CMakeLists.txt @@ -4,9 +4,15 @@ SET(PreferencePacks_Files ) SET(PreferencePacks_Directories -"Classic theme" -"Dark theme" -"Light theme" +"Classic" +"Dark" +"Darker" +"Dark modern" +"Dark behave" +"Dark contrast" +"ProDark" +"Light" +"Light modern" ) ADD_CUSTOM_TARGET(PreferencePacks_data ALL diff --git a/src/Gui/PreferencePacks/Classic theme/Classic theme.cfg b/src/Gui/PreferencePacks/Classic/Classic.cfg similarity index 99% rename from src/Gui/PreferencePacks/Classic theme/Classic theme.cfg rename to src/Gui/PreferencePacks/Classic/Classic.cfg index 3b8c7de79b..763d721adb 100644 --- a/src/Gui/PreferencePacks/Classic theme/Classic theme.cfg +++ b/src/Gui/PreferencePacks/Classic/Classic.cfg @@ -37,7 +37,7 @@ - + diff --git a/src/Gui/PreferencePacks/Darker theme/Darker theme.cfg b/src/Gui/PreferencePacks/Dark behave/Dark behave.cfg similarity index 98% rename from src/Gui/PreferencePacks/Darker theme/Darker theme.cfg rename to src/Gui/PreferencePacks/Dark behave/Dark behave.cfg index b364a33bed..ce2e0e057e 100644 --- a/src/Gui/PreferencePacks/Darker theme/Darker theme.cfg +++ b/src/Gui/PreferencePacks/Dark behave/Dark behave.cfg @@ -97,7 +97,7 @@ - Darker-blue.qss + Behave-dark.qss diff --git a/src/Gui/PreferencePacks/Dark modern theme/Dark modern theme.cfg b/src/Gui/PreferencePacks/Dark contrast/Dark contrast.cfg similarity index 98% rename from src/Gui/PreferencePacks/Dark modern theme/Dark modern theme.cfg rename to src/Gui/PreferencePacks/Dark contrast/Dark contrast.cfg index f9f2891d69..0709adf25f 100644 --- a/src/Gui/PreferencePacks/Dark modern theme/Dark modern theme.cfg +++ b/src/Gui/PreferencePacks/Dark contrast/Dark contrast.cfg @@ -97,7 +97,7 @@ - Dark-modern-blue.qss + Dark-contrast.qss diff --git a/src/Gui/PreferencePacks/Dark modern/Dark modern.cfg b/src/Gui/PreferencePacks/Dark modern/Dark modern.cfg new file mode 100644 index 0000000000..55de24cabd --- /dev/null +++ b/src/Gui/PreferencePacks/Dark modern/Dark modern.cfg @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + #9b4de6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dark-modern.qss + + + + + diff --git a/src/Gui/PreferencePacks/Dark theme/Dark theme.cfg b/src/Gui/PreferencePacks/Dark/Dark.cfg similarity index 98% rename from src/Gui/PreferencePacks/Dark theme/Dark theme.cfg rename to src/Gui/PreferencePacks/Dark/Dark.cfg index 2da60e23e2..5d4c70fabf 100644 --- a/src/Gui/PreferencePacks/Dark theme/Dark theme.cfg +++ b/src/Gui/PreferencePacks/Dark/Dark.cfg @@ -97,7 +97,7 @@ - Dark-blue.qss + Dark.qss diff --git a/src/Gui/PreferencePacks/Darker/Darker.cfg b/src/Gui/PreferencePacks/Darker/Darker.cfg new file mode 100644 index 0000000000..3596d37429 --- /dev/null +++ b/src/Gui/PreferencePacks/Darker/Darker.cfg @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + #9b4de6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Darker.qss + + + + + diff --git a/src/Gui/PreferencePacks/Light modern theme/Light modern theme.cfg b/src/Gui/PreferencePacks/Light modern/Light modern.cfg similarity index 98% rename from src/Gui/PreferencePacks/Light modern theme/Light modern theme.cfg rename to src/Gui/PreferencePacks/Light modern/Light modern.cfg index 9e2fd76d1b..13ad2aa8dc 100644 --- a/src/Gui/PreferencePacks/Light modern theme/Light modern theme.cfg +++ b/src/Gui/PreferencePacks/Light modern/Light modern.cfg @@ -62,7 +62,7 @@ - Light-modern-blue.qss + Light-modern.qss diff --git a/src/Gui/PreferencePacks/Light theme/Light theme.cfg b/src/Gui/PreferencePacks/Light/Light.cfg similarity index 98% rename from src/Gui/PreferencePacks/Light theme/Light theme.cfg rename to src/Gui/PreferencePacks/Light/Light.cfg index b904a717bf..f66e81207e 100644 --- a/src/Gui/PreferencePacks/Light theme/Light theme.cfg +++ b/src/Gui/PreferencePacks/Light/Light.cfg @@ -62,7 +62,7 @@ - Light-blue.qss + Light.qss diff --git a/src/Gui/PreferencePacks/ProDark/ProDark.cfg b/src/Gui/PreferencePacks/ProDark/ProDark.cfg new file mode 100644 index 0000000000..3326403640 --- /dev/null +++ b/src/Gui/PreferencePacks/ProDark/ProDark.cfg @@ -0,0 +1,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + #9b4de6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ProDark.qss + + + + + diff --git a/src/Gui/PreferencePacks/package.xml b/src/Gui/PreferencePacks/package.xml index aff173db12..7fe115c499 100644 --- a/src/Gui/PreferencePacks/package.xml +++ b/src/Gui/PreferencePacks/package.xml @@ -9,7 +9,7 @@ - Classic theme + Classic Theme Removes stylesheets, and applies the classic purple/gray background. Resets all colors to default 1.0.0 @@ -19,9 +19,9 @@ classic theme - Dark theme + Dark Theme - Applies a dark background and a darker stylesheet, you can choose other stylesheets as you wish. + Applies a dark background and a darker stylesheet. 0.5.0 built-in dark @@ -30,9 +30,75 @@ theme - Light theme + Darker Theme - Applies a light background and a light stylesheet, you can choose other stylesheets as you wish. + Applies a dark background and a darker stylesheet. + 0.5.0 + built-in + dark + background + stylesheet + theme + + + Dark modern + Theme + Applies a dark background and a darker stylesheet. + 0.5.0 + built-in + dark + background + stylesheet + theme + + + ProDark + Theme + Applies a dark background and a darker stylesheet. + 0.5.0 + built-in + dark + background + stylesheet + theme + + + Dark behave + Theme + Applies a dark background and a darker stylesheet. + 0.5.0 + built-in + dark + background + stylesheet + theme + + + Dark contrast + Theme + Dark theme with high contrasts. + 0.5.0 + built-in + dark + background + stylesheet + theme + + + Light + Theme + Applies a light background and a light stylesheet. + 0.5.0 + built-in + light + background + stylesheet + theme + + + Light modern + Theme + Applies a light background and a light stylesheet. 0.5.0 built-in light diff --git a/src/Gui/PreferencePages/DlgSettings3DView.ui b/src/Gui/PreferencePages/DlgSettings3DView.ui index 498bb5af29..975ebf5538 100644 --- a/src/Gui/PreferencePages/DlgSettings3DView.ui +++ b/src/Gui/PreferencePages/DlgSettings3DView.ui @@ -339,7 +339,7 @@ but slower response to any scene changes. - Size of vertices in the Sketcher workbench + Size of vertices in the Sketcher, TechDraw and other workbenches diff --git a/src/Gui/PreferencePages/DlgSettings3DViewImp.cpp b/src/Gui/PreferencePages/DlgSettings3DViewImp.cpp index 54da5b482e..65c0677e82 100644 --- a/src/Gui/PreferencePages/DlgSettings3DViewImp.cpp +++ b/src/Gui/PreferencePages/DlgSettings3DViewImp.cpp @@ -56,10 +56,7 @@ DlgSettings3DViewImp::DlgSettings3DViewImp(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgSettings3DViewImp::~DlgSettings3DViewImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettings3DViewImp::~DlgSettings3DViewImp() = default; void DlgSettings3DViewImp::saveSettings() { diff --git a/src/Gui/PreferencePages/DlgSettingsCacheDirectory.cpp b/src/Gui/PreferencePages/DlgSettingsCacheDirectory.cpp index 2bd7b63049..8af2959bb4 100644 --- a/src/Gui/PreferencePages/DlgSettingsCacheDirectory.cpp +++ b/src/Gui/PreferencePages/DlgSettingsCacheDirectory.cpp @@ -74,9 +74,7 @@ DlgSettingsCacheDirectory::DlgSettingsCacheDirectory(QWidget* parent) connect(ui->openButton, &QPushButton::clicked, this, &DlgSettingsCacheDirectory::openDirectory); } -DlgSettingsCacheDirectory::~DlgSettingsCacheDirectory() -{ -} +DlgSettingsCacheDirectory::~DlgSettingsCacheDirectory() = default; void DlgSettingsCacheDirectory::saveSettings() { diff --git a/src/Gui/PreferencePages/DlgSettingsDocumentImp.cpp b/src/Gui/PreferencePages/DlgSettingsDocumentImp.cpp index 7653d19f5c..a5053a788b 100644 --- a/src/Gui/PreferencePages/DlgSettingsDocumentImp.cpp +++ b/src/Gui/PreferencePages/DlgSettingsDocumentImp.cpp @@ -64,11 +64,7 @@ DlgSettingsDocumentImp::DlgSettingsDocumentImp( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -DlgSettingsDocumentImp::~DlgSettingsDocumentImp() -{ - // no need to delete child widgets, Qt does it all for us -} - +DlgSettingsDocumentImp::~DlgSettingsDocumentImp() = default; void DlgSettingsDocumentImp::saveSettings() { diff --git a/src/Gui/PreferencePages/DlgSettingsGeneral.cpp b/src/Gui/PreferencePages/DlgSettingsGeneral.cpp index fbf509c3b1..363445d93e 100644 --- a/src/Gui/PreferencePages/DlgSettingsGeneral.cpp +++ b/src/Gui/PreferencePages/DlgSettingsGeneral.cpp @@ -114,9 +114,7 @@ DlgSettingsGeneral::DlgSettingsGeneral( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -DlgSettingsGeneral::~DlgSettingsGeneral() -{ -} +DlgSettingsGeneral::~DlgSettingsGeneral() = default; /** Sets the size of the recent file list from the user parameters. * @see RecentFilesAction @@ -390,20 +388,32 @@ void DlgSettingsGeneral::loadSettings() void DlgSettingsGeneral::saveThemes() { - // First we save the name of the theme ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/MainWindow"); - std::string theme = ui->themesCombobox->currentText().toStdString(); - hGrp->SetASCII("Theme", theme); + // First we check if the theme has actually changed. + std::string previousTheme = hGrp->GetASCII("Theme", "").c_str(); + std::string newTheme = ui->themesCombobox->currentText().toStdString(); + + if (previousTheme == newTheme) { + themeChanged = false; + return; + } + + // Save the name of the theme + hGrp->SetASCII("Theme", newTheme); // Then we apply the themepack. Application::Instance->prefPackManager()->rescan(); auto packs = Application::Instance->prefPackManager()->preferencePacks(); for (const auto& pack : packs) { - if (pack.first == theme) { + if (pack.first == newTheme) { - Application::Instance->prefPackManager()->apply(pack.first); + if (Application::Instance->prefPackManager()->apply(pack.first)) { + auto parentDialog = qobject_cast (this->window()); + if (parentDialog) + parentDialog->reload(); + } break; } } @@ -412,6 +422,8 @@ void DlgSettingsGeneral::saveThemes() QString sheet = QString::fromStdString(hGrp->GetASCII("StyleSheet")); bool tiledBackground = hGrp->GetBool("TiledBackground", false); Application::Instance->setStyleSheet(sheet, tiledBackground); + + themeChanged = false; } void DlgSettingsGeneral::loadThemes() diff --git a/src/Gui/PreferencePages/DlgSettingsMacroImp.cpp b/src/Gui/PreferencePages/DlgSettingsMacroImp.cpp index fb548c6666..46f8d4a588 100644 --- a/src/Gui/PreferencePages/DlgSettingsMacroImp.cpp +++ b/src/Gui/PreferencePages/DlgSettingsMacroImp.cpp @@ -56,10 +56,8 @@ DlgSettingsMacroImp::DlgSettingsMacroImp( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -DlgSettingsMacroImp::~DlgSettingsMacroImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsMacroImp::~DlgSettingsMacroImp() = default; + /** Sets the size of the recent macros list from the user parameters. * @see RecentMacrosAction * @see StdCmdRecentMacros diff --git a/src/Gui/PreferencePages/DlgSettingsNavigation.cpp b/src/Gui/PreferencePages/DlgSettingsNavigation.cpp index 3defa2a97c..ee65c0d091 100644 --- a/src/Gui/PreferencePages/DlgSettingsNavigation.cpp +++ b/src/Gui/PreferencePages/DlgSettingsNavigation.cpp @@ -64,9 +64,7 @@ DlgSettingsNavigation::DlgSettingsNavigation(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgSettingsNavigation::~DlgSettingsNavigation() -{ -} +DlgSettingsNavigation::~DlgSettingsNavigation() = default; void DlgSettingsNavigation::saveSettings() { @@ -342,9 +340,7 @@ CameraDialog::CameraDialog(QWidget* parent) &CameraDialog::onCurrentViewClicked); } -CameraDialog::~CameraDialog() -{ -} +CameraDialog::~CameraDialog() = default; void CameraDialog::setValues(double q0, double q1, double q2, double q3) { diff --git a/src/Gui/PreferencePages/DlgSettingsNotificationArea.cpp b/src/Gui/PreferencePages/DlgSettingsNotificationArea.cpp index e7949cf651..b75ae57207 100644 --- a/src/Gui/PreferencePages/DlgSettingsNotificationArea.cpp +++ b/src/Gui/PreferencePages/DlgSettingsNotificationArea.cpp @@ -51,8 +51,7 @@ DlgSettingsNotificationArea::DlgSettingsNotificationArea(QWidget* parent) }); } -DlgSettingsNotificationArea::~DlgSettingsNotificationArea() -{} +DlgSettingsNotificationArea::~DlgSettingsNotificationArea() = default; void DlgSettingsNotificationArea::saveSettings() { diff --git a/src/Gui/PreferencePages/DlgSettingsPythonConsole.cpp b/src/Gui/PreferencePages/DlgSettingsPythonConsole.cpp index 5a52b40bb0..6e59fad4ca 100644 --- a/src/Gui/PreferencePages/DlgSettingsPythonConsole.cpp +++ b/src/Gui/PreferencePages/DlgSettingsPythonConsole.cpp @@ -37,9 +37,7 @@ DlgSettingsPythonConsole::DlgSettingsPythonConsole(QWidget* parent) ui->setupUi(this); } -DlgSettingsPythonConsole::~DlgSettingsPythonConsole() -{ -} +DlgSettingsPythonConsole::~DlgSettingsPythonConsole() = default; void DlgSettingsPythonConsole::saveSettings() { diff --git a/src/Gui/PreferencePages/DlgSettingsReportView.cpp b/src/Gui/PreferencePages/DlgSettingsReportView.cpp index e1032237e7..0cf0791b9b 100644 --- a/src/Gui/PreferencePages/DlgSettingsReportView.cpp +++ b/src/Gui/PreferencePages/DlgSettingsReportView.cpp @@ -48,9 +48,7 @@ DlgSettingsReportView::DlgSettingsReportView( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -DlgSettingsReportView::~DlgSettingsReportView() -{ -} +DlgSettingsReportView::~DlgSettingsReportView() = default; void DlgSettingsReportView::saveSettings() { diff --git a/src/Gui/PreferencePages/DlgSettingsSelection.cpp b/src/Gui/PreferencePages/DlgSettingsSelection.cpp index a079c37312..315376fd9a 100644 --- a/src/Gui/PreferencePages/DlgSettingsSelection.cpp +++ b/src/Gui/PreferencePages/DlgSettingsSelection.cpp @@ -39,9 +39,7 @@ DlgSettingsSelection::DlgSettingsSelection(QWidget* parent) ui->setupUi(this); } -DlgSettingsSelection::~DlgSettingsSelection() -{ -} +DlgSettingsSelection::~DlgSettingsSelection() = default; void DlgSettingsSelection::saveSettings() { diff --git a/src/Gui/PreferencePages/DlgSettingsTheme.cpp b/src/Gui/PreferencePages/DlgSettingsTheme.cpp index 07ccb4cbc5..06f6ab9e61 100644 --- a/src/Gui/PreferencePages/DlgSettingsTheme.cpp +++ b/src/Gui/PreferencePages/DlgSettingsTheme.cpp @@ -47,21 +47,21 @@ DlgSettingsTheme::DlgSettingsTheme(QWidget* parent) ui->setupUi(this); connect(ui->styleSheetsCombobox, qOverload(&QComboBox::activated), this, &DlgSettingsTheme::onStyleSheetChanged); + connect(ui->ThemeAccentColor1, &Gui::PrefColorButton::changed, this, &DlgSettingsTheme::onColorChanged); + connect(ui->ThemeAccentColor2, &Gui::PrefColorButton::changed, this, &DlgSettingsTheme::onColorChanged); + connect(ui->ThemeAccentColor3, &Gui::PrefColorButton::changed, this, &DlgSettingsTheme::onColorChanged); } /** * Destroys the object and frees any allocated resources */ -DlgSettingsTheme::~DlgSettingsTheme() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsTheme::~DlgSettingsTheme() = default; void DlgSettingsTheme::saveSettings() { - ui->ThemeSecondaryColor->onSave(); - ui->ThemeHighlightColor->onSave(); - ui->ThemeFocusColor->onSave(); + ui->ThemeAccentColor1->onSave(); + ui->ThemeAccentColor2->onSave(); + ui->ThemeAccentColor3->onSave(); if (styleSheetChanged) saveStyleSheet(); @@ -69,9 +69,9 @@ void DlgSettingsTheme::saveSettings() void DlgSettingsTheme::loadSettings() { - ui->ThemeSecondaryColor->onRestore(); - ui->ThemeHighlightColor->onRestore(); - ui->ThemeFocusColor->onRestore(); + ui->ThemeAccentColor1->onRestore(); + ui->ThemeAccentColor2->onRestore(); + ui->ThemeAccentColor3->onRestore(); loadStyleSheet(); } @@ -84,6 +84,8 @@ void DlgSettingsTheme::saveStyleSheet() hGrp->SetASCII("StyleSheet", (const char*)sheet.toByteArray()); bool tiledBackground = hGrp->GetBool("TiledBackground", false); Application::Instance->setStyleSheet(sheet.toString(), tiledBackground); + + styleSheetChanged = false; } void DlgSettingsTheme::loadStyleSheet() @@ -142,7 +144,10 @@ void DlgSettingsTheme::loadStyleSheet() void DlgSettingsTheme::onStyleSheetChanged(int index) { Q_UNUSED(index); - Base::Console().Warning("Hello"); + styleSheetChanged = true; +} + +void DlgSettingsTheme::onColorChanged() { styleSheetChanged = true; } diff --git a/src/Gui/PreferencePages/DlgSettingsTheme.h b/src/Gui/PreferencePages/DlgSettingsTheme.h index 9779def18b..5cc7200fa2 100644 --- a/src/Gui/PreferencePages/DlgSettingsTheme.h +++ b/src/Gui/PreferencePages/DlgSettingsTheme.h @@ -54,6 +54,7 @@ protected: protected Q_SLOTS: void onStyleSheetChanged(int index); + void onColorChanged(); private: std::unique_ptr ui; diff --git a/src/Gui/PreferencePages/DlgSettingsTheme.ui b/src/Gui/PreferencePages/DlgSettingsTheme.ui index 2a59465f41..b95b1602dd 100644 --- a/src/Gui/PreferencePages/DlgSettingsTheme.ui +++ b/src/Gui/PreferencePages/DlgSettingsTheme.ui @@ -29,28 +29,14 @@ - + - Style sheet: + Accent color 1 - - - Style sheet how user interface will look like - - - - - - - Secondary theme color - - - - - + 0 @@ -68,7 +54,40 @@ - ThemeSecondaryColor + ThemeAccentColor1 + + + Themes + + + + + + + Accent color 2 + + + + + + + + 0 + 0 + + + + This color might be used by your theme to let you customize it. + + + + 85 + 123 + 182 + + + + ThemeAccentColor2 Themes @@ -78,12 +97,12 @@ - Highlight color + Accent color 3 - + 0 @@ -101,7 +120,7 @@ - ThemeHighlightColor + ThemeAccentColor3 Themes @@ -109,35 +128,17 @@ - + - Focus theme color + Style sheet (advanced): - - - - 0 - 0 - - + - This color might be used by your theme to let you customize it. - - - - 85 - 123 - 182 - - - - ThemeFocusColor - - - Themes + Apply manually .qss Qt Stylesheets. This is the legacy way that was used to customize the interface. +You can now use Theme to get a full customization of the interface. @@ -184,61 +185,7 @@ Gui::ColorButton

Gui/PrefWidgets.h
- - Gui::PrefRadioButton - QRadioButton -
Gui/PrefWidgets.h
-
- - Gui::PrefCheckBox - QCheckBox -
Gui/PrefWidgets.h
-
- - checkBoxPreselection - HighlightColor - checkBoxSelection - SelectionColor - SelectionColor_Background - backgroundColorFrom - backgroundColorTo - checkMidColor - backgroundColorMid - - - - checkBoxPreselection - toggled(bool) - HighlightColor - setEnabled(bool) - - - 70 - 45 - - - 310 - 54 - - - - - checkBoxSelection - toggled(bool) - SelectionColor - setEnabled(bool) - - - 158 - 76 - - - 291 - 75 - - - - + diff --git a/src/Gui/PreferencePages/DlgSettingsViewColor.cpp b/src/Gui/PreferencePages/DlgSettingsViewColor.cpp index 1e36731f87..2d42e4f48b 100644 --- a/src/Gui/PreferencePages/DlgSettingsViewColor.cpp +++ b/src/Gui/PreferencePages/DlgSettingsViewColor.cpp @@ -61,10 +61,7 @@ DlgSettingsViewColor::DlgSettingsViewColor(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgSettingsViewColor::~DlgSettingsViewColor() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsViewColor::~DlgSettingsViewColor() = default; void DlgSettingsViewColor::saveSettings() { diff --git a/src/Gui/PreferencePages/DlgSettingsViewColor.ui b/src/Gui/PreferencePages/DlgSettingsViewColor.ui index d3bc9309e0..b0dbf033f5 100644 --- a/src/Gui/PreferencePages/DlgSettingsViewColor.ui +++ b/src/Gui/PreferencePages/DlgSettingsViewColor.ui @@ -444,10 +444,6 @@ - checkBoxPreselection - HighlightColor - checkBoxSelection - SelectionColor SelectionColor_Background backgroundColorFrom backgroundColorTo diff --git a/src/Gui/PreferencePages/DlgSettingsWorkbenchesImp.cpp b/src/Gui/PreferencePages/DlgSettingsWorkbenchesImp.cpp index 89fa6bb717..35cfc1c1cd 100644 --- a/src/Gui/PreferencePages/DlgSettingsWorkbenchesImp.cpp +++ b/src/Gui/PreferencePages/DlgSettingsWorkbenchesImp.cpp @@ -24,9 +24,11 @@ #include "PreCompiled.h" #ifndef _PreComp_ +#include #include -#include #include +#include +#include #include #endif @@ -163,9 +165,7 @@ wbListItem::wbListItem(const QString& wbName, bool enabled, bool startupWb, bool layout->setContentsMargins(10, 0, 0, 0); } -wbListItem::~wbListItem() -{ -} +wbListItem::~wbListItem() = default; bool wbListItem::isEnabled() { @@ -236,6 +236,16 @@ DlgSettingsWorkbenchesImp::DlgSettingsWorkbenchesImp( QWidget* parent ) ui->wbList->setDragEnabled(true); ui->wbList->setDefaultDropAction(Qt::MoveAction); + QAction* sortAction = new QAction(tr("Sort alphabetically"), this); + connect(sortAction, &QAction::triggered, this, &DlgSettingsWorkbenchesImp::sortEnabledWorkbenches); + + QMenu* contextMenu = new QMenu(ui->wbList); + contextMenu->addAction(sortAction); + ui->wbList->setContextMenuPolicy(Qt::CustomContextMenu); + connect(ui->wbList, &QListWidget::customContextMenuRequested, this, [this, contextMenu](const QPoint& pos) { + contextMenu->exec(ui->wbList->mapToGlobal(pos)); + }); + connect(ui->wbList->model(), &QAbstractItemModel::rowsMoved, this, &DlgSettingsWorkbenchesImp::wbItemMoved); connect(ui->AutoloadModuleCombo, qOverload(&QComboBox::activated), this, &DlgSettingsWorkbenchesImp::onStartWbChanged); connect(ui->WorkbenchSelectorPosition, qOverload(&QComboBox::activated), this, &DlgSettingsWorkbenchesImp::onWbSelectorChanged); @@ -245,10 +255,7 @@ DlgSettingsWorkbenchesImp::DlgSettingsWorkbenchesImp( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -DlgSettingsWorkbenchesImp::~DlgSettingsWorkbenchesImp() -{ -} - +DlgSettingsWorkbenchesImp::~DlgSettingsWorkbenchesImp() = default; void DlgSettingsWorkbenchesImp::saveSettings() { @@ -350,6 +357,8 @@ void DlgSettingsWorkbenchesImp::buildWorkbenchList() { QSignalBlocker sigblk(ui->wbList); + ui->wbList->clear(); + QStringList enabledWbs = getEnabledWorkbenches(); QStringList disabledWbs = getDisabledWorkbenches(); @@ -589,5 +598,14 @@ void DlgSettingsWorkbenchesImp::onWbByTabToggled(bool val) requireRestart(); } +void DlgSettingsWorkbenchesImp::sortEnabledWorkbenches() +{ + ParameterGrp::handle hGrp; + + hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/Workbenches"); + hGrp->SetASCII("Ordered", ""); + + buildWorkbenchList(); +} #include "moc_DlgSettingsWorkbenchesImp.cpp" #include "DlgSettingsWorkbenchesImp.moc" diff --git a/src/Gui/PreferencePages/DlgSettingsWorkbenchesImp.h b/src/Gui/PreferencePages/DlgSettingsWorkbenchesImp.h index 13c3b4ba65..6432e75a28 100644 --- a/src/Gui/PreferencePages/DlgSettingsWorkbenchesImp.h +++ b/src/Gui/PreferencePages/DlgSettingsWorkbenchesImp.h @@ -64,6 +64,7 @@ protected: private: void addWorkbench(const QString& it, bool enabled); + void sortEnabledWorkbenches(); void setStartWorkbenchComboItems(); diff --git a/src/Gui/ProgressDialog.cpp b/src/Gui/ProgressDialog.cpp index 7ad667e1d4..3f596d62ab 100644 --- a/src/Gui/ProgressDialog.cpp +++ b/src/Gui/ProgressDialog.cpp @@ -303,9 +303,7 @@ ProgressDialog::ProgressDialog (SequencerDialog* s, QWidget * parent) connect(this, &QProgressDialog::canceled, this, &ProgressDialog::onCancel); } -ProgressDialog::~ProgressDialog () -{ -} +ProgressDialog::~ProgressDialog() = default; void ProgressDialog::onCancel() { diff --git a/src/Gui/ProjectView.cpp b/src/Gui/ProjectView.cpp index 0e4dbfdc52..c13d6544a9 100644 --- a/src/Gui/ProjectView.cpp +++ b/src/Gui/ProjectView.cpp @@ -38,8 +38,6 @@ ProjectWidget::ProjectWidget(QWidget* parent) setModel(fileModel); } -ProjectWidget::~ProjectWidget() -{ -} +ProjectWidget::~ProjectWidget() = default; #include "moc_ProjectView.cpp" diff --git a/src/Gui/PropertyPage.cpp b/src/Gui/PropertyPage.cpp index 704c08cc4a..26123473f2 100644 --- a/src/Gui/PropertyPage.cpp +++ b/src/Gui/PropertyPage.cpp @@ -144,9 +144,7 @@ PreferenceUiForm::PreferenceUiForm(const QString& fn, QWidget* parent) } } -PreferenceUiForm::~PreferenceUiForm() -{ -} +PreferenceUiForm::~PreferenceUiForm() = default; void PreferenceUiForm::changeEvent(QEvent *e) { @@ -219,9 +217,7 @@ CustomizeActionPage::CustomizeActionPage(QWidget* parent) : QWidget(parent) } /** Destruction */ -CustomizeActionPage::~CustomizeActionPage() -{ -} +CustomizeActionPage::~CustomizeActionPage() = default; bool CustomizeActionPage::event(QEvent* e) { diff --git a/src/Gui/PropertyView.cpp b/src/Gui/PropertyView.cpp index 39c927dc15..535f54fa2c 100644 --- a/src/Gui/PropertyView.cpp +++ b/src/Gui/PropertyView.cpp @@ -568,8 +568,6 @@ PropertyDockView::PropertyDockView(Gui::Document* pcDocument, QWidget *parent) resize( 200, 400 ); } -PropertyDockView::~PropertyDockView() -{ -} +PropertyDockView::~PropertyDockView() = default; #include "moc_PropertyView.cpp" diff --git a/src/Gui/PythonConsole.cpp b/src/Gui/PythonConsole.cpp index 8a7e73cee9..588940fd67 100644 --- a/src/Gui/PythonConsole.cpp +++ b/src/Gui/PythonConsole.cpp @@ -887,8 +887,8 @@ void PythonConsole::runSource(const QString& line) PySys_SetObject("stdout", default_stdout); PySys_SetObject("stderr", default_stderr); d->interactive = false; - for (QStringList::Iterator it = d->statements.begin(); it != d->statements.end(); ++it) { - printStatement(*it); + for (const auto & it : d->statements) { + printStatement(it); } d->statements.clear(); } @@ -1514,9 +1514,7 @@ PythonConsoleHighlighter::PythonConsoleHighlighter(QObject* parent) { } -PythonConsoleHighlighter::~PythonConsoleHighlighter() -{ -} +PythonConsoleHighlighter::~PythonConsoleHighlighter() = default; void PythonConsoleHighlighter::highlightBlock(const QString& text) { @@ -1564,9 +1562,7 @@ ConsoleHistory::ConsoleHistory() _it = _history.cend(); } -ConsoleHistory::~ConsoleHistory() -{ -} +ConsoleHistory::~ConsoleHistory() = default; void ConsoleHistory::first() { diff --git a/src/Gui/PythonConsolePy.cpp b/src/Gui/PythonConsolePy.cpp index 8048aa0711..7d81406ef1 100644 --- a/src/Gui/PythonConsolePy.cpp +++ b/src/Gui/PythonConsolePy.cpp @@ -44,9 +44,7 @@ PythonStdout::PythonStdout(PythonConsole *pc) { } -PythonStdout::~PythonStdout() -{ -} +PythonStdout::~PythonStdout() = default; Py::Object PythonStdout::getattr(const char *name) { @@ -110,9 +108,7 @@ PythonStderr::PythonStderr(PythonConsole *pc) { } -PythonStderr::~PythonStderr() -{ -} +PythonStderr::~PythonStderr() = default; Py::Object PythonStderr::getattr(const char *name) { @@ -171,13 +167,9 @@ void OutputStdout::init_type() add_noargs_method("isatty",&OutputStdout::isatty,"isatty()"); } -OutputStdout::OutputStdout() -{ -} +OutputStdout::OutputStdout() = default; -OutputStdout::~OutputStdout() -{ -} +OutputStdout::~OutputStdout() = default; Py::Object OutputStdout::getattr(const char *name) { @@ -236,13 +228,9 @@ void OutputStderr::init_type() add_noargs_method("isatty",&OutputStderr::isatty,"isatty()"); } -OutputStderr::OutputStderr() -{ -} +OutputStderr::OutputStderr() = default; -OutputStderr::~OutputStderr() -{ -} +OutputStderr::~OutputStderr() = default; Py::Object OutputStderr::getattr(const char *name) { @@ -305,9 +293,7 @@ PythonStdin::PythonStdin(PythonConsole *pc) { } -PythonStdin::~PythonStdin() -{ -} +PythonStdin::~PythonStdin() = default; Py::Object PythonStdin::repr() { diff --git a/src/Gui/PythonDebugger.cpp b/src/Gui/PythonDebugger.cpp index 9d065196e8..0d398c4d17 100644 --- a/src/Gui/PythonDebugger.cpp +++ b/src/Gui/PythonDebugger.cpp @@ -38,15 +38,13 @@ using namespace Gui; -Breakpoint::Breakpoint() -{ -} +Breakpoint::Breakpoint() = default; Breakpoint::Breakpoint(const Breakpoint& rBp) { setFilename(rBp.filename()); - for (std::set::const_iterator it = rBp._linenums.begin(); it != rBp._linenums.end(); ++it) - _linenums.insert(*it); + for (int it : rBp._linenums) + _linenums.insert(it); } Breakpoint& Breakpoint::operator= (const Breakpoint& rBp) @@ -55,15 +53,12 @@ Breakpoint& Breakpoint::operator= (const Breakpoint& rBp) return *this; setFilename(rBp.filename()); _linenums.clear(); - for (std::set::const_iterator it = rBp._linenums.begin(); it != rBp._linenums.end(); ++it) - _linenums.insert(*it); + for (int it : rBp._linenums) + _linenums.insert(it); return *this; } -Breakpoint::~Breakpoint() -{ - -} +Breakpoint::~Breakpoint() = default; void Breakpoint::setFilename(const QString& fn) { @@ -88,10 +83,10 @@ bool Breakpoint::checkLine(int line) int Breakpoint::lineIndex(int ind)const { int i = 0; - for (std::set::const_iterator it = _linenums.begin(); it != _linenums.end(); ++it) + for (int it : _linenums) { if (ind == i++) - return *it; + return it; } return -1; } @@ -166,13 +161,9 @@ void PythonDebugStdout::init_type() add_varargs_method("flush",&PythonDebugStdout::flush,"flush the output"); } -PythonDebugStdout::PythonDebugStdout() -{ -} +PythonDebugStdout::PythonDebugStdout() = default; -PythonDebugStdout::~PythonDebugStdout() -{ -} +PythonDebugStdout::~PythonDebugStdout() = default; Py::Object PythonDebugStdout::repr() { @@ -218,13 +209,9 @@ void PythonDebugStderr::init_type() add_varargs_method("write",&PythonDebugStderr::write,"write to stderr"); } -PythonDebugStderr::PythonDebugStderr() -{ -} +PythonDebugStderr::PythonDebugStderr() = default; -PythonDebugStderr::~PythonDebugStderr() -{ -} +PythonDebugStderr::~PythonDebugStderr() = default; Py::Object PythonDebugStderr::repr() { @@ -267,13 +254,9 @@ void PythonDebugExcept::init_type() add_varargs_method("fc_excepthook",&PythonDebugExcept::excepthook,"Custom exception handler"); } -PythonDebugExcept::PythonDebugExcept() -{ -} +PythonDebugExcept::PythonDebugExcept() = default; -PythonDebugExcept::~PythonDebugExcept() -{ -} +PythonDebugExcept::~PythonDebugExcept() = default; Py::Object PythonDebugExcept::repr() { @@ -320,8 +303,8 @@ namespace Gui { class PythonDebuggerPy : public Py::PythonExtension { public: - PythonDebuggerPy(PythonDebugger* d) : dbg(d), depth(0) { } - ~PythonDebuggerPy() override {} + explicit PythonDebuggerPy(PythonDebugger* d) : dbg(d), depth(0) { } + ~PythonDebuggerPy() override = default; PythonDebugger* dbg; int depth; }; @@ -329,7 +312,7 @@ public: class RunningState { public: - RunningState(bool& s) : state(s) + explicit RunningState(bool& s) : state(s) { state = true; } ~RunningState() { state = false; } @@ -338,24 +321,20 @@ private: }; struct PythonDebuggerP { - PyObject* out_o; - PyObject* err_o; - PyObject* exc_o; - PyObject* out_n; - PyObject* err_n; - PyObject* exc_n; + PyObject* out_o{nullptr}; + PyObject* err_o{nullptr}; + PyObject* exc_o{nullptr}; + PyObject* out_n{nullptr}; + PyObject* err_n{nullptr}; + PyObject* exc_n{nullptr}; PythonDebugExcept* pypde; - bool init, trystop, running; + bool init{false}, trystop{false}, running{false}; QEventLoop loop; - PyObject* pydbg; + PyObject* pydbg{nullptr}; std::vector bps; - PythonDebuggerP(PythonDebugger* that) : - init(false), trystop(false), running(false) + explicit PythonDebuggerP(PythonDebugger* that) { - out_o = nullptr; - err_o = nullptr; - exc_o = nullptr; Base::PyGILStateLocker lock; out_n = new PythonDebugStdout(); err_n = new PythonDebugStderr(); @@ -388,25 +367,25 @@ PythonDebugger::~PythonDebugger() Breakpoint PythonDebugger::getBreakpoint(const QString& fn) const { - for (std::vector::const_iterator it = d->bps.begin(); it != d->bps.end(); ++it) { - if (fn == it->filename()) { - return *it; + for (const Breakpoint& it : d->bps) { + if (fn == it.filename()) { + return it; } } - return Breakpoint(); + return {}; } bool PythonDebugger::toggleBreakpoint(int line, const QString& fn) { - for (std::vector::iterator it = d->bps.begin(); it != d->bps.end(); ++it) { - if (fn == it->filename()) { - if (it->checkLine(line)) { - it->removeLine(line); + for (Breakpoint& it : d->bps) { + if (fn == it.filename()) { + if (it.checkLine(line)) { + it.removeLine(line); return false; } else { - it->addLine(line); + it.addLine(line); return true; } } diff --git a/src/Gui/PythonEditor.cpp b/src/Gui/PythonEditor.cpp index de015145aa..ffea4c72ba 100644 --- a/src/Gui/PythonEditor.cpp +++ b/src/Gui/PythonEditor.cpp @@ -43,15 +43,14 @@ using namespace Gui; namespace Gui { struct PythonEditorP { - int debugLine; + int debugLine{-1}; QRect debugRect; QPixmap breakpoint; QPixmap debugMarker; QString filename; PythonDebugger* debugger; PythonEditorP() - : debugLine(-1), - breakpoint(BitmapFactory().iconFromTheme("breakpoint").pixmap(16,16)), + : breakpoint(BitmapFactory().iconFromTheme("breakpoint").pixmap(16,16)), debugMarker(BitmapFactory().iconFromTheme("debug-marker").pixmap(16,16)) { debugger = Application::Instance->macroManager()->debugger(); diff --git a/src/Gui/PythonWorkbenchPyImp.cpp b/src/Gui/PythonWorkbenchPyImp.cpp index 6ba70d6027..33182ddc5a 100644 --- a/src/Gui/PythonWorkbenchPyImp.cpp +++ b/src/Gui/PythonWorkbenchPyImp.cpp @@ -42,7 +42,7 @@ using namespace Gui; // returns a string which represent the object e.g. when printed in python std::string PythonWorkbenchPy::representation() const { - return std::string(""); + return {""}; } /** Appends a new menu */ diff --git a/src/Gui/QListWidgetCustom.cpp b/src/Gui/QListWidgetCustom.cpp index ced5555e1c..13cfbc8bb1 100644 --- a/src/Gui/QListWidgetCustom.cpp +++ b/src/Gui/QListWidgetCustom.cpp @@ -35,9 +35,7 @@ QListWidgetCustom::QListWidgetCustom(QWidget * parent) { } -QListWidgetCustom::~QListWidgetCustom() -{ -} +QListWidgetCustom::~QListWidgetCustom() = default; /* Overridden dragMoveEvent prevents dragging items that originated * from the same list for "disabled workbenches". Dragging from outside diff --git a/src/Gui/QSint/actionpanel/actionbox.cpp b/src/Gui/QSint/actionpanel/actionbox.cpp index 88f6665f3c..e1ed69023b 100644 --- a/src/Gui/QSint/actionpanel/actionbox.cpp +++ b/src/Gui/QSint/actionpanel/actionbox.cpp @@ -232,7 +232,7 @@ void ActionBox::addWidget(QWidget * w, QLayout * l) QSize ActionBox::minimumSizeHint() const { - return QSize(150,65); + return {150,65}; } diff --git a/src/Gui/QSint/actionpanel/actiongroup.cpp b/src/Gui/QSint/actionpanel/actiongroup.cpp index 403c570590..2a3ae49a50 100644 --- a/src/Gui/QSint/actionpanel/actiongroup.cpp +++ b/src/Gui/QSint/actionpanel/actiongroup.cpp @@ -251,7 +251,7 @@ void ActionGroup::setHeaderText(const QString & headerText) QSize ActionGroup::minimumSizeHint() const { - return QSize(200,65); + return {200,65}; } diff --git a/src/Gui/QSint/actionpanel/actionlabel.h b/src/Gui/QSint/actionpanel/actionlabel.h index 988906de7f..da9a5582e5 100644 --- a/src/Gui/QSint/actionpanel/actionlabel.h +++ b/src/Gui/QSint/actionpanel/actionlabel.h @@ -79,7 +79,7 @@ public: */ explicit ActionLabel(QAction *action, QWidget *parent = nullptr); - ~ActionLabel() override {} + ~ActionLabel() override = default; QSize sizeHint() const override; QSize minimumSizeHint() const override; diff --git a/src/Gui/QSint/actionpanel/actionpanel.cpp b/src/Gui/QSint/actionpanel/actionpanel.cpp index 3b31e3dc38..2c01e08a72 100644 --- a/src/Gui/QSint/actionpanel/actionpanel.cpp +++ b/src/Gui/QSint/actionpanel/actionpanel.cpp @@ -113,7 +113,7 @@ ActionGroup * ActionPanel::createGroup(const QPixmap &icon, const QString &title QSize ActionPanel::minimumSizeHint() const { - return QSize(200,150); + return {200,150}; } diff --git a/src/Gui/QuantitySpinBox.cpp b/src/Gui/QuantitySpinBox.cpp index 5d9c570c7a..91bc452d6a 100644 --- a/src/Gui/QuantitySpinBox.cpp +++ b/src/Gui/QuantitySpinBox.cpp @@ -72,9 +72,7 @@ public: q_ptr(q) { } - ~QuantitySpinBoxPrivate() - { - } + ~QuantitySpinBoxPrivate() = default; QString stripped(const QString &t, int *pos) const { @@ -170,6 +168,9 @@ public: if (locale.positiveSign() != plus) copy.replace(locale.positiveSign(), plus); + QString reverseUnitStr = unitStr; + std::reverse(reverseUnitStr.begin(), reverseUnitStr.end()); + //Prep for expression parser //This regex matches chunks between +,-,$,^ accounting for matching parenthesis. QRegularExpression chunkRe(QString::fromUtf8("(?<=^|[\\+\\-])((\\((?>[^()]|(?2))*\\))|[^\\+\\-\n])*(?=$|[\\+\\-])")); @@ -202,12 +203,12 @@ public: } //Add default units to string if none are present - if (!copyChunk.contains(unitStr)){ // Fast check + if (!copyChunk.contains(reverseUnitStr)){ // Fast check QRegularExpression unitsRe(QString::fromStdString("(?<=\\b|[^a-zA-Z])("+regexUnits+")(?=\\b|[^a-zA-Z])|°|″|′|\"|'|\\p{L}\\.\\p{L}|\\[\\p{L}")); QRegularExpressionMatch match = unitsRe.match(copyChunk); if (!match.hasMatch() && !copyChunk.isEmpty()) //If no units are found, use default units - copyChunk.prepend(QString::fromUtf8(")")+unitStr+QString::fromUtf8("1(*")); // Add units to the end of chunk *(1unit) + copyChunk.prepend(QString::fromUtf8(")")+reverseUnitStr+QString::fromUtf8("1(*")); // Add units to the end of chunk *(1unit) } std::reverse(copyChunk.begin(), copyChunk.end()); @@ -291,9 +292,7 @@ QuantitySpinBox::QuantitySpinBox(QWidget *parent) #endif } -QuantitySpinBox::~QuantitySpinBox() -{ -} +QuantitySpinBox::~QuantitySpinBox() = default; void QuantitySpinBox::bind(const App::ObjectIdentifier &_path) { @@ -311,7 +310,7 @@ QString QuantitySpinBox::boundToName() const std::string path = getPath().toString(); return QString::fromStdString(path); } - return QString(); + return {}; } /** @@ -374,7 +373,7 @@ QString Gui::QuantitySpinBox::expressionText() const catch (const Base::Exception& e) { qDebug() << e.what(); } - return QString(); + return {}; } void QuantitySpinBox::evaluateExpression() diff --git a/src/Gui/Quarter/QuarterWidget.cpp b/src/Gui/Quarter/QuarterWidget.cpp index bf97ad6e59..7ad5a46ec5 100644 --- a/src/Gui/Quarter/QuarterWidget.cpp +++ b/src/Gui/Quarter/QuarterWidget.cpp @@ -1062,10 +1062,10 @@ QuarterWidget::backgroundColor() const { SbColor4f bg = PRIVATE(this)->sorendermanager->getBackgroundColor(); - return QColor(SbClamp(int(bg[0] * 255.0), 0, 255), + return {SbClamp(int(bg[0] * 255.0), 0, 255), SbClamp(int(bg[1] * 255.0), 0, 255), SbClamp(int(bg[2] * 255.0), 0, 255), - SbClamp(int(bg[3] * 255.0), 0, 255)); + SbClamp(int(bg[3] * 255.0), 0, 255)}; } /*! @@ -1142,7 +1142,7 @@ QuarterWidget::removeStateMachine(SoScXMLStateMachine * statemachine) QSize QuarterWidget::minimumSizeHint() const { - return QSize(50, 50); + return {50, 50}; } /*! Returns a list of grouped actions that corresponds to the diff --git a/src/Gui/Quarter/SoQTQuarterAdaptor.cpp b/src/Gui/Quarter/SoQTQuarterAdaptor.cpp index c016a6aa88..a52feb389c 100644 --- a/src/Gui/Quarter/SoQTQuarterAdaptor.cpp +++ b/src/Gui/Quarter/SoQTQuarterAdaptor.cpp @@ -754,7 +754,7 @@ SbVec2f SIM::Coin3D::Quarter::SoQTQuarterAdaptor::addFrametime(double starttime) this->frametime = (frametime*FPS_FACTOR) + this->frametime*(1.0-FPS_FACTOR); this->starttime = timeofday; - return SbVec2f(1000 * this->drawtime, 1.0f / this->frametime); + return {1000 * float(this->drawtime), 1.0F / float(this->frametime)}; } #include "moc_SoQTQuarterAdaptor.cpp" diff --git a/src/Gui/ReportView.cpp b/src/Gui/ReportView.cpp index e5d349b717..4556178851 100644 --- a/src/Gui/ReportView.cpp +++ b/src/Gui/ReportView.cpp @@ -95,10 +95,7 @@ ReportView::ReportView( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -ReportView::~ReportView() -{ - // no need to delete child widgets, Qt does it all for us -} +ReportView::~ReportView() = default; void ReportView::changeEvent(QEvent *e) { @@ -134,9 +131,7 @@ ReportHighlighter::ReportHighlighter(QTextEdit* edit) errCol = Qt::red; } -ReportHighlighter::~ReportHighlighter() -{ -} +ReportHighlighter::~ReportHighlighter() = default; void ReportHighlighter::highlightBlock (const QString & text) { @@ -288,8 +283,7 @@ public: CustomReportEvent(ReportHighlighter::Paragraph p, const QString& s) : QEvent(QEvent::Type(QEvent::User)) { par = p; msg = s;} - ~CustomReportEvent() override - { } + ~CustomReportEvent() override = default; const QString& message() const { return msg; } ReportHighlighter::Paragraph messageType() const diff --git a/src/Gui/RevitNavigationStyle.cpp b/src/Gui/RevitNavigationStyle.cpp index 62aeb2db8b..b1c96ad714 100644 --- a/src/Gui/RevitNavigationStyle.cpp +++ b/src/Gui/RevitNavigationStyle.cpp @@ -42,9 +42,7 @@ RevitNavigationStyle::RevitNavigationStyle() : lockButton1(false) { } -RevitNavigationStyle::~RevitNavigationStyle() -{ -} +RevitNavigationStyle::~RevitNavigationStyle() = default; const char* RevitNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/SceneInspector.cpp b/src/Gui/SceneInspector.cpp index 2a8b3d3bd5..4bd1e51838 100644 --- a/src/Gui/SceneInspector.cpp +++ b/src/Gui/SceneInspector.cpp @@ -45,9 +45,7 @@ SceneModel::SceneModel(QObject* parent) { } -SceneModel::~SceneModel() -{ -} +SceneModel::~SceneModel() = default; int SceneModel::columnCount (const QModelIndex & parent) const { @@ -64,14 +62,14 @@ QVariant SceneModel::headerData (int section, Qt::Orientation orientation, int r { if (orientation == Qt::Horizontal) { if (role != Qt::DisplayRole) - return QVariant(); + return {}; if (section == 0) return tr("Inventor Tree"); else if (section == 1) return tr("Name"); } - return QVariant(); + return {}; } bool SceneModel::setHeaderData (int, Qt::Orientation, const QVariant &, int) diff --git a/src/Gui/Selection.cpp b/src/Gui/Selection.cpp index 067e349500..e08538ef45 100644 --- a/src/Gui/Selection.cpp +++ b/src/Gui/Selection.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include "Selection.h" #include "SelectionObject.h" @@ -47,6 +48,7 @@ #include "MainWindow.h" #include "MDIView.h" #include "SelectionFilter.h" +#include "SelectionFilterPy.h" #include "SelectionObserverPython.h" #include "Tree.h" #include "ViewProviderDocumentObject.h" @@ -517,7 +519,7 @@ std::vector SelectionSingleton::getObjectsOfType(const cha { Base::Type typeId = Base::Type::fromName(typeName); if (typeId == Base::Type::badType()) - return std::vector(); + return {}; return getObjectsOfType(typeId, pDocName, resolve); } @@ -1150,8 +1152,7 @@ bool SelectionSingleton::addSelection(const SelectionObject& obj, bool clearPres } else if (!subNames.empty()) { bool ok = true; - for (std::size_t i=0; i kwlist{"obj", "subname", "x", "y", "z", "tp", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwd, "O!|sfffi", kwlist, &(App::DocumentObjectPy::Type), &object, + &subname, &x, &y, &z, &type)) { auto docObjPy = static_cast(object); App::DocumentObject* docObj = docObjPy->getDocumentObjectPtr(); if (!docObj || !docObj->getNameInDocument()) { @@ -2305,7 +2303,7 @@ PyObject *SelectionSingleton::sAddSelectionGate(PyObject * /*self*/, PyObject *a if (PyArg_ParseTuple(args, "O!|i",SelectionFilterPy::type_object(),&filterPy,resolve)) { PY_TRY { Selection().addSelectionGate(new SelectionFilterGatePython( - static_cast(filterPy)), toEnum(resolve)); + SelectionFilterPy::cast(filterPy)), toEnum(resolve)); Py_Return; } PY_CATCH; diff --git a/src/Gui/Selection.h b/src/Gui/Selection.h index 1839435e3d..32d4dac94b 100644 --- a/src/Gui/Selection.h +++ b/src/Gui/Selection.h @@ -276,7 +276,7 @@ private: class GuiExport SelectionGate { public: - virtual ~SelectionGate(){} + virtual ~SelectionGate() = default; virtual bool allow(App::Document*,App::DocumentObject*, const char*)=0; /** @@ -671,7 +671,7 @@ protected: mutable std::list<_SelObj> _SelList; mutable std::list<_SelObj> _PickedList; - bool _needPickedList; + bool _needPickedList{false}; using SelStackItem = std::set; std::deque _SelStackBack; diff --git a/src/Gui/SelectionFilter.cpp b/src/Gui/SelectionFilter.cpp index 13f293bc3d..e08d3bba74 100644 --- a/src/Gui/SelectionFilter.cpp +++ b/src/Gui/SelectionFilter.cpp @@ -34,6 +34,7 @@ #include "Selection.h" #include "SelectionFilter.h" +#include "SelectionFilterPy.h" #include "SelectionObject.h" @@ -80,9 +81,7 @@ SelectionGatePython::SelectionGatePython(const Py::Object& obj) { } -SelectionGatePython::~SelectionGatePython() -{ -} +SelectionGatePython::~SelectionGatePython() = default; bool SelectionGatePython::allow(App::Document* doc, App::DocumentObject* obj, const char* sub) { @@ -157,9 +156,7 @@ void SelectionFilter::setFilter(const char* filter) } } -SelectionFilter::~SelectionFilter() -{ -} +SelectionFilter::~SelectionFilter() = default; bool SelectionFilter::match() { @@ -231,114 +228,6 @@ void SelectionFilter::addError(const char* e) Errors += '\n'; } -// ---------------------------------------------------------------------------- - -void SelectionFilterPy::init_type() -{ - behaviors().name("SelectionFilter"); - behaviors().doc("Filter for certain selection\n" - "Example strings are:\n" - "\"SELECT Part::Feature SUBELEMENT Edge\",\n" - "\"SELECT Part::Feature\", \n" - "\"SELECT Part::Feature COUNT 1..5\"\n"); - // you must have overwritten the virtual functions - behaviors().supportRepr(); - behaviors().supportGetattr(); - behaviors().supportSetattr(); - behaviors().set_tp_new(PyMake); - add_varargs_method("match",&SelectionFilterPy::match, - "Check if the current selection matches the filter"); - add_varargs_method("result",&SelectionFilterPy::result, - "If match() returns True then with result() you get a list of the matching objects"); - add_varargs_method("test",&SelectionFilterPy::test, - "test(Feature, SubName='')\n" - "Test if a given object is described in the filter.\n" - "If SubName is not empty the sub-element gets also tested."); - add_varargs_method("setFilter",&SelectionFilterPy::setFilter, - "Set a new selection filter"); -} - -PyObject *SelectionFilterPy::PyMake(struct _typeobject *, PyObject *args, PyObject *) -{ - char* str; - if (!PyArg_ParseTuple(args, "s",&str)) - return nullptr; - try { - SelectionFilter filter(str); - return new SelectionFilterPy(filter.getFilter()); - } - catch (const Base::Exception& e) { - PyErr_SetString(PyExc_SyntaxError, e.what()); - return nullptr; - } -} - -SelectionFilterPy::SelectionFilterPy(const std::string& s) - : filter(s) -{ -} - -SelectionFilterPy::~SelectionFilterPy() -{ -} - -Py::Object SelectionFilterPy::repr() -{ - std::string s; - std::ostringstream s_out; - s_out << "SelectionFilter"; - return Py::String(s_out.str()); -} - -Py::Object SelectionFilterPy::match(const Py::Tuple& args) -{ - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - return Py::Boolean(filter.match()); -} - -Py::Object SelectionFilterPy::test(const Py::Tuple& args) -{ - PyObject * pcObj; - char* text=nullptr; - if (!PyArg_ParseTuple(args.ptr(), "O!|s",&(App::DocumentObjectPy::Type),&pcObj,&text)) - throw Py::Exception(); - - auto docObj = static_cast(pcObj); - - return Py::Boolean(filter.test(docObj->getDocumentObjectPtr(),text)); -} - -Py::Object SelectionFilterPy::result(const Py::Tuple&) -{ - Py::List list; - std::vector >::iterator it; - for (it = filter.Result.begin(); it != filter.Result.end(); ++it) { - std::vector::iterator jt; - Py::Tuple tuple(it->size()); - int index=0; - for (jt = it->begin(); jt != it->end(); ++jt) { - tuple[index++] = Py::asObject(jt->getPyObject()); - } - list.append(tuple); - } - return list; -} - -Py::Object SelectionFilterPy::setFilter(const Py::Tuple& args) -{ - char* text=nullptr; - if (!PyArg_ParseTuple(args.ptr(), "s",&text)) - throw Py::Exception(); - try { - filter.setFilter(text); - return Py::None(); - } - catch (const Base::Exception& e) { - throw Py::Exception(PyExc_SyntaxError, e.what()); - } -} - // === Parser & Scanner stuff =============================================== // include the Scanner and the Parser for the filter language diff --git a/src/Gui/SelectionFilter.h b/src/Gui/SelectionFilter.h index 7299c63d57..90d3430bb7 100644 --- a/src/Gui/SelectionFilter.h +++ b/src/Gui/SelectionFilter.h @@ -35,7 +35,7 @@ namespace App { namespace Gui { struct Node_Block; - + class SelectionFilterPy; /** Selection filter definition * This class builds up a type/count tree out of a string @@ -139,36 +139,6 @@ private: Py::Object gate; }; -/** - * Python binding for SelectionFilter class. - * \code - * filter=Gui.Selection.Filter("SELECT Part::Feature SUBELEMENT Edge") - * Gui.Selection.addSelectionGate(filter) - * \endcode - * @see SelectionFilter - * @author Werner Mayer - */ -class SelectionFilterPy : public Py::PythonExtension -{ -public: - SelectionFilter filter; - -public: - static void init_type(); // announce properties and methods - - explicit SelectionFilterPy(const std::string&); - ~SelectionFilterPy() override; - - Py::Object repr() override; - Py::Object match(const Py::Tuple&); - Py::Object result(const Py::Tuple&); - Py::Object test(const Py::Tuple&); - Py::Object setFilter(const Py::Tuple&); - -private: - static PyObject *PyMake(struct _typeobject *, PyObject *, PyObject *); -}; - /** * A Python wrapper around SelectionFilterPy to implement the SelectionGate interface * \code diff --git a/src/Gui/SelectionFilterPy.cpp b/src/Gui/SelectionFilterPy.cpp new file mode 100644 index 0000000000..d5d8d630b5 --- /dev/null +++ b/src/Gui/SelectionFilterPy.cpp @@ -0,0 +1,141 @@ +/*************************************************************************** + * Copyright (c) 2009 Jürgen Riegel * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#include + +#include "SelectionFilterPy.h" + + +using namespace Gui; + +SelectionFilterPy::SelectionFilterPy(Py::PythonClassInstance* self, Py::Tuple& args, Py::Dict& kwds) + : Py::PythonClass::PythonClass(self, args, kwds), filter("") +{ + const char* str; + if (!PyArg_ParseTuple(args.ptr(), "s", &str)) { + throw Py::Exception(); + } + try { + filter = SelectionFilter(str); + } + catch (const Base::Exception& e) { + throw Py::Exception(PyExc_SyntaxError, e.what()); + } +} + +SelectionFilterPy::~SelectionFilterPy() = default; + +Py::Object SelectionFilterPy::repr() +{ + std::string s; + std::ostringstream s_out; + s_out << "SelectionFilter"; + return Py::String(s_out.str()); +} + +Py::Object SelectionFilterPy::match() +{ + return Py::Boolean(filter.match()); +} +PYCXX_NOARGS_METHOD_DECL(SelectionFilterPy, match) + +Py::Object SelectionFilterPy::test(const Py::Tuple& args) +{ + PyObject * pcObj; + char* text=nullptr; + if (!PyArg_ParseTuple(args.ptr(), "O!|s", + &(App::DocumentObjectPy::Type), &pcObj, &text)) { + throw Py::Exception(); + } + + auto docObj = static_cast(pcObj); + + return Py::Boolean(filter.test(docObj->getDocumentObjectPtr(),text)); +} +PYCXX_VARARGS_METHOD_DECL(SelectionFilterPy, test) + +Py::Object SelectionFilterPy::result() +{ + Py::List list; + for (const auto& vec : filter.Result) { + Py::Tuple tuple(vec.size()); + int index=0; + for (auto sel : vec) { + tuple[index++] = Py::asObject(sel.getPyObject()); + } + list.append(tuple); + } + + return list; +} +PYCXX_NOARGS_METHOD_DECL(SelectionFilterPy, result) + +Py::Object SelectionFilterPy::setFilter(const Py::Tuple& args) +{ + char* text=nullptr; + if (!PyArg_ParseTuple(args.ptr(), "s", &text)) { + throw Py::Exception(); + } + + try { + filter.setFilter(text); + return Py::None(); + } + catch (const Base::Exception& e) { + throw Py::Exception(PyExc_SyntaxError, e.what()); + } +} +PYCXX_VARARGS_METHOD_DECL(SelectionFilterPy, setFilter) + +Py::Object SelectionFilterPy::getFilter() +{ + return Py::String(filter.getFilter()); +} +PYCXX_NOARGS_METHOD_DECL(SelectionFilterPy, getFilter) + +void SelectionFilterPy::init_type() +{ + behaviors().name("Gui.SelectionFilter"); + behaviors().doc("Filter for certain selection\n" + "Example strings are:\n" + "\"SELECT Part::Feature SUBELEMENT Edge\",\n" + "\"SELECT Part::Feature\", \n" + "\"SELECT Part::Feature COUNT 1..5\"\n"); + // you must have overwritten the virtual functions + behaviors().supportRepr(); + behaviors().supportGetattro(); + behaviors().supportSetattro(); + PYCXX_ADD_NOARGS_METHOD(match, match, + "Check if the current selection matches the filter"); + PYCXX_ADD_NOARGS_METHOD(result, result, + "If match() returns True then with result() you get a list of the matching objects"); + PYCXX_ADD_VARARGS_METHOD(test, test, + "test(Feature, SubName='')\n" + "Test if a given object is described in the filter.\n" + "If SubName is not empty the sub-element gets also tested."); + PYCXX_ADD_VARARGS_METHOD(setFilter, setFilter, + "Set a new selection filter from a string"); + PYCXX_ADD_NOARGS_METHOD(getFilter, getFilter, + "Get the selection filter string"); + + behaviors().readyType(); +} diff --git a/src/Gui/SelectionFilterPy.h b/src/Gui/SelectionFilterPy.h new file mode 100644 index 0000000000..7d3c63041e --- /dev/null +++ b/src/Gui/SelectionFilterPy.h @@ -0,0 +1,67 @@ +/*************************************************************************** + * Copyright (c) 2009 Jürgen Riegel * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#ifndef GUI_SELECTIONFILTERPY_H +#define GUI_SELECTIONFILTERPY_H + +#include + +#include "SelectionFilter.h" + + +namespace Gui { +/** + * Python binding for SelectionFilter class. + * \code + * filter=Gui.Selection.Filter("SELECT Part::Feature SUBELEMENT Edge") + * Gui.Selection.addSelectionGate(filter) + * \endcode + * @see SelectionFilter + * @author Werner Mayer + */ +class SelectionFilterPy : public Py::PythonClass +{ +public: + SelectionFilter filter; + +public: + static void init_type(); // announce properties and methods + static SelectionFilterPy* cast(PyObject* py) { + using SelectionFilterClass = Py::PythonClassObject; + return SelectionFilterClass(py).getCxxObject(); + } + + SelectionFilterPy(Py::PythonClassInstance* self, Py::Tuple& args, Py::Dict& kdws); + + ~SelectionFilterPy() override; + + Py::Object repr() override; + Py::Object match(); + Py::Object result(); + Py::Object test(const Py::Tuple&); + Py::Object setFilter(const Py::Tuple&); + Py::Object getFilter(); +}; + +} // namespace Gui + +#endif // GUI_SELECTIONFILTERPY_H diff --git a/src/Gui/SelectionObject.cpp b/src/Gui/SelectionObject.cpp index 2707dac1a1..f705397b18 100644 --- a/src/Gui/SelectionObject.cpp +++ b/src/Gui/SelectionObject.cpp @@ -40,9 +40,7 @@ using namespace Gui; TYPESYSTEM_SOURCE_ABSTRACT(Gui::SelectionObject, Base::BaseClass) -SelectionObject::SelectionObject() -{ -} +SelectionObject::SelectionObject() = default; SelectionObject::SelectionObject(const Gui::SelectionChanges& msg) { @@ -62,9 +60,7 @@ SelectionObject::SelectionObject(App::DocumentObject* obj) TypeName = obj->getTypeId().getName(); } -SelectionObject::~SelectionObject() -{ -} +SelectionObject::~SelectionObject() = default; const App::DocumentObject * SelectionObject::getObject() const { @@ -96,8 +92,8 @@ std::string SelectionObject::getAsPropertyLinkSubString()const { std::ostringstream str; str << "(" << Gui::Command::getObjectCmd(getObject()) << ",["; - for(std::vector::const_iterator it = SubNames.begin();it!=SubNames.end();++it) - str << "'" << *it << "',"; + for(const auto & it : SubNames) + str << "'" << it << "',"; str << "])"; return str.str(); } diff --git a/src/Gui/SelectionObjectPyImp.cpp b/src/Gui/SelectionObjectPyImp.cpp index 085093214b..27b82372ca 100644 --- a/src/Gui/SelectionObjectPyImp.cpp +++ b/src/Gui/SelectionObjectPyImp.cpp @@ -70,7 +70,7 @@ PyObject* SelectionObjectPy::isObjectTypeOf(PyObject * args) Py::String SelectionObjectPy::getObjectName() const { - return Py::String(getSelectionObjectPtr()->getFeatName()); + return {getSelectionObjectPtr()->getFeatName()}; } Py::Tuple SelectionObjectPy::getSubElementNames() const @@ -87,17 +87,17 @@ Py::Tuple SelectionObjectPy::getSubElementNames() const Py::String SelectionObjectPy::getFullName() const { - return Py::String(getSelectionObjectPtr()->getAsPropertyLinkSubString()); + return {getSelectionObjectPtr()->getAsPropertyLinkSubString()}; } Py::String SelectionObjectPy::getTypeName() const { - return Py::String(getSelectionObjectPtr()->getTypeName()); + return {getSelectionObjectPtr()->getTypeName()}; } Py::String SelectionObjectPy::getDocumentName() const { - return Py::String(getSelectionObjectPtr()->getDocName()); + return {getSelectionObjectPtr()->getDocName()}; } Py::Object SelectionObjectPy::getDocument() const @@ -142,7 +142,7 @@ Py::Tuple SelectionObjectPy::getSubObjects() const Py::Boolean SelectionObjectPy::getHasSubObjects() const { - return Py::Boolean(getSelectionObjectPtr()->hasSubNames()); + return {getSelectionObjectPtr()->hasSubNames()}; } Py::Tuple SelectionObjectPy::getPickedPoints() const diff --git a/src/Gui/SelectionObserverPython.cpp b/src/Gui/SelectionObserverPython.cpp index d46d36863d..e1f670df28 100644 --- a/src/Gui/SelectionObserverPython.cpp +++ b/src/Gui/SelectionObserverPython.cpp @@ -40,9 +40,7 @@ SelectionObserverPython::SelectionObserverPython(const Py::Object& obj, ResolveM FC_PY_SEL_OBSERVER } -SelectionObserverPython::~SelectionObserverPython() -{ -} +SelectionObserverPython::~SelectionObserverPython() = default; void SelectionObserverPython::addObserver(const Py::Object& obj, ResolveMode resolve) { diff --git a/src/Gui/SelectionView.cpp b/src/Gui/SelectionView.cpp index ce592d3658..7cedfe0314 100644 --- a/src/Gui/SelectionView.cpp +++ b/src/Gui/SelectionView.cpp @@ -111,9 +111,7 @@ SelectionView::SelectionView(Gui::Document* pcDocument, QWidget *parent) connect(enablePickList, &QCheckBox::stateChanged, this, &SelectionView::onEnablePickList); } -SelectionView::~SelectionView() -{ -} +SelectionView::~SelectionView() = default; void SelectionView::leaveEvent(QEvent *) { @@ -202,21 +200,21 @@ void SelectionView::onSelectionChanged(const SelectionChanges &Reason) // remove all items selectionView->clear(); std::vector objs = Gui::Selection().getSelection(Reason.pDocName, ResolveMode::NoResolve); - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { + for (const auto & it : objs) { // save as user data QStringList list; - list << QString::fromLatin1(it->DocName); - list << QString::fromLatin1(it->FeatName); + list << QString::fromLatin1(it.DocName); + list << QString::fromLatin1(it.FeatName); // build name - str << it->DocName; + str << it.DocName; str << "#"; - str << it->FeatName; - App::Document* doc = App::GetApplication().getDocument(it->DocName); - App::DocumentObject* obj = doc->getObject(it->FeatName); - if (it->SubName && it->SubName[0] != '\0') { + str << it.FeatName; + App::Document* doc = App::GetApplication().getDocument(it.DocName); + App::DocumentObject* obj = doc->getObject(it.FeatName); + if (it.SubName && it.SubName[0] != '\0') { str << "."; - str << it->SubName; + str << it.SubName; auto subObj = obj->getSubObject(Reason.pSubName); if(subObj) obj = subObj; @@ -280,20 +278,20 @@ void SelectionView::search(const QString& text) if (doc) { objects = doc->getObjects(); selectionView->clear(); - for (std::vector::iterator it = objects.begin(); it != objects.end(); ++it) { - QString label = QString::fromUtf8((*it)->Label.getValue()); + for (auto it : objects) { + QString label = QString::fromUtf8(it->Label.getValue()); if (label.contains(text,Qt::CaseInsensitive)) { - searchList.push_back(*it); + searchList.push_back(it); // save as user data QString selObject; QTextStream str(&selObject); QStringList list; list << QString::fromLatin1(doc->getName()); - list << QString::fromLatin1((*it)->getNameInDocument()); + list << QString::fromLatin1(it->getNameInDocument()); // build name str << QString::fromUtf8(doc->Label.getValue()); str << "#"; - str << (*it)->getNameInDocument(); + str << it->getNameInDocument(); str << " ("; str << label; str << ")"; @@ -312,8 +310,8 @@ void SelectionView::validateSearch() App::Document* doc = App::GetApplication().getActiveDocument(); if (doc) { Gui::Selection().clearSelection(); - for (std::vector::iterator it = searchList.begin(); it != searchList.end(); ++it) { - Gui::Selection().addSelection(doc->getName(),(*it)->getNameInDocument(),nullptr); + for (auto it : searchList) { + Gui::Selection().addSelection(doc->getName(),it->getNameInDocument(),nullptr); } } } diff --git a/src/Gui/SoAxisCrossKit.cpp b/src/Gui/SoAxisCrossKit.cpp index 930363f8a2..4c637e40af 100644 --- a/src/Gui/SoAxisCrossKit.cpp +++ b/src/Gui/SoAxisCrossKit.cpp @@ -77,9 +77,7 @@ SoShapeScale::SoShapeScale() } // Destructor. -SoShapeScale::~SoShapeScale() -{ -} +SoShapeScale::~SoShapeScale() = default; void SoShapeScale::initClass() @@ -146,9 +144,7 @@ SoAxisCrossKit::SoAxisCrossKit() createAxes(); } -SoAxisCrossKit::~SoAxisCrossKit() -{ -} +SoAxisCrossKit::~SoAxisCrossKit() = default; // This kit is made up entirely of SoShapeKits. // Since SoShapeKits do not affect state, neither does this. diff --git a/src/Gui/SoDatumLabel.cpp b/src/Gui/SoDatumLabel.cpp index a2cde08acd..86388aaf87 100644 --- a/src/Gui/SoDatumLabel.cpp +++ b/src/Gui/SoDatumLabel.cpp @@ -664,11 +664,11 @@ void SoDatumLabel::GLRender(SoGLRenderAction * action) corners.push_back(textOffset - dir * (this->imgWidth / 2 + margin) - normal * margin); float minX = p1[0], minY = p1[1], maxX = p1[0] , maxY = p1[1]; - for (std::vector::const_iterator it=corners.begin(); it != corners.end(); ++it) { - minX = ((*it)[0] < minX) ? (*it)[0] : minX; - minY = ((*it)[1] < minY) ? (*it)[1] : minY; - maxX = ((*it)[0] > maxX) ? (*it)[0] : maxX; - maxY = ((*it)[1] > maxY) ? (*it)[1] : maxY; + for (SbVec3f it : corners) { + minX = (it[0] < minX) ? it[0] : minX; + minY = (it[1] < minY) ? it[1] : minY; + maxX = (it[0] > maxX) ? it[0] : maxX; + maxY = (it[1] > maxY) ? it[1] : maxY; } //Store the bounding box this->bbox.setBounds(SbVec3f(minX, minY, 0.f), SbVec3f (maxX, maxY, 0.f)); @@ -750,11 +750,11 @@ void SoDatumLabel::GLRender(SoGLRenderAction * action) corners.push_back(pnt2); float minX = p1[0], minY = p1[1], maxX = p1[0] , maxY = p1[1]; - for (std::vector::const_iterator it=corners.begin(); it != corners.end(); ++it) { - minX = ((*it)[0] < minX) ? (*it)[0] : minX; - minY = ((*it)[1] < minY) ? (*it)[1] : minY; - maxX = ((*it)[0] > maxX) ? (*it)[0] : maxX; - maxY = ((*it)[1] > maxY) ? (*it)[1] : maxY; + for (SbVec3f it : corners) { + minX = (it[0] < minX) ? it[0] : minX; + minY = (it[1] < minY) ? it[1] : minY; + maxX = (it[0] > maxX) ? it[0] : maxX; + maxY = (it[1] > maxY) ? it[1] : maxY; } //Store the bounding box this->bbox.setBounds(SbVec3f(minX, minY, 0.f), SbVec3f (maxX, maxY, 0.f)); @@ -852,11 +852,11 @@ void SoDatumLabel::GLRender(SoGLRenderAction * action) corners.push_back(img4); float minX = pnt1[0], minY = pnt1[1], maxX = pnt1[0] , maxY = pnt1[1]; - for (std::vector::const_iterator it=corners.begin(); it != corners.end(); ++it) { - minX = ((*it)[0] < minX) ? (*it)[0] : minX; - minY = ((*it)[1] < minY) ? (*it)[1] : minY; - maxX = ((*it)[0] > maxX) ? (*it)[0] : maxX; - maxY = ((*it)[1] > maxY) ? (*it)[1] : maxY; + for (SbVec3f it : corners) { + minX = (it[0] < minX) ? it[0] : minX; + minY = (it[1] < minY) ? it[1] : minY; + maxX = (it[0] > maxX) ? it[0] : maxX; + maxY = (it[1] > maxY) ? it[1] : maxY; } //Store the bounding box this->bbox.setBounds(SbVec3f(minX, minY, 0.f), SbVec3f (maxX, maxY, 0.f)); @@ -910,11 +910,11 @@ void SoDatumLabel::GLRender(SoGLRenderAction * action) corners.push_back(p2); float minX = p1[0], minY = p1[1], maxX = p1[0] , maxY = p1[1]; - for (std::vector::iterator it=corners.begin(); it != corners.end(); ++it) { - minX = ((*it)[0] < minX) ? (*it)[0] : minX; - minY = ((*it)[1] < minY) ? (*it)[1] : minY; - maxX = ((*it)[0] > maxX) ? (*it)[0] : maxX; - maxY = ((*it)[1] > maxY) ? (*it)[1] : maxY; + for (SbVec3f it : corners) { + minX = (it[0] < minX) ? it[0] : minX; + minY = (it[1] < minY) ? it[1] : minY; + maxX = (it[0] > maxX) ? it[0] : maxX; + maxY = (it[1] > maxY) ? it[1] : maxY; } //Store the bounding box this->bbox.setBounds(SbVec3f(minX, minY, 0.f), SbVec3f (maxX, maxY, 0.f)); @@ -1029,4 +1029,4 @@ void SoDatumLabel::setPoints(SbVec3f p1, SbVec3f p2) verts[0] = p1; verts[1] = p2; pnts.finishEditing(); -} \ No newline at end of file +} diff --git a/src/Gui/SoDatumLabel.h b/src/Gui/SoDatumLabel.h index 183076ec0d..5ae2621cda 100644 --- a/src/Gui/SoDatumLabel.h +++ b/src/Gui/SoDatumLabel.h @@ -79,7 +79,7 @@ public: bool useAntialiasing; protected: - ~SoDatumLabel() override {} + ~SoDatumLabel() override = default; void GLRender(SoGLRenderAction *action) override; void computeBBox(SoAction *, SbBox3f &box, SbVec3f ¢er) override; void generatePrimitives(SoAction * action) override; diff --git a/src/Gui/SoFCBackgroundGradient.cpp b/src/Gui/SoFCBackgroundGradient.cpp index 4011d1bfad..653b8bbc24 100644 --- a/src/Gui/SoFCBackgroundGradient.cpp +++ b/src/Gui/SoFCBackgroundGradient.cpp @@ -72,9 +72,7 @@ SoFCBackgroundGradient::SoFCBackgroundGradient() /*! Destructor. */ -SoFCBackgroundGradient::~SoFCBackgroundGradient() -{ -} +SoFCBackgroundGradient::~SoFCBackgroundGradient() = default; // doc from parent void SoFCBackgroundGradient::initClass() diff --git a/src/Gui/SoFCBoundingBox.cpp b/src/Gui/SoFCBoundingBox.cpp index 65624d34bc..3f4c38cb83 100644 --- a/src/Gui/SoFCBoundingBox.cpp +++ b/src/Gui/SoFCBoundingBox.cpp @@ -251,9 +251,7 @@ SoSkipBoundingGroup::SoSkipBoundingGroup() /*! Destructor. */ -SoSkipBoundingGroup::~SoSkipBoundingGroup() -{ -} +SoSkipBoundingGroup::~SoSkipBoundingGroup() = default; void SoSkipBoundingGroup::initClass() diff --git a/src/Gui/SoFCCSysDragger.cpp b/src/Gui/SoFCCSysDragger.cpp index 05874a701c..038d09f22f 100644 --- a/src/Gui/SoFCCSysDragger.cpp +++ b/src/Gui/SoFCCSysDragger.cpp @@ -661,8 +661,7 @@ void SoFCCSysDragger::initClass() } SoFCCSysDragger::SoFCCSysDragger() - :axisScale(1.0f,1.0f,1.0f) - ,scaleInited(false) + : axisScale(1.0f,1.0f,1.0f) { SO_KIT_CONSTRUCTOR(SoFCCSysDragger); diff --git a/src/Gui/SoFCCSysDragger.h b/src/Gui/SoFCCSysDragger.h index 91aa418d68..66272cc916 100644 --- a/src/Gui/SoFCCSysDragger.h +++ b/src/Gui/SoFCCSysDragger.h @@ -264,7 +264,7 @@ private: // auto scale. SbVec3f axisScale; - bool scaleInited; + bool scaleInited{false}; void updateAxisScale(); diff --git a/src/Gui/SoFCColorBar.cpp b/src/Gui/SoFCColorBar.cpp index 71e9c19497..64a12ae90a 100644 --- a/src/Gui/SoFCColorBar.cpp +++ b/src/Gui/SoFCColorBar.cpp @@ -46,7 +46,7 @@ SO_NODE_ABSTRACT_SOURCE(SoFCColorBarBase) /*! Constructor. */ -SoFCColorBarBase::SoFCColorBarBase() : _boxWidth(-1.0f), _windowSize(0,0) +SoFCColorBarBase::SoFCColorBarBase() : _windowSize(0,0) { SO_NODE_CONSTRUCTOR(SoFCColorBarBase); } @@ -54,10 +54,7 @@ SoFCColorBarBase::SoFCColorBarBase() : _boxWidth(-1.0f), _windowSize(0,0) /*! Destructor. */ -SoFCColorBarBase::~SoFCColorBarBase() -{ - //delete THIS; -} +SoFCColorBarBase::~SoFCColorBarBase() = default; // doc from parent void SoFCColorBarBase::initClass() @@ -157,9 +154,9 @@ namespace Gui { class SoFCColorBarProxyObject : public QObject { public: - SoFCColorBarProxyObject(SoFCColorBar* b) + explicit SoFCColorBarProxyObject(SoFCColorBar* b) : QObject(nullptr), bar(b) {} - ~SoFCColorBarProxyObject() override {} + ~SoFCColorBarProxyObject() override = default; void customEvent(QEvent *) override { bar->customize(bar->getActiveBar()); @@ -190,18 +187,15 @@ SoFCColorBar::SoFCColorBar() _colorBars.push_back( new SoFCColorGradient ); _colorBars.push_back( new SoFCColorLegend ); - for (std::vector::const_iterator it = _colorBars.begin(); it != _colorBars.end(); ++it) - pColorMode->addChild( *it ); + for (auto it : _colorBars) + pColorMode->addChild(it); pColorMode->whichChild = 0; } /*! Destructor. */ -SoFCColorBar::~SoFCColorBar() -{ - //delete THIS; -} +SoFCColorBar::~SoFCColorBar() = default; // doc from parent void SoFCColorBar::initClass() @@ -227,14 +221,14 @@ void SoFCColorBar::setViewportSize( const SbVec2s& size ) void SoFCColorBar::setRange( float fMin, float fMax, int prec ) { - for (std::vector::const_iterator it = _colorBars.begin(); it != _colorBars.end(); ++it) - (*it)->setRange(fMin, fMax, prec); + for (auto it : _colorBars) + it->setRange(fMin, fMax, prec); } void SoFCColorBar::setOutsideGrayed (bool bVal) { - for (std::vector::const_iterator it = _colorBars.begin(); it != _colorBars.end(); ++it) - (*it)->setOutsideGrayed(bVal); + for (auto it : _colorBars) + it->setOutsideGrayed(bVal); } bool SoFCColorBar::isVisible (float fVal) const @@ -318,10 +312,10 @@ void SoFCColorBar::handleEvent (SoHandleEventAction *action) SoFCColorBarBase* current = getActiveBar(); QMenu menu; int i=0; - for (std::vector::const_iterator it = _colorBars.begin(); it != _colorBars.end(); ++it) { - QAction* item = menu.addAction(QObject::tr((*it)->getColorBarName())); + for (auto it : _colorBars) { + QAction* item = menu.addAction(QObject::tr(it->getColorBarName())); item->setCheckable(true); - item->setChecked((*it) == current); + item->setChecked(it == current); item->setData(QVariant(i++)); } diff --git a/src/Gui/SoFCColorBar.h b/src/Gui/SoFCColorBar.h index 6f597c7ec1..5ad7acadfc 100644 --- a/src/Gui/SoFCColorBar.h +++ b/src/Gui/SoFCColorBar.h @@ -138,7 +138,7 @@ protected: ~SoFCColorBarBase () override; private: - float _boxWidth; + float _boxWidth{-1.0F}; SbVec2s _windowSize; }; diff --git a/src/Gui/SoFCColorGradient.cpp b/src/Gui/SoFCColorGradient.cpp index e32553acbe..ae36f585b4 100644 --- a/src/Gui/SoFCColorGradient.cpp +++ b/src/Gui/SoFCColorGradient.cpp @@ -50,7 +50,7 @@ SO_NODE_SOURCE(SoFCColorGradient) /*! Constructor. */ -SoFCColorGradient::SoFCColorGradient() : _bbox(5.0f, -4.0f, 5.5f, 4.0f), _precision(3) +SoFCColorGradient::SoFCColorGradient() : _bbox(5.0f, -4.0f, 5.5f, 4.0f) { SO_NODE_CONSTRUCTOR(SoFCColorGradient); coords = new SoCoordinate3; diff --git a/src/Gui/SoFCColorGradient.h b/src/Gui/SoFCColorGradient.h index 7fd6b42815..478668a326 100644 --- a/src/Gui/SoFCColorGradient.h +++ b/src/Gui/SoFCColorGradient.h @@ -103,7 +103,7 @@ private: SoCoordinate3* coords; SoSeparator* labels; SbBox2f _bbox; - int _precision; + int _precision{3}; App::ColorGradient _cColGrad; }; diff --git a/src/Gui/SoFCInteractiveElement.cpp b/src/Gui/SoFCInteractiveElement.cpp index 364d1b0de8..497ddd62dc 100644 --- a/src/Gui/SoFCInteractiveElement.cpp +++ b/src/Gui/SoFCInteractiveElement.cpp @@ -43,9 +43,7 @@ void SoFCInteractiveElement::init(SoState * /*state*/) this->interactiveMode = false; } -SoFCInteractiveElement::~SoFCInteractiveElement() -{ -} +SoFCInteractiveElement::~SoFCInteractiveElement() = default; void SoFCInteractiveElement::set(SoState * const state, SoNode * const node, SbBool mode) { @@ -86,9 +84,7 @@ void SoGLWidgetElement::init(SoState * state) this->window = nullptr; } -SoGLWidgetElement::~SoGLWidgetElement() -{ -} +SoGLWidgetElement::~SoGLWidgetElement() = default; void SoGLWidgetElement::set(SoState * state, QtGLWidget * window) { @@ -141,9 +137,7 @@ void SoGLRenderActionElement::init(SoState * state) this->glRenderAction = nullptr; } -SoGLRenderActionElement::~SoGLRenderActionElement() -{ -} +SoGLRenderActionElement::~SoGLRenderActionElement() = default; void SoGLRenderActionElement::set(SoState * state, SoGLRenderAction * action) { @@ -186,7 +180,7 @@ SO_NODE_SOURCE(SoGLWidgetNode) /*! Constructor. */ -SoGLWidgetNode::SoGLWidgetNode() : window(nullptr) +SoGLWidgetNode::SoGLWidgetNode() { SO_NODE_CONSTRUCTOR(SoGLWidgetNode); } @@ -194,9 +188,7 @@ SoGLWidgetNode::SoGLWidgetNode() : window(nullptr) /*! Destructor. */ -SoGLWidgetNode::~SoGLWidgetNode() -{ -} +SoGLWidgetNode::~SoGLWidgetNode() = default; // Doc from superclass. void SoGLWidgetNode::initClass() @@ -235,9 +227,7 @@ void SoGLVBOActivatedElement::init(SoState * state) this->active = false; } -SoGLVBOActivatedElement::~SoGLVBOActivatedElement() -{ -} +SoGLVBOActivatedElement::~SoGLVBOActivatedElement() = default; void SoGLVBOActivatedElement::set(SoState * state, SbBool active) { diff --git a/src/Gui/SoFCInteractiveElement.h b/src/Gui/SoFCInteractiveElement.h index d8ad66def7..41eb54ca37 100644 --- a/src/Gui/SoFCInteractiveElement.h +++ b/src/Gui/SoFCInteractiveElement.h @@ -117,7 +117,7 @@ public: static void initClass(); SoGLWidgetNode(); - QtGLWidget * window; + QtGLWidget * window{nullptr}; void doAction(SoAction * action) override; void GLRender(SoGLRenderAction * action) override; diff --git a/src/Gui/SoFCOffscreenRenderer.cpp b/src/Gui/SoFCOffscreenRenderer.cpp index edf07964e6..e464b29b66 100644 --- a/src/Gui/SoFCOffscreenRenderer.cpp +++ b/src/Gui/SoFCOffscreenRenderer.cpp @@ -83,9 +83,7 @@ SoFCOffscreenRenderer::SoFCOffscreenRenderer (SoGLRenderAction *action) { } -SoFCOffscreenRenderer::~SoFCOffscreenRenderer() -{ -} +SoFCOffscreenRenderer::~SoFCOffscreenRenderer() = default; void SoFCOffscreenRenderer::writeToImage (QImage& img) const { @@ -140,9 +138,9 @@ void SoFCOffscreenRenderer::writeToImageFile(const char* filename, const char* c bool supported = false; QByteArray format; QList qtformats = QImageWriter::supportedImageFormats(); - for (QList::Iterator it = qtformats.begin(); it != qtformats.end(); ++it) { - if (file.hasExtension((*it).data())) { - format = *it; + for (const auto & it : qtformats) { + if (file.hasExtension(it.data())) { + format = it; supported = true; break; } @@ -243,10 +241,10 @@ QStringList SoFCOffscreenRenderer::getWriteImageFiletypeInfo() // add now all further QImage formats QList qtformats = QImageWriter::supportedImageFormats(); - for (QList::Iterator it = qtformats.begin(); it != qtformats.end(); ++it) { + for (const auto & it : qtformats) { // not supported? then append - if (!isWriteSupported((*it).data()) && formats.indexOf(QLatin1String(*it)) == -1) - formats << QLatin1String(*it); + if (!isWriteSupported(it.data()) && formats.indexOf(QLatin1String(it)) == -1) + formats << QLatin1String(it); } // now add PostScript and SGI RGB @@ -740,8 +738,8 @@ QStringList SoQtOffscreenRenderer::getWriteImageFiletypeInfo() const QList qtformats = QImageWriter::supportedImageFormats(); QStringList formats; - for (QList::Iterator it = qtformats.begin(); it != qtformats.end(); ++it) { - formats << QLatin1String(*it); + for (const auto & it : qtformats) { + formats << QLatin1String(it); } formats.sort(); return formats; @@ -749,180 +747,3 @@ QStringList SoQtOffscreenRenderer::getWriteImageFiletypeInfo() const #undef PRIVATE #undef PUBLIC - -// --------------------------------------------------------------- - -void SoQtOffscreenRendererPy::init_type() -{ - behaviors().name("SoQtOffscreenRenderer"); - behaviors().doc("Python interface for SoQtOffscreenRenderer"); - behaviors().set_tp_new(PyMake); - - // you must have overwritten the virtual functions - behaviors().supportRepr(); - behaviors().supportGetattr(); - behaviors().supportSetattr(); - behaviors().readyType(); - - add_varargs_method("setViewportRegion",&SoQtOffscreenRendererPy::setViewportRegion,"setViewportRegion(int, int)"); - add_varargs_method("getViewportRegion",&SoQtOffscreenRendererPy::getViewportRegion,"getViewportRegion() -> tuple"); - add_varargs_method("setBackgroundColor",&SoQtOffscreenRendererPy::setBackgroundColor,"setBackgroundColor(float, float, float, [float])"); - add_varargs_method("getBackgroundColor",&SoQtOffscreenRendererPy::getBackgroundColor,"getBackgroundColor() -> tuple"); - add_varargs_method("setNumPasses",&SoQtOffscreenRendererPy::setNumPasses,"setNumPasses(int)"); - add_varargs_method("getNumPasses",&SoQtOffscreenRendererPy::getNumPasses,"getNumPasses() -> int"); - add_varargs_method("setInternalTextureFormat",&SoQtOffscreenRendererPy::setInternalTextureFormat,"setInternalTextureFormat(int)"); - add_varargs_method("getInternalTextureFormat",&SoQtOffscreenRendererPy::getInternalTextureFormat,"getInternalTextureFormat() -> int"); - add_varargs_method("render",&SoQtOffscreenRendererPy::render,"render(node)"); - add_varargs_method("writeToImage",&SoQtOffscreenRendererPy::writeToImage,"writeToImage(string)"); - add_varargs_method("getWriteImageFiletypeInfo",&SoQtOffscreenRendererPy::getWriteImageFiletypeInfo,"getWriteImageFiletypeInfo() -> tuple"); -} - -PyObject *SoQtOffscreenRendererPy::PyMake(struct _typeobject * /*type*/, PyObject * args, PyObject * /*kwds*/) -{ - short w, h; - if (!PyArg_ParseTuple(args, "hh", &w, &h)) - return nullptr; - - return new SoQtOffscreenRendererPy(SbViewportRegion(w, h)); -} - -SoQtOffscreenRendererPy::SoQtOffscreenRendererPy(const SbViewportRegion& vpr) - : renderer(vpr) -{ -} - -SoQtOffscreenRendererPy::~SoQtOffscreenRendererPy() -{ -} - -Py::Object SoQtOffscreenRendererPy::repr() -{ - std::stringstream s; - s << ""; - return Py::String(s.str()); -} - -Py::Object SoQtOffscreenRendererPy::setViewportRegion(const Py::Tuple& args) -{ - short w, h; - if (!PyArg_ParseTuple(args.ptr(), "hh", &w, &h)) - throw Py::Exception(); - - renderer.setViewportRegion(SbViewportRegion(w, h)); - return Py::None(); -} - -Py::Object SoQtOffscreenRendererPy::getViewportRegion(const Py::Tuple& args) -{ - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - - const SbViewportRegion& vpr = renderer.getViewportRegion(); - SbVec2s size = vpr.getWindowSize(); - return Py::TupleN(Py::Long(size[0]), Py::Long(size[1])); -} - -Py::Object SoQtOffscreenRendererPy::setBackgroundColor(const Py::Tuple& args) -{ - float r, g, b, a = 1.0f; - if (!PyArg_ParseTuple(args.ptr(), "fff|f", &r, &g, &b, &a)) - throw Py::Exception(); - - renderer.setBackgroundColor(SbColor4f(r, g, b, a)); - return Py::None(); -} - -Py::Object SoQtOffscreenRendererPy::getBackgroundColor(const Py::Tuple& args) -{ - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - - SbColor4f color = renderer.getBackgroundColor(); - return Py::TupleN(Py::Float(color[0]), Py::Float(color[1]), Py::Float(color[2]), Py::Float(color[3])); -} - -Py::Object SoQtOffscreenRendererPy::setNumPasses(const Py::Tuple& args) -{ - int num; - if (!PyArg_ParseTuple(args.ptr(), "i", &num)) - throw Py::Exception(); - - renderer.setNumPasses(num); - return Py::None(); -} - -Py::Object SoQtOffscreenRendererPy::getNumPasses(const Py::Tuple& args) -{ - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - - int num = renderer.getNumPasses(); - return Py::Long(num); -} - -Py::Object SoQtOffscreenRendererPy::setInternalTextureFormat(const Py::Tuple& args) -{ - unsigned int format; - if (!PyArg_ParseTuple(args.ptr(), "I", &format)) - throw Py::Exception(); - - renderer.setInternalTextureFormat(format); - return Py::None(); -} - -Py::Object SoQtOffscreenRendererPy::getInternalTextureFormat(const Py::Tuple& args) -{ - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - - unsigned long format = renderer.internalTextureFormat(); - return Py::Long(format); -} - -Py::Object SoQtOffscreenRendererPy::render(const Py::Tuple& args) -{ - PyObject* proxy; - if (!PyArg_ParseTuple(args.ptr(), "O", &proxy)) - throw Py::Exception(); - - try { - void* ptr = nullptr; - Base::Interpreter().convertSWIGPointerObj("pivy.coin", "SoNode *", proxy, &ptr, 0); - auto node = static_cast(ptr); - bool ok = false; - if (node) { - ok = renderer.render(node); - } - return Py::Boolean(ok); - } - catch (const Base::Exception& e) { - e.setPyException(); - throw Py::Exception(); - } -} - -Py::Object SoQtOffscreenRendererPy::writeToImage(const Py::Tuple& args) -{ - const char* filename; - if (!PyArg_ParseTuple(args.ptr(), "s", &filename)) - throw Py::Exception(); - - QImage img; - renderer.writeToImage(img); - img.save(QString::fromUtf8(filename)); - return Py::None(); -} - -Py::Object SoQtOffscreenRendererPy::getWriteImageFiletypeInfo(const Py::Tuple& args) -{ - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - - QStringList list = renderer.getWriteImageFiletypeInfo(); - Py::Tuple tuple(list.size()); - for (int i = 0; i < list.size(); i++) { - tuple.setItem(i, Py::String(list[i].toStdString())); - } - - return tuple; -} diff --git a/src/Gui/SoFCOffscreenRenderer.h b/src/Gui/SoFCOffscreenRenderer.h index f8c0ff99f1..f72176b1a2 100644 --- a/src/Gui/SoFCOffscreenRenderer.h +++ b/src/Gui/SoFCOffscreenRenderer.h @@ -31,7 +31,7 @@ #include #include -#include +#include namespace Gui { @@ -50,9 +50,10 @@ public: */ static SoFCOffscreenRenderer& instance(); + SoFCOffscreenRenderer(const SoFCOffscreenRenderer&) = delete; + SoFCOffscreenRenderer& operator=(const SoFCOffscreenRenderer&) = delete; + private: - SoFCOffscreenRenderer(const SoFCOffscreenRenderer&); - SoFCOffscreenRenderer& operator=(const SoFCOffscreenRenderer&); static SoFCOffscreenRenderer* inst; protected: @@ -148,40 +149,6 @@ private: QImage glImage; }; -class SoQtOffscreenRendererPy : public Py::PythonExtension -{ -public: - static void init_type(); - - explicit SoQtOffscreenRendererPy(const SbViewportRegion&); - ~SoQtOffscreenRendererPy() override; - - Py::Object repr() override; - - Py::Object setViewportRegion(const Py::Tuple&); - Py::Object getViewportRegion(const Py::Tuple&); - - Py::Object setBackgroundColor(const Py::Tuple&); - Py::Object getBackgroundColor(const Py::Tuple&); - - Py::Object setNumPasses(const Py::Tuple&); - Py::Object getNumPasses(const Py::Tuple&); - - Py::Object setInternalTextureFormat(const Py::Tuple&); - Py::Object getInternalTextureFormat(const Py::Tuple&); - - Py::Object render(const Py::Tuple&); - - Py::Object writeToImage(const Py::Tuple&); - Py::Object getWriteImageFiletypeInfo(const Py::Tuple&); - -private: - static PyObject *PyMake(struct _typeobject *, PyObject *, PyObject *); - -private: - SoQtOffscreenRenderer renderer; -}; - } // namespace Gui diff --git a/src/Gui/SoFCSelectionAction.cpp b/src/Gui/SoFCSelectionAction.cpp index 22b6a6eafb..14777bd78b 100644 --- a/src/Gui/SoFCSelectionAction.cpp +++ b/src/Gui/SoFCSelectionAction.cpp @@ -138,9 +138,7 @@ SoFCHighlightAction::SoFCHighlightAction (const SelectionChanges &SelCh) } -SoFCHighlightAction::~SoFCHighlightAction() -{ -} +SoFCHighlightAction::~SoFCHighlightAction() = default; void SoFCHighlightAction::beginTraversal(SoNode *node) @@ -224,9 +222,7 @@ SoFCSelectionAction::SoFCSelectionAction (const SelectionChanges &SelCh) } -SoFCSelectionAction::~SoFCSelectionAction() -{ -} +SoFCSelectionAction::~SoFCSelectionAction() = default; void SoFCSelectionAction::beginTraversal(SoNode *node) @@ -306,9 +302,7 @@ SoFCEnableSelectionAction::SoFCEnableSelectionAction (const SbBool& sel) } -SoFCEnableSelectionAction::~SoFCEnableSelectionAction() -{ -} +SoFCEnableSelectionAction::~SoFCEnableSelectionAction() = default; void SoFCEnableSelectionAction::beginTraversal(SoNode *node) @@ -388,9 +382,7 @@ SoFCEnableHighlightAction::SoFCEnableHighlightAction (const SbBool& sel) } -SoFCEnableHighlightAction::~SoFCEnableHighlightAction() -{ -} +SoFCEnableHighlightAction::~SoFCEnableHighlightAction() = default; void SoFCEnableHighlightAction::beginTraversal(SoNode *node) @@ -470,9 +462,7 @@ SoFCSelectionColorAction::SoFCSelectionColorAction (const SoSFColor& col) } -SoFCSelectionColorAction::~SoFCSelectionColorAction() -{ -} +SoFCSelectionColorAction::~SoFCSelectionColorAction() = default; void SoFCSelectionColorAction::beginTraversal(SoNode *node) @@ -552,9 +542,7 @@ SoFCHighlightColorAction::SoFCHighlightColorAction (const SoSFColor& col) } -SoFCHighlightColorAction::~SoFCHighlightColorAction() -{ -} +SoFCHighlightColorAction::~SoFCHighlightColorAction() = default; void SoFCHighlightColorAction::beginTraversal(SoNode *node) @@ -634,9 +622,7 @@ SoFCDocumentAction::SoFCDocumentAction (const SoSFString& docName) } -SoFCDocumentAction::~SoFCDocumentAction() -{ -} +SoFCDocumentAction::~SoFCDocumentAction() = default; void SoFCDocumentAction::beginTraversal(SoNode *node) @@ -706,14 +692,12 @@ void SoFCDocumentObjectAction::finish() atexit_cleanup(); } -SoFCDocumentObjectAction::SoFCDocumentObjectAction () : _handled(false) +SoFCDocumentObjectAction::SoFCDocumentObjectAction() { SO_ACTION_CONSTRUCTOR(SoFCDocumentObjectAction); } -SoFCDocumentObjectAction::~SoFCDocumentObjectAction() -{ -} +SoFCDocumentObjectAction::~SoFCDocumentObjectAction() = default; void SoFCDocumentObjectAction::beginTraversal(SoNode *node) { @@ -776,14 +760,12 @@ void SoGLSelectAction::initClass() SoGLSelectAction::SoGLSelectAction (const SbViewportRegion& region, const SbViewportRegion& select) - : vpregion(region), vpselect(select), _handled(false) + : vpregion(region), vpselect(select) { SO_ACTION_CONSTRUCTOR(SoGLSelectAction); } -SoGLSelectAction::~SoGLSelectAction() -{ -} +SoGLSelectAction::~SoGLSelectAction() = default; const SbViewportRegion& SoGLSelectAction::getViewportRegion () const { @@ -851,14 +833,12 @@ void SoVisibleFaceAction::initClass() SO_ACTION_ADD_METHOD(SoFCSelection,callDoAction); } -SoVisibleFaceAction::SoVisibleFaceAction () : _handled(false) +SoVisibleFaceAction::SoVisibleFaceAction () { SO_ACTION_CONSTRUCTOR(SoVisibleFaceAction); } -SoVisibleFaceAction::~SoVisibleFaceAction() -{ -} +SoVisibleFaceAction::~SoVisibleFaceAction() = default; void SoVisibleFaceAction::beginTraversal(SoNode *node) { @@ -926,9 +906,7 @@ SoUpdateVBOAction::SoUpdateVBOAction () SO_ACTION_CONSTRUCTOR(SoUpdateVBOAction); } -SoUpdateVBOAction::~SoUpdateVBOAction() -{ -} +SoUpdateVBOAction::~SoUpdateVBOAction() = default; void SoUpdateVBOAction::finish() { @@ -952,33 +930,21 @@ class SoBoxSelectionRenderActionP { public: SoBoxSelectionRenderActionP(SoBoxSelectionRenderAction * master) : master(master) - , searchaction(nullptr) - , selectsearch(nullptr) - , camerasearch(nullptr) - , bboxaction(nullptr) - , basecolor(nullptr) - , postprocpath(nullptr) - , highlightPath(nullptr) - , localRoot(nullptr) - , xform(nullptr) - , cube(nullptr) - , drawstyle(nullptr) { - } SoBoxSelectionRenderAction * master; - SoSearchAction * searchaction; - SoSearchAction * selectsearch; - SoSearchAction * camerasearch; - SoGetBoundingBoxAction * bboxaction; - SoBaseColor * basecolor; - SoTempPath * postprocpath; - SoPath * highlightPath; - SoSeparator * localRoot; - SoMatrixTransform * xform; - SoCube * cube; - SoDrawStyle * drawstyle; + SoSearchAction * searchaction{nullptr}; + SoSearchAction * selectsearch{nullptr}; + SoSearchAction * camerasearch{nullptr}; + SoGetBoundingBoxAction * bboxaction{nullptr}; + SoBaseColor * basecolor{nullptr}; + SoTempPath * postprocpath{nullptr}; + SoPath * highlightPath{nullptr}; + SoSeparator * localRoot{nullptr}; + SoMatrixTransform * xform{nullptr}; + SoCube * cube{nullptr}; + SoDrawStyle * drawstyle{nullptr}; SoColorPacker colorpacker; void initBoxGraph(); diff --git a/src/Gui/SoFCSelectionAction.h b/src/Gui/SoFCSelectionAction.h index 4661d3fd54..7576ca911a 100644 --- a/src/Gui/SoFCSelectionAction.h +++ b/src/Gui/SoFCSelectionAction.h @@ -243,7 +243,7 @@ public: SbString componentName; private: - SbBool _handled; + SbBool _handled{false}; }; /** @@ -276,7 +276,7 @@ public: private: const SbViewportRegion& vpregion; const SbViewportRegion& vpselect; - SbBool _handled; + SbBool _handled{false}; }; /** @@ -302,7 +302,7 @@ private: static void callDoAction(SoAction *action,SoNode *node); private: - SbBool _handled; + SbBool _handled{false}; }; class SoBoxSelectionRenderActionP; diff --git a/src/Gui/SoFCSelectionContext.cpp b/src/Gui/SoFCSelectionContext.cpp index bc474d7df8..63cf241841 100644 --- a/src/Gui/SoFCSelectionContext.cpp +++ b/src/Gui/SoFCSelectionContext.cpp @@ -72,7 +72,7 @@ bool SoFCSelectionContext::removeIndex(int index) { } int SoFCSelectionContext::merge(int status, SoFCSelectionContextBasePtr &output, - SoFCSelectionContextBasePtr input, SoFCSelectionRoot *) + SoFCSelectionContextBasePtr input, SoNode *) { auto ctx = std::dynamic_pointer_cast(input); if(!ctx) @@ -178,11 +178,13 @@ bool SoFCSelectionContextEx::isSingleColor(uint32_t &color, bool &hasTransparenc } int SoFCSelectionContextEx::merge(int status, SoFCSelectionContextBasePtr &output, - SoFCSelectionContextBasePtr input, SoFCSelectionRoot *node) + SoFCSelectionContextBasePtr input, SoNode *node) { auto ctx = std::dynamic_pointer_cast(input); + SoFCSelectionRoot* selectionNode = dynamic_cast(node); + if(!ctx) { - if(node && node->hasColorOverride()) { + if(selectionNode && selectionNode->hasColorOverride()) { if(!status) status = 2; else if(status == 1) @@ -225,7 +227,7 @@ int SoFCSelectionContextEx::merge(int status, SoFCSelectionContextBasePtr &outpu ret->colors.insert(v); } - if(node && node->hasColorOverride()) { + if(selectionNode && selectionNode->hasColorOverride()) { if(!status) status = 2; else if(status == 1) @@ -237,14 +239,10 @@ int SoFCSelectionContextEx::merge(int status, SoFCSelectionContextBasePtr &outpu /////////////////////////////////////////////////////////////////////// SoFCSelectionCounter::SoFCSelectionCounter() - :counter(std::make_shared(0)) - ,hasSelection(false) - ,hasPreselection(false) + : counter(std::make_shared(0)) {} - -SoFCSelectionCounter::~SoFCSelectionCounter() -{} +SoFCSelectionCounter::~SoFCSelectionCounter() = default; bool SoFCSelectionCounter::checkRenderCache(SoState *state) { diff --git a/src/Gui/SoFCSelectionContext.h b/src/Gui/SoFCSelectionContext.h index 68ee2d2720..1b669ac2a0 100644 --- a/src/Gui/SoFCSelectionContext.h +++ b/src/Gui/SoFCSelectionContext.h @@ -32,6 +32,7 @@ #include +class SoState; namespace Gui { @@ -40,11 +41,11 @@ struct SoFCSelectionContextBase; using SoFCSelectionContextBasePtr = std::shared_ptr; struct GuiExport SoFCSelectionContextBase { - virtual ~SoFCSelectionContextBase() {} + virtual ~SoFCSelectionContextBase() = default; using MergeFunc = int (int status, SoFCSelectionContextBasePtr &output, SoFCSelectionContextBasePtr input, - SoFCSelectionRoot *node); + SoNode *node); }; struct SoFCSelectionContext; @@ -131,8 +132,8 @@ public: void checkAction(SoSelectionElementAction *selaction, SoFCSelectionContextPtr ctx); protected: std::shared_ptr counter; - bool hasSelection; - bool hasPreselection; + bool hasSelection{false}; + bool hasPreselection{false}; static int cachingMode; }; diff --git a/src/Gui/SoFCUnifiedSelection.cpp b/src/Gui/SoFCUnifiedSelection.cpp index 2bc0581b17..95924f3bf5 100644 --- a/src/Gui/SoFCUnifiedSelection.cpp +++ b/src/Gui/SoFCUnifiedSelection.cpp @@ -102,7 +102,7 @@ SO_NODE_SOURCE(SoFCUnifiedSelection) /*! Constructor. */ -SoFCUnifiedSelection::SoFCUnifiedSelection() : pcDocument(nullptr) +SoFCUnifiedSelection::SoFCUnifiedSelection() { SO_NODE_CONSTRUCTOR(SoFCUnifiedSelection); @@ -794,14 +794,12 @@ void SoHighlightElementAction::initClass() SO_ACTION_ADD_METHOD(SoPointSet,callDoAction); } -SoHighlightElementAction::SoHighlightElementAction () : _highlight(false), _det(nullptr) +SoHighlightElementAction::SoHighlightElementAction () { SO_ACTION_CONSTRUCTOR(SoHighlightElementAction); } -SoHighlightElementAction::~SoHighlightElementAction() -{ -} +SoHighlightElementAction::~SoHighlightElementAction() = default; void SoHighlightElementAction::beginTraversal(SoNode *node) { @@ -865,14 +863,12 @@ void SoSelectionElementAction::initClass() } SoSelectionElementAction::SoSelectionElementAction (Type t, bool secondary) - : _type(t), _det(nullptr), _secondary(secondary) + : _type(t), _secondary(secondary) { SO_ACTION_CONSTRUCTOR(SoSelectionElementAction); } -SoSelectionElementAction::~SoSelectionElementAction() -{ -} +SoSelectionElementAction::~SoSelectionElementAction() = default; void SoSelectionElementAction::beginTraversal(SoNode *node) { @@ -937,14 +933,12 @@ void SoVRMLAction::initClass() SO_ACTION_ADD_METHOD(SoPointSet,callDoAction); } -SoVRMLAction::SoVRMLAction() : overrideMode(true) +SoVRMLAction::SoVRMLAction() { SO_ACTION_CONSTRUCTOR(SoVRMLAction); } -SoVRMLAction::~SoVRMLAction() -{ -} +SoVRMLAction::~SoVRMLAction() = default; void SoVRMLAction::setOverrideMode(SbBool on) { @@ -1082,9 +1076,7 @@ SoFCSelectionRoot::SoFCSelectionRoot(bool trackCacheMode) SO_NODE_SET_SF_ENUM_TYPE(selectionStyle, SelectStyles); } -SoFCSelectionRoot::~SoFCSelectionRoot() -{ -} +SoFCSelectionRoot::~SoFCSelectionRoot() = default; void SoFCSelectionRoot::initClass() { @@ -1114,31 +1106,36 @@ SoFCSelectionContextBasePtr SoFCSelectionRoot::getNodeContext( if(stack.empty()) return def; - SoFCSelectionRoot *front = stack.front(); + auto front = dynamic_cast(stack.front()); + if (front == nullptr) { + return SoFCSelectionContextBasePtr(); + } - // NOTE: _node is not necessary of type SoFCSelectionRoot, but it is safe - // here since we only use it as searching key, although it is probably not - // a best practice. - stack.front() = static_cast(node); + stack.front() = node; auto it = front->contextMap.find(stack); stack.front() = front; if(it!=front->contextMap.end()) return it->second; - return SoFCSelectionContextBasePtr(); + return {}; } SoFCSelectionContextBasePtr SoFCSelectionRoot::getNodeContext2(Stack &stack, SoNode *node, SoFCSelectionContextBase::MergeFunc *merge) { SoFCSelectionContextBasePtr ret; - if(stack.empty() || stack.back()->contextMap2.empty()) + if (stack.empty()) { return ret; + } + + auto *back = dynamic_cast(stack.back()); + if (back == nullptr || back->contextMap2.empty()) { + return ret; + } int status = 0; - auto *back = stack.back(); auto &map = back->contextMap2; - stack.back() = static_cast(node); + stack.back() = node; for(stack.offset=0;stack.offset SoFCSelectionRoot::findActionContex SoAction *action, SoNode *_node, bool create, bool erase) { std::pair res(false,0); + if(action->isOfType(SoSelectionElementAction::getClassTypeId())) res.first = static_cast(action)->isSecondary(); @@ -1166,36 +1164,38 @@ std::pair SoFCSelectionRoot::findActionContex auto &stack = it->second; - auto node = static_cast(_node); - if(res.first) { - auto back = stack.back(); - stack.back() = node; - if(create) - res.second = &back->contextMap2[stack]; - else { - auto it = back->contextMap2.find(stack); - if(it!=back->contextMap2.end()) { - res.second = &it->second; - if(erase) - back->contextMap2.erase(it); + auto back = dynamic_cast(stack.back()); + if (back != nullptr) { + stack.back() = _node; + if(create) + res.second = &back->contextMap2[stack]; + else { + auto it = back->contextMap2.find(stack); + if(it!=back->contextMap2.end()) { + res.second = &it->second; + if(erase) + back->contextMap2.erase(it); + } } + stack.back() = back; } - stack.back() = back; }else{ - auto front = stack.front(); - stack.front() = node; - if(create) - res.second = &front->contextMap[stack]; - else { - auto it = front->contextMap.find(stack); - if(it!=front->contextMap.end()) { - res.second = &it->second; - if(erase) - front->contextMap.erase(it); + auto front = dynamic_cast(stack.front()); + if (front != nullptr) { + stack.front() = _node; + if(create) + res.second = &front->contextMap[stack]; + else { + auto it = front->contextMap.find(stack); + if(it!=front->contextMap.end()) { + res.second = &it->second; + if(erase) + front->contextMap.erase(it); + } } + stack.front() = front; } - stack.front() = front; } return res; } @@ -1650,7 +1650,7 @@ bool SoFCSelectionRoot::doActionPrivate(Stack &stack, SoAction *action) { } int SoFCSelectionRoot::SelContext::merge(int status, SoFCSelectionContextBasePtr &output, - SoFCSelectionContextBasePtr input, SoFCSelectionRoot *) + SoFCSelectionContextBasePtr input, SoNode *) { auto ctx = std::dynamic_pointer_cast(input); if(ctx && ctx->hideAll) { @@ -1743,8 +1743,9 @@ void SoFCPathAnnotation::GLRenderBelowPath(SoGLRenderAction * action) for(int i=0,count=path->getLength();igetNode(i)->isOfType(SoFCSelectionRoot::getClassTypeId())) continue; - auto node = static_cast(path->getNode(i)); - if(node->selectionStyle.getValue()==SoFCSelectionRoot::Box) { + auto node = dynamic_cast(path->getNode(i)); + if (node != nullptr + && node->selectionStyle.getValue() == SoFCSelectionRoot::Box) { bbox = true; break; } diff --git a/src/Gui/SoFCUnifiedSelection.h b/src/Gui/SoFCUnifiedSelection.h index 06c4daadc0..c426c1907c 100644 --- a/src/Gui/SoFCUnifiedSelection.h +++ b/src/Gui/SoFCUnifiedSelection.h @@ -104,11 +104,9 @@ private: static int getPriority(const SoPickedPoint* p); struct PickedInfo { - const SoPickedPoint *pp; - ViewProviderDocumentObject *vpd; + const SoPickedPoint *pp{nullptr}; + ViewProviderDocumentObject *vpd{nullptr}; std::string element; - PickedInfo():pp(nullptr),vpd(nullptr) - {} }; bool setHighlight(const PickedInfo &); @@ -118,7 +116,7 @@ private: std::vector getPickedList(SoHandleEventAction* action, bool singlePick) const; - Gui::Document *pcDocument; + Gui::Document *pcDocument{nullptr}; static SoFullPath * currenthighlight; SoFullPath * detailPath; @@ -331,9 +329,9 @@ protected: void renderPrivate(SoGLRenderAction *, bool inPath); bool _renderPrivate(SoGLRenderAction *, bool inPath); - class Stack : public std::vector { + class Stack : public std::vector { public: - std::unordered_set nodeSet; + std::unordered_set nodeSet; size_t offset = 0; }; @@ -403,9 +401,9 @@ private: static void callDoAction(SoAction *action,SoNode *node); private: - SbBool _highlight; + SbBool _highlight{false}; SbColor _color; - const SoDetail* _det; + const SoDetail* _det{nullptr}; }; /** @@ -457,7 +455,7 @@ private: private: Type _type; SbColor _color; - const SoDetail* _det; + const SoDetail* _det{nullptr}; std::map _colors; bool _secondary; }; @@ -478,7 +476,7 @@ public: static void initClass(); private: - SbBool overrideMode; + SbBool overrideMode{true}; std::list bindList; static void callDoAction(SoAction *action,SoNode *node); diff --git a/src/Gui/SoFCVectorizeSVGAction.cpp b/src/Gui/SoFCVectorizeSVGAction.cpp index f3ca2a172b..449d858c32 100644 --- a/src/Gui/SoFCVectorizeSVGAction.cpp +++ b/src/Gui/SoFCVectorizeSVGAction.cpp @@ -137,9 +137,7 @@ public: // ---------------------------------------------------------------- -SoSVGVectorOutput::SoSVGVectorOutput() -{ -} +SoSVGVectorOutput::SoSVGVectorOutput() = default; SoSVGVectorOutput::~SoSVGVectorOutput() { @@ -378,10 +376,7 @@ void SoFCVectorizeSVGAction::initClass() SO_ACTION_INIT_CLASS(SoFCVectorizeSVGAction, SoVectorizeAction); } -SoFCVectorizeSVGAction::SoFCVectorizeSVGAction() : - m_backgroundState(true), - m_lineWidth(1.0), - m_usemm(false) +SoFCVectorizeSVGAction::SoFCVectorizeSVGAction() { SO_ACTION_CONSTRUCTOR(SoFCVectorizeSVGAction); this->setOutput(new SoSVGVectorOutput); diff --git a/src/Gui/SoFCVectorizeSVGAction.h b/src/Gui/SoFCVectorizeSVGAction.h index 6325b4e1c0..fdc3e6873d 100644 --- a/src/Gui/SoFCVectorizeSVGAction.h +++ b/src/Gui/SoFCVectorizeSVGAction.h @@ -78,9 +78,9 @@ protected: private: SoFCVectorizeSVGActionP* p; friend class SoFCVectorizeSVGActionP; - bool m_backgroundState; - double m_lineWidth; - bool m_usemm; + bool m_backgroundState{true}; + double m_lineWidth{1.0}; + bool m_usemm{false}; }; } // namespace Gui diff --git a/src/Gui/SoFCVectorizeU3DAction.cpp b/src/Gui/SoFCVectorizeU3DAction.cpp index 0e9f59afc0..0ae486ccb6 100644 --- a/src/Gui/SoFCVectorizeU3DAction.cpp +++ b/src/Gui/SoFCVectorizeU3DAction.cpp @@ -138,9 +138,7 @@ public: // ---------------------------------------------------------------- -SoU3DVectorOutput::SoU3DVectorOutput() -{ -} +SoU3DVectorOutput::SoU3DVectorOutput() = default; SoU3DVectorOutput::~SoU3DVectorOutput() { diff --git a/src/Gui/SoMouseWheelEvent.h b/src/Gui/SoMouseWheelEvent.h index 403f7be256..ddaefb56a2 100644 --- a/src/Gui/SoMouseWheelEvent.h +++ b/src/Gui/SoMouseWheelEvent.h @@ -45,7 +45,7 @@ public: //methods /// smaller values come from high-resolution devices like touchpads int getDelta() const {return delta;} void setDelta(int delta) {this->delta = delta;} - ~SoMouseWheelEvent() override {} + ~SoMouseWheelEvent() override = default; private: //data int delta; diff --git a/src/Gui/SoQtOffscreenRendererPy.cpp b/src/Gui/SoQtOffscreenRendererPy.cpp new file mode 100644 index 0000000000..552ca02059 --- /dev/null +++ b/src/Gui/SoQtOffscreenRendererPy.cpp @@ -0,0 +1,198 @@ +/*************************************************************************** + * Copyright (c) 2022 Werner Mayer * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#include "PreCompiled.h" +#include + +#include "SoQtOffscreenRendererPy.h" + + +using namespace Gui; + +SoQtOffscreenRendererPy::SoQtOffscreenRendererPy(Py::PythonClassInstance* self, Py::Tuple& args, Py::Dict& kwds) + : Py::PythonClass(self, args, kwds), renderer(SbViewportRegion()) +{ + this->setViewportRegion(args); +} + +SoQtOffscreenRendererPy::~SoQtOffscreenRendererPy() = default; + +Py::Object SoQtOffscreenRendererPy::repr() +{ + std::stringstream s; + s << ""; + return Py::String(s.str()); +} + +Py::Object SoQtOffscreenRendererPy::setViewportRegion(const Py::Tuple& args) +{ + short w, h; + if (!PyArg_ParseTuple(args.ptr(), "hh", &w, &h)) { + throw Py::Exception(); + } + + renderer.setViewportRegion(SbViewportRegion(w, h)); + return Py::None(); +} +PYCXX_VARARGS_METHOD_DECL(SoQtOffscreenRendererPy, setViewportRegion) + +Py::Object SoQtOffscreenRendererPy::getViewportRegion() +{ + const SbViewportRegion& vpr = renderer.getViewportRegion(); + SbVec2s size = vpr.getWindowSize(); + + return Py::TupleN(Py::Long(size[0]), Py::Long(size[1])); +} +PYCXX_NOARGS_METHOD_DECL(SoQtOffscreenRendererPy, getViewportRegion) + +Py::Object SoQtOffscreenRendererPy::setBackgroundColor(const Py::Tuple& args) +{ + float r, g, b, a = 1.0f; + if (!PyArg_ParseTuple(args.ptr(), "fff|f", &r, &g, &b, &a)) { + throw Py::Exception(); + } + + renderer.setBackgroundColor(SbColor4f(r, g, b, a)); + + return Py::None(); +} +PYCXX_VARARGS_METHOD_DECL(SoQtOffscreenRendererPy, setBackgroundColor) + +Py::Object SoQtOffscreenRendererPy::getBackgroundColor() +{ + SbColor4f color = renderer.getBackgroundColor(); + return Py::TupleN(Py::Float(color[0]), Py::Float(color[1]), Py::Float(color[2]), Py::Float(color[3])); +} +PYCXX_NOARGS_METHOD_DECL(SoQtOffscreenRendererPy, getBackgroundColor) + +Py::Object SoQtOffscreenRendererPy::setNumPasses(const Py::Tuple& args) +{ + int num; + if (!PyArg_ParseTuple(args.ptr(), "i", &num)) { + throw Py::Exception(); + } + + renderer.setNumPasses(num); + + return Py::None(); +} +PYCXX_VARARGS_METHOD_DECL(SoQtOffscreenRendererPy, setNumPasses) + +Py::Object SoQtOffscreenRendererPy::getNumPasses() +{ + return Py::Long(renderer.getNumPasses()); +} +PYCXX_NOARGS_METHOD_DECL(SoQtOffscreenRendererPy, getNumPasses) + +Py::Object SoQtOffscreenRendererPy::setInternalTextureFormat(const Py::Tuple& args) +{ + unsigned int format; + if (!PyArg_ParseTuple(args.ptr(), "I", &format)) { + throw Py::Exception(); + } + + renderer.setInternalTextureFormat(format); + + return Py::None(); +} +PYCXX_VARARGS_METHOD_DECL(SoQtOffscreenRendererPy, setInternalTextureFormat) + +Py::Object SoQtOffscreenRendererPy::getInternalTextureFormat() +{ + return Py::Long(static_cast(renderer.internalTextureFormat())); +} +PYCXX_NOARGS_METHOD_DECL(SoQtOffscreenRendererPy, getInternalTextureFormat) + +Py::Object SoQtOffscreenRendererPy::render(const Py::Tuple& args) +{ + PyObject* proxy; + if (!PyArg_ParseTuple(args.ptr(), "O", &proxy)) { + throw Py::Exception(); + } + + try { + void* ptr = nullptr; + Base::Interpreter().convertSWIGPointerObj("pivy.coin", "SoNode *", proxy, &ptr, 0); + auto node = static_cast(ptr); + bool ok = false; + if (node) { + ok = renderer.render(node); + } + return Py::Boolean(ok); + } + catch (const Base::Exception& e) { + e.setPyException(); + throw Py::Exception(); + } +} +PYCXX_VARARGS_METHOD_DECL(SoQtOffscreenRendererPy, render) + +Py::Object SoQtOffscreenRendererPy::writeToImage(const Py::Tuple& args) +{ + const char* filename; + if (!PyArg_ParseTuple(args.ptr(), "s", &filename)) { + throw Py::Exception(); + } + + QImage img; + renderer.writeToImage(img); + img.save(QString::fromUtf8(filename)); + + return Py::None(); +} +PYCXX_VARARGS_METHOD_DECL(SoQtOffscreenRendererPy, writeToImage) + +Py::Object SoQtOffscreenRendererPy::getWriteImageFiletypeInfo() +{ + QStringList list = renderer.getWriteImageFiletypeInfo(); + Py::Tuple tuple(list.size()); + int index = 0; + for (const auto& item : list) { + tuple[index++] = Py::String(item.toStdString()); + } + + return tuple; +} +PYCXX_NOARGS_METHOD_DECL(SoQtOffscreenRendererPy, getWriteImageFiletypeInfo) + +void SoQtOffscreenRendererPy::init_type() +{ + behaviors().name("Gui.SoQtOffscreenRenderer"); + behaviors().doc("Python interface for SoQtOffscreenRenderer"); + + // you must have overwritten the virtual functions + behaviors().supportRepr(); + + PYCXX_ADD_VARARGS_METHOD(setViewportRegion, setViewportRegion, "setViewportRegion(int, int)"); + PYCXX_ADD_NOARGS_METHOD(getViewportRegion, getViewportRegion, "getViewportRegion() -> tuple"); + PYCXX_ADD_VARARGS_METHOD(setBackgroundColor, setBackgroundColor, "setBackgroundColor(float, float, float, [float])"); + PYCXX_ADD_NOARGS_METHOD(getBackgroundColor, getBackgroundColor, "getBackgroundColor() -> tuple"); + PYCXX_ADD_VARARGS_METHOD(setNumPasses, setNumPasses, "setNumPasses(int)"); + PYCXX_ADD_NOARGS_METHOD(getNumPasses, getNumPasses, "getNumPasses() -> int"); + PYCXX_ADD_VARARGS_METHOD(setInternalTextureFormat, setInternalTextureFormat, "setInternalTextureFormat(int)"); + PYCXX_ADD_NOARGS_METHOD(getInternalTextureFormat, getInternalTextureFormat, "getInternalTextureFormat() -> int"); + PYCXX_ADD_VARARGS_METHOD(render, render, "render(node)"); + PYCXX_ADD_VARARGS_METHOD(writeToImage, writeToImage, "writeToImage(string)"); + PYCXX_ADD_NOARGS_METHOD(getWriteImageFiletypeInfo, getWriteImageFiletypeInfo, "getWriteImageFiletypeInfo() -> tuple"); + + behaviors().readyType(); +} diff --git a/src/Mod/Import/App/FeatureImportIges.h b/src/Gui/SoQtOffscreenRendererPy.h similarity index 58% rename from src/Mod/Import/App/FeatureImportIges.h rename to src/Gui/SoQtOffscreenRendererPy.h index d302e253cf..90384835a0 100644 --- a/src/Mod/Import/App/FeatureImportIges.h +++ b/src/Gui/SoQtOffscreenRendererPy.h @@ -1,47 +1,66 @@ -/*************************************************************************** - * Copyright (c) 2002 Jürgen Riegel * - * * - * This file is part of the FreeCAD CAx development system. * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Library General Public * - * License as published by the Free Software Foundation; either * - * version 2 of the License, or (at your option) any later version. * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Library General Public License for more details. * - * * - * You should have received a copy of the GNU Library General Public * - * License along with this library; see the file COPYING.LIB. If not, * - * write to the Free Software Foundation, Inc., 59 Temple Place, * - * Suite 330, Boston, MA 02111-1307, USA * - * * - ***************************************************************************/ - -#ifndef __FeatureImportIges_H__ -#define __FeatureImportIges_H__ - -#include - -class TDF_Label; - -namespace Import -{ - -class FeatureImportIges :public Part::Feature -{ -public: - - virtual void InitLabel(const TDF_Label &rcLabel); - - virtual Standard_Integer Execute(void); - - /// Returns the Name/Type of the feature - virtual const char *Type(void){return "PartImportIges";} -}; - -} - -#endif // __FeaturePartImportIges_H__ +/*************************************************************************** + * Copyright (c) 2022 Werner Mayer * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#ifndef GUI_SOQTOFFSCREENRENDERERPY_H +#define GUI_SOQTOFFSCREENRENDERERPY_H + +#include + +#include "SoFCOffscreenRenderer.h" + + +namespace Gui { + +class SoQtOffscreenRendererPy : public Py::PythonClass +{ +public: + static void init_type(); + + SoQtOffscreenRendererPy(Py::PythonClassInstance* self, Py::Tuple& args, Py::Dict& kwds); + ~SoQtOffscreenRendererPy() override; + + Py::Object repr() override; + + Py::Object setViewportRegion(const Py::Tuple&); + Py::Object getViewportRegion(); + + Py::Object setBackgroundColor(const Py::Tuple&); + Py::Object getBackgroundColor(); + + Py::Object setNumPasses(const Py::Tuple&); + Py::Object getNumPasses(); + + Py::Object setInternalTextureFormat(const Py::Tuple&); + Py::Object getInternalTextureFormat(); + + Py::Object render(const Py::Tuple&); + + Py::Object writeToImage(const Py::Tuple&); + Py::Object getWriteImageFiletypeInfo(); + +private: + SoQtOffscreenRenderer renderer; +}; + +} // namespace Gui + +#endif // GUI_SOQTOFFSCREENRENDERERPY_H diff --git a/src/Gui/SoTextLabel.cpp b/src/Gui/SoTextLabel.cpp index 5448e3ba2c..9aaf958a81 100644 --- a/src/Gui/SoTextLabel.cpp +++ b/src/Gui/SoTextLabel.cpp @@ -485,6 +485,4 @@ TranslateManip::TranslateManip() setDragger(myDrag); } -TranslateManip::~TranslateManip() -{ -} +TranslateManip::~TranslateManip() = default; diff --git a/src/Gui/SoTextLabel.h b/src/Gui/SoTextLabel.h index 3764a4c244..6581455d6a 100644 --- a/src/Gui/SoTextLabel.h +++ b/src/Gui/SoTextLabel.h @@ -55,7 +55,7 @@ public: SoSFFloat frameSize; protected: - ~SoTextLabel() override {} + ~SoTextLabel() override = default; void GLRender(SoGLRenderAction *action) override; }; @@ -91,7 +91,7 @@ public: SoSFInt32 size; protected: - ~SoStringLabel() override {} + ~SoStringLabel() override = default; void GLRender(SoGLRenderAction *action) override; }; @@ -118,7 +118,7 @@ public: //SoSFImage image; protected: - ~SoFrameLabel() override {} + ~SoFrameLabel() override = default; void notify(SoNotList * list) override; void GLRender(SoGLRenderAction *action) override; diff --git a/src/Gui/SoTouchEvents.h b/src/Gui/SoTouchEvents.h index 809e167628..3df1dc96ea 100644 --- a/src/Gui/SoTouchEvents.h +++ b/src/Gui/SoTouchEvents.h @@ -39,8 +39,8 @@ public: static void initClass(){ SO_EVENT_INIT_CLASS(SoGestureEvent, SoEvent); } - SoGestureEvent() : state(SbGSNoGesture) {} - ~SoGestureEvent() override{} + SoGestureEvent() = default; + ~SoGestureEvent() override = default; SbBool isSoGestureEvent(const SoEvent* ev) const; enum SbGestureState { @@ -50,7 +50,7 @@ public: SbGSEnd = Qt::GestureFinished, SbGsCanceled = Qt::GestureCanceled }; - SbGestureState state; + SbGestureState state{SbGSNoGesture}; }; class SoGesturePanEvent : public SoGestureEvent { @@ -59,9 +59,9 @@ public: static void initClass(){//needs to be called before the class can be used. Initializes type IDs of the class. SO_EVENT_INIT_CLASS(SoGesturePanEvent, SoGestureEvent); } - SoGesturePanEvent() {} + SoGesturePanEvent() = default; SoGesturePanEvent(QPanGesture *qpan, QWidget *widget); - ~SoGesturePanEvent() override{} + ~SoGesturePanEvent() override = default; SbBool isSoGesturePanEvent(const SoEvent* ev) const; SbVec2f deltaOffset; @@ -79,7 +79,7 @@ public: { } SoGesturePinchEvent(QPinchGesture* qpinch, QWidget* widget); - ~SoGesturePinchEvent() override{} + ~SoGesturePinchEvent() override = default; SbBool isSoGesturePinchEvent(const SoEvent* ev) const; SbVec2f startCenter;//in GL pixel coordinates (from bottom left corner of view area) @@ -104,7 +104,7 @@ public: { } SoGestureSwipeEvent(QSwipeGesture* qwsipe, QWidget *widget); - ~SoGestureSwipeEvent() override{} + ~SoGestureSwipeEvent() override = default; SbBool isSoGestureSwipeEvent(const SoEvent* ev) const; double angle; @@ -117,7 +117,7 @@ class GesturesDevice : public Quarter::InputDevice { public: explicit GesturesDevice(QWidget* widget);//it needs to know the widget to do coordinate translation - ~GesturesDevice() override {} + ~GesturesDevice() override = default; const SoEvent* translateEvent(QEvent* event) override; protected: QWidget* widget; diff --git a/src/Gui/SpaceballEvent.cpp b/src/Gui/SpaceballEvent.cpp index 7c4b004376..f383121761 100644 --- a/src/Gui/SpaceballEvent.cpp +++ b/src/Gui/SpaceballEvent.cpp @@ -31,16 +31,15 @@ int MotionEvent::MotionEventType = -1; int ButtonEvent::ButtonEventType = -1; #if QT_VERSION < QT_VERSION_CHECK(6,0,0) -EventBase::EventBase(QEvent::Type event) : QInputEvent(static_cast(event)), handled(false) +EventBase::EventBase(QEvent::Type event) : QInputEvent(static_cast(event)) #else -EventBase::EventBase(QEvent::Type event) : QInputEvent(static_cast(event), QPointingDevice::primaryPointingDevice()), handled(false) +EventBase::EventBase(QEvent::Type event) : QInputEvent(static_cast(event), QPointingDevice::primaryPointingDevice()) #endif { } -MotionEvent::MotionEvent() : EventBase(static_cast(MotionEventType)), - xTrans(0), yTrans(0), zTrans(0), xRot(0), yRot(0), zRot(0) +MotionEvent::MotionEvent() : EventBase(static_cast(MotionEventType)) { } diff --git a/src/Gui/SpaceballEvent.h b/src/Gui/SpaceballEvent.h index ea56fc6d23..32f16a1bc3 100644 --- a/src/Gui/SpaceballEvent.h +++ b/src/Gui/SpaceballEvent.h @@ -37,7 +37,7 @@ namespace Spaceball protected: explicit EventBase(QEvent::Type event); - bool handled; + bool handled{false}; }; class MotionEvent : public EventBase @@ -61,12 +61,12 @@ namespace Spaceball static int MotionEventType; private: - int xTrans; - int yTrans; - int zTrans; - int xRot; - int yRot; - int zRot; + int xTrans{0}; + int yTrans{0}; + int zTrans{0}; + int xRot{0}; + int yRot{0}; + int zRot{0}; }; class ButtonEvent : public EventBase diff --git a/src/Gui/SpinBox.cpp b/src/Gui/SpinBox.cpp index d5bf90dc24..85113b3df2 100644 --- a/src/Gui/SpinBox.cpp +++ b/src/Gui/SpinBox.cpp @@ -57,9 +57,7 @@ ExpressionSpinBox::ExpressionSpinBox(QAbstractSpinBox* sb) }); } -ExpressionSpinBox::~ExpressionSpinBox() -{ -} +ExpressionSpinBox::~ExpressionSpinBox() = default; void ExpressionSpinBox::bind(const App::ObjectIdentifier &_path) { @@ -239,10 +237,7 @@ UnsignedValidator::UnsignedValidator( uint minimum, uint maximum, QObject * pare t = maximum; } -UnsignedValidator::~UnsignedValidator() -{ - -} +UnsignedValidator::~UnsignedValidator() = default; QValidator::State UnsignedValidator::validate( QString & input, int & ) const { @@ -283,11 +278,9 @@ namespace Gui { class UIntSpinBoxPrivate { public: - UnsignedValidator * mValidator; + UnsignedValidator * mValidator{nullptr}; - UIntSpinBoxPrivate() : mValidator(nullptr) - { - } + UIntSpinBoxPrivate() = default; uint mapToUInt( int v ) const { uint ui; @@ -458,10 +451,7 @@ IntSpinBox::IntSpinBox(QWidget* parent) { } -IntSpinBox::~IntSpinBox() -{ - -} +IntSpinBox::~IntSpinBox() = default; bool IntSpinBox::apply(const std::string& propName) { @@ -505,10 +495,7 @@ DoubleSpinBox::DoubleSpinBox(QWidget* parent) { } -DoubleSpinBox::~DoubleSpinBox() -{ - -} +DoubleSpinBox::~DoubleSpinBox() = default; bool DoubleSpinBox::apply(const std::string& propName) { diff --git a/src/Gui/Splashscreen.cpp b/src/Gui/Splashscreen.cpp index 8d4b48017e..5878bcb3d6 100644 --- a/src/Gui/Splashscreen.cpp +++ b/src/Gui/Splashscreen.cpp @@ -254,9 +254,7 @@ void SplashScreen::drawContents ( QPainter * painter ) AboutDialogFactory* AboutDialogFactory::factory = nullptr; -AboutDialogFactory::~AboutDialogFactory() -{ -} +AboutDialogFactory::~AboutDialogFactory() = default; QDialog *AboutDialogFactory::create(QWidget *parent) const { @@ -733,9 +731,9 @@ void AboutDialog::showLibraryInformation() QTextStream out(&html); out << "" << "

" << msg << "

\n\n\n"; @@ -901,9 +899,7 @@ LicenseView::LicenseView(QWidget* parent) setCentralWidget(browser); } -LicenseView::~LicenseView() -{ -} +LicenseView::~LicenseView() = default; void LicenseView::setSource(const QUrl& url) { diff --git a/src/Gui/Splashscreen.h b/src/Gui/Splashscreen.h index bc68ccccb4..527d837987 100644 --- a/src/Gui/Splashscreen.h +++ b/src/Gui/Splashscreen.h @@ -57,7 +57,7 @@ class Ui_AboutApplication; class GuiExport AboutDialogFactory { public: - AboutDialogFactory() {} + AboutDialogFactory() = default; virtual ~AboutDialogFactory(); virtual QDialog *create(QWidget *parent) const; diff --git a/src/Gui/SplitView3DInventor.cpp b/src/Gui/SplitView3DInventor.cpp index 784b76c7b5..7f661622ae 100644 --- a/src/Gui/SplitView3DInventor.cpp +++ b/src/Gui/SplitView3DInventor.cpp @@ -291,9 +291,7 @@ AbstractSplitViewPy::AbstractSplitViewPy(AbstractSplitView *vi) { } -AbstractSplitViewPy::~AbstractSplitViewPy() -{ -} +AbstractSplitViewPy::~AbstractSplitViewPy() = default; Py::Object AbstractSplitViewPy::cast_to_base(const Py::Tuple&) { @@ -641,8 +639,6 @@ SplitView3DInventor::SplitView3DInventor(int views, Gui::Document* pcDocument, Q setupSettings(); } -SplitView3DInventor::~SplitView3DInventor() -{ -} +SplitView3DInventor::~SplitView3DInventor() = default; #include "moc_SplitView3DInventor.cpp" diff --git a/src/Gui/Stylesheets/Behave-dark.qss b/src/Gui/Stylesheets/Behave-dark.qss index 9a2f12bf7a..31328a9417 100644 --- a/src/Gui/Stylesheets/Behave-dark.qss +++ b/src/Gui/Stylesheets/Behave-dark.qss @@ -30,7 +30,7 @@ If you would like to change the overall look/style of the theme, just find and r ! If you find not matching or unreadable sections in FreeCAD please tell Chrismettal or open up a PR yourself ! BACKGROUND (darker to lighter) - #65A2E5 + @ThemeAccentColor2 #1e1e1e #3c3c3c #434D5B @@ -45,14 +45,14 @@ If you would like to change the overall look/style of the theme, just find and r #232932 = console color #d2d2d2 #588AC1 = top menu item - #588AC2 + @ThemeAccentColor3 white SELECTION (darker to lighter) #1b3774 #2053c0 - #65A2E5 - #65A2E5 = main selection color + @ThemeAccentColor3 text color + @ThemeAccentColor2 = main selection color #6f9efa = used to build QSpinBox up and down buttons, it's used as color in the middle #7cabf9 #adc5ed @@ -106,7 +106,7 @@ Reset elements border-image: none; outline: 0; /*font-size: 20px;*/ - color: #65A2E5; /* Default color for labels and different text elements that usually use dark colors */ + color: @ThemeAccentColor3; /* Default color for labels and different text elements that usually use dark colors */ } /* specific reset for elements inside QToolBar */ @@ -132,6 +132,17 @@ QMdiArea { background-repeat: no-repeat; } +/*================================================================================================== +Style Links +==================================================================================================*/ +QLabel[haslink="true"] { + color: #8bd1ff; +} + +Gui--UrlLabel { + color: #8bd1ff; +} + /*================================================================================================== Sub windows @@ -191,8 +202,8 @@ QMenu::icon { } QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #61D29D; - border: 2px #61D29D; + background: @ThemeAccentColor1; + border: 2px @ThemeAccentColor1; position: absolute; border-radius: 2px; } @@ -224,19 +235,19 @@ QMenu QToolButton:pressed, QMenu QPushButton:selected, QMenu QToolButton:selected { color: white; - background-color: #65A2E5; /* same as QMenu::item:selected and QMenu::item:pressed */ + background-color: @ThemeAccentColor2; /* same as QMenu::item:selected and QMenu::item:pressed */ } QMenu QRadioButton:disabled, QMenu QCheckBox:disabled { - color: #588AC2; + color: @ThemeAccentColor3; } QMenu QRadioButton::indicator:disabled, QMenu QCheckBox::indicator:disabled { - color: #588AC2; + color: @ThemeAccentColor3; background-color: transparent; - border: 1px solid #588AC2; + border: 1px solid @ThemeAccentColor3; } @@ -390,7 +401,7 @@ QProgressBar:horizontal { } QProgressBar::chunk, QProgressBar::chunk:horizontal { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #65A2E5, stop:1 #65A2E5); + background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); border-radius: 3px; } @@ -605,22 +616,22 @@ QTabBar::tab:selected { } QTabBar::tab:top:selected { - border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); /* selection color */ + border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); /* selection color */ border-bottom-color: #2C333D; /* same as tab content background color */ } QTabBar::tab:bottom:selected { - border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); /* selection color */ + border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); /* selection color */ border-top-color: #2C333D; /* same as tab content background color */ } QTabBar::tab:right:selected { - border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #65A2E5, stop:1 #65A2E5); /* selection color */ + border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); /* selection color */ border-right-color: #2C333D; /* same as tab content background color */ } QTabBar::tab:left:selected { - border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #65A2E5, stop:1 #65A2E5); /* selection color */ + border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); /* selection color */ border-left-color: #2C333D; /* same as tab content background color */ } @@ -671,7 +682,7 @@ QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { color: #232932; - background-color: #61D29D; + background-color: @ThemeAccentColor1; } @@ -834,7 +845,7 @@ Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { /* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #65A2E5; + color: @ThemeAccentColor3; background-color: #2C333D;/*was CBD8E6*/ } @@ -929,7 +940,7 @@ Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget { Header of tree and list views ==================================================================================================*/ QHeaderView { - color: #61D29D; + color: @ThemeAccentColor1; background-color: #434D5B; border-top-left-radius: 2px; /* 1px less than its container */ border-top-right-radius: 2px; /* 1px less than its container */ @@ -982,7 +993,7 @@ QHeaderView::down-arrow:hover { /* Group header inside Property Editor (FreeCAD custom widget) */ Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: #61D29D; + qproperty-groupTextColor: @ThemeAccentColor1; qproperty-groupBackground: #2C333D; } @@ -1116,7 +1127,7 @@ QSint--ActionGroup QFrame[class="header"] { } QSint--ActionGroup QFrame[class="header"]:hover { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); } QSint--ActionGroup QToolButton[class="header"] { @@ -1198,7 +1209,7 @@ QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { /* QSint--ActionGroup QFrame[class="content"] QTreeView, QSint--ActionGroup QFrame[class="content"] QListView, QSint--ActionGroup QFrame[class="content"] QTableView { - color: #588AC2; + color: @ThemeAccentColor3; background-color: #787878; } */ @@ -1219,7 +1230,7 @@ QDateTimeEdit { color: #bebebe; background-color: #1E2226; selection-color: white; - selection-background-color: #65A2E5; + selection-background-color: @ThemeAccentColor2; border: 1px solid #1E2226; border-radius: 3px; min-width: 50px; /* it ensures the default value is correctly displayed */ @@ -1229,7 +1240,7 @@ QDateTimeEdit { /* more contrast for QTexEdits */ QTextEdit { - color: #65A2E5; + color: @ThemeAccentColor3; } /* shifts text/number editable field to the left to make space for the up/down or drop-down buttons */ @@ -1259,9 +1270,9 @@ QTextEdit:focus, QTimeEdit:focus, QDateEdit:focus, QDateTimeEdit:focus { - color: #65A2E5; + color: @ThemeAccentColor3; border-color: #7cabf9; - border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #65A2E5, stop:1 #7cabf9); /* same as up/down or drop-down button color */ + border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 @ThemeAccentColor2, stop:1 #7cabf9); /* same as up/down or drop-down button color */ background-color: #2C333D;/*was CBD8E6*/ } @@ -1331,7 +1342,7 @@ QDoubleSpinBox:down-button:focus, QTimeEdit:down-button:focus, QDateEdit:down-button:focus, QDateTimeEdit:down-button:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #65A2E5, stop:1 #6f9efa); + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 @ThemeAccentColor2, stop:1 #6f9efa); } QAbstractSpinBox:up-button:disabled, @@ -1436,7 +1447,7 @@ QComboBox::drop-down { QComboBox::drop-down:on, QComboBox::drop-down:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #65A2E5, stop:1 #7cabf9); + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 @ThemeAccentColor2, stop:1 #7cabf9); } QComboBox::down-arrow { @@ -1456,14 +1467,14 @@ QComboBox::down-arrow:disabled { /* ComboBox menu */ QComboBox { selection-color: white; - selection-background-color: #65A2E5; + selection-background-color: @ThemeAccentColor2; } QComboBox QAbstractItemView { color: #bebebe; /* same as regular QComboBox color */ background-color: transparent; selection-color: white; - selection-background-color: #65A2E5; + selection-background-color: @ThemeAccentColor2; border-width: 5px 0px 5px 0px; border-style: solid; border-color: transparent; @@ -1489,8 +1500,8 @@ QPushButton { QPushButton:hover, QPushButton:focus { color: white; - border-color: #65A2E5; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); + border-color: @ThemeAccentColor2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); } QPushButton:disabled, @@ -1501,12 +1512,12 @@ QPushButton:disabled:checked { } QPushButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); } QPushButton:checked { - background-color: #65A2E5; - border-color: #65A2E5; + background-color: @ThemeAccentColor2; + border-color: @ThemeAccentColor2; } /* Color Buttons */ @@ -1529,12 +1540,12 @@ Gui--ColorButton:disabled { Gui--ColorButton:hover, Gui--ColorButton:focus { - border-color: #65A2E5; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); + border-color: @ThemeAccentColor2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); } Gui--ColorButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); } /* Pushbutton style for "..." inside Placement cell which launches Placement tool */ @@ -1562,8 +1573,8 @@ Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QF } QPushButton:checked { - background-color: #65A2E5; - border-color: #65A2E5; + background-color: @ThemeAccentColor2; + border-color: @ThemeAccentColor2; } /*================================================================================================== @@ -1584,7 +1595,7 @@ Tool button inside QDialogs that works as QPushButtons ==================================================================================================*/ /* found under Tools -> Customize -> Macros -> Pixmap "..." button */ QDialog QToolButton { - color: #65A2E5; + color: @ThemeAccentColor3; text-align: center; background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #232932, stop:1 #646464); border: 1px solid #232932; @@ -1598,8 +1609,8 @@ QDialog QToolButton { QDialog QToolButton:hover, QDialog QToolButton:focus { color: white; - border-color: #65A2E5; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); + border-color: @ThemeAccentColor2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); } QDialog QToolButton:disabled, @@ -1610,7 +1621,7 @@ QDialog QToolButton:disabled:checked { } QDialog QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); } @@ -1619,7 +1630,7 @@ Tool button inside Task Panel content that works as QPushButtons ==================================================================================================*/ /* found inside Part Design Workbench and "make a draft on a face" Task panel options */ QSint--ActionGroup QFrame[class="content"] QToolButton { - color: #65A2E5; + color: @ThemeAccentColor3; text-align: center; background-color: qlineargradient(spread:pad, x1:0, y1:0.3, x2:0, y2:1, stop:0 #232932, stop:1 #646464); border: 1px solid #232932; @@ -1633,8 +1644,8 @@ QSint--ActionGroup QFrame[class="content"] QToolButton { QSint--ActionGroup QFrame[class="content"] QToolButton:hover, QSint--ActionGroup QFrame[class="content"] QToolButton:focus { color: white; - border-color: #65A2E5; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); + border-color: @ThemeAccentColor2; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, @@ -1645,7 +1656,7 @@ QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #65A2E5, stop:1 #65A2E5); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor2); } /* QToolButtons with a menu found in Sketcher task panel*/ @@ -1678,20 +1689,20 @@ QSint--ActionGroup QToolButton#filterButton QListWidget { Radio button ==================================================================================================*/ QRadioButton::indicator:unchecked{ - color: #61D29D; + color: @ThemeAccentColor1; background-color: rgba(255,255,255,20); border: 1px solid #232932; } QRadioButton::indicator:checked { - background-color: #61D29D; /* QCheckBox has the same color */ - border: 1px solid #61D29D; /* QCheckBox has the same color */ + background-color: @ThemeAccentColor1; /* QCheckBox has the same color */ + border: 1px solid @ThemeAccentColor1; /* QCheckBox has the same color */ image:url(qss:images_dark-light/radiobutton_light.svg); } QRadioButton, QRadioButton:disabled { - color: #65A2E5; + color: @ThemeAccentColor3; padding: 3px; outline: none; background-color: transparent; @@ -1708,9 +1719,9 @@ QRadioButton::indicator:pressed { } QRadioButton::indicator:disabled { - color: #65A2E5; + color: @ThemeAccentColor3; background-color: transparent; - border: 1px solid #65A2E5; + border: 1px solid @ThemeAccentColor2; } QRadioButton:focus { @@ -1723,7 +1734,7 @@ Checkbox ==================================================================================================*/ QCheckBox, QCheckBox:disabled { - color: #65A2E5; + color: @ThemeAccentColor3; padding: 3px; outline: none; background-color: transparent; @@ -1731,7 +1742,7 @@ QCheckBox:disabled { QCheckBox::indicator, QGroupBox::indicator { - color: #61D29D; + color: @ThemeAccentColor1; background-color: rgba(255,255,255,20); border: 1px solid #232932; width: 11px; @@ -1752,8 +1763,8 @@ QGroupBox::indicator:checked:pressed { QCheckBox::indicator:checked, QGroupBox::indicator:checked { - background-color: #61D29D; /* QRadioButton has the same color */ - border: 1px solid #61D29D; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor1; /* QRadioButton has the same color */ + border: 1px solid @ThemeAccentColor1; /* QRadioButton has the same color */ image:url(qss:images_dark-light/checkbox_light.svg); } @@ -1770,8 +1781,8 @@ QGroupBox::indicator:disabled { QCheckBox::indicator:indeterminate, QGroupBox::indicator:indeterminate { - background-color: #61D29D; - border: 1px solid #61D29D; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); } @@ -1824,8 +1835,8 @@ QTreeView::indicator:checked:pressed { QListWidget::indicator:checked, QTreeView::indicator:checked { - background-color: #65A2E5; /* QRadioButton has the same color */ - border: 1px solid #65A2E5; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor2; /* QRadioButton has the same color */ + border: 1px solid @ThemeAccentColor2; /* QRadioButton has the same color */ image:url(qss:images_dark-light/checkbox_light.svg); } @@ -1837,8 +1848,8 @@ QTreeView::indicator:disabled { QListWidget::indicator:indeterminate, QTreeView::indicator:indeterminate { - background-color: #65A2E5; - border: 1px solid #65A2E5; + background-color: @ThemeAccentColor2; + border: 1px solid @ThemeAccentColor2; image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); } @@ -1846,12 +1857,6 @@ QTreeView::indicator:indeterminate { /*================================================================================================== Slider ==================================================================================================*/ -QSlider, -QSlider:active, -QSlider:!active { - border: none; - background-color: transparent; -} QSlider:horizontal { padding: 0px 10px; @@ -1861,58 +1866,82 @@ QSlider:vertical { padding: 10px 0px; } -QSlider::groove { - background-color: rgba(0,0,0,30); - border: 1px solid rgba(0,0,0,40); - border-radius: 5px; - margin: 4px 0px; -} - QSlider::groove:horizontal { - height: 8px; +border: 1px solid #bbb; +background: white; +height: 8px; +border-radius: 4px; } QSlider::groove:vertical { - width: 8px; +border: 1px solid #bbb; +background: white; +width: 8px; +border-radius: 4px; } -QSlider::groove:horizontal:disabled, -QSlider::groove:vertical:disabled { - border-color: #232932; - background-color: #232932; +QSlider::sub-page:vertical, +QSlider::sub-page:horizontal { +background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, + stop: 0 #0059ff, stop: 1 #6495ED); +background: qlineargradient(x1: 0, y1: 0.2, x2: 1, y2: 1, + stop: 0 #6495ED, stop: 1 #0059ff); +border: 1px solid #232932; +width: 10px; +height: 10px; +border-radius: 4px; +} + +QSlider::add-page:vertical, +QSlider::add-page:horizontal { +background: #232932; +border: 1px solid #232932; +width: 10px; +height: 10px; +border-radius: 4px; } QSlider::handle:horizontal, QSlider::handle:vertical { - background-color: #434D5B; - border: 1px solid #434D5B; - width: 14px; - height: 14px; - border-radius: 8px; -} - -QSlider::handle:horizontal { - margin: -4px 0; -} - -QSlider::handle:vertical { - margin: 0 -4px; +background: qlineargradient(x1:0, y1:0, x2:1, y2:1, + stop:0 #0059ff, stop:1 #6495ED); +border: 1px solid #232932; +width: 13px; +margin-top: -2px; +margin-bottom: -2px; +border-radius: 4px; } +QSlider::handle:horizontal:focus, +QSlider::handle:vertical:focus, QSlider::handle:horizontal:hover, QSlider::handle:vertical:hover, QSlider::handle:horizontal:pressed, QSlider::handle:vertical:pressed { - border-color: #65A2E5; - background-color: #65A2E5; +background: qlineargradient(x1:0, y1:0, x2:1, y2:1, + stop:0 #a9bfe7, stop:1 #6495ED); +border: 1px solid #444; +border-radius: 4px; } -QSlider::handle:horizontal:disabled, -QSlider::handle:vertical:disabled { - border-color: #232932; - background-color: #232932; +QSlider::sub-page:vertical:disabled, +QSlider::sub-page:horizontal:disabled { +background: #232932; +border-color: #232932; } +QSlider::add-page:vertical:disabled, +QSlider::add-page:horizontal:disabled { +background: #232932; +border-color: #232932; +} + +QSlider::handle:vertical:disabled, +QSlider::handle:horizontal:disabled { +background: #232932; +border: 1px solid #232932; +border-radius: 4px; +} /*================================================================================================== Toolbar buttons @@ -2026,7 +2055,7 @@ QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button { QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:hover, QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:pressed, QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:open { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #65A2E5, stop:1 #7cabf9); + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 @ThemeAccentColor2, stop:1 #7cabf9); } QToolBar > QToolButton::menu-arrow { @@ -2052,6 +2081,14 @@ QToolBar > QToolButton:checked { background-color: rgba(124,171,249,60); /* transparency for #7cabf9 color */ } +QToolBar > QToolButton:checked:disabled { + background-color: #b65555; + color: #b8aba0; + border-radius: 1.9px; + padding: 0px; + outline: none; +} + QToolBar > QToolButton:checked:hover { border: 1px solid #7cabf9; background-color: rgba(124,171,249,80); /* transparency for #7cabf9 color */ @@ -2139,7 +2176,7 @@ QTableView > QWidget > QTextEdit, QTableView > QWidget > QTimeEdit, QTableView > QWidget > QDateEdit, QTableView > QWidget > QDateTimeEdit { - color: #65A2E5; + color: @ThemeAccentColor3; background-color: transparent; border-color: transparent; } @@ -2172,7 +2209,7 @@ QTableView > QWidget > QDateEdit:focus, QTableView > QWidget > QDateTimeEdit:focus { color: #D2D8E1; selection-color: white; - selection-background-color: #65A2E5; + selection-background-color: @ThemeAccentColor2; border-color: #2C333D;/*was CBD8E6*/ background-color: #2C333D;/*was CBD8E6*/ } @@ -2200,7 +2237,7 @@ QTableView > QWidget > QTextEdit:read-only, QTableView > QWidget > QTimeEdit:read-only, QTableView > QWidget > QDateEdit:read-only, QTableView > QWidget > QDateTimeEdit:read-only { - color: #65A2E5; + color: @ThemeAccentColor3; background-color: transparent; border-color: transparent; } @@ -2336,7 +2373,7 @@ Gui--StatefulLabel[state="redundant_constraints"] { color : rgba(255,69,0,255); /* Orange red */ } Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ + color : rgba(89, 142, 240, 255); /* a little darker than Cornflower blue */ } Gui--StatefulLabel[state="solver_failed"] { color : rgba(255,0,0,255); /* Red */ @@ -2347,6 +2384,7 @@ Gui--StatefulLabel[state="fully_constrained"] { font-weight: bold; } Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ + color : rgba(100, 149, 237, 255); /* Cornflower blue */ text-decoration : underline; } + diff --git a/src/Gui/Stylesheets/CMakeLists.txt b/src/Gui/Stylesheets/CMakeLists.txt index 4ce327c3d5..07eed65c12 100644 --- a/src/Gui/Stylesheets/CMakeLists.txt +++ b/src/Gui/Stylesheets/CMakeLists.txt @@ -1,28 +1,13 @@ SET(Stylesheets_Files "Behave-dark.qss" - "Dark-blue.qss" - "Dark-green.qss" - "Dark-orange.qss" - "Dark-pink.qss" - "Darker-blue.qss" - "Darker-green.qss" - "Darker-orange.qss" - "Darker-pink.qss" - "Light-blue.qss" - "Light-green.qss" - "Light-orange.qss" - "Light-pink.qss" + "Dark.qss" + "Darker.qss" + "Light.qss" "Dark-contrast.qss" "ProDark.qss" - "Dark-modern-green.qss" - "Dark-modern-orange.qss" - "Dark-modern-pink.qss" - "Dark-modern-blue.qss" - "Light-modern-blue.qss" - "Light-modern-pink.qss" - "Light-modern-orange.qss" - "Light-modern-green.qss" + "Dark-modern.qss" + "Light-modern.qss" ) # Find all the image files diff --git a/src/Gui/Stylesheets/Dark-blue.qss b/src/Gui/Stylesheets/Dark-blue.qss deleted file mode 100644 index a90c1410fc..0000000000 --- a/src/Gui/Stylesheets/Dark-blue.qss +++ /dev/null @@ -1,2610 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #4882ff - #3f7cff - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ - -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #4882ff; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #7F7F7F; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #7F7F7F; - border: 0px solid #696968; - padding: 0px; - color: White; - selection-background-color: #4882ff; - selection-color: White; -} - -QWidget:disabled { - color: #c2c7cb; - selection-background-color: #4882ff; - selection-color: #c2c7cb; -} - -QWidget::item:selected { - background-color: #4882ff; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #4882ff; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #4882ff, stop:0.8 transparent); - /*background-color: #4882ff;*/ - image: url(qss:images_dark-light/splitter_vertical_light.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #4882ff, stop:0.8 transparent); - /*background-color: #4882ff;*/ - image: url(qss:images_dark-light/splitter_horizontal_light.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #505050; - color: White; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #3c3c3c; - /* Fixes Spyder #9120, #9121 */ - background: #7F7F7F; - /* Fixes #205, white vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #7F7F7F; - border: 1px solid #696968; - color: #7F7F7F; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: white; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #3f7cff; -} - -QCheckBox QWidget:disabled { - color: #c2c7cb; -} - -QCheckBox::indicator { - color: white; - background-color: #505050; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #505050; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #4882ff; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #7F7F7F; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #505050; - /*border: 1px solid #696968; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #4882ff; -} - -QCheckBox::indicator:checked:disabled { - background-color: #7F7F7F; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #505050; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #7F7F7F; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #4882ff; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #696968; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: white; - background-color: #3c3c3c; - border: 1px solid #696968; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #696968; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #4882ff; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #505050; - border: 1px solid #696968; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #4882ff; -} - -QGroupBox::indicator:checked:disabled { - background-color: #4882ff; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: White; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #3f7cff; -} - -QRadioButton:disabled { - background-color: #696968; - color: #353535; -} - -QRadioButton QWidget { - background-color: transparent; - color: White; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #3c3c3c; - border: 1px solid #696968; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #4882ff; - border: 1px solid #4882ff; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #696968; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #4882ff; - border: 1px solid #4882ff; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #696968; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #505050; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: White; - selection-background-color: #4882ff; -} - -QMenuBar:focus { - border: 1px solid #3f7cff; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #696968; - background-color: #4882ff; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #696968; - background-color: #4882ff; - color: White; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: White; - margin: 0px; - background-color: #505050; - selection-background-color: #4882ff; -} - -QMenu::separator { - height: 2px; - background-color: #3c3c3c; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #696968; -} - -QMenu::item:selected { - color: White; - background-color: #4882ff; -} - -QMenu::item:pressed { - background-color: #4882ff; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #3f7cff; - margin-left: -5px; - border: 5px solid #3f7cff; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #4882ff; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #4882ff; -} - -QMenu::indicator:non-exclusive:checked:disabled { -image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #4882ff; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #4882ff; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_lighter.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #5b5b5b; - color: White; - border: 1px solid #696968; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #696968; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: White; -} - -QAbstractScrollArea:disabled { - color: #353535; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #7F7F7F; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 8px 2px 8px; - border: 0px solid #696968; - border-radius: 1.9px; - background-color: #7F7F7F; -} - -QScrollBar:vertical { - background-color: #7F7F7F; - width: 16px; - margin: 8px 2px 8px 2px; - border: 0px solid #696968; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #696969; - border: 1px solid #7F7F7F; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #4882ff; - border: #696968; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #3f7cff; -} - -QScrollBar::handle:vertical { - background-color: #696969; - border: 1px solid #696968; - min-height: 8px; - border-radius: 4px; -} - -QScrollBar::handle:vertical:hover { - background-color: #4882ff; - border: #696968; - border-radius: 4px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #3f7cff; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - background-color: #4882ff; - border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #7F7F7F; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QTextEdit:focus { - border: 1px solid #3f7cff; -} - -QTextEdit:selected { - background: #346792; - color: white; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #3c3c3c; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QPlainTextEdit:focus { - border: 1px solid #3f7cff; -} - -QPlainTextEdit:selected { - background: #4882ff; - color: White; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_light.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #696968; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #7F7F7F; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #7F7F7F; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #696969; -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #4882ff; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -border-color: #696968; -background-color: #4882ff; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #505050; - border: 1px solid transparent; - color: White; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - subcontrol-origin: border; - subcontrol-position: top right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - subcontrol-origin: border; - subcontrol-position: bottom right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #4882ff; - color: White;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #3f7cff; -} - -QAbstractSpinBox:selected { - background: #3f7cff; - /*color: White;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #696968; - padding: 2px; - margin: 0px; - color: White; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #696968; - color: #c2c7cb; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #505050; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #7F7F7F; - border: 1px solid #696968; - color: #c2c7cb; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #4882ff; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #4882ff; - color: White; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #505050; - border: 0px solid #696968; - color: #c2c7cb; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #696968; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #353535; - color: #c2c7cb; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: White; -} - -QLCDNumber:disabled { - background-color: #7F7F7F; - color: #c2c7cb; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #c2c7cb; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #505050; - border: 1px solid #696968; - color: #696969; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #4882ff; - color: #7F7F7F; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #505050; - color: #696968; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - color: White; - border: 1px solid #505051; - border-bottom-color: #1e1e1e; /* simulates shadow under the button */ - border-radius: 4px; - padding: 2px; -} - -QPushButton:disabled { - background-color: #7F7F7F; - color: #c2c7cb; - -} - -QPushButton:checked { - background-color: #4882ff; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #4882ff; - color: #3c3c3c; - outline: none; -} - -QPushButton:checked:selected { - background: #4882ff; -} - -QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); - color: White; -} - -QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3f7cff, stop:1 #4882ff); -} - -QPushButton:selected { - background: #3f7cff; - color: White; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: White; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: rgba(0, 0, 0, 0.065); - color: #c2c7cb; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #4882ff; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #c2c7cb; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #4882ff; - color: White; -} - -QToolButton:checked:pressed { - background-color: #4882ff; -} - -QToolButton:checked:selected { - background: #3f7cff; - color: White; -} - -QToolButton:hover { - background-color: #4882ff; - color: White; -} - -QToolButton:pressed { - background-color: #3f7cff; -} - -QToolButton:selected { - background: #4882ff; - color: White; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #ffffff; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} -QToolButton::menu-arrow:hover { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #c2c7cb; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #505050; - border-radius: 2px; - selection-background-color: #4882ff; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #505050; -} -QComboBox QAbstractItemView { - border: 0px solid #696968; - border-radius: 0px; - background-color: #505050; - selection-background-color: #4882ff; -} - -QComboBox QAbstractItemView:hover { - background-color:#505050; - color: White; -} - -QComboBox QAbstractItemView:selected { - background: #4882ff; - color: White; -} - -QComboBox QAbstractItemView:alternate { - background: #3c3c3c; -} - -QComboBox:disabled { - background-color: #7F7F7F; - color: #353535; -} - -QComboBox:hover { - /*background-color: #4882ff;*/ - border: 1px solid #4882ff; -} - -QComboBox:focus { - border: 1px solid #3f7cff; -} - -QComboBox:on { - selection-background-color: #3f7cff; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #4882ff; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #696968; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #3c3c3c; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - subcontrol-position: top right; - width: 14px; - border-left: 1px solid transparent; -} -QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: white; - qproperty-groupBackground: #3c3c3c; - border: 0px solid #696968; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); -} - -QSint--ActionGroup QToolButton[class="header"] { -color: white; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #7F7F7F; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #4882ff; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #4882ff; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #4882ff; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #4882ff; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: white; -background-color: #505050; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: white; - text-align: center; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); - -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #3f7cff; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #696969; - background-color: #505050; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #4882ff, stop:1 #3f7cff); - -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #7F7F7F; -} - -QSlider:focus { - /* border: 1px solid #3f7cff;*/ -} - -QSlider::groove:horizontal { - background: #7F7F7F; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #7F7F7F; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #4882ff; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #696968; -} - -QSlider::sub-page:horizontal { - background: #4882ff; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #4882ff; -} - -QSlider::handle:horizontal { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #4882ff; - border: 1px solid #696968; -} - -QSlider::handle:horizontal:focus { - background: #3f7cff; - border: 1px solid #3f7cff; -} - -QSlider::handle:vertical { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #4882ff; - border: 1px solid #696968; -} - -QSlider::handle:vertical:focus { - border: 1px solid #3f7cff; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #505050; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #696968; - border-radius: 2px; - color: White; -} - -QLineEdit:disabled { - background-color: #7F7F7F; - color: #c2c7cb; -} - -QLineEdit:hover { - border: 1px solid #4882ff; - color: White; -} - -QLineEdit:focus { - border: 2px solid #3f7cff; -} - -QLineEdit:selected { - background-color: #4882ff; - color: white; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #4882ff; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #4882ff; - border: 1px solid #346792; -} - -QTabWidget::pane:selected { - background-color: #557bb6; - border: 1px solid #346792; -} - -QTabWidget::pane:top { - top: -1px; - border-top: 1px solid #696969; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #696969; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #696969; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #696969; -} - -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_light.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ - padding: 4px; -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - color: #f5f5f5; - -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - color: #f5f5f5; - -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - color: #f5f5f5; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - color: #f5f5f5; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - color: #f5f5f5; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - color: #f5f5f5; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - color: #f5f5f5; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-bottom: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - color: white; - border-top: 4px solid #4882ff; /* selection color */ - border-bottom: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - } - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #4882ff;*/ - border: 0px solid #4882ff; - background-color: #4882ff; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - color: #f5f5f5; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-top: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - color: white; - border-bottom: 4px solid #4882ff; /* selection color */ - border-top: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #4882ff;*/ - border: 0px solid #4882ff; - background-color: #4882ff; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #7F7F7F; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #7F7F7F; - border: 0px solid #3f7cff; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #4882ff; - background-color: #4882ff; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #7F7F7F; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #7F7F7F; - border: 0px solid #3f7cff; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #4882ff; - background-color: #4882ff; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #7F7F7F; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #4882ff; - background-color: #4882ff; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #4882ff; - background-color: #4882ff; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_lighter.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_light.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_light.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #7F7F7F; - border: 1px solid #505051; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #4882ff;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_light.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_light.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #7F7F7F; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #696968; - color: White; - gridline-color: #696968; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(82, 82, 82, 0.85); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #505050; - color: #c2c7cb; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #4882ff; - color: White; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #3f7cff; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #4882ff; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #4882ff; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: White; - background-color: #353535; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: White; - background-color: #4882ff; -} - -QTableCornerButton::section { - background-color: #7F7F7F; - border: 1px transparent #696968; - border-radius: 0px; -} - -QTableView::item { - color: white; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: transparent; - text-align: center; -} - -QHeaderView:disabled { - background-color: #7f7f7f; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - color: White; - border: 1px solid #505051; - font-size: 13px; - font-weight: bold; -} - -QHeaderView::section::horizontal { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 5px; - padding-right: 0px; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 0px solid #696968; -} - -QHeaderView::section::horizontal:disabled { - color: #353535; -} - -QHeaderView::section::vertical { - padding-top: 1px; - padding-bottom: 0; - padding-left: 1px; - padding-right: 0px; - border-top: 0px solid #696968; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 2px solid #505051; -} - -QHeaderView::section::vertical:disabled { - border-top: 2px solid #505051; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::up-arrow { - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_light.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #696969; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #4882ff; -} - -QToolBox::tab { - background-color: transparent; - border: 0px solid #696969; - color: white; - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #696969; -} - -QToolBox::tab:selected { - background-color: #696969; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #696969; - border-bottom: 0px solid #cccccc; - color: white; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #7F7F7F; -} - -QToolBox::tab:hover { - background-color: #4882ff; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #696968; - background-color: #696969; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #696968; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #696968; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #7F7F7F; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #4882ff, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #4882ff, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #4882ff; - border-style: solid; - border: 1px solid #696968; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #4882ff; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #696968; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #7F7F7F; - border-radius: 2px; - border: 1px solid #696968; - selection-background-color: #4882ff; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #4882ff; - color: White; -} - -QAbstractView:selected { - background: #4882ff; - color: White; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Dark-contrast.qss b/src/Gui/Stylesheets/Dark-contrast.qss index cf0cd8d1b5..05a94cc74a 100644 --- a/src/Gui/Stylesheets/Dark-contrast.qss +++ b/src/Gui/Stylesheets/Dark-contrast.qss @@ -45,10 +45,10 @@ If you would like to change the overall look/style of the theme, just find and r white SELECTION (darker to lighter) - #1b3774 - #2053c0 - #3874f2 - #5e90fa = main selection color + @ThemeAccentColor3 + @ThemeAccentColor1 + @ThemeAccentColor3 + @ThemeAccentColor2 = main selection color #6f9efa = used to build QSpinBox up and down buttons, it's used as color in the middle #7cabf9 #adc5ed @@ -133,7 +133,7 @@ QMenuBar::item:pressed, QMenu::item:selected, QMenu::item:pressed { color: #ffffff; - background-color: #2053c0; + background-color: @ThemeAccentColor1; } QMenu::right-arrow { @@ -158,8 +158,8 @@ QMenu::icon { } QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #2053c0; - border: 2px #2053c0; + background: @ThemeAccentColor1; + border: 2px @ThemeAccentColor1; position: absolute; border-radius: 2px; } @@ -191,7 +191,7 @@ QMenu QToolButton:pressed, QMenu QPushButton:selected, QMenu QToolButton:selected { color: white; - background-color: #2053c0; /* same as QMenu::item:selected and QMenu::item:pressed */ + background-color: @ThemeAccentColor1; /* same as QMenu::item:selected and QMenu::item:pressed */ } QMenu QRadioButton:disabled, @@ -356,7 +356,7 @@ QProgressBar:horizontal { } QProgressBar::chunk, QProgressBar::chunk:horizontal { - background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 #3874f2, stop:1 #5e90fa); + background-color: qlineargradient(spread:pad, x1:1, y1:0.545, x2:1, y2:0, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor2); border-radius: 3px; } @@ -571,22 +571,22 @@ QTabBar::tab:selected { } QTabBar::tab:top:selected { - border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-top: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor3); /* selection color */ border-bottom-color: #444444; /* same as tab content background color */ } QTabBar::tab:bottom:selected { - border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-bottom: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor3); /* selection color */ border-top-color: #444444; /* same as tab content background color */ } QTabBar::tab:right:selected { - border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-left: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor3); /* selection color */ border-right-color: #444444; /* same as tab content background color */ } QTabBar::tab:left:selected { - border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 #5e90fa, stop:1 #3874f2); /* selection color */ + border-right: 4px solid qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 @ThemeAccentColor2, stop:1 @ThemeAccentColor3); /* selection color */ border-left-color: #444444; /* same as tab content background color */ } @@ -637,7 +637,7 @@ QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { color: white; - background-color: #2053c0; + background-color: @ThemeAccentColor1; } @@ -749,7 +749,7 @@ QTableView { alternate-background-color: #1f1f1f; /* related with QListView background */ border: 1px solid #333333; selection-color: #ffffff; - selection-background-color: #2053c0; /* should be similar to QListView::item selected background-color */ + selection-background-color: @ThemeAccentColor1; /* should be similar to QListView::item selected background-color */ show-decoration-selected: 1; /* make the selection span the entire width of the view */ border-radius: 3px; } @@ -762,7 +762,7 @@ QTreeView::item:hover { QListView::item:selected, QTreeView::item:selected { color: #ffffff; /* should be similar to QListView selection-color */ - background-color: #2053c0; /* should be similar to QListView selection-background-color */ + background-color: @ThemeAccentColor1; /* should be similar to QListView selection-background-color */ show-decoration-selected: 1; /* make the selection span the entire width of the view */ } @@ -773,7 +773,7 @@ Gui--PropertyEditor--PropertyEditor { /* fix for column items background when a link is present */ Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #2053c0; /* same as focused background color */ + background-color: @ThemeAccentColor1; /* same as focused background color */ } /* hack to hide weird redundant information inside the value of a Placement cell */ @@ -1040,7 +1040,7 @@ QPlainTextEdit, QPlainTextEdit:focus { background-color: black; selection-color: #cbd8e6; - selection-background-color: #2053c0; + selection-background-color: @ThemeAccentColor1; border: 1px solid #333333; border-radius: 3px; margin: 4px; @@ -1083,7 +1083,7 @@ QSint--ActionGroup QFrame[class="header"] { } QSint--ActionGroup QFrame[class="header"]:hover { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #1b3774); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QToolButton[class="header"] { @@ -1186,7 +1186,7 @@ QDateTimeEdit { color: #bebebe; background-color: black; selection-color: white; - selection-background-color: #1b3774 ; + selection-background-color: @ThemeAccentColor3 ; border: 1px solid black; border-radius: 3px; min-width: 50px; /* it ensures the default value is correctly displayed */ @@ -1227,9 +1227,9 @@ QTimeEdit:focus, QDateEdit:focus, QDateTimeEdit:focus { color: #fafafa; - border-color: #1b3774; - border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #1b3774, stop:1 #1b3774); /* same as up/down or drop-down button color */ - background-color: #2053c0; + border-color: @ThemeAccentColor3; + border-right-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor3); /* same as up/down or drop-down button color */ + background-color: @ThemeAccentColor1; } QComboBox:disabled, @@ -1289,7 +1289,7 @@ QDoubleSpinBox:up-button:focus, QTimeEdit:up-button:focus, QDateEdit:up-button:focus, QDateTimeEdit:up-button:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #1b3774, stop:1 #1b3774); + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor3); } QAbstractSpinBox:down-button:focus, @@ -1298,7 +1298,7 @@ QDoubleSpinBox:down-button:focus, QTimeEdit:down-button:focus, QDateEdit:down-button:focus, QDateTimeEdit:down-button:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #1b3774, stop:1 #1b3774); + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor3); } QAbstractSpinBox:up-button:disabled, @@ -1403,7 +1403,7 @@ QComboBox::drop-down { QComboBox::drop-down:on, QComboBox::drop-down:focus { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #1b3774, stop:1 #1b3774); + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor3); } QComboBox::down-arrow { @@ -1423,14 +1423,14 @@ QComboBox::down-arrow:disabled { /* ComboBox menu */ QComboBox { selection-color: #fafafa; - selection-background-color: #2053c0; + selection-background-color: @ThemeAccentColor1; } QComboBox QAbstractItemView { color: #bebebe; /* same as regular QComboBox color */ background-color: transparent; selection-color: #fafafa; - selection-background-color: #2053c0; + selection-background-color: @ThemeAccentColor1; border-width: 5px 0px 5px 0px; border-style: solid; border-color: transparent; @@ -1456,8 +1456,8 @@ QPushButton { QPushButton:hover, QPushButton:focus { color: #cbd8e6; - border-color: #1b3774; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); + border-color: @ThemeAccentColor3; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QPushButton:disabled, @@ -1468,12 +1468,12 @@ QPushButton:disabled:checked { } QPushButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor1); } QPushButton:checked { - background-color: #2053c0; - border-color: #1b3774; + background-color: @ThemeAccentColor1; + border-color: @ThemeAccentColor3; } /* Color Buttons */ @@ -1496,12 +1496,12 @@ Gui--ColorButton:disabled { Gui--ColorButton:hover, Gui--ColorButton:focus { - border-color: #1b3774; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); + border-color: @ThemeAccentColor3; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } Gui--ColorButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor1); } /* Pushbutton style for "..." inside Placement cell which launches Placement tool */ @@ -1529,8 +1529,8 @@ Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QWidget > QWidget > QF } QPushButton:checked { - background-color: #2053c0; - border-color: #2053c0; + background-color: @ThemeAccentColor1; + border-color: @ThemeAccentColor1; } /*================================================================================================== @@ -1565,8 +1565,8 @@ QDialog QToolButton { QDialog QToolButton:hover, QDialog QToolButton:focus { color: #cbd8e6; - border-color: #1b3774; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); + border-color: @ThemeAccentColor3; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QDialog QToolButton:disabled, @@ -1577,7 +1577,7 @@ QDialog QToolButton:disabled:checked { } QDialog QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor1); } @@ -1600,8 +1600,8 @@ QSint--ActionGroup QFrame[class="content"] QToolButton { QSint--ActionGroup QFrame[class="content"] QToolButton:hover, QSint--ActionGroup QFrame[class="content"] QToolButton:focus { color: white; - border-color: #1b3774; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); + border-color: @ThemeAccentColor3; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, @@ -1612,7 +1612,7 @@ QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor3, stop:1 @ThemeAccentColor1); } /* QToolButtons with a menu found in Sketcher task panel*/ @@ -1667,8 +1667,8 @@ QRadioButton::indicator:unchecked{ } QRadioButton::indicator:checked { - background-color: #2053c0; /* QCheckBox has the same color */ - border: 1px solid #2053c0; /* QCheckBox has the same color */ + background-color: @ThemeAccentColor1; /* QCheckBox has the same color */ + border: 1px solid @ThemeAccentColor1; /* QCheckBox has the same color */ image:url(qss:images_dark-light/radiobutton_light.svg); } @@ -1740,8 +1740,8 @@ QGroupBox::indicator:checked:pressed { QCheckBox::indicator:checked, QGroupBox::indicator:checked { - background-color: #2053c0; /* QRadioButton has the same color */ - border: 1px solid #2053c0; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor1; /* QRadioButton has the same color */ + border: 1px solid @ThemeAccentColor1; /* QRadioButton has the same color */ image:url(qss:images_dark-light/checkbox_light.svg); } @@ -1758,8 +1758,8 @@ QGroupBox::indicator:disabled { QCheckBox::indicator:indeterminate, QGroupBox::indicator:indeterminate { - background-color: #2053c0; - border: 1px solid #2053c0; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); } @@ -1795,8 +1795,8 @@ QListWidget::indicator:checked:selected, QListWidget::indicator:indeterminate:selected, QTreeView::indicator:checked:selected, QTreeView::indicator:indeterminate:selected { - background-color: #2053c0; /* slightly lighter than default */ - border-color: #2053c0; /* slightly darker than default */ + background-color: @ThemeAccentColor1; /* slightly lighter than default */ + border-color: @ThemeAccentColor1; /* slightly darker than default */ } QListWidget::indicator:pressed, @@ -1812,8 +1812,8 @@ QTreeView::indicator:checked:pressed { QListWidget::indicator:checked, QTreeView::indicator:checked { - background-color: #2053c0; /* QRadioButton has the same color */ - border: 1px solid #2053c0; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor1; /* QRadioButton has the same color */ + border: 1px solid @ThemeAccentColor1; /* QRadioButton has the same color */ image:url(qss:images_dark-light/checkbox_light.svg); } @@ -1825,8 +1825,8 @@ QTreeView::indicator:disabled { QListWidget::indicator:indeterminate, QTreeView::indicator:indeterminate { - background-color: #2053c0; - border: 1px solid #2053c0; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); } @@ -1892,7 +1892,7 @@ QSlider::handle:vertical:hover, QSlider::handle:horizontal:pressed, QSlider::handle:vertical:pressed { border-color: #adc5ed; - background-color: #2053c0; + background-color: @ThemeAccentColor1; } QSlider::handle:horizontal:disabled, @@ -1941,7 +1941,7 @@ QToolBar > QPushButton { QToolBar > QPushButton:checked { border: 1px solid #7cabf9; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #2053c0); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor1); } QToolBar > QPushButton:!checked { @@ -1961,7 +1961,7 @@ QToolBar > QPushButton:!checked:hover { } QToolBar > QPushButton:checked:pressed { - background-color: #2053c0; + background-color: @ThemeAccentColor1; } QToolBar > QPushButton:!checked:pressed { @@ -2014,7 +2014,7 @@ QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button { QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:hover, QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:pressed, QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:open { - background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 #2053c0, stop:1 #7cabf9); + background-color: qlineargradient(spread:pad, x1:1, y1:0.8, x2:1, y2:0, stop:0 @ThemeAccentColor1, stop:1 #7cabf9); } QToolBar > QToolButton::menu-arrow { @@ -2073,7 +2073,7 @@ Tables (spreadsheets) ==================================================================================================*/ QTableView { gridline-color: #a0a0a0; - selection-color: #1b3774; + selection-color: @ThemeAccentColor3; selection-background-color: #adc5ed; } @@ -2086,7 +2086,7 @@ QTableView::item:disabled { } QTableView::item:selected { - color: #1b3774; + color: @ThemeAccentColor3; border-color: #cbd8e6; /* same as focused background color */ border-bottom-color: #7cabf9; /* same as focused border color */ } @@ -2158,9 +2158,9 @@ QTableView > QWidget > QTextEdit:focus, QTableView > QWidget > QTimeEdit:focus, QTableView > QWidget > QDateEdit:focus, QTableView > QWidget > QDateTimeEdit:focus { - color: #1b3774; + color: @ThemeAccentColor3; selection-color: white; - selection-background-color: #2053c0; + selection-background-color: @ThemeAccentColor1; border-color: #cbd8e6; background-color: #cbd8e6; } diff --git a/src/Gui/Stylesheets/Dark-green.qss b/src/Gui/Stylesheets/Dark-green.qss deleted file mode 100644 index 5d85be7a43..0000000000 --- a/src/Gui/Stylesheets/Dark-green.qss +++ /dev/null @@ -1,2608 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #a1bd00 - #819700 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #a1bd00; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #7F7F7F; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #7F7F7F; - border: 0px solid #696968; - padding: 0px; - color: White; - selection-background-color: #a1bd00; - selection-color: White; -} - -QWidget:disabled { - color: #c2c7cb; - selection-background-color: #a1bd00; - selection-color: #c2c7cb; -} - -QWidget::item:selected { - background-color: #a1bd00; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #a1bd00; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #a1bd00, stop:0.8 transparent); - /*background-color: #a1bd00;*/ - image: url(qss:images_dark-light/splitter_vertical_light.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #a1bd00, stop:0.8 transparent); - /*background-color: #a1bd00;*/ - image: url(qss:images_dark-light/splitter_horizontal_light.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #505050; - color: White; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #3c3c3c; - /* Fixes Spyder #9120, #9121 */ - background: #7F7F7F; - /* Fixes #205, white vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #7F7F7F; - border: 1px solid #696968; - color: #7F7F7F; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: white; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #819700; -} - -QCheckBox QWidget:disabled { - color: #c2c7cb; -} - -QCheckBox::indicator { - color: white; - background-color: #505050; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #505050; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #a1bd00; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #7F7F7F; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #505050; - /*border: 1px solid #696968; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #a1bd00; -} - -QCheckBox::indicator:checked:disabled { - background-color: #7F7F7F; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #505050; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #7F7F7F; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #a1bd00; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #696968; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: white; - background-color: #3c3c3c; - border: 1px solid #696968; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #696968; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #a1bd00; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #505050; - border: 1px solid #696968; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #a1bd00; -} - -QGroupBox::indicator:checked:disabled { - background-color: #a1bd00; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: White; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #819700; -} - -QRadioButton:disabled { - background-color: #696968; - color: #353535; -} - -QRadioButton QWidget { - background-color: transparent; - color: White; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #3c3c3c; - border: 1px solid #696968; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #a1bd00; - border: 1px solid #a1bd00; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #696968; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #a1bd00; - border: 1px solid #a1bd00; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #696968; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #505050; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: White; - selection-background-color: #a1bd00; -} - -QMenuBar:focus { - border: 1px solid #819700; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #696968; - background-color: #a1bd00; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #696968; - background-color: #a1bd00; - color: White; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: White; - margin: 0px; - background-color: #505050; - selection-background-color: #a1bd00; -} - -QMenu::separator { - height: 2px; - background-color: #3c3c3c; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #696968; -} - -QMenu::item:selected { - color: White; - background-color: #a1bd00; -} - -QMenu::item:pressed { - background-color: #a1bd00; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #819700; - margin-left: -5px; - border: 5px solid #819700; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #a1bd00; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #a1bd00; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #a1bd00; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #a1bd00; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_lighter.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #5b5b5b; - color: White; - border: 1px solid #696968; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #696968; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: White; -} - -QAbstractScrollArea:disabled { - color: #353535; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #7F7F7F; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 8px 2px 8px; - border: 0px solid #696968; - border-radius: 1.9px; - background-color: #7F7F7F; -} - -QScrollBar:vertical { - background-color: #7F7F7F; - width: 16px; - margin: 8px 2px 8px 2px; - border: 0px solid #696968; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #696969; - border: 1px solid #7F7F7F; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #a1bd00; - border: #696968; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #819700; -} - -QScrollBar::handle:vertical { - background-color: #696969; - border: 1px solid #696968; - min-height: 8px; - border-radius: 4px; -} - -QScrollBar::handle:vertical:hover { - background-color: #a1bd00; - border: #696968; - border-radius: 4px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #819700; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - background-color: #a1bd00; - border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #7F7F7F; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QTextEdit:focus { - border: 1px solid #819700; -} - -QTextEdit:selected { - background: #346792; - color: white; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #3c3c3c; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QPlainTextEdit:focus { - border: 1px solid #819700; -} - -QPlainTextEdit:selected { - background: #a1bd00; - color: White; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_light.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #696968; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #7F7F7F; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #7F7F7F; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #696969; -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #a1bd00; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -border-color: #696968; -background-color: #a1bd00; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #505050; - border: 1px solid transparent; - color: White; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - subcontrol-origin: border; - subcontrol-position: top right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - subcontrol-origin: border; - subcontrol-position: bottom right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #a1bd00; - color: White;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #819700; -} - -QAbstractSpinBox:selected { - background: #819700; - /*color: White;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #696968; - padding: 2px; - margin: 0px; - color: White; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #696968; - color: #c2c7cb; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #505050; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #7F7F7F; - border: 1px solid #696968; - color: #c2c7cb; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #a1bd00; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #a1bd00; - color: White; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #505050; - border: 0px solid #696968; - color: #c2c7cb; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #696968; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #353535; - color: #c2c7cb; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: White; -} - -QLCDNumber:disabled { - background-color: #7F7F7F; - color: #c2c7cb; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #c2c7cb; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #505050; - border: 1px solid #696968; - color: #696969; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #a1bd00; - color: #7F7F7F; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #505050; - color: #696968; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - color: White; - border: 1px solid #505051; - border-bottom-color: #1e1e1e; /* simulates shadow under the button */ - border-radius: 4px; - padding: 2px; -} - -QPushButton:disabled { - background-color: #7F7F7F; - color: #c2c7cb; - -} - -QPushButton:checked { - background-color: #a1bd00; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #a1bd00; - color: #3c3c3c; - outline: none; -} - -QPushButton:checked:selected { - background: #a1bd00; -} - -QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); - color: White; -} - -QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #819700, stop:1 #a1bd00); -} - -QPushButton:selected { - background: #819700; - color: White; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: White; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: rgba(0, 0, 0, 0.065); - color: #c2c7cb; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #a1bd00; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #c2c7cb; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #a1bd00; - color: White; -} - -QToolButton:checked:pressed { - background-color: #a1bd00; -} - -QToolButton:checked:selected { - background: #819700; - color: White; -} - -QToolButton:hover { - background-color: #a1bd00; - color: White; -} - -QToolButton:pressed { - background-color: #819700; -} - -QToolButton:selected { - background: #a1bd00; - color: White; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #ffffff; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} -QToolButton::menu-arrow:hover { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #c2c7cb; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #505050; - border-radius: 2px; - selection-background-color: #a1bd00; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #505050; -} -QComboBox QAbstractItemView { - border: 0px solid #696968; - border-radius: 0px; - background-color: #505050; - selection-background-color: #a1bd00; -} - -QComboBox QAbstractItemView:hover { - background-color:#505050; - color: White; -} - -QComboBox QAbstractItemView:selected { - background: #a1bd00; - color: White; -} - -QComboBox QAbstractItemView:alternate { - background: #3c3c3c; -} - -QComboBox:disabled { - background-color: #7F7F7F; - color: #353535; -} - -QComboBox:hover { - /*background-color: #a1bd00;*/ - border: 1px solid #a1bd00; -} - -QComboBox:focus { - border: 1px solid #819700; -} - -QComboBox:on { - selection-background-color: #819700; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #a1bd00; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #696968; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #3c3c3c; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - subcontrol-position: top right; - width: 14px; - border-left: 1px solid transparent; -} -QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: white; - qproperty-groupBackground: #3c3c3c; - border: 0px solid #696968; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); -} - -QSint--ActionGroup QToolButton[class="header"] { -color: white; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #7F7F7F; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #a1bd00; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #a1bd00; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #a1bd00; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #a1bd00; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: white; -background-color: #505050; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: white; - text-align: center; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); - -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #819700; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #696969; - background-color: #505050; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #a1bd00, stop:1 #819700); - -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - - --------------------------------------------------------------------------- */ -QSlider:disabled { -background: #7F7F7F; -} - -QSlider:focus { - /* border: 1px solid #819700;*/ -} - -QSlider::groove:horizontal { - background: #7F7F7F; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #7F7F7F; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #a1bd00; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #696968; -} - -QSlider::sub-page:horizontal { - background: #a1bd00; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #a1bd00; -} - -QSlider::handle:horizontal { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #a1bd00; - border: 1px solid #696968; -} - -QSlider::handle:horizontal:focus { - background: #819700; - border: 1px solid #819700; -} - -QSlider::handle:vertical { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #a1bd00; - border: 1px solid #696968; -} - -QSlider::handle:vertical:focus { - border: 1px solid #819700; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #505050; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #696968; - border-radius: 2px; - color: White; -} - -QLineEdit:disabled { - background-color: #7F7F7F; - color: #c2c7cb; -} - -QLineEdit:hover { - border: 1px solid #a1bd00; - color: White; -} - -QLineEdit:focus { - border: 2px solid #819700; -} - -QLineEdit:selected { - background-color: #a1bd00; - color: white; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #a1bd00; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #a1bd00; - border: 1px solid #346792; -} - -QTabWidget::pane:selected { - background-color: #557bb6; - border: 1px solid #346792; -} - -QTabWidget::pane:top { - top: -1px; - border-top: 1px solid #696969; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #696969; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #696969; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #696969; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_light.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ - padding: 4px; -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - color: #f5f5f5; - -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - color: #f5f5f5; - -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - color: #f5f5f5; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - color: #f5f5f5; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - color: #f5f5f5; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - color: #f5f5f5; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - color: #f5f5f5; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-bottom: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - color: white; - border-top: 4px solid #a1bd00; /* selection color */ - border-bottom: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - } - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #a1bd00;*/ - border: 0px solid #a1bd00; - background-color: #a1bd00; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - color: #f5f5f5; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-top: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - color: white; - border-bottom: 4px solid #a1bd00; /* selection color */ - border-top: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #a1bd00;*/ - border: 0px solid #a1bd00; - background-color: #a1bd00; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #7F7F7F; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #7F7F7F; - border: 0px solid #819700; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #a1bd00; - background-color: #a1bd00; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #7F7F7F; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #7F7F7F; - border: 0px solid #819700; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #a1bd00; - background-color: #a1bd00; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #7F7F7F; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #a1bd00; - background-color: #a1bd00; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #a1bd00; - background-color: #a1bd00; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_lighter.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_light.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_light.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #7F7F7F; - border: 1px solid #505051; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #a1bd00;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_light.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_light.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #7F7F7F; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #696968; - color: White; - gridline-color: #696968; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(82, 82, 82, 0.85); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #505050; - color: #c2c7cb; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #a1bd00; - color: White; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #819700; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #a1bd00; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #a1bd00; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: White; - background-color: #353535; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: White; - background-color: #a1bd00; -} - -QTableCornerButton::section { - background-color: #7F7F7F; - border: 1px transparent #696968; - border-radius: 0px; -} - -QTableView::item { - color: white; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: transparent; - text-align: center; -} - -QHeaderView:disabled { - background-color: #7f7f7f; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - color: White; - border: 1px solid #505051; - font-size: 13px; - font-weight: bold; -} - -QHeaderView::section::horizontal { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 5px; - padding-right: 0px; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 0px solid #696968; -} - -QHeaderView::section::horizontal:disabled { - color: #353535; -} - -QHeaderView::section::vertical { - padding-top: 1px; - padding-bottom: 0; - padding-left: 1px; - padding-right: 0px; - border-top: 0px solid #696968; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 2px solid #505051; -} - -QHeaderView::section::vertical:disabled { - border-top: 2px solid #505051; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::up-arrow { - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_light.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #696969; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #a1bd00; -} - -QToolBox::tab { - background-color: transparent; - border: 0px solid #696969; - color: white; - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #696969; -} - -QToolBox::tab:selected { - background-color: #696969; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #696969; - border-bottom: 0px solid #cccccc; - color: white; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #7F7F7F; -} - -QToolBox::tab:hover { - background-color: #a1bd00; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #696968; - background-color: #696969; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #696968; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #696968; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #7F7F7F; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #a1bd00, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #a1bd00, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #a1bd00; - border-style: solid; - border: 1px solid #696968; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #a1bd00; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #696968; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #7F7F7F; - border-radius: 2px; - border: 1px solid #696968; - selection-background-color: #a1bd00; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #a1bd00; - color: White; -} - -QAbstractView:selected { - background: #a1bd00; - color: White; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Dark-modern-blue.qss b/src/Gui/Stylesheets/Dark-modern-blue.qss deleted file mode 100644 index 17c2b429af..0000000000 --- a/src/Gui/Stylesheets/Dark-modern-blue.qss +++ /dev/null @@ -1,2627 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #557bb6 - #560062 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #557bb6; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #2b2b2b; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #2b2b2b; - border: 0px solid #696968; - padding: 0px; - color: White; - selection-background-color: #557bb6; - selection-color: White; -} - -QWidget:disabled { - color: #c2c7cb; - selection-background-color: #557bb6; - selection-color: #c2c7cb; -} - -QWidget::item:selected { - background-color: #557bb6; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #557bb6; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #557bb6, stop:0.8 transparent); - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/splitter_vertical_light.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #557bb6, stop:0.8 transparent); - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/splitter_horizontal_light.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #1c1b22; - color: White; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #3c3c3c; - /* Fixes Spyder #9120, #9121 */ - background: #2b2b2b; - /* Fixes #205, white vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #2b2b2b; - border: 1px solid #696968; - color: #2b2b2b; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: white; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #560062; -} - -QCheckBox QWidget:disabled { - color: #c2c7cb; -} - -QCheckBox::indicator { - color: white; - background-color: #1c1b22; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #1c1b22; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #557BB6; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #2b2b2b; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #1c1b22; - /*border: 1px solid #696968; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #557BB6; -} - -QCheckBox::indicator:checked:disabled { - background-color: #2b2b2b; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #1c1b22; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #2b2b2b; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #557BB6; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #696968; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: white; - background-color: #3c3c3c; - border: 1px solid #696968; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #696968; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #557BB6; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #1c1b22; - border: 1px solid #696968; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #557BB6; -} - -QGroupBox::indicator:checked:disabled { - background-color: #557BB6; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: White; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #560062; -} - -QRadioButton:disabled { - background-color: #696968; - color: #353535; -} - -QRadioButton QWidget { - background-color: transparent; - color: White; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #3c3c3c; - border: 1px solid #696968; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #557bb6; - border: 1px solid #557bb6; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #696968; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #557bb6; - border: 1px solid #557bb6; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #696968; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #161616; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: White; - selection-background-color: #557bb6; -} - -QMenuBar:focus { - border: 1px solid #560062; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #696968; - background-color: #557bb6; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #696968; - background-color: #557bb6; - color: White; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: White; - margin: 0px; - background-color: #161616; - selection-background-color: #557bb6; -} - -QMenu::separator { - height: 2px; - background-color: #3c3c3c; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #696968; -} - -QMenu::item:selected { - color: White; - background-color: #557bb6; -} - -QMenu::item:pressed { - background-color: #557bb6; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #560062; - margin-left: -5px; - border: 5px solid #560062; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #557BB6; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #557BB6; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #557BB6; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #557BB6; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_lighter.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #5b5b5b; - color: White; - border: 1px solid #696968; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #696968; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: White; -} - -QAbstractScrollArea:disabled { - color: #353535; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #2b2b2b; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 16px 2px 16px; - border: 0px solid #696968; - border-radius: 1.9px; - background-color: #2b2b2b; -} - -QScrollBar:vertical { - background-color: #2b2b2b; - width: 16px; - margin: 16px 2px 16px 2px; - border: 0px solid #696968; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #696969; - border: 1px solid #2b2b2b; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #557bb6; - border: #696968; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #560062; -} - -QScrollBar::handle:vertical { - background-color: #696969; - border: 1px solid #696968; - min-height: 8px; - border-radius: 1.9px; -} - -QScrollBar::handle:vertical:hover { - background-color: #557bb6; - border: #696968; - border-radius: 1.9px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #560062; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #2b2b2b; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QTextEdit:focus { - border: 1px solid #560062; -} - -QTextEdit:selected { - background: #346792; - color: white; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #3c3c3c; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QPlainTextEdit:focus { - border: 1px solid #560062; -} - -QPlainTextEdit:selected { - background: #557bb6; - color: White; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_light.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #696968; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #2b2b2b; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #2b2b2b; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #696969; -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #557bb6; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -border-color: #696968; -background-color: #557bb6; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #1c1b22; - border: 1px solid transparent; - color: White; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: #696968; - subcontrol-origin: border; - subcontrol-position: top right; - border-left: 1px solid transparent; - border-bottom: 1px solid #1c1b22; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QAbstractSpinBox:down-button { - background-color: #696968; - subcontrol-origin: border; - subcontrol-position: bottom right; - border-left: 1px solid #696968; - border-top: 1px solid #696968; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #557bb6; - color: White;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #560062; -} - -QAbstractSpinBox:selected { - background: #560062; - /*color: White;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #696968; - padding: 2px; - margin: 0px; - color: White; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #696968; - color: #c2c7cb; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #1c1b22; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #2b2b2b; - border: 1px solid #696968; - color: #c2c7cb; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #557bb6; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #557bb6; - color: White; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #1c1b22; - border: 0px solid #696968; - color: #c2c7cb; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #696968; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #353535; - color: #c2c7cb; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: White; -} - -QLCDNumber:disabled { - background-color: #2b2b2b; - color: #c2c7cb; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #c2c7cb; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #161616; - border: 1px solid #696968; - color: #696969; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #557bb6; - color: #2b2b2b; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #161616; - color: #696968; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: #696969; - color: White; - border-radius: 2px; - padding: 2px; - outline: none; - border: none; -} - -QPushButton:disabled { - background-color: #2b2b2b; - color: #c2c7cb; - border-radius: 2px; - padding: 2px; -} - -QPushButton:checked { - background-color: #557bb6; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #557bb6; - color: #3c3c3c; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:selected { - background: #557bb6; -} - -QPushButton:hover { - background-color: #557bb6; - color: White; -} - -QPushButton:pressed { - background-color: #557bb6; -} - -QPushButton:selected { - background: #560062; - color: White; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: White; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: rgba(0, 0, 0, 0.065); - color: transparent; - border-radius: 1px; - padding: 0px; - opacity: 1.0; -} - -QToolButton:checked { - background-color: #557bb6; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #c2c7cb; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #557bb6; - color: White; -} - -QToolButton:checked:pressed { - background-color: #557bb6; -} - -QToolButton:checked:selected { - background: #560062; - color: White; -} - -QToolButton:hover { - background-color: #557bb6; - color: White; -} - -QToolButton:pressed { - background-color: #560062; -} - -QToolButton:selected { - background: #557bb6; - color: White; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #ffffff; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} -QToolButton::menu-arrow:hover { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #c2c7cb; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #1c1b22; - border-radius: 2px; - selection-background-color: #557bb6; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #1c1b22; -} -QComboBox QAbstractItemView { - border: 0px solid #696968; - border-radius: 0px; - background-color: #1c1b22; - selection-background-color: #557bb6; -} - -QComboBox QAbstractItemView:hover { - background-color:Black; - color: White; -} - -QComboBox QAbstractItemView:selected { - background: #557bb6; - color: White; -} - -QComboBox QAbstractItemView:alternate { - background: #3c3c3c; -} - -QComboBox:disabled { - background-color: #2b2b2b; - color: #353535; -} - -QComboBox:hover { - /*background-color: #557bb6;*/ - border: 1px solid #557bb6; -} - -QComboBox:focus { - border: 1px solid #560062; -} - -QComboBox:on { - selection-background-color: #560062; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #557bb6; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #696968; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #3c3c3c; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: #696969; - subcontrol-position: top right; - width: 14px; - border-left: 1px solid #696968; -} -QComboBox::drop-down:hover { - background-color: #557bb6; -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: white; - qproperty-groupBackground: #3c3c3c; - border: 0px solid #696968; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -background-color: #696969; /* Task Panel Header background color */ -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: #557BB6; -} - -QSint--ActionGroup QToolButton[class="header"] { -color: white; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #2b2b2b; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #557bb6; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #557bb6; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #557bb6; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #557bb6; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: white; -background-color: black; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: white; - text-align: center; - background-color: #696969; - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background: #557bb6; - border: 1px solid #557bb6; -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #560062; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #696969; - background-color: #1c1b22; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background: #557bb6; - border: 1px solid #557bb6; -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #2b2b2b; -} - -QSlider:focus { - /*border: 1px solid #560062;*/ -} - -QSlider::groove:horizontal { - background: #2b2b2b; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #557bb6; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #557bb6; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #696968; -} - -QSlider::sub-page:horizontal { - background: #557bb6; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #557bb6; -} - -QSlider::handle:horizontal { - background: #696968; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #557bb6; - border: 1px solid #696968; -} - -QSlider::handle:horizontal:focus { - background: #560062; - border: 1px solid #560062; -} - -QSlider::handle:vertical { - background: #696968; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #557bb6; - border: 1px solid #696968; -} - -QSlider::handle:vertical:focus { - border: 1px solid #560062; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #1c1b22; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #696968; - border-radius: 2px; - color: White; -} - -QLineEdit:disabled { - background-color: #2b2b2b; - color: #c2c7cb; -} - -QLineEdit:hover { - border: 1px solid #557bb6; - color: White; -} - -QLineEdit:focus { - border: 2px solid #560062; -} - -QLineEdit:selected { - background-color: #557bb6; - color: white; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #557bb6; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - border: 0px solid #8c00ffa1; - border-radius: 1.9px; - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #557bb6; - border: 1px solid #346792; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - border-radius: 2px; - margin: 0px; - padding: 2px; - border: 0; - alignment: center; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_light.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - border-bottom: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - border-top: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - border-right: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - border-left: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - border-bottom: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - border-top: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - border-right: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - border-left: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - border-bottom: 2px solid #696969; - margin-top: 2px; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - border-top: 2px solid #696969; - margin-bottom: 2px; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - border-left: 2px solid #696969; - margin-right: 2px; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - border-right: 2px solid #696969; - margin-left: 2px; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - background-color: #2b2b2b; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border: 1px solid #696969; - border-radius: 4px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - background-color: #696969; - /*border: 1px solid #560062; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #557bb6;*/ - border: 0px solid #557bb6; - background-color: #557bb6; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - border: 1px solid #696969; - background-color: #2b2b2b; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - border-radius: 4px; - min-width: 5px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - background-color: #696969; - /*border: 1px solid #560062; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #557bb6;*/ - border: 0px solid #557bb6; - background-color: #557bb6; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #2b2b2b; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #2b2b2b; - border: 0px solid #560062; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #557bb6; - background-color: #557bb6; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #2b2b2b; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #2b2b2b; - border: 0px solid #560062; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #557bb6; - background-color: #557bb6; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #2b2b2b; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #557bb6; - background-color: #557bb6; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #557bb6; - background-color: #557bb6; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_lighter.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_light.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_light.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #2b2b2b; - border: 1px solid #696968; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: #2b2b2b; - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_light.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_light.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #2b2b2b; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #696968; - color: White; - gridline-color: #696968; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(31, 31, 31, 0.85); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #1c1b22; - color: #c2c7cb; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #557bb6; - color: White; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #560062; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #557bb6; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #557bb6; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: White; - background-color: #353535; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: White; - background-color: #557bb6; -} - -QTableCornerButton::section { - background-color: #2b2b2b; - border: 1px transparent #696968; - border-radius: 0px; -} - -QTableView::item { - color: white; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: #2b2b2b; - border: 1px solid #696968; - padding: 0; - margin: 0; - border-radius: 0px; - text-align: center; -} - -QHeaderView:disabled { - background-color: #2b2b2b; - border: 1px solid #696968; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: #3c3c3c; - color: White; - border-radius: 0px; - font-size: 13px; - font-weight: bold; - text-align: center; -} - -QHeaderView::section::horizontal { - padding-top: 0; - padding-bottom: 0; - padding-left: 10px; - padding-right: 10px; - border-left: 1px solid #696968; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 1px solid #696968; - padding-left: 15px; -} - -QHeaderView::section::horizontal:disabled { - color: #353535; -} - -QHeaderView::section::vertical { - padding-top: 0; - padding-bottom: 0; - padding-left: 1px; - padding-right: 1px; - border-top: 1px solid #696968; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 1px solid #696968; -} - -QHeaderView::section::vertical:disabled { - color: #7a7a7a; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: #696969; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::up-arrow { - background-color: #696969; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_light.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #696969; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #557bb6; -} - -QToolBox::tab { - background-color: #696969; - border: 0px solid #696969; - color: white; - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #696969; -} - -QToolBox::tab:selected { - background-color: #696969; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #696969; - border-bottom: 0px solid #cccccc; - color: white; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #2b2b2b; -} - -QToolBox::tab:hover { - background-color: #557bb6; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #696968; - background-color: #696969; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #696968; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #696968; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #2b2b2b; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #557bb6, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #557bb6, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #557bb6; - border-style: solid; - border: 1px solid #696968; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #557bb6; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #696968; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #2b2b2b; - border-radius: 2px; - border: 1px solid #696968; - selection-background-color: #557bb6; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #557bb6; - color: White; -} - -QAbstractView:selected { - background: #557bb6; - color: White; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Dark-modern-green.qss b/src/Gui/Stylesheets/Dark-modern-green.qss deleted file mode 100644 index f9a19c0c68..0000000000 --- a/src/Gui/Stylesheets/Dark-modern-green.qss +++ /dev/null @@ -1,2627 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #74b655 - #560062 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #74b655; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #2b2b2b; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #2b2b2b; - border: 0px solid #696968; - padding: 0px; - color: White; - selection-background-color: #74b655; - selection-color: White; -} - -QWidget:disabled { - color: #c2c7cb; - selection-background-color: #74b655; - selection-color: #c2c7cb; -} - -QWidget::item:selected { - background-color: #74b655; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #74b655; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #74b655, stop:0.8 transparent); - /*background-color: #74b655;*/ - image: url(qss:images_dark-light/splitter_vertical_light.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #74b655, stop:0.8 transparent); - /*background-color: #74b655;*/ - image: url(qss:images_dark-light/splitter_horizontal_light.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #1c1b22; - color: White; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #3c3c3c; - /* Fixes Spyder #9120, #9121 */ - background: #2b2b2b; - /* Fixes #205, white vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #2b2b2b; - border: 1px solid #696968; - color: #2b2b2b; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: white; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #560062; -} - -QCheckBox QWidget:disabled { - color: #c2c7cb; -} - -QCheckBox::indicator { - color: white; - background-color: #1c1b22; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #1c1b22; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #74b655; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #2b2b2b; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #1c1b22; - /*border: 1px solid #696968; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #74b655; -} - -QCheckBox::indicator:checked:disabled { - background-color: #2b2b2b; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #1c1b22; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #2b2b2b; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #74b655; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #696968; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: white; - background-color: #3c3c3c; - border: 1px solid #696968; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #696968; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #74b655; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #1c1b22; - border: 1px solid #696968; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #74b655; -} - -QGroupBox::indicator:checked:disabled { - background-color: #74b655; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: White; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #560062; -} - -QRadioButton:disabled { - background-color: #696968; - color: #353535; -} - -QRadioButton QWidget { - background-color: transparent; - color: White; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #3c3c3c; - border: 1px solid #696968; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #74b655; - border: 1px solid #74b655; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #696968; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #74b655; - border: 1px solid #74b655; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #696968; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #161616; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: White; - selection-background-color: #74b655; -} - -QMenuBar:focus { - border: 1px solid #560062; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #696968; - background-color: #74b655; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #696968; - background-color: #74b655; - color: White; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: White; - margin: 0px; - background-color: #161616; - selection-background-color: #74b655; -} - -QMenu::separator { - height: 2px; - background-color: #3c3c3c; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #696968; -} - -QMenu::item:selected { - color: White; - background-color: #74b655; -} - -QMenu::item:pressed { - background-color: #74b655; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #560062; - margin-left: -5px; - border: 5px solid #560062; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #74b655; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #74b655; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #74b655; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #74b655; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_lighter.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #5b5b5b; - color: White; - border: 1px solid #696968; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #696968; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: White; -} - -QAbstractScrollArea:disabled { - color: #353535; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #2b2b2b; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 16px 2px 16px; - border: 0px solid #696968; - border-radius: 1.9px; - background-color: #2b2b2b; -} - -QScrollBar:vertical { - background-color: #2b2b2b; - width: 16px; - margin: 16px 2px 16px 2px; - border: 0px solid #696968; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #696969; - border: 1px solid #2b2b2b; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #74b655; - border: #696968; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #560062; -} - -QScrollBar::handle:vertical { - background-color: #696969; - border: 1px solid #696968; - min-height: 8px; - border-radius: 1.9px; -} - -QScrollBar::handle:vertical:hover { - background-color: #74b655; - border: #696968; - border-radius: 1.9px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #560062; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #2b2b2b; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QTextEdit:focus { - border: 1px solid #560062; -} - -QTextEdit:selected { - background: #346792; - color: white; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #3c3c3c; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QPlainTextEdit:focus { - border: 1px solid #560062; -} - -QPlainTextEdit:selected { - background: #74b655; - color: White; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_light.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #696968; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #2b2b2b; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #2b2b2b; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #696969; -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #74b655; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -border-color: #696968; -background-color: #74b655; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #1c1b22; - border: 1px solid transparent; - color: White; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: #696968; - subcontrol-origin: border; - subcontrol-position: top right; - border-left: 1px solid transparent; - border-bottom: 1px solid #1c1b22; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - /*background-color: #74b655;*/ - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QAbstractSpinBox:down-button { - background-color: #696968; - subcontrol-origin: border; - subcontrol-position: bottom right; - border-left: 1px solid #696968; - border-top: 1px solid #696968; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #74b655; - color: White;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #560062; -} - -QAbstractSpinBox:selected { - background: #560062; - /*color: White;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #696968; - padding: 2px; - margin: 0px; - color: White; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #696968; - color: #c2c7cb; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #1c1b22; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #2b2b2b; - border: 1px solid #696968; - color: #c2c7cb; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #74b655; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #74b655; - color: White; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #1c1b22; - border: 0px solid #696968; - color: #c2c7cb; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #696968; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #353535; - color: #c2c7cb; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: White; -} - -QLCDNumber:disabled { - background-color: #2b2b2b; - color: #c2c7cb; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #c2c7cb; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #161616; - border: 1px solid #696968; - color: #696969; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #74b655; - color: #2b2b2b; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #161616; - color: #696968; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: #696969; - color: White; - border-radius: 2px; - padding: 2px; - outline: none; - border: none; -} - -QPushButton:disabled { - background-color: #2b2b2b; - color: #c2c7cb; - border-radius: 2px; - padding: 2px; -} - -QPushButton:checked { - background-color: #74b655; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #74b655; - color: #3c3c3c; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:selected { - background: #74b655; -} - -QPushButton:hover { - background-color: #74b655; - color: White; -} - -QPushButton:pressed { - background-color: #74b655; -} - -QPushButton:selected { - background: #560062; - color: White; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: White; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: rgba(0, 0, 0, 0.065); - color: transparent; - border-radius: 1px; - padding: 0px; - opacity: 1.0; -} - -QToolButton:checked { - background-color: #74b655; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #c2c7cb; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #74b655; - color: White; -} - -QToolButton:checked:pressed { - background-color: #74b655; -} - -QToolButton:checked:selected { - background: #560062; - color: White; -} - -QToolButton:hover { - background-color: #74b655; - color: White; -} - -QToolButton:pressed { - background-color: #560062; -} - -QToolButton:selected { - background: #74b655; - color: White; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #ffffff; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} -QToolButton::menu-arrow:hover { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #c2c7cb; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #1c1b22; - border-radius: 2px; - selection-background-color: #74b655; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #1c1b22; -} -QComboBox QAbstractItemView { - border: 0px solid #696968; - border-radius: 0px; - background-color: #1c1b22; - selection-background-color: #74b655; -} - -QComboBox QAbstractItemView:hover { - background-color:Black; - color: White; -} - -QComboBox QAbstractItemView:selected { - background: #74b655; - color: White; -} - -QComboBox QAbstractItemView:alternate { - background: #3c3c3c; -} - -QComboBox:disabled { - background-color: #2b2b2b; - color: #353535; -} - -QComboBox:hover { - /*background-color: #74b655;*/ - border: 1px solid #74b655; -} - -QComboBox:focus { - border: 1px solid #560062; -} - -QComboBox:on { - selection-background-color: #560062; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #74b655; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #696968; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #3c3c3c; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: #696969; - subcontrol-position: top right; - width: 14px; - border-left: 1px solid #696968; -} -QComboBox::drop-down:hover { - background-color: #74b655; -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: white; - qproperty-groupBackground: #3c3c3c; - border: 0px solid #696968; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -background-color: #696969; /* Task Panel Header background color */ -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: #74b655; -} - -QSint--ActionGroup QToolButton[class="header"] { -color: white; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #2b2b2b; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #74b655; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #74b655; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #74b655; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #74b655; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: white; -background-color: black; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: white; - text-align: center; - background-color: #696969; - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background: #74b655; - border: 1px solid #74b655; -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #560062; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #696969; - background-color: #1c1b22; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background: #74b655; - border: 1px solid #74b655; -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #2b2b2b; -} - -QSlider:focus { - /*border: 1px solid #560062;*/ -} - -QSlider::groove:horizontal { - background: #2b2b2b; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #74b655; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #74b655; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #696968; -} - -QSlider::sub-page:horizontal { - background: #74b655; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #74b655; -} - -QSlider::handle:horizontal { - background: #696968; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #74b655; - border: 1px solid #696968; -} - -QSlider::handle:horizontal:focus { - background: #560062; - border: 1px solid #560062; -} - -QSlider::handle:vertical { - background: #696968; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #74b655; - border: 1px solid #696968; -} - -QSlider::handle:vertical:focus { - border: 1px solid #560062; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #1c1b22; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #696968; - border-radius: 2px; - color: White; -} - -QLineEdit:disabled { - background-color: #2b2b2b; - color: #c2c7cb; -} - -QLineEdit:hover { - border: 1px solid #74b655; - color: White; -} - -QLineEdit:focus { - border: 2px solid #560062; -} - -QLineEdit:selected { - background-color: #74b655; - color: white; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #74b655; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - border: 0px solid #8c00ffa1; - border-radius: 1.9px; - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #74b655; - border: 1px solid #346792; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - border-radius: 2px; - margin: 0px; - padding: 2px; - border: 0; - alignment: center; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_light.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - border-bottom: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - border-top: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - border-right: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - border-left: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - border-bottom: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - border-top: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - border-right: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - border-left: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - border-bottom: 2px solid #696969; - margin-top: 2px; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - border-top: 2px solid #696969; - margin-bottom: 2px; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - border-left: 2px solid #696969; - margin-right: 2px; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - border-right: 2px solid #696969; - margin-left: 2px; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - background-color: #2b2b2b; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border: 1px solid #696969; - border-radius: 4px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - background-color: #696969; - /*border: 1px solid #560062; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #74b655;*/ - border: 0px solid #74b655; - background-color: #74b655; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - border: 1px solid #696969; - background-color: #2b2b2b; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - border-radius: 4px; - min-width: 5px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - background-color: #696969; - /*border: 1px solid #560062; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #74b655;*/ - border: 0px solid #74b655; - background-color: #74b655; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #2b2b2b; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #2b2b2b; - border: 0px solid #560062; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #74b655; - background-color: #74b655; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #2b2b2b; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #2b2b2b; - border: 0px solid #560062; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #74b655; - background-color: #74b655; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #2b2b2b; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #74b655; - background-color: #74b655; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #74b655; - background-color: #74b655; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_lighter.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_light.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_light.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #2b2b2b; - border: 1px solid #696968; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: #2b2b2b; - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #74b655;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_light.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_light.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #2b2b2b; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #696968; - color: White; - gridline-color: #696968; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(31, 31, 31, 0.85); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #1c1b22; - color: #c2c7cb; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #74b655; - color: White; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #560062; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #74b655; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #74b655; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: White; - background-color: #353535; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: White; - background-color: #74b655; -} - -QTableCornerButton::section { - background-color: #2b2b2b; - border: 1px transparent #696968; - border-radius: 0px; -} - -QTableView::item { - color: white; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: #2b2b2b; - border: 1px solid #696968; - padding: 0; - margin: 0; - border-radius: 0px; - text-align: center; -} - -QHeaderView:disabled { - background-color: #2b2b2b; - border: 1px solid #696968; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: #3c3c3c; - color: White; - border-radius: 0px; - font-size: 13px; - font-weight: bold; - text-align: center; -} - -QHeaderView::section::horizontal { - padding-top: 0; - padding-bottom: 0; - padding-left: 10px; - padding-right: 10px; - border-left: 1px solid #696968; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 1px solid #696968; - padding-left: 15px; -} - -QHeaderView::section::horizontal:disabled { - color: #353535; -} - -QHeaderView::section::vertical { - padding-top: 0; - padding-bottom: 0; - padding-left: 1px; - padding-right: 1px; - border-top: 1px solid #696968; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 1px solid #696968; -} - -QHeaderView::section::vertical:disabled { - color: #7a7a7a; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: #696969; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::up-arrow { - background-color: #696969; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_light.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #696969; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #74b655; -} - -QToolBox::tab { - background-color: #696969; - border: 0px solid #696969; - color: white; - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #696969; -} - -QToolBox::tab:selected { - background-color: #696969; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #696969; - border-bottom: 0px solid #cccccc; - color: white; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #2b2b2b; -} - -QToolBox::tab:hover { - background-color: #74b655; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #696968; - background-color: #696969; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #696968; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #696968; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #2b2b2b; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #74b655, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #74b655, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #74b655; - border-style: solid; - border: 1px solid #696968; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #74b655; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #696968; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #2b2b2b; - border-radius: 2px; - border: 1px solid #696968; - selection-background-color: #74b655; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #74b655; - color: White; -} - -QAbstractView:selected { - background: #74b655; - color: White; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Dark-modern-pink.qss b/src/Gui/Stylesheets/Dark-modern-pink.qss deleted file mode 100644 index c5a14106a4..0000000000 --- a/src/Gui/Stylesheets/Dark-modern-pink.qss +++ /dev/null @@ -1,2627 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #c849cd - #560062 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #c849cd; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #2b2b2b; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #2b2b2b; - border: 0px solid #696968; - padding: 0px; - color: White; - selection-background-color: #c849cd; - selection-color: White; -} - -QWidget:disabled { - color: #c2c7cb; - selection-background-color: #c849cd; - selection-color: #c2c7cb; -} - -QWidget::item:selected { - background-color: #c849cd; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #c849cd; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #c849cd, stop:0.8 transparent); - /*background-color: #c849cd;*/ - image: url(qss:images_dark-light/splitter_vertical_light.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #c849cd, stop:0.8 transparent); - /*background-color: #c849cd;*/ - image: url(qss:images_dark-light/splitter_horizontal_light.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #1c1b22; - color: White; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #3c3c3c; - /* Fixes Spyder #9120, #9121 */ - background: #2b2b2b; - /* Fixes #205, white vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #2b2b2b; - border: 1px solid #696968; - color: #2b2b2b; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: white; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #560062; -} - -QCheckBox QWidget:disabled { - color: #c2c7cb; -} - -QCheckBox::indicator { - color: white; - background-color: #1c1b22; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #1c1b22; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #c849cd; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #2b2b2b; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #1c1b22; - /*border: 1px solid #696968; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #c849cd; -} - -QCheckBox::indicator:checked:disabled { - background-color: #2b2b2b; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #1c1b22; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #2b2b2b; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #c849cd; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #696968; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: white; - background-color: #3c3c3c; - border: 1px solid #696968; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #696968; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #c849cd; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #1c1b22; - border: 1px solid #696968; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #c849cd; -} - -QGroupBox::indicator:checked:disabled { - background-color: #c849cd; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: White; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #560062; -} - -QRadioButton:disabled { - background-color: #696968; - color: #353535; -} - -QRadioButton QWidget { - background-color: transparent; - color: White; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #3c3c3c; - border: 1px solid #696968; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #c849cd; - border: 1px solid #c849cd; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #696968; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #c849cd; - border: 1px solid #c849cd; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #696968; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #161616; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: White; - selection-background-color: #c849cd; -} - -QMenuBar:focus { - border: 1px solid #560062; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #696968; - background-color: #c849cd; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #696968; - background-color: #c849cd; - color: White; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: White; - margin: 0px; - background-color: #161616; - selection-background-color: #c849cd; -} - -QMenu::separator { - height: 2px; - background-color: #3c3c3c; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #696968; -} - -QMenu::item:selected { - color: White; - background-color: #c849cd; -} - -QMenu::item:pressed { - background-color: #c849cd; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #560062; - margin-left: -5px; - border: 5px solid #560062; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #c849cd; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #c849cd; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #c849cd; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #c849cd; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_lighter.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #5b5b5b; - color: White; - border: 1px solid #696968; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #696968; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: White; -} - -QAbstractScrollArea:disabled { - color: #353535; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #2b2b2b; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 16px 2px 16px; - border: 0px solid #696968; - border-radius: 1.9px; - background-color: #2b2b2b; -} - -QScrollBar:vertical { - background-color: #2b2b2b; - width: 16px; - margin: 16px 2px 16px 2px; - border: 0px solid #696968; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #696969; - border: 1px solid #2b2b2b; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #c849cd; - border: #696968; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #560062; -} - -QScrollBar::handle:vertical { - background-color: #696969; - border: 1px solid #696968; - min-height: 8px; - border-radius: 1.9px; -} - -QScrollBar::handle:vertical:hover { - background-color: #c849cd; - border: #696968; - border-radius: 1.9px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #560062; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #2b2b2b; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QTextEdit:focus { - border: 1px solid #560062; -} - -QTextEdit:selected { - background: #346792; - color: white; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #3c3c3c; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QPlainTextEdit:focus { - border: 1px solid #560062; -} - -QPlainTextEdit:selected { - background: #c849cd; - color: White; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_light.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #696968; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #2b2b2b; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #2b2b2b; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #696969; -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #c849cd; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -border-color: #696968; -background-color: #c849cd; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #1c1b22; - border: 1px solid transparent; - color: White; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: #696968; - subcontrol-origin: border; - subcontrol-position: top right; - border-left: 1px solid transparent; - border-bottom: 1px solid #1c1b22; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - /*background-color: #c849cd;*/ - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QAbstractSpinBox:down-button { - background-color: #696968; - subcontrol-origin: border; - subcontrol-position: bottom right; - border-left: 1px solid #696968; - border-top: 1px solid #696968; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #c849cd; - color: White;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #560062; -} - -QAbstractSpinBox:selected { - background: #560062; - /*color: White;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #696968; - padding: 2px; - margin: 0px; - color: White; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #696968; - color: #c2c7cb; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #1c1b22; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #2b2b2b; - border: 1px solid #696968; - color: #c2c7cb; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #c849cd; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #c849cd; - color: White; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #1c1b22; - border: 0px solid #696968; - color: #c2c7cb; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #696968; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #353535; - color: #c2c7cb; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: White; -} - -QLCDNumber:disabled { - background-color: #2b2b2b; - color: #c2c7cb; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #c2c7cb; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #161616; - border: 1px solid #696968; - color: #696969; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #c849cd; - color: #2b2b2b; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #161616; - color: #696968; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: #696969; - color: White; - border-radius: 2px; - padding: 2px; - outline: none; - border: none; -} - -QPushButton:disabled { - background-color: #2b2b2b; - color: #c2c7cb; - border-radius: 2px; - padding: 2px; -} - -QPushButton:checked { - background-color: #c849cd; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #c849cd; - color: #3c3c3c; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:selected { - background: #c849cd; -} - -QPushButton:hover { - background-color: #c849cd; - color: White; -} - -QPushButton:pressed { - background-color: #c849cd; -} - -QPushButton:selected { - background: #560062; - color: White; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: White; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: rgba(0, 0, 0, 0.065); - color: transparent; - border-radius: 1px; - padding: 0px; - opacity: 1.0; -} - -QToolButton:checked { - background-color: #c849cd; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #c2c7cb; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #c849cd; - color: White; -} - -QToolButton:checked:pressed { - background-color: #c849cd; -} - -QToolButton:checked:selected { - background: #560062; - color: White; -} - -QToolButton:hover { - background-color: #c849cd; - color: White; -} - -QToolButton:pressed { - background-color: #560062; -} - -QToolButton:selected { - background: #c849cd; - color: White; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #ffffff; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} -QToolButton::menu-arrow:hover { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #c2c7cb; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #1c1b22; - border-radius: 2px; - selection-background-color: #c849cd; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #1c1b22; -} -QComboBox QAbstractItemView { - border: 0px solid #696968; - border-radius: 0px; - background-color: #1c1b22; - selection-background-color: #c849cd; -} - -QComboBox QAbstractItemView:hover { - background-color:Black; - color: White; -} - -QComboBox QAbstractItemView:selected { - background: #c849cd; - color: White; -} - -QComboBox QAbstractItemView:alternate { - background: #3c3c3c; -} - -QComboBox:disabled { - background-color: #2b2b2b; - color: #353535; -} - -QComboBox:hover { - /*background-color: #c849cd;*/ - border: 1px solid #c849cd; -} - -QComboBox:focus { - border: 1px solid #560062; -} - -QComboBox:on { - selection-background-color: #560062; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #c849cd; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #696968; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #3c3c3c; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: #696969; - subcontrol-position: top right; - width: 14px; - border-left: 1px solid #696968; -} -QComboBox::drop-down:hover { - background-color: #c849cd; -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: white; - qproperty-groupBackground: #3c3c3c; - border: 0px solid #696968; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -background-color: #696969; /* Task Panel Header background color */ -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: #c849cd; -} - -QSint--ActionGroup QToolButton[class="header"] { -color: white; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #2b2b2b; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #c849cd; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #c849cd; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #c849cd; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #c849cd; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: white; -background-color: black; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: white; - text-align: center; - background-color: #696969; - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background: #c849cd; - border: 1px solid #c849cd; -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #560062; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #696969; - background-color: #1c1b22; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background: #c849cd; - border: 1px solid #c849cd; -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #2b2b2b; -} - -QSlider:focus { - /*border: 1px solid #560062;*/ -} - -QSlider::groove:horizontal { - background: #2b2b2b; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #c849cd; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #c849cd; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #696968; -} - -QSlider::sub-page:horizontal { - background: #c849cd; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #c849cd; -} - -QSlider::handle:horizontal { - background: #696968; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #c849cd; - border: 1px solid #696968; -} - -QSlider::handle:horizontal:focus { - background: #560062; - border: 1px solid #560062; -} - -QSlider::handle:vertical { - background: #696968; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #c849cd; - border: 1px solid #696968; -} - -QSlider::handle:vertical:focus { - border: 1px solid #560062; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #1c1b22; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #696968; - border-radius: 2px; - color: White; -} - -QLineEdit:disabled { - background-color: #2b2b2b; - color: #c2c7cb; -} - -QLineEdit:hover { - border: 1px solid #c849cd; - color: White; -} - -QLineEdit:focus { - border: 2px solid #560062; -} - -QLineEdit:selected { - background-color: #c849cd; - color: white; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #c849cd; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - border: 0px solid #8c00ffa1; - border-radius: 1.9px; - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #c849cd; - border: 1px solid #346792; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - border-radius: 2px; - margin: 0px; - padding: 2px; - border: 0; - alignment: center; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_light.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - border-bottom: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - border-top: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - border-right: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - border-left: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - border-bottom: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - border-top: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - border-right: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - border-left: 3px solid #696969; - color: #515151; - background-color: #696969; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - border-bottom: 2px solid #696969; - margin-top: 2px; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - border-top: 2px solid #696969; - margin-bottom: 2px; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - border-left: 2px solid #696969; - margin-right: 2px; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - border-right: 2px solid #696969; - margin-left: 2px; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - background-color: #2b2b2b; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border: 1px solid #696969; - border-radius: 4px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - background-color: #696969; - /*border: 1px solid #560062; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #c849cd;*/ - border: 0px solid #c849cd; - background-color: #c849cd; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - border: 1px solid #696969; - background-color: #2b2b2b; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - border-radius: 4px; - min-width: 5px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - background-color: #696969; - /*border: 1px solid #560062; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #c849cd;*/ - border: 0px solid #c849cd; - background-color: #c849cd; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #2b2b2b; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #2b2b2b; - border: 0px solid #560062; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #c849cd; - background-color: #c849cd; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #2b2b2b; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #2b2b2b; - border: 0px solid #560062; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #c849cd; - background-color: #c849cd; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #2b2b2b; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #c849cd; - background-color: #c849cd; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #c849cd; - background-color: #c849cd; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_lighter.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_light.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_light.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #2b2b2b; - border: 1px solid #696968; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: #2b2b2b; - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #c849cd;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_light.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_light.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #2b2b2b; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #696968; - color: White; - gridline-color: #696968; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(31, 31, 31, 0.85); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #1c1b22; - color: #c2c7cb; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #c849cd; - color: White; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #560062; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #c849cd; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #c849cd; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: White; - background-color: #353535; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: White; - background-color: #c849cd; -} - -QTableCornerButton::section { - background-color: #2b2b2b; - border: 1px transparent #696968; - border-radius: 0px; -} - -QTableView::item { - color: white; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: #2b2b2b; - border: 1px solid #696968; - padding: 0; - margin: 0; - border-radius: 0px; - text-align: center; -} - -QHeaderView:disabled { - background-color: #2b2b2b; - border: 1px solid #696968; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: #3c3c3c; - color: White; - border-radius: 0px; - font-size: 13px; - font-weight: bold; - text-align: center; -} - -QHeaderView::section::horizontal { - padding-top: 0; - padding-bottom: 0; - padding-left: 10px; - padding-right: 10px; - border-left: 1px solid #696968; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 1px solid #696968; - padding-left: 15px; -} - -QHeaderView::section::horizontal:disabled { - color: #353535; -} - -QHeaderView::section::vertical { - padding-top: 0; - padding-bottom: 0; - padding-left: 1px; - padding-right: 1px; - border-top: 1px solid #696968; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 1px solid #696968; -} - -QHeaderView::section::vertical:disabled { - color: #7a7a7a; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: #696969; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::up-arrow { - background-color: #696969; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_light.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #696969; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #c849cd; -} - -QToolBox::tab { - background-color: #696969; - border: 0px solid #696969; - color: white; - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #696969; -} - -QToolBox::tab:selected { - background-color: #696969; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #696969; - border-bottom: 0px solid #cccccc; - color: white; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #2b2b2b; -} - -QToolBox::tab:hover { - background-color: #c849cd; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #696968; - background-color: #696969; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #696968; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #696968; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #2b2b2b; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #c849cd, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #c849cd, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #c849cd; - border-style: solid; - border: 1px solid #696968; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #c849cd; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #696968; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #2b2b2b; - border-radius: 2px; - border: 1px solid #696968; - selection-background-color: #c849cd; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #c849cd; - color: White; -} - -QAbstractView:selected { - background: #c849cd; - color: White; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Dark-modern-orange.qss b/src/Gui/Stylesheets/Dark-modern.qss similarity index 91% rename from src/Gui/Stylesheets/Dark-modern-orange.qss rename to src/Gui/Stylesheets/Dark-modern.qss index 078003d9ff..4b36ee31f1 100644 --- a/src/Gui/Stylesheets/Dark-modern-orange.qss +++ b/src/Gui/Stylesheets/Dark-modern.qss @@ -17,8 +17,8 @@ INSTALLATION WHEN NECESSARY ============================================================================================================ TO MODIFY USE THESE COLORS: - #cb9437 - #560062 + @ThemeAccentColor1 + @ThemeAccentColor2 See Qt documentation: @@ -86,7 +86,7 @@ Gui--PropertyEditor--PropertyEditor QComboBox { /* fix for column items background when a link is present */ Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #cb9437; /* same as focused background color */ + background-color: @ThemeAccentColor1; /* same as focused background color */ } /* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ @@ -124,23 +124,23 @@ QWidget { border: 0px solid #696968; padding: 0px; color: White; - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; selection-color: White; } QWidget:disabled { color: #c2c7cb; - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; selection-color: #c2c7cb; } QWidget::item:selected { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } /* Causes issue with colorselector. QWidget::item:hover:!selected { - background-color: #cb9437; + background-color: @ThemeAccentColor1; }*/ /* QMainWindow ------------------------------------------------------------ @@ -157,14 +157,14 @@ QMainWindow::separator { } QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #cb9437, stop:0.8 transparent); - /*background-color: #cb9437;*/ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/splitter_vertical_light.svg); } QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #cb9437, stop:0.8 transparent); - /*background-color: #cb9437;*/ + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/splitter_horizontal_light.svg); } @@ -242,7 +242,7 @@ QCheckBox { } QCheckBox:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QCheckBox QWidget:disabled { @@ -263,7 +263,7 @@ QCheckBox::indicator:unchecked { } QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #cb9437; + background-color: @ThemeAccentColor1; image:url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -279,7 +279,7 @@ QCheckBox::indicator:checked { } QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QCheckBox::indicator:checked:disabled { @@ -299,7 +299,7 @@ QCheckBox::indicator:indeterminate:disabled { } QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #cb9437; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor1; /* QRadioButton has the same color */ } /* QGroupBox -------------------------------------------------------------- @@ -341,7 +341,7 @@ QGroupBox::indicator:unchecked { } QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:unchecked:disabled { @@ -355,11 +355,11 @@ QGroupBox::indicator:checked { } QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:checked:disabled { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } /* QRadioButton ----------------------------------------------------------- @@ -378,7 +378,7 @@ QRadioButton { } QRadioButton:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QRadioButton:disabled { @@ -409,8 +409,8 @@ QRadioButton::indicator:unchecked { } QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #cb9437; - border: 1px solid #cb9437; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; } @@ -424,8 +424,8 @@ QRadioButton::indicator:checked { } QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #cb9437; - border: 1px solid #cb9437; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; image:url(qss:images_dark-light/radiobutton_light.svg); } @@ -446,11 +446,11 @@ QMenuBar { /*padding: 1px; border: 0px solid rgba(0,0,0,140);*/ color: White; - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; } QMenuBar:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QMenuBar::item { @@ -464,7 +464,7 @@ QMenuBar::item { QMenuBar::item:selected { background: transparent; border: 0px solid #696968; - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QMenuBar::item:pressed { @@ -472,7 +472,7 @@ QMenuBar::item:pressed { padding-left: 10px; padding-right: 10px;*/ border: 0px solid #696968; - background-color: #cb9437; + background-color: @ThemeAccentColor1; color: White; /*margin-bottom: 0px; padding-bottom: 0px;*/ @@ -489,7 +489,7 @@ QMenu { color: White; margin: 0px; background-color: #161616; - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; } QMenu::separator { @@ -508,11 +508,11 @@ QMenu::item { QMenu::item:selected { color: White; - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QMenu::item:pressed { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QMenu::icon { @@ -532,9 +532,9 @@ QMenu::indicator { } QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #560062; + background: @ThemeAccentColor2; margin-left: -5px; - border: 5px solid #560062; + border: 5px solid @ThemeAccentColor2; position: absolute; border-radius: 0px; } @@ -544,7 +544,7 @@ QMenu::indicator:non-exclusive:unchecked { QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { border: none; - background: #cb9437; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:unchecked:disabled { @@ -557,7 +557,7 @@ QMenu::indicator:non-exclusive:checked { QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { border: none; - background: #cb9437; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:checked:disabled { @@ -583,7 +583,7 @@ QMenu::indicator:exclusive:unchecked { QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { border: none; outline: none; - background: #cb9437; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -600,7 +600,7 @@ QMenu::indicator:exclusive:checked { QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { border: none; outline: none; - background: #cb9437; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -690,14 +690,14 @@ QScrollBar::handle:horizontal { } QScrollBar::handle:horizontal:hover { - background-color: #cb9437; + background-color: @ThemeAccentColor1; border: #696968; border-radius: 1.9px; min-width: 8px; } QScrollBar::handle:horizontal:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QScrollBar::handle:vertical { @@ -708,14 +708,14 @@ QScrollBar::handle:vertical { } QScrollBar::handle:vertical:hover { - background-color: #cb9437; + background-color: @ThemeAccentColor1; border: #696968; border-radius: 1.9px; min-height: 8px; } QScrollBar::handle:vertical:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QScrollBar::add-line:horizontal { @@ -816,7 +816,7 @@ QTextEdit { } QTextEdit:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QTextEdit:selected { @@ -835,11 +835,11 @@ QPlainTextEdit { } QPlainTextEdit:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QPlainTextEdit:selected { - background: #cb9437; + background: @ThemeAccentColor1; color: White; } @@ -921,13 +921,13 @@ background-position: center center; QToolButton#qt_toolbar_ext_button:hover { /*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #cb9437; +background-color: @ThemeAccentColor1; } QToolButton#qt_toolbar_ext_button:on { /*background-image: url(qss:images_dark-light/more_light.svg);*/ border-color: #696968; -background-color: #cb9437; +background-color: @ThemeAccentColor1; } @@ -970,7 +970,7 @@ QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBo } QAbstractSpinBox::up-arrow:hover { - /*background-color: #cb9437;*/ + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/up_arrow_lighter.svg); } @@ -998,16 +998,16 @@ QAbstractSpinBox::down-arrow:hover { } QAbstractSpinBox:hover { - /*border: 1px solid #cb9437; + /*border: 1px solid @ThemeAccentColor1; color: White;*/ } QAbstractSpinBox:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QAbstractSpinBox:selected { - background: #560062; + background: @ThemeAccentColor2; /*color: White;*/ } @@ -1058,7 +1058,7 @@ QTextBrowser:disabled { } QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #cb9437; + border: 1px solid @ThemeAccentColor1; } /* QGraphicsView ---------------------------------------------------------- @@ -1066,7 +1066,7 @@ QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pre --------------------------------------------------------------------------- */ QGraphicsView { background-color: transparent; - border: 0px solid #cb9437; + border: 0px solid @ThemeAccentColor1; color: White; border-radius: 0px; } @@ -1130,7 +1130,7 @@ QProgressBar:disabled { } QProgressBar::chunk { - background-color: #cb9437; + background-color: @ThemeAccentColor1; color: #2b2b2b; border-radius: 1.9px; } @@ -1166,14 +1166,14 @@ QPushButton:disabled { } QPushButton:checked { - background-color: #cb9437; + background-color: @ThemeAccentColor1; border-radius: 2px; padding: 2px; outline: none; } QPushButton:checked:disabled { - background-color: #cb9437; + background-color: @ThemeAccentColor1; color: #3c3c3c; border-radius: 2px; padding: 2px; @@ -1181,20 +1181,20 @@ QPushButton:checked:disabled { } QPushButton:checked:selected { - background: #cb9437; + background: @ThemeAccentColor1; } QPushButton:hover { - background-color: #cb9437; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); color: White; } QPushButton:pressed { - background-color: #cb9437; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QPushButton:selected { - background: #560062; + background: @ThemeAccentColor2; color: White; } @@ -1235,7 +1235,7 @@ QToolButton:disabled { } QToolButton:checked { - background-color: #cb9437; + background-color: @ThemeAccentColor1; border-radius: 1.9px; padding: 0px; outline: none; @@ -1250,30 +1250,30 @@ QToolButton:checked:disabled { } QToolButton:checked:hover { - background-color: #cb9437; + background-color: @ThemeAccentColor1; color: White; } QToolButton:checked:pressed { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QToolButton:checked:selected { - background: #560062; + background: @ThemeAccentColor2; color: White; } QToolButton:hover { - background-color: #cb9437; + background-color: @ThemeAccentColor1; color: White; } QToolButton:pressed { - background-color: #560062; + background-color: @ThemeAccentColor2; } QToolButton:selected { - background: #cb9437; + background: @ThemeAccentColor1; color: White; } @@ -1383,7 +1383,7 @@ QComboBox { border: 1px solid transparent; background: #1c1b22; border-radius: 2px; - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; padding-left: 2px; padding-right: 2px; /* padding-right = 36; 4 + 16*2 See scrollbar size */ @@ -1402,7 +1402,7 @@ QComboBox QAbstractItemView { border: 0px solid #696968; border-radius: 0px; background-color: #1c1b22; - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; } QComboBox QAbstractItemView:hover { @@ -1411,7 +1411,7 @@ QComboBox QAbstractItemView:hover { } QComboBox QAbstractItemView:selected { - background: #cb9437; + background: @ThemeAccentColor1; color: White; } @@ -1425,16 +1425,16 @@ QComboBox:disabled { } QComboBox:hover { - /*background-color: #cb9437;*/ - border: 1px solid #cb9437; + /*background-color: @ThemeAccentColor1;*/ + border: 1px solid @ThemeAccentColor1; } QComboBox:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QComboBox:on { - selection-background-color: #560062; + selection-background-color: @ThemeAccentColor2; } QComboBox::indicator { @@ -1443,7 +1443,7 @@ QComboBox::indicator { background-color: transparent; selection-background-color: transparent; color: transparent; - selection-color: #cb9437; + selection-color: @ThemeAccentColor1; /* Needed to remove indicator - fix #132 */ } @@ -1475,7 +1475,7 @@ QComboBox::drop-down { border-left: 1px solid #696968; } QComboBox::drop-down:hover { - background-color: #cb9437; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QComboBox::down-arrow { @@ -1535,7 +1535,7 @@ padding: 0px; } QSint--ActionGroup QFrame[class="header"]:hover { -background-color: #cb9437; +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QToolButton[class="header"] { @@ -1594,19 +1594,19 @@ background-color: #2b2b2b; /* Task Panel background color */ /* Fixs for tabs inside Task Panel */ QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #cb9437; /* same as Task Panel background color */ +border-bottom-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #cb9437; /* same as Task Panel background color */ +border-top-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #cb9437; /* same as Task Panel background color */ +border-right-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #cb9437; /* same as Task Panel background color */ +border-left-color: @ThemeAccentColor1; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ @@ -1637,11 +1637,11 @@ QSint--ActionGroup QFrame[class="content"] QToolButton { } QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background: #cb9437; - border: 1px solid #cb9437; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); + } QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, @@ -1651,8 +1651,8 @@ QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background: #cb9437; - border: 1px solid #cb9437; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); + } /* QSlider ---------------------------------------------------------------- @@ -1665,7 +1665,7 @@ QSlider:disabled { } QSlider:focus { - /*border: 1px solid #560062;*/ + /*border: 1px solid @ThemeAccentColor2;*/ } QSlider::groove:horizontal { @@ -1677,7 +1677,7 @@ QSlider::groove:horizontal { } QSlider::groove:vertical { - background: #cb9437; + background: @ThemeAccentColor1; border: 1px solid #696968; width: 4px; margin: 0px; @@ -1685,7 +1685,7 @@ QSlider::groove:vertical { } QSlider::add-page:vertical { - background: #cb9437; + background: @ThemeAccentColor1; border: 1px solid #696968; width: 4px; margin: 0px; @@ -1697,7 +1697,7 @@ QSlider::add-page:vertical :disabled { } QSlider::sub-page:horizontal { - background: #cb9437; + background: @ThemeAccentColor1; border: 1px solid #696968; height: 4px; margin: 0px; @@ -1705,7 +1705,7 @@ QSlider::sub-page:horizontal { } QSlider::sub-page:horizontal:disabled { - background: #cb9437; + background: @ThemeAccentColor1; } QSlider::handle:horizontal { @@ -1718,13 +1718,13 @@ QSlider::handle:horizontal { } QSlider::handle:horizontal:hover { - background: #cb9437; + background: @ThemeAccentColor1; border: 1px solid #696968; } QSlider::handle:horizontal:focus { - background: #560062; - border: 1px solid #560062; + background: @ThemeAccentColor2; + border: 1px solid @ThemeAccentColor2; } QSlider::handle:vertical { @@ -1737,12 +1737,12 @@ QSlider::handle:vertical { } QSlider::handle:vertical:hover { - background: #cb9437; + background: @ThemeAccentColor1; border: 1px solid #696968; } QSlider::handle:vertical:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } /* QLineEdit -------------------------------------------------------------- @@ -1770,16 +1770,16 @@ QLineEdit:disabled { } QLineEdit:hover { - border: 1px solid #cb9437; + border: 1px solid @ThemeAccentColor1; color: White; } QLineEdit:focus { - border: 2px solid #560062; + border: 2px solid @ThemeAccentColor2; } QLineEdit:selected { - background-color: #cb9437; + background-color: @ThemeAccentColor1; color: white; } @@ -1790,7 +1790,7 @@ https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabb --------------------------------------------------------------------------- */ QTabWidget { padding: 2px; - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; } QTabWidget QWidget { @@ -1807,7 +1807,7 @@ QTabWidget::pane { } QTabWidget::pane:selected { - background-color: #cb9437; + background-color: @ThemeAccentColor1; border: 1px solid #346792; } /* QTabBar ---------------------------------------------------------------- @@ -1928,7 +1928,7 @@ QTabBar::tab:top, QDockWidget QTabBar::tab:top { QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { background-color: #696969; - /*border: 1px solid #560062; + /*border: 1px solid @ThemeAccentColor2; border-radius: 4px; margin-left: 4px; margin-right: 4px; @@ -1937,9 +1937,9 @@ QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { } QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #cb9437;*/ - border: 0px solid #cb9437; - background-color: #cb9437; + /*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -1959,7 +1959,7 @@ QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { background-color: #696969; - /*border: 1px solid #560062; + /*border: 1px solid @ThemeAccentColor2; border-radius: 4px; margin-left: 4px; margin-right: 4px; @@ -1968,9 +1968,9 @@ QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { } QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #cb9437;*/ - border: 0px solid #cb9437; - background-color: #cb9437; +/*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -1989,12 +1989,12 @@ QTabBar::tab:left, QDockWidget QTabBar::tab:left { QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { background-color: #2b2b2b; - border: 0px solid #560062; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #cb9437; - background-color: #cb9437; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-right: 0px; padding-right: -1px; @@ -2013,12 +2013,12 @@ QTabBar::tab:right, QDockWidget QTabBar::tab:right { QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { background-color: #2b2b2b; - border: 0px solid #560062; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #cb9437; - background-color: #cb9437; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-left: 0px; padding-left: 0px; @@ -2032,13 +2032,13 @@ QTabBar QToolButton, QDockWidget QTabBar QToolButton { } QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #cb9437; - background-color: #cb9437; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #cb9437; - background-color: #cb9437; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { @@ -2109,7 +2109,7 @@ QDockWidget::float-button { } QDockWidget::float-button:hover { - /*background-color: #cb9437;*/ + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/undock_blue.svg); } @@ -2245,7 +2245,7 @@ QTreeView:selected, QListView:selected, QTableView:selected, QColumnView:selected { - background-color: #cb9437; + background-color: @ThemeAccentColor1; color: White; } @@ -2253,21 +2253,21 @@ QTreeView:focus, QListView:focus, QTableView:focus, QColumnView:focus { - border: 1px solid #560062; + border: 1px solid @ThemeAccentColor2; } QTreeView::item:pressed, QListView::item:pressed, QTableView::item:pressed, QColumnView::item:pressed { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:active, QListView::item:selected:active, QTableView::item:selected:active, QColumnView::item:selected:active { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:!active, @@ -2284,7 +2284,7 @@ QTableView::item:!selected:hover, QColumnView::item:!selected:hover { outline: 0; color: White; - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QTableCornerButton::section { @@ -2400,7 +2400,7 @@ QToolBox { QToolBox:selected { padding: 0px; - border: 0px solid #cb9437; + border: 0px solid @ThemeAccentColor1; } QToolBox::tab { @@ -2438,7 +2438,7 @@ QToolBox::tab:!selected:disabled { } QToolBox::tab:hover { - background-color: #cb9437; + background-color: @ThemeAccentColor1; } QToolBox QScrollArea QWidget QWidget { @@ -2513,7 +2513,7 @@ QSplitter::handle:vertical { } QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #cb9437, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); background-position: center center; background-repeat: none; } @@ -2522,14 +2522,14 @@ QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); background-position: center center; background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #cb9437, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); } /* QDateEdit, QDateTimeEdit ----------------------------------------------- --------------------------------------------------------------------------- */ QDateEdit, QDateTimeEdit { - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; border-style: solid; border: 1px solid #696968; border-radius: 1.9px; @@ -2543,7 +2543,7 @@ QDateEdit, QDateTimeEdit { } QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; } QDateEdit::drop-down, QDateTimeEdit::drop-down { @@ -2567,19 +2567,19 @@ QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { background-color: #2b2b2b; border-radius: 2px; border: 1px solid #696968; - selection-background-color: #cb9437; + selection-background-color: @ThemeAccentColor1; } /* QAbstractView ---------------------------------------------------------- --------------------------------------------------------------------------- */ QAbstractView:hover { - border: 1px solid #cb9437; + border: 1px solid @ThemeAccentColor1; color: White; } QAbstractView:selected { - background: #cb9437; + background: @ThemeAccentColor1; color: White; } diff --git a/src/Gui/Stylesheets/Dark-orange.qss b/src/Gui/Stylesheets/Dark-orange.qss deleted file mode 100644 index 60fa01e371..0000000000 --- a/src/Gui/Stylesheets/Dark-orange.qss +++ /dev/null @@ -1,2608 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #b28416 - #996b00 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #b28416; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #7F7F7F; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #7F7F7F; - border: 0px solid #696968; - padding: 0px; - color: White; - selection-background-color: #b28416; - selection-color: White; -} - -QWidget:disabled { - color: #c2c7cb; - selection-background-color: #b28416; - selection-color: #c2c7cb; -} - -QWidget::item:selected { - background-color: #b28416; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #b28416; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); - /*background-color: #b28416;*/ - image: url(qss:images_dark-light/splitter_vertical_light.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); - /*background-color: #b28416;*/ - image: url(qss:images_dark-light/splitter_horizontal_light.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #505050; - color: White; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #3c3c3c; - /* Fixes Spyder #9120, #9121 */ - background: #7F7F7F; - /* Fixes #205, white vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #7F7F7F; - border: 1px solid #696968; - color: #7F7F7F; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: white; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #996b00; -} - -QCheckBox QWidget:disabled { - color: #c2c7cb; -} - -QCheckBox::indicator { - color: white; - background-color: #505050; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #505050; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #b28416; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #7F7F7F; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #505050; - /*border: 1px solid #696968; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #b28416; -} - -QCheckBox::indicator:checked:disabled { - background-color: #7F7F7F; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #505050; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #7F7F7F; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #b28416; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #696968; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: white; - background-color: #3c3c3c; - border: 1px solid #696968; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #696968; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #b28416; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #505050; - border: 1px solid #696968; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #b28416; -} - -QGroupBox::indicator:checked:disabled { - background-color: #b28416; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: White; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #996b00; -} - -QRadioButton:disabled { - background-color: #696968; - color: #353535; -} - -QRadioButton QWidget { - background-color: transparent; - color: White; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #3c3c3c; - border: 1px solid #696968; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #b28416; - border: 1px solid #b28416; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #696968; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #b28416; - border: 1px solid #b28416; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #696968; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #505050; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: White; - selection-background-color: #b28416; -} - -QMenuBar:focus { - border: 1px solid #996b00; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #696968; - background-color: #b28416; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #696968; - background-color: #b28416; - color: White; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: White; - margin: 0px; - background-color: #505050; - selection-background-color: #b28416; -} - -QMenu::separator { - height: 2px; - background-color: #3c3c3c; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #696968; -} - -QMenu::item:selected { - color: White; - background-color: #b28416; -} - -QMenu::item:pressed { - background-color: #b28416; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #996b00; - margin-left: -5px; - border: 5px solid #996b00; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #b28416; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #b28416; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #b28416; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #b28416; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_lighter.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #5b5b5b; - color: White; - border: 1px solid #696968; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #696968; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: White; -} - -QAbstractScrollArea:disabled { - color: #353535; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #7F7F7F; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 8px 2px 8px; - border: 0px solid #696968; - border-radius: 1.9px; - background-color: #7F7F7F; -} - -QScrollBar:vertical { - background-color: #7F7F7F; - width: 16px; - margin: 8px 2px 8px 2px; - border: 0px solid #696968; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #696969; - border: 1px solid #7F7F7F; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #b28416; - border: #696968; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #996b00; -} - -QScrollBar::handle:vertical { - background-color: #696969; - border: 1px solid #696968; - min-height: 8px; - border-radius: 4px; -} - -QScrollBar::handle:vertical:hover { - background-color: #b28416; - border: #696968; - border-radius: 4px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #996b00; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - background-color: #b28416; - border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #7F7F7F; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QTextEdit:focus { - border: 1px solid #996b00; -} - -QTextEdit:selected { - background: #346792; - color: white; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #3c3c3c; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QPlainTextEdit:focus { - border: 1px solid #996b00; -} - -QPlainTextEdit:selected { - background: #b28416; - color: White; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_light.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #696968; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #7F7F7F; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #7F7F7F; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #696969; -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #b28416; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -border-color: #696968; -background-color: #b28416; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #505050; - border: 1px solid transparent; - color: White; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - subcontrol-origin: border; - subcontrol-position: top right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - subcontrol-origin: border; - subcontrol-position: bottom right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #b28416; - color: White;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #996b00; -} - -QAbstractSpinBox:selected { - background: #996b00; - /*color: White;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #696968; - padding: 2px; - margin: 0px; - color: White; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #696968; - color: #c2c7cb; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #505050; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #7F7F7F; - border: 1px solid #696968; - color: #c2c7cb; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #b28416; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #b28416; - color: White; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #505050; - border: 0px solid #696968; - color: #c2c7cb; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #696968; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #353535; - color: #c2c7cb; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: White; -} - -QLCDNumber:disabled { - background-color: #7F7F7F; - color: #c2c7cb; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #c2c7cb; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #505050; - border: 1px solid #696968; - color: #696969; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #b28416; - color: #7F7F7F; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #505050; - color: #696968; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - color: White; - border: 1px solid #505051; - border-bottom-color: #1e1e1e; /* simulates shadow under the button */ - border-radius: 4px; - padding: 2px; -} - -QPushButton:disabled { - background-color: #7F7F7F; - color: #c2c7cb; - -} - -QPushButton:checked { - background-color: #b28416; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #b28416; - color: #3c3c3c; - outline: none; -} - -QPushButton:checked:selected { - background: #b28416; -} - -QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); - color: White; -} - -QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #996b00, stop:1 #b28416); -} - -QPushButton:selected { - background: #996b00; - color: White; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: White; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: rgba(0, 0, 0, 0.065); - color: #c2c7cb; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #b28416; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #c2c7cb; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #b28416; - color: White; -} - -QToolButton:checked:pressed { - background-color: #b28416; -} - -QToolButton:checked:selected { - background: #996b00; - color: White; -} - -QToolButton:hover { - background-color: #b28416; - color: White; -} - -QToolButton:pressed { - background-color: #996b00; -} - -QToolButton:selected { - background: #b28416; - color: White; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #ffffff; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} -QToolButton::menu-arrow:hover { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #c2c7cb; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #505050; - border-radius: 2px; - selection-background-color: #b28416; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #505050; -} -QComboBox QAbstractItemView { - border: 0px solid #696968; - border-radius: 0px; - background-color: #505050; - selection-background-color: #b28416; -} - -QComboBox QAbstractItemView:hover { - background-color:#505050; - color: White; -} - -QComboBox QAbstractItemView:selected { - background: #b28416; - color: White; -} - -QComboBox QAbstractItemView:alternate { - background: #3c3c3c; -} - -QComboBox:disabled { - background-color: #7F7F7F; - color: #353535; -} - -QComboBox:hover { - /*background-color: #b28416;*/ - border: 1px solid #b28416; -} - -QComboBox:focus { - border: 1px solid #996b00; -} - -QComboBox:on { - selection-background-color: #996b00; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #b28416; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #696968; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #3c3c3c; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - subcontrol-position: top right; - width: 14px; - border-left: 1px solid transparent; -} -QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: white; - qproperty-groupBackground: #3c3c3c; - border: 0px solid #696968; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); -} - -QSint--ActionGroup QToolButton[class="header"] { -color: white; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #7F7F7F; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #b28416; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #b28416; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #b28416; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #b28416; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: white; -background-color: #505050; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: white; - text-align: center; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); - -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #996b00; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #696969; - background-color: #505050; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); - -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #7F7F7F; -} - -QSlider:focus { - /*border: 1px solid #996b00;*/ -} - -QSlider::groove:horizontal { - background: #7F7F7F; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #7F7F7F; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #b28416; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #696968; -} - -QSlider::sub-page:horizontal { - background: #b28416; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #b28416; -} - -QSlider::handle:horizontal { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #b28416; - border: 1px solid #696968; -} - -QSlider::handle:horizontal:focus { - background: #996b00; - border: 1px solid #996b00; -} - -QSlider::handle:vertical { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #b28416; - border: 1px solid #696968; -} - -QSlider::handle:vertical:focus { - border: 1px solid #996b00; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #505050; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #696968; - border-radius: 2px; - color: White; -} - -QLineEdit:disabled { - background-color: #7F7F7F; - color: #c2c7cb; -} - -QLineEdit:hover { - border: 1px solid #b28416; - color: White; -} - -QLineEdit:focus { - border: 2px solid #996b00; -} - -QLineEdit:selected { - background-color: #b28416; - color: white; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #b28416; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #b28416; - border: 1px solid #346792; -} - -QTabWidget::pane:selected { - background-color: #557bb6; - border: 1px solid #346792; -} - -QTabWidget::pane:top { - top: -1px; - border-top: 1px solid #696969; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #696969; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #696969; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #696969; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_light.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ - padding: 4px; -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - color: #f5f5f5; - -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - color: #f5f5f5; - -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - color: #f5f5f5; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - color: #f5f5f5; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - color: #f5f5f5; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - color: #f5f5f5; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - color: #f5f5f5; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - color: #f5f5f5; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-bottom: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - color: white; - border-top: 4px solid #b28416; /* selection color */ - border-bottom: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - } - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #b28416;*/ - border: 0px solid #b28416; - background-color: #b28416; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - color: #f5f5f5; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-top: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - color: white; - border-bottom: 4px solid #b28416; /* selection color */ - border-top: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #b28416;*/ - border: 0px solid #b28416; - background-color: #b28416; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #7F7F7F; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #7F7F7F; - border: 0px solid #996b00; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #b28416; - background-color: #b28416; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #7F7F7F; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #7F7F7F; - border: 0px solid #996b00; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #b28416; - background-color: #b28416; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #7F7F7F; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #b28416; - background-color: #b28416; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #b28416; - background-color: #b28416; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_lighter.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_light.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_light.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #7F7F7F; - border: 1px solid #505051; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #b28416;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_light.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_light.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #7F7F7F; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #696968; - color: White; - gridline-color: #696968; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(82, 82, 82, 0.85); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #505050; - color: #c2c7cb; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #b28416; - color: White; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #996b00; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #b28416; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #b28416; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: White; - background-color: #353535; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: White; - background-color: #b28416; -} - -QTableCornerButton::section { - background-color: #7F7F7F; - border: 1px transparent #696968; - border-radius: 0px; -} - -QTableView::item { - color: white; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: transparent; - text-align: center; -} - -QHeaderView:disabled { - background-color: #7f7f7f; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #676767, stop:1 #505051); - color: White; - border: 1px solid #505051; - font-size: 13px; - font-weight: bold; -} - -QHeaderView::section::horizontal { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 5px; - padding-right: 0px; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 0px solid #696968; -} - -QHeaderView::section::horizontal:disabled { - color: #353535; -} - -QHeaderView::section::vertical { - padding-top: 1px; - padding-bottom: 0; - padding-left: 1px; - padding-right: 0px; - border-top: 0px solid #696968; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 2px solid #505051; -} - -QHeaderView::section::vertical:disabled { - border-top: 2px solid #505051; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::up-arrow { - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_light.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #696969; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #b28416; -} - -QToolBox::tab { - background-color: transparent; - border: 0px solid #696969; - color: white; - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #696969; -} - -QToolBox::tab:selected { - background-color: #696969; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #696969; - border-bottom: 0px solid #cccccc; - color: white; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #7F7F7F; -} - -QToolBox::tab:hover { - background-color: #b28416; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #696968; - background-color: #696969; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #696968; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #696968; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #7F7F7F; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #b28416; - border-style: solid; - border: 1px solid #696968; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #b28416; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #696968; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #7F7F7F; - border-radius: 2px; - border: 1px solid #696968; - selection-background-color: #b28416; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #b28416; - color: White; -} - -QAbstractView:selected { - background: #b28416; - color: White; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Dark-pink.qss b/src/Gui/Stylesheets/Dark.qss similarity index 91% rename from src/Gui/Stylesheets/Dark-pink.qss rename to src/Gui/Stylesheets/Dark.qss index a850fd0345..0c7ac354ab 100644 --- a/src/Gui/Stylesheets/Dark-pink.qss +++ b/src/Gui/Stylesheets/Dark.qss @@ -16,11 +16,9 @@ INSTALLATION WHEN NECESSARY LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ ============================================================================================================ -TO MODIFY USE THESE COLORS: - #bc1cc8 - #920077 - - +FOLLOWING CODES ARE CHANGED IN THE SETTINGS: + @ThemeAccentColor1 + @ThemeAccentColor2 See Qt documentation: - https://doc.qt.io/qt-5/stylesheet.html @@ -51,6 +49,7 @@ QToolBar * { } /*hacks */ + Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, @@ -86,7 +85,7 @@ Gui--PropertyEditor--PropertyEditor QComboBox { /* fix for column items background when a link is present */ Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #bc1cc8; /* same as focused background color */ + background-color: @ThemeAccentColor1; /* same as focused background color */ } /* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ @@ -124,23 +123,23 @@ QWidget { border: 0px solid #696968; padding: 0px; color: White; - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; selection-color: White; } QWidget:disabled { color: #c2c7cb; - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; selection-color: #c2c7cb; } QWidget::item:selected { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } /* Causes issue with colorselector. QWidget::item:hover:!selected { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; }*/ /* QMainWindow ------------------------------------------------------------ @@ -157,14 +156,14 @@ QMainWindow::separator { } QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #bc1cc8, stop:0.8 transparent); - /*background-color: #bc1cc8;*/ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/splitter_vertical_light.svg); } QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #bc1cc8, stop:0.8 transparent); - /*background-color: #bc1cc8;*/ + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/splitter_horizontal_light.svg); } @@ -172,14 +171,14 @@ QMainWindow::separator:horizontal { width: 4px; margin-top: 0.1px; margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ } QMainWindow::separator:vertical { height: 4px; margin-left: 0.1px; margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ } /* QToolTip --------------------------------------------------------------- @@ -242,7 +241,7 @@ QCheckBox { } QCheckBox:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QCheckBox QWidget:disabled { @@ -263,7 +262,7 @@ QCheckBox::indicator:unchecked { } QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; image:url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -279,7 +278,7 @@ QCheckBox::indicator:checked { } QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QCheckBox::indicator:checked:disabled { @@ -299,7 +298,7 @@ QCheckBox::indicator:indeterminate:disabled { } QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #bc1cc8; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor1; /* QRadioButton has the same color */ } /* QGroupBox -------------------------------------------------------------- @@ -341,7 +340,7 @@ QGroupBox::indicator:unchecked { } QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:unchecked:disabled { @@ -355,11 +354,11 @@ QGroupBox::indicator:checked { } QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:checked:disabled { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } /* QRadioButton ----------------------------------------------------------- @@ -378,7 +377,7 @@ QRadioButton { } QRadioButton:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QRadioButton:disabled { @@ -409,8 +408,8 @@ QRadioButton::indicator:unchecked { } QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #bc1cc8; - border: 1px solid #bc1cc8; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; } @@ -424,8 +423,8 @@ QRadioButton::indicator:checked { } QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #bc1cc8; - border: 1px solid #bc1cc8; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; image:url(qss:images_dark-light/radiobutton_light.svg); } @@ -446,16 +445,16 @@ QMenuBar { /*padding: 1px; border: 0px solid rgba(0,0,0,140);*/ color: White; - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; } QMenuBar:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QMenuBar::item { background: transparent; - /*padding-left:5px; + /*padding-left:5px; padding-right: 5px; padding-bottom: 1px; padding-top: 1px;*/ @@ -464,7 +463,7 @@ QMenuBar::item { QMenuBar::item:selected { background: transparent; border: 0px solid #696968; - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QMenuBar::item:pressed { @@ -472,9 +471,9 @@ QMenuBar::item:pressed { padding-left: 10px; padding-right: 10px;*/ border: 0px solid #696968; - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; color: White; - /*margin-bottom: 0px; + /*margin-bottom: 0px; padding-bottom: 0px;*/ } @@ -489,7 +488,7 @@ QMenu { color: White; margin: 0px; background-color: #505050; - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; } QMenu::separator { @@ -508,11 +507,11 @@ QMenu::item { QMenu::item:selected { color: White; - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QMenu::item:pressed { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QMenu::icon { @@ -532,9 +531,9 @@ QMenu::indicator { } QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #920077 ; + background: @ThemeAccentColor2; margin-left: -5px; - border: 5px solid #920077 ; + border: 5px solid @ThemeAccentColor2; position: absolute; border-radius: 0px; } @@ -544,7 +543,7 @@ QMenu::indicator:non-exclusive:unchecked { QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { border: none; - background: #bc1cc8; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:unchecked:disabled { @@ -557,11 +556,11 @@ QMenu::indicator:non-exclusive:checked { QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { border: none; - background: #bc1cc8; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); +image:url(qss:images_dark-light/checkbox_checked_disabled.svg); } QMenu::indicator:non-exclusive:indeterminate { @@ -583,7 +582,7 @@ QMenu::indicator:exclusive:unchecked { QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { border: none; outline: none; - background: #bc1cc8; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -600,7 +599,7 @@ QMenu::indicator:exclusive:checked { QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { border: none; outline: none; - background: #bc1cc8; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -690,14 +689,14 @@ QScrollBar::handle:horizontal { } QScrollBar::handle:horizontal:hover { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; border: #696968; border-radius: 4px; min-width: 8px; } QScrollBar::handle:horizontal:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QScrollBar::handle:vertical { @@ -708,14 +707,14 @@ QScrollBar::handle:vertical { } QScrollBar::handle:vertical:hover { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; border: #696968; border-radius: 4px; min-height: 8px; } QScrollBar::handle:vertical:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QScrollBar::add-line:horizontal { @@ -777,7 +776,7 @@ QScrollBar::sub-line:vertical { } QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; border-image: url(qss:images_dark-light/up_arrow_lighter.svg); height: 5px; width: 9px; @@ -816,7 +815,7 @@ QTextEdit { } QTextEdit:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QTextEdit:selected { @@ -835,11 +834,11 @@ QPlainTextEdit { } QPlainTextEdit:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QPlainTextEdit:selected { - background: #bc1cc8; + background: @ThemeAccentColor1; color: White; } @@ -921,13 +920,13 @@ background-position: center center; QToolButton#qt_toolbar_ext_button:hover { /*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #bc1cc8; +background-color: @ThemeAccentColor1; } QToolButton#qt_toolbar_ext_button:on { /*background-image: url(qss:images_dark-light/more_light.svg);*/ border-color: #696968; -background-color: #bc1cc8; +background-color: @ThemeAccentColor1; } @@ -940,7 +939,7 @@ QSpinBox { border: 1px solid transparent; color: White; /* This fixes 103, 111 */ - /* padding-top: 0px; + /* padding-top: 0px; /* This fixes 103, 111 */ /*padding-bottom: 0px; /*padding-left: 4px; @@ -964,7 +963,7 @@ QAbstractSpinBox:up-button { QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; + /* height: 8px; width: 8px;*/ } @@ -995,16 +994,16 @@ QAbstractSpinBox::down-arrow:hover { } QAbstractSpinBox:hover { - /*border: 1px solid #bc1cc8; + /*border: 1px solid @ThemeAccentColor1; color: White;*/ } QAbstractSpinBox:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QAbstractSpinBox:selected { - background: #920077 ; + background: @ThemeAccentColor2; /*color: White;*/ } @@ -1055,7 +1054,7 @@ QTextBrowser:disabled { } QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #bc1cc8; + border: 1px solid @ThemeAccentColor1; } /* QGraphicsView ---------------------------------------------------------- @@ -1063,7 +1062,7 @@ QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pre --------------------------------------------------------------------------- */ QGraphicsView { background-color: transparent; - border: 0px solid #bc1cc8; + border: 0px solid @ThemeAccentColor1; color: White; border-radius: 0px; } @@ -1127,7 +1126,7 @@ QProgressBar:disabled { } QProgressBar::chunk { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; color: #7F7F7F; border-radius: 1.9px; } @@ -1162,31 +1161,31 @@ QPushButton:disabled { } QPushButton:checked { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; outline: none; } QPushButton:checked:disabled { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; color: #3c3c3c; outline: none; } QPushButton:checked:selected { - background: #bc1cc8; + background: @ThemeAccentColor1; } QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); color: White; } QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #920077 , stop:1 #bc1cc8); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QPushButton:selected { - background: #920077 ; + background: @ThemeAccentColor2; color: White; } @@ -1226,7 +1225,7 @@ QToolButton:disabled { } QToolButton:checked { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; border-radius: 1.9px; padding: 0px; outline: none; @@ -1241,30 +1240,30 @@ QToolButton:checked:disabled { } QToolButton:checked:hover { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; color: White; } QToolButton:checked:pressed { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QToolButton:checked:selected { - background: #920077 ; + background: @ThemeAccentColor2; color: White; } QToolButton:hover { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; color: White; } QToolButton:pressed { - background-color: #920077 ; + background-color: @ThemeAccentColor2; } QToolButton:selected { - background: #bc1cc8; + background: @ThemeAccentColor1; color: White; } @@ -1312,12 +1311,12 @@ QToolButton::menu-button { } QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ + /* background: rgba(0, 0, 0, 0.5);*/ } QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ + /* background: rgba(0, 0, 0, 0.5);*/ } QToolButton::menu-indicator { @@ -1374,7 +1373,7 @@ QComboBox { border: 1px solid transparent; background: #505050; border-radius: 2px; - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; padding-left: 2px; padding-right: 2px; /* padding-right = 36; 4 + 16*2 See scrollbar size */ @@ -1393,7 +1392,7 @@ QComboBox QAbstractItemView { border: 0px solid #696968; border-radius: 0px; background-color: #505050; - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; } QComboBox QAbstractItemView:hover { @@ -1402,7 +1401,7 @@ QComboBox QAbstractItemView:hover { } QComboBox QAbstractItemView:selected { - background: #bc1cc8; + background: @ThemeAccentColor1; color: White; } @@ -1416,16 +1415,16 @@ QComboBox:disabled { } QComboBox:hover { - /*background-color: #bc1cc8;*/ - border: 1px solid #bc1cc8; + /*background-color: @ThemeAccentColor1;*/ + border: 1px solid @ThemeAccentColor1; } QComboBox:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QComboBox:on { - selection-background-color: #920077 ; + selection-background-color: @ThemeAccentColor2; } QComboBox::indicator { @@ -1434,7 +1433,7 @@ QComboBox::indicator { background-color: transparent; selection-background-color: transparent; color: transparent; - selection-color: #bc1cc8; + selection-color: @ThemeAccentColor1; /* Needed to remove indicator - fix #132 */ } @@ -1466,7 +1465,7 @@ QComboBox::drop-down { border-left: 1px solid transparent; } QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QComboBox::down-arrow { @@ -1526,7 +1525,7 @@ padding: 0px; } QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QToolButton[class="header"] { @@ -1585,19 +1584,19 @@ background-color: #7F7F7F; /* Task Panel background color */ /* Fixs for tabs inside Task Panel */ QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #bc1cc8; /* same as Task Panel background color */ +border-bottom-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #bc1cc8; /* same as Task Panel background color */ +border-top-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #bc1cc8; /* same as Task Panel background color */ +border-right-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #bc1cc8; /* same as Task Panel background color */ +border-left-color: @ThemeAccentColor1; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ @@ -1628,11 +1627,11 @@ QSint--ActionGroup QFrame[class="content"] QToolButton { } QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, @@ -1642,7 +1641,7 @@ QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #bc1cc8, stop:1 #920077 ); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } @@ -1656,7 +1655,7 @@ QSlider:disabled { } QSlider:focus { - /*border: 1px solid #920077 ;*/ + /* border: 1px solid @ThemeAccentColor2;*/ } QSlider::groove:horizontal { @@ -1676,7 +1675,7 @@ QSlider::groove:vertical { } QSlider::add-page:vertical { - background: #bc1cc8; + background: @ThemeAccentColor1; border: 1px solid #696968; width: 4px; margin: 0px; @@ -1688,7 +1687,7 @@ QSlider::add-page:vertical :disabled { } QSlider::sub-page:horizontal { - background: #bc1cc8; + background: @ThemeAccentColor1; border: 1px solid #696968; height: 4px; margin: 0px; @@ -1696,7 +1695,7 @@ QSlider::sub-page:horizontal { } QSlider::sub-page:horizontal:disabled { - background: #bc1cc8; + background: @ThemeAccentColor1; } QSlider::handle:horizontal { @@ -1709,13 +1708,13 @@ QSlider::handle:horizontal { } QSlider::handle:horizontal:hover { - background: #bc1cc8; + background: @ThemeAccentColor1; border: 1px solid #696968; } QSlider::handle:horizontal:focus { - background: #920077; - border: 1px solid #920077; + background: @ThemeAccentColor2; + border: 1px solid @ThemeAccentColor2; } QSlider::handle:vertical { @@ -1728,12 +1727,12 @@ QSlider::handle:vertical { } QSlider::handle:vertical:hover { - background: #bc1cc8; + background: @ThemeAccentColor1; border: 1px solid #696968; } QSlider::handle:vertical:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } /* QLineEdit -------------------------------------------------------------- @@ -1761,16 +1760,16 @@ QLineEdit:disabled { } QLineEdit:hover { - border: 1px solid #bc1cc8; + border: 1px solid @ThemeAccentColor1; color: White; } QLineEdit:focus { - border: 2px solid #920077 ; + border: 2px solid @ThemeAccentColor2; } QLineEdit:selected { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; color: white; } @@ -1781,7 +1780,7 @@ https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabb --------------------------------------------------------------------------- */ QTabWidget { padding: 2px; - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; } QTabWidget QWidget { @@ -1796,12 +1795,7 @@ QTabWidget::pane { } QTabWidget::pane:selected { - background-color: #bc1cc8; - border: 1px solid #346792; -} - -QTabWidget::pane:selected { - background-color: #557bb6; + background-color: @ThemeAccentColor1; border: 1px solid #346792; } @@ -1824,6 +1818,7 @@ QTabWidget::pane:right { left: -1px; border-left: 1px solid #696969; } + /* QTabBar ---------------------------------------------------------------- https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar @@ -1920,16 +1915,16 @@ QTabBar::tab:top, QDockWidget QTabBar::tab:top { QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { color: white; - border-top: 4px solid #bc1cc8; /* selection color */ + border-top: 4px solid @ThemeAccentColor1; /* selection color */ border-bottom: 1px solid transparent; /* same as tab content background color */ border-left: 1px solid #696969; border-right: 1px solid #696969; } QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #bc1cc8;*/ - border: 0px solid #bc1cc8; - background-color: #bc1cc8; + /*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -1949,7 +1944,7 @@ QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { color: white; - border-bottom: 4px solid #bc1cc8; /* selection color */ + border-bottom: 4px solid @ThemeAccentColor1; /* selection color */ border-top: 1px solid transparent; /* same as tab content background color */ border-left: 1px solid #696969; border-right: 1px solid #696969; @@ -1957,9 +1952,9 @@ QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { } QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #bc1cc8;*/ - border: 0px solid #bc1cc8; - background-color: #bc1cc8; +/*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -1978,12 +1973,12 @@ QTabBar::tab:left, QDockWidget QTabBar::tab:left { QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { background-color: #7F7F7F; - border: 0px solid #920077 ; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #bc1cc8; - background-color: #bc1cc8; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-right: 0px; padding-right: -1px; @@ -2002,12 +1997,12 @@ QTabBar::tab:right, QDockWidget QTabBar::tab:right { QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { background-color: #7F7F7F; - border: 0px solid #920077 ; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #bc1cc8; - background-color: #bc1cc8; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-left: 0px; padding-left: 0px; @@ -2021,13 +2016,13 @@ QTabBar QToolButton, QDockWidget QTabBar QToolButton { } QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #bc1cc8; - background-color: #bc1cc8; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #bc1cc8; - background-color: #bc1cc8; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { @@ -2098,7 +2093,7 @@ QDockWidget::float-button { } QDockWidget::float-button:hover { - /*background-color: #bc1cc8;*/ + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/undock_blue.svg); } @@ -2234,7 +2229,7 @@ QTreeView:selected, QListView:selected, QTableView:selected, QColumnView:selected { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; color: White; } @@ -2242,21 +2237,21 @@ QTreeView:focus, QListView:focus, QTableView:focus, QColumnView:focus { - border: 1px solid #920077 ; + border: 1px solid @ThemeAccentColor2; } QTreeView::item:pressed, QListView::item:pressed, QTableView::item:pressed, QColumnView::item:pressed { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:active, QListView::item:selected:active, QTableView::item:selected:active, QColumnView::item:selected:active { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:!active, @@ -2273,7 +2268,7 @@ QTableView::item:!selected:hover, QColumnView::item:!selected:hover { outline: 0; color: White; - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QTableCornerButton::section { @@ -2381,7 +2376,7 @@ QToolBox { QToolBox:selected { padding: 0px; - border: 0px solid #bc1cc8; + border: 0px solid @ThemeAccentColor1; } QToolBox::tab { @@ -2419,7 +2414,7 @@ QToolBox::tab:!selected:disabled { } QToolBox::tab:hover { - background-color: #bc1cc8; + background-color: @ThemeAccentColor1; } QToolBox QScrollArea QWidget QWidget { @@ -2494,7 +2489,7 @@ QSplitter::handle:vertical { } QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #bc1cc8, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); background-position: center center; background-repeat: none; } @@ -2503,14 +2498,14 @@ QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); background-position: center center; background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #bc1cc8, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); } /* QDateEdit, QDateTimeEdit ----------------------------------------------- --------------------------------------------------------------------------- */ QDateEdit, QDateTimeEdit { - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; border-style: solid; border: 1px solid #696968; border-radius: 1.9px; @@ -2524,7 +2519,7 @@ QDateEdit, QDateTimeEdit { } QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; } QDateEdit::drop-down, QDateTimeEdit::drop-down { @@ -2548,19 +2543,19 @@ QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { background-color: #7F7F7F; border-radius: 2px; border: 1px solid #696968; - selection-background-color: #bc1cc8; + selection-background-color: @ThemeAccentColor1; } /* QAbstractView ---------------------------------------------------------- --------------------------------------------------------------------------- */ QAbstractView:hover { - border: 1px solid #bc1cc8; + border: 1px solid @ThemeAccentColor1; color: White; } QAbstractView:selected { - background: #bc1cc8; + background: @ThemeAccentColor1; color: White; } diff --git a/src/Gui/Stylesheets/Darker-blue.qss b/src/Gui/Stylesheets/Darker-blue.qss deleted file mode 100644 index ea7cc2a6c6..0000000000 --- a/src/Gui/Stylesheets/Darker-blue.qss +++ /dev/null @@ -1,2609 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #2053c0; - #1b3774 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ - -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #2053c0; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #444444; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #444444; - border: 0px solid #696968; - padding: 0px; - color: White; - selection-background-color: #2053c0; - selection-color: White; -} - -QWidget:disabled { - color: #c2c7cb; - selection-background-color: #2053c0; - selection-color: #c2c7cb; -} - -QWidget::item:selected { - background-color: #2053c0; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #2053c0; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #2053c0, stop:0.8 transparent); - /*background-color: #2053c0;*/ - image: url(qss:images_dark-light/splitter_vertical_light.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #2053c0, stop:0.8 transparent); - /*background-color: #2053c0;*/ - image: url(qss:images_dark-light/splitter_horizontal_light.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #1c1b22; - color: White; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #3c3c3c; - /* Fixes Spyder #9120, #9121 */ - background: #444444; - /* Fixes #205, white vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #444444; - border: 1px solid #696968; - color: #444444; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: white; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #1b3774; -} - -QCheckBox QWidget:disabled { - color: #c2c7cb; -} - -QCheckBox::indicator { - color: white; - background-color: #1c1b22; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #1c1b22; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #2053c0; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #444444; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #1c1b22; - /*border: 1px solid #696968; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #2053c0; -} - -QCheckBox::indicator:checked:disabled { - background-color: #444444; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #1c1b22; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #444444; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #2053c0; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #696968; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: white; - background-color: #3c3c3c; - border: 1px solid #696968; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #696968; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #2053c0; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #1c1b22; - border: 1px solid #696968; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #2053c0; -} - -QGroupBox::indicator:checked:disabled { - background-color: #2053c0; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: White; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #1b3774; -} - -QRadioButton:disabled { - background-color: #696968; - color: #353535; -} - -QRadioButton QWidget { - background-color: transparent; - color: White; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #3c3c3c; - border: 1px solid #696968; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #2053c0; - border: 1px solid #2053c0; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #696968; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #2053c0; - border: 1px solid #2053c0; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #696968; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #161616; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: White; - selection-background-color: #2053c0; -} - -QMenuBar:focus { - border: 1px solid #1b3774; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #696968; - background-color: #2053c0; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #696968; - background-color: #2053c0; - color: White; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: White; - margin: 0px; - background-color: #161616; - selection-background-color: #2053c0; -} - -QMenu::separator { - height: 2px; - background-color: #3c3c3c; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #696968; -} - -QMenu::item:selected { - color: White; - background-color: #2053c0; -} - -QMenu::item:pressed { - background-color: #2053c0; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #1b3774; - margin-left: -5px; - border: 5px solid #1b3774; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #2053c0; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #2053c0; -} - -QMenu::indicator:non-exclusive:checked:disabled { -image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #2053c0; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #2053c0; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_lighter.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #5b5b5b; - color: White; - border: 1px solid #696968; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #696968; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: White; -} - -QAbstractScrollArea:disabled { - color: #353535; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #444444; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 8px 2px 8px; - border: 0px solid #696968; - border-radius: 4px; - background-color: #444444; -} - -QScrollBar:vertical { - background-color: #444444; - width: 16px; - margin: 8px 2px 8px 2px; - border: 0px solid #696968; - border-radius: 4px; -} - -QScrollBar::handle:horizontal { - background-color: #696969; - border: 1px solid #444444; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #2053c0; - border: #696968; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #1b3774; -} - -QScrollBar::handle:vertical { - background-color: #696969; - border: 1px solid #696968; - min-height: 8px; - border-radius: 4px; -} - -QScrollBar::handle:vertical:hover { - background-color: #2053c0; - border: #696968; - border-radius: 4px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #1b3774; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #444444; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QTextEdit:focus { - border: 1px solid #1b3774; -} - -QTextEdit:selected { - background: #346792; - color: white; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #3c3c3c; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QPlainTextEdit:focus { - border: 1px solid #1b3774; -} - -QPlainTextEdit:selected { - background: #2053c0; - color: White; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_light.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #696968; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #444444; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #444444; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #696969; -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #2053c0; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -border-color: #696968; -background-color: #2053c0; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #1c1b22; - border: 1px solid transparent; - color: White; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - subcontrol-origin: border; - subcontrol-position: top right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - subcontrol-origin: border; - subcontrol-position: bottom right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #2053c0; - color: White;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #1b3774; -} - -QAbstractSpinBox:selected { - background: #1b3774; - /*color: White;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #696968; - padding: 2px; - margin: 0px; - color: White; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #696968; - color: #c2c7cb; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #1c1b22; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #444444; - border: 1px solid #696968; - color: #c2c7cb; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #2053c0; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #2053c0; - color: White; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #1c1b22; - border: 0px solid #696968; - color: #c2c7cb; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #696968; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #353535; - color: #c2c7cb; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: White; -} - -QLCDNumber:disabled { - background-color: #444444; - color: #c2c7cb; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #c2c7cb; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #161616; - border: 1px solid #696968; - color: #696969; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #2053c0; - color: #444444; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #161616; - color: #696968; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - color: White; - border: 1px solid #2a2a2a; - border-bottom-color: #1e1e1e; /* simulates shadow under the button */ - border-radius: 4px; - padding: 2px; -} - -QPushButton:disabled { - background-color: #444444; - color: #c2c7cb; - -} - -QPushButton:checked { - background-color: #2053c0; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #2053c0; - color: #3c3c3c; - outline: none; -} - -QPushButton:checked:selected { - background: #2053c0; -} - -QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); - color: White; -} - -QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #1b3774, stop:1 #2053c0); -} - -QPushButton:selected { - background: #1b3774; - color: White; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: White; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: rgba(0, 0, 0, 0.065); - color: #c2c7cb; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #2053c0; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #c2c7cb; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #2053c0; - color: White; -} - -QToolButton:checked:pressed { - background-color: #2053c0; -} - -QToolButton:checked:selected { - background: #1b3774; - color: White; -} - -QToolButton:hover { - background-color: #2053c0; - color: White; -} - -QToolButton:pressed { - background-color: #1b3774; -} - -QToolButton:selected { - background: #2053c0; - color: White; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #ffffff; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} -QToolButton::menu-arrow:hover { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #c2c7cb; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #1c1b22; - border-radius: 2px; - selection-background-color: #2053c0; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #1c1b22; -} -QComboBox QAbstractItemView { - border: 0px solid #696968; - border-radius: 0px; - background-color: #1c1b22; - selection-background-color: #2053c0; -} - -QComboBox QAbstractItemView:hover { - background-color:#1c1b22; - color: White; -} - -QComboBox QAbstractItemView:selected { - background: #2053c0; - color: White; -} - -QComboBox QAbstractItemView:alternate { - background: #3c3c3c; -} - -QComboBox:disabled { - background-color: #444444; - color: #353535; -} - -QComboBox:hover { - /*background-color: #2053c0;*/ - border: 1px solid #2053c0; -} - -QComboBox:focus { - border: 1px solid #1b3774; -} - -QComboBox:on { - selection-background-color: #1b3774; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #2053c0; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #696968; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #3c3c3c; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - subcontrol-position: top right; - width: 14px; - border-left: 1px solid transparent; -} -QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: white; - qproperty-groupBackground: #3c3c3c; - border: 0px solid #696968; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); -} - -QSint--ActionGroup QToolButton[class="header"] { -color: white; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #444444; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #2053c0; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #2053c0; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #2053c0; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #2053c0; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: white; -background-color: #1c1b22; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: white; - text-align: center; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); - -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #1b3774; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #696969; - background-color: #1c1b22; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2053c0, stop:1 #1b3774); - -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #444444; -} - -QSlider:focus { - /*border: 1px solid #1b3774;*/ -} - -QSlider::groove:horizontal { - background: #444444; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #2053c0; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #2053c0; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #696968; -} - -QSlider::sub-page:horizontal { - background: #2053c0; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #2053c0; -} - -QSlider::handle:horizontal { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #2053c0; - border: 1px solid #696968; -} - -QSlider::handle:horizontal:focus { - background: #1b3774; - border: 1px solid #1b3774; -} - -QSlider::handle:vertical { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #2053c0; - border: 1px solid #696968; -} - -QSlider::handle:vertical:focus { - border: 1px solid #1b3774; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #1c1b22; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #696968; - border-radius: 2px; - color: White; -} - -QLineEdit:disabled { - background-color: #444444; - color: #c2c7cb; -} - -QLineEdit:hover { - border: 1px solid #2053c0; - color: White; -} - -QLineEdit:focus { - border: 2px solid #1b3774; -} - -QLineEdit:selected { - background-color: #2053c0; - color: white; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #2053c0; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #2053c0; - border: 1px solid #346792; -} - -QTabWidget::pane:selected { - background-color: #557bb6; - border: 1px solid #346792; -} - -QTabWidget::pane:top { - top: -1px; - border-top: 1px solid #696969; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #696969; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #696969; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #696969; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_light.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ - padding: 4px; -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - color: #adadad; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - color: #adadad; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - color: #adadad; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - color: #adadad; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - color: #adadad; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - color: #adadad; - -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - color: #adadad; - -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - color: #adadad; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - color: #adadad; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - color: #adadad; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - color: #adadad; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - color: #adadad; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - color: #696969; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-bottom: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - color: white; - border-top: 4px solid #2053c0; /* selection color */ - border-bottom: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - } - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #2053c0;*/ - border: 0px solid #2053c0; - background-color: #2053c0; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - color: #adadad; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-top: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - color: white; - border-bottom: 4px solid #2053c0; /* selection color */ - border-top: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #2053c0;*/ - border: 0px solid #2053c0; - background-color: #2053c0; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #444444; - margin-top: 2px; - margin-left:10px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #444444; - border: 0px solid #1b3774; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #2053c0; - background-color: #2053c0; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #444444; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #444444; - border: 0px solid #1b3774; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #2053c0; - background-color: #2053c0; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #444444; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #2053c0; - background-color: #2053c0; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #2053c0; - background-color: #2053c0; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_lighter.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_light.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_light.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #444444; - border: 1px solid #2a2a2a; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #2053c0;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_light.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_light.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #444444; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #696968; - color: White; - gridline-color: #696968; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(31, 31, 31, 0.85); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #1c1b22; - color: #c2c7cb; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #2053c0; - color: White; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #1b3774; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #2053c0; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #2053c0; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: White; - background-color: #353535; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: White; - background-color: #2053c0; -} - -QTableCornerButton::section { - background-color: #444444; - border: 1px transparent #696968; - border-radius: 0px; -} - -QTableView::item { - color: white; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: transparent; - text-align: center; -} - -QHeaderView:disabled { - background-color: #444444; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - color: White; - border: 1px solid #2a2a2a; - font-size: 13px; - font-weight: bold; -} - -QHeaderView::section::horizontal { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 5px; - padding-right: 0px; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 0px solid #696968; -} - -QHeaderView::section::horizontal:disabled { - color: #353535; -} - -QHeaderView::section::vertical { - padding-top: 1px; - padding-bottom: 0; - padding-left: 1px; - padding-right: 0px; - border-top: 0px solid #2a2a2a; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 2px solid #2a2a2a; -} - -QHeaderView::section::vertical:disabled { - border-top: 2px solid #2a2a2a; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::up-arrow { - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_light.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #696969; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #2053c0; -} - -QToolBox::tab { - background-color: transparent; - border: 0px solid #696969; - color: white; - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #696969; -} - -QToolBox::tab:selected { - background-color: #696969; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #696969; - border-bottom: 0px solid #cccccc; - color: white; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #444444; -} - -QToolBox::tab:hover { - background-color: #2053c0; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #696968; - background-color: #696969; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #696968; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #696968; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #444444; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #2053c0, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #2053c0, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #2053c0; - border-style: solid; - border: 1px solid #696968; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #2053c0; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #696968; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #444444; - border-radius: 2px; - border: 1px solid #696968; - selection-background-color: #2053c0; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #2053c0; - color: White; -} - -QAbstractView:selected { - background: #2053c0; - color: White; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Darker-green.qss b/src/Gui/Stylesheets/Darker-green.qss deleted file mode 100644 index ecc50e84a5..0000000000 --- a/src/Gui/Stylesheets/Darker-green.qss +++ /dev/null @@ -1,2583 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #74831d - #6d8000 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ - Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #74831d; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #444444; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #444444; - border: 0px solid #696968; - padding: 0px; - color: White; - selection-background-color: #74831d; - selection-color: White; -} - -QWidget:disabled { - color: #c2c7cb; - selection-background-color: #74831d; - selection-color: #c2c7cb; -} - -QWidget::item:selected { - background-color: #74831d; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #74831d; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #74831d, stop:0.8 transparent); - /*background-color: #74831d;*/ - image: url(qss:images_dark-light/splitter_vertical_light.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #74831d, stop:0.8 transparent); - /*background-color: #74831d;*/ - image: url(qss:images_dark-light/splitter_horizontal_light.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #1c1b22; - color: White; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #3c3c3c; - /* Fixes Spyder #9120, #9121 */ - background: #444444; - /* Fixes #205, white vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #444444; - border: 1px solid #696968; - color: #444444; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: white; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #6d8000; -} - -QCheckBox QWidget:disabled { - color: #c2c7cb; -} - -QCheckBox::indicator { - color: white; - background-color: #1c1b22; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #1c1b22; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #74831d; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #444444; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #1c1b22; - /*border: 1px solid #696968; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #74831d; -} - -QCheckBox::indicator:checked:disabled { - background-color: #444444; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #1c1b22; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #444444; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #74831d; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #696968; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: white; - background-color: #3c3c3c; - border: 1px solid #696968; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #696968; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #74831d; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #1c1b22; - border: 1px solid #696968; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #74831d; -} - -QGroupBox::indicator:checked:disabled { - background-color: #74831d; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: White; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #6d8000; -} - -QRadioButton:disabled { - background-color: #696968; - color: #353535; -} - -QRadioButton QWidget { - background-color: transparent; - color: White; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #3c3c3c; - border: 1px solid #696968; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #74831d; - border: 1px solid #74831d; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #696968; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #74831d; - border: 1px solid #74831d; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #696968; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #161616; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: White; - selection-background-color: #74831d; -} - -QMenuBar:focus { - border: 1px solid #6d8000; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #696968; - background-color: #74831d; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #696968; - background-color: #74831d; - color: White; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: White; - margin: 0px; - background-color: #161616; - selection-background-color: #74831d; -} - -QMenu::separator { - height: 2px; - background-color: #3c3c3c; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #696968; -} - -QMenu::item:selected { - color: White; - background-color: #74831d; -} - -QMenu::item:pressed { - background-color: #74831d; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #6d8000; - margin-left: -5px; - border: 5px solid #6d8000; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #74831d; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #74831d; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #74831d; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #74831d; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_lighter.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #5b5b5b; - color: White; - border: 1px solid #696968; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #696968; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: White; -} - -QAbstractScrollArea:disabled { - color: #353535; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #444444; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 8px 2px 8px; - border: 0px solid #696968; - border-radius: 4px; - background-color: #444444; -} - -QScrollBar:vertical { - background-color: #444444; - width: 16px; - margin: 8px 2px 8px 2px; - border: 0px solid #696968; - border-radius: 4px; -} - -QScrollBar::handle:horizontal { - background-color: #696969; - border: 1px solid #444444; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #74831d; - border: #696968; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #6d8000; -} - -QScrollBar::handle:vertical { - background-color: #696969; - border: 1px solid #696968; - min-height: 8px; - border-radius: 4px; -} - -QScrollBar::handle:vertical:hover { - background-color: #74831d; - border: #696968; - border-radius: 4px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #6d8000; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #444444; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QTextEdit:focus { - border: 1px solid #6d8000; -} - -QTextEdit:selected { - background: #346792; - color: white; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #3c3c3c; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QPlainTextEdit:focus { - border: 1px solid #6d8000; -} - -QPlainTextEdit:selected { - background: #74831d; - color: White; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_light.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #696968; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #444444; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #444444; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #696969; -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #74831d; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -border-color: #696968; -background-color: #74831d; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #1c1b22; - border: 1px solid transparent; - color: White; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - subcontrol-origin: border; - subcontrol-position: top right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - subcontrol-origin: border; - subcontrol-position: bottom right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #74831d; - color: White;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #6d8000; -} - -QAbstractSpinBox:selected { - background: #6d8000; - /*color: White;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #696968; - padding: 2px; - margin: 0px; - color: White; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #696968; - color: #c2c7cb; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #1c1b22; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #444444; - border: 1px solid #696968; - color: #c2c7cb; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #74831d; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #74831d; - color: White; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #1c1b22; - border: 0px solid #696968; - color: #c2c7cb; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #696968; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #353535; - color: #c2c7cb; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: White; -} - -QLCDNumber:disabled { - background-color: #444444; - color: #c2c7cb; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #c2c7cb; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #161616; - border: 1px solid #696968; - color: #696969; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #74831d; - color: #444444; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #161616; - color: #696968; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - color: White; - border: 1px solid #2a2a2a; - border-bottom-color: #1e1e1e; /* simulates shadow under the button */ - border-radius: 4px; - padding: 2px; -} - -QPushButton:disabled { - background-color: #444444; - color: #c2c7cb; - -} - -QPushButton:checked { - background-color: #74831d; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #74831d; - color: #3c3c3c; - outline: none; -} - -QPushButton:checked:selected { - background: #74831d; -} - -QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); - color: White; -} - -QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #6d8000, stop:1 #74831d); -} - -QPushButton:selected { - background: #6d8000; - color: White; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: White; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: rgba(0, 0, 0, 0.065); - color: #c2c7cb; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #74831d; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #c2c7cb; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #74831d; - color: White; -} - -QToolButton:checked:pressed { - background-color: #74831d; -} - -QToolButton:checked:selected { - background: #6d8000; - color: White; -} - -QToolButton:hover { - background-color: #74831d; - color: White; -} - -QToolButton:pressed { - background-color: #6d8000; -} - -QToolButton:selected { - background: #74831d; - color: White; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #ffffff; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} -QToolButton::menu-arrow:hover { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #c2c7cb; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #1c1b22; - border-radius: 2px; - selection-background-color: #74831d; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #1c1b22; -} -QComboBox QAbstractItemView { - border: 0px solid #696968; - border-radius: 0px; - background-color: #1c1b22; - selection-background-color: #74831d; -} - -QComboBox QAbstractItemView:hover { - background-color:#1c1b22; - color: White; -} - -QComboBox QAbstractItemView:selected { - background: #74831d; - color: White; -} - -QComboBox QAbstractItemView:alternate { - background: #3c3c3c; -} - -QComboBox:disabled { - background-color: #444444; - color: #353535; -} - -QComboBox:hover { - /*background-color: #74831d;*/ - border: 1px solid #74831d; -} - -QComboBox:focus { - border: 1px solid #6d8000; -} - -QComboBox:on { - selection-background-color: #6d8000; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #74831d; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #696968; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #3c3c3c; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - subcontrol-position: top right; - width: 14px; - border-left: 1px solid transparent; -} -QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: white; - qproperty-groupBackground: #3c3c3c; - border: 0px solid #696968; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); -} - -QSint--ActionGroup QToolButton[class="header"] { -color: white; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #444444; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #74831d; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #74831d; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #74831d; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #74831d; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: white; -background-color: #1c1b22; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: white; - text-align: center; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); - -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #6d8000; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #696969; - background-color: #1c1b22; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #74831d, stop:1 #6d8000); - -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #444444; -} - -QSlider:focus { - /*border: 1px solid #6d8000;*/ -} - -QSlider::groove:horizontal { - background: #444444; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #74831d; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #74831d; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #696968; -} - -QSlider::sub-page:horizontal { - background: #74831d; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #74831d; -} - -QSlider::handle:horizontal { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #74831d; - border: 1px solid #696968; -} - -QSlider::handle:horizontal:focus { - background: #6d8000; - border: 1px solid #6d8000; -} - -QSlider::handle:vertical { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #74831d; - border: 1px solid #696968; -} - -QSlider::handle:vertical:focus { - border: 1px solid #6d8000; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #1c1b22; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #696968; - border-radius: 2px; - color: White; -} - -QLineEdit:disabled { - background-color: #444444; - color: #c2c7cb; -} - -QLineEdit:hover { - border: 1px solid #74831d; - color: White; -} - -QLineEdit:focus { - border: 2px solid #6d8000; -} - -QLineEdit:selected { - background-color: #74831d; - color: white; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #74831d; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #74831d; - border: 1px solid #346792; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_light.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ - padding: 4px; -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - color: #adadad; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - color: #adadad; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - color: #adadad; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - color: #adadad; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - color: #adadad; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - color: #adadad; - -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - color: #adadad; - -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - color: #adadad; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - color: #adadad; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - color: #adadad; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - color: #adadad; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - color: #adadad; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - color: #696969; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-bottom: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - color: white; - border-top: 4px solid #74831d; /* selection color */ - border-bottom: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - } - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #74831d;*/ - border: 0px solid #74831d; - background-color: #74831d; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - color: #adadad; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-top: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - color: white; - border-bottom: 4px solid #74831d; /* selection color */ - border-top: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #74831d;*/ - border: 0px solid #74831d; - background-color: #74831d; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #444444; - margin-top: 2px; - margin-left:10px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #444444; - border: 0px solid #6d8000; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #74831d; - background-color: #74831d; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #444444; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #444444; - border: 0px solid #6d8000; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #74831d; - background-color: #74831d; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #444444; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #74831d; - background-color: #74831d; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #74831d; - background-color: #74831d; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_lighter.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_light.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_light.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #444444; - border: 1px solid #2a2a2a; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #74831d;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_light.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_light.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #444444; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #696968; - color: White; - gridline-color: #696968; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(31, 31, 31, 0.85); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #1c1b22; - color: #c2c7cb; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #74831d; - color: White; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #6d8000; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #74831d; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #74831d; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: White; - background-color: #353535; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: White; - background-color: #74831d; -} - -QTableCornerButton::section { - background-color: #444444; - border: 1px transparent #696968; - border-radius: 0px; -} - -QTableView::item { - color: white; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: transparent; - text-align: center; -} - -QHeaderView:disabled { - background-color: #444444; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - color: White; - border: 1px solid #2a2a2a; - font-size: 13px; - font-weight: bold; -} - -QHeaderView::section::horizontal { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 5px; - padding-right: 0px; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 0px solid #696968; -} - -QHeaderView::section::horizontal:disabled { - color: #353535; -} - -QHeaderView::section::vertical { - padding-top: 1px; - padding-bottom: 0; - padding-left: 1px; - padding-right: 0px; - border-top: 0px solid #2a2a2a; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 2px solid #2a2a2a; -} - -QHeaderView::section::vertical:disabled { - border-top: 2px solid #2a2a2a; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::up-arrow { - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_light.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #696969; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #74831d; -} - -QToolBox::tab { - background-color: transparent; - border: 0px solid #696969; - color: white; - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #696969; -} - -QToolBox::tab:selected { - background-color: #696969; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #696969; - border-bottom: 0px solid #cccccc; - color: white; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #444444; -} - -QToolBox::tab:hover { - background-color: #74831d; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #696968; - background-color: #696969; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #696968; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #696968; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #444444; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #74831d, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #74831d, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #74831d; - border-style: solid; - border: 1px solid #696968; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #74831d; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #696968; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #444444; - border-radius: 2px; - border: 1px solid #696968; - selection-background-color: #74831d; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #74831d; - color: White; -} - -QAbstractView:selected { - background: #74831d; - color: White; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Darker-orange.qss b/src/Gui/Stylesheets/Darker-orange.qss deleted file mode 100644 index de04a185a7..0000000000 --- a/src/Gui/Stylesheets/Darker-orange.qss +++ /dev/null @@ -1,2609 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #b28416 - #996b00 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ - Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #b28416; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #444444; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad_dark.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_light.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #444444; - border: 0px solid #696968; - padding: 0px; - color: White; - selection-background-color: #b28416; - selection-color: White; -} - -QWidget:disabled { - color: #c2c7cb; - selection-background-color: #b28416; - selection-color: #c2c7cb; -} - -QWidget::item:selected { - background-color: #b28416; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #b28416; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); - /*background-color: #b28416;*/ - image: url(qss:images_dark-light/splitter_vertical_light.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); - /*background-color: #b28416;*/ - image: url(qss:images_dark-light/splitter_horizontal_light.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #1c1b22; - color: White; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #3c3c3c; - /* Fixes Spyder #9120, #9121 */ - background: #444444; - /* Fixes #205, white vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #444444; - border: 1px solid #696968; - color: #444444; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: white; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #996b00; -} - -QCheckBox QWidget:disabled { - color: #c2c7cb; -} - -QCheckBox::indicator { - color: white; - background-color: #1c1b22; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #1c1b22; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #b28416; - image:url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #444444; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #1c1b22; - /*border: 1px solid #696968; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #b28416; -} - -QCheckBox::indicator:checked:disabled { - background-color: #444444; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #1c1b22; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #444444; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #b28416; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #696968; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: white; - background-color: #3c3c3c; - border: 1px solid #696968; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #696968; - border: 1px solid #696968; - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #b28416; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #1c1b22; - border: 1px solid #696968; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #b28416; -} - -QGroupBox::indicator:checked:disabled { - background-color: #b28416; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: White; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #996b00; -} - -QRadioButton:disabled { - background-color: #696968; - color: #353535; -} - -QRadioButton QWidget { - background-color: transparent; - color: White; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #3c3c3c; - border: 1px solid #696968; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #b28416; - border: 1px solid #b28416; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #696968; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #b28416; - border: 1px solid #b28416; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #696968; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #161616; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: White; - selection-background-color: #b28416; -} - -QMenuBar:focus { - border: 1px solid #996b00; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #696968; - background-color: #b28416; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #696968; - background-color: #b28416; - color: White; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: White; - margin: 0px; - background-color: #161616; - selection-background-color: #b28416; -} - -QMenu::separator { - height: 2px; - background-color: #3c3c3c; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #696968; -} - -QMenu::item:selected { - color: White; - background-color: #b28416; -} - -QMenu::item:pressed { - background-color: #b28416; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #996b00; - margin-left: -5px; - border: 5px solid #996b00; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #b28416; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #b28416; - image:url(qss:images_dark-light/checkbox_light.svg); -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #b28416; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #b28416; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_light.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_lighter.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #5b5b5b; - color: White; - border: 1px solid #696968; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #696968; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: White; -} - -QAbstractScrollArea:disabled { - color: #353535; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #444444; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 8px 2px 8px; - border: 0px solid #696968; - border-radius: 4px; - background-color: #444444; -} - -QScrollBar:vertical { - background-color: #444444; - width: 16px; - margin: 8px 2px 8px 2px; - border: 0px solid #696968; - border-radius: 4px; -} - -QScrollBar::handle:horizontal { - background-color: #696969; - border: 1px solid #444444; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #b28416; - border: #696968; - border-radius: 4px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #996b00; -} - -QScrollBar::handle:vertical { - background-color: #696969; - border: 1px solid #696968; - min-height: 8px; - border-radius: 4px; -} - -QScrollBar::handle:vertical:hover { - background-color: #b28416; - border: #696968; - border-radius: 4px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #996b00; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_light.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_light.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #444444; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QTextEdit:focus { - border: 1px solid #996b00; -} - -QTextEdit:selected { - background: #346792; - color: white; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #3c3c3c; - color: White; - border-radius: 1.9px; - border: 0px solid #696968; -} - -QPlainTextEdit:focus { - border: 1px solid #996b00; -} - -QPlainTextEdit:selected { - background: #b28416; - color: White; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_light.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #696968; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #444444; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #444444; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_light.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_light.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #696969; -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #b28416; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_light.svg);*/ -border-color: #696968; -background-color: #b28416; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #1c1b22; - border: 1px solid transparent; - color: White; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - subcontrol-origin: border; - subcontrol-position: top right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - subcontrol-origin: border; - subcontrol-position: bottom right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #b28416; - color: White;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #996b00; -} - -QAbstractSpinBox:selected { - background: #996b00; - /*color: White;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #696968; - padding: 2px; - margin: 0px; - color: White; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #696968; - color: #c2c7cb; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #1c1b22; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #444444; - border: 1px solid #696968; - color: #c2c7cb; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #b28416; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #b28416; - color: White; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #1c1b22; - border: 0px solid #696968; - color: #c2c7cb; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #696968; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #353535; - color: #c2c7cb; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: White; -} - -QLCDNumber:disabled { - background-color: #444444; - color: #c2c7cb; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #c2c7cb; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #161616; - border: 1px solid #696968; - color: #696969; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #b28416; - color: #444444; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #161616; - color: #696968; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - color: White; - border: 1px solid #2a2a2a; - border-bottom-color: #1e1e1e; /* simulates shadow under the button */ - border-radius: 4px; - padding: 2px; -} - -QPushButton:disabled { - background-color: #444444; - color: #c2c7cb; - -} - -QPushButton:checked { - background-color: #b28416; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #b28416; - color: #3c3c3c; - outline: none; -} - -QPushButton:checked:selected { - background: #b28416; -} - -QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); - color: White; -} - -QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #996b00, stop:1 #b28416); -} - -QPushButton:selected { - background: #996b00; - color: White; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: White; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: rgba(0, 0, 0, 0.065); - color: #c2c7cb; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #b28416; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #c2c7cb; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #b28416; - color: White; -} - -QToolButton:checked:pressed { - background-color: #b28416; -} - -QToolButton:checked:selected { - background: #996b00; - color: White; -} - -QToolButton:hover { - background-color: #b28416; - color: White; -} - -QToolButton:pressed { - background-color: #996b00; -} - -QToolButton:selected { - background: #b28416; - color: White; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #ffffff; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} -QToolButton::menu-arrow:hover { - image: url(qss:images_dark-light/more_arrow_light.svg); - width: 1.7ex; - height: 1.7ex; -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #696968; - color: White; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #c2c7cb; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #1c1b22; - border-radius: 2px; - selection-background-color: #b28416; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #1c1b22; -} -QComboBox QAbstractItemView { - border: 0px solid #696968; - border-radius: 0px; - background-color: #1c1b22; - selection-background-color: #b28416; -} - -QComboBox QAbstractItemView:hover { - background-color:#1c1b22; - color: White; -} - -QComboBox QAbstractItemView:selected { - background: #b28416; - color: White; -} - -QComboBox QAbstractItemView:alternate { - background: #3c3c3c; -} - -QComboBox:disabled { - background-color: #444444; - color: #353535; -} - -QComboBox:hover { - /*background-color: #b28416;*/ - border: 1px solid #b28416; -} - -QComboBox:focus { - border: 1px solid #996b00; -} - -QComboBox:on { - selection-background-color: #996b00; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #b28416; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #696968; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #3c3c3c; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - subcontrol-position: top right; - width: 14px; - border-left: 1px solid transparent; -} -QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: white; - qproperty-groupBackground: #3c3c3c; - border: 0px solid #696968; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); -} - -QSint--ActionGroup QToolButton[class="header"] { -color: white; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_light.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_lighter.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #696968; -border-left: 1px solid #696968; -border-right: 1px solid #696968; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #444444; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #b28416; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #b28416; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #b28416; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #b28416; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: white; -background-color: #1c1b22; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: white; - text-align: center; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); - -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #996b00; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #696969; - background-color: #1c1b22; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b28416, stop:1 #996b00); - -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #444444; -} - -QSlider:focus { - /*border: 1px solid #996b00;*/ -} - -QSlider::groove:horizontal { - background: #444444; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #b28416; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #b28416; - border: 1px solid #696968; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #696968; -} - -QSlider::sub-page:horizontal { - background: #b28416; - border: 1px solid #696968; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #b28416; -} - -QSlider::handle:horizontal { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #b28416; - border: 1px solid #696968; -} - -QSlider::handle:horizontal:focus { - background: #996b00; - border: 1px solid #996b00; -} - -QSlider::handle:vertical { - background: #353535; - border: 1px solid #696968; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #b28416; - border: 1px solid #696968; -} - -QSlider::handle:vertical:focus { - border: 1px solid #996b00; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #1c1b22; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #696968; - border-radius: 2px; - color: White; -} - -QLineEdit:disabled { - background-color: #444444; - color: #c2c7cb; -} - -QLineEdit:hover { - border: 1px solid #b28416; - color: White; -} - -QLineEdit:focus { - border: 2px solid #996b00; -} - -QLineEdit:selected { - background-color: #b28416; - color: white; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #b28416; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #b28416; - border: 1px solid #346792; -} - -QTabWidget::pane:selected { - background-color: #557bb6; - border: 1px solid #346792; -} - -QTabWidget::pane:top { - top: -1px; - border-top: 1px solid #696969; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #696969; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #696969; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #696969; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_light.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ - padding: 4px; -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - color: #adadad; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - color: #adadad; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - color: #adadad; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - color: #adadad; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - color: #adadad; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - color: #adadad; - -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - color: #adadad; - -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - color: #adadad; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - color: #adadad; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - color: #adadad; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - color: #adadad; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - color: #adadad; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - color: #696969; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-bottom: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - color: white; - border-top: 4px solid #b28416; /* selection color */ - border-bottom: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - } - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #b28416;*/ - border: 0px solid #b28416; - background-color: #b28416; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - color: #adadad; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-top: 1px solid #696969; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - color: white; - border-bottom: 4px solid #b28416; /* selection color */ - border-top: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #696969; - border-right: 1px solid #696969; - -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #b28416;*/ - border: 0px solid #b28416; - background-color: #b28416; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #444444; - margin-top: 2px; - margin-left:10px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #444444; - border: 0px solid #996b00; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #b28416; - background-color: #b28416; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #444444; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #444444; - border: 0px solid #996b00; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #b28416; - background-color: #b28416; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #444444; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #b28416; - background-color: #b28416; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #b28416; - background-color: #b28416; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_lighter.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_light.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_lighter.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_light.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #444444; - border: 1px solid #2a2a2a; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_light.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_light.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #b28416;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_light.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_light.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_light.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_light.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_light.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_light.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_light.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_light.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_light.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_light.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_light.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #444444; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #696968; - color: White; - gridline-color: #696968; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(31, 31, 31, 0.85); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #1c1b22; - color: #c2c7cb; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #b28416; - color: White; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #996b00; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #b28416; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #b28416; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: White; - background-color: #353535; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: White; - background-color: #b28416; -} - -QTableCornerButton::section { - background-color: #444444; - border: 1px transparent #696968; - border-radius: 0px; -} - -QTableView::item { - color: white; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: transparent; - text-align: center; -} - -QHeaderView:disabled { - background-color: #444444; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #333333, stop:1 #2a2a2a); - color: White; - border: 1px solid #2a2a2a; - font-size: 13px; - font-weight: bold; -} - -QHeaderView::section::horizontal { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 5px; - padding-right: 0px; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 0px solid #696968; -} - -QHeaderView::section::horizontal:disabled { - color: #353535; -} - -QHeaderView::section::vertical { - padding-top: 1px; - padding-bottom: 0; - padding-left: 1px; - padding-right: 0px; - border-top: 0px solid #2a2a2a; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 2px solid #2a2a2a; -} - -QHeaderView::section::vertical:disabled { - border-top: 2px solid #2a2a2a; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_light.svg); -} - -QHeaderView::up-arrow { - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_light.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #696969; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #b28416; -} - -QToolBox::tab { - background-color: transparent; - border: 0px solid #696969; - color: white; - background-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #696969; -} - -QToolBox::tab:selected { - background-color: #696969; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #696969; - border-bottom: 0px solid #cccccc; - color: white; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #444444; -} - -QToolBox::tab:hover { - background-color: #b28416; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #696968; - background-color: #696969; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #696968; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #696968; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #444444; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #b28416, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #b28416; - border-style: solid; - border: 1px solid #696968; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #b28416; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #696968; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_light.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_lighter.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #444444; - border-radius: 2px; - border: 1px solid #696968; - selection-background-color: #b28416; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #b28416; - color: White; -} - -QAbstractView:selected { - background: #b28416; - color: White; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Darker-pink.qss b/src/Gui/Stylesheets/Darker.qss similarity index 91% rename from src/Gui/Stylesheets/Darker-pink.qss rename to src/Gui/Stylesheets/Darker.qss index dfc091f777..c570c123e8 100644 --- a/src/Gui/Stylesheets/Darker-pink.qss +++ b/src/Gui/Stylesheets/Darker.qss @@ -17,8 +17,8 @@ INSTALLATION WHEN NECESSARY ============================================================================================================ TO MODIFY USE THESE COLORS: - #b216a0 - #770069 + @ThemeAccentColor1 + @ThemeAccentColor2 See Qt documentation: @@ -51,7 +51,8 @@ QToolBar * { } /*hacks */ - Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, + +Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { @@ -86,7 +87,7 @@ Gui--PropertyEditor--PropertyEditor QComboBox { /* fix for column items background when a link is present */ Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #b216a0; /* same as focused background color */ + background-color: @ThemeAccentColor1; /* same as focused background color */ } /* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ @@ -124,23 +125,23 @@ QWidget { border: 0px solid #696968; padding: 0px; color: White; - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; selection-color: White; } QWidget:disabled { color: #c2c7cb; - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; selection-color: #c2c7cb; } QWidget::item:selected { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } /* Causes issue with colorselector. QWidget::item:hover:!selected { - background-color: #b216a0; + background-color: @ThemeAccentColor1; }*/ /* QMainWindow ------------------------------------------------------------ @@ -157,14 +158,14 @@ QMainWindow::separator { } QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #b216a0, stop:0.8 transparent); - /*background-color: #b216a0;*/ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/splitter_vertical_light.svg); } QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #b216a0, stop:0.8 transparent); - /*background-color: #b216a0;*/ + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/splitter_horizontal_light.svg); } @@ -172,14 +173,14 @@ QMainWindow::separator:horizontal { width: 4px; margin-top: 0.1px; margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ + /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ } QMainWindow::separator:vertical { height: 4px; margin-left: 0.1px; margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ + /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ } /* QToolTip --------------------------------------------------------------- @@ -242,7 +243,7 @@ QCheckBox { } QCheckBox:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QCheckBox QWidget:disabled { @@ -263,7 +264,7 @@ QCheckBox::indicator:unchecked { } QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #b216a0; + background-color: @ThemeAccentColor1; image:url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -279,7 +280,7 @@ QCheckBox::indicator:checked { } QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QCheckBox::indicator:checked:disabled { @@ -299,7 +300,7 @@ QCheckBox::indicator:indeterminate:disabled { } QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #b216a0; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor1; /* QRadioButton has the same color */ } /* QGroupBox -------------------------------------------------------------- @@ -341,7 +342,7 @@ QGroupBox::indicator:unchecked { } QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:unchecked:disabled { @@ -355,11 +356,11 @@ QGroupBox::indicator:checked { } QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:checked:disabled { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } /* QRadioButton ----------------------------------------------------------- @@ -378,7 +379,7 @@ QRadioButton { } QRadioButton:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QRadioButton:disabled { @@ -409,8 +410,8 @@ QRadioButton::indicator:unchecked { } QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #b216a0; - border: 1px solid #b216a0; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; } @@ -424,8 +425,8 @@ QRadioButton::indicator:checked { } QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #b216a0; - border: 1px solid #b216a0; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; image:url(qss:images_dark-light/radiobutton_light.svg); } @@ -446,16 +447,16 @@ QMenuBar { /*padding: 1px; border: 0px solid rgba(0,0,0,140);*/ color: White; - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; } QMenuBar:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QMenuBar::item { background: transparent; - /*padding-left:5px; + /*padding-left:5px; padding-right: 5px; padding-bottom: 1px; padding-top: 1px;*/ @@ -464,7 +465,7 @@ QMenuBar::item { QMenuBar::item:selected { background: transparent; border: 0px solid #696968; - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QMenuBar::item:pressed { @@ -472,9 +473,9 @@ QMenuBar::item:pressed { padding-left: 10px; padding-right: 10px;*/ border: 0px solid #696968; - background-color: #b216a0; + background-color: @ThemeAccentColor1; color: White; - /*margin-bottom: 0px; + /*margin-bottom: 0px; padding-bottom: 0px;*/ } @@ -489,7 +490,7 @@ QMenu { color: White; margin: 0px; background-color: #161616; - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; } QMenu::separator { @@ -508,11 +509,11 @@ QMenu::item { QMenu::item:selected { color: White; - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QMenu::item:pressed { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QMenu::icon { @@ -532,9 +533,9 @@ QMenu::indicator { } QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #770069; + background: @ThemeAccentColor2; margin-left: -5px; - border: 5px solid #770069; + border: 5px solid @ThemeAccentColor2; position: absolute; border-radius: 0px; } @@ -544,7 +545,7 @@ QMenu::indicator:non-exclusive:unchecked { QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { border: none; - background: #b216a0; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:unchecked:disabled { @@ -557,11 +558,11 @@ QMenu::indicator:non-exclusive:checked { QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { border: none; - background: #b216a0; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); +image:url(qss:images_dark-light/checkbox_checked_disabled.svg); } QMenu::indicator:non-exclusive:indeterminate { @@ -583,7 +584,7 @@ QMenu::indicator:exclusive:unchecked { QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { border: none; outline: none; - background: #b216a0; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -600,7 +601,7 @@ QMenu::indicator:exclusive:checked { QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { border: none; outline: none; - background: #b216a0; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -690,14 +691,14 @@ QScrollBar::handle:horizontal { } QScrollBar::handle:horizontal:hover { - background-color: #b216a0; + background-color: @ThemeAccentColor1; border: #696968; border-radius: 4px; min-width: 8px; } QScrollBar::handle:horizontal:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QScrollBar::handle:vertical { @@ -708,14 +709,14 @@ QScrollBar::handle:vertical { } QScrollBar::handle:vertical:hover { - background-color: #b216a0; + background-color: @ThemeAccentColor1; border: #696968; border-radius: 4px; min-height: 8px; } QScrollBar::handle:vertical:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QScrollBar::add-line:horizontal { @@ -815,7 +816,7 @@ QTextEdit { } QTextEdit:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QTextEdit:selected { @@ -834,11 +835,11 @@ QPlainTextEdit { } QPlainTextEdit:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QPlainTextEdit:selected { - background: #b216a0; + background: @ThemeAccentColor1; color: White; } @@ -920,13 +921,13 @@ background-position: center center; QToolButton#qt_toolbar_ext_button:hover { /*background-image: url(qss:images_dark-light/more_light.svg);*/ -background-color: #b216a0; +background-color: @ThemeAccentColor1; } QToolButton#qt_toolbar_ext_button:on { /*background-image: url(qss:images_dark-light/more_light.svg);*/ border-color: #696968; -background-color: #b216a0; +background-color: @ThemeAccentColor1; } @@ -939,7 +940,7 @@ QSpinBox { border: 1px solid transparent; color: White; /* This fixes 103, 111 */ - /* padding-top: 0px; + /* padding-top: 0px; /* This fixes 103, 111 */ /*padding-bottom: 0px; /*padding-left: 4px; @@ -963,7 +964,7 @@ QAbstractSpinBox:up-button { QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { image: url(qss:images_dark-light/up_arrow_disabled_light.svg); - /* height: 8px; + /* height: 8px; width: 8px;*/ } @@ -994,16 +995,16 @@ QAbstractSpinBox::down-arrow:hover { } QAbstractSpinBox:hover { - /*border: 1px solid #b216a0; + /*border: 1px solid @ThemeAccentColor1; color: White;*/ } QAbstractSpinBox:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QAbstractSpinBox:selected { - background: #770069; + background: @ThemeAccentColor2; /*color: White;*/ } @@ -1054,7 +1055,7 @@ QTextBrowser:disabled { } QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #b216a0; + border: 1px solid @ThemeAccentColor1; } /* QGraphicsView ---------------------------------------------------------- @@ -1062,7 +1063,7 @@ QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pre --------------------------------------------------------------------------- */ QGraphicsView { background-color: transparent; - border: 0px solid #b216a0; + border: 0px solid @ThemeAccentColor1; color: White; border-radius: 0px; } @@ -1126,7 +1127,7 @@ QProgressBar:disabled { } QProgressBar::chunk { - background-color: #b216a0; + background-color: @ThemeAccentColor1; color: #444444; border-radius: 1.9px; } @@ -1161,31 +1162,31 @@ QPushButton:disabled { } QPushButton:checked { - background-color: #b216a0; + background-color: @ThemeAccentColor1; outline: none; } QPushButton:checked:disabled { - background-color: #b216a0; + background-color: @ThemeAccentColor1; color: #3c3c3c; outline: none; } QPushButton:checked:selected { - background: #b216a0; + background: @ThemeAccentColor1; } QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); color: White; } QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #770069, stop:1 #b216a0); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QPushButton:selected { - background: #770069; + background: @ThemeAccentColor2; color: White; } @@ -1225,7 +1226,7 @@ QToolButton:disabled { } QToolButton:checked { - background-color: #b216a0; + background-color: @ThemeAccentColor1; border-radius: 1.9px; padding: 0px; outline: none; @@ -1240,30 +1241,30 @@ QToolButton:checked:disabled { } QToolButton:checked:hover { - background-color: #b216a0; + background-color: @ThemeAccentColor1; color: White; } QToolButton:checked:pressed { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QToolButton:checked:selected { - background: #770069; + background: @ThemeAccentColor2; color: White; } QToolButton:hover { - background-color: #b216a0; + background-color: @ThemeAccentColor1; color: White; } QToolButton:pressed { - background-color: #770069; + background-color: @ThemeAccentColor2; } QToolButton:selected { - background: #b216a0; + background: @ThemeAccentColor1; color: White; } @@ -1311,12 +1312,12 @@ QToolButton::menu-button { } QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ + /* background: rgba(0, 0, 0, 0.5);*/ } QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ + /* background: rgba(0, 0, 0, 0.5);*/ } QToolButton::menu-indicator { @@ -1373,7 +1374,7 @@ QComboBox { border: 1px solid transparent; background: #1c1b22; border-radius: 2px; - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; padding-left: 2px; padding-right: 2px; /* padding-right = 36; 4 + 16*2 See scrollbar size */ @@ -1392,7 +1393,7 @@ QComboBox QAbstractItemView { border: 0px solid #696968; border-radius: 0px; background-color: #1c1b22; - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; } QComboBox QAbstractItemView:hover { @@ -1401,7 +1402,7 @@ QComboBox QAbstractItemView:hover { } QComboBox QAbstractItemView:selected { - background: #b216a0; + background: @ThemeAccentColor1; color: White; } @@ -1415,16 +1416,16 @@ QComboBox:disabled { } QComboBox:hover { - /*background-color: #b216a0;*/ - border: 1px solid #b216a0; + /*background-color: @ThemeAccentColor1;*/ + border: 1px solid @ThemeAccentColor1; } QComboBox:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QComboBox:on { - selection-background-color: #770069; + selection-background-color: @ThemeAccentColor2; } QComboBox::indicator { @@ -1433,7 +1434,7 @@ QComboBox::indicator { background-color: transparent; selection-background-color: transparent; color: transparent; - selection-color: #b216a0; + selection-color: @ThemeAccentColor1; /* Needed to remove indicator - fix #132 */ } @@ -1465,7 +1466,7 @@ QComboBox::drop-down { border-left: 1px solid transparent; } QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QComboBox::down-arrow { @@ -1525,7 +1526,7 @@ padding: 0px; } QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QToolButton[class="header"] { @@ -1584,19 +1585,19 @@ background-color: #444444; /* Task Panel background color */ /* Fixs for tabs inside Task Panel */ QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #b216a0; /* same as Task Panel background color */ +border-bottom-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #b216a0; /* same as Task Panel background color */ +border-top-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #b216a0; /* same as Task Panel background color */ +border-right-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #b216a0; /* same as Task Panel background color */ +border-left-color: @ThemeAccentColor1; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ @@ -1627,11 +1628,11 @@ QSint--ActionGroup QFrame[class="content"] QToolButton { } QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, @@ -1641,7 +1642,7 @@ QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b216a0, stop:1 #770069); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } @@ -1655,7 +1656,7 @@ QSlider:disabled { } QSlider:focus { - /*border: 1px solid #770069;*/ + /*border: 1px solid @ThemeAccentColor2;*/ } QSlider::groove:horizontal { @@ -1667,7 +1668,7 @@ QSlider::groove:horizontal { } QSlider::groove:vertical { - background: #b216a0; + background: @ThemeAccentColor1; border: 1px solid #696968; width: 4px; margin: 0px; @@ -1675,7 +1676,7 @@ QSlider::groove:vertical { } QSlider::add-page:vertical { - background: #b216a0; + background: @ThemeAccentColor1; border: 1px solid #696968; width: 4px; margin: 0px; @@ -1687,7 +1688,7 @@ QSlider::add-page:vertical :disabled { } QSlider::sub-page:horizontal { - background: #b216a0; + background: @ThemeAccentColor1; border: 1px solid #696968; height: 4px; margin: 0px; @@ -1695,7 +1696,7 @@ QSlider::sub-page:horizontal { } QSlider::sub-page:horizontal:disabled { - background: #b216a0; + background: @ThemeAccentColor1; } QSlider::handle:horizontal { @@ -1708,13 +1709,13 @@ QSlider::handle:horizontal { } QSlider::handle:horizontal:hover { - background: #b216a0; + background: @ThemeAccentColor1; border: 1px solid #696968; } QSlider::handle:horizontal:focus { - background: #770069; - border: 1px solid #770069; + background: @ThemeAccentColor2; + border: 1px solid @ThemeAccentColor2; } QSlider::handle:vertical { @@ -1727,12 +1728,12 @@ QSlider::handle:vertical { } QSlider::handle:vertical:hover { - background: #b216a0; + background: @ThemeAccentColor1; border: 1px solid #696968; } QSlider::handle:vertical:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } /* QLineEdit -------------------------------------------------------------- @@ -1760,16 +1761,16 @@ QLineEdit:disabled { } QLineEdit:hover { - border: 1px solid #b216a0; + border: 1px solid @ThemeAccentColor1; color: White; } QLineEdit:focus { - border: 2px solid #770069; + border: 2px solid @ThemeAccentColor2; } QLineEdit:selected { - background-color: #b216a0; + background-color: @ThemeAccentColor1; color: white; } @@ -1780,7 +1781,7 @@ https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabb --------------------------------------------------------------------------- */ QTabWidget { padding: 2px; - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; } QTabWidget QWidget { @@ -1795,7 +1796,7 @@ QTabWidget::pane { } QTabWidget::pane:selected { - background-color: #b216a0; + background-color: @ThemeAccentColor1; border: 1px solid #346792; } @@ -1919,16 +1920,16 @@ QTabBar::tab:top, QDockWidget QTabBar::tab:top { QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { color: white; - border-top: 4px solid #b216a0; /* selection color */ + border-top: 4px solid @ThemeAccentColor1; /* selection color */ border-bottom: 1px solid transparent; /* same as tab content background color */ border-left: 1px solid #696969; border-right: 1px solid #696969; } QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #b216a0;*/ - border: 0px solid #b216a0; - background-color: #b216a0; + /*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -1948,7 +1949,7 @@ QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { color: white; - border-bottom: 4px solid #b216a0; /* selection color */ + border-bottom: 4px solid @ThemeAccentColor1; /* selection color */ border-top: 1px solid transparent; /* same as tab content background color */ border-left: 1px solid #696969; border-right: 1px solid #696969; @@ -1956,9 +1957,9 @@ QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { } QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #b216a0;*/ - border: 0px solid #b216a0; - background-color: #b216a0; +/*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -1978,12 +1979,12 @@ QTabBar::tab:left, QDockWidget QTabBar::tab:left { QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { background-color: #444444; - border: 0px solid #770069; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #b216a0; - background-color: #b216a0; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-right: 0px; padding-right: -1px; @@ -2002,12 +2003,12 @@ QTabBar::tab:right, QDockWidget QTabBar::tab:right { QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { background-color: #444444; - border: 0px solid #770069; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #b216a0; - background-color: #b216a0; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-left: 0px; padding-left: 0px; @@ -2021,13 +2022,13 @@ QTabBar QToolButton, QDockWidget QTabBar QToolButton { } QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #b216a0; - background-color: #b216a0; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #b216a0; - background-color: #b216a0; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { @@ -2098,7 +2099,7 @@ QDockWidget::float-button { } QDockWidget::float-button:hover { - /*background-color: #b216a0;*/ + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/undock_blue.svg); } @@ -2234,7 +2235,7 @@ QTreeView:selected, QListView:selected, QTableView:selected, QColumnView:selected { - background-color: #b216a0; + background-color: @ThemeAccentColor1; color: White; } @@ -2242,21 +2243,21 @@ QTreeView:focus, QListView:focus, QTableView:focus, QColumnView:focus { - border: 1px solid #770069; + border: 1px solid @ThemeAccentColor2; } QTreeView::item:pressed, QListView::item:pressed, QTableView::item:pressed, QColumnView::item:pressed { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:active, QListView::item:selected:active, QTableView::item:selected:active, QColumnView::item:selected:active { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:!active, @@ -2273,7 +2274,7 @@ QTableView::item:!selected:hover, QColumnView::item:!selected:hover { outline: 0; color: White; - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QTableCornerButton::section { @@ -2381,7 +2382,7 @@ QToolBox { QToolBox:selected { padding: 0px; - border: 0px solid #b216a0; + border: 0px solid @ThemeAccentColor1; } QToolBox::tab { @@ -2419,7 +2420,7 @@ QToolBox::tab:!selected:disabled { } QToolBox::tab:hover { - background-color: #b216a0; + background-color: @ThemeAccentColor1; } QToolBox QScrollArea QWidget QWidget { @@ -2494,7 +2495,7 @@ QSplitter::handle:vertical { } QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #b216a0, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); background-position: center center; background-repeat: none; } @@ -2503,14 +2504,14 @@ QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_light.svg); background-position: center center; background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #b216a0, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); } /* QDateEdit, QDateTimeEdit ----------------------------------------------- --------------------------------------------------------------------------- */ QDateEdit, QDateTimeEdit { - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; border-style: solid; border: 1px solid #696968; border-radius: 1.9px; @@ -2524,7 +2525,7 @@ QDateEdit, QDateTimeEdit { } QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; } QDateEdit::drop-down, QDateTimeEdit::drop-down { @@ -2548,19 +2549,19 @@ QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { background-color: #444444; border-radius: 2px; border: 1px solid #696968; - selection-background-color: #b216a0; + selection-background-color: @ThemeAccentColor1; } /* QAbstractView ---------------------------------------------------------- --------------------------------------------------------------------------- */ QAbstractView:hover { - border: 1px solid #b216a0; + border: 1px solid @ThemeAccentColor1; color: White; } QAbstractView:selected { - background: #b216a0; + background: @ThemeAccentColor1; color: White; } diff --git a/src/Gui/Stylesheets/Light-blue.qss b/src/Gui/Stylesheets/Light-blue.qss deleted file mode 100644 index a5a5059eab..0000000000 --- a/src/Gui/Stylesheets/Light-blue.qss +++ /dev/null @@ -1,2616 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #f892ff - #ffbff3 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ - -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #8cb0ff; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #F6F6F6; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #F6F6F6; - border: 0px solid #C1C1C1; - padding: 0px; - color: black; - selection-background-color: #8cb0ff; - selection-color: black; -} - -QWidget:disabled { - color: #A3A3A3; - selection-background-color: #8cb0ff; - selection-color: #A3A3A3; -} - -QWidget::item:selected { - background-color: #8cb0ff -; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #8cb0ff; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #f6f6f6;*/ - border: 0px solid #C1C1C1; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #8cb0ff, stop:0.8 transparent); - /*background-color: #8cb0ff;*/ - image: url(qss:images_dark-light/splitter_vertical_dark.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #8cb0ff, stop:0.8 transparent); - /*background-color: #8cb0ff;*/ - image: url(qss:images_dark-light/splitter_horizontal_dark.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_light.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_light.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #ffffff; - color: black; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #C1C1C1; - /* Fixes Spyder #9120, #9121 */ - background: #F6F6F6; - /* Fixes #205, black vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #F6F6F6; - border: 1px solid #C1C1C1; - color: #F6F6F6; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: black; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #b0c9ff; -} - -QCheckBox QWidget:disabled { - color: #A3A3A3; -} - -QCheckBox::indicator { - color: black; - background-color: #ffffff; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #ffffff; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #8cb0ff; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #F6F6F6; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #ffffff; - /*border: 1px solid #C1C1C1; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #8cb0ff; -} - -QCheckBox::indicator:checked:disabled { - background-color: #F6F6F6; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #ffffff; - border: 1px solid #C1C1C1; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #F6F6F6; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #8cb0ff; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: black; - background-color: #f6f6f6; - border: 1px solid #C1C1C1; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #f6f6f6; - border: 1px solid #C1C1C1; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #8cb0ff; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #ffffff; - border: 1px solid #C1C1C1; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #8cb0ff; -} - -QGroupBox::indicator:checked:disabled { - background-color: #8cb0ff; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: black; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #b0c9ff; -} - -QRadioButton:disabled { - background-color: #f6f6f6; - color: #BABABA; -} - -QRadioButton QWidget { - background-color: transparent; - color: black; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #f6f6f6; - border: 1px solid #C1C1C1; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #8cb0ff; - border: 1px solid #8cb0ff; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ - border: 1px solid #C1C1C1; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #8cb0ff; - border: 1px solid #8cb0ff; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #f6f6f6; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #ffffff; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: black; - selection-background-color: #8cb0ff; -} - -QMenuBar:focus { - border: 1px solid #8cb0ff; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #C1C1C1; - background-color: #8cb0ff; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #C1C1C1; - background-color: #8cb0ff; - color: black; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: black; - margin: 0px; - background-color: #ffffff; - selection-background-color: #8cb0ff; -} - -QMenu::separator { - height: 2px; - background-color: #f6f6f6; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #f6f6f6; -} - -QMenu::item:selected { - color: black; - background-color: #8cb0ff; -} - -QMenu::item:pressed { - background-color: #8cb0ff; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #b0c9ff; - margin-left: -5px; - border: 5px solid #b0c9ff; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #8cb0ff; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #8cb0ff; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #8cb0ff; - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #8cb0ff; - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_darker.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #ababab; - color: black; - border: 1px solid #C1C1C1; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #C1C1C1; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: black; -} - -QAbstractScrollArea:disabled { - color: #A3A3A3; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #F6F6F6; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 16px 2px 16px; - border: 0px solid #C1C1C1; - border-radius: 1.9px; - background-color: #F6F6F6; -} - -QScrollBar:vertical { - background-color: #F6F6F6; - width: 16px; - margin: 16px 2px 16px 2px; - border: 0px solid #C1C1C1; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #A3A3A3; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #8cb0ff; - border: #f6f6f6; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #b0c9ff; -} - -QScrollBar::handle:vertical { - background-color: #A3A3A3; - border: 1px solid #C1C1C1; - min-height: 8px; - border-radius: 1.9px; -} - -QScrollBar::handle:vertical:hover { - background-color: #8cb0ff; - border: #f6f6f6; - border-radius: 1.9px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #b0c9ff; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_dark.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_dark.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_dark.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_darker.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_dark.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_darker.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_dark.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - border-image: url(qss:images_dark-light/up_arrow_darker.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #F6F6F6; - color: black; - border-radius: 1.9px; - border: 0px solid #C1C1C1; -} - -QTextEdit:focus { - border: 1px solid #b0c9ff; -} - -QTextEdit:selected { - background: #346792; - color: black; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #f6f6f6; - color: black; - border-radius: 1.9px; - border: 0px solid #C1C1C1; -} - -QPlainTextEdit:focus { - border: 1px solid #b0c9ff; -} - -QPlainTextEdit:selected { - background: #8cb0ff; - color: black; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_dark.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #C1C1C1; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #F6F6F6; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #F6F6F6; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #A3A3A3; -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-color: #8cb0ff; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -border-color: #f6f6f6; -background-color: #8cb0ff; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #ffffff; - border: 1px solid transparent; - color: black; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - subcontrol-origin: border; - subcontrol-position: top right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - subcontrol-origin: border; - subcontrol-position: bottom right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #8cb0ff; - color: black;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #b0c9ff; -} - -QAbstractSpinBox:selected { - background: #b0c9ff; - /*color: black;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #C1C1C1; - padding: 2px; - margin: 0px; - color: black; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #C1C1C1; - color: #A3A3A3; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #ffffff; - border: 1px solid #C1C1C1; - color: black; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #F6F6F6; - border: 1px solid #C1C1C1; - color: #A3A3A3; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #8cb0ff; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #8cb0ff; - color: black; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #ffffff; - border: 0px solid #C1C1C1; - color: #A3A3A3; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #C1C1C1; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #BABABA; - color: #A3A3A3; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: black; -} - -QLCDNumber:disabled { - background-color: #F6F6F6; - color: #A3A3A3; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #A3A3A3; - border: 1px solid #C1C1C1; - color: black; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #ffffff; - border: 1px solid #C1C1C1; - color: #A3A3A3; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #8cb0ff; - color: #F6F6F6; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #ffffff; - color: #f6f6f6; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - color: black; - border: 1px solid #EDEDED; - border-bottom-color: #AFAFAF; /* simulates shadow under the button */ - border-radius: 4px; - padding: 2px; -} - -QPushButton:disabled { - background-color: #F6F6F6; - color: #A3A3A3; - -} - -QPushButton:checked { - background-color: #8cb0ff; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #8cb0ff; - color: #f6f6f6; - outline: none; -} - -QPushButton:checked:selected { - background: #8cb0ff; -} - -QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); - color: black; -} - -QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #b0c9ff, stop:1 #8cb0ff); -} - -QPushButton:selected { - background: #b0c9ff; - color: black; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: black; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: transparent; - color: #A3A3A3; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #8cb0ff; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #A3A3A3; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #8cb0ff; - color: black; -} - -QToolButton:checked:pressed { - background-color: #8cb0ff; -} - -QToolButton:checked:selected { - background: #b0c9ff; - color: black; -} - -QToolButton:hover { - background-color: #8cb0ff; - color: black; -} - -QToolButton:pressed { - background-color: #b0c9ff; -} - -QToolButton:selected { - background: #8cb0ff; - color: black; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #b2b2b2; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_dark.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} -QToolButton::menu-arrow:hover { - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #C1C1C1; - color: black; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #A3A3A3; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #ffffff; - border-radius: 2px; - selection-background-color: #8cb0ff; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #ffffff; -} -QComboBox QAbstractItemView { - border: 0px solid #C1C1C1; - border-radius: 0px; - background-color: #ffffff; - selection-background-color: #8cb0ff; -} - -QComboBox QAbstractItemView:hover { - background-color:#ffffff; - color: black; -} - -QComboBox QAbstractItemView:selected { - background: #8cb0ff; - color: black; -} - -QComboBox QAbstractItemView:alternate { - background: #f6f6f6; -} - -QComboBox:disabled { - background-color: #F6F6F6; - color: #BABABA; -} - -QComboBox:hover { - /*background-color: #8cb0ff;*/ - border: 1px solid #8cb0ff; -} - -QComboBox:focus { - border: 1px solid #b0c9ff; -} - -QComboBox:on { - selection-background-color: #b0c9ff; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #8cb0ff; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #f6f6f6; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #f6f6f6; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - subcontrol-position: top right; - width: 14px; - border-left: 1px solid transparent; -} -QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: black; - qproperty-groupBackground: #f6f6f6; - border: 0px solid #C1C1C1; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #C1C1C1; -border-left: 1px solid #C1C1C1; -border-right: 1px solid #C1C1C1; -background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); -} - -QSint--ActionGroup QToolButton[class="header"] { -color: black; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_dark.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_dark.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #C1C1C1; -border-left: 1px solid #C1C1C1; -border-right: 1px solid #C1C1C1; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #F6F6F6; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #8cb0ff; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #8cb0ff; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #8cb0ff; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #8cb0ff; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: black; -background-color: #ffffff; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: black; - text-align: center; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - border: 0px solid #C1C1C1; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); - -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #b0c9ff -; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #A3A3A3; - background-color: #ffffff; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #8cb0ff, stop:1 #b0c9ff); - -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #F6F6F6; -} - -QSlider:focus { - /*border: 1px solid #b0c9ff;*/ -} - -QSlider::groove:horizontal { - background: #F6F6F6; - border: 1px solid #C1C1C1; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #F6F6F6; - border: 1px solid #C1C1C1; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #8cb0ff; - border: 1px solid #C1C1C1; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #f6f6f6; -} - -QSlider::sub-page:horizontal { - background: #8cb0ff; - border: 1px solid #C1C1C1; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #8cb0ff; -} - -QSlider::handle:horizontal { - background: #C1C1C1; - border: 1px solid #C1C1C1; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #8cb0ff; - border: 1px solid #C1C1C1; -} - -QSlider::handle:horizontal:focus { - border: 1px solid #C1C1C1; - background: #8cb0ff; -} - -QSlider::handle:vertical { - background: #C1C1C1; - border: 1px solid #C1C1C1; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #8cb0ff; - border: 1px solid #C1C1C1; -} - -QSlider::handle:vertical:focus { - border: 1px solid #b0c9ff; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #ffffff; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #C1C1C1; - border-radius: 2px; - color: black; -} - -QLineEdit:disabled { - background-color: #F6F6F6; - color: #A3A3A3; -} - -QLineEdit:hover { - border: 1px solid #8cb0ff; - color: black; -} - -QLineEdit:focus { - border: 2px solid #b0c9ff; -} - -QLineEdit:selected { - background-color: #8cb0ff; - color: black; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #8cb0ff; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #8cb0ff; - border: 1px solid #C1C1C1; -} - -QTabWidget::pane:selected { - background-color: #557bb6; - border: 1px solid #346792; -} - -QTabWidget::pane:top { - top: -1px; - border-top: 1px solid #A3A3A3; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #A3A3A3; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #A3A3A3; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #A3A3A3; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_dark.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ - padding: 4px; -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - color: #797979; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - color: #797979; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - color: #A0A0A0; - -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - color: #A0A0A0; - -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - color: #A0A0A0; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - color: #A0A0A0; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - color: #A0A0A0; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - color: #A0A0A0; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - color: #A0A0A0; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-bottom: 1px solid #A3A3A3; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - color: black; - border-top: 4px solid #8cb0ff; /* selection color */ - border-bottom: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #A3A3A3; - border-right: 1px solid #A3A3A3; - } - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #8cb0ff;*/ - border: 0px solid #8cb0ff; - background-color: #8cb0ff; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; - color: black; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - color: #A0A0A0; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-top: 1px solid #A3A3A3; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - color: black; - border-bottom: 4px solid #8cb0ff; /* selection color */ - border-top: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #A3A3A3; - border-right: 1px solid #A3A3A3; - -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #8cb0ff;*/ - border: 0px solid #8cb0ff; - background-color: #8cb0ff; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; - color: black; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #F6F6F6; - margin-top: 2px; - - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #F6F6F6; - border: 0px solid #b0c9ff; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #8cb0ff; - background-color: #8cb0ff; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; - color: black; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #F6F6F6; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #F6F6F6; - border: 0px solid #b0c9ff; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #8cb0ff; - background-color: #8cb0ff; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; - color: black; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #F6F6F6; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #8cb0ff; - background-color: #8cb0ff; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #8cb0ff; - background-color: #8cb0ff; - color: black; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #F6F6F6; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_dark.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #8cb0ff;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_dark.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_dark.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #F6F6F6; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #C1C1C1; - color: black; - gridline-color: #A3A3A3; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(229, 229, 229, 0.7); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #ffffff; - color: #A3A3A3; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #8cb0ff; - color: black; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #b0c9ff; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #8cb0ff; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #8cb0ff; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: black; - background-color: #BABABA; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: black; - background-color: #8cb0ff; -} - -QTableCornerButton::section { - background-color: #F6F6F6; - border: 1px transparent #C1C1C1; - border-radius: 0px; -} - -QTableView::item { - color: black; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: transparent; - text-align: center; -} - -QHeaderView:disabled { - background-color: #F6F6F6; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - color: black; - border: 1px solid #C1C1C1; - font-size: 13px; - font-weight: bold; -} - -QHeaderView::section::horizontal { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 5px; - padding-right: 0px; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 0px solid #C1C1C1; -} - -QHeaderView::section::horizontal:disabled { - color: #BABABA; -} - -QHeaderView::section::vertical { - padding-top: 1px; - padding-bottom: 0; - padding-left: 1px; - padding-right: 0px; - border-top: 2px solid #C1C1C1; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 2px solid #C1C1C1; -} - -QHeaderView::section::vertical:disabled { - border-top: 2px solid #C1C1C1; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - -QHeaderView::up-arrow { - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #A3A3A3; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #8cb0ff; -} - -QToolBox::tab { - background-color: transparent; - border: 0px solid #A3A3A3; - color: black; - background-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #A3A3A3; -} - -QToolBox::tab:selected { - background-color: #A3A3A3; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #A3A3A3; - border-bottom: 0px solid #cccccc; - color: black; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #F6F6F6; -} - -QToolBox::tab:hover { - background-color: #8cb0ff; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #C1C1C1; - background-color: #A3A3A3; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #C1C1C1; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #f6f6f6; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #F6F6F6; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #8cb0ff, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #8cb0ff, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #8cb0ff; - border-style: solid; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #8cb0ff; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #C1C1C1; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #F6F6F6; - border-radius: 2px; - border: 1px solid #C1C1C1; - selection-background-color: #8cb0ff; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #8cb0ff; - color: black; -} - -QAbstractView:selected { - background: #8cb0ff; - color: black; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Light-green.qss b/src/Gui/Stylesheets/Light-green.qss deleted file mode 100644 index dfcf131d21..0000000000 --- a/src/Gui/Stylesheets/Light-green.qss +++ /dev/null @@ -1,2611 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #B7D300 - #E1FF00 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ - -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #B7D300; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #F6F6F6; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #F6F6F6; - border: 0px solid #C1C1C1; - padding: 0px; - color: black; - selection-background-color: #B7D300; - selection-color: black; -} - -QWidget:disabled { - color: #A3A3A3; - selection-background-color: #B7D300; - selection-color: #A3A3A3; -} - -QWidget::item:selected { - background-color: #B7D300 -; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #B7D300; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #f6f6f6;*/ - border: 0px solid #C1C1C1; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #B7D300, stop:0.8 transparent); - /*background-color: #B7D300;*/ - image: url(qss:images_dark-light/splitter_vertical_dark.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #B7D300, stop:0.8 transparent); - /*background-color: #B7D300;*/ - image: url(qss:images_dark-light/splitter_horizontal_dark.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_light.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_light.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #ffffff; - color: black; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #C1C1C1; - /* Fixes Spyder #9120, #9121 */ - background: #F6F6F6; - /* Fixes #205, black vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #F6F6F6; - border: 1px solid #C1C1C1; - color: #F6F6F6; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: black; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #E1FF00 ; -} - -QCheckBox QWidget:disabled { - color: #A3A3A3; -} - -QCheckBox::indicator { - color: black; - background-color: #ffffff; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #ffffff; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #B7D300; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #F6F6F6; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #ffffff; - /*border: 1px solid #C1C1C1; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #B7D300; -} - -QCheckBox::indicator:checked:disabled { - background-color: #F6F6F6; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #ffffff; - border: 1px solid #C1C1C1; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #F6F6F6; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #B7D300; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: black; - background-color: #f6f6f6; - border: 1px solid #C1C1C1; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #f6f6f6; - border: 1px solid #C1C1C1; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #B7D300; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #ffffff; - border: 1px solid #C1C1C1; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #B7D300; -} - -QGroupBox::indicator:checked:disabled { - background-color: #B7D300; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: black; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #E1FF00 ; -} - -QRadioButton:disabled { - background-color: #f6f6f6; - color: #A3A3A3; -} - -QRadioButton QWidget { - background-color: transparent; - color: black; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #f6f6f6; - border: 1px solid #C1C1C1; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #B7D300; - border: 1px solid #B7D300; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ - border: 1px solid #C1C1C1; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #B7D300; - border: 1px solid #B7D300; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #f6f6f6; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #ffffff; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: black; - selection-background-color: #B7D300; -} - -QMenuBar:focus { - border: 1px solid #B7D300; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #C1C1C1; - background-color: #B7D300; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #C1C1C1; - background-color: #B7D300; - color: black; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: black; - margin: 0px; - background-color: #ffffff; - selection-background-color: #B7D300; -} - -QMenu::separator { - height: 2px; - background-color: #f6f6f6; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #f6f6f6; -} - -QMenu::item:selected { - color: black; - background-color: #B7D300; -} - -QMenu::item:pressed { - background-color: #B7D300; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #E1FF00 ; - margin-left: -5px; - border: 5px solid #E1FF00 ; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #B7D300; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #B7D300; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #B7D300; - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #B7D300; - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_darker.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #ababab; - color: black; - border: 1px solid #C1C1C1; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #C1C1C1; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: black; -} - -QAbstractScrollArea:disabled { - color: #A3A3A3; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #F6F6F6; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 16px 2px 16px; - border: 0px solid #C1C1C1; - border-radius: 1.9px; - background-color: #F6F6F6; -} - -QScrollBar:vertical { - background-color: #F6F6F6; - width: 16px; - margin: 16px 2px 16px 2px; - border: 0px solid #C1C1C1; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #A3A3A3; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #B7D300; - border: #f6f6f6; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #E1FF00 ; -} - -QScrollBar::handle:vertical { - background-color: #A3A3A3; - border: 1px solid #C1C1C1; - min-height: 8px; - border-radius: 1.9px; -} - -QScrollBar::handle:vertical:hover { - background-color: #B7D300; - border: #f6f6f6; - border-radius: 1.9px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #E1FF00 ; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_dark.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_dark.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_dark.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_darker.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_dark.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_darker.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_dark.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - border-image: url(qss:images_dark-light/up_arrow_darker.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #F6F6F6; - color: black; - border-radius: 1.9px; - border: 0px solid #C1C1C1; -} - -QTextEdit:focus { - border: 1px solid #E1FF00 ; -} - -QTextEdit:selected { - background: #346792; - color: black; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #f6f6f6; - color: black; - border-radius: 1.9px; - border: 0px solid #C1C1C1; -} - -QPlainTextEdit:focus { - border: 1px solid #E1FF00 ; -} - -QPlainTextEdit:selected { - background: #B7D300; - color: black; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_dark.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #C1C1C1; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #F6F6F6; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #F6F6F6; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #A3A3A3; -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-color: #B7D300; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -border-color: #f6f6f6; -background-color: #B7D300; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #ffffff; - border: 1px solid transparent; - color: black; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - subcontrol-origin: border; - subcontrol-position: top right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - subcontrol-origin: border; - subcontrol-position: bottom right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #B7D300; - color: black;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #E1FF00 ; -} - -QAbstractSpinBox:selected { - background: #E1FF00 ; - /*color: black;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #C1C1C1; - padding: 2px; - margin: 0px; - color: black; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #C1C1C1; - color: #A3A3A3; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #ffffff; - border: 1px solid #C1C1C1; - color: black; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #F6F6F6; - border: 1px solid #C1C1C1; - color: #A3A3A3; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #B7D300; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #B7D300; - color: black; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #ffffff; - border: 0px solid #C1C1C1; - color: #A3A3A3; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #C1C1C1; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #A3A3A3; - color: #A3A3A3; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: black; -} - -QLCDNumber:disabled { - background-color: #F6F6F6; - color: #A3A3A3; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #A3A3A3; - border: 1px solid #C1C1C1; - color: black; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #ffffff; - border: 1px solid #C1C1C1; - color: #A3A3A3; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #B7D300; - color: #F6F6F6; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #ffffff; - color: #f6f6f6; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - color: black; - border: 1px solid #EDEDED; - border-bottom-color: #AFAFAF; /* simulates shadow under the button */ - border-radius: 4px; - padding: 2px; -} - -QPushButton:disabled { - background-color: #F6F6F6; - color: #A3A3A3; - -} - -QPushButton:checked { - background-color: #B7D300; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #B7D300; - color: #f6f6f6; - outline: none; -} - -QPushButton:checked:selected { - background: #B7D300; -} - -QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); - color: black; -} - -QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #E1FF00 , stop:1 #B7D300); -} - -QPushButton:selected { - background: #E1FF00 ; - color: black; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: black; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: transparent; - color: #A3A3A3; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #B7D300; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #A3A3A3; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #B7D300; - color: black; -} - -QToolButton:checked:pressed { - background-color: #B7D300; -} - -QToolButton:checked:selected { - background: #E1FF00 ; - color: black; -} - -QToolButton:hover { - background-color: #B7D300; - color: black; -} - -QToolButton:pressed { - background-color: #E1FF00 ; -} - -QToolButton:selected { - background: #B7D300; - color: black; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #b2b2b2; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_dark.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} -QToolButton::menu-arrow:hover { - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #C1C1C1; - color: black; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #A3A3A3; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #ffffff; - border-radius: 2px; - selection-background-color: #B7D300; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #ffffff; -} -QComboBox QAbstractItemView { - border: 0px solid #C1C1C1; - border-radius: 0px; - background-color: #ffffff; - selection-background-color: #B7D300; -} - -QComboBox QAbstractItemView:hover { - background-color:#ffffff; - color: black; -} - -QComboBox QAbstractItemView:selected { - background: #B7D300; - color: black; -} - -QComboBox QAbstractItemView:alternate { - background: #f6f6f6; -} - -QComboBox:disabled { - background-color: #F6F6F6; - color: #A3A3A3; -} - -QComboBox:hover { - /*background-color: #B7D300;*/ - border: 1px solid #B7D300; -} - -QComboBox:focus { - border: 1px solid #E1FF00 ; -} - -QComboBox:on { - selection-background-color: #E1FF00 ; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #B7D300; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #f6f6f6; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #f6f6f6; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - subcontrol-position: top right; - width: 14px; - border-left: 1px solid transparent; -} -QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: black; - qproperty-groupBackground: #f6f6f6; - border: 0px solid #C1C1C1; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #C1C1C1; -border-left: 1px solid #C1C1C1; -border-right: 1px solid #C1C1C1; -background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); -} - -QSint--ActionGroup QToolButton[class="header"] { -color: black; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_dark.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_dark.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #C1C1C1; -border-left: 1px solid #C1C1C1; -border-right: 1px solid #C1C1C1; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #F6F6F6; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #B7D300; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #B7D300; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #B7D300; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #B7D300; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: black; -background-color: #ffffff; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: black; - text-align: center; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - border: 0px solid #C1C1C1; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); - -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #E1FF00 -; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #A3A3A3; - background-color: #ffffff; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B7D300, stop:1 #E1FF00 ); - -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #F6F6F6; -} - -QSlider:focus { - /*border: 1px solid #E1FF00;*/ -} - -QSlider::groove:horizontal { - background: #F6F6F6; - border: 1px solid #C1C1C1; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #F6F6F6; - border: 1px solid #C1C1C1; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #B7D300; - border: 1px solid #C1C1C1; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #f6f6f6; -} - -QSlider::sub-page:horizontal { - background: #8cb0ff; - border: 1px solid #C1C1C1; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #B7D300; -} - -QSlider::handle:horizontal { - background: #C1C1C1; - border: 1px solid #C1C1C1; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #B7D300; - border: 1px solid #C1C1C1; -} - -QSlider::handle:horizontal:focus { - border: 1px solid #C1C1C1; - background: #E1FF00; -} - -QSlider::handle:vertical { - background: #C1C1C1; - border: 1px solid #C1C1C1; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #B7D300; - border: 1px solid #C1C1C1; -} - -QSlider::handle:vertical:focus { - border: 1px solid #E1FF00 ; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #ffffff; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #C1C1C1; - border-radius: 2px; - color: black; -} - -QLineEdit:disabled { - background-color: #F6F6F6; - color: #A3A3A3; -} - -QLineEdit:hover { - border: 1px solid #B7D300; - color: black; -} - -QLineEdit:focus { - border: 2px solid #E1FF00 ; -} - -QLineEdit:selected { - background-color: #B7D300; - color: black; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #B7D300; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #B7D300; - border: 1px solid #C1C1C1; -} - -QTabWidget::pane:top { - top: -1px; - border-top: 1px solid #A3A3A3; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #A3A3A3; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #A3A3A3; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #A3A3A3; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_dark.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ - padding: 4px; -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - color: #797979; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - color: #797979; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - color: #A0A0A0; - -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - color: #A0A0A0; - -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - color: #A0A0A0; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - color: #A0A0A0; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - color: #A0A0A0; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - color: #A0A0A0; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - color: #A0A0A0; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-bottom: 1px solid #A3A3A3; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - color: black; - border-top: 4px solid #B7D300; /* selection color */ - border-bottom: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #A3A3A3; - border-right: 1px solid #A3A3A3; - } - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #B7D300;*/ - border: 0px solid #B7D300; - background-color: #B7D300; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; - color: black; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - color: #A0A0A0; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-top: 1px solid #A3A3A3; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - color: black; - border-bottom: 4px solid #B7D300; /* selection color */ - border-top: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #A3A3A3; - border-right: 1px solid #A3A3A3; - -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #B7D300;*/ - border: 0px solid #B7D300; - background-color: #B7D300; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; - color: black; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #F6F6F6; - margin-top: 2px; - - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #F6F6F6; - border: 0px solid #E1FF00 ; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #B7D300; - background-color: #B7D300; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; - color: black; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #F6F6F6; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #F6F6F6; - border: 0px solid #E1FF00 ; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #B7D300; - background-color: #B7D300; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; - color: black; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #F6F6F6; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #B7D300; - background-color: #B7D300; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #B7D300; - background-color: #B7D300; - color: black; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #F6F6F6; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_dark.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #B7D300;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_dark.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_dark.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #F6F6F6; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #C1C1C1; - color: black; - gridline-color: #A3A3A3; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(229, 229, 229, 0.7); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #ffffff; - color: #A3A3A3; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #B7D300; - color: black; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #E1FF00 ; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #B7D300; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #B7D300; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: black; - background-color: #A3A3A3; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: black; - background-color: #B7D300; -} - -QTableCornerButton::section { - background-color: #F6F6F6; - border: 1px transparent #C1C1C1; - border-radius: 0px; -} - -QTableView::item { - color: black; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: transparent; - text-align: center; -} - -QHeaderView:disabled { - background-color: #F6F6F6; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - color: black; - border: 1px solid #C1C1C1; - font-size: 13px; - font-weight: bold; -} - -QHeaderView::section::horizontal { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 5px; - padding-right: 0px; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 0px solid #C1C1C1; -} - -QHeaderView::section::horizontal:disabled { - color: #A3A3A3; -} - -QHeaderView::section::vertical { - padding-top: 1px; - padding-bottom: 0; - padding-left: 1px; - padding-right: 0px; - border-top: 2px solid #C1C1C1; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 2px solid #C1C1C1; -} - -QHeaderView::section::vertical:disabled { - border-top: 2px solid #C1C1C1; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - -QHeaderView::up-arrow { - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #A3A3A3; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #B7D300; -} - -QToolBox::tab { - background-color: transparent; - border: 0px solid #A3A3A3; - color: black; - background-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #A3A3A3; -} - -QToolBox::tab:selected { - background-color: #A3A3A3; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #A3A3A3; - border-bottom: 0px solid #cccccc; - color: black; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #F6F6F6; -} - -QToolBox::tab:hover { - background-color: #B7D300; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #C1C1C1; - background-color: #A3A3A3; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #C1C1C1; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #f6f6f6; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #F6F6F6; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #B7D300, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #B7D300, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #B7D300; - border-style: solid; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #B7D300; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #C1C1C1; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #F6F6F6; - border-radius: 2px; - border: 1px solid #C1C1C1; - selection-background-color: #B7D300; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #B7D300; - color: black; -} - -QAbstractView:selected { - background: #B7D300; - color: black; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Light-modern-blue.qss b/src/Gui/Stylesheets/Light-modern-blue.qss deleted file mode 100644 index 5e332c404c..0000000000 --- a/src/Gui/Stylesheets/Light-modern-blue.qss +++ /dev/null @@ -1,2633 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #8ab6e9 - #dc00fa - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #8ab6e9; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #2b2b2b; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #f6f6f6; - border: 0px solid #cccccc; - padding: 0px; - color: black; - selection-background-color: #8ab6e9; - selection-color: black; -} - -QWidget:disabled { - color: #515151; - selection-background-color: #8ab6e9; - selection-color: #515151; -} - -QWidget::item:selected { - background-color: #8ab6e9; -} - - /* Causes issue with colorselector. -QWidget::item:hover:!selected { - background-color: #8ab6e9; -}*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #8ab6e9, stop:0.8 transparent); - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/splitter_vertical_dark.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #8ab6e9, stop:0.8 transparent); - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/splitter_horizontal_dark.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #f6f6f6; - color: black; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #f5f5f5; - /* Fixes Spyder #9120, #9121 */ - background: #f6f6f6; - /* Fixes #205, black vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #f6f6f6; - border: 1px solid #cccccc; - color: black; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: black; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #dc00fa; -} - -QCheckBox QWidget:disabled { - background-color: transparent; - color: #515151; -} - -QCheckBox::indicator { - color: black; - background-color: white; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked { - background-color: white; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #8ab6e9; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #f5f5f5; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: white; - /*border: 1px solid #cccccc; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #8ab6e9; -} - -QCheckBox::indicator:checked:disabled { - background-color: #f5f5f5; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: white; - border: 1px solid #cccccc; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #f5f5f5; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #8ab6e9; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #cccccc; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: black; - background-color: #f5f5f5; - border: 1px solid #cccccc; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #cccccc; - border: 1px solid #cccccc; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #8ab6e9; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: white; - border: 1px solid #cccccc; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #8ab6e9; -} - -QGroupBox::indicator:checked:disabled { - background-color: #8ab6e9; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: black; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #dc00fa; -} - -QRadioButton:disabled { - background-color: #f6f6f6; - color: #515151; -} - -QRadioButton QWidget { - background-color: transparent; - color: black; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #f8f8f8; - border: 1px solid #cccccc; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #8ab6e9; - border: 1px solid #8ab6e9; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #cccccc; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #8ab6e9; - border: 1px solid #8ab6e9; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #cccccc; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #f8f8f8; - /*padding: 1px; - border: 0px solid rgba(255,255,255,140);*/ - color: black; - selection-background-color: #8ab6e9; -} - -QMenuBar:focus { - border: 1px solid #dc00fa; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #cccccc; - background-color: #8ab6e9; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #cccccc; - background-color: #8ab6e9; - color: black; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(100,100,100,140); - border-right: 2px rgba(100,100,100,140); - color: black; - margin: 0px; - background-color: #f8f8f8; - selection-background-color: #8ab6e9; -} - -QMenu::separator { - height: 2px; - background-color: #cccccc; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #cccccc; -} - -QMenu::item:selected { - color: black; - background-color: #8ab6e9; -} - -QMenu::item:pressed { - background-color: #8ab6e9; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #8ab6e9; - margin-left: -5px; - border: 5px solid #8ab6e9; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #8ab6e9; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #8ab6e9; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #8ab6e9; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #8ab6e9; - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_darker.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #cfcfcf; - color: black; - border: 1px solid #cccccc; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #cccccc; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: black; -} - -QAbstractScrollArea:disabled { - color: #515151; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #f6f6f6; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 16px 2px 16px; - border: 0px solid #cccccc; - border-radius: 1.9px; - background-color: #f6f6f6; -} - -QScrollBar:vertical { - background-color: #f6f6f6; - width: 16px; - margin: 16px 2px 16px 2px; - border: 0px solid #cccccc; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #d4d4d4; - border: 1px solid #f6f6f6; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #8ab6e9; - border: #cccccc; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #dc00fa; -} - -QScrollBar::handle:vertical { - background-color: #d4d4d4; - border: 1px solid #cccccc; - min-height: 8px; - border-radius: 1.9px; -} - -QScrollBar::handle:vertical:hover { - background-color: #8ab6e9; - border: #cccccc; - border-radius: 1.9px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #dc00fa; -} - -QScrollBar::add-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/right_arrow_darker.svg); - height: 10px; - width: 7px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_darker.svg); - background-color: #8ab6e9; - height: 10px; - width: 7px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/down_arrow_darker.svg); - height: 7px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-color: #8ab6e9; - height: 7px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_darker.svg); - height: 10px; - width: 7px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_darker.svg); - background-color: #8ab6e9; - height: 10px; - width: 8px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_darker.svg); - height: 8px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - background-color: #8ab6e9; - border-image: url(qss:images_dark-light/up_arrow_darker.svg); - height: 8px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #f6f6f6; - color: black; - border-radius: 1.9px; - border: 0px solid #cccccc; -} - -QTextEdit:focus { - border: 1px solid #dc00fa; -} - -QTextEdit:selected { - background: #346792; - color: black; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: white; - color: black; - border-radius: 1.9px; - border: 0px solid #cccccc; -} - -QPlainTextEdit:focus { - border: 1px solid #dc00fa; -} - -QPlainTextEdit:selected { - background: #8ab6e9; - color: black; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_dark.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #cccccc; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #f6f6f6; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #f6f6f6; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #f6f6f6; -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/* background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-color: #8ab6e9; -} - -QToolButton#qt_toolbar_ext_button:on { -/* background-image: url(qss:images_dark-light/more_dark.svg);*/ -border-color: #cccccc; -background-color: #8ab6e9; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: white; - border: 1px solid #cccccc; - color: black; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: #cccccc; - subcontrol-origin: border; - subcontrol-position: top right; - border-left: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - /*background-color: #8ab6e9;*/ - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QAbstractSpinBox:down-button { - background-color: #cccccc; - subcontrol-origin: border; - subcontrol-position: bottom right; - border-left: 1px solid #cccccc; - border-top: 1px solid #cccccc; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - /*background-color: #8ab6e9;*/ image:url(qss:images_dark-light/down_arrow_darker.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #8ab6e9; - color: black;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #dc00fa; -} - -QAbstractSpinBox:selected { - background: #dc00fa; - /*color: black;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #cccccc; - padding: 2px; - margin: 0px; - color: black; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #cccccc; - color: #9f0d00; -} - -QLabel[haslink="true"] { - color: darkblue; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: white; - border: 1px solid #cccccc; - color: black; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #f6f6f6; - border: 1px solid #cccccc; - color: #005aa4; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #455364; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #455364; - color: black; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: white; - border: 0px solid #cccccc; - color: #515151; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #cccccc; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #bfc1c0; - color: #515151; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: black; -} - -QLCDNumber:disabled { - background-color: #f6f6f6; - color: #515151; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #515151; - border: 1px solid #cccccc; - color: black; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #f8f8f8; - border: 1px solid #cccccc; - color: #515151; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #8ab6e9; - color: #f6f6f6; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #f8f8f8; - color: #cccccc; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: #d4d4d4; - color: black; - border-radius: 2px; - padding: 2px; - outline: none; - border: none; -} - -QPushButton:disabled { - background-color: #f6f6f6; - color: #515151; - border-radius: 2px; - padding: 2px; -} - -QPushButton:checked { - background-color: #8ab6e9; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #8ab6e9; - color: #f5f5f5; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:selected { - background: #8ab6e9; -} - -QPushButton:hover { - background-color: #8ab6e9; - color: black; -} - -QPushButton:pressed { - background-color: #8ab6e9; -} - -QPushButton:selected { - background: #dc00fa; - color: black; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: black; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: #f8f8f8; - color: #515151; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #8ab6e9; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #8ab6e9; - color: #515151; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #8ab6e9; - color: black; -} - -QToolButton:checked:pressed { - background-color: #8ab6e9; -} - -QToolButton:checked:selected { - background: #dc00fa; - color: black; -} - -QToolButton:hover { - background-color: #8ab6e9; - color: black; -} - -QToolButton:pressed { - background-color: #dc00fa; -} - -QToolButton:selected { - background: #8ab6e9; - color: black; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #f6f6f6; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_dark.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} -QToolButton::menu-arrow:hover { - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #cccccc; - color: black; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #515151; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid #cccccc; - background: white; - border-radius: 2px; - selection-background-color: #8ab6e9; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: white; -} -QComboBox QAbstractItemView { - border: 0px solid #cccccc; - border-radius: 0px; - background-color: white; - selection-background-color: #8ab6e9; -} - -QComboBox QAbstractItemView:hover { - background-color:white; - color: black; -} - -QComboBox QAbstractItemView:selected { - background: #8ab6e9; - color: black; -} - -QComboBox QAbstractItemView:alternate { - background: #f5f5f5; -} - -QComboBox:disabled { - background-color: #cccccc; - color: #515151; -} - -QComboBox:hover { - /*background-color: #8ab6e9;*/ - border: 1px solid #8ab6e9; -} - -QComboBox:focus { - border: 1px solid #dc00fa; -} - -QComboBox:on { - selection-background-color: #dc00fa; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #8ab6e9; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #cccccc; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #f5f5f5; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: #d4d4d4; - subcontrol-position: top right; - width: 14px; - border-left: 1px solid #cccccc; -} -QComboBox::drop-down:hover { - background-color: #8ab6e9; -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: black; - qproperty-groupBackground: #f5f5f5; - border: 0px solid #cccccc; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #cccccc; -border-left: 1px solid #cccccc; -border-right: 1px solid #cccccc; -background-color: #d4d4d4; /* Task Panel Header background color */ -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: #8ab6e9; -} - -QSint--ActionGroup QToolButton[class="header"] { -color: black; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_darker.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_darker.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #cccccc; -border-left: 1px solid #cccccc; -border-right: 1px solid #cccccc; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #f6f6f6; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #8ab6e9; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #8ab6e9; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #8ab6e9; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #8ab6e9; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: black; -background-color: white; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: black; - text-align: center; - background-color: #d4d4d4; - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background: #8ab6e9; - border: 1px solid #8ab6e9; -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #dc00fa; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #455364; - background-color: #cccccc; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background: #8ab6e9; - border: 1px solid #8ab6e9; -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #f6f6f6; -} - -QSlider:focus { - /*border: 1px solid #dc00fa;*/ -} - -QSlider::groove:horizontal { - background: #F6F6F6; - border: 1px solid #cccccc; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #F6F6F6; - border: 1px solid #cccccc; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #8ab6e9; - border: 1px solid #cccccc; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #cccccc; -} - -QSlider::sub-page:horizontal { - background: #8ab6e9; - border: 1px solid #cccccc; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #cccccc; -} - -QSlider::handle:horizontal { - background: #cccccc; - border: 1px solid #cccccc; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #8ab6e9; - border: 1px solid #cccccc; -} - -QSlider::handle:horizontal:focus { - border: 1px solid #cccccc; - background: #dc00fa; -} - -QSlider::handle:vertical { - background: #cccccc; - border: 1px solid #cccccc; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #8ab6e9; - border: 1px solid #cccccc; -} - -QSlider::handle:vertical:focus { - border: 1px solid #dc00fa; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: white; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #cccccc; - border-radius: 2px; - color: black; -} - -QLineEdit:disabled { - background-color: #cccccc; - color: #454545; -} - -QLineEdit:hover { - border: 1px solid #8ab6e9; - color: black; -} - -QLineEdit:focus { - border: 2px solid #dc00fa; -} - -QLineEdit:selected { - background-color: #8ab6e9; - color: black; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #8ab6e9; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - border: 0px solid #8c00ffa1; - border-radius: 1.9px; - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #8ab6e9; - border: 1px solid #346792; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - border-radius: 2px; - margin: 0px; - padding: 2px; - border: 0; - alignment: center; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_dark.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.392);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_dark.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - border-bottom: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - border-top: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - border-right: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - border-left: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - border-bottom: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - border-top: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - border-right: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - border-left: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - border-bottom: 2px solid #d4d4d4; - margin-top: 2px; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - border-top: 2px solid #d4d4d4; - margin-bottom: 2px; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - border-left: 2px solid #d4d4d4; - margin-right: 2px; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - border-right: 2px solid #d4d4d4; - margin-left: 2px; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - background-color: #f6f6f6; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border: 1px solid #d4d4d4; - border-radius: 4px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - background-color: #d4d4d4; - /*border: 1px solid #dc00fa; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #8ab6e9;*/ - border: 0px solid #8ab6e9; - background-color: #8ab6e9; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - border: 1px solid #d4d4d4; - background-color: #f5f5f5; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - border-radius: 4px; - min-width: 5px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - background-color: #d4d4d4; - /*border: 1px solid #dc00fa; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #8ab6e9;*/ - border: 0px solid #8ab6e9; - background-color: #8ab6e9; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #f5f5f5; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #f5f5f5; - border: 0px solid #dc00fa; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #8ab6e9; - background-color: #8ab6e9; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #f5f5f5; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #f5f5f5; - border: 0px solid #dc00fa; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #8ab6e9; - background-color: #8ab6e9; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #f5f5f5; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #8ab6e9; - background-color: #8ab6e9; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #8ab6e9; - background-color: #8ab6e9; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #f6f6f6; - border: 1px solid #cccccc; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: #f6f6f6; - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_dark.svg); -} - -QDockWidget::float-button:hover { - /* background-color: #8ab6e9; */ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_dark.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_dark.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_dark_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #f6f6f6; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #cccccc; - color: black; - gridline-color: #cccccc; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(229, 229, 229, 0.7); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: white; - color: #515151; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #8ab6e9; - color: black; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #dc00fa; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #8ab6e9; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #8ab6e9; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: black; - background-color: #bfc1c0; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: black; - background-color: #8ab6e9; -} - -QTableCornerButton::section { - background-color: #f6f6f6; - border: 1px transparent #cccccc; - border-radius: 0px; -} - -QTableView::item { - color: black; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: #f6f6f6; - border: 1px solid #cccccc; - padding: 0; - margin: 0; - border-radius: 0px; - text-align: center; -} - -QHeaderView:disabled { - background-color: #f6f6f6; - border: 1px solid #cccccc; - color: #515151; -} - -QHeaderView::section { - background-color: #f5f5f5; - color: black; - border-radius: 0px; - text-align: center; - font-size: 13px; - font-weight: bold; - text-align: center; -} - -QHeaderView::section::horizontal { - padding-top: 0; - padding-bottom: 0; - padding-left: 10px; - padding-right: 10px; - border-left: 1px solid #cccccc; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 1px solid #cccccc; - padding-left: 15px; -} - -QHeaderView::section::horizontal:disabled { - color: #515151; -} - -QHeaderView::section::vertical { - padding-top: 0; - padding-bottom: 0; - padding-left: 1px; - padding-right: 1px; - border-top: 1px solid #cccccc; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 1px solid #cccccc; -} - -QHeaderView::section::vertical:disabled { - color: #515151; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: #455364; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/arrow_down.svg); -} - -QHeaderView::up-arrow { - background-color: #455364; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #d4d4d4; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #346792; -} - -QToolBox::tab { - background-color: #d4d4d4; - border: 0px solid #cccccc; - color: black; - background-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #515151; -} - -QToolBox::tab:selected { - background-color: #d4d4d4; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #d4d4d4; - border-bottom: 0px solid #cccccc; - color: #515151; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #f6f6f6; -} - -QToolBox::tab:hover { - background-color: #8ab6e9; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #cccccc; - background-color: #cccccc; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #cccccc; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #cccccc; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #f6f6f6; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #8ab6e9, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #8ab6e9, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #8ab6e9; - border-style: solid; - border: 1px solid #cccccc; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #8ab6e9; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #cccccc; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #f6f6f6; - border-radius: 2px; - border: 1px solid #cccccc; - selection-background-color: #8ab6e9; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #8ab6e9; - color: black; -} - -QAbstractView:selected { - background: #8ab6e9; - color: black; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Light-modern-green.qss b/src/Gui/Stylesheets/Light-modern-green.qss deleted file mode 100644 index 7cf40dc242..0000000000 --- a/src/Gui/Stylesheets/Light-modern-green.qss +++ /dev/null @@ -1,2634 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #a5e98a - #dc00fa - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #a5e98a; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #2b2b2b; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #f6f6f6; - border: 0px solid #cccccc; - padding: 0px; - color: black; - selection-background-color: #a5e98a; - selection-color: black; -} - -QWidget:disabled { - color: #515151; - selection-background-color: #a5e98a; - selection-color: #515151; -} - -QWidget::item:selected { - background-color: #a5e98a; -} - - /* Causes issue with colorselector. -QWidget::item:hover:!selected { - background-color: #a5e98a; -}*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #a5e98a, stop:0.8 transparent); - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/splitter_vertical_dark.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #a5e98a, stop:0.8 transparent); - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/splitter_horizontal_dark.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #f6f6f6; - color: black; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #f5f5f5; - /* Fixes Spyder #9120, #9121 */ - background: #f6f6f6; - /* Fixes #205, black vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #f6f6f6; - border: 1px solid #cccccc; - color: black; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: black; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #dc00fa; -} - -QCheckBox QWidget:disabled { - background-color: transparent; - color: #515151; -} - -QCheckBox::indicator { - color: black; - background-color: white; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked { - background-color: white; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #a5e98a; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #f5f5f5; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: white; - /*border: 1px solid #cccccc; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #a5e98a; -} - -QCheckBox::indicator:checked:disabled { - background-color: #f5f5f5; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: white; - border: 1px solid #cccccc; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #f5f5f5; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #a5e98a; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #cccccc; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: black; - background-color: #f5f5f5; - border: 1px solid #cccccc; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #cccccc; - border: 1px solid #cccccc; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #a5e98a; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: white; - border: 1px solid #cccccc; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #a5e98a; -} - -QGroupBox::indicator:checked:disabled { - background-color: #a5e98a; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: black; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #dc00fa; -} - -QRadioButton:disabled { - background-color: #f6f6f6; - color: #515151; -} - -QRadioButton QWidget { - background-color: transparent; - color: black; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #f8f8f8; - border: 1px solid #cccccc; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #a5e98a; - border: 1px solid #a5e98a; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #cccccc; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #a5e98a; - border: 1px solid #a5e98a; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #cccccc; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #f8f8f8; - /*padding: 1px; - border: 0px solid rgba(255,255,255,140);*/ - color: black; - selection-background-color: #a5e98a; -} - -QMenuBar:focus { - border: 1px solid #dc00fa; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #cccccc; - background-color: #a5e98a; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #cccccc; - background-color: #a5e98a; - color: black; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(100,100,100,140); - border-right: 2px rgba(100,100,100,140); - color: black; - margin: 0px; - background-color: #f8f8f8; - selection-background-color: #a5e98a; -} - -QMenu::separator { - height: 2px; - background-color: #cccccc; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #cccccc; -} - -QMenu::item:selected { - color: black; - background-color: #a5e98a; -} - -QMenu::item:pressed { - background-color: #a5e98a; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #a5e98a; - margin-left: -5px; - border: 5px solid #a5e98a; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #a5e98a; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #a5e98a; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #a5e98a; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #a5e98a; - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_darker.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #cfcfcf; - color: black; - border: 1px solid #cccccc; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #cccccc; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: black; -} - -QAbstractScrollArea:disabled { - color: #515151; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #f6f6f6; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 16px 2px 16px; - border: 0px solid #cccccc; - border-radius: 1.9px; - background-color: #f6f6f6; -} - -QScrollBar:vertical { - background-color: #f6f6f6; - width: 16px; - margin: 16px 2px 16px 2px; - border: 0px solid #cccccc; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #d4d4d4; - border: 1px solid #f6f6f6; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #a5e98a; - border: #cccccc; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #dc00fa; -} - -QScrollBar::handle:vertical { - background-color: #d4d4d4; - border: 1px solid #cccccc; - min-height: 8px; - border-radius: 1.9px; -} - -QScrollBar::handle:vertical:hover { - background-color: #a5e98a; - border: #cccccc; - border-radius: 1.9px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #dc00fa; -} - -QScrollBar::add-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/right_arrow_darker.svg); - height: 10px; - width: 7px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_darker.svg); - background-color: #a5e98a; - height: 10px; - width: 7px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/down_arrow_darker.svg); - height: 7px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-color: #a5e98a; - height: 7px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_darker.svg); - height: 10px; - width: 7px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_darker.svg); - background-color: #a5e98a; - height: 10px; - width: 8px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_darker.svg); - height: 8px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - background-color: #a5e98a; - border-image: url(qss:images_dark-light/up_arrow_darker.svg); - height: 8px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #f6f6f6; - color: black; - border-radius: 1.9px; - border: 0px solid #cccccc; -} - -QTextEdit:focus { - border: 1px solid #dc00fa; -} - -QTextEdit:selected { - background: #346792; - color: black; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: white; - color: black; - border-radius: 1.9px; - border: 0px solid #cccccc; -} - -QPlainTextEdit:focus { - border: 1px solid #dc00fa; -} - -QPlainTextEdit:selected { - background: #a5e98a; - color: black; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_dark.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #cccccc; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #f6f6f6; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #f6f6f6; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #f6f6f6; -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/* background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-color: #a5e98a; -} - -QToolButton#qt_toolbar_ext_button:on { -/* background-image: url(qss:images_dark-light/more_dark.svg);*/ -border-color: #cccccc; -background-color: #a5e98a; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: white; - border: 1px solid #cccccc; - color: black; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: #cccccc; - subcontrol-origin: border; - subcontrol-position: top right; - border-left: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - /*background-color: #a5e98a;*/ - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QAbstractSpinBox:down-button { - background-color: #cccccc; - subcontrol-origin: border; - subcontrol-position: bottom right; - border-left: 1px solid #cccccc; - border-top: 1px solid #cccccc; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - /*background-color: #a5e98a;*/ image:url(qss:images_dark-light/down_arrow_darker.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #a5e98a; - color: black;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #dc00fa; -} - -QAbstractSpinBox:selected { - background: #dc00fa; - /*color: black;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #cccccc; - padding: 2px; - margin: 0px; - color: black; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #cccccc; - color: #9f0d00; -} - -QLabel[haslink="true"] { - color: darkblue; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: white; - border: 1px solid #cccccc; - color: black; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #f6f6f6; - border: 1px solid #cccccc; - color: #005aa4; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #455364; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #455364; - color: black; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: white; - border: 0px solid #cccccc; - color: #515151; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #cccccc; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #bfc1c0; - color: #515151; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: black; -} - -QLCDNumber:disabled { - background-color: #f6f6f6; - color: #515151; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #515151; - border: 1px solid #cccccc; - color: black; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #f8f8f8; - border: 1px solid #cccccc; - color: #515151; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #a5e98a; - color: #f6f6f6; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #f8f8f8; - color: #cccccc; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: #d4d4d4; - color: black; - border-radius: 2px; - padding: 2px; - outline: none; - border: none; -} - -QPushButton:disabled { - background-color: #f6f6f6; - color: #515151; - border-radius: 2px; - padding: 2px; -} - -QPushButton:checked { - background-color: #a5e98a; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #a5e98a; - color: #f5f5f5; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:selected { - background: #a5e98a; -} - -QPushButton:hover { - background-color: #a5e98a; - color: black; -} - -QPushButton:pressed { - background-color: #a5e98a; -} - -QPushButton:selected { - background: #dc00fa; - color: black; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: black; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: #f8f8f8; - color: #515151; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #a5e98a; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #a5e98a; - color: #515151; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #a5e98a; - color: black; -} - -QToolButton:checked:pressed { - background-color: #a5e98a; -} - -QToolButton:checked:selected { - background: #dc00fa; - color: black; -} - -QToolButton:hover { - background-color: #a5e98a; - color: black; -} - -QToolButton:pressed { - background-color: #dc00fa; -} - -QToolButton:selected { - background: #a5e98a; - color: black; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #f6f6f6; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_dark.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} -QToolButton::menu-arrow:hover { - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #cccccc; - color: black; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #515151; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid #cccccc; - background: white; - border-radius: 2px; - selection-background-color: #a5e98a; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: white; -} -QComboBox QAbstractItemView { - border: 0px solid #cccccc; - border-radius: 0px; - background-color: white; - selection-background-color: #a5e98a; -} - -QComboBox QAbstractItemView:hover { - background-color:white; - color: black; -} - -QComboBox QAbstractItemView:selected { - background: #a5e98a; - color: black; -} - -QComboBox QAbstractItemView:alternate { - background: #f5f5f5; -} - -QComboBox:disabled { - background-color: #cccccc; - color: #515151; -} - -QComboBox:hover { - /*background-color: #a5e98a;*/ - border: 1px solid #a5e98a; -} - -QComboBox:focus { - border: 1px solid #dc00fa; -} - -QComboBox:on { - selection-background-color: #dc00fa; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #a5e98a; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #cccccc; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #f5f5f5; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: #d4d4d4; - subcontrol-position: top right; - width: 14px; - border-left: 1px solid #cccccc; -} -QComboBox::drop-down:hover { - background-color: #a5e98a; -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: black; - qproperty-groupBackground: #f5f5f5; - border: 0px solid #cccccc; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #cccccc; -border-left: 1px solid #cccccc; -border-right: 1px solid #cccccc; -background-color: #d4d4d4; /* Task Panel Header background color */ -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: #a5e98a; -} - -QSint--ActionGroup QToolButton[class="header"] { -color: black; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_darker.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_darker.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #cccccc; -border-left: 1px solid #cccccc; -border-right: 1px solid #cccccc; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #f6f6f6; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #a5e98a; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #a5e98a; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #a5e98a; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #a5e98a; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: black; -background-color: white; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: black; - text-align: center; - background-color: #d4d4d4; - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background: #a5e98a; - border: 1px solid #a5e98a; -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #dc00fa; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #455364; - background-color: #cccccc; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background: #a5e98a; - border: 1px solid #a5e98a; -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #f6f6f6; -} - -QSlider:focus { - /*border: 1px solid #dc00fa;*/ -} - -QSlider::groove:horizontal { - background: #F6F6F6; - border: 1px solid #cccccc; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #F6F6F6; - border: 1px solid #cccccc; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #a5e98a; - border: 1px solid #cccccc; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #cccccc; -} - -QSlider::sub-page:horizontal { - background: #a5e98a; - border: 1px solid #cccccc; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #cccccc; -} - -QSlider::handle:horizontal { - background: #cccccc; - border: 1px solid #cccccc; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #a5e98a; - border: 1px solid #cccccc; -} - -QSlider::handle:horizontal:focus { - border: 1px solid #cccccc; - background: #dc00fa; -} - -QSlider::handle:vertical { - background: #cccccc; - border: 1px solid #cccccc; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #a5e98a; - border: 1px solid #cccccc; -} - -QSlider::handle:vertical:focus { - border: 1px solid #dc00fa; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: white; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #cccccc; - border-radius: 2px; - color: black; -} - -QLineEdit:disabled { - background-color: #cccccc; - color: #454545; -} - -QLineEdit:hover { - border: 1px solid #a5e98a; - color: black; -} - -QLineEdit:focus { - border: 2px solid #dc00fa; -} - -QLineEdit:selected { - background-color: #a5e98a; - color: black; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #a5e98a; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - border: 0px solid #8c00ffa1; - border-radius: 1.9px; - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #a5e98a; - border: 1px solid #346792; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - border-radius: 2px; - margin: 0px; - padding: 2px; - border: 0; - alignment: center; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_dark.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.392);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_dark.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - border-bottom: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - border-top: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - border-right: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - border-left: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - border-bottom: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - border-top: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - border-right: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - border-left: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - border-bottom: 2px solid #d4d4d4; - margin-top: 2px; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - border-top: 2px solid #d4d4d4; - margin-bottom: 2px; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - border-left: 2px solid #d4d4d4; - margin-right: 2px; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - border-right: 2px solid #d4d4d4; - margin-left: 2px; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - background-color: #f6f6f6; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border: 1px solid #d4d4d4; - border-radius: 4px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - background-color: #d4d4d4; - /*border: 1px solid #dc00fa; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #a5e98a;*/ - border: 0px solid #a5e98a; - background-color: #a5e98a; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - border: 1px solid #d4d4d4; - background-color: #f5f5f5; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - border-radius: 4px; - min-width: 5px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - background-color: #d4d4d4; - /*border: 1px solid #dc00fa; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #a5e98a;*/ - border: 0px solid #a5e98a; - background-color: #a5e98a; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #f5f5f5; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #f5f5f5; - border: 0px solid #dc00fa; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #a5e98a; - background-color: #a5e98a; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #f5f5f5; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #f5f5f5; - border: 0px solid #dc00fa; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #a5e98a; - background-color: #a5e98a; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #f5f5f5; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #a5e98a; - background-color: #a5e98a; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #a5e98a; - background-color: #a5e98a; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #f6f6f6; - border: 1px solid #cccccc; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: #f6f6f6; - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_dark.svg); -} - -QDockWidget::float-button:hover { - /* background-color: #a5e98a; */ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_dark.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_dark.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_dark_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #f6f6f6; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #cccccc; - color: black; - gridline-color: #cccccc; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(229, 229, 229, 0.7); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: white; - color: #515151; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #a5e98a; - color: black; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #dc00fa; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #a5e98a; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #a5e98a; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: black; - background-color: #bfc1c0; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: black; - background-color: #a5e98a; -} - -QTableCornerButton::section { - background-color: #f6f6f6; - border: 1px transparent #cccccc; - border-radius: 0px; -} - -QTableView::item { - color: black; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: #f6f6f6; - border: 1px solid #cccccc; - padding: 0; - margin: 0; - border-radius: 0px; - text-align: center; -} - -QHeaderView:disabled { - background-color: #f6f6f6; - border: 1px solid #cccccc; - color: #515151; -} - -QHeaderView::section { - background-color: #f5f5f5; - color: black; - border-radius: 0px; - text-align: center; - font-size: 13px; - font-weight: bold; - text-align: center; -} - -QHeaderView::section::horizontal { - padding-top: 0; - padding-bottom: 0; - padding-left: 10px; - padding-right: 10px; - border-left: 1px solid #cccccc; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 1px solid #cccccc; - padding-left: 15px; -} - -QHeaderView::section::horizontal:disabled { - color: #515151; -} - -QHeaderView::section::vertical { - padding-top: 0; - padding-bottom: 0; - padding-left: 1px; - padding-right: 1px; - border-top: 1px solid #cccccc; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 1px solid #cccccc; -} - -QHeaderView::section::vertical:disabled { - color: #515151; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: #455364; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/arrow_down.svg); -} - -QHeaderView::up-arrow { - background-color: #455364; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #d4d4d4; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #346792; -} - -QToolBox::tab { - background-color: #d4d4d4; - border: 0px solid #cccccc; - color: black; - background-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #515151; -} - -QToolBox::tab:selected { - background-color: #d4d4d4; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #d4d4d4; - border-bottom: 0px solid #cccccc; - color: #515151; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #f6f6f6; -} - -QToolBox::tab:hover { - background-color: #a5e98a; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #cccccc; - background-color: #cccccc; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #cccccc; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #cccccc; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #f6f6f6; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #a5e98a, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #a5e98a, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #a5e98a; - border-style: solid; - border: 1px solid #cccccc; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #a5e98a; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #cccccc; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #f6f6f6; - border-radius: 2px; - border: 1px solid #cccccc; - selection-background-color: #a5e98a; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #a5e98a; - color: black; -} - -QAbstractView:selected { - background: #a5e98a; - color: black; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} - diff --git a/src/Gui/Stylesheets/Light-modern-orange.qss b/src/Gui/Stylesheets/Light-modern-orange.qss deleted file mode 100644 index 4d07c76ef1..0000000000 --- a/src/Gui/Stylesheets/Light-modern-orange.qss +++ /dev/null @@ -1,2633 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #e9be8a - #dc00fa - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #e9be8a; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #2b2b2b; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #f6f6f6; - border: 0px solid #cccccc; - padding: 0px; - color: black; - selection-background-color: #e9be8a; - selection-color: black; -} - -QWidget:disabled { - color: #515151; - selection-background-color: #e9be8a; - selection-color: #515151; -} - -QWidget::item:selected { - background-color: #e9be8a; -} - - /* Causes issue with colorselector. -QWidget::item:hover:!selected { - background-color: #e9be8a; -}*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #3c3c3c;*/ - border: 0px solid #696968; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #e9be8a, stop:0.8 transparent); - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/splitter_vertical_dark.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #e9be8a, stop:0.8 transparent); - /*background-color: #557bb6;*/ - image: url(qss:images_dark-light/splitter_horizontal_dark.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_dark.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_dark.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #f6f6f6; - color: black; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #f5f5f5; - /* Fixes Spyder #9120, #9121 */ - background: #f6f6f6; - /* Fixes #205, black vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #f6f6f6; - border: 1px solid #cccccc; - color: black; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: black; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #dc00fa; -} - -QCheckBox QWidget:disabled { - background-color: transparent; - color: #515151; -} - -QCheckBox::indicator { - color: black; - background-color: white; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked { - background-color: white; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #e9be8a; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #f5f5f5; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: white; - /*border: 1px solid #cccccc; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #e9be8a; -} - -QCheckBox::indicator:checked:disabled { - background-color: #f5f5f5; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: white; - border: 1px solid #cccccc; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #f5f5f5; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #e9be8a; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #cccccc; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: black; - background-color: #f5f5f5; - border: 1px solid #cccccc; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #cccccc; - border: 1px solid #cccccc; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #e9be8a; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: white; - border: 1px solid #cccccc; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #e9be8a; -} - -QGroupBox::indicator:checked:disabled { - background-color: #e9be8a; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: black; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #dc00fa; -} - -QRadioButton:disabled { - background-color: #f6f6f6; - color: #515151; -} - -QRadioButton QWidget { - background-color: transparent; - color: black; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #f8f8f8; - border: 1px solid #cccccc; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #e9be8a; - border: 1px solid #e9be8a; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ - border: 1px solid #cccccc; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #e9be8a; - border: 1px solid #e9be8a; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #cccccc; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #f8f8f8; - /*padding: 1px; - border: 0px solid rgba(255,255,255,140);*/ - color: black; - selection-background-color: #e9be8a; -} - -QMenuBar:focus { - border: 1px solid #dc00fa; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #cccccc; - background-color: #e9be8a; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #cccccc; - background-color: #e9be8a; - color: black; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(100,100,100,140); - border-right: 2px rgba(100,100,100,140); - color: black; - margin: 0px; - background-color: #f8f8f8; - selection-background-color: #e9be8a; -} - -QMenu::separator { - height: 2px; - background-color: #cccccc; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #cccccc; -} - -QMenu::item:selected { - color: black; - background-color: #e9be8a; -} - -QMenu::item:pressed { - background-color: #e9be8a; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #e9be8a; - margin-left: -5px; - border: 5px solid #e9be8a; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #e9be8a; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #e9be8a; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #e9be8a; - image: url(qss:images_dark-light/checkbox_unchecked_light.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #e9be8a; - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_darker.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #cfcfcf; - color: black; - border: 1px solid #cccccc; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #cccccc; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: black; -} - -QAbstractScrollArea:disabled { - color: #515151; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #f6f6f6; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 16px 2px 16px; - border: 0px solid #cccccc; - border-radius: 1.9px; - background-color: #f6f6f6; -} - -QScrollBar:vertical { - background-color: #f6f6f6; - width: 16px; - margin: 16px 2px 16px 2px; - border: 0px solid #cccccc; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #d4d4d4; - border: 1px solid #f6f6f6; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #e9be8a; - border: #cccccc; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #dc00fa; -} - -QScrollBar::handle:vertical { - background-color: #d4d4d4; - border: 1px solid #cccccc; - min-height: 8px; - border-radius: 1.9px; -} - -QScrollBar::handle:vertical:hover { - background-color: #e9be8a; - border: #cccccc; - border-radius: 1.9px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #dc00fa; -} - -QScrollBar::add-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/right_arrow_darker.svg); - height: 10px; - width: 7px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_darker.svg); - background-color: #e9be8a; - height: 10px; - width: 7px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/down_arrow_darker.svg); - height: 7px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-color: #e9be8a; - height: 7px; - width: 10px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_darker.svg); - height: 10px; - width: 7px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_darker.svg); - background-color: #e9be8a; - height: 10px; - width: 8px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_darker.svg); - height: 8px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - background-color: #e9be8a; - border-image: url(qss:images_dark-light/up_arrow_darker.svg); - height: 8px; - width: 10px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #f6f6f6; - color: black; - border-radius: 1.9px; - border: 0px solid #cccccc; -} - -QTextEdit:focus { - border: 1px solid #dc00fa; -} - -QTextEdit:selected { - background: #346792; - color: black; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: white; - color: black; - border-radius: 1.9px; - border: 0px solid #cccccc; -} - -QPlainTextEdit:focus { - border: 1px solid #dc00fa; -} - -QPlainTextEdit:selected { - background: #e9be8a; - color: black; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_dark.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #cccccc; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #f6f6f6; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #f6f6f6; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #f6f6f6; -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/* background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-color: #e9be8a; -} - -QToolButton#qt_toolbar_ext_button:on { -/* background-image: url(qss:images_dark-light/more_dark.svg);*/ -border-color: #cccccc; -background-color: #e9be8a; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: white; - border: 1px solid #cccccc; - color: black; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: #cccccc; - subcontrol-origin: border; - subcontrol-position: top right; - border-left: 1px solid #cccccc; - border-bottom: 1px solid #cccccc; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - /*background-color: #e9be8a;*/ - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QAbstractSpinBox:down-button { - background-color: #cccccc; - subcontrol-origin: border; - subcontrol-position: bottom right; - border-left: 1px solid #cccccc; - border-top: 1px solid #cccccc; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - /*background-color: #e9be8a;*/ image:url(qss:images_dark-light/down_arrow_darker.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #e9be8a; - color: black;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #dc00fa; -} - -QAbstractSpinBox:selected { - background: #dc00fa; - /*color: black;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #cccccc; - padding: 2px; - margin: 0px; - color: black; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #cccccc; - color: #9f0d00; -} - -QLabel[haslink="true"] { - color: darkblue; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: white; - border: 1px solid #cccccc; - color: black; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #f6f6f6; - border: 1px solid #cccccc; - color: #005aa4; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #455364; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #455364; - color: black; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: white; - border: 0px solid #cccccc; - color: #515151; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #cccccc; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #bfc1c0; - color: #515151; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: black; -} - -QLCDNumber:disabled { - background-color: #f6f6f6; - color: #515151; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #515151; - border: 1px solid #cccccc; - color: black; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #f8f8f8; - border: 1px solid #cccccc; - color: #515151; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #e9be8a; - color: #f6f6f6; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #f8f8f8; - color: #cccccc; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: #d4d4d4; - color: black; - border-radius: 2px; - padding: 2px; - outline: none; - border: none; -} - -QPushButton:disabled { - background-color: #f6f6f6; - color: #515151; - border-radius: 2px; - padding: 2px; -} - -QPushButton:checked { - background-color: #e9be8a; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #e9be8a; - color: #f5f5f5; - border-radius: 2px; - padding: 2px; - outline: none; -} - -QPushButton:checked:selected { - background: #e9be8a; -} - -QPushButton:hover { - background-color: #e9be8a; - color: black; -} - -QPushButton:pressed { - background-color: #e9be8a; -} - -QPushButton:selected { - background: #dc00fa; - color: black; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: black; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: #f8f8f8; - color: #515151; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #e9be8a; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #e9be8a; - color: #515151; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #e9be8a; - color: black; -} - -QToolButton:checked:pressed { - background-color: #e9be8a; -} - -QToolButton:checked:selected { - background: #dc00fa; - color: black; -} - -QToolButton:hover { - background-color: #e9be8a; - color: black; -} - -QToolButton:pressed { - background-color: #dc00fa; -} - -QToolButton:selected { - background: #e9be8a; - color: black; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #f6f6f6; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_dark.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} -QToolButton::menu-arrow:hover { - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #cccccc; - color: black; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #515151; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid #cccccc; - background: white; - border-radius: 2px; - selection-background-color: #e9be8a; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: white; -} -QComboBox QAbstractItemView { - border: 0px solid #cccccc; - border-radius: 0px; - background-color: white; - selection-background-color: #e9be8a; -} - -QComboBox QAbstractItemView:hover { - background-color:white; - color: black; -} - -QComboBox QAbstractItemView:selected { - background: #e9be8a; - color: black; -} - -QComboBox QAbstractItemView:alternate { - background: #f5f5f5; -} - -QComboBox:disabled { - background-color: #cccccc; - color: #515151; -} - -QComboBox:hover { - /*background-color: #e9be8a;*/ - border: 1px solid #e9be8a; -} - -QComboBox:focus { - border: 1px solid #dc00fa; -} - -QComboBox:on { - selection-background-color: #dc00fa; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #e9be8a; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #cccccc; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #f5f5f5; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: #d4d4d4; - subcontrol-position: top right; - width: 14px; - border-left: 1px solid #cccccc; -} -QComboBox::drop-down:hover { - background-color: #e9be8a; -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: black; - qproperty-groupBackground: #f5f5f5; - border: 0px solid #cccccc; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #cccccc; -border-left: 1px solid #cccccc; -border-right: 1px solid #cccccc; -background-color: #d4d4d4; /* Task Panel Header background color */ -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: #e9be8a; -} - -QSint--ActionGroup QToolButton[class="header"] { -color: black; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_darker.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_darker.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #cccccc; -border-left: 1px solid #cccccc; -border-right: 1px solid #cccccc; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #f6f6f6; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #e9be8a; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #e9be8a; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #e9be8a; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #e9be8a; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: black; -background-color: white; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: black; - text-align: center; - background-color: #d4d4d4; - border: 0px solid #adadad; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background: #e9be8a; - border: 1px solid #e9be8a; -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #dc00fa; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #455364; - background-color: #cccccc; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background: #e9be8a; - border: 1px solid #e9be8a; -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #f6f6f6; -} - -QSlider:focus { - /*border: 1px solid #dc00fa;*/ -} - -QSlider::groove:horizontal { - background: #F6F6F6; - border: 1px solid #cccccc; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #F6F6F6; - border: 1px solid #cccccc; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #e9be8a; - border: 1px solid #cccccc; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #cccccc; -} - -QSlider::sub-page:horizontal { - background: #e9be8a; - border: 1px solid #cccccc; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #cccccc; -} - -QSlider::handle:horizontal { - background: #cccccc; - border: 1px solid #cccccc; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #e9be8a; - border: 1px solid #cccccc; -} - -QSlider::handle:horizontal:focus { - border: 1px solid #cccccc; - background: #dc00fa; -} - -QSlider::handle:vertical { - background: #cccccc; - border: 1px solid #cccccc; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #e9be8a; - border: 1px solid #cccccc; -} - -QSlider::handle:vertical:focus { - border: 1px solid #dc00fa; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: white; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #cccccc; - border-radius: 2px; - color: black; -} - -QLineEdit:disabled { - background-color: #cccccc; - color: #454545; -} - -QLineEdit:hover { - border: 1px solid #e9be8a; - color: black; -} - -QLineEdit:focus { - border: 2px solid #dc00fa; -} - -QLineEdit:selected { - background-color: #e9be8a; - color: black; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #e9be8a; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - border: 0px solid #8c00ffa1; - border-radius: 1.9px; - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #e9be8a; - border: 1px solid #346792; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - border-radius: 2px; - margin: 0px; - padding: 2px; - border: 0; - alignment: center; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_dark.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.392);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_dark.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - border-bottom: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - border-top: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - border-right: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - border-left: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - border-bottom: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - border-top: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - border-right: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - border-left: 3px solid #d4d4d4; - color: #515151; - background-color: #d4d4d4; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - border-bottom: 2px solid #d4d4d4; - margin-top: 2px; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - border-top: 2px solid #d4d4d4; - margin-bottom: 2px; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - border-left: 2px solid #d4d4d4; - margin-right: 2px; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - border-right: 2px solid #d4d4d4; - margin-left: 2px; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - background-color: #f6f6f6; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border: 1px solid #d4d4d4; - border-radius: 4px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - background-color: #d4d4d4; - /*border: 1px solid #dc00fa; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #e9be8a;*/ - border: 0px solid #e9be8a; - background-color: #e9be8a; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - border: 1px solid #d4d4d4; - background-color: #f5f5f5; - margin-left: 3px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - border-radius: 4px; - min-width: 5px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - background-color: #d4d4d4; - /*border: 1px solid #dc00fa; - border-radius: 4px; - margin-left: 4px; - margin-right: 4px; - padding-left: 3px; - padding-right: 3px;*/ -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #e9be8a;*/ - border: 0px solid #e9be8a; - background-color: #e9be8a; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #f5f5f5; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #f5f5f5; - border: 0px solid #dc00fa; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #e9be8a; - background-color: #e9be8a; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #f5f5f5; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #f5f5f5; - border: 0px solid #dc00fa; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #e9be8a; - background-color: #e9be8a; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #f5f5f5; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #e9be8a; - background-color: #e9be8a; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #e9be8a; - background-color: #e9be8a; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #f6f6f6; - border: 1px solid #cccccc; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: #f6f6f6; - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_dark.svg); -} - -QDockWidget::float-button:hover { - /* background-color: #e9be8a; */ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_dark.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_dark.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_dark_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #f6f6f6; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #cccccc; - color: black; - gridline-color: #cccccc; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(229, 229, 229, 0.7); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: white; - color: #515151; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #e9be8a; - color: black; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #dc00fa; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #e9be8a; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #e9be8a; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: black; - background-color: #bfc1c0; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: black; - background-color: #e9be8a; -} - -QTableCornerButton::section { - background-color: #f6f6f6; - border: 1px transparent #cccccc; - border-radius: 0px; -} - -QTableView::item { - color: black; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: #f6f6f6; - border: 1px solid #cccccc; - padding: 0; - margin: 0; - border-radius: 0px; - text-align: center; -} - -QHeaderView:disabled { - background-color: #f6f6f6; - border: 1px solid #cccccc; - color: #515151; -} - -QHeaderView::section { - background-color: #f5f5f5; - color: black; - border-radius: 0px; - text-align: center; - font-size: 13px; - font-weight: bold; - text-align: center; -} - -QHeaderView::section::horizontal { - padding-top: 0; - padding-bottom: 0; - padding-left: 10px; - padding-right: 10px; - border-left: 1px solid #cccccc; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 1px solid #cccccc; - padding-left: 15px; -} - -QHeaderView::section::horizontal:disabled { - color: #515151; -} - -QHeaderView::section::vertical { - padding-top: 0; - padding-bottom: 0; - padding-left: 1px; - padding-right: 1px; - border-top: 1px solid #cccccc; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 1px solid #cccccc; -} - -QHeaderView::section::vertical:disabled { - color: #515151; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: #455364; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/arrow_down.svg); -} - -QHeaderView::up-arrow { - background-color: #455364; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #d4d4d4; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #346792; -} - -QToolBox::tab { - background-color: #d4d4d4; - border: 0px solid #cccccc; - color: black; - background-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #515151; -} - -QToolBox::tab:selected { - background-color: #d4d4d4; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #d4d4d4; - border-bottom: 0px solid #cccccc; - color: #515151; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #f6f6f6; -} - -QToolBox::tab:hover { - background-color: #e9be8a; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #cccccc; - background-color: #cccccc; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #cccccc; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #cccccc; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #f6f6f6; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #e9be8a, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #e9be8a, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #e9be8a; - border-style: solid; - border: 1px solid #cccccc; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #e9be8a; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #cccccc; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #f6f6f6; - border-radius: 2px; - border: 1px solid #cccccc; - selection-background-color: #e9be8a; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #e9be8a; - color: black; -} - -QAbstractView:selected { - background: #e9be8a; - color: black; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Light-modern-pink.qss b/src/Gui/Stylesheets/Light-modern.qss similarity index 91% rename from src/Gui/Stylesheets/Light-modern-pink.qss rename to src/Gui/Stylesheets/Light-modern.qss index 4ddc84563a..9e09d6d2cf 100644 --- a/src/Gui/Stylesheets/Light-modern-pink.qss +++ b/src/Gui/Stylesheets/Light-modern.qss @@ -17,9 +17,8 @@ INSTALLATION WHEN NECESSARY ============================================================================================================ TO MODIFY USE THESE COLORS: - #e98ad8 - #008efa - + @ThemeAccentColor1 + @ThemeAccentColor2 See Qt documentation: @@ -87,7 +86,7 @@ Gui--PropertyEditor--PropertyEditor QComboBox { /* fix for column items background when a link is present */ Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #e98ad8; /* same as focused background color */ + background-color: @ThemeAccentColor1; /* same as focused background color */ } /* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ @@ -125,23 +124,23 @@ QWidget { border: 0px solid #cccccc; padding: 0px; color: black; - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; selection-color: black; } QWidget:disabled { color: #515151; - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; selection-color: #515151; } QWidget::item:selected { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } /* Causes issue with colorselector. QWidget::item:hover:!selected { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; }*/ /* QMainWindow ------------------------------------------------------------ @@ -158,13 +157,13 @@ QMainWindow::separator { } QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #e98ad8, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); /*background-color: #557bb6;*/ image: url(qss:images_dark-light/splitter_vertical_dark.svg); } QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #e98ad8, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); /*background-color: #557bb6;*/ image: url(qss:images_dark-light/splitter_horizontal_dark.svg); } @@ -243,8 +242,7 @@ QCheckBox { } QCheckBox:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QCheckBox QWidget:disabled { @@ -266,7 +264,7 @@ QCheckBox::indicator:unchecked { } QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); } @@ -282,7 +280,7 @@ QCheckBox::indicator:checked { } QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QCheckBox::indicator:checked:disabled { @@ -302,7 +300,7 @@ QCheckBox::indicator:indeterminate:disabled { } QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #e98ad8; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor1; /* QRadioButton has the same color */ } /* QGroupBox -------------------------------------------------------------- @@ -344,7 +342,7 @@ QGroupBox::indicator:unchecked { } QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:unchecked:disabled { @@ -358,11 +356,11 @@ QGroupBox::indicator:checked { } QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:checked:disabled { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } /* QRadioButton ----------------------------------------------------------- @@ -381,7 +379,7 @@ QRadioButton { } QRadioButton:focus { - border: 1px solid #008efa; + border: 1px solid @ThemeAccentColor2; } QRadioButton:disabled { @@ -412,8 +410,8 @@ QRadioButton::indicator:unchecked { } QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #e98ad8; - border: 1px solid #e98ad8; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; } @@ -427,8 +425,8 @@ QRadioButton::indicator:checked { } QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #e98ad8; - border: 1px solid #e98ad8; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; image:url(qss:images_dark-light/radiobutton_dark.svg); } @@ -449,12 +447,11 @@ QMenuBar { /*padding: 1px; border: 0px solid rgba(255,255,255,140);*/ color: black; - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; } QMenuBar:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QMenuBar::item { @@ -468,7 +465,7 @@ QMenuBar::item { QMenuBar::item:selected { background: transparent; border: 0px solid #cccccc; - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QMenuBar::item:pressed { @@ -476,7 +473,7 @@ QMenuBar::item:pressed { padding-left: 10px; padding-right: 10px;*/ border: 0px solid #cccccc; - background-color: #e98ad8; + background-color: @ThemeAccentColor1; color: black; /*margin-bottom: 0px; padding-bottom: 0px;*/ @@ -493,7 +490,7 @@ QMenu { color: black; margin: 0px; background-color: #f8f8f8; - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; } QMenu::separator { @@ -512,11 +509,11 @@ QMenu::item { QMenu::item:selected { color: black; - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QMenu::item:pressed { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QMenu::icon { @@ -536,9 +533,9 @@ QMenu::indicator { } QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #e98ad8; + background: @ThemeAccentColor1; margin-left: -5px; - border: 5px solid #e98ad8; + border: 5px solid @ThemeAccentColor1; position: absolute; border-radius: 0px; } @@ -548,7 +545,7 @@ QMenu::indicator:non-exclusive:unchecked { QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { border: none; - background: #e98ad8; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:unchecked:disabled { @@ -561,7 +558,7 @@ QMenu::indicator:non-exclusive:checked { QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { border: none; - background: #e98ad8; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:checked:disabled { @@ -587,7 +584,7 @@ QMenu::indicator:exclusive:unchecked { QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { border: none; outline: none; - background: #e98ad8; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_light.svg); } @@ -604,7 +601,7 @@ QMenu::indicator:exclusive:checked { QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { border: none; outline: none; - background: #e98ad8; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); } @@ -694,15 +691,14 @@ QScrollBar::handle:horizontal { } QScrollBar::handle:horizontal:hover { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; border: #cccccc; border-radius: 1.9px; min-width: 8px; } QScrollBar::handle:horizontal:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QScrollBar::handle:vertical { @@ -713,15 +709,14 @@ QScrollBar::handle:vertical { } QScrollBar::handle:vertical:hover { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; border: #cccccc; border-radius: 1.9px; min-height: 8px; } QScrollBar::handle:vertical:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QScrollBar::add-line:horizontal { @@ -735,7 +730,7 @@ QScrollBar::add-line:horizontal { QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { border-image: url(qss:images_dark-light/right_arrow_darker.svg); - background-color: #e98ad8; + background-color: @ThemeAccentColor1; height: 10px; width: 7px; subcontrol-position: right; @@ -753,7 +748,7 @@ QScrollBar::add-line:vertical { QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { border-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-color: #e98ad8; + background-color: @ThemeAccentColor1; height: 7px; width: 10px; subcontrol-position: bottom; @@ -771,7 +766,7 @@ QScrollBar::sub-line:horizontal { QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { border-image: url(qss:images_dark-light/left_arrow_darker.svg); - background-color: #e98ad8; + background-color: @ThemeAccentColor1; height: 10px; width: 8px; subcontrol-position: left; @@ -788,7 +783,7 @@ QScrollBar::sub-line:vertical { } QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; border-image: url(qss:images_dark-light/up_arrow_darker.svg); height: 8px; width: 10px; @@ -827,8 +822,7 @@ QTextEdit { } QTextEdit:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QTextEdit:selected { @@ -847,12 +841,11 @@ QPlainTextEdit { } QPlainTextEdit:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QPlainTextEdit:selected { - background: #e98ad8; + background: @ThemeAccentColor1; color: black; } @@ -934,13 +927,13 @@ background-position: center center; QToolButton#qt_toolbar_ext_button:hover { /* background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-color: #e98ad8; +background-color: @ThemeAccentColor1; } QToolButton#qt_toolbar_ext_button:on { /* background-image: url(qss:images_dark-light/more_dark.svg);*/ border-color: #cccccc; -background-color: #e98ad8; +background-color: @ThemeAccentColor1; } @@ -983,7 +976,7 @@ QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBo } QAbstractSpinBox::up-arrow:hover { - /*background-color: #e98ad8;*/ + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/up_arrow_darker.svg); } @@ -1007,22 +1000,20 @@ QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSp } QAbstractSpinBox::down-arrow:hover { - /*background-color: #e98ad8;*/ image:url(qss:images_dark-light/down_arrow_darker.svg); + /*background-color: @ThemeAccentColor1;*/ image:url(qss:images_dark-light/down_arrow_darker.svg); } QAbstractSpinBox:hover { - /*border: 1px solid #e98ad8; + /*border: 1px solid @ThemeAccentColor1; color: black;*/ } QAbstractSpinBox:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QAbstractSpinBox:selected { - background: #008efa -; + background: @ThemeAccentColor2; /*color: black;*/ } @@ -1145,7 +1136,7 @@ QProgressBar:disabled { } QProgressBar::chunk { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; color: #f6f6f6; border-radius: 1.9px; } @@ -1181,14 +1172,14 @@ QPushButton:disabled { } QPushButton:checked { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; border-radius: 2px; padding: 2px; outline: none; } QPushButton:checked:disabled { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; color: #f5f5f5; border-radius: 2px; padding: 2px; @@ -1196,21 +1187,20 @@ QPushButton:checked:disabled { } QPushButton:checked:selected { - background: #e98ad8; + background: @ThemeAccentColor1; } QPushButton:hover { - background-color: #e98ad8; - color: black; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); + color: White; } QPushButton:pressed { - background-color: #e98ad8; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QPushButton:selected { - background: #008efa -; + background: @ThemeAccentColor2; color: black; } @@ -1250,14 +1240,14 @@ QToolButton:disabled { } QToolButton:checked { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; border-radius: 1.9px; padding: 0px; outline: none; } QToolButton:checked:disabled { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; color: #515151; border-radius: 1.9px; padding: 0px; @@ -1265,32 +1255,30 @@ QToolButton:checked:disabled { } QToolButton:checked:hover { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; color: black; } QToolButton:checked:pressed { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QToolButton:checked:selected { - background: #008efa -; + background: @ThemeAccentColor2; color: black; } QToolButton:hover { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; color: black; } QToolButton:pressed { - background-color: #008efa -; + background-color: @ThemeAccentColor2; } QToolButton:selected { - background: #e98ad8; + background: @ThemeAccentColor1; color: black; } @@ -1400,7 +1388,7 @@ QComboBox { border: 1px solid #cccccc; background: white; border-radius: 2px; - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; padding-left: 2px; padding-right: 2px; /* padding-right = 36; 4 + 16*2 See scrollbar size */ @@ -1419,7 +1407,7 @@ QComboBox QAbstractItemView { border: 0px solid #cccccc; border-radius: 0px; background-color: white; - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; } QComboBox QAbstractItemView:hover { @@ -1428,7 +1416,7 @@ QComboBox QAbstractItemView:hover { } QComboBox QAbstractItemView:selected { - background: #e98ad8; + background: @ThemeAccentColor1; color: black; } @@ -1442,18 +1430,16 @@ QComboBox:disabled { } QComboBox:hover { - /*background-color: #e98ad8;*/ - border: 1px solid #e98ad8; + /*background-color: @ThemeAccentColor1;*/ + border: 1px solid @ThemeAccentColor1; } QComboBox:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QComboBox:on { - selection-background-color: #008efa -; + selection-background-color: @ThemeAccentColor2; } QComboBox::indicator { @@ -1462,7 +1448,7 @@ QComboBox::indicator { background-color: transparent; selection-background-color: transparent; color: transparent; - selection-color: #e98ad8; + selection-color: @ThemeAccentColor1; /* Needed to remove indicator - fix #132 */ } @@ -1494,7 +1480,7 @@ QComboBox::drop-down { border-left: 1px solid #cccccc; } QComboBox::drop-down:hover { - background-color: #e98ad8; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QComboBox::down-arrow { @@ -1554,7 +1540,7 @@ padding: 0px; } QSint--ActionGroup QFrame[class="header"]:hover { -background-color: #e98ad8; +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QToolButton[class="header"] { @@ -1613,19 +1599,19 @@ background-color: #f6f6f6; /* Task Panel background color */ /* Fixs for tabs inside Task Panel */ QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #e98ad8; /* same as Task Panel background color */ +border-bottom-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #e98ad8; /* same as Task Panel background color */ +border-top-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #e98ad8; /* same as Task Panel background color */ +border-right-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #e98ad8; /* same as Task Panel background color */ +border-left-color: @ThemeAccentColor1; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ @@ -1656,12 +1642,11 @@ QSint--ActionGroup QFrame[class="content"] QToolButton { } QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background: #e98ad8; - border: 1px solid #e98ad8; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); + } QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, @@ -1671,8 +1656,8 @@ QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background: #e98ad8; - border: 1px solid #e98ad8; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); + } /* QSlider ---------------------------------------------------------------- @@ -1685,7 +1670,7 @@ QSlider:disabled { } QSlider:focus { - /*border: 1px solid #008efa;*/ + /*border: 1px solid @ThemeAccentColor2;*/ } QSlider::groove:horizontal { @@ -1705,7 +1690,7 @@ QSlider::groove:vertical { } QSlider::add-page:vertical { - background: #e98ad8; + background: @ThemeAccentColor1; border: 1px solid #cccccc; width: 4px; margin: 0px; @@ -1717,7 +1702,7 @@ QSlider::add-page:vertical :disabled { } QSlider::sub-page:horizontal { - background: #e98ad8; + background: @ThemeAccentColor1; border: 1px solid #cccccc; height: 4px; margin: 0px; @@ -1738,13 +1723,13 @@ QSlider::handle:horizontal { } QSlider::handle:horizontal:hover { - background: #e98ad8; + background: @ThemeAccentColor1; border: 1px solid #cccccc; } QSlider::handle:horizontal:focus { border: 1px solid #cccccc; - background: #008efa; + background: @ThemeAccentColor2; } QSlider::handle:vertical { @@ -1757,13 +1742,12 @@ QSlider::handle:vertical { } QSlider::handle:vertical:hover { - background: #e98ad8; + background: @ThemeAccentColor1; border: 1px solid #cccccc; } QSlider::handle:vertical:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } /* QLineEdit -------------------------------------------------------------- @@ -1791,17 +1775,16 @@ QLineEdit:disabled { } QLineEdit:hover { - border: 1px solid #e98ad8; + border: 1px solid @ThemeAccentColor1; color: black; } QLineEdit:focus { - border: 2px solid #008efa -; + border: 2px solid @ThemeAccentColor2; } QLineEdit:selected { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; color: black; } @@ -1812,7 +1795,7 @@ https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabb --------------------------------------------------------------------------- */ QTabWidget { padding: 2px; - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; } QTabWidget QWidget { @@ -1829,7 +1812,7 @@ QTabWidget::pane { } QTabWidget::pane:selected { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; border: 1px solid #346792; } /* QTabBar ---------------------------------------------------------------- @@ -1950,7 +1933,7 @@ QTabBar::tab:top, QDockWidget QTabBar::tab:top { QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { background-color: #d4d4d4; - /*border: 1px solid #008efa; + /*border: 1px solid @ThemeAccentColor2; border-radius: 4px; margin-left: 4px; margin-right: 4px; @@ -1959,9 +1942,9 @@ QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { } QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #e98ad8;*/ - border: 0px solid #e98ad8; - background-color: #e98ad8; + /*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -1981,7 +1964,7 @@ QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { background-color: #d4d4d4; - /*border: 1px solid #008efa; + /*border: 1px solid @ThemeAccentColor2; border-radius: 4px; margin-left: 4px; margin-right: 4px; @@ -1990,9 +1973,9 @@ QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { } QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #e98ad8;*/ - border: 0px solid #e98ad8; - background-color: #e98ad8; +/*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -2011,13 +1994,12 @@ QTabBar::tab:left, QDockWidget QTabBar::tab:left { QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { background-color: #f5f5f5; - border: 0px solid #008efa -; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #e98ad8; - background-color: #e98ad8; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-right: 0px; padding-right: -1px; @@ -2036,13 +2018,12 @@ QTabBar::tab:right, QDockWidget QTabBar::tab:right { QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { background-color: #f5f5f5; - border: 0px solid #008efa -; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #e98ad8; - background-color: #e98ad8; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-left: 0px; padding-left: 0px; @@ -2056,13 +2037,13 @@ QTabBar QToolButton, QDockWidget QTabBar QToolButton { } QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #e98ad8; - background-color: #e98ad8; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #e98ad8; - background-color: #e98ad8; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { @@ -2133,7 +2114,7 @@ QDockWidget::float-button { } QDockWidget::float-button:hover { - /* background-color: #e98ad8; */ + /* background-color: @ThemeAccentColor1; */ image: url(qss:images_dark-light/undock_blue.svg); } @@ -2269,7 +2250,7 @@ QTreeView:selected, QListView:selected, QTableView:selected, QColumnView:selected { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; color: black; } @@ -2277,22 +2258,21 @@ QTreeView:focus, QListView:focus, QTableView:focus, QColumnView:focus { - border: 1px solid #008efa -; + border: 1px solid @ThemeAccentColor2; } QTreeView::item:pressed, QListView::item:pressed, QTableView::item:pressed, QColumnView::item:pressed { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:active, QListView::item:selected:active, QTableView::item:selected:active, QColumnView::item:selected:active { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:!active, @@ -2309,7 +2289,7 @@ QTableView::item:!selected:hover, QColumnView::item:!selected:hover { outline: 0; color: black; - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QTableCornerButton::section { @@ -2464,7 +2444,7 @@ QToolBox::tab:!selected:disabled { } QToolBox::tab:hover { - background-color: #e98ad8; + background-color: @ThemeAccentColor1; } QToolBox QScrollArea QWidget QWidget { @@ -2539,7 +2519,7 @@ QSplitter::handle:vertical { } QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #e98ad8, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); background-position: center center; background-repeat: none; } @@ -2548,14 +2528,14 @@ QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); background-position: center center; background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #e98ad8, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); } /* QDateEdit, QDateTimeEdit ----------------------------------------------- --------------------------------------------------------------------------- */ QDateEdit, QDateTimeEdit { - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; border-style: solid; border: 1px solid #cccccc; border-radius: 1.9px; @@ -2569,7 +2549,7 @@ QDateEdit, QDateTimeEdit { } QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; } QDateEdit::drop-down, QDateTimeEdit::drop-down { @@ -2593,19 +2573,19 @@ QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { background-color: #f6f6f6; border-radius: 2px; border: 1px solid #cccccc; - selection-background-color: #e98ad8; + selection-background-color: @ThemeAccentColor1; } /* QAbstractView ---------------------------------------------------------- --------------------------------------------------------------------------- */ QAbstractView:hover { - border: 1px solid #e98ad8; + border: 1px solid @ThemeAccentColor1; color: black; } QAbstractView:selected { - background: #e98ad8; + background: @ThemeAccentColor1; color: black; } diff --git a/src/Gui/Stylesheets/Light-orange.qss b/src/Gui/Stylesheets/Light-orange.qss deleted file mode 100644 index e44fb5ed12..0000000000 --- a/src/Gui/Stylesheets/Light-orange.qss +++ /dev/null @@ -1,2611 +0,0 @@ -/* -ABOUT -============================================================================================================ -Revised stylesheet based on the original from Pablo Gil Fernández made by MisterMaker - -KNOWN BUGS and TO DO -============================================================================================================ -Please, follow the link to get updated information: -https://forum.freecad.org/viewtopic.php?t=78431 - -INSTALLATION WHEN NECESSARY -============================================================================================================ -1) Place the .qss files and /images/ folder in the path that fits your OS: - OSX = /Users/[YOUR_USER_NAME]/Library/Preferences/FreeCAD/Gui/Stylesheets/ - WINDOWS = C:/[INSTALLATION_PATH]/FreeCAD/data/Gui/Stylesheets/ - LINUX = /home/[YOUR_USER_NAME]/.FreeCAD/Gui/Stylesheets/ - -============================================================================================================ -TO MODIFY USE THESE COLORS: - #ffb916 - #ffe098 - - -See Qt documentation: - - - https://doc.qt.io/qt-5/stylesheet.html - - https://doc.qt.io/qt-5/stylesheet-reference.html - - https://doc.qt.io/qt-5/stylesheet-examples.html - ---------------------------------------------------------------------------- */ - - -/* Reset elements ------------------------------------------------------------ - -Resetting everything helps to unify styles across different operating systems - ---------------------------------------------------------------------------- */ -* { - padding: 0px; - margin: 0px; - border: 0px; - border-style: none; - border-image: none; - outline: 0; -} - -/* specific reset for elements inside QToolBar */ -QToolBar * { - margin: 0px; - padding: 0px; -} - -/*hacks */ - -Gui--PropertyEditor--PropertyEditor QLineEdit:read-only, -Gui--PropertyEditor--PropertyEditor QLineEdit:disabled, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:read-only, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox:disabled { - color: transparent; - border-color: transparent; - background-color: transparent; - selection-color: transparent; - selection-background-color: transparent; - -} -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel, -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel:disabled { - color: transparent; - background-color: transparent; - border: none; - border-radius: 0px; - margin: 0px; - padding: 0px; -} - -Gui--PropertyEditor--PropertyEditor QSpinBox, -Gui--PropertyEditor--PropertyEditor QDoubleSpinBox, -Gui--PropertyEditor--PropertyEditor QAbstractSpinBox, -Gui--PropertyEditor--PropertyEditor QLineEdit, -Gui--PropertyEditor--PropertyEditor QComboBox { - margin-left: 0px; - margin-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - -} - -/* fix for column items background when a link is present */ -Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #ffb916; /* same as focused background color */ -} - -/* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ -Gui--PropertyEditor--PropertyEditor > QWidget > QWidget > QLabel { - color: #ffffff; - background-color: #ACC8E5; /* same as focused background color */ -} - -/*================================================================================================== -Main window -==================================================================================================*/ -QMainWindow, -QDialog, -QDockWidget, -QToolBar { - background-color: #F6F6F6; /* main background color */ -} - -QMdiArea { - background-image: url(qss:images_dark-light/background_freecad.svg); - background-position: center center; - background-repeat: no-repeat; -} -/*navgation src/Mod/Tux/NavigationIndicatorGui.py */ -Gui--NavigationIndicatorGui--BlenderNavigationStyle { -/*QAction#a4 {*/ - qproperty-icon: url(:/icons/icons/NavigationBlender_dark.svg); -} -/*===== -/* QWidget ---------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QWidget { - background-color: #F6F6F6; - border: 0px solid #C1C1C1; - padding: 0px; - color: black; - selection-background-color: #ffb916; - selection-color: black; -} - -QWidget:disabled { - color: #A3A3A3; - selection-background-color: #ffb916; - selection-color: #A3A3A3; -} - -QWidget::item:selected { - background-color: #ffb916 -; -} - - /* Causes issue with colorselector. - QWidget::item:hover:!selected { - background-color: #ffb916; - }*/ - -/* QMainWindow ------------------------------------------------------------ - -This adjusts the splitter in the dock widget, not qsplitter -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmainwindow - ---------------------------------------------------------------------------- */ -QMainWindow::separator { - /*background-color: #f6f6f6;*/ - border: 0px solid #C1C1C1; - spacing: 0px; - padding: 1px; -} - -QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #ffb916 , stop:0.8 transparent); - /*background-color: #ffb916;*/ - image: url(qss:images_dark-light/splitter_vertical_dark.svg); -} - -QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #ffb916 , stop:0.8 transparent); - /*background-color: #ffb916;*/ - image: url(qss:images_dark-light/splitter_horizontal_dark.svg); -} - -QMainWindow::separator:horizontal { - width: 4px; - margin-top: 0.1px; - margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_light.svg);*/ -} - -QMainWindow::separator:vertical { - height: 4px; - margin-left: 0.1px; - margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_light.svg);*/ -} - -/* QToolTip --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtooltip - ---------------------------------------------------------------------------- */ -QToolTip { - background-color: #ffffff; - color: black; - /* If you remove the border property, background stops working on Windows */ - border: none; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Remove opacity, fix #174 - may need to use RGBA */ -} - -/* QStatusBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qstatusbar - ---------------------------------------------------------------------------- */ -QStatusBar { - border: 0px solid #C1C1C1; - /* Fixes Spyder #9120, #9121 */ - background: #F6F6F6; - /* Fixes #205, black vertical borders separating items */ -} - -QStatusBar::item { - border: none; -} - -QStatusBar QToolTip { - background-color: #F6F6F6; - border: 1px solid #C1C1C1; - color: #F6F6F6; - /* Remove padding, for fix combo box tooltip */ - padding: 0px; - /* Reducing transparency to read better */ - opacity: 230; -} - -QStatusBar QLabel { - /* Fixes Spyder #9120, #9121 */ - background: transparent; -} - -/* QCheckBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcheckbox - ---------------------------------------------------------------------------- */ -QCheckBox { - color: black; - padding: 0px; - outline: none; - border: 1px solid transparent; - background-color: transparent; -} - -QCheckBox:focus { - border: 1px solid #ffe098; -} - -QCheckBox QWidget:disabled { - color: #A3A3A3; -} - -QCheckBox::indicator { - color: black; - background-color: #ffffff; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked { - background-color: #ffffff; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #ffb916; - image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QCheckBox::indicator:unchecked:disabled { - background-color: #F6F6F6; - image:url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QCheckBox::indicator:checked { - background-color: #ffffff; - /*border: 1px solid #C1C1C1; /* QRadioButton has the same color */ - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #ffb916; -} - -QCheckBox::indicator:checked:disabled { - background-color: #F6F6F6; - image: url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QCheckBox::indicator:indeterminate { - background-color: #ffffff; - border: 1px solid #C1C1C1; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:disabled { - background-color: #F6F6F6; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #ffb916; /* QRadioButton has the same color */ -} - -/* QGroupBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qgroupbox - ---------------------------------------------------------------------------- */ -QGroupBox { - font-weight: bold; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - padding: 2px; - margin-top: 10px; - margin-bottom: 4px; -} - -QGroupBox::title { - subcontrol-origin: margin; - subcontrol-position: top left; - left: 4px; - padding-left: 2px; - padding-right: 4px; - padding-top: 6px; -} - -QGroupBox::indicator { - color: black; - background-color: #f6f6f6; - border: 1px solid #C1C1C1; - width: 12px; - height: 12px; - border-radius:1px; -} - -QGroupBox::indicator:unchecked { - background-color: #f6f6f6; - border: 1px solid #C1C1C1; - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #ffb916; -} - -QGroupBox::indicator:unchecked:disabled { - background-color: #ffffff; - border: 1px solid #C1C1C1; -} - -QGroupBox::indicator:checked { - border: none; - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #ffb916; -} - -QGroupBox::indicator:checked:disabled { - background-color: #ffb916; -} - -/* QRadioButton ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton - ---------------------------------------------------------------------------- */ -QRadioButton { - background-color: transparent; - color: black; - border: none; - spacing: 4px; - padding-top: 4px; - padding-bottom: 4px; - outline: none; -} - -QRadioButton:focus { - border: 1px solid #ffe098; -} - -QRadioButton:disabled { - background-color: #f6f6f6; - color: #A3A3A3; -} - -QRadioButton QWidget { - background-color: transparent; - color: black; - spacing: 0px; - padding: 0px; - outline: none; - border: none; -} - -QRadioButton::indicator { - background-color: #f6f6f6; - border: 1px solid #C1C1C1; - border-radius: 6px; - margin-left: 0px; - height: 11px; - width: 11px; -} - -QRadioButton::indicator:unchecked { - /*image:url(qss:images_dark-light/radiobutton_dark.svg);*/ -} - -QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #ffb916; - border: 1px solid #ffb916; - border-radius: 6px; -} - -QRadioButton::indicator:unchecked:disabled { - /*image:url(qss:images_dark-light/radiobutton_light.svg);*/ - border: 1px solid #C1C1C1; -} - -QRadioButton::indicator:checked { - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #ffb916; - border: 1px solid #ffb916; - border-radius: 6px; - image:url(qss:images_dark-light/radiobutton_dark.svg); -} - -QRadioButton::indicator:checked:disabled { - outline: none; - background-color: #f6f6f6; - image:url(qss:images_dark-light/radiobutton_light.svg); -} - -/* QMenuBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenubar - ---------------------------------------------------------------------------- */ -QMenuBar { - background-color: #ffffff; - /*padding: 1px; - border: 0px solid rgba(0,0,0,140);*/ - color: black; - selection-background-color: #ffb916; -} - -QMenuBar:focus { - border: 1px solid #ffb916; -} - -QMenuBar::item { - background: transparent; - /*padding-left:5px; - padding-right: 5px; - padding-bottom: 1px; - padding-top: 1px;*/ -} - -QMenuBar::item:selected { - background: transparent; - border: 0px solid #C1C1C1; - background-color: #ffb916; -} - -QMenuBar::item:pressed { - /*padding: 2px; - padding-left: 10px; - padding-right: 10px;*/ - border: 0px solid #C1C1C1; - background-color: #ffb916; - color: black; - /*margin-bottom: 0px; - padding-bottom: 0px;*/ -} - -/* QMenu ------------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qmenu - ---------------------------------------------------------------------------- */ -QMenu { - border-bottom: 2px rgba(0,0,0,140); - border-right: 2px rgba(0,0,0,140); - color: black; - margin: 0px; - background-color: #ffffff; - selection-background-color: #ffb916; -} - -QMenu::separator { - height: 2px; - background-color: #f6f6f6; - margin-left: 30%; - margin-right: 30%; -} - -QMenu::item { - background-color: transparent; - padding: 2px 2px; /* make room for icon at left */ - /* Reserve space for selection border */ - border: 0px transparent #f6f6f6; -} - -QMenu::item:selected { - color: black; - background-color: #ffb916; -} - -QMenu::item:pressed { - background-color: #ffb916; -} - -QMenu::icon { - margin-left: 5px; - width: 14px; - height: 14px; -} - -QMenu::indicator { - margin-left: 2px; - margin-right: 2px; - padding: 0px; - width: 12px; - height: 12px; - /* non-exclusive indicator = check box style indicator (see QActionGroup::setExclusive) */ - /* exclusive indicator = radio button style indicator (see QActionGroup::setExclusive) */ -} - -QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #ffe098; - margin-left: -5px; - border: 5px solid #ffe098; - position: absolute; - border-radius: 0px; -} -QMenu::indicator:non-exclusive:unchecked { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { - border: none; - background: #ffb916; -} - -QMenu::indicator:non-exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_disabled.svg); -} - -QMenu::indicator:non-exclusive:checked { - image:url(qss:images_dark-light/checkbox_dark.svg); -} - -QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { - border: none; - background: #ffb916; -} - -QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_checked_disabled.svg); -} - -QMenu::indicator:non-exclusive:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:disabled { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:non-exclusive:indeterminate:focus, QMenu::indicator:non-exclusive:indeterminate:hover, QMenu::indicator:non-exclusive:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QMenu::indicator:exclusive:unchecked { - image: url(qss:images_dark-light/transparent.svg); -} - -QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { - border: none; - outline: none; - background: #ffb916; - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:unchecked:disabled { - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked { - border: none; - outline: none; - image: url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { - border: none; - outline: none; - background: #ffb916; - image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); -} - -QMenu::indicator:exclusive:checked:disabled { - outline: none; - image: url(qss:images_dark-light/radiobutton_dark.svg); -} - -QMenu::right-arrow { - margin: 5px; - padding-left: 12px; - image:url(qss:images_dark-light/right_arrow_darker.svg); - height: 12px; - width: 12px; - background-color: transparent; -} - -/* QAbstractItemView ------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QAbstractItemView { - alternate-background-color: #ababab; - color: black; - border: 1px solid #C1C1C1; - border-radius: 2px; -} - -QAbstractItemView QLineEdit { - padding: 2px; -} - -/* QAbstractScrollArea ---------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QAbstractScrollArea { - background-color: transparent; - border: 0px solid #C1C1C1; - border-radius: 0px; - /* fix #159 */ - padding: 0px; - /* remove min-height to fix #244 */ - color: black; -} - -QAbstractScrollArea:disabled { - color: #A3A3A3; -} - -/* QScrollArea ------------------------------------------------------------ - ---------------------------------------------------------------------------- -text input field disabled!!!!*/ -QScrollArea QWidget:disabled { - background-color: #F6F6F6; -} - -/* QScrollBar ------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qscrollbar - ---------------------------------------------------------------------------- */ -QScrollBar:horizontal { - height: 16px; - margin: 2px 16px 2px 16px; - border: 0px solid #C1C1C1; - border-radius: 1.9px; - background-color: #F6F6F6; -} - -QScrollBar:vertical { - background-color: #F6F6F6; - width: 16px; - margin: 16px 2px 16px 2px; - border: 0px solid #C1C1C1; - border-radius: 1.9px; -} - -QScrollBar::handle:horizontal { - background-color: #A3A3A3; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:hover { - background-color: #ffb916; - border: #f6f6f6; - border-radius: 1.9px; - min-width: 8px; -} - -QScrollBar::handle:horizontal:focus { - border: 1px solid #ffe098; -} - -QScrollBar::handle:vertical { - background-color: #A3A3A3; - border: 1px solid #C1C1C1; - min-height: 8px; - border-radius: 1.9px; -} - -QScrollBar::handle:vertical:hover { - background-color: #ffb916; - border: #f6f6f6; - border-radius: 1.9px; - min-height: 8px; -} - -QScrollBar::handle:vertical:focus { - border: 1px solid #ffe098; -} - -QScrollBar::add-line:horizontal { - border-image: url(qss:images_dark-light/right_arrow_dark.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { - border-image: url(qss:images_dark-light/right_arrow_dark.svg); - height: 9px; - width: 5px; - subcontrol-position: right; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical { - border-image: url(qss:images_dark-light/down_arrow_dark.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { - border-image: url(qss:images_dark-light/down_arrow_darker.svg); - height: 5px; - width: 9px; - subcontrol-position: bottom; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/left_arrow_dark.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { - border-image: url(qss:images_dark-light/left_arrow_darker.svg); - height: 9px; - width: 5px; - subcontrol-position: left; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical { - margin: 0px 0px 0px 0px; - border-image: url(qss:images_dark-light/up_arrow_dark.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { - border-image: url(qss:images_dark-light/up_arrow_darker.svg); - height: 5px; - width: 9px; - subcontrol-position: top; - subcontrol-origin: margin; -} - -QScrollBar::up-arrow:horizontal, QScrollBar::down-arrow:horizontal { - background: none; -} - -QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { - background: none; -} - -QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { - background: none; -} - -QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { - background: none; -} - -/* QTextEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-specific-widgets - - -report view ---------------------------------------------------------------------------- */ -QTextEdit { - background-color: #F6F6F6; - color: black; - border-radius: 1.9px; - border: 0px solid #C1C1C1; -} - -QTextEdit:focus { - border: 1px solid #ffe098; -} - -QTextEdit:selected { - background: #346792; - color: black; -} - -/* QPlainTextEdit --------------------------------------------------------- -Python ---------------------------------------------------------------------------- */ -QPlainTextEdit { - background-color: #f6f6f6; - color: black; - border-radius: 1.9px; - border: 0px solid #C1C1C1; -} - -QPlainTextEdit:focus { - border: 1px solid #ffe098; -} - -QPlainTextEdit:selected { - background: #ffb916; - color: black; -} - -/* QSizeGrip -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsizegrip - ---------------------------------------------------------------------------- */ -QSizeGrip { - background: transparent; - width: 12px; - height: 12px; - image:url(qss:images_dark-light/sizegrip_dark.svg); -} - -/* QStackedWidget --------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QStackedWidget { - padding: 0px; - border: 0px solid #C1C1C1; -} - -/* QToolBar --------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbar - ---------------------------------------------------------------------------- */ -QToolBar { - background-color: #F6F6F6; - border-bottom: 0px solid rgba(0,0,0,120); - padding: 1px; - font-weight: bold; - spacing: 1px; -} - -QToolBar:disabled { - /* Fixes #272 */ - background-color: #F6F6F6; -} - -QToolBar::handle:horizontal { - width: 8px; - margin: 3px 3px; - background-position: top right; - background-repeat: repeat-y; - background-image: url(qss:images_dark-light/Hmovetoolbar_dark.svg); -} - -QToolBar::handle:vertical { - height: 8px; - margin: 3px 3px; - background-position: left bottom; - background-repeat: repeat-x; - background-image: url(qss:images_dark-light/Vmovetoolbar_dark.svg); -} - -QToolBar::separator:horizontal { - width: 2px; - margin: 4px 4px; - background-color: transparent; -} - -QToolBar::separator:vertical { - height: 2px; - margin: 4px 4px; - background-color: transparent; -} - -/*The "show more" button (it can also be stylable with "QToolBarExtension" icon is not working Qproperty works but breaks when you move the toolbar see also */ -QToolButton#qt_toolbar_ext_button { -margin: 0px; -padding: 0px; -background-color: #A3A3A3; -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-repeat: none; -background-position: center center; -} - -QToolButton#qt_toolbar_ext_button:hover { -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-color: #ffb916; -} - -QToolButton#qt_toolbar_ext_button:on { -/*background-image: url(qss:images_dark-light/more_dark.svg);*/ -border-color: #f6f6f6; -background-color: #ffb916; -} - - -/* QAbstractSpinBox ------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractSpinBox, -QSpinBox { - background-color: #ffffff; - border: 1px solid transparent; - color: black; - /* This fixes 103, 111 */ - /* padding-top: 0px; - /* This fixes 103, 111 */ - /*padding-bottom: 0px; - /*padding-left: 4px; - /*padding-right: 4px; - border-radius: 1.9px;*/ - min-height: 1.7em; - /* min-width: 5px; removed to fix 109 */ -} - -QAbstractSpinBox:up-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - subcontrol-origin: border; - subcontrol-position: top right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-bottom: -1px;*/ -} - -QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { - image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); - /* height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::up-arrow:hover { - image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QAbstractSpinBox:down-button { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - subcontrol-origin: border; - subcontrol-position: bottom right; - border: 1px solid transparent; - border-top-left-radius: 0; - border-bottom-left-radius: 0; - /*margin: 1px;*/ - /*width: 12px; - /*margin-top: -1px;*/ -} - -QAbstractSpinBox::down-arrow, QAbstractSpinBox::down-arrow:disabled, QAbstractSpinBox::down-arrow:off { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - /*height: 8px; - width: 8px;*/ -} - -QAbstractSpinBox::down-arrow:hover { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QAbstractSpinBox:hover { - /*border: 1px solid #ffb916; - color: black;*/ -} - -QAbstractSpinBox:focus { - border: 1px solid #ffe098; -} - -QAbstractSpinBox:selected { - background: #ffe098; - /*color: black;*/ -} - -/* ------------------------------------------------------------------------ */ -/* DISPLAYS --------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QLabel ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe - ---------------------------------------------------------------------------- */ -QLabel { - background-color: transparent; - border: 0px solid #C1C1C1; - padding: 2px; - margin: 0px; - color: black; -} - -QLabel:disabled { - background-color: transparent; - border: 0px solid #C1C1C1; - color: #A3A3A3; -} - -QLabel[haslink="true"] { - color: orange; -} - - -/* QTextBrowser ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qabstractscrollarea - ---------------------------------------------------------------------------- */ -QTextBrowser { - background-color: #ffffff; - border: 1px solid #C1C1C1; - color: black; - border-radius: 1.9px; -} - -QTextBrowser:disabled { - background-color: #F6F6F6; - border: 1px solid #C1C1C1; - color: #A3A3A3; - border-radius: 1.9px; -} - -QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #ffb916; -} - -/* QGraphicsView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QGraphicsView { - background-color: transparent; - border: 0px solid #ffb916; - color: black; - border-radius: 0px; -} - -QGraphicsView:disabled { - background-color: #ffffff; - border: 0px solid #C1C1C1; - color: #A3A3A3; - border-radius: 0px; -} - -QGraphicsView:hover, QGraphicsView:!hover, QGraphicsView:selected, QGraphicsView:pressed { - border: 0px solid #ff00f7; -} - -/* QCalendarWidget -------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCalendarWidget { - border: 1px solid #C1C1C1; - border-radius: 1.9px; -} - -QCalendarWidget:disabled { - background-color: #A3A3A3; - color: #A3A3A3; -} - -/* QLCDNumber ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QLCDNumber { - background-color: #1aff00; - color: black; -} - -QLCDNumber:disabled { - background-color: #F6F6F6; - color: #A3A3A3; -} - -/* QProgressBar ----------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qprogressbar - ---------------------------------------------------------------------------- */ -QProgressBar { - background-color: #A3A3A3; - border: 1px solid #C1C1C1; - color: black; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar:disabled { - background-color: #ffffff; - border: 1px solid #C1C1C1; - color: #A3A3A3; - border-radius: 1.9px; - text-align: center; -} - -QProgressBar::chunk { - background-color: #ffb916; - color: #F6F6F6; - border-radius: 1.9px; -} - -QProgressBar::chunk:disabled { - background-color: #ffffff; - color: #f6f6f6; - border-radius: 1.9px; -} - -/* ------------------------------------------------------------------------ */ -/* BUTTONS ---------------------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QPushButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qpushbutton - ---------------------------------------------------------------------------- */ -QPushButton { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - color: black; - border: 1px solid #EDEDED; - border-bottom-color: #AFAFAF; /* simulates shadow under the button */ - border-radius: 4px; - padding: 2px; -} - -QPushButton:disabled { - background-color: #F6F6F6; - color: #A3A3A3; - -} - -QPushButton:checked { - background-color: #ffb916; - outline: none; -} - -QPushButton:checked:disabled { - background-color: #ffb916; - color: #f6f6f6; - outline: none; -} - -QPushButton:checked:selected { - background: #ffb916; -} - -QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); - color: black; -} - -QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffe098, stop:1 #ffb916 ); -} - -QPushButton:selected { - background: #ffe098; - color: black; -} - -QPushButton::menu-indicator { - subcontrol-origin: padding; - subcontrol-position: bottom right; - bottom: 4px; -} - -QDialogButtonBox QPushButton { - /* Issue # 194 # 248 - Special case of QPushButton inside dialogs, for better UI */ - min-width: 80px; -} - -/* QToolButton ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbutton - ---------------------------------------------------------------------------- */ -QToolButton { - background-color: transparent; - color: black; - border-radius: 1px; - padding: 0px; - outline: none; - border: none; - /* The subcontrols below are used only in the DelayedPopup mode */ - /* The subcontrols below are used only in the MenuButtonPopup mode */ - /* The subcontrol below is used only in the InstantPopup or DelayedPopup mode */ -} - -QToolButton:disabled { - background-color: transparent; - color: #A3A3A3; - border-radius: 1px; - padding: 0px; -} - -QToolButton:checked { - background-color: #ffb916; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:disabled { - background-color: #b65555; - color: #A3A3A3; - border-radius: 1.9px; - padding: 0px; - outline: none; -} - -QToolButton:checked:hover { - background-color: #ffb916; - color: black; -} - -QToolButton:checked:pressed { - background-color: #ffb916; -} - -QToolButton:checked:selected { - background: #ffe098; - color: black; -} - -QToolButton:hover { - background-color: #ffb916; - color: black; -} - -QToolButton:pressed { - background-color: #ffe098; -} - -QToolButton:selected { - background: #ffb916; - color: black; -} - -QToolButton[popupMode="0"] { - /* Only for DelayedPopup */ - padding-right: 20px; -} - -QToolButton[popupMode="1"] { - /* Only for MenuButtonPopup */ - padding-right: 20px; -} -QToolButton[popupMode="0"]::menu-button { - border: none; -} - -QToolButton[popupMode="0"]::menu-button:hover { - border: none; - border-left: 2px solid #fe0000; - border-radius: 0px; -} -QToolButton[popupMode="1"]::menu-button { - border: none; -} - -QToolButton[popupMode="1"]::menu-button:hover { - border: none; - border-left: 2px solid #e5ff00; - border-radius: 0px; -} - -QToolButton[popupMode="2"] { - /* Only for InstantPopup */ - padding-right: 20px; -} - -QToolButton::menu-button { - border-bottom: 0px solid #b2b2b2; - border-radius: 2px; - /* 16px width + 4px for border = 20px allocated above */ - width: 1.6ex; - padding: 2px; - border-radius: 2px; - border: 0px #000000; -} - -QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ - -} - -QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ -} - -QToolButton::menu-indicator { - /* Exclude a shift for better image */ - subcontrol-position: right bottom; - /* Shift it a bit */ -} - -QToolButton::menu-arrow { - image: url(qss:images_dark-light/more_arrow_dark.svg); - width: 1.5ex; - height: 1.5ex; - subcontrol-position: right bottom; - background: transparent; -} -QToolButton::menu-arrow:open { - subcontrol-position: right bottom; - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} -QToolButton::menu-arrow:hover { - width: 1.7ex; - height: 1.7ex; - image: url(qss:images_dark-light/more_arrow_dark.svg); -} - -/* QCommandLinkButton ----------------------------------------------------- - ---------------------------------------------------------------------------- */ -QCommandLinkButton { - background-color: transparent; - border: 1px solid #C1C1C1; - color: black; - border-radius: 1.9px; - padding: 0px; - margin: 0px; -} - -QCommandLinkButton:disabled { - background-color: transparent; - color: #A3A3A3; -} - -/* ------------------------------------------------------------------------ */ -/* INPUTS - NO FIELDS ----------------------------------------------------- */ -/* ------------------------------------------------------------------------ */ -/* QComboBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qcombobox - ---------------------------------------------------------------------------- */ -QComboBox { - border: 1px solid transparent; - background: #ffffff; - border-radius: 2px; - selection-background-color: #ffb916; - padding-left: 2px; - padding-right: 2px; - /* padding-right = 36; 4 + 16*2 See scrollbar size */ - /* changed to 4px to fix #239 */ - /* Fixes #103, #111 */ - min-height: 1.5em; - /* padding-top: 2px; removed to fix #132 */ - /* padding-bottom: 2px; removed to fix #132 */ - /* min-width: 75px; removed to fix #109 */ - /* Needed to remove indicator - fix #132 */ -} -QComboBox:editable { - background: #ffffff; -} -QComboBox QAbstractItemView { - border: 0px solid #C1C1C1; - border-radius: 0px; - background-color: #ffffff; - selection-background-color: #ffb916; -} - -QComboBox QAbstractItemView:hover { - background-color:#ffffff; - color: black; -} - -QComboBox QAbstractItemView:selected { - background: #ffb916; - color: black; -} - -QComboBox QAbstractItemView:alternate { - background: #f6f6f6; -} - -QComboBox:disabled { - background-color: #F6F6F6; - color: #A3A3A3; -} - -QComboBox:hover { - /*background-color: #ffb916;*/ - border: 1px solid #ffb916; -} - -QComboBox:focus { - border: 1px solid #ffe098; -} - -QComboBox:on { - selection-background-color: #ffe098; -} - -QComboBox::indicator { - border: none; - border-radius: 0px; - background-color: transparent; - selection-background-color: transparent; - color: transparent; - selection-color: #ffb916; - /* Needed to remove indicator - fix #132 */ -} - -QComboBox::indicator:alternate { - background: #f6f6f6; -} - -QComboBox::item { - /* Remove to fix #282, #285 and MR #288*/ - /*&:checked { - font-weight: bold; - } - - &:selected { - border: 0px solid transparent; - } - */ -} - -QComboBox::item:alternate { - background: #f6f6f6; -} - -QComboBox::drop-down { - subcontrol-origin: padding; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - subcontrol-position: top right; - width: 14px; - border-left: 1px solid transparent; -} -QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); -} - -QComboBox::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 10px; - width: 10px; -} - -QComboBox::down-arrow:on, QComboBox::down-arrow:hover, QComboBox::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - - -/*================================================================================================== -Tasks panel (custom FreeCAD class) -==================================================================================================*/ -Gui--PropertyEditor--PropertyEditor { - qproperty-groupTextColor: black; - qproperty-groupBackground: #f6f6f6; - border: 0px solid #C1C1C1; - -} - -/* Action group */ -QFrame[class="panel"] { -background-color: transparent; /* temporal (transparent background) */ - -} - -QSint--ActionGroup { -padding: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -margin: 0px; /* if not reset, it might create problems with QPushButtons and other elements */ -} - -/* Separator line */ -QSint--ActionGroup QFrame[height="1"], -QSint--ActionGroup QFrame[height="2"], -QSint--ActionGroup QFrame[height="3"], -QSint--ActionGroup QFrame[width="1"], -QSint--ActionGroup QFrame[width="2"], -QSint--ActionGroup QFrame[width="3"] { -border-color: rgba(0,0,0,60); -} - -/* Panel header */ -QSint--ActionGroup QFrame[class="header"] { -border-top: 1px solid #C1C1C1; -border-left: 1px solid #C1C1C1; -border-right: 1px solid #C1C1C1; -background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); -border-top-left-radius: 3px; -border-top-right-radius: 3px; -border-bottom-left-radius: 0px; -border-bottom-right-radius: 0px; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); -} - -QSint--ActionGroup QToolButton[class="header"] { -color: black; /* Task Panel Header text color */ -text-align: left; -font-weight: bold; -border: none; -margin: 0px; -padding: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_dark.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"] { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_dark.svg); -background-repeat: none; -background-position: center center; -padding: 0px; -margin: 0px; -} - -QSint--ActionGroup QFrame[class="header"] QLabel[fold="true"]:hover { -background-color: transparent; -background-image: url(qss:images_dark-light/up_arrow_darker.svg); -} - -QSint--ActionGroup QFrame[class="content"] { -background-color: transparent; /* Task Panel background color */ -margin: 0px; -padding: 0px; -border-bottom: 1px solid #C1C1C1; -border-left: 1px solid #C1C1C1; -border-right: 1px solid #C1C1C1; -border-top-left-radius: 0px; -border-top-right-radius: 0px; -border-bottom-left-radius: 3px; -border-bottom-right-radius: 3px; -} - -QSint--ActionGroup QFrame[class="content"] > QWidget { -background-color: #F6F6F6; /* Task Panel background color */ -} - -/* Fixs for tabs inside Task Panel */ -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #ffb916; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #ffb916; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #ffb916; /* same as Task Panel background color */ -} - -QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #ffb916; /* same as Task Panel background color */ -} - -/* Fix for buttons with icons that showed cropped (still not happy with result) */ -QSint--ActionGroup QFrame[class="content"] > QWidget > QPushButton { -padding: 2px; /* bigger padding crops text and icons... */ -margin: 0px; -} - -/* Fix for lists inside task panels */ /* sketcher constraints list */ -QSint--ActionGroup QFrame[class="content"] QTreeView, -QSint--ActionGroup QFrame[class="content"] QListView, -QSint--ActionGroup QFrame[class="content"] QTableView { -color: black; -background-color: #ffffff; -} - - -/* found inside Part Design Workbench and "make a draft on a face" Task panel options */ -QSint--ActionGroup QFrame[class="content"] QToolButton { - color: black; - text-align: center; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - border: 0px solid #C1C1C1; - padding: 1px 1px; /* different than regular QPushButton */ - margin: 0px; /* different than regular QPushButton */ - min-height: 16px; /* same as QTabBar QPushButton min-width */ - border-radius: 1px; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); - -} -QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #ffe098 -; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, -QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { - color: #A3A3A3; - background-color: #ffffff; -} - -QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffb916 , stop:1 #ffe098); - -} - -/* QSlider ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider - ---------------------------------------------------------------------------- */ -QSlider:disabled { - background: #F6F6F6; -} - -QSlider:focus { - /*border: 1px solid #ffe098;*/ -} - -QSlider::groove:horizontal { - background: #F6F6F6; - border: 1px solid #C1C1C1; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::groove:vertical { - background: #F6F6F6; - border: 1px solid #C1C1C1; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical { - background: #ffb916; - border: 1px solid #C1C1C1; - width: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::add-page:vertical :disabled { - background: #f6f6f6; -} - -QSlider::sub-page:horizontal { - background: #ffb916; - border: 1px solid #C1C1C1; - height: 4px; - margin: 0px; - border-radius: 1.9px; -} - -QSlider::sub-page:horizontal:disabled { - background: #ffb916; -} - -QSlider::handle:horizontal { - background: #C1C1C1; - border: 1px solid #C1C1C1; - width: 10px; - height: 8px; - margin: -4px 0px; - border-radius: 6px; -} - -QSlider::handle:horizontal:hover { - background: #ffb916; - border: 1px solid #C1C1C1; -} - -QSlider::handle:horizontal:focus { - border: 1px solid #C1C1C1; - background: #ffe098; -} - -QSlider::handle:vertical { - background: #C1C1C1; - border: 1px solid #C1C1C1; - width: 10px; - height: 8px; - margin: 0px -4px; - border-radius: 6px; -} - -QSlider::handle:vertical:hover { - background: #ffb916; - border: 1px solid #C1C1C1; -} - -QSlider::handle:vertical:focus { - border: 1px solid #ffe098; -} - -/* QLineEdit -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlineedit - ---------------------------------------------------------------------------- */ -QLineEdit { - background-color: #ffffff; - padding-top: 2px; - /* This QLineEdit fix 103, 111 */ - padding-bottom: 2px; - /* This QLineEdit fix 103, 111 */ - padding-left: 4px; - padding-right: 4px; - border-style: solid; - border: 1px solid #C1C1C1; - border-radius: 2px; - color: black; -} - -QLineEdit:disabled { - background-color: #F6F6F6; - color: #A3A3A3; -} - -QLineEdit:hover { - border: 1px solid #ffb916; - color: black; -} - -QLineEdit:focus { - border: 2px solid #ffe098; -} - -QLineEdit:selected { - background-color: #ffb916; - color: black; -} - -/* QTabWiget -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabWidget { - padding: 2px; - selection-background-color: #ffb916; -} - -QTabWidget QWidget { - /* Fixes #189 */ - border-radius: 0px; -} - -QTabWidget::pane { - margin: 0px; - /* Fixes double border inside pane with pyqt5 */ - padding: 0px; -} - -QTabWidget::pane:selected { - background-color: #ffb916; - border: 1px solid #C1C1C1; -} - -QTabWidget::pane:top { - top: -1px; - border-top: 1px solid #A3A3A3; -} - -QTabWidget::pane:bottom { - bottom: -1px; - border-bottom: 1px solid #A3A3A3; -} - -QTabWidget::pane:left { - right: -1px; - border-right: 1px solid #A3A3A3; -} - -QTabWidget::pane:right { - left: -1px; - border-left: 1px solid #A3A3A3; -} -/* QTabBar ---------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar - ---------------------------------------------------------------------------- */ -QTabBar, QDockWidget QTabBar { - qproperty-drawBase: 0; - /* left: 5px; move to the right by 5px - removed for fix */ -} - -QTabBar::close-button, QDockWidget QTabBar::close-button { - border: 0; - margin: 0; - padding: 1px; - image: url(qss:images_dark-light/close_dark.svg); -} - -QTabBar::close-button:hover, QDockWidget QTabBar::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); - /*background-color: rgba(255, 0, 0, 0.3);*/ -} - -QTabBar::close-button:pressed, QDockWidget QTabBar::close-button:pressed { - image: url(qss:images_dark-light/close_.svg); -} - -QTabBar::tab, QDockWidget QTabBar::tab { - /* !selected and disabled ----------------------------------------- */ - /* selected ------------------------------------------------------- */ - padding: 4px; -} - -QTabBar::tab:top:selected:disabled, QDockWidget QTabBar::tab:top:selected:disabled { - color: #797979; -} - -QTabBar::tab:bottom:selected:disabled, QDockWidget QTabBar::tab:bottom:selected:disabled { - color: #797979; -} - -QTabBar::tab:left:selected:disabled, QDockWidget QTabBar::tab:left:selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:right:selected:disabled, QDockWidget QTabBar::tab:right:selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:top:!selected:disabled, QDockWidget QTabBar::tab:top:!selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:bottom:!selected:disabled, QDockWidget QTabBar::tab:bottom:!selected:disabled { - color: #A0A0A0; - -} - -QTabBar::tab:left:!selected:disabled, QDockWidget QTabBar::tab:left:!selected:disabled { - color: #A0A0A0; - -} - -QTabBar::tab:right:!selected:disabled, QDockWidget QTabBar::tab:right:!selected:disabled { - color: #A0A0A0; -} - -QTabBar::tab:top:!selected, QDockWidget QTabBar::tab:top:!selected { - color: #A0A0A0; -} - -QTabBar::tab:bottom:!selected, QDockWidget QTabBar::tab:bottom:!selected { - color: #A0A0A0; -} - -QTabBar::tab:left:!selected, QDockWidget QTabBar::tab:left:!selected { - color: #A0A0A0; -} - -QTabBar::tab:right:!selected, QDockWidget QTabBar::tab:right:!selected { - color: #A0A0A0; -} - -QTabBar::tab:top, QDockWidget QTabBar::tab:top { - color: #A0A0A0; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-bottom: 1px solid #A3A3A3; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { - color: black; - border-top: 4px solid #ffb916; /* selection color */ - border-bottom: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #A3A3A3; - border-right: 1px solid #A3A3A3; - } - -QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #ffb916;*/ - border: 0px solid #ffb916; - background-color: #ffb916; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; - color: black; -} - -QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { - color: #A0A0A0; - margin-left: 0px; - padding-left: 4px; - padding-right: 4px; - padding-top: 2px; - padding-bottom: 2px; - min-width: 5px; - border-top: 1px solid #A3A3A3; /* same as tab content background color */ - border-radius: 0px; -} - -QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { - color: black; - border-bottom: 4px solid #ffb916; /* selection color */ - border-top: 1px solid transparent; /* same as tab content background color */ - border-left: 1px solid #A3A3A3; - border-right: 1px solid #A3A3A3; - -} - -QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #ffb916;*/ - border: 0px solid #ffb916; - background-color: #ffb916; - /* Fixes spyder-ide/spyder#9766 and #243 */ - padding-left: 3px; - padding-right: 3px; - color: black; -} - -QTabBar::tab:left, QDockWidget QTabBar::tab:left { - background-color: #F6F6F6; - margin-top: 2px; - - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - border-radius: 4px; - min-height: 5px; -} - -QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { - background-color: #F6F6F6; - border: 0px solid #ffe098; -} - -QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #ffb916; - background-color: #ffb916; - /* Fixes different behavior #271 */ - margin-right: 0px; - padding-right: -1px; - color: black; -} - -QTabBar::tab:right, QDockWidget QTabBar::tab:right { - background-color: #F6F6F6; - margin-top: 2px; - padding-left: 2px; - padding-right: 2px; - padding-top: 4px; - padding-bottom: 4px; - min-height: 5px; - border: 10px; -} - -QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { - background-color: #F6F6F6; - border: 0px solid #ffe098; -} - -QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #ffb916; - background-color: #ffb916; - /* Fixes different behavior #271 */ - margin-left: 0px; - padding-left: 0px; - color: black; -} - -QTabBar QToolButton, QDockWidget QTabBar QToolButton { - /* Fixes #136 */ - background-color: #F6F6F6; - height: 12px; - width: 12px; -} - -QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #ffb916; - background-color: #ffb916; -} - -QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #ffb916; - background-color: #ffb916; - color: black; -} - -QTabBar QToolButton::left-arrow:enabled, QDockWidget QTabBar QToolButton::left-arrow:enabled { - image: url(qss:images_dark-light/left_arrow_darker.svg); -} - -QTabBar QToolButton::left-arrow:disabled, QDockWidget QTabBar QToolButton::left-arrow:disabled { - image: url(qss:images_dark-light/left_arrow_disabled_dark.svg); -} - -QTabBar QToolButton::right-arrow:enabled, QDockWidget QTabBar QToolButton::right-arrow:enabled { - image: url(qss:images_dark-light/right_arrow_darker.svg); -} - -QTabBar QToolButton::right-arrow:disabled, QDockWidget QTabBar QToolButton::right-arrow:disabled { - image: url(qss:images_dark-light/right_arrow_disabled_dark.svg); -} - -/* QDockWiget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QDockWidget { - background-color: #F6F6F6; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - titlebar-close-icon: url(qss:images_dark-light/transparent.svg); - titlebar-normal-icon: url(qss:images_dark-light/transparent.svg); -} - -QDockWidget::title { - /* Better size for title bar */ - padding: 3px; - spacing: 4px; - border: none; - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - text-align: center; - font-weight: bold; -} - -QDockWidget::close-button { - icon-size: 10px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::close-button:hover { - image: url(qss:images_dark-light/close_red.svg); -} - -QDockWidget::close-button:pressed { - image: url(qss:images_dark-light/close_dark.svg); -} - -QDockWidget::float-button { - icon-size: 12px; - border: none; - background: transparent; - background-image: transparent; - border: 0; - margin: 0; - padding: 0; - image: url(qss:images_dark-light/undock_dark.svg); -} - -QDockWidget::float-button:hover { - /*background-color: #ffb916;*/ - image: url(qss:images_dark-light/undock_blue.svg); -} - -QDockWidget::float-button:pressed { - image: url(qss:images_dark-light/undock_dark.svg); -} - -/* QTreeView QListView QTableView ----------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtreeview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qlistview -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtableview - ---------------------------------------------------------------------------- */ -QTreeView::branch { - background: transparent; -} - -QTreeView::branch:has-siblings:!adjoins-item { - border-image: url(qss:images_dark-light/branch_vline_dark.svg) 0; -} - -QTreeView::branch:has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_more_dark.svg) 0; -} - -QTreeView::branch:!has-children:!has-siblings:adjoins-item { - border-image: url(qss:images_dark-light/branch_end_dark.svg) 0; -} - -QTreeView::branch:closed:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_closed_dark.svg) 0; -} - -QTreeView::branch:has-children:!has-siblings:closed { - border-image: url(qss:images_dark-light/branch_end_closed_dark.svg) 0; -} - -QTreeView::branch:open:has-children:has-siblings { - border-image: url(qss:images_dark-light/branch_more_open_dark.svg) 0; -} - -QTreeView::branch:open:has-children:!has-siblings { - border-image: url(qss:images_dark-light/branch_end_open_dark.svg) 0; -} - -QTreeView::indicator:checked, -QListView::indicator:checked, -QTableView::indicator:checked, -QColumnView::indicator:checked { - image: url(qss:images_dark-light/checkbox_dark.svg); -} - -QTreeView::indicator:checked:hover, QTreeView::indicator:checked:focus, QTreeView::indicator:checked:pressed, -QListView::indicator:checked:hover, -QListView::indicator:checked:focus, -QListView::indicator:checked:pressed, -QTableView::indicator:checked:hover, -QTableView::indicator:checked:focus, -QTableView::indicator:checked:pressed, -QColumnView::indicator:checked:hover, -QColumnView::indicator:checked:focus, -QColumnView::indicator:checked:pressed { - image: url(qss:images_dark-light/checkbox_light_hover.svg); -} - -QTreeView::indicator:unchecked, -QListView::indicator:unchecked, -QTableView::indicator:unchecked, -QColumnView::indicator:unchecked { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:unchecked:hover, QTreeView::indicator:unchecked:focus, QTreeView::indicator:unchecked:pressed, -QListView::indicator:unchecked:hover, -QListView::indicator:unchecked:focus, -QListView::indicator:unchecked:pressed, -QTableView::indicator:unchecked:hover, -QTableView::indicator:unchecked:focus, -QTableView::indicator:unchecked:pressed, -QColumnView::indicator:unchecked:hover, -QColumnView::indicator:unchecked:focus, -QColumnView::indicator:unchecked:pressed { - image: url(qss:images_dark-light/checkbox_unchecked_hover_dark.svg); -} - -QTreeView::indicator:indeterminate, -QListView::indicator:indeterminate, -QTableView::indicator:indeterminate, -QColumnView::indicator:indeterminate { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView::indicator:indeterminate:hover, QTreeView::indicator:indeterminate:focus, QTreeView::indicator:indeterminate:pressed, -QListView::indicator:indeterminate:hover, -QListView::indicator:indeterminate:focus, -QListView::indicator:indeterminate:pressed, -QTableView::indicator:indeterminate:hover, -QTableView::indicator:indeterminate:focus, -QTableView::indicator:indeterminate:pressed, -QColumnView::indicator:indeterminate:hover, -QColumnView::indicator:indeterminate:focus, -QColumnView::indicator:indeterminate:pressed { - image: url(qss:images_dark-light/checkbox_indeterminate_dark.svg); -} - -QTreeView, -QListView, -QTableView, -QColumnView { - background-color: #F6F6F6; /* background of a lot of stuff including spreadsheets.*/ - border: 0px solid #C1C1C1; - color: black; - gridline-color: #A3A3A3; - border-radius: 0px; -} - -QTableView, -QListView { - background-color: rgba(229, 229, 229, 0.7); /* background of a lot of stuff including spreadsheets.*/ -} - - -QTreeView:disabled, -QListView:disabled, -QTableView:disabled, -QColumnView:disabled { - background-color: #ffffff; - color: #A3A3A3; -} - -QTreeView:selected, -QListView:selected, -QTableView:selected, -QColumnView:selected { - background-color: #ffb916; - color: black; -} - -QTreeView:focus, -QListView:focus, -QTableView:focus, -QColumnView:focus { - border: 1px solid #ffe098; -} - -QTreeView::item:pressed, -QListView::item:pressed, -QTableView::item:pressed, -QColumnView::item:pressed { - background-color: #ffb916; -} - -QTreeView::item:selected:active, -QListView::item:selected:active, -QTableView::item:selected:active, -QColumnView::item:selected:active { - background-color: #ffb916; -} - -QTreeView::item:selected:!active, -QListView::item:selected:!active, -QTableView::item:selected:!active, -QColumnView::item:selected:!active { - color: black; - background-color: #A3A3A3; -} - -QTreeView::item:!selected:hover, -QListView::item:!selected:hover, -QTableView::item:!selected:hover, -QColumnView::item:!selected:hover { - outline: 0; - color: black; - background-color: #ffb916; -} - -QTableCornerButton::section { - background-color: #F6F6F6; - border: 1px transparent #C1C1C1; - border-radius: 0px; -} - -QTableView::item { - color: black; -} -QTableView { - /*qproperty-AliasedCellBackgroundColor: #f700ff;*/ - /*qproperty-aliasBgColor: #f700ff;*/ -} - -/* QHeaderView ------------------------------------------------------------ - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qheaderview - ---------------------------------------------------------------------------- */ -QHeaderView { - background-color: transparent; - text-align: center; -} - -QHeaderView:disabled { - background-color: #F6F6F6; - color: rgb(174, 174, 174); -} - -QHeaderView::section { - background-color: qlineargradient(x1:0, y1:0.3, x2:0, y2:1, stop:0 #E2E2E2, stop:1 #EDEDED); - color: black; - border: 1px solid #C1C1C1; - font-size: 13px; - font-weight: bold; -} - -QHeaderView::section::horizontal { - padding-top: 1px; - padding-bottom: 1px; - padding-left: 5px; - padding-right: 0px; -} - -QHeaderView::section::horizontal::first, QHeaderView::section::horizontal::only-one { - border-left: 0px solid #C1C1C1; -} - -QHeaderView::section::horizontal:disabled { - color: #A3A3A3; -} - -QHeaderView::section::vertical { - padding-top: 1px; - padding-bottom: 0; - padding-left: 1px; - padding-right: 0px; - border-top: 2px solid #C1C1C1; -} - -QHeaderView::section::vertical::first, QHeaderView::section::vertical::only-one { - border-top: 2px solid #C1C1C1; -} - -QHeaderView::section::vertical:disabled { - border-top: 2px solid #C1C1C1; -} - -QHeaderView::down-arrow { - /* Those settings (border/width/height/background-color) solve bug */ - /* transparent arrow background and size */ - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/down_arrow_dark.svg); -} - -QHeaderView::up-arrow { - background-color: transparent; - border: none; - height: 12px; - width: 12px; - padding-left: 2px; - padding-right: 2px; - image: url(qss:images_dark-light/up_arrow_dark.svg); -} - -/* QToolBox -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtoolbox -used in PATH - ---------------------------------------------------------------------------- */ -QToolBox { - padding: 0px; - border: 1px solid #A3A3A3; - border-radius: 4px; - background-color: transparent; -} - -QToolBox:selected { - padding: 0px; - border: 0px solid #ffb916; -} - -QToolBox::tab { - background-color: transparent; - border: 0px solid #A3A3A3; - color: black; - background-image: url(qss:images_dark-light/down_arrow_darker.svg); - background-repeat: none; - background-position: center left; -} - -QToolBox::tab:disabled { - color: #A3A3A3; -} - -QToolBox::tab:selected { - background-color: #A3A3A3; - background-image: url(qss:images_dark-light/transparent.svg); - padding-right: 5px; - background-repeat: none; -} - -QToolBox::tab:selected:disabled { - background-color: #A3A3A3; - border-bottom: 0px solid #cccccc; - color: black; -} - -QToolBox::tab:!selected { - -} - -QToolBox::tab:!selected:disabled { - background-color: #F6F6F6; -} - -QToolBox::tab:hover { - background-color: #ffb916; - } - -QToolBox QScrollArea QWidget QWidget { - padding: 0px; - border: 0px; - background-color: transparent; -} - -/* QFrame ----------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qframe -https://doc.qt.io/qt-5/qframe.html#-prop -https://doc.qt.io/qt-5/qframe.html#details -https://stackoverflow.com/questions/14581498/qt-stylesheet-for-hline-vline-color - ---------------------------------------------------------------------------- */ -/* (dot) .QFrame fix #141, #126, #123 */ -.QFrame { - border-radius: 0px; - border: 0px solid #C1C1C1; - background-color: #A3A3A3; - /* No frame */ - /* HLine */ - /* HLine */ -} - -.QFrame[frameShape="0"] { - border-radius: 1.9px; - border: 1px solid #C1C1C1; -} - -.QFrame[frameShape="4"] { - max-height: 1px; - border: none; - background-color: #f6f6f6; -} - -.QFrame[frameShape="5"] { - max-width: 1px; - border: none; - background-color: #F6F6F6; -} - -/* QSplitter -------------------------------------------------------------- - -https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qsplitter - ----------------------------------------------------------------------------*/ -QSplitterHandle:hover { /* to fix bug about hovering on splitters https://bugreports.qt.io/browse/QTBUG-13768 */ - -} - -QSplitter::handle { - margin: 0px 0px; - padding: 0px; -} - -QSplitter::handle:horizontal { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - width: 1px; -} - -QSplitter::handle:vertical { - background-image: none; - background-position: center center; - background-repeat: none; - margin: 2px 2px 2px 2px; - height: 1px; -} -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #ffb916, stop:0.8 transparent); - background-position: center center; - background-repeat: none; - } - -QSplitter::handle:vertical:hover { - background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-position: center center; - background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #ffb916, stop:0.8 transparent); -} - -/* QDateEdit, QDateTimeEdit ----------------------------------------------- - ---------------------------------------------------------------------------- */ -QDateEdit, QDateTimeEdit { - selection-background-color: #ffb916; - border-style: solid; - border: 1px solid #C1C1C1; - border-radius: 1.9px; - /* This fixes 103, 111 */ - padding-top: 2px; - /* This fixes 103, 111 */ - padding-bottom: 2px; - padding-left: 4px; - padding-right: 4px; - min-width: 10px; -} - -QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #ffb916; -} - -QDateEdit::drop-down, QDateTimeEdit::drop-down { - subcontrol-origin: padding; - subcontrol-position: top right; - width: 12px; - border-left: 1px solid #C1C1C1; -} - -QDateEdit::down-arrow, QDateTimeEdit::down-arrow { - image: url(qss:images_dark-light/down_arrow_disabled_dark.svg); - height: 8px; - width: 8px; -} - -QDateEdit::down-arrow:on, QDateEdit::down-arrow:hover, QDateEdit::down-arrow:focus, QDateTimeEdit::down-arrow:on, QDateTimeEdit::down-arrow:hover, QDateTimeEdit::down-arrow:focus { - image: url(qss:images_dark-light/down_arrow_darker.svg); -} - -QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { - background-color: #F6F6F6; - border-radius: 2px; - border: 1px solid #C1C1C1; - selection-background-color: #ffb916; -} - -/* QAbstractView ---------------------------------------------------------- - ---------------------------------------------------------------------------- */ -QAbstractView:hover { - border: 1px solid #ffb916; - color: black; -} - -QAbstractView:selected { - background: #ffb916; - color: black; -} - -/* PlotWidget ------------------------------------------------------------- - ---------------------------------------------------------------------------- */ -PlotWidget { - /* Fix cut labels in plots #134 */ - padding: 0px; -} - -/*================================================================================================== -SKETCHER -==================================================================================================*/ - -Gui--StatefulLabel[state="empty_sketch"] { - color : rgba(255,255,255,127); /* 50% opacity white */ -} -Gui--StatefulLabel[state="under_constrained"] { - color : rgba(255,255,255,255); /* White */ -} -Gui--StatefulLabel[state="conflicting_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="malformed_constraints"] { - color : rgba(255,0,0,255); /* Red */ -} -Gui--StatefulLabel[state="redundant_constraints"] { - color : rgba(255,69,0,255); /* Orange red */ -} -Gui--StatefulLabel[state="partially_redundant_constraints"] { - color : rgba(65,105,225,255); /* Royal blue */ -} -Gui--StatefulLabel[state="solver_failed"] { - color : rgba(255,0,0,255); /* Red */ - font-weight: bold; -} -Gui--StatefulLabel[state="fully_constrained"] { - color : rgba(0,255,0,255); /* Green */ - font-weight: bold; -} -Gui--UrlLabel { - color : rgba(0,91,255,255); /* Deep sky blue */ - text-decoration : underline; -} diff --git a/src/Gui/Stylesheets/Light-pink.qss b/src/Gui/Stylesheets/Light.qss similarity index 91% rename from src/Gui/Stylesheets/Light-pink.qss rename to src/Gui/Stylesheets/Light.qss index 26e4aa793d..dc467f89c2 100644 --- a/src/Gui/Stylesheets/Light-pink.qss +++ b/src/Gui/Stylesheets/Light.qss @@ -17,8 +17,8 @@ INSTALLATION WHEN NECESSARY ============================================================================================================ TO MODIFY USE THESE COLORS: - #f892ff - #ffbff3 + @ThemeAccentColor1 + @ThemeAccentColor2 See Qt documentation: @@ -87,7 +87,7 @@ Gui--PropertyEditor--PropertyEditor QComboBox { /* fix for column items background when a link is present */ Gui--PropertyEditor--PropertyEditor > QWidget > QFrame:focus { - background-color: #f892ff; /* same as focused background color */ + background-color: @ThemeAccentColor1; /* same as focused background color */ } /* hack to hide weird redundant information inside cells with links and no editable data (but editable via "..." button) */ @@ -125,24 +125,24 @@ QWidget { border: 0px solid #C1C1C1; padding: 0px; color: black; - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; selection-color: black; } QWidget:disabled { color: #A3A3A3; - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; selection-color: #A3A3A3; } QWidget::item:selected { - background-color: #f892ff + background-color: @ThemeAccentColor1 ; } /* Causes issue with colorselector. QWidget::item:hover:!selected { - background-color: #f892ff; + background-color: @ThemeAccentColor1; }*/ /* QMainWindow ------------------------------------------------------------ @@ -159,14 +159,14 @@ QMainWindow::separator { } QMainWindow::separator:vertical:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #f892ff , stop:0.8 transparent); - /*background-color: #f892ff;*/ + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/splitter_vertical_dark.svg); } QMainWindow::separator:horizontal:hover { - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #f892ff , stop:0.8 transparent); - /*background-color: #f892ff;*/ + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/splitter_horizontal_dark.svg); } @@ -174,14 +174,14 @@ QMainWindow::separator:horizontal { width: 4px; margin-top: 0.1px; margin-bottom: 0.1px; - /* image: url(qss:images_dark-light/splitter_horizontal_light.svg);*/ + /* image: url(qss:images_dark-light/splitter_horizontal_light.svg);*/ } QMainWindow::separator:vertical { height: 4px; margin-left: 0.1px; margin-right: 0.1px; - /* image: url(qss:images_dark-light/splitter_vertical_light.svg);*/ + /* image: url(qss:images_dark-light/splitter_vertical_light.svg);*/ } /* QToolTip --------------------------------------------------------------- @@ -244,7 +244,7 @@ QCheckBox { } QCheckBox:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } QCheckBox QWidget:disabled { @@ -265,7 +265,7 @@ QCheckBox::indicator:unchecked { } QCheckBox::indicator:unchecked:hover, QCheckBox::indicator:unchecked:focus, QCheckBox::indicator:unchecked:pressed { - background-color: #f892ff; + background-color: @ThemeAccentColor1; image:url(qss:images_dark-light/checkbox_unchecked_dark.svg); } @@ -281,7 +281,7 @@ QCheckBox::indicator:checked { } QCheckBox::indicator:checked:hover, QCheckBox::indicator:checked:pressed { - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QCheckBox::indicator:checked:disabled { @@ -301,7 +301,7 @@ QCheckBox::indicator:indeterminate:disabled { } QCheckBox::indicator:indeterminate:hover, QCheckBox::indicator:indeterminate:pressed { - background-color: #f892ff; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor1; /* QRadioButton has the same color */ } /* QGroupBox -------------------------------------------------------------- @@ -343,7 +343,7 @@ QGroupBox::indicator:unchecked { } QGroupBox::indicator:unchecked:hover, QGroupBox::indicator:unchecked:focus, QGroupBox::indicator:unchecked:pressed { - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:unchecked:disabled { @@ -357,11 +357,11 @@ QGroupBox::indicator:checked { } QGroupBox::indicator:checked:hover, QGroupBox::indicator:checked:focus, QGroupBox::indicator:checked:pressed { - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QGroupBox::indicator:checked:disabled { - background-color: #f892ff; + background-color: @ThemeAccentColor1; } /* QRadioButton ----------------------------------------------------------- @@ -380,7 +380,7 @@ QRadioButton { } QRadioButton:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } QRadioButton:disabled { @@ -411,8 +411,8 @@ QRadioButton::indicator:unchecked { } QRadioButton::indicator:unchecked:hover, QRadioButton::indicator:unchecked:pressed { - background-color: #f892ff; - border: 1px solid #f892ff; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; } @@ -426,8 +426,8 @@ QRadioButton::indicator:checked { } QRadioButton::indicator:checked:hover, QRadioButton::indicator:checked:pressed { - background-color: #f892ff; - border: 1px solid #f892ff; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; border-radius: 6px; image:url(qss:images_dark-light/radiobutton_dark.svg); } @@ -448,16 +448,16 @@ QMenuBar { /*padding: 1px; border: 0px solid rgba(0,0,0,140);*/ color: black; - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; } QMenuBar:focus { - border: 1px solid #f892ff; + border: 1px solid @ThemeAccentColor1; } QMenuBar::item { background: transparent; - /*padding-left:5px; + /*padding-left:5px; padding-right: 5px; padding-bottom: 1px; padding-top: 1px;*/ @@ -466,7 +466,7 @@ QMenuBar::item { QMenuBar::item:selected { background: transparent; border: 0px solid #C1C1C1; - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QMenuBar::item:pressed { @@ -474,9 +474,9 @@ QMenuBar::item:pressed { padding-left: 10px; padding-right: 10px;*/ border: 0px solid #C1C1C1; - background-color: #f892ff; + background-color: @ThemeAccentColor1; color: black; - /*margin-bottom: 0px; + /*margin-bottom: 0px; padding-bottom: 0px;*/ } @@ -491,7 +491,7 @@ QMenu { color: black; margin: 0px; background-color: #ffffff; - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; } QMenu::separator { @@ -510,11 +510,11 @@ QMenu::item { QMenu::item:selected { color: black; - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QMenu::item:pressed { - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QMenu::icon { @@ -534,9 +534,9 @@ QMenu::indicator { } QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #ffbff3; + background: @ThemeAccentColor2; margin-left: -5px; - border: 5px solid #ffbff3; + border: 5px solid @ThemeAccentColor2; position: absolute; border-radius: 0px; } @@ -546,7 +546,7 @@ QMenu::indicator:non-exclusive:unchecked { QMenu::indicator:non-exclusive:unchecked:hover, QMenu::indicator:non-exclusive:unchecked:focus, QMenu::indicator:non-exclusive:unchecked:pressed { border: none; - background: #f892ff; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:unchecked:disabled { @@ -559,11 +559,11 @@ QMenu::indicator:non-exclusive:checked { QMenu::indicator:non-exclusive:checked:hover, QMenu::indicator:non-exclusive:checked:focus, QMenu::indicator:non-exclusive:checked:pressed { border: none; - background: #f892ff; + background: @ThemeAccentColor1; } QMenu::indicator:non-exclusive:checked:disabled { - image:url(qss:images_dark-light/checkbox_dark.svg); + image:url(qss:images_dark-light/checkbox_checked_disabled.svg); } QMenu::indicator:non-exclusive:indeterminate { @@ -585,7 +585,7 @@ QMenu::indicator:exclusive:unchecked { QMenu::indicator:exclusive:unchecked:hover, QMenu::indicator:exclusive:unchecked:focus, QMenu::indicator:exclusive:unchecked:pressed { border: none; outline: none; - background: #f892ff; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); } @@ -602,7 +602,7 @@ QMenu::indicator:exclusive:checked { QMenu::indicator:exclusive:checked:hover, QMenu::indicator:exclusive:checked:focus, QMenu::indicator:exclusive:checked:pressed { border: none; outline: none; - background: #f892ff; + background: @ThemeAccentColor1; image: url(qss:images_dark-light/checkbox_unchecked_dark.svg); } @@ -652,7 +652,7 @@ QAbstractScrollArea { } QAbstractScrollArea:disabled { - color: #BABABA; + color: #A3A3A3; } /* QScrollArea ------------------------------------------------------------ @@ -692,14 +692,14 @@ QScrollBar::handle:horizontal { } QScrollBar::handle:horizontal:hover { - background-color: #f892ff; + background-color: @ThemeAccentColor1; border: #f6f6f6; border-radius: 1.9px; min-width: 8px; } QScrollBar::handle:horizontal:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } QScrollBar::handle:vertical { @@ -710,14 +710,14 @@ QScrollBar::handle:vertical { } QScrollBar::handle:vertical:hover { - background-color: #f892ff; + background-color: @ThemeAccentColor1; border: #f6f6f6; border-radius: 1.9px; min-height: 8px; } QScrollBar::handle:vertical:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } QScrollBar::add-line:horizontal { @@ -817,7 +817,7 @@ QTextEdit { } QTextEdit:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } QTextEdit:selected { @@ -836,11 +836,11 @@ QPlainTextEdit { } QPlainTextEdit:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } QPlainTextEdit:selected { - background: #f892ff; + background: @ThemeAccentColor1; color: black; } @@ -922,13 +922,13 @@ background-position: center center; QToolButton#qt_toolbar_ext_button:hover { /*background-image: url(qss:images_dark-light/more_dark.svg);*/ -background-color: #f892ff; +background-color: @ThemeAccentColor1; } QToolButton#qt_toolbar_ext_button:on { /*background-image: url(qss:images_dark-light/more_dark.svg);*/ border-color: #f6f6f6; -background-color: #f892ff; +background-color: @ThemeAccentColor1; } @@ -941,7 +941,7 @@ QSpinBox { border: 1px solid transparent; color: black; /* This fixes 103, 111 */ - /* padding-top: 0px; + /* padding-top: 0px; /* This fixes 103, 111 */ /*padding-bottom: 0px; /*padding-left: 4px; @@ -965,7 +965,7 @@ QAbstractSpinBox:up-button { QAbstractSpinBox::up-arrow, QAbstractSpinBox::up-arrow:disabled, QAbstractSpinBox::up-arrow:off { image: url(qss:images_dark-light/up_arrow_disabled_dark.svg); - /* height: 8px; + /* height: 8px; width: 8px;*/ } @@ -996,16 +996,16 @@ QAbstractSpinBox::down-arrow:hover { } QAbstractSpinBox:hover { - /*border: 1px solid #f892ff; + /*border: 1px solid @ThemeAccentColor1; color: black;*/ } QAbstractSpinBox:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } QAbstractSpinBox:selected { - background: #ffbff3; + background: @ThemeAccentColor2; /*color: black;*/ } @@ -1056,7 +1056,7 @@ QTextBrowser:disabled { } QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pressed { - border: 1px solid #f892ff; + border: 1px solid @ThemeAccentColor1; } /* QGraphicsView ---------------------------------------------------------- @@ -1064,7 +1064,7 @@ QTextBrowser:hover, QTextBrowser:!hover, QTextBrowser:selected, QTextBrowser:pre --------------------------------------------------------------------------- */ QGraphicsView { background-color: transparent; - border: 0px solid #f892ff; + border: 0px solid @ThemeAccentColor1; color: black; border-radius: 0px; } @@ -1128,7 +1128,7 @@ QProgressBar:disabled { } QProgressBar::chunk { - background-color: #f892ff; + background-color: @ThemeAccentColor1; color: #F6F6F6; border-radius: 1.9px; } @@ -1163,31 +1163,31 @@ QPushButton:disabled { } QPushButton:checked { - background-color: #f892ff; + background-color: @ThemeAccentColor1; outline: none; } QPushButton:checked:disabled { - background-color: #f892ff; + background-color: @ThemeAccentColor1; color: #f6f6f6; outline: none; } QPushButton:checked:selected { - background: #f892ff; + background: @ThemeAccentColor1; } QPushButton:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); - color: black; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); + color: White; } QPushButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #ffbff3, stop:1 #f892ff ); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QPushButton:selected { - background: #ffbff3; + background: @ThemeAccentColor2; color: black; } @@ -1227,7 +1227,7 @@ QToolButton:disabled { } QToolButton:checked { - background-color: #f892ff; + background-color: @ThemeAccentColor1; border-radius: 1.9px; padding: 0px; outline: none; @@ -1242,30 +1242,30 @@ QToolButton:checked:disabled { } QToolButton:checked:hover { - background-color: #f892ff; + background-color: @ThemeAccentColor1; color: black; } QToolButton:checked:pressed { - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QToolButton:checked:selected { - background: #ffbff3; + background: @ThemeAccentColor2; color: black; } QToolButton:hover { - background-color: #f892ff; + background-color: @ThemeAccentColor1; color: black; } QToolButton:pressed { - background-color: #ffbff3; + background-color: @ThemeAccentColor2; } QToolButton:selected { - background: #f892ff; + background: @ThemeAccentColor1; color: black; } @@ -1313,12 +1313,12 @@ QToolButton::menu-button { } QToolButton::menu-button:hover { - /* background: rgba(0, 0, 0, 0.5);*/ + /* background: rgba(0, 0, 0, 0.5);*/ } QToolButton::menu-button:checked:hover { - /* background: rgba(0, 0, 0, 0.5);*/ + /* background: rgba(0, 0, 0, 0.5);*/ } QToolButton::menu-indicator { @@ -1375,7 +1375,7 @@ QComboBox { border: 1px solid transparent; background: #ffffff; border-radius: 2px; - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; padding-left: 2px; padding-right: 2px; /* padding-right = 36; 4 + 16*2 See scrollbar size */ @@ -1394,7 +1394,7 @@ QComboBox QAbstractItemView { border: 0px solid #C1C1C1; border-radius: 0px; background-color: #ffffff; - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; } QComboBox QAbstractItemView:hover { @@ -1403,7 +1403,7 @@ QComboBox QAbstractItemView:hover { } QComboBox QAbstractItemView:selected { - background: #f892ff; + background: @ThemeAccentColor1; color: black; } @@ -1417,16 +1417,16 @@ QComboBox:disabled { } QComboBox:hover { - /*background-color: #f892ff;*/ - border: 1px solid #f892ff; + /*background-color: @ThemeAccentColor1;*/ + border: 1px solid @ThemeAccentColor1; } QComboBox:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } QComboBox:on { - selection-background-color: #ffbff3; + selection-background-color: @ThemeAccentColor2; } QComboBox::indicator { @@ -1435,7 +1435,7 @@ QComboBox::indicator { background-color: transparent; selection-background-color: transparent; color: transparent; - selection-color: #f892ff; + selection-color: @ThemeAccentColor1; /* Needed to remove indicator - fix #132 */ } @@ -1467,7 +1467,7 @@ QComboBox::drop-down { border-left: 1px solid transparent; } QComboBox::drop-down:hover { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QComboBox::down-arrow { @@ -1527,7 +1527,7 @@ padding: 0px; } QSint--ActionGroup QFrame[class="header"]:hover { -background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); +background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QToolButton[class="header"] { @@ -1586,19 +1586,19 @@ background-color: #F6F6F6; /* Task Panel background color */ /* Fixs for tabs inside Task Panel */ QSint--ActionGroup QFrame[class="content"] QTabBar::tab:top:selected { -border-bottom-color: #f892ff; /* same as Task Panel background color */ +border-bottom-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:bottom:selected { -border-top-color: #f892ff; /* same as Task Panel background color */ +border-top-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:right:selected { -border-right-color: #f892ff; /* same as Task Panel background color */ +border-right-color: @ThemeAccentColor1; /* same as Task Panel background color */ } QSint--ActionGroup QFrame[class="content"] QTabBar::tab:left:selected { -border-left-color: #f892ff; /* same as Task Panel background color */ +border-left-color: @ThemeAccentColor1; /* same as Task Panel background color */ } /* Fix for buttons with icons that showed cropped (still not happy with result) */ @@ -1629,11 +1629,11 @@ QSint--ActionGroup QFrame[class="content"] QToolButton { } QSint--ActionGroup QFrame[class="content"] QToolButton:hover{ - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } QSint--ActionGroup QFrame[class="content"] QToolButton:focus { - border: 1px solid #ffbff3 + border: 1px solid @ThemeAccentColor2 ; } @@ -1644,7 +1644,7 @@ QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #f892ff , stop:1 #ffbff3); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor3); } @@ -1658,7 +1658,7 @@ QSlider:disabled { } QSlider:focus { - /*border: 1px solid #ffbff3;*/ + /*border: 1px solid @ThemeAccentColor2;*/ } QSlider::groove:horizontal { @@ -1670,7 +1670,7 @@ QSlider::groove:horizontal { } QSlider::groove:vertical { - background: #f892ff; + background: #F6F6F6; border: 1px solid #C1C1C1; width: 4px; margin: 0px; @@ -1678,7 +1678,7 @@ QSlider::groove:vertical { } QSlider::add-page:vertical { - background: #f892ff; + background: @ThemeAccentColor1; border: 1px solid #C1C1C1; width: 4px; margin: 0px; @@ -1690,7 +1690,7 @@ QSlider::add-page:vertical :disabled { } QSlider::sub-page:horizontal { - background: #f892ff; + background: @ThemeAccentColor1; border: 1px solid #C1C1C1; height: 4px; margin: 0px; @@ -1698,7 +1698,7 @@ QSlider::sub-page:horizontal { } QSlider::sub-page:horizontal:disabled { - background: #f892ff; + background: @ThemeAccentColor1; } QSlider::handle:horizontal { @@ -1711,13 +1711,13 @@ QSlider::handle:horizontal { } QSlider::handle:horizontal:hover { - background: #f892ff; + background: @ThemeAccentColor1; border: 1px solid #C1C1C1; } QSlider::handle:horizontal:focus { border: 1px solid #C1C1C1; - background: #ffbff3; + background: @ThemeAccentColor1; } QSlider::handle:vertical { @@ -1730,12 +1730,12 @@ QSlider::handle:vertical { } QSlider::handle:vertical:hover { - background: #f892ff; + background: @ThemeAccentColor1; border: 1px solid #C1C1C1; } QSlider::handle:vertical:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } /* QLineEdit -------------------------------------------------------------- @@ -1763,16 +1763,16 @@ QLineEdit:disabled { } QLineEdit:hover { - border: 1px solid #f892ff; + border: 1px solid @ThemeAccentColor1; color: black; } QLineEdit:focus { - border: 2px solid #ffbff3; + border: 2px solid @ThemeAccentColor2; } QLineEdit:selected { - background-color: #f892ff; + background-color: @ThemeAccentColor1; color: black; } @@ -1783,7 +1783,7 @@ https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabb --------------------------------------------------------------------------- */ QTabWidget { padding: 2px; - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; } QTabWidget QWidget { @@ -1798,10 +1798,15 @@ QTabWidget::pane { } QTabWidget::pane:selected { - background-color: #f892ff; + background-color: @ThemeAccentColor1; border: 1px solid #C1C1C1; } +QTabWidget::pane:selected { + background-color: #557bb6; + border: 1px solid #346792; +} + QTabWidget::pane:top { top: -1px; border-top: 1px solid #A3A3A3; @@ -1917,16 +1922,16 @@ QTabBar::tab:top, QDockWidget QTabBar::tab:top { QTabBar::tab:top:selected, QDockWidget QTabBar::tab:top:selected { color: black; - border-top: 4px solid #f892ff; /* selection color */ + border-top: 4px solid @ThemeAccentColor1; /* selection color */ border-bottom: 1px solid transparent; /* same as tab content background color */ border-left: 1px solid #A3A3A3; border-right: 1px solid #A3A3A3; } QTabBar::tab:top:!selected:hover, QDockWidget QTabBar::tab:top:!selected:hover { - /*border: 1px solid #f892ff;*/ - border: 0px solid #f892ff; - background-color: #f892ff; + /*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -1947,7 +1952,7 @@ QTabBar::tab:bottom, QDockWidget QTabBar::tab:bottom { QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { color: black; - border-bottom: 4px solid #f892ff; /* selection color */ + border-bottom: 4px solid @ThemeAccentColor1; /* selection color */ border-top: 1px solid transparent; /* same as tab content background color */ border-left: 1px solid #A3A3A3; border-right: 1px solid #A3A3A3; @@ -1955,9 +1960,9 @@ QTabBar::tab:bottom:selected, QDockWidget QTabBar::tab:bottom:selected { } QTabBar::tab:bottom:!selected:hover, QDockWidget QTabBar::tab:bottom:!selected:hover { -/*border: 1px solid #f892ff;*/ - border: 0px solid #f892ff; - background-color: #f892ff; +/*border: 1px solid @ThemeAccentColor1;*/ + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes spyder-ide/spyder#9766 and #243 */ padding-left: 3px; padding-right: 3px; @@ -1978,12 +1983,12 @@ QTabBar::tab:left, QDockWidget QTabBar::tab:left { QTabBar::tab:left:selected, QDockWidget QTabBar::tab:left:selected { background-color: #F6F6F6; - border: 0px solid #ffbff3; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:left:!selected:hover, QDockWidget QTabBar::tab:left:!selected:hover { - border: 0px solid #f892ff; - background-color: #f892ff; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-right: 0px; padding-right: -1px; @@ -2003,12 +2008,12 @@ QTabBar::tab:right, QDockWidget QTabBar::tab:right { QTabBar::tab:right:selected, QDockWidget QTabBar::tab:right:selected { background-color: #F6F6F6; - border: 0px solid #ffbff3; + border: 0px solid @ThemeAccentColor2; } QTabBar::tab:right:!selected:hover, QDockWidget QTabBar::tab:right:!selected:hover { - border: 0px solid #f892ff; - background-color: #f892ff; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* Fixes different behavior #271 */ margin-left: 0px; padding-left: 0px; @@ -2023,13 +2028,13 @@ QTabBar QToolButton, QDockWidget QTabBar QToolButton { } QTabBar QToolButton:pressed, QDockWidget QTabBar QToolButton:pressed { - border: 0px solid #f892ff; - background-color: #f892ff; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QTabBar QToolButton:pressed:hover, QDockWidget QTabBar QToolButton:pressed:hover { - border: 0px solid #f892ff; - background-color: #f892ff; + border: 0px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; color: black; } @@ -2101,7 +2106,7 @@ QDockWidget::float-button { } QDockWidget::float-button:hover { - /*background-color: #f892ff;*/ + /*background-color: @ThemeAccentColor1;*/ image: url(qss:images_dark-light/undock_blue.svg); } @@ -2237,7 +2242,7 @@ QTreeView:selected, QListView:selected, QTableView:selected, QColumnView:selected { - background-color: #f892ff; + background-color: @ThemeAccentColor1; color: black; } @@ -2245,21 +2250,21 @@ QTreeView:focus, QListView:focus, QTableView:focus, QColumnView:focus { - border: 1px solid #ffbff3; + border: 1px solid @ThemeAccentColor2; } QTreeView::item:pressed, QListView::item:pressed, QTableView::item:pressed, QColumnView::item:pressed { - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:active, QListView::item:selected:active, QTableView::item:selected:active, QColumnView::item:selected:active { - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QTreeView::item:selected:!active, @@ -2276,7 +2281,7 @@ QTableView::item:!selected:hover, QColumnView::item:!selected:hover { outline: 0; color: black; - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QTableCornerButton::section { @@ -2384,7 +2389,7 @@ QToolBox { QToolBox:selected { padding: 0px; - border: 0px solid #f892ff; + border: 0px solid @ThemeAccentColor1; } QToolBox::tab { @@ -2422,7 +2427,7 @@ QToolBox::tab:!selected:disabled { } QToolBox::tab:hover { - background-color: #f892ff; + background-color: @ThemeAccentColor1; } QToolBox QScrollArea QWidget QWidget { @@ -2497,7 +2502,7 @@ QSplitter::handle:vertical { } QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 #f892ff, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); background-position: center center; background-repeat: none; } @@ -2506,14 +2511,14 @@ QSplitter::handle:vertical:hover { background-image: url(qss:images_dark-light/splitter_horizontal_dark.svg); background-position: center center; background-repeat: none; - background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 #f892ff, stop:0.8 transparent); + background-color: qlineargradient(x1:0, y1:0, x2:1, y2:0,stop:0.2 transparent,stop:0.5 @ThemeAccentColor1, stop:0.8 transparent); } /* QDateEdit, QDateTimeEdit ----------------------------------------------- --------------------------------------------------------------------------- */ QDateEdit, QDateTimeEdit { - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; border-style: solid; border: 1px solid #C1C1C1; border-radius: 1.9px; @@ -2527,7 +2532,7 @@ QDateEdit, QDateTimeEdit { } QDateEdit:on, QDateTimeEdit:on { - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; } QDateEdit::drop-down, QDateTimeEdit::drop-down { @@ -2551,19 +2556,19 @@ QDateEdit QAbstractItemView, QDateTimeEdit QAbstractItemView { background-color: #F6F6F6; border-radius: 2px; border: 1px solid #C1C1C1; - selection-background-color: #f892ff; + selection-background-color: @ThemeAccentColor1; } /* QAbstractView ---------------------------------------------------------- --------------------------------------------------------------------------- */ QAbstractView:hover { - border: 1px solid #f892ff; + border: 1px solid @ThemeAccentColor1; color: black; } QAbstractView:selected { - background: #f892ff; + background: @ThemeAccentColor1; color: black; } diff --git a/src/Gui/Stylesheets/ProDark.qss b/src/Gui/Stylesheets/ProDark.qss index 0cc6d9d5b9..919cf814ba 100644 --- a/src/Gui/Stylesheets/ProDark.qss +++ b/src/Gui/Stylesheets/ProDark.qss @@ -46,11 +46,11 @@ THESE COLOURS WERE USED AS TEMP SCRATCHPAD FOR DESIGNING. PLEASE DISREGARD! white SELECTION (darker to lighter) - #557BB6 + @ThemeAccentColor1 #696969 #3874f2 - #557BB6 = main selection color - #557BB6 = used to build QSpinBox up and down buttons, it's used as color in the middle + @ThemeAccentColor1 = main selection color + @ThemeAccentColor1 = used to build QSpinBox up and down buttons, it's used as color in the middle #adc5ed #cbd8e6 */ @@ -137,7 +137,7 @@ QToolBox::tab QToolBox::tab:hover { - background-color: #557BB6; + background-color: @ThemeAccentColor1; border: 1px solid #6492d7; border-radius: 1px } @@ -176,7 +176,7 @@ QMenuBar::item:pressed, QMenu::item:selected, QMenu::item:pressed { color: #ffffff; - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QMenu::right-arrow { @@ -201,8 +201,8 @@ QMenu::icon { } QMenu::icon:checked { /* appearance of a 'checked' icon */ - background: #557BB6; - border: 2px #557BB6; + background: @ThemeAccentColor1; + border: 2px @ThemeAccentColor1; position: absolute; border-radius: 2px; } @@ -234,7 +234,7 @@ QMenu QToolButton:pressed, QMenu QPushButton:selected, QMenu QToolButton:selected { color: white; - background-color: #557bb6; /* same as QMenu::item:selected and QMenu::item:pressed */ + background-color: @ThemeAccentColor1; /* same as QMenu::item:selected and QMenu::item:pressed */ } QMenu QRadioButton:disabled, @@ -371,13 +371,13 @@ QDockWidget::float-button { QDockWidget::close-button:hover, QDockWidget::float-button:hover { - background-color: #557bb6; + background-color: @ThemeAccentColor1; } QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { - background-color: #42608d; - border: 2px solid #76acfd + background-color: @ThemeAccentColor2; + border: 2px solid @ThemeAccentColor3; } /* fix for Python Console (probably there is a smarter way to arrive to it) */ @@ -402,7 +402,7 @@ QProgressBar:horizontal { } QProgressBar::chunk, QProgressBar::chunk:horizontal { - background-color: #557BB6; + background-color: @ThemeAccentColor1; border-radius: 1px; } @@ -433,7 +433,7 @@ QScrollBar::handle:horizontal { QScrollBar::handle:vertical:hover, QScrollBar::handle:horizontal:hover { - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QScrollBar::handle:horizontal { @@ -463,13 +463,13 @@ QScrollBar::add-line:horizontal { QScrollBar::sub-line:horizontal:hover, QScrollBar::sub-line:horizontal:on { border-image: url(qss:images_dark-light/left_arrow_lighter.svg); - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QScrollBar::add-line:horizontal:hover, QScrollBar::add-line:horizontal:on { border-image: url(qss:images_dark-light/right_arrow_lighter.svg); - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QScrollBar::up-arrow:horizontal, @@ -515,13 +515,13 @@ QScrollBar::add-line:vertical { QScrollBar::sub-line:vertical:hover, QScrollBar::sub-line:vertical:on { border-image: url(qss:images_dark-light/up_arrow_lighter.svg); - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QScrollBar::add-line:vertical:hover, QScrollBar::add-line:vertical:on { border-image: url(qss:images_dark-light/down_arrow_lighter.svg); - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QScrollBar::up-arrow:vertical, @@ -621,23 +621,23 @@ QTabBar::tab:selected { } QTabBar::tab:top:selected { - border-top: 4px solid #557BB6; /* selection color */ + border-top: 4px solid @ThemeAccentColor1; /* selection color */ border-bottom-color: #333333; /* same as tab content background color */ border-radius: 2px; } QTabBar::tab:bottom:selected { - border-bottom: 4px solid #557BB6; /* selection color */ + border-bottom: 4px solid @ThemeAccentColor1; /* selection color */ border-top-color: #333333; /* same as tab content background color */ } QTabBar::tab:right:selected { - border-left: 4px solid #557BB6; /* selection color */ + border-left: 4px solid @ThemeAccentColor1; /* selection color */ border-right-color: #333333; /* same as tab content background color */ } QTabBar::tab:left:selected { - border-right: 4px solid #557BB6; /* selection color */ + border-right: 4px solid @ThemeAccentColor1; /* selection color */ border-left-color: #333333; /* same as tab content background color */ } @@ -647,7 +647,7 @@ QTabBar::tab:!selected { QTabBar::tab:!selected:hover { color: rgba(255,255,255,180); - background-color: #557BB6; /* Hack for Undocked inactive tabs - can also change to #696969 */ /* was rgba(255,255,255,20) */ + background-color: @ThemeAccentColor1; /* Hack for Undocked inactive tabs - can also change to #696969 */ /* was rgba(255,255,255,20) */ } QTabBar::tab:first:selected { @@ -684,12 +684,12 @@ QDialog#Gui__Dialog__DlgPreferences > QListView::item { } QDialog#Gui__Dialog__DlgPreferences > QListView::item:hover { /* Preference left icons*/ - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QDialog#Gui__Dialog__DlgPreferences > QListView::item:selected { /* Preference left icons*/ color: white; - background-color: #557BB6; + background-color: @ThemeAccentColor1; } @@ -801,7 +801,7 @@ QTableView { alternate-background-color: #333333; /* related with QListView background */ border: 1px solid #333333; selection-color: #ffffff; - selection-background-color: #557BB6; /* should be similar to QListView::item selected background-color */ + selection-background-color: @ThemeAccentColor1; /* should be similar to QListView::item selected background-color */ show-decoration-selected: 1; /* make the selection span the entire width of the view */ border-radius: 1px; } @@ -814,7 +814,7 @@ QTreeView::item:hover { QListView::item:selected, QTreeView::item:selected { color: #ffffff; /* should be similar to QListView selection-color */ - background-color: #557BB6; /* should be similar to QListView selection-background-color */ + background-color: @ThemeAccentColor1; /* should be similar to QListView selection-background-color */ show-decoration-selected: 1; /* make the selection span the entire width of the view */ } @@ -1092,7 +1092,7 @@ QPlainTextEdit, QPlainTextEdit:focus { background-color: #3c3c3c; /* Python Console */ selection-color: #f5f5f5; - selection-background-color: #557BB6; + selection-background-color: @ThemeAccentColor1; border: 6px solid #333333; border-radius: 0px; margin: 0px; @@ -1136,7 +1136,7 @@ QSint--ActionGroup QFrame[class="header"] { } QSint--ActionGroup QFrame[class="header"]:hover { - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QSint--ActionGroup QToolButton[class="header"] { @@ -1242,7 +1242,7 @@ QToolBar > Gui--WorkbenchComboBox { QToolBar > Gui--WorkbenchComboBox:!editable { color: #f5f5f5; font-weight: bold; - background-color: #557bb6; /* workbench disabled color */ + background-color: @ThemeAccentColor1; /* workbench disabled color */ } QComboBox, @@ -1257,7 +1257,7 @@ QDateTimeEdit { color: #f5f5f5; background-color: #494949; /* lineedits and drop-downs */ selection-color: #ffffff; - selection-background-color: #557bb6; + selection-background-color: @ThemeAccentColor1; border: 0px solid #2a2a2a; border-radius: 1px; min-width: 50px; /* it ensures the default value is correctly displayed */ @@ -1305,7 +1305,7 @@ QDateTimeEdit:focus { color: #f5f5f5; border-color: #333333; border: 1px; - border-right-color: #557BB6; /* same as up/down or drop-down button color */ + border-right-color: @ThemeAccentColor1; /* same as up/down or drop-down button color */ background-color: #494949; } @@ -1500,14 +1500,14 @@ QComboBox::down-arrow:disabled { /* ComboBox menu */ QComboBox { selection-color: #f5f5f5; - selection-background-color: #557BB6; + selection-background-color: @ThemeAccentColor1; } QComboBox QAbstractItemView { color: #bebebe; /* same as regular QComboBox color */ background-color: transparent; /* was transparent */ selection-color: #f5f5f5; - selection-background-color: #557BB6; + selection-background-color: @ThemeAccentColor1; border-width: 5px 0px 5px 0px; border-style: solid; border-color: transparent; @@ -1531,7 +1531,7 @@ QPushButton { QPushButton:hover, QPushButton:focus { color: #ffffff; - background-color: #557bb6; + background-color: @ThemeAccentColor1; border: 1px solid #f5f5f5; } @@ -1544,13 +1544,13 @@ QPushButton:disabled:checked { QPushButton:pressed { color: #ffffff; - background-color: #48699a; + background-color: #@ThemeAccentColor2; border: 1px solid #3c3c3c; } QPushButton:checked { - background-color: #557BB6; - border: 1px solid #557BB6; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; } /* Inspect Widgets Addon */ @@ -1564,15 +1564,15 @@ QDockWidget#InspectWidgets QPushButton { QDockWidget#InspectWidgets QPushButton:hover { color: #ffffff; - background-color: #557bb6; + background-color: @ThemeAccentColor1; border: 1px solid #f5f5f5; border-bottom: 1px solid #f5f5f5; } QDockWidget#InspectWidgets QPushButton:checked, QDockWidget#InspectWidgets QPushButton:pressed { - background-color: #557bb6; - border: 1px solid #557bb6; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; } /* CAD Navigation Style */ @@ -1580,7 +1580,7 @@ QMenu::item#NavigationIndicator { image: url(qss:images_dark-light/NavigationBlender_light.svg); } QPushButton#NavigationIndicator { - background-color: #557bb6; + background-color: @ThemeAccentColor1; padding: 2px; margin: 0px; border: 1px solid #333333; @@ -1596,8 +1596,8 @@ QPushButton:hover#NavigationIndicator { QPushButton:pressed#NavigationIndicator { color: #ffffff; - background-color: #557bb6; - border: 1px solid #557bb6; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; } /* BIM Views Manager */ @@ -1616,12 +1616,12 @@ QWidget#Form QPushButton { QWidget#Form QPushButton:hover { border: 1px solid #f5f5f5; - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QWidget#Form QPushButton:pressed { - border: 1px solid #557bb6; - background-color: #557BB6; + border: 1px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } /* Addon Manager */ @@ -1635,7 +1635,7 @@ QDialog#Dialog QPushButton { QDialog#Dialog QPushButton:hover { color: #ffffff; border: 1px solid #3c3c3c; - background-color: #48699a; + background-color: #@ThemeAccentColor2; } QPushButton#buttonUninstall { @@ -1678,12 +1678,12 @@ Gui--ColorButton:disabled { Gui--ColorButton:hover, Gui--ColorButton:focus { - border-color: #557BB6; - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #557BB6, stop:1 #557BB6); + border-color: @ThemeAccentColor1; + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor1); } Gui--ColorButton:pressed { - background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #557BB6, stop:1 #557BB6); + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 @ThemeAccentColor1, stop:1 @ThemeAccentColor1); } @@ -1726,7 +1726,7 @@ QFileDialog#QFileDialog QToolButton { QFileDialog#QFileDialog QToolButton:hover, QFileDialog#QFileDialog QToolButton:focus { color: #ffffff; - background-color: #557bb6; + background-color: @ThemeAccentColor1; border: 1px solid #f5f5f5; } @@ -1749,7 +1749,7 @@ QDialog QToolButton { QDialog QToolButton:hover, QDialog QToolButton:focus { color: #ffffff; - background-color: #557bb6; + background-color: @ThemeAccentColor1; border: 1px solid #f5f5f5; } @@ -1762,7 +1762,7 @@ QDialog QToolButton:disabled:checked { QDialog QToolButton:pressed { color: #ffffff; - background-color: #48699a; + background-color: #@ThemeAccentColor2; border: 1px solid #3c3c3c; } @@ -1787,7 +1787,7 @@ QSint--ActionGroup QFrame[class="content"] QToolButton:hover, QSint--ActionGroup QFrame[class="content"] QToolButton:focus { color: white; border-color: solid #f5f5f5; - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QSint--ActionGroup QFrame[class="content"] QToolButton:disabled, @@ -1798,7 +1798,7 @@ QSint--ActionGroup QFrame[class="content"] QToolButton:disabled:checked { } QSint--ActionGroup QFrame[class="content"] QToolButton:pressed { - background-color: #557BB6; + background-color: @ThemeAccentColor1; } /* QToolButtons with a menu found in Sketcher task panel*/ @@ -1852,7 +1852,7 @@ QRadioButton::indicator:unchecked{ } QRadioButton::indicator:checked { - background-color: #557BB6; /* QCheckBox has the same color */ + background-color: @ThemeAccentColor1; /* QCheckBox has the same color */ border: 1px solid #2a2a2a; /* QCheckBox has the same color */ image:url(qss:images_dark-light/radiobutton_light.svg); } @@ -1925,7 +1925,7 @@ QGroupBox::indicator:checked:pressed { QCheckBox::indicator:checked, QGroupBox::indicator:checked { - background-color: #557BB6; /* QRadioButton has the same color */ + background-color: @ThemeAccentColor1; /* QRadioButton has the same color */ border: 1px solid #2a2a2a; /* QRadioButton has the same color */ image:url(qss:images_dark-light/checkbox_light.svg); } @@ -2077,13 +2077,13 @@ QSlider::handle:vertical:hover, QSlider::handle:horizontal:pressed, QSlider::handle:vertical:pressed { border-color: #adc5ed; - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QSlider::handle:horizontal:disabled, QSlider::handle:vertical:disabled { border-color: #2a2a2a; - background-color: #557BB6; + background-color: @ThemeAccentColor1; } @@ -2126,7 +2126,7 @@ QToolBar > QPushButton { QToolBar > QPushButton:checked { border: 1px solid #3c3c3c; - background-color: #557BB6; + background-color: @ThemeAccentColor1; } /* Hack to avoid QPushButton text partially hidden under menu-indicator */ @@ -2148,18 +2148,18 @@ QToolBar > QPushButton:checked:hover { QToolBar > QPushButton:!checked:hover { color: #ffffff; - background-color: #557BB6; + background-color: @ThemeAccentColor1; border: 1px solid #f5f5f5; } QToolBar > QPushButton:checked:pressed { - border: 1px solid #557bb6; - background-color: solid #557BB6; + border: 1px solid @ThemeAccentColor1; + background-color: solid @ThemeAccentColor1; } QToolBar > QPushButton:!checked:pressed { - border: 1px solid #557bb6; - background-color: #557BB6; + border: 1px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QToolBar > QPushButton:checked:disabled, @@ -2176,13 +2176,13 @@ QToolBar > QToolButton { } QToolBar > QToolButton:hover { - background-color: #557BB6; + background-color: @ThemeAccentColor1; border: 1px solid #f5f5f5; } QToolBar > QToolButton:pressed { - background-color: #557BB6; - border: 1px solid #557bb6; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; } /* ToolBar menu buttons (buttons with drop-down menu) */ @@ -2206,26 +2206,26 @@ QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:hover { border-top: 1px solid #f5f5f5; border-bottom: 1px solid #f5f5f5; border-right: 1px solid #f5f5f5; - background-color: #557BB6; + background-color: @ThemeAccentColor1; } QToolBar > QToolButton#qt_toolbutton_menubutton:pressed, QToolBar > QToolButton#qt_toolbutton_menubutton:open { - background-color: #557BB6; - border: 1px solid #557BB6; + background-color: @ThemeAccentColor1; + border: 1px solid @ThemeAccentColor1; } QToolBar > QToolButton#qt_toolbutton_menubutton:hover { - background-color: #557BB6; + background-color: @ThemeAccentColor1; border: 1px solid #f5f5f5; } QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:pressed, QToolBar > QToolButton#qt_toolbutton_menubutton::menu-button:open { - border-top: 1px solid #557bb6; - border-bottom: 1px solid #557bb6; - border-right: 1px solid #557bb6; - background-color: #557BB6; + border-top: 1px solid @ThemeAccentColor1; + border-bottom: 1px solid @ThemeAccentColor1; + border-right: 1px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; } QToolBar > QToolButton::menu-arrow { @@ -2247,13 +2247,13 @@ QToolBar > QToolButton::menu-arrow:open { /* when QToolButton is checked: */ QToolBar > QToolButton:checked { - border: 1px solid #557BB6; - background-color: #557BB6; /* transparency for #557BB6 color */ + border: 1px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* transparency for @ThemeAccentColor1 color */ } QToolBar > QToolButton:checked:hover { - border: 1px solid #557BB6; - background-color: #557BB6; /* transparency for #557BB6 color */ + border: 1px solid @ThemeAccentColor1; + background-color: @ThemeAccentColor1; /* transparency for @ThemeAccentColor1 color */ } /*The "show more" button (it can also be stylable with "QToolBarExtension" */ @@ -2288,7 +2288,7 @@ QMdiArea > QWidget > QMdiSubWindow > SpreadsheetGui--SheetView > QWidget > Sprea QTableView { gridline-color: #a8a8a8; selection-color: #ffffff; - selection-background-color: #557bb6; /* Default Spreadsheet cell selection background color */ + selection-background-color: @ThemeAccentColor1; /* Default Spreadsheet cell selection background color */ } QTableView::item:disabled { @@ -2298,8 +2298,8 @@ QTableView::item:disabled { QTableView::item:selected { color: #ffffff; border-color: #cecece; /* same as focused background color */ - border-bottom-color: #557BB6; /* same as focused border color */ - background-color: #557BB6; /* cell background color */ + border-bottom-color: @ThemeAccentColor1; /* same as focused border color */ + background-color: @ThemeAccentColor1; /* cell background color */ } /* fix for elements inside the cells */ @@ -2371,7 +2371,7 @@ QTableView > QWidget > QDateEdit:focus, QTableView > QWidget > QDateTimeEdit:focus { color: #000000; selection-color: #f5f5f5; - selection-background-color: #557BB6; + selection-background-color: @ThemeAccentColor1; border-color: #3c3c3c; background-color: #cecece; } diff --git a/src/Gui/SyntaxHighlighter.cpp b/src/Gui/SyntaxHighlighter.cpp index 034807b51f..3f7431d53f 100644 --- a/src/Gui/SyntaxHighlighter.cpp +++ b/src/Gui/SyntaxHighlighter.cpp @@ -131,7 +131,7 @@ QColor SyntaxHighlighter::color(const QString& type) else if (type == QLatin1String("Python error")) return d->cError; else - return QColor(); // not found + return {}; // not found } QColor SyntaxHighlighter::colorByType(SyntaxHighlighter::TColor type) @@ -159,7 +159,7 @@ QColor SyntaxHighlighter::colorByType(SyntaxHighlighter::TColor type) else if (type == SyntaxHighlighter::Error) return d->cError; else - return QColor(); // not found + return {}; // not found } void SyntaxHighlighter::colorChanged(const QString& type, const QColor& col) diff --git a/src/Gui/TaskDlgRelocation.cpp b/src/Gui/TaskDlgRelocation.cpp index 6a2b6d6845..01d90432c7 100644 --- a/src/Gui/TaskDlgRelocation.cpp +++ b/src/Gui/TaskDlgRelocation.cpp @@ -93,10 +93,7 @@ TaskDlgRelocation::TaskDlgRelocation() { } -TaskDlgRelocation::~TaskDlgRelocation() -{ - -} +TaskDlgRelocation::~TaskDlgRelocation() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Gui/TaskElementColors.cpp b/src/Gui/TaskElementColors.cpp index a0a12969bc..50dceda690 100644 --- a/src/Gui/TaskElementColors.cpp +++ b/src/Gui/TaskElementColors.cpp @@ -549,9 +549,7 @@ TaskElementColors::TaskElementColors(ViewProviderDocumentObject* vp, bool noHide Content.push_back(taskbox); } -TaskElementColors::~TaskElementColors() -{ -} +TaskElementColors::~TaskElementColors() = default; void TaskElementColors::open() { diff --git a/src/Gui/TaskView/TaskDialog.cpp b/src/Gui/TaskView/TaskDialog.cpp index 8a9e90847f..b28f18c663 100644 --- a/src/Gui/TaskView/TaskDialog.cpp +++ b/src/Gui/TaskView/TaskDialog.cpp @@ -48,9 +48,9 @@ TaskDialog::TaskDialog() TaskDialog::~TaskDialog() { - for (std::vector::iterator it=Content.begin();it!=Content.end();++it) { - delete *it; - *it = 0; + for (auto it : Content) { + delete it; + it = nullptr; } } diff --git a/src/Gui/TaskView/TaskDialogPython.cpp b/src/Gui/TaskView/TaskDialogPython.cpp index 795b7cf43a..ca3aeba901 100644 --- a/src/Gui/TaskView/TaskDialogPython.cpp +++ b/src/Gui/TaskView/TaskDialogPython.cpp @@ -98,13 +98,9 @@ void ControlPy::init_type() "showModelView()"); } -ControlPy::ControlPy() -{ -} +ControlPy::ControlPy() = default; -ControlPy::~ControlPy() -{ -} +ControlPy::~ControlPy() = default; Py::Object ControlPy::repr() { @@ -363,9 +359,7 @@ TaskDialogPy::TaskDialogPy(TaskDialog* dlg) { } -TaskDialogPy::~TaskDialogPy() -{ -} +TaskDialogPy::~TaskDialogPy() = default; Py::Object TaskDialogPy::repr() { @@ -742,7 +736,7 @@ QDialogButtonBox::StandardButtons TaskDialogPython::getStandardButtons() const Py::Tuple args; Py::Int ret(method.apply(args)); int value = (int)ret; - return QDialogButtonBox::StandardButtons(value); + return {value}; } } catch (Py::Exception&) { diff --git a/src/Gui/TaskView/TaskEditControl.cpp b/src/Gui/TaskView/TaskEditControl.cpp index 5928d5db30..c6c720ce7a 100644 --- a/src/Gui/TaskView/TaskEditControl.cpp +++ b/src/Gui/TaskView/TaskEditControl.cpp @@ -41,9 +41,7 @@ TaskEditControl::TaskEditControl(QWidget *parent) hboxLayout->addWidget(buttonBox); } -TaskEditControl::~TaskEditControl() -{ -} +TaskEditControl::~TaskEditControl() = default; QDialogButtonBox* TaskEditControl::standardButtons() const { diff --git a/src/Gui/TaskView/TaskOrientation.cpp b/src/Gui/TaskView/TaskOrientation.cpp index df9be47826..d9dd82128f 100644 --- a/src/Gui/TaskView/TaskOrientation.cpp +++ b/src/Gui/TaskView/TaskOrientation.cpp @@ -54,9 +54,7 @@ TaskOrientation::TaskOrientation(App::GeoFeature* obj, QWidget* parent) this, &TaskOrientation::onPreview); } -TaskOrientation::~TaskOrientation() -{ -} +TaskOrientation::~TaskOrientation() = default; void TaskOrientation::open() { diff --git a/src/Gui/TaskView/TaskSelectLinkProperty.cpp b/src/Gui/TaskView/TaskSelectLinkProperty.cpp index 20627d4f2d..22094e2c8a 100644 --- a/src/Gui/TaskView/TaskSelectLinkProperty.cpp +++ b/src/Gui/TaskView/TaskSelectLinkProperty.cpp @@ -129,9 +129,9 @@ void TaskSelectLinkProperty::activate() std::string ObjName = StartObject->getNameInDocument(); std::string DocName = StartObject->getDocument()->getName(); - for (std::vector::const_iterator it = StartValueBuffer.begin();it!=StartValueBuffer.end();++it) + for (const auto & it : StartValueBuffer) { - Gui::Selection().addSelection(DocName.c_str(),ObjName.c_str(),it->c_str()); + Gui::Selection().addSelection(DocName.c_str(),ObjName.c_str(),it.c_str()); } } diff --git a/src/Gui/TaskView/TaskView.cpp b/src/Gui/TaskView/TaskView.cpp index 97e56f92e8..bb14149e8e 100644 --- a/src/Gui/TaskView/TaskView.cpp +++ b/src/Gui/TaskView/TaskView.cpp @@ -62,9 +62,7 @@ TaskWidget::TaskWidget( QWidget *parent) } -TaskWidget::~TaskWidget() -{ -} +TaskWidget::~TaskWidget() = default; //************************************************************************** //************************************************************************** @@ -86,9 +84,7 @@ TaskGroup::TaskGroup(const QPixmap & icon, const QString & headerText, QWidget * { } -TaskGroup::~TaskGroup() -{ -} +TaskGroup::~TaskGroup() = default; void TaskGroup::actionEvent (QActionEvent* e) { @@ -154,12 +150,10 @@ QSize TaskBox::minimumSizeHint() const // respect the layout's minimum size. QSize s1 = QSint::ActionGroup::minimumSizeHint(); QSize s2 = QWidget::minimumSizeHint(); - return QSize(qMax(s1.width(), s2.width()), qMax(s1.height(), s2.height())); + return {qMax(s1.width(), s2.width()), qMax(s1.height(), s2.height())}; } -TaskBox::~TaskBox() -{ -} +TaskBox::~TaskBox() = default; void TaskBox::showEvent(QShowEvent*) { @@ -247,9 +241,7 @@ TaskPanel::TaskPanel(QWidget *parent) { } -TaskPanel::~TaskPanel() -{ -} +TaskPanel::~TaskPanel() = default; QSize TaskPanel::minimumSizeHint() const { @@ -263,7 +255,7 @@ QSize TaskPanel::minimumSizeHint() const // respect the layout's minimum size. QSize s1 = QSint::ActionPanel::minimumSizeHint(); QSize s2 = QWidget::minimumSizeHint(); - return QSize(qMax(s1.width(), s2.width()), qMax(s1.height(), s2.height())); + return {qMax(s1.width(), s2.width()), qMax(s1.height(), s2.height())}; } @@ -604,8 +596,8 @@ void TaskView::updateWatcher() void TaskView::addTaskWatcher(const std::vector &Watcher) { // remove and delete the old set of TaskWatcher - for (std::vector::iterator it=ActiveWatcher.begin();it!=ActiveWatcher.end();++it) - delete *it; + for (TaskWatcher* tw : ActiveWatcher) + delete tw; ActiveWatcher = Watcher; addTaskWatcher(); @@ -622,10 +614,10 @@ void TaskView::clearTaskWatcher() void TaskView::addTaskWatcher() { // add all widgets for all watcher to the task view - for (std::vector::iterator it=ActiveWatcher.begin();it!=ActiveWatcher.end();++it){ - std::vector &cont = (*it)->getWatcherContent(); - for (std::vector::iterator it2=cont.begin();it2!=cont.end();++it2){ - taskPanel->addWidget(*it2); + for (TaskWatcher* tw : ActiveWatcher) { + std::vector &cont = tw->getWatcherContent(); + for (QWidget* w : cont) { + taskPanel->addWidget(w); } } @@ -668,11 +660,11 @@ void TaskView::removeTaskWatcher() } // remove all widgets - for (std::vector::iterator it=ActiveWatcher.begin();it!=ActiveWatcher.end();++it) { - std::vector &cont = (*it)->getWatcherContent(); - for (std::vector::iterator it2=cont.begin();it2!=cont.end();++it2) { - (*it2)->hide(); - taskPanel->removeWidget(*it2); + for (TaskWatcher* tw : ActiveWatcher) { + std::vector &cont = tw->getWatcherContent(); + for (QWidget* w : cont) { + w->hide(); + taskPanel->removeWidget(w); } } diff --git a/src/Gui/TaskView/TaskWatcher.cpp b/src/Gui/TaskView/TaskWatcher.cpp index 6cba74287f..a9e6e27ecf 100644 --- a/src/Gui/TaskView/TaskWatcher.cpp +++ b/src/Gui/TaskView/TaskWatcher.cpp @@ -50,11 +50,10 @@ TaskWatcher::TaskWatcher(const char* Filter) TaskWatcher::~TaskWatcher() { - for (std::vector::iterator it=Content.begin();it!=Content.end();++it){ - delete(*it); - *it = 0; + for (auto it : Content) { + delete it; + it = nullptr; } - } //==== implementer =========================================================================== @@ -145,9 +144,7 @@ TaskWatcherCommandsEmptySelection::TaskWatcherCommandsEmptySelection(const char* { } -TaskWatcherCommandsEmptySelection::~TaskWatcherCommandsEmptySelection() -{ -} +TaskWatcherCommandsEmptySelection::~TaskWatcherCommandsEmptySelection() = default; //==== implementer =========================================================================== diff --git a/src/Gui/TextEdit.cpp b/src/Gui/TextEdit.cpp index 46e1803383..21feb89c9e 100644 --- a/src/Gui/TextEdit.cpp +++ b/src/Gui/TextEdit.cpp @@ -70,9 +70,7 @@ TextEdit::TextEdit(QWidget* parent) } /** Destroys the object and frees any allocated resources */ -TextEdit::~TextEdit() -{ -} +TextEdit::~TextEdit() = default; /** * Set the approproriate item of the completion box or hide it, if needed. @@ -511,13 +509,11 @@ LineMarker::LineMarker(TextEditor* editor) { } -LineMarker::~LineMarker() -{ -} +LineMarker::~LineMarker() = default; QSize LineMarker::sizeHint() const { - return QSize(textEditor->lineNumberAreaWidth(), 0); + return {textEditor->lineNumberAreaWidth(), 0}; } void LineMarker::paintEvent(QPaintEvent* e) @@ -540,9 +536,7 @@ CompletionList::CompletionList(QPlainTextEdit* parent) this, &CompletionList::completionItem); } -CompletionList::~CompletionList() -{ -} +CompletionList::~CompletionList() = default; void CompletionList::findCurrentWord(const QString& wordPrefix) { diff --git a/src/Gui/TextureMapping.cpp b/src/Gui/TextureMapping.cpp index ef026f0f11..866ea980b5 100644 --- a/src/Gui/TextureMapping.cpp +++ b/src/Gui/TextureMapping.cpp @@ -64,8 +64,8 @@ TextureMapping::TextureMapping(QWidget* parent, Qt::WindowFlags fl) // add all supported QImage formats QStringList formats; QList qtformats = QImageReader::supportedImageFormats(); - for (QList::Iterator it = qtformats.begin(); it != qtformats.end(); ++it) { - formats << QString::fromLatin1("*.%1").arg(QLatin1String(*it)); + for (const auto & it : qtformats) { + formats << QString::fromLatin1("*.%1").arg(QLatin1String(it)); } ui->fileChooser->setFilter(tr("Image files (%1)").arg(formats.join(QLatin1String(" ")))); @@ -188,10 +188,7 @@ TaskTextureMapping::TaskTextureMapping() Content.push_back(taskbox); } -TaskTextureMapping::~TaskTextureMapping() -{ - // automatically deleted in the sub-class -} +TaskTextureMapping::~TaskTextureMapping() = default; bool TaskTextureMapping::accept() { diff --git a/src/Gui/Thumbnail.cpp b/src/Gui/Thumbnail.cpp index 620d801e8a..ac0962e155 100644 --- a/src/Gui/Thumbnail.cpp +++ b/src/Gui/Thumbnail.cpp @@ -42,13 +42,11 @@ using namespace Gui; -Thumbnail::Thumbnail(int s) : viewer(nullptr), size(s) +Thumbnail::Thumbnail(int s) : size(s) { } -Thumbnail::~Thumbnail() -{ -} +Thumbnail::~Thumbnail() = default; void Thumbnail::setViewer(View3DInventorViewer* v) { diff --git a/src/Gui/Thumbnail.h b/src/Gui/Thumbnail.h index 2563ef30df..54176b13a1 100644 --- a/src/Gui/Thumbnail.h +++ b/src/Gui/Thumbnail.h @@ -57,7 +57,7 @@ public: private: QUrl uri; - View3DInventorViewer* viewer; + View3DInventorViewer* viewer{nullptr}; int size; }; diff --git a/src/Gui/TinkerCADNavigationStyle.cpp b/src/Gui/TinkerCADNavigationStyle.cpp index cf6d8a23b7..71d09932c4 100644 --- a/src/Gui/TinkerCADNavigationStyle.cpp +++ b/src/Gui/TinkerCADNavigationStyle.cpp @@ -38,13 +38,9 @@ using namespace Gui; TYPESYSTEM_SOURCE(Gui::TinkerCADNavigationStyle, Gui::UserNavigationStyle) -TinkerCADNavigationStyle::TinkerCADNavigationStyle() -{ -} +TinkerCADNavigationStyle::TinkerCADNavigationStyle() = default; -TinkerCADNavigationStyle::~TinkerCADNavigationStyle() -{ -} +TinkerCADNavigationStyle::~TinkerCADNavigationStyle() = default; const char* TinkerCADNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/ToolBarManager.cpp b/src/Gui/ToolBarManager.cpp index 210ca41f29..dbbdca3f97 100644 --- a/src/Gui/ToolBarManager.cpp +++ b/src/Gui/ToolBarManager.cpp @@ -169,13 +169,9 @@ void ToolBarManager::destruct() _instance = nullptr; } -ToolBarManager::ToolBarManager() -{ -} +ToolBarManager::ToolBarManager() = default; -ToolBarManager::~ToolBarManager() -{ -} +ToolBarManager::~ToolBarManager() = default; namespace { QPointer createActionWidget() diff --git a/src/Gui/ToolBoxManager.cpp b/src/Gui/ToolBoxManager.cpp index 716846afbe..f1912c9493 100644 --- a/src/Gui/ToolBoxManager.cpp +++ b/src/Gui/ToolBoxManager.cpp @@ -53,13 +53,9 @@ void ToolBoxManager::destruct() _instance = nullptr; } -ToolBoxManager::ToolBoxManager() : _toolBox(nullptr) -{ -} +ToolBoxManager::ToolBoxManager() = default; -ToolBoxManager::~ToolBoxManager() -{ -} +ToolBoxManager::~ToolBoxManager() = default; void ToolBoxManager::setToolBox( DockWnd::ToolBox* tb ) { @@ -83,40 +79,40 @@ void ToolBoxManager::setup( ToolBarItem* toolBar ) const CommandManager& mgr = Application::Instance->commandManager(); QList items = toolBar->getItems(); - for ( QList::Iterator item = items.begin(); item != items.end(); ++item ) + for ( auto item : items ) { auto bar = new QToolBar(); bar->setOrientation(Qt::Vertical); bar->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); - std::string toolbarName = (*item)->command(); - bar->setObjectName(QString::fromLatin1((*item)->command().c_str())); + std::string toolbarName = item->command(); + bar->setObjectName(QString::fromLatin1(item->command().c_str())); bar->setWindowTitle(QObject::tr(toolbarName.c_str())); // i18n _toolBox->addItem( bar, bar->windowTitle() ); - QList subitems = (*item)->getItems(); - for ( QList::Iterator subitem = subitems.begin(); subitem != subitems.end(); ++subitem ) + QList subitems = item->getItems(); + for (auto subitem : subitems) { - if ( (*subitem)->command() == "Separator" ) { + if ( subitem->command() == "Separator" ) { //bar->addSeparator(); } else { - mgr.addTo((*subitem)->command().c_str(), bar); + mgr.addTo(subitem->command().c_str(), bar); } } // Now set the right size policy for each tool button QList tool = bar->findChildren(); - for (QList::Iterator it = tool.begin(); it != tool.end(); ++it) { - (*it)->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + for (auto it : tool) { + it->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); // When setting the horizontal size policy but no icon is set we use the following trick // to make the button text left aligned. - QIcon icon = (*it)->icon(); + QIcon icon = it->icon(); if (icon.isNull()) { // Create an icon filled with the button color int size = QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize); QPixmap p(size, size); p.fill(Qt::transparent); - (*it)->setIcon(p); + it->setIcon(p); } } } diff --git a/src/Gui/ToolBoxManager.h b/src/Gui/ToolBoxManager.h index 4bb8025bd8..2c527f2ce4 100644 --- a/src/Gui/ToolBoxManager.h +++ b/src/Gui/ToolBoxManager.h @@ -24,6 +24,8 @@ #ifndef GUI_TOOLBOXMANAGER_H #define GUI_TOOLBOXMANAGER_H +#include + namespace Gui { class ToolBarItem; @@ -55,7 +57,7 @@ protected: ~ToolBoxManager(); private: - DockWnd::ToolBox* _toolBox; + DockWnd::ToolBox* _toolBox{nullptr}; static ToolBoxManager* _instance; }; diff --git a/src/Gui/TouchpadNavigationStyle.cpp b/src/Gui/TouchpadNavigationStyle.cpp index 71d81e688d..172a0f7ede 100644 --- a/src/Gui/TouchpadNavigationStyle.cpp +++ b/src/Gui/TouchpadNavigationStyle.cpp @@ -37,13 +37,9 @@ using namespace Gui; TYPESYSTEM_SOURCE(Gui::TouchpadNavigationStyle, Gui::UserNavigationStyle) -TouchpadNavigationStyle::TouchpadNavigationStyle() -{ -} +TouchpadNavigationStyle::TouchpadNavigationStyle() = default; -TouchpadNavigationStyle::~TouchpadNavigationStyle() -{ -} +TouchpadNavigationStyle::~TouchpadNavigationStyle() = default; const char* TouchpadNavigationStyle::mouseButtons(ViewerMode mode) { diff --git a/src/Gui/TransactionObject.cpp b/src/Gui/TransactionObject.cpp index e00f8f89d5..f3706824fa 100644 --- a/src/Gui/TransactionObject.cpp +++ b/src/Gui/TransactionObject.cpp @@ -33,13 +33,9 @@ using namespace Gui; TYPESYSTEM_SOURCE_ABSTRACT(Gui::TransactionViewProvider, App::TransactionObject) -TransactionViewProvider::TransactionViewProvider() -{ -} +TransactionViewProvider::TransactionViewProvider() = default; -TransactionViewProvider::~TransactionViewProvider() -{ -} +TransactionViewProvider::~TransactionViewProvider() = default; void TransactionViewProvider::applyNew(App::Document& Doc, App::TransactionalObject* pcObj) { diff --git a/src/Gui/Transform.cpp b/src/Gui/Transform.cpp index f103195ff8..be98701d83 100644 --- a/src/Gui/Transform.cpp +++ b/src/Gui/Transform.cpp @@ -59,13 +59,9 @@ public: // ---------------------------------------------------------------------------- -TransformStrategy::TransformStrategy() -{ -} +TransformStrategy::TransformStrategy() = default; -TransformStrategy::~TransformStrategy() -{ -} +TransformStrategy::~TransformStrategy() = default; Base::Vector3d TransformStrategy::getRotationCenter() const { @@ -205,9 +201,7 @@ DefaultTransformStrategy::DefaultTransformStrategy(QWidget* w) : widget(w) onSelectionChanged(mod); } -DefaultTransformStrategy::~DefaultTransformStrategy() -{ -} +DefaultTransformStrategy::~DefaultTransformStrategy() = default; std::set DefaultTransformStrategy::transformObjects() const { @@ -439,10 +433,7 @@ TaskTransform::TaskTransform() Content.push_back(taskbox); } -TaskTransform::~TaskTransform() -{ - // automatically deleted in the sub-class -} +TaskTransform::~TaskTransform() = default; void TaskTransform::setTransformStrategy(TransformStrategy* ts) { diff --git a/src/Gui/Tree.cpp b/src/Gui/Tree.cpp index fb45913e61..7adea03fec 100644 --- a/src/Gui/Tree.cpp +++ b/src/Gui/Tree.cpp @@ -203,7 +203,7 @@ public: DocumentItem* docItem; DocumentObjectItems items; ViewProviderDocumentObject* viewObject; - DocumentObjectItem* rootItem; + DocumentObjectItem* rootItem{nullptr}; std::vector children; std::set childSet; bool removeChildrenFromRoot; @@ -218,7 +218,8 @@ public: Connection connectStat; DocumentObjectData(DocumentItem* docItem, ViewProviderDocumentObject* vpd) - : docItem(docItem), viewObject(vpd), rootItem(nullptr) + : docItem(docItem) + , viewObject(vpd) { //NOLINTBEGIN // Setup connections @@ -2464,13 +2465,13 @@ void TreeWidget::slotActiveDocument(const Gui::Document& Doc) struct UpdateDisabler { QWidget& widget; int& blocked; - bool visible; - bool focus; + bool visible{false}; + bool focus{false}; // Note! DO NOT block signal here, or else // QTreeWidgetItem::setChildIndicatorPolicy() does not work UpdateDisabler(QWidget& w, int& blocked) - : widget(w), blocked(blocked), visible(false), focus(false) + : widget(w), blocked(blocked) { if (++blocked > 1) return; @@ -3126,9 +3127,7 @@ TreePanel::TreePanel(const char* name, QWidget* parent) this, &TreePanel::itemSearch); } -TreePanel::~TreePanel() -{ -} +TreePanel::~TreePanel() = default; void TreePanel::accept() { @@ -3201,9 +3200,7 @@ TreeDockWidget::TreeDockWidget(Gui::Document* pcDocument, QWidget* parent) pLayout->addWidget(panel, 0, 0); } -TreeDockWidget::~TreeDockWidget() -{ -} +TreeDockWidget::~TreeDockWidget() = default; void TreeWidget::selectLinkedObject(App::DocumentObject* linked) { if (!isSelectionAttached() || isSelectionBlocked()) diff --git a/src/Gui/TreeParams.cpp b/src/Gui/TreeParams.cpp index cf462b0bfc..784f0905ce 100644 --- a/src/Gui/TreeParams.cpp +++ b/src/Gui/TreeParams.cpp @@ -159,8 +159,7 @@ public: } // Auto generated code (Tools/params_utils.py:217) - ~TreeParamsP() override { - } + ~TreeParamsP() override = default; // Auto generated code (Tools/params_utils.py:222) void OnChange(Base::Subject &, const char* sReason) override { diff --git a/src/Gui/TreeView.cpp b/src/Gui/TreeView.cpp index dd3261b6e1..39a056a05e 100644 --- a/src/Gui/TreeView.cpp +++ b/src/Gui/TreeView.cpp @@ -50,9 +50,7 @@ TreeView::TreeView(QWidget* parent) this->setMouseTracking(true); // needed for itemEntered() to work } -TreeView::~TreeView() -{ -} +TreeView::~TreeView() = default; void TreeView::mouseDoubleClickEvent (QMouseEvent * event) { diff --git a/src/Gui/UiLoader.cpp b/src/Gui/UiLoader.cpp index bb5dc13433..126661bd24 100644 --- a/src/Gui/UiLoader.cpp +++ b/src/Gui/UiLoader.cpp @@ -505,9 +505,7 @@ std::unique_ptr UiLoader::newInstance(QObject *parent) return rv; } -UiLoader::~UiLoader() -{ -} +UiLoader::~UiLoader() = default; QWidget* UiLoader::createWidget(const QString & className, QWidget * parent, const QString& name) @@ -559,9 +557,7 @@ UiLoaderPy::UiLoaderPy() { } -UiLoaderPy::~UiLoaderPy() -{ -} +UiLoaderPy::~UiLoaderPy() = default; Py::Object UiLoaderPy::repr() { diff --git a/src/Gui/UiLoader.h b/src/Gui/UiLoader.h index 514fa58ef2..85428503bb 100644 --- a/src/Gui/UiLoader.h +++ b/src/Gui/UiLoader.h @@ -91,7 +91,7 @@ class PySideUicModule : public Py::ExtensionModule public: PySideUicModule(); - ~PySideUicModule() override {} + ~PySideUicModule() override = default; private: Py::Object loadUiType(const Py::Tuple& args); diff --git a/src/Gui/Utilities.h b/src/Gui/Utilities.h index 7fd19fe8a9..b9e8019464 100644 --- a/src/Gui/Utilities.h +++ b/src/Gui/Utilities.h @@ -115,7 +115,7 @@ class GuiExport ViewVolumeProjection : public Base::ViewProjMethod { public: explicit ViewVolumeProjection (const SbViewVolume &vv); - ~ViewVolumeProjection() override{} + ~ViewVolumeProjection() override = default; Base::Vector3f operator()(const Base::Vector3f &rclPt) const override; Base::Vector3d operator()(const Base::Vector3d &rclPt) const override; diff --git a/src/Gui/VectorListEditor.cpp b/src/Gui/VectorListEditor.cpp index fd7de57afd..40d584ab51 100644 --- a/src/Gui/VectorListEditor.cpp +++ b/src/Gui/VectorListEditor.cpp @@ -41,15 +41,15 @@ QVariant VectorTableModel::headerData(int section, Qt::Orientation orientation, return section + 1; if (role != Qt::DisplayRole || orientation != Qt::Horizontal) - return QVariant(); + return {}; if (section == 0) - return QVariant(QLatin1Char('x')); + return {QLatin1Char('x')}; if (section == 1) - return QVariant(QLatin1Char('y')); + return {QLatin1Char('y')}; if (section == 2) - return QVariant(QLatin1Char('z')); + return {QLatin1Char('z')}; else - return QVariant(); + return {}; } int VectorTableModel::columnCount(const QModelIndex&) const @@ -117,12 +117,12 @@ QVariant VectorTableModel::data(const QModelIndex &index, int role) const } } - return QVariant(); + return {}; } QModelIndex VectorTableModel::parent(const QModelIndex &) const { - return QModelIndex(); + return {}; } void VectorTableModel::setValues(const QList& d) @@ -240,9 +240,7 @@ VectorListEditor::VectorListEditor(int decimals, QWidget* parent) connect(ui->tableWidget, &QTableView::clicked, this, &VectorListEditor::clickedRow); } -VectorListEditor::~VectorListEditor() -{ -} +VectorListEditor::~VectorListEditor() = default; void VectorListEditor::setValues(const QList& v) { diff --git a/src/Gui/View.cpp b/src/Gui/View.cpp index 486f7e3f4f..bbd0010ac5 100644 --- a/src/Gui/View.cpp +++ b/src/Gui/View.cpp @@ -37,7 +37,7 @@ TYPESYSTEM_SOURCE_ABSTRACT(Gui::BaseView,Base::BaseClass) BaseView::BaseView( Gui::Document* pcDocument) - :_pcDocument(pcDocument), bIsDetached(false) + :_pcDocument(pcDocument) { if (pcDocument){ pcDocument->attachView(this); diff --git a/src/Gui/View.h b/src/Gui/View.h index fd588e6145..c09bcdfd0d 100644 --- a/src/Gui/View.h +++ b/src/Gui/View.h @@ -105,8 +105,8 @@ public: protected: Gui::Document* _pcDocument; - bool bIsDetached; - bool bIsPassive; + bool bIsDetached{false}; + bool bIsPassive{false}; }; } // namespace Gui diff --git a/src/Gui/View3DInventor.cpp b/src/Gui/View3DInventor.cpp index d436c49c38..04bd6c4c91 100644 --- a/src/Gui/View3DInventor.cpp +++ b/src/Gui/View3DInventor.cpp @@ -775,8 +775,8 @@ void View3DInventor::setCurrentViewMode(ViewMode newmode) _viewer->getGLWidget()->setFocusProxy(nullptr); qApp->removeEventFilter(this); QList acts = this->actions(); - for (QList::Iterator it = acts.begin(); it != acts.end(); ++it) - this->removeAction(*it); + for (QAction* it : acts) + this->removeAction(it); // Step two auto mdi = qobject_cast(parentWidget()); diff --git a/src/Gui/View3DInventor.h b/src/Gui/View3DInventor.h index 209a7f9c7d..b11c3420b0 100644 --- a/src/Gui/View3DInventor.h +++ b/src/Gui/View3DInventor.h @@ -50,8 +50,7 @@ class GuiExport GLOverlayWidget : public QWidget public: explicit GLOverlayWidget(QWidget* parent=nullptr) : QWidget(parent) {} - ~GLOverlayWidget() override - {} + ~GLOverlayWidget() override = default; virtual void setImage(const QImage& img) { image = img; } void paintEvent(QPaintEvent*) override; diff --git a/src/Gui/View3DInventorExamples.cpp b/src/Gui/View3DInventorExamples.cpp index 10c7f28f8c..5e111d0edf 100644 --- a/src/Gui/View3DInventorExamples.cpp +++ b/src/Gui/View3DInventorExamples.cpp @@ -284,8 +284,8 @@ void LightManip(SoSeparator * root) const char * pointlightnames[3] = { "RedLight", "GreenLight", "BlueLight" }; SoSearchAction sa; - for (int i = 0; i < 3; i++) { - sa.setName( pointlightnames[i] ); + for (const char* name : pointlightnames) { + sa.setName(name); sa.setInterest( SoSearchAction::FIRST ); sa.setSearchingAll( false ); sa.apply( root ); diff --git a/src/Gui/View3DInventorViewer.cpp b/src/Gui/View3DInventorViewer.cpp index 7390409394..3b998ab449 100644 --- a/src/Gui/View3DInventorViewer.cpp +++ b/src/Gui/View3DInventorViewer.cpp @@ -202,8 +202,8 @@ while the progress bar is running. class Gui::ViewerEventFilter : public QObject { public: - ViewerEventFilter() {} - ~ViewerEventFilter() override {} + ViewerEventFilter() = default; + ~ViewerEventFilter() override = default; bool eventFilter(QObject* obj, QEvent* event) override { // Bug #0000607: Some mice also support horizontal scrolling which however might @@ -245,8 +245,8 @@ public: class SpaceNavigatorDevice : public Quarter::InputDevice { public: - SpaceNavigatorDevice() {} - ~SpaceNavigatorDevice() override {} + SpaceNavigatorDevice() = default; + ~SpaceNavigatorDevice() override = default; const SoEvent* translateEvent(QEvent* event) override { if (event->type() == Spaceball::MotionEvent::MotionEventType) { @@ -335,6 +335,7 @@ View3DInventorViewer::View3DInventorViewer(QWidget* parent, const QtGLWidget* sh : Quarter::SoQTQuarterAdaptor(parent, sharewidget) , SelectionObserver(false, ResolveMode::NoResolve) , editViewProvider(nullptr) + , objectGroup(nullptr) , navigation(nullptr) , renderType(Native) , framebuffer(nullptr) @@ -354,6 +355,7 @@ View3DInventorViewer::View3DInventorViewer(const QtGLFormat& format, QWidget* pa : Quarter::SoQTQuarterAdaptor(format, parent, sharewidget) , SelectionObserver(false, ResolveMode::NoResolve) , editViewProvider(nullptr) + , objectGroup(nullptr) , navigation(nullptr) , renderType(Native) , framebuffer(nullptr) @@ -482,6 +484,11 @@ void View3DInventorViewer::init() pcEditingRoot->addChild(pcEditingTransform); pcViewProviderRoot->addChild(pcEditingRoot); + // Create group for the physical object + objectGroup = new SoGroup(); + objectGroup->ref(); + pcViewProviderRoot->addChild(objectGroup); + // Set our own render action which show a bounding box if // the SoFCSelection::BOX style is set // @@ -569,6 +576,8 @@ View3DInventorViewer::~View3DInventorViewer() coinRemoveAllChildren(this->pcViewProviderRoot); this->pcViewProviderRoot->unref(); this->pcViewProviderRoot = nullptr; + this->objectGroup->unref(); + this->objectGroup = nullptr; this->backlight->unref(); this->backlight = nullptr; @@ -759,8 +768,15 @@ void View3DInventorViewer::addViewProvider(ViewProvider* pcProvider) SoSeparator* root = pcProvider->getRoot(); if (root) { - if(pcProvider->canAddToSceneGraph()) - pcViewProviderRoot->addChild(root); + if (pcProvider->canAddToSceneGraph()) { + // Add to the physical object group if related to the physical object otherwise add to the scene graph + if (pcProvider->isPartOfPhysicalObject()) { + objectGroup->addChild(root); + } + else { + pcViewProviderRoot->addChild(root); + } + } _ViewProviderMap[root] = pcProvider; } @@ -784,9 +800,15 @@ void View3DInventorViewer::removeViewProvider(ViewProvider* pcProvider) SoSeparator* root = pcProvider->getRoot(); if (root) { - int index = pcViewProviderRoot->findChild(root); - if(index>=0) + int index = objectGroup->findChild(root); + if (index >= 0) { + objectGroup->removeChild(index); + } + + index = pcViewProviderRoot->findChild(root); + if (index >= 0) { pcViewProviderRoot->removeChild(index); + } _ViewProviderMap.erase(root); } @@ -1673,7 +1695,7 @@ SbVec2f View3DInventorViewer::screenCoordsOfPath(SoPath* path) const imageCoords[1] += (height-width) / 2.0; } - return SbVec2f(imageCoords[0], imageCoords[1]); + return {imageCoords[0], imageCoords[1]}; } std::vector View3DInventorViewer::getGLPolygon(const std::vector& pnts) const @@ -1805,9 +1827,9 @@ std::list View3DInventorViewer::getGraphicsItems() const std::list View3DInventorViewer::getGraphicsItemsOfType(const Base::Type& type) const { std::list items; - for (std::list::const_iterator it = this->graphicsItems.begin(); it != this->graphicsItems.end(); ++it) { - if ((*it)->isDerivedFrom(type)) - items.push_back(*it); + for (auto it : this->graphicsItems) { + if (it->isDerivedFrom(type)) + items.push_back(it); } return items; @@ -2131,8 +2153,8 @@ void View3DInventorViewer::renderFramebuffer() printDimension(); navigation->redraw(); - for (std::list::iterator it = this->graphicsItems.begin(); it != this->graphicsItems.end(); ++it) - (*it)->paintGL(); + for (auto it : this->graphicsItems) + it->paintGL(); if (naviCubeEnabled) naviCube->drawNaviCube(); @@ -2163,8 +2185,8 @@ void View3DInventorViewer::renderGLImage() printDimension(); navigation->redraw(); - for (std::list::iterator it = this->graphicsItems.begin(); it != this->graphicsItems.end(); ++it) - (*it)->paintGL(); + for (auto it : this->graphicsItems) + it->paintGL(); if (naviCubeEnabled) naviCube->drawNaviCube(); @@ -2223,8 +2245,8 @@ void View3DInventorViewer::renderScene() } catch (const Base::MemoryException&) { // FIXME: If this exception appears then the background and camera position get broken somehow. (Werner 2006-02-01) - for (std::set::iterator it = _ViewProviderSet.begin(); it != _ViewProviderSet.end(); ++it) - (*it)->hide(); + for (auto it : _ViewProviderSet) + it->hide(); inherited::actualRedraw(); QMessageBox::warning(parentWidget(), QObject::tr("Out of memory"), @@ -2260,8 +2282,8 @@ void View3DInventorViewer::renderScene() printDimension(); navigation->redraw(); - for (std::list::iterator it = this->graphicsItems.begin(); it != this->graphicsItems.end(); ++it) - (*it)->paintGL(); + for (auto it : this->graphicsItems) + it->paintGL(); //fps rendering if (fpsEnabled) { @@ -2297,7 +2319,7 @@ void View3DInventorViewer::setSeekMode(SbBool on) SbVec3f View3DInventorViewer::getCenterPointOnFocalPlane() const { SoCamera* cam = getSoRenderManager()->getCamera(); if (!cam) - return SbVec3f(0. ,0. ,0. ); + return {0. ,0. ,0. }; SbVec3f direction; cam->orientation.getValue().multVec(SbVec3f(0, 0, -1), direction); @@ -2365,9 +2387,9 @@ void View3DInventorViewer::selectAll() { std::vector objs; - for (std::set::iterator it = _ViewProviderSet.begin(); it != _ViewProviderSet.end(); ++it) { - if ((*it)->getTypeId().isDerivedFrom(ViewProviderDocumentObject::getClassTypeId())) { - auto vp = static_cast(*it); + for (auto it : _ViewProviderSet) { + if (it->getTypeId().isDerivedFrom(ViewProviderDocumentObject::getClassTypeId())) { + auto vp = static_cast(it); App::DocumentObject* obj = vp->getObject(); if (obj) objs.push_back(obj); @@ -2417,7 +2439,7 @@ SbVec3f View3DInventorViewer::getViewDirection() const SoCamera* cam = this->getSoRenderManager()->getCamera(); if (!cam) // this is the default - return SbVec3f(0,0,-1); + return {0,0,-1}; SbVec3f projDir = cam->getViewVolume().getProjectionDirection(); return projDir; @@ -2435,7 +2457,7 @@ SbVec3f View3DInventorViewer::getUpDirection() const SoCamera* cam = this->getSoRenderManager()->getCamera(); if (!cam) - return SbVec3f(0,1,0); + return {0,1,0}; SbRotation camrot = cam->orientation.getValue(); SbVec3f upvec(0, 1, 0); // init to default up vector @@ -2448,7 +2470,7 @@ SbRotation View3DInventorViewer::getCameraOrientation() const SoCamera* cam = this->getSoRenderManager()->getCamera(); if (!cam) - return SbRotation(0,0,0,1); // this is the default + return {0,0,0,1}; // this is the default return cam->orientation.getValue(); } @@ -2476,7 +2498,7 @@ SbVec2f View3DInventorViewer::getNormalizedPosition(const SbVec2s& pnt) const pY = (pY - 0.5f*dY) / fRatio + 0.5f*dY; } - return SbVec2f(pX, pY); + return {pX, pY}; } SbVec3f View3DInventorViewer::getPointOnFocalPlane(const SbVec2s& pnt) const @@ -2485,7 +2507,7 @@ SbVec3f View3DInventorViewer::getPointOnFocalPlane(const SbVec2s& pnt) const SoCamera* pCam = this->getSoRenderManager()->getCamera(); if (!pCam) // return invalid point - return SbVec3f(); + return {}; SbViewVolume vol = pCam->getViewVolume(); @@ -2518,7 +2540,7 @@ SbVec2s View3DInventorViewer::getPointOnViewport(const SbVec3f& pnt) const auto x = short(std::roundf(pt[0] * sp[0])); auto y = short(std::roundf(pt[1] * sp[1])); - return SbVec2s(x, y); + return {x, y}; } QPoint View3DInventorViewer::toQPoint(const SbVec2s& pnt) const @@ -2532,7 +2554,7 @@ QPoint View3DInventorViewer::toQPoint(const SbVec2s& pnt) const xpos = int(std::roundf(xpos / dev_pix_ratio)); ypos = int(std::roundf(ypos / dev_pix_ratio)); - return QPoint(xpos, ypos); + return {xpos, ypos}; } SbVec2s View3DInventorViewer::fromQPoint(const QPoint& pnt) const @@ -2593,7 +2615,7 @@ SbVec3f View3DInventorViewer::projectOnNearPlane(const SbVec2f& pt) const SoCamera* cam = this->getSoRenderManager()->getCamera(); if (!cam) // return invalid point - return SbVec3f(); + return {}; SbViewVolume vol = cam->getViewVolume(); vol.projectPointToLine(pt, pt1, pt2); @@ -2606,7 +2628,7 @@ SbVec3f View3DInventorViewer::projectOnFarPlane(const SbVec2f& pt) const SoCamera* cam = this->getSoRenderManager()->getCamera(); if (!cam) // return invalid point - return SbVec3f(); + return {}; SbViewVolume vol = cam->getViewVolume(); vol.projectPointToLine(pt, pt1, pt2); @@ -2765,9 +2787,7 @@ namespace Gui { startPos = camera->position.getValue(); startRot = camera->orientation.getValue(); } - ~CameraAnimation() override - { - } + ~CameraAnimation() override = default; protected: void updateCurrentValue(const QVariant & value) override { diff --git a/src/Gui/View3DInventorViewer.h b/src/Gui/View3DInventorViewer.h index 43dd1e9bf6..0f0edfb429 100644 --- a/src/Gui/View3DInventorViewer.h +++ b/src/Gui/View3DInventorViewer.h @@ -100,7 +100,7 @@ public: //@{ enum ViewerMod { ShowCoord=1, /**< Enables the Coordinate system in the corner. */ - ShowFPS =2, /**< Enables the Frams per Second counter. */ + ShowFPS =2, /**< Enables the Frames Per Second counter. */ SimpleBackground=4,/**< switch to a simple background. */ DisallowRotation=8,/**< switch off the rotation. */ DisallowPanning=16,/**< switch off the panning. */ @@ -485,7 +485,10 @@ private: SoSeparator * foregroundroot; SoDirectionalLight* backlight; + // Scene graph root SoSeparator * pcViewProviderRoot; + // Child group in the scene graph that contains view providers related to the physical object + SoGroup* objectGroup; std::unique_ptr inventorSelection; diff --git a/src/Gui/View3DPy.cpp b/src/Gui/View3DPy.cpp index 48c2bdc881..92f407bbab 100644 --- a/src/Gui/View3DPy.cpp +++ b/src/Gui/View3DPy.cpp @@ -47,6 +47,7 @@ #include #include #include +#include #include #include @@ -83,17 +84,17 @@ void View3DInventorPy::init_type() add_varargs_method("fitAll",&View3DInventorPy::fitAll,"fitAll()"); add_keyword_method("boxZoom",&View3DInventorPy::boxZoom,"boxZoom()"); - add_varargs_method("viewBottom",&View3DInventorPy::viewBottom,"viewBottom()"); - add_varargs_method("viewFront",&View3DInventorPy::viewFront,"viewFront()"); - add_varargs_method("viewLeft",&View3DInventorPy::viewLeft,"viewLeft()"); - add_varargs_method("viewRear",&View3DInventorPy::viewRear,"viewRear()"); - add_varargs_method("viewRight",&View3DInventorPy::viewRight,"viewRight()"); - add_varargs_method("viewTop",&View3DInventorPy::viewTop,"viewTop()"); - add_varargs_method("viewAxometric",&View3DInventorPy::viewIsometric,"viewAxonometric()"); // for backward compatibility - add_varargs_method("viewAxonometric",&View3DInventorPy::viewIsometric,"viewAxonometric()"); - add_varargs_method("viewIsometric",&View3DInventorPy::viewIsometric,"viewIsometric()"); - add_varargs_method("viewDimetric",&View3DInventorPy::viewDimetric,"viewDimetric()"); - add_varargs_method("viewTrimetric",&View3DInventorPy::viewTrimetric,"viewTrimetric()"); + add_noargs_method("viewBottom",&View3DInventorPy::viewBottom,"viewBottom()"); + add_noargs_method("viewFront",&View3DInventorPy::viewFront,"viewFront()"); + add_noargs_method("viewLeft",&View3DInventorPy::viewLeft,"viewLeft()"); + add_noargs_method("viewRear",&View3DInventorPy::viewRear,"viewRear()"); + add_noargs_method("viewRight",&View3DInventorPy::viewRight,"viewRight()"); + add_noargs_method("viewTop",&View3DInventorPy::viewTop,"viewTop()"); + add_noargs_method("viewAxometric",&View3DInventorPy::viewIsometric,"viewAxonometric()"); // for backward compatibility + add_noargs_method("viewAxonometric",&View3DInventorPy::viewIsometric,"viewAxonometric()"); + add_noargs_method("viewIsometric",&View3DInventorPy::viewIsometric,"viewIsometric()"); + add_noargs_method("viewDimetric",&View3DInventorPy::viewDimetric,"viewDimetric()"); + add_noargs_method("viewTrimetric",&View3DInventorPy::viewTrimetric,"viewTrimetric()"); add_varargs_method("viewDefaultOrientation",&View3DInventorPy::viewDefaultOrientation, "viewDefaultOrientation(ori_str = '', scale = -1.0): sets camera rotation to a predefined one, \n" "and camera position and zoom to show certain amount of model space. \n" @@ -104,30 +105,30 @@ void View3DInventorPy::init_type() "model space, so that a sphere of diameter fits the height of the\n" "viewport. If zero, scaling is not done. If negative, the value is \n" "fetched from Parameters."); - add_varargs_method("viewRotateLeft",&View3DInventorPy::viewRotateLeft,"viewRotateLeft()"); - add_varargs_method("viewRotateRight",&View3DInventorPy::viewRotateRight,"viewRotateRight()"); - add_varargs_method("zoomIn",&View3DInventorPy::zoomIn,"zoomIn()"); - add_varargs_method("zoomOut",&View3DInventorPy::zoomOut,"zoomOut()"); + add_noargs_method("viewRotateLeft",&View3DInventorPy::viewRotateLeft,"viewRotateLeft()"); + add_noargs_method("viewRotateRight",&View3DInventorPy::viewRotateRight,"viewRotateRight()"); + add_noargs_method("zoomIn",&View3DInventorPy::zoomIn,"zoomIn()"); + add_noargs_method("zoomOut",&View3DInventorPy::zoomOut,"zoomOut()"); add_varargs_method("viewPosition",&View3DInventorPy::viewPosition,"viewPosition()"); add_varargs_method("startAnimating",&View3DInventorPy::startAnimating,"startAnimating()"); - add_varargs_method("stopAnimating",&View3DInventorPy::stopAnimating,"stopAnimating()"); + add_noargs_method("stopAnimating",&View3DInventorPy::stopAnimating,"stopAnimating()"); add_varargs_method("setAnimationEnabled",&View3DInventorPy::setAnimationEnabled,"setAnimationEnabled()"); - add_varargs_method("isAnimationEnabled",&View3DInventorPy::isAnimationEnabled,"isAnimationEnabled()"); + add_noargs_method("isAnimationEnabled",&View3DInventorPy::isAnimationEnabled,"isAnimationEnabled()"); add_varargs_method("setPopupMenuEnabled",&View3DInventorPy::setPopupMenuEnabled,"setPopupMenuEnabled()"); - add_varargs_method("isPopupMenuEnabled",&View3DInventorPy::isPopupMenuEnabled,"isPopupMenuEnabled()"); + add_noargs_method("isPopupMenuEnabled",&View3DInventorPy::isPopupMenuEnabled,"isPopupMenuEnabled()"); add_varargs_method("dump",&View3DInventorPy::dump,"dump(filename, [onlyVisible=False])"); add_varargs_method("dumpNode",&View3DInventorPy::dumpNode,"dumpNode(node)"); add_varargs_method("setStereoType",&View3DInventorPy::setStereoType,"setStereoType()"); - add_varargs_method("getStereoType",&View3DInventorPy::getStereoType,"getStereoType()"); - add_varargs_method("listStereoTypes",&View3DInventorPy::listStereoTypes,"listStereoTypes()"); + add_noargs_method("getStereoType",&View3DInventorPy::getStereoType,"getStereoType()"); + add_noargs_method("listStereoTypes",&View3DInventorPy::listStereoTypes,"listStereoTypes()"); add_varargs_method("saveImage",&View3DInventorPy::saveImage,"saveImage()"); add_varargs_method("saveVectorGraphic",&View3DInventorPy::saveVectorGraphic,"saveVectorGraphic()"); - add_varargs_method("getCamera",&View3DInventorPy::getCamera,"getCamera()"); - add_varargs_method("getCameraNode",&View3DInventorPy::getCameraNode,"getCameraNode()"); - add_varargs_method("getViewDirection",&View3DInventorPy::getViewDirection,"getViewDirection() --> tuple of floats\n" + add_noargs_method("getCamera",&View3DInventorPy::getCamera,"getCamera()"); + add_noargs_method("getCameraNode",&View3DInventorPy::getCameraNode,"getCameraNode()"); + add_noargs_method("getViewDirection",&View3DInventorPy::getViewDirection,"getViewDirection() --> tuple of floats\n" "returns the direction vector the view is currently pointing at as tuple with xyz values\n" ); - add_varargs_method("getUpDirection",&View3DInventorPy::getUpDirection,"getUpDirection() --> tuple of integers\n" + add_noargs_method("getUpDirection",&View3DInventorPy::getUpDirection,"getUpDirection() --> tuple of integers\n" "Returns the up direction vector\n" ); add_varargs_method("setViewDirection",&View3DInventorPy::setViewDirection,"setViewDirection(tuple) --> None\n" @@ -136,11 +137,11 @@ void View3DInventorPy::init_type() ); add_varargs_method("setCamera",&View3DInventorPy::setCamera,"setCamera()"); add_varargs_method("setCameraOrientation",&View3DInventorPy::setCameraOrientation,"setCameraOrientation()"); - add_varargs_method("getCameraOrientation",&View3DInventorPy::getCameraOrientation,"getCameraOrientation()"); - add_varargs_method("getCameraType",&View3DInventorPy::getCameraType,"getCameraType()"); + add_noargs_method("getCameraOrientation",&View3DInventorPy::getCameraOrientation,"getCameraOrientation()"); + add_noargs_method("getCameraType",&View3DInventorPy::getCameraType,"getCameraType()"); add_varargs_method("setCameraType",&View3DInventorPy::setCameraType,"setCameraType()"); - add_varargs_method("listCameraTypes",&View3DInventorPy::listCameraTypes,"listCameraTypes()"); - add_varargs_method("getCursorPos",&View3DInventorPy::getCursorPos, + add_noargs_method("listCameraTypes",&View3DInventorPy::listCameraTypes,"listCameraTypes()"); + add_noargs_method("getCursorPos",&View3DInventorPy::getCursorPos, "getCursorPos() -> tuple of integers\n" "\n" "Return the current cursor position relative to the coordinate system of the\n" @@ -156,7 +157,7 @@ void View3DInventorPy::init_type() "getObjectsInfo(tuple(int,int), [pick_radius]) -> dictionary or None\n" "\n" "Does the same as getObjectInfo() but returns a list of dictionaries or None.\n"); - add_varargs_method("getSize",&View3DInventorPy::getSize,"getSize()"); + add_noargs_method("getSize",&View3DInventorPy::getSize,"getSize()"); add_varargs_method("getPoint",&View3DInventorPy::getPointOnFocalPlane, "Same as getPointOnFocalPlane"); add_varargs_method("getPointOnFocalPlane",&View3DInventorPy::getPointOnFocalPlane, @@ -178,19 +179,19 @@ void View3DInventorPy::init_type() add_varargs_method("removeEventCallback",&View3DInventorPy::removeEventCallback,"removeEventCallback()"); add_varargs_method("setAnnotation",&View3DInventorPy::setAnnotation,"setAnnotation()"); add_varargs_method("removeAnnotation",&View3DInventorPy::removeAnnotation,"removeAnnotation()"); - add_varargs_method("getSceneGraph",&View3DInventorPy::getSceneGraph,"getSceneGraph()"); - add_varargs_method("getViewer",&View3DInventorPy::getViewer,"getViewer()"); + add_noargs_method("getSceneGraph",&View3DInventorPy::getSceneGraph,"getSceneGraph()"); + add_noargs_method("getViewer",&View3DInventorPy::getViewer,"getViewer()"); add_varargs_method("addEventCallbackPivy",&View3DInventorPy::addEventCallbackPivy,"addEventCallbackPivy()"); add_varargs_method("removeEventCallbackPivy",&View3DInventorPy::removeEventCallbackPivy,"removeEventCallbackPivy()"); add_varargs_method("addEventCallbackSWIG",&View3DInventorPy::addEventCallbackPivy, "Deprecated -- use addEventCallbackPivy()"); add_varargs_method("removeEventCallbackSWIG",&View3DInventorPy::removeEventCallbackPivy, "Deprecated -- use removeEventCallbackPivy()"); - add_varargs_method("listNavigationTypes",&View3DInventorPy::listNavigationTypes,"listNavigationTypes()"); - add_varargs_method("getNavigationType",&View3DInventorPy::getNavigationType,"getNavigationType()"); + add_noargs_method("listNavigationTypes",&View3DInventorPy::listNavigationTypes,"listNavigationTypes()"); + add_noargs_method("getNavigationType",&View3DInventorPy::getNavigationType,"getNavigationType()"); add_varargs_method("setNavigationType",&View3DInventorPy::setNavigationType,"setNavigationType()"); add_varargs_method("setAxisCross",&View3DInventorPy::setAxisCross,"switch the big axis-cross on and off"); - add_varargs_method("hasAxisCross",&View3DInventorPy::hasAxisCross,"check if the big axis-cross is on or off()"); + add_noargs_method("hasAxisCross",&View3DInventorPy::hasAxisCross,"check if the big axis-cross is on or off()"); add_varargs_method("addDraggerCallback",&View3DInventorPy::addDraggerCallback, "addDraggerCallback(SoDragger, String CallbackType, function)\n" "Add a DraggerCalback function to the coin node\n" @@ -201,10 +202,8 @@ void View3DInventorPy::init_type() "Remove the DraggerCalback function from the coin node\n" "Possibles types :\n" "'addFinishCallback','addStartCallback','addMotionCallback','addValueChangedCallback'\n"); - add_varargs_method("setActiveObject", &View3DInventorPy::setActiveObject, "setActiveObject(name,object,subname=None)\nadd or set a new active object"); - add_varargs_method("getActiveObject", &View3DInventorPy::getActiveObject, "getActiveObject(name,resolve=True)\nreturns the active object for the given type"); add_varargs_method("getViewProvidersOfType", &View3DInventorPy::getViewProvidersOfType, "getViewProvidersOfType(name)\nreturns a list of view providers for the given type"); - add_varargs_method("redraw", &View3DInventorPy::redraw, "redraw(): renders the scene on screen (useful for animations)"); + add_noargs_method("redraw", &View3DInventorPy::redraw, "redraw(): renders the scene on screen (useful for animations)"); add_varargs_method("setName",&View3DInventorPy::setName,"setName(str): sets a name to this viewer\nThe name sets the widget's windowTitle and appears on the viewer tab"); add_keyword_method("toggleClippingPlane", &View3DInventorPy::toggleClippingPlane, "toggleClippingPlane(toggle=-1, beforeEditing=False, noManip=True, pla=App.Placement()\n" @@ -213,19 +212,19 @@ void View3DInventorPy::init_type() "beforeEditing: whether to insert the clipping node before or after editing root node\n" "noManip: whether to create a manipulator\n" "pla: clipping plane placement"); - add_varargs_method("hasClippingPlane",&View3DInventorPy::hasClippingPlane, + add_noargs_method("hasClippingPlane",&View3DInventorPy::hasClippingPlane, "hasClippingPlane(): check whether this clipping plane is active"); - add_varargs_method("graphicsView",&View3DInventorPy::graphicsView, + add_noargs_method("graphicsView",&View3DInventorPy::graphicsView, "graphicsView(): Access this view as QGraphicsView"); add_varargs_method("setCornerCrossVisible",&View3DInventorPy::setCornerCrossVisible, "setCornerCrossVisible(bool): Defines corner axis cross visibility"); - add_varargs_method("isCornerCrossVisible",&View3DInventorPy::isCornerCrossVisible, + add_noargs_method("isCornerCrossVisible",&View3DInventorPy::isCornerCrossVisible, "isCornerCrossVisible(): Returns current corner axis cross visibility"); add_varargs_method("setCornerCrossSize",&View3DInventorPy::setCornerCrossSize, "setCornerCrossSize(int): Defines corner axis cross size"); - add_varargs_method("getCornerCrossSize",&View3DInventorPy::getCornerCrossSize, + add_noargs_method("getCornerCrossSize",&View3DInventorPy::getCornerCrossSize, "getCornerCrossSize(): Returns current corner axis cross size"); - add_varargs_method("cast_to_base", &View3DInventorPy::cast_to_base, "cast_to_base() cast to MDIView class"); + add_noargs_method("cast_to_base", &View3DInventorPy::cast_to_base, "cast_to_base() cast to MDIView class"); } View3DInventorPy::View3DInventorPy(View3DInventor *vi) @@ -236,8 +235,8 @@ View3DInventorPy::View3DInventorPy(View3DInventor *vi) View3DInventorPy::~View3DInventorPy() { Base::PyGILStateLocker lock; - for (std::list::iterator it = callbacks.begin(); it != callbacks.end(); ++it) - Py_DECREF(*it); + for (auto it : callbacks) + Py_DECREF(it); } View3DInventor* View3DInventorPy::getView3DIventorPtr() @@ -368,22 +367,20 @@ Py::Object View3DInventorPy::fitAll(const Py::Tuple& args) Py::Object View3DInventorPy::boxZoom(const Py::Tuple& args, const Py::Dict& kwds) { - static char* kwds_box[] = {"XMin", "YMin", "XMax", "YMax", nullptr}; + static const std::array kwds_box{"XMin", "YMin", "XMax", "YMax", nullptr}; short xmin, ymin, xmax, ymax; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "hhhh", kwds_box, - &xmin, &ymin, &xmax, &ymax)) + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "hhhh", kwds_box, + &xmin, &ymin, &xmax, &ymax)) { throw Py::Exception(); + } SbBox2s box(xmin, ymin, xmax, ymax); getView3DIventorPtr()->getViewer()->boxZoom(box); return Py::None(); } -Py::Object View3DInventorPy::viewBottom(const Py::Tuple& args) +Py::Object View3DInventorPy::viewBottom() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->setCameraOrientation(Camera::rotation(Camera::Bottom)); } @@ -400,11 +397,8 @@ Py::Object View3DInventorPy::viewBottom(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::viewFront(const Py::Tuple& args) +Py::Object View3DInventorPy::viewFront() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->setCameraOrientation(Camera::rotation(Camera::Front)); } @@ -421,11 +415,8 @@ Py::Object View3DInventorPy::viewFront(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::viewLeft(const Py::Tuple& args) +Py::Object View3DInventorPy::viewLeft() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->setCameraOrientation(Camera::rotation(Camera::Left)); } @@ -442,11 +433,8 @@ Py::Object View3DInventorPy::viewLeft(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::viewRear(const Py::Tuple& args) +Py::Object View3DInventorPy::viewRear() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->setCameraOrientation(Camera::rotation(Camera::Rear)); } @@ -463,11 +451,8 @@ Py::Object View3DInventorPy::viewRear(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::viewRight(const Py::Tuple& args) +Py::Object View3DInventorPy::viewRight() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->setCameraOrientation(Camera::rotation(Camera::Right)); } @@ -484,11 +469,8 @@ Py::Object View3DInventorPy::viewRight(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::viewTop(const Py::Tuple& args) +Py::Object View3DInventorPy::viewTop() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->setCameraOrientation(Camera::rotation(Camera::Top)); } @@ -505,11 +487,8 @@ Py::Object View3DInventorPy::viewTop(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::viewIsometric(const Py::Tuple& args) +Py::Object View3DInventorPy::viewIsometric() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->setCameraOrientation(Camera::rotation(Camera::Isometric)); } @@ -526,11 +505,8 @@ Py::Object View3DInventorPy::viewIsometric(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::viewDimetric(const Py::Tuple& args) +Py::Object View3DInventorPy::viewDimetric() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->setCameraOrientation(Camera::rotation(Camera::Dimetric)); } @@ -547,11 +523,8 @@ Py::Object View3DInventorPy::viewDimetric(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::viewTrimetric(const Py::Tuple& args) +Py::Object View3DInventorPy::viewTrimetric() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->setCameraOrientation(Camera::rotation(Camera::Trimetric)); } @@ -670,11 +643,8 @@ void View3DInventorPy::setDefaultCameraHeight(float scale) } } -Py::Object View3DInventorPy::viewRotateLeft(const Py::Tuple& args) +Py::Object View3DInventorPy::viewRotateLeft() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { SoCamera* cam = getView3DIventorPtr()->getViewer()->getSoRenderManager()->getCamera(); SbRotation rot = cam->orientation.getValue(); @@ -696,11 +666,8 @@ Py::Object View3DInventorPy::viewRotateLeft(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::viewRotateRight(const Py::Tuple& args) +Py::Object View3DInventorPy::viewRotateRight() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { SoCamera* cam = getView3DIventorPtr()->getViewer()->getSoRenderManager()->getCamera(); SbRotation rot = cam->orientation.getValue(); @@ -722,11 +689,8 @@ Py::Object View3DInventorPy::viewRotateRight(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::zoomIn(const Py::Tuple& args) +Py::Object View3DInventorPy::zoomIn() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->navigationStyle()->zoomIn(); } @@ -743,11 +707,8 @@ Py::Object View3DInventorPy::zoomIn(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::zoomOut(const Py::Tuple& args) +Py::Object View3DInventorPy::zoomOut() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { getView3DIventorPtr()->getViewer()->navigationStyle()->zoomOut(); } @@ -806,10 +767,8 @@ Py::Object View3DInventorPy::setCameraOrientation(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::getCameraOrientation(const Py::Tuple& args) +Py::Object View3DInventorPy::getCameraOrientation() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); SbRotation rot = getView3DIventorPtr()->getViewer()->getCameraOrientation(); float q0,q1,q2,q3; rot.getValue(q0,q1,q2,q3); @@ -859,10 +818,8 @@ Py::Object View3DInventorPy::startAnimating(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::stopAnimating(const Py::Tuple& args) +Py::Object View3DInventorPy::stopAnimating() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); getView3DIventorPtr()->getViewer()->stopAnimating(); return Py::None(); } @@ -876,10 +833,8 @@ Py::Object View3DInventorPy::setAnimationEnabled(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::isAnimationEnabled(const Py::Tuple& args) +Py::Object View3DInventorPy::isAnimationEnabled() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); SbBool ok = getView3DIventorPtr()->getViewer()->isAnimationEnabled(); return Py::Boolean(ok ? true : false); } @@ -893,10 +848,8 @@ Py::Object View3DInventorPy::setPopupMenuEnabled(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::isPopupMenuEnabled(const Py::Tuple& args) +Py::Object View3DInventorPy::isPopupMenuEnabled() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); SbBool ok = getView3DIventorPtr()->getViewer()->isPopupMenuEnabled(); return Py::Boolean(ok ? true : false); } @@ -978,11 +931,8 @@ Py::Object View3DInventorPy::saveVectorGraphic(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::getCameraNode(const Py::Tuple& args) +Py::Object View3DInventorPy::getCameraNode() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { SoNode* camera = getView3DIventorPtr()->getViewer()->getSoRenderManager()->getCamera(); PyObject* proxy = nullptr; @@ -999,11 +949,8 @@ Py::Object View3DInventorPy::getCameraNode(const Py::Tuple& args) } } -Py::Object View3DInventorPy::getCamera(const Py::Tuple& args) +Py::Object View3DInventorPy::getCamera() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - SoOutput out; char buffer[512]; out.setBuffer(buffer, 512, nullptr); @@ -1026,10 +973,8 @@ Py::Object View3DInventorPy::getCamera(const Py::Tuple& args) } } -Py::Object View3DInventorPy::getViewDirection(const Py::Tuple& args) +Py::Object View3DInventorPy::getViewDirection() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); try { SbVec3f dvec = getView3DIventorPtr()->getViewer()->getViewDirection(); return Py::Vector(Base::Vector3f(dvec[0], dvec[1], dvec[2])); @@ -1046,10 +991,8 @@ Py::Object View3DInventorPy::getViewDirection(const Py::Tuple& args) } -Py::Object View3DInventorPy::getUpDirection(const Py::Tuple& args) +Py::Object View3DInventorPy::getUpDirection() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); try { SbVec3f dvec = getView3DIventorPtr()->getViewer()->getUpDirection(); return Py::Vector(Base::Vector3f(dvec[0], dvec[1], dvec[2])); @@ -1127,11 +1070,8 @@ Py::Object View3DInventorPy::setCamera(const Py::Tuple& args) //FIXME: Once View3DInventor inherits from PropertyContainer we can use PropertyEnumeration. const char* CameraTypeEnums[]= {"Orthographic","Perspective",nullptr}; -Py::Object View3DInventorPy::getCameraType(const Py::Tuple& args) +Py::Object View3DInventorPy::getCameraType() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - SoCamera* cam = getView3DIventorPtr()->getViewer()->getSoRenderManager()->getCamera(); if (!cam) { throw Py::RuntimeError("No camera set!"); @@ -1179,11 +1119,8 @@ Py::Object View3DInventorPy::setCameraType(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::listCameraTypes(const Py::Tuple& args) +Py::Object View3DInventorPy::listCameraTypes() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { Py::List list(2); for (int i=0; i<2; i++) { @@ -1285,11 +1222,8 @@ Py::Object View3DInventorPy::setStereoType(const Py::Tuple& args) } } -Py::Object View3DInventorPy::getStereoType(const Py::Tuple& args) +Py::Object View3DInventorPy::getStereoType() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { int mode = int(getView3DIventorPtr()->getViewer()->stereoMode()); if (mode < 0 || mode > 4) @@ -1307,11 +1241,8 @@ Py::Object View3DInventorPy::getStereoType(const Py::Tuple& args) } } -Py::Object View3DInventorPy::listStereoTypes(const Py::Tuple& args) +Py::Object View3DInventorPy::listStereoTypes() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { Py::List list(5); for (int i=0; i<5; i++) { @@ -1331,10 +1262,8 @@ Py::Object View3DInventorPy::listStereoTypes(const Py::Tuple& args) } } -Py::Object View3DInventorPy::getCursorPos(const Py::Tuple& args) +Py::Object View3DInventorPy::getCursorPos() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); try { QPoint pos = getView3DIventorPtr()->mapFromGlobal(QCursor::pos()); auto viewer = getView3DIventorPtr()->getViewer(); @@ -1567,10 +1496,8 @@ Py::Object View3DInventorPy::getObjectsInfo(const Py::Tuple& args) } } -Py::Object View3DInventorPy::getSize(const Py::Tuple& args) +Py::Object View3DInventorPy::getSize() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); try { SbVec2s size = getView3DIventorPtr()->getViewer()->getSoRenderManager()->getSize(); Py::Tuple tuple(2); @@ -1662,7 +1589,7 @@ Py::Object View3DInventorPy::projectPointToLine(const Py::Tuple& args) } } -Py::Object View3DInventorPy::listNavigationTypes(const Py::Tuple&) +Py::Object View3DInventorPy::listNavigationTypes() { std::vector types; Py::List styles; @@ -1673,7 +1600,7 @@ Py::Object View3DInventorPy::listNavigationTypes(const Py::Tuple&) return styles; } -Py::Object View3DInventorPy::getNavigationType(const Py::Tuple&) +Py::Object View3DInventorPy::getNavigationType() { std::string name = getView3DIventorPtr()->getViewer()->navigationStyle()->getTypeId().getName(); return Py::String(name); @@ -1700,7 +1627,7 @@ void View3DInventorPy::eventCallback(void * ud, SoEventCallback * n) // Type dict.setItem("Type", Py::String(std::string(e->getTypeId().getName().getString()))); // Time - dict.setItem("Time", Py::String(std::string(e->getTime().formatDate().getString()))); + dict.setItem("Time", Py::String(std::string(e->getTime().formatDate("%Y-%m-%d %H:%M:%S").getString()))); SbVec2s p = n->getEvent()->getPosition(); Py::Tuple pos(2); pos.setItem(0, Py::Int(p[0])); @@ -2143,11 +2070,8 @@ Py::Object View3DInventorPy::removeAnnotation(const Py::Tuple& args) } } -Py::Object View3DInventorPy::getSceneGraph(const Py::Tuple& args) +Py::Object View3DInventorPy::getSceneGraph() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - try { SoNode* scene = getView3DIventorPtr()->getViewer()->getSceneGraph(); PyObject* proxy = nullptr; @@ -2160,11 +2084,8 @@ Py::Object View3DInventorPy::getSceneGraph(const Py::Tuple& args) } } -Py::Object View3DInventorPy::getViewer(const Py::Tuple& args) +Py::Object View3DInventorPy::getViewer() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - View3DInventorViewer* viewer = getView3DIventorPtr()->getViewer(); return Py::Object(viewer->getPyObject(), true); } @@ -2330,10 +2251,8 @@ Py::Object View3DInventorPy::setAxisCross(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::hasAxisCross(const Py::Tuple& args) +Py::Object View3DInventorPy::hasAxisCross() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); SbBool ok = getView3DIventorPtr()->getViewer()->hasAxisCross(); return Py::Boolean(ok ? true : false); } @@ -2469,50 +2388,6 @@ Py::Object View3DInventorPy::removeDraggerCallback(const Py::Tuple& args) } } -Py::Object View3DInventorPy::setActiveObject(const Py::Tuple& args) -{ - PyObject* docObject = Py_None; - char* name; - char *subname = nullptr; - if (!PyArg_ParseTuple(args.ptr(), "s|Os", &name, &docObject, &subname)) - throw Py::Exception(); - - try { - Base::PyTypeCheck(&docObject, &App::DocumentObjectPy::Type, - "Expect the second argument to be a document object or None"); - App::DocumentObject* obj = docObject ? - static_cast(docObject)->getDocumentObjectPtr() : nullptr; - getView3DIventorPtr()->setActiveObject(obj, name, subname); - - return Py::None(); - } - catch (const Base::Exception& e) { - throw Py::Exception(e.getPyExceptionType(), e.what()); - } -} - -Py::Object View3DInventorPy::getActiveObject(const Py::Tuple& args) -{ - char* name; - PyObject *resolve = Py_True; - if (!PyArg_ParseTuple(args.ptr(), "s|O!", &name, &PyBool_Type, &resolve)) - throw Py::Exception(); - - App::DocumentObject *parent = nullptr; - std::string subname; - App::DocumentObject* obj = getView3DIventorPtr()->getActiveObject(name,&parent,&subname); - if (!obj) - return Py::None(); - - if (Base::asBoolean(resolve)) - return Py::asObject(obj->getPyObject()); - - return Py::TupleN( - Py::asObject(obj->getPyObject()), - Py::asObject(parent->getPyObject()), - Py::String(subname.c_str())); -} - Py::Object View3DInventorPy::getViewProvidersOfType(const Py::Tuple& args) { char* name; @@ -2528,10 +2403,8 @@ Py::Object View3DInventorPy::getViewProvidersOfType(const Py::Tuple& args) return list; } -Py::Object View3DInventorPy::redraw(const Py::Tuple& args) +Py::Object View3DInventorPy::redraw() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); getView3DIventorPtr()->getViewer()->redraw(); return Py::None(); } @@ -2559,15 +2432,16 @@ Py::Object View3DInventorPy::setName(const Py::Tuple& args) Py::Object View3DInventorPy::toggleClippingPlane(const Py::Tuple& args, const Py::Dict& kwds) { - static char* keywords[] = {"toggle", "beforeEditing", "noManip", "pla", nullptr}; + static const std::array keywords {"toggle", "beforeEditing", "noManip", "pla", nullptr}; int toggle = -1; PyObject *beforeEditing = Py_False; PyObject *noManip = Py_True; PyObject *pyPla = Py_None; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "|iO!O!O!", keywords, + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "|iO!O!O!", keywords, &toggle, &PyBool_Type, &beforeEditing, &PyBool_Type, &noManip, - &Base::PlacementPy::Type, &pyPla)) + &Base::PlacementPy::Type, &pyPla)) { throw Py::Exception(); + } Base::Placement pla; if(pyPla!=Py_None) @@ -2577,18 +2451,13 @@ Py::Object View3DInventorPy::toggleClippingPlane(const Py::Tuple& args, const Py return Py::None(); } -Py::Object View3DInventorPy::hasClippingPlane(const Py::Tuple& args) +Py::Object View3DInventorPy::hasClippingPlane() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); return Py::Boolean(getView3DIventorPtr()->getViewer()->hasClippingPlane()); } -Py::Object View3DInventorPy::graphicsView(const Py::Tuple& args) +Py::Object View3DInventorPy::graphicsView() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); - PythonWrapper wrap; wrap.loadWidgetsModule(); return wrap.fromQWidget(getView3DIventorPtr()->getViewer(), "QGraphicsView"); @@ -2604,10 +2473,8 @@ Py::Object View3DInventorPy::setCornerCrossVisible(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::isCornerCrossVisible(const Py::Tuple& args) +Py::Object View3DInventorPy::isCornerCrossVisible() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); bool ok = getView3DIventorPtr()->getViewer()->isFeedbackVisible(); return Py::Boolean(ok ? true : false); } @@ -2622,15 +2489,13 @@ Py::Object View3DInventorPy::setCornerCrossSize(const Py::Tuple& args) return Py::None(); } -Py::Object View3DInventorPy::getCornerCrossSize(const Py::Tuple& args) +Py::Object View3DInventorPy::getCornerCrossSize() { - if (!PyArg_ParseTuple(args.ptr(), "")) - throw Py::Exception(); int size = getView3DIventorPtr()->getViewer()->getFeedbackSize(); return Py::Int(size); } -Py::Object View3DInventorPy::cast_to_base(const Py::Tuple&) +Py::Object View3DInventorPy::cast_to_base() { return Gui::MDIViewPy::create(getView3DIventorPtr()); } diff --git a/src/Gui/View3DPy.h b/src/Gui/View3DPy.h index a6211fe351..2a63dc7d04 100644 --- a/src/Gui/View3DPy.h +++ b/src/Gui/View3DPy.h @@ -48,53 +48,53 @@ public: Py::Object repr() override; Py::Object getattr(const char *) override; int setattr(const char *, const Py::Object &) override; - Py::Object cast_to_base(const Py::Tuple&); + Py::Object cast_to_base(); Py::Object fitAll(const Py::Tuple&); Py::Object boxZoom(const Py::Tuple&, const Py::Dict&); - Py::Object viewBottom(const Py::Tuple&); - Py::Object viewFront(const Py::Tuple&); - Py::Object viewLeft(const Py::Tuple&); - Py::Object viewRear(const Py::Tuple&); - Py::Object viewRight(const Py::Tuple&); - Py::Object viewTop(const Py::Tuple&); - Py::Object viewIsometric(const Py::Tuple&); - Py::Object viewDimetric(const Py::Tuple&); - Py::Object viewTrimetric(const Py::Tuple&); + Py::Object viewBottom(); + Py::Object viewFront(); + Py::Object viewLeft(); + Py::Object viewRear(); + Py::Object viewRight(); + Py::Object viewTop(); + Py::Object viewIsometric(); + Py::Object viewDimetric(); + Py::Object viewTrimetric(); Py::Object viewDefaultOrientation(const Py::Tuple&); Py::Object viewPosition(const Py::Tuple&); - Py::Object viewRotateLeft(const Py::Tuple&); - Py::Object viewRotateRight(const Py::Tuple&); - Py::Object zoomIn(const Py::Tuple&); - Py::Object zoomOut(const Py::Tuple&); + Py::Object viewRotateLeft(); + Py::Object viewRotateRight(); + Py::Object zoomIn(); + Py::Object zoomOut(); Py::Object startAnimating(const Py::Tuple&); - Py::Object stopAnimating(const Py::Tuple&); + Py::Object stopAnimating(); Py::Object setAnimationEnabled(const Py::Tuple&); - Py::Object isAnimationEnabled(const Py::Tuple&); + Py::Object isAnimationEnabled(); Py::Object setPopupMenuEnabled(const Py::Tuple&); - Py::Object isPopupMenuEnabled(const Py::Tuple&); + Py::Object isPopupMenuEnabled(); Py::Object dump(const Py::Tuple&); Py::Object dumpNode(const Py::Tuple&); Py::Object setStereoType(const Py::Tuple&); - Py::Object getStereoType(const Py::Tuple&); - Py::Object listStereoTypes(const Py::Tuple&); + Py::Object getStereoType(); + Py::Object listStereoTypes(); Py::Object saveImage(const Py::Tuple&); Py::Object saveVectorGraphic(const Py::Tuple&); - Py::Object getCamera(const Py::Tuple&); - Py::Object getViewDirection(const Py::Tuple&); - Py::Object getUpDirection(const Py::Tuple&); + Py::Object getCamera(); + Py::Object getViewDirection(); + Py::Object getUpDirection(); Py::Object setViewDirection(const Py::Tuple&); Py::Object setCamera(const Py::Tuple&); Py::Object setCameraOrientation(const Py::Tuple&); - Py::Object getCameraOrientation(const Py::Tuple&); - Py::Object getCameraType(const Py::Tuple&); + Py::Object getCameraOrientation(); + Py::Object getCameraType(); Py::Object setCameraType(const Py::Tuple&); - Py::Object getCameraNode(const Py::Tuple&); - Py::Object listCameraTypes(const Py::Tuple&); - Py::Object getCursorPos(const Py::Tuple&); + Py::Object getCameraNode(); + Py::Object listCameraTypes(); + Py::Object getCursorPos(); Py::Object getObjectInfo(const Py::Tuple&); Py::Object getObjectsInfo(const Py::Tuple&); - Py::Object getSize(const Py::Tuple&); + Py::Object getSize(); Py::Object getPointOnFocalPlane(const Py::Tuple&); Py::Object projectPointToLine(const Py::Tuple&); Py::Object getPointOnViewport(const Py::Tuple&); @@ -102,29 +102,27 @@ public: Py::Object removeEventCallback(const Py::Tuple&); Py::Object setAnnotation(const Py::Tuple&); Py::Object removeAnnotation(const Py::Tuple&); - Py::Object getSceneGraph(const Py::Tuple&); - Py::Object getViewer(const Py::Tuple&); + Py::Object getSceneGraph(); + Py::Object getViewer(); Py::Object addEventCallbackPivy(const Py::Tuple&); Py::Object removeEventCallbackPivy(const Py::Tuple&); - Py::Object listNavigationTypes(const Py::Tuple&); - Py::Object getNavigationType(const Py::Tuple&); + Py::Object listNavigationTypes(); + Py::Object getNavigationType(); Py::Object setNavigationType(const Py::Tuple&); Py::Object setAxisCross(const Py::Tuple&); - Py::Object hasAxisCross(const Py::Tuple&); + Py::Object hasAxisCross(); Py::Object addDraggerCallback(const Py::Tuple&); Py::Object removeDraggerCallback(const Py::Tuple&); - Py::Object setActiveObject(const Py::Tuple&); - Py::Object getActiveObject(const Py::Tuple&); Py::Object getViewProvidersOfType(const Py::Tuple&); - Py::Object redraw(const Py::Tuple&); + Py::Object redraw(); Py::Object setName(const Py::Tuple&); Py::Object toggleClippingPlane(const Py::Tuple& args, const Py::Dict &); - Py::Object hasClippingPlane(const Py::Tuple& args); - Py::Object graphicsView(const Py::Tuple& args); + Py::Object hasClippingPlane(); + Py::Object graphicsView(); Py::Object setCornerCrossVisible(const Py::Tuple& args); - Py::Object isCornerCrossVisible(const Py::Tuple& args); + Py::Object isCornerCrossVisible(); Py::Object setCornerCrossSize(const Py::Tuple& args); - Py::Object getCornerCrossSize(const Py::Tuple& args); + Py::Object getCornerCrossSize(); private: void setDefaultCameraHeight(float); diff --git a/src/Gui/View3DViewerPy.cpp b/src/Gui/View3DViewerPy.cpp index abe03b58fb..5ae4a4cb74 100644 --- a/src/Gui/View3DViewerPy.cpp +++ b/src/Gui/View3DViewerPy.cpp @@ -113,8 +113,8 @@ View3DInventorViewerPy::View3DInventorViewerPy(View3DInventorViewer *vi) View3DInventorViewerPy::~View3DInventorViewerPy() { Base::PyGILStateLocker lock; - for (std::list::iterator it = callbacks.begin(); it != callbacks.end(); ++it) - Py_DECREF(*it); + for (auto it : callbacks) + Py_DECREF(it); } diff --git a/src/Gui/ViewParams.cpp b/src/Gui/ViewParams.cpp index 248d02c5f7..062b97f991 100644 --- a/src/Gui/ViewParams.cpp +++ b/src/Gui/ViewParams.cpp @@ -37,8 +37,7 @@ ViewParams::ViewParams() { FC_VIEW_PARAMS } -ViewParams::~ViewParams() { -} +ViewParams::~ViewParams() = default; void ViewParams::OnChange(Base::Subject &, const char* sReason) { if(!sReason) diff --git a/src/Gui/ViewProvider.cpp b/src/Gui/ViewProvider.cpp index f3faf2d8aa..152da008a8 100644 --- a/src/Gui/ViewProvider.cpp +++ b/src/Gui/ViewProvider.cpp @@ -88,12 +88,7 @@ void coinRemoveAllChildren(SoGroup *group) { PROPERTY_SOURCE_ABSTRACT(Gui::ViewProvider, App::TransactionalObject) ViewProvider::ViewProvider() - : pcAnnotation(nullptr) - , pyViewObject(nullptr) - , overrideMode("As Is") - , _iActualMode(-1) - , _iEditMode(-1) - , viewOverrideMode(-1) + : overrideMode("As Is") { setStatus(UpdateData, true); @@ -365,12 +360,14 @@ void ViewProvider::setTransformation(const SbMatrix &rcMatrix) SbMatrix ViewProvider::convert(const Base::Matrix4D &rcMatrix) { + //NOLINTBEGIN double dMtrx[16]; rcMatrix.getGLMatrix(dMtrx); - return SbMatrix(dMtrx[0], dMtrx[1], dMtrx[2], dMtrx[3], + return SbMatrix(dMtrx[0], dMtrx[1], dMtrx[2], dMtrx[3], // clazy:exclude=rule-of-two-soft dMtrx[4], dMtrx[5], dMtrx[6], dMtrx[7], dMtrx[8], dMtrx[9], dMtrx[10], dMtrx[11], dMtrx[12],dMtrx[13],dMtrx[14], dMtrx[15]); + //NOLINTEND } Base::Matrix4D ViewProvider::convert(const SbMatrix &smat) @@ -412,9 +409,8 @@ SoNode* ViewProvider::getDisplayMaskMode(const char* type) const std::vector ViewProvider::getDisplayMaskModes() const { std::vector types; - for (std::map::const_iterator it = _sDisplayMaskModes.begin(); - it != _sDisplayMaskModes.end(); ++it) - types.push_back( it->first ); + for (const auto & it : _sDisplayMaskModes) + types.push_back( it.first ); return types; } @@ -813,7 +809,7 @@ std::string ViewProvider::dropObjectEx(App::DocumentObject* obj, App::DocumentOb return ext->extensionDropObjectEx(obj, owner, subname, elements); } dropObject(obj); - return std::string(); + return {}; } int ViewProvider::replaceObject(App::DocumentObject* oldValue, App::DocumentObject* newValue) diff --git a/src/Gui/ViewProvider.h b/src/Gui/ViewProvider.h index 101375776b..65a5df2a3f 100644 --- a/src/Gui/ViewProvider.h +++ b/src/Gui/ViewProvider.h @@ -94,7 +94,7 @@ public: // Too bad, VC2013 does not support constructor inheritance //using boost::intrusive_ptr::intrusive_ptr; using inherited = boost::intrusive_ptr; - CoinPtr() {} + CoinPtr() = default; CoinPtr(T *p, bool add_ref=true):inherited(p,add_ref){} template CoinPtr(CoinPtr const &r):inherited(r){} @@ -142,6 +142,8 @@ public: virtual SoSeparator* getBackRoot() const; ///Indicate whether to be added to scene graph or not virtual bool canAddToSceneGraph() const {return true;} + // Indicate whether to be added to object group (true) or only to scene graph (false) + virtual bool isPartOfPhysicalObject() const {return true;} /** deliver the children belonging to this object * this method is used to deliver the objects to @@ -164,7 +166,7 @@ public: /// return a hit element given the picked point which contains the full node path virtual bool getElementPicked(const SoPickedPoint *, std::string &subname) const; /// return a hit element to the selection path or 0 - virtual std::string getElement(const SoDetail *) const { return std::string(); } + virtual std::string getElement(const SoDetail *) const { return {}; } /// return the coin node detail of the subelement virtual SoDetail* getDetail(const char *) const { return nullptr; } @@ -201,7 +203,7 @@ public: /// return the highlight lines for a given element or the whole shape virtual std::vector getSelectionShape(const char* Element) const { (void)Element; - return std::vector(); + return {}; } /** Return the bound box of this view object @@ -310,7 +312,7 @@ public: const char *subname, const std::vector &elements) const; /// return a subname referencing the sub-object holding the dropped objects - virtual std::string getDropPrefix() const { return std::string(); } + virtual std::string getDropPrefix() const { return {}; } /** Add an object with full qualified name to the view provider by drag and drop * @@ -563,15 +565,15 @@ protected: /// this is the mode switch, all the different viewing modes are collected here SoSwitch *pcModeSwitch; /// The root separator for annotations - SoSeparator *pcAnnotation; - ViewProviderPy* pyViewObject; + SoSeparator *pcAnnotation{nullptr}; + ViewProviderPy* pyViewObject{nullptr}; std::string overrideMode; std::bitset<32> StatusBits; private: - int _iActualMode; - int _iEditMode; - int viewOverrideMode; + int _iActualMode{-1}; + int _iEditMode{-1}; + int viewOverrideMode{-1}; std::string _sCurrentMode; std::map _sDisplayMaskModes; }; diff --git a/src/Gui/ViewProviderBuilder.cpp b/src/Gui/ViewProviderBuilder.cpp index a1b006347c..478dace621 100644 --- a/src/Gui/ViewProviderBuilder.cpp +++ b/src/Gui/ViewProviderBuilder.cpp @@ -37,13 +37,9 @@ using namespace Gui; std::map ViewProviderBuilder::_prop_to_view; -ViewProviderBuilder::ViewProviderBuilder() -{ -} +ViewProviderBuilder::ViewProviderBuilder() = default; -ViewProviderBuilder::~ViewProviderBuilder() -{ -} +ViewProviderBuilder::~ViewProviderBuilder() = default; void ViewProviderBuilder::add(const Base::Type& prop, const Base::Type& view) { @@ -94,13 +90,9 @@ Gui::SoFCSelection* ViewProviderBuilder::createSelection() // -------------------------------------- -ViewProviderColorBuilder::ViewProviderColorBuilder() -{ -} +ViewProviderColorBuilder::ViewProviderColorBuilder() = default; -ViewProviderColorBuilder::~ViewProviderColorBuilder() -{ -} +ViewProviderColorBuilder::~ViewProviderColorBuilder() = default; void ViewProviderColorBuilder::buildNodes(const App::Property* prop, std::vector& node) const { diff --git a/src/Gui/ViewProviderDocumentObject.cpp b/src/Gui/ViewProviderDocumentObject.cpp index 61aab4022d..31dd847fba 100644 --- a/src/Gui/ViewProviderDocumentObject.cpp +++ b/src/Gui/ViewProviderDocumentObject.cpp @@ -58,8 +58,6 @@ using namespace Gui; PROPERTY_SOURCE(Gui::ViewProviderDocumentObject, Gui::ViewProvider) ViewProviderDocumentObject::ViewProviderDocumentObject() - : pcObject(nullptr) - , pcDocument(nullptr) { static const char *dogroup = "Display Options"; static const char *sgroup = "Selection"; @@ -346,8 +344,8 @@ void ViewProviderDocumentObject::attach(App::DocumentObject *pcObj) // We must collect the const char* of the strings and give it to PropertyEnumeration, // but we are still responsible for them, i.e. the property class must not delete the literals. //for (auto it = aDisplayModesArray.begin(); it != aDisplayModesArray.end(); ++it) { - for (std::vector::iterator it = aDisplayModesArray.begin(); it != aDisplayModesArray.end(); ++it) { - aDisplayEnumsArray.push_back( it->c_str() ); + for (const auto & it : aDisplayModesArray) { + aDisplayEnumsArray.push_back( it.c_str() ); } aDisplayEnumsArray.push_back(nullptr); // null termination DisplayMode.setEnums(&(aDisplayEnumsArray[0])); diff --git a/src/Gui/ViewProviderDocumentObject.h b/src/Gui/ViewProviderDocumentObject.h index f01c808069..14b8cd38c6 100644 --- a/src/Gui/ViewProviderDocumentObject.h +++ b/src/Gui/ViewProviderDocumentObject.h @@ -210,8 +210,8 @@ protected: void addDefaultAction(QMenu*, const QString&); protected: - App::DocumentObject *pcObject; - Gui::Document* pcDocument; + App::DocumentObject *pcObject{nullptr}; + Gui::Document* pcDocument{nullptr}; private: bool _Showable = true; diff --git a/src/Gui/ViewProviderDocumentObjectGroup.cpp b/src/Gui/ViewProviderDocumentObjectGroup.cpp index 9826c9fe0e..84f9b02dee 100644 --- a/src/Gui/ViewProviderDocumentObjectGroup.cpp +++ b/src/Gui/ViewProviderDocumentObjectGroup.cpp @@ -46,14 +46,12 @@ ViewProviderDocumentObjectGroup::ViewProviderDocumentObjectGroup() sPixmap = "folder"; } -ViewProviderDocumentObjectGroup::~ViewProviderDocumentObjectGroup() -{ -} +ViewProviderDocumentObjectGroup::~ViewProviderDocumentObjectGroup() = default; std::vector ViewProviderDocumentObjectGroup::getDisplayModes() const { // empty - return std::vector(); + return {}; } bool ViewProviderDocumentObjectGroup::isShow() const diff --git a/src/Gui/ViewProviderDocumentObjectPyImp.cpp b/src/Gui/ViewProviderDocumentObjectPyImp.cpp index 41a7030d6f..0ee5f203ba 100644 --- a/src/Gui/ViewProviderDocumentObjectPyImp.cpp +++ b/src/Gui/ViewProviderDocumentObjectPyImp.cpp @@ -74,7 +74,7 @@ void ViewProviderDocumentObjectPy::setObject(Py::Object pyobj) Py::Boolean ViewProviderDocumentObjectPy::getForceUpdate() const { - return Py::Boolean(getViewProviderDocumentObjectPtr()->isUpdateForced()); + return {getViewProviderDocumentObjectPtr()->isUpdateForced()}; } void ViewProviderDocumentObjectPy::setForceUpdate(Py::Boolean arg) diff --git a/src/Gui/ViewProviderDragger.cpp b/src/Gui/ViewProviderDragger.cpp index 3c40e1901f..ef612751b3 100644 --- a/src/Gui/ViewProviderDragger.cpp +++ b/src/Gui/ViewProviderDragger.cpp @@ -49,13 +49,9 @@ using namespace Gui; PROPERTY_SOURCE(Gui::ViewProviderDragger, Gui::ViewProviderDocumentObject) -ViewProviderDragger::ViewProviderDragger() -{ -} +ViewProviderDragger::ViewProviderDragger() = default; -ViewProviderDragger::~ViewProviderDragger() -{ -} +ViewProviderDragger::~ViewProviderDragger() = default; void ViewProviderDragger::updateData(const App::Property* prop) { diff --git a/src/Gui/ViewProviderExtension.cpp b/src/Gui/ViewProviderExtension.cpp index e9fb56c0ca..c7ac21bfc3 100644 --- a/src/Gui/ViewProviderExtension.cpp +++ b/src/Gui/ViewProviderExtension.cpp @@ -42,10 +42,7 @@ ViewProviderExtension::ViewProviderExtension() initExtensionType(Gui::ViewProviderExtension::getExtensionClassTypeId()); } -ViewProviderExtension::~ViewProviderExtension() -{ - -} +ViewProviderExtension::~ViewProviderExtension() = default; const ViewProviderDocumentObject* ViewProviderExtension::getExtendedViewProvider() const{ diff --git a/src/Gui/ViewProviderExtension.h b/src/Gui/ViewProviderExtension.h index 2b68a6e8f5..931b4dd534 100644 --- a/src/Gui/ViewProviderExtension.h +++ b/src/Gui/ViewProviderExtension.h @@ -62,13 +62,13 @@ public: const Gui::ViewProviderDocumentObject* getExtendedViewProvider() const; virtual std::vector extensionClaimChildren3D() const { - return std::vector(); } + return {}; } virtual bool extensionOnDelete(const std::vector &){ return true;} virtual void extensionBeforeDelete(){} virtual std::vector extensionClaimChildren() const { - return std::vector(); } + return {}; } virtual bool extensionCanDragObjects() const { return false; } virtual bool extensionCanDragObject(App::DocumentObject*) const { return true; } @@ -82,7 +82,7 @@ public: { return false; } virtual std::string extensionDropObjectEx(App::DocumentObject *obj, App::DocumentObject *, const char *, const std::vector &) - { extensionDropObject(obj); return std::string(); } + { extensionDropObject(obj); return {}; } virtual int extensionReplaceObject(App::DocumentObject* /*oldValue*/, App::DocumentObject* /*newValue*/) { return -1; } @@ -100,7 +100,7 @@ public: virtual void extensionAttach(App::DocumentObject* ) { } virtual void extensionReattach(App::DocumentObject* ) { } virtual void extensionSetDisplayMode(const char* ) { } - virtual std::vector extensionGetDisplayModes() const {return std::vector();} + virtual std::vector extensionGetDisplayModes() const {return {};} virtual void extensionSetupContextMenu(QMenu*, QObject*, const char*) {} // update data of extended object diff --git a/src/Gui/ViewProviderExtensionPyImp.cpp b/src/Gui/ViewProviderExtensionPyImp.cpp index 987267fadb..c14390dc38 100644 --- a/src/Gui/ViewProviderExtensionPyImp.cpp +++ b/src/Gui/ViewProviderExtensionPyImp.cpp @@ -37,7 +37,7 @@ using namespace Gui; // returns a string which represent the object e.g. when printed in python std::string ViewProviderExtensionPy::representation() const { - return std::string(""); + return {""}; } PyObject* ViewProviderExtensionPy::setIgnoreOverlayIcon(PyObject *args) diff --git a/src/Gui/ViewProviderExtern.cpp b/src/Gui/ViewProviderExtern.cpp index f62c8e868b..7e235453be 100644 --- a/src/Gui/ViewProviderExtern.cpp +++ b/src/Gui/ViewProviderExtern.cpp @@ -44,15 +44,9 @@ using namespace Gui; PROPERTY_SOURCE(Gui::ViewProviderExtern, Gui::ViewProvider) -ViewProviderExtern::ViewProviderExtern() -{ +ViewProviderExtern::ViewProviderExtern() = default; -} - -ViewProviderExtern::~ViewProviderExtern() -{ - -} +ViewProviderExtern::~ViewProviderExtern() = default; void ViewProviderExtern::setModeByString(const char* name, const char* ivFragment) { diff --git a/src/Gui/ViewProviderFeature.cpp b/src/Gui/ViewProviderFeature.cpp index d63bf0e0a9..dd8b705b8c 100644 --- a/src/Gui/ViewProviderFeature.cpp +++ b/src/Gui/ViewProviderFeature.cpp @@ -38,9 +38,7 @@ ViewProviderFeature::ViewProviderFeature() ADD_PROPERTY(ColourList,(c)); } -ViewProviderFeature::~ViewProviderFeature() -{ -} +ViewProviderFeature::~ViewProviderFeature() = default; void ViewProviderFeature::attach(App::DocumentObject *pcObj) { diff --git a/src/Gui/ViewProviderGeoFeatureGroup.cpp b/src/Gui/ViewProviderGeoFeatureGroup.cpp index d95645b01e..ca0fd9825c 100644 --- a/src/Gui/ViewProviderGeoFeatureGroup.cpp +++ b/src/Gui/ViewProviderGeoFeatureGroup.cpp @@ -36,9 +36,7 @@ ViewProviderGeoFeatureGroup::ViewProviderGeoFeatureGroup() ViewProviderGeoFeatureGroupExtension::initExtension(this); } -ViewProviderGeoFeatureGroup::~ViewProviderGeoFeatureGroup() -{ -} +ViewProviderGeoFeatureGroup::~ViewProviderGeoFeatureGroup() = default; // Python feature ----------------------------------------------------------------------- diff --git a/src/Gui/ViewProviderGeoFeatureGroupExtension.cpp b/src/Gui/ViewProviderGeoFeatureGroupExtension.cpp index 35012dff48..062e11b6e9 100644 --- a/src/Gui/ViewProviderGeoFeatureGroupExtension.cpp +++ b/src/Gui/ViewProviderGeoFeatureGroupExtension.cpp @@ -72,7 +72,7 @@ std::vector ViewProviderGeoFeatureGroupExtension::extensio auto objs = ext->Group.getValues(); return objs; } - return std::vector(); + return {}; } std::vector ViewProviderGeoFeatureGroupExtension::extensionClaimChildren() const { diff --git a/src/Gui/ViewProviderGeometryObject.cpp b/src/Gui/ViewProviderGeometryObject.cpp index 7ffaf7bb4a..03102539b1 100644 --- a/src/Gui/ViewProviderGeometryObject.cpp +++ b/src/Gui/ViewProviderGeometryObject.cpp @@ -56,8 +56,6 @@ PROPERTY_SOURCE(Gui::ViewProviderGeometryObject, Gui::ViewProviderDragger) const App::PropertyIntegerConstraint::Constraints intPercent = {0, 100, 5}; ViewProviderGeometryObject::ViewProviderGeometryObject() - : pcBoundSwitch(nullptr) - , pcBoundColor(nullptr) { ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/View"); bool randomColor = hGrp->GetBool("RandomColor", false); diff --git a/src/Gui/ViewProviderGeometryObject.h b/src/Gui/ViewProviderGeometryObject.h index 0b16849284..34fb86f0f0 100644 --- a/src/Gui/ViewProviderGeometryObject.h +++ b/src/Gui/ViewProviderGeometryObject.h @@ -95,10 +95,10 @@ protected: virtual unsigned long getBoundColor() const; protected: - SoMaterial * pcShapeMaterial; - SoFCBoundingBox * pcBoundingBox; - SoSwitch * pcBoundSwitch; - SoBaseColor * pcBoundColor; + SoMaterial * pcShapeMaterial{nullptr}; + SoFCBoundingBox * pcBoundingBox{nullptr}; + SoSwitch * pcBoundSwitch{nullptr}; + SoBaseColor * pcBoundColor{nullptr}; }; } // namespace Gui diff --git a/src/Gui/ViewProviderGroupExtension.cpp b/src/Gui/ViewProviderGroupExtension.cpp index 698bcdc1d1..45ce98d452 100644 --- a/src/Gui/ViewProviderGroupExtension.cpp +++ b/src/Gui/ViewProviderGroupExtension.cpp @@ -43,14 +43,12 @@ using namespace Gui; EXTENSION_PROPERTY_SOURCE(Gui::ViewProviderGroupExtension, Gui::ViewProviderExtension) -ViewProviderGroupExtension::ViewProviderGroupExtension() : guard(false) +ViewProviderGroupExtension::ViewProviderGroupExtension() { initExtensionType(ViewProviderGroupExtension::getExtensionClassTypeId()); } -ViewProviderGroupExtension::~ViewProviderGroupExtension() -{ -} +ViewProviderGroupExtension::~ViewProviderGroupExtension() = default; bool ViewProviderGroupExtension::extensionCanDragObjects() const { return true; @@ -111,7 +109,7 @@ void ViewProviderGroupExtension::extensionDropObject(App::DocumentObject* obj) { std::vector< App::DocumentObject* > ViewProviderGroupExtension::extensionClaimChildren() const { auto* group = getExtendedViewProvider()->getObject()->getExtensionByType(); - return std::vector(group->Group.getValues()); + return group->Group.getValues(); } void ViewProviderGroupExtension::extensionShow() { diff --git a/src/Gui/ViewProviderGroupExtension.h b/src/Gui/ViewProviderGroupExtension.h index 11bbd531e6..882d96c0f4 100644 --- a/src/Gui/ViewProviderGroupExtension.h +++ b/src/Gui/ViewProviderGroupExtension.h @@ -52,7 +52,7 @@ public: bool extensionOnDelete(const std::vector &) override; private: - bool guard; + bool guard{false}; std::vector nodes; }; diff --git a/src/Gui/ViewProviderLine.cpp b/src/Gui/ViewProviderLine.cpp index 89fa0aa4aa..37c3482074 100644 --- a/src/Gui/ViewProviderLine.cpp +++ b/src/Gui/ViewProviderLine.cpp @@ -46,8 +46,7 @@ ViewProviderLine::ViewProviderLine() sPixmap = "Std_Axis"; } -ViewProviderLine::~ViewProviderLine() -{ } +ViewProviderLine::~ViewProviderLine() = default; void ViewProviderLine::attach ( App::DocumentObject *obj ) { ViewProviderOriginFeature::attach ( obj ); diff --git a/src/Gui/ViewProviderLink.cpp b/src/Gui/ViewProviderLink.cpp index 308ae5d243..234f67245f 100644 --- a/src/Gui/ViewProviderLink.cpp +++ b/src/Gui/ViewProviderLink.cpp @@ -209,8 +209,7 @@ public: transformSensor.setData(this); } - ~LinkInfo() { - } + ~LinkInfo() = default; bool checkName(const char *name) const { return isLinked() && strcmp(name,getLinkedName())==0; diff --git a/src/Gui/ViewProviderLink.h b/src/Gui/ViewProviderLink.h index a3277f708c..5ff3edb5ba 100644 --- a/src/Gui/ViewProviderLink.h +++ b/src/Gui/ViewProviderLink.h @@ -66,7 +66,7 @@ public: virtual void onLinkedIconChange(LinkInfoPtr) {} virtual void onLinkedUpdateData(LinkInfoPtr,const App::Property *) {} protected: - virtual ~LinkOwner() {} + virtual ~LinkOwner() = default; }; class GuiExport LinkView : public Base::BaseClass, public LinkOwner { diff --git a/src/Gui/ViewProviderLinkPyImp.cpp b/src/Gui/ViewProviderLinkPyImp.cpp index a81a25fb7a..c1f3588e71 100644 --- a/src/Gui/ViewProviderLinkPyImp.cpp +++ b/src/Gui/ViewProviderLinkPyImp.cpp @@ -57,7 +57,7 @@ void ViewProviderLinkPy::setDraggingPlacement(Py::Object arg) { } Py::Boolean ViewProviderLinkPy::getUseCenterballDragger() const { - return Py::Boolean(getViewProviderLinkPtr()->isUsingCenterballDragger()); + return {getViewProviderLinkPtr()->isUsingCenterballDragger()}; } void ViewProviderLinkPy::setUseCenterballDragger(Py::Boolean arg) { diff --git a/src/Gui/ViewProviderMaterialObject.cpp b/src/Gui/ViewProviderMaterialObject.cpp index 51415a8ac9..a4a3b7bcda 100644 --- a/src/Gui/ViewProviderMaterialObject.cpp +++ b/src/Gui/ViewProviderMaterialObject.cpp @@ -41,14 +41,9 @@ PROPERTY_SOURCE(Gui::ViewProviderMaterialObject, Gui::ViewProviderDocumentObject /** * Creates the view provider for an object group. */ -ViewProviderMaterialObject::ViewProviderMaterialObject() -{ +ViewProviderMaterialObject::ViewProviderMaterialObject() = default; -} - -ViewProviderMaterialObject::~ViewProviderMaterialObject() -{ -} +ViewProviderMaterialObject::~ViewProviderMaterialObject() = default; bool ViewProviderMaterialObject::doubleClicked() { diff --git a/src/Gui/ViewProviderMeasureDistance.cpp b/src/Gui/ViewProviderMeasureDistance.cpp index 2c486d95dd..4475005363 100644 --- a/src/Gui/ViewProviderMeasureDistance.cpp +++ b/src/Gui/ViewProviderMeasureDistance.cpp @@ -120,6 +120,11 @@ ViewProviderMeasureDistance::~ViewProviderMeasureDistance() pLines->unref(); } +bool ViewProviderMeasureDistance::isPartOfPhysicalObject() const +{ + return false; +} + void ViewProviderMeasureDistance::onChanged(const App::Property* prop) { if (prop == &Mirror || prop == &DistFactor) { @@ -313,6 +318,11 @@ ViewProviderPointMarker::~ViewProviderPointMarker() pMarker->unref(); } +bool ViewProviderPointMarker::isPartOfPhysicalObject() const +{ + return false; +} + void ViewProviderMeasureDistance::measureDistanceCallback(void * ud, SoEventCallback * n) { auto view = static_cast(n->getUserData()); diff --git a/src/Gui/ViewProviderMeasureDistance.h b/src/Gui/ViewProviderMeasureDistance.h index 73b015876f..48b039466c 100644 --- a/src/Gui/ViewProviderMeasureDistance.h +++ b/src/Gui/ViewProviderMeasureDistance.h @@ -66,6 +66,7 @@ class GuiExport ViewProviderPointMarker : public ViewProviderDocumentObject public: ViewProviderPointMarker(); ~ViewProviderPointMarker() override; + bool isPartOfPhysicalObject() const override; protected: SoCoordinate3 * pCoords; @@ -81,6 +82,7 @@ public: /// Constructor ViewProviderMeasureDistance(); ~ViewProviderMeasureDistance() override; + bool isPartOfPhysicalObject() const override; // Display properties App::PropertyColor TextColor; diff --git a/src/Gui/ViewProviderOriginGroup.cpp b/src/Gui/ViewProviderOriginGroup.cpp index 6b680ae227..3bc77727fb 100644 --- a/src/Gui/ViewProviderOriginGroup.cpp +++ b/src/Gui/ViewProviderOriginGroup.cpp @@ -35,6 +35,4 @@ ViewProviderOriginGroup::ViewProviderOriginGroup () initExtension(this); } -ViewProviderOriginGroup::~ViewProviderOriginGroup () -{ -} +ViewProviderOriginGroup::~ViewProviderOriginGroup () = default; diff --git a/src/Gui/ViewProviderPart.cpp b/src/Gui/ViewProviderPart.cpp index b4c8bd6b77..21f8f3d310 100644 --- a/src/Gui/ViewProviderPart.cpp +++ b/src/Gui/ViewProviderPart.cpp @@ -55,8 +55,7 @@ ViewProviderPart::ViewProviderPart() aPixmap = "Geoassembly.svg"; } -ViewProviderPart::~ViewProviderPart() -{ } +ViewProviderPart::~ViewProviderPart() = default; /** * TODO diff --git a/src/Gui/ViewProviderPlacement.cpp b/src/Gui/ViewProviderPlacement.cpp index 4b404570f9..d1f4f6c4f8 100644 --- a/src/Gui/ViewProviderPlacement.cpp +++ b/src/Gui/ViewProviderPlacement.cpp @@ -54,9 +54,7 @@ ViewProviderPlacement::ViewProviderPlacement() OnTopWhenSelected.setValue(1); } -ViewProviderPlacement::~ViewProviderPlacement() -{ -} +ViewProviderPlacement::~ViewProviderPlacement() = default; void ViewProviderPlacement::onChanged(const App::Property* prop) { diff --git a/src/Gui/ViewProviderPlane.cpp b/src/Gui/ViewProviderPlane.cpp index a16d68833f..f983de74a8 100644 --- a/src/Gui/ViewProviderPlane.cpp +++ b/src/Gui/ViewProviderPlane.cpp @@ -50,8 +50,7 @@ ViewProviderPlane::ViewProviderPlane() sPixmap = "Std_Plane"; } -ViewProviderPlane::~ViewProviderPlane() -{ } +ViewProviderPlane::~ViewProviderPlane() = default; void ViewProviderPlane::attach ( App::DocumentObject *obj ) { ViewProviderOriginFeature::attach ( obj ); diff --git a/src/Gui/ViewProviderPy.xml b/src/Gui/ViewProviderPy.xml index 5d4046d368..591b845dcc 100644 --- a/src/Gui/ViewProviderPy.xml +++ b/src/Gui/ViewProviderPy.xml @@ -15,195 +15,268 @@ - addProperty(type, name, group, doc, attr=0, ro=False, hd=False) -> ViewProvider\n -Add a generic property.\n -type : str\n Property type. -name : str\n Property name. Optional. -group : str\n Property group. Optional. -attr : int\n Property attributes. -ro : bool\n Read only property. -hd : bool\n Hidden property. + addProperty(type, name, group, doc, attr=0, ro=False, hd=False) -> ViewProvider + +Add a generic property. + +type : str + Property type. +name : str + Property name. Optional. +group : str + Property group. Optional. +attr : int + Property attributes. +ro : bool + Read only property. +hd : bool + Hidden property. - removeProperty(name) -> bool\n + removeProperty(name) -> bool + Remove a generic property. -Only user-defined properties can be removed, not built-in ones.\n -name : str\n Property name. +Only user-defined properties can be removed, not built-in ones. + +name : str + Property name. - supportedProperties() -> list\n + supportedProperties() -> list + A list of supported property types. - show() -> None\n + show() -> None + Show the object. - show() -> None\n + show() -> None + Hide the object. - isVisible() -> bool\n + isVisible() -> bool + Check if the object is visible. - canDragObject(obj=None) -> bool\n + canDragObject(obj=None) -> bool + Check whether the child object can be removed by dragging. -If 'obj' is not given, check without filter by any particular object.\n -obj : App.DocumentObject\n Object to be dragged. +If 'obj' is not given, check without filter by any particular object. + +obj : App.DocumentObject + Object to be dragged. - dragObject(obj) -> None\n -Remove a child object by dropping.\n -obj : App.DocumentObject\n Object to be dragged. + dragObject(obj) -> None + +Remove a child object by dropping. + +obj : App.DocumentObject + Object to be dragged. - canDropObject(obj=None, owner=None, subname, elem=None) -> bool\n + canDropObject(obj=None, owner=None, subname, elem=None) -> bool + Check whether the child object can be added by dropping. -If 'obj' is not given, check without filter by any particular object.\n -obj : App.DocumentObject\n Object to be dropped. -owner : App.DocumentObject\n Parent object of the dropping object. -subname : str\n Subname reference to the dropping object. Optional. -elem : sequence of str\n Non-objects subelements selected when the object is +If 'obj' is not given, check without filter by any particular object. + +obj : App.DocumentObject + Object to be dropped. +owner : App.DocumentObject + Parent object of the dropping object. +subname : str + Subname reference to the dropping object. Optional. +elem : sequence of str + Non-objects subelements selected when the object is being dropped. - dropObject(obj, owner=None, subname, elem=None) -> str\n -Add a child object by dropping.\n -obj : App.DocumentObject\n Object to be dropped. -owner : App.DocumentObject\n Parent object of the dropping object. -subname : str\n Subname reference to the dropping object. Optional. -elem : sequence of str\n Non-objects subelements selected when the object is + dropObject(obj, owner=None, subname, elem=None) -> str + +Add a child object by dropping. + +obj : App.DocumentObject + Object to be dropped. +owner : App.DocumentObject + Parent object of the dropping object. +subname : str + Subname reference to the dropping object. Optional. +elem : sequence of str + Non-objects subelements selected when the object is being dropped. - canDragAndDropObject(obj) -> bool\n + canDragAndDropObject(obj) -> bool + Check whether the child object can be removed from -other parent and added here by drag and drop.\n -obj : App.DocumentObject\n Object to be dragged and dropped. +other parent and added here by drag and drop. + +obj : App.DocumentObject + Object to be dragged and dropped. - replaceObject(oldObj, newObj) -> int\n + replaceObject(oldObj, newObj) -> int + Replace a child object. -Returns 1 if succeeded, 0 if not found, -1 if not supported.\n -oldObj : App.DocumentObject\n Old object. -newObj : App.DocumentObject\n New object. +Returns 1 if succeeded, 0 if not found, -1 if not supported. + +oldObj : App.DocumentObject + Old object. +newObj : App.DocumentObject + New object. - doubleClicked() -> bool\n + doubleClicked() -> bool + Trigger double clicking the corresponding tree item of this view object. - addDisplayMode(obj, mode) -> None\n -Add a new display mode to the view provider.\n -obj : coin.SoNode\n Display mode. -mode : str\n Name of the display mode. + addDisplayMode(obj, mode) -> None + +Add a new display mode to the view provider. + +obj : coin.SoNode + Display mode. +mode : str + Name of the display mode. - listDisplayModes() -> list\n + listDisplayModes() -> list + Show a list of all display modes. - toString() -> str\n + toString() -> str + Return a string representation of the Inventor node. - setTransformation(trans) -> None\n -Set a transformation on the Inventor node.\n + setTransformation(trans) -> None + +Set a transformation on the Inventor node. + trans : Base.Placement, Base.Matrix - claimChildren() -> list\n + claimChildren() -> list + Returns list of objects that are to be grouped in tree under this object. - partialRender(sub=None, clear=False) -> int\n -Render only part of the object.\n -sub: None, str, sequence of str\n Refer to the subelement. If it is None then reset the partial rendering. -clear: bool\n True to add, or False to remove the subelement(s) for rendering. + partialRender(sub=None, clear=False) -> int + +Render only part of the object. + +sub: None, str, sequence of str + Refer to the subelement. If it is None then reset the partial rendering. +clear: bool + True to add, or False to remove the subelement(s) for rendering. - getElementColors(elementName) -> dict\n + getElementColors(elementName) -> dict + Get a dictionary of the form {elementName : (r,g,b,a)}. -If no element name is given a dictionary with all the elements is returned.\n -elementName : str\n Name of the element. Optional. +If no element name is given a dictionary with all the elements is returned. + +elementName : str + Name of the element. Optional. - setElementColors(colors) -> None\n -Set element colors.\n -colors: dict\n Color dictionary of the form {elementName:(r,g,b,a)}. + setElementColors(colors) -> None + +Set element colors. + +colors: dict + Color dictionary of the form {elementName:(r,g,b,a)}. - getElementPicked(pickPoint) -> str\n -Return the picked subelement.\n + getElementPicked(pickPoint) -> str + +Return the picked subelement. + pickPoint : coin.SoPickedPoint - getDetailPath(subelement, path, append=True) -> coin.SoDetail or None\n -Return Coin detail and path of an subelement.\n -subname: str\n Dot separated string reference to the sub element. -pPath: coin.SoPath\n Output coin path leading to the returned element detail. -append: bool\n If True, path will be first appended with the root node and the mode + getDetailPath(subelement, path, append=True) -> coin.SoDetail or None + +Return Coin detail and path of an subelement. + +subname: str + Dot separated string reference to the sub element. +pPath: coin.SoPath + Output coin path leading to the returned element detail. +append: bool + If True, path will be first appended with the root node and the mode switch node of this view provider. - signalChangeIcon() -> None\n + signalChangeIcon() -> None + Trigger icon changed signal. - getBoundingBox(subName, transform=True, view) -> Base.BoundBox\n -Obtain the bounding box of this view object.\n -subName : str\n Name referring a sub-object. Optional. -transform: bool\n Whether to apply the transformation matrix of this view provider. -view: View3DInventorPy\n Default to active view. Optional. + getBoundingBox(subName, transform=True, view) -> Base.BoundBox + +Obtain the bounding box of this view object. + +subName : str + Name referring a sub-object. Optional. +transform: bool + Whether to apply the transformation matrix of this view provider. +view: View3DInventorPy + Default to active view. Optional. diff --git a/src/Gui/ViewProviderPyImp.cpp b/src/Gui/ViewProviderPyImp.cpp index 8fc2a5f524..2e9f49c8d5 100644 --- a/src/Gui/ViewProviderPyImp.cpp +++ b/src/Gui/ViewProviderPyImp.cpp @@ -32,6 +32,7 @@ #endif #include +#include #include "PythonWrapper.h" #include "SoFCDB.h" @@ -185,10 +186,11 @@ PyObject* ViewProviderPy::canDropObject(PyObject *args, PyObject *kw) PyObject *owner = Py_None; PyObject *pyElements = Py_None; const char *subname = nullptr; - static char* kwlist[] = {"obj","owner","subname","elem",nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kw, "|OOsO", kwlist, - &obj, &owner, &subname, &pyElements)) + static const std::array kwlist{"obj", "owner", "subname", "elem", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kw, "|OOsO", kwlist, + &obj, &owner, &subname, &pyElements)) { return nullptr; + } PY_TRY { Base::PyTypeCheck(&obj, &App::DocumentObjectPy::Type, "expecting 'obj' to be of type App.DocumentObject or None"); @@ -245,10 +247,11 @@ PyObject* ViewProviderPy::dropObject(PyObject *args, PyObject *kw) PyObject *owner = Py_None; PyObject *pyElements = Py_None; const char *subname = nullptr; - static char* kwlist[] = {"obj","owner","subname","elem",nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kw, "O!|OsO", kwlist, - &App::DocumentObjectPy::Type, &obj, &owner, &subname, &pyElements)) + static const std::array kwlist{"obj", "owner", "subname", "elem", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kw, "O!|OsO", kwlist, + &App::DocumentObjectPy::Type, &obj, &owner, &subname, &pyElements)) { return nullptr; + } PY_TRY { Base::PyTypeCheck(&owner, &App::DocumentObjectPy::Type, "expecting 'owner' to be of type App.DocumentObject or None"); @@ -642,7 +645,7 @@ void ViewProviderPy::setSwitchNode(Py::Object) Py::String ViewProviderPy::getIV() const { std::string buf = Gui::SoFCDB::writeNodesToString(getViewProviderPtr()->getRoot()); - return Py::String(buf); + return {buf}; } Py::Object ViewProviderPy::getIcon() const @@ -666,12 +669,12 @@ void ViewProviderPy::setDefaultMode(Py::Int arg) Py::Boolean ViewProviderPy::getCanRemoveChildrenFromRoot() const { - return Py::Boolean(getViewProviderPtr()->canRemoveChildrenFromRoot()); + return {getViewProviderPtr()->canRemoveChildrenFromRoot()}; } Py::Boolean ViewProviderPy::getLinkVisibility() const { - return Py::Boolean(getViewProviderPtr()->isLinkVisible()); + return {getViewProviderPtr()->isLinkVisible()}; } void ViewProviderPy::setLinkVisibility(Py::Boolean arg) @@ -681,5 +684,5 @@ void ViewProviderPy::setLinkVisibility(Py::Boolean arg) Py::String ViewProviderPy::getDropPrefix() const { - return Py::String(getViewProviderPtr()->getDropPrefix()); + return {getViewProviderPtr()->getDropPrefix()}; } diff --git a/src/Gui/ViewProviderPythonFeature.cpp b/src/Gui/ViewProviderPythonFeature.cpp index c59b51523c..4f7670d7db 100644 --- a/src/Gui/ViewProviderPythonFeature.cpp +++ b/src/Gui/ViewProviderPythonFeature.cpp @@ -57,7 +57,8 @@ namespace sp = std::placeholders; ViewProviderPythonFeatureImp::ViewProviderPythonFeatureImp( ViewProviderDocumentObject* vp, App::PropertyPythonObject &proxy) - : object(vp), Proxy(proxy), has__object__(false) + : object(vp) + , Proxy(proxy) { } @@ -96,7 +97,7 @@ QIcon ViewProviderPythonFeatureImp::getIcon() const try { Py::Object ret(Base::pyCall(py_getIcon.ptr())); if(ret.isNone()) - return QIcon(); + return {}; if(ret.isString()) { std::string content = Py::String(ret).as_std_string("utf-8"); @@ -148,7 +149,7 @@ QIcon ViewProviderPythonFeatureImp::getIcon() const } } - return QIcon(); + return {}; } bool ViewProviderPythonFeatureImp::claimChildren(std::vector &children) const @@ -343,7 +344,7 @@ ViewProviderPythonFeatureImp::ValueT ViewProviderPythonFeatureImp::getDetailPath std::vector ViewProviderPythonFeatureImp::getSelectionShape(const char* /*Element*/) const { - return std::vector(); + return {}; } ViewProviderPythonFeatureImp::ValueT diff --git a/src/Gui/ViewProviderPythonFeature.h b/src/Gui/ViewProviderPythonFeature.h index 7c6911386a..d074f5198b 100644 --- a/src/Gui/ViewProviderPythonFeature.h +++ b/src/Gui/ViewProviderPythonFeature.h @@ -129,7 +129,7 @@ public: private: ViewProviderDocumentObject* object; App::PropertyPythonObject &Proxy; - bool has__object__; + bool has__object__{false}; #define FC_PY_VIEW_OBJECT \ FC_PY_ELEMENT(getIcon) \ @@ -199,7 +199,7 @@ class ViewProviderPythonFeatureT : public ViewProviderT public: /// constructor. - ViewProviderPythonFeatureT() : _attached(false) { + ViewProviderPythonFeatureT() { ADD_PROPERTY(Proxy,(Py::Object())); imp = new ViewProviderPythonFeatureImp(this,Proxy); } @@ -619,7 +619,7 @@ private: App::PropertyPythonObject Proxy; mutable std::string defaultMode; std::string viewerMode; - bool _attached; + bool _attached{false}; }; // Special Feature-Python classes diff --git a/src/Gui/ViewProviderTextDocument.h b/src/Gui/ViewProviderTextDocument.h index 61505dbed6..c56b4a886d 100644 --- a/src/Gui/ViewProviderTextDocument.h +++ b/src/Gui/ViewProviderTextDocument.h @@ -35,7 +35,7 @@ class GuiExport ViewProviderTextDocument : public ViewProviderDocumentObject { PROPERTY_HEADER_WITH_OVERRIDE(Gui::ViewProviderTextDocument); public: ViewProviderTextDocument(); - ~ViewProviderTextDocument() override {} + ~ViewProviderTextDocument() override = default; App::PropertyBool ReadOnly; App::PropertyFloat FontSize; diff --git a/src/Gui/WaitCursor.cpp b/src/Gui/WaitCursor.cpp index 4d0f4a4d08..3d548b43b8 100644 --- a/src/Gui/WaitCursor.cpp +++ b/src/Gui/WaitCursor.cpp @@ -53,14 +53,14 @@ protected: private: WaitCursorP(); // Disable constructor static WaitCursorP* _instance; - bool isOn; - WaitCursor::FilterEventsFlags flags; + bool isOn{false}; + WaitCursor::FilterEventsFlags flags{WaitCursor::AllEvents}; }; } // namespace Gui WaitCursorP* WaitCursorP::_instance = nullptr; -WaitCursorP::WaitCursorP() : QObject(nullptr), isOn(false), flags(WaitCursor::AllEvents) +WaitCursorP::WaitCursorP() : QObject(nullptr) { } diff --git a/src/Gui/WhatsThis.cpp b/src/Gui/WhatsThis.cpp index 0db2264abd..ddbaf01991 100644 --- a/src/Gui/WhatsThis.cpp +++ b/src/Gui/WhatsThis.cpp @@ -50,9 +50,7 @@ StdCmdDescription::StdCmdDescription() sAccel = "F1"; } -StdCmdDescription::~StdCmdDescription() -{ -} +StdCmdDescription::~StdCmdDescription() = default; Action * StdCmdDescription::createAction() { diff --git a/src/Gui/WidgetFactory.cpp b/src/Gui/WidgetFactory.cpp index 994d05347e..8b9821e067 100644 --- a/src/Gui/WidgetFactory.cpp +++ b/src/Gui/WidgetFactory.cpp @@ -210,9 +210,7 @@ PrefPageUiProducer::PrefPageUiProducer (const char* filename, const char* group) Gui::Dialog::DlgPreferencesImp::addPage(filename, group); } -PrefPageUiProducer::~PrefPageUiProducer() -{ -} +PrefPageUiProducer::~PrefPageUiProducer() = default; void* PrefPageUiProducer::Produce () const { @@ -382,9 +380,7 @@ ContainerDialog::ContainerDialog( QWidget* templChild ) } /** Destroys the object and frees any allocated resources */ -ContainerDialog::~ContainerDialog() -{ -} +ContainerDialog::~ContainerDialog() = default; // ---------------------------------------------------- @@ -409,8 +405,8 @@ PyResource::PyResource() : myDlg(nullptr) PyResource::~PyResource() { delete myDlg; - for (std::vector::iterator it = mySignals.begin(); it != mySignals.end(); ++it) { - SignalConnect* sc = *it; + for (auto it : mySignals) { + SignalConnect* sc = it; delete sc; } } diff --git a/src/Gui/WidgetFactory.h b/src/Gui/WidgetFactory.h index 4f840d836f..3a6e5fe76d 100644 --- a/src/Gui/WidgetFactory.h +++ b/src/Gui/WidgetFactory.h @@ -61,8 +61,8 @@ public: private: static WidgetFactoryInst* _pcSingleton; - WidgetFactoryInst(){} - ~WidgetFactoryInst() override{} + WidgetFactoryInst() = default; + ~WidgetFactoryInst() override = default; }; inline WidgetFactoryInst& WidgetFactory() @@ -90,7 +90,7 @@ public: WidgetFactoryInst::instance().AddProducer(cname, this); } - ~WidgetProducer () override{} + ~WidgetProducer () override = default; /** * Creates an instance of the specified widget. @@ -129,7 +129,7 @@ public: } } - ~PrefPageProducer () override{} + ~PrefPageProducer () override = default; /** * Creates an instance of the specified widget. @@ -212,7 +212,7 @@ public: } } - ~CustomPageProducer () override{} + ~CustomPageProducer () override = default; /** * Creates an instance of the specified widget. diff --git a/src/Gui/Widgets.cpp b/src/Gui/Widgets.cpp index 294fe3abdc..6bb50af393 100644 --- a/src/Gui/Widgets.cpp +++ b/src/Gui/Widgets.cpp @@ -74,9 +74,7 @@ CommandIconView::CommandIconView ( QWidget * parent ) /** * Destroys the icon view and deletes all items. */ -CommandIconView::~CommandIconView () -{ -} +CommandIconView::~CommandIconView () = default; /** * Stores the name of the selected commands for drag and drop. @@ -207,9 +205,7 @@ ActionSelector::ActionSelector(QWidget* parent) setButtonsEnabled(); } -ActionSelector::~ActionSelector() -{ -} +ActionSelector::~ActionSelector() = default; void ActionSelector::setSelectedLabel(const QString& label) { @@ -566,10 +562,7 @@ CheckListDialog::CheckListDialog( QWidget* parent, Qt::WindowFlags fl ) /** * Destroys the object and frees any allocated resources */ -CheckListDialog::~CheckListDialog() -{ - // no need to delete child widgets, Qt does it all for us -} +CheckListDialog::~CheckListDialog() = default; /** * Sets the items to the dialog's list view. By default all items are checkable.. @@ -625,23 +618,12 @@ struct ColorButtonP { QColor old, col; QPointer cd; - bool allowChange; - bool autoChange; - bool drawFrame; - bool allowTransparency; - bool modal; - bool dirty; - - ColorButtonP() - : cd(nullptr) - , allowChange(true) - , autoChange(false) - , drawFrame(true) - , allowTransparency(false) - , modal(true) - , dirty(true) - { - } + bool allowChange{true}; + bool autoChange{false}; + bool drawFrame{true}; + bool allowTransparency{false}; + bool modal{true}; + bool dirty{true}; }; } @@ -885,9 +867,7 @@ UrlLabel::UrlLabel(QWidget* parent, Qt::WindowFlags f) setStyleSheet(QStringLiteral("Gui--UrlLabel {color: #0000FF;text-decoration: underline;}")); } -UrlLabel::~UrlLabel() -{ -} +UrlLabel::~UrlLabel() = default; void Gui::UrlLabel::setLaunchExternal(bool l) { @@ -1098,9 +1078,7 @@ LabelButton::LabelButton (QWidget * parent) connect(button, &QPushButton::clicked, this, &LabelButton::buttonClicked); } -LabelButton::~LabelButton() -{ -} +LabelButton::~LabelButton() = default; void LabelButton::resizeEvent(QResizeEvent* e) { @@ -1154,9 +1132,7 @@ ToolTip::ToolTip() : installed(false), hidden(true) { } -ToolTip::~ToolTip() -{ -} +ToolTip::~ToolTip() = default; void ToolTip::installEventFilter() { @@ -1241,9 +1217,7 @@ StatusWidget::StatusWidget(QWidget* parent) gridLayout->addWidget(label, 0, 0, 1, 1); } -StatusWidget::~StatusWidget() -{ -} +StatusWidget::~StatusWidget() = default; void StatusWidget::setStatusText(const QString& s) { @@ -1263,7 +1237,7 @@ void StatusWidget::showText(int ms) QSize StatusWidget::sizeHint () const { - return QSize(250,100); + return {250,100}; } void StatusWidget::showEvent(QShowEvent* event) @@ -1285,7 +1259,7 @@ public: } QSize sizeHint() const override { - return QSize(codeEditor->lineNumberAreaWidth(), 0); + return {codeEditor->lineNumberAreaWidth(), 0}; } protected: @@ -1466,9 +1440,7 @@ LabelEditor::LabelEditor (QWidget * parent) setFocusProxy(lineEdit); } -LabelEditor::~LabelEditor() -{ -} +LabelEditor::~LabelEditor() = default; void LabelEditor::resizeEvent(QResizeEvent* e) { diff --git a/src/Gui/Workbench.cpp b/src/Gui/Workbench.cpp index 35526d27c4..eb2a7d5236 100644 --- a/src/Gui/Workbench.cpp +++ b/src/Gui/Workbench.cpp @@ -205,13 +205,9 @@ using namespace Gui; /// @namespace Gui @class Workbench TYPESYSTEM_SOURCE_ABSTRACT(Gui::Workbench, Base::BaseClass) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; std::string Workbench::name() const { @@ -568,9 +564,7 @@ StdWorkbench::StdWorkbench() { } -StdWorkbench::~StdWorkbench() -{ -} +StdWorkbench::~StdWorkbench() = default; void StdWorkbench::setupContextMenu(const char* recipient, MenuItem* item) const { @@ -590,8 +584,10 @@ void StdWorkbench::setupContextMenu(const char* recipient, MenuItem* item) const measure->setCommand("Measure"); *measure << "View_Measure_Toggle_All" << "View_Measure_Clear_All"; - *item << "Std_ViewFitAll" << "Std_ViewFitSelection" << "Std_DrawStyle" << StdViews << measure - << "Separator" << "Std_ViewDockUndockFullscreen"; + + *item << "Std_ViewFitAll" << "Std_ViewFitSelection" << "Std_DrawStyle" + << StdViews << measure << "Std_SelectFilter" << "Separator" + << "Std_ViewDockUndockFullscreen"; if (Gui::Selection().countObjectsOfType(App::DocumentObject::getClassTypeId()) > 0) { *item << "Separator" << "Std_SetAppearance" << "Std_ToggleVisibility" @@ -795,10 +791,10 @@ ToolBarItem* StdWorkbench::setupToolBars() const auto view = new ToolBarItem( root ); view->setCommand("View"); *view << "Std_ViewFitAll" << "Std_ViewFitSelection" << "Std_DrawStyle" << "Std_SelBoundingBox" - << "Separator" << "Std_SelBack" << "Std_SelForward" << "Std_LinkSelectActions" - << "Separator" << "Std_TreeViewActions" << "Std_ViewIsometric" << "Separator" << "Std_ViewFront" - << "Std_ViewTop" << "Std_ViewRight" << "Separator" << "Std_ViewRear" << "Std_ViewBottom" - << "Std_ViewLeft" << "Separator" << "Std_MeasureDistance" ; + << "Separator" << "Std_SelectFilter" << "Std_SelBack" << "Std_SelForward" + << "Std_LinkSelectActions"<< "Separator" << "Std_TreeViewActions" << "Std_ViewIsometric" + << "Std_ViewFront"<< "Std_ViewTop" << "Std_ViewRight" << "Separator" << "Std_ViewRear" + << "Separator" << "Std_ViewBottom"<< "Std_ViewLeft" << "Separator" << "Std_MeasureDistance"; // Structure auto structure = new ToolBarItem( root ); @@ -822,7 +818,8 @@ ToolBarItem* StdWorkbench::setupCommandBars() const view->setCommand("Standard views"); *view << "Std_ViewFitAll" << "Std_ViewFitSelection" << "Std_ViewIsometric" << "Separator" << "Std_ViewFront" << "Std_ViewRight" << "Std_ViewTop" << "Separator" - << "Std_ViewRear" << "Std_ViewLeft" << "Std_ViewBottom"; + << "Std_ViewRear" << "Std_ViewLeft" << "Std_ViewBottom" << "Std_SelectFilter"; + // Special Ops auto macro = new ToolBarItem( root ); macro->setCommand("Special Ops"); @@ -865,9 +862,7 @@ BlankWorkbench::BlankWorkbench() { } -BlankWorkbench::~BlankWorkbench() -{ -} +BlankWorkbench::~BlankWorkbench() = default; void BlankWorkbench::activated() { @@ -918,9 +913,7 @@ NoneWorkbench::NoneWorkbench() { } -NoneWorkbench::~NoneWorkbench() -{ -} +NoneWorkbench::~NoneWorkbench() = default; void NoneWorkbench::setupContextMenu(const char* recipient,MenuItem* item) const { @@ -988,9 +981,7 @@ TestWorkbench::TestWorkbench() { } -TestWorkbench::~TestWorkbench() -{ -} +TestWorkbench::~TestWorkbench() = default; MenuItem* TestWorkbench::setupMenuBar() const { @@ -1030,10 +1021,7 @@ ToolBarItem* TestWorkbench::setupCommandBars() const TYPESYSTEM_SOURCE_ABSTRACT(Gui::PythonBaseWorkbench, Gui::Workbench) -PythonBaseWorkbench::PythonBaseWorkbench() - : _menuBar(nullptr), _contextMenu(nullptr), _toolBar(nullptr), _commandBar(nullptr), _workbenchPy(nullptr) -{ -} +PythonBaseWorkbench::PythonBaseWorkbench() = default; PythonBaseWorkbench::~PythonBaseWorkbench() { @@ -1222,9 +1210,7 @@ PythonBlankWorkbench::PythonBlankWorkbench() _commandBar = new ToolBarItem; } -PythonBlankWorkbench::~PythonBlankWorkbench() -{ -} +PythonBlankWorkbench::~PythonBlankWorkbench() = default; // ----------------------------------------------------------------------- @@ -1239,9 +1225,7 @@ PythonWorkbench::PythonWorkbench() _commandBar = new ToolBarItem; } -PythonWorkbench::~PythonWorkbench() -{ -} +PythonWorkbench::~PythonWorkbench() = default; MenuItem* PythonWorkbench::setupMenuBar() const { diff --git a/src/Gui/Workbench.h b/src/Gui/Workbench.h index d6e3ccc3c1..46fe9038b1 100644 --- a/src/Gui/Workbench.h +++ b/src/Gui/Workbench.h @@ -289,11 +289,11 @@ protected: DockWindowItems* setupDockWindows() const override; protected: - MenuItem* _menuBar; - MenuItem* _contextMenu; - ToolBarItem* _toolBar; - ToolBarItem* _commandBar; - Base::PyObjectBase* _workbenchPy; + MenuItem* _menuBar{nullptr}; + MenuItem* _contextMenu{nullptr}; + ToolBarItem* _toolBar{nullptr}; + ToolBarItem* _commandBar{nullptr}; + Base::PyObjectBase* _workbenchPy{nullptr}; }; class GuiExport PythonBlankWorkbench : public PythonBaseWorkbench diff --git a/src/Gui/WorkbenchFactory.h b/src/Gui/WorkbenchFactory.h index 979292cdb5..b7ef2cdbdb 100644 --- a/src/Gui/WorkbenchFactory.h +++ b/src/Gui/WorkbenchFactory.h @@ -56,8 +56,8 @@ public: private: static WorkbenchFactoryInst* _pcSingleton; - WorkbenchFactoryInst(){} - ~WorkbenchFactoryInst() override{} + WorkbenchFactoryInst() = default; + ~WorkbenchFactoryInst() override = default; }; inline GuiExport WorkbenchFactoryInst& WorkbenchFactory() @@ -76,11 +76,9 @@ template class WorkbenchProducer: public Base::AbstractProducer { public: - WorkbenchProducer () - { - } + WorkbenchProducer() = default; - ~WorkbenchProducer () override{} + ~WorkbenchProducer () override = default; void* Produce () const override { diff --git a/src/Gui/WorkbenchManager.cpp b/src/Gui/WorkbenchManager.cpp index 6830f7275b..af9dc5dbda 100644 --- a/src/Gui/WorkbenchManager.cpp +++ b/src/Gui/WorkbenchManager.cpp @@ -48,14 +48,12 @@ void WorkbenchManager::destruct() _instance = nullptr; } -WorkbenchManager::WorkbenchManager() : _activeWorkbench(nullptr) -{ -} +WorkbenchManager::WorkbenchManager() = default; WorkbenchManager::~WorkbenchManager() { - for (std::map::iterator it = _workbenches.begin(); it != _workbenches.end(); ++it) { - Workbench* wb = it->second; + for (auto & it : _workbenches) { + Workbench* wb = it.second; delete wb; } @@ -132,7 +130,7 @@ Workbench* WorkbenchManager::active() const std::list WorkbenchManager::workbenches() const { std::list wb; - for (std::map::const_iterator it = _workbenches.begin(); it != _workbenches.end(); ++it) - wb.push_back(it->first); + for (const auto & it : _workbenches) + wb.push_back(it.first); return wb; } diff --git a/src/Gui/WorkbenchManager.h b/src/Gui/WorkbenchManager.h index f7482ffc43..f5818c1fb8 100644 --- a/src/Gui/WorkbenchManager.h +++ b/src/Gui/WorkbenchManager.h @@ -25,6 +25,9 @@ #define GUI_WORKBENCHMANAGER_H #include +#include +#include +#include namespace Gui { @@ -67,7 +70,7 @@ protected: private: static WorkbenchManager* _instance; - Workbench* _activeWorkbench; + Workbench* _activeWorkbench{nullptr}; std::map _workbenches; }; diff --git a/src/Gui/WorkbenchPyImp.cpp b/src/Gui/WorkbenchPyImp.cpp index 08366caf10..542ccec2b2 100644 --- a/src/Gui/WorkbenchPyImp.cpp +++ b/src/Gui/WorkbenchPyImp.cpp @@ -45,7 +45,7 @@ using namespace Gui; // returns a string which represent the object e.g. when printed in python std::string WorkbenchPy::representation() const { - return std::string(""); + return {""}; } /** Retrieves the workbench name */ diff --git a/src/Gui/propertyeditor/PropertyItem.cpp b/src/Gui/propertyeditor/PropertyItem.cpp index 5c1056a4a5..4e00b1dbda 100644 --- a/src/Gui/propertyeditor/PropertyItem.cpp +++ b/src/Gui/propertyeditor/PropertyItem.cpp @@ -176,11 +176,10 @@ void PropertyItem::setPropertyData(const std::vector& items) void PropertyItem::updateData() { bool ro = true; - for (std::vector::const_iterator it = propertyItems.begin(); - it != propertyItems.end(); ++it) { - App::PropertyContainer* parent = (*it)->getContainer(); + for (auto it : propertyItems) { + App::PropertyContainer* parent = it->getContainer(); if (parent) - ro &= (parent->isReadOnly(*it) || (*it)->testStatus(App::Property::ReadOnly)); + ro &= (parent->isReadOnly(it) || it->testStatus(App::Property::ReadOnly)); } this->setReadOnly(ro); } @@ -294,8 +293,8 @@ int PropertyItem::columnCount() const void PropertyItem::setReadOnly(bool ro) { readonly = ro; - for (QList::iterator it = childItems.begin(); it != childItems.end(); ++it) - (*it)->setReadOnly(ro); + for (auto it : childItems) + it->setReadOnly(ro); } bool PropertyItem::isReadOnly() const @@ -303,11 +302,11 @@ bool PropertyItem::isReadOnly() const return readonly; } -void PropertyItem::setLinked(bool l) +void PropertyItem::setLinked(bool value) { - linked = l; - for (QList::iterator it = childItems.begin(); it != childItems.end(); ++it) - (*it)->setLinked(l); + linked = value; + for (auto it : childItems) + it->setLinked(value); } bool PropertyItem::isLinked() const @@ -347,19 +346,19 @@ int PropertyItem::decimals() const QVariant PropertyItem::displayName() const { - return QVariant(displayText); + return {displayText}; } QVariant PropertyItem::toolTip(const App::Property* prop) const { QString str = QApplication::translate("App::Property", prop->getDocumentation()); - return QVariant(str); + return {str}; } QVariant PropertyItem::decoration(const QVariant&) const { - return QVariant(); + return {}; } QVariant PropertyItem::toString(const QVariant& prop) const @@ -427,12 +426,12 @@ QVariant PropertyItem::toString(const QVariant& prop) const ss << "ERR!"; } - return QVariant(QString::fromUtf8(ss.str().c_str())); + return {QString::fromUtf8(ss.str().c_str())}; } QVariant PropertyItem::value(const App::Property* /*prop*/) const { - return QVariant(); + return {}; } void PropertyItem::setValue(const QVariant& /*value*/) @@ -450,7 +449,7 @@ void PropertyItem::setEditorData(QWidget * /*editor*/, const QVariant& /*data*/) QVariant PropertyItem::editorData(QWidget * /*editor*/) const { - return QVariant(); + return {}; } QWidget* PropertyItem::createExpressionEditor(QWidget* parent, const QObject* receiver, const char* method) const @@ -477,8 +476,8 @@ QVariant PropertyItem::expressionEditorData(QWidget *editor) const { auto le = qobject_cast(editor); if(le) - return QVariant(le->text()); - return QVariant(); + return {le->text()}; + return {}; } PropertyEditorWidget* PropertyItem::createPropertyEditorWidget(QWidget* parent) const @@ -540,9 +539,7 @@ void PropertyItem::setPropertyValue(const QString& value) // intermediate changes caused by property change that may potentially // invalidate the current property array. std::ostringstream ss; - for (std::vector::const_iterator it = propertyItems.begin(); - it != propertyItems.end(); ++it) { - auto prop = *it; + for (auto prop : propertyItems) { App::PropertyContainer* parent = prop->getContainer(); if (!parent || parent->isReadOnly(prop) || prop->testStatus(App::Property::ReadOnly)) continue; @@ -607,14 +604,14 @@ QVariant PropertyItem::data(int column, int role) const ? QVariant::fromValue(QColor(0xFF,0xFF,0x99)) : QVariant::fromValue(QColor(0,0,0)); } - return QVariant(); + return {}; } if (role == Qt::DisplayRole) { return displayName(); } // no properties set if (propertyItems.empty()) { - return QVariant(); + return {}; } else if (role == Qt::ToolTipRole) { QString type = QString::fromLatin1("Type: %1\nName: %2").arg( @@ -628,14 +625,14 @@ QVariant PropertyItem::data(int column, int role) const return type; } - return QVariant(); + return {}; } else { // no properties set if (propertyItems.empty()) { PropertyItem* parent = this->parent(); if (!parent || !parent->parent()) { - return QVariant(); + return {}; } if (role == Qt::EditRole) { return parent->property(qPrintable(objectName())); @@ -651,10 +648,10 @@ QVariant PropertyItem::data(int column, int role) const else if (role == Qt::ForegroundRole) { if (hasExpression()) return QVariant::fromValue(QApplication::palette().color(QPalette::Link)); - return QVariant(); + return {}; } - return QVariant(); + return {}; } if (role == Qt::EditRole) { return value(propertyItems[0]); @@ -671,10 +668,10 @@ QVariant PropertyItem::data(int column, int role) const else if( role == Qt::ForegroundRole) { if (hasExpression()) return QVariant::fromValue(QApplication::palette().color(QPalette::Link)); - return QVariant(); + return {}; } - return QVariant(); + return {}; } } @@ -738,23 +735,21 @@ QString PropertyItem::expressionAsString() const } } - return QString(); + return {}; } // -------------------------------------------------------------------- PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyStringItem) -PropertyStringItem::PropertyStringItem() -{ -} +PropertyStringItem::PropertyStringItem() = default; QVariant PropertyStringItem::value(const App::Property* prop) const { assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyString::getClassTypeId())); std::string value = static_cast(prop)->getValue(); - return QVariant(QString::fromUtf8(value.c_str())); + return {QString::fromUtf8(value.c_str())}; } void PropertyStringItem::setValue(const QVariant& value) @@ -792,23 +787,21 @@ void PropertyStringItem::setEditorData(QWidget *editor, const QVariant& data) co QVariant PropertyStringItem::editorData(QWidget *editor) const { auto le = qobject_cast(editor); - return QVariant(le->text()); + return {le->text()}; } // -------------------------------------------------------------------- PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyFontItem) -PropertyFontItem::PropertyFontItem() -{ -} +PropertyFontItem::PropertyFontItem() = default; QVariant PropertyFontItem::value(const App::Property* prop) const { assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyFont::getClassTypeId())); std::string value = static_cast(prop)->getValue(); - return QVariant(QString::fromUtf8(value.c_str())); + return {QString::fromUtf8(value.c_str())}; } void PropertyFontItem::setValue(const QVariant& value) @@ -845,7 +838,7 @@ void PropertyFontItem::setEditorData(QWidget *editor, const QVariant& data) cons QVariant PropertyFontItem::editorData(QWidget *editor) const { auto cb = qobject_cast(editor); - return QVariant(cb->currentText()); + return {cb->currentText()}; } // -------------------------------------------------------------------- @@ -864,16 +857,14 @@ QWidget* PropertySeparatorItem::createEditor(QWidget* parent, const QObject* rec PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyIntegerItem) -PropertyIntegerItem::PropertyIntegerItem() -{ -} +PropertyIntegerItem::PropertyIntegerItem() = default; QVariant PropertyIntegerItem::value(const App::Property* prop) const { assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyInteger::getClassTypeId())); int value = (int)static_cast(prop)->getValue(); - return QVariant(value); + return {value}; } void PropertyIntegerItem::setValue(const QVariant& value) @@ -913,7 +904,7 @@ void PropertyIntegerItem::setEditorData(QWidget *editor, const QVariant& data) c QVariant PropertyIntegerItem::editorData(QWidget *editor) const { auto sb = qobject_cast(editor); - return QVariant(sb->value()); + return {sb->value()}; } QVariant PropertyIntegerItem::toString(const QVariant& v) const @@ -923,7 +914,7 @@ QVariant PropertyIntegerItem::toString(const QVariant& v) const if (hasExpression()) string += QString::fromLatin1(" ( %1 )").arg(QString::fromStdString(getExpressionString())); - return QVariant(string); + return {string}; } @@ -931,16 +922,14 @@ QVariant PropertyIntegerItem::toString(const QVariant& v) const PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyIntegerConstraintItem) -PropertyIntegerConstraintItem::PropertyIntegerConstraintItem() -{ -} +PropertyIntegerConstraintItem::PropertyIntegerConstraintItem() = default; QVariant PropertyIntegerConstraintItem::value(const App::Property* prop) const { assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyIntegerConstraint::getClassTypeId())); int value = (int)static_cast(prop)->getValue(); - return QVariant(value); + return {value}; } void PropertyIntegerConstraintItem::setValue(const QVariant& value) @@ -996,7 +985,7 @@ void PropertyIntegerConstraintItem::setEditorData(QWidget *editor, const QVarian QVariant PropertyIntegerConstraintItem::editorData(QWidget *editor) const { auto sb = qobject_cast(editor); - return QVariant(sb->value()); + return {sb->value()}; } QVariant PropertyIntegerConstraintItem::toString(const QVariant& v) const @@ -1006,7 +995,7 @@ QVariant PropertyIntegerConstraintItem::toString(const QVariant& v) const if (hasExpression()) string += QString::fromLatin1(" ( %1 )").arg(QString::fromStdString(getExpressionString())); - return QVariant(string); + return {string}; } @@ -1014,9 +1003,7 @@ QVariant PropertyIntegerConstraintItem::toString(const QVariant& v) const PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyFloatItem) -PropertyFloatItem::PropertyFloatItem() -{ -} +PropertyFloatItem::PropertyFloatItem() = default; QVariant PropertyFloatItem::toString(const QVariant& prop) const { @@ -1026,7 +1013,7 @@ QVariant PropertyFloatItem::toString(const QVariant& prop) const if (hasExpression()) data += QString::fromLatin1(" ( %1 )").arg(QString::fromStdString(getExpressionString())); - return QVariant(data); + return {data}; } QVariant PropertyFloatItem::value(const App::Property* prop) const @@ -1034,7 +1021,7 @@ QVariant PropertyFloatItem::value(const App::Property* prop) const assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyFloat::getClassTypeId())); double value = static_cast(prop)->getValue(); - return QVariant(value); + return {value}; } void PropertyFloatItem::setValue(const QVariant& value) @@ -1075,7 +1062,7 @@ void PropertyFloatItem::setEditorData(QWidget *editor, const QVariant& data) con QVariant PropertyFloatItem::editorData(QWidget *editor) const { auto sb = qobject_cast(editor); - return QVariant(sb->value()); + return {sb->value()}; } // -------------------------------------------------------------------- @@ -1083,9 +1070,7 @@ QVariant PropertyFloatItem::editorData(QWidget *editor) const PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyUnitItem) -PropertyUnitItem::PropertyUnitItem() -{ -} +PropertyUnitItem::PropertyUnitItem() = default; QVariant PropertyUnitItem::toString(const QVariant& prop) const { @@ -1094,7 +1079,7 @@ QVariant PropertyUnitItem::toString(const QVariant& prop) const if (hasExpression()) string += QString::fromLatin1(" ( %1 )").arg(QString::fromStdString(getExpressionString())); - return QVariant(string); + return {string}; } QVariant PropertyUnitItem::value(const App::Property* prop) const @@ -1158,10 +1143,7 @@ QVariant PropertyUnitItem::editorData(QWidget *editor) const PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyUnitConstraintItem) -PropertyUnitConstraintItem::PropertyUnitConstraintItem() -{ - -} +PropertyUnitConstraintItem::PropertyUnitConstraintItem() = default; void PropertyUnitConstraintItem::setEditorData(QWidget *editor, const QVariant& data) const { @@ -1194,15 +1176,13 @@ void PropertyUnitConstraintItem::setEditorData(QWidget *editor, const QVariant& PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyFloatConstraintItem) -PropertyFloatConstraintItem::PropertyFloatConstraintItem() -{ -} +PropertyFloatConstraintItem::PropertyFloatConstraintItem() = default; QVariant PropertyFloatConstraintItem::toString(const QVariant& prop) const { double value = prop.toDouble(); QString data = QLocale().toString(value, 'f', decimals()); - return QVariant(data); + return {data}; } QVariant PropertyFloatConstraintItem::value(const App::Property* prop) const @@ -1210,7 +1190,7 @@ QVariant PropertyFloatConstraintItem::value(const App::Property* prop) const assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyFloatConstraint::getClassTypeId())); double value = static_cast(prop)->getValue(); - return QVariant(value); + return {value}; } void PropertyFloatConstraintItem::setValue(const QVariant& value) @@ -1268,7 +1248,7 @@ void PropertyFloatConstraintItem::setEditorData(QWidget *editor, const QVariant& QVariant PropertyFloatConstraintItem::editorData(QWidget *editor) const { auto sb = qobject_cast(editor); - return QVariant(sb->value()); + return {sb->value()}; } // -------------------------------------------------------------------- @@ -1284,9 +1264,7 @@ PropertyPrecisionItem::PropertyPrecisionItem() PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyAngleItem) -PropertyAngleItem::PropertyAngleItem() -{ -} +PropertyAngleItem::PropertyAngleItem() = default; void PropertyAngleItem::setEditorData(QWidget *editor, const QVariant& data) const { @@ -1302,16 +1280,14 @@ QVariant PropertyAngleItem::toString(const QVariant& prop) const PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyBoolItem) -PropertyBoolItem::PropertyBoolItem() -{ -} +PropertyBoolItem::PropertyBoolItem() = default; QVariant PropertyBoolItem::value(const App::Property* prop) const { assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyBool::getClassTypeId())); bool value = static_cast(prop)->getValue(); - return QVariant(value); + return {value}; } void PropertyBoolItem::setValue(const QVariant& value) @@ -1343,7 +1319,7 @@ void PropertyBoolItem::setEditorData(QWidget *editor, const QVariant& data) cons QVariant PropertyBoolItem::editorData(QWidget *editor) const { auto cb = qobject_cast(editor); - return QVariant(cb->currentText()); + return {cb->currentText()}; } // --------------------------------------------------------------- @@ -1410,7 +1386,7 @@ QVariant PropertyVectorItem::toString(const QVariant& prop) const loc.toString(value.z, 'f', 2)); if (hasExpression()) data += QString::fromLatin1(" ( %1 )").arg(QString::fromStdString(getExpressionString())); - return QVariant(data); + return {data}; } QVariant PropertyVectorItem::value(const App::Property* prop) const @@ -1463,7 +1439,7 @@ void PropertyVectorItem::setEditorData(QWidget *editor, const QVariant& data) co QVariant PropertyVectorItem::editorData(QWidget *editor) const { auto le = qobject_cast(editor); - return QVariant(le->text()); + return {le->text()}; } double PropertyVectorItem::x() const @@ -1533,9 +1509,7 @@ PropertyEditorWidget::PropertyEditorWidget (QWidget * parent) // setFocusProxy(lineEdit); } -PropertyEditorWidget::~PropertyEditorWidget() -{ -} +PropertyEditorWidget::~PropertyEditorWidget() = default; void PropertyEditorWidget::resizeEvent(QResizeEvent* e) { @@ -1606,9 +1580,7 @@ void VectorListWidget::showValue(const QVariant& d) PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyVectorListItem) -PropertyVectorListItem::PropertyVectorListItem() -{ -} +PropertyVectorListItem::PropertyVectorListItem() = default; QVariant PropertyVectorListItem::toString(const QVariant& prop) const { @@ -1627,7 +1599,7 @@ QVariant PropertyVectorListItem::toString(const QVariant& prop) const if (hasExpression()) data += QString::fromLatin1(" ( %1 )").arg(QString::fromStdString(getExpressionString())); - return QVariant(data); + return {data}; } QVariant PropertyVectorListItem::value(const App::Property* prop) const @@ -1707,7 +1679,7 @@ QVariant PropertyVectorDistanceItem::toString(const QVariant& prop) const Base::Quantity(value.z, Base::Unit::Length).getUserString() + QString::fromLatin1("]"); if (hasExpression()) data += QString::fromLatin1(" ( %1 )").arg(QString::fromStdString(getExpressionString())); - return QVariant(data); + return {data}; } @@ -1761,7 +1733,7 @@ QWidget* PropertyVectorDistanceItem::createEditor(QWidget* parent, const QObject QVariant PropertyVectorDistanceItem::editorData(QWidget *editor) const { auto le = qobject_cast(editor); - return QVariant(le->text()); + return {le->text()}; } Base::Quantity PropertyVectorDistanceItem::x() const @@ -1917,7 +1889,7 @@ QVariant PropertyMatrixItem::toString(const QVariant& prop) const loc.toString(value[3][1], 'f', 2), loc.toString(value[3][2], 'f', 2), loc.toString(value[3][3], 'f', 2)); - return QVariant(text); + return {text}; } QVariant PropertyMatrixItem::value(const App::Property* prop) const @@ -1933,7 +1905,7 @@ QVariant PropertyMatrixItem::toolTip(const App::Property* prop) const assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyMatrix::getClassTypeId())); const Base::Matrix4D& value = static_cast(prop)->getValue(); - return QVariant(QString::fromStdString(value.analyse())); + return {QString::fromStdString(value.analyse())}; } void PropertyMatrixItem::setValue(const QVariant& value) @@ -1997,7 +1969,7 @@ void PropertyMatrixItem::setEditorData(QWidget *editor, const QVariant& data) co QVariant PropertyMatrixItem::editorData(QWidget *editor) const { auto le = qobject_cast(editor); - return QVariant(le->text()); + return {le->text()}; } double PropertyMatrixItem::getA11() const @@ -2278,9 +2250,7 @@ PropertyRotationItem::PropertyRotationItem() this->appendChild(m_d); } -PropertyRotationItem::~PropertyRotationItem() -{ -} +PropertyRotationItem::~PropertyRotationItem() = default; Base::Quantity PropertyRotationItem::getAngle() const { @@ -2384,7 +2354,7 @@ QVariant PropertyRotationItem::toolTip(const App::Property* prop) const loc.toString(dir.y, 'f', decimals()), loc.toString(dir.z, 'f', decimals()), Base::Quantity(angle, Base::Unit::Angle).getUserString()); - return QVariant(data); + return {data}; } QVariant PropertyRotationItem::toString(const QVariant& prop) const @@ -2401,7 +2371,7 @@ QVariant PropertyRotationItem::toString(const QVariant& prop) const loc.toString(dir.y, 'f', 2), loc.toString(dir.z, 'f', 2), Base::Quantity(angle, Base::Unit::Angle).getUserString()); - return QVariant(data); + return {data}; } void PropertyRotationItem::setValue(const QVariant& value) @@ -2442,7 +2412,7 @@ void PropertyRotationItem::setEditorData(QWidget *editor, const QVariant& data) QVariant PropertyRotationItem::editorData(QWidget *editor) const { Q_UNUSED(editor) - return QVariant(); + return {}; } void PropertyRotationItem::propertyBound() @@ -2463,9 +2433,7 @@ PlacementEditor::PlacementEditor(const QString& name, QWidget * parent) propertyname.replace(QLatin1String(" "), QLatin1String("")); } -PlacementEditor::~PlacementEditor() -{ -} +PlacementEditor::~PlacementEditor() = default; void PlacementEditor::browse() { @@ -2549,9 +2517,7 @@ PropertyPlacementItem::PropertyPlacementItem() this->appendChild(m_p); } -PropertyPlacementItem::~PropertyPlacementItem() -{ -} +PropertyPlacementItem::~PropertyPlacementItem() = default; Base::Quantity PropertyPlacementItem::getAngle() const { @@ -2685,7 +2651,7 @@ QVariant PropertyPlacementItem::toolTip(const App::Property* prop) const Base::Quantity(pos.x, Base::Unit::Length).getUserString(), Base::Quantity(pos.y, Base::Unit::Length).getUserString(), Base::Quantity(pos.z, Base::Unit::Length).getUserString()); - return QVariant(data); + return {data}; } QVariant PropertyPlacementItem::toString(const QVariant& prop) const @@ -2706,7 +2672,7 @@ QVariant PropertyPlacementItem::toString(const QVariant& prop) const Base::Quantity(pos.x, Base::Unit::Length).getUserString(), Base::Quantity(pos.y, Base::Unit::Length).getUserString(), Base::Quantity(pos.z, Base::Unit::Length).getUserString()); - return QVariant(data); + return {data}; } void PropertyPlacementItem::setValue(const QVariant& value) @@ -2818,8 +2784,8 @@ QVariant PropertyEnumItem::value(const App::Property* prop) const const auto prop_enum = static_cast(prop); if(!prop_enum->isValid()) - return QVariant(QString()); - return QVariant(QString::fromUtf8(prop_enum->getValueAsString())); + return {QString()}; + return {QString::fromUtf8(prop_enum->getValueAsString())}; } void PropertyEnumItem::setValue(const QVariant& value) @@ -2833,8 +2799,8 @@ void PropertyEnumItem::setValue(const QVariant& value) QStringList values = value.toStringList(); QTextStream str(&data); str << "["; - for (QStringList::Iterator it = values.begin(); it != values.end(); ++it) { - QString text(*it); + for (const auto & it : values) { + QString text(it); text.replace(QString::fromUtf8("'"),QString::fromUtf8("\\'")); std::string pystr = Base::Tools::escapedUnicodeFromUtf8(text.toUtf8()); @@ -2995,19 +2961,17 @@ void PropertyEnumItem::setEditorData(QWidget *editor, const QVariant& data) cons QVariant PropertyEnumItem::editorData(QWidget *editor) const { if (auto cb = qobject_cast(editor)) - return QVariant(cb->currentText()); + return {cb->currentText()}; else if (auto btn = qobject_cast(editor)) return btn->text(); - return QVariant(); + return {}; } // --------------------------------------------------------------- PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyStringListItem) -PropertyStringListItem::PropertyStringListItem() -{ -} +PropertyStringListItem::PropertyStringListItem() = default; QWidget* PropertyStringListItem::createEditor(QWidget* parent, const QObject* receiver, const char* method) const { @@ -3030,7 +2994,7 @@ QVariant PropertyStringListItem::editorData(QWidget *editor) const auto le = qobject_cast(editor); QString complete = le->text(); QStringList list = complete.split(QChar::fromLatin1('\n')); - return QVariant(list); + return {list}; } QVariant PropertyStringListItem::toString(const QVariant& prop) const @@ -3043,7 +3007,7 @@ QVariant PropertyStringListItem::toString(const QVariant& prop) const QString text = QString::fromUtf8("[%1]").arg(list.join(QLatin1String(","))); - return QVariant(text); + return {text}; } QVariant PropertyStringListItem::value(const App::Property* prop) const @@ -3051,11 +3015,11 @@ QVariant PropertyStringListItem::value(const App::Property* prop) const assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyStringList::getClassTypeId())); QStringList list; const std::vector& value = (static_cast(prop))->getValues(); - for (auto jt = value.begin(); jt != value.end(); ++jt ) { - list << QString::fromUtf8((*jt).c_str()); + for (const auto & jt : value) { + list << QString::fromUtf8(jt.c_str()); } - return QVariant(list); + return {list}; } void PropertyStringListItem::setValue(const QVariant& value) @@ -3070,8 +3034,8 @@ void PropertyStringListItem::setValue(const QVariant& value) #endif str << "["; - for (QStringList::Iterator it = values.begin(); it != values.end(); ++it) { - QString text(*it); + for (const auto & it : values) { + QString text(it); std::string pystr = Base::Interpreter().strToPython(text.toUtf8().constData()); str << "\"" << QString::fromUtf8(pystr.c_str()) << "\", "; } @@ -3084,9 +3048,7 @@ void PropertyStringListItem::setValue(const QVariant& value) PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyFloatListItem) -PropertyFloatListItem::PropertyFloatListItem() -{ -} +PropertyFloatListItem::PropertyFloatListItem() = default; QWidget* PropertyFloatListItem::createEditor(QWidget* parent, const QObject* receiver, const char* method) const { @@ -3110,7 +3072,7 @@ QVariant PropertyFloatListItem::editorData(QWidget *editor) const auto le = qobject_cast(editor); QString complete = le->text(); QStringList list = complete.split(QChar::fromLatin1('\n')); - return QVariant(list); + return {list}; } QVariant PropertyFloatListItem::toString(const QVariant& prop) const @@ -3121,7 +3083,7 @@ QVariant PropertyFloatListItem::toString(const QVariant& prop) const list.append(QLatin1String("...")); } QString text = QString::fromUtf8("[%1]").arg(list.join(QLatin1String(","))); - return QVariant(text); + return {text}; } QVariant PropertyFloatListItem::value(const App::Property* prop) const @@ -3130,11 +3092,11 @@ QVariant PropertyFloatListItem::value(const App::Property* prop) const QStringList list; const std::vector& value = static_cast(prop)->getValues(); - for (std::vector::const_iterator jt = value.begin(); jt != value.end(); ++jt) { - list << QString::number(*jt, 'f', decimals()); + for (double jt : value) { + list << QString::number(jt, 'f', decimals()); } - return QVariant(list); + return {list}; } void PropertyFloatListItem::setValue(const QVariant& value) @@ -3145,8 +3107,8 @@ void PropertyFloatListItem::setValue(const QVariant& value) QString data; QTextStream str(&data); str << "["; - for (QStringList::Iterator it = values.begin(); it != values.end(); ++it) { - str << *it << ","; + for (const auto & it : values) { + str << it << ","; } str << "]"; if (data == QString::fromUtf8("[,]")) @@ -3158,9 +3120,7 @@ void PropertyFloatListItem::setValue(const QVariant& value) PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyIntegerListItem) -PropertyIntegerListItem::PropertyIntegerListItem() -{ -} +PropertyIntegerListItem::PropertyIntegerListItem() = default; QWidget* PropertyIntegerListItem::createEditor(QWidget* parent, const QObject* receiver, const char* method) const { @@ -3184,7 +3144,7 @@ QVariant PropertyIntegerListItem::editorData(QWidget *editor) const auto le = qobject_cast(editor); QString complete = le->text(); QStringList list = complete.split(QChar::fromLatin1('\n')); - return QVariant(list); + return {list}; } QVariant PropertyIntegerListItem::toString(const QVariant& prop) const @@ -3196,7 +3156,7 @@ QVariant PropertyIntegerListItem::toString(const QVariant& prop) const } QString text = QString::fromUtf8("[%1]").arg(list.join(QLatin1String(","))); - return QVariant(text); + return {text}; } QVariant PropertyIntegerListItem::value(const App::Property* prop) const @@ -3205,11 +3165,11 @@ QVariant PropertyIntegerListItem::value(const App::Property* prop) const QStringList list; const std::vector& value = static_cast(prop)->getValues(); - for (auto jt = value.begin(); jt != value.end(); ++jt) { - list << QString::number(*jt); + for (long jt : value) { + list << QString::number(jt); } - return QVariant(list); + return {list}; } void PropertyIntegerListItem::setValue(const QVariant& value) @@ -3233,9 +3193,7 @@ void PropertyIntegerListItem::setValue(const QVariant& value) PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyColorItem) -PropertyColorItem::PropertyColorItem() -{ -} +PropertyColorItem::PropertyColorItem() = default; QVariant PropertyColorItem::decoration(const QVariant& value) const { @@ -3253,7 +3211,7 @@ QVariant PropertyColorItem::toString(const QVariant& prop) const auto value = prop.value(); QString color = QString::fromLatin1("[%1, %2, %3]") .arg(value.red()).arg(value.green()).arg(value.blue()); - return QVariant(color); + return {color}; } QVariant PropertyColorItem::value(const App::Property* prop) const @@ -3352,9 +3310,7 @@ PropertyMaterialItem::PropertyMaterialItem() this->appendChild(transparency); } -PropertyMaterialItem::~PropertyMaterialItem() -{ -} +PropertyMaterialItem::~PropertyMaterialItem() = default; void PropertyMaterialItem::propertyBound() { @@ -3364,7 +3320,7 @@ QColor PropertyMaterialItem::getDiffuseColor() const { QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QColor(); + return {}; auto val = value.value(); return val.diffuseColor; @@ -3385,7 +3341,7 @@ QColor PropertyMaterialItem::getAmbientColor() const { QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QColor(); + return {}; auto val = value.value(); return val.ambientColor; @@ -3406,7 +3362,7 @@ QColor PropertyMaterialItem::getSpecularColor() const { QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QColor(); + return {}; auto val = value.value(); return val.specularColor; @@ -3427,7 +3383,7 @@ QColor PropertyMaterialItem::getEmissiveColor() const { QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QColor(); + return {}; auto val = value.value(); return val.emissiveColor; @@ -3506,7 +3462,7 @@ QVariant PropertyMaterialItem::toString(const QVariant& prop) const QColor value = val.diffuseColor; QString color = QString::fromLatin1("[%1, %2, %3]") .arg(value.red()).arg(value.green()).arg(value.blue()); - return QVariant(color); + return {color}; } QVariant PropertyMaterialItem::toolTip(const App::Property* prop) const @@ -3535,7 +3491,7 @@ QVariant PropertyMaterialItem::toolTip(const App::Property* prop) const .arg(value.transparency) ; - return QVariant(data); + return {data}; } QVariant PropertyMaterialItem::value(const App::Property* prop) const @@ -3620,7 +3576,7 @@ QVariant PropertyMaterialItem::editorData(QWidget *editor) const auto cb = qobject_cast(editor); QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QVariant(); + return {}; auto val = value.value(); val.diffuseColor = cb->color(); @@ -3665,9 +3621,7 @@ PropertyMaterialListItem::PropertyMaterialListItem() this->appendChild(transparency); } -PropertyMaterialListItem::~PropertyMaterialListItem() -{ -} +PropertyMaterialListItem::~PropertyMaterialListItem() = default; void PropertyMaterialListItem::propertyBound() { @@ -3677,14 +3631,14 @@ QColor PropertyMaterialListItem::getDiffuseColor() const { QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QColor(); + return {}; QVariantList list = value.toList(); if (list.isEmpty()) - return QColor(); + return {}; if (!list[0].canConvert()) - return QColor(); + return {}; auto mat = list[0].value(); return mat.diffuseColor; @@ -3713,14 +3667,14 @@ QColor PropertyMaterialListItem::getAmbientColor() const { QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QColor(); + return {}; QVariantList list = value.toList(); if (list.isEmpty()) - return QColor(); + return {}; if (!list[0].canConvert()) - return QColor(); + return {}; auto mat = list[0].value(); return mat.ambientColor; @@ -3749,14 +3703,14 @@ QColor PropertyMaterialListItem::getSpecularColor() const { QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QColor(); + return {}; QVariantList list = value.toList(); if (list.isEmpty()) - return QColor(); + return {}; if (!list[0].canConvert()) - return QColor(); + return {}; auto mat = list[0].value(); return mat.specularColor; @@ -3785,14 +3739,14 @@ QColor PropertyMaterialListItem::getEmissiveColor() const { QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QColor(); + return {}; QVariantList list = value.toList(); if (list.isEmpty()) - return QColor(); + return {}; if (!list[0].canConvert()) - return QColor(); + return {}; auto mat = list[0].value(); return mat.emissiveColor; @@ -3892,14 +3846,14 @@ void PropertyMaterialListItem::setTransparency(float t) QVariant PropertyMaterialListItem::decoration(const QVariant& value) const { if (!value.canConvert()) - return QVariant(); + return {}; QVariantList list = value.toList(); if (list.isEmpty()) - return QVariant(); + return {}; if (!list[0].canConvert()) - return QVariant(); + return {}; // use the diffuse color auto mat = list[0].value(); @@ -3915,21 +3869,21 @@ QVariant PropertyMaterialListItem::decoration(const QVariant& value) const QVariant PropertyMaterialListItem::toString(const QVariant& prop) const { if (!prop.canConvert()) - return QVariant(); + return {}; QVariantList list = prop.toList(); if (list.isEmpty()) - return QVariant(); + return {}; if (!list[0].canConvert()) - return QVariant(); + return {}; // use the diffuse color auto mat = list[0].value(); QColor value = mat.diffuseColor; QString color = QString::fromLatin1("[%1, %2, %3]") .arg(value.red()).arg(value.green()).arg(value.blue()); - return QVariant(color); + return {color}; } QVariant PropertyMaterialListItem::toolTip(const App::Property* prop) const @@ -3938,7 +3892,7 @@ QVariant PropertyMaterialListItem::toolTip(const App::Property* prop) const const std::vector& values = static_cast(prop)->getValues(); if (values.empty()) - return QVariant(); + return {}; App::Material value = values.front(); auto dc = value.diffuseColor.asValue(); @@ -3962,7 +3916,7 @@ QVariant PropertyMaterialListItem::toolTip(const App::Property* prop) const .arg(value.transparency) ; - return QVariant(data); + return {data}; } QVariant PropertyMaterialListItem::value(const App::Property* prop) const @@ -4075,14 +4029,14 @@ QVariant PropertyMaterialListItem::editorData(QWidget *editor) const auto cb = qobject_cast(editor); QVariant value = data(1, Qt::EditRole); if (!value.canConvert()) - return QVariant(); + return {}; QVariantList list = value.toList(); if (list.isEmpty()) - return QVariant(); + return {}; if (!list[0].canConvert()) - return QVariant(); + return {}; // use the diffuse color auto mat = list[0].value(); @@ -4096,16 +4050,14 @@ QVariant PropertyMaterialListItem::editorData(QWidget *editor) const PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyFileItem) -PropertyFileItem::PropertyFileItem() -{ -} +PropertyFileItem::PropertyFileItem() = default; QVariant PropertyFileItem::value(const App::Property* prop) const { assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyFile::getClassTypeId())); std::string value = static_cast(prop)->getValue(); - return QVariant(QString::fromUtf8(value.c_str())); + return {QString::fromUtf8(value.c_str())}; } void PropertyFileItem::setValue(const QVariant& value) @@ -4148,23 +4100,21 @@ void PropertyFileItem::setEditorData(QWidget *editor, const QVariant& data) cons QVariant PropertyFileItem::editorData(QWidget *editor) const { auto fc = qobject_cast(editor); - return QVariant(fc->fileName()); + return {fc->fileName()}; } // -------------------------------------------------------------------- PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyPathItem) -PropertyPathItem::PropertyPathItem() -{ -} +PropertyPathItem::PropertyPathItem() = default; QVariant PropertyPathItem::value(const App::Property* prop) const { assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyPath::getClassTypeId())); std::string value = static_cast(prop)->getValue().string(); - return QVariant(QString::fromUtf8(value.c_str())); + return {QString::fromUtf8(value.c_str())}; } void PropertyPathItem::setValue(const QVariant& value) @@ -4200,23 +4150,21 @@ void PropertyPathItem::setEditorData(QWidget *editor, const QVariant& data) cons QVariant PropertyPathItem::editorData(QWidget *editor) const { auto fc = qobject_cast(editor); - return QVariant(fc->fileName()); + return {fc->fileName()}; } // -------------------------------------------------------------------- PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyTransientFileItem) -PropertyTransientFileItem::PropertyTransientFileItem() -{ -} +PropertyTransientFileItem::PropertyTransientFileItem() = default; QVariant PropertyTransientFileItem::value(const App::Property* prop) const { assert(prop && prop->getTypeId().isDerivedFrom(App::PropertyFileIncluded::getClassTypeId())); std::string value = static_cast(prop)->getValue(); - return QVariant(QString::fromUtf8(value.c_str())); + return {QString::fromUtf8(value.c_str())}; } void PropertyTransientFileItem::setValue(const QVariant& value) @@ -4261,7 +4209,7 @@ void PropertyTransientFileItem::setEditorData(QWidget *editor, const QVariant& d QVariant PropertyTransientFileItem::editorData(QWidget *editor) const { auto fc = qobject_cast(editor); - return QVariant(fc->fileName()); + return {fc->fileName()}; } // --------------------------------------------------------------- @@ -4270,9 +4218,7 @@ LinkSelection::LinkSelection(const App::SubObjectT &link) : link(link) { } -LinkSelection::~LinkSelection() -{ -} +LinkSelection::~LinkSelection() = default; void LinkSelection::select() { @@ -4323,9 +4269,7 @@ LinkLabel::LinkLabel (QWidget * parent, const App::Property *prop) this, &LinkLabel::onEditClicked); } -LinkLabel::~LinkLabel() -{ -} +LinkLabel::~LinkLabel() = default; void LinkLabel::updatePropertyLink() { @@ -4408,9 +4352,7 @@ void LinkLabel::resizeEvent(QResizeEvent* e) PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyLinkItem) -PropertyLinkItem::PropertyLinkItem() -{ -} +PropertyLinkItem::PropertyLinkItem() = default; QVariant PropertyLinkItem::toString(const QVariant& prop) const { @@ -4448,11 +4390,11 @@ QVariant PropertyLinkItem::value(const App::Property* prop) const { auto propLink = Base::freecad_dynamic_cast(prop); if(!propLink) - return QVariant(); + return {}; auto links = DlgPropertyLink::getLinksFromProperty(propLink); if(links.empty()) - return QVariant(); + return {}; return QVariant::fromValue(links); } @@ -4491,18 +4433,11 @@ QVariant PropertyLinkItem::editorData(QWidget *editor) const PROPERTYITEM_SOURCE(Gui::PropertyEditor::PropertyLinkListItem) -PropertyLinkListItem::PropertyLinkListItem() -{ -} +PropertyLinkListItem::PropertyLinkListItem() = default; +PropertyItemEditorFactory::PropertyItemEditorFactory() = default; -PropertyItemEditorFactory::PropertyItemEditorFactory() -{ -} - -PropertyItemEditorFactory::~PropertyItemEditorFactory() -{ -} +PropertyItemEditorFactory::~PropertyItemEditorFactory() = default; QWidget * PropertyItemEditorFactory::createEditor (int /*type*/, QWidget * /*parent*/) const { diff --git a/src/Gui/propertyeditor/PropertyItem.h b/src/Gui/propertyeditor/PropertyItem.h index 0f2da7cfbe..88bf0d32e4 100644 --- a/src/Gui/propertyeditor/PropertyItem.h +++ b/src/Gui/propertyeditor/PropertyItem.h @@ -97,8 +97,8 @@ public: private: static PropertyItemFactory* _singleton; - PropertyItemFactory(){} - ~PropertyItemFactory() override{} + PropertyItemFactory() = default; + ~PropertyItemFactory() override = default; }; template @@ -108,8 +108,7 @@ public: explicit PropertyItemProducer(const char* className) { PropertyItemFactory::instance().AddProducer(className, this); } - ~PropertyItemProducer() override { - } + ~PropertyItemProducer() override = default; void* Produce () const override { return CLASS::create(); } diff --git a/src/Gui/propertyeditor/PropertyItemDelegate.cpp b/src/Gui/propertyeditor/PropertyItemDelegate.cpp index e04070a9d7..33a2c6995b 100644 --- a/src/Gui/propertyeditor/PropertyItemDelegate.cpp +++ b/src/Gui/propertyeditor/PropertyItemDelegate.cpp @@ -49,9 +49,7 @@ PropertyItemDelegate::PropertyItemDelegate(QObject* parent) { } -PropertyItemDelegate::~PropertyItemDelegate() -{ -} +PropertyItemDelegate::~PropertyItemDelegate() = default; QSize PropertyItemDelegate::sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const { diff --git a/src/Gui/propertyeditor/PropertyModel.cpp b/src/Gui/propertyeditor/PropertyModel.cpp index 3be45d4d32..1b9e356c5e 100644 --- a/src/Gui/propertyeditor/PropertyModel.cpp +++ b/src/Gui/propertyeditor/PropertyModel.cpp @@ -67,7 +67,7 @@ int PropertyModel::columnCount ( const QModelIndex & parent ) const QVariant PropertyModel::data ( const QModelIndex & index, int role ) const { if (!index.isValid()) - return QVariant(); + return {}; auto item = static_cast(index.internalPointer()); return item->data(index.column(), role); @@ -124,19 +124,19 @@ QModelIndex PropertyModel::index ( int row, int column, const QModelIndex & pare if (childItem) return createIndex(row, column, childItem); else - return QModelIndex(); + return {}; } QModelIndex PropertyModel::parent ( const QModelIndex & index ) const { if (!index.isValid()) - return QModelIndex(); + return {}; auto childItem = static_cast(index.internalPointer()); PropertyItem *parentItem = childItem->parent(); if (parentItem == rootItem) - return QModelIndex(); + return {}; return createIndex(parentItem->row(), 0, parentItem); } @@ -157,14 +157,14 @@ QVariant PropertyModel::headerData (int section, Qt::Orientation orientation, in { if (orientation == Qt::Horizontal) { if (role != Qt::DisplayRole) - return QVariant(); + return {}; if (section == 0) return tr("Property"); if (section == 1) return tr("Value"); } - return QVariant(); + return {}; } bool PropertyModel::setHeaderData (int, Qt::Orientation, const QVariant &, int) @@ -189,11 +189,11 @@ QStringList PropertyModel::propertyPathFromIndex(const QModelIndex& index) const QModelIndex PropertyModel::propertyIndexFromPath(const QStringList& path) const { if (path.size() < 2) - return QModelIndex(); + return {}; auto it = groupItems.find(path.front()); if (it == groupItems.end()) - return QModelIndex(); + return {}; PropertyItem *item = it->second.groupItem; QModelIndex index = this->index(item->row(), 0, QModelIndex()); diff --git a/src/Main/MainGui.cpp b/src/Main/MainGui.cpp index bc9d7f8a59..b405a07832 100644 --- a/src/Main/MainGui.cpp +++ b/src/Main/MainGui.cpp @@ -98,6 +98,8 @@ private: int main( int argc, char ** argv ) { #if defined (FC_OS_LINUX) || defined(FC_OS_BSD) + setlocale(LC_ALL, ""); // use native environment settings + // Make sure to setup the Qt locale system before setting LANG and LC_ALL to C. // which is needed to use the system locale settings. (void)QLocale::system(); diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager.ts b/src/Mod/AddonManager/Resources/translations/AddonManager.ts index 86d2fba6d4..8044667d0b 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager.ts @@ -23,7 +23,6 @@ CompactView - Form @@ -420,7 +419,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form @@ -474,7 +472,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form @@ -699,11 +696,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - - Uninstalls a selected macro or workbench @@ -1262,18 +1254,18 @@ installed addons will be checked for available updates - - + + Maintainer - - + + Author @@ -1489,8 +1481,8 @@ installed addons will be checked for available updates - + Success @@ -1622,9 +1614,9 @@ installed addons will be checked for available updates + - {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_be.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_be.qm index f20d9484c7..8e21886dde 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_be.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_be.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_be.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_be.ts index 5154b14bd8..a15294bdc3 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_be.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_be.ts @@ -23,7 +23,6 @@ CompactView - Form Форма @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Форма @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Форма @@ -705,11 +702,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Форма - Uninstalls a selected macro or workbench @@ -789,12 +781,12 @@ installed addons will be checked for available updates Dialog - Дыялог + Дыялогавае акно TextLabel - ТэкставыНадпіс + Тэкставы надпіс @@ -1272,18 +1264,18 @@ installed addons will be checked for available updates Не атрымалася выканаць макрас. Падрабязныя звесткі аб збоі глядзіце ў кансолі. - - + + Maintainer Суправаджальнік - - + + Author Аўтар @@ -1499,8 +1491,8 @@ installed addons will be checked for available updates Прывязкі Python да QtWebEngine не ўсталяваныя - ужытае замяняе адлюстраванне README. - + Success Паспяхова завершана @@ -1632,9 +1624,9 @@ installed addons will be checked for available updates Абраць файл гузіку для гэтага элемента зместу + - {} is not a subdirectory of {} {} не з'яўляецца ўкладзеным каталогам {} @@ -1845,7 +1837,7 @@ installed addons will be checked for available updates Run Indicates a macro that can be 'run' - Праца + Выканаць @@ -1875,7 +1867,7 @@ installed addons will be checked for available updates Class - Поле дакладнасці + Клас diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ca.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_ca.qm index f11bf69a86..667632d7d8 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_ca.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_ca.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ca.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_ca.ts index 151a90470c..fa8ad4bbad 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_ca.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_ca.ts @@ -23,7 +23,6 @@ CompactView - Form Forma @@ -422,7 +421,6 @@ Voleu que el gestor de complements les instal·li automàticament? Trieu "I ExpandedView - Form Forma @@ -476,7 +474,6 @@ Voleu que el gestor de complements les instal·li automàticament? Trieu "I Form - Form Forma @@ -701,11 +698,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Forma - Uninstalls a selected macro or workbench @@ -1267,18 +1259,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Maintainer - - + + Author Autor @@ -1494,8 +1486,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1627,9 +1619,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_cs.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_cs.qm index 39fc7791ee..417c9bd849 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_cs.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_cs.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_cs.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_cs.ts index 836a3a9b37..cc8facc973 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_cs.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_cs.ts @@ -23,7 +23,6 @@ CompactView - Form Návrh @@ -422,7 +421,6 @@ Přejete si, aby je správce doplňků automaticky nainstaloval? Vyberte "I ExpandedView - Form Návrh @@ -476,7 +474,6 @@ Přejete si, aby je správce doplňků automaticky nainstaloval? Vyberte "I Form - Form Návrh @@ -703,11 +700,6 @@ nainstalované doplňky budou zkontrolovány pro dostupné aktualizace PackageDetails - - - Form - Návrh - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ nainstalované doplňky budou zkontrolovány pro dostupné aktualizace Provedení makra selhalo. Podrobnosti o selhání viz konzola. - - + + Maintainer Správce - - + + Author Autor @@ -1496,8 +1488,8 @@ nainstalované doplňky budou zkontrolovány pro dostupné aktualizace QtWebEngine bindings Python není nainstalován -- používá záložní README displej. - + Success Úspěšně @@ -1629,9 +1621,9 @@ nainstalované doplňky budou zkontrolovány pro dostupné aktualizace Vyberte soubor ikony pro tuto položku obsahu + - {} is not a subdirectory of {} {} není podadresář {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_de.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_de.qm index 61636bd32f..0556e3319d 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_de.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_de.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_de.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_de.ts index 32f96358bb..1fb5fdf322 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_de.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_de.ts @@ -23,7 +23,6 @@ CompactView - Form Form @@ -422,7 +421,6 @@ Soll der Addon-Manager sie automatisch installieren? "Ignorieren" wäh ExpandedView - Form Form @@ -470,13 +468,12 @@ Soll der Addon-Manager sie automatisch installieren? "Ignorieren" wäh UpdateAvailable - Update verfügbar + Aktualisierung verfügbar Form - Form Form @@ -701,11 +698,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Form - Uninstalls a selected macro or workbench @@ -724,7 +716,7 @@ installed addons will be checked for available updates Update - Aktualisieren + Aktualisierung @@ -1151,7 +1143,7 @@ installed addons will be checked for available updates Add a toolbar button for this macro? - Eine Werkzeugleistenschaltfläche für dieses Makro hinzufügen? + Eine Symbolleistenschaltfläche für dieses Makro hinzufügen? @@ -1267,18 +1259,18 @@ installed addons will be checked for available updates Ausführen des Makros schlug fehl. Siehe Konsole für Fehlerdetails. - - + + Maintainer - Maintainer + Betreuer - - + + Author Autor @@ -1301,7 +1293,7 @@ installed addons will be checked for available updates Update - Aktualisieren + Aktualisierung @@ -1494,8 +1486,8 @@ installed addons will be checked for available updates QtWebEngine Python Bindings nicht installiert -- verwendet Fallback LIESMICH Anzeige. - + Success Erfolgreich @@ -1583,7 +1575,7 @@ installed addons will be checked for available updates Could not import QtNetwork -- see Report View for details. Addon Manager unavailable. - QtNetwork konnte nicht importiert werden - siehe Ausgabefenster für Details. Der Addon Manager ist nicht verfügbar. + QtNetwork konnte nicht importiert werden - Einzelheiten finden sich im Ausgabefenster. Der Addon-Manager ist nicht verfügbar. @@ -1627,9 +1619,9 @@ installed addons will be checked for available updates Wählen Sie eine Symboldatei für dieses Inhaltselement + - {} is not a subdirectory of {} {} ist kein Unterverzeichnis von {} @@ -1838,7 +1830,7 @@ installed addons will be checked for available updates Run Indicates a macro that can be 'run' - laufen + Ausführen @@ -1936,7 +1928,7 @@ installed addons will be checked for available updates Failed to install Vermin -- check Report View for details. 'Vermin' is the name of a Python package, do not translate - Fehler bei der Installation von Vermin -- Überprüfen Sie den Fehlerbericht für Details. + Vermin konnte nicht installiert werden -- Einzelheiten finden sich im Ausgabefenster. @@ -2042,7 +2034,7 @@ installed addons will be checked for available updates All - Alles + Alle diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_el.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_el.qm index 44b368c29c..a64f353342 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_el.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_el.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_el.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_el.ts index f714d36ac2..a68f707015 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_el.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_el.ts @@ -23,7 +23,6 @@ CompactView - Form Μορφή @@ -423,7 +422,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Μορφή @@ -477,7 +475,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Μορφή @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Μορφή - Uninstalls a selected macro or workbench @@ -1270,18 +1262,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Συντηρητής - - + + Author Συγγραφέας @@ -1497,8 +1489,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1630,9 +1622,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_es-AR.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_es-AR.qm index 3babbd4a0b..06b41e3c68 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_es-AR.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_es-AR.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_es-AR.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_es-AR.ts index f7491cb29f..05820d8460 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_es-AR.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_es-AR.ts @@ -23,7 +23,6 @@ CompactView - Form Forma @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Forma @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Forma @@ -703,11 +700,6 @@ los complementos instalados serán revisados por actualizaciones disponibles PackageDetails - - - Form - Forma - Uninstalls a selected macro or workbench @@ -1267,18 +1259,18 @@ los complementos instalados serán revisados por actualizaciones disponibles Falló la ejecución de la macro. Vea la consola para detalles del fallo. - - + + Maintainer Mantenedor - - + + Author Autor @@ -1494,8 +1486,8 @@ los complementos instalados serán revisados por actualizaciones disponibles No se han instalado enlaces Python QtWebEngine -- usando la pantalla README de respaldo. - + Success Éxito @@ -1627,9 +1619,9 @@ los complementos instalados serán revisados por actualizaciones disponibles Seleccione un archivo de icono para este elemento de contenido + - {} is not a subdirectory of {} {} no es un subdirectorio de {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_es-ES.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_es-ES.qm index 989ceaf72a..efb09c0aef 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_es-ES.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_es-ES.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_es-ES.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_es-ES.ts index 588089e06c..b719ae3b94 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_es-ES.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_es-ES.ts @@ -23,7 +23,6 @@ CompactView - Form Formulario @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Formulario @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Formulario @@ -702,11 +699,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Formulario - Uninstalls a selected macro or workbench @@ -1266,18 +1258,18 @@ installed addons will be checked for available updates Falló la ejecución de la macro. Vea la consola para detalles del fallo. - - + + Maintainer Mantenedor - - + + Author Autor @@ -1493,8 +1485,8 @@ installed addons will be checked for available updates No se han instalado enlaces Python QtWebEngine -- usando la pantalla README de respaldo. - + Success Éxito @@ -1626,9 +1618,9 @@ installed addons will be checked for available updates Seleccione un archivo de icono para este elemento de contenido + - {} is not a subdirectory of {} {} no es un subdirectorio de {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_eu.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_eu.qm index 9f62629933..156e25fda4 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_eu.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_eu.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_eu.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_eu.ts index c005865fd6..8fa049f45e 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_eu.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_eu.ts @@ -23,7 +23,6 @@ CompactView - Form Inprimakia @@ -422,7 +421,6 @@ Gehigarrien kudeatzaileak automatikoki instalatu ditzan nahi al duzu? Aukeratu & ExpandedView - Form Inprimakia @@ -476,7 +474,6 @@ Gehigarrien kudeatzaileak automatikoki instalatu ditzan nahi al duzu? Aukeratu & Form - Form Inprimakia @@ -703,11 +700,6 @@ denean gehigarrien eguneraketarik dagoen begiratuko da PackageDetails - - - Form - Inprimakia - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ denean gehigarrien eguneraketarik dagoen begiratuko da Makroaren exekuzioak huts egin du. Begiratu kontsola xehetasun gehiagorako. - - + + Maintainer Mantentzailea - - + + Author Egilea @@ -1496,8 +1488,8 @@ denean gehigarrien eguneraketarik dagoen begiratuko da QtWebEngine Python loturak ez daude instalatuta -- ordezko README bistaratzea erabiliko da. - + Success Eginda @@ -1629,9 +1621,9 @@ denean gehigarrien eguneraketarik dagoen begiratuko da Hautatu ikono-fitxategi bat eduki-elementu honetarako + - {} is not a subdirectory of {} {} ez da {} direktorioaren azpidirektorio bat diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_fi.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_fi.qm index f4c0fac18b..bed308f5d4 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_fi.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_fi.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_fi.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_fi.ts index b745e6287a..fe9201a188 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_fi.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_fi.ts @@ -23,7 +23,6 @@ CompactView - Form Lomake @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Lomake @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Lomake @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Lomake - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Ylläpitäjä - - + + Author Kehittäjä @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_fr.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_fr.qm index b472a96fdd..c8a5610e23 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_fr.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_fr.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_fr.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_fr.ts index 7b6bba05bb..8cd0c87916 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_fr.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_fr.ts @@ -23,7 +23,6 @@ CompactView - Form Forme @@ -209,7 +208,7 @@ Voulez-vous que le gestionnaire des extensions les installe automatiquement ? Ch Repository URL - URL du dépôt + URL du répertoire @@ -322,17 +321,17 @@ Voulez-vous que le gestionnaire des extensions les installe automatiquement ? Ch Edit Tags - Modifier les attaches + Modifier les mots-clés Comma-separated list of tags describing this item: - Liste des attaches séparées par des virgules décrivant cet élément : + Liste des mots-clés séparés par des virgules décrivant cet élément : HINT: Common tags include "Assembly", "FEM", "Mesh", "NURBS", etc. - ASTUCE : les attaches communes incluent "Assemblage", "FEM", "Maillage", "NURBS", etc. + ASTUCE : les mots-clés les plus courants incluent "Assembly", "FEM", "Mesh", "NURBS", etc. @@ -422,7 +421,6 @@ Voulez-vous que le gestionnaire des extensions les installe automatiquement ? Ch ExpandedView - Form Forme @@ -448,7 +446,7 @@ Voulez-vous que le gestionnaire des extensions les installe automatiquement ? Ch (tags) - (attaches) + (mots-clés) @@ -476,7 +474,6 @@ Voulez-vous que le gestionnaire des extensions les installe automatiquement ? Ch Form - Form Forme @@ -527,7 +524,7 @@ Voulez-vous que le gestionnaire des extensions les installe automatiquement ? Ch Upcoming versions of the FreeCAD Addon Manager will support developers' setting a specific branch or tag for use with a specific version of FreeCAD (e.g. setting a specific tag as the last version of your Addon to support v0.19, etc.) - Les prochaines versions du gestionnaire des extensions de FreeCAD permettront aux développeurs de définir une branche ou une balise spécifique à utiliser avec une version spécifique de FreeCAD (par exemple, définir une balise spécifique comme la dernière version de votre extension pour supporter la v0.19, etc.) + Les prochaines versions du gestionnaire des extensions de FreeCAD permettront aux développeurs de définir une branche ou un mot-clé spécifique à utiliser avec une version donnée de FreeCAD (par exemple, définir un mot-clé spécifique comme la dernière version de son extension pour supporter la v0.19, etc.) @@ -703,11 +700,6 @@ les mises à jour disponibles seront vérifiées pour les extensions installées PackageDetails - - - Form - Forme - Uninstalls a selected macro or workbench @@ -792,7 +784,7 @@ les mises à jour disponibles seront vérifiées pour les extensions installées TextLabel - TextLabel + Étiquette de texte @@ -833,7 +825,7 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Workbench - Ateliers + Atelier @@ -1027,7 +1019,7 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Name: - Nom: + Nom : @@ -1269,18 +1261,18 @@ les mises à jour disponibles seront vérifiées pour les extensions installées L'exécution de la macro a échoué. Voir la console pour les détails de l'échec. - - + + Maintainer Mainteneur - - + + Author Auteur @@ -1496,8 +1488,8 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Les bindings Python de QtWebEngine ne sont pas installés -- utilisation de l'affichage README de remplacement. - + Success Opération réussie @@ -1626,19 +1618,19 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Select an icon file for this content item - Sélectionner un fichier d'icône pour cet élément de contenu + Sélectionner un fichier d'icône pour cet élément de contenu. + - {} is not a subdirectory of {} {} n'est pas un sous-répertoire de {} Select the subdirectory for this content item - Sélectionner le sous-répertoire pour cet élément de contenu + Sélectionner le sous-répertoire pour cet élément de contenu. @@ -1648,7 +1640,7 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Workbench - Ateliers + Atelier @@ -1840,7 +1832,7 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Run Indicates a macro that can be 'run' - Lancer + Exécuter @@ -1984,7 +1976,7 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Tags - Attaches + Mots-clés @@ -2069,7 +2061,7 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Any - Quelconque + N’importe le quel @@ -2118,7 +2110,7 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Tag git terminology - Attache + Mot-clé @@ -2136,7 +2128,7 @@ les mises à jour disponibles seront vérifiées pour les extensions installées Tracking Table header for git remote tracking branch name name - Crénage + Suivi diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_gl.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_gl.qm index 0b2f1a4a8d..99db957f5c 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_gl.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_gl.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_gl.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_gl.ts index 7dceb06750..69abeedf8d 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_gl.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_gl.ts @@ -23,7 +23,6 @@ CompactView - Form Formulario @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Formulario @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Formulario @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Formulario - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Mantedor - - + + Author Autor @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_hr.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_hr.qm index 82ec81a950..a41c3158fe 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_hr.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_hr.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_hr.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_hr.ts index d774b9a163..1ecbf90551 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_hr.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_hr.ts @@ -23,7 +23,6 @@ CompactView - Form Obrazac @@ -424,7 +423,6 @@ Da li želite da Upravitelj dodacima ih instalira automatski? Odaberi "Igno ExpandedView - Form Obrazac @@ -478,7 +476,6 @@ Da li želite da Upravitelj dodacima ih instalira automatski? Odaberi "Igno Form - Form Obrazac @@ -705,11 +702,6 @@ instalirani dodaci će se provjeriti na dostupna ažuriranja PackageDetails - - - Form - Obrazac - Uninstalls a selected macro or workbench @@ -1273,18 +1265,18 @@ instalirani dodaci će se provjeriti na dostupna ažuriranja Izvršavanje makro naredbe nije uspjelo. Pogledaj konzolu za detalje o greškama. - - + + Maintainer Održavatelj - - + + Author Autor @@ -1500,8 +1492,8 @@ instalirani dodaci će se provjeriti na dostupna ažuriranja QtWebEngine Python veze nisu instalirane -- koristi se prikaz zaobilaznog README-a. - + Success Uspješno obavljeno @@ -1633,9 +1625,9 @@ instalirani dodaci će se provjeriti na dostupna ažuriranja Izaberi datoteku ikone za ovu stavku sadržaja + - {} is not a subdirectory of {} {} nije poddirektorij {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_hu.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_hu.qm index 422a7dc833..6a2d6c602c 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_hu.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_hu.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_hu.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_hu.ts index 14bf978081..81e1fc3882 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_hu.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_hu.ts @@ -23,7 +23,6 @@ CompactView - Form Űrlap @@ -422,7 +421,6 @@ A bővítmény kezelő automatikusan telepítse őket? Válassza a "Elvet&q ExpandedView - Form Űrlap @@ -476,7 +474,6 @@ A bővítmény kezelő automatikusan telepítse őket? Válassza a "Elvet&q Form - Form Űrlap @@ -703,11 +700,6 @@ telepített bővítményeket a rendszer ellenőrzi az elérhető frissítésekre PackageDetails - - - Form - Űrlap - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ telepített bővítményeket a rendszer ellenőrzi az elérhető frissítésekre A makró végrehajtása sikertelen. A hiba részleteit lásd a konzolon. - - + + Maintainer Közreműködő - - + + Author Létrehozó @@ -1496,8 +1488,8 @@ telepített bővítményeket a rendszer ellenőrzi az elérhető frissítésekre QtWebEngine Python kötések nem telepítettek -- a tartalék README megjelenítést használja. - + Success Sikerült @@ -1629,9 +1621,9 @@ telepített bővítményeket a rendszer ellenőrzi az elérhető frissítésekre Válasszon ki egy ikonfájlt ehhez a tartalmi elemhez + - {} is not a subdirectory of {} {} nem alkönyvtára ennek: {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_id.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_id.qm index 1f6619efd6..b320d46f40 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_id.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_id.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_id.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_id.ts index 579ec2cf83..c7685a20f2 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_id.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_id.ts @@ -22,37 +22,40 @@ CompactView - - + Form Bentuk - + Icon Ikon - + <b>Package Name</b> <b>Package Name</b> - + Version Versi - + Description Description - + + Update Available + Update Available + + UpdateAvailable UpdateAvailable @@ -267,8 +270,8 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore - Pause cache update - Pause cache update + Stop the cache update + Stop the cache update @@ -417,49 +420,52 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - - + Form Bentuk - + Icon Ikon - + <h1>Package Name</h1> <h1>Package Name</h1> - + Version Versi - + (tags) (tags) - + Description Description - + Maintainer Maintainer - + + Update Available + Update Available + + UpdateAvailable UpdateAvailable @@ -468,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Bentuk @@ -649,19 +654,19 @@ installed addons will be checked for available updates - Python executable (optional): - Python executable (optional): + Path to Python executable (optional): + Path to Python executable (optional): + + + + Path to git executable (optional): + Path to git executable (optional): The path to the Python executable for package installation with pip. Autodetected if needed and not specified. The path to the Python executable for package installation with pip. Autodetected if needed and not specified. - - - git executable (optional): - git executable (optional): - The path to the git executable. Autodetected if needed and not specified. @@ -695,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Bentuk - Uninstalls a selected macro or workbench @@ -884,11 +884,6 @@ installed addons will be checked for available updates Icon Ikon - - - actualIcon - actualIcon - Optional, defaults to inheriting from top-level Addon @@ -1171,118 +1166,113 @@ installed addons will be checked for available updates AddonsInstaller - - Addon Manager - Addon Manager - - - + Starting up... Starting up... - + Loading addon information Loading addon information - + Worker process {} is taking a long time to stop... Worker process {} is taking a long time to stop... - + Previous cache process was interrupted, restarting... Previous cache process was interrupted, restarting... - + Custom repo list changed, forcing recache... Custom repo list changed, forcing recache... - + Addon manager Addon manager - + You must restart FreeCAD for changes to take effect. You must restart FreeCAD for changes to take effect. - + Restart now Restart now - + Restart later Restart later - - + + Refresh local cache Refresh local cache - + Updating cache... Updating cache... - + Could not find addon '{}' to select Could not find addon '{}' to select - - + + Checking for updates... Checking for updates... - + Apply {} update(s) Apply {} update(s) - + No updates available No updates available - - - + + + Cannot launch a new installer until the previous one has finished. Cannot launch a new installer until the previous one has finished. - + Execution of macro failed. See console for failure details. Execution of macro failed. See console for failure details. - - + + Maintainer Maintainer - - + + Author Penulis @@ -1498,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. + - Success Success @@ -1606,12 +1596,12 @@ installed addons will be checked for available updates Location for new license file - + Received {} response code from server Received {} response code from server - + Failed to install macro {} Failed to install macro {} @@ -1631,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} @@ -1689,18 +1679,18 @@ installed addons will be checked for available updates Other... - + This addon requires Python packages that are not installed, and cannot be installed automatically. To use this workbench you must install the following Python packages manually: This addon requires Python packages that are not installed, and cannot be installed automatically. To use this workbench you must install the following Python packages manually: - + Too many to list Too many to list - - + + @@ -1709,136 +1699,136 @@ installed addons will be checked for available updates Missing Requirement - + Addon '{}' requires '{}', which is not available in your copy of FreeCAD. Addon '{}' requires '{}', which is not available in your copy of FreeCAD. - + Addon '{}' requires the following workbenches, which are not available in your copy of FreeCAD: Addon '{}' requires the following workbenches, which are not available in your copy of FreeCAD: - + Press OK to install anyway. Press OK to install anyway. - + Incompatible Python version Incompatible Python version - + This Addon (or one if its dependencies) requires Python {}.{}, and your system is running {}.{}. Installation cancelled. This Addon (or one if its dependencies) requires Python {}.{}, and your system is running {}.{}. Installation cancelled. - + Optional dependency on {} ignored because it is not in the allow-list Optional dependency on {} ignored because it is not in the allow-list - - + + Installing dependencies Installing dependencies - + Cannot execute Python Cannot execute Python - + Failed to automatically locate your Python executable, or the path is set incorrectly. Please check the Addon Manager preferences setting for the path to Python. Failed to automatically locate your Python executable, or the path is set incorrectly. Please check the Addon Manager preferences setting for the path to Python. - + Dependencies could not be installed. Continue with installation of {} anyway? Dependencies could not be installed. Continue with installation of {} anyway? - + Cannot execute pip Cannot execute pip - + Failed to execute pip, which may be missing from your Python installation. Please ensure your system has pip installed and try again. The failed command was: Failed to execute pip, which may be missing from your Python installation. Please ensure your system has pip installed and try again. The failed command was: - - + + Continue with installation of {} anyway? Continue with installation of {} anyway? - + Package installation failed Package installation failed - + See Report View for detailed failure log. See Report View for detailed failure log. - + Installing Addon Installing Addon - + Installing FreeCAD Addon '{}' Installing FreeCAD Addon '{}' - + Cancelling Cancelling - + Cancelling installation of '{}' Cancelling installation of '{}' - + {} was installed successfully {} was installed successfully - + Installation Failed Installation Failed - + Failed to install {} Failed to install {} - + Create new toolbar Create new toolbar - + A macro installed with the FreeCAD Addon Manager A macro installed with the FreeCAD Addon Manager - + Run Indicates a macro that can be 'run' @@ -2233,23 +2223,23 @@ installed addons will be checked for available updates Could not locate macro-specified file {} (expected at {}) - + {}: Unrecognized internal workbench '{}' {}: Unrecognized internal workbench '{}' - + Addon Developer Warning: Repository URL set in package.xml file for addon {} ({}) does not match the URL it was fetched from ({}) Addon Developer Warning: Repository URL set in package.xml file for addon {} ({}) does not match the URL it was fetched from ({}) - + Addon Developer Warning: Repository branch set in package.xml file for addon {} ({}) does not match the branch it was fetched from ({}) Addon Developer Warning: Repository branch set in package.xml file for addon {} ({}) does not match the branch it was fetched from ({}) - - + + Got an error when trying to import {} Got an error when trying to import {} @@ -2463,12 +2453,12 @@ installed addons will be checked for available updates Std_AddonMgr - + &Addon manager &Addon manager - + Manage external workbenches, macros, and preference packs Manage external workbenches, macros, and preference packs @@ -2494,4 +2484,20 @@ installed addons will be checked for available updates Finished updating the following addons + + Workbench + + + Auto-Created Macro Toolbar + Auto-Created Macro Toolbar + + + + QObject + + + Addon Manager + Addon Manager + + diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_it.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_it.qm index 9242f6f76d..82a27701ec 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_it.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_it.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_it.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_it.ts index d6ee80e81e..242b5b114a 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_it.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_it.ts @@ -23,7 +23,6 @@ CompactView - Form Modulo @@ -422,7 +421,6 @@ Vuoi che Addon Manager li installi automaticamente? Scegli "Ignora" pe ExpandedView - Form Modulo @@ -476,7 +474,6 @@ Vuoi che Addon Manager li installi automaticamente? Scegli "Ignora" pe Form - Form Modulo @@ -703,11 +700,6 @@ gli addons installati verranno controllati per gli aggiornamenti disponibili PackageDetails - - - Form - Modulo - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ gli addons installati verranno controllati per gli aggiornamenti disponibili Esecuzione della macro non riuscita. Consultare la console per i dettagli dell'errore. - - + + Maintainer Manutentore - - + + Author Autore @@ -1496,8 +1488,8 @@ gli addons installati verranno controllati per gli aggiornamenti disponibili Binding Python per QtWebEngine non installati -- viene visualizzato il README con il visualizzatore di riserva. - + Success Operazione riuscita @@ -1629,9 +1621,9 @@ gli addons installati verranno controllati per gli aggiornamenti disponibili Seleziona un file icona per questo elemento di contenuto + - {} is not a subdirectory of {} {} non è una sottodirectory di {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ja.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_ja.qm index 6d42b90487..c752422a5c 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_ja.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_ja.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ja.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_ja.ts index 8ca4ccb80f..fe826fd0c4 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_ja.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_ja.ts @@ -23,7 +23,6 @@ CompactView - Form フォーム @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form フォーム @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form フォーム @@ -701,11 +698,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - フォーム - Uninstalls a selected macro or workbench @@ -1267,18 +1259,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer メンテナー - - + + Author 作成者 @@ -1494,8 +1486,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1627,9 +1619,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ka.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_ka.qm index 41cf45baa3..62ff6fac58 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_ka.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_ka.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ka.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_ka.ts index 86747df05a..183858e0b8 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_ka.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_ka.ts @@ -23,7 +23,6 @@ CompactView - Form ფორმა @@ -54,7 +53,7 @@ Update Available - განახლება ხელმისაწვდომია + ხელმისაწვდომია განახლება @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form ფორმა @@ -470,13 +468,12 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore UpdateAvailable - განახლება ხელმისაწვდომია + ხელმისაწვდომიაგანახლება Form - Form ფორმა @@ -652,7 +649,7 @@ installed addons will be checked for available updates User-defined proxy: - მომხმარებლის მითითებული პროქსი: + მომხმარებლის პროქსი: @@ -662,7 +659,7 @@ installed addons will be checked for available updates Path to git executable (optional): - git-ის გამშვები ფაილის ბილიკი (არასავალდებულოა): + 'git'-ის გამშვები ფაილის ბილიკი (არასავალდებულოა): @@ -702,11 +699,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - ფორმა - Uninstalls a selected macro or workbench @@ -792,7 +784,7 @@ installed addons will be checked for available updates TextLabel - ტექსტური წარწერა + ტექსტური ჭდე @@ -895,7 +887,7 @@ installed addons will be checked for available updates Optional, defaults to inheriting from top-level Addon - არასავალდებულო. ნაგულისხმებია ყველაზე ზედა დამატებიდან, მემკვიდრეობით + არასავალდებულო. ნაგულისხმევია ყველაზე ზედა დამატებიდან, მემკვიდრეობით @@ -935,17 +927,17 @@ installed addons will be checked for available updates Semantic (1.2.3-beta) or CalVer (2022.08.30) styles supported - მხარდაჭერილია Semantic (1.2.3-beta) და CalVer (2022.08.30) სტილები + მხარდაჭერილია Semantic (1.2.3-beta) ან CalVer (2022.08.30) სტილები Set to today (CalVer style) - დღევანდელ დღეზე დაყენება (CalVer-ის სტილი) + დღევანდელზე დაყენება (CalVer-ის სტილი) Display Name - ნაგულისხმევი სახელი + საჩვენებელი სახელი @@ -1153,7 +1145,7 @@ installed addons will be checked for available updates Add a toolbar button for this macro? - დავამატო ამ ღილაკი ამ მაკროსთვის? + დავამატო ხელსაწყოების პანელის ღილაკი ამ მაკროსთვის? @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates მაკროს შესრულების შეცდომა. მეტი დეტალებისთვის იხილეთ კონსოლი. - - + + Maintainer - პროექტის ლიდერი + წამყვანი პროგრამისტი - - + + Author ავტორი @@ -1323,12 +1315,12 @@ installed addons will be checked for available updates Parameter error: mutually exclusive proxy options set. Resetting to default. - პარამეტრის შეცდომა: პროქსის ურთიერთგამომრიცხავი პარამეტრები. დაბრუნებული იქნება ნაგულისხმები მნიშვნელობები. + პარამეტრის შეცდომა: პროქსის ურთიერთგამომრიცხავი პარამეტრები. დაბრუნებული იქნება ნაგულისხმევი მნიშვნელობები. Parameter error: user proxy indicated, but no proxy provided. Resetting to default. - პარამეტრის შეცდომა: მომხმარებლის პროქსი ჩართულია, მაგრამ მითითებული არაა. გამოყენებული იქნება ნაგულისხმები მნიშვნელობები. + პარამეტრის შეცდომა: მომხმარებლის პროქსი ჩართულია, მაგრამ მითითებული არაა. გამოყენებული იქნება ნაგულისხმევი მნიშვნელობები. @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine-ის Python-ზე მიბმები დაყენებული არაა -- გამოიყენება README-ის სარეზერვო ჩვენება. - + Success წარმატება @@ -1545,7 +1537,7 @@ installed addons will be checked for available updates Enable - ჩაართვა + ჩართვა @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates აირჩიეთ ხატულას ფაილი ამ შემცველობის ელემენტისთვის + - {} is not a subdirectory of {} {} -ი {}-ის ქვესაქაღალდეს არ წარმოადგენს @@ -1805,7 +1797,7 @@ installed addons will be checked for available updates Cancelling installation of '{}' - '{}'-ის დაყენების შეწყვეტა + '{}'-ის დაყენების შეწყვეტა; @@ -1870,7 +1862,7 @@ installed addons will be checked for available updates Class - დაშვების ველი + კლასი @@ -2064,7 +2056,7 @@ installed addons will be checked for available updates Status: - სტატუსი: + მდგომარეობა: @@ -2084,7 +2076,7 @@ installed addons will be checked for available updates OK - &დიახ + დიახ @@ -2351,7 +2343,7 @@ installed addons will be checked for available updates Failed to fetch code for macro '{name}' - მაკროს '{name}' კოდის გამოთხოვის შეცდომა + მაკროს '{name}' კოდის გამოთხოვის შეცდომა; diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ko.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_ko.qm index e924620518..3e5d4b1c1b 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_ko.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_ko.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ko.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_ko.ts index 9ac94fc682..57bf8fa0e0 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_ko.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_ko.ts @@ -23,7 +23,6 @@ CompactView - Form 양식 @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form 양식 @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form 양식 @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - 양식 - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Maintainer - - + + Author 작성자: @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_nl.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_nl.qm index 70070b956a..8f67bcb3da 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_nl.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_nl.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_nl.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_nl.ts index 614555c16f..c38dd5af9a 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_nl.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_nl.ts @@ -23,7 +23,6 @@ CompactView - Form Vorm @@ -302,7 +301,7 @@ Wilt u dat de Addon Manager deze automatisch installeert? Kies "Negeren&quo Python dependencies... - Python dependencies... + Python afhankelijkheden... @@ -337,7 +336,7 @@ Wilt u dat de Addon Manager deze automatisch installeert? Kies "Negeren&quo Welcome to the Addon Manager - Welcome to the Addon Manager + Welkom bij de Uitbreidingsmanager @@ -422,7 +421,6 @@ Wilt u dat de Addon Manager deze automatisch installeert? Kies "Negeren&quo ExpandedView - Form Vorm @@ -476,7 +474,6 @@ Wilt u dat de Addon Manager deze automatisch installeert? Kies "Negeren&quo Form - Form Vorm @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Vorm - Uninstalls a selected macro or workbench @@ -865,7 +857,7 @@ installed addons will be checked for available updates Preference Pack Name - Preference Pack Name + Naam van het voorkeuren pakket @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Beheerder - - + + Author Auteur @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Geslaagd @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is geen submap van {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_pl.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_pl.qm index 8a414b25bc..d6ae89aea5 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_pl.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_pl.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_pl.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_pl.ts index 28352cd283..97c943e389 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_pl.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_pl.ts @@ -23,7 +23,6 @@ CompactView - Form Formularz @@ -194,7 +193,7 @@ Czy chcesz, aby Menadżer dodatków zainstalował je automatycznie? Wybierz "Zig Displayed in the Addon Manager's list of Addons. Should not include the word "FreeCAD", and must be a valid directory name on all support operating systems. - Wyświetlane w Menedżerze Dodatków's lista dodatków. Nie powinno zawierać słowa "FreeCAD"i musi być prawidłową nazwą katalogu we wszystkich wspieranych systemach operacyjnych. + Wyświetlany na liście dodatków Menedżera dodatków. Nie powinien zawierać słowa "FreeCAD". i musi być prawidłową nazwą katalogu we wszystkich obsługiwanych systemach operacyjnych. @@ -297,12 +296,12 @@ Czy chcesz, aby Menadżer dodatków zainstalował je automatycznie? Wybierz "Zig View and update Python package dependencies - Wyświetl i zaktualizuj zależności pakietów Pythona + Wyświetl i zaktualizuj zależności pakietów środowiska Python Python dependencies... - Zależności Pythona... + Zależności środowiska Python ... @@ -327,7 +326,7 @@ Czy chcesz, aby Menadżer dodatków zainstalował je automatycznie? Wybierz "Zig Comma-separated list of tags describing this item: - Oddzielona przecinkami lista tagów opisujących ten element: + Oddzielona przecinkami lista znaczników opisujących ten element: @@ -400,7 +399,7 @@ Czy chcesz, aby Menadżer dodatków zainstalował je automatycznie? Wybierz "Zig Package name, if "Other..." - Nazwa pakietu, jeśli "Inne ..." + Nazwa pakietu, jeśli "Inne ..." @@ -422,7 +421,6 @@ Czy chcesz, aby Menadżer dodatków zainstalował je automatycznie? Wybierz "Zig ExpandedView - Form Formularz @@ -476,7 +474,6 @@ Czy chcesz, aby Menadżer dodatków zainstalował je automatycznie? Wybierz "Zig Form - Form Formularz @@ -703,11 +700,6 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji PackageDetails - - - Form - Formularz - Uninstalls a selected macro or workbench @@ -726,7 +718,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Update - Aktualizuj + Zaktualizuj @@ -744,12 +736,12 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Manage Python Dependencies - Zarządzaj zależnościami Pythona + Zarządzaj zależnościami środowiska Python The following Python packages have been installed locally by the Addon Manager to satisfy Addon dependencies. Installation location: - Następujące pakiety Pythona zostały zainstalowane lokalnie przez Menedżera Dodatków w celu zaspokojenia zależności dodatku. Lokalizacja instalacji: + Następujące pakiety środowiska Python zostały zainstalowane lokalnie przez menedżera dodatków w celu spełnienia zależności dodatków. Lokalizacja plików instalacji: @@ -769,12 +761,12 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Used by - Używane przez + Używany przez An asterisk (*) in the "Used by" column indicates an optional dependency. Note that Used by only records direct imports in the Addon. Other Python packages that those packages depend upon may have been installed as well. - Gwiazdka (*) w kolumnie "Używane przez" wskazuje zależność opcjonalną. Zauważ, że Używane przez zapisuje tylko bezpośredni import w dodatku. Inne pakiety Pythona, od których te pakiety zależą, mogły również zostać zainstalowane. + Gwiazdka (*) w kolumnie "Używane przez" wskazuje zależność opcjonalną. Zauważ, że kolumna "Używane przez" zapisuje tylko bezpośredni import w dodatku. Inne pakiety środowiska Python, od których te pakiety zależą, mogły również zostać zainstalowane. @@ -823,7 +815,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Macro - Makrodefinicje + Makrodefinicja @@ -833,7 +825,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Workbench - Środowiska pracy + Środowisko pracy @@ -860,7 +852,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Browse... - Przeglądaj... + Przeglądaj ... @@ -920,7 +912,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Displayed in the Addon Manager's list of Addons. Should not include the word "FreeCAD". - Wyświetlane w Menedżerze Dodatków's lista dodatków. Nie powinno zawierać słowa "FreeCAD". + Wyświetlany na liście dodatków Menedżera dodatków. Nie powinien zawierać słowa "FreeCAD". @@ -950,7 +942,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Any fields left blank are inherited from the top-level Addon metadata, so technically they are all optional. For Addons with multiple content items, each item should provide a unique Display Name and Description. - Każde pole pozostawione puste jest dziedziczone z metadanych dodatku najwyższego poziomu, więc technicznie wszystkie są opcjonalne. Dla dodatków z wieloma elementami zawartości, każda pozycja powinna zawierać unikalną nazwę wyświetlaną i opis. + Wszelkie pola pozostawione puste są dziedziczone z metadanych dodatku najwyższego poziomu, więc technicznie wszystkie są opcjonalne. W przypadku dodatków z wieloma elementami zawartości każdy element powinien mieć unikalną nazwę wyświetlaną i opis. @@ -1113,7 +1105,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Browse... - Przeglądaj... + Przeglądaj ... @@ -1268,18 +1260,18 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Wykonanie makrodefinicji nie powiodło się. Szczegóły awarii znajdują się w konsoli. - - + + Maintainer Opiekun - - + + Author Autor @@ -1302,7 +1294,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Update - Aktualizuj + Zaktualizuj @@ -1406,7 +1398,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji On branch {}, update available to version - W gałęzi {}, aktualizacja dostępna do wersji + W gałęzi {} aktualizacja dostępna do wersji @@ -1492,11 +1484,11 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji QtWebEngine Python bindings not installed -- using fallback README display. - Nie zainstalowano powiązań Pythona z QtWebEngine — przy użyciu awaryjnego ekranu README. + Nie zainstalowano powiązań QtWebEngine Python — użyto awaryjnego wyświetlenia README. - + Success Zakończono pomyślnie @@ -1628,9 +1620,9 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Wybierz plik ikon dla tego elementu + - {} is not a subdirectory of {} {} nie jest podkatalogiem {} @@ -1642,7 +1634,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Automatic - Automatyczna + Automatycznie @@ -1688,7 +1680,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji This addon requires Python packages that are not installed, and cannot be installed automatically. To use this workbench you must install the following Python packages manually: - Ten dodatek wymaga pakietów Python, które nie są zainstalowane i nie mogą być zainstalowane automatycznie. Aby użyć tego środowiska pracy, musisz zainstalować samodzielnie następujące pakiety Python: + Ten dodatek wymaga pakietów Python, które nie są zainstalowane i nie mogą być zainstalowane automatycznie. Aby użyć tego środowiska pracy, musisz zainstalować samodzielnie następujące pakiety środowiska Python: @@ -1839,7 +1831,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Run Indicates a macro that can be 'run' - uruchom + Uruchom @@ -1994,7 +1986,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Up-to-date - Aktualne + Aktualny @@ -2028,12 +2020,12 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Installed on - Zainstalowane w + Data instalacji Available version - Wersja dostępna + Wersja dostępna @@ -2048,8 +2040,7 @@ zainstalowane dodatki zostaną sprawdzone pod kątem dostępnych aktualizacji Workbenches - Środowiska - pracy + Środowiska pracy diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_pt-BR.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_pt-BR.qm index 801fb749f8..e198cdf242 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_pt-BR.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_pt-BR.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_pt-BR.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_pt-BR.ts index 1e6ad18729..26a520c48d 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_pt-BR.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_pt-BR.ts @@ -23,7 +23,6 @@ CompactView - Form Formulário @@ -422,7 +421,6 @@ Você quer que o Addon Manager os instale automaticamente? Escolha "Ignorar ExpandedView - Form Formulário @@ -476,7 +474,6 @@ Você quer que o Addon Manager os instale automaticamente? Escolha "Ignorar Form - Form Formulário @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Formulário - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execução de macro falhou. Veja o console para detalhes de falha. - - + + Maintainer Mantenedor - - + + Author Autor @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_pt-PT.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_pt-PT.qm index 59256a820a..3f6d6a1e2e 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_pt-PT.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_pt-PT.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_pt-PT.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_pt-PT.ts index 498de1b02a..bb19fc8431 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_pt-PT.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_pt-PT.ts @@ -23,7 +23,6 @@ CompactView - Form Formulário @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Formulário @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Formulário @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Formulário - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Maintainer - - + + Author Autor @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ro.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_ro.qm index 7fe486a7ba..81d0e228ad 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_ro.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_ro.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ro.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_ro.ts index 97f67a80b1..51fa537d07 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_ro.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_ro.ts @@ -23,7 +23,6 @@ CompactView - Form Formular @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Formular @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Formular @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Formular - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Maintainer - - + + Author Autor @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ru.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_ru.qm index a304f12652..32a7e1e7fb 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_ru.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_ru.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_ru.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_ru.ts index ef1dad00a0..c92c6d3066 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_ru.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_ru.ts @@ -23,7 +23,6 @@ CompactView - Form Форма @@ -31,7 +30,7 @@ Icon - Значок + Иконка @@ -165,7 +164,7 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Icon - Значок + Иконка @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Форма @@ -430,7 +428,7 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Icon - Значок + Иконка @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Форма @@ -556,7 +553,7 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Optional - Дополнительно + Опционально @@ -591,7 +588,7 @@ installed addons will be checked for available updates Download Macro metadata (approximately 10MB) - Скачать метаданные макроса (примерно 10 МБ) + Скачать метаданные макроса (примерно 10 Мб) @@ -701,11 +698,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Форма - Uninstalls a selected macro or workbench @@ -821,7 +813,7 @@ installed addons will be checked for available updates Macro - Макрос + Макрокоманда @@ -888,7 +880,7 @@ installed addons will be checked for available updates Icon - Значок + Иконка @@ -943,7 +935,7 @@ installed addons will be checked for available updates Display Name - Показать имя + Отображаемое имя @@ -1267,18 +1259,18 @@ installed addons will be checked for available updates Не удалось выполнить макрос. Подробности об ошибке смотрите в консоли. - - + + Maintainer - Сопровождающий + Разработчик - - + + Author Автор @@ -1494,8 +1486,8 @@ installed addons will be checked for available updates Привязки QtWebEngine Python не установлены — используется резервный экран README. - + Success Успешно @@ -1627,9 +1619,9 @@ installed addons will be checked for available updates Выберите файл значка для этого элемента содержимого + - {} is not a subdirectory of {} {} не является подкаталогом {} @@ -1868,7 +1860,7 @@ installed addons will be checked for available updates Class - Поле допуска + Класс @@ -1982,7 +1974,7 @@ installed addons will be checked for available updates Tags - Метки + Теги @@ -2067,7 +2059,7 @@ installed addons will be checked for available updates Any - Любая + Любой @@ -2134,7 +2126,7 @@ installed addons will be checked for available updates Tracking Table header for git remote tracking branch name name - Межсимвольное расстояние + Отслеживание diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_sl.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_sl.qm index 628f89f8ff..5b87653792 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_sl.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_sl.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_sl.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_sl.ts index 608082e0a2..f9ab0635e3 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_sl.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_sl.ts @@ -23,7 +23,6 @@ CompactView - Form Oblika @@ -77,7 +76,7 @@ Name - Ime + Naziv @@ -422,7 +421,6 @@ Ali želite, da jih upravljalinik dodatkov namesti samodejno? Izberite "Pre ExpandedView - Form Oblika @@ -476,7 +474,6 @@ Ali želite, da jih upravljalinik dodatkov namesti samodejno? Izberite "Pre Form - Form Oblika @@ -593,7 +590,7 @@ preveril razpoložljivost posodobitev za nameščene dodatke Download Macro metadata (approximately 10MB) - Prenesite samopodatke o makrih (približno 10 MB) + Prenesi samopodatke o makrih (približno 10 MB) @@ -703,11 +700,6 @@ preveril razpoložljivost posodobitev za nameščene dodatke PackageDetails - - - Form - Oblika - Uninstalls a selected macro or workbench @@ -726,7 +718,7 @@ preveril razpoložljivost posodobitev za nameščene dodatke Update - Posodobi + Posodobitev @@ -787,7 +779,7 @@ preveril razpoložljivost posodobitev za nameščene dodatke Dialog - Pog. okno + Pogovorno okno @@ -935,7 +927,7 @@ preveril razpoložljivost posodobitev za nameščene dodatke Semantic (1.2.3-beta) or CalVer (2022.08.30) styles supported - Podprta sta Semantic (1.2.3.-beta) ali CalVer (2022.08.30) sloga + Podprta sta sloga Semantic (1.2.3.-beta) ali CalVer (2022.08.30) @@ -945,7 +937,7 @@ preveril razpoložljivost posodobitev za nameščene dodatke Display Name - Prikaz imena + Prikazano ime @@ -1199,28 +1191,28 @@ preveril razpoložljivost posodobitev za nameščene dodatke Custom repo list changed, forcing recache... - Custom repo list changed, forcing recache... + Skladiščni seznam po meri se je spremenil, prisilno ponovno predpomnenje ... Addon manager - Addon manager + Upravljalnik dodatkov You must restart FreeCAD for changes to take effect. - You must restart FreeCAD for changes to take effect. + Da bi spremembe stopile v veljavo, morate ponovno zagnati FreeCAD. Restart now - Restart now + Takojšnji pozagon Restart later - Restart later + Pozaženi pozneje @@ -1231,73 +1223,73 @@ preveril razpoložljivost posodobitev za nameščene dodatke Updating cache... - Updating cache... + Posodabljanje predpomnilnika ... Could not find addon '{}' to select - Could not find addon '{}' to select + Dodatka '{}' za označitev ni mogoče najti Checking for updates... - Checking for updates... + Preverjanje za posodobitve … Apply {} update(s) - Apply {} update(s) + Uporabi {} posodobitve No updates available - No updates available + Na voljo ni novih posodobitev Cannot launch a new installer until the previous one has finished. - Cannot launch a new installer until the previous one has finished. + Novega namestilnika ni mogoče zagnati, dokler se prejšnji ne konča. Execution of macro failed. See console for failure details. - Execution of macro failed. See console for failure details. + Izvedba makra spodletela. Podrobnosti o napaki si poglejte na ukazni mizi. - - + + Maintainer Vzdrževalec - - + + Author - Avtor + Ustvarjalec New Python Version Detected - New Python Version Detected + Zaznana je nova Pythonova različica This appears to be the first time this version of Python has been used with the Addon Manager. Would you like to install the same auto-installed dependencies for it? - This appears to be the first time this version of Python has been used with the Addon Manager. Would you like to install the same auto-installed dependencies for it? + Kaže, da je tokrat ta različica Pythona prvič uporabljena z Upravljalnikom dodatkov (Addon Manager). Ali želite zanjo samodejno namestiti enako odvisnost? Processing, please wait... - Processing, please wait... + V obdelavi, prosimo, počakajte ... @@ -1308,7 +1300,7 @@ preveril razpoložljivost posodobitev za nameščene dodatke Updating... - Updating... + Posodabljanje ... @@ -1318,63 +1310,63 @@ preveril razpoložljivost posodobitev za nameščene dodatke Failed to convert the specified proxy port '{}' to a port number - Failed to convert the specified proxy port '{}' to a port number + Pretvarjanje izbranih vrat posredniškega strežnika '{}' v številko vrat je spodletela Parameter error: mutually exclusive proxy options set. Resetting to default. - Parameter error: mutually exclusive proxy options set. Resetting to default. + Napaka določilke: nastavljene medsebojno izključuječe možnosti posredniškega strežnika. Ponastavljanje na privzeto. Parameter error: user proxy indicated, but no proxy provided. Resetting to default. - Parameter error: user proxy indicated, but no proxy provided. Resetting to default. + Napaka določilke: posredniški strežnik nakazan, vendar ni na voljo. Ponastavljanje na privzeto. Addon Manager: Unexpected {} response from server - Addon Manager: Unexpected {} response from server + Upravljalnik dodatkov: Nepričakovan {} odziv strežnika Error with encrypted connection - Error with encrypted connection + Napaka kodirane povezave Confirm remove - Confirm remove + Potrdi odstranitev Are you sure you want to uninstall {}? - Are you sure you want to uninstall {}? + Ali res želite odmestiti {}? Removing Addon - Removing Addon + Odmeščanje dodatka Removing {} - Removing {} + Odmešča se {} Uninstall complete - Uninstall complete + Odmestitev zaključena Uninstall failed - Uninstall failed + Odmestitev spodletela @@ -1384,17 +1376,17 @@ preveril razpoložljivost posodobitev za nameščene dodatke Version {version} installed on {date} - Version {version} installed on {date} + Različica {version} nameščena {date} Version {version} installed - Version {version} installed + Različica {version} nameščena Installed on {date} - Installed on {date} + Nameščeno {date} @@ -1402,7 +1394,7 @@ preveril razpoložljivost posodobitev za nameščene dodatke Installed - Installed + Nameščeno @@ -1496,8 +1488,8 @@ preveril razpoložljivost posodobitev za nameščene dodatke QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ preveril razpoložljivost posodobitev za nameščene dodatke Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} @@ -1658,7 +1650,7 @@ preveril razpoložljivost posodobitev za nameščene dodatke Python - Python + Python @@ -1668,33 +1660,33 @@ preveril razpoložljivost posodobitev za nameščene dodatke Internal Workbench - Internal Workbench + Notranje delovno okolje External Addon - External Addon + Zunanji dodatek Python Package - Python Package + Pythonov paket Other... - Other... + Drugo ... This addon requires Python packages that are not installed, and cannot be installed automatically. To use this workbench you must install the following Python packages manually: - This addon requires Python packages that are not installed, and cannot be installed automatically. To use this workbench you must install the following Python packages manually: + Ta dodatek potrebuje Pythonove pakete, ki še niso nameščeni, niti jih ni mogoče samodejno namestiti. Če želite uporabljati to delovno okolje, morate ročno namestiti naslednje Pythonove pakete: Too many to list - Too many to list + Preveč za navedbo @@ -1704,33 +1696,33 @@ preveril razpoložljivost posodobitev za nameščene dodatke Missing Requirement - Missing Requirement + Neizpolnjen pogoj Addon '{}' requires '{}', which is not available in your copy of FreeCAD. - Addon '{}' requires '{}', which is not available in your copy of FreeCAD. + Dodatek '{}' potrebuje '{}', ki za vašo različico FreeCADa ni na voljo. Addon '{}' requires the following workbenches, which are not available in your copy of FreeCAD: - Addon '{}' requires the following workbenches, which are not available in your copy of FreeCAD: + Dodatek '{}' potrebuje naslednja delovna okolja, ki pa za vašo različico FreeCADa niso na voljo: Press OK to install anyway. - Press OK to install anyway. + Pritisnite V redu, če želite vseeno namestiti. Incompatible Python version - Incompatible Python version + Nezdružljiva različica Pythona This Addon (or one if its dependencies) requires Python {}.{}, and your system is running {}.{}. Installation cancelled. - This Addon (or one if its dependencies) requires Python {}.{}, and your system is running {}.{}. Installation cancelled. + Ta dodatek (ali katera izmed njegovih odvisnosti) potrebuje Python {}.{}, medtem ko je na vašem sistemu {}.{}. Nameščanje preklicano. @@ -1741,131 +1733,131 @@ preveril razpoložljivost posodobitev za nameščene dodatke Installing dependencies - Installing dependencies + Nameščanje odvisnosti Cannot execute Python - Cannot execute Python + Pythona ni mogoče izvesti Failed to automatically locate your Python executable, or the path is set incorrectly. Please check the Addon Manager preferences setting for the path to Python. - Failed to automatically locate your Python executable, or the path is set incorrectly. Please check the Addon Manager preferences setting for the path to Python. + Pythonove izvršljive datoteke ni mogoče samodejno najti ali pa je pot napačno nastavljena. Preverite pot do Pythona v prednastavitvah Upravljalnika dodatkov. Dependencies could not be installed. Continue with installation of {} anyway? - Dependencies could not be installed. Continue with installation of {} anyway? + Odvisnosti ni bilo mogoče namestiti. Ali želite vseeno nadaljevati z namestitvijo {}? Cannot execute pip - Cannot execute pip + Slike v sliki ni mogoče izvesti Failed to execute pip, which may be missing from your Python installation. Please ensure your system has pip installed and try again. The failed command was: - Failed to execute pip, which may be missing from your Python installation. Please ensure your system has pip installed and try again. The failed command was: + Slike v sliki ni mogoče izvesti, ker lahko manjka v vaši Pythonovi namestitvi. Poskrbite, da bo na vašem računalniku slika v sliki nameščena in poskusite ponovno. Spodleteli ukaz je bil: Continue with installation of {} anyway? - Continue with installation of {} anyway? + Ali želite vseeno nadaljevati z namestitvijo {}? Package installation failed - Package installation failed + Namestitev paketa spodletela See Report View for detailed failure log. - See Report View for detailed failure log. + Za podrobnejši zapisnik o napaki poglejte Poročevalni pogled. Installing Addon - Installing Addon + Nameščanje dodatka Installing FreeCAD Addon '{}' - Installing FreeCAD Addon '{}' + Nameščanje FreeCADovega dodatka '{}' Cancelling - Cancelling + Preklic Cancelling installation of '{}' - Cancelling installation of '{}' + Preklicevanje nameščanja '{}' {} was installed successfully - {} was installed successfully + {} je bil uspešno nameščen Installation Failed - Installation Failed + Namestitev spodletela Failed to install {} - Failed to install {} + Spodletelo nameščanje {} Create new toolbar - Create new toolbar + Ustvari novo orodno vrstico A macro installed with the FreeCAD Addon Manager - A macro installed with the FreeCAD Addon Manager + Makro nameščen s FreeCAD-ovim Upravljalnikom dodatkov Run Indicates a macro that can be 'run' - Zaženi (postopek), + Zaženi Unable to read data from GitHub: check your internet connection and proxy settings and try again. - Unable to read data from GitHub: check your internet connection and proxy settings and try again. + Podatkov na GitHubu ni mogoče brati: preverite spletno povezavo in nastavitve posredniškega strežnika ter poskusite ponovno. XML failure while reading metadata from file {} - XML failure while reading metadata from file {} + XML napaka pri branju samopodatkov iz datoteke {} Invalid metadata in file {} - Invalid metadata in file {} + Neveljavni samopodatki v datoteki {} WARNING: Path specified in package.xml metadata does not match currently checked-out branch. - WARNING: Path specified in package.xml metadata does not match currently checked-out branch. + OPOZORILO: Pot, določena v samopodatkih package.xml, se ne sklada s trenutno prevzeto vejo. Name - Ime + Naziv @@ -1890,7 +1882,7 @@ preveril razpoložljivost posodobitev za nameščene dodatke Select the folder containing your Addon - Select the folder containing your Addon + Izberite mapo z vašim dodatkom @@ -1901,22 +1893,22 @@ preveril razpoložljivost posodobitev za nameščene dodatke Scanning Addon for Python version compatibility - Scanning Addon for Python version compatibility + Pregledovanje združljivosti dodatka s Pythonovo različico Minimum Python Version Detected - Minimum Python Version Detected + Zaznana je minimalna Pythonova različica Vermin auto-detected a required version of Python 3.{} - Vermin auto-detected a required version of Python 3.{} + Vermin je samodejno zaznal zahtevano različico Pythona 3.{} Install Vermin? - Install Vermin? + Želite namestiti Vermin? @@ -1926,13 +1918,13 @@ preveril razpoložljivost posodobitev za nameščene dodatke Attempting to install Vermin from PyPi - Attempting to install Vermin from PyPi + Poskus namestitve Vermina s PyPi Installation failed - Installation failed + Nameščanje spodletelo diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_sr-CS.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_sr-CS.qm index ae0aba3318..5caf8b1951 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_sr-CS.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_sr-CS.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_sr-CS.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_sr-CS.ts index 687fb79156..1db4fa7e17 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_sr-CS.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_sr-CS.ts @@ -23,7 +23,6 @@ CompactView - Form Obrazac @@ -422,7 +421,6 @@ Da li želiš da ih Menadžer dodataka automatski instalira? Izaberi "Zanem ExpandedView - Form Obrazac @@ -476,7 +474,6 @@ Da li želiš da ih Menadžer dodataka automatski instalira? Izaberi "Zanem Form - Form Obrazac @@ -703,11 +700,6 @@ instalirani dodaci će biti provereni da li postoje dostupna ažuriranja PackageDetails - - - Form - Obrazac - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ instalirani dodaci će biti provereni da li postoje dostupna ažuriranja Izvršavanje makroa nije uspelo. Pogledaj konzolu za detalje o greškama. - - + + Maintainer Programer zadužen za održavanje - - + + Author Autor @@ -1496,8 +1488,8 @@ instalirani dodaci će biti provereni da li postoje dostupna ažuriranja QtWebEngine Python bindings not installed -- using fallback README display. - + Success Uspešno @@ -1629,9 +1621,9 @@ instalirani dodaci će biti provereni da li postoje dostupna ažuriranja Izaberi datoteku ikone za ovu stavku sadržaja + - {} is not a subdirectory of {} {} nije podfascikla {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_sr.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_sr.qm index 36f45d2d1e..6df75311e9 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_sr.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_sr.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_sr.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_sr.ts index 3bc99e9fef..7624aecf63 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_sr.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_sr.ts @@ -23,7 +23,6 @@ CompactView - Form Образац @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Образац @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Образац @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Образац - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Извршавање макроа није успело. Погледај конзолу за детаље о грешкама. - - + + Maintainer Програмер задужен за одржавање - - + + Author Аутор @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Успешно @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Изабери датотеку иконе за ову ставку садржаја + - {} is not a subdirectory of {} {} није подфасцикла {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_sv-SE.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_sv-SE.qm index 82ebf7005d..94b17b9dd5 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_sv-SE.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_sv-SE.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_sv-SE.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_sv-SE.ts index 7772834d47..a8c9233d41 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_sv-SE.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_sv-SE.ts @@ -23,7 +23,6 @@ CompactView - Form Form @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Form @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Form @@ -514,7 +511,7 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Email - Email + E-post @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Form - Uninstalls a selected macro or workbench @@ -978,7 +970,7 @@ installed addons will be checked for available updates Never - Never + Aldrig @@ -1017,7 +1009,7 @@ installed addons will be checked for available updates Add Person - Add Person + Lägg till person @@ -1093,7 +1085,7 @@ installed addons will be checked for available updates About... - About... + Om... @@ -1168,7 +1160,7 @@ installed addons will be checked for available updates Never - Never + Aldrig @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Maintainer - - + + Author Upphovsman @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_tr.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_tr.qm index aa4013fd4c..f7332eaa8a 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_tr.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_tr.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_tr.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_tr.ts index 25b1b45e48..0234460e39 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_tr.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_tr.ts @@ -23,7 +23,6 @@ CompactView - Form Şekil: @@ -422,7 +421,6 @@ Eklenti Yöneticisinin bunları otomatik olarak kurmasını istiyor musunuz? Ekl ExpandedView - Form Şekil: @@ -476,7 +474,6 @@ Eklenti Yöneticisinin bunları otomatik olarak kurmasını istiyor musunuz? Ekl Form - Form Şekil: @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Şekil: - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Geliştirici - - + + Author Yazar @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_uk.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_uk.qm index 1cc5866492..a17245dc0a 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_uk.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_uk.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_uk.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_uk.ts index 03acd9923f..4a7eea1a17 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_uk.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_uk.ts @@ -23,7 +23,6 @@ CompactView - Form Форма @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Форма @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Форма @@ -581,8 +578,8 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore If this option is selected, when launching the Addon Manager, installed addons will be checked for available updates (this requires the GitPython package installed on your system) - Якщо вибрано цей параметр, під час запуску Менеджера Додатків -встановлені додатки буде перевірено на наявність оновлень + Якщо вибрано цей параметр, під час запуску Менеджера Додатків +встановлені додатки буде перевірено на наявність оновлень (необхідно встановити в систему пакет GitPython) @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Форма - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Розробник - - + + Author Автор @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_val-ES.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_val-ES.qm index 4ebc637868..f9cc81b509 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_val-ES.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_val-ES.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_val-ES.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_val-ES.ts index c7d0580ccb..56b7ab832f 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_val-ES.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_val-ES.ts @@ -23,7 +23,6 @@ CompactView - Form Forma @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form Forma @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form Forma @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - Forma - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer Maintainer - - + + Author Autor @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_zh-CN.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_zh-CN.qm index 1ae5ead6a1..f713719c14 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_zh-CN.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_zh-CN.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_zh-CN.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_zh-CN.ts index ad72ec12bf..c23a58f5f0 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_zh-CN.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_zh-CN.ts @@ -23,7 +23,6 @@ CompactView - Form 窗体 @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form 窗体 @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form 窗体 @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - 窗体 - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer 维护者 - - + + Author 作者 @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_zh-TW.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_zh-TW.qm index c168e664a5..fe402cb190 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_zh-TW.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_zh-TW.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_zh-TW.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_zh-TW.ts index 6628be0b67..b1e873b808 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_zh-TW.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_zh-TW.ts @@ -23,7 +23,6 @@ CompactView - Form 格式 @@ -422,7 +421,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore ExpandedView - Form 格式 @@ -476,7 +474,6 @@ Do you want the Addon Manager to install them automatically? Choose "Ignore Form - Form 格式 @@ -703,11 +700,6 @@ installed addons will be checked for available updates PackageDetails - - - Form - 格式 - Uninstalls a selected macro or workbench @@ -1269,18 +1261,18 @@ installed addons will be checked for available updates Execution of macro failed. See console for failure details. - - + + Maintainer 維護者 - - + + Author 作者 @@ -1496,8 +1488,8 @@ installed addons will be checked for available updates QtWebEngine Python bindings not installed -- using fallback README display. - + Success Success @@ -1629,9 +1621,9 @@ installed addons will be checked for available updates Select an icon file for this content item + - {} is not a subdirectory of {} {} is not a subdirectory of {} diff --git a/src/Mod/AddonManager/addonmanager_devmode_add_content.py b/src/Mod/AddonManager/addonmanager_devmode_add_content.py index 44cfad5738..2d74b7a6e5 100644 --- a/src/Mod/AddonManager/addonmanager_devmode_add_content.py +++ b/src/Mod/AddonManager/addonmanager_devmode_add_content.py @@ -588,7 +588,7 @@ class EditDependency: # display name, but keeping track of their official name as well (stored in the UserRole) for repo in AM_INSTANCE.item_model.repos: repo_dict[repo.display_name.lower()] = (repo.display_name, repo.name) - sorted_keys = sorted(repo_dict.keys()) + sorted_keys = sorted(repo_dict) for item in sorted_keys: self.dialog.dependencyComboBox.addItem( repo_dict[item][0], repo_dict[item][1] diff --git a/src/Mod/AddonManager/compact_view.py b/src/Mod/AddonManager/compact_view.py index ad3e5e5dc9..0548156b71 100644 --- a/src/Mod/AddonManager/compact_view.py +++ b/src/Mod/AddonManager/compact_view.py @@ -74,7 +74,7 @@ class Ui_CompactView(object): # setupUi def retranslateUi(self, CompactView): - CompactView.setWindowTitle(QCoreApplication.translate("CompactView", "Form", None)) +# CompactView.setWindowTitle(QCoreApplication.translate("CompactView", "Form", None)) self.labelIcon.setText(QCoreApplication.translate("CompactView", "Icon", None)) self.labelPackageName.setText( QCoreApplication.translate("CompactView", "Package Name", None) diff --git a/src/Mod/AddonManager/compact_view.ui b/src/Mod/AddonManager/compact_view.ui index d0b08c9c7c..604fef6963 100644 --- a/src/Mod/AddonManager/compact_view.ui +++ b/src/Mod/AddonManager/compact_view.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/AddonManager/developer_mode_licenses_table.ui b/src/Mod/AddonManager/developer_mode_licenses_table.ui index 0e7495b744..3863ac5c8a 100644 --- a/src/Mod/AddonManager/developer_mode_licenses_table.ui +++ b/src/Mod/AddonManager/developer_mode_licenses_table.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/AddonManager/developer_mode_people_table.ui b/src/Mod/AddonManager/developer_mode_people_table.ui index 711090f3f0..21202ad868 100644 --- a/src/Mod/AddonManager/developer_mode_people_table.ui +++ b/src/Mod/AddonManager/developer_mode_people_table.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/AddonManager/expanded_view.py b/src/Mod/AddonManager/expanded_view.py index 8e076e8e70..79648015e8 100644 --- a/src/Mod/AddonManager/expanded_view.py +++ b/src/Mod/AddonManager/expanded_view.py @@ -113,7 +113,7 @@ class Ui_ExpandedView(object): # setupUi def retranslateUi(self, ExpandedView): - ExpandedView.setWindowTitle(QCoreApplication.translate("ExpandedView", "Form", None)) +# ExpandedView.setWindowTitle(QCoreApplication.translate("ExpandedView", "Form", None)) self.labelIcon.setText(QCoreApplication.translate("ExpandedView", "Icon", None)) self.labelPackageName.setText( QCoreApplication.translate("ExpandedView", "

Package Name

", None) diff --git a/src/Mod/AddonManager/expanded_view.ui b/src/Mod/AddonManager/expanded_view.ui index ee98fd9e18..3e5671a266 100644 --- a/src/Mod/AddonManager/expanded_view.ui +++ b/src/Mod/AddonManager/expanded_view.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/AddonManager/package_details.ui b/src/Mod/AddonManager/package_details.ui index ba7c5ff23b..8c86eae0bb 100644 --- a/src/Mod/AddonManager/package_details.ui +++ b/src/Mod/AddonManager/package_details.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Arch/ArchCommands.py b/src/Mod/Arch/ArchCommands.py index 114ab60342..61635d21ab 100644 --- a/src/Mod/Arch/ArchCommands.py +++ b/src/Mod/Arch/ArchCommands.py @@ -1142,7 +1142,7 @@ def toggleIfcBrepFlag(obj): FreeCAD.Console.PrintMessage(translate("Arch","Object doesn't have settable IFCData")) else: d = obj.IfcData - if "FlagForceBrep" in d.keys(): + if "FlagForceBrep" in d: if d["FlagForceBrep"] == "True": d["FlagForceBrep"] = "False" FreeCAD.Console.PrintMessage(translate("Arch","Disabling Brep force flag of object")+" "+obj.Label+"\n") diff --git a/src/Mod/Arch/ArchComponent.py b/src/Mod/Arch/ArchComponent.py index 7b29c76298..fc2d4c6a3f 100644 --- a/src/Mod/Arch/ArchComponent.py +++ b/src/Mod/Arch/ArchComponent.py @@ -1983,7 +1983,7 @@ class ComponentTaskPanel: import ArchIFCSchema # get presets - self.ptypes = list(ArchIFCSchema.IfcTypes.keys()) + self.ptypes = list(ArchIFCSchema.IfcTypes) self.plabels = [''.join(map(lambda x: x if x.islower() else " "+x, t[3:]))[1:] for t in self.ptypes] self.psetdefs = {} psetspath = os.path.join(FreeCAD.getResourceDir(),"Mod","Arch","Presets","pset_definitions.csv") diff --git a/src/Mod/Arch/ArchIFC.py b/src/Mod/Arch/ArchIFC.py index 2543d1e7a3..2f96f4aff0 100644 --- a/src/Mod/Arch/ArchIFC.py +++ b/src/Mod/Arch/ArchIFC.py @@ -134,7 +134,7 @@ class IfcRoot: IfcData["complex_attributes"] = "{}" ifcComplexAttributes = json.loads(IfcData["complex_attributes"]) for attribute in ifcTypeSchema["complex_attributes"]: - if attribute["name"] not in ifcComplexAttributes.keys(): + if attribute["name"] not in ifcComplexAttributes: ifcComplexAttributes[attribute["name"]] = {} IfcData["complex_attributes"] = json.dumps(ifcComplexAttributes) obj.IfcData = IfcData diff --git a/src/Mod/Arch/ArchIFCView.py b/src/Mod/Arch/ArchIFCView.py index 4703d492b2..c4d4617ce9 100644 --- a/src/Mod/Arch/ArchIFCView.py +++ b/src/Mod/Arch/ArchIFCView.py @@ -152,7 +152,7 @@ class IfcContextUI: """ data = ArchIFC.IfcRoot.getObjIfcComplexAttribute(self, self.object, "RepresentationContexts") for lineEdit in self.lineEditObjects: - if lineEdit.objectName() in data.keys(): + if lineEdit.objectName() in data: lineEdit.setText(data[lineEdit.objectName()]) def createFormEntry(self, name, label): diff --git a/src/Mod/Arch/ArchMaterial.py b/src/Mod/Arch/ArchMaterial.py index ce74d5da99..a4f7f08f44 100644 --- a/src/Mod/Arch/ArchMaterial.py +++ b/src/Mod/Arch/ArchMaterial.py @@ -699,7 +699,7 @@ class _ArchMaterialTaskPanel: if e.upper() == ".FCMAT": self.cards[b] = p + os.sep + f if self.cards: - for k in sorted(self.cards.keys()): + for k in sorted(self.cards): self.form.comboBox_MaterialsInDir.addItem(k) def fillExistingCombo(self): diff --git a/src/Mod/Arch/ArchReference.py b/src/Mod/Arch/ArchReference.py index 5021e6bcad..b07c562baa 100644 --- a/src/Mod/Arch/ArchReference.py +++ b/src/Mod/Arch/ArchReference.py @@ -680,11 +680,12 @@ class ArchReferenceTaskPanel: parts = self.obj.Proxy.parts else: parts = self.obj.Proxy.getPartsList(self.obj) - for k in sorted(parts.keys()): + sortedkeys = sorted(parts) + for k in sortedkeys: self.partCombo.addItem(parts[k][0],k) if self.obj.Part: - if self.obj.Part in parts.keys(): - self.partCombo.setCurrentIndex(sorted(parts.keys()).index(self.obj.Part)) + if self.obj.Part in sortedkeys: + self.partCombo.setCurrentIndex(sortedkeys.index(self.obj.Part)) QtCore.QObject.connect(self.fileButton, QtCore.SIGNAL("clicked()"), self.chooseFile) QtCore.QObject.connect(self.openButton, QtCore.SIGNAL("clicked()"), self.openFile) @@ -722,11 +723,12 @@ class ArchReferenceTaskPanel: parts = self.obj.Proxy.getPartsList(self.obj,self.filename) if parts: self.partCombo.clear() - for k in sorted(parts.keys()): + sortedkeys = sorted(parts) + for k in sortedkeys: self.partCombo.addItem(parts[k][0],k) if self.obj.Part: - if self.obj.Part in parts.keys(): - self.partCombo.setCurrentIndex(sorted(parts.keys()).index(self.obj.Part)) + if self.obj.Part in sortedkeys: + self.partCombo.setCurrentIndex(sortedkeys.index(self.obj.Part)) def openFile(self): diff --git a/src/Mod/Arch/ArchWindow.py b/src/Mod/Arch/ArchWindow.py index beca6dd835..f2d4ee908a 100644 --- a/src/Mod/Arch/ArchWindow.py +++ b/src/Mod/Arch/ArchWindow.py @@ -274,14 +274,15 @@ class _CommandWindow: point = point.add(FreeCAD.Vector(0,0,self.Sill)) FreeCAD.ActiveDocument.openTransaction(translate("Arch","Create Window")) - FreeCADGui.doCommand("import math, FreeCAD, Arch, WorkingPlane") + FreeCADGui.doCommand("import math, FreeCAD, Arch, DraftGeomUtils") + FreeCADGui.doCommand("wp = FreeCAD.DraftWorkingPlane") if self.baseFace is not None: - FreeCADGui.doCommand("pl = WorkingPlane.getPlacementFromFace(FreeCAD.ActiveDocument." + self.baseFace[0].Name + ".Shape.Faces[" + str(self.baseFace[1]) + "])") + FreeCADGui.doCommand("face = FreeCAD.ActiveDocument." + self.baseFace[0].Name + ".Shape.Faces[" + str(self.baseFace[1]) + "]") + FreeCADGui.doCommand("pl = DraftGeomUtils.placement_from_face(face, vec_z = wp.axis)") else: - FreeCADGui.doCommand("m = FreeCAD.Matrix()") - FreeCADGui.doCommand("m.rotateX(math.pi/2)") - FreeCADGui.doCommand("pl = FreeCAD.Placement(m)") + FreeCADGui.doCommand("pl = FreeCAD.Placement()") + FreeCADGui.doCommand("pl.Rotation = FreeCAD.Rotation(wp.u, wp.axis, -wp.v, 'XZY')") FreeCADGui.doCommand("pl.Base = FreeCAD.Vector(" + str(point.x) + ", " + str(point.y) + ", " + str(point.z) + ")") @@ -340,23 +341,25 @@ class _CommandWindow: delta = FreeCAD.Vector(self.Width/2,self.Thickness/2,self.Height/2) delta = delta.add(FreeCAD.Vector(0,0,self.Sill)) - rot = FreeCAD.Rotation() + + wp = FreeCAD.DraftWorkingPlane + if self.baseFace is None: + rot = FreeCAD.Rotation(wp.u,wp.v,-wp.axis,"XZY") + self.tracker.setRotation(rot) if info: if "Face" in info['Component']: - import WorkingPlane + import DraftGeomUtils o = FreeCAD.ActiveDocument.getObject(info['Object']) self.baseFace = [o,int(info['Component'][4:])-1] #print("switching to ",o.Label," face ",self.baseFace[1]) f = o.Shape.Faces[self.baseFace[1]] - p = WorkingPlane.getPlacementFromFace(f,rotated=True) - if p: - rot = p.Rotation - self.tracker.setRotation(rot) + p = DraftGeomUtils.placement_from_face(f,vec_z=wp.axis,rotated=True) + rot = p.Rotation + self.tracker.setRotation(rot) r = self.tracker.trans.rotation.getValue().getValue() if r != (0,0,0,1): delta = FreeCAD.Rotation(r[0],r[1],r[2],r[3]).multVec(FreeCAD.Vector(delta.x,-delta.y,-delta.z)) self.tracker.pos(point.add(delta)) - #self.tracker.setRotation(rot) def taskbox(self): diff --git a/src/Mod/Arch/Resources/translations/Arch.ts b/src/Mod/Arch/Resources/translations/Arch.ts index 42866c9d42..2983e76091 100644 --- a/src/Mod/Arch/Resources/translations/Arch.ts +++ b/src/Mod/Arch/Resources/translations/Arch.ts @@ -1336,8 +1336,8 @@ are placed in a 'Group' instead.
- + Export options @@ -1758,40 +1758,40 @@ unit to work with when opening the file.
- - + + Category - - - + + + Preset - - - - + + + + Length - - + + Width - + Height @@ -1807,8 +1807,8 @@ unit to work with when opening the file. - + Con&tinue @@ -1825,8 +1825,8 @@ unit to work with when opening the file. - + Facemaker returned an error @@ -1938,8 +1938,8 @@ unit to work with when opening the file.
- + Couldn't compute a shape @@ -2106,8 +2106,8 @@ Site creation aborted.
- + Please select a base object @@ -2219,7 +2219,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Create external reference @@ -2306,202 +2306,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela
- + Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. - + Window options - + Auto include in host object - + Sill height - + This window has no defined opening - - - + + + Get selected edge - + Unable to create component - + Window elements - + Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected - - + + Remove - - + + Add - - - - + + + + - + - - + + Edit - + Create/update component - + Base 2D object - - + + Wires - + Components - + Create new component - + Name - - + + Type - + Thickness - + Offset - + Hinge - + Opening mode - - + + + default - + If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge - - + + Invert opening direction - - + + Invert hinge position @@ -2526,9 +2526,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela
- + Axes @@ -2540,9 +2540,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written @@ -2552,8 +2552,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela
- + Please select only one base object or none @@ -3092,8 +3092,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela
- + Export CSV File @@ -3103,24 +3103,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela
+ - Description + + - - Value + - Unit @@ -3209,19 +3209,19 @@ Floor creation aborted.
+ - has a null shape - + Toggle subcomponents @@ -3231,8 +3231,8 @@ Floor creation aborted.
- + Component @@ -3429,8 +3429,8 @@ Floor creation aborted.
- + Building @@ -3801,14 +3801,14 @@ Building creation aborted.
- + The length of this element, if not based on a profile - + The width of this element, if not based on a profile @@ -3818,15 +3818,15 @@ Building creation aborted.
- + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element @@ -3841,8 +3841,8 @@ Building creation aborted.
- + The facemaker type to use to build the profile of this object @@ -3919,9 +3919,9 @@ Building creation aborted.
+ - The type of this building @@ -4240,20 +4240,20 @@ Building creation aborted.
- + Other shapes that are appended to this object - + Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane @@ -4288,8 +4288,8 @@ Building creation aborted.
- + The type of this object @@ -4474,92 +4474,92 @@ Building creation aborted.
- + The objects that host this window - + The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window - + The height of this window - + The normal direction of this window - + The preset number this window is based on - + The frame size of this window - + The offset size of this window - + The area of this window - + The width of louvre elements - + The space between louvre elements - + Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available - + Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic @@ -6108,12 +6108,12 @@ Building creation aborted. Arch_Reference - + External reference - + Creates an external reference object @@ -6737,9 +6737,9 @@ Building creation aborted. Command - - + + Transform diff --git a/src/Mod/Arch/Resources/translations/Arch_be.qm b/src/Mod/Arch/Resources/translations/Arch_be.qm index 339491de7f..1a80dece98 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_be.qm and b/src/Mod/Arch/Resources/translations/Arch_be.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_be.ts b/src/Mod/Arch/Resources/translations/Arch_be.ts index 1bcd5d2eba..f33ed07b84 100644 --- a/src/Mod/Arch/Resources/translations/Arch_be.ts +++ b/src/Mod/Arch/Resources/translations/Arch_be.ts @@ -139,7 +139,7 @@ Idle - Бяздзейнасць + Чаканне @@ -359,12 +359,12 @@ IfcType:Wall - будуць улічвацца толькі аб'екты, ты Import - Імпарт + Імпартаваць Export - Export + Экспартаваць @@ -394,7 +394,7 @@ IfcType:Wall - будуць улічвацца толькі аб'екты, ты Dialog - Дыялог + Дыялогавае акно @@ -467,13 +467,13 @@ IfcType:Wall - будуць улічвацца толькі аб'екты, ты Select all - Пазначыць усё + Абраць усё Commit - Commit + Фіксаваць @@ -886,7 +886,7 @@ instead of the FreeCAD web workbench Survey - Апытанне + Спіс памераў @@ -971,7 +971,7 @@ instead of the FreeCAD web workbench Length: - Length: + Даўжыня: @@ -1095,17 +1095,17 @@ instead of the FreeCAD web workbench Dashed - Штрыхавая + Штрыхавы Dotted - Пункцірная + Пункцірны Dashdot - Штрых-пункцірная + Штрых-пункцірны @@ -1372,8 +1372,8 @@ are placed in a 'Group' instead. DAE - + Export options Налады экспартавання @@ -1751,7 +1751,7 @@ unit to work with when opening the file. Structure - Структура + Канструкцыя @@ -1823,40 +1823,40 @@ unit to work with when opening the file. Налады чарчэння - - + + Category Катэгорыя - - - + + + Preset Перадустаноўка - - - - + + + + Length Даўжыня - - + + Width Шырыня - + Height Вышыня @@ -1872,8 +1872,8 @@ unit to work with when opening the file. Пераключыць даўжыню/шырыню - + Con&tinue Пра&цягнуць @@ -1890,8 +1890,8 @@ unit to work with when opening the file. Паліганальная сетка з'яўляецца хібным суцэльным целам - + Facemaker returned an error Майстар граняў вярнуў памылку @@ -2001,11 +2001,11 @@ unit to work with when opening the file. Done - Гатова + Зроблена - + Couldn't compute a shape Не атрымалася вылічыць фігуру @@ -2134,7 +2134,7 @@ unit to work with when opening the file. Site - Сайт + Мясцовасць @@ -2180,8 +2180,8 @@ Site creation aborted. Немагчыма стварыць дах - + Please select a base object Калі ласка, абярыце асноўны аб'ект @@ -2220,7 +2220,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Id - + Ідэнтыфікатар @@ -2303,7 +2303,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Адчыніць апорны элемент - + Create external reference Стварыць вонкавы апорны элемент @@ -2390,202 +2390,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Абярыце грань на існуючым аб'екце ці абярыце перадустаноўку - + Window not based on sketch. Window not aligned or resized. Акно, не заснаванае на эскізе. Акно не выраўнаванае ці не зменена па памеры. - + No Width and/or Height constraint in window sketch. Window not resized. Без абмежавання шырыні і/ці вышыні ў эскізе акна. Памер акна не будзе зменены. - + No window found. Cannot continue. Акно не знойдзена. Працягнуць не атрымалася. - + Window options Налады акна - + Auto include in host object Аўтаматычнае ўключэнне ў аб'ект вузла - + Sill height Вышыня падаконніку - + This window has no defined opening Акно не мае пэўнага спосабу адкрыцця - - - + + + Get selected edge Атрымаць абранае рабро - + Unable to create component Немагчыма стварыць кампанент - + Window elements Элементы акна - + Hole wire Ломаная лінія адтуліны - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Колькасць ломаных ліній, які вызначае адтуліны ў аб'екце вузла. Калі 0, аўтаматычна прыме самую вялікую ломаную лінію - + Pick selected Выбраць абранае - - + + Remove Выдаліць - - + + Add Дадаць - - - - + + + + - + - - + + Edit Змяніць - + Create/update component Стварыць/абнавіць кампанент - + Base 2D object Асноўны двухмерны аб'ект - - + + Wires Ломаныя лініі - + Components Кампаненты - + Create new component Стварыць новы кампанент - + Name Назва - - + + Type Тып - + Thickness Таўшчыня - + Offset Зрушэнне - + Hinge Шарнір - + Opening mode Рэжым адкрыцця - - + + + default + першапачаткова - + If this is checked, the default Frame value of this window will be added to the value entered here Калі птушка, першапачатковае значэнне каркасу для акна будзе дададзена да зададзенага значэння - + If this is checked, the default Offset value of this window will be added to the value entered here Калі птушка, першапачатковае значэнне зрушэння для акна будзе дададзена да зададзенага значэння - + Press to retrieve the selected edge Націсніце, каб атрымаць абранае рабро - - + + Invert opening direction Змяніць напрамак адкрыцця - - + + Invert hinge position Перавярнуць становішча шарніру @@ -2610,9 +2610,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Калі ласка, абярыце хаця б адну вось - + Axes Восі @@ -2624,9 +2624,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Паспяхова запісана @@ -2636,8 +2636,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Канструкцыя ферма - + Please select only one base object or none Калі ласка, абярыце толькі адзін асноўны аб'ект, альбо нічога @@ -3056,7 +3056,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Pipe - Труба + Трубаправод @@ -3176,8 +3176,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Імпартаваць файл CSV - + Export CSV File Экспартаваць файл CSV @@ -3187,24 +3187,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Немагчыма распазнаць тып файла + - Description Апісанне + + - - Value Значэнне + - Unit Адзінка вымярэння @@ -3262,7 +3262,7 @@ Floor creation aborted. Distance - Distance + Адлегласць @@ -3301,19 +3301,19 @@ Floor creation aborted. мае хібную фігуру + - has a null shape мае пустую фігуру - + Toggle subcomponents Пераключыць укладзеныя кампаненты @@ -3323,8 +3323,8 @@ Floor creation aborted. Зачыненне змены Эскізу - + Component Кампанент @@ -3521,8 +3521,8 @@ Floor creation aborted. Цэнтруе плоскасць па аб'ектах з прыведзенага вышэй спісу - + Building Будынак @@ -3560,7 +3560,7 @@ Building creation aborted. Space - Прагал + Памяшканне @@ -3703,7 +3703,7 @@ Building creation aborted. Survey - Апытанне + Спіс памераў @@ -3805,7 +3805,7 @@ Building creation aborted. The object doesn't have an IfcProperties attribute. Cancel spreadsheet creation for object: - У аб'екта няма атрыбуту IfcProperties. Адмяніць стварэнне аркуша для аб'екта: + У аб'екта няма атрыбуту IfcProperties. Скасаваць стварэнне аркуша для аб'екта: @@ -3844,7 +3844,7 @@ Building creation aborted. Structure - Структура + Канструкцыя @@ -3901,14 +3901,14 @@ Building creation aborted. Кручэнне асновы вакол восі інструмента (ужываецца толькі ў тым выпадку, калі BasePerpendicularToTool зададзены ў True) - + The length of this element, if not based on a profile Даўжыня элементу, калі не заснаваны на профілі - + The width of this element, if not based on a profile Шырыня элементу, калі не заснаваны на профілі @@ -3918,15 +3918,15 @@ Building creation aborted. Вышыня ці глыбіня выдушвання элементу. Задайце 0 для аўтаматычнага вызначэння - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Вектар нармалі напрамку выдушвання аб'екту (пакіньце (0,0,0) для аўтаматычнага вектару нармалі) - + The structural nodes of this element Структурныя вузлы элемента @@ -3941,8 +3941,8 @@ Building creation aborted. Адлегласць зрушэння паміж цэнтральнай ліній і лініяй вузлоў - + The facemaker type to use to build the profile of this object Тып майстра граняў, які ўжываецца для стварэння профілю аб'екта @@ -4019,9 +4019,9 @@ Building creation aborted. Электрычная магутнасць у ватах (Вт), якая неабходная абсталяванню + - The type of this building Тып будынка @@ -4340,20 +4340,20 @@ Building creation aborted. URL-адрас, які паказвае дадзеную мясцовасць на супастаўленым інтэрнэт-сайце
- + Other shapes that are appended to this object Іншыя фігуры, якія дадаюцца да аб'екта - + Other shapes that are subtracted from this object Іншыя фігуры, якія адымаюцца ад аб'екту - + The area of the projection of this object onto the XY plane Плошча праекцыі аб'екту на плоскасць XY @@ -4388,8 +4388,8 @@ Building creation aborted. Неабавязковае зрушэнне паміж пачаткам каардынат мадэлі (0,0,0) і кропкай, названай геаграфічнымі каардынатамі
- + The type of this object Тып аб'екту @@ -4574,92 +4574,92 @@ Building creation aborted. Калі true, геаметрыя аб'яднаная, інакш злучаная
- + The objects that host this window Аб'екты, на якіх размешчана акно - + The components of this window Кампаненты акна - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. Глыбіня адтуліны, якое акно прарабляе ў сваім галоўным аб'екце. Калі 0, значэнне будзе разлічана аўтаматычна. - + An optional object that defines a volume to be subtracted from hosts of this window Неабавязковы аб'ект, які вызначае аб'ём, які будзе адымацца з вузлоў акна - + The width of this window Шырыня акна - + The height of this window Вышыня акна - + The normal direction of this window Напрамак нармалі акна - + The preset number this window is based on Нумар перадусталёўкі, на якім заснавана акно - + The frame size of this window Памер рамы акна - + The offset size of this window Памер зрушэння акна - + The area of this window Плошча акна - + The width of louvre elements Шырыня элементаў жалюзі - + The space between louvre elements Адлегласць паміж элементамі жалюзі - + Opens the subcomponents that have a hinge defined Адчыняе ўкладзеныя кампаненты, якія маюць петлі - + The number of the wire that defines the hole. If 0, the value will be calculated automatically Колькасць ломаных ліній, якая вызначае адтуліну. Калі 0, значэнне будзе разлічана аўтаматычна - + Shows plan opening symbols if available Паказвае знакі адкрыцця плана, калі яны маюцца - + Show elevation opening symbols if available Паказвае знакі адкрыцця вышыні, калі яны маюцца - + The number of the wire that defines the hole. A value of 0 means automatic Колькасць ломаных ліній, якая вызначае адтуліну. Значэнне 0 азначае - аўтаматычна @@ -5785,7 +5785,7 @@ Building creation aborted. The objects that make the boundaries of this space object - Аб'екты, якія ўтвараюць межы гэтага аб'екта памяшкання + Аб'екты, якія ўтвараюць межы аб'екта памяшкання @@ -6158,7 +6158,7 @@ Building creation aborted. Site - Сайт + Мясцовасць @@ -6208,12 +6208,12 @@ Building creation aborted. Arch_Reference - + External reference Вонкавы спасылак - + Creates an external reference object Стварае аб'ект вонкавай спасылкі @@ -6301,7 +6301,7 @@ Building creation aborted. Space - Прагал + Памяшканне @@ -6509,7 +6509,7 @@ Building creation aborted. Pipe - Труба + Трубаправод @@ -6549,7 +6549,7 @@ Building creation aborted. Creates a schedule to collect data from the model - Стварае графік для збору дадзеных з мадэлі + Стварае наменклатуру для збору дадзеных з мадэлі @@ -6761,12 +6761,12 @@ Building creation aborted. Survey - Апытанне + Спіс памераў Starts survey - Пачынае даследаванне + Пачынае даследаванне спісу памераў @@ -6837,9 +6837,9 @@ Building creation aborted. Command - - + + Transform Пераўтварыць @@ -6858,7 +6858,7 @@ Building creation aborted. Draft - Асадка + Чарнавік diff --git a/src/Mod/Arch/Resources/translations/Arch_ca.ts b/src/Mod/Arch/Resources/translations/Arch_ca.ts index 0a6401da6c..8b50254c88 100644 --- a/src/Mod/Arch/Resources/translations/Arch_ca.ts +++ b/src/Mod/Arch/Resources/translations/Arch_ca.ts @@ -1349,8 +1349,8 @@ es col·loquen en un grup. DAE - + Export options Opcions d'exportació @@ -1781,40 +1781,40 @@ De totes maneres, algunes aplicacions BIM utilitzen aquest factor per escollir q Mode de dibuix - - + + Category Categoria - - - + + + Preset Preset - - - - + + + + Length Longitud - - + + Width Amplària - + Height Alçària @@ -1830,8 +1830,8 @@ De totes maneres, algunes aplicacions BIM utilitzen aquest factor per escollir q Switch L/W - + Con&tinue Con&tinua @@ -1848,8 +1848,8 @@ De totes maneres, algunes aplicacions BIM utilitzen aquest factor per escollir q This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1962,8 +1962,8 @@ De totes maneres, algunes aplicacions BIM utilitzen aquest factor per escollir q Fet
- + Couldn't compute a shape Couldn't compute a shape @@ -2138,8 +2138,8 @@ Site creation aborted. No s'ha pogut crear un sostre
- + Please select a base object Please select a base object @@ -2261,7 +2261,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Obre la referència - + Create external reference Crea una referència externa @@ -2348,202 +2348,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset
- + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component No s'ha pogut crear el component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Tria el seleccionat - - + + Remove Elimina - - + + Add Afegeix - - - - + + + + - + - - + + Edit Edita - + Create/update component Crea/actualitza el component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Components - + Create new component Crea un component nou - + Name Nom - - + + Type Tipus - + Thickness Gruix - + Offset Equidistancia (ofset) - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2568,9 +2568,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2582,9 +2582,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2594,8 +2594,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Gelosia - + Please select only one base object or none Please select only one base object or none @@ -3134,8 +3134,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3145,24 +3145,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Descripció + + - - Value Valor + - Unit Unitat @@ -3259,19 +3259,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3281,8 +3281,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3479,8 +3479,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Construcció @@ -3859,14 +3859,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3876,15 +3876,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3899,8 +3899,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -3977,9 +3977,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4298,20 +4298,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4346,8 +4346,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4532,92 +4532,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6166,12 +6166,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6795,9 +6795,9 @@ Building creation aborted. Command - - + + Transform Transformar diff --git a/src/Mod/Arch/Resources/translations/Arch_cs.ts b/src/Mod/Arch/Resources/translations/Arch_cs.ts index cd9a8da6c5..aa95221880 100644 --- a/src/Mod/Arch/Resources/translations/Arch_cs.ts +++ b/src/Mod/Arch/Resources/translations/Arch_cs.ts @@ -1360,8 +1360,8 @@ jsou místo toho umístěny do „skupiny“. DAE - + Export options Možnosti exportu @@ -1813,40 +1813,40 @@ bude pracovat při otevírání souboru. Režim kreslení - - + + Category Kategorie - - - + + + Preset Předvolba - - - - + + + + Length Délka - - + + Width Šířka - + Height Výška @@ -1862,8 +1862,8 @@ bude pracovat při otevírání souboru. Přepnout L/W - + Con&tinue Pokračovat @@ -1880,8 +1880,8 @@ bude pracovat při otevírání souboru. Tato síť netvoří platné těleso - + Facemaker returned an error Fakulta vrátila chybu @@ -1994,8 +1994,8 @@ bude pracovat při otevírání souboru. Hotovo - + Couldn't compute a shape Nelze vypočítat tvar @@ -2170,8 +2170,8 @@ Vytvoření webu bylo přerušeno. Nelze vytvořit střechu - + Please select a base object Vyber základní objekt @@ -2293,7 +2293,7 @@ Je-li Run = 0, pak se běh vypočítá tak, aby výška byla stejná jako relati Otevřít reference - + Create external reference Vytvořit externí reference @@ -2380,202 +2380,202 @@ Je-li Run = 0, pak se běh vypočítá tak, aby výška byla stejná jako relati Vyberte plochu na existujícím objektu nebo vyberte přednastavení - + Window not based on sketch. Window not aligned or resized. Okno není založeno na náčrtu. Okno není zarovnané nebo změněné. - + No Width and/or Height constraint in window sketch. Window not resized. Žádná šířka a/nebo Výška omezení v náčrtu okna. Okno nebylo změněno. - + No window found. Cannot continue. Nebylo nalezeno žádné okno. Nelze pokračovat. - + Window options Volby okna - + Auto include in host object Automaticky zahrnout do hostitelského objektu - + Sill height Výška parapetu - + This window has no defined opening Toto okno nemá žádné definované otevření - - - + + + Get selected edge Získat vybranou hranu - + Unable to create component Nepodařilo se vytvořit díl - + Window elements Prvky okna - + Hole wire Otvor drátu - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Číslo drátu, který definuje otvor v hostitelském objektu. Hodnota nuly automaticky převezme největší drát - + Pick selected Vybrat vybrané - - + + Remove Odstranit - - + + Add Přidat - - - - + + + + - + - - + + Edit Upravit - + Create/update component Vytvořit/aktualizovat díl - + Base 2D object Základní 2D objekt - - + + Wires Dráty - + Components Komponenty - + Create new component Vytvořit nový díl - + Name Jméno - - + + Type Typ - + Thickness Tloušťka - + Offset Odstup - + Hinge Závěs - + Opening mode Režim otevírání - - + + + default + výchozí - + If this is checked, the default Frame value of this window will be added to the value entered here Je-li zaškrtnuto, výchozí hodnota rámu tohoto okna bude přidána k hodnotě zadané zde - + If this is checked, the default Offset value of this window will be added to the value entered here Je-li zaškrtnuto, výchozí hodnota odsazení tohoto okna bude přidána k hodnotě zadané zde - + Press to retrieve the selected edge Stisknutím načíst vybraný okraj - - + + Invert opening direction Obrátit směr otevírání - - + + Invert hinge position Otočit pozici závěsů @@ -2600,9 +2600,9 @@ Je-li Run = 0, pak se běh vypočítá tak, aby výška byla stejná jako relati Vyberte prosím alespoň jednu osu - + Axes Osy @@ -2614,9 +2614,9 @@ Je-li Run = 0, pak se běh vypočítá tak, aby výška byla stejná jako relati - + Successfully written Úspěšně zapsáno @@ -2626,8 +2626,8 @@ Je-li Run = 0, pak se běh vypočítá tak, aby výška byla stejná jako relati Vazník - + Please select only one base object or none Vyberte prosím pouze jeden základní objekt nebo žádný @@ -3166,8 +3166,8 @@ Je-li Run = 0, pak se běh vypočítá tak, aby výška byla stejná jako relati Import CSV File - + Export CSV File Export CSV File @@ -3177,24 +3177,24 @@ Je-li Run = 0, pak se běh vypočítá tak, aby výška byla stejná jako relati Unable to recognize that file type + - Description Popis + + - - Value Hodnota + - Unit Jednotka @@ -3291,19 +3291,19 @@ Floor creation aborted. má neplatný tvar + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3313,8 +3313,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3511,8 +3511,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Budova @@ -3891,14 +3891,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3908,15 +3908,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3931,8 +3931,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4009,9 +4009,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4330,20 +4330,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4378,8 +4378,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object Typ tohoto objektu @@ -4564,92 +4564,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window Plocha tohoto okna - + The width of louvre elements Šířka lamel žaluzie - + The space between louvre elements Prostotr mezi lamelami žaluzie - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically Počet drátů definujících otvor. Je-li 0, je hodnota vypočtena automaticky - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic Počet drátů definujících otvor. Je-li 0, je hodnota vypočtena automaticky @@ -6198,12 +6198,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6827,9 +6827,9 @@ Building creation aborted. Command - - + + Transform Transformace diff --git a/src/Mod/Arch/Resources/translations/Arch_de.qm b/src/Mod/Arch/Resources/translations/Arch_de.qm index 8e3277c0e4..d09cf70881 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_de.qm and b/src/Mod/Arch/Resources/translations/Arch_de.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_de.ts b/src/Mod/Arch/Resources/translations/Arch_de.ts index ed08e9cdc3..a38b512b79 100644 --- a/src/Mod/Arch/Resources/translations/Arch_de.ts +++ b/src/Mod/Arch/Resources/translations/Arch_de.ts @@ -139,7 +139,7 @@ Idle - Leerlauf + Inaktiv @@ -283,7 +283,7 @@ Deaktivieren um alle Objekte des Dokuments zu verwenden Auto update - Automatische Aktualisierung + Automatisch aktualisieren @@ -313,7 +313,7 @@ Deaktivieren um alle Objekte des Dokuments zu verwenden Clear - Löschen + Leeren @@ -368,7 +368,7 @@ Deaktivieren um alle Objekte des Dokuments zu verwenden Password: - Kennwort: + Passwort: @@ -617,7 +617,7 @@ Deaktivieren um alle Objekte des Dokuments zu verwenden Stop - Beenden + Stop @@ -974,7 +974,7 @@ instead of the FreeCAD web workbench Offset - Versetzen + Versatz @@ -1005,7 +1005,7 @@ instead of the FreeCAD web workbench Transparency: - Transparenz: + Tranparenz: @@ -1348,8 +1348,8 @@ are placed in a 'Group' instead. DAE - + Export options Export Einstellungen @@ -1782,40 +1782,40 @@ unit to work with when opening the file. Planungsmodus - - + + Category Kategorie - - - + + + Preset Voreinstellung - - - - + + + + Length Länge - - + + Width Breite - + Height Höhe @@ -1831,8 +1831,8 @@ unit to work with when opening the file. Tausche L und B - + Con&tinue Fortfahren @@ -1849,8 +1849,8 @@ unit to work with when opening the file. Dieses Polygonnetz ist ein ungültiger Volumenkörper - + Facemaker returned an error Facemaker wurde mit Fehler beendet @@ -1963,15 +1963,15 @@ unit to work with when opening the file. Fertig - + Couldn't compute a shape Es konnte keine Form berechnet werden Equipment - Ausstattung + Ausrüstung @@ -2139,8 +2139,8 @@ Grundstück Erstellung abgebrochen. Dach konnte nicht erzeugt werden - + Please select a base object Bitte ein Basisobjekt auswählen @@ -2219,7 +2219,7 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Cutting - Schneiden + Zuschnitt @@ -2244,7 +2244,7 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Front - Vorderansicht + Vorne @@ -2262,7 +2262,7 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Referenz öffnen - + Create external reference Externe Referenz erstellen @@ -2349,202 +2349,202 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Wähle eine Fläche auf einem existierenden Objekt oder wähle eine Voreinstellung - + Window not based on sketch. Window not aligned or resized. Fenster basiert auf keiner Skizze. Fenster ist nicht ausgerichtet oder in der Größe angepasst. - + No Width and/or Height constraint in window sketch. Window not resized. Keine Breiten- und/oder Höhenbegrenzung in Fensterskizze. Fenster wird nicht verändert. - + No window found. Cannot continue. Kein Fenster gefunden. Kann nicht fortfahren. - + Window options Fensteroptionen - + Auto include in host object Automatisch in Host-Objekt einfügen - + Sill height Fensterbankhöhe - + This window has no defined opening Das Fenster hat keine definierte Öffnung - - - + + + Get selected edge Ausgewählte Kante erhalten - + Unable to create component Komponente konnte nicht erstellt werden - + Window elements Fensterelemente - + Hole wire Kantenzug - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Die Nummer des Kantenzuges der das Loch im Host-Objekt definiert. Der Wert Null wählt automatisch den größten Kantenzug aus - + Pick selected - Ausgewählte wählen + Ausgewähltes wählen - - + + Remove Entfernen - - + + Add Hinzufügen - - - - + + + + - + - - + + Edit Bearbeiten - + Create/update component Erstelle / aktualisiere Komponente - + Base 2D object 2D Basisobjekt - - + + Wires Kantenzüge - + Components Komponenten - + Create new component Neue Komponente erstellen - + Name Name - - + + Type Typ - + Thickness Dicke - + Offset - Versetzen + Versatz - + Hinge Scharnier - + Opening mode Öffnungsmodus - - + + + default + Standard - + If this is checked, the default Frame value of this window will be added to the value entered here Falls aktiviert, wird der Standard Rahmenwert dieses Fensters zu dem hier eingegebenen Wert hinzugefügt - + If this is checked, the default Offset value of this window will be added to the value entered here Falls aktiviert, wird der Standard Versatzwert dieses Fensters zu dem hier eingegebenen Wert addiert - + Press to retrieve the selected edge Drücken, um die ausgewählte Kante zu erhalten - - + + Invert opening direction Öffnungsrichtung umkehren - - + + Invert hinge position Scharnierposition umkehren @@ -2569,9 +2569,9 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Bitte wählen Sie mindestens eine Achse - + Axes Achsen @@ -2583,9 +2583,9 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel - + Successfully written Erfolgreich geschrieben @@ -2595,8 +2595,8 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Traverse - + Please select only one base object or none Bitte wählen Sie nur ein Basisobjekt oder keines @@ -2686,7 +2686,7 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Material - Material + Werkstoff @@ -2701,7 +2701,7 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Total thickness - Gesamtstärke + Gesamtdicke @@ -2778,7 +2778,7 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Del row - Zeile entfernen + Zeile löschen @@ -3135,8 +3135,8 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel CSV-Datei importieren - + Export CSV File CSV-Datei exportieren @@ -3146,24 +3146,24 @@ Wenn Länge = 0 dann wird die Länge so berechnet, dass die Höhe gleich dem rel Dateityp nicht erkannt + - Description Beschreibung + + - - Value Wert + - Unit Einheit @@ -3218,7 +3218,7 @@ Geschoß-Erstellung abgebrochen. Distance - Abstand + Entfernung @@ -3228,7 +3228,7 @@ Geschoß-Erstellung abgebrochen. Label - Bezeichnung + Beschriftung @@ -3257,19 +3257,19 @@ Geschoß-Erstellung abgebrochen. hat eine ungültige Form + - has a null shape hat eine ungültige Form - + Toggle subcomponents Unterkomponenten umschalten @@ -3279,8 +3279,8 @@ Geschoß-Erstellung abgebrochen. Schließe Skizzenbearbeitung - + Component Komponente @@ -3367,7 +3367,7 @@ Geschoß-Erstellung abgebrochen. Rebar - Bewehrung + Bewehrungsstahl @@ -3383,7 +3383,7 @@ Geschoß-Erstellung abgebrochen. Section - Schnittkurve + Abschnitt @@ -3408,7 +3408,7 @@ Geschoß-Erstellung abgebrochen. Add selected - Auswahl hinzufügen + Ausgewähltes hinzufügen @@ -3469,7 +3469,7 @@ Geschoß-Erstellung abgebrochen. Center - Mitte + Zentrum @@ -3477,8 +3477,8 @@ Geschoß-Erstellung abgebrochen. Zentriert die Ebene gemäß den Objekten in obiger Liste - + Building Gebäude @@ -3578,12 +3578,12 @@ Gebäudeerstellung abgebrochen. Left - Seitenansicht von links + Links Right - Seitenansicht von rechts + Rechts @@ -3669,7 +3669,7 @@ Gebäudeerstellung abgebrochen. Clear - Löschen + Leeren @@ -3857,14 +3857,14 @@ Gebäudeerstellung abgebrochen. Rotation der Basis um die Werkzeug-Achse (funktioniert nur, wenn "Basis senkrecht zu Werkzeug"- aktiviert ist) - + The length of this element, if not based on a profile Die Länge dieses Elements, wenn es nicht auf einem Profil basiert - + The width of this element, if not based on a profile Die Breite dieses Elements, wenn es nicht auf einem Profil basiert @@ -3874,15 +3874,15 @@ Gebäudeerstellung abgebrochen. Die Höhe oder Extrusionstiefe dieses Elements. Behalten Sie 0 für automatische Bestimmung der Höhe - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Die normale Extrusionsrichtung dieses Objekts (behalten Sie (0,0,0) für die automatische Normale) - + The structural nodes of this element Die Strukturknoten dieses Elements @@ -3897,8 +3897,8 @@ Gebäudeerstellung abgebrochen. Versatzabstand zwischen der Mittellinie und der Knotenlinie - + The facemaker type to use to build the profile of this object Der Typ Flächenerzeuger, der verwendet werden soll, um das Profil dieses Objekts zu erstellen @@ -3975,9 +3975,9 @@ Gebäudeerstellung abgebrochen. Die elektrische Leistung in Watt, die dieses Gerät benötigt + - The type of this building Die Art dieses Gebäudes @@ -4296,20 +4296,20 @@ Gebäudeerstellung abgebrochen. Eine URL für diesen Standort in einer Karten-Webseite - + Other shapes that are appended to this object Andere Formen, die an dieses Objekt angehängt sind - + Other shapes that are subtracted from this object Andere Formen, die von diesem Objekt abgezogen werden - + The area of the projection of this object onto the XY plane Die Fläche der Projektion des Objekts auf die XY-Ebene @@ -4344,8 +4344,8 @@ Gebäudeerstellung abgebrochen. Ein optionaler Offset zwischen dem Modell-Ursprung (0,0,0) und dem von den Geokoordinaten angegebenen Punkt - + The type of this object Der Typ dieses Objekts @@ -4472,7 +4472,7 @@ Gebäudeerstellung abgebrochen. The way the referenced objects are included in the current document. 'Normal' includes the shape, 'Transient' discards the shape when the object is switched off (smaller filesize), 'Lightweight' does not import the shape but only the OpenInventor representation - The way the referenced objects are included in the current document. 'Normal' includes the shape, 'Transient' discards the shape when the object is switched off (smaller filesize), 'Lightweight' does not import the shape but only the OpenInventor representation + Die Art mit der die referenzierten Objekte in das aktuelle Dokument eingebunden werden. 'Normal' behält die Form, 'Transient' verwirft die Form, wenn das Objekt ausgeschaltet ist (kleinere Dateigröße), 'Lightweight' importiert nicht die Form, sondern nur die OpenInventor Darstellung @@ -4492,132 +4492,132 @@ Gebäudeerstellung abgebrochen. The profile used to build this frame - The profile used to build this frame + Das zum Bau dieses Rahmens verwendete Profil Specifies if the profile must be aligned with the extrusion wires - Specifies if the profile must be aligned with the extrusion wires + Gibt an, ob das Profil an den Extrusionslinien ausgerichtet werden muss An offset vector between the base sketch and the frame - An offset vector between the base sketch and the frame + Ein Versatzvektor zwischen der Basisskizze und dem Rahmen Crossing point of the path on the profile. - Crossing point of the path on the profile. + Ankerpunkt des Pfades auf dem Profil. An optional additional placement to add to the profile before extruding it - An optional additional placement to add to the profile before extruding it + Eine optionale zusätzliche Platzierung, die dem Profil vor dem Extrudieren hinzugefügt wird The rotation of the profile around its extrusion axis - The rotation of the profile around its extrusion axis + Die Drehung des Profils um seine Extrusionsachse The type of edges to consider - The type of edges to consider + Die Art der Kanten, die berücksichtigt werden If true, geometry is fused, otherwise a compound - If true, geometry is fused, otherwise a compound + Wenn aktiviert, wird Geometrie verschmolzen, ansonsten eine Mischung - + The objects that host this window - The objects that host this window + Die Objekte, die dieses Fenster enthalten - + The components of this window Die Komponenten dieses Fensters - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. + Die Tiefe des Loches, welches dieses Fenster in seinem Wirtsobjekt macht. Bei 0 wird der Wert automatisch berechnet. - + An optional object that defines a volume to be subtracted from hosts of this window - An optional object that defines a volume to be subtracted from hosts of this window + Ein optionales Objekt, das ein Volumen definiert, das vom Wirtsobjekten dieses Fensters subtrahiert wird - + The width of this window Die Breite dieses Fensters - + The height of this window Die Höhe dieses Fensters - + The normal direction of this window Die normale Ausrichtung dieses Fensters - + The preset number this window is based on Die Voreinstellungsnummer, auf der dieses Fenster basiert - + The frame size of this window Die Rahmengröße dieses Fensters - + The offset size of this window Der Versatz dieses Fensters - + The area of this window Der Bereich dieses Fensters - + The width of louvre elements Die Breite der Gitterelemente - + The space between louvre elements Der Abstand zwischen den Gitterelementen - + Opens the subcomponents that have a hinge defined - Opens the subcomponents that have a hinge defined + Öffnet die Unterkomponenten, die ein Scharnier definiert haben - + The number of the wire that defines the hole. If 0, the value will be calculated automatically - The number of the wire that defines the hole. If 0, the value will be calculated automatically + Die Nummer des Drahts, der das Loch definiert. Wenn 0, wird der Wert automatisch berechnet - + Shows plan opening symbols if available - Shows plan opening symbols if available + Zeigt Öffnungssymbole des Plans, wenn verfügbar - + Show elevation opening symbols if available - Show elevation opening symbols if available + Zeige Elevationsöffnungssymbole, falls verfügbar - + The number of the wire that defines the hole. A value of 0 means automatic - The number of the wire that defines the hole. A value of 0 means automatic + Die Nummer des Kantenzuges, die das Loch definieren. Der Wert 0 bedeutet automatisch @@ -4627,7 +4627,7 @@ Gebäudeerstellung abgebrochen. The placement of this axis system - The placement of this axis system + Die Platzierung dieses Achsensystems @@ -4647,37 +4647,37 @@ Gebäudeerstellung abgebrochen. The height of the truss at the start position - The height of the truss at the start position + Die Höhe des Fachwerks an der Startposition The height of the truss at the end position - The height of the truss at the end position + Die Höhe des Trägers an der Endposition An optional start offset for the top strut - An optional start offset for the top strut + Eine optionale Start-Verschiebung für die obere Strebe An optional end offset for the top strut - An optional end offset for the top strut + Ein optionaler End-Versatz für die obere Strebe The height of the main top and bottom elements of the truss - The height of the main top and bottom elements of the truss + Die Höhe der oberen und unteren Hauptelemente des Fachwerks The width of the main top and bottom elements of the truss - The width of the main top and bottom elements of the truss + Die Breite der oberen und unteren Hauptelemente des Fachwerks The type of the middle element of the truss - The type of the middle element of the truss + Die Art des mittleren Elements des Fachwerks @@ -4687,17 +4687,17 @@ Gebäudeerstellung abgebrochen. The diameter or side of the rods - The diameter or side of the rods + Der Durchmesser oder die Seite der Stäbe The number of rod sections - The number of rod sections + Die Anzahl der Stababschnitte If the truss has a rod at its endpoint or not - If the truss has a rod at its endpoint or not + Ob der Träger einen Stab an seinen Enden hat oder nicht @@ -4722,12 +4722,12 @@ Gebäudeerstellung abgebrochen. The alignment of these stairs on their baseline, if applicable - The alignment of these stairs on their baseline, if applicable + Die Ausrichtung dieser Stufen auf ihrer Grundlinie, falls zutreffend The width of a Landing (Second edge and after - First edge follows Width property) - The width of a Landing (Second edge and after - First edge follows Width property) + Die Breite eines Podests (zweite Kante und folgende - die erste Kante basiert auf der Breiten Eigenschaft) @@ -4752,94 +4752,94 @@ Gebäudeerstellung abgebrochen. The thickness of the treads - The thickness of the treads + Die Dicke der Laufflächen The Blondel ratio indicates comfortable stairs and should be between 62 and 64cm or 24.5 and 25.5in - The Blondel ratio indicates comfortable stairs and should be between 62 and 64cm or 24.5 and 25.5in + Das Steigungsverhältnis sollte für bequeme Stufen im Bereich zwischen 62 - 64cm bzw. 24.5 - 25.5in liegen The thickness of the risers - The thickness of the risers + Die Dicke der Setzstufen The depth of the landing of these stairs - The depth of the landing of these stairs + Die Podesttiefe dieser Treppe The depth of the treads of these stairs - Enforced regardless of Length or edge's Length - The depth of the treads of these stairs - Enforced regardless of Length or edge's Length + Die Tiefe der Trittstufen dieser Treppe. Übernommen ohne Rücksicht auf Länge oder Kantenlänge The height of the risers of these stairs - Enforced regardless of Height or edge's Height - The height of the risers of these stairs - Enforced regardless of Height or edge's Height + Die Höhe der Setzstufen dieser Treppe. Übernommen ohne Rücksicht auf Höhe oder Kantenhöhe The direction of flight after landing - The direction of flight after landing + Die Treppenlaufrichtung nach dem Podest The 'absolute' top level of a flight of stairs leads to - The 'absolute' top level of a flight of stairs leads to + Die 'absolute' obere Ebene zu der die Treppe führt The 'left outline' of stairs - The 'left outline' of stairs + Die "linke Außenlinie" der Treppe The 'left outline' of all segments of stairs - The 'left outline' of all segments of stairs + Die "linke Außenlinie" aller Segmente der Treppe The 'right outline' of all segments of stairs - The 'right outline' of all segments of stairs + Die "rechte Außenlinie" aller Segmente der Treppe The type of landings of these stairs - The type of landings of these stairs + Die Art der Podeste dieser Treppe The type of winders in these stairs - The type of winders in these stairs + Die Art der Wendelungen in dieser Treppe The type of structure of these stairs - The type of structure of these stairs + Die Art der Struktur dieser Treppe The thickness of the massive structure or of the stringers - The thickness of the massive structure or of the stringers + Die Dicke der massiven Struktur oder der Wangen The width of the stringers - The width of the stringers + Die Breite der Wangen The offset between the border of the stairs and the structure - The offset between the border of the stairs and the structure + Der Abstand zwischen der Grenze der Treppe und der Struktur The overlap of the stringers above the bottom of the treads - The overlap of the stringers above the bottom of the treads + Die Überlappung der Wangen über der Unterseite der Laufflächen @@ -4854,12 +4854,12 @@ Gebäudeerstellung abgebrochen. The type of connection between the lower floor slab and the start of the stairs - The type of connection between the lower floor slab and the start of the stairs + Die Art der Verbindung zwischen der unteren Bodenplatte und dem Beginn der Treppe The type of connection between the end of the stairs and the upper floor slab - The type of connection between the end of the stairs and the upper floor slab + Die Art der Verbindung zwischen dem Ende der Treppe und der Bodenplatte im oberen Stock @@ -4884,7 +4884,7 @@ Gebäudeerstellung abgebrochen. The number of posts used to build the fence - The number of posts used to build the fence + Die Anzahl der Pfosten für den Bau des Zaunes @@ -4930,7 +4930,7 @@ Gebäudeerstellung abgebrochen. The list of layer thicknesses - The list of layer thicknesses + Die Liste der Schichtdicken @@ -4946,7 +4946,7 @@ Gebäudeerstellung abgebrochen. Description of IFC attributes are not yet implemented - Description of IFC attributes are not yet implemented + Beschreibung der IFC-Attribute sind noch nicht implementiert @@ -4968,7 +4968,7 @@ Gebäudeerstellung abgebrochen. The size of the chamfer of this element - The size of the chamfer of this element + Die Größe der Abschrägung dieses Elements @@ -4990,32 +4990,32 @@ Gebäudeerstellung abgebrochen. The chamfer length of this element - The chamfer length of this element + Die Fasenlänge dieses Elements The base length of this element - The base length of this element + Die Grundlänge dieses Elements The groove depth of this element - The groove depth of this element + Die Rillentiefe dieses Elements The groove height of this element - The groove height of this element + Die Rillenhöhe dieses Elements The spacing between the grooves of this element - The spacing between the grooves of this element + Der Abstand zwischen den Rillen dieses Elements The number of grooves of this element - The number of grooves of this element + Die Anzahl der Rillen dieses Elements @@ -5030,12 +5030,12 @@ Gebäudeerstellung abgebrochen. The size of the base of this element - The size of the base of this element + Die Größe der Basis dieses Elements The number of holes in this element - The number of holes in this element + Die Anzahl der Löcher in diesem Element @@ -5050,32 +5050,32 @@ Gebäudeerstellung abgebrochen. The spacing between the holes of this element - The spacing between the holes of this element + Der Abstand zwischen den Löchern dieses Elements The length of the down floor of this element - The length of the down floor of this element + Die Länge des unteren Bodens dieses Elements The number of risers in this element - The number of risers in this element + Die Anzahl der Setzstufen in diesem Element The riser height of this element - The riser height of this element + Die Setsstufenhöhe dieses Elements The tread depth of this element - The tread depth of this element + Die Stufentiefe dieses Elements The thickness or extrusion depth of this element - The thickness or extrusion depth of this element + Die Dicke oder Extrusionstiefe dieses Elements @@ -5085,42 +5085,42 @@ Gebäudeerstellung abgebrochen. The offset between this panel and its baseline - The offset between this panel and its baseline + Der Versatz zwischen diesem Panel und seiner Grundlinie The length of waves for corrugated elements - The length of waves for corrugated elements + Die Wellenlänge für gewellte Elemente The height of waves for corrugated elements - The height of waves for corrugated elements + Die Wellenhöhe für gewellte Elemente The horizontal offset of waves for corrugated elements - The horizontal offset of waves for corrugated elements + Der horizontale Versatz für Wellen von gewellten Elementen The direction of waves for corrugated elements - The direction of waves for corrugated elements + Die Richtung der Wellen für gewellte Elemente The type of waves for corrugated elements - The type of waves for corrugated elements + Die Art der Wellen für gewellte Elemente If the wave also affects the bottom side or not - If the wave also affects the bottom side or not + Ob die Wellen auch die Unterseite beeinflussen oder nicht The area of this panel - The area of this panel + Die Fläche dieses Panels @@ -5342,7 +5342,7 @@ Gebäudeerstellung abgebrochen. Centers the profile over the edges or not - Centers the profile over the edges or not + Profil über Kanten zentrieren oder nicht @@ -5352,17 +5352,17 @@ Gebäudeerstellung abgebrochen. The diameter of this pipe, if not based on a profile - The diameter of this pipe, if not based on a profile + Der Durchmesser dieses Rohres, wenn nicht auf einem Profil basierend The length of this pipe, if not based on an edge - The length of this pipe, if not based on an edge + Die Länge dieses Rohres, wenn nicht auf einer Kante basierend An optional closed profile to base this pipe on - An optional closed profile to base this pipe on + Ein optionales geschlossenes Profil um dieses Rohr darauf zu basieren @@ -5377,17 +5377,17 @@ Gebäudeerstellung abgebrochen. The wall thickness of this pipe, if not based on a profile - The wall thickness of this pipe, if not based on a profile + Die Wandstärke dieses Rohrs, wenn nicht auf einem Profil basierend The curvature radius of this connector - The curvature radius of this connector + Der Krümmungsradius dieses Verbinders The pipes linked by this connector - The pipes linked by this connector + Die Rohre, die durch diesen Konnektor verbunden sind @@ -5443,7 +5443,7 @@ Gebäudeerstellung abgebrochen. The placement of this object - The placement of this object + Die Positionierung dieses Objekts @@ -5473,7 +5473,7 @@ Gebäudeerstellung abgebrochen. If not zero, the axes are not represented as one full line but as two lines of the given length - If not zero, the axes are not represented as one full line but as two lines of the given length + Wenn nicht Null, werden die Achsen nicht als eine vollständige Linie, sondern als zwei Linien der angegebenen Länge dargestellt @@ -5483,12 +5483,12 @@ Gebäudeerstellung abgebrochen. The numbering style - The numbering style + Der Nummerierungsstil The type of line to draw this axis - The type of line to draw this axis + Die Linienart für diese Achse @@ -5498,7 +5498,7 @@ Gebäudeerstellung abgebrochen. The line width to draw this axis - The line width to draw this axis + Die Linienbreite für diese Achse @@ -5528,22 +5528,22 @@ Gebäudeerstellung abgebrochen. A transformation to apply to each label - A transformation to apply to each label + Eine Transformation, die auf jede Beschriftung angewendet wird The base object this component is built upon - The base object this component is built upon + Das Basisobjekt, auf dem diese Komponente aufgebaut ist The object this component is cloning - The object this component is cloning + Das Objekt, das diese Komponente klont An optional standard (OmniClass, etc...) code for this component - An optional standard (OmniClass, etc...) code for this component + Ein optionaler Standard (OmniClass usw.) Code für diese Komponente @@ -5553,17 +5553,17 @@ Gebäudeerstellung abgebrochen. Specifies if moving this object moves its base instead - Specifies if moving this object moves its base instead + Bestimmt, ob das Verschieben dieses Objekts, stattdessen seine Basis verschiebt Specifies if this object must move together when its host is moved - Specifies if this object must move together when its host is moved + Gibt an, ob dieses Objekt gemeinsam bewegt werden muss, wenn das Grundobjekt verschoben wird The area of all vertical faces of this object - The area of all vertical faces of this object + Die Gesamtfläche aller vertikalen Flächen dieses Objekts @@ -5573,7 +5573,7 @@ Gebäudeerstellung abgebrochen. An optional higher-resolution mesh or shape for this object - An optional higher-resolution mesh or shape for this object + Ein optionales höher aufgelöstes Netz oder Form für dieses Objekt @@ -5583,32 +5583,32 @@ Gebäudeerstellung abgebrochen. Use the material color as this object's shape color, if available - Use the material color as this object's shape color, if available + Verwende die Materialfarbe als Formfarbe dieses Objekts, falls verfügbar The diameter of the bar - The diameter of the bar + Der Durchmesser der Stange The distance between the border of the beam and the first bar (concrete cover). - The distance between the border of the beam and the first bar (concrete cover). + Der Abstand zwischen dem Rand des Balkens und dem ersten Stahlstab (Betonüberdeckung). The distance between the border of the beam and the last bar (concrete cover). - The distance between the border of the beam and the last bar (concrete cover). + Der Abstand zwischen dem Rand des Trägers und dem letzten Stahlstab (Betonüberdeckung). The amount of bars - The amount of bars + Die Anzahl der Stahlstäbe The spacing between the bars - The spacing between the bars + Der Abstand zwischen den Stahlstäben @@ -5618,7 +5618,7 @@ Gebäudeerstellung abgebrochen. The direction to use to spread the bars. Keep (0,0,0) for automatic direction. - The direction to use to spread the bars. Keep (0,0,0) for automatic direction. + Die Richtung in der die Stahlstäbe ausgerichtet werden. (0,0,0) für die automatische Richtung. @@ -5628,27 +5628,27 @@ Gebäudeerstellung abgebrochen. List of placement of all the bars - List of placement of all the bars + Liste der Positionierungen aller Stahlstäbe The structure object that hosts this rebar - The structure object that hosts this rebar + Das Strukturobjekt, das diese Bewehrung beinhaltet The custom spacing of rebar - The custom spacing of rebar + Der benutzerdefinierte Abstand der Bewehrung Length of a single rebar - Length of a single rebar + Länge eines einzelnen Bewehrungsstabes Total length of all rebars - Total length of all rebars + Gesamtlänge aller Bewehrungsstäbe @@ -5658,12 +5658,12 @@ Gebäudeerstellung abgebrochen. Shape of rebar - Shape of rebar + Form von Bewehrung The objects that must be considered by this section plane. Empty means the whole document. - The objects that must be considered by this section plane. Empty means the whole document. + Die Objekte, die von dieser Schnittebene berücksichtigt werden müssen. Leer bedeutet das ganze Dokument. @@ -5673,12 +5673,12 @@ Gebäudeerstellung abgebrochen. If True, resulting views will be clipped to the section plane area. - If True, resulting views will be clipped to the section plane area. + Wenn wahr, werden die entstehenden Ansichten durch den Bereich der Schnittebene begrenzt. If true, the color of the objects material will be used to fill cut areas. - If true, the color of the objects material will be used to fill cut areas. + Wenn wahr, wird die Farbe des Objektmaterials verwendet, um Schnittflächen zu füllen. @@ -5688,17 +5688,17 @@ Gebäudeerstellung abgebrochen. The display length of this section plane - The display length of this section plane + Die Anzeigelänge dieser Sektionsebene The display height of this section plane - The display height of this section plane + Die Anzeigehöhe dieser Sektionsebene The size of the arrows of this section plane - The size of the arrows of this section plane + Die Größe der Pfeile dieser Sektionsebene @@ -5719,12 +5719,12 @@ Gebäudeerstellung abgebrochen. The distance between the cut plane and the actual view cut (keep this a very small value but not zero) - The distance between the cut plane and the actual view cut (keep this a very small value but not zero) + Die Entfernung zwischen der Schnitt-Ebene und der tatsächlichen Anzeige-Ebene (nutze einen sehr kleinen Wert, aber nicht 0) Show the label in the 3D view - Show the label in the 3D view + Beschriftung in der 3D-Ansicht anzeigen @@ -5766,12 +5766,12 @@ Gebäudeerstellung abgebrochen. Objects that are included inside this space, such as furniture - Objects that are included inside this space, such as furniture + Objekte, die in diesem Raum enthalten sind, wie Möbel The type of this space - The type of this space + Die Art dieses Raumes @@ -5781,37 +5781,37 @@ Gebäudeerstellung abgebrochen. The number of people who typically occupy this space - The number of people who typically occupy this space + Die Anzahl der Personen, die diesen Raum typischerweise bewohnen The electric power needed to light this space in Watts - The electric power needed to light this space in Watts + Die notwendige elektrische Energie in Watt, um diesen Raum zu beleuchten The electric power needed by the equipment of this space in Watts - The electric power needed by the equipment of this space in Watts + Die elektrische Leistung in Watt, die diese Geräte benötigen If True, Equipment Power will be automatically filled by the equipment included in this space - If True, Equipment Power will be automatically filled by the equipment included in this space + Wenn wahr, wird Geräteenergie automatisch von den in diesem Raum enthaltenen Geräten gefüllt The type of air conditioning of this space - The type of air conditioning of this space + Die Art der Klimaanlage dieses Raumes Specifies if this space is internal or external - Specifies if this space is internal or external + Gibt an, ob dieser Raum intern oder extern ist The text to show. Use $area, $label, $tag, $floor, $walls, $ceiling to insert the respective data - The text to show. Use $area, $label, $tag, $floor, $walls, $ceiling to insert the respective data + Der zu zeigende Text. Verwenden Sie $area, $label, $tag, $floor, $walls, $ceiling, um die entsprechenden Daten einzufügen @@ -5831,17 +5831,17 @@ Gebäudeerstellung abgebrochen. The position of the text. Leave (0,0,0) for automatic position - The position of the text. Leave (0,0,0) for automatic position + Die Position des Textes. Belassen von (0,0,0) für automatische Position The justification of the text - The justification of the text + Die Ausrichtung des Textes The number of decimals to use for calculated texts - The number of decimals to use for calculated texts + Die Anzahl der Dezimalstellen, die für berechnete Texte verwendet werden sollen @@ -5940,7 +5940,7 @@ Gebäudeerstellung abgebrochen. Structure tools - Structure tools + Strukturwerkzeuge @@ -5995,7 +5995,7 @@ Gebäudeerstellung abgebrochen. Structure tools - Structure tools + Strukturwerkzeuge @@ -6088,7 +6088,7 @@ Gebäudeerstellung abgebrochen. Rebar tools - Rebar tools + Bewehrungswerkzeuge @@ -6119,7 +6119,7 @@ Gebäudeerstellung abgebrochen. Creates a site including selected objects. - Creates a site including selected objects. + Erzeugt ein Grundstück inklusive der ausgewählten Objekte. @@ -6164,12 +6164,12 @@ Gebäudeerstellung abgebrochen. Arch_Reference - + External reference Externe Referenz - + Creates an external reference object Externes Referenzobjekt erstellen @@ -6218,7 +6218,7 @@ Gebäudeerstellung abgebrochen. Truss - Traverse + Träger @@ -6500,7 +6500,7 @@ Gebäudeerstellung abgebrochen. Schedule - Zeitplan + Planung @@ -6513,7 +6513,7 @@ Gebäudeerstellung abgebrochen. Level - Ebene + Stockwerk @@ -6553,7 +6553,7 @@ Gebäudeerstellung abgebrochen. Creates a Reinforcement bar from the selected face of solid object and/or a sketch - Creates a Reinforcement bar from the selected face of solid object and/or a sketch + Erzeugt einen Bewehrungsstab von der ausgewählten Fläche des festen Objekts und/oder einer Skizze @@ -6561,12 +6561,12 @@ Gebäudeerstellung abgebrochen. Section Plane - Section Plane + Schnittebene Creates a section plane object, including the selected objects - Creates a section plane object, including the selected objects + Erstellt eine Schnittebene, einschließlich der ausgewählten Objekte @@ -6579,7 +6579,7 @@ Gebäudeerstellung abgebrochen. Creates a building object including selected objects. - Creates a building object including selected objects. + Erzeugt ein Gebäudeobjekt, einschließlich der ausgewählten Objekte. @@ -6592,7 +6592,7 @@ Gebäudeerstellung abgebrochen. Creates a wall object from scratch or from a selected object (wire, face or solid) - Creates a wall object from scratch or from a selected object (wire, face or solid) + Erzeuge ein Wandobjekt von Grund auf neu oder von einem ausgewählten Objekt (Kantenzug, Oberfläche oder Volumenkörper) @@ -6605,7 +6605,7 @@ Gebäudeerstellung abgebrochen. Merges the selected walls, if possible - Merges the selected walls, if possible + Führt die ausgewählten Wände zusammen, wenn möglich @@ -6618,7 +6618,7 @@ Gebäudeerstellung abgebrochen. Adds the selected components to the active object - Adds the selected components to the active object + Fügt ausgewählte Komponenten zu den aktiven Objekten hinzu @@ -6631,7 +6631,7 @@ Gebäudeerstellung abgebrochen. Remove the selected components from their parents, or create a hole in a component - Remove the selected components from their parents, or create a hole in a component + Entferne die ausgewählten Komponenten von ihrem Elternobjekt, oder erstelle eine Öffnung in einer Komponente @@ -6665,12 +6665,12 @@ Gebäudeerstellung abgebrochen. Select non-manifold meshes - Select non-manifold meshes + Nicht-wasserdichte Netze auswählen Selects all non-manifold meshes from the document or from the selected groups - Selects all non-manifold meshes from the document or from the selected groups + Wählt alle nicht-wasserichten Netze aus dem Dokument oder aus der ausgewählten Gruppe @@ -6793,9 +6793,9 @@ Gebäudeerstellung abgebrochen. Command - - + + Transform Transformieren diff --git a/src/Mod/Arch/Resources/translations/Arch_el.ts b/src/Mod/Arch/Resources/translations/Arch_el.ts index 96c599729b..b303a27dcd 100644 --- a/src/Mod/Arch/Resources/translations/Arch_el.ts +++ b/src/Mod/Arch/Resources/translations/Arch_el.ts @@ -1357,8 +1357,8 @@ are placed in a 'Group' instead. DAE - + Export options Επιλογές εξαγωγής @@ -1810,40 +1810,40 @@ unit to work with when opening the file. Drawing mode - - + + Category Κατηγορία - - - + + + Preset Preset - - - - + + + + Length Μήκος - - + + Width Πλάτος - + Height Ύψος @@ -1859,8 +1859,8 @@ unit to work with when opening the file. Switch L/W - + Con&tinue Con&tinue @@ -1877,8 +1877,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1991,8 +1991,8 @@ unit to work with when opening the file. Έγινε - + Couldn't compute a shape Couldn't compute a shape @@ -2167,8 +2167,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2290,7 +2290,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Open reference - + Create external reference Create external reference @@ -2377,202 +2377,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Διαλέξτε τα επιλεγμένα - - + + Remove Αφαίρεση - - + + Add Προσθήκη - - - - + + + + - + - - + + Edit Επεξεργασία - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Στοιχεία - + Create new component Create new component - + Name Όνομα - - + + Type Τύπος - + Thickness Πάχος - + Offset Μετατοπίστε - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2597,9 +2597,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2611,9 +2611,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2623,8 +2623,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3163,8 +3163,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3174,24 +3174,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Περιγραφή + + - - Value Τιμή + - Unit Μονάδα @@ -3288,19 +3288,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3310,8 +3310,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3508,8 +3508,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Κτίριο @@ -3888,14 +3888,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3905,15 +3905,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3928,8 +3928,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4006,9 +4006,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4327,20 +4327,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4375,8 +4375,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4561,92 +4561,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6195,12 +6195,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6824,9 +6824,9 @@ Building creation aborted. Command - - + + Transform Μετατόπιση diff --git a/src/Mod/Arch/Resources/translations/Arch_es-AR.ts b/src/Mod/Arch/Resources/translations/Arch_es-AR.ts index 2c3c1f3fd3..b5b0175526 100644 --- a/src/Mod/Arch/Resources/translations/Arch_es-AR.ts +++ b/src/Mod/Arch/Resources/translations/Arch_es-AR.ts @@ -1360,8 +1360,8 @@ Los 'Buildings' y 'Storeys' siguen siendo importados si hay más de uno.DAE - + Export options Opciones de exportación @@ -1806,40 +1806,40 @@ En cualquier caso, algunas aplicaciones BIM usarán este factor para elegir con Modo de dibujo - - + + Category Categoría - - - + + + Preset Predefinido - - - - + + + + Length Longitud - - + + Width Ancho - + Height Altura @@ -1855,8 +1855,8 @@ En cualquier caso, algunas aplicaciones BIM usarán este factor para elegir con Cambiar L/W - + Con&tinue Con&tinuar @@ -1873,8 +1873,8 @@ En cualquier caso, algunas aplicaciones BIM usarán este factor para elegir con Esta malla es un sólido no válido - + Facemaker returned an error Facemaker devolvió un error @@ -1987,8 +1987,8 @@ En cualquier caso, algunas aplicaciones BIM usarán este factor para elegir con Hecho - + Couldn't compute a shape No se pudo procesar una forma @@ -2163,8 +2163,8 @@ Creación del sitio abortada. No se puede crear un techo - + Please select a base object Por favor, seleccione un objeto base @@ -2286,7 +2286,7 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Abrir referencia - + Create external reference Crear referencia externa @@ -2373,202 +2373,202 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Elige una cara en un objeto existente o seleccione por defecto - + Window not based on sketch. Window not aligned or resized. Ventana no basada en boceto. Ventana no alineada o redimensionada. - + No Width and/or Height constraint in window sketch. Window not resized. No hay restricciones de anchura y/o altura en el boceto de la ventana. La ventana no ha cambiado de tamaño. - + No window found. Cannot continue. No se ha encontrado ninguna ventana. No se puede continuar. - + Window options Opciones de ventana - + Auto include in host object Auto incluir en el objeto anfitrión - + Sill height Altura del travesaño - + This window has no defined opening Esta ventana no tiene una apertura definida - - - + + + Get selected edge Obtener arista seleccionada - + Unable to create component No es posible crear el componente - + Window elements Elementos de ventana - + Hole wire Agujero de alambre - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire El número del alambre que define un agujero en el objeto huésped. Un valor de cero adoptará automáticamente el alambre más grande - + Pick selected Elegir lo seleccionado - - + + Remove Eliminar - - + + Add Agregar - - - - + + + + - + - - + + Edit Editar - + Create/update component Crear/actualizar componente - + Base 2D object Objeto base 2D - - + + Wires Alambres - + Components Componentes - + Create new component Crear nuevo componente - + Name Nombre - - + + Type Tipo - + Thickness Espesor - + Offset Desfase - + Hinge Bisagra - + Opening mode Modo de apertura - - + + + default + por defecto - + If this is checked, the default Frame value of this window will be added to the value entered here Si se marca esta opción, el valor predeterminado del marco de esta ventana se agregará al valor ingresado aquí - + If this is checked, the default Offset value of this window will be added to the value entered here Si se marca esta opción, el valor predeterminado de offset de esta ventana se agregará al valor ingresado aquí - + Press to retrieve the selected edge Presione para recuperar la arista seleccionada - - + + Invert opening direction Invertir la dirección de apertura - - + + Invert hinge position Invertir la posición de la bisagra @@ -2593,9 +2593,9 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Por favor seleccione al menos un eje - + Axes Ejes @@ -2607,9 +2607,9 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu - + Successfully written Escrito correctamente @@ -2619,8 +2619,8 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Celosía - + Please select only one base object or none Por favor, seleccione sólo un objeto base o ninguno @@ -3159,8 +3159,8 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Importar archivo CSV - + Export CSV File Exportar archivo CSV @@ -3170,24 +3170,24 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu No se puede reconocer ese tipo de archivo + - Description Descripción + + - - Value Valor + - Unit Unidad @@ -3284,19 +3284,19 @@ Creación de planta cancelada. Tiene una forma no válida + - has a null shape Tiene una forma nula - + Toggle subcomponents Alternar subcomponentes @@ -3306,8 +3306,8 @@ Creación de planta cancelada. Cerrando edición del esquema - + Component Componente @@ -3504,8 +3504,8 @@ Creación de planta cancelada. Centra el plano en los objetos de la lista anterior - + Building Edificio @@ -3884,14 +3884,14 @@ Creación de construcción cancelada. Rotación base alrededor del eje de la herramienta (sólo se utiliza si BasePerpendicularToTool es verdadero) - + The length of this element, if not based on a profile La longitud de este elemento, si no está basado en un perfil - + The width of this element, if not based on a profile La anchura de este elemento, si no está basado en un perfil @@ -3901,15 +3901,15 @@ Creación de construcción cancelada. La altura o profundidad de extrusión de este elemento. Mantener 0 para automático - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Dirección de extrusión normal de este objeto (mantener (0,0,0) para normal automática) - + The structural nodes of this element Los nodos estructurales de este elemento @@ -3924,8 +3924,8 @@ Creación de construcción cancelada. Distancia de separación entre la línea central y las líneas punteadas - + The facemaker type to use to build the profile of this object El tipo facemaker se usa para construir el perfil de este objeto @@ -4002,9 +4002,9 @@ Creación de construcción cancelada. Potencia eléctrica necesaria por este equipo en Watts + - The type of this building Tipo de este edificio @@ -4323,20 +4323,20 @@ Creación de construcción cancelada. Una URL que muestra este sitio en un sitio web de mapeo - + Other shapes that are appended to this object Otras formas que están anexadas a este objeto - + Other shapes that are subtracted from this object Otras formas que están extraídas de este objeto - + The area of the projection of this object onto the XY plane El área de la proyección de este objeto sobre el plano XY @@ -4371,8 +4371,8 @@ Creación de construcción cancelada. Un desplazamiento opcional entre el origen del modelo (0,0,0) y el punto indicado por las coordenadas geográficas - + The type of this object El tipo de este objeto @@ -4557,92 +4557,92 @@ Creación de construcción cancelada. Si verdadero, la geometría se fusiona, si no se genera un compuesto - + The objects that host this window Los objetos que alberga esta ventana - + The components of this window Los componentes de esta ventana - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. La profundidad del agujero que esta ventana hace en su objeto anfitrión. Si es 0, el valor se calculará automáticamente. - + An optional object that defines a volume to be subtracted from hosts of this window Un objeto opcional que define un volumen a ser sustraído desde el anfitrión de esta ventana - + The width of this window El ancho de esta ventana - + The height of this window El alto de esta ventana - + The normal direction of this window La dirección normal de esta ventana - + The preset number this window is based on El número preestablecido en el que está basado esta ventana - + The frame size of this window El tamaño del marco de esta ventana - + The offset size of this window El tamaño del margen de esta ventana - + The area of this window El área de esta ventana - + The width of louvre elements El ancho de las rejillas - + The space between louvre elements El espacio entre las rejillas - + Opens the subcomponents that have a hinge defined Abre los subcomponentes que tienen una bisagra definida - + The number of the wire that defines the hole. If 0, the value will be calculated automatically El número de alambre que define el agujero. Si es 0, el valor será calculado automáticamente - + Shows plan opening symbols if available Muestra los símbolos de apertura de la planta si está disponible - + Show elevation opening symbols if available Muestra los símbolos de apertura de la elevación si están disponibles - + The number of the wire that defines the hole. A value of 0 means automatic El número del alambre que define el agujero. Un valor de 0 significa automático @@ -6191,12 +6191,12 @@ Creación de construcción cancelada. Arch_Reference - + External reference Referencia externa - + Creates an external reference object Crea un objeto de referencia externa @@ -6820,9 +6820,9 @@ Creación de construcción cancelada. Command - - + + Transform Transformar diff --git a/src/Mod/Arch/Resources/translations/Arch_es-ES.ts b/src/Mod/Arch/Resources/translations/Arch_es-ES.ts index e938e4910e..6e8ca9e759 100644 --- a/src/Mod/Arch/Resources/translations/Arch_es-ES.ts +++ b/src/Mod/Arch/Resources/translations/Arch_es-ES.ts @@ -1360,8 +1360,8 @@ se colocan en 'Group' en su lugar. DAE - + Export options Opciones de exportación @@ -1806,40 +1806,40 @@ En cualquier caso, algunas aplicaciones BIM usarán este factor para elegir con Modo de dibujo - - + + Category Categoría - - - + + + Preset Predefinido - - - - + + + + Length Longitud - - + + Width Ancho - + Height Altura @@ -1855,8 +1855,8 @@ En cualquier caso, algunas aplicaciones BIM usarán este factor para elegir con Cambiar L/W - + Con&tinue Con&tinuar @@ -1873,8 +1873,8 @@ En cualquier caso, algunas aplicaciones BIM usarán este factor para elegir con Esta malla es un sólido no válido - + Facemaker returned an error Facemaker devolvió un error @@ -1987,8 +1987,8 @@ En cualquier caso, algunas aplicaciones BIM usarán este factor para elegir con Hecho - + Couldn't compute a shape No se pudo procesar una forma @@ -2163,8 +2163,8 @@ Creación del sitio abortada. No se puede crear un techo - + Please select a base object Por favor, seleccione un objeto base @@ -2286,7 +2286,7 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Abrir referencia - + Create external reference Crear referencia externa @@ -2373,202 +2373,202 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Elige una cara en un objeto existente o seleccione por defecto - + Window not based on sketch. Window not aligned or resized. Ventana no basada en boceto. Ventana no alineada o redimensionada. - + No Width and/or Height constraint in window sketch. Window not resized. No hay restricciones de anchura y/o altura en el boceto de la ventana. La ventana no ha cambiado de tamaño. - + No window found. Cannot continue. No se ha encontrado ninguna ventana. No se puede continuar. - + Window options Opciones de ventana - + Auto include in host object Auto incluir en el objeto anfitrión - + Sill height Altura del travesaño - + This window has no defined opening Esta ventana no tiene una apertura definida - - - + + + Get selected edge Obtener arista seleccionada - + Unable to create component No es posible crear el componente - + Window elements Elementos de ventana - + Hole wire Agujero de alambre - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire El número del alambre que define un agujero en el objeto huésped. Un valor de cero adoptará automáticamente el alambre más grande - + Pick selected Elegir lo seleccionado - - + + Remove Quitar - - + + Add Añadir - - - - + + + + - + - - + + Edit Editar - + Create/update component Crear/actualizar componente - + Base 2D object Objeto base 2D - - + + Wires Alambres - + Components Componentes - + Create new component Crear nuevo componente - + Name Nombre - - + + Type Tipo - + Thickness Espesor - + Offset Desplazamiento - + Hinge Bisagra - + Opening mode Modo de apertura - - + + + default + por defecto - + If this is checked, the default Frame value of this window will be added to the value entered here Si se marca esta opción, el valor predeterminado del marco de esta ventana se agregará al valor ingresado aquí - + If this is checked, the default Offset value of this window will be added to the value entered here Si se marca esta opción, el valor predeterminado de offset de esta ventana se agregará al valor ingresado aquí - + Press to retrieve the selected edge Presione para recuperar la arista seleccionada - - + + Invert opening direction Invertir la dirección de apertura - - + + Invert hinge position Invertir la posición de la bisagra @@ -2593,9 +2593,9 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Por favor seleccione al menos un eje - + Axes Ejes @@ -2607,9 +2607,9 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu - + Successfully written Escrito correctamente @@ -2619,8 +2619,8 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Celosía - + Please select only one base object or none Por favor, seleccione sólo un objeto base o ninguno @@ -3159,8 +3159,8 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu Importar archivo CSV - + Export CSV File Exportar archivo CSV @@ -3170,24 +3170,24 @@ Si Distancia = 0 entonces la distancia es calcula de forma que la altura sea igu No se puede reconocer ese tipo de archivo + - Description Descripción + + - - Value Valor + - Unit Unidad @@ -3284,19 +3284,19 @@ Creación de planta cancelada. Tiene una forma no válida + - has a null shape Tiene una forma nula - + Toggle subcomponents Alternar subcomponentes @@ -3306,8 +3306,8 @@ Creación de planta cancelada. Cerrando edición del esquema - + Component Componente @@ -3504,8 +3504,8 @@ Creación de planta cancelada. Centra el plano en los objetos de la lista anterior - + Building Construcción @@ -3884,14 +3884,14 @@ Creación de construcción cancelada. Rotación base alrededor del eje de la herramienta (sólo se utiliza si BasePerpendicularToTool es verdadero) - + The length of this element, if not based on a profile La longitud de este elemento, si no está basado en un perfil - + The width of this element, if not based on a profile La anchura de este elemento, si no está basado en un perfil @@ -3901,15 +3901,15 @@ Creación de construcción cancelada. La altura o profundidad de extrusión de este elemento. Mantener 0 para automático - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Dirección de extrusión normal de este objeto (mantener (0,0,0) para normal automática) - + The structural nodes of this element Los nodos estructurales de este elemento @@ -3924,8 +3924,8 @@ Creación de construcción cancelada. Distancia de separación entre la línea central y las líneas punteadas - + The facemaker type to use to build the profile of this object El tipo facemaker se usa para construir el perfil de este objeto @@ -4002,9 +4002,9 @@ Creación de construcción cancelada. Potencia eléctrica necesaria por este equipo en Watts + - The type of this building Tipo de este edificio @@ -4323,20 +4323,20 @@ Creación de construcción cancelada. Una URL que muestra este sitio en un sitio web de mapeo - + Other shapes that are appended to this object Otras formas que están anexadas a este objeto - + Other shapes that are subtracted from this object Otras formas que están extraídas de este objeto - + The area of the projection of this object onto the XY plane El área de la proyección de este objeto sobre el plano XY @@ -4371,8 +4371,8 @@ Creación de construcción cancelada. Un desplazamiento opcional entre el origen del modelo (0,0,0) y el punto indicado por las coordenadas geográficas - + The type of this object El tipo de este objeto @@ -4557,92 +4557,92 @@ Creación de construcción cancelada. Si verdadero, la geometría se fusiona, si no se genera un compuesto - + The objects that host this window Los objetos que alberga esta ventana - + The components of this window Los componentes de esta ventana - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. La profundidad del agujero que esta ventana hace en su objeto anfitrión. Si es 0, el valor se calculará automáticamente. - + An optional object that defines a volume to be subtracted from hosts of this window Un objeto opcional que define un volumen a ser sustraído desde el anfitrión de esta ventana - + The width of this window El ancho de esta ventana - + The height of this window El alto de esta ventana - + The normal direction of this window La dirección normal de esta ventana - + The preset number this window is based on El número preestablecido en el que está basado esta ventana - + The frame size of this window El tamaño del marco de esta ventana - + The offset size of this window El tamaño del margen de esta ventana - + The area of this window El área de esta ventana - + The width of louvre elements El ancho de las rejillas - + The space between louvre elements El espacio entre las rejillas - + Opens the subcomponents that have a hinge defined Abre los subcomponentes que tienen una bisagra definida - + The number of the wire that defines the hole. If 0, the value will be calculated automatically El número de alambre que define el agujero. Si es 0, el valor será calculado automáticamente - + Shows plan opening symbols if available Muestra los símbolos de apertura de la planta si está disponible - + Show elevation opening symbols if available Muestra los símbolos de apertura de la elevación si están disponibles - + The number of the wire that defines the hole. A value of 0 means automatic El número del alambre que define el agujero. Un valor de 0 significa automático @@ -6191,12 +6191,12 @@ Creación de construcción cancelada. Arch_Reference - + External reference Referencia externa - + Creates an external reference object Crea un objeto de referencia externa @@ -6820,9 +6820,9 @@ Creación de construcción cancelada. Command - - + + Transform Transformar diff --git a/src/Mod/Arch/Resources/translations/Arch_eu.ts b/src/Mod/Arch/Resources/translations/Arch_eu.ts index 1351f1c18a..e3845b8f45 100644 --- a/src/Mod/Arch/Resources/translations/Arch_eu.ts +++ b/src/Mod/Arch/Resources/translations/Arch_eu.ts @@ -1361,8 +1361,8 @@ objektu guztiak 'taldea' objektu batean kokatuko dira. DAE - + Export options Esportazio-aukerak @@ -1812,40 +1812,40 @@ dute fitxategia irekitzean zein unitatetan egingo duten lan aukeratzeko.Marrazte modua - - + + Category Kategoria - - - + + + Preset Aurrezarpena - - - - + + + + Length Luzera - - + + Width Zabalera - + Height Altuera @@ -1861,8 +1861,8 @@ dute fitxategia irekitzean zein unitatetan egingo duten lan aukeratzeko.Trukatu luz./zab. - + Con&tinue Ja&rraitu @@ -1879,8 +1879,8 @@ dute fitxategia irekitzean zein unitatetan egingo duten lan aukeratzeko.Amaraun hau solido baliogabea da - + Facemaker returned an error Aurpegi-sortzaileak errorea eman du @@ -1993,8 +1993,8 @@ dute fitxategia irekitzean zein unitatetan egingo duten lan aukeratzeko.Egina - + Couldn't compute a shape Ezin izan da forma bat kalkulatu @@ -2169,8 +2169,8 @@ Gunearen sorrera utzi egin da. Ezin da teilatua sortu - + Please select a base object Hautatu oinarri-objektu bat @@ -2292,7 +2292,7 @@ Distantzia = 0 bada, orduan distantzia kalkulatzen da altuera profil erlatiboare Ireki erreferentzia - + Create external reference Sortu kanpoko erreferentzia @@ -2379,202 +2379,202 @@ Distantzia = 0 bada, orduan distantzia kalkulatzen da altuera profil erlatiboare Aukeratu lehendik dagoen objektu baten aurpegi bat edo hautatu aurrezarpen bat - + Window not based on sketch. Window not aligned or resized. Leihoa ez dago zirriborroan oinarrituta. Leihoa ez dago lerrokatuta edo ez da tamainaz aldatu. - + No Width and/or Height constraint in window sketch. Window not resized. Ez dago zabalerako eta/edo altuerako murrizketarik leiho-zirriborroan. Leihoa ez da tamainaz aldatu. - + No window found. Cannot continue. Ez da leihorik aurkitu. Ezin da jarraitu. - + Window options Leiho-aukerak - + Auto include in host object Auto besteak beste objektu gonbidatua - + Sill height Leiho-barrenaren altuera - + This window has no defined opening Leiho honek ez du irekierarik definituta - - - + + + Get selected edge Hartu hautatutako ertza - + Unable to create component Ezin izan da osagaia sortu - + Window elements Leiho-elementuak - + Hole wire Zulo-alanbrea - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Ostalari-objektuan zulo bat definitzen duen alanbrearen zenbakia. Zero balioak alanbrerik luzeena hartuko du automatikoki - + Pick selected Hartu hautatua - - + + Remove Kendu - - + + Add Gehitu - - - - + + + + - + - - + + Edit Editatu - + Create/update component Sortu/eguneratu osagaia - + Base 2D object 2D oinarri-objektua - - + + Wires Alanbreak - + Components Osagaiak - + Create new component Sortu osagai berria - + Name Izena - - + + Type Mota - + Thickness Lodiera - + Offset Desplazamendua - + Hinge Gontza - + Opening mode Irekitze modua - - + + + default + lehenetsia - + If this is checked, the default Frame value of this window will be added to the value entered here Hau markatuta badago, leiho honen markoaren balio lehenetsia hemen sartutako balioari gehituko zaio - + If this is checked, the default Offset value of this window will be added to the value entered here Hau markatuta badago, leiho honen desplazamenduaren balio lehenetsia hemen sartutako balioari gehituko zaio - + Press to retrieve the selected edge Sakatu hautatutako ertza atzitzeko - - + + Invert opening direction Alderantzikatu irekitze-norabidea - - + + Invert hinge position Alderantzikatu gontzaren kokalekua @@ -2599,9 +2599,9 @@ Distantzia = 0 bada, orduan distantzia kalkulatzen da altuera profil erlatiboare Hautatu gutxienez ardatz bat - + Axes Ardatzak @@ -2613,9 +2613,9 @@ Distantzia = 0 bada, orduan distantzia kalkulatzen da altuera profil erlatiboare - + Successfully written Ongi idatzi da @@ -2625,8 +2625,8 @@ Distantzia = 0 bada, orduan distantzia kalkulatzen da altuera profil erlatiboare Zurajea - + Please select only one base object or none Hautatu oinarri-objektu bakar bat edo bat ere ez @@ -3165,8 +3165,8 @@ Distantzia = 0 bada, orduan distantzia kalkulatzen da altuera profil erlatiboare Inportatu CSV fitxategia - + Export CSV File Esportatu CSV fitxategia @@ -3176,24 +3176,24 @@ Distantzia = 0 bada, orduan distantzia kalkulatzen da altuera profil erlatiboare Ez da fitxategi mota hori ezagutzen + - Description Deskribapena + + - - Value Balioa + - Unit Unitatea @@ -3290,19 +3290,19 @@ Solairuaren sorrera utzi egin da. baliogabeko forma du + - has a null shape forma nulua du - + Toggle subcomponents Txandakatu azpiosagaiak @@ -3312,8 +3312,8 @@ Solairuaren sorrera utzi egin da. Krokisaren edizioa ixten - + Component Osagaia @@ -3510,8 +3510,8 @@ Solairuaren sorrera utzi egin da. Planoa goiko zerrendako objektuetan zentratzen du - + Building Eraikina @@ -3890,14 +3890,14 @@ Eraikinaren sorrera utzi egin da. Oinarriaren biraketa tresna-ardatzaren inguruan (BasePerpendicularToTool egia bada soilik erabilia) - + The length of this element, if not based on a profile Elementu honen luzera, profil batean oinarrituta ez badago - + The width of this element, if not based on a profile Elementu honen luzera, profil batean oinarrituta ez badago @@ -3907,15 +3907,15 @@ Eraikinaren sorrera utzi egin da. Elementu honen altuera edo estrusio-sakonera. Mantendu 0 balio automatikoa erabiltzeko - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Objektu honen estrusio-norabide normala (mantendu (0,0,0) normal automatikorako) - + The structural nodes of this element Elementu honen egiturazko nodoak @@ -3930,8 +3930,8 @@ Eraikinaren sorrera utzi egin da. Erdiko lerroaren eta nodo-lerroen arteko desplazamendu-distantzia - + The facemaker type to use to build the profile of this object Objektu honen profila eraikitzeko erabiliko den aurpegi-sortzailearen mota @@ -4008,9 +4008,9 @@ Eraikinaren sorrera utzi egin da. Ekipamendu honek behar duen energia elektrikoa, watt-etan + - The type of this building Eraikin honen mota @@ -4329,20 +4329,20 @@ Eraikinaren sorrera utzi egin da. Gune hau mapatze-webgune batean erakutsiko duen URL bat - + Other shapes that are appended to this object Objektu honi erantsitako beste forma batzuk - + Other shapes that are subtracted from this object Objektu honi kendutako beste forma batzuk - + The area of the projection of this object onto the XY plane Objektu honen proiekzioaren area XY planoan @@ -4377,8 +4377,8 @@ Eraikinaren sorrera utzi egin da. Ereduaren (0,0,0) jatorriaren eta geokoordinatuek adierazten duten puntuaren arteko aukerako desplazamendu bat - + The type of this object Objektu honen mota @@ -4563,92 +4563,92 @@ Eraikinaren sorrera utzi egin da. Egia bada, geometria fusionatuko da, bestela konposatu bat - + The objects that host this window Leiho honen ostalaria diren objektuak - + The components of this window Leiho honen osagaiak - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. Leiho honek bere ostalari-objektuan egiten duen zuloaren sakonera. 0 bada, balioa automatikoki kalkulatuko da. - + An optional object that defines a volume to be subtracted from hosts of this window Aukerako objektu bat, leiho honen ostalarietatik kenduko den bolumena definitzen duena - + The width of this window Leiho honen zabalera - + The height of this window Leiho honen altuera - + The normal direction of this window Leiho honen norabide normala - + The preset number this window is based on Leiho honek oinarri gisa duen aurrezarpen-zenbakia - + The frame size of this window Leiho honen marko-tamaina - + The offset size of this window Leiho honen desplazamendu-tamaina - + The area of this window Leiho honen area - + The width of louvre elements Zursare-elementuen zabalera - + The space between louvre elements Zursare-elementuen arteko espazioa - + Opens the subcomponents that have a hinge defined Gontz bat definituta duten azpiosagaiak irekitzen ditu - + The number of the wire that defines the hole. If 0, the value will be calculated automatically Zuloa definitzen duen alanbrearen zenbakia. 0 bada, balioa automatikoki kalkulatuko da - + Shows plan opening symbols if available Erakutsi plano-irekiguneen ikurrak, erabilgarri badaude - + Show elevation opening symbols if available Erakutsi garaiera-irekiguneen ikurrak, erabilgarri badaude - + The number of the wire that defines the hole. A value of 0 means automatic Zuloa definitzen duen alanbrearen zenbakia. 0 balioak automatikoa esan nahi du @@ -6197,12 +6197,12 @@ Eraikinaren sorrera utzi egin da. Arch_Reference - + External reference Kanpoko erreferentzia - + Creates an external reference object Kanpoko erreferentzia-objektu bat sortzen du @@ -6826,9 +6826,9 @@ Eraikinaren sorrera utzi egin da. Command - - + + Transform Transformatu diff --git a/src/Mod/Arch/Resources/translations/Arch_fi.ts b/src/Mod/Arch/Resources/translations/Arch_fi.ts index 9449cf7c79..0e55a32838 100644 --- a/src/Mod/Arch/Resources/translations/Arch_fi.ts +++ b/src/Mod/Arch/Resources/translations/Arch_fi.ts @@ -1361,8 +1361,8 @@ are placed in a 'Group' instead. DAE - + Export options Vientiasetukset @@ -1814,40 +1814,40 @@ unit to work with when opening the file. Drawing mode - - + + Category Kategoria - - - + + + Preset Preset - - - - + + + + Length Pituus - - + + Width Leveys - + Height Korkeus @@ -1863,8 +1863,8 @@ unit to work with when opening the file. Switch L/W - + Con&tinue Con&tinue @@ -1881,8 +1881,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1995,8 +1995,8 @@ unit to work with when opening the file. Valmis - + Couldn't compute a shape Couldn't compute a shape @@ -2171,8 +2171,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2294,7 +2294,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Open reference - + Create external reference Create external reference @@ -2381,202 +2381,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Valitse valittu - - + + Remove Poista - - + + Add Lisää - - - - + + + + - + - - + + Edit Muokkaa - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Osat - + Create new component Luo uusi komponentti - + Name Nimi - - + + Type Tyyppi - + Thickness Paksuus - + Offset Siirtymä - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2601,9 +2601,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2615,9 +2615,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2627,8 +2627,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3167,8 +3167,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Tuo CSV-tiedosto - + Export CSV File Export CSV File @@ -3178,24 +3178,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Kuvaus + + - - Value Arvo + - Unit Yksikkö @@ -3292,19 +3292,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3314,8 +3314,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3512,8 +3512,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Rakennus @@ -3892,14 +3892,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3909,15 +3909,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3932,8 +3932,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4010,9 +4010,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4331,20 +4331,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4379,8 +4379,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4565,92 +4565,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6199,12 +6199,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6828,9 +6828,9 @@ Building creation aborted. Command - - + + Transform Muunna diff --git a/src/Mod/Arch/Resources/translations/Arch_fr.qm b/src/Mod/Arch/Resources/translations/Arch_fr.qm index a8d20ead64..9be110a28c 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_fr.qm and b/src/Mod/Arch/Resources/translations/Arch_fr.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_fr.ts b/src/Mod/Arch/Resources/translations/Arch_fr.ts index 5e013d6a7a..903cf8dfa0 100644 --- a/src/Mod/Arch/Resources/translations/Arch_fr.ts +++ b/src/Mod/Arch/Resources/translations/Arch_fr.ts @@ -341,7 +341,7 @@ Leave blank to use all objects from the document Import - Importation + Importer @@ -434,7 +434,7 @@ Leave blank to use all objects from the document Refresh - Rafraîchir + Actualiser @@ -485,7 +485,7 @@ Leave blank to use all objects from the document Copy existing... - Copier le matériau... + Copier l’existant... @@ -570,7 +570,7 @@ Leave blank to use all objects from the document Tolerance - Tolérance + Tolérance  @@ -610,7 +610,7 @@ Leave blank to use all objects from the document Start - Début + Démarrer @@ -896,7 +896,7 @@ instead of the FreeCAD web workbench Width: - Largeur : + Largeur : @@ -921,7 +921,7 @@ instead of the FreeCAD web workbench Height: - Hauteur : + Hauteur : @@ -952,7 +952,7 @@ instead of the FreeCAD web workbench Length: - Longueur : + Longueur : @@ -977,7 +977,7 @@ instead of the FreeCAD web workbench Windows - Fenêtres + Fenêtre @@ -1003,7 +1003,7 @@ instead of the FreeCAD web workbench Transparency: - Transparence : + Transparence : @@ -1041,7 +1041,7 @@ instead of the FreeCAD web workbench Thickness - Evidement + Épaisseur @@ -1213,7 +1213,7 @@ plusieurs cœurs, c'est plus prudent. Root element: - Élément racine : + Élément de base : @@ -1298,7 +1298,7 @@ they will be treated as one. Exclude list: - Exclure la liste: + Exclure la liste : @@ -1349,8 +1349,8 @@ Les objets "Bâtiments" et "Étages" sont toujours importés s'il y en a plus d' DAE - + Export options Options d'exportation @@ -1379,7 +1379,7 @@ Si vous utilisez Netgen, assurez-vous qu'il est disponible. Builtin - Builtin + Intégré @@ -1394,7 +1394,7 @@ Si vous utilisez Netgen, assurez-vous qu'il est disponible. Builtin and mefisto mesher options - Options des mailleurs Builtin et Mefisto + Options du mailleur intégré et du mailleur Mefisto @@ -1404,12 +1404,12 @@ Si vous utilisez Netgen, assurez-vous qu'il est disponible. Tessellation value to use with the Builtin and the Mefisto meshing program. - Valeur de tessellation à utiliser avec le programme de maillage intégré et Mefisto. + Valeur de la tessellation à utiliser avec le mailleur intégré et le mailleur Mefisto. Netgen mesher options - Options de Netgen + Options du mailleur Netgen @@ -1451,7 +1451,7 @@ The gradient of the local mesh size h(x) is bound by |Δh(x)| ≤ 1/value. Second order - Second ordre + Deuxième ordre @@ -1781,40 +1781,40 @@ Cependant, certaines applications BIM utiliseront ce facteur pour choisir l'unit Mode de dessin - - + + Category Catégorie - - - + + + Preset Préréglage - - - - + + + + Length Longueur - - + + Width Largeur - + Height Hauteur @@ -1830,8 +1830,8 @@ Cependant, certaines applications BIM utiliseront ce facteur pour choisir l'unit Intervertir L/La - + Con&tinue Pour&suivre @@ -1848,8 +1848,8 @@ Cependant, certaines applications BIM utiliseront ce facteur pour choisir l'unit Ce maillage n'est pas un solide valide - + Facemaker returned an error FaceMaker a retouné une erreur @@ -1962,8 +1962,8 @@ Cependant, certaines applications BIM utiliseront ce facteur pour choisir l'unit Fait - + Couldn't compute a shape Impossible de calculer une forme @@ -2067,7 +2067,7 @@ Cependant, certaines applications BIM utiliseront ce facteur pour choisir l'unit Arch - Architecture + Arch @@ -2138,8 +2138,8 @@ La création du site est abandonnée. Impossible de créer un toit - + Please select a base object Sélectionner un objet de base @@ -2178,7 +2178,7 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Id - ID + Identifiant @@ -2218,7 +2218,7 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Cutting - Couper + Coupe @@ -2261,7 +2261,7 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Ouvrir la référence - + Create external reference Créer une référence externe @@ -2348,202 +2348,202 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Choisir une face sur un objet existant ou sélectionnet un préréglage - + Window not based on sketch. Window not aligned or resized. La fenêtre n'est pas basée sur un esquisse. La fenêtre n'est pas alignée ni redimensionnée. - + No Width and/or Height constraint in window sketch. Window not resized. Aucune contrainte de largeur et/ou de hauteur dans l'esquisse de fenêtre. La fenêtre n'est pas redimensionnée. - + No window found. Cannot continue. Aucune fenêtre trouvée. Impossible de continuer. - + Window options Options de la fenêtre - + Auto include in host object Inclure automatiquement dans l'objet hôte - + Sill height Hauteur d'allège - + This window has no defined opening Cette fenêtre n'a pas d'ouverture définie - - - + + + Get selected edge Obtenir l’arête sélectionnée - + Unable to create component Impossible de créer le composant - + Window elements Éléments de la fenêtre - + Hole wire Ligne de l'emplacement - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Le nombre de lignes qui définit une ouverture dans l'objet hôte. Une valeur de zéro adoptera automatiquement la ligne la plus grande - + Pick selected - Choix sélectionné + Choisir la sélection - - + + Remove Supprimer - - + + Add Ajouter - - - - + + + + - + - - + + Edit Éditer - + Create/update component Créer/mettre à jour le composant - + Base 2D object Objet 2D de base - - + + Wires Polylignes - + Components Composants - + Create new component Créer un nouveau composant - + Name Nom - - + + Type Type - + Thickness - Evidement + Épaisseur - + Offset Décalage - + Hinge Charnière - + Opening mode Mode d’ouverture - - + + + default + défaut - + If this is checked, the default Frame value of this window will be added to the value entered here Si cette case est cochée, la valeur par défaut du cadre de cette fenêtre s’ajoutera à la valeur entrée ici - + If this is checked, the default Offset value of this window will be added to the value entered here Si cette case est cochée, la valeur par défaut du décalage de cette fenêtre s’ajoutera à la valeur entrée ici - + Press to retrieve the selected edge Appuyer sur pour récupérer l’arête sélectionnée - - + + Invert opening direction Inverser la direction d'ouverture - - + + Invert hinge position Inverser la position de la charnière @@ -2568,9 +2568,9 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Sélectionner au moins un axe - + Axes Axes @@ -2582,9 +2582,9 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr - + Successfully written Écrit avec succès @@ -2594,8 +2594,8 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Treillis - + Please select only one base object or none Sélectionner un seul objet de base ou aucun @@ -2700,7 +2700,7 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Total thickness - L'épaisseur global + Épaisseur totale @@ -3014,7 +3014,7 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Pipe - Tuyau + Conduite @@ -3134,8 +3134,8 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Importer un fichier CSV - + Export CSV File Exporter vers un fichier CSV @@ -3145,24 +3145,24 @@ Si Course = 0 alors la course est calculée de façon à ce que la hauteur du pr Impossible de reconnaître ce type de fichier + - Description Description + + - - Value Valeur + - Unit Unité @@ -3215,7 +3215,7 @@ La création du niveau est abandonnée. Axis - Axe + Axes @@ -3259,19 +3259,19 @@ La création du niveau est abandonnée. a une forme non valide + - has a null shape a une forme nulle - + Toggle subcomponents Activer/désactiver les sous-composants @@ -3281,8 +3281,8 @@ La création du niveau est abandonnée. Fermeture de l'édition de l'esquisse - + Component Composant @@ -3385,7 +3385,7 @@ La création du niveau est abandonnée. Section - Section + Coupe @@ -3471,7 +3471,7 @@ La création du niveau est abandonnée. Center - Centre + Centrer @@ -3479,8 +3479,8 @@ La création du niveau est abandonnée. Centre le plan sur les objets de la liste ci-dessus - + Building Bâtiment @@ -3580,12 +3580,12 @@ La création du bâtiment est abandonnée. Left - Gauche + À gauche Right - Droit + À droite @@ -3661,7 +3661,7 @@ La création du bâtiment est abandonnée. Survey - Prendre des cotes + Prendre des côtes @@ -3859,14 +3859,14 @@ La création du bâtiment est abandonnée. Rotation de la base autour de l'axe de l'outil (utilisé uniquement si BasePerpendicularToTool est mis à vrai) - + The length of this element, if not based on a profile La longueur de cet élément, si il n'est pas basé sur un profil - + The width of this element, if not based on a profile La largeur de cet élément, si il n'est pas basé sur un profilé @@ -3876,15 +3876,15 @@ La création du bâtiment est abandonnée. La hauteur ou profondeur d’extrusion de cet élément. Laisser à 0 pour un réglage automatique - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) La direction d'extrusion normale de cet objet (laisser à (0,0,0) pour une normale automatique) - + The structural nodes of this element Les nœuds structurels de cet élément @@ -3899,8 +3899,8 @@ La création du bâtiment est abandonnée. Décalage entre la ligne centrale et la ligne des nœuds - + The facemaker type to use to build the profile of this object Le type de facemaker à utiliser pour créer le profilé de cet objet @@ -3977,9 +3977,9 @@ La création du bâtiment est abandonnée. La puissance électrique nécessaire à cet équipement en Watts + - The type of this building Le type de ce bâtiment @@ -4015,7 +4015,7 @@ La création du bâtiment est abandonnée. An optional tag for this component - Une attache facultative pour ce composant + Un autre mot-clé pour ce composant @@ -4062,7 +4062,7 @@ La création du bâtiment est abandonnée. If true, show the unit on the level tag - Si vrai, affiche l'unité sur l'attache du niveau + Si mis à vrai, affiche les unités dans la balise du niveau @@ -4298,20 +4298,20 @@ La création du bâtiment est abandonnée. URL montrant ce site sur un site de cartographie - + Other shapes that are appended to this object Autres formes ajoutées à cet objet - + Other shapes that are subtracted from this object Autres formes soustraites de cet objet - + The area of the projection of this object onto the XY plane Surface projetée de l'objet sur un plan XY @@ -4346,8 +4346,8 @@ La création du bâtiment est abandonnée. Un décalage facultatif entre l'origine du modèle (0,0,0) et le point indiqué par les géocoordonnées - + The type of this object Le type de cet objet @@ -4532,92 +4532,92 @@ La création du bâtiment est abandonnée. Si mis à vrai, la géométrie est fusionnée, sinon c'est un composé - + The objects that host this window Les objets qui accueillent cette fenêtre - + The components of this window Les composants de cette fenêtre - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. La profondeur du trou que cette fenêtre fait dans son objet hôte. Si c'est 0, la valeur sera calculée automatiquement. - + An optional object that defines a volume to be subtracted from hosts of this window Un objet facultatif qui définit un volume à soustraire des hôtes de cette fenêtre - + The width of this window La largeur de cette fenêtre - + The height of this window La hauteur de cette fenêtre - + The normal direction of this window La direction normale à cette fenêtre - + The preset number this window is based on Le numéro de préréglage sur lequel cette fenêtre est basée - + The frame size of this window La taille du cadre de cette fenêtre - + The offset size of this window La valeur de décalage de cette fenêtre - + The area of this window La surface de cette fenêtre - + The width of louvre elements La largeur des éléments de la persienne - + The space between louvre elements L'espace entre les éléments de la persienne - + Opens the subcomponents that have a hinge defined Ouvre les sous-composants qui ont une charnière définie - + The number of the wire that defines the hole. If 0, the value will be calculated automatically Le numéro du tracé qui définit le trou. Si c'est 0, la valeur sera calculée automatiquement - + Shows plan opening symbols if available Affiche les symboles des ouverture en plan si disponible - + Show elevation opening symbols if available Affiche les symboles des ouvertures en élévation s’ils sont disponibles - + The number of the wire that defines the hole. A value of 0 means automatic Le numéro du tracé qui définit le trou. Une valeur de 0 signifie automatique @@ -5133,30 +5133,30 @@ La création du bâtiment est abandonnée. The size of the tag text - La taille du texte de l'attache + La taille du texte de l'étiquette The font of the tag text - La police du texte de l'attache + La police du texte de l'étiquette The text to display. Can be %tag%, %label% or %description% to display the panel tag or label - Le texte à afficher. Peut-être %tag%, %label% ou %description% pour afficher l'attache ou l'étiquette du panneau + Le texte à afficher. Peut être %tag% , %label% ou %description% pour afficher la balise ou l'étiquette du panneau The position of the tag text. Keep (0,0,0) for center position - La position du texte de l'attache. Laisser (0,0,0) pour la position centrale + La position du texte de l'étiquette. Laisser à (0,0,0) pour un centrage automatique The rotation of the tag text - La rotation du texte de l'attache + La rotation du texte de l'étiquette @@ -5194,7 +5194,7 @@ La création du bâtiment est abandonnée. The tag text to display - Le texte de l'attache à afficher + Le texte de l'étiquette à afficher @@ -5813,7 +5813,7 @@ La création du bâtiment est abandonnée. The text to show. Use $area, $label, $tag, $floor, $walls, $ceiling to insert the respective data - Le texte à afficher. Utilisez $area, $label, $tag, $floor, $walls, $ceiling pour insérer les données respectives + Le texte à afficher. Utiliser $area, $label, $tag, $floor, $walls, $ceiling pour insérer les données respectives @@ -6077,7 +6077,7 @@ La création du bâtiment est abandonnée. Annotation - Annotation + Annotations @@ -6166,12 +6166,12 @@ La création du bâtiment est abandonnée. Arch_Reference - + External reference Référence externe - + Creates an external reference object Créer une référence externe @@ -6406,7 +6406,7 @@ La création du bâtiment est abandonnée. Panel Cut - Panneau de coupe + Découpe de panneau @@ -6419,7 +6419,7 @@ La création du bâtiment est abandonnée. Panel Sheet - Plaque de panneaux + Plaque de panneau @@ -6528,7 +6528,7 @@ La création du bâtiment est abandonnée. Axis - Axe + Axes @@ -6542,7 +6542,7 @@ La création du bâtiment est abandonnée. Axis tools - Outils pour les axes + Outils de l’axe @@ -6719,7 +6719,7 @@ La création du bâtiment est abandonnée. Survey - Prendre des cotes + Prise de côtes @@ -6795,9 +6795,9 @@ La création du bâtiment est abandonnée. Command - - + + Transform Transformer @@ -6808,7 +6808,7 @@ La création du bâtiment est abandonnée. Arch - Architecture + Arch @@ -6816,14 +6816,14 @@ La création du bâtiment est abandonnée. Draft - Tirant d'eau + Draft Import-Export - Importer/Exporter + Importer-Exporter diff --git a/src/Mod/Arch/Resources/translations/Arch_gl.ts b/src/Mod/Arch/Resources/translations/Arch_gl.ts index 8f5739799d..6ea75a64f9 100644 --- a/src/Mod/Arch/Resources/translations/Arch_gl.ts +++ b/src/Mod/Arch/Resources/translations/Arch_gl.ts @@ -1361,8 +1361,8 @@ are placed in a 'Group' instead. DAE - + Export options Opcións de exportación @@ -1814,40 +1814,40 @@ unit to work with when opening the file. Drawing mode - - + + Category Categoría - - - + + + Preset Preset - - - - + + + + Length Lonxitude - - + + Width Largura - + Height Altura @@ -1863,8 +1863,8 @@ unit to work with when opening the file. Switch L/W - + Con&tinue Con&tinue @@ -1881,8 +1881,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1995,8 +1995,8 @@ unit to work with when opening the file. Feito - + Couldn't compute a shape Couldn't compute a shape @@ -2171,8 +2171,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2294,7 +2294,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Open reference - + Create external reference Create external reference @@ -2381,202 +2381,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Elixir o escolmado - - + + Remove Rexeitar - - + + Add Engadir - - - - + + + + - + - - + + Edit Editar - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Compoñentes - + Create new component Create new component - + Name Nome - - + + Type Tipo - + Thickness Grosor - + Offset Separación - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2601,9 +2601,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2615,9 +2615,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2627,8 +2627,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3167,8 +3167,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3178,24 +3178,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Descrición + + - - Value Valor + - Unit Unidade @@ -3292,19 +3292,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3314,8 +3314,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3512,8 +3512,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Edificio @@ -3892,14 +3892,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3909,15 +3909,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3932,8 +3932,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4010,9 +4010,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4331,20 +4331,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4379,8 +4379,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4565,92 +4565,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6199,12 +6199,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6828,9 +6828,9 @@ Building creation aborted. Command - - + + Transform Transformar diff --git a/src/Mod/Arch/Resources/translations/Arch_hr.qm b/src/Mod/Arch/Resources/translations/Arch_hr.qm index 179bdcc515..b11aa98dce 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_hr.qm and b/src/Mod/Arch/Resources/translations/Arch_hr.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_hr.ts b/src/Mod/Arch/Resources/translations/Arch_hr.ts index e5cfe858fc..3cae14a77c 100644 --- a/src/Mod/Arch/Resources/translations/Arch_hr.ts +++ b/src/Mod/Arch/Resources/translations/Arch_hr.ts @@ -218,7 +218,7 @@ Property - Svojstva + Svojstvo @@ -315,7 +315,7 @@ Ostavite prazno da biste koristili sve predmete iz dokumenta Clear - Brisanje + Ukloni @@ -347,12 +347,12 @@ Opcionalni popis filtera svojstva:vrijednost odvojenih zarezom (;). Preporučite Import - Uvoz + Uvezi Export - Izvoz + Izvezi @@ -372,7 +372,7 @@ Opcionalni popis filtera svojstva:vrijednost odvojenih zarezom (;). Preporučite Password: - Lozinka: + Zaporka: @@ -536,7 +536,7 @@ Opcionalni popis filtera svojstva:vrijednost odvojenih zarezom (;). Preporučite Invert - Invertiraj + Izokreni @@ -566,7 +566,7 @@ Opcionalni popis filtera svojstva:vrijednost odvojenih zarezom (;). Preporučite Remove - Ukloniti + Ukloni @@ -616,17 +616,17 @@ Opcionalni popis filtera svojstva:vrijednost odvojenih zarezom (;). Preporučite Start - Počni + Početak Stop - Stop + Zaustavi Preview - Pregled + Predpregled @@ -634,7 +634,7 @@ Opcionalni popis filtera svojstva:vrijednost odvojenih zarezom (;). Preporučite General settings - Glavne postavke + Opće postavke @@ -908,7 +908,9 @@ umjesto Web radne površine FreeCAD-a Width: - Širina: + + +Širina: @@ -964,7 +966,7 @@ umjesto Web radne površine FreeCAD-a Length: - Duljina: + Dužina: @@ -984,12 +986,12 @@ umjesto Web radne površine FreeCAD-a Offset - Pomak + Pomak: Windows - Windows + Prozor @@ -1373,8 +1375,8 @@ umjesto toga smješteni su u "Grupu". DAE - + Export options Postavke izvoza @@ -1424,7 +1426,7 @@ Ako koristite Netgen, provjerite je li dostupan. Tessellation - Mozaik + Popločenje @@ -1757,7 +1759,7 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. Structure - Konstrukcija + Struktura @@ -1829,40 +1831,42 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. Način crtanja - - + + Category Kategorija - - - + + + Preset Unaprijed postavljene postavke - - - - + + + + Length Dužina - - + + Width - Širina + + +Širina - + Height Visina @@ -1878,8 +1882,8 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. Obrni D/Š - + Con&tinue Nas&tavi @@ -1896,8 +1900,8 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. Ova mreža je nevažeće čvrsto tijelo - + Facemaker returned an error Graditelj lica je vratio pogrešku @@ -2010,8 +2014,8 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. Gotovo - + Couldn't compute a shape Oblik se nije mogao izračunati @@ -2063,7 +2067,7 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. BuildingPart - Ugradni dio + Ugradni Dio @@ -2079,12 +2083,12 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. Deactivate - Dezaktivirati + Deaktiviraj Activate - Aktivirati + Aktiviraj @@ -2099,7 +2103,7 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. Create group... - Napravi grupu ... + Napravi grupu... @@ -2115,7 +2119,7 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. Arch - Luk + Arhitekt @@ -2135,12 +2139,12 @@ jedinice s kojom treba raditi prilikom otvaranja datoteke. Profile - Profil + Profili Site - Parcela + Lokacija @@ -2186,8 +2190,8 @@ Stvaranje Parcele prekinuto. Nije moguće izraditi krov - + Please select a base object Odaberite osnovni objekt @@ -2291,7 +2295,7 @@ Ako je Run = 0, tada se proračun izračunava tako da je visina jednaka relativn Front - Ispred + Prednje @@ -2309,7 +2313,7 @@ Ako je Run = 0, tada se proračun izračunava tako da je visina jednaka relativn Otvori referencu - + Create external reference Stvaranje vanjske reference @@ -2404,208 +2408,208 @@ Ako je Run = 0, tada se proračun izračunava tako da je visina jednaka relativn Odaberite lice na postojećem objektu ili odaberite predložak - + Window not based on sketch. Window not aligned or resized. Prozor nije na temelju skice. Prozor nije poravnat ili veličina prozora nije promijenjena. - + No Width and/or Height constraint in window sketch. Window not resized. Nema ograničenja širine i/ili visine u skici prozora. Veličina prozora nije promijenjena. - + No window found. Cannot continue. Prozor nije pronađen. Ne može se nastaviti. - + Window options Opcije prozora - + Auto include in host object Automatski dodano u host (glavno računalo) objekt - + Sill height Visina prozorske klupčice - + This window has no defined opening Ovaj prozor nema definiran otvor - - - + + + Get selected edge Zadrži odabrani rub - + Unable to create component Nije moguće stvoriti komponentu - + Window elements Elementi prozora - + Hole wire Šuplja žica - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Broj žice ruba koji definira rupu u glavnom objektu. Vrijednost nula će automatski prihvatiti najdužu žicu ruba - + Pick selected Pokupi odabrano - - + + Remove - Ukloniti + Ukloni - - + + Add Dodaj - - - - + + + + - + - - + + Edit Uredi - + Create/update component Napravi/osvježi komponentu - + Base 2D object Osnovni 2D objekt - - + + Wires Žice - + Components Komponente - + Create new component Izradi novu komponentu - + Name Ime - - + + Type Tip - + Thickness Debljina - + Offset Pomak - + Hinge Šarka - + Opening mode Način otvaranja - - + + + default + zadano - + If this is checked, the default Frame value of this window will be added to the value entered here Ako je to označeno, zadana vrijednost nosača prozora će biti dodana vrijednosti upisanoj ovdje - + If this is checked, the default Offset value of this window will be added to the value entered here Ako je to označeno, zadana vrijednost pomaka prozora će biti dodana vrijednosti upisanoj ovdje - + Press to retrieve the selected edge Kliknite da biste dohvatili odabrani rub - - + + Invert opening direction Obrnuti smjer otvaranja - - + + Invert hinge position Preokrenite položaj šarke @@ -2632,9 +2636,9 @@ Ako je Run = 0, tada se proračun izračunava tako da je visina jednaka relativn Molimo odaberite najmanje jednu os - + Axes Osi @@ -2646,9 +2650,9 @@ Ako je Run = 0, tada se proračun izračunava tako da je visina jednaka relativn - + Successfully written Uspješno napisan @@ -2658,8 +2662,8 @@ Ako je Run = 0, tada se proračun izračunava tako da je visina jednaka relativn Poprečna greda - + Please select only one base object or none Odaberite samo jedan osnovni objekt ili nijedan @@ -2836,12 +2840,12 @@ Ako je Run = 0, tada se proračun izračunava tako da je visina jednaka relativn Add row - Dodaj red + Dodaj redak Del row - Ukloni red + Ukloni redak @@ -2886,7 +2890,7 @@ Ako je Run = 0, tada se proračun izračunava tako da je visina jednaka relativn Chamfer - Zarubljenje + Žlijeb @@ -3200,8 +3204,8 @@ Here is a breakdown of the translation: Uvezi CSV datoteku - + Export CSV File Izvezi CSV datoteku @@ -3211,24 +3215,24 @@ Here is a breakdown of the translation: Nije moguće prepoznati vrstu datoteke + - Description Opis + + - - Value Vrijednost + - Unit Jedinica @@ -3281,7 +3285,7 @@ Stvaranje etaže prekinuto. Axis - Osi + Os @@ -3325,19 +3329,19 @@ Stvaranje etaže prekinuto. ima jedan neispravan oblik + - has a null shape ima jedan ništavni oblik - + Toggle subcomponents Uključivanje/isključivanje podsastavnice @@ -3347,8 +3351,8 @@ Stvaranje etaže prekinuto. Zatvori uređivanje Skice - + Component Komponenta @@ -3405,7 +3409,7 @@ Stvaranje etaže prekinuto. Property - Svojstva + Svojstvo @@ -3420,7 +3424,7 @@ Stvaranje etaže prekinuto. New... - Novi ... + Novo... @@ -3451,7 +3455,7 @@ Stvaranje etaže prekinuto. Section - Odsječak + Odjeljak @@ -3545,8 +3549,8 @@ Stvaranje etaže prekinuto. Centrira ravninu na objekte na gornjem popisu - + Building Zgrada @@ -3737,7 +3741,7 @@ Stvaranje zgrade prekinuto. Clear - Brisanje + Ukloni @@ -3868,7 +3872,7 @@ Stvaranje zgrade prekinuto. Structure - Konstrukcija + Strukture @@ -3929,14 +3933,14 @@ Stvaranje zgrade prekinuto. Rotacija osnove oko osi alata (koristi se samo ako je OsnovaOkomitoNaAlat Istina) - + The length of this element, if not based on a profile Dužina ovog elementa, ako se ne temelji na profilu - + The width of this element, if not based on a profile Širina ovog elementa, ako se ne temelji na profilu @@ -3946,15 +3950,15 @@ Stvaranje zgrade prekinuto. Visine ili dubina istiskivanja ovog elementa. Držite 0 za automatsko - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Smjer normalnog istiskivanja objekta (zadrži (0,0,0) za automatsko normalno) - + The structural nodes of this element Strukturni čvorovi ovog elementa @@ -3969,8 +3973,8 @@ Stvaranje zgrade prekinuto. Udaljenost od centralne linije i čvora - + The facemaker type to use to build the profile of this object Vrsta dotjeravanja izgleda, koristi se za izgradnju profila ovog objekta @@ -4047,9 +4051,9 @@ Stvaranje zgrade prekinuto. Električna energija potrebna u ovoj opremi + - The type of this building Vrsta ove zgrade @@ -4371,20 +4375,20 @@ Stvaranje zgrade prekinuto. Url koji pokazuje ovo mjesto na mapiranoj web-stranici - + Other shapes that are appended to this object Drugi oblici koji su dodani ovom objektu - + Other shapes that are subtracted from this object Drugi oblici koji su oduzeti ovom objektu - + The area of the projection of this object onto the XY plane Područje projekcije ovog objekta na ravnini XY @@ -4419,8 +4423,8 @@ Stvaranje zgrade prekinuto. Opcionalni pomak između porijekla modela (0,0,0) i mjesta označenog na geokoordinatama - + The type of this object Tip ovog objekta @@ -4619,94 +4623,94 @@ Stvaranje zgrade prekinuto. Ako je istina, geometrija je stopljena, inače je spoj - + The objects that host this window Objekti koji ugošćuju ovaj prozor - + The components of this window Sastavni dijelovi ovog prozora - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. Dubina rupe koju čini ovaj prozor u domaćin-objektu. Ako je 0, vrijednost će se automatski izračunati. - + An optional object that defines a volume to be subtracted from hosts of this window Opcionalni objekt koji definira volumen koji če biti oduzet od domaćina ovog prozora - + The width of this window Širina prozora - + The height of this window Visina prozora - + The normal direction of this window Normalan smjer ovog prozora - + The preset number this window is based on Unaprijed postavljeni broj za ovaj prozor je na temelju - + The frame size of this window Veličinu okvira prozora - + The offset size of this window Veličina pomaka ovog prozora - + The area of this window Područje ovog prozora - + The width of louvre elements Širina elemenata louvre - + The space between louvre elements Razmak među louvre elemenatima - + Opens the subcomponents that have a hinge defined Otvara podkomponente koje imaju definiranu šarku - + The number of the wire that defines the hole. If 0, the value will be calculated automatically Broj žice koja definira rupu. Ako je vrijednost 0 izračunat će se automatski - + Shows plan opening symbols if available Pokazuje otvorene simbole plana ako su dostupni - + Show elevation opening symbols if available Pokažite simbole visine otvaranja ako su dostupni - + The number of the wire that defines the hole. A value of 0 means automatic Broj profila koji definiraju otvore. Vrijednost 0 je podrazumijevana @@ -6075,7 +6079,7 @@ Stvaranje zgrade prekinuto. BuildingPart - Ugradni dio + Ugradni Dio @@ -6096,7 +6100,7 @@ Stvaranje zgrade prekinuto. Structure tools - Alati Konstrukcije + Alati strukture @@ -6141,7 +6145,7 @@ Stvaranje zgrade prekinuto. Draft modification tools - Alati za izmjene Nacrta + Alati izmjene Nacrta @@ -6176,7 +6180,7 @@ Stvaranje zgrade prekinuto. Annotation - Anotacija + Napomene @@ -6215,7 +6219,7 @@ Stvaranje zgrade prekinuto. Site - Parcela + Mjesto @@ -6228,7 +6232,7 @@ Stvaranje zgrade prekinuto. Roof - Krovište + Krov @@ -6265,12 +6269,12 @@ Stvaranje zgrade prekinuto. Arch_Reference - + External reference Vanjska referenca - + Creates an external reference object Stvara objekt vanjske reference @@ -6280,7 +6284,7 @@ Stvaranje zgrade prekinuto. Frame - Nosač + Okvir @@ -6505,7 +6509,7 @@ Stvaranje zgrade prekinuto. Panel Cut - Rez Ploča + Rez Ploče @@ -6545,7 +6549,7 @@ Stvaranje zgrade prekinuto. Panel tools - Alati Pregrade + Alati Ploče @@ -6553,7 +6557,7 @@ Stvaranje zgrade prekinuto. Curtain Wall - Viseća (zglobna) fasada + Viseća vanjska fasada @@ -6627,7 +6631,7 @@ Stvaranje zgrade prekinuto. Axis - Osi + Os @@ -6885,7 +6889,7 @@ Stvaranje zgrade prekinuto. Toggle subcomponents - Uključivanje/isključivanje podsastavnice + Uključivanje/isključivanje pod komponente @@ -6896,11 +6900,11 @@ Stvaranje zgrade prekinuto. Command - - + + Transform - Transformiraj + Transformacija @@ -6917,14 +6921,14 @@ Stvaranje zgrade prekinuto. Draft - Skica + Nacrt Import-Export - Uvoz / izvoz + Uvoz-Izvoz diff --git a/src/Mod/Arch/Resources/translations/Arch_hu.qm b/src/Mod/Arch/Resources/translations/Arch_hu.qm index ce6f260a5b..8e00897ca1 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_hu.qm and b/src/Mod/Arch/Resources/translations/Arch_hu.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_hu.ts b/src/Mod/Arch/Resources/translations/Arch_hu.ts index 07448240d4..82da048dda 100644 --- a/src/Mod/Arch/Resources/translations/Arch_hu.ts +++ b/src/Mod/Arch/Resources/translations/Arch_hu.ts @@ -349,7 +349,7 @@ Hagyja üresen a dokumentum összes objektumának használatát Export - Export + Exportálás @@ -1361,8 +1361,8 @@ Az 'Épületek' és az 'Emeletek' még mindig importálva vannak, ha egynél tö DAE - + Export options Exportálási beállítások @@ -1814,40 +1814,40 @@ kiválasszák a mértékegységet a fájl megnyitásakor. Rajzolási mód - - + + Category Kategória - - - + + + Preset Előre beállított - - - - + + + + Length Hossz - - + + Width Szélesség - + Height Magasság @@ -1863,8 +1863,8 @@ kiválasszák a mértékegységet a fájl megnyitásakor. Kapcsoló H/SZ - + Con&tinue Folytatás @@ -1881,8 +1881,8 @@ kiválasszák a mértékegységet a fájl megnyitásakor. Ez a háló egy érvénytelen szilárd test - + Facemaker returned an error Felületlétrehozás hibával tért vissza @@ -1995,15 +1995,15 @@ kiválasszák a mértékegységet a fájl megnyitásakor. Kész - + Couldn't compute a shape Nem tudott kiszámítani egy alakzatot Equipment - Berendezési tárgy + Felszerelési tárgy @@ -2064,12 +2064,12 @@ kiválasszák a mértékegységet a fájl megnyitásakor. Deactivate - Kikapcsolás + Inaktiválás Activate - Bekapcsol + Aktiválás @@ -2100,7 +2100,7 @@ kiválasszák a mértékegységet a fájl megnyitásakor. Arch - Architektúra + Építészeti @@ -2120,7 +2120,7 @@ kiválasszák a mértékegységet a fájl megnyitásakor. Profile - Profil + Szelvény @@ -2171,8 +2171,8 @@ A hely létrehozása megszakadt. Tető nem hozható létre - + Please select a base object Kérjük válassza ki az alap tárgyat @@ -2294,7 +2294,7 @@ Ha Futás = 0, akkor a futás kiszámítása úgy történik, hogy a magasság m Hivatkozás megnyitása - + Create external reference Külső hivatkozás készítése @@ -2381,202 +2381,202 @@ Ha Futás = 0, akkor a futás kiszámítása úgy történik, hogy a magasság m Válasszon egy felületet a meglévő tárgyon vagy válasszon egy előre beállítottat - + Window not based on sketch. Window not aligned or resized. Az ablak nem a vázlaton alapul. Az ablak nincs igazítva vagy átméretezve. - + No Width and/or Height constraint in window sketch. Window not resized. Nincs szélességi és/vagy magassági korlátozás az ablak vázlatában. Az ablak nincs átméretezve. - + No window found. Cannot continue. Nem található ablak. Nem folytatható. - + Window options Ablak beállítások - + Auto include in host object Kiszolgáló tárgy automatikus hozzáadása - + Sill height Könyöklő magassága - + This window has no defined opening Ennek az ablakban nincs meghatározva a nyitása - - - + + + Get selected edge Kiválasztott élt kapja - + Unable to create component Nem sikerült létrehozni egy összetevőt - + Window elements Ablak elemek - + Hole wire Drótháló furat - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire A hordozó tárgyon lévő furat meghatározásához használt drótháló száma. A nulla értékkel automatikusan a legnagyobb dróthálót fogadja el - + Pick selected Véletlenszerűen kiválasztott - - + + Remove Törlés - - + + Add Hozzáad - - - - + + + + - + - - + + Edit Szerkesztés - + Create/update component Létrehozni/frissíteni összetevőt - + Base 2D object Alap 2D tárgy - - + + Wires Drótvázak - + Components Összetevők - + Create new component Új összetevő létrehozásához - + Name Név - - + + Type Típus - + Thickness Vastagság - + Offset Eltolás - + Hinge Zsanér - + Opening mode Nyitás módja - - + + + default + alapértelmezett - + If this is checked, the default Frame value of this window will be added to the value entered here Ha ez be van jelölve, az ablak keret alapérték hozzáadódik az itt megadott értékhez - + If this is checked, the default Offset value of this window will be added to the value entered here Ha ez be van jelölve, az ablak eltolás alapérték hozzáadódik az itt megadott értékhez - + Press to retrieve the selected edge Nyomja meg a kiválasztott él lekéréséhez - - + + Invert opening direction Nyitásirány megfordítása - - + + Invert hinge position Zsanér pozíció megfordítása @@ -2601,9 +2601,9 @@ Ha Futás = 0, akkor a futás kiszámítása úgy történik, hogy a magasság m Kérlek válassz legalább egy tengelyt - + Axes Tengelyek @@ -2615,9 +2615,9 @@ Ha Futás = 0, akkor a futás kiszámítása úgy történik, hogy a magasság m - + Successfully written Sikeresen kiírva @@ -2627,8 +2627,8 @@ Ha Futás = 0, akkor a futás kiszámítása úgy történik, hogy a magasság m Kereszttartó - + Please select only one base object or none Csak egy alaptárgyat jelöljön ki, vagy egyiket sem @@ -3167,8 +3167,8 @@ Ha Futás = 0, akkor a futás kiszámítása úgy történik, hogy a magasság m CSV fájl importálás - + Export CSV File CSV fájl exportálás @@ -3178,24 +3178,24 @@ Ha Futás = 0, akkor a futás kiszámítása úgy történik, hogy a magasság m Ismeretlen file-típus + - Description Leírás + + - - Value Érték + - Unit Egység @@ -3263,7 +3263,7 @@ Szint létrehozása megszakítva. Label - Címke + Felirat @@ -3292,19 +3292,19 @@ Szint létrehozása megszakítva. van egy érvénytelen alakzat + - has a null shape van egy nulla alakja - + Toggle subcomponents Al összetevők ki-/ bekapcsolása @@ -3314,8 +3314,8 @@ Szint létrehozása megszakítva. Vázlat szerkesztés bezárása - + Component Összetevő @@ -3342,7 +3342,7 @@ Szint létrehozása megszakítva. Objects - Objektumok + Tárgyak @@ -3402,7 +3402,7 @@ Szint létrehozása megszakítva. Rebar - Betonacél + Újrahálózás @@ -3512,8 +3512,8 @@ Szint létrehozása megszakítva. Sík középpontja a fenti listában szereplő tárgyakon - + Building Épület @@ -3618,7 +3618,7 @@ Building creation aborted. Right - Jobb oldalnézet + Jobb @@ -3892,14 +3892,14 @@ Building creation aborted. Alap forgás a szerszámtengely körül (csak akkor használható, ha a BasePerpendicularTool igaz) - + The length of this element, if not based on a profile Ennek az elemnek a hossza, ha nem profilon áll - + The width of this element, if not based on a profile Ennek az elemnek a szélessége, ha nem profilon áll @@ -3909,15 +3909,15 @@ Building creation aborted. Ez az elem magassága vagy kihúzás nagysága. 0 megtartása automatikushoz - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Ennek a tárgynak az aktuális kihúzás iránya (automatikus normál (0,0,0) megtartása) - + The structural nodes of this element Ennek az elemnek a szerkezeti csomópontjai @@ -3932,8 +3932,8 @@ Building creation aborted. A középtengely és az egyenes csomópontok közti eltolás - + The facemaker type to use to build the profile of this object Ennek a tárgynak a felület profiljához használt felületlétrehozó típus @@ -4010,9 +4010,9 @@ Building creation aborted. Ehhez az eszközhöz szükséges elektromos áram Wattban + - The type of this building Ennek az épületnek a típusa @@ -4331,20 +4331,20 @@ Building creation aborted. Egy URL-cím ami leképzett weboldalon jeleníti meg ezt az oldalt - + Other shapes that are appended to this object Ehhez a tárgyhoz csatolt egyéb alakzatok - + Other shapes that are subtracted from this object Ebből a tárgyból kivált egyéb alakzatok - + The area of the projection of this object onto the XY plane Ennek a tárgynak az XY síkra vetített vetületének területe @@ -4379,8 +4379,8 @@ Building creation aborted. A modell (0,0,0) eredetű és a geo-koordináták által megjelölt pont közötti választható eltolás - + The type of this object Ennek a tárgynak a típusa @@ -4565,92 +4565,92 @@ Building creation aborted. Ha igaz, geometriát összeolvaszt, egyébként egyesít - + The objects that host this window A tárgyak, amelyek ebben az ablakban benne vannak - + The components of this window Ennek az ablaknak az összetevői - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. A nyílás mélysége melyet ez az ablak képez a hordozó felületen. Ha az értéke 0 akkor automatikusan számolja ki. - + An optional object that defines a volume to be subtracted from hosts of this window A választható tárgy, mely meghatározza a területet amit az ablak a gazda területből kivesz - + The width of this window Ennek az ablaknak a szélessége - + The height of this window Ennek az ablaknak a magassága - + The normal direction of this window Ennek az ablaknak az aktuális iránya - + The preset number this window is based on Az előre beállított szám ami ennek az ablaknak az alapja - + The frame size of this window Ennek az ablaknak a keret mérete - + The offset size of this window Ennek az ablaknak az eltolás mérete - + The area of this window Ennek az ablaknak a területe - + The width of louvre elements Zsalu elemek szélessége - + The space between louvre elements Zsalu elemek közötti távolság - + Opens the subcomponents that have a hinge defined Megnyitja az al-összetevőket, melyekhez egy zsanér van meghatározva - + The number of the wire that defines the hole. If 0, the value will be calculated automatically A furatokat meghatározó dróthálók száma. Ha értéke 0, akkor automatikusan kiszámítja - + Shows plan opening symbols if available Kijelzi a terv nyitó szimbólumait, ha rendelkezésre állnak - + Show elevation opening symbols if available Kijelzi a magassági nyitó szintek szimbólumait, ha rendelkezésre állnak - + The number of the wire that defines the hole. A value of 0 means automatic A furatokat meghatározó dróthálók száma. A 0 érték azt jelenti, hogy automatikus @@ -5983,7 +5983,7 @@ Building creation aborted. Equipment - Berendezési tárgy + Felszerelési tárgy @@ -6075,7 +6075,7 @@ Building creation aborted. Draft modification tools - Tervrajz módosítási eszközök + Tervezési módosítási eszközök @@ -6199,12 +6199,12 @@ Building creation aborted. Arch_Reference - + External reference Külső hivatkozás - + Creates an external reference object Egy külső referencia tárgyat hoz létre @@ -6439,7 +6439,7 @@ Building creation aborted. Panel Cut - Panel kivágás + Panel vágó @@ -6452,7 +6452,7 @@ Building creation aborted. Panel Sheet - Panel stíluslap + Panel lap @@ -6674,7 +6674,7 @@ Building creation aborted. Split Mesh - Háló osztása + Háló felosztása @@ -6817,7 +6817,7 @@ Building creation aborted. Toggle subcomponents - Al összetevők ki-/ bekapcsolása + Al-összetevők ki-/ bekapcsolása @@ -6828,9 +6828,9 @@ Building creation aborted. Command - - + + Transform Átalakítás @@ -6841,7 +6841,7 @@ Building creation aborted. Arch - Architektúra + Építészet @@ -6856,7 +6856,7 @@ Building creation aborted. Import-Export - Importálás-Exportálás + Import-Export diff --git a/src/Mod/Arch/Resources/translations/Arch_id.qm b/src/Mod/Arch/Resources/translations/Arch_id.qm index 59fa0e2fb6..d5eb2a94f0 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_id.qm and b/src/Mod/Arch/Resources/translations/Arch_id.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_id.ts b/src/Mod/Arch/Resources/translations/Arch_id.ts index 7b774bd786..cd3aad1f49 100644 --- a/src/Mod/Arch/Resources/translations/Arch_id.ts +++ b/src/Mod/Arch/Resources/translations/Arch_id.ts @@ -221,30 +221,22 @@ Milik - - The property to retrieve from each object. -Can be "Count" to count the objects, or property names -like "Length" or "Shape.Volume" to retrieve -a certain property. - Nilai yang diambil untuk setiap objek. Dapat "diperhitungkan" untuk menghitung objek, atau nama properti seperti panjang atau bentuk. Isi untuk mengambil properti tertentu. - - - + Unit Satuan - + An optional unit to express the resulting value. Ex: m^3 (you can also write m³ or m3) Sebuah unit pilihan untuk mengekspresikan nilai yang dihasilkan. Contoh: m^3 (Anda juga dapat menulis m³ atau m3) - + Objects Objects - + An optional semicolon (;) separated list of object names (internal names, not labels), to be considered by this operation. If the list contains groups, children will be added. @@ -255,102 +247,107 @@ Jika daftar berisi grup, anak-anak akan ditambahkan. Biarkan kosong untuk menggunakan semua objek dari dokumen - + Filter Menyaring - - <html><head/><body><p>An optional semicolon (;) separated list of property:value filters. Prepend ! to a property name to invert the effect of the filer (exclude objects that match the filter). Objects whose property contains the value will be matched. Examples of valid filters (everything is case-insensitive):</p><p><span style=" font-weight:600;">Name:Wall</span> - Will only consider objects with &quot;wall&quot; in their name (internal name)</p><p><span style=" font-weight:600;">!Name:Wall</span> - Will only consider objects which DON'T have &quot;wall&quot; in their name (internal name)</p><p><span style=" font-weight:600;">Description:Win</span> - Will only consider objects with &quot;win&quot; in their description</p><p><span style=" font-weight:600;">!Label:Win</span> - Will only consider objects which DO NOT have &quot;win&quot; in their label</p><p><span style=" font-weight:600;">IfcType:Wall</span> - Will only consider objects which Ifc Type is &quot;Wall&quot;</p><p><span style=" font-weight:600;">!Tag:Wall</span> - Will only consider objects which tag is NOT &quot;Wall&quot;</p><p>If you leave this field empty, no filtering is applied</p></body></html> - <html><head/><body><p>Sebuah tanda titik koma (;) opsional memisahkan daftar properti:saringan nilai. Tambahkan ! ke properti nama untuk membalikkan efek dari filter (kecuali objek yang sesuai dengan filter). Objek dengan properti yang mengandung nilai akan dicocokkan. Contoh-contoh saringan yang valid (semua case-sensitive):</p><p><span style=" font-weight:600;">Name:Wall</span> - Hanya akan mempertimbangkan objek dengan nama &quot;wall&quot; (nama internal)</p><p><span style=" font-weight:600;">!Name:Wall</span> - Hanya akan mempertimbangkan objek yang TIDAK memiliki &quot;wall&quot; dalam nama mereka (nama internal)</p><p><span style=" font-weight:600;">Description:Win</span> - Hanya akan mempertimbangan objek yang memiliki &quot;win&quot; dalam deskripsi mereka</p><p><span style=" font-weight:600;">!Label:Win</span> - Hanya akan mempertimbangkan objek yang TIDAK memiliki &quot;win&quot; dalam label mereka</p><p><span style=" font-weight:600;">IfcType:Wall</span> - Hanya akan mempertimbangkan objek yang memiliki Ifc Type &quot;Wall&quot;</p><p><span style=" font-weight:600;">!Tag:Wall</span> - Hanya akan mempertimbangkan objek yang TIDAK memiliki tag &quot;Wall&quot;</p><p>Jika Anda membiarkan bidang kosong, maka tidak ada filter yang diaplikasikan</p></body></html> + + The property to retrieve from each object.Can be 'Count' to count the objects, or property names like 'Length' or 'Shape.Volume' to retrieve a certain property. + The property to retrieve from each object.Can be 'Count' to count the objects, or property names like 'Length' or 'Shape.Volume' to retrieve a certain property. - + If this is enabled, an associated spreadsheet containing the results will be maintained together with this schedule object Jika diaktifkan, lembar kerja yang dikaitkan yang berisi hasil akan dikelola bersama dengan obyek terjadwal ini - + Associate spreadsheet Mengkaitkan lembar kerja - + If this is enabled, additional lines will be filled with each object considered. If not, only the totals. Jika ini diaktifkan, tambahan baris akan diisi pada setiap objek yang dipertimbangkan. Jika tidak, hanya totalnya. - + Detailed results Rincian Hasil - + If this is enabled, the schedule and the associated spreadsheet are updated whenever the document is recomputed. Jika ini diaktifkan, jadwal dan lembatang sembar yang terhubung akan diperbaharui kapanpun dokumen dihitung ulang. - + Auto update Auto update - + Adds a line below the selected line/cell Tambahkan garis di bawah garis / sel yang dipilih - + Add row Menambahkan baris - + Deletes the selected line Menghapus baris yang dipilih - + Del row Del baris - + Clears the whole list Menghapus seluruh daftar - + Clear Bersih - - Put selected objects into the "Objects" column of the selected row - Masukkan objek yang dipilih ke kolom "Objek" pada baris yang dipilih + + Put selected objects into the 'Objects' column of the selected row + Put selected objects into the 'Objects' column of the selected row - + + This exports the results to a CSV or Markdown file. Note for CSV export: In Libreoffice, you can keep this CSV file linked by right-clicking the Sheets tab bar, New sheet, From file, Link (Note: as of LibreOffice v6.x the correct path now is: Sheet, Insert Sheet..., From file, Browse...) + This exports the results to a CSV or Markdown file. Note for CSV export: In Libreoffice, you can keep this CSV file linked by right-clicking the Sheets tab bar, New sheet, From file, Link (Note: as of LibreOffice v6.x the correct path now is: Sheet, Insert Sheet..., From file, Browse...) + + + Add selection Tambahkan Pilihan - + + An optional semicolon (;) separated list of property:value filters. Prepend ! to a property name to invert the effect of the filter (exclude objects that match the filter). Objects whose property contains the value will be matched. Examples of valid filters (everything is case-insensitive): Name:Wall - Will only consider objects with 'wall' in their name (internal name); !Name:Wall - Will only consider objects which DON'T have 'wall' in their name (internal name); Description:Win - Will only consider objects with 'win' in their description; !Label:Win - Will only consider objects which DO NOT have 'win' in their label; IfcType:Wall - Will only consider objects which Ifc Type is 'Wall'; !Tag:Wall - Will only consider objects which tag is NOT 'Wall'. If you leave this field empty, no filtering is applied + An optional semicolon (;) separated list of property:value filters. Prepend ! to a property name to invert the effect of the filter (exclude objects that match the filter). Objects whose property contains the value will be matched. Examples of valid filters (everything is case-insensitive): Name:Wall - Will only consider objects with 'wall' in their name (internal name); !Name:Wall - Will only consider objects which DON'T have 'wall' in their name (internal name); Description:Win - Will only consider objects with 'win' in their description; !Label:Win - Will only consider objects which DO NOT have 'win' in their label; IfcType:Wall - Will only consider objects which Ifc Type is 'Wall'; !Tag:Wall - Will only consider objects which tag is NOT 'Wall'. If you leave this field empty, no filtering is applied + + + Imports the contents of a CSV file Impor isi file CSV - + Import Impor - - <html><head/><body><p>This exports the results to a CSV or Markdown file. </p><p><span style=" font-weight:600;">Note for CSV export:</span></p><p>In Libreoffice, you can keep this CSV file linked by right-clicking the Sheets tab bar -&gt; New sheet -&gt; From file -&gt; Link (Note: as of LibreOffice v6.x the correct path now is: Sheet -&gt; Insert Sheet... -&gt; From file -&gt; Browse...)</p></body></html> - <html><head/><body><p>Ini akan mengekspor hasilnya ke fail CSV atau Markdown.</p><p><span style=" font-weight:600;">Catatan untuk ekspor CSV:</span></p><p>Di Libreoffice, Anda dapat tetap menghubungkan fail CSV tersebut dengan klik kanan pada bilah tab Sheets -&gt; New sheet -&gt;From file -&gt;Link (Catatan: untuk LibreOffice v6.x, jalur yang tepat sekarang adalah: Sheet -&gt;Insert Sheet... -&gt;From file -&gt;Browse...)</p></body></html> - - - + Export Export @@ -1357,8 +1354,8 @@ are placed in a 'Group' instead. DAE - + Export options Pilihan ekspor @@ -1737,7 +1734,7 @@ unit to work with when opening the file. Arch - + Structure Struktur @@ -1753,6 +1750,11 @@ unit to work with when opening the file. Column Column + + + StructuralSystem + StructuralSystem + Create Structures From Selection @@ -1806,40 +1808,40 @@ unit to work with when opening the file. Drawing mode - + - + Category Kategori - + - - + + Preset Preset - + + - + - Length Panjangnya - + - + Width Lebar - + Height Tinggi @@ -1855,8 +1857,8 @@ unit to work with when opening the file. Switch L/W + - Con&tinue Con&tinue @@ -1873,8 +1875,8 @@ unit to work with when opening the file. This mesh is an invalid solid + - Facemaker returned an error Facemaker returned an error @@ -1987,11 +1989,16 @@ unit to work with when opening the file. Selesai + - Couldn't compute a shape Couldn't compute a shape + + + Equipment + Peralatan + You must select a base shape object and optionally a mesh object @@ -2037,6 +2044,12 @@ unit to work with when opening the file. BuildingPart BuildingPart + + + + Floor + Floor + Create BuildingPart @@ -2080,8 +2093,6 @@ unit to work with when opening the file. - - Arch Lengkungan @@ -2105,6 +2116,11 @@ unit to work with when opening the file. Profile Profil + + + Site + Situs + Please either select only Building objects or nothing at all! @@ -2149,13 +2165,14 @@ Pembuatan situs dibatalkan. Tidak dapat membuat sebuah atap - - + + Please select a base object Mohon pilih sebuah objek dasar + Roof Atap @@ -2221,7 +2238,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Tinggi (mm) - + Door Door @@ -2255,6 +2272,11 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Front Depan + + + External Reference + External Reference + Reload reference @@ -2266,20 +2288,12 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Open reference - + Create external reference Create external reference - - - - - Error: Couldn't determine character encoding - Error: Couldn't determine character encoding - - - + Frame Frame @@ -2361,205 +2375,210 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Pilih yang dipilih - - + - - + + + Remove Menghapus - - + - + + Add Menambahkan - - - - + + + + - + - - - + + + Edit Edit - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Komponen - + Create new component Create new component - + Name Nama - + - + Type Jenis - - + + Thickness Thickness - + Offset Mengimbangi - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position + + + Axis System + Sistem Sumbu + Only axes must be selected @@ -2576,8 +2595,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + + Axes Axes @@ -2589,9 +2609,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - - - + + + Successfully written Successfully written @@ -2601,8 +2621,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -2628,32 +2648,47 @@ If Run = 0 then the run is calculated so that the height is the same as the rela IFC Schema not found, IFC import disabled. - + Error: IfcOpenShell is not installed Error: IfcOpenShell is not installed - + Error: your IfcOpenShell version is too old Error: your IfcOpenShell version is too old + + + Project + Proyek + Create Project Create Project - + + Stairs + Tangga + + + + Railing + Railing + + + Create Stairs Create Stairs - + removed properties 'OutlineWireLeft' and 'OutlineWireRight', and added properties 'RailingLeft' and 'RailingRight' removed properties 'OutlineWireLeft' and 'OutlineWireRight', and added properties 'RailingLeft' and 'RailingRight' - + changed the type of properties 'RailingLeft' and 'RailingRight' changed the type of properties 'RailingLeft' and 'RailingRight' @@ -2673,11 +2708,17 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Merge duplicates + Material Bahan + + + MultiMaterial + MultiMaterial + New layer @@ -2710,7 +2751,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela pycollada not found, collada support is disabled. - + file %s successfully created. file %s successfully created. @@ -2740,6 +2781,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Total column size is larger than width + Grid Kisi @@ -2925,53 +2967,63 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Rotation - + + Panel + Panel + + + View of View of - - + + PanelSheet + PanelSheet + + + + Create Panel Create Panel - + Panel options Panel options - + Rotate Putar - + Create Panel Cut Create Panel Cut - + Create Panel Sheet Create Panel Sheet - + Error computing shape of Error computing shape of - + Tools Alat - + Edit views positions Edit views positions - + This object has no face This object has no face @@ -2986,6 +3038,16 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Create Curtain Wall Create Curtain Wall + + + Pipe + Pipa + + + + Connector + Connector + @@ -3099,8 +3161,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File + - Export CSV File Export CSV File @@ -3110,24 +3172,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Description + + - - Value Nilai + - Unit Satuan @@ -3198,13 +3260,13 @@ Floor creation aborted. Label - - + + Found a shape containing curves, triangulating Found a shape containing curves, triangulating - + Successfully imported Successfully imported @@ -3224,19 +3286,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3246,6 +3308,7 @@ Floor creation aborted. Closing Sketch edit + Component Component @@ -3330,6 +3393,11 @@ Floor creation aborted. New property set New property set + + + Rebar + Rebar + @@ -3342,98 +3410,109 @@ Floor creation aborted. Please select a base face on a structural object - + + Section + Bagian + + + Create Section Plane Create Section Plane - + Toggle Cutview Toggle Cutview - + Section plane settings Section plane settings - + Remove highlighted objects from the list above Remove highlighted objects from the list above - + Add selected Tambahkan yang dipilih - + Add selected object(s) to the scope of this section plane Add selected object(s) to the scope of this section plane - + Objects seen by this section plane: Objects seen by this section plane: - + Section plane placement: Section plane placement: - + Rotate X Rotate X - + Rotates the plane along the X axis Rotates the plane along the X axis - + Rotate Y Rotate Y - + Rotates the plane along the Y axis Rotates the plane along the Y axis - + Rotate Z Rotate Z - + Rotates the plane along the Z axis Rotates the plane along the Z axis - + Resize Resize - + Resizes the plane to fit the objects in the list above Resizes the plane to fit the objects in the list above - + Center Pusat - + Centers the plane on the objects in the list above Centers the plane on the objects in the list above - + + + Building + Bangunan + + + You can put anything but Site and Building objects in a Building object. Building object is not allowed to accept Site and Building objects. @@ -3450,7 +3529,7 @@ Site and Building objects will be removed from the selection. You can change that in the preferences. - + There is no valid object in the selection. Building creation aborted. @@ -3459,22 +3538,27 @@ Building creation aborted. Building creation aborted. - + Create Building Create Building - + + Space + Ruang + + + Create Space Create Space - + Set text position Set text position - + Space boundaries Space boundaries @@ -3562,154 +3646,154 @@ Building creation aborted. Cannot compute blocks for wall - + Error: Unable to modify the base object of this wall Error: Unable to modify the base object of this wall - + Flip direction Flip direction - + Invalid cutplane Invalid cutplane - + is not closed is not closed - + is not valid is not valid - + doesn't contain any solid doesn't contain any solid - + contains a non-closed solid contains a non-closed solid - + contains faces that are not part of any solid contains faces that are not part of any solid - + Survey Survei - + Set description Set description - + Clear Bersih - + Copy Length Copy Length - + Copy Area Copy Area - + Export CSV Export CSV - + Area Daerah - + Total Total - + Object doesn't have settable IFCData Object doesn't have settable IFCData - + Disabling Brep force flag of object Disabling Brep force flag of object - - + + Enabling Brep force flag of object Enabling Brep force flag of object - + Add space boundary Add space boundary - + Grouping Grouping - + Remove space boundary Remove space boundary - + Ungrouping Ungrouping - + Split Mesh Split Mesh - + Mesh to Shape Mesh to Shape - + All good! No problems found All good! No problems found - - + + Create Component Create Component - + Key Key - + The object doesn't have an IfcProperties attribute. Cancel spreadsheet creation for object: The object doesn't have an IfcProperties attribute. Cancel spreadsheet creation for object: - + Create IFC properties spreadsheet Create IFC properties spreadsheet @@ -3723,8 +3807,8 @@ Building creation aborted. - Create multiple Arch Structure objects from a selected base, using each selected edge as an extrusion path - Create multiple Arch Structure objects from a selected base, using each selected edge as an extrusion path + Create multiple Arch Structures from a selected base, using each selected edge as an extrusion path + Create multiple Arch Structures from a selected base, using each selected edge as an extrusion path @@ -3736,8 +3820,8 @@ Building creation aborted. - Create a structural system object from a selected structure and axis - Create a structural system object from a selected structure and axis + Create a structural system from a selected structure and axis + Create a structural system from a selected structure and axis @@ -3749,8 +3833,8 @@ Building creation aborted. - Creates a structure object from scratch or from a selected object (sketch, wire, face or solid) - Creates a structure object from scratch or from a selected object (sketch, wire, face or solid) + Creates a structure from scratch or from a selected object (sketch, wire, face or solid) + Creates a structure from scratch or from a selected object (sketch, wire, face or solid) @@ -3802,14 +3886,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) + - The length of this element, if not based on a profile The length of this element, if not based on a profile + - The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3819,15 +3903,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic + - The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3842,8 +3926,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line + - The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -3920,9 +4004,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -3962,7 +4046,7 @@ Building creation aborted. - + The shape of this object The shape of this object @@ -3983,7 +4067,7 @@ Building creation aborted. - + The line width of this object The line width of this object @@ -4241,20 +4325,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4289,8 +4373,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4475,92 +4559,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -4650,159 +4734,159 @@ Building creation aborted. How to draw the rods - + The length of these stairs, if no baseline is defined The length of these stairs, if no baseline is defined - + The width of these stairs The width of these stairs - + The total height of these stairs The total height of these stairs - + The alignment of these stairs on their baseline, if applicable The alignment of these stairs on their baseline, if applicable - + The width of a Landing (Second edge and after - First edge follows Width property) The width of a Landing (Second edge and after - First edge follows Width property) - + The number of risers in these stairs The number of risers in these stairs - + The depth of the treads of these stairs The depth of the treads of these stairs - + The height of the risers of these stairs The height of the risers of these stairs - + The size of the nosing The size of the nosing - + The thickness of the treads The thickness of the treads - + The Blondel ratio indicates comfortable stairs and should be between 62 and 64cm or 24.5 and 25.5in The Blondel ratio indicates comfortable stairs and should be between 62 and 64cm or 24.5 and 25.5in - + The thickness of the risers The thickness of the risers - + The depth of the landing of these stairs The depth of the landing of these stairs - + The depth of the treads of these stairs - Enforced regardless of Length or edge's Length The depth of the treads of these stairs - Enforced regardless of Length or edge's Length - + The height of the risers of these stairs - Enforced regardless of Height or edge's Height The height of the risers of these stairs - Enforced regardless of Height or edge's Height - + The direction of flight after landing The direction of flight after landing - + The 'absolute' top level of a flight of stairs leads to The 'absolute' top level of a flight of stairs leads to - - + + The 'left outline' of stairs The 'left outline' of stairs - + The 'left outline' of all segments of stairs The 'left outline' of all segments of stairs - + The 'right outline' of all segments of stairs The 'right outline' of all segments of stairs - + The type of landings of these stairs The type of landings of these stairs - + The type of winders in these stairs The type of winders in these stairs - + The type of structure of these stairs The type of structure of these stairs - + The thickness of the massive structure or of the stringers The thickness of the massive structure or of the stringers - + The width of the stringers The width of the stringers - + The offset between the border of the stairs and the structure The offset between the border of the stairs and the structure - - + + The overlap of the stringers above the bottom of the treads The overlap of the stringers above the bottom of the treads - + The thickness of the lower floor slab The thickness of the lower floor slab - + The thickness of the upper floor slab The thickness of the upper floor slab - + The type of connection between the lower floor slab and the start of the stairs The type of connection between the lower floor slab and the start of the stairs - + The type of connection between the end of the stairs and the upper floor slab The type of connection between the end of the stairs and the upper floor slab @@ -5018,164 +5102,164 @@ Building creation aborted. The tread depth of this element - + The thickness or extrusion depth of this element The thickness or extrusion depth of this element - + The number of sheets to use The number of sheets to use - + The offset between this panel and its baseline The offset between this panel and its baseline - + The length of waves for corrugated elements The length of waves for corrugated elements - + The height of waves for corrugated elements The height of waves for corrugated elements - + The horizontal offset of waves for corrugated elements The horizontal offset of waves for corrugated elements - + The direction of waves for corrugated elements The direction of waves for corrugated elements - + The type of waves for corrugated elements The type of waves for corrugated elements - + If the wave also affects the bottom side or not If the wave also affects the bottom side or not - + The area of this panel The area of this panel - + The linked object The linked object - - + + The size of the tag text The size of the tag text - - + + The font of the tag text The font of the tag text - + The text to display. Can be %tag%, %label% or %description% to display the panel tag or label The text to display. Can be %tag%, %label% or %description% to display the panel tag or label - - + + The position of the tag text. Keep (0,0,0) for center position The position of the tag text. Keep (0,0,0) for center position - - + + The rotation of the tag text The rotation of the tag text - - + + If True, the object is rendered as a face, if possible. If True, the object is rendered as a face, if possible. - + The allowed angles this object can be rotated to when placed on sheets The allowed angles this object can be rotated to when placed on sheets - + An offset value to move the cut plane from the center point An offset value to move the cut plane from the center point - - + + A margin inside the boundary A margin inside the boundary - - + + Turns the display of the margin on/off Turns the display of the margin on/off - + The linked Panel cuts The linked Panel cuts - + The tag text to display The tag text to display - + The font file The font file - + The width of the sheet The width of the sheet - + The height of the sheet The height of the sheet - + The fill ratio of this sheet The fill ratio of this sheet - + Specifies an angle for the wood grain (Clockwise, 0 is North) Specifies an angle for the wood grain (Clockwise, 0 is North) - + Specifies the scale applied to each panel view. Specifies the scale applied to each panel view. - + A list of possible rotations for the nester A list of possible rotations for the nester - + Turns the display of the wood grain texture on/off Turns the display of the wood grain texture on/off @@ -5386,7 +5470,7 @@ Building creation aborted. - + The placement of this object The placement of this object @@ -5606,190 +5690,190 @@ Building creation aborted. Shape of rebar - + The objects that must be considered by this section plane. Empty means the whole document. The objects that must be considered by this section plane. Empty means the whole document. - + If false, non-solids will be cut too, with possible wrong results. If false, non-solids will be cut too, with possible wrong results. - + If True, resulting views will be clipped to the section plane area. If True, resulting views will be clipped to the section plane area. - + If true, the color of the objects material will be used to fill cut areas. If true, the color of the objects material will be used to fill cut areas. - + Geometry further than this value will be cut off. Keep zero for unlimited. Geometry further than this value will be cut off. Keep zero for unlimited. - + The display length of this section plane The display length of this section plane - + The display height of this section plane The display height of this section plane - + The size of the arrows of this section plane The size of the arrows of this section plane - + The transparency of this object The transparency of this object - - + + Show the cut in the 3D view Show the cut in the 3D view - + The color of this object The color of this object - + The distance between the cut plane and the actual view cut (keep this a very small value but not zero) The distance between the cut plane and the actual view cut (keep this a very small value but not zero) - + Show the label in the 3D view Show the label in the 3D view - - + + The name of the font The name of the font - - + + The size of the text font The size of the text font - + The objects that make the boundaries of this space object The objects that make the boundaries of this space object - + The computed floor area of this space The computed floor area of this space - + The finishing of the floor of this space The finishing of the floor of this space - + The finishing of the walls of this space The finishing of the walls of this space - + The finishing of the ceiling of this space The finishing of the ceiling of this space - + Objects that are included inside this space, such as furniture Objects that are included inside this space, such as furniture - + The type of this space The type of this space - + The thickness of the floor finish The thickness of the floor finish - + The number of people who typically occupy this space The number of people who typically occupy this space - + The electric power needed to light this space in Watts The electric power needed to light this space in Watts - + The electric power needed by the equipment of this space in Watts The electric power needed by the equipment of this space in Watts - + If True, Equipment Power will be automatically filled by the equipment included in this space If True, Equipment Power will be automatically filled by the equipment included in this space - + The type of air conditioning of this space The type of air conditioning of this space - + Specifies if this space is internal or external Specifies if this space is internal or external - + The text to show. Use $area, $label, $tag, $floor, $walls, $ceiling to insert the respective data The text to show. Use $area, $label, $tag, $floor, $walls, $ceiling to insert the respective data - + The color of the area text The color of the area text - + The size of the first line of text The size of the first line of text - + The space between the lines of text The space between the lines of text - + The position of the text. Leave (0,0,0) for automatic position The position of the text. Leave (0,0,0) for automatic position - + The justification of the text The justification of the text - + The number of decimals to use for calculated texts The number of decimals to use for calculated texts - + Show the unit suffix Show the unit suffix @@ -5897,8 +5981,8 @@ Building creation aborted. - Creates an equipment object from a selected object (Part or Mesh) - Creates an equipment object from a selected object (Part or Mesh) + Creates an equipment from a selected object (Part or Mesh) + Creates an equipment from a selected object (Part or Mesh) @@ -5923,8 +6007,8 @@ Building creation aborted. - Creates a BuildingPart object including selected objects - Creates a BuildingPart object including selected objects + Creates a BuildingPart including selected objects + Creates a BuildingPart including selected objects @@ -5934,111 +6018,96 @@ Building creation aborted. Writing camera position Writing camera position - - - - - - Draft - Konsep - - - - - - Import-Export - Ekspor Impor - Workbench - + Structure tools Structure tools - + Axis tools Axis tools - + Panel tools Panel tools - + Material tools Material tools - + Pipe tools Pipe tools - + Rebar tools Rebar tools - + Arch tools Arch tools - + Draft creation tools Draft creation tools - + Draft annotation tools Draft annotation tools - + Draft modification tools Draft modification tools - + Draft snap Draft snap - - + + &Arch &Arch - - + + Utilities Utilitas - - - - + + + + &Draft &Draft - + Creation Creation - + Annotation Anotasi - + Modification Modification @@ -6046,12 +6115,12 @@ Building creation aborted. Arch_RebarTools - + Rebar tools Rebar tools - + Create various types of rebars, including U-shaped, L-shaped, and stirrup Create various types of rebars, including U-shaped, L-shaped, and stirrup @@ -6065,8 +6134,8 @@ Building creation aborted. - Creates a profile object - Creates a profile object + Creates a profile + Creates a profile @@ -6078,8 +6147,8 @@ Building creation aborted. - Creates a site object including selected objects. - Creates a site object including selected objects. + Creates a site including selected objects. + Creates a site including selected objects. @@ -6124,12 +6193,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6202,25 +6271,25 @@ Building creation aborted. Arch_Stairs - + Stairs Tangga + + + Creates a flight of stairs + Creates a flight of stairs + Arch_Space - - Creates a stairs object - Creates a stairs object - - - + Space Ruang - + Creates a space object from selected boundary objects Creates a space object from selected boundary objects @@ -6349,12 +6418,12 @@ Building creation aborted. Arch_Panel - + Panel Panel - + Creates a panel object from scratch or from a selected object (sketch, wire, face or solid) Creates a panel object from scratch or from a selected object (sketch, wire, face or solid) @@ -6362,12 +6431,12 @@ Building creation aborted. Arch_Panel_Cut - + Panel Cut Panel Potong - + Creates 2D views of selected panels Creates 2D views of selected panels @@ -6375,12 +6444,12 @@ Building creation aborted. Arch_Panel_Sheet - + Panel Sheet Lembar Panel - + Creates a 2D sheet which can contain panel cuts Creates a 2D sheet which can contain panel cuts @@ -6388,12 +6457,12 @@ Building creation aborted. Arch_Nest - + Nest Nest - + Nests a series of selected shapes in a container Nests a series of selected shapes in a container @@ -6401,8 +6470,8 @@ Building creation aborted. Arch_PanelTools - - + + Panel tools Panel tools @@ -6519,12 +6588,12 @@ Building creation aborted. Arch_SectionPlane - + Section Plane Section Plane - + Creates a section plane object, including the selected objects Creates a section plane object, including the selected objects @@ -6532,12 +6601,12 @@ Building creation aborted. Arch_Building - + Building Bangunan - + Creates a building object including selected objects. Creates a building object including selected objects. @@ -6571,12 +6640,12 @@ Building creation aborted. Arch_Add - + Add component Add component - + Adds the selected components to the active object Adds the selected components to the active object @@ -6584,12 +6653,12 @@ Building creation aborted. Arch_Remove - + Remove component Remove component - + Remove the selected components from their parents, or create a hole in a component Remove the selected components from their parents, or create a hole in a component @@ -6597,12 +6666,12 @@ Building creation aborted. Arch_SplitMesh - + Split Mesh Split Mesh - + Splits selected meshes into independent components Splits selected meshes into independent components @@ -6610,12 +6679,12 @@ Building creation aborted. Arch_MeshToShape - + Mesh to Shape Mesh to Shape - + Turns selected meshes into Part Shape objects Turns selected meshes into Part Shape objects @@ -6623,12 +6692,12 @@ Building creation aborted. Arch_SelectNonSolidMeshes - + Select non-manifold meshes Select non-manifold meshes - + Selects all non-manifold meshes from the document or from the selected groups Selects all non-manifold meshes from the document or from the selected groups @@ -6636,12 +6705,12 @@ Building creation aborted. Arch_RemoveShape - + Remove Shape from Arch Remove Shape from Arch - + Removes cubic shapes from Arch components Removes cubic shapes from Arch components @@ -6649,12 +6718,12 @@ Building creation aborted. Arch_CloseHoles - + Close holes Close holes - + Closes holes in open shapes, turning them solids Closes holes in open shapes, turning them solids @@ -6662,12 +6731,12 @@ Building creation aborted. Arch_Check - + Check Check - + Checks the selected objects for problems Checks the selected objects for problems @@ -6675,12 +6744,12 @@ Building creation aborted. Arch_Survey - + Survey Survei - + Starts survey Starts survey @@ -6688,12 +6757,12 @@ Building creation aborted. Arch_ToggleIfcBrepFlag - + Toggle IFC Brep flag Toggle IFC Brep flag - + Force an object to be exported as Brep or not Force an object to be exported as Brep or not @@ -6701,12 +6770,12 @@ Building creation aborted. Arch_Component - + Component Component - + Creates an undefined architectural component Creates an undefined architectural component @@ -6714,12 +6783,12 @@ Building creation aborted. Arch_CloneComponent - + Clone component Clone component - + Clones an object as an undefined architectural component Clones an object as an undefined architectural component @@ -6727,12 +6796,12 @@ Building creation aborted. Arch_IfcSpreadsheet - + Create IFC spreadsheet... Create IFC spreadsheet... - + Creates a spreadsheet to store IFC properties of an object. Creates a spreadsheet to store IFC properties of an object. @@ -6740,12 +6809,12 @@ Building creation aborted. Arch_ToggleSubs - + Toggle subcomponents Toggle subcomponents - + Shows or hides the subcomponents of this object Shows or hides the subcomponents of this object @@ -6753,11 +6822,35 @@ Building creation aborted. Command - - + + Transform Transform + + QObject + + + + Arch + Lengkungan + + + + + + + Draft + Konsep + + + + + + Import-Export + Ekspor Impor + + diff --git a/src/Mod/Arch/Resources/translations/Arch_it.ts b/src/Mod/Arch/Resources/translations/Arch_it.ts index 539651fcc5..cc78d3fc63 100644 --- a/src/Mod/Arch/Resources/translations/Arch_it.ts +++ b/src/Mod/Arch/Resources/translations/Arch_it.ts @@ -1352,8 +1352,8 @@ are placed in a 'Group' instead. DAE - + Export options Opzioni di esportazione @@ -1800,40 +1800,40 @@ unit to work with when opening the file. Modalità di disegno - - + + Category Categoria - - - + + + Preset Predefinito - - - - + + + + Length Lunghezza - - + + Width Larghezza - + Height Altezza @@ -1849,8 +1849,8 @@ unit to work with when opening the file. Scambia L/W - + Con&tinue Con&tinua @@ -1867,8 +1867,8 @@ unit to work with when opening the file. Questa mesh non è un solido valido - + Facemaker returned an error FaceMaker ha restituito un errore @@ -1981,8 +1981,8 @@ unit to work with when opening the file. Fatto - + Couldn't compute a shape Impossibile calcolare una forma @@ -2157,8 +2157,8 @@ Creazione del Sito interrotta. Impossibile creare un tetto - + Please select a base object Selezionare un oggetto base @@ -2280,7 +2280,7 @@ Se Base = 0 allora la Base viene calcolata in modo che l'altezza sia la stessa d Apri riferimento - + Create external reference Crea riferimento esterno @@ -2367,202 +2367,202 @@ Se Base = 0 allora la Base viene calcolata in modo che l'altezza sia la stessa d Scegli una faccia su un oggetto esistente o seleziona una preimpostazione - + Window not based on sketch. Window not aligned or resized. Finestra non basata sullo schizzo. Finestra non allineata o ridimensionata. - + No Width and/or Height constraint in window sketch. Window not resized. Nessun vincolo di larghezza e/o altezza nello schizzo della finestra. Finestra non ridimensionata. - + No window found. Cannot continue. Nessuna finestra trovata. Impossibile continuare. - + Window options Opzioni finestra - + Auto include in host object Includi automaticamente nell'oggetto ospite - + Sill height Altezza soglia - + This window has no defined opening Questa finestra non ha alcuna apertura definita - - - + + + Get selected edge Ottieni il bordo selezionato - + Unable to create component Impossibile creare il componente - + Window elements Elementi della finestra - + Hole wire Contorno del foro - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Il numero del contorno che definisce un foro nell'oggetto ospite. Il valore zero adotta automaticamente il contorno più grande - + Pick selected Usa selezionata - - + + Remove Rimuovi - - + + Add Aggiungi - - - - + + + + - + - - + + Edit Modifica - + Create/update component Crea/aggiorna componente - + Base 2D object Oggetto 2D di base - - + + Wires Polilinee - + Components Componenti - + Create new component Crea un nuovo componente - + Name Nome - - + + Type Tipo - + Thickness Spessore - + Offset Offset - + Hinge Cerniera - + Opening mode Modalità di apertura - - + + + default + predefinito - + If this is checked, the default Frame value of this window will be added to the value entered here Se è selezionato, il valore Frame predefinito di questa finestra viene aggiunto al valore inserito qui - + If this is checked, the default Offset value of this window will be added to the value entered here Se è selezionato, il valore Offset predefinito di questa finestra viene aggiunto al valore inserito qui - + Press to retrieve the selected edge Premere per recuperare il bordo selezionato - - + + Invert opening direction Inverti direzione di apertura - - + + Invert hinge position Inverti posizione cerniera @@ -2587,9 +2587,9 @@ Se Base = 0 allora la Base viene calcolata in modo che l'altezza sia la stessa d Selezionare almeno un asse - + Axes Assi @@ -2601,9 +2601,9 @@ Se Base = 0 allora la Base viene calcolata in modo che l'altezza sia la stessa d - + Successfully written Scritto correttamente @@ -2613,8 +2613,8 @@ Se Base = 0 allora la Base viene calcolata in modo che l'altezza sia la stessa d Travatura - + Please select only one base object or none Si prega di selezionare un solo oggetto base o nessuno @@ -3153,8 +3153,8 @@ Se Base = 0 allora la Base viene calcolata in modo che l'altezza sia la stessa d Importa un file CSV - + Export CSV File Esporta file CSV @@ -3164,24 +3164,24 @@ Se Base = 0 allora la Base viene calcolata in modo che l'altezza sia la stessa d Impossibile riconoscere quel tipo di file + - Description Descrizione + + - - Value Valore + - Unit Unità @@ -3278,19 +3278,19 @@ Creazione del Piano interrotta. ha una forma non valida + - has a null shape ha una forma nulla - + Toggle subcomponents Attiva/disattiva sottocomponenti @@ -3300,8 +3300,8 @@ Creazione del Piano interrotta. Chiudi modifica Sketch - + Component Componente @@ -3498,8 +3498,8 @@ Creazione del Piano interrotta. Centra il piano sugli oggetti nella lista precedente - + Building Edificio @@ -3878,14 +3878,14 @@ Creazione Edificio interrotta. Rotazione della Base attorno all'asse dello Strumento (usata solo se BasePerpendicularToTool è Vero) - + The length of this element, if not based on a profile La lunghezza di questo elemento, se non è basato su un profilo - + The width of this element, if not based on a profile La larghezza di questo elemento, se non è basato su un profilo @@ -3895,15 +3895,15 @@ Creazione Edificio interrotta. L'altezza o la profondità di estrusione di questo elemento. Lasciare 0 per automatico - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) La direzione di estrusione normale di questo oggetto (lasciare (0, 0,0) per normale in automatico) - + The structural nodes of this element I nodi strutturali di questo elemento @@ -3918,8 +3918,8 @@ Creazione Edificio interrotta. Distanza di offset tra la linea centrale e la linea dei nodi - + The facemaker type to use to build the profile of this object Il tipo di Crea facce da utilizzare per creare il profilo di questo oggetto @@ -3996,9 +3996,9 @@ Creazione Edificio interrotta. L'energia richiesta da questa apparecchiatura in watt + - The type of this building Il tipo di questo edificio @@ -4317,20 +4317,20 @@ Creazione Edificio interrotta. Un URL che mostra questo sito in un sito di mappatura - + Other shapes that are appended to this object Altre forme che vengono aggiunte a questo oggetto - + Other shapes that are subtracted from this object Altre forme che sono sottratte da questo oggetto - + The area of the projection of this object onto the XY plane L'area della proiezione di questo oggetto sul piano XY @@ -4365,8 +4365,8 @@ Creazione Edificio interrotta. Scostamento facoltativo tra l'origine del modello (0,0,0) e il punto indicato dalle geocoordinate - + The type of this object Il tipo di questo oggetto @@ -4551,92 +4551,92 @@ Creazione Edificio interrotta. Se vero, la geometria è fusa, altrimenti è un composto - + The objects that host this window Gli oggetti che ospitano questa finestra - + The components of this window I componenti di questa finestra - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. La profondità del foro che questa finestra crea nel suo oggetto ospitante. Se è 0, il valore viene calcolato automaticamente. - + An optional object that defines a volume to be subtracted from hosts of this window Un oggetto opzionale che definisce un volume da sottrarre per ospitare questa finestra - + The width of this window La larghezza di questa finestra - + The height of this window L'altezza di questa finestra - + The normal direction of this window La direzione normale di questa finestra - + The preset number this window is based on Il numero preimpostato su cui si basa questa finestra - + The frame size of this window Le dimensioni del telaio della finestra - + The offset size of this window La dimensione dell'offset di questa finestra - + The area of this window L'area di questa finestra - + The width of louvre elements La larghezza delle lamelle - + The space between louvre elements Lo spazio tra le lamelle - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Mostra i simboli di apertura in pianta se possibile - + Show elevation opening symbols if available Mostra i simboli di apertura di elevazione se possibile - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6185,12 +6185,12 @@ Creazione Edificio interrotta. Arch_Reference - + External reference Riferimento esterno - + Creates an external reference object Crea un oggetto di Riferimento esterno @@ -6814,9 +6814,9 @@ Creazione Edificio interrotta. Command - - + + Transform Trasforma diff --git a/src/Mod/Arch/Resources/translations/Arch_ja.ts b/src/Mod/Arch/Resources/translations/Arch_ja.ts index 0f2039ca9d..34e6740fb7 100644 --- a/src/Mod/Arch/Resources/translations/Arch_ja.ts +++ b/src/Mod/Arch/Resources/translations/Arch_ja.ts @@ -1353,8 +1353,8 @@ are placed in a 'Group' instead. DAE - + Export options エクスポート・オプション @@ -1799,40 +1799,40 @@ unit to work with when opening the file. Drawing mode - - + + Category カテゴリ - - - + + + Preset Preset - - - - + + + + Length 長さ - - + + Width - + Height 高さ @@ -1848,8 +1848,8 @@ unit to work with when opening the file. Switch L/W - + Con&tinue Con&tinue @@ -1866,8 +1866,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1980,8 +1980,8 @@ unit to work with when opening the file. 終了 - + Couldn't compute a shape Couldn't compute a shape @@ -2156,8 +2156,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2279,7 +2279,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Open reference - + Create external reference Create external reference @@ -2366,202 +2366,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected ピック選択 - - + + Remove 削除 - - + + Add 追加 - - - - + + + + - + - - + + Edit 編集 - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components コンポーネント - + Create new component Create new component - + Name 名前 - - + + Type タイプ - + Thickness 厚み - + Offset オフセット - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2586,9 +2586,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2600,9 +2600,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2612,8 +2612,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3152,8 +3152,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3163,24 +3163,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description 説明 + + - - Value + - Unit 単位 @@ -3277,19 +3277,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3299,8 +3299,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3497,8 +3497,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building ビルディング @@ -3877,14 +3877,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3894,15 +3894,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3917,8 +3917,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -3995,9 +3995,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4316,20 +4316,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4364,8 +4364,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4550,92 +4550,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6184,12 +6184,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6813,9 +6813,9 @@ Building creation aborted. Command - - + + Transform 変換 diff --git a/src/Mod/Arch/Resources/translations/Arch_ka.qm b/src/Mod/Arch/Resources/translations/Arch_ka.qm index 7287158483..4e96739459 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_ka.qm and b/src/Mod/Arch/Resources/translations/Arch_ka.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_ka.ts b/src/Mod/Arch/Resources/translations/Arch_ka.ts index 6f086214ae..64db5be151 100644 --- a/src/Mod/Arch/Resources/translations/Arch_ka.ts +++ b/src/Mod/Arch/Resources/translations/Arch_ka.ts @@ -283,7 +283,7 @@ Leave blank to use all objects from the document Auto update - ავტო–განახლება + ავტომატური განახლება @@ -348,7 +348,7 @@ Leave blank to use all objects from the document Export - Export + გატანა @@ -487,7 +487,7 @@ Leave blank to use all objects from the document Copy existing... - არსებულის კოპირება... + არსებულის კოპირება.... @@ -532,7 +532,7 @@ Leave blank to use all objects from the document Invert - დაბრუნება + ინვერსია @@ -552,7 +552,7 @@ Leave blank to use all objects from the document Shapes - ფიგურები + მოყვანილობები @@ -562,7 +562,7 @@ Leave blank to use all objects from the document Remove - მოცილება + წაშლა @@ -572,7 +572,7 @@ Leave blank to use all objects from the document Tolerance - სიზუსტე + დაშვება @@ -612,7 +612,7 @@ Leave blank to use all objects from the document Start - დაწყება + გაშვება @@ -622,7 +622,7 @@ Leave blank to use all objects from the document Preview - გადახედვა + მინიატურა @@ -958,7 +958,7 @@ Bim სერვერის ინტერფეისს გარე ბრ Length: - Length: + სიგრძე: @@ -1077,7 +1077,7 @@ Bim სერვერის ინტერფეისს გარე ბრ Solid - მყარი სხეული + მყარი @@ -1353,8 +1353,8 @@ are placed in a 'Group' instead. DAE - + Export options გატანის პარამეტრები @@ -1388,7 +1388,7 @@ If using Netgen, make sure that it is available. Mefisto - მეფისტო + Mefisto @@ -1731,7 +1731,7 @@ unit to work with when opening the file. Beam - კოჭი + ზურგი @@ -1797,40 +1797,40 @@ unit to work with when opening the file. ხაზვის რეჟიმი - - + + Category კატეგორია - - - + + + Preset პრესეტი - - - - + + + + Length სიგრძე - - + + Width სიგანე - + Height სიმაღლე @@ -1846,8 +1846,8 @@ unit to work with when opening the file. სიგრძე/სიგანის გადამრთველი - + Con&tinue გაგრძ&ელება @@ -1864,8 +1864,8 @@ unit to work with when opening the file. ეს პოლიხაზი არ წარმოადგენს შეკრულ სხეულს - + Facemaker returned an error Facemaker-მა დააბრუნა შეცდომა @@ -1975,18 +1975,18 @@ unit to work with when opening the file. Done - მზადაა + დასრულებულია - + Couldn't compute a shape ფიგურის გამოთვლის შეცდომა Equipment - აღჭურვილობა + აპარატურა @@ -2031,7 +2031,7 @@ unit to work with when opening the file. BuildingPart - შენობის ნაწილი + სამშენებლო ნაწილი @@ -2052,7 +2052,7 @@ unit to work with when opening the file. Activate - გააქტიურება + აქტივაცია @@ -2083,7 +2083,7 @@ unit to work with when opening the file. Arch - არქ + არქიტექტურა @@ -2108,7 +2108,7 @@ unit to work with when opening the file. Site - ადგილი + საიტი @@ -2154,8 +2154,8 @@ Site creation aborted. სახურავის შექმნა შეუძლებელია - + Please select a base object გთხოვთ, აირჩიოთ საბაზისო ობიექტი @@ -2259,7 +2259,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Front - წინ + წინა @@ -2277,7 +2277,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela მიმართვის გახსნა - + Create external reference ობიექტის ფაილიდან ჩასმა მასზე ბმის გამოყენებით @@ -2364,209 +2364,209 @@ If Run = 0 then the run is calculated so that the height is the same as the rela აირჩიეთ ზედაპირი არსებულ ობიექტზე ან აირჩიეთ პრესეტი - + Window not based on sketch. Window not aligned or resized. ფანჯარა არ ეყრდნობა ესკიზს. ფანჯარა არ სწორდება და არ შეიცვლის ზომებს. - + No Width and/or Height constraint in window sketch. Window not resized. ფანჯრის ესკიზსში სიგრძისა და სიმაღლის შეზღუდვები არ არსებობს. ფანჯრის ზომა არ შეიცვლება. - + No window found. Cannot continue. ფანჯარა ნაპოვნი არაა. გაგრძელება შეუძლებელია. - + Window options ფანჯრის მორგება - + Auto include in host object მასპინძელ ობიექტში ავტომატური ჩამატება - + Sill height რაფის სიმაღლე - + This window has no defined opening ამ ფანჯარას არ გააჩნია განსაზღვრული ღიობი - - - + + + Get selected edge მონიშნული წიბოს მიღება - + Unable to create component კომპონენტის შექმნა შეუძლებელია - + Window elements ფანჯრის ელემენტები - + Hole wire ნახვრეტის პოლიხაზი - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire პოლიხაზების რაოდენობა, რომელიც განსაზღვრავს ხვრელს მასპინძელ ობიექტში. ნულის მნიშვნელობა ავტომატურად მიიღებს ყველაზე დიდ პოლიხაზს - + Pick selected - მონიშნულის მითითება + მონიშნულის არჩევა - - + + Remove - მოცილება + წაშლა - - + + Add დამატება - - - - + + + + - + - - + + Edit ჩასწორება - + Create/update component კომპონენტის შექმნა/განახლება - + Base 2D object ბაზის 2D ობიექტი - - + + Wires პოლიხაზები - + Components კომპონენტები - + Create new component ახალი კომპონენტის შექმნა - + Name სახელი - - + + Type ტიპი - + Thickness სისქე - + Offset წანაცვლება - + Hinge ანჯამა - + Opening mode გახსნის რეჟიმი - - + + + default + ნაგულისხმევი - + If this is checked, the default Frame value of this window will be added to the value entered here თუ ჩართულია, ამ ფანჯრის ნაგულისხმევი ჩარჩოს მნიშვნელობას დაემატება აქ მითითებული მნიშვნელობა - + If this is checked, the default Offset value of this window will be added to the value entered here თუ ეს ჩართულია, ამ ფანჯრის ნაგულისხმევი წანაცვლების მნიშვნელობას დაემატება აქ მითითებული მნიშვნელობა - + Press to retrieve the selected edge მონიშნული წიბოს მისაღებად დააწკაპუნეთ - - + + Invert opening direction ღიობის მიმართულების შებრუნება - - + + Invert hinge position ანჯამის მდებარეობის ამოყირავება Axis System - კოორდინატების სისტემა + ღერძების სისტემა @@ -2584,9 +2584,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela აირჩიეთ ერთი ღერძი მაინც - + Axes ღერძები @@ -2598,9 +2598,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written წარმატებით ჩაიწერა @@ -2610,8 +2610,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela ფერმა - + Please select only one base object or none გთხოვთ, აირჩიოთ მხოლოდ ერთი საბაზისო ობიექტი ან არცერთი @@ -2659,7 +2659,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Stairs - კიბე + კიბეები @@ -2716,7 +2716,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Total thickness - ჯამური სისქე + სრული სისქე @@ -2788,12 +2788,12 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Add row - რიგის დამატება + მწკრივის დამატება Del row - რიგის მოცილება + მწკრივის წაშლა @@ -2953,12 +2953,12 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Rotation - მობრუნება + შემობრუნება Panel - პანელი + ზოლი @@ -2984,7 +2984,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Rotate - შებრუნება + დატრიალება @@ -3030,12 +3030,12 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Pipe - მილი + ფაიფი Connector - შემაერთებელი + დამკავშირებელი @@ -3150,8 +3150,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela CSV ფაილის შემოტანა - + Export CSV File CSV ფაილის გატანა @@ -3161,26 +3161,26 @@ If Run = 0 then the run is calculated so that the height is the same as the rela უცნობი ფაილის ტიპი + - Description აღწერა + + - - Value მნიშვნელობა + - Unit - საზომი ერთეული + საზომი ერთეულები @@ -3236,7 +3236,7 @@ Floor creation aborted. Distance - Distance + დაშორება @@ -3275,19 +3275,19 @@ Floor creation aborted. აქვს არასწორი ფორმა + - has a null shape აქვს ცარიელი ფორმა - + Toggle subcomponents ქვეკომპონენტების ჩართ/გამორთ @@ -3297,8 +3297,8 @@ Floor creation aborted. ესკიზის ჩასწორების დახურვა - + Component კომპონენტი @@ -3355,7 +3355,7 @@ Floor creation aborted. Property - თვისება + პარამეტრი @@ -3426,7 +3426,7 @@ Floor creation aborted. Add selected - მონიშნულის დამატება + ყველა მონიშნული @@ -3495,10 +3495,10 @@ Floor creation aborted. სიბრტყის ზემოთ მოცემულ სიაში არსებულ ობიექტებზე დაცენტრება - + Building - შენობები + შენობა @@ -3534,7 +3534,7 @@ Building creation aborted. Space - სივრცე + გამოტოვება @@ -3596,12 +3596,12 @@ Building creation aborted. Left - მარცხნივ + მარცხენა Right - მარჯვნივ + მარჯვენა @@ -3642,7 +3642,7 @@ Building creation aborted. Flip direction - საპირისპირო მიმართულება + გადაბრუნების მიმართულება @@ -3677,7 +3677,7 @@ Building creation aborted. Survey - ანალიზი + მიმოხილვა @@ -3712,7 +3712,7 @@ Building creation aborted. Total - სულ + ჯამში @@ -3875,14 +3875,14 @@ Building creation aborted. ბაზის მოტრიალება ხელსაწყოს ღერძის გარშემო (გამოიყენება მხოლოდ თუ BasePerpendicularToTool დაყენებულია "True"-ზე) - + The length of this element, if not based on a profile ამ ელემენტის სიგრძე, თუ არ არის დაფუძნებული პროფილზე - + The width of this element, if not based on a profile ამ ელემენტის სიგანე, თუ არ არის დაფუძნებული პროფილზე @@ -3892,15 +3892,15 @@ Building creation aborted. ამ ელემენტის სიმაღლე ან გამოწნევის სიღრმე. ავტომატური მნიშვნელობისთვის დატოვეთ 0 - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) ამ ობიექტის ნორმალის გამოწნეხვის მიმართულება (ავტომატური ნორმალისთვის დატოვეთ (0,0,0)) - + The structural nodes of this element ამ ელემენტის სტრუქტურული კვანძები @@ -3915,8 +3915,8 @@ Building creation aborted. ცენტრალურ ხაზსა და საკვანძო ხაზს შორის წანაცვლებული მანძილი - + The facemaker type to use to build the profile of this object ობიექტის პროფილის შესაქმნელად გამოსაყენებელი facemaker-ის ტიპი @@ -3924,7 +3924,7 @@ Building creation aborted. Selected edges (or group of edges) of the base ArchSketch, to use in creating the shape of this Arch Structure (instead of using all the Base shape's edges by default). Input are index numbers of edges or groups. - ArchSketch-ს ბაზის მონიშნული წიბოები (ან წიბოების ჯგუფები) ამ არქიტექტურული სტრუქტურის მონახაზის შექმნისას გამოსაყენებლად (ნაგულისხმებად ყველა საბაზისო მონახაზის წიბოს მაგიერ). საჭიროებს წიბოების ან ჯგუფების ინდექსის ნომრებს. + ArchSketch-ს ბაზის მონიშნული წიბოები (ან წიბოების ჯგუფები) ამ არქიტექტურული სტრუქტურის მონახაზის შექმნისას გამოსაყენებლად (ნაგულისხმევად ყველა საბაზისო მონახაზის წიბოს მაგიერ). საჭიროებს წიბოების ან ჯგუფების ინდექსის ნომრებს. @@ -3993,9 +3993,9 @@ Building creation aborted. ამ აღჭურვილობისთვის საჭირო ელექტროენერგია ვატებში + - The type of this building შენობის ტიპი @@ -4314,20 +4314,20 @@ Building creation aborted. URL, რომელიც ამ ადგილს რუკის ვებგვერდზე აჩვენებს - + Other shapes that are appended to this object სხვა ფორმები, რომლებიც დართულია ამ ობიექტზე - + Other shapes that are subtracted from this object სხვა ფორმები, რომლებიც გამოაკლდა ამ ობიექტს - + The area of the projection of this object onto the XY plane ამ ობიექტის პროექციის ფართობი XY სიბრტყეზე @@ -4362,8 +4362,8 @@ Building creation aborted. არასავალდებულო წანაცვლება მოდელის (0,0,0) საწყისსა და გეოკოორდინატებით მითითებულ წერტილს შორის - + The type of this object ობიექტის ტიპი @@ -4554,92 +4554,92 @@ Building creation aborted. თუ ჩართულია, გეომეტრია გაერთიანებულია. თუ არა, გადაბმული - + The objects that host this window ამ ფანჯრის შემცველი ობიექტები - + The components of this window ამ ფანჯრის შემადგენელი ნაწილები - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. ნახვრეტის სიღრმე, რომელსაც ეს ფანჯარა მატარებელ ობიექტში ქმნის. ნულის შემთხვევაში მნიშვნელობა ავტომატურად იქნება გამოთვლილი. - + An optional object that defines a volume to be subtracted from hosts of this window არააუცილებელი ობიექტი, რომელიც განსაზღვრავს მოცულობას, რომელიც გამოაკლდება ამ ფანჯრის მატარებელ ობიექტებს - + The width of this window ამ ფანჯრის სიგანე - + The height of this window ამ ფანჯრის სიმაღლე - + The normal direction of this window ამ ფანჯრის ნორმალის მიმართულება - + The preset number this window is based on პრესეტის ნომერი, რომელზეც ეს ფანჯარაა დაფუძნებული - + The frame size of this window ფანჯრის ჩარჩოს ზომა - + The offset size of this window ფანჯრის წანაცვლება - + The area of this window ფანჯრის ფართობი - + The width of louvre elements ჟალუზის ელემენტების სიგანე - + The space between louvre elements ჟალუზის ელემენტებს შორის დაშორება - + Opens the subcomponents that have a hinge defined ანჯამებიან ქვეკომპონენტების გახსნა - + The number of the wire that defines the hole. If 0, the value will be calculated automatically პოლიხაზების რაოდენობა, რომელიც განსაზღვრავს ხვრელს. თუ 0, მნიშვნელობა ავტომატურად გამოითვლება - + Shows plan opening symbols if available ღიობების სიმბოლოების ჩვენება, თუ ისინი არსებობს - + Show elevation opening symbols if available მათი არსებობის შემთხვევაში სიმაღლის ღიობების სიმბოლოების ჩვენება - + The number of the wire that defines the hole. A value of 0 means automatic პოლიხაზების რაოდენობა, რომელიც განსაზღვრავს ხვრელს. მნიშვნელობა 0 ნიშნავს ავტომატურს @@ -5972,7 +5972,7 @@ Building creation aborted. Equipment - აღჭურვილობა + აპარატურა @@ -5998,7 +5998,7 @@ Building creation aborted. BuildingPart - შენობის ნაწილი + სამშენებლო ნაწილი @@ -6019,7 +6019,7 @@ Building creation aborted. Structure tools - კონსტრუქციის ხელსაწყოები + სტრუქტურის ხელსაწყოები @@ -6099,7 +6099,7 @@ Building creation aborted. Annotation - შენიშვნა + ანოტაცია @@ -6138,7 +6138,7 @@ Building creation aborted. Site - ადგილი + საიტი @@ -6188,12 +6188,12 @@ Building creation aborted. Arch_Reference - + External reference ობიექტის მიმართვა - + Creates an external reference object გარე ობიექტზე ბმულის შექმნა @@ -6203,7 +6203,7 @@ Building creation aborted. Frame - ჩარჩო + კადრი @@ -6229,7 +6229,7 @@ Building creation aborted. Axis System - კოორდინატების სისტემა + ღერძების სისტემა @@ -6242,7 +6242,7 @@ Building creation aborted. Truss - ფერმა + ნივნივა @@ -6268,7 +6268,7 @@ Building creation aborted. Stairs - კიბე + კიბეები @@ -6281,7 +6281,7 @@ Building creation aborted. Space - სივრცე + გამოტოვება @@ -6294,7 +6294,7 @@ Building creation aborted. Fence - ზღუდე + მესერი @@ -6428,7 +6428,7 @@ Building creation aborted. Panel Cut - პანელის დაჭრა + პანელის ამოჭრა @@ -6441,7 +6441,7 @@ Building creation aborted. Panel Sheet - პანელების ფურცელი + პანელის ფურცელი @@ -6468,7 +6468,7 @@ Building creation aborted. Panel tools - პანელის ხელსაწყოები + პანელის ხელაწყოები @@ -6476,7 +6476,7 @@ Building creation aborted. Curtain Wall - გამჭვირვალე ფასადი + გალავნს კედელი @@ -6489,7 +6489,7 @@ Building creation aborted. Pipe - მილი + ფაიფი @@ -6524,7 +6524,7 @@ Building creation aborted. Schedule - დაგეგმვა + განრიგი @@ -6598,7 +6598,7 @@ Building creation aborted. Building - შენობები + შენობა @@ -6663,7 +6663,7 @@ Building creation aborted. Split Mesh - მრავალკუთხა ბადის გაყოფა + ბადის დაყოფა @@ -6676,7 +6676,7 @@ Building creation aborted. Mesh to Shape - ბადიდან ფიგურამდე + ბადიდან მოხაზულობამდე @@ -6741,7 +6741,7 @@ Building creation aborted. Survey - ანალიზი + მიმოხილვა @@ -6806,7 +6806,7 @@ Building creation aborted. Toggle subcomponents - ქვეკომპონენტების ჩართ/გამორთ + ქვეკომპონენტების გადართვა @@ -6817,9 +6817,9 @@ Building creation aborted. Command - - + + Transform გარდაქმნა @@ -6830,7 +6830,7 @@ Building creation aborted. Arch - არქ + არქიტექტურა @@ -6838,7 +6838,7 @@ Building creation aborted. Draft - წყალშიგი + მონახაზი diff --git a/src/Mod/Arch/Resources/translations/Arch_ko.ts b/src/Mod/Arch/Resources/translations/Arch_ko.ts index 805c7d9ac2..0c8feee371 100644 --- a/src/Mod/Arch/Resources/translations/Arch_ko.ts +++ b/src/Mod/Arch/Resources/translations/Arch_ko.ts @@ -1361,8 +1361,8 @@ are placed in a 'Group' instead. DAE - + Export options Export options @@ -1814,40 +1814,40 @@ unit to work with when opening the file. Drawing mode - - + + Category 카테고리 - - - + + + Preset Preset - - - - + + + + Length 거리 - - + + Width 너비 - + Height 높이 @@ -1863,8 +1863,8 @@ unit to work with when opening the file. Switch L/W - + Con&tinue Con&tinue @@ -1881,8 +1881,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1995,8 +1995,8 @@ unit to work with when opening the file. 완료 - + Couldn't compute a shape Couldn't compute a shape @@ -2171,8 +2171,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2294,7 +2294,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Open reference - + Create external reference Create external reference @@ -2381,202 +2381,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected 선택 - - + + Remove 제거 - - + + Add 추가하기 - - - - + + + + - + - - + + Edit 편집 - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Components - + Create new component Create new component - + Name 이름 - - + + Type 유형 - + Thickness 두께 - + Offset 오프셋 - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2601,9 +2601,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2615,9 +2615,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2627,8 +2627,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3167,8 +3167,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3178,24 +3178,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description 설명 + + - - Value + - Unit 단위 @@ -3292,19 +3292,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3314,8 +3314,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3512,8 +3512,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Building @@ -3892,14 +3892,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3909,15 +3909,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3932,8 +3932,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4010,9 +4010,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4331,20 +4331,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4379,8 +4379,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4565,92 +4565,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6199,12 +6199,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6828,9 +6828,9 @@ Building creation aborted. Command - - + + Transform 변환하기 diff --git a/src/Mod/Arch/Resources/translations/Arch_nl.qm b/src/Mod/Arch/Resources/translations/Arch_nl.qm index 797629f5bf..eed83b1d5c 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_nl.qm and b/src/Mod/Arch/Resources/translations/Arch_nl.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_nl.ts b/src/Mod/Arch/Resources/translations/Arch_nl.ts index c8e92ec59b..a5f52578bd 100644 --- a/src/Mod/Arch/Resources/translations/Arch_nl.ts +++ b/src/Mod/Arch/Resources/translations/Arch_nl.ts @@ -41,7 +41,7 @@ Description - Omschrijving + Beschrijving @@ -169,7 +169,7 @@ Open - Openen + Open @@ -185,7 +185,7 @@ Comment - Commentaar + Opmerking @@ -208,7 +208,7 @@ Description - Omschrijving + Beschrijving @@ -533,7 +533,7 @@ Laat deze leeg om alle objecten uit het document te gebruiken Invert - Omkeren + Inverteren @@ -623,7 +623,7 @@ Laat deze leeg om alle objecten uit het document te gebruiken Preview - Voorbeeldweergave + Voorvertoning @@ -979,7 +979,7 @@ in plaats van de FreeCAD webwerkbank Offset - Verschuiving + Afwijking @@ -1078,7 +1078,7 @@ in plaats van de FreeCAD webwerkbank Solid - Volumemodel + Solid @@ -1357,8 +1357,8 @@ are placed in a 'Group' instead. DAE - + Export options Exportopties @@ -1407,7 +1407,7 @@ Als Netgen wordt gebruikt, zorg er dan voor dat het beschikbaar is. Tessellation - Mozaïekwerk + Betegeling @@ -1753,27 +1753,27 @@ Echter, sommige BIM programma's zullen deze conversie factor gebruiken bij het k StructuralSystem - StructuralSystem + ConstructieSysteem Create Structures From Selection - Create Structures From Selection + Structuren maken van selectie Please select the base object first and then the edges to use as extrusion paths - Please select the base object first and then the edges to use as extrusion paths + Selecteer eerst het basisobject en daarna de randen om deze te gebruiken als extrusie paden Create Structural System - Create Structural System + Creëer Structureel Systeem Please select at least an axis object - Please select at least an axis object + Selecteer ten minste één as object @@ -1784,7 +1784,7 @@ Echter, sommige BIM programma's zullen deze conversie factor gebruiken bij het k First point of the beam - First point of the beam + Eerste punt van de balk @@ -1808,40 +1808,40 @@ Echter, sommige BIM programma's zullen deze conversie factor gebruiken bij het k Tekenmodus - - + + Category Categorie - - - + + + Preset Voorinstelling - - - - + + + + Length Lengte - - + + Width Breedte - + Height Hoogte @@ -1857,8 +1857,8 @@ Echter, sommige BIM programma's zullen deze conversie factor gebruiken bij het k Switch L/W - + Con&tinue Con&tinue @@ -1875,8 +1875,8 @@ Echter, sommige BIM programma's zullen deze conversie factor gebruiken bij het k This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1888,42 +1888,42 @@ Echter, sommige BIM programma's zullen deze conversie factor gebruiken bij het k Reset nodes - Reset nodes + Herstel knooppunten Edit nodes - Edit nodes + Bewerk knooppunten Extend nodes - Extend nodes + Knooppunten uitbreiden Extends the nodes of this element to reach the nodes of another element - Extends the nodes of this element to reach the nodes of another element + Breidt de knooppunten van dit element uit om de knooppunten van een ander element te bereiken Connect nodes - Connect nodes + Knooppunten verbinden Connects nodes of this element with the nodes of another element - Connects nodes of this element with the nodes of another element + Verbindt knooppunten van dit element met het knooppunt van een ander element Toggle all nodes - Toggle all nodes + Alle knooppunten in-/ uitschakelen Toggles all structural nodes of the document on/off - Toggles all structural nodes of the document on/off + Alle structurele knooppunten van het document in-/ uitschakelen @@ -1945,43 +1945,43 @@ Echter, sommige BIM programma's zullen deze conversie factor gebruiken bij het k Choose another Structure object: - Choose another Structure object: + Kies een ander Structuur-object: The chosen object is not a Structure - The chosen object is not a Structure + Het gekozen object is geen Structuur-object The chosen object has no structural nodes - The chosen object has no structural nodes + Het gekozen object heeft geen structurele knooppunten One of these objects has more than 2 nodes - One of these objects has more than 2 nodes + Een van deze objecten heeft meer dan 2 knooppunten Unable to find a suitable intersection point - Unable to find a suitable intersection point + Kan geen geschikt snijpunt vinden Intersection found. - Intersection found. + Snijpunt gevonden. Intersection found. - Intersection found. + Snijpunt gevonden. @@ -1989,10 +1989,10 @@ Echter, sommige BIM programma's zullen deze conversie factor gebruiken bij het k Klaar - + Couldn't compute a shape - Couldn't compute a shape + Kon geen vorm berekenen @@ -2119,7 +2119,7 @@ Echter, sommige BIM programma's zullen deze conversie factor gebruiken bij het k Site - Zijde + Bouwterrein @@ -2143,9 +2143,8 @@ Note: You can change that in the preferences. There is no valid object in the selection. Site creation aborted. - There is no valid object in the selection. - -Site creation aborted. + Er is geen geldig object in de selectie. +Bouwterrein object wordt niet gemaakt. @@ -2165,8 +2164,8 @@ Site creation aborted. Onmogelijk om een dak te maken - + Please select a base object Selecteer een basisobject @@ -2270,7 +2269,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Front - Voorkant + Voorzijde @@ -2288,7 +2287,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Open referentie - + Create external reference Maak externe referentie @@ -2305,7 +2304,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Crossing point not found in profile. - Crossing point not found in profile. + Het kruispunt is niet gevonden in het profiel. @@ -2335,7 +2334,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Error: Unable to download from: - Error: Unable to download from: + Fout: Kan niet downloaden van: @@ -2360,7 +2359,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Window - Venster + Raam @@ -2375,202 +2374,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. - No window found. Cannot continue. + Geen raam gevonden. Kan niet doorgaan. - + Window options Vensteropties - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening - This window has no defined opening + Dit raam heeft geen gedefiniëerde opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected - Neem geselecteerde + Kies geselecteerde - - + + Remove Verwijderen - - + + Add Toevoegen - - - - + + + + - + - - + + Edit Bewerken - + Create/update component - Create/update component + Maak/update onderdeel - + Base 2D object Base 2D object - - + + Wires Draden - + Components Onderdelen - + Create new component - Create new component + Maak een nieuw onderdeel - + Name Naam - - + + Type Type - + Thickness Dikte - + Offset Verschuiving - + Hinge Hinge - + Opening mode Opening mode - - + + + default + standaard - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2595,9 +2594,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Assen @@ -2609,9 +2608,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Met succes geschreven @@ -2621,8 +2620,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3161,8 +3160,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Importeer CSV bestand - + Export CSV File Exporteren CSV bestand @@ -3172,24 +3171,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Omschrijving + + - - Value Waarde + - Unit Eenheid @@ -3286,19 +3285,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3308,8 +3307,8 @@ Floor creation aborted. Closing Sketch edit - + Component Onderdeel @@ -3506,8 +3505,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Gebouw @@ -3886,14 +3885,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3903,15 +3902,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3926,8 +3925,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4004,9 +4003,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4325,20 +4324,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4373,8 +4372,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object Het type van dit object @@ -4559,92 +4558,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6193,12 +6192,12 @@ Building creation aborted. Arch_Reference - + External reference Externe verwijzing - + Creates an external reference object Creates an external reference object @@ -6822,9 +6821,9 @@ Building creation aborted. Command - - + + Transform Transformeren diff --git a/src/Mod/Arch/Resources/translations/Arch_pl.qm b/src/Mod/Arch/Resources/translations/Arch_pl.qm index e7d9d5acbd..584208af5c 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_pl.qm and b/src/Mod/Arch/Resources/translations/Arch_pl.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_pl.ts b/src/Mod/Arch/Resources/translations/Arch_pl.ts index d606a6a593..8c8a883ac7 100644 --- a/src/Mod/Arch/Resources/translations/Arch_pl.ts +++ b/src/Mod/Arch/Resources/translations/Arch_pl.ts @@ -218,7 +218,7 @@ Property - Własność + Właściwości @@ -534,7 +534,7 @@ Uwaga dotycząca eksportu CSV: W programie Libreoffice plik CSV można połączy Invert - Odwróć wybór + Odwróć @@ -614,7 +614,7 @@ Uwaga dotycząca eksportu CSV: W programie Libreoffice plik CSV można połączy Start - Start + Odtwórz @@ -1370,8 +1370,8 @@ umieszczone w grupie. Budynki i kondygnacje są nadal importowane, jeśli jest i DAE - + Export options Opcje eksportu @@ -1420,7 +1420,7 @@ Jeśli używasz Netgen, upewnij się, że jest on dostępny. Tessellation - Tesselacja + Rozdrobnienie @@ -1484,7 +1484,7 @@ Stopniowanie lokalnego rozmiaru oczek siatki h(x) jest ograniczone przez |Δh(x) Optimize - Optymalizacja + Optymalizuj @@ -1824,40 +1824,40 @@ które pozwalają na wybór systemu miar przy otwieraniu pliku. Tryb kreślenia - - + + Category Kategoria - - - + + + Preset Nastawa wstępna - - - - + + + + Length Długość - - + + Width Szerokość - + Height Wysokość @@ -1873,8 +1873,8 @@ które pozwalają na wybór systemu miar przy otwieraniu pliku. Przełącz długość / szerokość - + Con&tinue Kon&tynuuj @@ -1891,8 +1891,8 @@ które pozwalają na wybór systemu miar przy otwieraniu pliku. Ta siatka nie jest poprawną bryłą - + Facemaker returned an error Kreator ścian zwrócił błąd @@ -2005,8 +2005,8 @@ które pozwalają na wybór systemu miar przy otwieraniu pliku. Gotowe - + Couldn't compute a shape Nie można obliczyć kształtu @@ -2130,7 +2130,7 @@ które pozwalają na wybór systemu miar przy otwieraniu pliku. Profile - Profil + Kontur @@ -2181,8 +2181,8 @@ Tworzenie terenu zostało przerwane. Nie można utworzyć dachu - + Please select a base object Wybierz obiekt bazowy @@ -2221,7 +2221,7 @@ Jeśli Rozpiętość = 0, wówczas Rozpiętość jest obliczana tak, aby wysoko Id - Numer ID + Identyfikator @@ -2304,7 +2304,7 @@ Jeśli Rozpiętość = 0, wówczas Rozpiętość jest obliczana tak, aby wysoko Otwórz odniesienie - + Create external reference Utwórz zewnętrzny odnośnik @@ -2391,202 +2391,202 @@ Jeśli Rozpiętość = 0, wówczas Rozpiętość jest obliczana tak, aby wysoko Wybierz ścianę na istniejącym obiekcie lub wybierz ustawienie wstępne - + Window not based on sketch. Window not aligned or resized. Okno nie jest oparte na szkicu. Okno nie zostało wyrównane lub nie zmieniono jego rozmiaru. - + No Width and/or Height constraint in window sketch. Window not resized. Brak wiązania szerokości i / lub wysokości w szkicu okna. Rozmiar okna nie zostanie zmieniony. - + No window found. Cannot continue. Nie znaleziono okna. Kontynuacja nie jest możliwa. - + Window options Opcje okna - + Auto include in host object Włącz automatycznie do obiektu gospodarza - + Sill height Wysokość parapetu - + This window has no defined opening To okno nie ma określonego sposobu otwierania - - - + + + Get selected edge Pobierz wybraną krawędź - + Unable to create component Nie można utworzyć komponentu - + Window elements Elementy okna - + Hole wire Szkielet otworu - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Numer polilinii definiującej otwór w obiekcie nadrzędnym. Wartość zero automatycznie przyjmie najdłuższą polilinię - + Pick selected Wybierz zaznaczone - - + + Remove Usuń - - + + Add Dodaj - - - - + + + + - + - - + + Edit - Edycja + Edytuj - + Create/update component Utwórz/uaktualnij komponent - + Base 2D object Podstawowy obiekt 2D - - + + Wires Polilinie - + Components - Fragmenty + Komponenty - + Create new component Utwórz nowy komponent - + Name Nazwa - - + + Type Typ - + Thickness Grubość - + Offset Odsunięcie - + Hinge Zawias - + Opening mode Rodzaj otwierania - - + + + default + domyślny - + If this is checked, the default Frame value of this window will be added to the value entered here Jeśli to pole jest zaznaczone, domyślna wartość ramki dla tego okna zostanie dodana do wartości wprowadzonej tutaj - + If this is checked, the default Offset value of this window will be added to the value entered here Jeśli to pole jest zaznaczone, domyślna wartość odsunięcia tego okna zostanie dodana do wartości wprowadzonej tutaj - + Press to retrieve the selected edge Naciśnij, aby odzyskać wybraną krawędź - - + + Invert opening direction Odwróć kierunek otwierania - - + + Invert hinge position Odwróć pozycję zawiasów @@ -2611,9 +2611,9 @@ Jeśli Rozpiętość = 0, wówczas Rozpiętość jest obliczana tak, aby wysoko Zaznacz przynajmniej jedną oś - + Axes Osie @@ -2625,9 +2625,9 @@ Jeśli Rozpiętość = 0, wówczas Rozpiętość jest obliczana tak, aby wysoko - + Successfully written Zapisano pomyślnie @@ -2637,8 +2637,8 @@ Jeśli Rozpiętość = 0, wówczas Rozpiętość jest obliczana tak, aby wysoko Wiązar - + Please select only one base object or none Proszę wybrać tylko jeden obiekt bazowy lub nic @@ -2980,7 +2980,7 @@ Jeśli Rozpiętość = 0, wówczas Rozpiętość jest obliczana tak, aby wysoko Rotation - Obrót + Obracanie @@ -3177,8 +3177,8 @@ Jeśli Rozpiętość = 0, wówczas Rozpiętość jest obliczana tak, aby wysoko Zaimportuj plik CSV - + Export CSV File Eksportuj plik CSV @@ -3188,24 +3188,24 @@ Jeśli Rozpiętość = 0, wówczas Rozpiętość jest obliczana tak, aby wysoko Nie można rozpoznać typu pliku + - Description Opis + + - - Value Wartość + - Unit Jednostka @@ -3302,19 +3302,19 @@ Tworzenie piętra zostało przerwane. ma nieprawidłowy kształt + - has a null shape ma kształt zerowy - + Toggle subcomponents Przełącz komponenty podrzędne @@ -3324,8 +3324,8 @@ Tworzenie piętra zostało przerwane. Zamykanie edycji szkicu - + Component Komponent @@ -3382,7 +3382,7 @@ Tworzenie piętra zostało przerwane. Property - Własność + Właściwości @@ -3397,7 +3397,7 @@ Tworzenie piętra zostało przerwane. New... - Nowy... + Nowy ... @@ -3428,7 +3428,7 @@ Tworzenie piętra zostało przerwane. Section - Przecięcie + Przekrój @@ -3514,7 +3514,7 @@ Tworzenie piętra zostało przerwane. Center - Wyśrodkowane + Środek @@ -3522,8 +3522,8 @@ Tworzenie piętra zostało przerwane. Wyśrodkuje płaszczyznę na obiektach znajdujących się powyżej - + Building Budynek @@ -3618,17 +3618,17 @@ Tworzenie budynku zostało przerwane. Alignment - Wyrównanie + Wyśrodkowane Left - Od lewej + W lewo Right - Od prawej + W prawo @@ -3902,14 +3902,14 @@ Tworzenie budynku zostało przerwane. Obrót bazy wokół osi narzędzia (używany, tylko jeśli parametr BasePerpendicularToTool ma wartość Prawda) - + The length of this element, if not based on a profile Długość tego elementu, jeśli nie jest oparta na profilu - + The width of this element, if not based on a profile Szerokość tego elementu, jeśli nie jest oparta na profilu @@ -3919,15 +3919,15 @@ Tworzenie budynku zostało przerwane. Wysokość lub głębokość wyciągnięcia tego elementu. Zostaw 0 dla automatycznej wartości - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Kierunek normalny wyciągnięcia tego obiektu (zostaw (0,0,0) dla automatycznego kierunku normalnego) - + The structural nodes of this element Węzły konstrukcyjne tego elementu @@ -3942,8 +3942,8 @@ Tworzenie budynku zostało przerwane. Odległość odsunięcia między linią środkową a linią węzłów - + The facemaker type to use to build the profile of this object Typ kreatora ścian używany do utworzenia profilu tego obiektu @@ -4020,9 +4020,9 @@ Tworzenie budynku zostało przerwane. Zapotrzebowanie na moc elektryczną osprzętu w Watach [W] + - The type of this building Typ tego budynku @@ -4341,20 +4341,20 @@ Tworzenie budynku zostało przerwane. Adres URL, który pokazuje tę lokalizację działki na mapie internetowej - + Other shapes that are appended to this object Inne kształty dołączone do obiektu - + Other shapes that are subtracted from this object Inne kształty odejmowane od obiektu - + The area of the projection of this object onto the XY plane Pole powierzchni rzutu tego obiektu na płaszczyznę XY @@ -4389,8 +4389,8 @@ Tworzenie budynku zostało przerwane. Opcjonalne odsunięcie między odniesieniem położenia modelu (0,0,0) a punktem wskazanym przez współrzędne geocentryczne - + The type of this object Typ tego obiektu @@ -4575,92 +4575,92 @@ Tworzenie budynku zostało przerwane. Jeśli parametr ma wartość Prawda, geometria jest zespolona, w przeciwnym razie, będzie to kształt złożony - + The objects that host this window Obiekty, w których znajduje się to okno - + The components of this window Komponenty tego okna - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. Głębokość otworu, które to okno tworzy w obiekcie obsługującym. Dla wartości 0 wyliczenia nastąpią automatycznie. - + An optional object that defines a volume to be subtracted from hosts of this window Opcjonalny obiekt określający objętość, która ma być odjęta od ścian dla tego okna - + The width of this window Szerokość tego okna - + The height of this window Wysokość tego okna - + The normal direction of this window Kierunek normalny tego okna - + The preset number this window is based on Numer wzoru, na podstawie której tworzone jest to okno - + The frame size of this window Rozmiar ramy tego okna - + The offset size of this window Wartość odsunięcia tego okna - + The area of this window Powierzchnia tego okna - + The width of louvre elements Szerokość elementów żaluzji - + The space between louvre elements Przestrzeń między elementami żaluzji - + Opens the subcomponents that have a hinge defined Otwiera podkomponenty, które mają zdefiniowany zawias - + The number of the wire that defines the hole. If 0, the value will be calculated automatically Numer polilinii definiującej otwór. Jeśli wynosi 0, wartość zostanie obliczona automatycznie - + Shows plan opening symbols if available Pokazuje symbole otwarcia planu, jeśli są dostępne - + Show elevation opening symbols if available Wyświetl symbole pokazujące rzędne, jeśli są dostępne - + The number of the wire that defines the hole. A value of 0 means automatic Numer polilinii definiującej otwór. Wartość 0 oznacza automatyczny @@ -6102,7 +6102,7 @@ Tworzenie budynku zostało przerwane. Utilities - &Narzędzia + Narzędzia @@ -6120,7 +6120,7 @@ Tworzenie budynku zostało przerwane. Annotation - Adnotacja + Opisy @@ -6209,12 +6209,12 @@ Tworzenie budynku zostało przerwane. Arch_Reference - + External reference Zewnętrzne odniesienie - + Creates an external reference object Tworzy obiekt zewnętrznego odniesienia @@ -6250,7 +6250,7 @@ Tworzenie budynku zostało przerwane. Axis System - System osi + Układ Osi @@ -6545,7 +6545,7 @@ Tworzenie budynku zostało przerwane. Schedule - Harmonogram + Obmiar @@ -6558,7 +6558,7 @@ Tworzenie budynku zostało przerwane. Level - Poziom + Kondygnacja @@ -6838,9 +6838,9 @@ Tworzenie budynku zostało przerwane. Command - - + + Transform Przemieszczenie @@ -6866,7 +6866,7 @@ Tworzenie budynku zostało przerwane. Import-Export - Import-Eksport + Import — Eksport diff --git a/src/Mod/Arch/Resources/translations/Arch_pt-BR.ts b/src/Mod/Arch/Resources/translations/Arch_pt-BR.ts index 4b34c37d87..4b453c0ee9 100644 --- a/src/Mod/Arch/Resources/translations/Arch_pt-BR.ts +++ b/src/Mod/Arch/Resources/translations/Arch_pt-BR.ts @@ -1351,8 +1351,8 @@ are placed in a 'Group' instead. DAE - + Export options Opções de Exportação @@ -1793,40 +1793,40 @@ No entanto, alguns aplicativos BIM usarão este fator para escolher com qual uni Modo de desenho - - + + Category Categoria - - - + + + Preset Predefinição - - - - + + + + Length Comprimento - - + + Width Largura - + Height Altura @@ -1842,8 +1842,8 @@ No entanto, alguns aplicativos BIM usarão este fator para escolher com qual uni Trocar L/W - + Con&tinue Continuar @@ -1860,8 +1860,8 @@ No entanto, alguns aplicativos BIM usarão este fator para escolher com qual uni Esta malha não é um sólido válido - + Facemaker returned an error O FaceMaker retornou um erro @@ -1973,8 +1973,8 @@ No entanto, alguns aplicativos BIM usarão este fator para escolher com qual uni Feito - + Couldn't compute a shape Não foi possível calcular uma forma. @@ -2143,8 +2143,8 @@ Criação de sítio abortada. Não foi possível criar um telhado - + Please select a base object Por favor, selecione um objeto de base @@ -2266,7 +2266,7 @@ Se a extensão = 0, ela será calculada de modo que a altura seja a mesma do per Abrir referência - + Create external reference Criar referência externa @@ -2353,202 +2353,202 @@ Se a extensão = 0, ela será calculada de modo que a altura seja a mesma do per Selecione uma face em um objeto existente ou escolha uma predefinição - + Window not based on sketch. Window not aligned or resized. Esta janela não é baseada em esboço. Ela não será alinhada ou redimensionada. - + No Width and/or Height constraint in window sketch. Window not resized. Nenhuma restrição de largura e/ou altura no esboço da janela. A janela não será redimensionada. - + No window found. Cannot continue. Nenhuma janela encontrada. Não é possível continuar. - + Window options Opções da janela - + Auto include in host object Incluir automaticamente um hospedeiro no objeto - + Sill height Altura do peitoril - + This window has no defined opening Essa janela não tem abertura definida - - - + + + Get selected edge Usar a aresta selecionada - + Unable to create component Não é possível criar componente - + Window elements Elementos da janela - + Hole wire Arame para o furo - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire O número do arame que define um furo no objeto hospedeiro. Um valor de zero selecionará automaticamente o maior arame - + Pick selected Usar seleção - - + + Remove Remover - - + + Add Adicionar - - - - + + + + - + - - + + Edit Editar - + Create/update component Criar/atualizar um componente - + Base 2D object Objeto base 2D - - + + Wires Arames - + Components Componentes - + Create new component Criar um novo componente - + Name Nome - - + + Type Tipo - + Thickness Espessura - + Offset Deslocamento - + Hinge Dobradiça - + Opening mode Modo de abertura - - + + + default + padrão - + If this is checked, the default Frame value of this window will be added to the value entered here Se isto estiver marcado, o valor padrão do quadro desta janela será adicionado ao valor inserido aqui - + If this is checked, the default Offset value of this window will be added to the value entered here Se isto estiver marcado, o valor de deslocamento padrão desta janela será adicionado ao valor inserido aqui - + Press to retrieve the selected edge Pressione para recuperar a aresta selecionada - - + + Invert opening direction Inverter direção de abertura - - + + Invert hinge position Inverter posição da articulação @@ -2573,9 +2573,9 @@ Se a extensão = 0, ela será calculada de modo que a altura seja a mesma do per Por favor, selecione pelo menos um eixo - + Axes Eixos @@ -2587,9 +2587,9 @@ Se a extensão = 0, ela será calculada de modo que a altura seja a mesma do per - + Successfully written Gravado com sucesso @@ -2599,8 +2599,8 @@ Se a extensão = 0, ela será calculada de modo que a altura seja a mesma do per Treliça - + Please select only one base object or none Por favor selecione apenas um ou nenhum objeto @@ -3139,8 +3139,8 @@ Se a extensão = 0, ela será calculada de modo que a altura seja a mesma do per Importar um arquivo CSV - + Export CSV File Exportar um arquivo CSV @@ -3150,24 +3150,24 @@ Se a extensão = 0, ela será calculada de modo que a altura seja a mesma do per Não é possível reconhecer o tipo do arquivo + - Description Descrição + + - - Value Valor + - Unit Unidade @@ -3256,19 +3256,19 @@ Floor creation aborted. tem uma forma inválida + - has a null shape tem uma forma nula - + Toggle subcomponents Alternar subcomponentes @@ -3278,8 +3278,8 @@ Floor creation aborted. Fechar edição do Esboço - + Component Componente @@ -3476,8 +3476,8 @@ Floor creation aborted. Centraliza o plano na lista de objetos acima - + Building Edificação @@ -3850,14 +3850,14 @@ Criação de edifício abortada. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3867,15 +3867,15 @@ Criação de edifício abortada. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3890,8 +3890,8 @@ Criação de edifício abortada. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -3968,9 +3968,9 @@ Criação de edifício abortada. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4289,20 +4289,20 @@ Criação de edifício abortada. Uma url que mostra este site em um site de mapeamento - + Other shapes that are appended to this object Outras formas que são acrescentadas a este objeto - + Other shapes that are subtracted from this object Outras formas que são subtraídas deste objeto - + The area of the projection of this object onto the XY plane A área da projeção deste objeto no plano XY @@ -4337,8 +4337,8 @@ Criação de edifício abortada. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4523,92 +4523,92 @@ Criação de edifício abortada. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window A área desta janela - + The width of louvre elements A largura dos elementos da veneziana - + The space between louvre elements O espaço entre os elementos da veneziana - + Opens the subcomponents that have a hinge defined Abre os subcomponentes que têm uma dobradiça definida - + The number of the wire that defines the hole. If 0, the value will be calculated automatically O número do arame que define o furo. Um valor de 0 significa automático - + Shows plan opening symbols if available Mostra símbolos de abertura em planta se disponível - + Show elevation opening symbols if available Mostra símbolos de abertura em elevação se disponível - + The number of the wire that defines the hole. A value of 0 means automatic O número do arame que define o furo. Um valor de 0 significa automática @@ -6157,12 +6157,12 @@ Criação de edifício abortada. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6786,9 +6786,9 @@ Criação de edifício abortada. Command - - + + Transform Transformar diff --git a/src/Mod/Arch/Resources/translations/Arch_pt-PT.ts b/src/Mod/Arch/Resources/translations/Arch_pt-PT.ts index 236b647c80..56dbed206a 100644 --- a/src/Mod/Arch/Resources/translations/Arch_pt-PT.ts +++ b/src/Mod/Arch/Resources/translations/Arch_pt-PT.ts @@ -1358,8 +1358,8 @@ são colocados num 'Grupo'. DAE - + Export options Opções de Exportação @@ -1806,40 +1806,40 @@ No entanto, alguns aplicativos BIM usarão este fator para escolher com qual uni Modo de desenho - - + + Category Categoria - - - + + + Preset Predefinição - - - - + + + + Length Comprimento - - + + Width Largura - + Height Altura @@ -1855,8 +1855,8 @@ No entanto, alguns aplicativos BIM usarão este fator para escolher com qual uni Trocar L/W - + Con&tinue Con&tinuar @@ -1873,8 +1873,8 @@ No entanto, alguns aplicativos BIM usarão este fator para escolher com qual uni Esta malha é um sólido inválido - + Facemaker returned an error O Facemaker retornou um erro @@ -1987,8 +1987,8 @@ No entanto, alguns aplicativos BIM usarão este fator para escolher com qual uni Concluído - + Couldn't compute a shape Não foi possível calcular uma forma @@ -2163,8 +2163,8 @@ Criação de site abortada. Não foi possível criar um telhado - + Please select a base object Por favor, selecione um objeto base @@ -2286,7 +2286,7 @@ Se executar = 0, então a execução é calculada de modo que a altura seja a me Abrir referência - + Create external reference Criar referência externa @@ -2373,202 +2373,202 @@ Se executar = 0, então a execução é calculada de modo que a altura seja a me Escolha uma face em um objeto existente ou selecione uma predefinição - + Window not based on sketch. Window not aligned or resized. Janela não baseada no esboço. Janela não alinhada ou redimensionada. - + No Width and/or Height constraint in window sketch. Window not resized. Nenhuma restrição de largura e/ou altura no esboço da janela. Janela não redimensionada. - + No window found. Cannot continue. Nenhuma janela encontrada. Não é possível continuar. - + Window options Opções de janela - + Auto include in host object Incluir automaticamente no objeto de host - + Sill height Altura do peitoril - + This window has no defined opening Essa janela não tem abertura definida - - - + + + Get selected edge Usar aresta selecionada - + Unable to create component Não é possível criar componente - + Window elements Elementos da janela - + Hole wire Fio de buraco - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire O número do traço que define um furo no objeto. Um valor de zero selecionará automaticamente o traço maior - + Pick selected Usar seleção - - + + Remove Remover - - + + Add Adicionar - - - - + + + + - + - - + + Edit Editar - + Create/update component Criar/atualizar componente - + Base 2D object Objeto base 2D - - + + Wires Wires - + Components Componentes - + Create new component Criar novo componente - + Name Nome - - + + Type Tipo - + Thickness Espessura - + Offset Deslocamento paralelo - + Hinge Hinge - + Opening mode Modo de abertura - - + + + default + padrão - + If this is checked, the default Frame value of this window will be added to the value entered here Se isto estiver marcado, o valor padrão da moldura desta janela será adicionado ao valor inserido aqui - + If this is checked, the default Offset value of this window will be added to the value entered here Se isto estiver marcado, o valor de deslocamento padrão desta janela será adicionado ao valor inserido aqui - + Press to retrieve the selected edge Pressione para recuperar a aresta selecionada - - + + Invert opening direction Inverter direção de abertura - - + + Invert hinge position Invert hinge position @@ -2593,9 +2593,9 @@ Se executar = 0, então a execução é calculada de modo que a altura seja a me Por favor, selecione pelo menos um eixo - + Axes Eixos @@ -2607,9 +2607,9 @@ Se executar = 0, então a execução é calculada de modo que a altura seja a me - + Successfully written Gravado com sucesso @@ -2619,8 +2619,8 @@ Se executar = 0, então a execução é calculada de modo que a altura seja a me Treliça - + Please select only one base object or none Por favor, selecione apenas um objeto base ou nenhum @@ -3159,8 +3159,8 @@ Se executar = 0, então a execução é calculada de modo que a altura seja a me Import CSV File - + Export CSV File Export CSV File @@ -3170,24 +3170,24 @@ Se executar = 0, então a execução é calculada de modo que a altura seja a me Não é possível reconhecer o tipo de arquivo + - Description Descrição + + - - Value Valor + - Unit Unidade @@ -3284,19 +3284,19 @@ Criação de piso abortada. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3306,8 +3306,8 @@ Criação de piso abortada. Closing Sketch edit - + Component Component @@ -3504,8 +3504,8 @@ Criação de piso abortada. Centers the plane on the objects in the list above - + Building Edifício @@ -3884,14 +3884,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3901,15 +3901,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3924,8 +3924,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4002,9 +4002,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4323,20 +4323,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4371,8 +4371,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4557,92 +4557,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6191,12 +6191,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6820,9 +6820,9 @@ Building creation aborted. Command - - + + Transform Transformar diff --git a/src/Mod/Arch/Resources/translations/Arch_ro.ts b/src/Mod/Arch/Resources/translations/Arch_ro.ts index 092622fca9..725632b16e 100644 --- a/src/Mod/Arch/Resources/translations/Arch_ro.ts +++ b/src/Mod/Arch/Resources/translations/Arch_ro.ts @@ -1361,8 +1361,8 @@ sunt plasate în schimb într-un 'Grup'. DAE - + Export options Opţiunile de export @@ -1814,40 +1814,40 @@ unitate cu care să lucreze la deschiderea fișierului. Mod desenare - - + + Category Categorie - - - + + + Preset Presetare - - - - + + + + Length Lungime - - + + Width Lăţime - + Height Înălţime @@ -1863,8 +1863,8 @@ unitate cu care să lucreze la deschiderea fișierului. Comutare L/W - + Con&tinue Continuare @@ -1881,8 +1881,8 @@ unitate cu care să lucreze la deschiderea fișierului. Această plasă este un solid nevalid - + Facemaker returned an error Facemaker a returnat o eroare @@ -1994,8 +1994,8 @@ unitate cu care să lucreze la deschiderea fișierului. Gata - + Couldn't compute a shape Nu s-a putut calcula o formă @@ -2170,8 +2170,8 @@ Crearea site-ului a fost anulată. Nu pot crea acoperișul - + Please select a base object Selectați un obiect de bază @@ -2293,7 +2293,7 @@ Dacă rulează = 0, atunci rularea este calculată astfel încât înălțimea s Referință deschisă - + Create external reference Creează o referință externă @@ -2380,202 +2380,202 @@ Dacă rulează = 0, atunci rularea este calculată astfel încât înălțimea s Alegeți o față pe un obiect existent sau selectați o presetare - + Window not based on sketch. Window not aligned or resized. Fereastra nu este bazată pe schiță. Fereastra nu este aliniată sau redimensionată. - + No Width and/or Height constraint in window sketch. Window not resized. Fără constrângeri de lățime și/sau înălțime în schița ferestrei. Fereastra nu este redimensionată. - + No window found. Cannot continue. Nici o fereastră găsită. Nu se poate continua. - + Window options Opțiuni fereastră - + Auto include in host object Includere automată în obiectul gazdă - + Sill height Înălțime de umplere - + This window has no defined opening Această fereastră nu are o deschidere definită - - - + + + Get selected edge Obține marginea selectată - + Unable to create component Imposibil de creat componenta - + Window elements Elemente fereastră - + Hole wire Gaura firului - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Numărul de fir care defineşte o gaură în obiectul gazdă. O valoare de zero va adopta automat firul cel mai mare - + Pick selected Choix sélectionné - - + + Remove Elimină - - + + Add Adaugă - - - - + + + + - + - - + + Edit Editare - + Create/update component Crează/actualizează componenta - + Base 2D object Obiectul 2D de bază - - + + Wires Fir - + Components Componente - + Create new component Creează o componentă nouă - + Name Nume - - + + Type Tip - + Thickness Grosime - + Offset Compensare - + Hinge Balama - + Opening mode Mod de deschidere - - + + + default + implicit - + If this is checked, the default Frame value of this window will be added to the value entered here În cazul în care acest lucru este verificat, valoarea de cadru implicită a acestei ferestre va fi adăugată la valoarea introdusă aici - + If this is checked, the default Offset value of this window will be added to the value entered here În cazul în care acest lucru este bifat, valoarea implicită Offset a acestei ferestre va fi adăugată la valoarea introdusă aici - + Press to retrieve the selected edge Apăsați pentru a prelua marginea selectată - - + + Invert opening direction Inversează direcția de zoom - - + + Invert hinge position Inverseaza pozitia balamalei @@ -2600,9 +2600,9 @@ Dacă rulează = 0, atunci rularea este calculată astfel încât înălțimea s Selectați cel puțin o axă - + Axes Axe @@ -2614,9 +2614,9 @@ Dacă rulează = 0, atunci rularea este calculată astfel încât înălțimea s - + Successfully written Scris cu succes @@ -2626,8 +2626,8 @@ Dacă rulează = 0, atunci rularea este calculată astfel încât înălțimea s Adevărat - + Please select only one base object or none Vă rugăm să selectaţi un singur obiect de bază sau niciunul @@ -3166,8 +3166,8 @@ Dacă rulează = 0, atunci rularea este calculată astfel încât înălțimea s Importă fișierul CSV - + Export CSV File Exportă fișierul CSV @@ -3177,24 +3177,24 @@ Dacă rulează = 0, atunci rularea este calculată astfel încât înălțimea s Imposibil de recunoscut acest tip de fișier + - Description Descriere + + - - Value Valoare + - Unit Unitate @@ -3291,19 +3291,19 @@ Crearea etajelor a fost întreruptă. are o formă invalidă + - has a null shape are o formă nulă - + Toggle subcomponents Comutare subcomponente @@ -3313,8 +3313,8 @@ Crearea etajelor a fost întreruptă. Închide editarea schiței - + Component Componentă @@ -3511,8 +3511,8 @@ Crearea etajelor a fost întreruptă. Centrează planul pe obiectele din lista de mai sus - + Building Construcţia @@ -3891,14 +3891,14 @@ Crearea de construcții a fost întreruptă. Rotația de bază în jurul axei sculei (utilizată numai dacă BasePerpendicularTool este adevărat) - + The length of this element, if not based on a profile Lungimea acestui element, dacă nu este bazat pe un profil - + The width of this element, if not based on a profile Lățimea acestui element, dacă nu este bazat pe un profil @@ -3908,15 +3908,15 @@ Crearea de construcții a fost întreruptă. Înălțimea sau adâncimea de extrudare a acestui element. Păstrați 0 pentru automat - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Direcția normală de extrudare a acestui obiect (păstrează (0,0,0) pentru normalizare automată) - + The structural nodes of this element Nodurile structurale ale acestui element @@ -3931,8 +3931,8 @@ Crearea de construcții a fost întreruptă. Compensează distanța dintre linia centrală și linia de noduri - + The facemaker type to use to build the profile of this object Tipul de facemaker folosit pentru a construi profilul acestui obiect @@ -4009,9 +4009,9 @@ Crearea de construcții a fost întreruptă. Energia electrică necesară acestui echipament în wați + - The type of this building Tipul acestei clădiri @@ -4330,20 +4330,20 @@ Crearea de construcții a fost întreruptă. Un URL care afișează acest site într-un site de cartografiere - + Other shapes that are appended to this object Alte forme care sunt atașate la acest obiect - + Other shapes that are subtracted from this object Alte forme care sunt scăzute din acest obiect - + The area of the projection of this object onto the XY plane Suprafața proiecției acestui obiect în planul XY @@ -4378,8 +4378,8 @@ Crearea de construcții a fost întreruptă. Un opţional offset între originea modelului (0,0,0) şi punctul indicat de geocoordonate - + The type of this object Tipul acestui obiect @@ -4564,92 +4564,92 @@ Crearea de construcții a fost întreruptă. Dacă este adevărat, geometria este fuzionată, altfel un compus - + The objects that host this window Obiectele care găzduiesc această fereastră - + The components of this window Componentele acestei ferestre - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. Adâncimea gaurii pe care o face această fereastră în obiectul gazdă. Dacă 0, valoarea va fi calculată automat. - + An optional object that defines a volume to be subtracted from hosts of this window Un obiect opțional care definește un volum pentru a fi scăzut din gazdele acestei ferestre - + The width of this window Lățimea acestei ferestre - + The height of this window Înălţimea acestei ferestre - + The normal direction of this window Direcția normală a acestei ferestre - + The preset number this window is based on Numărul presetării pe care această fereastră este bazată - + The frame size of this window Dimensiunea cadrului acestei ferestre - + The offset size of this window Dimensiunea offset a acestei ferestre - + The area of this window Zona acestei ferestre - + The width of louvre elements Lăţimea elementelor de lup - + The space between louvre elements Spaţiul dintre elementele de lup - + Opens the subcomponents that have a hinge defined Deschide subcomponentele care au o balamală definită - + The number of the wire that defines the hole. If 0, the value will be calculated automatically Numărul de fir care definește gaura. Dacă 0, valoarea va fi calculată automat - + Shows plan opening symbols if available Arată simbolurile de deschidere a planului dacă este disponibil - + Show elevation opening symbols if available Arată simbolurile de deschidere a planului dacă este disponibil - + The number of the wire that defines the hole. A value of 0 means automatic Numărul de fir care definește gaura. O valoare de 0 înseamnă automat @@ -6198,12 +6198,12 @@ Crearea de construcții a fost întreruptă. Arch_Reference - + External reference Referință externă - + Creates an external reference object Creează un obiect de referință extern @@ -6827,9 +6827,9 @@ Crearea de construcții a fost întreruptă. Command - - + + Transform Transformare diff --git a/src/Mod/Arch/Resources/translations/Arch_ru.qm b/src/Mod/Arch/Resources/translations/Arch_ru.qm index eabca00157..bc11a3e991 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_ru.qm and b/src/Mod/Arch/Resources/translations/Arch_ru.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_ru.ts b/src/Mod/Arch/Resources/translations/Arch_ru.ts index d2d96c08b1..c36b827a45 100644 --- a/src/Mod/Arch/Resources/translations/Arch_ru.ts +++ b/src/Mod/Arch/Resources/translations/Arch_ru.ts @@ -185,7 +185,7 @@ Comment - Закомментировать + Комментарий @@ -562,7 +562,7 @@ Leave blank to use all objects from the document Remove - Удалить + Убрать @@ -572,7 +572,7 @@ Leave blank to use all objects from the document Tolerance - Точность + Допуск @@ -612,7 +612,7 @@ Leave blank to use all objects from the document Start - Запустить + Запуск @@ -980,7 +980,7 @@ instead of the FreeCAD web workbench Windows - Окна + Windows @@ -1074,7 +1074,7 @@ instead of the FreeCAD web workbench Solid - Твердое тело + Твердотельный объект @@ -1352,8 +1352,8 @@ are placed in a 'Group' instead. DAE - + Export options Параметры экспорта @@ -1391,7 +1391,7 @@ If using Netgen, make sure that it is available. Netgen - Netgen + Нетген @@ -1401,7 +1401,7 @@ If using Netgen, make sure that it is available. Tessellation - Тесселяция + Мозаика @@ -1792,40 +1792,40 @@ unit to work with when opening the file. Режим рисования - - + + Category Категория - - - + + + Preset Предустановка - - - - + + + + Length Длина - - + + Width Ширина - + Height Высота @@ -1841,8 +1841,8 @@ unit to work with when opening the file. Перекл. Длина/Высота - + Con&tinue &Продолжить @@ -1859,8 +1859,8 @@ unit to work with when opening the file. Эта сетка является недействительным телом - + Facemaker returned an error Генератор граней вернул ошибку @@ -1973,8 +1973,8 @@ unit to work with when opening the file. Готово - + Couldn't compute a shape Не удалось вычислить форму @@ -2149,8 +2149,8 @@ Site creation aborted. Невозможно создать крышу - + Please select a base object Пожалуйста, выберите базовый объект @@ -2189,7 +2189,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Id - + Идентификатор @@ -2229,7 +2229,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Cutting - Обрезка + Резание @@ -2272,7 +2272,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Открыть ссылку - + Create external reference Создать внешнюю ссылку @@ -2359,209 +2359,209 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Выберите грань на существующем объекте или выберите преднастройку - + Window not based on sketch. Window not aligned or resized. Окно не основано на эскизе. Невозможно выровнять или изменить его размер. - + No Width and/or Height constraint in window sketch. Window not resized. В эскизе окна нет ограничений ширины и/или высоты. Окно не изменилось. - + No window found. Cannot continue. Окно не найдено. Невозможно продолжить. - + Window options Параметры окна - + Auto include in host object Автоматически добавлять в исходный объект - + Sill height Высота подоконника - + This window has no defined opening Это окно не имеет определённого проёма - - - + + + Get selected edge Выбрать край - + Unable to create component Невозможно создать компонент - + Window elements Элементы окна - + Hole wire Направляющая отверстия - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Число направляющих, которое определяет отверстие в основном объекте. При нулевом значении автоматически принимается самая большая направляющая - + Pick selected Указать выбранное - - + + Remove Удалить - - + + Add Добавить - - - - + + + + - + - - + + Edit Редактировать - + Create/update component Создать/обновить компонент - + Base 2D object Базовый 2D-объект - - + + Wires Направляющие - + Components Компоненты - + Create new component Создать новый компонент - + Name Название - - + + Type Тип - + Thickness Толщина - + Offset Смещение - + Hinge Петли - + Opening mode Способ открывания - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here Если этот флажок установлен, для этого окна будут добавлены значения рамы по умолчанию к введенному здесь значению - + If this is checked, the default Offset value of this window will be added to the value entered here Если флажок установлен, для этого окна будут добавлены значения смещения по умолчанию к введённому здесь значению - + Press to retrieve the selected edge Нажмите, чтобы поставить выделенный край - - + + Invert opening direction Обратить направление открытия - - + + Invert hinge position Обратить положение петель Axis System - Система осей + Система Осей @@ -2579,9 +2579,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Пожалуйста, выберите по крайней мере одну ось - + Axes Оси @@ -2593,9 +2593,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Успешно записано @@ -2605,8 +2605,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Ферма - + Please select only one base object or none Пожалуйста, выберите только один базовый объект или ничего @@ -3145,8 +3145,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Импортировать файл CSV - + Export CSV File Экспортировать файл CSV @@ -3156,24 +3156,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Не удается определить тип файла + - Description Описание + + - - Value Значение + - Unit Единица измерения @@ -3270,19 +3270,19 @@ Floor creation aborted. имеет неправильную фигуру + - has a null shape Имеет пустую форму - + Toggle subcomponents Переключить подкомпоненты @@ -3292,8 +3292,8 @@ Floor creation aborted. Закрытие редактирования эскиза - + Component Компонент @@ -3396,7 +3396,7 @@ Floor creation aborted. Section - Разделить + Разрез (Сечение) @@ -3490,8 +3490,8 @@ Floor creation aborted. Центровать плоскость по объектам в списке - + Building Здание @@ -3529,7 +3529,7 @@ Building creation aborted. Space - Зона + Пространство @@ -3707,7 +3707,7 @@ Building creation aborted. Total - Итог + Всего @@ -3870,14 +3870,14 @@ Building creation aborted. Вращение базы вокруг оси инструмента (используется только если BasePerpendicularToTool равен True) - + The length of this element, if not based on a profile Длина элемента, если не определена в профиле - + The width of this element, if not based on a profile Ширина элемента, если она не определена в профиле @@ -3887,15 +3887,15 @@ Building creation aborted. Высота или глубина выдавливания элемента. Задайте 0 для автоматического определения - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Нормальное направление выдавливания для этого объекта (оставить (0,0,0) для задания автоматической нормали) - + The structural nodes of this element Структурные узлы этого элемента @@ -3910,8 +3910,8 @@ Building creation aborted. Расстояние смещения между осевой и узловой линией - + The facemaker type to use to build the profile of this object Facemaker тип, используемый для построения профиля объекта @@ -3988,9 +3988,9 @@ Building creation aborted. Электрическая мощность в ваттах, необходимая оборудованию + - The type of this building Тип здания @@ -4309,20 +4309,20 @@ Building creation aborted. Ссылка для показа участка на картографическом сайте - + Other shapes that are appended to this object Другие фигуры, добавленные к объекту - + Other shapes that are subtracted from this object Другие фигуры, которые вычитаются из этого объекта - + The area of the projection of this object onto the XY plane Площадь проекции объекта на плоскость XY @@ -4357,8 +4357,8 @@ Building creation aborted. Опционально смещение между началом координат модели (0,0,0) и точкой, обозначенную геокоординатами - + The type of this object Тип данного объекта @@ -4543,92 +4543,92 @@ Building creation aborted. Если истина, геометрия объединённая, иначе составная - + The objects that host this window Объекты, содержащие данное окно - + The components of this window Компоненты данного окна - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. Глубина проёма в объекте, содержащем данное окно. Если 0, то значение будет вычисляться автоматически. - + An optional object that defines a volume to be subtracted from hosts of this window Необязательный объект, определяющий объём, который будет вычитаться из объектов, содержащих данное окно - + The width of this window Ширина окна - + The height of this window Высота данного окна - + The normal direction of this window Направление нормали данного окна - + The preset number this window is based on Номер предустановки, на котором это окно основано - + The frame size of this window Размер рамы данного окна - + The offset size of this window Смещение данного окна - + The area of this window Площадь окна - + The width of louvre elements Ширина жалюзи - + The space between louvre elements Расстояние между элементами жалюзи - + Opens the subcomponents that have a hinge defined Открывает подкомпоненты, которые имеют петли - + The number of the wire that defines the hole. If 0, the value will be calculated automatically Количество ломанных линий, определяющих отверстие. Значение 0 означает автоматическое определение - + Shows plan opening symbols if available Показывает символы открытия плана, если они доступны - + Show elevation opening symbols if available Показать символы показа фасада, если они доступны - + The number of the wire that defines the hole. A value of 0 means automatic Номер направляющей, определяющей отверстие. Значение 0 означает автоматическое @@ -6008,7 +6008,7 @@ Building creation aborted. Structure tools - Инструменты конструкции + Инструменты структуры @@ -6048,12 +6048,12 @@ Building creation aborted. Draft annotation tools - Инструменты заметок для эскиза + Инструменты аннотации черновика Draft modification tools - Инструменты модификации черновика + Инструменты изменения чертежа @@ -6070,7 +6070,7 @@ Building creation aborted. Utilities - Вспомогательные + Утилиты @@ -6177,12 +6177,12 @@ Building creation aborted. Arch_Reference - + External reference Внешняя ссылка - + Creates an external reference object Создает ссылку на внешней объект @@ -6270,7 +6270,7 @@ Building creation aborted. Space - Зона + Пространство @@ -6417,7 +6417,7 @@ Building creation aborted. Panel Cut - Нарезка панелей + Вырез панели @@ -6430,7 +6430,7 @@ Building creation aborted. Panel Sheet - Лист панелей + Лист Панели @@ -6465,7 +6465,7 @@ Building creation aborted. Curtain Wall - Фасад + Навесная стена @@ -6513,7 +6513,7 @@ Building creation aborted. Schedule - Опись + Планирование @@ -6806,11 +6806,11 @@ Building creation aborted. Command - - + + Transform - Переместить + Преобразовать @@ -6827,7 +6827,7 @@ Building creation aborted. Draft - Осадка + Черновик diff --git a/src/Mod/Arch/Resources/translations/Arch_sl.qm b/src/Mod/Arch/Resources/translations/Arch_sl.qm index 7efe776c15..b81437ad2e 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_sl.qm and b/src/Mod/Arch/Resources/translations/Arch_sl.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_sl.ts b/src/Mod/Arch/Resources/translations/Arch_sl.ts index 2cb842ecff..7bac7732c2 100644 --- a/src/Mod/Arch/Resources/translations/Arch_sl.ts +++ b/src/Mod/Arch/Resources/translations/Arch_sl.ts @@ -31,7 +31,7 @@ Name - Ime + Naziv @@ -139,7 +139,7 @@ Idle - Nedejaven + Nedejavno @@ -344,12 +344,12 @@ Pustite prazno, če želite uporabiti vse predmete v dokumentu Import - Uvozi + Uvoz Export - Export + Izvoz @@ -379,7 +379,7 @@ Pustite prazno, če želite uporabiti vse predmete v dokumentu Dialog - Pog. okno + Pogovorno okno @@ -613,12 +613,12 @@ Pustite prazno, če želite uporabiti vse predmete v dokumentu Start - Začni + Začetek Stop - Ustavi + Končanje @@ -1361,8 +1361,8 @@ Ne glede na to, pa se "Stavbe" in "Nadstropja" uvozijo, če jih je več od enega DAE - + Export options Možnosti izvoza @@ -1741,7 +1741,7 @@ da se pri odpiranju datoteke izbere delovne enote. Structure - Struktura + Konstrukcija @@ -1813,40 +1813,40 @@ da se pri odpiranju datoteke izbere delovne enote. Risalni način - - + + Category - Kategorija + Skupina - - - + + + Preset Prednastavljeno - - - - + + + + Length Dolžina - - + + Width Širina - + Height Višina @@ -1862,8 +1862,8 @@ da se pri odpiranju datoteke izbere delovne enote. Preklopi D/Š - + Con&tinue &Nadaljuj @@ -1880,8 +1880,8 @@ da se pri odpiranju datoteke izbere delovne enote. To ploskovje ni veljavno telo - + Facemaker returned an error Ploskovnik je vrnil napako @@ -1994,15 +1994,15 @@ da se pri odpiranju datoteke izbere delovne enote. Končano - + Couldn't compute a shape Ni bilo možno izračunati oblike Equipment - oprema + Oprema @@ -2170,8 +2170,8 @@ Ustvarjanje lokacije prekinjeno. Strehe ni bilo mogoče ustvariti - + Please select a base object Izberite osnovni objekt @@ -2293,7 +2293,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Odpri sklic - + Create external reference Ustvari zunanji sklic @@ -2380,202 +2380,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Izberite ploskev na obstoječem predmetu ali izberite prednastavitev - + Window not based on sketch. Window not aligned or resized. Okno ne izhaja iz očrta. Okno ni priravnano ali prevelikosteno. - + No Width and/or Height constraint in window sketch. Window not resized. Okenski očrt nima širinskega in/ali višinskega omejila. Oknu ni spremenjena velikost. - + No window found. Cannot continue. Nobenega okna ni mogoče najti. Ni mogoče nadaljevati. - + Window options Možnosti okna - + Auto include in host object Samodejno vključi v gostiteljski predmet - + Sill height Višina okenske police - + This window has no defined opening To okno nima določenega odpiranja - - - + + + Get selected edge Dobi izbrani rob - + Unable to create component Sestavine ni mogoče ustvariti - + Window elements Deli oken - + Hole wire Črtovje preboja - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire Številka črtovja, ki določa preboj v gostuječem predmetu. Pri vrednosti nič bo samodejno upoštevano največje črtovje - + Pick selected Izberi označeno - - + + Remove Odstrani - - + + Add Dodaj - - - - + + + + - + - - + + Edit Uredi - + Create/update component Ustvari/posodobi sestavno - + Base 2D object Izhodiščni 2D predmet - - + + Wires Črtovja - + Components Sestavine - + Create new component Ustvari novo sestavino - + Name Ime - - + + Type Vrsta - + Thickness Debelina - + Offset Odmik - + Hinge Tečaj - + Opening mode Način odpiranja - - + + + default + privzeto - + If this is checked, the default Frame value of this window will be added to the value entered here Če je to označeno, bo privzeta vrednost okvirja tega okna dodana vrednosti, vnešeni tukaj - + If this is checked, the default Offset value of this window will be added to the value entered here Če je to označeno, bo privzeta vrednost odmika tega okna dodana vrednosti, vnešeni tukaj - + Press to retrieve the selected edge Pritisnite da povrnete izbrani rob - - + + Invert opening direction Obrni smer odpiranja - - + + Invert hinge position Obrni položaj tečajev @@ -2600,9 +2600,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Izberite vsaj eno os - + Axes Osi @@ -2614,9 +2614,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Uspešno zapisano @@ -2626,8 +2626,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Paličje - + Please select only one base object or none Izberite le en osnovni predmet ali pa nobenega @@ -3166,8 +3166,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Uvozi CSV datoteko - + Export CSV File Izvozi CSV datoteko @@ -3177,24 +3177,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Te vrste datoteke ni mogoče prepoznati + - Description Opis + + - - Value Vrednost + - Unit Enota @@ -3291,19 +3291,19 @@ Ustvarjanje etaže prekinjeno. ima neveljavno obliko + - has a null shape ima ničelno obliko - + Toggle subcomponents Preklapljanje podsestavin @@ -3313,8 +3313,8 @@ Ustvarjanje etaže prekinjeno. Zapiranje urejanja očrta - + Component Sestavina @@ -3511,10 +3511,10 @@ Ustvarjanje etaže prekinjeno. Usredini ravnino na predmete z zgornjega seznama - + Building - Stavba + Zgradba @@ -3832,7 +3832,7 @@ Ustvarjanj stavbe prekinjeno. Structure - Struktura + Konstrukcija @@ -3889,14 +3889,14 @@ Ustvarjanj stavbe prekinjeno. Sukanje osnove okoli osi orodja (uporablja se le, če je Pravokotnost osnove na orodje omogočena) - + The length of this element, if not based on a profile Dolžina tega gradnika, če ne izhaja iz preseka - + The width of this element, if not based on a profile Širina tega gradnika, če ne izhaja iz preseka @@ -3906,15 +3906,15 @@ Ustvarjanj stavbe prekinjeno. Višina oziroma globina izriva tega gradnika. Pustite 0 za samodejnost - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) Normala smeri izrivanja tega predmeta (pustite (0,0,0) za samodejno smer) - + The structural nodes of this element Konstrukcijska vozlišča tega gradnika @@ -3929,8 +3929,8 @@ Ustvarjanj stavbe prekinjeno. Odmik med središčnico in vozliščno črto - + The facemaker type to use to build the profile of this object Vrsta "facemaker" uporabljena za izgradnjo profila predmeta @@ -4007,9 +4007,9 @@ Ustvarjanj stavbe prekinjeno. Električna energija v vatih, ki jo ta oprema rabi + - The type of this building Vrsta te zgradbe @@ -4328,20 +4328,20 @@ Ustvarjanj stavbe prekinjeno. URL, ki prikazuje to lokacijo na spletnem zemljevidu - + Other shapes that are appended to this object Druge oblike, ki so pripete temu predmetu - + Other shapes that are subtracted from this object Druge oblike, ki so odštete od tega predmeta - + The area of the projection of this object onto the XY plane Površina preslikave tega predmeta na ravnino XY @@ -4376,8 +4376,8 @@ Ustvarjanj stavbe prekinjeno. Neobvezen odmik med izhodiščem modela (0,0,0) in točko podano v zemljepisnih sorednicah - + The type of this object Vrsta tega predmeta @@ -4562,92 +4562,92 @@ Ustvarjanj stavbe prekinjeno. Če drži, potem je geometrija spojena, sicer pa je sestav - + The objects that host this window Predmeti, katerih del je to okno - + The components of this window Sestavine tega okna - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. Globina luknje za okno v predmetu, v katerega je vstavljeno. Pustite 0 za samodejno določitev. - + An optional object that defines a volume to be subtracted from hosts of this window Neobvezen predmet, ki določa prostornino, odvzeto od predmetov, v katere je vstavljeno to okno - + The width of this window Širina tega okna - + The height of this window Višina tega okna - + The normal direction of this window Običajna smer tega okna - + The preset number this window is based on Privzeto število, na podlaga je izrisano to okno - + The frame size of this window Velikost okenskega okvirja - + The offset size of this window Odmik od okna - + The area of this window Območje okna - + The width of louvre elements Širina lamelnih senčil - + The space between louvre elements Razmik med lamelami senčila - + Opens the subcomponents that have a hinge defined Odpre podsestavine, ki imajo tečaje - + The number of the wire that defines the hole. If 0, the value will be calculated automatically Številka črtovja, ki določa preboj. Če je 0, se vrednost samodejno izračuna - + Shows plan opening symbols if available Prikazovanje tlorisnih oznak odprtin, če so razpoložljive - + Show elevation opening symbols if available Prikazovanje oznak odprtin v pogledu, če so te razpoložljive - + The number of the wire that defines the hole. A value of 0 means automatic Število črtovij, ki določajo preboj. Če je 0, se vrednost samodejno izračuna @@ -4942,7 +4942,7 @@ Ustvarjanj stavbe prekinjeno. The color of this material - Barva materiala + Barva te snovi @@ -5980,7 +5980,7 @@ Ustvarjanj stavbe prekinjeno. Equipment - oprema + Oprema @@ -6006,7 +6006,7 @@ Ustvarjanj stavbe prekinjeno. BuildingPart - Stavbni del + Stavbni Del @@ -6107,7 +6107,7 @@ Ustvarjanj stavbe prekinjeno. Annotation - Opis + Pripis @@ -6133,7 +6133,7 @@ Ustvarjanj stavbe prekinjeno. Profile - Profil + Presek @@ -6196,12 +6196,12 @@ Ustvarjanj stavbe prekinjeno. Arch_Reference - + External reference Zunanji sklic - + Creates an external reference object Ustvari predmet zunanjega sklica @@ -6211,7 +6211,7 @@ Ustvarjanj stavbe prekinjeno. Frame - Ogrodje + Okvir @@ -6276,7 +6276,7 @@ Ustvarjanj stavbe prekinjeno. Stairs - Stopnišče + Stopnice @@ -6342,7 +6342,7 @@ Ustvarjanj stavbe prekinjeno. Material tools - Orodja snovi + Snovna orodja @@ -6825,9 +6825,9 @@ Ustvarjanj stavbe prekinjeno. Command - - + + Transform Preoblikuj diff --git a/src/Mod/Arch/Resources/translations/Arch_sr-CS.ts b/src/Mod/Arch/Resources/translations/Arch_sr-CS.ts index 873a34bc3a..ce90b7fdae 100644 --- a/src/Mod/Arch/Resources/translations/Arch_sr-CS.ts +++ b/src/Mod/Arch/Resources/translations/Arch_sr-CS.ts @@ -1361,8 +1361,8 @@ are placed in a 'Group' instead. DAE - + Export options Opcije izvoza @@ -1814,40 +1814,40 @@ jedinicama treba raditi prilikom otvaranja datoteke. Drawing mode - - + + Category Kategorija - - - + + + Preset Preset - - - - + + + + Length Dužina - - + + Width Širina - + Height Visina @@ -1863,8 +1863,8 @@ jedinicama treba raditi prilikom otvaranja datoteke. Switch L/W - + Con&tinue Con&tinue @@ -1881,8 +1881,8 @@ jedinicama treba raditi prilikom otvaranja datoteke. This mesh is an invalid solid - + Facemaker returned an error Tvorac stranica je vratio grešku @@ -1995,8 +1995,8 @@ jedinicama treba raditi prilikom otvaranja datoteke. Gotovo - + Couldn't compute a shape Couldn't compute a shape @@ -2171,8 +2171,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2294,7 +2294,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Otvori referencu - + Create external reference Create external reference @@ -2381,202 +2381,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Izaberi - - + + Remove Ukloni - - + + Add Dodaj - - - - + + + + - + - - + + Edit Uredi - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Komponente - + Create new component Create new component - + Name Ime - - + + Type Vrsta - + Thickness Debljina - + Offset Odmak - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2601,9 +2601,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2615,9 +2615,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2627,8 +2627,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3167,8 +3167,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3178,24 +3178,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Opis + + - - Value Vrednost + - Unit Merna jedinica @@ -3292,19 +3292,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3314,8 +3314,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3512,8 +3512,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Building @@ -3892,14 +3892,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3909,15 +3909,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3932,8 +3932,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object Vrsta tvorca stranica koja će se koristiti za pravljenje profila ovog objekta @@ -4010,9 +4010,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4331,20 +4331,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4379,8 +4379,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4565,92 +4565,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6199,12 +6199,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6828,9 +6828,9 @@ Building creation aborted. Command - - + + Transform Pomeri diff --git a/src/Mod/Arch/Resources/translations/Arch_sr.ts b/src/Mod/Arch/Resources/translations/Arch_sr.ts index a00af6a89b..d0d0f1ccc8 100644 --- a/src/Mod/Arch/Resources/translations/Arch_sr.ts +++ b/src/Mod/Arch/Resources/translations/Arch_sr.ts @@ -1361,8 +1361,8 @@ are placed in a 'Group' instead. DAE - + Export options Опције извоза @@ -1814,40 +1814,40 @@ unit to work with when opening the file. Drawing mode - - + + Category Категорија - - - + + + Preset Preset - - - - + + + + Length Дужина - - + + Width Ширина - + Height Висина @@ -1863,8 +1863,8 @@ unit to work with when opening the file. Switch L/W - + Con&tinue Con&tinue @@ -1881,8 +1881,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Творац страница је вратио грешку @@ -1995,8 +1995,8 @@ unit to work with when opening the file. Готово - + Couldn't compute a shape Couldn't compute a shape @@ -2171,8 +2171,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2294,7 +2294,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Отвори референцу - + Create external reference Create external reference @@ -2381,202 +2381,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Изабери - - + + Remove Уклони - - + + Add Додај - - - - + + + + - + - - + + Edit Уреди - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Компоненте - + Create new component Create new component - + Name Име - - + + Type Врста - + Thickness Дебљина - + Offset Одмак - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2601,9 +2601,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2615,9 +2615,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2627,8 +2627,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3167,8 +3167,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3178,24 +3178,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Опис + + - - Value Вредност + - Unit Мерна јединица @@ -3292,19 +3292,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3314,8 +3314,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3512,8 +3512,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Building @@ -3892,14 +3892,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3909,15 +3909,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3932,8 +3932,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object Врста творца страница која ће се користити за прављење профила овог објекта @@ -4010,9 +4010,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4331,20 +4331,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4379,8 +4379,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4565,92 +4565,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6199,12 +6199,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6828,9 +6828,9 @@ Building creation aborted. Command - - + + Transform Помери diff --git a/src/Mod/Arch/Resources/translations/Arch_sv-SE.qm b/src/Mod/Arch/Resources/translations/Arch_sv-SE.qm index ae89be2ce3..0ff8f10d08 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_sv-SE.qm and b/src/Mod/Arch/Resources/translations/Arch_sv-SE.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_sv-SE.ts b/src/Mod/Arch/Resources/translations/Arch_sv-SE.ts index 85706def29..b2193d4d03 100644 --- a/src/Mod/Arch/Resources/translations/Arch_sv-SE.ts +++ b/src/Mod/Arch/Resources/translations/Arch_sv-SE.ts @@ -1360,8 +1360,8 @@ are placed in a 'Group' instead. DAE - + Export options Alternativ för exportering @@ -1812,40 +1812,40 @@ unit to work with when opening the file. Drawing mode - - + + Category Kategori - - - + + + Preset Preset - - - - + + + + Length Längd - - + + Width Bredd - + Height Höjd @@ -1861,8 +1861,8 @@ unit to work with when opening the file. Byt L/W - + Con&tinue For&tsättning @@ -1879,8 +1879,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1993,8 +1993,8 @@ unit to work with when opening the file. Färdig - + Couldn't compute a shape Couldn't compute a shape @@ -2169,8 +2169,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2244,7 +2244,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Door - Door + Dörr @@ -2292,7 +2292,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Öppna referens - + Create external reference Create external reference @@ -2379,202 +2379,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Fönsteralternativ - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening Det här fönstret har ingen definierad öppning - - - + + + Get selected edge Get selected edge - + Unable to create component Kunde inte skapa komponent - + Window elements Fönsterelement - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Välj markering - - + + Remove Ta bort - - + + Add Lägg till - - - - + + + + - + - - + + Edit Redigera - + Create/update component Skapa/uppdatera komponent - + Base 2D object Base 2D object - - + + Wires Trådar - + Components Komponenter - + Create new component Skapa ny komponent - + Name Namn - - + + Type Typ - + Thickness Tjocklek - + Offset Offset - + Hinge - Hinge + Gångjärn - + Opening mode Opening mode - - + + + default + standard - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2599,9 +2599,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2613,9 +2613,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2625,8 +2625,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3165,8 +3165,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3176,24 +3176,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Beskrivning + + - - Value Värde + - Unit Enhet @@ -3290,19 +3290,19 @@ Floor creation aborted. har en ogiltig form + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3312,8 +3312,8 @@ Floor creation aborted. Closing Sketch edit - + Component Komponent @@ -3510,8 +3510,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Byggnad @@ -3890,14 +3890,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3907,15 +3907,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3930,8 +3930,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4008,9 +4008,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4329,20 +4329,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4377,8 +4377,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4563,92 +4563,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6197,12 +6197,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6646,7 +6646,7 @@ Building creation aborted. Add component - Add component + Lägg till komponent @@ -6826,9 +6826,9 @@ Building creation aborted. Command - - + + Transform Omvandla diff --git a/src/Mod/Arch/Resources/translations/Arch_tr.qm b/src/Mod/Arch/Resources/translations/Arch_tr.qm index 01631ffb2f..056cca7d23 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_tr.qm and b/src/Mod/Arch/Resources/translations/Arch_tr.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_tr.ts b/src/Mod/Arch/Resources/translations/Arch_tr.ts index a0e23ce595..7ff878f913 100644 --- a/src/Mod/Arch/Resources/translations/Arch_tr.ts +++ b/src/Mod/Arch/Resources/translations/Arch_tr.ts @@ -347,7 +347,7 @@ Belgedeki tüm nesneleri kullanmak için boş bırakın Export - Export + Dışa aktar @@ -1359,8 +1359,8 @@ bunun yerine bir 'Grup'a yerleştirilir. DAE - + Export options Dışa aktarım seçenekleri @@ -1810,40 +1810,40 @@ Ancak bazı BIM uygulamaları dosya açılırken seçilen faktörü uygular.Çizim modu - - + + Category Kategori - - - + + + Preset Ön ayar - - - - + + + + Length Uzunluk - - + + Width Genişlik - + Height Yükseklik @@ -1859,8 +1859,8 @@ Ancak bazı BIM uygulamaları dosya açılırken seçilen faktörü uygular.L/W değiştir - + Con&tinue Devam @@ -1877,8 +1877,8 @@ Ancak bazı BIM uygulamaları dosya açılırken seçilen faktörü uygular.Bu kafes hatalı bir katıdır - + Facemaker returned an error Facemaker bir hata döndürdü @@ -1895,12 +1895,12 @@ Ancak bazı BIM uygulamaları dosya açılırken seçilen faktörü uygular. Edit nodes - Edit nodes + Düğümü düzenle Extend nodes - Extend nodes + Düğümleri genişlet @@ -1910,7 +1910,7 @@ Ancak bazı BIM uygulamaları dosya açılırken seçilen faktörü uygular. Connect nodes - Connect nodes + Düğümleri bağla @@ -1920,7 +1920,7 @@ Ancak bazı BIM uygulamaları dosya açılırken seçilen faktörü uygular. Toggle all nodes - Toggle all nodes + Tüm düğümleri değiştir @@ -1947,19 +1947,19 @@ Ancak bazı BIM uygulamaları dosya açılırken seçilen faktörü uygular. Choose another Structure object: - Choose another Structure object: + Başka bir Yapı nesnesi seçin: The chosen object is not a Structure - The chosen object is not a Structure + Seçilen nesne bir Yapı değildir The chosen object has no structural nodes - The chosen object has no structural nodes + Seçilen nesnenin yapısal düğümleri yok @@ -1991,8 +1991,8 @@ Ancak bazı BIM uygulamaları dosya açılırken seçilen faktörü uygular.Bitti - + Couldn't compute a shape Couldn't compute a shape @@ -2009,7 +2009,7 @@ Ancak bazı BIM uygulamaları dosya açılırken seçilen faktörü uygular. Create Equipment - Create Equipment + Teçhizat oluştur @@ -2167,8 +2167,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2290,7 +2290,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Open reference - + Create external reference Create external reference @@ -2377,202 +2377,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Seçilen çekme - - + + Remove Kaldır - - + + Add Ekle - - - - + + + + - + - - + + Edit Düzenle - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Bileşenler - + Create new component Create new component - + Name Isim - - + + Type Türü - + Thickness Kalınlık - + Offset Uzaklaşma - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2597,9 +2597,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2611,9 +2611,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2623,8 +2623,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3163,8 +3163,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3174,24 +3174,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Açıklama + + - - Value Değer + - Unit Birim @@ -3288,19 +3288,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3310,8 +3310,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3508,8 +3508,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building İnşa ediliyor @@ -3888,14 +3888,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3905,15 +3905,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3928,8 +3928,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4006,9 +4006,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4327,20 +4327,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4375,8 +4375,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4561,92 +4561,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6195,12 +6195,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6825,9 +6825,9 @@ Building creation aborted. Command - - + + Transform Dönüştür diff --git a/src/Mod/Arch/Resources/translations/Arch_uk.qm b/src/Mod/Arch/Resources/translations/Arch_uk.qm index 030016bf81..27efcd471c 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_uk.qm and b/src/Mod/Arch/Resources/translations/Arch_uk.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_uk.ts b/src/Mod/Arch/Resources/translations/Arch_uk.ts index a5f5f4f9aa..3a49e02667 100644 --- a/src/Mod/Arch/Resources/translations/Arch_uk.ts +++ b/src/Mod/Arch/Resources/translations/Arch_uk.ts @@ -139,7 +139,7 @@ Idle - Бездіяльний + В очікуванні @@ -185,7 +185,7 @@ Comment - Коментар + Коментувати @@ -254,7 +254,7 @@ Leave blank to use all objects from the document The property to retrieve from each object.Can be 'Count' to count the objects, or property names like 'Length' or 'Shape.Volume' to retrieve a certain property. - The property to retrieve from each object.Can be 'Count' to count the objects, or property names like 'Length' or 'Shape.Volume' to retrieve a certain property. + Властивість, що її отримують з кожного об'єкта. Може бути "Кількість" для підрахунку об'єктів або назви властивостей такі, як "Довжина" чи "Фігура.Об'єм" для отримання певної властивості. @@ -269,7 +269,7 @@ Leave blank to use all objects from the document If this is enabled, additional lines will be filled with each object considered. If not, only the totals. - If this is enabled, additional lines will be filled with each object considered. If not, only the totals. + Якщо увімкнено, то додаткові лінії кожного розглянутого об'єкта будуть заповнені. Якщо ні, то тільки загалом. @@ -279,7 +279,7 @@ Leave blank to use all objects from the document If this is enabled, the schedule and the associated spreadsheet are updated whenever the document is recomputed. - If this is enabled, the schedule and the associated spreadsheet are updated whenever the document is recomputed. + Якщо увімкнено, то заплановані та пов'язані таблиці оновлюватимуться щоразу, коли документ переобчислюватиметься. @@ -319,12 +319,12 @@ Leave blank to use all objects from the document Put selected objects into the 'Objects' column of the selected row - Put selected objects into the 'Objects' column of the selected row + Вставити вибрані об'єкти в колонку "Об'єкти" вибраного рядка This exports the results to a CSV or Markdown file. Note for CSV export: In Libreoffice, you can keep this CSV file linked by right-clicking the Sheets tab bar, New sheet, From file, Link (Note: as of LibreOffice v6.x the correct path now is: Sheet, Insert Sheet..., From file, Browse...) - This exports the results to a CSV or Markdown file. Note for CSV export: In Libreoffice, you can keep this CSV file linked by right-clicking the Sheets tab bar, New sheet, From file, Link (Note: as of LibreOffice v6.x the correct path now is: Sheet, Insert Sheet..., From file, Browse...) + Експортує результати в CSV або Markdown файл. Примітка щодо експорту в CSV: в Libreoffice ви можете зберегти посилання на цей CSV файл, натиснувши правою кнопкою миші по панелі "Таблиці" - "Нова таблиця" - "З файлу" - "Посилання" (Примітка: починаючи з LibreOffice v6.x, шлях став: "Таблиця" - "Вставити таблицю..." - "З файлу" - "Огляд...") @@ -344,7 +344,7 @@ Leave blank to use all objects from the document Import - Імпортувати + Імпорт @@ -427,7 +427,7 @@ Leave blank to use all objects from the document Status - Статус + Стан @@ -452,7 +452,7 @@ Leave blank to use all objects from the document Select all - Виділяє всі обʼєкти + Вибрати всі @@ -488,7 +488,7 @@ Leave blank to use all objects from the document Copy existing... - Копіювання вже існує... + Копіювати існуючий... @@ -563,7 +563,7 @@ Leave blank to use all objects from the document Remove - Видалити + Вилучити @@ -573,7 +573,7 @@ Leave blank to use all objects from the document Tolerance - Точність + Похибка @@ -613,12 +613,12 @@ Leave blank to use all objects from the document Start - Початок + Почати Stop - Стоп + Зупинити @@ -631,7 +631,7 @@ Leave blank to use all objects from the document General settings - Загальні параметри + Загальні налаштування @@ -979,7 +979,7 @@ instead of the FreeCAD web workbench Offset - Зміщення + Зсув @@ -1362,8 +1362,8 @@ are placed in a 'Group' instead. DAE - + Export options Налаштування експорту @@ -1402,7 +1402,7 @@ If using Netgen, make sure that it is available. Netgen - Netgen + Нетґен @@ -1749,7 +1749,7 @@ unit to work with when opening the file. Beam - Балка + Промінь @@ -1815,40 +1815,40 @@ unit to work with when opening the file. Режим креслення - - + + Category Категорія - - - + + + Preset Preset - - - - + + + + Length Довжина - - + + Width Ширина - + Height Висота @@ -1864,8 +1864,8 @@ unit to work with when opening the file. Switch L/W - + Con&tinue Продовжити @@ -1882,8 +1882,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1996,8 +1996,8 @@ unit to work with when opening the file. Готово - + Couldn't compute a shape Не вдалось обчислити форму @@ -2172,8 +2172,8 @@ Site creation aborted. Не вдалося створити покрівлю - + Please select a base object Please select a base object @@ -2257,12 +2257,12 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Cut Plane - Cut Plane + Площина розрізу Cut Plane options - Cut Plane options + Опції площини розрізу @@ -2272,97 +2272,97 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Behind - Behind + Позаду Front - Фронтальний + Спереду External Reference - External Reference + Зовнішній референс Reload reference - Reload reference + Перезавантажити референс Open reference - Open reference + Відкрити референс - + Create external reference - Create external reference + Створити зовнішній референс Frame - Frame + Рамка Create Frame - Create Frame + Створити каркас Crossing point not found in profile. - Crossing point not found in profile. + Точку перетину не знайдено в профілі. Shapes elevation - Shapes elevation + Висота фігур Choose which field provides shapes elevations: - Choose which field provides shapes elevations: + Виберіть, яке поле надає висоту фігур: No shape found in this file - No shape found in this file + У цьому файлі не знайдено форми Shapefile module not found - Shapefile module not found + Модуль Shapefile не знайдено The shapefile python library was not found on your system. Would you like to download it now from <a href="https://github.com/GeospatialPython/pyshp">https://github.com/GeospatialPython/pyshp</a>? It will be placed in your macros folder. - The shapefile python library was not found on your system. Would you like to download it now from <a href="https://github.com/GeospatialPython/pyshp">https://github.com/GeospatialPython/pyshp</a>? It will be placed in your macros folder. + Python-бібліотека shapefile не була знайдена у вашій системі. Чи не бажаєте ви зараз завантажити її з сайту <a href="https://github.com/GeospatialPython/pyshp">https://github.com/GeospatialPython/pyshp</a>? Вона буде поміщена в теку macros. Error: Unable to download from: - Error: Unable to download from: + Помилка: неможливо завантажити із: Could not download shapefile module. Aborting. - Could not download shapefile module. Aborting. + Не вдалося завантажити модуль shapefile. Скасування операції. Shapefile module not downloaded. Aborting. - Shapefile module not downloaded. Aborting. + Модуль Shapefile не завантажено. Скасування операції. Shapefile module not found. Aborting. - Shapefile module not found. Aborting. + Модуль Shapefile не знайдено. Скасування операції. The shapefile library can be downloaded from the following URL and installed in your macros folder: - The shapefile library can be downloaded from the following URL and installed in your macros folder: + Бібліотеку shapefile можна завантажити за вказаною нижче URL-адресою та встановити у теці macros: @@ -2374,210 +2374,210 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Create Window - Create Window + Створити вікно Choose a face on an existing object or select a preset - Choose a face on an existing object or select a preset + Виберіть грань на існуючому об'єкті або виберіть заготовку - + Window not based on sketch. Window not aligned or resized. - Window not based on sketch. Window not aligned or resized. + Вікно не базується на ескізі. Вікно не вирівнюється або змінює розмір. - + No Width and/or Height constraint in window sketch. Window not resized. - No Width and/or Height constraint in window sketch. Window not resized. + У ескізі вікна немає обмежень на ширину та/або висоту. Розмір вікна не змінено. - + No window found. Cannot continue. - No window found. Cannot continue. + Вікно не знайдено. Не вдається продовжити. - + Window options - Window options + Параметри вікна - + Auto include in host object - Auto include in host object + Автоматично включати в об'єкт хоста - + Sill height - Sill height + Висота підвіконня - + This window has no defined opening - This window has no defined opening + Це вікно не має визначеного відкриття - - - + + + Get selected edge - Get selected edge + Отримати вибране ребро - + Unable to create component - Unable to create component - - - - Window elements - Window elements - - - - Hole wire - Hole wire - - - - The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire + Не вдалося створити компонент + Window elements + Елементи вікна + + + + Hole wire + Сітка отвору + + + + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire + Щільність сітки, що визначає отвір у хост-об'єкті. Значення нуля автоматично приймає найбільшу сітку + + + Pick selected Вибрати вибране - - + + Remove - Видалити + Вилучити - - + + Add Додати - - - - + + + + - + - - - Edit - Правка - - - - Create/update component - Create/update component - - - - Base 2D object - Base 2D object - - + - - Wires - Wires + Edit + Редагувати + Create/update component + Створити/оновити компонент + + + + Base 2D object + Базовий двовимірний об’єкт + + + + + Wires + Сітки + + + Components Компоненти - + Create new component - Create new component + Створити новий компонент - + Name Назва - - + + Type Тип - + Thickness Товщина - + Offset - Зміщення + Зсув - + Hinge - Hinge + Шарнір - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2602,9 +2602,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2616,9 +2616,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2628,8 +2628,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3168,8 +3168,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3179,24 +3179,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Опис + + - - Value Значення + - Unit Одиниця @@ -3293,19 +3293,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3315,8 +3315,8 @@ Floor creation aborted. Closing Sketch edit - + Component Компонент @@ -3513,8 +3513,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Будівля @@ -3893,14 +3893,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3910,15 +3910,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3933,8 +3933,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -4011,9 +4011,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4332,20 +4332,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4380,8 +4380,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4566,92 +4566,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6200,12 +6200,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6215,7 +6215,7 @@ Building creation aborted. Frame - Frame + Рамка @@ -6829,9 +6829,9 @@ Building creation aborted. Command - - + + Transform Перетворити diff --git a/src/Mod/Arch/Resources/translations/Arch_val-ES.ts b/src/Mod/Arch/Resources/translations/Arch_val-ES.ts index 30593f085e..d6d6aa8cba 100644 --- a/src/Mod/Arch/Resources/translations/Arch_val-ES.ts +++ b/src/Mod/Arch/Resources/translations/Arch_val-ES.ts @@ -1349,8 +1349,8 @@ are placed in a 'Group' instead. DAE - + Export options Opcions d'exportació @@ -1783,40 +1783,40 @@ unit to work with when opening the file. Drawing mode - - + + Category Categoria - - - + + + Preset Preset - - - - + + + + Length Longitud - - + + Width Amplària - + Height Alçària @@ -1832,8 +1832,8 @@ unit to work with when opening the file. Switch L/W - + Con&tinue Con&tinue @@ -1850,8 +1850,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1964,8 +1964,8 @@ unit to work with when opening the file. Fet - + Couldn't compute a shape Couldn't compute a shape @@ -2140,8 +2140,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2263,7 +2263,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Open reference - + Create external reference Create external reference @@ -2350,202 +2350,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected Tria el seleccionat - - + + Remove Elimina - - + + Add Afegir - - - - + + + + - + - - + + Edit Edita - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components Components - + Create new component Create new component - + Name Nom - - + + Type Tipus - + Thickness Gruix - + Offset Separació - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2570,9 +2570,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2584,9 +2584,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2596,8 +2596,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3136,8 +3136,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3147,24 +3147,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description Descripció + + - - Value Valor + - Unit Unitat @@ -3261,19 +3261,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3283,8 +3283,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3481,8 +3481,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building Construcció @@ -3861,14 +3861,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3878,15 +3878,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3901,8 +3901,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -3979,9 +3979,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4300,20 +4300,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4348,8 +4348,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4534,92 +4534,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6168,12 +6168,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6797,9 +6797,9 @@ Building creation aborted. Command - - + + Transform Transforma diff --git a/src/Mod/Arch/Resources/translations/Arch_zh-CN.ts b/src/Mod/Arch/Resources/translations/Arch_zh-CN.ts index e177938c3e..14a6ff8197 100644 --- a/src/Mod/Arch/Resources/translations/Arch_zh-CN.ts +++ b/src/Mod/Arch/Resources/translations/Arch_zh-CN.ts @@ -1355,8 +1355,8 @@ are placed in a 'Group' instead. DAE - + Export options 导出选项 @@ -1798,40 +1798,40 @@ unit to work with when opening the file. 绘图模式 - - + + Category 类别 - - - + + + Preset 预设值 - - - - + + + + Length 长度 - - + + Width 宽度 - + Height 高度 @@ -1847,8 +1847,8 @@ unit to work with when opening the file. 切换 长/宽 - + Con&tinue 继续&t @@ -1865,8 +1865,8 @@ unit to work with when opening the file. 该网格是无效实体 - + Facemaker returned an error 服务器返回了一个错误 @@ -1979,8 +1979,8 @@ unit to work with when opening the file. 完成 - + Couldn't compute a shape 无法计算形状 @@ -2152,8 +2152,8 @@ Site creation aborted. 无法创建屋顶 - + Please select a base object 请选择一个基物体 @@ -2275,7 +2275,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela 打开参考 - + Create external reference 创建外部参考 @@ -2362,202 +2362,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela 在现有对象上选取一个面或选择一个预设 - + Window not based on sketch. Window not aligned or resized. 窗口不基于草图。窗口未对齐或调整大小。 - + No Width and/or Height constraint in window sketch. Window not resized. 窗口草图中没有宽度和/或高度约束。窗口未调整大小。 - + No window found. Cannot continue. 未找到窗口,不能继续。 - + Window options 窗口选项 - + Auto include in host object 自动包含在宿主对象 - + Sill height 台体高度 - + This window has no defined opening 此窗口没有定义为打开 - - - + + + Get selected edge 获取选中的边缘 - + Unable to create component 无法创建组件 - + Window elements 窗口元素 - + Hole wire 孔线 - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire 线的数目在主体对象中定义一个孔。值为零时将自动采用最大线数 - + Pick selected 选取选定的 - - + + Remove 删除 - - + + Add 添加 - - - - + + + + - + - - + + Edit 编辑 - + Create/update component 创建/更新组件 - + Base 2D object 基础2D对象 - - + + Wires 线框 - + Components 组件 - + Create new component 创建新组件 - + Name 名称 - - + + Type 类型 - + Thickness 厚度 - + Offset 偏移 - + Hinge 铰链 - + Opening mode 开口模式 - - + + + default + 默认 - + If this is checked, the default Frame value of this window will be added to the value entered here 如果选中此项,此窗口的默认帧值将添加到这里输入的值 - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge 点击搜索选中的边 - - + + Invert opening direction 反转打开方向 - - + + Invert hinge position 反向铰链位置 @@ -2582,9 +2582,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela 请至少选择一个坐标轴 - + Axes 坐标轴 @@ -2596,9 +2596,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written 写入成功 @@ -2608,8 +2608,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela 桁架 - + Please select only one base object or none 请只选择一个基对象或不选 @@ -3148,8 +3148,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3159,24 +3159,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description 描述 + + - - Value + - Unit 单位 @@ -3273,19 +3273,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3295,8 +3295,8 @@ Floor creation aborted. Closing Sketch edit - + Component Component @@ -3493,8 +3493,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building 建筑 @@ -3873,14 +3873,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3890,15 +3890,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3913,8 +3913,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -3991,9 +3991,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4312,20 +4312,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4360,8 +4360,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4546,92 +4546,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6180,12 +6180,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6809,9 +6809,9 @@ Building creation aborted. Command - - + + Transform 变换 diff --git a/src/Mod/Arch/Resources/translations/Arch_zh-TW.ts b/src/Mod/Arch/Resources/translations/Arch_zh-TW.ts index 6d46138626..5cc74ac3b0 100644 --- a/src/Mod/Arch/Resources/translations/Arch_zh-TW.ts +++ b/src/Mod/Arch/Resources/translations/Arch_zh-TW.ts @@ -1352,8 +1352,8 @@ are placed in a 'Group' instead. DAE - + Export options 匯出選項 @@ -1801,40 +1801,40 @@ unit to work with when opening the file. Drawing mode - - + + Category 類別 - - - + + + Preset Preset - - - - + + + + Length 間距 - - + + Width 寬度 - + Height 高度 @@ -1850,8 +1850,8 @@ unit to work with when opening the file. Switch L/W - + Con&tinue Con&tinue @@ -1868,8 +1868,8 @@ unit to work with when opening the file. This mesh is an invalid solid - + Facemaker returned an error Facemaker returned an error @@ -1982,8 +1982,8 @@ unit to work with when opening the file. 完成 - + Couldn't compute a shape Couldn't compute a shape @@ -2158,8 +2158,8 @@ Site creation aborted. Unable to create a roof - + Please select a base object Please select a base object @@ -2281,7 +2281,7 @@ If Run = 0 then the run is calculated so that the height is the same as the rela 打開參考 - + Create external reference Create external reference @@ -2368,202 +2368,202 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Choose a face on an existing object or select a preset - + Window not based on sketch. Window not aligned or resized. Window not based on sketch. Window not aligned or resized. - + No Width and/or Height constraint in window sketch. Window not resized. No Width and/or Height constraint in window sketch. Window not resized. - + No window found. Cannot continue. No window found. Cannot continue. - + Window options Window options - + Auto include in host object Auto include in host object - + Sill height Sill height - + This window has no defined opening This window has no defined opening - - - + + + Get selected edge Get selected edge - + Unable to create component Unable to create component - + Window elements Window elements - + Hole wire Hole wire - + The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire The number of the wire that defines a hole in the host object. A value of zero will automatically adopt the largest wire - + Pick selected 挑選 - - + + Remove 移除 - - + + Add 新增 - - - - + + + + - + - - + + Edit 編輯 - + Create/update component Create/update component - + Base 2D object Base 2D object - - + + Wires Wires - + Components 組件 - + Create new component Create new component - + Name 名稱 - - + + Type 類型 - + Thickness 厚度 - + Offset 偏移複製 - + Hinge Hinge - + Opening mode Opening mode - - + + + default + default - + If this is checked, the default Frame value of this window will be added to the value entered here If this is checked, the default Frame value of this window will be added to the value entered here - + If this is checked, the default Offset value of this window will be added to the value entered here If this is checked, the default Offset value of this window will be added to the value entered here - + Press to retrieve the selected edge Press to retrieve the selected edge - - + + Invert opening direction Invert opening direction - - + + Invert hinge position Invert hinge position @@ -2588,9 +2588,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Please select at least one axis - + Axes Axes @@ -2602,9 +2602,9 @@ If Run = 0 then the run is calculated so that the height is the same as the rela - + Successfully written Successfully written @@ -2614,8 +2614,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Truss - + Please select only one base object or none Please select only one base object or none @@ -3154,8 +3154,8 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Import CSV File - + Export CSV File Export CSV File @@ -3165,24 +3165,24 @@ If Run = 0 then the run is calculated so that the height is the same as the rela Unable to recognize that file type + - Description 說明 + + - - Value + - Unit 單位 @@ -3279,19 +3279,19 @@ Floor creation aborted. has an invalid shape + - has a null shape has a null shape - + Toggle subcomponents Toggle subcomponents @@ -3301,8 +3301,8 @@ Floor creation aborted. Closing Sketch edit - + Component 組件 @@ -3499,8 +3499,8 @@ Floor creation aborted. Centers the plane on the objects in the list above - + Building 建築 @@ -3879,14 +3879,14 @@ Building creation aborted. Base rotation around the Tool axis (only used if BasePerpendicularToTool is True) - + The length of this element, if not based on a profile The length of this element, if not based on a profile - + The width of this element, if not based on a profile The width of this element, if not based on a profile @@ -3896,15 +3896,15 @@ Building creation aborted. The height or extrusion depth of this element. Keep 0 for automatic - + The normal extrusion direction of this object (keep (0,0,0) for automatic normal) The normal extrusion direction of this object (keep (0,0,0) for automatic normal) - + The structural nodes of this element The structural nodes of this element @@ -3919,8 +3919,8 @@ Building creation aborted. Offset distance between the centerline and the nodes line - + The facemaker type to use to build the profile of this object The facemaker type to use to build the profile of this object @@ -3997,9 +3997,9 @@ Building creation aborted. The electric power needed by this equipment in Watts + - The type of this building The type of this building @@ -4318,20 +4318,20 @@ Building creation aborted. A URL that shows this site in a mapping website - + Other shapes that are appended to this object Other shapes that are appended to this object - + Other shapes that are subtracted from this object Other shapes that are subtracted from this object - + The area of the projection of this object onto the XY plane The area of the projection of this object onto the XY plane @@ -4366,8 +4366,8 @@ Building creation aborted. An optional offset between the model (0,0,0) origin and the point indicated by the geocoordinates - + The type of this object The type of this object @@ -4552,92 +4552,92 @@ Building creation aborted. If true, geometry is fused, otherwise a compound - + The objects that host this window The objects that host this window - + The components of this window The components of this window - + The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. The depth of the hole that this window makes in its host object. If 0, the value will be calculated automatically. - + An optional object that defines a volume to be subtracted from hosts of this window An optional object that defines a volume to be subtracted from hosts of this window - + The width of this window The width of this window - + The height of this window The height of this window - + The normal direction of this window The normal direction of this window - + The preset number this window is based on The preset number this window is based on - + The frame size of this window The frame size of this window - + The offset size of this window The offset size of this window - + The area of this window The area of this window - + The width of louvre elements The width of louvre elements - + The space between louvre elements The space between louvre elements - + Opens the subcomponents that have a hinge defined Opens the subcomponents that have a hinge defined - + The number of the wire that defines the hole. If 0, the value will be calculated automatically The number of the wire that defines the hole. If 0, the value will be calculated automatically - + Shows plan opening symbols if available Shows plan opening symbols if available - + Show elevation opening symbols if available Show elevation opening symbols if available - + The number of the wire that defines the hole. A value of 0 means automatic The number of the wire that defines the hole. A value of 0 means automatic @@ -6186,12 +6186,12 @@ Building creation aborted. Arch_Reference - + External reference External reference - + Creates an external reference object Creates an external reference object @@ -6815,9 +6815,9 @@ Building creation aborted. Command - - + + Transform 轉換 diff --git a/src/Mod/Arch/exportIFC.py b/src/Mod/Arch/exportIFC.py index 0d0e9c78c9..a47648003c 100644 --- a/src/Mod/Arch/exportIFC.py +++ b/src/Mod/Arch/exportIFC.py @@ -514,7 +514,7 @@ def export(exportList, filename, colors=None, preferences=None): if preferences["DEBUG"]: print("Warning! Axis system object '{}' only contains one set of axis but at least two are needed for a IfcGrid to be added to IFC.".format(obj.Label)) continue - if ifctype not in ArchIFCSchema.IfcProducts.keys(): + if ifctype not in ArchIFCSchema.IfcProducts: ifctype = "IfcBuildingElementProxy" # getting the representation @@ -1017,7 +1017,7 @@ def export(exportList, filename, colors=None, preferences=None): for c in objs: if not (c.Name in treated): if c.Name != building.Name: # get_group_contents + addgroups will include the building itself - if c.Name in products.keys(): + if c.Name in products: if Draft.getType(c) in ["Floor","BuildingPart","Space"]: childfloors.append(products[c.Name]) treated.append(c.Name) @@ -1056,7 +1056,7 @@ def export(exportList, filename, colors=None, preferences=None): childbuildings = [] for c in objs: if c.Name != site.Name: # get_group_contents + addgroups will include the building itself - if c.Name in products.keys(): + if c.Name in products: if not (c.Name in treated): if Draft.getType(c) == "Building": childbuildings.append(products[c.Name]) @@ -1427,7 +1427,7 @@ def export(exportList, filename, colors=None, preferences=None): if okay: sortedgroups.append([g,groups[g]]) for g in sortedgroups: - if g[0] in groups.keys(): + if g[0] in groups: del groups[g[0]] #print("sorted groups:",sortedgroups) containers = {} @@ -1435,9 +1435,9 @@ def export(exportList, filename, colors=None, preferences=None): if g[1]: children = [] for o in g[1]: - if o in products.keys(): + if o in products: children.append(products[o]) - elif o in annos.keys(): + elif o in annos: children.append(annos[o]) swallowed.append(annos[o]) if children: @@ -1705,7 +1705,7 @@ def getIfcTypeFromObj(obj): else: ifctype = dtype - if ifctype in translationtable.keys(): + if ifctype in translationtable: ifctype = translationtable[ifctype] if not ifctype.startswith("Ifc"): ifctype = "Ifc" + ifctype @@ -2383,7 +2383,7 @@ def getBrepFlag(obj,preferences): if preferences['FORCE_BREP']: return True if hasattr(obj,"IfcData"): - if "FlagForceBrep" in obj.IfcData.keys(): + if "FlagForceBrep" in obj.IfcData: if obj.IfcData["FlagForceBrep"] == "True": brepflag = True return brepflag @@ -2414,7 +2414,7 @@ def createProduct(ifcfile,obj,ifctype,uid,history,name,description,placement,rep kwargs = exportIfcAttributes(obj, kwargs, preferences['SCALE_FACTOR']) # in some cases object have wrong ifctypes, thus set it # https://forum.freecad.org/viewtopic.php?f=39&t=50085 - if ifctype not in ArchIFCSchema.IfcProducts.keys(): + if ifctype not in ArchIFCSchema.IfcProducts: # print("Wrong IfcType: IfcBuildingElementProxy is used. {}".format(ifctype)) ifctype = "IfcBuildingElementProxy" # print("createProduct: {}".format(ifctype)) @@ -2429,7 +2429,7 @@ def getUID(obj,preferences): global uids uid = None if hasattr(obj,"IfcData"): - if "IfcUID" in obj.IfcData.keys(): + if "IfcUID" in obj.IfcData: uid = str(obj.IfcData["IfcUID"]) if uid in uids: # this UID has already been used in another object diff --git a/src/Mod/Arch/importDAE.py b/src/Mod/Arch/importDAE.py index 5c5def7693..2dfaad11b7 100644 --- a/src/Mod/Arch/importDAE.py +++ b/src/Mod/Arch/importDAE.py @@ -138,7 +138,7 @@ def read(filename): if tnode is not None: mnode = tnode.find(bt+"instance_material") if mnode is not None: - if "target" in mnode.keys(): + if "target" in mnode: mname = mnode.get("target").strip("#") for m in col.materials: if m.id == mname: diff --git a/src/Mod/Arch/importIFC.py b/src/Mod/Arch/importIFC.py index 115e203a5f..d05aac8e8d 100644 --- a/src/Mod/Arch/importIFC.py +++ b/src/Mod/Arch/importIFC.py @@ -323,7 +323,7 @@ def insert(srcfile, docname, skip=[], only=[], root=None, preferences=None): while only: currentid = only.pop() ids.append(currentid) - if currentid in additions.keys(): + if currentid in additions: only.extend(additions[currentid]) products = [ifcfile[currentid] for currentid in ids] @@ -370,7 +370,7 @@ def insert(srcfile, docname, skip=[], only=[], root=None, preferences=None): lays = product.Representation.Representations[0].LayerAssignments if len(lays) > 0: layer_name = lays[0].Name - if layer_name not in list(layers.keys()): + if layer_name not in layers: layers[layer_name] = [pid] else: layers[layer_name].append(pid) @@ -943,7 +943,7 @@ def insert(srcfile, docname, skip=[], only=[], root=None, preferences=None): if ifcfile[host].is_a("IfcStructuralAnalysisModel"): compound = [] for c in children: - if c in structshapes.keys(): + if c in structshapes: compound.append(structshapes[c]) del structshapes[c] if compound: @@ -969,11 +969,11 @@ def insert(srcfile, docname, skip=[], only=[], root=None, preferences=None): # print(host, ' --> ', children) obj = doc.addObject("App::DocumentObjectGroup","AnalysisModel") objects[host] = obj - if host in objects.keys(): + if host in objects: cobs = [] childs_to_delete = [] for child in children: - if child in objects.keys(): + if child in objects: cobs.append(objects[child]) childs_to_delete.append(child) for c in childs_to_delete: @@ -1009,7 +1009,7 @@ def insert(srcfile, docname, skip=[], only=[], root=None, preferences=None): grp.Label = grp_name objects[host] = grp for child in children: - if child in objects.keys(): + if child in objects: grp.addObject(objects[child]) swallowed.append(child) else: @@ -1025,12 +1025,12 @@ def insert(srcfile, docname, skip=[], only=[], root=None, preferences=None): if ifcfile[host].is_a("IfcBuildingStorey"): compound = [] for c in children: - if c in shapes.keys(): + if c in shapes: compound.append(shapes[c]) del shapes[c] - if c in additions.keys(): + if c in additions: for c2 in additions[c]: - if c2 in shapes.keys(): + if c2 in shapes: compound.append(shapes[c2]) del shapes[c2] if compound: @@ -1054,7 +1054,7 @@ def insert(srcfile, docname, skip=[], only=[], root=None, preferences=None): if preferences['SEPARATE_OPENINGS']: for subtraction in subtractions: - if (subtraction[0] in objects.keys()) and (subtraction[1] in objects.keys()): + if (subtraction[0] in objects) and (subtraction[1] in objects): if preferences['DEBUG'] and first: print("") first = False @@ -1065,13 +1065,13 @@ def insert(srcfile, docname, skip=[], only=[], root=None, preferences=None): # additions for host,children in additions.items(): - if host not in objects.keys(): + if host not in objects: # print(host, 'not used') # print(ifcfile[host]) continue cobs = [] for child in children: - if child in objects.keys() \ + if child in objects \ and child not in swallowed: # don't add objects already in groups cobs.append(objects[child]) if not cobs: @@ -1131,11 +1131,11 @@ def insert(srcfile, docname, skip=[], only=[], root=None, preferences=None): # placing in container if needed if anno: - if aid in remaining.keys(): + if aid in remaining: remaining[aid].addObject(anno) else: for host,children in additions.items(): - if (aid in children) and (host in objects.keys()): + if (aid in children) and (host in objects): Arch.addComponents(anno,objects[host]) if preferences['DEBUG']: print("") # add newline for 2D objects debug prints diff --git a/src/Mod/Arch/importIFCHelper.py b/src/Mod/Arch/importIFCHelper.py index 9a8f0d479d..024fe78ed1 100644 --- a/src/Mod/Arch/importIFCHelper.py +++ b/src/Mod/Arch/importIFCHelper.py @@ -976,8 +976,8 @@ def createFromProperties(propsets,ifcfile,parametrics): if appset: oname = None otype = None - if "FreeCADType" in appset.keys(): - if "FreeCADName" in appset.keys(): + if "FreeCADType" in appset: + if "FreeCADName" in appset: obj = FreeCAD.ActiveDocument.addObject(appset["FreeCADType"],appset["FreeCADName"]) if "FreeCADAppObject" in appset: mod,cla = appset["FreeCADAppObject"].split(".") diff --git a/src/Mod/Arch/importIFClegacy.py b/src/Mod/Arch/importIFClegacy.py index 8935233f09..5d4c63039f 100644 --- a/src/Mod/Arch/importIFClegacy.py +++ b/src/Mod/Arch/importIFClegacy.py @@ -1017,7 +1017,7 @@ def export(exportList,filename): # getting the "Force BREP" flag brepflag = False if hasattr(obj,"IfcAttributes"): - if "FlagForceBrep" in obj.IfcAttributes.keys(): + if "FlagForceBrep" in obj.IfcAttributes: if obj.IfcAttributes["FlagForceBrep"] == "True": brepflag = True diff --git a/src/Mod/Arch/importSH3D.py b/src/Mod/Arch/importSH3D.py index 98f67998e7..6ae6f9c25e 100644 --- a/src/Mod/Arch/importSH3D.py +++ b/src/Mod/Arch/importSH3D.py @@ -142,7 +142,7 @@ class SH3DHandler(xml.sax.ContentHandler): mat.rotateX(math.pi/2) mat.rotateZ(math.pi) if DEBUG: print("Creating furniture: ",name) - if "angle" in attributes.keys(): + if "angle" in attributes: mat.rotateZ(float(attributes["angle"])) m.transform(mat) os.remove(tf) @@ -186,13 +186,13 @@ class SH3DHandler(xml.sax.ContentHandler): shape = shape.removeSplitter() if shape: if DEBUG: print("Creating window: ",name) - if "angle" in attributes.keys(): + if "angle" in attributes: shape.rotate(shape.BoundBox.Center,FreeCAD.Vector(0,0,1),math.degrees(float(attributes["angle"]))) sub.rotate(shape.BoundBox.Center,FreeCAD.Vector(0,0,1),math.degrees(float(attributes["angle"]))) p = shape.BoundBox.Center.negative() p = p.add(FreeCAD.Vector(float(attributes["x"])*10,float(attributes["y"])*10,0)) p = p.add(FreeCAD.Vector(0,0,shape.BoundBox.Center.z-shape.BoundBox.ZMin)) - if "elevation" in attributes.keys(): + if "elevation" in attributes: p = p.add(FreeCAD.Vector(0,0,float(attributes["elevation"])*10)) shape.translate(p) sub.translate(p) diff --git a/src/Mod/Draft/App/AppDraftUtilsPy.cpp b/src/Mod/Draft/App/AppDraftUtilsPy.cpp index 2d2bb79a20..fcb07767f7 100644 --- a/src/Mod/Draft/App/AppDraftUtilsPy.cpp +++ b/src/Mod/Draft/App/AppDraftUtilsPy.cpp @@ -42,8 +42,6 @@ public: initialize("The DraftUtils module contains utility functions for the Draft module."); // register with Python } - ~Module() override {} - private: Py::Object readDXF(const Py::Tuple& /*args*/) { diff --git a/src/Mod/Draft/DraftGeomUtils.py b/src/Mod/Draft/DraftGeomUtils.py index 62ade87e8a..725f8e7c11 100644 --- a/src/Mod/Draft/DraftGeomUtils.py +++ b/src/Mod/Draft/DraftGeomUtils.py @@ -77,7 +77,10 @@ from draftgeoutils.geometry import (findPerpendicular, calculatePlacement, mirror, are_coplanar, - is_straight_line) + is_straight_line, + uv_vectors_from_face, + placement_from_face, + placement_from_points) from draftgeoutils.edges import (findEdge, orientEdge, diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py index b19101e9ca..b4cb28599c 100644 --- a/src/Mod/Draft/DraftGui.py +++ b/src/Mod/Draft/DraftGui.py @@ -851,7 +851,7 @@ class DraftToolBar: from draftobjects.label import get_label_types types = get_label_types() for s in types: - combo.addItem(s) + combo.addItem(translate("Draft", s), userData=s) combo.setCurrentIndex(types.index(Draft.getParam("labeltype","Custom"))) l.addWidget(combo) QtCore.QObject.connect(combo,QtCore.SIGNAL("currentIndexChanged(int)"),callback) @@ -962,21 +962,21 @@ class DraftToolBar: def checkLocal(self): """checks if x,y,z coords must be displayed as local or global""" if not self.globalMode and self.relativeMode: - self.labelx.setText(translate("draft", "Local \u0394X")) - self.labely.setText(translate("draft", "Local \u0394Y")) - self.labelz.setText(translate("draft", "Local \u0394Z")) + self.labelx.setText(translate("draft", "Local {}").format("\u0394X")) # \u0394 = ∆ (Greek delta) + self.labely.setText(translate("draft", "Local {}").format("\u0394Y")) + self.labelz.setText(translate("draft", "Local {}").format("\u0394Z")) elif not self.globalMode and not self.relativeMode: - self.labelx.setText(translate("draft", "Local X")) - self.labely.setText(translate("draft", "Local Y")) - self.labelz.setText(translate("draft", "Local Z")) + self.labelx.setText(translate("draft", "Local {}").format("X")) + self.labely.setText(translate("draft", "Local {}").format("Y")) + self.labelz.setText(translate("draft", "Local {}").format("Z")) elif self.globalMode and self.relativeMode: - self.labelx.setText(translate("draft", "Global \u0394X")) - self.labely.setText(translate("draft", "Global \u0394Y")) - self.labelz.setText(translate("draft", "Global \u0394Z")) + self.labelx.setText(translate("draft", "Global {}").format("\u0394X")) + self.labely.setText(translate("draft", "Global {}").format("\u0394Y")) + self.labelz.setText(translate("draft", "Global {}").format("\u0394Z")) else: - self.labelx.setText(translate("draft", "Global X")) - self.labely.setText(translate("draft", "Global Y")) - self.labelz.setText(translate("draft", "Global Z")) + self.labelx.setText(translate("draft", "Global {}").format("X")) + self.labely.setText(translate("draft", "Global {}").format("Y")) + self.labelz.setText(translate("draft", "Global {}").format("Z")) def setNextFocus(self): def isThere(widget): diff --git a/src/Mod/Draft/Resources/translations/Draft.ts b/src/Mod/Draft/Resources/translations/Draft.ts index 80708858dc..450f499c9b 100644 --- a/src/Mod/Draft/Resources/translations/Draft.ts +++ b/src/Mod/Draft/Resources/translations/Draft.ts @@ -1577,7 +1577,6 @@ such as "Arial:Bold" - @@ -1585,6 +1584,7 @@ such as "Arial:Bold" + mm @@ -1896,9 +1896,9 @@ from the Addon Manager. - - + + Import options @@ -2107,8 +2107,8 @@ If it is set to '0' the whole spline is treated as a straight segment. - + Export options @@ -2666,10 +2666,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy @@ -2757,21 +2757,21 @@ This might fail for post DXF R12 templates. - + Top - + Front - + Side @@ -2848,7 +2848,7 @@ This might fail for post DXF R12 templates. - + Angle @@ -3025,6 +3025,7 @@ Not available if Draft preference option 'Use Part Primitives' is enab + Line @@ -3045,7 +3046,7 @@ Not available if Draft preference option 'Use Part Primitives' is enab - + Rotate @@ -3066,24 +3067,24 @@ Not available if Draft preference option 'Use Part Primitives' is enab + + + - - - Offset - + Distance - + Offset distance @@ -3094,62 +3095,22 @@ Not available if Draft preference option 'Use Part Primitives' is enab - Local u0394X - - - - Local u0394Y - - - - Local u0394Z - - - - Local X - - - - Local Y - - - - Local Z + Local {} - Global u0394X - - - - Global u0394Y - - - - Global u0394Z - - - - Global X - - - - Global Y - - - - Global Z + Global {} @@ -3234,14 +3195,14 @@ or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar - + Selected Shapes must define a plane @@ -3258,11 +3219,11 @@ To enabled FreeCAD to download these libraries, answer Yes. + - Custom @@ -3287,41 +3248,41 @@ To enabled FreeCAD to download these libraries, answer Yes. - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. @@ -3485,60 +3446,65 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Create Label - - + + Pick endpoint of leader line - - + + Pick text position - - + + Pick first point - + Create Line - + Create Wire - - - - - + + Polyline + + + + + + + + + + - - Pick next point - + Unable to create a Wire from selected objects - + Convert to Wire @@ -3610,7 +3576,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. @@ -3621,9 +3587,9 @@ To enabled FreeCAD to download these libraries, answer Yes. - - - + + + @@ -3631,60 +3597,60 @@ To enabled FreeCAD to download these libraries, answer Yes. + - - - + + Start angle - - + + Pick start angle + - - - + + Aperture angle - + Pick aperture - + Create Circle (Part) - + Create Circle - + Create Arc (Part) - + Create Arc - + Pick aperture angle - - + + Arc by 3 points @@ -3750,8 +3716,8 @@ To enabled FreeCAD to download these libraries, answer Yes. - - + + Create Point @@ -3766,39 +3732,39 @@ To enabled FreeCAD to download these libraries, answer Yes. - - + + Base angle - - + + The base angle you wish to start the rotation from - - + + Pick base angle - - + + Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle @@ -3922,6 +3888,11 @@ The final angle will be the base angle plus this amount. Create fillet + + + Polygon + + Create Polygon (Part) @@ -3948,45 +3919,50 @@ The final angle will be the base angle plus this amount. - + Pick distance - + Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires - + These objects don't intersect. - + Too many intersection points. + + + B-Spline + + Spline has been closed + + - - Last point has been removed @@ -4120,32 +4096,47 @@ The final angle will be the base angle plus this amount. - - + + Bézier curve + + + + + Bézier curve has been closed - - + + Create BezCurve - - + + Cubic Bézier curve + + + + + Click and drag to define next knot - - + + Ellipse + + + + + Create Ellipse - - + + Pick opposite point @@ -4170,34 +4161,34 @@ The final angle will be the base angle plus this amount. - - - + + + Scale - + Some subelements could not be scaled. - + Unable to scale object: - + Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point @@ -4238,26 +4229,31 @@ The final angle will be the base angle plus this amount. Toggle display mode + + + Dimension + + - + Create Dimension - + Create Dimension (radial) - + Edge too short! - + Edges don't intersect! @@ -4272,37 +4268,42 @@ The final angle will be the base angle plus this amount. - + Pick opposite point of selection rectangle - + Pick start point of displacement - + Pick end point of displacement - + Turning one Rectangle into a Wire - + Stretch - + + Rectangle + + + + Create Plane - + Create Rectangle @@ -4343,8 +4344,8 @@ The final angle will be the base angle plus this amount. - + Select an object to upgrade @@ -4399,41 +4400,41 @@ The final angle will be the base angle plus this amount. - - + + Task panel: + - Polar array - - + + At least one element must be selected. - - + + Selection is not suitable for array. - - - - + + + + Object: @@ -4453,22 +4454,22 @@ The final angle will be the base angle plus this amount. - + Center reset: - - + + Fuse: - - + + Create Link array: @@ -4483,24 +4484,24 @@ The final angle will be the base angle plus this amount. - + Center of rotation: - - + + Aborted: + - Orthogonal array @@ -4565,11 +4566,11 @@ The final angle will be the base angle plus this amount. + - Circular array @@ -4619,12 +4620,22 @@ The final angle will be the base angle plus this amount. - - ShapeString: string has no wires + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + changed 'Tracking' property type + + + + + ShapeString: string has no wires + + + + ShapeString: face creation failed for one character @@ -4694,12 +4705,12 @@ The final angle will be the base angle plus this amount. - + No shape found - + All Shapes must be planar @@ -4802,22 +4813,19 @@ The final angle will be the base angle plus this amount. + + + - - - Wrong input: must be a number. - - - - + @@ -4827,14 +4835,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. @@ -4861,8 +4872,8 @@ The final angle will be the base angle plus this amount. - + Wrong input: must be an integer number. @@ -4897,8 +4908,8 @@ The final angle will be the base angle plus this amount. - + Wrong input: object must not be a list. @@ -5273,9 +5284,9 @@ The final angle will be the base angle plus this amount. - - + + renamed 'DisplayMode' options to 'World/Screen' @@ -5378,6 +5389,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command + + + Fillet + + Delete original objects @@ -5389,32 +5405,32 @@ from menu Tools -> Addon Manager - + Save style - + Name of this new style: - + Warning - + Name exists. Overwrite? - + Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style @@ -5430,21 +5446,21 @@ from menu Tools -> Addon Manager - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True - - + + False @@ -5525,6 +5541,7 @@ from menu Tools -> Addon Manager + Name @@ -5563,6 +5580,71 @@ from menu Tools -> Addon Manager New Layer + + + Custom + + + + + Label + + + + + Position + + + + + Length + + + + + Area + + + + + Volume + + + + + Tag + + + + + Material + + + + + Label + Position + + + + + Label + Length + + + + + Label + Area + + + + + Label + Volume + + + + + Label + Material + + importOCA @@ -5678,12 +5760,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -5983,12 +6065,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. @@ -5997,12 +6079,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools - + Create various types of circular arcs. @@ -6353,12 +6435,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6368,12 +6450,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools - + Create various types of Bézier curves. @@ -6793,30 +6875,55 @@ It is a list of strings; each element in the list will be displayed in its own l - + Text string - + Font file name - + Height of text - + + Horizontal and vertical alignment + + + + + Height reference used for justification + + + + + Keep left margin and leading white space when justification is left + + + + + Scale to ensure cap height is equal to size + + + + Inter-character spacing - + Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + + The base object used by this object @@ -6881,19 +6988,19 @@ set True for fusion or False for compound - + Create a face + + - - The area of this object @@ -6937,8 +7044,8 @@ set True for fusion or False for compound - + The object along which the copies will be distributed. It must contain 'Edges'. @@ -6953,9 +7060,9 @@ set True for fusion or False for compound - - + + Show the individual array elements (only for Link arrays) @@ -7050,8 +7157,8 @@ they will only be editable by changing the style through the 'Annotation st - + The base object that will be duplicated @@ -7794,14 +7901,14 @@ Use 'arch' to force US arch notation - + Arrow size - + Arrow type diff --git a/src/Mod/Draft/Resources/translations/Draft_be.qm b/src/Mod/Draft/Resources/translations/Draft_be.qm index 05a4afcbe6..51756035fd 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_be.qm and b/src/Mod/Draft/Resources/translations/Draft_be.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_be.ts b/src/Mod/Draft/Resources/translations/Draft_be.ts index 24e5401eb5..bc1d8f0d62 100644 --- a/src/Mod/Draft/Resources/translations/Draft_be.ts +++ b/src/Mod/Draft/Resources/translations/Draft_be.ts @@ -999,12 +999,12 @@ value by using the [ and ] keys while drawing Dashed - Штрыхавая + Штрыхавы Dotted - Пункцірная + Пункцірны @@ -1616,7 +1616,6 @@ such as "Arial:Bold" Першапачатковая вышыня для тэкстаў і вымярэнняў - @@ -1624,6 +1623,7 @@ such as "Arial:Bold" + mm мм @@ -1942,9 +1942,9 @@ from the Addon Manager. Дазволіць FreeCAD аўтаматычна спампоўваць і абнаўляць бібліятэкі DXF - - + + Import options Налады імпартавання @@ -2158,8 +2158,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Калі ён усталяваны ў '0', то ўвесь сплайн апрацоўваецца як прамы сегмент. - + Export options Налады экспартавання @@ -2720,10 +2720,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Скапіраваць @@ -2811,21 +2811,21 @@ This might fail for post DXF R12 templates. - + Top Зверху - + Front Спераду - + Side Бок @@ -2902,7 +2902,7 @@ This might fail for post DXF R12 templates. - + Angle Вугал @@ -3081,6 +3081,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Лінія @@ -3101,7 +3102,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Павярнуць @@ -3122,24 +3123,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Зрушэнне - + Distance - Distance + Адлегласць - + Offset distance Адлегласць зрушэння @@ -3150,63 +3151,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Лакальны u0394X - - - Local u0394Y - Лакальны u0394Y - - - Local u0394Z - Лакальны u0394Z - - - Local X - Лакальны X - - - Local Y - Лакальны Y - - - Local Z - Лакальны Z + Local {} + Local {} - Global u0394X - Глабальны u0394X - - - Global u0394Y - Глабальны u0394Y - - - Global u0394Z - Глабальны u0394Z - - - Global X - Глабальны X - - - Global Y - Глабальны Y - - - Global Z - Глабальны Z + Global {} + Global {} @@ -3293,14 +3254,14 @@ or try saving to a lower DWG version. Паспрабуйце перамясціць файл DWG у шлях да каталогу без прабелаў і неангламоўных знакаў, альбо паспрабуйце захаваць у больш ранняй версіі DWG. - - - + + + All Shapes must be coplanar Усе фігуры павінны быць у адной плоскасці - + Selected Shapes must define a plane Абраныя фігуры павінны вызначаць плоскасць @@ -3324,11 +3285,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Каб дазволіць FreeCAD спампаваць гэтыя бібліятэкі, адкажыце "Так". + - Custom Карыстальніцкі @@ -3353,41 +3314,41 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Задайце маштаб, які ўжываецца інструментамі заметкі Чарнавіка - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Без бягучага дакументу. Перарываецца. - - + + + + + - - - - - + + Wrong input: object not in document. Няправільны ўвод: аб'ект адсутнічае ў дакуменце. @@ -3551,60 +3512,65 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Выберыце мэтавую кропку - + Create Label Стварыць метку - - + + Pick endpoint of leader line Выберыце канчатковую кропку лініі зноскі - - + + Pick text position Выберыце становішча тэксту - - + + Pick first point Выберыце першую кропку - + Create Line Стварыць лінію - + Create Wire Стварыць ломаную лінію - - - - - + + Polyline + Ломаная лінія + + + + + + + + + - - Pick next point Выберыце наступную кропку - + Unable to create a Wire from selected objects Немагчыма стварыць ломаную лінію з абраных аб'ектаў - + Convert to Wire Пераўтварыць у ломаную лінію @@ -3676,7 +3642,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer - + Some subelements could not be moved. Некаторыя ўкладзеныя элементы не атрымалася перамясціць. @@ -3687,9 +3653,9 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Выберыце цэнтральную кропку - - - + + + @@ -3697,60 +3663,60 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Выберыце радыус + - - - + + Start angle Пачатковы вугал - - + + Pick start angle Выберыце пачатковы вугал + - - - + + Aperture angle Вугал апертуры - + Pick aperture Выберыце апертуру - + Create Circle (Part) Стварыць акружнасць (дэталь) - + Create Circle Стварыць акружнасць - + Create Arc (Part) Стварыць дугу (дэталь) - + Create Arc Стварыць дугу - + Pick aperture angle Выберыце апертуру вугла - - + + Arc by 3 points Дуга па трох кропках @@ -3816,8 +3782,8 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Абярыце аб'ект для праекту - - + + Create Point Стварыць кропку @@ -3832,40 +3798,40 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Выберыце цэнтр вярчэння - - + + Base angle Асноўны вугал - - + + The base angle you wish to start the rotation from Асноўны вугал, з якога вы жадаеце пачаць вярчэнне - - + + Pick base angle Выберыце асноўны вугал - - + + Rotation Вярчэнне - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Велічыня вярчэння, які вы жадаеце выканаць. Канчатковым вуглом будзе асноўны вугал павялічаны на гэтую велічыню. - - + + Pick rotation angle Выберыце вугал вярчэння @@ -3989,6 +3955,11 @@ The final angle will be the base angle plus this amount. Create fillet Стварыць акругленне + + + Polygon + Шматкутнік + Create Polygon (Part) @@ -4015,45 +3986,50 @@ The final angle will be the base angle plus this amount. Абярыце аб'ект, каб абрэзаць ці выцягнуць - + Pick distance Выберыце адлегласць - + Offset angle Вугал зрушэння - + Unable to trim these objects, only Draft wires and arcs are supported. Немагчыма абрэзаць аб'екты, падтрымліваюцца толькі ломаныя лініі і дугі Чарнавіка. - + Unable to trim these objects, too many wires Немагчыма абрэзаць аб'екты, зашмат ломаных ліній - + These objects don't intersect. Аб'екты не перасякаюцца. - + Too many intersection points. Зашмат кропак скрыжавання. + + + B-Spline + B-сплайн + Spline has been closed Сплайн быў замкнуты + + - - Last point has been removed Апошняя кропка была выдаленая @@ -4187,32 +4163,47 @@ The final angle will be the base angle plus this amount. Канчатковая кропка крывой Без'е не можа быць згладжаны - - + + Bézier curve + Крывая Без'е + + + + Bézier curve has been closed Крывая Без'е была замкнута - - + + Create BezCurve Стварыць крывую Без'е - - + + Cubic Bézier curve + Кубічная крывая Без'е + + + + Click and drag to define next knot Націснуць і перацягнуць, каб вызначыць наступны вузел - - + + Ellipse + Эліпс + + + + Create Ellipse Стварыць эліпс - - + + Pick opposite point Выберыце супрацьлеглую кропку @@ -4237,34 +4228,34 @@ The final angle will be the base angle plus this amount. Выберыце апорную адлегласць ад асноўнай кропкі - - - + + + Scale Маштаб - + Some subelements could not be scaled. Некаторыя ўкладзеныя элементы не могуць быць адмаштабаваныя. - + Unable to scale object: Немагчыма маштабаваць аб'ект: - + Unable to scale objects: Немагчыма маштабаваць аб'екты: - + This object type cannot be scaled directly. Please use the clone method. Дадзены тып аб'екта не атрымалася маштабаваць непасрэдна. Калі ласка, ужывайце метад дубліравання. - + Pick new distance from base point Выберыце новую адлегласць ад асноўнай кропкі @@ -4305,26 +4296,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Пераключыць рэжым адлюстравання + + + Dimension + Вымярэнне + - + Create Dimension Стварыць вымярэнне - + Create Dimension (radial) Стварыць вымярэнне (радыяльны) - + Edge too short! Рабро занадта кароткае! - + Edges don't intersect! Рэбры не перасякаюцца! @@ -4339,37 +4335,42 @@ The final angle will be the base angle plus this amount. Выберыце першую кропку абранага прастакутніка - + Pick opposite point of selection rectangle Выберыце супрацьлеглую кропку абранага прастакутніка - + Pick start point of displacement Выберыце пачатковую кропку зрушэння - + Pick end point of displacement Выберыце канчатковую кропку зрушэння - + Turning one Rectangle into a Wire Ператварэнне аднаго прастакутніка ў ломаную лінію - + Stretch Расцягнуць - + + Rectangle + Прастакутнік + + + Create Plane Стварыць плоскасць - + Create Rectangle Стварыць прастакутнік @@ -4410,8 +4411,8 @@ The final angle will be the base angle plus this amount. Змяніць ухіл - + Select an object to upgrade Абярыце аб'ект для абнаўлення @@ -4466,41 +4467,41 @@ The final angle will be the base angle plus this amount. Разбіць - - + + Task panel: Панэль задач: + - Polar array Палярная сетка - - + + At least one element must be selected. Павінна быць абрана, па меншай меры, адзін элемент. - - + + Selection is not suitable for array. Выбар не падыходзіць для масіву. - - - - + + + + Object: Аб'ект: @@ -4520,22 +4521,22 @@ The final angle will be the base angle plus this amount. Вугал ніжэй 360 градусаў. Для працягу зададзена гэтае значэнне. - + Center reset: Скінуць цэнтр: - - + + Fuse: Аб'яднаць: - - + + Create Link array: Стварыць Сетку спасылак: @@ -4550,24 +4551,24 @@ The final angle will be the base angle plus this amount. Палярны вугал: - + Center of rotation: Цэнтр вярчэння: - - + + Aborted: Перапынена: + - Orthogonal array Артаганальны масіў @@ -4632,11 +4633,11 @@ The final angle will be the base angle plus this amount. Першапачаткова + - Circular array Кругавы масіў @@ -4686,12 +4687,22 @@ The final angle will be the base angle plus this amount. Налады сіметрыі: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires Контур радка: радок не мае ломаных ліній - + ShapeString: face creation failed for one character Контур радка: не атрымалася стварыць грань для аднаго знаку @@ -4761,12 +4772,12 @@ The final angle will be the base angle plus this amount. дададзена ўласцівасць 'ExtraPlacement' - + No shape found Фігура не знойдзена - + All Shapes must be planar Усе фігуры павінны быць плоскімі @@ -4869,22 +4880,19 @@ The final angle will be the base angle plus this amount. Рэжым супастаўлення: + + + - - - Wrong input: must be a number. Няправільны ўвод: павінен быць лік. - - - - + @@ -4894,14 +4902,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Няправільны ўвод: павінен быць вектар. - + Wrong input: must be a list or tuple of strings, or a single string. Няправільны ўвод: павінен быць спіс ці картэж радкоў, альбо адзін радок. @@ -4928,8 +4939,8 @@ The final angle will be the base angle plus this amount. Увод: адно значэнне, які пашыраны ў вектар. - + Wrong input: must be an integer number. Няправільны ўвод: павінен быць цэлы лік. @@ -4964,8 +4975,8 @@ The final angle will be the base angle plus this amount. Няправільны ўвод: павінна быць размяшчэнне, вектар ці паварот. - + Wrong input: object must not be a list. Няправільны ўвод: аб'ект не павінен быць спісам. @@ -5340,9 +5351,9 @@ The final angle will be the base angle plus this amount. дададзена ўласцівасць выгляду 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' налада 'DisplayMode' пераназваная ў 'World/Screen' @@ -5446,6 +5457,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command Вы павінны абраць асноўны аб'ект перад ужываннем дадзенай каманды + + + Fillet + Акругленне + Delete original objects @@ -5457,32 +5473,32 @@ from menu Tools -> Addon Manager Стварыць фаску - + Save style Захаваць стыль - + Name of this new style: Назва новага стылю: - + Warning Папярэджанне - + Name exists. Overwrite? Назва ўжо існуе. Ці перазапісаць? - + Error: json module not found. Unable to load style Памылка: модуль json не знойдзены. Немагчыма загрузіць стыль - + Error: json module not found. Unable to save style Памылка: модуль json не знойдзены. Немагчыма захаваць стыль @@ -5498,21 +5514,21 @@ from menu Tools -> Addon Manager Ухіл - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Напрамак зрушэння не вызначана. Калі ласка, спачатку навядзіце курсор мышы на любы бок ад аб'екта, каб паказаць напрамак - - + + True Ісціна - - + + False Хлусня @@ -5593,6 +5609,7 @@ from menu Tools -> Addon Manager + Name Назва @@ -5631,6 +5648,71 @@ from menu Tools -> Addon Manager New Layer Новы пласт + + + Custom + Карыстальніцкі + + + + Label + Метка + + + + Position + Position + + + + Length + Даўжыня + + + + Area + Плошча + + + + Volume + Аб'ём + + + + Tag + Метка + + + + Material + Матэрыял + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5757,12 +5839,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Ломаная лінія - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Стварае лінію з некалькімі кропкамі (ламаную лінію). <Ctrl> для прывязкі, <Shift> для абмежавання. @@ -6070,12 +6152,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Дуга па трох кропках - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Стварае дугу акружнасці па абраных трох кропках. @@ -6085,12 +6167,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Інструменты дугі - + Create various types of circular arcs. Стварае розныя тыпы круглых дуг. @@ -6456,12 +6538,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Кубічная крывая Без'е - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6473,12 +6555,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Інструменты крывой Без'е - + Create various types of Bézier curves. Стварае розныя тыпы крывых Без'е. @@ -6945,30 +7027,55 @@ It is a list of strings; each element in the list will be displayed in its own l Спіс радкоў; кожны элемент у спісе будзе адлюстраваны асобнай лініяй. - + Text string Тэкставы радок - + Font file name Назва файла шрыфту - + Height of text Вышыня тэксту - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Міжрадковы інтэрвал - + Fill letters with faces Запоўніць літары гранямі + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7034,19 +7141,19 @@ set True for fusion or False for compound - + Create a face Стварыць грань + + - - The area of this object Плошча аб'екту @@ -7090,8 +7197,8 @@ set True for fusion or False for compound Асноўны аб'ект, які будзе паўтарацца. - + The object along which the copies will be distributed. It must contain 'Edges'. Аб'ект, па якім будуць распаўсюджвацца копіі. Ён павінен утрымліваць 'Рэбры'. @@ -7106,9 +7213,9 @@ set True for fusion or False for compound Каэфіцыент павароту скручанай сеткі. - - + + Show the individual array elements (only for Link arrays) Паказваць асобныя элементы масіва (толькі для 'Сетак спасылак') @@ -7227,8 +7334,8 @@ they will only be editable by changing the style through the 'Annotation style e Пры ўжыванні захаванага стылю некаторыя ўласцівасці прадстаўлення стануць даступныя толькі для чытання; іх можна будзе мяняць, толькі калі змяніць стыль з дапамогай інструмента 'Рэдактар стыляў заметкі'. - + The base object that will be duplicated Асноўны аб'ект, які будзе паўторацца @@ -8019,14 +8126,14 @@ Use 'arch' to force US arch notation Ужывайце 'arch' для абазначэння архітэктурнай ЗША - + Arrow size Памер стрэлкі - + Arrow type Тып стрэлкі diff --git a/src/Mod/Draft/Resources/translations/Draft_ca.qm b/src/Mod/Draft/Resources/translations/Draft_ca.qm index c63cb28b16..a13414db6d 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ca.qm and b/src/Mod/Draft/Resources/translations/Draft_ca.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ca.ts b/src/Mod/Draft/Resources/translations/Draft_ca.ts index 7c6be80ca6..a407634fe5 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ca.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ca.ts @@ -1601,7 +1601,6 @@ such as "Arial:Bold" Alçada d'omissió per a textos i dimensions - @@ -1609,6 +1608,7 @@ such as "Arial:Bold" + mm mm @@ -1924,9 +1924,9 @@ del gestor de complements. Permeten a FreeCAD automàticament descarregar i actualitzar les biblioteques DXF - - + + Import options Opcions d'importació @@ -2135,8 +2135,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Longitud màxima de cadascun dels segments de la polilínia. Si s'estableix en «0», l'spline sencer es tracta com un segment recte. - + Export options Opcions d'exportació @@ -2694,10 +2694,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Copia @@ -2785,21 +2785,21 @@ This might fail for post DXF R12 templates. - + Top Planta - + Front Alçat - + Side Costat @@ -2876,7 +2876,7 @@ This might fail for post DXF R12 templates. - + Angle Angle @@ -3053,6 +3053,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Línia @@ -3073,7 +3074,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Rotació @@ -3094,24 +3095,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Equidistancia (ofset) - + Distance Distance - + Offset distance Distància de desplaçament @@ -3122,63 +3123,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - u0394X local - - - Local u0394Y - u0394Y local - - - Local u0394Z - u0394Z local - - - Local X - X local - - - Local Y - Y local - - - Local Z - Z local + Local {} + Local {} - Global u0394X - u0394X global - - - Global u0394Y - u0394Y global - - - Global u0394Z - u0394Z global - - - Global X - Global X - - - Global Y - Global Y - - - Global Z - Global Z + Global {} + Global {} @@ -3264,14 +3225,14 @@ or try saving to a lower DWG version. Error durant la conversió DWG. Proveu de moure el fitxer DWG a un directori amb ruta sense espais ni caràcters no-anglesos, o proveu de desar-lo amb una versió DWG inferior. - - - + + + All Shapes must be coplanar Totes les Formes han de ser coplanars - + Selected Shapes must define a plane Les Formes seleccionades han de definir un pla @@ -3293,11 +3254,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Per habilitar FreeCAD a descarregar aquestes llibreries, respongui Si. + - Custom Personalitzat @@ -3322,41 +3283,41 @@ Per habilitar FreeCAD a descarregar aquestes llibreries, respongui Si.Estableix l'escala utilitzada per les eines d'anotació d'esborranys - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Cap document actiu. Avortant. - - + + + + + - - - - - + + Wrong input: object not in document. Entrada incorrecta: l'objecte no es troba al document. @@ -3520,60 +3481,65 @@ Per habilitar FreeCAD a descarregar aquestes llibreries, respongui Si.Trieu el punt objectiu - + Create Label Crear etiqueta - - + + Pick endpoint of leader line Trieu el punt final de la línia guia - - + + Pick text position Trieu la posició del text - - + + Pick first point Trieu el primer punt - + Create Line Crear línia - + Create Wire Crear Polilínia - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Tria el següent punt - + Unable to create a Wire from selected objects No es pot crear una Polilínia a partir dels objectes seleccionats - + Convert to Wire Convertir a Polilínia @@ -3645,7 +3611,7 @@ Per habilitar FreeCAD a descarregar aquestes llibreries, respongui Si. - + Some subelements could not be moved. Alguns subelements no s'han pogut moure. @@ -3656,9 +3622,9 @@ Per habilitar FreeCAD a descarregar aquestes llibreries, respongui Si.Trieu el punt central - - - + + + @@ -3666,60 +3632,60 @@ Per habilitar FreeCAD a descarregar aquestes llibreries, respongui Si.Trieu el radi + - - - + + Start angle Angle inicial - - + + Pick start angle Trieu l'angle d'inici + - - - + + Aperture angle Angle d'obertura - + Pick aperture Trieu obertura - + Create Circle (Part) Crea Cercle (Part) - + Create Circle Crear Cercle - + Create Arc (Part) Crear Arc (Part) - + Create Arc Crear Arc - + Pick aperture angle Trieu l'angle d'obertura - - + + Arc by 3 points Arc per tres punts @@ -3785,8 +3751,8 @@ Per habilitar FreeCAD a descarregar aquestes llibreries, respongui Si.Seleccioneu un objecte a projectar - - + + Create Point Crear Punt @@ -3801,40 +3767,40 @@ Per habilitar FreeCAD a descarregar aquestes llibreries, respongui Si.Trieu el centre de rotació - - + + Base angle Angle de base - - + + The base angle you wish to start the rotation from L'angle de base d'on voleu iniciar la rotació - - + + Pick base angle Trieu angle de base - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. La quantitat de rotació que voleu realitzar. L'angle final serà l'angle de base més aquesta quantitat. - - + + Pick rotation angle Trieu angle de rotació @@ -3958,6 +3924,11 @@ L'angle final serà l'angle de base més aquesta quantitat. Create fillet Crea un cantell + + + Polygon + Polígon + Create Polygon (Part) @@ -3984,45 +3955,50 @@ L'angle final serà l'angle de base més aquesta quantitat. Seleccioneu objecte(s) per a retallar o allargar - + Pick distance Tria la distància - + Offset angle Angle de Ofset - + Unable to trim these objects, only Draft wires and arcs are supported. No es poden retallar aquests objectes, només es permeten polilínies i arcs. - + Unable to trim these objects, too many wires No es poden retallar aquests objectes, massa polilínies - + These objects don't intersect. Aquests objectes no s'intersequen. - + Too many intersection points. Massa punts d'intersecció. + + + B-Spline + B-Spline + Spline has been closed S'ha tancat la Spline + + - - Last point has been removed S'ha esborrat l'últim punt @@ -4156,32 +4132,47 @@ L'angle final serà l'angle de base més aquesta quantitat. El punt final d'una corba Bézier no es pot suavitzar - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed S’ha tancat la corba Bézier - - + + Create BezCurve Crear corba Bézier - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Feu clic i arrossegueu per definir el següent nus - - + + Ellipse + El·lipse + + + + Create Ellipse Crear El·lipse - - + + Pick opposite point Tria el punt oposat @@ -4206,34 +4197,34 @@ L'angle final serà l'angle de base més aquesta quantitat. Tria la distància de referència des del punt de base - - - + + + Scale Escala - + Some subelements could not be scaled. Alguns subelements no s'han pogut escalar. - + Unable to scale object: No es pot escalar l'objecte: - + Unable to scale objects: No es poden escalar els objectes: - + This object type cannot be scaled directly. Please use the clone method. Aquest tipus d'objecte no es pot escalar directament. Si us plau, useu el mètode de clonació. - + Pick new distance from base point Tria una nova distància des del punt de base @@ -4274,26 +4265,31 @@ L'angle final serà l'angle de base més aquesta quantitat. Toggle display mode Commuta el mode de visualització + + + Dimension + Cota + - + Create Dimension Crea una cota - + Create Dimension (radial) Crea una cota (radial) - + Edge too short! Aresta massa curta! - + Edges don't intersect! Les arestes no intersequen! @@ -4308,37 +4304,42 @@ L'angle final serà l'angle de base més aquesta quantitat. Tria el primer punt del rectangle de selecció - + Pick opposite point of selection rectangle Tria el punt oposat del rectangle de selecció - + Pick start point of displacement Tria el punt inicial del desplaçament - + Pick end point of displacement Tria el punt final del desplaçament - + Turning one Rectangle into a Wire Transformant un rectangle en una Polilínia - + Stretch Estira - + + Rectangle + Rectangle + + + Create Plane Crear Pla - + Create Rectangle Crear Rectangle @@ -4379,8 +4380,8 @@ L'angle final serà l'angle de base més aquesta quantitat. Canvia el pendent - + Select an object to upgrade Select an object to upgrade @@ -4435,41 +4436,41 @@ L'angle final serà l'angle de base més aquesta quantitat. Downgrade - - + + Task panel: Task panel: + - Polar array Matriu polar - - + + At least one element must be selected. Com a mínim s'ha de seleccionar un element. - - + + Selection is not suitable for array. La selecció no és apta per a una matriu. - - - - + + + + Object: Objecte: @@ -4489,22 +4490,22 @@ L'angle final serà l'angle de base més aquesta quantitat. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4519,24 +4520,24 @@ L'angle final serà l'angle de base més aquesta quantitat. Angle polar: - + Center of rotation: Centre de rotació: - - + + Aborted: Avortat: + - Orthogonal array Matriu ortogonal @@ -4601,11 +4602,11 @@ L'angle final serà l'angle de base més aquesta quantitat. Per defecte + - Circular array Matriu circular @@ -4655,12 +4656,22 @@ L'angle final serà l'angle de base més aquesta quantitat. Paràmetre de simetria: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4730,12 +4741,12 @@ L'angle final serà l'angle de base més aquesta quantitat. added property 'ExtraPlacement' - + No shape found No s'ha trobat cap forma - + All Shapes must be planar All Shapes must be planar @@ -4838,22 +4849,19 @@ L'angle final serà l'angle de base més aquesta quantitat. Map mode: + + + - - - Wrong input: must be a number. Entrada incorrecta: ha de ser un nombre. - - - - + @@ -4863,14 +4871,17 @@ L'angle final serà l'angle de base més aquesta quantitat. - + + + + Wrong input: must be a vector. Entrada incorrecta: ha de ser un vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4897,8 +4908,8 @@ L'angle final serà l'angle de base més aquesta quantitat. Input: single value expanded to vector. - + Wrong input: must be an integer number. Entrada incorrecta: ha de ser un nombre enter. @@ -4933,8 +4944,8 @@ L'angle final serà l'angle de base més aquesta quantitat. Entrada incorrecta: ha de ser un posicionament, un vector o una rotació. - + Wrong input: object must not be a list. Entrada incorrecta: l'objecte no ha de ser una llista. @@ -5309,9 +5320,9 @@ L'angle final serà l'angle de base més aquesta quantitat. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5416,6 +5427,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Arrodoniment + Delete original objects @@ -5427,32 +5443,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Avís - + Name exists. Overwrite? El nom ja existeix. El sobreescric? - + Error: json module not found. Unable to load style Error: no es troba el mòdul json. No es pot carregar l'estil - + Error: json module not found. Unable to save style Error: no es troba el mòdul json. No es pot desar l'estil @@ -5468,21 +5484,21 @@ from menu Tools -> Addon Manager Pendent - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction La direcció d'equidistància no ha sigut definida. Per favor, mou el cursor a un costat o altre de l'objecte per indicar-ne la direcció - - + + True Cert - - + + False Fals @@ -5563,6 +5579,7 @@ from menu Tools -> Addon Manager + Name Nom @@ -5601,6 +5618,71 @@ from menu Tools -> Addon Manager New Layer Nova capa + + + Custom + Personalitzat + + + + Label + Etiqueta + + + + Position + Position + + + + Length + Longitud + + + + Area + Àrea + + + + Volume + Volum + + + + Tag + Tag + + + + Material + Material + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5728,12 +5810,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6039,12 +6121,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc per tres punts - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6054,12 +6136,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6428,12 +6510,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6445,12 +6527,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6920,30 +7002,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Cadena de text - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7010,19 +7117,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7066,8 +7173,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7082,9 +7189,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7213,8 +7320,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8017,14 +8124,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Mida de la fletxa - + Arrow type Tipus de fletxa diff --git a/src/Mod/Draft/Resources/translations/Draft_cs.qm b/src/Mod/Draft/Resources/translations/Draft_cs.qm index 52534788e4..529008c942 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_cs.qm and b/src/Mod/Draft/Resources/translations/Draft_cs.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_cs.ts b/src/Mod/Draft/Resources/translations/Draft_cs.ts index c25834126f..a11127eebf 100644 --- a/src/Mod/Draft/Resources/translations/Draft_cs.ts +++ b/src/Mod/Draft/Resources/translations/Draft_cs.ts @@ -1611,7 +1611,6 @@ such as "Arial:Bold" Výchozí výšku pro texty a rozměry - @@ -1619,6 +1618,7 @@ such as "Arial:Bold" + mm mm @@ -1937,9 +1937,9 @@ ze Správce doplňků. Povolit FreeCADu automaticky stáhnout a aktualizovat DXF knihovny - - + + Import options Možnosti importu @@ -2157,8 +2157,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Pokud je nastavena na '0', celý spline se považuje za přímý segment. - + Export options Možnosti exportu @@ -2717,10 +2717,10 @@ To může selhat u šablon post DXF R12. - - - - + + + + Copy Kopírovat @@ -2808,21 +2808,21 @@ To může selhat u šablon post DXF R12. - + Top Horní - + Front Přední - + Side Strana @@ -2899,7 +2899,7 @@ To může selhat u šablon post DXF R12. - + Angle Úhel @@ -3079,6 +3079,7 @@ Není k dispozici, pokud je povolena možnost předvolby návrhu „Použít zá + Line Čára @@ -3099,7 +3100,7 @@ Není k dispozici, pokud je povolena možnost předvolby návrhu „Použít zá - + Rotate Otočit @@ -3120,24 +3121,24 @@ Není k dispozici, pokud je povolena možnost předvolby návrhu „Použít zá + + + - - - Offset Odstup - + Distance - Distance + Vzdálenost - + Offset distance Offsetová vzdálenost @@ -3148,63 +3149,23 @@ Není k dispozici, pokud je povolena možnost předvolby návrhu „Použít zá - Local u0394X - Místní u0394X - - - Local u0394Y - Místní u0394Y - - - Local u0394Z - Místní u0394Z - - - Local X - Místní X - - - Local Y - Místní Y - - - Local Z - Místní Z + Local {} + Local {} - Global u0394X - Globální u0394X - - - Global u0394Y - Globální u0394Y - - - Global u0394Z - Globální u0394Z - - - Global X - Globální X - - - Global Y - Globální Y - - - Global Z - Globální Z + Global {} + Global {} @@ -3293,14 +3254,14 @@ Zkuste přesunout soubor DWG do cesty k adresáři bez mezer a neanglických zna nebo zkuste uložit do nižší verze DWG. - - - + + + All Shapes must be coplanar Všechny tvary musí být koplanární - + Selected Shapes must define a plane Vybrané tvary musí definovat rovinu @@ -3324,11 +3285,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Chcete-li povolit FreeCAD stahování těchto knihoven, odpovězte Ano. + - Custom Vlastní @@ -3353,41 +3314,41 @@ Chcete-li povolit FreeCAD stahování těchto knihoven, odpovězte Ano.Nastavte měřítko používané nástroji pro poznámky konceptu - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Žádný aktivní dokument. Přerušení. - - + + + + + - - - - - + + Wrong input: object not in document. Chybný vstup: objekt není v dokumentu. @@ -3551,60 +3512,65 @@ Chcete-li povolit FreeCAD stahování těchto knihoven, odpovězte Ano.Vyberte cílový bod - + Create Label Vytvořit štítek - - + + Pick endpoint of leader line Vyberte koncový bod odkazové čáry - - + + Pick text position Vyberte pozici textu - - + + Pick first point Vyberte první bod - + Create Line Vytvořit čáru - + Create Wire Vytvořit drát - - - - - + + Polyline + Lomená čára + + + + + + + + + - - Pick next point Vybrat další bod - + Unable to create a Wire from selected objects Nelze vytvořit drát z vybraných objektů - + Convert to Wire Převést na drát @@ -3676,7 +3642,7 @@ Chcete-li povolit FreeCAD stahování těchto knihoven, odpovězte Ano. - + Some subelements could not be moved. Některé dílčí prvky nebylo možné přesunout. @@ -3687,9 +3653,9 @@ Chcete-li povolit FreeCAD stahování těchto knihoven, odpovězte Ano.Vyberte středový bod - - - + + + @@ -3697,60 +3663,60 @@ Chcete-li povolit FreeCAD stahování těchto knihoven, odpovězte Ano.Vyberte poloměr + - - - + + Start angle Počáteční úhel - - + + Pick start angle Vyberte počáteční úhel + - - - + + Aperture angle Úhel clony - + Pick aperture Vyberte clonu - + Create Circle (Part) Vytvořit kruh (část) - + Create Circle Vytvořte kruh - + Create Arc (Part) Vytvořit oblouk (část) - + Create Arc Vytvořit oblouk - + Pick aperture angle Vyberte úhel clony - - + + Arc by 3 points Oblouk o 3 body @@ -3816,8 +3782,8 @@ Chcete-li povolit FreeCAD stahování těchto knihoven, odpovězte Ano.Vyberte objekt, který chcete promítnout - - + + Create Point Vytvořit bod @@ -3832,40 +3798,40 @@ Chcete-li povolit FreeCAD stahování těchto knihoven, odpovězte Ano.Vyberte střed otáčení - - + + Base angle Základní úhel - - + + The base angle you wish to start the rotation from Základní úhel, ze kterého chcete začít otáčení - - + + Pick base angle Vyberte úhel základny - - + + Rotation - Rotation + Rotace - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Míra rotace, kterou chcete provést. Konečný úhel bude základní úhel plus tato hodnota. - - + + Pick rotation angle Vyberte úhel natočení @@ -3989,6 +3955,11 @@ Konečný úhel bude základní úhel plus tato hodnota. Create fillet Vytvořit zaoblení + + + Polygon + Mnohoúhelník + Create Polygon (Part) @@ -4015,45 +3986,50 @@ Konečný úhel bude základní úhel plus tato hodnota. Vyberte objekty, které chcete oříznout nebo prodloužit - + Pick distance Vyberte vzdálenost - + Offset angle Úhel odsazení - + Unable to trim these objects, only Draft wires and arcs are supported. Tyto objekty nelze oříznout, jsou podporovány pouze dráty a oblouky. - + Unable to trim these objects, too many wires Tyto předměty nelze oříznout, příliš mnoho drátů - + These objects don't intersect. Tyto objekty se nekříží. - + Too many intersection points. Příliš mnoho průsečíků. + + + B-Spline + B-splajn + Spline has been closed Spline byl uzavřen + + - - Last point has been removed Poslední bod byl odstraněn @@ -4187,32 +4163,47 @@ Konečný úhel bude základní úhel plus tato hodnota. Koncový bod BezCurve nelze vyhlazovat - - + + Bézier curve + Bézierova křivka + + + + Bézier curve has been closed Bézierova křivka byla uzavřena - - + + Create BezCurve Vytvořte BezCurve - - + + Cubic Bézier curve + Kubická Bézierova křivka + + + + Click and drag to define next knot Kliknutím a tažením definujte další uzel - - + + Ellipse + Elipsa + + + + Create Ellipse Vytvořte Elipsu - - + + Pick opposite point Vyberte opačný bod @@ -4237,34 +4228,34 @@ Konečný úhel bude základní úhel plus tato hodnota. Vyberte referenční vzdálenost od základního bodu - - - + + + Scale Změna velikosti - + Some subelements could not be scaled. Některé dílčí prvky nebylo možné škálovat. - + Unable to scale object: Nelze změnit měřítko objektu: - + Unable to scale objects: Nelze změnit měřítko objektů: - + This object type cannot be scaled directly. Please use the clone method. Tento typ objektu nelze změnit přímo. Použijte prosím metodu klonování. - + Pick new distance from base point Vyberte novou vzdálenost od základního bodu @@ -4305,26 +4296,31 @@ Konečný úhel bude základní úhel plus tato hodnota. Toggle display mode Přepnout režim zobrazení + + + Dimension + Rozměr + - + Create Dimension Vytvořit kótu - + Create Dimension (radial) Vytvořit kótu (radiální) - + Edge too short! Hrana je příliš krátká! - + Edges don't intersect! Hrany se neprotínají! @@ -4339,37 +4335,42 @@ Konečný úhel bude základní úhel plus tato hodnota. Vyberte první bod obdélníku výběru - + Pick opposite point of selection rectangle Vyberte opačný bod výběrového obdélníku - + Pick start point of displacement Vyberte počáteční bod posunu - + Pick end point of displacement Vyberte koncový bod posunutí - + Turning one Rectangle into a Wire Proměna jednoho obdélníku na drát - + Stretch Roztažení - + + Rectangle + Obdélník + + + Create Plane Vytvořit rovinu - + Create Rectangle Vytvořte obdélník @@ -4410,8 +4411,8 @@ Konečný úhel bude základní úhel plus tato hodnota. Změnit sklon - + Select an object to upgrade Vyberte objekt, který chcete upgradovat @@ -4466,41 +4467,41 @@ Konečný úhel bude základní úhel plus tato hodnota. Přejít na nižší verzi - - + + Task panel: Panel úkolů: + - Polar array Polární pole - - + + At least one element must be selected. Musí být vybrán alespoň jeden prvek. - - + + Selection is not suitable for array. Výběr není vhodný pro pole. - - - - + + + + Object: Objekt: @@ -4520,22 +4521,22 @@ Konečný úhel bude základní úhel plus tato hodnota. Úhel je pod -360 stupňů. Pro pokračování je nastavena na tuto hodnotu. - + Center reset: Obnovení středu: - - + + Fuse: Pojistka: - - + + Create Link array: Vytvořit pole odkazů: @@ -4550,24 +4551,24 @@ Konečný úhel bude základní úhel plus tato hodnota. Polární úhel: - + Center of rotation: Střed otáčení: - - + + Aborted: Přerušeno: + - Orthogonal array Orthogonální pole @@ -4632,11 +4633,11 @@ Konečný úhel bude základní úhel plus tato hodnota. Výchozí + - Circular array Kruhové pole @@ -4686,12 +4687,22 @@ Konečný úhel bude základní úhel plus tato hodnota. Parametr symetrie: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: řetězec nemá žádné dráty - + ShapeString: face creation failed for one character ShapeString: vytvoření obličeje se nezdařilo pro jeden znak @@ -4761,12 +4772,12 @@ Konečný úhel bude základní úhel plus tato hodnota. přidána vlastnost 'ExtraPlacement' - + No shape found Nebyl nalezen žádný tvar - + All Shapes must be planar Všechny tvary musí být rovinné @@ -4869,22 +4880,19 @@ Konečný úhel bude základní úhel plus tato hodnota. Režim mapy: + + + - - - Wrong input: must be a number. Chybné zadání: musí to být číslo. - - - - + @@ -4894,14 +4902,17 @@ Konečný úhel bude základní úhel plus tato hodnota. - + + + + Wrong input: must be a vector. Chybný vstup: musí to být vektor. - + Wrong input: must be a list or tuple of strings, or a single string. Chybný vstup: musí to být seznam nebo n-tice řetězců nebo jeden řetězec. @@ -4928,8 +4939,8 @@ Konečný úhel bude základní úhel plus tato hodnota. Vstup: jedna hodnota rozšířena na vektor. - + Wrong input: must be an integer number. Chybný vstup: musí to být celé číslo. @@ -4964,8 +4975,8 @@ Konečný úhel bude základní úhel plus tato hodnota. Chybný vstup: musí to být umístění, vektor nebo otočení. - + Wrong input: object must not be a list. Chybný vstup: objekt nesmí být seznam. @@ -5340,9 +5351,9 @@ Konečný úhel bude základní úhel plus tato hodnota. přidána vlastnost zobrazení 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' přejmenoval možnosti 'DisplayMode' na 'World/Screen' @@ -5447,6 +5458,11 @@ z nabídky Nástroje -> Správce doplňků You must choose a base object before using this command Před použitím tohoto příkazu musíte vybrat základní objekt + + + Fillet + Zaoblení + Delete original objects @@ -5458,32 +5474,32 @@ z nabídky Nástroje -> Správce doplňků Vytvořte zkosení - + Save style Uložit styl - + Name of this new style: Název tohoto nového stylu: - + Warning Varování - + Name exists. Overwrite? Jméno existuje. Přepsat? - + Error: json module not found. Unable to load style Chyba: modul json nebyl nalezen. Styl nelze načíst - + Error: json module not found. Unable to save style Chyba: modul json nebyl nalezen. Styl nelze uložit @@ -5496,24 +5512,24 @@ z nabídky Nástroje -> Správce doplňků Slope - Slope + Sklon - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Směr odsazení není definován. Nejprve pohybujte myší na obě strany objektu, abyste označili směr - - + + True Pravda - - + + False Nepravda @@ -5580,7 +5596,7 @@ z nabídky Nástroje -> Správce doplňků Writing camera position - Writing camera position + Zápis polohy kamery @@ -5594,6 +5610,7 @@ z nabídky Nástroje -> Správce doplňků + Name Jméno @@ -5632,6 +5649,71 @@ z nabídky Nástroje -> Správce doplňků New Layer Nová vrstva + + + Custom + Vlastní + + + + Label + Štítek + + + + Position + Position + + + + Length + Délka + + + + Area + Oblast + + + + Volume + Objem + + + + Tag + Štítek + + + + Material + Materiál + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5759,12 +5841,12 @@ budou použity k poskytování informací na štítku. Draft_Wire - + Polyline Lomená čára - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Vytvoří čáru s více body (křivku). CTRL pro přichycení, SHIFT pro omezení. @@ -6070,12 +6152,12 @@ CTRL pro přichycení, SHIFT pro omezení. Draft_Arc_3Points - + Arc by 3 points Oblouk o 3 body - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Vytvoří kruhový oblouk výběrem 3 bodů. @@ -6085,12 +6167,12 @@ CTRL pro přichycení, SHIFT pro omezení. Draft_ArcTools - + Arc tools Obloukové nástroje - + Create various types of circular arcs. Vytvářejte různé typy kruhových oblouků. @@ -6459,12 +6541,12 @@ CTRL pro přichycení, SHIFT pro omezení. Draft_CubicBezCurve - + Cubic Bézier curve Kubická Bézierova křivka - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6476,12 +6558,12 @@ CTRL pro přichycení, SHIFT pro omezení. Draft_BezierTools - + Bézier tools Bézierovy nástroje - + Create various types of Bézier curves. Vytvářejte různé typy Bézierových křivek. @@ -6952,30 +7034,55 @@ It is a list of strings; each element in the list will be displayed in its own l Je to seznam řetězců; každý prvek v seznamu se zobrazí na vlastním řádku. - + Text string Textový řetězec - + Font file name Název souboru písma - + Height of text Výška textu - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Meziznakové mezery - + Fill letters with faces Vyplňte písmena tvářemi + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7042,19 +7149,19 @@ nastavte True pro fúzi nebo False pro sloučeninu - + Create a face Vytvořte obličej + + - - The area of this object Rozloha tohoto objektu @@ -7098,8 +7205,8 @@ nastavte True pro fúzi nebo False pro sloučeninu Základní objekt, který bude duplikován. - + The object along which the copies will be distributed. It must contain 'Edges'. Objekt, podél kterého budou kopie distribuovány. Musí obsahovat 'Edges'. @@ -7114,9 +7221,9 @@ nastavte True pro fúzi nebo False pro sloučeninu Rotační faktor krouceného pole. - - + + Show the individual array elements (only for Link arrays) Zobrazit jednotlivé prvky pole (pouze pro pole Link) @@ -7245,8 +7352,8 @@ Při použití uloženého stylu se některé vlastnosti pohledu stanou pouze pr budou upravitelné pouze změnou stylu pomocí nástroje 'Editor stylu anotací'. - + The base object that will be duplicated Základní objekt, který bude duplikován @@ -7562,7 +7669,7 @@ Tato vlastnost je pouze pro čtení, protože počet závisí na bodech v 'Point The placement of this object - The placement of this object + Umístění tohoto objektu @@ -8037,7 +8144,7 @@ Napište '$dim' tak, aby bylo nahrazeno délkou kóty. Show the unit suffix - Show the unit suffix + Ukaž příponu jednotek @@ -8049,14 +8156,14 @@ Pro výchozí nastavení systému ponechte prázdné. Použijte 'oblouk' k vynucení americké obloukové notace - + Arrow size Velikost šipky - + Arrow type Typ šipky diff --git a/src/Mod/Draft/Resources/translations/Draft_de.qm b/src/Mod/Draft/Resources/translations/Draft_de.qm index 4012a2242d..a63af1e623 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_de.qm and b/src/Mod/Draft/Resources/translations/Draft_de.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_de.ts b/src/Mod/Draft/Resources/translations/Draft_de.ts index 0d4cc094c5..6afe741bf4 100644 --- a/src/Mod/Draft/Resources/translations/Draft_de.ts +++ b/src/Mod/Draft/Resources/translations/Draft_de.ts @@ -993,7 +993,7 @@ value by using the [ and ] keys while drawing Solid - Festkörper + Durchgezogen @@ -1124,7 +1124,7 @@ value by using the [ and ] keys while drawing Dimensions - Bemaßungen + Abmessungen @@ -1612,7 +1612,6 @@ such as "Arial:Bold" Standardhöhe für Texte und Bemaßungen - @@ -1620,6 +1619,7 @@ such as "Arial:Bold" + mm mm @@ -1937,9 +1937,9 @@ im Addon Manager installieren. FreeCAD das automatische Herunterladen und Aktualisieren der DXF-Bibliotheken erlauben - - + + Import options Import Einstellungen @@ -1991,7 +1991,7 @@ im Addon Manager installieren. *blocks - *blocks + *Blöcke @@ -2156,8 +2156,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Wenn sie auf '0' gesetzt ist, wird der gesamte Spline als geradliniger Abschnitt behandelt. - + Export options Export Einstellungen @@ -2332,7 +2332,7 @@ Dies kann bei neueren als DXF R12 Vorlagen fehlschlagen. Mainlines will be drawn thicker. Specify here how many squares between mainlines. - Hauptlinien werden dicker gezeichnet. Geben Sie hier an, wie viele Quadrate zwischen den Hauptlinien liegen. + Hauptlinien werden dicker gezeichnet. Legen Sie hier fest, wie viele Kästchen zwischen den Hauptlinien sein sollen. @@ -2716,10 +2716,10 @@ Dies kann bei neueren als DXF R12 Vorlagen fehlschlagen. - - - - + + + + Copy Kopieren @@ -2793,7 +2793,7 @@ Dies kann bei neueren als DXF R12 Vorlagen fehlschlagen. Set Working Plane - Arbeitsebene setzen + Arbeitsebene festlegen @@ -2807,21 +2807,21 @@ Dies kann bei neueren als DXF R12 Vorlagen fehlschlagen. - + Top - Draufsicht + Oben - + Front - Vorderansicht + Vorne - + Side Seite @@ -2898,7 +2898,7 @@ Dies kann bei neueren als DXF R12 Vorlagen fehlschlagen. - + Angle Winkel @@ -2957,7 +2957,7 @@ Nicht verfügbar, wenn die Option "Primitive Teile verwenden" aktiviert ist Finish - Fertig + Fertigstellen @@ -3077,6 +3077,7 @@ Nicht verfügbar, wenn die Option "Primitive Teile verwenden" aktiviert ist + Line Linie @@ -3097,7 +3098,7 @@ Nicht verfügbar, wenn die Option "Primitive Teile verwenden" aktiviert ist - + Rotate Drehen @@ -3109,7 +3110,7 @@ Nicht verfügbar, wenn die Option "Primitive Teile verwenden" aktiviert ist Label - Bezeichnung + Beschriftung @@ -3118,24 +3119,24 @@ Nicht verfügbar, wenn die Option "Primitive Teile verwenden" aktiviert ist + + + - - - Offset Versetzen - + Distance - Abstand + Entfernung - + Offset distance Versatzabstand @@ -3146,63 +3147,23 @@ Nicht verfügbar, wenn die Option "Primitive Teile verwenden" aktiviert ist - Local u0394X - Lokal u0394X - - - Local u0394Y - Lokal u0394Y - - - Local u0394Z - Lokal u0394Z - - - Local X - Lokales X - - - Local Y - Lokales Y - - - Local Z - Lokales Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Globales X - - - Global Y - Globales Y - - - Global Z - Globales Z + Global {} + Global {} @@ -3290,14 +3251,14 @@ or try saving to a lower DWG version. Versuchen Sie, die DWG-Datei in einen Verzeichnispfad ohne Leerzeichen und nicht-englische Zeichen zu verschieben oder versuchen Sie, in einer niedrigeren DWG-Version zu speichern. - - - + + + All Shapes must be coplanar Alle Formen müssen komplanar sein - + Selected Shapes must define a plane Ausgewählte Formen müssen eine Ebene definieren @@ -3320,11 +3281,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importerTo. Um FreeCAD zu erlauben, diese Bibliotheken herunterzuladen, wählen Sie "Ja". + - Custom Benutzerdefiniert @@ -3349,41 +3310,41 @@ Um FreeCAD zu erlauben, diese Bibliotheken herunterzuladen, wählen Sie "Ja".
Maßstab für Draft-Beschriftungswerkzeuge festlegen - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Kein aktives Dokument. Abbruch. - - + + + + + - - - - - + + Wrong input: object not in document. Falsche Eingabe: Objekt nicht im Dokument. @@ -3547,60 +3508,65 @@ Um FreeCAD zu erlauben, diese Bibliotheken herunterzuladen, wählen Sie "Ja".
Zielpunkt auswählen - + Create Label Beschriftung erstellen - - + + Pick endpoint of leader line Wählen Sie den End-Punkt der Führungslinie - - + + Pick text position Textposition auswählen - - + + Pick first point Ersten Punkt auswählen - + Create Line Linie erstellen - + Create Wire Erzeuge Kante - - - - - + + Polyline + Polylinie + + + + + + + + + - - Pick next point Nächsten Punkt auswählen - + Unable to create a Wire from selected objects Es kann kein Kantenzug von den ausgewählten Objekten erstellt werden - + Convert to Wire Umwandlung in Kantenzug @@ -3672,7 +3638,7 @@ Um FreeCAD zu erlauben, diese Bibliotheken herunterzuladen, wählen Sie "Ja".
- + Some subelements could not be moved. Einige Unterelemente konnten nicht verschoben werden. @@ -3683,9 +3649,9 @@ Um FreeCAD zu erlauben, diese Bibliotheken herunterzuladen, wählen Sie "Ja".Mittelpunkt auswählen - - - + + + @@ -3693,60 +3659,60 @@ Um FreeCAD zu erlauben, diese Bibliotheken herunterzuladen, wählen Sie "Ja".Radius auswählen + - - - + + Start angle Startwinkel - - + + Pick start angle Startwinkel auswählen + - - - + + Aperture angle Öffnungswinkel - + Pick aperture Öffnung wählen - + Create Circle (Part) Kreis erstellen (Teil) - + Create Circle Kreis erstellen - + Create Arc (Part) Bogen erstellen (Part) - + Create Arc Bogen erstellen - + Pick aperture angle Öffnungswinkel wählen - - + + Arc by 3 points Bogen aus 3 Punkten @@ -3812,8 +3778,8 @@ Um FreeCAD zu erlauben, diese Bibliotheken herunterzuladen, wählen Sie "Ja".Wählen Sie ein zu projizierendes Objekt aus - - + + Create Point Punkt erstellen @@ -3828,40 +3794,40 @@ Um FreeCAD zu erlauben, diese Bibliotheken herunterzuladen, wählen Sie "Ja".Drehzentrum auswählen - - + + Base angle Basiswinkel - - + + The base angle you wish to start the rotation from Der Basiswinkel, von dem aus die Drehung gestartet werden soll - - + + Pick base angle Basiswinkel auswählen - - + + Rotation Drehung - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Die Menge an Rotation, die Sie ausführen möchten. Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. - - + + Pick rotation angle Drehwinkel auswählen @@ -3893,7 +3859,7 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Autogroup - Autogruppe + Automatische Gruppe @@ -3983,7 +3949,12 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Create fillet - Verrundung erstellen + Abrundung erstellen + + + + Polygon + Polygon @@ -4011,45 +3982,50 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Wählen Sie Objekt(e) zum verkürzen/verlängern - + Pick distance Abstand auswählen - + Offset angle Versatzwinkel - + Unable to trim these objects, only Draft wires and arcs are supported. Objekte könne nicht getrimmt werden, nur Draft Linien und Bögen werden unterstützt. - + Unable to trim these objects, too many wires Objekte könne nicht getrimmt werden, zu viele Kantenzüge - + These objects don't intersect. Diese Objekte überschneiden sich nicht. - + Too many intersection points. Zu viele Schnittpunkte. + + + B-Spline + B-Spline + Spline has been closed Spline wurde geschlossen + + - - Last point has been removed Der letzte Punkt wurde entfernt @@ -4184,32 +4160,47 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Endpunkt einer Bézierkurve kann nicht geglättet werden - - + + Bézier curve + Bézierkurve + + + + Bézier curve has been closed Bézierkurve wurde geschlossen - - + + Create BezCurve Bézierkurve erstellen - - + + Cubic Bézier curve + Kubische Bézierkurve + + + + Click and drag to define next knot Klicken und ziehen, um den nächsten Knoten zu definieren - - + + Ellipse + Ellipse + + + + Create Ellipse Ellipse erstellen - - + + Pick opposite point Gegenüberliegenden Punkt auswählen @@ -4234,34 +4225,34 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Referenzabstand zum Basispunkt auswählen - - - + + + Scale Skalieren - + Some subelements could not be scaled. Einige Unterelemente konnten nicht skaliert werden. - + Unable to scale object: Kann Objekt nicht skalieren: - + Unable to scale objects: Kann Objekte nicht skalieren: - + This object type cannot be scaled directly. Please use the clone method. Dieser Objekttyp kann nicht direkt skaliert werden. Bitte verwenden Sie die Klon-Methode. - + Pick new distance from base point Neuen Abstand zum Basispunkt auswählen @@ -4302,26 +4293,31 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Toggle display mode Anzeigemodus umschalten + + + Dimension + Abmessungen + - + Create Dimension - Maß erstellen + Bemaßung erstellen - + Create Dimension (radial) Maß erstellen (radial) - + Edge too short! Kante zu kurz! - + Edges don't intersect! Kanten schneiden sich nicht! @@ -4336,37 +4332,42 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Wählen Sie den ersten Punkt der Rechteck Auswahl - + Pick opposite point of selection rectangle Wählen Sie den gegenüberliegenden Punkt des Auswahlrechtecks - + Pick start point of displacement Startpunkt der Verschiebung auswählen - + Pick end point of displacement Endpunkt der Verschiebung auswählen - + Turning one Rectangle into a Wire Verwandle ein Rechteck in Kantenzug - + Stretch Strecken - + + Rectangle + Rechteck + + + Create Plane Ebene erstellen - + Create Rectangle Rechteck erstellen @@ -4407,8 +4408,8 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Neigung ändern - + Select an object to upgrade Objekt zum Upgrade auswählen @@ -4463,41 +4464,41 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Zurückstufen - - + + Task panel: Taskleiste: + - Polar array Polare Anordnung - - + + At least one element must be selected. Es muss mindestens ein Element ausgewählt werden. - - + + Selection is not suitable for array. Die Auswahl ist für Anordnungen ungeeignet. - - - - + + + + Object: Objekt: @@ -4517,22 +4518,22 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Der Winkel liegt unter -360 Grad. Dieser Wert wird gesetzt, um fortzufahren. - + Center reset: Zentrieren: - - + + Fuse: Verschmelzen: - - + + Create Link array: Verknüpfungsanordnung erstellen: @@ -4547,24 +4548,24 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Polarwinkel: - + Center of rotation: Drehpunkt: - - + + Aborted: Abgebrochen: + - Orthogonal array Rechtwinklige Anordnung @@ -4629,11 +4630,11 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Standard + - Circular array Kreisförmige Anordnung @@ -4683,12 +4684,22 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Symmetrie-Parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: Die Zeichenfolge hat keine Linien - + ShapeString: face creation failed for one character ShapeString: Flächenerstellung für ein Zeichen fehlgeschlagen @@ -4758,12 +4769,12 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. hinzugefügte Eigenschaft 'ExtraPlacement' - + No shape found Keine Form gefunden - + All Shapes must be planar Alle Formen müssen eben sein @@ -4790,7 +4801,7 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Segment - Segment + Abschnitt @@ -4837,7 +4848,7 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Center: - Drehpunkt: + Zentrum: @@ -4866,22 +4877,19 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Kartenmodus: + + + - - - Wrong input: must be a number. Falsche Eingabe: muss eine Zahl sein. - - - - + @@ -4891,14 +4899,17 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. - + + + + Wrong input: must be a vector. Falsche Eingabe: muss ein Vektor sein. - + Wrong input: must be a list or tuple of strings, or a single string. Falsche Eingabe: muss eine Liste oder ein Tupel von Zeichenketten oder eine einzelne Zeichenkette sein. @@ -4925,8 +4936,8 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Eingabe: Einzelwert auf Vektor erweitert. - + Wrong input: must be an integer number. Falsche Eingabe: muss eine Ganzzahl sein. @@ -4961,8 +4972,8 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. Falsche Eingabe: muss eine Platzierung, ein Vektor oder eine Drehung sein. - + Wrong input: object must not be a list. Falsche Eingabe: Objekt darf keine Liste sein. @@ -5337,9 +5348,9 @@ Der endgültige Winkel ist der Basiswinkel plus dieser Betrag. hinzugefügte Ansichtseigenschaft 'ScaleMultiplier' - - + + renamed 'DisplayMode' options to 'World/Screen' 'DisplayMode'-Optionen in 'World/Screen' umbenannt @@ -5444,6 +5455,11 @@ aus dem Menü Extras -> Addon Manager You must choose a base object before using this command Sie müssen ein Basisobjekt auswählen, bevor Sie diesen Befehl verwenden können + + + Fillet + Abrundung + Delete original objects @@ -5455,32 +5471,32 @@ aus dem Menü Extras -> Addon Manager Fase erstellen - + Save style Stil speichern - + Name of this new style: Name dieses neuen Stils: - + Warning Warnung - + Name exists. Overwrite? Name existiert. Überschreiben? - + Error: json module not found. Unable to load style Fehler: json-Modul nicht gefunden. Stil konnte nicht geladen werden - + Error: json module not found. Unable to save style Fehler: json-Modul nicht gefunden. Stil konnte nicht gespeichert werden @@ -5496,23 +5512,23 @@ aus dem Menü Extras -> Addon Manager Neigung - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Versatz-Richtung ist nicht definiert. Bitte bewegen Sie die Maus zunächst auf eine Seite des Objekts, um die Richtung festzulegen - - + + True - Wahr + Ja - - + + False - Falsch + Nein @@ -5577,7 +5593,7 @@ aus dem Menü Extras -> Addon Manager Writing camera position - Writing camera position + Kameraposition schreiben @@ -5591,6 +5607,7 @@ aus dem Menü Extras -> Addon Manager + Name Name @@ -5629,6 +5646,71 @@ aus dem Menü Extras -> Addon Manager New Layer Neue Ebene + + + Custom + Benutzerdefiniert + + + + Label + Beschriftung + + + + Position + Position + + + + Length + Länge + + + + Area + Fläche + + + + Volume + Volumen + + + + Tag + Haltesteg, Markierung, Benennung + + + + Material + Material + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5716,7 +5798,7 @@ Eine 'Verknüpfungsanordnung' ist effektiver, wenn viele Kopien verarbeitet werd Label - Bezeichnung + Beschriftung @@ -5754,12 +5836,12 @@ STRG zum Fangen, SHIFT zum Festlegen. Draft_Wire - + Polyline Polylinie - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Erstellt einen Linienzug (polyline). STRG zum Fangen, SHIFT zum Festlegen. @@ -6066,12 +6148,12 @@ STRG zum Fangen, SHIFT zum Festlegen. Draft_Arc_3Points - + Arc by 3 points Bogen aus 3 Punkten - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Erstellt einen Kreisbogen, durch Anwahl von 3 Punkten. @@ -6081,12 +6163,12 @@ STRG zum Fangen, SHIFT zum Festlegen. Draft_ArcTools - + Arc tools Bogenwerkzeuge - + Create various types of circular arcs. Erstellt verschiedene Arten von Kreisbögen. @@ -6096,7 +6178,7 @@ STRG zum Fangen, SHIFT zum Festlegen. Toggle grid - Raster umschalten + Raster ein-/ausblenden @@ -6164,7 +6246,7 @@ Mit E oder Alt+Linksklick wird das Kontextmenü an unterstützten Knoten und Obj Circular array - Kreisförmige Anordnung + Kreisförmige Reihe @@ -6253,7 +6335,7 @@ Erstellen Sie zuerst eine Gruppe, um dieses Werkzeug zu verwenden. Autogroup - Autogruppe + Automatische Gruppe @@ -6326,7 +6408,7 @@ Danach können damit jederzeit andere Kamerapositionen und Objektzustände gespe Flip dimension - Bemaßung umkehren + Maß umdrehen @@ -6452,12 +6534,12 @@ STRG zum Fangen, SHIFT zum Festlegen von Randbedingungen. Draft_CubicBezCurve - + Cubic Bézier curve Kubische Bézierkurve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6469,12 +6551,12 @@ STRG zum Einrasten, SHIFT zum Setzen von Randbedingungen. Draft_BezierTools - + Bézier tools Bézierwerkzeuge - + Create various types of Bézier curves. Erstellt verschiedene Arten von Bézierkurven. @@ -6790,7 +6872,7 @@ Der resultierende Klon kann in jeder seiner drei Richtungen skaliert werden. Polar array - Polare Anordnung + Polare Reihe @@ -6830,7 +6912,7 @@ gerade Entwurfslinien, die in der XY-Ebene gezeichnet werden. Ausgewählte Objek Upgrade - Aktualisieren + Erweitern @@ -6848,7 +6930,7 @@ Beispielsweise können ausgewählte Objekte in eines zusammengefügt werden, ein Offset - Versetzen + Versatz @@ -6942,30 +7024,55 @@ It is a list of strings; each element in the list will be displayed in its own l Es ist eine Liste von Zeichenketten; jedes Element in der Liste wird in einer eigenen Zeile angezeigt. - + Text string - Zeichenkette + Textzeichenkette - + Font file name Dateiname Schriftart - + Height of text Höhe des Textes - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Zwischenzeichenabstand - + Fill letters with faces Buchstaben mit Flächen ausfüllen + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7031,19 +7138,19 @@ Wahr für Fusion oder Falsch für Verbund - + Create a face Fläche erzeugen + + - - The area of this object Die Fläche dieses Objekts @@ -7087,8 +7194,8 @@ Wahr für Fusion oder Falsch für Verbund Das Ausgangsobjekt, welches dupliziert wird. - + The object along which the copies will be distributed. It must contain 'Edges'. Das Objekt, an dem entlang die Kopien verteilt werden. Es muss 'Kanten' enthalten. @@ -7103,9 +7210,9 @@ Wahr für Fusion oder Falsch für Verbund Rotationsfaktor für Anordnungen mit Drehung. - - + + Show the individual array elements (only for Link arrays) Die einzelnen Elemente der Anordnung anzeigen (nur für Verknüpfungsanordnungen) @@ -7235,8 +7342,8 @@ Bei Verwendung eines gespeicherten Stils sind einige der Ansichtseigenschaften s Sie können nur bearbeitet werden, indem der Stil über das Tool 'Anmerkungsstil-Editor' geändert wird. - + The base object that will be duplicated Das Ausgangsobjekt, welches dupliziert wird @@ -7532,7 +7639,7 @@ Diese Eigenschaft ist schreibgeschützt, da die Zahl von den Punkten im 'Punkt O Continuity - Kontinuität + Fortsetzung @@ -7552,7 +7659,7 @@ Diese Eigenschaft ist schreibgeschützt, da die Zahl von den Punkten im 'Punkt O The placement of this object - The placement of this object + Die Platzierung dieses Objekts @@ -8039,14 +8146,14 @@ Leer lassen für die Standardeinstellung des Systems. Benutzen Sie 'arch' um die US-Bogen Notation zu erzwingen - + Arrow size Pfeilgröße - + Arrow type Pfeiltyp @@ -8084,7 +8191,7 @@ beyond the dimension line Transform - Transformieren + Transformierung diff --git a/src/Mod/Draft/Resources/translations/Draft_el.qm b/src/Mod/Draft/Resources/translations/Draft_el.qm index 5a4f6a95d7..b1856a1db7 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_el.qm and b/src/Mod/Draft/Resources/translations/Draft_el.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_el.ts b/src/Mod/Draft/Resources/translations/Draft_el.ts index a7d12a691e..85377b9f3d 100644 --- a/src/Mod/Draft/Resources/translations/Draft_el.ts +++ b/src/Mod/Draft/Resources/translations/Draft_el.ts @@ -1611,7 +1611,6 @@ such as "Arial:Bold" Προεπιλεγμένο ύψος για κείμενα και διαστάσεις - @@ -1619,6 +1618,7 @@ such as "Arial:Bold" + mm χιλιοστά @@ -1937,9 +1937,9 @@ from the Addon Manager. Να επιτρέπεται στο FreeCAD να κατεβάζει και ανανεώνει αυτόματα τις βιβλιοθήκες DXF - - + + Import options Επιλογές εισαγωγής @@ -2157,8 +2157,8 @@ If it is set to '0' the whole spline is treated as a straight segment. If it is set to '0' the whole spline is treated as a straight segment. - + Export options Επιλογές εξαγωγής @@ -2717,10 +2717,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Αντιγραφή @@ -2808,21 +2808,21 @@ This might fail for post DXF R12 templates. - + Top Πάνω - + Front Εμπρόσθια - + Side Side @@ -2899,7 +2899,7 @@ This might fail for post DXF R12 templates. - + Angle Γωνία @@ -3079,6 +3079,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Γραμμή @@ -3099,7 +3100,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Περιστρέψτε @@ -3120,24 +3121,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Μετατοπίστε - + Distance Distance - + Offset distance Offset distance @@ -3148,63 +3149,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Καθολικό X - - - Global Y - Καθολικό Y - - - Global Z - Καθολικό Z + Global {} + Global {} @@ -3293,14 +3254,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3324,11 +3285,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Επιλογή @@ -3353,41 +3314,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3551,60 +3512,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3676,7 +3642,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3687,9 +3653,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3697,60 +3663,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3816,8 +3782,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3832,40 +3798,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3989,6 +3955,11 @@ The final angle will be the base angle plus this amount. Create fillet Δημιουργία στρογγυλέματος + + + Polygon + Πολύγωνο + Create Polygon (Part) @@ -4015,45 +3986,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4187,32 +4163,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + Έλλειψη + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4237,34 +4228,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale Κλίμακα - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4305,26 +4296,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Διάσταση + - + Create Dimension Create Dimension - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4339,37 +4335,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Ορθογώνιο + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4410,8 +4411,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4466,41 +4467,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Κυκλική διάταξη - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4520,22 +4521,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4550,24 +4551,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Orthogonal array @@ -4632,11 +4633,11 @@ The final angle will be the base angle plus this amount. Προεπιλεγμένο + - Circular array Circular array @@ -4686,12 +4687,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4761,12 +4772,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4869,22 +4880,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4894,14 +4902,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4928,8 +4939,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4964,8 +4975,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5340,9 +5351,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5447,6 +5458,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Στρογγύλεμα + Delete original objects @@ -5458,32 +5474,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Warning - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5499,21 +5515,21 @@ from menu Tools -> Addon Manager Slope - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Αληθές - - + + False Ψευδές @@ -5594,6 +5610,7 @@ from menu Tools -> Addon Manager + Name Όνομα @@ -5632,6 +5649,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + Επιλογή + + + + Label + Ετικέτα + + + + Position + Position + + + + Length + Μήκος + + + + Area + Εμβαδόν + + + + Volume + Όγκος + + + + Tag + Tag + + + + Material + Υλικό + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5759,12 +5841,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6070,12 +6152,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6085,12 +6167,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6459,12 +6541,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6476,12 +6558,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6952,30 +7034,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Text string - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7042,19 +7149,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7098,8 +7205,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7114,9 +7221,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7245,8 +7352,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8049,14 +8156,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Μέγεθος βέλους - + Arrow type Τύπος βέλους diff --git a/src/Mod/Draft/Resources/translations/Draft_es-AR.qm b/src/Mod/Draft/Resources/translations/Draft_es-AR.qm index df8fa3e1c6..dc47ab2b55 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_es-AR.qm and b/src/Mod/Draft/Resources/translations/Draft_es-AR.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_es-AR.ts b/src/Mod/Draft/Resources/translations/Draft_es-AR.ts index 1ddc681038..bad4f09a45 100644 --- a/src/Mod/Draft/Resources/translations/Draft_es-AR.ts +++ b/src/Mod/Draft/Resources/translations/Draft_es-AR.ts @@ -1613,7 +1613,6 @@ como "Arial: Negrita" Altura predeterminada para textos y cotas - @@ -1621,6 +1620,7 @@ como "Arial: Negrita" + mm mm @@ -1939,9 +1939,9 @@ desde el Administrador de Complementos. Permitir que FreeCAD descargue y actualize automáticamente las librerías DXF - - + + Import options Opciones de importación @@ -2157,8 +2157,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Si se establece en '0' toda la spline se trata como un segmento recto. - + Export options Opciones de exportación @@ -2717,10 +2717,10 @@ Esto podría fallar para la publicación de plantillas DXF R12. - - - - + + + + Copy Copiar @@ -2808,21 +2808,21 @@ Esto podría fallar para la publicación de plantillas DXF R12. - + Top Superior - + Front Anterior - + Side Lado @@ -2899,7 +2899,7 @@ Esto podría fallar para la publicación de plantillas DXF R12. - + Angle Ángulo @@ -3078,6 +3078,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Línea @@ -3098,7 +3099,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Rotar @@ -3119,24 +3120,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Desfase - + Distance Distancia - + Offset distance Distancia de desplazamiento @@ -3147,63 +3148,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - X local - - - Local Y - Y local - - - Local Z - Z local + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - X global - - - Global Y - Y global - - - Global Z - Z global + Global {} + Global {} @@ -3291,14 +3252,14 @@ or try saving to a lower DWG version. Intente mover el archivo DWG a un directorio cuyo camino no contenga espacios ni caracteres no ingleses, o intente guardar a una versión DWG menor. - - - + + + All Shapes must be coplanar Todas las formas deben ser coplanares - + Selected Shapes must define a plane Las formas seleccionadas deben definir un plano @@ -3321,11 +3282,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Para permitir que FreeCAD descargue estas librerías, responda Sí. + - Custom Personalizado @@ -3350,41 +3311,41 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Establecer la escala utilizada por las herramientas de anotación de "draft" - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No hay documento activo. Abortando. - - + + + + + - - - - - + + Wrong input: object not in document. Entrada incorrecta: el objeto no se encuentra en el documento. @@ -3548,60 +3509,65 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Seleccione el punto de destino - + Create Label Crear Etiqueta - - + + Pick endpoint of leader line Seleccionar punto final de la línea principal - - + + Pick text position Seleccionar posición del texto - - + + Pick first point Seleccionar primer punto - + Create Line Crear Línea - + Create Wire Crear Cable - - - - - + + Polyline + Polilínea + + + + + + + + + - - Pick next point Seleccionar el siguiente punto - + Unable to create a Wire from selected objects No se puede crear una línea a partir de los objetos seleccionados - + Convert to Wire Convertir a Cable @@ -3673,7 +3639,7 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí. - + Some subelements could not be moved. Algunos subelementos no se pudieron mover. @@ -3684,9 +3650,9 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Elegir punto central - - - + + + @@ -3694,60 +3660,60 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Elegir radio + - - - + + Start angle Ángulo Inicial - - + + Pick start angle Elegir ángulo de inicio + - - - + + Aperture angle Ángulo de apertura - + Pick aperture Elegir apertura - + Create Circle (Part) Crear círculo (Parte) - + Create Circle Crear Círculo - + Create Arc (Part) Crear Arco (Parte) - + Create Arc Crear Arco - + Pick aperture angle Seleccione ángulo de apertura - - + + Arc by 3 points Arco por 3 puntos @@ -3813,8 +3779,8 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Seleccione un objeto a proyectar - - + + Create Point Crear Punto @@ -3829,39 +3795,39 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Seleccione el centro de rotación - - + + Base angle Ángulo base - - + + The base angle you wish to start the rotation from Ángulo base desde el que desea iniciar la rotación - - + + Pick base angle Elija el ángulo base - - + + Rotation Rotación - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Cantidad de rotación que desea realizar. El ángulo final será el ángulo base más esta cantidad. - - + + Pick rotation angle Elija el ángulo de rotación @@ -3985,6 +3951,11 @@ The final angle will be the base angle plus this amount. Create fillet Crear redondeo + + + Polygon + Polígono + Create Polygon (Part) @@ -4011,45 +3982,50 @@ The final angle will be the base angle plus this amount. Seleccionar objetos para recortar o extender - + Pick distance Seleccionar distancia - + Offset angle Ángulo de desfase - + Unable to trim these objects, only Draft wires and arcs are supported. No se pueden recortar estos objetos, solo se admiten borradores de cables y arcos. - + Unable to trim these objects, too many wires No se puede recortar estos objetos, demasiados cables - + These objects don't intersect. Estos objetos no se intersectan. - + Too many intersection points. Demasiados puntos de intersección. + + + B-Spline + B-spline + Spline has been closed Spline ha sido cerrado + + - - Last point has been removed El último punto ha sido eliminado @@ -4183,32 +4159,47 @@ The final angle will be the base angle plus this amount. Extremo de BezCurve no puede ser suavizado - - + + Bézier curve + Curva Bézier + + + + Bézier curve has been closed La curva de Bézier ha sido cerrada - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Curva de Bézier cúbica + + + + Click and drag to define next knot Haga clic y arrastrar para definir el siguiente nudo - - + + Ellipse + Elipse + + + + Create Ellipse Crear Elipse - - + + Pick opposite point Elija el punto opuesto @@ -4233,34 +4224,34 @@ The final angle will be the base angle plus this amount. Escoja distancia de referencia a partir del punto base - - - + + + Scale Escala - + Some subelements could not be scaled. Algunos subelementos no pudieron ser escalados. - + Unable to scale object: Imposible escalar el objeto: - + Unable to scale objects: Imposible escalar los objetos: - + This object type cannot be scaled directly. Please use the clone method. Este tipo de objeto no puede escalarse directamente. Por favor, utilice el método de clonación. - + Pick new distance from base point Elija una nueva distancia a partir del punto base @@ -4301,26 +4292,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Cambiar el modo de visualización + + + Dimension + Cota + - + Create Dimension Crear Cota - + Create Dimension (radial) Crear Cota (radial) - + Edge too short! ¡Arista demasiado corta! - + Edges don't intersect! ¡Las aristas no interseccionan! @@ -4335,37 +4331,42 @@ The final angle will be the base angle plus this amount. Escoja el primer punto del rectángulo de selección - + Pick opposite point of selection rectangle Escoja el punto opuesto del rectángulo de selección - + Pick start point of displacement Escoja el punto de inicio del desplazamiento - + Pick end point of displacement Escoja el punto final del desplazamiento - + Turning one Rectangle into a Wire Convirtiendo un Rectángulo en Alambre - + Stretch Estirar - + + Rectangle + Rectángulo + + + Create Plane Crear Plano - + Create Rectangle Crear Rectángulo @@ -4406,8 +4407,8 @@ The final angle will be the base angle plus this amount. Cambiar pendiente - + Select an object to upgrade Seleccione objeto a actualizar @@ -4462,41 +4463,41 @@ The final angle will be the base angle plus this amount. Degradar - - + + Task panel: Panel de tarea: + - Polar array Matriz polar - - + + At least one element must be selected. Se debe seleccionar al menos un elemento. - - + + Selection is not suitable for array. La selección no es adecuada para la matriz. - - - - + + + + Object: Objeto: @@ -4516,22 +4517,22 @@ The final angle will be the base angle plus this amount. El ángulo está por debajo de -360 grados. Se ajusta a este valor para continuar. - + Center reset: Reiniciar centro: - - + + Fuse: Fusión: - - + + Create Link array: Crear matriz de Enlaces: @@ -4546,24 +4547,24 @@ The final angle will be the base angle plus this amount. Ángulo polar: - + Center of rotation: Centro de rotación: - - + + Aborted: Abortado: + - Orthogonal array Matriz ortogonal @@ -4628,11 +4629,11 @@ The final angle will be the base angle plus this amount. Predeterminado + - Circular array Matriz circular @@ -4682,12 +4683,22 @@ The final angle will be the base angle plus this amount. Parámetro de simetría: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: la cadena no tiene aristas - + ShapeString: face creation failed for one character ShapeString: la creación de caras falló para un carácter @@ -4757,12 +4768,12 @@ The final angle will be the base angle plus this amount. añadida propiedad 'ExtraPlacement' - + No shape found Ninguna forma encontrada - + All Shapes must be planar Todas las formas deben ser planares @@ -4865,22 +4876,19 @@ The final angle will be the base angle plus this amount. Modo de mapeo: + + + - - - Wrong input: must be a number. Entrada incorrecta: debe ser un número. - - - - + @@ -4890,14 +4898,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Entrada incorrecta: debe ser un vector. - + Wrong input: must be a list or tuple of strings, or a single string. Entrada incorrecta: debe ser una lista o tupla de cadenas, o una única cadena. @@ -4924,8 +4935,8 @@ The final angle will be the base angle plus this amount. Entrada: valor único expandido a vector. - + Wrong input: must be an integer number. Entrada incorrecta: debe ser un número entero. @@ -4960,8 +4971,8 @@ The final angle will be the base angle plus this amount. Entrada incorrecta: debe ser una ubicación, un vector o una rotación. - + Wrong input: object must not be a list. Entrada incorrecta: el objeto no debe ser una lista. @@ -5336,9 +5347,9 @@ The final angle will be the base angle plus this amount. añadida la propiedad de vista 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' opciones de 'DisplayMode' renombradas a 'World/Screen' @@ -5443,6 +5454,11 @@ por medio de la opción Herramientas ▸ Gestor de complementos You must choose a base object before using this command Debe seleccionar un objeto base antes de usar este comando + + + Fillet + Redondeo + Delete original objects @@ -5454,32 +5470,32 @@ por medio de la opción Herramientas ▸ Gestor de complementos Crear chaflán - + Save style Guardar estilo - + Name of this new style: Nombre de este nuevo estilo: - + Warning Advertencia - + Name exists. Overwrite? El nombre existe. ¿Sobrescribir? - + Error: json module not found. Unable to load style Error: módulo json no encontrado. Incapaz de cargar el estilo - + Error: json module not found. Unable to save style Error: módulo json no encontrado. Incapaz de guardar el estilo @@ -5495,21 +5511,21 @@ por medio de la opción Herramientas ▸ Gestor de complementos Pendiente - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction La dirección del desplazamiento no está definida. Por favor, mueva primero el ratón a cualquier lado del objeto para indicar una dirección - - + + True Verdadero - - + + False Falso @@ -5590,6 +5606,7 @@ por medio de la opción Herramientas ▸ Gestor de complementos + Name Nombre @@ -5628,6 +5645,71 @@ por medio de la opción Herramientas ▸ Gestor de complementos New Layer Nueva capa + + + Custom + Personalizado + + + + Label + Etiqueta + + + + Position + Posición + + + + Length + Longitud + + + + Area + Área + + + + Volume + Volumen + + + + Tag + Etiqueta + + + + Material + Material + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5747,12 +5829,12 @@ Si se seleccionan muchos objetos o muchos subelementos, solo se usará el primer Draft_Wire - + Polyline Polilínea - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Crea una línea multipunto (polilínea). CTRL para ajustar, MAYÚS para restringir. @@ -6058,12 +6140,12 @@ CTRL para ajustar, MAYÚS para restringir. Draft_Arc_3Points - + Arc by 3 points Arco por 3 puntos - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Crea un arco circular seleccionando 3 puntos. @@ -6073,12 +6155,12 @@ CTRL para ajustar, MAYÚS para restringir. Draft_ArcTools - + Arc tools Herramientas de arco - + Create various types of circular arcs. Crea varios tipos de arcos circulares. @@ -6446,12 +6528,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Curva de Bézier cúbica - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6463,12 +6545,12 @@ CTRL para ajustar, MAYÚS para restringir. Draft_BezierTools - + Bézier tools Herramientas Bézier - + Create various types of Bézier curves. Crea varios tipos de curvas Bézier. @@ -6937,30 +7019,55 @@ It is a list of strings; each element in the list will be displayed in its own l Es un listado; donde cada elemento de la lista se mostrará en su propia línea. - + Text string Cadena de texto - + Font file name Nombre del archivo fuente - + Height of text Altura de texto - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Espaciado entre caracteres - + Fill letters with faces Rellena letras con caras + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7027,19 +7134,19 @@ establecer verdadero para fusión o falso para compuesto - + Create a face Crear una cara + + - - The area of this object El área de este objeto @@ -7083,8 +7190,8 @@ establecer verdadero para fusión o falso para compuesto El objeto base que será duplicado. - + The object along which the copies will be distributed. It must contain 'Edges'. El objeto a lo largo del cual se distribuirán las copias. Debe contener 'Aristas'. @@ -7099,9 +7206,9 @@ establecer verdadero para fusión o falso para compuesto Factor de rotación de la matriz retorcida. - - + + Show the individual array elements (only for Link arrays) Muestra los elementos individuales de la matriz (sólo para matrices vinculadas) @@ -7230,8 +7337,8 @@ Al usar un estilo guardado, algunas de las propiedades de la vista se convertir sólo serán editables cambiando el estilo a través de la herramienta 'editor de estilo de anotación'. - + The base object that will be duplicated El objeto base que será duplicado @@ -8031,14 +8138,14 @@ Dejar en blanco para el valor predeterminado del sistema. Utilice 'arch' para forzar notación de arco de Estados Unidos - + Arrow size Tamaño de flecha - + Arrow type Tipo de flecha diff --git a/src/Mod/Draft/Resources/translations/Draft_es-ES.qm b/src/Mod/Draft/Resources/translations/Draft_es-ES.qm index 7d3facdcc4..b70d9c86f4 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_es-ES.qm and b/src/Mod/Draft/Resources/translations/Draft_es-ES.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_es-ES.ts b/src/Mod/Draft/Resources/translations/Draft_es-ES.ts index 4d5b8983b8..46efa3a8ba 100644 --- a/src/Mod/Draft/Resources/translations/Draft_es-ES.ts +++ b/src/Mod/Draft/Resources/translations/Draft_es-ES.ts @@ -1612,7 +1612,6 @@ such as "Arial:Bold" Altura predeterminada para los textos y las cotas - @@ -1620,6 +1619,7 @@ such as "Arial:Bold" + mm mm @@ -1938,9 +1938,9 @@ desde el Administrador de Complementos. Permitir que FreeCAD descargue y actualize automáticamente las librerías DXF - - + + Import options Importar opciones @@ -2158,8 +2158,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Si se establece en '0' toda la curva se trata como un segmento recto. - + Export options Opciones de exportación @@ -2717,10 +2717,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Copiar @@ -2808,21 +2808,21 @@ This might fail for post DXF R12 templates. - + Top Planta - + Front Alzado - + Side Lado @@ -2899,7 +2899,7 @@ This might fail for post DXF R12 templates. - + Angle Ángulo @@ -3078,6 +3078,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Línea @@ -3098,7 +3099,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Girar @@ -3119,24 +3120,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Desplazamiento - + Distance Distancia - + Offset distance Distancia de desplazamiento @@ -3147,63 +3148,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - X local - - - Local Y - Y local - - - Local Z - Z local + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Global X - - - Global Y - Y global - - - Global Z - Z global + Global {} + Global {} @@ -3291,14 +3252,14 @@ or try saving to a lower DWG version. Intente mover el archivo DWG a un directorio cuyo camino no contenga espacios ni caracteres no ingleses, o intente guardar a una versión DWG menor. - - - + + + All Shapes must be coplanar Todas las formas deben ser coplanares - + Selected Shapes must define a plane Las formas seleccionadas deben definir un plano @@ -3321,11 +3282,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Para permitir que FreeCAD descargue estas librerías, responda Sí. + - Custom Personalizado @@ -3350,41 +3311,41 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Establecer la escala utilizada por las herramientas de anotación de "draft" - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No hay documento activo. Abortando. - - + + + + + - - - - - + + Wrong input: object not in document. Entrada incorrecta: el objeto no se encuentra en el documento. @@ -3548,60 +3509,65 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Seleccione el punto de destino - + Create Label Crear Etiqueta - - + + Pick endpoint of leader line Seleccionar punto final de la línea principal - - + + Pick text position Seleccionar posición del texto - - + + Pick first point Seleccionar primer punto - + Create Line Crear Línea - + Create Wire Crear Cable - - - - - + + Polyline + Polilínea + + + + + + + + + - - Pick next point Seleccionar el siguiente punto - + Unable to create a Wire from selected objects No se puede crear una línea a partir de los objetos seleccionados - + Convert to Wire Convertir a Cable @@ -3673,7 +3639,7 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí. - + Some subelements could not be moved. Algunos subelementos no se pudieron mover. @@ -3684,9 +3650,9 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Elegir punto central - - - + + + @@ -3694,60 +3660,60 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Elegir radio + - - - + + Start angle Ángulo Inicial - - + + Pick start angle Elegir ángulo de inicio + - - - + + Aperture angle Ángulo de apertura - + Pick aperture Elegir apertura - + Create Circle (Part) Crear círculo (Parte) - + Create Circle Crear Círculo - + Create Arc (Part) Crear Arco (Parte) - + Create Arc Crear Arco - + Pick aperture angle Seleccione ángulo de apertura - - + + Arc by 3 points Arco por 3 puntos @@ -3813,8 +3779,8 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Seleccione un objeto a proyectar - - + + Create Point Crear Punto @@ -3829,39 +3795,39 @@ Para permitir que FreeCAD descargue estas librerías, responda Sí.Seleccione el centro de rotación - - + + Base angle Ángulo base - - + + The base angle you wish to start the rotation from Ángulo base desde el que desea iniciar la rotación - - + + Pick base angle Elija el ángulo base - - + + Rotation Rotación - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Cantidad de rotación que desea realizar. El ángulo final será el ángulo base más esta cantidad. - - + + Pick rotation angle Elija el ángulo de rotación @@ -3985,6 +3951,11 @@ The final angle will be the base angle plus this amount. Create fillet Crear redondeo + + + Polygon + Polígono + Create Polygon (Part) @@ -4011,45 +3982,50 @@ The final angle will be the base angle plus this amount. Seleccionar objetos para recortar o extender - + Pick distance Seleccionar distancia - + Offset angle Ángulo de desfase - + Unable to trim these objects, only Draft wires and arcs are supported. No se pueden recortar estos objetos, solo se admiten borradores de cables y arcos. - + Unable to trim these objects, too many wires No se puede recortar estos objetos, demasiados cables - + These objects don't intersect. Estos objetos no se intersectan. - + Too many intersection points. Demasiados puntos de intersección. + + + B-Spline + B-spline + Spline has been closed Spline ha sido cerrado + + - - Last point has been removed El último punto ha sido eliminado @@ -4183,32 +4159,47 @@ The final angle will be the base angle plus this amount. Extremo de BezCurve no puede ser suavizado - - + + Bézier curve + Curva Bézier + + + + Bézier curve has been closed La curva de Bézier ha sido cerrada - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Curva de Bézier cúbica + + + + Click and drag to define next knot Haga clic y arrastrar para definir el siguiente nudo - - + + Ellipse + Elipse + + + + Create Ellipse Crear Elipse - - + + Pick opposite point Elija el punto opuesto @@ -4233,34 +4224,34 @@ The final angle will be the base angle plus this amount. Escoja distancia de referencia a partir del punto base - - - + + + Scale Escalar - + Some subelements could not be scaled. Algunos subelementos no pudieron ser escalados. - + Unable to scale object: Imposible escalar el objeto: - + Unable to scale objects: Imposible escalar los objetos: - + This object type cannot be scaled directly. Please use the clone method. Este tipo de objeto no puede escalarse directamente. Por favor, utilice el método de clonación. - + Pick new distance from base point Elija una nueva distancia a partir del punto base @@ -4301,26 +4292,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Cambiar el modo de visualización + + + Dimension + Cota + - + Create Dimension Crear Cota - + Create Dimension (radial) Crear Cota (radial) - + Edge too short! ¡Arista demasiado corta! - + Edges don't intersect! ¡Las aristas no interseccionan! @@ -4335,37 +4331,42 @@ The final angle will be the base angle plus this amount. Escoja el primer punto del rectángulo de selección - + Pick opposite point of selection rectangle Escoja el punto opuesto del rectángulo de selección - + Pick start point of displacement Escoja el punto de inicio del desplazamiento - + Pick end point of displacement Escoja el punto final del desplazamiento - + Turning one Rectangle into a Wire Convirtiendo un Rectángulo en Alambre - + Stretch Estirar - + + Rectangle + Rectángulo + + + Create Plane Crear Plano - + Create Rectangle Crear Rectángulo @@ -4406,8 +4407,8 @@ The final angle will be the base angle plus this amount. Cambiar pendiente - + Select an object to upgrade Seleccione objeto a actualizar @@ -4462,41 +4463,41 @@ The final angle will be the base angle plus this amount. Degradar - - + + Task panel: Panel de tarea: + - Polar array Matriz polar - - + + At least one element must be selected. Se debe seleccionar al menos un elemento. - - + + Selection is not suitable for array. La selección no es adecuada para la matriz. - - - - + + + + Object: Objeto: @@ -4516,22 +4517,22 @@ The final angle will be the base angle plus this amount. El ángulo está por debajo de -360 grados. Se ajusta a este valor para continuar. - + Center reset: Reiniciar centro: - - + + Fuse: Fusión: - - + + Create Link array: Crear matriz de Enlaces: @@ -4546,24 +4547,24 @@ The final angle will be the base angle plus this amount. Ángulo polar: - + Center of rotation: Centro de rotación: - - + + Aborted: Abortado: + - Orthogonal array Matriz ortogonal @@ -4628,11 +4629,11 @@ The final angle will be the base angle plus this amount. Por defecto + - Circular array Matriz circular @@ -4682,12 +4683,22 @@ The final angle will be the base angle plus this amount. Parámetro de simetría: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: la cadena no tiene aristas - + ShapeString: face creation failed for one character ShapeString: la creación de caras falló para un carácter @@ -4757,12 +4768,12 @@ The final angle will be the base angle plus this amount. añadida propiedad 'ExtraPlacement' - + No shape found Ninguna forma encontrada - + All Shapes must be planar Todas las formas deben ser planares @@ -4865,22 +4876,19 @@ The final angle will be the base angle plus this amount. Modo de mapeo: + + + - - - Wrong input: must be a number. Entrada incorrecta: debe ser un número. - - - - + @@ -4890,14 +4898,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Entrada incorrecta: debe ser un vector. - + Wrong input: must be a list or tuple of strings, or a single string. Entrada incorrecta: debe ser una lista o tupla de cadenas, o una única cadena. @@ -4924,8 +4935,8 @@ The final angle will be the base angle plus this amount. Entrada: valor único expandido a vector. - + Wrong input: must be an integer number. Entrada incorrecta: debe ser un número entero. @@ -4960,8 +4971,8 @@ The final angle will be the base angle plus this amount. Entrada incorrecta: debe ser una ubicación, un vector o una rotación. - + Wrong input: object must not be a list. Entrada incorrecta: el objeto no debe ser una lista. @@ -5336,9 +5347,9 @@ The final angle will be the base angle plus this amount. añadida la propiedad de vista 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' opciones de 'DisplayMode' renombradas a 'World/Screen' @@ -5443,6 +5454,11 @@ por medio de la opción Herramientas ▸ Gestor de complementos You must choose a base object before using this command Debe seleccionar un objeto base antes de usar este comando + + + Fillet + Redondear + Delete original objects @@ -5454,32 +5470,32 @@ por medio de la opción Herramientas ▸ Gestor de complementos Crear chaflán - + Save style Guardar estilo - + Name of this new style: Nombre de este nuevo estilo: - + Warning Advertencia - + Name exists. Overwrite? El nombre existe. ¿Sobrescribir? - + Error: json module not found. Unable to load style Error: módulo json no encontrado. Incapaz de cargar el estilo - + Error: json module not found. Unable to save style Error: módulo json no encontrado. Incapaz de guardar el estilo @@ -5495,21 +5511,21 @@ por medio de la opción Herramientas ▸ Gestor de complementos Pendiente - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction La dirección del desplazamiento no está definida. Por favor, mueva primero el ratón a cualquier lado del objeto para indicar una dirección - - + + True Verdadero - - + + False Falso @@ -5590,6 +5606,7 @@ por medio de la opción Herramientas ▸ Gestor de complementos + Name Nombre @@ -5628,6 +5645,71 @@ por medio de la opción Herramientas ▸ Gestor de complementos New Layer Nueva capa + + + Custom + Personalizado + + + + Label + Etiqueta + + + + Position + Posición + + + + Length + Longitud + + + + Area + Área + + + + Volume + Volumen + + + + Tag + Etiqueta + + + + Material + Material + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5747,12 +5829,12 @@ Si se seleccionan muchos objetos o muchos subelementos, solo se usará el primer Draft_Wire - + Polyline Polilínea - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Crea una línea multipunto (polilínea). CTRL para ajustar, MAYÚS para restringir. @@ -6058,12 +6140,12 @@ CTRL para ajustar, MAYÚS para restringir. Draft_Arc_3Points - + Arc by 3 points Arco por 3 puntos - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Crea un arco circular seleccionando 3 puntos. @@ -6073,12 +6155,12 @@ CTRL para ajustar, MAYÚS para restringir. Draft_ArcTools - + Arc tools Herramientas de arco - + Create various types of circular arcs. Crea varios tipos de arcos circulares. @@ -6446,12 +6528,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Curva de Bézier cúbica - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6463,12 +6545,12 @@ CTRL para ajustar, MAYÚS para restringir. Draft_BezierTools - + Bézier tools Herramientas Bézier - + Create various types of Bézier curves. Crea varios tipos de curvas Bézier. @@ -6937,30 +7019,55 @@ It is a list of strings; each element in the list will be displayed in its own l Es un listado; donde cada elemento de la lista se mostrará en su propia línea. - + Text string Cadena de texto - + Font file name Nombre del archivo fuente - + Height of text Altura de texto - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Espaciado entre caracteres - + Fill letters with faces Rellena letras con caras + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7027,19 +7134,19 @@ establecer verdadero para fusión o falso para compuesto - + Create a face Crear una cara + + - - The area of this object El área de este objeto @@ -7083,8 +7190,8 @@ establecer verdadero para fusión o falso para compuesto El objeto base que será duplicado. - + The object along which the copies will be distributed. It must contain 'Edges'. El objeto a lo largo del cual se distribuirán las copias. Debe contener 'Aristas'. @@ -7099,9 +7206,9 @@ establecer verdadero para fusión o falso para compuesto Factor de rotación de la matriz retorcida. - - + + Show the individual array elements (only for Link arrays) Muestra los elementos individuales de la matriz (sólo para matrices vinculadas) @@ -7230,8 +7337,8 @@ Al usar un estilo guardado, algunas de las propiedades de la vista se convertir sólo serán editables cambiando el estilo a través de la herramienta 'editor de estilo de anotación'. - + The base object that will be duplicated El objeto base que será duplicado @@ -8031,14 +8138,14 @@ Dejar en blanco para el valor predeterminado del sistema. Utilice 'arch' para forzar notación de arco de Estados Unidos - + Arrow size Tamaño de flecha - + Arrow type Tipo de flecha diff --git a/src/Mod/Draft/Resources/translations/Draft_eu.qm b/src/Mod/Draft/Resources/translations/Draft_eu.qm index 5a6f2fae13..9a2739034c 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_eu.qm and b/src/Mod/Draft/Resources/translations/Draft_eu.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_eu.ts b/src/Mod/Draft/Resources/translations/Draft_eu.ts index c6a42ae134..111d6d3c87 100644 --- a/src/Mod/Draft/Resources/translations/Draft_eu.ts +++ b/src/Mod/Draft/Resources/translations/Draft_eu.ts @@ -170,7 +170,7 @@ Font size - Letra-tamaina + Letra-tipoaren tamaina @@ -595,7 +595,7 @@ Esteka-matrizea eraginkorragoa da kopia anitz sortzean, baina ezin da fusionatu. (Placeholder for the icon) - (Ikonoaren lekua) + (Ikonoaren leku-marka) @@ -1597,7 +1597,7 @@ such as "Arial:Bold" Font size - Letra-tamaina + Letra-tipoaren tamaina @@ -1605,7 +1605,6 @@ such as "Arial:Bold" Altuera lehenetsia testuetarako eta kotetarako - @@ -1613,6 +1612,7 @@ such as "Arial:Bold" + mm mm @@ -1930,9 +1930,9 @@ Eskuz ere egin daiteke, "dxf_library" lan-mahaia instalatuta gehigarrien kudeatz Onartu FreeCADek automatikoki deskarga eta egunera ditzan DXF liburutegiak - - + + Import options Inportazio-aukerak @@ -2148,8 +2148,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Hemen '0' ezarri bada, spline osoa segmentu zuzen gisa tratatuko da. - + Export options Esportazio-aukerak @@ -2708,10 +2708,10 @@ Horrek huts egin dezake DXF R12 ondoko txantiloiekin. - - - - + + + + Copy Kopiatu @@ -2799,21 +2799,21 @@ Horrek huts egin dezake DXF R12 ondoko txantiloiekin. - + Top Goikoa - + Front Aurrekoa - + Side Aldea @@ -2890,7 +2890,7 @@ Horrek huts egin dezake DXF R12 ondoko txantiloiekin. - + Angle Angelua @@ -3070,6 +3070,7 @@ Ez dago erabilgarri zirriborroen 'Erabili piezen jatorrizkoak' aukera gaituta ba + Line Lerroa @@ -3090,7 +3091,7 @@ Ez dago erabilgarri zirriborroen 'Erabili piezen jatorrizkoak' aukera gaituta ba - + Rotate Biratu @@ -3111,24 +3112,24 @@ Ez dago erabilgarri zirriborroen 'Erabili piezen jatorrizkoak' aukera gaituta ba + + + - - - Offset Desplazamendua - + Distance Distantzia - + Offset distance Desplazamendu-distantzia @@ -3139,63 +3140,23 @@ Ez dago erabilgarri zirriborroen 'Erabili piezen jatorrizkoak' aukera gaituta ba - Local u0394X - u0394X lokala - - - Local u0394Y - u0394Y lokala - - - Local u0394Z - u0394Z lokala - - - Local X - X lokala - - - Local Y - Y lokala - - - Local Z - Z lokala + Local {} + Local {} - Global u0394X - u0394X globala - - - Global u0394Y - u0394Y globala - - - Global u0394Z - u0394Z globala - - - Global X - X globala - - - Global Y - Y globala - - - Global Z - Z globala + Global {} + Global {} @@ -3284,14 +3245,14 @@ Saiatu DWG fitxategia zuriunerik gabeko eta ingelesezkoak ez diren karaktererik direktorio-bide batera, edo saiatu DGW bertsio zaharrago batean gordetzen. - - - + + + All Shapes must be coplanar Forma guztiek planokide izan behar dute - + Selected Shapes must define a plane Hautatutako formek plano bat definitu behar dute @@ -3315,11 +3276,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer FreeCADek liburutegi horiek deskarga ditzan gaitzeko, erantzun 'Bai'. + - Custom Pertsonalizatua @@ -3344,41 +3305,41 @@ FreeCADek liburutegi horiek deskarga ditzan gaitzeko, erantzun 'Bai'.Ezarri zirriborro-oharpenen tresnek erabilitako eskala - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Ez dago dokumentu aktiborik. Abortatzen. - - + + + + + - - - - - + + Wrong input: object not in document. Okerreko sarrera: objektua ez dago dokumentuan. @@ -3542,60 +3503,65 @@ FreeCADek liburutegi horiek deskarga ditzan gaitzeko, erantzun 'Bai'.Aukeratu helburu-puntua - + Create Label Sortu etiketa - - + + Pick endpoint of leader line Aukeratu gida-marraren amaiera-puntua - - + + Pick text position Aukeratu testuaren posizioa - - + + Pick first point Aukeratu lehen puntua - + Create Line Sortu lerroa - + Create Wire Sortu alanbrea - - - - - + + Polyline + Polilerroa + + + + + + + + + - - Pick next point Aukeratu hurrengo puntua - + Unable to create a Wire from selected objects Ezin izan da alanbre bat sortu hautatutako objektuak erabilita - + Convert to Wire Bihurtu alanbre @@ -3667,7 +3633,7 @@ FreeCADek liburutegi horiek deskarga ditzan gaitzeko, erantzun 'Bai'. - + Some subelements could not be moved. Zenbait azpielementu ezin dira mugitu. @@ -3678,9 +3644,9 @@ FreeCADek liburutegi horiek deskarga ditzan gaitzeko, erantzun 'Bai'.Aukeratu puntu zentrala - - - + + + @@ -3688,60 +3654,60 @@ FreeCADek liburutegi horiek deskarga ditzan gaitzeko, erantzun 'Bai'.Aukeratu erradioa + - - - + + Start angle Hasierako angelua - - + + Pick start angle Aukeratu hasierako angelua + - - - + + Aperture angle Irekidura-angelua - + Pick aperture Aukeratu irekidura - + Create Circle (Part) Sortu zirkulua (pieza) - + Create Circle Sortu zirkulua - + Create Arc (Part) Sortu arkua (pieza) - + Create Arc Sortu arkua - + Pick aperture angle Aukeratu irekidura-angelua - - + + Arc by 3 points Arkua 3 punturen arabera @@ -3807,8 +3773,8 @@ FreeCADek liburutegi horiek deskarga ditzan gaitzeko, erantzun 'Bai'.Hautatu proiektatuko den objektua - - + + Create Point Sortu puntua @@ -3823,40 +3789,40 @@ FreeCADek liburutegi horiek deskarga ditzan gaitzeko, erantzun 'Bai'.Aukeratu biraketa-zentroa - - + + Base angle Oinarri-angelua - - + + The base angle you wish to start the rotation from Biraketa hasteko erabiliko den oinarri-angelua - - + + Pick base angle Aukeratu oinarri-angelua - - + + Rotation Biraketa - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Gauzatuko den biraketa kantitatea. Amaierako angelua oinarriko angelua gehi kantitate hau izango da. - - + + Pick rotation angle Aukeratu biraketa-angelua @@ -3980,6 +3946,11 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Create fillet Sortu biribiltzea + + + Polygon + Poligonoa + Create Polygon (Part) @@ -4006,45 +3977,50 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Hautatu muxarratuko/luzatuko diren objektuak - + Pick distance Aukeratu distantzia - + Offset angle Desplazamendu-angelua - + Unable to trim these objects, only Draft wires and arcs are supported. Ezin dira objektu horiek muxarratu, zirriborro-alanbreak eta arkuak soilik onartzen dira. - + Unable to trim these objects, too many wires Ezin dira objektu hauek muxarratu, alanbre gehiegi - + These objects don't intersect. Objektu hauek ez dute elkar ebakitzen. - + Too many intersection points. Ebakitze-puntu gehiegi. + + + B-Spline + B-spline + Spline has been closed Spline-a itxi egin da + + - - Last point has been removed Azken puntua kendu da @@ -4178,32 +4154,47 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Bezier kurbaren amaiera-puntua ezin da leundu - - + + Bézier curve + Bézier kurba + + + + Bézier curve has been closed Bezier kurba itxi da - - + + Create BezCurve Sortu Bezier kurba - - + + Cubic Bézier curve + Bézier kurba kubikoa + + + + Click and drag to define next knot Klik eta arrastatu hurrengo adabegia definitzeko - - + + Ellipse + Elipsea + + + + Create Ellipse Sortu elipsea - - + + Pick opposite point Aukeratu aurkako puntua @@ -4228,34 +4219,34 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Aukeratu erreferentzia-distantzia oinarri-puntutik - - - + + + Scale Eskala - + Some subelements could not be scaled. Zenbait azpielementu ezin dira eskalatu. - + Unable to scale object: Ezin da objektua eskalatu: - + Unable to scale objects: Ezin dira objektuak eskalatu: - + This object type cannot be scaled directly. Please use the clone method. Objektu mota hau ezin da zuzenean eskalatu. Erabili klonatze-metodoa. - + Pick new distance from base point Aukeratu distantzia berria oinarri-puntutik @@ -4296,26 +4287,31 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Toggle display mode Txandakatu bistaratze modua + + + Dimension + Kota + - + Create Dimension Sortu kota - + Create Dimension (radial) Sortu kota (erradiala) - + Edge too short! Ertz laburregia. - + Edges don't intersect! Ertzek ez dute elkar ebakitzen! @@ -4330,37 +4326,42 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Aukeratu hautapen-laukizuzenaren lehen puntua - + Pick opposite point of selection rectangle Aukeratu hautapen-laukizuzenaren beste aldeko puntua - + Pick start point of displacement Aukeratu desplazamenduaren hasiera-puntua - + Pick end point of displacement Aukeratu desplazamenduaren amaiera-puntua - + Turning one Rectangle into a Wire Laukizuzen bat alanbre bihurtzen - + Stretch Luzatu - + + Rectangle + Laukizuzena + + + Create Plane Sortu planoa - + Create Rectangle Sortu laukizuzena @@ -4401,8 +4402,8 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Aldatu malda - + Select an object to upgrade Hautatu eguneratuko den objektua @@ -4457,41 +4458,41 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Degradatu - - + + Task panel: Ataza-panela: + - Polar array Matrize polarra - - + + At least one element must be selected. Gutxienez elementu bat hautatu behar da. - - + + Selection is not suitable for array. Hautapena ez da egokia matrizerako. - - - - + + + + Object: Objektua: @@ -4511,22 +4512,22 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Angeluak -360 gradu baino gutxiago ditu. Balio hau ezarri da jarraitu ahal izateko. - + Center reset: Zentroaren berrezarpena: - - + + Fuse: Fusionatu: - - + + Create Link array: Sortu esteka-matrizea: @@ -4541,24 +4542,24 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Angelu polarra: - + Center of rotation: Biraketa-zentroa: - - + + Aborted: Abortatua: + - Orthogonal array Matrize ortogonala @@ -4623,11 +4624,11 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Lehenetsia + - Circular array Matrize zirkularra @@ -4677,12 +4678,22 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Simetria-parametroa: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires Testu-forma: testuak ez du alanbrerik - + ShapeString: face creation failed for one character Testu-forma: aurpegiaren sorrerak huts egin du karaktere batengatik @@ -4752,12 +4763,12 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. 'ExtraPlacement' propietatea gehitu da - + No shape found Ez da formarik aurkitu - + All Shapes must be planar Forma guztiek planarrak izan behar dute @@ -4860,22 +4871,19 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Mapa modua: + + + - - - Wrong input: must be a number. Okerreko sarrera: zenbaki bat izan behar du. - - - - + @@ -4885,14 +4893,17 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. - + + + + Wrong input: must be a vector. Okerreko sarrera: bektore bat izan behar du. - + Wrong input: must be a list or tuple of strings, or a single string. Okerreko sarrera: kateen edo tuplen zerrenda bat edo kate bakarra izan behar du. @@ -4919,8 +4930,8 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Sarrera: bektorera hedatutako balio bakarra. - + Wrong input: must be an integer number. Okerreko sarrera: osoko zenbakia izan behar du. @@ -4955,8 +4966,8 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. Okerreko sarrera: kokapen bat, bektore bat edo biraketa bat izan behar du. - + Wrong input: object must not be a list. Okerreko sarrera: objektuak ez du zerrenda bat izan behar. @@ -5331,9 +5342,9 @@ Amaierako angelua oinarriko angelua gehi kantitate hau izango da. bistaren 'TextColor' propietatea gehitu da - - + + renamed 'DisplayMode' options to 'World/Screen' 'BistaratzeModua' aukeren izena aldatu da 'Mundua/Pantaila' izan dadin @@ -5438,6 +5449,11 @@ Instalatu DXF liburutegiaren gehigarria eskuz You must choose a base object before using this command Oinarri-objektu bat hautatu behar da komando hau erabili baino lehen + + + Fillet + Biribiltzea + Delete original objects @@ -5449,32 +5465,32 @@ Instalatu DXF liburutegiaren gehigarria eskuz Sortu alaka - + Save style Gorde estiloa - + Name of this new style: Estilo berriaren izena: - + Warning Abisua - + Name exists. Overwrite? Izena badago lehendik. Gainidatzi? - + Error: json module not found. Unable to load style Errorea: Ez da aurkitu JSON modulua. Ezin izan da estiloa kargatu - + Error: json module not found. Unable to save style Errorea: Ez da aurkitu JSON modulua. Ezin izan da estiloa gorde. @@ -5490,21 +5506,21 @@ Instalatu DXF liburutegiaren gehigarria eskuz Malda - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Desplazamenduaren norabidea ez dago definituta. Eraman sagua objektuaren aldeetako batera, norabide bat adierazteko - - + + True Egia - - + + False Gezurra @@ -5585,6 +5601,7 @@ Instalatu DXF liburutegiaren gehigarria eskuz + Name Izena @@ -5623,6 +5640,71 @@ Instalatu DXF liburutegiaren gehigarria eskuz New Layer Geruza berria + + + Custom + Pertsonalizatua + + + + Label + Etiketa + + + + Position + Posizioa + + + + Length + Luzera + + + + Area + Area + + + + Volume + Bolumena + + + + Tag + Etiketa + + + + Material + Materiala + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5750,12 +5832,12 @@ erabiliko da etiketan informazioa emateko. Draft_Wire - + Polyline Polilerroa - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Puntu anitzeko lerro (polilerro) bat sortzen du. Ctrl atxikitzeko, Shift murrizteko. @@ -6061,12 +6143,12 @@ Ctrl atxikitzeko, Shift murrizteko. Draft_Arc_3Points - + Arc by 3 points Arkua 3 punturen arabera - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Arku zirkular bat sortzen du hiru puntu erabilita. @@ -6076,12 +6158,12 @@ Ctrl atxikitzeko, Shift murrizteko. Draft_ArcTools - + Arc tools Arku-tresnak - + Create various types of circular arcs. Arku zirkularren hainbat mota sortzen ditu. @@ -6451,12 +6533,12 @@ Ctrl atxikitzeko, Shift murrizteko. Draft_CubicBezCurve - + Cubic Bézier curve Bézier kurba kubikoa - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6468,12 +6550,12 @@ Ctrl atxikitzeko, Shift murrizteko. Draft_BezierTools - + Bézier tools Bézier tresnak - + Create various types of Bézier curves. Sortu Bézier kurben hainbat mota. @@ -6944,30 +7026,55 @@ It is a list of strings; each element in the list will be displayed in its own l Kateen zerrenda bat da; zerrendako elementu bakoitza bere lerroan bistaratuko da. - + Text string Testu-katea - + Font file name Letra-tipoaren fitxategiaren izena - + Height of text Testuaren altuera - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Karaktere arteko espazioa - + Fill letters with faces Bete letrak aurpegiekin + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7034,19 +7141,19 @@ ezarri 'Egia' fusiorako edo 'Faltsua' konposaturako - + Create a face Sortu aurpegi bat + + - - The area of this object Objektuaren area @@ -7090,8 +7197,8 @@ ezarri 'Egia' fusiorako edo 'Faltsua' konposaturako Bikoiztuko den oinarri-objektua. - + The object along which the copies will be distributed. It must contain 'Edges'. Kopiak banatzeko erabiliko den objektua. 'Ertzak' eduki behar ditu. @@ -7106,9 +7213,9 @@ ezarri 'Egia' fusiorako edo 'Faltsua' konposaturako Matrize kiribilduaren biraketa-faktorea. - - + + Show the individual array elements (only for Link arrays) Erakutsi banakako matrize-elementuak (esteka-matrizeetarako soilik) @@ -7237,8 +7344,8 @@ Gordetako estilo bat erabiltzen denean, bista-propietate batzuk irakurtzeko soil 'Oharpen-estiloen editorea' erabilita estiloa aldatzen bada soilik editatuko dira. - + The base object that will be duplicated Bikoiztuko den oinarri-objektua @@ -8040,14 +8147,14 @@ Utzi hutsik sistemaren unitate lehenetsia erabiltzeko. Erabili 'arch' US arku-notazioa behartzeko. - + Arrow size Gezi-tamaina - + Arrow type Gezi mota diff --git a/src/Mod/Draft/Resources/translations/Draft_fi.qm b/src/Mod/Draft/Resources/translations/Draft_fi.qm index 8ca42d443c..1ea1f927c2 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_fi.qm and b/src/Mod/Draft/Resources/translations/Draft_fi.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_fi.ts b/src/Mod/Draft/Resources/translations/Draft_fi.ts index ec9270e250..b81b3f4b2e 100644 --- a/src/Mod/Draft/Resources/translations/Draft_fi.ts +++ b/src/Mod/Draft/Resources/translations/Draft_fi.ts @@ -1615,7 +1615,6 @@ such as "Arial:Bold" Oletusarvon mukaiset korkeudet tekstille ja mitoille - @@ -1623,6 +1622,7 @@ such as "Arial:Bold" + mm mm @@ -1941,9 +1941,9 @@ from the Addon Manager. Salli FreeCAD:in automaattisesti ladata ja päivittää DXF-kirjastot - - + + Import options Tuontiasetukset @@ -2161,8 +2161,8 @@ If it is set to '0' the whole spline is treated as a straight segment. If it is set to '0' the whole spline is treated as a straight segment. - + Export options Vientiasetukset @@ -2721,10 +2721,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Kopio @@ -2812,21 +2812,21 @@ This might fail for post DXF R12 templates. - + Top Yläpuoli - + Front Etupuoli - + Side Side @@ -2903,7 +2903,7 @@ This might fail for post DXF R12 templates. - + Angle Kulma @@ -3083,6 +3083,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Viiva @@ -3103,7 +3104,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Pyöritä @@ -3124,24 +3125,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Siirtymä - + Distance Etäisyys - + Offset distance Offset distance @@ -3152,63 +3153,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Yleinen X - - - Global Y - Yleinen Y - - - Global Z - Yleinen Z + Global {} + Global {} @@ -3297,14 +3258,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3328,11 +3289,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Mukautettu @@ -3357,41 +3318,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3555,60 +3516,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3680,7 +3646,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3691,9 +3657,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3701,60 +3667,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3820,8 +3786,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3836,40 +3802,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Kierto - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3993,6 +3959,11 @@ The final angle will be the base angle plus this amount. Create fillet Luo pyöristys + + + Polygon + Polygoni + Create Polygon (Part) @@ -4019,45 +3990,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4191,32 +4167,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + Ellipsi + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4241,34 +4232,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale Mittakaava - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4309,26 +4300,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Mitta + - + Create Dimension Luo Mitta - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4343,37 +4339,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Suorakulmio + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4414,8 +4415,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4470,41 +4471,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Polar array - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4524,22 +4525,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4554,24 +4555,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Ortogonaalinen matriisi @@ -4636,11 +4637,11 @@ The final angle will be the base angle plus this amount. Oletus + - Circular array Circular array @@ -4690,12 +4691,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4765,12 +4776,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4873,22 +4884,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4898,14 +4906,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4932,8 +4943,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4968,8 +4979,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5344,9 +5355,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5451,6 +5462,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Pyöristä + Delete original objects @@ -5462,32 +5478,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Tallenna tyyli - + Name of this new style: Tämän uuden tyylin nimi: - + Warning Varoitus - + Name exists. Overwrite? Nimi on jo olemassa. Korvataanko? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5503,21 +5519,21 @@ from menu Tools -> Addon Manager Kaltevuus - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Tosi - - + + False Epätosi @@ -5598,6 +5614,7 @@ from menu Tools -> Addon Manager + Name Nimi @@ -5636,6 +5653,71 @@ from menu Tools -> Addon Manager New Layer Uusi taso + + + Custom + Mukautettu + + + + Label + Label + + + + Position + Sijainti + + + + Length + Pituus + + + + Area + Pinta-ala + + + + Volume + Tilavuus + + + + Tag + Tag + + + + Material + Materiaali + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5763,12 +5845,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6074,12 +6156,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6089,12 +6171,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6463,12 +6545,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6480,12 +6562,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6956,30 +7038,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Tekstin merkkijono - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7046,19 +7153,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7102,8 +7209,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7118,9 +7225,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7249,8 +7356,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8053,14 +8160,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Nuolen koko - + Arrow type Nuolen tyyppi diff --git a/src/Mod/Draft/Resources/translations/Draft_fr.qm b/src/Mod/Draft/Resources/translations/Draft_fr.qm index 1a652b01ee..73bda0cac4 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_fr.qm and b/src/Mod/Draft/Resources/translations/Draft_fr.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_fr.ts b/src/Mod/Draft/Resources/translations/Draft_fr.ts index 9ee97cc112..e9ee577997 100644 --- a/src/Mod/Draft/Resources/translations/Draft_fr.ts +++ b/src/Mod/Draft/Resources/translations/Draft_fr.ts @@ -263,7 +263,7 @@ Line width - Largeur de ligne + Épaisseur de trait @@ -680,7 +680,7 @@ Ceci ne fonctionne que si "Réseau lié" est désactivé. If checked, the resulting object will be a "Link array" instead of a regular array. A Link array is more efficient when creating multiple copies, but it cannot be fused together. Si coché, l'objet résultant sera un "Réseau lié" au lieu d'un réseau normal. -Un réseau lié est plus efficace lors de la création de plusieurs copies, mais il ne peut pas être fusionné. +Un réseau lié est plus efficace lors de la création de plusieurs copies mais il ne peut pas être fusionné. @@ -730,7 +730,7 @@ Un réseau lié est plus efficace lors de la création de plusieurs copies, mais String - Chaîne + Chaîne de caractères @@ -966,7 +966,7 @@ en utilisant les touches [ et ] lors du dessin Line color - Couleur de ligne + Couleur de la ligne @@ -976,7 +976,7 @@ en utilisant les touches [ et ] lors du dessin Line width - Largeur de ligne + Épaisseur de trait @@ -986,7 +986,7 @@ en utilisant les touches [ et ] lors du dessin Draw style - Style de représentation + Style de dessin @@ -1232,7 +1232,7 @@ en utilisant les touches [ et ] lors du dessin Selected - Sélection + Sélectionné @@ -1617,7 +1617,6 @@ comme "Arial:Bold" Hauteur par défaut pour les textes et les cotes - @@ -1625,6 +1624,7 @@ comme "Arial:Bold" + mm mm @@ -1706,7 +1706,7 @@ comme "Arial:Bold" Tick - Cocher + Oblique @@ -1943,9 +1943,9 @@ Vous pouvez également le faire manuellement en installant l'atelier "dxf_librar Permettre à FreeCAD de télécharger et mettre à jour automatiquement les librairies DXF - - + + Import options Options d'importation @@ -2160,8 +2160,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Si c'est défini à "0", la spline entière est traitée comme un segment droit. - + Export options Options d'exportation @@ -2720,10 +2720,10 @@ Ceci peut échouer avec les modèles ultérieurs à DXF R12. - - - - + + + + Copy Copie @@ -2811,21 +2811,21 @@ Ceci peut échouer avec les modèles ultérieurs à DXF R12. - + Top - Dessus + Haut  - + Front Devant - + Side Côté @@ -2833,7 +2833,7 @@ Ceci peut échouer avec les modèles ultérieurs à DXF R12. Auto - Auto + Automatique @@ -2902,7 +2902,7 @@ Ceci peut échouer avec les modèles ultérieurs à DXF R12. - + Angle Angle @@ -3081,13 +3081,14 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Ligne DWire - Filaire + Polyligne @@ -3101,7 +3102,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Pivoter @@ -3122,24 +3123,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Décalage - + Distance Distance - + Offset distance Distance de décalage @@ -3150,63 +3151,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - X local - - - Local Y - Y local - - - Local Z - Z local + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - X global - - - Global Y - Y global - - - Global Z - Z global + Global {} + Global {} @@ -3294,14 +3255,14 @@ or try saving to a lower DWG version. Essayez de déplacer le fichier DWG vers un chemin de répertoire sans espaces ni caractères non-anglophones, ou essayez de sauvegarder vers une version inférieure de DWG. - - - + + + All Shapes must be coplanar Toutes les formes doivent être coplanaires - + Selected Shapes must define a plane Les formes sélectionnées doivent définir un plan @@ -3322,13 +3283,13 @@ Ou téléchargez ces bibliothèques manuellement, comme expliqué sur https://gi Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". + - Custom - Personnalisée + Personnaliser @@ -3351,41 +3312,41 @@ Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". Définir l'échelle utilisée par les outils d'annotation de Draft - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Aucun document actif. Abandon. - - + + + + + - - - - - + + Wrong input: object not in document. Mauvaise entrée : l'objet n'est pas dans le document. @@ -3462,7 +3423,7 @@ Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". Wire - Fil + Polyligne @@ -3549,60 +3510,65 @@ Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". Choisir le Point cible - + Create Label Créer une étiquette - - + + Pick endpoint of leader line Choisir l'extrémité de la ligne de référence - - + + Pick text position Sélectionner la position du texte - - + + Pick first point Sélectionner le premier point - + Create Line Créer une ligne - + Create Wire Créer une polyligne - - - - - + + Polyline + Polyligne + + + + + + + + + - - Pick next point Sélectionner le point suivant - + Unable to create a Wire from selected objects Impossible de créer une polyligne à partir des objets sélectionnés - + Convert to Wire Convertir en polyligne @@ -3619,7 +3585,7 @@ Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". Selection: - Sélection : + Sélection : @@ -3674,7 +3640,7 @@ Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". - + Some subelements could not be moved. Certains sous-éléments n’ont pas pu être déplacés. @@ -3685,9 +3651,9 @@ Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". Sélectionner le point central - - - + + + @@ -3695,60 +3661,60 @@ Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". Sélectionner le rayon + - - - + + Start angle Angle de départ - - + + Pick start angle Sélectionner l’angle de départ + - - - + + Aperture angle Angle d'ouverture - + Pick aperture Sélectionner l’ouverture - + Create Circle (Part) Créer un cercle (partie) - + Create Circle Créer un cercle - + Create Arc (Part) Créer un arc (partie) - + Create Arc Créer un arc - + Pick aperture angle Sélectionner l’angle d’ouverture - - + + Arc by 3 points Arc par 3 points @@ -3814,8 +3780,8 @@ Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". Sélectionner un objet à projeter - - + + Create Point Créer un point @@ -3830,40 +3796,40 @@ Pour permettre à FreeCAD de télécharger ces bibliothèques, choisissez "Oui". Choisir le centre de rotation - - + + Base angle Angle de base - - + + The base angle you wish to start the rotation from L'axe de départ de la rotation souhaitée - - + + Pick base angle Choisir l'angle de base - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. La valeur de la rotation que vous souhaitez effectuer. L'angle final sera l'angle de base plus cette quantité. - - + + Pick rotation angle Choisir l'angle de rotation @@ -3987,6 +3953,11 @@ L'angle final sera l'angle de base plus cette quantité. Create fillet Créer un congé + + + Polygon + Polygone + Create Polygon (Part) @@ -4013,45 +3984,50 @@ L'angle final sera l'angle de base plus cette quantité. Sélectionner l'objet à réduire ou agrandir - + Pick distance Choisir la distance - + Offset angle Angle de décalage - + Unable to trim these objects, only Draft wires and arcs are supported. Impossible d'ajuster ces objets, seuls les polylignes et les arcs de Draft sont pris en charge. - + Unable to trim these objects, too many wires Impossible d'ajuster ces objets, trop de polylignes - + These objects don't intersect. Ces objets ne se recoupent pas. - + Too many intersection points. Trop de points d'intersection. + + + B-Spline + B-spline + Spline has been closed La spline a été fermée + + - - Last point has been removed Le dernier point a été supprimé @@ -4091,7 +4067,7 @@ L'angle final sera l'angle de base plus cette quantité. Close wire - Fermer un fil + Fermer une polyligne @@ -4185,32 +4161,47 @@ L'angle final sera l'angle de base plus cette quantité. L'extrémité de la courbe de Bézier ne peut pas être lissée - - + + Bézier curve + Courbe de Bézier + + + + Bézier curve has been closed La courbe de Bézier a été fermée - - + + Create BezCurve Créer une courbe de Bézier - - + + Cubic Bézier curve + Courbe de Bézier cubique + + + + Click and drag to define next knot Cliquer et faire glisser pour définir le nœud suivant - - + + Ellipse + Ellipse + + + + Create Ellipse Créer une ellipse - - + + Pick opposite point Sélectionner le point opposé @@ -4235,34 +4226,34 @@ L'angle final sera l'angle de base plus cette quantité. Sélectionner la distance de référence à partir du point de base - - - + + + Scale - Échelle + Mettre à l'échelle - + Some subelements could not be scaled. Certains sous-éléments n'ont pas pu être mis à l'échelle. - + Unable to scale object: Impossible de mettre l'objet à l'échelle : - + Unable to scale objects: Impossible de mettre les objets à l'échelle : - + This object type cannot be scaled directly. Please use the clone method. Ce type d'objet ne peut pas être mis à l'échelle directement. Utiliser la méthode de clonage. - + Pick new distance from base point Sélectionner une nouvelle distance à partir du point de base @@ -4286,43 +4277,48 @@ L'angle final sera l'angle de base plus cette quantité. No active Draft Toolbar. - Pas de barre d'outils de Draft active. + La barre d'outils Draft n'est pas active. Construction mode - Mode de construction + Mode Construction Continue mode - Mode continu + Mode Continu Toggle display mode Basculer le mode d'affichage + + + Dimension + Dimension + - + Create Dimension - Créer une cote + Créer une dimension - + Create Dimension (radial) Créer une dimension (radiale) - + Edge too short! Arête trop courte ! - + Edges don't intersect! Les arêtes ne se croisent pas ! @@ -4337,37 +4333,42 @@ L'angle final sera l'angle de base plus cette quantité. Choisir le premier point du rectangle de sélection - + Pick opposite point of selection rectangle Sélectionner le point opposé du rectangle de sélection - + Pick start point of displacement Choisir le point de départ du déplacement - + Pick end point of displacement Choisir le point d’arrivée du déplacement - + Turning one Rectangle into a Wire Transformer un rectangle en un polyligne - + Stretch Étirer - + + Rectangle + Rectangle + + + Create Plane Créer un plan - + Create Rectangle Créer un rectangle @@ -4408,8 +4409,8 @@ L'angle final sera l'angle de base plus cette quantité. Changer la pente - + Select an object to upgrade Sélectionner un objet à mettre à niveau @@ -4464,41 +4465,41 @@ L'angle final sera l'angle de base plus cette quantité. Désagréger - - + + Task panel: Panneau des tâches : + - Polar array Réseau polaire - - + + At least one element must be selected. Au moins un élément doit être sélectionné. - - + + Selection is not suitable for array. La sélection n'est pas adaptée pour un réseau. - - - - + + + + Object: Objet : @@ -4518,22 +4519,22 @@ L'angle final sera l'angle de base plus cette quantité. L'angle est inférieur à -360 degrés. Il est défini à cette valeur pour continuer. - + Center reset: Réinitialisation du centre : - - + + Fuse: Union : - - + + Create Link array: Créer un réseau lié : @@ -4548,24 +4549,24 @@ L'angle final sera l'angle de base plus cette quantité. Angle polaire : - + Center of rotation: Centre de rotation : - - + + Aborted: Abandonné : + - Orthogonal array Matrice orthogonale @@ -4627,14 +4628,14 @@ L'angle final sera l'angle de base plus cette quantité. Default - Défaut + Par défaut + - Circular array Réseau circulaire @@ -4684,12 +4685,22 @@ L'angle final sera l'angle de base plus cette quantité. Paramètre de symétrie : - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires Formes à partir de texte : la chaîne de caractères n'a pas de polylignes - + ShapeString: face creation failed for one character Formes à partir de texte : la création de face a échoué pour un caractère @@ -4759,12 +4770,12 @@ L'angle final sera l'angle de base plus cette quantité. ajout de la propriété "Placement supplémentaire" - + No shape found Aucune forme trouvée - + All Shapes must be planar Toutes les formes doivent être planaires @@ -4833,12 +4844,12 @@ L'angle final sera l'angle de base plus cette quantité. Radius: - Rayon : + Rayon : Center: - Centre : + Centre : @@ -4867,22 +4878,19 @@ L'angle final sera l'angle de base plus cette quantité. Mode carte : + + + - - - Wrong input: must be a number. Mauvaise entrée : doit être un nombre. - - - - + @@ -4892,14 +4900,17 @@ L'angle final sera l'angle de base plus cette quantité. - + + + + Wrong input: must be a vector. Mauvaise entrée : doit être un vecteur. - + Wrong input: must be a list or tuple of strings, or a single string. Mauvaise entrée : doit être une liste ou un uplet de chaînes de caractères, ou une seule chaîne de caractère. @@ -4926,8 +4937,8 @@ L'angle final sera l'angle de base plus cette quantité. Entrée : valeur unique développée en vecteur. - + Wrong input: must be an integer number. Mauvaise entrée : doit être un nombre entier. @@ -4962,8 +4973,8 @@ L'angle final sera l'angle de base plus cette quantité. Mauvaise entrée : doit être un placement, un vecteur ou une rotation. - + Wrong input: object must not be a list. Mauvaise entrée : l'objet ne doit pas être une liste. @@ -5133,7 +5144,7 @@ L'angle final sera l'angle de base plus cette quantité. Select layer contents - Sélectionner le contenu du calque + Sélectionner le contenu du calque. @@ -5338,9 +5349,9 @@ L'angle final sera l'angle de base plus cette quantité. ajout de la propriété de vue "TextColor" - - + + renamed 'DisplayMode' options to 'World/Screen' les options "DisplayMode" ont été renommées en "World/Screen" @@ -5362,7 +5373,7 @@ L'angle final sera l'angle de base plus cette quantité. added property 'Count' - ajout de la propriété 'Comptage' + ajout de la propriété "Count" @@ -5444,6 +5455,11 @@ Installer l’extension de la bibliothèque dxf manuellement depuis le menu Outi You must choose a base object before using this command Vous devez choisir un objet de base avant d'utiliser cette commande + + + Fillet + Congé + Delete original objects @@ -5455,32 +5471,32 @@ Installer l’extension de la bibliothèque dxf manuellement depuis le menu Outi Créer un chanfrein - + Save style Sauvegarder le style - + Name of this new style: Nom de ce nouveau style : - + Warning Attention - + Name exists. Overwrite? Le nom existe déjà. Le remplacer ? - + Error: json module not found. Unable to load style Erreur: module json introuvable. Impossible de charger le style - + Error: json module not found. Unable to save style Erreur : module json introuvable. Impossible d'enregistrer le style @@ -5496,28 +5512,28 @@ Installer l’extension de la bibliothèque dxf manuellement depuis le menu Outi Pente - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction La direction du décalage n'est pas définie. Déplacer d'abord la souris de chaque côté de l'objet pour indiquer une direction - - + + True Vrai - - + + False Faux Scale - Échelle + Mettre à l'échelle @@ -5547,7 +5563,7 @@ Installer l’extension de la bibliothèque dxf manuellement depuis le menu Outi Copy - Copie + Copier @@ -5577,7 +5593,7 @@ Installer l’extension de la bibliothèque dxf manuellement depuis le menu Outi Writing camera position - Écrire la position de la caméra + Enregistrer la position de la caméra @@ -5591,23 +5607,24 @@ Installer l’extension de la bibliothèque dxf manuellement depuis le menu Outi + Name Nom Line width - Largeur de ligne + Épaisseur de trait Draw style - Style de représentation + Style de dessin Line color - Couleur de ligne + Couleur de la ligne @@ -5629,6 +5646,71 @@ Installer l’extension de la bibliothèque dxf manuellement depuis le menu Outi New Layer Nouveau calque + + + Custom + Personnalisée + + + + Label + Étiquette + + + + Position + Position + + + + Length + Longueur + + + + Area + Surface + + + + Volume + Volume + + + + Tag + Attache + + + + Material + Matériau + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5753,12 +5835,12 @@ Si plusieurs objets ou plusieurs sous-éléments sont sélectionnés, seul le pr Draft_Wire - + Polyline Polyligne - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Crée une ligne brisée (polyligne). Ctrl pour aimanter, Maj pour contraindre. @@ -6064,12 +6146,12 @@ Ctrl pour aimanter, Maj pour contraindre. Draft_Arc_3Points - + Arc by 3 points Arc par 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Crée un arc circulaire en prenant 3 points. @@ -6079,12 +6161,12 @@ Ctrl pour aimanter, Maj pour contraindre. Draft_ArcTools - + Arc tools Outils pour les arcs - + Create various types of circular arcs. Créer différents types d'arcs circulaires. @@ -6245,7 +6327,9 @@ Créer d'abord un groupe pour utiliser cet outil. Selects the contents of selected groups. For selected non-group objects, the contents of the group they are in is selected. - Sélectionne le contenu des groupes sélectionnés. Pour les objets non groupés sélectionnés, le contenu du groupe dans lequel ils se trouvent est sélectionné. + Sélectionner le contenu des groupes sélectionnés. +Pour les objets non groupés sélectionnés, le contenu +du groupe dans lequel ils se trouvent est sélectionné. @@ -6253,7 +6337,7 @@ Créer d'abord un groupe pour utiliser cet outil. Autogroup - Groupement automatique + Grouper automatiquement @@ -6454,12 +6538,12 @@ Ctrl pour aimanter, Maj pour contraindre. Draft_CubicBezCurve - + Cubic Bézier curve Courbe de Bézier cubique - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6472,12 +6556,12 @@ Ctrl pour aimanter, Maj pour contraindre. Draft_BezierTools - + Bézier tools Outils pour les courbes de Bézier - + Create various types of Bézier curves. Créer différents types de courbes de Bézier. @@ -6547,7 +6631,7 @@ Le réseau peut être transformé en réseau polaire ou circulaire en changeant Scale - Échelle + Mettre à l'échelle @@ -6626,8 +6710,9 @@ Un "Réseau lié selon des points" est plus efficace lors de la manipulation de Toggles the Construction mode. When this is active, the following objects created will be included in the construction group, and will be drawn with the specified color and properties. - Bascule le mode construction. -Lorsqu'il est actif, les objets suivants créés seront inclus dans le groupe de construction, et seront dessinés avec la couleur et les propriétés spécifiées. + Basculer le mode Construction. +Lorsque cette option est activée, les objets créés par la suite seront inclus dans le +groupe de construction et seront dessinés avec la couleur et les propriétés spécifiées. @@ -6635,14 +6720,14 @@ Lorsqu'il est actif, les objets suivants créés seront inclus dans le groupe de Toggle continue mode - Basculer le mode continu + Basculer le mode Continu Toggles the Continue mode. When this is active, any drawing tool that is terminated will automatically start again. This can be used to draw several objects one after the other in succession. - Basculer le mode continu. + Basculer le mode Continu. Lorsqu'il est actif, n'importe quel outil de dessin qui est arrêté redémarrera automatiquement. Cela peut être utilisé pour dessiner plusieurs objets l'un après l'autre en continu. @@ -6659,9 +6744,11 @@ Cela peut être utilisé pour dessiner plusieurs objets l'un après l'autre en c Switches the display mode of selected objects from flatlines to wireframe and back. This is helpful to quickly visualize objects that are hidden by other objects. This is intended to be used with closed shapes and solids, and doesn't affect open wires. - Bascule le mode d'affichage des objets sélectionnés de filaire ombré à filaire et inversement. + Basculer le mode d'affichage des objets sélectionnés de filaire ombré +à filaire et inversement. Utile pour visualiser rapidement les objets cachés par d'autres objets. -Ceci est destiné à être utilisé avec des formes fermées et des solides et n'affecte pas les polylignes ouvertes. +Ceci est destiné à être utilisé avec des formes fermées et des solides +et n'affecte pas les polylignes ouvertes. @@ -6887,7 +6974,7 @@ Ces projections peuvent être utilisées pour créer des dessins techniques avec Shape from text - Formes à partir de texte + Forme à partir d'un texte @@ -6946,30 +7033,55 @@ It is a list of strings; each element in the list will be displayed in its own l Il s'agit d'une liste de chaînes de caractères ; chaque élément de la liste sera affiché sur sa propre ligne. - + Text string Chaîne de texte - + Font file name Nom du fichier de police - + Height of text Hauteur du texte - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Espacement entre les caractères - + Fill letters with faces Remplir des lettres avec des faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7036,19 +7148,19 @@ régler à Vrai pour la fusion ou Faux pour un composé - + Create a face Créer une face + + - - The area of this object La surface de cet objet @@ -7092,8 +7204,8 @@ régler à Vrai pour la fusion ou Faux pour un composé L'objet de base qui sera dupliqué. - + The object along which the copies will be distributed. It must contain 'Edges'. L'objet le long duquel les copies seront distribuées. Il doit contenir des "Arêtes". @@ -7108,9 +7220,9 @@ régler à Vrai pour la fusion ou Faux pour un composé Facteur de rotation du réseau torsadé. - - + + Show the individual array elements (only for Link arrays) Afficher les éléments isolés du réseau (uniquement pour les réseaux de liens) @@ -7213,12 +7325,12 @@ For 'Position', 'Length', and 'Area' these properties will be extracted from the or from the subelement 'VertexN', 'EdgeN', or 'FaceN', respectively, if it is specified. Le type d'information affiché par cette étiquette. -Si 'Personnalisé' est choisi, le contenu de 'Texte Personnalisé' sera utilisé. -Pour les autres types, la chaîne de caractère sera calculée automatiquement à partir de l'objet défini dans 'Cible'. -'Attache' et 'Matériau' ne fonctionnent que pour les objets qui ont ces propriétés, comme les objets Architecture. +Si "Custom" est choisi, le contenu de "Custom Text" sera utilisé. +Pour les autres types, la chaîne de caractère sera calculée automatiquement à partir de l'objet défini dans "Target". +"Tag" et "Material" ne fonctionnent que pour les objets qui ont ces propriétés, comme les objets Arch. -Pour 'Position', 'Longueur', et 'Zone', ces propriétés seront extraites de l'objet principal dans 'Cible', -ou à partir du sous-élément 'SommetN', 'ArêteN', ou 'FaceN', respectivement, si elles sont spécifiées. +Pour "Position", "Length" et "Area", ces propriétés seront extraites de l'objet principal dans "Target", +ou à partir du sous-élément "VertexN", "EdgeN" ou "FaceN" respectivement, si cela est spécifié. @@ -7239,8 +7351,8 @@ Lorsque vous utilisez un style enregistré, certaines des propriétés de la vue elles ne seront modifiables qu'en changeant le style à l'aide de l'outil "Éditeur de style d'annotation". - + The base object that will be duplicated L'objet de base qui sera dupliqué @@ -7556,7 +7668,7 @@ Cette propriété est en lecture seule, car le nombre dépend des points contenu The placement of this object - L'emplacement de cet objet + Le placement de cet objet @@ -7925,12 +8037,12 @@ des propriétés du "premier angle" et du "dernier angle". Line width - Largeur de ligne + Épaisseur de trait Line color - Couleur de ligne + Couleur des lignes @@ -7995,7 +8107,7 @@ des propriétés du "premier angle" et du "dernier angle". Font size - Taille de police + Taille de la police @@ -8041,14 +8153,14 @@ Laisser vide pour la valeur par défaut du système. Utiliser "arch" pour forcer la notation architecturale US - + Arrow size Taille de la flèche - + Arrow type Type de flèche @@ -8121,7 +8233,7 @@ au-delà de la ligne de la dimension Import-Export - Importer/Exporter + Importer-Exporter diff --git a/src/Mod/Draft/Resources/translations/Draft_gl.qm b/src/Mod/Draft/Resources/translations/Draft_gl.qm index f81eae4cf5..3667bb6050 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_gl.qm and b/src/Mod/Draft/Resources/translations/Draft_gl.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_gl.ts b/src/Mod/Draft/Resources/translations/Draft_gl.ts index 794d682073..1fe6cb4a01 100644 --- a/src/Mod/Draft/Resources/translations/Draft_gl.ts +++ b/src/Mod/Draft/Resources/translations/Draft_gl.ts @@ -1615,7 +1615,6 @@ such as "Arial:Bold" Altura por defecto para os textos e mais as dimensións - @@ -1623,6 +1622,7 @@ such as "Arial:Bold" + mm mm @@ -1941,9 +1941,9 @@ from the Addon Manager. Permitir que o FreeCAD baixe e actualice automaticamente as bibliotecas DXF - - + + Import options Opcións de importación @@ -2161,8 +2161,8 @@ If it is set to '0' the whole spline is treated as a straight segment. If it is set to '0' the whole spline is treated as a straight segment. - + Export options Opcións de exportación @@ -2721,10 +2721,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Copiar @@ -2812,21 +2812,21 @@ This might fail for post DXF R12 templates. - + Top Enriba - + Front Fronte - + Side Lado @@ -2903,7 +2903,7 @@ This might fail for post DXF R12 templates. - + Angle Ángulo @@ -3083,6 +3083,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Liña @@ -3103,7 +3104,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Xirar @@ -3124,24 +3125,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Separación - + Distance Distance - + Offset distance Offset distance @@ -3152,63 +3153,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - X global - - - Global Y - Y global - - - Global Z - Z global + Global {} + Global {} @@ -3297,14 +3258,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3328,11 +3289,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Personalizar @@ -3357,41 +3318,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3555,60 +3516,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3680,7 +3646,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3691,9 +3657,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3701,60 +3667,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3820,8 +3786,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3836,40 +3802,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3993,6 +3959,11 @@ The final angle will be the base angle plus this amount. Create fillet Facer chafrán + + + Polygon + Polígono + Create Polygon (Part) @@ -4019,45 +3990,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4191,32 +4167,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + Elipse + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4241,34 +4232,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale Escala - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4309,26 +4300,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Acoutamento + - + Create Dimension Create Dimension - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4343,37 +4339,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Rectángulo + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4414,8 +4415,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4470,41 +4471,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Polar array - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4524,22 +4525,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4554,24 +4555,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Orthogonal array @@ -4636,11 +4637,11 @@ The final angle will be the base angle plus this amount. Por defecto + - Circular array Circular array @@ -4690,12 +4691,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4765,12 +4776,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4873,22 +4884,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4898,14 +4906,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4932,8 +4943,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4968,8 +4979,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5344,9 +5355,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5451,6 +5462,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Arredondar + Delete original objects @@ -5462,32 +5478,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Warning - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5503,21 +5519,21 @@ from menu Tools -> Addon Manager Pendente - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Verdadeiro - - + + False Falso @@ -5598,6 +5614,7 @@ from menu Tools -> Addon Manager + Name Nome @@ -5636,6 +5653,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + Personalizar + + + + Label + Etiqueta + + + + Position + Position + + + + Length + Lonxitude + + + + Area + Área + + + + Volume + Volume + + + + Tag + Etiqueta + + + + Material + Material + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5763,12 +5845,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6074,12 +6156,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6089,12 +6171,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6463,12 +6545,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6480,12 +6562,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6956,30 +7038,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Cadea de texto - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7046,19 +7153,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7102,8 +7209,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7118,9 +7225,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7249,8 +7356,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8053,14 +8160,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Tamaño das frechas - + Arrow type Tipo de frechas diff --git a/src/Mod/Draft/Resources/translations/Draft_hr.qm b/src/Mod/Draft/Resources/translations/Draft_hr.qm index 4b94e2aa1d..381e8fb269 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_hr.qm and b/src/Mod/Draft/Resources/translations/Draft_hr.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_hr.ts b/src/Mod/Draft/Resources/translations/Draft_hr.ts index 475f65a7bd..4369c8e20a 100644 --- a/src/Mod/Draft/Resources/translations/Draft_hr.ts +++ b/src/Mod/Draft/Resources/translations/Draft_hr.ts @@ -48,7 +48,7 @@ New - Novi + Nova @@ -74,12 +74,12 @@ Cancel - Otkazati + Otkaži OK - U redu + OK @@ -692,8 +692,7 @@ Promijenite smjer same osi u uređivaču svojstava. If checked, the resulting objects in the array will be fused if they touch each other. This only works if "Link array" is off. Ako je označeno, rezultirajući objekti u matrici bit će spojeni ako se dodiruju. -Ovo djeluje samo ako je "Povezana matrica" isključen. - +Ovo djeluje samo ako je "Povezana matrica" isključen. @@ -705,8 +704,7 @@ Ovo djeluje samo ako je "Povezana matrica" isključen. If checked, the resulting object will be a "Link array" instead of a regular array. A Link array is more efficient when creating multiple copies, but it cannot be fused together. Ako je označeno, rezultirajući objekt bit će "Povezana matrica" umjesto uobičajenog polja. -Povezana matrica efikasnija je pri stvaranju više kopija, ali ne može ih se spojiti zajedno. - +Povezana matrica efikasnija je pri stvaranju više kopija, ali ne može ih se spojiti zajedno. @@ -756,7 +754,7 @@ Povezana matrica efikasnija je pri stvaranju više kopija, ali ne može ih se sp String - Tekst (string) + Niz @@ -1027,17 +1025,17 @@ tijekom crtanja pomoću tipki [i] Solid - Čvrsto tijelo + Čvrsto, postojano Dashed - Iscrtkano + Isprekidane linije Dotted - Točkasto + Tačkasto @@ -1664,7 +1662,6 @@ kao što su "Arial:Bold" Zadana visina teksta i dimenzije - @@ -1672,6 +1669,7 @@ kao što su "Arial:Bold" + mm mm @@ -1992,9 +1990,9 @@ iz Upravitelja dodataka Omogući FreeCADu da automatski učita i nadogradi DXF biblioteke - - + + Import options Postavke uvoza @@ -2217,8 +2215,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Ako je postavljeno na '0', cijela je krivulja (spline) tretirana kao ravni segment. - + Export options Postavke izvoza @@ -2787,10 +2785,10 @@ Ovo možda neće uspjeti za predloške DXF R12. - - - - + + + + Copy Kopiraj @@ -2878,21 +2876,21 @@ Ovo možda neće uspjeti za predloške DXF R12. - + Top Gore - + Front Ispred - + Side Strana @@ -2969,7 +2967,7 @@ Ovo možda neće uspjeti za predloške DXF R12. - + Angle Kut @@ -3149,6 +3147,7 @@ Nije dostupno ako je omogućena opcija 'Koristi se primitivni dio' postavki Nacr + Line Linija @@ -3169,7 +3168,7 @@ Nije dostupno ako je omogućena opcija 'Koristi se primitivni dio' postavki Nacr - + Rotate Rotiraj @@ -3190,24 +3189,24 @@ Nije dostupno ako je omogućena opcija 'Koristi se primitivni dio' postavki Nacr + + + - - - Offset Pomak - + Distance Udaljenost - + Offset distance Udaljenost pomaka @@ -3218,63 +3217,23 @@ Nije dostupno ako je omogućena opcija 'Koristi se primitivni dio' postavki Nacr - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Lokalno X - - - Local Y - Lokalno Y - - - Local Z - Lokalno Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Globalno X - - - Global Y - Globalno Y - - - Global Z - Globalno Z + Global {} + Global {} @@ -3364,14 +3323,14 @@ Pokušajte premjestiti DWG datoteku na put direktorija bez razmaka i neengleskih ili pokušajte spremiti u nižu DWG verziju. - - - + + + All Shapes must be coplanar Svi oblici moraju biti komplanarni - + Selected Shapes must define a plane Odabrani oblici moraju definirati ravninu @@ -3395,11 +3354,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Da bi odobrio FreeCAD-u preuzimanje ove biblioteke, odgovori sa Da (Yes). + - Custom Prilagođeno @@ -3426,41 +3385,41 @@ Da bi odobrio FreeCAD-u preuzimanje ove biblioteke, odgovori sa Da (Yes). - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Nema aktivnog dokumenta. Prekid. - - + + + + + - - - - - + + Wrong input: object not in document. Pogrešan unos: objekt nije u dokumentu. @@ -3624,60 +3583,65 @@ Da bi odobrio FreeCAD-u preuzimanje ove biblioteke, odgovori sa Da (Yes).Odaberite točku odredišta - + Create Label Stvori oznaku - - + + Pick endpoint of leader line Odaberite krajnju točku linije vodilice - - + + Pick text position Odaberite poziciju teksta - - + + Pick first point Odaberite prvu točku - + Create Line Napravi Liniju - + Create Wire Napravi Žicu - - - - - + + Polyline + Višestruka (izlomljena) linija + + + + + + + + + - - Pick next point Odaberite slijedeću točku - + Unable to create a Wire from selected objects Nije moguće stvoriti žicu od odabranih objekata - + Convert to Wire Pretvori u Žicu @@ -3749,7 +3713,7 @@ Da bi odobrio FreeCAD-u preuzimanje ove biblioteke, odgovori sa Da (Yes). - + Some subelements could not be moved. Neke pod elemente nije bilo moguće pomjeriti. @@ -3760,9 +3724,9 @@ Da bi odobrio FreeCAD-u preuzimanje ove biblioteke, odgovori sa Da (Yes).Odaberite točku središta - - - + + + @@ -3770,60 +3734,60 @@ Da bi odobrio FreeCAD-u preuzimanje ove biblioteke, odgovori sa Da (Yes).Odaberite polumjer + - - - + + Start angle Početni kut - - + + Pick start angle Odaberite početni kut + - - - + + Aperture angle Kut otvora - + Pick aperture Odaberite otvor - + Create Circle (Part) Napravite krug (Dio) - + Create Circle Stvori krug - + Create Arc (Part) Napravite luk (Dio) - + Create Arc Stvori Luk - + Pick aperture angle Odaberite kut otvora - - + + Arc by 3 points Luk iz 3 točke @@ -3889,8 +3853,8 @@ Da bi odobrio FreeCAD-u preuzimanje ove biblioteke, odgovori sa Da (Yes).Odaberite jedan objekt za projekt - - + + Create Point Stvori točku @@ -3905,40 +3869,40 @@ Da bi odobrio FreeCAD-u preuzimanje ove biblioteke, odgovori sa Da (Yes).Odaberite središte rotacije - - + + Base angle Kut odredišta - - + + The base angle you wish to start the rotation from Osnovni kut od kojeg želite započeti rotaciju - - + + Pick base angle Odaberite kut odredišta - - + + Rotation Rotacija - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Količina rotacije koju želite izvesti. Konačni kut bit će osnovni kut plus ovaj iznos. - - + + Pick rotation angle Odaberite kut rotacije @@ -4062,6 +4026,11 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Create fillet Napravi obrub + + + Polygon + Višekutnik + Create Polygon (Part) @@ -4088,45 +4057,50 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Odaberite objekte za skraćivanje ili produživanje - + Pick distance Odaberite udaljenost - + Offset angle Kut pomaka - + Unable to trim these objects, only Draft wires and arcs are supported. Nije moguće skratiti te objekte, samo žice Nacrta i lukovi su podržani. - + Unable to trim these objects, too many wires Nije moguće skratiti te objekte, previše žica - + These objects don't intersect. Ovi objekti se ne sijeku. - + Too many intersection points. Previše sjecišta. + + + B-Spline + B-krivulja + Spline has been closed Kriva je zatvorena + + - - Last point has been removed Zadnja točka je uklonjena @@ -4262,32 +4236,47 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Krajnja točka Bezierove krivulje ne može se izgladiti - - + + Bézier curve + Bézier krivulja + + + + Bézier curve has been closed Bezierova krivulja je zatvorena - - + + Create BezCurve Napravi Bezierovu krivulju - - + + Cubic Bézier curve + Kubična Bezierova krivulja + + + + Click and drag to define next knot Kliknite i povucite za određivanje slijedećeg čvora - - + + Ellipse + Elipsa + + + + Create Ellipse Napravi Elipsu - - + + Pick opposite point Odaberi suprotnu točku @@ -4312,34 +4301,34 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Odaberite referencu udaljenost od odredišne točke - - - + + + Scale Skaliraj - + Some subelements could not be scaled. Neke pod elemente nije bilo moguće skalirati. - + Unable to scale object: Nije moguće skalirati objekt: - + Unable to scale objects: Nije moguće skalirati objekte: - + This object type cannot be scaled directly. Please use the clone method. Ova vrsta objekta ne može se izravno skalirati. Molimo koristite metodu kloniranja. - + Pick new distance from base point Odaberite novu udaljenost od odredišne točke @@ -4380,28 +4369,33 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Toggle display mode Prebaci način prikaza + + + Dimension + Dimenzija + - + Create Dimension Stvori Dimenziju - + Create Dimension (radial) Stvori dimenziju (radijalno) - + Edge too short! Rub je prekratak! - + Edges don't intersect! Rubovi se ne sijeku! @@ -4416,37 +4410,42 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Odaberite prvu točku na pravokutniku odabira - + Pick opposite point of selection rectangle Izaberite suprotnu točku na pravokutniku odabira - + Pick start point of displacement Odaberite početnu točku premještanja - + Pick end point of displacement Odaberite završnu točku premještanja - + Turning one Rectangle into a Wire Prebaci jedan Pravokutnik u Žicu - + Stretch Razvuci - + + Rectangle + Pravokutnik + + + Create Plane Napravi Ravninu - + Create Rectangle Napravi Pravokutnik @@ -4487,8 +4486,8 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Promjeni nagib - + Select an object to upgrade Odaberite objekt za nadogradnju @@ -4543,41 +4542,41 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Vraćanje na niži stupanj - - + + Task panel: Ploča zadataka: + - Polar array Polarna matrica - - + + At least one element must be selected. Barem jedna stavka mora biti označena. - - + + Selection is not suitable for array. Odabir nije prikladan za matricu. - - - - + + + + Object: Objekt: @@ -4597,22 +4596,22 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Kut je ispod -360 stupnjeva. Postavljen je na ovu vrijednost, za nastavak. - + Center reset: Ponovo postavljanje centra: - - + + Fuse: Spoji: - - + + Create Link array: Stvori niz poveznica: @@ -4627,24 +4626,24 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Polarni kut: - + Center of rotation: Centar rotacije: - - + + Aborted: Obustavljeno: + - Orthogonal array Ortogonalna matrica @@ -4709,11 +4708,11 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Inicijalno + - Circular array Kružna matrica @@ -4763,12 +4762,22 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Parametar simetrije: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires Tekstualni Oblik: slova su bez linija - + ShapeString: face creation failed for one character Oblik-tekstom: stvaranje lica za jedan znak nije uspjelo @@ -4839,12 +4848,12 @@ Konačni kut bit će osnovni kut plus ovaj iznos. dodano svojstvo 'DodatnoPostavljanje' - + No shape found Nisam našao oblik - + All Shapes must be planar Svi oblici moraju biti ravninski @@ -4947,22 +4956,19 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Način Karte: + + + - - - Wrong input: must be a number. Pogrešan unos: mora bit broj. - - - - + @@ -4972,14 +4978,17 @@ Konačni kut bit će osnovni kut plus ovaj iznos. - + + + + Wrong input: must be a vector. Pogrešan unos: mora biti vektor. - + Wrong input: must be a list or tuple of strings, or a single string. Pogrešan unos: mora biti popis ili niz riječi ili jedna riječ. @@ -5006,8 +5015,8 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Ulaz: jedna vrijednost proširena na vektor. - + Wrong input: must be an integer number. Pogrešan unos: mora biti cijeli broj. @@ -5042,8 +5051,8 @@ Konačni kut bit će osnovni kut plus ovaj iznos. Pogrešan unos: mora biti položaj, vektor ili rotacija. - + Wrong input: object must not be a list. Pogrešan unos: objekt ne smije biti popis. @@ -5421,9 +5430,9 @@ Konačni kut bit će osnovni kut plus ovaj iznos. dodano svojstvo pogleda 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' preimenovane opcije 'DisplayMode' u 'World/Screen' @@ -5528,6 +5537,11 @@ iz izbornika Alati-> Upravitelj dodataka You must choose a base object before using this command Prije korištenja ove naredbe morate odabrati osnovni objekt + + + Fillet + Obrubi + Delete original objects @@ -5539,32 +5553,32 @@ iz izbornika Alati-> Upravitelj dodataka Napravite žlijeb - + Save style Spremanje stilova - + Name of this new style: Naziv ovog novog stila: - + Warning Upozorenje - + Name exists. Overwrite? Ime postoji. Prepisati? - + Error: json module not found. Unable to load style Pogreška: json modul nije pronađen. Nije moguće učitati stil - + Error: json module not found. Unable to save style Pogreška: json modul nije pronađen. Nije moguće spremiti stil @@ -5580,21 +5594,21 @@ iz izbornika Alati-> Upravitelj dodataka Nagib - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Smjer pomaka nije definiran. Prvo pomaknite miš s obje strane objekta kako biste naznačili smjer - - + + True Točno - - + + False Netočno @@ -5675,6 +5689,7 @@ iz izbornika Alati-> Upravitelj dodataka + Name Ime @@ -5713,6 +5728,71 @@ iz izbornika Alati-> Upravitelj dodataka New Layer Novi Sloj + + + Custom + Prilagođeno + + + + Label + Oznaka + + + + Position + Položaj + + + + Length + Dužina + + + + Area + Područje + + + + Volume + Obujam + + + + Tag + Opis + + + + Material + Materijal + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5840,12 +5920,12 @@ Ako je odabrano previše objekata ili previše pod-elemenata, samo prvi u svakom Draft_Wire - + Polyline Višestruka (izlomljena) linija - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Stvara liniju iz više točaka (višestruke linije (polyline)). CTRL za prikvači, SHIFT za ograniči. @@ -6152,12 +6232,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Luk iz 3 točke - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Stvara kružni luk od 3 točke . @@ -6167,12 +6247,12 @@ CTRL za prikvači, SHIFT za ograničiti. Draft_ArcTools - + Arc tools Alati luka - + Create various types of circular arcs. Napravi razne vrste kružnih lukova. @@ -6543,12 +6623,12 @@ CTRL za prikvači, SHIFT za ograniči. Draft_CubicBezCurve - + Cubic Bézier curve Kubična Bezierova krivulja - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6562,12 +6642,12 @@ CTRL za prikvači, SHIFT za ograniči. Draft_BezierTools - + Bézier tools Bezier alati - + Create various types of Bézier curves. Napravite razne vrste Bezierovih krivulja. @@ -7042,30 +7122,55 @@ It is a list of strings; each element in the list will be displayed in its own l To je niz tekstova; avaki element u listi će biti prikazan u vlastitoj liniji. - + Text string Slova riječi - + Font file name Ime datoteke pisma - + Height of text Visina teksta - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Unutrašnji razmak između znakova - + Fill letters with faces Ispunite slova sa površinama + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7132,19 +7237,19 @@ označi Točno za spajanje ili Netočno za složeni spoj - + Create a face Napravite lice + + - - The area of this object Područje ovog objekta @@ -7188,8 +7293,8 @@ označi Točno za spajanje ili Netočno za složeni spoj Osnovni objekt koji će biti dupliciran. - + The object along which the copies will be distributed. It must contain 'Edges'. Objekt po kojem će se primjerci distribuirati. Mora sadržavati 'Rubove'. @@ -7204,9 +7309,9 @@ označi Točno za spajanje ili Netočno za složeni spoj Faktor rotacije prepletene matrice. - - + + Show the individual array elements (only for Link arrays) Prikaži pojedinačne elemente niza (samo za vezane nizove) @@ -7338,8 +7443,8 @@ Kada se koristi spremljeni stil neka od svojstava pregleda će se moći samo či ona će se moći mijenjati samo promjenom stila pomoću 'Urednika za Anotacijske Stilove'. - + The base object that will be duplicated Osnovni objekt koji će biti dupliciran @@ -8147,14 +8252,14 @@ Ostavite prazno za zadane postavke sustava. Upotrijebite 'arch' za prisilno označavanje US luka - + Arrow size Veličina strelice - + Arrow type Vrsta strelice diff --git a/src/Mod/Draft/Resources/translations/Draft_hu.qm b/src/Mod/Draft/Resources/translations/Draft_hu.qm index 4685398a50..cd41d8b186 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_hu.qm and b/src/Mod/Draft/Resources/translations/Draft_hu.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_hu.ts b/src/Mod/Draft/Resources/translations/Draft_hu.ts index 1db3bfec70..5caea14577 100644 --- a/src/Mod/Draft/Resources/translations/Draft_hu.ts +++ b/src/Mod/Draft/Resources/translations/Draft_hu.ts @@ -1067,7 +1067,7 @@ módosíthatja rajzolás közben Annotations - Magyarázó szövegek + Magyarázat @@ -1619,7 +1619,6 @@ mint a " Arial: Dőlt " Alapértelmezett szöveg és méretezés magasság - @@ -1627,6 +1626,7 @@ mint a " Arial: Dőlt " + mm mm @@ -1945,9 +1945,9 @@ a Kiegészítők kezelőjéből. Engedélyezze a FreeCAD-hoz az automatikus DXF-könyvtárak letöltését és frissítését - - + + Import options Importálási beállítások @@ -2165,8 +2165,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Ha '0'-ra van állítva, a teljes csíkozást egyenes szakaszként kezeli. - + Export options Exportálási beállítások @@ -2725,10 +2725,10 @@ Ez sikertelen lehet a DXF R12 utáni sablonokon. - - - - + + + + Copy Másolás @@ -2816,21 +2816,21 @@ Ez sikertelen lehet a DXF R12 utáni sablonokon. - + Top Felülnézet - + Front Elölnézet - + Side Oldal @@ -2907,7 +2907,7 @@ Ez sikertelen lehet a DXF R12 utáni sablonokon. - + Angle Szög @@ -3087,6 +3087,7 @@ Nem érhető el, ha a 'Rész-primitívek használata' beállítás engedélyezve + Line Vonal @@ -3107,7 +3108,7 @@ Nem érhető el, ha a 'Rész-primitívek használata' beállítás engedélyezve - + Rotate Forgatás @@ -3119,7 +3120,7 @@ Nem érhető el, ha a 'Rész-primitívek használata' beállítás engedélyezve Label - Címke + Felirat @@ -3128,24 +3129,24 @@ Nem érhető el, ha a 'Rész-primitívek használata' beállítás engedélyezve + + + - - - Offset Eltolás - + Distance Távolság - + Offset distance Eltolás távolsága @@ -3156,63 +3157,23 @@ Nem érhető el, ha a 'Rész-primitívek használata' beállítás engedélyezve - Local u0394X - Helyi u0394X - - - Local u0394Y - Helyi u0394Y - - - Local u0394Z - Helyi u0394Z - - - Local X - Helyi X - - - Local Y - Helyi Y - - - Local Z - Helyi Z + Local {} + Local {} - Global u0394X - Globális u0394X - - - Global u0394Y - Globális u0394Y - - - Global u0394Z - Globális u0394Z - - - Global X - Globális X - - - Global Y - Globális Y - - - Global Z - Globális Z + Global {} + Global {} @@ -3227,7 +3188,7 @@ Nem érhető el, ha a 'Rész-primitívek használata' beállítás engedélyezve Remove - Törlés + Eltávolítás @@ -3301,14 +3262,14 @@ Próbáld meg áthelyezni a DWG fájlt szóközök és nem angol karakterek nél vagy próbáld meg alacsonyabb DWG verzióra menteni. - - - + + + All Shapes must be coplanar Minden alakzatnak együtt kell lennie - + Selected Shapes must define a plane A kijelölt alakzatoknak síkot kell meghatároznia @@ -3332,11 +3293,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer A FreeCAD letöltésének bekapcsolásához válassza az "Igen"-t. + - Custom Egyéni @@ -3361,41 +3322,41 @@ A FreeCAD letöltésének bekapcsolásához válassza az "Igen"-t. A jegyzeteszközök által használt méretezés beállítása - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Nincs aktív dokumentum. Megszakítás. - - + + + + + - - - - - + + Wrong input: object not in document. Helytelen bemenet: az a tárgy nincs a dokumentumban. @@ -3559,60 +3520,65 @@ A FreeCAD letöltésének bekapcsolásához válassza az "Igen"-t. Válassz célpontot - + Create Label Címke létrehozása - - + + Pick endpoint of leader line Vezérvonal végpontjának kiválasztása - - + + Pick text position Szöveg helyzet kiválasztása - - + + Pick first point Első pont kiválasztása - + Create Line Vonal létrehozása - + Create Wire Drótváz létrehozása - - - - - + + Polyline + Vonallánc + + + + + + + + + - - Pick next point Következő pont kiválasztása - + Unable to create a Wire from selected objects Nem sikerült létrehozni egy dróthálót a kijelölt tárgyból - + Convert to Wire Dróthálóvá alakít @@ -3684,7 +3650,7 @@ A FreeCAD letöltésének bekapcsolásához válassza az "Igen"-t. - + Some subelements could not be moved. Egyes alelemeket nem lehetett áthelyezni. @@ -3695,9 +3661,9 @@ A FreeCAD letöltésének bekapcsolásához válassza az "Igen"-t. Középpont kiválasztása - - - + + + @@ -3705,60 +3671,60 @@ A FreeCAD letöltésének bekapcsolásához válassza az "Igen"-t. Sugár kiválasztása + - - - + + Start angle Kezdő szög - - + + Pick start angle Kezdő fok kiválasztása + - - - + + Aperture angle Nyílás szöge - + Pick aperture Nyílás kiválasztása - + Create Circle (Part) Kör létrehozása (rész) - + Create Circle Kör rajzolása - + Create Arc (Part) Ív létrehozása (rész) - + Create Arc Ív létrehozása - + Pick aperture angle Nyílás szögének kiválasztása - - + + Arc by 3 points Körív 3 pontból @@ -3824,8 +3790,8 @@ A FreeCAD letöltésének bekapcsolásához válassza az "Igen"-t. Tárgy kijelölése vetítéshez - - + + Create Point Pont létrehozása @@ -3840,40 +3806,40 @@ A FreeCAD letöltésének bekapcsolásához válassza az "Igen"-t. Válasszon ki elforgatás középpontot - - + + Base angle Alapszög - - + + The base angle you wish to start the rotation from Az alapszög, amelyből a forgatás elkezdődik - - + + Pick base angle Alap szög kiválasztása - - + + Rotation Forgatás - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. A végrehajtani kívánt forgatási mennyiség. A végső szög lesz az alapszög plusz ennek összege. - - + + Pick rotation angle Válasszon ki elforgatási szöget @@ -3997,6 +3963,11 @@ A végső szög lesz az alapszög plusz ennek összege. Create fillet Lekerekítés létrehozása + + + Polygon + Sokszög + Create Polygon (Part) @@ -4023,45 +3994,50 @@ A végső szög lesz az alapszög plusz ennek összege. Válassza ki a tárgyakat a vágáshoz/nyújtáshoz - + Pick distance Távolság kiválasztása - + Offset angle Eltolási szög - + Unable to trim these objects, only Draft wires and arcs are supported. Nem lehet vágni a tárgyakat, csak tervrajz vonalak és ívek támogatottak. - + Unable to trim these objects, too many wires Nem lehet ezeket a tárgyakat vágni, túl sok drótváz - + These objects don't intersect. Ezek a tárgyak nem metszik egymást. - + Too many intersection points. Túl sok metszési pont. + + + B-Spline + B-görbe + Spline has been closed Görbe lezárva + + - - Last point has been removed Utolsó pont eltávolítva @@ -4195,32 +4171,47 @@ A végső szög lesz az alapszög plusz ennek összege. Bezgörbe végpontja nem simítható - - + + Bézier curve + Bézier-görbe + + + + Bézier curve has been closed Bezier görbe lezárásra került - - + + Create BezCurve Bézier görbe létrehozás - - + + Cubic Bézier curve + Köbös bezier görbe + + + + Click and drag to define next knot Fogd és vidd a következő csomópont meghatározásához - - + + Ellipse + Ellipszis + + + + Create Ellipse Ellipszis létrehozása - - + + Pick opposite point Ellenkező pont kiválasztása @@ -4245,34 +4236,34 @@ A végső szög lesz az alapszög plusz ennek összege. Referencia távolság kiválasztása az alap pontból - - - + + + Scale Méretezés - + Some subelements could not be scaled. Egyes al-elemeket nem lehetett méretezni. - + Unable to scale object: A tárgy méretezése sikertelen: - + Unable to scale objects: A tárgyak méretezése sikertelen: - + This object type cannot be scaled directly. Please use the clone method. Ez a tárgy típus nem méretezhető közvetlenül. Kérjük, használja a klónozási módszert. - + Pick new distance from base point Válassza ki az új távolságot az alap pontból @@ -4313,26 +4304,31 @@ A végső szög lesz az alapszög plusz ennek összege. Toggle display mode Megjelenítési mód váltása + + + Dimension + Méret + - + Create Dimension - Méret létrehozása + Méretek létrehozása - + Create Dimension (radial) Méret létrehozása (sugárirányú) - + Edge too short! Él túl rövid! - + Edges don't intersect! Élek nem metszők! @@ -4347,37 +4343,42 @@ A végső szög lesz az alapszög plusz ennek összege. Válassza ki az első pontot a téglalap kijelölésén - + Pick opposite point of selection rectangle Válassza ki a második pontot a téglalap kijelölésén - + Pick start point of displacement Elmozdulás kezdőpontjának kiválasztása - + Pick end point of displacement Elmozdulás végpontjának kiválasztása - + Turning one Rectangle into a Wire Egy téglalap átalakítása drótvázzá - + Stretch Nyújtás - + + Rectangle + Téglalap + + + Create Plane Sík létrehozása - + Create Rectangle Téglalap rajzolása @@ -4418,8 +4419,8 @@ A végső szög lesz az alapszög plusz ennek összege. Lejtés módosítása - + Select an object to upgrade Jelöljön ki egy tárgyat a frissítéshez @@ -4474,41 +4475,41 @@ A végső szög lesz az alapszög plusz ennek összege. Visszaminősít - - + + Task panel: Feladat panel: + - Polar array Poláris elrendezés - - + + At least one element must be selected. Legalább egy tételt ki kell választani. - - + + Selection is not suitable for array. A kijelölés nem alkalmas elrendezéshez. - - - - + + + + Object: Tárgy: @@ -4528,22 +4529,22 @@ A végső szög lesz az alapszög plusz ennek összege. A szög nem éri el a 360 fokot. Ez az érték a folytatáshoz van beállítva. - + Center reset: Középre visszaállítás: - - + + Fuse: Egybeolvaszt: - - + + Create Link array: Elrendezés csatolás létrehozása: @@ -4558,24 +4559,24 @@ A végső szög lesz az alapszög plusz ennek összege. Poláris szög: - + Center of rotation: Forgatás középpontja: - - + + Aborted: Megszakított: + - Orthogonal array Merőleges elrendezés @@ -4640,11 +4641,11 @@ A végső szög lesz az alapszög plusz ennek összege. Alapértelmezett + - Circular array Körkörös elrendelés @@ -4694,12 +4695,22 @@ A végső szög lesz az alapszög plusz ennek összege. Szimmetria paraméter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: A karakterláncnak nincsenek dróthálói - + ShapeString: face creation failed for one character Alak a szövegből: a felület létrehozása sikertelen az egyik karakter esetében @@ -4769,12 +4780,12 @@ A végső szög lesz az alapszög plusz ennek összege. hozzáadott tulajdonság 'ExtraPlacement' - + No shape found Nem található alakzat - + All Shapes must be planar Minden alakzatnak síkbelinek kell lennie @@ -4801,7 +4812,7 @@ A végső szög lesz az alapszög plusz ennek összege. Segment - Szegmens + Szakasz @@ -4877,22 +4888,19 @@ A végső szög lesz az alapszög plusz ennek összege. Térkép mód: + + + - - - Wrong input: must be a number. Rossz bemenet: számnak kell lennie. - - - - + @@ -4902,14 +4910,17 @@ A végső szög lesz az alapszög plusz ennek összege. - + + + + Wrong input: must be a vector. Rossz bemenet: vektornak kell lennie. - + Wrong input: must be a list or tuple of strings, or a single string. Helytelen bemenet: karakter rekord listának vagy egyetlen karakternek kell lennie. @@ -4936,8 +4947,8 @@ A végső szög lesz az alapszög plusz ennek összege. Bemenet: vektorosra bővített egyetlen érték. - + Wrong input: must be an integer number. Helytelen bemenet: egész számnak kell lennie. @@ -4972,8 +4983,8 @@ A végső szög lesz az alapszög plusz ennek összege. Helytelen bemenet: elhelyezésnek, vektornak vagy forgatásnak kell lennie. - + Wrong input: object must not be a list. Helytelen bemenet: a tárgy nem lehet lista. @@ -5348,9 +5359,9 @@ A végső szög lesz az alapszög plusz ennek összege. nézet tulajdonság hozzáadva 'SzövegSzín' - - + + renamed 'DisplayMode' options to 'World/Screen' átnevezte a "Megjelenítési mód" opciót "Környezet / Képernyő" opcióra @@ -5455,6 +5466,11 @@ kézzel az Eszközök -> Kiegészítő kezelő menüből You must choose a base object before using this command A parancs használata előtt ki kell választania egy elsődleges tárgyat + + + Fillet + Lekerekítés + Delete original objects @@ -5466,32 +5482,32 @@ kézzel az Eszközök -> Kiegészítő kezelő menüből Letörés létrehozása - + Save style Stílus mentése - + Name of this new style: Az új stílus neve: - + Warning Figyelmeztetés - + Name exists. Overwrite? A név már létezik. Felülírjuk? - + Error: json module not found. Unable to load style Hiba: a json modul nem található. A stílus betöltése sikertelen - + Error: json module not found. Unable to save style Hiba: a json modul nem található. A stílus mentése sikertelen @@ -5507,21 +5523,21 @@ kézzel az Eszközök -> Kiegészítő kezelő menüből Lejtő - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Az eltolás iránya nem meghatározott. Először mozgassa az egeret a tárgy egyik oldalára, hogy meghatározza az irányt - - + + True Igaz - - + + False Hamis @@ -5602,6 +5618,7 @@ kézzel az Eszközök -> Kiegészítő kezelő menüből + Name Név @@ -5640,6 +5657,71 @@ kézzel az Eszközök -> Kiegészítő kezelő menüből New Layer Új réteg + + + Custom + Egyéni + + + + Label + Felirat + + + + Position + Pozíció + + + + Length + Hossz + + + + Area + Terület + + + + Volume + Térfogat + + + + Tag + Mező + + + + Material + Anyag + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5727,7 +5809,7 @@ Az összekapcsolt elrendezés több példány feldolgozásakor hatékonyabb, de Label - Címke + Felirat @@ -5767,12 +5849,12 @@ a feliraton való tájékoztatásra. Draft_Wire - + Polyline Vonallánc - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Többpontos vonalat (vonalláncot) hoz létre. CTRL illesztéshez, SHIFT kényszerítéshez. @@ -6078,12 +6160,12 @@ CTRL az illesztéshez, SHIFT a kényszerítéshez. Draft_Arc_3Points - + Arc by 3 points Körív 3 pontból - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Körkörös ívet hoz létre 3 pont kiválasztásával. @@ -6093,12 +6175,12 @@ CTRL illesztéshez, a SHIFT a kényszerítéshez. Draft_ArcTools - + Arc tools Íveszközök - + Create various types of circular arcs. Hozzon létre különböző típusú köríveket. @@ -6467,12 +6549,12 @@ CTRL illesztéshez, SHIFT a kényszerítéshez. Draft_CubicBezCurve - + Cubic Bézier curve Köbös bezier görbe - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6484,12 +6566,12 @@ CTRL igazításhoz, SHIFT a kényszerítéshez. Draft_BezierTools - + Bézier tools Bezier-görbe eszközök - + Create various types of Bézier curves. Hozzon létre különböző típusú Bazier görbéket. @@ -6958,30 +7040,55 @@ It is a list of strings; each element in the list will be displayed in its own l Ez egy karakter lista; a lista minden eleme a saját sorában jelenik meg. - + Text string - Karakterlánc + Szöveglánc - + Font file name Betűtípus fájl név - + Height of text Szöveg magassága - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Karakterek közötti távolság - + Fill letters with faces Betűk kitöltése felületekkel + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7048,19 +7155,19 @@ Igazra állítva egyesíti vagy hamisra az összetételhez - + Create a face Felület létrehozása + + - - The area of this object Ennek a tárgynak a területe @@ -7104,8 +7211,8 @@ Igazra állítva egyesíti vagy hamisra az összetételhez A másolandó alap tárgy. - + The object along which the copies will be distributed. It must contain 'Edges'. A tárgy, ami körül a másolatokat elosztják. Tartalmaznia kell 'Éleket'. @@ -7120,9 +7227,9 @@ Igazra állítva egyesíti vagy hamisra az összetételhez A csavart tömb forgatási tényezője. - - + + Show the individual array elements (only for Link arrays) Az egyes tömbelemek megmutatása (csak csatolási tömbökhöz) @@ -7251,8 +7358,8 @@ Mentett stílus használatakor a nézettulajdonságok némelyike írásvédett. Ezeket csak a stílus módosításával lehet szerkeszteni a 'Jegyzetstílus szerkesztő' eszközzel. - + The base object that will be duplicated Az alap tárgy, melyet kettőzni kell @@ -8053,14 +8160,14 @@ Hagyja üresen a rendszer alapértelmezetthez. Használja az 'arch' kifejezést amerikai US arch jelölésének kikényszerítésére - + Arrow size - Nyíl méret + Nyíl mérete - + Arrow type Nyíl típus diff --git a/src/Mod/Draft/Resources/translations/Draft_id.qm b/src/Mod/Draft/Resources/translations/Draft_id.qm index 8786d69d59..0b20e60248 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_id.qm and b/src/Mod/Draft/Resources/translations/Draft_id.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_id.ts b/src/Mod/Draft/Resources/translations/Draft_id.ts index b1055ddaf9..9d83dc8698 100644 --- a/src/Mod/Draft/Resources/translations/Draft_id.ts +++ b/src/Mod/Draft/Resources/translations/Draft_id.ts @@ -16,7 +16,7 @@ The name of your style. Existing style names can be edited. - Nama gaya Anda. Nama gaya yang ada dapat diedit. + Nama gaya Anda. Nama gaya yang ada dapat diubah. @@ -31,7 +31,7 @@ Rename - Ganti nama + Namai ulang @@ -41,7 +41,7 @@ Layers manager - Layers manager + Pengelola Susunan @@ -52,32 +52,32 @@ Delete - Menghapus + Hapus Select all - Pilih Semua + Pilih semua Toggle on/off - Toggle on/off + Beralih hidup/mati Isolate - Isolate + Terisolasi Cancel - Membatalkan + Batal OK - Baik + OK @@ -109,204 +109,220 @@ The font size in system units - The font size in system units + Ukuran font dalam unit sistem - - - The line spacing (relative to the font size) - The line spacing (relative to the font size) - - - + Lines and arrows - Lines and arrows + Garis dan Panah - + Show line - Show line + Tampilkan garis - - + + The width of the lines - The width of the lines + Lebar garis - + px - px + piksel - - + + The type of arrows or markers to use for dimensions and labels - The type of arrows or markers to use for dimensions and labels + Jenis tanda panah atau penanda yang digunakan untuk dimensi dan label - - + + The size of the arrows or markers in system units - The size of the arrows or markers in system units + Ukuran tanda panah atau penanda dalam unit sistem - - + + The color of lines and arrows - The color of lines and arrows + Tetapkan warna garis dan teks - + Line and arrow color - Line and arrow color + Warna garis dan penanda - - + + The distance the dimension line is additionally extended - The distance the dimension line is additionally extended + Jarak garis dimensi juga diperpanjang - - + + The distance the extension lines are additionally extended beyond the dimension line - The distance the extension lines are additionally extended beyond the dimension line + Jarak garis ekstensi juga diperpanjang di luar garis dimensi Font size - Ukuran huruf + Ukuran fonta + + + + + The line spacing for multi-line texts and labels (relative to the font size) + Penjarakan baris untuk teks dan label multi-baris (relatif terhadap ukuran fonta) Line spacing - Jarak baris + Jarak antarbaris The color of texts, dimension texts and label texts - The color of texts, dimension texts and label texts + Warna teks, teks dimensi, dan teks label Text color - Text color + Warna teks - + Units Unit - - + + A multiplier factor that affects the size of texts and markers - Faktor pengali yang memengaruhi ukuran teks dan penanda + Faktor pengali yang mempengaruhi ukuran teks dan penanda - + Scale multiplier Pengganda skala - - + + If it is checked it will show the unit next to the dimension value Jika dicentang maka akan menampilkan satuan di sebelah nilai dimensi - + Show unit Tampilkan satuan - - + + Specify a valid length unit like mm, m, in, ft, to force displaying the dimension value in this unit Tentukan satuan panjang yang valid seperti mm, m, in, ft, untuk memaksa menampilkan nilai dimensi dalam satuan ini - + Unit override Penggantian unit - - + + The number of decimals to show for dimension values Jumlah desimal yang akan ditampilkan untuk nilai dimensi - + Decimals Desimal - - + + + The distance between the dimension text and the dimension line + Jarak antara teks dimensi dan garis dimensi + + + + Text spacing + Jarak teks + + + + If it is checked it will display the dimension line Jika dicentang maka akan menampilkan garis dimensi - + Line width - Lebar garis + Tebal garis - + Arrow type Jenis Panah - + Dot Dot - + Circle Lingkaran - + Arrow Panah - + Tick Centang - + Tick-2 Centang-2 - + Arrow size Panah ukuran - Dimension overshoot - Overshoot dimensi + Dimension details + Rindican dimensi - - + + Dimension overshoot + Dimensi terlampaui + + + + The length of the extension lines Panjang garis ekstensi - + Extension lines Jalur ekstensi - + Extension overshoot Overshoot ekstensi @@ -316,7 +332,7 @@ Circular array - Circular array + Array Melingkar @@ -489,57 +505,53 @@ Negative values will result in copies produced in the negative direction. X intervals - X intervals + Interval Reset the distances. - Reset the distances. + Atur ulang jarak. Reset X - Reset X + Setel ulang Distance between the elements in the Y direction. Normally, only the Y value is necessary; the other two values can give an additional shift in their respective directions. Negative values will result in copies produced in the negative direction. - Distance between the elements in the Y direction. -Normally, only the Y value is necessary; the other two values can give an additional shift in their respective directions. -Negative values will result in copies produced in the negative direction. + Jarak antar elemen dalam arah X. Biasanya, hanya nilai X yang diperlukan; dua nilai lainnya dapat memberikan pergeseran tambahan ke arah masing-masing. Nilai negatif akan menghasilkan salinan yang dihasilkan dengan arah negatif. Y intervals - Y intervals + Interval Reset Y - Reset Y + Setel ulang Distance between the elements in the Z direction. Normally, only the Z value is necessary; the other two values can give an additional shift in their respective directions. Negative values will result in copies produced in the negative direction. - Distance between the elements in the Z direction. -Normally, only the Z value is necessary; the other two values can give an additional shift in their respective directions. -Negative values will result in copies produced in the negative direction. + Jarak antar elemen dalam arah X. Biasanya, hanya nilai X yang diperlukan; dua nilai lainnya dapat memberikan pergeseran tambahan ke arah masing-masing. Nilai negatif akan menghasilkan salinan yang dihasilkan dengan arah negatif. Z intervals - Z intervals + Interval Reset Z - Reset Z + Setel ulang @@ -937,238 +949,278 @@ value by using the [ and ] keys while drawing Save current style as a preset... - + Lines and faces Lines and faces - + Line color Line warna - + The color of lines The color of lines - + Line width - Lebar garis + Tebal garis - + px - px + piksel - + Draw style Menggambar gaya - + The line style The line style - + Solid Padat - + Dashed Strip - + Dotted Titik-titik - + DashDot DashDot - + Display mode Mode tampilan - + The display mode for faces The display mode for faces - + Flat Lines Flat Lines - + Wireframe Bingkai kawat - + Shaded Berbayang - + Points Poin - + Shape color Shape color - + The color of faces The color of faces - + Transparency Transparansi - + The transparency of faces The transparency of faces - - + + Annotations - Anotasi + anotasi - + Text font Text font - + The font to use for texts and dimensions Font yang digunakan untuk teks dan dimensi - + + Apply above style to all annotations (texts, dimensions and labels) + Apply above style to all annotations (texts, dimensions and labels) + + + Text size Ukuran teks - + The size of texts and dimension texts The size of texts and dimension texts - + Text spacing Jarak teks - + The space between the text and the dimension line The space between the text and the dimension line - + Text color - Text color + Warna teks - + The color of texts and dimension texts The color of texts and dimension texts - + Line spacing - Jarak baris + Jarak antarbaris - + The spacing between different lines of text The spacing between different lines of text - + + Dimensions + Ukuran + + + Arrow style Arrow style - + The type of dimension arrows The type of dimension arrows - + Dot Dot - + Circle Lingkaran - + Arrow Panah - + Tick Centang - + Tick-2 Centang-2 - + + Ext lines + Ext lines + + + + The distance the dimension line is extended past the extension lines + The distance the dimension line is extended past the extension lines + + + Arrow size Panah ukuran - + The size of dimension arrows The size of dimension arrows - + Show unit Tampilkan satuan - + If the unit suffix is shown on dimension texts or not If the unit suffix is shown on dimension texts or not - + + Dim overshoot + Dim overshoot + + + + Length of the extension lines beyond the dimension line + Length of the extension lines beyond the dimension line + + + + Length of the extension lines + Length of the extension lines + + + + Ext overshoot + Ext overshoot + + + Unit override Penggantian unit - + The unit to use for dimensions. Leave blank to use current FreeCAD unit The unit to use for dimensions. Leave blank to use current FreeCAD unit - + Apply above style to selected object(s) Apply above style to selected object(s) - + Selected Terpilih @@ -1388,129 +1440,129 @@ Note that this is not fully supported, and many object will be not editable with Pengaturan visual - + Visual Settings Pengaturan Visual - + Snap symbols style Simbol simbol gaya - + Draft classic style Rancangan gaya klasik - + Bitsnpieces style Gaya Bitsnpieces - + Color Warna - + The default color for snap symbols Standar warna untuk jepret simbol - + Check this if you want to use the color/linewidth from the toolbar as default Periksa ini jika Anda ingin menggunakan warna / linewidth dari toolbar sebagai default - + Save current color and linewidth across sessions Simpan warna dan linewidth saat ini di seluruh sesi - + If checked, a widget indicating the current working plane orientation appears during drawing operations Jika dicentang, widget yang menunjukkan orientasi bidang kerja saat ini muncul saat operasi menggambar - + Show Working Plane tracker Tampilkan Pelacak Pesawat Kerja - + Alternate SVG patterns location Alternate SVG patterns location - + Here you can specify a directory with custom SVG files containing <pattern> definitions to be added to the standard patterns Here you can specify a directory with custom SVG files containing <pattern> definitions to be added to the standard patterns - + SVG pattern resolution SVG pattern resolution - + The resolution to draw the patterns in. Default value is 128. Higher values give better resolutions, lower values make drawing faster The resolution to draw the patterns in. Default value is 128. Higher values give better resolutions, lower values make drawing faster - + SVG pattern default size SVG pattern default size - + The default size for SVG patterns The default size for SVG patterns - + Check this if you want to preserve colors of faces while doing downgrade and upgrade (splitFaces and makeShell only) Check this if you want to preserve colors of faces while doing downgrade and upgrade (splitFaces and makeShell only) - + Preserve colors of faces during downgrade/upgrade Preserve colors of faces during downgrade/upgrade - + Check this if you want the face names to derive from the originating object name and vice versa while doing downgrade/upgrade (splitFaces and makeShell only) Check this if you want the face names to derive from the originating object name and vice versa while doing downgrade/upgrade (splitFaces and makeShell only) - + Preserve names of faces during downgrade/upgrade Preserve names of faces during downgrade/upgrade - + Drawing view line definitions Menggambar definisi garis tampilan - + Dashed line definition Definisi garis putus-putus - - - + + + An SVG linestyle definition Definisi SVG linestyle - + Dashdot line definition Dashdot baris definisi - + Dotted line definition Definisi garis putus-putus @@ -1545,7 +1597,7 @@ such as "Arial:Bold" Font size - Ukuran huruf + Ukuran fonta @@ -1553,7 +1605,6 @@ such as "Arial:Bold" Standar tinggi untuk teks dan dimensi - @@ -1561,6 +1612,7 @@ such as "Arial:Bold" + mm mm @@ -1879,9 +1931,9 @@ from the Addon Manager. Biarkan FreeCAD mendownload dan memperbarui perpustakaan DXF secara otomatis - - + + Import options Pilihan impor @@ -1995,8 +2047,28 @@ Otherwise default colors will be applied. - Get original colors from the DXF file - Dapatkan warna asli dari file DXF + Get original colors from the DXF file (legacy importer only) + Get original colors from the DXF file (legacy importer only) + + + + Import hatch boundaries as wires (legacy importer only) + Import hatch boundaries as wires (legacy importer only) + + + + Render polylines with width (legacy importer only) + Render polylines with width (legacy importer only) + + + + Export 3D objects as polyface meshes (legacy exporter only) + Export 3D objects as polyface meshes (legacy exporter only) + + + + Project exported objects along current view direction (legacy exporter only) + Project exported objects along current view direction (legacy exporter only) @@ -2049,11 +2121,6 @@ instead of the size they have in the DXF document Hatches will be converted into simple wires Hatches will be converted into simple wires - - - Import hatch boundaries as wires - Batas penetasan impor sebagai kabel - If polylines have a width defined, they will be rendered @@ -2061,11 +2128,6 @@ as closed wires with correct width If polylines have a width defined, they will be rendered as closed wires with correct width - - - Render polylines with width - Membuat polylines dengan lebar - Ellipse export is poorly supported. Use this to export them as polylines instead. @@ -2089,8 +2151,8 @@ If it is set to '0' the whole spline is treated as a straight segment. If it is set to '0' the whole spline is treated as a straight segment. - + Export options Pilihan ekspor @@ -2099,33 +2161,23 @@ If it is set to '0' the whole spline is treated as a straight segment.All objects containing faces will be exported as 3D polyfaces All objects containing faces will be exported as 3D polyfaces - - - Export 3D objects as polyface meshes - Ekspor benda 3D sebagai jerat polyface - - Drawing Views will be exported as blocks. + TechDraw Views will be exported as blocks. This might fail for post DXF R12 templates. - Drawing Views will be exported as blocks. + TechDraw Views will be exported as blocks. This might fail for post DXF R12 templates. - Export Drawing Views as blocks - Gambar Menggambar Ekspor sebagai blok + Export TechDraw Views as blocks + Export TechDraw Views as blocks Exported objects will be projected to reflect the current view direction Exported objects will be projected to reflect the current view direction - - - Project exported objects along current view direction - Proyek mengekspor objek di sepanjang arah pandang saat ini - Grid and snapping @@ -2659,10 +2711,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Salinan @@ -2750,21 +2802,21 @@ This might fail for post DXF R12 templates. - + Top Puncak - + Front Depan - + Side Side @@ -2777,8 +2829,8 @@ This might fail for post DXF R12 templates. - - + + None @@ -2841,7 +2893,7 @@ This might fail for post DXF R12 templates. - + Angle Sudut @@ -3014,13 +3066,14 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - - + + Autogroup off Autogroup off + Line Garis @@ -3041,7 +3094,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Putar @@ -3062,24 +3115,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Mengimbangi - + Distance Distance - + Offset distance Offset distance @@ -3090,86 +3143,46 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Global X - - - Global Y - Global Y - - - Global Z - Global Z + Global {} + Global {} - + Autogroup: Autogroup: - + Faces Wajah - + Remove Menghapus - + Add Menambahkan - + Facebinder elements Facebinder elements @@ -3179,24 +3192,54 @@ Not available if Draft preference option 'Use Part Primitives' is enabledKonsep - - - LibreDWG error - LibreDWG error - - - - + + + + + + Converting: Converting: - + + + Conversion successful Conversion successful - + + + LibreDWG converter not found + LibreDWG converter not found + + + + + ODA converter not found + ODA converter not found + + + + + QCAD converter not found + QCAD converter not found + + + + + No suitable external DWG converter has been found. +Please set one manually under menu Edit -> Preferences -> Import/Export -> DWG +For more information see: +https://wiki.freecad.org/Import_Export_Preferences + No suitable external DWG converter has been found. +Please set one manually under menu Edit -> Preferences -> Import/Export -> DWG +For more information see: +https://wiki.freecad.org/Import_Export_Preferences + + + Error during DWG conversion. Try moving the DWG file to a directory path without spaces and non-english characters, or try saving to a lower DWG version. @@ -3205,33 +3248,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - No suitable DWG converter has been found. -Please set one manually under menu Edit -> Preferences -> Import/Export -> DWG - No suitable DWG converter has been found. -Please set one manually under menu Edit -> Preferences -> Import/Export -> DWG - - - - - ODA File Converter not found - ODA File Converter not found - - - - - QCAD error - QCAD error - - - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3255,11 +3279,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Adat @@ -3284,41 +3308,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3328,124 +3352,124 @@ To enabled FreeCAD to download these libraries, answer Yes. No graphical interface - + Unable to insert new object into a scaled part Unable to insert new object into a scaled part - + Symbol not implemented. Using a default symbol. Symbol not implemented. Using a default symbol. - + Visibility off; removed from list: Visibility off; removed from list: - + image is Null image is Null - + filename does not exist on the system or in the resource file filename does not exist on the system or in the resource file - + unable to load texture unable to load texture - + Does not have 'ViewObject.RootNode'. Does not have 'ViewObject.RootNode'. - + Solids: Solids: - + Faces: Wajah: - + Wires: Wires: - + Edges: Edges: - + Vertices: Vertices: - + Face Menghadapi - + Wire Kawat - - + + different types different types - + Objects have different placements. Distance between the two base points: Objects have different placements. Distance between the two base points: - + has a different value has a different value - + doesn't exist in one of the objects doesn't exist in one of the objects - + %s shares a base with %d other objects. Please check if you want to modify this. %s shares a base with %d other objects. Please check if you want to modify this. - + %s cannot be modified because its placement is readonly. %s cannot be modified because its placement is readonly. - + Wrong input: unknown document. Wrong input: unknown document. - + This function will be deprecated in This function will be deprecated in - - + + Please use Please use - + This function will be deprecated. This function will be deprecated. @@ -3462,6 +3486,7 @@ To enabled FreeCAD to download these libraries, answer Yes. Dir + Dir here means Direction, not Directory. Also shorten the translation because of available space in GUI Dir @@ -3481,60 +3506,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3606,7 +3636,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3617,9 +3647,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3627,60 +3657,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3746,8 +3776,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3762,40 +3792,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3919,6 +3949,11 @@ The final angle will be the base angle plus this amount. Create fillet Buat fillet + + + Polygon + Poligon + Create Polygon (Part) @@ -3945,45 +3980,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4117,32 +4157,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + Elips + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4167,34 +4222,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale Skala - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4235,26 +4290,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Dimensi + - + Create Dimension Create Dimension - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4269,37 +4329,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Empat persegi panjang + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4340,8 +4405,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4396,51 +4461,41 @@ The final angle will be the base angle plus this amount. Downgrade - - Select an object to array - Select an object to array - - - - Array - Array - - - - + + Task panel: Task panel: + - Polar array Polar array - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4460,22 +4515,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4490,24 +4545,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Orthogonal array @@ -4572,13 +4627,13 @@ The final angle will be the base angle plus this amount. Bawaan + - Circular array - Circular array + Array Melingkar @@ -4626,10 +4681,25 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires + + + ShapeString: face creation failed for one character + ShapeString: face creation failed for one character + added view property 'ScaleMultiplier' @@ -4696,12 +4766,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4804,22 +4874,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4829,14 +4896,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4863,8 +4933,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4899,8 +4969,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5095,66 +5165,66 @@ The final angle will be the base angle plus this amount. Merging layer: - + Edit Edit - + Flatten Flatten - + Upgrade: Unknown force method: Upgrade: Unknown force method: - + Found 1 block: exploding it Found 1 block: exploding it - + Found 1 multi-solids compound: exploding it Found 1 multi-solids compound: exploding it - + Found 1 parametric object: breaking its dependencies Found 1 parametric object: breaking its dependencies - + Found 2 objects: subtracting them Found 2 objects: subtracting them - + Found several faces: splitting them Found several faces: splitting them - + Found several objects: subtracting them from the first one Found several objects: subtracting them from the first one - + Found 1 face: extracting its wires Found 1 face: extracting its wires - + Found only wires: extracting their edges Found only wires: extracting their edges - + No more downgrade possible No more downgrade possible @@ -5275,9 +5345,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5326,7 +5396,7 @@ The final angle will be the base angle plus this amount. - + Draft snap Draft snap @@ -5368,23 +5438,6 @@ The final angle will be the base angle plus this amount. Draft - - - - - - - Draft - Konsep - - - - - - - Import-Export - Ekspor Impor - Download of dxf libraries failed. @@ -5399,6 +5452,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Fillet + Delete original objects @@ -5410,27 +5468,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Warning - + Name exists. Overwrite? Name exists. Overwrite? - + + Error: json module not found. Unable to load style + Error: json module not found. Unable to load style + + + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5446,21 +5509,21 @@ from menu Tools -> Addon Manager Slope - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Benar - - + + False Salah @@ -5541,6 +5604,7 @@ from menu Tools -> Addon Manager + Name Nama @@ -5579,6 +5643,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + Adat + + + + Label + Label + + + + Position + Position + + + + Length + Panjangnya + + + + Area + Daerah + + + + Volume + Volume + + + + Tag + Tag + + + + Material + Bahan + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5604,12 +5733,12 @@ from menu Tools -> Addon Manager ImportSVG - + Unknown SVG export style, switching to Translated Unknown SVG export style, switching to Translated - + The export list contains no object with a valid bounding box The export list contains no object with a valid bounding box @@ -5706,12 +5835,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6017,12 +6146,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6032,12 +6161,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6116,7 +6245,7 @@ on supported nodes and on supported objects. Circular array - Circular array + Array Melingkar @@ -6391,12 +6520,12 @@ CTRL snaps, SHIFT constrains to current segment or to normal, ALT inverts. Draft_BezCurve - + Bézier curve Bézier curve - + Creates an N-degree Bézier curve. The more points you pick, the higher the degree. CTRL to snap, SHIFT to constrain. Creates an N-degree Bézier curve. The more points you pick, the higher the degree. @@ -6406,12 +6535,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6423,12 +6552,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6884,40 +7013,6 @@ The result of the operation depends on the types of objects, which may be able t For example, it explodes the selected polylines into simpler faces, wires, and then edges. It can also subtract faces. - - Draft_Array - - - Array - Array - - - - Creates an array from a selected object. -By default, it is a 2x2 orthogonal array. -Once the array is created its type can be changed -to polar or circular, and its properties can be modified. - Creates an array from a selected object. -By default, it is a 2x2 orthogonal array. -Once the array is created its type can be changed -to polar or circular, and its properties can be modified. - - - - Draft_LinkArray - - - LinkArray - LinkArray - - - - Like the Array tool, but creates a 'Link array' instead. -A 'Link array' is more efficient when handling many copies but the 'Fuse' option cannot be used. - Like the Array tool, but creates a 'Link array' instead. -A 'Link array' is more efficient when handling many copies but the 'Fuse' option cannot be used. - - App::Property @@ -6933,30 +7028,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Text string - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7023,19 +7143,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7079,8 +7199,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7095,9 +7215,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7226,8 +7346,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -7877,7 +7997,7 @@ the 'First Angle' and 'Last Angle' properties. Text color - Text color + Warna teks @@ -8030,14 +8150,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Panah ukuran - + Arrow type Jenis Panah @@ -8074,7 +8194,7 @@ beyond the dimension line Command - + Transform Transform @@ -8093,4 +8213,24 @@ beyond the dimension line Set/modify the different layers of this document + + QObject + + + + + + + Draft + Konsep + + + + + + + Import-Export + Ekspor Impor + + diff --git a/src/Mod/Draft/Resources/translations/Draft_it.qm b/src/Mod/Draft/Resources/translations/Draft_it.qm index 3783398bf5..3b7d8305a3 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_it.qm and b/src/Mod/Draft/Resources/translations/Draft_it.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_it.ts b/src/Mod/Draft/Resources/translations/Draft_it.ts index 4c9b3882f3..106ecd82ef 100644 --- a/src/Mod/Draft/Resources/translations/Draft_it.ts +++ b/src/Mod/Draft/Resources/translations/Draft_it.ts @@ -1616,7 +1616,6 @@ Può essere un nome di carattere come "Arial", uno stile predefinito come "sans" Altezza predefinita per testi e quotature - @@ -1624,6 +1623,7 @@ Può essere un nome di carattere come "Arial", uno stile predefinito come "sans" + mm mm @@ -1942,9 +1942,9 @@ da Addon Manager. Consenti a FreeCAD di scaricare e aggiornare automaticamente le librerie DXF - - + + Import options Opzioni di importazione @@ -2162,8 +2162,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Se impostato a '0' l'intera spline viene trattata come un segmento retto. - + Export options Opzioni di esportazione @@ -2722,10 +2722,10 @@ Questo potrebbe fallire per i modelli DXF dopo la versione R12. - - - - + + + + Copy Copia @@ -2813,21 +2813,21 @@ Questo potrebbe fallire per i modelli DXF dopo la versione R12. - + Top Dall'alto - + Front Di fronte - + Side Lato @@ -2904,7 +2904,7 @@ Questo potrebbe fallire per i modelli DXF dopo la versione R12. - + Angle Angolo @@ -3083,6 +3083,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Linea @@ -3103,7 +3104,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Ruota @@ -3124,24 +3125,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Offset - + Distance Distanza - + Offset distance Distanza di offset @@ -3152,63 +3153,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - X locale - - - Local Y - Y locale - - - Local Z - Z locale + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - X globale - - - Global Y - Y globale - - - Global Z - Z globale + Global {} + Global {} @@ -3295,14 +3256,14 @@ or try saving to a lower DWG version. Errore durante la conversione del DWG. Provare a spostare il file DWG in una cartella con nome senza spazi e caratteri particolari, o provare a salvare in una versione DWG precedente. - - - + + + All Shapes must be coplanar Tutte le Forme devono essere complanari - + Selected Shapes must define a plane Le Forme Selezionate devono definire un piano @@ -3323,11 +3284,11 @@ Oppure scaricare queste librerie manualmente, come spiegato su https://github.co Per abilitare FreeCAD a scaricare queste librerie, rispondere Sì. + - Custom Personalizza @@ -3352,41 +3313,41 @@ Per abilitare FreeCAD a scaricare queste librerie, rispondere Sì.Imposta la scala usata dagli strumenti di annotazione bozza - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Nessun documento attivo, operazione fallita. - - + + + + + - - - - - + + Wrong input: object not in document. Input errato: oggetto non nel documento. @@ -3550,60 +3511,65 @@ Per abilitare FreeCAD a scaricare queste librerie, rispondere Sì.Specificare il punto di destinazione - + Create Label Crea Etichetta - - + + Pick endpoint of leader line Scegliere il punto finale della linea guida - - + + Pick text position Scegliere la posizione del testo - - + + Pick first point Selezionare il primo punto - + Create Line Crea Linea - + Create Wire Crea Polilinea - - - - - + + Polyline + Polilinea + + + + + + + + + - - Pick next point Selezionare il punto successivo - + Unable to create a Wire from selected objects Impossibile creare una Polilinea dagli oggetti selezionati - + Convert to Wire Converti in Polilinea @@ -3675,7 +3641,7 @@ Per abilitare FreeCAD a scaricare queste librerie, rispondere Sì. - + Some subelements could not be moved. Alcuni sottoelementi non possono essere spostati. @@ -3686,9 +3652,9 @@ Per abilitare FreeCAD a scaricare queste librerie, rispondere Sì.Selezionare il punto centrale - - - + + + @@ -3696,60 +3662,60 @@ Per abilitare FreeCAD a scaricare queste librerie, rispondere Sì.Scegliere il raggio + - - - + + Start angle Angolo iniziale - - + + Pick start angle Selezionare l'angolo iniziale + - - - + + Aperture angle Angolo di apertura - + Pick aperture Selezionare l'apertura - + Create Circle (Part) Crea Cerchio (Part) - + Create Circle Crea Cerchio - + Create Arc (Part) Crea Arco (Part) - + Create Arc Crea Arco - + Pick aperture angle Scegliere l'angolo di apertura - - + + Arc by 3 points Arco per 3 punti @@ -3815,8 +3781,8 @@ Per abilitare FreeCAD a scaricare queste librerie, rispondere Sì.Selezionare un oggetto da proiettare - - + + Create Point Crea Punto @@ -3831,40 +3797,40 @@ Per abilitare FreeCAD a scaricare queste librerie, rispondere Sì.Scegliere il centro di rotazione - - + + Base angle Angolo base - - + + The base angle you wish to start the rotation from L'angolo di base da cui si desidera avviare la rotazione - - + + Pick base angle Scegliere l'angolo di base - - + + Rotation Rotazione - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. La quantità di rotazione che si desidera eseguire. L'angolo finale sarà l'angolo base più questa quantità. - - + + Pick rotation angle Scegliere l'angolo di rotazione @@ -3988,6 +3954,11 @@ L'angolo finale sarà l'angolo base più questa quantità. Create fillet Raccorda + + + Polygon + Poligono + Create Polygon (Part) @@ -4014,45 +3985,50 @@ L'angolo finale sarà l'angolo base più questa quantità. Seleziona gli oggetti da tagliare o estendere - + Pick distance Scegliere la distanza - + Offset angle Angolo di offset - + Unable to trim these objects, only Draft wires and arcs are supported. Impossibile tagliare questi oggetti, sono supportati solo polilinee e archi di Draft. - + Unable to trim these objects, too many wires Impossibile tagliare questi oggetti, troppe polilinee - + These objects don't intersect. Questi oggetti non si intersecano. - + Too many intersection points. Troppi punti di intersezione. + + + B-Spline + B-Spline + Spline has been closed La Spline è stata chiusa + + - - Last point has been removed L'ultimo punto è stato rimosso @@ -4186,32 +4162,47 @@ L'angolo finale sarà l'angolo base più questa quantità. Il punto finale di una curva di Bézier non può essere smussato - - + + Bézier curve + Curva di Bezier + + + + Bézier curve has been closed La curva di Bezier è stata chiusa - - + + Create BezCurve Crea Curva di Bezier - - + + Cubic Bézier curve + Curva di bezier cubica + + + + Click and drag to define next knot Cliccare e trascinare per definire il prossimo nodo - - + + Ellipse + Ellisse + + + + Create Ellipse Crea Ellisse - - + + Pick opposite point Selezionare il punto opposto @@ -4236,34 +4227,34 @@ L'angolo finale sarà l'angolo base più questa quantità. Scegliere la distanza di riferimento dal punto base - - - + + + Scale Scala - + Some subelements could not be scaled. Alcuni sottoelementi non possono essere scalati. - + Unable to scale object: Impossibile scalare l'oggetto: - + Unable to scale objects: Impossibile scalare gli oggetti: - + This object type cannot be scaled directly. Please use the clone method. Questo tipo di oggetto non può essere scalato direttamente. Si prega di utilizzare il metodo della clonatura. - + Pick new distance from base point Scegliere una nuova distanza dal punto base @@ -4304,26 +4295,31 @@ L'angolo finale sarà l'angolo base più questa quantità. Toggle display mode Cambia la visualizzazione + + + Dimension + Dimensione + - + Create Dimension Crea quota - + Create Dimension (radial) Crea Quota (radiale) - + Edge too short! Bordo troppo corto! - + Edges don't intersect! I bordi non si intersecano! @@ -4338,37 +4334,42 @@ L'angolo finale sarà l'angolo base più questa quantità. Specificare primo punto del rettangolo di selezione - + Pick opposite point of selection rectangle Specificare il punto opposto del rettangolo di selezione - + Pick start point of displacement Specificare il punto iniziale dello spostamento - + Pick end point of displacement Specificare punto finale dello spostamento - + Turning one Rectangle into a Wire Convertire un rettangolo in una polilinea - + Stretch Stira - + + Rectangle + Rettangolo + + + Create Plane Crea Piano - + Create Rectangle Crea Rettangolo @@ -4409,8 +4410,8 @@ L'angolo finale sarà l'angolo base più questa quantità. Cambia pendenza - + Select an object to upgrade Selezionare un oggetto da promuovere @@ -4465,41 +4466,41 @@ L'angolo finale sarà l'angolo base più questa quantità. Declassa - - + + Task panel: Pannello attività: + - Polar array Serie polare - - + + At least one element must be selected. Almeno un elemento deve essere selezionato. - - + + Selection is not suitable for array. La selezione non è adatta per la Serie. - - - - + + + + Object: Oggetto: @@ -4519,22 +4520,22 @@ L'angolo finale sarà l'angolo base più questa quantità. L'angolo è inferiore a -360 gradi. È impostato su questo valore per procedere. - + Center reset: Ripristino Centro: - - + + Fuse: Combina: - - + + Create Link array: Crea una Serie di Link: @@ -4549,24 +4550,24 @@ L'angolo finale sarà l'angolo base più questa quantità. Angolo polare: - + Center of rotation: Centro di rotazione: - - + + Aborted: Interrotto: + - Orthogonal array Serie ortogonale @@ -4631,11 +4632,11 @@ L'angolo finale sarà l'angolo base più questa quantità. Predefinito + - Circular array Serie circolare @@ -4685,12 +4686,22 @@ L'angolo finale sarà l'angolo base più questa quantità. Parametro simmetria: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires Forma da testo: la stringa non ha polilinee - + ShapeString: face creation failed for one character ShapeString: creazione della faccia fallita per un carattere @@ -4760,12 +4771,12 @@ L'angolo finale sarà l'angolo base più questa quantità. proprietà aggiunta 'ExtraPlacement' - + No shape found Forma non trovata - + All Shapes must be planar Tutte le Forme devono essere planari @@ -4868,22 +4879,19 @@ L'angolo finale sarà l'angolo base più questa quantità. Map mode: + + + - - - Wrong input: must be a number. Input errato: deve essere un numero. - - - - + @@ -4893,14 +4901,17 @@ L'angolo finale sarà l'angolo base più questa quantità. - + + + + Wrong input: must be a vector. Ingresso errato: deve essere un vettore. - + Wrong input: must be a list or tuple of strings, or a single string. Input errato: deve essere una lista o tupla di stringhe, o una singola stringa. @@ -4927,8 +4938,8 @@ L'angolo finale sarà l'angolo base più questa quantità. Input: singolo valore espanso al vettore. - + Wrong input: must be an integer number. Input errato: deve essere un numero intero. @@ -4963,8 +4974,8 @@ L'angolo finale sarà l'angolo base più questa quantità. Input errato: deve essere un posizionamento, un vettore o una rotazione. - + Wrong input: object must not be a list. Input errato: l'oggetto non deve essere un elenco. @@ -5339,9 +5350,9 @@ L'angolo finale sarà l'angolo base più questa quantità. aggiunta la proprietà di visualizzazione 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' rinominate le opzioni 'DisplayMode' in 'World/Screen' @@ -5446,6 +5457,11 @@ dal menu Strumenti -> Addon Manager You must choose a base object before using this command Devi scegliere un oggetto base prima di usare questo comando + + + Fillet + Raccordo + Delete original objects @@ -5457,32 +5473,32 @@ dal menu Strumenti -> Addon Manager Crea smusso - + Save style Salva stile - + Name of this new style: Nome di questo nuovo stile: - + Warning Attenzione - + Name exists. Overwrite? Il nome esiste. Sovrascrivere? - + Error: json module not found. Unable to load style Errore: modulo Json non trovato. Impossibile caricare lo stile - + Error: json module not found. Unable to save style Errore: modulo json non trovato. Impossibile salvare lo stile @@ -5498,21 +5514,21 @@ dal menu Strumenti -> Addon Manager Pendenza - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction La direzione di Offset non è definita. Si prega di spostare il mouse su entrambi i lati dell'oggetto prima per indicare una direzione - - + + True Vero - - + + False Falso @@ -5593,6 +5609,7 @@ dal menu Strumenti -> Addon Manager + Name Nome @@ -5631,6 +5648,71 @@ dal menu Strumenti -> Addon Manager New Layer Nuovo livello + + + Custom + Personalizza + + + + Label + Etichetta + + + + Position + Posizione + + + + Length + Lunghezza + + + + Area + Area + + + + Volume + Volume + + + + Tag + Etichetta + + + + Material + Materiale + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5758,12 +5840,12 @@ sarà utilizzato per fornire informazioni sull'etichetta. Draft_Wire - + Polyline Polilinea - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Crea una linea per più punti (polilinea). CTRL per lo snap, SHIFT per vincolare. @@ -6068,12 +6150,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arco per 3 punti - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Crea un arco circolare selezionando 3 punti. @@ -6083,12 +6165,12 @@ CTRL per lo snap, SHIFT per vincolare. Draft_ArcTools - + Arc tools Strumenti Arco - + Create various types of circular arcs. Crea differenti tipologie di archi circolari. @@ -6457,12 +6539,12 @@ CTRL per lo snap, SHIFT per vincolare. Draft_CubicBezCurve - + Cubic Bézier curve Curva di bezier cubica - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6474,12 +6556,12 @@ CTRL per lo snap, SHIFT per vincolare. Draft_BezierTools - + Bézier tools Strumenti Bezier - + Create various types of Bézier curves. Crea differenti tipologie di curve Bezier. @@ -6948,30 +7030,55 @@ It is a list of strings; each element in the list will be displayed in its own l È una lista di stringhe; ogni elemento nella lista sarà visualizzato nella propria riga. - + Text string Stringa di testo - + Font file name Nome del font - + Height of text Altezza del testo - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Spaziatura tra i caratteri - + Fill letters with faces Riempi le lettere con le facce + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7038,19 +7145,19 @@ imposta 'Vero' se il risultato è una fusione o 'Falso' se è un composto - + Create a face Crea una faccia + + - - The area of this object L'area di questo oggetto @@ -7094,8 +7201,8 @@ imposta 'Vero' se il risultato è una fusione o 'Falso' se è un compostoL'oggetto di base che sarà duplicato. - + The object along which the copies will be distributed. It must contain 'Edges'. L'oggetto lungo il quale le copie saranno distribuite. Deve contenere 'Bordi'. @@ -7110,9 +7217,9 @@ imposta 'Vero' se il risultato è una fusione o 'Falso' se è un compostoRotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Mostra i singoli elementi della serie (solo per le serie di link) @@ -7239,8 +7346,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated L'oggetto base che verrà duplicato @@ -8038,14 +8145,14 @@ Lasciare vuoto per il sistema predefinito. Usare 'arch' per forzare la notazione dell'arco statunitense - + Arrow size Dimensione freccia - + Arrow type Tipo di freccia @@ -8108,7 +8215,7 @@ beyond the dimension line Draft - Draft + Pescaggio diff --git a/src/Mod/Draft/Resources/translations/Draft_ja.qm b/src/Mod/Draft/Resources/translations/Draft_ja.qm index 1ab38d66c7..5c1f409670 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ja.qm and b/src/Mod/Draft/Resources/translations/Draft_ja.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ja.ts b/src/Mod/Draft/Resources/translations/Draft_ja.ts index 75b8751910..aaba276a78 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ja.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ja.ts @@ -1606,7 +1606,6 @@ such as "Arial:Bold" テキストと寸法のデフォルトの高さ - @@ -1614,6 +1613,7 @@ such as "Arial:Bold" + mm mm @@ -1933,9 +1933,9 @@ from the Addon Manager. DXF ライブラリの自動的なダウンロードと更新を FreeCAD に許可 - - + + Import options インポート・オプション @@ -2148,8 +2148,8 @@ If it is set to '0' the whole spline is treated as a straight segment. '0' に設定すると、スプライン全体が直線セグメントとして扱われます。 - + Export options エクスポート・オプション @@ -2708,10 +2708,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy コピー @@ -2799,21 +2799,21 @@ This might fail for post DXF R12 templates. - + Top 上面図 - + Front 正面図 - + Side サイド @@ -2890,7 +2890,7 @@ This might fail for post DXF R12 templates. - + Angle 角度 @@ -3070,6 +3070,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line 直線 @@ -3090,7 +3091,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate 回転 @@ -3111,24 +3112,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset オフセット - + Distance 距離 - + Offset distance Offset distance @@ -3139,63 +3140,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - グローバル座標 X - - - Global Y - グローバル座標 Y - - - Global Z - グローバル座標 Z + Global {} + Global {} @@ -3284,14 +3245,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3315,11 +3276,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom カスタム @@ -3344,41 +3305,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3542,60 +3503,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3667,7 +3633,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3678,9 +3644,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3688,60 +3654,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3807,8 +3773,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3823,40 +3789,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation 回転 - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3980,6 +3946,11 @@ The final angle will be the base angle plus this amount. Create fillet フィレットを作成 + + + Polygon + 多角形 + Create Polygon (Part) @@ -4006,45 +3977,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-スプライン曲線 + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4178,32 +4154,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + 楕円 + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4228,34 +4219,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale 尺度 - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4296,26 +4287,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + 寸法 + - + Create Dimension 寸法を作成 - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4330,37 +4326,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + 四角形 + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4401,8 +4402,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4457,41 +4458,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array 軸周整列 - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4511,22 +4512,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4541,24 +4542,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array 矩形整列 @@ -4623,11 +4624,11 @@ The final angle will be the base angle plus this amount. デフォルト + - Circular array 円形整列 @@ -4677,12 +4678,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4752,12 +4763,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4860,22 +4871,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4885,14 +4893,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4919,8 +4930,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4955,8 +4966,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5331,9 +5342,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5438,6 +5449,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + フィレット + Delete original objects @@ -5449,32 +5465,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Warning - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5490,21 +5506,21 @@ from menu Tools -> Addon Manager 傾斜 - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True True - - + + False False @@ -5585,6 +5601,7 @@ from menu Tools -> Addon Manager + Name 名前 @@ -5623,6 +5640,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + カスタム + + + + Label + ラベル + + + + Position + Position + + + + Length + 長さ + + + + Area + 面積 + + + + Volume + ボリューム + + + + Tag + Tag + + + + Material + マテリアル + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5750,12 +5832,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6061,12 +6143,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6076,12 +6158,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6450,12 +6532,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6467,12 +6549,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6943,30 +7025,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string テキスト文字列 - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7033,19 +7140,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7089,8 +7196,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7105,9 +7212,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7236,8 +7343,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8040,14 +8147,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size 矢印のサイズ - + Arrow type 矢印のタイプ diff --git a/src/Mod/Draft/Resources/translations/Draft_ka.qm b/src/Mod/Draft/Resources/translations/Draft_ka.qm index 97aa1fbc09..c242fc0ad5 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ka.qm and b/src/Mod/Draft/Resources/translations/Draft_ka.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ka.ts b/src/Mod/Draft/Resources/translations/Draft_ka.ts index bb37d3e898..ca6fbb9486 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ka.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ka.ts @@ -31,7 +31,7 @@ Rename - სახელის გადარქმევა + გადარქმევა @@ -77,7 +77,7 @@ OK - &დიახ + დიახ @@ -130,7 +130,7 @@ px - px + პქს @@ -434,7 +434,7 @@ This only works if "Link array" is off. Fuse - შეერთება + შერწყმა @@ -571,7 +571,7 @@ This only works if "Link array" is off. Fuse - შეერთება + შერწყმა @@ -596,7 +596,7 @@ A Link array is more efficient when creating multiple copies, but it cannot be f (Placeholder for the icon) - (ადგილი ხატულასთვის) + (ხატულის ადგილმჭერი) @@ -667,13 +667,13 @@ Change the direction of the axis itself in the property editor. If checked, the resulting objects in the array will be fused if they touch each other. This only works if "Link array" is off. - თუ ჩართულია, მოხდება მასივში მიღებული ობიექტების შერწყმა, თუ ისინი ერთმანეთს ეხებიან. -მუშაობს მხოლოდ მაშინ, თუ "ბმულის მასივი" გამორთულია. + თუ ჩართულია, მიღებული ობიექტები მასივში შეერთდება, თუ ისინი ერთმანეთს ეხებიან. +ეს მხოლოდ მაშინ მუშაობს, თუ "მასივების მიბმა" გამორთულია. Fuse - შეერთება + შერწყმა @@ -685,7 +685,7 @@ A Link array is more efficient when creating multiple copies, but it cannot be f Link array - ბმულების მასივი + მასივების მიბმა @@ -730,7 +730,7 @@ A Link array is more efficient when creating multiple copies, but it cannot be f String - პწკარი + სტრიქონი @@ -981,7 +981,7 @@ value by using the [ and ] keys while drawing px - px + პქს @@ -996,22 +996,22 @@ value by using the [ and ] keys while drawing Solid - მყარი სხეული + მყარი Dashed - შტრიხული + ტირეებით Dotted - პუნქტირული + წერტილოვანი DashDot - შტრიხპუნქტირი + ტირეწერტილი @@ -1036,7 +1036,7 @@ value by using the [ and ] keys while drawing Shaded - მხოლოდ წიბოები + დაჩრდილული @@ -1262,7 +1262,7 @@ value by using the [ and ] keys while drawing Rotation: - ბრუნვა: + შემობრუნება: @@ -1616,7 +1616,6 @@ such as "Arial:Bold" ტექსტებისა და ზომის ტექსტების ნაგულისხმევი სიმაღლე - @@ -1624,6 +1623,7 @@ such as "Arial:Bold" + mm მმ @@ -1640,7 +1640,7 @@ such as "Arial:Bold" World - გარემო + მსოფლიო @@ -1740,12 +1740,12 @@ such as "Arial:Bold" Right - მარჯვნივ + მარჯვენა Text spacing - ტექსტში დაშორებები + სიმბოლოებს შორის დაშორება @@ -1940,11 +1940,11 @@ from the Addon Manager. FreeCAD-სთვის DXF ბიბლიოთეკების ავტომატური გადმოწერის და განახლების უფლების მიცემა - - + + Import options - შემოტანის პარამეტრები + შემოტანის მორგება @@ -2159,10 +2159,10 @@ If it is set to '0' the whole spline is treated as a straight segment. თუ დაყენებულია '0', მთელი სპლაინი განიხილება, როგორც სწორი სეგმენტი. - + Export options - გატანის პარამეტრები + გატანის მორგება @@ -2610,7 +2610,7 @@ This might fail for post DXF R12 templates. Undo - დაბრუნება (&U) + დაბრუნება @@ -2719,10 +2719,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy კოპირება @@ -2796,7 +2796,7 @@ This might fail for post DXF R12 templates. Set Working Plane - Set Working Plane + სამუშაო სიბრტყის დაყენება @@ -2810,21 +2810,21 @@ This might fail for post DXF R12 templates. - + Top თავზე - + Front - წინ + წინა - + Side გვერდი @@ -2901,7 +2901,7 @@ This might fail for post DXF R12 templates. - + Angle კუთხე @@ -2985,7 +2985,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled &Undo - დაბრუნება (&U) + &დაბრუნება @@ -3080,13 +3080,14 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line ხაზი DWire - DWire + პოლიხაზი @@ -3100,9 +3101,9 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate - შებრუნება + შემობრუნება @@ -3121,24 +3122,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset წანაცვლება - + Distance - Distance + დაშორება - + Offset distance წანაცვლების მანძილი @@ -3149,63 +3150,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - ლოკალური u0394X - - - Local u0394Y - ლოკალური u0394Y - - - Local u0394Z - ლოკალური u0394Z - - - Local X - ლოკალური X - - - Local Y - ლოკალური Y - - - Local Z - ლოკალური Z + Local {} + Local {} - Global u0394X - გლობალური u0394X - - - Global u0394Y - გლობალური u0394Y - - - Global u0394Z - გლობალური u0394Z - - - Global X - გლობალური X - - - Global Y - გლობალური Y - - - Global Z - გლობალური Z + Global {} + Global {} @@ -3215,12 +3176,12 @@ Not available if Draft preference option 'Use Part Primitives' is enabled Faces - სიბრტყეები + ზედაპირები Remove - მოცილება + წაშლა @@ -3235,7 +3196,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled Draft - წყალშიგი + მონახაზი @@ -3292,14 +3253,14 @@ or try saving to a lower DWG version. შეცდომა DWG-ის კონვერტაციის დროს. სცადეთ გადაიტანოთ DWG ფაილი დირექტორიაში სახელით ჰარეეების და არაინგლისური სიმბოლოების გარეშე, ან სცადეთ შენახვა DWG-ის ფორმატის უფრო ძველ ვერსიაში. - - - + + + All Shapes must be coplanar ყველა მოხაზულობა კომპლანარული უნდა იყოს - + Selected Shapes must define a plane მონიშნული მოხაზულობები სიბრტყეს უნდა აღწერდნენ @@ -3322,11 +3283,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer კითხვაზე, გნებავთ თუ არა FreeCAD-თვის გადმოწერის უფლების მიცემა, უპასუხეთ დადებითად. + - Custom მომხმარებლის @@ -3351,41 +3312,41 @@ https://github.com/yorikvanhavre/Draft-dxf-importer დააყენეთ მასშტაბი, რომელიც გამოიყენება მონახაზის ანოტაციის ხელსაწყოების მიერ - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. აქტიური დოკუმენტის გარეშე. გაუქმება. - - + + + + + - - - - - + + Wrong input: object not in document. არასწორი შეყვანა: ობიექტი დოკუმენტში არაა. @@ -3437,7 +3398,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Faces: - სიბრტყეები: + ზედაპირები: @@ -3462,7 +3423,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Wire - მავთული + პოლიხაზი @@ -3549,60 +3510,65 @@ https://github.com/yorikvanhavre/Draft-dxf-importer აირჩიეთ სამიზნე წერტილი - + Create Label ჭდის შექმნა - - + + Pick endpoint of leader line აირჩიეთ ლიდერის ხაზის ბოლო წერტილი - - + + Pick text position აირჩიეთ ტექსტის პოზიცია - - + + Pick first point აირჩიეთ პირველი წერტილი - + Create Line ხაზის შექმნა - + Create Wire პოლიხაზის შექმნა - - - - - + + Polyline + პოლიხაზი + + + + + + + + + - - Pick next point აირჩიეთ შემდეგი წერტილი - + Unable to create a Wire from selected objects მონიშნული ობიექტებისგან პოლიხაზის შექმნა შეუძლებელია - + Convert to Wire პოლიხაზად გარდაქმნა @@ -3619,7 +3585,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Selection: - მონიშნული: + არჩევანი: @@ -3674,7 +3640,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer - + Some subelements could not be moved. ზოგიერთი ქვეელემენტის გადატანა შეუძლებელია. @@ -3685,9 +3651,9 @@ https://github.com/yorikvanhavre/Draft-dxf-importer აირჩიეთ ცენტრის წერტილი - - - + + + @@ -3695,60 +3661,60 @@ https://github.com/yorikvanhavre/Draft-dxf-importer აირჩიეთ რადიუსი + - - - + + Start angle საწყისი კუთხე - - + + Pick start angle აირჩიეთ საწყისი კუთხე + - - - + + Aperture angle დიაფრაგმის კუთხე - + Pick aperture აირჩიეთ დიაფრაგმა - + Create Circle (Part) წრეწირის შექმნა (ნაწილი) - + Create Circle წრის შექმნა - + Create Arc (Part) რკალის შექმნა (ნაწილი) - + Create Arc რკალის შექმნა - + Pick aperture angle აირჩიეთ აპერტურის კუთხე - - + + Arc by 3 points რკალი 3 წერტილით @@ -3814,8 +3780,8 @@ https://github.com/yorikvanhavre/Draft-dxf-importer აირჩიეთ ობიექტი პროექციისთვის - - + + Create Point წერტილის შექმნა @@ -3830,40 +3796,40 @@ https://github.com/yorikvanhavre/Draft-dxf-importer არჩიეთ ტრიალის ცენტრი - - + + Base angle ბაზისური კუთხე - - + + The base angle you wish to start the rotation from შებრუნების თქვენთვის სასურველი საწყისი საბაზისო კუთხე - - + + Pick base angle აირჩიეთ საბაზისო კუთხე - - + + Rotation - მობრუნება + შემობრუნება - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. შებრუნებების რაოდენობა, რომლის შესრულებაც გსურთ. საბოლოო კუთხე იქნება ბაზის კუთხეს დამატებული ეს კუთხე. - - + + Pick rotation angle აირჩიეთ ბრუნვის კუთხე @@ -3895,7 +3861,7 @@ The final angle will be the base angle plus this amount. Autogroup - Autogroup + ავტოდაჯგუფება @@ -3985,7 +3951,12 @@ The final angle will be the base angle plus this amount. Create fillet - მომრგვალების შექმნა + მომრგვალებული ნაზოლის შექმნა + + + + Polygon + მრავალკუთხედი @@ -4013,45 +3984,50 @@ The final angle will be the base angle plus this amount. აირჩიეთ გასაფართოებელი ან შესავიწროებელი ობიექტები - + Pick distance აირჩიეთ დაშორება - + Offset angle წანაცვლების კუთხე - + Unable to trim these objects, only Draft wires and arcs are supported. ამ ობიექტების წაჭრა შეუძლებელია. დაშვებულია მხოლოდ მონახაზის პოლიხაზები და რკალები. - + Unable to trim these objects, too many wires ობიექტების წაჭრის შეცდომა. მეტისმეტად ბევრი პოლიხაზი - + These objects don't intersect. ეს ობიექტები არ იკვეთებიან. - + Too many intersection points. გადაკვეთის მეტისმეტად ბევრი წერტილი. + + + B-Spline + B-სპლაინი + Spline has been closed სპლაინი დაიხურა + + - - Last point has been removed ბოლო წერტილი მოცილებულია @@ -4185,32 +4161,47 @@ The final angle will be the base angle plus this amount. ბეზიეს მრუდის ბოლო წერტილი ვერ მომრგვალდება - - + + Bézier curve + ბეზიეს მრუდი + + + + Bézier curve has been closed ბეზიეს რკალი დაიხურა - - + + Create BezCurve შექმენით ბეზიეს მრუდი - - + + Cubic Bézier curve + კუბური ბეზიეს მრუდი + + + + Click and drag to define next knot შემდეგი კვანძის შესაქმნელად დააწკაპუნეთ და გადაათრიეთ - - + + Ellipse + ოვალი + + + + Create Ellipse ოვალის შექმნა - - + + Pick opposite point აირჩიეთ საპირისპირო წერტილი @@ -4235,34 +4226,34 @@ The final angle will be the base angle plus this amount. აირჩიეთ ბმის მანძილი საბაზისო წერტილიდან - - - + + + Scale - მასშტაბირება + მასშტაბი - + Some subelements could not be scaled. ზოგი ქვეელემენტის მასშტაბირება შეუძლებელია. - + Unable to scale object: ობიექტის მასშტაბირების შეცდომა: - + Unable to scale objects: ობიექტების მასშტაბირების შეცდომა: - + This object type cannot be scaled directly. Please use the clone method. ამ ობიექტის ტიპის პირდაპირ მასშტაბირება შეუძლებელია. გთხოვთ, გამოიყენოთ კლონირების მეთოდი. - + Pick new distance from base point აირჩიეთ ახალი მანძილი საბაზისო წერტილიდან @@ -4291,7 +4282,7 @@ The final angle will be the base angle plus this amount. Construction mode - მშენებლობის რეჟიმი + კონსტრუქციის რეჟიმი @@ -4303,26 +4294,31 @@ The final angle will be the base angle plus this amount. Toggle display mode ჩვენების რეჟიმის ჩართ/გამორთ + + + Dimension + განზომილება + - + Create Dimension - ზომის მითითება + განზომილების შექმნა - + Create Dimension (radial) ზომის შექმნა (რადიალური) - + Edge too short! წიბო ძალიან მოკლეა! - + Edges don't intersect! წიბოები არ იკვეთებიან! @@ -4337,37 +4333,42 @@ The final angle will be the base angle plus this amount. აირჩიეთ მონიშვნის მართკუთხედის პირველი წერტილი - + Pick opposite point of selection rectangle აირჩიეთ მონიშვნის მართკუთხედის საპირისპირო წერტილი - + Pick start point of displacement აირჩიეთ გადაადგილების საწყისი წერტილი - + Pick end point of displacement აირჩიეთ გადაადგილების საბოლოო წერტილი - + Turning one Rectangle into a Wire ერთი მართკუთხედის პოლიხაზად გარდაქმნა - + Stretch გაწელვა - + + Rectangle + მართკუთხედი + + + Create Plane სიბრტყის შექმნა - + Create Rectangle ოთხკუთხედის შექმნა @@ -4408,8 +4409,8 @@ The final angle will be the base angle plus this amount. დახრილობის შეცვლა - + Select an object to upgrade აირჩიეთ ობიექტი განახლებისთვის @@ -4464,41 +4465,41 @@ The final angle will be the base angle plus this amount. დაქვეითება - - + + Task panel: ამოცანების ზოლი: + - Polar array პოლარული მასივი - - + + At least one element must be selected. არჩეული უნდა იყოს მინიმუმ ერთი ელემენტი. - - + + Selection is not suitable for array. მონიშნული მასივის მოთხოვნებს არ შეესაბამება. - - - - + + + + Object: ობიექტი: @@ -4518,22 +4519,22 @@ The final angle will be the base angle plus this amount. კუთხე არის -360 გრადუსზე დაბლა. გასაგრძელებლად დაყენებულია ამ მნიშვნელობაზე. - + Center reset: ცენტრის საწყის ადგილას დაბრუნება: - - + + Fuse: შერწყმა: - - + + Create Link array: ბმულების მასივის შექმნა: @@ -4548,24 +4549,24 @@ The final angle will be the base angle plus this amount. პოლარული ბიჯი: - + Center of rotation: შებრუნების ცენტრი: - - + + Aborted: შეწყვეტილია: + - Orthogonal array ორთოგონალური მასივი @@ -4630,11 +4631,11 @@ The final angle will be the base angle plus this amount. ნაგულისხმევი + - Circular array წრიული მასივი @@ -4684,12 +4685,22 @@ The final angle will be the base angle plus this amount. სიმეტრიის პარამეტრი: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: სტრიქონს პოლიხაზები არ გააჩნია - + ShapeString: face creation failed for one character ShapeString: ზედაპირის შექმნის შეცდომა ერთი სიმბოლოსთვის @@ -4734,18 +4745,18 @@ The final angle will be the base angle plus this amount. Length of normal vector is zero. Using a default axis instead. - ნორმალის ვექტორის სიგრძე ნულის ტოლია. მის მაგიერ ნაგულისხმები ღერძი იქნება გამოყენებული. + ნორმალის ვექტორის სიგრძე ნულის ტოლია. მის მაგიერ ნაგულისხმევი ღერძი იქნება გამოყენებული. Tangent and normal vectors are parallel. Normal replaced by a default axis. - მხები და ნორმალი ვექტორები პარალელურია. ნორმალი ნაგულისხმები ღერძით ჩანაცვლდება. + მხები და ნორმალი ვექტორები პარალელურია. ნორმალი ნაგულისხმევი ღერძით ჩანაცვლდება. Cannot calculate normal vector. Using the default normal instead. - ნორმალის ვექტორის გამოთვლა შეუძლებელია. გამოყენებული იქნება ნაგულისხმები ნორმალი. + ნორმალის ვექტორის გამოთვლა შეუძლებელია. გამოყენებული იქნება ნაგულისხმევი ნორმალი. @@ -4759,12 +4770,12 @@ The final angle will be the base angle plus this amount. დაემატა თვისება 'ExtraPlacement' - + No shape found ფორმა ვერ მოიძებნა - + All Shapes must be planar ყველა მოხაზულობა ბრტყელი უნდა იყოს @@ -4867,22 +4878,19 @@ The final angle will be the base angle plus this amount. რუკის რეჟიმი: + + + - - - Wrong input: must be a number. არასწორი შეყვანა: უნდა იყოს რიცხვი. - - - - + @@ -4892,14 +4900,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. არასწორი შეყვანა: უნდა იყოს ვექტორი. - + Wrong input: must be a list or tuple of strings, or a single string. არასწორი შეყვანა: უნდა იყოს სტრიქონების სტრუქტურა ან ერთი სტრიქონი. @@ -4926,8 +4937,8 @@ The final angle will be the base angle plus this amount. შეტანა: ერთი მნიშვნელობა, ვექტორამდე გაზრდილი. - + Wrong input: must be an integer number. არასწორი შეყვანა: უნდა იყოს მთელი რიცხვი. @@ -4962,8 +4973,8 @@ The final angle will be the base angle plus this amount. არასწორი შეყვანა: უნდა იყოს მდებარეობა, ვექტორი ან ბრუნვა. - + Wrong input: object must not be a list. არასწორი შეყვანა: ობიექტი არ უნდა იყოს სია. @@ -5338,9 +5349,9 @@ The final angle will be the base angle plus this amount. თვისება 'TextColor' დამატებულია - - + + renamed 'DisplayMode' options to 'World/Screen' სახელი გადაერქვა პარამეტრს 'DisplayMode'-დან 'World/Screen'-ზე @@ -5401,7 +5412,7 @@ The final angle will be the base angle plus this amount. &Annotation - &შენიშვნა + &ანოტაცია @@ -5445,6 +5456,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command ამ ბრძანების შესრულებამდე მონიშნეთ საბაზისო ობიექტი + + + Fillet + მომრგვალებული ნაზოლი + Delete original objects @@ -5456,39 +5472,39 @@ from menu Tools -> Addon Manager კუთხის ნაზოლის შექმნა - + Save style სტილის შენახვა - + Name of this new style: ამ ახალი სტილის სახელი: - + Warning გაფრთხილება - + Name exists. Overwrite? სახელი უკვე არსებობს. გადავაწერო? - + Error: json module not found. Unable to load style შეცდომა: json მოდული ვერ მოიძებნა. სტილის ჩატვირთვა შეუძლებელია - + Error: json module not found. Unable to save style შეცდომა: json მოდული ვერ მოიძებნა. სტილის შენახვა შეუძლებელია Clone - ასლი + კლონი @@ -5497,28 +5513,28 @@ from menu Tools -> Addon Manager დახრა - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction წანაცვლების მიმართულება აღწერილი არაა. მის მისათითებლად თაგუნა ობიექტის რომელიმე მხარეს, საჭირო მიმართულებით გაამოძრავეთ - - + + True ჭეშმარიტი - - + + False - ცრუ + მცდარი Scale - მასშტაბირება + მასშტაბი @@ -5563,7 +5579,7 @@ from menu Tools -> Addon Manager Create a clone - ასლის შექმნა + კლონის შექმნა @@ -5578,7 +5594,7 @@ from menu Tools -> Addon Manager Writing camera position - კამერის პოზიციის ჩაწერა + კამერის მდებარეობის ჩაწერა @@ -5592,6 +5608,7 @@ from menu Tools -> Addon Manager + Name სახელი @@ -5630,6 +5647,71 @@ from menu Tools -> Addon Manager New Layer ახალი ფენა + + + Custom + მომხმარებლის + + + + Label + ჭდე + + + + Position + Position + + + + Length + სიგრძე + + + + Area + ფართობი + + + + Volume + მოცულობა + + + + Tag + ჭდე + + + + Material + მასალა + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5685,7 +5767,7 @@ You may also select a three vertices or a Working Plane Proxy. Path array - ბილიკების მასივი + ტრაექტორიების მასივი @@ -5757,12 +5839,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline პოლიხაზი - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. მრავალ წერტილზე გამავალი ხაზის (პოლიხაზის) შექმნა. CTRL მისამაგრებლად, SHIFT შესაზღუდად. @@ -6068,12 +6150,12 @@ CTRL მისაბმელად, SHIFT შესაზღუდად. Draft_Arc_3Points - + Arc by 3 points - რკალი 3 წერტილით + რკალი სამი წერტილით - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. ქმნის წრიულ რკალს 3 წერტილის არჩევით. @@ -6083,12 +6165,12 @@ CTRL მისაბმელად, SHIFT შესაზღუდად. Draft_ArcTools - + Arc tools რკალის ხელსაწყოები - + Create various types of circular arcs. სხვადასხვა ტიპის მრგვალი რკალების შექმნა. @@ -6098,7 +6180,7 @@ CTRL მისაბმელად, SHIFT შესაზღუდად. Toggle grid - ბადის ჩართ/გამორთ + ბადის გადართვა @@ -6212,7 +6294,7 @@ The array can be turned into an orthogonal or a polar array by changing its type Rotate - შებრუნება + დატრიალება @@ -6244,7 +6326,7 @@ Create a group first to use this tool. Select group - ჯგუფის არჩევა + ჯგუფის მონიშვნა @@ -6257,7 +6339,7 @@ Create a group first to use this tool. Autogroup - Autogroup + ავტომატური დაჯგუფება @@ -6330,7 +6412,7 @@ Then you can use it to save a different camera position and objects' states any Flip dimension - ზომის ამოტრიალება + განზომილების გადაბრუნება @@ -6456,12 +6538,12 @@ CTRL მისამაგრებლად, SHIFT შეზღუდვის Draft_CubicBezCurve - + Cubic Bézier curve კუბური ბეზიეს მრუდი - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6473,12 +6555,12 @@ CTRL მისამაგრებლად, SHIFT შეზღუდვის Draft_BezierTools - + Bézier tools ბეზიეს ხელსაწყოები - + Create various types of Bézier curves. სხვადასხვა ტიპის ბეზიეს რკალების შექმნა. @@ -6516,7 +6598,7 @@ CTRL მისაბმელად, ALT მხებების შესა Facebinder - Facebinder + ზედაპირების მიმაგრება წიბოებზე @@ -6548,7 +6630,7 @@ The array can be turned into a polar or a circular array by changing its type. Scale - მასშტაბირება + მასშტაბი @@ -6780,7 +6862,7 @@ A 'Link array' is more efficient when handling many copies but the 'Fuse' option Clone - ასლი + კლონი @@ -6834,7 +6916,7 @@ straight Draft lines that are drawn in the XY plane. Selected objects that aren' Upgrade - გართულება + გაუმჯობესება @@ -6888,7 +6970,7 @@ These projections can be used to create technical drawings with the TechDraw Wor Shape from text - ფიგურა ტექსსტიდან + ფიგურა ტექსტიდან @@ -6903,7 +6985,7 @@ The closed shapes can be used for extrusions and boolean operations. Heal - წამლობა + აღდგენა @@ -6920,7 +7002,7 @@ otherwise it will try to heal all objects in the active document. Downgrade - დაქვეითება + ვერსიის ჩამოწევა @@ -6947,30 +7029,55 @@ It is a list of strings; each element in the list will be displayed in its own l ეს არის სტრიქონების სია; ამ სიის თითოეული ელემენტი გამოჩნდება ახალ სტრიქონში. - + Text string - ტექსტური პწკარი + ტექსტური სტრიქონი - + Font file name ფონტის ფაილის სახელი - + Height of text ტექსტის სიმაღლე - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing სიმბოლოებს შორის დაცილება - + Fill letters with faces სიმბოლოების ზედაპირებით შევსება + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7037,19 +7144,19 @@ set True for fusion or False for compound - + Create a face ზედაპირის შექმნა + + - - The area of this object ობიექტის ფართობი @@ -7093,8 +7200,8 @@ set True for fusion or False for compound საბაზისო ობიექტი, რომელიც გაორმაგდება. - + The object along which the copies will be distributed. It must contain 'Edges'. ობიექტი, რომლს გასწვრივაც გადანაწილდება ასლები. ის აუცილებლად უნდა შეიცავდეს „წიბოებს“. @@ -7109,9 +7216,9 @@ set True for fusion or False for compound გრეხილი მასივის ბრუნვის ფაქტორი. - - + + Show the individual array elements (only for Link arrays) მასივის ელემენტების ჩვენება (მხოლოდ ბმულების მასივებისთვის) @@ -7238,8 +7345,8 @@ they will only be editable by changing the style through the 'Annotation style e მათი რედაქტირება შესაძლებელია მხოლოდ სტილის შეცვლით "ანოტაციის სტილის რედაქტორის" ხელსაწყოს მეშვეობით. - + The base object that will be duplicated საბაზისო ობიექტი, რომელიც გაორმაგდება @@ -7535,7 +7642,7 @@ This property is read-only, as the number depends on the points in 'Point Object Continuity - გაგრძელება + უწყვეტობა @@ -7555,7 +7662,7 @@ This property is read-only, as the number depends on the points in 'Point Object The placement of this object - ობიექტის განლაგება + ამ ობიექტის მდებარეობა @@ -8025,7 +8132,7 @@ Write '$dim' so that it is replaced by the dimension length. Show the unit suffix - საზომი ერთეულის ჩვენება + ერთეულის სუფიქსის ჩვენება @@ -8037,14 +8144,14 @@ Use 'arch' to force US arch notation გამოიყენეთ „არქიტექტურა“ აშშ-ის არქიტექტურული ნოტაციისთვის - + Arrow size ისრის ზომა - + Arrow type ისრის ტიპი @@ -8109,7 +8216,7 @@ beyond the dimension line Draft - წყალშიგი + მონახაზი diff --git a/src/Mod/Draft/Resources/translations/Draft_ko.qm b/src/Mod/Draft/Resources/translations/Draft_ko.qm index 4692ba3632..fe4e313154 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ko.qm and b/src/Mod/Draft/Resources/translations/Draft_ko.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ko.ts b/src/Mod/Draft/Resources/translations/Draft_ko.ts index 851b4728fc..f687dc424e 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ko.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ko.ts @@ -1611,7 +1611,6 @@ such as "Arial:Bold" 텍스트 및 치수에 대 한 기본 높이 - @@ -1619,6 +1618,7 @@ such as "Arial:Bold" + mm mm @@ -1937,9 +1937,9 @@ from the Addon Manager. Allow FreeCAD to automatically download and update the DXF libraries - - + + Import options Import options @@ -2157,8 +2157,8 @@ If it is set to '0' the whole spline is treated as a straight segment. '0'으로 설정하면 전체 스플라인이 직선 세그먼트로 처리됩니다. - + Export options Export options @@ -2717,10 +2717,10 @@ DXF R12 이후 템플릿 에서는 실패할 수도 있습니다. - - - - + + + + Copy 복사하기 @@ -2808,21 +2808,21 @@ DXF R12 이후 템플릿 에서는 실패할 수도 있습니다. - + Top 평면 - + Front 정면 - + Side Side @@ -2899,7 +2899,7 @@ DXF R12 이후 템플릿 에서는 실패할 수도 있습니다. - + Angle @@ -3079,6 +3079,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line @@ -3099,7 +3100,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate 회전하기 @@ -3120,24 +3121,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset 오프셋 - + Distance Distance - + Offset distance Offset distance @@ -3148,63 +3149,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Global X - - - Global Y - Global Y - - - Global Z - Global Z + Global {} + Global {} @@ -3293,14 +3254,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3324,11 +3285,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom 색상 편집 @@ -3353,41 +3314,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3551,60 +3512,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3676,7 +3642,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3687,9 +3653,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3697,60 +3663,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3816,8 +3782,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3832,40 +3798,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3989,6 +3955,11 @@ The final angle will be the base angle plus this amount. Create fillet 수정: 필렛(Fillet) + + + Polygon + 다각형 + Create Polygon (Part) @@ -4015,45 +3986,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-스플라인 + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4187,32 +4163,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + 타원 + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4237,34 +4228,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale 크기 - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4305,26 +4296,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + 치수 + - + Create Dimension Create Dimension - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4339,37 +4335,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + 사각형 + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4410,8 +4411,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4466,41 +4467,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array 극 배열 - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4520,22 +4521,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4550,24 +4551,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array 직교 배열 @@ -4632,11 +4633,11 @@ The final angle will be the base angle plus this amount. 기본값 + - Circular array 원형 배열 @@ -4686,12 +4687,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4761,12 +4772,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4869,22 +4880,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4894,14 +4902,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4928,8 +4939,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4964,8 +4975,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5340,9 +5351,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5447,6 +5458,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + 필렛 + Delete original objects @@ -5458,32 +5474,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning 경고 - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5499,21 +5515,21 @@ from menu Tools -> Addon Manager Slope - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True - - + + False 거짓 @@ -5594,6 +5610,7 @@ from menu Tools -> Addon Manager + Name 이름 @@ -5632,6 +5649,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + 색상 편집 + + + + Label + Label + + + + Position + Position + + + + Length + 거리 + + + + Area + 면적 + + + + Volume + 체적 + + + + Tag + Tag + + + + Material + 재료 + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5759,12 +5841,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6070,12 +6152,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6085,12 +6167,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6459,12 +6541,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6476,12 +6558,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6952,30 +7034,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Text string - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7042,19 +7149,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7098,8 +7205,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7114,9 +7221,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7245,8 +7352,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8049,14 +8156,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size 화살표 크기 - + Arrow type 화살표 유형 diff --git a/src/Mod/Draft/Resources/translations/Draft_nl.qm b/src/Mod/Draft/Resources/translations/Draft_nl.qm index b2f577b112..82369baf59 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_nl.qm and b/src/Mod/Draft/Resources/translations/Draft_nl.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_nl.ts b/src/Mod/Draft/Resources/translations/Draft_nl.ts index 736456e660..21d9fe5761 100644 --- a/src/Mod/Draft/Resources/translations/Draft_nl.ts +++ b/src/Mod/Draft/Resources/translations/Draft_nl.ts @@ -1614,7 +1614,6 @@ such as "Arial:Bold" Standaardhoogte voor teksten en afmetingen - @@ -1622,6 +1621,7 @@ such as "Arial:Bold" + mm mm @@ -1940,9 +1940,9 @@ te installeren vanuit de Uitbreidingsmanager. Sta FreeCAD toe om de DXF-bibliotheken automatisch te downloaden en bij te werken - - + + Import options Importeeropties @@ -2160,8 +2160,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Als het is ingesteld op '0' wordt de hele spline behandeld als een recht segment. - + Export options Exportopties @@ -2720,10 +2720,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Kopie @@ -2811,21 +2811,21 @@ This might fail for post DXF R12 templates. - + Top Boven - + Front Voorkant - + Side Zijde @@ -2902,7 +2902,7 @@ This might fail for post DXF R12 templates. - + Angle Hoek @@ -3082,6 +3082,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Lijn @@ -3102,7 +3103,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Draaien @@ -3123,24 +3124,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Verschuiving - + Distance Afstand - + Offset distance Offset distance @@ -3151,63 +3152,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Globale X - - - Global Y - Globale Y - - - Global Z - Globale Z + Global {} + Global {} @@ -3294,14 +3255,14 @@ or try saving to a lower DWG version. Fout tijdens DWG-conversie. Probeer het DWG-bestand te verplaatsen naar een map zonder spaties en niet-dubieuze tekens of probeer op te slaan in een lagere DWG-versie. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3325,11 +3286,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Eigen @@ -3354,41 +3315,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3552,60 +3513,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Label maken - - + + Pick endpoint of leader line Kies het eindpunt van de leiderslijn - - + + Pick text position Kies tekstpositie - - + + Pick first point Kies het eerste punt - + Create Line Maak Nieuwe Lijn - + Create Wire Draad aanmaken - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Kies het volgende punt - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3677,7 +3643,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Sommige subelementen konden niet verplaatst worden. @@ -3688,9 +3654,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Kies middelpunt - - - + + + @@ -3698,60 +3664,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Kies straal + - - - + + Start angle Starthoek - - + + Pick start angle Kies starthoek + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Maak cirkel (Onderdeel) - + Create Circle Maak Cirkel - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3817,8 +3783,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3833,40 +3799,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotatie - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3990,6 +3956,11 @@ The final angle will be the base angle plus this amount. Create fillet Maak afronding + + + Polygon + Veelhoek + Create Polygon (Part) @@ -4016,45 +3987,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Kies afstand - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. Deze objecten snijden elkaar niet. - + Too many intersection points. Te veel snijpunten. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4188,32 +4164,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + Ellips + + + + Create Ellipse Ellips aanmaken - - + + Pick opposite point Kies een tegenovergesteld punt @@ -4238,34 +4229,34 @@ The final angle will be the base angle plus this amount. Kies een referentieafstand vanaf het basispunt - - - + + + Scale Schalen - + Some subelements could not be scaled. Sommige subelementen konden niet worden geschaald. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4306,26 +4297,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Afmeting + - + Create Dimension Dimensie maken - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4340,37 +4336,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Rechthoek + + + Create Plane Create Plane - + Create Rectangle Rechthoek maken @@ -4411,8 +4412,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Selecteer een object om te upgraden @@ -4467,41 +4468,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Taakpaneel: + - Polar array Polair matrix - - + + At least one element must be selected. Ten minste één element moet worden geselecteerd. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4521,22 +4522,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Samenvoegen: - - + + Create Link array: Create Link array: @@ -4551,24 +4552,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Orthogonale matrix @@ -4633,11 +4634,11 @@ The final angle will be the base angle plus this amount. Standaard + - Circular array Cirkelvormig patroon @@ -4687,12 +4688,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4762,12 +4773,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4870,22 +4881,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Verkeerde invoer: moet een getal zijn. - - - - + @@ -4895,14 +4903,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4929,8 +4940,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4965,8 +4976,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Verkeerde invoer: object mag geen lijst zijn. @@ -5341,9 +5352,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5448,6 +5459,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Afronding + Delete original objects @@ -5459,32 +5475,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Stijl opslaan - + Name of this new style: Naam van deze nieuwe stijl: - + Warning Waarschuwing - + Name exists. Overwrite? Naam bestaat al. Overschrijven? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5500,21 +5516,21 @@ from menu Tools -> Addon Manager Helling - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Waar - - + + False Onwaar @@ -5595,6 +5611,7 @@ from menu Tools -> Addon Manager + Name Naam @@ -5633,6 +5650,71 @@ from menu Tools -> Addon Manager New Layer Nieuwe Laag + + + Custom + Eigen + + + + Label + Label + + + + Position + Positie + + + + Length + Lengte + + + + Area + Oppervlakte + + + + Volume + Volume + + + + Tag + Tag + + + + Material + Materiaal + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5760,12 +5842,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6071,12 +6153,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6086,12 +6168,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6460,12 +6542,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6477,12 +6559,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6567,7 +6649,7 @@ CTRL to snap, SHIFT to constrain, ALT to copy. Layer - Layer + Laag @@ -6739,7 +6821,7 @@ then draw a line to specify the distance and direction of stretching. Mirror - Mirror + Spiegel @@ -6839,7 +6921,7 @@ straight Draft lines that are drawn in the XY plane. Selected objects that aren' Upgrade - Upgrade + Upgraden @@ -6909,7 +6991,7 @@ The closed shapes can be used for extrusions and boolean operations. Heal - Heal + Repareren @@ -6926,7 +7008,7 @@ otherwise it will try to heal all objects in the active document. Downgrade - Downgrade + Downgraden @@ -6953,30 +7035,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Tekstreeks - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7043,19 +7150,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7099,8 +7206,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7115,9 +7222,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7246,8 +7353,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8050,14 +8157,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Pijl grootte - + Arrow type Pijl type diff --git a/src/Mod/Draft/Resources/translations/Draft_pl.qm b/src/Mod/Draft/Resources/translations/Draft_pl.qm index 8bf9b0f33f..5e62adc60a 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_pl.qm and b/src/Mod/Draft/Resources/translations/Draft_pl.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_pl.ts b/src/Mod/Draft/Resources/translations/Draft_pl.ts index 246cee3fa5..73f73d808b 100644 --- a/src/Mod/Draft/Resources/translations/Draft_pl.ts +++ b/src/Mod/Draft/Resources/translations/Draft_pl.ts @@ -170,7 +170,7 @@ Font size - Rozmiar czcionki + Wielkość czcionki @@ -263,7 +263,7 @@ Line width - Szerokość linii + Szerekość linii @@ -814,7 +814,7 @@ widoku za każdym razem, gdy uruchamiane jest polecenie Automatic - Automatyczna + Automatycznie @@ -973,7 +973,7 @@ używając klawisza [ i ] podczas rysowania Line width - Szerokość linii + Szerekość linii @@ -983,7 +983,7 @@ używając klawisza [ i ] podczas rysowania Draw style - Styl kreślenia + Styl rysowania @@ -993,7 +993,7 @@ używając klawisza [ i ] podczas rysowania Solid - Bryła + Ciągła @@ -1038,7 +1038,7 @@ używając klawisza [ i ] podczas rysowania Points - Punkty + Tylko punkty @@ -1229,7 +1229,7 @@ używając klawisza [ i ] podczas rysowania Selected - Wybrane + Zaznaczone @@ -1613,7 +1613,7 @@ lub rodziny, jak np. "Arial, Helvetica, sans" lub nazwa w stylu np. "Arial: Bold Font size - Rozmiar czcionki + Wielkość czcionki @@ -1621,7 +1621,6 @@ lub rodziny, jak np. "Arial, Helvetica, sans" lub nazwa w stylu np. "Arial: Bold Domyślna wysokość tekstów i wymiarów - @@ -1629,6 +1628,7 @@ lub rodziny, jak np. "Arial, Helvetica, sans" lub nazwa w stylu np. "Arial: Bold + mm mm @@ -1751,7 +1751,7 @@ Domyślnie ustawiona jest na lewo, co jest standardem ISO. Text spacing - Odstęp od tekstu + Odstępy w tekście @@ -1950,9 +1950,9 @@ z Menedżera dodatków. Pozwól programowi FreeCAD na automatyczne pobieranie i aktualizację bibliotek DXF - - + + Import options Opcje importu @@ -2170,8 +2170,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Jeśli jest ustawiona na "0", cały splajn jest traktowany jako odcinek prosty. - + Export options Opcje eksportu @@ -2443,7 +2443,7 @@ Te linie są grubsze niż normalne linie siatki. Automatic - Automatyczna + Automatycznie @@ -2732,10 +2732,10 @@ Te linie są grubsze niż normalne linie siatki. - - - - + + + + Copy Kopiuj @@ -2823,21 +2823,21 @@ Te linie są grubsze niż normalne linie siatki. - + Top Od góry - + Front Od przodu - + Side Strona @@ -2845,7 +2845,7 @@ Te linie są grubsze niż normalne linie siatki. Auto - Automatycznie + Automatyczny @@ -2914,7 +2914,7 @@ Te linie są grubsze niż normalne linie siatki. - + Angle Kąt @@ -2974,7 +2974,7 @@ Opcja jest niedostępna, jeśli opcja preferencji Rysunku Roboczego "używaj ele Finish - Zakończ + Zakończenie @@ -3094,6 +3094,7 @@ Opcja jest niedostępna, jeśli opcja preferencji Rysunku Roboczego "używaj ele + Line Linia @@ -3114,7 +3115,7 @@ Opcja jest niedostępna, jeśli opcja preferencji Rysunku Roboczego "używaj ele - + Rotate Obróć @@ -3135,24 +3136,24 @@ Opcja jest niedostępna, jeśli opcja preferencji Rysunku Roboczego "używaj ele + + + - - - Offset Odsunięcie - + Distance Odległość - + Offset distance Odległość przesunięcia @@ -3163,63 +3164,23 @@ Opcja jest niedostępna, jeśli opcja preferencji Rysunku Roboczego "używaj ele - Local u0394X - u0394X lokalnie - - - Local u0394Y - u0394Y lokalnie - - - Local u0394Z - u0394Z lokalnie - - - Local X - Lokalna X - - - Local Y - Lokalna Y - - - Local Z - Lokalna Z + Local {} + Local {} - Global u0394X - Globalny u0394X - - - Global u0394Y - Globalny u0394Y - - - Global u0394Z - Globalny u0394Z - - - Global X - Globalnie X - - - Global Y - Globalnie Y - - - Global Z - Globalnie Z + Global {} + Global {} @@ -3308,14 +3269,14 @@ Spróbuj przenieść plik DWG do katalogu ze ścieżką bez spacji i znaków inn lub spróbuj zapisać do niższej wersji DWG. - - - + + + All Shapes must be coplanar Wszystkie kształty muszą być współpłaszczyznowe - + Selected Shapes must define a plane Wybrane kształty muszą definiować płaszczyznę @@ -3338,11 +3299,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer żeby pozwolić programowi na pobranie bibliotek, odpowiedz Tak. + - Custom Użytkownika @@ -3367,41 +3328,41 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Ustaw skalę używaną przez narzędzia do tworzenia opisów - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Brak aktywnego dokumentu — przerwano. - - + + + + + - - - - - + + Wrong input: object not in document. Nieprawidłowe dane wejściowe: obiektu nie ma w dokumencie. @@ -3473,7 +3434,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Face - Powierzchnia + Ściana @@ -3565,60 +3526,65 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Wybierz punkt docelowy - + Create Label Utwórz nazwę - - + + Pick endpoint of leader line Wybierz punkt końcowy linii odniesienia - - + + Pick text position Wybierz pozycję tekstu - - + + Pick first point Wybierz pierwszy punkt - + Create Line Utwórz linię - + Create Wire Utwórz polilinię - - - - - + + Polyline + Polilinia + + + + + + + + + - - Pick next point Wybierz kolejny punkt - + Unable to create a Wire from selected objects Nie można utworzyć linii łamanej z zaznaczonych obiektów - + Convert to Wire Konwertuj do Linii łamanej @@ -3635,7 +3601,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Selection: - Wybór: + Zaznaczenie: @@ -3690,7 +3656,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer - + Some subelements could not be moved. Niektóre elementy podrzędne nie mogły być przeniesione. @@ -3701,9 +3667,9 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Wybierz punkt środkowy - - - + + + @@ -3711,60 +3677,60 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Wybierz promień + - - - + + Start angle Kąt początkowy - - + + Pick start angle Wybierz kąt początkowy + - - - + + Aperture angle Kąt otwarcia - + Pick aperture Wybierz otwarcie - + Create Circle (Part) Utwórz okrąg (środowisko pracy Część) - + Create Circle Utwórz okrąg - + Create Arc (Part) Utwórz łuk (środowisko pracy Część) - + Create Arc Utwórz łuk - + Pick aperture angle Wybierz kąt otwarcia - - + + Arc by 3 points Łuk przez trzy punkty @@ -3830,8 +3796,8 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Wybierz obiekt do rzutowania - - + + Create Point Utwórz punkt @@ -3846,40 +3812,40 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Wybierz środek obrotu - - + + Base angle Kąt bazowy - - + + The base angle you wish to start the rotation from Kąt początkowy, od którego chcesz rozpocząć obrót - - + + Pick base angle Wybierz kąt początkowy - - + + Rotation Obrót - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Zakres obrotu, który chcesz wykonać. Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość. - - + + Pick rotation angle Wybierz środek obrotu @@ -3911,7 +3877,7 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość. Autogroup - Grupowanie automatyczne + Grupuj automatycznie @@ -4003,6 +3969,11 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Create fillet Utwórz zaokrąglenie + + + Polygon + Wielokąt + Create Polygon (Part) @@ -4029,45 +4000,50 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Wybierz obiekty do przycięcia lub wydłużenia - + Pick distance Wybierz odległość - + Offset angle Kąt odsunięcia - + Unable to trim these objects, only Draft wires and arcs are supported. Nie można przyciąć tych obiektów, obsługiwane są tylko linie łamane i łuki. - + Unable to trim these objects, too many wires Nie można przyciąć tych obiektów, za dużo linii - + These objects don't intersect. Te obiekty nie przecinają się. - + Too many intersection points. Zbyt wiele punktów przecięcia. + + + B-Spline + Krzywa złożona + Spline has been closed Splajn został zamknięty + + - - Last point has been removed Usunięto ostatni punkt @@ -4201,32 +4177,47 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Punkt końcowy krzywej Béziera nie może być wygładzony - - + + Bézier curve + Krzywa Béziera + + + + Bézier curve has been closed Krzywa Béziera została zamknięta - - + + Create BezCurve Utwórz krzywą Béziera - - + + Cubic Bézier curve + Sześcienna krzywa Béziera + + + + Click and drag to define next knot Kliknij i przeciągnij, aby zdefiniować następny węzeł - - + + Ellipse + Elipsa + + + + Create Ellipse Utwórz elipsę - - + + Pick opposite point Wybierz przeciwległy punkt @@ -4251,34 +4242,34 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Wybierz odległość odniesienia od punktu bazowego - - - + + + Scale - Skala + Skaluj - + Some subelements could not be scaled. Niektóre elementy podrzędne nie mogły zostać przeskalowane. - + Unable to scale object: Nie można skalować obiektu: - + Unable to scale objects: Nie można skalować obiektów: - + This object type cannot be scaled directly. Please use the clone method. Tego typu obiektu nie można bezpośrednio przeskalowywać. Proszę użyć metody klonowania. - + Pick new distance from base point Wybierz nową odległość od punktu bazowego @@ -4307,7 +4298,7 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość. Construction mode - Tryb konstrukcji + Tryb konstrukcyjny @@ -4319,26 +4310,31 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Toggle display mode Przełącz tryb wyświetlania + + + Dimension + Wymiar + - + Create Dimension Utwórz wymiar - + Create Dimension (radial) Utwórz wymiar (promieniowy) - + Edge too short! Krawędź jest za krótka! - + Edges don't intersect! Krawędzie nie przecinają się! @@ -4353,37 +4349,42 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Wybierz pierwszy punkt obszaru zaznaczenia - + Pick opposite point of selection rectangle Wybierz przeciwległy punkt obszaru zaznaczenia - + Pick start point of displacement Wybierz punkt początkowy przemieszczenia - + Pick end point of displacement Wybierz punkt końcowy przemieszczenia - + Turning one Rectangle into a Wire Przekształcanie jednego prostokąta w polilinię - + Stretch Rozciągnij - + + Rectangle + Prostokąt + + + Create Plane Utwórz płaszczyznę - + Create Rectangle Utwórz prostokąt @@ -4424,8 +4425,8 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Zmień nachylenie - + Select an object to upgrade Wybierz obiekt do ulepszenia @@ -4480,41 +4481,41 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Rozbij kształt - - + + Task panel: Panel zadań: + - Polar array Szyk biegunowy - - + + At least one element must be selected. Przynajmniej jeden element musi zostać wybrany. - - + + Selection is not suitable for array. Wybór nie jest odpowiedni dla szyku. - - - - + + + + Object: Obiekt: @@ -4534,22 +4535,22 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Kąt jest mniejszy niż -360 stopni. Aby kontynuować, należy ustawić go na tę wartość. - + Center reset: Resetowanie środka: - - + + Fuse: Scalenie: - - + + Create Link array: Utwórz szyk odnośników: @@ -4564,24 +4565,24 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Kąt polarny: - + Center of rotation: Środek obrotu: - - + + Aborted: Przerwano: + - Orthogonal array Szyk prostopadły @@ -4646,11 +4647,11 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Domyślny + - Circular array Szyk kołowy @@ -4700,12 +4701,22 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Parametr symetrii: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires Kształt z tekstu: ciąg nie ma polilinii - + ShapeString: face creation failed for one character Kształt z tekstu: tworzenie ścianki nie powiodło się dla jednego ze znaków @@ -4775,12 +4786,12 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.dodano właściwość 'Ekstra położenie' - + No shape found Nie znaleziono kształtu - + All Shapes must be planar Wszystkie kształty muszą być płaskie @@ -4883,22 +4894,19 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Tryb odłączenia: + + + - - - Wrong input: must be a number. Błędne wejście: musi być liczba. - - - - + @@ -4908,14 +4916,17 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość. - + + + + Wrong input: must be a vector. Błędne wejście: musi być wektor. - + Wrong input: must be a list or tuple of strings, or a single string. Nieprawidłowe dane wejściowe: spodziewana lista lub tupla ciągów znaków albo pojedynczy ciąg znaków. @@ -4942,8 +4953,8 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Dane wejściowe: pojedyncza wartość rozszerzona do wektora. - + Wrong input: must be an integer number. Nieprawidłowe dane wejściowe: spodziewana liczba całkowita. @@ -4978,8 +4989,8 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.Nieprawidłowe dane wejściowe: spodziewane umiejscowienie, wektor lub obrót. - + Wrong input: object must not be a list. Nieprawidłowe dane wejściowe: obiekt nie może być listą. @@ -5020,7 +5031,7 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość. Direction is not 'Custom'; points won't be used. - Kierunek nie jest 'Niestandadowy'; punkty nie będą używane. + Kierunek nie jest zdefiniowany jako "Niestandardowy", punkty nie będą używane. @@ -5354,9 +5365,9 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość.dodano właściwość widoku "Kolor tekstu" - - + + renamed 'DisplayMode' options to 'World/Screen' zmieniono nazwę opcji "Tryb wyświetlania" na "Otoczenie / Ekran" @@ -5417,7 +5428,7 @@ Kąt końcowy będzie równy kątowi podstawowemu plus ta wartość. &Annotation - &Adnotacja + &Opisy @@ -5460,6 +5471,11 @@ Proszę zainstalować dodatek bibliotek dxf ręcznie z narzędzi Menu -> Mene You must choose a base object before using this command Musisz wybrać obiekt bazowy przed użyciem tego polecenia + + + Fillet + Zaokrąglenie + Delete original objects @@ -5471,32 +5487,32 @@ Proszę zainstalować dodatek bibliotek dxf ręcznie z narzędzi Menu -> Mene Utwórz sfazowanie - + Save style Zapisz styl - + Name of this new style: Nazwa tego nowego stylu: - + Warning Ostrzeżenie - + Name exists. Overwrite? Nazwa istnieje. Nadpisać? - + Error: json module not found. Unable to load style Błąd: nie znaleziono modułu json. Nie można wczytać stylu - + Error: json module not found. Unable to save style Błąd: nie znaleziono modułu json. Nie można zapisać stylu @@ -5512,28 +5528,28 @@ Proszę zainstalować dodatek bibliotek dxf ręcznie z narzędzi Menu -> Mene Nachylenie - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Kierunek odsunięcia nie jest zdefiniowany. Proszę przesuń kursor myszki do wewnątrz lub na zewnątrz obiektu, aby wskazać kierunek - - + + True - Tak + Prawda - - + + False - Nie + Fałsz Scale - Skala + Skaluj @@ -5578,7 +5594,7 @@ Proszę zainstalować dodatek bibliotek dxf ręcznie z narzędzi Menu -> Mene Create a clone - Utwórz klona + Utwórz klon @@ -5607,6 +5623,7 @@ Proszę zainstalować dodatek bibliotek dxf ręcznie z narzędzi Menu -> Mene + Name Nazwa @@ -5618,7 +5635,7 @@ Proszę zainstalować dodatek bibliotek dxf ręcznie z narzędzi Menu -> Mene Draw style - Styl kreślenia + Styl rysowania @@ -5645,6 +5662,71 @@ Proszę zainstalować dodatek bibliotek dxf ręcznie z narzędzi Menu -> Mene New Layer Nowa warstwa + + + Custom + Użytkownika + + + + Label + Etykieta + + + + Position + Pozycja + + + + Length + Długość + + + + Area + Powierzchnia + + + + Volume + Objętość + + + + Tag + Znacznik + + + + Material + Materiał + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5773,12 +5855,12 @@ CTRL, aby przyciągnąć, SHIFT, aby utworzyć wiązanie. Draft_Wire - + Polyline Polilinia - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Tworzy wielopunktową linię (polilinię). CTRL, aby przyciągnąć, SHIFT, aby utworzyć wiązanie. @@ -6085,12 +6167,12 @@ CTRL, aby przyciągnąć, SHIFT, aby utworzyć wiązanie. Draft_Arc_3Points - + Arc by 3 points - Łuk przez trzy punkty + Łuk przez 3 punkty - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Tworzy łuk kołowy przez wskazanie 3 punktów. @@ -6100,12 +6182,12 @@ CTRL, aby przyciągnąć, SHIFT, aby utworzyć wiązanie. Draft_ArcTools - + Arc tools Narzędzia łuku - + Create various types of circular arcs. Twórz różne rodzaje łuków kołowych. @@ -6141,7 +6223,7 @@ CTRL, aby przyciągnąć, SHIFT, aby utworzyć wiązanie. Edit - Edycja + Edytuj @@ -6274,7 +6356,7 @@ Utwórz najpierw grupę, aby użyć tego narzędzia. Autogroup - Grupowanie automatyczne + Grupuj automatycznie @@ -6474,12 +6556,12 @@ CTRL, aby przyciągnąć, SHIFT, aby utworzyć wiązanie. Draft_CubicBezCurve - + Cubic Bézier curve Sześcienna krzywa Béziera - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6491,12 +6573,12 @@ CTRL aby przyciągnąć, SHIFT aby utworzyć wiązanie. Draft_BezierTools - + Bézier tools Narzędzia krzywych Béziera - + Create various types of Bézier curves. Tworzy różne typy krzywych Béziera. @@ -6567,7 +6649,7 @@ Szyk można przekształcić w szyk polarny lub kołowy, zmieniając jego typ. Scale - Skala + Skaluj @@ -6597,7 +6679,7 @@ Obiekty dodane do tej warstwy mogą mieć te same właściwości wizualne, takie Point array - Szyk z punktów + Szyk punktów @@ -6969,30 +7051,55 @@ It is a list of strings; each element in the list will be displayed in its own l Jest to lista ciągów znaków; każdy element na liście będzie wyświetlany w osobnej linii. - + Text string - Ciąg znaków tekstowych + Ciąg znaków - + Font file name Nazwa pliku czcionki - + Height of text Wysokość tekstu - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Odstępy między znakami - + Fill letters with faces Wypełnij litery ścianami + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7059,19 +7166,19 @@ ustaw wartość Prawda dla utworzenia połączenia, lub Fałsz dla kształtu zł - + Create a face Utwórz ścianę + + - - The area of this object Obszar tego obiektu @@ -7115,8 +7222,8 @@ ustaw wartość Prawda dla utworzenia połączenia, lub Fałsz dla kształtu zł Obiekt podstawowy, który będzie zduplikowany. - + The object along which the copies will be distributed. It must contain 'Edges'. Obiekt, wzdłuż którego zostaną rozmieszczone kopie. Musi on zawierać "Krawędzie". @@ -7131,9 +7238,9 @@ ustaw wartość Prawda dla utworzenia połączenia, lub Fałsz dla kształtu zł Współczynnik obrotu krętego szyku. - - + + Show the individual array elements (only for Link arrays) Pokaż poszczególne elementy szyku (tylko dla szyków powiązań) @@ -7262,8 +7369,8 @@ Podczas używania zapisanego stylu niektóre właściwości widoku będą dostę będzie można je edytować tylko przez zmianę stylu za pomocą narzędzia "edytor stylów adnotacji". - + The base object that will be duplicated Obiekt podstawowy, który zostanie zduplikowany @@ -7578,7 +7685,7 @@ Tę właściwość można tylko przeglądać, ponieważ liczba jest zależna od The placement of this object - Położenie tego obiektu + Umiejscowienie tego obiektu @@ -7948,7 +8055,7 @@ właściwości „Pierwszy kąt” i „Ostatni kąt”. Line width - Szerokość linii + Szerekość linii @@ -8064,14 +8171,14 @@ Pozostaw puste dla systemowych ustawień domyślnych.. Użyj "arch", aby wymusić notację architektoniczną amerykańską - + Arrow size Rozmiar strzałki - + Arrow type Styl strzałki diff --git a/src/Mod/Draft/Resources/translations/Draft_pt-BR.qm b/src/Mod/Draft/Resources/translations/Draft_pt-BR.qm index 5e23ee92e9..cda3325415 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_pt-BR.qm and b/src/Mod/Draft/Resources/translations/Draft_pt-BR.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_pt-BR.ts b/src/Mod/Draft/Resources/translations/Draft_pt-BR.ts index cbb33141c7..e940fa8d2b 100644 --- a/src/Mod/Draft/Resources/translations/Draft_pt-BR.ts +++ b/src/Mod/Draft/Resources/translations/Draft_pt-BR.ts @@ -1608,7 +1608,6 @@ such as "Arial:Bold" Altura padrão para textos e cotas - @@ -1616,6 +1615,7 @@ such as "Arial:Bold" + mm mm @@ -1934,9 +1934,9 @@ do Gerenciador de Complementos. Permitir que o FreeCAD baixe e atualize automaticamente as bibliotecas DXF - - + + Import options Opções de importação @@ -2154,8 +2154,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Se definido como '0' toda a spline é tratada como um segmento reto. - + Export options Opções de Exportação @@ -2714,10 +2714,10 @@ Isto pode falhar para modelos DXF R12. - - - - + + + + Copy Copiar @@ -2805,21 +2805,21 @@ Isto pode falhar para modelos DXF R12. - + Top Topo - + Front Frente - + Side Lateral @@ -2896,7 +2896,7 @@ Isto pode falhar para modelos DXF R12. - + Angle Ângulo @@ -3075,6 +3075,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Linha @@ -3095,7 +3096,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Rotacionar @@ -3116,24 +3117,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Deslocamento - + Distance Distância - + Offset distance Distância de deslocamento @@ -3144,63 +3145,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394X - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - X global - - - Global Y - Y global - - - Global Z - Z global + Global {} + Global {} @@ -3288,14 +3249,14 @@ or try saving to a lower DWG version. Tente mover o arquivo DWG para um caminho de diretório sem espaços e caracteres que não estejam em inglês, ou tente salvar em uma versão DWG inferior. - - - + + + All Shapes must be coplanar Todas as formas devem ser coplanares - + Selected Shapes must define a plane As formas selecionadas devem definir um plano @@ -3318,11 +3279,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Para habilitar o FreeCAD para fazer o download destas bibliotecas, responda Sim. + - Custom Personalizado @@ -3347,41 +3308,41 @@ Para habilitar o FreeCAD para fazer o download destas bibliotecas, responda Sim. Definir a escala usada pelas ferramentas de anotação de rascunho - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Nenhum documento ativo. Abortando. - - + + + + + - - - - - + + Wrong input: object not in document. Entrada errada: objeto não está no documento. @@ -3545,60 +3506,65 @@ Para habilitar o FreeCAD para fazer o download destas bibliotecas, responda Sim. Escolha o ponto alvo - + Create Label Criar etiqueta - - + + Pick endpoint of leader line Escolha a extremidade da linha do líder - - + + Pick text position Selecionar posição do texto - - + + Pick first point Escolha o primeiro ponto - + Create Line Criar linha - + Create Wire Criar arame - - - - - + + Polyline + Polilinha + + + + + + + + + - - Pick next point Escolha o próximo ponto - + Unable to create a Wire from selected objects Não foi possível criar um arame a partir dos objetos selecionados - + Convert to Wire Converter em arame @@ -3670,7 +3636,7 @@ Para habilitar o FreeCAD para fazer o download destas bibliotecas, responda Sim. - + Some subelements could not be moved. Alguns sub-elementos não puderam ser movidos. @@ -3681,9 +3647,9 @@ Para habilitar o FreeCAD para fazer o download destas bibliotecas, responda Sim. Escolher o ponto central - - - + + + @@ -3691,60 +3657,60 @@ Para habilitar o FreeCAD para fazer o download destas bibliotecas, responda Sim. Escolher raio + - - - + + Start angle Angulo inicial - - + + Pick start angle Escolha o ângulo inicial + - - - + + Aperture angle Ângulo de abertura - + Pick aperture Indique abertura - + Create Circle (Part) Criar Círculo (Parte) - + Create Circle Criar Círculo - + Create Arc (Part) Criar Arco (Parte) - + Create Arc Criar Arco - + Pick aperture angle Escolha o ângulo de abertura - - + + Arc by 3 points Arco por 3 pontos @@ -3810,8 +3776,8 @@ Para habilitar o FreeCAD para fazer o download destas bibliotecas, responda Sim. Selecione um objeto para ser projetado - - + + Create Point Criar um ponto @@ -3826,39 +3792,39 @@ Para habilitar o FreeCAD para fazer o download destas bibliotecas, responda Sim. Indique o centro de rotação - - + + Base angle Ângulo base - - + + The base angle you wish to start the rotation from O ângulo base a partir do qual você deseja iniciar a rotação - - + + Pick base angle Indique o ângulo base - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. A quantidade de rotação que você deseja executar. O ângulo final será o ângulo base mais essa quantidade. - - + + Pick rotation angle Escolha o ângulo de rotação @@ -3982,6 +3948,11 @@ The final angle will be the base angle plus this amount. Create fillet Criar filete + + + Polygon + Polígono + Create Polygon (Part) @@ -4008,45 +3979,50 @@ The final angle will be the base angle plus this amount. Selecione objetos para aparar ou estender - + Pick distance Indique a distância - + Offset angle Ângulo de deslocamento - + Unable to trim these objects, only Draft wires and arcs are supported. Não é possível aparar estes objetos, somente arames do rascunho e arcos são suportados. - + Unable to trim these objects, too many wires Não é possível aparar estes objetos: número de arames muito alto - + These objects don't intersect. Esses objetos não se cruzam. - + Too many intersection points. Muitos pontos de intersecção. + + + B-Spline + B-Spline + Spline has been closed A Spline foi fechada + + - - Last point has been removed O último ponto foi removido @@ -4180,32 +4156,47 @@ The final angle will be the base angle plus this amount. O ponto final desta curva não pode ser suavizado - - + + Bézier curve + Curva de Bézier + + + + Bézier curve has been closed A curva de Bézier foi fechada - - + + Create BezCurve Criar uma curva de Bezier - - + + Cubic Bézier curve + Curva de Bézier cúbica + + + + Click and drag to define next knot Clique e arraste para definir o próximo nó - - + + Ellipse + Elipse + + + + Create Ellipse Criar elipse - - + + Pick opposite point Escolha o ponto oposto @@ -4230,34 +4221,34 @@ The final angle will be the base angle plus this amount. Escolha a distância de referência do ponto de base - - - + + + Scale Escalar - + Some subelements could not be scaled. Alguns sub-elementos não puderam ser escalados. - + Unable to scale object: Não é possível escalar objeto: - + Unable to scale objects: Não é possível escalar objeto: - + This object type cannot be scaled directly. Please use the clone method. Este tipo de objeto não pode ser escalado diretamente. Por favor, use o método de clonagem. - + Pick new distance from base point Escolha uma nova distância a partir do ponto base @@ -4298,26 +4289,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Alternar modo de exibição + + + Dimension + Dimensão + - + Create Dimension Criar dimensão - + Create Dimension (radial) Criar Dimensão (radial) - + Edge too short! Aresta curta demais! - + Edges don't intersect! As aresta não se cruzam! @@ -4332,37 +4328,42 @@ The final angle will be the base angle plus this amount. Escolha o primeiro ponto do retângulo de seleção - + Pick opposite point of selection rectangle Escolha o ponto oposto do retângulo de seleção - + Pick start point of displacement Escolha o ponto inicial do deslocamento - + Pick end point of displacement Escolha o ponto final do deslocamento - + Turning one Rectangle into a Wire Convertendo um retângulo em arame - + Stretch Esticar - + + Rectangle + Retângulo + + + Create Plane Criar plano - + Create Rectangle Criar Retângulo @@ -4403,8 +4404,8 @@ The final angle will be the base angle plus this amount. Alterar inclinação - + Select an object to upgrade Selecione um objeto para promover @@ -4459,41 +4460,41 @@ The final angle will be the base angle plus this amount. Rebaixar - - + + Task panel: Painel de tarefas: + - Polar array Rede polar - - + + At least one element must be selected. Deve ser selecionado ao menos um elemento. - - + + Selection is not suitable for array. A seleção não é adequada para matriz. - - - - + + + + Object: Objeto: @@ -4513,22 +4514,22 @@ The final angle will be the base angle plus this amount. O ângulo está abaixo de -360 graus. Será usado um valor de -360 graus para prosseguir. - + Center reset: Redefinição do centro: - - + + Fuse: Fundir: - - + + Create Link array: Rede de trajetória link: @@ -4543,24 +4544,24 @@ The final angle will be the base angle plus this amount. Ângulo polar: - + Center of rotation: Centro de rotação: - - + + Aborted: Cancelado: + - Orthogonal array Rede ortogonal @@ -4625,11 +4626,11 @@ The final angle will be the base angle plus this amount. Padrão + - Circular array Rede circular @@ -4679,12 +4680,22 @@ The final angle will be the base angle plus this amount. Parâmetro de simetria: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: O texto não contém arames - + ShapeString: face creation failed for one character FormaString: a criação de face falhou para um caractere @@ -4754,12 +4765,12 @@ The final angle will be the base angle plus this amount. propriedade 'ExtraPlacement' adicionada - + No shape found Nenhuma forma encontrada - + All Shapes must be planar Todas as formas devem ser planas @@ -4862,22 +4873,19 @@ The final angle will be the base angle plus this amount. Modo de mapeamento: + + + - - - Wrong input: must be a number. Entrada errada: deve ser um número. - - - - + @@ -4887,14 +4895,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Entrada errada: deve ser um vetor. - + Wrong input: must be a list or tuple of strings, or a single string. Entrada errada: deve ser uma lista, ou tupla de textos, ou um único texto. @@ -4921,8 +4932,8 @@ The final angle will be the base angle plus this amount. Entrada: valor único expandido para vetor. - + Wrong input: must be an integer number. Entrada errada: deve ser um número inteiro. @@ -4957,8 +4968,8 @@ The final angle will be the base angle plus this amount. Entrada errada: deve ser um posicionamento, um vetor ou uma rotação. - + Wrong input: object must not be a list. Entrada errada: o objeto não deve ser uma lista. @@ -5333,9 +5344,9 @@ The final angle will be the base angle plus this amount. propriedade de visualização 'TextColor' adicionada - - + + renamed 'DisplayMode' options to 'World/Screen' renomeado opção 'DisplayMode' para 'Mundo/Tela' @@ -5440,6 +5451,11 @@ no menu ferramentas -> Gerenciador de Extensões You must choose a base object before using this command Você deve escolher um objeto como base antes de utilizar este comando + + + Fillet + Filete + Delete original objects @@ -5451,32 +5467,32 @@ no menu ferramentas -> Gerenciador de Extensões Criar chanfro - + Save style Salvar estilo - + Name of this new style: Nome deste novo estilo: - + Warning Aviso - + Name exists. Overwrite? Nome existente. Sobrescrever? - + Error: json module not found. Unable to load style Erro: módulo json não encontrado. Não foi possível carregar o estilo - + Error: json module not found. Unable to save style Erro: módulo json não encontrado. Não foi possível carregar o estilo @@ -5492,21 +5508,21 @@ no menu ferramentas -> Gerenciador de Extensões Inclinação - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Direção do deslocamento não definida. Por favor, primeiro mova o mouse em ambos os lados do objeto para indicar uma direção - - + + True Verdadeiro - - + + False Falso @@ -5587,6 +5603,7 @@ no menu ferramentas -> Gerenciador de Extensões + Name Nome @@ -5625,6 +5642,71 @@ no menu ferramentas -> Gerenciador de Extensões New Layer Nova Camada + + + Custom + Personalizado + + + + Label + Rótulo + + + + Position + Posição + + + + Length + Comprimento + + + + Area + Área + + + + Volume + Volume + + + + Tag + Etiqueta + + + + Material + Material + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5752,12 +5834,12 @@ será usado para fornecer informações ao rótulo. Draft_Wire - + Polyline Polilinha - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Cria uma linha de múltiplos pontos (polilinha). CTRL para capturar, SHIFT para fixar. @@ -6063,12 +6145,12 @@ CTRL para ajustar, SHIFT para restringir. Draft_Arc_3Points - + Arc by 3 points Arco por 3 pontos - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Cria um arco circular escolhendo 3 pontos. @@ -6078,12 +6160,12 @@ CTRL para ajustar, SHIFT para restringir. Draft_ArcTools - + Arc tools Ferramentas de arco - + Create various types of circular arcs. Cria vários tipos de arcos circulares. @@ -6452,12 +6534,12 @@ CTRL para ajustar, SHIFT para restringir. Draft_CubicBezCurve - + Cubic Bézier curve Curva de Bézier cúbica - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6467,12 +6549,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Ferramentas de Bezier - + Create various types of Bézier curves. Criar vários tipos de curvas Bézier. @@ -6942,30 +7024,55 @@ It is a list of strings; each element in the list will be displayed in its own l É uma lista; cada elemento da lista será exibido em sua própria linha. - + Text string Texto - + Font file name Nome do arquivo de fonte - + Height of text Altura do texto - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Espaçamento entre caracteres - + Fill letters with faces Preencha as letras com faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7032,19 +7139,19 @@ defina Verdadeiro para fusão ou Falso para o composto - + Create a face Criar uma face + + - - The area of this object A área deste objeto @@ -7088,8 +7195,8 @@ defina Verdadeiro para fusão ou Falso para o composto O objeto base que será duplicado. - + The object along which the copies will be distributed. It must contain 'Edges'. O objeto ao longo do qual as cópias serão distribuídas. Deve conter 'Arestas'. @@ -7104,9 +7211,9 @@ defina Verdadeiro para fusão ou Falso para o composto Fator de rotação da rede torcida. - - + + Show the individual array elements (only for Link arrays) Mostrar os elementos de matriz individuais (somente para redes de vínculos) @@ -7235,8 +7342,8 @@ Ao usar um estilo salvo, algumas das propriedades de exibição se tornarão som eles só serão editáveis mudando o estilo através da ferramenta "Editor de estilo de anotação". - + The base object that will be duplicated O objeto de base que será duplicado @@ -8038,14 +8145,14 @@ Deixe em branco para o padrão do sistema. Use "arco" para forçar a notação de arco dos EUA - + Arrow size Tamanho do ponteiro - + Arrow type Tipo de ponteiro diff --git a/src/Mod/Draft/Resources/translations/Draft_pt-PT.qm b/src/Mod/Draft/Resources/translations/Draft_pt-PT.qm index 31edfc4c0b..c319289e84 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_pt-PT.qm and b/src/Mod/Draft/Resources/translations/Draft_pt-PT.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_pt-PT.ts b/src/Mod/Draft/Resources/translations/Draft_pt-PT.ts index 3560d89319..269d22a565 100644 --- a/src/Mod/Draft/Resources/translations/Draft_pt-PT.ts +++ b/src/Mod/Draft/Resources/translations/Draft_pt-PT.ts @@ -1613,7 +1613,6 @@ such as "Arial:Bold" Altura Predefinida para os Textos e Dimensões - @@ -1621,6 +1620,7 @@ such as "Arial:Bold" + mm mm @@ -1939,9 +1939,9 @@ from the Addon Manager. Permitir que o FreeCAD baixe e atualize automaticamente as bibliotecas DXF - - + + Import options Opções de importação @@ -2159,8 +2159,8 @@ If it is set to '0' the whole spline is treated as a straight segment. If it is set to '0' the whole spline is treated as a straight segment. - + Export options Opções de Exportação @@ -2719,10 +2719,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Copiar @@ -2810,21 +2810,21 @@ This might fail for post DXF R12 templates. - + Top Topo - + Front Frente - + Side Side @@ -2901,7 +2901,7 @@ This might fail for post DXF R12 templates. - + Angle Ângulo @@ -3080,6 +3080,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Linha @@ -3100,7 +3101,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Rodar @@ -3121,24 +3122,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Deslocamento paralelo - + Distance Distância - + Offset distance Offset distance @@ -3149,63 +3150,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - X global - - - Global Y - Y global - - - Global Z - Z global + Global {} + Global {} @@ -3294,14 +3255,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3325,11 +3286,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Personalizado @@ -3354,41 +3315,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3552,60 +3513,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Escolha o ponto de destino - + Create Label Criar rótulo - - + + Pick endpoint of leader line Escolha o ponto de extremidade da linha de chamada - - + + Pick text position Escolha a posição do texto - - + + Pick first point Escolher primeiro ponto - + Create Line Criar linha - + Create Wire Criar Traço - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Escolha o próximo ponto - + Unable to create a Wire from selected objects Não é possível criar um Traço a partir dos objetos selecionados - + Convert to Wire Converter para Traço @@ -3677,7 +3643,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Alguns sub-elementos não puderam ser movidos. @@ -3688,9 +3654,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Escolher o centro - - - + + + @@ -3698,60 +3664,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Escolher raio + - - - + + Start angle Ângulo inicial - - + + Pick start angle Escolher ângulo inicial + - - - + + Aperture angle Ângulo de Abertura - + Pick aperture Escolher abertura - + Create Circle (Part) Criar Círculo (Parte) - + Create Circle Criar círculo - + Create Arc (Part) Criar Arco (Parte) - + Create Arc Criar Arco - + Pick aperture angle Escolher ângulo de abertura - - + + Arc by 3 points Arco por 3 pontos @@ -3817,8 +3783,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3833,40 +3799,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3990,6 +3956,11 @@ The final angle will be the base angle plus this amount. Create fillet Criar Boleado (fillet) + + + Polygon + Polígono + Create Polygon (Part) @@ -4016,45 +3987,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4188,32 +4164,47 @@ The final angle will be the base angle plus this amount. Ponto de extremidade final de BezCurve não pode ser suavizado - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Clique e arraste para definir o próximo nó - - + + Ellipse + Elipse + + + + Create Ellipse Criar elipse - - + + Pick opposite point Escolher ponto oposto @@ -4238,34 +4229,34 @@ The final angle will be the base angle plus this amount. Escolha a distância ao ponto de referência - - - + + + Scale Escala - + Some subelements could not be scaled. Alguns sub-elementos não puderam ser escalados. - + Unable to scale object: Não foi possível escalar o objeto: - + Unable to scale objects: Não foi possível escalar os objetos: - + This object type cannot be scaled directly. Please use the clone method. Este tipo de objeto não pode ser dimensionado diretamente. Por favor, use o método de clonagem. - + Pick new distance from base point Escolha a nova distância ao ponto de referência @@ -4306,26 +4297,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Alternar modo de exibição + + + Dimension + Dimensão + - + Create Dimension Criar cotagem - + Create Dimension (radial) Criar cotagem (radial) - + Edge too short! Aresta demasiado curta! - + Edges don't intersect! As arestas não se intercetam! @@ -4340,37 +4336,42 @@ The final angle will be the base angle plus this amount. Escolha o primeiro ponto do retângulo de seleção - + Pick opposite point of selection rectangle Escolha o ponto oposto do retângulo de seleção - + Pick start point of displacement Escolha o ponto inicial do deslocamento - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Retângulo + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4411,8 +4412,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4467,41 +4468,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Matriz polar - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4521,22 +4522,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4551,24 +4552,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Matriz ortogonal @@ -4633,11 +4634,11 @@ The final angle will be the base angle plus this amount. Predefinição + - Circular array Lista circular @@ -4687,12 +4688,22 @@ The final angle will be the base angle plus this amount. Parâmetro de simetria: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: O desenho não contém traços - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4762,12 +4773,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found Nenhuma forma encontrada - + All Shapes must be planar Todas as formas devem ser planas @@ -4870,22 +4881,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Entrada errada: deve ser um número. - - - - + @@ -4895,14 +4903,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Entrada errada: deve ser um vetor. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4929,8 +4940,8 @@ The final angle will be the base angle plus this amount. Entrada: valor único expandido para vetor. - + Wrong input: must be an integer number. Entrada errada: deve ser um número inteiro. @@ -4965,8 +4976,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5341,9 +5352,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5448,6 +5459,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Boleado (fillet) + Delete original objects @@ -5459,32 +5475,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Atenção - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5500,21 +5516,21 @@ from menu Tools -> Addon Manager Inclinação - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Verdadeiro - - + + False Falso @@ -5595,6 +5611,7 @@ from menu Tools -> Addon Manager + Name Nome @@ -5633,6 +5650,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + Personalizado + + + + Label + Rótulo + + + + Position + Posição + + + + Length + Comprimento + + + + Area + Área + + + + Volume + Volume + + + + Tag + Tag + + + + Material + Material + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5760,12 +5842,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6071,12 +6153,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arco por 3 pontos - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6086,12 +6168,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6460,12 +6542,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6477,12 +6559,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6953,30 +7035,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Cadeia de texto - + Font file name Font file name - + Height of text Altura do texto - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7043,19 +7150,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7099,8 +7206,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7115,9 +7222,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7246,8 +7353,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8050,14 +8157,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Tamanho da seta - + Arrow type Tipo de seta diff --git a/src/Mod/Draft/Resources/translations/Draft_ro.qm b/src/Mod/Draft/Resources/translations/Draft_ro.qm index 3204b4602e..70f2942a82 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ro.qm and b/src/Mod/Draft/Resources/translations/Draft_ro.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ro.ts b/src/Mod/Draft/Resources/translations/Draft_ro.ts index 4dc03fbb2a..8c384d1cf0 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ro.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ro.ts @@ -1615,7 +1615,6 @@ sau "mono", sau o familie cum ar fi "Arial,Helvetica,sans", sau un nume şi un s Înălţimea implicită pentru texte şi cote - @@ -1623,6 +1622,7 @@ sau "mono", sau o familie cum ar fi "Arial,Helvetica,sans", sau un nume şi un s + mm mm @@ -1941,9 +1941,9 @@ din Managerul de Suplimente. Permite FreeCAD să descarce automat și să actualizeze bibliotecile DXF - - + + Import options Importare opțiuni @@ -2161,8 +2161,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Dacă este setată la '0' întreaga curbă este tratată ca un segment drept. - + Export options Opţiunile de export @@ -2721,10 +2721,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Copiere @@ -2812,21 +2812,21 @@ This might fail for post DXF R12 templates. - + Top Partea de sus - + Front Din față - + Side Latura @@ -2903,7 +2903,7 @@ This might fail for post DXF R12 templates. - + Angle Unghi @@ -3083,6 +3083,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Linie @@ -3103,7 +3104,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Rotire @@ -3124,24 +3125,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Compensare - + Distance Distance - + Offset distance Offset distance @@ -3152,63 +3153,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Global X - - - Global Y - Global Y - - - Global Z - Global Z + Global {} + Global {} @@ -3297,14 +3258,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3328,11 +3289,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Personalizat @@ -3357,41 +3318,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3555,60 +3516,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3680,7 +3646,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3691,9 +3657,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3701,60 +3667,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3820,8 +3786,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3836,40 +3802,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3993,6 +3959,11 @@ The final angle will be the base angle plus this amount. Create fillet Crează panglică + + + Polygon + Poligon + Create Polygon (Part) @@ -4019,45 +3990,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4191,32 +4167,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + Elipsa + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4241,34 +4232,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale Scalare - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4309,26 +4300,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Dimensiune + - + Create Dimension Create Dimension - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4343,37 +4339,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Dreptunghi + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4414,8 +4415,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4470,41 +4471,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Matrice polară - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4524,22 +4525,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4554,24 +4555,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Matrice ortogonală @@ -4636,11 +4637,11 @@ The final angle will be the base angle plus this amount. Implicit + - Circular array Matrice circulară @@ -4690,12 +4691,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4765,12 +4776,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4873,22 +4884,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4898,14 +4906,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4932,8 +4943,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4968,8 +4979,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5344,9 +5355,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5451,6 +5462,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Rotunjire + Delete original objects @@ -5462,32 +5478,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Avertismente - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5503,21 +5519,21 @@ from menu Tools -> Addon Manager Slope - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Adevărat - - + + False Fals @@ -5598,6 +5614,7 @@ from menu Tools -> Addon Manager + Name Nume @@ -5636,6 +5653,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + Personalizat + + + + Label + Etichetă + + + + Position + Position + + + + Length + Lungime + + + + Area + Suprafață + + + + Volume + Volum + + + + Tag + Tag + + + + Material + Materialul + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5763,12 +5845,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6074,12 +6156,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6089,12 +6171,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6463,12 +6545,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6480,12 +6562,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6956,30 +7038,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Text - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7046,19 +7153,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7102,8 +7209,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7118,9 +7225,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7249,8 +7356,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8053,14 +8160,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Dimensiunea săgeții - + Arrow type Tipul de săgeată diff --git a/src/Mod/Draft/Resources/translations/Draft_ru.qm b/src/Mod/Draft/Resources/translations/Draft_ru.qm index 944e60da61..fb6ad8cbd7 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ru.qm and b/src/Mod/Draft/Resources/translations/Draft_ru.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ru.ts b/src/Mod/Draft/Resources/translations/Draft_ru.ts index 2f2b6bc51d..6eab02da9e 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ru.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ru.ts @@ -6,7 +6,7 @@ Annotation Styles Editor - Редактор стилей Надписи + Редактор стилей заметок @@ -46,7 +46,7 @@ New - Новый + Создать @@ -433,7 +433,7 @@ This only works if "Link array" is off. Fuse - Объединение + Слияние @@ -569,7 +569,7 @@ This only works if "Link array" is off. Fuse - Объединение + Слияние @@ -665,25 +665,25 @@ Change the direction of the axis itself in the property editor. If checked, the resulting objects in the array will be fused if they touch each other. This only works if "Link array" is off. - Если отмечено, то результирующие объекты в массиве будут слиты, если касаются друг друга. -Это работает только в том случае, если "Связь массивов" отключена. + Если флажок установлен, результирующие объекты в массиве будут сливаться, если они соприкасаются друг с другом. +Это работает только в том случае, если «массив ссылок» отключен. Fuse - Объединение + Слияние If checked, the resulting object will be a "Link array" instead of a regular array. A Link array is more efficient when creating multiple copies, but it cannot be fused together. - Если отмечено, результирующим объектом будет "Массив ссылок" вместо обычного массива. -Массив ссылок более эффективен при создании нескольких копий, но к нему нельзя применить операцию слияния. + Если флажок установлен, результирующий объект будет «массивом ссылок» вместо обычного массива. +Массив Link более эффективен при создании нескольких копий, но его нельзя объединить вместе. Link array - Массив из связанных объектов + Массив ссылок @@ -980,7 +980,7 @@ value by using the [ and ] keys while drawing Draw style - Стиль представления + Стиль рисования @@ -990,12 +990,12 @@ value by using the [ and ] keys while drawing Solid - Твердое тело + Твердотельный объект Dashed - Штриховая + Пунктир @@ -1025,12 +1025,12 @@ value by using the [ and ] keys while drawing Wireframe - Каркас + Каркасная сетка Shaded - Только грани + Затененный @@ -1061,7 +1061,7 @@ value by using the [ and ] keys while drawing Annotations - Заметки + Аннотации @@ -1226,7 +1226,7 @@ value by using the [ and ] keys while drawing Selected - Выбрано + Выбранные @@ -1605,7 +1605,6 @@ such as "Arial:Bold" Высота текста и размеров по умолчанию - @@ -1613,6 +1612,7 @@ such as "Arial:Bold" + mm мм @@ -1629,7 +1629,7 @@ such as "Arial:Bold" World - окружение + Окружение @@ -1699,7 +1699,7 @@ such as "Arial:Bold" Tick-2 - Зацепление-2 + Засечка-2 @@ -1931,9 +1931,9 @@ from the Addon Manager. Автоматически загружать и обновлять библиотеки DXF - - + + Import options Параметры импорта @@ -2145,8 +2145,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Если задано значение «0», весь сплайн рассматривается как прямой отрезок. - + Export options Параметры экспорта @@ -2705,10 +2705,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Скопировать @@ -2796,21 +2796,21 @@ This might fail for post DXF R12 templates. - + Top - Сверху + Верх - + Front Спереди - + Side Сторона @@ -2887,7 +2887,7 @@ This might fail for post DXF R12 templates. - + Angle Угол @@ -2971,7 +2971,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled &Undo - Отменить + &Отменить @@ -3066,13 +3066,14 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Линия DWire - ломаная линия + Двойная ломаная линия @@ -3086,7 +3087,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Повернуть @@ -3107,24 +3108,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Смещение - + Distance Расстояние - + Offset distance Расстояние смещения @@ -3135,63 +3136,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Относительное u0394X - - - Local u0394Y - Относительное u0394Y - - - Local u0394Z - Относительное u0394Z - - - Local X - Локальная ось X - - - Local Y - Локальная ось Y - - - Local Z - Локальная ось Z + Local {} + Local {} - Global u0394X - Абсолютное u0394X - - - Global u0394Y - Абсолютное u0394Y - - - Global u0394Z - Абсолютное u0394Z - - - Global X - Глобальный X - - - Global Y - Глобальный Y - - - Global Z - Глобальный Z + Global {} + Global {} @@ -3221,7 +3182,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled Draft - Осадка + Черновик @@ -3278,14 +3239,14 @@ or try saving to a lower DWG version. Ошибка во время преобразования DWG. Попробуйте переместить файл DWG в путь к каталогу без пробелов и неанглийских символов или попробуйте сохранить его в более ранней версии DWG. - - - + + + All Shapes must be coplanar Все фигуры должны лежать в одной плоскости - + Selected Shapes must define a plane Выбранные фигуры должны определять плоскость @@ -3308,13 +3269,13 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Чтобы разрешить FreeCAD скачать эту библиотеку, ответьте Да. + - Custom - Дополнительно + Произвольный @@ -3337,41 +3298,41 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Установите масштаб для аннотаций - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Нет активного документа. Прерывание. - - + + + + + - - - - - + + Wrong input: object not in document. Неверный ввод: объект отсутствует в документе. @@ -3535,60 +3496,65 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Выберите целевую точку - + Create Label Добавить метку - - + + Pick endpoint of leader line Выберите конечную точку линии выноски - - + + Pick text position Указать положение текста - - + + Pick first point Указать первую точку - + Create Line Создать линию - + Create Wire Создать ломаную линию - - - - - + + Polyline + Полилиния + + + + + + + + + - - Pick next point Указать следующую точку - + Unable to create a Wire from selected objects Невозможно создать каркас из выбранных объектов - + Convert to Wire Преобразовать в каркас @@ -3656,11 +3622,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Move - Переместить + Перемещение - + Some subelements could not be moved. Некоторые подэлементы не могут быть перемещены. @@ -3671,9 +3637,9 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Указать центральную точку - - - + + + @@ -3681,60 +3647,60 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Указать радиус + - - - + + Start angle Начальный угол - - + + Pick start angle Выбрать начальный угол + - - - + + Aperture angle Угол раскрытия - + Pick aperture Выбрать раскрытие - + Create Circle (Part) Создать круг (деталь) - + Create Circle Создать окружность - + Create Arc (Part) Создать дугу (деталь) - + Create Arc Создать дугу - + Pick aperture angle Выбрать угол раскрытия - - + + Arc by 3 points Дуга по 3 точкам @@ -3800,8 +3766,8 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Выберите объект для проецирования - - + + Create Point Создать Точку @@ -3816,40 +3782,40 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Указать центр вращения - - + + Base angle Базовый угол - - + + The base angle you wish to start the rotation from Базовый угол, с которого вы хотите начать вращение - - + + Pick base angle Указать начальный угол - - + + Rotation Вращение - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Величина вращения, которую вы хотите выполнить. Окончательный угол будет базовым углом плюс эта величина. - - + + Pick rotation angle Выберите угол поворота @@ -3973,6 +3939,11 @@ The final angle will be the base angle plus this amount. Create fillet Создать скругление + + + Polygon + Многоугольник + Create Polygon (Part) @@ -3999,45 +3970,50 @@ The final angle will be the base angle plus this amount. Выберите объекты для обрезки или удлинения - + Pick distance Выберите расстояние - + Offset angle Угол смещения - + Unable to trim these objects, only Draft wires and arcs are supported. Невозможно обрезать эти объекты, поддерживаются только чертежные провода и дуги. - + Unable to trim these objects, too many wires Невозможно обрезать эти объекты, слишком много линий - + These objects don't intersect. Данные объекты не пересекаются. - + Too many intersection points. Слишком много точек пересечения. + + + B-Spline + B-сплайн + Spline has been closed Сплайн замкнут + + - - Last point has been removed Последняя точка была удалена @@ -4171,32 +4147,47 @@ The final angle will be the base angle plus this amount. Конечная точка кривой Безье не может быть сглажена - - + + Bézier curve + Кривая Безье + + + + Bézier curve has been closed Кривая Безье была замкнута - - + + Create BezCurve Создать кривую Безье - - + + Cubic Bézier curve + Кубическая кривая Безье + + + + Click and drag to define next knot Нажмите и перетащите, чтобы определить следующий узел - - + + Ellipse + Эллипс + + + + Create Ellipse Создать эллипс - - + + Pick opposite point Укажите противоположную точку @@ -4221,34 +4212,34 @@ The final angle will be the base angle plus this amount. Выберите опорное расстояние от базовой точки - - - + + + Scale Масштаб - + Some subelements could not be scaled. Некоторые подэлементы не могут быть масштабированы. - + Unable to scale object: Невозможно масштабировать объект: - + Unable to scale objects: Невозможно масштабировать объекты: - + This object type cannot be scaled directly. Please use the clone method. Этот тип объекта нельзя масштабировать напрямую. Пожалуйста, используйте метод клонирования. - + Pick new distance from base point Выберите новое расстояние от базовой точки @@ -4289,26 +4280,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Переключить режим отображения + + + Dimension + Размер + - + Create Dimension - Указать размер + Создать размер - + Create Dimension (radial) Создать радиальный размер - + Edge too short! Ребро слишком короткое! - + Edges don't intersect! Рёбра не пересекаются! @@ -4323,37 +4319,42 @@ The final angle will be the base angle plus this amount. Указать первую точку выбранного прямоугольника - + Pick opposite point of selection rectangle Выберите противоположную точку выделенного прямоугольника - + Pick start point of displacement Укажите начальную точку смещения - + Pick end point of displacement Выберете конечную точку смещения - + Turning one Rectangle into a Wire Превращение одного прямоугольника в линию (wire) - + Stretch Растянуть - + + Rectangle + Прямоугольник + + + Create Plane Создать плоскость - + Create Rectangle Создать Прямоугольник @@ -4394,8 +4395,8 @@ The final angle will be the base angle plus this amount. Изменить уклон - + Select an object to upgrade Выберите объект для обновления @@ -4450,41 +4451,41 @@ The final angle will be the base angle plus this amount. Упрощающее Преобразование - - + + Task panel: Панель задач: + - Polar array Массив вращения - - + + At least one element must be selected. Должен быть выбран хотя бы один элемент. - - + + Selection is not suitable for array. Выбор не подходит для массива. - - - - + + + + Object: Объект: @@ -4504,22 +4505,22 @@ The final angle will be the base angle plus this amount. Угол ниже -360 градусов. Он установлен к этому значению для продолжения. - + Center reset: Сброс центра: - - + + Fuse: Соединить: - - + + Create Link array: Создать массив ссылок: @@ -4534,24 +4535,24 @@ The final angle will be the base angle plus this amount. Полярный угол: - + Center of rotation: Центр вращения: - - + + Aborted: Отменено: + - Orthogonal array Прямоугольный массив @@ -4616,11 +4617,11 @@ The final angle will be the base angle plus this amount. По умолчанию + - Circular array Круговой массив @@ -4670,12 +4671,22 @@ The final angle will be the base angle plus this amount. Параметр симметрии: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: строка не имеет направляющих - + ShapeString: face creation failed for one character Текст в кривую: ошибка при создании грани для одного символа @@ -4745,12 +4756,12 @@ The final angle will be the base angle plus this amount. добавлено свойство 'ExtraPlacement' - + No shape found Фигура не найдена - + All Shapes must be planar Все фигуры должны быть плоскими @@ -4853,22 +4864,19 @@ The final angle will be the base angle plus this amount. Режим карты: + + + - - - Wrong input: must be a number. Неверный ввод: должно быть число. - - - - + @@ -4878,14 +4886,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Неверный ввод: должен быть вектор. - + Wrong input: must be a list or tuple of strings, or a single string. Неверный ввод: должен быть список или кортеж строк, или одна строка. @@ -4912,8 +4923,8 @@ The final angle will be the base angle plus this amount. Вход: одно значение, расширенное до вектора. - + Wrong input: must be an integer number. Неправильный ввод: должно быть целое число. @@ -4933,7 +4944,7 @@ The final angle will be the base angle plus this amount. Rectangular array - Прямоугольный массив + Массив прямоугольников @@ -4948,8 +4959,8 @@ The final angle will be the base angle plus this amount. Неправильный ввод: должно быть размещение, вектор или поворот. - + Wrong input: object must not be a list. Неверный ввод: объект не должен быть списком. @@ -5324,9 +5335,9 @@ The final angle will be the base angle plus this amount. добавлено свойство 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' опция 'DisplayMode' переименована в 'World/Screen' @@ -5429,6 +5440,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command Вы должны выбрать базовый объект перед использованием этой команды + + + Fillet + Скругление + Delete original objects @@ -5440,32 +5456,32 @@ from menu Tools -> Addon Manager Создать фаску - + Save style Сохранить стиль - + Name of this new style: Название текущего нового стиля: - + Warning Предупреждение - + Name exists. Overwrite? Указанное название уже существует. Перезаписать? - + Error: json module not found. Unable to load style Ошибка: модуль json не найден. Невзможно загрузить стиль - + Error: json module not found. Unable to save style Ошибка: модуль json не найден. Невзможно сохранить стиль @@ -5481,21 +5497,21 @@ from menu Tools -> Addon Manager Наклон - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Направление смещения не определено. Пожалуйста, сначала переместите мышку в любую сторону от объекта, чтобы указать направление - - + + True Да - - + + False Нет @@ -5532,7 +5548,7 @@ from menu Tools -> Addon Manager Copy - Копировать + Скопировать @@ -5576,6 +5592,7 @@ from menu Tools -> Addon Manager + Name Название @@ -5587,7 +5604,7 @@ from menu Tools -> Addon Manager Draw style - Стиль представления + Стиль рисования @@ -5614,6 +5631,71 @@ from menu Tools -> Addon Manager New Layer Новый слой + + + Custom + Дополнительно + + + + Label + Метка + + + + Position + Положение + + + + Length + Длина + + + + Area + Площадь + + + + Volume + Объём + + + + Tag + Метка + + + + Material + Материал + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5669,7 +5751,7 @@ You may also select a three vertices or a Working Plane Proxy. Path array - Массив по кривой + Массив по траектории @@ -5741,12 +5823,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Полилиния - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Создает линию с несколькими точками (ломаную линию). CTRL для привязки, SHIFT для ограничения. @@ -6022,7 +6104,7 @@ However, a single sketch with disconnected traces will be converted into several Move - Переместить + Перемещение @@ -6051,12 +6133,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Дуга по 3 точкам - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Создаёт дугу окружности, выбрав 3 точки. @@ -6066,12 +6148,12 @@ CTRL для привязки, SHIFT для ограничения. Draft_ArcTools - + Arc tools Инструменты построения дуги - + Create various types of circular arcs. Создает различные типы круговых дуг. @@ -6195,7 +6277,7 @@ The array can be turned into an orthogonal or a polar array by changing its type Rotate - Повернуть + Вращение @@ -6227,7 +6309,7 @@ Create a group first to use this tool. Select group - Выбрать группу + Групповой выбор @@ -6313,7 +6395,7 @@ Then you can use it to save a different camera position and objects' states any Flip dimension - Перевернуть(flip) размер + Перевернуть размер @@ -6440,12 +6522,12 @@ CTRL для привязки, SHIFT для ограничения. Draft_CubicBezCurve - + Cubic Bézier curve Кубическая кривая Безье - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6457,12 +6539,12 @@ CTRL для привязки, SHIFT для ограничения. Draft_BezierTools - + Bézier tools Инструменты кривой Безье - + Create various types of Bézier curves. Создаёт различные типы кривых Безье. @@ -6499,7 +6581,7 @@ CTRL to snap, ALT to select tangent objects. Facebinder - Граневяз + Привязать поверхность к граням @@ -6561,7 +6643,7 @@ Objects added to this layer can share the same visual properties such as line co Point array - Массив Точек + Массив точек @@ -6929,30 +7011,55 @@ It is a list of strings; each element in the list will be displayed in its own l Список строк, каждая из которых будет отображена отдельной строкой. - + Text string - Текстовая строка + Строка текста - + Font file name Имя файла шрифта - + Height of text Высота текста - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Межсимвольное расстояние - + Fill letters with faces Заполнить буквы гранями + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7019,19 +7126,19 @@ set True for fusion or False for compound - + Create a face Создать грань + + - - The area of this object Площадь объекта @@ -7075,8 +7182,8 @@ set True for fusion or False for compound Базовый объект, который будет продублирован. - + The object along which the copies will be distributed. It must contain 'Edges'. Объект вдоль которого будут распространяться копии. Он должен содержать 'Рёбра'. @@ -7091,9 +7198,9 @@ set True for fusion or False for compound Коэффициент поворота закрученного массива. - - + + Show the individual array elements (only for Link arrays) Показать элементы массива (только для массивов ссылок) @@ -7218,8 +7325,8 @@ they will only be editable by changing the style through the 'Annotation style e При использовании стиля некоторые из свойств станут доступны только для чтения. Чтобы их изменить, отредактируйте стиль в 'Редакторе стилей Надписи'. - + The base object that will be duplicated Базовый объект, который будет дублироваться @@ -7535,7 +7642,7 @@ This property is read-only, as the number depends on the points in 'Point Object The placement of this object - Размещение объекта + Размещение этого объекта @@ -8020,14 +8127,14 @@ Use 'arch' to force US arch notation Используйте 'arch' для обозначения архитектурной США - + Arrow size Размер стрелки - + Arrow type Тип стрелки @@ -8065,7 +8172,7 @@ beyond the dimension line Transform - Переместить + Преобразовать @@ -8090,7 +8197,7 @@ beyond the dimension line Draft - Осадка + Черновик diff --git a/src/Mod/Draft/Resources/translations/Draft_sl.qm b/src/Mod/Draft/Resources/translations/Draft_sl.qm index 4c8c8b5884..5984c8e0f1 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_sl.qm and b/src/Mod/Draft/Resources/translations/Draft_sl.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_sl.ts b/src/Mod/Draft/Resources/translations/Draft_sl.ts index ae10891196..a4435481b6 100644 --- a/src/Mod/Draft/Resources/translations/Draft_sl.ts +++ b/src/Mod/Draft/Resources/translations/Draft_sl.ts @@ -46,7 +46,7 @@ New - Novo + Nova @@ -77,7 +77,7 @@ OK - Potrdi + V redu @@ -130,7 +130,7 @@ px - px + sl. točk @@ -263,7 +263,7 @@ Line width - Širina črte + Debelina črte @@ -434,7 +434,7 @@ To deluje le, če je "Vezana razpostavitev" izključena. Fuse - Zlij + Združi @@ -571,7 +571,7 @@ To deluje le, če je "Vezana razpostavitev" izključena. Fuse - Zlij + Združi @@ -673,7 +673,7 @@ To deluje le, če je "Vezana razpostavitev" izključena. Fuse - Zlij + Združi @@ -976,12 +976,12 @@ risanjem spremenite s tipkama [ in ] Line width - Širina črte + Debelina črte px - px + sl. točk @@ -1127,7 +1127,7 @@ risanjem spremenite s tipkama [ in ] Dimensions - Mere + Kote @@ -1618,7 +1618,6 @@ stalno širino"), družina (npr. "Arial,Helvetica,sans") ali ime s slogom (npr. Privzeta višina besedila in mer - @@ -1626,6 +1625,7 @@ stalno širino"), družina (npr. "Arial,Helvetica,sans") ali ime s slogom (npr. + mm mm @@ -1642,7 +1642,7 @@ stalno širino"), družina (npr. "Arial,Helvetica,sans") ali ime s slogom (npr. World - Okolje + Svet @@ -1944,9 +1944,9 @@ iz Upravljalnika dodatkov. Dovoli FreeCADu samodejni prenos in posodobitev knjižnic DXF - - + + Import options Možnosti uvoza @@ -2164,8 +2164,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Če je nastavljena na "0", bo celoten zlepek obravnavan ko raven odsek. - + Export options Možnosti izvoza @@ -2605,7 +2605,7 @@ To lahko spodleti pri predlogah novejših od DXF R12. Global - Splošno + Obče @@ -2705,7 +2705,7 @@ To lahko spodleti pri predlogah novejših od DXF R12. Global - Splošno + Obče @@ -2724,10 +2724,10 @@ To lahko spodleti pri predlogah novejših od DXF R12. - - - - + + + + Copy Kopiraj @@ -2815,21 +2815,21 @@ To lahko spodleti pri predlogah novejših od DXF R12. - + Top Zgoraj - + Front Spredaj - + Side Stran @@ -2906,7 +2906,7 @@ To lahko spodleti pri predlogah novejših od DXF R12. - + Angle Kot @@ -3086,13 +3086,14 @@ Ta možnost ni na voljo, če je v prednastavitvah izrisovanja možnost "Uporabi + Line Črta DWire - OČrtovje + Izrisno črtovje @@ -3106,9 +3107,9 @@ Ta možnost ni na voljo, če je v prednastavitvah izrisovanja možnost "Uporabi - + Rotate - Zavrti + Zasukaj @@ -3127,24 +3128,24 @@ Ta možnost ni na voljo, če je v prednastavitvah izrisovanja možnost "Uporabi + + + - - - Offset Odmik - + Distance - Distance + Oddaljenost - + Offset distance Velikost odmika @@ -3155,63 +3156,23 @@ Ta možnost ni na voljo, če je v prednastavitvah izrisovanja možnost "Uporabi - Local u0394X - Krajevni u0394X - - - Local u0394Y - Krajevni u0394Y - - - Local u0394Z - Krajevni u0394Z - - - Local X - Krajevni X - - - Local Y - Krajevni Y - - - Local Z - Krajevni Z + Local {} + Local {} - Global u0394X - Obči u0394X - - - Global u0394Y - Obči u0394Y - - - Global u0394Z - Obči u0394Z - - - Global X - Obči X - - - Global Y - Obči Y - - - Global Z - Obči Z + Global {} + Global {} @@ -3241,7 +3202,7 @@ Ta možnost ni na voljo, če je v prednastavitvah izrisovanja možnost "Uporabi Draft - Ugrez + Izris @@ -3300,14 +3261,14 @@ Poskusite prestaviti datoteko DWG v mapo, katere pot ne vsebuje presledkov in ne ali poskusite shraniti v starejšo različico DWGja. - - - + + + All Shapes must be coplanar Vse oblike morajo biti soravninske (koplanarne) - + Selected Shapes must define a plane Izbrane oblike morajo tvoriti ravnino @@ -3331,11 +3292,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer. Da FreeCADu omogočite prenos teh knjižnic, odgovorite z Da. + - Custom Po meri @@ -3360,41 +3321,41 @@ Da FreeCADu omogočite prenos teh knjižnic, odgovorite z Da. Nastavi merilo pripisnim orodjem izrisa - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Ni dejavnega dokumenta. Prekinjanje. - - + + + + + - - - - - + + Wrong input: object not in document. Napačen vnos: predmeta ni v dokumentu. @@ -3558,60 +3519,65 @@ Da FreeCADu omogočite prenos teh knjižnic, odgovorite z Da. Izberite ciljno točko - + Create Label Ustvariti oznako - - + + Pick endpoint of leader line Izberite končno točko opisnične črte - - + + Pick text position Nastavi položaj besedila - - + + Pick first point Izberite prvo točko - + Create Line Ustvari črto - + Create Wire Ustvarite črtovje - - - - - + + Polyline + Črtovje + + + + + + + + + - - Pick next point Izberite naslednjo točko - + Unable to create a Wire from selected objects Črtovja iz izbranih predmetov ni bilo mogoče ustvariti - + Convert to Wire Pretvori v črtovje @@ -3683,7 +3649,7 @@ Da FreeCADu omogočite prenos teh knjižnic, odgovorite z Da. - + Some subelements could not be moved. Nekaterih podprvin ni bilo mogoče premakniti. @@ -3694,9 +3660,9 @@ Da FreeCADu omogočite prenos teh knjižnic, odgovorite z Da. Izberite središče - - - + + + @@ -3704,60 +3670,60 @@ Da FreeCADu omogočite prenos teh knjižnic, odgovorite z Da. Izberi polmer + - - - + + Start angle Začetni kot - - + + Pick start angle Izberite začetni kot + - - - + + Aperture angle Središčni kot - + Pick aperture Izberite središčni kot - + Create Circle (Part) Ustvari krog (Del) - + Create Circle Ustvari krog - + Create Arc (Part) Ustvari lok (Del) - + Create Arc Ustvari lok - + Pick aperture angle Izberite središčni kot - - + + Arc by 3 points Lok iz 3 točk @@ -3823,8 +3789,8 @@ Da FreeCADu omogočite prenos teh knjižnic, odgovorite z Da. Izberite predmet za preslikavanje - - + + Create Point Ustvari točko @@ -3839,40 +3805,40 @@ Da FreeCADu omogočite prenos teh knjižnic, odgovorite z Da. Izberite središče sukanja - - + + Base angle Izhodiščni kot - - + + The base angle you wish to start the rotation from Izhodiščni kót, iz katerega želite začeti sukanje - - + + Pick base angle Izberite izhodiščni kot - - + + Rotation Zasuk - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Koliko želite zasukati. Končni kót bo seštevek izhodiščnega in tega kóta. - - + + Pick rotation angle Izberite kót sukanja @@ -3904,7 +3870,7 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Autogroup - Samodejno združevanje + Samozdruževanje @@ -3996,6 +3962,11 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Create fillet Ustvari zaokrožitev + + + Polygon + Mnogokotnik + Create Polygon (Part) @@ -4022,45 +3993,50 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Izberite predmete za prirezovanje/podaljšanje - + Pick distance Izberite razdaljo - + Offset angle Kót odmika - + Unable to trim these objects, only Draft wires and arcs are supported. Teh predmetov ni mogoče prirezati, le izrisna (Draft) črtovja in loki imajo to možnost. - + Unable to trim these objects, too many wires Ni mogoče prirezati teh predmetov, preveč črtovij - + These objects don't intersect. Ti predmeti se ne sekajo. - + Too many intersection points. Preveč presečišč. + + + B-Spline + B-zlepek + Spline has been closed Zlepek je bil sklenjen + + - - Last point has been removed Zadnja točka je bila odstranjena @@ -4194,32 +4170,47 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Krajišča bezierjeve krivulje ni mogoče zgladiti - - + + Bézier curve + Bezierova krivulja + + + + Bézier curve has been closed Bezierova krivulja je bila sklenjena - - + + Create BezCurve Ustvari Bezierovo krivuljo - - + + Cubic Bézier curve + Kubična bezierova krivulja + + + + Click and drag to define next knot Za določitev novega vozla kliknite in povlecite - - + + Ellipse + Elipsa + + + + Create Ellipse Ustvari elipso - - + + Pick opposite point Izberite nasprotno točko @@ -4244,34 +4235,34 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Izberite primerjalno dolžino od izhodišča - - - + + + Scale - Povečava + Prevelikostenje - + Some subelements could not be scaled. Nekaterih podprvin ni bilo mogoče prevelikostiti. - + Unable to scale object: Predmeta ni mogoče prevelikostiti: - + Unable to scale objects: Predmetov ni mogoče prevelikostiti: - + This object type cannot be scaled directly. Please use the clone method. Te vrste predmeta ni mogoče neposredno prevelikostiti. Uporabite postopek kloniranja. - + Pick new distance from base point Izberite novo oddaljenost od izhodišča @@ -4312,26 +4303,31 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Toggle display mode Preklopi način prikaza + + + Dimension + Mera + - + Create Dimension Ustvari koto - + Create Dimension (radial) Ustvari koto (polmerno) - + Edge too short! Prekratek rob! - + Edges don't intersect! Robovi se ne sekajo! @@ -4346,37 +4342,42 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Izberite prvo točko izbirnega pravokotnika - + Pick opposite point of selection rectangle Izberite nasprotno točko izbirnega pravokotnika - + Pick start point of displacement Izberite začetno točko pomika - + Pick end point of displacement Izberite končno točko pomika - + Turning one Rectangle into a Wire Pretvori pravokotnik v črtovje - + Stretch Raztegni - + + Rectangle + Pravokotnik + + + Create Plane Ustvari ravnino - + Create Rectangle Ustvari pravokotnik @@ -4417,8 +4418,8 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Spremeni naklon - + Select an object to upgrade Izberite predmet, ki ga želite izpopolniti @@ -4473,41 +4474,41 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Popreprosti - - + + Task panel: Podokno nalog: + - Polar array Krožna razpostavitev - - + + At least one element must be selected. Izbrati morate vsaj eno prvino. - - + + Selection is not suitable for array. Izbor ni primeren za razpostavljanje. - - - - + + + + Object: Predmet: @@ -4527,22 +4528,22 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Kot je pod -360 stopinjami. Za nadaljevanje je nastavljen na to vrednost. - + Center reset: Ponastavitev središča: - - + + Fuse: Združi: - - + + Create Link array: Ustvari vezano razpostavitev: @@ -4557,24 +4558,24 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Kót razpostavljanja: - + Center of rotation: Središče sukanja: - - + + Aborted: Prekinjeno: + - Orthogonal array Pravokotna razpostavitev @@ -4639,11 +4640,11 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Privzeti + - Circular array Krožna razpostavitev @@ -4693,12 +4694,22 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Somernostna določilka: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires Besedilna oblika: niz je brez črtovij - + ShapeString: face creation failed for one character Besedilna oblika: pri enem znaku je ustvarjanje ploskve spodletelo @@ -4768,12 +4779,12 @@ Končni kót bo seštevek izhodiščnega in tega kóta. dodana lastnost "DodatnaPostavitev" - + No shape found Ni najdenih oblik - + All Shapes must be planar Vse oblike morajo biti ravninske @@ -4876,22 +4887,19 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Način preslikave: + + + - - - Wrong input: must be a number. Napačen vnos: biti mora številka. - - - - + @@ -4901,14 +4909,17 @@ Končni kót bo seštevek izhodiščnega in tega kóta. - + + + + Wrong input: must be a vector. Napačen vnos: biti mora vektor. - + Wrong input: must be a list or tuple of strings, or a single string. Napačen vnos: biti mora seznam ali sklop nizov ali en niz. @@ -4935,8 +4946,8 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Vnos: samostojna vrednost razširjena v vektor. - + Wrong input: must be an integer number. Napačen vnos: biti mora celo število. @@ -4971,8 +4982,8 @@ Končni kót bo seštevek izhodiščnega in tega kóta. Napačen vnos: biti mora postavitev, vektor ali zasukanost. - + Wrong input: object must not be a list. Napačen vnos: predmet ne sme biti seznam. @@ -5347,9 +5358,9 @@ Končni kót bo seštevek izhodiščnega in tega kóta. dodana lastnost pogleda "BarvaBesedila" - - + + renamed 'DisplayMode' options to 'World/Screen' možnosti "Prikaznega načina" preimenovane v "Obče/Zaslon" @@ -5454,6 +5465,11 @@ z menija Orodja -> Upravljalnik vstavkov You must choose a base object before using this command Pred tem ukazom morate izbrati izhodiščni predmet + + + Fillet + Zaokrožitev + Delete original objects @@ -5465,32 +5481,32 @@ z menija Orodja -> Upravljalnik vstavkov Ustvari prisekanje - + Save style Shrani slog - + Name of this new style: Ime novega sloga: - + Warning Opozorilo - + Name exists. Overwrite? Ime že obstaja. Ali želite prepisati? - + Error: json module not found. Unable to load style Napaka: modula JSON ni mogoče najti. Sloga ni mogoče naložiti - + Error: json module not found. Unable to save style Napaka: modula JSON ni mogoče najti. Sloga ni mogoče shraniti @@ -5506,21 +5522,21 @@ z menija Orodja -> Upravljalnik vstavkov Naklon - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Smer odmika ni določena. S premikom kazalke na eno stran predmeta najprej nakažite smer - - + + True Je - - + + False Ni @@ -5601,13 +5617,14 @@ z menija Orodja -> Upravljalnik vstavkov + Name Ime Line width - Širina črte + Debelina črte @@ -5639,6 +5656,71 @@ z menija Orodja -> Upravljalnik vstavkov New Layer Nova plast + + + Custom + Po meri + + + + Label + Oznaka + + + + Position + Position + + + + Length + Dolžina + + + + Area + Površina + + + + Volume + Prostornina + + + + Tag + značka, mostiček (povezovalni ostanek pri CNC izrezovanju) + + + + Material + Snov + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5765,12 +5847,12 @@ upoštevan le prvi od vsakega. Draft_Wire - + Polyline Črtovje - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Ustvari večtočkovno črto (črtovje). CTRL za pripenjanje, PREMAKNI za omejitev. @@ -6076,12 +6158,12 @@ CTRL za pripenjanje, PREMAKNI za omejitev. Draft_Arc_3Points - + Arc by 3 points Lok iz 3 točk - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Ustvari krožni lok z določitvijo 3 točk. @@ -6091,12 +6173,12 @@ CTRL za pripenjanje, PREMAKNI za omejitev. Draft_ArcTools - + Arc tools Ločna orodja - + Create various types of circular arcs. Ustvari različne vrste krožnih lokov. @@ -6464,12 +6546,12 @@ CTRL za pripenjanje, PREMAKNI za omejitev. Draft_CubicBezCurve - + Cubic Bézier curve Kubična bezierova krivulja - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6481,12 +6563,12 @@ CTRL za pripenjanje, PREMAKNI za omejitev. Draft_BezierTools - + Bézier tools Bezierova orodja - + Create various types of Bézier curves. Ustvari različne vrste bezierovih krivulj. @@ -6524,7 +6606,7 @@ CTRL za pripenjanje, ALT za izbiro dotikalnih predmetov. Facebinder - Vezalnik površij + Vezalnik ploskev @@ -6556,7 +6638,7 @@ Razpostavitev lahko spremenite v krožno ali v obročno razpostavitev s sprememb Scale - Povečava + Prevelikostenje @@ -6843,7 +6925,7 @@ Izbrani predmeti, ki niso posamezne črte, bodo prezrti. Upgrade - Izpopolni + Nadgradi @@ -6957,30 +7039,55 @@ It is a list of strings; each element in the list will be displayed in its own l To je seznam nizov, ki bodo prikazani vsak v svoji vrsti. - + Text string Besedilni niz - + Font file name Ime datoteke pisave - + Height of text Višina besedila - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Medznakovni razmik - + Fill letters with faces Zapolni črke s ploskvami + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7047,19 +7154,19 @@ vklopite, če želite združevanje oz. izklopite, če želite sestavljanje - + Create a face Ustvari ploskev + + - - The area of this object Površina tega predmeta @@ -7103,8 +7210,8 @@ vklopite, če želite združevanje oz. izklopite, če želite sestavljanjeIzhodiščni predmet, ki bo podvojen. - + The object along which the copies will be distributed. It must contain 'Edges'. Predmet, vzdolž katerega bodo razvrščeni dvojniki. Vsebovati mora "Robove". @@ -7119,9 +7226,9 @@ vklopite, če želite združevanje oz. izklopite, če želite sestavljanjeKoličnik sukanja pri zvijajoči razpostavitvi. - - + + Show the individual array elements (only for Link arrays) Pokaži posamezne predmete razpostavitve (le pri Vezanih razpostavitvah) @@ -7250,8 +7357,8 @@ they will only be editable by changing the style through the 'Annotation style e urediti jih bo mogoče le s spremembo sloga v orodju "Urejevalnik pripisnih slogov". - + The base object that will be duplicated Izhodiščni predmet, ki bo podvojen @@ -8048,14 +8155,14 @@ Use 'arch' to force US arch notation Če želite vsiliti anglosaški arhitekturni zapis, uporabite "arch" - + Arrow size - Velikost puščice + Velikost puščic - + Arrow type Vrsta puščice @@ -8120,7 +8227,7 @@ preko kotnice Draft - Ugrez + Izris @@ -8128,7 +8235,7 @@ preko kotnice Import-Export - Uvoz - Izvoz + Uvozi-Izvozi diff --git a/src/Mod/Draft/Resources/translations/Draft_sr-CS.qm b/src/Mod/Draft/Resources/translations/Draft_sr-CS.qm index a615879182..496bac0aee 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_sr-CS.qm and b/src/Mod/Draft/Resources/translations/Draft_sr-CS.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_sr-CS.ts b/src/Mod/Draft/Resources/translations/Draft_sr-CS.ts index 14e16728b3..b858ff8447 100644 --- a/src/Mod/Draft/Resources/translations/Draft_sr-CS.ts +++ b/src/Mod/Draft/Resources/translations/Draft_sr-CS.ts @@ -46,7 +46,7 @@ New - Novi + Novo @@ -57,7 +57,7 @@ Select all - Izaberi sve + Obeleži sve @@ -67,7 +67,7 @@ Isolate - Isolate + Izoluj @@ -77,7 +77,7 @@ OK - U redu + Ok @@ -130,7 +130,7 @@ px - px + PX @@ -303,7 +303,7 @@ Dimension details - Dimension details + Detalji dimenzija @@ -384,7 +384,7 @@ Mora biti najmanje 2. Symmetry - Simetričnost + Simetrija @@ -433,7 +433,7 @@ Ovo radi samo ako je "Umnožavanje veza" isključeno. Fuse - Unija + Spajanje @@ -570,7 +570,7 @@ Ovo radi samo ako je "Umnožavanje veza" isključeno. Fuse - Unija + Spajanje @@ -672,7 +672,7 @@ Ovo radi samo ako je "Umnožavanje veza" isključeno. Fuse - Unija + Spajanje @@ -729,7 +729,7 @@ Umnožavanje veza je efikasnije kada se napravi više kopija, ali se ne može sp String - Znakovni niz + Niz @@ -979,7 +979,7 @@ promeniti korišćenjem tipki [ i ] tokom crtanja px - px + PX @@ -994,22 +994,22 @@ promeniti korišćenjem tipki [ i ] tokom crtanja Solid - Puno + Čvrst Dashed - Isprekidana + Isprekidana linija Dotted - Tačkasta + Tačkasto DashDot - Crta, tačka + Crta tačka @@ -1029,17 +1029,17 @@ promeniti korišćenjem tipki [ i ] tokom crtanja Wireframe - Žičani + Žičani okvir Shaded - Nevidljive ivice, sa senčenjem + Osenčeno Points - Tačke + Poeni @@ -1065,7 +1065,7 @@ promeniti korišćenjem tipki [ i ] tokom crtanja Annotations - Napomene + Pribeleška @@ -1125,7 +1125,7 @@ promeniti korišćenjem tipki [ i ] tokom crtanja Dimensions - Kote + Dimenzije @@ -1230,7 +1230,7 @@ promeniti korišćenjem tipki [ i ] tokom crtanja Selected - Izabrano + Označeno @@ -1465,7 +1465,7 @@ Imaj na umu da ova opcija nije u potpunosti podržana i da se mnogi objekti neć Bitsnpieces style - Bitsnpieces style + Stil delića @@ -1616,7 +1616,6 @@ kao što su "Arial:Bold" Podrazumevana visina za tekst i kote - @@ -1624,8 +1623,9 @@ kao što su "Arial:Bold" + mm - mm + milimetar @@ -1700,12 +1700,12 @@ kao što su "Arial:Bold" Arrow - Strelica + Strela Tick - Kosa crta + Otkucaj @@ -1740,7 +1740,7 @@ kao što su "Arial:Bold" Right - Sdesna + Desno @@ -1942,11 +1942,11 @@ iz Menadžera dodataka. Dozvoli FreeCAD-u da automatski preuzima i ažurira DXF biblioteke - - + + Import options - Postavke uvoza + Podešavanja uvoza @@ -2001,7 +2001,7 @@ iz Menadžera dodataka. Create - Napravi + Kreiraj @@ -2162,10 +2162,10 @@ If it is set to '0' the whole spline is treated as a straight segment. Ako je zadato na '0', ceo splajn se tretira kao ravni segment. - + Export options - Opcije izvoza + Podešavanja izvoza @@ -2613,7 +2613,7 @@ Ovo možda neće uspeti za novije šablone od DXF R12. Undo - Poništi + Opozovi @@ -2722,10 +2722,10 @@ Ovo možda neće uspeti za novije šablone od DXF R12. - - - - + + + + Copy Kopiraj @@ -2813,21 +2813,21 @@ Ovo možda neće uspeti za novije šablone od DXF R12. - + Top Odozgo - + Front Spreda - + Side Strana @@ -2904,7 +2904,7 @@ Ovo možda neće uspeti za novije šablone od DXF R12. - + Angle Ugao @@ -3083,6 +3083,7 @@ Nije dostupno ako je omogućena Draft opcija podešavanja 'Koristi Part primitiv + Line Linija @@ -3103,7 +3104,7 @@ Nije dostupno ako je omogućena Draft opcija podešavanja 'Koristi Part primitiv - + Rotate Rotiraj @@ -3124,24 +3125,24 @@ Nije dostupno ako je omogućena Draft opcija podešavanja 'Koristi Part primitiv + + + - - - Offset Odmak - + Distance Distance - + Offset distance Odmak rastojanje @@ -3152,63 +3153,23 @@ Nije dostupno ako je omogućena Draft opcija podešavanja 'Koristi Part primitiv - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Lokalno X - - - Local Y - Lokalno Y - - - Local Z - Lokalno Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Global X - - - Global Y - Global Y - - - Global Z - Global Z + Global {} + Global {} @@ -3295,14 +3256,14 @@ or try saving to a lower DWG version. Greška tokom DWG konverzije. Pokušaj da premestiš DWG datoteku u fasciklu koja ima putanju bez razmaka i ne-engleskih znakova, ili pokušaj da sačuvaš u nižoj DWG verziji. - - - + + + All Shapes must be coplanar Svi oblici moraju biti komplanarni - + Selected Shapes must define a plane Izabrani oblici moraju definisati ravan @@ -3326,11 +3287,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Da bi omogućio FreeCAD-u da preuzme ove biblioteke, odgovori sa Da. + - Custom Sopstvena @@ -3355,41 +3316,41 @@ Da bi omogućio FreeCAD-u da preuzme ove biblioteke, odgovori sa Da.Podesi razmeru koju koriste alati za Draft napomenu - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Nema aktivnog dokumenta. Obustavljanje. - - + + + + + - - - - - + + Wrong input: object not in document. Pogrešan unos: objekat nije u dokumentu. @@ -3553,60 +3514,65 @@ Da bi omogućio FreeCAD-u da preuzme ove biblioteke, odgovori sa Da.Izaberi ciljnu tačku - + Create Label Napravi oznaku - - + + Pick endpoint of leader line Izaberi krajnju tačku pokazne linije - - + + Pick text position Izaberi položaj teksta - - + + Pick first point Izaberi prvu tačku - + Create Line Napravi Liniju - + Create Wire Napravi Žicu - - - - - + + Polyline + Povezana linija + + + + + + + + + - - Pick next point Izaberi sledeću tačku - + Unable to create a Wire from selected objects Nije moguće napraviti žicu od izabranih objekata - + Convert to Wire Pretvori u Žicu @@ -3678,7 +3644,7 @@ Da bi omogućio FreeCAD-u da preuzme ove biblioteke, odgovori sa Da. - + Some subelements could not be moved. Neki podelementi nisu mogli da se premeste. @@ -3689,9 +3655,9 @@ Da bi omogućio FreeCAD-u da preuzme ove biblioteke, odgovori sa Da.Izaberi centralnu tačku - - - + + + @@ -3699,60 +3665,60 @@ Da bi omogućio FreeCAD-u da preuzme ove biblioteke, odgovori sa Da.Izaberi poluprečnik + - - - + + Start angle Početni ugao - - + + Pick start angle Izaberi početni ugao + - - - + + Aperture angle Krajnji ugao - + Pick aperture Izaberi krajnji ugao - + Create Circle (Part) Napravi kružnicu (Deo) - + Create Circle Napravi kružnicu - + Create Arc (Part) Napravi kružni luk (Deo) - + Create Arc Napravi kružni luk - + Pick aperture angle Izaberi krajnji ugao - - + + Arc by 3 points Kružni luk pomoću 3 tačke @@ -3818,8 +3784,8 @@ Da bi omogućio FreeCAD-u da preuzme ove biblioteke, odgovori sa Da.Izaberi objekat koji želiš projiciraš - - + + Create Point Napravi tačku @@ -3834,40 +3800,40 @@ Da bi omogućio FreeCAD-u da preuzme ove biblioteke, odgovori sa Da.Izaberi centar rotacije - - + + Base angle Početni ugao - - + + The base angle you wish to start the rotation from Početni ugao od kojeg želiš da započneš rotaciju - - + + Pick base angle Izaberi početni ugao - - + + Rotation Rotacija - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Veličina rotacije koju želiš da izvršiš. Krajnji ugao će biti početni ugao plus ovaj iznos. - - + + Pick rotation angle Izaberi ugao rotacije @@ -3991,6 +3957,11 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Create fillet Napravi zaobljenje + + + Polygon + Mnogougao + Create Polygon (Part) @@ -4017,45 +3988,50 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Izaberi objekte koje hoćeš opseći ili produžiti - + Pick distance Izaberi rastojanje - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Nije moguće opseći ove objekte, podržane su samo Draft žice i kružni lukovi. - + Unable to trim these objects, too many wires Nije moguće opseći ove objekte, previše žica - + These objects don't intersect. Ovi objekti se ne ukrštaju. - + Too many intersection points. Previše presečnih tačaka. + + + B-Spline + B-Splajn kriva + Spline has been closed B-Splajn je zatvoren + + - - Last point has been removed Poslednja tačka je uklonjena @@ -4189,32 +4165,47 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Krajnja tačka Bezjeove krive se ne može uglačati - - + + Bézier curve + Bezjeova kriva + + + + Bézier curve has been closed Bezijeova kriva je zatvorena - - + + Create BezCurve Napravi Bezjeovu krivu - - + + Cubic Bézier curve + Kubna Bezjeova kriva + + + + Click and drag to define next knot Klikni i prevuci da bi definisao sledeći čvor - - + + Ellipse + Elipsa + + + + Create Ellipse Napravi Elipsu - - + + Pick opposite point Izaberi suprotnu tačku @@ -4239,34 +4230,34 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Izaberi referentno rastojanje od bazne tačke - - - + + + Scale Razmera - + Some subelements could not be scaled. Neki podelementi nisu mogli da se skaliraju. - + Unable to scale object: Nije moguće skalirati objekat: - + Unable to scale objects: Nije moguće skalirati objekte: - + This object type cannot be scaled directly. Please use the clone method. Ova vrsta objekta se ne može direktno skalirati. Koristi metodu kloniranja. - + Pick new distance from base point Izaberi novo rastojanje od bazne tačke @@ -4307,26 +4298,31 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Toggle display mode Prebaci režim prikaza + + + Dimension + Kota + - + Create Dimension Napravi kotu - + Create Dimension (radial) Napravi Kotu (radijalnu) - + Edge too short! Ivica je prekratka! - + Edges don't intersect! Ivice se ne ukrštaju! @@ -4341,37 +4337,42 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Izaberi prvu tačku pravougaonika za izbor - + Pick opposite point of selection rectangle Izaberi suprotnu tačku pravougaonika za izbor - + Pick start point of displacement Izaberi polaznu tačku linije pomeranja - + Pick end point of displacement Izaberi krajnju tačku linije pomeranja - + Turning one Rectangle into a Wire Pretvaranje jednog pravougaonika u žicu - + Stretch Razvuci - + + Rectangle + Pravougaonik + + + Create Plane Napravi Ravan - + Create Rectangle Napravi Pravougaonik @@ -4412,8 +4413,8 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Promeni nagib - + Select an object to upgrade Izaberi objekat koji želiš da sastaviš @@ -4468,41 +4469,41 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Rastavi - - + + Task panel: Panel zadataka: + - Polar array Polarno umnožavanje - - + + At least one element must be selected. Najmanje jedan elemenat mora biti izabran. - - + + Selection is not suitable for array. Izbor nije pogodan za umnožavanje. - - - - + + + + Object: Objekat: @@ -4522,22 +4523,22 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Ugao je ispod 360 stepeni. Podešeno je na ovu vrednost da bi se moglo nastaviti. - + Center reset: Ponovo zadaj centar: - - + + Fuse: Unija: - - + + Create Link array: Napravi umnožavanje veza: @@ -4552,24 +4553,24 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Polarni ugao: - + Center of rotation: Centar rotacije: - - + + Aborted: Obustavljeno: + - Orthogonal array Pravougaono umnožavanje @@ -4634,11 +4635,11 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Podrazumevano + - Circular array Kružno umnožavanje @@ -4688,12 +4689,22 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Parametar simetrije: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires Tekstualni oblik: znakovni niz nema žice - + ShapeString: face creation failed for one character TekstualniOblik: nije uspelo pravljenje stranice od jednog znaka @@ -4763,12 +4774,12 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. dodata osobina 'DodatniPoložaj' - + No shape found Nije pronađen oblik - + All Shapes must be planar Svi oblici moraju biti ravanski @@ -4863,30 +4874,27 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Support: - Support: + Podrška: Map mode: - Map mode: + Režim mape: + + + - - - Wrong input: must be a number. Pogrešan unos: mora biti broj. - - - - + @@ -4896,14 +4904,17 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. - + + + + Wrong input: must be a vector. Pogrešan unos: mora biti vektor. - + Wrong input: must be a list or tuple of strings, or a single string. Pogrešan unos: mora biti lista, znakovni niz uređenih n-torki ili jedan niz znakova. @@ -4927,11 +4938,11 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Input: single value expanded to vector. - Input: single value expanded to vector. + Ulaz: jedna vrednost proširena na vektor. - + Wrong input: must be an integer number. Pogrešan unos: mora biti ceo broj. @@ -4966,8 +4977,8 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Pogrešan unos: mora biti položaj, vektor ili rotacija. - + Wrong input: object must not be a list. Pogrešan unos: objekat ne sme biti lista. @@ -5028,18 +5039,18 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Use one of 'make_linear_dimension', or 'make_linear_dimension_obj'. - Use one of 'make_linear_dimension', or 'make_linear_dimension_obj'. + Koristite jednu od 'make_linear_dimension' ili 'make_linear_dimension_obj'. Wrong input: object doesn't have a 'Shape' to measure. - Wrong input: object doesn't have a 'Shape' to measure. + Pogrešan unos: objekat nema 'oblik' za merenje. Wrong input: object doesn't have at least one element in 'Vertexes' to use for measuring. - Wrong input: object doesn't have at least one element in 'Vertexes' to use for measuring. + Pogrešan unos: objekat nema bar jedan element u 'Verteksima' koji bi se koristio za merenje. @@ -5066,7 +5077,7 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. Wrong input: object doesn't have at least one element in 'Edges' to use for measuring. - Wrong input: object doesn't have at least one element in 'Edges' to use for measuring. + Pogrešan unos: objekat nema bar jedan element u 'Ivicama' koji bi se koristio za merenje. @@ -5342,9 +5353,9 @@ Krajnji ugao će biti početni ugao plus ovaj iznos. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5449,6 +5460,11 @@ iz menija Alati/Menadžer dodataka You must choose a base object before using this command Morate izabrati bazni objekat pre upotrebe ove komande + + + Fillet + Zaobljenje + Delete original objects @@ -5460,32 +5476,32 @@ iz menija Alati/Menadžer dodataka Napravi obaranje ivica - + Save style Sačuvaj Stil - + Name of this new style: Naziv ovog novog stila: - + Warning Warning - + Name exists. Overwrite? Ime postoji. Da prepišem? - + Error: json module not found. Unable to load style Greška: json modul nije pronađen. Nije moguće učitati stil - + Error: json module not found. Unable to save style Greška: json modul nije pronađen. Nije moguće sačuvati stil @@ -5501,21 +5517,21 @@ iz menija Alati/Menadžer dodataka Nagib - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Smer odmaka nije definisan. Pomeri miša na jednu ili drugu stranu objekta da bi označio pravac - - + + True Tačno - - + + False Netačno @@ -5596,6 +5612,7 @@ iz menija Alati/Menadžer dodataka + Name Ime @@ -5634,6 +5651,71 @@ iz menija Alati/Menadžer dodataka New Layer Novi sloj + + + Custom + Sopstvena + + + + Label + Ime + + + + Position + Position + + + + Length + Dužina + + + + Area + Area + + + + Volume + Zapremina + + + + Tag + Tag + + + + Material + Materijal + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5721,7 +5803,7 @@ A 'Link array' is more efficient when handling many copies but the 'Fuse' option Label - Ime + Oznaka @@ -5761,12 +5843,12 @@ obezbeđivati informacija oznaci. Draft_Wire - + Polyline Povezana linija - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Pravi liniju sa više tačaka (povezanu liniju). CTRL za hvatanje, SHIFT za ograničavanje. @@ -6072,12 +6154,12 @@ CTRL za hvatanje, SHIFT za ograničavanje. Draft_Arc_3Points - + Arc by 3 points Kružni luk pomoću 3 tačke - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Pravi kružni luk pomoću 3 tačke. @@ -6087,12 +6169,12 @@ CTRL za hvatanje, SHIFT za ograničavanje. Draft_ArcTools - + Arc tools Alatke za kružna lukove - + Create various types of circular arcs. Napravi različite vrste kružnih lukova. @@ -6461,12 +6543,12 @@ CTRL za hvatanje, SHIFT za ograničavanje. Draft_CubicBezCurve - + Cubic Bézier curve Kubna Bezjeova kriva - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6478,12 +6560,12 @@ CTRL za hvatanje, SHIFT za ograničavanje. Draft_BezierTools - + Bézier tools Alatke za Bezjeove krive - + Create various types of Bézier curves. Napravi različite vrste Bezjeovih krivih. @@ -6954,30 +7036,55 @@ It is a list of strings; each element in the list will be displayed in its own l To je lista sa nizovima znakova; svaki niz znakova u listi će biti prikazan u svojoj liniji. - + Text string Tekstualni niz znakova - + Font file name Ime datoteke fonta - + Height of text Visina teksta - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Međuznakovni razmak - + Fill letters with faces Popuni slova stranicama + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7044,19 +7151,19 @@ podesi Tačno za uniju ili Netačno za sastavljeni objekat - + Create a face Napravi stranicu + + - - The area of this object Površina ovog objekta @@ -7100,8 +7207,8 @@ podesi Tačno za uniju ili Netačno za sastavljeni objekat Bazni objekat koji će biti dupliran. - + The object along which the copies will be distributed. It must contain 'Edges'. Objekat duž kojeg će se kopije raspoređivati. Mora da sadrži 'Ivice'. @@ -7116,9 +7223,9 @@ podesi Tačno za uniju ili Netačno za sastavljeni objekat Koeficijent rotacije Umnožavanja po putanji sa uvrtanjem. - - + + Show the individual array elements (only for Link arrays) Prikaži pojedinačne elemente umnožavanja (samo za umnožavanje veza) @@ -7246,8 +7353,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated Bazni objekat koji će biti dupliran @@ -8049,14 +8156,14 @@ Ostavi prazno za podrazumevane merne jedinice. Koristi 'arch' da bi prinudio na Građevinski US - + Arrow size Veličina strelice - + Arrow type Vrsta strelice diff --git a/src/Mod/Draft/Resources/translations/Draft_sr.qm b/src/Mod/Draft/Resources/translations/Draft_sr.qm index c8c46bb4fc..20cb1c2f24 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_sr.qm and b/src/Mod/Draft/Resources/translations/Draft_sr.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_sr.ts b/src/Mod/Draft/Resources/translations/Draft_sr.ts index acac5f3edc..eeb3df0c3e 100644 --- a/src/Mod/Draft/Resources/translations/Draft_sr.ts +++ b/src/Mod/Draft/Resources/translations/Draft_sr.ts @@ -1616,7 +1616,6 @@ such as "Arial:Bold" Подразумевана висина за текст и коте - @@ -1624,6 +1623,7 @@ such as "Arial:Bold" + mm мм @@ -1942,9 +1942,9 @@ from the Addon Manager. Дозволите FreeCAD-у да аутоматски преузима и ажурира DXF библиотеке - - + + Import options Поставке увоза @@ -2162,8 +2162,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Ако је задато на '0', цео сплајн се третира као равни сегмент. - + Export options Опције извоза @@ -2722,10 +2722,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Копирај @@ -2813,21 +2813,21 @@ This might fail for post DXF R12 templates. - + Top Одозго - + Front Спреда - + Side Страна @@ -2904,7 +2904,7 @@ This might fail for post DXF R12 templates. - + Angle Угао @@ -3083,6 +3083,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Линија @@ -3103,7 +3104,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Ротирај @@ -3124,24 +3125,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Одмак - + Distance Distance - + Offset distance Одмак растојање @@ -3152,63 +3153,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Локално X - - - Local Y - Локално Y - - - Local Z - Локално Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Global X - - - Global Y - Global Y - - - Global Z - Global Z + Global {} + Global {} @@ -3295,14 +3256,14 @@ or try saving to a lower DWG version. Грешка током DWG конверзијe. Покушај да преместиш DWG датотеку у фасциклу која има путању без размака и не-енглеских знакова, или покушај да сачуваш у нижој DWG верзији. - - - + + + All Shapes must be coplanar Сви облици морају бити компланарни - + Selected Shapes must define a plane Изабрани облици морају дефинисати раван @@ -3326,11 +3287,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Да би омогућио FreeCAD-у да преузме ове библиотеке, одговори са Да. + - Custom Сопствена @@ -3355,41 +3316,41 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Подеси размеру коју користе алати за Draft напомену - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. Нема активног документа. Обустављање. - - + + + + + - - - - - + + Wrong input: object not in document. Погрешан унос: објекат није у документу. @@ -3553,60 +3514,65 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Изабери циљну тачку - + Create Label Направи ознаку - - + + Pick endpoint of leader line Изабери крајњу тачку показне линије - - + + Pick text position Изабери положај текста - - + + Pick first point Изабери прву тачку - + Create Line Направи Линију - + Create Wire Направи Жицу - - - - - + + Polyline + Повезана линија + + + + + + + + + - - Pick next point Изабери следећу тачку - + Unable to create a Wire from selected objects Није могуће направити жицу од изабраних објеката - + Convert to Wire Претвори у Жицу @@ -3678,7 +3644,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer - + Some subelements could not be moved. Неки поделементи нису могли да се преместе. @@ -3689,9 +3655,9 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Изабери централну тачку - - - + + + @@ -3699,60 +3665,60 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Изабери полупречник + - - - + + Start angle Почетни угао - - + + Pick start angle Изабери почетни угао + - - - + + Aperture angle Крајњи угао - + Pick aperture Изабери крајњи угао - + Create Circle (Part) Направи кружницу (Део) - + Create Circle Направи кружницу - + Create Arc (Part) Направи кружни лук (Део) - + Create Arc Направи кружни лук - + Pick aperture angle Изабери крајњи угао - - + + Arc by 3 points Кружни лук помоћу 3 тачке @@ -3818,8 +3784,8 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Изабери објекат који желиш да пројицираш - - + + Create Point Направи тачку @@ -3834,40 +3800,40 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Изабери центар ротације - - + + Base angle Почетни угао - - + + The base angle you wish to start the rotation from Почетни угао од којег желиш да започнеш ротацију - - + + Pick base angle Изабери почетни угао - - + + Rotation Ротација - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. Величина ротације коју желиш да извршиш. Крајњи угао ће бити почетни угао плус овај износ. - - + + Pick rotation angle Изабери угао ротације @@ -3991,6 +3957,11 @@ The final angle will be the base angle plus this amount. Create fillet Направи заобљење + + + Polygon + Многоугао + Create Polygon (Part) @@ -4017,45 +3988,50 @@ The final angle will be the base angle plus this amount. Изабери објекте које хоћеш опсећи или продужити - + Pick distance Изабери растојање - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Није могуће опсећи ове објекте, подржане су само Draft жице и кружни лукови. - + Unable to trim these objects, too many wires Није могуће опсећи ове објекте, превише жица - + These objects don't intersect. Ови објекти се не укрштају. - + Too many intersection points. Превише пресечних тачака. + + + B-Spline + Б-сплајн + Spline has been closed Б-Сплајн је затворен + + - - Last point has been removed Последња тачка је уклоњена @@ -4189,32 +4165,47 @@ The final angle will be the base angle plus this amount. Крајња тачка Безјеове криве се не може углачати - - + + Bézier curve + Безјеова крива + + + + Bézier curve has been closed Безијеова крива је затворена - - + + Create BezCurve Направи Безјеову криву - - + + Cubic Bézier curve + Кубна Безјеова крива + + + + Click and drag to define next knot Кликни и превуцит да би дефинисао следећи чвор - - + + Ellipse + Елипса + + + + Create Ellipse Направи Елипсу - - + + Pick opposite point Изабери супротну тачку @@ -4239,34 +4230,34 @@ The final angle will be the base angle plus this amount. Изабери референтно растојање од базне тачке - - - + + + Scale Размера - + Some subelements could not be scaled. Неки поделементи нису могли да се скалирају. - + Unable to scale object: Није могуће скалирати објекат: - + Unable to scale objects: Није могуће скалирати објекте: - + This object type cannot be scaled directly. Please use the clone method. Ова врста објекта се не може директно скалирати. Користи методу клонирања. - + Pick new distance from base point Изабери ново растојање од базне тачке @@ -4307,26 +4298,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Пребаци режим приказа + + + Dimension + Кота + - + Create Dimension Направи коту - + Create Dimension (radial) Направи Коту (радијалну) - + Edge too short! Ивица је прекратка! - + Edges don't intersect! Ивице се не укрштају! @@ -4341,37 +4337,42 @@ The final angle will be the base angle plus this amount. Изабери прву тачку правоугаоника за избор - + Pick opposite point of selection rectangle Изабери супротну тачку правоугаоника за избор - + Pick start point of displacement Изабери полазну тачку линије померања - + Pick end point of displacement Изабери крајњу тачку линије померања - + Turning one Rectangle into a Wire Претварање једног правоугаоника у жицу - + Stretch Развуци - + + Rectangle + Правоугаоник + + + Create Plane Направи Раван - + Create Rectangle Направи Правоугаоник @@ -4412,8 +4413,8 @@ The final angle will be the base angle plus this amount. Промени нагиб - + Select an object to upgrade Изабери објекат који желиш да саставиш @@ -4468,41 +4469,41 @@ The final angle will be the base angle plus this amount. Растави - - + + Task panel: Панел задатака: + - Polar array Поларно умножавање - - + + At least one element must be selected. Најмање један елемент мора бити изабран. - - + + Selection is not suitable for array. Избор није погодан за умножавање. - - - - + + + + Object: Објекат: @@ -4522,22 +4523,22 @@ The final angle will be the base angle plus this amount. Угао је испод -360 степени. Подешено је на ову вредност да би се могло наставити. - + Center reset: Поново задај центар: - - + + Fuse: Унија: - - + + Create Link array: Направи умножавање веза: @@ -4552,24 +4553,24 @@ The final angle will be the base angle plus this amount. Поларни угао: - + Center of rotation: Центар ротације: - - + + Aborted: Обустављено: + - Orthogonal array Правоугаоно умножавање @@ -4634,11 +4635,11 @@ The final angle will be the base angle plus this amount. Подразумевано + - Circular array Кружно умножавање @@ -4688,12 +4689,22 @@ The final angle will be the base angle plus this amount. Параметар симетрије: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires Текстуални облик: знаковни низ нема жице - + ShapeString: face creation failed for one character ТекстуалниОблик: није успело прављење странице од једног знака @@ -4763,12 +4774,12 @@ The final angle will be the base angle plus this amount. додата особина 'ДодатниПоложај' - + No shape found Није пронађен облик - + All Shapes must be planar Сви облици морају бити равански @@ -4871,22 +4882,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Погрешан унос: мора бити број. - - - - + @@ -4896,14 +4904,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Погрешан унос: мора бити вектор. - + Wrong input: must be a list or tuple of strings, or a single string. Погрешан унос: мора бити листа, знаковни низ уређених н-торки или један низ знакова. @@ -4930,8 +4941,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Погрешан унос: мора бити цео број. @@ -4966,8 +4977,8 @@ The final angle will be the base angle plus this amount. Погрешан унос: мора бити положај, вектор или ротација. - + Wrong input: object must not be a list. Погрешан унос: објекат не сме бити листа. @@ -5342,9 +5353,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5449,6 +5460,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command Морате изабрати базни објекат пре употребе ове команде + + + Fillet + Заобљење + Delete original objects @@ -5460,32 +5476,32 @@ from menu Tools -> Addon Manager Направи обарање ивица - + Save style Сачувај стил - + Name of this new style: Назив овог новог стила: - + Warning Warning - + Name exists. Overwrite? Име постоји. Да препишем? - + Error: json module not found. Unable to load style Грешка: јсон модул није пронађен. Није могуће учитати стил - + Error: json module not found. Unable to save style Грешка: јсон модул није пронађен. Није могуће сачувати стил @@ -5501,21 +5517,21 @@ from menu Tools -> Addon Manager Нагиб - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Смер одмака није дефинисан. Помери миша на једну или другу страну објекта да би означио правац - - + + True Тачно - - + + False Нетачно @@ -5596,6 +5612,7 @@ from menu Tools -> Addon Manager + Name Име @@ -5634,6 +5651,71 @@ from menu Tools -> Addon Manager New Layer Нови слој + + + Custom + Сопствена + + + + Label + Име + + + + Position + Position + + + + Length + Дужина + + + + Area + Area + + + + Volume + Запремина + + + + Tag + Tag + + + + Material + Материјал + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5721,7 +5803,7 @@ A 'Link array' is more efficient when handling many copies but the 'Fuse' option Label - Име + Ознака @@ -5750,7 +5832,7 @@ will be used to provide information to the label. Line - Линија + Linija @@ -5761,12 +5843,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Повезана линија - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Прави линију са више тачака (повезану линију). CTRL за хватање, SHIFT за ограничавање. @@ -6072,12 +6154,12 @@ CTRL за хватање, SHIFT за ограничавање. Draft_Arc_3Points - + Arc by 3 points Кружни лук помоћу 3 тачке - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Прави кружни лук помоћу 3 тачке. @@ -6087,12 +6169,12 @@ CTRL за хватање, SHIFT за ограничавање. Draft_ArcTools - + Arc tools Алатке за кружна лукове - + Create various types of circular arcs. Направи различите врсте кружних лукова. @@ -6461,12 +6543,12 @@ CTRL за хватање, SHIFT за ограничавање. Draft_CubicBezCurve - + Cubic Bézier curve Кубна Безјеова крива - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6478,12 +6560,12 @@ CTRL за хватање, SHIFT за ограничавање. Draft_BezierTools - + Bézier tools Алатке за Безјеове криве - + Create various types of Bézier curves. Направи различите врсте Безјеових кривих. @@ -6954,30 +7036,55 @@ It is a list of strings; each element in the list will be displayed in its own l То је листа са низовима знакова; сваки низ знакова у листи ће бити приказан у својој линији. - + Text string Текстуални низ знакова - + Font file name Име датотеке фонта - + Height of text Висина текста - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Међузнаковни размак - + Fill letters with faces Попуни слова страницама + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7044,19 +7151,19 @@ set True for fusion or False for compound - + Create a face Направи страницу + + - - The area of this object Површина овог објекта @@ -7100,8 +7207,8 @@ set True for fusion or False for compound Базни објекат који ће бити дуплиран. - + The object along which the copies will be distributed. It must contain 'Edges'. Објекат дуж којег ће се копије распоређивати. Мора да садржи 'Ивице'. @@ -7116,9 +7223,9 @@ set True for fusion or False for compound Коефицијент ротације Умножавања по путањи са увртањем. - - + + Show the individual array elements (only for Link arrays) Прикажи појединачне елементе умножавања (само за умножавање веза) @@ -7246,8 +7353,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated Базни објекат који ће бити дуплиран @@ -8049,14 +8156,14 @@ Use 'arch' to force US arch notation Користи 'arch' да би принудио на Грађевински US - + Arrow size Величина стрелице - + Arrow type Врста стрелице diff --git a/src/Mod/Draft/Resources/translations/Draft_sv-SE.qm b/src/Mod/Draft/Resources/translations/Draft_sv-SE.qm index 2366a52d93..77039e48f4 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_sv-SE.qm and b/src/Mod/Draft/Resources/translations/Draft_sv-SE.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_sv-SE.ts b/src/Mod/Draft/Resources/translations/Draft_sv-SE.ts index cd0acfab8d..39e406f689 100644 --- a/src/Mod/Draft/Resources/translations/Draft_sv-SE.ts +++ b/src/Mod/Draft/Resources/translations/Draft_sv-SE.ts @@ -1614,7 +1614,6 @@ som "Arial:Bold" Standardhöjd för texter och dimensioner - @@ -1622,6 +1621,7 @@ som "Arial:Bold" + mm mm @@ -1939,9 +1939,9 @@ från Addon Manager. Tillåt FreeCAD att automatiskt hämta och uppdatera DXF-biblioteken - - + + Import options Importeringsalternativ @@ -2157,8 +2157,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Om den är satt till '0' så behandlas hela splinen som ett rakt segment. - + Export options Alternativ för exportering @@ -2717,10 +2717,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Kopiera @@ -2808,21 +2808,21 @@ This might fail for post DXF R12 templates. - + Top Topp - + Front Front - + Side Sida @@ -2899,7 +2899,7 @@ This might fail for post DXF R12 templates. - + Angle Vinkel @@ -3019,7 +3019,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled Sides - Sides + Sidor @@ -3079,6 +3079,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Linje @@ -3099,7 +3100,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Rotera @@ -3120,24 +3121,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Offset - + Distance Distans - + Offset distance Offset distance @@ -3148,63 +3149,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Globalt X - - - Global Y - Globalt Y - - - Global Z - Globalt Z + Global {} + Global {} @@ -3293,14 +3254,14 @@ Prova att flytta DWG-filen till en sökväg utan mellanslag och icke-engelska te eller försök spara till en lägre DWG-version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3324,11 +3285,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Anpassad @@ -3353,41 +3314,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3551,60 +3512,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3676,7 +3642,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3687,9 +3653,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3697,60 +3663,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3816,8 +3782,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3832,40 +3798,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3882,7 +3848,7 @@ The final angle will be the base angle plus this amount. Add new group - Add new group + Lägg till ny grupp @@ -3902,7 +3868,7 @@ The final angle will be the base angle plus this amount. Add new Layer - Add new Layer + Lägg till nytt lager @@ -3917,7 +3883,7 @@ The final angle will be the base angle plus this amount. Add group - Add group + Lägg till grupp @@ -3989,6 +3955,11 @@ The final angle will be the base angle plus this amount. Create fillet Skapa avrundning + + + Polygon + Polygon + Create Polygon (Part) @@ -4015,45 +3986,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4187,32 +4163,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + Ellips + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4237,34 +4228,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale Skala - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4273,7 +4264,7 @@ The final angle will be the base angle plus this amount. Layer - Layer + Lager @@ -4305,26 +4296,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Dimension + - + Create Dimension Skapa dimension - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4339,37 +4335,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Rektangel + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4410,8 +4411,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4466,41 +4467,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Polär matris - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4520,22 +4521,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4550,24 +4551,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Rutnätsmatris @@ -4632,11 +4633,11 @@ The final angle will be the base angle plus this amount. Standard + - Circular array Cirkulär array @@ -4686,12 +4687,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4761,12 +4772,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4869,22 +4880,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4894,14 +4902,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4928,8 +4939,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4964,8 +4975,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5101,7 +5112,7 @@ The final angle will be the base angle plus this amount. Layers - Layers + Lager @@ -5147,7 +5158,7 @@ The final angle will be the base angle plus this amount. Add new layer - Add new layer + Lägg till nytt lager @@ -5340,9 +5351,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5447,6 +5458,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Avrundning + Delete original objects @@ -5458,32 +5474,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Varning - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5499,21 +5515,21 @@ from menu Tools -> Addon Manager Lutning - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Sant - - + + False Falskt @@ -5594,6 +5610,7 @@ from menu Tools -> Addon Manager + Name Namn @@ -5632,6 +5649,71 @@ from menu Tools -> Addon Manager New Layer Nytt lager + + + Custom + Anpassad + + + + Label + Etikett + + + + Position + Position + + + + Length + Längd + + + + Area + Area + + + + Volume + Volym + + + + Tag + Tag + + + + Material + Material + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5759,12 +5841,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6070,12 +6152,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6085,12 +6167,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6459,12 +6541,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6476,12 +6558,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6566,7 +6648,7 @@ CTRL to snap, SHIFT to constrain, ALT to copy. Layer - Layer + Lager @@ -6952,30 +7034,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Textsträng - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7042,19 +7149,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7098,8 +7205,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7114,9 +7221,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7245,8 +7352,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8049,14 +8156,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Pilstorlek - + Arrow type Piltyp diff --git a/src/Mod/Draft/Resources/translations/Draft_tr.qm b/src/Mod/Draft/Resources/translations/Draft_tr.qm index a96b81aaf4..256b3d5cec 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_tr.qm and b/src/Mod/Draft/Resources/translations/Draft_tr.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_tr.ts b/src/Mod/Draft/Resources/translations/Draft_tr.ts index 8e74d28947..9831846801 100644 --- a/src/Mod/Draft/Resources/translations/Draft_tr.ts +++ b/src/Mod/Draft/Resources/translations/Draft_tr.ts @@ -1616,7 +1616,6 @@ Bu değer, "Arial", varsayılan stiller "sans", "serif" veya "mono", veya aile a Metinler ve boyutlar için kullanılacak yazı tipi - @@ -1624,6 +1623,7 @@ Bu değer, "Arial", varsayılan stiller "sans", "serif" veya "mono", veya aile a + mm mm @@ -1941,9 +1941,9 @@ Bu işlemi Eklenti Yöneticisi' nden "dxf_library" tezgahını yükleyerek elle FreeCAD'in DXF kitaplıklarını otomatik olarak indirmesine ve güncellemesine izin ver - - + + Import options İçe aktarım seçenekleri @@ -2160,8 +2160,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Her çoklu çizginin her bir parçasının en büyük uzunluğu, eğer değeri 0 olarak atanır ise her parça düz olur. - + Export options Dışa aktarım seçenekleri @@ -2720,10 +2720,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Kopyala @@ -2811,21 +2811,21 @@ This might fail for post DXF R12 templates. - + Top üst - + Front Ön - + Side Yan @@ -2902,7 +2902,7 @@ This might fail for post DXF R12 templates. - + Angle Açı @@ -3082,6 +3082,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Çizgi @@ -3102,7 +3103,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Döndür @@ -3123,24 +3124,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Uzaklaşma - + Distance Uzaklık - + Offset distance Offset distance @@ -3151,63 +3152,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Evrensel X - - - Global Y - Evrensel Y - - - Global Z - Evrensel Z + Global {} + Global {} @@ -3296,14 +3257,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3327,11 +3288,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Özel @@ -3356,41 +3317,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3554,60 +3515,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3679,7 +3645,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3690,9 +3656,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3700,60 +3666,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3819,8 +3785,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3835,40 +3801,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3992,6 +3958,11 @@ The final angle will be the base angle plus this amount. Create fillet Fileto oluştur + + + Polygon + Çokgen + Create Polygon (Part) @@ -4018,45 +3989,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4190,32 +4166,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + Elips + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4240,34 +4231,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale Ölçek - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4308,26 +4299,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Boyut + - + Create Dimension Ölçü Oluştur - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4342,37 +4338,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Dikdörtgen + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4413,8 +4414,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4469,41 +4470,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Kutupsal dizi - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4523,22 +4524,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4553,24 +4554,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Dikey dizi @@ -4635,11 +4636,11 @@ The final angle will be the base angle plus this amount. Varsayılan + - Circular array Dairesel dizi @@ -4689,12 +4690,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4764,12 +4775,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4872,22 +4883,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4897,14 +4905,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4931,8 +4942,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4967,8 +4978,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5343,9 +5354,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5450,6 +5461,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Yuvarla + Delete original objects @@ -5461,32 +5477,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning uyarı ikaz - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5502,21 +5518,21 @@ from menu Tools -> Addon Manager Eğim - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Doğru - - + + False Yanlış @@ -5597,6 +5613,7 @@ from menu Tools -> Addon Manager + Name Isim @@ -5635,6 +5652,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + Özel + + + + Label + Etiket + + + + Position + Position + + + + Length + Uzunluk + + + + Area + Alan + + + + Volume + Hacim + + + + Tag + Etiket + + + + Material + Malzeme + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5762,12 +5844,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6073,12 +6155,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6088,12 +6170,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6462,12 +6544,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6479,12 +6561,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6955,30 +7037,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Metin dizesi - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7045,19 +7152,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7101,8 +7208,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7117,9 +7224,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7248,8 +7355,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8052,14 +8159,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Ok boyu - + Arrow type Ok tipi diff --git a/src/Mod/Draft/Resources/translations/Draft_uk.qm b/src/Mod/Draft/Resources/translations/Draft_uk.qm index 766ae73289..eabb2696b0 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_uk.qm and b/src/Mod/Draft/Resources/translations/Draft_uk.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_uk.ts b/src/Mod/Draft/Resources/translations/Draft_uk.ts index e4fe47f0c1..cf7a2c2751 100644 --- a/src/Mod/Draft/Resources/translations/Draft_uk.ts +++ b/src/Mod/Draft/Resources/translations/Draft_uk.ts @@ -1619,7 +1619,6 @@ such as "Arial:Bold" Стандартна висота для тексту та розмірів - @@ -1627,6 +1626,7 @@ such as "Arial:Bold" + mm мм @@ -1944,9 +1944,9 @@ from the Addon Manager. Дозволити FreeCAD автоматично завантажувати та оновлювати DXF-бібліотеки - - + + Import options Налаштування імпорту @@ -2164,8 +2164,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Якщо значення встановлено у «0», весь сплайн розглядається як прямий сегмент. - + Export options Налаштування експорту @@ -2724,10 +2724,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Копіювати @@ -2815,21 +2815,21 @@ This might fail for post DXF R12 templates. - + Top Згори - + Front Фронтальний - + Side Сторона @@ -2906,7 +2906,7 @@ This might fail for post DXF R12 templates. - + Angle Кут @@ -3086,6 +3086,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Лінія @@ -3106,7 +3107,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Обертання @@ -3127,24 +3128,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Зміщення - + Distance Відстань - + Offset distance Offset distance @@ -3155,63 +3156,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - Глобальна X - - - Global Y - Глобальна Y - - - Global Z - Глобальна Z + Global {} + Global {} @@ -3300,14 +3261,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3331,11 +3292,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Підлаштувати @@ -3360,41 +3321,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3558,60 +3519,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3683,7 +3649,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3694,9 +3660,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3704,60 +3670,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3823,8 +3789,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3839,40 +3805,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3996,6 +3962,11 @@ The final angle will be the base angle plus this amount. Create fillet Створити заокруглення + + + Polygon + Багатокутник + Create Polygon (Part) @@ -4022,45 +3993,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-сплайн + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4194,32 +4170,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + Еліпс + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4244,34 +4235,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale Масштабування - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4312,26 +4303,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Розмірність + - + Create Dimension Створити розмір - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4346,37 +4342,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Прямокутник + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4417,8 +4418,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4473,41 +4474,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Полярний масив - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4527,22 +4528,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4557,24 +4558,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Ортогональний масив @@ -4639,11 +4640,11 @@ The final angle will be the base angle plus this amount. За замовчуванням + - Circular array Круговий масив @@ -4693,12 +4694,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4768,12 +4779,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4876,22 +4887,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4901,14 +4909,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4935,8 +4946,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4971,8 +4982,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5347,9 +5358,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5454,6 +5465,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Заокруглення + Delete original objects @@ -5465,32 +5481,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Попередження - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5506,21 +5522,21 @@ from menu Tools -> Addon Manager Нахил - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Так - - + + False Ні @@ -5601,6 +5617,7 @@ from menu Tools -> Addon Manager + Name Назва @@ -5639,6 +5656,71 @@ from menu Tools -> Addon Manager New Layer Новий шар + + + Custom + Підлаштувати + + + + Label + Позначка + + + + Position + Позиція + + + + Length + Довжина + + + + Area + Площа + + + + Volume + Об'єм + + + + Tag + Tag + + + + Material + Матеріал + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5766,12 +5848,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6077,12 +6159,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6092,12 +6174,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6466,12 +6548,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6483,12 +6565,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6959,30 +7041,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Текстовий рядок - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7049,19 +7156,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7105,8 +7212,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7121,9 +7228,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7252,8 +7359,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8056,14 +8163,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Розмір стрілки - + Arrow type Тип стрілки diff --git a/src/Mod/Draft/Resources/translations/Draft_val-ES.qm b/src/Mod/Draft/Resources/translations/Draft_val-ES.qm index 0bced58847..184f128f47 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_val-ES.qm and b/src/Mod/Draft/Resources/translations/Draft_val-ES.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_val-ES.ts b/src/Mod/Draft/Resources/translations/Draft_val-ES.ts index 1da01ecc62..0d4201c461 100644 --- a/src/Mod/Draft/Resources/translations/Draft_val-ES.ts +++ b/src/Mod/Draft/Resources/translations/Draft_val-ES.ts @@ -1601,7 +1601,6 @@ such as "Arial:Bold" Alçària predeterminada per a textos i dimensions - @@ -1609,6 +1608,7 @@ such as "Arial:Bold" + mm mm @@ -1924,9 +1924,9 @@ del gestor de complements. Permeten que FreeCAD descarregue i actualitze automàticament les biblioteques DXF - - + + Import options Opcions d'importació @@ -2135,8 +2135,8 @@ If it is set to '0' the whole spline is treated as a straight segment. Longitud màxima de cadascun dels segments de la polilínia. Si s'estableix en «0», l'spline sencer es tracta com un segment recte. - + Export options Opcions d'exportació @@ -2695,10 +2695,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy Copia @@ -2786,21 +2786,21 @@ This might fail for post DXF R12 templates. - + Top Planta - + Front Alçat - + Side Costat @@ -2877,7 +2877,7 @@ This might fail for post DXF R12 templates. - + Angle Angle @@ -3057,6 +3057,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line Línia @@ -3077,7 +3078,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate Gira @@ -3098,24 +3099,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset Separació - + Distance Distance - + Offset distance Offset distance @@ -3126,63 +3127,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - X global - - - Global Y - Y global - - - Global Z - Z global + Global {} + Global {} @@ -3271,14 +3232,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3302,11 +3263,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom Personalitzat @@ -3331,41 +3292,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3529,60 +3490,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3654,7 +3620,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3665,9 +3631,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3675,60 +3641,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3794,8 +3760,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3810,40 +3776,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3967,6 +3933,11 @@ The final angle will be the base angle plus this amount. Create fillet Crea un arredoniment + + + Polygon + Polygon + Create Polygon (Part) @@ -3993,45 +3964,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4165,32 +4141,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + El·lipse + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4215,34 +4206,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale Redimensiona - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4283,26 +4274,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + Dimensió + - + Create Dimension Create Dimension - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4317,37 +4313,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + Rectangle + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4388,8 +4389,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4444,41 +4445,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Matriu polar - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4498,22 +4499,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4528,24 +4529,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Matriu ortogonal @@ -4610,11 +4611,11 @@ The final angle will be the base angle plus this amount. Per defecte + - Circular array Matriu circular @@ -4664,12 +4665,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4739,12 +4750,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4847,22 +4858,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4872,14 +4880,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4906,8 +4917,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4942,8 +4953,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5318,9 +5329,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5425,6 +5436,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + Arredoniment + Delete original objects @@ -5436,32 +5452,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Warning - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5477,21 +5493,21 @@ from menu Tools -> Addon Manager Slope - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True Cert - - + + False Fals @@ -5572,6 +5588,7 @@ from menu Tools -> Addon Manager + Name Nom @@ -5610,6 +5627,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + Personalitzat + + + + Label + Etiqueta + + + + Position + Position + + + + Length + Longitud + + + + Area + Àrea + + + + Volume + Volum + + + + Tag + Tag + + + + Material + Material + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5737,12 +5819,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6048,12 +6130,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6063,12 +6145,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6437,12 +6519,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6454,12 +6536,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6930,30 +7012,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string Text string - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7020,19 +7127,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7076,8 +7183,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7092,9 +7199,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7223,8 +7330,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8027,14 +8134,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size Mida de la fletxa - + Arrow type Tipus de fletxa diff --git a/src/Mod/Draft/Resources/translations/Draft_zh-CN.qm b/src/Mod/Draft/Resources/translations/Draft_zh-CN.qm index cad0063407..bbfae969bb 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_zh-CN.qm and b/src/Mod/Draft/Resources/translations/Draft_zh-CN.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_zh-CN.ts b/src/Mod/Draft/Resources/translations/Draft_zh-CN.ts index 4a7b388c90..aa183c8d32 100644 --- a/src/Mod/Draft/Resources/translations/Draft_zh-CN.ts +++ b/src/Mod/Draft/Resources/translations/Draft_zh-CN.ts @@ -848,18 +848,14 @@ of the buttons above Or select a single vertex to move the current working plane without changing its orientation. Then, press the button below - Or select a single vertex to move the current -working plane without changing its orientation. -Then, press the button below + 或者选中一个单独的顶点来移动当前选中的对象或平面而不改变其方向。然后,点击下面的按钮 Moves the working plane without changing its orientation. If no point is selected, the plane will be moved to the center of the view - Moves the working plane without changing its -orientation. If no point is selected, the plane -will be moved to the center of the view + 移动当前选中的对象或平面而不更改其方向,如果未选择任何顶点,则平面将移动到视图的中心 @@ -1610,7 +1606,6 @@ such as "Arial:Bold" 文本及尺寸标注的默认高度 - @@ -1618,6 +1613,7 @@ such as "Arial:Bold" + mm mm @@ -1936,9 +1932,9 @@ from the Addon Manager. 允许 FreeCAD 自动下载和更新 DXF 库 - - + + Import options 导入选项 @@ -2156,8 +2152,8 @@ If it is set to '0' the whole spline is treated as a straight segment. If it is set to '0' the whole spline is treated as a straight segment. - + Export options 导出选项 @@ -2716,10 +2712,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy 复制 @@ -2807,21 +2803,21 @@ This might fail for post DXF R12 templates. - + Top 俯视 - + Front 前视 - + Side 侧面 @@ -2898,7 +2894,7 @@ This might fail for post DXF R12 templates. - + Angle 角度 @@ -3078,6 +3074,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line 线 @@ -3098,7 +3095,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate 旋转 @@ -3119,24 +3116,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset 偏移 - + Distance 距离 - + Offset distance Offset distance @@ -3147,63 +3144,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - 全局 X - - - Global Y - 全局 Y - - - Global Z - 全局 Z + Global {} + Global {} @@ -3292,14 +3249,14 @@ or try saving to a lower DWG version. 或尝试保存到 DWG 的较低版本。 - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3323,11 +3280,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom 自定义 @@ -3352,41 +3309,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3550,60 +3507,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3675,7 +3637,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3686,9 +3648,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3696,60 +3658,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3815,8 +3777,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3831,40 +3793,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3988,6 +3950,11 @@ The final angle will be the base angle plus this amount. Create fillet 创建圆角 + + + Polygon + 多边形 + Create Polygon (Part) @@ -4014,45 +3981,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4186,32 +4158,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + 椭圆 + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4236,34 +4223,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale 缩放 - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4304,26 +4291,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + 尺寸标注 + - + Create Dimension 创建尺寸 - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4338,37 +4330,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + 矩形 + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4409,8 +4406,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4465,41 +4462,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array 环形阵列 - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4519,22 +4516,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4549,24 +4546,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array 正交阵列 @@ -4631,11 +4628,11 @@ The final angle will be the base angle plus this amount. 默认 + - Circular array 环形阵列 @@ -4685,12 +4682,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4760,12 +4767,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4868,22 +4875,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4893,14 +4897,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4927,8 +4934,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4963,8 +4970,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5339,9 +5346,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5446,6 +5453,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + 圆角 + Delete original objects @@ -5457,32 +5469,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Warning - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5498,21 +5510,21 @@ from menu Tools -> Addon Manager Slope - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True - - + + False @@ -5593,6 +5605,7 @@ from menu Tools -> Addon Manager + Name 名称 @@ -5631,6 +5644,71 @@ from menu Tools -> Addon Manager New Layer New Layer + + + Custom + 自定义 + + + + Label + 标签 + + + + Position + 位置 + + + + Length + 长度 + + + + Area + 面积 + + + + Volume + 体积 + + + + Tag + 标记: + + + + Material + 材质 + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5758,12 +5836,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6069,12 +6147,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6084,12 +6162,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6142,7 +6220,7 @@ on supported nodes and on supported objects. Add point - Add point + 添加点 @@ -6331,7 +6409,7 @@ Then you can use it to save a different camera position and objects' states any Flip dimension - Flip dimension + 翻转尺寸 @@ -6458,12 +6536,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6475,12 +6553,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6951,30 +7029,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string 文本字符串 - + Font file name Font file name - + Height of text 文本高度 - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7041,19 +7144,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7097,8 +7200,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7113,9 +7216,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7244,8 +7347,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8048,14 +8151,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size 箭头大小 - + Arrow type 箭头类型 diff --git a/src/Mod/Draft/Resources/translations/Draft_zh-TW.qm b/src/Mod/Draft/Resources/translations/Draft_zh-TW.qm index 7ee20772ae..816681f083 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_zh-TW.qm and b/src/Mod/Draft/Resources/translations/Draft_zh-TW.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_zh-TW.ts b/src/Mod/Draft/Resources/translations/Draft_zh-TW.ts index 0699f7b7a0..f1e495f04e 100644 --- a/src/Mod/Draft/Resources/translations/Draft_zh-TW.ts +++ b/src/Mod/Draft/Resources/translations/Draft_zh-TW.ts @@ -1615,7 +1615,6 @@ such as "Arial:Bold" 預設文字和標註高度 - @@ -1623,6 +1622,7 @@ such as "Arial:Bold" + mm mm @@ -1940,9 +1940,9 @@ from the Addon Manager. 允許FreeCAD自動下載並更新DXF函式庫 - - + + Import options 匯入選項 @@ -2159,8 +2159,8 @@ If it is set to '0' the whole spline is treated as a straight segment. If it is set to '0' the whole spline is treated as a straight segment. - + Export options 匯出選項 @@ -2719,10 +2719,10 @@ This might fail for post DXF R12 templates. - - - - + + + + Copy 複製 @@ -2810,21 +2810,21 @@ This might fail for post DXF R12 templates. - + Top 上視圖 - + Front 前視圖 - + Side Side @@ -2901,7 +2901,7 @@ This might fail for post DXF R12 templates. - + Angle 角度 @@ -3081,6 +3081,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + Line @@ -3101,7 +3102,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - + Rotate 旋轉 @@ -3122,24 +3123,24 @@ Not available if Draft preference option 'Use Part Primitives' is enabled + + + - - - Offset 偏移複製 - + Distance 距離 - + Offset distance Offset distance @@ -3150,63 +3151,23 @@ Not available if Draft preference option 'Use Part Primitives' is enabled - Local u0394X - Local u0394X - - - Local u0394Y - Local u0394Y - - - Local u0394Z - Local u0394Z - - - Local X - Local X - - - Local Y - Local Y - - - Local Z - Local Z + Local {} + Local {} - Global u0394X - Global u0394X - - - Global u0394Y - Global u0394Y - - - Global u0394Z - Global u0394Z - - - Global X - 全域X - - - Global Y - 全域Y - - - Global Z - 全域Z + Global {} + Global {} @@ -3295,14 +3256,14 @@ Try moving the DWG file to a directory path without spaces and non-english chara or try saving to a lower DWG version. - - - + + + All Shapes must be coplanar All Shapes must be coplanar - + Selected Shapes must define a plane Selected Shapes must define a plane @@ -3326,11 +3287,11 @@ https://github.com/yorikvanhavre/Draft-dxf-importer To enabled FreeCAD to download these libraries, answer Yes. + - Custom 自訂 @@ -3355,41 +3316,41 @@ To enabled FreeCAD to download these libraries, answer Yes. Set the scale used by draft annotation tools - - - - - - - - - + + - + - + + + + + + + + No active document. Aborting. No active document. Aborting. - - + + + + + - - - - - + + Wrong input: object not in document. Wrong input: object not in document. @@ -3553,60 +3514,65 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick target point - + Create Label Create Label - - + + Pick endpoint of leader line Pick endpoint of leader line - - + + Pick text position Pick text position - - + + Pick first point Pick first point - + Create Line Create Line - + Create Wire Create Wire - - - - - + + Polyline + Polyline + + + + + + + + + - - Pick next point Pick next point - + Unable to create a Wire from selected objects Unable to create a Wire from selected objects - + Convert to Wire Convert to Wire @@ -3678,7 +3644,7 @@ To enabled FreeCAD to download these libraries, answer Yes. - + Some subelements could not be moved. Some subelements could not be moved. @@ -3689,9 +3655,9 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick center point - - - + + + @@ -3699,60 +3665,60 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick radius + - - - + + Start angle Start angle - - + + Pick start angle Pick start angle + - - - + + Aperture angle Aperture angle - + Pick aperture Pick aperture - + Create Circle (Part) Create Circle (Part) - + Create Circle Create Circle - + Create Arc (Part) Create Arc (Part) - + Create Arc Create Arc - + Pick aperture angle Pick aperture angle - - + + Arc by 3 points Arc by 3 points @@ -3818,8 +3784,8 @@ To enabled FreeCAD to download these libraries, answer Yes. Select an object to project - - + + Create Point Create Point @@ -3834,40 +3800,40 @@ To enabled FreeCAD to download these libraries, answer Yes. Pick rotation center - - + + Base angle Base angle - - + + The base angle you wish to start the rotation from The base angle you wish to start the rotation from - - + + Pick base angle Pick base angle - - + + Rotation Rotation - - + + The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. The amount of rotation you wish to perform. The final angle will be the base angle plus this amount. - - + + Pick rotation angle Pick rotation angle @@ -3991,6 +3957,11 @@ The final angle will be the base angle plus this amount. Create fillet 建立圓角 + + + Polygon + 多邊形 + Create Polygon (Part) @@ -4017,45 +3988,50 @@ The final angle will be the base angle plus this amount. Select objects to trim or extend - + Pick distance Pick distance - + Offset angle Offset angle - + Unable to trim these objects, only Draft wires and arcs are supported. Unable to trim these objects, only Draft wires and arcs are supported. - + Unable to trim these objects, too many wires Unable to trim these objects, too many wires - + These objects don't intersect. These objects don't intersect. - + Too many intersection points. Too many intersection points. + + + B-Spline + B-Spline + Spline has been closed Spline has been closed + + - - Last point has been removed Last point has been removed @@ -4189,32 +4165,47 @@ The final angle will be the base angle plus this amount. Endpoint of BezCurve can't be smoothed - - + + Bézier curve + Bézier curve + + + + Bézier curve has been closed Bézier curve has been closed - - + + Create BezCurve Create BezCurve - - + + Cubic Bézier curve + Cubic Bézier curve + + + + Click and drag to define next knot Click and drag to define next knot - - + + Ellipse + 橢圓 + + + + Create Ellipse Create Ellipse - - + + Pick opposite point Pick opposite point @@ -4239,34 +4230,34 @@ The final angle will be the base angle plus this amount. Pick reference distance from base point - - - + + + Scale 縮放 - + Some subelements could not be scaled. Some subelements could not be scaled. - + Unable to scale object: Unable to scale object: - + Unable to scale objects: Unable to scale objects: - + This object type cannot be scaled directly. Please use the clone method. This object type cannot be scaled directly. Please use the clone method. - + Pick new distance from base point Pick new distance from base point @@ -4307,26 +4298,31 @@ The final angle will be the base angle plus this amount. Toggle display mode Toggle display mode + + + Dimension + 標註 + - + Create Dimension 建立標註 - + Create Dimension (radial) Create Dimension (radial) - + Edge too short! Edge too short! - + Edges don't intersect! Edges don't intersect! @@ -4341,37 +4337,42 @@ The final angle will be the base angle plus this amount. Pick first point of selection rectangle - + Pick opposite point of selection rectangle Pick opposite point of selection rectangle - + Pick start point of displacement Pick start point of displacement - + Pick end point of displacement Pick end point of displacement - + Turning one Rectangle into a Wire Turning one Rectangle into a Wire - + Stretch Stretch - + + Rectangle + 矩形 + + + Create Plane Create Plane - + Create Rectangle Create Rectangle @@ -4412,8 +4413,8 @@ The final angle will be the base angle plus this amount. Change slope - + Select an object to upgrade Select an object to upgrade @@ -4468,41 +4469,41 @@ The final angle will be the base angle plus this amount. Downgrade - - + + Task panel: Task panel: + - Polar array Polar array - - + + At least one element must be selected. At least one element must be selected. - - + + Selection is not suitable for array. Selection is not suitable for array. - - - - + + + + Object: Object: @@ -4522,22 +4523,22 @@ The final angle will be the base angle plus this amount. The angle is below -360 degrees. It is set to this value to proceed. - + Center reset: Center reset: - - + + Fuse: Fuse: - - + + Create Link array: Create Link array: @@ -4552,24 +4553,24 @@ The final angle will be the base angle plus this amount. Polar angle: - + Center of rotation: Center of rotation: - - + + Aborted: Aborted: + - Orthogonal array Orthogonal array @@ -4634,11 +4635,11 @@ The final angle will be the base angle plus this amount. 預設 + - Circular array Circular array @@ -4688,12 +4689,22 @@ The final angle will be the base angle plus this amount. Symmetry parameter: - + + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties + + + + changed 'Tracking' property type + changed 'Tracking' property type + + + ShapeString: string has no wires ShapeString: string has no wires - + ShapeString: face creation failed for one character ShapeString: face creation failed for one character @@ -4763,12 +4774,12 @@ The final angle will be the base angle plus this amount. added property 'ExtraPlacement' - + No shape found No shape found - + All Shapes must be planar All Shapes must be planar @@ -4871,22 +4882,19 @@ The final angle will be the base angle plus this amount. Map mode: + + + - - - Wrong input: must be a number. Wrong input: must be a number. - - - - + @@ -4896,14 +4904,17 @@ The final angle will be the base angle plus this amount. - + + + + Wrong input: must be a vector. Wrong input: must be a vector. - + Wrong input: must be a list or tuple of strings, or a single string. Wrong input: must be a list or tuple of strings, or a single string. @@ -4930,8 +4941,8 @@ The final angle will be the base angle plus this amount. Input: single value expanded to vector. - + Wrong input: must be an integer number. Wrong input: must be an integer number. @@ -4966,8 +4977,8 @@ The final angle will be the base angle plus this amount. Wrong input: must be a placement, a vector, or a rotation. - + Wrong input: object must not be a list. Wrong input: object must not be a list. @@ -5342,9 +5353,9 @@ The final angle will be the base angle plus this amount. added view property 'TextColor' - - + + renamed 'DisplayMode' options to 'World/Screen' renamed 'DisplayMode' options to 'World/Screen' @@ -5449,6 +5460,11 @@ from menu Tools -> Addon Manager You must choose a base object before using this command You must choose a base object before using this command + + + Fillet + 圓角 + Delete original objects @@ -5460,32 +5476,32 @@ from menu Tools -> Addon Manager Create chamfer - + Save style Save style - + Name of this new style: Name of this new style: - + Warning Warning - + Name exists. Overwrite? Name exists. Overwrite? - + Error: json module not found. Unable to load style Error: json module not found. Unable to load style - + Error: json module not found. Unable to save style Error: json module not found. Unable to save style @@ -5501,21 +5517,21 @@ from menu Tools -> Addon Manager 坡度 - + Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - - + + True 真(True) - - + + False 偽(False) @@ -5596,6 +5612,7 @@ from menu Tools -> Addon Manager + Name 名稱 @@ -5634,6 +5651,71 @@ from menu Tools -> Addon Manager New Layer 新增圖層 + + + Custom + 自訂 + + + + Label + Label + + + + Position + 位置 + + + + Length + 間距 + + + + Area + Area + + + + Volume + 體積 + + + + Tag + 標籤 + + + + Material + 材質 + + + + Label + Position + Label + Position + + + + Label + Length + Label + Length + + + + Label + Area + Label + Area + + + + Label + Volume + Label + Volume + + + + Label + Material + Label + Material + importOCA @@ -5761,12 +5843,12 @@ will be used to provide information to the label. Draft_Wire - + Polyline Polyline - + Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. @@ -6072,12 +6154,12 @@ CTRL to snap, SHIFT to constrain. Draft_Arc_3Points - + Arc by 3 points Arc by 3 points - + Creates a circular arc by picking 3 points. CTRL to snap, SHIFT to constrain. Creates a circular arc by picking 3 points. @@ -6087,12 +6169,12 @@ CTRL to snap, SHIFT to constrain. Draft_ArcTools - + Arc tools Arc tools - + Create various types of circular arcs. Create various types of circular arcs. @@ -6461,12 +6543,12 @@ CTRL to snap, SHIFT to constrain. Draft_CubicBezCurve - + Cubic Bézier curve Cubic Bézier curve - + Creates a Bézier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. @@ -6478,12 +6560,12 @@ CTRL to snap, SHIFT to constrain. Draft_BezierTools - + Bézier tools Bézier tools - + Create various types of Bézier curves. Create various types of Bézier curves. @@ -6954,30 +7036,55 @@ It is a list of strings; each element in the list will be displayed in its own l It is a list of strings; each element in the list will be displayed in its own line. - + Text string 文字字串 - + Font file name Font file name - + Height of text Height of text - + + Horizontal and vertical alignment + Horizontal and vertical alignment + + + + Height reference used for justification + Height reference used for justification + + + + Keep left margin and leading white space when justification is left + Keep left margin and leading white space when justification is left + + + + Scale to ensure cap height is equal to size + Scale to ensure cap height is equal to size + + + Inter-character spacing Inter-character spacing - + Fill letters with faces Fill letters with faces + + + Fuse faces if faces overlap, usually not required (can be very slow) + Fuse faces if faces overlap, usually not required (can be very slow) + The base object used by this object @@ -7044,19 +7151,19 @@ set True for fusion or False for compound - + Create a face Create a face + + - - The area of this object The area of this object @@ -7100,8 +7207,8 @@ set True for fusion or False for compound The base object that will be duplicated. - + The object along which the copies will be distributed. It must contain 'Edges'. The object along which the copies will be distributed. It must contain 'Edges'. @@ -7116,9 +7223,9 @@ set True for fusion or False for compound Rotation factor of the twisted array. - - + + Show the individual array elements (only for Link arrays) Show the individual array elements (only for Link arrays) @@ -7247,8 +7354,8 @@ When using a saved style some of the view properties will become read-only; they will only be editable by changing the style through the 'Annotation style editor' tool. - + The base object that will be duplicated The base object that will be duplicated @@ -8051,14 +8158,14 @@ Leave blank for system default. Use 'arch' to force US arch notation - + Arrow size 箭頭尺寸 - + Arrow type 箭頭樣式 diff --git a/src/Mod/Draft/Resources/ui/TaskPanel_OrthoArray.ui b/src/Mod/Draft/Resources/ui/TaskPanel_OrthoArray.ui index a042ef743d..625a2c8c92 100644 --- a/src/Mod/Draft/Resources/ui/TaskPanel_OrthoArray.ui +++ b/src/Mod/Draft/Resources/ui/TaskPanel_OrthoArray.ui @@ -41,7 +41,7 @@ - (Placeholder for the icon) + (Placeholder for the icon) diff --git a/src/Mod/Draft/Resources/ui/TaskPanel_PolarArray.ui b/src/Mod/Draft/Resources/ui/TaskPanel_PolarArray.ui index aed231daff..4d97d5476d 100644 --- a/src/Mod/Draft/Resources/ui/TaskPanel_PolarArray.ui +++ b/src/Mod/Draft/Resources/ui/TaskPanel_PolarArray.ui @@ -41,7 +41,7 @@ - (Placeholder for the icon) + (Placeholder for the icon) diff --git a/src/Mod/Draft/WorkingPlane.py b/src/Mod/Draft/WorkingPlane.py index da0698d7c1..1be1c388cf 100644 --- a/src/Mod/Draft/WorkingPlane.py +++ b/src/Mod/Draft/WorkingPlane.py @@ -40,6 +40,7 @@ import lazy_loader.lazy_loader as lz import FreeCAD import DraftVecUtils from FreeCAD import Vector +from draftutils import utils from draftutils.translate import translate DraftGeomUtils = lz.LazyLoader("DraftGeomUtils", globals(), "DraftGeomUtils") @@ -1312,88 +1313,21 @@ class Plane: plane = Plane +# Compatibility function (V0.22, 2023): def getPlacementFromPoints(points): - """Return a placement from a list of 3 or 4 points. + """Return a placement from a list of 3 or 4 points. The 4th point is no longer used. - With these points a temporary `plane` is defined. - - Then it returns the `Base::Placement` returned from `plane.getPlacement()`. - - Parameters - ---------- - points : list of Base::Vector3 - A list with 3 or 4 points to create a temporary plane - from which to extract the placement. - - The first point is the plane's `position`. - The other two points are used to define the `u` and `v` axes, - as originating from the first point. - - If the fourth point exists, it is used to define the plane's `axis` - as originating from the first point. - If no fourth point is provided, the cross product bewtween - the previously defined `u` and `v` is used as `axis`. - - Return - ------ - Base::Placement - A placement obtained from the temporary plane - defined by `points`, - or `None` is it fails to use the points. - - See Also - -------- - getPlacement + Calls DraftGeomUtils.placement_from_points(). See there. """ - pl = plane() - try: - pl.position = points[0] - pl.u = (points[1].sub(points[0]).normalize()) - pl.v = (points[2].sub(points[0]).normalize()) - if len(points) == 4: - pl.axis = (points[3].sub(points[0]).normalize()) - else: - pl.axis = ((pl.u).cross(pl.v)).normalize() - except Exception: - return None - p = pl.getPlacement() - del pl - return p + utils.use_instead("DraftGeomUtils.placement_from_points") + return DraftGeomUtils.placement_from_points(*points[:3]) +# Compatibility function (V0.22, 2023): def getPlacementFromFace(face, rotated=False): """Return a placement from a face. - It creates a temporary `plane` and uses `alignToFace(face)` - to set its orientation. - - Then it returns the `Base::Placement` returned - from `plane.getPlacement(rotated)`. - - Parameter - --------- - face : Part.Face - A shape of type `'Face'`. - rotated : bool, optional - It defaults to `False`. If it is `True`, the temporary plane - switches `axis` with `-v` to produce a rotated placement. - - Returns - ------- - Base::Placement - A placement obtained from the temporary plane - defined by `face`, - or `None` if it fails to use `face`. - - See Also - -------- - alignToFace, getPlacement + Calls DraftGeomUtils.placement_from_face(). See there. """ - pl = plane() - try: - pl.alignToFace(face) - except Exception: - return None - p = pl.getPlacement(rotated) - del pl - return p + utils.use_instead("DraftGeomUtils.placement_from_face") + return DraftGeomUtils.placement_from_face(face, rotated=rotated) diff --git a/src/Mod/Draft/draftfunctions/move.py b/src/Mod/Draft/draftfunctions/move.py index 8b64e7679b..0244596d09 100644 --- a/src/Mod/Draft/draftfunctions/move.py +++ b/src/Mod/Draft/draftfunctions/move.py @@ -71,7 +71,7 @@ def move(objectslist, vector, copy=False): doc = App.ActiveDocument for obj in objectslist: if obj.isDerivedFrom("App::DocumentObjectGroup") \ - and obj.Name not in newgroups.keys(): + and obj.Name not in newgroups: newgroups[obj.Name] = doc.addObject(obj.TypeId, utils.get_real_name(obj.Name)) diff --git a/src/Mod/Draft/draftfunctions/rotate.py b/src/Mod/Draft/draftfunctions/rotate.py index 49b5114fce..c416601a0a 100644 --- a/src/Mod/Draft/draftfunctions/rotate.py +++ b/src/Mod/Draft/draftfunctions/rotate.py @@ -80,7 +80,7 @@ def rotate(objectslist, angle, center=App.Vector(0, 0, 0), doc = App.ActiveDocument for obj in objectslist: if obj.isDerivedFrom("App::DocumentObjectGroup") \ - and obj.Name not in newgroups.keys(): + and obj.Name not in newgroups: newgroups[obj.Name] = doc.addObject(obj.TypeId, utils.get_real_name(obj.Name)) diff --git a/src/Mod/Draft/draftfunctions/svgshapes.py b/src/Mod/Draft/draftfunctions/svgshapes.py index b3bfcf83fd..33df138a70 100644 --- a/src/Mod/Draft/draftfunctions/svgshapes.py +++ b/src/Mod/Draft/draftfunctions/svgshapes.py @@ -120,7 +120,7 @@ def getDiscretized(edge, plane): return get_discretized(edge, plane) -def _get_path_circ_ellipse(plane, edge, vertex, edata, +def _get_path_circ_ellipse(plane, edge, verts, edata, iscircle, isellipse, fill, stroke, linewidth, lstyle): """Get the edge data from a path that is a circle or ellipse.""" @@ -184,9 +184,9 @@ def _get_path_circ_ellipse(plane, edge, vertex, edata, # Difference in angles _diff = (center.LastParameter - center.FirstParameter)/2.0 endpoints = [get_proj(center.value(_diff), plane), - get_proj(vertex[-1].Point, plane)] + get_proj(verts[-1].Point, plane)] else: - endpoints = [get_proj(vertex[-1].Point, plane)] + endpoints = [get_proj(verts[-1].Point, plane)] # Arc with more than one vertex if iscircle: @@ -378,30 +378,33 @@ def get_path(obj, plane, wire.fixWire() egroups.append(Part.__sortEdges__(wire.Edges)) - for _, _edges in enumerate(egroups): + for _edges in egroups: edata = "" - vertex = () # skipped for the first edge for edgeindex, edge in enumerate(_edges): - previousvs = vertex - # vertexes of an edge (reversed if needed) - vertex = edge.Vertexes - if previousvs: - if (vertex[0].Point - previousvs[-1].Point).Length > 1e-6: - vertex.reverse() - if edgeindex == 0: - v = get_proj(vertex[0].Point, plane) + verts = edge.Vertexes + if len(_edges) > 1: + last_pt = verts[-1].Point + nextverts = _edges[1].Vertexes + if (last_pt - nextverts[0].Point).Length > 1e-6 \ + and (last_pt - nextverts[-1].Point).Length > 1e-6: + verts.reverse() + v = get_proj(verts[0].Point, plane) edata += 'M {} {} '.format(v.x, v.y) else: - if (vertex[0].Point - previousvs[-1].Point).Length > 1e-6: - raise ValueError('edges not ordered') + previousverts = verts + verts = edge.Vertexes + if (verts[0].Point - previousverts[-1].Point).Length > 1e-6: + verts.reverse() + if (verts[0].Point - previousverts[-1].Point).Length > 1e-6: + raise ValueError('edges not ordered') iscircle = DraftGeomUtils.geomType(edge) == "Circle" isellipse = DraftGeomUtils.geomType(edge) == "Ellipse" if iscircle or isellipse: - _type, data = _get_path_circ_ellipse(plane, edge, vertex, + _type, data = _get_path_circ_ellipse(plane, edge, verts, edata, iscircle, isellipse, fill, stroke, @@ -413,7 +416,7 @@ def get_path(obj, plane, # else the `edata` was properly augmented, so re-assing it edata = data elif DraftGeomUtils.geomType(edge) == "Line": - v = get_proj(vertex[-1].Point, plane) + v = get_proj(verts[-1].Point, plane) edata += 'L {} {} '.format(v.x, v.y) else: # If it's not a circle nor ellipse nor straight line diff --git a/src/Mod/Draft/draftgeoutils/geometry.py b/src/Mod/Draft/draftgeoutils/geometry.py index 0ead657198..4b5fd89d2d 100644 --- a/src/Mod/Draft/draftgeoutils/geometry.py +++ b/src/Mod/Draft/draftgeoutils/geometry.py @@ -517,6 +517,136 @@ def mirror(point, edge): return None +def uv_vectors_from_face(face, vec_z=App.Vector(0, 0, 1), tol=-1): + """Return the u and v vectors of a planar face. + + It is up to the calling function to ensure the face is planar. + + If the u vector matches +/-vec_z, or the v vector matches -vec_z, the + vectors are rotated to ensure the v vector matches +vec_z. + + face: Part.Face + Face. + vec_z: Base::Vector3, optional + Defaults to Vector(0, 0, 1). + Z axis vector used for reference. + Is replaced by Vector(0, 0, 1) if it matches the +/-normal of the face. + tol: float, optional + Defaults to -1. + Internal tolerance. 1e-7 is used if tol <=0. + + Return + ------ + tuple + U and v vector (Base::Vector3). + """ + err = 1e-7 if tol <= 0 else tol + if not vec_z.isEqual(App.Vector(0, 0, 1), err): + nor = face.normalAt(0, 0) + if vec_z.isEqual(nor, err) or vec_z.isEqual(nor.negative(), err): + vec_z = App.Vector(0, 0, 1) + vec_u, vec_v = face.tangentAt(0, 0) + if face.Orientation == "Reversed": + vec_u, vec_v = vec_v, vec_u + if vec_v.isEqual(vec_z.negative(), err): + vec_u, vec_v = vec_u.negative(), vec_v.negative() + elif vec_u.isEqual(vec_z, err): + vec_u, vec_v = vec_v.negative(), vec_u + elif vec_u.isEqual(vec_z.negative(), err): + vec_u, vec_v = vec_v, vec_u.negative() + return vec_u, vec_v + + +def placement_from_face(face, vec_z=App.Vector(0, 0, 1), rotated=False, tol=-1): + """Return a placement from the center of gravity, and the u and v vectors of a planar face. + + It is up to the calling function to ensure the face is planar. + + Parameters + ---------- + face: Part.Face + Face. + vec_z: Base::Vector3, optional + Defaults to Vector(0, 0, 1). + Z axis vector used for reference. + Is replaced by Vector(0, 0, 1) if it matches the +/-normal of the face. + rotated: bool, optional + Defaults to `False`. + If `False` the v vector of the face defines the Y axis of the placement. + If `True` the -v vector of the face defines the Z axis of the placement + (used by Arch_Window). + The u vector defines the X axis in both cases. + tol: float, optional + Defaults to -1. + Internal tolerance. 1e-7 is used if tol <=0. + + Return + ------ + Base::Placement + + See also + -------- + DraftGeomUtils.uv_vectors_from_face + """ + pt_pos = face.CenterOfGravity + vec_u, vec_v = uv_vectors_from_face(face, vec_z, tol) + if rotated: + return App.Placement(pt_pos, App.Rotation(vec_u, App.Vector(), vec_v.negative(), "XZY")) + else: + return App.Placement(pt_pos, App.Rotation(vec_u, vec_v, App.Vector(), "XYZ")) + + +def placement_from_points(pt_pos, pt_x, pt_y, as_vectors=False, tol=-1): + """Return a placement from 3 points defining an origin, an X axis and a Y axis. + + If the vectors calculated from the arguments are too short or parallel, + the returned placement will have a default rotation. + + Parameters + ---------- + pt_pos: Base::Vector3 + Origin (Base of Placement). + pt_x: Base::Vector3 + Point on positive X axis. Or X axis vector if as_vectors is `True`. + pt_y: Base::Vector3 + Point on positive Y axis. Or Y axis vector if as_vectors is `True`. + as_vectors: bool, optional + Defaults to `False`. + If `True` treat pt_x and pt_y as axis vectors. + tol: float, optional + Defaults to -1. + Internal tolerance. 1e-7 is used if tol <=0. + + Return + ------ + Base::Placement + + See also + -------- + DraftGeomUtils.getRotation + DraftVecUtils.getRotation + """ + err = 1e-7 if tol <= 0 else tol + if as_vectors is False: + vec_u = pt_x - pt_pos + vec_v = pt_y - pt_pos + else: + vec_u = App.Vector(pt_x) + vec_v = App.Vector(pt_y) + + if vec_u.Length < err or vec_v.Length < err: + rot = App.Rotation() + else: + vec_u.normalize() + vec_v.normalize() + if vec_u.isEqual(vec_v, err) or vec_u.isEqual(vec_v.negative(), err): + rot = App.Rotation() + else: + rot = App.Rotation(vec_u, vec_v, App.Vector(), "XYZ") + + return App.Placement(pt_pos, rot) + + #compatibility layer getSplineNormal = get_spline_normal diff --git a/src/Mod/Draft/draftguitools/gui_annotationstyleeditor.py b/src/Mod/Draft/draftguitools/gui_annotationstyleeditor.py index 8c9460ab93..8a3b9c2c4f 100644 --- a/src/Mod/Draft/draftguitools/gui_annotationstyleeditor.py +++ b/src/Mod/Draft/draftguitools/gui_annotationstyleeditor.py @@ -183,12 +183,12 @@ class AnnotationStyleEditor(gui_base.GuiCommandSimplest): # empty annotation styles list pass else: - if vobj.AnnotationStyle in self.renamed.keys(): + if vobj.AnnotationStyle in self.renamed: # the style has been renamed # temporarily add the new style and switch to it vobj.AnnotationStyle = vobj.AnnotationStyle + [self.renamed[vobj.AnnotationStyle]] vobj.AnnotationStyle = self.renamed[vobj.AnnotationStyle] - if vobj.AnnotationStyle in styles.keys(): + if vobj.AnnotationStyle in styles: if vobj.AnnotationStyle in changedstyles: # the style has changed for attr, value in styles[vobj.AnnotationStyle].items(): @@ -202,7 +202,7 @@ class AnnotationStyleEditor(gui_base.GuiCommandSimplest): else: # the style has been removed vobj.AnnotationStyle = "" - vobj.AnnotationStyle = [""] + list(styles.keys()) + vobj.AnnotationStyle = [""] + list(styles) def on_style_changed(self, index): """Execute as a callback when the styles combobox changes.""" diff --git a/src/Mod/Draft/draftguitools/gui_arcs.py b/src/Mod/Draft/draftguitools/gui_arcs.py index eb3d5f4e6c..a7d458741f 100644 --- a/src/Mod/Draft/draftguitools/gui_arcs.py +++ b/src/Mod/Draft/draftguitools/gui_arcs.py @@ -68,7 +68,7 @@ class Arc(gui_base_original.Creator): def Activated(self): """Execute when the command is called.""" - super(Arc, self).Activated(name=self.featureName) + super().Activated(name=self.featureName) if self.ui: self.step = 0 self.center = None @@ -96,7 +96,7 @@ class Arc(gui_base_original.Creator): Restart (continue) the command if `True`, or if `None` and `ui.continueMode` is `True`. """ - super(Arc, self).finish() + super().finish() if self.ui: self.linetrack.finalize() self.arctrack.finalize() @@ -142,7 +142,6 @@ class Arc(gui_base_original.Creator): from the 3D view. """ import DraftGeomUtils - plane = App.DraftWorkingPlane if arg["Type"] == "SoKeyboardEvent": if arg["Key"] == "ESCAPE": @@ -152,7 +151,7 @@ class Arc(gui_base_original.Creator): # this is to make sure radius is what you see on screen if self.center and DraftVecUtils.dist(self.point, self.center) > 0: viewdelta = DraftVecUtils.project(self.point.sub(self.center), - plane.axis) + self.wp.axis) if not DraftVecUtils.isNull(viewdelta): self.point = self.point.add(viewdelta.negative()) if self.step == 0: # choose center @@ -210,7 +209,7 @@ class Arc(gui_base_original.Creator): elif (self.step == 2): # choose first angle currentrad = DraftVecUtils.dist(self.point, self.center) if currentrad != 0: - angle = DraftVecUtils.angle(plane.u, self.point.sub(self.center), plane.axis) + angle = DraftVecUtils.angle(self.wp.u, self.point.sub(self.center), self.wp.axis) else: angle = 0 self.linetrack.p2(DraftVecUtils.scaleTo(self.point.sub(self.center), self.rad).add(self.center)) @@ -220,7 +219,7 @@ class Arc(gui_base_original.Creator): # choose second angle currentrad = DraftVecUtils.dist(self.point, self.center) if currentrad != 0: - angle = DraftVecUtils.angle(plane.u, self.point.sub(self.center), plane.axis) + angle = DraftVecUtils.angle(self.wp.u, self.point.sub(self.center), self.wp.axis) else: angle = 0 self.linetrack.p2(DraftVecUtils.scaleTo(self.point.sub(self.center), self.rad).add(self.center)) @@ -417,7 +416,6 @@ class Arc(gui_base_original.Creator): when a valid radius has been entered in the input field. """ import DraftGeomUtils - plane = App.DraftWorkingPlane if self.step == 1: self.rad = rad @@ -455,11 +453,11 @@ class Arc(gui_base_original.Creator): self.ui.labelRadius.setText(translate("draft", "Aperture angle")) self.ui.radiusValue.setToolTip(translate("draft", "Aperture angle")) self.firstangle = math.radians(rad) - if DraftVecUtils.equals(plane.axis, App.Vector(1, 0, 0)): + if DraftVecUtils.equals(self.wp.axis, App.Vector(1, 0, 0)): u = App.Vector(0, self.rad, 0) else: - u = DraftVecUtils.scaleTo(App.Vector(1, 0, 0).cross(plane.axis), self.rad) - urotated = DraftVecUtils.rotate(u, math.radians(rad), plane.axis) + u = DraftVecUtils.scaleTo(App.Vector(1, 0, 0).cross(self.wp.axis), self.rad) + urotated = DraftVecUtils.rotate(u, math.radians(rad), self.wp.axis) self.arctrack.setStartAngle(self.firstangle) self.step = 3 self.ui.radiusValue.setText("") @@ -479,7 +477,7 @@ class Arc_3Points(gui_base.GuiCommandSimplest): """GuiCommand for the Draft_Arc_3Points tool.""" def __init__(self): - super(Arc_3Points, self).__init__(name="Arc by 3 points") + super().__init__(name="Arc by 3 points") def GetResources(self): """Set icon, menu and tooltip.""" @@ -490,7 +488,7 @@ class Arc_3Points(gui_base.GuiCommandSimplest): def Activated(self): """Execute when the command is called.""" - super(Arc_3Points, self).Activated() + super().Activated() # Reset the values self.points = [] diff --git a/src/Mod/Draft/draftguitools/gui_base.py b/src/Mod/Draft/draftguitools/gui_base.py index fd1b3ab9ee..abacacfbdf 100644 --- a/src/Mod/Draft/draftguitools/gui_base.py +++ b/src/Mod/Draft/draftguitools/gui_base.py @@ -35,8 +35,6 @@ import draftutils.todo as todo from draftutils.messages import _msg, _log -__metaclass__ = type # to support Python 2 use of `super()` - class GuiCommandSimplest: """Simplest base class for GuiCommands. diff --git a/src/Mod/Draft/draftguitools/gui_base_original.py b/src/Mod/Draft/draftguitools/gui_base_original.py index 1b58a33d9b..3d4ffc8403 100644 --- a/src/Mod/Draft/draftguitools/gui_base_original.py +++ b/src/Mod/Draft/draftguitools/gui_base_original.py @@ -44,16 +44,12 @@ import draftguitools.gui_tool_utils as gui_tool_utils from draftutils.messages import _msg, _log -__metaclass__ = type # to support Python 2 use of `super()` - class DraftTool: """The base class of all Draft Tools. This is the original class that was defined in `DraftTools.py` before any re-organization of the code. - It must be preserved exactly like this to keep the original tools - running without problems. This class is subclassed by `Creator` and `Modifier` to set up a few additional properties of these two types. @@ -84,7 +80,7 @@ class DraftTool: else: return False - def Activated(self, name="None", noplanesetup=False, is_subtool=False): + def Activated(self, name="None", is_subtool=False): """Execute when the command is called. If an active Gui Command exists, it will call the `finish` method @@ -100,11 +96,6 @@ class DraftTool: It defaults to `'None'`. It is the `featureName` of the object, to know what is being run. - noplanesetup: bool, optional - It defaults to `False`. - If it is `False` it will set up the working plane - by running `App.DraftWorkingPlane.setup()`. - is_subtool: bool, optional It defaults to `False`. This is set to `True` when we want to modify an object @@ -115,6 +106,7 @@ class DraftTool: """ if App.activeDraftCommand and not is_subtool: App.activeDraftCommand.finish() + App.activeDraftCommand = self # The Part module is first initialized when using any Gui Command # for the first time. @@ -122,28 +114,23 @@ class DraftTool: import Part import DraftGeomUtils - self.ui = None self.call = None - self.support = None - self.point = None self.commitList = [] - self.doc = App.ActiveDocument - if not self.doc: - self.finish() - return - - App.activeDraftCommand = self - self.view = gui_utils.get_3d_view() - self.ui = Gui.draftToolBar - self.featureName = name - self.ui.sourceCmd = self - if not noplanesetup: - App.DraftWorkingPlane.setup() - self.node = [] - self.pos = [] self.constrain = None - self.obj = None + self.doc = App.ActiveDocument self.extendedCopy = False + self.featureName = name + self.node = [] + self.obj = None + self.point = None + self.pos = [] + self.support = None + self.ui = Gui.draftToolBar + self.ui.sourceCmd = self + self.view = gui_utils.get_3d_view() + self.wp = App.DraftWorkingPlane + self.wp.setup() + self.planetrack = None if utils.get_param("showPlaneTracker", False): self.planetrack = trackers.PlaneTracker() @@ -179,7 +166,7 @@ class DraftTool: self.ui.sourceCmd = None if self.planetrack: self.planetrack.finalize() - App.DraftWorkingPlane.restore() + self.wp.restore() if hasattr(Gui, "Snapper"): Gui.Snapper.off() if self.call: @@ -231,7 +218,7 @@ class DraftTool: of the current tool """ # Current plane rotation as a string - p = App.DraftWorkingPlane.getRotation() + p = self.wp.getRotation() qr = p.Rotation.Q qr = "({0}, {1}, {2}, {3})".format(qr[0], qr[1], qr[2], qr[3]) @@ -264,18 +251,11 @@ class DraftTool: class Creator(DraftTool): """A generic Creator tool, used by creation tools such as line or arc. - It runs the Activated method from the parent class. - If `noplanesetup` is `False`, it sets the appropriate `support` attribute - and sets the working plane with `gui_tool_utils.get_support`. - It inherits `DraftTool`, which sets up the majority of the behavior of this class. """ - def __init__(self): - super(Creator, self).__init__() - - def Activated(self, name="None", noplanesetup=False): + def Activated(self, name="None"): """Execute when the command is called. Parameters @@ -283,15 +263,11 @@ class Creator(DraftTool): name: str, optional It defaults to `'None'`. It is the `featureName` of the object, to know what is being run. - - noplanesetup: bool, optional - It defaults to `False`. - If it is `False` it will set up the working plane - by running `App.DraftWorkingPlane.setup()`. """ - super(Creator, self).Activated(name, noplanesetup) - if not noplanesetup: - self.support = gui_tool_utils.get_support() + super().Activated(name) + # call self.wp.save to sync with self.wp.restore called in finish method + self.wp.save() + self.support = gui_tool_utils.get_support() class Modifier(DraftTool): @@ -305,12 +281,11 @@ class Modifier(DraftTool): """ def __init__(self): - super(Modifier, self).__init__() + super().__init__() self.copymode = False - def Activated(self, name="None", noplanesetup=False, is_subtool=False): - super(Modifier, self).Activated(name, noplanesetup, is_subtool) - # call DraftWorkingPlane.save to sync with - # DraftWorkingPlane.restore called in finish method - App.DraftWorkingPlane.save() + def Activated(self, name="None", is_subtool=False): + super().Activated(name, is_subtool) + # call self.wp.save to sync with self.wp.restore called in finish method + self.wp.save() ## @} diff --git a/src/Mod/Draft/draftguitools/gui_beziers.py b/src/Mod/Draft/draftguitools/gui_beziers.py index 2cef26cdb3..c55f9e399c 100644 --- a/src/Mod/Draft/draftguitools/gui_beziers.py +++ b/src/Mod/Draft/draftguitools/gui_beziers.py @@ -71,7 +71,8 @@ class BezCurve(gui_lines.Line): Activate the specific Bézier curve tracker. """ super(BezCurve, self).Activated(name="BezCurve", - icon="Draft_BezCurve") + icon="Draft_BezCurve", + task_title=translate("draft","Bézier curve")) if self.doc: self.bezcurvetrack = trackers.bezcurveTracker() @@ -261,7 +262,8 @@ class CubicBezCurve(gui_lines.Line): param.SetBool("EnableSelection", False) super(CubicBezCurve, self).Activated(name="CubicBezCurve", - icon="Draft_CubicBezCurve") + icon="Draft_CubicBezCurve", + task_title=translate("draft","Cubic Bézier curve")) if self.doc: self.bezcurvetrack = trackers.bezcurveTracker() diff --git a/src/Mod/Draft/draftguitools/gui_dimensions.py b/src/Mod/Draft/draftguitools/gui_dimensions.py index ff097293a7..dd0f8e5891 100644 --- a/src/Mod/Draft/draftguitools/gui_dimensions.py +++ b/src/Mod/Draft/draftguitools/gui_dimensions.py @@ -90,15 +90,15 @@ class Dimension(gui_base_original.Creator): if self.cont: self.finish() elif self.selected_app_measure(): - super(Dimension, self).Activated(name="Dimension") + super().Activated(name="Dimension") self.dimtrack = trackers.dimTracker() self.arctrack = trackers.arcTracker() self.create_with_app_measure() self.finish() else: - super(Dimension, self).Activated(name="Dimension") + super().Activated(name="Dimension") if self.ui: - self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Dimension") + self.ui.pointUi(title=translate("draft", "Dimension"), icon="Draft_Dimension") self.ui.continueCmd.show() self.ui.selectButton.show() self.altdown = False @@ -176,7 +176,7 @@ class Dimension(gui_base_original.Creator): """Terminate the operation.""" self.cont = None self.dir = None - super(Dimension, self).finish() + super().finish() if self.ui: self.dimtrack.finalize() self.arctrack.finalize() @@ -184,7 +184,7 @@ class Dimension(gui_base_original.Creator): def angle_dimension_normal(self, edge1, edge2): rot = App.Rotation(DraftGeomUtils.vec(edge1), DraftGeomUtils.vec(edge2), - App.DraftWorkingPlane.getNormal(), + self.wp.axis, "XYZ") norm = rot.multVec(App.Vector(0, 0, 1)) vnorm = gui_utils.get_3d_view().getViewDirection() @@ -280,9 +280,8 @@ class Dimension(gui_base_original.Creator): _cmd += ')' _cmd_list = ['_dim_ = ' + _cmd] - plane = App.DraftWorkingPlane - dir_u = DraftVecUtils.toString(plane.u) - dir_v = DraftVecUtils.toString(plane.v) + dir_u = DraftVecUtils.toString(self.wp.u) + dir_v = DraftVecUtils.toString(self.wp.v) if direction == "X": _cmd_list += ['_dim_.Direction = ' + dir_u] elif direction == "Y": @@ -581,28 +580,27 @@ class Dimension(gui_base_original.Creator): by projecting on the working plane. """ if not self.proj_point1 or not self.proj_point2: - plane = App.DraftWorkingPlane - self.proj_point1 = plane.projectPoint(self.node[0]) - self.proj_point2 = plane.projectPoint(self.node[1]) - proj_u= plane.u.dot(self.proj_point2 - self.proj_point1) - proj_v= plane.v.dot(self.proj_point2 - self.proj_point1) + self.proj_point1 = self.wp.projectPoint(self.node[0]) + self.proj_point2 = self.wp.projectPoint(self.node[1]) + proj_u= self.wp.u.dot(self.proj_point2 - self.proj_point1) + proj_v= self.wp.v.dot(self.proj_point2 - self.proj_point1) active_view = Gui.ActiveDocument.ActiveView cursor = active_view.getCursorPos() cursor_point = active_view.getPoint(cursor) - self.point = plane.projectPoint(cursor_point) + self.point = self.wp.projectPoint(cursor_point) if not self.force: ref_point = self.point - (self.proj_point2 + self.proj_point1)*1/2 - ref_angle = abs(ref_point.getAngle(plane.u)) + ref_angle = abs(ref_point.getAngle(self.wp.u)) if (ref_angle > math.pi/4) and (ref_angle <= 0.75*math.pi): self.force = 2 else: self.force = 1 if self.force == 1: self.node[0] = self.proj_point1 - self.node[1] = self.proj_point1 + plane.v*proj_v + self.node[1] = self.proj_point1 + self.wp.v*proj_v elif self.force == 2: self.node[0] = self.proj_point1 - self.node[1] = self.proj_point1 + plane.u*proj_u + self.node[1] = self.proj_point1 + self.wp.u*proj_u Gui.addCommand('Draft_Dimension', Dimension()) diff --git a/src/Mod/Draft/draftguitools/gui_edit.py b/src/Mod/Draft/draftguitools/gui_edit.py index c62650eea4..3425a9063b 100644 --- a/src/Mod/Draft/draftguitools/gui_edit.py +++ b/src/Mod/Draft/draftguitools/gui_edit.py @@ -750,7 +750,7 @@ class Edit(gui_base_original.Modifier): """ if (hasattr(obj, 'obj_gui_tools') or (hasattr(obj, 'Proxy') and hasattr(obj.Proxy, 'obj_gui_tools')) or - (utils.get_type(obj) in self.gui_tools_repository.keys()) ): + (utils.get_type(obj) in self.gui_tools_repository) ): return True else: return False diff --git a/src/Mod/Draft/draftguitools/gui_ellipses.py b/src/Mod/Draft/draftguitools/gui_ellipses.py index 9411703294..1deec0160a 100644 --- a/src/Mod/Draft/draftguitools/gui_ellipses.py +++ b/src/Mod/Draft/draftguitools/gui_ellipses.py @@ -61,10 +61,10 @@ class Ellipse(gui_base_original.Creator): def Activated(self): """Execute when the command is called.""" - super(Ellipse, self).Activated(name="Ellipse") + super().Activated(name="Ellipse") if self.ui: self.refpoint = None - self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Ellipse") + self.ui.pointUi(title=translate("draft", "Ellipse"), icon="Draft_Ellipse") self.ui.extUi() self.call = self.view.addEventCallback("SoEvent", self.action) self.rect = trackers.rectangleTracker() @@ -79,7 +79,7 @@ class Ellipse(gui_base_original.Creator): Restart (continue) the command if `True`, or if `None` and `ui.continueMode` is `True`. """ - super(Ellipse, self).finish(self) + super().finish(self) if self.ui: self.rect.off() self.rect.finalize() @@ -88,14 +88,13 @@ class Ellipse(gui_base_original.Creator): def createObject(self): """Create the actual object in the current document.""" - plane = App.DraftWorkingPlane p1 = self.node[0] p3 = self.node[-1] diagonal = p3.sub(p1) halfdiag = App.Vector(diagonal).multiply(0.5) center = p1.add(halfdiag) - p2 = p1.add(DraftVecUtils.project(diagonal, plane.v)) - p4 = p1.add(DraftVecUtils.project(diagonal, plane.u)) + p2 = p1.add(DraftVecUtils.project(diagonal, self.wp.v)) + p4 = p1.add(DraftVecUtils.project(diagonal, self.wp.u)) r1 = (p4.sub(p1).Length)/2 r2 = (p2.sub(p1).Length)/2 try: @@ -163,10 +162,7 @@ class Ellipse(gui_base_original.Creator): if arg["Key"] == "ESCAPE": self.finish() elif arg["Type"] == "SoLocation2Event": # mouse movement detection - (self.point, - ctrlPoint, info) = gui_tool_utils.getPoint(self, arg, - mobile=True, - noTracker=True) + self.point, ctrlPoint, info = gui_tool_utils.getPoint(self, arg, noTracker=True) self.rect.update(self.point) gui_tool_utils.redraw3DView() elif arg["Type"] == "SoMouseButtonEvent": @@ -178,10 +174,7 @@ class Ellipse(gui_base_original.Creator): if (not self.node) and (not self.support): gui_tool_utils.getSupport(arg) - (self.point, - ctrlPoint, info) = gui_tool_utils.getPoint(self, arg, - mobile=True, - noTracker=True) + self.point, ctrlPoint, info = gui_tool_utils.getPoint(self, arg, noTracker=True) if self.point: self.ui.redraw() self.pos = arg["Position"] diff --git a/src/Mod/Draft/draftguitools/gui_fillets.py b/src/Mod/Draft/draftguitools/gui_fillets.py index 32f2a0f70a..4b236e961c 100644 --- a/src/Mod/Draft/draftguitools/gui_fillets.py +++ b/src/Mod/Draft/draftguitools/gui_fillets.py @@ -76,7 +76,7 @@ class Fillet(gui_base_original.Creator): tooltip = translate("draft", "Radius of fillet") # Call the task panel defined in DraftGui to enter a radius. - self.ui.taskUi(title=translate("Draft", self.featureName), icon="Draft_Fillet") + self.ui.taskUi(title=translate("Draft", "Fillet"), icon="Draft_Fillet") self.ui.radiusUi() self.ui.sourceCmd = self self.ui.labelRadius.setText(label) diff --git a/src/Mod/Draft/draftguitools/gui_labels.py b/src/Mod/Draft/draftguitools/gui_labels.py index b33889d79a..2faf45e365 100644 --- a/src/Mod/Draft/draftguitools/gui_labels.py +++ b/src/Mod/Draft/draftguitools/gui_labels.py @@ -66,7 +66,7 @@ class Label(gui_base_original.Creator): def Activated(self): """Execute when the command is called.""" - super(Label, self).Activated(name="Label") + super().Activated(name="Label") self.ghost = None self.labeltype = utils.getParam("labeltype", "Custom") self.sel = Gui.Selection.getSelectionEx() @@ -90,7 +90,7 @@ class Label(gui_base_original.Creator): """Finish the command.""" if self.ghost: self.ghost.finalize() - super(Label, self).finish() + super().finish() def create(self): """Create the actual object.""" @@ -99,14 +99,9 @@ class Label(gui_base_original.Creator): basepoint = self.node[2] v = self.node[2].sub(self.node[1]) dist = v.Length - if hasattr(App, "DraftWorkingPlane"): - h = App.DraftWorkingPlane.u - n = App.DraftWorkingPlane.axis - r = App.DraftWorkingPlane.getRotation().Rotation - else: - h = App.Vector(1, 0, 0) - n = App.Vector(0, 0, 1) - r = App.Rotation() + h = self.wp.u + n = self.wp.axis + r = self.wp.getRotation().Rotation if abs(DraftVecUtils.angle(v, h, n)) <= math.pi/4: direction = "Horizontal" diff --git a/src/Mod/Draft/draftguitools/gui_lines.py b/src/Mod/Draft/draftguitools/gui_lines.py index 274ccfe3b3..1489b76622 100644 --- a/src/Mod/Draft/draftguitools/gui_lines.py +++ b/src/Mod/Draft/draftguitools/gui_lines.py @@ -52,7 +52,7 @@ class Line(gui_base_original.Creator): """Gui command for the Line tool.""" def __init__(self, wiremode=False): - super(Line, self).__init__() + super().__init__() self.isWire = wiremode def GetResources(self): @@ -63,18 +63,17 @@ class Line(gui_base_original.Creator): 'MenuText': QT_TRANSLATE_NOOP("Draft_Line", "Line"), 'ToolTip': QT_TRANSLATE_NOOP("Draft_Line", "Creates a 2-point line. CTRL to snap, SHIFT to constrain.")} - def Activated(self, name="Line", icon="Draft_Line"): + def Activated(self, name=QT_TRANSLATE_NOOP("draft", "Line"), icon="Draft_Line", task_title=None): """Execute when the command is called.""" - super(Line, self).Activated(name) - - if not self.doc: - return - self.obj = None # stores the temp shape - self.oldWP = None # stores the WP if we modify it - if self.isWire: - self.ui.wireUi(title=translate("draft", self.featureName), icon=icon) + super().Activated(name) + if task_title is None: + title = translate("draft", name) else: - self.ui.lineUi(title=translate("draft", self.featureName), icon=icon) + title = task_title + if self.isWire: + self.ui.wireUi(title=title, icon=icon) + else: + self.ui.lineUi(title=title, icon=icon) self.obj = self.doc.addObject("Part::Feature", self.featureName) gui_utils.format_object(self.obj) @@ -136,12 +135,6 @@ class Line(gui_base_original.Creator): Close the line if `True`. """ self.removeTemporaryObject() - if self.oldWP: - App.DraftWorkingPlane.setFromParameters(self.oldWP) - if hasattr(Gui, "Snapper"): - Gui.Snapper.setGrid(tool=True) - Gui.Snapper.restack() - self.oldWP = None if len(self.node) > 1: Gui.addModule("Draft") @@ -188,7 +181,10 @@ class Line(gui_base_original.Creator): 'FreeCAD.ActiveDocument.recompute()'] self.commit(translate("draft", "Create Wire"), _cmd_list) - super(Line, self).finish() + super().finish() + if hasattr(Gui, "Snapper"): + Gui.Snapper.setGrid(tool=True) + Gui.Snapper.restack() if cont or (cont is None and self.ui and self.ui.continueMode): self.Activated() @@ -256,23 +252,19 @@ class Line(gui_base_original.Creator): def orientWP(self): """Orient the working plane.""" - import DraftGeomUtils - if hasattr(App, "DraftWorkingPlane"): - if len(self.node) > 1 and self.obj: - n = DraftGeomUtils.getNormal(self.obj.Shape) - if not n: - n = App.DraftWorkingPlane.axis - p = self.node[-1] - v = self.node[-2].sub(self.node[-1]) - v = v.negative() - if not self.oldWP: - self.oldWP = App.DraftWorkingPlane.getParameters() - App.DraftWorkingPlane.alignToPointAndAxis(p, n, upvec=v) - if hasattr(Gui, "Snapper"): - Gui.Snapper.setGrid() - Gui.Snapper.restack() - if self.planetrack: - self.planetrack.set(self.node[-1]) + if len(self.node) > 1 and self.obj: + import DraftGeomUtils + n = DraftGeomUtils.getNormal(self.obj.Shape) + if not n: + n = self.wp.axis + p = self.node[-1] + v = self.node[-1].sub(self.node[-2]) + self.wp.alignToPointAndAxis(p, n, upvec=v) + if hasattr(Gui, "Snapper"): + Gui.Snapper.setGrid() + Gui.Snapper.restack() + if self.planetrack: + self.planetrack.set(self.node[-1]) def numericInput(self, numx, numy, numz): """Validate the entry fields in the user interface. @@ -300,7 +292,7 @@ class Wire(Line): """ def __init__(self): - super(Wire, self).__init__(wiremode=True) + super().__init__(wiremode=True) def GetResources(self): """Set icon, menu and tooltip.""" @@ -359,8 +351,9 @@ class Wire(Line): # If there was no selection or the selection was just one object # then we proceed with the normal line creation functions, # only this time we will be able to input more than two points - super(Wire, self).Activated(name="Polyline", - icon="Draft_Wire") + super().Activated(name="Polyline", + icon="Draft_Wire", + task_title=translate("draft", "Polyline")) Gui.addCommand('Draft_Wire', Wire()) diff --git a/src/Mod/Draft/draftguitools/gui_offset.py b/src/Mod/Draft/draftguitools/gui_offset.py index 9c085a5680..b911e41afb 100644 --- a/src/Mod/Draft/draftguitools/gui_offset.py +++ b/src/Mod/Draft/draftguitools/gui_offset.py @@ -69,7 +69,7 @@ class Offset(gui_base_original.Modifier): def Activated(self): """Execute when the command is called.""" self.running = False - super(Offset, self).Activated(name="Offset") + super().Activated(name="Offset") self.ghost = None self.linetrack = None self.arctrack = None @@ -160,7 +160,6 @@ class Offset(gui_base_original.Modifier): from the 3D view. """ import DraftGeomUtils - plane = App.DraftWorkingPlane if arg["Type"] == "SoKeyboardEvent": if arg["Key"] == "ESCAPE": @@ -183,8 +182,8 @@ class Offset(gui_base_original.Modifier): self.point) v2 = DraftGeomUtils.getTangent(self.shape.Edges[dist[1]], self.point) - a = -DraftVecUtils.angle(v1, v2, plane.axis) - self.dvec = DraftVecUtils.rotate(d, a, plane.axis) + a = -DraftVecUtils.angle(v1, v2, self.wp.axis) + self.dvec = DraftVecUtils.rotate(d, a, self.wp.axis) occmode = self.ui.occOffset.isChecked() self.param.SetBool("Offset_OCC", occmode) _wire = DraftGeomUtils.offsetWire(self.shape, @@ -198,8 +197,8 @@ class Offset(gui_base_original.Modifier): self.npts = [] for p in self.sel.Points: currtan = DraftGeomUtils.getTangent(e, p) - a = -DraftVecUtils.angle(currtan, basetan, plane.axis) - self.dvec = DraftVecUtils.rotate(d, a, plane.axis) + a = -DraftVecUtils.angle(currtan, basetan, self.wp.axis) + self.dvec = DraftVecUtils.rotate(d, a, self.wp.axis) self.npts.append(p.add(self.dvec)) self.ghost.update(self.npts) elif self.mode == "Circle": @@ -274,7 +273,7 @@ class Offset(gui_base_original.Modifier): self.linetrack.finalize() if self.ghost: self.ghost.finalize() - super(Offset, self).finish() + super().finish() def numericRadius(self, rad): """Validate the radius entry field in the user interface. diff --git a/src/Mod/Draft/draftguitools/gui_points.py b/src/Mod/Draft/draftguitools/gui_points.py index 44d65f56b7..bd01936c2a 100644 --- a/src/Mod/Draft/draftguitools/gui_points.py +++ b/src/Mod/Draft/draftguitools/gui_points.py @@ -64,15 +64,8 @@ class Point(gui_base_original.Creator): def Activated(self): """Execute when the command is called.""" - super(Point, self).Activated(name="Point") - self.view = gui_utils.get3DView() + super().Activated(name="Point") self.stack = [] - rot = self.view.getCameraNode().getField("orientation").getValue() - upv = App.Vector(rot.multVec(coin.SbVec3f(0, 1, 0)).getValue()) - App.DraftWorkingPlane.setup(self.view.getViewDirection().negative(), - App.Vector(0, 0, 0), - upv) - self.point = None if self.ui: self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Point") self.ui.isRelative.hide() @@ -159,7 +152,7 @@ class Point(gui_base_original.Creator): Restart (continue) the command if `True`, or if `None` and `ui.continueMode` is `True`. """ - super(Point, self).finish() + super().finish() if self.callbackClick: self.view.removeEventCallbackPivy(coin.SoMouseButtonEvent.getClassTypeId(), self.callbackClick) if self.callbackMove: diff --git a/src/Mod/Draft/draftguitools/gui_polygons.py b/src/Mod/Draft/draftguitools/gui_polygons.py index 26e08c85b1..16683eb432 100644 --- a/src/Mod/Draft/draftguitools/gui_polygons.py +++ b/src/Mod/Draft/draftguitools/gui_polygons.py @@ -59,14 +59,14 @@ class Polygon(gui_base_original.Creator): def Activated(self): """Execute when the command is called.""" - super(Polygon, self).Activated(name="Polygon") + super().Activated(name="Polygon") if self.ui: self.step = 0 self.center = None self.rad = None self.tangents = [] self.tanpoints = [] - self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Polygon") + self.ui.pointUi(title=translate("draft", "Polygon"), icon="Draft_Polygon") self.ui.extUi() self.ui.isRelative.hide() self.ui.numFaces.show() @@ -86,7 +86,7 @@ class Polygon(gui_base_original.Creator): Restart (continue) the command if `True`, or if `None` and `ui.continueMode` is `True`. """ - super(Polygon, self).finish(self) + super().finish(self) if self.ui: self.arctrack.finalize() self.doc.recompute() @@ -115,7 +115,7 @@ class Polygon(gui_base_original.Creator): # this is to make sure radius is what you see on screen if self.center and DraftVecUtils.dist(self.point, self.center) > 0: viewdelta = DraftVecUtils.project(self.point.sub(self.center), - App.DraftWorkingPlane.axis) + self.wp.axis) if not DraftVecUtils.isNull(viewdelta): self.point = self.point.add(viewdelta.negative()) if self.step == 0: # choose center diff --git a/src/Mod/Draft/draftguitools/gui_rectangles.py b/src/Mod/Draft/draftguitools/gui_rectangles.py index 39797030fc..3aa18dbb07 100644 --- a/src/Mod/Draft/draftguitools/gui_rectangles.py +++ b/src/Mod/Draft/draftguitools/gui_rectangles.py @@ -56,10 +56,10 @@ class Rectangle(gui_base_original.Creator): def Activated(self): """Execute when the command is called.""" - super(Rectangle, self).Activated(name="Rectangle") + super().Activated(name="Rectangle") if self.ui: self.refpoint = None - self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Rectangle") + self.ui.pointUi(title=translate("draft", "Rectangle"), icon="Draft_Rectangle") self.ui.extUi() if utils.getParam("UsePartPrimitives", False): self.fillstate = self.ui.hasFill.isChecked() @@ -77,7 +77,7 @@ class Rectangle(gui_base_original.Creator): Restart (continue) the command if `True`, or if `None` and `ui.continueMode` is `True`. """ - super(Rectangle, self).finish() + super().finish() if self.ui: if hasattr(self, "fillstate"): self.ui.hasFill.setChecked(self.fillstate) @@ -89,17 +89,16 @@ class Rectangle(gui_base_original.Creator): def createObject(self): """Create the final object in the current document.""" - plane = App.DraftWorkingPlane p1 = self.node[0] p3 = self.node[-1] diagonal = p3.sub(p1) - p2 = p1.add(DraftVecUtils.project(diagonal, plane.v)) - p4 = p1.add(DraftVecUtils.project(diagonal, plane.u)) + p2 = p1.add(DraftVecUtils.project(diagonal, self.wp.v)) + p4 = p1.add(DraftVecUtils.project(diagonal, self.wp.u)) length = p4.sub(p1).Length - if abs(DraftVecUtils.angle(p4.sub(p1), plane.u, plane.axis)) > 1: + if abs(DraftVecUtils.angle(p4.sub(p1), self.wp.u, self.wp.axis)) > 1: length = -length height = p2.sub(p1).Length - if abs(DraftVecUtils.angle(p2.sub(p1), plane.v, plane.axis)) > 1: + if abs(DraftVecUtils.angle(p2.sub(p1), self.wp.v, self.wp.axis)) > 1: height = -height try: # The command to run is built as a series of text strings @@ -164,10 +163,7 @@ class Rectangle(gui_base_original.Creator): if arg["Key"] == "ESCAPE": self.finish() elif arg["Type"] == "SoLocation2Event": # mouse movement detection - (self.point, - ctrlPoint, info) = gui_tool_utils.getPoint(self, arg, - mobile=True, - noTracker=True) + self.point, ctrlPoint, info = gui_tool_utils.getPoint(self, arg, noTracker=True) self.rect.update(self.point) gui_tool_utils.redraw3DView() elif (arg["Type"] == "SoMouseButtonEvent" @@ -180,10 +176,7 @@ class Rectangle(gui_base_original.Creator): if (not self.node) and (not self.support): gui_tool_utils.getSupport(arg) - (self.point, - ctrlPoint, info) = gui_tool_utils.getPoint(self, arg, - mobile=True, - noTracker=True) + self.point, ctrlPoint, info = gui_tool_utils.getPoint(self, arg, noTracker=True) if self.point: self.ui.redraw() self.pos = arg["Position"] diff --git a/src/Mod/Draft/draftguitools/gui_rotate.py b/src/Mod/Draft/draftguitools/gui_rotate.py index f2012ae9ae..6c84a597c3 100644 --- a/src/Mod/Draft/draftguitools/gui_rotate.py +++ b/src/Mod/Draft/draftguitools/gui_rotate.py @@ -64,7 +64,7 @@ class Rotate(gui_base_original.Modifier): def Activated(self): """Execute when the command is called.""" - super(Rotate, self).Activated(name="Rotate") + super().Activated(name="Rotate") if not self.ui: return self.ghosts = [] @@ -120,15 +120,13 @@ class Rotate(gui_base_original.Modifier): def handle_mouse_move_event(self, arg): """Handle the mouse when moving.""" - plane = App.DraftWorkingPlane - for ghost in self.ghosts: ghost.off() self.point, ctrlPoint, info = gui_tool_utils.getPoint(self, arg) # this is to make sure radius is what you see on screen if self.center and DraftVecUtils.dist(self.point, self.center): viewdelta = DraftVecUtils.project(self.point.sub(self.center), - plane.axis) + self.wp.axis) if not DraftVecUtils.isNull(viewdelta): self.point = self.point.add(viewdelta.negative()) if self.extendedCopy: @@ -140,9 +138,9 @@ class Rotate(gui_base_original.Modifier): elif self.step == 1: currentrad = DraftVecUtils.dist(self.point, self.center) if currentrad != 0: - angle = DraftVecUtils.angle(plane.u, + angle = DraftVecUtils.angle(self.wp.u, self.point.sub(self.center), - plane.axis) + self.wp.axis) else: angle = 0 self.ui.setRadiusValue(math.degrees(angle), unit="Angle") @@ -152,9 +150,9 @@ class Rotate(gui_base_original.Modifier): elif self.step == 2: currentrad = DraftVecUtils.dist(self.point, self.center) if currentrad != 0: - angle = DraftVecUtils.angle(plane.u, + angle = DraftVecUtils.angle(self.wp.u, self.point.sub(self.center), - plane.axis) + self.wp.axis) else: angle = 0 if angle < self.firstangle: @@ -163,7 +161,7 @@ class Rotate(gui_base_original.Modifier): sweep = angle - self.firstangle self.arctrack.setApertureAngle(sweep) for ghost in self.ghosts: - ghost.rotate(plane.axis, sweep) + ghost.rotate(self.wp.axis, sweep) ghost.on() self.ui.setRadiusValue(math.degrees(sweep), 'Angle') self.ui.radiusValue.setFocus() @@ -214,12 +212,11 @@ class Rotate(gui_base_original.Modifier): def set_rotation_angle(self, arg): """Set the rotation angle.""" - plane = App.DraftWorkingPlane # currentrad = DraftVecUtils.dist(self.point, self.center) - angle = self.point.sub(self.center).getAngle(plane.u) - _v = DraftVecUtils.project(self.point.sub(self.center), plane.v) - if _v.getAngle(plane.v) > 1: + angle = self.point.sub(self.center).getAngle(self.wp.u) + _v = DraftVecUtils.project(self.point.sub(self.center), self.wp.v) + if _v.getAngle(self.wp.v) > 1: angle = -angle if angle < self.firstangle: self.angle = (2 * math.pi - self.firstangle) + angle @@ -271,7 +268,7 @@ class Rotate(gui_base_original.Modifier): ghost.finalize() if cont or (cont is None and self.ui and self.ui.continueMode): todo.ToDo.delayAfter(self.Activated, []) - super(Rotate, self).finish() + super().finish() if self.doc: self.doc.recompute() @@ -298,7 +295,6 @@ class Rotate(gui_base_original.Modifier): def build_copy_subelements_command(self): """Build the string to commit to copy the subelements.""" import Part - plane = App.DraftWorkingPlane command = [] arguments = [] @@ -314,7 +310,7 @@ class Rotate(gui_base_original.Modifier): _cmd += str(_edge_index) + ', ' _cmd += str(math.degrees(self.angle)) + ', ' _cmd += DraftVecUtils.toString(self.center) + ', ' - _cmd += DraftVecUtils.toString(plane.axis) + _cmd += DraftVecUtils.toString(self.wp.axis) _cmd += ']' arguments.append(_cmd) @@ -326,7 +322,6 @@ class Rotate(gui_base_original.Modifier): def build_rotate_subelements_command(self): """Build the string to commit to rotate the subelements.""" import Part - plane = App.DraftWorkingPlane command = [] V = len("Vertex") @@ -342,7 +337,7 @@ class Rotate(gui_base_original.Modifier): _cmd += str(_vertex_index) + ', ' _cmd += str(math.degrees(self.angle)) + ', ' _cmd += DraftVecUtils.toString(self.center) + ', ' - _cmd += DraftVecUtils.toString(plane.axis) + _cmd += DraftVecUtils.toString(self.wp.axis) _cmd += ')' command.append(_cmd) elif isinstance(subelement, Part.Edge): @@ -354,7 +349,7 @@ class Rotate(gui_base_original.Modifier): _cmd += str(_edge_index) + ', ' _cmd += str(math.degrees(self.angle)) + ', ' _cmd += DraftVecUtils.toString(self.center) + ', ' - _cmd += DraftVecUtils.toString(plane.axis) + _cmd += DraftVecUtils.toString(self.wp.axis) _cmd += ')' command.append(_cmd) command.append('FreeCAD.ActiveDocument.recompute()') @@ -362,8 +357,6 @@ class Rotate(gui_base_original.Modifier): def rotate_object(self, is_copy): """Move the object.""" - plane = App.DraftWorkingPlane - _doc = 'FreeCAD.ActiveDocument.' _selected = self.selected_objects @@ -376,7 +369,7 @@ class Rotate(gui_base_original.Modifier): _cmd += objects + ', ' _cmd += str(math.degrees(self.angle)) + ', ' _cmd += DraftVecUtils.toString(self.center) + ', ' - _cmd += 'axis=' + DraftVecUtils.toString(plane.axis) + ', ' + _cmd += 'axis=' + DraftVecUtils.toString(self.wp.axis) + ', ' _cmd += 'copy=' + str(is_copy) _cmd += ')' _cmd_list = [_cmd, diff --git a/src/Mod/Draft/draftguitools/gui_scale.py b/src/Mod/Draft/draftguitools/gui_scale.py index ccb31cdc76..3c436c2c99 100644 --- a/src/Mod/Draft/draftguitools/gui_scale.py +++ b/src/Mod/Draft/draftguitools/gui_scale.py @@ -73,7 +73,7 @@ class Scale(gui_base_original.Modifier): def Activated(self): """Execute when the command is called.""" - super(Scale, self).Activated(name="Scale") + super().Activated(name="Scale") if not self.ui: return self.ghosts = [] @@ -161,8 +161,7 @@ class Scale(gui_base_original.Modifier): """Handle the mouse event of movement.""" for ghost in self.ghosts: ghost.off() - (self.point, - ctrlPoint, info) = gui_tool_utils.getPoint(self, arg, sym=True) + self.point, ctrlPoint, info = gui_tool_utils.getPoint(self, arg) def handle_mouse_click_event(self): """Handle the mouse click event.""" @@ -212,7 +211,7 @@ class Scale(gui_base_original.Modifier): def scale_with_clone(self): """Scale with clone.""" if self.task.relative.isChecked(): - self.delta = App.DraftWorkingPlane.getGlobalCoords(self.delta) + self.delta = self.wp.getGlobalCoords(self.delta) Gui.addModule("Draft") @@ -326,7 +325,7 @@ class Scale(gui_base_original.Modifier): def scale_object(self): """Scale the object.""" if self.task.relative.isChecked(): - self.delta = App.DraftWorkingPlane.getGlobalCoords(self.delta) + self.delta =self.wp.getGlobalCoords(self.delta) goods = [] bads = [] for obj in self.selected_objects: @@ -372,7 +371,7 @@ class Scale(gui_base_original.Modifier): """Scale the preview of the object.""" delta = App.Vector(x, y, z) if rel: - delta = App.DraftWorkingPlane.getGlobalCoords(delta) + delta = self.wp.getGlobalCoords(delta) for ghost in self.ghosts: ghost.scale(delta) # calculate a correction factor depending on the scaling center @@ -421,7 +420,7 @@ class Scale(gui_base_original.Modifier): def finish(self, cont=False): """Terminate the operation.""" - super(Scale, self).finish() + super().finish() for ghost in self.ghosts: ghost.finalize() diff --git a/src/Mod/Draft/draftguitools/gui_setstyle.py b/src/Mod/Draft/draftguitools/gui_setstyle.py index 52725fd4f5..de9317ab03 100644 --- a/src/Mod/Draft/draftguitools/gui_setstyle.py +++ b/src/Mod/Draft/draftguitools/gui_setstyle.py @@ -106,12 +106,13 @@ class Draft_SetStyle_TaskPanel: presets = [self.form.comboPresets.itemText(0)] self.form.comboPresets.clear() pdict = self.load() - presets.extend(pdict.keys()) + pdict_keys = list(pdict) + presets.extend(pdict_keys) self.form.comboPresets.addItems(presets) current = self.getValues() - for name,preset in pdict.items(): + for name, preset in pdict.items(): if all(item in current.items() for item in preset.items()): #if preset == current: - self.form.comboPresets.setCurrentIndex(1+(list(pdict.keys()).index(name))) + self.form.comboPresets.setCurrentIndex(1 + (pdict_keys.index(name))) break def getPrefColor(self,group,prop,default): @@ -273,7 +274,7 @@ class Draft_SetStyle_TaskPanel: if index > 0: pdict = self.load() - if self.form.comboPresets.itemText(index) in pdict.keys(): + if self.form.comboPresets.itemText(index) in pdict: preset = pdict[self.form.comboPresets.itemText(index)] self.setValues(preset) @@ -287,7 +288,7 @@ class Draft_SetStyle_TaskPanel: name = reply[0] pdict = self.load() if pdict: - if name in pdict.keys(): + if name in pdict: reply = QtGui.QMessageBox.question(None, translate("Draft","Warning"), translate("Draft","Name exists. Overwrite?"), diff --git a/src/Mod/Draft/draftguitools/gui_splines.py b/src/Mod/Draft/draftguitools/gui_splines.py index 87e0a754d4..ab0dc36fd7 100644 --- a/src/Mod/Draft/draftguitools/gui_splines.py +++ b/src/Mod/Draft/draftguitools/gui_splines.py @@ -65,7 +65,7 @@ class BSpline(gui_lines.Line): Activate the specific BSpline tracker. """ - super(BSpline, self).Activated(name="Bspline", icon="Draft_BSpline") + super(BSpline, self).Activated(name="Bspline", icon="Draft_BSpline", task_title=translate("draft","B-Spline")) if self.doc: self.bsplinetrack = trackers.bsplineTracker() diff --git a/src/Mod/Draft/draftguitools/gui_stretch.py b/src/Mod/Draft/draftguitools/gui_stretch.py index 10a0195d0c..380f77b443 100644 --- a/src/Mod/Draft/draftguitools/gui_stretch.py +++ b/src/Mod/Draft/draftguitools/gui_stretch.py @@ -141,7 +141,6 @@ class Stretch(gui_base_original.Modifier): if arg["Key"] == "ESCAPE": self.finish() elif arg["Type"] == "SoLocation2Event": # mouse movement detection - # ,mobile=True) #,noTracker=(self.step < 3)) point, ctrlPoint, info = gui_tool_utils.getPoint(self, arg) if self.step == 2: self.rectracker.update(point) @@ -152,7 +151,6 @@ class Stretch(gui_base_original.Modifier): # clicked twice on the same point self.finish() else: - # ,mobile=True) #,noTracker=(self.step < 3)) point, ctrlPoint, info = gui_tool_utils.getPoint(self, arg) self.addPoint(point) diff --git a/src/Mod/Draft/draftguitools/gui_tool_utils.py b/src/Mod/Draft/draftguitools/gui_tool_utils.py index c922517816..e7be4795d0 100644 --- a/src/Mod/Draft/draftguitools/gui_tool_utils.py +++ b/src/Mod/Draft/draftguitools/gui_tool_utils.py @@ -146,8 +146,7 @@ def set_mod(args, mod, state): setMod = set_mod -def get_point(target, args, - mobile=False, sym=False, workingplane=True, noTracker=False): +def get_point(target, args, noTracker=False): """Return a constrained 3D point and its original point. It is used by the Draft tools. @@ -165,21 +164,6 @@ def get_point(target, args, args: Coin event The Coin event received from the 3D view. - mobile: bool, optional - It defaults to `False`. - If it is `True` the constraining occurs from the location of - the mouse cursor when `Shift` is pressed; otherwise from the last - entered point. - - sym: bool, optional - It defaults to `False`. - If it is `True`, the x and y values always stay equal. - - workingplane: bool, optional - It defaults to `True`. - If it is `False`, the point won't be projected on the currently - active working plane. - noTracker: bool, optional It defaults to `False`. If it is `True`, the tracking line will not be displayed. @@ -202,8 +186,8 @@ def get_point(target, args, else: last = None - amod = hasMod(args, MODSNAP) - cmod = hasMod(args, MODCONSTRAIN) + amod = has_mod(args, MODSNAP) + cmod = has_mod(args, MODCONSTRAIN) point = None if hasattr(Gui, "Snapper"): @@ -221,15 +205,14 @@ def get_point(target, args, mask = None ctrlPoint = App.Vector(point) + wp = App.DraftWorkingPlane if target.node: if target.featureName == "Rectangle": - ui.displayPoint(point, target.node[0], - plane=App.DraftWorkingPlane, mask=mask) + ui.displayPoint(point, target.node[0], plane=wp, mask=mask) else: - ui.displayPoint(point, target.node[-1], - plane=App.DraftWorkingPlane, mask=mask) + ui.displayPoint(point, target.node[-1], plane=wp, mask=mask) else: - ui.displayPoint(point, plane=App.DraftWorkingPlane, mask=mask) + ui.displayPoint(point, plane=wp, mask=mask) return point, ctrlPoint, info @@ -237,31 +220,19 @@ getPoint = get_point def set_working_plane_to_object_under_cursor(mouseEvent): - """Set the working plane to the object under the cursor. + """Align the working plane to the face under the cursor. - It tests for an object under the cursor. - If it is found, it checks whether a `'face'` or `'curve'` component - is selected in the object's `Shape`. - Then it tries to align the working plane to that face or curve. - - The working plane is only aligned to the face if - the working plane is not `'weak'`. + The working plane is only aligned if it is `'weak'`. Parameters ---------- mouseEvent: Coin event - Coin event with the mouse, that is, a click. + Coin mouse event. Returns ------- - None - If no object was found in the 3D view under the cursor. - Or if the working plane is not `weak`. - Or if there was an exception with aligning the working plane - to the component under the cursor. - - Coin info - The `getObjectInfo` of the object under the cursor. + App::DocumentObject or None + The parent object the face belongs to, if alignment occurred, or None. """ objectUnderCursor = gui_utils.get_3d_view().getObjectInfo(( mouseEvent["Position"][0], @@ -269,25 +240,27 @@ def set_working_plane_to_object_under_cursor(mouseEvent): if not objectUnderCursor: return None + if "Face" not in objectUnderCursor["Component"]: + return None + wp = App.DraftWorkingPlane + if wp.weak is False: + return None - try: - # Get the component "face" or "curve" under the "Shape" - # of the selected object - componentUnderCursor = getattr( - App.ActiveDocument.getObject(objectUnderCursor['Object']).Shape, - objectUnderCursor["Component"]) + import Part + if "ParentObject" in objectUnderCursor: + obj = objectUnderCursor["ParentObject"] + sub = objectUnderCursor["SubName"] + else: + obj = App.ActiveDocument.getObject(objectUnderCursor["Object"]) + sub = objectUnderCursor["Component"] + shape = Part.getShape(obj, sub, needSubElement=True, retType=0) - if not App.DraftWorkingPlane.weak: - return None - - if "Face" in objectUnderCursor["Component"]: - App.DraftWorkingPlane.alignToFace(componentUnderCursor) - else: - App.DraftWorkingPlane.alignToCurve(componentUnderCursor) - App.DraftWorkingPlane.weak = True - return objectUnderCursor - except Exception: - pass + if wp.alignToFace(shape) is True: + wp.weak = True + if hasattr(Gui, "Snapper"): + Gui.Snapper.setGrid() + Gui.Snapper.restack() + return obj return None @@ -296,32 +269,37 @@ setWorkingPlaneToObjectUnderCursor = set_working_plane_to_object_under_cursor def set_working_plane_to_selected_object(): - """Set the working plane to the selected object's face. + """Align the working plane to a preselected face. - The working plane is only aligned to the face if - the working plane is `'weak'`. + The working plane is only aligned if it is `'weak'`. Returns ------- - None - If more than one object was selected. - Or if the selected object has many subelements. - Or if the single subelement is not a `'Face'`. - - App::DocumentObject - The single object that contains a single selected face. + App::DocumentObject or None + The parent object the face belongs to, if alignment occurred, or None. """ - sel = Gui.Selection.getSelectionEx() - if len(sel) != 1: + wp = App.DraftWorkingPlane + if wp.weak is False: return None - sel = sel[0] - if (sel.HasSubObjects - and len(sel.SubElementNames) == 1 - and "Face" in sel.SubElementNames[0]): - if App.DraftWorkingPlane.weak: - App.DraftWorkingPlane.alignToFace(sel.SubObjects[0]) - App.DraftWorkingPlane.weak = True - return sel.Object + + sels = Gui.Selection.getSelectionEx("", 0) + + if len(sels) == 1 \ + and len(sels[0].SubObjects) == 1 \ + and sels[0].SubObjects[0].ShapeType == "Face": + import Part + shape = Part.getShape(sels[0].Object, + sels[0].SubElementNames[0], + needSubElement=True, + retType=0) + + if wp.alignToFace(shape) is True: + wp.weak = True + if hasattr(Gui, "Snapper"): + Gui.Snapper.setGrid() + Gui.Snapper.restack() + return sels[0].Object + return None @@ -329,44 +307,24 @@ setWorkingPlaneToSelectedObject = set_working_plane_to_selected_object def get_support(mouseEvent=None): - """Return the supporting object and set the working plane. + """"Align the working plane to a preselected face or the face under the cursor. - It saves the current working plane, then sets it to the selected object. + The working plane is only aligned if it is `'weak'`. Parameters ---------- mouseEvent: Coin event, optional - It defaults to `None`. - Coin event with the mouse, that is, a click. - - If there is a mouse event it calls - `set_working_plane_to_object_under_cursor`. - Otherwise, it calls `set_working_plane_to_selected_object`. + Defaults to `None`. + Coin mouse event. Returns ------- - None - If there was a mouse event, but there was nothing under the cursor. - Or if the working plane is not `weak`. - Or if there was an exception with aligning the working plane - to the component under the cursor. - Or if more than one object was selected. - Or if the selected object has many subelements. - Or if the single subelement is not a `'Face'`. - - Coin info - If there was a mouse event, the `getObjectInfo` - of the object under the cursor. - - App::DocumentObject - If there was no mouse event, the single selected object - that contains the single selected face that was used - to align the working plane. + App::DocumentObject or None + The parent object the face belongs to, if alignment occurred, or None. """ - App.DraftWorkingPlane.save() - if mouseEvent: - return setWorkingPlaneToObjectUnderCursor(mouseEvent) - return setWorkingPlaneToSelectedObject() + if mouseEvent is None: + return set_working_plane_to_selected_object() + return set_working_plane_to_object_under_cursor(mouseEvent) getSupport = get_support diff --git a/src/Mod/Draft/draftguitools/gui_trackers.py b/src/Mod/Draft/draftguitools/gui_trackers.py index b28be430f8..45d6609a89 100644 --- a/src/Mod/Draft/draftguitools/gui_trackers.py +++ b/src/Mod/Draft/draftguitools/gui_trackers.py @@ -1267,7 +1267,6 @@ class boxTracker(Tracker): def update(self, line=None, normal=None): """Update the tracker.""" - import WorkingPlane import DraftGeomUtils if not normal: normal = FreeCAD.DraftWorkingPlane.axis @@ -1283,16 +1282,18 @@ class boxTracker(Tracker): bp = self.baseline.Shape.Edges[0].Vertexes[0].Point else: return - right = lvec.cross(normal) self.cube.width.setValue(lvec.Length) - p = WorkingPlane.getPlacementFromPoints([bp, - bp.add(lvec), - bp.add(right)]) - if p: - self.trans.rotation.setValue(p.Rotation.Q) bp = bp.add(lvec.multiply(0.5)) bp = bp.add(DraftVecUtils.scaleTo(normal, self.cube.depth.getValue()/2.0)) self.pos(bp) + tol = 1e-6 + if lvec.Length > tol and normal.Length > tol: + lvec.normalize() + normal.normalize() + if not lvec.isEqual(normal, tol) \ + and not lvec.isEqual(normal.negative(), tol): + rot = FreeCAD.Rotation(lvec, FreeCAD.Vector(), normal, "XZY") + self.trans.rotation.setValue(rot.Q) def setRotation(self, rot): """Set the rotation.""" diff --git a/src/Mod/Draft/draftguitools/gui_trimex.py b/src/Mod/Draft/draftguitools/gui_trimex.py index 42ec8c081e..8051db5b85 100644 --- a/src/Mod/Draft/draftguitools/gui_trimex.py +++ b/src/Mod/Draft/draftguitools/gui_trimex.py @@ -195,9 +195,7 @@ class Trimex(gui_base_original.Modifier): arg["ShiftDown"] = False elif hasattr(Gui, "Snapper"): Gui.Snapper.setSelectMode(not self.ctrl) - wp = not(self.extrudeMode and self.shift) - self.point, cp, info = gui_tool_utils.getPoint(self, arg, - workingplane=wp) + self.point, cp, info = gui_tool_utils.getPoint(self, arg) if gui_tool_utils.hasMod(arg, gui_tool_utils.MODSNAP): self.snapped = None else: diff --git a/src/Mod/Draft/draftmake/make_sketch.py b/src/Mod/Draft/draftmake/make_sketch.py index ef13432446..d9fe94c772 100644 --- a/src/Mod/Draft/draftmake/make_sketch.py +++ b/src/Mod/Draft/draftmake/make_sketch.py @@ -82,7 +82,6 @@ def make_sketch(objects_list, autoconstraints=False, addTo=None, start_point = 1 end_point = 2 middle_point = 3 - deletable = None if App.GuiUp: v_dir = gui_utils.get_3d_view().getViewDirection() @@ -153,9 +152,6 @@ def make_sketch(objects_list, autoconstraints=False, addTo=None, nobj = addTo else: nobj = App.ActiveDocument.addObject("Sketcher::SketchObject", name) - deletable = nobj - if App.GuiUp: - nobj.ViewObject.Autoconstraints = False # Collect constraints and add in one go to improve performance constraints = [] diff --git a/src/Mod/Draft/draftobjects/label.py b/src/Mod/Draft/draftobjects/label.py index 91bc0be279..a65605a696 100644 --- a/src/Mod/Draft/draftobjects/label.py +++ b/src/Mod/Draft/draftobjects/label.py @@ -324,20 +324,20 @@ DraftLabel = Label def get_label_types(): - return ["Custom", - "Name", - "Label", - "Position", - "Length", - "Area", - "Volume", - "Tag", - "Material", - "Label + Position", - "Label + Length", - "Label + Area", - "Label + Volume", - "Label + Material"] + return [QT_TRANSLATE_NOOP("Draft","Custom"), + QT_TRANSLATE_NOOP("Draft","Name"), + QT_TRANSLATE_NOOP("Draft","Label"), + QT_TRANSLATE_NOOP("Draft","Position"), + QT_TRANSLATE_NOOP("Draft","Length"), + QT_TRANSLATE_NOOP("Draft","Area"), + QT_TRANSLATE_NOOP("Draft","Volume"), + QT_TRANSLATE_NOOP("Draft","Tag"), + QT_TRANSLATE_NOOP("Draft","Material"), + QT_TRANSLATE_NOOP("Draft","Label + Position"), + QT_TRANSLATE_NOOP("Draft","Label + Length"), + QT_TRANSLATE_NOOP("Draft","Label + Area"), + QT_TRANSLATE_NOOP("Draft","Label + Volume"), + QT_TRANSLATE_NOOP("Draft","Label + Material")] def return_info(target, typ, subelement=None): diff --git a/src/Mod/Draft/draftobjects/shapestring.py b/src/Mod/Draft/draftobjects/shapestring.py index be71191c71..1370a31f08 100644 --- a/src/Mod/Draft/draftobjects/shapestring.py +++ b/src/Mod/Draft/draftobjects/shapestring.py @@ -30,9 +30,12 @@ from PySide.QtCore import QT_TRANSLATE_NOOP import FreeCAD as App -import draftutils.utils as utils +import Part +from draftgeoutils import faces +from draftutils.messages import _wrn from draftutils.translate import translate + from draftobjects.base import DraftObject @@ -40,22 +43,77 @@ class ShapeString(DraftObject): """The ShapeString object""" def __init__(self, obj): - super(ShapeString, self).__init__(obj, "ShapeString") + super().__init__(obj, "ShapeString") + self.set_properties(obj) - _tip = QT_TRANSLATE_NOOP("App::Property", "Text string") - obj.addProperty("App::PropertyString", "String", "Draft", _tip) + def set_properties(self, obj): + """Add properties to the object and set them.""" + properties = obj.PropertiesList - _tip = QT_TRANSLATE_NOOP("App::Property", "Font file name") - obj.addProperty("App::PropertyFile", "FontFile", "Draft", _tip) + if "String" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Text string") + obj.addProperty("App::PropertyString", "String", "Draft", _tip) - _tip = QT_TRANSLATE_NOOP("App::Property", "Height of text") - obj.addProperty("App::PropertyLength", "Size", "Draft", _tip) + if "FontFile" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Font file name") + obj.addProperty("App::PropertyFile", "FontFile", "Draft", _tip) - _tip = QT_TRANSLATE_NOOP("App::Property", "Inter-character spacing") - obj.addProperty("App::PropertyLength", "Tracking", "Draft", _tip) + if "Size" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Height of text") + obj.addProperty("App::PropertyLength", "Size", "Draft", _tip) - _tip = QT_TRANSLATE_NOOP("App::Property", "Fill letters with faces") - obj.addProperty("App::PropertyBool", "MakeFace", "Draft", _tip).MakeFace = True + if "Justification" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Horizontal and vertical alignment") + obj.addProperty("App::PropertyEnumeration", "Justification", "Draft", _tip) + obj.Justification = ["Top-Left", "Top-Center", "Top-Right", + "Middle-Left", "Middle-Center", "Middle-Right", + "Bottom-Left", "Bottom-Center", "Bottom-Right"] + obj.Justification = "Bottom-Left" + + if "JustificationReference" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Height reference used for justification") + obj.addProperty("App::PropertyEnumeration", "JustificationReference", "Draft", _tip) + obj.JustificationReference = ["Cap Height", "Shape Height"] + obj.JustificationReference = "Cap Height" + + if "KeepLeftMargin" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Keep left margin and leading white space when justification is left") + obj.addProperty("App::PropertyBool", "KeepLeftMargin", "Draft", _tip).KeepLeftMargin = False + + if "ScaleToSize" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Scale to ensure cap height is equal to size") + obj.addProperty("App::PropertyBool", "ScaleToSize", "Draft", _tip).ScaleToSize = True + + if "Tracking" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Inter-character spacing") + obj.addProperty("App::PropertyDistance", "Tracking", "Draft", _tip) + + if "MakeFace" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Fill letters with faces") + obj.addProperty("App::PropertyBool", "MakeFace", "Draft", _tip).MakeFace = True + + if "Fuse" not in properties: + _tip = QT_TRANSLATE_NOOP("App::Property", "Fuse faces if faces overlap, usually not required (can be very slow)") + obj.addProperty("App::PropertyBool", "Fuse", "Draft", _tip).Fuse = False + + def onDocumentRestored(self, obj): + super().onDocumentRestored(obj) + if hasattr(obj, "Justification"): # several more properties were added + return + self.update_properties_0v22(obj) + + def update_properties_0v22(self, obj): + """Update view properties.""" + old_tracking = obj.Tracking # no need for obj.getTypeIdOfProperty("Tracking") + obj.removeProperty("Tracking") + self.set_properties(obj) + obj.KeepLeftMargin = True + obj.ScaleToSize = False + obj.Tracking = old_tracking + _wrn("v0.22, " + obj.Label + ", " + + translate("draft", "added 'Justification', 'JustificationReference', 'KeepLeftMargin', 'ScaleToSize' and 'Fuse' properties")) + _wrn("v0.22, " + obj.Label + ", " + + translate("draft", "changed 'Tracking' property type")) def execute(self, obj): if self.props_changed_placement_only(): @@ -64,42 +122,50 @@ class ShapeString(DraftObject): return if obj.String and obj.FontFile: - import Part - if obj.Placement: plm = obj.Placement - # test a simple letter to know if we have a sticky font or not - sticky = False - testWire = Part.makeWireString("L", obj.FontFile, obj.Size, obj.Tracking)[0][0] - if testWire.isClosed: - try: - testFace = Part.Face(testWire) - except Part.OCCError: - sticky = True + fill = obj.MakeFace + if fill is True: + # test a simple letter to know if we have a sticky font or not + # if font is sticky change fill to `False` + test_wire = Part.makeWireString("L", obj.FontFile, obj.Size, obj.Tracking)[0][0] + if test_wire.isClosed: + try: + test_face = Part.Face(test_wire) + except Part.OCCError: + fill = False + else: + fill = test_face.isValid() and test_face.Area > 1e-7 else: - if not testFace.isValid(): - sticky = True - else: - sticky = True + fill = False - fill = True - if hasattr(obj, "MakeFace"): - fill = obj.MakeFace + chars = Part.makeWireString(obj.String, obj.FontFile, obj.Size, obj.Tracking) + shapes = [] - CharList = Part.makeWireString(obj.String, obj.FontFile, obj.Size, obj.Tracking) - SSChars = [] - - for char in CharList: - if sticky or (not fill): - SSChars.extend(char) + for char in chars: + if fill is False: + shapes.extend(char) elif char: - SSChars.extend(self.makeFaces(char)) - if SSChars: - shape = Part.Compound(SSChars) - obj.Shape = shape + shapes.extend(self.make_faces(char)) + if shapes: + if obj.MakeFace and obj.Fuse: + ss_shape = shapes[0].fuse(shapes[1:]) + ss_shape = faces.concatenate(ss_shape) + else: + ss_shape = Part.Compound(shapes) + cap_char = Part.makeWireString("M", obj.FontFile, obj.Size, obj.Tracking)[0] + cap_height = Part.Compound(cap_char).BoundBox.YMax + if obj.ScaleToSize: + ss_shape.scale(obj.Size / cap_height) + cap_height = obj.Size + obj.Shape = self.justification(ss_shape, + cap_height, + obj.Justification, + obj.JustificationReference, + obj.KeepLeftMargin) else: - App.Console.PrintWarning(translate("draft", "ShapeString: string has no wires")+"\n") + App.Console.PrintWarning(translate("draft", "ShapeString: string has no wires") + "\n") if plm: obj.Placement = plm @@ -110,9 +176,32 @@ class ShapeString(DraftObject): def onChanged(self, obj, prop): self.props_changed_store(prop) - def makeFaces(self, wireChar): - import Part + def justification(self, ss_shape, cap_height, just, just_ref, keep_left_margin): # ss_shape is a compound + shapes = ss_shape.SubShapes + box = ss_shape.BoundBox + if keep_left_margin is True: + vec = App.Vector(0, 0, 0) + else: + vec = App.Vector(-box.XMin, 0, 0) # remove left margin caused by kerning and white space characters + width = box.XLength + if "Shape" in just_ref: + vec = vec + App.Vector(0, -box.YMin, 0) + height = box.YLength + else: + height = cap_height + if "Top" in just: + vec = vec + App.Vector(0, -height, 0) + elif "Middle" in just: + vec = vec + App.Vector(0, -height/2, 0) + if "Right" in just: + vec = vec + App.Vector(-width, 0, 0) + elif "Center" in just: + vec = vec + App.Vector(-width/2, 0, 0) + for shape in shapes: + shape.translate(vec) + return Part.Compound(shapes) + def make_faces(self, wireChar): wrn = translate("draft", "ShapeString: face creation failed for one character") + "\n" wirelist = [] @@ -168,50 +257,13 @@ class ShapeString(DraftObject): for face in faces: try: # some fonts fail here - if face.Surface.Axis.z < 0.0: # Does not seem to occur for FaceMakerBullseye. + if face.normalAt(0, 0).z < 0: # Does not seem to occur for FaceMakerBullseye. face.reverse() except Exception: pass return faces - def makeGlyph(self, facelist): - ''' turn list of simple contour faces into a compound shape representing a glyph ''' - ''' remove cuts, fuse overlapping contours, retain islands ''' - import Part - if len(facelist) == 1: - return facelist[0] - - sortedfaces = sorted(facelist,key=(lambda shape: shape.Area),reverse=True) - - biggest = sortedfaces[0] - result = biggest - islands =[] - for face in sortedfaces[1:]: - bcfA = biggest.common(face).Area - fA = face.Area - difA = abs(bcfA - fA) - eps = utils.epsilon() - # if biggest.common(face).Area == face.Area: - if difA <= eps: # close enough to zero - # biggest completely overlaps current face ==> cut - result = result.cut(face) - # elif biggest.common(face).Area == 0: - elif bcfA <= eps: - # island - islands.append(face) - else: - # partial overlap - (font designer error?) - result = result.fuse(face) - #glyphfaces = [result] - wl = result.Wires - for w in wl: - w.fixWire() - glyphfaces = [Part.Face(wl)] - glyphfaces.extend(islands) - ret = Part.Compound(glyphfaces) # should we fuse these instead of making compound? - return ret - # Alias for compatibility with v0.18 and earlier _ShapeString = ShapeString diff --git a/src/Mod/Draft/draftviewproviders/view_base.py b/src/Mod/Draft/draftviewproviders/view_base.py index a9b4211202..7deadd1255 100644 --- a/src/Mod/Draft/draftviewproviders/view_base.py +++ b/src/Mod/Draft/draftviewproviders/view_base.py @@ -106,7 +106,7 @@ class ViewProviderDraft(object): "Draft", QT_TRANSLATE_NOOP("App::Property", "Defines an SVG pattern.")) - patterns = list(utils.svg_patterns().keys()) + patterns = list(utils.svg_patterns()) patterns.sort() vobj.Pattern = ["None"] + patterns @@ -283,7 +283,7 @@ class ViewProviderDraft(object): path = vobj.TextureImage if not path: if hasattr(vobj, "Pattern"): - if str(vobj.Pattern) in list(utils.svg_patterns().keys()): + if str(vobj.Pattern) in utils.svg_patterns(): path = utils.svg_patterns()[vobj.Pattern][1] else: path = "None" diff --git a/src/Mod/Draft/importDWG.py b/src/Mod/Draft/importDWG.py index a33b0e3963..fa34253b37 100644 --- a/src/Mod/Draft/importDWG.py +++ b/src/Mod/Draft/importDWG.py @@ -244,10 +244,11 @@ def get_qcad_converter(): elif platform.system() == "Linux": # /home/$USER/opt/qcad-3.28.1-trial-linux-qt5.14-x86_64/dwg2dwg path = os.path.expandvars("/home/$USER/opt") - for sub in os.listdir(path): - if "qcad" in sub: - path = path + "/" + sub + "/" + "dwg2dwg" - break + if os.path.exists(path) and os.path.isdir(path): + for sub in os.listdir(path): + if "qcad" in sub: + path = path + "/" + sub + "/" + "dwg2dwg" + break else: # for macOS path = "/Applications/QCAD.app/Contents/Resources/dwg2dwg" diff --git a/src/Mod/Drawing/App/AppDrawingPy.cpp b/src/Mod/Drawing/App/AppDrawingPy.cpp index 8791dec1cd..9b4c153f72 100644 --- a/src/Mod/Drawing/App/AppDrawingPy.cpp +++ b/src/Mod/Drawing/App/AppDrawingPy.cpp @@ -27,6 +27,7 @@ #include #include +#include #include #include #include @@ -189,7 +190,17 @@ private: Py::Object projectToSVG(const Py::Tuple& args, const Py::Dict& keys) { - static char* argNames[] = {"topoShape", "direction", "type", "tolerance", "vStyle", "v0Style", "v1Style", "hStyle", "h0Style", "h1Style", nullptr}; + static const std::array argNames {"topoShape", + "direction", + "type", + "tolerance", + "vStyle", + "v0Style", + "v1Style", + "hStyle", + "h0Style", + "h1Style", + nullptr}; PyObject *pcObjShape = nullptr; PyObject *pcObjDir = nullptr; const char *extractionTypePy = nullptr; @@ -210,7 +221,7 @@ private: // Get the arguments - if (!PyArg_ParseTupleAndKeywords( + if (!Base::Wrapped_ParseTupleAndKeywords( args.ptr(), keys.ptr(), "O!|O!sfOOOOOO", argNames, diff --git a/src/Mod/Drawing/DrawingPatterns.py b/src/Mod/Drawing/DrawingPatterns.py index 61cb84d9f1..14a36bf57a 100644 --- a/src/Mod/Drawing/DrawingPatterns.py +++ b/src/Mod/Drawing/DrawingPatterns.py @@ -139,7 +139,7 @@ def buildPattern(name,scale=5,thickness=1,color="#000000"): builds an SVG fragment from a name and path data""" name,scale,thickness = decodeName(name,scale,thickness) - if not (name in Patterns.keys()): + if not (name in Patterns): return None pname = name + "_" + str(scale).replace(".","") + "_" + str(thickness).replace(".","") data = Patterns[name] @@ -162,7 +162,7 @@ def buildTextureImage(name,scale=5,thickness=1,color="#000000",size=64): builds a 64x64 SVG image filled with the given texture""" name,scale,thickness = decodeName(name,scale,thickness) - if not (name in Patterns.keys()): + if not (name in Patterns): return None s = str(size) template = '''(_pcAction); QAction* a = qAsConst(pcAction)->actions()[iMsg]; - std::string FeatName = getUniqueObjectName("Page"); + std::string FeatName = getUniqueObjectName( + QCoreApplication::translate("Drawing_NewPage", "Page").toStdString().c_str()); QFileInfo tfi(a->property("Template").toString()); if (tfi.isReadable()) { diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing.ts index 66c15e70f2..a5b9e144f9 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing - + &Annotation - - + + Inserts an Annotation view in the active drawing @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing - + &Clip - - + + Inserts a clip group in the active drawing @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing - + &Draft View - - + + Inserts a Draft view of the selected object(s) in the active drawing @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File - + &Export page... - - + + Export a page to an SVG file @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing - + Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing - + Insert view in drawing - + Insert a new View of a Part in the active drawing @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing - + Open &browser view - - + + Opens the selected page in a browser view @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing - + Insert orthographic views - + Insert an orthographic projection of a part in the active drawing @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing - + Project shape... - + Project shape onto a user-defined plane @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing - + &Spreadsheet View - - + + Inserts a view of a selected spreadsheet in the active drawing @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing - + &Symbol - - + + Inserts a symbol from a svg file in the active drawing @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + + + + Landscape - + Portrait - + %1%2 %3 - + Insert new %1%2 %3 drawing - + %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open - - + + Scalable Vector Graphic - - - - - + + + + + Wrong selection - + Select a Part object. - - - - - - - - No page found - - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + + + + + + + + + Create a page first. - + Select exactly one Part object. - - + + Select one Page object. - + All Files - + Export page - + Select exactly one Spreadsheet object. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_be.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_be.ts index 70c2458fb5..646ebf17bc 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_be.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_be.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Чарцёж - + &Annotation З&аметка - - + + Inserts an Annotation view in the active drawing Ўставіць выгляд Заметкі ў бягучы чарцёж @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Чарцёж - + &Clip &Выгляд - - + + Inserts a clip group in the active drawing Уставіць суполку выразак у бягучы чарцёж @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Чарцёж - + &Draft View Выгляд &Чарнавіка - - + + Inserts a Draft view of the selected object(s) in the active drawing Уставіць выгляд Чарнавіка абраных аб'ектаў у бягучы чарцёж @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Файл - + &Export page... &Экспартаваць старонку... - - + + Export a page to an SVG file Экспартаваць старонку ў файл SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Чарцёж - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Чарцёж - + Insert view in drawing Уставіць выгляд у чарцёж - + Insert a new View of a Part in the active drawing Уставіць новы выгляд дэталі ў бягучы чарцёж @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Чарцёж - + Open &browser view Адчыніць выгляд у &аглядальніку - - + + Opens the selected page in a browser view Адчыніць абраную старонку для прагляду ў аглядальніку @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Чарцёж - + Insert orthographic views Уставіць артаганальныя выгляды - + Insert an orthographic projection of a part in the active drawing Уставіць артаганальную праекцыю дэталі ў бягучы чарцёж @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Чарцёж - + Project shape... Праекцыя фігуры... - + Project shape onto a user-defined plane Праекцыя фігуры на карыстальніцкую плоскасць @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Чарцёж - + &Spreadsheet View Прагляд &Зводнай табліцы - - + + Inserts a view of a selected spreadsheet in the active drawing Уставіць выгляд абранай зводнай табліцы ў бягучы чарцёж @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Чарцёж - + &Symbol &Знак - - + + Inserts a symbol from a svg file in the active drawing Уставіць знак з файла svg у бягучы чарцёж @@ -465,7 +465,7 @@ Do you want to continue? General - Асноўныя + Агульны @@ -635,32 +635,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Старонка + + + Landscape Альбомны - + Portrait Партрэтны - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Уставіць новы %1%2 %3 чарцёж - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Уставіць новы %1%2 %3 (%4) чарцёж @@ -669,41 +674,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Абраць файл SVG, каб адчыніць - - + + Scalable Vector Graphic Маштабаваная вектарная графіка (SVG) - - - - - + + + + + Wrong selection Няправільны выбар - + Select a Part object. Абраць аб'ект Дэталі. - - - - - - - - No page found - Старонка не знойдзена - @@ -711,32 +706,42 @@ Do you want to continue? + No page found + Старонка не знойдзена + + + + + + + + Create a page first. Спачатку стварыць старонку. - + Select exactly one Part object. Выберыце толькі адзін аб'ект Дэталі. - - + + Select one Page object. Абраць адзін аб'ект Старонкі. - + All Files Усе файлы - + Export page Экспартаваць старонку - + Select exactly one Spreadsheet object. Выберыце толькі адзін аб'ект Зводнай табліцы. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ca.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ca.ts index a08544cf2c..256d066f81 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ca.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ca.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Dibuixant - + &Annotation &Anotació - - + + Inserts an Annotation view in the active drawing Insereix una nota en el dibuix actiu @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Dibuixant - + &Clip &Retalla - - + + Inserts a clip group in the active drawing Insereix un grup de retall al full de disseny actiu @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Dibuixant - + &Draft View &Vista Croquis - - + + Inserts a Draft view of the selected object(s) in the active drawing Insereix una vista de croquis de l'objecte o objectes seleccionats en el dibuix actiu @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Fitxer - + &Export page... &Exportar pàgina... - - + + Export a page to an SVG file Exporta una pàgina a un arxiu SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Dibuixant - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Dibuixant - + Insert view in drawing Inserir una vista en el dibuix - + Insert a new View of a Part in the active drawing Insereix una nova Vista d'una Part en el dibuix actiu @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Dibuixant - + Open &browser view O&bre una vista de navegador - - + + Opens the selected page in a browser view Obre la pàgina seleccionada en una vista de navegador @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Dibuixant - + Insert orthographic views Inserir vistes ortogràfiques - + Insert an orthographic projection of a part in the active drawing Insereix una projecció ortogonal d'una part del dibuix actual @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Dibuixant - + Project shape... Projecta la forma... - + Project shape onto a user-defined plane Projecta la forma en un pla definit d'usuari @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Dibuixant - + &Spreadsheet View &Visualització del full de càlcul - - + + Inserts a view of a selected spreadsheet in the active drawing Insereix una vista del full de càlcul seleccionat al dibuix actiu @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Dibuixant - + &Symbol &Símbol - - + + Inserts a symbol from a svg file in the active drawing Insereix un símbol des d'un fitxer svg en el dibuix actiu @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Pàgina + + + Landscape Paisatge - + Portrait Vertical - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Insereix dibuix de %3 de %1%2 nou - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Insereix dibuix de %3 (%4) de %1%2 nou @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Triar un fitxer SVG per obrir - - + + Scalable Vector Graphic Vector grafic escalable - - - - - + + + + + Wrong selection Selecció incorrecta - + Select a Part object. Selecciona part del objecte. - - - - - - - - No page found - Cap pàgina trobada - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + Cap pàgina trobada + + + + + + + + Create a page first. Crear una pàgina primer. - + Select exactly one Part object. Seleccioneu exactament part de l'objecte. - - + + Select one Page object. Seleccioneu un objecte Page. - + All Files Tots els fitxers - + Export page Exportar pàgina - + Select exactly one Spreadsheet object. Selecciona exactament un objecte de full de càlcul. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_cs.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_cs.ts index 93cba5a4e3..5afb9b2c10 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_cs.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_cs.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Výkres - + &Annotation &Poznámka - - + + Inserts an Annotation view in the active drawing Vloží zobrazení poznámky v aktivním výkresu @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Výkres - + &Clip Výřez - - + + Inserts a clip group in the active drawing Vložení výřezu skupiny v aktivním výkresu @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Výkres - + &Draft View &Pohled z Návrhu - - + + Inserts a Draft view of the selected object(s) in the active drawing Vloží pohled vybraných objektů z Návrhu do aktivního výkresu @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Soubor - + &Export page... &Exportovat stránku... - - + + Export a page to an SVG file Exportovat stránku do souboru SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Výkres - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Výkres - + Insert view in drawing Vložit pohled do výkresu - + Insert a new View of a Part in the active drawing Vložit nový pohled na díl do aktivního výkresu @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Výkres - + Open &browser view Otevřít prohlížeč - - + + Opens the selected page in a browser view Otevře vybranou stránku v prohlížeči @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Výkres - + Insert orthographic views Vložit pravoúhlé zobrazení - + Insert an orthographic projection of a part in the active drawing V aktivním výkresu vložit pravoúhlé promítání části @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Výkres - + Project shape... Projekce tvaru... - + Project shape onto a user-defined plane Projekce tvaru na plochu definovanou uživatelem @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Výkres - + &Spreadsheet View Zobrazení Tabulky - - + + Inserts a view of a selected spreadsheet in the active drawing Vloží zobrazení vybrané tabulky v aktivním výkresu @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Výkres - + &Symbol &Symbol - - + + Inserts a symbol from a svg file in the active drawing Vložit symbol ze souboru svg do aktivního výkresu @@ -635,32 +635,37 @@ Chcete pokračovat? Drawing_NewPage - + + Page + Stránka + + + Landscape Na šířku - + Portrait Na výšku - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Vložit nový %1%2 %3 výkres - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Vložit nový %1%2 %3 (%4) výkres @@ -669,41 +674,31 @@ Chcete pokračovat? QObject - + Choose an SVG file to open Zvolte soubor SVG pro otevření - - + + Scalable Vector Graphic Škálovatelná vektorová grafika - - - - - + + + + + Wrong selection Neplatný výběr - + Select a Part object. Vybrat díl. - - - - - - - - No page found - Stránka nebyla nalezena - @@ -711,32 +706,42 @@ Chcete pokračovat? + No page found + Stránka nebyla nalezena + + + + + + + + Create a page first. Vytvořte nejprve stránku. - + Select exactly one Part object. Vyberte právě jednu součást. - - + + Select one Page object. Vyberte jeden objekt stránky. - + All Files Všechny soubory - + Export page Exportovat stránku - + Select exactly one Spreadsheet object. Vyberte právě jeden objekt Tabulky. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_de.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_de.ts index 37e62e3265..cac297b93a 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_de.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_de.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Zeichnung - + &Annotation &Anmerkung - - + + Inserts an Annotation view in the active drawing Fügt eine Anmerkungsansicht in die aktive Zeichnung ein @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Zeichnung - + &Clip &Ausschnitt - - + + Inserts a clip group in the active drawing Eine Auschnittsgruppe in die aktive Zeichnung einfügen @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Zeichnung - + &Draft View &Entwurfsansicht - - + + Inserts a Draft view of the selected object(s) in the active drawing Fügt eine Entwurfsansicht der(des) ausgewählten Objekte(s) in die aktive Zeichnung ein @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Datei - + &Export page... Seite &exportieren... - - + + Export a page to an SVG file Seite in SVG-Datei exportieren @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Zeichnung - + Insert new A3 landscape drawing Neue A3-Zeichung einfügen (im Querformat) @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Zeichnung - + Insert view in drawing Ansicht in Zeichnung einfügen - + Insert a new View of a Part in the active drawing Neue Ansicht eines Teils in aktive Zeichnung einfügen @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Zeichnung - + Open &browser view &Browser-Ansicht öffnen - - + + Opens the selected page in a browser view Öffnet die ausgewählte Seite in einer Browseransicht @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Zeichnung - + Insert orthographic views Orthografische Ansichten einfügen - + Insert an orthographic projection of a part in the active drawing Orthografische Projektion eines Bauteils in die aktive Zeichnung einfügen @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Zeichnung - + Project shape... Fläche projizieren... - + Project shape onto a user-defined plane Fläche auf eine benutzerdefinierte Ebene projizieren @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Zeichnung - + &Spreadsheet View Tabellenan&sicht - - + + Inserts a view of a selected spreadsheet in the active drawing Fügt eine Ansicht einer ausgewählte Kalkulationstabelle in die aktive Zeichnung ein @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Zeichnung - + &Symbol &Symbol - - + + Inserts a symbol from a svg file in the active drawing Fügt ein Symbol aus einer SVG-Datei in der aktiven Zeichnung ein @@ -634,32 +634,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Seite + + + Landscape Querformat - + Portrait Hochformat - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Neue %1%2 %3 Zeichnung einfügen - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Neue %1%2 %3 (%4) Zeichnung einfügen @@ -668,41 +673,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Wählen Sie eine SVG-Datei zum Öffnen aus - - + + Scalable Vector Graphic Skalierbare Vektorgrafik - - - - - + + + + + Wrong selection Falsche Auswahl - + Select a Part object. Wählen Sie ein Teile-Objekt aus.. - - - - - - - - No page found - Keine Seite gefunden - @@ -710,32 +705,42 @@ Do you want to continue? + No page found + Keine Seite gefunden + + + + + + + + Create a page first. Erstellen Sie zunächst eine Seite. - + Select exactly one Part object. Wählen Sie genau ein Teil-Objekt. - - + + Select one Page object. Wählen Sie ein Page-Objekt aus. - + All Files Alle Dateien - + Export page Seite exportieren - + Select exactly one Spreadsheet object. Wählen Sie genau ein Kalkulationstabellen-Objekt. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_el.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_el.ts index a2f1d7a5a4..b18adcb0ae 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_el.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_el.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Σχέδιο - + &Annotation & Σχολιασμός - - + + Inserts an Annotation view in the active drawing Εισάγει μια προβολή Περιγραφής στο ενεργό σχέδιο @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Σχέδιο - + &Clip Αποκοπή - - + + Inserts a clip group in the active drawing Εισάγει μια ομάδα αποκοπής στο ενεργό σχέδιο @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Σχέδιο - + &Draft View Προβολή Προσχε&δίου - - + + Inserts a Draft view of the selected object(s) in the active drawing Εισάγει μια προβολή Προσχεδίου του επιλεγμένου αντικειμένου(ων) στο ενεργό σχέδιο @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Αρχείο - + &Export page... Εξαγωγή σελίδας... - - + + Export a page to an SVG file Εξαγάγετε μια σελίδα σε ένα αρχείο SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Σχέδιο - + Insert new A3 landscape drawing Εισαγωγή νέου σχεδίου A3 landscape @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Σχέδιο - + Insert view in drawing Εισαγάγετε προβολή στο σχέδιο - + Insert a new View of a Part in the active drawing Εισαγάγετε μια νέα Προβολή ενός Εξαρτήματος στο ενεργό σχέδιο @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Σχέδιο - + Open &browser view Ανοίξτε την προβολή περιηγητή - - + + Opens the selected page in a browser view Ανοίγει την επιλεγμένη σελίδα σε προβολή περιηγητή @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Σχέδιο - + Insert orthographic views Εισαγάγετε ορθογραφικές προβολές - + Insert an orthographic projection of a part in the active drawing Εισαγάγετε μια ορθογραφική προβολή ενός εξαρτήματος στο ενεργό σχέδιο @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Σχέδιο - + Project shape... Προβάλετε σχήμα... - + Project shape onto a user-defined plane Προβάλετε σχήμα πάνω σε επίπεδο που ορίζεται από τον χρήστη @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Σχέδιο - + &Spreadsheet View Προβολή Υπολογι&στικού φύλλου - - + + Inserts a view of a selected spreadsheet in the active drawing Εισάγει μια προβολή ενός επιλεγμένου υπολογιστικού φύλλου στο ενεργό σχέδιο @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Σχέδιο - + &Symbol &Σύμβολο - - + + Inserts a symbol from a svg file in the active drawing Εισάγει ένα σύμβολο από ένα αρχείο svg στο ενεργό σχέδιο @@ -635,32 +635,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Σελίδα + + + Landscape Τοπίο - + Portrait Πορτρέτο - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Εισαγάγετε νέο %1%2%3 σχέδιο - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Εισαγάγετε νέο %1%2 %3 (%4) σχέδιο @@ -669,41 +674,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Επιλέξτε ένα αρχείο SVG για άνοιγμα - - + + Scalable Vector Graphic Αρχείο Κλιμακωτών Διανυσματικών Γραφικών - - - - - + + + + + Wrong selection Λάθος επιλογή - + Select a Part object. Επιλέξτε ένα Εξάρτημα. - - - - - - - - No page found - Δεν βρέθηκε σελίδα - @@ -711,32 +706,42 @@ Do you want to continue? + No page found + Δεν βρέθηκε σελίδα + + + + + + + + Create a page first. Δημιουργήστε πρώτα μια σελίδα. - + Select exactly one Part object. Επιλέξτε ακριβώς ένα Εξάρτημα. - - + + Select one Page object. Επιλέξτε μια Σελίδα. - + All Files Όλα τα Αρχεία - + Export page Εξαγάγετε σελίδα - + Select exactly one Spreadsheet object. Επιλέξτε ακριβώς ένα Υπολογιστικό Φύλλο. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_es-AR.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_es-AR.ts index 7d8abe6379..9844b161ac 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_es-AR.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_es-AR.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Dibujo - + &Annotation &Anotación - - + + Inserts an Annotation view in the active drawing Inserta una anotación en el dibujo activo @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Dibujo - + &Clip &Clip - - + + Inserts a clip group in the active drawing Inserta un clip de grupo en el actual dibujo @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Dibujo - + &Draft View & Vista Boceto - - + + Inserts a Draft view of the selected object(s) in the active drawing Inserta una vista de boceto del/los objeto(s) seleccionado(s) en el dibujo activo @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Archivo - + &Export page... &Exportar página... - - + + Export a page to an SVG file Exportar una página a un archivo SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Dibujo - + Insert new A3 landscape drawing Inserta un nuevo dibujo en formato A3 @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Dibujo - + Insert view in drawing Insertar vista en el dibujo - + Insert a new View of a Part in the active drawing Insertar una nueva Vista de una Pieza en el dibujo activo @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Dibujo - + Open &browser view Abrir &vista de navegador - - + + Opens the selected page in a browser view Abre la página seleccionada en una vista de navegador @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Dibujo - + Insert orthographic views Insertar vistas ortogonales - + Insert an orthographic projection of a part in the active drawing Inserta una proyección ortogonal de una pieza en el dibujo activo @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Dibujo - + Project shape... Formas del proyecto... - + Project shape onto a user-defined plane Projectar silueta a un plano definido por el usuario @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Dibujo - + &Spreadsheet View Vista &Hoja de cálculo - - + + Inserts a view of a selected spreadsheet in the active drawing Inserta una vista de una hoja de cálculo seleccionada en el dibujo activo @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Dibujo - + &Symbol &Símbolo - - + + Inserts a symbol from a svg file in the active drawing Inserta un símbolo desde un archivo svg en el dibujo activo @@ -635,32 +635,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Página + + + Landscape Horizontal - + Portrait Vertical - + %1%2 %3 %1 %2 %3 - + Insert new %1%2 %3 drawing Inserte el nuevo dibujo de %1 %2 %3 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Inserte nuevo dibujo %1%2 %3 (%4) @@ -669,41 +674,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Seleccionar un archivo SVG para abrir - - + + Scalable Vector Graphic Gráfico vectorial escalable - - - - - + + + + + Wrong selection Selección Incorrecta - + Select a Part object. Seleccione un objeto Pieza. - - - - - - - - No page found - No se ha encontrado una página de dibujo - @@ -711,32 +706,42 @@ Do you want to continue? + No page found + No se ha encontrado una página de dibujo + + + + + + + + Create a page first. Cree una página de dibujo primero. - + Select exactly one Part object. Seleccione un único objeto pieza. - - + + Select one Page object. Seleccionar un objeto Página. - + All Files Todos los Archivos - + Export page Exportar página - + Select exactly one Spreadsheet object. Seleccione exactamente un objeto de hoja de cálculo. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_es-ES.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_es-ES.ts index 5e50777041..efe6eaffdf 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_es-ES.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_es-ES.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Dibujo - + &Annotation &Anotación - - + + Inserts an Annotation view in the active drawing Inserta una anotación en el dibujo activo @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Dibujo - + &Clip &Clip - - + + Inserts a clip group in the active drawing Inserta un clip de grupo en el actual dibujo @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Dibujo - + &Draft View & Vista Boceto - - + + Inserts a Draft view of the selected object(s) in the active drawing Inserta una vista de boceto del/los objeto(s) seleccionado(s) en el dibujo activo @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Archivo - + &Export page... &Exportar página... - - + + Export a page to an SVG file Exportar una página a un archivo SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Dibujo - + Insert new A3 landscape drawing Inserta un nuevo dibujo en formato A3 @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Dibujo - + Insert view in drawing Insertar vista en el dibujo - + Insert a new View of a Part in the active drawing Insertar una nueva Vista de una Pieza en el dibujo activo @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Dibujo - + Open &browser view Abrir &vista de navegador - - + + Opens the selected page in a browser view Abre la página seleccionada en una vista de navegador @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Dibujo - + Insert orthographic views Insertar vistas ortogonales - + Insert an orthographic projection of a part in the active drawing Insertar una proyección ortogonal de una parte in el actual dibujo @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Dibujo - + Project shape... Formas del proyecto... - + Project shape onto a user-defined plane Projectar silueta a un plano definido por el usuario @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Dibujo - + &Spreadsheet View Vista &Hoja de cálculo - - + + Inserts a view of a selected spreadsheet in the active drawing Inserta una vista de una hoja de cálculo seleccionada en el dibujo activo @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Dibujo - + &Symbol &Símbolo - - + + Inserts a symbol from a svg file in the active drawing Inserta un símbolo desde un archivo svg en el dibujo activo @@ -635,32 +635,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Página + + + Landscape Apaisado - + Portrait Vertical - + %1%2 %3 %1 %2 %3 - + Insert new %1%2 %3 drawing Inserte el nuevo dibujo de %1 %2 %3 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Inserte nuevo dibujo %1%2 %3 (%4) @@ -669,41 +674,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Seleccionar un archivo SVG para abrir - - + + Scalable Vector Graphic Gráfico vectorial escalable - - - - - + + + + + Wrong selection Selección incorrecta - + Select a Part object. Seleccionar un objeto Pieza. - - - - - - - - No page found - No se ha encontrado una página de dibujo - @@ -711,32 +706,42 @@ Do you want to continue? + No page found + No se ha encontrado una página de dibujo + + + + + + + + Create a page first. Cree una página de dibujo primero. - + Select exactly one Part object. Seleccione un único objeto pieza. - - + + Select one Page object. Seleccionar un objeto Página. - + All Files Todos los Archivos - + Export page Exportar página - + Select exactly one Spreadsheet object. Seleccione exactamente un objeto de hoja de cálculo. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_eu.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_eu.ts index af6eaba462..9fbb911bfe 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_eu.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_eu.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Marrazkia - + &Annotation &Oharpena - - + + Inserts an Annotation view in the active drawing Oharpen-bista bat txertatzen du marrazki aktiboan @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Marrazkia - + &Clip &Ebaki - - + + Inserts a clip group in the active drawing Txertatu ebaketa talde bat marrazki aktiboan @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Marrazkia - + &Draft View &Zirriborratu bista - - + + Inserts a Draft view of the selected object(s) in the active drawing Txertatu marrazki aktiboan hautatutako objektu(ar)en Zirriborro ikuspegi bat @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Fitxategia - + &Export page... &Esportatu orria... - - + + Export a page to an SVG file Esportatu orri bat SVG fitxategi batera @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Marrazkia - + Insert new A3 landscape drawing Txertatu A3 tamainako marrazki horizontala @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Marrazkia - + Insert view in drawing Txertatu bista marrazkian - + Insert a new View of a Part in the active drawing Txertatu zati baten bista berria marrazki aktiboan @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Marrazkia - + Open &browser view Ireki &nabigatzailearen ikuspegia - - + + Opens the selected page in a browser view Hautatutako orria nabigatzaile batean irekitzen du @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Marrazkia - + Insert orthographic views Txertatu bista ortografikoak - + Insert an orthographic projection of a part in the active drawing Txertatu zati baten proiekzio ortografiko bat marrazki aktiboan @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Marrazkia - + Project shape... Proiektatu forma... - + Project shape onto a user-defined plane Proiektatu forma erabiltzaileak definitutako plano baten gainean @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Marrazkia - + &Spreadsheet View &Kalkulu-orria ikuspegia - - + + Inserts a view of a selected spreadsheet in the active drawing Hautatutako kalkulu-orri baten bista bat txertatzen du marrazki aktiboan @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Marrazkia - + &Symbol I&kurra - - + + Inserts a symbol from a svg file in the active drawing SVG fitxategi bateko ikur bat txertatzen du marrazki aktiboan @@ -635,32 +635,37 @@ Jarraitu nahi duzu? Drawing_NewPage - + + Page + Orrialdea + + + Landscape Horizontala - + Portrait Bertikala - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Txertatu %1%2 %3 marrazki berria - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Txertatu %1%2 %3 (%4) marrazki berria @@ -669,41 +674,31 @@ Jarraitu nahi duzu? QObject - + Choose an SVG file to open Hautatu SVG fitxategi bat irekitzeko - - + + Scalable Vector Graphic Grafiko bektorial eskalagarria - - - - - + + + + + Wrong selection Hautapen okerra - + Select a Part object. Hautatu objektu zati bat. - - - - - - - - No page found - Ez da orririk aurkitu - @@ -711,32 +706,42 @@ Jarraitu nahi duzu? + No page found + Ez da orririk aurkitu + + + + + + + + Create a page first. Aldez aurretik sortu orri bat. - + Select exactly one Part object. Hautatu objektu zati zehatz bat. - - + + Select one Page object. Hautatu objektu-orri bat. - + All Files Fitxategi guztiak - + Export page Esportatu orria - + Select exactly one Spreadsheet object. Hautatu kalkulu-orri objektu zehatz bat. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_fi.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_fi.ts index cd67f80d6f..9a8606c049 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_fi.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_fi.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Piirros - + &Annotation &Huomautukset - - + + Inserts an Annotation view in the active drawing Lisää huomautus aktiiviseen piirrustukseen @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Piirros - + &Clip &Leikkaa - - + + Inserts a clip group in the active drawing Lisää leikeryhmän aktiiviseen tekniseen piirustukseen @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Piirros - + &Draft View & Vedosnäkymä - - + + Inserts a Draft view of the selected object(s) in the active drawing Lisää valitun kohteen (kohteiden) vedosnäkymän aktiivisessa piirroksessa @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Tiedosto - + &Export page... &Vie sivu... - - + + Export a page to an SVG file Vie sivu SVG-tiedostoon @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Piirros - + Insert new A3 landscape drawing Lisää uusi A3 piirustus @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Piirros - + Insert view in drawing Lisää näkymä piirrokseen - + Insert a new View of a Part in the active drawing Lisää uusi näkymä aktiivisen piirustuksen osaan @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Piirros - + Open &browser view Avaa &selaimen näkymä - - + + Opens the selected page in a browser view Avaa valitun sivun selainnäkymässä @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Piirros - + Insert orthographic views Lisää ortografisia näkymiä - + Insert an orthographic projection of a part in the active drawing Lisää ortografinen projektio aktiivisen teknisen piirroksen osaan @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Piirros - + Project shape... Projektin muoto... - + Project shape onto a user-defined plane Projektin muoto käyttäjän määrittelemän tason päälle @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Piirros - + &Spreadsheet View Taulukkonäkymä - - + + Inserts a view of a selected spreadsheet in the active drawing Lisää valitun kohteen vedosnäkymän aktiivisessa piirroksessa @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Piirros - + &Symbol & Symboli - - + + Inserts a symbol from a svg file in the active drawing Lisää symbolin svg-tiedostosta aktiiviseen piirrokseen @@ -635,32 +635,37 @@ Haluatko jatkaa? Drawing_NewPage - + + Page + Sivu + + + Landscape Vaakasuora - + Portrait Pystysuora - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Lisää uusi %1%2 %3 piirros - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Laita uusi %1%2 %3 (%4) piirros @@ -669,41 +674,31 @@ Haluatko jatkaa? QObject - + Choose an SVG file to open Valitse avattava SVG-tiedosto - - + + Scalable Vector Graphic Skaalautuva vektorigrafiikka - - - - - + + + + + Wrong selection Väärä valinta - + Select a Part object. Valitse osa-objekti. - - - - - - - - No page found - Sivua ei löydy - @@ -711,32 +706,42 @@ Haluatko jatkaa? + No page found + Sivua ei löydy + + + + + + + + Create a page first. Luo sivu ensin. - + Select exactly one Part object. Valitse täsmälleen yksi osa-kohde. - - + + Select one Page object. Valitse yksi sivu-objekti. - + All Files Kaikki tiedostot - + Export page Vie sivu - + Select exactly one Spreadsheet object. Valitse täsmälleen yksi taulukkokohde. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_fr.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_fr.ts index edf1e153f5..dd33caa88a 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_fr.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_fr.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Mise en plan - + &Annotation &Annotation - - + + Inserts an Annotation view in the active drawing Insère une annotation sur la feuille active @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing - Mise en plan + Dessin - + &Clip &Masque - - + + Inserts a clip group in the active drawing Insère un groupe de masquage sur la feuille active @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Mise en plan - + &Draft View Vue &Draft - - + + Inserts a Draft view of the selected object(s) in the active drawing Insère une vue brouillon des objets sélectionnés dans le dessin actif @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Fichier - + &Export page... &Exporter la page... - - + + Export a page to an SVG file Exporter une page vers un fichier SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Mise en plan - + Insert new A3 landscape drawing Insère une nouvelle feuille A3 paysage @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Mise en plan - + Insert view in drawing Insérer une vue dans la page - + Insert a new View of a Part in the active drawing Insérer une nouvelle vue de la pièce dans la page active @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Mise en plan - + Open &browser view Vue &web - - + + Opens the selected page in a browser view Ouvre la feuille sélectionnée dans le navigateur web @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Mise en plan - + Insert orthographic views Insérer des vues orthogonales - + Insert an orthographic projection of a part in the active drawing Insérer une projection orthogonale d'une forme sur la feuille active @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Mise en plan - + Project shape... Projeter la forme... - + Project shape onto a user-defined plane Projeter une forme sur un plan défini par l'utilisateur @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Mise en plan - + &Spreadsheet View Vue &feuille de calcul - - + + Inserts a view of a selected spreadsheet in the active drawing Insère une vue d'une feuille de calcul sélectionnée sur le dessin actif @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Mise en plan - + &Symbol &Symbole - - + + Inserts a symbol from a svg file in the active drawing Insère un symbole à partir d'un fichier svg dans la mise en plan active @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Feuille + + + Landscape Paysage - + Portrait Portrait - + %1%2 %3 %1 %2 %3 - + Insert new %1%2 %3 drawing Insérer le nouveau %1 %2 %3 dessin - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Insérer le nouveau dessin %1 %2 %3 (%4) @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Choisir un fichier SVG à ouvrir - - + + Scalable Vector Graphic Graphique Vectoriel Adaptable (Svg) - - - - - + + + + + Wrong selection Mauvaise sélection - + Select a Part object. Sélectionnez un objet pièce. - - - - - - - - No page found - Aucune page trouvée - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + Aucune page trouvée + + + + + + + + Create a page first. Créer d'abord une page. - + Select exactly one Part object. Sélectionnez exactement un seul objet Pièce. - - + + Select one Page object. Sélectionnez un objet Page. - + All Files Tous les fichiers - + Export page Exporter la page - + Select exactly one Spreadsheet object. Merci de sélectionner un seul objet Spreadsheet diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_gl.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_gl.ts index 877bb145b5..605e054424 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_gl.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_gl.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Debuxo - + &Annotation &Apuntamento - - + + Inserts an Annotation view in the active drawing Insire un Apuntamento no debuxo actual @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Debuxo - + &Clip &Recortar - - + + Inserts a clip group in the active drawing Insire un grupo "clip" no debuxo actual @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Debuxo - + &Draft View &Vista Bosquexo - - + + Inserts a Draft view of the selected object(s) in the active drawing Insire unha vista dos obxectos Bosquexo escolmados da folla activa @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Ficheiro - + &Export page... &Exportar páxina... - - + + Export a page to an SVG file Exportar unha páxina a un ficheiro SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Debuxo - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Debuxo - + Insert view in drawing Inserir unha vista no debuxo - + Insert a new View of a Part in the active drawing Inserir unha nova Vista de Peza no debuxo activo @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Debuxo - + Open &browser view Abrir &vista de buscador - - + + Opens the selected page in a browser view Abre a páxina escollida nunha vista de buscador @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Debuxo - + Insert orthographic views Inserir vistas ortogonais - + Insert an orthographic projection of a part in the active drawing Insire unha proxección ortogonal duna peza no debuxo actual @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Debuxo - + Project shape... Proxectar forma... - + Project shape onto a user-defined plane Proxecta unha forma sobre un plano definido pelo usuario @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Debuxo - + &Spreadsheet View &Vista de folla de cálculo - - + + Inserts a view of a selected spreadsheet in the active drawing Insire unha vista da folla de cálculo escollida no debuxo activo @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Debuxo - + &Symbol &Símbolo - - + + Inserts a symbol from a svg file in the active drawing Insire un símbolo dende un ficheiro svg no debuxo activo @@ -635,32 +635,37 @@ Quere seguir? Drawing_NewPage - + + Page + Páxina + + + Landscape Horizontal - + Portrait Vertical - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Insire o novo debuxo de %1%2 %3 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Insire o novo debuxo de %1%2 %3 (%4) @@ -669,41 +674,31 @@ Quere seguir? QObject - + Choose an SVG file to open Escolme un ficheiro SVG para abrir - - + + Scalable Vector Graphic Gráfico vectorial escalábel - - - - - + + + + + Wrong selection Escolma errada - + Select a Part object. Escolme un obxecto Peza. - - - - - - - - No page found - Páxina non atopada - @@ -711,32 +706,42 @@ Quere seguir? + No page found + Páxina non atopada + + + + + + + + Create a page first. Primeiro, cree unha páxina. - + Select exactly one Part object. Escolme só un obxecto Peza. - - + + Select one Page object. Escolme un obxecto Páxina. - + All Files Tódolos ficheiros - + Export page Exportar páxina - + Select exactly one Spreadsheet object. Escolme só un obxecto Folla de cálculo. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_hr.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_hr.ts index f12746ad17..725f3627a8 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_hr.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_hr.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Crtež - + &Annotation Anotacija - - + + Inserts an Annotation view in the active drawing Dodaje anotacijski pogled aktivnom crtežu @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Crtež - + &Clip &Izrez - - + + Inserts a clip group in the active drawing Dodaje izrezanu grupu aktivnom pogledu @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Crtež - + &Draft View Prikaz &Crteža - - + + Inserts a Draft view of the selected object(s) in the active drawing Umetnite prikaz(e) crteža u aktivni crtež @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Datoteka - + &Export page... Izvedi stranicu... - - + + Export a page to an SVG file Izvoz stranicu za SVG datoteku @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Crtež - + Insert new A3 landscape drawing Umetanje novog A3 pejzaža za crtanje @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Crtež - + Insert view in drawing Umetnite pogled u crtežu - + Insert a new View of a Part in the active drawing Umetnite novi pogled na dio u aktivnom crtežu @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Crtež - + Open &browser view Otvori za pregledavanje - - + + Opens the selected page in a browser view Otvara odabrani crtež u modu pregledavanja @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Crtež - + Insert orthographic views Umetni ortografske poglede - + Insert an orthographic projection of a part in the active drawing Postavi ortografsku projekciju parta u aktivnom crtežu @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Crtež - + Project shape... Projecirani oblik ... - + Project shape onto a user-defined plane Projeciraj oblik na korisnički definiranu ravninu @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Crtež - + &Spreadsheet View Prikaz &Tabela - - + + Inserts a view of a selected spreadsheet in the active drawing Umetnite prikaz(e) tabele(a) u aktivni crtež @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Crtež - + &Symbol &Simbol - - + + Inserts a symbol from a svg file in the active drawing Umetni simbol iz SVG dokumenta u aktivni crtež @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Stranica + + + Landscape Pejzaž - + Portrait Portret - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Umetanje novog %1%2 %3 crteža - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Umetanje novog %1%2 %3 (%4) crteža @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Odaberite SVG datoteku za otvaranje - - + + Scalable Vector Graphic Skalabilna vektorska grafika - - - - - + + + + + Wrong selection Pogrešan odabir - + Select a Part object. Odaberite dio objekta. - - - - - - - - No page found - Stranica nije pronađena - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + Stranica nije pronađena + + + + + + + + Create a page first. Najprije napravite stranicu. - + Select exactly one Part object. Odaberite točno jedan Dio-objekt. - - + + Select one Page object. Odaberite jednu stranicu objekta - + All Files Sve datoteke - + Export page Izvedi stranicu - + Select exactly one Spreadsheet object. Odaberite točno jedan objekt tablice. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_hu.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_hu.ts index 15428e85a3..46a5d3da56 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_hu.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_hu.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Rajz - + &Annotation Szövegmagyarázat - - + + Inserts an Annotation view in the active drawing Egy jegyzet nézet beillesztése az aktív rajzba @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Rajz - + &Clip Kivágás - - + + Inserts a clip group in the active drawing Kivágás csoport beillesztése az aktív rajzba @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Rajz - + &Draft View Tervrajz nézet - - + + Inserts a Draft view of the selected object(s) in the active drawing Beilleszt a kiválasztott tárgy(ak)ról egy Tervezet nézetet az aktív rajzba @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Fájl - + &Export page... Oldal exportálása... - - + + Export a page to an SVG file Egy oldal exportálása SVG-fájlba @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Rajz - + Insert new A3 landscape drawing Új A3 fekvő rajzot illeszt @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Rajz - + Insert view in drawing Nézet beszúrása a rajzba - + Insert a new View of a Part in the active drawing Egy rész új nézetének beszúrása az aktív rajzba @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Rajz - + Open &browser view &Böngészőnézet megnyitása - - + + Opens the selected page in a browser view Megnyitja a kijelölt oldalt egy böngészőnézetben @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Rajz - + Insert orthographic views Merőleges vetítés nézetek beszúrása - + Insert an orthographic projection of a part in the active drawing Az aktív rajz egy részének a merőleges vetítés beszúrása @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Rajz - + Project shape... Terv formák... - + Project shape onto a user-defined plane A felhasználó által meghatározott síkra vetített formák @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Rajz - + &Spreadsheet View &Számolótábla megtekintése - - + + Inserts a view of a selected spreadsheet in the active drawing Alkatrészlista beillesztése az aktív rajzba @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Rajz - + &Symbol &Szimbólum - - + + Inserts a symbol from a svg file in the active drawing Egy szimbólumot szúr be az aktív rajzon szereplő svg-fájlból @@ -635,32 +635,37 @@ Szeretné folytatni? Drawing_NewPage - + + Page + Oldal + + + Landscape Fekvő - + Portrait Álló - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Új %1%2 %3 rajz beszúrása - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Új %1%2 %3 (%4) rajz beszúrása @@ -669,41 +674,31 @@ Szeretné folytatni? QObject - + Choose an SVG file to open SVG fájl kiválasztása megnyitáshoz - - + + Scalable Vector Graphic Méretezhető vektorgrafika - - - - - + + + + + Wrong selection Nem megfelelő kiválasztás - + Select a Part object. Objektum rész kiválasztása. - - - - - - - - No page found - Az oldal nem található - @@ -711,32 +706,42 @@ Szeretné folytatni? + No page found + Az oldal nem található + + + + + + + + Create a page first. Először hozzon létre egy oldalt. - + Select exactly one Part object. Jelöljön ki pontosan egy tárgy alkotórészt. - - + + Select one Page object. Válasszon ki egy teljes oldal tárgyat. - + All Files Összes fájl - + Export page Oldal exportálása - + Select exactly one Spreadsheet object. Jelöljön ki pontosan egy számolótábla tárgyat. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_id.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_id.ts index e1458083db..3b984c1d5f 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_id.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_id.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Gambar - + &Annotation &Annotation - - + + Inserts an Annotation view in the active drawing Inserts an Annotation view in the active drawing @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Gambar - + &Clip & Klip - - + + Inserts a clip group in the active drawing Memasukkan sekelompok klip dalam gambar aktif @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Gambar - + &Draft View & Rancangan View - - + + Inserts a Draft view of the selected object(s) in the active drawing Menyisipkan Draft pandangan dari objek yang dipilih (s) dalam aktif menggambar @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Mengajukan - + &Export page... & Halaman Ekspor... - - + + Export a page to an SVG file Mengekspor halaman ke file SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Gambar - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Gambar - + Insert view in drawing Masukkan tampilan dalam gambar - + Insert a new View of a Part in the active drawing Masukkan Tampilan Baru dari Bagian dalam gambar aktif @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Gambar - + Open &browser view Buka & tampilan browser - - + + Opens the selected page in a browser view Membuka halaman yang dipilih dalam browser tampilan @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Gambar - + Insert orthographic views Masukkan tampilan ortografi - + Insert an orthographic projection of a part in the active drawing Masukkan proyeksi ortografi bagian dalam gambar aktif @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Gambar - + Project shape... Bentuk proyek... - + Project shape onto a user-defined plane Bentuk proyek ke pesawat yang ditentukan pengguna @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Gambar - + &Spreadsheet View & Tampilan Spreadsheet - - + + Inserts a view of a selected spreadsheet in the active drawing Menyisipkan tampilan spreadsheet terpilih dalam gambar aktif @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Gambar - + &Symbol &Simbol - - + + Inserts a symbol from a svg file in the active drawing Sisipan simbol dari file svg dalam gambar aktif @@ -634,32 +634,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Halaman + + + Landscape Pemandangan - + Portrait Potret - + %1%2 %3 % 1 % 2 % 3 - + Insert new %1%2 %3 drawing Sisipkan baru % 1 % 2 % 3 menggambar - + %1%2 %3 (%4) % 1 % 2 % 3 ( % 4) - + Insert new %1%2 %3 (%4) drawing Sisipkan baru % 1 % 2 % 3 ( % 4) menggambar @@ -668,41 +673,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Pilih file SVG untuk membuka - - + + Scalable Vector Graphic Scalable Vector Graphic - - - - - + + + + + Wrong selection Pilihan salah - + Select a Part object. Pilih objek Bagian. - - - - - - - - No page found - Tidak ditemukan halaman - @@ -710,32 +705,42 @@ Do you want to continue? + No page found + Tidak ditemukan halaman + + + + + + + + Create a page first. Buat halaman terlebih dahulu. - + Select exactly one Part object. Pilih salah satu bagian objek. - - + + Select one Page object. Pilih satu objek Halaman. - + All Files Semua data - + Export page Halaman ekspor - + Select exactly one Spreadsheet object. Pilih salah satu objek Spreadsheet. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_it.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_it.ts index c28121da8b..cee32d279e 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_it.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_it.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Disegno - + &Annotation &Annotazione - - + + Inserts an Annotation view in the active drawing Inserisce un'annotazione nel disegno attivo @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Disegno - + &Clip &Clip - - + + Inserts a clip group in the active drawing Inserisce un gruppo clip nel disegno attivo @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Disegno - + &Draft View Vista &Draft - - + + Inserts a Draft view of the selected object(s) in the active drawing Inserisce nel disegno attivo una vista Draft dell'oggetto(i) selezionato @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File File - + &Export page... &Esporta pagina... - - + + Export a page to an SVG file Esporta una pagina in un file SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Disegno - + Insert new A3 landscape drawing Inserisci un nuovo disegno A3 orizzontale @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Disegno - + Insert view in drawing Inserisci vista nel disegno - + Insert a new View of a Part in the active drawing Inserisce una nuova vista di una parte nel disegno attivo @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Disegno - + Open &browser view Apri finestra &browser - - + + Opens the selected page in a browser view Visualizza la pagina selezionata in una vista browser @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Disegno - + Insert orthographic views Inserisci viste ortogonali - + Insert an orthographic projection of a part in the active drawing Inserisce una proiezione ortogonale di una parte nel disegno attivo @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Disegno - + Project shape... Proietta le forme... - + Project shape onto a user-defined plane Proietta una forma su di un piano definito dall'utente @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Disegno - + &Spreadsheet View Vi&sta foglio di calcolo - - + + Inserts a view of a selected spreadsheet in the active drawing Inserisce nel disegno attivo una vista di un foglio di calcolo selezionato @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Disegno - + &Symbol &Simbolo - - + + Inserts a symbol from a svg file in the active drawing Inserisce un simbolo da un file svg nel disegno attivo @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Pagina + + + Landscape Orizzontale - + Portrait Verticale - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Inserisci nuovo disegno %1 %2 %3 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Inserire il nuovo disegno %1%2 %3 (%4) @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Seleziona un file SVG da aprire - - + + Scalable Vector Graphic Immagine vettoriale scalabile - - - - - + + + + + Wrong selection Selezione errata - + Select a Part object. Seleziona un oggetto Parte. - - - - - - - - No page found - Nessuna pagina trovata - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + Nessuna pagina trovata + + + + + + + + Create a page first. Prima creare una pagina. - + Select exactly one Part object. Selezionare un solo oggetto Parte. - - + + Select one Page object. Seleziona un oggetto Pagina. - + All Files Tutti i file - + Export page Esporta pagina - + Select exactly one Spreadsheet object. Selezionare un solo oggetto Foglio di calcolo. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ja.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ja.ts index bb62798d04..9fbe3922e8 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ja.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ja.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing 図面 - + &Annotation 注釈(&A) - - + + Inserts an Annotation view in the active drawing アクティブな図面に注釈表示を挿入 @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing 図面 - + &Clip クリップ(&C) - - + + Inserts a clip group in the active drawing アクティブな図面にクリップグループを挿入 @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing 図面 - + &Draft View ドラフト・ビュー(&D) - - + + Inserts a Draft view of the selected object(s) in the active drawing アクティブな図面に選択したオブジェクトのドラフト・ビューを挿入 @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File ファイル - + &Export page... ページをエクスポート(&E)... - - + + Export a page to an SVG file ページをSVGファイルにエクスポート @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing 図面 - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing 図面 - + Insert view in drawing 図面にビューを挿入 - + Insert a new View of a Part in the active drawing アクティブな図面に新しい部品の表示を挿入 @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing 図面 - + Open &browser view ブラウザ表示を開く(&b) - - + + Opens the selected page in a browser view ブラウザ表示で選択されているページを開く @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing 図面 - + Insert orthographic views 正投影表示を挿入 - + Insert an orthographic projection of a part in the active drawing アクティブな図面に部品の正投影図を挿入 @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing 図面 - + Project shape... 形状を投影... - + Project shape onto a user-defined plane ユーザー定義面上に形状を投影 @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing 図面 - + &Spreadsheet View スプレッドシートビュー(&S) - - + + Inserts a view of a selected spreadsheet in the active drawing アクティブな図面に選択したスプレッドシートのビューを挿入 @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing 図面 - + &Symbol シンボル(&S) - - + + Inserts a symbol from a svg file in the active drawing 記号をSVGファイルから現在の図面に挿入します @@ -634,33 +634,38 @@ Do you want to continue? Drawing_NewPage - + + Page + ページ + + + Landscape - + Portrait - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing 新しい %1 %2 %3 の図面を挿入 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing 新しい図面を %1%2 %3 (%4) で挿入します @@ -669,41 +674,31 @@ Do you want to continue? QObject - + Choose an SVG file to open 開くSVGファイルを選択 - - + + Scalable Vector Graphic スケーラブル・ベクター・グラフィック - - - - - + + + + + Wrong selection 誤った選択 - + Select a Part object. パーツオブジェクトを選択 - - - - - - - - No page found - ページが見つかりません - @@ -711,32 +706,42 @@ Do you want to continue? + No page found + ページが見つかりません + + + + + + + + Create a page first. 最初にページを作成してください - + Select exactly one Part object. 部品オブジェクトを1 つだけ選択して下さい。 - - + + Select one Page object. ページオブジェクトを1つ選択 - + All Files すべてのファイル - + Export page ページをエクスポート - + Select exactly one Spreadsheet object. スプレッドシートオブジェクトを1 つだけ選択して下さい。 diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ka.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ka.ts index ef7da1d1c8..530a46f513 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ka.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ka.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing ხაზვა - + &Annotation &შენიშვნა - - + + Inserts an Annotation view in the active drawing ჩასვამს ანოტაციის ხედს აქტიურ ნახაზში @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing - ხაზვა + ნახაზი - + &Clip &კვეთა - - + + Inserts a clip group in the active drawing კვეთების ჯგუფის აქტიურ ნახაზში ჩასმა @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing - ხაზვა + ნახაზი - + &Draft View ესკიზური ხედი - - + + Inserts a Draft view of the selected object(s) in the active drawing არჩეული ობიექტ(ებ)-ის ესკიზის აქტიურ ნახაზში ჩადება @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File ფაილი - + &Export page... &გვერდის გატანა... - - + + Export a page to an SVG file გვერდის SVG ფაილში გატანა @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing - ხაზვა + ნახაზი - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing - ხაზვა + ნახაზი - + Insert view in drawing ხედის ხაზში ჩასმა - + Insert a new View of a Part in the active drawing ჩასვამს ნაწილის ახალ ხედს აქტიურ ნახაზში @@ -128,7 +128,7 @@ Drawing - ხაზვა + ნახაზი @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing - ხაზვა + ნახაზი - + Open &browser view ბრაუზერში გახსნა - - + + Opens the selected page in a browser view არჩეული გვერდის ბრაუზერში გახსნა @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing - ხაზვა + ნახაზი - + Insert orthographic views ორთოგრაფიული ხედების ჩასმა - + Insert an orthographic projection of a part in the active drawing ნაწილის ორთოგრაფიული პროექცის აქტიურ ნახაზში ჩასმა @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing - ხაზვა + ნახაზი - + Project shape... ფიგურის პროექცია... - + Project shape onto a user-defined plane ფიგურის პროექცია მოცემულ სიბრტყეზე @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing - ხაზვა + ნახაზი - + &Spreadsheet View &ელცხრილის ხედი - - + + Inserts a view of a selected spreadsheet in the active drawing მონიშნული ელცხრილის ხედის აქტიურ ნახაზში ჩასმა @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing - ხაზვა + ნახაზი - + &Symbol &სიმბოლო - - + + Inserts a symbol from a svg file in the active drawing აქტიურ ნახაზში Svg ფაილიდან სიმბოლოს ჩასმა @@ -635,32 +635,37 @@ Do you want to continue? Drawing_NewPage - + + Page + გვერდი + + + Landscape ლანდშაფტური - + Portrait ვერტიკალური - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing ახალი %1%2%3 ჩასმა ნახაზი - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing ახალი %1%2%3 (%4) ნახაზი @@ -669,41 +674,31 @@ Do you want to continue? QObject - + Choose an SVG file to open აირჩიეთ გასახსნელი SVG ფაილი - - + + Scalable Vector Graphic მასშტაბირებადი ვექტორული გრაფიკა - - - - - + + + + + Wrong selection არასწორი არჩევანი - + Select a Part object. აირჩიეთ ნაწილის ობიექტი. - - - - - - - - No page found - გვერდი არ მოიძებნა - @@ -711,32 +706,42 @@ Do you want to continue? + No page found + გვერდი არ მოიძებნა + + + + + + + + Create a page first. ჯერ შექმენით გვერდი. - + Select exactly one Part object. მონიშნეთ ზუსტად ერთი ნაწილის ტიპის ობიექტი. - - + + Select one Page object. აირჩიეთ ერთგვერდიანი ობიექტი. - + All Files ყველა ფაილი - + Export page გვერდის გატანა - + Select exactly one Spreadsheet object. აირჩიეთ ელცხრილის ზუსტად ერთი ობიექტი. @@ -769,7 +774,7 @@ Do you want to continue? Drawing - ხაზვა + ნახაზი diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ko.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ko.ts index ac03536e02..5713afa0f4 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ko.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ko.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing 드로잉 - + &Annotation 주석(&A) - - + + Inserts an Annotation view in the active drawing 활성 드로잉에서 주석 보기 삽입 @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing 드로잉 - + &Clip 클립(&C) - - + + Inserts a clip group in the active drawing 활성 도면에 클립 그룹을 삽입한다 @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing 드로잉 - + &Draft View 초안 보기(&D) - - + + Inserts a Draft view of the selected object(s) in the active drawing 활성도면에 선택된 물체(들)의 초안 뷰를 삽입한다 @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File 파일 - + &Export page... 페이지 내보내기(&E)... - - + + Export a page to an SVG file SVG 파일로 페이지 내보내기 @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing 드로잉 - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing 드로잉 - + Insert view in drawing 도면에 뷰 삽입 - + Insert a new View of a Part in the active drawing 활성 도면에 파트의 새로운 뷰를 삽입한다 @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing 드로잉 - + Open &browser view 브라우저 보기 열기(&B) - - + + Opens the selected page in a browser view 브라우져 화면에서 선택한 페이지 열기 @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing 드로잉 - + Insert orthographic views 직교 화면을 추가 - + Insert an orthographic projection of a part in the active drawing 활성화된 드로잉에서 파트의 직교 투영을 추가 @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing 드로잉 - + Project shape... 프로젝트 모양... - + Project shape onto a user-defined plane 사용자가 정의한 평면에 모양을 투영 @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing 드로잉 - + &Spreadsheet View 스프레드시트 보기(&S) - - + + Inserts a view of a selected spreadsheet in the active drawing 활성화된 드로잉에 선택한 스프레드 시트의 화면을 추가 @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing 드로잉 - + &Symbol 기호(&S) - - + + Inserts a symbol from a svg file in the active drawing 활성화된 드로잉에 SVG파일로부터 심벌을 추가 @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Page + + + Landscape 가로 - + Portrait 세로 - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing 새 %1%2 %3 도면 삽입하기 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing 새 %1%2 %3 (%4) 도면 삽입하기 @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open 불러올 SVG 파일을 선택하세요 - - + + Scalable Vector Graphic 스케일러블 벡터 그래픽(SVG) - - - - - + + + + + Wrong selection 잘못 된 선택 - + Select a Part object. 부분 오브젝트를 선택합니다. - - - - - - - - No page found - 페이지를 찾을 수 없습니다 - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + 페이지를 찾을 수 없습니다 + + + + + + + + Create a page first. 먼저 페이지를 작성합니다. - + Select exactly one Part object. 정확히 하나의 부분 오브젝트를 선택합니다. - - + + Select one Page object. 하나의 페이지 오브젝트를 선택합니다. - + All Files 모든 파일 - + Export page 페이지 내보내기 - + Select exactly one Spreadsheet object. 스프레드시트 오브젝트를 하나만 선택하십시오. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_nl.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_nl.ts index b5a47c1d68..8c2b826ad9 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_nl.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_nl.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Tekening - + &Annotation Aantekening - - + + Inserts an Annotation view in the active drawing Voeg een aantekening toe aan de actieve tekening @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Tekening - + &Clip &Clip - - + + Inserts a clip group in the active drawing Voegt een clipgroep in de actieve tekening in @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Tekening - + &Draft View &Concept weergave - - + + Inserts a Draft view of the selected object(s) in the active drawing Hiermee voegt u een conceptweergave van het/de geselecteerde object(en) in de actieve tekening @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Bestand - + &Export page... &Exporteer pagina... - - + + Export a page to an SVG file Een pagina naar een SVG-bestand exporteren @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Tekening - + Insert new A3 landscape drawing Nieuwe A3-liggend invoegen @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Tekening - + Insert view in drawing Een weergave in de tekening invoegen - + Insert a new View of a Part in the active drawing Een nieuwe weergave van een onderdeel in de actieve tekening invoegen @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Tekening - + Open &browser view Open &browser scherm - - + + Opens the selected page in a browser view Hiermee opent u de geselecteerde pagina in een browserweergave @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Tekening - + Insert orthographic views Orthografische weergaves invoegen - + Insert an orthographic projection of a part in the active drawing Voeg een orthografische projectie van een onderdeel in de actieve tekening in @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Tekening - + Project shape... Projectvorm... - + Project shape onto a user-defined plane Projecteer vorm op een door de gebruiker gedefinieerd vlak @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Tekening - + &Spreadsheet View &Rekenbladweergave - - + + Inserts a view of a selected spreadsheet in the active drawing Voegt een weergave van een geselecteerd werkblad in de actieve tekening in @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Tekening - + &Symbol &Symbool - - + + Inserts a symbol from a svg file in the active drawing Voegt een symbool van een svg-bestand in de actieve tekening in @@ -634,32 +634,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Pagina + + + Landscape Liggend - + Portrait Staand - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Nieuwe %1%2 %3 -tekening invoegen - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Nieuwe %1%2 %3 (%4)-tekening invoegen @@ -668,41 +673,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Kies een SVG-bestand om te openen - - + + Scalable Vector Graphic Schaalbare vectorafbeelding - - - - - + + + + + Wrong selection Verkeerde selectie - + Select a Part object. Selecteer een onderdeel-object. - - - - - - - - No page found - Geen pagina gevonden - @@ -710,32 +705,42 @@ Do you want to continue? + No page found + Geen pagina gevonden + + + + + + + + Create a page first. Maak eerst een pagina. - + Select exactly one Part object. Selecteer slechts één deel object. - - + + Select one Page object. Selecteer een pagina-object. - + All Files Alle bestanden - + Export page Exporteer pagina - + Select exactly one Spreadsheet object. Selecteer exact één Spreadsheet-object. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.ts index e674174c5c..983cbe9654 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Kreślenie - + &Annotation &Adnotacja - - + + Inserts an Annotation view in the active drawing Wstaw widok adnotacji w aktywnym rysunku @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Kreślenie - + &Clip &Wycinek - - + + Inserts a clip group in the active drawing Wstaw grupę wycinków do aktywnego rysunku @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Kreślenie - + &Draft View Widok &rysunku - - + + Inserts a Draft view of the selected object(s) in the active drawing Wstaw widok Szkicu przez zaznaczenie obiektu(ów) w aktywnym rysunku @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Plik - + &Export page... &Eksportuj stronę ... - - + + Export a page to an SVG file Wyeksportuj stronę do pliku w formacie DXF @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Kreślenie - + Insert new A3 landscape drawing Wstaw formatkę A3 poziomo @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Kreślenie - + Insert view in drawing Wstaw widok do rysunku - + Insert a new View of a Part in the active drawing Wstaw nowy widok części w aktywnym rysunku @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Kreślenie - + Open &browser view Otwórz &widok z przeglądarki - - + + Opens the selected page in a browser view Otwórz wybraną stronę w przeglądarce @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Kreślenie - + Insert orthographic views Wstaw widoki ortogonalne - + Insert an orthographic projection of a part in the active drawing Wstaw rzut ortogonalny części aktywnego rysunku @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Kreślenie - + Project shape... Rzutowanie kształtów ... - + Project shape onto a user-defined plane Rzut kształtu na płaszczyznę zdefiniowaną przez użytkownika @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Kreślenie - + &Spreadsheet View &Widok arkusza kalkulacyjnego - - + + Inserts a view of a selected spreadsheet in the active drawing Wstaw widok wybranego arkusza w aktywnym rysunku @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Kreślenie - + &Symbol &Symbol - - + + Inserts a symbol from a svg file in the active drawing Wstaw symbol z pliku SVG do aktywnego rysunku @@ -634,32 +634,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Strona + + + Landscape Orientacja pozioma - + Portrait Orientacja pionowa - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Wstaw nowy rysunek %1 %2 %3 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Wstaw nowy rysunek %1%2 %3 (%4) @@ -668,41 +673,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Wybierz plik SVG do otwarcia - - + + Scalable Vector Graphic Skalowalna grafika wektorowa - - - - - + + + + + Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór - + Select a Part object. Wybierz obiekt Części. - - - - - - - - No page found - Strony nie znaleziono - @@ -710,32 +705,42 @@ Do you want to continue? + No page found + Strony nie znaleziono + + + + + + + + Create a page first. Najpierw stwórz stronę. - + Select exactly one Part object. Wybierz dokładnie jeden obiekt Części. - - + + Select one Page object. Wybierz jeden obiekt Strona. - + All Files Wszystkie pliki - + Export page Eksportuj stronę - + Select exactly one Spreadsheet object. Wybierz dokładnie jeden obiekt Arkusza. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pt-BR.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pt-BR.ts index 42e3be9fba..8018a929b6 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pt-BR.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pt-BR.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Desenho - + &Annotation &Anotação - - + + Inserts an Annotation view in the active drawing Insere uma Anotação no desenho ativo @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Desenho - + &Clip &Recorte - - + + Inserts a clip group in the active drawing Inserir um grupo de Apara no desenho ativo @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Desenho - + &Draft View Vista &Traço - - + + Inserts a Draft view of the selected object(s) in the active drawing Insere uma vista produzida pelo módulo Traço do(s) objeto(s) selecionado(s) na folha ativa @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Arquivo - + &Export page... &Exportar página... - - + + Export a page to an SVG file Exportar página para um arquivo SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Desenho - + Insert new A3 landscape drawing Inserir um novo desenho A3 paisagem @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Desenho - + Insert view in drawing Inserir vista no desenho - + Insert a new View of a Part in the active drawing Inserir uma nova Vista de uma peça no desenho ativo @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Desenho - + Open &browser view Abrir visualização no navegador - - + + Opens the selected page in a browser view Abrir a página selecionada no navegador @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Desenho - + Insert orthographic views Inserir visualizações ortográficas - + Insert an orthographic projection of a part in the active drawing Inserir uma projeção ortogonal de uma peça no desenho ativo @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Desenho - + Project shape... Projetar forma... - + Project shape onto a user-defined plane Projeta forma sobre um plano definido pelo usuário @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Desenho - + &Spreadsheet View Visão da Planilha - - + + Inserts a view of a selected spreadsheet in the active drawing Insere uma vista da planilha selecionada no desenho ativo @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Desenho - + &Symbol &Símbolo - - + + Inserts a symbol from a svg file in the active drawing Insere um símbolo de um arquivo svg no desenho ativo @@ -634,32 +634,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Página + + + Landscape Paisagem - + Portrait Retrato - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Inserir novo %1%2 %3 desenho - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Inserir novo desenho %1%2 %3 (%4) @@ -668,41 +673,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Escolha um arquivo SVG para abrir - - + + Scalable Vector Graphic Gráficos vetoriais escaláveis (Svg) - - - - - + + + + + Wrong selection Seleção errada - + Select a Part object. Selecione um objeto Peça - - - - - - - - No page found - Nenhuma página encontrada - @@ -710,32 +705,42 @@ Do you want to continue? + No page found + Nenhuma página encontrada + + + + + + + + Create a page first. Primeiro, crie uma página. - + Select exactly one Part object. Selecione exatamente uma peça. - - + + Select one Page object. Selecione um objeto de tipo Página. - + All Files Todos os Arquivos - + Export page Exportar uma página - + Select exactly one Spreadsheet object. Selecione exatamente um objeto de planilha. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pt-PT.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pt-PT.ts index 76cf35324b..668ec5bb9e 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pt-PT.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pt-PT.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Desenho de folhas (layout) - + &Annotation &Anotação - - + + Inserts an Annotation view in the active drawing Insere uma Anotação na folha de desenho ativa @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Desenho de folhas (layout) - + &Clip &Cortar - - + + Inserts a clip group in the active drawing Insere um grupo de corte na folha de desenho ativa @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Desenho de folhas (layout) - + &Draft View &Vista Draft - - + + Inserts a Draft view of the selected object(s) in the active drawing Insere uma vista Draft dos objetos selecionados na folha ativa @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Ficheiro - + &Export page... Exportar página ... - - + + Export a page to an SVG file Exportar página para um ficheiro SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Desenho de folhas (layout) - + Insert new A3 landscape drawing Inserir novo desenho A3 deitado @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Desenho de folhas (layout) - + Insert view in drawing Inserir uma vista na folha de desenho - + Insert a new View of a Part in the active drawing Inserir uma nova Vista de uma peça na folha de desenho ativa @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Desenho de folhas (layout) - + Open &browser view Abrir &Navegador de Visualização - - + + Opens the selected page in a browser view Abre a página selecionada num navegador de visualização @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Desenho de folhas (layout) - + Insert orthographic views Inserir vistas ortográficas - + Insert an orthographic projection of a part in the active drawing Inserir uma projeção ortográfica de uma peça na folha de desenho ativa @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Desenho de folhas (layout) - + Project shape... Projetar forma... - + Project shape onto a user-defined plane Projeta forma sobre um plano definido pelo utilizador @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Desenho de folhas (layout) - + &Spreadsheet View &Vista de folha de cálculo - - + + Inserts a view of a selected spreadsheet in the active drawing Insere uma vista da folha de cálculo selecionada na folha de desenho ativa @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Desenho de folhas (layout) - + &Symbol &Símbolo - - + + Inserts a symbol from a svg file in the active drawing Insere um símbolo de um arquivo svg na folha de desenho ativa @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Folha de desenho + + + Landscape Horizontal - + Portrait Vertical - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Inserir nova %1%2 %3 folha de desenho - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Inserir nova %1%2 %3 (%4) folha de desenho @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Escolha um ficheiro SVG para abrir - - + + Scalable Vector Graphic Gráficos vetoriais escaláveis (Svg) - - - - - + + + + + Wrong selection Seleção errada - + Select a Part object. Selecione um objeto parte. - - - - - - - - No page found - Nenhuma página encontrada - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + Nenhuma página encontrada + + + + + + + + Create a page first. Primeiro, crie uma página. - + Select exactly one Part object. Selecione exatamente uma peça (Part). - - + + Select one Page object. Selecione um objeto Página. - + All Files Todos os Ficheiros - + Export page Exportar página - + Select exactly one Spreadsheet object. Selecione apenas um objeto folha de cálculo. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ro.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ro.ts index ab457d3fd8..d77db0c5f4 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ro.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ro.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Desen - + &Annotation &Adnotație - - + + Inserts an Annotation view in the active drawing Inserează o vizualizare de adnotație în desenul activ @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Desen - + &Clip &Clip - - + + Inserts a clip group in the active drawing Inserează un grup de clipuri în desenul activ @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Desen - + &Draft View Vue &Draft - - + + Inserts a Draft view of the selected object(s) in the active drawing Insère une vue brouillon des objets sélectionnés dans le dessin actif @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Fişier - + &Export page... &Exportă pagina... - - + + Export a page to an SVG file Exportă pagina într-un fişier SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Desen - + Insert new A3 landscape drawing Inserare A3 nou format peisaj @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Desen - + Insert view in drawing Inseraţi vizualizare în desen - + Insert a new View of a Part in the active drawing Insereaza o nouă vizualizare a unei piese în desenul activ @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Desen - + Open &browser view Deschideți &browser-ul - - + + Opens the selected page in a browser view Deschide pagina selectată într-un browser @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Desen - + Insert orthographic views Inserați vederi ortogonale - + Insert an orthographic projection of a part in the active drawing Inseraţi o proiecţie ortogonală a unei componente în desenul activ @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Desen - + Project shape... Proiectează forma... - + Project shape onto a user-defined plane Proiectează forma pe un plan definit de către utilizator @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Desen - + &Spreadsheet View Vedere & Foaie de calcul - - + + Inserts a view of a selected spreadsheet in the active drawing Introduceți o vedere cu o foaie de calcul selectată într-un desen activ @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Desen - + &Symbol &Simbol - - + + Inserts a symbol from a svg file in the active drawing Inserează un simbol dintr-un fișier svg în desenul activ @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Pagină + + + Landscape Peisaj - + Portrait Orientare tip portret - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Inserează un nou %1%2%3 desen - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Inserare desen nou %1%2 %3 (%4) @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Alegeţi un fişier SVG pentru deschidere - - + + Scalable Vector Graphic Vector Grafic Scalabil (Svg) - - - - - + + + + + Wrong selection Selecție greșită - + Select a Part object. Selecteaza un obiect tip piesă - - - - - - - - No page found - Pagină negăsită - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + Pagină negăsită + + + + + + + + Create a page first. Creați /selectați o pagină mai întâi. - + Select exactly one Part object. Selectați doar un singur obiect tip Piesă. - - + + Select one Page object. Selectează un obiect pagină - + All Files Toate fișierele - + Export page Exportă pagina - + Select exactly one Spreadsheet object. Selectați doar un singur obiect tip foaie de calcul Spreadsheet. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ru.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ru.ts index ffb2f7233c..0bd477db71 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_ru.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_ru.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Чертёж - + &Annotation &Заметка - - + + Inserts an Annotation view in the active drawing Вставить заметку в активный чертёж @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing - Чертёж + Чертеж - + &Clip &Срез - - + + Inserts a clip group in the active drawing Вставить группу срезов в активный чертёж @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing - Чертёж + Чертеж - + &Draft View &Эскизный вид - - + + Inserts a Draft view of the selected object(s) in the active drawing Вставить эскиз выбранного объекта(ов) в активный чертёж @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Файл - + &Export page... &Экспортировать страницу... - - + + Export a page to an SVG file Экспорт страницы в файл SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing - Чертёж + Чертеж - + Insert new A3 landscape drawing Вставить новый фоновый чертеж А3 @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing - Чертёж + Чертеж - + Insert view in drawing Вставить вид в чертёж - + Insert a new View of a Part in the active drawing Вставить новый вид детали в текущий чертёж @@ -128,7 +128,7 @@ Drawing - Чертёж + Чертеж @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing - Чертёж + Чертеж - + Open &browser view Открыть в &обозревателе - - + + Opens the selected page in a browser view Открыть выбранную страницу для просмотра во встроенном обозревателе @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing - Чертёж + Чертеж - + Insert orthographic views Вставить ортографические виды - + Insert an orthographic projection of a part in the active drawing Вставить ортографическую проекцию детали в активный чертёж @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing - Чертёж + Чертеж - + Project shape... Проекция фигуры... - + Project shape onto a user-defined plane Проекция фигуры на заданную плоскость @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing - Чертёж + Чертеж - + &Spreadsheet View &Вставка таблицы - - + + Inserts a view of a selected spreadsheet in the active drawing Вставить выбранную таблицу в активный чертёж @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing - Чертёж + Чертеж - + &Symbol &Символ - - + + Inserts a symbol from a svg file in the active drawing Вставить символ из файла svg в активный чертёж @@ -465,7 +465,7 @@ Do you want to continue? General - Основные + Главный @@ -635,32 +635,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Страница + + + Landscape Альбомный - + Portrait Портретный - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Вставить новый чертёж %1 %2%3 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Вставить новый чертёж %1%2 %3 (%4) @@ -669,41 +674,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Выберите файл SVG для открытия - - + + Scalable Vector Graphic Масштабируемая векторная графика - - - - - + + + + + Wrong selection Неправильный выбор - + Select a Part object. Выберите объект типа Деталь. - - - - - - - - No page found - Страниц не найдено - @@ -711,32 +706,42 @@ Do you want to continue? + No page found + Страниц не найдено + + + + + + + + Create a page first. Сначала создайте страницу. - + Select exactly one Part object. Выберите ровно один объект Детали. - - + + Select one Page object. Выберите один объект типа Страница. - + All Files Все файлы - + Export page Экспортировать страницу - + Select exactly one Spreadsheet object. Выберите только один объект типа Таблица. @@ -769,7 +774,7 @@ Do you want to continue? Drawing - Чертёж + Чертеж diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_sl.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_sl.ts index 2e50d2408a..972514dc54 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_sl.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_sl.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Risba - + &Annotation &Opisi - - + + Inserts an Annotation view in the active drawing Vstavi pogled za opise v dejavno risbo @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Risba - + &Clip &Obreži - - + + Inserts a clip group in the active drawing Vstavi izbrani obrez v dejavno risbo @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Risba - + &Draft View &Izrisni pogled - - + + Inserts a Draft view of the selected object(s) in the active drawing Vstavi izrisni pogled izbranih predmeov v dejavno risbo @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Datoteka - + &Export page... I&zvozi stran … - - + + Export a page to an SVG file Izvozi stran v datoteko SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Risba - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Risba - + Insert view in drawing Vstavi pogled v risbo - + Insert a new View of a Part in the active drawing Vstavi nov pogled dela v dejavno risbo @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Risba - + Open &browser view Odpri pogled &brskalnika - - + + Opens the selected page in a browser view Odpre izbrano stran v pogledu brskalnika @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Risba - + Insert orthographic views Vstavi pravokotne poglede - + Insert an orthographic projection of a part in the active drawing Vstavi pravokotno preslikavo dela v dejavno risbo @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Risba - + Project shape... Preslikaj obliko … - + Project shape onto a user-defined plane Preslikaj obliko na ravnino, ki jo izbere uporabnik @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Risba - + &Spreadsheet View &Preglednični pogled - - + + Inserts a view of a selected spreadsheet in the active drawing Vstavi pogled izbranih preglednic v dejavno risbo @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Risba - + &Symbol &Znak - - + + Inserts a symbol from a svg file in the active drawing Vstavi znak iz datoteke Svg v dejavno risbo @@ -285,7 +285,7 @@ Export PDF - Izvoz PDF + Izvozi v PDF @@ -465,7 +465,7 @@ Ali želite nadaljevati? General - Splošne nastavitve + Splošno @@ -635,32 +635,37 @@ Ali želite nadaljevati? Drawing_NewPage - + + Page + Stran + + + Landscape Ležeče - + Portrait Pokončno - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Vstavi novo risbo %1 %2 %3 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Vstavi novo risbo %1%2 %3 (%4) @@ -669,41 +674,31 @@ Ali želite nadaljevati? QObject - + Choose an SVG file to open Izberite datoteko SVG, ki jo želite odpreti - - + + Scalable Vector Graphic Vektorska slika spremenljive velikosti - - - - - + + + + + Wrong selection - Napačna izbira + Napačen izbor - + Select a Part object. Izberite del. - - - - - - - - No page found - Stran ni bila najdena - @@ -711,32 +706,42 @@ Ali želite nadaljevati? + No page found + Stran ni bila najdena + + + + + + + + Create a page first. Najprej ustvarite stran. - + Select exactly one Part object. Izberite natanko en del. - - + + Select one Page object. Izberite predmet - stran. - + All Files Vse datoteke - + Export page Izvozi stran - + Select exactly one Spreadsheet object. Izberite natanko eno preglednico. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_sr-CS.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_sr-CS.ts index 9945d3ef65..dfbe12264c 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_sr-CS.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_sr-CS.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Crtež - + &Annotation Napomena - - + + Inserts an Annotation view in the active drawing Dodaje napomenu aktivnom crtežu @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Crtež - + &Clip &Clip - - + + Inserts a clip group in the active drawing Inserts a clip group in the active drawing @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Crtež - + &Draft View &Draft View - - + + Inserts a Draft view of the selected object(s) in the active drawing Inserts a Draft view of the selected object(s) in the active drawing @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Datoteka - + &Export page... Izvezi stranicu... - - + + Export a page to an SVG file Izvezi stranicu u SVG datoteku @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Crtež - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Crtež - + Insert view in drawing Ubaci prikaz u crtež - + Insert a new View of a Part in the active drawing Ubaci novi pogled dela u aktivni crtež @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Crtež - + Open &browser view Otvori pogled u pregledaču - - + + Opens the selected page in a browser view Otvara odabranu stranicu u pregledaču @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Crtež - + Insert orthographic views Umetni ortografske poglede - + Insert an orthographic projection of a part in the active drawing Umetni ortografsku projekciju dela u aktivni crtež @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Crtež - + Project shape... Projiciraj objekat u 3D pogled... - + Project shape onto a user-defined plane Projiciraj oblik na ravan definisanu od strane korisnika @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Crtež - + &Spreadsheet View &Spreadsheet View - - + + Inserts a view of a selected spreadsheet in the active drawing Inserts a view of a selected spreadsheet in the active drawing @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Crtež - + &Symbol &Simbol - - + + Inserts a symbol from a svg file in the active drawing Umeće simbol iz svg datoteke u aktivni crtež @@ -635,32 +635,37 @@ Da li želiš da nastaviš? Drawing_NewPage - + + Page + Crtež + + + Landscape Položeno - + Portrait Uspravno - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Umetni novi %1%2 %3 crtež - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Umetni novi%1%2 %3 (%4) crtež @@ -669,41 +674,31 @@ Da li želiš da nastaviš? QObject - + Choose an SVG file to open Izaberi SVG datoteku za otvaranje - - + + Scalable Vector Graphic Scalable Vector Graphic - - - - - + + + + + Wrong selection Pogrešan izbor - + Select a Part object. Izaberi objekat Deo. - - - - - - - - No page found - Stranica nije pronađena - @@ -711,32 +706,42 @@ Da li želiš da nastaviš? + No page found + Stranica nije pronađena + + + + + + + + Create a page first. Prvo napravi stranicu. - + Select exactly one Part object. Izaberi samo jedan objekat Deo. - - + + Select one Page object. Izaberi jedan objekat Stranica. - + All Files Sve datoteke - + Export page Izvezi stranicu - + Select exactly one Spreadsheet object. Izaberi samo jedan tabelarni objekat. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_sr.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_sr.ts index 0a9dd5b206..2c44ad447f 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_sr.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_sr.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Цртеж - + &Annotation &Напомена - - + + Inserts an Annotation view in the active drawing Додаје напомену активном цртежу @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Цртеж - + &Clip &Clip - - + + Inserts a clip group in the active drawing Inserts a clip group in the active drawing @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Цртеж - + &Draft View &Draft View - - + + Inserts a Draft view of the selected object(s) in the active drawing Inserts a Draft view of the selected object(s) in the active drawing @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Датотека - + &Export page... Извоз странице... - - + + Export a page to an SVG file Извези страницу у 'SVG' датотеку @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Цртеж - + Insert new A3 landscape drawing Убаците Нови А3 пејзажни цртеж @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Цртеж - + Insert view in drawing Убаци поглед у цртеж - + Insert a new View of a Part in the active drawing Убаците нови поглед дела у активном цртежу @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Цртеж - + Open &browser view Отвори &поглед у прегледачу - - + + Opens the selected page in a browser view Отвара одабрану страницу у прегледачу @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Цртеж - + Insert orthographic views Уметни ортографcке погледе - + Insert an orthographic projection of a part in the active drawing Уметни ортографску пројекцију дела у активни цртеж @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Цртеж - + Project shape... Пројицирај објекат у 3Д поглед... - + Project shape onto a user-defined plane Пројицирај облик на раван дефиниcану од cтране кориcника @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Цртеж - + &Spreadsheet View &Spreadsheet View - - + + Inserts a view of a selected spreadsheet in the active drawing Inserts a view of a selected spreadsheet in the active drawing @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Цртеж - + &Symbol &Симбол - - + + Inserts a symbol from a svg file in the active drawing Умеће cимбол из svg датотеке у активни цртеж @@ -635,32 +635,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Страна + + + Landscape Положено - + Portrait Усправно - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Уметни нови %1%2 %3 цртеж - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Уметни нови%1%2 %3 (%4) цртеж @@ -669,41 +674,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Изабери SVG датотеку за отварање - - + + Scalable Vector Graphic Scalable Vector Graphic - - - - - + + + + + Wrong selection Погрешан избор - + Select a Part object. Изабери део објекта. - - - - - - - - No page found - Страница није пронађена - @@ -711,32 +706,42 @@ Do you want to continue? + No page found + Страница није пронађена + + + + + + + + Create a page first. Прво направи страницу. - + Select exactly one Part object. Изабери само један Део. - - + + Select one Page object. Изабери објекат једне странице. - + All Files Све датотеке - + Export page Извоз странице - + Select exactly one Spreadsheet object. Изабери само један табеларни објекат. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_sv-SE.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_sv-SE.ts index 9e1a09ce07..591d75b021 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_sv-SE.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_sv-SE.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Ritning - + &Annotation &Annotering - - + + Inserts an Annotation view in the active drawing Infogar en annoteringsvy i den aktiva ritningen @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Ritning - + &Clip &Klipp - - + + Inserts a clip group in the active drawing Infogar en Klipp-grupp i den aktiva ritningen @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Ritning - + &Draft View &Utkastvy - - + + Inserts a Draft view of the selected object(s) in the active drawing Lägger till en Draft-vy av det valda objektet(en) i den aktiva ritningen @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Fil - + &Export page... &Exportera sida... - - + + Export a page to an SVG file Exportera en sida till en SVG-fil @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Ritning - + Insert new A3 landscape drawing Infoga ny A3 landskap ritning @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Ritning - + Insert view in drawing Infoga vy i ritningen - + Insert a new View of a Part in the active drawing Sätt in en ny vy av en Del i den aktiva ritningen @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Ritning - + Open &browser view Öppna we&bbläsarvy - - + + Opens the selected page in a browser view Öppnar den valda sidan i en webbläsarvy @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Ritning - + Insert orthographic views Infoga ortografiska vyer - + Insert an orthographic projection of a part in the active drawing Infoga en ortografisk projektion av en del i den aktiva ritningen @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Ritning - + Project shape... Projekt former... - + Project shape onto a user-defined plane Projicera form på ett användardefinierat plan @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Ritning - + &Spreadsheet View Kalkylblad&svy - - + + Inserts a view of a selected spreadsheet in the active drawing Lägger till en vy av valt Kalkylblad i den aktiva ritningen @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Ritning - + &Symbol &Symbol - - + + Inserts a symbol from a svg file in the active drawing Infogar en symbol från en svg-fil i den aktiva ritningen @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Sida + + + Landscape Landskap - + Portrait Porträtt - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Infoga ny %1%2 %3 ritning - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Infoga nya %1%2 %3 (%4) i ritning @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Välj en SVG fil att öppna - - + + Scalable Vector Graphic Skalbar vektorgrafik - - - - - + + + + + Wrong selection Fel val - + Select a Part object. Välj ett Del objekt. - - - - - - - - No page found - Ingen sida hittades - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + Ingen sida hittades + + + + + + + + Create a page first. Skapa en sida först. - + Select exactly one Part object. Markera exakt ett delobjekt. - - + + Select one Page object. Välj ett sidobjekt. - + All Files Alla Filer - + Export page Exportera sida - + Select exactly one Spreadsheet object. Välj exakt ett sprängskissobjekt. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_tr.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_tr.ts index 9cdb1212b3..f4704c4106 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_tr.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_tr.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Çizim - + &Annotation &Açıklayıcı notlar - - + + Inserts an Annotation view in the active drawing Etkin çizime açıklayıcı bir not ekler @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Çizim - + &Clip &Kırpmak - - + + Inserts a clip group in the active drawing Etkin çizimine kırpma grubu ekler @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Çizim - + &Draft View &Taslak Görünümü - - + + Inserts a Draft view of the selected object(s) in the active drawing Seçili nesnelerin taslak görünümünü etkin çizime ekler @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Dosya - + &Export page... &Sayfayı dışa aktar... - - + + Export a page to an SVG file Sayfayı, SVG dosyası olarak dışarı aktar @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Çizim - + Insert new A3 landscape drawing Yeni yatay A3 boyutlu çizim ekle @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Çizim - + Insert view in drawing Çizime görünüm ekle - + Insert a new View of a Part in the active drawing Etkin çizimde bir parçanın yeni görünümünü ekle @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Çizim - + Open &browser view &tarayıcı görünümü aç - - + + Opens the selected page in a browser view Seçili sayfayı tarayıcı görünümünde açar @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Çizim - + Insert orthographic views Ortografik görünümleri ekle - + Insert an orthographic projection of a part in the active drawing Bir parçanın ortografik izdüşümünü etkin çizime ekle @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Çizim - + Project shape... Proje şekilleri... - + Project shape onto a user-defined plane Kullanıcının tanımladığı bir düzleme şekli yansıt @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Çizim - + &Spreadsheet View He&sapTablosu Görünümü - - + + Inserts a view of a selected spreadsheet in the active drawing Seçili hesap tablolarının bir görünümünü etkin çizime ekler @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Çizim - + &Symbol &Sembol - - + + Inserts a symbol from a svg file in the active drawing Etkin çizimde bir svg dosyasından bir simge ekler @@ -635,32 +635,37 @@ Devam etmek istiyor musun? Drawing_NewPage - + + Page + Sayfa + + + Landscape Manzara - + Portrait Dikey - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Yeni %1%2 %3 çizim ekle - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Yeni %1%2 %3 (%4) çizim ekle @@ -669,41 +674,31 @@ Devam etmek istiyor musun? QObject - + Choose an SVG file to open Açmak için bir SVG dosyası seçin - - + + Scalable Vector Graphic Ölçeklenebilir Vektör Grafiği - - - - - + + + + + Wrong selection Yanlış seçim - + Select a Part object. Parça nesnesi seçin. - - - - - - - - No page found - Sayfa bulunamadı - @@ -711,32 +706,42 @@ Devam etmek istiyor musun? + No page found + Sayfa bulunamadı + + + + + + + + Create a page first. Önce bir sayfa oluşturun. - + Select exactly one Part object. Tek bir bölüm nesnesi seçin. - - + + Select one Page object. Bir sayfa nesnesi seçin. - + All Files Tüm Dosyalar - + Export page Sayfayı dışarı aktar - + Select exactly one Spreadsheet object. Tam olarak bir Hesap Tablosu nesnesi seçin. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_uk.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_uk.ts index 1d0cdd1cc6..fa36aa8767 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_uk.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_uk.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Рисунок - + &Annotation & Анотації - - + + Inserts an Annotation view in the active drawing Вставляє перегляд анотації у активне креслення @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Рисунок - + &Clip &Кліп - - + + Inserts a clip group in the active drawing Вставляє кліп групи у активне креслення @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Рисунок - + &Draft View Перегляд &чернетки - - + + Inserts a Draft view of the selected object(s) in the active drawing Вставити чернетку обраного об'єкта(ів) у поточне креслення @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Файл - + &Export page... &Експорт сторінки... - - + + Export a page to an SVG file Експорт сторінки в SVG файл @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Рисунок - + Insert new A3 landscape drawing Вставить нове фонове креслення А3 @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Рисунок - + Insert view in drawing Додати вигляд в креслення - + Insert a new View of a Part in the active drawing Вставить новий вигляд деталі в поточне креслення @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Рисунок - + Open &browser view Відкрити & переглянути у браузері - - + + Opens the selected page in a browser view Відкрити вибрану сторінку у перегляді браузера @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Рисунок - + Insert orthographic views Вставити ортогональний перегляд - + Insert an orthographic projection of a part in the active drawing Вставити ортогональну проекцію частини у активному кресленні @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Рисунок - + Project shape... Проект форми... - + Project shape onto a user-defined plane Проект форми на поверхні, визначеній користувачем @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Рисунок - + &Spreadsheet View & Перегляд електронної таблиці - - + + Inserts a view of a selected spreadsheet in the active drawing Вставлення перегляду вибраної таблиці в активному рисунку @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Рисунок - + &Symbol &Символ - - + + Inserts a symbol from a svg file in the active drawing Вставити символ з svg файлу в креслення, що редагується @@ -634,32 +634,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Сторінка + + + Landscape Альбомна - + Portrait Портретна - + %1%2 %3 %1 %2 %3 - + Insert new %1%2 %3 drawing Вставити нове %1%2 %3 креслення - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Вставити нове креслення %1%2 %3 (%4) @@ -668,41 +673,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Виберіть файл SVG для відкриття - - + + Scalable Vector Graphic Масштабована Векторна графіка - - - - - + + + + + Wrong selection Невірний вибір - + Select a Part object. Виберіть об'єкт деталі. - - - - - - - - No page found - Сторінка не знайдена - @@ -710,32 +705,42 @@ Do you want to continue? + No page found + Сторінка не знайдена + + + + + + + + Create a page first. Спочатку створіть сторінку. - + Select exactly one Part object. Виберіть лише одну деталь. - - + + Select one Page object. Оберіть один об'єкт сторінки. - + All Files Всі файли - + Export page Експорт сторінки - + Select exactly one Spreadsheet object. Виберіть саме один об'єкт електронної таблиці. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_val-ES.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_val-ES.ts index 43b03025b5..7cae67b1ba 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_val-ES.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_val-ES.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing Dibuix - + &Annotation &Anotació - - + + Inserts an Annotation view in the active drawing Insereix una vista de l'anotació en el dibuix actiu @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing Dibuix - + &Clip &Retalla - - + + Inserts a clip group in the active drawing Insereix un grup de retalls en el dibuix actual @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing Dibuix - + &Draft View &Vista d'esborrany - - + + Inserts a Draft view of the selected object(s) in the active drawing Insereix una vista d'esborrany dels objectes seleccionats en el dibuix actiu @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File Fitxer - + &Export page... &Exporta la pàgina... - - + + Export a page to an SVG file Exporta una pàgina a un fitxer SVG @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing Dibuix - + Insert new A3 landscape drawing Insert new A3 landscape drawing @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing Dibuix - + Insert view in drawing Insereix la vista en el dibuix - + Insert a new View of a Part in the active drawing Insereix una vista nova d'una peça en el dibuix actiu @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing Dibuix - + Open &browser view Obri una &vista de navegador - - + + Opens the selected page in a browser view Obri la pàgina seleccionada en una vista de navegador @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing Dibuix - + Insert orthographic views Insereix vistes ortogràfiques - + Insert an orthographic projection of a part in the active drawing Insereix una projecció ortogonal d'una part en el dibuix actiu @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing Dibuix - + Project shape... Projecta la forma... - + Project shape onto a user-defined plane Projecta la forma en un pla definit per l'usuari @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing Dibuix - + &Spreadsheet View &Visualització del full de càlcul - - + + Inserts a view of a selected spreadsheet in the active drawing Insereix una vista del full de càlcul seleccionat en el dibuix actiu @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing Dibuix - + &Symbol &Símbol - - + + Inserts a symbol from a svg file in the active drawing Insereix un símbol des d'un fitxer svg en el dibuix actiu @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + Pàgina + + + Landscape Horitzontal - + Portrait Vertical - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing Insereix el nou dibuix %1%2 %3 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing Insereix el nou dibuix %1%2 %3 (%4) @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open Trieu un fitxer SVG per a obrir-lo - - + + Scalable Vector Graphic Gràfic vectorial escalable - - - - - + + + + + Wrong selection Selecció incorrecta - + Select a Part object. Seleccioneu un objecte peça - - - - - - - - No page found - No s'ha trobat cap pàgina. - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + No s'ha trobat cap pàgina. + + + + + + + + Create a page first. Creeu una pàgina primer - + Select exactly one Part object. Seleccioneu exactament un únic objecte peça - - + + Select one Page object. Seleccioneu un objecte pàgina - + All Files Tots els fitxers - + Export page Exporta la pàgina - + Select exactly one Spreadsheet object. Seleccioneu exactament un sol objecte full de càlcul. diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_zh-CN.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_zh-CN.ts index fd0e71bd6c..2eaf468879 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_zh-CN.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_zh-CN.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing 图纸 - + &Annotation 注释(&A) - - + + Inserts an Annotation view in the active drawing 在当前制图中插入注释视图 @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing 图纸 - + &Clip 剪裁(&C) - - + + Inserts a clip group in the active drawing 在当前图纸中插入剪辑组 @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing 图纸 - + &Draft View 草图视图(&D) - - + + Inserts a Draft view of the selected object(s) in the active drawing 在当前图纸中插入所选对象的工程图视图 @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File 文件 - + &Export page... 导出页(&E)... - - + + Export a page to an SVG file 将页面导出为SVG文件 @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing 图纸 - + Insert new A3 landscape drawing 插入A3横向图框 @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing 图纸 - + Insert view in drawing 在图纸中插入视图 - + Insert a new View of a Part in the active drawing 在当前图纸中插入一个零件视图 @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing 图纸 - + Open &browser view 打开浏览器视图(&B) - - + + Opens the selected page in a browser view 在浏览器视图中打开选定页面 @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing 图纸 - + Insert orthographic views 插入正交视图 - + Insert an orthographic projection of a part in the active drawing 在当前图纸中插入零件的正交投影 @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing 图纸 - + Project shape... 投影形体... - + Project shape onto a user-defined plane 投影形体至用户定义平面 @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing 图纸 - + &Spreadsheet View 表格视图(&S) - - + + Inserts a view of a selected spreadsheet in the active drawing 在当前图纸中将所选表格作为一个视图插入 @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing 图纸 - + &Symbol 符号(&S) - - + + Inserts a symbol from a svg file in the active drawing 在当前图纸中将 svg 文件内容作为一个符号插入 @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + + + + Landscape 橫向 - + Portrait 纵向 - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing 插入新的 %1%2 %3 图面 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing 插入新的 %1%2 %3 (%4) 图面 @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open 选择一个SVG文件打开 - - + + Scalable Vector Graphic 可缩放矢量图形 - - - - - + + + + + Wrong selection 选择错误 - + Select a Part object. 选择零件对象. - - - - - - - - No page found - 没有找到页面 - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + 没有找到页面 + + + + + + + + Create a page first. 首先创建一个页面。 - + Select exactly one Part object. 选择一个零部件对象。 - - + + Select one Page object. 选择一个页对象. - + All Files 所有文件 - + Export page 导出页面 - + Select exactly one Spreadsheet object. 选择一个电子表格对象。 diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_zh-TW.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_zh-TW.ts index 5304318422..528a3850ec 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_zh-TW.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_zh-TW.ts @@ -4,18 +4,18 @@ CmdDrawingAnnotation - + Drawing 工程圖 - + &Annotation 註釋(&A) - - + + Inserts an Annotation view in the active drawing 於目前圖面插入註釋視圖 @@ -23,18 +23,18 @@ CmdDrawingClip - + Drawing 工程圖 - + &Clip 剪下(&C) - - + + Inserts a clip group in the active drawing 於目前圖面插入剪下群組 @@ -42,18 +42,18 @@ CmdDrawingDraftView - + Drawing 工程圖 - + &Draft View 底圖檢視(&D) - - + + Inserts a Draft view of the selected object(s) in the active drawing 於目前圖面中插入所選物件之底圖視圖 @@ -61,18 +61,18 @@ CmdDrawingExportPage - + File 檔案 - + &Export page... 匯出頁面(&E)... - - + + Export a page to an SVG file 匯出此頁為SVG檔 @@ -80,13 +80,13 @@ CmdDrawingNewA3Landscape - + Drawing 工程圖 - + Insert new A3 landscape drawing 插入新的 A3 橫式圖紙 @@ -108,17 +108,17 @@ CmdDrawingNewView - + Drawing 工程圖 - + Insert view in drawing 於繪圖區插入視圖 - + Insert a new View of a Part in the active drawing 於目前繪圖區插入新的零件視圖 @@ -144,18 +144,18 @@ CmdDrawingOpenBrowserView - + Drawing 工程圖 - + Open &browser view 開啟瀏覽模式(&b) - - + + Opens the selected page in a browser view 以瀏覽模式開啟選定頁面 @@ -163,17 +163,17 @@ CmdDrawingOrthoViews - + Drawing 工程圖 - + Insert orthographic views 插入正交視圖 - + Insert an orthographic projection of a part in the active drawing 插入目前圖面零件之正交投影 @@ -181,18 +181,18 @@ CmdDrawingProjectShape - + Drawing 工程圖 - + Project shape... 專案形式 - + Project shape onto a user-defined plane 投影外型至用戶定義的面上 @@ -200,18 +200,18 @@ CmdDrawingSpreadsheetView - + Drawing 工程圖 - + &Spreadsheet View 試算表視圖(&S) - - + + Inserts a view of a selected spreadsheet in the active drawing 於使用中之工程圖內插入所選之試算表視圖 @@ -219,18 +219,18 @@ CmdDrawingSymbol - + Drawing 工程圖 - + &Symbol 符號(&S) - - + + Inserts a symbol from a svg file in the active drawing 於目前圖面內插入一個來自svg檔的符號 @@ -633,32 +633,37 @@ Do you want to continue? Drawing_NewPage - + + Page + + + + Landscape 橫向 - + Portrait 縱向 - + %1%2 %3 %1%2 %3 - + Insert new %1%2 %3 drawing 插入新的 %1%2 %3 圖面 - + %1%2 %3 (%4) %1%2 %3 (%4) - + Insert new %1%2 %3 (%4) drawing 插入新的 %1%2 %3 (%4) 圖面 @@ -667,41 +672,31 @@ Do you want to continue? QObject - + Choose an SVG file to open 選擇要開啟的 SVG 檔 - - + + Scalable Vector Graphic 可縮放向量圖檔 - - - - - + + + + + Wrong selection 錯誤的選取 - + Select a Part object. 選取零件物件。 - - - - - - - - No page found - 未發現頁面 - @@ -709,32 +704,42 @@ Do you want to continue? + No page found + 未發現頁面 + + + + + + + + Create a page first. 請先建立一個頁面 - + Select exactly one Part object. 請確實選取一個零件物件 - - + + Select one Page object. 選取一個頁面物件。 - + All Files 所有檔案 - + Export page 匯出頁面 - + Select exactly one Spreadsheet object. 請僅選擇一個試算表物件 diff --git a/src/Mod/Fem/App/AppFemPy.cpp b/src/Mod/Fem/App/AppFemPy.cpp index 82dd5ebb8a..8cb3ccbd28 100644 --- a/src/Mod/Fem/App/AppFemPy.cpp +++ b/src/Mod/Fem/App/AppFemPy.cpp @@ -75,8 +75,6 @@ public: initialize("This module is the Fem module."); // register with Python } - ~Module() override {} - private: Py::Object invoke_method_varargs(void *method_def, const Py::Tuple &args) override { diff --git a/src/Mod/Fem/App/FemAnalysis.cpp b/src/Mod/Fem/App/FemAnalysis.cpp index c795df19a7..69c081af4f 100644 --- a/src/Mod/Fem/App/FemAnalysis.cpp +++ b/src/Mod/Fem/App/FemAnalysis.cpp @@ -41,9 +41,7 @@ FemAnalysis::FemAnalysis() ADD_PROPERTY_TYPE(Uid, (id), 0, App::Prop_None, "UUID of the Analysis"); } -FemAnalysis::~FemAnalysis() -{ -} +FemAnalysis::~FemAnalysis() = default; void FemAnalysis::handleChangedPropertyName(Base::XMLReader& reader, const char* TypeName, diff --git a/src/Mod/Fem/App/FemConstraint.cpp b/src/Mod/Fem/App/FemConstraint.cpp index df68afac2d..eb9aafd9dd 100644 --- a/src/Mod/Fem/App/FemConstraint.cpp +++ b/src/Mod/Fem/App/FemConstraint.cpp @@ -79,9 +79,7 @@ Constraint::Constraint() References.setScope(App::LinkScope::Global); } -Constraint::~Constraint() -{ -} +Constraint::~Constraint() = default; App::DocumentObjectExecReturn *Constraint::execute() { diff --git a/src/Mod/Fem/App/FemConstraint.h b/src/Mod/Fem/App/FemConstraint.h index f9696a2439..77899c69bd 100644 --- a/src/Mod/Fem/App/FemConstraint.h +++ b/src/Mod/Fem/App/FemConstraint.h @@ -225,7 +225,7 @@ protected: Base::Vector3d& base, Base::Vector3d& axis) const; /** - * @brief Calculate point of cylidrical face where to render widget. + * @brief Calculate point of cylindrical face where to render widget. * * @note * This method is very specific and doesn't require access to member diff --git a/src/Mod/Fem/App/FemMesh.cpp b/src/Mod/Fem/App/FemMesh.cpp index e055f343fa..ceaf0bd50d 100644 --- a/src/Mod/Fem/App/FemMesh.cpp +++ b/src/Mod/Fem/App/FemMesh.cpp @@ -251,8 +251,8 @@ void FemMesh::copyMeshData(const FemMesh& mesh) SMESHDS_Group* newGroupDS = dynamic_cast(newGroupObj->GetGroupDS()); if (newGroupDS) { SMDS_MeshGroup& smdsGroup = ((SMESHDS_Group*)newGroupDS)->SMDSGroup(); - for (unsigned i = 0; i < groupElems.size(); ++i) - smdsGroup.Add(groupElems[i]); + for (auto it : groupElems) + smdsGroup.Add(it); } } } @@ -808,8 +808,8 @@ std::map FemMesh::getccxVolumesByFace(const TopoDS_Face &face) const std::map >::iterator it = elem_order.find(num_of_nodes); if (it != elem_order.end()) { const std::vector& order = it->second; - for (std::vector::const_iterator jt = order.begin(); jt != order.end(); ++jt) { - int vid = vol->GetNode(*jt)->GetID(); + for (int jt : order) { + int vid = vol->GetNode(jt)->GetID(); apair.second.push_back(vid); } } @@ -890,8 +890,7 @@ std::set FemMesh::getNodesBySolid(const TopoDS_Solid &solid) const } #pragma omp parallel for schedule(dynamic) - for (size_t i = 0; i < nodes.size(); ++i) { - const SMDS_MeshNode* aNode = nodes[i]; + for (auto aNode : nodes) { double xyz[3]; aNode->GetXYZ(xyz); Base::Vector3d vec(xyz[0], xyz[1], xyz[2]); @@ -942,8 +941,7 @@ std::set FemMesh::getNodesByFace(const TopoDS_Face &face) const } #pragma omp parallel for schedule(dynamic) - for (size_t i = 0; i < nodes.size(); ++i) { - const SMDS_MeshNode* aNode = nodes[i]; + for (auto aNode : nodes) { double xyz[3]; aNode->GetXYZ(xyz); Base::Vector3d vec(xyz[0], xyz[1], xyz[2]); @@ -992,8 +990,7 @@ std::set FemMesh::getNodesByEdge(const TopoDS_Edge &edge) const } #pragma omp parallel for schedule(dynamic) - for (size_t i = 0; i < nodes.size(); ++i) { - const SMDS_MeshNode* aNode = nodes[i]; + for (auto aNode : nodes) { double xyz[3]; aNode->GetXYZ(xyz); Base::Vector3d vec(xyz[0], xyz[1], xyz[2]); @@ -1041,8 +1038,7 @@ std::set FemMesh::getNodesByVertex(const TopoDS_Vertex &vertex) const } #pragma omp parallel for schedule(dynamic) - for (size_t i = 0; i < nodes.size(); ++i) { - const SMDS_MeshNode* aNode = nodes[i]; + for (auto aNode : nodes) { double xyz[3]; aNode->GetXYZ(xyz); Base::Vector3d vec(xyz[0], xyz[1], xyz[2]); @@ -2077,8 +2073,8 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group std::map::iterator it = volTypeMap.find(numNodes); if (it != volTypeMap.end()) { const std::vector& order = elemOrderMap[it->second]; - for (std::vector::const_iterator jt = order.begin(); jt != order.end(); ++jt) - apair.second.push_back(aVol->GetNode(*jt)->GetID()); + for (int jt : order) + apair.second.push_back(aVol->GetNode(jt)->GetID()); elementsMapVol[it->second].insert(apair); } } @@ -2098,8 +2094,8 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group std::map::iterator it = faceTypeMap.find(numNodes); if (it != faceTypeMap.end()) { const std::vector& order = elemOrderMap[it->second]; - for (std::vector::const_iterator jt = order.begin(); jt != order.end(); ++jt) - apair.second.push_back(aFace->GetNode(*jt)->GetID()); + for (int jt : order) + apair.second.push_back(aFace->GetNode(jt)->GetID()); elementsMapFac[it->second].insert(apair); } } @@ -2107,16 +2103,16 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group if (elemParam == 2) { // we're going to fill the elementsMapFac with the facesOnly std::set facesOnly = getFacesOnly(); - for (std::set::iterator itfa = facesOnly.begin(); itfa != facesOnly.end(); ++itfa) { + for (int itfa : facesOnly) { std::pair > apair; - apair.first = *itfa; - const SMDS_MeshElement* aFace = myMesh->GetMeshDS()->FindElement(*itfa); + apair.first = itfa; + const SMDS_MeshElement* aFace = myMesh->GetMeshDS()->FindElement(itfa); int numNodes = aFace->NbNodes(); std::map::iterator it = faceTypeMap.find(numNodes); if (it != faceTypeMap.end()) { const std::vector& order = elemOrderMap[it->second]; - for (std::vector::const_iterator jt = order.begin(); jt != order.end(); ++jt) - apair.second.push_back(aFace->GetNode(*jt)->GetID()); + for (int jt : order) + apair.second.push_back(aFace->GetNode(jt)->GetID()); elementsMapFac[it->second].insert(apair); } } @@ -2137,8 +2133,8 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group std::map::iterator it = edgeTypeMap.find(numNodes); if (it != edgeTypeMap.end()) { const std::vector& order = elemOrderMap[it->second]; - for (std::vector::const_iterator jt = order.begin(); jt != order.end(); ++jt) - apair.second.push_back(aEdge->GetNode(*jt)->GetID()); + for (int jt : order) + apair.second.push_back(aEdge->GetNode(jt)->GetID()); elementsMapEdg[it->second].insert(apair); } } @@ -2146,16 +2142,16 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group if (elemParam == 2) { // we're going to fill the elementsMapEdg with the edgesOnly std::set edgesOnly = getEdgesOnly(); - for (std::set::iterator ited = edgesOnly.begin(); ited != edgesOnly.end(); ++ited) { + for (int ited : edgesOnly) { std::pair > apair; - apair.first = *ited; - const SMDS_MeshElement* aEdge = myMesh->GetMeshDS()->FindElement(*ited); + apair.first = ited; + const SMDS_MeshElement* aEdge = myMesh->GetMeshDS()->FindElement(ited); int numNodes = aEdge->NbNodes(); std::map::iterator it = edgeTypeMap.find(numNodes); if (it != edgeTypeMap.end()) { const std::vector& order = elemOrderMap[it->second]; - for (std::vector::const_iterator jt = order.begin(); jt != order.end(); ++jt) - apair.second.push_back(aEdge->GetNode(*jt)->GetID()); + for (int jt : order) + apair.second.push_back(aEdge->GetNode(jt)->GetID()); elementsMapEdg[it->second].insert(apair); } } @@ -2197,11 +2193,11 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group anABAQUS_Output << "*Node, NSET=Nall" << std::endl; // This way we get sorted output. // See http://forum.freecad.org/viewtopic.php?f=18&t=12646&start=40#p103004 - for (VertexMap::iterator it = vertexMap.begin(); it != vertexMap.end(); ++it) { - anABAQUS_Output << it->first << ", " - << it->second.x << ", " - << it->second.y << ", " - << it->second.z << std::endl; + for (const auto& it : vertexMap) { + anABAQUS_Output << it.first << ", " + << it.second.x << ", " + << it.second.y << ", " + << it.second.z << std::endl; } anABAQUS_Output << std::endl << std::endl;; @@ -2209,16 +2205,15 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group // write volumes to file std::string elsetname; if (!elementsMapVol.empty()) { - for (ElementsMap::iterator it = elementsMapVol.begin(); it != elementsMapVol.end(); ++it) { + for (const auto& it : elementsMapVol) { anABAQUS_Output << "** Volume elements" << std::endl; - anABAQUS_Output << "*Element, TYPE=" << it->first << ", ELSET=Evolumes" << std::endl; - for (NodesMap::iterator jt = it->second.begin(); jt != it->second.end(); ++jt) { - anABAQUS_Output << jt->first; + anABAQUS_Output << "*Element, TYPE=" << it.first << ", ELSET=Evolumes" << std::endl; + for (const auto& jt : it.second) { + anABAQUS_Output << jt.first; // Calculix allows max 16 entries in one line, a hexa20 has more ! int ct = 0; // counter bool first_line = true; - for (std::vector::iterator kt = jt->second.begin(); kt != jt->second.end(); - ++kt, ++ct) { + for (auto kt = jt.second.begin(); kt != jt.second.end(); ++kt, ++ct) { if (ct < 15) { anABAQUS_Output << ", " << *kt; } @@ -2239,14 +2234,13 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group // write faces to file if (!elementsMapFac.empty()) { - for (ElementsMap::iterator it = elementsMapFac.begin(); it != elementsMapFac.end(); ++it) { + for (const auto& it : elementsMapFac) { anABAQUS_Output << "** Face elements" << std::endl; - anABAQUS_Output << "*Element, TYPE=" << it->first << ", ELSET=Efaces" << std::endl; - for (NodesMap::iterator jt = it->second.begin(); jt != it->second.end(); ++jt) { - anABAQUS_Output << jt->first; - for (std::vector::iterator kt = jt->second.begin(); kt != jt->second.end(); - ++kt) { - anABAQUS_Output << ", " << *kt; + anABAQUS_Output << "*Element, TYPE=" << it.first << ", ELSET=Efaces" << std::endl; + for (const auto& jt : it.second) { + anABAQUS_Output << jt.first; + for (int kt : jt.second) { + anABAQUS_Output << ", " << kt; } anABAQUS_Output << std::endl; } @@ -2260,14 +2254,13 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group // write edges to file if (!elementsMapEdg.empty()) { - for (ElementsMap::iterator it = elementsMapEdg.begin(); it != elementsMapEdg.end(); ++it) { + for (const auto& it : elementsMapEdg) { anABAQUS_Output << "** Edge elements" << std::endl; - anABAQUS_Output << "*Element, TYPE=" << it->first << ", ELSET=Eedges" << std::endl; - for (NodesMap::iterator jt = it->second.begin(); jt != it->second.end(); ++jt) { - anABAQUS_Output << jt->first; - for (std::vector::iterator kt = jt->second.begin(); kt != jt->second.end(); - ++kt) { - anABAQUS_Output << ", " << *kt; + anABAQUS_Output << "*Element, TYPE=" << it.first << ", ELSET=Eedges" << std::endl; + for (const auto& jt : it.second) { + anABAQUS_Output << jt.first; + for (int kt : jt.second) { + anABAQUS_Output << ", " << kt; } anABAQUS_Output << std::endl; } @@ -2293,12 +2286,12 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group anABAQUS_Output << std::endl << "** Group data" << std::endl; std::list groupIDs = myMesh->GetGroupIds(); - for (std::list::iterator it = groupIDs.begin(); it != groupIDs.end(); ++it) { + for (int it : groupIDs) { // get and write group info and group definition // TODO group element type code has duplicate code of // PyObject* FemMeshPy::getGroupElementType() - SMDSAbs_ElementType aElementType = myMesh->GetGroup(*it)->GetGroupDS()->GetType(); + SMDSAbs_ElementType aElementType = myMesh->GetGroup(it)->GetGroupDS()->GetType(); const char* groupElementType = ""; switch(aElementType) { case SMDSAbs_All : groupElementType = "All"; break; @@ -2310,8 +2303,8 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group case SMDSAbs_Ball : groupElementType = "Ball"; break; default : groupElementType = "Unknown"; break; } - const char* groupName = myMesh->GetGroup(*it)->GetName(); - anABAQUS_Output << "** GroupID: " << (*it) << " --> GroupName: " << groupName + const char* groupName = myMesh->GetGroup(it)->GetName(); + anABAQUS_Output << "** GroupID: " << (it) << " --> GroupName: " << groupName << " --> GroupElementType: " << groupElementType << std::endl; if (aElementType == SMDSAbs_Node) { @@ -2323,13 +2316,13 @@ void FemMesh::writeABAQUS(const std::string &Filename, int elemParam, bool group // get and write group elements std::set ids; - SMDS_ElemIteratorPtr aElemIter = myMesh->GetGroup(*it)->GetGroupDS()->GetElements(); + SMDS_ElemIteratorPtr aElemIter = myMesh->GetGroup(it)->GetGroupDS()->GetElements(); while (aElemIter->more()) { const SMDS_MeshElement* aElement = aElemIter->next(); ids.insert(aElement->GetID()); } - for (std::set::iterator it = ids.begin(); it != ids.end(); ++it) { - anABAQUS_Output << *it << std::endl; + for (int it : ids) { + anABAQUS_Output << it << std::endl; } // write newline after each group diff --git a/src/Mod/Fem/App/FemMeshObject.cpp b/src/Mod/Fem/App/FemMeshObject.cpp index 597f9ab398..c106061a03 100644 --- a/src/Mod/Fem/App/FemMeshObject.cpp +++ b/src/Mod/Fem/App/FemMeshObject.cpp @@ -43,9 +43,7 @@ FemMeshObject::FemMeshObject() // https://forum.freecad.org/viewtopic.php?f=18&t=33329#p279203 } -FemMeshObject::~FemMeshObject() -{ -} +FemMeshObject::~FemMeshObject() = default; short FemMeshObject::mustExecute() const { diff --git a/src/Mod/Fem/App/FemMeshProperty.cpp b/src/Mod/Fem/App/FemMeshProperty.cpp index 7d82b34674..84b1f41dff 100644 --- a/src/Mod/Fem/App/FemMeshProperty.cpp +++ b/src/Mod/Fem/App/FemMeshProperty.cpp @@ -42,9 +42,7 @@ PropertyFemMesh::PropertyFemMesh() : _FemMesh(new FemMesh) { } -PropertyFemMesh::~PropertyFemMesh() -{ -} +PropertyFemMesh::~PropertyFemMesh() = default; void PropertyFemMesh::setValuePtr(FemMesh* mesh) { diff --git a/src/Mod/Fem/App/FemMeshPy.xml b/src/Mod/Fem/App/FemMeshPy.xml index 293d7a5af3..f45ffacc3a 100755 --- a/src/Mod/Fem/App/FemMeshPy.xml +++ b/src/Mod/Fem/App/FemMeshPy.xml @@ -168,7 +168,7 @@ Add a group to mesh with specific name and type addGroup(name, typestring, [id]) name: string - typestring: \"All\", \"Node\", \"Edge\", \"Face\", \"Volume\", \"0DElement\", \"Ball\" + typestring: "All", "Node", "Edge", "Face", "Volume", "0DElement", "Ball" id: int Optional id is used to force specific id for group, but does not work, yet. diff --git a/src/Mod/Fem/App/FemMeshPyImp.cpp b/src/Mod/Fem/App/FemMeshPyImp.cpp index 10afaea6c6..38f7899491 100644 --- a/src/Mod/Fem/App/FemMeshPyImp.cpp +++ b/src/Mod/Fem/App/FemMeshPyImp.cpp @@ -811,8 +811,8 @@ PyObject* FemMeshPy::getNodesBySolid(PyObject *args) } Py::List ret; std::set resultSet = getFemMeshPtr()->getNodesBySolid(fc); - for (std::set::const_iterator it = resultSet.begin();it!=resultSet.end();++it) - ret.append(Py::Long(*it)); + for (int it : resultSet) + ret.append(Py::Long(it)); return Py::new_reference_to(ret); @@ -838,8 +838,8 @@ PyObject* FemMeshPy::getNodesByFace(PyObject *args) } Py::List ret; std::set resultSet = getFemMeshPtr()->getNodesByFace(fc); - for (std::set::const_iterator it = resultSet.begin();it!=resultSet.end();++it) - ret.append(Py::Long(*it)); + for (int it : resultSet) + ret.append(Py::Long(it)); return Py::new_reference_to(ret); @@ -865,8 +865,8 @@ PyObject* FemMeshPy::getNodesByEdge(PyObject *args) } Py::List ret; std::set resultSet = getFemMeshPtr()->getNodesByEdge(fc); - for (std::set::const_iterator it = resultSet.begin();it!=resultSet.end();++it) - ret.append(Py::Long(*it)); + for (int it : resultSet) + ret.append(Py::Long(it)); return Py::new_reference_to(ret); @@ -892,8 +892,8 @@ PyObject* FemMeshPy::getNodesByVertex(PyObject *args) } Py::List ret; std::set resultSet = getFemMeshPtr()->getNodesByVertex(fc); - for (std::set::const_iterator it = resultSet.begin();it!=resultSet.end();++it) - ret.append(Py::Long(*it)); + for (int it : resultSet) + ret.append(Py::Long(it)); return Py::new_reference_to(ret); @@ -957,8 +957,8 @@ PyObject* FemMeshPy::getNodeElements(PyObject* args) std::list elemList = getFemMeshPtr()->getNodeElements(id, elemType); Py::Tuple result(elemList.size()); int index = 0; - for (std::list::iterator it = elemList.begin(); it != elemList.end(); ++it) { - result.setItem(index++, Py::Long(*it)); + for (int it : elemList) { + result.setItem(index++, Py::Long(it)); } return Py::new_reference_to(result); @@ -1021,8 +1021,8 @@ PyObject* FemMeshPy::getGroupElements(PyObject *args) Py::Tuple tuple(ids.size()); int index = 0; - for (std::set::iterator it = ids.begin(); it != ids.end(); ++it) { - tuple.setItem(index++, Py::Long(*it)); + for (int it : ids) { + tuple.setItem(index++, Py::Long(it)); } return Py::new_reference_to(tuple); @@ -1092,8 +1092,8 @@ PyObject* FemMeshPy::addGroupElements(PyObject *args) // Downcast Py_ssize_t to int to be compatible with SMESH functions std::set int_ids; - for (std::set::iterator it = ids.begin(); it != ids.end(); ++it) - int_ids.insert(Py_SAFE_DOWNCAST(*it, Py_ssize_t, int)); + for (Py_ssize_t it : ids) + int_ids.insert(Py_SAFE_DOWNCAST(it, Py_ssize_t, int)); try { @@ -1166,8 +1166,8 @@ PyObject* FemMeshPy::getIdByElementType(PyObject *args) Py::Tuple tuple(ids.size()); int index = 0; - for (std::set::iterator it = ids.begin(); it != ids.end(); ++it) { - tuple.setItem(index++, Py::Long(*it)); + for (int it : ids) { + tuple.setItem(index++, Py::Long(it)); } return Py::new_reference_to(tuple); @@ -1214,8 +1214,8 @@ Py::Tuple FemMeshPy::getEdges() const Py::Tuple tuple(ids.size()); int index = 0; - for (std::set::iterator it = ids.begin(); it != ids.end(); ++it) { - tuple.setItem(index++, Py::Long(*it)); + for (int it : ids) { + tuple.setItem(index++, Py::Long(it)); } return tuple; @@ -1226,8 +1226,8 @@ Py::Tuple FemMeshPy::getEdgesOnly() const std::set resultSet = getFemMeshPtr()->getEdgesOnly(); Py::Tuple tuple(resultSet.size()); int index = 0; - for (std::set::iterator it = resultSet.begin(); it != resultSet.end(); ++it) { - tuple.setItem(index++, Py::Long(*it)); + for (int it : resultSet) { + tuple.setItem(index++, Py::Long(it)); } return tuple; @@ -1249,8 +1249,8 @@ Py::Tuple FemMeshPy::getFaces() const Py::Tuple tuple(ids.size()); int index = 0; - for (std::set::iterator it = ids.begin(); it != ids.end(); ++it) { - tuple.setItem(index++, Py::Long(*it)); + for (int it : ids) { + tuple.setItem(index++, Py::Long(it)); } return tuple; @@ -1261,8 +1261,8 @@ Py::Tuple FemMeshPy::getFacesOnly() const std::set resultSet = getFemMeshPtr()->getFacesOnly(); Py::Tuple tuple(resultSet.size()); int index = 0; - for (std::set::iterator it = resultSet.begin(); it != resultSet.end(); ++it) { - tuple.setItem(index++, Py::Long(*it)); + for (int it : resultSet) { + tuple.setItem(index++, Py::Long(it)); } return tuple; @@ -1299,8 +1299,8 @@ Py::Tuple FemMeshPy::getVolumes() const Py::Tuple tuple(ids.size()); int index = 0; - for (std::set::iterator it = ids.begin(); it != ids.end(); ++it) { - tuple.setItem(index++, Py::Long(*it)); + for (int it : ids) { + tuple.setItem(index++, Py::Long(it)); } return tuple; @@ -1352,8 +1352,8 @@ Py::Tuple FemMeshPy::getGroups() const Py::Tuple tuple(groupIDs.size()); int index = 0; - for (std::list::iterator it = groupIDs.begin(); it != groupIDs.end(); ++it) { - tuple.setItem(index++, Py::Long(*it)); + for (int it : groupIDs) { + tuple.setItem(index++, Py::Long(it)); } return tuple; diff --git a/src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp b/src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp index c19bf3ba6f..73a7631c85 100644 --- a/src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp +++ b/src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp @@ -62,9 +62,7 @@ FemMeshShapeNetgenObject::FemMeshShapeNetgenObject() } -FemMeshShapeNetgenObject::~FemMeshShapeNetgenObject() -{ -} +FemMeshShapeNetgenObject::~FemMeshShapeNetgenObject() = default; App::DocumentObjectExecReturn *FemMeshShapeNetgenObject::execute() { diff --git a/src/Mod/Fem/App/FemMeshShapeObject.cpp b/src/Mod/Fem/App/FemMeshShapeObject.cpp index 627aab1c51..6d8f98c8a8 100644 --- a/src/Mod/Fem/App/FemMeshShapeObject.cpp +++ b/src/Mod/Fem/App/FemMeshShapeObject.cpp @@ -66,9 +66,7 @@ FemMeshShapeObject::FemMeshShapeObject() "Geometry object, the mesh is made from. The geometry object has to have a Shape."); } -FemMeshShapeObject::~FemMeshShapeObject() -{ -} +FemMeshShapeObject::~FemMeshShapeObject() = default; App::DocumentObjectExecReturn *FemMeshShapeObject::execute() { diff --git a/src/Mod/Fem/App/FemPostFilter.cpp b/src/Mod/Fem/App/FemPostFilter.cpp index 19b5a6abe1..ff9fb3c9bd 100644 --- a/src/Mod/Fem/App/FemPostFilter.cpp +++ b/src/Mod/Fem/App/FemPostFilter.cpp @@ -45,8 +45,7 @@ FemPostFilter::FemPostFilter() ADD_PROPERTY(Input,(nullptr)); } -FemPostFilter::~FemPostFilter() -{} +FemPostFilter::~FemPostFilter() = default; void FemPostFilter::addFilterPipeline(const FemPostFilter::FilterPipeline& p, std::string name) { @@ -101,10 +100,9 @@ vtkDataObject* FemPostFilter::getInputData() //get the pipeline and use the pipelinedata std::vector objs = getDocument()->getObjectsOfType(FemPostPipeline::getClassTypeId()); - for (std::vector::iterator it = objs.begin(); it != objs.end(); - ++it) { - if (static_cast(*it)->holdsPostObject(this)) - return static_cast(*it)->Data.getValue(); + for (auto it : objs) { + if (static_cast(it)->holdsPostObject(this)) + return static_cast(it)->Data.getValue(); } } @@ -176,8 +174,7 @@ FemPostDataAlongLineFilter::FemPostDataAlongLineFilter() setActiveFilterPipeline("DataAlongLine"); } -FemPostDataAlongLineFilter::~FemPostDataAlongLineFilter() -{} +FemPostDataAlongLineFilter::~FemPostDataAlongLineFilter() = default; DocumentObjectExecReturn* FemPostDataAlongLineFilter::execute() { @@ -326,8 +323,7 @@ FemPostDataAtPointFilter::FemPostDataAtPointFilter() setActiveFilterPipeline("DataAtPoint"); } -FemPostDataAtPointFilter::~FemPostDataAtPointFilter() -{} +FemPostDataAtPointFilter::~FemPostDataAtPointFilter() = default; DocumentObjectExecReturn* FemPostDataAtPointFilter::execute() { @@ -422,8 +418,7 @@ FemPostClipFilter::FemPostClipFilter() setActiveFilterPipeline("extract"); } -FemPostClipFilter::~FemPostClipFilter() -{} +FemPostClipFilter::~FemPostClipFilter() = default; void FemPostClipFilter::onChanged(const Property* prop) { @@ -498,8 +493,7 @@ FemPostContoursFilter::FemPostContoursFilter() setActiveFilterPipeline("contours"); } -FemPostContoursFilter::~FemPostContoursFilter() -{} +FemPostContoursFilter::~FemPostContoursFilter() = default; DocumentObjectExecReturn* FemPostContoursFilter::execute() { @@ -745,8 +739,7 @@ FemPostCutFilter::FemPostCutFilter() setActiveFilterPipeline("cut"); } -FemPostCutFilter::~FemPostCutFilter() -{} +FemPostCutFilter::~FemPostCutFilter() = default; void FemPostCutFilter::onChanged(const Property* prop) { @@ -799,9 +792,7 @@ FemPostScalarClipFilter::FemPostScalarClipFilter() : FemPostFilter() { setActiveFilterPipeline("clip"); } -FemPostScalarClipFilter::~FemPostScalarClipFilter() { - -} +FemPostScalarClipFilter::~FemPostScalarClipFilter() = default; DocumentObjectExecReturn* FemPostScalarClipFilter::execute() { @@ -907,8 +898,7 @@ FemPostWarpVectorFilter::FemPostWarpVectorFilter() : FemPostFilter() setActiveFilterPipeline("warp"); } -FemPostWarpVectorFilter::~FemPostWarpVectorFilter() -{} +FemPostWarpVectorFilter::~FemPostWarpVectorFilter() = default; DocumentObjectExecReturn* FemPostWarpVectorFilter::execute() { diff --git a/src/Mod/Fem/App/FemPostFunction.cpp b/src/Mod/Fem/App/FemPostFunction.cpp index 4d36f4b97a..5330c738c2 100644 --- a/src/Mod/Fem/App/FemPostFunction.cpp +++ b/src/Mod/Fem/App/FemPostFunction.cpp @@ -35,9 +35,7 @@ FemPostFunctionProvider::FemPostFunctionProvider() : DocumentObject() { ADD_PROPERTY(Functions, (nullptr)); } -FemPostFunctionProvider::~FemPostFunctionProvider() { - -} +FemPostFunctionProvider::~FemPostFunctionProvider() = default; void FemPostFunctionProvider::onChanged(const Property* prop) { App::DocumentObject::onChanged(prop); @@ -46,13 +44,9 @@ void FemPostFunctionProvider::onChanged(const Property* prop) { PROPERTY_SOURCE(Fem::FemPostFunction, App::DocumentObject) -FemPostFunction::FemPostFunction() -{ -} +FemPostFunction::FemPostFunction() = default; -FemPostFunction::~FemPostFunction() -{ -} +FemPostFunction::~FemPostFunction() = default; DocumentObjectExecReturn* FemPostFunction::execute() { @@ -77,9 +71,7 @@ FemPostBoxFunction::FemPostBoxFunction() m_box->SetBounds(-5.0, 5.0, -5.0, 5.0, -5.0, 5.0); } -FemPostBoxFunction::~FemPostBoxFunction() -{ -} +FemPostBoxFunction::~FemPostBoxFunction() = default; void FemPostBoxFunction::onChanged(const Property* prop) { @@ -123,9 +115,7 @@ FemPostCylinderFunction::FemPostCylinderFunction() m_cylinder->SetRadius(5.0); } -FemPostCylinderFunction::~FemPostCylinderFunction() -{ -} +FemPostCylinderFunction::~FemPostCylinderFunction() = default; void FemPostCylinderFunction::onChanged(const Property* prop) { @@ -167,9 +157,7 @@ FemPostPlaneFunction::FemPostPlaneFunction() : FemPostFunction() { m_plane->SetNormal(0.0, 0.0, 1.0); } -FemPostPlaneFunction::~FemPostPlaneFunction() { - -} +FemPostPlaneFunction::~FemPostPlaneFunction() = default; void FemPostPlaneFunction::onChanged(const Property* prop) { @@ -207,9 +195,7 @@ FemPostSphereFunction::FemPostSphereFunction() : FemPostFunction() { m_sphere->SetRadius(5.0); } -FemPostSphereFunction::~FemPostSphereFunction() { - -} +FemPostSphereFunction::~FemPostSphereFunction() = default; void FemPostSphereFunction::onChanged(const Property* prop) { diff --git a/src/Mod/Fem/App/FemPostObject.cpp b/src/Mod/Fem/App/FemPostObject.cpp index 3ad500a685..3be1a3f154 100644 --- a/src/Mod/Fem/App/FemPostObject.cpp +++ b/src/Mod/Fem/App/FemPostObject.cpp @@ -40,9 +40,7 @@ FemPostObject::FemPostObject() ADD_PROPERTY(Data, (nullptr)); } -FemPostObject::~FemPostObject() -{ -} +FemPostObject::~FemPostObject() = default; vtkBoundingBox FemPostObject::getBoundingBox() { diff --git a/src/Mod/Fem/App/FemPostPipeline.cpp b/src/Mod/Fem/App/FemPostPipeline.cpp index 0921df2e2d..16e1d43423 100644 --- a/src/Mod/Fem/App/FemPostPipeline.cpp +++ b/src/Mod/Fem/App/FemPostPipeline.cpp @@ -73,9 +73,7 @@ FemPostPipeline::FemPostPipeline() Mode.setEnums(ModeEnums); } -FemPostPipeline::~FemPostPipeline() -{ -} +FemPostPipeline::~FemPostPipeline() = default; short FemPostPipeline::mustExecute() const { diff --git a/src/Mod/Fem/App/FemPostPipelinePyImp.cpp b/src/Mod/Fem/App/FemPostPipelinePyImp.cpp index e77c9751f8..484df01a5a 100644 --- a/src/Mod/Fem/App/FemPostPipelinePyImp.cpp +++ b/src/Mod/Fem/App/FemPostPipelinePyImp.cpp @@ -37,7 +37,7 @@ using namespace Fem; // returns a string which represents the object e.g. when printed in python std::string FemPostPipelinePy::representation() const { - return std::string(""); + return {""}; } PyObject* FemPostPipelinePy::read(PyObject *args) diff --git a/src/Mod/Fem/App/FemResultObject.cpp b/src/Mod/Fem/App/FemResultObject.cpp index 1347507831..d7e8fc676f 100644 --- a/src/Mod/Fem/App/FemResultObject.cpp +++ b/src/Mod/Fem/App/FemResultObject.cpp @@ -47,9 +47,7 @@ FemResultObject::FemResultObject() Time.setStatus(App::Property::ReadOnly, true); } -FemResultObject::~FemResultObject() -{ -} +FemResultObject::~FemResultObject() = default; short FemResultObject::mustExecute() const { diff --git a/src/Mod/Fem/App/FemSetElementsObject.cpp b/src/Mod/Fem/App/FemSetElementsObject.cpp index 1657764e87..08bf489f28 100644 --- a/src/Mod/Fem/App/FemSetElementsObject.cpp +++ b/src/Mod/Fem/App/FemSetElementsObject.cpp @@ -33,13 +33,9 @@ using namespace App; PROPERTY_SOURCE(Fem::FemSetElementsObject, Fem::FemSetObject) -FemSetElementsObject::FemSetElementsObject() -{ -} +FemSetElementsObject::FemSetElementsObject() = default; -FemSetElementsObject::~FemSetElementsObject() -{ -} +FemSetElementsObject::~FemSetElementsObject() = default; short FemSetElementsObject::mustExecute() const { diff --git a/src/Mod/Fem/App/FemSetFacesObject.cpp b/src/Mod/Fem/App/FemSetFacesObject.cpp index 18af33b2fd..4aca555e60 100644 --- a/src/Mod/Fem/App/FemSetFacesObject.cpp +++ b/src/Mod/Fem/App/FemSetFacesObject.cpp @@ -33,13 +33,9 @@ using namespace App; PROPERTY_SOURCE(Fem::FemSetFacesObject, Fem::FemSetObject) -FemSetFacesObject::FemSetFacesObject() -{ -} +FemSetFacesObject::FemSetFacesObject() = default; -FemSetFacesObject::~FemSetFacesObject() -{ -} +FemSetFacesObject::~FemSetFacesObject() = default; short FemSetFacesObject::mustExecute() const { diff --git a/src/Mod/Fem/App/FemSetGeometryObject.cpp b/src/Mod/Fem/App/FemSetGeometryObject.cpp index 1f955379f2..57044225c7 100644 --- a/src/Mod/Fem/App/FemSetGeometryObject.cpp +++ b/src/Mod/Fem/App/FemSetGeometryObject.cpp @@ -32,13 +32,9 @@ using namespace App; PROPERTY_SOURCE(Fem::FemSetGeometryObject, Fem::FemSetObject) -FemSetGeometryObject::FemSetGeometryObject() -{ -} +FemSetGeometryObject::FemSetGeometryObject() = default; -FemSetGeometryObject::~FemSetGeometryObject() -{ -} +FemSetGeometryObject::~FemSetGeometryObject() = default; short FemSetGeometryObject::mustExecute() const { diff --git a/src/Mod/Fem/App/FemSetNodesObject.cpp b/src/Mod/Fem/App/FemSetNodesObject.cpp index 392ba33a76..0554831fa4 100644 --- a/src/Mod/Fem/App/FemSetNodesObject.cpp +++ b/src/Mod/Fem/App/FemSetNodesObject.cpp @@ -38,9 +38,7 @@ FemSetNodesObject::FemSetNodesObject() ADD_PROPERTY_TYPE(Nodes,(), "Node indexes",Prop_None,"Nodes belonging to the NodesSet"); } -FemSetNodesObject::~FemSetNodesObject() -{ -} +FemSetNodesObject::~FemSetNodesObject() = default; short FemSetNodesObject::mustExecute() const { diff --git a/src/Mod/Fem/App/FemSetObject.cpp b/src/Mod/Fem/App/FemSetObject.cpp index b5536e9a6b..3cdcb59f7b 100644 --- a/src/Mod/Fem/App/FemSetObject.cpp +++ b/src/Mod/Fem/App/FemSetObject.cpp @@ -37,9 +37,7 @@ FemSetObject::FemSetObject() ADD_PROPERTY_TYPE(FemMesh,(nullptr), "MeshSet link",Prop_None,"MeshSet the set belongs to"); } -FemSetObject::~FemSetObject() -{ -} +FemSetObject::~FemSetObject() = default; short FemSetObject::mustExecute() const { diff --git a/src/Mod/Fem/App/FemSolverObject.cpp b/src/Mod/Fem/App/FemSolverObject.cpp index 3c15824615..7ca43ff8f1 100644 --- a/src/Mod/Fem/App/FemSolverObject.cpp +++ b/src/Mod/Fem/App/FemSolverObject.cpp @@ -35,14 +35,9 @@ using namespace App; PROPERTY_SOURCE(Fem::FemSolverObject, App::DocumentObject) -FemSolverObject::FemSolverObject() -{ - // Attributes are implemented in the FemSolverObjectPython -} +FemSolverObject::FemSolverObject() = default; -FemSolverObject::~FemSolverObject() -{ -} +FemSolverObject::~FemSolverObject() = default; short FemSolverObject::mustExecute() const { diff --git a/src/Mod/Fem/App/FemVTKTools.cpp b/src/Mod/Fem/App/FemVTKTools.cpp index 4f3a04d1d2..1b572bba94 100644 --- a/src/Mod/Fem/App/FemVTKTools.cpp +++ b/src/Mod/Fem/App/FemVTKTools.cpp @@ -589,9 +589,9 @@ App::DocumentObject* getObjectByType(const Base::Type type) } if (obj->getTypeId() == FemAnalysis::getClassTypeId()) { std::vector fem = (static_cast(obj))->Group.getValues(); - for (std::vector::iterator it = fem.begin(); it != fem.end(); ++it) { - if ((*it)->getTypeId().isDerivedFrom(type)) - return static_cast(*it);// return the first of that type + for (const auto & it : fem) { + if (it->getTypeId().isDerivedFrom(type)) + return static_cast(it);// return the first of that type } } return nullptr; @@ -833,14 +833,13 @@ void FemVTKTools::importFreeCADResult(vtkSmartPointer dataset, Base::Console().Log(" NodeNumbers have been filled with values.\n"); // vectors - for (std::map::iterator it = vectors.begin(); it != vectors.end(); - ++it) { + for (const auto & it : vectors) { int dim = 3;// Fixme: currently 3D only, here we could run into trouble, // FreeCAD only supports dim 3D, I do not know about VTK - vtkDataArray* vector_field = vtkDataArray::SafeDownCast(pd->GetArray(it->second.c_str())); + vtkDataArray* vector_field = vtkDataArray::SafeDownCast(pd->GetArray(it.second.c_str())); if (vector_field && vector_field->GetNumberOfComponents() == dim) { App::PropertyVectorList* vector_list = - static_cast(result->getPropertyByName(it->first.c_str())); + static_cast(result->getPropertyByName(it.first.c_str())); if (vector_list) { std::vector vec(nPoints); for (vtkIdType i = 0; i < nPoints; ++i) { @@ -851,31 +850,30 @@ void FemVTKTools::importFreeCADResult(vtkSmartPointer dataset, // PropertyVectorList will not show up in PropertyEditor vector_list->setValues(vec); Base::Console().Log(" A PropertyVectorList has been filled with values: %s\n", - it->first.c_str()); + it.first.c_str()); } else { Base::Console().Error("static_cast((result->" "getPropertyByName(\"%s\")) failed.\n", - it->first.c_str()); + it.first.c_str()); continue; } } else Base::Console().Message(" PropertyVectorList NOT found in vkt file data: %s\n", - it->first.c_str()); + it.first.c_str()); } // scalars - for (std::map::iterator it = scalars.begin(); it != scalars.end(); - ++it) { - vtkDataArray* vec = vtkDataArray::SafeDownCast(pd->GetArray(it->second.c_str())); + for (const auto & scalar : scalars) { + vtkDataArray* vec = vtkDataArray::SafeDownCast(pd->GetArray(scalar.second.c_str())); if (nPoints && vec && vec->GetNumberOfComponents() == 1) { App::PropertyFloatList* field = - static_cast(result->getPropertyByName(it->first.c_str())); + static_cast(result->getPropertyByName(scalar.first.c_str())); if (!field) { Base::Console().Error("static_cast((result->" "getPropertyByName(\"%s\")) failed.\n", - it->first.c_str()); + scalar.first.c_str()); continue; } @@ -891,11 +889,11 @@ void FemVTKTools::importFreeCADResult(vtkSmartPointer dataset, } field->setValues(values); Base::Console().Log(" A PropertyFloatList has been filled with vales: %s\n", - it->first.c_str()); + scalar.first.c_str()); } else Base::Console().Message(" PropertyFloatList NOT found in vkt file data %s\n", - it->first.c_str()); + scalar.first.c_str()); } // stats @@ -933,15 +931,14 @@ void FemVTKTools::exportFreeCADResult(const App::DocumentObject* result, double factor = 1.0; // vectors - for (std::map::iterator it = vectors.begin(); it != vectors.end(); - ++it) { + for (const auto & it : vectors) { const int dim = 3;//Fixme, detect dim, but FreeCAD PropertyVectorList ATM only has DIM of 3 App::PropertyVectorList* field = nullptr; - if (res->getPropertyByName(it->first.c_str())) + if (res->getPropertyByName(it.first.c_str())) field = - static_cast(res->getPropertyByName(it->first.c_str())); + static_cast(res->getPropertyByName(it.first.c_str())); else - Base::Console().Error(" PropertyVectorList not found: %s\n", it->first.c_str()); + Base::Console().Error(" PropertyVectorList not found: %s\n", it.first.c_str()); if (field && field->getSize() > 0) { //if (nPoints != field->getSize()) @@ -951,7 +948,7 @@ void FemVTKTools::exportFreeCADResult(const App::DocumentObject* result, vtkSmartPointer data = vtkSmartPointer::New(); data->SetNumberOfComponents(dim); data->SetNumberOfTuples(nPoints); - data->SetName(it->second.c_str()); + data->SetName(it.second.c_str()); // we need to set values for the unused points. // TODO: ensure that the result bar does not include the used 0 if it is not @@ -963,39 +960,37 @@ void FemVTKTools::exportFreeCADResult(const App::DocumentObject* result, } } - if (it->first.compare("DisplacementVectors") == 0) + if (it.first.compare("DisplacementVectors") == 0) factor = 0.001;// to get meter else factor = 1.0; SMDS_NodeIteratorPtr aNodeIter = meshDS->nodesIterator(); - for (std::vector::const_iterator jt = vel.begin(); jt != vel.end(); - ++jt) { + for (const auto & jt : vel) { const SMDS_MeshNode* node = aNodeIter->next(); - double tuple[] = {jt->x * factor, jt->y * factor, jt->z * factor}; + double tuple[] = {jt.x * factor, jt.y * factor, jt.z * factor}; data->SetTuple(node->GetID() - 1, tuple); } grid->GetPointData()->AddArray(data); Base::Console().Log( " The PropertyVectorList %s was exported to VTK vector list: %s\n", - it->first.c_str(), - it->second.c_str()); + it.first.c_str(), + it.second.c_str()); } else if (field) { Base::Console().Log(" PropertyVectorList NOT exported to vtk: %s size is: %i\n", - it->first.c_str(), + it.first.c_str(), field->getSize()); } } // scalars - for (std::map::iterator it = scalars.begin(); it != scalars.end(); - ++it) { + for (const auto & scalar : scalars) { App::PropertyFloatList* field = nullptr; - if (res->getPropertyByName(it->first.c_str())) - field = static_cast(res->getPropertyByName(it->first.c_str())); + if (res->getPropertyByName(scalar.first.c_str())) + field = static_cast(res->getPropertyByName(scalar.first.c_str())); else - Base::Console().Error("PropertyFloatList %s not found \n", it->first.c_str()); + Base::Console().Error("PropertyFloatList %s not found \n", scalar.first.c_str()); if (field && field->getSize() > 0) { //if (nPoints != field->getSize()) @@ -1004,7 +999,7 @@ void FemVTKTools::exportFreeCADResult(const App::DocumentObject* result, const std::vector& vec = field->getValues(); vtkSmartPointer data = vtkSmartPointer::New(); data->SetNumberOfValues(nPoints); - data->SetName(it->second.c_str()); + data->SetName(scalar.second.c_str()); // we need to set values for the unused points. // TODO: ensure that the result bar does not include the used 0 if it is not part @@ -1015,41 +1010,41 @@ void FemVTKTools::exportFreeCADResult(const App::DocumentObject* result, } } - if ((it->first.compare("MaxShear") == 0) - || (it->first.compare("NodeStressXX") == 0) - || (it->first.compare("NodeStressXY") == 0) - || (it->first.compare("NodeStressXZ") == 0) - || (it->first.compare("NodeStressYY") == 0) - || (it->first.compare("NodeStressYZ") == 0) - || (it->first.compare("NodeStressZZ") == 0) - || (it->first.compare("PrincipalMax") == 0) - || (it->first.compare("PrincipalMed") == 0) - || (it->first.compare("PrincipalMin") == 0) - || (it->first.compare("vonMises") == 0) - || (it->first.compare("NetworkPressure") == 0) ) + if ((scalar.first.compare("MaxShear") == 0) + || (scalar.first.compare("NodeStressXX") == 0) + || (scalar.first.compare("NodeStressXY") == 0) + || (scalar.first.compare("NodeStressXZ") == 0) + || (scalar.first.compare("NodeStressYY") == 0) + || (scalar.first.compare("NodeStressYZ") == 0) + || (scalar.first.compare("NodeStressZZ") == 0) + || (scalar.first.compare("PrincipalMax") == 0) + || (scalar.first.compare("PrincipalMed") == 0) + || (scalar.first.compare("PrincipalMin") == 0) + || (scalar.first.compare("vonMises") == 0) + || (scalar.first.compare("NetworkPressure") == 0) ) factor = 1e6; // to get Pascal - else if (it->first.compare("DisplacementLengths") == 0) + else if (scalar.first.compare("DisplacementLengths") == 0) factor = 0.001; // to get meter else factor = 1.0; SMDS_NodeIteratorPtr aNodeIter = meshDS->nodesIterator(); - for (size_t i = 0; i < vec.size(); ++i) { + for (double i : vec) { const SMDS_MeshNode* node = aNodeIter->next(); // for the MassFlowRate the last vec entries can be a nullptr, thus check this if (node) - data->SetValue(node->GetID() - 1, vec[i] * factor); + data->SetValue(node->GetID() - 1, i * factor); } grid->GetPointData()->AddArray(data); Base::Console().Log( " The PropertyFloatList %s was exported to VTK scalar list: %s\n", - it->first.c_str(), - it->second.c_str()); + scalar.first.c_str(), + scalar.second.c_str()); } else if (field) { Base::Console().Log(" PropertyFloatList NOT exported to vtk: %s size is: %i\n", - it->first.c_str(), + scalar.first.c_str(), field->getSize()); } } diff --git a/src/Mod/Fem/App/HypothesisPy.cpp b/src/Mod/Fem/App/HypothesisPy.cpp index ed0a9d0e6e..45d54f2b9c 100755 --- a/src/Mod/Fem/App/HypothesisPy.cpp +++ b/src/Mod/Fem/App/HypothesisPy.cpp @@ -78,9 +78,7 @@ HypothesisPy::HypothesisPy(std::shared_ptr h) { } -HypothesisPy::~HypothesisPy() -{ -} +HypothesisPy::~HypothesisPy() = default; // --------------------------------------------------------------------------- @@ -114,9 +112,7 @@ SMESH_HypothesisPy::SMESH_HypothesisPy(SMESH_Hypothesis* h) : hyp(h) } template -SMESH_HypothesisPy::~SMESH_HypothesisPy() -{ -} +SMESH_HypothesisPy::~SMESH_HypothesisPy() = default; template Py::Object SMESH_HypothesisPy::getattr(const char *name) @@ -256,9 +252,7 @@ StdMeshers_Arithmetic1DPy::StdMeshers_Arithmetic1DPy(int hypId, int studyId, SME } #endif -StdMeshers_Arithmetic1DPy::~StdMeshers_Arithmetic1DPy() -{ -} +StdMeshers_Arithmetic1DPy::~StdMeshers_Arithmetic1DPy() = default; Py::Object StdMeshers_Arithmetic1DPy::setLength(const Py::Tuple& args) { @@ -301,9 +295,7 @@ StdMeshers_AutomaticLengthPy::StdMeshers_AutomaticLengthPy(int /*hypId*/, int /* } #endif -StdMeshers_AutomaticLengthPy::~StdMeshers_AutomaticLengthPy() -{ -} +StdMeshers_AutomaticLengthPy::~StdMeshers_AutomaticLengthPy() = default; Py::Object StdMeshers_AutomaticLengthPy::setFineness(const Py::Tuple& args) { @@ -370,9 +362,7 @@ StdMeshers_NotConformAllowedPy::StdMeshers_NotConformAllowedPy(int hypId, int st } #endif -StdMeshers_NotConformAllowedPy::~StdMeshers_NotConformAllowedPy() -{ -} +StdMeshers_NotConformAllowedPy::~StdMeshers_NotConformAllowedPy() = default; // --------------------------------------------------------------------------- @@ -403,9 +393,7 @@ StdMeshers_MaxLengthPy::StdMeshers_MaxLengthPy(int hypId, int studyId, SMESH_Gen } #endif -StdMeshers_MaxLengthPy::~StdMeshers_MaxLengthPy() -{ -} +StdMeshers_MaxLengthPy::~StdMeshers_MaxLengthPy() = default; Py::Object StdMeshers_MaxLengthPy::setLength(const Py::Tuple& args) { @@ -479,9 +467,7 @@ StdMeshers_LocalLengthPy::StdMeshers_LocalLengthPy(int hypId, int studyId, SMESH } #endif -StdMeshers_LocalLengthPy::~StdMeshers_LocalLengthPy() -{ -} +StdMeshers_LocalLengthPy::~StdMeshers_LocalLengthPy() = default; Py::Object StdMeshers_LocalLengthPy::setLength(const Py::Tuple& args) { @@ -533,9 +519,7 @@ StdMeshers_MaxElementAreaPy::StdMeshers_MaxElementAreaPy(int hypId, int studyId, } #endif -StdMeshers_MaxElementAreaPy::~StdMeshers_MaxElementAreaPy() -{ -} +StdMeshers_MaxElementAreaPy::~StdMeshers_MaxElementAreaPy() = default; Py::Object StdMeshers_MaxElementAreaPy::setMaxArea(const Py::Tuple& args) { @@ -571,9 +555,7 @@ StdMeshers_QuadranglePreferencePy::StdMeshers_QuadranglePreferencePy(int hypId, } #endif -StdMeshers_QuadranglePreferencePy::~StdMeshers_QuadranglePreferencePy() -{ -} +StdMeshers_QuadranglePreferencePy::~StdMeshers_QuadranglePreferencePy() = default; // --------------------------------------------------------------------------- @@ -596,9 +578,7 @@ StdMeshers_Quadrangle_2DPy::StdMeshers_Quadrangle_2DPy(int hypId, int studyId, S } #endif -StdMeshers_Quadrangle_2DPy::~StdMeshers_Quadrangle_2DPy() -{ -} +StdMeshers_Quadrangle_2DPy::~StdMeshers_Quadrangle_2DPy() = default; // --------------------------------------------------------------------------- @@ -621,9 +601,7 @@ StdMeshers_Regular_1DPy::StdMeshers_Regular_1DPy(int hypId, int studyId, SMESH_G } #endif -StdMeshers_Regular_1DPy::~StdMeshers_Regular_1DPy() -{ -} +StdMeshers_Regular_1DPy::~StdMeshers_Regular_1DPy() = default; // --------------------------------------------------------------------------- @@ -646,9 +624,7 @@ StdMeshers_UseExisting_1DPy::StdMeshers_UseExisting_1DPy(int hypId, int studyId, } #endif -StdMeshers_UseExisting_1DPy::~StdMeshers_UseExisting_1DPy() -{ -} +StdMeshers_UseExisting_1DPy::~StdMeshers_UseExisting_1DPy() = default; // --------------------------------------------------------------------------- @@ -671,9 +647,7 @@ StdMeshers_UseExisting_2DPy::StdMeshers_UseExisting_2DPy(int hypId, int studyId, } #endif -StdMeshers_UseExisting_2DPy::~StdMeshers_UseExisting_2DPy() -{ -} +StdMeshers_UseExisting_2DPy::~StdMeshers_UseExisting_2DPy() = default; // --------------------------------------------------------------------------- @@ -696,9 +670,7 @@ StdMeshers_CompositeSegment_1DPy::StdMeshers_CompositeSegment_1DPy(int hypId, in } #endif -StdMeshers_CompositeSegment_1DPy::~StdMeshers_CompositeSegment_1DPy() -{ -} +StdMeshers_CompositeSegment_1DPy::~StdMeshers_CompositeSegment_1DPy() = default; // --------------------------------------------------------------------------- @@ -723,9 +695,7 @@ StdMeshers_Deflection1DPy::StdMeshers_Deflection1DPy(int hypId, int studyId, SME } #endif -StdMeshers_Deflection1DPy::~StdMeshers_Deflection1DPy() -{ -} +StdMeshers_Deflection1DPy::~StdMeshers_Deflection1DPy() = default; Py::Object StdMeshers_Deflection1DPy::setDeflection(const Py::Tuple& args) { @@ -755,9 +725,7 @@ StdMeshers_Hexa_3DPy::StdMeshers_Hexa_3DPy(int hypId, int studyId, SMESH_Gen* ge } #endif -StdMeshers_Hexa_3DPy::~StdMeshers_Hexa_3DPy() -{ -} +StdMeshers_Hexa_3DPy::~StdMeshers_Hexa_3DPy() = default; // --------------------------------------------------------------------------- @@ -774,9 +742,7 @@ StdMeshers_TrianglePreferencePy::StdMeshers_TrianglePreferencePy(int hypId, int { } -StdMeshers_TrianglePreferencePy::~StdMeshers_TrianglePreferencePy() -{ -} +StdMeshers_TrianglePreferencePy::~StdMeshers_TrianglePreferencePy() = default; #endif // -------------------------------------------------------------------- // --------------------------------------------------------------------------- @@ -802,9 +768,7 @@ StdMeshers_StartEndLengthPy::StdMeshers_StartEndLengthPy(int hypId, int studyId, } #endif -StdMeshers_StartEndLengthPy::~StdMeshers_StartEndLengthPy() -{ -} +StdMeshers_StartEndLengthPy::~StdMeshers_StartEndLengthPy() = default; Py::Object StdMeshers_StartEndLengthPy::setLength(const Py::Tuple& args) { @@ -840,9 +804,7 @@ StdMeshers_SegmentLengthAroundVertexPy::StdMeshers_SegmentLengthAroundVertexPy(i } #endif -StdMeshers_SegmentLengthAroundVertexPy::~StdMeshers_SegmentLengthAroundVertexPy() -{ -} +StdMeshers_SegmentLengthAroundVertexPy::~StdMeshers_SegmentLengthAroundVertexPy() = default; Py::Object StdMeshers_SegmentLengthAroundVertexPy::setLength(const Py::Tuple& args) { @@ -878,9 +840,7 @@ StdMeshers_SegmentAroundVertex_0DPy::StdMeshers_SegmentAroundVertex_0DPy(int hyp } #endif -StdMeshers_SegmentAroundVertex_0DPy::~StdMeshers_SegmentAroundVertex_0DPy() -{ -} +StdMeshers_SegmentAroundVertex_0DPy::~StdMeshers_SegmentAroundVertex_0DPy() = default; // --------------------------------------------------------------------------- @@ -903,9 +863,7 @@ StdMeshers_RadialPrism_3DPy::StdMeshers_RadialPrism_3DPy(int hypId, int studyId, } #endif -StdMeshers_RadialPrism_3DPy::~StdMeshers_RadialPrism_3DPy() -{ -} +StdMeshers_RadialPrism_3DPy::~StdMeshers_RadialPrism_3DPy() = default; // --------------------------------------------------------------------------- @@ -928,9 +886,7 @@ StdMeshers_QuadraticMeshPy::StdMeshers_QuadraticMeshPy(int hypId, int studyId, S } #endif -StdMeshers_QuadraticMeshPy::~StdMeshers_QuadraticMeshPy() -{ -} +StdMeshers_QuadraticMeshPy::~StdMeshers_QuadraticMeshPy() = default; // --------------------------------------------------------------------------- @@ -953,9 +909,7 @@ StdMeshers_ProjectionSource3DPy::StdMeshers_ProjectionSource3DPy(int hypId, int } #endif -StdMeshers_ProjectionSource3DPy::~StdMeshers_ProjectionSource3DPy() -{ -} +StdMeshers_ProjectionSource3DPy::~StdMeshers_ProjectionSource3DPy() = default; // --------------------------------------------------------------------------- @@ -978,9 +932,7 @@ StdMeshers_ProjectionSource2DPy::StdMeshers_ProjectionSource2DPy(int hypId, int } #endif -StdMeshers_ProjectionSource2DPy::~StdMeshers_ProjectionSource2DPy() -{ -} +StdMeshers_ProjectionSource2DPy::~StdMeshers_ProjectionSource2DPy() = default; // --------------------------------------------------------------------------- @@ -1003,9 +955,7 @@ StdMeshers_ProjectionSource1DPy::StdMeshers_ProjectionSource1DPy(int hypId, int } #endif -StdMeshers_ProjectionSource1DPy::~StdMeshers_ProjectionSource1DPy() -{ -} +StdMeshers_ProjectionSource1DPy::~StdMeshers_ProjectionSource1DPy() = default; // --------------------------------------------------------------------------- @@ -1028,9 +978,7 @@ StdMeshers_Projection_3DPy::StdMeshers_Projection_3DPy(int hypId, int studyId, S } #endif -StdMeshers_Projection_3DPy::~StdMeshers_Projection_3DPy() -{ -} +StdMeshers_Projection_3DPy::~StdMeshers_Projection_3DPy() = default; // --------------------------------------------------------------------------- @@ -1053,9 +1001,7 @@ StdMeshers_Projection_2DPy::StdMeshers_Projection_2DPy(int hypId, int studyId, S } #endif -StdMeshers_Projection_2DPy::~StdMeshers_Projection_2DPy() -{ -} +StdMeshers_Projection_2DPy::~StdMeshers_Projection_2DPy() = default; // --------------------------------------------------------------------------- @@ -1078,9 +1024,7 @@ StdMeshers_Projection_1DPy::StdMeshers_Projection_1DPy(int hypId, int studyId, S } #endif -StdMeshers_Projection_1DPy::~StdMeshers_Projection_1DPy() -{ -} +StdMeshers_Projection_1DPy::~StdMeshers_Projection_1DPy() = default; // --------------------------------------------------------------------------- @@ -1103,9 +1047,7 @@ StdMeshers_Prism_3DPy::StdMeshers_Prism_3DPy(int hypId, int studyId, SMESH_Gen* } #endif -StdMeshers_Prism_3DPy::~StdMeshers_Prism_3DPy() -{ -} +StdMeshers_Prism_3DPy::~StdMeshers_Prism_3DPy() = default; // --------------------------------------------------------------------------- @@ -1130,9 +1072,7 @@ StdMeshers_NumberOfSegmentsPy::StdMeshers_NumberOfSegmentsPy(int hypId, int stud } #endif -StdMeshers_NumberOfSegmentsPy::~StdMeshers_NumberOfSegmentsPy() -{ -} +StdMeshers_NumberOfSegmentsPy::~StdMeshers_NumberOfSegmentsPy() = default; Py::Object StdMeshers_NumberOfSegmentsPy::setNumSegm(const Py::Tuple& args) { @@ -1170,9 +1110,7 @@ StdMeshers_NumberOfLayersPy::StdMeshers_NumberOfLayersPy(int hypId, int studyId, } #endif -StdMeshers_NumberOfLayersPy::~StdMeshers_NumberOfLayersPy() -{ -} +StdMeshers_NumberOfLayersPy::~StdMeshers_NumberOfLayersPy() = default; Py::Object StdMeshers_NumberOfLayersPy::setNumLayers(const Py::Tuple& args) { @@ -1208,9 +1146,7 @@ StdMeshers_MEFISTO_2DPy::StdMeshers_MEFISTO_2DPy(int hypId, int studyId, SMESH_G } #endif -StdMeshers_MEFISTO_2DPy::~StdMeshers_MEFISTO_2DPy() -{ -} +StdMeshers_MEFISTO_2DPy::~StdMeshers_MEFISTO_2DPy() = default; // --------------------------------------------------------------------------- @@ -1235,9 +1171,7 @@ StdMeshers_MaxElementVolumePy::StdMeshers_MaxElementVolumePy(int hypId, int stud } #endif -StdMeshers_MaxElementVolumePy::~StdMeshers_MaxElementVolumePy() -{ -} +StdMeshers_MaxElementVolumePy::~StdMeshers_MaxElementVolumePy() = default; Py::Object StdMeshers_MaxElementVolumePy::setMaxVolume(const Py::Tuple& args) { @@ -1275,9 +1209,7 @@ StdMeshers_LengthFromEdgesPy::StdMeshers_LengthFromEdgesPy(int hypId, int studyI } #endif -StdMeshers_LengthFromEdgesPy::~StdMeshers_LengthFromEdgesPy() -{ -} +StdMeshers_LengthFromEdgesPy::~StdMeshers_LengthFromEdgesPy() = default; Py::Object StdMeshers_LengthFromEdgesPy::setMode(const Py::Tuple& args) { @@ -1319,9 +1251,7 @@ StdMeshers_LayerDistributionPy::StdMeshers_LayerDistributionPy(int hypId, int st } #endif -StdMeshers_LayerDistributionPy::~StdMeshers_LayerDistributionPy() -{ -} +StdMeshers_LayerDistributionPy::~StdMeshers_LayerDistributionPy() = default; Py::Object StdMeshers_LayerDistributionPy::setLayerDistribution(const Py::Tuple& args) { diff --git a/src/Mod/Fem/App/PropertyPostDataObject.cpp b/src/Mod/Fem/App/PropertyPostDataObject.cpp index 1b3e77afce..42ea5b06a2 100644 --- a/src/Mod/Fem/App/PropertyPostDataObject.cpp +++ b/src/Mod/Fem/App/PropertyPostDataObject.cpp @@ -56,13 +56,9 @@ using namespace Fem; TYPESYSTEM_SOURCE(Fem::PropertyPostDataObject , App::Property) -PropertyPostDataObject::PropertyPostDataObject() -{ -} +PropertyPostDataObject::PropertyPostDataObject() = default; -PropertyPostDataObject::~PropertyPostDataObject() -{ -} +PropertyPostDataObject::~PropertyPostDataObject() = default; void PropertyPostDataObject::scaleDataObject(vtkDataObject *dataObject, double s) { @@ -70,8 +66,8 @@ void PropertyPostDataObject::scaleDataObject(vtkDataObject *dataObject, double s for (vtkIdType i = 0; i < points->GetNumberOfPoints(); i++) { double xyz[3]; points->GetPoint(i, xyz); - for (int j = 0; j < 3; j++) - xyz[j] *= s; + for (double & j : xyz) + j *= s; points->SetPoint(i, xyz); } }; diff --git a/src/Mod/Fem/Gui/AbaqusHighlighter.cpp b/src/Mod/Fem/Gui/AbaqusHighlighter.cpp index bd7a6ed08a..159dbbf68a 100644 --- a/src/Mod/Fem/Gui/AbaqusHighlighter.cpp +++ b/src/Mod/Fem/Gui/AbaqusHighlighter.cpp @@ -39,9 +39,7 @@ AbaqusHighlighter::AbaqusHighlighter(QObject* parent) } /** Destroys this object. */ -AbaqusHighlighter::~AbaqusHighlighter() -{ -} +AbaqusHighlighter::~AbaqusHighlighter() = default; void AbaqusHighlighter::highlightBlock(const QString& text) { diff --git a/src/Mod/Fem/Gui/ActiveAnalysisObserver.cpp b/src/Mod/Fem/Gui/ActiveAnalysisObserver.cpp index 8753994762..221bf456f5 100644 --- a/src/Mod/Fem/Gui/ActiveAnalysisObserver.cpp +++ b/src/Mod/Fem/Gui/ActiveAnalysisObserver.cpp @@ -41,14 +41,9 @@ ActiveAnalysisObserver* ActiveAnalysisObserver::instance() return inst; } -ActiveAnalysisObserver::ActiveAnalysisObserver() - : activeObject(nullptr), activeView(nullptr), activeDocument(nullptr) -{ -} +ActiveAnalysisObserver::ActiveAnalysisObserver() = default; -ActiveAnalysisObserver::~ActiveAnalysisObserver() -{ -} +ActiveAnalysisObserver::~ActiveAnalysisObserver() = default; void ActiveAnalysisObserver::setActiveObject(Fem::FemAnalysis* fem) { diff --git a/src/Mod/Fem/Gui/ActiveAnalysisObserver.h b/src/Mod/Fem/Gui/ActiveAnalysisObserver.h index 86d0824fa8..99e7cd740d 100644 --- a/src/Mod/Fem/Gui/ActiveAnalysisObserver.h +++ b/src/Mod/Fem/Gui/ActiveAnalysisObserver.h @@ -55,9 +55,9 @@ private: private: static ActiveAnalysisObserver* inst; - Fem::FemAnalysis* activeObject; - Gui::ViewProviderDocumentObject* activeView; - Gui::Document* activeDocument; + Fem::FemAnalysis* activeObject{nullptr}; + Gui::ViewProviderDocumentObject* activeView{nullptr}; + Gui::Document* activeDocument{nullptr}; }; } //namespace FemGui diff --git a/src/Mod/Fem/Gui/AppFemGuiPy.cpp b/src/Mod/Fem/Gui/AppFemGuiPy.cpp index 2f0601f7ff..4f0382a446 100755 --- a/src/Mod/Fem/Gui/AppFemGuiPy.cpp +++ b/src/Mod/Fem/Gui/AppFemGuiPy.cpp @@ -58,8 +58,6 @@ public: initialize("This module is the FemGui module."); // register with Python } - ~Module() override {} - private: Py::Object invoke_method_varargs(void* method_def, const Py::Tuple& args) override { @@ -118,9 +116,9 @@ private: fi.setFile(fileName); QString ext = fi.completeSuffix().toLower(); QList views = Gui::getMainWindow()->findChildren(); - for (QList::Iterator it = views.begin(); it != views.end(); ++it) { - if ((*it)->fileName() == fileName) { - (*it)->setFocus(); + for (auto view : views) { + if (view->fileName() == fileName) { + view->setFocus(); return Py::None(); } } diff --git a/src/Mod/Fem/Gui/BoxWidget.ui b/src/Mod/Fem/Gui/BoxWidget.ui index 7fa57ca495..511c8d0cc2 100644 --- a/src/Mod/Fem/Gui/BoxWidget.ui +++ b/src/Mod/Fem/Gui/BoxWidget.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/Command.cpp b/src/Mod/Fem/Gui/Command.cpp index 75ed4dac15..6e91e2c7d8 100644 --- a/src/Mod/Fem/Gui/Command.cpp +++ b/src/Mod/Fem/Gui/Command.cpp @@ -950,8 +950,8 @@ void DefineNodesCallback(void* ud, SoEventCallback* n) SbViewVolume vv = cam->getViewVolume(); Gui::ViewVolumeProjection proj(vv); Base::Polygon2d polygon; - for (std::vector::const_iterator it = clPoly.begin(); it != clPoly.end(); ++it) - polygon.Add(Base::Vector2d((*it)[0], (*it)[1])); + for (auto it : clPoly) + polygon.Add(Base::Vector2d(it[0], it[1])); std::vector docObj = @@ -2364,12 +2364,11 @@ void CmdFemPostPipelineFromResult::activated(int) const std::vector obj = app->getObjectsOfType(App::DocumentObject::getClassTypeId()); - for (std::vector::const_iterator it = obj.begin(); it != obj.end(); - ++it) { + for (auto it : obj) { doCommand(Gui, "Gui.getDocument(\"%s\").getObject(\"%s\").Visibility=False", app->getName(), - (*it)->getNameInDocument()); + it->getNameInDocument()); } // we need single result object to attach the pipeline to diff --git a/src/Mod/Fem/Gui/CylinderWidget.ui b/src/Mod/Fem/Gui/CylinderWidget.ui index b3c83b98a1..0f1ddca66b 100644 --- a/src/Mod/Fem/Gui/CylinderWidget.ui +++ b/src/Mod/Fem/Gui/CylinderWidget.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp index 993e973bb0..4db1e0d727 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp @@ -53,10 +53,7 @@ DlgSettingsFemCcxImp::DlgSettingsFemCcxImp(QWidget* parent) this, &DlgSettingsFemCcxImp::onfileNameChanged); } -DlgSettingsFemCcxImp::~DlgSettingsFemCcxImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsFemCcxImp::~DlgSettingsFemCcxImp() = default; void DlgSettingsFemCcxImp::saveSettings() { diff --git a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp index 20126e56b2..0eca7982bb 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp @@ -54,10 +54,7 @@ DlgSettingsFemElmerImp::DlgSettingsFemElmerImp(QWidget* parent) this, &DlgSettingsFemElmerImp::onCoresValueChanged); } -DlgSettingsFemElmerImp::~DlgSettingsFemElmerImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsFemElmerImp::~DlgSettingsFemElmerImp() = default; void DlgSettingsFemElmerImp::saveSettings() { diff --git a/src/Mod/Fem/Gui/DlgSettingsFemExportAbaqusImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemExportAbaqusImp.cpp index 68c7b7fd3b..56f549faad 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemExportAbaqusImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemExportAbaqusImp.cpp @@ -42,8 +42,7 @@ DlgSettingsFemExportAbaqusImp::DlgSettingsFemExportAbaqusImp(QWidget* parent) /* * Destroys the object and frees any allocated resources */ -DlgSettingsFemExportAbaqusImp::~DlgSettingsFemExportAbaqusImp() -{} +DlgSettingsFemExportAbaqusImp::~DlgSettingsFemExportAbaqusImp() = default; void DlgSettingsFemExportAbaqusImp::saveSettings() { diff --git a/src/Mod/Fem/Gui/DlgSettingsFemGeneralImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemGeneralImp.cpp index 4c647f772b..0aa8b80c33 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemGeneralImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemGeneralImp.cpp @@ -70,10 +70,7 @@ DlgSettingsFemGeneralImp::DlgSettingsFemGeneralImp(QWidget* parent) ui->cmb_def_solver->setCurrentIndex(1); } -DlgSettingsFemGeneralImp::~DlgSettingsFemGeneralImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsFemGeneralImp::~DlgSettingsFemGeneralImp() = default; void DlgSettingsFemGeneralImp::saveSettings() { diff --git a/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.cpp index 6d1881bc2b..a22faac6bb 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.cpp @@ -43,10 +43,7 @@ DlgSettingsFemGmshImp::DlgSettingsFemGmshImp(QWidget* parent) this, &DlgSettingsFemGmshImp::onfileNameChanged); } -DlgSettingsFemGmshImp::~DlgSettingsFemGmshImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsFemGmshImp::~DlgSettingsFemGmshImp() = default; void DlgSettingsFemGmshImp::saveSettings() { diff --git a/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.cpp index 12032912cf..9c4ee914a5 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.cpp @@ -42,8 +42,7 @@ DlgSettingsFemInOutVtkImp::DlgSettingsFemInOutVtkImp(QWidget* parent) /* * Destroys the object and frees any allocated resources */ -DlgSettingsFemInOutVtkImp::~DlgSettingsFemInOutVtkImp() -{} +DlgSettingsFemInOutVtkImp::~DlgSettingsFemInOutVtkImp() = default; void DlgSettingsFemInOutVtkImp::saveSettings() { diff --git a/src/Mod/Fem/Gui/DlgSettingsFemMaterialImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemMaterialImp.cpp index 8780ce31a4..9451f8ea01 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemMaterialImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemMaterialImp.cpp @@ -37,10 +37,7 @@ DlgSettingsFemMaterialImp::DlgSettingsFemMaterialImp(QWidget* parent) ui->setupUi(this); } -DlgSettingsFemMaterialImp::~DlgSettingsFemMaterialImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsFemMaterialImp::~DlgSettingsFemMaterialImp() = default; void DlgSettingsFemMaterialImp::saveSettings() { diff --git a/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp index 2884725e56..0d8ec13ae4 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp @@ -43,10 +43,7 @@ DlgSettingsFemMystranImp::DlgSettingsFemMystranImp(QWidget* parent) this, &DlgSettingsFemMystranImp::onfileNameChanged); } -DlgSettingsFemMystranImp::~DlgSettingsFemMystranImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsFemMystranImp::~DlgSettingsFemMystranImp() = default; void DlgSettingsFemMystranImp::saveSettings() { diff --git a/src/Mod/Fem/Gui/DlgSettingsFemZ88Imp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemZ88Imp.cpp index e86115f9a1..c16f8bfcac 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemZ88Imp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemZ88Imp.cpp @@ -45,10 +45,7 @@ DlgSettingsFemZ88Imp::DlgSettingsFemZ88Imp(QWidget* parent) this, &DlgSettingsFemZ88Imp::onfileNameChanged); } -DlgSettingsFemZ88Imp::~DlgSettingsFemZ88Imp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsFemZ88Imp::~DlgSettingsFemZ88Imp() = default; void DlgSettingsFemZ88Imp::saveSettings() { diff --git a/src/Mod/Fem/Gui/PlaneWidget.ui b/src/Mod/Fem/Gui/PlaneWidget.ui index 2252ddd32b..7e79e2d9a1 100644 --- a/src/Mod/Fem/Gui/PlaneWidget.ui +++ b/src/Mod/Fem/Gui/PlaneWidget.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/PropertyFemMeshItem.cpp b/src/Mod/Fem/Gui/PropertyFemMeshItem.cpp index 1be3e60c54..b7a70b96bd 100644 --- a/src/Mod/Fem/Gui/PropertyFemMeshItem.cpp +++ b/src/Mod/Fem/Gui/PropertyFemMeshItem.cpp @@ -92,8 +92,8 @@ QVariant PropertyFemMeshItem::value(const App::Property*) const int ctG = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Fem::PropertyFemMesh* prop = static_cast(*pt); + for (auto pt : props) { + Fem::PropertyFemMesh* prop = static_cast(pt); const SMESH_Mesh* mesh = prop->getValue().getSMesh(); ctN += mesh->NbNodes(); ctE += mesh->NbEdges(); @@ -115,7 +115,7 @@ QVariant PropertyFemMeshItem::value(const App::Property*) const out << QObject::tr("Polyhedrons") << ": " << ctH << ", "; out << QObject::tr("Groups") << ": " << ctG; out << ']'; - return QVariant(str); + return {str}; } QVariant PropertyFemMeshItem::toolTip(const App::Property* prop) const @@ -145,15 +145,15 @@ void PropertyFemMeshItem::setEditorData(QWidget* editor, const QVariant& data) c QVariant PropertyFemMeshItem::editorData(QWidget* editor) const { Q_UNUSED(editor); - return QVariant(); + return {}; } int PropertyFemMeshItem::countNodes() const { int ctN = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Fem::PropertyFemMesh* prop = static_cast(*pt); + for (auto pt : props) { + Fem::PropertyFemMesh* prop = static_cast(pt); const SMESH_Mesh* mesh = prop->getValue().getSMesh(); ctN += mesh->NbNodes(); } @@ -165,8 +165,8 @@ int PropertyFemMeshItem::countEdges() const { int ctE = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Fem::PropertyFemMesh* prop = static_cast(*pt); + for (auto pt : props) { + Fem::PropertyFemMesh* prop = static_cast(pt); const SMESH_Mesh* mesh = prop->getValue().getSMesh(); ctE += mesh->NbEdges(); } @@ -178,8 +178,8 @@ int PropertyFemMeshItem::countFaces() const { int ctF = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Fem::PropertyFemMesh* prop = static_cast(*pt); + for (auto pt : props) { + Fem::PropertyFemMesh* prop = static_cast(pt); const SMESH_Mesh* mesh = prop->getValue().getSMesh(); ctF += mesh->NbFaces(); } @@ -191,8 +191,8 @@ int PropertyFemMeshItem::countPolygons() const { int ctP = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Fem::PropertyFemMesh* prop = static_cast(*pt); + for (auto pt : props) { + Fem::PropertyFemMesh* prop = static_cast(pt); const SMESH_Mesh* mesh = prop->getValue().getSMesh(); ctP += mesh->NbPolygons(); } @@ -204,8 +204,8 @@ int PropertyFemMeshItem::countVolumes() const { int ctV = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Fem::PropertyFemMesh* prop = static_cast(*pt); + for (auto pt : props) { + Fem::PropertyFemMesh* prop = static_cast(pt); const SMESH_Mesh* mesh = prop->getValue().getSMesh(); ctV += mesh->NbVolumes(); } @@ -217,8 +217,8 @@ int PropertyFemMeshItem::countPolyhedrons() const { int ctH = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Fem::PropertyFemMesh* prop = static_cast(*pt); + for (auto pt : props) { + Fem::PropertyFemMesh* prop = static_cast(pt); const SMESH_Mesh* mesh = prop->getValue().getSMesh(); ctH += mesh->NbPolyhedrons(); } @@ -230,8 +230,8 @@ int PropertyFemMeshItem::countGroups() const { int ctG = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Fem::PropertyFemMesh* prop = static_cast(*pt); + for (auto pt : props) { + Fem::PropertyFemMesh* prop = static_cast(pt); const SMESH_Mesh* mesh = prop->getValue().getSMesh(); ctG += mesh->NbGroup(); } diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem.ts b/src/Mod/Fem/Gui/Resources/translations/Fem.ts index 24f5b04d91..739d18e6a3 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem.ts @@ -350,7 +350,7 @@ - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ - + Wrong selection type - + Select a result object, please. @@ -689,12 +689,12 @@ - + Create pipeline from result - + Edit Mirror @@ -1016,12 +1016,12 @@ - + File does not exist - + The specified executable '%1' does not exist! @@ -1114,12 +1114,12 @@ will be merged to make the volume boundaries invisible. - + File does not exist - + The specified executable '%1' does not exist! @@ -1127,19 +1127,19 @@ Specify another file please. - - + + FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. @@ -1362,12 +1362,12 @@ adding an analysis container - + File does not exist - + The specified executable '%1' does not exist! @@ -1540,12 +1540,12 @@ If unchecked, they will be sorted by their name. - + File does not exist - + The specified executable '%1' does not exist! @@ -1640,12 +1640,12 @@ that "MAXKOI" needs to be increased. - + File does not exist - + The specified z88r executable '%1' does not exist! @@ -1653,18 +1653,18 @@ Specify another file please. - - + + Wrong file - + You must specify the path to the z88r.exe! - + You must specify the path to the z88r! @@ -1702,7 +1702,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error @@ -1710,7 +1710,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error @@ -1718,7 +1718,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error @@ -1726,7 +1726,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error @@ -1734,13 +1734,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error - + Please specify a force greater than 0 @@ -1756,7 +1756,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error @@ -1764,8 +1764,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error @@ -1773,7 +1773,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error @@ -1789,7 +1789,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error @@ -1797,7 +1797,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error @@ -1805,7 +1805,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error @@ -1813,12 +1813,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh - + Meshing failure @@ -1826,7 +1826,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error @@ -1905,22 +1905,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error @@ -1930,46 +1930,46 @@ Specify another file please. - - + + Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! - - + + Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! - - + + Only faces can be picked - + Only one master for a contact constraint! - + Only one master face for a contact constraint! @@ -1977,28 +1977,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error - - + + Nothing selected! - - + + Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2006,28 +2006,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error - - + + Nothing selected! - - + + Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2135,28 +2135,28 @@ Specify another file please. - - - - - + + + + + Selection error - - + + Nothing selected! - - + + Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2165,38 +2165,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error - + Nothing selected! - - + + Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection - + Select an edge or a face, please. @@ -2229,30 +2229,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error - - + + Nothing selected! - - + + Selected object is not a part! - - + + Selection must only consist of faces! @@ -2260,42 +2260,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error - - + + Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! - - + + Selected object is not a part! - + Only faces can be picked - + Only planar faces can be picked @@ -2303,28 +2303,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error - - + + Nothing selected! - - + + Selected object is not a part! - + Only faces can be picked @@ -2345,28 +2345,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error - - + + Nothing selected! - - + + Selected object is not a part! - + Only faces can be picked @@ -2374,22 +2374,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error - - + + Nothing selected! - - + + Selected object is not a part! @@ -2407,54 +2407,54 @@ Specify another file please. - - - - - - - - - - + + + + + + + + + + Selection error - - + + Nothing selected! - - + + Only one face for rectangular transform constraint! - - + + Selected object is not a part! - + Only one face for transform constraint! - + Only faces can be picked - + Only cylindrical faces can be picked - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2470,7 +2470,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function @@ -2478,7 +2478,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function @@ -2486,12 +2486,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options - + Length X-Axis plot label @@ -2500,12 +2500,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options - + %1 at (%2; %3; %4) is: %5 %6 @@ -2513,7 +2513,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options @@ -2521,7 +2521,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function @@ -2529,7 +2529,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options @@ -2537,7 +2537,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options @@ -2553,7 +2553,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis @@ -2561,12 +2561,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure - + The FEM module is built without NETGEN support. Meshing will not work!!! @@ -2574,15 +2574,15 @@ Specify another file please. FemMaterial - + FEM material + - Material @@ -2607,9 +2607,9 @@ Specify another file please. + - TextLabel @@ -2955,17 +2955,17 @@ Specify another file please. - - - + + + 0 mm @@ -2980,11 +2980,11 @@ Specify another file please. + - - + Parameter @@ -3014,13 +3014,13 @@ Specify another file please. - - + + - + + - Constraint Properties @@ -3035,9 +3035,12 @@ Specify another file please. - - - + + + + + + @@ -3050,18 +3053,15 @@ Specify another file please. + + + - - - - - - unspecified @@ -3087,16 +3087,16 @@ with a harmonic/oscillating driving force + - Real + - Imaginary @@ -3116,9 +3116,9 @@ with a harmonic/oscillating driving force + - x @@ -3135,9 +3135,9 @@ Note: has no effect if a solid was selected + - y @@ -3154,9 +3154,9 @@ Note: has no effect if a solid was selected + - z @@ -3219,8 +3219,8 @@ Note: has no effect if a solid was selected - + Cross section parameter @@ -3271,30 +3271,30 @@ Note: has no effect if a solid was selected - - - + + + formula - + Velocity x: - + Velocity y: - + Velocity z: @@ -3414,14 +3414,14 @@ Note: for 2D only setting for x is possible, - + Real part of potential z-component - + Imaginary part of potential z-component @@ -3487,11 +3487,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - - x @@ -3546,36 +3541,36 @@ Note: for 2D only setting for x is possible, - - - - - - - - + + + + + + + + A dialog is already open in the task panel - - - - - - - - + + + + + + + + Do you want to close this dialog? - + Meshing - + Constraint force @@ -3597,42 +3592,42 @@ Note: for 2D only setting for x is possible, - + Constraint Contact - + Constraint displacement - + Constraint fixed - + Constraint fluid boundary - + Constraint heat flux - + Constraint initial temperature - + Constraint planerotation - + Constraint pressure @@ -3642,22 +3637,22 @@ Note: for 2D only setting for x is possible, - + Constraint spring - + Constraint temperature - + Constraint transform - + Edit post processing object @@ -4003,11 +3998,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - - x @@ -4044,11 +4034,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - - Meshes: @@ -4062,11 +4047,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - - Volume @@ -4118,21 +4098,8 @@ For possible variables, see the description box below. - - TaskDriver - - - Form - - - TaskFemConstraint - - - Form - - Add reference @@ -4181,11 +4148,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - - Add reference @@ -4254,11 +4216,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - - Select master face, click Add or Remove @@ -4395,11 +4352,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - - Select multiple face(s), click Add or Remove @@ -4418,11 +4370,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - - Boundary @@ -4653,11 +4600,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - - Select a single face, click Add or Remove @@ -4676,11 +4618,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - - Select multiple face(s), click Add or Remove @@ -4714,11 +4651,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - - Select multiple face(s), click Add or Remove @@ -4758,11 +4690,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - - Select multiple face(s), click Add or Remove @@ -4792,11 +4719,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - - Rectangular transform @@ -4844,21 +4766,8 @@ used for the Elmer solver - - TaskObjectName - - - Form - - - TaskPostClip - - - Form - - Create @@ -4877,11 +4786,6 @@ used for the Elmer solver TaskPostCut - - - Form - - Create @@ -4890,11 +4794,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - - Coordinates @@ -4996,11 +4895,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - - Mode @@ -5078,11 +4972,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - - Scalar @@ -5131,11 +5020,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - - Vector @@ -5164,11 +5048,6 @@ used for the Elmer solver TaskTetParameter - - - Form - - Max. Size: @@ -6306,11 +6185,6 @@ Please select a result type first. TaskPostContours - - - Form - - Vector: @@ -6371,7 +6245,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_be.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_be.ts index c50c2cce57..557263c5b0 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_be.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_be.ts @@ -24,7 +24,7 @@ Fem - Fem + МКЭ @@ -42,7 +42,7 @@ Fem - Fem + МКЭ @@ -60,7 +60,7 @@ Fem - Fem + МКЭ @@ -78,7 +78,7 @@ Fem - Fem + МКЭ @@ -96,7 +96,7 @@ Fem - Fem + МКЭ @@ -114,7 +114,7 @@ Fem - Fem + МКЭ @@ -132,7 +132,7 @@ Fem - Fem + МКЭ @@ -150,7 +150,7 @@ Fem - Fem + МКЭ @@ -168,7 +168,7 @@ Fem - Fem + МКЭ @@ -186,7 +186,7 @@ Fem - Fem + МКЭ @@ -204,7 +204,7 @@ Fem - Fem + МКЭ @@ -222,7 +222,7 @@ Fem - Fem + МКЭ @@ -240,7 +240,7 @@ Fem - Fem + МКЭ @@ -258,7 +258,7 @@ Fem - Fem + МКЭ @@ -276,7 +276,7 @@ Fem - Fem + МКЭ @@ -304,7 +304,7 @@ Fem - Fem + МКЭ @@ -323,7 +323,7 @@ Fem - Fem + МКЭ @@ -341,7 +341,7 @@ Fem - Fem + МКЭ @@ -350,7 +350,7 @@ - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region Вызначыць/стварыць фільтр абрэзкі, які ўжывае функцыі для вызначэння вобласці абрэзкі @@ -369,7 +369,7 @@ Fem - Fem + МКЭ @@ -387,7 +387,7 @@ Fem - Fem + МКЭ @@ -405,7 +405,7 @@ Fem - Fem + МКЭ @@ -423,7 +423,7 @@ Fem - Fem + МКЭ @@ -453,7 +453,7 @@ Box - Box + Каробка @@ -497,7 +497,7 @@ Fem - Fem + МКЭ @@ -527,7 +527,7 @@ Fem - Fem + МКЭ @@ -540,12 +540,12 @@ Стварае канвеер пасляапрацоўкі з аб'екта выніку - + Wrong selection type Няправільны тып выбару - + Select a result object, please. Калі ласка, абярыце аб'ект выніку. @@ -555,7 +555,7 @@ Fem - Fem + МКЭ @@ -573,7 +573,7 @@ Fem - Fem + МКЭ @@ -689,12 +689,12 @@ Стварыць функцыю - + Create pipeline from result Стварыць канвеер з выніку - + Edit Mirror Змяніць сіметрычна @@ -716,7 +716,7 @@ Id - + Ідэнтыфікатар @@ -1016,12 +1016,12 @@ Мяжа нізкай частаты - + File does not exist Файл не існуе - + The specified executable '%1' does not exist! @@ -1117,12 +1117,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Заўвага:</span>Прапануецца ўжыць цотную колькасць ядраў, каб атрымаць выгаду з сіметрыі сеткі. (Калі ўжыць 8 ядраў, гэтае можа быць хутчэй, чым 9 ядраў.)<br/><span style=" font-weight:600;">Таксама звярніце ўвагу:</span>У крайніх выпадках ElmerSolver можа не сыходзіцца, калі колькасць ядраў занадта вялікая.</p></body></html> - + File does not exist Файл не існуе - + The specified executable '%1' does not exist! @@ -1133,20 +1133,20 @@ Specify another file please. Калі ласка, пакажыце іншы файл. - - + + FEM Elmer: Not suitable for multithreading МКЭ Elmer: Не падыходзіць для шматпаточнасці - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Няправільная налада Elmer: Вы ўжылі больш чым адно ядро працэсара. Такім чынам, патрабуецца двайковы файл з суфіксам '_mpi.exe'. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Няправільная налада Elmer: Вы ўжылі больш чым адно ядро працэсара. @@ -1163,7 +1163,7 @@ Therefore an executable with the suffix '_mpi' is required. Export - Export + Экспартаваць @@ -1283,7 +1283,7 @@ constraint or material is applied. Mesh - Mesh + Паліганальная сетка @@ -1378,12 +1378,12 @@ adding an analysis container Пакіньце поле пустым, каб ужыць першапачатковы двайковы файл Gmsh - + File does not exist Файл не існуе - + The specified executable '%1' does not exist! @@ -1566,12 +1566,12 @@ If unchecked, they will be sorted by their name. Запісаць каментары ў выходных файле - + File does not exist Файл не існуе - + The specified executable '%1' does not exist! @@ -1673,12 +1673,12 @@ that "MAXKOI" needs to be increased. Магчыма, вам спатрэбіцца павялічыць гэтае значэнне пры ўжыванні паўтарэння сродку рашэння, інакш вы атрымаеце паведамленне пра памылку, што "MAXKOI" неабходна павялічыць. - + File does not exist Файл не існуе - + The specified z88r executable '%1' does not exist! @@ -1689,18 +1689,18 @@ Specify another file please. Калі ласка, пакажыце іншы файл. - - + + Wrong file Няправільны файл - + You must specify the path to the z88r.exe! Вы павінны паказаць шлях да файла z88r.exe! - + You must specify the path to the z88r! Вы павінны паказаць шлях да файла z88r! @@ -1727,7 +1727,7 @@ Specify another file please. Input error - Input error + Памылка ўводу @@ -1738,45 +1738,45 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintContact - + Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintDisplacement - + Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintFluidBoundary - + Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintForce - - + + Input error - Input error + Памылка ўводу - + Please specify a force greater than 0 Калі ласка, пакажыце сілу, якая перавышае 0 @@ -1786,32 +1786,32 @@ Specify another file please. Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintHeatflux - + Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintPressure - + Input error - Input error + Памылка ўводу @@ -1819,42 +1819,42 @@ Specify another file please. Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintSpring - + Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintTemperature - + Input error - Input error + Памылка ўводу FemGui::TaskDlgFemConstraintTransform - + Input error - Input error + Памылка ўводу FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Змяніць паліганальную сетку МКЭ - + Meshing failure Збой стварэння паліганальнай сеткі @@ -1862,7 +1862,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Input error @@ -1941,22 +1941,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Памылка выбару @@ -1966,46 +1966,46 @@ Specify another file please. Толькі адна грань у аб'екце! - перанесена на галоўную грань - - + + Only one master face and one slave face for a contact constraint! Толькі адна галоўная грань і адна залежная грань для абмежавання кантакту! - - - - + + + + Nothing selected! Нічога не абрана! - - + + Only one slave face for a contact constraint! Толькі адна залежная грань для абмежавання кантакту! - - - - + + + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - - + + Only faces can be picked Можна абраць толькі грані - + Only one master for a contact constraint! Толькі адна асноўная грань для абмежавання кантакту! - + Only one master face for a contact constraint! Толькі адна асноўная грань для абмежавання кантакту! @@ -2013,28 +2013,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Памылка выбару - - + + Nothing selected! Нічога не абрана! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - + Only one type of selection (vertex,face or edge) per constraint allowed! Дапускаецца толькі адзін тып выбару (вяршыня, грань ці рабро) для кожнага абмежавання! @@ -2042,28 +2042,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Памылка выбару - - + + Nothing selected! Нічога не абрана! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - + Only one type of selection (vertex,face or edge) per constraint allowed! Дапускаецца толькі адзін тып выбару (вяршыня, грань ці рабро) для кожнага абмежавання! @@ -2171,28 +2171,28 @@ Specify another file please. Можна абраць толькі грані для трохмернай дэталі ці рэбры для дзвюхмернай дэталі - - - - - + + + + + Selection error Памылка выбару - - + + Nothing selected! Нічога не абрана! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - + Only one type of selection (vertex,face or edge) per constraint allowed! Дапускаецца толькі адзін тып выбару (вяршыня, грань ці рабро) для кожнага абмежавання! @@ -2201,38 +2201,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Памылка выбару - + Nothing selected! Нічога не абрана! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - + Only one type of selection (vertex,face or edge) per constraint allowed! Дапускаецца толькі адзін тып выбару (вяршыня, грань ці рабро) для кожнага абмежавання! - - + + Wrong selection Няправільны выбар - + Select an edge or a face, please. Калі ласка, абярыце рабро ці грань. @@ -2265,30 +2265,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Памылка выбару - - + + Nothing selected! Нічога не абрана! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - - + + Selection must only consist of faces! Выбар павінен складацца толькі з граняў! @@ -2296,42 +2296,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Памылка выбару - - + + Only one face can be selected for a plane rotation constraint! Для абмежавання вярчэння плоскасці можа быць абраная толькі адна грань! - - + + Nothing selected! Нічога не абрана! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - + Only faces can be picked Можна абраць толькі грані - + Only planar faces can be picked Можна абраць толькі плоскія грані @@ -2339,28 +2339,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Памылка выбару - - + + Nothing selected! Нічога не абрана! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - + Only faces can be picked Можна абраць толькі грані @@ -2381,28 +2381,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Памылка выбару - - + + Nothing selected! Нічога не абрана! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - + Only faces can be picked Можна абраць толькі грані @@ -2410,22 +2410,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Памылка выбару - - + + Nothing selected! Нічога не абрана! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! @@ -2443,54 +2443,54 @@ Specify another file please. Пераўтваральныя грані змяніліся. Калі ласка, дадавайце толькі пераўтваральныя грані і выдаляйце непераўтваральныя! - - - - - - - - - - + + + + + + + + + + Selection error Памылка выбару - - + + Nothing selected! Нічога не абрана! - - + + Only one face for rectangular transform constraint! Толькі адна грань для абмежавання прастакутнага пераўтварэння! - - + + Selected object is not a part! Абраны аб'ект не з'яўляецца дэталлю! - + Only one face for transform constraint! Толькі адна грань для абмежавання пераўтварэння! - + Only faces can be picked Можна абраць толькі грані - + Only cylindrical faces can be picked Можна абраць толькі цыліндрычныя грані - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Можна абраць толькі пераўтваральныя грані! Спачатку дадайце абмежаванне зрушэння да паверхні, затым прымяніце абмежаванне да паверхні @@ -2506,7 +2506,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Абрэзаць вобласць, абярыце няяўную функцыю @@ -2514,7 +2514,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Функцыя выразання, абярыце няяўную функцыю @@ -2522,12 +2522,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Налады дадзеных наўздоўж лініі - + Length X-Axis plot label Даўжыня @@ -2536,12 +2536,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Налады дадзеных у кропцы - + %1 at (%2; %3; %4) is: %5 %6 %1 у (%2; %3; %4) складае: %5 %6 @@ -2549,7 +2549,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Налады адлюстравання вынікаў @@ -2557,7 +2557,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Няяўная функцыя @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Налады скалярнага зрэзу @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Налады дэфармацыі @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Задзейнічаць даследаванне @@ -2597,12 +2597,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Збой стварэння паліганальнай сеткі - + The FEM module is built without NETGEN support. Meshing will not work!!! Модуль МКЭ пабудаваны без падтрымкі Netgen. Пабудова паліганальнай сеткі не спрацуе!!! @@ -2610,15 +2610,15 @@ Specify another file please. FemMaterial - + FEM material Матэрыял МКЭ + - Material Матэрыял @@ -2643,9 +2643,9 @@ Specify another file please. Назва матэрыялу + - TextLabel ТэкставыНадпіс @@ -2991,17 +2991,17 @@ Specify another file please. - - - + + + 0 mm 0 мм @@ -3016,11 +3016,11 @@ Specify another file please. Налада цэнтрыфугавання + - - + Parameter Налада @@ -3050,13 +3050,13 @@ Specify another file please. Налада вынікаў падзелу - - + + - + + - Constraint Properties Уласцівасці абмежавання @@ -3071,9 +3071,12 @@ Specify another file please. Патэнцыял: - - - + + + + + + @@ -3086,18 +3089,15 @@ Specify another file please. + + + - - - - - - unspecified не ўдакладнены @@ -3123,16 +3123,16 @@ with a harmonic/oscillating driving force Ўяўная частка ўжываецца толькі для ўраўненняў з гарманічнай/вагальнай рухаючай сілай + - Real Сапраўдная частка + - Imaginary Уяўная частка @@ -3152,9 +3152,9 @@ with a harmonic/oscillating driving force Уяўная частка скалярнага патэнцыялу + - x x @@ -3173,9 +3173,9 @@ Note: has no effect if a solid was selected Заўвага: не мае аніякага эфекту, калі было абрана суцэльнае цела + - y y @@ -3194,9 +3194,9 @@ Note: has no effect if a solid was selected Заўвага: не мае аніякага эфекту, калі было абрана суцэльнае цела + - z z @@ -3261,8 +3261,8 @@ Note: has no effect if a solid was selected Налада перасеку бэлькі - + Cross section parameter Налада папярочнага перасеку @@ -3313,30 +3313,30 @@ Note: has no effect if a solid was selected Вярчэнне: - - - + + + formula формула - + Velocity x: Хуткасць па восі x: - + Velocity y: Хуткасць па восі y: - + Velocity z: Хуткасць па восі z: @@ -3464,14 +3464,14 @@ Note: for 2D only setting for x is possible, Уяўная частка кампаненты y комплекснага патэнцыялу - + Real part of potential z-component Сапраўдная частка кампаненты z комплекснага патэнцыялу - + Imaginary part of potential z-component Уяўная частка кампаненты z комплекснага патэнцыялу @@ -3537,11 +3537,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Форма - x @@ -3596,36 +3591,36 @@ Note: for 2D only setting for x is possible, Змяніць абмежаванне - - - - - - - - + + + + + + + + A dialog is already open in the task panel - A dialog is already open in the task panel + На панэлі задач дыялогавае акно ўжо адчыненае - - - - - - - - + + + + + + + + Do you want to close this dialog? - Do you want to close this dialog? + Ці жадаеце вы зачыніць дыялогавае акно? - + Meshing Пабудаваць паліганальную сетку - + Constraint force Абмежаванне сілы @@ -3647,42 +3642,42 @@ Note: for 2D only setting for x is possible, Імпарт-Экспарт - + Constraint Contact Абмежаванне кантакту - + Constraint displacement Абмежаванне зрушэння - + Constraint fixed Абмежаванне фіксавання - + Constraint fluid boundary Абмежаванне мяжы вадкасць - + Constraint heat flux Абмежаванне цеплавога патоку - + Constraint initial temperature Абмежаванне пачатковай тэмпературы - + Constraint planerotation Абмежаванне вярчэння плоскасці - + Constraint pressure Абмежаванне ціску @@ -3692,22 +3687,22 @@ Note: for 2D only setting for x is possible, Абмежаванне шківу - + Constraint spring Абмежаванне спружыны - + Constraint temperature Абмежаванне тэмпературы - + Constraint transform Абмежаванне пераўтварэння - + Edit post processing object Змяніць аб'ект пасляапрацоўкі @@ -4056,11 +4051,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Форма - x @@ -4097,11 +4087,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Форма - Meshes: @@ -4110,16 +4095,11 @@ For possible variables, see the description box below. Constraints - Constraints + Абмежаванні TaskCreateNodeSet - - - Form - Форма - Volume @@ -4171,21 +4151,8 @@ For possible variables, see the description box below. Вугал прыпынку: - - TaskDriver - - - Form - Форма - - TaskFemConstraint - - - Form - Форма - Add reference @@ -4229,16 +4196,11 @@ For possible variables, see the description box below. Distance - Distance + Адлегласць TaskFemConstraintBearing - - - Form - Форма - Add reference @@ -4307,11 +4269,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Форма - Select master face, click Add or Remove @@ -4448,11 +4405,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4471,11 +4423,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Форма - Boundary @@ -4637,7 +4584,7 @@ normal vector of the face is used as direction TaskFemConstraintHeatflux - Абмежаванне МКЭ абмежавання цеплавога патоку + TaskFemConstraintHeatflux @@ -4706,11 +4653,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Форма - Select a single face, click Add or Remove @@ -4729,11 +4671,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4767,11 +4704,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4811,11 +4743,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4845,11 +4772,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Форма - Rectangular transform @@ -4897,21 +4819,8 @@ used for the Elmer solver Пераўтваральныя паверхні - - TaskObjectName - - - Form - Форма - - TaskPostClip - - - Form - Форма - Create @@ -4930,11 +4839,6 @@ used for the Elmer solver TaskPostCut - - - Form - Форма - Create @@ -4943,11 +4847,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Форма - Coordinates @@ -5049,11 +4948,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Форма - Mode @@ -5131,11 +5025,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Форма - Scalar @@ -5184,11 +5073,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Форма - Vector @@ -5217,11 +5101,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Форма - Max. Size: @@ -6322,7 +6201,7 @@ Please select a result type first. Fem - Fem + МКЭ @@ -6360,11 +6239,6 @@ Please select a result type first. TaskPostContours - - - Form - Форма - Vector: @@ -6391,7 +6265,7 @@ Please select a result type first. Fem - Fem + МКЭ @@ -6409,7 +6283,7 @@ Please select a result type first. Fem - Fem + МКЭ @@ -6425,7 +6299,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Налады фільтра контураў diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ca.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ca.ts index c23f5c728d..f49fb9389b 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ca.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ca.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Editar Reflexa en el mirall @@ -1017,12 +1017,12 @@ Límit de baixa freqüència - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist File does not exist - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Error d'entrada @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Error d'entrada @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Error d'entrada @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Error d'entrada @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Error d'entrada - + Please specify a force greater than 0 Especifiqueu una força superior a 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Error d'entrada @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Error d'entrada @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Error d'entrada @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Error d'entrada @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Error d'entrada @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Error d'entrada @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Edita la malla MEF - + Meshing failure Ha fallat el mallat @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Error d'entrada @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Error de selecció @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! No s'ha seleccionat cap element. - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! L'objecte seleccionat no és una peça. - - + + Only faces can be picked Únicament es poden seleccionar cares - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Error de selecció - + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Selecció incorrecta - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Error de selecció - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only faces can be picked Únicament es poden seleccionar cares - + Only planar faces can be picked Únicament es poden seleccionar cares planes @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only faces can be picked Únicament es poden seleccionar cares @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only faces can be picked Únicament es poden seleccionar cares @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Únicament es poden seleccionar cares - + Only cylindrical faces can be picked Únicament es poden seleccionar cares cilíndriques - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Longitud @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Funció implícita @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Activa l'anàlisi @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Ha fallat el mallat - + The FEM module is built without NETGEN support. Meshing will not work!!! El mòdul MEF està compilat sense el suport de NETGEN. El mallat no funcionarà. @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Material @@ -2659,9 +2659,9 @@ Specify another file please. Material name + - TextLabel Etiqueta de text @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Paràmetre @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3139,16 +3139,16 @@ with a harmonic/oscillating driving force La part imaginària només s'utilitza per forces motrius harmòniques/oscilants + - Real Real + - Imaginary Imaginària @@ -3168,9 +3168,9 @@ with a harmonic/oscillating driving force Part imaginaria del potencial escalar + - x x @@ -3189,9 +3189,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3210,9 +3210,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3277,8 +3277,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3329,30 +3329,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3482,14 +3482,14 @@ Note: for 2D only setting for x is possible, Part imaginaria del component y - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3555,11 +3555,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Forma - x @@ -3614,36 +3609,36 @@ Note: for 2D only setting for x is possible, Edita la restricció - - - - - - - - + + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - - + + + + + + + + Do you want to close this dialog? Do you want to close this dialog? - + Meshing Mallat - + Constraint force Restricció de força @@ -3665,42 +3660,42 @@ Note: for 2D only setting for x is possible, Importació-exportació - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3710,22 +3705,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4074,11 +4069,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Forma - x @@ -4115,11 +4105,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Forma - Meshes: @@ -4133,11 +4118,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Forma - Volume @@ -4189,21 +4169,8 @@ For possible variables, see the description box below. Angle final: - - TaskDriver - - - Form - Forma - - TaskFemConstraint - - - Form - Forma - Add reference @@ -4252,11 +4219,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Forma - Add reference @@ -4325,11 +4287,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Forma - Select master face, click Add or Remove @@ -4470,11 +4427,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4493,11 +4445,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Forma - Boundary @@ -4730,11 +4677,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Forma - Select a single face, click Add or Remove @@ -4753,11 +4695,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4791,11 +4728,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4836,11 +4768,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4870,11 +4797,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Forma - Rectangular transform @@ -4922,21 +4844,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Forma - - TaskPostClip - - - Form - Forma - Create @@ -4955,11 +4864,6 @@ used for the Elmer solver TaskPostCut - - - Form - Forma - Create @@ -4968,11 +4872,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Forma - Coordinates @@ -5074,11 +4973,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Forma - Mode @@ -5156,11 +5050,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Forma - Scalar @@ -5209,11 +5098,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Forma - Vector @@ -5242,11 +5126,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Forma - Max. Size: @@ -6388,11 +6267,6 @@ Please select a result type first. TaskPostContours - - - Form - Forma - Vector: @@ -6453,7 +6327,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_cs.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_cs.ts index c89c019131..57e2e45399 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_cs.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_cs.ts @@ -350,7 +350,7 @@ - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region Definujte/vytvořte klipový filtr, který používá funkce k definování oříznuté oblasti @@ -540,12 +540,12 @@ Vytvoří kanál po zpracování z výsledného objektu - + Wrong selection type Špatný typ výběru - + Select a result object, please. Vyberte prosím výsledný objekt. @@ -689,14 +689,14 @@ Vytvořit funkci - + Create pipeline from result Vytvořte potrubí z výsledku - + Edit Mirror - Edit Mirror + Upravit zrcadlení @@ -1017,12 +1017,12 @@ Dolní limit frekvence - + File does not exist Soubor neexistuje - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ budou sloučeny, aby byly hranice objemu neviditelné. <html><head/><body><p><span style=" font-weight:600;">Poznámka:</span> Doporučuje se použít sudý počet jader, aby bylo možné využít symetrie sítě. (Použití 8 jader může být rychlejší než 9 jader.)<br/> <span style=" font-weight:600;">Poznámka:</span> V extrémních případech nemusí ElmerSolver konvergovat, pokud je číslo jádra příliš vysoké.</p></body></html> - + File does not exist Soubor neexistuje - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Zadejte prosím jiný soubor. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Není vhodný pro multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Nesprávné nastavení Elmer: Používáte více než jedno jádro CPU. Proto je vyžadován spustitelný soubor s příponou '_mpi.exe'. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Nesprávné nastavení Elmer: Používáte více než jedno jádro CPU. @@ -1286,7 +1286,7 @@ je použito omezení nebo materiál. Mesh - Mesh + Síť @@ -1296,7 +1296,7 @@ je použito omezení nebo materiál. Results - Results + Výsledky @@ -1385,12 +1385,12 @@ přidání nádoby na analýzu Chcete-li použít výchozí binární soubor gmsh, ponechte prázdné - + File does not exist Soubor neexistuje - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ Pokud není zaškrtnuto, budou seřazeny podle jména. Pište komentáře do vstupního souboru - + File does not exist Soubor neexistuje - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterativní řešitel a zobrazí se chybová zpráva že je třeba zvýšit „MAXKOI“. - + File does not exist Soubor neexistuje - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Zadejte prosím jiný soubor. - - + + Wrong file Špatný soubor - + You must specify the path to the z88r.exe! Musíte zadat cestu k souboru z88r.exe! - + You must specify the path to the z88r! Musíte zadat cestu k z88r! @@ -1754,7 +1754,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintBearing - + Input error Chyba zadání @@ -1762,7 +1762,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintContact - + Input error Chyba zadání @@ -1770,7 +1770,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintDisplacement - + Input error Chyba zadání @@ -1778,7 +1778,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Chyba zadání @@ -1786,13 +1786,13 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintForce - - + + Input error Chyba zadání - + Please specify a force greater than 0 Zadejte prosím sílu větší než 0 @@ -1808,7 +1808,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintHeatflux - + Input error Chyba zadání @@ -1816,8 +1816,8 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Chyba zadání @@ -1825,7 +1825,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintPressure - + Input error Chyba zadání @@ -1841,7 +1841,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintSpring - + Input error Chyba zadání @@ -1849,7 +1849,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintTemperature - + Input error Chyba zadání @@ -1857,7 +1857,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgFemConstraintTransform - + Input error Chyba zadání @@ -1865,12 +1865,12 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Upravit MKP síť - + Meshing failure Selhání síťování @@ -1878,7 +1878,7 @@ Zadejte prosím jiný soubor. FemGui::TaskDlgPost - + Input error Chyba zadání @@ -1957,22 +1957,22 @@ Zadejte prosím jiný soubor. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Chyba výběru @@ -1982,46 +1982,46 @@ Zadejte prosím jiný soubor. Pouze jedna tvář v objektu! - přesunuto na hlavní tvář - - + + Only one master face and one slave face for a contact constraint! Pouze jedna hlavní strana a jedna podřízená plocha pro omezení kontaktu! - - - - + + + + Nothing selected! Nic není vybráno! - - + + Only one slave face for a contact constraint! Pouze jedna slave tvář pro omezení kontaktu! - - - - + + + + Selected object is not a part! Vybraný objekt není součást! - - + + Only faces can be picked Mohou být vybrány jen stěny - + Only one master for a contact constraint! Pouze jeden hlavní pro omezení kontaktu! - + Only one master face for a contact constraint! Pouze jedna hlavní plocha pro omezení kontaktu! @@ -2029,28 +2029,28 @@ Zadejte prosím jiný soubor. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Chyba výběru - - + + Nothing selected! Nic není vybráno! - - + + Selected object is not a part! Vybraný objekt není součást! - + Only one type of selection (vertex,face or edge) per constraint allowed! Je povolen pouze jeden typ výběru (vrchol, plocha nebo hrana) na omezení! @@ -2058,28 +2058,28 @@ Zadejte prosím jiný soubor. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Chyba výběru - - + + Nothing selected! Nic není vybráno! - - + + Selected object is not a part! Vybraný objekt není součást! - + Only one type of selection (vertex,face or edge) per constraint allowed! Je povolen pouze jeden typ výběru (vrchol, plocha nebo hrana) na omezení! @@ -2187,28 +2187,28 @@ Zadejte prosím jiný soubor. Lze vybrat pouze plochy pro 3D díl nebo hrany pro 2D - - - - - + + + + + Selection error Chyba výběru - - + + Nothing selected! Nic není vybráno! - - + + Selected object is not a part! Vybraný objekt není součást! - + Only one type of selection (vertex,face or edge) per constraint allowed! Je povolen pouze jeden typ výběru (vrchol, plocha nebo hrana) na omezení! @@ -2217,38 +2217,38 @@ Zadejte prosím jiný soubor. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Chyba výběru - + Nothing selected! Nic není vybráno! - - + + Selected object is not a part! Vybraný objekt není součást! - + Only one type of selection (vertex,face or edge) per constraint allowed! Je povolen pouze jeden typ výběru (vrchol, plocha nebo hrana) na omezení! - - + + Wrong selection Neplatný výběr - + Select an edge or a face, please. Vyberte hranu nebo plochu, prosím. @@ -2281,30 +2281,30 @@ Zadejte prosím jiný soubor. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Chyba výběru - - + + Nothing selected! Nic není vybráno! - - + + Selected object is not a part! Vybraný objekt není součást! - - + + Selection must only consist of faces! Výběr se musí skládat pouze z obličejů! @@ -2312,42 +2312,42 @@ Zadejte prosím jiný soubor. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Chyba výběru - - + + Only one face can be selected for a plane rotation constraint! Pro omezení rotace roviny lze vybrat pouze jednu plochu! - - + + Nothing selected! Nic není vybráno! - - + + Selected object is not a part! Vybraný objekt není součást! - + Only faces can be picked Mohou být vybrány jen stěny - + Only planar faces can be picked Mohou být vybrány pouze rovinné stěny @@ -2355,28 +2355,28 @@ Zadejte prosím jiný soubor. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Chyba výběru - - + + Nothing selected! Nic není vybráno! - - + + Selected object is not a part! Vybraný objekt není součást! - + Only faces can be picked Mohou být vybrány jen stěny @@ -2397,28 +2397,28 @@ Zadejte prosím jiný soubor. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Chyba výběru - - + + Nothing selected! Nic není vybráno! - - + + Selected object is not a part! Vybraný objekt není součást! - + Only faces can be picked Mohou být vybrány jen stěny @@ -2426,22 +2426,22 @@ Zadejte prosím jiný soubor. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Chyba výběru - - + + Nothing selected! Nic není vybráno! - - + + Selected object is not a part! Vybraný objekt není součást! @@ -2459,54 +2459,54 @@ Zadejte prosím jiný soubor. Transformovatelné tváře se změnily. Přidejte pouze transformovatelné plochy a odeberte netransformovatelné plochy! - - - - - - - - - - + + + + + + + + + + Selection error Chyba výběru - - + + Nothing selected! Nic není vybráno! - - + + Only one face for rectangular transform constraint! Pouze jedna plocha pro obdélníkové omezení transformace! - - + + Selected object is not a part! Vybraný objekt není součást! - + Only one face for transform constraint! Pouze jedna plocha pro omezení transformace! - + Only faces can be picked Mohou být vybrány jen stěny - + Only cylindrical faces can be picked Mohou být vybrány pouze válcové plochy - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Lze vybrat pouze transformovatelné plochy! Nejprve použijte vazbu posunutí na povrch a poté použijte vazbu na povrch @@ -2522,7 +2522,7 @@ Zadejte prosím jiný soubor. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, zvolte implicitní funkci @@ -2530,7 +2530,7 @@ Zadejte prosím jiný soubor. FemGui::TaskPostCut - + Function cut, choose implicit function Funkce cut, zvolte implicitní funkci @@ -2538,12 +2538,12 @@ Zadejte prosím jiný soubor. FemGui::TaskPostDataAlongLine - + Data along a line options Možnosti dat podél čáry - + Length X-Axis plot label Délka @@ -2552,12 +2552,12 @@ Zadejte prosím jiný soubor. FemGui::TaskPostDataAtPoint - + Data at point options Možnosti dat v bodě - + %1 at (%2; %3; %4) is: %5 %6 %1 zavináč (%2; %3; %4) je: %5 %6 @@ -2565,7 +2565,7 @@ Zadejte prosím jiný soubor. FemGui::TaskPostDisplay - + Result display options Možnosti zobrazení výsledků @@ -2573,7 +2573,7 @@ Zadejte prosím jiný soubor. FemGui::TaskPostFunction - + Implicit function Implicitní funkce @@ -2581,7 +2581,7 @@ Zadejte prosím jiný soubor. FemGui::TaskPostScalarClip - + Scalar clip options Možnosti skalárního klipu @@ -2589,7 +2589,7 @@ Zadejte prosím jiný soubor. FemGui::TaskPostWarpVector - + Warp options Možnosti warpu @@ -2605,7 +2605,7 @@ Zadejte prosím jiný soubor. FemGui::ViewProviderFemAnalysis - + Activate analysis Aktivovat analýzu @@ -2613,12 +2613,12 @@ Zadejte prosím jiný soubor. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Selhání síťování - + The FEM module is built without NETGEN support. Meshing will not work!!! MKP modul je sestavený bez podpory NETGENu. Síťování nebude fungovat!!! @@ -2626,15 +2626,15 @@ Zadejte prosím jiný soubor. FemMaterial - + FEM material Materiál FEM + - Material Materiál @@ -2659,9 +2659,9 @@ Zadejte prosím jiný soubor. Název materiálu + - TextLabel Textový popisek @@ -3007,17 +3007,17 @@ Zadejte prosím jiný soubor. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Zadejte prosím jiný soubor. Parametr Centrif + - - + Parameter Parametr @@ -3066,13 +3066,13 @@ Zadejte prosím jiný soubor. Parametr SectionPrint - - + + - + + - Constraint Properties Vlastnosti omezení @@ -3087,9 +3087,12 @@ Zadejte prosím jiný soubor. Potenciál: - - - + + + + + + @@ -3102,18 +3105,15 @@ Zadejte prosím jiný soubor. + + + - - - - - - unspecified nespecifikováno @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force s harmonickou/oscilační hnací silou + - Real Skutečnost + - Imaginary Imaginární @@ -3169,9 +3169,9 @@ s harmonickou/oscilační hnací silou Imaginární část skalárního potenciálu + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Poznámka: nemá žádný účinek, pokud bylo vybráno těleso + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Poznámka: nemá žádný účinek, pokud bylo vybráno těleso + - z z @@ -3278,8 +3278,8 @@ Poznámka: nemá žádný účinek, pokud bylo vybráno těleso Parametr průřezu nosníku - + Cross section parameter Parametr průřezu @@ -3330,30 +3330,30 @@ Poznámka: nemá žádný účinek, pokud bylo vybráno těleso Otáčení: - - - + + + formula vzorec - + Velocity x: Rychlost x: - + Velocity y: Rychlost y: - + Velocity z: Rychlost z: @@ -3483,14 +3483,14 @@ Poznámka: pro 2D je možné pouze nastavení pro x, Imaginární část potenciální složky y - + Real part of potential z-component Reálná část potenciální z-složky - + Imaginary part of potential z-component Imaginární část potenciální z-složky @@ -3556,11 +3556,6 @@ Poznámka: pro 2D je možné pouze nastavení pro x, PlaneWidget - - - Form - Návrh - x @@ -3615,36 +3610,36 @@ Poznámka: pro 2D je možné pouze nastavení pro x, Upravit vazbu - - - - - - - - + + + + + + + + A dialog is already open in the task panel Dialog je opravdu otevřen v panelu úloh - - - - - - - - + + + + + + + + Do you want to close this dialog? Chcete zavřít tento dialog? - + Meshing Síťování - + Constraint force Silová vazba @@ -3666,42 +3661,42 @@ Poznámka: pro 2D je možné pouze nastavení pro x, Import-Export - + Constraint Contact Kontakt s omezením - + Constraint displacement Posunutí omezení - + Constraint fixed Omezení pevná - + Constraint fluid boundary Omezte hranici tekutiny - + Constraint heat flux Omezte tepelný tok - + Constraint initial temperature Omezení počáteční teploty - + Constraint planerotation Omezení rovinné rotace - + Constraint pressure Omezení tlaku @@ -3711,22 +3706,22 @@ Poznámka: pro 2D je možné pouze nastavení pro x, Omezovací kladka - + Constraint spring Omezující pružina - + Constraint temperature Omezující teplota - + Constraint transform Transformace omezení - + Edit post processing object Upravit objekt následného zpracování @@ -4075,11 +4070,6 @@ Možné proměnné naleznete v popisném poli níže. SphereWidget - - - Form - Návrh - x @@ -4116,11 +4106,6 @@ Možné proměnné naleznete v popisném poli níže. TaskAnalysisInfo - - - Form - Návrh - Meshes: @@ -4129,16 +4114,11 @@ Možné proměnné naleznete v popisném poli níže. Constraints - Constraints + Vazby TaskCreateNodeSet - - - Form - Návrh - Volume @@ -4190,21 +4170,8 @@ Možné proměnné naleznete v popisném poli níže. Koncový úhel: - - TaskDriver - - - Form - Návrh - - TaskFemConstraint - - - Form - Návrh - Add reference @@ -4248,16 +4215,11 @@ Možné proměnné naleznete v popisném poli níže. Distance - Distance + Vzdálenost TaskFemConstraintBearing - - - Form - Návrh - Add reference @@ -4326,11 +4288,6 @@ Možné proměnné naleznete v popisném poli níže. TaskFemConstraintContact - - - Form - Návrh - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generované prouděním TaskFemConstraintFixed - - - Form - Návrh - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generované prouděním TaskFemConstraintFluidBoundary - - - Form - Návrh - Boundary @@ -4731,11 +4678,6 @@ jako směr je použit normální vektor plochy TaskFemConstraintPlaneRotation - - - Form - Návrh - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ jako směr je použit normální vektor plochy TaskFemConstraintPressure - - - Form - Návrh - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ jako směr je použit normální vektor plochy TaskFemConstraintSpring - - - Form - Návrh - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ používá se pro řešič Elmer TaskFemConstraintTemperature - - - Form - Návrh - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ používá se pro řešič Elmer TaskFemConstraintTransform - - - Form - Návrh - Rectangular transform @@ -4923,21 +4845,8 @@ používá se pro řešič Elmer Transformovatelné povrchy - - TaskObjectName - - - Form - Návrh - - TaskPostClip - - - Form - Návrh - Create @@ -4956,11 +4865,6 @@ používá se pro řešič Elmer TaskPostCut - - - Form - Návrh - Create @@ -4969,11 +4873,6 @@ používá se pro řešič Elmer TaskPostDataAlongLine - - - Form - Návrh - Coordinates @@ -5075,11 +4974,6 @@ používá se pro řešič Elmer TaskPostDisplay - - - Form - Návrh - Mode @@ -5157,11 +5051,6 @@ používá se pro řešič Elmer TaskPostScalarClip - - - Form - Návrh - Scalar @@ -5210,11 +5099,6 @@ používá se pro řešič Elmer TaskPostWarpVector - - - Form - Návrh - Vector @@ -5243,11 +5127,6 @@ používá se pro řešič Elmer TaskTetParameter - - - Form - Návrh - Max. Size: @@ -6389,11 +6268,6 @@ Nejprve prosím vyberte typ výsledku. TaskPostContours - - - Form - Návrh - Vector: @@ -6454,7 +6328,7 @@ Nejprve prosím vyberte typ výsledku. FemGui::TaskPostContours - + Contours filter options Možnosti filtrování kontur diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts index ad72682aee..4167d542f5 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Definiere/Erstelle einen Ausschnitt-Filter, der Funktionen verwendet um die ausgeschnitte Region zu definieren + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Erstellt eine Nachbearbeitungs-Pipeline aus einem Ergebnisobjekt - + Wrong selection type Falscher Auswahl-Typ - + Select a result object, please. Bitte ein Ergebnisobjekt auswählen. @@ -689,12 +689,12 @@ Funktion erstellen - + Create pipeline from result Pipeline aus Ergebnis erzeugen - + Edit Mirror Spiegel bearbeiten @@ -721,7 +721,7 @@ Label - Bezeichnung + Beschriftung @@ -1016,12 +1016,12 @@ Niedrigste Frequenz - + File does not exist Datei existiert nicht - + The specified executable '%1' does not exist! @@ -1115,33 +1115,36 @@ verarbeiteten Mesh-Volume-Bereiche werden zusammengeführt, um die Volume-Grenze <html><head/><body><p><span style=" font-weight:600;">Note:</span> Es wird emfohlen, eine gerade Anzahl von Kernen zu verwenden, um von den Netzsymmetrien zu profitieren. (Der Einsatz von 8 kann schneller als der von 9 Kernen sein.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist Datei existiert nicht - + The specified executable '%1' does not exist! Specify another file please. - Die angegebene ausführbare Datei '%1' existiert nicht. Bitte gib einen anderen Dateinamen an. + Die angegebene ausführbare Datei +'%1' + existiert nicht! +Bitte eine andere Datei angeben. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Nicht geeignet für Multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Falsche Elmer-Einstellung: Es wird mehr als ein CPU-Kern verwendet, daher ist eine ausführbare Datei mit dem Suffix '_mpi.exe' erforderlich. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Falsche Elmer-Einstellung: Es wird mehr als ein CPU-Kern verwendet, @@ -1190,7 +1193,7 @@ nur Kanten exportiert werden, die nicht zu Flächen und Flächen die nicht zu Vo All - Alles + Alle @@ -1374,12 +1377,12 @@ adding an analysis container Freilassen, um die Standard-gmsh-Binärdatei zu verwenden - + File does not exist - Datei existiert nicht + Datei nicht gefunden - + The specified executable '%1' does not exist! @@ -1558,12 +1561,12 @@ Wenn deaktiviert, werden sie nach ihrem Namen sortiert. Kommentare in die Eingabe-Datei schreiben - + File does not exist - Datei existiert nicht + Datei nicht gefunden - + The specified executable '%1' does not exist! @@ -1665,12 +1668,12 @@ iterativen Löser eingesetzt wird und die Fehlermeldung ""MAXKOI" muss erhöht werden" erscheint. - + File does not exist Datei existiert nicht - + The specified z88r executable '%1' does not exist! @@ -1680,18 +1683,18 @@ existiert nicht! Bitte eine andere Datei angeben. - - + + Wrong file Falsche Datei - + You must specify the path to the z88r.exe! Sie müssen den Pfad zu z88r.exe angeben! - + You must specify the path to the z88r! Du musst den Pfad zu z88r angeben! @@ -1729,7 +1732,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintBearing - + Input error Eingabefehler @@ -1737,7 +1740,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintContact - + Input error Eingabefehler @@ -1745,7 +1748,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintDisplacement - + Input error Eingabefehler @@ -1753,7 +1756,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Eingabefehler @@ -1761,13 +1764,13 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintForce - - + + Input error Eingabefehler - + Please specify a force greater than 0 Bitte geben Sie eine Kraft größer 0 ein @@ -1783,7 +1786,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintHeatflux - + Input error Eingabefehler @@ -1791,8 +1794,8 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Eingabefehler @@ -1800,7 +1803,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintPressure - + Input error Eingabefehler @@ -1816,7 +1819,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintSpring - + Input error Eingabefehler @@ -1824,7 +1827,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintTemperature - + Input error Eingabefehler @@ -1832,7 +1835,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgFemConstraintTransform - + Input error Eingabefehler @@ -1840,12 +1843,12 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh FEM-Netz bearbeiten - + Meshing failure Fehler bei der Netzerstellung @@ -1853,7 +1856,7 @@ Bitte eine andere Datei angeben. FemGui::TaskDlgPost - + Input error Eingabefehler @@ -1932,22 +1935,22 @@ Bitte eine andere Datei angeben. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Auswahlfehler @@ -1957,46 +1960,46 @@ Bitte eine andere Datei angeben. Nur eine Fläche in Objekt! - In die Hauptfläche verschoben - - + + Only one master face and one slave face for a contact constraint! Nur eine Hauptfläche und eine untergeordnete Fläche für eine Kontakt-Randbedingung! - - - - + + + + Nothing selected! Nichts ausgewählt! - - + + Only one slave face for a contact constraint! Nur eine untergeordnete Fläche für eine Kontakt-Randbedingung! - - - - + + + + Selected object is not a part! Ausgewähltes Objekt ist kein Teil! - - + + Only faces can be picked Es können nur Flächen ausgewählt werden - + Only one master for a contact constraint! Nur ein Master für eine Kontakt-Randbedingung! - + Only one master face for a contact constraint! Nur eine Hauptfläche für eine Kontakt-Randbedingung! @@ -2004,28 +2007,28 @@ Bitte eine andere Datei angeben. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Auswahlfehler - - + + Nothing selected! Nichts ausgewählt! - - + + Selected object is not a part! - Ausgewähltes Objekt ist kein Teil! + Ausgewähltes Objekt ist kein Part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Nur eine Art von Auswahl (Knoten, Fläche oder Kante) pro Randbedingung erlaubt! @@ -2033,30 +2036,30 @@ Bitte eine andere Datei angeben. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Auswahlfehler - - + + Nothing selected! Nichts ausgewählt! - - + + Selected object is not a part! - Ausgewähltes Objekt ist kein Teil! + Ausgewähltes Objekt ist kein Teilobjekt! - + Only one type of selection (vertex,face or edge) per constraint allowed! - Nur eine Art von Auswahl (Knoten, Fläche oder Kante) pro Randbedingung erlaubt! + Nur ein Typ der Auswahl (Vertex, Fläche oder Kante) pro Beschränkung erlaubt! @@ -2162,68 +2165,68 @@ Bitte eine andere Datei angeben. Nur Flächen für 3D-Teile oder Kanten für 2D-Teile können ausgewählt werden - - - - - + + + + + Selection error Auswahlfehler - - + + Nothing selected! Nichts ausgewählt! - - + + Selected object is not a part! Ausgewähltes Objekt ist kein Teil! - + Only one type of selection (vertex,face or edge) per constraint allowed! - Nur eine Art von Auswahl (Knoten, Fläche oder Kante) pro Randbedingung erlaubt! + Nur ein Typ der Auswahl (Vertex, Fläche oder Kante) pro Beschränkung erlaubt! FemGui::TaskFemConstraintForce - - - - + + + + Selection error Auswahlfehler - + Nothing selected! Nichts ausgewählt! - - + + Selected object is not a part! Ausgewähltes Objekt ist kein Teil! - + Only one type of selection (vertex,face or edge) per constraint allowed! - Nur eine Art von Auswahl (Knoten, Fläche oder Kante) pro Randbedingung erlaubt! + Nur eine Art der Auswahl (Knoten, Fläche oder Kante) pro Randbedingung erlaubt! - - + + Wrong selection Falsche Auswahl - + Select an edge or a face, please. Bitte eine Kante oder Fläche auswählen. @@ -2256,30 +2259,30 @@ Bitte eine andere Datei angeben. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Auswahlfehler - - + + Nothing selected! Nichts ausgewählt! - - + + Selected object is not a part! Ausgewähltes Objekt ist kein Teil! - - + + Selection must only consist of faces! Auswahl darf nur aus Flächen bestehen! @@ -2287,42 +2290,42 @@ Bitte eine andere Datei angeben. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Auswahlfehler - - + + Only one face can be selected for a plane rotation constraint! Nur eine Fläche kann für Randbedingung plane Rotation ausgewählt werden! - - + + Nothing selected! Nichts ausgewählt! - - + + Selected object is not a part! Ausgewähltes Objekt ist kein Teil! - + Only faces can be picked Es können nur Flächen ausgewählt werden - + Only planar faces can be picked Es können nur ebene Flächen ausgewählt werden @@ -2330,28 +2333,28 @@ Bitte eine andere Datei angeben. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Auswahlfehler - - + + Nothing selected! Nichts ausgewählt! - - + + Selected object is not a part! Ausgewähltes Objekt ist kein Teil! - + Only faces can be picked Es können nur Flächen ausgewählt werden @@ -2372,28 +2375,28 @@ Bitte eine andere Datei angeben. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Auswahlfehler - - + + Nothing selected! Nichts ausgewählt! - - + + Selected object is not a part! Ausgewähltes Objekt ist kein Teil! - + Only faces can be picked Es können nur Flächen ausgewählt werden @@ -2401,22 +2404,22 @@ Bitte eine andere Datei angeben. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Auswahlfehler - - + + Nothing selected! Nichts ausgewählt! - - + + Selected object is not a part! Ausgewähltes Objekt ist kein Teil! @@ -2434,54 +2437,54 @@ Bitte eine andere Datei angeben. Die transformierbaren Flächen haben sich geändert. Bitte nur transformierbare Flächen hinzufügen und nicht-transformierbare Flächen entfernen. - - - - - - - - - - + + + + + + + + + + Selection error Auswahlfehler - - + + Nothing selected! Nichts ausgewählt! - - + + Only one face for rectangular transform constraint! Nur eine Fläche für rechteckige Transformations-Randbedingung! - - + + Selected object is not a part! Ausgewähltes Objekt ist kein Teil! - + Only one face for transform constraint! Nur eine Fläche für Transformations-Randbedingung! - + Only faces can be picked Es können nur Flächen ausgewählt werden - + Only cylindrical faces can be picked Es können nur zylindrische Flächen ausgewählt werden - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Nur umwandelbare Flächen können ausgewählt werden! Zuerst die Verschiebung auf die Oberfläche anwenden und dann erst auf Oberfläche beschränken @@ -2497,7 +2500,7 @@ Bitte eine andere Datei angeben. FemGui::TaskPostClip - + Clip region, choose implicit function Schneide Region aus, wähle implizite Funktion @@ -2505,7 +2508,7 @@ Bitte eine andere Datei angeben. FemGui::TaskPostCut - + Function cut, choose implicit function Funktionsschnitt, implizite Funktion wählen @@ -2513,12 +2516,12 @@ Bitte eine andere Datei angeben. FemGui::TaskPostDataAlongLine - + Data along a line options Optionen für Daten entlang einer Linie - + Length X-Axis plot label Länge @@ -2527,12 +2530,12 @@ Bitte eine andere Datei angeben. FemGui::TaskPostDataAtPoint - + Data at point options Daten an Punkt Optionen - + %1 at (%2; %3; %4) is: %5 %6 %1 bei (%2; %3; %4) ist: %5 %6 @@ -2540,7 +2543,7 @@ Bitte eine andere Datei angeben. FemGui::TaskPostDisplay - + Result display options Ergebnisanzeigeoptionen @@ -2548,7 +2551,7 @@ Bitte eine andere Datei angeben. FemGui::TaskPostFunction - + Implicit function Implizite Funktion @@ -2556,7 +2559,7 @@ Bitte eine andere Datei angeben. FemGui::TaskPostScalarClip - + Scalar clip options Skalar-Ausschnitt-Optionen @@ -2564,7 +2567,7 @@ Bitte eine andere Datei angeben. FemGui::TaskPostWarpVector - + Warp options Verformungsoptionen @@ -2580,7 +2583,7 @@ Bitte eine andere Datei angeben. FemGui::ViewProviderFemAnalysis - + Activate analysis Analyse aktivieren @@ -2588,12 +2591,12 @@ Bitte eine andere Datei angeben. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Fehler bei der Netzerstellung - + The FEM module is built without NETGEN support. Meshing will not work!!! Das FEM-Modul ist ohne NETGEN-Unterstützung erstellt worden. Die Netzerstellung funktioniert nicht!!! @@ -2601,15 +2604,15 @@ Bitte eine andere Datei angeben. FemMaterial - + FEM material FEM-Material + - Material Material @@ -2634,9 +2637,9 @@ Bitte eine andere Datei angeben. Materialname + - TextLabel TextLabel @@ -2982,17 +2985,17 @@ Bitte eine andere Datei angeben. - - - + + + 0 mm 0 mm @@ -3007,11 +3010,11 @@ Bitte eine andere Datei angeben. Zentrifugal-Parameter + - - + Parameter Parameter @@ -3041,13 +3044,13 @@ Bitte eine andere Datei angeben. Parameter Querschnitts-Auszug - - + + - + + - Constraint Properties Randbedingungs-Eigenschaften @@ -3062,9 +3065,12 @@ Bitte eine andere Datei angeben. Potential: - - - + + + + + + @@ -3077,18 +3083,15 @@ Bitte eine andere Datei angeben. + + + - - - - - - unspecified unbestimmt @@ -3115,16 +3118,16 @@ with a harmonic/oscillating driving force mit harmonischer/oszillierender Antriebskraft verwendet + - Real Real + - Imaginary Imaginär @@ -3144,9 +3147,9 @@ mit harmonischer/oszillierender Antriebskraft verwendet Imaginärer Teil des Skalarpotentials + - x x @@ -3165,9 +3168,9 @@ Note: has no effect if a solid was selected Hinweis: hat keinen Effekt, wenn ein Volumen ausgewählt wurde + - y y @@ -3186,9 +3189,9 @@ Note: has no effect if a solid was selected Hinweis: hat keinen Effekt, wenn ein Volumen ausgewählt wurde + - z z @@ -3253,8 +3256,8 @@ Hinweis: hat keinen Effekt, wenn ein Volumen ausgewählt wurde Stabquerschnitt-Parameter - + Cross section parameter Querschnittsparameter @@ -3305,30 +3308,30 @@ Hinweis: hat keinen Effekt, wenn ein Volumen ausgewählt wurde Drehung: - - - + + + formula Formel - + Velocity x: Geschwindigkeit x: - + Velocity y: Geschwindigkeit y: - + Velocity z: Geschwindigkeit z: @@ -3458,14 +3461,14 @@ Hinweis: Für 2D ist nur für x möglich, Imaginärer Teil der potenziellen y-Komponente - + Real part of potential z-component Realer Teil der potentiellen z-Komponente - + Imaginary part of potential z-component Imaginärer Teil der potentiellen z-Komponente @@ -3531,11 +3534,6 @@ Hinweis: Für 2D ist nur für x möglich, PlaneWidget - - - Form - Form - x @@ -3590,36 +3588,36 @@ Hinweis: Für 2D ist nur für x möglich, Randbedingung bearbeiten - - - - - - - - + + + + + + + + A dialog is already open in the task panel Im Aufgabenbereich ist bereits ein Dialog geöffnet - - - - - - - - + + + + + + + + Do you want to close this dialog? - Möchten Sie dieses Dialogfeld schließen? + Möchten Sie diesen Dialog schließen? - + Meshing Vernetzung - + Constraint force Randbedingung Krafteinwirkung @@ -3641,42 +3639,42 @@ Hinweis: Für 2D ist nur für x möglich, Import / Export - + Constraint Contact Randbedingung Flächenkontakt - + Constraint displacement Randbedingung Versatz - + Constraint fixed Randbedingung Festsetzen - + Constraint fluid boundary Randbedingung Flüssigkeitsgrenze - + Constraint heat flux Randbedingung Wärmestrom - + Constraint initial temperature Randbedingung Starttemperatur - + Constraint planerotation Randbedingung plane Rotationsfläche - + Constraint pressure Randbedingung Druck @@ -3686,22 +3684,22 @@ Hinweis: Für 2D ist nur für x möglich, Randbedingung Riemenscheibe - + Constraint spring Randbedingung Feder - + Constraint temperature Randbedingung Temperatur - + Constraint transform Randbedingung Verformung - + Edit post processing object Nachbearbeitungsobjekt bearbeiten @@ -3743,7 +3741,7 @@ Hinweis: Für 2D ist nur für x möglich, Are you sure you want to continue? - Bist du sicher, dass du fortfahren möchtest? + Sind Sie sicher, dass Sie fortfahren möchten? @@ -4050,15 +4048,10 @@ Siehe das nachfolgende Beschreibungsfeld für mögliche Variablen. SphereWidget - - - Form - Form - x - x + х @@ -4078,7 +4071,7 @@ Siehe das nachfolgende Beschreibungsfeld für mögliche Variablen. Center - Mitte + Zentrum @@ -4091,11 +4084,6 @@ Siehe das nachfolgende Beschreibungsfeld für mögliche Variablen. TaskAnalysisInfo - - - Form - Form - Meshes: @@ -4104,16 +4092,11 @@ Siehe das nachfolgende Beschreibungsfeld für mögliche Variablen. Constraints - Einschränkungen + Beschränkungen TaskCreateNodeSet - - - Form - Form - Volume @@ -4165,21 +4148,8 @@ Siehe das nachfolgende Beschreibungsfeld für mögliche Variablen. Stoppwinkel: - - TaskDriver - - - Form - Form - - TaskFemConstraint - - - Form - Form - Add reference @@ -4213,12 +4183,12 @@ Siehe das nachfolgende Beschreibungsfeld für mögliche Variablen. Reverse direction - Umgekehrte Richtung + Richtung umkehren Location - Lage + Ort @@ -4228,11 +4198,6 @@ Siehe das nachfolgende Beschreibungsfeld für mögliche Variablen. TaskFemConstraintBearing - - - Form - Form - Add reference @@ -4301,11 +4266,6 @@ Siehe das nachfolgende Beschreibungsfeld für mögliche Variablen. TaskFemConstraintContact - - - Form - Form - Select master face, click Add or Remove @@ -4446,11 +4406,6 @@ zu ermitteln, die durch der Strömung erzeugt wurde TaskFemConstraintFixed - - - Form - Form - Select multiple face(s), click Add or Remove @@ -4469,11 +4424,6 @@ zu ermitteln, die durch der Strömung erzeugt wurde TaskFemConstraintFluidBoundary - - - Form - Form - Boundary @@ -4534,7 +4484,7 @@ Normalenvektors der Fläche wird als Richtung verwendet Reverse direction - Umgekehrte Richtung + Richtung umkehren @@ -4706,11 +4656,6 @@ Normalenvektors der Fläche wird als Richtung verwendet TaskFemConstraintPlaneRotation - - - Form - Form - Select a single face, click Add or Remove @@ -4729,11 +4674,6 @@ Normalenvektors der Fläche wird als Richtung verwendet TaskFemConstraintPressure - - - Form - Form - Select multiple face(s), click Add or Remove @@ -4767,11 +4707,6 @@ Normalenvektors der Fläche wird als Richtung verwendet TaskFemConstraintSpring - - - Form - Form - Select multiple face(s), click Add or Remove @@ -4812,11 +4747,6 @@ für den Löser Elmer verwendet werden TaskFemConstraintTemperature - - - Form - Form - Select multiple face(s), click Add or Remove @@ -4846,11 +4776,6 @@ für den Löser Elmer verwendet werden TaskFemConstraintTransform - - - Form - Form - Rectangular transform @@ -4898,21 +4823,8 @@ für den Löser Elmer verwendet werden Transformierbare Oberflächen - - TaskObjectName - - - Form - Form - - TaskPostClip - - - Form - Form - Create @@ -4931,11 +4843,6 @@ für den Löser Elmer verwendet werden TaskPostCut - - - Form - Form - Create @@ -4944,11 +4851,6 @@ für den Löser Elmer verwendet werden TaskPostDataAlongLine - - - Form - Form - Coordinates @@ -4957,7 +4859,7 @@ für den Löser Elmer verwendet werden x - x + х @@ -5015,7 +4917,7 @@ für den Löser Elmer verwendet werden Center - Mitte + Zentrum @@ -5050,11 +4952,6 @@ für den Löser Elmer verwendet werden TaskPostDisplay - - - Form - Form - Mode @@ -5132,11 +5029,6 @@ für den Löser Elmer verwendet werden TaskPostScalarClip - - - Form - Form - Scalar @@ -5185,11 +5077,6 @@ für den Löser Elmer verwendet werden TaskPostWarpVector - - - Form - Form - Vector @@ -5218,11 +5105,6 @@ für den Löser Elmer verwendet werden TaskTetParameter - - - Form - Form - Max. Size: @@ -6261,7 +6143,7 @@ für den Löser Elmer verwendet werden Information - Information + Informationen @@ -6364,11 +6246,6 @@ Bitte wählen Sie zuerst einen Ergebnistyp. TaskPostContours - - - Form - Form - Vector: @@ -6429,7 +6306,7 @@ Bitte wählen Sie zuerst einen Ergebnistyp. FemGui::TaskPostContours - + Contours filter options Konturenfilter-Optionen @@ -6459,7 +6336,7 @@ Bitte wählen Sie zuerst einen Ergebnistyp. x - x + х @@ -6474,7 +6351,7 @@ Bitte wählen Sie zuerst einen Ergebnistyp. Center - Mitte + Zentrum @@ -6502,7 +6379,7 @@ Bitte wählen Sie zuerst einen Ergebnistyp. x - x + х diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_el.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_el.ts index bb5520879e..5a3fd24101 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_el.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_el.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Δημιουργία συνάρτησης - + Create pipeline from result Create pipeline from result - + Edit Mirror Edit Mirror @@ -1016,12 +1016,12 @@ Όριο χαμηλής συχνότητας - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1384,12 +1384,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1576,12 +1576,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1685,12 +1685,12 @@ that "MAXKOI" needs to be increased. σφάλματος ότι πρέπει να αυξηθεί το "MAXKOI". - + File does not exist File does not exist - + The specified z88r executable '%1' does not exist! @@ -1701,18 +1701,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1750,7 +1750,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Σφάλμα εισαγωγής @@ -1758,7 +1758,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Σφάλμα εισαγωγής @@ -1766,7 +1766,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Σφάλμα εισαγωγής @@ -1774,7 +1774,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Σφάλμα εισαγωγής @@ -1782,13 +1782,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Σφάλμα εισαγωγής - + Please specify a force greater than 0 Παρακαλώ καθορίστε μια δύναμη μεγαλύτερη του 0 @@ -1804,7 +1804,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Σφάλμα εισαγωγής @@ -1812,8 +1812,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Σφάλμα εισαγωγής @@ -1821,7 +1821,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Σφάλμα εισαγωγής @@ -1837,7 +1837,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Σφάλμα εισαγωγής @@ -1845,7 +1845,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Σφάλμα εισαγωγής @@ -1853,7 +1853,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Σφάλμα εισαγωγής @@ -1861,12 +1861,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Επεξεργασία πλέγματος FEM - + Meshing failure Αποτυχία πλεγματοποίησης @@ -1874,7 +1874,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Σφάλμα εισαγωγής @@ -1953,22 +1953,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Σφάλμα επιλογής @@ -1978,46 +1978,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - - + + Only faces can be picked Μόνο όψεις μπορούν να επιλεχθούν - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2025,28 +2025,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Σφάλμα επιλογής - - + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2054,28 +2054,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Σφάλμα επιλογής - - + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2183,28 +2183,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Σφάλμα επιλογής - - + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2213,38 +2213,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Σφάλμα επιλογής - + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Λάθος επιλογή - + Select an edge or a face, please. Select an edge or a face, please. @@ -2277,30 +2277,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Σφάλμα επιλογής - - + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2308,42 +2308,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Σφάλμα επιλογής - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - + Only faces can be picked Μόνο όψεις μπορούν να επιλεχθούν - + Only planar faces can be picked Μόνο επίπεδες επιφάνειες μπορούν να επιλεχθούν @@ -2351,28 +2351,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Σφάλμα επιλογής - - + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - + Only faces can be picked Μόνο όψεις μπορούν να επιλεχθούν @@ -2393,28 +2393,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Σφάλμα επιλογής - - + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - + Only faces can be picked Μόνο όψεις μπορούν να επιλεχθούν @@ -2422,22 +2422,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Σφάλμα επιλογής - - + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! @@ -2455,54 +2455,54 @@ Specify another file please. Οι μετατοπισμένες όψεις έχουν αλλάξει. Προσθέστε μόνο τις μετατοπιζόμενες όψεις και αφαιρέστε τις μη μετατοπίσιμες όψεις! - - - - - - - - - - + + + + + + + + + + Selection error Σφάλμα επιλογής - - + + Nothing selected! Τίποτα δεν επιλέχθηκε! - - + + Only one face for rectangular transform constraint! Μόνο μία όψη για περιορισμό μετατόπισης ορθογώνιου! - - + + Selected object is not a part! Το επιλεγμένο αντικείμενο δεν είναι εξάρτημα! - + Only one face for transform constraint! Μόνο μια όψη για περιορισμό μετατόπισης! - + Only faces can be picked Μόνο όψεις μπορούν να επιλεχθούν - + Only cylindrical faces can be picked Μόνο κυλινδρικές όψεις μπορούν να επιλεχθούν - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Μπορούν να επιλεγούν μόνο μετατοπίσιμες όψεις ! Εφαρμόστε πρώτα περιορισμό μετατόπισης στην επιφάνεια και στη συνέχεια εφαρμόστε γενικό περιορισμό στην επιφάνεια @@ -2519,7 +2519,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2527,7 +2527,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2535,12 +2535,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Μήκος @@ -2549,12 +2549,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2562,7 +2562,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Επιλογές εμφάνισης αποτελεσμάτων @@ -2570,7 +2570,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2578,7 +2578,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2586,7 +2586,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2602,7 +2602,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Ενεργοποίηση ανάλυσης @@ -2610,12 +2610,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Αποτυχία πλεγματοποίησης - + The FEM module is built without NETGEN support. Meshing will not work!!! Η λειτουργική μονάδα FEM έχει δημιουργηθεί χωρίς υποστήριξη NETGEN. Η πλεγματοποίηση δεν θα λειτουργήσει!!! @@ -2623,15 +2623,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Υλικό @@ -2656,9 +2656,9 @@ Specify another file please. Material name + - TextLabel Ετικέτα κειμένου @@ -3004,17 +3004,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3029,11 +3029,11 @@ Specify another file please. Centrif parameter + - - + Parameter Παράμετρος @@ -3063,13 +3063,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Ιδιότητες Περιορισμού @@ -3084,9 +3084,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3099,18 +3102,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3137,16 +3137,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3166,9 +3166,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3187,9 +3187,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3208,9 +3208,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3275,8 +3275,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3327,30 +3327,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3480,14 +3480,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3553,11 +3553,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Μορφή - x @@ -3612,36 +3607,36 @@ Note: for 2D only setting for x is possible, Επεξεργασία περιορισμού - - - - - - - - + + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - - + + + + + + + + Do you want to close this dialog? Do you want to close this dialog? - + Meshing Πλεγματοποίηση - + Constraint force Περιορισμός δύναμης @@ -3663,42 +3658,42 @@ Note: for 2D only setting for x is possible, Εισαγωγή-Εξαγωγή - + Constraint Contact Constraint Contact - + Constraint displacement Μετατόπιση περιορισμού - + Constraint fixed Σταθερός περιορισμός - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3708,22 +3703,22 @@ Note: for 2D only setting for x is possible, Περιορισμό τροχαλίας - + Constraint spring Constraint spring - + Constraint temperature Περιορισμό θερμοκρασίας - + Constraint transform Περιορισμός μετατόπισης - + Edit post processing object Edit post processing object @@ -4072,11 +4067,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Μορφή - x @@ -4113,11 +4103,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Μορφή - Meshes: @@ -4131,11 +4116,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Μορφή - Volume @@ -4187,21 +4167,8 @@ For possible variables, see the description box below. Γωνία διακοπής: - - TaskDriver - - - Form - Μορφή - - TaskFemConstraint - - - Form - Μορφή - Add reference @@ -4250,11 +4217,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Μορφή - Add reference @@ -4323,11 +4285,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Μορφή - Select master face, click Add or Remove @@ -4468,11 +4425,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Μορφή - Select multiple face(s), click Add or Remove @@ -4491,11 +4443,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Μορφή - Boundary @@ -4728,11 +4675,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Μορφή - Select a single face, click Add or Remove @@ -4751,11 +4693,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Μορφή - Select multiple face(s), click Add or Remove @@ -4789,11 +4726,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Μορφή - Select multiple face(s), click Add or Remove @@ -4834,11 +4766,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Μορφή - Select multiple face(s), click Add or Remove @@ -4868,11 +4795,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Μορφή - Rectangular transform @@ -4920,21 +4842,8 @@ used for the Elmer solver Μετατοπίσιμες όψεις - - TaskObjectName - - - Form - Μορφή - - TaskPostClip - - - Form - Μορφή - Create @@ -4953,11 +4862,6 @@ used for the Elmer solver TaskPostCut - - - Form - Μορφή - Create @@ -4966,11 +4870,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Μορφή - Coordinates @@ -5072,11 +4971,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Μορφή - Mode @@ -5154,11 +5048,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Μορφή - Scalar @@ -5207,11 +5096,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Μορφή - Vector @@ -5240,11 +5124,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Μορφή - Max. Size: @@ -6386,11 +6265,6 @@ Please select a result type first. TaskPostContours - - - Form - Μορφή - Vector: @@ -6451,7 +6325,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_es-AR.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_es-AR.ts index ff28111a70..7729e6a1ee 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_es-AR.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_es-AR.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Definir/crear un filtro de clip que utiliza funciones para definir la región recortada + Define/create a clip filter which uses functions to define the clipped region + Definir/crear un filtro de recorte que utiliza funciones para definir la región recortada @@ -540,12 +540,12 @@ Crea una tubería de post-procesamiento a partir de un objeto resultado - + Wrong selection type Tipo de selección incorrecta - + Select a result object, please. Seleccione un objeto de resultado, por favor. @@ -689,12 +689,12 @@ Crear función - + Create pipeline from result Crear tubería desde resultado - + Edit Mirror Editar Reflejo en Espejo @@ -1016,12 +1016,12 @@ Límite de baja frecuencia - + File does not exist El archivo no existe - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ se fusionarán para que los límites de volumen sean invisibles. <html><head/><body><p><span style=" font-weight:600;">Nota:</span> Se recomienda usar un número par de núcleos para beneficiarse de las simetrías de la malla. (Usar 8 núcleos puede ser más rápido que 9 núcleos.<br/><span style=" font-weight:600;">Nota también:</span> En casos extremos, ElmerSolver podría no converger si el número central es demasiado alto.</p></body></html> - + File does not exist El archivo no existe - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. Por favor, especifique otro archivo. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: No apto para hilos múltiples - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Configuración de Elmer incorrecta: Utiliza más de un núcleo de CPU. Por lo tanto se requiere un ejecutable con el sufijo '_mpi.exe'. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Configuración de Elmer incorrecta: Utiliza más de un núcleo de CPU. @@ -1384,12 +1384,12 @@ añadir un contenedor de análisis Dejar en blanco para usar el archivo binario por defecto de gmsh - + File does not exist El archivo no existe - + The specified executable '%1' does not exist! @@ -1576,12 +1576,12 @@ Si no están marcadas, serán ordenadas por su nombre. Escribir comentarios en el archivo de entrada - + File does not exist El archivo no existe - + The specified executable '%1' does not exist! @@ -1688,12 +1688,12 @@ solver iterativo y reciba el mensaje de error de que "MAXKOI" necesita ser aumentado. - + File does not exist El archivo no existe - + The specified z88r executable '%1' does not exist! @@ -1704,18 +1704,18 @@ Specify another file please. Especifique otro archivo, por favor. - - + + Wrong file Archivo incorrecto - + You must specify the path to the z88r.exe! ¡Debe especificar la ruta a z88r.exe! - + You must specify the path to the z88r! ¡Debe especificar la ruta a z88r! @@ -1753,7 +1753,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintBearing - + Input error Error de entrada @@ -1761,7 +1761,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintContact - + Input error Error de entrada @@ -1769,7 +1769,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintDisplacement - + Input error Error de entrada @@ -1777,7 +1777,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Error de entrada @@ -1785,13 +1785,13 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintForce - - + + Input error Error de entrada - + Please specify a force greater than 0 Por favor especifique una fuerza mayor que 0 @@ -1807,7 +1807,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintHeatflux - + Input error Error de entrada @@ -1815,8 +1815,8 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Error de entrada @@ -1824,7 +1824,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintPressure - + Input error Error de entrada @@ -1840,7 +1840,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintSpring - + Input error Error de entrada @@ -1848,7 +1848,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintTemperature - + Input error Error de entrada @@ -1856,7 +1856,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintTransform - + Input error Error de entrada @@ -1864,12 +1864,12 @@ Especifique otro archivo, por favor. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Editar malla MEF - + Meshing failure Falla de mallado @@ -1877,7 +1877,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgPost - + Input error Error de entrada @@ -1956,22 +1956,22 @@ Especifique otro archivo, por favor. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Error de selección @@ -1981,46 +1981,46 @@ Especifique otro archivo, por favor. ¡Solo una cara en el objeto! - movida a la cara maestra - - + + Only one master face and one slave face for a contact constraint! ¡Solo una cara maestra y una cara esclavizada para una restricción de contacto! - - - - + + + + Nothing selected! ¡Nada seleccionado! - - + + Only one slave face for a contact constraint! ¡Solo una cara esclavizada para una restricción de contacto! - - - - + + + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - - + + Only faces can be picked Sólo se pueden seleccionar caras - + Only one master for a contact constraint! ¡Solo un maestro por una restricción de contacto! - + Only one master face for a contact constraint! ¡Solo una cara maestra para restricción de contacto! @@ -2028,28 +2028,28 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one type of selection (vertex,face or edge) per constraint allowed! ¡Solo un tipo de selección (vértice, cara o arista) por restricción permitida! @@ -2057,28 +2057,28 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one type of selection (vertex,face or edge) per constraint allowed! ¡Solo un tipo de selección (vértice, cara o arista) por restricción permitida! @@ -2186,28 +2186,28 @@ Especifique otro archivo, por favor. Solo caras para partes 3D o aristas para 2D pueden ser tomados - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one type of selection (vertex,face or edge) per constraint allowed! ¡Solo un tipo de selección (vértice, cara o arista) por restricción permitida! @@ -2216,38 +2216,38 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Error de selección - + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one type of selection (vertex,face or edge) per constraint allowed! ¡Solo un tipo de selección (vértice, cara o arista) por restricción permitida! - - + + Wrong selection Selección Incorrecta - + Select an edge or a face, please. Seleccione una arista o una cara, por favor. @@ -2280,30 +2280,30 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - - + + Selection must only consist of faces! ¡La selección solo debe consistir en caras! @@ -2311,42 +2311,42 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Error de selección - - + + Only one face can be selected for a plane rotation constraint! ¡Solo una cara puede ser seleccionada para una restricción de plano de rotación! - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only faces can be picked Sólo se pueden seleccionar caras - + Only planar faces can be picked Solo se pueden seleccionar caras planas @@ -2354,28 +2354,28 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only faces can be picked Sólo se pueden seleccionar caras @@ -2396,28 +2396,28 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only faces can be picked Sólo se pueden seleccionar caras @@ -2425,22 +2425,22 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! @@ -2458,54 +2458,54 @@ Especifique otro archivo, por favor. Las caras transformables han cambiado. ¡Por favor, añada solo las caras transformables y elimine las caras no transformables! - - - - - - - - - - + + + + + + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Only one face for rectangular transform constraint! ¡Solo una cara para restricción de transformación rectangular! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one face for transform constraint! ¡Solo una cara para restricción de transformación! - + Only faces can be picked Sólo se pueden seleccionar caras - + Only cylindrical faces can be picked Sólo se pueden elegir caras cilíndricas - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface ¡Solo se pueden seleccionar caras transformables! Aplique primero la restricción de desplazamiento a la superficie y luego aplique la restricción a la superficie @@ -2521,7 +2521,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostClip - + Clip region, choose implicit function Región de recorte, elija función implícita @@ -2529,7 +2529,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostCut - + Function cut, choose implicit function Función cortada, elegir función implícita @@ -2537,12 +2537,12 @@ Especifique otro archivo, por favor. FemGui::TaskPostDataAlongLine - + Data along a line options Opciones de datos a lo largo de una línea - + Length X-Axis plot label Longitud @@ -2551,12 +2551,12 @@ Especifique otro archivo, por favor. FemGui::TaskPostDataAtPoint - + Data at point options Opciones de datos de punto - + %1 at (%2; %3; %4) is: %5 %6 %1 en (%2; %3; %4) es: %5 %6 @@ -2564,7 +2564,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostDisplay - + Result display options Opciones de despliegue de resultados @@ -2572,7 +2572,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostFunction - + Implicit function Función implícita @@ -2580,7 +2580,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostScalarClip - + Scalar clip options Opciones de clip escalar @@ -2588,7 +2588,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostWarpVector - + Warp options Opciones de deformación @@ -2604,7 +2604,7 @@ Especifique otro archivo, por favor. FemGui::ViewProviderFemAnalysis - + Activate analysis Activar análisis @@ -2612,12 +2612,12 @@ Especifique otro archivo, por favor. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Falla de mallado - + The FEM module is built without NETGEN support. Meshing will not work!!! El módulo MEF está compilado sin soporte NETGEN. ¡¡¡¡El mallado no funcionará!!! @@ -2625,15 +2625,15 @@ Especifique otro archivo, por favor. FemMaterial - + FEM material Material MEF + - Material Material @@ -2658,9 +2658,9 @@ Especifique otro archivo, por favor. Nombre del Material + - TextLabel EtiquetaTexto @@ -3006,17 +3006,17 @@ Especifique otro archivo, por favor. - - - + + + 0 mm 0 mm @@ -3031,11 +3031,11 @@ Especifique otro archivo, por favor. Parámetro de Centrífuga + - - + Parameter Parámetro @@ -3065,13 +3065,13 @@ Especifique otro archivo, por favor. Parámetro de Sección de Impresión - - + + - + + - Constraint Properties Propiedades de Restricción @@ -3086,9 +3086,12 @@ Especifique otro archivo, por favor. Potential: - - - + + + + + + @@ -3101,18 +3104,15 @@ Especifique otro archivo, por favor. + + + - - - - - - unspecified no especificado @@ -3139,16 +3139,16 @@ with a harmonic/oscillating driving force con una fuerza de conducción armónica/oscilante + - Real Real + - Imaginary Imaginario @@ -3168,9 +3168,9 @@ con una fuerza de conducción armónica/oscilante Parte imaginaria del potencial escalar + - x x @@ -3189,9 +3189,9 @@ Note: has no effect if a solid was selected Nota: no tiene efecto si un sólido fue seleccionado + - y y @@ -3210,9 +3210,9 @@ Note: has no effect if a solid was selected Nota: no tiene efecto si un sólido fue seleccionado + - z z @@ -3277,8 +3277,8 @@ Nota: no tiene efecto si un sólido fue seleccionado Parámetro de sección de viga - + Cross section parameter Parámetro de sección cruzada @@ -3329,30 +3329,30 @@ Nota: no tiene efecto si un sólido fue seleccionado Rotación: - - - + + + formula fórmula - + Velocity x: Velocidad x: - + Velocity y: Velocidad y: - + Velocity z: Velocidad z: @@ -3482,14 +3482,14 @@ Nota: para 2D solo la configuración para x es posible, Parte imaginaria del potencial componente y - + Real part of potential z-component Parte real del potencial componente z - + Imaginary part of potential z-component Parte imaginaria del potencial componente z @@ -3555,11 +3555,6 @@ Nota: para 2D solo la configuración para x es posible, PlaneWidget - - - Form - Forma - x @@ -3614,36 +3609,36 @@ Nota: para 2D solo la configuración para x es posible, Editar restricción - - - - - - - - + + + + + + + + A dialog is already open in the task panel Un diálogo ya está abierto en el panel de tareas - - - - - - - - + + + + + + + + Do you want to close this dialog? ¿Desea cerrar este diálogo? - + Meshing Mallado - + Constraint force Restringir fuerza @@ -3665,42 +3660,42 @@ Nota: para 2D solo la configuración para x es posible, Importar-Exportar - + Constraint Contact Restricción de Contacto - + Constraint displacement Restricción de desplazamiento - + Constraint fixed Restricción fija - + Constraint fluid boundary Restricción de límite de fluido - + Constraint heat flux Restricción de flujo de calor - + Constraint initial temperature Restricción de temperatura inicial - + Constraint planerotation Restricción de plano de rotación - + Constraint pressure Restricción de presión @@ -3710,22 +3705,22 @@ Nota: para 2D solo la configuración para x es posible, Restricción de polea - + Constraint spring Restricción de resorte - + Constraint temperature Restricción de temperatura - + Constraint transform Restricción de transformación - + Edit post processing object Editar objeto de post-procesamiento @@ -4074,11 +4069,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. SphereWidget - - - Form - Forma - x @@ -4115,11 +4105,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. TaskAnalysisInfo - - - Form - Forma - Meshes: @@ -4133,11 +4118,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. TaskCreateNodeSet - - - Form - Forma - Volume @@ -4189,21 +4169,8 @@ Para posibles variables, vea el cuadro de descripción a continuación.Ángulo final: - - TaskDriver - - - Form - Forma - - TaskFemConstraint - - - Form - Forma - Add reference @@ -4252,11 +4219,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. TaskFemConstraintBearing - - - Form - Forma - Add reference @@ -4325,11 +4287,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. TaskFemConstraintContact - - - Form - Forma - Select master face, click Add or Remove @@ -4470,11 +4427,6 @@ generada por el flujo TaskFemConstraintFixed - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4493,11 +4445,6 @@ generada por el flujo TaskFemConstraintFluidBoundary - - - Form - Forma - Boundary @@ -4730,11 +4677,6 @@ normal de la cara se utiliza como dirección TaskFemConstraintPlaneRotation - - - Form - Forma - Select a single face, click Add or Remove @@ -4753,11 +4695,6 @@ normal de la cara se utiliza como dirección TaskFemConstraintPressure - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4791,11 +4728,6 @@ normal de la cara se utiliza como dirección TaskFemConstraintSpring - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4836,11 +4768,6 @@ usada por el solver Elmer TaskFemConstraintTemperature - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4870,11 +4797,6 @@ usada por el solver Elmer TaskFemConstraintTransform - - - Form - Forma - Rectangular transform @@ -4922,21 +4844,8 @@ usada por el solver Elmer Superficies Transformables - - TaskObjectName - - - Form - Forma - - TaskPostClip - - - Form - Forma - Create @@ -4955,11 +4864,6 @@ usada por el solver Elmer TaskPostCut - - - Form - Forma - Create @@ -4968,11 +4872,6 @@ usada por el solver Elmer TaskPostDataAlongLine - - - Form - Forma - Coordinates @@ -5074,11 +4973,6 @@ usada por el solver Elmer TaskPostDisplay - - - Form - Forma - Mode @@ -5156,11 +5050,6 @@ usada por el solver Elmer TaskPostScalarClip - - - Form - Forma - Scalar @@ -5209,11 +5098,6 @@ usada por el solver Elmer TaskPostWarpVector - - - Form - Forma - Vector @@ -5242,11 +5126,6 @@ usada por el solver Elmer TaskTetParameter - - - Form - Forma - Max. Size: @@ -6388,11 +6267,6 @@ fuerzas magnetodinámicas TaskPostContours - - - Form - Forma - Vector: @@ -6453,7 +6327,7 @@ fuerzas magnetodinámicas FemGui::TaskPostContours - + Contours filter options Opciones de filtro de contornos diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.ts index 1b3ee7f572..6e0626977a 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Definir/crear un filtro de clip que utiliza funciones para definir la región recortada + Define/create a clip filter which uses functions to define the clipped region + Definir/crear un filtro de recorte que utiliza funciones para definir la región recortada @@ -540,12 +540,12 @@ Crea una tubería de post-procesamiento a partir de un objeto resultado - + Wrong selection type Tipo de selección incorrecta - + Select a result object, please. Seleccione un objeto de resultado, por favor. @@ -689,12 +689,12 @@ Crear función - + Create pipeline from result Crear tubería desde resultado - + Edit Mirror Editar Reflejo en Espejo @@ -1016,12 +1016,12 @@ Límite de baja frecuencia - + File does not exist El archivo no existe - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ se fusionarán para que los límites de volumen sean invisibles. <html><head/><body><p><span style=" font-weight:600;">Nota:</span> Se recomienda usar un número par de núcleos para beneficiarse de las simetrías de la malla. (Usar 8 núcleos puede ser más rápido que 9 núcleos.<br/><span style=" font-weight:600;">Nota también:</span> En casos extremos, ElmerSolver podría no converger si el número central es demasiado alto.</p></body></html> - + File does not exist El archivo no existe - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. Por favor, especifique otro archivo. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: No apto para hilos múltiples - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Configuración de Elmer incorrecta: Utiliza más de un núcleo de CPU. Por lo tanto se requiere un ejecutable con el sufijo '_mpi.exe'. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Configuración de Elmer incorrecta: Utiliza más de un núcleo de CPU. @@ -1384,12 +1384,12 @@ añadir un contenedor de análisis Dejar en blanco para usar el archivo binario por defecto de gmsh - + File does not exist El archivo no existe - + The specified executable '%1' does not exist! @@ -1576,12 +1576,12 @@ Si no están marcadas, serán ordenadas por su nombre. Escribir comentarios en el archivo de entrada - + File does not exist El archivo no existe - + The specified executable '%1' does not exist! @@ -1688,12 +1688,12 @@ solver iterativo y reciba el mensaje de error de que "MAXKOI" necesita ser aumentado. - + File does not exist El archivo no existe - + The specified z88r executable '%1' does not exist! @@ -1704,18 +1704,18 @@ Specify another file please. Especifique otro archivo, por favor. - - + + Wrong file Archivo incorrecto - + You must specify the path to the z88r.exe! ¡Debe especificar la ruta a z88r.exe! - + You must specify the path to the z88r! ¡Debe especificar la ruta a z88r! @@ -1753,7 +1753,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintBearing - + Input error Error de entrada @@ -1761,7 +1761,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintContact - + Input error Error de entrada @@ -1769,7 +1769,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintDisplacement - + Input error Error de entrada @@ -1777,7 +1777,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Error de entrada @@ -1785,13 +1785,13 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintForce - - + + Input error Error de entrada - + Please specify a force greater than 0 Por favor especifique una fuerza mas grande que 0 @@ -1807,7 +1807,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintHeatflux - + Input error Error de entrada @@ -1815,8 +1815,8 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Error de entrada @@ -1824,7 +1824,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintPressure - + Input error Error de entrada @@ -1840,7 +1840,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintSpring - + Input error Error de entrada @@ -1848,7 +1848,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintTemperature - + Input error Error de entrada @@ -1856,7 +1856,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgFemConstraintTransform - + Input error Error de entrada @@ -1864,12 +1864,12 @@ Especifique otro archivo, por favor. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Editar malla FEM - + Meshing failure Falla de mallado @@ -1877,7 +1877,7 @@ Especifique otro archivo, por favor. FemGui::TaskDlgPost - + Input error Error de entrada @@ -1956,22 +1956,22 @@ Especifique otro archivo, por favor. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Error de selección @@ -1981,46 +1981,46 @@ Especifique otro archivo, por favor. ¡Solo una cara en el objeto! - movida a la cara maestra - - + + Only one master face and one slave face for a contact constraint! ¡Solo una cara maestra y una cara esclavizada para una restricción de contacto! - - - - + + + + Nothing selected! ¡Nada seleccionado! - - + + Only one slave face for a contact constraint! ¡Solo una cara esclavizada para una restricción de contacto! - - - - + + + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - - + + Only faces can be picked Se pueden seleccionar caras únicamente - + Only one master for a contact constraint! ¡Solo un maestro por una restricción de contacto! - + Only one master face for a contact constraint! ¡Solo una cara maestra para restricción de contacto! @@ -2028,28 +2028,28 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one type of selection (vertex,face or edge) per constraint allowed! ¡Solo un tipo de selección (vértice, cara o arista) por restricción permitida! @@ -2057,28 +2057,28 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one type of selection (vertex,face or edge) per constraint allowed! ¡Solo un tipo de selección (vértice, cara o arista) por restricción permitida! @@ -2186,28 +2186,28 @@ Especifique otro archivo, por favor. Solo caras para partes 3D o aristas para 2D pueden ser tomados - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one type of selection (vertex,face or edge) per constraint allowed! ¡Solo un tipo de selección (vértice, cara o arista) por restricción permitida! @@ -2216,38 +2216,38 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Error de selección - + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one type of selection (vertex,face or edge) per constraint allowed! ¡Solo un tipo de selección (vértice, cara o arista) por restricción permitida! - - + + Wrong selection Selección incorrecta - + Select an edge or a face, please. Seleccione una arista o una cara, por favor. @@ -2280,30 +2280,30 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - - + + Selection must only consist of faces! ¡La selección solo debe consistir en caras! @@ -2311,42 +2311,42 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Error de selección - - + + Only one face can be selected for a plane rotation constraint! ¡Solo una cara puede ser seleccionada para una restricción de plano de rotación! - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only faces can be picked Se pueden seleccionar caras únicamente - + Only planar faces can be picked Se pueden seleccionar únicamente caras planas @@ -2354,28 +2354,28 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only faces can be picked Se pueden seleccionar caras únicamente @@ -2396,28 +2396,28 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only faces can be picked Se pueden seleccionar caras únicamente @@ -2425,22 +2425,22 @@ Especifique otro archivo, por favor. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! @@ -2458,54 +2458,54 @@ Especifique otro archivo, por favor. Las caras transformables han cambiado. ¡Por favor, añada solo las caras transformables y elimine las caras no transformables! - - - - - - - - - - + + + + + + + + + + Selection error Error de selección - - + + Nothing selected! ¡Nada seleccionado! - - + + Only one face for rectangular transform constraint! ¡Solo una cara para restricción de transformación rectangular! - - + + Selected object is not a part! ¡El objeto seleccionado no es una pieza! - + Only one face for transform constraint! ¡Solo una cara para restricción de transformación! - + Only faces can be picked Se pueden seleccionar caras únicamente - + Only cylindrical faces can be picked Se pueden seleccionar únicamente caras cilíndricas - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface ¡Solo se pueden seleccionar caras transformables! Aplique primero la restricción de desplazamiento a la superficie y luego aplique la restricción a la superficie @@ -2521,7 +2521,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostClip - + Clip region, choose implicit function Región de recorte, elija función implícita @@ -2529,7 +2529,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostCut - + Function cut, choose implicit function Función cortada, elegir función implícita @@ -2537,12 +2537,12 @@ Especifique otro archivo, por favor. FemGui::TaskPostDataAlongLine - + Data along a line options Opciones de datos a lo largo de una línea - + Length X-Axis plot label Longitud @@ -2551,12 +2551,12 @@ Especifique otro archivo, por favor. FemGui::TaskPostDataAtPoint - + Data at point options Opciones de datos de punto - + %1 at (%2; %3; %4) is: %5 %6 %1 en (%2; %3; %4) es: %5 %6 @@ -2564,7 +2564,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostDisplay - + Result display options Opciones de despliegue de resultados @@ -2572,7 +2572,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostFunction - + Implicit function Función implícita @@ -2580,7 +2580,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostScalarClip - + Scalar clip options Opciones de clip escalar @@ -2588,7 +2588,7 @@ Especifique otro archivo, por favor. FemGui::TaskPostWarpVector - + Warp options Opciones de deformación @@ -2604,7 +2604,7 @@ Especifique otro archivo, por favor. FemGui::ViewProviderFemAnalysis - + Activate analysis Activar análisis @@ -2612,12 +2612,12 @@ Especifique otro archivo, por favor. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Falla de mallado - + The FEM module is built without NETGEN support. Meshing will not work!!! El módulo FEM está construido sin el soporte NETGEN. ¡El mallado no funcionará! @@ -2625,15 +2625,15 @@ Especifique otro archivo, por favor. FemMaterial - + FEM material Material MEF + - Material Material @@ -2658,9 +2658,9 @@ Especifique otro archivo, por favor. Nombre del Material + - TextLabel Etiqueta Texto @@ -3006,17 +3006,17 @@ Especifique otro archivo, por favor. - - - + + + 0 mm 0 mm @@ -3031,11 +3031,11 @@ Especifique otro archivo, por favor. Parámetro de Centrífuga + - - + Parameter Parámetro @@ -3065,13 +3065,13 @@ Especifique otro archivo, por favor. Parámetro de Sección de Impresión - - + + - + + - Constraint Properties Propiedades de Restricción @@ -3086,9 +3086,12 @@ Especifique otro archivo, por favor. Potential: - - - + + + + + + @@ -3101,18 +3104,15 @@ Especifique otro archivo, por favor. + + + - - - - - - unspecified no especificado @@ -3139,16 +3139,16 @@ with a harmonic/oscillating driving force con una fuerza de conducción armónica/oscilante + - Real Real + - Imaginary Imaginario @@ -3168,9 +3168,9 @@ con una fuerza de conducción armónica/oscilante Parte imaginaria del potencial escalar + - x x @@ -3189,9 +3189,9 @@ Note: has no effect if a solid was selected Nota: no tiene efecto si un sólido fue seleccionado + - y y @@ -3210,9 +3210,9 @@ Note: has no effect if a solid was selected Nota: no tiene efecto si un sólido fue seleccionado + - z z @@ -3277,8 +3277,8 @@ Nota: no tiene efecto si un sólido fue seleccionado Parámetro de sección de viga - + Cross section parameter Parámetro de sección cruzada @@ -3329,30 +3329,30 @@ Nota: no tiene efecto si un sólido fue seleccionado Rotación: - - - + + + formula fórmula - + Velocity x: Velocidad x: - + Velocity y: Velocidad y: - + Velocity z: Velocidad z: @@ -3482,14 +3482,14 @@ Nota: para 2D solo la configuración para x es posible, Parte imaginaria del potencial componente y - + Real part of potential z-component Parte real del potencial componente z - + Imaginary part of potential z-component Parte imaginaria del potencial componente z @@ -3555,11 +3555,6 @@ Nota: para 2D solo la configuración para x es posible, PlaneWidget - - - Form - Formulario - x @@ -3614,36 +3609,36 @@ Nota: para 2D solo la configuración para x es posible, Editar restricción - - - - - - - - + + + + + + + + A dialog is already open in the task panel Un diálogo ya está abierto en el panel de tareas - - - - - - - - + + + + + + + + Do you want to close this dialog? ¿Desea cerrar este diálogo? - + Meshing Mallado - + Constraint force Restringir fuerza @@ -3665,42 +3660,42 @@ Nota: para 2D solo la configuración para x es posible, Importar/Exportar - + Constraint Contact Restricción de Contacto - + Constraint displacement Restricción de desplazamiento - + Constraint fixed Restricción fija - + Constraint fluid boundary Restricción de límite de fluido - + Constraint heat flux Restricción de flujo de calor - + Constraint initial temperature Restricción de temperatura inicial - + Constraint planerotation Restricción de plano de rotación - + Constraint pressure Restricción de presión @@ -3710,22 +3705,22 @@ Nota: para 2D solo la configuración para x es posible, Restricción de polea - + Constraint spring Restricción de resorte - + Constraint temperature Restricción de temperatura - + Constraint transform Restricción de transformación - + Edit post processing object Editar objeto de post-procesamiento @@ -4074,11 +4069,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. SphereWidget - - - Form - Formulario - x @@ -4115,11 +4105,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. TaskAnalysisInfo - - - Form - Formulario - Meshes: @@ -4133,11 +4118,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. TaskCreateNodeSet - - - Form - Formulario - Volume @@ -4189,21 +4169,8 @@ Para posibles variables, vea el cuadro de descripción a continuación.Ángulo final: - - TaskDriver - - - Form - Formulario - - TaskFemConstraint - - - Form - Formulario - Add reference @@ -4252,11 +4219,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. TaskFemConstraintBearing - - - Form - Formulario - Add reference @@ -4325,11 +4287,6 @@ Para posibles variables, vea el cuadro de descripción a continuación. TaskFemConstraintContact - - - Form - Formulario - Select master face, click Add or Remove @@ -4470,11 +4427,6 @@ generada por el flujo TaskFemConstraintFixed - - - Form - Formulario - Select multiple face(s), click Add or Remove @@ -4493,11 +4445,6 @@ generada por el flujo TaskFemConstraintFluidBoundary - - - Form - Formulario - Boundary @@ -4730,11 +4677,6 @@ normal de la cara se utiliza como dirección TaskFemConstraintPlaneRotation - - - Form - Formulario - Select a single face, click Add or Remove @@ -4753,11 +4695,6 @@ normal de la cara se utiliza como dirección TaskFemConstraintPressure - - - Form - Formulario - Select multiple face(s), click Add or Remove @@ -4791,11 +4728,6 @@ normal de la cara se utiliza como dirección TaskFemConstraintSpring - - - Form - Formulario - Select multiple face(s), click Add or Remove @@ -4836,11 +4768,6 @@ usada por el solver Elmer TaskFemConstraintTemperature - - - Form - Formulario - Select multiple face(s), click Add or Remove @@ -4870,11 +4797,6 @@ usada por el solver Elmer TaskFemConstraintTransform - - - Form - Formulario - Rectangular transform @@ -4922,21 +4844,8 @@ usada por el solver Elmer Superficies Transformables - - TaskObjectName - - - Form - Formulario - - TaskPostClip - - - Form - Formulario - Create @@ -4955,11 +4864,6 @@ usada por el solver Elmer TaskPostCut - - - Form - Formulario - Create @@ -4968,11 +4872,6 @@ usada por el solver Elmer TaskPostDataAlongLine - - - Form - Formulario - Coordinates @@ -5074,11 +4973,6 @@ usada por el solver Elmer TaskPostDisplay - - - Form - Formulario - Mode @@ -5156,11 +5050,6 @@ usada por el solver Elmer TaskPostScalarClip - - - Form - Formulario - Scalar @@ -5209,11 +5098,6 @@ usada por el solver Elmer TaskPostWarpVector - - - Form - Formulario - Vector @@ -5242,11 +5126,6 @@ usada por el solver Elmer TaskTetParameter - - - Form - Formulario - Max. Size: @@ -6388,11 +6267,6 @@ fuerzas magnetodinámicas TaskPostContours - - - Form - Formulario - Vector: @@ -6453,7 +6327,7 @@ fuerzas magnetodinámicas FemGui::TaskPostContours - + Contours filter options Opciones de filtro de contornos diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_eu.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_eu.ts index ba0b8b3015..195ba7a87d 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_eu.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_eu.ts @@ -350,7 +350,7 @@ - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region Definitu/sortu eskualde ebaki bat definitzeko funtzioak erabiltzen dituen ebaketa-iragazki bat @@ -540,12 +540,12 @@ Post-prozesuko kanalizazio bat sortzen du emaitza-objektu batetik abiatuta - + Wrong selection type Hautapen mota okerra - + Select a result object, please. Hautatu emaitzako objektua. @@ -689,12 +689,12 @@ Sortu funtzioa - + Create pipeline from result Sortu kanalizazioa emaitzatik - + Edit Mirror Editatu ispilua @@ -1017,12 +1017,12 @@ hasierako tenperatura: Behe maiztasuneko muga - + File does not exist Fitxategia ez da existitzen - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ fusionatuko dira bolumenaren mugak ikusgai izan daitezen. <html><head/><body><p><span style=" font-weight:600;">Oharra:</span> Nukleoen kopuru bikoitia erabiltzea gomendatzen da, amaraunen simetriaren abantailaz baliatzeko (8 nukleo erabiltzea, 9 erabiltzea baino azkarragoa izan daiteke).<br/><span style=" font-weight:600;">Bigarren oharra:</span> Muturreko kasuetan, ElmerSolver ebazleak ez du konbergituko nukleo kopurua handiegia bada.</p></body></html> - + File does not exist Fitxategia ez da existitzen - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ ez da existitzen. Zehaztu beste fitxategi bat. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Ez da egokia hari anitz erabiltzeko - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Elmer ezarpen okerra: PUZ nukleo bat baino gehiago erabili behar da. Hortaz, '_mpi.exe' atzizkia duen exekutagarria behar da. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Elmer ezarpen okerra: PUZ nukleo bat baino gehiago erabili behar da. @@ -1386,12 +1386,12 @@ gehituko den ebazle lehenetsia Utzi hutsik gmsh fitxategi bitar lehenetsia erabiltzeko - + File does not exist Fitxategia ez da existitzen - + The specified executable '%1' does not exist! @@ -1578,12 +1578,12 @@ Hau ez badago markatuta, izenaren arabera ordenatuko dira. Idatzi iruzkinak sarrerako fitxategian - + File does not exist Fitxategia ez da existitzen - + The specified executable '%1' does not exist! @@ -1690,12 +1690,12 @@ erabiltzean. "MAXKOI" handitu behar dela dioen mezu bat jaso daiteke. - + File does not exist Fitxategia ez da existitzen - + The specified z88r executable '%1' does not exist! @@ -1706,18 +1706,18 @@ ez da existitzen. Zehaztu beste fitxategi bat. - - + + Wrong file Fitxategi okerra - + You must specify the path to the z88r.exe! z88r.exe fitxategiaren bide-izena zehaztu behar da. - + You must specify the path to the z88r! z88r aplikazioaren bide-izena zehaztu behar da. @@ -1755,7 +1755,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintBearing - + Input error Sarrera-errorea @@ -1763,7 +1763,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintContact - + Input error Sarrera-errorea @@ -1771,7 +1771,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintDisplacement - + Input error Sarrera-errorea @@ -1779,7 +1779,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Sarrera-errorea @@ -1787,13 +1787,13 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintForce - - + + Input error Sarrera-errorea - + Please specify a force greater than 0 Adierazi 0 baino handiagoa den indar bat @@ -1809,7 +1809,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintHeatflux - + Input error Sarrera-errorea @@ -1817,8 +1817,8 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Sarrera-errorea @@ -1826,7 +1826,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintPressure - + Input error Sarrera-errorea @@ -1842,7 +1842,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintSpring - + Input error Sarrera-errorea @@ -1850,7 +1850,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintTemperature - + Input error Sarrera-errorea @@ -1858,7 +1858,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgFemConstraintTransform - + Input error Sarrera-errorea @@ -1866,12 +1866,12 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Editatu FEM amarauna - + Meshing failure Hutsegitea amarauna sortzean @@ -1879,7 +1879,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskDlgPost - + Input error Sarrera-errorea @@ -1958,22 +1958,22 @@ Zehaztu beste fitxategi bat. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Hautapen-errorea @@ -1983,46 +1983,46 @@ Zehaztu beste fitxategi bat. Aurpegi bakarra dago objektuan! - Aurpegi maisura eraman da - - + + Only one master face and one slave face for a contact constraint! Aurpegi nagusi bakarra eta mendeko aurpegi bakarra kontaktu-murrizketako! - - - - + + + + Nothing selected! Ez da ezer hautatu! - - + + Only one slave face for a contact constraint! Mendeko aurpegi bakarra kontaktu-murrizketako! - - - - + + + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - - + + Only faces can be picked Aurpegiak soilik aukera daitezke - + Only one master for a contact constraint! Nagusi bakarra kontaktu-murrizketako! - + Only one master face for a contact constraint! Aurpegi nagusi bakarra kontaktu-murrizketako! @@ -2030,28 +2030,28 @@ Zehaztu beste fitxategi bat. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Hautapen-errorea - - + + Nothing selected! Ez da ezer hautatu! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - + Only one type of selection (vertex,face or edge) per constraint allowed! Hautapen mota bakarra (erpina, aurpegia edo ertza) onartzen da murrizketako! @@ -2059,28 +2059,28 @@ Zehaztu beste fitxategi bat. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Hautapen-errorea - - + + Nothing selected! Ez da ezer hautatu! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - + Only one type of selection (vertex,face or edge) per constraint allowed! Hautapen mota bakarra (erpina, aurpegia edo ertza) onartzen da murrizketako! @@ -2188,28 +2188,28 @@ Zehaztu beste fitxategi bat. Aurpegiak soilik (3D piezetarako) edo ertzak soilik (2D piezetarako) aukeratu daitezke - - - - - + + + + + Selection error Hautapen-errorea - - + + Nothing selected! Ez da ezer hautatu! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - + Only one type of selection (vertex,face or edge) per constraint allowed! Hautapen mota bakarra (erpina, aurpegia edo ertza) onartzen da murrizketako! @@ -2218,38 +2218,38 @@ Zehaztu beste fitxategi bat. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Hautapen-errorea - + Nothing selected! Ez da ezer hautatu! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - + Only one type of selection (vertex,face or edge) per constraint allowed! Hautapen mota bakarra (erpina, aurpegia edo ertza) onartzen da murrizketako! - - + + Wrong selection Hautapen okerra - + Select an edge or a face, please. Hautatu ertz bat edo aurpegi bat. @@ -2282,30 +2282,30 @@ Zehaztu beste fitxategi bat. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Hautapen-errorea - - + + Nothing selected! Ez da ezer hautatu! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - - + + Selection must only consist of faces! Hautapenean aurpegiak soilik onartzen dira! @@ -2313,42 +2313,42 @@ Zehaztu beste fitxategi bat. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Hautapen-errorea - - + + Only one face can be selected for a plane rotation constraint! Aurpegi bakarra hautatu daiteke planoaren biraketa-murrizketa baterako! - - + + Nothing selected! Ez da ezer hautatu! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - + Only faces can be picked Aurpegiak soilik aukera daitezke - + Only planar faces can be picked Aurpegi planarrak soilik aukera daitezke @@ -2356,28 +2356,28 @@ Zehaztu beste fitxategi bat. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Hautapen-errorea - - + + Nothing selected! Ez da ezer hautatu! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - + Only faces can be picked Aurpegiak soilik aukera daitezke @@ -2398,28 +2398,28 @@ Zehaztu beste fitxategi bat. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Hautapen-errorea - - + + Nothing selected! Ez da ezer hautatu! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - + Only faces can be picked Aurpegiak soilik aukera daitezke @@ -2427,22 +2427,22 @@ Zehaztu beste fitxategi bat. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Hautapen-errorea - - + + Nothing selected! Ez da ezer hautatu! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! @@ -2460,54 +2460,54 @@ Zehaztu beste fitxategi bat. Aurpegi transformagarriak aldatu dira. Gehitu aurpegi transformagarriak soilik eta kendu transformatu ezin direnak. - - - - - - - - - - + + + + + + + + + + Selection error Hautapen-errorea - - + + Nothing selected! Ez da ezer hautatu! - - + + Only one face for rectangular transform constraint! Aurpegi bakarra laukizuzenen transformazio-murrizketarako! - - + + Selected object is not a part! Hautatutako objektua ez da pieza bat! - + Only one face for transform constraint! Aurpegi bakarra transformazio-murrizketarako! - + Only faces can be picked Aurpegiak soilik aukera daitezke - + Only cylindrical faces can be picked Aurpegi zilindrikoak soilik aukera daitezke - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Aurpegi transformagarriak soilik hautatu daitezke! Aplikatu desplazamendu-murrizketa gainazalari lehenengo, gero aplikatu murrizketa gainazalari @@ -2523,7 +2523,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskPostClip - + Clip region, choose implicit function Ebaki eskualdea, aukeratu funtzio inplizitua @@ -2531,7 +2531,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskPostCut - + Function cut, choose implicit function Funtzio moztua, aukeratu funtzio inplizitua @@ -2539,12 +2539,12 @@ Zehaztu beste fitxategi bat. FemGui::TaskPostDataAlongLine - + Data along a line options Lerro baten luzeran dauden datuen aukerak - + Length X-Axis plot label Luzera @@ -2553,12 +2553,12 @@ Zehaztu beste fitxategi bat. FemGui::TaskPostDataAtPoint - + Data at point options Puntu bateko datuek aukerak - + %1 at (%2; %3; %4) is: %5 %6 %1 hemen: (%2; %3; %4) honakoa da: %5 %6 @@ -2566,7 +2566,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskPostDisplay - + Result display options Emaitza erakusteko aukerak @@ -2574,7 +2574,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskPostFunction - + Implicit function Funtzio inplizitua @@ -2582,7 +2582,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskPostScalarClip - + Scalar clip options Ebaketa eskalarraren aukerak @@ -2590,7 +2590,7 @@ Zehaztu beste fitxategi bat. FemGui::TaskPostWarpVector - + Warp options Bihurritze-aukerak @@ -2606,7 +2606,7 @@ Zehaztu beste fitxategi bat. FemGui::ViewProviderFemAnalysis - + Activate analysis Aktibatu analisia @@ -2614,12 +2614,12 @@ Zehaztu beste fitxategi bat. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Hutsegitea amarauna sortzean - + The FEM module is built without NETGEN support. Meshing will not work!!! FEM modulua NETGEN euskarririk gabe sortu da. Amaraunek ez dute funtzionatuko!!! @@ -2627,15 +2627,15 @@ Zehaztu beste fitxategi bat. FemMaterial - + FEM material FEM materiala + - Material Materiala @@ -2660,9 +2660,9 @@ Zehaztu beste fitxategi bat. Materialaren izena + - TextLabel Testu-etiketa @@ -3008,17 +3008,17 @@ Zehaztu beste fitxategi bat. - - - + + + 0 mm 0 mm @@ -3033,11 +3033,11 @@ Zehaztu beste fitxategi bat. Zentrifugazio-parametroa + - - + Parameter Parametroa @@ -3067,13 +3067,13 @@ Zehaztu beste fitxategi bat. Sekzio-inprimatzearen parametroa - - + + - + + - Constraint Properties Murrizketa-propietateak @@ -3088,9 +3088,12 @@ Zehaztu beste fitxategi bat. Potentziala: - - - + + + + + + @@ -3103,18 +3106,15 @@ Zehaztu beste fitxategi bat. + + + - - - - - - unspecified zehaztu gabea @@ -3141,16 +3141,16 @@ with a harmonic/oscillating driving force duten ekuazioetan soilik erabiltzen da + - Real Erreala + - Imaginary Irudikaria @@ -3170,9 +3170,9 @@ duten ekuazioetan soilik erabiltzen da Potentzial eskalar baten zati irudikaria + - x x @@ -3191,9 +3191,9 @@ Note: has no effect if a solid was selected Oharra: ez du eraginik solido bat hautatu bada + - y y @@ -3212,9 +3212,9 @@ Note: has no effect if a solid was selected Oharra: ez du eraginik solido bat hautatu bada + - z z @@ -3279,8 +3279,8 @@ Oharra: ez du eraginik solido bat hautatu bada Habe-sekzioaren parametroa - + Cross section parameter Zeharkako sekzioaren parametroa @@ -3331,30 +3331,30 @@ Oharra: ez du eraginik solido bat hautatu bada Biraketa: - - - + + + formula formula - + Velocity x: X abiadura: - + Velocity y: Y abiadura: - + Velocity z: Z abiadura: @@ -3484,14 +3484,14 @@ Oharra: 2D kasuetan soilik, X-en ezarpena posible da, Potentzialaren Y osagaiaren zati irudikaria - + Real part of potential z-component Potentzialaren Z osagaiaren zati erreala - + Imaginary part of potential z-component Potentzialaren Z osagaiaren zati irudikaria @@ -3557,11 +3557,6 @@ Oharra: 2D kasuetan soilik, X-en ezarpena posible da, PlaneWidget - - - Form - Inprimakia - x @@ -3616,36 +3611,36 @@ Oharra: 2D kasuetan soilik, X-en ezarpena posible da, Editatu murrizketa - - - - - - - - + + + + + + + + A dialog is already open in the task panel Elkarrizketa-koadro bat irekita dago ataza-panelean - - - - - - - - + + + + + + + + Do you want to close this dialog? Koadro hori itxi nahi duzu? - + Meshing Amarauna sortzea - + Constraint force Murrizketa-indarra @@ -3667,42 +3662,42 @@ Oharra: 2D kasuetan soilik, X-en ezarpena posible da, Inportatu-Esportatu - + Constraint Contact Murriztu kontaktua - + Constraint displacement Murriztu desplazamendua - + Constraint fixed Murriztu finkoa - + Constraint fluid boundary Murriztu jariakin-mugak - + Constraint heat flux Bero-fluxuaren murrizketa - + Constraint initial temperature Murriztu hasierako tenperatura - + Constraint planerotation Murriztu plano-biraketa - + Constraint pressure Murriztu presioa @@ -3712,22 +3707,22 @@ Oharra: 2D kasuetan soilik, X-en ezarpena posible da, Polea-murrizketa - + Constraint spring Murriztu malgukia - + Constraint temperature Murriztu tenperatura - + Constraint transform Murriztu transformazioa - + Edit post processing object Editatu post-prozesuko objektua @@ -4076,11 +4071,6 @@ Balizko aldagaietarako, ikusi beheko deskribapen-koadroa. SphereWidget - - - Form - Inprimakia - x @@ -4117,11 +4107,6 @@ Balizko aldagaietarako, ikusi beheko deskribapen-koadroa. TaskAnalysisInfo - - - Form - Inprimakia - Meshes: @@ -4135,11 +4120,6 @@ Balizko aldagaietarako, ikusi beheko deskribapen-koadroa. TaskCreateNodeSet - - - Form - Inprimakia - Volume @@ -4191,21 +4171,8 @@ Balizko aldagaietarako, ikusi beheko deskribapen-koadroa. Gelditze-angelua: - - TaskDriver - - - Form - Inprimakia - - TaskFemConstraint - - - Form - Inprimakia - Add reference @@ -4254,11 +4221,6 @@ Balizko aldagaietarako, ikusi beheko deskribapen-koadroa. TaskFemConstraintBearing - - - Form - Inprimakia - Add reference @@ -4327,11 +4289,6 @@ Balizko aldagaietarako, ikusi beheko deskribapen-koadroa. TaskFemConstraintContact - - - Form - Inprimakia - Select master face, click Add or Remove @@ -4472,11 +4429,6 @@ fluxuak sortutako gainazal-indarra TaskFemConstraintFixed - - - Form - Inprimakia - Select multiple face(s), click Add or Remove @@ -4495,11 +4447,6 @@ fluxuak sortutako gainazal-indarra TaskFemConstraintFluidBoundary - - - Form - Inprimakia - Boundary @@ -4732,11 +4679,6 @@ norabidea erabiliko da norabide gisa TaskFemConstraintPlaneRotation - - - Form - Inprimakia - Select a single face, click Add or Remove @@ -4755,11 +4697,6 @@ norabidea erabiliko da norabide gisa TaskFemConstraintPressure - - - Form - Inprimakia - Select multiple face(s), click Add or Remove @@ -4793,11 +4730,6 @@ norabidea erabiliko da norabide gisa TaskFemConstraintSpring - - - Form - Inprimakia - Select multiple face(s), click Add or Remove @@ -4838,11 +4770,6 @@ Elmer ebazlean TaskFemConstraintTemperature - - - Form - Inprimakia - Select multiple face(s), click Add or Remove @@ -4872,11 +4799,6 @@ Elmer ebazlean TaskFemConstraintTransform - - - Form - Inprimakia - Rectangular transform @@ -4924,21 +4846,8 @@ Elmer ebazlean Gainazal transformagarriak - - TaskObjectName - - - Form - Inprimakia - - TaskPostClip - - - Form - Inprimakia - Create @@ -4957,11 +4866,6 @@ Elmer ebazlean TaskPostCut - - - Form - Inprimakia - Create @@ -4970,11 +4874,6 @@ Elmer ebazlean TaskPostDataAlongLine - - - Form - Inprimakia - Coordinates @@ -5076,11 +4975,6 @@ Elmer ebazlean TaskPostDisplay - - - Form - Inprimakia - Mode @@ -5158,11 +5052,6 @@ Elmer ebazlean TaskPostScalarClip - - - Form - Inprimakia - Scalar @@ -5211,11 +5100,6 @@ Elmer ebazlean TaskPostWarpVector - - - Form - Inprimakia - Vector @@ -5244,11 +5128,6 @@ Elmer ebazlean TaskTetParameter - - - Form - Inprimakia - Max. Size: @@ -6390,11 +6269,6 @@ indar magnetodinamikoetarako TaskPostContours - - - Form - Inprimakia - Vector: @@ -6455,7 +6329,7 @@ indar magnetodinamikoetarako FemGui::TaskPostContours - + Contours filter options Ingeraden iragazkiaren aukerak diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts index f14b7b73e0..6f66617194 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Luo funktio - + Create pipeline from result Create pipeline from result - + Edit Mirror Edit Mirror @@ -1017,12 +1017,12 @@ Taajuuden alaraja - + File does not exist Tiedostoa ei ole olemassa - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist Tiedostoa ei ole olemassa - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist Tiedostoa ei ole olemassa - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist Tiedostoa ei ole olemassa - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist Tiedostoa ei ole olemassa - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Väärä tiedosto - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Syötteen virhe @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Syötteen virhe @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Syötteen virhe @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Syötteen virhe @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Syötteen virhe - + Please specify a force greater than 0 Anna nollasta eroava kuorma @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Syötteen virhe @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Syötteen virhe @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Syötteen virhe @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Syötteen virhe @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Syötteen virhe @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Syötteen virhe @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Muokkaa verkkoa - + Meshing failure Verkotusvirhe @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Syötteen virhe @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Valintavirhe @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Mitään ei ole valittu! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Valittu objekti ei ole osa (part)! - - + + Only faces can be picked Vain tahkoja voidaan poimia - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Valintavirhe - - + + Nothing selected! Mitään ei ole valittu! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Valintavirhe - - + + Nothing selected! Mitään ei ole valittu! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Valintavirhe - - + + Nothing selected! Mitään ei ole valittu! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Valintavirhe - + Nothing selected! Mitään ei ole valittu! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Virheellinen valinta - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Valintavirhe - - + + Nothing selected! Mitään ei ole valittu! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Valintavirhe - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Mitään ei ole valittu! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! - + Only faces can be picked Vain tahkoja voidaan poimia - + Only planar faces can be picked Vain tasopinnat on poimittavissa @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Valintavirhe - - + + Nothing selected! Mitään ei ole valittu! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! - + Only faces can be picked Vain tahkoja voidaan poimia @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Valintavirhe - - + + Nothing selected! Mitään ei ole valittu! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! - + Only faces can be picked Vain tahkoja voidaan poimia @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Valintavirhe - - + + Nothing selected! Mitään ei ole valittu! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Valintavirhe - - + + Nothing selected! Mitään ei ole valittu! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Valittu objekti ei ole osa (part)! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Vain tahkoja voidaan poimia - + Only cylindrical faces can be picked Vain sylinteripintoja voidaan poimia - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Pituus @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Aktivoi analyysi @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Verkotusvirhe - + The FEM module is built without NETGEN support. Meshing will not work!!! FEM-moduuli in käännetty ilman NETGEN tukea. Verkotus ei toimi! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Materiaali @@ -2659,9 +2659,9 @@ Specify another file please. Materiaalin nimi + - TextLabel TekstiSelite @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Parametri @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Lomake - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, Muokkaa rajoitusta - - - - - - - - + + + + + + + + A dialog is already open in the task panel Valintaikkuna on jo avoinna tehtäväpaneelissa - - - - - - - - + + + + + + + + Do you want to close this dialog? Haluatko sulkea tämän valintaikkunan? - + Meshing Verkkopinnan käyttö - + Constraint force Rajoitevoima @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, Tuo/Vie - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Lomake - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Lomake - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Lomake - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. Lopetuskulma: - - TaskDriver - - - Form - Lomake - - TaskFemConstraint - - - Form - Lomake - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Lomake - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Lomake - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Lomake - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Lomake - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Lomake - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Lomake - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Lomake - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Lomake - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Lomake - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Lomake - - TaskPostClip - - - Form - Lomake - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Lomake - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Lomake - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Lomake - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Lomake - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Lomake - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Lomake - Max. Size: @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - Lomake - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts index dcf5607337..61d0047f67 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts @@ -6,7 +6,7 @@ Fem - Fem + FEM @@ -24,7 +24,7 @@ Fem - Fem + FEM @@ -42,7 +42,7 @@ Fem - Fem + FEM @@ -60,7 +60,7 @@ Fem - Fem + FEM @@ -78,7 +78,7 @@ Fem - Fem + FEM @@ -96,7 +96,7 @@ Fem - Fem + FEM @@ -114,7 +114,7 @@ Fem - Fem + FEM @@ -132,7 +132,7 @@ Fem - Fem + FEM @@ -150,7 +150,7 @@ Fem - Fem + FEM @@ -168,7 +168,7 @@ Fem - Fem + FEM @@ -186,7 +186,7 @@ Fem - Fem + FEM @@ -204,7 +204,7 @@ Fem - Fem + FEM @@ -222,7 +222,7 @@ Fem - Fem + FEM @@ -240,7 +240,7 @@ Fem - Fem + FEM @@ -258,7 +258,7 @@ Fem - Fem + FEM @@ -276,7 +276,7 @@ Fem - Fem + FEM @@ -291,7 +291,7 @@ Wrong selection - Sélection invalide + Sélection incorrecte @@ -304,7 +304,7 @@ Fem - Fem + FEM @@ -323,7 +323,7 @@ Fem - Fem + FEM @@ -341,7 +341,7 @@ Fem - Fem + FEM @@ -350,13 +350,13 @@ - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region Définir/créer un filtre d'écrêtage qui utilisera des fonctions pour définir la région écrêtée Wrong selection - Sélection invalide + Sélection incorrecte @@ -369,7 +369,7 @@ Fem - Fem + FEM @@ -387,7 +387,7 @@ Fem - Fem + FEM @@ -405,7 +405,7 @@ Fem - Fem + FEM @@ -423,7 +423,7 @@ Fem - Fem + FEM @@ -497,7 +497,7 @@ Fem - Fem + FEM @@ -513,7 +513,7 @@ Wrong selection - Sélection invalide + Sélection incorrecte @@ -527,7 +527,7 @@ Fem - Fem + FEM @@ -540,12 +540,12 @@ Créer un pipeline de post-traitement à partir d'un objet résultat - + Wrong selection type Type de sélection incorrect - + Select a result object, please. Sélectionnez un objet résultat, s'il vous plaît. @@ -555,7 +555,7 @@ Fem - Fem + FEM @@ -573,7 +573,7 @@ Fem - Fem + FEM @@ -689,14 +689,14 @@ Créer une fonction - + Create pipeline from result Créer un pipeline à partir du résultat - + Edit Mirror - Editer le miroir + Éditer le miroir @@ -907,7 +907,7 @@ Default - Défaut + Par défaut @@ -1017,12 +1017,12 @@ Limite de la fréquence basse - + File does not exist Le fichier n'existe pas - + The specified executable '%1' does not exist! @@ -1121,36 +1121,34 @@ Remarque : pour utiliser le multithreading, spécifier ici la variante exécutab <html><head/><body><p><span style=" font-weight:600;">Remarque :</span> il est recommandé d'utiliser un nombre pair de cœurs pour bénéficier de la symétrie de maillage. (utiliser 8 cœurs peut être plus rapide qu'avec 9 cœurs.)<br/><span style=" font-weight:600;">Autre remarque :</span> dans les cas extrêmes, le solveur Elmer ne peut pas converger si le nombre de coeurs est trop élevé.</p></body></html> - + File does not exist Le fichier n'existe pas - + The specified executable '%1' does not exist! Specify another file please. - L'exécutable -'%1' - spécifié n'existe pas ! + L'exécutable '%1' spécifié n'existe pas ! Veuillez spécifiez un autre fichier. - - + + FEM Elmer: Not suitable for multithreading Elmer FEM : ne convient pas pour le multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Mauvais réglage d'Elmer : vous utilisez plus d'un cœur du CPU. Un exécutable avec le suffixe "_mpi.exe" est donc requis. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Mauvais réglage d'Elmer : vous utilisez plus d'un cœur du CPU. @@ -1340,7 +1338,7 @@ lorsque la boîte de dialogue des résultats est ouverte Defaults - Valeurs par défaut + Par défaut @@ -1356,7 +1354,7 @@ adding an analysis container None - Aucun + Rien @@ -1387,19 +1385,17 @@ adding an analysis container Laisser vide pour utiliser le fichier binaire de Gmsh par défaut - + File does not exist Le fichier n'existe pas - + The specified executable '%1' does not exist! Specify another file please. - L'exécutable -'%1' - spécifié n'existe pas ! + L'exécutable '%1' spécifié n'existe pas ! Veuillez spécifiez un autre fichier. @@ -1413,7 +1409,7 @@ Veuillez spécifiez un autre fichier. Import - Importation + Importer @@ -1577,12 +1573,12 @@ Si elles ne sont pas cochées, elles seront triées par leur nom. Écrire des commentaires dans le fichier d'entrée - + File does not exist Le fichier n'existe pas - + The specified executable '%1' does not exist! @@ -1687,12 +1683,12 @@ un solveur itératif et que vous obtenez le message d'erreur indiquant que "MAXKOI" doit être augmenté. - + File does not exist Le fichier n'existe pas - + The specified z88r executable '%1' does not exist! @@ -1703,18 +1699,18 @@ Specify another file please. Veuillez spécifier un autre fichier. - - + + Wrong file Fichier incorrect - + You must specify the path to the z88r.exe! Vous devez spécifier le chemin vers z88r.exe ! - + You must specify the path to the z88r! Vous devez spécifier le chemin vers Z88! @@ -1752,7 +1748,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintBearing - + Input error Erreur de saisie @@ -1760,7 +1756,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintContact - + Input error Erreur de saisie @@ -1768,7 +1764,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintDisplacement - + Input error Erreur de saisie @@ -1776,7 +1772,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Erreur de saisie @@ -1784,13 +1780,13 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintForce - - + + Input error Erreur de saisie - + Please specify a force greater than 0 Veuillez préciser une force supérieure à 0 @@ -1806,7 +1802,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintHeatflux - + Input error Erreur de saisie @@ -1814,8 +1810,8 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Erreur de saisie @@ -1823,7 +1819,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintPressure - + Input error Erreur de saisie @@ -1839,7 +1835,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintSpring - + Input error Erreur de saisie @@ -1847,7 +1843,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintTemperature - + Input error Erreur de saisie @@ -1855,7 +1851,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgFemConstraintTransform - + Input error Erreur de saisie @@ -1863,12 +1859,12 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Modifier le maillage FEM - + Meshing failure Échec du maillage @@ -1876,7 +1872,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskDlgPost - + Input error Erreur de saisie @@ -1955,22 +1951,22 @@ Veuillez spécifier un autre fichier. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Erreur de sélection @@ -1980,46 +1976,46 @@ Veuillez spécifier un autre fichier. Une seule face dans l'objet ! - déplacé vers la face principale - - + + Only one master face and one slave face for a contact constraint! Une seule face maître et une seule face esclave pour une contrainte de contact! - - - - + + + + Nothing selected! Aucune sélection ! - - + + Only one slave face for a contact constraint! Une seule face esclave pour une contrainte de contact! - - - - + + + + Selected object is not a part! L'élément sélectionné n'est pas une part ! - - + + Only faces can be picked Seules des faces peuvent être selectionnées - + Only one master for a contact constraint! Un seul maître pour une contrainte de contact! - + Only one master face for a contact constraint! Une seule face maître pour une contrainte de contact! @@ -2027,28 +2023,28 @@ Veuillez spécifier un autre fichier. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Erreur de sélection - - + + Nothing selected! - Aucune sélection ! + Rien n'a été sélectionné ! - - + + Selected object is not a part! - L'élément sélectionné n'est pas une part ! + L'objet sélectionné n'est pas une pièce ! - + Only one type of selection (vertex,face or edge) per constraint allowed! Un seul type de sélection (sommet, face ou arête) par contrainte autorisée ! @@ -2056,30 +2052,30 @@ Veuillez spécifier un autre fichier. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Erreur de sélection - - + + Nothing selected! - Aucune sélection ! + Rien n'a été sélectionné ! - - + + Selected object is not a part! - L'élément sélectionné n'est pas une part ! + L'objet sélectionné n'est pas une pièce ! - + Only one type of selection (vertex,face or edge) per constraint allowed! - Un seul type de sélection (sommet, face ou arête) par contrainte autorisée ! + Un seul type de sélection (sommet, face ou arête) est autorisé par contrainte ! @@ -2157,7 +2153,7 @@ Veuillez spécifier un autre fichier. Wrong selection - Sélection invalide + Sélection incorrecte @@ -2185,68 +2181,68 @@ Veuillez spécifier un autre fichier. Seules les faces en 3D ou les arêtes en 2D peuvent être sélectionnées - - - - - + + + + + Selection error Erreur de sélection - - + + Nothing selected! - Aucune sélection ! + Rien n'a été sélectionné ! - - + + Selected object is not a part! - L'élément sélectionné n'est pas une part ! + L'objet sélectionné n'est pas une pièce ! - + Only one type of selection (vertex,face or edge) per constraint allowed! - Un seul type de sélection (sommet, face ou arête) par contrainte autorisée ! + Un seul type de sélection (sommet, face ou arête) est autorisé par contrainte ! FemGui::TaskFemConstraintForce - - - - + + + + Selection error Erreur de sélection - + Nothing selected! Aucune sélection ! - - + + Selected object is not a part! L'élément sélectionné n'est pas une part ! - + Only one type of selection (vertex,face or edge) per constraint allowed! Un seul type de sélection (sommet, face ou arête) par contrainte autorisée ! - - + + Wrong selection Sélection invalide - + Select an edge or a face, please. Sélectionnez une arête ou une face, s'il vous plaît. @@ -2279,30 +2275,30 @@ Veuillez spécifier un autre fichier. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Erreur de sélection - - + + Nothing selected! - Aucune sélection ! + Rien n'a été sélectionné ! - - + + Selected object is not a part! - L'élément sélectionné n'est pas une part ! + L'objet sélectionné n'est pas une pièce ! - - + + Selection must only consist of faces! La sélection ne doit se composer que de faces ! @@ -2310,42 +2306,42 @@ Veuillez spécifier un autre fichier. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Erreur de sélection - - + + Only one face can be selected for a plane rotation constraint! Une seule face peut être sélectionnée pour une contrainte de rotation plane ! - - + + Nothing selected! - Aucune sélection ! + Rien n'a été sélectionné ! - - + + Selected object is not a part! - L'élément sélectionné n'est pas une part ! + L'objet sélectionné n'est pas une pièce ! - + Only faces can be picked Seules des faces peuvent être selectionnées - + Only planar faces can be picked Seulement les faces planes peuvent être sélectionnées @@ -2353,28 +2349,28 @@ Veuillez spécifier un autre fichier. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Erreur de sélection - - + + Nothing selected! - Aucune sélection ! + Rien n'a été sélectionné ! - - + + Selected object is not a part! - L'élément sélectionné n'est pas une part ! + L'objet sélectionné n'est pas une pièce ! - + Only faces can be picked Seules des faces peuvent être selectionnées @@ -2395,28 +2391,28 @@ Veuillez spécifier un autre fichier. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Erreur de sélection - - + + Nothing selected! - Aucune sélection ! + Rien n'a été sélectionné ! - - + + Selected object is not a part! - L'élément sélectionné n'est pas une part ! + L'objet sélectionné n'est pas une pièce ! - + Only faces can be picked Seules des faces peuvent être selectionnées @@ -2424,24 +2420,24 @@ Veuillez spécifier un autre fichier. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Erreur de sélection - - + + Nothing selected! - Aucune sélection ! + Rien n'a été sélectionné ! - - + + Selected object is not a part! - L'élément sélectionné n'est pas une part ! + L'objet sélectionné n'est pas une pièce ! @@ -2457,54 +2453,54 @@ Veuillez spécifier un autre fichier. Les faces déformables ont changé. Veuillez ajouter uniquement les faces déformables et supprimer les faces non déformables! - - - - - - - - - - + + + + + + + + + + Selection error Erreur de sélection - - + + Nothing selected! - Aucune sélection ! + Rien n'a été sélectionné ! - - + + Only one face for rectangular transform constraint! Une seule face pour une contrainte de déformation rectangulaire ! - - + + Selected object is not a part! - L'élément sélectionné n'est pas une part ! + L'objet sélectionné n'est pas une pièce ! - + Only one face for transform constraint! Une seule face pour une contrainte de transformation ! - + Only faces can be picked Seules des faces peuvent être selectionnées - + Only cylindrical faces can be picked Seules des faces cylindriques peuvent être sélectionnées - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Seules les faces déformables peuvent être sélectionnées! Appliquez d'abord la contrainte de déplacement à la surface puis appliquez la contrainte à la surface @@ -2520,7 +2516,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskPostClip - + Clip region, choose implicit function Région d'écrêtage, choisissez une fonction implicite @@ -2528,7 +2524,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskPostCut - + Function cut, choose implicit function Coupe de fonction, choisissez une fonction implicite @@ -2536,12 +2532,12 @@ Veuillez spécifier un autre fichier. FemGui::TaskPostDataAlongLine - + Data along a line options Options des données le long d'une ligne - + Length X-Axis plot label Longueur @@ -2550,12 +2546,12 @@ Veuillez spécifier un autre fichier. FemGui::TaskPostDataAtPoint - + Data at point options Options des données au point - + %1 at (%2; %3; %4) is: %5 %6 %1 à (%2; %3; %4) est : %5 %6 @@ -2563,7 +2559,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskPostDisplay - + Result display options Options d'affichage des résultats @@ -2571,7 +2567,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskPostFunction - + Implicit function Fonction implicite @@ -2579,7 +2575,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskPostScalarClip - + Scalar clip options Options de l'écrêtage scalaire @@ -2587,7 +2583,7 @@ Veuillez spécifier un autre fichier. FemGui::TaskPostWarpVector - + Warp options Options de la déformation @@ -2603,7 +2599,7 @@ Veuillez spécifier un autre fichier. FemGui::ViewProviderFemAnalysis - + Activate analysis Activer l'analyse @@ -2611,12 +2607,12 @@ Veuillez spécifier un autre fichier. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Échec du maillage - + The FEM module is built without NETGEN support. Meshing will not work!!! Le module FEM est construit sans le support de NETGEN. Le maillage ne fonctionnera pas!!! @@ -2624,15 +2620,15 @@ Veuillez spécifier un autre fichier. FemMaterial - + FEM material Matériau FEM + - Material Matériau @@ -2657,11 +2653,11 @@ Veuillez spécifier un autre fichier. Nom du matériau + - TextLabel - TextLabel + Étiquette de texte @@ -3005,17 +3001,17 @@ Veuillez spécifier un autre fichier. - - - + + + 0 mm 0 mm @@ -3030,11 +3026,11 @@ Veuillez spécifier un autre fichier. Paramètre de centrifugation + - - + Parameter Paramètre @@ -3064,13 +3060,13 @@ Veuillez spécifier un autre fichier. Paramètre d'affichage de la section - - + + - + + - Constraint Properties Propriétés de contrainte @@ -3085,9 +3081,12 @@ Veuillez spécifier un autre fichier. Potentiel : - - - + + + + + + @@ -3100,18 +3099,15 @@ Veuillez spécifier un autre fichier. + + + - - - - - - unspecified non spécifié @@ -3138,16 +3134,16 @@ with a harmonic/oscillating driving force avec une force motrice harmonique ou oscillante + - Real Réel + - Imaginary Imaginaire @@ -3167,9 +3163,9 @@ avec une force motrice harmonique ou oscillante Partie imaginaire du potentiel scalaire + - x x @@ -3188,9 +3184,9 @@ Note: has no effect if a solid was selected Remarque : n'a pas d'effet si un solide a été sélectionné + - y y @@ -3209,9 +3205,9 @@ Note: has no effect if a solid was selected Remarque : n'a pas d'effet si un solide a été sélectionné + - z z @@ -3276,8 +3272,8 @@ Remarque : n'a pas d'effet si un solide a été sélectionné Paramètre de la section de l'élément de type poutre - + Cross section parameter Paramètre de section de passage @@ -3328,30 +3324,30 @@ Remarque : n'a pas d'effet si un solide a été sélectionné Rotation : - - - + + + formula formule - + Velocity x: Vitesse x : - + Velocity y: Vitesse y: - + Velocity z: Vitesse z: @@ -3481,14 +3477,14 @@ Remarque : pour la 2D, seul le réglage en x est possible, Partie imaginaire de la composante en y du potentiel - + Real part of potential z-component Partie réelle de la composante en z du potentiel - + Imaginary part of potential z-component Partie imaginaire de la composante en z du potentiel @@ -3554,11 +3550,6 @@ Remarque : pour la 2D, seul le réglage en x est possible, PlaneWidget - - - Form - Forme - x @@ -3613,36 +3604,36 @@ Remarque : pour la 2D, seul le réglage en x est possible, Modifier la contrainte - - - - - - - - + + + + + + + + A dialog is already open in the task panel - Une boîte de dialogue est déjà ouverte dans le panneau des tâches + Une fenêtre de dialogue est déjà ouverte dans le panneau des tâches - - - - - - - - + + + + + + + + Do you want to close this dialog? - Voulez-vous fermer cette boîte de dialogue? + Voulez-vous fermer cette fenêtre de dialogue? - + Meshing Maillage - + Constraint force Contrainte de force @@ -3661,45 +3652,45 @@ Remarque : pour la 2D, seul le réglage en x est possible, Import-Export - Importer/Exporter + Importer-Exporter - + Constraint Contact Contrainte de contact - + Constraint displacement Contrainte de déplacement - + Constraint fixed Contrainte d'immobilisation - + Constraint fluid boundary Contrainte de limite du fluide - + Constraint heat flux Contrainte de flux de chaleur - + Constraint initial temperature Contrainte de température initiale - + Constraint planerotation Contrainte de rotation du plan - + Constraint pressure Contrainte de pression @@ -3709,22 +3700,22 @@ Remarque : pour la 2D, seul le réglage en x est possible, Contrainte de poulie - + Constraint spring Contrainte de ressort - + Constraint temperature Contrainte de température - + Constraint transform Contrainte de déformation - + Edit post processing object Modifier le post-traitement de l'objet @@ -4073,11 +4064,6 @@ Pour les variables possibles, voir la zone de description ci-dessous. SphereWidget - - - Form - Forme - x @@ -4114,11 +4100,6 @@ Pour les variables possibles, voir la zone de description ci-dessous. TaskAnalysisInfo - - - Form - Forme - Meshes: @@ -4132,11 +4113,6 @@ Pour les variables possibles, voir la zone de description ci-dessous. TaskCreateNodeSet - - - Form - Forme - Volume @@ -4188,21 +4164,8 @@ Pour les variables possibles, voir la zone de description ci-dessous.Angle d'arrêt : - - TaskDriver - - - Form - Forme - - TaskFemConstraint - - - Form - Forme - Add reference @@ -4251,11 +4214,6 @@ Pour les variables possibles, voir la zone de description ci-dessous. TaskFemConstraintBearing - - - Form - Forme - Add reference @@ -4324,11 +4282,6 @@ Pour les variables possibles, voir la zone de description ci-dessous. TaskFemConstraintContact - - - Form - Forme - Select master face, click Add or Remove @@ -4467,11 +4420,6 @@ générée par l'écoulement (l'option ne s'applique qu'au solveur Elmer) TaskFemConstraintFixed - - - Form - Forme - Select multiple face(s), click Add or Remove @@ -4490,11 +4438,6 @@ générée par l'écoulement (l'option ne s'applique qu'au solveur Elmer) TaskFemConstraintFluidBoundary - - - Form - Forme - Boundary @@ -4560,7 +4503,7 @@ vecteur normal de la face est utilisée comme sens Page - Feuille + Page @@ -4727,11 +4670,6 @@ vecteur normal de la face est utilisée comme sens TaskFemConstraintPlaneRotation - - - Form - Forme - Select a single face, click Add or Remove @@ -4750,11 +4688,6 @@ vecteur normal de la face est utilisée comme sens TaskFemConstraintPressure - - - Form - Forme - Select multiple face(s), click Add or Remove @@ -4788,11 +4721,6 @@ vecteur normal de la face est utilisée comme sens TaskFemConstraintSpring - - - Form - Forme - Select multiple face(s), click Add or Remove @@ -4832,11 +4760,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Forme - Select multiple face(s), click Add or Remove @@ -4866,11 +4789,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Forme - Rectangular transform @@ -4918,21 +4836,8 @@ used for the Elmer solver Surfaces transformables - - TaskObjectName - - - Form - Forme - - TaskPostClip - - - Form - Forme - Create @@ -4951,11 +4856,6 @@ used for the Elmer solver TaskPostCut - - - Form - Forme - Create @@ -4964,11 +4864,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Forme - Coordinates @@ -5070,11 +4965,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Forme - Mode @@ -5152,11 +5042,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Forme - Scalar @@ -5205,11 +5090,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Forme - Vector @@ -5238,11 +5118,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Forme - Max. Size: @@ -5461,7 +5336,7 @@ used for the Elmer solver Solve - Résoudre + Solveur @@ -6124,7 +5999,7 @@ used for the Elmer solver Run - Lancer + Exécuter @@ -6343,7 +6218,7 @@ Veuillez d'abord sélectionner un type de résultat. Fem - Fem + FEM @@ -6381,11 +6256,6 @@ Veuillez d'abord sélectionner un type de résultat. TaskPostContours - - - Form - Forme - Vector: @@ -6412,7 +6282,7 @@ Veuillez d'abord sélectionner un type de résultat. Fem - Fem + FEM @@ -6430,7 +6300,7 @@ Veuillez d'abord sélectionner un type de résultat. Fem - Fem + FEM @@ -6446,7 +6316,7 @@ Veuillez d'abord sélectionner un type de résultat. FemGui::TaskPostContours - + Contours filter options Options du filtre par contours @@ -6538,7 +6408,7 @@ Veuillez d'abord sélectionner un type de résultat. Axis - Axe + Axes @@ -6551,7 +6421,7 @@ Veuillez d'abord sélectionner un type de résultat. Fem - Fem + FEM diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_gl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_gl.ts index 5699e8f2a0..3b06767a65 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_gl.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_gl.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Edit Mirror @@ -1017,12 +1017,12 @@ Limite de baixa frecuencia - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist File does not exist - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Input error @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Input error @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Input error @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Input error @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Input error - + Please specify a force greater than 0 Por favor especifique unha forza maior que 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Input error @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Input error @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Input error @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Input error @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Input error @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Input error @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Editar malla FEM - + Meshing failure Falla na xeración de malla @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Input error @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Erro de selección @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Nada escolmado! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! O obxecto escolmado non é unha peza! - - + + Only faces can be picked Sómente se poden coller faces - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Erro de selección - - + + Nothing selected! Nada escolmado! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Erro de selección - - + + Nothing selected! Nada escolmado! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Erro de selección - - + + Nothing selected! Nada escolmado! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Erro de selección - + Nothing selected! Nada escolmado! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Escolma errada - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Erro de selección - - + + Nothing selected! Nada escolmado! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Erro de selección - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Nada escolmado! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! - + Only faces can be picked Sómente se poden coller faces - + Only planar faces can be picked Sómente se poden coller faces planas @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Erro de selección - - + + Nothing selected! Nada escolmado! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! - + Only faces can be picked Sómente se poden coller faces @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Erro de selección - - + + Nothing selected! Nada escolmado! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! - + Only faces can be picked Sómente se poden coller faces @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Erro de selección - - + + Nothing selected! Nada escolmado! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Erro de selección - - + + Nothing selected! Nada escolmado! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! O obxecto escolmado non é unha peza! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Sómente se poden coller faces - + Only cylindrical faces can be picked Sómente se poden coller faces cilíndricas - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Lonxitude @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Activar análise @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Falla na xeración de malla - + The FEM module is built without NETGEN support. Meshing will not work!!! O módulo FEM está construído sen soporte NETGEN. O xerador de mallas non funcionará!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material Material FEM + - Material Material @@ -2659,9 +2659,9 @@ Specify another file please. Material name + - TextLabel TextLabel @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Parámetro @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected Rotación: - - - + + + formula formula - + Velocity x: Velocidade x: - + Velocity y: Velocidade y: - + Velocity z: Velocidade z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Formulario - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, Editar constrición - - - - - - - - + + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - - + + + + + + + + Do you want to close this dialog? Do you want to close this dialog? - + Meshing Malla - + Constraint force Constrición de forza @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, Importar-Exportar - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Formulario - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Formulario - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Formulario - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. Ángulo de parada: - - TaskDriver - - - Form - Formulario - - TaskFemConstraint - - - Form - Formulario - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Formulario - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Formulario - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Formulario - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Formulario - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Formulario - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Formulario - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Formulario - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Formulario - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Formulario - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Formulario - - TaskPostClip - - - Form - Formulario - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Formulario - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Formulario - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Formulario - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Formulario - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Formulario - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Formulario - Max. Size: @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - Formulario - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts index 66d5af9d5d..aa371adbc4 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts @@ -354,8 +354,8 @@ Ograničenje kontakta - Define/create a clip filter which uses functions to define the cliped region - Definiraj/kreiraj filtar odsječka koji koristi funkciju kako bi definirao odsječenu regiju + Define/create a clip filter which uses functions to define the clipped region + Definiraj/kreiraj filtar isječka koji koristi funkciju kako bi definirao isječenu regiju @@ -544,12 +544,12 @@ Ograničenje kontakta Kreira post-procesnu pipeline iz objekta rezultata. - + Wrong selection type Pogrešan tip odabira - + Select a result object, please. Molim odaberite rezultatni objekt @@ -693,12 +693,12 @@ Ograničenje kontakta Stvori funkciju - + Create pipeline from result Stvori proces od rezultata - + Edit Mirror Uredi zrcaljenje @@ -1021,12 +1021,12 @@ Ograničenje kontakta Ograničenje donje frekvencije - + File does not exist Datoteka ne postoji - + The specified executable '%1' does not exist! @@ -1125,12 +1125,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Napomena:</span> Preporuča se koristiti paran broj jezgri kako bi se iskoristile simetrije mreže. (Korištenje 8 jezgri može biti brže od korištenja 9 jezgri.)<br/><span style=" font-weight:600;">Napomena:</span> U ekstremnim slučajevima, ElmerSolver se možda neće konvergirati ako je broj jezgri previsok.</p></body></html> - + File does not exist Datoteka ne postoji - + The specified executable '%1' does not exist! @@ -1141,20 +1141,20 @@ Specify another file please. Navedi drugu datoteku. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Nije prikladno za multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Netočna Elmer postavka: Koristite više od jednog CPU jezgra. Stoga je potreban izvršni program s nastavkom '_mpi.exe'. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Netočna Elmer postavka: Koristite više od jednog CPU jezgra. @@ -1395,12 +1395,12 @@ se dodaje kontejner za analizu Ostavite prazno za korištenje zadane gmsh binarne datoteke - + File does not exist Datoteka ne postoji - + The specified executable '%1' does not exist! @@ -1582,12 +1582,12 @@ Ako nije označeno, one će biti sortirane po imenima. Napiši komentare u datoteku unosa - + File does not exist Datoteka ne postoji - + The specified executable '%1' does not exist! @@ -1694,12 +1694,12 @@ iterativni rješavač i dobijete poruku o pogrešci da se "MAXKOI" mora povećati - + File does not exist Datoteka ne postoji - + The specified z88r executable '%1' does not exist! @@ -1710,18 +1710,18 @@ Specify another file please. Navedi drugu datoteku. - - + + Wrong file Pogrešna datoteka - + You must specify the path to the z88r.exe! Moraš odrediti stazu za ovu z88r.exe! - + You must specify the path to the z88r! Moraš odrediti stazu za ovu z88r! @@ -1759,7 +1759,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintBearing - + Input error Pogreška na ulazu @@ -1767,7 +1767,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintContact - + Input error Pogreška na ulazu @@ -1775,7 +1775,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintDisplacement - + Input error Pogreška na ulazu @@ -1783,7 +1783,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Pogreška na ulazu @@ -1791,13 +1791,13 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintForce - - + + Input error Pogreška na ulazu - + Please specify a force greater than 0 Molimo odredite silu koja je veća od 0 @@ -1813,7 +1813,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintHeatflux - + Input error Pogreška na ulazu @@ -1821,8 +1821,8 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Pogreška na ulazu @@ -1830,7 +1830,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintPressure - + Input error Pogreška na ulazu @@ -1846,7 +1846,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintSpring - + Input error Pogreška na ulazu @@ -1854,7 +1854,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintTemperature - + Input error Pogreška na ulazu @@ -1862,7 +1862,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintTransform - + Input error Pogreška na ulazu @@ -1870,12 +1870,12 @@ Navedi drugu datoteku. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Uredi FEM mrežu - + Meshing failure Greška umrežavanja @@ -1883,7 +1883,7 @@ Navedi drugu datoteku. FemGui::TaskDlgPost - + Input error Pogreška na ulazu @@ -1962,22 +1962,22 @@ Navedi drugu datoteku. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Greška odabira @@ -1987,46 +1987,46 @@ Navedi drugu datoteku. Samo jedna površina u objektu! - premještena u glavnu površinu - - + + Only one master face and one slave face for a contact constraint! Samo jedna glavna površina i jedna podređena površina za ograničenje kontakta! - - - - + + + + Nothing selected! Ništa nije odabrano! - - + + Only one slave face for a contact constraint! Samo jedna podređena površina za ograničenje kontakta! - - - - + + + + Selected object is not a part! Odabrani objekt nije jedan dio! - - + + Only faces can be picked Samo naličja se mogu odabrati - + Only one master for a contact constraint! Samo jedan glavni za ograničenje kontakta! - + Only one master face for a contact constraint! Samo jedna glavna površina za ograničenje kontakta! @@ -2034,28 +2034,28 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Greška odabira - - + + Nothing selected! Ništa nije odabrano! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! - + Only one type of selection (vertex,face or edge) per constraint allowed! Samo je jedna vrsta selekcije (vrh, ploha ili rub) po ograničenju dopuštena! @@ -2063,28 +2063,28 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Greška odabira - - + + Nothing selected! Ništa nije odabrano! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! - + Only one type of selection (vertex,face or edge) per constraint allowed! Samo je jedna vrsta selekcije (vrh, ploha ili rub) po ograničenju dopuštena! @@ -2192,28 +2192,28 @@ Navedi drugu datoteku. Samo plohe za 3D dio ili rubovi za 2D mogu se pokupiti - - - - - + + + + + Selection error Greška odabira - - + + Nothing selected! Ništa nije odabrano! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! - + Only one type of selection (vertex,face or edge) per constraint allowed! Samo je jedna vrsta selekcije (vrh, ploha ili rub) po ograničenju dopuštena! @@ -2222,38 +2222,38 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Greška odabira - + Nothing selected! Ništa nije odabrano! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! - + Only one type of selection (vertex,face or edge) per constraint allowed! Samo je jedna vrsta selekcije (vrh, ploha ili rub) po ograničenju dopuštena! - - + + Wrong selection Pogrešan odabir - + Select an edge or a face, please. Molim odaberi rub ili plohu. @@ -2286,30 +2286,30 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Greška odabira - - + + Nothing selected! Ništa nije odabrano! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! - - + + Selection must only consist of faces! Odabrati možete samo plohe! @@ -2317,42 +2317,42 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Greška odabira - - + + Only one face can be selected for a plane rotation constraint! Samo jedna ploha se može odabrati za ograničenje rotacije ravnine! - - + + Nothing selected! Ništa nije odabrano! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! - + Only faces can be picked Samo naličja se mogu odabrati - + Only planar faces can be picked Samo ravna naličja se mogu odabrati @@ -2360,28 +2360,28 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Greška odabira - - + + Nothing selected! Ništa nije odabrano! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! - + Only faces can be picked Samo naličja se mogu odabrati @@ -2402,28 +2402,28 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Greška odabira - - + + Nothing selected! Ništa nije odabrano! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! - + Only faces can be picked Samo naličja se mogu odabrati @@ -2431,22 +2431,22 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Greška odabira - - + + Nothing selected! Ništa nije odabrano! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! @@ -2464,54 +2464,54 @@ Navedi drugu datoteku. Transformabilna lica su se promijenila. Molimo dodajte samo transformabilna lica i uklonite netransformabilna lica! - - - - - - - - - - + + + + + + + + + + Selection error Greška odabira - - + + Nothing selected! Ništa nije odabrano! - - + + Only one face for rectangular transform constraint! Samo jedno lice za pravokutno ograničenje transformacije! - - + + Selected object is not a part! Odabrani objekt nije jedan dio! - + Only one face for transform constraint! Samo jedno lice za ograničenje transformacije! - + Only faces can be picked Samo naličja se mogu odabrati - + Only cylindrical faces can be picked Samo cilindrična naličja se mogu odabrati - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Samo transformabilna lica se mogu odabrati! Prvo primjeni premještanje na površinu prije nego primjeniš ograničenje na površinu @@ -2527,7 +2527,7 @@ Navedi drugu datoteku. FemGui::TaskPostClip - + Clip region, choose implicit function Područje isječka, odaberi implicitnu funkciju @@ -2535,7 +2535,7 @@ Navedi drugu datoteku. FemGui::TaskPostCut - + Function cut, choose implicit function Funkcijski rez, odaberi implicitnu funkciju @@ -2543,12 +2543,12 @@ Navedi drugu datoteku. FemGui::TaskPostDataAlongLine - + Data along a line options Opcije za podatke uzduž linije - + Length X-Axis plot label Dužina @@ -2557,12 +2557,12 @@ Navedi drugu datoteku. FemGui::TaskPostDataAtPoint - + Data at point options Opcije za podatke kod točke - + %1 at (%2; %3; %4) is: %5 %6 %1 kod (%2; %3; %4) je: %5 %6 @@ -2570,7 +2570,7 @@ Navedi drugu datoteku. FemGui::TaskPostDisplay - + Result display options Opcije prikaza rezultata @@ -2578,7 +2578,7 @@ Navedi drugu datoteku. FemGui::TaskPostFunction - + Implicit function Implicitna funkcija @@ -2586,7 +2586,7 @@ Navedi drugu datoteku. FemGui::TaskPostScalarClip - + Scalar clip options Opcije skalarnog rezanja @@ -2594,7 +2594,7 @@ Navedi drugu datoteku. FemGui::TaskPostWarpVector - + Warp options Opcije izobličenja @@ -2610,7 +2610,7 @@ Navedi drugu datoteku. FemGui::ViewProviderFemAnalysis - + Activate analysis Aktiviraj analizu @@ -2618,12 +2618,12 @@ Navedi drugu datoteku. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Greška umrežavanja - + The FEM module is built without NETGEN support. Meshing will not work!!! FEM modul je izgrađen bez NETGEN podrške.Putanje mreže (Meshing) neće raditi!!! @@ -2631,15 +2631,15 @@ Navedi drugu datoteku. FemMaterial - + FEM material FEM material + - Material Materijal @@ -2664,9 +2664,9 @@ Navedi drugu datoteku. Ime materijala + - TextLabel Tekst oznaka @@ -3013,17 +3013,17 @@ Navedi drugu datoteku. - - - + + + 0 mm 0 mm @@ -3038,11 +3038,11 @@ Navedi drugu datoteku. Centrifugalni parametar + - - + Parameter Parametar @@ -3072,13 +3072,13 @@ Navedi drugu datoteku. Parametri ispisa presjeka - - + + - + + - Constraint Properties Svojstva Ograničenja @@ -3093,9 +3093,12 @@ Navedi drugu datoteku. Potencijal: - - - + + + + + + @@ -3108,18 +3111,15 @@ Navedi drugu datoteku. + + + - - - - - - unspecified neodređen @@ -3146,16 +3146,16 @@ with a harmonic/oscillating driving force s harmoničnim/oscilirajućim pogonskim silom. + - Real Realno + - Imaginary Imaginarno @@ -3175,9 +3175,9 @@ s harmoničnim/oscilirajućim pogonskim silom. Imaginarni dio skalarnog potencijala + - x x @@ -3196,9 +3196,9 @@ Note: has no effect if a solid was selected Napomena: nema utjecaja ako je odabrano volumensko tijelo + - y y @@ -3217,9 +3217,9 @@ Note: has no effect if a solid was selected Napomena: nema utjecaja ako je odabrano volumensko tijelo + - z z @@ -3284,8 +3284,8 @@ Napomena: nema utjecaja ako je odabrano volumensko tijelo Parametri presjeka grede - + Cross section parameter Parametar poprečnog presjeka @@ -3338,30 +3338,30 @@ Napomena: nema utjecaja ako je odabrano volumensko tijelo Rotacija: - - - + + + formula formula - + Velocity x: Protok x: - + Velocity y: Protok y: - + Velocity z: Protok z: @@ -3491,14 +3491,14 @@ Napomena: u 2D je moguće samo podešavanje za x Imaginarni dio potencijala y-komponente - + Real part of potential z-component Realni dio potencijala z-komponente - + Imaginary part of potential z-component Imaginarni dio potencijala z-komponente @@ -3564,11 +3564,6 @@ Napomena: u 2D je moguće samo podešavanje za x PlaneWidget - - - Form - Obrazac - x @@ -3623,36 +3618,36 @@ Napomena: u 2D je moguće samo podešavanje za x Uredi ograničenje - - - - - - - - + + + + + + + + A dialog is already open in the task panel Dijalog je već otvoren u ploči zadataka - - - - - - - - + + + + + + + + Do you want to close this dialog? Želite li zatvoriti ovaj dijalog? - + Meshing Meshing (Putanje mreže) - + Constraint force Sila ograničenja @@ -3674,42 +3669,42 @@ Napomena: u 2D je moguće samo podešavanje za x Uvoz / izvoz - + Constraint Contact Kontaktno Ograničenje - + Constraint displacement Ograničenje premještanja - + Constraint fixed Ograničenje učvršćeno - + Constraint fluid boundary Granica fluida s ograničenjem - + Constraint heat flux Ograničenje toplinskog toka - + Constraint initial temperature Ograničenje početne temperature - + Constraint planerotation Ograničenja rotacija ravnine - + Constraint pressure Ograničenje tlaka @@ -3719,22 +3714,22 @@ Napomena: u 2D je moguće samo podešavanje za x Ograničenje kolotura - + Constraint spring Ograničenje opruge - + Constraint temperature Ograničenje temperature - + Constraint transform Ograničenje deformacije - + Edit post processing object Uredi postprocesiranje objekta @@ -4083,11 +4078,6 @@ Za moguće varijable, pogledaj okvir za opis ispod. SphereWidget - - - Form - Obrazac - x @@ -4124,11 +4114,6 @@ Za moguće varijable, pogledaj okvir za opis ispod. TaskAnalysisInfo - - - Form - Obrazac - Meshes: @@ -4142,11 +4127,6 @@ Za moguće varijable, pogledaj okvir za opis ispod. TaskCreateNodeSet - - - Form - Obrazac - Volume @@ -4198,21 +4178,8 @@ Za moguće varijable, pogledaj okvir za opis ispod. Kut zaustavljanja: - - TaskDriver - - - Form - Obrazac - - TaskFemConstraint - - - Form - Obrazac - Add reference @@ -4261,11 +4228,6 @@ Za moguće varijable, pogledaj okvir za opis ispod. TaskFemConstraintBearing - - - Form - Obrazac - Add reference @@ -4334,11 +4296,6 @@ Za moguće varijable, pogledaj okvir za opis ispod. TaskFemConstraintContact - - - Form - Obrazac - Select master face, click Add or Remove @@ -4478,11 +4435,6 @@ za određivanje površinske sile TaskFemConstraintFixed - - - Form - Obrazac - Select multiple face(s), click Add or Remove @@ -4501,11 +4453,6 @@ za određivanje površinske sile TaskFemConstraintFluidBoundary - - - Form - Obrazac - Boundary @@ -4738,11 +4685,6 @@ vektora površine koristi se kao smjer TaskFemConstraintPlaneRotation - - - Form - Obrazac - Select a single face, click Add or Remove @@ -4761,11 +4703,6 @@ vektora površine koristi se kao smjer TaskFemConstraintPressure - - - Form - Obrazac - Select multiple face(s), click Add or Remove @@ -4799,11 +4736,6 @@ vektora površine koristi se kao smjer TaskFemConstraintSpring - - - Form - Obrazac - Select multiple face(s), click Add or Remove @@ -4844,11 +4776,6 @@ koristiti za Elmerov rješavač TaskFemConstraintTemperature - - - Form - Obrazac - Select multiple face(s), click Add or Remove @@ -4878,11 +4805,6 @@ koristiti za Elmerov rješavač TaskFemConstraintTransform - - - Form - Obrazac - Rectangular transform @@ -4930,21 +4852,8 @@ koristiti za Elmerov rješavač Promjenjive Površine - - TaskObjectName - - - Form - Obrazac - - TaskPostClip - - - Form - Obrazac - Create @@ -4963,11 +4872,6 @@ koristiti za Elmerov rješavač TaskPostCut - - - Form - Obrazac - Create @@ -4976,11 +4880,6 @@ koristiti za Elmerov rješavač TaskPostDataAlongLine - - - Form - Obrazac - Coordinates @@ -5082,11 +4981,6 @@ koristiti za Elmerov rješavač TaskPostDisplay - - - Form - Obrazac - Mode @@ -5164,11 +5058,6 @@ koristiti za Elmerov rješavač TaskPostScalarClip - - - Form - Obrazac - Scalar @@ -5217,11 +5106,6 @@ koristiti za Elmerov rješavač TaskPostWarpVector - - - Form - Obrazac - Vector @@ -5250,11 +5134,6 @@ koristiti za Elmerov rješavač TaskTetParameter - - - Form - Obrazac - Max. Size: @@ -6399,11 +6278,6 @@ magnetodinamičke sile TaskPostContours - - - Form - Obrazac - Vector: @@ -6464,7 +6338,7 @@ magnetodinamičke sile FemGui::TaskPostContours - + Contours filter options Opcije filtera kontura diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts index 2745d5cc1f..d9bf74a963 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts @@ -24,7 +24,7 @@ Fem - Végeselemes analízis FEM + Végeselemes analízis Vem @@ -42,7 +42,7 @@ Fem - Végeselemes analízis FEM + Végeselemes analízis Vem @@ -60,7 +60,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -78,7 +78,7 @@ Fem - Végeselemes analízis FEM + Végeselemes analízis Vem @@ -96,7 +96,7 @@ Fem - Végeselemes analízis FEM + Végeselemes analízis Vem @@ -114,7 +114,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -132,7 +132,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -150,7 +150,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -168,7 +168,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -186,7 +186,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -204,7 +204,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -222,7 +222,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -240,7 +240,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -258,7 +258,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -276,7 +276,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -304,7 +304,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -323,7 +323,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -341,7 +341,7 @@ Fem - Végeselemes analízis FEM + Végeselemes analízis Vem @@ -350,7 +350,7 @@ - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region Kivágás szűrő definiálása/létrehozása, amely függvények segítségével határozza meg a vágott régiót @@ -369,7 +369,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -387,7 +387,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -405,7 +405,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -423,7 +423,7 @@ Fem - Végeselemes analízis FEM + Végeselemes analízis Vem @@ -497,7 +497,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -527,7 +527,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -540,12 +540,12 @@ Utófeldolgozási folyamatot hoz létre egy eredmény tárgyból - + Wrong selection type Hibás kiválasztási típus - + Select a result object, please. Jelöljön ki egy eredmény tárgyat. @@ -555,7 +555,7 @@ Fem - Végeselemes analízis FEM + Vem @@ -689,12 +689,12 @@ Függvény létrehozása - + Create pipeline from result Folyamat létrehozása az eredményből - + Edit Mirror Tükrözés szerkesztése @@ -1017,12 +1017,12 @@ Alacsony frekvenciájú limit - + File does not exist Fájl nem létezik - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Megjegyzés:</span> A hálószimmetriák kihasználásához ajánlott páros számú magot használni. (8 mag használata gyorsabb lehet, mint 9 mag.)<br/> <span style=" font-weight:600;">Ez is megjegyzés:</span> Szélsőséges esetekben előfordulhat, hogy az ElmerSolver nem konvergál, ha a magszám túl magas.</p></body></html> - + File does not exist Fájl nem létezik - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Kérjük, adjon meg egy másik fájlt. - - + + FEM Elmer: Not suitable for multithreading VEM Elmer: Nem alkalmas többszálúhoz - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Nem megfelelő Elmer beállítás: Egynél több CPU-magot használ. Ezért szükség van egy végrehajtható fájlra a '_mpi.exe' utótaggal. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Nem megfelelő Elmer beállítás: Egynél több CPU-magot használ. @@ -1379,12 +1379,12 @@ elemzési konténer hozzáadásakor Hagyja üresen az alapértelmezett a Gmsh bináris fájl használatához - + File does not exist Fájl nem létezik - + The specified executable '%1' does not exist! @@ -1566,12 +1566,12 @@ Ha le van tiltva, név szerint vannak rendezve. Megjegyzések írása a bemeneti fájlba - + File does not exist Fájl nem létezik - + The specified executable '%1' does not exist! @@ -1676,12 +1676,12 @@ egy iteratív megoldó használata esetén a "MAXKOI" paraméter értékét növelni kell hibaüzenet jelenik meg. - + File does not exist Fájl nem létezik - + The specified z88r executable '%1' does not exist! @@ -1692,18 +1692,18 @@ Specify another file please. Kérjük, adjon meg egy másik fájlt. - - + + Wrong file Hibás fájl - + You must specify the path to the z88r.exe! Meg kell adnia a z88r.exe elérési útját! - + You must specify the path to the z88r! Meg kell adnia a z88r elérési útját! @@ -1713,7 +1713,7 @@ Kérjük, adjon meg egy másik fájlt. Nodes set - Csomópontok beálítása + Csomópontok beállítása @@ -1741,7 +1741,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintBearing - + Input error Bemeneti hiba @@ -1749,7 +1749,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintContact - + Input error Bemeneti hiba @@ -1757,7 +1757,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintDisplacement - + Input error Bemeneti hiba @@ -1765,7 +1765,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Bemeneti hiba @@ -1773,13 +1773,13 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintForce - - + + Input error Bemeneti hiba - + Please specify a force greater than 0 Kérem adjon meg egy 0-nál nagyobb erőt @@ -1795,7 +1795,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintHeatflux - + Input error Bemeneti hiba @@ -1803,8 +1803,8 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Bemeneti hiba @@ -1812,7 +1812,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintPressure - + Input error Bemeneti hiba @@ -1828,7 +1828,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintSpring - + Input error Bemeneti hiba @@ -1836,7 +1836,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintTemperature - + Input error Bemeneti hiba @@ -1844,7 +1844,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgFemConstraintTransform - + Input error Bemeneti hiba @@ -1852,12 +1852,12 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh VEM háló szerkesztés - + Meshing failure Hálólétrehozás hiba @@ -1865,7 +1865,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskDlgPost - + Input error Bemeneti hiba @@ -1944,22 +1944,22 @@ Kérjük, adjon meg egy másik fájlt. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Kiválasztási hiba @@ -1969,46 +1969,46 @@ Kérjük, adjon meg egy másik fájlt. Csak egy felület a tárgyon! - a fő felületre költözött - - + + Only one master face and one slave face for a contact constraint! Csak egy fő felület és egy másodlagos felület a kényszerítés érintkezéséhez! - - - - + + + + Nothing selected! Semmi sincs kiválasztva! - - + + Only one slave face for a contact constraint! Csak egy másodlagos felület a kényszerítés érintkezéséhez! - - - - + + + + Selected object is not a part! A kijelölt objektum nem alkotórész! - - + + Only faces can be picked Csak felületek választhatók ki - + Only one master for a contact constraint! Csak egy mester egy érintkezési kényszerhez! - + Only one master face for a contact constraint! Csak egy fő felület a kényszerítés érintkezéséhez! @@ -2016,28 +2016,28 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Kiválasztási hiba - - + + Nothing selected! Semmi sincs kiválasztva! - - + + Selected object is not a part! A kijelölt objektum nem alkotórész! - + Only one type of selection (vertex,face or edge) per constraint allowed! Kényszerítésenként csak egyféle kiválasztás (csúcs, felület vagy él) engedélyezett! @@ -2045,28 +2045,28 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Kiválasztási hiba - - + + Nothing selected! Semmi sincs kiválasztva! - - + + Selected object is not a part! A kijelölt objektum nem alkotórész! - + Only one type of selection (vertex,face or edge) per constraint allowed! Kényszerítésenként csak egyféle kiválasztás (csúcs, felület vagy él) engedélyezett! @@ -2174,28 +2174,28 @@ Kérjük, adjon meg egy másik fájlt. Csak a 3D alkatrészek felületei vagy a 2D élei választhatók ki - - - - - + + + + + Selection error Kiválasztási hiba - - + + Nothing selected! Semmi sincs kiválasztva! - - + + Selected object is not a part! A kijelölt objektum nem alkotórész! - + Only one type of selection (vertex,face or edge) per constraint allowed! Kényszerítésenként csak egyféle kiválasztás (csúcs, felület vagy él) engedélyezett! @@ -2204,38 +2204,38 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Kiválasztási hiba - + Nothing selected! Semmi sincs kiválasztva! - - + + Selected object is not a part! A kijelölt objektum nem alkotórész! - + Only one type of selection (vertex,face or edge) per constraint allowed! Kényszerítésenként csak egyféle kiválasztás (csúcs, felület vagy él) engedélyezett! - - + + Wrong selection Rossz kijelölés - + Select an edge or a face, please. Jelöljön ki egy szegélyt vagy felületet. @@ -2268,30 +2268,30 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Kiválasztási hiba - - + + Nothing selected! Semmi sincs kiválasztva! - - + + Selected object is not a part! A kijelölt objektum nem alkotórész! - - + + Selection must only consist of faces! A kiválasztás csak felületekből állhat! @@ -2299,42 +2299,42 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Kiválasztási hiba - - + + Only one face can be selected for a plane rotation constraint! Csak egy felület választható ki a síkforgatás kényszerítéshez! - - + + Nothing selected! Semmi sincs kiválasztva! - - + + Selected object is not a part! A kijelölt objektum nem alkotórész! - + Only faces can be picked Csak felületek választhatók ki - + Only planar faces can be picked Csak a síkbeli felületek választhatók ki @@ -2342,28 +2342,28 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Kiválasztási hiba - - + + Nothing selected! Semmi sincs kiválasztva! - - + + Selected object is not a part! A kijelölt objektum nem alkotórész! - + Only faces can be picked Csak felületek választhatók ki @@ -2384,28 +2384,28 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Kiválasztási hiba - - + + Nothing selected! Semmi sincs kiválasztva! - - + + Selected object is not a part! A kijelölt objektum nem alkotórész! - + Only faces can be picked Csak felületek választhatók ki @@ -2413,22 +2413,22 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Kiválasztási hiba - - + + Nothing selected! Semmi sincs kiválasztva! - - + + Selected object is not a part! A kijelölt objektum nem alkotórész! @@ -2446,54 +2446,54 @@ Kérjük, adjon meg egy másik fájlt. Az átalakítható felületek megváltoztak. Kérjük, csak átalakítható felületeket adjon hozzá, és távolítsa el a nem átalakítható felületeket! - - - - - - - - - - + + + + + + + + + + Selection error Kiválasztási hiba - - + + Nothing selected! Semmi sincs kiválasztva! - - + + Only one face for rectangular transform constraint! Csak egy felület a téglalap alakú átalakító kényszerítéshez! - - + + Selected object is not a part! - A kijelölt objektum nem alkotórész! + A kijelölt tárgy nem alkotórész! - + Only one face for transform constraint! Csak egy felület, amely kényszeríti az átalakítást! - + Only faces can be picked Csak felületek választhatók ki - + Only cylindrical faces can be picked Csak hengeres felületek választhatóak - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Csak átalakítható felületek választhatók ki! Először vigye fel a kényszerítés elmozdulását a felületre, majd kényszerítse a felületre @@ -2509,7 +2509,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskPostClip - + Clip region, choose implicit function Vágási régió, válassza ki az implicit funkciót @@ -2517,7 +2517,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskPostCut - + Function cut, choose implicit function Vágási funkció, implicit funkció kiválasztása @@ -2525,12 +2525,12 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskPostDataAlongLine - + Data along a line options Adatok egy vonal lehetőségek mentén - + Length X-Axis plot label Hossz @@ -2539,12 +2539,12 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskPostDataAtPoint - + Data at point options Adatok a pont lehetőségein - + %1 at (%2; %3; %4) is: %5 %6 %1 a (%2; %3; %4) pontnál: %5 %6 @@ -2552,7 +2552,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskPostDisplay - + Result display options Megjelenítési lehetőségek eredménye @@ -2560,7 +2560,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskPostFunction - + Implicit function Implicit függvény @@ -2568,7 +2568,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskPostScalarClip - + Scalar clip options Skaláris vágási lehetőségek @@ -2576,7 +2576,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::TaskPostWarpVector - + Warp options Deformációs vizualizációs lehetőségek @@ -2592,7 +2592,7 @@ Kérjük, adjon meg egy másik fájlt. FemGui::ViewProviderFemAnalysis - + Activate analysis Elemzés bekapcsolása @@ -2600,12 +2600,12 @@ Kérjük, adjon meg egy másik fájlt. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Hálólétrehozás hiba - + The FEM module is built without NETGEN support. Meshing will not work!!! A Végeselemes módszer VEM modul NETGEN támogatás nélküli. Hálólétrehozás nem fog működni!!! @@ -2613,15 +2613,15 @@ Kérjük, adjon meg egy másik fájlt. FemMaterial - + FEM material VEM anyag + - Material Anyag @@ -2646,9 +2646,9 @@ Kérjük, adjon meg egy másik fájlt. Anyag neve + - TextLabel Szövegfelirat @@ -2994,17 +2994,17 @@ Kérjük, adjon meg egy másik fájlt. - - - + + + 0 mm 0 mm @@ -3019,11 +3019,11 @@ Kérjük, adjon meg egy másik fájlt. Centrifugális paraméter + - - + Parameter Paraméter @@ -3053,13 +3053,13 @@ Kérjük, adjon meg egy másik fájlt. Keresztmetszeti elválasztó paraméter - - + + - + + - Constraint Properties Kényszerítés tulajdonságai @@ -3074,9 +3074,12 @@ Kérjük, adjon meg egy másik fájlt. Feszültség: - - - + + + + + + @@ -3089,18 +3092,15 @@ Kérjük, adjon meg egy másik fájlt. + + + - - - - - - unspecified határozatlan @@ -3127,16 +3127,16 @@ with a harmonic/oscillating driving force harmonikus/rezgő hajtóerővel rendelkező egyenletek esetén + - Real Valós + - Imaginary Elképzelt @@ -3156,9 +3156,9 @@ harmonikus/rezgő hajtóerővel rendelkező egyenletek esetén A skalárpotenciál képzetes része + - x x @@ -3177,9 +3177,9 @@ Note: has no effect if a solid was selected Megjegyzés: nincs hatása, ha szilárdtestet választottunk ki + - y y @@ -3198,9 +3198,9 @@ Note: has no effect if a solid was selected Megjegyzés: nincs hatása, ha szilárdtestet választottunk ki + - z z @@ -3265,8 +3265,8 @@ Megjegyzés: nincs hatása, ha szilárdtestet választottunk ki Gerendaszakasz paraméter - + Cross section parameter Keresztmetszeti paraméter @@ -3317,30 +3317,30 @@ Megjegyzés: nincs hatása, ha szilárdtestet választottunk ki Forgás: - - - + + + formula képlet - + Velocity x: Sebesség x: - + Velocity y: Sebesség y: - + Velocity z: Sebesség z: @@ -3470,14 +3470,14 @@ Megjegyzés: 2D esetén csak az x beállítása lehetséges, A potenciális y-komponens képzetes része - + Real part of potential z-component A potenciális z-komponens valós része - + Imaginary part of potential z-component A potenciális z-komponens képzetes része @@ -3543,11 +3543,6 @@ Megjegyzés: 2D esetén csak az x beállítása lehetséges, PlaneWidget - - - Form - Űrlap - x @@ -3602,36 +3597,36 @@ Megjegyzés: 2D esetén csak az x beállítása lehetséges, Kényszerítés szerkesztése - - - - - - - - + + + + + + + + A dialog is already open in the task panel Egy párbeszédablak már nyitva van a feladat panelen - - - - - - - - + + + + + + + + Do you want to close this dialog? Szeretné bezárni a párbeszédpanelt? - + Meshing Hálólétrehozás - + Constraint force Kényszerítés erőltetése @@ -3653,42 +3648,42 @@ Megjegyzés: 2D esetén csak az x beállítása lehetséges, Importálás-Exportálás - + Constraint Contact Felületi érintkezés kényszerítés - + Constraint displacement Kényszerítés elmozdulása - + Constraint fixed Kényszerítés rögzített - + Constraint fluid boundary Folyadékhatár kényszerítés - + Constraint heat flux Hőáramlás kényszerítés - + Constraint initial temperature Kezdeti hőmérséklet kényszerítés - + Constraint planerotation Kényszerítő síkfogás - + Constraint pressure Nyomásterhelés @@ -3698,22 +3693,22 @@ Megjegyzés: 2D esetén csak az x beállítása lehetséges, Szíjtárcsa kötés - + Constraint spring Rugó kötés - + Constraint temperature Rögzített hőmérséklet - + Constraint transform Kényszerítés átalakítás - + Edit post processing object Utófeldolgozási tárgy szerkesztése @@ -4062,11 +4057,6 @@ A lehetséges változókat lásd az alábbi leírási mezőben. SphereWidget - - - Form - Űrlap - x @@ -4103,11 +4093,6 @@ A lehetséges változókat lásd az alábbi leírási mezőben. TaskAnalysisInfo - - - Form - Űrlap - Meshes: @@ -4121,11 +4106,6 @@ A lehetséges változókat lásd az alábbi leírási mezőben. TaskCreateNodeSet - - - Form - Űrlap - Volume @@ -4177,21 +4157,8 @@ A lehetséges változókat lásd az alábbi leírási mezőben. Végállás szög: - - TaskDriver - - - Form - Űrlap - - TaskFemConstraint - - - Form - Űrlap - Add reference @@ -4240,11 +4207,6 @@ A lehetséges változókat lásd az alábbi leírási mezőben. TaskFemConstraintBearing - - - Form - Űrlap - Add reference @@ -4313,11 +4275,6 @@ A lehetséges változókat lásd az alábbi leírási mezőben. TaskFemConstraintContact - - - Form - Űrlap - Select master face, click Add or Remove @@ -4457,11 +4414,6 @@ az áramlás által generált TaskFemConstraintFixed - - - Form - Űrlap - Select multiple face(s), click Add or Remove @@ -4480,11 +4432,6 @@ az áramlás által generált TaskFemConstraintFluidBoundary - - - Form - Űrlap - Boundary @@ -4717,11 +4664,6 @@ vektorát használják irányként TaskFemConstraintPlaneRotation - - - Form - Űrlap - Select a single face, click Add or Remove @@ -4740,11 +4682,6 @@ vektorát használják irányként TaskFemConstraintPressure - - - Form - Űrlap - Select multiple face(s), click Add or Remove @@ -4778,11 +4715,6 @@ vektorát használják irányként TaskFemConstraintSpring - - - Form - Űrlap - Select multiple face(s), click Add or Remove @@ -4823,11 +4755,6 @@ az Elmer megoldóhoz TaskFemConstraintTemperature - - - Form - Űrlap - Select multiple face(s), click Add or Remove @@ -4857,11 +4784,6 @@ az Elmer megoldóhoz TaskFemConstraintTransform - - - Form - Űrlap - Rectangular transform @@ -4909,21 +4831,8 @@ az Elmer megoldóhoz Átalakítható felületek - - TaskObjectName - - - Form - Űrlap - - TaskPostClip - - - Form - Űrlap - Create @@ -4942,11 +4851,6 @@ az Elmer megoldóhoz TaskPostCut - - - Form - Űrlap - Create @@ -4955,11 +4859,6 @@ az Elmer megoldóhoz TaskPostDataAlongLine - - - Form - Űrlap - Coordinates @@ -5061,11 +4960,6 @@ az Elmer megoldóhoz TaskPostDisplay - - - Form - Űrlap - Mode @@ -5143,11 +5037,6 @@ az Elmer megoldóhoz TaskPostScalarClip - - - Form - Űrlap - Scalar @@ -5196,11 +5085,6 @@ az Elmer megoldóhoz TaskPostWarpVector - - - Form - Űrlap - Vector @@ -5229,11 +5113,6 @@ az Elmer megoldóhoz TaskTetParameter - - - Form - Űrlap - Max. Size: @@ -6374,11 +6253,6 @@ Kérjük, először válassza ki az eredmény típusát. TaskPostContours - - - Form - Űrlap - Vector: @@ -6439,7 +6313,7 @@ Kérjük, először válassza ki az eredmény típusát. FemGui::TaskPostContours - + Contours filter options Kintúr szűrő lehetőségek diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_id.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_id.ts index 0c4a8ec1d0..c32eb7d069 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_id.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_id.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -486,7 +486,7 @@ Membrane and Bending Plot legend item label - Membrane and Bending + Membran dan Lentur @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Edit Mirror @@ -1017,12 +1017,12 @@ Batas frekuensi rendah - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist File does not exist - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Input error @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Input error @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Input error @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Input error @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Input error - + Please specify a force greater than 0 Tolong tentukan gaya yang lebih besar dari 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Input error @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Input error @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Input error @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Input error @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Input error @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Input error @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Edit FEM mesh - + Meshing failure Meshing kegagalan @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Input error @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Kesalahan seleksi @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Tidak ada yang terpilih! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - - + + Only faces can be picked Hanya wajah yang bisa dipetik - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Kesalahan seleksi - - + + Nothing selected! Tidak ada yang terpilih! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Kesalahan seleksi - - + + Nothing selected! Tidak ada yang terpilih! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Kesalahan seleksi - - + + Nothing selected! Tidak ada yang terpilih! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Kesalahan seleksi - + Nothing selected! Tidak ada yang terpilih! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Pilihan salah - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Kesalahan seleksi - - + + Nothing selected! Tidak ada yang terpilih! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Kesalahan seleksi - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Tidak ada yang terpilih! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - + Only faces can be picked Hanya wajah yang bisa dipetik - + Only planar faces can be picked Hanya planar wajah dapat terpilih @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Kesalahan seleksi - - + + Nothing selected! Tidak ada yang terpilih! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - + Only faces can be picked Hanya wajah yang bisa dipetik @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Kesalahan seleksi - - + + Nothing selected! Tidak ada yang terpilih! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - + Only faces can be picked Hanya wajah yang bisa dipetik @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Kesalahan seleksi - - + + Nothing selected! Tidak ada yang terpilih! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Kesalahan seleksi - - + + Nothing selected! Tidak ada yang terpilih! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Objek yang dipilih bukan bagiannya! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Hanya wajah yang bisa dipetik - + Only cylindrical faces can be picked Hanya wajah silindris yang bisa dipetik - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Panjangnya @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Aktifkan analisis @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Meshing kegagalan - + The FEM module is built without NETGEN support. Meshing will not work!!! Modul FEM dibangun tanpa dukungan NETGEN. Meshing tidak akan bekerja!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Bahan @@ -2659,9 +2659,9 @@ Specify another file please. Material name + - TextLabel TextLabel @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Parameter @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Bentuk - x @@ -3615,93 +3610,93 @@ Note: for 2D only setting for x is possible, Edit kendala - - - - - - - - + + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - - + + + + + + + + Do you want to close this dialog? Do you want to close this dialog? - + Meshing Meshing - + Constraint force Kendala kekuatan - + FEM FEM - + Import-Export Ekspor Impor - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Bentuk - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Bentuk - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Bentuk - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. Sudut berhenti: - - TaskDriver - - - Form - Bentuk - - TaskFemConstraint - - - Form - Bentuk - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Bentuk - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Bentuk - Select master face, click Add or Remove @@ -4406,9 +4363,9 @@ For possible variables, see the description box below. Formulas are only valid -for the Emer solver +for the Elmer solver Formulas are only valid -for the Emer solver +for the Elmer solver @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Bentuk - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Bentuk - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Bentuk - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Bentuk - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Bentuk - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Bentuk - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Bentuk - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Bentuk - - TaskPostClip - - - Form - Bentuk - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Bentuk - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Bentuk - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Bentuk - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Bentuk - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Bentuk - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Bentuk - Max. Size: @@ -5382,107 +5261,119 @@ used for the Elmer solver &Electrostatic Constraints - + Fluid Constraints Fluid Constraints - + &Fluid Constraints &Fluid Constraints - + + + Electromagnetic Constraints + Electromagnetic Constraints + + + + + &Electromagnetic Constraints + &Electromagnetic Constraints + + + Geometrical Constraints Geometrical Constraints - + &Geometrical Constraints &Geometrical Constraints - + Mechanical Constraints Mechanical Constraints - + &Mechanical Constraints &Mechanical Constraints - + Thermal Constraints Thermal Constraints - + &Thermal Constraints &Thermal Constraints - + Constraints without solver Constraints without solver - + &Constraints without solver &Constraints without solver - + Overwrite Constants Overwrite Constants - + &Overwrite Constants &Overwrite Constants - + Mesh Mesh - + M&esh M&esh - + Solve Memecahkan - + &Solve &Solve - + Results Results - + &Results &Results - + Filter functions Filter functions - + &Filter functions &Filter functions - + Utilities Utilitas @@ -6018,19 +5909,6 @@ used for the Elmer solver Creates a standard FEM solver CalculiX with ccx tools - - FEM_SolverCalculix - - - Solver CalculiX (new framework) - Solver CalculiX (new framework) - - - - Creates a FEM solver CalculiX new framework (less result error handling) - Creates a FEM solver CalculiX new framework (less result error handling) - - FEM_SolverControl @@ -6192,9 +6070,9 @@ used for the Elmer solver GeometryElementsSelection - - Geometry reference selector for a - Geometry reference selector for a + + Geometry reference selector for a {} + Geometry reference selector for a {} @@ -6202,22 +6080,22 @@ used for the Elmer solver Menambahkan - + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements can be selected: {}{}{} Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements can be selected: {}{}{} - + {}If no geometry is added to the list, all remaining ones are used. {}If no geometry is added to the list, all remaining ones are used. - + Selection mode Selection mode - + Solid Padat @@ -6390,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - Bentuk - Vector: @@ -6455,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options @@ -6574,4 +6447,17 @@ Please select a result type first. Mechanical equations for the Elmer solver + + FEM_SolverCalculiX + + + Solver CalculiX (new framework) + Solver CalculiX (new framework) + + + + Creates a FEM solver CalculiX new framework (less result error handling) + Creates a FEM solver CalculiX new framework (less result error handling) + + diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts index fd84d9ab6b..268afdaa50 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Crea una pipeline di post-elaborazione da un oggetto risultato - + Wrong selection type Tipo di selezione errato - + Select a result object, please. Per favore seleziona un oggetto risultato @@ -689,12 +689,12 @@ Crea una funzione. - + Create pipeline from result Crea pipeline dal risultato - + Edit Mirror Modifica specchio @@ -1017,12 +1017,12 @@ Limite di bassa frequenza - + File does not exist Il file non esiste - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Nota:</span> Si consiglia di utilizzare un numero pari di core per beneficiare delle simmetrie mesh. (Utilizzando 8 core può essere più veloce di 9 core.<br/><span style=" font-weight:600;">Nota anche:</span> In casi estremi ElmerSolver potrebbe non convergere se il numero di core è troppo alto.</p></body></html> - + File does not exist Il file non esiste - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specificare un altro file, per favore. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Non adatto per multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Impostazione Elmer errata: Si utilizza più di un core della CPU. Pertanto è richiesto un eseguibile con il suffisso '_mpi.exe'. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Impostazione Elmer errata: Si utilizza più di un core della CPU. @@ -1385,12 +1385,12 @@ adding an analysis container Lascia vuoto per usare il file binario predefinito di gmsh - + File does not exist Il file non esiste - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Scrivere commenti sul file di input - + File does not exist Il file non esiste - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist Il file non esiste - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specificare un altro file, per favore. - - + + Wrong file File errato - + You must specify the path to the z88r.exe! È necessario specificare il percorso a z88r.exe! - + You must specify the path to the z88r! Devi specificare il percorso dello z88r! @@ -1754,7 +1754,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintBearing - + Input error Errore di input @@ -1762,7 +1762,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintContact - + Input error Errore di input @@ -1770,7 +1770,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintDisplacement - + Input error Errore di input @@ -1778,7 +1778,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Errore di input @@ -1786,13 +1786,13 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintForce - - + + Input error Errore di input - + Please specify a force greater than 0 Specificare una forza maggiore di 0 @@ -1808,7 +1808,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintHeatflux - + Input error Errore di input @@ -1816,8 +1816,8 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Errore di input @@ -1825,7 +1825,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintPressure - + Input error Errore di input @@ -1841,7 +1841,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintSpring - + Input error Errore di input @@ -1849,7 +1849,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintTemperature - + Input error Errore di input @@ -1857,7 +1857,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgFemConstraintTransform - + Input error Errore di input @@ -1865,12 +1865,12 @@ Specificare un altro file, per favore. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Modifica mesh FEM - + Meshing failure Errore di meshing @@ -1878,7 +1878,7 @@ Specificare un altro file, per favore. FemGui::TaskDlgPost - + Input error Errore di input @@ -1957,22 +1957,22 @@ Specificare un altro file, per favore. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Errore di selezione @@ -1982,46 +1982,46 @@ Specificare un altro file, per favore. Solo una faccia nell'oggetto! - spostata nella faccia principale - - + + Only one master face and one slave face for a contact constraint! Solo una faccia principale e una faccia secondaria per un vincolo di contatto! - - - - + + + + Nothing selected! Nessuna selezione! - - + + Only one slave face for a contact constraint! Solo una faccia secondaria per un vincolo di contatto! - - - - + + + + Selected object is not a part! L'oggetto selezionato non è una parte! - - + + Only faces can be picked Si possono selezionare solo le facce - + Only one master for a contact constraint! Solo un master per un vincolo di contatto! - + Only one master face for a contact constraint! Solo una faccia principale per un vincolo di contatto! @@ -2029,28 +2029,28 @@ Specificare un altro file, per favore. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Errore di selezione - - + + Nothing selected! Nessuna selezione! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! - + Only one type of selection (vertex,face or edge) per constraint allowed! È permesso solo un tipo di selezione (vertice, faccia o bordo) per vincolo! @@ -2058,28 +2058,28 @@ Specificare un altro file, per favore. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Errore di selezione - - + + Nothing selected! Nessuna selezione! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! - + Only one type of selection (vertex,face or edge) per constraint allowed! È permesso solo un tipo di selezione (vertice, faccia o bordo) per vincolo! @@ -2187,28 +2187,28 @@ Specificare un altro file, per favore. Solo le facce per la parte 3D o i bordi per 2D possono essere scelti - - - - - + + + + + Selection error Errore di selezione - - + + Nothing selected! Nessuna selezione! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! - + Only one type of selection (vertex,face or edge) per constraint allowed! È permesso solo un tipo di selezione (vertice, faccia o bordo) per vincolo! @@ -2217,38 +2217,38 @@ Specificare un altro file, per favore. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Errore di selezione - + Nothing selected! Nessuna selezione! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! - + Only one type of selection (vertex,face or edge) per constraint allowed! È permesso solo un tipo di selezione (vertice, faccia o bordo) per vincolo! - - + + Wrong selection Selezione errata - + Select an edge or a face, please. Selezionare un bordo o una faccia, per favore. @@ -2281,30 +2281,30 @@ Specificare un altro file, per favore. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Errore di selezione - - + + Nothing selected! Nessuna selezione! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! - - + + Selection must only consist of faces! La selezione deve contenere solo facce! @@ -2312,42 +2312,42 @@ Specificare un altro file, per favore. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Errore di selezione - - + + Only one face can be selected for a plane rotation constraint! Solo una faccia può essere selezionata per un vincolo di rotazione piana! - - + + Nothing selected! Nessuna selezione! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! - + Only faces can be picked Si possono selezionare solo le facce - + Only planar faces can be picked Si possono selezionare solo le superfici piane @@ -2355,28 +2355,28 @@ Specificare un altro file, per favore. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Errore di selezione - - + + Nothing selected! Nessuna selezione! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! - + Only faces can be picked Si possono selezionare solo le facce @@ -2397,28 +2397,28 @@ Specificare un altro file, per favore. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Errore di selezione - - + + Nothing selected! Nessuna selezione! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! - + Only faces can be picked Si possono selezionare solo le facce @@ -2426,22 +2426,22 @@ Specificare un altro file, per favore. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Errore di selezione - - + + Nothing selected! Nessuna selezione! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! @@ -2459,54 +2459,54 @@ Specificare un altro file, per favore. Le facce trasformabili sono cambiate. Aggiungi solo le facce trasformabili e rimuovi le facce non trasformabili! - - - - - - - - - - + + + + + + + + + + Selection error Errore di selezione - - + + Nothing selected! Nessuna selezione! - - + + Only one face for rectangular transform constraint! Solo una faccia per il vincolo di trasformazione rettangolare! - - + + Selected object is not a part! L'oggetto selezionato non è una parte! - + Only one face for transform constraint! Solo una faccia per il vincolo di trasformazione! - + Only faces can be picked Si possono selezionare solo le facce - + Only cylindrical faces can be picked Si possono selezionare solo le superfici cilindriche - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specificare un altro file, per favore. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specificare un altro file, per favore. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specificare un altro file, per favore. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Lunghezza @@ -2552,12 +2552,12 @@ Specificare un altro file, per favore. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 a (%2; %3; %4) è: %5 %6 @@ -2565,7 +2565,7 @@ Specificare un altro file, per favore. FemGui::TaskPostDisplay - + Result display options Opzioni di visualizzazione dei risultati @@ -2573,7 +2573,7 @@ Specificare un altro file, per favore. FemGui::TaskPostFunction - + Implicit function Funzione implicita @@ -2581,7 +2581,7 @@ Specificare un altro file, per favore. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specificare un altro file, per favore. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specificare un altro file, per favore. FemGui::ViewProviderFemAnalysis - + Activate analysis Attivare l'analisi @@ -2613,12 +2613,12 @@ Specificare un altro file, per favore. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Errore di meshing - + The FEM module is built without NETGEN support. Meshing will not work!!! Il modulo FEM è costruito senza il supporto di NETGEN. Mesh non funzionerà!!! @@ -2626,15 +2626,15 @@ Specificare un altro file, per favore. FemMaterial - + FEM material Materiale FEM + - Material Materiale @@ -2659,9 +2659,9 @@ Specificare un altro file, per favore. Nome del materiale + - TextLabel Etichetta Testo @@ -3007,17 +3007,17 @@ Specificare un altro file, per favore. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specificare un altro file, per favore. Centrif parameter + - - + Parameter Parametro @@ -3066,13 +3066,13 @@ Specificare un altro file, per favore. SectionPrint parameter - - + + - + + - Constraint Properties Proprietà del vincolo @@ -3087,9 +3087,12 @@ Specificare un altro file, per favore. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specificare un altro file, per favore. + + + - - - - - - unspecified non specificato @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force con una forza motrice armonica/oscillante + - Real Reale + - Imaginary Immaginario @@ -3169,9 +3169,9 @@ con una forza motrice armonica/oscillante Parte immaginaria del potenziale scalare + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Nota: non ha effetto se è stato selezionato un solido + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Nota: non ha effetto se è stato selezionato un solido + - z z @@ -3278,8 +3278,8 @@ Nota: non ha effetto se è stato selezionato un solido Parametro sezione trave - + Cross section parameter Parametro sezione trasversale @@ -3330,30 +3330,30 @@ Nota: non ha effetto se è stato selezionato un solido Rotazione: - - - + + + formula formula - + Velocity x: Velocità x: - + Velocity y: Velocità y: - + Velocity z: Velocità z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Modulo - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, Modifica vincolo - - - - - - - - + + + + + + + + A dialog is already open in the task panel Nel pannello azioni c'è già una finestra di dialogo aperta - - - - - - - - + + + + + + + + Do you want to close this dialog? Vuoi chiudere questa finestra di dialogo? - + Meshing Meshing - + Constraint force Vincolo forza @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, Importa/Esporta - + Constraint Contact Vincolo Contatto - + Constraint displacement Spostamento dei vincoli - + Constraint fixed Vincolo fisso - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Vincolo flusso di calore - + Constraint initial temperature Vincolo temperatura iniziale - + Constraint planerotation Constraint planerotation - + Constraint pressure Vincolo di pressione @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Vincolo molla - + Constraint temperature Vincolo temperatura - + Constraint transform Vincolo trasformazione - + Edit post processing object Modificare oggetto post processing @@ -4075,11 +4070,6 @@ Per le variabili possibili, vedere la casella di descrizione qui sotto. SphereWidget - - - Form - Modulo - x @@ -4116,11 +4106,6 @@ Per le variabili possibili, vedere la casella di descrizione qui sotto. TaskAnalysisInfo - - - Form - Modulo - Meshes: @@ -4134,11 +4119,6 @@ Per le variabili possibili, vedere la casella di descrizione qui sotto. TaskCreateNodeSet - - - Form - Modulo - Volume @@ -4190,21 +4170,8 @@ Per le variabili possibili, vedere la casella di descrizione qui sotto.Angolo di arresto: - - TaskDriver - - - Form - Modulo - - TaskFemConstraint - - - Form - Modulo - Add reference @@ -4253,11 +4220,6 @@ Per le variabili possibili, vedere la casella di descrizione qui sotto. TaskFemConstraintBearing - - - Form - Modulo - Add reference @@ -4326,11 +4288,6 @@ Per le variabili possibili, vedere la casella di descrizione qui sotto. TaskFemConstraintContact - - - Form - Modulo - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Modulo - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Modulo - Boundary @@ -4731,11 +4678,6 @@ normale della faccia è usata come direzione TaskFemConstraintPlaneRotation - - - Form - Modulo - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normale della faccia è usata come direzione TaskFemConstraintPressure - - - Form - Modulo - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normale della faccia è usata come direzione TaskFemConstraintSpring - - - Form - Modulo - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Modulo - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Modulo - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Modulo - - TaskPostClip - - - Form - Modulo - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Modulo - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Modulo - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Modulo - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Modulo - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Modulo - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Modulo - Max. Size: @@ -6389,11 +6268,6 @@ Per favore seleziona prima un tipo di risultato. TaskPostContours - - - Form - Modulo - Vector: @@ -6454,7 +6328,7 @@ Per favore seleziona prima un tipo di risultato. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts index 70a0e7ec94..2bd6f19307 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - クリップ領域を定義する関数を使用するクリップフィルターを定義/作成 + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ 結果オブジェクトからポスト処理パイプラインを作成 - + Wrong selection type 間違った選択タイプ - + Select a result object, please. 結果オブジェクトを選択してください。 @@ -689,12 +689,12 @@ 関数を作成 - + Create pipeline from result 結果からパイプラインを作成 - + Edit Mirror ミラーを編集 @@ -1017,12 +1017,12 @@ 低周波数制限 - + File does not exist ファイルが存在しません。 - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">注意:</span> メッシュの対称性上有利なため偶数のコア数を使用することを推奨します(8コア使用の方が9コアよりも早くなる可能性があります)。<br/><span style=" font-weight:600;">注意:</span>極端な場合にはコア数が多すぎると ElmerSolver が収束しないことがあります。</p></body></html> - + File does not exist ファイルが存在しません。 - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. 別のファイルを指定してください。 - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: マルチスレッドには適していません。 - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1379,12 +1379,12 @@ adding an analysis container デフォルトの gmsh バイナリファイルを使用する場合は入力なし - + File does not exist ファイルが存在しません。 - + The specified executable '%1' does not exist! @@ -1565,12 +1565,12 @@ If unchecked, they will be sorted by their name. 入力ファイルにコメントを書く - + File does not exist ファイルが存在しません。 - + The specified executable '%1' does not exist! @@ -1674,12 +1674,12 @@ that "MAXKOI" needs to be increased. 反復ソルバーを使用し、「MAXKOI」を増やす必要があるというエラーメッセージが表示される場合、この値を増やす必要があるかもしれません。 - + File does not exist ファイルが存在しません。 - + The specified z88r executable '%1' does not exist! @@ -1690,18 +1690,18 @@ Specify another file please. Specify another file please. - - + + Wrong file ファイルが間違っています。 - + You must specify the path to the z88r.exe! z88r.exe のパスを指定する必要があります! - + You must specify the path to the z88r! z88r のパスを指定する必要があります! @@ -1739,7 +1739,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error 入力エラー @@ -1747,7 +1747,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error 入力エラー @@ -1755,7 +1755,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error 入力エラー @@ -1763,7 +1763,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error 入力エラー @@ -1771,13 +1771,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error 入力エラー - + Please specify a force greater than 0 力に0より大きい値を指定してください @@ -1793,7 +1793,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error 入力エラー @@ -1801,8 +1801,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error 入力エラー @@ -1810,7 +1810,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error 入力エラー @@ -1826,7 +1826,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error 入力エラー @@ -1834,7 +1834,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error 入力エラー @@ -1842,7 +1842,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error 入力エラー @@ -1850,12 +1850,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh FEM メッシュを編集 - + Meshing failure メッシュ作成失敗 @@ -1863,7 +1863,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error 入力エラー @@ -1942,22 +1942,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error 選択エラー @@ -1967,46 +1967,46 @@ Specify another file please. オブジェクト内に1つの面しかありません! - マスター面に移動しました。 - - + + Only one master face and one slave face for a contact constraint! 接触拘束に使用できるのは1つのマスター面と1つのスレーブ面だけです! - - - - + + + + Nothing selected! 何も選択されていません! - - + + Only one slave face for a contact constraint! 接触拘束に使用できるのは1つのスレーブ面だけです! - - - - + + + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - - + + Only faces can be picked 面のみを選択できます。 - + Only one master for a contact constraint! 接触拘束に使用できるのは1つのマスターだけです! - + Only one master face for a contact constraint! 接触拘束に使用できるのは1つのマスター面だけです! @@ -2014,28 +2014,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error 選択エラー - - + + Nothing selected! 何も選択されていません! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - + Only one type of selection (vertex,face or edge) per constraint allowed! 拘束ごとに1種類の選択 (頂点、面、エッジ) しかできません! @@ -2043,28 +2043,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error 選択エラー - - + + Nothing selected! 何も選択されていません! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - + Only one type of selection (vertex,face or edge) per constraint allowed! 拘束ごとに1種類の選択 (頂点、面、エッジ) しかできません! @@ -2172,28 +2172,28 @@ Specify another file please. 3D では面、2D ではエッジのみを選択できます。 - - - - - + + + + + Selection error 選択エラー - - + + Nothing selected! 何も選択されていません! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - + Only one type of selection (vertex,face or edge) per constraint allowed! 拘束ごとに1種類の選択 (頂点、面、エッジ) しかできません! @@ -2202,38 +2202,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error 選択エラー - + Nothing selected! 何も選択されていません! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - + Only one type of selection (vertex,face or edge) per constraint allowed! 拘束ごとに1種類の選択 (頂点、面、エッジ) しかできません! - - + + Wrong selection 誤った選択 - + Select an edge or a face, please. エッジまたは面を選択してください。 @@ -2266,30 +2266,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error 選択エラー - - + + Nothing selected! 何も選択されていません! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - - + + Selection must only consist of faces! 面のみを選択する必要があります! @@ -2297,42 +2297,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error 選択エラー - - + + Only one face can be selected for a plane rotation constraint! 平面回転拘束では面を1つだけ選択できます! - - + + Nothing selected! 何も選択されていません! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - + Only faces can be picked 面のみを選択できます。 - + Only planar faces can be picked 平らな面のみを選択できます。 @@ -2340,28 +2340,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error 選択エラー - - + + Nothing selected! 何も選択されていません! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - + Only faces can be picked 面のみを選択できます。 @@ -2382,28 +2382,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error 選択エラー - - + + Nothing selected! 何も選択されていません! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - + Only faces can be picked 面のみを選択できます。 @@ -2411,22 +2411,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error 選択エラー - - + + Nothing selected! 何も選択されていません! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! @@ -2444,54 +2444,54 @@ Specify another file please. 変換可能な面が変更されました。変換可能な面だけを追加し、変換できない面は削除してください! - - - - - - - - - - + + + + + + + + + + Selection error 選択エラー - - + + Nothing selected! 何も選択されていません! - - + + Only one face for rectangular transform constraint! 直交変換拘束では1つの面だけ使用できます! - - + + Selected object is not a part! 選択されたオブジェクトは部品ではありません! - + Only one face for transform constraint! 変換拘束では1つの面だけ使用できます! - + Only faces can be picked 面のみを選択できます。 - + Only cylindrical faces can be picked 円筒面のみを選択できます。 - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface 変換可能な面のみを選択できます! まず表面に変位拘束を適用し、その後、表面に拘束を適用します。 @@ -2507,7 +2507,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function クリップ領域、陰関数を選択 @@ -2515,7 +2515,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function 関数による切り取り、陰関数を選択 @@ -2523,12 +2523,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options 直線に沿うデータのオプション - + Length X-Axis plot label 長さ @@ -2537,12 +2537,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options 点位置データのオプション - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2550,7 +2550,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options 結果表示オプション @@ -2558,7 +2558,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function 陰関数 @@ -2566,7 +2566,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options スカラークリップのオプション @@ -2574,7 +2574,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options たわみのオプション @@ -2590,7 +2590,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis 解析をアクティブ化 @@ -2598,12 +2598,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure メッシュ作成失敗 - + The FEM module is built without NETGEN support. Meshing will not work!!! FEM モジュールは NETGEN サポート無しでビルドされています。メッシュ作成機能は動作しません! @@ -2611,15 +2611,15 @@ Specify another file please. FemMaterial - + FEM material FEM 材料 + - Material マテリアル @@ -2644,9 +2644,9 @@ Specify another file please. 材料名 + - TextLabel テキストラベル @@ -2992,17 +2992,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3017,11 +3017,11 @@ Specify another file please. 遠心荷重パラメーター + - - + Parameter パラメーター @@ -3051,13 +3051,13 @@ Specify another file please. 断面表示パラメーター - - + + - + + - Constraint Properties 拘束プロパティ @@ -3072,9 +3072,12 @@ Specify another file please. ポテンシャル: - - - + + + + + + @@ -3087,18 +3090,15 @@ Specify another file please. + + + - - - - - - unspecified 未指定 @@ -3124,16 +3124,16 @@ with a harmonic/oscillating driving force 虚部は調和/振動駆動力を持つ方程式でのみ使用されます。 + - Real 実部 + - Imaginary 虚部 @@ -3153,9 +3153,9 @@ with a harmonic/oscillating driving force スカラーポテンシャルの虚部 + - x x @@ -3174,9 +3174,9 @@ Note: has no effect if a solid was selected 注意: ソリッドが選択されている場合は無効 + - y y @@ -3195,9 +3195,9 @@ Note: has no effect if a solid was selected 注意: ソリッドが選択されている場合は無効 + - z z @@ -3262,8 +3262,8 @@ Note: has no effect if a solid was selected ビームセクションパラメーター - + Cross section parameter 断面パラメーター @@ -3314,30 +3314,30 @@ Note: has no effect if a solid was selected 回転: - - - + + + formula - + Velocity x: 速度 x: - + Velocity y: 速度 y: - + Velocity z: 速度 z: @@ -3461,14 +3461,14 @@ Note: for 2D only setting for x is possible, ポテンシャル y 成分の虚部 - + Real part of potential z-component ポテンシャル z 成分の実部 - + Imaginary part of potential z-component ポテンシャル z 成分の虚部 @@ -3534,11 +3534,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - フォーム - x @@ -3593,36 +3588,36 @@ Note: for 2D only setting for x is possible, 拘束を編集 - - - - - - - - + + + + + + + + A dialog is already open in the task panel タスクパネルで既にダイアログが開かれています - - - - - - - - + + + + + + + + Do you want to close this dialog? このダイアログを閉じますか? - + Meshing メッシュ作成 - + Constraint force 拘束力 @@ -3644,42 +3639,42 @@ Note: for 2D only setting for x is possible, インポート/エクスポート - + Constraint Contact 接触拘束 - + Constraint displacement 変位拘束 - + Constraint fixed 固定拘束 - + Constraint fluid boundary 流体境界拘束 - + Constraint heat flux 熱流束拘束 - + Constraint initial temperature 初期温度拘束 - + Constraint planerotation 平面回転拘束 - + Constraint pressure 圧力拘束 @@ -3689,22 +3684,22 @@ Note: for 2D only setting for x is possible, プーリー拘束 - + Constraint spring ばね拘束 - + Constraint temperature 温度拘束 - + Constraint transform 変換拘束 - + Edit post processing object ポスト処理オブジェクトを編集 @@ -4051,11 +4046,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - フォーム - x @@ -4092,11 +4082,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - フォーム - Meshes: @@ -4110,11 +4095,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - フォーム - Volume @@ -4166,21 +4146,8 @@ For possible variables, see the description box below. 停止角度 - - TaskDriver - - - Form - フォーム - - TaskFemConstraint - - - Form - フォーム - Add reference @@ -4229,11 +4196,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - フォーム - Add reference @@ -4302,11 +4264,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - フォーム - Select master face, click Add or Remove @@ -4446,11 +4403,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - フォーム - Select multiple face(s), click Add or Remove @@ -4469,11 +4421,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - フォーム - Boundary @@ -4704,11 +4651,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - フォーム - Select a single face, click Add or Remove @@ -4727,11 +4669,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - フォーム - Select multiple face(s), click Add or Remove @@ -4765,11 +4702,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - フォーム - Select multiple face(s), click Add or Remove @@ -4809,11 +4741,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - フォーム - Select multiple face(s), click Add or Remove @@ -4843,11 +4770,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - フォーム - Rectangular transform @@ -4895,21 +4817,8 @@ used for the Elmer solver 変換可能な面 - - TaskObjectName - - - Form - フォーム - - TaskPostClip - - - Form - フォーム - Create @@ -4928,11 +4837,6 @@ used for the Elmer solver TaskPostCut - - - Form - フォーム - Create @@ -4941,11 +4845,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - フォーム - Coordinates @@ -5047,11 +4946,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - フォーム - Mode @@ -5129,11 +5023,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - フォーム - Scalar @@ -5182,11 +5071,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - フォーム - Vector @@ -5215,11 +5099,6 @@ used for the Elmer solver TaskTetParameter - - - Form - フォーム - Max. Size: @@ -6358,11 +6237,6 @@ Please select a result type first. TaskPostContours - - - Form - フォーム - Vector: @@ -6423,7 +6297,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options 等高線フィルターのオプション diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ka.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ka.ts index 3132ddca6d..f23bd2c675 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ka.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ka.ts @@ -24,7 +24,7 @@ Fem - Fem + სემ @@ -42,7 +42,7 @@ Fem - Fem + სემ @@ -60,7 +60,7 @@ Fem - Fem + სემ @@ -78,7 +78,7 @@ Fem - Fem + სემ @@ -96,7 +96,7 @@ Fem - Fem + სემ @@ -114,7 +114,7 @@ Fem - Fem + სემ @@ -132,7 +132,7 @@ Fem - Fem + სემ @@ -150,7 +150,7 @@ Fem - Fem + სემ @@ -168,7 +168,7 @@ Fem - Fem + სემ @@ -186,7 +186,7 @@ Fem - Fem + სემ @@ -204,7 +204,7 @@ Fem - Fem + სემ @@ -222,7 +222,7 @@ Fem - Fem + სემ @@ -240,7 +240,7 @@ Fem - Fem + სემ @@ -258,7 +258,7 @@ Fem - Fem + სემ @@ -276,7 +276,7 @@ Fem - Fem + სემ @@ -291,7 +291,7 @@ Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული @@ -304,7 +304,7 @@ Fem - Fem + სემ @@ -323,7 +323,7 @@ Fem - Fem + სემ @@ -341,7 +341,7 @@ Fem - Fem + სემ @@ -350,13 +350,13 @@ - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region ფილტრის აღწერა/შექმნა, რომელიც კვეთის არეალის აღსაწერად ფუნქციებს იყენებს Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული @@ -369,7 +369,7 @@ Fem - Fem + სემ @@ -387,7 +387,7 @@ Fem - Fem + სემ @@ -405,7 +405,7 @@ Fem - Fem + სემ @@ -423,7 +423,7 @@ Fem - Fem + სემ @@ -453,7 +453,7 @@ Box - Box + ყუთი @@ -497,7 +497,7 @@ Fem - Fem + სემ @@ -513,7 +513,7 @@ Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული @@ -527,7 +527,7 @@ Fem - Fem + სემ @@ -540,12 +540,12 @@ შედეგის ობიექტიდან მილსადენის პოსტპროცესინგის შექმნა - + Wrong selection type მონიშნულის არასწორი ტიპი - + Select a result object, please. გთხოვთ მონიშნოთ შედეგი. @@ -555,7 +555,7 @@ Fem - Fem + სემ @@ -573,7 +573,7 @@ Fem - Fem + სემ @@ -689,14 +689,14 @@ ფუნქციის შექმნა - + Create pipeline from result შედეგიდან მილსადენის შექმნა - + Edit Mirror - სარკის ჩასწორება + ანარეკლის ჩასწორება @@ -763,7 +763,7 @@ Remove - მოცილება + წაშლა @@ -1017,12 +1017,12 @@ დაბალი სიხშირის ლიმიტი - + File does not exist ფაილი არ არსებობს - + The specified executable '%1' does not exist! @@ -1054,7 +1054,7 @@ Specify another file please. Search in known binary directories - გამშვები ფაილების ცნობილ საქაღალდეებში ძებნა + ცნობილ ბინარულ საქაღალდეებში ძებნა @@ -1096,12 +1096,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p>Leave blank to use default Elmer elmer binary file</p><p><span style=" font-weight:600;">Note:</span> To use multithreading you must specify here<br> the executable variant with the suffix &quot;_mpi&quot;.</p></body></html> - <html><head/><body><p>დატოვეთ ცარიელი Elmber-ის ნაგულისხმები გამშვები ფაილის გამოსაყენებლად</p><p><span style=" font-weight:600;">Note:</span> მრავალნაკადიანობის გამოსაყენებლად აქ<br> გამშვები ფაილის &quot;_mpi&quot; სუფქსიანი ვარიანტი უნდა მიუთითოთ.</p></body></html> + <html><head/><body><p>დატოვეთ ცარიელი Elmber-ის ნაგულისხმევი გამშვები ფაილის გამოსაყენებლად</p><p><span style=" font-weight:600;">Note:</span> მრავალნაკადიანობის გამოსაყენებლად აქ<br> გამშვები ფაილის &quot;_mpi&quot; სუფქსიანი ვარიანტი უნდა მიუთითოთ.</p></body></html> Options - პარამეტრები + მორგება @@ -1119,36 +1119,36 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">დაიმახსოვრეთ:</span> რეკომენდებულია გამოიყენოთ ბირთვების ლუწი რაოდენობა, რომ წარმადობა დამატებით ბადის სიმეტრიისგანაც მიიღოთ. (8 ბირთვი უფრო სწრაფია, ვიდრე 9.)<br/><span style=" font-weight:600;">ასევე დაიმახსოვრეთ:</span> ექსტრემალურ შემთხვევებში ElverSolver-მა შეიძლება დამუშავება ვერ შეძლოს, თუ ბირთვების რაოდენობა მეტისმეტად დიდია.</p></body></html> - + File does not exist ფაილი არ არსებობს - + The specified executable '%1' does not exist! Specify another file please. - მითითებული გამშვები ფაილი + მითითებული გამშვები ფაილი '%1' - არ არსებობს! +არ არ არსებობს! მიუთითეთ სხვა ფაილი. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: შეუსაბამოა მრავალნაკადიანობისთვის - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Elmer-ის არასწორი პარამეტრი: იყენებთ ერთზე მეტ CPU-ის ბირთვს. ამიტომ საჭიროა გამშვები ფაილი სუფიქსით '_mpi.exe'. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Elmer-ის არასწორი პარამეტრი: იყენებთ ერთზე მეტ CPU-ის ბირთვს. @@ -1165,7 +1165,7 @@ Therefore an executable with the suffix '_mpi' is required. Export - Export + გატანა @@ -1273,7 +1273,7 @@ constraint or material is applied. Path: - მისამართი: + ბილიკი: @@ -1283,7 +1283,7 @@ constraint or material is applied. Mesh - Mesh + ბადე @@ -1339,14 +1339,14 @@ when the results dialog is opened Default solver - ნაგულისხმები ამომხსნელი + ნაგულისხმევი ამომხსნელი Default solver to be added when adding an analysis container ანალიზის კონტეინერის დამატებისას -დამატებული ნაგულისხმები ამომხსნელი +დამატებული ნაგულისხმევი ამომხსნელი @@ -1369,7 +1369,7 @@ adding an analysis container Search in known binary directories - გამშვები ფაილების ცნობილ საქაღალდეებში ძებნა + ცნობილ ბინარულ საქაღალდეებში ძებნა @@ -1382,19 +1382,19 @@ adding an analysis container ნაგულისხმევი gmsh გამშვები ფაილის გამოსაყენებლად დატოვეთ ცარიელი - + File does not exist ფაილი არ არსებობს - + The specified executable '%1' does not exist! Specify another file please. - მითითებული გამშვები ფაილი + მითითებული გამშვები ფაილი '%1' - არ არსებობს! +არ არ არსებობს! მიუთითეთ სხვა ფაილი. @@ -1546,7 +1546,7 @@ If unchecked, they will be sorted by their name. Search in known binary directories - გამშვები ფაილების ცნობილ საქაღალდეებში ძებნა + ცნობილ ბინარულ საქაღალდეებში ძებნა @@ -1569,12 +1569,12 @@ If unchecked, they will be sorted by their name. კომენტარების შესატან ფაილში ჩაწერა - + File does not exist ფაილი არ არსებობს - + The specified executable '%1' does not exist! @@ -1681,12 +1681,12 @@ that "MAXKOI" needs to be increased. შეცდომას, რომ საჭიროა "MAXKOI"-ის გაზრდა. - + File does not exist ფაილი არ არსებობს - + The specified z88r executable '%1' does not exist! @@ -1697,18 +1697,18 @@ Specify another file please. მიუთითეთ სხვა ფაილი. - - + + Wrong file არასწორი ფაილი - + You must specify the path to the z88r.exe! საჭიროა z88r.exe -მდე ბილიკის მითითება! - + You must specify the path to the z88r! საჭიროა z88r -მდე ბილიკის მითითება! @@ -1735,7 +1735,7 @@ Specify another file please. Input error - Input error + შეყვანის შეცდომა @@ -1746,45 +1746,45 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintContact - + Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintDisplacement - + Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintFluidBoundary - + Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintForce - - + + Input error - Input error + შეყვანის შეცდომა - + Please specify a force greater than 0 გთხოვთ მიუთითოთ ნულზე დიდი ძალა @@ -1794,32 +1794,32 @@ Specify another file please. Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintHeatflux - + Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintPressure - + Input error - Input error + შეყვანის შეცდომა @@ -1827,42 +1827,42 @@ Specify another file please. Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintSpring - + Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintTemperature - + Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgFemConstraintTransform - + Input error - Input error + შეყვანის შეცდომა FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh სემ ბადის ჩასწორება - + Meshing failure ბადის შეცდომა @@ -1870,7 +1870,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Input error @@ -1949,24 +1949,24 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა @@ -1974,46 +1974,46 @@ Specify another file please. ობიექტში მხოლოდ ერთი ზედაპირია! - გადავიტანე ძირითად ზედაპირზე - - + + Only one master face and one slave face for a contact constraint! კონტაქტის შეზღუდვას მხოლოდ ერთი მთავარი და ერთი მეორადი ზედაპირი შეიძლება ჰქონდეს! - - - - + + + + Nothing selected! არაფერია მონიშნული! - - + + Only one slave face for a contact constraint! კონტაქტის შეზღუდვას მხოლოდ ერთი მეორადი ზედაპირი შეიძლება ჰქონდეს! - - - - + + + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - - + + Only faces can be picked შეგიძლიათ აირჩიოთ მხოლოდ ზედაპირები - + Only one master for a contact constraint! კონტაქტის შეზღუდვას მხოლოდ ერთი მთავარი ობიექტი შეიძლება ჰქონდეს! - + Only one master face for a contact constraint! კონტაქტის შეზღუდვას მხოლოდ ერთი მთავარი ზედაპირი შეიძლება ჰქონდეს! @@ -2021,28 +2021,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა - - + + Nothing selected! არაფერია მონიშნული! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - + Only one type of selection (vertex,face or edge) per constraint allowed! ნებადართულია მხოლოდ ერთი ტიპი (წვერო, ზედაპირი ან წიბო) თითო შეზღუდვაზე! @@ -2050,30 +2050,30 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა - - + + Nothing selected! არაფერია მონიშნული! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - + Only one type of selection (vertex,face or edge) per constraint allowed! - ნებადართულია მხოლოდ ერთი ტიპი (წვერო, ზედაპირი ან წიბო) თითო შეზღუდვაზე! + ერთ შეზღუდვას მხოლოდ ერთი მონიშნული ტიპი (წვერო, ზედაპირი ან წიბო) შეიძლება, ჰქონდეს! @@ -2151,7 +2151,7 @@ Specify another file please. Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული @@ -2179,68 +2179,68 @@ Specify another file please. 3D ნაწილისთვის ზედაპირების და 2D ნაწილისთვს წიბოების გარდა - - - - - + + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა - - + + Nothing selected! არაფერია მონიშნული! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - + Only one type of selection (vertex,face or edge) per constraint allowed! - ნებადართულია მხოლოდ ერთი ტიპი (წვერო, ზედაპირი ან წიბო) თითო შეზღუდვაზე! + ერთ შეზღუდვას მხოლოდ ერთი მონიშნული ტიპი (წვერო, ზედაპირი ან წიბო) შეიძლება, ჰქონდეს! FemGui::TaskFemConstraintForce - - - - + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა - + Nothing selected! არაფერია მონიშნული! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - + Only one type of selection (vertex,face or edge) per constraint allowed! ნებადართულია მხოლოდ ერთი ტიპი (წვერო, ზედაპირი ან წიბო) თითო შეზღუდვაზე! - - + + Wrong selection არასწორი არჩევანი - + Select an edge or a face, please. გთხოვთ მონიშნოთ წიბო ან ზედაპირი. @@ -2252,7 +2252,7 @@ Specify another file please. Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა @@ -2273,30 +2273,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა - - + + Nothing selected! არაფერია მონიშნული! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - - + + Selection must only consist of faces! აირჩიეთ მხოლოდ ზედაპირები! @@ -2304,42 +2304,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა - - + + Only one face can be selected for a plane rotation constraint! სიბრტყის მოტრიალების შეზღუდვად მხოლოდ ერთი ზედაპირი შეგიძლიათ აირჩიოთ! - - + + Nothing selected! არაფერია მონიშნული! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - + Only faces can be picked შეგიძლიათ აირჩიოთ მხოლოდ ზედაპირები - + Only planar faces can be picked შეგიძლიათ აირჩიოთ მხოლოდ ბრტყელი ზედაპირები @@ -2347,28 +2347,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა - - + + Nothing selected! არაფერია მონიშნული! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - + Only faces can be picked შეგიძლიათ აირჩიოთ მხოლოდ ზედაპირები @@ -2389,28 +2389,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა - - + + Nothing selected! არაფერია მონიშნული! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - + Only faces can be picked შეგიძლიათ აირჩიოთ მხოლოდ ზედაპირები @@ -2418,22 +2418,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა - - + + Nothing selected! არაფერია მონიშნული! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! @@ -2451,54 +2451,54 @@ Specify another file please. გარდასახვადი ზედაპირები შეიცვალა. გთხოვთ, დაამატოთ მხოლოდ გარდასახვადი ზედაპირები და ამოიღეთ არაგარდასახვადი ზედაპირები! - - - - - - - - - - + + + + + + + + + + Selection error მონიშვნის შეცდომა - - + + Nothing selected! არაფერია მონიშნული! - - + + Only one face for rectangular transform constraint! მართკუთხედის გარდასაქმნის შესაზღუდად აირჩიეთ მხოლოდ ერთი ზედაპირი! - - + + Selected object is not a part! მონიშნული ობიექტი ნაწილი არაა! - + Only one face for transform constraint! შეზღუდვის გარდასაქმნელად აირჩიეთ მხოლოდ ერთი ზედაპირი! - + Only faces can be picked შეგიძლიათ აირჩიოთ მხოლოდ ზედაპირები - + Only cylindrical faces can be picked შეგიძლიათ აირჩიოთ მხოლოდ ცილინდრული ზედაპირები - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface შესაძლებელია მხოლოდ გარდაქნადი ზედაპირების არჩევა! ჯერ გამოიყენეთ გადაადგილების შეზღუდვა, შემდეგ კი გამოიყენეთ ზედაპირზე შეზღუდვა @@ -2514,7 +2514,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function რეგიონის კვეთა, აირჩიეთ არაცხადი ფუნქცია @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function ფუნქციის კვეთა, აირჩიეთ არაცხადი ფუნქცია @@ -2530,12 +2530,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options ხაზის გასწვრივი მონაცემების პარამეტრები - + Length X-Axis plot label სიგრძე @@ -2544,12 +2544,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options წერტილის მონაცემების პარამეტრები - + %1 at (%2; %3; %4) is: %5 %6 %1 მისამართზე (%2; %3; %4) არის: %5 %6 @@ -2557,7 +2557,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options შედეგის ჩვენების მორგება @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function არაცხადი ფუნქცია @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options სკალარის ფილტრის მორგება @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options გადატანის პარამეტრები @@ -2597,7 +2597,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis ანალიზის აქტივაცია @@ -2605,12 +2605,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure ბადის შეცდომა - + The FEM module is built without NETGEN support. Meshing will not work!!! სემ მოდული აშენებულია NETGEN-ის მხარდაჭერის გარეშე. მეშინგი არ იმუშავებს!!! @@ -2618,15 +2618,15 @@ Specify another file please. FemMaterial - + FEM material სემის მასალა + - Material მასალა @@ -2651,11 +2651,11 @@ Specify another file please. მასალის სახელი + - TextLabel - ტექსტური წარწერა + ტექსტური ჭდე @@ -2670,7 +2670,7 @@ Specify another file please. use FreeCAD material editor - FreeCAD-ის მასალების რედაქტორის გამოყენება + 'FreeCAD'-ის მასალების რედაქტორის გამოყენება @@ -2999,17 +2999,17 @@ Specify another file please. - - - + + + 0 mm 0 მმ @@ -3024,11 +3024,11 @@ Specify another file please. ცენტრიფუგის პარამეტრი + - - + Parameter პარამეტრი @@ -3058,13 +3058,13 @@ Specify another file please. განივი კვეთის პარამეტრი - - + + - + + - Constraint Properties შეზღუდვის თვისებები @@ -3079,9 +3079,12 @@ Specify another file please. პოტენციალი: - - - + + + + + + @@ -3094,18 +3097,15 @@ Specify another file please. + + + - - - - - - unspecified არ არის მითითებული @@ -3132,16 +3132,16 @@ with a harmonic/oscillating driving force მამოძრავებელი ძალის მქონე ტოლობებთან ერთად გამოიყენება + - Real რეალური + - Imaginary წარმოსახვითი @@ -3161,9 +3161,9 @@ with a harmonic/oscillating driving force სკალარული პოტენციალის წარმოსახვითი ნაწილი + - x x @@ -3182,9 +3182,9 @@ Note: has no effect if a solid was selected შენიშვნა: ეფექტი არ გააჩნია, თუ მონიშნული მყარია + - y y @@ -3203,9 +3203,9 @@ Note: has no effect if a solid was selected შენიშვნა: ეფექტი არ გააჩნია, თუ მონიშნული მყარია + - z z @@ -3270,8 +3270,8 @@ Note: has no effect if a solid was selected კოჭის სექციის პარამეტრი - + Cross section parameter განივი გადანაჭერის პარამეტრი @@ -3322,30 +3322,30 @@ Note: has no effect if a solid was selected ბრუნვა: - - - + + + formula ფორმულა - + Velocity x: აჩქარება X: - + Velocity y: აჩქარება Y: - + Velocity z: აჩქარება Z: @@ -3475,14 +3475,14 @@ Note: for 2D only setting for x is possible, Y-კომპონენტის პოტენციალის წარმოდგენითი ნაწილი - + Real part of potential z-component Z-კომპონენტის პოტენციალის რეალური ნაწილი - + Imaginary part of potential z-component Z-კომპონენტის პოტენციალის წარმოდგენითი ნაწილი @@ -3512,7 +3512,7 @@ Note: for 2D only setting for x is possible, Max element size (0.0 = Auto): - ელემენტის მაქს ზომა (0.0 = ავტო): + მაქს ელემენტის ზომა (0.0 = ავტომატური) @@ -3523,7 +3523,7 @@ Note: for 2D only setting for x is possible, Min element size (0.0 = Auto): - ელემენტის მინ ზომა (0.0 = ავტო): + მინ ელემენტის ზომა (0.0 = ავტომატური) @@ -3548,11 +3548,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - ფორმა - x @@ -3571,7 +3566,7 @@ Note: for 2D only setting for x is possible, Origin - კოორდინატების საწყისი + საწყისი @@ -3607,36 +3602,36 @@ Note: for 2D only setting for x is possible, ზღვრის ჩასწორება - - - - - - - - + + + + + + + + A dialog is already open in the task panel - A dialog is already open in the task panel + ფანჯარა უკვე ღიაა ამოცანების პანელზე - - - - - - - - + + + + + + + + Do you want to close this dialog? - Do you want to close this dialog? + ნამდვილად გსურთ ამ ფანჯრის დახურვა? - + Meshing ბადის აგება - + Constraint force ძალის ზღვარი @@ -3658,42 +3653,42 @@ Note: for 2D only setting for x is possible, შეტანა-გატანა - + Constraint Contact კონტაქტის შეზღუდვა - + Constraint displacement გადაადგილების შეზღუდვა - + Constraint fixed დამაგრებულის ზღვარი - + Constraint fluid boundary სითხის საზღვრის შეზღუდვა - + Constraint heat flux სითბოს ნაკადის შეზღუდვა - + Constraint initial temperature საწყისი ტემპერატურის შეზღუდვა - + Constraint planerotation სიბრტყის ტრიალის შეზღუდვა - + Constraint pressure წნევის შეზღუდვა @@ -3703,22 +3698,22 @@ Note: for 2D only setting for x is possible, შეზღუდული ბორბალი - + Constraint spring ზამბარის შეზღუდვა - + Constraint temperature ტემპერატურის შეზღუდვა - + Constraint transform გარდაქნის შეზღუდვა - + Edit post processing object პოსტპროცესორის ობიექტის ჩასწორება @@ -3735,7 +3730,7 @@ Note: for 2D only setting for x is possible, Faces - სიბრტყეები + ზედაპირები @@ -3760,7 +3755,7 @@ Note: for 2D only setting for x is possible, Are you sure you want to continue? - დარწმუნებული ბრძანდებით, რომ გნებავთ გააგრძელოთ? + დარწმუნებული ბრძანდებით, რომ გნებავთ, გააგრძელოთ? @@ -3798,7 +3793,7 @@ Note: for 2D only setting for x is possible, Max Principal Stress - მთავარი ძაბვის მაქს. + მთავარი ძაბვის მაქს @@ -3808,7 +3803,7 @@ Note: for 2D only setting for x is possible, Min Principal Stress - მთავარი ძაბვის მინ. + მთავარი ძაბვის მინ @@ -3858,7 +3853,7 @@ Note: for 2D only setting for x is possible, Displacement - წყალწყვა + გადაადგილება @@ -3873,7 +3868,7 @@ Note: for 2D only setting for x is possible, Slider max: - maqs.: + ცოციის მაქს: @@ -4067,11 +4062,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - ფორმა - x @@ -4108,11 +4098,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - ფორმა - Meshes: @@ -4121,16 +4106,11 @@ For possible variables, see the description box below. Constraints - Constraints + შეზღუდვები TaskCreateNodeSet - - - Form - ფორმა - Volume @@ -4182,21 +4162,8 @@ For possible variables, see the description box below. შეჩერების კუთხე: - - TaskDriver - - - Form - ფორმა - - TaskFemConstraint - - - Form - ფორმა - Add reference @@ -4240,16 +4207,11 @@ For possible variables, see the description box below. Distance - Distance + დაშორება TaskFemConstraintBearing - - - Form - ფორმა - Add reference @@ -4318,11 +4280,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - ფორმა - Select master face, click Add or Remove @@ -4338,7 +4295,7 @@ For possible variables, see the description box below. Remove - მოცილება + წაშლა @@ -4376,7 +4333,7 @@ For possible variables, see the description box below. Remove - მოცილება + წაშლა @@ -4463,15 +4420,10 @@ generated by the flow TaskFemConstraintFixed - - - Form - ფორმა - Select multiple face(s), click Add or Remove - მონიშნეთ ზედაპირ(ებ)-ი და დააწკაპუნეთ დამატებაზე ან წაშლაზე + აირჩიეთ ერთზე მეტი ზედაპირი. დააწკაპუნეთ დამატებას ან წაშლას @@ -4481,16 +4433,11 @@ generated by the flow Remove - მოცილება + წაშლა TaskFemConstraintFluidBoundary - - - Form - ფორმა - Boundary @@ -4504,7 +4451,7 @@ generated by the flow Select multiple face(s), click Add or Remove - მონიშნეთ ზედაპირ(ებ)-ი და დააწკაპუნეთ დამატებაზე ან წაშლაზე + აირჩიეთ ერთზე მეტი ზედაპირი. დააწკაპუნეთ დამატებას ან წაშლას @@ -4514,7 +4461,7 @@ generated by the flow Remove - მოცილება + წაშლა @@ -4608,7 +4555,7 @@ normal vector of the face is used as direction Select multiple face(s), click Add or Remove - მონიშნეთ ზედაპირ(ებ)-ი და დააწკაპუნეთ დამატებაზე ან წაშლაზე + აირჩიეთ ერთზე მეტი ზედაპირი. დააწკაპუნეთ დამატებას ან წაშლას @@ -4618,7 +4565,7 @@ normal vector of the face is used as direction Remove - მოცილება + წაშლა @@ -4667,7 +4614,7 @@ normal vector of the face is used as direction Remove - მოცილება + წაშლა @@ -4721,11 +4668,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - ფორმა - Select a single face, click Add or Remove @@ -4739,20 +4681,15 @@ normal vector of the face is used as direction Remove - მოცილება + წაშლა TaskFemConstraintPressure - - - Form - ფორმა - Select multiple face(s), click Add or Remove - მონიშნეთ ზედაპირ(ებ)-ი და დააწკაპუნეთ დამატებაზე ან წაშლაზე + აირჩიეთ ერთზე მეტი ზედაპირი. დააწკაპუნეთ დამატებას ან წაშლას @@ -4762,7 +4699,7 @@ normal vector of the face is used as direction Remove - მოცილება + წაშლა @@ -4782,15 +4719,10 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - ფორმა - Select multiple face(s), click Add or Remove - მონიშნეთ ზედაპირ(ებ)-ი და დააწკაპუნეთ დამატებაზე ან წაშლაზე + აირჩიეთ ერთზე მეტი ზედაპირი. დააწკაპუნეთ დამატებას ან წაშლას @@ -4800,7 +4732,7 @@ normal vector of the face is used as direction Remove - მოცილება + წაშლა @@ -4827,11 +4759,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - ფორმა - Select multiple face(s), click Add or Remove @@ -4845,7 +4772,7 @@ used for the Elmer solver Remove - მოცილება + წაშლა @@ -4861,11 +4788,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - ფორმა - Rectangular transform @@ -4889,7 +4811,7 @@ used for the Elmer solver Remove - მოცილება + წაშლა @@ -4913,21 +4835,8 @@ used for the Elmer solver გარდაქმნადი ზედაპირები - - TaskObjectName - - - Form - ფორმა - - TaskPostClip - - - Form - ფორმა - Create @@ -4946,11 +4855,6 @@ used for the Elmer solver TaskPostCut - - - Form - ფორმა - Create @@ -4959,11 +4863,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - ფორმა - Coordinates @@ -5065,11 +4964,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - ფორმა - Mode @@ -5147,11 +5041,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - ფორმა - Scalar @@ -5200,11 +5089,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - ფორმა - Vector @@ -5233,11 +5117,6 @@ used for the Elmer solver TaskTetParameter - - - Form - ფორმა - Max. Size: @@ -5456,7 +5335,7 @@ used for the Elmer solver Solve - გადაწყვეტა + ამოხსნა @@ -5520,7 +5399,7 @@ used for the Elmer solver Creates an analysis container with default solver - ანალიზის კონტეინერის შექმნა ნაგულისხმები ამომხსნელით + ანალიზის კონტეინერის შექმნა ნაგულისხმევი ამომხსნელით @@ -5550,7 +5429,7 @@ used for the Elmer solver Constant vacuum permittivity - ვაკუუმის გამტარობის მუდმივა + მუდმივი ვაკუუმის დიელექტრული შეღწევადობა @@ -5786,7 +5665,7 @@ used for the Elmer solver Electricforce equation - ელექტროძალის განტოლება + ელექტროძალის ტოლობა @@ -6208,7 +6087,7 @@ used for the Elmer solver Solid - მყარი სხეული + მყარი @@ -6246,7 +6125,7 @@ used for the Elmer solver Max Principal Stress - მთავარი ძაბვის მაქს. + მთავარი ძაბვის მაქს @@ -6266,7 +6145,7 @@ used for the Elmer solver Min Principal Stress - მთავარი ძაბვის მინ. + მთავარი ძაბვის მინ @@ -6340,7 +6219,7 @@ Please select a result type first. Fem - Fem + სემ @@ -6379,11 +6258,6 @@ Please select a result type first. TaskPostContours - - - Form - ფორმა - Vector: @@ -6410,7 +6284,7 @@ Please select a result type first. Fem - Fem + სემ @@ -6428,7 +6302,7 @@ Please select a result type first. Fem - Fem + სემ @@ -6444,7 +6318,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options კონდურის ფილტრის მორგება diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ko.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ko.ts index 45f7b1b3cf..a5bdf89857 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ko.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ko.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Edit Mirror @@ -1017,12 +1017,12 @@ Low frequency limit - + File does not exist 파일이 존재하지 않습니다 - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist 파일이 존재하지 않습니다 - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist 파일이 존재하지 않습니다 - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist 파일이 존재하지 않습니다 - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist 파일이 존재하지 않습니다 - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file 잘못된 파일 - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error 입력 오류 @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error 입력 오류 @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error 입력 오류 @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error 입력 오류 @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error 입력 오류 - + Please specify a force greater than 0 Please specify a force greater than 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error 입력 오류 @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error 입력 오류 @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error 입력 오류 @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error 입력 오류 @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error 입력 오류 @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error 입력 오류 @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh FEM 메쉬 편집 - + Meshing failure Meshing failure @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error 입력 오류 @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Selection error @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Nothing selected! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Selected object is not a part! - - + + Only faces can be picked Only faces can be picked - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Selection error - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Selection error - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Selection error - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Selection error - + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection 잘못 된 선택 - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Selection error - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Selection error - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only faces can be picked Only faces can be picked - + Only planar faces can be picked Only planar faces can be picked @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Selection error - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only faces can be picked Only faces can be picked @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Selection error - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only faces can be picked Only faces can be picked @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Selection error - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Selection error - - + + Nothing selected! Nothing selected! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Selected object is not a part! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Only faces can be picked - + Only cylindrical faces can be picked Only cylindrical faces can be picked - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label 거리 @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Activate analysis @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Meshing failure - + The FEM module is built without NETGEN support. Meshing will not work!!! The FEM module is built without NETGEN support. Meshing will not work!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material 재료 @@ -2659,9 +2659,9 @@ Specify another file please. Material name + - TextLabel 텍스트 라벨 @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter 매개 변수 @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected 회전: - - - + + + formula 수식 - + Velocity x: X 축 방향 속도 - + Velocity y: Y 축 방향 속도 - + Velocity z: Z 축 방향 속도 @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - 양식 - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, Edit constraint - - - - - - - - + + + + + + + + A dialog is already open in the task panel 테스크 패널에 이미 다이얼로그가 열려있습니다. - - - - - - - - + + + + + + + + Do you want to close this dialog? 다이얼로그를 닫으시겠습니까? - + Meshing Meshing - + Constraint force Constraint force @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, 가져오기 내보내기 - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object 대상물 해석결과의 정리 @@ -4072,11 +4067,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - 양식 - x @@ -4113,11 +4103,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - 양식 - Meshes: @@ -4131,11 +4116,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - 양식 - Volume @@ -4187,21 +4167,8 @@ For possible variables, see the description box below. Stop angle: - - TaskDriver - - - Form - 양식 - - TaskFemConstraint - - - Form - 양식 - Add reference @@ -4250,11 +4217,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - 양식 - Add reference @@ -4323,11 +4285,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - 양식 - Select master face, click Add or Remove @@ -4468,11 +4425,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - 양식 - Select multiple face(s), click Add or Remove @@ -4491,11 +4443,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - 양식 - Boundary @@ -4726,11 +4673,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - 양식 - Select a single face, click Add or Remove @@ -4749,11 +4691,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - 양식 - Select multiple face(s), click Add or Remove @@ -4787,11 +4724,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - 양식 - Select multiple face(s), click Add or Remove @@ -4832,11 +4764,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - 양식 - Select multiple face(s), click Add or Remove @@ -4866,11 +4793,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - 양식 - Rectangular transform @@ -4918,21 +4840,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - 양식 - - TaskPostClip - - - Form - 양식 - Create @@ -4951,11 +4860,6 @@ used for the Elmer solver TaskPostCut - - - Form - 양식 - Create @@ -4964,11 +4868,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - 양식 - Coordinates @@ -5070,11 +4969,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - 양식 - Mode @@ -5152,11 +5046,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - 양식 - Scalar @@ -5205,11 +5094,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - 양식 - Vector @@ -5238,11 +5122,6 @@ used for the Elmer solver TaskTetParameter - - - Form - 양식 - Max. Size: @@ -6384,11 +6263,6 @@ Please select a result type first. TaskPostContours - - - Form - 양식 - Vector: @@ -6449,7 +6323,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts index fb499e695d..35646d84f9 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Definieer/creëer een clip filter dat functies gebruikt om de clip regio te definiëren @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Verkeerd selectietype - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Functie maken - + Create pipeline from result Create pipeline from result - + Edit Mirror Edit Mirror @@ -1017,12 +1017,12 @@ Onder frequentie limiet - + File does not exist Bestand bestaat niet - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist Bestand bestaat niet - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Geef een ander bestand op. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist Bestand bestaat niet - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Opmerkingen voor invoerbestand schrijven - + File does not exist Bestand bestaat niet - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist Bestand bestaat niet - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Verkeerd bestand - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Invoerfout @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Invoerfout @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Invoerfout @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Invoerfout @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Invoerfout - + Please specify a force greater than 0 Specificeer een kracht groter dan 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Invoerfout @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Invoerfout @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Invoerfout @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Invoerfout @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Invoerfout @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Invoerfout @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh FEM-maas bewerken - + Meshing failure Meshing mislukt @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Invoerfout @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Selectiefout @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Niets geselecteerd! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Geselecteerd object is geen deel! - - + + Only faces can be picked Alleen vlakken kunnen geselecteerd worden - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Selectiefout - - + + Nothing selected! Niets geselecteerd! - - + + Selected object is not a part! Geselecteerd object is geen deel! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Selectiefout - - + + Nothing selected! Niets geselecteerd! - - + + Selected object is not a part! Geselecteerd object is geen deel! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Selectiefout - - + + Nothing selected! Niets geselecteerd! - - + + Selected object is not a part! Geselecteerd object is geen deel! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Selectiefout - + Nothing selected! Niets geselecteerd! - - + + Selected object is not a part! Geselecteerd object is geen deel! - + Only one type of selection (vertex,face or edge) per constraint allowed! - Only one type of selection (vertex,face or edge) per constraint allowed! + Slechts één selectietype (vertex, vlak of rand) per beperking toegestaan! - - + + Wrong selection Verkeerde selectie - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Selectiefout - - + + Nothing selected! Niets geselecteerd! - - + + Selected object is not a part! Geselecteerd object is geen deel! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Selectiefout - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Niets geselecteerd! - - + + Selected object is not a part! Geselecteerd object is geen deel! - + Only faces can be picked Alleen vlakken kunnen geselecteerd worden - + Only planar faces can be picked Alleen planaire vlakken kunnen geselecteerd worden @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Selectiefout - - + + Nothing selected! Niets geselecteerd! - - + + Selected object is not a part! Geselecteerd object is geen deel! - + Only faces can be picked Alleen vlakken kunnen geselecteerd worden @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Selectiefout - - + + Nothing selected! Niets geselecteerd! - - + + Selected object is not a part! Geselecteerd object is geen deel! - + Only faces can be picked Alleen vlakken kunnen geselecteerd worden @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Selectiefout - - + + Nothing selected! Niets geselecteerd! - - + + Selected object is not a part! Geselecteerd object is geen deel! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Selectiefout - - + + Nothing selected! Niets geselecteerd! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Geselecteerd object is geen deel! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Alleen vlakken kunnen geselecteerd worden - + Only cylindrical faces can be picked Alleen cylindrische vlakken kunnen geselecteerd worden - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Lengte @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 bij (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Activeer analyse @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Meshing mislukt - + The FEM module is built without NETGEN support. Meshing will not work!!! De FEM-module is gebouwd zonder NETGEN ondersteuning. De meshing zal niet werken!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM materiaal + - Material Materiaal @@ -2659,9 +2659,9 @@ Specify another file please. Materiaalnaam + - TextLabel Tekstbenaming @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Parameter @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potentieel: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified ongespecificeerd @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Echt + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected Rotatie: - - - + + + formula formule - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Vorm - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, Beperking bewerken - - - - - - - - + + + + + + + + A dialog is already open in the task panel Een dialoog is al geopend in het taakvenster - - - - - - - - + + + + + + + + Do you want to close this dialog? Wilt u dit dialoogvenster sluiten? - + Meshing Meshing - + Constraint force Beperkingskracht @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, Importeren-Exporteren - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Vorm - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Vorm - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Vorm - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. Stophoek: - - TaskDriver - - - Form - Vorm - - TaskFemConstraint - - - Form - Vorm - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Vorm - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Vorm - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Vorm - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Vorm - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Vorm - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Vorm - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Vorm - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Vorm - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Vorm - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Vorm - - TaskPostClip - - - Form - Vorm - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Vorm - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Vorm - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Vorm - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Vorm - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Vorm - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Vorm - Max. Size: @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - Vorm - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts index 8ad1824a9f..8229aa8abf 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts @@ -291,7 +291,7 @@ Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór @@ -350,13 +350,13 @@ - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region Zdefiniuj / dodaj filtr przycinania, który używa funkcji do określenia przyciętego obszaru Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór @@ -513,7 +513,7 @@ Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór @@ -540,12 +540,12 @@ Tworzy ciąg do obróbki danych z obiektu wyników - + Wrong selection type Niewłaściwy typ wyboru - + Select a result object, please. Wybierz obiekt wyników. @@ -689,12 +689,12 @@ Utwórz cechę - + Create pipeline from result Utwórz ciąg z wyniku - + Edit Mirror Edytuj odbicie lustrzane @@ -906,7 +906,7 @@ Default - Domyślny + Domyślne @@ -1016,12 +1016,12 @@ Dolna granica częstotliwości - + File does not exist Plik nie istnieje - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ zostaną połączone, aby uczynić granice objętości niewidocznymi.<html><head/><body><p><span style=" font-weight:600;">Uwaga:</span> Zaleca się korzystanie z parzystej liczby rdzeni by skorzystać na symetrii siatki (używanie 8 rdzeni może być szybsze niż 9).<br/><span style=" font-weight:600;">Ponadto:</span> W ekstremalnych przypadkach ElmerSolver może nie osiągać zbieżności jeśli liczba rdzeni jest zbyt wysoka.</p></body></html> - + File does not exist Plik nie istnieje - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. Wybierz inny plik. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Nie nadaje się do pracy wielowątkowej - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Nieprawidłowe ustawienie Elmera: Używasz więcej niż jednego rdzenia procesora. Dlatego wymagany jest plik wykonywalny z przyrostkiem "_mpi.exe". - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Nieprawidłowe ustawienie Elmera: Używasz więcej niż jednego rdzenia procesora. @@ -1348,7 +1348,7 @@ tworzeniu nowej analizy None - Brak + Żadne @@ -1379,12 +1379,12 @@ tworzeniu nowej analizy Pozostaw to pole puste, aby użyć domyślnego pliku binarnego Gmsh - + File does not exist Plik nie istnieje - + The specified executable '%1' does not exist! @@ -1405,7 +1405,7 @@ Wybierz inny plik. Import - Import + Importuj @@ -1569,12 +1569,12 @@ Jeśli ta opcja nie jest zaznaczone, będą posortowane według nazw.Zapisz komentarze do pliku wejściowego - + File does not exist Plik nie istnieje - + The specified executable '%1' does not exist! @@ -1681,12 +1681,12 @@ iteracyjnego solvera, gdy pojawi się komunikat o błędzie, że należy zwiększyć wartość parametru "MAXKOI". - + File does not exist Plik nie istnieje - + The specified z88r executable '%1' does not exist! @@ -1697,18 +1697,18 @@ Specify another file please. Wybierz inny plik. - - + + Wrong file Niewłaściwy plik - + You must specify the path to the z88r.exe! Musisz określić ścieżkę do pliku solvera z88r.exe! - + You must specify the path to the z88r! Musisz określić ścieżkę do solvera z88r! @@ -1718,7 +1718,7 @@ Wybierz inny plik. Nodes set - Zestaw węzłów + Zbiór węzłów @@ -1726,7 +1726,7 @@ Wybierz inny plik. Nodes set - Zestaw węzłów + Zbiór węzłów @@ -1746,7 +1746,7 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintBearing - + Input error Błąd danych wejściowych @@ -1754,7 +1754,7 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintContact - + Input error Błąd danych wejściowych @@ -1762,7 +1762,7 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintDisplacement - + Input error Błąd danych wejściowych @@ -1770,7 +1770,7 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Błąd danych wejściowych @@ -1778,13 +1778,13 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintForce - - + + Input error Błąd danych wejściowych - + Please specify a force greater than 0 Proszę określić siłę większą od 0 @@ -1800,7 +1800,7 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintHeatflux - + Input error Błąd danych wejściowych @@ -1808,8 +1808,8 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Błąd danych wejściowych @@ -1817,7 +1817,7 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintPressure - + Input error Błąd danych wejściowych @@ -1833,7 +1833,7 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintSpring - + Input error Błąd danych wejściowych @@ -1841,7 +1841,7 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintTemperature - + Input error Błąd danych wejściowych @@ -1849,7 +1849,7 @@ Wybierz inny plik. FemGui::TaskDlgFemConstraintTransform - + Input error Błąd danych wejściowych @@ -1857,12 +1857,12 @@ Wybierz inny plik. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Edycja siatki MES - + Meshing failure Niepowodzenie tworzenia siatki @@ -1870,7 +1870,7 @@ Wybierz inny plik. FemGui::TaskDlgPost - + Input error Błąd danych wejściowych @@ -1949,24 +1949,24 @@ Wybierz inny plik. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error - Błąd selekcji + Błąd zaznaczenia @@ -1974,46 +1974,46 @@ Wybierz inny plik. Tylko jedna powierzchnia w obiekcie! - przeniesione do powierzchni głównej - - + + Only one master face and one slave face for a contact constraint! Tylko jedna powierzchnia główna i jedna powierzchnia drugorzędna dla kontaktu! - - - - + + + + Nothing selected! Nic nie wybrano! - - + + Only one slave face for a contact constraint! Tylko jedna powierzchnia drugorzędna dla kontaktu! - - - - + + + + Selected object is not a part! Wybrany obiekt nie jest częścią! - - + + Only faces can be picked - Można wybrać tylko powierzchnie + Można wybrać tylko ściany - + Only one master for a contact constraint! Tylko jedna powierzchnia główna dla kontaktu! - + Only one master face for a contact constraint! Tylko jedna powierzchnia główna dla kontaktu! @@ -2021,28 +2021,28 @@ Wybierz inny plik. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error - Błąd zaznaczenia + Błąd wyboru - - + + Nothing selected! Nic nie wybrano! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! - + Only one type of selection (vertex,face or edge) per constraint allowed! Dozwolony jest tylko jeden typ wyboru (wierzchołek, powierzchnia lub krawędź) na wiązanie! @@ -2050,28 +2050,28 @@ Wybierz inny plik. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error - Błąd selekcji + Błąd wyboru - - + + Nothing selected! Nic nie wybrano! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! - + Only one type of selection (vertex,face or edge) per constraint allowed! Dozwolony jest tylko jeden typ wyboru (wierzchołek, powierzchnia lub krawędź) na wiązanie! @@ -2151,7 +2151,7 @@ Wybierz inny plik. Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór @@ -2179,28 +2179,28 @@ Wybierz inny plik. Tylko powierzchnie dla części 3D i krawędzie dla 2D mogą być wybrane - - - - - + + + + + Selection error - Błąd selekcji + Błąd wyboru - - + + Nothing selected! Nic nie wybrano! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! - + Only one type of selection (vertex,face or edge) per constraint allowed! Dozwolony jest tylko jeden typ wyboru (wierzchołek, powierzchnia lub krawędź) na wiązanie! @@ -2209,38 +2209,38 @@ Wybierz inny plik. FemGui::TaskFemConstraintForce - - - - + + + + Selection error - Błąd selekcji + Błąd wyboru - + Nothing selected! Nic nie wybrano! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! - + Only one type of selection (vertex,face or edge) per constraint allowed! Dozwolony jest tylko jeden typ wyboru (wierzchołek, powierzchnia lub krawędź) na wiązanie! - - + + Wrong selection Niewłaściwy wybór - + Select an edge or a face, please. Wybierz krawędź lub powierzchnię. @@ -2252,12 +2252,12 @@ Wybierz inny plik. Selection error - Błąd wyboru + Błąd w zaznaczeniu Only planar faces can be picked - Mogą być użyte tylko powierzchnie płaskie + Wybrać można tylko płaskie ściany @@ -2273,30 +2273,30 @@ Wybierz inny plik. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error - Błąd w zaznaczeniu + Błąd wyboru - - + + Nothing selected! Nic nie wybrano! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! - - + + Selection must only consist of faces! Wybór musi składać się tylko z powierzchni! @@ -2304,42 +2304,42 @@ Wybierz inny plik. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error - Błąd selekcji + Błąd wyboru - - + + Only one face can be selected for a plane rotation constraint! Tylko jedna powierzchnia może być wybrana do wiązania utrzymującego węzły na płaskiej powierzchni (MPC Plane)! - - + + Nothing selected! Nic nie wybrano! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! - + Only faces can be picked - Można wybrać tylko powierzchnie + Można wybrać tylko ściany - + Only planar faces can be picked Mogą być użyte tylko powierzchnie płaskie @@ -2347,30 +2347,30 @@ Wybierz inny plik. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error - Błąd selekcji + Błąd wyboru - - + + Nothing selected! Nic nie wybrano! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! - + Only faces can be picked - Można wybrać tylko powierzchnie + Można wybrać tylko ściany @@ -2389,51 +2389,51 @@ Wybierz inny plik. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error - Błąd selekcji + Błąd wyboru - - + + Nothing selected! Nic nie wybrano! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! - + Only faces can be picked - Można wybrać tylko powierzchnie + Można wybrać tylko ściany FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error - Błąd selekcji + Błąd wyboru - - + + Nothing selected! Nic nie wybrano! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! @@ -2451,54 +2451,54 @@ Wybierz inny plik. Przekształcalne powierzchnie uległy zmianie. Dodaj tylko przekształcalne powierzchnie i usuń te nieprzekształcalne! - - - - - - - - - - + + + + + + + + + + Selection error Błąd selekcji - - + + Nothing selected! Nic nie wybrano! - - + + Only one face for rectangular transform constraint! Tylko jedna powierzchnia do wiązania przekształcenia prostokątnego! - - + + Selected object is not a part! Wybrany obiekt nie jest częścią! - + Only one face for transform constraint! Tylko jedna powierzchnia do wiązania przekształcenia! - + Only faces can be picked Można wybrać tylko powierzchnie - + Only cylindrical faces can be picked Mogą być użyte tylko powierzchnie cylindryczne - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Tylko przekształcalne powierzchnie mogą być wybrane! Dodaj najpierw definicję przemieszczeń a następnie wiązanie do powierzchni @@ -2514,7 +2514,7 @@ Wybierz inny plik. FemGui::TaskPostClip - + Clip region, choose implicit function Przytnij obszar, wybierz funkcję niejawną @@ -2522,7 +2522,7 @@ Wybierz inny plik. FemGui::TaskPostCut - + Function cut, choose implicit function Funkcja cięcia, wybierz funkcję niejawną @@ -2530,12 +2530,12 @@ Wybierz inny plik. FemGui::TaskPostDataAlongLine - + Data along a line options Opcje danych wzdłuż linii - + Length X-Axis plot label Długość @@ -2544,12 +2544,12 @@ Wybierz inny plik. FemGui::TaskPostDataAtPoint - + Data at point options Opcje danych w punkcie - + %1 at (%2; %3; %4) is: %5 %6 %1 w (%2; %3; %4) to: %5 %6 @@ -2557,7 +2557,7 @@ Wybierz inny plik. FemGui::TaskPostDisplay - + Result display options Opcje wyświetlania wyników @@ -2565,7 +2565,7 @@ Wybierz inny plik. FemGui::TaskPostFunction - + Implicit function Funkcja niejawna @@ -2573,7 +2573,7 @@ Wybierz inny plik. FemGui::TaskPostScalarClip - + Scalar clip options Opcje przycinania skalarnego @@ -2581,7 +2581,7 @@ Wybierz inny plik. FemGui::TaskPostWarpVector - + Warp options Opcje wizualizacji deformacji @@ -2597,7 +2597,7 @@ Wybierz inny plik. FemGui::ViewProviderFemAnalysis - + Activate analysis Aktywowanie analizy @@ -2605,12 +2605,12 @@ Wybierz inny plik. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Niepowodzenie tworzenia siatki - + The FEM module is built without NETGEN support. Meshing will not work!!! Moduł MES został skompilowany bez wsparcia generatora NETGEN. Tworzenie siatki nie będzie działać!!! @@ -2618,15 +2618,15 @@ Wybierz inny plik. FemMaterial - + FEM material Materiał MES + - Material Materiał @@ -2651,9 +2651,9 @@ Wybierz inny plik. Nazwa materiału + - TextLabel Etykieta tekstu @@ -2789,7 +2789,7 @@ Wybierz inny plik. Edit - Edycja + Edytuj @@ -2999,17 +2999,17 @@ Wybierz inny plik. - - - + + + 0 mm 0 mm @@ -3024,13 +3024,13 @@ Wybierz inny plik. Parametr wirowania + - - + Parameter - Parametry + Parametr @@ -3058,13 +3058,13 @@ Wybierz inny plik. Parametr wyników z przekroju - - + + - + + - Constraint Properties Właściwości wiązań @@ -3079,9 +3079,12 @@ Wybierz inny plik. Potencjał: - - - + + + + + + @@ -3094,18 +3097,15 @@ Wybierz inny plik. + + + - - - - - - unspecified nieokreślony @@ -3132,16 +3132,16 @@ with a harmonic/oscillating driving force z harmoniczną / oscylującą siłą napędzającą + - Real Rzeczywisty + - Imaginary Urojony @@ -3161,9 +3161,9 @@ z harmoniczną / oscylującą siłą napędzającą Urojona część potencjału skalarnego + - x x @@ -3182,9 +3182,9 @@ Note: has no effect if a solid was selected Uwaga: bez efektu, jeśli wybrano bryłę + - y y @@ -3203,9 +3203,9 @@ Note: has no effect if a solid was selected Uwaga: bez efektu, jeśli wybrano bryłę + - z z @@ -3270,8 +3270,8 @@ Uwaga: bez efektu, jeśli wybrano bryłę Parametr sekcji belki - + Cross section parameter Parametr przekroju poprzecznego @@ -3322,30 +3322,30 @@ Uwaga: bez efektu, jeśli wybrano bryłę Obrót: - - - + + + formula wzór - + Velocity x: Prędkość x: - + Velocity y: Prędkość y: - + Velocity z: Prędkość z: @@ -3475,14 +3475,14 @@ Uwaga: w 2D tylko ustawienie dla x jest możliwe, Urojona część składowej y potencjału - + Real part of potential z-component Rzeczywista część składowej z potencjału - + Imaginary part of potential z-component Urojona część składowej z potencjału @@ -3548,11 +3548,6 @@ Uwaga: w 2D tylko ustawienie dla x jest możliwe, PlaneWidget - - - Form - Formularz - x @@ -3571,7 +3566,7 @@ Uwaga: w 2D tylko ustawienie dla x jest możliwe, Origin - Odniesienie położenia + Początek układu współrzędnych @@ -3607,36 +3602,36 @@ Uwaga: w 2D tylko ustawienie dla x jest możliwe, Edytuj wiązanie - - - - - - - - + + + + + + + + A dialog is already open in the task panel Okienko dialogowe jest już otwarte w panelu zadań - - - - - - - - + + + + + + + + Do you want to close this dialog? - Czy chcesz zamknąć to okno dialogowe? + Czy chcesz zamknąć to okno? - + Meshing Tworzenie siatki - + Constraint force Zdefiniuj siłę @@ -3658,42 +3653,42 @@ Uwaga: w 2D tylko ustawienie dla x jest możliwe, Import-Eksport - + Constraint Contact Zdefiniuj kontakt - + Constraint displacement Zdefiniuj przemieszczenie - + Constraint fixed Zdefiniuj przytwierdzenie - + Constraint fluid boundary Zdefiniuj przepływ graniczny - + Constraint heat flux Obciążenie strumieniem ciepła - + Constraint initial temperature Zdefiniuj temperaturę początkową - + Constraint planerotation Wiązanie utrzymujące węzły na płaskiej powierzchni (MPC Plane) - + Constraint pressure Zdefiniuj obciążenie ciśnieniem @@ -3703,22 +3698,22 @@ Uwaga: w 2D tylko ustawienie dla x jest możliwe, Zdefiniuj koło pasowe - + Constraint spring Wiązanie sprężyny - + Constraint temperature Zdefiniuj temperaturę - + Constraint transform Zdefiniuj odkształcenie - + Edit post processing object Edytuj obiekt otrzymanych wyników @@ -3858,7 +3853,7 @@ Uwaga: w 2D tylko ustawienie dla x jest możliwe, Displacement - Odkształcenie + Przemieszczenie @@ -4067,11 +4062,6 @@ Aby uzyskać możliwe zmienne, zobacz pole opisu poniżej. SphereWidget - - - Form - Formularz - x @@ -4095,7 +4085,7 @@ Aby uzyskać możliwe zmienne, zobacz pole opisu poniżej. Center - Wyśrodkowane + Środek @@ -4103,16 +4093,11 @@ Aby uzyskać możliwe zmienne, zobacz pole opisu poniżej. Object dependencies - Zależności obiektów + Zależności obiektu TaskAnalysisInfo - - - Form - Formularz - Meshes: @@ -4126,11 +4111,6 @@ Aby uzyskać możliwe zmienne, zobacz pole opisu poniżej. TaskCreateNodeSet - - - Form - Formularz - Volume @@ -4182,21 +4162,8 @@ Aby uzyskać możliwe zmienne, zobacz pole opisu poniżej. Kąt zatrzymania: - - TaskDriver - - - Form - Formularz - - TaskFemConstraint - - - Form - Formularz - Add reference @@ -4235,7 +4202,7 @@ Aby uzyskać możliwe zmienne, zobacz pole opisu poniżej. Location - Umiejscowienie + Położenie @@ -4245,11 +4212,6 @@ Aby uzyskać możliwe zmienne, zobacz pole opisu poniżej. TaskFemConstraintBearing - - - Form - Formularz - Add reference @@ -4318,11 +4280,6 @@ Aby uzyskać możliwe zmienne, zobacz pole opisu poniżej. TaskFemConstraintContact - - - Form - Formularz - Select master face, click Add or Remove @@ -4463,11 +4420,6 @@ generowanej przez przepływ TaskFemConstraintFixed - - - Form - Formularz - Select multiple face(s), click Add or Remove @@ -4486,11 +4438,6 @@ generowanej przez przepływ TaskFemConstraintFluidBoundary - - - Form - Formularz - Boundary @@ -4721,11 +4668,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Formularz - Select a single face, click Add or Remove @@ -4744,11 +4686,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Formularz - Select multiple face(s), click Add or Remove @@ -4782,11 +4719,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Formularz - Select multiple face(s), click Add or Remove @@ -4827,11 +4759,6 @@ użyta przez solver Elmer TaskFemConstraintTemperature - - - Form - Formularz - Select multiple face(s), click Add or Remove @@ -4861,11 +4788,6 @@ użyta przez solver Elmer TaskFemConstraintTransform - - - Form - Formularz - Rectangular transform @@ -4913,21 +4835,8 @@ użyta przez solver Elmer Przekształcalne powierzchnie - - TaskObjectName - - - Form - Formularz - - TaskPostClip - - - Form - Formularz - Create @@ -4946,11 +4855,6 @@ użyta przez solver Elmer TaskPostCut - - - Form - Formularz - Create @@ -4959,11 +4863,6 @@ użyta przez solver Elmer TaskPostDataAlongLine - - - Form - Formularz - Coordinates @@ -5030,7 +4929,7 @@ użyta przez solver Elmer Center - Wyśrodkowane + Środek @@ -5065,11 +4964,6 @@ użyta przez solver Elmer TaskPostDisplay - - - Form - Formularz - Mode @@ -5147,11 +5041,6 @@ użyta przez solver Elmer TaskPostScalarClip - - - Form - Formularz - Scalar @@ -5200,11 +5089,6 @@ użyta przez solver Elmer TaskPostWarpVector - - - Form - Formularz - Vector @@ -5233,11 +5117,6 @@ użyta przez solver Elmer TaskTetParameter - - - Form - Formularz - Max. Size: @@ -6120,7 +5999,7 @@ sprężystość (naprężenia) Run - uruchom + Uruchom @@ -6379,11 +6258,6 @@ sił magnetodynamicznych 2D TaskPostContours - - - Form - Formularz - Vector: @@ -6444,7 +6318,7 @@ sił magnetodynamicznych 2D FemGui::TaskPostContours - + Contours filter options Wybierz opcje filtra @@ -6489,7 +6363,7 @@ deformacji (sprężystość nieliniowa) Center - Wyśrodkowane + Środek diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.ts index 8d35e03edc..386b0df4a0 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Definir/criar um filtro que utiliza funções para definir uma região a ser recortada + Define/create a clip filter which uses functions to define the clipped region + Definir/criar Filtro que utiliza funções para definir uma região a ser recortada @@ -540,12 +540,12 @@ Cria um pipeline de pós-processamento a partir de um objeto de resultado - + Wrong selection type Tipo de seleção errado - + Select a result object, please. Por favor selecione um objeto de resultado. @@ -689,12 +689,12 @@ Criar função - + Create pipeline from result Criar pipeline a partir do resultado - + Edit Mirror Editar espelhamento @@ -1016,12 +1016,12 @@ Limite de baixa frequência - + File does not exist O arquivo não existe - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ serão mescladas para tornar os limites de volume invisíveis. <html><head/><body><p><span style=" font-weight:600;">Nota:</span> Recomenda-se usar um número par de núcleos para se beneficiar de simetrias da malha. (O uso de 8 núcleos pode ser mais rápido que 9 núcleos.)<br/><span style=" font-weight:600;">Nota também:</span> Em casos extremos, ElmerSolver pode não convergir se o número de núcleos for muito alto.</p></body></html> - + File does not exist O arquivo não existe - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. Especifique outro arquivo, por favor. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Não adequado para multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Configuração errada de Elmer: Você usa mais de um núcleo da CPU. Portanto, é necessário um executável com o sufixo '_mpi.exe'. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Configuração errada de Elmer: Você usa mais de um núcleo da CPU. @@ -1384,12 +1384,12 @@ adicionar um recipiente de análise Deixe em branco para usar o arquivo binário padrão do Gmsh - + File does not exist O arquivo não existe - + The specified executable '%1' does not exist! @@ -1575,12 +1575,12 @@ Se desmarcado, eles serão classificados por seus nomes. Escrever comentários para o arquivo de entrada - + File does not exist O arquivo não existe - + The specified executable '%1' does not exist! @@ -1687,12 +1687,12 @@ solver iterativo e receberá uma mensagem de erro que "MAXKOI" precisa ser aumentada. - + File does not exist O arquivo não existe - + The specified z88r executable '%1' does not exist! @@ -1703,18 +1703,18 @@ Specify another file please. Especifique outro arquivo, por favor. - - + + Wrong file Arquivo incorreto - + You must specify the path to the z88r.exe! Você deve especificar o caminho para o z88r.exe! - + You must specify the path to the z88r! Você deve especificar o caminho para o z88r! @@ -1752,7 +1752,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintBearing - + Input error Erro de entrada @@ -1760,7 +1760,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintContact - + Input error Erro de entrada @@ -1768,7 +1768,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintDisplacement - + Input error Erro de entrada @@ -1776,7 +1776,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Erro de entrada @@ -1784,13 +1784,13 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintForce - - + + Input error Erro de entrada - + Please specify a force greater than 0 Por favor, especifique uma força maior que 0 @@ -1806,7 +1806,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintHeatflux - + Input error Erro de entrada @@ -1814,8 +1814,8 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Erro de entrada @@ -1823,7 +1823,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintPressure - + Input error Erro de entrada @@ -1839,7 +1839,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintSpring - + Input error Erro de entrada @@ -1847,7 +1847,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintTemperature - + Input error Erro de entrada @@ -1855,7 +1855,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgFemConstraintTransform - + Input error Erro de entrada @@ -1863,12 +1863,12 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Editar malha FEM - + Meshing failure Falha de engrenagem @@ -1876,7 +1876,7 @@ Especifique outro arquivo, por favor. FemGui::TaskDlgPost - + Input error Erro de entrada @@ -1955,22 +1955,22 @@ Especifique outro arquivo, por favor. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Erro de seleção @@ -1980,46 +1980,46 @@ Especifique outro arquivo, por favor. Apenas uma face no objeto! - movida para face mestre - - + + Only one master face and one slave face for a contact constraint! Apenas uma face mestre e uma face subordinada para restrição de contato! - - - - + + + + Nothing selected! Nada selecionado! - - + + Only one slave face for a contact constraint! Apenas uma face subordinada para restrições de contato! - - - - + + + + Selected object is not a part! O objeto selecionado não é uma peça! - - + + Only faces can be picked Somente as faces podem ser selecionadas - + Only one master for a contact constraint! Apenas um mestre para restrições de contato! - + Only one master face for a contact constraint! Apenas uma face mestre para restrições de contato! @@ -2027,28 +2027,28 @@ Especifique outro arquivo, por favor. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! O objeto selecionado não é uma peça! - + Only one type of selection (vertex,face or edge) per constraint allowed! Apenas um tipo de seleção (vértice, face ou aresta) por restrição permitida! @@ -2056,28 +2056,28 @@ Especifique outro arquivo, por favor. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! O objeto selecionado não é uma peça! - + Only one type of selection (vertex,face or edge) per constraint allowed! Apenas um tipo de seleção (vértice, face ou aresta) por restrição permitida! @@ -2185,28 +2185,28 @@ Especifique outro arquivo, por favor. Apenas faces para objetos 3D ou arestas para objetos 2D podem ser selecionadas - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! O objeto selecionado não é uma peça! - + Only one type of selection (vertex,face or edge) per constraint allowed! Apenas um tipo de seleção (vértice, face ou aresta) por restrição permitida! @@ -2215,38 +2215,38 @@ Especifique outro arquivo, por favor. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Erro de seleção - + Nothing selected! Nada selecionado! - - + + Selected object is not a part! O objeto selecionado não é uma peça! - + Only one type of selection (vertex,face or edge) per constraint allowed! Apenas um tipo de seleção (vértice, face ou aresta) por restrição permitida! - - + + Wrong selection Seleção errada - + Select an edge or a face, please. Por favor, selecione uma aresta ou uma face. @@ -2279,30 +2279,30 @@ Especifique outro arquivo, por favor. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! O objeto selecionado não é uma peça! - - + + Selection must only consist of faces! A seleção deve conter apenas faces! @@ -2310,42 +2310,42 @@ Especifique outro arquivo, por favor. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Erro de seleção - - + + Only one face can be selected for a plane rotation constraint! Apenas uma face pode ser selecionada para uma restrição de rotação de plano! - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! O objeto selecionado não é uma peça! - + Only faces can be picked Somente as faces podem ser selecionadas - + Only planar faces can be picked Apenas faces planas podem ser selecionadas @@ -2353,28 +2353,28 @@ Especifique outro arquivo, por favor. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! O objeto selecionado não é uma peça! - + Only faces can be picked Somente as faces podem ser selecionadas @@ -2395,28 +2395,28 @@ Especifique outro arquivo, por favor. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! O objeto selecionado não é uma peça! - + Only faces can be picked Somente as faces podem ser selecionadas @@ -2424,22 +2424,22 @@ Especifique outro arquivo, por favor. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! O objeto selecionado não é uma peça! @@ -2457,54 +2457,54 @@ Especifique outro arquivo, por favor. As faces transformáveis mudaram. Por favor, adicione apenas as faces transformáveis e remova as faces não-transformáveis! - - - - - - - - - - + + + + + + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Only one face for rectangular transform constraint! Apenas uma face para restrição de transformação retangular! - - + + Selected object is not a part! O objeto selecionado não é uma peça! - + Only one face for transform constraint! Apenas uma face para restrições de transformação! - + Only faces can be picked Somente as faces podem ser selecionadas - + Only cylindrical faces can be picked Somente as faces cilíndricas podem ser selecionadas - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Apenas faces transformáveis podem ser selecionadas! Aplique a restrição de deslocamento à superfície primeiro e então aplique a restrição à superfície @@ -2520,7 +2520,7 @@ Especifique outro arquivo, por favor. FemGui::TaskPostClip - + Clip region, choose implicit function Região de recorte, escolha função implícita @@ -2528,7 +2528,7 @@ Especifique outro arquivo, por favor. FemGui::TaskPostCut - + Function cut, choose implicit function Função cortar, escolha função implícita @@ -2536,12 +2536,12 @@ Especifique outro arquivo, por favor. FemGui::TaskPostDataAlongLine - + Data along a line options Dados ao longo de uma linha de opções - + Length X-Axis plot label Comprimento @@ -2550,12 +2550,12 @@ Especifique outro arquivo, por favor. FemGui::TaskPostDataAtPoint - + Data at point options Opções de dados no ponto - + %1 at (%2; %3; %4) is: %5 %6 %1 em (%2; %3; %4) é: %5 %6 @@ -2563,7 +2563,7 @@ Especifique outro arquivo, por favor. FemGui::TaskPostDisplay - + Result display options Opções de exibição de resultados @@ -2571,7 +2571,7 @@ Especifique outro arquivo, por favor. FemGui::TaskPostFunction - + Implicit function Função implícita @@ -2579,7 +2579,7 @@ Especifique outro arquivo, por favor. FemGui::TaskPostScalarClip - + Scalar clip options Opções de recorte escalar @@ -2587,7 +2587,7 @@ Especifique outro arquivo, por favor. FemGui::TaskPostWarpVector - + Warp options Opções de dobra @@ -2603,7 +2603,7 @@ Especifique outro arquivo, por favor. FemGui::ViewProviderFemAnalysis - + Activate analysis Ativar análises @@ -2611,12 +2611,12 @@ Especifique outro arquivo, por favor. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Falha de engrenagem - + The FEM module is built without NETGEN support. Meshing will not work!!! O módulo FEM é construído sem suporte NETGEN. Engrenagem não funcionará!!! @@ -2624,15 +2624,15 @@ Especifique outro arquivo, por favor. FemMaterial - + FEM material Material FEM + - Material Material @@ -2657,9 +2657,9 @@ Especifique outro arquivo, por favor. Nome do material + - TextLabel Rótulo de texto @@ -3005,17 +3005,17 @@ Especifique outro arquivo, por favor. - - - + + + 0 mm 0 mm @@ -3030,11 +3030,11 @@ Especifique outro arquivo, por favor. Parâmetro de centrífuga + - - + Parameter Parâmetro @@ -3064,13 +3064,13 @@ Especifique outro arquivo, por favor. Parâmetros de impressão de seções - - + + - + + - Constraint Properties Propriedades de Restrição @@ -3085,9 +3085,12 @@ Especifique outro arquivo, por favor. Potencial: - - - + + + + + + @@ -3100,18 +3103,15 @@ Especifique outro arquivo, por favor. + + + - - - - - - unspecified não especificado @@ -3138,16 +3138,16 @@ with a harmonic/oscillating driving force com forças atuantes harmônicas/oscilantes + - Real Real + - Imaginary Imaginário @@ -3167,9 +3167,9 @@ com forças atuantes harmônicas/oscilantes Parte imaginária de potencial escalar + - x x @@ -3188,9 +3188,9 @@ Note: has no effect if a solid was selected Nota: não surge efeito se um sólido foi selecionado + - y y @@ -3209,9 +3209,9 @@ Note: has no effect if a solid was selected Nota: não surge efeito se um sólido foi selecionado + - z z @@ -3276,8 +3276,8 @@ Nota: não surge efeito se um sólido foi selecionado Parâmetro da seção da viga - + Cross section parameter Cross section parameter @@ -3328,30 +3328,30 @@ Nota: não surge efeito se um sólido foi selecionado Rotação: - - - + + + formula fórmula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3481,14 +3481,14 @@ Nota: para configuração apenas 2D para x é possível, Parte imaginária de componente-y potencial - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Parte imaginária de componente-z potencial @@ -3554,11 +3554,6 @@ Nota: para configuração apenas 2D para x é possível, PlaneWidget - - - Form - Formulário - x @@ -3613,36 +3608,36 @@ Nota: para configuração apenas 2D para x é possível, Editar ação - - - - - - - - + + + + + + + + A dialog is already open in the task panel Uma caixa de diálogo já está aberta no painel de tarefas - - - - - - - - + + + + + + + + Do you want to close this dialog? Deseja fechar este diálogo? - + Meshing Conversão em malhas - + Constraint force Ação de força @@ -3664,42 +3659,42 @@ Nota: para configuração apenas 2D para x é possível, Importação e exportação - + Constraint Contact Constraint Contact - + Constraint displacement Ação de deslocamento - + Constraint fixed Ação fixa - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Ação de temperatura inicial - + Constraint planerotation Constraint planerotation - + Constraint pressure Ação de pressão @@ -3709,22 +3704,22 @@ Nota: para configuração apenas 2D para x é possível, Ação de polia - + Constraint spring Ação de mola - + Constraint temperature Ação de temperatura - + Constraint transform Ação de transformação - + Edit post processing object Edit post processing object @@ -4073,11 +4068,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Formulário - x @@ -4114,11 +4104,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Formulário - Meshes: @@ -4132,11 +4117,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Formulário - Volume @@ -4188,21 +4168,8 @@ For possible variables, see the description box below. Ângulo final: - - TaskDriver - - - Form - Formulário - - TaskFemConstraint - - - Form - Formulário - Add reference @@ -4251,11 +4218,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Formulário - Add reference @@ -4324,11 +4286,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Formulário - Select master face, click Add or Remove @@ -4469,11 +4426,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Formulário - Select multiple face(s), click Add or Remove @@ -4492,11 +4444,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Formulário - Boundary @@ -4729,11 +4676,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Formulário - Select a single face, click Add or Remove @@ -4752,11 +4694,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Formulário - Select multiple face(s), click Add or Remove @@ -4790,11 +4727,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Formulário - Select multiple face(s), click Add or Remove @@ -4835,11 +4767,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Formulário - Select multiple face(s), click Add or Remove @@ -4869,11 +4796,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Formulário - Rectangular transform @@ -4921,21 +4843,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Formulário - - TaskPostClip - - - Form - Formulário - Create @@ -4954,11 +4863,6 @@ used for the Elmer solver TaskPostCut - - - Form - Formulário - Create @@ -4967,11 +4871,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Formulário - Coordinates @@ -5073,11 +4972,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Formulário - Mode @@ -5155,11 +5049,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Formulário - Scalar @@ -5208,11 +5097,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Formulário - Vector @@ -5241,11 +5125,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Formulário - Max. Size: @@ -6387,11 +6266,6 @@ Please select a result type first. TaskPostContours - - - Form - Formulário - Vector: @@ -6452,7 +6326,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.ts index ca1ee7c57f..584666746d 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Edit Mirror @@ -1017,12 +1017,12 @@ Limite de baixa frequência - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist File does not exist - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Erro de Inserção @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Erro de Inserção @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Erro de Inserção @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Erro de Inserção @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Erro de Inserção - + Please specify a force greater than 0 Por favor, especifique uma força maior que 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Erro de Inserção @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Erro de Inserção @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Erro de Inserção @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Erro de Inserção @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Erro de Inserção @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Erro de Inserção @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Editar a malha FEM - + Meshing failure Falha na geração de malha @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Erro de Inserção @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Erro de seleção @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Nada selecionado! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - - + + Only faces can be picked Só podem ser selecionadas faces - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Erro de seleção - + Nothing selected! Nada selecionado! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Seleção errada - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Erro de seleção - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - + Only faces can be picked Só podem ser selecionadas faces - + Only planar faces can be picked Apenas faces planas podem ser selecionadas @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - + Only faces can be picked Só podem ser selecionadas faces @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - + Only faces can be picked Só podem ser selecionadas faces @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Erro de seleção - - + + Nothing selected! Nada selecionado! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Objeto selecionado não é uma peça (parte)! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Só podem ser selecionadas faces - + Only cylindrical faces can be picked Somente as faces cilíndricas podem ser selecionadas - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Comprimento @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Ativar análise @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Falha na geração de malha - + The FEM module is built without NETGEN support. Meshing will not work!!! O módulo da FEM está construído sem suporte NETGEN. Meshing não funcionará!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Material @@ -2659,9 +2659,9 @@ Specify another file please. Material name + - TextLabel Rótulo de texto @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Parâmetro @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Formulário - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, Editar restrição - - - - - - - - + + + + + + + + A dialog is already open in the task panel Já está aberta uma janela no painel de tarefas - - - - - - - - + + + + + + + + Do you want to close this dialog? Deseja fechar esta janela? - + Meshing Emalhar - + Constraint force Restrição de Força @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, Importar/Exportar - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Restringir pressão @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Restringir temperatura - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Formulário - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Formulário - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Formulário - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. Ângulo de paragem: - - TaskDriver - - - Form - Formulário - - TaskFemConstraint - - - Form - Formulário - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Formulário - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Formulário - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Formulário - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Formulário - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Formulário - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Formulário - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Formulário - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Formulário - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Formulário - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Formulário - - TaskPostClip - - - Form - Formulário - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Formulário - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Formulário - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Formulário - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Formulário - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Formulário - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Formulário - Max. Size: @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - Formulário - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ro.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ro.ts index cfb718f234..3574a418a5 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ro.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ro.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Definește/creează un filtru clip care folosește funcții pentru a defini regiunea clipată + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Editare oglindă @@ -1017,12 +1017,12 @@ Limita de frecvenţă joasă - + File does not exist Fișierul nu există - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ vor fi unite pentru a face limitele de volum invizibile. <html><head/><body><p><span style=" font-weight:600;">Notă:</span> Se recomandă folosirea unui număr egal de nuclee pentru a beneficia de simetriile ochiului. (Utilizarea a 8 nuclee poate fi mai rapidă de 9 nuclee.<br/><span style=" font-weight:600;">De asemenea:</span> În cazuri extreme, ElmerSolver ar putea să nu conveargă dacă numărul nucleului este prea mare.</p></body></html> - + File does not exist Fișierul nu există - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specificați un alt fișier. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Nu este potrivit pentru multicitire - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Setare Elmer greşită: utilizaţi mai mult de un nucleu CPU. Prin urmare, un executabil cu sufixul '_mpi.exe' este necesar. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Setare Elmer greșită: Folosiți mai mult de un nucleu CPU. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist Fișierul nu există - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist Fișierul nu există - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist Fișierul nu există - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Eroare de intrare @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Eroare de intrare @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Eroare de intrare @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Eroare de intrare @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Eroare de intrare - + Please specify a force greater than 0 Precizați vă rog o forță mai mare de 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Eroare de intrare @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Eroare de intrare @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Eroare de intrare @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Eroare de intrare @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Eroare de intrare @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Eroare de intrare @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Edit FEM mesh - + Meshing failure Eşecul de Meshing @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Eroare de intrare @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Eroare de selecție @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Nicio selecție! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Obiectul selectat nu este o Part! - - + + Only faces can be picked Numai fețele pot fi ridicate - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Eroare de selecție - - + + Nothing selected! Nicio selecție! - - + + Selected object is not a part! Obiectul selectat nu este o Part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Eroare de selecție - - + + Nothing selected! Nicio selecție! - - + + Selected object is not a part! Obiectul selectat nu este o Part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Eroare de selecție - - + + Nothing selected! Nicio selecție! - - + + Selected object is not a part! Obiectul selectat nu este o Part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Eroare de selecție - + Nothing selected! Nicio selecție! - - + + Selected object is not a part! Obiectul selectat nu este o Part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Selecţie greşită - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Eroare de selecție - - + + Nothing selected! Nicio selecție! - - + + Selected object is not a part! Obiectul selectat nu este o Part! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Eroare de selecție - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Nicio selecție! - - + + Selected object is not a part! Obiectul selectat nu este o Part! - + Only faces can be picked Numai fețele pot fi ridicate - + Only planar faces can be picked Numai fețele plane pot fi ridicate @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Eroare de selecție - - + + Nothing selected! Nicio selecție! - - + + Selected object is not a part! Obiectul selectat nu este o Part! - + Only faces can be picked Numai fețele pot fi ridicate @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Eroare de selecție - - + + Nothing selected! Nicio selecție! - - + + Selected object is not a part! Obiectul selectat nu este o Part! - + Only faces can be picked Numai fețele pot fi ridicate @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Eroare de selecție - - + + Nothing selected! Nicio selecție! - - + + Selected object is not a part! Obiectul selectat nu este o Part! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Eroare de selecție - - + + Nothing selected! Nicio selecție! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Obiectul selectat nu este o Part! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Numai fețele pot fi ridicate - + Only cylindrical faces can be picked Numai fețele cilindrice pot fi ridicate - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Lungime @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Activează analiza @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Eşecul de Meshing - + The FEM module is built without NETGEN support. Meshing will not work!!! Modulul FEM este construit fără sprijin NETGEN. Plasa nu va funcţiona!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Materialul @@ -2659,9 +2659,9 @@ Specify another file please. Material name + - TextLabel TextLabel @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Parametru @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Formular - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, Editare restricţie - - - - - - - - + + + + + + + + A dialog is already open in the task panel O fereastră de dialog este deja deschisă în fereastra de sarcini - - - - - - - - + + + + + + + + Do you want to close this dialog? Doriţi să închideţi această fereastră de dialog? - + Meshing Meshing - + Constraint force Forţa de constrângere @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, Import/Export - + Constraint Contact Constraint Contact - + Constraint displacement Constrângere dislocată - + Constraint fixed Constrângere fixată - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constrângere temperatură inițială - + Constraint planerotation Constraint planerotation - + Constraint pressure Constrângere presiune @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constrângere scripete - + Constraint spring Constrângere arc - + Constraint temperature Temperatură constrângere - + Constraint transform Constrângere pentru transformare - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Formular - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Formular - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Formular - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. Unghi de oprire: - - TaskDriver - - - Form - Formular - - TaskFemConstraint - - - Form - Formular - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Formular - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Formular - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Formular - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Formular - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Formular - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Formular - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Formular - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Formular - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Formular - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Formular - - TaskPostClip - - - Form - Formular - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Formular - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Formular - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Formular - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Formular - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Formular - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Formular - Max. Size: @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - Formular - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts index b0a59a6a1d..86820f3a74 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts @@ -24,7 +24,7 @@ Fem - МКЭ (метод конечных элементов) + Мкэ (метод конечных элементов) @@ -291,7 +291,7 @@ Wrong selection - Неправильный выбор + Неправильное выделение @@ -350,13 +350,13 @@ - Define/create a clip filter which uses functions to define the cliped region - Определите/создайте фильтр обрезки, который использует функции для определения области обрезки + Define/create a clip filter which uses functions to define the clipped region + Настройте/создайте фильтр обрезки, который будет использован для определения обрезаемой области Wrong selection - Неправильный выбор + Неправильное выделение @@ -453,7 +453,7 @@ Box - Куб + Коробка @@ -497,7 +497,7 @@ Fem - МКЭ (метод конечных элементов) + Мкэ (метод конечных элементов) @@ -527,7 +527,7 @@ Fem - МКЭ (метод конечных элементов) + Мкэ (метод конечных элементов) @@ -540,12 +540,12 @@ Создает конвейер постобработки из результирующего объекта - + Wrong selection type Неправильный тип выбора - + Select a result object, please. Выберите результирующий объект, пожалуйста. @@ -555,7 +555,7 @@ Fem - МКЭ (метод конечных элементов) + Мкэ (метод конечных элементов) @@ -573,7 +573,7 @@ Fem - МКЭ (метод конечных элементов) + Мкэ (метод конечных элементов) @@ -689,12 +689,12 @@ Создать функцию - + Create pipeline from result Создать конвейер из результата - + Edit Mirror Изменить зеркалирование @@ -1016,12 +1016,12 @@ Граничное условие низкой частоты - + File does not exist Файл не существует - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Примечание:</span> Рекомендуется использовать чётное количество ядер, чтобы извлечь пользу из сетки симметрии. (Использование 8 ядер может быть быстрее чем 9 ядер.<br/><span style=" font-weight:600;">Примечание тоже:</span> В крайних случаях ElmerSolver может не совпадать, если ядро слишком высоко.</p></body></html> - + File does not exist Файл не существует - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. Укажите другой файл, пожалуйста. - - + + FEM Elmer: Not suitable for multithreading Метод конечных элементов: Не подходит для многопоточности - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Неправильная настройка Elmer: Вы используете более одного ядра процессора. Поэтому требуется исполняемый файл с суффиксом '_mpi.exe'. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Неправильная настройка Elmer: Вы используете более одного ядра процессора. @@ -1226,7 +1226,7 @@ constraint or material is applied. General - Основные + Главный @@ -1281,7 +1281,7 @@ constraint or material is applied. Mesh - Сеть + Полигональная сетка @@ -1380,12 +1380,12 @@ adding an analysis container Оставьте поле пустым, чтобы использовать исполняемый файл gmsh по умолчанию - + File does not exist Файл не существует - + The specified executable '%1' does not exist! @@ -1566,12 +1566,12 @@ If unchecked, they will be sorted by their name. Сохранять комментарии в входном файле - + File does not exist Файл не существует - + The specified executable '%1' does not exist! @@ -1677,12 +1677,12 @@ that "MAXKOI" needs to be increased. что "MAXKOI" должно быть увеличено. - + File does not exist Файл не существует - + The specified z88r executable '%1' does not exist! @@ -1693,18 +1693,18 @@ Specify another file please. Укажите другой файл, пожалуйста. - - + + Wrong file Неправильный файл - + You must specify the path to the z88r.exe! Вы должны указать путь к z88r.exe! - + You must specify the path to the z88r! Вы должны указать путь к z88r! @@ -1742,7 +1742,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Ошибка ввода @@ -1750,7 +1750,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Ошибка ввода @@ -1758,7 +1758,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Ошибка ввода @@ -1766,7 +1766,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Ошибка ввода @@ -1774,13 +1774,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Ошибка ввода - + Please specify a force greater than 0 Пожалуйста, укажите силу больше, чем 0 @@ -1796,7 +1796,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Ошибка ввода @@ -1804,8 +1804,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Ошибка ввода @@ -1813,7 +1813,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Ошибка ввода @@ -1829,7 +1829,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Ошибка ввода @@ -1837,7 +1837,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Ошибка ввода @@ -1845,7 +1845,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Ошибка ввода @@ -1853,12 +1853,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Редактирование сетку МКЭ - + Meshing failure Сбой создания сетки @@ -1866,7 +1866,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Ошибка ввода @@ -1945,22 +1945,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Ошибка выбора @@ -1970,46 +1970,46 @@ Specify another file please. Только одна грань в объекте! - перенесено на основную грань - - + + Only one master face and one slave face for a contact constraint! Только одна основная геометрическая грань и одна зависимая геометрическая грань для ограничения связи! - - - - + + + + Nothing selected! Ничего не выбрано! - - + + Only one slave face for a contact constraint! Только одна вторичная поверхность для контакта! - - - - + + + + Selected object is not a part! Выделенный объект не является деталью! - - + + Only faces can be picked Можно выбрать только грани - + Only one master for a contact constraint! Только один мастер для ограничения контакта! - + Only one master face for a contact constraint! Только одно главное лицо для ограничения контакта! @@ -2017,28 +2017,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Ошибка выбора - - + + Nothing selected! Ничего не выбрано! - - + + Selected object is not a part! Выделенный объект не является деталью! - + Only one type of selection (vertex,face or edge) per constraint allowed! Допускается только один тип выделения (вершина, грань или ребро) для каждого ограничения! @@ -2046,28 +2046,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Ошибка выбора - - + + Nothing selected! Ничего не выбрано! - - + + Selected object is not a part! Выделенный объект не является деталью! - + Only one type of selection (vertex,face or edge) per constraint allowed! Допускается только один тип выделения (вершина, грань или ребро) для каждого ограничения! @@ -2147,7 +2147,7 @@ Specify another file please. Wrong selection - Неправильный выбор + Неправильное выделение @@ -2175,28 +2175,28 @@ Specify another file please. Можно выбрать только грани для 3D части или ребра для 2D - - - - - + + + + + Selection error Ошибка выбора - - + + Nothing selected! Ничего не выбрано! - - + + Selected object is not a part! Выделенный объект не является деталью! - + Only one type of selection (vertex,face or edge) per constraint allowed! Допускается только один тип выделения (вершина, грань или ребро) для каждого ограничения! @@ -2205,38 +2205,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Ошибка выбора - + Nothing selected! Ничего не выбрано! - - + + Selected object is not a part! Выделенный объект не является деталью! - + Only one type of selection (vertex,face or edge) per constraint allowed! Допускается только один тип выделения (вершина, грань или ребро) для каждого ограничения! - - + + Wrong selection Неправильный выбор - + Select an edge or a face, please. Выберите ребро или грань, пожалуйста. @@ -2269,30 +2269,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Ошибка выбора - - + + Nothing selected! Ничего не выбрано! - - + + Selected object is not a part! Выделенный объект не является деталью! - - + + Selection must only consist of faces! Выбирать можно только грани! @@ -2300,42 +2300,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Ошибка выбора - - + + Only one face can be selected for a plane rotation constraint! Для ограничения вращения плоскости можно выбрать только одну часть! - - + + Nothing selected! Ничего не выбрано! - - + + Selected object is not a part! Выделенный объект не является деталью! - + Only faces can be picked Можно выбрать только грани - + Only planar faces can be picked Можно выбрать только плоские грани @@ -2343,28 +2343,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Ошибка выбора - - + + Nothing selected! Ничего не выбрано! - - + + Selected object is not a part! Выделенный объект не является деталью! - + Only faces can be picked Можно выбрать только грани @@ -2385,28 +2385,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Ошибка выбора - - + + Nothing selected! Ничего не выбрано! - - + + Selected object is not a part! Выделенный объект не является деталью! - + Only faces can be picked Можно выбрать только грани @@ -2414,22 +2414,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Ошибка выбора - - + + Nothing selected! Ничего не выбрано! - - + + Selected object is not a part! Выделенный объект не является деталью! @@ -2447,54 +2447,54 @@ Specify another file please. Преобразуемые грани изменились. Пожалуйста, добавьте только преобразованные грани и удалите непреобразованные! - - - - - - - - - - + + + + + + + + + + Selection error Ошибка выбора - - + + Nothing selected! Ничего не выбрано! - - + + Only one face for rectangular transform constraint! Только одна грань для ограничения прямоугольного преобразования! - - + + Selected object is not a part! Выделенный объект не является деталью! - + Only one face for transform constraint! Только одна грань для ограничения преобразования! - + Only faces can be picked Можно выбрать только грани - + Only cylindrical faces can be picked Можно выбрать только цилиндрические грани - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Можно выбрать только преобразованные поверхности! Сначала применить ограничение смещения к поверхности, а затем применить ограничение к поверхности @@ -2510,7 +2510,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Область клипа, выбрать неявную функцию @@ -2518,7 +2518,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Вырезать, выбрать неявную функцию @@ -2526,12 +2526,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Данные по параметрам строки - + Length X-Axis plot label Длина @@ -2540,12 +2540,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Данные в точке - + %1 at (%2; %3; %4) is: %5 %6 %1 в (%2; %3; %4): %5 %6 @@ -2553,7 +2553,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Параметры отображения результата @@ -2561,7 +2561,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Неявная функция @@ -2569,7 +2569,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Параметры скалярного клипа @@ -2577,7 +2577,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Опции деформации @@ -2593,7 +2593,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Активировать анализ @@ -2601,12 +2601,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Сбой создания сетки - + The FEM module is built without NETGEN support. Meshing will not work!!! Модуль МКЭ скомпилирован без поддержки NETGEN. Построение сетки не будет работать!!! @@ -2614,15 +2614,15 @@ Specify another file please. FemMaterial - + FEM material Материал МКЭ + - Material Материал @@ -2647,9 +2647,9 @@ Specify another file please. Название материала + - TextLabel Текстовая надпись @@ -2995,17 +2995,17 @@ Specify another file please. - - - + + + 0 mm 0 мм @@ -3020,11 +3020,11 @@ Specify another file please. Параметр Центрифугирования + - - + Parameter Параметр @@ -3054,13 +3054,13 @@ Specify another file please. Параметр SectionPrint - - + + - + + - Constraint Properties Свойства Ограничения @@ -3075,9 +3075,12 @@ Specify another file please. Потенциал: - - - + + + + + + @@ -3090,18 +3093,15 @@ Specify another file please. + + + - - - - - - unspecified не указана @@ -3128,16 +3128,16 @@ with a harmonic/oscillating driving force с гармонической/колеблющейся движущей силой + - Real Действительная часть + - Imaginary Мнимая часть @@ -3157,9 +3157,9 @@ with a harmonic/oscillating driving force Мнимая часть скалярного потенциала + - x x @@ -3178,9 +3178,9 @@ Note: has no effect if a solid was selected Примечание: не влияет если выбрано твердое тело + - y у @@ -3199,9 +3199,9 @@ Note: has no effect if a solid was selected Примечание: не влияет если выбрано твердое тело + - z z @@ -3266,8 +3266,8 @@ Note: has no effect if a solid was selected Параметр секции балки - + Cross section parameter Поперечный параметр сечения @@ -3318,30 +3318,30 @@ Note: has no effect if a solid was selected Вращение: - - - + + + formula формула - + Velocity x: Скорость по оси x: - + Velocity y: Скорость по оси y: - + Velocity z: Скорость по оси z: @@ -3471,14 +3471,14 @@ Note: for 2D only setting for x is possible, Мнимая часть y-компоненты комплексного потенциала - + Real part of potential z-component Действительная часть z-компоненты комплексного потенциала - + Imaginary part of potential z-component Мнимая часть z-компоненты комплексного потенциала @@ -3544,11 +3544,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Форма - x @@ -3603,36 +3598,36 @@ Note: for 2D only setting for x is possible, Изменить граничное условие - - - - - - - - + + + + + + + + A dialog is already open in the task panel - Диалог уже открыт в панели задач + Диалог уже открыт на панели задач - - - - - - - - + + + + + + + + Do you want to close this dialog? Вы хотите закрыть этот диалог? - + Meshing Построение сетки - + Constraint force Граничное условие силы @@ -3645,7 +3640,7 @@ Note: for 2D only setting for x is possible, FEM - МКЭ + Метод конечных элементов @@ -3654,42 +3649,42 @@ Note: for 2D only setting for x is possible, Импорт/экспорт - + Constraint Contact Ограничение контакта - + Constraint displacement Ограничение смещения - + Constraint fixed Ограничение закрепления - + Constraint fluid boundary Ограничить границу жидкости - + Constraint heat flux Ограничение теплового потока - + Constraint initial temperature Ограничение начальной температуры - + Constraint planerotation Ограничение вращения плоскости - + Constraint pressure Ограничение давления @@ -3699,29 +3694,29 @@ Note: for 2D only setting for x is possible, Ограничительный шкив - + Constraint spring Ограничительная пружина - + Constraint temperature Ограничение температуры - + Constraint transform Ограничение преобразования - + Edit post processing object Редактировать объект постобработки Nodes - Узлов + Узлы @@ -4063,15 +4058,10 @@ For possible variables, see the description box below. SphereWidget - - - Form - Форма - x - x + @@ -4099,16 +4089,11 @@ For possible variables, see the description box below. Object dependencies - Зависимости объектов + Зависимости объекта TaskAnalysisInfo - - - Form - Форма - Meshes: @@ -4122,11 +4107,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Форма - Volume @@ -4178,21 +4158,8 @@ For possible variables, see the description box below. Угол остановки: - - TaskDriver - - - Form - Форма - - TaskFemConstraint - - - Form - Форма - Add reference @@ -4226,7 +4193,7 @@ For possible variables, see the description box below. Reverse direction - Развернуть направление + В обратном направлении @@ -4241,11 +4208,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Форма - Add reference @@ -4314,11 +4276,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Форма - Select master face, click Add or Remove @@ -4372,7 +4329,7 @@ For possible variables, see the description box below. Remove - Удалить + Убрать @@ -4459,11 +4416,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4477,16 +4429,11 @@ generated by the flow Remove - Удалить + Убрать TaskFemConstraintFluidBoundary - - - Form - Форма - Boundary @@ -4510,7 +4457,7 @@ generated by the flow Remove - Удалить + Убрать @@ -4547,7 +4494,7 @@ normal vector of the face is used as direction Reverse direction - Развернуть направление + В обратном направлении @@ -4615,7 +4562,7 @@ normal vector of the face is used as direction Remove - Удалить + Убрать @@ -4719,11 +4666,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Форма - Select a single face, click Add or Remove @@ -4742,11 +4684,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4780,11 +4717,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4825,11 +4757,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4859,11 +4786,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Форма - Rectangular transform @@ -4911,21 +4833,8 @@ used for the Elmer solver Трансформационные поверхности - - TaskObjectName - - - Form - Форма - - TaskPostClip - - - Form - Форма - Create @@ -4944,11 +4853,6 @@ used for the Elmer solver TaskPostCut - - - Form - Форма - Create @@ -4957,11 +4861,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Форма - Coordinates @@ -5063,11 +4962,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Форма - Mode @@ -5095,7 +4989,7 @@ used for the Elmer solver Wireframe - Каркас + Каркасная сетка @@ -5145,11 +5039,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Форма - Scalar @@ -5198,11 +5087,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Форма - Vector @@ -5231,11 +5115,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Форма - Max. Size: @@ -6205,7 +6084,7 @@ used for the Elmer solver Solid - Твердое тело + Твердотельный объект @@ -6273,7 +6152,7 @@ used for the Elmer solver Information - Сведения + Информация @@ -6376,11 +6255,6 @@ Please select a result type first. TaskPostContours - - - Form - Форма - Vector: @@ -6441,7 +6315,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Параметры фильтра контуров diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_sl.ts index 1c2f816ef5..1a1a656266 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_sl.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_sl.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Določi/ustvari izrezno sito, ki za določanje izreznega območja uporablja funkcije + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Ustvari iz dobljenega predmeta poobdelovalni cevovod - + Wrong selection type Napačna vrsta izbiranja - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Uredi zrcaljenje @@ -1017,12 +1017,12 @@ Omejitev nizke frekvence - + File does not exist Datoteka ne obstaja - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist Datoteka ne obstaja - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Neprimeren za večnitnost - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Napačna nastavitev Elmerja: Uporabljate več kot eno jedro. Zato je potrebna izvršljiva datoteka s pripono "_mpi.exe". - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Napačna nastavitev Elmerja: Uporabljate več kot eno jedro. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist Datoteka ne obstaja - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist Datoteka ne obstaja - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist Datoteka ne obstaja - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Napaka vnosa @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Napaka vnosa @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Napaka vnosa @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Napaka vnosa @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Napaka vnosa - + Please specify a force greater than 0 Navedite silo, ki je večja od 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Napaka vnosa @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Napaka vnosa @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Napaka vnosa @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Napaka vnosa @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Napaka vnosa @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Napaka vnosa @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Uredi ploskovje MKE - + Meshing failure Napaka pri ploskovjenju @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Napaka vnosa @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Napaka izbire @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Nič ni izbrano! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Izbrani predmet ni del! - - + + Only faces can be picked Izberete lahko samo ploskve - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Napaka izbire - - + + Nothing selected! Nič ni izbrano! - - + + Selected object is not a part! Izbrani predmet ni del! - + Only one type of selection (vertex,face or edge) per constraint allowed! Znotraj enega omejila je mogoče izbrati le eno vrsto (oglišče, ploskev ali rob)! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Napaka izbire - - + + Nothing selected! Nič ni izbrano! - - + + Selected object is not a part! Izbrani predmet ni del! - + Only one type of selection (vertex,face or edge) per constraint allowed! Znotraj enega omejila je mogoče izbrati le eno vrsto (oglišče, ploskev ali rob)! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Napaka izbire - - + + Nothing selected! Nič ni izbrano! - - + + Selected object is not a part! Izbrani predmet ni del! - + Only one type of selection (vertex,face or edge) per constraint allowed! Znotraj enega omejila je mogoče izbrati le eno vrsto (oglišče, ploskev ali rob)! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Napaka izbire - + Nothing selected! Nič ni izbrano! - - + + Selected object is not a part! Izbrani predmet ni del! - + Only one type of selection (vertex,face or edge) per constraint allowed! Znotraj enega omejila je mogoče izbrati le eno vrsto (oglišče, ploskev ali rob)! - - + + Wrong selection Napačna izbira - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Napaka izbire - - + + Nothing selected! Nič ni izbrano! - - + + Selected object is not a part! Izbrani predmet ni del! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Napaka izbire - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Nič ni izbrano! - - + + Selected object is not a part! Izbrani predmet ni del! - + Only faces can be picked Izberete lahko samo ploskve - + Only planar faces can be picked Izberete lahko samo ravninske ploskve @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Napaka izbire - - + + Nothing selected! Nič ni izbrano! - - + + Selected object is not a part! Izbrani predmet ni del! - + Only faces can be picked Izberete lahko samo ploskve @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Napaka izbire - - + + Nothing selected! Nič ni izbrano! - - + + Selected object is not a part! Izbrani predmet ni del! - + Only faces can be picked Izberete lahko samo ploskve @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Napaka izbire - - + + Nothing selected! Nič ni izbrano! - - + + Selected object is not a part! Izbrani predmet ni del! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Napaka izbire - - + + Nothing selected! Nič ni izbrano! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Izbrani predmet ni del! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Izberete lahko samo ploskve - + Only cylindrical faces can be picked Izberete lahko samo ploskve valja - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Izbrati je mogoče le ploskve, ki se lahko preoblikujejo! Uporabi na površju najprej omejitev pomika, nato pa uporabi omejitev površja @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Dolžina @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Možnosti izobličenja @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Aktiviraj analizo @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Napaka pri ploskovjenju - + The FEM module is built without NETGEN support. Meshing will not work!!! Modul MKE je vgrajen brez podpore za NETGEN. Ploskovjenje ne bo delovalo! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Snov @@ -2659,9 +2659,9 @@ Specify another file please. Material name + - TextLabel Besedilna oznaka @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Določilka @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force s harminičnim oz. nihajočim gonilom + - Real Dejanska + - Imaginary Namišljena @@ -3169,9 +3169,9 @@ s harminičnim oz. nihajočim gonilom Namišljeni del skalarnega potenciala + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Opomba: nima učinka, če je izbrano telo + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Opomba: nima učinka, če je izbrano telo + - z z @@ -3278,8 +3278,8 @@ Opomba: nima učinka, če je izbrano telo Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Opomba: nima učinka, če je izbrano telo Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3483,14 +3483,14 @@ Opomba: pri 2D je mogoče nastavili le x, Namišljeni del y-komponente potenciala - + Real part of potential z-component Dejanski del z-komponente potenciala - + Imaginary part of potential z-component Namišljeni del z-komponente potenciala @@ -3556,11 +3556,6 @@ Opomba: pri 2D je mogoče nastavili le x, PlaneWidget - - - Form - Oblika - x @@ -3615,36 +3610,36 @@ Opomba: pri 2D je mogoče nastavili le x, Uredi omejitev - - - - - - - - + + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - - + + + + + + + + Do you want to close this dialog? Do you want to close this dialog? - + Meshing Ploskovjenje - + Constraint force Omejitev sile @@ -3666,42 +3661,42 @@ Opomba: pri 2D je mogoče nastavili le x, Uvoz - Izvoz - + Constraint Contact Constraint Contact - + Constraint displacement Omejitev pomika - + Constraint fixed Omejitev pritrjenosti - + Constraint fluid boundary Omeji zamejitve tekočine - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Omejitev začetne temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Omejitev tlaka @@ -3711,22 +3706,22 @@ Opomba: pri 2D je mogoče nastavili le x, Omejitev škripca - + Constraint spring Omejitev vzmeti - + Constraint temperature Omejitev temperature - + Constraint transform Omejitev preoblikovanja - + Edit post processing object Uredi poobdelovalni predmet @@ -4075,11 +4070,6 @@ Možne spremenljivke si oglejte v spodnjem opisnem okencu. SphereWidget - - - Form - Oblika - x @@ -4116,11 +4106,6 @@ Možne spremenljivke si oglejte v spodnjem opisnem okencu. TaskAnalysisInfo - - - Form - Oblika - Meshes: @@ -4134,11 +4119,6 @@ Možne spremenljivke si oglejte v spodnjem opisnem okencu. TaskCreateNodeSet - - - Form - Oblika - Volume @@ -4190,21 +4170,8 @@ Možne spremenljivke si oglejte v spodnjem opisnem okencu. Končni kot: - - TaskDriver - - - Form - Oblika - - TaskFemConstraint - - - Form - Oblika - Add reference @@ -4253,11 +4220,6 @@ Možne spremenljivke si oglejte v spodnjem opisnem okencu. TaskFemConstraintBearing - - - Form - Oblika - Add reference @@ -4326,11 +4288,6 @@ Možne spremenljivke si oglejte v spodnjem opisnem okencu. TaskFemConstraintContact - - - Form - Oblika - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Oblika - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Oblika - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Oblika - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Oblika - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Oblika - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Oblika - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Oblika - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Oblika - - TaskPostClip - - - Form - Oblika - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Oblika - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Oblika - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Oblika - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Oblika - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Oblika - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Oblika - Max. Size: @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - Oblika - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Možnosti izočrtnega sita diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sr-CS.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_sr-CS.ts index 609ed73ec9..85d34fe874 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_sr-CS.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_sr-CS.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Uredi simetriju @@ -1016,12 +1016,12 @@ Low frequency limit - + File does not exist Datoteka ne postoji - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist Datoteka ne postoji - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. Navedi drugu datoteku. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1384,12 +1384,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist Datoteka ne postoji - + The specified executable '%1' does not exist! @@ -1575,12 +1575,12 @@ Ako nije čekirano, biće sortirani po imenima. Write comments to input file - + File does not exist Datoteka ne postoji - + The specified executable '%1' does not exist! @@ -1687,12 +1687,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist Datoteka ne postoji - + The specified z88r executable '%1' does not exist! @@ -1703,18 +1703,18 @@ Specify another file please. Navedi drugu datoteku. - - + + Wrong file Pogrešna datoteka - + You must specify the path to the z88r.exe! Moraš navesti putanju do z88r.exe! - + You must specify the path to the z88r! Moraš navesti putanju do z88r! @@ -1752,7 +1752,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintBearing - + Input error Input error @@ -1760,7 +1760,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintContact - + Input error Input error @@ -1768,7 +1768,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintDisplacement - + Input error Input error @@ -1776,7 +1776,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Input error @@ -1784,13 +1784,13 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintForce - - + + Input error Input error - + Please specify a force greater than 0 Navedite silu veću od 0 @@ -1806,7 +1806,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintHeatflux - + Input error Input error @@ -1814,8 +1814,8 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Input error @@ -1823,7 +1823,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintPressure - + Input error Input error @@ -1839,7 +1839,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintSpring - + Input error Input error @@ -1847,7 +1847,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintTemperature - + Input error Input error @@ -1855,7 +1855,7 @@ Navedi drugu datoteku. FemGui::TaskDlgFemConstraintTransform - + Input error Input error @@ -1863,12 +1863,12 @@ Navedi drugu datoteku. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Uredi MKE mrežu - + Meshing failure Greška prilikom pravljenja mreže @@ -1876,7 +1876,7 @@ Navedi drugu datoteku. FemGui::TaskDlgPost - + Input error Input error @@ -1955,22 +1955,22 @@ Navedi drugu datoteku. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Greška prilikom izbora @@ -1980,46 +1980,46 @@ Navedi drugu datoteku. Samo jedna stranica u objektu! - premeštena u glavnu stranicu - - + + Only one master face and one slave face for a contact constraint! Samo jedna glavna stranica i jedna sporedna stranica za ograničenje kontakta! - - - - + + + + Nothing selected! Ništa nije izabrano! - - + + Only one slave face for a contact constraint! Samo jedna sporedna stranica za ograničenje kontakta! - - - - + + + + Selected object is not a part! Izabrani objekat nije deo! - - + + Only faces can be picked Mogu ce birati samo stranice - + Only one master for a contact constraint! Samo jedan glavni za ograničenje kontakta! - + Only one master face for a contact constraint! Samo jedna glavna stranica za ograničenje kontakta! @@ -2027,28 +2027,28 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Greška prilikom izbora - - + + Nothing selected! Ništa nije izabrano! - - + + Selected object is not a part! Izabrani objekat nije deo! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2056,28 +2056,28 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Greška prilikom izbora - - + + Nothing selected! Ništa nije izabrano! - - + + Selected object is not a part! Izabrani objekat nije deo! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2185,28 +2185,28 @@ Navedi drugu datoteku. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Greška prilikom izbora - - + + Nothing selected! Ništa nije izabrano! - - + + Selected object is not a part! Izabrani objekat nije deo! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2215,38 +2215,38 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Greška prilikom izbora - + Nothing selected! Ništa nije izabrano! - - + + Selected object is not a part! Izabrani objekat nije deo! - + Only one type of selection (vertex,face or edge) per constraint allowed! - Only one type of selection (vertex,face or edge) per constraint allowed! + Dozvoljen je samo jedan tip selekcije (teme, stranica ili ivica) po ograničenju! - - + + Wrong selection Pogrešan izbor - + Select an edge or a face, please. Izaberi ivicu ili stranicu. @@ -2279,30 +2279,30 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Greška prilikom izbora - - + + Nothing selected! Ništa nije izabrano! - - + + Selected object is not a part! Izabrani objekat nije deo! - - + + Selection must only consist of faces! Možete izabrati samo stranice! @@ -2310,42 +2310,42 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Greška prilikom izbora - - + + Only one face can be selected for a plane rotation constraint! Samo jedna stranica može biti izabrana za ograničenje rotacije ravni! - - + + Nothing selected! Ništa nije izabrano! - - + + Selected object is not a part! Izabrani objekat nije deo! - + Only faces can be picked Mogu ce birati samo stranice - + Only planar faces can be picked Mogu se izabrati samo ravne stranice @@ -2353,28 +2353,28 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Greška prilikom izbora - - + + Nothing selected! Ništa nije izabrano! - - + + Selected object is not a part! Izabrani objekat nije deo! - + Only faces can be picked Mogu ce birati samo stranice @@ -2395,28 +2395,28 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Greška prilikom izbora - - + + Nothing selected! Ništa nije izabrano! - - + + Selected object is not a part! Izabrani objekat nije deo! - + Only faces can be picked Mogu ce birati samo stranice @@ -2424,22 +2424,22 @@ Navedi drugu datoteku. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Greška prilikom izbora - - + + Nothing selected! Ništa nije izabrano! - - + + Selected object is not a part! Izabrani objekat nije deo! @@ -2457,54 +2457,54 @@ Navedi drugu datoteku. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Greška prilikom izbora - - + + Nothing selected! Ništa nije izabrano! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Izabrani objekat nije deo! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Mogu ce birati samo stranice - + Only cylindrical faces can be picked Mogu izabrati samo cilindrične stranice - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2520,7 +2520,7 @@ Navedi drugu datoteku. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2528,7 +2528,7 @@ Navedi drugu datoteku. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2536,12 +2536,12 @@ Navedi drugu datoteku. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Dužina @@ -2550,12 +2550,12 @@ Navedi drugu datoteku. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 na (%2; %3; %4) je: %5 %6 @@ -2563,7 +2563,7 @@ Navedi drugu datoteku. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2571,7 +2571,7 @@ Navedi drugu datoteku. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2579,7 +2579,7 @@ Navedi drugu datoteku. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2587,7 +2587,7 @@ Navedi drugu datoteku. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2603,7 +2603,7 @@ Navedi drugu datoteku. FemGui::ViewProviderFemAnalysis - + Activate analysis Activate analysis @@ -2611,12 +2611,12 @@ Navedi drugu datoteku. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Greška prilikom pravljenja mreže - + The FEM module is built without NETGEN support. Meshing will not work!!! MKE modul je napravljen bez NETGEN podrške. Pravljenje mreže neće raditi!!! @@ -2624,15 +2624,15 @@ Navedi drugu datoteku. FemMaterial - + FEM material MKE materijal + - Material Materijal @@ -2657,9 +2657,9 @@ Navedi drugu datoteku. Ime materijala + - TextLabel Tekstualna oznaka @@ -3005,17 +3005,17 @@ Navedi drugu datoteku. - - - + + + 0 mm 0 mm @@ -3030,11 +3030,11 @@ Navedi drugu datoteku. Centrif parameter + - - + Parameter Parametar @@ -3064,13 +3064,13 @@ Navedi drugu datoteku. SectionPrint parameter - - + + - + + - Constraint Properties Osobine ograničenja @@ -3085,9 +3085,12 @@ Navedi drugu datoteku. Potencijal: - - - + + + + + + @@ -3100,18 +3103,15 @@ Navedi drugu datoteku. + + + - - - - - - unspecified neodređeno @@ -3138,16 +3138,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Realni deo + - Imaginary Imaginarni deo @@ -3167,9 +3167,9 @@ with a harmonic/oscillating driving force Imaginarni deo skalarnog potencijala + - x x @@ -3188,9 +3188,9 @@ Note: has no effect if a solid was selected Napomena: nema efekta ako je izabrano puno telo + - y y @@ -3209,9 +3209,9 @@ Note: has no effect if a solid was selected Napomena: nema efekta ako je izabrano puno telo + - z z @@ -3276,8 +3276,8 @@ Napomena: nema efekta ako je izabrano puno telo Parametri poprečnog preseka grede - + Cross section parameter Parametri poprečnog preseka @@ -3328,30 +3328,30 @@ Napomena: nema efekta ako je izabrano puno telo Rotacija: - - - + + + formula formula - + Velocity x: Brzina x: - + Velocity y: Brzina y: - + Velocity z: Brzina z: @@ -3481,14 +3481,14 @@ Note: for 2D only setting for x is possible, Imaginarni deo y-komponente potencijala - + Real part of potential z-component Realni deo z-komponente potencijala - + Imaginary part of potential z-component Imaginarni deo z-komponente potencijala @@ -3554,11 +3554,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Obrazac - x @@ -3613,36 +3608,36 @@ Note: for 2D only setting for x is possible, Uredi ograničenje - - - - - - - - + + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - - + + + + + + + + Do you want to close this dialog? Do you want to close this dialog? - + Meshing Pravljenje mreže - + Constraint force Ograničenje sile @@ -3664,42 +3659,42 @@ Note: for 2D only setting for x is possible, Uvoz/Izvoz - + Constraint Contact Constraint Contact - + Constraint displacement Ograničenje pomeranja - + Constraint fixed Ograničenje učvršćenosti - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Ograničenje početne temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Ograničenje pritiska @@ -3709,22 +3704,22 @@ Note: for 2D only setting for x is possible, Ograničenje remenice - + Constraint spring Ograničenje opruge - + Constraint temperature Ograničenje temperature - + Constraint transform Ograničenje transformacije - + Edit post processing object Edit post processing object @@ -4073,11 +4068,6 @@ Za moguće promenljive, pogledaj okvir za opis ispod. SphereWidget - - - Form - Obrazac - x @@ -4114,11 +4104,6 @@ Za moguće promenljive, pogledaj okvir za opis ispod. TaskAnalysisInfo - - - Form - Obrazac - Meshes: @@ -4132,11 +4117,6 @@ Za moguće promenljive, pogledaj okvir za opis ispod. TaskCreateNodeSet - - - Form - Obrazac - Volume @@ -4188,21 +4168,8 @@ Za moguće promenljive, pogledaj okvir za opis ispod. Stop angle: - - TaskDriver - - - Form - Obrazac - - TaskFemConstraint - - - Form - Obrazac - Add reference @@ -4251,11 +4218,6 @@ Za moguće promenljive, pogledaj okvir za opis ispod. TaskFemConstraintBearing - - - Form - Obrazac - Add reference @@ -4324,11 +4286,6 @@ Za moguće promenljive, pogledaj okvir za opis ispod. TaskFemConstraintContact - - - Form - Obrazac - Select master face, click Add or Remove @@ -4469,11 +4426,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Obrazac - Select multiple face(s), click Add or Remove @@ -4492,11 +4444,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Obrazac - Boundary @@ -4729,11 +4676,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Obrazac - Select a single face, click Add or Remove @@ -4752,11 +4694,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Obrazac - Select multiple face(s), click Add or Remove @@ -4790,11 +4727,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Obrazac - Select multiple face(s), click Add or Remove @@ -4835,11 +4767,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Obrazac - Select multiple face(s), click Add or Remove @@ -4869,11 +4796,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Obrazac - Rectangular transform @@ -4921,21 +4843,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Obrazac - - TaskPostClip - - - Form - Obrazac - Create @@ -4954,11 +4863,6 @@ used for the Elmer solver TaskPostCut - - - Form - Obrazac - Create @@ -4967,11 +4871,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Obrazac - Coordinates @@ -5073,11 +4972,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Obrazac - Mode @@ -5155,11 +5049,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Obrazac - Scalar @@ -5208,11 +5097,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Obrazac - Vector @@ -5241,11 +5125,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Obrazac - Max. Size: @@ -6387,11 +6266,6 @@ Please select a result type first. TaskPostContours - - - Form - Obrazac - Vector: @@ -6452,7 +6326,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_sr.ts index d9e7b984b1..f062429259 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_sr.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_sr.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Уреди симетрију @@ -1016,12 +1016,12 @@ Low frequency limit - + File does not exist Датотека не постоји - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist Датотека не постоји - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. Наведи другу датотеку. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1384,12 +1384,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist Датотека не постоји - + The specified executable '%1' does not exist! @@ -1575,12 +1575,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist Датотека не постоји - + The specified executable '%1' does not exist! @@ -1687,12 +1687,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist Датотека не постоји - + The specified z88r executable '%1' does not exist! @@ -1703,18 +1703,18 @@ Specify another file please. Наведи другу датотеку. - - + + Wrong file Погрешна датотека - + You must specify the path to the z88r.exe! Мораш навести путању до z88r.exe! - + You must specify the path to the z88r! Мораш навести путању до z88r! @@ -1752,7 +1752,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Грешка приликом уноса @@ -1760,7 +1760,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Грешка приликом уноса @@ -1768,7 +1768,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Грешка приликом уноса @@ -1776,7 +1776,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Грешка приликом уноса @@ -1784,13 +1784,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Грешка приликом уноса - + Please specify a force greater than 0 Наведи cилу већу од 0 @@ -1806,7 +1806,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Грешка приликом уноса @@ -1814,8 +1814,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Грешка приликом уноса @@ -1823,7 +1823,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Грешка приликом уноса @@ -1839,7 +1839,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Грешка приликом уноса @@ -1847,7 +1847,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Грешка приликом уноса @@ -1855,7 +1855,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Грешка приликом уноса @@ -1863,12 +1863,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Уреди МКЕ мрежу - + Meshing failure Грешка приликом прављења мреже @@ -1876,7 +1876,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Грешка приликом уноса @@ -1955,22 +1955,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Грешка приликом избора @@ -1980,46 +1980,46 @@ Specify another file please. Само једна страница у објекту! - премештена у главну страницу - - + + Only one master face and one slave face for a contact constraint! Само једна главна страница и једна споредна страница за ограничење контакта! - - - - + + + + Nothing selected! Ништа није изабрано! - - + + Only one slave face for a contact constraint! Само једна споредна страница за ограничење контакта! - - - - + + + + Selected object is not a part! Изабрани објекат није део! - - + + Only faces can be picked Могу се бирати само странице - + Only one master for a contact constraint! Само један главни за ограничење контакта! - + Only one master face for a contact constraint! Само једна главна страница за ограничење контакта! @@ -2027,28 +2027,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Грешка приликом избора - - + + Nothing selected! Ништа није изабрано! - - + + Selected object is not a part! Изабрани објекат није део! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2056,28 +2056,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Грешка приликом избора - - + + Nothing selected! Ништа није изабрано! - - + + Selected object is not a part! Изабрани објекат није део! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2185,28 +2185,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Грешка приликом избора - - + + Nothing selected! Ништа није изабрано! - - + + Selected object is not a part! Изабрани објекат није део! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2215,38 +2215,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Грешка приликом избора - + Nothing selected! Ништа није изабрано! - - + + Selected object is not a part! Изабрани објекат није део! - + Only one type of selection (vertex,face or edge) per constraint allowed! - Only one type of selection (vertex,face or edge) per constraint allowed! + Дозвољен је само један тип селекције (теме, страница или ивица) по ограничењу! - - + + Wrong selection Погрешан избор - + Select an edge or a face, please. Изабери ивицу или страницу. @@ -2279,30 +2279,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Грешка приликом избора - - + + Nothing selected! Ништа није изабрано! - - + + Selected object is not a part! Изабрани објекат није део! - - + + Selection must only consist of faces! Можете изабрати само странице! @@ -2310,42 +2310,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Грешка приликом избора - - + + Only one face can be selected for a plane rotation constraint! Само једна страница може бити изабрана за ограничење ротације равни! - - + + Nothing selected! Ништа није изабрано! - - + + Selected object is not a part! Изабрани објекат није део! - + Only faces can be picked Могу се бирати само странице - + Only planar faces can be picked Могу се изабрати само равне странице @@ -2353,28 +2353,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Грешка приликом избора - - + + Nothing selected! Ништа није изабрано! - - + + Selected object is not a part! Изабрани објекат није део! - + Only faces can be picked Могу се бирати само странице @@ -2395,28 +2395,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Грешка приликом избора - - + + Nothing selected! Ништа није изабрано! - - + + Selected object is not a part! Изабрани објекат није део! - + Only faces can be picked Могу се бирати само странице @@ -2424,22 +2424,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Грешка приликом избора - - + + Nothing selected! Ништа није изабрано! - - + + Selected object is not a part! Изабрани објекат није део! @@ -2457,54 +2457,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Грешка приликом избора - - + + Nothing selected! Ништа није изабрано! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Изабрани објекат није део! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Могу се бирати само странице - + Only cylindrical faces can be picked Могу изабрати само цилиндричне странице - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2520,7 +2520,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2528,7 +2528,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2536,12 +2536,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Дужина @@ -2550,12 +2550,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 на (%2; %3; %4) је: %5 %6 @@ -2563,7 +2563,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2571,7 +2571,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2579,7 +2579,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2587,7 +2587,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2603,7 +2603,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Activate analysis @@ -2611,12 +2611,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Грешка приликом прављења мреже - + The FEM module is built without NETGEN support. Meshing will not work!!! МКЕ модул је направљен без NETGEN подршке. Прављење мреже неће радити!!! @@ -2624,15 +2624,15 @@ Specify another file please. FemMaterial - + FEM material МКЕ материјал + - Material Материјал @@ -2657,9 +2657,9 @@ Specify another file please. Име материјала + - TextLabel Текстуална ознака @@ -3005,17 +3005,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3030,11 +3030,11 @@ Specify another file please. Centrif parameter + - - + Parameter Параметар @@ -3064,13 +3064,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Особине ограничења @@ -3085,9 +3085,12 @@ Specify another file please. Потенцијал: - - - + + + + + + @@ -3100,18 +3103,15 @@ Specify another file please. + + + - - - - - - unspecified неодређено @@ -3138,16 +3138,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Реални део + - Imaginary Имагинарни део @@ -3167,9 +3167,9 @@ with a harmonic/oscillating driving force Имагинарни део скаларног потенцијала + - x x @@ -3188,9 +3188,9 @@ Note: has no effect if a solid was selected Напомена: нема ефекта ако је изабрано пуно тело + - y y @@ -3209,9 +3209,9 @@ Note: has no effect if a solid was selected Напомена: нема ефекта ако је изабрано пуно тело + - z z @@ -3276,8 +3276,8 @@ Note: has no effect if a solid was selected Параметри попречног пресека греде - + Cross section parameter Параметри попречног пресека @@ -3328,30 +3328,30 @@ Note: has no effect if a solid was selected Ротација: - - - + + + formula formula - + Velocity x: Брзина x: - + Velocity y: Брзина y: - + Velocity z: Брзина z: @@ -3481,14 +3481,14 @@ Note: for 2D only setting for x is possible, Имагинарни део y-компоненте потенцијала - + Real part of potential z-component Реални део z-компоненте потенцијала - + Imaginary part of potential z-component Имагинарни део z-компоненте потенцијала @@ -3554,11 +3554,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Образац - x @@ -3613,36 +3608,36 @@ Note: for 2D only setting for x is possible, Уреди ограничење - - - - - - - - + + + + + + + + A dialog is already open in the task panel Дијалог је већ отворен у панелу задатака - - - - - - - - + + + + + + + + Do you want to close this dialog? Да ли желите да затворите овај дијалог? - + Meshing Прављење мреже - + Constraint force Ограничење cиле @@ -3664,42 +3659,42 @@ Note: for 2D only setting for x is possible, Увоз/извоз - + Constraint Contact Constraint Contact - + Constraint displacement Ограничење померања - + Constraint fixed Ограничење учвршћености - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Ограничење почетне температуре - + Constraint planerotation Constraint planerotation - + Constraint pressure Ограничење притиска @@ -3709,22 +3704,22 @@ Note: for 2D only setting for x is possible, Ограничење ременице - + Constraint spring Ограничење опруге - + Constraint temperature Ограничење температуре - + Constraint transform Ограничење трансформације - + Edit post processing object Edit post processing object @@ -4073,11 +4068,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Образац - x @@ -4114,11 +4104,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Образац - Meshes: @@ -4132,11 +4117,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Образац - Volume @@ -4188,21 +4168,8 @@ For possible variables, see the description box below. Stop angle: - - TaskDriver - - - Form - Образац - - TaskFemConstraint - - - Form - Образац - Add reference @@ -4251,11 +4218,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Образац - Add reference @@ -4324,11 +4286,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Образац - Select master face, click Add or Remove @@ -4469,11 +4426,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Образац - Select multiple face(s), click Add or Remove @@ -4492,11 +4444,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Образац - Boundary @@ -4729,11 +4676,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Образац - Select a single face, click Add or Remove @@ -4752,11 +4694,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Образац - Select multiple face(s), click Add or Remove @@ -4790,11 +4727,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Образац - Select multiple face(s), click Add or Remove @@ -4835,11 +4767,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Образац - Select multiple face(s), click Add or Remove @@ -4869,11 +4796,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Образац - Rectangular transform @@ -4921,21 +4843,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Образац - - TaskPostClip - - - Form - Образац - Create @@ -4954,11 +4863,6 @@ used for the Elmer solver TaskPostCut - - - Form - Образац - Create @@ -4967,11 +4871,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Образац - Coordinates @@ -5073,11 +4972,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Образац - Mode @@ -5155,11 +5049,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Образац - Scalar @@ -5208,11 +5097,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Образац - Vector @@ -5241,11 +5125,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Образац - Max. Size: @@ -6387,11 +6266,6 @@ Please select a result type first. TaskPostContours - - - Form - Образац - Vector: @@ -6452,7 +6326,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.ts index cc4279e807..b6bea56d3b 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Skapa funktion - + Create pipeline from result Create pipeline from result - + Edit Mirror Redigera spegel @@ -1017,12 +1017,12 @@ Low frequency limit - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist File does not exist - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Inmatningsfel @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Inmatningsfel @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Inmatningsfel @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Inmatningsfel @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Inmatningsfel - + Please specify a force greater than 0 Vänligen specificera en kraft större än 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Inmatningsfel @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Inmatningsfel @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Inmatningsfel @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Inmatningsfel @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Inmatningsfel @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Inmatningsfel @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Edit FEM mesh - + Meshing failure Meshing failure @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Inmatningsfel @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Markeringsfel @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Inget markerat! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Markerad objekt är inte en komponent! - - + + Only faces can be picked Endast ytor kan väljas - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Markeringsfel - - + + Nothing selected! Inget markerat! - - + + Selected object is not a part! Markerad objekt är inte en komponent! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Markeringsfel - - + + Nothing selected! Inget markerat! - - + + Selected object is not a part! Markerad objekt är inte en komponent! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Markeringsfel - - + + Nothing selected! Inget markerat! - - + + Selected object is not a part! Markerad objekt är inte en komponent! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Markeringsfel - + Nothing selected! Inget markerat! - - + + Selected object is not a part! Markerad objekt är inte en komponent! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Fel val - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Markeringsfel - - + + Nothing selected! Inget markerat! - - + + Selected object is not a part! Markerad objekt är inte en komponent! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Markeringsfel - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Inget markerat! - - + + Selected object is not a part! Markerad objekt är inte en komponent! - + Only faces can be picked Endast ytor kan väljas - + Only planar faces can be picked Endast plana ytor kan väljas @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Markeringsfel - - + + Nothing selected! Inget markerat! - - + + Selected object is not a part! Markerad objekt är inte en komponent! - + Only faces can be picked Endast ytor kan väljas @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Markeringsfel - - + + Nothing selected! Inget markerat! - - + + Selected object is not a part! Markerad objekt är inte en komponent! - + Only faces can be picked Endast ytor kan väljas @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Markeringsfel - - + + Nothing selected! Inget markerat! - - + + Selected object is not a part! Markerad objekt är inte en komponent! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Markeringsfel - - + + Nothing selected! Inget markerat! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Markerad objekt är inte en komponent! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Endast ytor kan väljas - + Only cylindrical faces can be picked Endast cylindriska ytor kan väljas - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Längd @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp-alternativ @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Aktivera analys @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Meshing failure - + The FEM module is built without NETGEN support. Meshing will not work!!! The FEM module is built without NETGEN support. Meshing will not work!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Material @@ -2659,9 +2659,9 @@ Specify another file please. Materialnamn + - TextLabel TextLabel @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Parameter @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified ospecificerad @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y Y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Hastighet x: - + Velocity y: Hastighet y: - + Velocity z: Hastighet z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Form - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, Redigera begränsning - - - - - - - - + + + + + + + + A dialog is already open in the task panel En dialogruta är redan öppen i uppgiftspanelen - - - - - - - - + + + + + + + + Do you want to close this dialog? Vill du stänga denna dialogruta? - + Meshing Meshing - + Constraint force Constraint force @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, Importera/Exportera - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Form - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Form - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Form - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. Stoppvinkel: - - TaskDriver - - - Form - Form - - TaskFemConstraint - - - Form - Form - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Form - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Form - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Form - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Form - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Form - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Form - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Form - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Form - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Form - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Form - - TaskPostClip - - - Form - Form - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Form - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Form - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Form - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Form - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Form - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Form - Max. Size: @@ -6111,7 +5990,7 @@ used for the Elmer solver Write - Write + Skriv @@ -6146,7 +6025,7 @@ used for the Elmer solver Abort - Abort + Avbryt @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - Form - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_tr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_tr.ts index 9faeb4708c..64adc38352 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_tr.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_tr.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Alıntılanmış bölgeyi tanımlamak için işlevler kullanan bir alıntı süzgeci tanımlayın/oluşturun + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Bir sonuç nesnesinden bir işlem sonrası oluşturur - + Wrong selection type Yanlış seçim türü - + Select a result object, please. Bir sonuç nesnesi seçin, lütfen. @@ -689,12 +689,12 @@ Fonksiyon oluştur - + Create pipeline from result Sonuçtan iş hattı oluştur - + Edit Mirror Aynalamayı Düzenle @@ -1017,12 +1017,12 @@ Yüksek frekans sınırı - + File does not exist Dosya mevcut değil - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist Dosya mevcut değil - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Lütfen başka bir dosya belirtin. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1381,12 +1381,12 @@ adding an analysis container Varsayılan gmsh ikili dosyasını kullanmak için boş bırakın - + File does not exist Dosya mevcut değil - + The specified executable '%1' does not exist! @@ -1568,12 +1568,12 @@ If unchecked, they will be sorted by their name. Giriş dosyasına yorum yazın - + File does not exist Dosya mevcut değil - + The specified executable '%1' does not exist! @@ -1680,12 +1680,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist Dosya mevcut değil - + The specified z88r executable '%1' does not exist! @@ -1696,18 +1696,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Yanlış dosya - + You must specify the path to the z88r.exe! z88r.exe dosyasının yolunu belirtmelisiniz! - + You must specify the path to the z88r! z88r'nin yolunu belirtmelisiniz! @@ -1745,7 +1745,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Girdi hatası @@ -1753,7 +1753,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Girdi hatası @@ -1761,7 +1761,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Girdi hatası @@ -1769,7 +1769,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Girdi hatası @@ -1777,13 +1777,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Girdi hatası - + Please specify a force greater than 0 Lütfen 0'dan büyük bir güç belirtin @@ -1799,7 +1799,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Girdi hatası @@ -1807,8 +1807,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Girdi hatası @@ -1816,7 +1816,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Girdi hatası @@ -1832,7 +1832,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Girdi hatası @@ -1840,7 +1840,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Girdi hatası @@ -1848,7 +1848,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Girdi hatası @@ -1856,12 +1856,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh FEM kafes Düzenle - + Meshing failure İşlem hatası @@ -1869,7 +1869,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Girdi hatası @@ -1948,22 +1948,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Seçim hatası @@ -1973,46 +1973,46 @@ Specify another file please. Nesnede yalnızca bir tane geometrik yüz! - asıl geometrik yüze taşındı - - + + Only one master face and one slave face for a contact constraint! Bir iletişim kısıtlaması için yalnızca bir asıl geometrik yüz ve bir bağımlı geometrik yüz! - - - - + + + + Nothing selected! Seçim yok! - - + + Only one slave face for a contact constraint! Bir iletişim kısıtlaması için yalnızca bir bağımlı geometrik yüz! - - - - + + + + Selected object is not a part! Temel nesne bir parçası olmadığını! - - + + Only faces can be picked Sadece modelin yüzleri seçilebilir - + Only one master for a contact constraint! Bir iletişim kısıtlaması için yalnızca bir asıl yönetici! - + Only one master face for a contact constraint! Bir iletişim kısıtlaması için yalnızca bir asıl geometrik yüz! @@ -2020,28 +2020,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Seçim hatası - - + + Nothing selected! Seçim yok! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! - + Only one type of selection (vertex,face or edge) per constraint allowed! Kısıtlama başına tek bir seçim türüne (köşe, yüz veya kenar) izin verilmektedir! @@ -2049,28 +2049,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Seçim hatası - - + + Nothing selected! Seçim yok! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! - + Only one type of selection (vertex,face or edge) per constraint allowed! Kısıtlama başına tek bir seçim türüne (köşe, yüz veya kenar) izin verilmektedir! @@ -2178,28 +2178,28 @@ Specify another file please. 3B parça için yalnızca geometrik yüzler veya 2B parça için yalnızca kenarlar seçilebilir - - - - - + + + + + Selection error Seçim hatası - - + + Nothing selected! Seçim yok! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! - + Only one type of selection (vertex,face or edge) per constraint allowed! Kısıtlama başına tek bir seçim türüne (köşe, yüz veya kenar) izin verilmektedir! @@ -2208,38 +2208,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Seçim hatası - + Nothing selected! Seçim yok! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! - + Only one type of selection (vertex,face or edge) per constraint allowed! Kısıtlama başına tek bir seçim türüne (köşe, yüz veya kenar) izin verilmektedir! - - + + Wrong selection Yanlış seçim - + Select an edge or a face, please. Bir kenar veya bir yüz seçin, lütfen. @@ -2272,30 +2272,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Seçim hatası - - + + Nothing selected! Seçim yok! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! - - + + Selection must only consist of faces! Seçim sadece yüzlerden oluşmalıdır! @@ -2303,42 +2303,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Seçim hatası - - + + Only one face can be selected for a plane rotation constraint! Düzlem dönüş kısıtlaması için tek bir yüz seçilebilir! - - + + Nothing selected! Seçim yok! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! - + Only faces can be picked Sadece modelin yüzleri seçilebilir - + Only planar faces can be picked Yalnızca düzlemsel yüzler seçilebilir @@ -2346,28 +2346,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Seçim hatası - - + + Nothing selected! Seçim yok! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! - + Only faces can be picked Sadece modelin yüzleri seçilebilir @@ -2388,28 +2388,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Seçim hatası - - + + Nothing selected! Seçim yok! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! - + Only faces can be picked Sadece modelin yüzleri seçilebilir @@ -2417,22 +2417,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Seçim hatası - - + + Nothing selected! Seçim yok! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! @@ -2450,54 +2450,54 @@ Specify another file please. Dönüştürülebilir yüzler değiştirilmiş. Lütfen sadece dönüştürülebilir yüzleri ekleyin ve dönüştürülemez yüzleri kaldırın! - - - - - - - - - - + + + + + + + + + + Selection error Seçim hatası - - + + Nothing selected! Seçim yok! - - + + Only one face for rectangular transform constraint! Dikdörtgensel dönüşüm kısıtlaması için tek bir yüz gereklidir! - - + + Selected object is not a part! Temel nesne bir parçası olmadığını! - + Only one face for transform constraint! Dönüşüm kısıtlaması için tek bir yüz gereklidir! - + Only faces can be picked Sadece modelin yüzleri seçilebilir - + Only cylindrical faces can be picked Sadece silindirik yüzler seçilebilir - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Sadece dönüştürülebilir yüzler seçilebilir! Öncelikle yer değiştirme kısıtlamasını yüzeye uygulayın, sonra kısıtlamayı yüzeye uygulayın @@ -2513,7 +2513,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Bölgeyi alıntılayın, örtülü işlevi seçin @@ -2521,7 +2521,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Kesilecek, örtük fonksiyonu seçiniz @@ -2529,12 +2529,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Çizgisel veri seçenekleri - + Length X-Axis plot label Uzunluk @@ -2543,12 +2543,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Noktasal veri seçenekleri - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2556,7 +2556,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Sonuç ekranı seçenekleri @@ -2564,7 +2564,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Örtülü işlev @@ -2572,7 +2572,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Skaler kırpma seçenekleri @@ -2580,7 +2580,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Saptırma seçenekleri @@ -2596,7 +2596,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Sonsuz analiz @@ -2604,12 +2604,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure İşlem hatası - + The FEM module is built without NETGEN support. Meshing will not work!!! FEM modülü NETGEN desteği olmadan oluşturulmuştur. Örgü işe yaramaz!!! @@ -2617,15 +2617,15 @@ Specify another file please. FemMaterial - + FEM material FEM malzemesi + - Material Malzeme @@ -2650,9 +2650,9 @@ Specify another file please. Malzeme adı + - TextLabel MetinEtiketi @@ -2998,17 +2998,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3023,11 +3023,11 @@ Specify another file please. Merkezkaç değişkeni + - - + Parameter Parametre @@ -3057,13 +3057,13 @@ Specify another file please. Bölüm baskısı parametresi - - + + - + + - Constraint Properties Kısıtlama Özellikleri @@ -3078,9 +3078,12 @@ Specify another file please. Potansiyel: - - - + + + + + + @@ -3093,18 +3096,15 @@ Specify another file please. + + + - - - - - - unspecified belirtilmemiş @@ -3131,16 +3131,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3160,9 +3160,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3181,9 +3181,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3202,9 +3202,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3269,8 +3269,8 @@ Note: has no effect if a solid was selected Işın kesiti değişkeni - + Cross section parameter Kesit değişkeni @@ -3321,30 +3321,30 @@ Note: has no effect if a solid was selected Dönüş: - - - + + + formula formula - + Velocity x: Hız x: - + Velocity y: Hız y: - + Velocity z: Hız z: @@ -3474,14 +3474,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3547,11 +3547,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Şekil: - x @@ -3606,36 +3601,36 @@ Note: for 2D only setting for x is possible, Kısıt düzenleme - - - - - - - - + + + + + + + + A dialog is already open in the task panel Araç çubuğunda bir pencere zaten açık - - - - - - - - + + + + + + + + Do you want to close this dialog? Bu pencereyi kapatmak ister misiniz? - + Meshing Meshing - + Constraint force Kısıt kuvveti @@ -3657,42 +3652,42 @@ Note: for 2D only setting for x is possible, İçe-Dışa Aktar - + Constraint Contact Teması Kısıtla - + Constraint displacement Kısıtlama-yer değiştirme - + Constraint fixed Kısıtlama-sabit - + Constraint fluid boundary Akışkan sınırını kısıtla - + Constraint heat flux Isı akısını kısıtla - + Constraint initial temperature Başlangıç sıcaklığı kısıtı - + Constraint planerotation Düzlem dönüşünü kısıtla - + Constraint pressure Kısıtlama-basınç @@ -3702,22 +3697,22 @@ Note: for 2D only setting for x is possible, Kasnağı kısıtla - + Constraint spring Kısıtlama-yay - + Constraint temperature Sıcaklığı kısıtla - + Constraint transform Dönüşümü kısıtla - + Edit post processing object İşleme sonrası nesneyi düzenle @@ -4066,11 +4061,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Şekil: - x @@ -4107,11 +4097,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Şekil: - Meshes: @@ -4125,11 +4110,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Şekil: - Volume @@ -4181,21 +4161,8 @@ For possible variables, see the description box below. Açılı durdurma: - - TaskDriver - - - Form - Şekil: - - TaskFemConstraint - - - Form - Şekil: - Add reference @@ -4244,11 +4211,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Şekil: - Add reference @@ -4317,11 +4279,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Şekil: - Select master face, click Add or Remove @@ -4462,11 +4419,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Şekil: - Select multiple face(s), click Add or Remove @@ -4485,11 +4437,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Şekil: - Boundary @@ -4722,11 +4669,6 @@ yön olarak kullanılır TaskFemConstraintPlaneRotation - - - Form - Şekil: - Select a single face, click Add or Remove @@ -4745,11 +4687,6 @@ yön olarak kullanılır TaskFemConstraintPressure - - - Form - Şekil: - Select multiple face(s), click Add or Remove @@ -4783,11 +4720,6 @@ yön olarak kullanılır TaskFemConstraintSpring - - - Form - Şekil: - Select multiple face(s), click Add or Remove @@ -4828,11 +4760,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Şekil: - Select multiple face(s), click Add or Remove @@ -4862,11 +4789,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Şekil: - Rectangular transform @@ -4914,21 +4836,8 @@ used for the Elmer solver Dönüştürülebilir yüzeyler - - TaskObjectName - - - Form - Şekil: - - TaskPostClip - - - Form - Şekil: - Create @@ -4947,11 +4856,6 @@ used for the Elmer solver TaskPostCut - - - Form - Şekil: - Create @@ -4960,11 +4864,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Şekil: - Coordinates @@ -5066,11 +4965,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Şekil: - Mode @@ -5148,11 +5042,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Şekil: - Scalar @@ -5201,11 +5090,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Şekil: - Vector @@ -5234,11 +5118,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Şekil: - Max. Size: @@ -6380,11 +6259,6 @@ Please select a result type first. TaskPostContours - - - Form - Şekil: - Vector: @@ -6445,7 +6319,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts index 5fbbed6f86..9f81a790f4 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Будь ласка, оберіть підсумковий об'єкт. @@ -689,12 +689,12 @@ Створити функцію - + Create pipeline from result Create pipeline from result - + Edit Mirror Редагувати дзеркальне зображення @@ -1016,12 +1016,12 @@ Нижня межа частоти - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1118,12 +1118,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1134,20 +1134,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1384,12 +1384,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1576,12 +1576,12 @@ If unchecked, they will be sorted by their name. Записувати коментарі для вхідного файлу - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1690,12 +1690,12 @@ that "MAXKOI" needs to be increased. що «MAXKOI» потрібно збільшити. - + File does not exist File does not exist - + The specified z88r executable '%1' does not exist! @@ -1706,18 +1706,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1755,7 +1755,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Помилка вводу @@ -1763,7 +1763,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Помилка вводу @@ -1771,7 +1771,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Помилка вводу @@ -1779,7 +1779,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Помилка вводу @@ -1787,13 +1787,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Помилка вводу - + Please specify a force greater than 0 Please specify a force greater than 0 @@ -1809,7 +1809,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Помилка вводу @@ -1817,8 +1817,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Помилка вводу @@ -1826,7 +1826,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Помилка вводу @@ -1842,7 +1842,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Помилка вводу @@ -1850,7 +1850,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Помилка вводу @@ -1858,7 +1858,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Помилка вводу @@ -1866,12 +1866,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Редагувати сітку МСЕ - + Meshing failure Не вдалося побудувати сітку @@ -1879,7 +1879,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Помилка вводу @@ -1958,22 +1958,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Помилка виділення @@ -1983,46 +1983,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! Nothing selected! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! Selected object is not a part! - - + + Only faces can be picked Можливо обрати лише грані - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2030,28 +2030,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Помилка виділення - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2059,28 +2059,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Помилка виділення - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2188,28 +2188,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Помилка виділення - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2218,38 +2218,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Помилка виділення - + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Невірний вибір - + Select an edge or a face, please. Select an edge or a face, please. @@ -2282,30 +2282,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Помилка виділення - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2313,42 +2313,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Помилка виділення - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only faces can be picked Можливо обрати лише грані - + Only planar faces can be picked Можуть бути обрані лише планарні грані @@ -2356,28 +2356,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Помилка виділення - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only faces can be picked Можливо обрати лише грані @@ -2398,28 +2398,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Помилка виділення - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! - + Only faces can be picked Можливо обрати лише грані @@ -2427,22 +2427,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Помилка виділення - - + + Nothing selected! Nothing selected! - - + + Selected object is not a part! Selected object is not a part! @@ -2460,54 +2460,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Помилка виділення - - + + Nothing selected! Nothing selected! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! Selected object is not a part! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Можливо обрати лише грані - + Only cylindrical faces can be picked Можуть бути обраними лише циліндричні поверхні - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2523,7 +2523,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2531,7 +2531,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2539,12 +2539,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Довжина @@ -2553,12 +2553,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2566,7 +2566,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2574,7 +2574,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2582,7 +2582,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2590,7 +2590,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2606,7 +2606,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Активувати аналіз @@ -2614,12 +2614,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Не вдалося побудувати сітку - + The FEM module is built without NETGEN support. Meshing will not work!!! The FEM module is built without NETGEN support. Meshing will not work!!! @@ -2627,15 +2627,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Матеріал @@ -2660,9 +2660,9 @@ Specify another file please. Material name + - TextLabel ТекстовийНадпис @@ -3008,17 +3008,17 @@ Specify another file please. - - - + + + 0 mm 0 мм @@ -3033,11 +3033,11 @@ Specify another file please. Centrif parameter + - - + Parameter Параметр @@ -3067,13 +3067,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3088,9 +3088,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3103,18 +3106,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3141,16 +3141,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3170,9 +3170,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3191,9 +3191,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3212,9 +3212,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3279,8 +3279,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3331,30 +3331,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3484,14 +3484,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3557,11 +3557,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Форма - x @@ -3616,36 +3611,36 @@ Note: for 2D only setting for x is possible, Редагувати обмеження - - - - - - - - + + + + + + + + A dialog is already open in the task panel Діалогове вікно вже відкрито в панелі задач - - - - - - - - + + + + + + + + Do you want to close this dialog? Ви бажаєте закрити це діалогове вікно? - + Meshing Побудова сітки - + Constraint force Constraint force @@ -3667,42 +3662,42 @@ Note: for 2D only setting for x is possible, Імпорт-експорт - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3712,22 +3707,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4076,11 +4071,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Форма - x @@ -4117,11 +4107,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Форма - Meshes: @@ -4135,11 +4120,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Форма - Volume @@ -4191,21 +4171,8 @@ For possible variables, see the description box below. Кут зупинки: - - TaskDriver - - - Form - Форма - - TaskFemConstraint - - - Form - Форма - Add reference @@ -4254,11 +4221,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Форма - Add reference @@ -4327,11 +4289,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Форма - Select master face, click Add or Remove @@ -4472,11 +4429,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4495,11 +4447,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Форма - Boundary @@ -4732,11 +4679,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Форма - Select a single face, click Add or Remove @@ -4755,11 +4697,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4793,11 +4730,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4838,11 +4770,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Форма - Select multiple face(s), click Add or Remove @@ -4872,11 +4799,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Форма - Rectangular transform @@ -4924,21 +4846,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Форма - - TaskPostClip - - - Form - Форма - Create @@ -4957,11 +4866,6 @@ used for the Elmer solver TaskPostCut - - - Form - Форма - Create @@ -4970,11 +4874,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Форма - Coordinates @@ -5076,11 +4975,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Форма - Mode @@ -5158,11 +5052,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Форма - Scalar @@ -5211,11 +5100,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Форма - Vector @@ -5244,11 +5128,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Форма - Max. Size: @@ -6390,11 +6269,6 @@ Please select a result type first. TaskPostContours - - - Form - Форма - Vector: @@ -6455,7 +6329,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.ts index 70fa94a7ab..fddecfd65a 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror Edit Mirror @@ -1017,12 +1017,12 @@ Límit de baixa freqüència - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist File does not exist - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error Input error @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error Input error @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error Input error @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error Input error @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error Input error - + Please specify a force greater than 0 Especifiqueu una força superior a 0 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error Input error @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error Input error @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error Input error @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error Input error @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error Input error @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error Input error @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh Edita la malla FEM - + Meshing failure Ha fallat el mallat @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error Input error @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error Error de selecció @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! No s'ha seleccionat cap element. - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! L'objecte seleccionat no és una peça. - - + + Only faces can be picked Únicament es poden seleccionar cares - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error Error de selecció - + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection Selecció incorrecta - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error Error de selecció - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only faces can be picked Únicament es poden seleccionar cares - + Only planar faces can be picked Únicament es poden seleccionar cares planes @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only faces can be picked Únicament es poden seleccionar cares @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only faces can be picked Únicament es poden seleccionar cares @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Selected object is not a part! L'objecte seleccionat no és una peça. @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error Error de selecció - - + + Nothing selected! No s'ha seleccionat cap element. - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! L'objecte seleccionat no és una peça. - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked Únicament es poden seleccionar cares - + Only cylindrical faces can be picked Únicament es poden seleccionar cares cilíndriques - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label Longitud @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis Activa l'anàlisi @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure Ha fallat el mallat - + The FEM module is built without NETGEN support. Meshing will not work!!! El mòdul MEF està compilat sense el suport de NETGEN. El mallat no funcionarà!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material Material @@ -2659,9 +2659,9 @@ Specify another file please. Material name + - TextLabel EtiquetaText @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter Paràmetre @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - Forma - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, Edita la restricció - - - - - - - - + + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - - + + + + + + + + Do you want to close this dialog? Do you want to close this dialog? - + Meshing Mallat - + Constraint force Restricció de força @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, Importació-exportació - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - Forma - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - Forma - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - Forma - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. Angle final: - - TaskDriver - - - Form - Forma - - TaskFemConstraint - - - Form - Forma - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - Forma - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - Forma - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - Forma - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - Forma - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - Forma - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - Forma - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - Forma - - TaskPostClip - - - Form - Forma - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - Forma - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - Forma - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - Forma - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - Forma - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - Forma - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - Forma - Max. Size: @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - Forma - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.ts index a384fc8f25..e00a193ee4 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ 从结果对象创建后处理管线 - + Wrong selection type Wrong selection type - + Select a result object, please. 请选择一个结果对象。 @@ -689,12 +689,12 @@ 创建函数 - + Create pipeline from result Create pipeline from result - + Edit Mirror 编辑镜像 @@ -1017,12 +1017,12 @@ 低频限制 - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container 当为空白时使用默认的 Gmsh 二进制文件 - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. 将注释写入到输入文件 - + File does not exist File does not exist - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist File does not exist - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file Wrong file - + You must specify the path to the z88r.exe! You must specify the path to the z88r.exe! - + You must specify the path to the z88r! You must specify the path to the z88r! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error 输入错误 @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error 输入错误 @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error 输入错误 @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error 输入错误 @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error 输入错误 - + Please specify a force greater than 0 请指定一个大于 0 的力 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error 输入错误 @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error 输入错误 @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error 输入错误 @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error 输入错误 @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error 输入错误 @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error 输入错误 @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh 编辑有限元网格 - + Meshing failure 网格生成失败 @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error 输入错误 @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error 选择错误 @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! 未选择任何内容 ! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! 所选之物件并非零件! - - + + Only faces can be picked 仅可以选取面 - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error 选择错误 - - + + Nothing selected! 未选择任何内容 ! - - + + Selected object is not a part! 所选之物件并非零件! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error 选择错误 - - + + Nothing selected! 未选择任何内容 ! - - + + Selected object is not a part! 所选之物件并非零件! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error 选择错误 - - + + Nothing selected! 未选择任何内容 ! - - + + Selected object is not a part! 所选之物件并非零件! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error 选择错误 - + Nothing selected! 未选择任何内容 ! - - + + Selected object is not a part! 所选之物件并非零件! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection 选择错误 - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error 选择错误 - - + + Nothing selected! 未选择任何内容 ! - - + + Selected object is not a part! 所选之物件并非零件! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error 选择错误 - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! 未选择任何内容 ! - - + + Selected object is not a part! 所选之物件并非零件! - + Only faces can be picked 仅可以选取面 - + Only planar faces can be picked 仅可以选取平面 @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error 选择错误 - - + + Nothing selected! 未选择任何内容 ! - - + + Selected object is not a part! 所选之物件并非零件! - + Only faces can be picked 仅可以选取面 @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error 选择错误 - - + + Nothing selected! 未选择任何内容 ! - - + + Selected object is not a part! 所选之物件并非零件! - + Only faces can be picked 仅可以选取面 @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error 选择错误 - - + + Nothing selected! 未选择任何内容 ! - - + + Selected object is not a part! 所选之物件并非零件! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error 选择错误 - - + + Nothing selected! 未选择任何内容 ! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! 所选之物件并非零件! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked 仅可以选取面 - + Only cylindrical faces can be picked 反可以选取圆柱面 - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label 长度 @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 at (%2; %3; %4) is: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function 隐函数 @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis 启动分析 @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure 网格生成失败 - + The FEM module is built without NETGEN support. Meshing will not work!!! 有限元模块并未支持NETGEN,无法执行网格化!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material 材质 @@ -2659,9 +2659,9 @@ Specify another file please. 材料名称 + - TextLabel 文本标签 @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter 参数 @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties 约束属性 @@ -3087,9 +3087,12 @@ Specify another file please. 电位: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified 未指定 @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected 旋转: - - - + + + formula formula - + Velocity x: X方向速度: - + Velocity y: Y方向速度: - + Velocity z: Z方向速度: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - 窗体 - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, 编辑约束 - - - - - - - - + + + + + + + + A dialog is already open in the task panel 一个对话框已在任务面板打开 - - - - - - - - + + + + + + + + Do you want to close this dialog? 您要关闭此对话框吗? - + Meshing 建立网格 - + Constraint force 力约束 @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, Import-Export - + Constraint Contact Constraint Contact - + Constraint displacement 位移约束 - + Constraint fixed 固定约束 - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature 约束初始温度 - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - 窗体 - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - 窗体 - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - 窗体 - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. 终止角: - - TaskDriver - - - Form - 窗体 - - TaskFemConstraint - - - Form - 窗体 - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - 窗体 - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - 窗体 - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - 窗体 - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - 窗体 - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - 窗体 - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - 窗体 - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - 窗体 - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - 窗体 - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - 窗体 - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - 窗体 - - TaskPostClip - - - Form - 窗体 - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - 窗体 - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - 窗体 - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - 窗体 - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - 窗体 - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - 窗体 - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - 窗体 - Max. Size: @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - 窗体 - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.ts index 56ce0b7eea..17a4d3612f 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.ts @@ -350,8 +350,8 @@ - Define/create a clip filter which uses functions to define the cliped region - Define/create a clip filter which uses functions to define the cliped region + Define/create a clip filter which uses functions to define the clipped region + Define/create a clip filter which uses functions to define the clipped region @@ -540,12 +540,12 @@ Creates a post processing pipeline from a result object - + Wrong selection type Wrong selection type - + Select a result object, please. Select a result object, please. @@ -689,12 +689,12 @@ Create function - + Create pipeline from result Create pipeline from result - + Edit Mirror 編輯鏡像 @@ -1017,12 +1017,12 @@ 低頻限制 - + File does not exist 檔案不存在 - + The specified executable '%1' does not exist! @@ -1119,12 +1119,12 @@ will be merged to make the volume boundaries invisible. <html><head/><body><p><span style=" font-weight:600;">Note:</span> It is recommended to use an even number of cores to benefit from mesh symmetries. (Using 8 cores can be faster than 9 cores.)<br/><span style=" font-weight:600;">Note too:</span> In extreme cases ElmerSolver might not converge if the core number is too high.</p></body></html> - + File does not exist 檔案不存在 - + The specified executable '%1' does not exist! @@ -1135,20 +1135,20 @@ Specify another file please. Specify another file please. - - + + FEM Elmer: Not suitable for multithreading FEM Elmer: Not suitable for multithreading - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi.exe' is required. - + Wrong Elmer setting: You use more than one CPU core. Therefore an executable with the suffix '_mpi' is required. Wrong Elmer setting: You use more than one CPU core. @@ -1385,12 +1385,12 @@ adding an analysis container Leave blank to use default gmsh binary file - + File does not exist 檔案不存在 - + The specified executable '%1' does not exist! @@ -1577,12 +1577,12 @@ If unchecked, they will be sorted by their name. Write comments to input file - + File does not exist 檔案不存在 - + The specified executable '%1' does not exist! @@ -1689,12 +1689,12 @@ iterative solver and you get the error message that "MAXKOI" needs to be increased. - + File does not exist 檔案不存在 - + The specified z88r executable '%1' does not exist! @@ -1705,18 +1705,18 @@ Specify another file please. Specify another file please. - - + + Wrong file 錯誤檔案 - + You must specify the path to the z88r.exe! 你必須指定 z88r.exe 的路徑! - + You must specify the path to the z88r! 你必須指定 z88r 的路徑! @@ -1754,7 +1754,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintBearing - + Input error 輸入錯誤 @@ -1762,7 +1762,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintContact - + Input error 輸入錯誤 @@ -1770,7 +1770,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintDisplacement - + Input error 輸入錯誤 @@ -1778,7 +1778,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintFluidBoundary - + Input error 輸入錯誤 @@ -1786,13 +1786,13 @@ Specify another file please. FemGui::TaskDlgFemConstraintForce - - + + Input error 輸入錯誤 - + Please specify a force greater than 0 請指定一個大於 0 的力 @@ -1808,7 +1808,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintHeatflux - + Input error 輸入錯誤 @@ -1816,8 +1816,8 @@ Specify another file please. FemGui::TaskDlgFemConstraintInitialTemperature - - + + Input error 輸入錯誤 @@ -1825,7 +1825,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintPressure - + Input error 輸入錯誤 @@ -1841,7 +1841,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintSpring - + Input error 輸入錯誤 @@ -1849,7 +1849,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTemperature - + Input error 輸入錯誤 @@ -1857,7 +1857,7 @@ Specify another file please. FemGui::TaskDlgFemConstraintTransform - + Input error 輸入錯誤 @@ -1865,12 +1865,12 @@ Specify another file please. FemGui::TaskDlgMeshShapeNetgen - + Edit FEM mesh 編輯FEM網格 - + Meshing failure 網格產生失敗 @@ -1878,7 +1878,7 @@ Specify another file please. FemGui::TaskDlgPost - + Input error 輸入錯誤 @@ -1957,22 +1957,22 @@ Specify another file please. - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + Selection error 選取錯誤 @@ -1982,46 +1982,46 @@ Specify another file please. Only one face in object! - moved to master face - - + + Only one master face and one slave face for a contact constraint! Only one master face and one slave face for a contact constraint! - - - - + + + + Nothing selected! 尚未選取 ! - - + + Only one slave face for a contact constraint! Only one slave face for a contact constraint! - - - - + + + + Selected object is not a part! 所選之物件並非零件 ! - - + + Only faces can be picked 僅可以選取面 - + Only one master for a contact constraint! Only one master for a contact constraint! - + Only one master face for a contact constraint! Only one master face for a contact constraint! @@ -2029,28 +2029,28 @@ Specify another file please. FemGui::TaskFemConstraintDisplacement - - - - - + + + + + Selection error 選取錯誤 - - + + Nothing selected! 尚未選取 ! - - + + Selected object is not a part! 所選之物件並非零件 ! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2058,28 +2058,28 @@ Specify another file please. FemGui::TaskFemConstraintFixed - - - - - + + + + + Selection error 選取錯誤 - - + + Nothing selected! 尚未選取 ! - - + + Selected object is not a part! 所選之物件並非零件 ! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2187,28 +2187,28 @@ Specify another file please. Only faces for 3D part or edges for 2D can be picked - - - - - + + + + + Selection error 選取錯誤 - - + + Nothing selected! 尚未選取 ! - - + + Selected object is not a part! 所選之物件並非零件 ! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! @@ -2217,38 +2217,38 @@ Specify another file please. FemGui::TaskFemConstraintForce - - - - + + + + Selection error 選取錯誤 - + Nothing selected! 尚未選取 ! - - + + Selected object is not a part! 所選之物件並非零件 ! - + Only one type of selection (vertex,face or edge) per constraint allowed! Only one type of selection (vertex,face or edge) per constraint allowed! - - + + Wrong selection 錯誤的選取 - + Select an edge or a face, please. Select an edge or a face, please. @@ -2281,30 +2281,30 @@ Specify another file please. FemGui::TaskFemConstraintHeatflux - - - - - - + + + + + + Selection error 選取錯誤 - - + + Nothing selected! 尚未選取 ! - - + + Selected object is not a part! 所選之物件並非零件 ! - - + + Selection must only consist of faces! Selection must only consist of faces! @@ -2312,42 +2312,42 @@ Specify another file please. FemGui::TaskFemConstraintPlaneRotation - - - - - - - - + + + + + + + + Selection error 選取錯誤 - - + + Only one face can be selected for a plane rotation constraint! Only one face can be selected for a plane rotation constraint! - - + + Nothing selected! 尚未選取 ! - - + + Selected object is not a part! 所選之物件並非零件 ! - + Only faces can be picked 僅可以選取面 - + Only planar faces can be picked 僅可以選取平面 @@ -2355,28 +2355,28 @@ Specify another file please. FemGui::TaskFemConstraintPressure - - - - - + + + + + Selection error 選取錯誤 - - + + Nothing selected! 尚未選取 ! - - + + Selected object is not a part! 所選之物件並非零件 ! - + Only faces can be picked 僅可以選取面 @@ -2397,28 +2397,28 @@ Specify another file please. FemGui::TaskFemConstraintSpring - - - - - + + + + + Selection error 選取錯誤 - - + + Nothing selected! 尚未選取 ! - - + + Selected object is not a part! 所選之物件並非零件 ! - + Only faces can be picked 僅可以選取面 @@ -2426,22 +2426,22 @@ Specify another file please. FemGui::TaskFemConstraintTemperature - - - - + + + + Selection error 選取錯誤 - - + + Nothing selected! 尚未選取 ! - - + + Selected object is not a part! 所選之物件並非零件 ! @@ -2459,54 +2459,54 @@ Specify another file please. The transformable faces have changed. Please add only the transformable faces and remove non-transformable faces! - - - - - - - - - - + + + + + + + + + + Selection error 選取錯誤 - - + + Nothing selected! 尚未選取 ! - - + + Only one face for rectangular transform constraint! Only one face for rectangular transform constraint! - - + + Selected object is not a part! 所選之物件並非零件 ! - + Only one face for transform constraint! Only one face for transform constraint! - + Only faces can be picked 僅可以選取面 - + Only cylindrical faces can be picked 僅可以選取圓柱面 - + Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface Only transformable faces can be selected! Apply displacement constraint to surface first then apply constraint to surface @@ -2522,7 +2522,7 @@ Specify another file please. FemGui::TaskPostClip - + Clip region, choose implicit function Clip region, choose implicit function @@ -2530,7 +2530,7 @@ Specify another file please. FemGui::TaskPostCut - + Function cut, choose implicit function Function cut, choose implicit function @@ -2538,12 +2538,12 @@ Specify another file please. FemGui::TaskPostDataAlongLine - + Data along a line options Data along a line options - + Length X-Axis plot label 間距 @@ -2552,12 +2552,12 @@ Specify another file please. FemGui::TaskPostDataAtPoint - + Data at point options Data at point options - + %1 at (%2; %3; %4) is: %5 %6 %1 在 (%2; %3; %4) 是: %5 %6 @@ -2565,7 +2565,7 @@ Specify another file please. FemGui::TaskPostDisplay - + Result display options Result display options @@ -2573,7 +2573,7 @@ Specify another file please. FemGui::TaskPostFunction - + Implicit function Implicit function @@ -2581,7 +2581,7 @@ Specify another file please. FemGui::TaskPostScalarClip - + Scalar clip options Scalar clip options @@ -2589,7 +2589,7 @@ Specify another file please. FemGui::TaskPostWarpVector - + Warp options Warp options @@ -2605,7 +2605,7 @@ Specify another file please. FemGui::ViewProviderFemAnalysis - + Activate analysis 啟動分析 @@ -2613,12 +2613,12 @@ Specify another file please. FemGui::ViewProviderFemMeshShapeNetgen - + Meshing failure 網格產生失敗 - + The FEM module is built without NETGEN support. Meshing will not work!!! FEM模組並未支援NETGEN,無法執行網格化!!! @@ -2626,15 +2626,15 @@ Specify another file please. FemMaterial - + FEM material FEM material + - Material 材質 @@ -2659,9 +2659,9 @@ Specify another file please. Material name + - TextLabel 文字標籤 @@ -3007,17 +3007,17 @@ Specify another file please. - - - + + + 0 mm 0 mm @@ -3032,11 +3032,11 @@ Specify another file please. Centrif parameter + - - + Parameter 參數 @@ -3066,13 +3066,13 @@ Specify another file please. SectionPrint parameter - - + + - + + - Constraint Properties Constraint Properties @@ -3087,9 +3087,12 @@ Specify another file please. Potential: - - - + + + + + + @@ -3102,18 +3105,15 @@ Specify another file please. + + + - - - - - - unspecified unspecified @@ -3140,16 +3140,16 @@ with a harmonic/oscillating driving force with a harmonic/oscillating driving force + - Real Real + - Imaginary Imaginary @@ -3169,9 +3169,9 @@ with a harmonic/oscillating driving force Imaginary part of scalar potential + - x x @@ -3190,9 +3190,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - y y @@ -3211,9 +3211,9 @@ Note: has no effect if a solid was selected Note: has no effect if a solid was selected + - z z @@ -3278,8 +3278,8 @@ Note: has no effect if a solid was selected Beam section parameter - + Cross section parameter Cross section parameter @@ -3330,30 +3330,30 @@ Note: has no effect if a solid was selected Rotation: - - - + + + formula formula - + Velocity x: Velocity x: - + Velocity y: Velocity y: - + Velocity z: Velocity z: @@ -3483,14 +3483,14 @@ Note: for 2D only setting for x is possible, Imaginary part of potential y-component - + Real part of potential z-component Real part of potential z-component - + Imaginary part of potential z-component Imaginary part of potential z-component @@ -3556,11 +3556,6 @@ Note: for 2D only setting for x is possible, PlaneWidget - - - Form - 格式 - x @@ -3615,36 +3610,36 @@ Note: for 2D only setting for x is possible, 編輯拘束 - - - - - - - - + + + + + + + + A dialog is already open in the task panel 於工作面板已開啟對話窗 - - - - - - - - + + + + + + + + Do you want to close this dialog? 您確定要關閉此對話窗嗎? - + Meshing 建立網格 - + Constraint force 力量拘束 @@ -3666,42 +3661,42 @@ Note: for 2D only setting for x is possible, 匯入-匯出 - + Constraint Contact Constraint Contact - + Constraint displacement Constraint displacement - + Constraint fixed Constraint fixed - + Constraint fluid boundary Constraint fluid boundary - + Constraint heat flux Constraint heat flux - + Constraint initial temperature Constraint initial temperature - + Constraint planerotation Constraint planerotation - + Constraint pressure Constraint pressure @@ -3711,22 +3706,22 @@ Note: for 2D only setting for x is possible, Constraint pulley - + Constraint spring Constraint spring - + Constraint temperature Constraint temperature - + Constraint transform Constraint transform - + Edit post processing object Edit post processing object @@ -4075,11 +4070,6 @@ For possible variables, see the description box below. SphereWidget - - - Form - 格式 - x @@ -4116,11 +4106,6 @@ For possible variables, see the description box below. TaskAnalysisInfo - - - Form - 格式 - Meshes: @@ -4134,11 +4119,6 @@ For possible variables, see the description box below. TaskCreateNodeSet - - - Form - 格式 - Volume @@ -4190,21 +4170,8 @@ For possible variables, see the description box below. 停止角度: - - TaskDriver - - - Form - 格式 - - TaskFemConstraint - - - Form - 格式 - Add reference @@ -4253,11 +4220,6 @@ For possible variables, see the description box below. TaskFemConstraintBearing - - - Form - 格式 - Add reference @@ -4326,11 +4288,6 @@ For possible variables, see the description box below. TaskFemConstraintContact - - - Form - 格式 - Select master face, click Add or Remove @@ -4471,11 +4428,6 @@ generated by the flow TaskFemConstraintFixed - - - Form - 格式 - Select multiple face(s), click Add or Remove @@ -4494,11 +4446,6 @@ generated by the flow TaskFemConstraintFluidBoundary - - - Form - 格式 - Boundary @@ -4731,11 +4678,6 @@ normal vector of the face is used as direction TaskFemConstraintPlaneRotation - - - Form - 格式 - Select a single face, click Add or Remove @@ -4754,11 +4696,6 @@ normal vector of the face is used as direction TaskFemConstraintPressure - - - Form - 格式 - Select multiple face(s), click Add or Remove @@ -4792,11 +4729,6 @@ normal vector of the face is used as direction TaskFemConstraintSpring - - - Form - 格式 - Select multiple face(s), click Add or Remove @@ -4837,11 +4769,6 @@ used for the Elmer solver TaskFemConstraintTemperature - - - Form - 格式 - Select multiple face(s), click Add or Remove @@ -4871,11 +4798,6 @@ used for the Elmer solver TaskFemConstraintTransform - - - Form - 格式 - Rectangular transform @@ -4923,21 +4845,8 @@ used for the Elmer solver Transformable surfaces - - TaskObjectName - - - Form - 格式 - - TaskPostClip - - - Form - 格式 - Create @@ -4956,11 +4865,6 @@ used for the Elmer solver TaskPostCut - - - Form - 格式 - Create @@ -4969,11 +4873,6 @@ used for the Elmer solver TaskPostDataAlongLine - - - Form - 格式 - Coordinates @@ -5075,11 +4974,6 @@ used for the Elmer solver TaskPostDisplay - - - Form - 格式 - Mode @@ -5157,11 +5051,6 @@ used for the Elmer solver TaskPostScalarClip - - - Form - 格式 - Scalar @@ -5210,11 +5099,6 @@ used for the Elmer solver TaskPostWarpVector - - - Form - 格式 - Vector @@ -5243,11 +5127,6 @@ used for the Elmer solver TaskTetParameter - - - Form - 格式 - Max. Size: @@ -6389,11 +6268,6 @@ Please select a result type first. TaskPostContours - - - Form - 格式 - Vector: @@ -6454,7 +6328,7 @@ Please select a result type first. FemGui::TaskPostContours - + Contours filter options Contours filter options diff --git a/src/Mod/Fem/Gui/Resources/ui/ElementFluid1D.ui b/src/Mod/Fem/Gui/Resources/ui/ElementFluid1D.ui index 477c352d39..d94289652c 100644 --- a/src/Mod/Fem/Gui/Resources/ui/ElementFluid1D.ui +++ b/src/Mod/Fem/Gui/Resources/ui/ElementFluid1D.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/SphereWidget.ui b/src/Mod/Fem/Gui/SphereWidget.ui index de2118ab79..2c2c085bd4 100644 --- a/src/Mod/Fem/Gui/SphereWidget.ui +++ b/src/Mod/Fem/Gui/SphereWidget.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskAnalysisInfo.cpp b/src/Mod/Fem/Gui/TaskAnalysisInfo.cpp index 5f6aaa0e5a..e5a8260965 100644 --- a/src/Mod/Fem/Gui/TaskAnalysisInfo.cpp +++ b/src/Mod/Fem/Gui/TaskAnalysisInfo.cpp @@ -44,7 +44,6 @@ TaskAnalysisInfo::TaskAnalysisInfo(Fem::FemAnalysis* pcObject, QWidget* parent) this->groupLayout()->addWidget(proxy); } -TaskAnalysisInfo::~TaskAnalysisInfo() -{} +TaskAnalysisInfo::~TaskAnalysisInfo() = default; #include "moc_TaskAnalysisInfo.cpp" diff --git a/src/Mod/Fem/Gui/TaskAnalysisInfo.ui b/src/Mod/Fem/Gui/TaskAnalysisInfo.ui index 9efb3bea2e..e47d00978b 100644 --- a/src/Mod/Fem/Gui/TaskAnalysisInfo.ui +++ b/src/Mod/Fem/Gui/TaskAnalysisInfo.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp b/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp index 4e69796b26..650d7aaeba 100644 --- a/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp +++ b/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp @@ -148,8 +148,8 @@ void TaskCreateNodeSet::DefineNodesCallback(void* ud, SoEventCallback* n) SbViewVolume vv = cam->getViewVolume(); Gui::ViewVolumeProjection proj(vv); Base::Polygon2d polygon; - for (std::vector::const_iterator it = clPoly.begin(); it != clPoly.end(); ++it) - polygon.Add(Base::Vector2d((*it)[0], (*it)[1])); + for (auto it : clPoly) + polygon.Add(Base::Vector2d(it[0], it[1])); taskBox->DefineNodes(polygon, proj, role == Gui::SelectionRole::Inner ? true : false); } diff --git a/src/Mod/Fem/Gui/TaskCreateNodeSet.ui b/src/Mod/Fem/Gui/TaskCreateNodeSet.ui index 8ae0631def..8df736b3b6 100644 --- a/src/Mod/Fem/Gui/TaskCreateNodeSet.ui +++ b/src/Mod/Fem/Gui/TaskCreateNodeSet.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskDlgAnalysis.cpp b/src/Mod/Fem/Gui/TaskDlgAnalysis.cpp index 7787db39c3..351f14dcda 100644 --- a/src/Mod/Fem/Gui/TaskDlgAnalysis.cpp +++ b/src/Mod/Fem/Gui/TaskDlgAnalysis.cpp @@ -51,10 +51,7 @@ TaskDlgAnalysis::TaskDlgAnalysis(Fem::FemAnalysis* obj) Content.push_back(info); } -TaskDlgAnalysis::~TaskDlgAnalysis() -{ - -} +TaskDlgAnalysis::~TaskDlgAnalysis() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Mod/Fem/Gui/TaskDlgCreateNodeSet.cpp b/src/Mod/Fem/Gui/TaskDlgCreateNodeSet.cpp index 9e32a5dfbd..382a48a32e 100644 --- a/src/Mod/Fem/Gui/TaskDlgCreateNodeSet.cpp +++ b/src/Mod/Fem/Gui/TaskDlgCreateNodeSet.cpp @@ -50,10 +50,7 @@ TaskDlgCreateNodeSet::TaskDlgCreateNodeSet(Fem::FemSetNodesObject* obj) Content.push_back(param); } -TaskDlgCreateNodeSet::~TaskDlgCreateNodeSet() -{ - -} +TaskDlgCreateNodeSet::~TaskDlgCreateNodeSet() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.cpp b/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.cpp index 50582bc629..f0a0046078 100644 --- a/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.cpp +++ b/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.cpp @@ -57,10 +57,7 @@ TaskDlgMeshShapeNetgen::TaskDlgMeshShapeNetgen(FemGui::ViewProviderFemMeshShapeN } } -TaskDlgMeshShapeNetgen::~TaskDlgMeshShapeNetgen() -{ - -} +TaskDlgMeshShapeNetgen::~TaskDlgMeshShapeNetgen() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Mod/Fem/Gui/TaskDriver.cpp b/src/Mod/Fem/Gui/TaskDriver.cpp index 32cd7fb338..eed9c8ef52 100644 --- a/src/Mod/Fem/Gui/TaskDriver.cpp +++ b/src/Mod/Fem/Gui/TaskDriver.cpp @@ -44,7 +44,6 @@ TaskDriver::TaskDriver(Fem::FemAnalysis* pcObject, QWidget* parent) this->groupLayout()->addWidget(proxy); } -TaskDriver::~TaskDriver() -{} +TaskDriver::~TaskDriver() = default; #include "moc_TaskDriver.cpp" diff --git a/src/Mod/Fem/Gui/TaskDriver.ui b/src/Mod/Fem/Gui/TaskDriver.ui index f9dd822780..cdc37dccb2 100644 --- a/src/Mod/Fem/Gui/TaskDriver.ui +++ b/src/Mod/Fem/Gui/TaskDriver.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraint.h b/src/Mod/Fem/Gui/TaskFemConstraint.h index 78c51a5bec..a3e9064b82 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraint.h +++ b/src/Mod/Fem/Gui/TaskFemConstraint.h @@ -45,7 +45,7 @@ class TaskFemConstraint : public Gui::TaskView::TaskBox, public Gui::SelectionOb public: explicit TaskFemConstraint(ViewProviderFemConstraint *ConstraintView,QWidget *parent = nullptr,const char* pixmapname = ""); - ~TaskFemConstraint() override {} + ~TaskFemConstraint() override = default; virtual const std::string getReferences() const {return std::string();} const std::string getReferences(const std::vector& items) const; diff --git a/src/Mod/Fem/Gui/TaskFemConstraint.ui b/src/Mod/Fem/Gui/TaskFemConstraint.ui index 6092402fe2..3507f1a03e 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraint.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraint.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp b/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp index 659766555f..114f2e8c5d 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintBearing.cpp @@ -287,8 +287,7 @@ bool TaskFemConstraintBearing::getAxial() const return ui->checkAxial->isChecked(); } -TaskFemConstraintBearing::~TaskFemConstraintBearing() -{} +TaskFemConstraintBearing::~TaskFemConstraintBearing() = default; bool TaskFemConstraintBearing::event(QEvent *e) { diff --git a/src/Mod/Fem/Gui/TaskFemConstraintBearing.h b/src/Mod/Fem/Gui/TaskFemConstraintBearing.h index 4b8d81d15a..ffa0f9094b 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintBearing.h +++ b/src/Mod/Fem/Gui/TaskFemConstraintBearing.h @@ -80,7 +80,7 @@ class TaskDlgFemConstraintBearing : public TaskDlgFemConstraint Q_OBJECT public: - TaskDlgFemConstraintBearing() {} + TaskDlgFemConstraintBearing() = default; explicit TaskDlgFemConstraintBearing(ViewProviderFemConstraintBearing *ConstraintView); /// is called by the framework if the dialog is accepted (Ok) diff --git a/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui b/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui index 48f8a329a2..367a53b500 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraintContact.cpp b/src/Mod/Fem/Gui/TaskFemConstraintContact.cpp index cf938685ed..19c9c38152 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintContact.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintContact.cpp @@ -122,8 +122,7 @@ TaskFemConstraintContact::TaskFemConstraintContact(ViewProviderFemConstraintCont updateUI(); } -TaskFemConstraintContact::~TaskFemConstraintContact() -{} +TaskFemConstraintContact::~TaskFemConstraintContact() = default; void TaskFemConstraintContact::updateUI() { @@ -166,14 +165,13 @@ void TaskFemConstraintContact::addToSelectionSlave() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); if (subNames.size() != 1) { QMessageBox::warning( @@ -181,19 +179,18 @@ void TaskFemConstraintContact::addToSelectionSlave() Gui::Selection().clearSelection(); return; } - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; - if (subNames[subIt].substr(0, 4) != "Face") { + if (subName.substr(0, 4) != "Face") { QMessageBox::warning(this, tr("Selection error"), tr("Only faces can be picked")); return; } for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -206,8 +203,8 @@ void TaskFemConstraintContact::addToSelectionSlave() if (addMe) { QSignalBlocker block(ui->lw_referencesSlave); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_referencesSlave->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_referencesSlave->addItem(makeRefText(obj, subName)); } } } @@ -229,23 +226,21 @@ void TaskFemConstraintContact::removeFromSelectionSlave() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -300,33 +295,31 @@ void TaskFemConstraintContact::addToSelectionMaster() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); if (subNames.size() != 1) { QMessageBox::warning( this, tr("Selection error"), tr("Only one master face for a contact constraint!")); Gui::Selection().clearSelection(); return; } - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; - if (subNames[subIt].substr(0, 4) != "Face") { + if (subName.substr(0, 4) != "Face") { QMessageBox::warning(this, tr("Selection error"), tr("Only faces can be picked")); return; } for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -339,8 +332,8 @@ void TaskFemConstraintContact::addToSelectionMaster() if (addMe) { QSignalBlocker block(ui->lw_referencesMaster); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_referencesMaster->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_referencesMaster->addItem(makeRefText(obj, subName)); } } } @@ -362,23 +355,21 @@ void TaskFemConstraintContact::removeFromSelectionMaster() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintContact.ui b/src/Mod/Fem/Gui/TaskFemConstraintContact.ui index f69d36f379..0d86b655fe 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintContact.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintContact.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraintDisplacement.cpp b/src/Mod/Fem/Gui/TaskFemConstraintDisplacement.cpp index 35ea9040f0..0455bce2d9 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintDisplacement.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintDisplacement.cpp @@ -181,8 +181,7 @@ TaskFemConstraintDisplacement::TaskFemConstraintDisplacement( updateUI(); } -TaskFemConstraintDisplacement::~TaskFemConstraintDisplacement() -{} +TaskFemConstraintDisplacement::~TaskFemConstraintDisplacement() = default; void TaskFemConstraintDisplacement::updateUI() { @@ -308,23 +307,21 @@ void TaskFemConstraintDisplacement::addToSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -337,14 +334,14 @@ void TaskFemConstraintDisplacement::addToSelection() // limit constraint such that only vertexes or faces or edges can be used depending on // what was selected first std::string searchStr; - if (subNames[subIt].find("Vertex") != std::string::npos) + if (subName.find("Vertex") != std::string::npos) searchStr = "Vertex"; - else if (subNames[subIt].find("Edge") != std::string::npos) + else if (subName.find("Edge") != std::string::npos) searchStr = "Edge"; else searchStr = "Face"; - for (size_t iStr = 0; iStr < (SubElements.size()); ++iStr) { - if (SubElements[iStr].find(searchStr) == std::string::npos) { + for (const auto & SubElement : SubElements) { + if (SubElement.find(searchStr) == std::string::npos) { QString msg = tr( "Only one type of selection (vertex,face or edge) per constraint allowed!"); QMessageBox::warning(this, tr("Selection error"), msg); @@ -355,8 +352,8 @@ void TaskFemConstraintDisplacement::addToSelection() if (addMe) { QSignalBlocker block(ui->lw_references); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_references->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_references->addItem(makeRefText(obj, subName)); } } } @@ -378,23 +375,21 @@ void TaskFemConstraintDisplacement::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintFixed.cpp b/src/Mod/Fem/Gui/TaskFemConstraintFixed.cpp index 60f5a475dc..054f9ebc82 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintFixed.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintFixed.cpp @@ -88,8 +88,7 @@ TaskFemConstraintFixed::TaskFemConstraintFixed(ViewProviderFemConstraintFixed* C updateUI(); } -TaskFemConstraintFixed::~TaskFemConstraintFixed() -{} +TaskFemConstraintFixed::~TaskFemConstraintFixed() = default; void TaskFemConstraintFixed::updateUI() { @@ -113,24 +112,22 @@ void TaskFemConstraintFixed::addToSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - std::vector subNames = it->getSubNames(); + std::vector subNames = it.getSubNames(); App::DocumentObject* obj = - ConstraintView->getObject()->getDocument()->getObject(it->getFeatName()); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + ConstraintView->getObject()->getDocument()->getObject(it.getFeatName()); + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -143,14 +140,14 @@ void TaskFemConstraintFixed::addToSelection() // limit constraint such that only vertexes or faces or edges can be used depending // on what was selected first std::string searchStr; - if (subNames[subIt].find("Vertex") != std::string::npos) + if (subName.find("Vertex") != std::string::npos) searchStr = "Vertex"; - else if (subNames[subIt].find("Edge") != std::string::npos) + else if (subName.find("Edge") != std::string::npos) searchStr = "Edge"; else searchStr = "Face"; - for (size_t iStr = 0; iStr < (SubElements.size()); ++iStr) { - if (SubElements[iStr].find(searchStr) == std::string::npos) { + for (const auto & SubElement : SubElements) { + if (SubElement.find(searchStr) == std::string::npos) { QString msg = tr( "Only one type of selection (vertex,face or edge) per constraint allowed!"); QMessageBox::warning(this, tr("Selection error"), msg); @@ -161,8 +158,8 @@ void TaskFemConstraintFixed::addToSelection() if (addMe) { QSignalBlocker block(ui->lw_references); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_references->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_references->addItem(makeRefText(obj, subName)); } } } @@ -184,23 +181,21 @@ void TaskFemConstraintFixed::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintFixed.ui b/src/Mod/Fem/Gui/TaskFemConstraintFixed.ui index 4758b10112..6fa2aa8897 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintFixed.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintFixed.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp index 893eb178e1..e7865615d1 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.cpp @@ -205,9 +205,9 @@ TaskFemConstraintFluidBoundary::TaskFemConstraintFluidBoundary( Fem::FemMeshObject* pcMesh = nullptr; if (pcAnalysis) { std::vector fem = pcAnalysis->Group.getValues(); - for (std::vector::iterator it = fem.begin(); it != fem.end(); ++it) { - if ((*it)->getTypeId().isDerivedFrom(Fem::FemMeshObject::getClassTypeId())) - pcMesh = static_cast(*it); + for (auto it : fem) { + if (it->getTypeId().isDerivedFrom(Fem::FemMeshObject::getClassTypeId())) + pcMesh = static_cast(it); } } else { @@ -241,9 +241,9 @@ TaskFemConstraintFluidBoundary::TaskFemConstraintFluidBoundary( pcSolver = nullptr; // this is an private object of type Fem::FemSolverObject* if (pcAnalysis) { std::vector fem = pcAnalysis->Group.getValues(); - for (std::vector::iterator it = fem.begin(); it != fem.end(); ++it) { - if ((*it)->getTypeId().isDerivedFrom(Fem::FemSolverObject::getClassTypeId())) - pcSolver = static_cast(*it); + for (auto it : fem) { + if (it->getTypeId().isDerivedFrom(Fem::FemSolverObject::getClassTypeId())) + pcSolver = static_cast(it); } } @@ -774,8 +774,7 @@ bool TaskFemConstraintFluidBoundary::getReverse() const return ui->checkReverse->isChecked(); } -TaskFemConstraintFluidBoundary::~TaskFemConstraintFluidBoundary() -{} +TaskFemConstraintFluidBoundary::~TaskFemConstraintFluidBoundary() = default; void TaskFemConstraintFluidBoundary::addToSelection() { @@ -790,22 +789,21 @@ void TaskFemConstraintFluidBoundary::addToSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); - for (size_t subIt = 0; subIt < subNames.size(); ++subIt) {// for every selected sub element + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -818,15 +816,15 @@ void TaskFemConstraintFluidBoundary::addToSelection() // limit constraint such that only vertexes or faces or edges can be used depending on // what was selected first std::string searchStr; - if (subNames[subIt].find("Vertex") != std::string::npos) + if (subName.find("Vertex") != std::string::npos) searchStr = "Vertex"; - else if (subNames[subIt].find("Edge") != std::string::npos) + else if (subName.find("Edge") != std::string::npos) searchStr = "Edge"; else searchStr = "Face"; - for (size_t iStr = 0; iStr < (SubElements.size()); ++iStr) { - if (SubElements[iStr].find(searchStr) == std::string::npos) { + for (const auto & SubElement : SubElements) { + if (SubElement.find(searchStr) == std::string::npos) { QString msg = tr( "Only one type of selection (vertex,face or edge) per constraint allowed!"); QMessageBox::warning(this, tr("Selection error"), msg); @@ -837,8 +835,8 @@ void TaskFemConstraintFluidBoundary::addToSelection() if (addMe) { QSignalBlocker block(ui->listReferences); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->listReferences->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->listReferences->addItem(makeRefText(obj, subName)); } } } @@ -860,23 +858,21 @@ void TaskFemConstraintFluidBoundary::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.ui b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.ui index b39af47b48..c34a2985cb 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintFluidBoundary.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraintForce.cpp b/src/Mod/Fem/Gui/TaskFemConstraintForce.cpp index 1ff2784840..40783aaf23 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintForce.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintForce.cpp @@ -136,23 +136,21 @@ void TaskFemConstraintForce::addToSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -165,15 +163,15 @@ void TaskFemConstraintForce::addToSelection() // limit constraint such that only vertexes or faces or edges can be used depending on // what was selected first std::string searchStr; - if (subNames[subIt].find("Vertex") != std::string::npos) + if (subName.find("Vertex") != std::string::npos) searchStr = "Vertex"; - else if (subNames[subIt].find("Edge") != std::string::npos) + else if (subName.find("Edge") != std::string::npos) searchStr = "Edge"; else searchStr = "Face"; - for (size_t iStr = 0; iStr < (SubElements.size()); ++iStr) { - if (SubElements[iStr].find(searchStr) == std::string::npos) { + for (const auto & SubElement : SubElements) { + if (SubElement.find(searchStr) == std::string::npos) { QString msg = tr( "Only one type of selection (vertex,face or edge) per constraint allowed!"); QMessageBox::warning(this, tr("Selection error"), msg); @@ -184,8 +182,8 @@ void TaskFemConstraintForce::addToSelection() if (addMe) { QSignalBlocker block(ui->listReferences); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->listReferences->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->listReferences->addItem(makeRefText(obj, subName)); } } } @@ -207,23 +205,21 @@ void TaskFemConstraintForce::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -393,8 +389,7 @@ bool TaskFemConstraintForce::getReverse() const return ui->checkReverse->isChecked(); } -TaskFemConstraintForce::~TaskFemConstraintForce() -{} +TaskFemConstraintForce::~TaskFemConstraintForce() = default; bool TaskFemConstraintForce::event(QEvent* e) { diff --git a/src/Mod/Fem/Gui/TaskFemConstraintGear.h b/src/Mod/Fem/Gui/TaskFemConstraintGear.h index 6e06d79a23..c8f12ad7d8 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintGear.h +++ b/src/Mod/Fem/Gui/TaskFemConstraintGear.h @@ -62,7 +62,7 @@ class TaskDlgFemConstraintGear : public TaskDlgFemConstraintBearing Q_OBJECT public: - TaskDlgFemConstraintGear() {} + TaskDlgFemConstraintGear() = default; explicit TaskDlgFemConstraintGear(ViewProviderFemConstraintGear *ConstraintView); /// is called by the framework if the dialog is accepted (Ok) diff --git a/src/Mod/Fem/Gui/TaskFemConstraintHeatflux.cpp b/src/Mod/Fem/Gui/TaskFemConstraintHeatflux.cpp index f8938004d2..de43337a76 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintHeatflux.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintHeatflux.cpp @@ -135,8 +135,7 @@ TaskFemConstraintHeatflux::TaskFemConstraintHeatflux( updateUI(); } -TaskFemConstraintHeatflux::~TaskFemConstraintHeatflux() -{} +TaskFemConstraintHeatflux::~TaskFemConstraintHeatflux() = default; void TaskFemConstraintHeatflux::updateUI() { @@ -214,18 +213,17 @@ void TaskFemConstraintHeatflux::addToSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); if (!subNames.empty()) { - for (size_t subIt = 0; subIt < (subNames.size()); ++subIt) { - if (subNames[subIt].substr(0, 4) != "Face") { + for (const auto & subName : subNames) { + if (subName.substr(0, 4) != "Face") { QMessageBox::warning( this, tr("Selection error"), tr("Selection must only consist of faces!")); return; @@ -236,15 +234,14 @@ void TaskFemConstraintHeatflux::addToSelection() // fix me, if an object is selected completely, getSelectionEx does not return any // SubElements } - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -257,8 +254,8 @@ void TaskFemConstraintHeatflux::addToSelection() if (addMe) { QSignalBlocker block(ui->lw_references); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_references->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_references->addItem(makeRefText(obj, subName)); } } } @@ -281,18 +278,17 @@ void TaskFemConstraintHeatflux::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); if (!subNames.empty()) { - for (size_t subIt = 0; subIt < (subNames.size()); ++subIt) { - if (subNames[subIt].substr(0, 4) != "Face") { + for (const auto & subName : subNames) { + if (subName.substr(0, 4) != "Face") { QMessageBox::warning( this, tr("Selection error"), tr("Selection must only consist of faces!")); return; @@ -303,14 +299,13 @@ void TaskFemConstraintHeatflux::removeFromSelection() // fix me, if an object is selected completely, getSelectionEx does not return any // SubElements } - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintInitialTemperature.cpp b/src/Mod/Fem/Gui/TaskFemConstraintInitialTemperature.cpp index 93d06efda6..3c0b56a688 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintInitialTemperature.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintInitialTemperature.cpp @@ -65,8 +65,7 @@ TaskFemConstraintInitialTemperature::TaskFemConstraintInitialTemperature( ui->if_temperature->bind(pcConstraint->initialTemperature); } -TaskFemConstraintInitialTemperature::~TaskFemConstraintInitialTemperature() -{} +TaskFemConstraintInitialTemperature::~TaskFemConstraintInitialTemperature() = default; std::string TaskFemConstraintInitialTemperature::get_temperature() const { diff --git a/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.cpp b/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.cpp index 1dc9303e0e..0cf696b228 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.cpp @@ -96,8 +96,7 @@ TaskFemConstraintPlaneRotation::TaskFemConstraintPlaneRotation( updateUI(); } -TaskFemConstraintPlaneRotation::~TaskFemConstraintPlaneRotation() -{} +TaskFemConstraintPlaneRotation::~TaskFemConstraintPlaneRotation() = default; void TaskFemConstraintPlaneRotation::updateUI() { @@ -130,29 +129,26 @@ void TaskFemConstraintPlaneRotation::addToSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); - it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning( this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); if (subNames.size() == 1) { - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; - if ((subNames[subIt].substr(0, 4) != "Face")) { + if ((subName.substr(0, 4) != "Face")) { QMessageBox::warning( this, tr("Selection error"), tr("Only faces can be picked")); return; } Part::Feature* feat = static_cast(obj); - TopoDS_Shape ref = feat->Shape.getShape().getSubShape(subNames[subIt].c_str()); - if ((subNames[subIt].substr(0, 4) == "Face")) { + TopoDS_Shape ref = feat->Shape.getShape().getSubShape(subName.c_str()); + if ((subName.substr(0, 4) == "Face")) { if (!Fem::Tools::isPlanar(TopoDS::Face(ref))) { QMessageBox::warning( this, tr("Selection error"), tr("Only planar faces can be picked")); @@ -160,11 +156,11 @@ void TaskFemConstraintPlaneRotation::addToSelection() } } for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection + subName)) {// for every sub element in selection // that matches one in old list if (obj == Objects[std::distance( @@ -177,8 +173,8 @@ void TaskFemConstraintPlaneRotation::addToSelection() if (addMe) { QSignalBlocker block(ui->lw_references); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_references->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_references->addItem(makeRefText(obj, subName)); } } } @@ -210,23 +206,21 @@ void TaskFemConstraintPlaneRotation::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.ui b/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.ui index 6912f48481..1fb68dbd81 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintPlaneRotation.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraintPressure.cpp b/src/Mod/Fem/Gui/TaskFemConstraintPressure.cpp index 36088495cd..94304b2bf6 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintPressure.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintPressure.cpp @@ -98,8 +98,7 @@ TaskFemConstraintPressure::TaskFemConstraintPressure( updateUI(); } -TaskFemConstraintPressure::~TaskFemConstraintPressure() -{} +TaskFemConstraintPressure::~TaskFemConstraintPressure() = default; void TaskFemConstraintPressure::updateUI() { @@ -130,28 +129,26 @@ void TaskFemConstraintPressure::addToSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; - if (subNames[subIt].substr(0, 4) != "Face") { + if (subName.substr(0, 4) != "Face") { QMessageBox::warning(this, tr("Selection error"), tr("Only faces can be picked")); return; } for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -164,8 +161,8 @@ void TaskFemConstraintPressure::addToSelection() if (addMe) { QSignalBlocker block(ui->lw_references); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_references->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_references->addItem(makeRefText(obj, subName)); } } } @@ -187,23 +184,21 @@ void TaskFemConstraintPressure::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintPressure.ui b/src/Mod/Fem/Gui/TaskFemConstraintPressure.ui index 3add87bb7a..fbe97414c9 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintPressure.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintPressure.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraintSpring.cpp b/src/Mod/Fem/Gui/TaskFemConstraintSpring.cpp index 80f31eda1d..c3e4264db2 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintSpring.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintSpring.cpp @@ -112,8 +112,7 @@ TaskFemConstraintSpring::TaskFemConstraintSpring(ViewProviderFemConstraintSpring updateUI(); } -TaskFemConstraintSpring::~TaskFemConstraintSpring() -{} +TaskFemConstraintSpring::~TaskFemConstraintSpring() = default; void TaskFemConstraintSpring::updateUI() { @@ -137,28 +136,26 @@ void TaskFemConstraintSpring::addToSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; - if (subNames[subIt].substr(0, 4) != "Face") { + if (subName.substr(0, 4) != "Face") { QMessageBox::warning(this, tr("Selection error"), tr("Only faces can be picked")); return; } for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -171,8 +168,8 @@ void TaskFemConstraintSpring::addToSelection() if (addMe) { QSignalBlocker block(ui->lw_references); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_references->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_references->addItem(makeRefText(obj, subName)); } } } @@ -194,23 +191,21 @@ void TaskFemConstraintSpring::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintSpring.ui b/src/Mod/Fem/Gui/TaskFemConstraintSpring.ui index 14160ec9a6..e20ff338e6 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintSpring.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintSpring.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraintTemperature.cpp b/src/Mod/Fem/Gui/TaskFemConstraintTemperature.cpp index ac5c9a9c05..95dc613db4 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintTemperature.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintTemperature.cpp @@ -115,8 +115,7 @@ TaskFemConstraintTemperature::TaskFemConstraintTemperature( updateUI(); } -TaskFemConstraintTemperature::~TaskFemConstraintTemperature() -{} +TaskFemConstraintTemperature::~TaskFemConstraintTemperature() = default; void TaskFemConstraintTemperature::updateUI() { @@ -156,24 +155,22 @@ void TaskFemConstraintTemperature::addToSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - std::vector subNames = it->getSubNames(); + std::vector subNames = it.getSubNames(); App::DocumentObject* obj = - ConstraintView->getObject()->getDocument()->getObject(it->getFeatName()); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + ConstraintView->getObject()->getDocument()->getObject(it.getFeatName()); + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -186,8 +183,8 @@ void TaskFemConstraintTemperature::addToSelection() if (addMe) { QSignalBlocker block(ui->lw_references); Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_references->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_references->addItem(makeRefText(obj, subName)); } } } @@ -209,23 +206,21 @@ void TaskFemConstraintTemperature::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintTemperature.ui b/src/Mod/Fem/Gui/TaskFemConstraintTemperature.ui index 515afe6084..8f8698f6cd 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintTemperature.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintTemperature.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskFemConstraintTransform.cpp b/src/Mod/Fem/Gui/TaskFemConstraintTransform.cpp index 7a07e7f30d..99bc1d5e48 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintTransform.cpp +++ b/src/Mod/Fem/Gui/TaskFemConstraintTransform.cpp @@ -124,9 +124,9 @@ TaskFemConstraintTransform::TaskFemConstraintTransform( } std::vector nDispl = pcConstraint->NameDispl.getValues(); - for (std::size_t i = 0; i < nDispl.size(); i++) { - ui->lw_dis_rect->addItem(makeText(nDispl[i])); - ui->lw_dis_cylin->addItem(makeText(nDispl[i])); + for (auto i : nDispl) { + ui->lw_dis_rect->addItem(makeText(i)); + ui->lw_dis_cylin->addItem(makeText(i)); } if (!Objects.empty()) { @@ -166,8 +166,7 @@ TaskFemConstraintTransform::TaskFemConstraintTransform( } } -TaskFemConstraintTransform::~TaskFemConstraintTransform() -{} +TaskFemConstraintTransform::~TaskFemConstraintTransform() = default; const QString TaskFemConstraintTransform::makeText(const App::DocumentObject* obj) const { @@ -290,31 +289,29 @@ void TaskFemConstraintTransform::addToSelection() std::vector ObjDispl = pcConstraint->RefDispl.getValues(); std::vector SubElemDispl = pcConstraint->RefDispl.getSubValues(); - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + App::DocumentObject* obj = it.getObject(); if (subNames.size() != 1) { QMessageBox::warning( this, tr("Selection error"), tr("Only one face for transform constraint!")); Gui::Selection().clearSelection(); return; } - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto & subName : subNames) {// for every selected sub element bool addMe = true; - if (subNames[subIt].substr(0, 4) != "Face") { + if (subName.substr(0, 4) != "Face") { QMessageBox::warning(this, tr("Selection error"), tr("Only faces can be picked")); return; } - if (subNames[subIt].substr(0, 4) == "Face") { + if (subName.substr(0, 4) == "Face") { if (ui->rb_cylin->isChecked()) { Part::Feature* feat = static_cast(obj); - TopoDS_Shape ref = feat->Shape.getShape().getSubShape(subNames[subIt].c_str()); + TopoDS_Shape ref = feat->Shape.getShape().getSubShape(subName.c_str()); BRepAdaptor_Surface surface(TopoDS::Face(ref)); if (surface.GetType() != GeomAbs_Cylinder) { QMessageBox::warning(this, @@ -325,11 +322,11 @@ void TaskFemConstraintTransform::addToSelection() } } for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( @@ -346,10 +343,10 @@ void TaskFemConstraintTransform::addToSelection() &TaskFemConstraintTransform::setSelection); for (std::size_t i = 0; i < ObjDispl.size(); i++) { if ((makeRefText(ObjDispl[i], SubElemDispl[i])) - == (makeRefText(obj, subNames[subIt]))) { + == (makeRefText(obj, subName))) { Objects.push_back(obj); - SubElements.push_back(subNames[subIt]); - ui->lw_Rect->addItem(makeRefText(obj, subNames[subIt])); + SubElements.push_back(subName); + ui->lw_Rect->addItem(makeRefText(obj, subName)); connect(ui->lw_Rect, &QListWidget::currentItemChanged, this, @@ -418,23 +415,21 @@ void TaskFemConstraintTransform::removeFromSelection() std::vector Objects = pcConstraint->References.getValues(); std::vector SubElements = pcConstraint->References.getSubValues(); std::vector itemsToDel; - for (std::vector::iterator it = selection.begin(); it != selection.end(); - ++it) {// for every selected object - if (!it->isObjectTypeOf(Part::Feature::getClassTypeId())) { + for (const auto & it : selection) {// for every selected object + if (!it.isObjectTypeOf(Part::Feature::getClassTypeId())) { QMessageBox::warning(this, tr("Selection error"), tr("Selected object is not a part!")); return; } - const std::vector& subNames = it->getSubNames(); - App::DocumentObject* obj = it->getObject(); + const std::vector& subNames = it.getSubNames(); + const App::DocumentObject* obj = it.getObject(); - for (size_t subIt = 0; subIt < (subNames.size()); - ++subIt) {// for every selected sub element + for (const auto& subName : subNames) {// for every selected sub element for (std::vector::iterator itr = - std::find(SubElements.begin(), SubElements.end(), subNames[subIt]); + std::find(SubElements.begin(), SubElements.end(), subName); itr != SubElements.end(); itr = std::find(++itr, SubElements.end(), - subNames[subIt])) {// for every sub element in selection that + subName)) {// for every sub element in selection that // matches one in old list if (obj == Objects[std::distance( diff --git a/src/Mod/Fem/Gui/TaskFemConstraintTransform.ui b/src/Mod/Fem/Gui/TaskFemConstraintTransform.ui index 38707265db..a4792249f6 100644 --- a/src/Mod/Fem/Gui/TaskFemConstraintTransform.ui +++ b/src/Mod/Fem/Gui/TaskFemConstraintTransform.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskObjectName.cpp b/src/Mod/Fem/Gui/TaskObjectName.cpp index 54f22d1ab2..8c725cab19 100644 --- a/src/Mod/Fem/Gui/TaskObjectName.cpp +++ b/src/Mod/Fem/Gui/TaskObjectName.cpp @@ -68,8 +68,7 @@ void TaskObjectName::TextChanged (const QString & text) //pcObject->Label.setValue(text.toUtf8()); } -TaskObjectName::~TaskObjectName() -{} +TaskObjectName::~TaskObjectName() = default; #include "moc_TaskObjectName.cpp" diff --git a/src/Mod/Fem/Gui/TaskObjectName.ui b/src/Mod/Fem/Gui/TaskObjectName.ui index 4313523a1c..f7c5966676 100644 --- a/src/Mod/Fem/Gui/TaskObjectName.ui +++ b/src/Mod/Fem/Gui/TaskObjectName.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskPostBoxes.cpp b/src/Mod/Fem/Gui/TaskPostBoxes.cpp index 2db8d5ac52..e1851748a5 100644 --- a/src/Mod/Fem/Gui/TaskPostBoxes.cpp +++ b/src/Mod/Fem/Gui/TaskPostBoxes.cpp @@ -241,8 +241,7 @@ TaskPostBox::TaskPostBox(Gui::ViewProviderDocumentObject* view, const QPixmap& i m_view(view) {} -TaskPostBox::~TaskPostBox() -{} +TaskPostBox::~TaskPostBox() = default; bool TaskPostBox::autoApply() { @@ -268,8 +267,8 @@ void TaskPostBox::updateEnumerationList(App::PropertyEnumeration& prop, QComboBo { QStringList list; std::vector vec = prop.getEnumVector(); - for (std::vector::iterator it = vec.begin(); it != vec.end(); ++it) { - list.push_back(QString::fromStdString(*it)); + for (auto it : vec) { + list.push_back(QString::fromStdString(it)); } int index = prop.getValue(); @@ -291,16 +290,15 @@ TaskDlgPost::TaskDlgPost(Gui::ViewProviderDocumentObject* view) assert(view); } -TaskDlgPost::~TaskDlgPost() -{} +TaskDlgPost::~TaskDlgPost() = default; QDialogButtonBox::StandardButtons TaskDlgPost::getStandardButtons() const { //check if we only have gui task boxes bool guionly = true; - for (std::vector::const_iterator it = m_boxes.begin(); it != m_boxes.end(); ++it) - guionly = guionly && (*it)->isGuiTaskOnly(); + for (auto it : m_boxes) + guionly = guionly && it->isGuiTaskOnly(); if (!guionly) return QDialogButtonBox::Apply | QDialogButtonBox::Ok | QDialogButtonBox::Cancel; @@ -421,10 +419,7 @@ TaskPostDisplay::TaskPostDisplay(Gui::ViewProviderDocumentObject* view, QWidget* ui->Transparency->setToolTip(QString::number(trans) + QString::fromLatin1(" %")); } -TaskPostDisplay::~TaskPostDisplay() -{ - -} +TaskPostDisplay::~TaskPostDisplay() = default; void TaskPostDisplay::setupConnections() { @@ -488,8 +483,7 @@ TaskPostFunction::TaskPostFunction(ViewProviderDocumentObject* view, QWidget* pa this->groupLayout()->addWidget(w); } -TaskPostFunction::~TaskPostFunction() -{} +TaskPostFunction::~TaskPostFunction() = default; void TaskPostFunction::applyPythonCode() { @@ -569,8 +563,7 @@ TaskPostDataAlongLine::TaskPostDataAlongLine(ViewProviderDocumentObject* view, Q updateEnumerationList(getTypedView()->VectorMode, ui->VectorMode); } -TaskPostDataAlongLine::~TaskPostDataAlongLine() -{} +TaskPostDataAlongLine::~TaskPostDataAlongLine() = default; void TaskPostDataAlongLine::setupConnectionsStep1() { @@ -1269,8 +1262,7 @@ TaskPostClip::TaskPostClip(ViewProviderDocumentObject* view, App::PropertyLink* static_cast(getObject())->InsideOut.getValue()); } -TaskPostClip::~TaskPostClip() -{} +TaskPostClip::~TaskPostClip() = default; void TaskPostClip::setupConnections() { @@ -1438,8 +1430,7 @@ TaskPostContours::TaskPostContours(ViewProviderDocumentObject* view, QWidget* pa connect(ui->noColorCB, &QCheckBox::toggled, this, &TaskPostContours::onNoColorChanged); } -TaskPostContours::~TaskPostContours() -{} +TaskPostContours::~TaskPostContours() = default; void TaskPostContours::applyPythonCode() {} @@ -1558,8 +1549,7 @@ TaskPostCut::TaskPostCut(ViewProviderDocumentObject* view, App::PropertyLink* fu ui->CreateButton->setPopupMode(QToolButton::InstantPopup); } -TaskPostCut::~TaskPostCut() -{} +TaskPostCut::~TaskPostCut() = default; void TaskPostCut::setupConnections() { @@ -1709,8 +1699,7 @@ TaskPostScalarClip::TaskPostScalarClip(ViewProviderDocumentObject* view, QWidget "init: scalar_factor, slider_value: %f, %i: \n", scalar_factor, slider_value); } -TaskPostScalarClip::~TaskPostScalarClip() -{} +TaskPostScalarClip::~TaskPostScalarClip() = default; void TaskPostScalarClip::setupConnections() { @@ -1851,8 +1840,7 @@ TaskPostWarpVector::TaskPostWarpVector(ViewProviderDocumentObject* view, QWidget Base::Console().Log("init: warp_factor, slider_value: %f, %i: \n", warp_factor, slider_value); } -TaskPostWarpVector::~TaskPostWarpVector() -{} +TaskPostWarpVector::~TaskPostWarpVector() = default; void TaskPostWarpVector::setupConnections() { diff --git a/src/Mod/Fem/Gui/TaskPostClip.ui b/src/Mod/Fem/Gui/TaskPostClip.ui index a0180c9f7d..70bdd19377 100644 --- a/src/Mod/Fem/Gui/TaskPostClip.ui +++ b/src/Mod/Fem/Gui/TaskPostClip.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskPostContours.ui b/src/Mod/Fem/Gui/TaskPostContours.ui index 9e62a3466e..f342757339 100644 --- a/src/Mod/Fem/Gui/TaskPostContours.ui +++ b/src/Mod/Fem/Gui/TaskPostContours.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskPostCut.ui b/src/Mod/Fem/Gui/TaskPostCut.ui index 743cca2a4c..a189581ba3 100644 --- a/src/Mod/Fem/Gui/TaskPostCut.ui +++ b/src/Mod/Fem/Gui/TaskPostCut.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskPostDataAlongLine.ui b/src/Mod/Fem/Gui/TaskPostDataAlongLine.ui index 0b5ecc5516..a266667784 100644 --- a/src/Mod/Fem/Gui/TaskPostDataAlongLine.ui +++ b/src/Mod/Fem/Gui/TaskPostDataAlongLine.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskPostDisplay.ui b/src/Mod/Fem/Gui/TaskPostDisplay.ui index 4c4fb4e13e..0447dfcbdb 100644 --- a/src/Mod/Fem/Gui/TaskPostDisplay.ui +++ b/src/Mod/Fem/Gui/TaskPostDisplay.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskPostScalarClip.ui b/src/Mod/Fem/Gui/TaskPostScalarClip.ui index e701118693..4f843e6a33 100644 --- a/src/Mod/Fem/Gui/TaskPostScalarClip.ui +++ b/src/Mod/Fem/Gui/TaskPostScalarClip.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskPostWarpVector.ui b/src/Mod/Fem/Gui/TaskPostWarpVector.ui index 0c1e574395..9c080ff08c 100644 --- a/src/Mod/Fem/Gui/TaskPostWarpVector.ui +++ b/src/Mod/Fem/Gui/TaskPostWarpVector.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/TaskTetParameter.cpp b/src/Mod/Fem/Gui/TaskTetParameter.cpp index 89e9ed4c70..3451a5f0fc 100644 --- a/src/Mod/Fem/Gui/TaskTetParameter.cpp +++ b/src/Mod/Fem/Gui/TaskTetParameter.cpp @@ -79,8 +79,7 @@ TaskTetParameter::TaskTetParameter(Fem::FemMeshShapeNetgenObject* pcObject, QWid setInfo(); } -TaskTetParameter::~TaskTetParameter() -{} +TaskTetParameter::~TaskTetParameter() = default; void TaskTetParameter::SwitchMethod(int Value) { diff --git a/src/Mod/Fem/Gui/TaskTetParameter.ui b/src/Mod/Fem/Gui/TaskTetParameter.ui index 31b71c7edf..6fcc70af60 100644 --- a/src/Mod/Fem/Gui/TaskTetParameter.ui +++ b/src/Mod/Fem/Gui/TaskTetParameter.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/Fem/Gui/ViewProviderAnalysis.cpp b/src/Mod/Fem/Gui/ViewProviderAnalysis.cpp index 59c73ea838..8833bc0c36 100644 --- a/src/Mod/Fem/Gui/ViewProviderAnalysis.cpp +++ b/src/Mod/Fem/Gui/ViewProviderAnalysis.cpp @@ -97,9 +97,7 @@ ViewProviderFemAnalysis::ViewProviderFemAnalysis() sPixmap = "FEM_Analysis"; } -ViewProviderFemAnalysis::~ViewProviderFemAnalysis() -{ -} +ViewProviderFemAnalysis::~ViewProviderFemAnalysis() = default; void ViewProviderFemAnalysis::attach(App::DocumentObject *obj) { diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraint.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraint.cpp index 84a609e406..687be8ee22 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraint.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraint.cpp @@ -130,7 +130,7 @@ void ViewProviderFemConstraint::setDisplayMode(const char* ModeName) std::vector ViewProviderFemConstraint::claimChildren()const { - return std::vector(); + return {}; } void ViewProviderFemConstraint::setupContextMenu(QMenu *menu, QObject *receiver, const char *member) @@ -511,12 +511,11 @@ void ViewProviderFemConstraint::updateRotation(const SoNode *node, const int idx QObject *ViewProviderFemConstraint::findChildByName(const QObject *parent, const QString &name) { - for (QObjectList::const_iterator o = parent->children().begin(); o != parent->children().end(); - o++) { - if ((*o)->objectName() == name) - return *o; - if (!(*o)->children().empty()) { - QObject *result = findChildByName(*o, name); + for (auto o : parent->children()) { + if (o->objectName() == name) + return o; + if (!o->children().empty()) { + QObject *result = findChildByName(o, name); if (result) return result; } diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintBearing.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintBearing.cpp index d8a85a0525..0a25230f65 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintBearing.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintBearing.cpp @@ -47,9 +47,7 @@ ViewProviderFemConstraintBearing::ViewProviderFemConstraintBearing() sPixmap = "FEM_ConstraintBearing"; } -ViewProviderFemConstraintBearing::~ViewProviderFemConstraintBearing() -{ -} +ViewProviderFemConstraintBearing::~ViewProviderFemConstraintBearing() = default; bool ViewProviderFemConstraintBearing::setEdit(int ModNum) { diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintContact.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintContact.cpp index fde96d0528..d305504169 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintContact.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintContact.cpp @@ -50,9 +50,7 @@ ViewProviderFemConstraintContact::ViewProviderFemConstraintContact() ADD_PROPERTY(FaceColor, (0.2f, 0.3f, 0.2f)); } -ViewProviderFemConstraintContact::~ViewProviderFemConstraintContact() -{ -} +ViewProviderFemConstraintContact::~ViewProviderFemConstraintContact() = default; //FIXME setEdit needs a careful review bool ViewProviderFemConstraintContact::setEdit(int ModNum) @@ -114,9 +112,9 @@ void ViewProviderFemConstraintContact::updateData(const App::Property* prop) // Points and Normals are always updated together Gui::coinRemoveAllChildren(pShapeSep); - for (std::vector::const_iterator p = points.begin(); p != points.end(); p++) { + for (const auto & point : points) { //Define base and normal directions - SbVec3f base(p->x, p->y, p->z); + SbVec3f base(point.x, point.y, point.z); SbVec3f dir(n->x, n->y, n->z);//normal ///Visual indication diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintDisplacement.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintDisplacement.cpp index ef14cd64b4..fa4af6f115 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintDisplacement.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintDisplacement.cpp @@ -49,9 +49,7 @@ ViewProviderFemConstraintDisplacement::ViewProviderFemConstraintDisplacement() ADD_PROPERTY(FaceColor, (0.2f, 0.3f, 0.2f)); } -ViewProviderFemConstraintDisplacement::~ViewProviderFemConstraintDisplacement() -{ -} +ViewProviderFemConstraintDisplacement::~ViewProviderFemConstraintDisplacement() = default; // FIXME setEdit needs a careful review bool ViewProviderFemConstraintDisplacement::setEdit(int ModNum) @@ -190,9 +188,8 @@ void ViewProviderFemConstraintDisplacement::updateData(const App::Property* prop Gui::coinRemoveAllChildren(pShapeSep); #endif - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); SbVec3f dirx(1, 0, 0); //OvG: Make relevant to global axes SbVec3f diry(0, 1, 0); //OvG: Make relevant to global axes SbVec3f dirz(0, 0, 1); //OvG: Make relevant to global axes diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintFixed.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintFixed.cpp index 27dd430773..3b661afb86 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintFixed.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintFixed.cpp @@ -48,9 +48,7 @@ ViewProviderFemConstraintFixed::ViewProviderFemConstraintFixed() sPixmap = "FEM_ConstraintFixed"; } -ViewProviderFemConstraintFixed::~ViewProviderFemConstraintFixed() -{ -} +ViewProviderFemConstraintFixed::~ViewProviderFemConstraintFixed() = default; bool ViewProviderFemConstraintFixed::setEdit(int ModNum) { @@ -141,9 +139,8 @@ void ViewProviderFemConstraintFixed::updateData(const App::Property* prop) Gui::coinRemoveAllChildren(pShapeSep); #endif - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); SbVec3f dir(n->x, n->y, n->z); SbRotation rot(SbVec3f(0, -1, 0), dir); #ifdef USE_MULTIPLE_COPY diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintFluidBoundary.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintFluidBoundary.cpp index 7006c96ee6..c3035cc3b6 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintFluidBoundary.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintFluidBoundary.cpp @@ -49,9 +49,7 @@ ViewProviderFemConstraintFluidBoundary::ViewProviderFemConstraintFluidBoundary() sPixmap = "FEM_ConstraintFluidBoundary"; } -ViewProviderFemConstraintFluidBoundary::~ViewProviderFemConstraintFluidBoundary() -{ -} +ViewProviderFemConstraintFluidBoundary::~ViewProviderFemConstraintFluidBoundary() = default; bool ViewProviderFemConstraintFluidBoundary::setEdit(int ModNum) { @@ -170,9 +168,8 @@ void ViewProviderFemConstraintFluidBoundary::updateData(const App::Property* pro SbVec3f dir(forceDirection.x, forceDirection.y, forceDirection.z); SbRotation rot(SbVec3f(0, 1, 0), dir); - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); if (forceDirection.GetAngle(normal) < M_PI_2) // Move arrow so it doesn't disappear inside the solid base = base + dir * scaledlength; //OvG: Scaling #ifdef USE_MULTIPLE_COPY @@ -214,9 +211,8 @@ void ViewProviderFemConstraintFluidBoundary::updateData(const App::Property* pro #endif int idx = 0; - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); if (forceDirection.GetAngle(normal) < M_PI_2) base = base + dir * scaledlength; //OvG: Scaling #ifdef USE_MULTIPLE_COPY @@ -265,8 +261,8 @@ void ViewProviderFemConstraintFluidBoundary::updateData(const App::Property* pro Gui::coinRemoveAllChildren(pShapeSep); #endif - for (std::vector::const_iterator p = points.begin(); p != points.end(); p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); SbVec3f dir(n->x, n->y, n->z); SbRotation rot(SbVec3f(0, -1, 0), dir); #ifdef USE_MULTIPLE_COPY diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintForce.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintForce.cpp index 2772ac94e4..7749c039e2 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintForce.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintForce.cpp @@ -49,9 +49,7 @@ ViewProviderFemConstraintForce::ViewProviderFemConstraintForce() sPixmap = "FEM_ConstraintForce"; } -ViewProviderFemConstraintForce::~ViewProviderFemConstraintForce() -{ -} +ViewProviderFemConstraintForce::~ViewProviderFemConstraintForce() = default; bool ViewProviderFemConstraintForce::setEdit(int ModNum) { @@ -149,9 +147,8 @@ void ViewProviderFemConstraintForce::updateData(const App::Property* prop) SbVec3f dir(forceDirection.x, forceDirection.y, forceDirection.z); SbRotation rot(SbVec3f(0,1,0), dir); - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); if (forceDirection.GetAngle(normal) < M_PI_2)// Move arrow so it doesn't disappear inside the solid base = base + dir * scaledlength; //OvG: Scaling @@ -191,9 +188,8 @@ void ViewProviderFemConstraintForce::updateData(const App::Property* prop) #endif int idx = 0; - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); if (forceDirection.GetAngle(normal) < M_PI_2) base = base + dir * scaledlength; //OvG: Scaling #ifdef USE_MULTIPLE_COPY diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintGear.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintGear.cpp index baa3f53062..48624fa391 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintGear.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintGear.cpp @@ -50,9 +50,7 @@ ViewProviderFemConstraintGear::ViewProviderFemConstraintGear() sPixmap = "FEM_ConstraintGear"; } -ViewProviderFemConstraintGear::~ViewProviderFemConstraintGear() -{ -} +ViewProviderFemConstraintGear::~ViewProviderFemConstraintGear() = default; bool ViewProviderFemConstraintGear::setEdit(int ModNum) { diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintHeatflux.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintHeatflux.cpp index 203eb59e55..f4592da203 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintHeatflux.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintHeatflux.cpp @@ -51,9 +51,7 @@ ViewProviderFemConstraintHeatflux::ViewProviderFemConstraintHeatflux() ADD_PROPERTY(FaceColor, (0.2f, 0.3f, 0.2f)); } -ViewProviderFemConstraintHeatflux::~ViewProviderFemConstraintHeatflux() -{ -} +ViewProviderFemConstraintHeatflux::~ViewProviderFemConstraintHeatflux() = default; //FIXME setEdit needs a careful review bool ViewProviderFemConstraintHeatflux::setEdit(int ModNum) @@ -115,9 +113,9 @@ void ViewProviderFemConstraintHeatflux::updateData(const App::Property* prop) // Note: Points and Normals are always updated together Gui::coinRemoveAllChildren(pShapeSep); - for (std::vector::const_iterator p = points.begin(); p != points.end(); p++) { + for (const auto & point : points) { //Define base and normal directions - SbVec3f base(p->x, p->y, p->z); + SbVec3f base(point.x, point.y, point.z); SbVec3f dir(n->x, n->y, n->z);//normal ///Temperature indication diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintInitialTemperature.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintInitialTemperature.cpp index 6d31c7e183..d5a9a072d5 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintInitialTemperature.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintInitialTemperature.cpp @@ -42,9 +42,7 @@ ViewProviderFemConstraintInitialTemperature::ViewProviderFemConstraintInitialTem ADD_PROPERTY(FaceColor, (0.2f, 0.3f, 0.2f)); } -ViewProviderFemConstraintInitialTemperature::~ViewProviderFemConstraintInitialTemperature() -{ -} +ViewProviderFemConstraintInitialTemperature::~ViewProviderFemConstraintInitialTemperature() = default; //FIXME setEdit needs a careful review bool ViewProviderFemConstraintInitialTemperature::setEdit(int ModNum) diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintOnBoundary.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintOnBoundary.cpp index 2b486b8662..90bf634ce6 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintOnBoundary.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintOnBoundary.cpp @@ -36,13 +36,9 @@ using namespace FemGui; PROPERTY_SOURCE(FemGui::ViewProviderFemConstraintOnBoundary, FemGui::ViewProviderFemConstraint) -ViewProviderFemConstraintOnBoundary::ViewProviderFemConstraintOnBoundary() -{ -} +ViewProviderFemConstraintOnBoundary::ViewProviderFemConstraintOnBoundary() = default; -ViewProviderFemConstraintOnBoundary::~ViewProviderFemConstraintOnBoundary() -{ -} +ViewProviderFemConstraintOnBoundary::~ViewProviderFemConstraintOnBoundary() = default; void ViewProviderFemConstraintOnBoundary::highlightReferences(const bool on) { diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintPlaneRotation.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintPlaneRotation.cpp index 3417d00cfc..9e0effc171 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintPlaneRotation.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintPlaneRotation.cpp @@ -52,9 +52,7 @@ ViewProviderFemConstraintPlaneRotation::ViewProviderFemConstraintPlaneRotation() ADD_PROPERTY(FaceColor, (0.2f, 0.3f, 0.2f)); } -ViewProviderFemConstraintPlaneRotation::~ViewProviderFemConstraintPlaneRotation() -{ -} +ViewProviderFemConstraintPlaneRotation::~ViewProviderFemConstraintPlaneRotation() = default; //FIXME setEdit needs a careful review bool ViewProviderFemConstraintPlaneRotation::setEdit(int ModNum) @@ -115,10 +113,9 @@ void ViewProviderFemConstraintPlaneRotation::updateData(const App::Property* pro // Points and Normals are always updated together Gui::coinRemoveAllChildren(pShapeSep); - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { + for (const auto & point : points) { //Define base and normal directions - SbVec3f base(p->x, p->y, p->z); + SbVec3f base(point.x, point.y, point.z); SbVec3f dir(n->x, n->y, n->z);//normal /* Note: diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintPressure.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintPressure.cpp index 0037bb8c8a..8595a4f9a3 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintPressure.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintPressure.cpp @@ -47,9 +47,7 @@ ViewProviderFemConstraintPressure::ViewProviderFemConstraintPressure() ADD_PROPERTY(FaceColor, (0.0f, 0.2f, 0.8f)); } -ViewProviderFemConstraintPressure::~ViewProviderFemConstraintPressure() -{ -} +ViewProviderFemConstraintPressure::~ViewProviderFemConstraintPressure() = default; //FIXME setEdit needs a careful review bool ViewProviderFemConstraintPressure::setEdit(int ModNum) @@ -128,8 +126,8 @@ void ViewProviderFemConstraintPressure::updateData(const App::Property* prop) Gui::coinRemoveAllChildren(pShapeSep); #endif - for (std::vector::const_iterator p = points.begin(); p != points.end(); p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); SbVec3f dir(n->x, n->y, n->z); double rev; if (pcConstraint->Reversed.getValue()) { diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintPulley.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintPulley.cpp index 100377c6df..5ce1c629d6 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintPulley.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintPulley.cpp @@ -47,9 +47,7 @@ ViewProviderFemConstraintPulley::ViewProviderFemConstraintPulley() sPixmap = "FEM_ConstraintPulley"; } -ViewProviderFemConstraintPulley::~ViewProviderFemConstraintPulley() -{ -} +ViewProviderFemConstraintPulley::~ViewProviderFemConstraintPulley() = default; bool ViewProviderFemConstraintPulley::setEdit(int ModNum) { diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintSpring.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintSpring.cpp index 549cbf8bc3..eda0792dae 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintSpring.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintSpring.cpp @@ -47,9 +47,7 @@ ViewProviderFemConstraintSpring::ViewProviderFemConstraintSpring() ADD_PROPERTY(FaceColor, (0.0f, 0.2f, 0.8f)); } -ViewProviderFemConstraintSpring::~ViewProviderFemConstraintSpring() -{ -} +ViewProviderFemConstraintSpring::~ViewProviderFemConstraintSpring() = default; //FIXME setEdit needs a careful review bool ViewProviderFemConstraintSpring::setEdit(int ModNum) @@ -128,8 +126,8 @@ void ViewProviderFemConstraintSpring::updateData(const App::Property* prop) Gui::coinRemoveAllChildren(pShapeSep); #endif - for (std::vector::const_iterator p = points.begin(); p != points.end(); p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); SbVec3f dir(n->x, n->y, n->z); SbRotation rot(SbVec3f(0, -1.0, 0), dir); #ifdef USE_MULTIPLE_COPY diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintTemperature.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintTemperature.cpp index f08e9907cc..505162f0cb 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintTemperature.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintTemperature.cpp @@ -50,9 +50,7 @@ ViewProviderFemConstraintTemperature::ViewProviderFemConstraintTemperature() ADD_PROPERTY(FaceColor, (0.2f, 0.3f, 0.2f)); } -ViewProviderFemConstraintTemperature::~ViewProviderFemConstraintTemperature() -{ -} +ViewProviderFemConstraintTemperature::~ViewProviderFemConstraintTemperature() = default; //FIXME setEdit needs a careful review bool ViewProviderFemConstraintTemperature::setEdit(int ModNum) @@ -114,10 +112,9 @@ void ViewProviderFemConstraintTemperature::updateData(const App::Property* prop) // Note: Points and Normals are always updated together Gui::coinRemoveAllChildren(pShapeSep); - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { + for (const auto & point : points) { //Define base and normal directions - SbVec3f base(p->x, p->y, p->z); + SbVec3f base(point.x, point.y, point.z); SbVec3f dir(n->x, n->y, n->z);//normal ///Temperature indication diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintTransform.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintTransform.cpp index ee38e81efa..ec47c6a238 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintTransform.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintTransform.cpp @@ -48,9 +48,7 @@ ViewProviderFemConstraintTransform::ViewProviderFemConstraintTransform() sPixmap = "FEM_ConstraintTransform"; } -ViewProviderFemConstraintTransform::~ViewProviderFemConstraintTransform() -{ -} +ViewProviderFemConstraintTransform::~ViewProviderFemConstraintTransform() = default; //FIXME setEdit needs a careful review bool ViewProviderFemConstraintTransform::setEdit(int ModNum) @@ -120,11 +118,10 @@ void ViewProviderFemConstraintTransform::updateData(const App::Property* prop) // Points and Normals are always updated together Gui::coinRemoveAllChildren(pShapeSep); - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { - SbVec3f base(p->x, p->y, p->z); - SbVec3f basex(p->x, p->y, p->z); - SbVec3f basey(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); + SbVec3f basex(point.x, point.y, point.z); + SbVec3f basey(point.x, point.y, point.z); double x_axis_x = 1; double x_axis_y = 0; @@ -280,9 +277,8 @@ void ViewProviderFemConstraintTransform::updateData(const App::Property* prop) pShapeSep->addChild(sepAx); } - for (std::vector::const_iterator p = points.begin(); p != points.end(); - p++) { - SbVec3f base(p->x, p->y, p->z); + for (const auto & point : points) { + SbVec3f base(point.x, point.y, point.z); SbVec3f dir(n->x, n->y, n->z); base = base + dir * scaledlengthA; //OvG: Scaling SbRotation rot(SbVec3f(0, 1, 0), dir); diff --git a/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp b/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp index 8b4f534a31..729b8cfd0e 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp @@ -416,7 +416,7 @@ std::string ViewProviderFemMesh::getElement(const SoDetail* detail) const str << "Node" << vertex; } else { - return std::string(); + return {}; } } } @@ -455,7 +455,7 @@ SoDetail* ViewProviderFemMesh::getDetail(const char* subelement) const std::vector ViewProviderFemMesh::getSelectionShape(const char* /*Element*/) const { - return std::vector(); + return {}; } std::set ViewProviderFemMesh::getHighlightNodes() const @@ -513,8 +513,8 @@ void ViewProviderFemMesh::setColorByNodeId(const std::map &Node long endId = (--NodeColorMap.end())->first; std::vector colorVec(endId+1,App::Color(0,1,0)); - for(std::map::const_iterator it=NodeColorMap.begin();it!=NodeColorMap.end();++it) - colorVec[it->first] = it->second; + for(const auto & it : NodeColorMap) + colorVec[it.first] = it.second; setColorByNodeIdHelper(colorVec); @@ -566,8 +566,8 @@ void ViewProviderFemMesh::setDisplacementByNodeId(const std::map vecVec(endId-startId+2,Base::Vector3d()); - for(std::map::const_iterator it=NodeDispMap.begin();it!=NodeDispMap.end();++it) - vecVec[it->first-startId] = it->second; + for(const auto & it : NodeDispMap) + vecVec[it.first-startId] = it.second; setDisplacementByNodeIdHelper(vecVec,startId); } @@ -983,18 +983,18 @@ void ViewProviderFEMMeshBuilder::createMesh(const App::Property* prop, } unsigned int max =0, avg = 0; - for(std::vector::iterator it=Grid.begin();it!=Grid.end();++it){ - for(unsigned int l=0; l< it->size();l++){ - if(! it->operator[](l)->hide){ - for(unsigned int i=l+1; isize(); i++){ - if(it->operator[](l)->isSameFace(*(it->operator[](i))) ){ + for(const auto& it : Grid){ + for(size_t l=0; l< it.size();l++){ + if(! it[l]->hide){ + for(size_t i=l+1; iisSameFace(*(it[i])) ){ break; } } } } - if(it->size() > max)max=it->size(); - avg += it->size(); + if(it.size() > max)max=it.size(); + avg += it.size(); } avg = avg/Grid.size(); @@ -1024,9 +1024,9 @@ void ViewProviderFEMMeshBuilder::createMesh(const App::Property* prop, for (int l = 0; l < FaceSize; l++) { if (!facesHelper[l].hide) { - for (int i = 0; i < 8; i++) { - if (facesHelper[l].Nodes[i]) - mapNodeIndex[facesHelper[l].Nodes[i]] = 0; + for (auto Node : facesHelper[l].Nodes) { + if (Node) + mapNodeIndex[Node] = 0; else break; } diff --git a/src/Mod/Fem/Gui/ViewProviderFemMesh.h b/src/Mod/Fem/Gui/ViewProviderFemMesh.h index 4aaac55d0f..31e76fed8f 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMesh.h +++ b/src/Mod/Fem/Gui/ViewProviderFemMesh.h @@ -41,8 +41,8 @@ namespace FemGui class ViewProviderFEMMeshBuilder : public Gui::ViewProviderBuilder { public: - ViewProviderFEMMeshBuilder(){} - ~ViewProviderFEMMeshBuilder() override{} + ViewProviderFEMMeshBuilder()= default; + ~ViewProviderFEMMeshBuilder() override= default; void buildNodes(const App::Property*, std::vector&) const override; void createMesh(const App::Property*, SoCoordinate3*, diff --git a/src/Mod/Fem/Gui/ViewProviderFemMeshPyImp.cpp b/src/Mod/Fem/Gui/ViewProviderFemMeshPyImp.cpp index 6b975ed907..4a0da8c83f 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMeshPyImp.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemMeshPyImp.cpp @@ -21,7 +21,7 @@ using namespace FemGui; // returns a string which represents the object e.g. when printed in python std::string ViewProviderFemMeshPy::representation() const { - return std::string(""); + return {""}; } @@ -287,16 +287,16 @@ Py::List ViewProviderFemMeshPy::getVisibleElementFaces() const // sorting out double faces through higher order elements and null entries long elementOld = 0, faceOld = 0; - for (std::vector::const_iterator it = visElmFc.begin(); it != visElmFc.end(); ++it) { - if (*it == 0) + for (unsigned long it : visElmFc) { + if (it == 0) continue; - long element = *it >> 3; - long face = (*it & 7) + 1; + long element = it >> 3; + long face = (it & 7) + 1; if (element == elementOld && face == faceOld) continue; - trans.push_back(*it); + trans.push_back(it); elementOld = element; faceOld = face; } diff --git a/src/Mod/Fem/Gui/ViewProviderFemMeshShape.cpp b/src/Mod/Fem/Gui/ViewProviderFemMeshShape.cpp index 0fb21766bb..e53b4fd76a 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMeshShape.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemMeshShape.cpp @@ -29,12 +29,6 @@ using namespace FemGui; PROPERTY_SOURCE(FemGui::ViewProviderFemMeshShape, FemGui::ViewProviderFemMesh) -ViewProviderFemMeshShape::ViewProviderFemMeshShape() -{ +ViewProviderFemMeshShape::ViewProviderFemMeshShape() = default; -} - -ViewProviderFemMeshShape::~ViewProviderFemMeshShape() -{ - -} +ViewProviderFemMeshShape::~ViewProviderFemMeshShape() = default; diff --git a/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.cpp b/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.cpp index d734c31784..d9d0bee6b8 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.cpp @@ -49,10 +49,7 @@ ViewProviderFemMeshShapeNetgen::ViewProviderFemMeshShapeNetgen() sPixmap = "FEM_MeshNetgenFromShape"; } -ViewProviderFemMeshShapeNetgen::~ViewProviderFemMeshShapeNetgen() -{ - -} +ViewProviderFemMeshShapeNetgen::~ViewProviderFemMeshShapeNetgen() = default; void ViewProviderFemMeshShapeNetgen::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) { diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostFilter.cpp b/src/Mod/Fem/Gui/ViewProviderFemPostFilter.cpp index a8803ee909..33260c409e 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostFilter.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemPostFilter.cpp @@ -44,8 +44,7 @@ ViewProviderFemPostDataAlongLine::ViewProviderFemPostDataAlongLine() sPixmap = "FEM_PostFilterDataAlongLine"; } -ViewProviderFemPostDataAlongLine::~ViewProviderFemPostDataAlongLine() -{} +ViewProviderFemPostDataAlongLine::~ViewProviderFemPostDataAlongLine() = default; void ViewProviderFemPostDataAlongLine::setupTaskDialog(TaskDlgPost* dlg) { @@ -75,8 +74,7 @@ void ViewProviderFemPostDataAtPoint::onSelectionChanged(const Gui::SelectionChan // because a single point does not make sense with a color range. } -ViewProviderFemPostDataAtPoint::~ViewProviderFemPostDataAtPoint() -{} +ViewProviderFemPostDataAtPoint::~ViewProviderFemPostDataAtPoint() = default; void ViewProviderFemPostDataAtPoint::setupTaskDialog(TaskDlgPost* dlg) { @@ -94,8 +92,7 @@ ViewProviderFemPostClip::ViewProviderFemPostClip() { sPixmap = "FEM_PostFilterClipRegion"; } -ViewProviderFemPostClip::~ViewProviderFemPostClip() -{} +ViewProviderFemPostClip::~ViewProviderFemPostClip() = default; void ViewProviderFemPostClip::setupTaskDialog(TaskDlgPost* dlg) { @@ -117,8 +114,7 @@ ViewProviderFemPostContours::ViewProviderFemPostContours() sPixmap = "FEM_PostFilterContours"; } -ViewProviderFemPostContours::~ViewProviderFemPostContours() -{} +ViewProviderFemPostContours::~ViewProviderFemPostContours() = default; void ViewProviderFemPostContours::setupTaskDialog(TaskDlgPost* dlg) { @@ -136,8 +132,7 @@ ViewProviderFemPostCut::ViewProviderFemPostCut() sPixmap = "FEM_PostFilterCutFunction"; } -ViewProviderFemPostCut::~ViewProviderFemPostCut() -{} +ViewProviderFemPostCut::~ViewProviderFemPostCut() = default; void ViewProviderFemPostCut::setupTaskDialog(TaskDlgPost* dlg) { @@ -160,9 +155,7 @@ ViewProviderFemPostScalarClip::ViewProviderFemPostScalarClip() sPixmap = "FEM_PostFilterClipScalar"; } -ViewProviderFemPostScalarClip::~ViewProviderFemPostScalarClip() { - -} +ViewProviderFemPostScalarClip::~ViewProviderFemPostScalarClip() = default; void ViewProviderFemPostScalarClip::setupTaskDialog(TaskDlgPost* dlg) { @@ -183,8 +176,7 @@ ViewProviderFemPostWarpVector::ViewProviderFemPostWarpVector() sPixmap = "FEM_PostFilterWarp"; } -ViewProviderFemPostWarpVector::~ViewProviderFemPostWarpVector() -{} +ViewProviderFemPostWarpVector::~ViewProviderFemPostWarpVector() = default; void ViewProviderFemPostWarpVector::setupTaskDialog(TaskDlgPost* dlg) { diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.cpp b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.cpp index 4a19663fc5..bd195196f9 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.cpp @@ -86,13 +86,9 @@ void FunctionWidget::onObjectsChanged(const App::DocumentObject& obj, const App: PROPERTY_SOURCE(FemGui::ViewProviderFemPostFunctionProvider, Gui::ViewProviderDocumentObject) -ViewProviderFemPostFunctionProvider::ViewProviderFemPostFunctionProvider() -{ -} +ViewProviderFemPostFunctionProvider::ViewProviderFemPostFunctionProvider() = default; -ViewProviderFemPostFunctionProvider::~ViewProviderFemPostFunctionProvider() -{ -} +ViewProviderFemPostFunctionProvider::~ViewProviderFemPostFunctionProvider() = default; std::vector< App::DocumentObject* > ViewProviderFemPostFunctionProvider::claimChildren() const { @@ -123,13 +119,12 @@ void ViewProviderFemPostFunctionProvider::updateData(const App::Property* prop) void ViewProviderFemPostFunctionProvider::updateSize() { std::vector vec = claimChildren(); - for (std::vector::iterator it = vec.begin(); it != vec.end(); ++it) { - - if (!(*it)->isDerivedFrom(Fem::FemPostFunction::getClassTypeId())) + for (auto it : vec) { + if (!it->isDerivedFrom(Fem::FemPostFunction::getClassTypeId())) continue; ViewProviderFemPostFunction* vp = static_cast( - Gui::Application::Instance->getViewProvider(*it)); + Gui::Application::Instance->getViewProvider(it)); vp->AutoScaleFactorX.setValue(SizeX.getValue()); vp->AutoScaleFactorY.setValue(SizeY.getValue()); vp->AutoScaleFactorZ.setValue(SizeZ.getValue()); @@ -380,9 +375,7 @@ ViewProviderFemPostBoxFunction::ViewProviderFemPostBoxFunction() getGeometryNode()->addChild(ShapeNodes::postBox()); } -ViewProviderFemPostBoxFunction::~ViewProviderFemPostBoxFunction() -{ -} +ViewProviderFemPostBoxFunction::~ViewProviderFemPostBoxFunction() = default; void ViewProviderFemPostBoxFunction::draggerUpdate(SoDragger* m) { @@ -462,9 +455,7 @@ BoxWidget::BoxWidget() this, &BoxWidget::heightChanged); } -BoxWidget::~BoxWidget() -{ -} +BoxWidget::~BoxWidget() = default; void BoxWidget::applyPythonCode() { @@ -565,9 +556,7 @@ ViewProviderFemPostCylinderFunction::ViewProviderFemPostCylinderFunction() getGeometryNode()->addChild(ShapeNodes::postCylinder()); } -ViewProviderFemPostCylinderFunction::~ViewProviderFemPostCylinderFunction() -{ -} +ViewProviderFemPostCylinderFunction::~ViewProviderFemPostCylinderFunction() = default; void ViewProviderFemPostCylinderFunction::draggerUpdate(SoDragger* m) { @@ -647,9 +636,7 @@ CylinderWidget::CylinderWidget() this, &CylinderWidget::radiusChanged); } -CylinderWidget::~CylinderWidget() -{ -} +CylinderWidget::~CylinderWidget() = default; void CylinderWidget::applyPythonCode() { @@ -742,9 +729,7 @@ ViewProviderFemPostPlaneFunction::ViewProviderFemPostPlaneFunction() getGeometryNode()->addChild(ShapeNodes::postPlane()); } -ViewProviderFemPostPlaneFunction::~ViewProviderFemPostPlaneFunction() -{ -} +ViewProviderFemPostPlaneFunction::~ViewProviderFemPostPlaneFunction() = default; void ViewProviderFemPostPlaneFunction::draggerUpdate(SoDragger* m) { @@ -861,9 +846,7 @@ PlaneWidget::PlaneWidget() this, &PlaneWidget::normalChanged); } -PlaneWidget::~PlaneWidget() -{ -} +PlaneWidget::~PlaneWidget() = default; void PlaneWidget::applyPythonCode() { @@ -937,9 +920,7 @@ ViewProviderFemPostSphereFunction::ViewProviderFemPostSphereFunction() getGeometryNode()->addChild(ShapeNodes::postSphere()); } -ViewProviderFemPostSphereFunction::~ViewProviderFemPostSphereFunction() -{ -} +ViewProviderFemPostSphereFunction::~ViewProviderFemPostSphereFunction() = default; SoTransformManip* ViewProviderFemPostSphereFunction::setupManipulator() { @@ -1023,9 +1004,7 @@ SphereWidget::SphereWidget() this, &SphereWidget::radiusChanged); } -SphereWidget::~SphereWidget() -{ -} +SphereWidget::~SphereWidget() = default; void SphereWidget::applyPythonCode() { diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h index c896b67bad..c523c5cfa1 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h +++ b/src/Mod/Fem/Gui/ViewProviderFemPostFunction.h @@ -53,8 +53,8 @@ class FemGuiExport FunctionWidget : public QWidget { Q_OBJECT public: - FunctionWidget() : m_block(false), m_view(nullptr), m_object(nullptr) {} - ~FunctionWidget() override {} + FunctionWidget() = default; + ~FunctionWidget() override = default; virtual void applyPythonCode() = 0; virtual void setViewProvider(ViewProviderFemPostFunction* view); @@ -70,9 +70,9 @@ protected: virtual void onChange(const App::Property& p) = 0; private: - bool m_block; - ViewProviderFemPostFunction* m_view; - Fem::FemPostFunction* m_object; + bool m_block{false}; + ViewProviderFemPostFunction* m_view{nullptr}; + Fem::FemPostFunction* m_object{nullptr}; boost::signals2::scoped_connection m_connection; }; diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp index bd26610a81..a5e324d3e7 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp @@ -118,6 +118,8 @@ private: } ~FemPostObjectSelectionObserver() = default; + +public: FemPostObjectSelectionObserver(const FemPostObjectSelectionObserver&) = delete; FemPostObjectSelectionObserver& operator= (const FemPostObjectSelectionObserver&) = delete; @@ -133,7 +135,7 @@ private: PROPERTY_SOURCE(FemGui::ViewProviderFemPostObject, Gui::ViewProviderDocumentObject) -ViewProviderFemPostObject::ViewProviderFemPostObject() : m_blockPropertyChanges(false) +ViewProviderFemPostObject::ViewProviderFemPostObject() { //initialize the properties ADD_PROPERTY_TYPE(Field, @@ -871,11 +873,11 @@ void ViewProviderFemPostObject::hide() std::vector ObjectsList = doc->getObjects(); App::DocumentObject *firstVisiblePostObject = nullptr; // step through the objects - for (auto it = ObjectsList.begin(); it != ObjectsList.end(); ++it) { - if ((*it)->getTypeId().isDerivedFrom(Fem::FemPostObject::getClassTypeId())) { - if (!firstVisiblePostObject && (*it)->Visibility.getValue() - && !(*it)->isDerivedFrom(Fem::FemPostDataAtPointFilter::getClassTypeId())) { - firstVisiblePostObject = *it; + for (auto it : ObjectsList) { + if (it->getTypeId().isDerivedFrom(Fem::FemPostObject::getClassTypeId())) { + if (!firstVisiblePostObject && it->Visibility.getValue() + && !it->isDerivedFrom(Fem::FemPostDataAtPointFilter::getClassTypeId())) { + firstVisiblePostObject = it; break; } } diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostObject.h b/src/Mod/Fem/Gui/ViewProviderFemPostObject.h index 5ed40fba2f..c981a511b1 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostObject.h +++ b/src/Mod/Fem/Gui/ViewProviderFemPostObject.h @@ -161,7 +161,7 @@ private: void addAbsoluteField(vtkDataSet* dset, std::string FieldName); App::Enumeration m_coloringEnum, m_vectorEnum; - bool m_blockPropertyChanges; + bool m_blockPropertyChanges{false}; }; } //namespace FemGui diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.cpp b/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.cpp index 340e5fd638..37c20c032f 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.cpp @@ -48,9 +48,7 @@ ViewProviderFemPostPipeline::ViewProviderFemPostPipeline() sPixmap = "FEM_PostPipelineFromResult"; } -ViewProviderFemPostPipeline::~ViewProviderFemPostPipeline() -{ -} +ViewProviderFemPostPipeline::~ViewProviderFemPostPipeline() = default; std::vector< App::DocumentObject* > ViewProviderFemPostPipeline::claimChildren() const { diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostPipelinePyImp.cpp b/src/Mod/Fem/Gui/ViewProviderFemPostPipelinePyImp.cpp index 070c671442..f0d15877c9 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostPipelinePyImp.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemPostPipelinePyImp.cpp @@ -33,7 +33,7 @@ using namespace FemGui; // returns a string which represents the object e.g. when printed in python std::string ViewProviderFemPostPipelinePy::representation() const { - return std::string(""); + return {""}; } PyObject *ViewProviderFemPostPipelinePy::updateColorBars(PyObject *args) diff --git a/src/Mod/Fem/Gui/ViewProviderResult.cpp b/src/Mod/Fem/Gui/ViewProviderResult.cpp index 29be2b7a69..cd0af53a49 100644 --- a/src/Mod/Fem/Gui/ViewProviderResult.cpp +++ b/src/Mod/Fem/Gui/ViewProviderResult.cpp @@ -34,10 +34,7 @@ ViewProviderResult::ViewProviderResult() sPixmap = "FEM_ResultShow"; } -ViewProviderResult::~ViewProviderResult() -{ - -} +ViewProviderResult::~ViewProviderResult() = default; // Python feature ----------------------------------------------------------------------- diff --git a/src/Mod/Fem/Gui/ViewProviderSolver.cpp b/src/Mod/Fem/Gui/ViewProviderSolver.cpp index d69125f49a..1734de99d0 100644 --- a/src/Mod/Fem/Gui/ViewProviderSolver.cpp +++ b/src/Mod/Fem/Gui/ViewProviderSolver.cpp @@ -44,8 +44,7 @@ ViewProviderSolver::ViewProviderSolver() sPixmap = "FEM_SolverStandard"; } -ViewProviderSolver::~ViewProviderSolver() -{} +ViewProviderSolver::~ViewProviderSolver() = default; std::vector ViewProviderSolver::getDisplayModes() const { diff --git a/src/Mod/Fem/Gui/Workbench.cpp b/src/Mod/Fem/Gui/Workbench.cpp index 232d69d5b3..8c09d82d21 100755 --- a/src/Mod/Fem/Gui/Workbench.cpp +++ b/src/Mod/Fem/Gui/Workbench.cpp @@ -83,13 +83,9 @@ using namespace FemGui; /// @namespace FemGui @class Workbench TYPESYSTEM_SOURCE(FemGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; void Workbench::setupContextMenu(const char* recipient, Gui::MenuItem* item) const { diff --git a/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py b/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py index 191aaee6fa..da9b4fe342 100644 --- a/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py +++ b/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py @@ -37,7 +37,7 @@ from .manager import init_doc def get_information(): return { - "name": "Constraint Constact Shell Shell", + "name": "Constraint Contact Shell Shell", "meshtype": "face", "meshelement": "Tria3", "constraints": ["fixed", "force", "contact"], diff --git a/src/Mod/Fem/feminout/importCcxFrdResults.py b/src/Mod/Fem/feminout/importCcxFrdResults.py index d0f206baf2..a031a2c741 100644 --- a/src/Mod/Fem/feminout/importCcxFrdResults.py +++ b/src/Mod/Fem/feminout/importCcxFrdResults.py @@ -716,7 +716,7 @@ def read_frd_result( """ print("---- End of Section --> Mode_Results may be changed ----") - for key in sorted(mode_results.keys()): + for key in sorted(mode_results): if key is "number" or key is "time": print(key + " --> " + str(mode_results[key])) else: @@ -735,7 +735,7 @@ def read_frd_result( """ print("\n\n----Append mode_results to results") print(line) - for key in sorted(mode_results.keys()): + for key in sorted(mode_results): if key is "number" or key is "time": print(key + " --> " + str(mode_results[key])) else: diff --git a/src/Mod/Fem/feminout/importToolsFem.py b/src/Mod/Fem/feminout/importToolsFem.py index 0be7e3d95d..8738daf9c1 100644 --- a/src/Mod/Fem/feminout/importToolsFem.py +++ b/src/Mod/Fem/feminout/importToolsFem.py @@ -356,7 +356,7 @@ def fill_femresult_mechanical( if "disp" in result_set: disp = result_set["disp"] res_obj.DisplacementVectors = list(map((lambda x: x), disp.values())) - res_obj.NodeNumbers = list(disp.keys()) + res_obj.NodeNumbers = list(disp) # fill res_obj.NodeStressXX etc if they exist in result_set # list values are just added @@ -458,7 +458,7 @@ def fill_femresult_mechanical( res_obj.MassFlowRate = list(map((lambda x: x), MassFlow.values())) res_obj.Time = step_time # disp does not exist, res_obj.NodeNumbers needs to be set - res_obj.NodeNumbers = list(MassFlow.keys()) + res_obj.NodeNumbers = list(MassFlow) # fill res_obj.NetworkPressure, disp does not exist, see MassFlow if "npressure" in result_set: diff --git a/src/Mod/Fem/femmesh/gmshtools.py b/src/Mod/Fem/femmesh/gmshtools.py index cfdc4edcf4..7aab42efe4 100644 --- a/src/Mod/Fem/femmesh/gmshtools.py +++ b/src/Mod/Fem/femmesh/gmshtools.py @@ -651,7 +651,7 @@ class GmshTools(): # we use the element name of FreeCAD which starts # with 1 (example: "Face1"), same as Gmsh # for unit test we need them to have a fixed order - for group in sorted(self.group_elements.keys()): + for group in sorted(self.group_elements): gdata = self.group_elements[group] # print(gdata) # geo.write("// " + group + "\n") diff --git a/src/Mod/Fem/femmesh/meshtools.py b/src/Mod/Fem/femmesh/meshtools.py index c41fb09fa0..6876291268 100644 --- a/src/Mod/Fem/femmesh/meshtools.py +++ b/src/Mod/Fem/femmesh/meshtools.py @@ -518,7 +518,7 @@ def get_femelement_sets( # get remaining femelements for the fem_objects if has_remaining_femelements: femelement_table_array = np.zeros_like(referenced_femelements) - femelement_table_array[list(femelement_table.keys())] = 1 + femelement_table_array[list(femelement_table)] = 1 remaining_femelements_array = femelement_table_array > referenced_femelements remaining_femelements = [ i.item() for i in np.nditer(remaining_femelements_array.nonzero()) diff --git a/src/Mod/Fem/femtaskpanels/task_material_common.py b/src/Mod/Fem/femtaskpanels/task_material_common.py index 952bd0ea24..ecc0e02224 100644 --- a/src/Mod/Fem/femtaskpanels/task_material_common.py +++ b/src/Mod/Fem/femtaskpanels/task_material_common.py @@ -750,13 +750,13 @@ class _TaskPanel: card_name_list = [] # [ [card_name, card_path, icon_path], ... ] if sort_by_resources is True: - for a_path in sorted(self.materials.keys()): + for a_path in sorted(self.materials): card_name_list.append([self.cards[a_path], a_path, self.icons[a_path]]) else: card_names_tmp = {} for path, name in self.cards.items(): card_names_tmp[name] = path - for a_name in sorted(card_names_tmp.keys()): + for a_name in sorted(card_names_tmp): a_path = card_names_tmp[a_name] card_name_list.append([a_name, a_path, self.icons[a_path]]) diff --git a/src/Mod/Fem/femtaskpanels/task_material_reinforced.py b/src/Mod/Fem/femtaskpanels/task_material_reinforced.py index d2feadd274..f8549bd658 100644 --- a/src/Mod/Fem/femtaskpanels/task_material_reinforced.py +++ b/src/Mod/Fem/femtaskpanels/task_material_reinforced.py @@ -410,13 +410,13 @@ class _TaskPanel: card_name_list = [] # [ [card_name, card_path, icon_path], ... ] if sort_by_resources is True: - for a_path in sorted(self.materials.keys()): + for a_path in sorted(self.materials): card_name_list.append([self.cards[a_path], a_path, self.icons[a_path]]) else: card_names_tmp = {} for path, name in self.cards.items(): card_names_tmp[name] = path - for a_name in sorted(card_names_tmp.keys()): + for a_name in sorted(card_names_tmp): a_path = card_names_tmp[a_name] card_name_list.append([a_name, a_path, self.icons[a_path]]) diff --git a/src/Mod/Import/App/AppImportPy.cpp b/src/Mod/Import/App/AppImportPy.cpp index 6a2951c266..fd3a62fb18 100644 --- a/src/Mod/Import/App/AppImportPy.cpp +++ b/src/Mod/Import/App/AppImportPy.cpp @@ -62,6 +62,7 @@ #include #include #include +#include #include "dxf/ImpExpDxf.h" #include #include @@ -130,11 +131,14 @@ private: PyObject *merge = Py_None; PyObject *useLinkGroup = Py_None; int mode = -1; - static char* kwd_list[] = {"name", "docName","importHidden","merge","useLinkGroup","mode",nullptr}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "et|sO!O!O!i", - kwd_list,"utf-8",&Name,&DocName,&PyBool_Type,&importHidden,&PyBool_Type,&merge, - &PyBool_Type,&useLinkGroup,&mode)) + static const std::array kwd_list {"name", "docName", "importHidden", "merge", + "useLinkGroup", "mode", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "et|sO!O!O!i", + kwd_list, "utf-8", &Name, &DocName, &PyBool_Type, &importHidden, + &PyBool_Type, &merge, + &PyBool_Type, &useLinkGroup, &mode)) { throw Py::Exception(); + } std::string Utf8Name = std::string(Name); PyMem_Free(Name); @@ -274,11 +278,14 @@ private: PyObject *exportHidden = Py_None; PyObject *legacy = Py_None; PyObject *keepPlacement = Py_None; - static char* kwd_list[] = {"obj", "name", "exportHidden", "legacy", "keepPlacement",nullptr}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "Oet|O!O!O!", - kwd_list,&object,"utf-8",&Name,&PyBool_Type,&exportHidden,&PyBool_Type,&legacy, - &PyBool_Type,&keepPlacement)) + static const std::array kwd_list{"obj", "name", "exportHidden", "legacy", "keepPlacement", + nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "Oet|O!O!O!", + kwd_list, &object, "utf-8", &Name, &PyBool_Type, &exportHidden, + &PyBool_Type, &legacy, + &PyBool_Type, &keepPlacement)) { throw Py::Exception(); + } std::string Utf8Name = std::string(Name); PyMem_Free(Name); diff --git a/src/Mod/Import/App/ExportOCAF.cpp b/src/Mod/Import/App/ExportOCAF.cpp index ea7777495c..cf9cd6327e 100644 --- a/src/Mod/Import/App/ExportOCAF.cpp +++ b/src/Mod/Import/App/ExportOCAF.cpp @@ -70,7 +70,6 @@ using namespace Import; ExportOCAF::ExportOCAF(Handle(TDocStd_Document) h, bool explicitPlacement) : pDoc(h) , keepExplicitPlacement(explicitPlacement) - , filterBaseFeature(true) { aShapeTool = XCAFDoc_DocumentTool::ShapeTool(pDoc->Main()); aColorTool = XCAFDoc_DocumentTool::ColorTool(pDoc->Main()); @@ -85,9 +84,7 @@ ExportOCAF::ExportOCAF(Handle(TDocStd_Document) h, bool explicitPlacement) } } -ExportOCAF::~ExportOCAF() -{ -} +ExportOCAF::~ExportOCAF() = default; std::vector ExportOCAF::filterPart(App::Part* part) const { diff --git a/src/Mod/Import/App/ExportOCAF.h b/src/Mod/Import/App/ExportOCAF.h index 8129e39e63..5f7a5a71f0 100644 --- a/src/Mod/Import/App/ExportOCAF.h +++ b/src/Mod/Import/App/ExportOCAF.h @@ -92,7 +92,7 @@ private: Handle(XCAFDoc_ColorTool) aColorTool; TDF_Label rootLabel; bool keepExplicitPlacement; - bool filterBaseFeature; + bool filterBaseFeature{true}; }; class ImportExport ExportOCAFCmd : public ExportOCAF diff --git a/src/Mod/Import/App/FeatureImportIges.cpp b/src/Mod/Import/App/FeatureImportIges.cpp deleted file mode 100644 index f51f60a825..0000000000 --- a/src/Mod/Import/App/FeatureImportIges.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2002 Jürgen Riegel * - * * - * This file is part of the FreeCAD CAx development system. * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Library General Public * - * License as published by the Free Software Foundation; either * - * version 2 of the License, or (at your option) any later version. * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Library General Public License for more details. * - * * - * You should have received a copy of the GNU Library General Public * - * License along with this library; see the file COPYING.LIB. If not, * - * write to the Free Software Foundation, Inc., 59 Temple Place, * - * Suite 330, Boston, MA 02111-1307, USA * - * * - ***************************************************************************/ - -#include "PreCompiled.h" -#ifndef _PreComp_ -# include -# include -# include -#endif - -#include -#include -#include - -#include "FeatureImportIges.h" - - -using namespace Import; - -void FeatureImportIges::InitLabel(const TDF_Label &rcLabel) -{ - addProperty("String","FileName"); -} - - -Standard_Integer FeatureImportIges::Execute(void) -{ - Base::Console().Log("FeaturePartImportIges::Execute()\n"); - - try{ - - IGESControl_Reader aReader; - TopoDS_Shape aShape; - - std::string FileName = getPropertyString("FileName"); - - int i=_open(FileName.c_str(),O_RDONLY); - if( i != -1) - { - _close(i); - }else{ - Base::Console().Log("FeaturePartImportIges::Execute() not able to open %s!\n",FileName.c_str()); - return 1; - } - - // just do show the wait cursor when the Gui is up - Base::Sequencer().start("Load IGES", 1); - Base::Sequencer().next(); - - // read iges-file - if (aReader.ReadFile((const Standard_CString)FileName.c_str()) != IFSelect_RetDone) - throw Base::FileException("IGES read failed (load file)"); - - // make brep - aReader.TransferRoots(); - // one shape, who contain's all subshapes - aShape = aReader.OneShape(); - - setShape(aShape); - Base::Sequencer().stop(); - } - catch(...){ - Base::Sequencer().halt(); - Base::Console().Error("FeaturePartImportIges::Execute() failed!"); - return 1; - } - - return 0; -} - diff --git a/src/Mod/Import/App/FeatureImportStep.cpp b/src/Mod/Import/App/FeatureImportStep.cpp deleted file mode 100644 index b82d7a13ff..0000000000 --- a/src/Mod/Import/App/FeatureImportStep.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2002 Jürgen Riegel * - * * - * This file is part of the FreeCAD CAx development system. * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Library General Public * - * License as published by the Free Software Foundation; either * - * version 2 of the License, or (at your option) any later version. * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Library General Public License for more details. * - * * - * You should have received a copy of the GNU Library General Public * - * License along with this library; see the file COPYING.LIB. If not, * - * write to the Free Software Foundation, Inc., 59 Temple Place, * - * Suite 330, Boston, MA 02111-1307, USA * - * * - ***************************************************************************/ - -#include "PreCompiled.h" -#ifndef _PreComp_ -# include -# include -# include -# include -#endif - -#include -#include - -#include "FeatureImportStep.h" - - -using namespace Import; - -void FeatureImportStep::InitLabel(const TDF_Label &rcLabel) -{ - addProperty("String","FileName"); - -} - - -Standard_Integer FeatureImportStep::Execute(void) -{ - Base::Console().Log("FeaturePartImportStep::Execute()\n"); - - try{ - - STEPControl_Reader aReader; - TopoDS_Shape aShape; - - std::string FileName = getPropertyString("FileName"); - - if( FileName == "") - return 1; - - int i=_open(FileName.c_str(),O_RDONLY); - if( i != -1) - { - _close(i); - }else{ - setError("File not readable"); - return 1; - } - - // just do show the wait cursor when the Gui is up - Base::Sequencer().start("Load IGES", 1); - Base::Sequencer().next(); - - Handle(TopTools_HSequenceOfShape) aHSequenceOfShape = new TopTools_HSequenceOfShape; - if (aReader.ReadFile((const Standard_CString)FileName.c_str()) != IFSelect_RetDone) - { - setError("File not readable"); - return 1; - } - - // Root transfers - Standard_Integer nbr = aReader.NbRootsForTransfer(); - - for ( Standard_Integer n = 1; n<= nbr; n++) - { - printf("STEP: Transferring Root %d\n",n); - aReader.TransferRoot(n); - // Collecting resulting entities - Standard_Integer nbs = aReader.NbShapes(); - if (nbs == 0) { - aHSequenceOfShape.Nullify(); - return 1; - } else { - for (Standard_Integer i =1; i<=nbs; i++) - { - printf("STEP: Transferring Shape %d\n",n); - aShape=aReader.Shape(i); - aHSequenceOfShape->Append(aShape); - } - } - } - - setShape(aShape); - Base::Sequencer().stop(); - } - catch(...){ - Base::Sequencer().halt(); - Base::Console().Error("FeaturePartImportStep::Execute() failed!"); - return 1; - } - - return 0; -} - diff --git a/src/Mod/Import/App/ImportOCAF.cpp b/src/Mod/Import/App/ImportOCAF.cpp index 2397b62c37..ce4f8fb183 100644 --- a/src/Mod/Import/App/ImportOCAF.cpp +++ b/src/Mod/Import/App/ImportOCAF.cpp @@ -84,15 +84,13 @@ static inline App::Color convertColor(const Quantity_ColorRGBA &c) #define OCAF_KEEP_PLACEMENT ImportOCAF::ImportOCAF(Handle(TDocStd_Document) h, App::Document* d, const std::string& name) - : pDoc(h), doc(d), merge(true), default_name(name) + : pDoc(h), doc(d), default_name(name) { aShapeTool = XCAFDoc_DocumentTool::ShapeTool (pDoc->Main()); aColorTool = XCAFDoc_DocumentTool::ColorTool(pDoc->Main()); } -ImportOCAF::~ImportOCAF() -{ -} +ImportOCAF::~ImportOCAF() = default; void ImportOCAF::tryPlacementFromLoc(App::GeoFeature* part, const TopLoc_Location& part_loc) { @@ -164,8 +162,8 @@ void ImportOCAF::loadShapes(const TDF_Label& label, const TopLoc_Location& loc, } else { bool ws=true; - for (std::string::iterator it = part_name.begin(); it != part_name.end(); ++it) { - if (*it != ' ') { + for (char it : part_name) { + if (it != ' ') { ws = false; break; } @@ -483,9 +481,7 @@ ImportXCAF::ImportXCAF(Handle(TDocStd_Document) h, App::Document* d, const std:: hColors = XCAFDoc_DocumentTool::ColorTool(hdoc->Main()); } -ImportXCAF::~ImportXCAF() -{ -} +ImportXCAF::~ImportXCAF() = default; void ImportXCAF::loadShapes() { diff --git a/src/Mod/Import/App/ImportOCAF.h b/src/Mod/Import/App/ImportOCAF.h index da0c21a081..65549e32a7 100644 --- a/src/Mod/Import/App/ImportOCAF.h +++ b/src/Mod/Import/App/ImportOCAF.h @@ -75,7 +75,7 @@ private: App::Document* doc; Handle(XCAFDoc_ShapeTool) aShapeTool; Handle(XCAFDoc_ColorTool) aColorTool; - bool merge; + bool merge{true}; std::string default_name; std::set myRefShapes; static const int HashUpper = INT_MAX; diff --git a/src/Mod/Import/App/ImportOCAF2.cpp b/src/Mod/Import/App/ImportOCAF2.cpp index 42c0ffd8a4..5156c2e904 100644 --- a/src/Mod/Import/App/ImportOCAF2.cpp +++ b/src/Mod/Import/App/ImportOCAF2.cpp @@ -172,7 +172,7 @@ ImportOCAFOptions::ImportOCAFOptions() } ImportOCAF2::ImportOCAF2(Handle(TDocStd_Document) h, App::Document* d, const std::string& name) - : pDoc(h), pDocument(d), default_name(name), sequencer(nullptr) + : pDoc(h), pDocument(d), default_name(name) { aShapeTool = XCAFDoc_DocumentTool::ShapeTool (pDoc->Main()); aColorTool = XCAFDoc_DocumentTool::ColorTool(pDoc->Main()); @@ -185,9 +185,7 @@ ImportOCAF2::ImportOCAF2(Handle(TDocStd_Document) h, App::Document* d, const std setUseLinkGroup(options.useLinkGroup); } -ImportOCAF2::~ImportOCAF2() -{ -} +ImportOCAF2::~ImportOCAF2() = default; ImportOCAFOptions ImportOCAF2::customImportOptions() { @@ -991,7 +989,7 @@ TDF_Label ExportOCAF2::findComponent(const char *subname, TDF_Label label, TDF_L Handle(XCAFDoc_GraphNode) ret; if(labels.Length() && (FindSHUO(labels,ret) || aShapeTool->SetSHUO(labels,ret))) return ret->Label(); - return TDF_Label(); + return {}; } TDF_LabelSequence components; TDF_Label ref; @@ -1018,7 +1016,7 @@ TDF_Label ExportOCAF2::findComponent(const char *subname, TDF_Label label, TDF_L } } } - return TDF_Label(); + return {}; } void ExportOCAF2::setupObject(TDF_Label label, App::DocumentObject *obj, @@ -1191,7 +1189,7 @@ TDF_Label ExportOCAF2::exportObject(App::DocumentObject* parentObj, if(!obj || shape.isNull()) { if (obj) FC_WARN(obj->getFullName() << " has null shape"); - return TDF_Label(); + return {}; } //sub may contain more than one hierarchy, e.g. Assembly container may use diff --git a/src/Mod/Import/App/ImportOCAF2.h b/src/Mod/Import/App/ImportOCAF2.h index e19b921971..ef438b583d 100644 --- a/src/Mod/Import/App/ImportOCAF2.h +++ b/src/Mod/Import/App/ImportOCAF2.h @@ -187,7 +187,7 @@ private: std::unordered_map myNames; std::unordered_map myCollapsedObjects; - Base::SequencerLauncher *sequencer; + Base::SequencerLauncher *sequencer{nullptr}; }; struct ImportExport ExportOCAFOptions diff --git a/src/Mod/Import/App/SCL/Part21.py b/src/Mod/Import/App/SCL/Part21.py index f2d1ac921a..f116305dd7 100644 --- a/src/Mod/Import/App/SCL/Part21.py +++ b/src/Mod/Import/App/SCL/Part21.py @@ -120,7 +120,7 @@ class Part21Parser: return self._schema_name def get_number_of_instances(self): - return len(list(self._instances_definition.keys())) + return len(self._instances_definition) def parse_file(self): init_time = time.time() @@ -153,7 +153,7 @@ class Part21Parser: self._schema_name = line.split("'")[1].split("'")[0].split(" ")[0].lower() fp.close() print('done in %fs.'%(time.time()-init_time)) - print('schema: - %s entities %i'%(self._schema_name,len(list(self._instances_definition.keys())))) + print('schema: - %s entities %i'%(self._schema_name,len(self._instances_definition))) class EntityInstancesFactory(object): ''' @@ -183,7 +183,7 @@ class Part21Population(object): def create_entity_instances(self): """ Starts entity instances creation """ - for number_of_ancestor in list(self._part21_loader._number_of_ancestors.keys()): + for number_of_ancestor in list(self._part21_loader._number_of_ancestors): for entity_definition_id in self._part21_loader._number_of_ancestors[number_of_ancestor]: self.create_entity_instance(entity_definition_id) diff --git a/src/Mod/Import/App/SCL/SimpleReader.py b/src/Mod/Import/App/SCL/SimpleReader.py index 8061354f2a..0df392b55c 100644 --- a/src/Mod/Import/App/SCL/SimpleReader.py +++ b/src/Mod/Import/App/SCL/SimpleReader.py @@ -81,7 +81,7 @@ class SimpleParser: gvFile = open(fileName,'w') gvFile.write('digraph G {\n node [fontname=Verdana,fontsize=12]\n node [style=filled]\n node [fillcolor="#EEEEEE"]\n node [color="#EEEEEE"]\n edge [color="#31CEF0"]\n') - for i in list(self._p21loader._instances_definition.keys()): + for i in list(self._p21loader._instances_definition): entityStr = '#'+repr(i) nameStr = self._p21loader._instances_definition[i][0].lower() sttrStr = repr(self._p21loader._instances_definition[i][1]).replace('"','').replace("'",'').replace(" ",'') @@ -105,7 +105,7 @@ class SimpleParser: if self.schemaModule: self.schemaClasses = dict(inspect.getmembers(self.schemaModule)) - for i in list(self._p21loader._instances_definition.keys()): + for i in list(self._p21loader._instances_definition): #print i if i not in self.instanceMape: self._create_entity_instance(i) diff --git a/src/Mod/Import/App/StepShape.cpp b/src/Mod/Import/App/StepShape.cpp index 52260a40ef..d371895b55 100644 --- a/src/Mod/Import/App/StepShape.cpp +++ b/src/Mod/Import/App/StepShape.cpp @@ -40,14 +40,9 @@ using namespace Import; -StepShape::StepShape() -{ -} +StepShape::StepShape() = default; - -StepShape::~StepShape() -{ -} +StepShape::~StepShape() = default; int StepShape::read(const char* fileName) { diff --git a/src/Mod/Import/App/StepShapePyImp.cpp b/src/Mod/Import/App/StepShapePyImp.cpp index a2a2686313..752665c941 100644 --- a/src/Mod/Import/App/StepShapePyImp.cpp +++ b/src/Mod/Import/App/StepShapePyImp.cpp @@ -31,7 +31,7 @@ using namespace Import; // returns a string which represents the object e.g. when printed in python std::string StepShapePy::representation() const { - return std::string(""); + return {""}; } PyObject *StepShapePy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper diff --git a/src/Mod/Import/App/dxf/ImpExpDxf.cpp b/src/Mod/Import/App/dxf/ImpExpDxf.cpp index e34955eecf..3366f173d1 100644 --- a/src/Mod/Import/App/dxf/ImpExpDxf.cpp +++ b/src/Mod/Import/App/dxf/ImpExpDxf.cpp @@ -99,7 +99,7 @@ gp_Pnt ImpExpDxfRead::makePoint(const double* p) sp2 = sp2 * optionScaling; sp3 = sp3 * optionScaling; } - return gp_Pnt(sp1,sp2,sp3); + return {sp1,sp2,sp3}; } void ImpExpDxfRead::OnReadLine(const double* s, const double* e, bool /*hidden*/) @@ -465,9 +465,7 @@ ImpExpDxfWrite::ImpExpDxfWrite(std::string filepath) : setOptions(); } -ImpExpDxfWrite::~ImpExpDxfWrite() -{ -} +ImpExpDxfWrite::~ImpExpDxfWrite() = default; void ImpExpDxfWrite::setOptions() { diff --git a/src/Mod/Import/Gui/AppImportGuiPy.cpp b/src/Mod/Import/Gui/AppImportGuiPy.cpp index 49974d365f..6ef4d14b70 100644 --- a/src/Mod/Import/Gui/AppImportGuiPy.cpp +++ b/src/Mod/Import/Gui/AppImportGuiPy.cpp @@ -98,6 +98,7 @@ #include #include #include +#include #include #include #include @@ -372,8 +373,6 @@ public: initialize("This module is the ImportGui module."); // register with Python } - ~Module() override {} - private: Py::Object insert(const Py::Tuple& args, const Py::Dict &kwds) { @@ -383,11 +382,14 @@ private: PyObject *merge = Py_None; PyObject *useLinkGroup = Py_None; int mode = -1; - static char* kwd_list[] = {"name","docName","importHidden","merge","useLinkGroup","mode",nullptr}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "et|sO!O!O!i", - kwd_list,"utf-8",&Name,&DocName,&PyBool_Type,&importHidden,&PyBool_Type,&merge, - &PyBool_Type,&useLinkGroup,&mode)) + static const std::array kwd_list{"name", "docName", "importHidden", "merge", "useLinkGroup", + "mode", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "et|sO!O!O!i", + kwd_list, "utf-8", &Name, &DocName, &PyBool_Type, &importHidden, + &PyBool_Type, &merge, + &PyBool_Type, &useLinkGroup, &mode)) { throw Py::Exception(); + } std::string Utf8Name = std::string(Name); PyMem_Free(Name); @@ -534,7 +536,7 @@ private: auto vp = Gui::Application::Instance->getViewProvider(obj); if(vp) return vp->getElementColors(subname); - return std::map(); + return {}; } Py::Object exportOptions(const Py::Tuple& args) @@ -571,15 +573,17 @@ private: PyObject *pyexportHidden = Py_None; PyObject *pylegacy = Py_None; PyObject *pykeepPlacement = Py_None; - static char* kwd_list[] = {"obj", "name", "options", "exportHidden", "legacy", "keepPlacement", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "Oet|O!O!O!O!", - kwd_list, &object, - "utf-8", &Name, - &PyDict_Type, &pyoptions, - &PyBool_Type, &pyexportHidden, - &PyBool_Type, &pylegacy, - &PyBool_Type, &pykeepPlacement)) + static const std::array kwd_list{"obj", "name", "options", "exportHidden", "legacy", + "keepPlacement", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "Oet|O!O!O!O!", + kwd_list, &object, + "utf-8", &Name, + &PyDict_Type, &pyoptions, + &PyBool_Type, &pyexportHidden, + &PyBool_Type, &pylegacy, + &PyBool_Type, &pykeepPlacement)) { throw Py::Exception(); + } std::string Utf8Name = std::string(Name); PyMem_Free(Name); diff --git a/src/Mod/Import/Gui/Workbench.cpp b/src/Mod/Import/Gui/Workbench.cpp index 7369f3c2a0..8a31896fdd 100644 --- a/src/Mod/Import/Gui/Workbench.cpp +++ b/src/Mod/Import/Gui/Workbench.cpp @@ -31,13 +31,9 @@ using namespace ImportGui; /// @namespace ImportGui @class Workbench TYPESYSTEM_SOURCE(ImportGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; Gui::ToolBarItem* Workbench::setupToolBars() const { diff --git a/src/Mod/Inspection/App/AppInspection.cpp b/src/Mod/Inspection/App/AppInspection.cpp index aef3ea4cc5..79c0bdab45 100644 --- a/src/Mod/Inspection/App/AppInspection.cpp +++ b/src/Mod/Inspection/App/AppInspection.cpp @@ -37,8 +37,6 @@ public: initialize("This module is the Inspection module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Inspection/App/InspectionFeature.cpp b/src/Mod/Inspection/App/InspectionFeature.cpp index 8ef9e87f89..3af64c1b9a 100644 --- a/src/Mod/Inspection/App/InspectionFeature.cpp +++ b/src/Mod/Inspection/App/InspectionFeature.cpp @@ -24,6 +24,7 @@ #ifndef _PreComp_ #include +#include #include #include @@ -66,9 +67,7 @@ InspectActualMesh::InspectActualMesh(const Mesh::MeshObject& rMesh) : _mesh(rMes _bApply = _clTrf != tmp; } -InspectActualMesh::~InspectActualMesh() -{ -} +InspectActualMesh::~InspectActualMesh() = default; unsigned long InspectActualMesh::countPoints() const { @@ -78,8 +77,9 @@ unsigned long InspectActualMesh::countPoints() const Base::Vector3f InspectActualMesh::getPoint(unsigned long index) const { Base::Vector3f point = _mesh.GetPoint(index); - if (_bApply) + if (_bApply) { _clTrf.multVec(point, point); + } return point; } @@ -96,8 +96,8 @@ unsigned long InspectActualPoints::countPoints() const Base::Vector3f InspectActualPoints::getPoint(unsigned long index) const { - Base::Vector3d p = _rKernel.getPoint(index); - return Base::Vector3f(float(p.x), float(p.y), float(p.z)); + Base::Vector3d pnt = _rKernel.getPoint(index); + return Base::Vector3f(float(pnt.x), float(pnt.y), float(pnt.z)); } // ---------------------------------------------------------------- @@ -146,18 +146,19 @@ namespace Inspection { class MeshInspectGrid : public MeshCore::MeshGrid { public: - MeshInspectGrid (const MeshCore::MeshKernel &mesh, float fGridLen, const Base::Matrix4D& m) - : MeshCore::MeshGrid(mesh), _transform(m) + MeshInspectGrid (const MeshCore::MeshKernel &mesh, float fGridLen, const Base::Matrix4D& mat) + : MeshCore::MeshGrid(mesh), _transform(mat) { - Base::BoundBox3f clBBMesh = _pclMesh->GetBoundBox().Transformed(m); + Base::BoundBox3f clBBMesh = _pclMesh->GetBoundBox().Transformed(mat); Rebuild(std::max((unsigned long)(clBBMesh.LengthX() / fGridLen), 1), std::max((unsigned long)(clBBMesh.LengthY() / fGridLen), 1), std::max((unsigned long)(clBBMesh.LengthZ() / fGridLen), 1)); } - void Validate (const MeshCore::MeshKernel&) override + void Validate (const MeshCore::MeshKernel& kernel) override { // do nothing + boost::ignore_unused(kernel); } void Validate () @@ -198,8 +199,12 @@ namespace Inspection { void AddFacet (const MeshCore::MeshGeomFacet &rclFacet, unsigned long ulFacetIndex) { - unsigned long ulX, ulY, ulZ; - unsigned long ulX1, ulY1, ulZ1, ulX2, ulY2, ulZ2; + unsigned long ulX1; + unsigned long ulY1; + unsigned long ulZ1; + unsigned long ulX2; + unsigned long ulY2; + unsigned long ulZ2; Base::BoundBox3f clBB; clBB.Add(rclFacet._aclPoints[0]); @@ -211,17 +216,18 @@ namespace Inspection { if ((ulX1 < ulX2) || (ulY1 < ulY2) || (ulZ1 < ulZ2)) { - for (ulX = ulX1; ulX <= ulX2; ulX++) { - for (ulY = ulY1; ulY <= ulY2; ulY++) { - for (ulZ = ulZ1; ulZ <= ulZ2; ulZ++) { + for (unsigned long ulX = ulX1; ulX <= ulX2; ulX++) { + for (unsigned long ulY = ulY1; ulY <= ulY2; ulY++) { + for (unsigned long ulZ = ulZ1; ulZ <= ulZ2; ulZ++) { if (rclFacet.IntersectBoundingBox(GetBoundBox(ulX, ulY, ulZ))) _aulGrid[ulX][ulY][ulZ].insert(ulFacetIndex); } } } } - else + else { _aulGrid[ulX1][ulY1][ulZ1].insert(ulFacetIndex); + } } void InitGrid () override @@ -316,8 +322,8 @@ float InspectNominalMesh::getDistance(const Base::Vector3f& point) const float fMinDist=FLT_MAX; bool positive = true; - for (std::vector::iterator it = indices.begin(); it != indices.end(); ++it) { - MeshCore::MeshGeomFacet geomFace = _mesh.GetFacet(*it); + for (unsigned long it : indices) { + MeshCore::MeshGeomFacet geomFace = _mesh.GetFacet(it); if (_bApply) { geomFace.Transform(_clTrf); } @@ -396,8 +402,8 @@ float InspectNominalFastMesh::getDistance(const Base::Vector3f& point) const float fMinDist=FLT_MAX; bool positive = true; - for (std::set::iterator it = indices.begin(); it != indices.end(); ++it) { - MeshCore::MeshGeomFacet geomFace = _mesh.GetFacet(*it); + for (unsigned long it : indices) { + MeshCore::MeshGeomFacet geomFace = _mesh.GetFacet(it); if (_bApply) { geomFace.Transform(_clTrf); } @@ -438,8 +444,8 @@ float InspectNominalPoints::getDistance(const Base::Vector3f& point) const _pGrid->GetElements(x,y,z,indices); double fMinDist=DBL_MAX; - for (std::set::iterator it = indices.begin(); it != indices.end(); ++it) { - Base::Vector3d pt = _rKernel.getPoint(*it); + for (unsigned long it : indices) { + Base::Vector3d pt = _rKernel.getPoint(it); double fDist = Base::Distance(pointd, pt); if (fDist < fMinDist) { fMinDist = fDist; @@ -453,7 +459,6 @@ float InspectNominalPoints::getDistance(const Base::Vector3f& point) const InspectNominalShape::InspectNominalShape(const TopoDS_Shape& shape, float /*radius*/) : _rShape(shape) - , isSolid(false) { distss = new BRepExtrema_DistShapeShape(); distss->LoadS1(_rShape); @@ -537,15 +542,9 @@ bool InspectNominalShape::isBelowFace(const gp_Pnt& pnt3d) const TYPESYSTEM_SOURCE(Inspection::PropertyDistanceList, App::PropertyLists) -PropertyDistanceList::PropertyDistanceList() -{ +PropertyDistanceList::PropertyDistanceList() = default; -} - -PropertyDistanceList::~PropertyDistanceList() -{ - -} +PropertyDistanceList::~PropertyDistanceList() = default; void PropertyDistanceList::setSize(int newSize) { @@ -642,8 +641,8 @@ void PropertyDistanceList::SaveDocFile (Base::Writer &writer) const Base::OutputStream str(writer.Stream()); uint32_t uCt = (uint32_t)getSize(); str << uCt; - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << *it; + for (float it : _lValueList) { + str << it; } } @@ -653,8 +652,8 @@ void PropertyDistanceList::RestoreDocFile(Base::Reader &reader) uint32_t uCt=0; str >> uCt; std::vector values(uCt); - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - str >> *it; + for (float& it : values) { + str >> it; } setValues(values); } @@ -695,8 +694,8 @@ struct DistanceInspection Base::Vector3f pnt = actual->getPoint(index); float fMinDist=FLT_MAX; - for (std::vector::const_iterator it = nominal.begin(); it != nominal.end(); ++it) { - float fDist = (*it)->getDistance(pnt); + for (auto it : nominal) { + float fDist = it->getDistance(pnt); if (fabs(fDist) < fabs(fMinDist)) fMinDist = fDist; } @@ -717,7 +716,7 @@ struct DistanceInspection // Helper internal class for QtConcurrent map operation. Holds sums-of-squares and counts for RMS calculation class DistanceInspectionRMS { public: - DistanceInspectionRMS() : m_numv(0), m_sumsq(0.0) {} + DistanceInspectionRMS() = default; DistanceInspectionRMS& operator += (const DistanceInspectionRMS& rhs) { this->m_numv += rhs.m_numv; @@ -730,8 +729,8 @@ public: return 0.0; return sqrt(this->m_sumsq / (double)this->m_numv); } - int m_numv; - double m_sumsq; + int m_numv{0}; + double m_sumsq{0.0}; }; } @@ -746,9 +745,7 @@ Feature::Feature() ADD_PROPERTY(Distances,(0.0)); } -Feature::~Feature() -{ -} +Feature::~Feature() = default; short Feature::mustExecute() const { @@ -792,19 +789,19 @@ App::DocumentObjectExecReturn* Feature::execute() // get a list of nominals std::vector inspectNominal; const std::vector& nominals = Nominals.getValues(); - for (std::vector::const_iterator it = nominals.begin(); it != nominals.end(); ++it) { + for (auto it : nominals) { InspectNominalGeometry* nominal = nullptr; - if ((*it)->getTypeId().isDerivedFrom(Mesh::Feature::getClassTypeId())) { - Mesh::Feature* mesh = static_cast(*it); + if (it->getTypeId().isDerivedFrom(Mesh::Feature::getClassTypeId())) { + Mesh::Feature* mesh = static_cast(it); nominal = new InspectNominalMesh(mesh->Mesh.getValue(), this->SearchRadius.getValue()); } - else if ((*it)->getTypeId().isDerivedFrom(Points::Feature::getClassTypeId())) { - Points::Feature* pts = static_cast(*it); + else if (it->getTypeId().isDerivedFrom(Points::Feature::getClassTypeId())) { + Points::Feature* pts = static_cast(it); nominal = new InspectNominalPoints(pts->Points.getValue(), this->SearchRadius.getValue()); } - else if ((*it)->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) { + else if (it->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) { useMultithreading = false; - Part::Feature* part = static_cast(*it); + Part::Feature* part = static_cast(it); nominal = new InspectNominalShape(part->Shape.getValue(), this->SearchRadius.getValue()); } @@ -875,8 +872,8 @@ App::DocumentObjectExecReturn* Feature::execute() Base::Vector3f pnt = actual->getPoint(index); float fMinDist = FLT_MAX; - for (std::vector::iterator it = inspectNominal.begin(); it != inspectNominal.end(); ++it) { - float fDist = (*it)->getDistance(pnt); + for (auto it : inspectNominal) { + float fDist = it->getDistance(pnt); if (fabs(fDist) < fabs(fMinDist)) fMinDist = fDist; } @@ -934,8 +931,8 @@ App::DocumentObjectExecReturn* Feature::execute() #endif delete actual; - for (std::vector::iterator it = inspectNominal.begin(); it != inspectNominal.end(); ++it) - delete *it; + for (auto it : inspectNominal) + delete it; return nullptr; } @@ -945,10 +942,6 @@ App::DocumentObjectExecReturn* Feature::execute() PROPERTY_SOURCE(Inspection::Group, App::DocumentObjectGroup) -Group::Group() -{ -} +Group::Group() = default; -Group::~Group() -{ -} +Group::~Group() = default; diff --git a/src/Mod/Inspection/App/InspectionFeature.h b/src/Mod/Inspection/App/InspectionFeature.h index 81d9315c5d..d9c9f1bb86 100644 --- a/src/Mod/Inspection/App/InspectionFeature.h +++ b/src/Mod/Inspection/App/InspectionFeature.h @@ -50,8 +50,8 @@ namespace Inspection class InspectionExport InspectActualGeometry { public: - InspectActualGeometry() {} - virtual ~InspectActualGeometry() {} + InspectActualGeometry() = default; + virtual ~InspectActualGeometry() = default; /// Number of points to be checked virtual unsigned long countPoints() const = 0; virtual Base::Vector3f getPoint(unsigned long) const = 0; @@ -101,8 +101,8 @@ private: class InspectionExport InspectNominalGeometry { public: - InspectNominalGeometry() {} - virtual ~InspectNominalGeometry() {} + InspectNominalGeometry() = default; + virtual ~InspectNominalGeometry() = default; virtual float getDistance(const Base::Vector3f&) const = 0; }; @@ -163,7 +163,7 @@ private: private: BRepExtrema_DistShapeShape* distss; const TopoDS_Shape& _rShape; - bool isSolid; + bool isSolid{false}; }; class InspectionExport PropertyDistanceList: public App::PropertyLists diff --git a/src/Mod/Inspection/App/PreCompiled.h b/src/Mod/Inspection/App/PreCompiled.h index 7b2059b4e3..29e9553e2b 100644 --- a/src/Mod/Inspection/App/PreCompiled.h +++ b/src/Mod/Inspection/App/PreCompiled.h @@ -46,6 +46,9 @@ #include #include +// boost +#include + // Qt #include #include diff --git a/src/Mod/Inspection/Gui/AppInspectionGui.cpp b/src/Mod/Inspection/Gui/AppInspectionGui.cpp index 2038d46923..d7e141c894 100644 --- a/src/Mod/Inspection/Gui/AppInspectionGui.cpp +++ b/src/Mod/Inspection/Gui/AppInspectionGui.cpp @@ -44,8 +44,6 @@ public: initialize("This module is the InspectionGui module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection.ts index 0745088fae..3841cfd56e 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_be.qm b/src/Mod/Inspection/Gui/Resources/translations/Inspection_be.qm index cb3d653993..05c4658564 100644 Binary files a/src/Mod/Inspection/Gui/Resources/translations/Inspection_be.qm and b/src/Mod/Inspection/Gui/Resources/translations/Inspection_be.qm differ diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_be.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_be.ts index 39bbf6d829..592bf56747 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_be.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_be.ts @@ -6,7 +6,7 @@ Inspection - Даўгаваты + Праверка @@ -24,7 +24,7 @@ Inspection - Даўгаваты + Праверка @@ -41,7 +41,7 @@ Command - + Visual Inspection Візуальная праверка diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ca.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ca.ts index 5f85df56eb..517ab76961 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ca.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ca.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Inspecció Visual diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_cs.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_cs.ts index fe251d2eba..8fdfa9885e 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_cs.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_cs.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Vizuální kontrola diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_de.qm b/src/Mod/Inspection/Gui/Resources/translations/Inspection_de.qm index 7c62f63974..c2a3fab18a 100644 Binary files a/src/Mod/Inspection/Gui/Resources/translations/Inspection_de.qm and b/src/Mod/Inspection/Gui/Resources/translations/Inspection_de.qm differ diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_de.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_de.ts index fc51499175..d34d0d22f8 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_de.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_de.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Sichtkontrolle @@ -51,7 +51,7 @@ Visual Inspection - Sichtkontrolle + Optische Überprüfung @@ -83,7 +83,7 @@ mm - mm + mm diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_el.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_el.ts index bab6b25ec4..e0913da92b 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_el.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_el.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Οπτική επιθεώρηση diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_es-AR.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_es-AR.ts index c81a0546f0..df920621af 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_es-AR.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_es-AR.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Inspección visual diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_es-ES.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_es-ES.ts index bf7a304856..bf2f312232 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_es-ES.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_es-ES.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Inspección visual diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_eu.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_eu.ts index 88882fa1c4..95f74704b8 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_eu.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_eu.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Ikusizko ikuskatzea diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_fi.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_fi.ts index aa4e612fb5..8e4f171f24 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_fi.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_fi.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Visual Inspection diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_fr.qm b/src/Mod/Inspection/Gui/Resources/translations/Inspection_fr.qm index 30aea3b58b..9bf865f201 100644 Binary files a/src/Mod/Inspection/Gui/Resources/translations/Inspection_fr.qm and b/src/Mod/Inspection/Gui/Resources/translations/Inspection_fr.qm differ diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_fr.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_fr.ts index 22920d3bf8..7d9fa7d955 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_fr.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_fr.ts @@ -6,7 +6,7 @@ Inspection - Oblongue + Inspection @@ -24,7 +24,7 @@ Inspection - Oblongue + Inspection @@ -41,7 +41,7 @@ Command - + Visual Inspection Inspection visuelle @@ -88,7 +88,7 @@ Thickness - Evidement + Épaisseur @@ -111,7 +111,7 @@ Leave info mode - Quitter le mode d'information + Quitter le mode information diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_gl.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_gl.ts index 6c4ffd709b..7da077e311 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_gl.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_gl.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Visual Inspection diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_hr.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_hr.ts index 50a9615039..5abb99e882 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_hr.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_hr.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Vizualni Pregled diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_hu.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_hu.ts index f7f5b0f659..5f4a7eb3b0 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_hu.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_hu.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Szemrevételezés diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_id.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_id.ts index 0c3e5d3fd1..7acbf15623 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_id.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_id.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Visual Inspection diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_it.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_it.ts index afe2230d34..6f891013c8 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_it.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_it.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Ispezione Visiva diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ja.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ja.ts index 71548c6599..67e50d8ec8 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ja.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ja.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection 外観検査 diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ka.qm b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ka.qm index 245eba22d4..8dbdd36486 100644 Binary files a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ka.qm and b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ka.qm differ diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ka.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ka.ts index 9cd926cff4..840f5bb875 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ka.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ka.ts @@ -6,7 +6,7 @@ Inspection - მომრგვალებული მართკუთხედი + კონტროლი @@ -24,7 +24,7 @@ Inspection - მომრგვალებული მართკუთხედი + კონტროლი @@ -41,7 +41,7 @@ Command - + Visual Inspection ვიზუალური შემოწმება @@ -51,7 +51,7 @@ Visual Inspection - ვიზუალური შემოწმება + ვიზუალის კონტროლი @@ -106,7 +106,7 @@ Annotation - შენიშვნა + ანოტაცია diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ko.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ko.ts index 7b0cb9d68c..af9975b964 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ko.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ko.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Visual Inspection diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_nl.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_nl.ts index 73e5ab12d2..930be34d87 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_nl.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_nl.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Visuele inspectie diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_pl.qm b/src/Mod/Inspection/Gui/Resources/translations/Inspection_pl.qm index cddf2f6b09..536fff8fbe 100644 Binary files a/src/Mod/Inspection/Gui/Resources/translations/Inspection_pl.qm and b/src/Mod/Inspection/Gui/Resources/translations/Inspection_pl.qm differ diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_pl.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_pl.ts index 25e7a2e516..e97cbe2b17 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_pl.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_pl.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Kontrola wzrokowa @@ -106,7 +106,7 @@ Annotation - Adnotacja + Opisy diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_pt-BR.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_pt-BR.ts index 46fac79c28..dc059683a3 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_pt-BR.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_pt-BR.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Inspeção Visual diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_pt-PT.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_pt-PT.ts index 08a913e528..606ae77aae 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_pt-PT.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_pt-PT.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Visual Inspection diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ro.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ro.ts index 5a4e072992..e22cfce4d5 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ro.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ro.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Inspecție vizuală diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ru.qm b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ru.qm index 2fe6559822..6c1996b511 100644 Binary files a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ru.qm and b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ru.qm differ diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ru.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ru.ts index 2910d723d8..09b81ccad5 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_ru.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_ru.ts @@ -6,7 +6,7 @@ Inspection - Скругленный прямоугольник + Инспекция @@ -24,7 +24,7 @@ Inspection - Скругленный прямоугольник + Инспекция @@ -41,7 +41,7 @@ Command - + Visual Inspection Визуальная проверка diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sl.qm b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sl.qm index 85f92cfd78..e87a80e467 100644 Binary files a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sl.qm and b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sl.qm differ diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sl.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sl.ts index 671d58ac17..8d195a1d53 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sl.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sl.ts @@ -6,7 +6,7 @@ Inspection - Pokrožen pravokotnik + Pregled @@ -24,7 +24,7 @@ Inspection - Pokrožen pravokotnik + Pregled @@ -41,7 +41,7 @@ Command - + Visual Inspection Vidni pregled @@ -106,7 +106,7 @@ Annotation - Opis + Pripis diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sr-CS.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sr-CS.ts index 54e3e74df2..029165db3a 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sr-CS.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sr-CS.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Vizuelni pregled diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sr.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sr.ts index 45dffa7d32..ffec987593 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sr.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sr.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Визуелни преглед diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sv-SE.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sv-SE.ts index 42a26e5c82..f5a4f46061 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_sv-SE.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_sv-SE.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Visual Inspection diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_tr.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_tr.ts index 58ebff8e22..211fa2e96a 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_tr.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_tr.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Görsel inceleme diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_uk.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_uk.ts index a89993dad1..7c5c642341 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_uk.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_uk.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Візуальний огляд diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_val-ES.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_val-ES.ts index 3204453ac1..9fe05dacf6 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_val-ES.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_val-ES.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Visual Inspection diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_zh-CN.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_zh-CN.ts index 3235ba9a00..2822683e4b 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_zh-CN.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_zh-CN.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection 可视性检查 diff --git a/src/Mod/Inspection/Gui/Resources/translations/Inspection_zh-TW.ts b/src/Mod/Inspection/Gui/Resources/translations/Inspection_zh-TW.ts index 69fcaba0bb..0d68fd42f3 100644 --- a/src/Mod/Inspection/Gui/Resources/translations/Inspection_zh-TW.ts +++ b/src/Mod/Inspection/Gui/Resources/translations/Inspection_zh-TW.ts @@ -41,7 +41,7 @@ Command - + Visual Inspection Visual Inspection diff --git a/src/Mod/Inspection/Gui/ViewProviderInspection.cpp b/src/Mod/Inspection/Gui/ViewProviderInspection.cpp index 2ee9f4e69f..e62b62bc6d 100644 --- a/src/Mod/Inspection/Gui/ViewProviderInspection.cpp +++ b/src/Mod/Inspection/Gui/ViewProviderInspection.cpp @@ -68,7 +68,7 @@ App::PropertyFloatConstraint::Constraints ViewProviderInspection::floatRange = { PROPERTY_SOURCE(InspectionGui::ViewProviderInspection, Gui::ViewProviderDocumentObject) -ViewProviderInspection::ViewProviderInspection() : search_radius(FLT_MAX) +ViewProviderInspection::ViewProviderInspection() { ADD_PROPERTY_TYPE(OutsideGrayed,(false),"",(App::PropertyType) (App::Prop_Output|App::Prop_Hidden),""); ADD_PROPERTY_TYPE(PointSize,(1.0),"Display",(App::PropertyType) (App::Prop_None/*App::Prop_Hidden*/),""); @@ -269,8 +269,8 @@ void ViewProviderInspection::setupNormals(const std::vector& nor SbVec3f* norm = normalNode->vector.startEditing(); std::size_t i=0; - for (std::vector::const_iterator it = normals.begin(); it != normals.end(); ++it) { - norm[i++].setValue(it->x, it->y, it->z); + for (const auto& it : normals) { + norm[i++].setValue(it.x, it.y, it.z); } normalNode->vector.finishEditing(); @@ -445,7 +445,7 @@ class ViewProviderProxyObject : public QObject { public: explicit ViewProviderProxyObject(QWidget* w) : QObject(nullptr), widget(w) {} - ~ViewProviderProxyObject() override {} + ~ViewProviderProxyObject() override = default; void customEvent(QEvent *) override { if (!widget.isNull()) { @@ -456,8 +456,8 @@ public: QObject::tr("Do you want to remove all annotations?"), QMessageBox::Yes,QMessageBox::No); if (ret == QMessageBox::Yes) { - for (QList::iterator it = flags.begin(); it != flags.end(); ++it) - (*it)->deleteLater(); + for (auto it : flags) + it->deleteLater(); } } } @@ -682,13 +682,9 @@ PROPERTY_SOURCE(InspectionGui::ViewProviderInspectionGroup, Gui::ViewProviderDoc /** * Creates the view provider for an object group. */ -ViewProviderInspectionGroup::ViewProviderInspectionGroup() -{ -} +ViewProviderInspectionGroup::ViewProviderInspectionGroup() = default; -ViewProviderInspectionGroup::~ViewProviderInspectionGroup() -{ -} +ViewProviderInspectionGroup::~ViewProviderInspectionGroup() = default; /** * Returns the pixmap for the opened list item. diff --git a/src/Mod/Inspection/Gui/ViewProviderInspection.h b/src/Mod/Inspection/Gui/ViewProviderInspection.h index 7e88fa0bdc..56e91f1461 100644 --- a/src/Mod/Inspection/Gui/ViewProviderInspection.h +++ b/src/Mod/Inspection/Gui/ViewProviderInspection.h @@ -103,7 +103,7 @@ protected: SoCoordinate3 * pcCoords; private: - float search_radius; + float search_radius{FLT_MAX}; static bool addflag; static App::PropertyFloatConstraint::Constraints floatRange; }; diff --git a/src/Mod/Inspection/Gui/VisualInspection.cpp b/src/Mod/Inspection/Gui/VisualInspection.cpp index d8bf609bf7..e1c68ecd6e 100644 --- a/src/Mod/Inspection/Gui/VisualInspection.cpp +++ b/src/Mod/Inspection/Gui/VisualInspection.cpp @@ -54,9 +54,7 @@ public: { } - ~SingleSelectionItem () override - { - } + ~SingleSelectionItem () override = default; SingleSelectionItem* getCompetitiveItem() const { @@ -115,21 +113,21 @@ VisualInspection::VisualInspection(QWidget* parent, Qt::WindowFlags fl) Base::Type point = Base::Type::fromName("Points::Feature"); Base::Type mesh = Base::Type::fromName("Mesh::Feature"); Base::Type shape = Base::Type::fromName("Part::Feature"); - for (std::vector::iterator it = obj.begin(); it != obj.end(); ++it) { - if ((*it)->getTypeId().isDerivedFrom(point) || - (*it)->getTypeId().isDerivedFrom(mesh) || - (*it)->getTypeId().isDerivedFrom(shape)) { - Gui::ViewProvider* view = gui->getViewProvider(*it); + for (auto it : obj) { + if (it->getTypeId().isDerivedFrom(point) || + it->getTypeId().isDerivedFrom(mesh) || + it->getTypeId().isDerivedFrom(shape)) { + Gui::ViewProvider* view = gui->getViewProvider(it); QIcon px = view->getIcon(); SingleSelectionItem* item1 = new SingleSelectionItem(ui->treeWidgetActual); - item1->setText(0, QString::fromUtf8((*it)->Label.getValue())); - item1->setData(0, Qt::UserRole, QString::fromLatin1((*it)->getNameInDocument())); + item1->setText(0, QString::fromUtf8(it->Label.getValue())); + item1->setData(0, Qt::UserRole, QString::fromLatin1(it->getNameInDocument())); item1->setCheckState(0, Qt::Unchecked); item1->setIcon(0, px); SingleSelectionItem* item2 = new SingleSelectionItem(ui->treeWidgetNominal); - item2->setText(0, QString::fromUtf8((*it)->Label.getValue())); - item2->setData(0, Qt::UserRole, QString::fromLatin1((*it)->getNameInDocument())); + item2->setText(0, QString::fromUtf8(it->Label.getValue())); + item2->setData(0, Qt::UserRole, QString::fromLatin1(it->getNameInDocument())); item2->setCheckState(0, Qt::Unchecked); item2->setIcon(0, px); @@ -245,9 +243,9 @@ void VisualInspection::accept() "App_activeDocument___activeObject___Nominals=list()\n" "App.ActiveDocument.ActiveObject.SearchRadius=%.3f\n" "App.ActiveDocument.ActiveObject.Thickness=%.3f\n", (const char*)actualName.toLatin1(), searchRadius, thickness); - for (QStringList::Iterator it = nominalNames.begin(); it != nominalNames.end(); ++it) { + for (const auto& it : nominalNames) { Gui::Command::doCommand(Gui::Command::App, - "App_activeDocument___activeObject___Nominals.append(App.ActiveDocument.%s)\n", (const char*)(*it).toLatin1()); + "App_activeDocument___activeObject___Nominals.append(App.ActiveDocument.%s)\n", (const char*)it.toLatin1()); } Gui::Command::doCommand(Gui::Command::App, "App.ActiveDocument.ActiveObject.Nominals=App_activeDocument___activeObject___Nominals\n" diff --git a/src/Mod/Inspection/Gui/Workbench.cpp b/src/Mod/Inspection/Gui/Workbench.cpp index 6fe143215c..4caffeeed7 100644 --- a/src/Mod/Inspection/Gui/Workbench.cpp +++ b/src/Mod/Inspection/Gui/Workbench.cpp @@ -33,13 +33,9 @@ using namespace InspectionGui; /// @namespace InspectionGui @class Workbench TYPESYSTEM_SOURCE(InspectionGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; Gui::MenuItem* Workbench::setupMenuBar() const { diff --git a/src/Mod/Material/MaterialEditor.py b/src/Mod/Material/MaterialEditor.py index 655e8ff619..044bd2f2f5 100644 --- a/src/Mod/Material/MaterialEditor.py +++ b/src/Mod/Material/MaterialEditor.py @@ -159,7 +159,7 @@ class MaterialEditor: template_data = get_material_template(True) for group in template_data: - gg = list(group.keys())[0] # group dict has only one key + gg = list(group)[0] # group dict has only one key top = QtGui.QStandardItem(gg) model.appendRow([top]) self.groups.append(gg) @@ -253,13 +253,13 @@ class MaterialEditor: card_name_list = [] # [ [card_name, card_path, icon_path], ... ] if sort_by_resources is True: - for a_path in sorted(self.materials.keys()): + for a_path in sorted(self.materials): card_name_list.append([self.cards[a_path], a_path, self.icons[a_path]]) else: card_names_tmp = {} for path, name in self.cards.items(): card_names_tmp[name] = path - for a_name in sorted(card_names_tmp.keys()): + for a_name in sorted(card_names_tmp): a_path = card_names_tmp[a_name] card_name_list.append([a_name, a_path, self.icons[a_path]]) diff --git a/src/Mod/Material/importFCMat.py b/src/Mod/Material/importFCMat.py index 489fb2204c..f53ce996ef 100644 --- a/src/Mod/Material/importFCMat.py +++ b/src/Mod/Material/importFCMat.py @@ -190,7 +190,7 @@ def write(filename, dictionary, write_group_section=True): user = {} template_data = get_material_template() for group in template_data: - groupName = list(group.keys())[0] # group dict has only one key + groupName = list(group)[0] # group dict has only one key contents.append({"keyname": groupName}) if groupName == "Meta": header = contents[-1] @@ -202,7 +202,7 @@ def write(filename, dictionary, write_group_section=True): found = False for group in contents: if not found: - if k in group.keys(): + if k in group: group[k] = i found = True if not found: @@ -211,7 +211,7 @@ def write(filename, dictionary, write_group_section=True): for group in contents: # iterating over a dict and changing it is not allowed # thus it is iterated over a list of the keys - for k in list(group.keys()): + for k in list(group): if group[k] == '': del group[k] diff --git a/src/Mod/Material/materialtools/cardutils.py b/src/Mod/Material/materialtools/cardutils.py index bfc085bd5e..bde7157a20 100644 --- a/src/Mod/Material/materialtools/cardutils.py +++ b/src/Mod/Material/materialtools/cardutils.py @@ -231,11 +231,11 @@ def get_material_template(withSpaces=False): new_template = [] for group in template_data: new_group = {} - gg = list(group.keys())[0] # group dict has only one key + gg = list(group)[0] # group dict has only one key # iterating over a dict and changing it is not allowed # thus it is iterated over a list of the keys new_group[gg] = {} - for proper in list(group[gg].keys()): + for proper in list(group[gg]): new_proper = re.sub(r"(\w)([A-Z]+)", r"\1 \2", proper) # strip underscores of vectorial properties new_proper = new_proper.replace("_", " ") @@ -256,7 +256,7 @@ def create_mat_tools_header(): template_data = get_material_template() f = open(headers, "w") for group in template_data: - gg = list(group.keys())[0] # group dict has only one key + gg = list(group)[0] # group dict has only one key # do not write group UserDefined if gg != 'UserDefined': for prop_name in group[gg]: @@ -292,7 +292,7 @@ def create_mat_template_card(write_group_section=True): if write_group_section is False: f.write("\n[FCMat]\n") for group in template_data: - gg = list(group.keys())[0] # group dict has only one key + gg = list(group)[0] # group dict has only one key # do not write groups Meta and UserDefined if (gg != 'Meta') and (gg != 'UserDefined'): # only write group section if write group section parameter is set to True @@ -335,7 +335,7 @@ def get_known_material_quantity_parameter(): template_data = get_material_template() known_quantities = [] for group in template_data: - gname = list(group.keys())[0] # group dict has only one key + gname = list(group)[0] # group dict has only one key for prop_name in group[gname]: prop_type = group[gname][prop_name]['Type'] if prop_type == 'Quantity': @@ -352,7 +352,7 @@ def get_and_output_all_carddata(cards): template_data = get_material_template() # print(template_data) for group in template_data: - gg = list(group.keys())[0] # group dict has only one key + gg = list(group)[0] # group dict has only one key for key in group[gg]: registed_cardkeys.append(key) registed_cardkeys = sorted(registed_cardkeys) @@ -662,7 +662,7 @@ gettemplate()[2]['Mechanical']['FractureToughness'] from materialtools.cardutils import get_material_template as gettemplate template_data=gettemplate() for group in template_data: - gname = list(group.keys())[0] # group dict has only one key + gname = list(group)[0] # group dict has only one key for prop_name in group[gname]: #prop_dict = group[gname][prop_name] #print(prop_dict) diff --git a/src/Mod/Measure/App/AppMeasure.cpp b/src/Mod/Measure/App/AppMeasure.cpp index 157abda374..4be22df894 100644 --- a/src/Mod/Measure/App/AppMeasure.cpp +++ b/src/Mod/Measure/App/AppMeasure.cpp @@ -38,8 +38,6 @@ public: initialize("This module is the Measure module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Measure/App/Measurement.cpp b/src/Mod/Measure/App/Measurement.cpp index b20b68743b..3c4c6e20f7 100644 --- a/src/Mod/Measure/App/Measurement.cpp +++ b/src/Mod/Measure/App/Measurement.cpp @@ -59,10 +59,7 @@ Measurement::Measurement() References3D.setScope(App::LinkScope::Global); } -Measurement::~Measurement() -{ - -} +Measurement::~Measurement() = default; void Measurement::clear() { diff --git a/src/Mod/Mesh/App/AppMeshPy.cpp b/src/Mod/Mesh/App/AppMeshPy.cpp index 26b9c52314..a157286215 100644 --- a/src/Mod/Mesh/App/AppMeshPy.cpp +++ b/src/Mod/Mesh/App/AppMeshPy.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include "Core/Approximation.h" #include "Core/Evaluation.h" @@ -129,8 +130,6 @@ public: "\n"); } - ~Module() override {} - private: Py::Object invoke_method_varargs(void *method_def, const Py::Tuple &args) override { @@ -213,13 +212,13 @@ private: int exportAmfCompressed( hGrp->GetBool("ExportAmfCompressed", true) ); - static char *kwList[] = {"objectList", "filename", "tolerance", - "exportAmfCompressed", nullptr}; + static const std::array kwList{"objectList", "filename", "tolerance", + "exportAmfCompressed", nullptr}; - if (!PyArg_ParseTupleAndKeywords( args.ptr(), keywds.ptr(), - "Oet|dp", - kwList, &objects, "utf-8", &fileNamePy, - &fTolerance, &exportAmfCompressed )) { + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), keywds.ptr(), + "Oet|dp", + kwList, &objects, "utf-8", &fileNamePy, + &fTolerance, &exportAmfCompressed)) { throw Py::Exception(); } diff --git a/src/Mod/Mesh/App/Core/Algorithm.cpp b/src/Mod/Mesh/App/Core/Algorithm.cpp index 429783c7ac..149f218f68 100644 --- a/src/Mod/Mesh/App/Core/Algorithm.cpp +++ b/src/Mod/Mesh/App/Core/Algorithm.cpp @@ -45,6 +45,7 @@ using Base::Polygon2d; bool MeshAlgorithm::IsVertexVisible (const Base::Vector3f &rcVertex, const Base::Vector3f &rcView, const MeshFacetGrid &rclGrid) const { + const float fMaxDistance = 0.001F; Base::Vector3f cDirection = rcVertex - rcView; float fDistance = cDirection.Length(); Base::Vector3f cIntsct; @@ -56,7 +57,7 @@ bool MeshAlgorithm::IsVertexVisible (const Base::Vector3f &rcVertex, const Base: float fLen = Base::Distance(rcView, cIntsct); if (fLen < fDistance) { // is it the same point? - if (Base::Distance(rcVertex, cIntsct) > 0.001f) { + if (Base::Distance(rcVertex, cIntsct) > fMaxDistance) { // ok facet overlays the vertex return false; } @@ -75,7 +76,8 @@ bool MeshAlgorithm::NearestFacetOnRay (const Base::Vector3f &rclPt, const Base:: bool MeshAlgorithm::NearestFacetOnRay (const Base::Vector3f &rclPt, const Base::Vector3f &rclDir, float fMaxAngle, Base::Vector3f &rclRes, FacetIndex &rulFacet) const { - Base::Vector3f clProj, clRes; + Base::Vector3f clProj; + Base::Vector3f clRes; bool bSol = false; FacetIndex ulInd = 0; @@ -117,12 +119,14 @@ bool MeshAlgorithm::NearestFacetOnRay (const Base::Vector3f &rclPt, const Base:: if (!RayNearestField(rclPt, rclDir, aulFacets, rclRes, rulFacet)) { aulFacets.clear(); while (clGridIter.NextOnRay(aulFacets)) { - if (RayNearestField(rclPt, rclDir, aulFacets, rclRes, rulFacet)) + if (RayNearestField(rclPt, rclDir, aulFacets, rclRes, rulFacet)) { return true; + } } } - else + else { return true; + } } return false; @@ -131,43 +135,48 @@ bool MeshAlgorithm::NearestFacetOnRay (const Base::Vector3f &rclPt, const Base:: bool MeshAlgorithm::NearestFacetOnRay (const Base::Vector3f &rclPt, const Base::Vector3f &rclDir, float fMaxSearchArea, const MeshFacetGrid &rclGrid, Base::Vector3f &rclRes, FacetIndex &rulFacet) const { + const float fMaxAngle = 1.75F; std::vector aulFacets; MeshGridIterator clGridIter(rclGrid); if (clGridIter.InitOnRay(rclPt, rclDir, fMaxSearchArea, aulFacets)) { - if (!RayNearestField(rclPt, rclDir, aulFacets, rclRes, rulFacet, 1.75f)) { + if (!RayNearestField(rclPt, rclDir, aulFacets, rclRes, rulFacet, fMaxAngle)) { aulFacets.clear(); while (clGridIter.NextOnRay(aulFacets)) { - if (RayNearestField(rclPt, rclDir, aulFacets, rclRes, rulFacet, 1.75f)) + if (RayNearestField(rclPt, rclDir, aulFacets, rclRes, rulFacet, fMaxAngle)) { return true; + } } } - else + else { return true; + } } return false; } -bool MeshAlgorithm::NearestFacetOnRay (const Base::Vector3f &rclPt, const Base::Vector3f &rclDir, const std::vector &raulFacets, +bool MeshAlgorithm::NearestFacetOnRay (const Base::Vector3f &rclPt, const Base::Vector3f &rclDir, + const std::vector &raulFacets, Base::Vector3f &rclRes, FacetIndex &rulFacet) const { - Base::Vector3f clProj, clRes; + Base::Vector3f clProj; + Base::Vector3f clRes; bool bSol = false; FacetIndex ulInd = 0; - for (std::vector::const_iterator pI = raulFacets.begin(); pI != raulFacets.end(); ++pI) { - MeshGeomFacet rclSFacet = _rclMesh.GetFacet(*pI); + for (FacetIndex index : raulFacets) { + MeshGeomFacet rclSFacet = _rclMesh.GetFacet(index); if (rclSFacet.Foraminate(rclPt, rclDir, clRes)) { if (!bSol) {// first solution bSol = true; clProj = clRes; - ulInd = *pI; + ulInd = index; } else { // is closer to the point if ((clRes - rclPt).Length() < (clProj - rclPt).Length()) { clProj = clRes; - ulInd = *pI; + ulInd = index; } } } @@ -188,17 +197,17 @@ bool MeshAlgorithm::RayNearestField (const Base::Vector3f &rclPt, const Base::Ve bool bSol = false; FacetIndex ulInd = 0; - for (std::vector::const_iterator pF = raulFacets.begin(); pF != raulFacets.end(); ++pF) { - if (_rclMesh.GetFacet(*pF).Foraminate(rclPt, rclDir, clRes/*, fMaxAngle*/)) { + for (FacetIndex index : raulFacets) { + if (_rclMesh.GetFacet(index).Foraminate(rclPt, rclDir, clRes/*, fMaxAngle*/)) { if (!bSol) { // first solution bSol = true; clProj = clRes; - ulInd = *pF; + ulInd = index; } else { // is closer to the point if ((clRes - rclPt).Length() < (clProj - rclPt).Length()) { clProj = clRes; - ulInd = *pF; + ulInd = index; } } } @@ -223,11 +232,11 @@ bool MeshAlgorithm::FirstFacetToVertex(const Base::Vector3f &rPt, float fMaxDist rGrid.GetElements(rPt, facets); // Check all facets inside the grid if the point is part of it - for (std::vector::iterator it = facets.begin(); it != facets.end(); ++it) { - MeshGeomFacet cFacet = this->_rclMesh.GetFacet(*it); + for (FacetIndex facet : facets) { + MeshGeomFacet cFacet = this->_rclMesh.GetFacet(facet); if (cFacet.IsPointOfFace(rPt, fMaxDistance)) { found = true; - uIndex = *it; + uIndex = facet; break; } else { @@ -239,7 +248,7 @@ bool MeshAlgorithm::FirstFacetToVertex(const Base::Vector3f &rPt, float fMaxDist cFacet.NearestEdgeToPoint(res, fDist, uSide); if (fDist < fEps) { found = true; - uIndex = *it; + uIndex = facet; break; } } @@ -300,8 +309,8 @@ void MeshAlgorithm::GetMeshBorders (std::list > &rcl { std::vector aulAllFacets(_rclMesh.CountFacets()); FacetIndex k = 0; - for (std::vector::iterator pI = aulAllFacets.begin(); pI != aulAllFacets.end(); ++pI) - *pI = k++; + for (FacetIndex & index : aulAllFacets) + index = k++; GetFacetBorders(aulAllFacets, rclBorders); } @@ -310,8 +319,8 @@ void MeshAlgorithm::GetMeshBorders (std::list > &rclBord { std::vector aulAllFacets(_rclMesh.CountFacets()); FacetIndex k = 0; - for (std::vector::iterator pI = aulAllFacets.begin(); pI != aulAllFacets.end(); ++pI) - *pI = k++; + for (FacetIndex & index : aulAllFacets) + index = k++; GetFacetBorders(aulAllFacets, rclBorders, true); } @@ -322,13 +331,13 @@ void MeshAlgorithm::GetFacetBorders (const std::vector &raulInd, std std::list > aulBorders; GetFacetBorders (raulInd, aulBorders, true); - for ( std::list >::iterator it = aulBorders.begin(); it != aulBorders.end(); ++it ) + for (const auto & border : aulBorders) { std::vector boundary; - boundary.reserve( it->size() ); + boundary.reserve( border.size() ); - for ( std::vector::iterator jt = it->begin(); jt != it->end(); ++jt ) - boundary.push_back(rclPAry[*jt]); + for (PointIndex jt : border) + boundary.push_back(rclPAry[jt]); rclBorders.push_back( boundary ); } @@ -342,13 +351,13 @@ void MeshAlgorithm::GetFacetBorders (const std::vector &raulInd, // mark all facets that are in the indices list ResetFacetFlag(MeshFacet::VISIT); - for (std::vector::const_iterator it = raulInd.begin(); it != raulInd.end(); ++it) - rclFAry[*it].SetFlag(MeshFacet::VISIT); + for (FacetIndex it : raulInd) + rclFAry[it].SetFlag(MeshFacet::VISIT); // collect all boundary edges (unsorted) std::list > aclEdges; - for (std::vector::const_iterator it = raulInd.begin(); it != raulInd.end(); ++it) { - const MeshFacet &rclFacet = rclFAry[*it]; + for (FacetIndex it : raulInd) { + const MeshFacet &rclFacet = rclFAry[it]; for (unsigned short i = 0; i < 3; i++) { FacetIndex ulNB = rclFacet._aulNeighbours[i]; if (ulNB != FACET_INDEX_MAX) { @@ -487,12 +496,12 @@ void MeshAlgorithm::GetFacetsBorders(const std::vector& uFacets, std if (openEdges.empty()) return; // none of the facets are border facets - for (MeshFacetArray::_TConstIterator it = rFAry.begin(); it != rFAry.end(); ++it) { - if (it->IsFlag(MeshFacet::TMP0)) + for (const auto & it : rFAry) { + if (it.IsFlag(MeshFacet::TMP0)) continue; for (int i = 0; i < 3; i++) { - if (it->_aulNeighbours[i] == FACET_INDEX_MAX) - openEdges.push_back(it->GetEdge(i)); + if (it._aulNeighbours[i] == FACET_INDEX_MAX) + openEdges.push_back(it.GetEdge(i)); } } @@ -554,33 +563,31 @@ void MeshAlgorithm::SplitBoundaryLoops( std::list >& aBo { // Count the number of open edges for each point std::map openPointDegree; - for (MeshFacetArray::_TConstIterator jt = _rclMesh._aclFacetArray.begin(); - jt != _rclMesh._aclFacetArray.end(); ++jt) { + for (const auto & jt : _rclMesh._aclFacetArray) { for (int i=0; i<3; i++) { - if (jt->_aulNeighbours[i] == FACET_INDEX_MAX) { - openPointDegree[jt->_aulPoints[i]]++; - openPointDegree[jt->_aulPoints[(i+1)%3]]++; + if (jt._aulNeighbours[i] == FACET_INDEX_MAX) { + openPointDegree[jt._aulPoints[i]]++; + openPointDegree[jt._aulPoints[(i+1)%3]]++; } } } // go through all boundaries and split them if needed std::list > aSplitBorders; - for (std::list >::iterator it = aBorders.begin(); - it != aBorders.end(); ++it) { + for (const auto & aBorder : aBorders) { bool split=false; - for (std::vector::iterator jt = it->begin(); jt != it->end(); ++jt) { + for (auto jt : aBorder) { // two (or more) boundaries meet in one non-manifold point - if (openPointDegree[*jt] > 2) { + if (openPointDegree[jt] > 2) { split = true; break; } } if (!split) - aSplitBorders.push_back( *it ); + aSplitBorders.push_back( aBorder ); else - SplitBoundaryLoops( *it, aSplitBorders ); + SplitBoundaryLoops( aBorder, aSplitBorders ); } aBorders = aSplitBorders; @@ -591,23 +598,23 @@ void MeshAlgorithm::SplitBoundaryLoops(const std::vector& rBound, { std::map aPtDegree; std::vector cBound; - for (std::vector::const_iterator it = rBound.begin(); it != rBound.end(); ++it) { - int deg = (aPtDegree[*it]++); + for (PointIndex it : rBound) { + int deg = (aPtDegree[it]++); if (deg > 0) { for (std::vector::iterator jt = cBound.begin(); jt != cBound.end(); ++jt) { - if (*jt == *it) { + if (*jt == it) { std::vector cBoundLoop; cBoundLoop.insert(cBoundLoop.end(), jt, cBound.end()); - cBoundLoop.push_back(*it); + cBoundLoop.push_back(it); cBound.erase(jt, cBound.end()); aBorders.push_back(cBoundLoop); - (aPtDegree[*it]--); + (aPtDegree[it]--); break; } } } - cBound.push_back(*it); + cBound.push_back(it); } } @@ -662,9 +669,9 @@ bool MeshAlgorithm::FillupHole(const std::vector& boundary, // add points to the polygon std::vector polygon; - for (std::vector::const_iterator jt = boundary.begin(); jt != boundary.end(); ++jt) { - polygon.push_back(_rclMesh._aclPointArray[*jt]); - rPoints.push_back(_rclMesh._aclPointArray[*jt]); + for (PointIndex jt : boundary) { + polygon.push_back(_rclMesh._aclPointArray[jt]); + rPoints.push_back(_rclMesh._aclPointArray[jt]); } // remove the last added point if it is duplicated @@ -684,8 +691,8 @@ bool MeshAlgorithm::FillupHole(const std::vector& boundary, std::vector surf_pts = cTria.GetPolygon(); if (pP2FStructure && level > 0) { std::set index = pP2FStructure->NeighbourPoints(boundary, level); - for (std::set::iterator it = index.begin(); it != index.end(); ++it) { - Base::Vector3f pt(_rclMesh._aclPointArray[*it]); + for (PointIndex it : index) { + Base::Vector3f pt(_rclMesh._aclPointArray[it]); surf_pts.push_back(pt); } } @@ -697,8 +704,8 @@ bool MeshAlgorithm::FillupHole(const std::vector& boundary, // get the facets and add the additional points to the array rFaces.insert(rFaces.end(), cTria.GetFacets().begin(), cTria.GetFacets().end()); std::vector newVertices = cTria.AddedPoints(); - for (std::vector::iterator pt = newVertices.begin(); pt != newVertices.end(); ++pt) { - rPoints.push_back((*pt)); + for (const auto & vertex : newVertices) { + rPoints.push_back(vertex); } // Unfortunately, some algorithms do not care about the orientation of the polygon so we cannot rely on the normal @@ -733,10 +740,10 @@ bool MeshAlgorithm::FillupHole(const std::vector& boundary, refPoint1 = 1; } if (ref_side < USHRT_MAX) { - for (std::vector::iterator it = faces.begin(); it != faces.end(); ++it) { - tri_side = it->Side(refPoint0, refPoint1); + for (const auto & face : faces) { + tri_side = face.Side(refPoint0, refPoint1); if (tri_side < USHRT_MAX) { - facet = *it; + facet = face; break; } } @@ -776,8 +783,8 @@ bool MeshAlgorithm::FillupHole(const std::vector& boundary, // we know to have filled a polygon, now check for the orientation if (verifier->MustFlip(triangle.GetNormal(), rTriangle.GetNormal())) { - for (MeshFacetArray::_TIterator it = rFaces.begin(); it != rFaces.end(); ++it) - it->FlipNormal(); + for (auto & rFace : rFaces) + rFace.FlipNormal(); } #endif @@ -799,14 +806,14 @@ void MeshAlgorithm::SetFacetsProperty(const std::vector &raulInds, c void MeshAlgorithm::SetFacetsFlag (const std::vector &raulInds, MeshFacet::TFlagType tF) const { - for (std::vector::const_iterator i = raulInds.begin(); i != raulInds.end(); ++i) - _rclMesh._aclFacetArray[*i].SetFlag(tF); + for (FacetIndex it : raulInds) + _rclMesh._aclFacetArray[it].SetFlag(tF); } void MeshAlgorithm::SetPointsFlag (const std::vector &raulInds, MeshPoint::TFlagType tF) const { - for (std::vector::const_iterator i = raulInds.begin(); i != raulInds.end(); ++i) - _rclMesh._aclPointArray[*i].SetFlag(tF); + for (PointIndex it : raulInds) + _rclMesh._aclPointArray[it].SetFlag(tF); } void MeshAlgorithm::GetFacetsFlag (std::vector &raulInds, MeshFacet::TFlagType tF) const @@ -833,14 +840,14 @@ void MeshAlgorithm::GetPointsFlag (std::vector &raulInds, MeshPoint: void MeshAlgorithm::ResetFacetsFlag (const std::vector &raulInds, MeshFacet::TFlagType tF) const { - for (std::vector::const_iterator i = raulInds.begin(); i != raulInds.end(); ++i) - _rclMesh._aclFacetArray[*i].ResetFlag(tF); + for (FacetIndex it : raulInds) + _rclMesh._aclFacetArray[it].ResetFlag(tF); } void MeshAlgorithm::ResetPointsFlag (const std::vector &raulInds, MeshPoint::TFlagType tF) const { - for (std::vector::const_iterator i = raulInds.begin(); i != raulInds.end(); ++i) - _rclMesh._aclPointArray[*i].ResetFlag(tF); + for (PointIndex it : raulInds) + _rclMesh._aclPointArray[it].ResetFlag(tF); } void MeshAlgorithm::SetFacetFlag (MeshFacet::TFlagType tF) const @@ -890,19 +897,19 @@ void MeshAlgorithm::GetFacetsFromToolMesh( const MeshKernel& rToolMesh, const Ba Base::Vector3f tmp; for (cFIt.Init(); cFIt.More(); cFIt.Next()) { // check each point of each facet - for (int i=0; i<3; i++) { + for (const auto& pnt : cFIt->_aclPoints) { // at least the point must be inside the bounding box of the tool mesh - if (cBB.IsInBox( cFIt->_aclPoints[i])) { + if (cBB.IsInBox( pnt)) { // should not cause performance problems since the tool mesh is usually rather lightweight int ct=0; for (cTIt.Init(); cTIt.More(); cTIt.Next()) { - if (cTIt->IsPointOfFace( cFIt->_aclPoints[i], MeshPoint::epsilon())) { + if (cTIt->IsPointOfFace( pnt, MeshPoint::epsilon())) { ct=1; break; // the point lies on the tool mesh } - else if (cTIt->Foraminate( cFIt->_aclPoints[i], rcDir, tmp)) { + else if (cTIt->Foraminate( pnt, rcDir, tmp)) { // check if the intersection point lies in direction rcDir of the considered point - if ((tmp - cFIt->_aclPoints[i]) * rcDir > 0) + if ((tmp - pnt) * rcDir > 0) ct++; } } @@ -969,23 +976,23 @@ void MeshAlgorithm::GetFacetsFromToolMesh(const MeshKernel& rToolMesh, const Bas Base::SequencerLauncher seq("Check facets...", aulInds.size()); // check all facets - for (std::vector::iterator it = aulInds.begin(); it != aulInds.end(); ++it) { - cFIt.Set(*it); + for (FacetIndex it : aulInds) { + cFIt.Set(it); // check each point of each facet - for (int i=0; i<3; i++) { + for (auto point : cFIt->_aclPoints) { // at least the point must be inside the bounding box of the tool mesh - if (cBB.IsInBox(cFIt->_aclPoints[i])) { + if (cBB.IsInBox(point)) { // should not cause performance problems since the tool mesh is usually rather lightweight int ct=0; for (cTIt.Init(); cTIt.More(); cTIt.Next()) { - if (cTIt->IsPointOfFace(cFIt->_aclPoints[i], MeshPoint::epsilon())) { + if (cTIt->IsPointOfFace(point, MeshPoint::epsilon())) { ct=1; break; // the point lies on the tool mesh } - else if (cTIt->Foraminate(cFIt->_aclPoints[i], rcDir, tmp)) { + else if (cTIt->Foraminate(point, rcDir, tmp)) { // check if the intersection point lies in direction rcDir of the considered point - if ((tmp - cFIt->_aclPoints[i]) * rcDir > 0) + if ((tmp - point) * rcDir > 0) ct++; } } @@ -1041,9 +1048,9 @@ int MeshAlgorithm::Surround(const Base::BoundBox3f& rBox, const Base::Vector3f& } // check for intersections of the box with the mesh - for (std::vector::iterator it = cFacet.begin(); it != cFacet.end(); ++it) { + for (const auto & it : cFacet) { for (cTIt.Init(); cTIt.More(); cTIt.Next()) { - int ret = cTIt->IntersectWithFacet(*it,pt1, pt2); + int ret = cTIt->IntersectWithFacet(it,pt1, pt2); // the box intersects the mesh? if (ret != 0) @@ -1114,8 +1121,8 @@ void MeshAlgorithm::CheckFacets(const MeshFacetGrid& rclGrid, const Base::ViewPr bNoPointInside = true; clGravityOfFacet.Set(0.0f, 0.0f, 0.0f); MeshGeomFacet rclFacet = _rclMesh.GetFacet(*it); - for (int j=0; j<3; j++) { - clPt2d = fixedProj(rclFacet._aclPoints[j]); + for (const auto & pnt : rclFacet._aclPoints) { + clPt2d = fixedProj(pnt); clGravityOfFacet += clPt2d; if (clPolyBBox.Contains(Base::Vector2d(clPt2d.x, clPt2d.y)) && rclPoly.Contains(Base::Vector2d(clPt2d.x, clPt2d.y))) { @@ -1141,8 +1148,8 @@ void MeshAlgorithm::CheckFacets(const MeshFacetGrid& rclGrid, const Base::ViewPr else { Base::SequencerLauncher seq("Check facets", _rclMesh.CountFacets()); for (clIter.Init(); clIter.More(); clIter.Next()) { - for (int j=0; j<3; j++) { - clPt2d = fixedProj(clIter->_aclPoints[j]); + for (const auto& pnt : clIter->_aclPoints) { + clPt2d = fixedProj(pnt); if ((clPolyBBox.Contains(Base::Vector2d(clPt2d.x, clPt2d.y)) && !rclPoly.Contains(Base::Vector2d(clPt2d.x, clPt2d.y)))) { raulFacets.push_back(clIter.Position()); @@ -1167,8 +1174,8 @@ void MeshAlgorithm::CheckFacets(const Base::ViewProjMethod* pclProj, const Base: FacetIndex index=0; for (MeshFacetArray::_TConstIterator it = f.begin(); it != f.end(); ++it,++index) { - for (int i = 0; i < 3; i++) { - pt2d = fixedProj(p[it->_aulPoints[i]]); + for (PointIndex ptIndex : it->_aulPoints) { + pt2d = fixedProj(p[ptIndex]); // First check whether the point is in the bounding box of the polygon if ((bb.Contains(Base::Vector2d(pt2d.x, pt2d.y)) && @@ -1260,10 +1267,10 @@ void MeshAlgorithm::CutBorderFacets (std::vector &raclFacetIndices, std::vector aclResult; std::set aclTmp(aclToDelete.begin(), aclToDelete.end()); - for (std::vector::iterator pI = raclFacetIndices.begin(); pI != raclFacetIndices.end(); ++pI) + for (FacetIndex facetIndex : raclFacetIndices) { - if (aclTmp.find(*pI) == aclTmp.end()) - aclResult.push_back(*pI); + if (aclTmp.find(facetIndex) == aclTmp.end()) + aclResult.push_back(facetIndex); } raclFacetIndices = aclResult; @@ -1275,8 +1282,8 @@ unsigned long MeshAlgorithm::CountBorderEdges() const const MeshFacetArray &rclFAry = _rclMesh._aclFacetArray; MeshFacetArray::_TConstIterator end = rclFAry.end(); for (MeshFacetArray::_TConstIterator it = rclFAry.begin(); it != end; ++it) { - for (int i=0; i<3; i++) { - if (it->_aulNeighbours[i] == FACET_INDEX_MAX) + for (FacetIndex facetIndex : it->_aulNeighbours) { + if (facetIndex == FACET_INDEX_MAX) cnt++; } } @@ -1293,21 +1300,20 @@ void MeshAlgorithm::CheckBorderFacets (const std::vector &raclFacetI for (unsigned short usL = 0; usL < usLevel; usL++) { - for (std::vector::const_iterator pF = raclFacetIndices.begin(); pF != raclFacetIndices.end(); ++pF) + for (FacetIndex facetIndex : raclFacetIndices) { - for (int i = 0; i < 3; i++) + for (FacetIndex ulNB : rclFAry[facetIndex]._aulNeighbours) { - FacetIndex ulNB = rclFAry[*pF]._aulNeighbours[i]; if (ulNB == FACET_INDEX_MAX) { - raclResultIndices.push_back(*pF); - rclFAry[*pF].ResetFlag(MeshFacet::TMP0); + raclResultIndices.push_back(facetIndex); + rclFAry[facetIndex].ResetFlag(MeshFacet::TMP0); continue; } if (!rclFAry[ulNB].IsFlag(MeshFacet::TMP0)) { - raclResultIndices.push_back(*pF); - rclFAry[*pF].ResetFlag(MeshFacet::TMP0); + raclResultIndices.push_back(facetIndex); + rclFAry[facetIndex].ResetFlag(MeshFacet::TMP0); continue; } } @@ -1322,11 +1328,11 @@ void MeshAlgorithm::GetBorderPoints (const std::vector &raclFacetInd const MeshFacetArray &rclFAry = _rclMesh._aclFacetArray; - for (std::vector::const_iterator pF = raclFacetIndices.begin(); pF != raclFacetIndices.end(); ++pF) + for (FacetIndex facetIndex : raclFacetIndices) { for (int i = 0; i < 3; i++) { - const MeshFacet &rclFacet = rclFAry[*pF]; + const MeshFacet &rclFacet = rclFAry[facetIndex]; FacetIndex ulNB = rclFacet._aulNeighbours[i]; if (ulNB == FACET_INDEX_MAX) { @@ -1422,10 +1428,10 @@ bool MeshAlgorithm::CutWithPlane (const Base::Vector3f &clBase, const Base::Vect // intersect all facets with plane std::list > clTempPoly; // Field with intersection lines (unsorted, not chained) - for (std::vector::iterator pF = aulFacets.begin(); pF != aulFacets.end(); ++pF) + for (FacetIndex facetIndex : aulFacets) { Base::Vector3f clE1, clE2; - const MeshGeomFacet clF(_rclMesh.GetFacet(*pF)); + const MeshGeomFacet clF(_rclMesh.GetFacet(facetIndex)); // Cut the facet and store the cutting path if (clF.IntersectWithPlane(clBase, clNormal, clE1, clE2)) @@ -1440,9 +1446,9 @@ bool MeshAlgorithm::CutWithPlane (const Base::Vector3f &clBase, const Base::Vect ConnectLines(clTempPoly, tempList, fMinEps); ConnectPolygons(tempList, clTempPoly); - for(std::list >::iterator iter = clTempPoly.begin(); iter != clTempPoly.end(); ++iter) + for(auto & iter : clTempPoly) { - rclResultLines.push_front(*iter); + rclResultLines.push_front(iter); } return ConnectLines(rclResultLines, rclResult, fMinEps); @@ -1468,8 +1474,8 @@ bool MeshAlgorithm::ConnectLines (std::list::iterator pI = _clToDelete.begin(); pI != _clToDelete.end(); ++pI) - rclLines.erase(*pI); + for (auto & pI : _clToDelete) + rclLines.erase(pI); while (!rclLines.empty()) { TCIter pF; @@ -1561,8 +1567,8 @@ bool MeshAlgorithm::ConnectLines (std::list::iterator pK = _clPolyToDelete.begin(); pK != _clPolyToDelete.end(); ++pK) - rclPolylines.erase(*pK); + for (auto & pK : _clPolyToDelete) + rclPolylines.erase(pK); return true; } @@ -1620,8 +1626,8 @@ void MeshAlgorithm::GetFacetsFromPlane (const MeshFacetGrid &rclGrid, const Base } // testing facet against planes - for (std::vector::iterator pI = aulFacets.begin(); pI != aulFacets.end(); ++pI) { - MeshGeomFacet clSFacet = _rclMesh.GetFacet(*pI); + for (FacetIndex facetIndex : aulFacets) { + MeshGeomFacet clSFacet = _rclMesh.GetFacet(facetIndex); if (clSFacet.IntersectWithPlane(clBase, clNormal)) { bool bInner = false; for (int i = 0; (i < 3) && !bInner; i++) { @@ -1631,7 +1637,7 @@ void MeshAlgorithm::GetFacetsFromPlane (const MeshFacetGrid &rclGrid, const Base } if (bInner) - rclRes.push_back(*pI); + rclRes.push_back(facetIndex); } } } @@ -1643,15 +1649,15 @@ void MeshAlgorithm::PointsFromFacetsIndices (const std::vector &rvec std::set setPoints; - for (std::vector::const_iterator itI = rvecIndices.begin(); itI != rvecIndices.end(); ++itI) + for (FacetIndex facetIndex : rvecIndices) { - for (int i = 0; i < 3; i++) - setPoints.insert(rclFAry[*itI]._aulPoints[i]); + for (PointIndex pointIndex : rclFAry[facetIndex]._aulPoints) + setPoints.insert(pointIndex); } rvecPoints.clear(); - for (std::set::iterator itP = setPoints.begin(); itP != setPoints.end(); ++itP) - rvecPoints.push_back(rclPAry[*itP]); + for (PointIndex pointIndex : setPoints) + rvecPoints.push_back(rclPAry[pointIndex]); } bool MeshAlgorithm::Distance (const Base::Vector3f &rclPt, FacetIndex ulFacetIdx, float fMaxDistance, float &rfDistance) const @@ -1707,8 +1713,8 @@ Base::Vector3f MeshRefPointToFacets::GetNormal(PointIndex pos) const const std::set& n = _map[pos]; Base::Vector3f normal; MeshGeomFacet f; - for (std::set::const_iterator it = n.begin(); it != n.end(); ++it) { - f = _rclMesh.GetFacet(*it); + for (FacetIndex it : n) { + f = _rclMesh.GetFacet(it); normal += f.Area() * f.GetNormal(); } @@ -1724,11 +1730,10 @@ std::set MeshRefPointToFacets::NeighbourPoints(const std::vector cur; - for (std::set::iterator it = lp.begin(); it != lp.end(); ++it) { - const std::set& ft = (*this)[*it]; - for (std::set::const_iterator jt = ft.begin(); jt != ft.end(); ++jt) { - for (int j = 0; j < 3; j++) { - PointIndex index = f_it[*jt]._aulPoints[j]; + for (PointIndex it : lp) { + const std::set& ft = (*this)[it]; + for (FacetIndex jt : ft) { + for (PointIndex index : f_it[jt]._aulPoints) { if (cp.find(index) == cp.end() && nb.find(index) == nb.end()) { nb.insert(index); cur.insert(index); @@ -1748,9 +1753,9 @@ std::set MeshRefPointToFacets::NeighbourPoints(PointIndex pos) const { std::set p; const std::set& vf = _map[pos]; - for (std::set::const_iterator it = vf.begin(); it != vf.end(); ++it) { - PointIndex p1, p2, p3; - _rclMesh.GetFacetPoints(*it, p1, p2, p3); + for (FacetIndex it : vf) { + PointIndex p1{}, p2{}, p3{}; + _rclMesh.GetFacetPoints(it, p1, p2, p3); if (p1 != pos) p.insert(p1); if (p2 != pos) @@ -1783,11 +1788,11 @@ void MeshRefPointToFacets::SearchNeighbours(const MeshFacetArray& rFacets, Facet visited.insert(index); collect.Append(_rclMesh, index); - for (int i = 0; i < 3; i++) { - const std::set &f = (*this)[face._aulPoints[i]]; + for (PointIndex ptIndex : face._aulPoints) { + const std::set &f = (*this)[ptIndex]; - for (std::set::const_iterator j = f.begin(); j != f.end(); ++j) { - SearchNeighbours(rFacets, *j, rclCenter, fMaxDist2, visited, collect); + for (FacetIndex j : f) { + SearchNeighbours(rFacets, j, rclCenter, fMaxDist2, visited, collect); } } } @@ -1858,10 +1863,10 @@ void MeshRefFacetToFacets::Rebuild () MeshRefPointToFacets vertexFace(_rclMesh); MeshFacetArray::_TConstIterator pFBegin = rFacets.begin(); for (MeshFacetArray::_TConstIterator pFIter = pFBegin; pFIter != rFacets.end(); ++pFIter) { - for (int i = 0; i < 3; i++) { - const std::set& faces = vertexFace[pFIter->_aulPoints[i]]; - for (std::set::const_iterator it = faces.begin(); it != faces.end(); ++it) - _map[pFIter - pFBegin].insert(*it); + for (PointIndex ptIndex : pFIter->_aulPoints) { + const std::set& faces = vertexFace[ptIndex]; + for (FacetIndex face : faces) + _map[pFIter - pFBegin].insert(face); } } } @@ -1893,10 +1898,10 @@ void MeshRefPointToPoints::Rebuild () _map.resize(rPoints.size()); const MeshFacetArray& rFacets = _rclMesh.GetFacets(); - for (MeshFacetArray::_TConstIterator pFIter = rFacets.begin(); pFIter != rFacets.end(); ++pFIter) { - PointIndex ulP0 = pFIter->_aulPoints[0]; - PointIndex ulP1 = pFIter->_aulPoints[1]; - PointIndex ulP2 = pFIter->_aulPoints[2]; + for (const auto & rFacet : rFacets) { + PointIndex ulP0 = rFacet._aulPoints[0]; + PointIndex ulP1 = rFacet._aulPoints[1]; + PointIndex ulP2 = rFacet._aulPoints[2]; _map[ulP0].insert(ulP1); _map[ulP0].insert(ulP2); @@ -1914,9 +1919,9 @@ Base::Vector3f MeshRefPointToPoints::GetNormal(PointIndex pos) const pf.AddPoint(rPoints[pos]); MeshCore::MeshPoint center = rPoints[pos]; const std::set& cv = _map[pos]; - for (std::set::const_iterator cv_it = cv.begin(); cv_it !=cv.end(); ++cv_it) { - pf.AddPoint(rPoints[*cv_it]); - center += rPoints[*cv_it]; + for (PointIndex cv_it : cv) { + pf.AddPoint(rPoints[cv_it]); + center += rPoints[cv_it]; } pf.Fit(); @@ -1932,8 +1937,8 @@ float MeshRefPointToPoints::GetAverageEdgeLength(PointIndex index) const float len=0.0f; const std::set& n = (*this)[index]; const Base::Vector3f& p = rPoints[index]; - for (std::set::const_iterator it = n.begin(); it != n.end(); ++it) { - len += Base::Distance(p, rPoints[*it]); + for (PointIndex it : n) { + len += Base::Distance(p, rPoints[it]); } return (len/n.size()); } @@ -1996,21 +2001,21 @@ void MeshRefNormalToPoints::Rebuild () _norm.resize(rPoints.size()); const MeshFacetArray& rFacets = _rclMesh.GetFacets(); - for (MeshFacetArray::_TConstIterator pF = rFacets.begin(); pF != rFacets.end(); ++pF) { - const MeshPoint &p0 = rPoints[pF->_aulPoints[0]]; - const MeshPoint &p1 = rPoints[pF->_aulPoints[1]]; - const MeshPoint &p2 = rPoints[pF->_aulPoints[2]]; + for (const auto & rFacet : rFacets) { + const MeshPoint &p0 = rPoints[rFacet._aulPoints[0]]; + const MeshPoint &p1 = rPoints[rFacet._aulPoints[1]]; + const MeshPoint &p2 = rPoints[rFacet._aulPoints[2]]; float l2p01 = Base::DistanceP2(p0,p1); float l2p12 = Base::DistanceP2(p1,p2); float l2p20 = Base::DistanceP2(p2,p0); - Base::Vector3f facenormal = _rclMesh.GetFacet(*pF).GetNormal(); - _norm[pF->_aulPoints[0]] += facenormal * (1.0f / (l2p01 * l2p20)); - _norm[pF->_aulPoints[1]] += facenormal * (1.0f / (l2p12 * l2p01)); - _norm[pF->_aulPoints[2]] += facenormal * (1.0f / (l2p20 * l2p12)); + Base::Vector3f facenormal = _rclMesh.GetFacet(rFacet).GetNormal(); + _norm[rFacet._aulPoints[0]] += facenormal * (1.0f / (l2p01 * l2p20)); + _norm[rFacet._aulPoints[1]] += facenormal * (1.0f / (l2p12 * l2p01)); + _norm[rFacet._aulPoints[2]] += facenormal * (1.0f / (l2p20 * l2p12)); } - for (std::vector::iterator it = _norm.begin(); it != _norm.end(); ++it) - it->Normalize(); + for (auto & it : _norm) + it.Normalize(); } const Base::Vector3f& diff --git a/src/Mod/Mesh/App/Core/Algorithm.h b/src/Mod/Mesh/App/Core/Algorithm.h index 0cc8a63ac6..3cf7030c56 100644 --- a/src/Mod/Mesh/App/Core/Algorithm.h +++ b/src/Mod/Mesh/App/Core/Algorithm.h @@ -54,10 +54,7 @@ class AbstractPolygonTriangulator; class MeshExport MeshAlgorithm { public: - /// Construction explicit MeshAlgorithm (const MeshKernel &rclM) : _rclMesh(rclM) { } - /// Destruction - ~MeshAlgorithm () { } public: /** @@ -344,8 +341,8 @@ protected: class MeshExport MeshCollector { public: - MeshCollector(){} - virtual ~MeshCollector(){} + MeshCollector() = default; + virtual ~MeshCollector() = default; virtual void Append(const MeshCore::MeshKernel&, FacetIndex index) = 0; }; @@ -353,7 +350,6 @@ class MeshExport PointCollector : public MeshCollector { public: explicit PointCollector(std::vector& ind) : indices(ind){} - ~PointCollector() override{} void Append(const MeshCore::MeshKernel& kernel, FacetIndex index) override { PointIndex ulP1, ulP2, ulP3; @@ -371,7 +367,6 @@ class MeshExport FacetCollector : public MeshCollector { public: explicit FacetCollector(std::vector& ind) : indices(ind){} - ~FacetCollector() override{} void Append(const MeshCore::MeshKernel&, FacetIndex index) override { indices.push_back(index); @@ -393,9 +388,6 @@ public: /// Construction explicit MeshRefPointToFacets (const MeshKernel &rclM) : _rclMesh(rclM) { Rebuild(); } - /// Destruction - ~MeshRefPointToFacets () - { } /// Rebuilds up data structure void Rebuild (); @@ -432,9 +424,6 @@ public: /// Construction explicit MeshRefFacetToFacets (const MeshKernel &rclM) : _rclMesh(rclM) { Rebuild(); } - /// Destruction - ~MeshRefFacetToFacets () - { } /// Rebuilds up data structure void Rebuild (); @@ -461,9 +450,6 @@ public: /// Construction explicit MeshRefPointToPoints (const MeshKernel &rclM) : _rclMesh(rclM) { Rebuild(); } - /// Destruction - ~MeshRefPointToPoints () - { } /// Rebuilds up data structure void Rebuild (); @@ -490,9 +476,6 @@ public: /// Construction explicit MeshRefEdgeToFacets (const MeshKernel &rclM) : _rclMesh(rclM) { Rebuild(); } - /// Destruction - ~MeshRefEdgeToFacets () - { } /// Rebuilds up data structure void Rebuild (); @@ -529,9 +512,6 @@ public: /// Construction explicit MeshRefNormalToPoints (const MeshKernel &rclM) : _rclMesh(rclM) { Rebuild(); } - /// Destruction - ~MeshRefNormalToPoints () - { } /// Rebuilds up data structure void Rebuild (); diff --git a/src/Mod/Mesh/App/Core/Approximation.cpp b/src/Mod/Mesh/App/Core/Approximation.cpp index e4f37db717..e1b73e66e1 100644 --- a/src/Mod/Mesh/App/Core/Approximation.cpp +++ b/src/Mod/Mesh/App/Core/Approximation.cpp @@ -51,10 +51,7 @@ using namespace MeshCore; -Approximation::Approximation() - : _bIsFitted(false), _fLastResult(FLOAT_MAX) -{ -} +Approximation::Approximation() = default; Approximation::~Approximation() { @@ -104,8 +101,8 @@ Base::Vector3f Approximation::GetGravity() const { Base::Vector3f clGravity; if (!_vPoints.empty()) { - for (std::list::const_iterator it = _vPoints.begin(); it!=_vPoints.end(); ++it) - clGravity += *it; + for (const auto& vPoint : _vPoints) + clGravity += vPoint; clGravity *= 1.0f / float(_vPoints.size()); } return clGravity; @@ -142,10 +139,6 @@ PlaneFit::PlaneFit() { } -PlaneFit::~PlaneFit() -{ -} - float PlaneFit::Fit() { _bIsFitted = true; @@ -155,11 +148,11 @@ float PlaneFit::Fit() double sxx,sxy,sxz,syy,syz,szz,mx,my,mz; sxx=sxy=sxz=syy=syz=szz=mx=my=mz=0.0; - for (std::list::iterator it = _vPoints.begin(); it!=_vPoints.end(); ++it) { - sxx += double(it->x * it->x); sxy += double(it->x * it->y); - sxz += double(it->x * it->z); syy += double(it->y * it->y); - syz += double(it->y * it->z); szz += double(it->z * it->z); - mx += double(it->x); my += double(it->y); mz += double(it->z); + for (const auto & vPoint : _vPoints) { + sxx += double(vPoint.x * vPoint.x); sxy += double(vPoint.x * vPoint.y); + sxz += double(vPoint.x * vPoint.z); syy += double(vPoint.y * vPoint.y); + syz += double(vPoint.y * vPoint.z); szz += double(vPoint.z * vPoint.z); + mx += double(vPoint.x); my += double(vPoint.y); mz += double(vPoint.z); } size_t nSize = _vPoints.size(); @@ -377,8 +370,7 @@ void PlaneFit::ProjectToPlane () Base::Vector3f cGravity(GetGravity()); Base::Vector3f cNormal (GetNormal ()); - for (std::list< Base::Vector3f >::iterator it = _vPoints.begin(); it != _vPoints.end(); ++it) { - Base::Vector3f& cPnt = *it; + for (auto & cPnt : _vPoints) { float fD = (cPnt - cGravity) * cNormal; cPnt = cPnt - fD * cNormal; } @@ -412,10 +404,10 @@ std::vector PlaneFit::GetLocalPoints() const //Base::Vector3d ez = Base::convertTo(this->_vDirW); localPoints.insert(localPoints.begin(), _vPoints.begin(), _vPoints.end()); - for (std::vector::iterator it = localPoints.begin(); it != localPoints.end(); ++it) { - Base::Vector3d clPoint = Base::convertTo(*it); + for (auto & localPoint : localPoints) { + Base::Vector3d clPoint = Base::convertTo(localPoint); clPoint.TransformToCoordinateSystem(bs, ex, ey); - it->Set(static_cast(clPoint.x), static_cast(clPoint.y), static_cast(clPoint.z)); + localPoint.Set(static_cast(clPoint.x), static_cast(clPoint.y), static_cast(clPoint.z)); } } @@ -572,18 +564,8 @@ void QuadraticFit::CalcZValues( double x, double y, double &dZ1, double &dZ2 ) c // ------------------------------------------------------------------------------- SurfaceFit::SurfaceFit() - : PlaneFit() + : _fCoeff{} { - _fCoeff[0] = 0.0; - _fCoeff[1] = 0.0; - _fCoeff[2] = 0.0; - _fCoeff[3] = 0.0; - _fCoeff[4] = 0.0; - _fCoeff[5] = 0.0; - _fCoeff[6] = 0.0; - _fCoeff[7] = 0.0; - _fCoeff[8] = 0.0; - _fCoeff[9] = 0.0; } float SurfaceFit::Fit() @@ -774,9 +756,9 @@ double SurfaceFit::PolynomFit() // Get S(P) = sum[(P*Vi)^2 - 2*(P*Vi)*zi + zi^2] double sigma = 0; FunctionContainer clFuncCont(_fCoeff); - for (std::vector::const_iterator it = transform.begin(); it != transform.end(); ++it) { - double u = it->x; - double v = it->y; + for (const auto & it : transform) { + double u = it.x; + double v = it.y; double z = clFuncCont.F(u, v, 0.0); sigma += z*z; } @@ -1034,12 +1016,6 @@ struct LMCylinderFunctor CylinderFit::CylinderFit() : _vBase(0,0,0) , _vAxis(0,0,1) - , _fRadius(0) - , _initialGuess(false) -{ -} - -CylinderFit::~CylinderFit() { } @@ -1082,10 +1058,10 @@ Base::Vector3f CylinderFit::GetInitialAxisFromNormals(const std::vector::const_iterator it = n.begin(); it != n.end(); ++it) { - sxx += double(it->x * it->x); sxy += double(it->x * it->y); - sxz += double(it->x * it->z); syy += double(it->y * it->y); - syz += double(it->y * it->z); szz += double(it->z * it->z); + for (auto it : n) { + sxx += double(it.x * it.x); sxy += double(it.x * it.y); + sxz += double(it.x * it.z); syy += double(it.y * it.y); + syz += double(it.y * it.z); szz += double(it.z * it.z); } Eigen::Matrix3d covMat = Eigen::Matrix3d::Zero(); @@ -1272,8 +1248,7 @@ void CylinderFit::ProjectToCylinder() Base::Vector3f cBase(GetBase()); Base::Vector3f cAxis(GetAxis()); - for (std::list< Base::Vector3f >::iterator it = _vPoints.begin(); it != _vPoints.end(); ++it) { - Base::Vector3f& cPnt = *it; + for (auto & cPnt : _vPoints) { if (cPnt.DistanceToLine(cBase, cAxis) > 0) { Base::Vector3f proj; cBase.ProjectToPlane(cPnt, cAxis, proj); @@ -1306,15 +1281,9 @@ void CylinderFit::ProjectToCylinder() SphereFit::SphereFit() : _vCenter(0,0,0) - , _fRadius(0) { } -SphereFit::~SphereFit() -{ - -} - float SphereFit::GetRadius() const { if (_bIsFitted) @@ -1408,9 +1377,7 @@ float SphereFit::GetStdDeviation() const void SphereFit::ProjectToSphere() { - for (std::list< Base::Vector3f >::iterator it = _vPoints.begin(); it != _vPoints.end(); ++it) { - Base::Vector3f& cPnt = *it; - + for (auto & cPnt : _vPoints) { // Compute unit vector from sphere centre to point. // Because this vector is orthogonal to the sphere's surface at the // intersection point we can easily compute the projection point on the @@ -1434,12 +1401,7 @@ void SphereFit::ProjectToSphere() // ------------------------------------------------------------------------------- PolynomialFit::PolynomialFit() -{ - for (int i=0; i<9; i++) - _fCoeff[i] = 0.0f; -} - -PolynomialFit::~PolynomialFit() + : _fCoeff{} { } diff --git a/src/Mod/Mesh/App/Core/Approximation.h b/src/Mod/Mesh/App/Core/Approximation.h index 974eef92ba..a7e3ac60e3 100644 --- a/src/Mod/Mesh/App/Core/Approximation.h +++ b/src/Mod/Mesh/App/Core/Approximation.h @@ -53,10 +53,8 @@ public: explicit PolynomialSurface (const Real afCoeff[6]) { for (int i=0; i<6; i++) m_afCoeff[i] = afCoeff[i]; } - virtual ~PolynomialSurface () {} - // the function - virtual Real F (const Vector3& rkP) const + Real F (const Vector3& rkP) const override { return ( m_afCoeff[0]*rkP.X()*rkP.X() + m_afCoeff[1]*rkP.Y()*rkP.Y() + @@ -67,25 +65,25 @@ public: } // first-order partial derivatives - virtual Real FX (const Vector3& rkP) const + Real FX (const Vector3& rkP) const override { return (Real)(2.0*m_afCoeff[0]*rkP.X() + m_afCoeff[2] + m_afCoeff[4]*rkP.Y()); } - virtual Real FY (const Vector3& rkP) const + Real FY (const Vector3& rkP) const override { return (Real)(2.0*m_afCoeff[1]*rkP.Y() + m_afCoeff[3] + m_afCoeff[4]*rkP.X()); } - virtual Real FZ (const Vector3& /*rkP*/) const + Real FZ (const Vector3& /*rkP*/) const override { return (Real)-1.0; } // second-order partial derivatives - virtual Real FXX (const Vector3& /*rkP*/) const + Real FXX (const Vector3& /*rkP*/) const override { return (Real)(2.0*m_afCoeff[0]); } - virtual Real FXY (const Vector3& /*rkP*/) const + Real FXY (const Vector3& /*rkP*/) const override { return (Real)(m_afCoeff[4]); } - virtual Real FXZ (const Vector3& /*rkP*/) const + Real FXZ (const Vector3& /*rkP*/) const override { return (Real)0.0; } - virtual Real FYY (const Vector3& /*rkP*/) const + Real FYY (const Vector3& /*rkP*/) const override { return (Real)(2.0*m_afCoeff[1]); } - virtual Real FYZ (const Vector3& /*rkP*/) const + Real FYZ (const Vector3& /*rkP*/) const override { return (Real)0.0; } - virtual Real FZZ (const Vector3& /*rkP*/) const + Real FZZ (const Vector3& /*rkP*/) const override { return (Real)0.0; } protected: @@ -171,9 +169,11 @@ protected: void GetMgcVectorArray( std::vector< Wm4::Vector3 >& rcPts ) const; protected: + //NOLINTBEGIN std::list< Base::Vector3f > _vPoints; /**< Holds the points for the fit algorithm. */ - bool _bIsFitted; /**< Flag, whether the fit has been called. */ - float _fLastResult; /**< Stores the last result of the fit */ + bool _bIsFitted{false}; /**< Flag, whether the fit has been called. */ + float _fLastResult{FLOAT_MAX}; /**< Stores the last result of the fit */ + //NOLINTEND }; // ------------------------------------------------------------------------------- @@ -184,14 +184,7 @@ protected: class MeshExport PlaneFit : public Approximation { public: - /** - * Construction - */ PlaneFit(); - /** - * Destruction - */ - ~PlaneFit() override; Base::Vector3f GetBase() const; Base::Vector3f GetDirU() const; Base::Vector3f GetDirV() const; @@ -242,10 +235,12 @@ public: Base::BoundBox3f GetBoundings() const; protected: + //NOLINTBEGIN Base::Vector3f _vBase; /**< Base vector of the plane. */ Base::Vector3f _vDirU; Base::Vector3f _vDirV; Base::Vector3f _vDirW; /**< Normal of the plane. */ + //NOLINTEND }; // ------------------------------------------------------------------------------- @@ -262,16 +257,7 @@ protected: class MeshExport QuadraticFit : public Approximation { public: - /** - * Construction - */ - QuadraticFit() : Approximation() { - std::fill(_fCoeff, _fCoeff+10, 0.0); - } - /** - * Destruction - */ - ~QuadraticFit() override{} + QuadraticFit() = default; /** * Get the quadric coefficients * @param ulIndex Number of coefficient (0..9) @@ -321,8 +307,8 @@ public: void CalcEigenValues(double &dLambda1, double &dLambda2, double &dLambda3, Base::Vector3f &clEV1, Base::Vector3f &clEV2, Base::Vector3f &clEV3) const; -protected: - double _fCoeff[ 10 ]; /**< Coefficients of the fit */ +private: + double _fCoeff[ 10 ]{}; /**< Coefficients of the fit */ }; // ------------------------------------------------------------------------------- @@ -339,14 +325,7 @@ protected: class MeshExport SurfaceFit : public PlaneFit { public: - /** - * Construction - */ SurfaceFit(); - /** - * Destruction - */ - ~SurfaceFit() override{} bool GetCurvatureInfo(double x, double y, double z, double &rfCurv0, double &rfCurv1, Base::Vector3f &rkDir0, Base::Vector3f &rkDir1, double &dDistance); @@ -383,14 +362,7 @@ protected: class MeshExport CylinderFit : public Approximation { public: - /** - * Construction - */ CylinderFit(); - /** - * Destruction - */ - ~CylinderFit() override; float GetRadius() const; Base::Vector3f GetBase() const; void SetInitialValues(const Base::Vector3f&, const Base::Vector3f&); @@ -430,8 +402,8 @@ public: protected: Base::Vector3f _vBase; /**< Base vector of the cylinder. */ Base::Vector3f _vAxis; /**< Axis of the cylinder. */ - float _fRadius; /**< Radius of the cylinder. */ - bool _initialGuess; + float _fRadius{0}; /**< Radius of the cylinder. */ + bool _initialGuess{false}; }; // ------------------------------------------------------------------------------- @@ -442,14 +414,7 @@ protected: class MeshExport SphereFit : public Approximation { public: - /** - * Construction - */ SphereFit(); - /** - * Destruction - */ - ~SphereFit() override; float GetRadius() const; Base::Vector3f GetCenter() const; /** @@ -473,7 +438,7 @@ public: protected: Base::Vector3f _vCenter; /**< Center of the sphere. */ - float _fRadius; /**< Radius of the cylinder. */ + float _fRadius{0}; /**< Radius of the cylinder. */ }; // ------------------------------------------------------------------------------- @@ -645,21 +610,14 @@ private: /** * Private construction. */ - FunctionContainer(){} + FunctionContainer() = default; }; class MeshExport PolynomialFit : public Approximation { public: - /** - * Construction - */ PolynomialFit(); - /** - * Destruction - */ - ~PolynomialFit() override; float Fit() override; float Value(float x, float y) const; diff --git a/src/Mod/Mesh/App/Core/Builder.cpp b/src/Mod/Mesh/App/Core/Builder.cpp index b61111f6af..4f7cc42165 100644 --- a/src/Mod/Mesh/App/Core/Builder.cpp +++ b/src/Mod/Mesh/App/Core/Builder.cpp @@ -38,9 +38,10 @@ using namespace MeshCore; -MeshBuilder::MeshBuilder (MeshKernel& kernel) : _meshKernel(kernel), _seq(nullptr), _ptIdx(0) +MeshBuilder::MeshBuilder (MeshKernel& kernel) + : _meshKernel(kernel) + , _fSaveTolerance{MeshDefinitions::_fMinPointDistanceD1} { - _fSaveTolerance = MeshDefinitions::_fMinPointDistanceD1; } MeshBuilder::~MeshBuilder () @@ -77,9 +78,9 @@ void MeshBuilder::Initialize (size_t ctFacets, bool deletion) } else { - for (MeshPointArray::_TConstIterator it1 = _meshKernel._aclPointArray.begin(); it1 != _meshKernel._aclPointArray.end(); ++it1) + for (const auto & it1 : _meshKernel._aclPointArray) { - MeshPointIterator pit = _points.insert(*it1); + MeshPointIterator pit = _points.insert(it1); _pointsIterator.push_back(pit); } _ptIdx = _points.size(); @@ -158,11 +159,9 @@ void MeshBuilder::SetNeighbourhood () std::set edges; FacetIndex facetIdx = 0; - for (MeshFacetArray::_TIterator it = _meshKernel._aclFacetArray.begin(); it != _meshKernel._aclFacetArray.end(); ++it) + for (auto & mf : _meshKernel._aclFacetArray) { this->_seq->next(true); // allow to cancel - MeshFacet& mf = *it; - for (int i = 0; i < 3; i++) { Edge edge(mf._aulPoints[i], mf._aulPoints[(i+1)%3], facetIdx); @@ -202,10 +201,10 @@ void MeshBuilder::SetNeighbourhood () void MeshBuilder::RemoveUnreferencedPoints() { _meshKernel._aclPointArray.SetFlag(MeshPoint::INVALID); - for ( MeshFacetArray::_TConstIterator it = _meshKernel._aclFacetArray.begin(); it != _meshKernel._aclFacetArray.end(); ++it ) + for (const auto & it : _meshKernel._aclFacetArray) { - for ( int i=0; i<3; i++ ) - _meshKernel._aclPointArray[it->_aulPoints[i]].ResetInvalid(); + for (PointIndex point : it._aulPoints) + _meshKernel._aclPointArray[point].ResetInvalid(); } unsigned long uValidPts = std::count_if(_meshKernel._aclPointArray.begin(), @@ -220,8 +219,8 @@ void MeshBuilder::Finish (bool freeMemory) // now we can resize the vertex array to the exact size and copy the vertices with their correct positions in the array PointIndex i=0; _meshKernel._aclPointArray.resize(_pointsIterator.size()); - for ( std::vector::iterator it = _pointsIterator.begin(); it != _pointsIterator.end(); ++it) - _meshKernel._aclPointArray[i++] = *(it->first); + for (const auto & it : _pointsIterator) + _meshKernel._aclPointArray[i++] = *(it.first); // free all memory of the internal structures // Note: this scope is needed to free memory immediately @@ -246,8 +245,8 @@ void MeshBuilder::Finish (bool freeMemory) try { FacetIndex i=0; MeshFacetArray faces(siz); - for ( MeshFacetArray::_TIterator it = _meshKernel._aclFacetArray.begin(); it != _meshKernel._aclFacetArray.end(); ++it ) - faces[i++]=*it; + for (const auto & it : _meshKernel._aclFacetArray) + faces[i++] = it; _meshKernel._aclFacetArray.swap(faces); } catch ( const Base::MemoryException&) { // sorry, we cannot reduce the memory @@ -318,10 +317,10 @@ void MeshFastBuilder::AddFacet (const Base::Vector3f* facetPoints) void MeshFastBuilder::AddFacet (const MeshGeomFacet& facetPoints) { Private::Vertex v; - for (int i=0; i<3; i++) { - v.x = facetPoints._aclPoints[i].x; - v.y = facetPoints._aclPoints[i].y; - v.z = facetPoints._aclPoints[i].z; + for (const auto& pnt : facetPoints._aclPoints) { + v.x = pnt.x; + v.y = pnt.y; + v.z = pnt.z; p->verts.push_back(v); } } @@ -361,8 +360,8 @@ void MeshFastBuilder::Finish () MeshPointArray rPoints; rPoints.reserve(static_cast(vertex_count)); - for (QVector::iterator v = verts.begin(); v != verts.end(); ++v) { - rPoints.push_back(MeshPoint(v->x, v->y, v->z)); + for (const auto & v : verts) { + rPoints.push_back(MeshPoint(v.x, v.y, v.z)); } _meshKernel.Adopt(rPoints, rFacets, true); diff --git a/src/Mod/Mesh/App/Core/Builder.h b/src/Mod/Mesh/App/Core/Builder.h index a525772f8e..61669ae59b 100644 --- a/src/Mod/Mesh/App/Core/Builder.h +++ b/src/Mod/Mesh/App/Core/Builder.h @@ -102,12 +102,12 @@ private: MeshKernel& _meshKernel; std::set _points; - Base::SequencerLauncher* _seq; + Base::SequencerLauncher* _seq{nullptr}; // keep an array of iterators pointing to the vertex inside the set to save memory using MeshPointIterator = std::pair::iterator, bool>; std::vector _pointsIterator; - size_t _ptIdx; + size_t _ptIdx{0}; void SetNeighbourhood (); // As it's forbidden to insert a degenerated facet but insert its vertices anyway we must remove them diff --git a/src/Mod/Mesh/App/Core/Curvature.cpp b/src/Mod/Mesh/App/Core/Curvature.cpp index 084d9d3ce5..954c2c16db 100644 --- a/src/Mod/Mesh/App/Core/Curvature.cpp +++ b/src/Mod/Mesh/App/Core/Curvature.cpp @@ -64,16 +64,14 @@ MeshCurvature::MeshCurvature(const MeshKernel& kernel, const std::vector::iterator it = mySegment.begin(); it != mySegment.end(); ++it) { - CurvatureInfo info = face.Compute(*it); + for (FacetIndex it : mySegment) { + CurvatureInfo info = face.Compute(it); myCurvature.push_back(info); seq.next(); } @@ -86,8 +84,8 @@ void MeshCurvature::ComputePerFace(bool parallel) QFutureWatcher watcher; watcher.setFuture(future); watcher.waitForFinished(); - for (QFuture::const_iterator it = future.begin(); it != future.end(); ++it) { - myCurvature.push_back(*it); + for (const auto & it : future) { + myCurvature.push_back(it); } } } @@ -308,9 +306,9 @@ void MeshCurvature::ComputePerVertex() std::vector aIdx; aIdx.reserve(3*myKernel.CountFacets()); const MeshFacetArray& raFts = myKernel.GetFacets(); - for (MeshFacetArray::const_iterator jt = raFts.begin(); jt != raFts.end(); ++jt) { - for (int i=0; i<3; i++) { - aIdx.push_back((int)jt->_aulPoints[i]); + for (const auto & it : raFts) { + for (PointIndex point : it._aulPoints) { + aIdx.push_back(int(point)); } } @@ -393,8 +391,8 @@ CurvatureInfo FacetCurvature::Compute(FacetIndex index) const std::vector fitPoints; const MeshPointArray& verts = myKernel.GetPoints(); fitPoints.reserve(point_indices.size()); - for (std::set::iterator it = point_indices.begin(); it != point_indices.end(); ++it) { - fitPoints.push_back(verts[*it] - face_gravity); + for (PointIndex it : point_indices) { + fitPoints.push_back(verts[it] - face_gravity); } float fMin, fMax; diff --git a/src/Mod/Mesh/App/Core/CylinderFit.cpp b/src/Mod/Mesh/App/Core/CylinderFit.cpp index 0b77c78516..3ccdbec122 100644 --- a/src/Mod/Mesh/App/Core/CylinderFit.cpp +++ b/src/Mod/Mesh/App/Core/CylinderFit.cpp @@ -72,16 +72,6 @@ using namespace MeshCoreFit; CylinderFit::CylinderFit() : _vBase(0,0,0) , _vAxis(0,0,1) - , _dRadius(0) - , _numIter(0) - , _posConvLimit(0.0001) - , _dirConvLimit(0.000001) - , _vConvLimit(0.001) - , _maxIter(50) -{ -} - -CylinderFit::~CylinderFit() { } @@ -198,8 +188,7 @@ void CylinderFit::ProjectToCylinder() Base::Vector3f cBase(_vBase.x, _vBase.y, _vBase.z); Base::Vector3f cAxis(_vAxis.x, _vAxis.y, _vAxis.z); - for (std::list< Base::Vector3f >::iterator it = _vPoints.begin(); it != _vPoints.end(); ++it) { - Base::Vector3f& cPnt = *it; + for (auto & cPnt : _vPoints) { if (cPnt.DistanceToLine(cBase, cAxis) > 0) { Base::Vector3f proj; cBase.ProjectToPlane(cPnt, cAxis, proj); diff --git a/src/Mod/Mesh/App/Core/CylinderFit.h b/src/Mod/Mesh/App/Core/CylinderFit.h index 2127504aa0..72d3ad0bda 100644 --- a/src/Mod/Mesh/App/Core/CylinderFit.h +++ b/src/Mod/Mesh/App/Core/CylinderFit.h @@ -50,11 +50,6 @@ public: * Construction */ CylinderFit(); - /** - * Destruction - */ - ~CylinderFit() override; - /** * Set approximations before calling Fit() */ @@ -151,15 +146,15 @@ protected: */ bool updateParameters(SolutionD solDir, const Eigen::VectorXd &x); -protected: +private: Base::Vector3d _vBase; /**< Base vector of the cylinder (point on axis). */ Base::Vector3d _vAxis; /**< Axis of the cylinder. */ - double _dRadius; /**< Radius of the cylinder. */ - int _numIter; /**< Number of iterations for solution to converge. */ - double _posConvLimit; /**< Position and radius parameter convergence threshold. */ - double _dirConvLimit; /**< Direction parameter convergence threshold. */ - double _vConvLimit; /**< Residual convergence threshold. */ - int _maxIter; /**< Maximum number of iterations. */ + double _dRadius{0}; /**< Radius of the cylinder. */ + int _numIter{0}; /**< Number of iterations for solution to converge. */ + double _posConvLimit{0.0001}; /**< Position and radius parameter convergence threshold. */ + double _dirConvLimit{0.000001}; /**< Direction parameter convergence threshold. */ + double _vConvLimit{0.001}; /**< Residual convergence threshold. */ + int _maxIter{50}; /**< Maximum number of iterations. */ }; diff --git a/src/Mod/Mesh/App/Core/Decimation.cpp b/src/Mod/Mesh/App/Core/Decimation.cpp index e62e047e0a..210f621d52 100644 --- a/src/Mod/Mesh/App/Core/Decimation.cpp +++ b/src/Mod/Mesh/App/Core/Decimation.cpp @@ -34,10 +34,6 @@ MeshSimplify::MeshSimplify(MeshKernel& mesh) { } -MeshSimplify::~MeshSimplify() -{ -} - void MeshSimplify::simplify(float tolerance, float reduction) { Simplify alg; @@ -57,8 +53,8 @@ void MeshSimplify::simplify(float tolerance, float reduction) Simplify::Triangle t; t.deleted = 0; t.dirty = 0; - for (int j = 0; j < 4; j++) - t.err[j] = 0.0; + for (double & j : t.err) + j = 0.0; for (int j = 0; j < 3; j++) t.v[j] = facets[i]._aulPoints[j]; alg.triangles.push_back(t); @@ -72,23 +68,23 @@ void MeshSimplify::simplify(float tolerance, float reduction) // Simplification done MeshPointArray new_points; new_points.reserve(alg.vertices.size()); - for (std::size_t i = 0; i < alg.vertices.size(); i++) { - new_points.push_back(alg.vertices[i].p); + for (const auto & vertex : alg.vertices) { + new_points.push_back(vertex.p); } std::size_t numFacets = 0; - for (std::size_t i = 0; i < alg.triangles.size(); i++) { - if (!alg.triangles[i].deleted) + for (const auto & triangle : alg.triangles) { + if (!triangle.deleted) numFacets++; } MeshFacetArray new_facets; new_facets.reserve(numFacets); - for (std::size_t i = 0; i < alg.triangles.size(); i++) { - if (!alg.triangles[i].deleted) { + for (const auto & triangle : alg.triangles) { + if (!triangle.deleted) { MeshFacet face; - face._aulPoints[0] = alg.triangles[i].v[0]; - face._aulPoints[1] = alg.triangles[i].v[1]; - face._aulPoints[2] = alg.triangles[i].v[2]; + face._aulPoints[0] = triangle.v[0]; + face._aulPoints[1] = triangle.v[1]; + face._aulPoints[2] = triangle.v[2]; new_facets.push_back(face); } } @@ -115,8 +111,8 @@ void MeshSimplify::simplify(int targetSize) Simplify::Triangle t; t.deleted = 0; t.dirty = 0; - for (int j = 0; j < 4; j++) - t.err[j] = 0.0; + for (double & j : t.err) + j = 0.0; for (int j = 0; j < 3; j++) t.v[j] = facets[i]._aulPoints[j]; alg.triangles.push_back(t); @@ -128,23 +124,23 @@ void MeshSimplify::simplify(int targetSize) // Simplification done MeshPointArray new_points; new_points.reserve(alg.vertices.size()); - for (std::size_t i = 0; i < alg.vertices.size(); i++) { - new_points.push_back(alg.vertices[i].p); + for (const auto & vertex : alg.vertices) { + new_points.push_back(vertex.p); } std::size_t numFacets = 0; - for (std::size_t i = 0; i < alg.triangles.size(); i++) { - if (!alg.triangles[i].deleted) + for (const auto & triangle : alg.triangles) { + if (!triangle.deleted) numFacets++; } MeshFacetArray new_facets; new_facets.reserve(numFacets); - for (std::size_t i = 0; i < alg.triangles.size(); i++) { - if (!alg.triangles[i].deleted) { + for (const auto & triangle : alg.triangles) { + if (!triangle.deleted) { MeshFacet face; - face._aulPoints[0] = alg.triangles[i].v[0]; - face._aulPoints[1] = alg.triangles[i].v[1]; - face._aulPoints[2] = alg.triangles[i].v[2]; + face._aulPoints[0] = triangle.v[0]; + face._aulPoints[1] = triangle.v[1]; + face._aulPoints[2] = triangle.v[2]; new_facets.push_back(face); } } diff --git a/src/Mod/Mesh/App/Core/Decimation.h b/src/Mod/Mesh/App/Core/Decimation.h index 4dde8ab640..cad05356a6 100644 --- a/src/Mod/Mesh/App/Core/Decimation.h +++ b/src/Mod/Mesh/App/Core/Decimation.h @@ -34,7 +34,6 @@ class MeshExport MeshSimplify { public: MeshSimplify(MeshKernel&);//explicit bombs - ~MeshSimplify(); void simplify(float tolerance, float reduction); void simplify(int targetSize); diff --git a/src/Mod/Mesh/App/Core/Definitions.cpp b/src/Mod/Mesh/App/Core/Definitions.cpp index 65f9d32a42..dc99816a62 100644 --- a/src/Mod/Mesh/App/Core/Definitions.cpp +++ b/src/Mod/Mesh/App/Core/Definitions.cpp @@ -40,9 +40,7 @@ float MeshDefinitions::_fMinEdgeLength = MESH_MIN_EDGE_LEN; bool MeshDefinitions::_bRemoveMinLength = MESH_REMOVE_MIN_LEN; float MeshDefinitions::_fMinEdgeAngle = Base::toRadians(MESH_MIN_EDGE_ANGLE); -MeshDefinitions::MeshDefinitions () -{ -} +MeshDefinitions::MeshDefinitions () = default; void MeshDefinitions::SetMinPointDistance (float fMin) { diff --git a/src/Mod/Mesh/App/Core/Definitions.h b/src/Mod/Mesh/App/Core/Definitions.h index 71c4ca6b28..d1ef6ab329 100644 --- a/src/Mod/Mesh/App/Core/Definitions.h +++ b/src/Mod/Mesh/App/Core/Definitions.h @@ -81,8 +81,6 @@ class MeshExport MeshDefinitions { public: MeshDefinitions (); - virtual ~MeshDefinitions () - {} static float _fMinPointDistance; static float _fMinPointDistanceP2; diff --git a/src/Mod/Mesh/App/Core/Degeneration.cpp b/src/Mod/Mesh/App/Core/Degeneration.cpp index d2d960c6ee..fa285267ee 100644 --- a/src/Mod/Mesh/App/Core/Degeneration.cpp +++ b/src/Mod/Mesh/App/Core/Degeneration.cpp @@ -42,16 +42,16 @@ using namespace MeshCore; bool MeshEvalInvalids::Evaluate() { const MeshFacetArray& rFaces = _rclMesh.GetFacets(); - for ( MeshFacetArray::_TConstIterator it = rFaces.begin(); it != rFaces.end(); ++it ) + for (const auto & it : rFaces) { - if ( !it->IsValid() ) + if ( !it.IsValid() ) return false; } const MeshPointArray& rPoints = _rclMesh.GetPoints(); - for ( MeshPointArray::_TConstIterator jt = rPoints.begin(); jt != rPoints.end(); ++jt ) + for (const auto & it : rPoints) { - if ( !jt->IsValid() ) + if ( !it.IsValid() ) return false; } @@ -205,11 +205,11 @@ bool MeshFixDuplicatePoints::Fixup() // now set all facets to the correct index MeshFacetArray& rFacets = _rclMesh._aclFacetArray; - for (MeshFacetArray::_TIterator it = rFacets.begin(); it != rFacets.end(); ++it) { - for (int i=0; i<3; i++) { - std::map::iterator pt = mapPointIndex.find(it->_aulPoints[i]); + for (auto & it : rFacets) { + for (PointIndex & point : it._aulPoints) { + std::map::iterator pt = mapPointIndex.find(point); if (pt != mapPointIndex.end()) - it->_aulPoints[i] = pt->second; + point = pt->second; } } @@ -225,8 +225,8 @@ bool MeshFixDuplicatePoints::Fixup() bool MeshEvalNaNPoints::Evaluate() { const MeshPointArray& rPoints = _rclMesh.GetPoints(); - for (MeshPointArray::_TConstIterator it = rPoints.begin(); it != rPoints.end(); ++it) { - if (boost::math::isnan(it->x) || boost::math::isnan(it->y) || boost::math::isnan(it->z)) + for (const auto & it : rPoints) { + if (boost::math::isnan(it.x) || boost::math::isnan(it.y) || boost::math::isnan(it.z)) return false; } @@ -818,21 +818,20 @@ bool MeshEvalDentsOnSurface::Evaluate() std::set nb = clPt2Facets.NeighbourPoints(point,1); const std::set& faces = clPt2Facets[index]; - for (std::set::iterator pt = nb.begin(); pt != nb.end(); ++pt) { - const MeshPoint& mp = rPntAry[*pt]; - for (std::set::const_iterator - ft = faces.begin(); ft != faces.end(); ++ft) { + for (PointIndex pt : nb) { + const MeshPoint& mp = rPntAry[pt]; + for (FacetIndex ft : faces) { // the point must not be part of the facet we test - if (f_beg[*ft]._aulPoints[0] == *pt) + if (f_beg[ft]._aulPoints[0] == pt) continue; - if (f_beg[*ft]._aulPoints[1] == *pt) + if (f_beg[ft]._aulPoints[1] == pt) continue; - if (f_beg[*ft]._aulPoints[2] == *pt) + if (f_beg[ft]._aulPoints[2] == pt) continue; // is the point projectable onto the facet? - rTriangle = _rclMesh.GetFacet(f_beg[*ft]); + rTriangle = _rclMesh.GetFacet(f_beg[ft]); if (rTriangle.IntersectWithLine(mp,rTriangle.GetNormal(),tmp)) { - const std::set& f = clPt2Facets[*pt]; + const std::set& f = clPt2Facets[pt]; this->indices.insert(this->indices.end(), f.begin(), f.end()); break; } @@ -923,10 +922,10 @@ bool MeshEvalFoldsOnBoundary::Evaluate() const MeshFacetArray& rFacAry = _rclMesh.GetFacets(); for (MeshFacetArray::_TConstIterator it = rFacAry.begin(); it != rFacAry.end(); ++it) { if (it->CountOpenEdges() == 2) { - for (int i=0; i<3; i++) { - if (it->_aulNeighbours[i] != FACET_INDEX_MAX) { + for (FacetIndex nbIndex : it->_aulNeighbours) { + if (nbIndex != FACET_INDEX_MAX) { MeshGeomFacet f1 = _rclMesh.GetFacet(*it); - MeshGeomFacet f2 = _rclMesh.GetFacet(it->_aulNeighbours[i]); + MeshGeomFacet f2 = _rclMesh.GetFacet(nbIndex); float cos_angle = f1.GetNormal() * f2.GetNormal(); if (cos_angle <= 0.5f) // ~ 60 degree indices.push_back(it-rFacAry.begin()); @@ -999,8 +998,7 @@ bool MeshEvalBorderFacet::Evaluate() for (f_it = facets.begin(); f_it != f_end; ++f_it) { bool ok = true; - for (int i=0; i<3; i++) { - PointIndex index = f_it->_aulPoints[i]; + for (PointIndex index : f_it->_aulPoints) { if (vv_it[index].size() == vf_it[index].size()) { ok = false; break; @@ -1021,9 +1019,9 @@ bool MeshEvalRangeFacet::Evaluate() const MeshFacetArray& rFaces = _rclMesh.GetFacets(); FacetIndex ulCtFacets = rFaces.size(); - for (MeshFacetArray::_TConstIterator it = rFaces.begin(); it != rFaces.end(); ++it) { - for (int i = 0; i < 3; i++) { - if ((it->_aulNeighbours[i] >= ulCtFacets) && (it->_aulNeighbours[i] < FACET_INDEX_MAX)) { + for (const auto & it : rFaces) { + for (FacetIndex nbFacet : it._aulNeighbours) { + if ((nbFacet >= ulCtFacets) && (nbFacet < FACET_INDEX_MAX)) { return false; } } @@ -1040,8 +1038,8 @@ std::vector MeshEvalRangeFacet::GetIndices() const FacetIndex ind=0; for (MeshFacetArray::_TConstIterator it = rFaces.begin(); it != rFaces.end(); ++it, ind++) { - for (int i = 0; i < 3; i++) { - if ((it->_aulNeighbours[i] >= ulCtFacets) && (it->_aulNeighbours[i] < FACET_INDEX_MAX)) { + for (FacetIndex nbIndex : it->_aulNeighbours) { + if ((nbIndex >= ulCtFacets) && (nbIndex < FACET_INDEX_MAX)) { aInds.push_back(ind); break; } @@ -1064,10 +1062,10 @@ bool MeshEvalRangePoint::Evaluate() const MeshFacetArray& rFaces = _rclMesh.GetFacets(); PointIndex ulCtPoints = _rclMesh.CountPoints(); - for (MeshFacetArray::_TConstIterator it = rFaces.begin(); it != rFaces.end(); ++it) { - if (std::find_if(it->_aulPoints, it->_aulPoints + 3, [ulCtPoints](PointIndex i) { + for (const auto & it : rFaces) { + if (std::find_if(it._aulPoints, it._aulPoints + 3, [ulCtPoints](PointIndex i) { return i >= ulCtPoints; - }) < it->_aulPoints + 3) + }) < it._aulPoints + 3) return false; } @@ -1103,8 +1101,8 @@ bool MeshFixRangePoint::Fixup() // 'DeleteFacets' will segfault. But setting all point indices to 0 works. std::vector invalid = eval.GetIndices(); if (!invalid.empty()) { - for (std::vector::iterator it = invalid.begin(); it != invalid.end(); ++it) { - _rclMesh.SetFacetPoints(*it, 0, 0, 0); + for (PointIndex it : invalid) { + _rclMesh.SetFacetPoints(it, 0, 0, 0); } _rclMesh.DeleteFacets(invalid); @@ -1119,9 +1117,9 @@ bool MeshEvalCorruptedFacets::Evaluate() { const MeshFacetArray& rFaces = _rclMesh.GetFacets(); - for ( MeshFacetArray::_TConstIterator it = rFaces.begin(); it != rFaces.end(); ++it ) { + for (const auto & it : rFaces) { // dupicated point indices - if (it->IsDegenerated()) + if (it.IsDegenerated()) return false; } diff --git a/src/Mod/Mesh/App/Core/Degeneration.h b/src/Mod/Mesh/App/Core/Degeneration.h index 2cb5d58e8c..480a767269 100644 --- a/src/Mod/Mesh/App/Core/Degeneration.h +++ b/src/Mod/Mesh/App/Core/Degeneration.h @@ -50,10 +50,6 @@ public: * Construction. */ explicit MeshEvalInvalids (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - /** - * Destruction. - */ - ~MeshEvalInvalids () override { } /** * Searches for as 'Invalid' marked points or facets. */ @@ -76,10 +72,6 @@ public: * Construction. */ explicit MeshFixInvalids (MeshKernel &rclM) : MeshValidation( rclM ) { } - /** - * Destruction. - */ - ~MeshFixInvalids () override { } /** * Remove invalid elements. */ @@ -101,10 +93,6 @@ public: * Construction. */ explicit MeshEvalDuplicatePoints (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - /** - * Destruction. - */ - ~MeshEvalDuplicatePoints () override { } /** * Merges points to one if the distance between them is less than the global \a MeshDefinitions::_fMinPointDistanceD1. */ @@ -127,10 +115,6 @@ public: * Construction. */ explicit MeshFixDuplicatePoints (MeshKernel &rclM) : MeshValidation( rclM ) { } - /** - * Destruction. - */ - ~MeshFixDuplicatePoints () override { } /** * Merges duplicated points. */ @@ -149,10 +133,6 @@ public: * Construction. */ explicit MeshEvalNaNPoints (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - /** - * Destruction. - */ - ~MeshEvalNaNPoints () override { } /** * Returns false if a point with NaN coordinate is found. */ @@ -175,10 +155,6 @@ public: * Construction. */ explicit MeshFixNaNPoints (MeshKernel &rclM) : MeshValidation( rclM ) { } - /** - * Destruction. - */ - ~MeshFixNaNPoints () override { } /** * Merges duplicated points. */ @@ -199,10 +175,6 @@ public: * Construction. */ explicit MeshEvalDuplicateFacets (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - /** - * Destruction. - */ - ~MeshEvalDuplicateFacets () override { } /** * Searches for duplicated facets. */ @@ -225,10 +197,6 @@ public: * Construction. */ explicit MeshFixDuplicateFacets (MeshKernel &rclM) : MeshValidation( rclM ) { } - /** - * Destruction. - */ - ~MeshFixDuplicateFacets () override { } /** * Removes duplicated facets. */ @@ -246,10 +214,6 @@ public: * Construction. */ explicit MeshEvalInternalFacets (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - /** - * Destruction. - */ - ~MeshEvalInternalFacets () override { } /** * Identify internal facets. */ @@ -281,10 +245,6 @@ public: */ MeshEvalDegeneratedFacets (const MeshKernel &rclM, float fEps) : MeshEvaluation(rclM), fEpsilon(fEps) {} - /** - * Destruction. - */ - ~MeshEvalDegeneratedFacets () override { } /** * Searches degenerated facets. */ @@ -315,10 +275,6 @@ public: */ MeshFixDegeneratedFacets (MeshKernel &rclM, float fEps) : MeshValidation(rclM), fEpsilon(fEps) { } - /** - * Destruction. - */ - ~MeshFixDegeneratedFacets () override { } /** * Removes degenerated facets. */ @@ -346,10 +302,6 @@ public: */ explicit MeshRemoveNeedles (MeshKernel &rclM, float fMinEdgeLen = 0.05f) : MeshValidation(rclM), fMinEdgeLength(std::min(fMinEdgeLen, 0.25f)) {} - /** - * Destruction. - */ - ~MeshRemoveNeedles () override { } /** * Removes all facets with an edge smaller than \a fMinEdgeLength without leaving holes or gaps * in the mesh. @@ -378,10 +330,6 @@ public: */ explicit MeshFixCaps (MeshKernel &rclM, float fMaxAng = 2.61f, float fFactor = 0.25f) // ~150 degree : MeshValidation(rclM), fMaxAngle(fMaxAng), fSplitFactor(fFactor) { } - /** - * Destruction. - */ - ~MeshFixCaps () override { } /** */ bool Fixup () override; @@ -405,10 +353,6 @@ public: */ MeshEvalDeformedFacets (const MeshKernel &rclM, float fMinAngle, float fMaxAngle) : MeshEvaluation(rclM), fMinAngle(fMinAngle), fMaxAngle(fMaxAngle) { } - /** - * Destruction. - */ - ~MeshEvalDeformedFacets () override { } /** * Searches deformed facets. */ @@ -439,10 +383,6 @@ public: MeshFixDeformedFacets (MeshKernel &rclM, float fMinAngle, float fMaxAngle, float fSwapAngle, float fEps) : MeshValidation(rclM), fMinAngle(fMinAngle), fMaxAngle(fMaxAngle), fMaxSwapAngle(fSwapAngle), fEpsilon(fEps) { } - /** - * Destruction. - */ - ~MeshFixDeformedFacets () override { } /** * Removes deformed facets. */ @@ -471,10 +411,6 @@ public: */ explicit MeshFixMergeFacets (MeshKernel &rclM) : MeshValidation(rclM) { } - /** - * Destruction. - */ - ~MeshFixMergeFacets () override { } /** * Removes deformed facets. */ @@ -489,7 +425,6 @@ class MeshExport MeshEvalDentsOnSurface : public MeshEvaluation { public: explicit MeshEvalDentsOnSurface (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - ~MeshEvalDentsOnSurface() override {} bool Evaluate() override; std::vector GetIndices() const; @@ -502,7 +437,6 @@ class MeshExport MeshFixDentsOnSurface : public MeshValidation { public: explicit MeshFixDentsOnSurface (MeshKernel &rclM) : MeshValidation( rclM ) { } - ~MeshFixDentsOnSurface() override {} bool Fixup() override; }; @@ -516,7 +450,6 @@ class MeshExport MeshEvalFoldsOnSurface : public MeshEvaluation { public: explicit MeshEvalFoldsOnSurface (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - ~MeshEvalFoldsOnSurface() override {} bool Evaluate() override; std::vector GetIndices() const; @@ -535,7 +468,6 @@ class MeshExport MeshEvalFoldsOnBoundary : public MeshEvaluation { public: explicit MeshEvalFoldsOnBoundary (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - ~MeshEvalFoldsOnBoundary() override {} bool Evaluate() override; std::vector GetIndices() const; @@ -548,7 +480,6 @@ class MeshExport MeshFixFoldsOnBoundary : public MeshValidation { public: explicit MeshFixFoldsOnBoundary (MeshKernel &rclM) : MeshValidation( rclM ) { } - ~MeshFixFoldsOnBoundary() override {} bool Fixup() override; }; @@ -561,7 +492,6 @@ class MeshExport MeshEvalFoldOversOnSurface : public MeshEvaluation { public: explicit MeshEvalFoldOversOnSurface (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - ~MeshEvalFoldOversOnSurface() override {} bool Evaluate() override; std::vector GetIndices() const @@ -581,7 +511,6 @@ class MeshExport MeshEvalBorderFacet : public MeshEvaluation public: MeshEvalBorderFacet (const MeshKernel &rclB, std::vector& f) : MeshEvaluation(rclB), _facets(f) {} - ~MeshEvalBorderFacet () override {} bool Evaluate() override; protected: @@ -606,10 +535,6 @@ public: * Construction. */ explicit MeshEvalRangeFacet (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - /** - * Destruction. - */ - ~MeshEvalRangeFacet () override { } /** * Searches for facets that has neighbour facet indices out of range. */ @@ -632,10 +557,6 @@ public: * Construction. */ explicit MeshFixRangeFacet (MeshKernel &rclM) : MeshValidation( rclM ) { } - /** - * Destruction. - */ - ~MeshFixRangeFacet () override { } /** * Fixes facets with neighbour indices out of range. */ @@ -654,10 +575,6 @@ public: * Construction. */ explicit MeshEvalRangePoint (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - /** - * Destruction. - */ - ~MeshEvalRangePoint () override { } /** * Searches for facets that has point indices out of range. */ @@ -680,10 +597,6 @@ public: * Construction. */ explicit MeshFixRangePoint (MeshKernel &rclM) : MeshValidation( rclM ) { } - /** - * Destruction. - */ - ~MeshFixRangePoint () override { } /** * Fixes facets with point indices out of range. */ @@ -703,10 +616,6 @@ public: * Construction. */ explicit MeshEvalCorruptedFacets (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - /** - * Destruction. - */ - ~MeshEvalCorruptedFacets () override { } /** * Searches for corrupted facets. */ @@ -730,10 +639,6 @@ public: * Construction. */ explicit MeshFixCorruptedFacets (MeshKernel &rclM) : MeshValidation( rclM ) { } - /** - * Destruction. - */ - ~MeshFixCorruptedFacets () override { } /** * Removes corrupted facets. */ @@ -752,10 +657,6 @@ public: * Construction. */ explicit MeshEvalPointOnEdge (const MeshKernel &rclM) : MeshEvaluation( rclM ) { } - /** - * Destruction. - */ - ~MeshEvalPointOnEdge () override { } /** * Searches for points that lie on edge of triangle. */ @@ -786,10 +687,6 @@ public: * Construction. */ explicit MeshFixPointOnEdge (MeshKernel &rclM, bool fill = false) : MeshValidation( rclM ), fillBoundary(fill) { } - /** - * Destruction. - */ - ~MeshFixPointOnEdge () override { } /** * Removes points that lie on edges of triangles. */ diff --git a/src/Mod/Mesh/App/Core/Elements.cpp b/src/Mod/Mesh/App/Core/Elements.cpp index af4380e5e7..4cfa55398f 100644 --- a/src/Mod/Mesh/App/Core/Elements.cpp +++ b/src/Mod/Mesh/App/Core/Elements.cpp @@ -36,10 +36,9 @@ using namespace MeshCore; using namespace Wm4; -MeshPointArray::MeshPointArray(const MeshPointArray& ary) - : TMeshPointArray(ary) -{ -} +MeshPointArray::MeshPointArray(const MeshPointArray& ary) = default; + +MeshPointArray::MeshPointArray(MeshPointArray&& ary) = default; PointIndex MeshPointArray::Get (const MeshPoint &rclPoint) { @@ -77,33 +76,27 @@ void MeshPointArray::ResetFlag (MeshPoint::TFlagType tF) const void MeshPointArray::SetProperty (unsigned long ulVal) const { - for (_TConstIterator pP = begin(); pP != end(); ++pP) pP->SetProperty(ulVal); + for (const auto & pP : *this) pP.SetProperty(ulVal); } void MeshPointArray::ResetInvalid () const { - for (_TConstIterator pP = begin(); pP != end(); ++pP) pP->ResetInvalid(); + for (const auto & pP : *this) pP.ResetInvalid(); } -MeshPointArray& MeshPointArray::operator = (const MeshPointArray &rclPAry) -{ -// std::vector::operator=(rclPAry); - TMeshPointArray::operator=(rclPAry); +MeshPointArray& MeshPointArray::operator = (const MeshPointArray &rclPAry) = default; - return *this; -} +MeshPointArray& MeshPointArray::operator = (MeshPointArray &&rclPAry) = default; void MeshPointArray::Transform(const Base::Matrix4D& mat) { - for (_TIterator pP = begin(); pP != end(); ++pP) - mat.multVec(*pP,*pP); + for (auto & pP : *this) + mat.multVec(pP,pP); } -MeshFacetArray::MeshFacetArray(const MeshFacetArray& ary) - : TMeshFacetArray(ary) -{ -} +MeshFacetArray::MeshFacetArray(const MeshFacetArray& ary) = default; +MeshFacetArray::MeshFacetArray(MeshFacetArray&& ary) = default; void MeshFacetArray::Erase (_TIterator pIter) { @@ -159,19 +152,17 @@ void MeshFacetArray::ResetFlag (MeshFacet::TFlagType tF) const void MeshFacetArray::SetProperty (unsigned long ulVal) const { - for (_TConstIterator pF = begin(); pF != end(); ++pF) pF->SetProperty(ulVal); + for (const auto & pF : *this) pF.SetProperty(ulVal); } void MeshFacetArray::ResetInvalid () const { - for (_TConstIterator pF = begin(); pF != end(); ++pF) pF->ResetInvalid(); + for (const auto & pF : *this) pF.ResetInvalid(); } -MeshFacetArray& MeshFacetArray::operator = (const MeshFacetArray &rclFAry) -{ - TMeshFacetArray::operator=(rclFAry); - return *this; -} +MeshFacetArray& MeshFacetArray::operator = (const MeshFacetArray &rclFAry) = default; + +MeshFacetArray& MeshFacetArray::operator = (MeshFacetArray &&rclFAry) = default; // ----------------------------------------------------------------- @@ -186,9 +177,9 @@ bool MeshGeomEdge::ContainedByOrIntersectBoundingBox ( const Base::BoundBox3f &r return true; // Test whether one of the corner points is in BB - for (int i=0;i<2;i++) + for (const auto& pnt : _aclPoints) { - if (rclBB.IsInBox(_aclPoints[i])) + if (rclBB.IsInBox(pnt)) return true; } @@ -201,7 +192,7 @@ bool MeshGeomEdge::ContainedByOrIntersectBoundingBox ( const Base::BoundBox3f &r Base::BoundBox3f MeshGeomEdge::GetBoundBox () const { - return Base::BoundBox3f(_aclPoints,2); + return {_aclPoints,2}; } bool MeshGeomEdge::IntersectBoundingBox (const Base::BoundBox3f &rclBB) const @@ -1494,8 +1485,8 @@ bool MeshGeomFacet::IsPointOfSphere(const MeshGeomFacet& rFacet) const radius = CenterOfCircumCircle(center); radius *= radius; - for (int i=0; i<3; i++) { - float dist = Base::DistanceP2(rFacet._aclPoints[i], center); + for (const auto& pnt : rFacet._aclPoints) { + float dist = Base::DistanceP2(pnt, center); if (dist < radius) return true; } diff --git a/src/Mod/Mesh/App/Core/Elements.h b/src/Mod/Mesh/App/Core/Elements.h index fc2673c9a5..cf2a073715 100644 --- a/src/Mod/Mesh/App/Core/Elements.h +++ b/src/Mod/Mesh/App/Core/Elements.h @@ -110,8 +110,9 @@ public: MeshPoint () : _ucFlag(0), _ulProp(0) { } inline MeshPoint (float x, float y, float z); inline MeshPoint (const Base::Vector3f &rclPt);//explicit bombs - inline MeshPoint (const MeshPoint &rclPt); - ~MeshPoint () { } + inline MeshPoint (const MeshPoint &rclPt) = default; + inline MeshPoint (MeshPoint &&rclPt) = default; + ~MeshPoint () = default; //@} public: @@ -136,7 +137,8 @@ public: //@} // Assignment - inline MeshPoint& operator = (const MeshPoint &rclPt); + inline MeshPoint& operator = (const MeshPoint &rclPt) = default; + inline MeshPoint& operator = (MeshPoint &&rclPt) = default; // compare operator inline bool operator == (const MeshPoint &rclPt) const; @@ -155,7 +157,7 @@ public: class MeshExport MeshGeomEdge { public: - MeshGeomEdge () : _bBorder(false) {} + MeshGeomEdge () = default; /** Checks if the edge is inside the bounding box or intersects with it. */ bool ContainedByOrIntersectBoundingBox (const Base::BoundBox3f &rclBB ) const; @@ -210,7 +212,7 @@ public: public: Base::Vector3f _aclPoints[2]; /**< Corner points */ - bool _bBorder; /**< Set to true if border edge */ + bool _bBorder{false}; /**< Set to true if border edge */ }; /** @@ -239,9 +241,10 @@ public: /** @name Construction */ //@{ inline MeshFacet (); - inline MeshFacet(const MeshFacet &rclF); + inline MeshFacet(const MeshFacet &rclF) = default; + inline MeshFacet(MeshFacet &&rclF) = default; inline MeshFacet(PointIndex p1,PointIndex p2,PointIndex p3,FacetIndex n1=FACET_INDEX_MAX,FacetIndex n2=FACET_INDEX_MAX,FacetIndex n3=FACET_INDEX_MAX); - ~MeshFacet () { } + ~MeshFacet () = default; //@} /** @name Flag state @@ -270,7 +273,8 @@ public: //@} // Assignment - inline MeshFacet& operator = (const MeshFacet &rclF); + inline MeshFacet& operator = (const MeshFacet &rclF) = default; + inline MeshFacet& operator = (MeshFacet &&rclF) = default; inline void SetVertices(PointIndex,PointIndex,PointIndex); inline void SetNeighbours(FacetIndex,FacetIndex,FacetIndex); @@ -370,10 +374,15 @@ public: MeshGeomFacet (); /// Constructor with the corner points MeshGeomFacet (const Base::Vector3f &v1,const Base::Vector3f &v2,const Base::Vector3f &v3); + MeshGeomFacet(const MeshGeomFacet&) = default; + MeshGeomFacet(MeshGeomFacet&&) = default; /// Destruction - ~MeshGeomFacet () { } + ~MeshGeomFacet () = default; //@} + MeshGeomFacet& operator = (const MeshGeomFacet&) = default; + MeshGeomFacet& operator = (MeshGeomFacet&&) = default; + public: /** * Checks if the point is part of the facet. A point is regarded as part @@ -580,13 +589,14 @@ public: /** @name Construction */ //@{ // constructor - MeshPointArray () { } + MeshPointArray () = default; // constructor explicit MeshPointArray (PointIndex ulSize) : TMeshPointArray(ulSize) { } /// copy-constructor MeshPointArray (const MeshPointArray&); + MeshPointArray (MeshPointArray&&); // Destructor - ~MeshPointArray () { } + ~MeshPointArray () = default; //@} /** @name Flag state @@ -605,6 +615,7 @@ public: // Assignment MeshPointArray& operator = (const MeshPointArray &rclPAry); + MeshPointArray& operator = (MeshPointArray &&rclPAry); void Transform(const Base::Matrix4D&); /** * Searches for the first point index Two points are equal if the distance is less @@ -634,13 +645,14 @@ public: /** @name Construction */ //@{ /// constructor - MeshFacetArray () { } + MeshFacetArray () = default; /// constructor explicit MeshFacetArray (FacetIndex ulSize) : TMeshFacetArray(ulSize) { } /// copy-constructor MeshFacetArray (const MeshFacetArray&); + MeshFacetArray (MeshFacetArray&&); /// destructor - ~MeshFacetArray () { } + ~MeshFacetArray () = default; //@} /** @name Flag state @@ -660,6 +672,7 @@ public: // Assignment MeshFacetArray& operator = (const MeshFacetArray &rclFAry); + MeshFacetArray& operator = (MeshFacetArray &&rclFAry); /** * Removes the facet from the array the iterator points to. All neighbour @@ -687,11 +700,15 @@ public: : rPoints(points) { } + ~MeshPointModifier() = default; - MeshPointModifier(const MeshPointModifier& c) - : rPoints(c.rPoints) - { - } + MeshPointArray& GetPoints() const { return rPoints; } + + MeshPointModifier(const MeshPointModifier& c) = default; + MeshPointModifier(MeshPointModifier&& c) = default; + + MeshPointModifier& operator = (const MeshPointModifier& c) = delete; + MeshPointModifier& operator = (MeshPointModifier&& c) = delete; private: MeshPointArray& rPoints; @@ -708,11 +725,12 @@ public: : rFacets(facets) { } + ~MeshFacetModifier() = default; - MeshFacetModifier(const MeshFacetModifier& c) - : rFacets(c.rFacets) - { - } + MeshFacetModifier(const MeshFacetModifier& c) = default; + MeshFacetModifier(MeshFacetModifier&& c) = default; + MeshFacetModifier& operator = (const MeshFacetModifier& c) = delete; + MeshFacetModifier& operator = (MeshFacetModifier&& c) = delete; /** * Replaces the index of the corner point of the facet at position \a pos @@ -729,50 +747,19 @@ private: }; inline MeshPoint::MeshPoint (float x, float y, float z) -#ifdef _MSC_VER -: Vector3f(x, y, z), -#else -: Base::Vector3f(x, y, z), -#endif - _ucFlag(0), - _ulProp(0) + : Base::Vector3f(x, y, z), + _ucFlag(0), + _ulProp(0) { } inline MeshPoint::MeshPoint (const Base::Vector3f &rclPt) -#ifdef _MSC_VER -: Vector3f(rclPt), -#else -: Base::Vector3f(rclPt), -#endif - _ucFlag(0), - _ulProp(0) + : Base::Vector3f(rclPt), + _ucFlag(0), + _ulProp(0) { } -inline MeshPoint::MeshPoint (const MeshPoint &rclPt) -#ifdef _MSC_VER -: Vector3f(rclPt), -#else -: Base::Vector3f(rclPt), -#endif - _ucFlag(rclPt._ucFlag), - _ulProp(rclPt._ulProp) -{ -} - -inline MeshPoint& MeshPoint::operator = (const MeshPoint &rclPt) -{ -#ifdef _MSC_VER - Vector3f::operator=(rclPt); -#else - Base::Vector3f::operator=(rclPt); -#endif - _ucFlag = rclPt._ucFlag; - _ulProp = rclPt._ulProp; - return *this; -} - inline bool MeshPoint::operator == (const MeshPoint &rclPt) const { return Base::DistanceP2(*this, rclPt) < MeshDefinitions::_fMinPointDistanceP2; @@ -844,7 +831,7 @@ inline void MeshGeomFacet::AdjustCirculationDirection () inline Base::BoundBox3f MeshGeomFacet::GetBoundBox () const { - return Base::BoundBox3f(_aclPoints, 3); + return {_aclPoints, 3}; } inline float MeshGeomFacet::Perimeter() const @@ -873,8 +860,8 @@ inline bool MeshGeomFacet::ContainedByOrIntersectBoundingBox ( const Base::Bound return true; // Test, whether one of the corner points is in BB - for (int i=0;i<3;i++) { - if (rclBB.IsInBox(_aclPoints[i])) + for (auto pnt : _aclPoints) { + if (rclBB.IsInBox(pnt)) return true; } @@ -900,19 +887,6 @@ inline MeshFacet::MeshFacet () memset(_aulPoints, 0xff, sizeof(PointIndex) * 3); } -inline MeshFacet::MeshFacet(const MeshFacet &rclF) -: _ucFlag(rclF._ucFlag), - _ulProp(rclF._ulProp) -{ - _aulPoints[0] = rclF._aulPoints[0]; - _aulPoints[1] = rclF._aulPoints[1]; - _aulPoints[2] = rclF._aulPoints[2]; - - _aulNeighbours[0] = rclF._aulNeighbours[0]; - _aulNeighbours[1] = rclF._aulNeighbours[1]; - _aulNeighbours[2] = rclF._aulNeighbours[2]; -} - inline MeshFacet::MeshFacet(PointIndex p1,PointIndex p2,PointIndex p3, FacetIndex n1,FacetIndex n2,FacetIndex n3) : _ucFlag(0), @@ -927,22 +901,6 @@ inline MeshFacet::MeshFacet(PointIndex p1,PointIndex p2,PointIndex p3, _aulNeighbours[2] = n3; } -inline MeshFacet& MeshFacet::operator = (const MeshFacet &rclF) -{ - _ucFlag = rclF._ucFlag; - _ulProp = rclF._ulProp; - - _aulPoints[0] = rclF._aulPoints[0]; - _aulPoints[1] = rclF._aulPoints[1]; - _aulPoints[2] = rclF._aulPoints[2]; - - _aulNeighbours[0] = rclF._aulNeighbours[0]; - _aulNeighbours[1] = rclF._aulNeighbours[1]; - _aulNeighbours[2] = rclF._aulNeighbours[2]; - - return *this; -} - void MeshFacet::SetVertices(PointIndex p1,PointIndex p2,PointIndex p3) { _aulPoints[0] = p1; @@ -965,7 +923,7 @@ inline void MeshFacet::GetEdge (unsigned short usSide, MeshHelpEdge &rclEdge) co inline std::pair MeshFacet::GetEdge (unsigned short usSide) const { - return std::pair(_aulPoints[usSide], _aulPoints[(usSide+1)%3]); + return {_aulPoints[usSide], _aulPoints[(usSide+1)%3]}; } inline void MeshFacet::Transpose (PointIndex ulOrig, PointIndex ulNew) diff --git a/src/Mod/Mesh/App/Core/Evaluation.cpp b/src/Mod/Mesh/App/Core/Evaluation.cpp index 4186dde2b9..66307a66ab 100644 --- a/src/Mod/Mesh/App/Core/Evaluation.cpp +++ b/src/Mod/Mesh/App/Core/Evaluation.cpp @@ -42,9 +42,7 @@ using namespace MeshCore; -MeshOrientationVisitor::MeshOrientationVisitor() : _nonuniformOrientation(false) -{ -} +MeshOrientationVisitor::MeshOrientationVisitor() = default; bool MeshOrientationVisitor::Visit (const MeshFacet &rclFacet, const MeshFacet &rclFrom, FacetIndex ulFInd, unsigned long ulLevel) @@ -123,10 +121,6 @@ MeshEvalOrientation::MeshEvalOrientation (const MeshKernel& rclM) { } -MeshEvalOrientation::~MeshEvalOrientation() -{ -} - bool MeshEvalOrientation::Evaluate () { const MeshFacetArray& rFAry = _rclMesh.GetFacets(); @@ -161,16 +155,16 @@ unsigned long MeshEvalOrientation::HasFalsePositives(const std::vector::const_iterator it = inds.begin(); it != inds.end(); ++it) { - const MeshFacet& f = iBeg[*it]; - for (int i = 0; i < 3; i++) { - if (f._aulNeighbours[i] != FACET_INDEX_MAX) { - const MeshFacet& n = iBeg[f._aulNeighbours[i]]; + for (FacetIndex it : inds) { + const MeshFacet& f = iBeg[it]; + for (FacetIndex nbIndex : f._aulNeighbours) { + if (nbIndex != FACET_INDEX_MAX) { + const MeshFacet& n = iBeg[nbIndex]; if (f.IsFlag(MeshFacet::TMP0) && !n.IsFlag(MeshFacet::TMP0)) { for (int j = 0; j < 3; j++) { if (f.HasSameOrientation(n)) { // adjacent face with same orientation => false positive - return f._aulNeighbours[i]; + return nbIndex; } } } @@ -186,7 +180,7 @@ std::vector MeshEvalOrientation::GetIndices() const FacetIndex ulStartFacet, ulVisited; if (_rclMesh.CountFacets() == 0) - return std::vector(); + return {}; // reset VISIT flags MeshAlgorithm cAlg(_rclMesh); @@ -267,10 +261,6 @@ MeshFixOrientation::MeshFixOrientation (MeshKernel& rclM) { } -MeshFixOrientation::~MeshFixOrientation() -{ -} - bool MeshFixOrientation::Fixup () { MeshTopoAlgorithm(_rclMesh).HarmonizeNormals(); @@ -284,17 +274,13 @@ MeshEvalSolid::MeshEvalSolid (const MeshKernel& rclM) { } -MeshEvalSolid::~MeshEvalSolid() -{ -} - bool MeshEvalSolid::Evaluate () { std::vector edges; _rclMesh.GetEdges( edges ); - for (std::vector::iterator it = edges.begin(); it != edges.end(); ++it) + for (const auto & it : edges) { - if (it->_bBorder) + if (it._bBorder) return false; } @@ -426,24 +412,23 @@ bool MeshFixTopology::Fixup () #else const MeshFacetArray& rFaces = _rclMesh.GetFacets(); deletedFaces.reserve(3 * nonManifoldList.size()); // allocate some memory - std::list >::const_iterator it; - for (it = nonManifoldList.begin(); it != nonManifoldList.end(); ++it) { + for (const auto& it : nonManifoldList) { std::vector non_mf; - non_mf.reserve(it->size()); - for (std::vector::const_iterator jt = it->begin(); jt != it->end(); ++jt) { + non_mf.reserve(it.size()); + for (FacetIndex jt : it) { // facet is only connected with one edge and there causes a non-manifold - unsigned short numOpenEdges = rFaces[*jt].CountOpenEdges(); + unsigned short numOpenEdges = rFaces[jt].CountOpenEdges(); if (numOpenEdges == 2) - non_mf.push_back(*jt); - else if (rFaces[*jt].IsDegenerated()) - non_mf.push_back(*jt); + non_mf.push_back(jt); + else if (rFaces[jt].IsDegenerated()) + non_mf.push_back(jt); } // are we able to repair the non-manifold edge by not removing all facets? - if (it->size() - non_mf.size() == 2) + if (it.size() - non_mf.size() == 2) deletedFaces.insert(deletedFaces.end(), non_mf.begin(), non_mf.end()); else - deletedFaces.insert(deletedFaces.end(), it->begin(), it->end()); + deletedFaces.insert(deletedFaces.end(), it.begin(), it.end()); } if (!deletedFaces.empty()) { @@ -573,13 +558,11 @@ bool MeshEvalSingleFacet::Evaluate () bool MeshFixSingleFacet::Fixup () { std::vector aulInvalids; -// MeshFacetArray& raFacets = _rclMesh._aclFacetArray; - for ( std::vector >::const_iterator it=_raclManifoldList.begin();it!=_raclManifoldList.end();++it ) + for (const auto & it : _raclManifoldList) { - for ( std::list::const_iterator it2 = it->begin(); it2 != it->end(); ++it2 ) + for (FacetIndex it2 : it) { - aulInvalids.push_back(*it2); -// MeshFacet& rF = raFacets[*it2]; + aulInvalids.push_back(it2); } } @@ -759,22 +742,21 @@ std::vector MeshFixSelfIntersection::GetFacets() const { std::vector indices; const MeshFacetArray& rFaces = _rclMesh.GetFacets(); - for (std::vector >::const_iterator - it = selfIntersectons.begin(); it != selfIntersectons.end(); ++it) { - unsigned short numOpenEdges1 = rFaces[it->first].CountOpenEdges(); - unsigned short numOpenEdges2 = rFaces[it->second].CountOpenEdges(); + for (const auto & it : selfIntersectons) { + unsigned short numOpenEdges1 = rFaces[it.first].CountOpenEdges(); + unsigned short numOpenEdges2 = rFaces[it.second].CountOpenEdges(); // often we have only single or border facets that intersect other facets // in this case remove only these facets and keep the other one if (numOpenEdges1 == 0 && numOpenEdges2 > 0) { - indices.push_back(it->second); + indices.push_back(it.second); } else if (numOpenEdges1 > 0 && numOpenEdges2 == 0) { - indices.push_back(it->first); + indices.push_back(it.first); } else { - indices.push_back(it->first); - indices.push_back(it->second); + indices.push_back(it.first); + indices.push_back(it.second); } } @@ -1072,9 +1054,9 @@ bool MeshEigensystem::Evaluate() float fH; const MeshPointArray& aclPoints = _rclMesh.GetPoints (); - for (MeshPointArray::_TConstIterator it = aclPoints.begin(); it!=aclPoints.end(); ++it) { + for (const auto & it : aclPoints) { // u-direction - clVect = *it - _cC; + clVect = it - _cC; clProj.ProjectToLine(clVect, _cU); clVect = clVect + clProj; fH = clVect.Length(); @@ -1087,7 +1069,7 @@ bool MeshEigensystem::Evaluate() xmin = std::min(xmin, fH); // v-direction - clVect = *it - _cC; + clVect = it - _cC; clProj.ProjectToLine(clVect, _cV); clVect = clVect + clProj; fH = clVect.Length(); @@ -1100,7 +1082,7 @@ bool MeshEigensystem::Evaluate() ymin = std::min(ymin, fH); // w-direction - clVect = *it - _cC; + clVect = it - _cC; clProj.ProjectToLine(clVect, _cW); clVect = clVect + clProj; fH = clVect.Length(); diff --git a/src/Mod/Mesh/App/Core/Evaluation.h b/src/Mod/Mesh/App/Core/Evaluation.h index 67178df649..4d0bc52400 100644 --- a/src/Mod/Mesh/App/Core/Evaluation.h +++ b/src/Mod/Mesh/App/Core/Evaluation.h @@ -45,7 +45,7 @@ class MeshExport MeshEvaluation { public: explicit MeshEvaluation (const MeshKernel &rclB) : _rclMesh(rclB) {} - virtual ~MeshEvaluation () {} + virtual ~MeshEvaluation () = default; /** * Evaluates the mesh kernel with respect to certain criteria. Must be reimplemented by every @@ -71,7 +71,7 @@ class MeshExport MeshValidation { public: explicit MeshValidation (MeshKernel &rclB) : _rclMesh(rclB) {} - virtual ~MeshValidation () {} + virtual ~MeshValidation () = default; /** * This function attempts to change the mesh kernel to be valid according to the checked @@ -99,7 +99,7 @@ public: bool HasNonUnifomOrientedFacets() const; private: - bool _nonuniformOrientation; + bool _nonuniformOrientation{false}; }; /** @@ -143,7 +143,6 @@ class MeshExport MeshEvalOrientation : public MeshEvaluation { public: explicit MeshEvalOrientation (const MeshKernel& rclM); - ~MeshEvalOrientation() override; bool Evaluate () override; std::vector GetIndices() const; @@ -159,7 +158,6 @@ class MeshExport MeshFixOrientation : public MeshValidation { public: explicit MeshFixOrientation (MeshKernel& rclM); - ~MeshFixOrientation() override; bool Fixup() override; }; @@ -173,7 +171,6 @@ class MeshExport MeshEvalSolid : public MeshEvaluation { public: explicit MeshEvalSolid (const MeshKernel& rclM); - ~MeshEvalSolid() override; bool Evaluate () override; }; @@ -189,7 +186,6 @@ class MeshExport MeshEvalTopology : public MeshEvaluation { public: explicit MeshEvalTopology (const MeshKernel &rclB) : MeshEvaluation(rclB) {} - ~MeshEvalTopology () override {} bool Evaluate () override; void GetFacetManifolds (std::vector &raclFacetIndList) const; @@ -211,7 +207,6 @@ class MeshExport MeshFixTopology : public MeshValidation public: MeshFixTopology (MeshKernel &rclB, const std::list >& mf) : MeshValidation(rclB), nonManifoldList(mf) {} - ~MeshFixTopology () override {} bool Fixup() override; const std::vector& GetDeletedFaces() const { return deletedFaces; } @@ -233,7 +228,6 @@ class MeshExport MeshEvalPointManifolds : public MeshEvaluation { public: explicit MeshEvalPointManifolds (const MeshKernel &rclB) : MeshEvaluation(rclB) {} - ~MeshEvalPointManifolds () override {} bool Evaluate () override; void GetFacetIndices (std::vector &facets) const; @@ -259,7 +253,6 @@ class MeshExport MeshEvalSingleFacet : public MeshEvalTopology { public: explicit MeshEvalSingleFacet (const MeshKernel &rclB) : MeshEvalTopology(rclB) {} - ~MeshEvalSingleFacet () override {} bool Evaluate () override; }; @@ -272,7 +265,6 @@ class MeshExport MeshFixSingleFacet : public MeshValidation public: MeshFixSingleFacet (MeshKernel &rclB, const std::vector >& mf) : MeshValidation(rclB), _raclManifoldList(mf) {} - ~MeshFixSingleFacet () override {} bool Fixup() override; protected: @@ -289,7 +281,6 @@ class MeshExport MeshEvalSelfIntersection : public MeshEvaluation { public: explicit MeshEvalSelfIntersection (const MeshKernel &rclB) : MeshEvaluation(rclB) {} - ~MeshEvalSelfIntersection () override {} /// Evaluate the mesh and return if true if there are self intersections bool Evaluate () override; /// collect all intersection lines @@ -308,7 +299,6 @@ class MeshExport MeshFixSelfIntersection : public MeshValidation public: MeshFixSelfIntersection (MeshKernel &rclB, const std::vector >& si) : MeshValidation(rclB), selfIntersectons(si) {} - ~MeshFixSelfIntersection () override {} std::vector GetFacets() const; bool Fixup() override; @@ -327,7 +317,6 @@ class MeshExport MeshEvalNeighbourhood : public MeshEvaluation { public: explicit MeshEvalNeighbourhood (const MeshKernel &rclB) : MeshEvaluation(rclB) {} - ~MeshEvalNeighbourhood () override {} bool Evaluate () override; std::vector GetIndices() const; }; @@ -340,7 +329,6 @@ class MeshExport MeshFixNeighbourhood : public MeshValidation { public: explicit MeshFixNeighbourhood (MeshKernel &rclB) : MeshValidation(rclB) {} - ~MeshFixNeighbourhood () override {} bool Fixup() override; }; @@ -358,7 +346,6 @@ class MeshExport MeshEigensystem : public MeshEvaluation { public: explicit MeshEigensystem (const MeshKernel &rclB); - ~MeshEigensystem () override {} /** Returns the transformation matrix. */ Base::Matrix4D Transform() const; diff --git a/src/Mod/Mesh/App/Core/Grid.cpp b/src/Mod/Mesh/App/Core/Grid.cpp index f59b806184..1a4dc27db0 100644 --- a/src/Mod/Mesh/App/Core/Grid.cpp +++ b/src/Mod/Mesh/App/Core/Grid.cpp @@ -748,9 +748,9 @@ bool MeshFacetGrid::Verify() const { std::vector aulElements; it.GetElements( aulElements ); - for ( std::vector::iterator itF = aulElements.begin(); itF != aulElements.end(); ++itF ) + for (ElementIndex element : aulElements) { - cF.Set( *itF ); + cF.Set( element ); if (!cF->IntersectBoundingBox(it.GetBoundBox())) return false; // no intersection between facet although the facet is in grid } @@ -906,14 +906,14 @@ unsigned long MeshFacetGrid::SearchNearestFromPoint (const Base::Vector3f &rclPt Inside(clBB, aulFacets, rclPt, fMaxSearchArea, true); - for (std::vector::const_iterator pI = aulFacets.begin(); pI != aulFacets.end(); ++pI) + for (ElementIndex facet : aulFacets) { float fDist; - if (clFTool.Distance(rclPt, *pI, fMinDist, fDist)) + if (clFTool.Distance(rclPt, facet, fMinDist, fDist)) { fMinDist = fDist; - ulFacetInd = *pI; + ulFacetInd = facet; } } @@ -1006,13 +1006,13 @@ void MeshFacetGrid::SearchNearestFacetInGrid(unsigned long ulX, unsigned long ul ElementIndex &rulFacetInd) const { const std::set &rclSet = _aulGrid[ulX][ulY][ulZ]; - for (std::set::const_iterator pI = rclSet.begin(); pI != rclSet.end(); ++pI) + for (ElementIndex pI : rclSet) { - float fDist = _pclMesh->GetFacet(*pI).DistanceToPoint(rclPt); + float fDist = _pclMesh->GetFacet(pI).DistanceToPoint(rclPt); if (fDist < rfMinDist) { rfMinDist = fDist; - rulFacetInd = *pI; + rulFacetInd = pI; } } } @@ -1090,9 +1090,9 @@ bool MeshPointGrid::Verify() const { std::vector aulElements; it.GetElements( aulElements ); - for ( std::vector::iterator itP = aulElements.begin(); itP != aulElements.end(); ++itP ) + for (ElementIndex element : aulElements) { - cP.Set( *itP ); + cP.Set( element ); if (!it.GetBoundBox().IsInBox(*cP)) return false; // point doesn't lie inside the grid element } @@ -1142,12 +1142,9 @@ unsigned long MeshPointGrid::FindElements (const Base::Vector3f &rclPoint, std:: // ---------------------------------------------------------------- MeshGridIterator::MeshGridIterator (const MeshGrid &rclG) -: _rclGrid(rclG), - _ulX(0), _ulY(0), _ulZ(0), - _clPt(0.0f, 0.0f, 0.0f), _clDir(0.0f, 0.0f, 0.0f), - _bValidRay(false), - _fMaxSearchArea (FLOAT_MAX) - + : _rclGrid(rclG) + , _clPt(0.0f, 0.0f, 0.0f) + , _clDir(0.0f, 0.0f, 0.0f) { } diff --git a/src/Mod/Mesh/App/Core/Grid.h b/src/Mod/Mesh/App/Core/Grid.h index 12b6f16c4e..3873ec3177 100644 --- a/src/Mod/Mesh/App/Core/Grid.h +++ b/src/Mod/Mesh/App/Core/Grid.h @@ -64,7 +64,7 @@ protected: public: /// Destruction - virtual ~MeshGrid () { } + virtual ~MeshGrid () = default; public: /** Attaches the mesh kernel to this grid, an already attached mesh gets detached. The grid gets rebuilt @@ -193,7 +193,7 @@ public: /// Construction MeshFacetGrid (const MeshKernel &rclM, float fGridLen); /// Destruction - ~MeshFacetGrid () override { } + ~MeshFacetGrid () override = default; //@} /** @name Search */ @@ -254,7 +254,7 @@ public: /// Construction MeshPointGrid (const MeshKernel &rclM, unsigned long ulX, unsigned long ulY, unsigned long ulZ); /// Destruction - ~MeshPointGrid () override {} + ~MeshPointGrid () override = default; //@} /** Finds all points that lie in the same grid as the point \a rclPoint. */ @@ -333,13 +333,13 @@ public: protected: const MeshGrid& _rclGrid; /**< The mesh kernel. */ - unsigned long _ulX; /**< Number of grids in x. */ - unsigned long _ulY; /**< Number of grids in y. */ - unsigned long _ulZ; /**< Number of grids in z. */ + unsigned long _ulX{0}; /**< Number of grids in x. */ + unsigned long _ulY{0}; /**< Number of grids in y. */ + unsigned long _ulZ{0}; /**< Number of grids in z. */ Base::Vector3f _clPt; /**< Base point of search ray. */ Base::Vector3f _clDir; /**< Direction of search ray. */ - bool _bValidRay; /**< Search ray ok? */ - float _fMaxSearchArea; + bool _bValidRay{false}; /**< Search ray ok? */ + float _fMaxSearchArea{FLOAT_MAX}; /** Checks if a grid position is already visited by NextOnRay(). */ struct GridElement { diff --git a/src/Mod/Mesh/App/Core/IO/ReaderOBJ.cpp b/src/Mod/Mesh/App/Core/IO/ReaderOBJ.cpp index 4c01424e80..a601a4025b 100644 --- a/src/Mod/Mesh/App/Core/IO/ReaderOBJ.cpp +++ b/src/Mod/Mesh/App/Core/IO/ReaderOBJ.cpp @@ -209,8 +209,8 @@ bool ReaderOBJ::Load(std::istream &str) _material->binding = MeshIO::PER_VERTEX; _material->diffuseColor.reserve(meshPoints.size()); - for (MeshPointArray::iterator it = meshPoints.begin(); it != meshPoints.end(); ++it) { - unsigned long prop = it->_ulProp; + for (const auto & it : meshPoints) { + unsigned long prop = it._ulProp; App::Color c; c.setPackedValue(static_cast(prop)); _material->diffuseColor.push_back(c); @@ -312,32 +312,32 @@ bool ReaderOBJ::LoadMaterial(std::istream &str) } } - for (auto it = _materialNames.begin(); it != _materialNames.end(); ++it) { + for (const auto & it : _materialNames) { { - auto jt = materialAmbientColor.find(it->first); + auto jt = materialAmbientColor.find(it.first); if (jt != materialAmbientColor.end()) { - std::vector mat(it->second, jt->second); + std::vector mat(it.second, jt->second); ambientColor.insert(ambientColor.end(), mat.begin(), mat.end()); } } { - auto jt = materialDiffuseColor.find(it->first); + auto jt = materialDiffuseColor.find(it.first); if (jt != materialDiffuseColor.end()) { - std::vector mat(it->second, jt->second); + std::vector mat(it.second, jt->second); diffuseColor.insert(diffuseColor.end(), mat.begin(), mat.end()); } } { - auto jt = materialSpecularColor.find(it->first); + auto jt = materialSpecularColor.find(it.first); if (jt != materialSpecularColor.end()) { - std::vector mat(it->second, jt->second); + std::vector mat(it.second, jt->second); specularColor.insert(specularColor.end(), mat.begin(), mat.end()); } } { - auto jt = materialTransparency.find(it->first); + auto jt = materialTransparency.find(it.first); if (jt != materialTransparency.end()) { - std::vector transp(it->second, jt->second); + std::vector transp(it.second, jt->second); transparency.insert(transparency.end(), transp.begin(), transp.end()); } } diff --git a/src/Mod/Mesh/App/Core/IO/Writer3MF.cpp b/src/Mod/Mesh/App/Core/IO/Writer3MF.cpp index 6768f67bdb..4b799010ed 100644 --- a/src/Mod/Mesh/App/Core/IO/Writer3MF.cpp +++ b/src/Mod/Mesh/App/Core/IO/Writer3MF.cpp @@ -128,10 +128,10 @@ bool Writer3MF::SaveObject(std::ostream &str, int id, const MeshKernel& mesh) co // facet indices str << Base::blanks(4) << "\n"; - for (MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) { - str << Base::blanks(5) << "_aulPoints[0] - << "\" v2=\"" << it->_aulPoints[1] - << "\" v3=\"" << it->_aulPoints[2] + for (const auto & it : rFacets) { + str << Base::blanks(5) << "\n"; } str << Base::blanks(4) << "\n"; diff --git a/src/Mod/Mesh/App/Core/IO/WriterInventor.cpp b/src/Mod/Mesh/App/Core/IO/WriterInventor.cpp index c40f890b66..f19487ed66 100644 --- a/src/Mod/Mesh/App/Core/IO/WriterInventor.cpp +++ b/src/Mod/Mesh/App/Core/IO/WriterInventor.cpp @@ -185,7 +185,6 @@ public: WriterInventor::WriterInventor(const MeshKernel& kernel, const Material* material) : _kernel(kernel) , _material(material) - , apply_transform(false) { } diff --git a/src/Mod/Mesh/App/Core/IO/WriterInventor.h b/src/Mod/Mesh/App/Core/IO/WriterInventor.h index 66cb3c63df..5d25c188e1 100644 --- a/src/Mod/Mesh/App/Core/IO/WriterInventor.h +++ b/src/Mod/Mesh/App/Core/IO/WriterInventor.h @@ -52,7 +52,7 @@ private: const MeshKernel& _kernel; const Material* _material; Base::Matrix4D _transform; - bool apply_transform; + bool apply_transform{false}; }; } // namespace MeshCore diff --git a/src/Mod/Mesh/App/Core/IO/WriterOBJ.cpp b/src/Mod/Mesh/App/Core/IO/WriterOBJ.cpp index 241295a287..534bed80a7 100644 --- a/src/Mod/Mesh/App/Core/IO/WriterOBJ.cpp +++ b/src/Mod/Mesh/App/Core/IO/WriterOBJ.cpp @@ -50,7 +50,6 @@ struct WriterOBJ::Color_Less WriterOBJ::WriterOBJ(const MeshKernel& kernel, const Material* material) : _kernel(kernel) , _material(material) - , apply_transform(false) { } @@ -192,10 +191,10 @@ bool WriterOBJ::Save(std::ostream& out) else { // facet indices (no texture and normal indices) std::size_t faceIdx = 1; - for (MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) { - out << "f " << it->_aulPoints[0]+1 << "//" << faceIdx << " " - << it->_aulPoints[1]+1 << "//" << faceIdx << " " - << it->_aulPoints[2]+1 << "//" << faceIdx << '\n'; + for (const auto & it : rFacets) { + out << "f " << it._aulPoints[0]+1 << "//" << faceIdx << " " + << it._aulPoints[1]+1 << "//" << faceIdx << " " + << it._aulPoints[2]+1 << "//" << faceIdx << '\n'; seq.next(true); // allow to cancel faceIdx++; } @@ -212,34 +211,34 @@ bool WriterOBJ::Save(std::ostream& out) App::Color prev; const std::vector& Kd = _material->diffuseColor; - for (std::vector::const_iterator gt = _groups.begin(); gt != _groups.end(); ++gt) { - out << "g " << Base::Tools::escapedUnicodeFromUtf8(gt->name.c_str()) << '\n'; - for (std::vector::const_iterator it = gt->indices.begin(); it != gt->indices.end(); ++it) { - const MeshFacet& f = rFacets[*it]; - if (first || prev != Kd[*it]) { + for (const auto & gt : _groups) { + out << "g " << Base::Tools::escapedUnicodeFromUtf8(gt.name.c_str()) << '\n'; + for (FacetIndex it : gt.indices) { + const MeshFacet& f = rFacets[it]; + if (first || prev != Kd[it]) { first = false; - prev = Kd[*it]; + prev = Kd[it]; std::vector::iterator c_it = std::find(colors.begin(), colors.end(), prev); if (c_it != colors.end()) { out << "usemtl material_" << (c_it - colors.begin()) << '\n'; } } - out << "f " << f._aulPoints[0]+1 << "//" << *it + 1 << " " - << f._aulPoints[1]+1 << "//" << *it + 1 << " " - << f._aulPoints[2]+1 << "//" << *it + 1 << '\n'; + out << "f " << f._aulPoints[0]+1 << "//" << it + 1 << " " + << f._aulPoints[1]+1 << "//" << it + 1 << " " + << f._aulPoints[2]+1 << "//" << it + 1 << '\n'; seq.next(true); // allow to cancel } } } else { - for (std::vector::const_iterator gt = _groups.begin(); gt != _groups.end(); ++gt) { - out << "g " << Base::Tools::escapedUnicodeFromUtf8(gt->name.c_str()) << '\n'; - for (std::vector::const_iterator it = gt->indices.begin(); it != gt->indices.end(); ++it) { - const MeshFacet& f = rFacets[*it]; - out << "f " << f._aulPoints[0]+1 << "//" << *it + 1 << " " - << f._aulPoints[1]+1 << "//" << *it + 1 << " " - << f._aulPoints[2]+1 << "//" << *it + 1 << '\n'; + for (const auto & gt : _groups) { + out << "g " << Base::Tools::escapedUnicodeFromUtf8(gt.name.c_str()) << '\n'; + for (FacetIndex it : gt.indices) { + const MeshFacet& f = rFacets[it]; + out << "f " << f._aulPoints[0]+1 << "//" << it + 1 << " " + << f._aulPoints[1]+1 << "//" << it + 1 << " " + << f._aulPoints[2]+1 << "//" << it + 1 << '\n'; seq.next(true); // allow to cancel } } diff --git a/src/Mod/Mesh/App/Core/IO/WriterOBJ.h b/src/Mod/Mesh/App/Core/IO/WriterOBJ.h index 6e189e42a0..171d4eccad 100644 --- a/src/Mod/Mesh/App/Core/IO/WriterOBJ.h +++ b/src/Mod/Mesh/App/Core/IO/WriterOBJ.h @@ -66,7 +66,7 @@ private: const MeshKernel& _kernel; const Material* _material; Base::Matrix4D _transform; - bool apply_transform; + bool apply_transform{false}; std::vector _groups; }; diff --git a/src/Mod/Mesh/App/Core/Info.h b/src/Mod/Mesh/App/Core/Info.h index 4da36098ee..eb224e9916 100644 --- a/src/Mod/Mesh/App/Core/Info.h +++ b/src/Mod/Mesh/App/Core/Info.h @@ -37,7 +37,7 @@ class MeshExport MeshInfo { public: explicit MeshInfo (const MeshKernel &rclM); - virtual ~MeshInfo () {} + virtual ~MeshInfo () = default; /** * Writes general information about the mesh structure into the stream. */ @@ -81,8 +81,8 @@ protected: protected: const MeshKernel &_rclMesh; // const reference to mesh data structure -private: - MeshInfo(); // not accessible default constructor +public: + MeshInfo() = delete; // not accessible default constructor }; diff --git a/src/Mod/Mesh/App/Core/Iterator.h b/src/Mod/Mesh/App/Core/Iterator.h index d251399d87..bba1755bd9 100644 --- a/src/Mod/Mesh/App/Core/Iterator.h +++ b/src/Mod/Mesh/App/Core/Iterator.h @@ -272,7 +272,7 @@ class MeshFastFacetIterator { public: inline explicit MeshFastFacetIterator (const MeshKernel &rclM); - virtual ~MeshFastFacetIterator () {} + virtual ~MeshFastFacetIterator () = default; void Init () { _clIter = _rclFAry.begin(); } inline void Next (); @@ -286,9 +286,9 @@ protected: const MeshPointArray& _rclPAry; MeshFacetArray::_TConstIterator _clIter; -private: - MeshFastFacetIterator (const MeshFastFacetIterator&); - void operator = (const MeshFastFacetIterator&); +public: + MeshFastFacetIterator (const MeshFastFacetIterator&) = delete; + void operator = (const MeshFastFacetIterator&) = delete; }; inline MeshFastFacetIterator::MeshFastFacetIterator (const MeshKernel &rclM) diff --git a/src/Mod/Mesh/App/Core/KDTree.cpp b/src/Mod/Mesh/App/Core/KDTree.cpp index f4857b371f..e7c50a88c9 100644 --- a/src/Mod/Mesh/App/Core/KDTree.cpp +++ b/src/Mod/Mesh/App/Core/KDTree.cpp @@ -39,17 +39,13 @@ struct Point3d { } - Point3d(const Point3d& pnt) : p(pnt.p), i(pnt.i) - { - } + Point3d(const Point3d& pnt) = default; Point3d(Point3d&& pnt) : p(pnt.p), i(pnt.i) { } - ~Point3d() - { - } + ~Point3d() = default; inline value_type operator[](const int N) const { @@ -66,16 +62,13 @@ struct Point3d return (this->p) != (other.p); } - inline void operator=(const Point3d& other) - { - this->p = other.p; - this->i = other.i; - } + inline Point3d& operator=(const Point3d& other) = default; - inline void operator=(Point3d&& other) + inline Point3d& operator=(Point3d&& other) { this->p = other.p; this->i = other.i; + return *this; } Base::Vector3f p; @@ -97,16 +90,16 @@ MeshKDTree::MeshKDTree() : d(new Private) MeshKDTree::MeshKDTree(const std::vector& points) : d(new Private) { PointIndex index=0; - for (std::vector::const_iterator it = points.begin(); it != points.end(); ++it) { - d->kd_tree.insert(Point3d(*it, index++)); + for (auto it : points) { + d->kd_tree.insert(Point3d(it, index++)); } } MeshKDTree::MeshKDTree(const MeshPointArray& points) : d(new Private) { PointIndex index=0; - for (MeshPointArray::_TConstIterator it = points.begin(); it != points.end(); ++it) { - d->kd_tree.insert(Point3d(*it, index++)); + for (const auto & it : points) { + d->kd_tree.insert(Point3d(it, index++)); } } @@ -115,7 +108,7 @@ MeshKDTree::~MeshKDTree() delete d; } -void MeshKDTree::AddPoint(Base::Vector3f& point) +void MeshKDTree::AddPoint(const Base::Vector3f& point) { PointIndex index=d->kd_tree.size(); d->kd_tree.insert(Point3d(point, index)); @@ -124,16 +117,16 @@ void MeshKDTree::AddPoint(Base::Vector3f& point) void MeshKDTree::AddPoints(const std::vector& points) { PointIndex index=d->kd_tree.size(); - for (std::vector::const_iterator it = points.begin(); it != points.end(); ++it) { - d->kd_tree.insert(Point3d(*it, index++)); + for (auto it : points) { + d->kd_tree.insert(Point3d(it, index++)); } } void MeshKDTree::AddPoints(const MeshPointArray& points) { PointIndex index=d->kd_tree.size(); - for (MeshPointArray::_TConstIterator it = points.begin(); it != points.end(); ++it) { - d->kd_tree.insert(Point3d(*it, index++)); + for (const auto & it : points) { + d->kd_tree.insert(Point3d(it, index++)); } } @@ -192,6 +185,6 @@ void MeshKDTree::FindInRange(const Base::Vector3f& p, float range, std::vector

v; d->kd_tree.find_within_range(Point3d(p,0), range, std::back_inserter(v)); indices.reserve(v.size()); - for (std::vector::iterator it = v.begin(); it != v.end(); ++it) - indices.push_back(it->i); + for (const auto & it : v) + indices.push_back(it.i); } diff --git a/src/Mod/Mesh/App/Core/KDTree.h b/src/Mod/Mesh/App/Core/KDTree.h index 0cc54bc95d..fbe74c2254 100644 --- a/src/Mod/Mesh/App/Core/KDTree.h +++ b/src/Mod/Mesh/App/Core/KDTree.h @@ -37,7 +37,7 @@ public: explicit MeshKDTree(const MeshPointArray& points); ~MeshKDTree(); - void AddPoint(Base::Vector3f& point); + void AddPoint(const Base::Vector3f& point); void AddPoints(const std::vector& points); void AddPoints(const MeshPointArray& points); @@ -55,8 +55,9 @@ private: class Private; Private* d; - MeshKDTree(const MeshKDTree&); - void operator= (const MeshKDTree&); +public: + MeshKDTree(const MeshKDTree&) = delete; + void operator= (const MeshKDTree&) = delete; }; } // namespace MeshCore diff --git a/src/Mod/Mesh/App/Core/MeshIO.cpp b/src/Mod/Mesh/App/Core/MeshIO.cpp index d85c5c743e..fc090c0c1a 100644 --- a/src/Mod/Mesh/App/Core/MeshIO.cpp +++ b/src/Mod/Mesh/App/Core/MeshIO.cpp @@ -69,8 +69,8 @@ namespace MeshCore { std::string& ltrim(std::string& str) { std::string::size_type pos=0; - for (std::string::iterator it = str.begin(); it != str.end(); ++it) { - if (*it != 0x20 && *it != 0x09) + for (char it : str) { + if (it != 0x20 && it != 0x09) break; pos++; } @@ -808,14 +808,13 @@ bool MeshInput::LoadPLY (std::istream &inp) if (num_z != 1) return false; - for (std::vector >::iterator it = - vertex_props.begin(); it != vertex_props.end(); ++it) { - if (it->first == "diffuse_red") - it->first = "red"; - else if (it->first == "diffuse_green") - it->first = "green"; - else if (it->first == "diffuse_blue") - it->first = "blue"; + for (auto & it : vertex_props) { + if (it.first == "diffuse_red") + it.first = "red"; + else if (it.first == "diffuse_green") + it.first = "green"; + else if (it.first == "diffuse_blue") + it.first = "blue"; } // check if valid colors are set @@ -848,8 +847,8 @@ bool MeshInput::LoadPLY (std::istream &inp) for (std::size_t i = 0; i < v_count && std::getline(inp, line); i++) { // go through the vertex properties std::map prop_values; - for (std::vector >::iterator it = vertex_props.begin(); it != vertex_props.end(); ++it) { - switch (it->second) { + for (const auto & it : vertex_props) { + switch (it.second) { case int8: case int16: case int32: @@ -857,7 +856,7 @@ bool MeshInput::LoadPLY (std::istream &inp) if (boost::regex_search(line, what, rx_s)) { int v; v = boost::lexical_cast(what[1]); - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); line = line.substr(what[0].length()); } else { @@ -871,7 +870,7 @@ bool MeshInput::LoadPLY (std::istream &inp) if (boost::regex_search(line, what, rx_u)) { int v; v = boost::lexical_cast(what[1]); - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); line = line.substr(what[0].length()); } else { @@ -884,7 +883,7 @@ bool MeshInput::LoadPLY (std::istream &inp) if (boost::regex_search(line, what, rx_d)) { double v; v = boost::lexical_cast(what[1]); - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); line = line.substr(what[0].length()); } else { @@ -931,47 +930,47 @@ bool MeshInput::LoadPLY (std::istream &inp) for (std::size_t i = 0; i < v_count; i++) { // go through the vertex properties std::map prop_values; - for (std::vector >::iterator it = vertex_props.begin(); it != vertex_props.end(); ++it) { - switch (it->second) { + for (const auto & it : vertex_props) { + switch (it.second) { case int8: { int8_t v; is >> v; - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); } break; case uint8: { uint8_t v; is >> v; - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); } break; case int16: { int16_t v; is >> v; - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); } break; case uint16: { uint16_t v; is >> v; - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); } break; case int32: { int32_t v; is >> v; - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); } break; case uint32: { uint32_t v; is >> v; - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); } break; case float32: { float v; is >> v; - prop_values[it->first] = v; + prop_values[it.first] = v; } break; case float64: { double v; is >> v; - prop_values[it->first] = static_cast(v); + prop_values[it.first] = static_cast(v); } break; default: return false; @@ -1000,8 +999,8 @@ bool MeshInput::LoadPLY (std::istream &inp) is >> f1 >> f2 >> f3; if (f1 < v_count && f2 < v_count && f3 < v_count) meshFacets.push_back(MeshFacet(f1,f2,f3)); - for (std::vector::iterator it = face_props.begin(); it != face_props.end(); ++it) { - switch (*it) { + for (auto it : face_props) { + switch (it) { case int8: { int8_t v; is >> v; @@ -1532,8 +1531,8 @@ bool MeshInput::LoadNastran (std::istream &rstrIn) // Check the triangles to make sure the vertices they refer to actually exist: for (const auto& tri : mTria) { - for (int i = 0; i < 3; ++i) { - if (mNode.find(tri.second.iV[i]) == mNode.end()) { + for (int i : tri.second.iV) { + if (mNode.find(i) == mNode.end()) { Base::Console().Error("CTRIA3 element refers to a node that does not exist, or could not be read.\n"); return false; } @@ -1542,8 +1541,8 @@ bool MeshInput::LoadNastran (std::istream &rstrIn) // Check the quads to make sure the vertices they refer to actually exist: for (const auto& quad : mQuad) { - for (int i = 0; i < 4; ++i) { - if (mNode.find(quad.second.iV[i]) == mNode.end()) { + for (int i : quad.second.iV) { + if (mNode.find(i) == mNode.end()) { Base::Console().Error("CQUAD4 element refers to a node that does not exist, or could not be read.\n"); return false; } @@ -1555,30 +1554,30 @@ bool MeshInput::LoadNastran (std::istream &rstrIn) index = 0; else index = mTria.rbegin()->first + 1; - for (std::map ::iterator QI=mQuad.begin(); QI!=mQuad.end(); ++QI) { + for (const auto & QI : mQuad) { for (int i = 0; i < 2; i++) { - float fDx = mNode[(*QI).second.iV[i+2]].x - mNode[(*QI).second.iV[i]].x; - float fDy = mNode[(*QI).second.iV[i+2]].y - mNode[(*QI).second.iV[i]].y; - float fDz = mNode[(*QI).second.iV[i+2]].z - mNode[(*QI).second.iV[i]].z; + float fDx = mNode[QI.second.iV[i+2]].x - mNode[QI.second.iV[i]].x; + float fDy = mNode[QI.second.iV[i+2]].y - mNode[QI.second.iV[i]].y; + float fDz = mNode[QI.second.iV[i+2]].z - mNode[QI.second.iV[i]].z; fLength[i] = fDx*fDx + fDy*fDy + fDz*fDz; } if (fLength[0] < fLength[1]) { - mTria[index].iV[0] = (*QI).second.iV[0]; - mTria[index].iV[1] = (*QI).second.iV[1]; - mTria[index].iV[2] = (*QI).second.iV[2]; + mTria[index].iV[0] = QI.second.iV[0]; + mTria[index].iV[1] = QI.second.iV[1]; + mTria[index].iV[2] = QI.second.iV[2]; - mTria[index+1].iV[0] = (*QI).second.iV[0]; - mTria[index+1].iV[1] = (*QI).second.iV[2]; - mTria[index+1].iV[2] = (*QI).second.iV[3]; + mTria[index+1].iV[0] = QI.second.iV[0]; + mTria[index+1].iV[1] = QI.second.iV[2]; + mTria[index+1].iV[2] = QI.second.iV[3]; } else { - mTria[index].iV[0] = (*QI).second.iV[0]; - mTria[index].iV[1] = (*QI).second.iV[1]; - mTria[index].iV[2] = (*QI).second.iV[3]; + mTria[index].iV[0] = QI.second.iV[0]; + mTria[index].iV[1] = QI.second.iV[1]; + mTria[index].iV[2] = QI.second.iV[3]; - mTria[index+1].iV[0] = (*QI).second.iV[1]; - mTria[index+1].iV[1] = (*QI).second.iV[2]; - mTria[index+1].iV[2] = (*QI).second.iV[3]; + mTria[index+1].iV[0] = QI.second.iV[1]; + mTria[index+1].iV[1] = QI.second.iV[2]; + mTria[index+1].iV[2] = QI.second.iV[3]; } index += 2; @@ -1586,16 +1585,16 @@ bool MeshInput::LoadNastran (std::istream &rstrIn) // Applying the nodes vVertices.reserve(mNode.size()); - for (std::map::iterator MI=mNode.begin(); MI!=mNode.end(); ++MI) { - vVertices.push_back(Base::Vector3f(MI->second.x, MI->second.y, MI->second.z)); + for (const auto & MI : mNode) { + vVertices.push_back(Base::Vector3f(MI.second.x, MI.second.y, MI.second.z)); } // Converting data to Mesh. Negative conversion for right orientation of normal-vectors. vTriangle.reserve(mTria.size()); - for (std::map::iterator MI=mTria.begin(); MI!=mTria.end(); ++MI) { - clMeshFacet._aulPoints[0] = (*MI).second.iV[1]; - clMeshFacet._aulPoints[1] = (*MI).second.iV[0]; - clMeshFacet._aulPoints[2] = (*MI).second.iV[2]; + for (const auto & MI : mTria) { + clMeshFacet._aulPoints[0] = MI.second.iV[1]; + clMeshFacet._aulPoints[1] = MI.second.iV[0]; + clMeshFacet._aulPoints[2] = MI.second.iV[2]; vTriangle.push_back (clMeshFacet); } @@ -1958,10 +1957,10 @@ bool MeshOutput::SaveAsciiSTL (std::ostream &rstrOut) const rstrOut << " outer loop\n"; // vertices - for (int i = 0; i < 3; i++) { - rstrOut << " vertex " << pclFacet->_aclPoints[i].x << " " - << pclFacet->_aclPoints[i].y << " " - << pclFacet->_aclPoints[i].z << '\n'; + for (const auto& pnt : pclFacet->_aclPoints) { + rstrOut << " vertex " << pnt.x << " " + << pnt.y << " " + << pnt.z << '\n'; } rstrOut << " endloop\n"; @@ -2094,10 +2093,10 @@ bool MeshOutput::SaveSMF (std::ostream &out) const } // facet indices - for (MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) { - out << "f " << it->_aulPoints[0]+1 << " " - << it->_aulPoints[1]+1 << " " - << it->_aulPoints[2]+1 << '\n'; + for (const auto & it : rFacets) { + out << "f " << it._aulPoints[0]+1 << " " + << it._aulPoints[1]+1 << " " + << it._aulPoints[2]+1 << '\n'; seq.next(true); // allow to cancel } @@ -2175,10 +2174,10 @@ bool MeshOutput::SaveAsymptote(std::ostream &out) const out << "draw(surface("; // vertices - for (int i = 0; i < 3; i++) { - out << '(' << pclFacet->_aclPoints[i].x << ", " - << pclFacet->_aclPoints[i].y << ", " - << pclFacet->_aclPoints[i].z << ")--"; + for (const auto& pnt : pclFacet->_aclPoints) { + out << '(' << pnt.x << ", " + << pnt.y << ", " + << pnt.z << ")--"; } out << "cycle"; @@ -2283,10 +2282,10 @@ bool MeshOutput::SaveOFF (std::ostream &out) const } // facet indices (no texture and normal indices) - for (MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) { - out << "3 " << it->_aulPoints[0] - << " " << it->_aulPoints[1] - << " " << it->_aulPoints[2] << '\n'; + for (const auto & it : rFacets) { + out << "3 " << it._aulPoints[0] + << " " << it._aulPoints[1] + << " " << it._aulPoints[2] << '\n'; seq.next(true); // allow to cancel } @@ -2438,21 +2437,21 @@ bool MeshOutput::SaveMeshNode (std::ostream &rstrOut) rstrOut << "[" << '\n'; if (this->apply_transform) { Base::Vector3f pt; - for (MeshPointArray::_TConstIterator it = rPoints.begin(); it != rPoints.end(); ++it) { - pt = this->_transform * *it; + for (const auto & it : rPoints) { + pt = this->_transform * it; rstrOut << "v " << pt.x << " " << pt.y << " " << pt.z << '\n'; } } else { - for (MeshPointArray::_TConstIterator it = rPoints.begin(); it != rPoints.end(); ++it) { - rstrOut << "v " << it->x << " " << it->y << " " << it->z << '\n'; + for (const auto & it : rPoints) { + rstrOut << "v " << it.x << " " << it.y << " " << it.z << '\n'; } } // facet indices (no texture and normal indices) - for (MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) { - rstrOut << "f " << it->_aulPoints[0]+1 << " " - << it->_aulPoints[1]+1 << " " - << it->_aulPoints[2]+1 << '\n'; + for (const auto & it : rFacets) { + rstrOut << "f " << it._aulPoints[0]+1 << " " + << it._aulPoints[1]+1 << " " + << it._aulPoints[2]+1 << '\n'; } rstrOut << "]" << '\n'; @@ -2473,8 +2472,8 @@ void MeshOutput::SaveXML (Base::Writer &writer) const writer.incInd(); if (this->apply_transform) { Base::Vector3f pt; - for (MeshPointArray::_TConstIterator itp = rPoints.begin(); itp != rPoints.end(); ++itp) { - pt = this->_transform * *itp; + for (const auto & it : rPoints) { + pt = this->_transform * it; writer.Stream() << writer.ind() << "

x << "\" " - << "y=\"" << itp->y << "\" " - << "z=\"" << itp->z << "\"/>" + << "x=\"" << it.x << "\" " + << "y=\"" << it.y << "\" " + << "z=\"" << it.z << "\"/>" << '\n'; } } @@ -2498,14 +2497,14 @@ void MeshOutput::SaveXML (Base::Writer &writer) const writer.Stream() << writer.ind() << "" << '\n'; writer.incInd(); - for (MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) { + for (const auto & it : rFacets) { writer.Stream() << writer.ind() << "_aulPoints[0] << "\" " - << "p1=\"" << it->_aulPoints[1] << "\" " - << "p2=\"" << it->_aulPoints[2] << "\" " - << "n0=\"" << it->_aulNeighbours[0] << "\" " - << "n1=\"" << it->_aulNeighbours[1] << "\" " - << "n2=\"" << it->_aulNeighbours[2] << "\"/>" + << "p0=\"" << it._aulPoints[0] << "\" " + << "p1=\"" << it._aulPoints[1] << "\" " + << "p2=\"" << it._aulPoints[2] << "\" " + << "n0=\"" << it._aulNeighbours[0] << "\" " + << "n1=\"" << it._aulNeighbours[1] << "\" " + << "n2=\"" << it._aulNeighbours[2] << "\"/>" << '\n'; } writer.decInd(); @@ -2579,8 +2578,8 @@ bool MeshOutput::SaveIDTF (std::ostream &str) const str << Base::tabs(4) << "}\n"; str << Base::tabs(3) << "}\n"; str << Base::tabs(3) << "MESH_FACE_POSITION_LIST {\n"; - for (MeshFacetArray::_TConstIterator it = fts.begin(); it != fts.end(); ++it) { - str << Base::tabs(4) << it->_aulPoints[0] << " " << it->_aulPoints[1] << " " << it->_aulPoints[2] << '\n'; + for (const auto & ft : fts) { + str << Base::tabs(4) << ft._aulPoints[0] << " " << ft._aulPoints[1] << " " << ft._aulPoints[2] << '\n'; } str << Base::tabs(3) << "}\n"; str << Base::tabs(3) << "MESH_FACE_NORMAL_LIST {\n"; @@ -2596,13 +2595,13 @@ bool MeshOutput::SaveIDTF (std::ostream &str) const } str << Base::tabs(3) << "}\n"; str << Base::tabs(3) << "MODEL_POSITION_LIST {\n"; - for (MeshPointArray::_TConstIterator it = pts.begin(); it != pts.end(); ++it) { - str << Base::tabs(4) << it->x << " " << it->y << " " << it->z << '\n'; + for (const auto & pt : pts) { + str << Base::tabs(4) << pt.x << " " << pt.y << " " << pt.z << '\n'; } str << Base::tabs(3) << "}\n"; str << Base::tabs(3) << "MODEL_NORMAL_LIST {\n"; - for (MeshFacetArray::_TConstIterator it = fts.begin(); it != fts.end(); ++it) { - MeshGeomFacet face = _rclMesh.GetFacet(*it); + for (const auto & ft : fts) { + MeshGeomFacet face = _rclMesh.GetFacet(ft); Base::Vector3f normal = face.GetNormal(); str << Base::tabs(4) << normal.x << " " << normal.y << " " << normal.z << '\n'; str << Base::tabs(4) << normal.x << " " << normal.y << " " << normal.z << '\n'; @@ -2640,26 +2639,26 @@ triplot t xt yt zt 'b' str << "light on\n"; str << "list t "; - for (MeshFacetArray::_TConstIterator it = fts.begin(); it != fts.end(); ++it) { - str << it->_aulPoints[0] << " " << it->_aulPoints[1] << " " << it->_aulPoints[2] << " | "; + for (const auto & ft : fts) { + str << ft._aulPoints[0] << " " << ft._aulPoints[1] << " " << ft._aulPoints[2] << " | "; } str << std::endl; str << "list xt "; - for (MeshPointArray::_TConstIterator it = pts.begin(); it != pts.end(); ++it) { - str << it->x << " "; + for (const auto & pt : pts) { + str << pt.x << " "; } str << std::endl; str << "list yt "; - for (MeshPointArray::_TConstIterator it = pts.begin(); it != pts.end(); ++it) { - str << it->y << " "; + for (const auto & pt : pts) { + str << pt.y << " "; } str << std::endl; str << "list zt "; - for (MeshPointArray::_TConstIterator it = pts.begin(); it != pts.end(); ++it) { - str << it->z << " "; + for (const auto & pt : pts) { + str << pt.z << " "; } str << std::endl; @@ -2786,14 +2785,14 @@ bool MeshOutput::SaveX3DContent (std::ostream &out, bool exportViewpoints) const } out << "coordIndex=\""; - for (MeshFacetArray::_TConstIterator it = fts.begin(); it != fts.end(); ++it) { - out << it->_aulPoints[0] << " " << it->_aulPoints[1] << " " << it->_aulPoints[2] << " -1 "; + for (const auto & ft : fts) { + out << ft._aulPoints[0] << " " << ft._aulPoints[1] << " " << ft._aulPoints[2] << " -1 "; } out << "\">\n"; out << " x << " " << it->y << " " << it->z << ", "; + for (const auto & pt : pts) { + out << pt.x << " " << pt.y << " " << pt.z << ", "; } out << "\"/>\n"; @@ -2936,10 +2935,10 @@ bool MeshOutput::SavePython (std::ostream &str) const str << "faces = [\n"; for (clIter.Init(); clIter.More(); clIter.Next()) { const MeshGeomFacet& rFacet = *clIter; - for (int i = 0; i < 3; i++) { - str << "[" << rFacet._aclPoints[i].x - << "," << rFacet._aclPoints[i].y - << "," << rFacet._aclPoints[i].z + for (const auto& pnt : rFacet._aclPoints) { + str << "[" << pnt.x + << "," << pnt.y + << "," << pnt.z << "],"; } str << '\n'; @@ -3095,11 +3094,6 @@ bool MeshOutput::SaveVRML (std::ostream &rstrOut) const MeshCleanup::MeshCleanup(MeshPointArray& p, MeshFacetArray& f) : pointArray(p) , facetArray(f) - , materialArray(nullptr) -{ -} - -MeshCleanup::~MeshCleanup() { } @@ -3117,20 +3111,20 @@ void MeshCleanup::RemoveInvalids() // Now go through the facets and invalidate facets with wrong indices // If a facet is valid all its referenced points are validated again // Points that are not referenced are still invalid and thus can be deleted - for (MeshFacetArray::_TIterator it = facetArray.begin(); it != facetArray.end(); ++it) { - for (int i=0; i<3; i++) { + for (auto & it : facetArray) { + for (PointIndex point : it._aulPoints) { // vertex index out of range - if (it->_aulPoints[i] >= numPoints) { - it->SetInvalid(); + if (point >= numPoints) { + it.SetInvalid(); break; } } // validate referenced points - if (it->IsValid()) { - pointArray[it->_aulPoints[0]].ResetInvalid(); - pointArray[it->_aulPoints[1]].ResetInvalid(); - pointArray[it->_aulPoints[2]].ResetInvalid(); + if (it.IsValid()) { + pointArray[it._aulPoints[0]].ResetInvalid(); + pointArray[it._aulPoints[1]].ResetInvalid(); + pointArray[it._aulPoints[2]].ResetInvalid(); } } @@ -3229,17 +3223,13 @@ MeshPointFacetAdjacency::MeshPointFacetAdjacency(std::size_t p, MeshFacetArray& Build(); } -MeshPointFacetAdjacency::~MeshPointFacetAdjacency() -{ -} - void MeshPointFacetAdjacency::Build() { std::vector numFacetAdjacency(numPoints); - for (MeshFacetArray::iterator it = facets.begin(); it != facets.end(); ++it) { - numFacetAdjacency[it->_aulPoints[0]]++; - numFacetAdjacency[it->_aulPoints[1]]++; - numFacetAdjacency[it->_aulPoints[2]]++; + for (const auto & it : facets) { + numFacetAdjacency[it._aulPoints[0]]++; + numFacetAdjacency[it._aulPoints[1]]++; + numFacetAdjacency[it._aulPoints[2]]++; } pointFacetAdjacency.resize(numPoints); @@ -3248,8 +3238,8 @@ void MeshPointFacetAdjacency::Build() std::size_t numFacets = facets.size(); for (std::size_t i = 0; i < numFacets; i++) { - for (int j = 0; j < 3; j++) { - pointFacetAdjacency[facets[i]._aulPoints[j]].push_back(i); + for (PointIndex ptIndex : facets[i]._aulPoints) { + pointFacetAdjacency[ptIndex].push_back(i); } } } @@ -3265,11 +3255,11 @@ void MeshPointFacetAdjacency::SetFacetNeighbourhood() bool success = false; const std::vector& refFacets = pointFacetAdjacency[n1]; - for (std::vector::const_iterator it = refFacets.begin(); it != refFacets.end(); ++it) { - if (*it != index) { - MeshFacet& facet2 = facets[*it]; + for (std::size_t it : refFacets) { + if (it != index) { + MeshFacet& facet2 = facets[it]; if (facet2.HasPoint(n2)) { - facet1._aulNeighbours[i] = *it; + facet1._aulNeighbours[i] = it; success = true; break; } diff --git a/src/Mod/Mesh/App/Core/MeshIO.h b/src/Mod/Mesh/App/Core/MeshIO.h index cb8a926fb3..7f3e38a5e6 100644 --- a/src/Mod/Mesh/App/Core/MeshIO.h +++ b/src/Mod/Mesh/App/Core/MeshIO.h @@ -73,8 +73,8 @@ namespace MeshIO { struct MeshExport Material { - Material() : binding(MeshIO::OVERALL) {} - MeshIO::Binding binding; + Material() = default; + MeshIO::Binding binding{MeshIO::OVERALL}; mutable std::string library; std::vector ambientColor; /**< Defines the ambient color. */ @@ -105,7 +105,6 @@ public: : _rclMesh(rclM), _material(nullptr){} MeshInput (MeshKernel &rclM, Material* m) : _rclMesh(rclM), _material(m){} - virtual ~MeshInput () { } const std::vector& GetGroupNames() const { return _groupNames; } @@ -165,7 +164,6 @@ public: : _rclMesh(rclM), _material(nullptr), apply_transform(false){} MeshOutput (const MeshKernel &rclM, const Material* m) : _rclMesh(rclM), _material(m), apply_transform(false){} - virtual ~MeshOutput () { } void SetObjectName(const std::string& n) { objectName = n; } void SetGroups(const std::vector& g) { @@ -264,7 +262,6 @@ public: \param f -- the facet array */ MeshCleanup(MeshPointArray& p, MeshFacetArray& f); - ~MeshCleanup(); /*! \brief Set the material array. @@ -292,7 +289,7 @@ private: private: MeshPointArray& pointArray; MeshFacetArray& facetArray; - Material* materialArray; + Material* materialArray{nullptr}; }; /*! @@ -310,7 +307,6 @@ public: \param f -- the facet array */ MeshPointFacetAdjacency(std::size_t p, MeshFacetArray& f); - ~MeshPointFacetAdjacency(); /*! \brief Set the neighbourhood of two adjacent facets. diff --git a/src/Mod/Mesh/App/Core/MeshKernel.cpp b/src/Mod/Mesh/App/Core/MeshKernel.cpp index 1be0c06ef5..45063ddf86 100644 --- a/src/Mod/Mesh/App/Core/MeshKernel.cpp +++ b/src/Mod/Mesh/App/Core/MeshKernel.cpp @@ -44,8 +44,7 @@ using namespace MeshCore; -MeshKernel::MeshKernel () -: _bValid(true) +MeshKernel::MeshKernel() { _clBoundBox.SetVoid(); } @@ -71,8 +70,8 @@ MeshKernel& MeshKernel::operator = (const std::vector &rclFAry) MeshBuilder builder(*this); builder.Initialize(rclFAry.size()); - for (std::vector::const_iterator it = rclFAry.begin(); it != rclFAry.end(); ++it) - builder.AddFacet(*it); + for (const auto & it : rclFAry) + builder.AddFacet(it); builder.Finish(); @@ -184,8 +183,8 @@ unsigned long MeshKernel::AddFacets(const std::vector &rclFAry, _aclFacetArray.reserve(countFacets + countValid); // just add all faces now - for (std::vector::const_iterator pF = rclFAry.begin(); pF != rclFAry.end(); ++pF) { - _aclFacetArray.push_back(*pF); + for (const auto & pF : rclFAry) { + _aclFacetArray.push_back(pF); } RebuildNeighbours(countFacets); @@ -242,11 +241,11 @@ unsigned long MeshKernel::AddFacets(const std::vector &rclFAry, { if (pE->second.size() > 2) { - for (std::list::iterator it = pE->second.begin(); it != pE->second.end(); ++it) + for (FacetIndex it : pE->second) { - if (*it >= countFacets) { + if (it >= countFacets) { // this is a candidate - FacetIndex index = *it - countFacets; + FacetIndex index = it - countFacets; rclFAry[index].SetFlag(MeshFacet::INVALID); } } @@ -262,10 +261,10 @@ unsigned long MeshKernel::AddFacets(const std::vector &rclFAry, _aclFacetArray.reserve( _aclFacetArray.size() + countValid ); // now start inserting the facets to the data structure and set the correct neighbourhood as well FacetIndex startIndex = CountFacets(); - for (std::vector::const_iterator pF = rclFAry.begin(); pF != rclFAry.end(); ++pF) { - if (!pF->IsFlag(MeshFacet::INVALID)) { - _aclFacetArray.push_back(*pF); - pF->SetProperty(startIndex++); + for (const auto & pF : rclFAry) { + if (!pF.IsFlag(MeshFacet::INVALID)) { + _aclFacetArray.push_back(pF); + pF.SetProperty(startIndex++); } } @@ -335,8 +334,8 @@ unsigned long MeshKernel::AddFacets(const std::vector &rclFAry, const std::vector& rclPAry, bool checkManifolds) { - for (std::vector::const_iterator it = rclPAry.begin(); it != rclPAry.end(); ++it) - _clBoundBox.Add(*it); + for (auto it : rclPAry) + _clBoundBox.Add(it); this->_aclPointArray.insert(this->_aclPointArray.end(), rclPAry.begin(), rclPAry.end()); return this->AddFacets(rclFAry, checkManifolds); } @@ -354,7 +353,7 @@ void MeshKernel::Merge(const MeshPointArray& rPoints, const MeshFacetArray& rFac { if (rPoints.empty() || rFaces.empty()) return; // nothing to do - std::vector increments(rPoints.size()); + std::vector increments(rPoints.size()); FacetIndex countFacets = this->_aclFacetArray.size(); // Reserve the additional memory to append the new facets @@ -362,17 +361,17 @@ void MeshKernel::Merge(const MeshPointArray& rPoints, const MeshFacetArray& rFac // Copy the new faces immediately to the facet array MeshFacet face; - for(MeshFacetArray::_TConstIterator it = rFaces.begin(); it != rFaces.end(); ++it) { - face = *it; - for (int i=0; i<3; i++) { - increments[it->_aulPoints[i]]++; + for(const auto & it : rFaces) { + face = it; + for (PointIndex point : it._aulPoints) { + increments[point]++; } // append to the facet array this->_aclFacetArray.push_back(face); } - unsigned long countNewPoints = std::count_if(increments.begin(), increments.end(),[](unsigned long v) { + std::size_t countNewPoints = std::count_if(increments.begin(), increments.end(),[](PointIndex v) { return v > 0; }); // Reserve the additional memory to append the new points @@ -380,7 +379,7 @@ void MeshKernel::Merge(const MeshPointArray& rPoints, const MeshFacetArray& rFac this->_aclPointArray.reserve(this->_aclPointArray.size() + countNewPoints); // Now we can start inserting the points and adjust the point indices of the faces - for (std::vector::iterator it = increments.begin(); it != increments.end(); ++it) { + for (std::vector::iterator it = increments.begin(); it != increments.end(); ++it) { if (*it > 0) { // set the index of the point array *it = index++; @@ -392,8 +391,8 @@ void MeshKernel::Merge(const MeshPointArray& rPoints, const MeshFacetArray& rFac for (MeshFacetArray::_TIterator pF = this->_aclFacetArray.begin()+countFacets; pF != this->_aclFacetArray.end(); ++pF) { - for (int i=0; i<3; i++) { - pF->_aulPoints[i] = increments[pF->_aulPoints[i]]; + for (PointIndex& index : pF->_aulPoints) { + index = increments[index]; } } @@ -433,12 +432,12 @@ bool MeshKernel::DeleteFacet (const MeshFacetIterator &rclIter) ulInd = rclIter._clIter - _aclFacetArray.begin(); // invalidate neighbour indices of the neighbour facet to this facet - for (int i = 0; i < 3; i++) { - ulNFacet = rclIter._clIter->_aulNeighbours[i]; + for (FacetIndex nbIndex : rclIter._clIter->_aulNeighbours) { + ulNFacet = nbIndex; if (ulNFacet != FACET_INDEX_MAX) { - for (int j = 0; j < 3; j++) { - if (_aclFacetArray[ulNFacet]._aulNeighbours[j] == ulInd) { - _aclFacetArray[ulNFacet]._aulNeighbours[j] = FACET_INDEX_MAX; + for (FacetIndex& nbOfNb : _aclFacetArray[ulNFacet]._aulNeighbours) { + if (nbOfNb == ulInd) { + nbOfNb = FACET_INDEX_MAX; break; } } @@ -476,16 +475,16 @@ void MeshKernel::DeleteFacets (const std::vector &raulFacets) _aclPointArray.SetProperty(0); // number of referencing facets per point - for (MeshFacetArray::_TConstIterator pF = _aclFacetArray.begin(); pF != _aclFacetArray.end(); ++pF) { - _aclPointArray[pF->_aulPoints[0]]._ulProp++; - _aclPointArray[pF->_aulPoints[1]]._ulProp++; - _aclPointArray[pF->_aulPoints[2]]._ulProp++; + for (const auto & pF : _aclFacetArray) { + _aclPointArray[pF._aulPoints[0]]._ulProp++; + _aclPointArray[pF._aulPoints[1]]._ulProp++; + _aclPointArray[pF._aulPoints[2]]._ulProp++; } // invalidate facet and adjust number of point references _aclFacetArray.ResetInvalid(); - for (std::vector::const_iterator pI = raulFacets.begin(); pI != raulFacets.end(); ++pI) { - MeshFacet &rclFacet = _aclFacetArray[*pI]; + for (FacetIndex index : raulFacets) { + MeshFacet &rclFacet = _aclFacetArray[index]; rclFacet.SetInvalid(); _aclPointArray[rclFacet._aulPoints[0]]._ulProp--; _aclPointArray[rclFacet._aulPoints[1]]._ulProp--; @@ -494,9 +493,9 @@ void MeshKernel::DeleteFacets (const std::vector &raulFacets) // invalidate all unreferenced points _aclPointArray.ResetInvalid(); - for (MeshPointArray::_TIterator pP = _aclPointArray.begin(); pP != _aclPointArray.end(); ++pP) { - if (pP->_ulProp == 0) - pP->SetInvalid(); + for (auto & pP : _aclPointArray) { + if (pP._ulProp == 0) + pP.SetInvalid(); } RemoveInvalids(); @@ -528,8 +527,8 @@ bool MeshKernel::DeletePoint (const MeshPointIterator &rclIter) // check corner points of all facets while (pFIter < pFEnd) { - for (size_t i = 0; i < 3; i++) { - if (ulInd == pFIter._clIter->_aulPoints[i]) + for (PointIndex ptIndex : pFIter._clIter->_aulPoints) { + if (ulInd == ptIndex) clToDel.push_back(pFIter); } ++pFIter; @@ -548,21 +547,21 @@ bool MeshKernel::DeletePoint (const MeshPointIterator &rclIter) void MeshKernel::DeletePoints (const std::vector &raulPoints) { _aclPointArray.ResetInvalid(); - for (std::vector::const_iterator pI = raulPoints.begin(); pI != raulPoints.end(); ++pI) - _aclPointArray[*pI].SetInvalid(); + for (PointIndex ptIndex : raulPoints) + _aclPointArray[ptIndex].SetInvalid(); // delete facets if at least one corner point is invalid _aclPointArray.SetProperty(0); - for (MeshFacetArray::_TIterator pF = _aclFacetArray.begin(); pF != _aclFacetArray.end(); ++pF) { - MeshPoint &rclP0 = _aclPointArray[pF->_aulPoints[0]]; - MeshPoint &rclP1 = _aclPointArray[pF->_aulPoints[1]]; - MeshPoint &rclP2 = _aclPointArray[pF->_aulPoints[2]]; + for (auto & pF : _aclFacetArray) { + MeshPoint &rclP0 = _aclPointArray[pF._aulPoints[0]]; + MeshPoint &rclP1 = _aclPointArray[pF._aulPoints[1]]; + MeshPoint &rclP2 = _aclPointArray[pF._aulPoints[2]]; if (!rclP0.IsValid() || !rclP1.IsValid() || !rclP2.IsValid()) { - pF->SetInvalid(); + pF.SetInvalid(); } else { - pF->ResetInvalid(); + pF.ResetInvalid(); rclP0._ulProp++; rclP1._ulProp++; rclP2._ulProp++; @@ -570,9 +569,9 @@ void MeshKernel::DeletePoints (const std::vector &raulPoints) } // invalidate all unreferenced points to delete them - for (MeshPointArray::_TIterator pP = _aclPointArray.begin(); pP != _aclPointArray.end(); ++pP) { - if (pP->_ulProp == 0) - pP->SetInvalid(); + for (auto & pP : _aclPointArray) { + if (pP._ulProp == 0) + pP.SetInvalid(); } RemoveInvalids(); @@ -589,8 +588,8 @@ void MeshKernel::ErasePoint (PointIndex ulIndex, FacetIndex ulFacetIndex, bool b // check all facets while (pFIter < pFNot) { - for (int i = 0; i < 3; i++) { - if (pFIter->_aulPoints[i] == ulIndex) + for (PointIndex ptIndex : pFIter->_aulPoints) { + if (ptIndex == ulIndex) return; // point still referenced ==> do not delete } ++pFIter; @@ -598,8 +597,8 @@ void MeshKernel::ErasePoint (PointIndex ulIndex, FacetIndex ulFacetIndex, bool b ++pFIter; while (pFIter < pFEnd) { - for (int i = 0; i < 3; i++) { - if (pFIter->_aulPoints[i] == ulIndex) + for (PointIndex ptIndex : pFIter->_aulPoints) { + if (ptIndex == ulIndex) return; // point still referenced ==> do not delete } ++pFIter; @@ -613,9 +612,9 @@ void MeshKernel::ErasePoint (PointIndex ulIndex, FacetIndex ulFacetIndex, bool b // correct point indices of the facets pFIter = _aclFacetArray.begin(); while (pFIter < pFEnd) { - for (int i = 0; i < 3; i++) { - if (pFIter->_aulPoints[i] > ulIndex) - pFIter->_aulPoints[i]--; + for (PointIndex & ptIndex : pFIter->_aulPoints) { + if (ptIndex > ulIndex) + ptIndex--; } ++pFIter; } @@ -686,13 +685,13 @@ void MeshKernel::RemoveInvalids () pFEnd = _aclFacetArray.end(); for (pFIter = _aclFacetArray.begin(); pFIter != pFEnd; ++pFIter) { if (pFIter->IsValid()) { - for (int i = 0; i < 3; i++) { - FacetIndex k = pFIter->_aulNeighbours[i]; + for (FacetIndex & nbIndex : pFIter->_aulNeighbours) { + FacetIndex k = nbIndex; if (k != FACET_INDEX_MAX) { if (_aclFacetArray[k].IsValid()) - pFIter->_aulNeighbours[i] -= aulDecrements[k]; + nbIndex -= aulDecrements[k]; else - pFIter->_aulNeighbours[i] = FACET_INDEX_MAX; + nbIndex = FACET_INDEX_MAX; } } } @@ -721,8 +720,8 @@ void MeshKernel::CutFacets(const MeshFacetGrid& rclGrid, const Base::ViewProjMet MeshAlgorithm(*this).CheckFacets(rclGrid, pclProj, rclPoly, bCutInner, aulFacets ); - for (std::vector::iterator i = aulFacets.begin(); i != aulFacets.end(); ++i) - raclFacets.push_back(GetFacet(*i)); + for (FacetIndex it : aulFacets) + raclFacets.push_back(GetFacet(it)); DeleteFacets(aulFacets); } @@ -737,9 +736,9 @@ void MeshKernel::CutFacets(const MeshFacetGrid& rclGrid, const Base::ViewProjMet std::vector MeshKernel::GetFacetPoints(const std::vector& facets) const { std::vector points; - for (std::vector::const_iterator it = facets.begin(); it != facets.end(); ++it) { + for (FacetIndex it : facets) { PointIndex p0, p1, p2; - GetFacetPoints(*it, p0, p1, p2); + GetFacetPoints(it, p0, p1, p2); points.push_back(p0); points.push_back(p1); points.push_back(p2); @@ -754,19 +753,19 @@ std::vector MeshKernel::GetPointFacets(const std::vector { _aclPointArray.ResetFlag(MeshPoint::TMP0); _aclFacetArray.ResetFlag(MeshFacet::TMP0); - for (std::vector::const_iterator pI = points.begin(); pI != points.end(); ++pI) - _aclPointArray[*pI].SetFlag(MeshPoint::TMP0); + for (PointIndex point : points) + _aclPointArray[point].SetFlag(MeshPoint::TMP0); // mark facets if at least one corner point is marked - for (MeshFacetArray::_TConstIterator pF = _aclFacetArray.begin(); pF != _aclFacetArray.end(); ++pF) { - const MeshPoint &rclP0 = _aclPointArray[pF->_aulPoints[0]]; - const MeshPoint &rclP1 = _aclPointArray[pF->_aulPoints[1]]; - const MeshPoint &rclP2 = _aclPointArray[pF->_aulPoints[2]]; + for (const auto & pF : _aclFacetArray) { + const MeshPoint &rclP0 = _aclPointArray[pF._aulPoints[0]]; + const MeshPoint &rclP1 = _aclPointArray[pF._aulPoints[1]]; + const MeshPoint &rclP2 = _aclPointArray[pF._aulPoints[2]]; if (rclP0.IsFlag(MeshPoint::TMP0) || rclP1.IsFlag(MeshPoint::TMP0) || rclP2.IsFlag(MeshPoint::TMP0)) { - pF->SetFlag(MeshFacet::TMP0); + pF.SetFlag(MeshFacet::TMP0); } } @@ -784,8 +783,8 @@ std::vector MeshKernel::HasFacets (const MeshPointIterator &rclIter) std::vector aulBelongs; while (pFIter < pFEnd) { - for (int i = 0; i < 3; i++) { - if (pFIter->_aulPoints[i] == ulPtInd) { + for (PointIndex point : pFIter->_aulPoints) { + if (point == ulPtInd) { aulBelongs.push_back(pFIter - pFBegin); break; } @@ -800,8 +799,8 @@ MeshPointArray MeshKernel::GetPoints(const std::vector& indices) con { MeshPointArray ary; ary.reserve(indices.size()); - for (std::vector::const_iterator it = indices.begin(); it != indices.end(); ++it) - ary.push_back(this->_aclPointArray[*it]); + for (PointIndex it : indices) + ary.push_back(this->_aclPointArray[it]); return ary; } @@ -809,8 +808,8 @@ MeshFacetArray MeshKernel::GetFacets(const std::vector& indices) con { MeshFacetArray ary; ary.reserve(indices.size()); - for (std::vector::const_iterator it = indices.begin(); it != indices.end(); ++it) - ary.push_back(this->_aclFacetArray[*it]); + for (FacetIndex it : indices) + ary.push_back(this->_aclFacetArray[it]); return ary; } @@ -836,17 +835,17 @@ void MeshKernel::Write (std::ostream &rclOut) const str << static_cast(CountPoints()) << static_cast(CountFacets()); // write the data - for (MeshPointArray::_TConstIterator it = _aclPointArray.begin(); it != _aclPointArray.end(); ++it) { - str << it->x << it->y << it->z; + for (const auto & it : _aclPointArray) { + str << it.x << it.y << it.z; } - for (MeshFacetArray::_TConstIterator it = _aclFacetArray.begin(); it != _aclFacetArray.end(); ++it) { - str << static_cast(it->_aulPoints[0]) - << static_cast(it->_aulPoints[1]) - << static_cast(it->_aulPoints[2]); - str << static_cast(it->_aulNeighbours[0]) - << static_cast(it->_aulNeighbours[1]) - << static_cast(it->_aulNeighbours[2]); + for (const auto & it : _aclFacetArray) { + str << static_cast(it._aulPoints[0]) + << static_cast(it._aulPoints[1]) + << static_cast(it._aulPoints[2]); + str << static_cast(it._aulNeighbours[0]) + << static_cast(it._aulNeighbours[1]) + << static_cast(it._aulNeighbours[2]); } str << _clBoundBox.MinX << _clBoundBox.MaxX; @@ -891,24 +890,24 @@ void MeshKernel::Read (std::istream &rclIn) // read the data MeshPointArray pointArray; pointArray.resize(uCtPts); - for (MeshPointArray::_TIterator it = pointArray.begin(); it != pointArray.end(); ++it) { - str >> it->x >> it->y >> it->z; + for (auto & it : pointArray) { + str >> it.x >> it.y >> it.z; } MeshFacetArray facetArray; facetArray.resize(uCtFts); uint32_t v1, v2, v3; - for (MeshFacetArray::_TIterator it = facetArray.begin(); it != facetArray.end(); ++it) { + for (auto & it : facetArray) { str >> v1 >> v2 >> v3; // make sure to have valid indices if (v1 >= uCtPts || v2 >= uCtPts || v3 >= uCtPts) throw Base::BadFormatError("Invalid data structure"); - it->_aulPoints[0] = v1; - it->_aulPoints[1] = v2; - it->_aulPoints[2] = v3; + it._aulPoints[0] = v1; + it._aulPoints[1] = v2; + it._aulPoints[2] = v3; // On systems where an 'unsigned long' is a 64-bit value // the empty neighbour must be explicitly set to 'FACET_INDEX_MAX' @@ -925,19 +924,19 @@ void MeshKernel::Read (std::istream &rclIn) throw Base::BadFormatError("Invalid data structure"); if (v1 < open_edge) - it->_aulNeighbours[0] = v1; + it._aulNeighbours[0] = v1; else - it->_aulNeighbours[0] = FACET_INDEX_MAX; + it._aulNeighbours[0] = FACET_INDEX_MAX; if (v2 < open_edge) - it->_aulNeighbours[1] = v2; + it._aulNeighbours[1] = v2; else - it->_aulNeighbours[1] = FACET_INDEX_MAX; + it._aulNeighbours[1] = FACET_INDEX_MAX; if (v3 < open_edge) - it->_aulNeighbours[2] = v3; + it._aulNeighbours[2] = v3; else - it->_aulNeighbours[2] = FACET_INDEX_MAX; + it._aulNeighbours[2] = FACET_INDEX_MAX; } str >> _clBoundBox.MinX >> _clBoundBox.MaxX; @@ -983,8 +982,8 @@ void MeshKernel::Read (std::istream &rclIn) str >> magic; uCtFts = magic; pointArray.resize(uCtPts); - for (MeshPointArray::_TIterator it = pointArray.begin(); it != pointArray.end(); ++it) { - str >> it->x >> it->y >> it->z; + for (auto & it : pointArray) { + str >> it.x >> it.y >> it.z; } uint32_t dummy; for (unsigned long i=0; i> v1 >> v2 >> v3; - it->_aulNeighbours[0] = v1; - it->_aulNeighbours[1] = v2; - it->_aulNeighbours[2] = v3; + it._aulNeighbours[0] = v1; + it._aulNeighbours[1] = v2; + it._aulNeighbours[2] = v3; str >> v1 >> v2 >> v3; - it->_aulPoints[0] = v1; - it->_aulPoints[1] = v2; - it->_aulPoints[2] = v3; - str >> it->_ucFlag; + it._aulPoints[0] = v1; + it._aulPoints[1] = v2; + it._aulPoints[2] = v3; + str >> it._ucFlag; } str >> _clBoundBox.MinX @@ -1012,11 +1011,11 @@ void MeshKernel::Read (std::istream &rclIn) >> _clBoundBox.MaxZ; } - for (auto it = facetArray.begin(); it != facetArray.end(); ++it) { + for (auto & it : facetArray) { for (int i=0; i<3; i++) { - if (it->_aulPoints[i] >= uCtPts) + if (it._aulPoints[i] >= uCtPts) throw Base::BadFormatError("Invalid data structure"); - if (it->_aulNeighbours[i] < FACET_INDEX_MAX && it->_aulNeighbours[i] >= uCtFts) + if (it._aulNeighbours[i] < FACET_INDEX_MAX && it._aulNeighbours[i] >= uCtFts) throw Base::BadFormatError("Invalid data structure"); } } @@ -1053,8 +1052,8 @@ void MeshKernel::Smooth(int iterations, float stepsize) void MeshKernel::RecalcBoundBox () const { _clBoundBox.SetVoid(); - for (MeshPointArray::_TConstIterator pI = _aclPointArray.begin(); pI != _aclPointArray.end(); pI++) - _clBoundBox.Add(*pI); + for (const auto & pI : _aclPointArray) + _clBoundBox.Add(pI); } std::vector MeshKernel::CalcVertexNormals() const @@ -1082,8 +1081,8 @@ std::vector MeshKernel::GetFacetNormals(const std::vector normals; normals.reserve(facets.size()); - for (std::vector::const_iterator it = facets.begin(); it != facets.end(); ++it) { - const MeshFacet& face = _aclFacetArray[*it]; + for (FacetIndex it : facets) { + const MeshFacet& face = _aclFacetArray[it]; const Base::Vector3f& p1 = _aclPointArray[face._aulPoints[0]]; const Base::Vector3f& p2 = _aclPointArray[face._aulPoints[1]]; @@ -1113,8 +1112,8 @@ float MeshKernel::GetSurface( const std::vector& aSegment ) const float fSurface = 0.0; MeshFacetIterator cIter(*this); - for (std::vector::const_iterator it = aSegment.begin(); it != aSegment.end(); ++it) { - cIter.Set(*it); + for (FacetIndex it : aSegment) { + cIter.Set(it); fSurface += cIter->Area(); } @@ -1180,18 +1179,18 @@ void MeshKernel::GetEdges (std::vector& edges) const { std::set tmp; - for (MeshFacetArray::_TConstIterator it = _aclFacetArray.begin(); it != _aclFacetArray.end(); ++it) { + for (const auto & it : _aclFacetArray) { for (int i = 0; i < 3; i++) { - tmp.insert(MeshBuilder::Edge(it->_aulPoints[i], it->_aulPoints[(i+1)%3], it->_aulNeighbours[i])); + tmp.insert(MeshBuilder::Edge(it._aulPoints[i], it._aulPoints[(i+1)%3], it._aulNeighbours[i])); } } edges.reserve(tmp.size()); - for (std::set::iterator it2 = tmp.begin(); it2 != tmp.end(); ++it2) { + for (const auto & it2 : tmp) { MeshGeomEdge edge; - edge._aclPoints[0] = this->_aclPointArray[it2->pt1]; - edge._aclPoints[1] = this->_aclPointArray[it2->pt2]; - edge._bBorder = it2->facetIdx == FACET_INDEX_MAX; + edge._aclPoints[0] = this->_aclPointArray[it2.pt1]; + edge._aclPoints[1] = this->_aclPointArray[it2.pt2]; + edge._bBorder = it2.facetIdx == FACET_INDEX_MAX; edges.push_back(edge); } @@ -1201,9 +1200,9 @@ unsigned long MeshKernel::CountEdges () const { unsigned long openEdges = 0, closedEdges = 0; - for (MeshFacetArray::_TConstIterator it = _aclFacetArray.begin(); it != _aclFacetArray.end(); ++it) { - for (int i = 0; i < 3; i++) { - if (it->_aulNeighbours[i] == FACET_INDEX_MAX) + for (const auto & it : _aclFacetArray) { + for (FacetIndex nbFacet : it._aulNeighbours) { + if (nbFacet == FACET_INDEX_MAX) openEdges++; else closedEdges++; diff --git a/src/Mod/Mesh/App/Core/MeshKernel.h b/src/Mod/Mesh/App/Core/MeshKernel.h index 45b6c58bda..d2b1322856 100644 --- a/src/Mod/Mesh/App/Core/MeshKernel.h +++ b/src/Mod/Mesh/App/Core/MeshKernel.h @@ -448,7 +448,7 @@ protected: MeshPointArray _aclPointArray; /**< Holds the array of geometric points. */ MeshFacetArray _aclFacetArray; /**< Holds the array of facets. */ mutable Base::BoundBox3f _clBoundBox; /**< The current calculated bounding box. */ - bool _bValid; /**< Current state of validality. */ + bool _bValid{true}; /**< Current state of validality. */ // friends friend class MeshPointIterator; diff --git a/src/Mod/Mesh/App/Core/Projection.cpp b/src/Mod/Mesh/App/Core/Projection.cpp index dec77fff5e..cd80d9b6c4 100644 --- a/src/Mod/Mesh/App/Core/Projection.cpp +++ b/src/Mod/Mesh/App/Core/Projection.cpp @@ -41,10 +41,6 @@ MeshProjection::MeshProjection(const MeshKernel& mesh) { } -MeshProjection::~MeshProjection() -{ -} - bool MeshProjection::bboxInsideRectangle(const Base::BoundBox3f& bbox, const Base::Vector3f& p1, const Base::Vector3f& p2, @@ -165,12 +161,12 @@ bool MeshProjection::projectLineOnMesh(const MeshFacetGrid& grid, // cut all facets with plane std::list< std::pair > cutLine; - for (std::vector::iterator it = facets.begin(); it != facets.end(); ++it) { + for (FacetIndex facet : facets) { Base::Vector3f e1, e2; - MeshGeomFacet tria = kernel.GetFacet(*it); + MeshGeomFacet tria = kernel.GetFacet(facet); if (bboxInsideRectangle(tria.GetBoundBox(), v1, v2, vd)) { if (tria.IntersectWithPlane(base, normal, e1, e2)) { - if ((*it != f1) && (*it != f2)) { + if ((facet != f1) && (facet != f2)) { // inside cut line if (!isPointInsideDistance(v1, v2, e1) || !isPointInsideDistance(v1, v2, e2)) { @@ -180,7 +176,7 @@ bool MeshProjection::projectLineOnMesh(const MeshFacetGrid& grid, cutLine.emplace_back(e1, e2); } else { - if (*it == f1) { // start facet + if (facet == f1) { // start facet if (((e2 - v1) * dir) > 0.0f) cutLine.emplace_back(v1, e2); else @@ -189,7 +185,7 @@ bool MeshProjection::projectLineOnMesh(const MeshFacetGrid& grid, //start = it - facets.begin(); } - if (*it == f2) { // end facet + if (facet == f2) { // end facet if (((e2 - v2) * -dir) > 0.0f) cutLine.emplace_back(v2, e2); else diff --git a/src/Mod/Mesh/App/Core/Projection.h b/src/Mod/Mesh/App/Core/Projection.h index 64080291af..dba05e0920 100644 --- a/src/Mod/Mesh/App/Core/Projection.h +++ b/src/Mod/Mesh/App/Core/Projection.h @@ -47,7 +47,6 @@ class MeshExport MeshProjection { public: explicit MeshProjection(const MeshKernel&); - ~MeshProjection(); bool projectLineOnMesh(const MeshFacetGrid& grid, const Base::Vector3f& p1, FacetIndex f1, const Base::Vector3f& p2, FacetIndex f2, const Base::Vector3f& view, diff --git a/src/Mod/Mesh/App/Core/Segmentation.cpp b/src/Mod/Mesh/App/Core/Segmentation.cpp index 97954ad885..df265d0359 100644 --- a/src/Mod/Mesh/App/Core/Segmentation.cpp +++ b/src/Mod/Mesh/App/Core/Segmentation.cpp @@ -53,12 +53,12 @@ void MeshSurfaceSegment::AddSegment(const std::vector& segm) MeshSegment MeshSurfaceSegment::FindSegment(FacetIndex index) const { - for (std::vector::const_iterator it = segments.begin(); it != segments.end(); ++it) { - if (std::find(it->begin(), it->end(), index) != it->end()) - return *it; + for (const auto & segment : segments) { + if (std::find(segment.begin(), segment.end(), index) != segment.end()) + return segment; } - return MeshSegment(); + return {}; } // -------------------------------------------------------- @@ -90,8 +90,8 @@ bool MeshDistancePlanarSegment::TestFacet (const MeshFacet& face) const if (!fitter->Done()) fitter->Fit(); MeshGeomFacet triangle = kernel.GetFacet(face); - for (int i=0; i<3; i++) { - if (fabs(fitter->GetDistanceToPlane(triangle._aclPoints[i])) > tolerance) + for (auto pnt : triangle._aclPoints) { + if (fabs(fitter->GetDistanceToPlane(pnt)) > tolerance) return false; } @@ -417,8 +417,8 @@ void MeshDistanceGenericSurfaceFitSegment::Initialize(FacetIndex index) bool MeshDistanceGenericSurfaceFitSegment::TestInitialFacet(FacetIndex index) const { MeshGeomFacet triangle = kernel.GetFacet(index); - for (int i=0; i<3; i++) { - if (fabs(fitter->GetDistanceToSurface(triangle._aclPoints[i])) > tolerance) + for (auto pnt : triangle._aclPoints) { + if (fabs(fitter->GetDistanceToSurface(pnt)) > tolerance) return false; } return fitter->TestTriangle(triangle); @@ -429,8 +429,8 @@ bool MeshDistanceGenericSurfaceFitSegment::TestFacet (const MeshFacet& face) con if (!fitter->Done()) fitter->Fit(); MeshGeomFacet triangle = kernel.GetFacet(face); - for (int i=0; i<3; i++) { - if (fabs(fitter->GetDistanceToSurface(triangle._aclPoints[i])) > tolerance) + for (auto ptIndex : triangle._aclPoints) { + if (fabs(fitter->GetDistanceToSurface(ptIndex)) > tolerance) return false; } @@ -452,8 +452,8 @@ std::vector MeshDistanceGenericSurfaceFitSegment::Parameters() const bool MeshCurvaturePlanarSegment::TestFacet (const MeshFacet &rclFacet) const { - for (int i=0; i<3; i++) { - const CurvatureInfo& ci = info[rclFacet._aulPoints[i]]; + for (PointIndex ptIndex : rclFacet._aulPoints) { + const CurvatureInfo& ci = info[ptIndex]; if (fabs(ci.fMinCurvature) > tolerance) return false; if (fabs(ci.fMaxCurvature) > tolerance) @@ -465,8 +465,8 @@ bool MeshCurvaturePlanarSegment::TestFacet (const MeshFacet &rclFacet) const bool MeshCurvatureCylindricalSegment::TestFacet (const MeshFacet &rclFacet) const { - for (int i=0; i<3; i++) { - const CurvatureInfo& ci = info[rclFacet._aulPoints[i]]; + for (PointIndex ptIndex : rclFacet._aulPoints) { + const CurvatureInfo& ci = info[ptIndex]; float fMax = std::max(fabs(ci.fMaxCurvature), fabs(ci.fMinCurvature)); float fMin = std::min(fabs(ci.fMaxCurvature), fabs(ci.fMinCurvature)); if (fMin > toleranceMin) @@ -480,8 +480,8 @@ bool MeshCurvatureCylindricalSegment::TestFacet (const MeshFacet &rclFacet) cons bool MeshCurvatureSphericalSegment::TestFacet (const MeshFacet &rclFacet) const { - for (int i=0; i<3; i++) { - const CurvatureInfo& ci = info[rclFacet._aulPoints[i]]; + for (PointIndex ptIndex : rclFacet._aulPoints) { + const CurvatureInfo& ci = info[ptIndex]; if (ci.fMaxCurvature * ci.fMinCurvature < 0) return false; float diff; @@ -498,8 +498,8 @@ bool MeshCurvatureSphericalSegment::TestFacet (const MeshFacet &rclFacet) const bool MeshCurvatureFreeformSegment::TestFacet (const MeshFacet &rclFacet) const { - for (int i=0; i<3; i++) { - const CurvatureInfo& ci = info[rclFacet._aulPoints[i]]; + for (PointIndex ptIndex : rclFacet._aulPoints) { + const CurvatureInfo& ci = info[ptIndex]; if (fabs(ci.fMinCurvature-c2) > toleranceMin) return false; if (fabs(ci.fMaxCurvature-c1) > toleranceMax) @@ -516,10 +516,6 @@ MeshSurfaceVisitor::MeshSurfaceVisitor (MeshSurfaceSegment& segm, std::vector& segm cAlgo.CountFacetFlag(MeshCore::MeshFacet::VISIT); std::vector resetVisited; - for (std::vector::iterator it = segm.begin(); it != segm.end(); ++it) { + for (auto & it : segm) { cAlgo.ResetFacetsFlag(resetVisited, MeshCore::MeshFacet::VISIT); resetVisited.clear(); @@ -567,10 +563,10 @@ void MeshSegmentAlgorithm::FindSegments(std::vector& segm while (startFacet != FACET_INDEX_MAX) { // collect all facets of the same geometry std::vector indices; - (*it)->Initialize(startFacet); - if ((*it)->TestInitialFacet(startFacet)) + it->Initialize(startFacet); + if (it->TestInitialFacet(startFacet)) indices.push_back(startFacet); - MeshSurfaceVisitor pv(**it, indices); + MeshSurfaceVisitor pv(*it, indices); myKernel.VisitNeighbourFacets(pv, startFacet); // add or discard the segment @@ -578,7 +574,7 @@ void MeshSegmentAlgorithm::FindSegments(std::vector& segm resetVisited.push_back(startFacet); } else { - (*it)->AddSegment(indices); + it->AddSegment(indices); } // search for the next start facet diff --git a/src/Mod/Mesh/App/Core/Segmentation.h b/src/Mod/Mesh/App/Core/Segmentation.h index af8fd3d054..1941770a51 100644 --- a/src/Mod/Mesh/App/Core/Segmentation.h +++ b/src/Mod/Mesh/App/Core/Segmentation.h @@ -44,7 +44,7 @@ class MeshExport MeshSurfaceSegment public: explicit MeshSurfaceSegment(unsigned long minFacets) : minFacets(minFacets) {} - virtual ~MeshSurfaceSegment() {} + virtual ~MeshSurfaceSegment() = default; virtual bool TestFacet (const MeshFacet &rclFacet) const = 0; virtual const char* GetType() const = 0; virtual void Initialize(FacetIndex); @@ -92,8 +92,8 @@ protected: class MeshExport AbstractSurfaceFit { public: - AbstractSurfaceFit(){} - virtual ~AbstractSurfaceFit(){} + AbstractSurfaceFit() = default; + virtual ~AbstractSurfaceFit() = default; virtual const char* GetType() const = 0; virtual void Initialize(const MeshGeomFacet&) = 0; virtual bool TestTriangle(const MeshGeomFacet&) const = 0; @@ -257,7 +257,6 @@ class MeshExport MeshSurfaceVisitor : public MeshFacetVisitor { public: MeshSurfaceVisitor (MeshSurfaceSegment& segm, std::vector &indices); - ~MeshSurfaceVisitor () override; bool AllowVisit (const MeshFacet& face, const MeshFacet&, FacetIndex, unsigned long, unsigned short neighbourIndex) override; bool Visit (const MeshFacet & face, const MeshFacet &, diff --git a/src/Mod/Mesh/App/Core/SetOperations.cpp b/src/Mod/Mesh/App/Core/SetOperations.cpp index ea03004680..2c8671864e 100644 --- a/src/Mod/Mesh/App/Core/SetOperations.cpp +++ b/src/Mod/Mesh/App/Core/SetOperations.cpp @@ -54,10 +54,6 @@ SetOperations::SetOperations (const MeshKernel &cutMesh1, const MeshKernel &cutM { } -SetOperations::~SetOperations () -{ -} - void SetOperations::Do () { _minDistanceToPoint = 0.000001f; @@ -353,18 +349,18 @@ void SetOperations::TriangulateMesh (const MeshKernel &cutMesh, int side) tria.TriangulatePolygon(); std::vector facets = tria.GetFacets(); - for (std::vector::iterator it = facets.begin(); it != facets.end(); ++it) + for (auto & it : facets) { - if ((it->_aulPoints[0] == it->_aulPoints[1]) || - (it->_aulPoints[1] == it->_aulPoints[2]) || - (it->_aulPoints[2] == it->_aulPoints[0])) + if ((it._aulPoints[0] == it._aulPoints[1]) || + (it._aulPoints[1] == it._aulPoints[2]) || + (it._aulPoints[2] == it._aulPoints[0])) { // two same triangle corner points continue; } - MeshGeomFacet facet(points[it->_aulPoints[0]], - points[it->_aulPoints[1]], - points[it->_aulPoints[2]]); + MeshGeomFacet facet(points[it._aulPoints[0]], + points[it._aulPoints[1]], + points[it._aulPoints[2]]); //if (side == 1) // _builder.addSingleTriangle(facet._aclPoints[0], facet._aclPoints[1], facet._aclPoints[2], true, 3, 0, 1, 1); @@ -495,8 +491,7 @@ SetOperations::CollectFacetVisitor::CollectFacetVisitor (const MeshKernel& mesh, , _edges(edges) , _side(side) , _mult(mult) - , _addFacets(-1) - ,_builder(builder) + , _builder(builder) { } @@ -666,16 +661,16 @@ void MeshIntersection::getIntersection(std::list& intsc cMFI2.Set(index); facet2 = *cMFI2; - for (std::vector::iterator jt = elements.begin(); jt != elements.end(); ++jt) { - if (boxes2[index] && boxes1[*jt]) { - cMFI1.Set(*jt); + for (FacetIndex element : elements) { + if (boxes2[index] && boxes1[element]) { + cMFI1.Set(element); facet1 = *cMFI1; int ret = facet1.IntersectWithFacet(facet2, pt1, pt2); if (ret == 2) { Tuple d; d.p1 = pt1; d.p2 = pt2; - d.f1 = *jt; + d.f1 = element; d.f2 = index; intsct.push_back(d); } @@ -719,9 +714,9 @@ bool MeshIntersection::testIntersection(const MeshKernel& k1, cMFI2.Set(index); facet2 = *cMFI2; - for (std::vector::iterator jt = elements.begin(); jt != elements.end(); ++jt) { - if (boxes2[index] && boxes1[*jt]) { - cMFI1.Set(*jt); + for (FacetIndex element : elements) { + if (boxes2[index] && boxes1[element]) { + cMFI1.Set(element); facet1 = *cMFI1; int ret = facet1.IntersectWithFacet(facet2, pt1, pt2); if (ret == 2) { diff --git a/src/Mod/Mesh/App/Core/SetOperations.h b/src/Mod/Mesh/App/Core/SetOperations.h index ac27e1be36..24593a44b4 100644 --- a/src/Mod/Mesh/App/Core/SetOperations.h +++ b/src/Mod/Mesh/App/Core/SetOperations.h @@ -57,8 +57,6 @@ public: /// Construction SetOperations (const MeshKernel &cutMesh1, const MeshKernel &cutMesh2, MeshKernel &result, OperationType opType, float minDistanceToPoint = 1e-5f); - /// Destruction - virtual ~SetOperations (); public: @@ -81,9 +79,7 @@ private: public: MeshPoint pt1, pt2; // edge - Edge () - { - } + Edge () = default; Edge (MeshPoint p1, MeshPoint p2) { @@ -150,7 +146,7 @@ private: std::map &_edges; int _side; float _mult; - int _addFacets; // 0: add facets to the result 1: do not add facets to the result + int _addFacets{-1}; // 0: add facets to the result 1: do not add facets to the result Base::Builder3D& _builder; CollectFacetVisitor (const MeshKernel& mesh, std::vector& facets, std::map& edges, int side, float mult, Base::Builder3D& builder); @@ -210,9 +206,6 @@ public: , minDistance(dist) { } - ~MeshIntersection() - { - } bool hasIntersection() const; void getIntersection(std::list&) const; diff --git a/src/Mod/Mesh/App/Core/Smoothing.cpp b/src/Mod/Mesh/App/Core/Smoothing.cpp index d18703082f..3226032c2a 100644 --- a/src/Mod/Mesh/App/Core/Smoothing.cpp +++ b/src/Mod/Mesh/App/Core/Smoothing.cpp @@ -36,14 +36,10 @@ using namespace MeshCore; AbstractSmoothing::AbstractSmoothing(MeshKernel& m) : kernel(m) - , component(Normal) - , continuity(C0) { } -AbstractSmoothing::~AbstractSmoothing() -{ -} +AbstractSmoothing::~AbstractSmoothing() = default; void AbstractSmoothing::initialize(Component comp, Continuity cont) { @@ -53,11 +49,6 @@ void AbstractSmoothing::initialize(Component comp, Continuity cont) PlaneFitSmoothing::PlaneFitSmoothing(MeshKernel& m) : AbstractSmoothing(m) - , maximum(FLT_MAX) -{ -} - -PlaneFitSmoothing::~PlaneFitSmoothing() { } @@ -125,8 +116,8 @@ void PlaneFitSmoothing::SmoothPoints(unsigned int iterations, const std::vector< for (unsigned int i=0; i::const_iterator it = point_indices.begin(); it != point_indices.end(); ++it) { - v_it.Set(*it); + for (PointIndex it : point_indices) { + v_it.Set(it); MeshCore::PlaneFit pf; pf.AddPoint(*v_it); center = *v_it; @@ -169,11 +160,7 @@ void PlaneFitSmoothing::SmoothPoints(unsigned int iterations, const std::vector< } LaplaceSmoothing::LaplaceSmoothing(MeshKernel& m) - : AbstractSmoothing(m), lambda(0.6307) -{ -} - -LaplaceSmoothing::~LaplaceSmoothing() + : AbstractSmoothing(m) { } @@ -220,11 +207,11 @@ void LaplaceSmoothing::Umbrella(const MeshRefPointToPoints& vv_it, const MeshCore::MeshPointArray& points = kernel.GetPoints(); MeshCore::MeshPointArray::_TConstIterator v_beg = points.begin(); - for (std::vector::const_iterator pos = point_indices.begin(); pos != point_indices.end(); ++pos) { - const std::set& cv = vv_it[*pos]; + for (PointIndex it : point_indices) { + const std::set& cv = vv_it[it]; if (cv.size() < 3) continue; - if (cv.size() != vf_it[*pos].size()) { + if (cv.size() != vf_it[it].size()) { // do nothing for border points continue; } @@ -236,15 +223,15 @@ void LaplaceSmoothing::Umbrella(const MeshRefPointToPoints& vv_it, double delx=0.0,dely=0.0,delz=0.0; std::set::const_iterator cv_it; for (cv_it = cv.begin(); cv_it !=cv.end(); ++cv_it) { - delx += w*static_cast((v_beg[*cv_it]).x-(v_beg[*pos]).x); - dely += w*static_cast((v_beg[*cv_it]).y-(v_beg[*pos]).y); - delz += w*static_cast((v_beg[*cv_it]).z-(v_beg[*pos]).z); + delx += w*static_cast((v_beg[*cv_it]).x-(v_beg[it]).x); + dely += w*static_cast((v_beg[*cv_it]).y-(v_beg[it]).y); + delz += w*static_cast((v_beg[*cv_it]).z-(v_beg[it]).z); } - float x = static_cast(static_cast((v_beg[*pos]).x)+stepsize*delx); - float y = static_cast(static_cast((v_beg[*pos]).y)+stepsize*dely); - float z = static_cast(static_cast((v_beg[*pos]).z)+stepsize*delz); - kernel.SetPoint(*pos,x,y,z); + float x = static_cast(static_cast((v_beg[it]).x)+stepsize*delx); + float y = static_cast(static_cast((v_beg[it]).y)+stepsize*dely); + float z = static_cast(static_cast((v_beg[it]).z)+stepsize*delz); + kernel.SetPoint(it,x,y,z); } } @@ -269,11 +256,7 @@ void LaplaceSmoothing::SmoothPoints(unsigned int iterations, const std::vector

&container) } MedianFilterSmoothing::MedianFilterSmoothing(MeshKernel& m) - : AbstractSmoothing(m), weights(1) -{ -} - -MedianFilterSmoothing::~MedianFilterSmoothing() + : AbstractSmoothing(m) { } diff --git a/src/Mod/Mesh/App/Core/Smoothing.h b/src/Mod/Mesh/App/Core/Smoothing.h index f3b0acdf3b..be2b0164c9 100644 --- a/src/Mod/Mesh/App/Core/Smoothing.h +++ b/src/Mod/Mesh/App/Core/Smoothing.h @@ -23,6 +23,7 @@ #ifndef MESH_SMOOTHING_H #define MESH_SMOOTHING_H +#include #include #include "Definitions.h" @@ -62,15 +63,14 @@ public: protected: MeshKernel& kernel; - Component component; - Continuity continuity; + Component component{Normal}; + Continuity continuity{C0}; }; class MeshExport PlaneFitSmoothing : public AbstractSmoothing { public: explicit PlaneFitSmoothing(MeshKernel&); - ~PlaneFitSmoothing() override; void SetMaximum(float max) { maximum = max; } @@ -78,14 +78,13 @@ public: void SmoothPoints(unsigned int, const std::vector&) override; private: - float maximum; + float maximum{FLT_MAX}; }; class MeshExport LaplaceSmoothing : public AbstractSmoothing { public: explicit LaplaceSmoothing(MeshKernel&); - ~LaplaceSmoothing() override; void Smooth(unsigned int) override; void SmoothPoints(unsigned int, const std::vector&) override; void SetLambda(double l) { lambda = l;} @@ -98,20 +97,19 @@ protected: const std::vector&); protected: - double lambda; + double lambda{0.6307}; }; class MeshExport TaubinSmoothing : public LaplaceSmoothing { public: explicit TaubinSmoothing(MeshKernel&); - ~TaubinSmoothing() override; void Smooth(unsigned int) override; void SmoothPoints(unsigned int, const std::vector&) override; void SetMicro(double m) { micro = m;} protected: - double micro; + double micro{0.0424}; }; /*! @@ -123,7 +121,6 @@ class MeshExport MedianFilterSmoothing : public AbstractSmoothing { public: explicit MedianFilterSmoothing(MeshKernel&); - ~MedianFilterSmoothing() override; void SetWeight(int w) { weights = w; } @@ -136,7 +133,7 @@ private: const std::vector&); private: - int weights; + int weights{1}; }; } // namespace MeshCore diff --git a/src/Mod/Mesh/App/Core/SphereFit.cpp b/src/Mod/Mesh/App/Core/SphereFit.cpp index da7875d844..f87a8c72c9 100644 --- a/src/Mod/Mesh/App/Core/SphereFit.cpp +++ b/src/Mod/Mesh/App/Core/SphereFit.cpp @@ -34,18 +34,9 @@ using namespace MeshCoreFit; SphereFit::SphereFit() - : _vCenter(0, 0, 0), - _dRadius(0), - _numIter(0), - _posConvLimit(0.0001), - _vConvLimit(0.001), - _maxIter(50) + : _vCenter(0, 0, 0) {} -SphereFit::~SphereFit() -{ -} - // Set approximations before calling the fitting void SphereFit::SetApproximations(double radius, const Base::Vector3d ¢er) { @@ -125,10 +116,8 @@ float SphereFit::GetStdDeviation() const void SphereFit::ProjectToSphere() { - for (std::list< Base::Vector3f >::iterator it = _vPoints.begin(); it != _vPoints.end(); ++it) { - Base::Vector3f& cPnt = *it; - - // Compute unit vector from sphere centre to point. + for (auto & cPnt : _vPoints) { + // Compute unit vector from sphere centre to point. // Because this vector is orthogonal to the sphere's surface at the // intersection point we can easily compute the projection point on the // closest surface point using the radius of the sphere diff --git a/src/Mod/Mesh/App/Core/SphereFit.h b/src/Mod/Mesh/App/Core/SphereFit.h index d42e23077a..64c2e80a25 100644 --- a/src/Mod/Mesh/App/Core/SphereFit.h +++ b/src/Mod/Mesh/App/Core/SphereFit.h @@ -42,10 +42,6 @@ public: * Construction */ SphereFit(); - /** - * Destruction - */ - ~SphereFit() override; /** * Set approximations before calling Fit() @@ -116,11 +112,11 @@ protected: protected: Base::Vector3d _vCenter;/**< Center of sphere. */ - double _dRadius; /**< Radius of the sphere. */ - int _numIter; /**< Number of iterations for solution to converge. */ - double _posConvLimit; /**< Position and radius parameter convergence threshold. */ - double _vConvLimit; /**< Residual convergence threshold. */ - int _maxIter; /**< Maximum number of iterations. */ + double _dRadius{0}; /**< Radius of the sphere. */ + int _numIter{0}; /**< Number of iterations for solution to converge. */ + double _posConvLimit{0.0001}; /**< Position and radius parameter convergence threshold. */ + double _vConvLimit{0.001}; /**< Residual convergence threshold. */ + int _maxIter{50}; /**< Maximum number of iterations. */ }; diff --git a/src/Mod/Mesh/App/Core/Tools.cpp b/src/Mod/Mesh/App/Core/Tools.cpp index 9dfa85e44d..b9547649bf 100644 --- a/src/Mod/Mesh/App/Core/Tools.cpp +++ b/src/Mod/Mesh/App/Core/Tools.cpp @@ -36,9 +36,7 @@ MeshSearchNeighbours::MeshSearchNeighbours (const MeshKernel &rclM, float fSampl , _rclFAry(rclM.GetFacets()) , _rclPAry(rclM.GetPoints()) , _clPt2Fa(rclM) - , _fMaxDistanceP2(0) , _fSampleDistance(fSampleDistance) - , _bTooFewPoints(false) { MeshAlgorithm(_rclMesh).ResetFacetFlag(MeshFacet::MARKED); MeshAlgorithm(_rclMesh).ResetPointFlag(MeshPoint::MARKED); @@ -82,17 +80,17 @@ unsigned long MeshSearchNeighbours::NeighboursFromFacet (FacetIndex ulFacetIdx, std::set aclTmp; aclTmp.swap(_aclOuter); - for (std::set::iterator pI = aclTmp.begin(); pI != aclTmp.end(); ++pI) { - const std::set &rclISet = _clPt2Fa[*pI]; + for (PointIndex pI : aclTmp) { + const std::set &rclISet = _clPt2Fa[pI]; // search all facets hanging on this point - for (std::set::const_iterator pJ = rclISet.begin(); pJ != rclISet.end(); ++pJ) { - const MeshFacet &rclF = f_beg[*pJ]; + for (FacetIndex pJ : rclISet) { + const MeshFacet &rclF = f_beg[pJ]; if (!rclF.IsFlag(MeshFacet::MARKED)) { bool bLF = CheckDistToFacet(rclF); bFound = bFound || bLF; rclF.SetFlag(MeshFacet::MARKED); - aclTestedFacet.push_back(f_beg+*pJ); + aclTestedFacet.push_back(f_beg+pJ); } } ulVisited += rclISet.size(); @@ -109,11 +107,10 @@ unsigned long MeshSearchNeighbours::NeighboursFromFacet (FacetIndex ulFacetIdx, } // reset marked facets, points - for (std::vector::iterator pF = aclTestedFacet.begin(); - pF != aclTestedFacet.end(); ++pF) - (*pF)->ResetFlag(MeshFacet::MARKED); - for (std::set::iterator pR = _aclResult.begin(); pR != _aclResult.end(); ++pR) - _rclPAry[*pR].ResetFlag(MeshPoint::MARKED); + for (auto & pF : aclTestedFacet) + pF->ResetFlag(MeshFacet::MARKED); + for (PointIndex pR : _aclResult) + _rclPAry[pR].ResetFlag(MeshPoint::MARKED); // copy points in result container @@ -175,17 +172,17 @@ unsigned long MeshSearchNeighbours::NeighboursFromSampledFacets (FacetIndex ulFa std::set aclTmp; aclTmp.swap(_aclOuter); - for (std::set::iterator pI = aclTmp.begin(); pI != aclTmp.end(); ++pI) { - const std::set &rclISet = _clPt2Fa[*pI]; + for (PointIndex pI : aclTmp) { + const std::set &rclISet = _clPt2Fa[pI]; // search all facets hanging on this point - for (std::set::const_iterator pJ = rclISet.begin(); pJ != rclISet.end(); ++pJ) { - const MeshFacet &rclF = f_beg[*pJ]; + for (FacetIndex pJ : rclISet) { + const MeshFacet &rclF = f_beg[pJ]; if (!rclF.IsFlag(MeshFacet::MARKED)) { - bool bLF = AccumulateNeighbours(rclF, *pJ); + bool bLF = AccumulateNeighbours(rclF, pJ); bFound = bFound || bLF; rclF.SetFlag(MeshFacet::MARKED); - aclTestedFacet.push_back(f_beg+*pJ); + aclTestedFacet.push_back(f_beg+pJ); } } ulVisited += rclISet.size(); @@ -193,17 +190,17 @@ unsigned long MeshSearchNeighbours::NeighboursFromSampledFacets (FacetIndex ulFa } // reset marked facets - for (std::vector::iterator pF = aclTestedFacet.begin(); pF != aclTestedFacet.end(); ++pF) - (*pF)->ResetFlag(MeshFacet::MARKED); + for (auto & pF : aclTestedFacet) + pF->ResetFlag(MeshFacet::MARKED); // copy points in result container raclResultPoints.resize(_aclPointsResult.size()); std::copy(_aclPointsResult.begin(), _aclPointsResult.end(), raclResultPoints.begin()); // facet points - for (std::set::iterator pI = _aclResult.begin(); pI != _aclResult.end(); ++pI) { - if (InnerPoint(_rclPAry[*pI])) - raclResultPoints.push_back(_rclPAry[*pI]); + for (PointIndex pI : _aclResult) { + if (InnerPoint(_rclPAry[pI])) + raclResultPoints.push_back(_rclPAry[pI]); } return ulVisited; @@ -213,8 +210,7 @@ bool MeshSearchNeighbours::AccumulateNeighbours (const MeshFacet &rclF, FacetInd { int k = 0; - for (int i = 0; i < 3; i++) { - PointIndex ulPIdx = rclF._aulPoints[i]; + for (PointIndex ulPIdx : rclF._aulPoints) { _aclOuter.insert(ulPIdx); _aclResult.insert(ulPIdx); @@ -231,12 +227,12 @@ bool MeshSearchNeighbours::AccumulateNeighbours (const MeshFacet &rclF, FacetInd bFound = TriangleCutsSphere(rclF); if (bFound) { - std::vector &rclT = _aclSampledFacets[ulFIdx]; + const std::vector &rclT = _aclSampledFacets[ulFIdx]; std::vector clTmp; clTmp.reserve(rclT.size()); - for (std::vector::iterator pI = rclT.begin(); pI != rclT.end(); ++pI) { - if (InnerPoint(*pI)) - clTmp.push_back(*pI); + for (const auto & pI : rclT) { + if (InnerPoint(pI)) + clTmp.push_back(pI); } _aclPointsResult.insert(_aclPointsResult.end(), clTmp.begin(), clTmp.end()); } @@ -249,8 +245,8 @@ bool MeshSearchNeighbours::ExpandRadius (unsigned long ulMinPoints) { // add facets from current level _aclResult.insert(_aclOuter.begin(), _aclOuter.end()); - for (std::set::iterator pI = _aclOuter.begin(); pI != _aclOuter.end(); ++pI) - _rclPAry[*pI].SetFlag(MeshPoint::MARKED); + for (PointIndex pI : _aclOuter) + _rclPAry[pI].SetFlag(MeshPoint::MARKED); if (_aclResult.size() < ulMinPoints) { _fMaxDistanceP2 *= float(ulMinPoints) / float(_aclResult.size()); @@ -287,15 +283,15 @@ unsigned long MeshSearchNeighbours::NeighboursFacetFromFacet (FacetIndex ulFacet std::set aclTmp; aclTmp.swap(_aclOuter); - for (std::set::iterator pI = aclTmp.begin(); pI != aclTmp.end(); ++pI) { - const std::set &rclISet = _clPt2Fa[*pI]; + for (PointIndex pI : aclTmp) { + const std::set &rclISet = _clPt2Fa[pI]; // search all facets hanging on this point - for (std::set::const_iterator pJ = rclISet.begin(); pJ != rclISet.end(); ++pJ) { - const MeshFacet &rclF = f_beg[*pJ]; + for (FacetIndex pJ : rclISet) { + const MeshFacet &rclF = f_beg[pJ]; - for (int i = 0; i < 3; i++) { - if (Base::DistanceP2(_clCenter, _rclPAry[rclF._aulPoints[i]]) < _fMaxDistanceP2) { - aulFacetSet.insert(*pJ); + for (PointIndex ptIndex : rclF._aulPoints) { + if (Base::DistanceP2(_clCenter, _rclPAry[ptIndex]) < _fMaxDistanceP2) { + aulFacetSet.insert(pJ); break; } } @@ -305,7 +301,7 @@ unsigned long MeshSearchNeighbours::NeighboursFacetFromFacet (FacetIndex ulFacet bFound = bFound || bLF; rclF.SetFlag(MeshFacet::MARKED); - aclTestedFacet.push_back(f_beg+*pJ); + aclTestedFacet.push_back(f_beg+pJ); } } ulVisited += rclISet.size(); @@ -313,10 +309,10 @@ unsigned long MeshSearchNeighbours::NeighboursFacetFromFacet (FacetIndex ulFacet } // reset marked facets, points - for (std::vector::iterator pF = aclTestedFacet.begin(); pF != aclTestedFacet.end(); ++pF) - (*pF)->ResetFlag(MeshFacet::MARKED); - for (std::set::iterator pR = _aclResult.begin(); pR != _aclResult.end(); ++pR) - _rclPAry[*pR].ResetFlag(MeshPoint::MARKED); + for (auto & pF : aclTestedFacet) + pF->ResetFlag(MeshFacet::MARKED); + for (PointIndex pR : _aclResult) + _rclPAry[pR].ResetFlag(MeshPoint::MARKED); // copy points in result container raclResultPoints.resize(_aclResult.size()); diff --git a/src/Mod/Mesh/App/Core/Tools.h b/src/Mod/Mesh/App/Core/Tools.h index 3de8c9a633..9920e1d7ee 100644 --- a/src/Mod/Mesh/App/Core/Tools.h +++ b/src/Mod/Mesh/App/Core/Tools.h @@ -43,7 +43,7 @@ class MeshSearchNeighbours { public: explicit MeshSearchNeighbours ( const MeshKernel &rclM, float fSampleDistance = 1.0f); - virtual ~MeshSearchNeighbours () {} + ~MeshSearchNeighbours () = default; /** Re-initilaizes internal structures. */ void Reinit (float fSampleDistance); /** Collects all neighbour points from the facet (by index), the result are the points of the facets lying @@ -78,7 +78,7 @@ protected: const MeshFacetArray &_rclFAry; const MeshPointArray &_rclPAry; MeshRefPointToFacets _clPt2Fa; - float _fMaxDistanceP2; // square distance + float _fMaxDistanceP2{0}; // square distance Base::Vector3f _clCenter; // center points of start facet std::set _aclResult; // result container (point indices) std::set _aclOuter; // next searching points @@ -86,20 +86,19 @@ protected: std::vector > _aclSampledFacets; // sample points from each facet float _fSampleDistance; // distance between two sampled points Wm4::Sphere3 _akSphere; - bool _bTooFewPoints; + bool _bTooFewPoints{false}; -private: - MeshSearchNeighbours (const MeshSearchNeighbours&); - void operator = (const MeshSearchNeighbours&); +public: + MeshSearchNeighbours (const MeshSearchNeighbours&) = delete; + void operator = (const MeshSearchNeighbours&) = delete; }; inline bool MeshSearchNeighbours::CheckDistToFacet (const MeshFacet &rclF) { bool bFound = false; - for (int i = 0; i < 3; i++) + for (PointIndex ulPIdx : rclF._aulPoints) { - PointIndex ulPIdx = rclF._aulPoints[i]; if (!_rclPAry[ulPIdx].IsFlag(MeshPoint::MARKED)) { if (Base::DistanceP2(_clCenter, _rclPAry[ulPIdx]) < _fMaxDistanceP2) @@ -176,7 +175,7 @@ class MeshNearestIndexToPlane public: using Index = typename T::Index; MeshNearestIndexToPlane(const MeshKernel& mesh, const Base::Vector3f& b, const Base::Vector3f& n) - : nearest_index(-1),nearest_dist(FLOAT_MAX), it(mesh), base(b), normal(n) {} + : nearest_index(-1), it(mesh), base(b), normal(n) {} void operator() (Index index) { float dist = (float)fabs(it(index).DistanceToPlane(base, normal)); @@ -187,7 +186,7 @@ public: } Index nearest_index; - float nearest_dist; + float nearest_dist{FLOAT_MAX}; private: T it; diff --git a/src/Mod/Mesh/App/Core/TopoAlgorithm.cpp b/src/Mod/Mesh/App/Core/TopoAlgorithm.cpp index 7341782898..e33d338304 100644 --- a/src/Mod/Mesh/App/Core/TopoAlgorithm.cpp +++ b/src/Mod/Mesh/App/Core/TopoAlgorithm.cpp @@ -42,7 +42,7 @@ using namespace MeshCore; MeshTopoAlgorithm::MeshTopoAlgorithm (MeshKernel &rclM) -: _rclMesh(rclM), _needsCleanup(false), _cache(nullptr) +: _rclMesh(rclM) { } @@ -334,11 +334,11 @@ void MeshTopoAlgorithm::DelaunayFlip(float fMaxAngle) std::set > aEdge2Face; FacetIndex index = 0; for (MeshFacetArray::_TIterator pI = _rclMesh._aclFacetArray.begin(); pI != _rclMesh._aclFacetArray.end(); ++pI, index++) { - for (int i = 0; i < 3; i++) { + for (FacetIndex nbIndex : pI->_aulNeighbours) { // ignore open edges - if (pI->_aulNeighbours[i] != FACET_INDEX_MAX) { - FacetIndex ulFt0 = std::min(index, pI->_aulNeighbours[i]); - FacetIndex ulFt1 = std::max(index, pI->_aulNeighbours[i]); + if (nbIndex != FACET_INDEX_MAX) { + FacetIndex ulFt0 = std::min(index, nbIndex); + FacetIndex ulFt1 = std::max(index, nbIndex); aEdge2Face.insert(std::pair(ulFt0, ulFt1)); } } @@ -456,13 +456,13 @@ void MeshTopoAlgorithm::AdjustEdgesToCurvatureDirection() raFts.ResetFlag(MeshFacet::VISIT); const MeshPointArray& raPts = _rclMesh.GetPoints(); - for ( std::map, std::list >::iterator kt = aclEdgeMap.begin(); kt != aclEdgeMap.end(); ++kt ) + for (auto & kt : aclEdgeMap) { - if ( kt->second.size() == 2 ) { - PointIndex uPt1 = kt->first.first; - PointIndex uPt2 = kt->first.second; - FacetIndex uFt1 = kt->second.front(); - FacetIndex uFt2 = kt->second.back(); + if ( kt.second.size() == 2 ) { + PointIndex uPt1 = kt.first.first; + PointIndex uPt2 = kt.first.second; + FacetIndex uFt1 = kt.second.front(); + FacetIndex uFt2 = kt.second.back(); const MeshFacet& rFace1 = raFts[uFt1]; const MeshFacet& rFace2 = raFts[uFt2]; @@ -522,9 +522,8 @@ bool MeshTopoAlgorithm::InsertVertexAndSwapEdge(FacetIndex ulFacetPos, const Bas MeshFacet& rclF3 = _rclMesh._aclFacetArray[ulF2Ind]; // first facet - for (int i=0; i<3; i++ ) + for (FacetIndex uNeighbour : rclF1._aulNeighbours) { - FacetIndex uNeighbour = rclF1._aulNeighbours[i]; if ( uNeighbour!=FACET_INDEX_MAX && uNeighbour!=ulF1Ind && uNeighbour!=ulF2Ind ) { if ( ShouldSwapEdge(ulFacetPos, uNeighbour, fMaxAngle) ) { @@ -533,10 +532,9 @@ bool MeshTopoAlgorithm::InsertVertexAndSwapEdge(FacetIndex ulFacetPos, const Bas } } } - for (int i=0; i<3; i++ ) + for (FacetIndex uNeighbour : rclF2._aulNeighbours) { // second facet - FacetIndex uNeighbour = rclF2._aulNeighbours[i]; if ( uNeighbour!=FACET_INDEX_MAX && uNeighbour!=ulFacetPos && uNeighbour!=ulF2Ind ) { if ( ShouldSwapEdge(ulF1Ind, uNeighbour, fMaxAngle) ) { @@ -547,9 +545,8 @@ bool MeshTopoAlgorithm::InsertVertexAndSwapEdge(FacetIndex ulFacetPos, const Bas } // third facet - for (int i=0; i<3; i++ ) + for (FacetIndex uNeighbour : rclF3._aulNeighbours) { - FacetIndex uNeighbour = rclF3._aulNeighbours[i]; if ( uNeighbour!=FACET_INDEX_MAX && uNeighbour!=ulFacetPos && uNeighbour!=ulF1Ind ) { if ( ShouldSwapEdge(ulF2Ind, uNeighbour, fMaxAngle) ) { @@ -918,9 +915,9 @@ bool MeshTopoAlgorithm::CollapseEdge(FacetIndex ulFacetPos, FacetIndex ulNeighbo // get all facets this point is referenced by std::vector aRefs = GetFacetsToPoint(ulFacetPos, ulPointPos); - for ( std::vector::iterator it = aRefs.begin(); it != aRefs.end(); ++it ) + for (FacetIndex it : aRefs) { - MeshFacet& rFace = _rclMesh._aclFacetArray[*it]; + MeshFacet& rFace = _rclMesh._aclFacetArray[it]; rFace.Transpose( ulPointPos, ulPointNew ); } @@ -1008,12 +1005,12 @@ bool MeshTopoAlgorithm::CollapseEdge(const EdgeCollapse& ec) // adjust the neighbourhood std::vector neighbours; - for (int i=0; i<3; i++) { + for (FacetIndex nbIndex : f._aulNeighbours) { // get the neighbours of the facet that won't be invalidated - if (f._aulNeighbours[i] != FACET_INDEX_MAX) { + if (nbIndex != FACET_INDEX_MAX) { if (std::find(ec._removeFacets.begin(), ec._removeFacets.end(), - f._aulNeighbours[i]) == ec._removeFacets.end()) { - neighbours.push_back(f._aulNeighbours[i]); + nbIndex) == ec._removeFacets.end()) { + neighbours.push_back(nbIndex); } } } @@ -1058,31 +1055,31 @@ bool MeshTopoAlgorithm::CollapseFacet(FacetIndex ulFacetPos) // set the new point indices for all facets that share one of the points to be deleted std::vector aRefs = GetFacetsToPoint(ulFacetPos, ulPointInd1); - for (std::vector::iterator it = aRefs.begin(); it != aRefs.end(); ++it) { - MeshFacet& rFace = _rclMesh._aclFacetArray[*it]; + for (FacetIndex it : aRefs) { + MeshFacet& rFace = _rclMesh._aclFacetArray[it]; rFace.Transpose(ulPointInd1, ulPointInd0); } aRefs = GetFacetsToPoint(ulFacetPos, ulPointInd2); - for (std::vector::iterator it = aRefs.begin(); it != aRefs.end(); ++it) { - MeshFacet& rFace = _rclMesh._aclFacetArray[*it]; + for (FacetIndex it : aRefs) { + MeshFacet& rFace = _rclMesh._aclFacetArray[it]; rFace.Transpose(ulPointInd2, ulPointInd0); } // set the neighbourhood of the circumjacent facets - for (int i=0; i<3; i++) { - if (rclF._aulNeighbours[i] == FACET_INDEX_MAX) + for (FacetIndex nbIndex : rclF._aulNeighbours) { + if (nbIndex == FACET_INDEX_MAX) continue; - MeshFacet& rclN = _rclMesh._aclFacetArray[rclF._aulNeighbours[i]]; + MeshFacet& rclN = _rclMesh._aclFacetArray[nbIndex]; unsigned short uNSide = rclN.Side(rclF); if (rclN._aulNeighbours[(uNSide+1)%3] != FACET_INDEX_MAX) { _rclMesh._aclFacetArray[rclN._aulNeighbours[(uNSide+1)%3]] - .ReplaceNeighbour(rclF._aulNeighbours[i],rclN._aulNeighbours[(uNSide+2)%3]); + .ReplaceNeighbour(nbIndex,rclN._aulNeighbours[(uNSide+2)%3]); } if (rclN._aulNeighbours[(uNSide+2)%3] != FACET_INDEX_MAX) { _rclMesh._aclFacetArray[rclN._aulNeighbours[(uNSide+2)%3]] - .ReplaceNeighbour(rclF._aulNeighbours[i],rclN._aulNeighbours[(uNSide+1)%3]); + .ReplaceNeighbour(nbIndex,rclN._aulNeighbours[(uNSide+1)%3]); } // Isolate the neighbours from the topology @@ -1251,16 +1248,16 @@ void MeshTopoAlgorithm::SplitFacetOnTwoEdges(FacetIndex ulFacetPos, const Base:: if (n1 != FACET_INDEX_MAX) { fixIndices.push_back(n1); MeshFacet& rN = _rclMesh._aclFacetArray[n1]; - for (int i=0; i<3; i++) - fixIndices.push_back(rN._aulNeighbours[i]); + for (FacetIndex nbIndex : rN._aulNeighbours) + fixIndices.push_back(nbIndex); SplitFacet(n1, p1, p2, cntPts1); } if (n2 != FACET_INDEX_MAX) { fixIndices.push_back(n2); MeshFacet& rN = _rclMesh._aclFacetArray[n2]; - for (int i=0; i<3; i++) - fixIndices.push_back(rN._aulNeighbours[i]); + for (FacetIndex nbIndex : rN._aulNeighbours) + fixIndices.push_back(nbIndex); SplitFacet(n2, p2, p0, cntPts2); } @@ -1512,9 +1509,9 @@ void MeshTopoAlgorithm::FillupHoles(unsigned long length, int level, // split boundary loops if needed cAlgo.SplitBoundaryLoops(aBorders); - for (std::list >::iterator it = aBorders.begin(); it != aBorders.end(); ++it) { - if (it->size()-1 <= length) // ignore boundary with too many edges - aFillBorders.push_back(*it); + for (const auto & aBorder : aBorders) { + if (aBorder.size()-1 <= length) // ignore boundary with too many edges + aFillBorders.push_back(aBorder); } if (!aFillBorders.empty()) @@ -1532,10 +1529,10 @@ void MeshTopoAlgorithm::FillupHoles(int level, AbstractPolygonTriangulator& cTri MeshFacetArray newFacets; MeshPointArray newPoints; unsigned long numberOfOldPoints = _rclMesh._aclPointArray.size(); - for (std::list >::const_iterator it = aBorders.begin(); it != aBorders.end(); ++it) { + for (const auto & aBorder : aBorders) { MeshFacetArray cFacets; MeshPointArray cPoints; - std::vector bound = *it; + std::vector bound = aBorder; if (cAlgo.FillupHole(bound, cTria, cFacets, cPoints, level, &cPt2Fac)) { if (bound.front() == bound.back()) bound.pop_back(); @@ -1550,42 +1547,42 @@ void MeshTopoAlgorithm::FillupHoles(int level, AbstractPolygonTriangulator& cTri } } if (cTria.NeedsReindexing()) { - for (MeshFacetArray::_TIterator kt = cFacets.begin(); kt != cFacets.end(); ++kt ) { - kt->_aulPoints[0] = bound[kt->_aulPoints[0]]; - kt->_aulPoints[1] = bound[kt->_aulPoints[1]]; - kt->_aulPoints[2] = bound[kt->_aulPoints[2]]; - newFacets.push_back(*kt); + for (auto & cFacet : cFacets) { + cFacet._aulPoints[0] = bound[cFacet._aulPoints[0]]; + cFacet._aulPoints[1] = bound[cFacet._aulPoints[1]]; + cFacet._aulPoints[2] = bound[cFacet._aulPoints[2]]; + newFacets.push_back(cFacet); } } else { - for (MeshFacetArray::_TIterator kt = cFacets.begin(); kt != cFacets.end(); ++kt ) { - newFacets.push_back(*kt); + for (auto & cFacet : cFacets) { + newFacets.push_back(cFacet); } } } else { - aFailed.push_back(*it); + aFailed.push_back(aBorder); } } // insert new points and faces into the mesh structure _rclMesh._aclPointArray.insert(_rclMesh._aclPointArray.end(), newPoints.begin(), newPoints.end()); - for (MeshPointArray::_TIterator it = newPoints.begin(); it != newPoints.end(); ++it) - _rclMesh._clBoundBox.Add(*it); + for (const auto & newPoint : newPoints) + _rclMesh._clBoundBox.Add(newPoint); if (!newFacets.empty()) { // Do some checks for invalid point indices MeshFacetArray addFacets; addFacets.reserve(newFacets.size()); unsigned long ctPoints = _rclMesh.CountPoints(); - for (MeshFacetArray::_TIterator it = newFacets.begin(); it != newFacets.end(); ++it) { - if (it->_aulPoints[0] >= ctPoints || - it->_aulPoints[1] >= ctPoints || - it->_aulPoints[2] >= ctPoints) { + for (auto & newFacet : newFacets) { + if (newFacet._aulPoints[0] >= ctPoints || + newFacet._aulPoints[1] >= ctPoints || + newFacet._aulPoints[2] >= ctPoints) { Base::Console().Log("Ignore invalid face <%d, %d, %d> (%d vertices)\n", - it->_aulPoints[0], it->_aulPoints[1], it->_aulPoints[2], ctPoints); + newFacet._aulPoints[0], newFacet._aulPoints[1], newFacet._aulPoints[2], ctPoints); } else { - addFacets.push_back(*it); + addFacets.push_back(newFacet); } } _rclMesh.AddFacets(addFacets, true); @@ -1598,9 +1595,9 @@ void MeshTopoAlgorithm::FindHoles(unsigned long length, std::list > border; MeshAlgorithm cAlgo(_rclMesh); cAlgo.GetMeshBorders(border); - for (std::list >::iterator it = border.begin(); - it != border.end(); ++it) { - if (it->size() <= length) aBorders.push_back(*it); + for (const auto & it : border) { + if (it.size() <= length) + aBorders.push_back(it); } } @@ -1610,9 +1607,9 @@ void MeshTopoAlgorithm::FindComponents(unsigned long count, std::vector >::iterator it = segments.begin(); it != segments.end(); ++it) { - if (it->size() <= count) - findIndices.insert(findIndices.end(), it->begin(), it->end()); + for (const auto & segment : segments) { + if (segment.size() <= count) + findIndices.insert(findIndices.end(), segment.begin(), segment.end()); } } @@ -1627,8 +1624,8 @@ void MeshTopoAlgorithm::RemoveComponents(unsigned long count) void MeshTopoAlgorithm::HarmonizeNormals () { std::vector uIndices = MeshEvalOrientation(_rclMesh).GetIndices(); - for ( std::vector::iterator it = uIndices.begin(); it != uIndices.end(); ++it ) - _rclMesh._aclFacetArray[*it].FlipNormal(); + for (FacetIndex index : uIndices) + _rclMesh._aclFacetArray[index].FlipNormal(); } void MeshTopoAlgorithm::FlipNormals () @@ -1667,17 +1664,13 @@ MeshComponents::MeshComponents( const MeshKernel& rclMesh ) { } -MeshComponents::~MeshComponents() -{ -} - void MeshComponents::SearchForComponents(TMode tMode, std::vector >& aclT) const { // all facets std::vector aulAllFacets(_rclMesh.CountFacets()); FacetIndex k = 0; - for (std::vector::iterator pI = aulAllFacets.begin(); pI != aulAllFacets.end(); ++pI) - *pI = k++; + for (FacetIndex & aulAllFacet : aulAllFacets) + aulAllFacet = k++; SearchForComponents( tMode, aulAllFacets, aclT ); } diff --git a/src/Mod/Mesh/App/Core/TopoAlgorithm.h b/src/Mod/Mesh/App/Core/TopoAlgorithm.h index 101f6e83fc..9813067db2 100644 --- a/src/Mod/Mesh/App/Core/TopoAlgorithm.h +++ b/src/Mod/Mesh/App/Core/TopoAlgorithm.h @@ -47,7 +47,7 @@ class MeshExport MeshTopoAlgorithm public: // construction/destruction explicit MeshTopoAlgorithm (MeshKernel &rclM); - virtual ~MeshTopoAlgorithm (); + ~MeshTopoAlgorithm (); public: /** @name Topological Operations */ @@ -307,7 +307,7 @@ private: private: MeshKernel& _rclMesh; - bool _needsCleanup; + bool _needsCleanup{false}; struct Vertex_Less { @@ -316,7 +316,7 @@ private: // cache using tCache = std::map; - tCache* _cache; + tCache* _cache{nullptr}; }; /** @@ -331,7 +331,6 @@ public: enum TMode {OverEdge, OverPoint}; explicit MeshComponents( const MeshKernel& rclMesh ); - ~MeshComponents(); /** * Searches for 'isles' of the mesh. If \a tMode is \a OverEdge then facets diff --git a/src/Mod/Mesh/App/Core/Triangulation.cpp b/src/Mod/Mesh/App/Core/Triangulation.cpp index 6180317ce7..0816b40863 100644 --- a/src/Mod/Mesh/App/Core/Triangulation.cpp +++ b/src/Mod/Mesh/App/Core/Triangulation.cpp @@ -130,16 +130,16 @@ std::vector AbstractPolygonTriangulator::AddedPoints() const // Apply the inverse transformation to project back to world coordinates std::vector added; added.reserve(_newpoints.size()); - for (std::vector::const_iterator pt = _newpoints.begin(); pt != _newpoints.end(); ++pt) - added.push_back(_inverse * *pt); + for (auto point : _newpoints) + added.push_back(_inverse * point); return added; } Base::Matrix4D AbstractPolygonTriangulator::GetTransformToFitPlane() const { PlaneFit planeFit; - for (std::vector::const_iterator it = _points.begin(); it!=_points.end(); ++it) - planeFit.AddPoint(*it); + for (auto point : _points) + planeFit.AddPoint(point); if (planeFit.Fit() >= FLOAT_MAX) throw Base::RuntimeError("Plane fit failed"); @@ -183,8 +183,8 @@ std::vector AbstractPolygonTriangulator::ProjectToFitPlane() Base::Vector3f ey(static_cast(_inverse[0][1]), static_cast(_inverse[1][1]), static_cast(_inverse[2][1])); - for (std::vector::iterator jt = proj.begin(); jt!=proj.end(); ++jt) - jt->TransformToCoordinateSystem(bs, ex, ey); + for (auto & jt : proj) + jt.TransformToCoordinateSystem(bs, ex, ey); return proj; } @@ -205,15 +205,14 @@ void AbstractPolygonTriangulator::PostProcessing(const std::vector(_inverse[1][1]), static_cast(_inverse[2][1])); - for (std::vector::const_iterator it = points.begin(); it != points.end(); ++it) { - Base::Vector3f pt = *it; + for (auto pt : points) { pt.TransformToCoordinateSystem(bs, ex, ey); polyFit.AddPoint(pt); } if (polyFit.CountPoints() >= uMinPts && polyFit.Fit() < FLOAT_MAX) { - for (std::vector::iterator pt = _newpoints.begin(); pt != _newpoints.end(); ++pt) - pt->z = static_cast(polyFit.Value(pt->x, pt->y)); + for (auto & newpoint : _newpoints) + newpoint.z = static_cast(polyFit.Value(newpoint.x, newpoint.y)); } } @@ -276,13 +275,7 @@ void AbstractPolygonTriangulator::Done() // ------------------------------------------------------------- -EarClippingTriangulator::EarClippingTriangulator() -{ -} - -EarClippingTriangulator::~EarClippingTriangulator() -{ -} +EarClippingTriangulator::EarClippingTriangulator() = default; bool EarClippingTriangulator::Triangulate() { @@ -467,13 +460,7 @@ bool EarClippingTriangulator::Triangulate::Process(const std::vector akVertex; akVertex.reserve(_points.size()); - for (std::vector::iterator it = _points.begin(); it != _points.end(); ++it) { - akVertex.emplace_back(static_cast(it->x), static_cast(it->y)); + for (const auto & point : _points) { + akVertex.emplace_back(static_cast(point.x), static_cast(point.y)); } Wm4::Delaunay2d del(static_cast(akVertex.size()), &(akVertex[0]), 0.001, false, Wm4::Query::QT_INT64); @@ -700,13 +681,7 @@ bool DelaunayTriangulator::Triangulate() // ------------------------------------------------------------- -FlatTriangulator::FlatTriangulator() -{ -} - -FlatTriangulator::~FlatTriangulator() -{ -} +FlatTriangulator::FlatTriangulator() = default; bool FlatTriangulator::Triangulate() { @@ -748,10 +723,6 @@ ConstraintDelaunayTriangulator::ConstraintDelaunayTriangulator(float area) (void)fMaxArea; } -ConstraintDelaunayTriangulator::~ConstraintDelaunayTriangulator() -{ -} - bool ConstraintDelaunayTriangulator::Triangulate() { _newpoints.clear(); diff --git a/src/Mod/Mesh/App/Core/Triangulation.h b/src/Mod/Mesh/App/Core/Triangulation.h index 9a6b3abd66..ef0ff4b9a0 100644 --- a/src/Mod/Mesh/App/Core/Triangulation.h +++ b/src/Mod/Mesh/App/Core/Triangulation.h @@ -33,8 +33,8 @@ class MeshKernel; class MeshExport TriangulationVerifier { public: - TriangulationVerifier() {} - virtual ~TriangulationVerifier() {} + TriangulationVerifier() = default; + virtual ~TriangulationVerifier() = default; virtual bool Accept(const Base::Vector3f& n, const Base::Vector3f& p1, const Base::Vector3f& p2, @@ -148,7 +148,6 @@ class MeshExport EarClippingTriangulator : public AbstractPolygonTriangulator { public: EarClippingTriangulator(); - ~EarClippingTriangulator() override; protected: bool Triangulate() override; @@ -190,7 +189,6 @@ class MeshExport QuasiDelaunayTriangulator : public EarClippingTriangulator { public: QuasiDelaunayTriangulator(); - ~QuasiDelaunayTriangulator() override; protected: bool Triangulate() override; @@ -200,7 +198,6 @@ class MeshExport DelaunayTriangulator : public AbstractPolygonTriangulator { public: DelaunayTriangulator(); - ~DelaunayTriangulator() override; protected: bool Triangulate() override; @@ -210,7 +207,6 @@ class MeshExport FlatTriangulator : public AbstractPolygonTriangulator { public: FlatTriangulator(); - ~FlatTriangulator() override; void PostProcessing(const std::vector&) override; @@ -222,7 +218,6 @@ class MeshExport ConstraintDelaunayTriangulator : public AbstractPolygonTriangul { public: explicit ConstraintDelaunayTriangulator(float area); - ~ConstraintDelaunayTriangulator() override; protected: bool Triangulate() override; diff --git a/src/Mod/Mesh/App/Core/Trim.cpp b/src/Mod/Mesh/App/Core/Trim.cpp index a946adcd93..5359c591b3 100644 --- a/src/Mod/Mesh/App/Core/Trim.cpp +++ b/src/Mod/Mesh/App/Core/Trim.cpp @@ -36,11 +36,7 @@ using namespace MeshCore; MeshTrimming::MeshTrimming(MeshKernel &rclM, const Base::ViewProjMethod* pclProj, const Base::Polygon2d& rclPoly) - : myMesh(rclM), myInner(true), myProj(pclProj), myPoly(rclPoly) -{ -} - -MeshTrimming::~MeshTrimming() + : myMesh(rclM), myProj(pclProj), myPoly(rclPoly) { } @@ -111,8 +107,8 @@ bool MeshTrimming::HasIntersection(const MeshGeomFacet& rclFacet) const Base::Line2d clFacLine, clPolyLine; Base::Vector2d S; // is corner of facet inside the polygon - for (size_t i=0; i<3; i++) { - Base::Vector3f clPt2d = myProj->operator ()(rclFacet._aclPoints[i]); + for (auto pnt : rclFacet._aclPoints) { + Base::Vector3f clPt2d = myProj->operator ()(pnt); if (myPoly.Contains(Base::Vector2d(clPt2d.x, clPt2d.y)) == myInner) return true; else @@ -146,8 +142,8 @@ bool MeshTrimming::HasIntersection(const MeshGeomFacet& rclFacet) const bool MeshTrimming::PolygonContainsCompleteFacet(bool bInner, FacetIndex ulIndex) const { const MeshFacet &rclFacet = myMesh._aclFacetArray[ulIndex]; - for (int i=0; i<3; i++) { - const MeshPoint &rclFacPt = myMesh._aclPointArray[rclFacet._aulPoints[i]]; + for (PointIndex ptIndex : rclFacet._aulPoints) { + const MeshPoint &rclFacPt = myMesh._aclPointArray[ptIndex]; Base::Vector3f clPt = (*myProj)(rclFacPt); if (myPoly.Contains(Base::Vector2d(clPt.x, clPt.y)) != bInner) return false; @@ -163,8 +159,8 @@ bool MeshTrimming::IsPolygonPointInFacet(FacetIndex ulIndex, Base::Vector3f& clP Base::Polygon2d clFacPoly; const MeshGeomFacet &rclFacet = myMesh.GetFacet(ulIndex); - for (int i=0; i<3; i++) { - Base::Vector3f clPt = (*myProj)(rclFacet._aclPoints[i]); + for (auto pnt : rclFacet._aclPoints) { + Base::Vector3f clPt = (*myProj)(pnt); clFacPoly.Add(Base::Vector2d(clPt.x, clPt.y)); } @@ -352,8 +348,8 @@ bool MeshTrimming::CreateFacets(FacetIndex ulFacetPos, int iSide, const std::vec int iCtPtsOn=0; Base::Vector3f clFacPnt; Base::Vector2d clProjPnt; - for (int i=0; i<3; i++) { - clFacPnt = (*myProj)(myMesh._aclPointArray[facet._aulPoints[i]]); + for (PointIndex ptIndex : facet._aulPoints) { + clFacPnt = (*myProj)(myMesh._aclPointArray[ptIndex]); clProjPnt = Base::Vector2d(clFacPnt.x, clFacPnt.y); if (myPoly.Intersect(clProjPnt, double(MESH_MIN_PT_DIST))) ++iCtPtsOn; @@ -418,8 +414,8 @@ bool MeshTrimming::CreateFacets(FacetIndex ulFacetPos, int iSide, const std::vec int iCtPts=0; Base::Vector3f clFacPnt; Base::Vector2d clProjPnt; - for (int i=0; i<3; i++) { - clFacPnt = (*myProj)(myMesh._aclPointArray[facet._aulPoints[i]]); + for (PointIndex ptIndex : facet._aulPoints) { + clFacPnt = (*myProj)(myMesh._aclPointArray[ptIndex]); clProjPnt = Base::Vector2d(clFacPnt.x, clFacPnt.y); if (myPoly.Contains(clProjPnt) == myInner) ++iCtPts; @@ -452,7 +448,6 @@ bool MeshTrimming::CreateFacets(FacetIndex ulFacetPos, int iSide, const std::vec MeshFacet& facet = myMesh._aclFacetArray[ulFacetPos]; AdjustFacet(facet, iSide); - MeshFacet clOrg(myMesh._aclFacetArray[ulFacetPos]); clFac = myMesh.GetFacet(ulFacetPos); // intersection points Base::Vector3f clP1(raclPoints[0]), clP2(raclPoints[1]), clP3(raclPoints[2]), clP4(raclPoints[3]); @@ -461,8 +456,8 @@ bool MeshTrimming::CreateFacets(FacetIndex ulFacetPos, int iSide, const std::vec int iCtPts=0; Base::Vector3f clFacPnt; Base::Vector2d clProjPnt; - for (int i=0; i<3; i++) { - clFacPnt = (*myProj)(myMesh._aclPointArray[facet._aulPoints[i]]); + for (PointIndex ptIndex : facet._aulPoints) { + clFacPnt = (*myProj)(myMesh._aclPointArray[ptIndex]); clProjPnt = Base::Vector2d(clFacPnt.x, clFacPnt.y); if (myPoly.Contains(clProjPnt) == myInner) ++iCtPts; @@ -638,8 +633,8 @@ bool MeshTrimming::CreateFacets(FacetIndex ulFacetPos, int iSide, const std::vec int iCtPts=0; Base::Vector3f clFacPnt; Base::Vector2d clProjPnt; - for (int i=0; i<3; i++) { - clFacPnt = (*myProj)(myMesh._aclPointArray[facet._aulPoints[i]]); + for (PointIndex ptIndex : facet._aulPoints) { + clFacPnt = (*myProj)(myMesh._aclPointArray[ptIndex]); clProjPnt = Base::Vector2d(clFacPnt.x, clFacPnt.y); if (myPoly.Contains(clProjPnt) == myInner) ++iCtPts; @@ -725,21 +720,21 @@ void MeshTrimming::TrimFacets(const std::vector& raulFacets, std::ve int iSide; Base::SequencerLauncher seq("trimming facets...", raulFacets.size()); - for (std::vector::const_iterator it=raulFacets.begin(); it!=raulFacets.end(); ++it) { + for (FacetIndex index : raulFacets) { clIntsct.clear(); - if (!IsPolygonPointInFacet(*it, clP)) { + if (!IsPolygonPointInFacet(index, clP)) { // facet must be trimmed - if (!PolygonContainsCompleteFacet(myInner, *it)) { + if (!PolygonContainsCompleteFacet(myInner, index)) { // generate new facets - if (GetIntersectionPointsOfPolygonAndFacet(*it, iSide, clIntsct)) - CreateFacets(*it, iSide, clIntsct, myTriangles); + if (GetIntersectionPointsOfPolygonAndFacet(index, iSide, clIntsct)) + CreateFacets(index, iSide, clIntsct, myTriangles); } } // facet contains a polygon point else { // generate new facets - if (GetIntersectionPointsOfPolygonAndFacet(*it, iSide, clIntsct)) - CreateFacets(*it, iSide, clIntsct, clP, myTriangles); + if (GetIntersectionPointsOfPolygonAndFacet(index, iSide, clIntsct)) + CreateFacets(index, iSide, clIntsct, clP, myTriangles); } seq.next(); } diff --git a/src/Mod/Mesh/App/Core/Trim.h b/src/Mod/Mesh/App/Core/Trim.h index caac18044c..5360567a21 100644 --- a/src/Mod/Mesh/App/Core/Trim.h +++ b/src/Mod/Mesh/App/Core/Trim.h @@ -40,7 +40,6 @@ public: public: MeshTrimming(MeshKernel& mesh, const Base::ViewProjMethod* pclProj, const Base::Polygon2d& rclPoly); - ~MeshTrimming(); public: /** @@ -97,7 +96,7 @@ private: private: MeshKernel& myMesh; - bool myInner; + bool myInner{true}; std::vector myTriangles; const Base::ViewProjMethod* myProj; const Base::Polygon2d& myPoly; diff --git a/src/Mod/Mesh/App/Core/TrimByPlane.cpp b/src/Mod/Mesh/App/Core/TrimByPlane.cpp index df991df20b..f69504a6b4 100644 --- a/src/Mod/Mesh/App/Core/TrimByPlane.cpp +++ b/src/Mod/Mesh/App/Core/TrimByPlane.cpp @@ -37,10 +37,6 @@ MeshTrimByPlane::MeshTrimByPlane(MeshKernel &rclM) { } -MeshTrimByPlane::~MeshTrimByPlane() -{ -} - void MeshTrimByPlane::CheckFacets(const MeshFacetGrid& rclGrid, const Base::Vector3f& base, const Base::Vector3f& normal, std::vector &trimFacets, std::vector& removeFacets) const { @@ -55,7 +51,7 @@ void MeshTrimByPlane::CheckFacets(const MeshFacetGrid& rclGrid, const Base::Vect // save all elements in checkElements clGridIter.GetElements(checkElements); } - else if (clBBox3d.CalcPoint(0).DistanceToPlane(base, normal) > 0.0f) { + else if (clBBox3d.CalcPoint(Base::BoundBox3f::TLB).DistanceToPlane(base, normal) > 0.0f) { // save all elements in removeFacets clGridIter.GetElements(removeFacets); } @@ -66,14 +62,14 @@ void MeshTrimByPlane::CheckFacets(const MeshFacetGrid& rclGrid, const Base::Vect checkElements.erase(std::unique(checkElements.begin(), checkElements.end()), checkElements.end()); trimFacets.reserve(checkElements.size()/2); // reserve some memory - for (auto it = checkElements.begin(); it != checkElements.end(); ++it) { - MeshGeomFacet clFacet = myMesh.GetFacet(*it); + for (FacetIndex element : checkElements) { + MeshGeomFacet clFacet = myMesh.GetFacet(element); if (clFacet.IntersectWithPlane(base, normal)) { - trimFacets.push_back(*it); - removeFacets.push_back(*it); + trimFacets.push_back(element); + removeFacets.push_back(element); } else if (clFacet._aclPoints[0].DistanceToPlane(base, normal) > 0.0f) { - removeFacets.push_back(*it); + removeFacets.push_back(element); } } @@ -141,8 +137,8 @@ void MeshTrimByPlane::TrimFacets(const std::vector& trimFacets, cons const Base::Vector3f& normal, std::vector& trimmedFacets) { trimmedFacets.reserve(2 * trimFacets.size()); - for (auto it = trimFacets.begin(); it != trimFacets.end(); ++it) { - MeshGeomFacet facet = myMesh.GetFacet(*it); + for (FacetIndex index : trimFacets) { + MeshGeomFacet facet = myMesh.GetFacet(index); float dist1 = facet._aclPoints[0].DistanceToPlane(base, normal); float dist2 = facet._aclPoints[1].DistanceToPlane(base, normal); float dist3 = facet._aclPoints[2].DistanceToPlane(base, normal); diff --git a/src/Mod/Mesh/App/Core/TrimByPlane.h b/src/Mod/Mesh/App/Core/TrimByPlane.h index 6774e5c8fd..65883fa7c7 100644 --- a/src/Mod/Mesh/App/Core/TrimByPlane.h +++ b/src/Mod/Mesh/App/Core/TrimByPlane.h @@ -36,7 +36,6 @@ class MeshExport MeshTrimByPlane { public: explicit MeshTrimByPlane(MeshKernel& mesh); - ~MeshTrimByPlane(); public: /** diff --git a/src/Mod/Mesh/App/Core/Visitor.cpp b/src/Mod/Mesh/App/Core/Visitor.cpp index b807f739ce..fce056f419 100644 --- a/src/Mod/Mesh/App/Core/Visitor.cpp +++ b/src/Mod/Mesh/App/Core/Visitor.cpp @@ -100,14 +100,14 @@ unsigned long MeshKernel::VisitNeighbourFacetsOverCorners (MeshFacetVisitor &rcl for (int i = 0; i < 3; i++) { const MeshFacet &rclFacet = raclFAry[*pCurrFacet]; const std::set& raclNB = clRPF[rclFacet._aulPoints[i]]; - for (std::set::const_iterator pINb = raclNB.begin(); pINb != raclNB.end(); ++pINb) { - if (!pFBegin[*pINb].IsFlag(MeshFacet::VISIT)) { + for (FacetIndex pINb : raclNB) { + if (!pFBegin[pINb].IsFlag(MeshFacet::VISIT)) { // only visit if VISIT Flag not set ulVisited++; - FacetIndex ulFInd = *pINb; + FacetIndex ulFInd = pINb; aclNextLevel.push_back(ulFInd); - pFBegin[*pINb].SetFlag(MeshFacet::VISIT); - if (!rclFVisitor.Visit(pFBegin[*pINb], raclFAry[*pCurrFacet], ulFInd, ulLevel)) + pFBegin[pINb].SetFlag(MeshFacet::VISIT); + if (!rclFVisitor.Visit(pFBegin[pINb], raclFAry[*pCurrFacet], ulFInd, ulLevel)) return ulVisited; } } @@ -136,14 +136,14 @@ unsigned long MeshKernel::VisitNeighbourPoints (MeshPointVisitor &rclPVisitor, P // visit all neighbours of the current level for (clCurrIter = aclCurrentLevel.begin(); clCurrIter < aclCurrentLevel.end(); ++clCurrIter) { const std::set& raclNB = clNPs[*clCurrIter]; - for (std::set::const_iterator pINb = raclNB.begin(); pINb != raclNB.end(); ++pINb) { - if (!pPBegin[*pINb].IsFlag(MeshPoint::VISIT)) { + for (PointIndex pINb : raclNB) { + if (!pPBegin[pINb].IsFlag(MeshPoint::VISIT)) { // only visit if VISIT Flag not set ulVisited++; - PointIndex ulPInd = *pINb; + PointIndex ulPInd = pINb; aclNextLevel.push_back(ulPInd); - pPBegin[*pINb].SetFlag(MeshPoint::VISIT); - if (!rclPVisitor.Visit(pPBegin[*pINb], *(pPBegin + (*clCurrIter)), ulPInd, ulLevel)) + pPBegin[pINb].SetFlag(MeshPoint::VISIT); + if (!rclPVisitor.Visit(pPBegin[pINb], *(pPBegin + (*clCurrIter)), ulPInd, ulLevel)) return ulVisited; } } @@ -163,9 +163,7 @@ MeshSearchNeighbourFacetsVisitor::MeshSearchNeighbourFacetsVisitor (const MeshKe FacetIndex ulStartFacetIdx) : _rclMeshBase(rclMesh), _clCenter(rclMesh.GetFacet(ulStartFacetIdx).GetGravityPoint()), - _fRadius(fRadius), - _ulCurrentLevel(0), - _bFacetsFoundInCurrentLevel(false) + _fRadius(fRadius) { } @@ -200,8 +198,8 @@ bool MeshPlaneVisitor::AllowVisit (const MeshFacet& face, const MeshFacet&, if (!fitter->Done()) fitter->Fit(); MeshGeomFacet triangle = mesh.GetFacet(face); - for (int i=0; i<3; i++) { - if (fabs(fitter->GetDistanceToPlane(triangle._aclPoints[i])) > max_deviation) + for (const auto& pnt : triangle._aclPoints) { + if (fabs(fitter->GetDistanceToPlane(pnt)) > max_deviation) return false; } return true; diff --git a/src/Mod/Mesh/App/Core/Visitor.h b/src/Mod/Mesh/App/Core/Visitor.h index 61a5d3911b..bf991f7799 100644 --- a/src/Mod/Mesh/App/Core/Visitor.h +++ b/src/Mod/Mesh/App/Core/Visitor.h @@ -44,9 +44,9 @@ class MeshExport MeshFacetVisitor { public: /// Construction - MeshFacetVisitor() { } + MeshFacetVisitor() = default; /// Denstruction - virtual ~MeshFacetVisitor() { } + virtual ~MeshFacetVisitor() = default; /** Needs to be implemented in sub-classes. * \a rclFacet is the currently visited facet with the index \a ulFInd, \a rclFrom * is the last visited facet and \a ulLevel indicates the ring number around the start facet. @@ -79,7 +79,7 @@ class MeshExport MeshSearchNeighbourFacetsVisitor : public MeshFacetVisitor { public: MeshSearchNeighbourFacetsVisitor (const MeshKernel &rclMesh, float fRadius, FacetIndex ulStartFacetIdx); - ~MeshSearchNeighbourFacetsVisitor () override {} + ~MeshSearchNeighbourFacetsVisitor () override = default; /** Checks the facet if it lies inside the search radius. */ inline bool Visit (const MeshFacet &rclFacet, const MeshFacet &rclFrom, FacetIndex ulFInd, unsigned long ulLevel) override; /** Resets the VISIT flag of already visited facets. */ @@ -89,8 +89,8 @@ protected: const MeshKernel& _rclMeshBase; /**< The mesh kernel. */ Base::Vector3f _clCenter; /**< Center. */ float _fRadius; /**< Search radius. */ - unsigned long _ulCurrentLevel; - bool _bFacetsFoundInCurrentLevel; + unsigned long _ulCurrentLevel{0}; + bool _bFacetsFoundInCurrentLevel{false}; std::vector _vecFacets; /**< Found facets. */ }; @@ -105,8 +105,8 @@ inline bool MeshSearchNeighbourFacetsVisitor::Visit (const MeshFacet &rclFacet, _bFacetsFoundInCurrentLevel = false; } - for (int i = 0; i < 3; i++) { - if (Base::Distance(_clCenter, _rclMeshBase.GetPoint(rclFacet._aulPoints[i])) < _fRadius) { + for (PointIndex ptIndex : rclFacet._aulPoints) { + if (Base::Distance(_clCenter, _rclMeshBase.GetPoint(ptIndex)) < _fRadius) { _vecFacets.push_back(ulFInd); _bFacetsFoundInCurrentLevel = true; return true; @@ -175,9 +175,9 @@ class MeshExport MeshPointVisitor { public: /// Construction - MeshPointVisitor() { } + MeshPointVisitor() = default; /// Denstruction - virtual ~MeshPointVisitor() { } + virtual ~MeshPointVisitor() = default; /** Needs to be implemented in sub-classes. * \a rclPoint is the currently visited point with the index \a ulPInd, \a rclFrom * is the last visited point and \a ulLevel indicates the ring number around the start point. diff --git a/src/Mod/Mesh/App/Edge.cpp b/src/Mod/Mesh/App/Edge.cpp index d74f146803..787cf8cf82 100644 --- a/src/Mod/Mesh/App/Edge.cpp +++ b/src/Mod/Mesh/App/Edge.cpp @@ -31,9 +31,8 @@ using namespace Mesh; -Edge::Edge() - : Index(-1) - , Mesh(nullptr) +Edge::Edge() //NOLINT + : Mesh(nullptr) { for (int i=0; i<2; i++) { PIndex[i] = MeshCore::POINT_INDEX_MAX; @@ -52,9 +51,7 @@ Edge::Edge(const Edge& e) } } -Edge::~Edge() -{ -} +Edge::~Edge() = default; void Edge::operator = (const Edge& e) { diff --git a/src/Mod/Mesh/App/Edge.h b/src/Mod/Mesh/App/Edge.h index fd55122b54..4da2c74cbc 100644 --- a/src/Mod/Mesh/App/Edge.h +++ b/src/Mod/Mesh/App/Edge.h @@ -49,7 +49,7 @@ public: void unbound(); void operator = (const Edge& f); - int Index; + int Index{-1}; MeshCore::PointIndex PIndex[2]; MeshCore::FacetIndex NIndex[2]; Base::Reference Mesh; diff --git a/src/Mod/Mesh/App/EdgePyImp.cpp b/src/Mod/Mesh/App/EdgePyImp.cpp index 7227374c89..ad2b02e70b 100644 --- a/src/Mod/Mesh/App/EdgePyImp.cpp +++ b/src/Mod/Mesh/App/EdgePyImp.cpp @@ -135,7 +135,7 @@ PyObject* EdgePy::unbound(PyObject *args) Py::Boolean EdgePy::getBound() const { - return Py::Boolean(getEdgePtr()->isBound()); + return {getEdgePtr()->isBound()}; } Py::List EdgePy::getPoints() const @@ -143,11 +143,11 @@ Py::List EdgePy::getPoints() const EdgePy::PointerType edge = this->getEdgePtr(); Py::List pts; - for (int i=0; i<2; i++) { + for (const auto & pnt : edge->_aclPoints) { Py::Tuple pt(3); - pt.setItem(0, Py::Float(edge->_aclPoints[i].x)); - pt.setItem(1, Py::Float(edge->_aclPoints[i].y)); - pt.setItem(2, Py::Float(edge->_aclPoints[i].z)); + pt.setItem(0, Py::Float(pnt.x)); + pt.setItem(1, Py::Float(pnt.y)); + pt.setItem(2, Py::Float(pnt.z)); pts.append(pt); } diff --git a/src/Mod/Mesh/App/Exporter.cpp b/src/Mod/Mesh/App/Exporter.cpp index 8f8980d50f..86c3da6628 100644 --- a/src/Mod/Mesh/App/Exporter.cpp +++ b/src/Mod/Mesh/App/Exporter.cpp @@ -81,8 +81,7 @@ expandSubObjectNames(const App::DocumentObject *obj, return res; } -Exporter::Exporter() -{ } +Exporter::Exporter() = default; //static std::string Exporter::xmlEscape(const std::string &input) @@ -310,8 +309,7 @@ void Exporter3MF::write() ExporterAMF::ExporterAMF( std::string fileName, const std::map &meta, - bool compress ) : - outputStreamPtr(nullptr), nextObjectIndex(0) + bool compress ) { // ask for write permission throwIfNoPermission(fileName); @@ -428,13 +426,13 @@ bool ExporterAMF::addMesh(const char *name, const MeshObject & mesh) facet = &(*clIter); // For each vertex in facet - for (auto i(0); i < 3; ++i) { - vertItr = vertices.find(facet->_aclPoints[i]); + for (auto pnt : facet->_aclPoints) { + vertItr = vertices.find(pnt); if ( vertItr == vertices.end() ) { facets.push_back(vertexCount); - vertices[facet->_aclPoints[i]] = vertexCount++; + vertices[pnt] = vertexCount++; // Output facet *outputStreamPtr << "\t\t\t\t\n" @@ -442,7 +440,7 @@ bool ExporterAMF::addMesh(const char *name, const MeshObject & mesh) for ( auto j(0); j < 3; ++j) { char axis('x' + j); *outputStreamPtr << "\t\t\t\t\t\t<" << axis << '>' - << facet->_aclPoints[i][j] + << pnt[j] << "\n"; } *outputStreamPtr << "\t\t\t\t\t\n" diff --git a/src/Mod/Mesh/App/Exporter.h b/src/Mod/Mesh/App/Exporter.h index 0d45dbf179..64d817c266 100644 --- a/src/Mod/Mesh/App/Exporter.h +++ b/src/Mod/Mesh/App/Exporter.h @@ -223,8 +223,8 @@ private: void write(); private: - std::ostream *outputStreamPtr; - int nextObjectIndex; + std::ostream *outputStreamPtr{nullptr}; + int nextObjectIndex{0}; /// Helper for putting Base::Vector3f objects into a std::map in addMesh() class VertLess; diff --git a/src/Mod/Mesh/App/Facet.cpp b/src/Mod/Mesh/App/Facet.cpp index ba14408fc0..3889f50886 100644 --- a/src/Mod/Mesh/App/Facet.cpp +++ b/src/Mod/Mesh/App/Facet.cpp @@ -55,9 +55,7 @@ Facet::Facet(const Facet& f) } } -Facet::~Facet() -{ -} +Facet::~Facet() = default; void Facet::operator = (const Facet& f) { diff --git a/src/Mod/Mesh/App/FacetPyImp.cpp b/src/Mod/Mesh/App/FacetPyImp.cpp index 46e4906a42..f710801eb8 100644 --- a/src/Mod/Mesh/App/FacetPyImp.cpp +++ b/src/Mod/Mesh/App/FacetPyImp.cpp @@ -136,7 +136,7 @@ Py::Long FacetPy::getIndex() const Py::Boolean FacetPy::getBound() const { - return Py::Boolean(getFacetPtr()->isBound()); + return {getFacetPtr()->isBound()}; } Py::Object FacetPy::getNormal() const diff --git a/src/Mod/Mesh/App/FeatureMeshCurvature.cpp b/src/Mod/Mesh/App/FeatureMeshCurvature.cpp index ee0c400df9..70394e65b0 100644 --- a/src/Mod/Mesh/App/FeatureMeshCurvature.cpp +++ b/src/Mod/Mesh/App/FeatureMeshCurvature.cpp @@ -63,12 +63,12 @@ App::DocumentObjectExecReturn *Curvature::execute() std::vector values; values.reserve(curv.size()); - for (std::vector::const_iterator it = curv.begin(); it != curv.end(); ++it) { + for (const auto & it : curv) { CurvatureInfo ci; - ci.cMaxCurvDir = it->cMaxCurvDir; - ci.cMinCurvDir = it->cMinCurvDir; - ci.fMaxCurvature = it->fMaxCurvature; - ci.fMinCurvature = it->fMinCurvature; + ci.cMaxCurvDir = it.cMaxCurvDir; + ci.cMinCurvDir = it.cMinCurvDir; + ci.fMaxCurvature = it.fMaxCurvature; + ci.fMinCurvature = it.fMinCurvature; values.push_back(ci); } diff --git a/src/Mod/Mesh/App/FeatureMeshDefects.cpp b/src/Mod/Mesh/App/FeatureMeshDefects.cpp index 2445fd2662..aa61026193 100644 --- a/src/Mod/Mesh/App/FeatureMeshDefects.cpp +++ b/src/Mod/Mesh/App/FeatureMeshDefects.cpp @@ -44,10 +44,6 @@ FixDefects::FixDefects() ADD_PROPERTY(Epsilon ,(0)); } -FixDefects::~FixDefects() -{ -} - short FixDefects::mustExecute() const { if (Source.isTouched()) @@ -64,13 +60,7 @@ App::DocumentObjectExecReturn *FixDefects::execute() PROPERTY_SOURCE(Mesh::HarmonizeNormals, Mesh::FixDefects) -HarmonizeNormals::HarmonizeNormals() -{ -} - -HarmonizeNormals::~HarmonizeNormals() -{ -} +HarmonizeNormals::HarmonizeNormals() = default; App::DocumentObjectExecReturn *HarmonizeNormals::execute() { @@ -93,13 +83,7 @@ App::DocumentObjectExecReturn *HarmonizeNormals::execute() PROPERTY_SOURCE(Mesh::FlipNormals, Mesh::FixDefects) -FlipNormals::FlipNormals() -{ -} - -FlipNormals::~FlipNormals() -{ -} +FlipNormals::FlipNormals() = default; App::DocumentObjectExecReturn *FlipNormals::execute() { @@ -122,13 +106,7 @@ App::DocumentObjectExecReturn *FlipNormals::execute() PROPERTY_SOURCE(Mesh::FixNonManifolds, Mesh::FixDefects) -FixNonManifolds::FixNonManifolds() -{ -} - -FixNonManifolds::~FixNonManifolds() -{ -} +FixNonManifolds::FixNonManifolds() = default; App::DocumentObjectExecReturn *FixNonManifolds::execute() { @@ -151,13 +129,7 @@ App::DocumentObjectExecReturn *FixNonManifolds::execute() PROPERTY_SOURCE(Mesh::FixDuplicatedFaces, Mesh::FixDefects) -FixDuplicatedFaces::FixDuplicatedFaces() -{ -} - -FixDuplicatedFaces::~FixDuplicatedFaces() -{ -} +FixDuplicatedFaces::FixDuplicatedFaces() = default; App::DocumentObjectExecReturn *FixDuplicatedFaces::execute() { @@ -180,13 +152,7 @@ App::DocumentObjectExecReturn *FixDuplicatedFaces::execute() PROPERTY_SOURCE(Mesh::FixDuplicatedPoints, Mesh::FixDefects) -FixDuplicatedPoints::FixDuplicatedPoints() -{ -} - -FixDuplicatedPoints::~FixDuplicatedPoints() -{ -} +FixDuplicatedPoints::FixDuplicatedPoints() = default; App::DocumentObjectExecReturn *FixDuplicatedPoints::execute() { @@ -209,13 +175,7 @@ App::DocumentObjectExecReturn *FixDuplicatedPoints::execute() PROPERTY_SOURCE(Mesh::FixDegenerations, Mesh::FixDefects) -FixDegenerations::FixDegenerations() -{ -} - -FixDegenerations::~FixDegenerations() -{ -} +FixDegenerations::FixDegenerations() = default; App::DocumentObjectExecReturn *FixDegenerations::execute() { @@ -243,10 +203,6 @@ FixDeformations::FixDeformations() ADD_PROPERTY(MaxAngle ,(5.0f)); } -FixDeformations::~FixDeformations() -{ -} - App::DocumentObjectExecReturn *FixDeformations::execute() { App::DocumentObject* link = Source.getValue(); @@ -270,13 +226,7 @@ App::DocumentObjectExecReturn *FixDeformations::execute() PROPERTY_SOURCE(Mesh::FixIndices, Mesh::FixDefects) -FixIndices::FixIndices() -{ -} - -FixIndices::~FixIndices() -{ -} +FixIndices::FixIndices() = default; App::DocumentObjectExecReturn *FixIndices::execute() { @@ -305,10 +255,6 @@ FillHoles::FillHoles() ADD_PROPERTY(MaxArea,(0.1f)); } -FillHoles::~FillHoles() -{ -} - App::DocumentObjectExecReturn *FillHoles::execute() { App::DocumentObject* link = Source.getValue(); @@ -337,10 +283,6 @@ RemoveComponents::RemoveComponents() ADD_PROPERTY(RemoveCompOfSize,(0)); } -RemoveComponents::~RemoveComponents() -{ -} - App::DocumentObjectExecReturn *RemoveComponents::execute() { App::DocumentObject* link = Source.getValue(); diff --git a/src/Mod/Mesh/App/FeatureMeshDefects.h b/src/Mod/Mesh/App/FeatureMeshDefects.h index bdc5f22b81..00efe63dd9 100644 --- a/src/Mod/Mesh/App/FeatureMeshDefects.h +++ b/src/Mod/Mesh/App/FeatureMeshDefects.h @@ -42,7 +42,6 @@ class MeshExport FixDefects : public Mesh::Feature public: /// Constructor FixDefects(); - ~FixDefects() override; /** @name Properties */ //@{ @@ -72,7 +71,6 @@ class MeshExport HarmonizeNormals : public Mesh::FixDefects public: /// Constructor HarmonizeNormals(); - ~HarmonizeNormals() override; /** @name methods override Feature */ //@{ @@ -92,7 +90,6 @@ class MeshExport FlipNormals : public Mesh::FixDefects public: /// Constructor FlipNormals(); - ~FlipNormals() override; /** @name methods override Feature */ //@{ @@ -112,7 +109,6 @@ class MeshExport FixNonManifolds : public Mesh::FixDefects public: /// Constructor FixNonManifolds(); - ~FixNonManifolds() override; /** @name methods override Feature */ //@{ @@ -132,7 +128,6 @@ class MeshExport FixDuplicatedFaces : public Mesh::FixDefects public: /// Constructor FixDuplicatedFaces(); - ~FixDuplicatedFaces() override; /** @name methods override Feature */ //@{ @@ -152,7 +147,6 @@ class MeshExport FixDuplicatedPoints : public Mesh::FixDefects public: /// Constructor FixDuplicatedPoints(); - ~FixDuplicatedPoints() override; /** @name methods override Feature */ //@{ @@ -172,7 +166,6 @@ class MeshExport FixDegenerations : public Mesh::FixDefects public: /// Constructor FixDegenerations(); - ~FixDegenerations() override; /** @name methods override Feature */ //@{ @@ -192,7 +185,6 @@ class MeshExport FixDeformations : public Mesh::FixDefects public: /// Constructor FixDeformations(); - ~FixDeformations() override; /** @name Properties */ //@{ @@ -216,7 +208,6 @@ class MeshExport FixIndices : public Mesh::FixDefects public: /// Constructor FixIndices(); - ~FixIndices() override; /** @name methods override Feature */ //@{ @@ -236,7 +227,6 @@ class MeshExport FillHoles : public Mesh::FixDefects public: /// Constructor FillHoles(); - ~FillHoles() override; App::PropertyInteger FillupHolesOfLength; App::PropertyFloat MaxArea; @@ -258,7 +248,6 @@ class MeshExport RemoveComponents : public Mesh::FixDefects public: /// Constructor RemoveComponents(); - ~RemoveComponents() override; App::PropertyInteger RemoveCompOfSize; /** @name methods override Feature */ diff --git a/src/Mod/Mesh/App/FeatureMeshSegmentByMesh.cpp b/src/Mod/Mesh/App/FeatureMeshSegmentByMesh.cpp index 77cb40ef09..61fb3d625e 100644 --- a/src/Mod/Mesh/App/FeatureMeshSegmentByMesh.cpp +++ b/src/Mod/Mesh/App/FeatureMeshSegmentByMesh.cpp @@ -117,12 +117,12 @@ App::DocumentObjectExecReturn *SegmentByMesh::execute() MeshFacetIterator cFIt(rMeshKernel); // get the nearest facet to the user (front clipping plane) - for ( std::vector::iterator it = faces.begin(); it != faces.end(); ++it ) { - cFIt.Set(*it); + for (MeshCore::FacetIndex it : faces) { + cFIt.Set(it); float dist = (float)fabs(cFIt->GetGravityPoint().DistanceToPlane( cBase, cNormal )); if ( dist < fDist ) { fDist = dist; - uIdx = *it; + uIdx = it; } } @@ -141,8 +141,8 @@ App::DocumentObjectExecReturn *SegmentByMesh::execute() } } - for ( std::vector::iterator it = faces.begin(); it != faces.end(); ++it ) - aFaces.push_back( rMeshKernel.GetFacet(*it) ); + for (MeshCore::FacetIndex it : faces) + aFaces.push_back( rMeshKernel.GetFacet(it) ); std::unique_ptr pcKernel(new MeshObject); pcKernel->addFacets(aFaces); diff --git a/src/Mod/Mesh/App/Importer.h b/src/Mod/Mesh/App/Importer.h index 6b3c5f1d6f..1f18f46bf8 100644 --- a/src/Mod/Mesh/App/Importer.h +++ b/src/Mod/Mesh/App/Importer.h @@ -43,8 +43,6 @@ class Importer { public: explicit Importer(App::Document*); - ~Importer() = default; - void load(const std::string& fileName); private: diff --git a/src/Mod/Mesh/App/Mesh.cpp b/src/Mod/Mesh/App/Mesh.cpp index 13c597f33c..ad39700a10 100644 --- a/src/Mod/Mesh/App/Mesh.cpp +++ b/src/Mod/Mesh/App/Mesh.cpp @@ -61,9 +61,7 @@ const float MeshObject::Epsilon = 1.0e-5F; TYPESYSTEM_SOURCE(Mesh::MeshObject, Data::ComplexGeoData) TYPESYSTEM_SOURCE(Mesh::MeshSegment, Data::Segment) -MeshObject::MeshObject() -{ -} +MeshObject::MeshObject() = default; MeshObject::MeshObject(const MeshCore::MeshKernel& Kernel) : _kernel(Kernel) @@ -84,9 +82,7 @@ MeshObject::MeshObject(const MeshObject& mesh) copySegments(mesh); } -MeshObject::~MeshObject() -{ -} +MeshObject::~MeshObject() = default; std::vector MeshObject::getElementTypes() const { @@ -169,7 +165,7 @@ Base::BoundBox3d MeshObject::getBoundBox()const Base::BoundBox3d Bnd2; if (Bnd.IsValid()) { for (int i =0 ;i<=7;i++) - Bnd2.Add(transformPointToOutside(Bnd.CalcPoint(i))); + Bnd2.Add(transformPointToOutside(Bnd.CalcPoint(Base::BoundBox3f::CORNER(i)))); } return Bnd2; @@ -374,11 +370,11 @@ void MeshObject::save(const char* file, MeshCore::MeshIO::Format f, // go through the segment list and put them to the exporter when // the "save" flag is set std::vector groups; - for (std::size_t index = 0; index < this->_segments.size(); index++) { - if (this->_segments[index].isSaved()) { + for (const auto & segment : this->_segments) { + if (segment.isSaved()) { MeshCore::Group g; - g.indices = this->_segments[index].getIndices(); - g.name = this->_segments[index].getName(); + g.indices = segment.getIndices(); + g.name = segment.getName(); groups.push_back(g); } } @@ -403,11 +399,11 @@ void MeshObject::save(std::ostream& str, MeshCore::MeshIO::Format f, // go through the segment list and put them to the exporter when // the "save" flag is set std::vector groups; - for (std::size_t index = 0; index < this->_segments.size(); index++) { - if (this->_segments[index].isSaved()) { + for (const auto & segment : this->_segments) { + if (segment.isSaved()) { MeshCore::Group g; - g.indices = this->_segments[index].getIndices(); - g.name = this->_segments[index].getName(); + g.indices = segment.getIndices(); + g.name = segment.getName(); groups.push_back(g); } } @@ -566,18 +562,18 @@ void MeshObject::addFacets(const std::vector &facet { std::vector facet_v; facet_v.reserve(facets.size()); - for (std::vector::const_iterator it = facets.begin(); it != facets.end(); ++it) { + for (auto facet : facets) { MeshCore::MeshFacet f; - f._aulPoints[0] = it->I1; - f._aulPoints[1] = it->I2; - f._aulPoints[2] = it->I3; + f._aulPoints[0] = facet.I1; + f._aulPoints[1] = facet.I2; + f._aulPoints[2] = facet.I3; facet_v.push_back(f); } std::vector point_v; point_v.reserve(points.size()); - for (std::vector::const_iterator it = points.begin(); it != points.end(); ++it) { - Base::Vector3f p((float)it->x,(float)it->y,(float)it->z); + for (const auto & point : points) { + Base::Vector3f p((float)point.x,(float)point.y,(float)point.z); point_v.push_back(p); } @@ -594,18 +590,18 @@ void MeshObject::setFacets(const std::vector &facet { MeshCore::MeshFacetArray facet_v; facet_v.reserve(facets.size()); - for (std::vector::const_iterator it = facets.begin(); it != facets.end(); ++it) { + for (auto facet : facets) { MeshCore::MeshFacet f; - f._aulPoints[0] = it->I1; - f._aulPoints[1] = it->I2; - f._aulPoints[2] = it->I3; + f._aulPoints[0] = facet.I1; + f._aulPoints[1] = facet.I2; + f._aulPoints[2] = facet.I3; facet_v.push_back(f); } MeshCore::MeshPointArray point_v; point_v.reserve(points.size()); - for (std::vector::const_iterator it = points.begin(); it != points.end(); ++it) { - Base::Vector3f p((float)it->x,(float)it->y,(float)it->z); + for (const auto & point : points) { + Base::Vector3f p((float)point.x,(float)point.y,(float)point.z); point_v.push_back(p); } @@ -646,36 +642,32 @@ void MeshObject::deletedFacets(const std::vector& remFacets) return; // nothing to do // set an array with the original indices and mark the removed as MeshCore::FACET_INDEX_MAX std::vector f_indices(_kernel.CountFacets()+remFacets.size()); - for (std::vector::const_iterator it = remFacets.begin(); - it != remFacets.end(); ++it) { - f_indices[*it] = MeshCore::FACET_INDEX_MAX; + for (FacetIndex remFacet : remFacets) { + f_indices[remFacet] = MeshCore::FACET_INDEX_MAX; } FacetIndex index = 0; - for (std::vector::iterator it = f_indices.begin(); - it != f_indices.end(); ++it) { - if (*it == 0) - *it = index++; + for (FacetIndex& it : f_indices) { + if (it == 0) + it = index++; } // the array serves now as LUT to set the new indices in the segments - for (std::vector::iterator it = this->_segments.begin(); - it != this->_segments.end(); ++it) { - std::vector segm = it->_indices; - for (std::vector::iterator jt = segm.begin(); - jt != segm.end(); ++jt) { - *jt = f_indices[*jt]; - } + for (auto & segment : this->_segments) { + std::vector segm = segment._indices; + for (FacetIndex & jt : segm) { + jt = f_indices[jt]; + } - // remove the invalid indices - std::sort(segm.begin(), segm.end()); - std::vector::iterator ft = std::find_if - (segm.begin(), segm.end(), [](FacetIndex v) { - return v == MeshCore::FACET_INDEX_MAX; - }); - if (ft != segm.end()) - segm.erase(ft, segm.end()); - it->_indices = segm; + // remove the invalid indices + std::sort(segm.begin(), segm.end()); + std::vector::iterator ft = std::find_if + (segm.begin(), segm.end(), [](FacetIndex v) { + return v == MeshCore::FACET_INDEX_MAX; + }); + if (ft != segm.end()) + segm.erase(ft, segm.end()); + segment._indices = segm; } } @@ -830,11 +822,10 @@ void MeshObject::updateMesh() const MeshCore::MeshAlgorithm alg(_kernel); alg.ResetFacetFlag(MeshCore::MeshFacet::SEGMENT); alg.ResetPointFlag(MeshCore::MeshPoint::SEGMENT); - for (std::vector::const_iterator it = this->_segments.begin(); - it != this->_segments.end(); ++it) { + for (const auto & segment : this->_segments) { std::vector points; - points = _kernel.GetFacetPoints(it->getIndices()); - alg.SetFacetsFlag(it->getIndices(), MeshCore::MeshFacet::SEGMENT); + points = _kernel.GetFacetPoints(segment.getIndices()); + alg.SetFacetsFlag(segment.getIndices(), MeshCore::MeshFacet::SEGMENT); alg.SetPointsFlag(points, MeshCore::MeshPoint::SEGMENT); } } @@ -869,14 +860,14 @@ unsigned long MeshObject::getPointDegree(const std::vector& indices, const MeshCore::MeshFacetArray& faces = _kernel.GetFacets(); std::vector pointDeg(_kernel.CountPoints()); - for (MeshCore::MeshFacetArray::_TConstIterator it = faces.begin(); it != faces.end(); ++it) { - pointDeg[it->_aulPoints[0]]++; - pointDeg[it->_aulPoints[1]]++; - pointDeg[it->_aulPoints[2]]++; + for (const auto & face : faces) { + pointDeg[face._aulPoints[0]]++; + pointDeg[face._aulPoints[1]]++; + pointDeg[face._aulPoints[2]]++; } - for (std::vector::const_iterator it = indices.begin(); it != indices.end(); ++it) { - const MeshCore::MeshFacet& face = faces[*it]; + for (FacetIndex it : indices) { + const MeshCore::MeshFacet& face = faces[it]; pointDeg[face._aulPoints[0]]--; pointDeg[face._aulPoints[1]]--; pointDeg[face._aulPoints[2]]--; @@ -955,8 +946,8 @@ void MeshObject::offsetSpecial2(float fSize) if (fliped.empty()) break; - for( std::set::iterator It= fliped.begin();It!=fliped.end();++It) - alg.CollapseFacet(*It); + for(FacetIndex It : fliped) + alg.CollapseFacet(It); fliped.clear(); } @@ -1071,9 +1062,9 @@ void MeshObject::crossSections(const std::vector& planes, st MeshCore::MeshFacetGrid grid(kernel); MeshCore::MeshAlgorithm algo(kernel); - for (std::vector::const_iterator it = planes.begin(); it != planes.end(); ++it) { + for (const auto & plane : planes) { MeshObject::TPolylines polylines; - algo.CutWithPlane(it->first, it->second, grid, polylines, fMinEps, bConnectPolygons); + algo.CutWithPlane(plane.first, plane.second, grid, polylines, fMinEps, bConnectPolygons); sections.push_back(polylines); } } @@ -1339,10 +1330,10 @@ void MeshObject::splitEdges() MeshCore::MeshFacetIterator cIter(_kernel); MeshCore::MeshTopoAlgorithm topalg(_kernel); - for (std::vector >::iterator it = adjacentFacet.begin(); it != adjacentFacet.end(); ++it) { - cIter.Set(it->first); + for (const auto & it : adjacentFacet) { + cIter.Set(it.first); Base::Vector3f mid = 0.5f*(cIter->_aclPoints[0]+cIter->_aclPoints[2]); - topalg.SplitEdge(it->first, it->second, mid); + topalg.SplitEdge(it.first, it.second, mid); } // clear the segments because we don't know how the new @@ -1392,8 +1383,8 @@ void MeshObject::collapseFacet(FacetIndex facet) void MeshObject::collapseFacets(const std::vector& facets) { MeshCore::MeshTopoAlgorithm alg(_kernel); - for (std::vector::const_iterator it = facets.begin(); it != facets.end(); ++it) { - alg.CollapseFacet(*it); + for (FacetIndex it : facets) { + alg.CollapseFacet(it); } deletedFacets(facets); @@ -1891,28 +1882,29 @@ MeshObject* MeshObject::createCube(float length, float width, float height, floa MeshObject* MeshObject::createCube(const Base::BoundBox3d& bbox) { + using Corner = Base::BoundBox3d::CORNER; std::vector facets; - auto createFacet = [&bbox](int i, int j, int k) { + auto createFacet = [&bbox](Corner p1, Corner p2, Corner p3) { MeshCore::MeshGeomFacet facet; - facet._aclPoints[0] = Base::convertTo(bbox.CalcPoint(i)); - facet._aclPoints[1] = Base::convertTo(bbox.CalcPoint(j)); - facet._aclPoints[2] = Base::convertTo(bbox.CalcPoint(k)); + facet._aclPoints[0] = Base::convertTo(bbox.CalcPoint(p1)); + facet._aclPoints[1] = Base::convertTo(bbox.CalcPoint(p2)); + facet._aclPoints[2] = Base::convertTo(bbox.CalcPoint(p3)); facet.CalcNormal(); return facet; }; - facets.push_back(createFacet(0, 1, 2)); - facets.push_back(createFacet(0, 2, 3)); - facets.push_back(createFacet(0, 5, 1)); - facets.push_back(createFacet(0, 4, 5)); - facets.push_back(createFacet(0, 3, 7)); - facets.push_back(createFacet(0, 7, 4)); - facets.push_back(createFacet(4, 6, 5)); - facets.push_back(createFacet(4, 7, 6)); - facets.push_back(createFacet(1, 6, 2)); - facets.push_back(createFacet(1, 5, 6)); - facets.push_back(createFacet(2, 7, 3)); - facets.push_back(createFacet(2, 6, 7)); + facets.push_back(createFacet(Corner::TLB, Corner::TLF, Corner::TRF)); + facets.push_back(createFacet(Corner::TLB, Corner::TRF, Corner::TRB)); + facets.push_back(createFacet(Corner::TLB, Corner::BLF, Corner::TLF)); + facets.push_back(createFacet(Corner::TLB, Corner::BLB, Corner::BLF)); + facets.push_back(createFacet(Corner::TLB, Corner::TRB, Corner::BRB)); + facets.push_back(createFacet(Corner::TLB, Corner::BRB, Corner::BLB)); + facets.push_back(createFacet(Corner::BLB, Corner::BRF, Corner::BLF)); + facets.push_back(createFacet(Corner::BLB, Corner::BRB, Corner::BRF)); + facets.push_back(createFacet(Corner::TLF, Corner::BRF, Corner::TRF)); + facets.push_back(createFacet(Corner::TLF, Corner::BLF, Corner::BRF)); + facets.push_back(createFacet(Corner::TRF, Corner::BRB, Corner::TRB)); + facets.push_back(createFacet(Corner::TRF, Corner::BRF, Corner::BRB)); Base::EmptySequencer seq; std::unique_ptr mesh(new MeshObject); @@ -1932,8 +1924,8 @@ void MeshObject::addSegment(const Segment& s) void MeshObject::addSegment(const std::vector& inds) { unsigned long maxIndex = _kernel.CountFacets(); - for (std::vector::const_iterator it = inds.begin(); it != inds.end(); ++it) { - if (*it >= maxIndex) + for (FacetIndex it : inds) { + if (it >= maxIndex) throw Base::IndexError("Index out of range"); } @@ -1956,8 +1948,8 @@ MeshObject* MeshObject::meshFromSegment(const std::vector& indices) facets.reserve(indices.size()); const MeshCore::MeshPointArray& kernel_p = _kernel.GetPoints(); const MeshCore::MeshFacetArray& kernel_f = _kernel.GetFacets(); - for (std::vector::const_iterator it = indices.begin(); it != indices.end(); ++it) { - facets.push_back(kernel_f[*it]); + for (FacetIndex it : indices) { + facets.push_back(kernel_f[it]); } MeshCore::MeshKernel kernel; @@ -1998,8 +1990,8 @@ std::vector MeshObject::getSegmentsOfType(MeshObject::GeometryType type finder.FindSegments(surfaces); const std::vector& data = surf->GetSegments(); - for (std::vector::const_iterator it = data.begin(); it != data.end(); ++it) { - segm.emplace_back(this, *it, false); + for (const auto & it : data) { + segm.emplace_back(this, it, false); } } @@ -2016,22 +2008,13 @@ MeshObject::const_point_iterator::const_point_iterator(const MeshObject* mesh, P this->_point.Mesh = _mesh; } -MeshObject::const_point_iterator::const_point_iterator(const MeshObject::const_point_iterator& fi) - : _mesh(fi._mesh), _point(fi._point), _p_it(fi._p_it) -{ -} +MeshObject::const_point_iterator::const_point_iterator +(const MeshObject::const_point_iterator& fi) = default; -MeshObject::const_point_iterator::~const_point_iterator() -{ -} +MeshObject::const_point_iterator::~const_point_iterator() = default; -MeshObject::const_point_iterator& MeshObject::const_point_iterator::operator=(const MeshObject::const_point_iterator& pi) -{ - this->_mesh = pi._mesh; - this->_point = pi._point; - this->_p_it = pi._p_it; - return *this; -} +MeshObject::const_point_iterator& MeshObject::const_point_iterator::operator= +(const MeshObject::const_point_iterator& pi) = default; void MeshObject::const_point_iterator::dereference() { @@ -2085,22 +2068,13 @@ MeshObject::const_facet_iterator::const_facet_iterator(const MeshObject* mesh, F this->_facet.Mesh = _mesh; } -MeshObject::const_facet_iterator::const_facet_iterator(const MeshObject::const_facet_iterator& fi) - : _mesh(fi._mesh), _facet(fi._facet), _f_it(fi._f_it) -{ -} +MeshObject::const_facet_iterator::const_facet_iterator +(const MeshObject::const_facet_iterator& fi) = default; -MeshObject::const_facet_iterator::~const_facet_iterator() -{ -} +MeshObject::const_facet_iterator::~const_facet_iterator() = default; -MeshObject::const_facet_iterator& MeshObject::const_facet_iterator::operator=(const MeshObject::const_facet_iterator& fi) -{ - this->_mesh = fi._mesh; - this->_facet = fi._facet; - this->_f_it = fi._f_it; - return *this; -} +MeshObject::const_facet_iterator& MeshObject::const_facet_iterator::operator= +(const MeshObject::const_facet_iterator& fi) = default; void MeshObject::const_facet_iterator::dereference() { diff --git a/src/Mod/Mesh/App/Mesh.h b/src/Mod/Mesh/App/Mesh.h index 88e8d6972a..ccbc5c5398 100644 --- a/src/Mod/Mesh/App/Mesh.h +++ b/src/Mod/Mesh/App/Mesh.h @@ -397,14 +397,14 @@ public: /** @name Iterator */ //@{ const_point_iterator points_begin() const - { return const_point_iterator(this, 0); } + { return {this, 0}; } const_point_iterator points_end() const - { return const_point_iterator(this, countPoints()); } + { return {this, countPoints()}; } const_facet_iterator facets_begin() const - { return const_facet_iterator(this, 0); } + { return {this, 0}; } const_facet_iterator facets_end() const - { return const_facet_iterator(this, countFacets()); } + { return {this, countFacets()}; } using const_segment_iterator = std::vector::const_iterator; const_segment_iterator segments_begin() const diff --git a/src/Mod/Mesh/App/MeshFeature.cpp b/src/Mod/Mesh/App/MeshFeature.cpp index db279de4ab..c96a289ff8 100644 --- a/src/Mod/Mesh/App/MeshFeature.cpp +++ b/src/Mod/Mesh/App/MeshFeature.cpp @@ -42,10 +42,6 @@ Feature::Feature() ADD_PROPERTY_TYPE(Mesh,(MeshObject()),0,App::Prop_Output,"The mesh kernel"); } -Feature::~Feature() -{ -} - App::DocumentObjectExecReturn *Feature::execute() { this->Mesh.touch(); diff --git a/src/Mod/Mesh/App/MeshFeature.h b/src/Mod/Mesh/App/MeshFeature.h index 273352400c..6653454039 100644 --- a/src/Mod/Mesh/App/MeshFeature.h +++ b/src/Mod/Mesh/App/MeshFeature.h @@ -59,7 +59,6 @@ class MeshExport Feature : public App::GeoFeature public: /// Constructor Feature(); - ~Feature() override; /** @name Properties */ //@{ diff --git a/src/Mod/Mesh/App/MeshFeaturePy.xml b/src/Mod/Mesh/App/MeshFeaturePy.xml index 9af0eb0088..c90a1855d4 100644 --- a/src/Mod/Mesh/App/MeshFeaturePy.xml +++ b/src/Mod/Mesh/App/MeshFeaturePy.xml @@ -14,7 +14,7 @@ The Mesh::Feature class handles meshes. The Mesh.MeshFeature() function is for internal use only and cannot be used to create instances of this class. Therefore you must have a reference to a document, e.g. 'd' then you can create an instance with -d.addObject(\"Mesh::Feature\"). +d.addObject("Mesh::Feature"). diff --git a/src/Mod/Mesh/App/MeshPointPyImp.cpp b/src/Mod/Mesh/App/MeshPointPyImp.cpp index b86fc8c3de..4c0d2d2b88 100644 --- a/src/Mod/Mesh/App/MeshPointPyImp.cpp +++ b/src/Mod/Mesh/App/MeshPointPyImp.cpp @@ -93,7 +93,7 @@ Py::Long MeshPointPy::getIndex() const Py::Boolean MeshPointPy::getBound() const { - return Py::Boolean(getMeshPointPtr()->Index != UINT_MAX); + return {getMeshPointPtr()->Index != UINT_MAX}; } Py::Object MeshPointPy::getNormal() const diff --git a/src/Mod/Mesh/App/MeshProperties.cpp b/src/Mod/Mesh/App/MeshProperties.cpp index 2348f397bb..c353ed558c 100644 --- a/src/Mod/Mesh/App/MeshProperties.cpp +++ b/src/Mod/Mesh/App/MeshProperties.cpp @@ -45,15 +45,7 @@ TYPESYSTEM_SOURCE(Mesh::PropertyCurvatureList , App::PropertyLists) TYPESYSTEM_SOURCE(Mesh::PropertyMaterial , App::Property) TYPESYSTEM_SOURCE(Mesh::PropertyMeshKernel , App::PropertyComplexGeoData) -PropertyNormalList::PropertyNormalList() -{ - -} - -PropertyNormalList::~PropertyNormalList() -{ - -} +PropertyNormalList::PropertyNormalList() = default; void PropertyNormalList::setSize(int newSize) { @@ -154,8 +146,8 @@ void PropertyNormalList::SaveDocFile (Base::Writer &writer) const Base::OutputStream str(writer.Stream()); uint32_t uCt = (uint32_t)getSize(); str << uCt; - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << it->x << it->y << it->z; + for (auto it : _lValueList) { + str << it.x << it.y << it.z; } } @@ -165,8 +157,8 @@ void PropertyNormalList::RestoreDocFile(Base::Reader &reader) uint32_t uCt=0; str >> uCt; std::vector values(uCt); - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - str >> it->x >> it->y >> it->z; + for (auto & it : values) { + str >> it.x >> it.y >> it.z; } setValues(values); } @@ -224,15 +216,7 @@ void PropertyNormalList::transformGeometry(const Base::Matrix4D &mat) // ---------------------------------------------------------------------------- -PropertyCurvatureList::PropertyCurvatureList() -{ - -} - -PropertyCurvatureList::~PropertyCurvatureList() -{ - -} +PropertyCurvatureList::PropertyCurvatureList() = default; void PropertyCurvatureList::setValue(const CurvatureInfo& lValue) { @@ -257,40 +241,40 @@ std::vector PropertyCurvatureList::getCurvature( int mode ) const // Mean curvature if (mode == MeanCurvature) { - for ( std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it ) + for (const auto & it : fCurvInfo) { - fValues.push_back( 0.5f*(it->fMaxCurvature+it->fMinCurvature) ); + fValues.push_back( 0.5f*(it.fMaxCurvature+it.fMinCurvature) ); } } // Gaussian curvature else if (mode == GaussCurvature) { - for ( std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it ) + for (const auto & it : fCurvInfo) { - fValues.push_back( it->fMaxCurvature * it->fMinCurvature ); + fValues.push_back( it.fMaxCurvature * it.fMinCurvature ); } } // Maximum curvature else if (mode == MaxCurvature) { - for ( std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it ) + for (const auto & it : fCurvInfo) { - fValues.push_back( it->fMaxCurvature ); + fValues.push_back( it.fMaxCurvature ); } } // Minimum curvature else if (mode == MinCurvature) { - for ( std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it ) + for (const auto & it : fCurvInfo) { - fValues.push_back( it->fMinCurvature ); + fValues.push_back( it.fMinCurvature ); } } // Absolute curvature else if (mode == AbsCurvature) { - for ( std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it ) + for (const auto & it : fCurvInfo) { - if ( fabs(it->fMaxCurvature) > fabs(it->fMinCurvature) ) - fValues.push_back( it->fMaxCurvature ); + if ( fabs(it.fMaxCurvature) > fabs(it.fMinCurvature) ) + fValues.push_back( it.fMaxCurvature ); else - fValues.push_back( it->fMinCurvature ); + fValues.push_back( it.fMinCurvature ); } } @@ -357,10 +341,10 @@ void PropertyCurvatureList::SaveDocFile (Base::Writer &writer) const Base::OutputStream str(writer.Stream()); uint32_t uCt = (uint32_t)getSize(); str << uCt; - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << it->fMaxCurvature << it->fMinCurvature; - str << it->cMaxCurvDir.x << it->cMaxCurvDir.y << it->cMaxCurvDir.z; - str << it->cMinCurvDir.x << it->cMinCurvDir.y << it->cMinCurvDir.z; + for (const auto & it : _lValueList) { + str << it.fMaxCurvature << it.fMinCurvature; + str << it.cMaxCurvDir.x << it.cMaxCurvDir.y << it.cMaxCurvDir.z; + str << it.cMinCurvDir.x << it.cMinCurvDir.y << it.cMinCurvDir.z; } } @@ -370,10 +354,10 @@ void PropertyCurvatureList::RestoreDocFile(Base::Reader &reader) uint32_t uCt=0; str >> uCt; std::vector values(uCt); - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - str >> it->fMaxCurvature >> it->fMinCurvature; - str >> it->cMaxCurvDir.x >> it->cMaxCurvDir.y >> it->cMaxCurvDir.z; - str >> it->cMinCurvDir.x >> it->cMinCurvDir.y >> it->cMinCurvDir.z; + for (auto & it : values) { + str >> it.fMaxCurvature >> it.fMinCurvature; + str >> it.cMaxCurvDir.x >> it.cMaxCurvDir.y >> it.cMaxCurvDir.z; + str >> it.cMinCurvDir.x >> it.cMinCurvDir.y >> it.cMinCurvDir.z; } setValues(values); @@ -382,19 +366,19 @@ void PropertyCurvatureList::RestoreDocFile(Base::Reader &reader) PyObject* PropertyCurvatureList::getPyObject() { Py::List list; - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { + for (const auto & it : _lValueList) { Py::Tuple tuple(4); - tuple.setItem(0, Py::Float(it->fMaxCurvature)); - tuple.setItem(1, Py::Float(it->fMinCurvature)); + tuple.setItem(0, Py::Float(it.fMaxCurvature)); + tuple.setItem(1, Py::Float(it.fMinCurvature)); Py::Tuple maxDir(3); - maxDir.setItem(0, Py::Float(it->cMaxCurvDir.x)); - maxDir.setItem(1, Py::Float(it->cMaxCurvDir.y)); - maxDir.setItem(2, Py::Float(it->cMaxCurvDir.z)); + maxDir.setItem(0, Py::Float(it.cMaxCurvDir.x)); + maxDir.setItem(1, Py::Float(it.cMaxCurvDir.y)); + maxDir.setItem(2, Py::Float(it.cMaxCurvDir.z)); tuple.setItem(2, maxDir); Py::Tuple minDir(3); - minDir.setItem(0, Py::Float(it->cMinCurvDir.x)); - minDir.setItem(1, Py::Float(it->cMinCurvDir.y)); - minDir.setItem(2, Py::Float(it->cMinCurvDir.z)); + minDir.setItem(0, Py::Float(it.cMinCurvDir.x)); + minDir.setItem(1, Py::Float(it.cMinCurvDir.y)); + minDir.setItem(2, Py::Float(it.cMinCurvDir.z)); tuple.setItem(3, minDir); list.append(tuple); } @@ -741,7 +725,7 @@ bool PropertyMaterial::isSame(const App::Property& other) const // ---------------------------------------------------------------------------- PropertyMeshKernel::PropertyMeshKernel() - : _meshObject(new MeshObject()), meshPyObject(nullptr) + : _meshObject(new MeshObject()) { // Note: Normally this property is a member of a document object, i.e. the setValue() // method gets called in the constructor of a subclass of DocumentObject, e.g. Mesh::Feature. @@ -847,8 +831,8 @@ void PropertyMeshKernel::setPointIndices(const std::vectorgetKernel(); - for (std::vector >::const_iterator it = inds.begin(); it != inds.end(); ++it) - kernel.SetPoint(it->first, it->second); + for (const auto & it : inds) + kernel.SetPoint(it.first, it.second); hasSetValue(); } diff --git a/src/Mod/Mesh/App/MeshProperties.h b/src/Mod/Mesh/App/MeshProperties.h index 441a5f554c..47c14c185a 100644 --- a/src/Mod/Mesh/App/MeshProperties.h +++ b/src/Mod/Mesh/App/MeshProperties.h @@ -53,7 +53,6 @@ class MeshExport PropertyNormalList: public App::PropertyLists public: PropertyNormalList(); - ~PropertyNormalList() override; void setSize(int newSize) override; int getSize() const override; @@ -120,7 +119,6 @@ public: public: PropertyCurvatureList(); - ~PropertyCurvatureList() override; void setSize(int newSize) override{_lValueList.resize(newSize);} int getSize() const override {return _lValueList.size();} @@ -169,7 +167,6 @@ class MeshExport PropertyMaterial : public App::Property public: PropertyMaterial() = default; - ~PropertyMaterial() override = default; /** Sets the property */ @@ -301,7 +298,7 @@ public: private: Base::Reference _meshObject; - MeshPy* meshPyObject; + MeshPy* meshPyObject{nullptr}; }; } // namespace Mesh diff --git a/src/Mod/Mesh/App/MeshPy.xml b/src/Mod/Mesh/App/MeshPy.xml index e4c5408191..1c955f5079 100644 --- a/src/Mod/Mesh/App/MeshPy.xml +++ b/src/Mod/Mesh/App/MeshPy.xml @@ -23,7 +23,7 @@ Example: m = Mesh.Mesh() ... # Manipulate the mesh d = FreeCAD.activeDocument() # Get a reference to the actie document - f = d.addObject(\"Mesh::Feature\", \"Mesh\") # Create a mesh feature + f = d.addObject("Mesh::Feature", "Mesh") # Create a mesh feature f.Mesh = m # Assign the mesh object to the internal property d.recompute() diff --git a/src/Mod/Mesh/App/MeshPyImp.cpp b/src/Mod/Mesh/App/MeshPyImp.cpp index 91de9781ef..aefab5aba5 100644 --- a/src/Mod/Mesh/App/MeshPyImp.cpp +++ b/src/Mod/Mesh/App/MeshPyImp.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -131,8 +132,8 @@ PyObject* MeshPy::copy(PyObject *args) PyObject* MeshPy::read(PyObject *args, PyObject *kwds) { char* Name; - static char* keywords_path[] = {"Filename",nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "et", keywords_path, "utf-8", &Name)) { + static const std::array keywords_path {"Filename",nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "et", keywords_path, "utf-8", &Name)) { getMeshObjectPtr()->load(Name); PyMem_Free(Name); Py_Return; @@ -162,8 +163,8 @@ PyObject* MeshPy::read(PyObject *args, PyObject *kwds) PyObject* input; char* Ext; - static char* keywords_stream[] = {"Stream","Format",nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "Os",keywords_stream, &input, &Ext)) { + static const std::array keywords_stream {"Stream", "Format", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "Os",keywords_stream, &input, &Ext)) { std::string fmt(Ext); boost::to_upper(fmt); if (ext.find(fmt) != ext.end()) { @@ -215,9 +216,9 @@ PyObject* MeshPy::write(PyObject *args, PyObject *kwds) ext["ASY" ] = MeshCore::MeshIO::ASY; ext["3MF" ] = MeshCore::MeshIO::ThreeMF; - static char* keywords_path[] = {"Filename","Format","Name","Material",nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "et|ssO", keywords_path, "utf-8", - &Name, &Ext, &ObjName, &List)) { + static const std::array keywords_path {"Filename","Format","Name","Material",nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "et|ssO", keywords_path, "utf-8", + &Name, &Ext, &ObjName, &List)) { if (Ext) { std::string fmt(Ext); boost::to_upper(fmt); @@ -255,10 +256,10 @@ PyObject* MeshPy::write(PyObject *args, PyObject *kwds) PyErr_Clear(); - static char* keywords_stream[] = {"Stream","Format","Name","Material",nullptr}; + static const std::array keywords_stream {"Stream", "Format", "Name", "Material", nullptr}; PyObject* input; - if (PyArg_ParseTupleAndKeywords(args, kwds, "Os|sO", keywords_stream, - &input, &Ext, &ObjName, &List)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "Os|sO", keywords_stream, + &input, &Ext, &ObjName, &List)) { std::string fmt(Ext); boost::to_upper(fmt); if (ext.find(fmt) != ext.end()) { @@ -382,12 +383,12 @@ PyObject* MeshPy::crossSections(PyObject *args) // convert to Python objects Py::List crossSections; - for (std::vector::iterator it = sections.begin(); it != sections.end(); ++it) { + for (const auto & it : sections) { Py::List section; - for (MeshObject::TPolylines::const_iterator jt = it->begin(); jt != it->end(); ++jt) { + for (const auto & jt : it) { Py::List polyline; - for (std::vector::const_iterator kt = jt->begin(); kt != jt->end(); ++kt) { - polyline.append(Py::asObject(new Base::VectorPy(*kt))); + for (auto kt : jt) { + polyline.append(Py::asObject(new Base::VectorPy(kt))); } section.append(polyline); } @@ -488,10 +489,11 @@ PyObject* MeshPy::section(PyObject *args, PyObject *kwds) PyObject *connectLines = Py_True; float fMinDist = 0.0001f; - static char* keywords_section[] = {"Mesh", "ConnectLines", "MinDist", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|O!f",keywords_section, - &(MeshPy::Type), &pcObj, &PyBool_Type, &connectLines, &fMinDist)) + static const std::array keywords_section {"Mesh", "ConnectLines", "MinDist", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|O!f",keywords_section, + &(MeshPy::Type), &pcObj, &PyBool_Type, &connectLines, &fMinDist)) { return nullptr; + } MeshPy* pcObject = static_cast(pcObj); @@ -669,10 +671,10 @@ PyObject* MeshPy::addFacets(PyObject *args) else { // 9 consecutive floats expected int index=0; - for (int i=0; i<3; i++) { - facet._aclPoints[i].x = (float)(double)Py::Float(seq[index++]); - facet._aclPoints[i].y = (float)(double)Py::Float(seq[index++]); - facet._aclPoints[i].z = (float)(double)Py::Float(seq[index++]); + for (auto & point : facet._aclPoints) { + point.x = (float)(double)Py::Float(seq[index++]); + point.y = (float)(double)Py::Float(seq[index++]); + point.z = (float)(double)Py::Float(seq[index++]); } facet.CalcNormal(); facets.push_back(facet); @@ -749,8 +751,8 @@ PyObject* MeshPy::getInternalFacets(PyObject *args) const std::vector& indices = eval.GetIndices(); Py::List ary(indices.size()); Py::List::size_type pos=0; - for (std::vector::const_iterator it = indices.begin(); it != indices.end(); ++it) { - ary[pos++] = Py::Long(*it); + for (FacetIndex index : indices) { + ary[pos++] = Py::Long(index); } return Py::new_reference_to(ary); @@ -881,8 +883,8 @@ PyObject* MeshPy::getSegment(PyObject *args) Py::List ary; const std::vector& segm = getMeshObjectPtr()->getSegment(index).getIndices(); - for (std::vector::const_iterator it = segm.begin(); it != segm.end(); ++it) { - ary.append(Py::Long(*it)); + for (FacetIndex it : segm) { + ary.append(Py::Long(it)); } return Py::new_reference_to(ary); @@ -896,8 +898,8 @@ PyObject* MeshPy::getSeparateComponents(PyObject *args) Py::List meshesList; std::vector > segs; segs = getMeshObjectPtr()->getComponents(); - for (unsigned int i=0; imeshFromSegment(segs[i]); + for (const auto & it : segs) { + MeshObject* mesh = getMeshObjectPtr()->meshFromSegment(it); meshesList.append(Py::Object(new MeshPy(mesh),true)); } return Py::new_reference_to(meshesList); @@ -911,8 +913,8 @@ PyObject* MeshPy::getFacetSelection(PyObject *args) Py::List ary; std::vector facets; getMeshObjectPtr()->getFacetsFromSelection(facets); - for (std::vector::const_iterator it = facets.begin(); it != facets.end(); ++it) { - ary.append(Py::Long((int)*it)); + for (FacetIndex facet : facets) { + ary.append(Py::Long(int(facet))); } return Py::new_reference_to(ary); @@ -926,8 +928,8 @@ PyObject* MeshPy::getPointSelection(PyObject *args) Py::List ary; std::vector points; getMeshObjectPtr()->getPointsFromSelection(points); - for (std::vector::const_iterator it = points.begin(); it != points.end(); ++it) { - ary.append(Py::Long((int)*it)); + for (PointIndex point : points) { + ary.append(Py::Long(int(point))); } return Py::new_reference_to(ary); @@ -1117,10 +1119,11 @@ PyObject* MeshPy::hasPointsOnEdge(PyObject *args) PyObject* MeshPy::removePointsOnEdge(PyObject *args, PyObject *kwds) { - PyObject *fillBoundary = Py_False; - static char* keywords[] = {"FillBoundary", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O!", keywords, &PyBool_Type, &fillBoundary)) + PyObject *fillBoundary = Py_False; // NOLINT + static const std::array keywords {"FillBoundary", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|O!", keywords, &PyBool_Type, &fillBoundary)) { return nullptr; + } try { getMeshObjectPtr()->removePointsOnEdge(Base::asBoolean(fillBoundary)); } @@ -1688,8 +1691,8 @@ PyObject* MeshPy::cut(PyObject *args) Base::ViewProjMatrix proj(mat); Base::Polygon2d polygon2d; - for (std::vector::const_iterator it = polygon.begin(); it != polygon.end(); ++it) - polygon2d.Add(Base::Vector2d(it->x, it->y)); + for (auto it : polygon) + polygon2d.Add(Base::Vector2d(it.x, it.y)); getMeshObjectPtr()->cut(polygon2d, proj, MeshObject::CutType(mode)); Py_Return; @@ -1722,8 +1725,8 @@ PyObject* MeshPy::trim(PyObject *args) Base::ViewOrthoProjMatrix proj(mat); Base::Polygon2d polygon2d; - for (std::vector::const_iterator it = polygon.begin(); it != polygon.end(); ++it) - polygon2d.Add(Base::Vector2d(it->x, it->y)); + for (auto it : polygon) + polygon2d.Add(Base::Vector2d(it.x, it.y)); getMeshObjectPtr()->trim(polygon2d, proj, MeshObject::CutType(mode)); Py_Return; @@ -1753,10 +1756,12 @@ PyObject* MeshPy::smooth(PyObject *args, PyObject *kwds) double micro = 0; double maximum = 1000; int weight = 1; - static char* keywords_smooth[] = {"Method", "Iteration", "Lambda", "Micro", "Maximum", "Weight", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|sidddi",keywords_smooth, - &method, &iter, &lambda, µ, &maximum, &weight)) + static const std::array keywords_smooth{"Method", "Iteration", "Lambda", "Micro", "Maximum", + "Weight", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|sidddi",keywords_smooth, + &method, &iter, &lambda, µ, &maximum, &weight)) { return nullptr; + } PY_TRY { MeshPropertyLock lock(this->parentProperty); @@ -1861,11 +1866,11 @@ PyObject* MeshPy::getPlanarSegments(PyObject *args) (Mesh::MeshObject::PLANE, dev, minFacets); Py::List s; - for (std::vector::iterator it = segments.begin(); it != segments.end(); ++it) { - const std::vector& segm = it->getIndices(); + for (const auto & segment : segments) { + const std::vector& segm = segment.getIndices(); Py::List ary; - for (std::vector::const_iterator jt = segm.begin(); jt != segm.end(); ++jt) { - ary.append(Py::Long(*jt)); + for (FacetIndex jt : segm) { + ary.append(Py::Long(jt)); } s.append(ary); } @@ -1901,11 +1906,11 @@ PyObject* MeshPy::getSegmentsOfType(PyObject *args) (geoType, dev, minFacets); Py::List s; - for (std::vector::iterator it = segments.begin(); it != segments.end(); ++it) { - const std::vector& segm = it->getIndices(); + for (const auto & segment : segments) { + const std::vector& segm = segment.getIndices(); Py::List ary; - for (std::vector::const_iterator jt = segm.begin(); jt != segm.end(); ++jt) { - ary.append(Py::Long((int)*jt)); + for (FacetIndex jt : segm) { + ary.append(Py::Long(int(jt))); } s.append(ary); } @@ -1939,12 +1944,12 @@ PyObject* MeshPy::getSegmentsByCurvature(PyObject *args) finder.FindSegments(segm); Py::List list; - for (std::vector::iterator segmIt = segm.begin(); segmIt != segm.end(); ++segmIt) { - const std::vector& data = (*segmIt)->GetSegments(); - for (std::vector::const_iterator it = data.begin(); it != data.end(); ++it) { + for (const auto & segmIt : segm) { + const std::vector& data = segmIt->GetSegments(); + for (const auto & it : data) { Py::List ary; - for (MeshCore::MeshSegment::const_iterator jt = it->begin(); jt != it->end(); ++jt) { - ary.append(Py::Long((int)*jt)); + for (FacetIndex jt : it) { + ary.append(Py::Long(int(jt))); } list.append(ary); } @@ -2047,17 +2052,15 @@ Py::Tuple MeshPy::getTopology() const getMeshObjectPtr()->getFaces(Points, Facets, 0.0); Py::Tuple tuple(2); Py::List vertex; - for (std::vector::const_iterator it = Points.begin(); - it != Points.end(); ++it) - vertex.append(Py::asObject(new Base::VectorPy(*it))); + for (const auto & Point : Points) + vertex.append(Py::asObject(new Base::VectorPy(Point))); tuple.setItem(0, vertex); Py::List facet; - for (std::vector::const_iterator - it = Facets.begin(); it != Facets.end(); ++it) { + for (auto it : Facets) { Py::Tuple f(3); - f.setItem(0,Py::Long((int)it->I1)); - f.setItem(1,Py::Long((int)it->I2)); - f.setItem(2,Py::Long((int)it->I3)); + f.setItem(0,Py::Long((int)it.I1)); + f.setItem(1,Py::Long((int)it.I2)); + f.setItem(2,Py::Long((int)it.I3)); facet.append(f); } tuple.setItem(1, facet); diff --git a/src/Mod/Mesh/App/Segment.cpp b/src/Mod/Mesh/App/Segment.cpp index 405265acd7..8c245fbe10 100644 --- a/src/Mod/Mesh/App/Segment.cpp +++ b/src/Mod/Mesh/App/Segment.cpp @@ -78,18 +78,21 @@ const std::vector& Segment::getIndices() const return _indices; } -Segment::Segment(const Segment& s) - : _mesh(s._mesh) - , _indices(s._indices) - , _name(s._name) - , _color(s._color) - , _save(s._save) - , _modifykernel(s._modifykernel) -{ +Segment::Segment(const Segment& s) = default; +Segment::Segment(Segment&& s) = default; + +Segment& Segment::operator = (const Segment& s) +{ + // Do not copy the MeshObject pointer + if (this != &s) + this->_indices = s._indices; + if (_modifykernel) + _mesh->updateMesh(); + return *this; } -const Segment& Segment::operator = (const Segment& s) +Segment& Segment::operator = (Segment&& s) { // Do not copy the MeshObject pointer if (this != &s) @@ -106,7 +109,8 @@ bool Segment::operator == (const Segment& s) const // ---------------------------------------------------------------------------- -Segment::const_facet_iterator::const_facet_iterator(const Segment* segm, std::vector::const_iterator it) +Segment::const_facet_iterator::const_facet_iterator +(const Segment* segm, std::vector::const_iterator it) : _segment(segm), _f_it(segm->_mesh->getKernel()), _it(it) { this->_f_it.Set(0); @@ -114,23 +118,19 @@ Segment::const_facet_iterator::const_facet_iterator(const Segment* segm, std::ve this->_facet.Mesh = _segment->_mesh; } -Segment::const_facet_iterator::const_facet_iterator(const Segment::const_facet_iterator& fi) - : _segment(fi._segment), _facet(fi._facet), _f_it(fi._f_it), _it(fi._it) -{ -} +Segment::const_facet_iterator::const_facet_iterator +(const Segment::const_facet_iterator& fi) = default; -Segment::const_facet_iterator::~const_facet_iterator() -{ -} +Segment::const_facet_iterator::const_facet_iterator +(Segment::const_facet_iterator&& fi) = default; -Segment::const_facet_iterator& Segment::const_facet_iterator::operator=(const Segment::const_facet_iterator& fi) -{ - this->_segment = fi._segment; - this->_facet = fi._facet; - this->_f_it = fi._f_it; - this->_it = fi._it; - return *this; -} +Segment::const_facet_iterator::~const_facet_iterator() = default; + +Segment::const_facet_iterator& Segment::const_facet_iterator::operator= +(const Segment::const_facet_iterator& fi) = default; + +Segment::const_facet_iterator& Segment::const_facet_iterator::operator= +(Segment::const_facet_iterator&& fi) = default; void Segment::const_facet_iterator::dereference() const { diff --git a/src/Mod/Mesh/App/Segment.h b/src/Mod/Mesh/App/Segment.h index f11acf8bbe..1d1b069482 100644 --- a/src/Mod/Mesh/App/Segment.h +++ b/src/Mod/Mesh/App/Segment.h @@ -42,13 +42,16 @@ class MeshExport Segment public: Segment(const MeshObject*, bool mod); Segment(const MeshObject*, const std::vector& inds, bool mod); + ~Segment() = default; void addIndices(const std::vector& inds); void removeIndices(const std::vector& inds); const std::vector& getIndices() const; bool isEmpty() const { return _indices.empty(); } Segment(const Segment&); - const Segment& operator = (const Segment&); + Segment(Segment&&); + Segment& operator = (const Segment&); + Segment& operator = (Segment&&); bool operator == (const Segment&) const; void setName(const std::string& n) { _name = n; } @@ -77,9 +80,11 @@ public: public: const_facet_iterator(const Segment*, std::vector::const_iterator); const_facet_iterator(const const_facet_iterator& fi); + const_facet_iterator(const_facet_iterator&& fi); ~const_facet_iterator(); const_facet_iterator& operator=(const const_facet_iterator& fi); + const_facet_iterator& operator=(const_facet_iterator&& fi); const Facet& operator*() const; const Facet* operator->() const; bool operator==(const const_facet_iterator& fi) const; @@ -95,9 +100,9 @@ public: }; const_facet_iterator facets_begin() const - { return const_facet_iterator(this, _indices.begin()); } + { return {this, _indices.begin()}; } const_facet_iterator facets_end() const - { return const_facet_iterator(this, _indices.end()); } + { return {this, _indices.end()}; } }; } // namespace Mesh diff --git a/src/Mod/Mesh/Gui/AppMeshGui.cpp b/src/Mod/Mesh/Gui/AppMeshGui.cpp index 47ce0c63ce..3386a50806 100644 --- a/src/Mod/Mesh/Gui/AppMeshGui.cpp +++ b/src/Mod/Mesh/Gui/AppMeshGui.cpp @@ -80,8 +80,6 @@ public: initialize("This module is the MeshGui module."); // register with Python } - ~Module() override {} - private: Py::Object convertToSTL(const Py::Tuple& args) { diff --git a/src/Mod/Mesh/Gui/Command.cpp b/src/Mod/Mesh/Gui/Command.cpp index bb7d759935..47ce40302e 100644 --- a/src/Mod/Mesh/Gui/Command.cpp +++ b/src/Mod/Mesh/Gui/Command.cpp @@ -323,8 +323,8 @@ void CmdMeshImport::activated(int) // Allow multi selection QStringList fn = Gui::FileDialog::getOpenFileNames(Gui::getMainWindow(), QObject::tr("Import mesh"), QString(), filter.join(QLatin1String(";;"))); - for (QStringList::Iterator it = fn.begin(); it != fn.end(); ++it) { - std::string unicodepath = Base::Tools::escapedUnicodeFromUtf8((*it).toUtf8().data()); + for (const auto& it : fn) { + std::string unicodepath = Base::Tools::escapedUnicodeFromUtf8(it.toUtf8().data()); unicodepath = Base::Tools::escapeEncodeFilename(unicodepath); openCommand(QT_TRANSLATE_NOOP("Command", "Import Mesh")); doCommand(Doc,"import Mesh"); @@ -387,8 +387,8 @@ void CmdMeshExport::activated(int) ext << qMakePair(QString::fromLatin1("%1 (*.3mf)").arg(QObject::tr("3D Manufacturing Format")), "3MF"); ext << qMakePair(QString::fromLatin1("%1 (*.*)").arg(QObject::tr("All Files")), ""); // Undefined QStringList filter; - for (QList >::iterator it = ext.begin(); it != ext.end(); ++it) - filter << it->first; + for (const auto& it : ext) + filter << it.first; QString format; QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), @@ -396,9 +396,9 @@ void CmdMeshExport::activated(int) if (!fn.isEmpty()) { QFileInfo fi(fn); QByteArray extension = fi.suffix().toLatin1(); - for (QList >::iterator it = ext.begin(); it != ext.end(); ++it) { - if (it->first == format) { - extension = it->second; + for (const auto& it : ext) { + if (it.first == format) { + extension = it.second; break; } } @@ -440,17 +440,17 @@ void CmdMeshFromGeometry::activated(int) App::Document* doc = App::GetApplication().getActiveDocument(); std::vector geo = Gui::Selection().getObjectsOfType(App::GeoFeature::getClassTypeId()); - for (std::vector::iterator it = geo.begin(); it != geo.end(); ++it) { - if (!(*it)->getTypeId().isDerivedFrom(Mesh::Feature::getClassTypeId())) { + for (auto it : geo) { + if (!it->getTypeId().isDerivedFrom(Mesh::Feature::getClassTypeId())) { // exclude meshes std::map Map; - (*it)->getPropertyMap(Map); + it->getPropertyMap(Map); Mesh::MeshObject mesh; - for (std::map::iterator jt = Map.begin(); jt != Map.end(); ++jt) { - if (jt->first == "Shape" && jt->second->getTypeId().isDerivedFrom(App::PropertyComplexGeoData::getClassTypeId())) { + for (const auto& jt : Map) { + if (jt.first == "Shape" && jt.second->getTypeId().isDerivedFrom(App::PropertyComplexGeoData::getClassTypeId())) { std::vector aPoints; std::vector aTopo; - const Data::ComplexGeoData* data = static_cast(jt->second)->getComplexData(); + const Data::ComplexGeoData* data = static_cast(jt.second)->getComplexData(); if (data) { data->getFaces(aPoints, aTopo,(float)tol); mesh.setFacets(aTopo, aPoints); @@ -519,18 +519,19 @@ CmdMeshVertexCurvature::CmdMeshVertexCurvature() void CmdMeshVertexCurvature::activated(int) { std::vector meshes = getSelection().getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::const_iterator it = meshes.begin(); it != meshes.end(); ++it) { - std::string fName = (*it)->getNameInDocument(); + for (auto it : meshes) { + std::string fName = it->getNameInDocument(); fName += "_Curvature"; fName = getUniqueObjectName(fName.c_str()); openCommand(QT_TRANSLATE_NOOP("Command", "Mesh VertexCurvature")); - App::DocumentObject* grp = App::DocumentObjectGroup::getGroupOfObject( *it ); + App::DocumentObject* grp = App::DocumentObjectGroup::getGroupOfObject( it ); if (grp) doCommand(Doc,"App.activeDocument().getObject(\"%s\").newObject(\"Mesh::Curvature\",\"%s\")",grp->getNameInDocument(), fName.c_str()); else doCommand(Doc,"App.activeDocument().addObject(\"Mesh::Curvature\",\"%s\")",fName.c_str()); - doCommand(Doc,"App.activeDocument().%s.Source = App.activeDocument().%s",fName.c_str(),(*it)->getNameInDocument()); + doCommand(Doc,"App.activeDocument().%s.Source = App.activeDocument().%s",fName.c_str(), + it->getNameInDocument()); } commitCommand(); @@ -663,14 +664,14 @@ CmdMeshAddFacet::CmdMeshAddFacet() void CmdMeshAddFacet::activated(int) { std::vector docObj = Gui::Selection().getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::iterator it = docObj.begin(); it != docObj.end(); ++it) { - Gui::Document* doc = Gui::Application::Instance->getDocument((*it)->getDocument()); + for (auto it : docObj) { + Gui::Document* doc = Gui::Application::Instance->getDocument(it->getDocument()); Gui::MDIView* view = doc->getActiveView(); if (view->getTypeId().isDerivedFrom(Gui::View3DInventor::getClassTypeId())) { MeshGui::MeshFaceAddition* edit = new MeshGui::MeshFaceAddition (static_cast(view)); edit->startEditing(static_cast - (Gui::Application::Instance->getViewProvider(*it))); + (Gui::Application::Instance->getViewProvider(it))); break; } } @@ -978,8 +979,8 @@ void CmdMeshEvaluation::activated(int) MeshGui::DlgEvaluateMeshImp* dlg = MeshGui::DockEvaluateMeshImp::instance(); dlg->setAttribute(Qt::WA_DeleteOnClose); std::vector meshes = getSelection().getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::const_iterator it = meshes.begin(); it != meshes.end(); ++it) { - dlg->setMesh((Mesh::Feature*)(*it)); + for (auto it : meshes) { + dlg->setMesh((Mesh::Feature*)(it)); break; } @@ -1178,8 +1179,8 @@ CmdMeshEvaluateSolid::CmdMeshEvaluateSolid() void CmdMeshEvaluateSolid::activated(int) { std::vector meshes = getSelection().getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::const_iterator it = meshes.begin(); it != meshes.end(); ++it) { - Mesh::Feature* mesh = (Mesh::Feature*)(*it); + for (auto it : meshes) { + Mesh::Feature* mesh = (Mesh::Feature*)(it); QString msg; if (mesh->Mesh.getValue().getKernel().HasOpenEdges()) msg = QObject::tr("The mesh '%1' is not a solid.") @@ -1276,9 +1277,9 @@ void CmdMeshHarmonizeNormals::activated(int) { std::vector meshes = getSelection().getObjectsOfType(Mesh::Feature::getClassTypeId()); openCommand(QT_TRANSLATE_NOOP("Command", "Harmonize mesh normals")); - for (std::vector::const_iterator it = meshes.begin(); it != meshes.end(); ++it) { + for (auto it : meshes) { doCommand(Doc,"App.activeDocument().getObject(\"%s\").Mesh.harmonizeNormals()" - ,(*it)->getNameInDocument()); + ,it->getNameInDocument()); } commitCommand(); updateActive(); @@ -1310,9 +1311,9 @@ void CmdMeshFlipNormals::activated(int) { std::vector meshes = getSelection().getObjectsOfType(Mesh::Feature::getClassTypeId()); openCommand(QT_TRANSLATE_NOOP("Command", "Flip mesh normals")); - for (std::vector::const_iterator it = meshes.begin(); it != meshes.end(); ++it) { + for (auto it : meshes) { doCommand(Doc,"App.activeDocument().getObject(\"%s\").Mesh.flipNormals()" - ,(*it)->getNameInDocument()); + ,it->getNameInDocument()); } commitCommand(); updateActive(); @@ -1343,15 +1344,15 @@ CmdMeshBoundingBox::CmdMeshBoundingBox() void CmdMeshBoundingBox::activated(int) { std::vector meshes = getSelection().getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::const_iterator it = meshes.begin(); it != meshes.end(); ++it) { - const MeshCore::MeshKernel& rMesh = ((Mesh::Feature*)(*it))->Mesh.getValue().getKernel(); + for (auto it : meshes) { + const MeshCore::MeshKernel& rMesh = ((Mesh::Feature*)it)->Mesh.getValue().getKernel(); const Base::BoundBox3f& box = rMesh.GetBoundBox(); Base::Console().Message("Boundings: Min=<%f,%f,%f>, Max=<%f,%f,%f>\n", box.MinX,box.MinY,box.MinZ,box.MaxX,box.MaxY,box.MaxZ); QString bound = qApp->translate("Mesh_BoundingBox", "Boundings of %1:") - .arg(QString::fromUtf8((*it)->Label.getValue())); + .arg(QString::fromUtf8(it->Label.getValue())); bound += QString::fromLatin1("\n\nMin=<%1,%2,%3>\n\nMax=<%4,%5,%6>") .arg(box.MinX).arg(box.MinY).arg(box.MinZ) .arg(box.MaxX).arg(box.MaxY).arg(box.MaxZ); @@ -1422,9 +1423,9 @@ void CmdMeshFillupHoles::activated(int) if (!ok) return; openCommand(QT_TRANSLATE_NOOP("Command", "Fill up holes")); - for (std::vector::const_iterator it = meshes.begin(); it != meshes.end(); ++it) { + for (auto mesh : meshes) { doCommand(Doc,"App.activeDocument().getObject(\"%s\").Mesh.fillupHoles(%d)" - ,(*it)->getNameInDocument(), FillupHolesOfLength); + ,mesh->getNameInDocument(), FillupHolesOfLength); } commitCommand(); updateActive(); @@ -1576,8 +1577,8 @@ void CmdMeshMerge::activated(int) Mesh::Feature *pcFeature = static_cast(pcDoc->addObject("Mesh::Feature", "Mesh")); Mesh::MeshObject* newMesh = pcFeature->Mesh.startEditing(); std::vector objs = Gui::Selection().getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::const_iterator it = objs.begin(); it != objs.end(); ++it) { - const MeshObject& mesh = static_cast(*it)->Mesh.getValue(); + for (auto obj : objs) { + const MeshObject& mesh = static_cast(obj)->Mesh.getValue(); MeshCore::MeshKernel kernel = mesh.getKernel(); kernel.Transform(mesh.getTransform()); newMesh->addMesh(kernel); @@ -1617,8 +1618,8 @@ void CmdMeshSplitComponents::activated(int) openCommand(QT_TRANSLATE_NOOP("Command", "Mesh split")); std::vector objs = Gui::Selection().getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::const_iterator it = objs.begin(); it != objs.end(); ++it) { - const MeshObject& mesh = static_cast(*it)->Mesh.getValue(); + for (auto obj : objs) { + const MeshObject& mesh = static_cast(obj)->Mesh.getValue(); std::vector > comps = mesh.getComponents(); for (const auto& comp : comps) { @@ -1671,11 +1672,11 @@ void CmdMeshScale::activated(int) std::vector objs = Gui::Selection().getObjectsOfType(Mesh::Feature::getClassTypeId()); Base::Matrix4D mat; mat.scale(factor,factor,factor); - for (std::vector::const_iterator it = objs.begin(); it != objs.end(); ++it) { - MeshObject* mesh = static_cast(*it)->Mesh.startEditing(); + for (auto obj : objs) { + MeshObject* mesh = static_cast(obj)->Mesh.startEditing(); MeshCore::MeshKernel& kernel = mesh->getKernel(); kernel.Transform(mat); - static_cast(*it)->Mesh.finishEditing(); + static_cast(obj)->Mesh.finishEditing(); } updateActive(); diff --git a/src/Mod/Mesh/Gui/DlgDecimating.cpp b/src/Mod/Mesh/Gui/DlgDecimating.cpp index 1c492b8d9f..647c71ab94 100644 --- a/src/Mod/Mesh/Gui/DlgDecimating.cpp +++ b/src/Mod/Mesh/Gui/DlgDecimating.cpp @@ -48,9 +48,7 @@ DlgDecimating::DlgDecimating(QWidget* parent, Qt::WindowFlags fl) onCheckAbsoluteNumberToggled(false); } -DlgDecimating::~DlgDecimating() -{ -} +DlgDecimating::~DlgDecimating() = default; bool DlgDecimating::isAbsoluteNumber() const { @@ -136,11 +134,6 @@ TaskDecimating::TaskDecimating() } } -TaskDecimating::~TaskDecimating() -{ - // automatically deleted in the sub-class -} - bool TaskDecimating::accept() { std::vector meshes = Gui::Selection().getObjectsOfType(); @@ -159,8 +152,7 @@ bool TaskDecimating::accept() if (absolute) { targetSize = widget->targetNumberOfTriangles(); } - for (std::vector::const_iterator it = meshes.begin(); it != meshes.end(); ++it) { - Mesh::Feature* mesh = *it; + for (auto mesh : meshes) { Mesh::MeshObject* mm = mesh->Mesh.startEditing(); if (absolute) { mm->decimate(targetSize); diff --git a/src/Mod/Mesh/Gui/DlgDecimating.h b/src/Mod/Mesh/Gui/DlgDecimating.h index 53e4342128..59890b0ac2 100644 --- a/src/Mod/Mesh/Gui/DlgDecimating.h +++ b/src/Mod/Mesh/Gui/DlgDecimating.h @@ -61,7 +61,6 @@ class TaskDecimating : public Gui::TaskView::TaskDialog public: TaskDecimating(); - ~TaskDecimating() override; public: bool accept() override; diff --git a/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp b/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp index e12def23d9..a99c344605 100644 --- a/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp +++ b/src/Mod/Mesh/Gui/DlgEvaluateMeshImp.cpp @@ -69,16 +69,7 @@ void CleanupHandler::cleanup() class DlgEvaluateMeshImp::Private { public: - Private() - : meshFeature(nullptr) - , view(nullptr) - , enableFoldsCheck(false) - , checkNonManfoldPoints(false) - , strictlyDegenerated(true) - , epsilonDegenerated(0.0f) - { - } - ~Private() + Private() : view(nullptr) { } @@ -91,15 +82,15 @@ public: ui.repairFoldsButton->setVisible(on); } - Ui_DlgEvaluateMesh ui; + Ui_DlgEvaluateMesh ui{}; std::map vp; - Mesh::Feature* meshFeature; + Mesh::Feature* meshFeature{nullptr}; QPointer view; std::vector self_intersections; - bool enableFoldsCheck; - bool checkNonManfoldPoints; - bool strictlyDegenerated; - float epsilonDegenerated; + bool enableFoldsCheck{false}; + bool checkNonManfoldPoints{false}; + bool strictlyDegenerated{true}; + float epsilonDegenerated{0.0f}; }; /* TRANSLATOR MeshGui::DlgEvaluateMeshImp */ @@ -156,10 +147,10 @@ DlgEvaluateMeshImp::DlgEvaluateMeshImp(QWidget* parent, Qt::WindowFlags fl) DlgEvaluateMeshImp::~DlgEvaluateMeshImp() { // no need to delete child widgets, Qt does it all for us - for (std::map::iterator it = d->vp.begin(); it != d->vp.end(); ++it) { + for (const auto& it : d->vp) { if (d->view) - d->view->getViewer()->removeViewProvider(it->second); - delete it->second; + d->view->getViewer()->removeViewProvider(it.second); + delete it.second; } try { @@ -314,8 +305,8 @@ void DlgEvaluateMeshImp::slotDeletedDocument(const App::Document& Doc) { if (&Doc == getDocument()) { // the view is already destroyed - for (std::map::iterator it = d->vp.begin(); it != d->vp.end(); ++it) { - delete it->second; + for (const auto& it : d->vp) { + delete it.second; } d->vp.clear(); @@ -373,10 +364,10 @@ void DlgEvaluateMeshImp::removeViewProvider(const char* name) void DlgEvaluateMeshImp::removeViewProviders() { - for (std::map::iterator it = d->vp.begin(); it != d->vp.end(); ++it) { + for (const auto& it : d->vp) { if (d->view) - d->view->getViewer()->removeViewProvider(it->second); - delete it->second; + d->view->getViewer()->removeViewProvider(it.second); + delete it.second; } d->vp.clear(); } @@ -387,9 +378,9 @@ void DlgEvaluateMeshImp::onMeshNameButtonActivated(int i) d->meshFeature = nullptr; std::vector objs = getDocument()->getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - if (item == QLatin1String((*it)->getNameInDocument())) { - d->meshFeature = (Mesh::Feature*)(*it); + for (auto obj : objs) { + if (item == QLatin1String(obj->getNameInDocument())) { + d->meshFeature = static_cast(obj); break; } } @@ -407,16 +398,16 @@ void DlgEvaluateMeshImp::refreshList() QVector > items; if (this->getDocument()) { std::vector objs = this->getDocument()->getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - items.push_back(qMakePair(QString::fromUtf8((*it)->Label.getValue()), - QString::fromLatin1((*it)->getNameInDocument()))); + for (auto obj : objs) { + items.push_back(qMakePair(QString::fromUtf8(obj->Label.getValue()), + QString::fromLatin1(obj->getNameInDocument()))); } } d->ui.meshNameButton->clear(); d->ui.meshNameButton->addItem(tr("No selection")); - for (QVector >::iterator it = items.begin(); it != items.end(); ++it) - d->ui.meshNameButton->addItem(it->first, it->second); + for (const auto & item : items) + d->ui.meshNameButton->addItem(item.first, item.second); d->ui.meshNameButton->setDisabled(items.empty()); cleanInformation(); } @@ -433,10 +424,12 @@ void DlgEvaluateMeshImp::showInformation() d->ui.analyzeFoldsButton->setEnabled(true); d->ui.analyzeAllTogether->setEnabled(true); - const MeshKernel& rMesh = d->meshFeature->Mesh.getValue().getKernel(); - d->ui.textLabel4->setText(QString::fromLatin1("%1").arg(rMesh.CountFacets())); - d->ui.textLabel5->setText(QString::fromLatin1("%1").arg(rMesh.CountEdges())); - d->ui.textLabel6->setText(QString::fromLatin1("%1").arg(rMesh.CountPoints())); + if (d->meshFeature) { + const MeshKernel& rMesh = d->meshFeature->Mesh.getValue().getKernel(); + d->ui.textLabel4->setText(QString::fromLatin1("%1").arg(rMesh.CountFacets())); + d->ui.textLabel5->setText(QString::fromLatin1("%1").arg(rMesh.CountEdges())); + d->ui.textLabel6->setText(QString::fromLatin1("%1").arg(rMesh.CountPoints())); + } } void DlgEvaluateMeshImp::cleanInformation() @@ -1360,7 +1353,7 @@ void DockEvaluateMeshImp::closeEvent(QCloseEvent*) */ QSize DockEvaluateMeshImp::sizeHint () const { - return QSize(371, 579); + return {371, 579}; } #include "moc_DlgEvaluateMeshImp.cpp" diff --git a/src/Mod/Mesh/Gui/DlgRegularSolidImp.cpp b/src/Mod/Mesh/Gui/DlgRegularSolidImp.cpp index 05cbda9fd2..a1db0c6860 100644 --- a/src/Mod/Mesh/Gui/DlgRegularSolidImp.cpp +++ b/src/Mod/Mesh/Gui/DlgRegularSolidImp.cpp @@ -100,10 +100,7 @@ DlgRegularSolidImp::DlgRegularSolidImp(QWidget* parent, Qt::WindowFlags fl) /** * Destroys the object and frees any allocated resources */ -DlgRegularSolidImp::~DlgRegularSolidImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgRegularSolidImp::~DlgRegularSolidImp() = default; void DlgRegularSolidImp::changeEvent(QEvent *e) { diff --git a/src/Mod/Mesh/Gui/DlgSettingsMeshView.cpp b/src/Mod/Mesh/Gui/DlgSettingsMeshView.cpp index 5a925da55a..51ef06c614 100644 --- a/src/Mod/Mesh/Gui/DlgSettingsMeshView.cpp +++ b/src/Mod/Mesh/Gui/DlgSettingsMeshView.cpp @@ -45,10 +45,7 @@ DlgSettingsMeshView::DlgSettingsMeshView(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgSettingsMeshView::~DlgSettingsMeshView() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsMeshView::~DlgSettingsMeshView() = default; void DlgSettingsMeshView::saveSettings() { diff --git a/src/Mod/Mesh/Gui/DlgSmoothing.cpp b/src/Mod/Mesh/Gui/DlgSmoothing.cpp index f67eb4c3d9..914f2a8c29 100644 --- a/src/Mod/Mesh/Gui/DlgSmoothing.cpp +++ b/src/Mod/Mesh/Gui/DlgSmoothing.cpp @@ -140,9 +140,7 @@ SmoothingDialog::SmoothingDialog(QWidget* parent, Qt::WindowFlags fl) hboxLayout->addWidget(buttonBox); } -SmoothingDialog::~SmoothingDialog() -{ -} +SmoothingDialog::~SmoothingDialog() = default; // --------------------------------------- @@ -168,11 +166,6 @@ TaskSmoothing::TaskSmoothing() tasksel, &QWidget::setVisible); } -TaskSmoothing::~TaskSmoothing() -{ - // automatically deleted in the sub-class -} - bool TaskSmoothing::accept() { std::vector meshes = selection->getObjects(); @@ -183,8 +176,8 @@ bool TaskSmoothing::accept() Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Mesh Smoothing")); bool hasSelection = false; - for (std::vector::const_iterator it = meshes.begin(); it != meshes.end(); ++it) { - Mesh::Feature* mesh = static_cast(*it); + for (auto it : meshes) { + Mesh::Feature* mesh = static_cast(it); std::vector selection; if (widget->smoothSelection()) { // clear the selection before editing the mesh to avoid diff --git a/src/Mod/Mesh/Gui/DlgSmoothing.h b/src/Mod/Mesh/Gui/DlgSmoothing.h index 938ee650c1..816d88c828 100644 --- a/src/Mod/Mesh/Gui/DlgSmoothing.h +++ b/src/Mod/Mesh/Gui/DlgSmoothing.h @@ -104,7 +104,6 @@ class TaskSmoothing : public Gui::TaskView::TaskDialog public: TaskSmoothing(); - ~TaskSmoothing() override; public: bool accept() override; diff --git a/src/Mod/Mesh/Gui/MeshEditor.cpp b/src/Mod/Mesh/Gui/MeshEditor.cpp index b0f34bb7d8..e15df12cc4 100644 --- a/src/Mod/Mesh/Gui/MeshEditor.cpp +++ b/src/Mod/Mesh/Gui/MeshEditor.cpp @@ -293,9 +293,9 @@ void MeshFaceAddition::showMarker(SoPickedPoint* pp) if (!f.HasOpenEdge()) { // check if a neighbour facet is at the border bool ok=false; - for (int i=0; i<3; i++) { - if (facets[f._aulNeighbours[i]].HasOpenEdge()) { - f = facets[f._aulNeighbours[i]]; + for (Mesh::FacetIndex nbIndex : f._aulNeighbours) { + if (facets[nbIndex].HasOpenEdge()) { + f = facets[nbIndex]; ok = true; break; } @@ -577,11 +577,10 @@ void MeshFillHole::createPolygons() borders.sort(NofFacetsCompare()); int32_t count=0; - for (std::list >::iterator it = - borders.begin(); it != borders.end(); ++it) { - if (it->front() == it->back()) - it->pop_back(); - count += it->size(); + for (auto & border : borders) { + if (border.front() == border.back()) + border.pop_back(); + count += border.size(); } SoCoordinate3* coords = new SoCoordinate3(); @@ -590,16 +589,14 @@ void MeshFillHole::createPolygons() coords->point.setNum(count); int32_t index = 0; - for (std::list >::iterator it = - borders.begin(); it != borders.end(); ++it) { + for (const auto & border : borders) { SoPolygon* polygon = new SoPolygon(); polygon->startIndex = index; - polygon->numVertices = it->size(); + polygon->numVertices = border.size(); myBoundariesGroup->addChild(polygon); - myPolygons[polygon] = *it; - for (std::vector::iterator jt = it->begin(); - jt != it->end(); ++jt) { - p_iter.Set(*jt); + myPolygons[polygon] = border; + for (Mesh::PointIndex jt : border) { + p_iter.Set(jt); coords->point.set1Value(index++,p_iter->x,p_iter->y,p_iter->z); } } @@ -636,15 +633,15 @@ float MeshFillHole::findClosestPoint(const SbLine& ray, const TBoundary& polygon const MeshCore::MeshKernel & rMesh = myMesh->Mesh.getValue().getKernel(); const MeshCore::MeshPointArray& pts = rMesh.GetPoints(); - for (TBoundary::const_iterator it = polygon.begin(); it != polygon.end(); ++it) { + for (Mesh::PointIndex it : polygon) { SbVec3f vertex; - const Base::Vector3f& v = pts[*it]; + const Base::Vector3f& v = pts[it]; vertex.setValue(v.x,v.y,v.z); SbVec3f point = ray.getClosestPoint(vertex); float distance = (vertex-point).sqrLength(); if (distance < minDist) { minDist = distance; - vertex_index = *it; + vertex_index = it; closestPoint = vertex; } } diff --git a/src/Mod/Mesh/Gui/MeshEditor.h b/src/Mod/Mesh/Gui/MeshEditor.h index 13416cf227..01e6c56bc0 100644 --- a/src/Mod/Mesh/Gui/MeshEditor.h +++ b/src/Mod/Mesh/Gui/MeshEditor.h @@ -105,12 +105,12 @@ private: class MeshGuiExport MeshHoleFiller { public: - MeshHoleFiller() - { - } - virtual ~MeshHoleFiller() - { - } + MeshHoleFiller() = default; + virtual ~MeshHoleFiller() = default; + MeshHoleFiller(const MeshHoleFiller&) = delete; + MeshHoleFiller(MeshHoleFiller&&) = delete; + MeshHoleFiller& operator = (const MeshHoleFiller&) = delete; + MeshHoleFiller& operator = (MeshHoleFiller&&) = delete; virtual bool fillHoles(Mesh::MeshObject&, const std::list >&, Mesh::PointIndex, Mesh::PointIndex) { diff --git a/src/Mod/Mesh/Gui/MeshSelection.cpp b/src/Mod/Mesh/Gui/MeshSelection.cpp index 9c526a5908..eb464ffe2b 100644 --- a/src/Mod/Mesh/Gui/MeshSelection.cpp +++ b/src/Mod/Mesh/Gui/MeshSelection.cpp @@ -75,14 +75,6 @@ unsigned char MeshSelection::cross_mask_bitmap[] = { }; MeshSelection::MeshSelection() - : onlyPointToUserTriangles(false) - , onlyVisibleTriangles(false) - , addToSelection(false) - , addComponent(false) - , removeComponent(false) - , activeCB(nullptr) - , selectionCB(nullptr) - , ivViewer(nullptr) { setCallback(selectGLCallback); } @@ -118,8 +110,8 @@ std::vector MeshSelection::getObjects() const { std::vector objs; if (!meshObjects.empty()) { - for (std::vector::iterator it = meshObjects.begin(); it != meshObjects.end(); ++it) { - App::DocumentObject* obj = it->getObject(); + for (auto& it : meshObjects) { + App::DocumentObject* obj = it.getObject(); if (obj) { objs.push_back(obj); } @@ -139,9 +131,9 @@ std::list MeshSelection::getViewProviders() const { std::vector objs = getObjects(); std::list vps; - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - if ((*it)->isDerivedFrom(Mesh::Feature::getClassTypeId())) { - Gui::ViewProvider* vp = Gui::Application::Instance->getViewProvider(*it); + for (auto obj : objs) { + if (obj->isDerivedFrom(Mesh::Feature::getClassTypeId())) { + Gui::ViewProvider* vp = Gui::Application::Instance->getViewProvider(obj); if (vp->isVisible()) vps.push_back(static_cast(vp)); } @@ -250,20 +242,20 @@ void MeshSelection::fullSelection() { // select the complete meshes std::list views = getViewProviders(); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - Mesh::Feature* mf = static_cast((*it)->getObject()); + for (auto view : views) { + Mesh::Feature* mf = static_cast(view->getObject()); const Mesh::MeshObject* mo = mf->Mesh.getValuePtr(); std::vector faces(mo->countFacets()); std::generate(faces.begin(), faces.end(), Base::iotaGen(0)); - (*it)->addSelection(faces); + view->addSelection(faces); } } void MeshSelection::clearSelection() { std::list views = getViewProviders(); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - (*it)->clearSelection(); + for (auto view : views) { + view->clearSelection(); } } @@ -272,8 +264,8 @@ bool MeshSelection::deleteSelection() // delete all selected faces bool selected = false; std::list views = getViewProviders(); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - Mesh::Feature* mf = static_cast((*it)->getObject()); + for (auto view : views) { + Mesh::Feature* mf = static_cast(view->getObject()); unsigned long ct = MeshCore::MeshAlgorithm(mf->Mesh.getValue().getKernel()). CountFacetFlag(MeshCore::MeshFacet::SELECTED); if (ct > 0) { @@ -284,8 +276,8 @@ bool MeshSelection::deleteSelection() if (!selected) return false; // nothing todo - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - (*it)->deleteSelection(); + for (auto view : views) { + view->deleteSelection(); } return true; @@ -296,8 +288,8 @@ bool MeshSelection::deleteSelectionBorder() // delete all selected faces bool deletion = false; std::list views = getViewProviders(); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - Mesh::Feature* mf = static_cast((*it)->getObject()); + for (auto view : views) { + Mesh::Feature* mf = static_cast(view->getObject()); // mark the selected facet as visited std::vector selection, remove; @@ -320,8 +312,8 @@ bool MeshSelection::deleteSelectionBorder() for (unsigned long i = 0; i < numFaces; i++) { const MeshCore::MeshFacet& face = faces[i]; if (!face.IsFlag(MeshCore::MeshFacet::VISIT)) { - for (int j=0; j<3; j++) { - if (points[face._aulPoints[j]].IsFlag(MeshCore::MeshPoint::VISIT)) { + for (Mesh::PointIndex ptIndex : face._aulPoints) { + if (points[ptIndex].IsFlag(MeshCore::MeshPoint::VISIT)) { remove.push_back(i); break; } @@ -335,8 +327,8 @@ bool MeshSelection::deleteSelectionBorder() std::sort(remove.begin(), remove.end()); remove.erase(std::unique(remove.begin(), remove.end()), remove.end()); - (*it)->setSelection(remove); - (*it)->deleteSelection(); + view->setSelection(remove); + view->deleteSelection(); } } @@ -346,16 +338,16 @@ bool MeshSelection::deleteSelectionBorder() void MeshSelection::invertSelection() { std::list views = getViewProviders(); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - (*it)->invertSelection(); + for (auto view : views) { + view->invertSelection(); } } void MeshSelection::selectComponent(int size) { std::list views = getViewProviders(); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - Mesh::Feature* mf = static_cast((*it)->getObject()); + for (auto view : views) { + Mesh::Feature* mf = static_cast(view->getObject()); const Mesh::MeshObject* mo = mf->Mesh.getValuePtr(); std::vector > segm; @@ -363,20 +355,20 @@ void MeshSelection::selectComponent(int size) comp.SearchForComponents(MeshCore::MeshComponents::OverEdge,segm); std::vector faces; - for (std::vector >::iterator jt = segm.begin(); jt != segm.end(); ++jt) { - if (jt->size() < (Mesh::FacetIndex)size) - faces.insert(faces.end(), jt->begin(), jt->end()); + for (const auto & jt : segm) { + if (jt.size() < (Mesh::FacetIndex)size) + faces.insert(faces.end(), jt.begin(), jt.end()); } - (*it)->addSelection(faces); + view->addSelection(faces); } } void MeshSelection::deselectComponent(int size) { std::list views = getViewProviders(); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - Mesh::Feature* mf = static_cast((*it)->getObject()); + for (auto view : views) { + Mesh::Feature* mf = static_cast(view->getObject()); const Mesh::MeshObject* mo = mf->Mesh.getValuePtr(); std::vector > segm; @@ -384,12 +376,12 @@ void MeshSelection::deselectComponent(int size) comp.SearchForComponents(MeshCore::MeshComponents::OverEdge,segm); std::vector faces; - for (std::vector >::iterator jt = segm.begin(); jt != segm.end(); ++jt) { - if (jt->size() > (Mesh::FacetIndex)size) - faces.insert(faces.end(), jt->begin(), jt->end()); + for (const auto & jt : segm) { + if (jt.size() > (Mesh::FacetIndex)size) + faces.insert(faces.end(), jt.begin(), jt.end()); } - (*it)->removeSelection(faces); + view->removeSelection(faces); } } @@ -464,15 +456,12 @@ void MeshSelection::selectGLCallback(void * ud, SoEventCallback * n) SbVec3f pnt, dir; view->getNearPlane(pnt, dir); - Base::Vector3f point (pnt[0],pnt[1],pnt[2]); Base::Vector3f normal(dir[0],dir[1],dir[2]); std::list views = self->getViewProviders(); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - ViewProviderMesh* vp = *it; - + for (auto vp : views) { std::vector faces; - const Mesh::MeshObject& mesh = static_cast((*it)->getObject())->Mesh.getValue(); + const Mesh::MeshObject& mesh = static_cast(vp->getObject())->Mesh.getValue(); const MeshCore::MeshKernel& kernel = mesh.getKernel(); // simply get all triangles under the polygon @@ -489,8 +478,7 @@ void MeshSelection::selectGLCallback(void * ud, SoEventCallback * n) short width,height; sz.getValue(width,height); std::vector pixelPoly = view->getPolygon(); SbBox2s rect; - for (std::vector::iterator it = pixelPoly.begin(); it != pixelPoly.end(); ++it) { - const SbVec2s& p = *it; + for (const auto & p : pixelPoly) { rect.extendBy(SbVec2s(p[0],height-p[1])); } std::vector rf; rf.swap(faces); @@ -509,10 +497,10 @@ void MeshSelection::selectGLCallback(void * ud, SoEventCallback * n) std::vector screen; screen.reserve(faces.size()); MeshCore::MeshFacetIterator it_f(kernel); - for (std::vector::iterator it = faces.begin(); it != faces.end(); ++it) { - it_f.Set(*it); + for (Mesh::FacetIndex face : faces) { + it_f.Set(face); if (it_f->GetNormal() * normal > 0.0f) { - screen.push_back(*it); + screen.push_back(face); } } diff --git a/src/Mod/Mesh/Gui/MeshSelection.h b/src/Mod/Mesh/Gui/MeshSelection.h index 630e29aac0..f4323fa4a9 100644 --- a/src/Mod/Mesh/Gui/MeshSelection.h +++ b/src/Mod/Mesh/Gui/MeshSelection.h @@ -86,11 +86,14 @@ private: static void pickFaceCallback(void * ud, SoEventCallback * n); private: - bool onlyPointToUserTriangles, onlyVisibleTriangles; - bool addToSelection, addComponent, removeComponent; - SoEventCallbackCB *activeCB; - SoEventCallbackCB *selectionCB; - Gui::View3DInventorViewer* ivViewer; + bool onlyPointToUserTriangles{false}; + bool onlyVisibleTriangles{false}; + bool addToSelection{false}; + bool addComponent{false}; + bool removeComponent{false}; + SoEventCallbackCB *activeCB{nullptr}; + SoEventCallbackCB *selectionCB{nullptr}; + Gui::View3DInventorViewer* ivViewer{nullptr}; mutable std::vector meshObjects; static unsigned char cross_bitmap[]; diff --git a/src/Mod/Mesh/Gui/PropertyEditorMesh.cpp b/src/Mod/Mesh/Gui/PropertyEditorMesh.cpp index a86d6e5313..2e54997a6f 100644 --- a/src/Mod/Mesh/Gui/PropertyEditorMesh.cpp +++ b/src/Mod/Mesh/Gui/PropertyEditorMesh.cpp @@ -64,8 +64,8 @@ QVariant PropertyMeshKernelItem::value(const App::Property*) const int ctF = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Mesh::PropertyMeshKernel* pPropMesh = (Mesh::PropertyMeshKernel*)(*pt); + for (auto prop : props) { + Mesh::PropertyMeshKernel* pPropMesh = (Mesh::PropertyMeshKernel*)prop; const MeshKernel& rMesh = pPropMesh->getValue().getKernel(); ctP += (int)rMesh.CountPoints(); ctE += (int)rMesh.CountEdges(); @@ -73,7 +73,7 @@ QVariant PropertyMeshKernelItem::value(const App::Property*) const } QString str = QObject::tr("[Points: %1, Edges: %2, Faces: %3]").arg(ctP).arg(ctE).arg(ctF); - return QVariant(str); + return {str}; } QVariant PropertyMeshKernelItem::toolTip(const App::Property* prop) const @@ -103,15 +103,15 @@ void PropertyMeshKernelItem::setEditorData(QWidget *editor, const QVariant& data QVariant PropertyMeshKernelItem::editorData(QWidget *editor) const { Q_UNUSED(editor); - return QVariant(); + return {}; } int PropertyMeshKernelItem::countPoints() const { int ctP = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Mesh::PropertyMeshKernel* pPropMesh = (Mesh::PropertyMeshKernel*)(*pt); + for (auto prop : props) { + Mesh::PropertyMeshKernel* pPropMesh = (Mesh::PropertyMeshKernel*)prop; const MeshKernel& rMesh = pPropMesh->getValue().getKernel(); ctP += (int)rMesh.CountPoints(); } @@ -123,8 +123,8 @@ int PropertyMeshKernelItem::countEdges() const { int ctE = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Mesh::PropertyMeshKernel* pPropMesh = (Mesh::PropertyMeshKernel*)(*pt); + for (auto prop : props) { + Mesh::PropertyMeshKernel* pPropMesh = (Mesh::PropertyMeshKernel*)prop; const MeshKernel& rMesh = pPropMesh->getValue().getKernel(); ctE += (int)rMesh.CountEdges(); } @@ -136,8 +136,8 @@ int PropertyMeshKernelItem::countFaces() const { int ctF = 0; const std::vector& props = getPropertyData(); - for (std::vector::const_iterator pt = props.begin(); pt != props.end(); ++pt) { - Mesh::PropertyMeshKernel* pPropMesh = (Mesh::PropertyMeshKernel*)(*pt); + for (auto prop : props) { + Mesh::PropertyMeshKernel* pPropMesh = (Mesh::PropertyMeshKernel*)prop; const MeshKernel& rMesh = pPropMesh->getValue().getKernel(); ctF += (int)rMesh.CountFacets(); } diff --git a/src/Mod/Mesh/Gui/RemeshGmsh.cpp b/src/Mod/Mesh/Gui/RemeshGmsh.cpp index 49550ce2b7..f6b80871d6 100644 --- a/src/Mod/Mesh/Gui/RemeshGmsh.cpp +++ b/src/Mod/Mesh/Gui/RemeshGmsh.cpp @@ -295,9 +295,7 @@ RemeshGmsh::RemeshGmsh(Mesh::Feature* mesh, QWidget* parent, Qt::WindowFlags fl) d->geoFile = App::Application::getTempFileName() + "mesh.geo"; } -RemeshGmsh::~RemeshGmsh() -{ -} +RemeshGmsh::~RemeshGmsh() = default; bool RemeshGmsh::writeProject(QString& inpFile, QString& outFile) { @@ -402,11 +400,6 @@ TaskRemeshGmsh::TaskRemeshGmsh(Mesh::Feature* mesh) Content.push_back(taskbox); } -TaskRemeshGmsh::~TaskRemeshGmsh() -{ - // automatically deleted in the sub-class -} - void TaskRemeshGmsh::clicked(int id) { if (id == QDialogButtonBox::Apply) { diff --git a/src/Mod/Mesh/Gui/RemeshGmsh.h b/src/Mod/Mesh/Gui/RemeshGmsh.h index b356ad48ee..6a7f6f725b 100644 --- a/src/Mod/Mesh/Gui/RemeshGmsh.h +++ b/src/Mod/Mesh/Gui/RemeshGmsh.h @@ -111,7 +111,6 @@ class TaskRemeshGmsh : public Gui::TaskView::TaskDialog public: explicit TaskRemeshGmsh(Mesh::Feature* mesh); - ~TaskRemeshGmsh() override; public: void clicked(int) override; diff --git a/src/Mod/Mesh/Gui/RemoveComponents.cpp b/src/Mod/Mesh/Gui/RemoveComponents.cpp index c8377d1ead..e39ab61cac 100644 --- a/src/Mod/Mesh/Gui/RemoveComponents.cpp +++ b/src/Mod/Mesh/Gui/RemoveComponents.cpp @@ -211,9 +211,7 @@ RemoveComponentsDialog::RemoveComponentsDialog(QWidget* parent, Qt::WindowFlags hboxLayout->addWidget(buttonBox); } -RemoveComponentsDialog::~RemoveComponentsDialog() -{ -} +RemoveComponentsDialog::~RemoveComponentsDialog() = default; void RemoveComponentsDialog::reject() { @@ -249,11 +247,6 @@ TaskRemoveComponents::TaskRemoveComponents() Content.push_back(taskbox); } -TaskRemoveComponents::~TaskRemoveComponents() -{ - // automatically deleted in the sub-class -} - void TaskRemoveComponents::modifyStandardButtons(QDialogButtonBox* box) { QPushButton* btn = box->button(QDialogButtonBox::Ok); diff --git a/src/Mod/Mesh/Gui/RemoveComponents.h b/src/Mod/Mesh/Gui/RemoveComponents.h index e9e426a047..8647c85cc9 100644 --- a/src/Mod/Mesh/Gui/RemoveComponents.h +++ b/src/Mod/Mesh/Gui/RemoveComponents.h @@ -102,7 +102,6 @@ class TaskRemoveComponents : public Gui::TaskView::TaskDialog public: TaskRemoveComponents(); - ~TaskRemoveComponents() override; public: bool accept() override; diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh.ts index c1593ce970..0d3924e9d3 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh - + Add triangle - - + + Add triangle manually to a mesh @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh - + Boundings info... - - + + Shows the boundings of the selected mesh @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh - + Regular solid... - - + + Builds a regular solid @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh - + Cross-sections... - + Cross-sections @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh - + Decimation... - + Decimates a mesh @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh - + Face info - - + + Information about face @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh - + Check solid mesh - - + + Checks whether the mesh is a solid @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh - + Evaluate and repair mesh... - - + + Opens a dialog to analyze and repair a mesh @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh - + Close hole - - + + Close holes interactively @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh - + Fill holes... - - + + Fill holes of the mesh @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh - + Flip normals - - + + Flips the normals of the mesh @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh - + Harmonize normals - - + + Harmonizes the normals of the mesh @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh - + Merge - + Merges selected meshes into one @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh - + Cut mesh - - + + Cuts a mesh with a picked polygon @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh - + Make segment - - + + Creates a mesh segment @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh - + Split mesh - - + + Splits a mesh into two meshes @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh - + Trim mesh - - + + Trims a mesh with a picked polygon @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh - + Refinement... - + Refine existing mesh @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh - + Remove components by hand... - - + + Mark a component to remove it from the mesh @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh - + Remove components... - - + + Remove topologic independent components from the mesh @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh - + Scale... - + Scale selected meshes @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh - + Create section from mesh and plane - + Section from mesh and plane @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh - + Create mesh segments... - - + + Create mesh segments @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh - + Create mesh segments from best-fit surfaces... - - + + Create mesh segments from best-fit surfaces @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh - + Smooth... - - + + Smooth the selected meshes @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh - + Split by components - + Split selected mesh into its components @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh - + Trim mesh with a plane - + Trims a mesh with a plane @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh - + Curvature info - - + + Information about curvature @@ -692,87 +692,87 @@ - + Mesh Smoothing - + Harmonize mesh normals - + Flip mesh normals - + Fill up holes - + Mesh merge - + Mesh split - + Mesh scale - + Mesh Decimating - + Harmonize normals - + Remove non-manifolds - + Fix indices - + Remove degenerated faces - + Remove duplicated faces - + Remove duplicated points - + Fix self-intersections - + Remove folds - + Repair mesh @@ -782,34 +782,34 @@ - - + + Cut - - + + Trim - + Split - + Segment - + Delete - + Fill hole @@ -838,7 +838,7 @@ - + Absolute number @@ -848,7 +848,7 @@ - + Absolute number (Maximum: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... - - + + No selection + + + + + + + - - - - - - - No information - + Orientation - + No flipped normals - + %1 flipped normals - + No non-manifolds - + %1 non-manifolds - - + + Non-manifolds - + Cannot remove non-manifolds - + Invalid face indices - + Invalid point indices - + Multiple point indices - + Invalid neighbour indices - + No invalid indices - + Indices - + No degenerations - + %1 degenerated faces - + Degenerations - + No duplicated faces - + %1 duplicated faces - + Duplicated faces - + No duplicated points - - + + Duplicated points - + No self-intersections - + Self-intersections - + No folds on surface - + %1 folds on surface - + Folds - - + + Mesh repair @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 - + No active document @@ -1600,7 +1600,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish @@ -1977,13 +1977,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete - + Invert @@ -1991,38 +1991,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: - + Number of facets: - + Minimum bound: - + Maximum bound: - + Mesh info box - + Mesh info - - + + X: %1 Y: %2 Z: %3 @@ -2030,7 +2030,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: @@ -2066,7 +2066,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh @@ -2074,12 +2074,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display - + Import-Export @@ -2217,42 +2217,42 @@ Please visit http://www.openscad.org/index.html to install it. - + The mesh '%1' is not a solid. - + The mesh '%1' is a solid. - + Solid Mesh - + Boundings - + Fill holes - + Fill holes with maximum number of edges: - + Scaling - + Enter scaling factor: @@ -2262,12 +2262,12 @@ Please visit http://www.openscad.org/index.html to install it. - + Display components - + Display segments @@ -2277,38 +2277,38 @@ Please visit http://www.openscad.org/index.html to install it. - - + + Leave info mode - + Index: %1 - + Leave hole-filling mode - + Leave removal mode - + Delete selected faces - + Clear selected faces - + Annotation diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_be.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_be.ts index cc6ef8346e..1c2a81a4d9 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_be.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_be.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Дадаць трыкутнік - - + + Add triangle manually to a mesh Дадаць трыкутнік у паліганальную сетку ўручную @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh - Mesh + Паліганальная сетка - + Boundings info... Інфармацыя аб габарытах... - - + + Shows the boundings of the selected mesh Адлюстроўвае габарыты абранай паліганальнай сеткі @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh - Mesh + Паліганальная сетка - + Regular solid... Правільнае суцэльнае цела... - - + + Builds a regular solid Пабудова правільнага суцэльнага цела @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh - Mesh + Паліганальная сетка - + Cross-sections... Папярочныя перасекі... - + Cross-sections Папярочныя перасекі @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh - Mesh + Паліганальная сетка - + Decimation... Спрасціць... - + Decimates a mesh Спрашчэнне паліганальнай сеткі @@ -102,7 +102,7 @@ Mesh - Mesh + Паліганальная сетка @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh - Mesh + Паліганальная сетка - + Face info Інфармацыя аб грані - - + + Information about face Інфармацыя аб грані @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh - Mesh + Паліганальная сетка - + Check solid mesh Праверыць суцэльнасць паліганальнай сеткі - - + + Checks whether the mesh is a solid Правярае, ці з'яўляецца паліганальная сетка суцэльным целам @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh - Mesh + Паліганальная сетка - + Evaluate and repair mesh... Ацаніць і аднавіць паліганальную сетку... - - + + Opens a dialog to analyze and repair a mesh Адчыняе дыялогавае акно для даследавання і аднаўлення паліганальнай сеткі @@ -172,7 +172,7 @@ Mesh - Mesh + Паліганальная сетка @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh - Mesh + Паліганальная сетка - + Close hole Зачыніць адтуліну - - + + Close holes interactively Інтэрактыўна зачыняе адтуліну @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh - Mesh + Паліганальная сетка - + Fill holes... Запоўніць адтуліну... - - + + Fill holes of the mesh Запаўняе адтуліны паліганальнай сеткі @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh - Mesh + Паліганальная сетка - + Flip normals Павярнуць вектары нармалі - - + + Flips the normals of the mesh Паварочвае вектары нармалі паліганальнай сеткі @@ -248,7 +248,7 @@ Mesh - Mesh + Паліганальная сетка @@ -267,7 +267,7 @@ Mesh - Mesh + Паліганальная сетка @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh - Mesh + Паліганальная сетка - + Harmonize normals Узгадніць вектары нармалі - - + + Harmonizes the normals of the mesh Узгадняе вектары нармалі паліганальнай сеткі @@ -304,7 +304,7 @@ Mesh - Mesh + Паліганальная сетка @@ -323,7 +323,7 @@ Mesh - Mesh + Паліганальная сетка @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh - Mesh + Паліганальная сетка - + Merge Аб'яднаць - + Merges selected meshes into one Аб'яднае абраныя паліганальныя сеткі ў адну @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh - Mesh + Паліганальная сетка - + Cut mesh Рэзаць паліганальную сетку - - + + Cuts a mesh with a picked polygon Выразае паліганальную сетку, якая абмежавана абраным шматкутнікам @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh - Mesh + Паліганальная сетка - + Make segment Зрабіць сегмент - - + + Creates a mesh segment Стварае сегмент паліганальнай сеткі @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh - Mesh + Паліганальная сетка - + Split mesh Падзяліць паліганальную сетку - - + + Splits a mesh into two meshes Падзяляе паліганальную сетку ў дзве паліганальныя сеткі @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh - Mesh + Паліганальная сетка - + Trim mesh Абрэзаць паліганальную сетку - - + + Trims a mesh with a picked polygon Абразае паліганальную сетку, якая абмежавана абраным шматкутнікам @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh - Mesh + Паліганальная сетка - + Refinement... Удасканаліць... - + Refine existing mesh Удасканальвае бягучую паліганальную сетку @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh - Mesh + Паліганальная сетка - + Remove components by hand... Выдаліць кампаненты ўручную... - - + + Mark a component to remove it from the mesh Адзначыць кампанент да выдалення з паліганальнай сеткі @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh - Mesh + Паліганальная сетка - + Remove components... Выдаліць кампаненты... - - + + Remove topologic independent components from the mesh Выдаліць тапалагічныя незалежныя кампаненты з паліганальнай сеткі @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh - Mesh + Паліганальная сетка - + Scale... Маштаб... - + Scale selected meshes Маштаб абраных паліганальных сетак @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh - Mesh + Паліганальная сетка - + Create section from mesh and plane Стварыць перасек з паліганальнай сеткі і плоскасці - + Section from mesh and plane Перасек з паліганальнай сеткі і плоскасці @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh - Mesh + Паліганальная сетка - + Create mesh segments... Стварыць адрэзкі паліганальнай сеткі... - - + + Create mesh segments Стварыць адрэзкі паліганальнай сеткі @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh - Mesh + Паліганальная сетка - + Create mesh segments from best-fit surfaces... Стварае адрэзкі паліганальнай сеткі з найлепшай адпаведнасцю паверхні... - - + + Create mesh segments from best-fit surfaces Стварае адрэзкі паліганальнай сеткі з найлепшай адпаведнасцю паверхні @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh - Mesh + Паліганальная сетка - + Smooth... Згладзіць... - - + + Smooth the selected meshes Згладжвае абраныя паліганальныя сеткі @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh - Mesh + Паліганальная сетка - + Split by components Падзяліць па кампанентах - + Split selected mesh into its components Падзяляе абраныя паліганальныя сеткі па кампанентах @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh - Mesh + Паліганальная сетка - + Trim mesh with a plane Абрэзаць паліганальную сетку плоскасцю - + Trims a mesh with a plane Абразае паліганальную сетку плоскасцю @@ -618,7 +618,7 @@ Mesh - Mesh + Паліганальная сетка @@ -631,7 +631,7 @@ Mesh - Mesh + Паліганальная сетка @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Інфармацыя па крывізне - - + + Information about curvature Інфармацыя аб крывізне @@ -692,87 +692,87 @@ Крывізна вяршыні паліганальнай сеткі - + Mesh Smoothing Згладзіць паліганальную сетку - + Harmonize mesh normals Узгадніць вектары нармалі паліганальнай сеткі - + Flip mesh normals Павярнуць вектары нармалі паліганальнай сеткі - + Fill up holes Запоўніць адтуліны - + Mesh merge Зліць паліганальныя сеткі - + Mesh split Падзяліць паліганальную сетку - + Mesh scale Маштабаваць паліганальную сетку - + Mesh Decimating Спрасціць паліганальную сетку - + Harmonize normals Узгадніць вектары нармалі - + Remove non-manifolds Выдаліць неаднавобразныя - + Fix indices Выправіць індыкатары - + Remove degenerated faces Выдаліць выраджаныя грані - + Remove duplicated faces Выдаліць паўторныя грані - + Remove duplicated points Выдаліць паўторныя кропкі - + Fix self-intersections Выправіць самаперакрыжаванне - + Remove folds Выдаліць зморшчыны - + Repair mesh Аднавіць паліганальную сетку @@ -782,34 +782,34 @@ Выдаліць абраныя - - + + Cut Разрэзаць - - + + Trim Абрэзка - + Split Падзяліць - + Segment Сегмент - + Delete Выдаліць - + Fill hole Запоўніць адтуліну @@ -838,7 +838,7 @@ - + Absolute number Абсалютны нумар @@ -848,7 +848,7 @@ Дакладнасць - + Absolute number (Maximum: %1) Абсалютны нумар (Найбольшае значэнне: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Налады... - - + + No selection Не абрана + + + + + + + - - - - - - - No information Без інфармацыі - + Orientation Арыентацыя - + No flipped normals Без павернутых вектараў нармалей - + %1 flipped normals %1 павернутых вектараў нармалі - + No non-manifolds Без аднастайнасці - + %1 non-manifolds %1 аднастайнасцяў - - + + Non-manifolds Аднастайныя - + Cannot remove non-manifolds Не атрымалася выдаліць аднастайнасць - + Invalid face indices Хібныя індэксы грані - + Invalid point indices Хібныя індэксы кропкі - + Multiple point indices Множныя індэксы кропкі - + Invalid neighbour indices Хібныя суседнія індэксы - + No invalid indices Без хібных індэксаў - + Indices Індэксы - + No degenerations Без скажэнняў - + %1 degenerated faces %1 скажоных граняў - + Degenerations Скажэнні - + No duplicated faces Без паўторных граняў - + %1 duplicated faces %1 паўторных граняў - + Duplicated faces Паўторныя грані - + No duplicated points Без паўторных кропак - - + + Duplicated points Паўторныя кропкі - + No self-intersections Без самаперакрыжаванняў - + Self-intersections Самаперакрыжаванні - + No folds on surface Без зморшчын на паверхні - + %1 folds on surface %1 зморшчын на паверхні - + Folds Зморшчыны - - + + Mesh repair Аднавіць паліганальную сетку @@ -1219,7 +1219,7 @@ Length: - Length: + Даўжыня: @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Стварыць %1 - + No active document Без бягучага дакумента @@ -1313,7 +1313,7 @@ Export - Export + Экспартаваць @@ -1610,7 +1610,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Скончыць @@ -1987,13 +1987,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete Выдаліць - + Invert Інвертаваць @@ -2001,38 +2001,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Колькасць кропак: - + Number of facets: Колькасць граняў: - + Minimum bound: Найменшая мяжа: - + Maximum bound: Найбольшая мяжа: - + Mesh info box Інфармацыйнае акно аб паліганальнай сеткі - + Mesh info Інфармацыя аб паліганальнай сеткі - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2040,7 +2040,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Прывязкі %1: @@ -2077,7 +2077,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Ацаніць і аднавіць паліганальную сетку @@ -2085,12 +2085,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Праецыраванне - + Import-Export Імпарт-Экспарт @@ -2228,42 +2228,42 @@ Please visit http://www.openscad.org/index.html to install it. Увядзіце дакладнасць для геаметрыі паліганальнай сеткі: - + The mesh '%1' is not a solid. Паліганальная сетка '%1' не з'яўляецца суцэльным целам. - + The mesh '%1' is a solid. Паліганальная сетка '%1' з'яўляецца суцэльным целам. - + Solid Mesh Паліганальная сетка суцэльнага цела - + Boundings Прывязкі - + Fill holes Запоўніць адтуліны - + Fill holes with maximum number of edges: Запаўняе адтуліны з найбольшай колькасцю рэбраў: - + Scaling Маштабаванне - + Enter scaling factor: Увядзіце каэфіцыент маштабавання: @@ -2273,12 +2273,12 @@ Please visit http://www.openscad.org/index.html to install it. [Кропак: %1, рэбраў: %2, граняў: %3] - + Display components Адлюстраваць кампаненты - + Display segments Адлюстраваць адрэзкі @@ -2288,38 +2288,38 @@ Please visit http://www.openscad.org/index.html to install it. Адлюстраваць колеры - - + + Leave info mode Выйсці з інфармацыйнага рэжыму - + Index: %1 Індэкс: %1 - + Leave hole-filling mode Выйсці з рэжыму запаўнення адтулін - + Leave removal mode Выйсці з рэжыму выдалення - + Delete selected faces Выдаліць абраныя грані - + Clear selected faces Зныць выбар з абраных граняў - + Annotation Заметка diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ca.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ca.ts index 05bf53598d..ec909f86fc 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ca.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ca.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Afegeix un triangle - - + + Add triangle manually to a mesh Afegeix manualment un triangle a una malla @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Informació dels vincles... - - + + Shows the boundings of the selected mesh Mostra els vincles de la malla seleccionada @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Sòlid regular... - - + + Builds a regular solid Construeix un sòlid regular @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Interseccions... - + Cross-sections Interseccions @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Simplificació... - + Decimates a mesh Simplifica una malla @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Informació de la cara - - + + Information about face Informació sobre la cara @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Comprova si la malla és un sòlid - - + + Checks whether the mesh is a solid Comprova si la malla és un sòlid @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Avalua i repara la malla... - - + + Opens a dialog to analyze and repair a mesh Obri un diàleg per a analitzar i reparar una malla @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Tanca el forat - - + + Close holes interactively Tanca forats interactivament @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Ompli els forats... - - + + Fill holes of the mesh Ompli els forats de la malla @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Inverteix les normals - - + + Flips the normals of the mesh Inverteix les normals de la malla @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Harmonitza les normals - - + + Harmonizes the normals of the mesh Harmonitza les normals de la malla @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Fusiona - + Merges selected meshes into one Fusiona les malles seleccionades en una @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Retalla la malla - - + + Cuts a mesh with a picked polygon Retalla una malla amb un polígon seleccionat @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Fes un segment - - + + Creates a mesh segment Crea un segment de malla @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Divideix la malla - - + + Splits a mesh into two meshes Divideix una malla en dues malles @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Retalla la malla - - + + Trims a mesh with a picked polygon Retalla una malla amb un polígon seleccionat @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Millora... - + Refine existing mesh Millora la malla existent @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Elimina components manualment... - - + + Mark a component to remove it from the mesh Marca un component per a eliminar-lo de la malla @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Elimina components... - - + + Remove topologic independent components from the mesh Suprimeix els components topològics independents de la malla @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Escala... - + Scale selected meshes Escala malles seleccionades @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Crea una secció a partir d'una malla i un pla - + Section from mesh and plane Secció a partir d'una malla i un pla @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Crea segments de malla... - - + + Create mesh segments Crea segments de malla @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Crea segments de malla a partir de les superfícies que s'ajusten millor... - - + + Create mesh segments from best-fit surfaces Crea segments de malla a partir de les superfícies que s'ajusten millor @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Suavitza... - - + + Smooth the selected meshes Suavitza les malles seleccionades @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Especejament en components - + Split selected mesh into its components Divideix la malla seleccionades en els seus components @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Retalla la malla amb un pla - + Trims a mesh with a plane Retalla una malla amb un pla @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Info de la curvatura - - + + Information about curvature Informació de la curvatura @@ -692,87 +692,87 @@ Corbatura de vèrtex de la malla - + Mesh Smoothing Suavitzat de malla - + Harmonize mesh normals Harmonitza les normals de la malla - + Flip mesh normals Inverteix les normals de la malla - + Fill up holes Omplir els forats - + Mesh merge Unir malla - + Mesh split Partir malla - + Mesh scale Escalar Malla - + Mesh Decimating Simplificació de la malla - + Harmonize normals Harmonitza les normals - + Remove non-manifolds Esborra els no desplegables - + Fix indices Arreglar índexs - + Remove degenerated faces Elimina les cares degenerades - + Remove duplicated faces Elimina les cares duplicades - + Remove duplicated points Elimina els punts duplicats - + Fix self-intersections Corregeix auto-interseccions - + Remove folds Eliminar plegs - + Repair mesh Reparar malla @@ -782,34 +782,34 @@ Suprimeix selecció - - + + Cut Talla - - + + Trim Retallar - + Split Dividir - + Segment Segment - + Delete Elimina - + Fill hole Omplir forat @@ -838,7 +838,7 @@ - + Absolute number Nombre absolut @@ -848,7 +848,7 @@ Tolerància - + Absolute number (Maximum: %1) Nombre absolut (Màxim: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Paràmetres... - - + + No selection No s'ha seleccionat + + + + + + + - - - - - - - No information Sense informació - + Orientation Orientació - + No flipped normals No hi ha cap normal invertida. - + %1 flipped normals %1 normals invertides - + No non-manifolds No hi ha no desplegables - + %1 non-manifolds %1 no desplefable - - + + Non-manifolds No desplegables - + Cannot remove non-manifolds No es poden suprimir no desplegables - + Invalid face indices Els índexs de cara no són vàlids. - + Invalid point indices Els índexs de punt no són vàlids. - + Multiple point indices Índexs de punt múltiples - + Invalid neighbour indices Els índexs veïns no són vàlids. - + No invalid indices No hi ha cap índex invàlid. - + Indices Índexs - + No degenerations No hi ha cap degeneració. - + %1 degenerated faces %1 cares degenerades - + Degenerations Degeneracions - + No duplicated faces No hi ha cap cara duplicada. - + %1 duplicated faces %1 cares duplicades - + Duplicated faces Cares duplicades - + No duplicated points No hi ha cap punt duplicat. - - + + Duplicated points Punts duplicats - + No self-intersections No hi ha cap autointersecció. - + Self-intersections Autointerseccions - + No folds on surface No hi ha cap plec en la superfície. - + %1 folds on surface %1 plecs en la superfície - + Folds Plecs - - + + Mesh repair Reparació de malla @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Creat %1 - + No active document Document no Actiu @@ -1606,7 +1606,7 @@ Si angle de la cara < l'angle de plec, s'utilitza un ombrejat suau MeshGui::MeshFillHole - + Finish Finalitza @@ -1983,13 +1983,13 @@ Si angle de la cara < l'angle de plec, s'utilitza un ombrejat suauMeshGui::TaskRemoveComponents - + Delete Elimina - + Invert Inverteix @@ -1997,38 +1997,38 @@ Si angle de la cara < l'angle de plec, s'utilitza un ombrejat suau MeshInfoWatcher - + Number of points: Nombre de punts: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Info de la malla - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2036,7 +2036,7 @@ Si angle de la cara < l'angle de plec, s'utilitza un ombrejat suau Mesh_BoundingBox - + Boundings of %1: Vincles de %1: @@ -2073,7 +2073,7 @@ Visiteu http://www.openscad.org/index.html per a instal·lar-lo. QDockWidget - + Evaluate & Repair Mesh Avalua i repara una malla @@ -2081,12 +2081,12 @@ Visiteu http://www.openscad.org/index.html per a instal·lar-lo. QObject - + Display Visualització - + Import-Export Importació-exportació @@ -2224,42 +2224,42 @@ Visiteu http://www.openscad.org/index.html per a instal·lar-lo. Introdueix la tolerància per a la geometria de mallat: - + The mesh '%1' is not a solid. La malla «%1» no és un sòlid. - + The mesh '%1' is a solid. La malla «%1» és un sòlid. - + Solid Mesh Malla sòlida - + Boundings Vincles - + Fill holes Emplena els forats - + Fill holes with maximum number of edges: Emplena els forats amb un nombre màxim d'arestes: - + Scaling Escalat - + Enter scaling factor: Introduïu el factor d'escala: @@ -2269,12 +2269,12 @@ Visiteu http://www.openscad.org/index.html per a instal·lar-lo. [Punts: %1, Arestes: %2, Cares: %3] - + Display components Mostra els components - + Display segments Mostra els segments @@ -2284,38 +2284,38 @@ Visiteu http://www.openscad.org/index.html per a instal·lar-lo. Mostra els colors - - + + Leave info mode Surt del mode d'informació - + Index: %1 Índex: %1 - + Leave hole-filling mode Surt del mode d'emplenament de forats - + Leave removal mode Surt del mode de supressió - + Delete selected faces Elimina les cares seleccionades - + Clear selected faces Esborra les cares seleccionades - + Annotation Anotació diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_cs.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_cs.ts index c67a24c46c..bf98c4bcd7 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_cs.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_cs.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Přidat trojúhelník - - + + Add triangle manually to a mesh Přidat ručně trojúhelník do tvaru @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Informace o hranicích... - - + + Shows the boundings of the selected mesh Zobrazuje hranici vybrané sítě @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Pravidelné těleso... - - + + Builds a regular solid Vytvoří pravidelné těleso @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Řezy... - + Cross-sections Řezy @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Decimation... - + Decimates a mesh Decimates a mesh @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Informace o stěně - - + + Information about face Informace o stěně @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Zkontrolovat síť dílu - - + + Checks whether the mesh is a solid Kontroluje, zda síť je těleso @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Vyhodnotit a opravit síť... - - + + Opens a dialog to analyze and repair a mesh Otevře dialog pro analýzu a opravu sítě @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Uzavřít díru - - + + Close holes interactively Uzavřít otvory interaktivně @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Výplně otvorů... - - + + Fill holes of the mesh Vyplnit otvory v síti @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Překlopit normály - - + + Flips the normals of the mesh Otočit normálu sítě @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Uspořádat normály - - + + Harmonizes the normals of the mesh Uspořádá normály sítě @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Sloučit - + Merges selected meshes into one Sloučí vybrané sítě do jedné @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Vyjmout síť - - + + Cuts a mesh with a picked polygon Řez sítí vybraným mnohoúhelníkem @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Vytvořit segment - - + + Creates a mesh segment Vytvoří segment sítě @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Rozdělit síť - - + + Splits a mesh into two meshes Rozdělí síť na dvě @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Oříznout síť - - + + Trims a mesh with a picked polygon Oříznout síť vybraným mnohoúhelníkem @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Refinement... - + Refine existing mesh Refine existing mesh @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Ručně odeberte součásti... - - + + Mark a component to remove it from the mesh Označte komponentu k odstranění ze sítě @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Odebrat součásti... - - + + Remove topologic independent components from the mesh Odebrat ze sítě topologicky nezávislé součásti @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Měřítko... - + Scale selected meshes Škálovat vybrané sítě @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Vytvořit průřez ze sítě a roviny - + Section from mesh and plane Průřez ze sítě a roviny @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Vytvoření segmentů sítě... - - + + Create mesh segments Vytvoření segmentů sítě @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Vytvořit segmenty sítě z nejlépe odpovídajících ploch... - - + + Create mesh segments from best-fit surfaces Vytvořit segmenty sítě z nejlépe odpovídajících ploch @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Hladké... - - + + Smooth the selected meshes Vyhladit vybrané sítě @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Split by components - + Split selected mesh into its components Split selected mesh into its components @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Oříznout síť pomocí roviny - + Trims a mesh with a plane Ořízne síť pomocí roviny @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Informace o zakřivení - - + + Information about curvature Informace o zakřivení @@ -692,87 +692,87 @@ Mesh VertexCurvature - + Mesh Smoothing Vyhlazení sítě - + Harmonize mesh normals Harmonize mesh normals - + Flip mesh normals Flip mesh normals - + Fill up holes Vyplnit otvory - + Mesh merge Mesh merge - + Mesh split Mesh split - + Mesh scale Mesh scale - + Mesh Decimating Mesh Decimating - + Harmonize normals Uspořádat normály - + Remove non-manifolds Remove non-manifolds - + Fix indices Fix indices - + Remove degenerated faces Remove degenerated faces - + Remove duplicated faces Remove duplicated faces - + Remove duplicated points Odstranit duplikované body - + Fix self-intersections Opravit vlastní průsečíky - + Remove folds Odstranit přehyby - + Repair mesh Opravit síť @@ -782,34 +782,34 @@ Smazat výběr - - + + Cut Řezat - - + + Trim Oříznout - + Split Rozdělit - + Segment Segment - + Delete Odstranit - + Fill hole Vyplnit otvor @@ -838,7 +838,7 @@ - + Absolute number Absolutní číslo @@ -848,7 +848,7 @@ Odchylka - + Absolute number (Maximum: %1) Absolutní číslo (maximum: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Nastavení... - - + + No selection Žádný výběr + + + + + + + - - - - - - - No information Žádné informace - + Orientation Orientace - + No flipped normals Žádné převrácené normály - + %1 flipped normals %1 převrácených normál - + No non-manifolds Nejsou non-mainfolds - + %1 non-manifolds %1 non-mainfolds - - + + Non-manifolds Non-mainfolds - + Cannot remove non-manifolds Nemohu odstranit non-mainfolds - + Invalid face indices Neplatné indexy povrchů - + Invalid point indices Neplatné indexy bodů - + Multiple point indices Indexy vícenásobných bodů - + Invalid neighbour indices Neplatné sousední indexy - + No invalid indices Žádné neplatné indexy - + Indices Indexy - + No degenerations Žádná degenerace - + %1 degenerated faces %1 degenerovaných ploch - + Degenerations Degenerace - + No duplicated faces Žádné duplicitní plochy - + %1 duplicated faces %1 duplikovaných ploch - + Duplicated faces Duplikované plochy - + No duplicated points Žádné duplicitní body - - + + Duplicated points Duplikované body - + No self-intersections Nesebeprotínající - + Self-intersections Samoprotnutí - + No folds on surface Žádné záhyby na ploše - + %1 folds on surface %1 záhybů na ploše - + Folds Záhyb - - + + Mesh repair Oprava sítě @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Vytvořit %1 - + No active document Žádný aktivní dokument @@ -1612,7 +1612,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Dokončit @@ -1989,13 +1989,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete Odstranit - + Invert Převrátit @@ -2003,38 +2003,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Počet bodů: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Mesh info - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2042,7 +2042,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Hranice %1: @@ -2079,7 +2079,7 @@ Prosím navštivte http://www.openscad.org/index.html a nainstalujte ho. QDockWidget - + Evaluate & Repair Mesh Vyhodnotit & Opravit síť @@ -2087,12 +2087,12 @@ Prosím navštivte http://www.openscad.org/index.html a nainstalujte ho. QObject - + Display Zobrazení - + Import-Export Import-Export @@ -2230,42 +2230,42 @@ Prosím navštivte http://www.openscad.org/index.html a nainstalujte ho.Vložit toleranci pro síťovou geometrii: - + The mesh '%1' is not a solid. Síť '%1' netvoří těleso. - + The mesh '%1' is a solid. Síť '%1' je pevná. - + Solid Mesh Síť tělesa - + Boundings Hraniční - + Fill holes Výplně otvorů - + Fill holes with maximum number of edges: Výplně otvorů s největším počtem hran: - + Scaling Škálování - + Enter scaling factor: Vložte měřítko: @@ -2275,12 +2275,12 @@ Prosím navštivte http://www.openscad.org/index.html a nainstalujte ho.[Body: %1, Hrany: %2, Plochy: %3] - + Display components Zobrazit součásti - + Display segments Zobrazit segmenty @@ -2290,38 +2290,38 @@ Prosím navštivte http://www.openscad.org/index.html a nainstalujte ho.Display colors - - + + Leave info mode Opustit info režim - + Index: %1 Index: %1 - + Leave hole-filling mode Opustit režim výplně děr - + Leave removal mode Opustit režim odstranění - + Delete selected faces Odstranit vybrané plochy - + Clear selected faces Smazat vybrané plochy - + Annotation Vysvětlivka diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_de.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_de.ts index 36792c4573..f661ed4bc0 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_de.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_de.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Netz - + Add triangle Dreieck hinzufügen - - + + Add triangle manually to a mesh Dreieck manuell zu einem Netz hinzufügen @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Netz - + Boundings info... Abmessungen... - - + + Shows the boundings of the selected mesh Anzeigen der Abmessungen des gewählten Netzes @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Netz - + Regular solid... Regelgeometrie... - - + + Builds a regular solid Erstellen einer Regelgeometrie @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Netz - + Cross-sections... Schnitte... - + Cross-sections Schnitte @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Netz - + Decimation... Dezimierung... - + Decimates a mesh Dezimiert ein Netz (die Anzahl der Knoten) @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Netz - + Face info Dreiecksinformation - - + + Information about face Information über Dreieck @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Netz - + Check solid mesh Netz auf Solid überprüfen - - + + Checks whether the mesh is a solid Überprüft, ob das Netz ein Solid ist @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Netz - + Evaluate and repair mesh... Netz untersuchen und reparieren... - - + + Opens a dialog to analyze and repair a mesh Öffnet einen Dialog zum Analysieren und Reparieren eines Netzes @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Netz - + Close hole Loch schließen - - + + Close holes interactively Löcher interaktiv schließen @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Netz - + Fill holes... Löcher schließen... - - + + Fill holes of the mesh Schließt Löcher in dem Netz @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Netz - + Flip normals Normalen umdrehen - - + + Flips the normals of the mesh Dreht die Dreiecksnormalen des Netzes um @@ -253,7 +253,7 @@ Create mesh from geometry... - Erzeuge Netz aus Geometrie... + Netz aus Geometrie erstellen... @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Netz - + Harmonize normals Normalen ausrichten - - + + Harmonizes the normals of the mesh Richtet die Normalen des Netzes aus @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Netz - + Merge Zusammenführen - + Merges selected meshes into one Ausgewählte Netze zu Einem zusammenführen @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Netz - + Cut mesh Netz schneiden - - + + Cuts a mesh with a picked polygon Schneidet ein Netz mit einem ausgewählten Polygon @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Netz - + Make segment Segment erzeugen - - + + Creates a mesh segment Erzeuge Netz-Segment @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Netz - + Split mesh Netz auftrennen - - + + Splits a mesh into two meshes Netz in zwei Teile trennen @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Netz - + Trim mesh Netz trimmen - - + + Trims a mesh with a picked polygon Ein Netz mit einem gewählten Polygon trimmen @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Netz - + Refinement... Aufbereitung... - + Refine existing mesh Vorhandenes Netz aufbereiten @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Netz - + Remove components by hand... Komponente von Hand entfernen... - - + + Mark a component to remove it from the mesh Markiere Komponente um von Hand zu entfernen @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Netz - + Remove components... Komponenten entfernen... - - + + Remove topologic independent components from the mesh Entfernt topologisch unabhängige Komponenten aus dem Netz @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Netz - + Scale... Skalieren... - + Scale selected meshes Skalieren ausgewählter Netze @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Netz - + Create section from mesh and plane - Schnitt aus Netz und Ebene erstellen + Schnittlinie aus Netz und Ebene erstellen - + Section from mesh and plane Schnitt aus Netz und Ebene @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Netz - + Create mesh segments... Netz-Segmente erstellen... - - + + Create mesh segments Netz-Segmente erstellen @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Netz - + Create mesh segments from best-fit surfaces... Erstelle Netzsegmente aus angenäherten Oberflächen... - - + + Create mesh segments from best-fit surfaces Erstelle Netzsegmente aus angenäherten Oberflächen @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Netz - + Smooth... Glätten... - - + + Smooth the selected meshes Selektierte Netze glätten @@ -579,36 +579,36 @@ CmdMeshSplitComponents - + Mesh Netz - + Split by components - Nach Komponenten teilen + In Komponenten auftrennen - + Split selected mesh into its components - Ausgewähltes Netz in seine Komponenten teilen + Teilt das ausgewählte Netz in seine Komponenten auf CmdMeshTrimByPlane - + Mesh Netz - + Trim mesh with a plane Netz mit Ebene trimmen - + Trims a mesh with a plane Ein Netz mit einer Ebene trimmen @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Netz - + Curvature info Krümmungsinformation - - + + Information about curvature Informationen über Krümmung @@ -692,87 +692,87 @@ Netzscheitelpunktkrümmung - + Mesh Smoothing Netz glätten - + Harmonize mesh normals Netz-Normalen harmonisieren - + Flip mesh normals Netz-Normalen umdrehen - + Fill up holes Löcher füllen - + Mesh merge Netze zusammenführen - + Mesh split Netz teilen - + Mesh scale Netz skalieren - + Mesh Decimating Netzausdünnung - + Harmonize normals Normalen ausrichten - + Remove non-manifolds Nichtmannigfaltigkeiten entfernen - + Fix indices Indizes reparieren - + Remove degenerated faces Degenerierte Flächen entfernen - + Remove duplicated faces Doppelte Flächen entfernen - + Remove duplicated points Doppelte Punkte entfernen - + Fix self-intersections Selbstdurchdringung korrigieren - + Remove folds Falten entfernen - + Repair mesh Netz reparieren @@ -782,34 +782,34 @@ Auswahl löschen - - + + Cut - Differenz + Schneiden - - + + Trim - Beschneiden + Zuschneiden - + Split Teilen - + Segment Segment - + Delete Löschen - + Fill hole Loch füllen @@ -838,7 +838,7 @@ - + Absolute number Absolute Anzahl @@ -848,7 +848,7 @@ Toleranz - + Absolute number (Maximum: %1) Absolute Anzahl (Maximum: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Einstellungen... - - + + No selection Keine Auswahl + + + + + + + - - - - - - - No information Keine Informationen - + Orientation Orientierung - + No flipped normals Keine verdrehten Normalen - + %1 flipped normals %1 verdrehte Normalen - + No non-manifolds Keine Nichtmannigfaltigkeiten - + %1 non-manifolds %1 Nichtmannigfaltigkeiten - - + + Non-manifolds Nichtmannigfaltigkeiten - + Cannot remove non-manifolds Nichtmannigfaltigkeiten können nicht entfernt werden - + Invalid face indices Ungültige Facettenindexe - + Invalid point indices Ungültige Punktindexe - + Multiple point indices Mehrfache Punktindexe - + Invalid neighbour indices Ungültige Nachbarindexe - + No invalid indices Keine ungültige Indexe - + Indices Indexe - + No degenerations Keine Entartungen - + %1 degenerated faces %1 entartete Facetten - + Degenerations Degenerierungen - + No duplicated faces Keine doppelten Facetten - + %1 duplicated faces %1 doppelte Facetten - + Duplicated faces Doppelte Dreiecke - + No duplicated points Keine doppelten Punkte - - + + Duplicated points Doppelte Punkte - + No self-intersections Keine Selbstdurchdringungen - + Self-intersections Selbstdurchdringungen - + No folds on surface Keine Oberflächenfalten - + %1 folds on surface %1 Oberflächenfalten - + Folds Falten - - + + Mesh repair Netz reparieren @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Erstelle %1 - + No active document Kein aktives Dokument @@ -1580,7 +1580,7 @@ Flächenwinkel < SickenWinkel, wird glattes Schattieren angewendet Error - Fehlermeldungen + Fehler @@ -1609,7 +1609,7 @@ Flächenwinkel < SickenWinkel, wird glattes Schattieren angewendet MeshGui::MeshFillHole - + Finish Fertig @@ -1644,7 +1644,7 @@ Flächenwinkel < SickenWinkel, wird glattes Schattieren angewendet Clear - Löschen + Leeren @@ -1717,7 +1717,7 @@ Flächenwinkel < SickenWinkel, wird glattes Schattieren angewendet Clear - Löschen + Leeren @@ -1812,7 +1812,7 @@ Flächenwinkel < SickenWinkel, wird glattes Schattieren angewendet Plane - Ebene + Fläche @@ -1940,7 +1940,7 @@ Flächenwinkel < SickenWinkel, wird glattes Schattieren angewendet Center - Mitte + Zentrum @@ -1986,13 +1986,13 @@ Flächenwinkel < SickenWinkel, wird glattes Schattieren angewendetMeshGui::TaskRemoveComponents - + Delete Löschen - + Invert Umkehren @@ -2000,38 +2000,38 @@ Flächenwinkel < SickenWinkel, wird glattes Schattieren angewendet MeshInfoWatcher - + Number of points: Anzahl Punkte: - + Number of facets: Dreiecksanzahl: - + Minimum bound: Untergrenze: - + Maximum bound: Obergrenze: - + Mesh info box Netz-Infobox - + Mesh info Netz-Informationen - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2039,7 +2039,7 @@ Flächenwinkel < SickenWinkel, wird glattes Schattieren angewendet Mesh_BoundingBox - + Boundings of %1: Abmessungen von %1: @@ -2076,7 +2076,7 @@ Bitte besuchen Sie http://www.openscad.org/index.html, um es zu installieren. QDockWidget - + Evaluate & Repair Mesh Netz auswerten & reparieren @@ -2084,12 +2084,12 @@ Bitte besuchen Sie http://www.openscad.org/index.html, um es zu installieren. QObject - + Display Anzeige - + Import-Export Import / Export @@ -2227,42 +2227,42 @@ Bitte besuchen Sie http://www.openscad.org/index.html, um es zu installieren.Toleranz zum Erzeugen von Dreiecksnetz eingeben: - + The mesh '%1' is not a solid. Das Netz '%1' ist kein Solid. - + The mesh '%1' is a solid. Das Netz '%1' ist ein Solid. - + Solid Mesh Fester Körper - + Boundings Abmessungen - + Fill holes Löcher schließen - + Fill holes with maximum number of edges: Löcher schließen mit maximaler Anzahl Kanten: - + Scaling Skalieren - + Enter scaling factor: Geben Sie den Skalierungsfaktor an: @@ -2272,12 +2272,12 @@ Bitte besuchen Sie http://www.openscad.org/index.html, um es zu installieren.[Punkte: %1, Kanten: %2, Flächen: %3] - + Display components Komponenten anzeigen - + Display segments Segmente anzeigen @@ -2287,38 +2287,38 @@ Bitte besuchen Sie http://www.openscad.org/index.html, um es zu installieren.Farben anzeigen - - + + Leave info mode Info-Modus verlassen - + Index: %1 Index: %1 - + Leave hole-filling mode Löcher-Schließen-Modus verlassen - + Leave removal mode Entfernen-Modus verlassen - + Delete selected faces Selektierte Dreiecke löschen - + Clear selected faces Auswahl aufheben - + Annotation Anmerkung diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_el.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_el.ts index 3fc6ea92ae..0e988d8d3b 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_el.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_el.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Προσθέστε τρίγωνο - - + + Add triangle manually to a mesh Προσθέστε τρίγωνο σε κάποιο πλέγμα χειροκίνητα @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Πληροφορίες οριοθετήσεων... - - + + Shows the boundings of the selected mesh Εμφανίζει τις οριοθετήσεις του επιλεγμένου πλέγματος @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Κανονικό στερεό... - - + + Builds a regular solid Χτίζει ένα κανονικό στερεό @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Ορθογώνιες διατομές... - + Cross-sections Ορθογώνιες διατομές @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Απλοποιήσει πλέγματος... - + Decimates a mesh Μείωση Δεκαδικών πλέγματος @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Πληροφορίες όψης - - + + Information about face Πληροφορίες σχετικά με την όψη @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Έλεγχος στερεού πλέγματος - - + + Checks whether the mesh is a solid Ελέγχει αν το πλέγμα είναι στερεό @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Αξιολόγηση και επισκευή πλέγματος... - - + + Opens a dialog to analyze and repair a mesh Ανοίγει ένα παράθυρο διαλόγου για την ανάλυση και την επισκευή ενός πλέγματος @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Κλείσιμο οπής - - + + Close holes interactively Κλείστε τις οπές διαδραστικά @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Γέμισμα οπών... - - + + Fill holes of the mesh Γεμίστε τις οπές του πλέγματος @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Αντιστροφή καθέτων διανυσμάτων - - + + Flips the normals of the mesh Αντιστρέφει τα κάθετα διανύσματα του πλέγματος @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Εναρμόνιση καθέτων διανυσμάτων - - + + Harmonizes the normals of the mesh Εναρμονίζει τα κάθετα διανύσματα του πλέγματος @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Συγχώνευση - + Merges selected meshes into one Συγχωνεύει επιλεγμένα πλέγματα σε ένα @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Περικοπή πλέγματος - - + + Cuts a mesh with a picked polygon Περικόπτει ένα πλέγμα με ένα επιλεγμένο πολύγωνο @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Δημιουργήστε τμήμα - - + + Creates a mesh segment Δημιουργεί ένα τμήμα πλέγματος @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Διαιρέστε πλέγμα - - + + Splits a mesh into two meshes Διαιρεί ένα πλέγμα σε δύο πλέγματα @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Περικοπή ακμών πλέγματος - - + + Trims a mesh with a picked polygon Περικόπτει τις ακμές ενός πλέγματος με ένα επιλεγμένο αντικείμενο @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Βελτίωση, διόρθωση... - + Refine existing mesh Βελτίωση υπάρχοντος πλέγματος @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Αφαιρέστε στοιχεία χειροκίνητα... - - + + Mark a component to remove it from the mesh Επισημάνετε ένα στοιχείο για να το αφαιρέσετε από το πλέγμα @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Αφαιρέστε στοιχεία... - - + + Remove topologic independent components from the mesh Αφαιρέστε τοπολογικά ανεξάρτητα στοιχεία από το πλέγμα @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Κλιμακοποίηση... - + Scale selected meshes Κλιμακοποίηση επιλεγμένων πλεγμάτων @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Δημιουργήστε τομή από πλέγμα και επίπεδο - + Section from mesh and plane Τομή από πλέγμα και επίπεδο @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Δημιουργήστε τμήματα πλέγματος... - - + + Create mesh segments Δημιουργήστε τμήματα πλέγματος @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Δημιουργήστε τμήματα πλέγματος από τις βέλτιστες επιφάνειες... - - + + Create mesh segments from best-fit surfaces Δημιουργήστε τμήματα πλέγματος από τις βέλτιστες επιφάνειες @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Εξομάλυνση... - - + + Smooth the selected meshes Εξομαλύνετε τα επιλεγμένα πλέγματα @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Διαχωρισμός ανά εξαρτήματα - + Split selected mesh into its components Διαίρεση του επιλεγμένου πλέγματος στα εξαρτήματά του @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Περικοπή ακμών πλέγματος με επίπεδο - + Trims a mesh with a plane Περικόπτει τις ακμές ενός πλέγματος με ένα επίπεδο @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Πληροφορίες καμπυλότητας - - + + Information about curvature Πληροφορίες σχετικά με την καμπυλότητα @@ -692,87 +692,87 @@ Καμπυλότητα κορυφής πλέγματος - + Mesh Smoothing Εξομάλυνση πλέγματος - + Harmonize mesh normals Εναρμόνιση των κανονικών πλεγμάτων - + Flip mesh normals Αναδιπλούμενο πλέγμα - + Fill up holes Γέμισμα οπών - + Mesh merge Συγχώνευση πλεγμάτων - + Mesh split Διαχωρισμός πλεγμάτων - + Mesh scale Κλίμακα πλέγματος - + Mesh Decimating Μειώσει αριθμό κορυφών, ακμών και τριγώνων στο πλέγμα - + Harmonize normals Εναρμόνιση καθέτων διανυσμάτων - + Remove non-manifolds Αφαιρέστε τα μη πολλαπλάσια - + Fix indices Διόρθωση δεικτών - + Remove degenerated faces Αφαίρεση εκφυλισμένων όψεων - + Remove duplicated faces Αφαίρεση διπλών όψεων - + Remove duplicated points Αφαίρεση διπλότυπων σημείων - + Fix self-intersections Διόρθωση Αυτό - διασταυρώσεων - + Remove folds Αφαίρεση πτυχών - + Repair mesh Επισκευή πλέγματος @@ -782,34 +782,34 @@ Διαγραφή επιλογής - - + + Cut Περικοπή - - + + Trim Περικοπή - + Split Χωρισμός - + Segment Τμήμα - + Delete Διαγραφή - + Fill hole Γέμισμα οπής @@ -838,7 +838,7 @@ - + Absolute number Απόλυτος αριθμός @@ -848,7 +848,7 @@ Ανοχή - + Absolute number (Maximum: %1) Απόλυτος αριθμός (Μέγιστο: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Ρυθμίσεις... - - + + No selection Καμία επιλογή + + + + + + + - - - - - - - No information Καμία πληροφορία - + Orientation Προσανατολισμός - + No flipped normals Κανένα αντεστραμμένο κάθετο διάνυσμα - + %1 flipped normals %1 αντεστραμμένα κάθετα διανύσματα - + No non-manifolds Κανένα μη-πολλαπλό - + %1 non-manifolds %1 μη-πολλαπλά - - + + Non-manifolds Μη-πολλαπλά - + Cannot remove non-manifolds Αδυναμία αφαίρεσης των μη-πολλαπλών - + Invalid face indices Μη έγκυροι δείκτες όψεων - + Invalid point indices Μη έγκυροι δείκτες σημείων - + Multiple point indices Πολλαπλοί δείκτες σημείων - + Invalid neighbour indices Μη έγκυροι γειτονικοί δείκτες - + No invalid indices Κανένας μη έγκυρος δείκτης - + Indices Δείκτες - + No degenerations Κανένας εκφυλισμός - + %1 degenerated faces %1 εκφυλισμένες όψεις - + Degenerations Εκφυλισμοί - + No duplicated faces Καμία διπλή όψη - + %1 duplicated faces %1 διπλές όψεις - + Duplicated faces Διπλές όψεις - + No duplicated points Κανένα διπλό σημείο - - + + Duplicated points Διπλά σημεία - + No self-intersections Χωρίς αυτοτομές - + Self-intersections Αυτοτομές - + No folds on surface Καμία πτύχωση στην επιφάνεια - + %1 folds on surface %1 πτυχώσεις στην επιφάνεια - + Folds Πτυχώσεις - - + + Mesh repair Επισκευή πλέγματος @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Δημιουργία %1 - + No active document Κανένα ενεργό έγγραφο @@ -1612,7 +1612,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Ολοκλήρωση @@ -1989,13 +1989,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete Διαγραφή - + Invert Αντιστροφή @@ -2003,38 +2003,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Αριθμός σημείων: - + Number of facets: Αριθμός όψεων: - + Minimum bound: Ελάχιστο όριο: - + Maximum bound: Μέγιστο όριο: - + Mesh info box Πλαίσιο πληροφοριών πλέγματος - + Mesh info Πληροφορίες πλέγματος - - + + X: %1 Y: %2 Z: %3 Άξονες X: %1 "Y: %2 "Z: %3 @@ -2042,7 +2042,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Ορεοθέτηση του %1: @@ -2079,7 +2079,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Αξιολόγηση & Επισκευή Πλέγματος @@ -2087,12 +2087,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Απεικόνιση - + Import-Export Εισαγωγή-Εξαγωγή @@ -2230,42 +2230,42 @@ Please visit http://www.openscad.org/index.html to install it. Εισάγετε ανοχή για την γεωμετρία πλεγματοποίησης: - + The mesh '%1' is not a solid. Το πλέγμα '%1' δεν είναι στερεό. - + The mesh '%1' is a solid. Το πλέγμα '%1' είναι στερεό. - + Solid Mesh Στερεό Πλέγμα - + Boundings Οριοθετήσεις - + Fill holes Γέμισμα οπών - + Fill holes with maximum number of edges: Γέμισμα οπών με μέγιστο αριθμό ακμών: - + Scaling Κλίμακα - + Enter scaling factor: Εισάγετε συντελεστή κλίμακας: @@ -2275,12 +2275,12 @@ Please visit http://www.openscad.org/index.html to install it. [Σημεία: %1, Ακμές: %2, Όψεις: %3] - + Display components Απεικόνιση στοιχείων - + Display segments Εμφάνιση τμημάτων @@ -2290,38 +2290,38 @@ Please visit http://www.openscad.org/index.html to install it. Εμφάνιση χρωμάτων - - + + Leave info mode Έξοδος από τη λειτουργία πληροφοριών - + Index: %1 Δείκτης: %1 - + Leave hole-filling mode Έξοδος από την λειτουργία γεμίσματος οπών - + Leave removal mode Έξοδος από την λειτουργία αφαίρεσης - + Delete selected faces Διαγραφή επιλεγμένων όψεων - + Clear selected faces Καθαρισμός επιλεγμένων όψεων - + Annotation Σχολιασμός diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_es-AR.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_es-AR.ts index c829c8568d..11b1e137e1 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_es-AR.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_es-AR.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Malla - + Add triangle Agregar triángulo - - + + Add triangle manually to a mesh Agregar triángulo manualmente en una malla @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Malla - + Boundings info... Información de límites... - - + + Shows the boundings of the selected mesh Muestra los límites de la malla seleccionada @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Malla - + Regular solid... Sólido regular... - - + + Builds a regular solid Construye un sólido regular @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Malla - + Cross-sections... Cortes transversales... - + Cross-sections Cortes transversales @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Malla - + Decimation... Simplificar... - + Decimates a mesh Simplificar una malla @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Malla - + Face info Información de cara - - + + Information about face Información sobre la cara @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Malla - + Check solid mesh Comprobar la malla del sólido - - + + Checks whether the mesh is a solid Comprueba si la malla es un sólido @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Malla - + Evaluate and repair mesh... Evaluar y reparar malla... - - + + Opens a dialog to analyze and repair a mesh Abre un diálogo para analizar y reparar una malla @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Malla - + Close hole Cerrar agujero - - + + Close holes interactively Cerrar agujeros de forma interactiva @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Malla - + Fill holes... Rellenar agujeros... - - + + Fill holes of the mesh Rellenar agujeros de la malla @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Malla - + Flip normals Invertir normales - - + + Flips the normals of the mesh Invierte las normales de la malla @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Malla - + Harmonize normals Armoniza las normales - - + + Harmonizes the normals of the mesh Armoniza las normales de la malla @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Malla - + Merge Fusionar - + Merges selected meshes into one Fusionar las mallas seleccionadas en una sola @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Malla - + Cut mesh Cortar malla - - + + Cuts a mesh with a picked polygon Corta una malla con un polígono designado @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Malla - + Make segment Hacer un segmento - - + + Creates a mesh segment Crea un segmento de la malla @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Malla - + Split mesh Dividir malla - - + + Splits a mesh into two meshes Divide una malla en dos mallas @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Malla - + Trim mesh Recortar malla - - + + Trims a mesh with a picked polygon Recorta una malla con un polígono escogido @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Malla - + Refinement... Refinamiento... - + Refine existing mesh Refinar malla existente @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Malla - + Remove components by hand... Eliminar componentes a mano... - - + + Mark a component to remove it from the mesh Marcar un componente para eliminarlo de la malla @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Malla - + Remove components... Eliminar componentes... - - + + Remove topologic independent components from the mesh Eliminar componentes topológicos independientes de la malla @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Malla - + Scale... Escala... - + Scale selected meshes Escala las mallas seleccionadas @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Malla - + Create section from mesh and plane Crear corte desde malla y plano - + Section from mesh and plane Corte de malla y plano @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Malla - + Create mesh segments... Crear segmentos de malla... - - + + Create mesh segments Crear segmentos de malla @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Malla - + Create mesh segments from best-fit surfaces... Crear segmentos de malla de las superficies que mejor se ajustan... - - + + Create mesh segments from best-fit surfaces Crear segmentos de malla de las superficies que mejor se ajustan @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Malla - + Smooth... Suavizar... - - + + Smooth the selected meshes Suaviza las mallas seleccionadas @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Malla - + Split by components Partir por componentes - + Split selected mesh into its components Partir la malla seleccionada en sus componentes @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Malla - + Trim mesh with a plane Recortar malla con un plano - + Trims a mesh with a plane Recorta una malla con un plano @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Malla - + Curvature info Información de curvatura - - + + Information about curvature Información sobre la curvatura @@ -692,87 +692,87 @@ Curvatura de vértices de malla - + Mesh Smoothing Suavizado de malla - + Harmonize mesh normals Armonizar mallas normales - + Flip mesh normals Invertir normales de malla - + Fill up holes Rellenar agujeros - + Mesh merge Fusionar malla - + Mesh split Partir malla - + Mesh scale Escala de malla - + Mesh Decimating Diezmado de malla - + Harmonize normals Armoniza las normales - + Remove non-manifolds Eliminar no-múltiples - + Fix indices Arreglar índices - + Remove degenerated faces Eliminar caras degeneradas - + Remove duplicated faces Eliminar caras duplicadas - + Remove duplicated points Eliminar puntos duplicados - + Fix self-intersections Corregir auto-intersecciones - + Remove folds Eliminar pliegues - + Repair mesh Reparar malla @@ -782,34 +782,34 @@ Eliminar selección - - + + Cut Cortar - - + + Trim Recortar - + Split Dividir - + Segment Segmento - + Delete Eliminar - + Fill hole Rellenar agujero @@ -838,7 +838,7 @@ - + Absolute number Número absoluto @@ -848,7 +848,7 @@ Tolerancia - + Absolute number (Maximum: %1) Número absoluto (Máximo: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Configuración... - - + + No selection Sin selección + + + + + + + - - - - - - - No information Ninguna información - + Orientation Orientación - + No flipped normals Ninguna normal invertida - + %1 flipped normals %1 normales invertidas - + No non-manifolds Sin múltiples - + %1 non-manifolds %1 sin múltiples - - + + Non-manifolds Sin múltiples - + Cannot remove non-manifolds No se pueden eliminar los no-múltiples - + Invalid face indices Índices de cara inválidos - + Invalid point indices Índices de puntos inválidos - + Multiple point indices Índices de puntos múltiples - + Invalid neighbour indices Índices cercanos inválidos - + No invalid indices Sin índices inválidos - + Indices Índices - + No degenerations Sin degeneraciones - + %1 degenerated faces %1 caras degeneradas - + Degenerations Degeneraciones - + No duplicated faces No hay caras duplicadas - + %1 duplicated faces %1 caras duplicadas - + Duplicated faces Caras duplicadas - + No duplicated points No hay puntos duplicados - - + + Duplicated points Puntos duplicados - + No self-intersections Sin auto-intersecciones - + Self-intersections Auto-intersecciones - + No folds on surface Sin pliegues en la superficie - + %1 folds on surface %1 pliegues en la superficie - + Folds Pliegues - - + + Mesh repair Reparación de malla @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Crear %1 - + No active document Ningún documento activo @@ -1610,7 +1610,7 @@ a una apariencia poco realista para superficies curvas mientras que si se usa el MeshGui::MeshFillHole - + Finish Finalizar @@ -1987,13 +1987,13 @@ a una apariencia poco realista para superficies curvas mientras que si se usa el MeshGui::TaskRemoveComponents - + Delete Eliminar - + Invert Invertido @@ -2001,38 +2001,38 @@ a una apariencia poco realista para superficies curvas mientras que si se usa el MeshInfoWatcher - + Number of points: Número de puntos: - + Number of facets: Número de facetas: - + Minimum bound: Límite mínimo: - + Maximum bound: Límite máximo: - + Mesh info box Caja de información de la malla - + Mesh info Info de la malla - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2040,7 +2040,7 @@ a una apariencia poco realista para superficies curvas mientras que si se usa el Mesh_BoundingBox - + Boundings of %1: Límites de %1: @@ -2076,7 +2076,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Evaluar & Reparar Malla @@ -2084,12 +2084,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Mostrar - + Import-Export Importar-Exportar @@ -2227,42 +2227,42 @@ Please visit http://www.openscad.org/index.html to install it. Introducir tolerancia para la geometría de malla: - + The mesh '%1' is not a solid. La malla '%1' no es un sólido. - + The mesh '%1' is a solid. La malla '%1' es un sólido. - + Solid Mesh Malla Sólida - + Boundings Límites - + Fill holes Rellenar agujeros - + Fill holes with maximum number of edges: Rellenar agujeros con el número máximo de aristas: - + Scaling Escalado - + Enter scaling factor: Introducir factor de escala: @@ -2272,12 +2272,12 @@ Please visit http://www.openscad.org/index.html to install it. [Puntos: %1, Aristas: %2, Caras: %3] - + Display components Mostrar componentes - + Display segments Mostrar segmentos @@ -2287,38 +2287,38 @@ Please visit http://www.openscad.org/index.html to install it. Colores de pantalla - - + + Leave info mode Salir del modo información - + Index: %1 Índice: %1 - + Leave hole-filling mode Salir del modo de llenado de agujeros - + Leave removal mode Salir del modo de eliminación - + Delete selected faces Eliminar caras seleccionadas - + Clear selected faces Borrar las caras seleccionadas - + Annotation Anotación diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_es-ES.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_es-ES.ts index e8381ffbe9..750a06ca0d 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_es-ES.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_es-ES.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Malla - + Add triangle Añadir triángulo - - + + Add triangle manually to a mesh Añadir triángulo manualmente en una malla @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Malla - + Boundings info... Información de los límites... - - + + Shows the boundings of the selected mesh Muestra los límites de la malla seleccionada @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Malla - + Regular solid... Sólido regular... - - + + Builds a regular solid Crea un sólido regular @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Malla - + Cross-sections... Cortes transversales... - + Cross-sections Cortes transversales @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Malla - + Decimation... Diezmado... - + Decimates a mesh Diezmar una malla @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Malla - + Face info Información de la cara - - + + Information about face Información de la cara @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Malla - + Check solid mesh Comprobar la malla del sólido - - + + Checks whether the mesh is a solid Comprueba si la malla es un sólido @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Malla - + Evaluate and repair mesh... Evaluar y reparar malla... - - + + Opens a dialog to analyze and repair a mesh Abre un diálogo para analizar y reparar una malla. @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Malla - + Close hole Cerrar agujero - - + + Close holes interactively Cerrar agujeros interactiva-mente @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Malla - + Fill holes... Rellenar agujeros ... - - + + Fill holes of the mesh Rellenar agujeros de la malla @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Malla - + Flip normals Voltear normales - - + + Flips the normals of the mesh Voltea las normales de la malla @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Malla - + Harmonize normals Armoniza las normales - - + + Harmonizes the normals of the mesh Armoniza las normales de la malla. @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Malla - + Merge Fusionar - + Merges selected meshes into one Fusionar las mallas seleccionadas en una sola @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Malla - + Cut mesh Cortar malla - - + + Cuts a mesh with a picked polygon Corta una malla con un polígono designado @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Malla - + Make segment Hacer un segmento - - + + Creates a mesh segment Crea un segmento de la malla @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Malla - + Split mesh Dividir malla - - + + Splits a mesh into two meshes Divide una malla en dos mallas @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Malla - + Trim mesh Recortar malla - - + + Trims a mesh with a picked polygon Recorta una malla con un polígono escogido @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Malla - + Refinement... Refinamiento... - + Refine existing mesh Refinar malla existente @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Malla - + Remove components by hand... Elimina los componentes a mano ... - - + + Mark a component to remove it from the mesh Marcar un componente para eliminarlo de la malla @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Malla - + Remove components... Eliminar componentes... - - + + Remove topologic independent components from the mesh Eliminar componentes topológicos independientes de la malla @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Malla - + Scale... Escala... - + Scale selected meshes Escalado de mallas seleccionadas @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Malla - + Create section from mesh and plane Crear sección de malla y del plano - + Section from mesh and plane Sección de la malla y del plano @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Malla - + Create mesh segments... Crear segmentos de la malla... - - + + Create mesh segments Crear segmentos de la malla @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Malla - + Create mesh segments from best-fit surfaces... Crear segmentos de malla a partir de superficies con mejor ajuste... - - + + Create mesh segments from best-fit surfaces Crear segmentos de malla a partir de superficies con mejor ajuste @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Malla - + Smooth... Suavizar... - - + + Smooth the selected meshes Suaviza las mallas seleccionadas @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Malla - + Split by components Despiece - + Split selected mesh into its components Despiece de malla @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Malla - + Trim mesh with a plane Recortar malla con un plano - + Trims a mesh with a plane Ajusta una malla con un plano @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Malla - + Curvature info Información de la curvatura - - + + Information about curvature Información de la curvatura @@ -692,87 +692,87 @@ Curvar vértices de malla - + Mesh Smoothing Suavizar malla - + Harmonize mesh normals Armonizar mallas normales - + Flip mesh normals Voltear normales de malla - + Fill up holes Rellenar agujeros - + Mesh merge Unir malla - + Mesh split Partir malla - + Mesh scale Escala de Malla - + Mesh Decimating Diezmado de Malla - + Harmonize normals Armoniza las normales - + Remove non-manifolds Eliminar no-variedades - + Fix indices Arreglar índices - + Remove degenerated faces Eliminar caras degeneradas - + Remove duplicated faces Eliminar caras duplicadas - + Remove duplicated points Eliminar puntos duplicados - + Fix self-intersections Corregir auto-intersecciones - + Remove folds Eliminar pliegues - + Repair mesh Reparar malla @@ -782,34 +782,34 @@ Eliminar selección - - + + Cut Cortar - - + + Trim Recortar - + Split Dividir - + Segment Segmento - + Delete Eliminar - + Fill hole Rellenar hueco @@ -838,7 +838,7 @@ - + Absolute number Número absoluto @@ -848,7 +848,7 @@ Tolerancia - + Absolute number (Maximum: %1) Número absoluto (Máximo: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Opciones... - - + + No selection Ninguna selección + + + + + + + - - - - - - - No information Ninguna información - + Orientation Orientación - + No flipped normals Ninguna normal volteada - + %1 flipped normals %1 normales volteada - + No non-manifolds Sin múltiples - + %1 non-manifolds %1 sin múltiples - - + + Non-manifolds Sin múltiples - + Cannot remove non-manifolds No se pueden eliminar los múltiples - + Invalid face indices índices de las caras inválidos - + Invalid point indices Índices de los puntos inválidos - + Multiple point indices Índices de puntos múltiples - + Invalid neighbour indices Índices cercanos inválidos - + No invalid indices Sin índices inválidos - + Indices Índices - + No degenerations Sin degeneraciones - + %1 degenerated faces %1 caras deterioradas - + Degenerations Degeneraciones - + No duplicated faces Ninguna cara duplicada - + %1 duplicated faces %1 caras duplicadas - + Duplicated faces Caras duplicadas - + No duplicated points Ningún punto duplicado - - + + Duplicated points Puntos duplicados - + No self-intersections Sin auto intersecciones - + Self-intersections Auto-intersecciones - + No folds on surface Sin pliegues en la superficie - + %1 folds on surface %1 pliegues en la superficie - + Folds Pliegues - - + + Mesh repair Reparación de la malla @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Crear %1 - + No active document Ningún documento activo @@ -1610,7 +1610,7 @@ a una apariencia poco realista para superficies curvas mientras que si se usa el MeshGui::MeshFillHole - + Finish Terminado @@ -1987,13 +1987,13 @@ a una apariencia poco realista para superficies curvas mientras que si se usa el MeshGui::TaskRemoveComponents - + Delete Borrar - + Invert Invertido @@ -2001,38 +2001,38 @@ a una apariencia poco realista para superficies curvas mientras que si se usa el MeshInfoWatcher - + Number of points: Número de puntos: - + Number of facets: Número de facetas: - + Minimum bound: Límite mínimo: - + Maximum bound: Límite máximo: - + Mesh info box Caja de información de la malla - + Mesh info Info de la malla - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2040,7 +2040,7 @@ a una apariencia poco realista para superficies curvas mientras que si se usa el Mesh_BoundingBox - + Boundings of %1: Límites de %1: @@ -2076,7 +2076,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Evaluar y reparar malla @@ -2084,12 +2084,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Mostrar - + Import-Export Importar/Exportar @@ -2227,42 +2227,42 @@ Please visit http://www.openscad.org/index.html to install it. Introduce la tolerancia para la geometría de la malla: - + The mesh '%1' is not a solid. La malla '%1' no es un sólido. - + The mesh '%1' is a solid. La malla '%1' es un sólido. - + Solid Mesh Malla sólida - + Boundings Límites - + Fill holes Llenar agujeros - + Fill holes with maximum number of edges: Rellenado de los agujeros con el número máximo de los bordes: - + Scaling Escalado - + Enter scaling factor: Introduce el factor de la escala: @@ -2272,12 +2272,12 @@ Please visit http://www.openscad.org/index.html to install it. [Puntos: %1, Aristas: %2, Caras: %3] - + Display components Mostrar los componentes - + Display segments Mostrar segmentos @@ -2287,38 +2287,38 @@ Please visit http://www.openscad.org/index.html to install it. Colores de pantalla - - + + Leave info mode Salir del modo información - + Index: %1 Índice: %1 - + Leave hole-filling mode Salir el modo de llenado de agujeros - + Leave removal mode Salir del modo de eliminación - + Delete selected faces Eliminar las caras seleccionadas - + Clear selected faces Borrar las caras seleccionadas - + Annotation Anotación diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_eu.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_eu.ts index 4326c7e3c8..5b180da876 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_eu.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_eu.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Amarauna - + Add triangle Gehitu triangelua - - + + Add triangle manually to a mesh Gehitu triangelua eskuz amaraun bati @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Amarauna - + Boundings info... Mugen informazioa... - - + + Shows the boundings of the selected mesh Erakutsi hautatutako amaraunaren mugak @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Amarauna - + Regular solid... Solido erregularra... - - + + Builds a regular solid Solido erregular bat eraikitzen du @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Amarauna - + Cross-sections... Zeharkako sekzioak... - + Cross-sections Zeharkako sekzioak @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Amarauna - + Decimation... Bakantzea... - + Decimates a mesh Amaraun bat bakantzen du @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Amarauna - + Face info Aurpegi-informazioa - - + + Information about face Aurpegiari buruzko informazioa @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Amarauna - + Check solid mesh Egiaztatu amaraun solidoa - - + + Checks whether the mesh is a solid Amaraun bat solidoa den egiaztatzen du @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Amarauna - + Evaluate and repair mesh... Ebaluatu eta konpondu amarauna... - - + + Opens a dialog to analyze and repair a mesh Elkarrizketa-koadro bat irekitzen du amaraun bat analizatu eta konpontzeko @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Amarauna - + Close hole Itxi zuloa - - + + Close holes interactively Zuloak interaktiboki ixten ditu @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Amarauna - + Fill holes... Bete zuloak... - - + + Fill holes of the mesh Bete amaraunaren zuloak @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Amarauna - + Flip normals Irauli normalak - - + + Flips the normals of the mesh Amaraunaren normalak iraultzen ditu @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Amarauna - + Harmonize normals Harmonizatu normalak - - + + Harmonizes the normals of the mesh Amarauneko normalak harmonizatzen ditu @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Amarauna - + Merge Fusionatu - + Merges selected meshes into one Hautatutako amaraunak fusionatzen ditu bakarra sortuz @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Amarauna - + Cut mesh Moztu amarauna - - + + Cuts a mesh with a picked polygon Amaraun bat mozten du hautatutako poligono batekin @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Amarauna - + Make segment Sortu segmentua - - + + Creates a mesh segment Amaraun segmentu bat sortzen du @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Amarauna - + Split mesh Zatitu amarauna - - + + Splits a mesh into two meshes Amaraun bat bitan zatitzen du @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Amarauna - + Trim mesh Muxarratu amarauna - - + + Trims a mesh with a picked polygon Amarauna muxarratzen du aukeratutako poligono batekin @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Amarauna - + Refinement... Fintzea... - + Refine existing mesh Findu lehendik dagoen amarauna @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Amarauna - + Remove components by hand... Kendu osagaiak eskuz... - - + + Mark a component to remove it from the mesh Markatu osagai bat, hura amaraunetik kentzeko @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Amarauna - + Remove components... Kendu osagaiak... - - + + Remove topologic independent components from the mesh Kendu topologikoki independenteak diren osagaiak amaraunetik @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Amarauna - + Scale... Eskala... - + Scale selected meshes Eskalatu hautatutako amaraunak @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Amarauna - + Create section from mesh and plane Sortu sekzioa amaraunetik eta planotik - + Section from mesh and plane Sekzioa amaraunetik eta planotik @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Amarauna - + Create mesh segments... Sortu amaraun segmentuak... - - + + Create mesh segments Sortu amaraun segmentuak @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Amarauna - + Create mesh segments from best-fit surfaces... Sortu amaraun segmentuak ondoen doitzen diren azaleretatik... - - + + Create mesh segments from best-fit surfaces Sortu amaraun segmentuak ondoen doitzen diren azaleretatik @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Amarauna - + Smooth... Leundu... - - + + Smooth the selected meshes Leundu hautatutako amaraunak @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Amarauna - + Split by components Zatitu osagaien arabera - + Split selected mesh into its components Zatitu amaraun hautatua bere osagaietan @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Amarauna - + Trim mesh with a plane Muxarratu amarauna plano batekin - + Trims a mesh with a plane Amaraun bat muxarratzen du plano batekin @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Amarauna - + Curvature info Kurbaduraren informazioa - - + + Information about curvature Kurbadurari buruzko informazioa @@ -692,87 +692,87 @@ Amaraunaren erpinen kurbadura - + Mesh Smoothing Amaraunaren leuntzea - + Harmonize mesh normals Harmonizatu amaraun-normalak - + Flip mesh normals Irauli amaraunaren normalak - + Fill up holes Bete zuloak - + Mesh merge Amaraunen fusioa - + Mesh split Amaraunaren zatiketa - + Mesh scale Amaraunaren eskala - + Mesh Decimating Amaraunaren bakantzea - + Harmonize normals Harmonizatu normalak - + Remove non-manifolds Kendu anizkoitzak ez direnak - + Fix indices Finkatu indizeak - + Remove degenerated faces Kendu aurpegi degeneratuak - + Remove duplicated faces Kendu aurpegi bikoiztuak - + Remove duplicated points Kendu puntu bikoiztuak - + Fix self-intersections Konpondu autoebakidurak - + Remove folds Kendu karpetak - + Repair mesh Konpondu amarauna @@ -782,34 +782,34 @@ Ezabatu hautapena - - + + Cut Moztu - - + + Trim Muxarratu - + Split Zatitu - + Segment Segmentua - + Delete Ezabatu - + Fill hole Bete zuloa @@ -838,7 +838,7 @@ - + Absolute number Zenbaki absolutua @@ -848,7 +848,7 @@ Tolerantzia - + Absolute number (Maximum: %1) Zenbaki absolutua (maximoa: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Ezarpenak... - - + + No selection Hautapenik ez + + + + + + + - - - - - - - No information Informaziorik ez - + Orientation Orientazioa - + No flipped normals Iraulitako normalik ez - + %1 flipped normals Iraulitako %1 normal - + No non-manifolds Ez dago anizkoitza ez denik - + %1 non-manifolds Anizkoitzak ez diren %1 - - + + Non-manifolds Ez anizkoitzak - + Cannot remove non-manifolds Ezin dira kendu anizkoitzak ez direnak - + Invalid face indices Aurpegi-indize baliogabeak - + Invalid point indices Puntu-indize baliogabeak - + Multiple point indices Puntu-indize anitzak - + Invalid neighbour indices Auzoko indize baliogabeak - + No invalid indices Ez dago baliogabeko indizerik - + Indices Indizeak - + No degenerations Ez dago degeneraziorik - + %1 degenerated faces Degeneratutako %1 aurpegi - + Degenerations Degenerazioak - + No duplicated faces Ez dago aurpegi bikoizturik - + %1 duplicated faces %1 aurpegi bikoiztu - + Duplicated faces Aurpegi bikoiztuak - + No duplicated points Ez dago puntu bikoizturik - - + + Duplicated points Puntu bikoiztuak - + No self-intersections Autoebakidurarik ez - + Self-intersections Autoebakidurak - + No folds on surface Tolesturarik ez gainazalean - + %1 folds on surface %1 tolestura gainazalean - + Folds Tolesturak - - + + Mesh repair Amaraunaren konponketa @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Sortu %1 - + No active document Ez dago dokumentu aktiborik @@ -1613,7 +1613,7 @@ itxura leunagoa ematen du. MeshGui::MeshFillHole - + Finish Amaitu @@ -1990,13 +1990,13 @@ itxura leunagoa ematen du. MeshGui::TaskRemoveComponents - + Delete Ezabatu - + Invert Alderantzikatu @@ -2004,38 +2004,38 @@ itxura leunagoa ematen du. MeshInfoWatcher - + Number of points: Puntu kopurua: - + Number of facets: Alderdi kopurua: - + Minimum bound: Muga minimoa: - + Maximum bound: Muga maximoa: - + Mesh info box Amaraun-informazioaren koadroa - + Mesh info Amaraun-informazioa - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ itxura leunagoa ematen du. Mesh_BoundingBox - + Boundings of %1: %1 elementuaren mugak: @@ -2080,7 +2080,7 @@ Jo http://www.openscad.org/index.html helbidera hura instalatzeko. QDockWidget - + Evaluate & Repair Mesh Ebaluatu eta konpondu amarauna @@ -2088,12 +2088,12 @@ Jo http://www.openscad.org/index.html helbidera hura instalatzeko. QObject - + Display Bistaratzea - + Import-Export Inportatu-Esportatu @@ -2231,42 +2231,42 @@ Jo http://www.openscad.org/index.html helbidera hura instalatzeko. Sartu tolerantzia amaraun-geometriarako: - + The mesh '%1' is not a solid. %1' amarauna ez da solido bat. - + The mesh '%1' is a solid. %1' amarauna solido bat da. - + Solid Mesh Amaraun solidoa - + Boundings Mugak - + Fill holes Bete zuloak - + Fill holes with maximum number of edges: Bete zuloak ertz kopuru maximoarekin: - + Scaling Eskalatzea - + Enter scaling factor: Sartu eskalatze-faktorea: @@ -2276,12 +2276,12 @@ Jo http://www.openscad.org/index.html helbidera hura instalatzeko. [Puntuak: %1, ertzak: %2, aurpegiak: %3] - + Display components Erakutsi osagaiak - + Display segments Bistaratu segmentuak @@ -2291,38 +2291,38 @@ Jo http://www.openscad.org/index.html helbidera hura instalatzeko. Bistaratu koloreak - - + + Leave info mode Utzi informazio modua - + Index: %1 Indizea: %1 - + Leave hole-filling mode Utzi zuloak betetzeko modua - + Leave removal mode Utzi kentze modua - + Delete selected faces Ezabatu hautatutako aurpegiak - + Clear selected faces Garbitu hautatutako aurpegiak - + Annotation Oharpena diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_fi.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_fi.ts index d34183fc9f..c22952710f 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_fi.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_fi.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Lisää kolmio - - + + Add triangle manually to a mesh Lisää kolmio käsivaraisesti verkkopintaan @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Rajoituksista tietoa... - - + + Shows the boundings of the selected mesh Näytä valitun verkkopinnan rajat @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Säännöllinen monitahokas... - - + + Builds a regular solid Luo säännöllisen monitahokkaan @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Poikkileikkaukset... - + Cross-sections Poikkileikkaukset @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Desimaatio... - + Decimates a mesh Desimoi verkkopinta @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Pinnan tiedot - - + + Information about face Tietoa pinnasta @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Tarkasta kiinteä verkkopinta - - + + Checks whether the mesh is a solid Tarkastaa onko verkkopinta kiinteä @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Arvioi ja korjaa verkkopinta... - - + + Opens a dialog to analyze and repair a mesh Avaa valintaikkunan jossa voit analysoida ja korjata verkkopinnan @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Sulje reikä - - + + Close holes interactively Sulje reikiä vuorovaikutteisesti @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Täyttää reiät... - - + + Fill holes of the mesh Täytä verkkopinnan reiät @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Käännä normaalit päinvastaisiksi - - + + Flips the normals of the mesh Käännä verkkopinnan normaalit @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Yhdenmukaista normaalit - - + + Harmonizes the normals of the mesh Yhdenmukaistaa verkkopinnan normaalit @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Yhdistä - + Merges selected meshes into one Yhdistä valitut verkkopinnat yhdeksi @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Leikkaa verkkopinta - - + + Cuts a mesh with a picked polygon Leikkaa verkkopinta valitulla monikulmiolla @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Tee lohko - - + + Creates a mesh segment Luo verkkopinnan lohkon @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Jaa verkkopinta - - + + Splits a mesh into two meshes Jakaa verkkopinnan kahdeksi verkkopinnaksi @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Viimeistele verkkopinta - - + + Trims a mesh with a picked polygon Viimeistelee verkkopinnan valitulla monikulmiolla @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Parannus... - + Refine existing mesh Paranna olemassa olevaa verkkoa @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Poista osia käsin... - - + + Mark a component to remove it from the mesh Merkitse osa, joka poistetaan verkkopinnasta @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Poista osia... - - + + Remove topologic independent components from the mesh Poista topologisesti riippumattomia komponentteja verkkopinnasta @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Skaalaa... - + Scale selected meshes Skaalaa valitut verkkopinnat @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Luo osio verkkopinnasta ja tasosta - + Section from mesh and plane Lohko verkkopinnasta ja tasosta @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Luo verkkopinnan lohkoja... - - + + Create mesh segments Luo verkkopinnan lohkoja @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Luo verkkopinnan segmentit parhaiten sopivista pinnoista... - - + + Create mesh segments from best-fit surfaces Luo verkkopinnan segmentit parhaiten sopivista pinnoista @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Siloita... - - + + Smooth the selected meshes Siloita valitut verkkopinnat @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Jaa osien avulla - + Split selected mesh into its components Jaa valittu verkkopinta sen osiin @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Leikkaa vekkopintaan tasolla - + Trims a mesh with a plane Leikkaa verkkopintaan tasolla @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Kaarevuuden tiedot - - + + Information about curvature Tietoja kaarevuudesta @@ -692,87 +692,87 @@ Verkkopinnan VertexKaarevuus - + Mesh Smoothing Verkkopinnan pehmennys - + Harmonize mesh normals Yhdenmukaista verkkopinnan normaalit - + Flip mesh normals Vaihda verkkopinnan normaalit päinvastaisiksi - + Fill up holes Täytä reiät - + Mesh merge Verkkopinnan yhdistäminen - + Mesh split Verkkopinnan jako - + Mesh scale Verkkopinnan mittakaava - + Mesh Decimating Verkkopinnan desimalisointi - + Harmonize normals Yhdenmukaista normaalit - + Remove non-manifolds Poista epä-moninaisuudet - + Fix indices Korjaa indeksit - + Remove degenerated faces Poista vaurioituneet näkymäpinnat - + Remove duplicated faces Poista monistuneet näkymäpinnat - + Remove duplicated points Poista monistuneet (tuplautuneet) pisteet - + Fix self-intersections Korjaa itse-leikkauskohdat - + Remove folds Poista kansiot - + Repair mesh Korjaa verkkopinta @@ -782,34 +782,34 @@ Poista valinta - - + + Cut Leikkaa - - + + Trim rajaa - + Split Jaa osiin - + Segment Segmentti - + Delete Poista - + Fill hole Täytä reikä @@ -838,7 +838,7 @@ - + Absolute number Absoluuttinen määrä @@ -848,7 +848,7 @@ Toleranssi - + Absolute number (Maximum: %1) Absoluuttinen luku (Maksimi: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Asetukset... - - + + No selection Ei valintaa + + + + + + + - - - - - - - No information Ei tietoja - + Orientation Suunta - + No flipped normals Ei käännettyjä normaaleja - + %1 flipped normals %1 käännettyä normaalia - + No non-manifolds Epäreaalipintoja ei havaittu - + %1 non-manifolds %1 kappaletta epäreaalipintoja - - + + Non-manifolds Eireaalipinnat (non-manifolds) - + Cannot remove non-manifolds Epäreaalipintoja ei pystytä poistamaan - + Invalid face indices Virheellinen pinnan indeksi - + Invalid point indices Virheellinen pisteen indeksi - + Multiple point indices Useita pisteiden indeksejä - + Invalid neighbour indices Virheelliset viereiset indeksit - + No invalid indices Ei vääriä indeksejä - + Indices Indeksit - + No degenerations Ei surkastumia - + %1 degenerated faces %1 kappaletta rappeutuneita tahkoja - + Degenerations Rappeutumaa - + No duplicated faces Ei päällekkäisiä tahkoja - + %1 duplicated faces %1 päällekkäistä tahkoa - + Duplicated faces Monistetut tahkot - + No duplicated points Ei kahdennettuja pisteitä - - + + Duplicated points Monistetut pisteet - + No self-intersections Ei itseleikkauksia - + Self-intersections Itseleikkauksia - + No folds on surface Pinnassa ei ole taitteita - + %1 folds on surface Pinnassa on %1 taitetta - + Folds Taitteita - - + + Mesh repair Verkkopinnan korjaus @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Luo %1 - + No active document Ei aktiivista dokumenttia @@ -1613,7 +1613,7 @@ sileämpään ulkonäköön. MeshGui::MeshFillHole - + Finish Valmis @@ -1990,13 +1990,13 @@ sileämpään ulkonäköön. MeshGui::TaskRemoveComponents - + Delete Poista - + Invert Käännä @@ -2004,38 +2004,38 @@ sileämpään ulkonäköön. MeshInfoWatcher - + Number of points: Pisteiden määrä: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Mesh info - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ sileämpään ulkonäköön. Mesh_BoundingBox - + Boundings of %1: Rajaukset %1: @@ -2080,7 +2080,7 @@ http://www.openscad.org/index.html asentaaksesi sen. QDockWidget - + Evaluate & Repair Mesh Arvioi & korjaa verkkopinta @@ -2088,12 +2088,12 @@ http://www.openscad.org/index.html asentaaksesi sen. QObject - + Display Näyttö - + Import-Export Tuo/Vie @@ -2231,42 +2231,42 @@ http://www.openscad.org/index.html asentaaksesi sen. Anna verkkopintageometrian toleranssi: - + The mesh '%1' is not a solid. Verkkopinta '%1' ei ole yhtenäinen. - + The mesh '%1' is a solid. Verkkopinta '%1' on yhtenäinen. - + Solid Mesh Eheä verkkopinta - + Boundings Rajat - + Fill holes Täyttää reiät - + Fill holes with maximum number of edges: Täytä reiät suurimmalla mahdollisella määrällä reunoja: - + Scaling Skaalaus - + Enter scaling factor: Anna skaalauskerroin: @@ -2276,12 +2276,12 @@ http://www.openscad.org/index.html asentaaksesi sen. [Pisteet: %1, Reunat: %2, Ulkopinnat: %3] - + Display components Näytä osat - + Display segments Näytä segmentit @@ -2291,38 +2291,38 @@ http://www.openscad.org/index.html asentaaksesi sen. Display colors - - + + Leave info mode Poistu Tieto tilasta - + Index: %1 Indeksi: %1 - + Leave hole-filling mode Jätä reiäntäyttötila - + Leave removal mode Jätä poistotila - + Delete selected faces Tuhoa valitut tahkot - + Clear selected faces Puhdista valitut tahkot - + Annotation Huomautus diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_fr.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_fr.ts index c51ace4b59..4c36a868db 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_fr.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_fr.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Maillage - + Add triangle Ajouter un triangle - - + + Add triangle manually to a mesh Ajouter manuellement un triangle à un maillage @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh - Maillage + Mesh - + Boundings info... Dimensions extérieures... - - + + Shows the boundings of the selected mesh Afficher les dimensions englobantes du maillage sélectionné @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh - Maillage + Mesh - + Regular solid... Solide régulier... - - + + Builds a regular solid Construire un solide régulier @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh - Maillage + Mesh - + Cross-sections... Coupes... - + Cross-sections Coupes @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh - Maillage + Mesh - + Decimation... Décimer... - + Decimates a mesh Décimer un maillage @@ -102,7 +102,7 @@ Mesh - Maillage + Mesh @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh - Maillage + Mesh - + Face info Informations sur la face - - + + Information about face Informations sur la face @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh - Maillage + Mesh - + Check solid mesh Vérifier la solidité du maillage - - + + Checks whether the mesh is a solid Vérifier si le maillage est un solide @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh - Maillage + Mesh - + Evaluate and repair mesh... Évaluer et réparer le maillage... - - + + Opens a dialog to analyze and repair a mesh Ouvrir une boîte de dialogue pour analyser et réparer un maillage @@ -172,7 +172,7 @@ Mesh - Maillage + Mesh @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh - Maillage + Mesh - + Close hole Boucher un trou - - + + Close holes interactively Boucher un trou de manière interactive @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh - Maillage + Mesh - + Fill holes... Remplir les trous... - - + + Fill holes of the mesh Remplir un trou de manière interactive @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh - Maillage + Mesh - + Flip normals Inverser les normales - - + + Flips the normals of the mesh Inverser les normales du maillage @@ -248,7 +248,7 @@ Mesh - Maillage + Mesh @@ -267,12 +267,12 @@ Mesh - Maillage + Mesh Create mesh from shape... - Créer un maillage à partir d'une forme... + Créer un maillage à partir de la forme... @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh - Maillage + Mesh - + Harmonize normals Harmoniser les normales - - + + Harmonizes the normals of the mesh Harmoniser les normales du maillage @@ -304,7 +304,7 @@ Mesh - Maillage + Mesh @@ -323,7 +323,7 @@ Mesh - Maillage + Mesh @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh - Maillage + Mesh - + Merge Fusionner - + Merges selected meshes into one Fusionner les maillages sélectionnés en un seul @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh - Maillage + Mesh - + Cut mesh Couper le maillage - - + + Cuts a mesh with a picked polygon Couper un maillage à l'aide du polygone sélectionné @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh - Maillage + Mesh - + Make segment Créer un segment - - + + Creates a mesh segment Créer un segment de maillage @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh - Maillage + Mesh - + Split mesh Diviser un maillage - - + + Splits a mesh into two meshes Diviser un maillage en deux @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh - Maillage + Mesh - + Trim mesh Ajuster le maillage - - + + Trims a mesh with a picked polygon Ajuster un maillage à l'aide du polygone sélectionné @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh - Maillage + Mesh - + Refinement... Affiner... - + Refine existing mesh Affiner le maillage existant @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh - Maillage + Mesh - + Remove components by hand... Supprimer manuellement des composants... - - + + Mark a component to remove it from the mesh Marquer un composant pour le supprimer du maillage @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh - Maillage + Mesh - + Remove components... Supprimer des composants... - - + + Remove topologic independent components from the mesh Supprimer les composants de topologie indépendants du maillage @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh - Maillage + Mesh - + Scale... Mettre à l'échelle... - + Scale selected meshes Mettre à l'échelle les maillages sélectionnés @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh - Maillage + Mesh - + Create section from mesh and plane Créer une section à partir d'un maillage et d'un plan - + Section from mesh and plane Section à partir d'un maillage et d'un plan @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh - Maillage + Mesh - + Create mesh segments... Segmenter le maillage... - - + + Create mesh segments Segmenter le maillage @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh - Maillage + Mesh - + Create mesh segments from best-fit surfaces... Segmenter le maillage par des surfaces adaptées... - - + + Create mesh segments from best-fit surfaces Segmenter le maillage par des surfaces adaptées @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh - Maillage + Mesh - + Smooth... Lisser... - - + + Smooth the selected meshes Lisser les maillages sélectionnés @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh - Maillage + Mesh - + Split by components Éclater par composants - + Split selected mesh into its components Éclater le maillage sélectionné en ses composants @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh - Maillage + Mesh - + Trim mesh with a plane Ajuster le maillage avec un plan - + Trims a mesh with a plane Ajuster le maillage avec un plan @@ -618,7 +618,7 @@ Mesh - Maillage + Mesh @@ -631,7 +631,7 @@ Mesh - Maillage + Mesh @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Maillage - + Curvature info Informations sur la courbure - - + + Information about curvature Informations sur la courbure @@ -692,87 +692,87 @@ Courbure de sommet du maillage - + Mesh Smoothing Lissage du maillage - + Harmonize mesh normals Harmonisation normale du maillage - + Flip mesh normals Retourner les maillages normaux - + Fill up holes Remplir les trous - + Mesh merge Fusion de maillage - + Mesh split Scinder le maillage - + Mesh scale Redimensionner le maillage - + Mesh Decimating Décimer un maillage - + Harmonize normals Harmoniser les normales - + Remove non-manifolds Supprimer les non-manifolds - + Fix indices Corriger les indices - + Remove degenerated faces Enlever les faces dégénérées - + Remove duplicated faces Enlever les faces dupliquées - + Remove duplicated points Enlever les points dupliqués - + Fix self-intersections Corriger les auto-intersections - + Remove folds Supprimer des plis - + Repair mesh Réparer le maillage @@ -782,34 +782,34 @@ Supprimer la sélection - - + + Cut - Soustraction + Couper - - + + Trim - Ajuster + Rogner - + Split - Scinder + Éclater - + Segment Segment - + Delete Supprimer - + Fill hole Remplir le trou @@ -829,7 +829,7 @@ None - Aucun + Rien @@ -838,7 +838,7 @@ - + Absolute number Valeur absolue d'un nombre @@ -848,7 +848,7 @@ Tolérance - + Absolute number (Maximum: %1) Valeur absolue d'un nombre (Maximum: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Paramètres... - - + + No selection Aucune sélection + + + + + + + - - - - - - - No information Aucune information - + Orientation Orientation - + No flipped normals Aucune normale inversée - + %1 flipped normals %1 normales inversées - + No non-manifolds Aucun non-manifold - + %1 non-manifolds %1 non-manifolds - - + + Non-manifolds Non-manifolds - + Cannot remove non-manifolds Impossible de supprimer les non-manifolds - + Invalid face indices Indices de face invalides - + Invalid point indices Indices de point invalides - + Multiple point indices Indices de point multiples - + Invalid neighbour indices Indices voisins invalides - + No invalid indices Aucun indice invalide - + Indices Indices - + No degenerations Aucune dégénération - + %1 degenerated faces %1 faces dégénérées - + Degenerations Dégénérations - + No duplicated faces Aucune face dupliquée - + %1 duplicated faces %1 faces dupliquées - + Duplicated faces Faces dupliquées - + No duplicated points Aucun point dupliqué - - + + Duplicated points Points dupliqués - + No self-intersections Aucune collision interne - + Self-intersections Collisions internes - + No folds on surface Aucun pli sur la surface - + %1 folds on surface %1 plis sur la surface - + Folds Plis - - + + Mesh repair Réparer le maillage @@ -1154,7 +1154,7 @@ Settings - Réglages + Paramètres @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Créer %1 - + No active document Aucun document actif @@ -1613,7 +1613,7 @@ l'ombrage Phong conduit à un aspect plus lisse. MeshGui::MeshFillHole - + Finish Terminer @@ -1696,7 +1696,7 @@ l'ombrage Phong conduit à un aspect plus lisse. Angle: - Angle : + Angle : @@ -1706,7 +1706,7 @@ l'ombrage Phong conduit à un aspect plus lisse. Path - Parcours + Chemin d'accès @@ -1824,7 +1824,7 @@ l'ombrage Phong conduit à un aspect plus lisse. Tolerance - Tolérance + Tolérance  @@ -1933,7 +1933,7 @@ l'ombrage Phong conduit à un aspect plus lisse. Axis - Axe + Axes @@ -1944,7 +1944,7 @@ l'ombrage Phong conduit à un aspect plus lisse. Center - Centre + Centrer @@ -1990,13 +1990,13 @@ l'ombrage Phong conduit à un aspect plus lisse. MeshGui::TaskRemoveComponents - + Delete Supprimer - + Invert Inverser @@ -2004,38 +2004,38 @@ l'ombrage Phong conduit à un aspect plus lisse. MeshInfoWatcher - + Number of points: Nombre de points : - + Number of facets: Nombre de facettes : - + Minimum bound: Limite minimale : - + Maximum bound: Limite maximale : - + Mesh info box Boîte d'information du maillage - + Mesh info Informations sur le maillage - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ l'ombrage Phong conduit à un aspect plus lisse. Mesh_BoundingBox - + Boundings of %1: Límites de %1 : @@ -2080,7 +2080,7 @@ Merci de visiter http://www.openscad.org/index.html pour l'installer. QDockWidget - + Evaluate & Repair Mesh Évaluer et réparer un maillage @@ -2088,14 +2088,14 @@ Merci de visiter http://www.openscad.org/index.html pour l'installer. QObject - + Display Affichage - + Import-Export - Importer/Exporter + Importer-Exporter @@ -2231,42 +2231,42 @@ Merci de visiter http://www.openscad.org/index.html pour l'installer.Saisir la tolérance pour la géométrie maillée : - + The mesh '%1' is not a solid. Le maillage '%1' n'est pas un solide. - + The mesh '%1' is a solid. Le maillage '%1' est un solide. - + Solid Mesh Maillage solide - + Boundings Limites englobantes - + Fill holes Remplir les trous - + Fill holes with maximum number of edges: Remplir les trous avec un nombre maximum de contours : - + Scaling Mettre à l'échelle - + Enter scaling factor: Entrer le facteur d’échelle : @@ -2276,12 +2276,12 @@ Merci de visiter http://www.openscad.org/index.html pour l'installer.[Points : %1, Contours : %2, Faces : %3] - + Display components Afficher les composants - + Display segments Afficher les segments @@ -2291,38 +2291,38 @@ Merci de visiter http://www.openscad.org/index.html pour l'installer.Couleurs d'affichage - - + + Leave info mode Quitter le mode d'information - + Index: %1 Index : %1 - + Leave hole-filling mode Quitter le mode remplissage des trous - + Leave removal mode Quitter le mode suppression - + Delete selected faces Supprimer les faces sélectionnées - + Clear selected faces Dé-sélectionner les faces sélectionnées - + Annotation Annotation diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_gl.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_gl.ts index dfc4948a85..e3d223e734 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_gl.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_gl.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Engadir triángulo - - + + Add triangle manually to a mesh Engadir triángulo a malla manualmente @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Información de límites... - - + + Shows the boundings of the selected mesh Amosa os límites da malla escolmada @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Sólido regular... - - + + Builds a regular solid Constrúe un sólido regular @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Cortes transversais... - + Cross-sections Cortes transversais @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Decimation... - + Decimates a mesh Decimates a mesh @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Información da face - - + + Information about face Información sobre face @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Verificar o sólido da malla - - + + Checks whether the mesh is a solid Verifica se a malla é un sólido @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Avaliar e arranxar a malla... - - + + Opens a dialog to analyze and repair a mesh Abre unha xanela para analizar e reparar a malla @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Pechar furado - - + + Close holes interactively Pechar buratos iterativamente @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Reencher buratos... - - + + Fill holes of the mesh Reencher furados na malla @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Inverter normais - - + + Flips the normals of the mesh Inverte as normais da malla @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Harmonizar normais - - + + Harmonizes the normals of the mesh Harmoniza as normais da malla @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Fundir - + Merges selected meshes into one Funde as mallas escollidas nunha soa @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Tallar malla - - + + Cuts a mesh with a picked polygon Talla unha malla cun polígono escollido @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Facer segmento - - + + Creates a mesh segment Fai un segmento da malla @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Dividir malla - - + + Splits a mesh into two meshes Divide a malla en dúas @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Tallar malla - - + + Trims a mesh with a picked polygon Talla unha malla cun polígono escollido @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Refinement... - + Refine existing mesh Refine existing mesh @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Desbotar compoñentes a man... - - + + Mark a component to remove it from the mesh Marque un compoñente para eliminalo da malla @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Rexeitar compoñentes... - - + + Remove topologic independent components from the mesh Elimina os compoñentes topolóxicos independentes da malla @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Escala... - + Scale selected meshes Escalar mallas selecionadas @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Facer sección a partir de malla e plano - + Section from mesh and plane Sección a partir de malla e plano @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Crear segmentos de malla... - - + + Create mesh segments Crea segmentos de malla @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Cera segmentos de malla dende as superficies que mellor axustan... - - + + Create mesh segments from best-fit surfaces Crea segmentos de malla das superficies que mellor se axustan @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Suavizar... - - + + Smooth the selected meshes Suaviza as mallas escolmadas @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Dividir por compoñentes - + Split selected mesh into its components Split selected mesh into its components @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Tallar malla cun plano - + Trims a mesh with a plane Tallar unha malla cun plano @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Información da curvatura - - + + Information about curvature Información sobre a curvatura @@ -692,87 +692,87 @@ Mesh VertexCurvature - + Mesh Smoothing Mesh Smoothing - + Harmonize mesh normals Harmonize mesh normals - + Flip mesh normals Flip mesh normals - + Fill up holes Fill up holes - + Mesh merge Mesh merge - + Mesh split Mesh split - + Mesh scale Mesh scale - + Mesh Decimating Mesh Decimating - + Harmonize normals Harmonizar normais - + Remove non-manifolds Remove non-manifolds - + Fix indices Fix indices - + Remove degenerated faces Remove degenerated faces - + Remove duplicated faces Remove duplicated faces - + Remove duplicated points Remove duplicated points - + Fix self-intersections Fix self-intersections - + Remove folds Remove folds - + Repair mesh Repair mesh @@ -782,34 +782,34 @@ Delete selection - - + + Cut Tallar - - + + Trim Tallar - + Split Dividir - + Segment Segmento - + Delete Desbotar - + Fill hole Fill hole @@ -838,7 +838,7 @@ - + Absolute number Número absoluto @@ -848,7 +848,7 @@ Tolerancia - + Absolute number (Maximum: %1) Número absoluto (Máximo: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Configuracións... - - + + No selection Ningunha escolla + + + + + + + - - - - - - - No information Sen información - + Orientation Orientación - + No flipped normals Ningunha normal invertida - + %1 flipped normals %1 normais invertidas - + No non-manifolds Ningunha non-multiplicidade - + %1 non-manifolds %1 non-multiplicidades - - + + Non-manifolds Non-multiplicidade - + Cannot remove non-manifolds Non é posíbel rexeitar as non-multiplicidades - + Invalid face indices Índices de face inválidos - + Invalid point indices Índices de punto inválidos - + Multiple point indices Moitos índices de puntos - + Invalid neighbour indices Índices veciños inválidos - + No invalid indices Ningún índice inválido - + Indices Índices - + No degenerations Ningunha dexeneración - + %1 degenerated faces %1 faces dexeneradas - + Degenerations Dexeneracións - + No duplicated faces Ningunha face duplicada - + %1 duplicated faces %1 faces duplicadas - + Duplicated faces Caras duplicadas - + No duplicated points Ningún punto duplicado - - + + Duplicated points Puntos duplicados - + No self-intersections Ningunha auto-intersección - + Self-intersections Auto-interseccións - + No folds on surface Ningunha dobra na superficie - + %1 folds on surface %1 dobras na superficie - + Folds Dobras - - + + Mesh repair Arranxar malla @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Crear %1 - + No active document Ningún documento activo @@ -1612,7 +1612,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Rematar @@ -1989,13 +1989,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete Desbotar - + Invert Inverter @@ -2003,38 +2003,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Cantidade de puntos: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Mesh info - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2042,7 +2042,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Límites de %1: @@ -2079,7 +2079,7 @@ Por favor visite http://www.openscad.org/index.html para instalalo. QDockWidget - + Evaluate & Repair Mesh Avaliar e Arranxar Malla @@ -2087,12 +2087,12 @@ Por favor visite http://www.openscad.org/index.html para instalalo. QObject - + Display Visualización - + Import-Export Importar-Exportar @@ -2230,42 +2230,42 @@ Por favor visite http://www.openscad.org/index.html para instalalo.Introduza a tolerancia para a xeometría da malla: - + The mesh '%1' is not a solid. A malla '%1' non é un sólido. - + The mesh '%1' is a solid. A malla '%1' é un sólido. - + Solid Mesh Malla sólida - + Boundings Límites - + Fill holes Reencher buratos - + Fill holes with maximum number of edges: Reencher buratos coa cantidade máxima de arestas: - + Scaling Escalar - + Enter scaling factor: Inserir factor de escala: @@ -2275,12 +2275,12 @@ Por favor visite http://www.openscad.org/index.html para instalalo.[Puntos: %1, Arestas: %2, Faces: %3] - + Display components Amosar compoñentes - + Display segments Amosar segmentos @@ -2290,38 +2290,38 @@ Por favor visite http://www.openscad.org/index.html para instalalo.Display colors - - + + Leave info mode Saír do modo de información - + Index: %1 Índice: %1 - + Leave hole-filling mode Saír do modo de reenchido de buratos - + Leave removal mode Saír do modo de rexeitado - + Delete selected faces Desbotar as faces escolmadas - + Clear selected faces Limpar faces escolmadas - + Annotation Apuntamento diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_hr.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_hr.ts index d5f7e9f7cd..d1b6e35275 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_hr.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_hr.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mreža - + Add triangle Dodaj trokut - - + + Add triangle manually to a mesh Ručno dodaj trokut mreži @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mreža - + Boundings info... Informacije o granicama... - - + + Shows the boundings of the selected mesh Prikazuje granicu odabrane mreže @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mreža - + Regular solid... Obično tijelo... - - + + Builds a regular solid Kreira obično tijelo @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mreža - + Cross-sections... Presjeci... - + Cross-sections Presjeci @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mreža - + Decimation... Desetkovanje... - + Decimates a mesh Desetkuj mrežu @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mreža - + Face info Informacije Lice - - + + Information about face Informacije o površini @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mreža - + Check solid mesh Provjerite tijelo mreže - - + + Checks whether the mesh is a solid Provjerava dali je li mreža tijelo @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mreža - + Evaluate and repair mesh... Procijena i popravak mreže... - - + + Opens a dialog to analyze and repair a mesh Otvara dijalog za analizu i popravak mreže @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mreža - + Close hole Zatvori rupe - - + + Close holes interactively Zatvori rupe interaktivno @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mreža - + Fill holes... Ispuni rupe... - - + + Fill holes of the mesh Ispuni rupe mreže @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mreža - + Flip normals Zrcali normale - - + + Flips the normals of the mesh Zrcali normale mreže @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mreža - + Harmonize normals Uskladi normale - - + + Harmonizes the normals of the mesh Usklađuje normale mreže @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mreža - + Merge Spoji - + Merges selected meshes into one Spaja odabrane mreže u jednu @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mreža - + Cut mesh Izreži mrežu - - + + Cuts a mesh with a picked polygon Presjeca mrežu sa odabranim višekutnikom @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mreža - + Make segment Stvori segment - - + + Creates a mesh segment Stvara segment mreže @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mreža - + Split mesh Podjeli mrežu - - + + Splits a mesh into two meshes Podijeli mrežu na dva dijela @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mreža - + Trim mesh Izreži mrežu - - + + Trims a mesh with a picked polygon Presjeca mrežu sa odabranim višekutnikom @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mreža - + Refinement... Izglađivanje... - + Refine existing mesh Izgladi postojeću mrežu @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mreža - + Remove components by hand... Ukloniti komponente ručno... - - + + Mark a component to remove it from the mesh Označi komponenta koju želite uklonili iz mreže @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mreža - + Remove components... Ukloniti komponente... - - + + Remove topologic independent components from the mesh Izvadite komponente neovisne o topologiji iz mreže @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mreža - + Scale... Skalirajte... - + Scale selected meshes Skaliranje odabranih mreža @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mreža - + Create section from mesh and plane Stvori presjek iz mreže i ravnine - + Section from mesh and plane Presjek iz mreže i ravnine @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mreža - + Create mesh segments... Kreiraj segmente mreže... - - + + Create mesh segments Kreiraj segmente mreže @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mreža - + Create mesh segments from best-fit surfaces... Stvaranje mreže segmenta od površina sa najboljim uklapanjem... - - + + Create mesh segments from best-fit surfaces Stvaranje mreže segmenta od površina sa najboljim uklapanjem @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mreža - + Smooth... Izgladi... - - + + Smooth the selected meshes Izgladi odabranu mrežu @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mreža - + Split by components Razdjeli po komponentama - + Split selected mesh into its components Podijelite odabranu mrežu na njene komponente @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mreža - + Trim mesh with a plane Obrezivanje mreže s ravninom - + Trims a mesh with a plane Obrezuje mrežu s ravninom @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mreža - + Curvature info Informacije krivina - - + + Information about curvature Informacije o zakrivljenosti @@ -692,87 +692,87 @@ Mreža zakrivljenosti tjemene točke - + Mesh Smoothing Zaglađivanje mreže - + Harmonize mesh normals Harmonizirajte mrežne normale - + Flip mesh normals Preokreni normale mreže - + Fill up holes Ispuni rupe - + Mesh merge Spoji mreže - + Mesh split Razdvoji mreže - + Mesh scale Skaliranje mreže - + Mesh Decimating Desetkuj mrežu - + Harmonize normals Uskladi normale - + Remove non-manifolds Ukloni nemnogostruke - + Fix indices Popravi indekse - + Remove degenerated faces Uklonite nevaljana naličja - + Remove duplicated faces Uklonite duplicirana naličja - + Remove duplicated points Uklonite duplicirane točke - + Fix self-intersections Popravi samo-sjecišta - + Remove folds Ukloni nabore - + Repair mesh Popravi mrežu @@ -782,34 +782,34 @@ Obriši označeno - - + + Cut Isječak - - + + Trim Skrati - + Split Razdjeli - + Segment Segment - + Delete Izbriši - + Fill hole Ispuni rupu @@ -838,7 +838,7 @@ - + Absolute number Apsolutni broj @@ -848,7 +848,7 @@ Tolerancija - + Absolute number (Maximum: %1) Apsolutni broj (Maksimalno: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Postavke... - - + + No selection Nema odabira + + + + + + + - - - - - - - No information Nema informacija - + Orientation Orijentacija - + No flipped normals Nema zrcaljenih normala - + %1 flipped normals %1 zrcaljenih normala - + No non-manifolds Nema jednostrukih - + %1 non-manifolds %1 jednostrukih - - + + Non-manifolds Jednostruki - + Cannot remove non-manifolds Ne mogu ukloniti jednostruke - + Invalid face indices Nevaljani indeksi površina - + Invalid point indices Nevažeća točka indeksa - + Multiple point indices Višestruki indeksi točaka - + Invalid neighbour indices Nevažeći susjedni indeksi - + No invalid indices Nema nevažećih indeksa - + Indices Indeksi - + No degenerations Nema degeneracija - + %1 degenerated faces %1 degeneriranih površina - + Degenerations Degeneracije - + No duplicated faces Nema dvostrukih površina - + %1 duplicated faces %1 dvostrukih površina - + Duplicated faces Dvostruke površine - + No duplicated points Nema dvostrukih točaka - - + + Duplicated points Dvostruki vrhovi - + No self-intersections Nema prekalpanja - + Self-intersections Preklapanja - + No folds on surface Bez nabora na površini - + %1 folds on surface %1 nabori na površini - + Folds Sklapanje - - + + Mesh repair Popravi mrežu @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Napravi %1 - + No active document Nema aktivnog dokumenta @@ -1614,7 +1614,7 @@ vodi do uglađenijeg izgleda. MeshGui::MeshFillHole - + Finish Završiti @@ -1991,13 +1991,13 @@ vodi do uglađenijeg izgleda. MeshGui::TaskRemoveComponents - + Delete Izbriši - + Invert Invertiraj @@ -2005,38 +2005,38 @@ vodi do uglađenijeg izgleda. MeshInfoWatcher - + Number of points: Broj vrhova: - + Number of facets: Broj naličja: - + Minimum bound: Minimalna granica: - + Maximum bound: Maksimalna granica: - + Mesh info box Info okvir Mreže - + Mesh info Informacije Mreže - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2044,7 +2044,7 @@ vodi do uglađenijeg izgleda. Mesh_BoundingBox - + Boundings of %1: Ograničenje od %1: @@ -2081,7 +2081,7 @@ Posjetite http://www.openscad.org/index.html da biste ga instalirali. QDockWidget - + Evaluate & Repair Mesh Procijeni & Popravi mrežu @@ -2089,12 +2089,12 @@ Posjetite http://www.openscad.org/index.html da biste ga instalirali. QObject - + Display Prikaz - + Import-Export Uvoz / izvoz @@ -2232,42 +2232,42 @@ Posjetite http://www.openscad.org/index.html da biste ga instalirali.Unesite toleranciju geometrije mreže: - + The mesh '%1' is not a solid. Mreža '%1' nije tijelo. - + The mesh '%1' is a solid. Mreža '%1' je tijelo. - + Solid Mesh Čvrsta mreža - + Boundings Granice - + Fill holes Ispuni rupe - + Fill holes with maximum number of edges: Ispunite rupe s maksimalnim brojem rubova: - + Scaling Skaliranje - + Enter scaling factor: Unesite faktor skaliranja: @@ -2277,12 +2277,12 @@ Posjetite http://www.openscad.org/index.html da biste ga instalirali.[Točke: %1, Rubovi: %2, Lica: %3] - + Display components Prikaz komponenti - + Display segments Prikaži segmente @@ -2292,38 +2292,38 @@ Posjetite http://www.openscad.org/index.html da biste ga instalirali.Boje prikaza - - + + Leave info mode Zatvori info način rada - + Index: %1 Indeks: %1 - + Leave hole-filling mode Zatvori način rada za popunjavanje otvora - + Leave removal mode Zatvori način rada za uklanjanje - + Delete selected faces Izbriši odabrane površine - + Clear selected faces Izbriši odabrane površine - + Annotation Anotacija diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_hu.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_hu.ts index 99f7b361af..dc6118d637 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_hu.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_hu.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Háló - + Add triangle Háromszöget adjon hozzá - - + + Add triangle manually to a mesh Adjon háromszöget kézzel a hálóhoz @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Háló - + Boundings info... Határolók információi... - - + + Shows the boundings of the selected mesh Megmutatja a kiválasztott háló határvonalait @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Háló - + Regular solid... Szabályos szilárd test... - - + + Builds a regular solid Szabályos szilárd testet épít @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Háló - + Cross-sections... Keresztmetszet... - + Cross-sections Keresztmetszet @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Háló - + Decimation... Tizedelés... - + Decimates a mesh Háló tizedelése @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Háló - + Face info Felület infó - - + + Information about face Információ a felületről @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Háló - + Check solid mesh Szilárd háló ellenőrzése - - + + Checks whether the mesh is a solid Ellenőrzi, ha a háló egy szilárd testet ad ki @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Háló - + Evaluate and repair mesh... Háló értékelése & javítása... - - + + Opens a dialog to analyze and repair a mesh Megnyit egy párbeszédablakot, a háló elemzéséhez és javításához @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Háló - + Close hole Lyukat bezárja - - + + Close holes interactively Interaktívan bezárja a lyukakat @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Háló - + Fill holes... Lyukak kitöltése... - - + + Fill holes of the mesh A hálón lévő lyukak kitöltése @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Háló - + Flip normals Aktuálisok tükrözése - - + + Flips the normals of the mesh Az aktuális hálók tükrözése @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Háló - + Harmonize normals Aktuálisok összehangolása - - + + Harmonizes the normals of the mesh A hálón lévő aktuálisok összehangolása @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Háló - + Merge Egyesítés - + Merges selected meshes into one Egyesíti a kiválasztott hálótesteket @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Háló - + Cut mesh Háló vágása - - + + Cuts a mesh with a picked polygon Háló kivágása a kiválasztott sokszög rácsvonallal @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Háló - + Make segment Szegmens létrehozása - - + + Creates a mesh segment A háló szegmens létrehozása @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Háló - + Split mesh Háló osztása - - + + Splits a mesh into two meshes Háló osztása két részre @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Háló - + Trim mesh Háló levágása - - + + Trims a mesh with a picked polygon A háló levágása kiválasztott sokszöggel @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Háló - + Refinement... Finomítás... - + Refine existing mesh Meglévő háló finomítása @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Háló - + Remove components by hand... Távolítsa el kézzel az összetevőket... - - + + Mark a component to remove it from the mesh Egy összetevő megjelölése a hálóból való eltávolításához @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Háló - + Remove components... Összetevők eltávolítása... - - + + Remove topologic independent components from the mesh Vegye ki a topológiailag független részegységeket a hálóból @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Háló - + Scale... Lépték... - + Scale selected meshes Kiválasztott hálók skálázása @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Háló - + Create section from mesh and plane Létrehoz egy szakaszt a hálóból és a síkból - + Section from mesh and plane Szakasz a hálóból és a síkból @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Háló - + Create mesh segments... Háló szegmensek létrehozása... - - + + Create mesh segments Háló szegmensek létrehozása @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Háló - + Create mesh segments from best-fit surfaces... Háló szegmensek létrehozása a legjobban illeszkedő felületekből... - - + + Create mesh segments from best-fit surfaces Háló szegmensek létrehozása a legjobban illeszkedő felületekből @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Háló - + Smooth... Simítás... - - + + Smooth the selected meshes Kiválasztott háló simítása @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Háló - + Split by components Felosztás összetevők szerint - + Split selected mesh into its components Kijelölt háló felosztása összetevőire @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Háló - + Trim mesh with a plane Egy síkkal metszi a hálótestet - + Trims a mesh with a plane Egy síkkal metsz egy hálótestet @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Háló - + Curvature info Görbület információ - - + + Information about curvature Görbület információk @@ -692,87 +692,87 @@ Hálócsúcsgörbület - + Mesh Smoothing Háló simítás - + Harmonize mesh normals Aktuális hálók összehangolása - + Flip mesh normals Aktuális háló átfordítás - + Fill up holes Furatokat tölt ki - + Mesh merge Háló egyesítés - + Mesh split Háló felosztás - + Mesh scale Háló méretezés - + Mesh Decimating Háló tizedelése - + Harmonize normals Aktuálisok összehangolása - + Remove non-manifolds Nem-szétágazók eltávolítása - + Fix indices Jelzőszámok javítása - + Remove degenerated faces Korcs felületek eltávolítása - + Remove duplicated faces Kettőzött felületek eltávolítása - + Remove duplicated points Kettőzött pontok eltávolítása - + Fix self-intersections Belső-csomópontok javítása - + Remove folds Redők eltávolítása - + Repair mesh Háló javítás @@ -782,34 +782,34 @@ Kijelölt törlése - - + + Cut Kivágás - - + + Trim Vágás - + Split Feloszt - + Segment Szegmens - + Delete Töröl - + Fill hole Furatokat kitölt @@ -838,7 +838,7 @@ - + Absolute number Abszolút szám @@ -848,7 +848,7 @@ Tűrés - + Absolute number (Maximum: %1) Abszolút szám (Maximum: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Beállítások... - - + + No selection Nincs kijelölés + + + + + + + - - - - - - - No information Nincs információ - + Orientation Tájolás - + No flipped normals Nincsenek tükrözött aktuálisok - + %1 flipped normals %1 tükrözött aktuálisok - + No non-manifolds Nincsenek nem-szétágazottak - + %1 non-manifolds %1 nem-szétágazott - - + + Non-manifolds Nem szétágazó - + Cannot remove non-manifolds Nem lehet eltávolítani a nem-szétágazottakat - + Invalid face indices Érvénytelen felület indexek - + Invalid point indices Érvénytelen pont indexek - + Multiple point indices Több pontos indexek - + Invalid neighbour indices Érvénytelen szomszédos indexek - + No invalid indices Nincsenek érvénytelen indexek - + Indices Indexek - + No degenerations Nincs elváltozás - + %1 degenerated faces %1 elváltozott felület - + Degenerations Elváltozás - + No duplicated faces Nincsenek duplikált felületek - + %1 duplicated faces %1 duplikált felület - + Duplicated faces Felületek megduplázása - + No duplicated points Nincsenek duplikált pontok - - + + Duplicated points Pontok megkettőzése - + No self-intersections Nem belső-csomópontok - + Self-intersections Saját csomópontok - + No folds on surface Nem hajítható felület - + %1 folds on surface %1 összecsukás a felületen - + Folds Ráncok - - + + Mesh repair Háló javítása @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Létrehozás %1 - + No active document Nincs aktív dokumentum @@ -1611,7 +1611,7 @@ Ha a felület szöge ≥ gyűrődésszögét, a feület árnyékolást használj MeshGui::MeshFillHole - + Finish Befejezés @@ -1988,13 +1988,13 @@ Ha a felület szöge ≥ gyűrődésszögét, a feület árnyékolást használj MeshGui::TaskRemoveComponents - + Delete Törlés - + Invert Invertálás @@ -2002,38 +2002,38 @@ Ha a felület szöge ≥ gyűrődésszögét, a feület árnyékolást használj MeshInfoWatcher - + Number of points: Pontok száma: - + Number of facets: Sokszögek száma: - + Minimum bound: Minimális határérték: - + Maximum bound: Maimális határérték: - + Mesh info box Háló info mező - + Mesh info Háló infó - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2041,7 +2041,7 @@ Ha a felület szöge ≥ gyűrődésszögét, a feület árnyékolást használj Mesh_BoundingBox - + Boundings of %1: %1 kötései: @@ -2077,7 +2077,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Háló értékelése & javítása @@ -2085,12 +2085,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Megjelenítés - + Import-Export Importálás-Exportálás @@ -2228,42 +2228,42 @@ Please visit http://www.openscad.org/index.html to install it. Adja meg a tűrést az erővonal geometriájának: - + The mesh '%1' is not a solid. A(z)'%1' háló nem szilárd test. - + The mesh '%1' is a solid. A(z) '%1' háló egy szilárd test. - + Solid Mesh Szilárd test háló - + Boundings Csatlakozások - + Fill holes Furatok kitöltése - + Fill holes with maximum number of edges: Töltse ki a furatokat maximális számú élekkel: - + Scaling Méretezés - + Enter scaling factor: Adja meg a skálafaktort: @@ -2273,12 +2273,12 @@ Please visit http://www.openscad.org/index.html to install it. [Pontok: %1, élek: %2, felületek: %3] - + Display components Összetevők megjelenítése - + Display segments Szegmensek megjelenítése @@ -2288,38 +2288,38 @@ Please visit http://www.openscad.org/index.html to install it. Megjelenített színek - - + + Leave info mode Hagyja az info módot - + Index: %1 Index: %1 - + Leave hole-filling mode Hagyja lyuk betöltő üzemmódban - + Leave removal mode Hagyja eltávolítása módban - + Delete selected faces Törli a kijelölt felületeket - + Clear selected faces Felületek kiválasztásának törlése - + Annotation Jegyzet diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_id.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_id.ts index dba4240b51..e061df5e49 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_id.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_id.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Tambahkan segitiga - - + + Add triangle manually to a mesh Add triangle manually to a mesh @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Ikatan info... - - + + Shows the boundings of the selected mesh Menunjukkan ikatan tautan yang dipilih @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Biasa padat... - - + + Builds a regular solid Membangun solid biasa @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Persimpangan... - - + + Cross-sections Persimpangan @@ -80,45 +80,32 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Decimation... - - - + + + Decimates a mesh Decimates a mesh - - CmdMeshDemolding - - - Mesh - Mesh - - - - Interactive demolding direction - Arah demolding interaktif - - CmdMeshDifference - + Mesh Mesh - + Difference Perbedaan @@ -126,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Wajah info - - + + Information about face Informasi tentang wajah @@ -145,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Check solid mesh - - + + Checks whether the mesh is a solid Memeriksa apakah mesh itu padat @@ -164,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Evaluate and repair mesh... - - + + Opens a dialog to analyze and repair a mesh Membuka dialog untuk menganalisa dan memperbaiki jala @@ -183,18 +170,18 @@ CmdMeshExport - + Mesh Mesh - + Export mesh... Ekspor mesh... - - + + Exports a mesh to file Ekspor mesh ke file @@ -202,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Tutup lubang - - + + Close holes interactively Tutup lubang secara interaktif @@ -221,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Isi lubang... - - + + Fill holes of the mesh Isi lubang jala @@ -240,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Flip normal - - + + Flips the normals of the mesh Membalik normals dari jala @@ -259,18 +246,18 @@ CmdMeshFromGeometry - + Mesh Mesh - + Create mesh from geometry... Buat jala dari geometri... - - + + Create mesh from the selected geometry Buat jala dari yang dipilih geometri @@ -278,17 +265,17 @@ CmdMeshFromPartShape - + Mesh Mesh - + Create mesh from shape... Create mesh from shape... - + Tessellate shape Tessellate shape @@ -296,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Harmonis normal - - + + Harmonizes the normals of the mesh Selaras dengan normals dari jala @@ -315,18 +302,18 @@ CmdMeshImport - + Mesh Mesh - + Import mesh... Impor mesh... - - + + Imports a mesh from file Impor mesh dari file @@ -334,12 +321,12 @@ CmdMeshIntersection - + Mesh Mesh - + Intersection Persimpangan @@ -347,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Menggabungkan - + Merges selected meshes into one Menggabungkan jerat terpilih menjadi satu @@ -365,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Potong jala - - + + Cuts a mesh with a picked polygon Memotong jaring dengan poligon pilihan @@ -384,56 +371,37 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Buat segmen - - + + Creates a mesh segment Creates a mesh segment - - CmdMeshPolySelect - - - Mesh - Mesh - - - - Select mesh - Pilih jala - - - - - Select an area of the mesh - Pilih area mesh - - CmdMeshPolySplit - + Mesh Mesh - + Split mesh Split jaring - - + + Splits a mesh into two meshes Perpecahan jala menjadi dua jerat @@ -441,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Pangkas jaring - - + + Trims a mesh with a picked polygon Potong jala dengan poligon pilihan @@ -460,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Refinement... - - + + Refine existing mesh Refine existing mesh @@ -479,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Hapus komponen dengan tangan... - - + + Mark a component to remove it from the mesh Menandai komponen untuk menghapusnya dari para jala @@ -498,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Hapus komponen... - - + + Remove topologic independent components from the mesh Hapus komponen independen topologic dari para jala @@ -517,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Skala... - + Scale selected meshes Skala jerat dipilih @@ -535,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Buat bagian dari mesh dan plane - - + + Section from mesh and plane Bagian dari jala dan pesawat @@ -554,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Buat segmen jaring... - - + + Create mesh segments Buat segmen jaring @@ -573,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Create mesh segments from best-fit surfaces... - - + + Create mesh segments from best-fit surfaces Create mesh segments from best-fit surfaces @@ -592,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Halus... - - + + Smooth the selected meshes Haluskan jaring yang dipilih @@ -611,74 +579,36 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Split by components - + Split selected mesh into its components Split selected mesh into its components - - CmdMeshToolMesh - - - Mesh - Mesh - - - - Segment by tool mesh - Segmentasikan dengan tool mesh - - - - - Creates a segment from a given tool mesh - Membuat segmen dari tool mesh yang diberikan - - - - CmdMeshTransform - - - Mesh - Mesh - - - - Transform mesh - Transform mesh - - - - - Rotate or move a mesh - Putar atau pindahkan jala - - CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Pangkas jaring dengan pesawat - - + + Trims a mesh with a plane Potong jala dengan pesawat @@ -686,12 +616,12 @@ CmdMeshUnion - + Mesh Mesh - + Union Persatuan @@ -699,18 +629,18 @@ CmdMeshVertexCurvature - + Mesh Mesh - + Curvature plot Plot lengkungan - - + + Calculates the curvature of the vertices of a mesh Menghitung kelengkungan dari simpul dari jala @@ -718,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Info kelengkungan - - + + Information about curvature Informasi tentang kelengkungan @@ -737,141 +667,129 @@ Command - - - Mesh Create - Mesh Create - - - - Segment by tool mesh - Segmentasikan dengan tool mesh - - - + Mesh union Mesh union - + Mesh difference Mesh difference - + Mesh intersection Mesh intersection - + Import Mesh Import Mesh - + Mesh VertexCurvature Mesh VertexCurvature - - + Mesh Smoothing Mesh Smoothing - + Harmonize mesh normals Harmonize mesh normals - + Flip mesh normals Flip mesh normals - + Fill up holes Fill up holes - + Mesh merge Mesh merge - + Mesh split Mesh split - + Mesh scale Mesh scale - + Mesh Decimating Mesh Decimating - + Harmonize normals Harmonis normal - + Remove non-manifolds Remove non-manifolds - + Fix indices Fix indices - + Remove degenerated faces Remove degenerated faces - + Remove duplicated faces Remove duplicated faces - + Remove duplicated points Remove duplicated points - + Fix self-intersections Fix self-intersections - + Remove folds Remove folds - + Repair mesh Repair mesh - + Delete selection Delete selection - - + + Cut Memotong - - + + Trim Memangkas @@ -886,12 +804,12 @@ Segment - + Delete Menghapus - + Fill hole Fill hole @@ -920,7 +838,7 @@ - + Absolute number Absolute number @@ -930,7 +848,7 @@ Toleransi - + Absolute number (Maximum: %1) Absolute number (Maximum: %1) @@ -1062,179 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Setelan... - - + + No selection Tidak ada pilihan - - - - - - - - - - - + + + + + + + + + + + No information Tidak ada informasi - - Flipped normals found - Membalik normals ditemukan - - - - + Orientation Orientasi - - Check failed due to folds on the surface. -Please run the command to repair folds first - Cek gagal karena lipatan di permukaan. Silakan jalankan perintah untuk memperbaiki lipatan terlebih dahulu - - - + No flipped normals Tidak ada normal membalik - + %1 flipped normals % 1 membalik normals - + No non-manifolds Tidak ada manifold - + %1 non-manifolds % 1 non-manifold - - + + Non-manifolds Bukan manifold - + Cannot remove non-manifolds Tidak dapat menghapus non-manifold - + Invalid face indices Indeks wajah tidak valid - + Invalid point indices Indeks titik tidak valid - + Multiple point indices Beberapa indeks titik - + Invalid neighbour indices Indeks tetangga tidak valid - + No invalid indices Tidak ada indeks yang tidak valid - + Indices Indeks - + No degenerations Tidak ada degenerasi - + %1 degenerated faces % 1 merosot wajah - + Degenerations Degenerasi - + No duplicated faces Tidak ada wajah duplikat - + %1 duplicated faces % 1 wajah duplikat - + Duplicated faces Wajah duplikat - + No duplicated points Tidak ada poin duplikat - - + + Duplicated points Poin duplikat - + No self-intersections Tidak ada persimpangan diri - - + Self-intersections Persimpangan diri - + No folds on surface Tidak ada lipatan di permukaan - + %1 folds on surface % 1 lipatan di permukaan - + Folds Lipat - - + + Mesh repair Perbaikan mesh @@ -1379,26 +1284,21 @@ Please run the command to repair folds first - Cl&ose + Close Dekat - - - Alt+O - Alt+O - MeshGui::DlgRegularSolidImp - - - + + + Create %1 Buat % 1 - + No active document Tidak ada dokumen aktif @@ -1641,48 +1541,48 @@ to a smoother appearance. MeshGui::GmshWidget - + Automatic Otomatis - + Adaptive Adaptive - + Frontal Frontal - + Frontal Quad Frontal Quad - + Parallelograms Parallelograms - - + + Time: Waktu: - + Running gmsh... Running gmsh... - + Failed to start Failed to start - + Error Kesalahan @@ -1713,7 +1613,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Selesai @@ -1756,12 +1656,12 @@ to a smoother appearance. Compute - + No selection Tidak ada pilihan - + Before fitting the surface select an area. Before fitting the surface select an area. @@ -2020,29 +1920,29 @@ to a smoother appearance. Lingkup - - + + Base Base - + Normal Normal - + Axis Axis - - + + Radius Jari-jari - + Center Pusat @@ -2076,12 +1976,12 @@ to a smoother appearance. Menghormati hanya segitiga dengan normal yang menghadap layar - + Use a brush tool to select the area Gunakan alat sikat untuk memilih area - + Clears completely the selected area Membersihkan sepenuhnya area yang dipilih @@ -2089,14 +1989,14 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - - + + Delete Menghapus - - + + Invert Membalikkan @@ -2104,38 +2004,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Jumlah poin: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Mesh info - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2143,7 +2043,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Boundings of %1: @@ -2151,26 +2051,26 @@ to a smoother appearance. Mesh_Union - - - - - - + + + + + + OpenSCAD Buka Scad - - - + + + Unknown error occurred while running OpenSCAD. Terjadi kesalahan yang tidak diketahui saat menjalankan OpenSCAD. - - - + + + OpenSCAD cannot be found on your system. Please visit http://www.openscad.org/index.html to install it. OpenSCAD tidak dapat ditemukan di sistem anda. Silakan kunjungi http://www.openscad.org/index.html untuk menginstalnya. @@ -2179,7 +2079,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Evaluasi & Perbaikan Mesh @@ -2187,180 +2087,185 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + + Display + Tampilan + + + Import-Export Ekspor Impor - + All Mesh Files Semua File Mesh - - + + Binary STL Biner STL - - - + + + ASCII STL ASCII STL - - + + Binary Mesh Binary Mesh - - + + Alias Mesh Alias Mesh - - + + Object File Format Objek File Format - + Inventor V2.1 ASCII Inventor V2.1 ASCII - - + + Stanford Polygon Stanford Polygon - + NASTRAN NASTRAN - - + + All Files Semua data - + Import mesh Impor mesh - + Simple Model Format Simple Model Format - + Inventor V2.1 ascii Penemu V2.1 ascii - + X3D Extensible 3D X3D Extensible 3D - + Compressed X3D Compressed X3D - + WebGL/X3D WebGL/X3D - + VRML V2.0 VRML V2.0 - + Compressed VRML 2.0 Compressed VRML 2.0 - + Nastran Nastran - + Python module def Modul python def - + Asymptote Format Asymptote Format - + 3D Manufacturing Format 3D Manufacturing Format - + Export mesh Ekspor mesh - + Meshing Tolerance Meshing Toleransi - + Enter tolerance for meshing geometry: Masukkan toleransi untuk geometri meshing: - + The mesh '%1' is not a solid. Jala ' % 1 ' bukan padat. - + The mesh '%1' is a solid. Jaringan ' % 1 ' adalah padat. - + Solid Mesh Solid Mesh - + Boundings Boundings - + Fill holes Isi lubang - + Fill holes with maximum number of edges: Isi lubang dengan jumlah maksimum tepi: - + Scaling Scaling - + Enter scaling factor: Masukkan faktor penskalaan: @@ -2370,53 +2275,53 @@ Please visit http://www.openscad.org/index.html to install it. [Poin: % 1 , Tepi: % 2 , Wajah: % 3 ] - + Display components Menampilkan komponen - + Display segments Display segments - + Display colors Display colors - - + + Leave info mode Tinggalkan info mode - + Index: %1 Indeks: % 1 - + Leave hole-filling mode Tinggalkan mode pengisian lubang - + Leave removal mode Tinggalkan mode penghapusan - + Delete selected faces Hapus wajah yang dipilih - + Clear selected faces Hapus wajah yang dipilih - + Annotation Anotasi diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_it.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_it.ts index 1f53c5034f..b39bacab91 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_it.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_it.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Aggiungi triangolo - - + + Add triangle manually to a mesh Aggiunge manualmente un triangolo alla mesh @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Info limiti d'ingombro... - - + + Shows the boundings of the selected mesh Mostra le coordinate dei limiti del contenitore della mesh selezionata @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Solido regolare... - - + + Builds a regular solid Costruisce un solido regolare @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Sezioni... - + Cross-sections Sezioni @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Decimazione... - + Decimates a mesh Decima una mesh @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Dettagli faccia - - + + Information about face Informazioni sulla faccia @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Controlla se è un solido - - + + Checks whether the mesh is a solid Controlla se l'oggetto mesh è un solido @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Valuta e ripara la mesh... - - + + Opens a dialog to analyze and repair a mesh Apre una finestra di dialogo per analizzare e riparare una mesh @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Chiudi il foro - - + + Close holes interactively Chiude i buchi in modo interattivo @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Riempi i buchi... - - + + Fill holes of the mesh Riempie i buchi della mesh @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Inverti le normali - - + + Flips the normals of the mesh Inverte le normali della mesh @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Armonizza le normali - - + + Harmonizes the normals of the mesh Armonizza le normali della mesh @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Unisci - + Merges selected meshes into one Unisce le Mesh selezionate in una unica @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Taglia la mesh - - + + Cuts a mesh with a picked polygon Taglia la mesh con un poligono @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Crea un segmento - - + + Creates a mesh segment Crea un segmento di mesh @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Dividi la mesh - - + + Splits a mesh into two meshes Divide la mesh in due mesh @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Rifila con un poligono - - + + Trims a mesh with a picked polygon Taglia una mesh con un poligono selezionato @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Affinamento... - + Refine existing mesh Affina le mesh esistenti @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Rimuovi componenti a mano... - - + + Mark a component to remove it from the mesh Segna un componente per rimuoverlo dalla mesh @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Rimuovi componente... - - + + Remove topologic independent components from the mesh Rimuove i componenti topologici indipendenti dalla mesh @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Scala... - + Scale selected meshes Scala le mesh selezionate @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Sezione da mesh e piano - + Section from mesh and plane Sezione da mesh e piano @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Crea segmenti di mesh... - - + + Create mesh segments Crea segmenti di mesh @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Adatta i segmenti... - - + + Create mesh segments from best-fit surfaces Crea segmenti mesh delle superfici che si adattano meglio @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Leviga... - - + + Smooth the selected meshes Leviga le mesh selezionate @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Dividi in componenti - + Split selected mesh into its components Dividi la mesh selezionata nei suoi componenti @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Rifila con un piano - + Trims a mesh with a plane Rifila una mesh con un piano @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Dettagli della curvatura - - + + Information about curvature Informazioni sulla curvatura @@ -692,87 +692,87 @@ Mesh VerticiCurvatura - + Mesh Smoothing Leviga la mesh - + Harmonize mesh normals Armonizza le normali della mesh - + Flip mesh normals Inverti le normali della mesh - + Fill up holes Riempi i fori - + Mesh merge Unisci le mesh - + Mesh split Dividi le mesh - + Mesh scale Scala la mesh - + Mesh Decimating Decimazione mesh - + Harmonize normals Armonizza le normali - + Remove non-manifolds Rimuovi non-manifolds - + Fix indices Ripara indici - + Remove degenerated faces Rimuovi facce degenerate - + Remove duplicated faces Rimuovi facce duplicate - + Remove duplicated points Rimuovi punti duplicati - + Fix self-intersections Correggi le auto-intersezioni - + Remove folds Rimuovi pieghe - + Repair mesh Ripara la mesh @@ -782,34 +782,34 @@ Elimina selezione - - + + Cut Taglio - - + + Trim Assetto - + Split Dividi - + Segment Segmento - + Delete Elimina - + Fill hole Riempi foro @@ -838,7 +838,7 @@ - + Absolute number Valore assoluto @@ -848,7 +848,7 @@ Tolleranza - + Absolute number (Maximum: %1) Valore assoluto (massimo: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Impostazioni... - - + + No selection Nessuna selezione + + + + + + + - - - - - - - No information Nessuna informazione - + Orientation Orientamento - + No flipped normals Nessuna normale invertita - + %1 flipped normals %1 normali invertite - + No non-manifolds Nessun non-manifold - + %1 non-manifolds %1 non-manifold - - + + Non-manifolds Non-manifold - + Cannot remove non-manifolds non è possibile rimuovere i non-manifold - + Invalid face indices Indici faccia non validi - + Invalid point indices Indici punto non validi - + Multiple point indices Indici punto multipli - + Invalid neighbour indices Indici vicini non validi - + No invalid indices Nessun indice non valido - + Indices Indici - + No degenerations Nessuna degenerazione - + %1 degenerated faces %1 facce degenerate - + Degenerations Degenerazioni - + No duplicated faces Nessuna faccia duplicata - + %1 duplicated faces %1 facce duplicate - + Duplicated faces Facce duplicate - + No duplicated points Nessun punto duplicato - - + + Duplicated points Punti duplicati - + No self-intersections Nessuna auto-intersezione - + Self-intersections Auto-intersezioni - + No folds on surface Nessuna piega sulla superficie - + %1 folds on surface %1 pieghe sulla superficie - + Folds Pieghe - - + + Mesh repair Ripara la mesh @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Crea %1 - + No active document Nessun documento attivo @@ -1609,7 +1609,7 @@ Usando l'ombreggiatura piana, le normali alla superficie non saranno determinate MeshGui::MeshFillHole - + Finish Termina @@ -1986,13 +1986,13 @@ Usando l'ombreggiatura piana, le normali alla superficie non saranno determinate MeshGui::TaskRemoveComponents - + Delete Elimina - + Invert Inverti @@ -2000,38 +2000,38 @@ Usando l'ombreggiatura piana, le normali alla superficie non saranno determinate MeshInfoWatcher - + Number of points: Numero di punti: - + Number of facets: Numero di sfaccettature: - + Minimum bound: Limite minimo: - + Maximum bound: Limite massimo: - + Mesh info box Casella informazioni Mesh - + Mesh info Informazioni sulla mesh - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2039,7 +2039,7 @@ Usando l'ombreggiatura piana, le normali alla superficie non saranno determinate Mesh_BoundingBox - + Boundings of %1: Limiti di %1: @@ -2075,7 +2075,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Valuta e ripara mesh @@ -2083,12 +2083,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Visualizzazione - + Import-Export Importa/Esporta @@ -2226,42 +2226,42 @@ Please visit http://www.openscad.org/index.html to install it. Inserisci la tolleranza per la geometria della mesh - + The mesh '%1' is not a solid. L'oggetto mesh '%1' non è un solido. - + The mesh '%1' is a solid. L'oggetto mesh '%1' è un solido. - + Solid Mesh Mesh solida - + Boundings Limiti - + Fill holes Riempi i buchi - + Fill holes with maximum number of edges: Numero massimo di spigoli per riempire i buchi: - + Scaling Scalatura - + Enter scaling factor: Immettere il fattore di scala: @@ -2271,12 +2271,12 @@ Please visit http://www.openscad.org/index.html to install it. [Punti: %1, bordi: %2, facce: %3] - + Display components Visualizza i componenti - + Display segments Mostra i segmenti @@ -2286,38 +2286,38 @@ Please visit http://www.openscad.org/index.html to install it. Visualizza colori - - + + Leave info mode Esci dalla modalità info - + Index: %1 Indice: %1 - + Leave hole-filling mode Esci dalla modalità riempimento dei buchi - + Leave removal mode Esci dalla modalità rimozione - + Delete selected faces Elimina le facce selezionate - + Clear selected faces Cancella le facce selezionate - + Annotation Annotazione diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ja.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ja.ts index 76d72dec62..04580672e6 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ja.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ja.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle 三角形を追加 - - + + Add triangle manually to a mesh 手動でメッシュに三角形を追加 @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... バウンディングボックス情報... - - + + Shows the boundings of the selected mesh 選択されたメッシュのバウンディングボックスを表示します @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... 正多面体... - - + + Builds a regular solid 正多面体を作成 @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... 断面... - + Cross-sections 断面 @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... 間引き... - + Decimates a mesh メッシュを間引きする @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info 面の情報 - - + + Information about face 面の情報 @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh ソリッドメッシュをチェック - - + + Checks whether the mesh is a solid メッシュがソリッドかどうか調べる @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... メッシュの検査と修復... - - + + Opens a dialog to analyze and repair a mesh メッシュの分析・修復ダイアログを開く @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole 穴をふさぐ - - + + Close holes interactively 対話形式で穴を閉じる @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... 穴を閉じる... - - + + Fill holes of the mesh メッシュの穴を閉じる @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals 法線を反転 - - + + Flips the normals of the mesh メッシュの法線を反転 @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals 法線を一致 - - + + Harmonizes the normals of the mesh メッシュの法線の向きを一致させます @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge マージ - + Merges selected meshes into one 選択されたメッシュを一つにマージさせます @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh メッシュを切断 - - + + Cuts a mesh with a picked polygon 選択ポリゴンでメッシュを切断します @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment セグメントを作成 - - + + Creates a mesh segment メッシュのセグメントを作成します @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh メッシュを分割 - - + + Splits a mesh into two meshes メッシュを2つのメッシュに分割します @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh メッシュをトリム - - + + Trims a mesh with a picked polygon 選択ポリゴンでメッシュをトリムします @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... リファイン... - + Refine existing mesh 既存のメッシュをリファイン @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... 手動によるコンポーネントの削除... - - + + Mark a component to remove it from the mesh メッシュから削除するコンポーネントを選択します @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... コンポーネントの削除... - - + + Remove topologic independent components from the mesh トポロジーとして独立しているコンポーネントをメッシュから削除します @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... 拡大縮小... - + Scale selected meshes 選択したメッシュを拡大縮小 @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane メッシュと平面から断面を作成 - + Section from mesh and plane メッシュと平面による断面 @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... メッシュセグメントを作成... - - + + Create mesh segments メッシュのセグメントを作成します @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... 最もフィットするサーフェスからメッシュのセグメントを作成... - - + + Create mesh segments from best-fit surfaces 最も一致するサーフェスからメッシュのセグメントを作成。 @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... スムージング - - + + Smooth the selected meshes 選択したメッシュを滑らかにします @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components コンポーネントで分割 - + Split selected mesh into its components 選択したメッシュをコンポーネントに分割 @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane 平面上のメッシュをトリム - + Trims a mesh with a plane 平面上のメッシュを1つトリム @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info 曲率の情報 - - + + Information about curvature 曲率の情報を表示します @@ -692,87 +692,87 @@ メッシュ頂点曲率 - + Mesh Smoothing メッシュ平滑化 - + Harmonize mesh normals メッシュ法線を統一 - + Flip mesh normals メッシュ法線を反転 - + Fill up holes 穴を埋め - + Mesh merge メッシュ結合 - + Mesh split メッシュ分割 - + Mesh scale メッシュ拡大縮小 - + Mesh Decimating メッシュ削減 - + Harmonize normals 法線を一致 - + Remove non-manifolds ノンマニホールドを削除 - + Fix indices インデックスを修正 - + Remove degenerated faces 縮退した面を削除 - + Remove duplicated faces 重複した面を削除 - + Remove duplicated points 重複した点を削除 - + Fix self-intersections 自己交差を修正 - + Remove folds 折り目を削除 - + Repair mesh メッシュを修復 @@ -782,34 +782,34 @@ 選択範囲を削除 - - + + Cut 切り取り - - + + Trim トリム - + Split スプリット - + Segment セグメント - + Delete 削除 - + Fill hole 穴埋め @@ -838,7 +838,7 @@ - + Absolute number 絶対番号 @@ -848,7 +848,7 @@ 公差 - + Absolute number (Maximum: %1) 絶対番号 (最大: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... 設定... - - + + No selection 選択されていません + + + + + + + - - - - - - - No information 情報なし - + Orientation 向き - + No flipped normals 逆向きの法線はありません - + %1 flipped normals %1 個の逆向きの法線があります - + No non-manifolds ノンマニフォールドはありません - + %1 non-manifolds %1 個のノンマニフォールドがあります - - + + Non-manifolds ノンマニフォールド - + Cannot remove non-manifolds ノンマニフォールドを取り除くことができません - + Invalid face indices 無効な面のインデックス - + Invalid point indices 無効な点のインデックス - + Multiple point indices 複数点のインデックス - + Invalid neighbour indices 無効な隣接インデックス - + No invalid indices 無効なインデックスはありません - + Indices インデックス - + No degenerations 縮退はありません - + %1 degenerated faces %1 この縮退された面があります - + Degenerations 縮退 - + No duplicated faces 重複面はありません - + %1 duplicated faces %1 の重複面があります - + Duplicated faces 重複面 - + No duplicated points 重複点はありません - - + + Duplicated points 重複点 - + No self-intersections 自己干渉はありません - + Self-intersections 自己干渉 - + No folds on surface 面上に折り畳み構造はありません - + %1 folds on surface %1 個の折り畳み構造が面上にあります - + Folds 折り畳み構造 - - + + Mesh repair メッシュの修復 @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 %1を作成します。 - + No active document アクティブなドキュメントがありません @@ -1607,7 +1607,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish 完了 @@ -1984,13 +1984,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete 削除 - + Invert 反転 @@ -1998,38 +1998,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: 点の数: - + Number of facets: 面の数: - + Minimum bound: 最小限度: - + Maximum bound: 最大限度: - + Mesh info box メッシュ情報ボックス - + Mesh info メッシュ情報 - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2037,7 +2037,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: %1 の境界: @@ -2074,7 +2074,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh メッシュの評価と修復 @@ -2082,12 +2082,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display 表示 - + Import-Export インポート/エクスポート @@ -2225,42 +2225,42 @@ Please visit http://www.openscad.org/index.html to install it. ジオメトリーのメッシュ処理用のトレランスを入力: - + The mesh '%1' is not a solid. メッシュ '%1' はソリッドではありません。 - + The mesh '%1' is a solid. '%1'はソリッドメッシュです。 - + Solid Mesh ソリッドメッシュ - + Boundings バウンディングボックス - + Fill holes 穴を埋める - + Fill holes with maximum number of edges: 最大数以下のエッジを持つ穴を埋める: - + Scaling 拡大縮小 - + Enter scaling factor: 倍率を入力: @@ -2270,12 +2270,12 @@ Please visit http://www.openscad.org/index.html to install it. [点: %1, 線: %2 面: %3] - + Display components 表示コンポーネント - + Display segments セグメントを表示 @@ -2285,38 +2285,38 @@ Please visit http://www.openscad.org/index.html to install it. 表示色 - - + + Leave info mode 情報モードを解除 - + Index: %1 インデックス: %1 - + Leave hole-filling mode 穴埋めモードを解除 - + Leave removal mode 削除モードを解除 - + Delete selected faces 選択した面を削除 - + Clear selected faces 面の選択を全て解除 - + Annotation 注釈 diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ka.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ka.ts index 0c862525ba..287ce7733c 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ka.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ka.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle სამკუთხედის დამატება - - + + Add triangle manually to a mesh მრავალკუთხა დაფაზე სამკუთხედის ხელით დამატება @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh - Mesh + ბადე - + Boundings info... ინფორმაცია სტრუქტურის შესახებ... - - + + Shows the boundings of the selected mesh მონიშნული მრავალკუთხა ბადის სტრუქტურის ჩვენება @@ -42,57 +42,57 @@ CmdMeshBuildRegularSolid - + Mesh - Mesh + ბადე - + Regular solid... სწორი გეომეტრიული სხეული... - - + + Builds a regular solid სწორი გეომეტრიული სხეულის აგება CmdMeshCrossSections - - - Mesh - Mesh - - Cross-sections... - განივი-გადანაჭრები... + Mesh + ბადე + Cross-sections... + განივი კვეთები... + + + Cross-sections - განივი-გადანაჭრები + განივი კვეთები CmdMeshDecimating - + Mesh - Mesh + ბადე - + Decimation... დეციმაცია... - + Decimates a mesh ბადის კიდეების რაოდენობის შემცირება @@ -102,7 +102,7 @@ Mesh - Mesh + ბადე @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh - Mesh + ბადე - + Face info ინფორმაცია ზედაპირზე - - + + Information about face ინფორმაცია ზედაპირის შესახებ @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh - Mesh + ბადე - + Check solid mesh მრავალკუთხა ბადის სიმყარეზე შემოწმება - - + + Checks whether the mesh is a solid მრავალკუთხა ბადის სიმყარეზე შემოწმება @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh - Mesh + ბადე - + Evaluate and repair mesh... მრავალკუთხა ბადის შეფასება და აღდგენა... - - + + Opens a dialog to analyze and repair a mesh მრავალკუთხა ბადის ანალიზისა და შეკეთების ფანჯრის გახსნა @@ -172,7 +172,7 @@ Mesh - Mesh + ბადე @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh - Mesh + ბადე - + Close hole ხვრელის დახურვა - - + + Close holes interactively ხვრელების ინტერაქტიული დახურვა @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh - Mesh + ბადე - + Fill holes... ხვრელების შემვსები... - - + + Fill holes of the mesh მრავალკუთხა ბადის ხვრელების შევსება @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh - Mesh + ბადე - + Flip normals ნორმალების მიმართუკლების შეცვლა - - + + Flips the normals of the mesh მრავალკუთხა ბადის ნორმალების მიმართულების შებრუნება @@ -248,7 +248,7 @@ Mesh - Mesh + ბადე @@ -267,34 +267,34 @@ Mesh - Mesh + ბადე Create mesh from shape... - ფიგურისგან მრავალკუთხა ბადის შექმნა... + მოხაზულობის შექმნა ბადიდან... Tessellate shape - მოზაიკა მოხაზულობიდან + მოხაზულობის ტესელაცია CmdMeshHarmonizeNormals - + Mesh - Mesh + ბადე - + Harmonize normals ნორმალების შეთანხმება - - + + Harmonizes the normals of the mesh მრავალკუთხა ბადის ნორმალების შეთანხმება @@ -304,7 +304,7 @@ Mesh - Mesh + ბადე @@ -323,7 +323,7 @@ Mesh - Mesh + ბადე @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh - Mesh + ბადე - + Merge შერწყმა - + Merges selected meshes into one მონიშნული მრავალკუთხა ბადეების შერწყმა @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh - Mesh + ბადე - + Cut mesh მრავალკუთხა ბადის ამოჭრა - - + + Cuts a mesh with a picked polygon მრავალკუთხა ბადის არჩეული მრავალკუთხედით ამოჭრა @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh - Mesh + ბადე - + Make segment სეგმენტის შექმნა - - + + Creates a mesh segment მრავალკუთხა ბადის სეგმენტის შექმნა @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh - Mesh + ბადე - + Split mesh მრავალკუთხა ბადის გაყოფა - - + + Splits a mesh into two meshes მრავალკუთხა ბადის ორად გაყოფა @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh - Mesh + ბადე - + Trim mesh მრავალკუთხა ბადის ჩამოჭრა - - + + Trims a mesh with a picked polygon მრავალკუთხა ბადის მონიშნული მრავალკუთხედის ფორმაზე ჩამოჭრა @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh - Mesh + ბადე - + Refinement... გაუმჯობესება... - + Refine existing mesh არსებული ბადის გაუმჯობესება @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh - Mesh + ბადე - + Remove components by hand... კომპონენტების ხელით მოცილება... - - + + Mark a component to remove it from the mesh კომპონენტების მრავალკუთხა ბადიდან წასაშლელად მონიშვნა @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh - Mesh + ბადე - + Remove components... კომპონენტების წაშლა... - - + + Remove topologic independent components from the mesh ტოპოლოგიურად დამოუკიდებელი ობიექტების მრავალკუთხა ბადიდან წაშლა @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh - Mesh + ბადე - + Scale... მასშტაბირება... - + Scale selected meshes მონიშნული მრავალკუთხა ბადეების მასშტაბირება @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh - Mesh + ბადე - + Create section from mesh and plane მრავალკუთხა ბადისა და სიბრტყისაგან სექციის შექმნა - + Section from mesh and plane სექცია მრავალკუთხა ბადისა და სიბრტყისაგან @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh - Mesh + ბადე - + Create mesh segments... მრავალკუთხა ბადის სეგმენტის შექმნა... - - + + Create mesh segments მრავალკუთხა ბადის სეგმენების შექმნა @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh - Mesh + ბადე - + Create mesh segments from best-fit surfaces... მრავალკუთხა ბადის სეგმენტების შექმნა ზედაპირების საუკეთესო თანხვედრით... - - + + Create mesh segments from best-fit surfaces მრავალკუთხა ბადის სეგმენტების შექმნა ზედაპირების საუკეთესო თანხვედრით @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh - Mesh + ბადე - + Smooth... მოგლუვება... - - + + Smooth the selected meshes მონიშნული მრავალკუთხა ბადების მოგლუვება @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh - Mesh + ბადე - + Split by components კომპონენტებად დაყოფა - + Split selected mesh into its components მონიშნული მრავალკუთხა ბადის კომპონენტებად დაყოფა @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh - Mesh + ბადე - + Trim mesh with a plane მრავალკუთხა ბადის სიბრტყით ჩამოჭრა - + Trims a mesh with a plane მრავალკუთხა ბადის სიბრტყით ჩამოჭრა @@ -618,7 +618,7 @@ Mesh - Mesh + ბადე @@ -631,7 +631,7 @@ Mesh - Mesh + ბადე @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info ინფორმაცია სიმრუდეზე - - + + Information about curvature ინფორმაცია სიმრუდის შესახებ @@ -692,87 +692,87 @@ ბადის წვეროების სიმრუდე - + Mesh Smoothing ბადის მოგლუვება - + Harmonize mesh normals ბადის ნორმალების გათანაბრება - + Flip mesh normals ბადის ნორმალების გადაბრუნება - + Fill up holes ხვრელების შევსება - + Mesh merge ბადეების შერწყმა - + Mesh split ბადის გაყოფა - + Mesh scale ბადის მასშტაბირება - + Mesh Decimating ბადის დეციმაცია - + Harmonize normals ნორმალების შეთანხმება - + Remove non-manifolds არაერთგვაროვნების მოცილება - + Fix indices ინდექსების გასწორება - + Remove degenerated faces დაზიანებული ზედაპირების მოცილება - + Remove duplicated faces დუბლირებული ზედაპირების მოცილება - + Remove duplicated points დუბლირებული წერტილების მოცილება - + Fix self-intersections თვითკვეთების მოცილება - + Remove folds ნაოჭების მოცილება - + Repair mesh ბადის აღდგენა @@ -782,34 +782,34 @@ მონიშნულის წაშლა - - + + Cut ამოჭრა - - + + Trim მოკვეცა - + Split გაყოფა - + Segment სეგმენტი - + Delete წაშლა - + Fill hole ხვრელების შევსება @@ -838,17 +838,17 @@ - + Absolute number აბსოლუტური რიცხვი Tolerance - სიზუსტე + დაშვება - + Absolute number (Maximum: %1) აბსოლუტური რიცხვი (მაქს: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... გამართვა... - - + + No selection - მონიშნული არაფერი არაა + არაფერია მონიშნული + + + + + + + - - - - - - - No information მონაცემები არაა - + Orientation ორიენტაცია - + No flipped normals ამობრუნებული ნორმალები ნაპოვნი არაა - + %1 flipped normals %1 ამობრუნებული ნორმალი - + No non-manifolds არაერთგვაროვნები ნაპოვნი არაა - + %1 non-manifolds %1 არაერთგვაროვანი - - + + Non-manifolds არაერთგვაროვნები - + Cannot remove non-manifolds არაერთგვაროვნების წაშლა შეუძლებელია - + Invalid face indices არასწორი ზედაპირების ინდექსები - + Invalid point indices წერტილების არასწორი ინდექსები - + Multiple point indices ბევრი წერტილის ინდექსები - + Invalid neighbour indices ახლომდებარე ელემენტების ინდექსები არასწორია - + No invalid indices არასწორი ინდექსები ნაპოვნი არაა - + Indices ინდექსები - + No degenerations დაზიანებები ნაპოვნი არაა - + %1 degenerated faces %1 დაზიანებული ზედაპირები - + Degenerations დაზიანებული - + No duplicated faces განმეორებადი ზედაპირები ნაპოვნი არაა - + %1 duplicated faces %1 განმეორებადი ზედაპირები - + Duplicated faces განმეორებადი ზედაპირები - + No duplicated points განმეორებადი წერტილები ნაპოვნი არაა - - + + Duplicated points განმეორებადი წერტილები - + No self-intersections თვითკვეთები ნაპოვნი არაა - + Self-intersections თვით-თანაკვეთები - + No folds on surface ზედაპირზე ნაოჭები ნაპოვნი არაა - + %1 folds on surface ზედაპირზე ნაპოვნია %1 ნაოჭი - + Folds ნაოჭები - - + + Mesh repair მრავალკუთხა ბადის აღდგენა @@ -1154,7 +1154,7 @@ Settings - გამართვა + მორგება @@ -1212,14 +1212,14 @@ Torus - ტორი + ტორუსი Length: - Length: + სიგრძე: @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 - %1-ის შექმნა + %1-ის შექნა - + No active document აქტიური დოკუმენტის გარეშე @@ -1313,7 +1313,7 @@ Export - Export + გატანა @@ -1612,7 +1612,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish დასრულება @@ -1733,7 +1733,7 @@ to a smoother appearance. Select - არჩევა + აირჩიეთ @@ -1815,7 +1815,7 @@ to a smoother appearance. Plane - სიბრტყე + ზედაპირი @@ -1823,7 +1823,7 @@ to a smoother appearance. Tolerance - სიზუსტე + დაშვება @@ -1880,7 +1880,7 @@ to a smoother appearance. Mesh segmentation - მრავალკუთხა ბადის სეგმენტაცია + ბადის სეგმენტაცია @@ -1989,13 +1989,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete წაშლა - + Invert დაბრუნება @@ -2003,38 +2003,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: წერტილების რიცხვი: - + Number of facets: წახნაგების რაოდენობა: - + Minimum bound: მინიმალური ზღვარი: - + Maximum bound: მაქსიმალურ ზღვარი: - + Mesh info box ბადის ინფორმაციის ფანჯარა - + Mesh info ბადის ინფორმაცია - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2042,7 +2042,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: %1-ის შეზღუდვები: @@ -2079,7 +2079,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh მრავალკუთხა ბადის შეფასება & აღდგენა @@ -2087,12 +2087,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display - ეკრანი + ჩვენება - + Import-Export შეტანა-გატანა @@ -2230,42 +2230,42 @@ Please visit http://www.openscad.org/index.html to install it. შეიყვანეთ შესაძლო აცდენა, რომელსაც მრავალკუთხა ბადე გეომეტრიისთვის ქმნის: - + The mesh '%1' is not a solid. მრავალკუთხა ბადე %1 არ წარმოადგენს მყარ სხეულს. - + The mesh '%1' is a solid. მრავალკუთხა ბადე %1 მყარი სხეულია. - + Solid Mesh მყარი მრავალკუთხა ბადე - + Boundings შეზღუდვები - + Fill holes ხვრელების შევსება - + Fill holes with maximum number of edges: შესავსები ხვრელების წიბოების მაქსიმალური რაოდენობა: - + Scaling მასშტაბირება - + Enter scaling factor: შეიყვანეთ მასშტაბირების კოეფიციენტი: @@ -2275,12 +2275,12 @@ Please visit http://www.openscad.org/index.html to install it. [წერტილი: %1, წიბო: %2, ზედაპირი: %3] - + Display components კომპონენტების ჩვენება - + Display segments სეგმენტების ჩვენება @@ -2290,38 +2290,38 @@ Please visit http://www.openscad.org/index.html to install it. ფერების ჩვენება - - + + Leave info mode საინფორმაციო რეჟიმიდან გასვლა - + Index: %1 ინდექსი: %1 - + Leave hole-filling mode ნახვრეტების შევსების რეჟიმიდან გასვლა - + Leave removal mode წაშლის რეჟიმიდან გამოსვლა - + Delete selected faces მონიშნული ზედაპირების წაშლა - + Clear selected faces ზედაპირებზე მონიშვნის მოხსნა - + Annotation შენიშვნა @@ -2336,7 +2336,7 @@ Please visit http://www.openscad.org/index.html to install it. Boolean - ბულევური ოპერაციები + ბულევი diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ko.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ko.ts index 7783543fee..7ad297842a 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ko.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ko.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle 삼각형 추가 - - + + Add triangle manually to a mesh 삼각형을 메시에 수동으로 추가 @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Boundings 정보... - - + + Shows the boundings of the selected mesh 선택된 메시의 boundings 표시 @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... 일반 솔리드... - - + + Builds a regular solid 일반 솔리드 만들기 @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... 횡단면... - + Cross-sections 횡단면 @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... 제거 - + Decimates a mesh Decimates a mesh @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info 평면 정보 - - + + Information about face Information about face @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh 솔리드 메쉬 검사 - - + + Checks whether the mesh is a solid 메쉬가 솔리드인지 검사 @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Evaluate and repair mesh... - - + + Opens a dialog to analyze and repair a mesh 메쉬의 분석/수정을 위한 대화상자 열기 @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole 구멍 닫기 - - + + Close holes interactively 대화식으로 구멍 닫기 @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... 구멍 메우기... - - + + Fill holes of the mesh 메시의 구멍 채우기 @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Flip normals - - + + Flips the normals of the mesh Flips the normals of the mesh @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Harmonize normals - - + + Harmonizes the normals of the mesh Harmonizes the normals of the mesh @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge 병합 - + Merges selected meshes into one 선택된 메쉬를 하나로 병합 @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh 메쉬 자르기 - - + + Cuts a mesh with a picked polygon 메쉬를 선택한 다각형으로 자르기 @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Make segment - - + + Creates a mesh segment Creates a mesh segment @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh 메쉬 분할 - - + + Splits a mesh into two meshes 하나의 메쉬를 2개로 분할 @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh 메쉬 다듬기 - - + + Trims a mesh with a picked polygon 선택한 다각형으로 메쉬를 다듬기 @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Refinement... - + Refine existing mesh Refine existing mesh @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Remove components by hand... - - + + Mark a component to remove it from the mesh 메시에서 제거할 구성요소를 표시합니다. @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Remove components... - - + + Remove topologic independent components from the mesh 메시에서 토폴로지 독립 구성요소 제거 @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Scale... - + Scale selected meshes Scale selected meshes @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Create section from mesh and plane - + Section from mesh and plane Section from mesh and plane @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Create mesh segments... - - + + Create mesh segments Create mesh segments @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Create mesh segments from best-fit surfaces... - - + + Create mesh segments from best-fit surfaces Create mesh segments from best-fit surfaces @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Smooth... - - + + Smooth the selected meshes Smooth the selected meshes @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Split by components - + Split selected mesh into its components Split selected mesh into its components @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Trim mesh with a plane - + Trims a mesh with a plane Trims a mesh with a plane @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Curvature info - - + + Information about curvature Information about curvature @@ -692,87 +692,87 @@ Mesh VertexCurvature - + Mesh Smoothing Mesh Smoothing - + Harmonize mesh normals Harmonize mesh normals - + Flip mesh normals Flip mesh normals - + Fill up holes Fill up holes - + Mesh merge Mesh merge - + Mesh split Mesh split - + Mesh scale Mesh scale - + Mesh Decimating Mesh Decimating - + Harmonize normals Harmonize normals - + Remove non-manifolds Remove non-manifolds - + Fix indices Fix indices - + Remove degenerated faces Remove degenerated faces - + Remove duplicated faces Remove duplicated faces - + Remove duplicated points Remove duplicated points - + Fix self-intersections Fix self-intersections - + Remove folds Remove folds - + Repair mesh Repair mesh @@ -782,34 +782,34 @@ Delete selection - - + + Cut 자르기 - - + + Trim Trim - + Split 분할 - + Segment Segment - + Delete 삭제 - + Fill hole Fill hole @@ -838,7 +838,7 @@ - + Absolute number Absolute number @@ -848,7 +848,7 @@ 공차 - + Absolute number (Maximum: %1) Absolute number (Maximum: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Settings... - - + + No selection 선택 안 함 + + + + + + + - - - - - - - No information No information - + Orientation Orientation - + No flipped normals No flipped normals - + %1 flipped normals %1 flipped normals - + No non-manifolds No non-manifolds - + %1 non-manifolds %1 non-manifolds - - + + Non-manifolds Non-manifolds - + Cannot remove non-manifolds Cannot remove non-manifolds - + Invalid face indices Invalid face indices - + Invalid point indices Invalid point indices - + Multiple point indices Multiple point indices - + Invalid neighbour indices Invalid neighbour indices - + No invalid indices No invalid indices - + Indices Indices - + No degenerations No degenerations - + %1 degenerated faces %1 degenerated faces - + Degenerations Degenerations - + No duplicated faces No duplicated faces - + %1 duplicated faces %1 duplicated faces - + Duplicated faces Duplicated faces - + No duplicated points No duplicated points - - + + Duplicated points Duplicated points - + No self-intersections No self-intersections - + Self-intersections Self-intersections - + No folds on surface No folds on surface - + %1 folds on surface %1 folds on surface - + Folds Folds - - + + Mesh repair 메시 복구 @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 %1 만들기 - + No active document 활성 문서가 없습니다 @@ -1613,7 +1613,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish 마침 @@ -1990,13 +1990,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete 삭제 - + Invert Invert @@ -2004,38 +2004,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Number of points: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Mesh info - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Boundings of %1: @@ -2080,7 +2080,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh 메시 평가 및 수리하기 @@ -2088,12 +2088,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display 화면 - + Import-Export 가져오기 내보내기 @@ -2231,42 +2231,42 @@ Please visit http://www.openscad.org/index.html to install it. Enter tolerance for meshing geometry: - + The mesh '%1' is not a solid. The mesh '%1' is not a solid. - + The mesh '%1' is a solid. The mesh '%1' is a solid. - + Solid Mesh Solid Mesh - + Boundings Boundings - + Fill holes Fill holes - + Fill holes with maximum number of edges: Fill holes with maximum number of edges: - + Scaling Scaling - + Enter scaling factor: Enter scaling factor: @@ -2276,12 +2276,12 @@ Please visit http://www.openscad.org/index.html to install it. [Points: %1, Edges: %2, Faces: %3] - + Display components Display components - + Display segments Display segments @@ -2291,38 +2291,38 @@ Please visit http://www.openscad.org/index.html to install it. Display colors - - + + Leave info mode Leave info mode - + Index: %1 Index: %1 - + Leave hole-filling mode Leave hole-filling mode - + Leave removal mode Leave removal mode - + Delete selected faces Delete selected faces - + Clear selected faces Clear selected faces - + Annotation Annotation diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_nl.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_nl.ts index fc74698b88..e3c2fa25fd 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_nl.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_nl.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Driehoek toevoegen - - + + Add triangle manually to a mesh Handmatig een driehoek toevoegen aan een gaas @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh - Mesh + Mesh - + Boundings info... Begrenzingsinfo... - - + + Shows the boundings of the selected mesh Toont de begrenzingen van het geselecteerde mesh @@ -42,57 +42,57 @@ CmdMeshBuildRegularSolid - + Mesh - Mesh + Mesh - + Regular solid... Regelmatig volumemodel... - - + + Builds a regular solid Bouwt volumemodel CmdMeshCrossSections - - - Mesh - Mesh - - Cross-sections... - Dwarsdoorsneden... + Mesh + Mesh + Cross-sections... + Doorsnedes... + + + Cross-sections - Dwarsdoorsneden + Doorsnedes CmdMeshDecimating - + Mesh - Mesh + Mesh - + Decimation... Decimatie... - + Decimates a mesh Decimeert een rooster @@ -102,7 +102,7 @@ Mesh - Mesh + Mesh @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh - Mesh + Mesh - + Face info Vlak-info - - + + Information about face Informatie over vlak @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh - Mesh + Mesh - + Check solid mesh Controleer vast maaswerk - - + + Checks whether the mesh is a solid Controleert of het maaswerk een volumemodel is @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Evalueer en repareer maaswerk... - - + + Opens a dialog to analyze and repair a mesh Opent een venster voor analyse en reparatie van een maaswerk @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Dicht gat - - + + Close holes interactively Sluit gaten interactief @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Vul gaten... - - + + Fill holes of the mesh Gaten in het gaas vullen @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Loodlijnen spiegelen - - + + Flips the normals of the mesh De normalen van het gaas omkeren @@ -277,24 +277,24 @@ Tessellate shape - Betegel vorm + Tegel vorm CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Harmoniseer loodlijnen - - + + Harmonizes the normals of the mesh Harmoniseert de loodlijnen van de mesh @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Samenvoegen - + Merges selected meshes into one Voegt geselecteerde maaswerken samen tot één enkele @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh - Snij de msh + Snij de mesh - - + + Cuts a mesh with a picked polygon Een mesh snijden met een geselecteerde polygoon @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Maak segment - - + + Creates a mesh segment Maakt een mesh segment @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Verdeel de mesh - - + + Splits a mesh into two meshes Verdeelt een gaas in twee gazen @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Gaas bijsnijden - - + + Trims a mesh with a picked polygon Snijdt een maaswerk met een geselecteerde veelhoek @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Verfijning... - + Refine existing mesh Verfijn bestaande mesh @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Verwijder componenten met de hand... - - + + Mark a component to remove it from the mesh Markeer een te verwijderen deel in de mesh @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Verwijder componenten... - - + + Remove topologic independent components from the mesh Ruimtelijk onafhankelijke onderdelen van het maaswerk verwijderen @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Schaal... - + Scale selected meshes Geselecteerde maaswerken schalen @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Genereer doorsnede van maaswerk en vlak - + Section from mesh and plane Doorsnede van maaswerk en vlak @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Genereer maaswerk-segmenten... - - + + Create mesh segments Gaassegmenten aanmaken @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Genereer maaswerk-segmenten uit meest passende oppervlakken... - - + + Create mesh segments from best-fit surfaces Genereer maaswerk-segmenten uit meest passende oppervlakken @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Glad... - - + + Smooth the selected meshes De geselecteerde meshes glad maken @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Gesplitst op onderdelen - + Split selected mesh into its components Splits geselecteerde maaswerk tot zijn componenten @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Maaswerk bijsnijden met een vlak - + Trims a mesh with a plane Snijdt een maaswerk bij met een vlak @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Kromming info - - + + Information about curvature Informatie over kromming @@ -692,87 +692,87 @@ Maaswerk HoekpuntKromming - + Mesh Smoothing Maaswerk Vloeiend maken - + Harmonize mesh normals Harmonize maaswerk normalen - + Flip mesh normals Normale spiegelen van maaswerk - + Fill up holes Gaten vullen - + Mesh merge Samenvoegen van maaswerk - + Mesh split Maaswerk splitsen - + Mesh scale Maaswerk verschalen - + Mesh Decimating Maaswerk verminderen - + Harmonize normals Harmoniseer loodlijnen - + Remove non-manifolds Verwijder niet waterdichte elementen - + Fix indices Index repareren - + Remove degenerated faces Gedegenereerde vlakken verwijderen - + Remove duplicated faces Dubbele vlakken verwijderen - + Remove duplicated points Dubbele punten verwijderen - + Fix self-intersections Repareer zelf-kruisingen - + Remove folds Vouwen verwijderen - + Repair mesh Herstel maaswerk @@ -782,34 +782,34 @@ Selectie verwijderen - - + + Cut - Snijden + Knippen - - + + Trim - Trim + Bijsnijden - + Split - Delen + Opsplitsen - + Segment Segment - + Delete Verwijderen - + Fill hole Vul gat @@ -838,7 +838,7 @@ - + Absolute number Absoluut getal @@ -848,7 +848,7 @@ Tolerantie - + Absolute number (Maximum: %1) Absoluut getal (Maximum: %1) @@ -980,167 +980,167 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Instellingen... - - + + No selection Geen selectie + + + + + + + - - - - - - - No information Geen informatie - + Orientation Oriëntatie - + No flipped normals Geen gespiegelde loodlijnen - + %1 flipped normals %1 gespiegelde loodlijnen - + No non-manifolds Geen niet-variëteiten - + %1 non-manifolds %1 niet-variëteiten - - + + Non-manifolds Niet-variëteiten - + Cannot remove non-manifolds Kan de niet-variëteiten niet verwijderen - + Invalid face indices Ongeldige vlak indexen - + Invalid point indices Ongeldige punt indexen - + Multiple point indices Meerdere punt indexen - + Invalid neighbour indices Ongeldige buurindexen - + No invalid indices Geen ongeldige indices - + Indices Indexen - + No degenerations Geen degeneraties - + %1 degenerated faces %1 gedegenereerde vlakken - + Degenerations Degeneraties - + No duplicated faces Geen gedupliceerde vlakken - + %1 duplicated faces %1 dubbele vlakken - + Duplicated faces Dubbele vlakken - + No duplicated points Geen dubbele punten - - + + Duplicated points dubbele punten - + No self-intersections Niet zelfsnijdend - + Self-intersections Zelf-doorsnijdingen - + No folds on surface Geen plooien op het oppervlak - + %1 folds on surface 1% plooien op het oppervlak - + Folds Plooien - - + + Mesh repair Mesh reparatie @@ -1292,14 +1292,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Maak %1 - + No active document Geen actief document @@ -1614,7 +1614,7 @@ tot een gladder uiterlijk leidt. MeshGui::MeshFillHole - + Finish Voltooien @@ -1882,7 +1882,7 @@ tot een gladder uiterlijk leidt. Mesh segmentation - Meshsegmentatie + Mesh segmentatie @@ -1929,7 +1929,7 @@ tot een gladder uiterlijk leidt. Normal - Normaal + Loodrechte lijn @@ -1940,7 +1940,7 @@ tot een gladder uiterlijk leidt. Radius - Radius + Straal @@ -1991,13 +1991,13 @@ tot een gladder uiterlijk leidt. MeshGui::TaskRemoveComponents - + Delete Verwijderen - + Invert Omkeren @@ -2005,38 +2005,38 @@ tot een gladder uiterlijk leidt. MeshInfoWatcher - + Number of points: Aantal punten: - + Number of facets: Aantal facetten: - + Minimum bound: Minimale grens: - + Maximum bound: Maximale grens: - + Mesh info box - Mesh info box + Mesh info box - + Mesh info - Mesh info + Mesh informatie - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2044,7 +2044,7 @@ tot een gladder uiterlijk leidt. Mesh_BoundingBox - + Boundings of %1: Begrenzingen van %1: @@ -2081,7 +2081,7 @@ Gelieve naar http://www.openscad.org/index.html te gaan om het te installeren. QDockWidget - + Evaluate & Repair Mesh Evalueer & herstel de mesh @@ -2089,12 +2089,12 @@ Gelieve naar http://www.openscad.org/index.html te gaan om het te installeren. QObject - + Display Weergave - + Import-Export Importeren-Exporteren @@ -2232,42 +2232,42 @@ Gelieve naar http://www.openscad.org/index.html te gaan om het te installeren.Voer tolerantie in voor de meshinggeometrie: - + The mesh '%1' is not a solid. De mesh '%1' is geen volumemodel. - + The mesh '%1' is a solid. De mesh '%1' is een volumemodel. - + Solid Mesh Solid Mesh - + Boundings Begrenzingen - + Fill holes Vul gaten - + Fill holes with maximum number of edges: Vul de gaten met maximaal aantal randen: - + Scaling Schalen - + Enter scaling factor: Geef schaal factor: @@ -2277,12 +2277,12 @@ Gelieve naar http://www.openscad.org/index.html te gaan om het te installeren.[Punten: %1, randen: %2, gezichten: %3] - + Display components Geef componenten weer - + Display segments Segmenten weergeven @@ -2292,38 +2292,38 @@ Gelieve naar http://www.openscad.org/index.html te gaan om het te installeren.Kleuren weergeven - - + + Leave info mode Info modus verlaten - + Index: %1 Index: %1 - + Leave hole-filling mode Gatvulmodus verlaten - + Leave removal mode Verwijdermodus verlaten - + Delete selected faces Verwijder geselecteerde vlakken - + Clear selected faces Geselecteerde vlakken wissen - + Annotation Aantekening diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.ts index 4209cb6aa2..4ba616bdb4 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Siatka - + Add triangle Dodaj trójkąt - - + + Add triangle manually to a mesh Dodaje trójkąt do siatki manualnie @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Siatka - + Boundings info... Informacje o granicach ... - - + + Shows the boundings of the selected mesh Pokazuje granice wybranej siatki @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Siatka - + Regular solid... Utwórz bryłę pierwotną ... - - + + Builds a regular solid Zbuduj bryłę podstawową @@ -61,38 +61,38 @@ CmdMeshCrossSections - + Mesh Siatka - + Cross-sections... - Przekrój poprzeczny ... + Przekroje poprzeczne ... - + Cross-sections - Przekrój poprzeczny + Przekroje poprzeczne CmdMeshDecimating - + Mesh Siatka - + Decimation... Uprość ... - + Decimates a mesh Wyznacza siatkę @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Siatka - + Face info Informacje o powierzchni - - + + Information about face Informacje na temat powierzchni @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Siatka - + Check solid mesh Sprawdź siatkę bryły - - + + Checks whether the mesh is a solid Sprawdza czy siatka jest bryłą @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Siatka - + Evaluate and repair mesh... Oceń i napraw siatkę ... - - + + Opens a dialog to analyze and repair a mesh Otwiera okno dialogowe do analizy i naprawy siatki @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Siatka - + Close hole Zamknij otwór - - + + Close holes interactively Zamyka otwory interaktywnie @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Siatka - + Fill holes... Wypełnij otwory ... - - + + Fill holes of the mesh Wypełnia otwory siatki @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Siatka - + Flip normals Odwróć wektory normalne - - + + Flips the normals of the mesh Odwraca wektory normalne siatki @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Siatka - + Harmonize normals Porządkuj wektory normalnych - - + + Harmonizes the normals of the mesh Porządkuje wektory normalne siatki @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Siatka - + Merge Scal - + Merges selected meshes into one Łączy wybrane siatki @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Siatka - + Cut mesh Przetnij siatkę - - + + Cuts a mesh with a picked polygon Wycina siatkę za pomocą wybranego wielokąta @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Siatka - + Make segment Utwórz segment - - + + Creates a mesh segment Tworzy segment siatki @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Siatka - + Split mesh Podziel siatkę - - + + Splits a mesh into two meshes Rozdziel siatkę na dwie siatki @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Siatka - + Trim mesh Przytnij siatkę - - + + Trims a mesh with a picked polygon Przycina siatkę za pomocą wybranego wielokąta @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Siatka - + Refinement... Ulepsz ... - + Refine existing mesh Ulepsza istniejącą siatkę @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Siatka - + Remove components by hand... Usuń fragmenty ręcznie ... - - + + Mark a component to remove it from the mesh Zaznacz fragment do usunięcia z siatki @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Siatka - + Remove components... Usuń fragmenty ... - - + + Remove topologic independent components from the mesh Usuwa topologiczne, niezależne elementy z siatki @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Siatka - + Scale... Skaluj ... - + Scale selected meshes Skaluje zaznaczone siatki @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Siatka - + Create section from mesh and plane Utwórz przekrój siatki płaszczyzną - + Section from mesh and plane Przekrój z siatki i płaszczyzny @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Siatka - + Create mesh segments... Utwórz segmenty siatki ... - - + + Create mesh segments Tworzy segmenty siatki @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Siatka - + Create mesh segments from best-fit surfaces... Utwórz segmenty siatki z najlepiej dopasowanych powierzchni ... - - + + Create mesh segments from best-fit surfaces Tworzy segmenty siatki z najlepiej dopasowanych powierzchni @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Siatka - + Smooth... Wygładź ... - - + + Smooth the selected meshes Wygładza zaznaczone siatki @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Siatka - + Split by components Rozbij na komponenty - + Split selected mesh into its components Rozdziela wybrane siatki na niezależne komponenty @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Siatka - + Trim mesh with a plane Przytnij siatkę płaszczyzną - + Trims a mesh with a plane Przycina siatkę za pomocą płaszczyzny @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Siatka - + Curvature info Informacje o krzywiźnie - - + + Information about curvature Informacje na temat krzywizny @@ -692,87 +692,87 @@ Krzywa wierzchołka siatki - + Mesh Smoothing Wygładzanie siatki - + Harmonize mesh normals Porządkuj wektory normalne - + Flip mesh normals Odwraca wektory normalne siatki - + Fill up holes Wypełnij otwory - + Mesh merge Scalanie siatki - + Mesh split Rozbicie siatki - + Mesh scale Skala oczek siatki - + Mesh Decimating Upraszczanie siatki - + Harmonize normals Porządkuj wektory normalnych - + Remove non-manifolds Usuń obiekty nie będące typu Manifold - + Fix indices Napraw wskaźniki - + Remove degenerated faces Usuń zniekształcone ściany - + Remove duplicated faces Usuń duplikaty ścian - + Remove duplicated points Usuń duplikaty punktów - + Fix self-intersections Napraw samoprzecięcia - + Remove folds Usuń fałdy - + Repair mesh Napraw siatkę @@ -782,34 +782,34 @@ Usuń zaznaczone - - + + Cut - Wytnij + Przetnij - - + + Trim Przytnij - + Split Rozdziel - + Segment Segment - + Delete Usuń - + Fill hole Wypełnij otwór @@ -838,7 +838,7 @@ - + Absolute number Liczba bezwzględna @@ -848,7 +848,7 @@ Tolerancja - + Absolute number (Maximum: %1) Wartość bezwzględna (maksymalnie: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Ustawienia ... - - + + No selection Brak zaznaczenia + + + + + + + - - - - - - - No information Brak informacji - + Orientation Orientacja - + No flipped normals Brak odwróconych wektorów normalnych - + %1 flipped normals %1 odwrócone wektory normalne - + No non-manifolds Nie jest typu non-Manifold - + %1 non-manifolds %1 nie jest typu non-Manifold - - + + Non-manifolds Typu non-Manifold - + Cannot remove non-manifolds Nie można usunąć nierozgałęźnych - + Invalid face indices Nieprawidłowe wskaźniki ścian - + Invalid point indices Nieprawidłowe wskaźniki punktu - + Multiple point indices Wielokrotne wskaźniki punktu - + Invalid neighbour indices Nieprawidłowe wskaźniki sąsiedztwa - + No invalid indices Nie ma nieprawidłowych wskaźników - + Indices Wskaźniki - + No degenerations Brak zniekształceń - + %1 degenerated faces %1 zniekształconych ścian - + Degenerations Zniekształcenia - + No duplicated faces Brak zduplikowanych ścian - + %1 duplicated faces %1 zduplikowanych powierzchni - + Duplicated faces Zduplikowane fasetki - + No duplicated points Brak zduplikowanych punktów - - + + Duplicated points Zduplikowane punkty - + No self-intersections Brak samoprzecięć - + Self-intersections Samoprzecięcia - + No folds on surface Brak zagięć na powierzchni - + %1 folds on surface %1 zagięć na powierzchni - + Folds Zagięcia - - + + Mesh repair Naprawa siatek @@ -1280,7 +1280,7 @@ Alt+C - Alt+C + Alt + C @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Utwórz %1 - + No active document Brak aktywnego dokumentu @@ -1613,7 +1613,7 @@ do gładszego wyglądu. MeshGui::MeshFillHole - + Finish Zakończ @@ -1658,7 +1658,7 @@ do gładszego wyglądu. No selection - Nie wybrano + Brak zaznaczenia @@ -1881,7 +1881,7 @@ do gładszego wyglądu. Mesh segmentation - Segmentacja siatki + Siatka — segmentacja @@ -1928,7 +1928,7 @@ do gładszego wyglądu. Normal - Normalny + Normalna @@ -1944,7 +1944,7 @@ do gładszego wyglądu. Center - Wyśrodkowane + Środek @@ -1990,13 +1990,13 @@ do gładszego wyglądu. MeshGui::TaskRemoveComponents - + Delete Usuń - + Invert Odwróć wybór @@ -2004,38 +2004,38 @@ do gładszego wyglądu. MeshInfoWatcher - + Number of points: Ilość punktów: - + Number of facets: Liczba wielokątów: - + Minimum bound: Minimalna wartość graniczna: - + Maximum bound: Maksymalna wartość graniczna: - + Mesh info box Panel informacje o siatce - + Mesh info Informacje o siatce - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ do gładszego wyglądu. Mesh_BoundingBox - + Boundings of %1: Granice %1: @@ -2080,7 +2080,7 @@ Odwiedź http://www.openscad.org/index.html żeby go zainstalować. QDockWidget - + Evaluate & Repair Mesh Oceń i napraw siatkę @@ -2088,12 +2088,12 @@ Odwiedź http://www.openscad.org/index.html żeby go zainstalować. QObject - + Display Wyświetlanie - + Import-Export Import-Eksport @@ -2231,42 +2231,42 @@ Odwiedź http://www.openscad.org/index.html żeby go zainstalować.Wprowadź tolerancję dla geometrii siatki: - + The mesh '%1' is not a solid. Siatka '%1' nie jest ciągła. - + The mesh '%1' is a solid. Siatka '%1' jest ciągła. - + Solid Mesh Siatka bryły - + Boundings Granice - + Fill holes Wypełnij otwory - + Fill holes with maximum number of edges: Wypełnij otwory maksymalną liczbą krawędzi: - + Scaling Skalowanie - + Enter scaling factor: Wprowadź współczynnik skalowania: @@ -2276,12 +2276,12 @@ Odwiedź http://www.openscad.org/index.html żeby go zainstalować.[Punktów: %1, Krawędzi: %2, Powierzchni: %3] - + Display components Wyświetl fragmenty - + Display segments Wyświetl segmenty @@ -2291,38 +2291,38 @@ Odwiedź http://www.openscad.org/index.html żeby go zainstalować.Wyświetlane kolory - - + + Leave info mode Opuść tryb informacyjny - + Index: %1 Indeks :%1 - + Leave hole-filling mode Opuść tryb wypełniania otworu - + Leave removal mode Opuść tryb usuwania - + Delete selected faces Usuń zaznaczone powierzchnie - + Clear selected faces Wyczyść zaznaczone powierzchnie - + Annotation Adnotacja diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pt-BR.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pt-BR.ts index cef189f433..b3813fd227 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pt-BR.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pt-BR.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Malha - + Add triangle Adicionar triângulo - - + + Add triangle manually to a mesh Adicionar triângulo manualmente a uma malha @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Malha - + Boundings info... Info caixa de volume... - - + + Shows the boundings of the selected mesh Mostra a caixa de volume da malha selecionada @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Malha - + Regular solid... Sólido regular... - - + + Builds a regular solid Cria um sólido regular @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Malha - + Cross-sections... Secções transversais... - + Cross-sections Secções transversais @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Malha - + Decimation... Decimação... - + Decimates a mesh Decimar uma malha @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Malha - + Face info Info face - - + + Information about face Informações sobre a face @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Malha - + Check solid mesh Verificar malha sólida - - + + Checks whether the mesh is a solid Verifica se a malha é um sólido @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Malha - + Evaluate and repair mesh... Analisar e consertar malha... - - + + Opens a dialog to analyze and repair a mesh Abre uma janela para analisar e consertar uma malha @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Malha - + Close hole Fechar furo - - + + Close holes interactively Fechar furos interativamente @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Malha - + Fill holes... Preencher furos... - - + + Fill holes of the mesh Preencher furos na malha @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Malha - + Flip normals Inverter normais - - + + Flips the normals of the mesh Inverte as normais da malha @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Malha - + Harmonize normals Harmonizar as normais - - + + Harmonizes the normals of the mesh Harmoniza as normais da malha @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Malha - + Merge Fundir - + Merges selected meshes into one Fundir as malhas selecionadas numa só @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Malha - + Cut mesh Cortar malha - - + + Cuts a mesh with a picked polygon Corta uma malha com um polígono escolhido @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Malha - + Make segment Fazer um segmento - - + + Creates a mesh segment Criar um segmento de malha @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Malha - + Split mesh Dividir uma malha - - + + Splits a mesh into two meshes Dividir uma malha em duas @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Malha - + Trim mesh Cortar malha - - + + Trims a mesh with a picked polygon Recorta uma malha com um polígono @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Malha - + Refinement... Refinamento... - + Refine existing mesh Refinar malha existente @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Malha - + Remove components by hand... Remover componentes manualmente... - - + + Mark a component to remove it from the mesh Marcar um componente para ser removido da malha @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Malha - + Remove components... Remover componentes... - - + + Remove topologic independent components from the mesh Remover componentes topológicos independentes da malha @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Malha - + Scale... Escala... - + Scale selected meshes Escalar malhas selecionadas @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Malha - + Create section from mesh and plane Criar a seção a partir da malha e plano - + Section from mesh and plane Seção a partir da malha e plano @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Malha - + Create mesh segments... Cria segmentos de uma malha... - - + + Create mesh segments Criar segmentos de malha @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Malha - + Create mesh segments from best-fit surfaces... Crie segmentos de malha de superfícies com melhor ajuste... - - + + Create mesh segments from best-fit surfaces Crie segmentos de malha de superfícies com melhor ajuste @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Malha - + Smooth... Suavizar... - - + + Smooth the selected meshes Suavizar as malhas selecionadas @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Malha - + Split by components Dividir por componentes - + Split selected mesh into its components Dividir a malha selecionada em seus componentes @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Malha - + Trim mesh with a plane Aparar malha numa superfície plana - + Trims a mesh with a plane Apare uma malha numa superfície plana @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Malha - + Curvature info Info curvatura - - + + Information about curvature Informações sobre a curvatura @@ -692,87 +692,87 @@ VertexCurvature Malha - + Mesh Smoothing Suavizar malha - + Harmonize mesh normals Harmonizar normais da malha - + Flip mesh normals Inverter normais da malha - + Fill up holes Preencher os buracos - + Mesh merge Fundir malhas - + Mesh split Dividir malha - + Mesh scale Redimensionar malha - + Mesh Decimating Decimação de malha - + Harmonize normals Harmonizar as normais - + Remove non-manifolds Remover não-manifolds - + Fix indices Corrigir índices - + Remove degenerated faces Remover faces degeneradas - + Remove duplicated faces Remover faces duplicadas - + Remove duplicated points Remover pontos duplicados - + Fix self-intersections Corrigir auto-interseções - + Remove folds Remover dobras - + Repair mesh Consertar malha @@ -782,34 +782,34 @@ Apagar seleção - - + + Cut Recortar - - + + Trim Aparar - + Split Separar - + Segment Segmento - + Delete Excluir - + Fill hole Preencher o buraco @@ -838,7 +838,7 @@ - + Absolute number Número absoluto @@ -848,7 +848,7 @@ Tolerância - + Absolute number (Maximum: %1) Número absoluto (Máximo: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Configurações... - - + + No selection Nenhuma seleção + + + + + + + - - - - - - - No information Sem Informação - + Orientation Orientação - + No flipped normals Nenhuma normal invertida - + %1 flipped normals %1 normais invertidas - + No non-manifolds Nenhum não-manifold - + %1 non-manifolds %1 não-manifolds - - + + Non-manifolds Não-manifolds - + Cannot remove non-manifolds Não é possível remover não-manifolds - + Invalid face indices Índices de face inválidos - + Invalid point indices Índices de ponto inválidos - + Multiple point indices Vários índices de pontos - + Invalid neighbour indices Índices de vizinhos inválidos - + No invalid indices Nenhum índice inválido - + Indices Índices - + No degenerations Nenhuma degeneração - + %1 degenerated faces %1 faces degeneradas - + Degenerations Degenerações - + No duplicated faces Nenhuma face duplicada - + %1 duplicated faces %1 faces duplicadas - + Duplicated faces Faces duplicadas - + No duplicated points Nenhum ponto duplicado - - + + Duplicated points Pontos duplicados - + No self-intersections Nenhuma auto-intersecção - + Self-intersections Auto-intersecções - + No folds on surface Nenhuma dobra na superfície - + %1 folds on surface %1 dobras na superfície - + Folds Dobras - - + + Mesh repair Conserto de malha @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Criar %1 - + No active document Nenhum documento ativo @@ -1613,7 +1613,7 @@ a uma aparência suavizada. MeshGui::MeshFillHole - + Finish Concluir @@ -1990,13 +1990,13 @@ a uma aparência suavizada. MeshGui::TaskRemoveComponents - + Delete Excluir - + Invert Inverter @@ -2004,38 +2004,38 @@ a uma aparência suavizada. MeshInfoWatcher - + Number of points: Número de pontos: - + Number of facets: Número de facetas: - + Minimum bound: Limite mínimo: - + Maximum bound: Limite máximo: - + Mesh info box Caixa de informações de malha - + Mesh info Informação da malha - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ a uma aparência suavizada. Mesh_BoundingBox - + Boundings of %1: Limites de %1: @@ -2080,7 +2080,7 @@ Favor visitar http://www.openscad.org/index.html para instalá-lo. QDockWidget - + Evaluate & Repair Mesh Avaliar & consertar malha @@ -2088,12 +2088,12 @@ Favor visitar http://www.openscad.org/index.html para instalá-lo. QObject - + Display Tela - + Import-Export Importação e exportação @@ -2231,42 +2231,42 @@ Favor visitar http://www.openscad.org/index.html para instalá-lo. Digite tolerância para a malhagem de geometria: - + The mesh '%1' is not a solid. A malha '%1' não é um sólido. - + The mesh '%1' is a solid. A malha '%1' é um sólido. - + Solid Mesh Malha sólida - + Boundings Caixa de volume - + Fill holes Preencher furos - + Fill holes with maximum number of edges: Preenche buracos com um número máximo de arestas: - + Scaling Escalar - + Enter scaling factor: Digite o fator de escala: @@ -2276,12 +2276,12 @@ Favor visitar http://www.openscad.org/index.html para instalá-lo. [Pontos: %1, Bordas: %2, Faces: %3] - + Display components Exibir componentes - + Display segments Exibir segmentos @@ -2291,38 +2291,38 @@ Favor visitar http://www.openscad.org/index.html para instalá-lo. Exibir cores - - + + Leave info mode Sair do modo de info - + Index: %1 Índice: %1 - + Leave hole-filling mode Sair do modo de preenchimento de furos - + Leave removal mode Sair do modo de remoção - + Delete selected faces Excluir as faces selecionadas - + Clear selected faces Limpar as faces selecionadas - + Annotation Anotação diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pt-PT.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pt-PT.ts index c52521f27b..dccbef4cb7 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pt-PT.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pt-PT.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Malha - + Add triangle Adicionar Triâgulo - - + + Add triangle manually to a mesh Adicionar Manualmente Triângulo p/ uma Malha @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Malha - + Boundings info... Informação de delimitações... - - + + Shows the boundings of the selected mesh Mostra as delimitações da malha selecionada @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Malha - + Regular solid... Sólido Regular - - + + Builds a regular solid Cria um Sólido Regular @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Malha - + Cross-sections... Perfis transversais ... - + Cross-sections Perfis transversais @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Malha - + Decimation... Simplificar... - + Decimates a mesh Simplifica uma malha @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Malha - + Face info Informação da Superfície - - + + Information about face Informação Sobre a Superfície @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Malha - + Check solid mesh Verificar Malha Sólida - - + + Checks whether the mesh is a solid Verificar se a malha é ou não um sólido @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Malha - + Evaluate and repair mesh... Avaliar e reparar malha... - - + + Opens a dialog to analyze and repair a mesh Abre uma janela para analisar e reparar a malha @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Malha - + Close hole Fechar Buraco - - + + Close holes interactively Fechar buracos interativamente @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Malha - + Fill holes... Preencher buracos ... - - + + Fill holes of the mesh Preencher buracos na malha @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Malha - + Flip normals Inverter normais - - + + Flips the normals of the mesh Inverter os normais da malha @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Malha - + Harmonize normals Harmonizar normais - - + + Harmonizes the normals of the mesh Harmoniza os normais da malha @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Malha - + Merge Fundir - + Merges selected meshes into one Fundir as malhas selecionadas numa só @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Malha - + Cut mesh Cortar Malha - - + + Cuts a mesh with a picked polygon Corta uma malha com um polígono selecionado @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Malha - + Make segment Criar Segmento - - + + Creates a mesh segment Cria um segmento de malha @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Malha - + Split mesh Dividir Malha - - + + Splits a mesh into two meshes Divide uma malha em duas @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Malha - + Trim mesh Aparar malha - - + + Trims a mesh with a picked polygon Apara uma malha com um polígono escolhido @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Malha - + Refinement... Melhoria... - + Refine existing mesh Optimizar malha existente @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Malha - + Remove components by hand... Remover manualmente os componentes ... - - + + Mark a component to remove it from the mesh Marcar um componente para o remover da malha @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Malha - + Remove components... Remover Componentes ... - - + + Remove topologic independent components from the mesh Remover componentes topológicos independentes da malha @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Malha - + Scale... Escala... - + Scale selected meshes Escalar malhas selecionadas @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Malha - + Create section from mesh and plane Criar secção a partir da malha e plano - + Section from mesh and plane Secção a partir da malha e plano @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Malha - + Create mesh segments... Criar segmentos de malha... - - + + Create mesh segments Criar segmentos de malha @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Malha - + Create mesh segments from best-fit surfaces... Crie segmentos de malha de superfícies com melhor ajuste... - - + + Create mesh segments from best-fit surfaces Crie segmentos de malha de superfícies com melhor ajuste @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Malha - + Smooth... Suavizar ... - - + + Smooth the selected meshes Suavizar as Malhas Selecionadas @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Malha - + Split by components Separar por componentes - + Split selected mesh into its components Separa as malhas selecionadas nos seus componentes @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Malha - + Trim mesh with a plane Aparar malha com um plano - + Trims a mesh with a plane Aparar malha com um plano @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Malha - + Curvature info Informação de curvatura - - + + Information about curvature Informações sobre a curvatura @@ -692,87 +692,87 @@ Malha VertexCurvatura - + Mesh Smoothing Suavizar Malha - + Harmonize mesh normals Harmonizar direções normais à malha - + Flip mesh normals Inverter direções normais à malha - + Fill up holes Preencher buracos - + Mesh merge Fusão de Malha - + Mesh split Divisão de malha - + Mesh scale Escala da malha - + Mesh Decimating Simplificação de Malha (Decimation) - + Harmonize normals Harmonizar normais - + Remove non-manifolds Remover não-manifolds - + Fix indices Corrigir índices - + Remove degenerated faces Remover faces degeneradas - + Remove duplicated faces Remover faces duplicadas - + Remove duplicated points Remover pontos duplicados - + Fix self-intersections Corrigir auto-interseções - + Remove folds Remover dobras - + Repair mesh Reparar malha @@ -782,34 +782,34 @@ Eliminar seleção - - + + Cut Cortar - - + + Trim Aparar - + Split Separar - + Segment Segmento - + Delete Apagar - + Fill hole Preencher buraco @@ -838,7 +838,7 @@ - + Absolute number Número absoluto @@ -848,7 +848,7 @@ Tolerância - + Absolute number (Maximum: %1) Número absoluto (Máximo: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Configurações... - - + + No selection Nenhuma seleção + + + + + + + - - - - - - - No information Nenhuma informação - + Orientation Orientação - + No flipped normals Nenhuns normais invertidos - + %1 flipped normals %1 normais invertidos - + No non-manifolds Nenhuns não-manifolds - + %1 non-manifolds %1 não-manifolds - - + + Non-manifolds Não-manifolds - + Cannot remove non-manifolds Não é possível remover não-manifolds - + Invalid face indices Índices de faces inválido - + Invalid point indices Índices de pontos inválido - + Multiple point indices Vários índices de pontos - + Invalid neighbour indices Índices vizinhos inválidos - + No invalid indices Nenhuns índices inválidos - + Indices índices - + No degenerations Nenhumas degenerações - + %1 degenerated faces %1 faces degeneradas - + Degenerations Degenerações - + No duplicated faces Nenhumas faces duplicadas - + %1 duplicated faces %1 faces duplicadas - + Duplicated faces Faces duplicadas - + No duplicated points Nenhuns pontos duplicados - - + + Duplicated points Pontos duplicados - + No self-intersections Nenhuma auto-intersecção - + Self-intersections Auto-intersecções - + No folds on surface Nenhuma dobra na superfície - + %1 folds on surface %1 dobras na superfície - + Folds Dobras - - + + Mesh repair Reparar malha (mesh) @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Criar %1 - + No active document Nenhum documento ativo @@ -1613,7 +1613,7 @@ a uma aparência mais suave. MeshGui::MeshFillHole - + Finish Terminar @@ -1990,13 +1990,13 @@ a uma aparência mais suave. MeshGui::TaskRemoveComponents - + Delete Apagar - + Invert Inverter @@ -2004,38 +2004,38 @@ a uma aparência mais suave. MeshInfoWatcher - + Number of points: Número de pontos: - + Number of facets: Número de faces: - + Minimum bound: Limite mínimo: - + Maximum bound: Limite máximo: - + Mesh info box Caixa de informações de malha - + Mesh info Informação de malha - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ a uma aparência mais suave. Mesh_BoundingBox - + Boundings of %1: Limites de %1: @@ -2080,7 +2080,7 @@ Visite http://www.openscad.org/index.html para instalá-lo. QDockWidget - + Evaluate & Repair Mesh Avaliar & Reparar Malha @@ -2088,12 +2088,12 @@ Visite http://www.openscad.org/index.html para instalá-lo. QObject - + Display Visualização - + Import-Export Importar/Exportar @@ -2231,42 +2231,42 @@ Visite http://www.openscad.org/index.html para instalá-lo. Introduzir a tolerância para a geometria da malhagem: - + The mesh '%1' is not a solid. A malha '%1' não é um sólido. - + The mesh '%1' is a solid. A malha '%1' é um sólido. - + Solid Mesh Malha sólida - + Boundings Delimitações - + Fill holes Preencher buracos - + Fill holes with maximum number of edges: Preencher buracos com número máximo de arestas: - + Scaling A escalar - + Enter scaling factor: Digite o fator de escala: @@ -2276,12 +2276,12 @@ Visite http://www.openscad.org/index.html para instalá-lo. [Pontos: %1, Arestas: %2, Faces: %3] - + Display components Exibir componentes - + Display segments Exibir segmentos @@ -2291,38 +2291,38 @@ Visite http://www.openscad.org/index.html para instalá-lo. Cor da tela - - + + Leave info mode Sair do modo de informação - + Index: %1 Índice: %1 - + Leave hole-filling mode Sair do modo de preenchimento de buracos - + Leave removal mode Sair do modo de remoção - + Delete selected faces Apagar as faces selecionadas - + Clear selected faces Limpar faces selecionadas - + Annotation Anotação diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ro.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ro.ts index 118ff0ab1a..0054a9d68a 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ro.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ro.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Adauga triunghi - - + + Add triangle manually to a mesh Adaugă manual un triunghi la plasă (rețeaua de discretizare) @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Detalii margini... - - + + Shows the boundings of the selected mesh Afișează marginile plasei selectate @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Solid comun... - - + + Builds a regular solid Creaza un solid comun @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Sectiune transversala... - + Cross-sections Sectiune transversala @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Zecimație... - + Decimates a mesh Decimates a mesh @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Informatii fateta - - + + Information about face Informatii despre fata @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Verifică dacă plasa formează un solid - - + + Checks whether the mesh is a solid Verifică dacă plasa formează un solid @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Evaluează şi reparară plasa... - - + + Opens a dialog to analyze and repair a mesh Deschide o casetă de dialog pentru analiza și repararea plasei @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Inchide gaura - - + + Close holes interactively Inchide o gaura in mod interactiv @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Umple gauri... - - + + Fill holes of the mesh Umple găurile unei plase @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Inversează normalele - - + + Flips the normals of the mesh Inversează normalele unei plase @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Armonizeaza normalele - - + + Harmonizes the normals of the mesh Armonizează normalele plasei @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Fuziune - + Merges selected meshes into one Fuzionează plasele selectate într-o singură plasă @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Taie plasa - - + + Cuts a mesh with a picked polygon Taie plasa cu poligonul ales @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Creează segment - - + + Creates a mesh segment Creează un segment de plasă @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Divide plasa - - + + Splits a mesh into two meshes Imparte o plasă în două plase @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Taie plasa - - + + Trims a mesh with a picked polygon Taie plasa cu un poligon ales @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Rafinare... - + Refine existing mesh Rafinează plasa existentă @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Sterge componente interactiv... - - + + Mark a component to remove it from the mesh Selectează o componentă pentru a fi ștearsă din plasă @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Elimina componente... - - + + Remove topologic independent components from the mesh Elimină componentele topologic-independente dintr-o plasă @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Scară... - + Scale selected meshes Mărește la scară plasele selectate @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Creează o secțiune plecând de la la o plasă şi un plan - + Section from mesh and plane Secțiune plecând de la la o plasă şi un plan @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Creează segmente de plasă... - - + + Create mesh segments Creează segmente de plasă @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Creaţi segmente ochiurilor de plasă din cele mai adecvate suprafețe... - - + + Create mesh segments from best-fit surfaces Creaţi segmente ochiurilor de plasă din cele mai adecvate suprafețe @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Netezeste... - - + + Smooth the selected meshes Netezește plasele selectate @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Împărțiți de componente - + Split selected mesh into its components Împarte ochiurile selectate în componentele sale @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Tăiaţi plasa cu un plan - + Trims a mesh with a plane Tăie o plasă cu un plan @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Informatii despre curbura - - + + Information about curvature Informatii despre curbura @@ -692,87 +692,87 @@ VertexCurvatura plasei - + Mesh Smoothing Smoothing pentru plasă - + Harmonize mesh normals Armonizeaza normalele - + Flip mesh normals Inversează normalele - + Fill up holes Umple găurile - + Mesh merge Fuzionarea plasei - + Mesh split Divizare plasă - + Mesh scale Scară plasă - + Mesh Decimating Decimare plasă - + Harmonize normals Armonizeaza normalele - + Remove non-manifolds Elimină alte pliuri - + Fix indices Repară indicii - + Remove degenerated faces Elimină fațete degenerate - + Remove duplicated faces Se elimină fișierele duplicat - + Remove duplicated points Se elimină fișierele duplicat - + Fix self-intersections Repară auto-intersecțiile - + Remove folds Elimină îndoiturile - + Repair mesh Reparare plasă @@ -782,34 +782,34 @@ Ştergere - - + + Cut Scădere - - + + Trim Taiere - + Split Divizare - + Segment Segment - + Delete Ştergeţi - + Fill hole Umple gaura @@ -838,7 +838,7 @@ - + Absolute number Număr absolut @@ -848,7 +848,7 @@ Toleranţă - + Absolute number (Maximum: %1) Număr absolut (Maxim: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Configurări... - - + + No selection Nici o selecţie + + + + + + + - - - - - - - No information Nici o informatie - + Orientation Orientarea - + No flipped normals Nici o normala inversa - + %1 flipped normals %1 normale inverse - + No non-manifolds Obiecte manufacturabile - + %1 non-manifolds %1 ne manufactuabil - - + + Non-manifolds Obiecte ne-manufacturabile - + Cannot remove non-manifolds Obiect ne manufacturabil - + Invalid face indices Indicii fațetei sunt incorecți - + Invalid point indices Indicii punctului incorecți - + Multiple point indices Indici multipli de punct - + Invalid neighbour indices Indicii elementelor vecine sunt incorecți - + No invalid indices Nici un indice invalid - + Indices Indici - + No degenerations Nici o degenerare - + %1 degenerated faces %1 fete degenerate - + Degenerations Degenerari - + No duplicated faces Nici o fațetă duplicată - + %1 duplicated faces %1 fațete duplicate - + Duplicated faces Fațete duplicate - + No duplicated points Nici un punct duplicat - - + + Duplicated points Puncte duplicate - + No self-intersections Nici o coliziune internă - + Self-intersections Coliziuni interne - + No folds on surface Nici un pliu pe suprafata - + %1 folds on surface %1 pliuri pe suprafata - + Folds Pliuri - - + + Mesh repair Reparare plasă @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Creati %1 - + No active document Nici un document activ @@ -1612,7 +1612,7 @@ la un aspect mai uşor. MeshGui::MeshFillHole - + Finish Terminare @@ -1989,13 +1989,13 @@ la un aspect mai uşor. MeshGui::TaskRemoveComponents - + Delete Ştergeţi - + Invert Inverseaza @@ -2003,38 +2003,38 @@ la un aspect mai uşor. MeshInfoWatcher - + Number of points: Numar de puncte: - + Number of facets: Număr de fațete: - + Minimum bound: Limită minimă: - + Maximum bound: Limita maximă: - + Mesh info box Mesh info box - + Mesh info Informații plasă - - + + X: %1 Y: %2 Z: %3 X: %1 <unk> Y: %2 <unk> Z: %3 @@ -2042,7 +2042,7 @@ la un aspect mai uşor. Mesh_BoundingBox - + Boundings of %1: Límite de %1: @@ -2079,7 +2079,7 @@ Vizitați http://www.openscad.org/index.html pentru a-l instala. QDockWidget - + Evaluate & Repair Mesh Evaluează și repară plasa @@ -2087,12 +2087,12 @@ Vizitați http://www.openscad.org/index.html pentru a-l instala. QObject - + Display Afișare - + Import-Export Import/Export @@ -2230,42 +2230,42 @@ Vizitați http://www.openscad.org/index.html pentru a-l instala. Introduceţi toleranţa pentru geometria plasei: - + The mesh '%1' is not a solid. Plasa %1 nu este un solid. - + The mesh '%1' is a solid. Plasa %1 este un solid. - + Solid Mesh Plasă solidă - + Boundings Margini - + Fill holes Umple goluri - + Fill holes with maximum number of edges: Umple goluri cu numarul maxim de margini: - + Scaling Scalarea - + Enter scaling factor: Introduce factorul de scalare: @@ -2275,12 +2275,12 @@ Vizitați http://www.openscad.org/index.html pentru a-l instala. [Puncte: %1, margini: %2, fațete: %3] - + Display components Afișează componente - + Display segments Afișare segmente @@ -2290,38 +2290,38 @@ Vizitați http://www.openscad.org/index.html pentru a-l instala. Culoarea afișajului - - + + Leave info mode Parasiti modul informare - + Index: %1 Indice: %1 - + Leave hole-filling mode Parasiti modul de umplere a gaurilor - + Leave removal mode Parasiti modul de stergere - + Delete selected faces Stergeti fetele selectate - + Clear selected faces Curatati fetele selectate - + Annotation Notatie diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ru.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ru.ts index 32d68dbfcf..d7da03bd6b 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_ru.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_ru.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Сеть - + Add triangle Добавить треугольник - - + + Add triangle manually to a mesh Добавить треугольник в полигональную сетку вручную @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh - Сеть + Полигональная сетка - + Boundings info... Информация о структуре... - - + + Shows the boundings of the selected mesh Показывает структуру выбранной полигональной сетки @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh - Сеть + Полигональная сетка - + Regular solid... Правильное геометрическое тело... - - + + Builds a regular solid Построение правильного твердого тела @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh - Сеть + Полигональная сетка - + Cross-sections... Поперечные сечения... - + Cross-sections Поперечные сечения @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh - Сеть + Полигональная сетка - + Decimation... Упрощение... - + Decimates a mesh Проредить полигональную сетку @@ -102,7 +102,7 @@ Mesh - Сеть + Полигональная сетка @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh - Сеть + Полигональная сетка - + Face info Информация о поверхности - - + + Information about face Информация о поверхности @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh - Сеть + Полигональная сетка - + Check solid mesh Проверить полигональную сетку на твердотельность - - + + Checks whether the mesh is a solid Проверяет, является ли полигональная сетка твердотельным объектом @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh - Сеть + Полигональная сетка - + Evaluate and repair mesh... Оценить и восстановить полигональную сетку... - - + + Opens a dialog to analyze and repair a mesh Открывает диалог для анализа и ремонта полигональной сетки @@ -172,7 +172,7 @@ Mesh - Сеть + Полигональная сетка @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh - Сеть + Полигональная сетка - + Close hole Закрыть отверстие - - + + Close holes interactively Закрыть отверстия интерактивно @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh - Сеть + Полигональная сетка - + Fill holes... Заполнить отверстия ... - - + + Fill holes of the mesh Заполнить дырки полигональной сетки @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh - Сеть + Полигональная сетка - + Flip normals Развернуть направление нормалей - - + + Flips the normals of the mesh Меняет направление нормалей полигональной сетки на противоположное @@ -248,7 +248,7 @@ Mesh - Сеть + Полигональная сетка @@ -267,7 +267,7 @@ Mesh - Сеть + Полигональная сетка @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh - Сеть + Полигональная сетка - + Harmonize normals Согласовать нормали - - + + Harmonizes the normals of the mesh Согласует нормали полигональной сетки @@ -304,7 +304,7 @@ Mesh - Сеть + Полигональная сетка @@ -323,7 +323,7 @@ Mesh - Сеть + Полигональная сетка @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh - Сеть + Полигональная сетка - + Merge Объединить - + Merges selected meshes into one Объединить выбранные полигональные сетки в одну @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh - Сеть + Полигональная сетка - + Cut mesh Обрезать полигональную сетку - - + + Cuts a mesh with a picked polygon Обрезать полигональную сетку выбранным многоугольником @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh - Сеть + Полигональная сетка - + Make segment Создать сегмент - - + + Creates a mesh segment Создает сегмент полигональной сетки @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh - Сеть + Полигональная сетка - + Split mesh Разделить полигональную сетку - - + + Splits a mesh into two meshes Разделяет полигональную сетку на две полигональные сетки @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh - Сеть + Полигональная сетка - + Trim mesh Подрезать полигональную сетку - - + + Trims a mesh with a picked polygon Подрезает полигональную сетку выбранным многоугольником @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh - Сеть + Полигональная сетка - + Refinement... Улучшение... - + Refine existing mesh Улучшить существующую сетку @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh - Сеть + Полигональная сетка - + Remove components by hand... Удалить компоненты вручную ... - - + + Mark a component to remove it from the mesh Пометить компонент для удаления из полигональной сетки @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh - Сеть + Полигональная сетка - + Remove components... Удалить компоненты... - - + + Remove topologic independent components from the mesh Удалить топологически-независимые компоненты из полигональной сетки @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh - Сеть + Полигональная сетка - + Scale... Масштаб... - + Scale selected meshes Масштабирование выбранных полигональных сеток @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh - Сеть + Полигональная сетка - + Create section from mesh and plane Создать секцию из полигональной сетки и плоскости - + Section from mesh and plane Секция из полигональной сетки и плоскости @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh - Сеть + Полигональная сетка - + Create mesh segments... Создать сегменты полигональной сетки... - - + + Create mesh segments Создать сегменты полигональной сетки @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh - Сеть + Полигональная сетка - + Create mesh segments from best-fit surfaces... Создать сегменты полигональной сетки из наилучшего соответствия поверхностям... - - + + Create mesh segments from best-fit surfaces Создать сегменты полигональной сетки из наилучшего соответствия поверхностям @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh - Сеть + Полигональная сетка - + Smooth... Сгладить ... - - + + Smooth the selected meshes Сгладить, выбранные полигональные сетки @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh - Сеть + Полигональная сетка - + Split by components Разделить по компонентам - + Split selected mesh into its components Разделить выбранную полигональную сетку на её компоненты @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh - Сеть + Полигональная сетка - + Trim mesh with a plane Подрезать полигональную сетку плоскостью - + Trims a mesh with a plane Подрезает полигональную сетку выбранной плоскостью @@ -618,7 +618,7 @@ Mesh - Сеть + Полигональная сетка @@ -631,7 +631,7 @@ Mesh - Сеть + Полигональная сетка @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Сеть - + Curvature info Данные о кривизне - - + + Information about curvature Информация о кривизне @@ -692,87 +692,87 @@ Определить кривизну вершин полигональной сетки - + Mesh Smoothing Сгладить полигональную сетку - + Harmonize mesh normals Согласовать нормали полигональной сетки - + Flip mesh normals Отразить нормали полигональной сетки - + Fill up holes Заполнение отверстий - + Mesh merge Слияние полигональных сеток - + Mesh split Разделить полигональную сетку - + Mesh scale Масштабировать полигональную сетку - + Mesh Decimating Упрощение сетки - + Harmonize normals Согласовать нормали - + Remove non-manifolds Удаление неоднообразных - + Fix indices Исправление индексов - + Remove degenerated faces Удаление поврежденных поверхностей - + Remove duplicated faces Удалить дублированные грани - + Remove duplicated points Удалить дублированные точки - + Fix self-intersections Исправление авто-пересечений - + Remove folds Удаление складок - + Repair mesh Ремонт сетки @@ -782,34 +782,34 @@ Удалить выделение - - + + Cut Обрезать - - + + Trim - Подгонка + Обрезка - + Split Разделить - + Segment Сегмент - + Delete Удалить - + Fill hole Заполнить отверстие @@ -838,17 +838,17 @@ - + Absolute number Абсолютный номер Tolerance - Точность + Допуск - + Absolute number (Maximum: %1) Абсолютный номер (Максимум: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Настройки... - - + + No selection Нет выбора + + + + + + + - - - - - - - No information Информация отсутствует - + Orientation Ориентация - + No flipped normals Нет перевернутых нормалей - + %1 flipped normals %1 перевернутых нормалей - + No non-manifolds Нет однообразий - + %1 non-manifolds %1 однообразий - - + + Non-manifolds Однообразная - + Cannot remove non-manifolds Не могу удалить однообразие - + Invalid face indices Индексы неверных граней - + Invalid point indices Индексы неверных точек - + Multiple point indices Индексы множественных точек - + Invalid neighbour indices Индексы неверных соседних элементов - + No invalid indices Нет ошибочных индексов - + Indices Индексы - + No degenerations Нет повреждений - + %1 degenerated faces %1 поврежденных граней - + Degenerations Повреждения - + No duplicated faces Нет повторяющихся граней - + %1 duplicated faces повторяющихся граней: %1 - + Duplicated faces Повторяющиеся грани - + No duplicated points Нет повторяющихся точек - - + + Duplicated points Повторяющиеся точки - + No self-intersections Нет самопересечений - + Self-intersections Самопересечения - + No folds on surface Нет складок на поверхности - + %1 folds on surface %1 складок на поверхности - + Folds Складки - - + + Mesh repair Восстановление полигональной сетки @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Создать %1 - + No active document Нет активного документа @@ -1581,7 +1581,7 @@ to a smoother appearance. Error - Ошибки + Ошибка @@ -1610,7 +1610,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Завершить @@ -1703,7 +1703,7 @@ to a smoother appearance. Path - Path + Траектория @@ -1821,7 +1821,7 @@ to a smoother appearance. Tolerance - Точность + Допуск @@ -1920,12 +1920,12 @@ to a smoother appearance. Base - Основные + База Normal - Обычные + Обычный (либо Нормаль) @@ -1987,13 +1987,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete Удалить - + Invert Инвертировать @@ -2001,38 +2001,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Количество точек: - + Number of facets: Количество граней: - + Minimum bound: Минимальная граница: - + Maximum bound: Максимальная граница: - + Mesh info box Окно информации о полигональной сетке - + Mesh info Информация о полигональной сетке - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2040,7 +2040,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Привязка %1: @@ -2077,7 +2077,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Оценить и восстановить полигональную сетку @@ -2085,12 +2085,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Отображение - + Import-Export Импорт/экспорт @@ -2228,42 +2228,42 @@ Please visit http://www.openscad.org/index.html to install it. Введите возможное отклонение создаваемой полигональной сетки для геометрии: - + The mesh '%1' is not a solid. Полигональная сетка '%1' не является твердым телом. - + The mesh '%1' is a solid. Полигональная сетка '%1' является твердым телом. - + Solid Mesh Полигональная сетка объемного тела - + Boundings Ограничения - + Fill holes Заполнить отверстия - + Fill holes with maximum number of edges: Заполнить отверстия максимальным числом ребер: - + Scaling Масштабирование - + Enter scaling factor: Введите коэффициент масштабирования: @@ -2273,12 +2273,12 @@ Please visit http://www.openscad.org/index.html to install it. [Точек: %1, рёбер: %2, граней: %3] - + Display components Показать компоненты - + Display segments Отобразить сегменты @@ -2288,38 +2288,38 @@ Please visit http://www.openscad.org/index.html to install it. Отображаемые цвета - - + + Leave info mode Выйти из информационного режима - + Index: %1 Индекс: %1 - + Leave hole-filling mode Выйти из режима заполнения отверстий - + Leave removal mode Выйти из режима удаления - + Delete selected faces Удалить выбранные грани - + Clear selected faces Снять выделение выбранных граней - + Annotation Заметка @@ -2344,7 +2344,7 @@ Please visit http://www.openscad.org/index.html to install it. Cutting - Обрезка + Резание diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_sl.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_sl.ts index 872da0ae6c..be1b6e2021 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_sl.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_sl.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Dodaj trikotnik - - + + Add triangle manually to a mesh Ročno dodaj v ploskovje trikotnik @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh - Mesh + Ploskovje - + Boundings info... Podatki o mejah … - - + + Shows the boundings of the selected mesh Prikaže meje izbranega ploskovja @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh - Mesh + Ploskovje - + Regular solid... Preprosto telo … - - + + Builds a regular solid Zgradi preprosto telo @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh - Mesh + Ploskovje - + Cross-sections... Prečni prerezi … - + Cross-sections Prečni prerezi @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh - Mesh + Ploskovje - + Decimation... Desetkanje ... - + Decimates a mesh Zdesetka ploskovje @@ -102,7 +102,7 @@ Mesh - Mesh + Ploskovje @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh - Mesh + Ploskovje - + Face info Podatki ploskve - - + + Information about face Podatki o ploskvi @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh - Mesh + Ploskovje - + Check solid mesh Preveri ploskovje telesa - - + + Checks whether the mesh is a solid Preveri, ali je ploskovje telo @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh - Mesh + Ploskovje - + Evaluate and repair mesh... Ovrednoti in popravi ploskovje... - - + + Opens a dialog to analyze and repair a mesh Odpre pogovorno okno za analizo in popravilo ploskovja @@ -172,7 +172,7 @@ Mesh - Mesh + Ploskovje @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh - Mesh + Ploskovje - + Close hole Zapri luknjo - - + + Close holes interactively Zapri luknjo sodejno @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh - Mesh + Ploskovje - + Fill holes... Zapolni luknje … - - + + Fill holes of the mesh Zapolni luknje ploskovja @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh - Mesh + Ploskovje - + Flip normals Obrni normale - - + + Flips the normals of the mesh Obrne normale ploskovja @@ -248,7 +248,7 @@ Mesh - Mesh + Ploskovje @@ -267,7 +267,7 @@ Mesh - Mesh + Ploskovje @@ -277,24 +277,24 @@ Tessellate shape - Teseliraj obliko + Poplošči obliko CmdMeshHarmonizeNormals - + Mesh - Mesh + Ploskovje - + Harmonize normals Uskladi normale - - + + Harmonizes the normals of the mesh Uskladi normale ploskovja @@ -304,7 +304,7 @@ Mesh - Mesh + Ploskovje @@ -323,7 +323,7 @@ Mesh - Mesh + Ploskovje @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh - Mesh + Ploskovje - + Merge Združi - + Merges selected meshes into one Združi izbrana ploskovja v eno @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh - Mesh + Ploskovje - + Cut mesh Reži ploskovje - - + + Cuts a mesh with a picked polygon Reže ploskovje z izbranim mnogokotnikom @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh - Mesh + Ploskovje - + Make segment Ustvari odsek - - + + Creates a mesh segment Ustvari mrežni odsek @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh - Mesh + Ploskovje - + Split mesh Razcepi ploskovje - - + + Splits a mesh into two meshes Razcepi ploskovje v dve @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh - Mesh + Ploskovje - + Trim mesh Prireži mrežo - - + + Trims a mesh with a picked polygon Prireže ploskovje z izbranim mnogokotnikom @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh - Mesh + Ploskovje - + Refinement... Dodelava ... - + Refine existing mesh Dodelaj obstoječe ploskovje @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh - Mesh + Ploskovje - + Remove components by hand... Ročno odstrani sestavine … - - + + Mark a component to remove it from the mesh Označite sestavino, ki jo želite odstraniti iz ploskovja @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh - Mesh + Ploskovje - + Remove components... Odstrani sestavine … - - + + Remove topologic independent components from the mesh Odstrani zvezno neodvisne sestavine iz ploskovja @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh - Mesh + Ploskovje - + Scale... Povečava... - + Scale selected meshes Spremeni velikost izbranega ploskovja @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh - Mesh + Ploskovje - + Create section from mesh and plane Ustvari prerez iz ploskovja in ravnine - + Section from mesh and plane Prerez iz ploskovja in ravnine @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh - Mesh + Ploskovje - + Create mesh segments... Ustvari odseke ploskovja … - - + + Create mesh segments Ustvari odseke ploskovja @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh - Mesh + Ploskovje - + Create mesh segments from best-fit surfaces... Ustvari dele ploskovja iz najbolje prilegajočih se površij... - - + + Create mesh segments from best-fit surfaces Ustvari dele ploskovja iz najbolje prilegajočih se površij @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh - Mesh + Ploskovje - + Smooth... Zgladi … - - + + Smooth the selected meshes Zgladi izbrana ploskovja @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh - Mesh + Ploskovje - + Split by components Razcepi na sestavine - + Split selected mesh into its components Razcepi izbrano ploskovje na sestavine @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh - Mesh + Ploskovje - + Trim mesh with a plane Prireži ploskovje z ravnino - + Trims a mesh with a plane Prireže ploskovje z ravnino @@ -618,7 +618,7 @@ Mesh - Mesh + Ploskovje @@ -631,7 +631,7 @@ Mesh - Mesh + Ploskovje @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Podatki ukrivljenosti - - + + Information about curvature Podatki o ukrivljenosti @@ -692,87 +692,87 @@ OgliščnaUkrivljenost ploskovja - + Mesh Smoothing Glajenje ploskovja - + Harmonize mesh normals Uskladi normale ploskovja - + Flip mesh normals Obrni normale ploskovja - + Fill up holes Zapolni luknje - + Mesh merge Združi ploskovje - + Mesh split Razcepi ploskovje - + Mesh scale Velikost ploskovja - + Mesh Decimating Desetkanje ploskovja - + Harmonize normals Uskladi normale - + Remove non-manifolds Odstrani nemnogoterosti - + Fix indices Popravi kazala - + Remove degenerated faces Odstrani izrojene ploskve - + Remove duplicated faces Odstrani podvojene ploskve - + Remove duplicated points Odstrani podvojene točke - + Fix self-intersections Popravi samosečnosti - + Remove folds Odstrani pregibe - + Repair mesh Popravi ploskovje @@ -782,34 +782,34 @@ Izbriši izbor - - + + Cut Izreži - - + + Trim Prireži - + Split - Razdeli + Razcepi - + Segment Odsek - + Delete Izbriši - + Fill hole Zapolni luknjo @@ -838,7 +838,7 @@ - + Absolute number Neodnosno število @@ -848,7 +848,7 @@ Dopustno odstopanje - + Absolute number (Maximum: %1) Neodnosno število (Največ: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Nastavitve... - - + + No selection Brez izbora + + + + + + + - - - - - - - No information Ni podatkov - + Orientation Usmerjenost - + No flipped normals Ni obrnjenih normal - + %1 flipped normals %1 obrnjenih normal - + No non-manifolds Ni nemnogoternosti - + %1 non-manifolds %1 nemnogoternosti - - + + Non-manifolds Nemnogoterosti - + Cannot remove non-manifolds Nemnogoternosti ni mogoče odstraniti - + Invalid face indices Neveljavna kazala ploskve - + Invalid point indices Neveljavna kazala točke - + Multiple point indices Večkratna kazala točke - + Invalid neighbour indices Neveljavna sosednja kazala - + No invalid indices Ni neveljavnih kazal - + Indices Kazala - + No degenerations Ni popačenj - + %1 degenerated faces %1 izrojenih ploskev - + Degenerations Popačenja - + No duplicated faces Ni podvojenih ploskev - + %1 duplicated faces %1 podvojenih ploskev - + Duplicated faces Podvojene ploskve - + No duplicated points Ni podvojenih točk - - + + Duplicated points Podvojene točke - + No self-intersections Ni samosečišč - + Self-intersections Samosečišča - + No folds on surface Ni pregibov na površju - + %1 folds on surface %1 pregibov na površju - + Folds Pregibi - - + + Mesh repair Popravilo ploskovja @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Ustvari %1 - + No active document Ni dejavnega dokumenta @@ -1313,7 +1313,7 @@ Export - Export + Izvoz @@ -1613,7 +1613,7 @@ s Phongovim senčenjem doseže gladkejši videz. MeshGui::MeshFillHole - + Finish Končaj @@ -1628,12 +1628,12 @@ s Phongovim senčenjem doseže gladkejši videz. Parameters - Parametri + Določilke  Selection - Izbira + Izbor @@ -1734,7 +1734,7 @@ s Phongovim senčenjem doseže gladkejši videz. Select - Izberite + Izberi @@ -1881,7 +1881,7 @@ s Phongovim senčenjem doseže gladkejši videz. Mesh segmentation - Razčlenitev ploskovja + Razčlenitev ploskovja  @@ -1928,7 +1928,7 @@ s Phongovim senčenjem doseže gladkejši videz. Normal - Običajno + Normalno @@ -1990,13 +1990,13 @@ s Phongovim senčenjem doseže gladkejši videz. MeshGui::TaskRemoveComponents - + Delete Izbriši - + Invert Obrni @@ -2004,38 +2004,38 @@ s Phongovim senčenjem doseže gladkejši videz. MeshInfoWatcher - + Number of points: Število točk: - + Number of facets: Število ploskvic: - + Minimum bound: Najmanjša razsežnost: - + Maximum bound: Največja razsežnost: - + Mesh info box Podatkovno polje ploskovja - + Mesh info Podatki ploskovja - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ s Phongovim senčenjem doseže gladkejši videz. Mesh_BoundingBox - + Boundings of %1: Meje %1: @@ -2080,7 +2080,7 @@ Za namestitev obiščite http://www.openscad.org/index.html. QDockWidget - + Evaluate & Repair Mesh Ovrednoti in popravi ploskovje @@ -2088,14 +2088,14 @@ Za namestitev obiščite http://www.openscad.org/index.html. QObject - + Display Prikaz - + Import-Export - Uvoz - Izvoz + Uvozi-Izvozi @@ -2231,42 +2231,42 @@ Za namestitev obiščite http://www.openscad.org/index.html. Vnesite dopustno odstopanju pri ploskovjenju geometrije: - + The mesh '%1' is not a solid. Ploskovje '%1' ni telo. - + The mesh '%1' is a solid. Ploskovje '%1' je telo. - + Solid Mesh Telesno ploskovje - + Boundings Meje - + Fill holes Zapolni luknje - + Fill holes with maximum number of edges: Zapolni luknje z največjim številom robov: - + Scaling Skaliranje - + Enter scaling factor: Vnesite skalirni faktor: @@ -2276,12 +2276,12 @@ Za namestitev obiščite http://www.openscad.org/index.html. [točk: %1, robov: %2, ploskev: %3] - + Display components Prikaži sestavine - + Display segments Prikaži odseke @@ -2291,38 +2291,38 @@ Za namestitev obiščite http://www.openscad.org/index.html. Barve prikaza - - + + Leave info mode Zapusti podatkovni način - + Index: %1 Kazalo: %1 - + Leave hole-filling mode Zapusti način zapolnjevanja lukenj - + Leave removal mode Zapusti odstranjevalni način - + Delete selected faces Izbriši izbrane ploskve - + Clear selected faces Počisti izbrane ploskve - + Annotation Opis @@ -2337,7 +2337,7 @@ Za namestitev obiščite http://www.openscad.org/index.html. Boolean - Logična vrednost + Logična operacija @@ -2347,7 +2347,7 @@ Za namestitev obiščite http://www.openscad.org/index.html. Cutting - Prerez + Rezkanje diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_sr-CS.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_sr-CS.ts index 32c42f5573..6760719af4 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_sr-CS.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_sr-CS.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Dodaj trougao - - + + Add triangle manually to a mesh Dodaj ručno trougao u mrežu @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Informacije o granicama... - - + + Shows the boundings of the selected mesh Pokazuje granice odabrane mreže @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Pravilno puno telo... - - + + Builds a regular solid Pravi pravilno puno telo @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Poprečni presek... - + Cross-sections Poprečni presek @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Uprošćavanje... - + Decimates a mesh Uprošćava mrežu @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Informacije o stranici - - + + Information about face Informacije o stranici @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Proveri mrežu punog tela - - + + Checks whether the mesh is a solid Proverava da li je mreža puno telo @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Proceni i popravi mrežu... - - + + Opens a dialog to analyze and repair a mesh Otvara dijalog da analiziranje i popravku mreže @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Zatvori rupu - - + + Close holes interactively Zatvori rupe interaktivno @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Popuni rupe... - - + + Fill holes of the mesh Popuni rupe mreže @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Preokreni normale - - + + Flips the normals of the mesh Preokreće normale mreže @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Uskladi normale - - + + Harmonizes the normals of the mesh Usklađuje normale mreže @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Objedini - + Merges selected meshes into one Objedini odabrane modele u jedan @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Iseci mrežu - - + + Cuts a mesh with a picked polygon Seče mrežu sa izabranim poligonom @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Napravi segment - - + + Creates a mesh segment Pravi segment mreže @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Podeli mrežu - - + + Splits a mesh into two meshes Deli mrežu na dve mreže @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Opseci mrežu - - + + Trims a mesh with a picked polygon Opseca mrežu sa odabranim mnogouglom @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Prečisti... - + Refine existing mesh Prečisti postojeću mrežu @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Ručno ukloni komponente... - - + + Mark a component to remove it from the mesh Označi komponentu radi uklanjanja iz mreže @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Ukloni komponente... - - + + Remove topologic independent components from the mesh Ukloni topološki nezavisne komponente iz mreže @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Razmera... - + Scale selected meshes Skaliraj odabrane mreže @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Napravi presek od mreže i ravni - + Section from mesh and plane Presek od mreže i ravni @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Napravi segmente mreže... - - + + Create mesh segments Napravi segmente mreže @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Napravi segmente mreže od stranica koje najbolje odgovaraju... - - + + Create mesh segments from best-fit surfaces Napravi segmente mreže od stranica koje najbolje odgovaraju @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Glatko... - - + + Smooth the selected meshes Zagladi izabrane mreže @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Podeli po komponentama - + Split selected mesh into its components Podeli izabranu mrežu na njene komponente @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Opseci mrežu pomoću ravni - + Trims a mesh with a plane Opseca mrežu pomoći ravni @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Informacije o zakrivlljenosti - - + + Information about curvature Informacije o zakrivljenosti @@ -692,87 +692,87 @@ Zakrivljenost temena mreže - + Mesh Smoothing Glačanje mreže - + Harmonize mesh normals Uskladi normale - + Flip mesh normals Okreni normale - + Fill up holes Popuni rupe - + Mesh merge Objedini mreže - + Mesh split Podeli mrežu - + Mesh scale Skaliraj mrežu - + Mesh Decimating Uprosti mrežu - + Harmonize normals Uskladi normale - + Remove non-manifolds Ukloni loše-mnogostrukosti - + Fix indices Popravi indekse - + Remove degenerated faces Ukloni degenerisane stranice - + Remove duplicated faces Ukloni duplirane stranice - + Remove duplicated points Ukloni duplirane tačke - + Fix self-intersections Popravi samo-ukrštanja - + Remove folds Ukloni nabore - + Repair mesh Popravi mrežu @@ -782,34 +782,34 @@ Obriši izabrano - - + + Cut Isecanje - - + + Trim Opseci - + Split Podeli - + Segment Segment - + Delete Obriši - + Fill hole Popuni rupu @@ -838,7 +838,7 @@ - + Absolute number Apsolutni broj @@ -848,7 +848,7 @@ Tolerancija - + Absolute number (Maximum: %1) Apsolutni broj (Maksimalno: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Podešavanja... - - + + No selection Ništa izabrano + + + + + + + - - - - - - - No information Nema informacija - + Orientation Orijentacija - + No flipped normals Nema preokrenutih normala - + %1 flipped normals %1 preokrenute normale - + No non-manifolds Nema loše-mnogostrukosti - + %1 non-manifolds %1 loša-mnogostrukost - - + + Non-manifolds Loša-mnogostrukost - + Cannot remove non-manifolds Ne mogu ukloniti loše-mnogostrukosti - + Invalid face indices Nevažeći indeksi površi - + Invalid point indices Nevažeći indeksi tačke - + Multiple point indices Višestruki indeksi tačaka - + Invalid neighbour indices Nevažeći susedni indeksi - + No invalid indices Nema nevažećih indeksa - + Indices Indeksi - + No degenerations Nema degeneracija - + %1 degenerated faces %1 degenerisane stranice - + Degenerations Degeneracije - + No duplicated faces Nema dupliranih stranica - + %1 duplicated faces %1 duplirane stranice - + Duplicated faces Duplirane stranice - + No duplicated points Nema dupliranih tačaka - - + + Duplicated points Duplirane tačke - + No self-intersections Nema samo-ukrštanja - + Self-intersections Samo-ukrštanje - + No folds on surface Nema nabora na površini - + %1 folds on surface %1 nabori na površini - + Folds Nabori - - + + Mesh repair Popravka mreže @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Napravi %1 - + No active document Nema aktivnog dokumenta @@ -1613,7 +1613,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Završi @@ -1990,13 +1990,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete Obriši - + Invert Invertuj @@ -2004,38 +2004,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Broj tačaka: - + Number of facets: Broj faseta: - + Minimum bound: Minimalne granice: - + Maximum bound: Maksimalne granice: - + Mesh info box Mesh info box - + Mesh info Informacije o mreži - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Granice %1: @@ -2080,7 +2080,7 @@ Poseti http://www.openscad.org/index.html da instaliraš. QDockWidget - + Evaluate & Repair Mesh Proceni & Popravi Mrežu @@ -2088,12 +2088,12 @@ Poseti http://www.openscad.org/index.html da instaliraš. QObject - + Display Prikaz - + Import-Export Uvoz/Izvoz @@ -2231,42 +2231,42 @@ Poseti http://www.openscad.org/index.html da instaliraš. Unesi toleranciju pravljenja mreže na osnovu geometrije: - + The mesh '%1' is not a solid. Mreža '%1' nije puno telo. - + The mesh '%1' is a solid. Mreža '%1' je puno telo. - + Solid Mesh Mreža punog tela - + Boundings Informacije o granicama - + Fill holes Popuni rupe - + Fill holes with maximum number of edges: Popuni rupe maksimalnim brojem ivica: - + Scaling Skaliranje - + Enter scaling factor: Unesi razmeru: @@ -2276,12 +2276,12 @@ Poseti http://www.openscad.org/index.html da instaliraš. [Tačke: %1, Ivice: %2, Stranice: %3] - + Display components Prikaži komponente - + Display segments Prikaži segmente @@ -2291,38 +2291,38 @@ Poseti http://www.openscad.org/index.html da instaliraš. Prikaži boje - - + + Leave info mode Napusti info režim - + Index: %1 Indeks: %1 - + Leave hole-filling mode Napusti režim popunjavanja rupa - + Leave removal mode Napusti režim uklanjanja - + Delete selected faces Izbriši odabrane stranice - + Clear selected faces Očisti izabrane stranice - + Annotation Napomena diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_sr.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_sr.ts index 3989b6c646..faab184661 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_sr.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_sr.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Додај троугао - - + + Add triangle manually to a mesh Додај ручно троугао у мрежу @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Информације о границама... - - + + Shows the boundings of the selected mesh Показује границе одабране мреже @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Правилно пуно тело... - - + + Builds a regular solid Прави правилно пуно тело @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Попречни пресек... - + Cross-sections Попречни пресек @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Упрошћавање... - + Decimates a mesh Упрошћава мрежу @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Информације о страници - - + + Information about face Информације о страници @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Провери мрежу пуног тела - - + + Checks whether the mesh is a solid Проверава да ли је мрежа пуно тело @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Процени и поправи мрежу... - - + + Opens a dialog to analyze and repair a mesh Отвара дијалог да анализирање и поправку мреже @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Затвори рупу - - + + Close holes interactively Затвори рупе интерактивно @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Попуни рупе... - - + + Fill holes of the mesh Попуни рупе мреже @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Преокрени нормале - - + + Flips the normals of the mesh Преокреће нормале мреже @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Усклади нормале - - + + Harmonizes the normals of the mesh Уcклађује нормале мреже @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Обједини - + Merges selected meshes into one Обједини одабране моделе у један @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Исеци мрежу - - + + Cuts a mesh with a picked polygon Сече мрежу са изабраним полигоном @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Направи сегмент - - + + Creates a mesh segment Прави cсегмент мреже @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Подели мрежу - - + + Splits a mesh into two meshes Дели мражу на две мреже @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Опсеци мрежу - - + + Trims a mesh with a picked polygon Опсеца мрежу са одабраним многоуглом @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Пречисти... - + Refine existing mesh Пречисти постојећу мрежу @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Ручно уклони компоненте... - - + + Mark a component to remove it from the mesh Означи компоненту ради уклањања из мреже @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Уклони компоненте... - - + + Remove topologic independent components from the mesh Уклони тополошки независне компоненте из мреже @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Размера... - + Scale selected meshes Скалирај одабране мреже @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Направи пресек од мреже и равни - + Section from mesh and plane Пресек од мреже и равни @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Направи сегмент мреже... - - + + Create mesh segments Направи сегмент мреже @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Направи сегменте мреже од страница које најбоље одговарају... - - + + Create mesh segments from best-fit surfaces Направи сегменте мреже од страница које најбоље одговарају @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Глатко... - - + + Smooth the selected meshes Заглади изабране мреже @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Подели по компонентама - + Split selected mesh into its components Подели изабрану мрежу на њене компоненте @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Опсеци мрежу помоћу равни - + Trims a mesh with a plane Опсеца мрежу помоћи равни @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Информације о закривлљености - - + + Information about curvature Информације о закривљености @@ -692,87 +692,87 @@ Закривљеност темена мреже - + Mesh Smoothing Глачање мреже - + Harmonize mesh normals Усклади нормале - + Flip mesh normals Окрени нормале - + Fill up holes Попуни рупе - + Mesh merge Обједини мреже - + Mesh split Подели мрежу - + Mesh scale Скалирај мрежу - + Mesh Decimating Упрости мрежу - + Harmonize normals Усклади нормале - + Remove non-manifolds Уклони лоше-многострукости - + Fix indices Поправи индексе - + Remove degenerated faces Уклони дегенерисане странице - + Remove duplicated faces Уклони дуплиране странице - + Remove duplicated points Уклони дуплиране тачке - + Fix self-intersections Поправи само-укрштања - + Remove folds Уклони наборе - + Repair mesh Поправи мрежу @@ -782,34 +782,34 @@ Обриши изабрано - - + + Cut Исецање - - + + Trim Опсеци - + Split Подели - + Segment Сегмент - + Delete Обриши - + Fill hole Попуни рупу @@ -838,7 +838,7 @@ - + Absolute number Апсолутни број @@ -848,7 +848,7 @@ Толеранција - + Absolute number (Maximum: %1) Апсолутни број (Максимално: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Подешавања... - - + + No selection Ништа изабрано + + + + + + + - - - - - - - No information Нема информација - + Orientation Оријентација - + No flipped normals Нема преокренутих нормала - + %1 flipped normals %1 преокренуте нормале - + No non-manifolds Нема лоше-многострукости - + %1 non-manifolds %1 лоша-многострукост - - + + Non-manifolds Лоша-многострукост - + Cannot remove non-manifolds Не могу уклонити лошу-многострукост - + Invalid face indices Неважећи индекси површи - + Invalid point indices Неважећи индекси тачке - + Multiple point indices Вишеструки индекси тачака - + Invalid neighbour indices Неважећи суседни индекси - + No invalid indices Нема неважећих индекса - + Indices Индекси - + No degenerations Нема дегенерација - + %1 degenerated faces %1 дегенерисане странице - + Degenerations Дегенерације - + No duplicated faces Нема дуплираних страница - + %1 duplicated faces %1 дуплиране странице - + Duplicated faces Дуплиране странице - + No duplicated points Нема дуплираних тачака - - + + Duplicated points Дуплиране тачке - + No self-intersections Нема само-укрштања - + Self-intersections Само-укрштање - + No folds on surface Нема набора на површини - + %1 folds on surface %1 набори на површини - + Folds Набори - - + + Mesh repair Поправка мреже @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Направи %1 - + No active document Нема активног документа @@ -1613,7 +1613,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Заврши @@ -1990,13 +1990,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete Обриши - + Invert Инвертуј @@ -2004,38 +2004,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Број тачака: - + Number of facets: Број фасета: - + Minimum bound: Минималне границе: - + Maximum bound: Максималне границе: - + Mesh info box Mesh info box - + Mesh info Информације о мрежи - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Границе %1: @@ -2080,7 +2080,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Процени & Поправи Мрежу @@ -2088,12 +2088,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Приказ - + Import-Export Увоз/извоз @@ -2231,42 +2231,42 @@ Please visit http://www.openscad.org/index.html to install it. Унеси толеранцију прављења мреже на основу геометрије: - + The mesh '%1' is not a solid. Мрежа '%1' није пуно тело. - + The mesh '%1' is a solid. Мрежа '%1' је пуно тело. - + Solid Mesh Мрежа пуног тела - + Boundings Информације о границама - + Fill holes Попуни рупе - + Fill holes with maximum number of edges: Попуни рупе максималним бројем ивица: - + Scaling Скалирање - + Enter scaling factor: Унеси размеру: @@ -2276,12 +2276,12 @@ Please visit http://www.openscad.org/index.html to install it. [Тачке: %1, Ивице: %2, Странице: %3] - + Display components Прикажи компоненте - + Display segments Прикажи сегменте @@ -2291,38 +2291,38 @@ Please visit http://www.openscad.org/index.html to install it. Прикажи боје - - + + Leave info mode Напусти инфо режим - + Index: %1 Индекс: %1 - + Leave hole-filling mode Напусти режим попуњавања рупа - + Leave removal mode Напусти режим уклањања - + Delete selected faces Избриши изабране странице - + Clear selected faces Очисти изабране странице - + Annotation Напомена diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_sv-SE.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_sv-SE.ts index 7f33394318..70b2a20266 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_sv-SE.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_sv-SE.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Nät - + Add triangle Addera triangel - - + + Add triangle manually to a mesh Addera triangel manuellt till ett nät @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Nät - + Boundings info... Begränsningsinfo... - - + + Shows the boundings of the selected mesh Visar begränsningarna på det valda nätet @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Nät - + Regular solid... Reguljär solid... - - + + Builds a regular solid Skapar en reguljär solid @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Nät - + Cross-sections... Tvärsnitt... - + Cross-sections Tvärsnitt @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Nät - + Decimation... Decimering... - + Decimates a mesh Decimerar ett nät @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Nät - + Face info Ytinformation - - + + Information about face Information om yta @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Nät - + Check solid mesh Kontrolera solidnät - - + + Checks whether the mesh is a solid Kontrollerar om nätet är en solid @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Nät - + Evaluate and repair mesh... Utvärdera och reparera nät... - - + + Opens a dialog to analyze and repair a mesh Öppnar en dialog för att analysera och reparera ett nät @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Nät - + Close hole Stäng hål - - + + Close holes interactively Stäng hål interaktivt @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Nät - + Fill holes... Fyll hål... - - + + Fill holes of the mesh Fyll nätets hål @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Nät - + Flip normals Invertera normaler - - + + Flips the normals of the mesh Invertera nätets normaler @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Nät - + Harmonize normals Anpassa normaler - - + + Harmonizes the normals of the mesh Anpassa nätets normaler @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Nät - + Merge Förena - + Merges selected meshes into one Förenar de markerade näten till ett nät @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Nät - + Cut mesh Klipp nät - - + + Cuts a mesh with a picked polygon Klipper ett nät med en vald polygon @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Nät - + Make segment Skapa segment - - + + Creates a mesh segment Skapar ett nätsegment @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Nät - + Split mesh Dela nät - - + + Splits a mesh into two meshes Delar ett nät till två nät @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Nät - + Trim mesh Trimma nät - - + + Trims a mesh with a picked polygon Trimmar ett nät med en vald polygon @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Nät - + Refinement... Raffinering... - + Refine existing mesh Förfina befintligt nät @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Nät - + Remove components by hand... Ta bort komponenter för hand... - - + + Mark a component to remove it from the mesh Markera en komponent för att ta bort den från nätet @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Nät - + Remove components... Ta bort komponenter... - - + + Remove topologic independent components from the mesh Ta bort topologiskt oberoende komponenter från nätet @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Nät - + Scale... Skala... - + Scale selected meshes Skala markerade nät @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Nät - + Create section from mesh and plane Skapa snitt från nät och plan - + Section from mesh and plane Snitt från nät och plan @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Nät - + Create mesh segments... Skapa nät segment... - - + + Create mesh segments Skapa nät segment @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Nät - + Create mesh segments from best-fit surfaces... Skapa nätsegment från bästa-passform-ytor... - - + + Create mesh segments from best-fit surfaces Skapa nätsegment från bästa-passform-ytor @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Nät - + Smooth... Jämna ut... - - + + Smooth the selected meshes Jämna ut de valda näten @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Nät - + Split by components Split by components - + Split selected mesh into its components Dela upp markerat nät i dess komponenter @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Nät - + Trim mesh with a plane Trimma nät med ett plan - + Trims a mesh with a plane Trimmar ett nät med ett plan @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Nät - + Curvature info Krökningsinfo - - + + Information about curvature Information om krökning @@ -692,87 +692,87 @@ Mesh VertexCurvature - + Mesh Smoothing Nätutjämning - + Harmonize mesh normals Harmonisera närnormaler - + Flip mesh normals Vänd nät normaler - + Fill up holes Fyll hål - + Mesh merge Slå samman nät - + Mesh split Dela nät - + Mesh scale Skala nät - + Mesh Decimating Mesh Decimating - + Harmonize normals Anpassa normaler - + Remove non-manifolds Remove non-manifolds - + Fix indices Fix indices - + Remove degenerated faces Ta bort degenererade ytor - + Remove duplicated faces Ta bort duplicerade ytor - + Remove duplicated points Ta bort duplicerade punkter - + Fix self-intersections Fix self-intersections - + Remove folds Ta bort vik - + Repair mesh Reparera nät @@ -782,34 +782,34 @@ Ta bort val - - + + Cut Klipp - - + + Trim Trimma - + Split Dela - + Segment Segment - + Delete Radera - + Fill hole Fyll hål @@ -838,7 +838,7 @@ - + Absolute number Absolut tal @@ -848,7 +848,7 @@ Tolerans - + Absolute number (Maximum: %1) Absolute number (Maximum: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Inställningar... - - + + No selection Inget val + + + + + + + - - - - - - - No information Ingen Information - + Orientation Orientering - + No flipped normals Inga inverterade normaler - + %1 flipped normals %1 inverterade normaler - + No non-manifolds Inga icke-mångfalder - + %1 non-manifolds %1 icke-mångfalder - - + + Non-manifolds Icke-mångfalder - + Cannot remove non-manifolds Kan inte ta bort icke-mångfalder - + Invalid face indices Ogiltiga ytindex - + Invalid point indices Ogiltiga punktindex - + Multiple point indices Multipla punktindex - + Invalid neighbour indices Ogiltiga grannindex - + No invalid indices Ingen ogiltig index - + Indices Index - + No degenerations Inga degenerationer - + %1 degenerated faces %1 degenererade ytor - + Degenerations Degenerationer - + No duplicated faces Inga duplicerade ytor - + %1 duplicated faces %1 duplicerade ytor - + Duplicated faces Duplicerade ytor - + No duplicated points Inga duplicerade punkter - - + + Duplicated points Duplicerade punkter - + No self-intersections Inga självskärningar - + Self-intersections Självskärningar - + No folds on surface Inga veck på ytan - + %1 folds on surface %1 veck på ytan - + Folds Veck - - + + Mesh repair Nätreparation @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Skapa %1 - + No active document Inget aktivt dokument @@ -1613,7 +1613,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Gör klart @@ -1990,13 +1990,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete Radera - + Invert Invertera @@ -2004,38 +2004,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Antal punkter: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Mesh info - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Begränsningar för %1: @@ -2080,7 +2080,7 @@ Besök http://www.openscad.org/index.html för att installera det. QDockWidget - + Evaluate & Repair Mesh Utvärdera & reparera Nät @@ -2088,12 +2088,12 @@ Besök http://www.openscad.org/index.html för att installera det. QObject - + Display Fönster - + Import-Export Importera/Exportera @@ -2153,7 +2153,7 @@ Besök http://www.openscad.org/index.html för att installera det. All Files - Alla Filer + Alla filer @@ -2231,42 +2231,42 @@ Besök http://www.openscad.org/index.html för att installera det. Mata in tolerans för nätning av geometri: - + The mesh '%1' is not a solid. Nätet '%1' är ingen solid. - + The mesh '%1' is a solid. Nätet '%1' är en solid. - + Solid Mesh Solid nät - + Boundings Gränser - + Fill holes Fyll hål - + Fill holes with maximum number of edges: Fyll hål med maximalt antal kanter: - + Scaling Skalning - + Enter scaling factor: Ange skalfaktor: @@ -2276,12 +2276,12 @@ Besök http://www.openscad.org/index.html för att installera det. [Punkter: %1, Kanter: %2, Ytor: %3] - + Display components Visa komponenter - + Display segments Visa segment @@ -2291,38 +2291,38 @@ Besök http://www.openscad.org/index.html för att installera det. Visa färger - - + + Leave info mode Lämna info läge - + Index: %1 Index: %1 - + Leave hole-filling mode Lämna hålfyllningsläge - + Leave removal mode Lämna borttagningsläge - + Delete selected faces Ta bort markerade ytor - + Clear selected faces Rensa valda ytor - + Annotation Annotering diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.ts index 975cf10c11..b4efe581c1 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Üçgen Ekle - - + + Add triangle manually to a mesh Bir kafese elle Üçgen Ekle Bir kafese manuel üçgen ekle @@ -24,19 +24,19 @@ Bir kafese manuel üçgen ekle CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Sınır bilgileri.. Sınırlamala Bilgisi... - - + + Shows the boundings of the selected mesh Seçilen kafesin sınırlarını gösterir @@ -44,18 +44,18 @@ Sınırlamala Bilgisi... CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Düzenli katı... - - + + Builds a regular solid Düzenli bir katı oluştur @@ -63,18 +63,18 @@ Sınırlamala Bilgisi... CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Kesitler... - + Cross-sections Kesit @@ -82,19 +82,19 @@ Sınırlamala Bilgisi... CmdMeshDecimating - + Mesh Mesh - + Decimation... Seyreltme... - + Decimates a mesh Bir ağı seyreltir @@ -115,18 +115,18 @@ Sınırlamala Bilgisi... CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Yüz bilgisi - - + + Information about face Yüz hakkında bilgi @@ -134,18 +134,18 @@ Sınırlamala Bilgisi... CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Katı kafesi kontrol edin - - + + Checks whether the mesh is a solid Örgünün katı olup olmadığını kontrol eder @@ -153,18 +153,18 @@ Sınırlamala Bilgisi... CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Değerlendir ve kafesi onar... - - + + Opens a dialog to analyze and repair a mesh Çözümlemek ve bir kafes onarmak için bir iletişim kutusu açar @@ -191,18 +191,18 @@ Sınırlamala Bilgisi... CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Deliği kapat - - + + Close holes interactively Etkileşimli olarak delikleri doldur @@ -210,18 +210,18 @@ Sınırlamala Bilgisi... CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Delikleri doldur... - - + + Fill holes of the mesh Ağdaki delikleri doldur @@ -229,18 +229,18 @@ Sınırlamala Bilgisi... CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Normale Çevir - - + + Flips the normals of the mesh Kafes Olarak Normale Çevir @@ -285,18 +285,18 @@ Sınırlamala Bilgisi... CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Normları uyumlu hale getirin - - + + Harmonizes the normals of the mesh Kafes Normlarına uyumlu hale getirin @@ -336,17 +336,17 @@ Sınırlamala Bilgisi... CmdMeshMerge - + Mesh Mesh - + Merge Birleştir - + Merges selected meshes into one Seçilen eklemeleri bir kafeste topla @@ -354,18 +354,18 @@ Sınırlamala Bilgisi... CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Kafesi kes - - + + Cuts a mesh with a picked polygon Kafesi seçilen bir çokgen ile kes @@ -373,18 +373,18 @@ Sınırlamala Bilgisi... CmdMeshPolySegm - + Mesh Mesh - + Make segment Parça oluştur - - + + Creates a mesh segment Kafes parçası oluştur @@ -392,18 +392,18 @@ Sınırlamala Bilgisi... CmdMeshPolySplit - + Mesh Mesh - + Split mesh Kafesi ayır - - + + Splits a mesh into two meshes Kafesi ikiye ayır @@ -411,18 +411,18 @@ Sınırlamala Bilgisi... CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Kafesi kırp - - + + Trims a mesh with a picked polygon Alınan çokgenli bir örgü parçala @@ -430,18 +430,18 @@ Sınırlamala Bilgisi... CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... İnceltme... - + Refine existing mesh Mevcut ağ yapısını incelt @@ -449,18 +449,18 @@ Sınırlamala Bilgisi... CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Parçaları elle çıkarın... - - + + Mark a component to remove it from the mesh Örgü parçasını çıkarmak için bir bileşene işaretlemm @@ -468,18 +468,18 @@ Sınırlamala Bilgisi... CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Bileşeni kaldır... - - + + Remove topologic independent components from the mesh Kafesten bağımsız bileşenleri çıkarın @@ -487,17 +487,17 @@ Sınırlamala Bilgisi... CmdMeshScale - + Mesh Mesh - + Scale... Ölçeklendir... - + Scale selected meshes Seçilen kafesleri ölçeklendir @@ -505,18 +505,18 @@ Sınırlamala Bilgisi... CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Örgü ve düzlemden kesit oluştur - + Section from mesh and plane Örgü ve düzlemden kesit @@ -524,18 +524,18 @@ Sınırlamala Bilgisi... CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Kafes bölümleri oluştur... - - + + Create mesh segments Kafes bölümleri oluştur @@ -543,18 +543,18 @@ Sınırlamala Bilgisi... CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... En uygun yüzeylerden kafes kesimleri oluşturun... - - + + Create mesh segments from best-fit surfaces En uygun yüzeylerden kafes kesimleri oluşturun @@ -562,18 +562,18 @@ Sınırlamala Bilgisi... CmdMeshSmoothing - + Mesh Mesh - + Smooth... Pürüzsüz... - - + + Smooth the selected meshes Seçili örgüler pürüzsüz @@ -581,17 +581,17 @@ Sınırlamala Bilgisi... CmdMeshSplitComponents - + Mesh Mesh - + Split by components Bileşenlere göre ayır - + Split selected mesh into its components Seçilen mesh'i bileşenlerine ayır @@ -599,18 +599,18 @@ Sınırlamala Bilgisi... CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Bir düzlem ile örgü bölme - + Trims a mesh with a plane Bir düzlemle örgü kesme @@ -650,18 +650,18 @@ Sınırlamala Bilgisi... CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Eğrilik bilgisi - - + + Information about curvature Eğrilik hakkında bilgi @@ -694,87 +694,87 @@ Sınırlamala Bilgisi... Mesh NoktaEğriliği - + Mesh Smoothing Mesh Yumuşat - + Harmonize mesh normals Mesh normallerini uyumlu hale getirin - + Flip mesh normals Mesh normallerini ters çevir - + Fill up holes Delikleri doldurun - + Mesh merge Mesh birleşimi - + Mesh split Mesh ayrımı - + Mesh scale Mesh ölçekle - + Mesh Decimating Mesh Yok Et - + Harmonize normals Normları uyumlu hale getirin - + Remove non-manifolds Manifold olmayanları kaldır - + Fix indices Endeksleri düzeltin - + Remove degenerated faces Bozulmuş yüzeyleri kaldırın - + Remove duplicated faces Yinelenen yüzeyleri kaldır - + Remove duplicated points Yinelenen noktaları kaldır - + Fix self-intersections Kendiliğinden kesişmeleri düzelt - + Remove folds Kıvrımları kaldır - + Repair mesh Mesh onarımı @@ -784,34 +784,34 @@ Sınırlamala Bilgisi... Seçimi sil - - + + Cut Kes - - + + Trim Kırp - + Split Ayır - + Segment Bölüm - + Delete Sil - + Fill hole Deliği doldur @@ -840,7 +840,7 @@ Sınırlamala Bilgisi... - + Absolute number Tam sayı @@ -850,7 +850,7 @@ Sınırlamala Bilgisi... Tolerans - + Absolute number (Maximum: %1) Tam sayı (En fazla:: %1) @@ -982,166 +982,166 @@ Sınırlamala Bilgisi... MeshGui::DlgEvaluateMeshImp - + Settings... Ayarlar... - - + + No selection Seçim yok + + + + + + + - - - - - - - No information Bilgi yok - + Orientation Yönlendirme - + No flipped normals Çarpıtılmış standartlar yok - + %1 flipped normals %1 normaller ters çevrildi - + No non-manifolds Manifoldlar yok - + %1 non-manifolds %1 manifoldlar yok - - + + Non-manifolds Çoğaltılamayan Manifoldlar - + Cannot remove non-manifolds Kaldırılamayan Manifoldlar - + Invalid face indices Geçersiz yüz endeksleri - + Invalid point indices Geçersiz nokta endeksleri - + Multiple point indices Çoklu nokta endeksleri - + Invalid neighbour indices Geçersiz komşu dizinleri - + No invalid indices Geçersiz dizin yok - + Indices Endeksler - + No degenerations Dejenerasyon yok - + %1 degenerated faces %1 bozulmuş yüzeyler - + Degenerations Dejenerasyonlar - + No duplicated faces Yinelenen yüz yok - + %1 duplicated faces %1 Çoğaltılan Yüzeyler - + Duplicated faces Yinelenen yüzler - + No duplicated points Yinelenen nokta yok - - + + Duplicated points Yinelenen Noktalar - + No self-intersections Kendiliğinden kesişme yok - + Self-intersections Kendine Doğru kesişim noktaları - + No folds on surface Yüzeyde kıvrım yok - + %1 folds on surface Yüzeyde %1 kıvrım var - + Folds Kıvrımlar - - + + Mesh repair Ağı onar @@ -1293,14 +1293,14 @@ Sınırlamala Bilgisi... MeshGui::DlgRegularSolidImp - - - + + + Create %1 %1 Oluşturmak - + No active document Etkin belge yok @@ -1609,7 +1609,7 @@ Yüz açısı < kıvrım açısı ise, pürüzsüz gölgeleme kullanılır MeshGui::MeshFillHole - + Finish Bitir @@ -1986,13 +1986,13 @@ Yüz açısı < kıvrım açısı ise, pürüzsüz gölgeleme kullanılırMeshGui::TaskRemoveComponents - + Delete Sil - + Invert Evir @@ -2000,38 +2000,38 @@ Yüz açısı < kıvrım açısı ise, pürüzsüz gölgeleme kullanılır MeshInfoWatcher - + Number of points: Noktaların sayısı: - + Number of facets: Yön sayısı: - + Minimum bound: En küçük sınır: - + Maximum bound: En büyük sınır: - + Mesh info box Mesh bilgi kutusu - + Mesh info Mesh bilgisi - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2039,7 +2039,7 @@ Yüz açısı < kıvrım açısı ise, pürüzsüz gölgeleme kullanılır Mesh_BoundingBox - + Boundings of %1: %1'in limiti: @@ -2076,7 +2076,7 @@ Yüklemek için lütfen http://www.openscad.org/index.html adresini ziyaret edin QDockWidget - + Evaluate & Repair Mesh Ağı Değerlendir ve Onar @@ -2084,12 +2084,12 @@ Yüklemek için lütfen http://www.openscad.org/index.html adresini ziyaret edin QObject - + Display Ekran - + Import-Export İçe-Dışa Aktar @@ -2227,42 +2227,42 @@ Yüklemek için lütfen http://www.openscad.org/index.html adresini ziyaret edin Örgü geometrisi için toleransı girin: - + The mesh '%1' is not a solid. Örgü '%1' sağlam değil. - + The mesh '%1' is a solid. Örüü '%1' sağlam bir yapıdadır. - + Solid Mesh Katı örgü - + Boundings Sınırlayıcılar - + Fill holes Doldurma delikleri - + Fill holes with maximum number of edges: Delikleri maksimum sayıda kenarla doldurun: - + Scaling Ölçekleme - + Enter scaling factor: Ölçeklendirme faktörünü girin: @@ -2272,12 +2272,12 @@ Yüklemek için lütfen http://www.openscad.org/index.html adresini ziyaret edin [Noktalar: %1, Kenarlar: %2, Yüzler: %3] - + Display components Ekran bileşenleri - + Display segments Parçaları görüntüle @@ -2287,38 +2287,38 @@ Yüklemek için lütfen http://www.openscad.org/index.html adresini ziyaret edin Ekran renkleri - - + + Leave info mode Bilgi modundan çık - + Index: %1 Dizin: %1 - + Leave hole-filling mode Delik dolumu modundan çık - + Leave removal mode Yaprak kaldırma modu - + Delete selected faces Seçilen yüzleri sil - + Clear selected faces Seçili yüzleri temizle - + Annotation Not diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_uk.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_uk.ts index 8212f0948c..45ea13b6ee 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_uk.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_uk.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Сітка(Меш) - + Add triangle Додати трикутник - - + + Add triangle manually to a mesh Вручну додати трикутник до сітки @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Сітка(Меш) - + Boundings info... Інформація про обмеження... - - + + Shows the boundings of the selected mesh Показує структуру вибраної мережі @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Сітка(Меш) - + Regular solid... Правильне суцільне тіло... - - + + Builds a regular solid Створює правильне суцільне тіло @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Сітка(Меш) - + Cross-sections... Поперечні перерізи... - + Cross-sections Створює поперечні перерізи @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Сітка(Меш) - + Decimation... Децимація... - + Decimates a mesh Проріджує сітку @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Сітка(Меш) - + Face info Інформація про грань - - + + Information about face Інформація про грань @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Сітка(Меш) - + Check solid mesh Перевірити суцільність сітки - - + + Checks whether the mesh is a solid Перевірити чи сітка суцільна @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Сітка(Меш) - + Evaluate and repair mesh... Оцінити і відновити полигональную сітку... - - + + Opens a dialog to analyze and repair a mesh Відкриває діалог для аналізу та ремонту сітки @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Сітка(Меш) - + Close hole Закрити отвір - - + + Close holes interactively Закрити отвори в діалоговому режимі @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Сітка(Меш) - + Fill holes... Заповнити отвори... - - + + Fill holes of the mesh Заповнити отвори сітки @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Сітка(Меш) - + Flip normals Змінити напрямок нормалей на протилежний - - + + Flips the normals of the mesh Змінити напрямок нормалей сітки на протилежний @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Сітка(Меш) - + Harmonize normals Узгодити нормалі - - + + Harmonizes the normals of the mesh Узгодити нормалі сітки @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Сітка(Меш) - + Merge Об'єднання - + Merges selected meshes into one Об'єднати вибрані полігональні сітки в одну @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Сітка(Меш) - + Cut mesh Вирізати сітку - - + + Cuts a mesh with a picked polygon Вирізати сітку з обраного багатокутника @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Сітка(Меш) - + Make segment Зробити сегмент - - + + Creates a mesh segment Створити сегмент сітки @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Сітка(Меш) - + Split mesh Розбити сітку - - + + Splits a mesh into two meshes Розділити сітку на дві сітки @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Сітка(Меш) - + Trim mesh Обрізати сітку - - + + Trims a mesh with a picked polygon Обрізати сітку обраним багатокутником @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Сітка(Меш) - + Refinement... Refinement... - + Refine existing mesh Refine existing mesh @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Сітка(Меш) - + Remove components by hand... Видалити компоненти вручну... - - + + Mark a component to remove it from the mesh Позначити компонент для видалення його із сітки @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Сітка(Меш) - + Remove components... Видалити компоненти... - - + + Remove topologic independent components from the mesh Видалити топологічно-незалежні компоненти з сітки @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Сітка(Меш) - + Scale... Масштаб... - + Scale selected meshes Масштабування вибраних полігональних сіток @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Сітка(Меш) - + Create section from mesh and plane Створити секцію з полігональної сітки і площини - + Section from mesh and plane Секція з полігональної сітки і площини @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Сітка(Меш) - + Create mesh segments... Створити сегменти сітки... - - + + Create mesh segments Створити сегменти сітки @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Сітка(Меш) - + Create mesh segments from best-fit surfaces... Створити сегменти полігональної сітка з найкращої відповідності поверхонь... - - + + Create mesh segments from best-fit surfaces Створити сегменти полігональної сітка з найкращої відповідності поверхонь @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Сітка(Меш) - + Smooth... Згладжувати... - - + + Smooth the selected meshes Згладжувати вибрані сітки @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Сітка(Меш) - + Split by components Розділити на компоненти - + Split selected mesh into its components Розділяє обрану сітку на компоненти @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Сітка(Меш) - + Trim mesh with a plane Обрізати сітки площиною - + Trims a mesh with a plane Обрізати сітку площиною @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Сітка(Меш) - + Curvature info Інформація викривлення - - + + Information about curvature Інформація про викривлення @@ -692,87 +692,87 @@ Mesh VertexCurvature - + Mesh Smoothing Згладжування сітки - + Harmonize mesh normals Гармонізувати нормалі сітки - + Flip mesh normals Віддзеркалити нормалі сітки - + Fill up holes Заповнити отвори - + Mesh merge Об'єднати сітку - + Mesh split Розділити сітку - + Mesh scale Масштабувати сітку - + Mesh Decimating Децимація сітки - + Harmonize normals Узгодити нормалі - + Remove non-manifolds Вилучити одноманітності - + Fix indices Виправити індекси - + Remove degenerated faces Вилучити пошкоджені поверхні - + Remove duplicated faces Вилучити дубльовані поверхні - + Remove duplicated points Вилучити дубльовані точки - + Fix self-intersections Виправити самоперетини - + Remove folds Вилучити складки - + Repair mesh Ремонт сітки @@ -782,34 +782,34 @@ Видалити обране - - + + Cut Вирізати - - + + Trim Обрізати - + Split Розділити - + Segment Відрізок - + Delete Видалити - + Fill hole Заповнити отвір @@ -838,7 +838,7 @@ - + Absolute number Абсолютне число @@ -848,7 +848,7 @@ Точність - + Absolute number (Maximum: %1) Абсолютне число (максимум: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Налаштування... - - + + No selection Нічого не вибрано + + + + + + + - - - - - - - No information Інформація відсутня - + Orientation Орієнтація - + No flipped normals Перевернутих нормалей немає - + %1 flipped normals %1 перевернути нормалі - + No non-manifolds Відсутня одноманітність - + %1 non-manifolds %1 одноманітний - - + + Non-manifolds Небагатовидний - + Cannot remove non-manifolds Неможливо видалити одноманітності - + Invalid face indices Хибний індекс переднього плану - + Invalid point indices Хибний індекс точки - + Multiple point indices Індекси множинних точок - + Invalid neighbour indices Хибні сусідні індекси - + No invalid indices Невірні індекси відсутні - + Indices Індекси - + No degenerations Погіршені грані відсутні - + %1 degenerated faces %1 погіршених граней - + Degenerations Погіршення - + No duplicated faces Дубльовані грані відсутні - + %1 duplicated faces %1 дубльованих граней - + Duplicated faces Дубльовані грані - + No duplicated points Дубльовані точки відсутні - - + + Duplicated points Дубльовані точки - + No self-intersections Самоперетин відсутній - + Self-intersections Самоперетинання - + No folds on surface Згинів на поверхні немає - + %1 folds on surface %1 згинів на поверхні - + Folds Складки - - + + Mesh repair Ремонт сітки @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Створити %1 - + No active document Немає активного документу @@ -1612,7 +1612,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish Завершити @@ -1989,13 +1989,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete Видалити - + Invert Інвертувати @@ -2003,38 +2003,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: Кількість точок: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Інформація про сітку - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2042,7 +2042,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Прив'язка %1: @@ -2078,7 +2078,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Оцінити та відновити сітку @@ -2086,12 +2086,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Показ - + Import-Export Імпорт-експорт @@ -2229,42 +2229,42 @@ Please visit http://www.openscad.org/index.html to install it. Введіть відхилення для геометрії сітки: - + The mesh '%1' is not a solid. Сітка '%1' не суцільна. - + The mesh '%1' is a solid. Сітка '%1' є суцільною. - + Solid Mesh Суцільна сітка - + Boundings Прив'язки - + Fill holes Заповнити отвори - + Fill holes with maximum number of edges: Заповнити отвори з максимальною кількістю ребер: - + Scaling Масштабування - + Enter scaling factor: Введіть коефіцієнт масштабування: @@ -2274,12 +2274,12 @@ Please visit http://www.openscad.org/index.html to install it. [Точок: %1, Ребер: %2, Граней: %3] - + Display components Відобразити компоненти - + Display segments Показати відрізки @@ -2289,38 +2289,38 @@ Please visit http://www.openscad.org/index.html to install it. Display colors - - + + Leave info mode Вийти з інформаційного режиму - + Index: %1 Індекс: %1 - + Leave hole-filling mode Вийти з режиму заповнення отворів - + Leave removal mode Вийти з режиму видалення - + Delete selected faces Знищити обрані грані - + Clear selected faces Очистити обрані грані - + Annotation Анотація diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_val-ES.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_val-ES.ts index 2004466cd6..61c7fe4518 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_val-ES.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_val-ES.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle Afig un triangle - - + + Add triangle manually to a mesh Afig un triangle manualment a malla @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... Informació de límits... - - + + Shows the boundings of the selected mesh Mostra els límits de la malla seleccionada @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... Sòlid regular... - - + + Builds a regular solid Construeix un sòlid regular @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... Seccions... - + Cross-sections Seccions @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... Decimation... - + Decimates a mesh Decimates a mesh @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info Informació de la cara - - + + Information about face Informació sobre la cara @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh Comprova el sòlid malla - - + + Checks whether the mesh is a solid Comprova si la malla és un sòlid @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... Avalua i repara la malla... - - + + Opens a dialog to analyze and repair a mesh Obri un diàleg per a analitzar i reparar una malla @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole Tanca el forat - - + + Close holes interactively Tanca forats interactivament @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... Ompli els forats... - - + + Fill holes of the mesh Ompli els forats de la malla @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals Inverteix les normals - - + + Flips the normals of the mesh Inverteix les normals de la malla @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals Harmonitza les normals - - + + Harmonizes the normals of the mesh Harmonitza les normals de la malla @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge Fusiona - + Merges selected meshes into one Fusiona les malles seleccionades en una @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh Retalla la malla - - + + Cuts a mesh with a picked polygon Retalla una malla amb un polígon seleccionat @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment Fes un segment - - + + Creates a mesh segment Crea un segment de malla @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh Divideix la malla - - + + Splits a mesh into two meshes Divideix una malla en dues malles @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh Retalla la malla - - + + Trims a mesh with a picked polygon Retalla una malla amb un polígon seleccionat @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... Millora... - + Refine existing mesh Millora la malla existent @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... Elimina components manualment... - - + + Mark a component to remove it from the mesh Marca un component per a eliminar-lo de la malla @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... Elimina components... - - + + Remove topologic independent components from the mesh Suprimeix els components topològics independents de la malla @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... Redimensiona... - + Scale selected meshes Redimensiona les malles seleccionades @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane Crea una secció a partir d'una malla i un pla - + Section from mesh and plane Secció a partir d'una malla i un pla @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... Crea segments de malla... - - + + Create mesh segments Crea segments de malla @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... Crea segments de malla a partir de les superfícies que s'ajusten millor... - - + + Create mesh segments from best-fit surfaces Crea segments de malla a partir de les superfícies que s'ajusten millor @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... Suavitza... - - + + Smooth the selected meshes Suavitza les malles seleccionades @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components Split by components - + Split selected mesh into its components Split selected mesh into its components @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane Retalla la malla amb un pla - + Trims a mesh with a plane Retalla una malla amb un pla @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info Info de la curvatura - - + + Information about curvature Informació de la curvatura @@ -692,87 +692,87 @@ Mesh VertexCurvature - + Mesh Smoothing Mesh Smoothing - + Harmonize mesh normals Harmonize mesh normals - + Flip mesh normals Flip mesh normals - + Fill up holes Fill up holes - + Mesh merge Mesh merge - + Mesh split Mesh split - + Mesh scale Mesh scale - + Mesh Decimating Mesh Decimating - + Harmonize normals Harmonitza les normals - + Remove non-manifolds Remove non-manifolds - + Fix indices Fix indices - + Remove degenerated faces Remove degenerated faces - + Remove duplicated faces Remove duplicated faces - + Remove duplicated points Remove duplicated points - + Fix self-intersections Fix self-intersections - + Remove folds Remove folds - + Repair mesh Repair mesh @@ -782,34 +782,34 @@ Delete selection - - + + Cut Retalla - - + + Trim Retalla - + Split Divideix - + Segment Segment - + Delete Elimina - + Fill hole Fill hole @@ -838,7 +838,7 @@ - + Absolute number Absolute number @@ -848,7 +848,7 @@ Tolerància - + Absolute number (Maximum: %1) Absolute number (Maximum: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... Paràmetres... - - + + No selection No hi ha cap selecció. + + + + + + + - - - - - - - No information Sense informació - + Orientation Orientació - + No flipped normals No hi ha cap normal invertida. - + %1 flipped normals %1 normals invertides - + No non-manifolds No hi ha cap no-multiplicitat. - + %1 non-manifolds %1 no-multiplicitat - - + + Non-manifolds No-multiplicitat - + Cannot remove non-manifolds No es pot suprimir la no-multiplicitat. - + Invalid face indices Els índexs de cara no són vàlids. - + Invalid point indices Els índexs de punt no són vàlids. - + Multiple point indices Índexs de punt múltiples - + Invalid neighbour indices Els índexs veïns no són vàlids. - + No invalid indices No hi ha cap índex invàlid. - + Indices Índexs - + No degenerations No hi ha cap degeneració. - + %1 degenerated faces %1 cares degenerades - + Degenerations Degeneracions - + No duplicated faces No hi ha cap cara duplicada. - + %1 duplicated faces %1 cares duplicades - + Duplicated faces Cares duplicades - + No duplicated points No hi ha cap punt duplicat. - - + + Duplicated points Punts duplicats - + No self-intersections No hi ha cap autointersecció. - + Self-intersections Autointerseccions - + No folds on surface No hi ha cap plec en la superfície. - + %1 folds on surface %1 plecs en la superfície - + Folds Plecs - - + + Mesh repair Reparació de malla @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 Crea %1 - + No active document No hi ha cap document actiu. @@ -1606,7 +1606,7 @@ Si angle de la cara < l'angle de plec, s'utilitza un ombrejat suau MeshGui::MeshFillHole - + Finish Finalitza @@ -1983,13 +1983,13 @@ Si angle de la cara < l'angle de plec, s'utilitza un ombrejat suauMeshGui::TaskRemoveComponents - + Delete Elimina - + Invert Inverteix @@ -1997,38 +1997,38 @@ Si angle de la cara < l'angle de plec, s'utilitza un ombrejat suau MeshInfoWatcher - + Number of points: Nombre de punts: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Mesh info - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2036,7 +2036,7 @@ Si angle de la cara < l'angle de plec, s'utilitza un ombrejat suau Mesh_BoundingBox - + Boundings of %1: Límits de %1: @@ -2072,7 +2072,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh Avalua i repara una malla @@ -2080,12 +2080,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display Visualització - + Import-Export Importació-exportació @@ -2223,42 +2223,42 @@ Please visit http://www.openscad.org/index.html to install it. Introdueix la tolerància per a la goemetria de mallat: - + The mesh '%1' is not a solid. La malla '%1' no és un sòlid. - + The mesh '%1' is a solid. La malla '%1' és un sòlid. - + Solid Mesh Malla sòlida - + Boundings Límits envoltants - + Fill holes Ompli els forats - + Fill holes with maximum number of edges: Ompli els forats amb un nombre màxim de vores: - + Scaling Escalat - + Enter scaling factor: Introduïu el factor d'escala: @@ -2268,12 +2268,12 @@ Please visit http://www.openscad.org/index.html to install it. [Punts: %1, Arestes: %2, Cares: %3] - + Display components Mostra els components - + Display segments Mostra els segments @@ -2283,38 +2283,38 @@ Please visit http://www.openscad.org/index.html to install it. Display colors - - + + Leave info mode Ix del mode info - + Index: %1 Índex: %1 - + Leave hole-filling mode Ix del mode d'emplenament de forats - + Leave removal mode Ix del mode de supressió - + Delete selected faces Elimina les cares seleccionades - + Clear selected faces Esborra les cares seleccionades - + Annotation Anotació diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_zh-CN.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_zh-CN.ts index 3d18fc892d..38cb1b0547 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_zh-CN.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_zh-CN.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh 网格 - + Add triangle 增加三角形 - - + + Add triangle manually to a mesh 手动给网格添加三角形 @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh 网格 - + Boundings info... 边界信息... - - + + Shows the boundings of the selected mesh 显示所选网格的边界 @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh 网格 - + Regular solid... 正多面体实体... - - + + Builds a regular solid 建立正多面体实体 @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh 网格 - + Cross-sections... 横截面... - + Cross-sections 横截面 @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh 网格 - + Decimation... 十进制... - + Decimates a mesh 破坏 网格 @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh 网格 - + Face info 表面信息 - - + + Information about face 表面信息 @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh 网格 - + Check solid mesh 检查实体网格 - - + + Checks whether the mesh is a solid 检查网格是否为实体 @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh 网格 - + Evaluate and repair mesh... 评估和修复网格... - - + + Opens a dialog to analyze and repair a mesh 打开一个对话框,分析并修复网格 @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh 网格 - + Close hole 封闭孔 - - + + Close holes interactively 交互式封闭孔 @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh 网格 - + Fill holes... 填充孔... - - + + Fill holes of the mesh 填充网格孔 @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh 网格 - + Flip normals 翻转法线 - - + + Flips the normals of the mesh 翻转网格法线 @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh 网格 - + Harmonize normals 统一法线 - - + + Harmonizes the normals of the mesh 平滑网格法线 @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh 网格 - + Merge 合并 - + Merges selected meshes into one 将所选网格合而为一 @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh 网格 - + Cut mesh 切割网格 - - + + Cuts a mesh with a picked polygon 使用多边形切割网格 @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh 网格 - + Make segment 创建片段 - - + + Creates a mesh segment 创建网格 @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh 网格 - + Split mesh 拆分网格 - - + + Splits a mesh into two meshes 拆分成两个网格 @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh 网格 - + Trim mesh 修剪网格 - - + + Trims a mesh with a picked polygon 使用选定多边形修建网格 @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh 网格 - + Refinement... 精制... - + Refine existing mesh 优化现有网格 @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh 网格 - + Remove components by hand... 手动删除组件... - - + + Mark a component to remove it from the mesh 标记要从网格中删除组件 @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh 网格 - + Remove components... 删除组件... - - + + Remove topologic independent components from the mesh 从网格中删除拓扑独立部件 @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh 网格 - + Scale... 缩放... - + Scale selected meshes 缩放所选网格 @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh 网格 - + Create section from mesh and plane 从网格和平面创建剖面 - + Section from mesh and plane 从网格和平面的剖面 @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh 网格 - + Create mesh segments... 建立网格分割... - - + + Create mesh segments 建立网格分割 @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh 网格 - + Create mesh segments from best-fit surfaces... 从最适合的表面创建网格分割... - - + + Create mesh segments from best-fit surfaces 从最适合的表面创建网格分割 @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh 网格 - + Smooth... 平滑... - - + + Smooth the selected meshes 平滑选定的网格 @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh 网格 - + Split by components 按组件拆分 - + Split selected mesh into its components 将所选网格拆分到组件中 @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh 网格 - + Trim mesh with a plane 以平面修剪网格 - + Trims a mesh with a plane 以平面修剪网格 @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh 网格 - + Curvature info 曲率信息 - - + + Information about curvature 曲率信息 @@ -692,87 +692,87 @@ 网格顶点曲率 - + Mesh Smoothing 网格平滑化 - + Harmonize mesh normals 适合网格法线 - + Flip mesh normals 翻转网格法线 - + Fill up holes 填充孔 - + Mesh merge 网格合并 - + Mesh split 网格拆分 - + Mesh scale 网格缩放 - + Mesh Decimating 网格削减 - + Harmonize normals 统一法线 - + Remove non-manifolds 删除非流形 - + Fix indices 修复指数 - + Remove degenerated faces 移除退化的面 - + Remove duplicated faces 删除重复的面 - + Remove duplicated points 删除重复的点 - + Fix self-intersections 修复自相交 - + Remove folds 移除折叠 - + Repair mesh 修复网格 @@ -782,34 +782,34 @@ 删除所选项 - - + + Cut 剪切 - - + + Trim 修剪 - + Split 分割 - + Segment - + Delete 删除 - + Fill hole 填充孔 @@ -838,7 +838,7 @@ - + Absolute number 绝对值 @@ -848,7 +848,7 @@ 公差 - + Absolute number (Maximum: %1) 绝对值 (最大值: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... 设置... - - + + No selection 无选择 + + + + + + + - - - - - - - No information 无信息 - + Orientation 方向 - + No flipped normals 无翻转法线 - + %1 flipped normals %1 翻转法线 - + No non-manifolds 无非流形 - + %1 non-manifolds 非流形 %1 - - + + Non-manifolds 非流形 - + Cannot remove non-manifolds 不能删除非流形 - + Invalid face indices 无效的面指数 - + Invalid point indices 无效点指数 - + Multiple point indices 多点指数 - + Invalid neighbour indices 无相邻指数 - + No invalid indices 没有无效指数 - + Indices 指数 - + No degenerations 无退化 - + %1 degenerated faces 退化面 %1 - + Degenerations 退化 - + No duplicated faces 无重复面 - + %1 duplicated faces 重复面 %1 - + Duplicated faces 重复面 - + No duplicated points 无重复点 - - + + Duplicated points 重复点 - + No self-intersections 无自干涉 - + Self-intersections 自干涉 - + No folds on surface 面无折叠 - + %1 folds on surface 面折叠 %1 - + Folds 折叠 - - + + Mesh repair 修复网格 @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 创建 %1 - + No active document 无活动文档 @@ -1611,7 +1611,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish 完成 @@ -1988,13 +1988,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete 删除 - + Invert 反转 @@ -2002,38 +2002,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: 点数: - + Number of facets: 小面的数量 - + Minimum bound: 最小边界 - + Maximum bound: 最大边界 - + Mesh info box 网格信息框 - + Mesh info 网格信息 - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2041,7 +2041,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: %1的边界: @@ -2078,7 +2078,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh 检测并修复网格 @@ -2086,12 +2086,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display 显示 - + Import-Export Import-Export @@ -2229,42 +2229,42 @@ Please visit http://www.openscad.org/index.html to install it. 输入网格化几何体公差: - + The mesh '%1' is not a solid. 网格 '%1' 不是实体. - + The mesh '%1' is a solid. 网格 '%1' 是实体. - + Solid Mesh 实体网格 - + Boundings 边界 - + Fill holes 填充孔 - + Fill holes with maximum number of edges: 使用最大边数填充孔: - + Scaling 缩放 - + Enter scaling factor: 输入缩放系数: @@ -2274,12 +2274,12 @@ Please visit http://www.openscad.org/index.html to install it. [点: %1,边线: %2,面: %3] - + Display components 显示组件 - + Display segments 显示段 @@ -2289,38 +2289,38 @@ Please visit http://www.openscad.org/index.html to install it. 显示颜色 - - + + Leave info mode 退出查询模式 - + Index: %1 索引: %1 - + Leave hole-filling mode 退出孔填充模式 - + Leave removal mode 退出删除模式 - + Delete selected faces 删除选定的面 - + Clear selected faces 清除选中的面 - + Annotation 注释 diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_zh-TW.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_zh-TW.ts index f6d69cfc61..85b59a55a6 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_zh-TW.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_zh-TW.ts @@ -4,18 +4,18 @@ CmdMeshAddFacet - + Mesh Mesh - + Add triangle 加入三角形 - - + + Add triangle manually to a mesh 手動於網格中加入三角形 @@ -23,18 +23,18 @@ CmdMeshBoundingBox - + Mesh Mesh - + Boundings info... 範圍資訊... - - + + Shows the boundings of the selected mesh 顯示所選網格範圍 @@ -42,18 +42,18 @@ CmdMeshBuildRegularSolid - + Mesh Mesh - + Regular solid... 標準實體... - - + + Builds a regular solid 建立一標準實體 @@ -61,18 +61,18 @@ CmdMeshCrossSections - + Mesh Mesh - + Cross-sections... 剖面... - + Cross-sections 剖面 @@ -80,19 +80,19 @@ CmdMeshDecimating - + Mesh Mesh - + Decimation... 十進制... - + Decimates a mesh 十進制網格 @@ -113,18 +113,18 @@ CmdMeshEvaluateFacet - + Mesh Mesh - + Face info 面資訊 - - + + Information about face 面之資訊 @@ -132,18 +132,18 @@ CmdMeshEvaluateSolid - + Mesh Mesh - + Check solid mesh 檢查固體網格 - - + + Checks whether the mesh is a solid 不論網格是否為實體均檢查 @@ -151,18 +151,18 @@ CmdMeshEvaluation - + Mesh Mesh - + Evaluate and repair mesh... 評估及修復網格... - - + + Opens a dialog to analyze and repair a mesh 開啟分析及修復網格對話窗 @@ -189,18 +189,18 @@ CmdMeshFillInteractiveHole - + Mesh Mesh - + Close hole 封閉空洞 - - + + Close holes interactively 以交集封閉孔洞 @@ -208,18 +208,18 @@ CmdMeshFillupHoles - + Mesh Mesh - + Fill holes... 填滿空洞... - - + + Fill holes of the mesh 充填網格孔洞 @@ -227,18 +227,18 @@ CmdMeshFlipNormals - + Mesh Mesh - + Flip normals 翻轉法線 - - + + Flips the normals of the mesh 翻轉網格法線 @@ -283,18 +283,18 @@ CmdMeshHarmonizeNormals - + Mesh Mesh - + Harmonize normals 統一法線 - - + + Harmonizes the normals of the mesh 統一網格法線 @@ -334,17 +334,17 @@ CmdMeshMerge - + Mesh Mesh - + Merge 合併 - + Merges selected meshes into one 將所選網格合而為一 @@ -352,18 +352,18 @@ CmdMeshPolyCut - + Mesh Mesh - + Cut mesh 切割網格 - - + + Cuts a mesh with a picked polygon 以選取之多邊形切割網格 @@ -371,18 +371,18 @@ CmdMeshPolySegm - + Mesh Mesh - + Make segment 建立分割 - - + + Creates a mesh segment 建立網格分割 @@ -390,18 +390,18 @@ CmdMeshPolySplit - + Mesh Mesh - + Split mesh 分割網格 - - + + Splits a mesh into two meshes 分為兩個網格 @@ -409,18 +409,18 @@ CmdMeshPolyTrim - + Mesh Mesh - + Trim mesh 修剪網格 - - + + Trims a mesh with a picked polygon 依選定之多邊形修剪網格 @@ -428,18 +428,18 @@ CmdMeshRemeshGmsh - + Mesh Mesh - + Refinement... 精煉化... - + Refine existing mesh 精煉既有網格 @@ -447,18 +447,18 @@ CmdMeshRemoveCompByHand - + Mesh Mesh - + Remove components by hand... 手動移除元件... - - + + Mark a component to remove it from the mesh 使元件由網格中移出 @@ -466,18 +466,18 @@ CmdMeshRemoveComponents - + Mesh Mesh - + Remove components... 刪除元件... - - + + Remove topologic independent components from the mesh 自網格移除拓樸獨立元件 @@ -485,17 +485,17 @@ CmdMeshScale - + Mesh Mesh - + Scale... 比例... - + Scale selected meshes 縮放所選網格 @@ -503,18 +503,18 @@ CmdMeshSectionByPlane - + Mesh Mesh - + Create section from mesh and plane 由網格和平面建立截面 - + Section from mesh and plane 由網格和平面的截面 @@ -522,18 +522,18 @@ CmdMeshSegmentation - + Mesh Mesh - + Create mesh segments... 建立網格分割... - - + + Create mesh segments 建立網格分割 @@ -541,18 +541,18 @@ CmdMeshSegmentationBestFit - + Mesh Mesh - + Create mesh segments from best-fit surfaces... 由最適合的表面建立網格分割... - - + + Create mesh segments from best-fit surfaces 由最適合的表面建立網格分割 @@ -560,18 +560,18 @@ CmdMeshSmoothing - + Mesh Mesh - + Smooth... 平滑... - - + + Smooth the selected meshes 平滑化所選網格 @@ -579,17 +579,17 @@ CmdMeshSplitComponents - + Mesh Mesh - + Split by components 依元件分割 - + Split selected mesh into its components Split selected mesh into its components @@ -597,18 +597,18 @@ CmdMeshTrimByPlane - + Mesh Mesh - + Trim mesh with a plane 以平面修剪網格 - + Trims a mesh with a plane 以平面修剪網格 @@ -648,18 +648,18 @@ CmdMeshVertexCurvatureInfo - + Mesh Mesh - + Curvature info 曲率資訊 - - + + Information about curvature 曲率資訊 @@ -692,87 +692,87 @@ Mesh VertexCurvature - + Mesh Smoothing Mesh Smoothing - + Harmonize mesh normals Harmonize mesh normals - + Flip mesh normals Flip mesh normals - + Fill up holes Fill up holes - + Mesh merge Mesh merge - + Mesh split Mesh split - + Mesh scale Mesh scale - + Mesh Decimating Mesh Decimating - + Harmonize normals 統一法線 - + Remove non-manifolds Remove non-manifolds - + Fix indices Fix indices - + Remove degenerated faces Remove degenerated faces - + Remove duplicated faces Remove duplicated faces - + Remove duplicated points Remove duplicated points - + Fix self-intersections Fix self-intersections - + Remove folds Remove folds - + Repair mesh Repair mesh @@ -782,34 +782,34 @@ Delete selection - - + + Cut 切割 - - + + Trim 修剪 - + Split Split - + Segment Segment - + Delete 刪除 - + Fill hole Fill hole @@ -838,7 +838,7 @@ - + Absolute number 絕對值 @@ -848,7 +848,7 @@ 公差 - + Absolute number (Maximum: %1) 絕對值 (最大值: %1) @@ -980,166 +980,166 @@ MeshGui::DlgEvaluateMeshImp - + Settings... 設定... - - + + No selection 未選取 + + + + + + + - - - - - - - No information 沒有資訊 - + Orientation 定位 - + No flipped normals 無旋轉法線 - + %1 flipped normals %1無旋轉法線 - + No non-manifolds 無非重疊網格 - + %1 non-manifolds %1非重疊網格 - - + + Non-manifolds 非重疊網格 - + Cannot remove non-manifolds 無法移除非重疊網格 - + Invalid face indices 錯誤之面索引 - + Invalid point indices 錯誤之點索引 - + Multiple point indices 多點索引 - + Invalid neighbour indices 錯誤之相鄰索引 - + No invalid indices 無錯誤索引 - + Indices 指數 - + No degenerations 無簡化 - + %1 degenerated faces %1簡化面 - + Degenerations 簡化 - + No duplicated faces 無重疊面 - + %1 duplicated faces %1重疊面 - + Duplicated faces 複製之面 - + No duplicated points 無重疊點 - - + + Duplicated points 複製之點 - + No self-intersections 無內部交錯 - + Self-intersections 自我交錯 - + No folds on surface 於面上無重疊 - + %1 folds on surface 於面上有%1的重疊 - + Folds 折疊 - - + + Mesh repair 修復網格 @@ -1291,14 +1291,14 @@ MeshGui::DlgRegularSolidImp - - - + + + Create %1 創建%1 - + No active document 無可用文件 @@ -1613,7 +1613,7 @@ to a smoother appearance. MeshGui::MeshFillHole - + Finish 結束 @@ -1990,13 +1990,13 @@ to a smoother appearance. MeshGui::TaskRemoveComponents - + Delete 刪除 - + Invert 反轉 @@ -2004,38 +2004,38 @@ to a smoother appearance. MeshInfoWatcher - + Number of points: 點的數目: - + Number of facets: Number of facets: - + Minimum bound: Minimum bound: - + Maximum bound: Maximum bound: - + Mesh info box Mesh info box - + Mesh info Mesh info - - + + X: %1 Y: %2 Z: %3 X: %1 Y: %2 Z: %3 @@ -2043,7 +2043,7 @@ to a smoother appearance. Mesh_BoundingBox - + Boundings of %1: Boundings of %1: @@ -2080,7 +2080,7 @@ Please visit http://www.openscad.org/index.html to install it. QDockWidget - + Evaluate & Repair Mesh 評估和修復網格 @@ -2088,12 +2088,12 @@ Please visit http://www.openscad.org/index.html to install it. QObject - + Display 顯示 - + Import-Export 匯入-匯出 @@ -2231,42 +2231,42 @@ Please visit http://www.openscad.org/index.html to install it. 輸入製作網格幾何公差: - + The mesh '%1' is not a solid. 網格'%1'不為實體 - + The mesh '%1' is a solid. 網格'%1'為實體 - + Solid Mesh 固體網格 - + Boundings 範圍 - + Fill holes 填充孔 - + Fill holes with maximum number of edges: 填充開口藉由最多邊之數量: - + Scaling Scaling - + Enter scaling factor: Enter scaling factor: @@ -2276,12 +2276,12 @@ Please visit http://www.openscad.org/index.html to install it. [點:%1, 線:%2, 面:%3] - + Display components 顯示元件 - + Display segments Display segments @@ -2291,38 +2291,38 @@ Please visit http://www.openscad.org/index.html to install it. 顯示顏色 - - + + Leave info mode 離開訊息模式 - + Index: %1 索引:%1 - + Leave hole-filling mode 離開填充孔模式 - + Leave removal mode 離開移除模式 - + Delete selected faces 刪除選定面 - + Clear selected faces 清除所選面 - + Annotation 注釋 diff --git a/src/Mod/Mesh/Gui/Segmentation.cpp b/src/Mod/Mesh/Gui/Segmentation.cpp index 745a0a8f11..1e2bc7edcf 100644 --- a/src/Mod/Mesh/Gui/Segmentation.cpp +++ b/src/Mod/Mesh/Gui/Segmentation.cpp @@ -112,10 +112,10 @@ void Segmentation::accept() std::string labelname = "Segments "; labelname += myMesh->Label.getValue(); group->Label.setValue(labelname); - for (std::vector::iterator it = segm.begin(); it != segm.end(); ++it) { - const std::vector& data = (*it)->GetSegments(); - for (std::vector::const_iterator jt = data.begin(); jt != data.end(); ++jt) { - Mesh::MeshObject* segment = mesh->meshFromSegment(*jt); + for (const auto & it : segm) { + const std::vector& data = it->GetSegments(); + for (const auto & jt : data) { + Mesh::MeshObject* segment = mesh->meshFromSegment(jt); Mesh::Feature* feaSegm = static_cast(group->addObject("Mesh::Feature", "Segment")); Mesh::MeshObject* feaMesh = feaSegm->Mesh.startEditing(); feaMesh->swap(*segment); @@ -123,7 +123,7 @@ void Segmentation::accept() delete segment; std::stringstream label; - label << feaSegm->Label.getValue() << " (" << (*it)->GetType() << ")"; + label << feaSegm->Label.getValue() << " (" << it->GetType() << ")"; feaSegm->Label.setValue(label.str()); } } @@ -151,11 +151,6 @@ TaskSegmentation::TaskSegmentation(Mesh::Feature* mesh) Content.push_back(taskbox); } -TaskSegmentation::~TaskSegmentation() -{ - // automatically deleted in the sub-class -} - bool TaskSegmentation::accept() { widget->accept(); diff --git a/src/Mod/Mesh/Gui/Segmentation.h b/src/Mod/Mesh/Gui/Segmentation.h index 2517ddf8c3..4ea53397b7 100644 --- a/src/Mod/Mesh/Gui/Segmentation.h +++ b/src/Mod/Mesh/Gui/Segmentation.h @@ -60,7 +60,6 @@ class TaskSegmentation : public Gui::TaskView::TaskDialog { public: explicit TaskSegmentation(Mesh::Feature* mesh); - ~TaskSegmentation() override; public: bool accept() override; diff --git a/src/Mod/Mesh/Gui/SegmentationBestFit.cpp b/src/Mod/Mesh/Gui/SegmentationBestFit.cpp index e43adc5897..a1a3efe8d3 100644 --- a/src/Mod/Mesh/Gui/SegmentationBestFit.cpp +++ b/src/Mod/Mesh/Gui/SegmentationBestFit.cpp @@ -50,8 +50,8 @@ namespace MeshGui { class PlaneFitParameter : public FitParameter { public: - PlaneFitParameter() {} - ~PlaneFitParameter() override {} + PlaneFitParameter() = default; + ~PlaneFitParameter() override = default; std::vector getParameter(FitParameter::Points pts) const override { std::vector values; MeshCore::PlaneFit fit; @@ -73,8 +73,8 @@ public: class CylinderFitParameter : public FitParameter { public: - CylinderFitParameter() {} - ~CylinderFitParameter() override {} + CylinderFitParameter() = default; + ~CylinderFitParameter() override = default; std::vector getParameter(FitParameter::Points pts) const override { std::vector values; MeshCore::CylinderFit fit; @@ -128,8 +128,8 @@ public: class SphereFitParameter : public FitParameter { public: - SphereFitParameter() {} - ~SphereFitParameter() override {} + SphereFitParameter() = default; + ~SphereFitParameter() override = default; std::vector getParameter(FitParameter::Points pts) const override { std::vector values; MeshCore::SphereFit fit; @@ -485,10 +485,10 @@ void SegmentationBestFit::accept() std::string labelname = "Segments "; labelname += myMesh->Label.getValue(); group->Label.setValue(labelname); - for (std::vector::iterator it = segm.begin(); it != segm.end(); ++it) { - const std::vector& data = (*it)->GetSegments(); - for (std::vector::const_iterator jt = data.begin(); jt != data.end(); ++jt) { - Mesh::MeshObject* segment = mesh->meshFromSegment(*jt); + for (const auto & it : segm) { + const std::vector& data = it->GetSegments(); + for (const auto & jt : data) { + Mesh::MeshObject* segment = mesh->meshFromSegment(jt); Mesh::Feature* feaSegm = static_cast(group->addObject("Mesh::Feature", "Segment")); Mesh::MeshObject* feaMesh = feaSegm->Mesh.startEditing(); feaMesh->swap(*segment); @@ -496,7 +496,7 @@ void SegmentationBestFit::accept() delete segment; std::stringstream label; - label << feaSegm->Label.getValue() << " (" << (*it)->GetType() << ")"; + label << feaSegm->Label.getValue() << " (" << it->GetType() << ")"; feaSegm->Label.setValue(label.str()); } } @@ -524,11 +524,6 @@ TaskSegmentationBestFit::TaskSegmentationBestFit(Mesh::Feature* mesh) Content.push_back(taskbox); } -TaskSegmentationBestFit::~TaskSegmentationBestFit() -{ - // automatically deleted in the sub-class -} - bool TaskSegmentationBestFit::accept() { widget->accept(); diff --git a/src/Mod/Mesh/Gui/SegmentationBestFit.h b/src/Mod/Mesh/Gui/SegmentationBestFit.h index f9a211de8a..54a95401f1 100644 --- a/src/Mod/Mesh/Gui/SegmentationBestFit.h +++ b/src/Mod/Mesh/Gui/SegmentationBestFit.h @@ -48,7 +48,7 @@ public: std::vector points; std::vector normals; }; - virtual ~FitParameter() {} + virtual ~FitParameter() = default; virtual std::vector getParameter(Points) const = 0; }; @@ -114,7 +114,6 @@ class TaskSegmentationBestFit : public Gui::TaskView::TaskDialog { public: explicit TaskSegmentationBestFit(Mesh::Feature* mesh); - ~TaskSegmentationBestFit() override; public: bool accept() override; diff --git a/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.cpp b/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.cpp index 8a437a44dd..9667e1e6c4 100644 --- a/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.cpp +++ b/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.cpp @@ -74,12 +74,11 @@ class MeshRenderer::Private { public: Gui::OpenGLMultiBuffer vertices; Gui::OpenGLMultiBuffer indices; - const SbColor * pcolors; - SoMaterialBindingElement::Binding matbinding; - bool initialized; + const SbColor * pcolors{nullptr}; + SoMaterialBindingElement::Binding matbinding{SoMaterialBindingElement::OVERALL}; + bool initialized{false}; Private(); - ~Private(); bool canRenderGLArray(SoGLRenderAction *) const; void generateGLArrays(SoGLRenderAction* action, SoMaterialBindingElement::Binding matbind, @@ -96,13 +95,6 @@ private: MeshRenderer::Private::Private() : vertices(GL_ARRAY_BUFFER) , indices(GL_ELEMENT_ARRAY_BUFFER) - , pcolors(nullptr) - , matbinding(SoMaterialBindingElement::OVERALL) - , initialized(false) -{ -} - -MeshRenderer::Private::~Private() { } @@ -435,9 +427,7 @@ SoFCMaterialEngine::SoFCMaterialEngine() SO_ENGINE_ADD_OUTPUT(trigger, SoSFBool); } -SoFCMaterialEngine::~SoFCMaterialEngine() -{ -} +SoFCMaterialEngine::~SoFCMaterialEngine() = default; void SoFCMaterialEngine::initClass() { @@ -465,7 +455,6 @@ void SoFCIndexedFaceSet::initClass() SoFCIndexedFaceSet::SoFCIndexedFaceSet() : renderTriangleLimit(UINT_MAX) - , selectBuf(nullptr) { SO_NODE_CONSTRUCTOR(SoFCIndexedFaceSet); SO_NODE_ADD_FIELD(updateGLArray, (false)); diff --git a/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.h b/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.h index 21ea610430..9edb77aa69 100644 --- a/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.h +++ b/src/Mod/Mesh/Gui/SoFCIndexedFaceSet.h @@ -108,7 +108,7 @@ public: protected: // Force using the reference count mechanism. - ~SoFCIndexedFaceSet() override {} + ~SoFCIndexedFaceSet() override = default; void GLRender(SoGLRenderAction *action) override; void drawFaces(SoGLRenderAction *action); void drawCoords(const SoGLCoordinateElement * const vertexlist, @@ -136,7 +136,7 @@ private: private: MeshRenderer render; - GLuint *selectBuf; + GLuint *selectBuf{nullptr}; }; } // namespace MeshGui diff --git a/src/Mod/Mesh/Gui/SoFCMeshObject.cpp b/src/Mod/Mesh/Gui/SoFCMeshObject.cpp index c22cbecb61..8cbdc0205e 100644 --- a/src/Mod/Mesh/Gui/SoFCMeshObject.cpp +++ b/src/Mod/Mesh/Gui/SoFCMeshObject.cpp @@ -160,9 +160,7 @@ public: { this->rdbuf(&buf); } - ~SoInputStream() override - { - } + ~SoInputStream() override = default; private: SoInputStreambuf buf; @@ -261,11 +259,10 @@ void SoSFMeshObject::writeValue(SoOutput *out) const const MeshCore::MeshPointArray& rPoints = value->getKernel().GetPoints(); std::vector verts; verts.reserve(3*rPoints.size()); - for (MeshCore::MeshPointArray::_TConstIterator it = rPoints.begin(); - it != rPoints.end(); ++it) { - verts.push_back(it->x); - verts.push_back(it->y); - verts.push_back(it->z); + for (const auto & rPoint : rPoints) { + verts.push_back(rPoint.x); + verts.push_back(rPoint.y); + verts.push_back(rPoint.z); } int32_t countPt = (int32_t)verts.size(); @@ -275,11 +272,10 @@ void SoSFMeshObject::writeValue(SoOutput *out) const const MeshCore::MeshFacetArray& rFacets = value->getKernel().GetFacets(); std::vector faces; faces.reserve(3*rFacets.size()); - for (MeshCore::MeshFacetArray::_TConstIterator it = rFacets.begin(); - it != rFacets.end(); ++it) { - faces.push_back((int32_t)it->_aulPoints[0]); - faces.push_back((int32_t)it->_aulPoints[1]); - faces.push_back((int32_t)it->_aulPoints[2]); + for (const auto & rFacet : rFacets) { + faces.push_back((int32_t)rFacet._aulPoints[0]); + faces.push_back((int32_t)rFacet._aulPoints[1]); + faces.push_back((int32_t)rFacet._aulPoints[2]); } int32_t countFt = (int32_t)faces.size(); @@ -302,9 +298,7 @@ void SoFCMeshObjectElement::init(SoState * state) this->mesh = nullptr; } -SoFCMeshObjectElement::~SoFCMeshObjectElement() -{ -} +SoFCMeshObjectElement::~SoFCMeshObjectElement() = default; void SoFCMeshObjectElement::set(SoState * const state, SoNode * const node, const Mesh::MeshObject * const mesh) { @@ -337,7 +331,7 @@ SO_NODE_SOURCE(SoFCMeshPickNode) /*! Constructor. */ -SoFCMeshPickNode::SoFCMeshPickNode() : meshGrid(nullptr) +SoFCMeshPickNode::SoFCMeshPickNode() { SO_NODE_CONSTRUCTOR(SoFCMeshPickNode); @@ -421,9 +415,7 @@ SoFCMeshGridNode::SoFCMeshGridNode() /*! Destructor. */ -SoFCMeshGridNode::~SoFCMeshGridNode() -{ -} +SoFCMeshGridNode::~SoFCMeshGridNode() = default; // Doc from superclass. void SoFCMeshGridNode::initClass() @@ -506,9 +498,7 @@ SoFCMeshObjectNode::SoFCMeshObjectNode() /*! Destructor. */ -SoFCMeshObjectNode::~SoFCMeshObjectNode() -{ -} +SoFCMeshObjectNode::~SoFCMeshObjectNode() = default; // Doc from superclass. void SoFCMeshObjectNode::initClass() @@ -583,7 +573,7 @@ inline void glNormal(float* n) // Helper function: convert Vec to SbVec3f inline SbVec3f sbvec3f(const Base::Vector3f& _v) { - return SbVec3f(_v.x, _v.y, _v.z); + return {_v.x, _v.y, _v.z}; } SO_NODE_SOURCE(SoFCMeshObjectShape) @@ -595,16 +585,12 @@ void SoFCMeshObjectShape::initClass() SoFCMeshObjectShape::SoFCMeshObjectShape() : renderTriangleLimit(UINT_MAX) - , selectBuf(nullptr) - , updateGLArray(false) { SO_NODE_CONSTRUCTOR(SoFCMeshObjectShape); setName(SoFCMeshObjectShape::getClassTypeId().getName()); } -SoFCMeshObjectShape::~SoFCMeshObjectShape() -{ -} +SoFCMeshObjectShape::~SoFCMeshObjectShape() = default; void SoFCMeshObjectShape::notify(SoNotList * node) { @@ -749,11 +735,11 @@ void SoFCMeshObjectShape::drawFaces(const Mesh::MeshObject * mesh, SoMaterialBun } else { // clockwise ordering - for (MeshCore::MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) + for (const auto & rFacet : rFacets) { - const MeshCore::MeshPoint& v0 = rPoints[it->_aulPoints[0]]; - const MeshCore::MeshPoint& v1 = rPoints[it->_aulPoints[1]]; - const MeshCore::MeshPoint& v2 = rPoints[it->_aulPoints[2]]; + const MeshCore::MeshPoint& v0 = rPoints[rFacet._aulPoints[0]]; + const MeshCore::MeshPoint& v1 = rPoints[rFacet._aulPoints[1]]; + const MeshCore::MeshPoint& v2 = rPoints[rFacet._aulPoints[2]]; // Calculate the normal n = -(v1-v0)x(v2-v0) float n[3]; @@ -771,11 +757,11 @@ void SoFCMeshObjectShape::drawFaces(const Mesh::MeshObject * mesh, SoMaterialBun } else { glBegin(GL_TRIANGLES); - for (MeshCore::MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) + for (const auto & rFacet : rFacets) { - glVertex(rPoints[it->_aulPoints[0]]); - glVertex(rPoints[it->_aulPoints[1]]); - glVertex(rPoints[it->_aulPoints[2]]); + glVertex(rPoints[rFacet._aulPoints[0]]); + glVertex(rPoints[rFacet._aulPoints[1]]); + glVertex(rPoints[rFacet._aulPoints[2]]); } glEnd(); } @@ -887,13 +873,13 @@ void SoFCMeshObjectShape::generateGLArrays(SoState * state) face_indices.resize(3 * cF.size()); int indexed = 0; - for (MeshCore::MeshFacetArray::const_iterator it = cF.begin(); it != cF.end(); ++it) { - Base::Vector3f n = kernel.GetFacet(*it).GetNormal(); - for (int i=0; i<3; i++) { + for (const auto & it : cF) { + Base::Vector3f n = kernel.GetFacet(it).GetNormal(); + for (Mesh::PointIndex ptIndex : it._aulPoints) { face_vertices.push_back(n.x); face_vertices.push_back(n.y); face_vertices.push_back(n.z); - const Base::Vector3f& v = cP[it->_aulPoints[i]]; + const Base::Vector3f& v = cP[ptIndex]; face_vertices.push_back(v.x); face_vertices.push_back(v.y); face_vertices.push_back(v.z); @@ -1093,11 +1079,11 @@ void SoFCMeshObjectShape::generatePrimitives(SoAction* action) beginShape(action, TRIANGLES, &faceDetail); try { - for (MeshCore::MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) + for (const auto & rFacet : rFacets) { - const MeshCore::MeshPoint& v0 = rPoints[it->_aulPoints[0]]; - const MeshCore::MeshPoint& v1 = rPoints[it->_aulPoints[1]]; - const MeshCore::MeshPoint& v2 = rPoints[it->_aulPoints[2]]; + const MeshCore::MeshPoint& v0 = rPoints[rFacet._aulPoints[0]]; + const MeshCore::MeshPoint& v1 = rPoints[rFacet._aulPoints[1]]; + const MeshCore::MeshPoint& v2 = rPoints[rFacet._aulPoints[2]]; // Calculate the normal n = (v1-v0)x(v2-v0) SbVec3f n; @@ -1110,28 +1096,28 @@ void SoFCMeshObjectShape::generatePrimitives(SoAction* action) // Vertex 0 if (mbind == PER_VERTEX_INDEXED || mbind == PER_FACE_INDEXED) { - pointDetail.setMaterialIndex(it->_aulPoints[0]); - vertex.setMaterialIndex(it->_aulPoints[0]); + pointDetail.setMaterialIndex(rFacet._aulPoints[0]); + vertex.setMaterialIndex(rFacet._aulPoints[0]); } - pointDetail.setCoordinateIndex(it->_aulPoints[0]); + pointDetail.setCoordinateIndex(rFacet._aulPoints[0]); vertex.setPoint(sbvec3f(v0)); shapeVertex(&vertex); // Vertex 1 if (mbind == PER_VERTEX_INDEXED || mbind == PER_FACE_INDEXED) { - pointDetail.setMaterialIndex(it->_aulPoints[1]); - vertex.setMaterialIndex(it->_aulPoints[1]); + pointDetail.setMaterialIndex(rFacet._aulPoints[1]); + vertex.setMaterialIndex(rFacet._aulPoints[1]); } - pointDetail.setCoordinateIndex(it->_aulPoints[1]); + pointDetail.setCoordinateIndex(rFacet._aulPoints[1]); vertex.setPoint(sbvec3f(v1)); shapeVertex(&vertex); // Vertex 2 if (mbind == PER_VERTEX_INDEXED || mbind == PER_FACE_INDEXED) { - pointDetail.setMaterialIndex(it->_aulPoints[2]); - vertex.setMaterialIndex(it->_aulPoints[2]); + pointDetail.setMaterialIndex(rFacet._aulPoints[2]); + vertex.setMaterialIndex(rFacet._aulPoints[2]); } - pointDetail.setCoordinateIndex(it->_aulPoints[2]); + pointDetail.setCoordinateIndex(rFacet._aulPoints[2]); vertex.setPoint(sbvec3f(v2)); shapeVertex(&vertex); @@ -1314,9 +1300,9 @@ void SoFCMeshSegmentShape::drawFaces(const Mesh::MeshObject * mesh, SoMaterialBu glBegin(GL_TRIANGLES); if (ccw) { // counterclockwise ordering - for (std::vector::const_iterator it = rSegm.begin(); it != rSegm.end(); ++it) + for (Mesh::FacetIndex it : rSegm) { - const MeshCore::MeshFacet& f = rFacets[*it]; + const MeshCore::MeshFacet& f = rFacets[it]; const MeshCore::MeshPoint& v0 = rPoints[f._aulPoints[0]]; const MeshCore::MeshPoint& v1 = rPoints[f._aulPoints[1]]; const MeshCore::MeshPoint& v2 = rPoints[f._aulPoints[2]]; @@ -1328,7 +1314,7 @@ void SoFCMeshSegmentShape::drawFaces(const Mesh::MeshObject * mesh, SoMaterialBu n[2] = (v1.x-v0.x)*(v2.y-v0.y)-(v1.y-v0.y)*(v2.x-v0.x); if(perFace) - mb->send(*it, true); + mb->send(it, true); glNormal(n); if(perVertex) mb->send(f._aulPoints[0], true); @@ -1343,9 +1329,9 @@ void SoFCMeshSegmentShape::drawFaces(const Mesh::MeshObject * mesh, SoMaterialBu } else { // clockwise ordering - for (std::vector::const_iterator it = rSegm.begin(); it != rSegm.end(); ++it) + for (Mesh::FacetIndex it : rSegm) { - const MeshCore::MeshFacet& f = rFacets[*it]; + const MeshCore::MeshFacet& f = rFacets[it]; const MeshCore::MeshPoint& v0 = rPoints[f._aulPoints[0]]; const MeshCore::MeshPoint& v1 = rPoints[f._aulPoints[1]]; const MeshCore::MeshPoint& v2 = rPoints[f._aulPoints[2]]; @@ -1366,9 +1352,9 @@ void SoFCMeshSegmentShape::drawFaces(const Mesh::MeshObject * mesh, SoMaterialBu } else { glBegin(GL_TRIANGLES); - for (std::vector::const_iterator it = rSegm.begin(); it != rSegm.end(); ++it) + for (Mesh::FacetIndex it : rSegm) { - const MeshCore::MeshFacet& f = rFacets[*it]; + const MeshCore::MeshFacet& f = rFacets[it]; glVertex(rPoints[f._aulPoints[0]]); glVertex(rPoints[f._aulPoints[1]]); glVertex(rPoints[f._aulPoints[2]]); @@ -1506,9 +1492,9 @@ void SoFCMeshSegmentShape::generatePrimitives(SoAction* action) beginShape(action, TRIANGLES, &faceDetail); try { - for (std::vector::const_iterator it = rSegm.begin(); it != rSegm.end(); ++it) + for (Mesh::FacetIndex it : rSegm) { - const MeshCore::MeshFacet& f = rFacets[*it]; + const MeshCore::MeshFacet& f = rFacets[it]; const MeshCore::MeshPoint& v0 = rPoints[f._aulPoints[0]]; const MeshCore::MeshPoint& v1 = rPoints[f._aulPoints[1]]; const MeshCore::MeshPoint& v2 = rPoints[f._aulPoints[2]]; @@ -1578,12 +1564,11 @@ void SoFCMeshSegmentShape::computeBBox(SoAction *action, SbBox3f &box, SbVec3f & const MeshCore::MeshPointArray& rPoint = mesh->getKernel().GetPoints(); const MeshCore::MeshFacetArray& rFaces = mesh->getKernel().GetFacets(); - for (std::vector::const_iterator it = indices.begin(); - it != indices.end(); ++it) { - const MeshCore::MeshFacet& face = rFaces[*it]; - cBox.Add(rPoint[face._aulPoints[0]]); - cBox.Add(rPoint[face._aulPoints[1]]); - cBox.Add(rPoint[face._aulPoints[2]]); + for (Mesh::FacetIndex index : indices) { + const MeshCore::MeshFacet& face = rFaces[index]; + cBox.Add(rPoint[face._aulPoints[0]]); + cBox.Add(rPoint[face._aulPoints[1]]); + cBox.Add(rPoint[face._aulPoints[2]]); } box.setBounds(SbVec3f(cBox.MinX,cBox.MinY,cBox.MinZ), @@ -1660,11 +1645,11 @@ void SoFCMeshObjectBoundary::drawLines(const Mesh::MeshObject * mesh) const // Use the data structure directly and not through MeshFacetIterator as this // class is quite slowly (at least for rendering) glBegin(GL_LINES); - for (MeshCore::MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) { + for (const auto & rFacet : rFacets) { for (int i=0; i<3; i++) { - if (it->_aulNeighbours[i] == MeshCore::FACET_INDEX_MAX) { - glVertex(rPoints[it->_aulPoints[i]]); - glVertex(rPoints[it->_aulPoints[(i+1)%3]]); + if (rFacet._aulNeighbours[i] == MeshCore::FACET_INDEX_MAX) { + glVertex(rPoints[rFacet._aulPoints[i]]); + glVertex(rPoints[rFacet._aulPoints[(i+1)%3]]); } } } @@ -1691,20 +1676,20 @@ void SoFCMeshObjectBoundary::generatePrimitives(SoAction* action) vertex.setDetail(&pointDetail); beginShape(action, LINES, &lineDetail); - for (MeshCore::MeshFacetArray::_TConstIterator it = rFacets.begin(); it != rFacets.end(); ++it) + for (const auto & rFacet : rFacets) { for (int i=0; i<3; i++) { - if (it->_aulNeighbours[i] == MeshCore::FACET_INDEX_MAX) { - const MeshCore::MeshPoint& v0 = rPoints[it->_aulPoints[i]]; - const MeshCore::MeshPoint& v1 = rPoints[it->_aulPoints[(i+1)%3]]; + if (rFacet._aulNeighbours[i] == MeshCore::FACET_INDEX_MAX) { + const MeshCore::MeshPoint& v0 = rPoints[rFacet._aulPoints[i]]; + const MeshCore::MeshPoint& v1 = rPoints[rFacet._aulPoints[(i+1)%3]]; // Vertex 0 - pointDetail.setCoordinateIndex(it->_aulPoints[i]); + pointDetail.setCoordinateIndex(rFacet._aulPoints[i]); vertex.setPoint(sbvec3f(v0)); shapeVertex(&vertex); // Vertex 1 - pointDetail.setCoordinateIndex(it->_aulPoints[(i+1)%3]); + pointDetail.setCoordinateIndex(rFacet._aulPoints[(i+1)%3]); vertex.setPoint(sbvec3f(v1)); shapeVertex(&vertex); @@ -1729,8 +1714,8 @@ void SoFCMeshObjectBoundary::computeBBox(SoAction *action, SbBox3f &box, SbVec3f const MeshCore::MeshPointArray & rPoints = mesh->getKernel().GetPoints(); if (!rPoints.empty()) { Base::BoundBox3f cBox; - for (MeshCore::MeshPointArray::_TConstIterator it = rPoints.begin(); it != rPoints.end(); ++it) - cBox.Add(*it); + for (const auto & rPoint : rPoints) + cBox.Add(rPoint); box.setBounds(SbVec3f(cBox.MinX,cBox.MinY,cBox.MinZ), SbVec3f(cBox.MaxX,cBox.MaxY,cBox.MaxZ)); Base::Vector3f mid = cBox.GetCenter(); @@ -1757,9 +1742,9 @@ void SoFCMeshObjectBoundary::getPrimitiveCount(SoGetPrimitiveCountAction * actio // Count number of open edges first int ctEdges=0; - for (MeshCore::MeshFacetArray::_TConstIterator jt = rFaces.begin(); jt != rFaces.end(); ++jt) { - for (int i=0; i<3; i++) { - if (jt->_aulNeighbours[i] == MeshCore::FACET_INDEX_MAX) { + for (const auto & rFace : rFaces) { + for (Mesh::FacetIndex nbIndex : rFace._aulNeighbours) { + if (nbIndex == MeshCore::FACET_INDEX_MAX) { ctEdges++; } } diff --git a/src/Mod/Mesh/Gui/SoFCMeshObject.h b/src/Mod/Mesh/Gui/SoFCMeshObject.h index 56fcfed4cf..ac0adf5199 100644 --- a/src/Mod/Mesh/Gui/SoFCMeshObject.h +++ b/src/Mod/Mesh/Gui/SoFCMeshObject.h @@ -48,8 +48,7 @@ class MeshGuiExport SoSFMeshObject : public SoSField { public: static void initClass(); -private: - SoSFMeshObject(const SoSFMeshObject&); + SoSFMeshObject(const SoSFMeshObject&) = delete; }; // ------------------------------------------------------- @@ -94,7 +93,7 @@ protected: ~SoFCMeshPickNode() override; private: - MeshCore::MeshFacetGrid* meshGrid; + MeshCore::MeshFacetGrid* meshGrid{nullptr}; }; // ------------------------------------------------------- @@ -184,6 +183,8 @@ protected: const SoPrimitiveVertex * v2, const SoPrimitiveVertex * v3, SoPickedPoint * pp) override; + // Force using the reference count mechanism. + ~SoFCMeshObjectShape() override; private: enum Binding { @@ -194,8 +195,6 @@ private: }; private: - // Force using the reference count mechanism. - ~SoFCMeshObjectShape() override; void notify(SoNotList * list) override; Binding findMaterialBinding(SoState * const state) const; // Draw faces @@ -213,13 +212,13 @@ private: void renderCoordsGLArray(SoGLRenderAction *action); private: - GLuint *selectBuf; - GLfloat modelview[16]; - GLfloat projection[16]; + GLuint *selectBuf{nullptr}; + GLfloat modelview[16]{}; + GLfloat projection[16]{}; // Vertex array handling std::vector index_array; std::vector vertex_array; - SbBool updateGLArray; + SbBool updateGLArray{false}; }; class MeshGuiExport SoFCMeshSegmentShape : public SoShape { @@ -239,6 +238,8 @@ protected: void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er) override; void getPrimitiveCount(SoGetPrimitiveCountAction * action) override; void generatePrimitives(SoAction *action) override; + // Force using the reference count mechanism. + ~SoFCMeshSegmentShape() override = default; private: enum Binding { @@ -249,8 +250,6 @@ private: }; private: - // Force using the reference count mechanism. - ~SoFCMeshSegmentShape() override {} Binding findMaterialBinding(SoState * const state) const; // Draw faces void drawFaces(const Mesh::MeshObject *, SoMaterialBundle* mb, Binding bind, @@ -272,9 +271,10 @@ protected: void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er) override; void getPrimitiveCount(SoGetPrimitiveCountAction * action) override; void generatePrimitives(SoAction *action) override; -private: // Force using the reference count mechanism. - ~SoFCMeshObjectBoundary() override {} + ~SoFCMeshObjectBoundary() override = default; + +private: void drawLines(const Mesh::MeshObject *) const ; }; diff --git a/src/Mod/Mesh/Gui/SoPolygon.h b/src/Mod/Mesh/Gui/SoPolygon.h index 930fa22265..afa4d1df0a 100644 --- a/src/Mod/Mesh/Gui/SoPolygon.h +++ b/src/Mod/Mesh/Gui/SoPolygon.h @@ -49,7 +49,7 @@ public: SoSFBool render; protected: - ~SoPolygon() override {} + ~SoPolygon() override = default; void GLRender(SoGLRenderAction *action) override; void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er) override; void rayPick (SoRayPickAction *action) override; diff --git a/src/Mod/Mesh/Gui/ViewProvider.cpp b/src/Mod/Mesh/Gui/ViewProvider.cpp index e7943a2c6f..d16a0e468e 100644 --- a/src/Mod/Mesh/Gui/ViewProvider.cpp +++ b/src/Mod/Mesh/Gui/ViewProvider.cpp @@ -160,13 +160,9 @@ void ViewProviderMeshBuilder::createMesh(const MeshCore::MeshKernel& kernel, SoC PROPERTY_SOURCE(MeshGui::ViewProviderExport, Gui::ViewProviderDocumentObject) -ViewProviderExport::ViewProviderExport() -{ -} +ViewProviderExport::ViewProviderExport() = default; -ViewProviderExport::~ViewProviderExport() -{ -} +ViewProviderExport::~ViewProviderExport() = default; std::vector ViewProviderExport::getDisplayModes() const { @@ -225,7 +221,7 @@ const char* ViewProviderMesh::LightingEnums[]= {"One side", "Two side", nullptr} PROPERTY_SOURCE(MeshGui::ViewProviderMesh, Gui::ViewProviderGeometryObject) -ViewProviderMesh::ViewProviderMesh() : pcOpenEdge(nullptr) +ViewProviderMesh::ViewProviderMesh() : highlightMode{HighlighMode::None} { static const char *osgroup = "Object Style"; @@ -503,10 +499,10 @@ App::PropertyColorList* ViewProviderMesh::getColorProperty() const if (pcObject) { std::map Map; pcObject->getPropertyMap(Map); - for (std::map::iterator it = Map.begin(); it != Map.end(); ++it) { - Base::Type type = it->second->getTypeId(); + for (const auto & it : Map) { + Base::Type type = it.second->getTypeId(); if (type == App::PropertyColorList::getClassTypeId()) { - App::PropertyColorList* colors = static_cast(it->second); + App::PropertyColorList* colors = static_cast(it.second); return colors; } } @@ -599,8 +595,8 @@ void ViewProviderMesh::setColorField(const std::vector& val, SoMFCol SbColor* col = field.startEditing(); std::size_t i=0; - for (std::vector::const_iterator it = val.begin(); it != val.end(); ++it) { - col[i++].setValue(it->r, it->g, it->b); + for (auto it : val) { + col[i++].setValue(it.r, it.g, it.b); } field.finishEditing(); @@ -631,10 +627,10 @@ Mesh::PropertyMaterial* ViewProviderMesh::getMaterialProperty() const if (pcObject) { std::map Map; pcObject->getPropertyMap(Map); - for (std::map::iterator it = Map.begin(); it != Map.end(); ++it) { - Base::Type type = it->second->getTypeId(); + for (const auto & it : Map) { + Base::Type type = it.second->getTypeId(); if (type == Mesh::PropertyMaterial::getClassTypeId()) { - Mesh::PropertyMaterial* material = static_cast(it->second); + Mesh::PropertyMaterial* material = static_cast(it.second); return material; } } @@ -872,11 +868,11 @@ bool ViewProviderMesh::createToolMesh(const std::vector& rclPoly, const bool ok = cTria.TriangulatePolygon(); std::vector faces = cTria.GetFacets(); - for (std::vector::iterator itF = faces.begin(); itF != faces.end(); ++itF) { + for (const auto & face : faces) { MeshGeomFacet topFacet; - topFacet._aclPoints[0] = top[itF->_aulPoints[0]]; - topFacet._aclPoints[1] = top[itF->_aulPoints[1]]; - topFacet._aclPoints[2] = top[itF->_aulPoints[2]]; + topFacet._aclPoints[0] = top[face._aulPoints[0]]; + topFacet._aclPoints[1] = top[face._aulPoints[1]]; + topFacet._aclPoints[2] = top[face._aulPoints[2]]; if (topFacet.GetNormal() * rcNormal < 0) { std::swap(topFacet._aclPoints[1], topFacet._aclPoints[2]); topFacet.CalcNormal(); @@ -884,9 +880,9 @@ bool ViewProviderMesh::createToolMesh(const std::vector& rclPoly, const aFaces.push_back(topFacet); MeshGeomFacet botFacet; - botFacet._aclPoints[0] = bottom[itF->_aulPoints[0]]; - botFacet._aclPoints[1] = bottom[itF->_aulPoints[1]]; - botFacet._aclPoints[2] = bottom[itF->_aulPoints[2]]; + botFacet._aclPoints[0] = bottom[face._aulPoints[0]]; + botFacet._aclPoints[1] = bottom[face._aulPoints[1]]; + botFacet._aclPoints[2] = bottom[face._aulPoints[2]]; if (botFacet.GetNormal() * rcNormal > 0) { std::swap(botFacet._aclPoints[1], botFacet._aclPoints[2]); botFacet.CalcNormal(); @@ -913,9 +909,6 @@ public: , proj(proj) { - } - ~MeshSplit() { - } void cutMesh() { Gui::Document* gui = mesh->getDocument(); @@ -976,8 +969,8 @@ void ViewProviderMesh::clipMeshCallback(void * ud, SoEventCallback * n) if (!views.empty()) { Gui::Application::Instance->activeDocument()->openCommand(QT_TRANSLATE_NOOP("Command", "Cut")); bool commitCommand = false; - for (std::vector::iterator it = views.begin(); it != views.end(); ++it) { - ViewProviderMesh* self = static_cast(*it); + for (auto it : views) { + ViewProviderMesh* self = static_cast(it); if (self->getEditingMode() > -1) { self->finishEditing(); SoCamera* cam = view->getSoRenderManager()->getCamera(); @@ -1039,8 +1032,8 @@ void ViewProviderMesh::trimMeshCallback(void * ud, SoEventCallback * n) if (!views.empty()) { Gui::Application::Instance->activeDocument()->openCommand(QT_TRANSLATE_NOOP("Command", "Trim")); bool commitCommand = false; - for (std::vector::iterator it = views.begin(); it != views.end(); ++it) { - ViewProviderMesh* self = static_cast(*it); + for (auto it : views) { + ViewProviderMesh* self = static_cast(it); if (self->getEditingMode() > -1) { self->finishEditing(); SoCamera* cam = view->getSoRenderManager()->getCamera(); @@ -1120,8 +1113,8 @@ void ViewProviderMesh::partMeshCallback(void * ud, SoEventCallback * cb) try { std::vector views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId()); - for (std::vector::iterator it = views.begin(); it != views.end(); ++it) { - ViewProviderMesh* that = static_cast(*it); + for (auto view : views) { + ViewProviderMesh* that = static_cast(view); if (that->getEditingMode() > -1) { that->finishEditing(); Base::Placement plm = static_cast(that->getObject())->Placement.getValue(); @@ -1184,8 +1177,8 @@ void ViewProviderMesh::segmMeshCallback(void * ud, SoEventCallback * cb) try { std::vector views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId()); - for (std::vector::iterator it = views.begin(); it != views.end(); ++it) { - ViewProviderMesh* that = static_cast(*it); + for (auto view : views) { + ViewProviderMesh* that = static_cast(view); if (that->getEditingMode() > -1) { that->finishEditing(); Base::Placement plm = static_cast(that->getObject())->Placement.getValue(); @@ -1249,8 +1242,8 @@ void ViewProviderMesh::selectGLCallback(void * ud, SoEventCallback * n) std::vector views; views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId()); - for (std::vector::iterator it = views.begin(); it != views.end(); ++it) { - ViewProviderMesh* that = static_cast(*it); + for (auto it : views) { + ViewProviderMesh* that = static_cast(it); if (that->getEditingMode() > -1) { that->finishEditing(); that->selectArea(x, y, w, h, view->getSoRenderManager()->getViewportRegion(), view->getSoRenderManager()->getCamera()); @@ -1267,8 +1260,8 @@ void ViewProviderMesh::getFacetsFromPolygon(const std::vector& picked, { const bool ok = true; Base::Polygon2d polygon; - for (std::vector::const_iterator it = picked.begin(); it != picked.end(); ++it) - polygon.Add(Base::Vector2d((*it)[0],(*it)[1])); + for (auto it : picked) + polygon.Add(Base::Vector2d(it[0],it[1])); // Get the attached mesh property Mesh::PropertyMeshKernel& meshProp = static_cast(pcObject)->Mesh; @@ -1495,8 +1488,8 @@ void ViewProviderMesh::trimMesh(const std::vector& polygon, Mesh::MeshObject* mesh = static_cast(pcObject)->Mesh.startEditing(); Base::Polygon2d polygon2d; - for (std::vector::const_iterator it = polygon.begin(); it != polygon.end(); ++it) - polygon2d.Add(Base::Vector2d((*it)[0],(*it)[1])); + for (auto it : polygon) + polygon2d.Add(Base::Vector2d(it[0],it[1])); Mesh::MeshObject::CutType type = inner ? Mesh::MeshObject::INNER : @@ -1584,9 +1577,9 @@ void ViewProviderMesh::faceInfoCallback(void * ud, SoEventCallback * n) view->getWidget()->setCursor(QCursor(Qt::ArrowCursor)); view->removeEventCallback(SoMouseButtonEvent::getClassTypeId(), faceInfoCallback,ud); std::list glItems = view->getGraphicsItemsOfType(Gui::GLFlagWindow::getClassTypeId()); - for (std::list::iterator it = glItems.begin(); it != glItems.end(); ++it) { - view->removeGraphicsItem(*it); - delete *it; + for (auto glItem : glItems) { + view->removeGraphicsItem(glItem); + delete glItem; } // See comment below @@ -1715,21 +1708,21 @@ void ViewProviderMesh::markPartCallback(void * ud, SoEventCallback * n) view->removeEventCallback(SoMouseButtonEvent::getClassTypeId(), markPartCallback,ud); std::vector views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId()); - for (std::vector::iterator it = views.begin(); it != views.end(); ++it) { - static_cast(*it)->clearSelection(); + for (auto view : views) { + static_cast(view)->clearSelection(); } } else if (cf == id) { std::vector views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId()); - for (std::vector::iterator it = views.begin(); it != views.end(); ++it) { - static_cast(*it)->clearSelection(); + for (auto view : views) { + static_cast(view)->clearSelection(); } } else if (rm == id) { Gui::Application::Instance->activeDocument()->openCommand(QT_TRANSLATE_NOOP("Command", "Delete")); std::vector views = view->getViewProvidersOfType(ViewProviderMesh::getClassTypeId()); - for (std::vector::iterator it = views.begin(); it != views.end(); ++it) { - static_cast(*it)->deleteSelection(); + for (auto view : views) { + static_cast(view)->deleteSelection(); } view->redraw(); Gui::Application::Instance->activeDocument()->commitCommand(); @@ -1799,10 +1792,10 @@ void ViewProviderMesh::fillHole(Mesh::FacetIndex uFacet) std::vector newFacets; std::vector newPoints; unsigned long numberOfOldPoints = rKernel.CountPoints(); - for (std::list >::iterator it = boundaries.begin(); it != boundaries.end(); ++it) { - if (it->size() < 3/* || it->size() > 200*/) + for (const auto & it : boundaries) { + if (it.size() < 3/* || it->size() > 200*/) continue; - boundary = *it; + boundary = it; MeshCore::MeshFacetArray faces; MeshCore::MeshPointArray points; MeshCore::QuasiDelaunayTriangulator cTria/*(0.05f)*/; @@ -1820,11 +1813,11 @@ void ViewProviderMesh::fillHole(Mesh::FacetIndex uFacet) newPoints.push_back(*pt); } } - for (MeshCore::MeshFacetArray::_TIterator kt = faces.begin(); kt != faces.end(); ++kt ) { - kt->_aulPoints[0] = boundary[kt->_aulPoints[0]]; - kt->_aulPoints[1] = boundary[kt->_aulPoints[1]]; - kt->_aulPoints[2] = boundary[kt->_aulPoints[2]]; - newFacets.push_back(*kt); + for (auto & face : faces) { + face._aulPoints[0] = boundary[face._aulPoints[0]]; + face._aulPoints[1] = boundary[face._aulPoints[1]]; + face._aulPoints[2] = boundary[face._aulPoints[2]]; + newFacets.push_back(face); } } } @@ -2134,8 +2127,8 @@ void ViewProviderMesh::highlightSelection() SbColor* cols = pcShapeMaterial->diffuseColor.startEditing(); for (int i=0; i::iterator it = selection.begin(); it != selection.end(); ++it) - cols[*it].setValue(1.0f,0.0f,0.0f); + for (Mesh::FacetIndex it : selection) + cols[it].setValue(1.0f,0.0f,0.0f); pcShapeMaterial->diffuseColor.finishEditing(); } @@ -2170,13 +2163,13 @@ void ViewProviderMesh::highlightComponents() pcShapeMaterial->diffuseColor.setNum(uCtFacets); SbColor* cols = pcShapeMaterial->diffuseColor.startEditing(); - for (std::vector >::iterator it = comps.begin(); it != comps.end(); ++it) { + for (const auto & comp : comps) { float fMax = (float)RAND_MAX; float fRed = (float)rand()/fMax; float fGrn = (float)rand()/fMax; float fBlu = (float)rand()/fMax; - for (std::vector::iterator jt = it->begin(); jt != it->end(); ++jt) { - cols[*jt].setValue(fRed,fGrn,fBlu); + for (Mesh::FacetIndex jt : comp) { + cols[jt].setValue(fRed,fGrn,fBlu); } } pcShapeMaterial->diffuseColor.finishEditing(); @@ -2226,8 +2219,8 @@ void ViewProviderMesh::highlightSegments(const std::vector& colors) float fRed = colors[i].r; float fGrn = colors[i].g; float fBlu = colors[i].b; - for (std::vector::iterator it = segm.begin(); it != segm.end(); ++it) { - cols[*it].setValue(fRed,fGrn,fBlu); + for (Mesh::FacetIndex it : segm) { + cols[it].setValue(fRed,fGrn,fBlu); } } pcShapeMaterial->diffuseColor.finishEditing(); @@ -2305,9 +2298,7 @@ ViewProviderIndexedFaceSet::ViewProviderIndexedFaceSet() pcMeshFaces = nullptr; } -ViewProviderIndexedFaceSet::~ViewProviderIndexedFaceSet() -{ -} +ViewProviderIndexedFaceSet::~ViewProviderIndexedFaceSet() = default; /** * Extracts the mesh data from the feature \a pcFeature and creates @@ -2364,11 +2355,11 @@ void ViewProviderIndexedFaceSet::showOpenEdges(bool show) int index=0; const MeshCore::MeshKernel& rMesh = static_cast(pcObject)->Mesh.getValue().getKernel(); const MeshCore::MeshFacetArray& rFaces = rMesh.GetFacets(); - for (MeshCore::MeshFacetArray::_TConstIterator it = rFaces.begin(); it != rFaces.end(); ++it) { + for (const auto & rFace : rFaces) { for (int i=0; i<3; i++) { - if (it->_aulNeighbours[i] == MeshCore::FACET_INDEX_MAX) { - lines->coordIndex.set1Value(index++,it->_aulPoints[i]); - lines->coordIndex.set1Value(index++,it->_aulPoints[(i+1)%3]); + if (rFace._aulNeighbours[i] == MeshCore::FACET_INDEX_MAX) { + lines->coordIndex.set1Value(index++,rFace._aulPoints[i]); + lines->coordIndex.set1Value(index++,rFace._aulPoints[(i+1)%3]); lines->coordIndex.set1Value(index++,SO_END_LINE_INDEX); } } @@ -2396,9 +2387,7 @@ ViewProviderMeshObject::ViewProviderMeshObject() pcMeshShape = nullptr; } -ViewProviderMeshObject::~ViewProviderMeshObject() -{ -} +ViewProviderMeshObject::~ViewProviderMeshObject() = default; void ViewProviderMeshObject::attach(App::DocumentObject *pcFeat) { diff --git a/src/Mod/Mesh/Gui/ViewProvider.h b/src/Mod/Mesh/Gui/ViewProvider.h index 1affd90392..ad03b2ce66 100644 --- a/src/Mod/Mesh/Gui/ViewProvider.h +++ b/src/Mod/Mesh/Gui/ViewProvider.h @@ -80,8 +80,7 @@ class SoFCMeshObjectShape; class MeshGuiExport ViewProviderMeshBuilder : public Gui::ViewProviderBuilder { public: - ViewProviderMeshBuilder(){} - ~ViewProviderMeshBuilder() override{} + ViewProviderMeshBuilder() = default; void buildNodes(const App::Property*, std::vector&) const override; void createMesh(const App::Property*, SoCoordinate3*, SoIndexedFaceSet*) const; void createMesh(const MeshCore::MeshKernel&, SoCoordinate3*, SoIndexedFaceSet*) const; @@ -237,16 +236,18 @@ protected: Segment, Color }; + //NOLINTBEGIN HighlighMode highlightMode; - Gui::SoFCSelection * pcHighlight; - SoGroup * pcShapeGroup; - SoDrawStyle * pcLineStyle; - SoDrawStyle * pcPointStyle; - SoSeparator * pcOpenEdge; - SoBaseColor * pOpenColor; - SoMaterial * pLineColor; - SoShapeHints * pShapeHints; - SoMaterialBinding * pcMatBinding; + Gui::SoFCSelection * pcHighlight{nullptr}; + SoGroup * pcShapeGroup{nullptr}; + SoDrawStyle * pcLineStyle{nullptr}; + SoDrawStyle * pcPointStyle{nullptr}; + SoSeparator * pcOpenEdge{nullptr}; + SoBaseColor * pOpenColor{nullptr}; + SoMaterial * pLineColor{nullptr}; + SoShapeHints * pShapeHints{nullptr}; + SoMaterialBinding * pcMatBinding{nullptr}; + //NOLINTEND private: static App::PropertyFloatConstraint::Constraints floatRange; diff --git a/src/Mod/Mesh/Gui/ViewProviderCurvature.cpp b/src/Mod/Mesh/Gui/ViewProviderCurvature.cpp index 699db3c801..22fffd7638 100644 --- a/src/Mod/Mesh/Gui/ViewProviderCurvature.cpp +++ b/src/Mod/Mesh/Gui/ViewProviderCurvature.cpp @@ -160,9 +160,9 @@ void ViewProviderMeshCurvature::init(const Mesh::PropertyCurvatureList* pCurvInf aMinValues.reserve(fCurvInfo.size()); aMaxValues.reserve(fCurvInfo.size()); - for ( std::vector::const_iterator jt=fCurvInfo.begin();jt!=fCurvInfo.end(); ++jt ) { - aMinValues.push_back( jt->fMinCurvature ); - aMaxValues.push_back( jt->fMaxCurvature ); + for (const auto & jt : fCurvInfo) { + aMinValues.push_back( jt.fMinCurvature ); + aMaxValues.push_back( jt.fMaxCurvature ); } if ( aMinValues.empty() || aMaxValues.empty() ) @@ -173,15 +173,15 @@ void ViewProviderMeshCurvature::init(const Mesh::PropertyCurvatureList* pCurvInf // histogram over all values std::map aHistogram; - for ( std::vector::const_iterator kt = aMinValues.begin(); kt != aMinValues.end(); ++kt ) { - int grp = (int)(10.0f*( *kt - fMin )/( fMax - fMin )); + for (float aMinValue : aMinValues) { + int grp = (int)(10.0f*( aMinValue - fMin )/( fMax - fMin )); aHistogram[grp]++; } float fRMin=-1.0f; - for ( std::map::iterator mIt = aHistogram.begin(); mIt != aHistogram.end(); ++mIt ) { - if ( (float)mIt->second / (float)aMinValues.size() > 0.15f ) { - fRMin = mIt->first * ( fMax - fMin )/10.0f + fMin; + for (const auto & mIt : aHistogram) { + if ( (float)mIt.second / (float)aMinValues.size() > 0.15f ) { + fRMin = mIt.first * ( fMax - fMin )/10.0f + fMin; break; } } @@ -191,8 +191,8 @@ void ViewProviderMeshCurvature::init(const Mesh::PropertyCurvatureList* pCurvInf // histogram over all values aHistogram.clear(); - for ( std::vector::const_iterator it2 = aMaxValues.begin(); it2 != aMaxValues.end(); ++it2 ) { - int grp = (int)(10.0f*( *it2 - fMin )/( fMax - fMin )); + for (float aMaxValue : aMaxValues) { + int grp = (int)(10.0f*( aMaxValue - fMin )/( fMax - fMin )); aHistogram[grp]++; } @@ -425,9 +425,6 @@ public: : vp(vp), s(s), p(p), n(n) { } - ~Annotation() - { - } static void run(void * data, SoSensor * sensor) { @@ -445,9 +442,9 @@ public: (App::DocumentObjectGroup::getClassTypeId()); App::DocumentObjectGroup* group = nullptr; std::string internalname = "CurvatureGroup"; - for (std::vector::iterator it = groups.begin(); it != groups.end(); ++it) { - if (internalname == (*it)->getNameInDocument()) { - group = static_cast(*it); + for (const auto & it : groups) { + if (internalname == it->getNameInDocument()) { + group = static_cast(it); break; } } @@ -460,8 +457,8 @@ public: (group->addObject("App::AnnotationLabel", internalname.c_str())); QStringList lines = s.split(QLatin1String("\n")); std::vector text; - for (QStringList::Iterator it = lines.begin(); it != lines.end(); ++it) - text.emplace_back((const char*)it->toLatin1()); + for (const auto & line : lines) + text.emplace_back((const char*)line.toLatin1()); anno->LabelText.setValues(text); std::stringstream str; str << "Curvature info (" << group->Group.getSize() << ")"; diff --git a/src/Mod/Mesh/Gui/ViewProviderDefects.cpp b/src/Mod/Mesh/Gui/ViewProviderDefects.cpp index 87e1d60f85..d76bcf337b 100644 --- a/src/Mod/Mesh/Gui/ViewProviderDefects.cpp +++ b/src/Mod/Mesh/Gui/ViewProviderDefects.cpp @@ -149,10 +149,9 @@ void ViewProviderMeshOrientation::showDefects(const std::vector::const_iterator it = inds.begin(); it != inds.end(); ++it) { - cF.Set(*it); - for (int k=0; k<3; k++) { - Base::Vector3f cP = cF->_aclPoints[k]; + for (Mesh::ElementIndex ind : inds) { + cF.Set(ind); + for (auto cP : cF->_aclPoints) { // move a bit in opposite normal direction to overlay the original faces cP -= 0.001f * cF->GetNormal(); pcCoords->point.set1Value(i++,cP.x,cP.y,cP.z); @@ -277,8 +276,8 @@ void ViewProviderMeshNonManifoldPoints::showDefects(const std::vectorpoint.setNum(inds.size()); MeshCore::MeshPointIterator cP(rMesh); int i = 0; - for ( std::vector::const_iterator it = inds.begin(); it != inds.end(); ++it ) { - cP.Set(*it); + for (Mesh::ElementIndex ind : inds) { + cP.Set(ind); pcCoords->point.set1Value(i++,cP->x,cP->y,cP->z); } @@ -343,10 +342,9 @@ void ViewProviderMeshDuplicatedFaces::showDefects(const std::vector::const_iterator it = inds.begin(); it != inds.end(); ++it) { - cF.Set(*it); - for (int k=0; k<3; k++) { - Base::Vector3f cP = cF->_aclPoints[k]; + for (Mesh::ElementIndex ind : inds) { + cF.Set(ind); + for (auto cP : cF->_aclPoints) { // move a bit in normal direction to overlay the original faces cP += 0.001f * cF->GetNormal(); pcCoords->point.set1Value(i++,cP.x,cP.y,cP.z); @@ -406,8 +404,8 @@ void ViewProviderMeshDuplicatedPoints::showDefects(const std::vectorpoint.setNum(inds.size()); MeshCore::MeshPointIterator cP(rMesh); int i = 0; - for ( std::vector::const_iterator it = inds.begin(); it != inds.end(); ++it ) { - cP.Set(*it); + for (Mesh::ElementIndex ind : inds) { + cP.Set(ind); pcCoords->point.set1Value(i++,cP->x,cP->y,cP->z); } @@ -465,8 +463,8 @@ void ViewProviderMeshDegenerations::showDefects(const std::vector::const_iterator it = inds.begin(); it != inds.end(); ++it) { - cF.Set(*it); + for (Mesh::ElementIndex ind : inds) { + cF.Set(ind); const MeshCore::MeshPoint& rE0 = cF->_aclPoints[0]; const MeshCore::MeshPoint& rE1 = cF->_aclPoints[1]; const MeshCore::MeshPoint& rE2 = cF->_aclPoints[2]; @@ -572,10 +570,9 @@ void ViewProviderMeshIndices::showDefects(const std::vector& MeshCore::MeshFacetIterator cF(rMesh); int i=0; int j=0; - for (std::vector::const_iterator it = inds.begin(); it != inds.end(); ++it) { - cF.Set(*it); - for (int k=0; k<3; k++) { - Base::Vector3f cP = cF->_aclPoints[k]; + for (Mesh::ElementIndex ind : inds) { + cF.Set(ind); + for (auto cP : cF->_aclPoints) { // move a bit in opposite normal direction to overlay the original faces cP -= 0.001f * cF->GetNormal(); pcCoords->point.set1Value(i++,cP.x,cP.y,cP.z); @@ -651,9 +648,9 @@ void ViewProviderMeshSelfIntersections::showDefects(const std::vectorpoint.setNum(2*lines.size()); int i=0; int j=0; - for (std::vector >::const_iterator it = lines.begin(); it != lines.end(); ++it) { - pcCoords->point.set1Value(i++,it->first.x,it->first.y,it->first.z); - pcCoords->point.set1Value(i++,it->second.x,it->second.y,it->second.z); + for (const auto & line : lines) { + pcCoords->point.set1Value(i++,line.first.x,line.first.y,line.first.z); + pcCoords->point.set1Value(i++,line.second.x,line.second.y,line.second.z); pcLines->numVertices.set1Value(j++, 2); } @@ -718,10 +715,9 @@ void ViewProviderMeshFolds::showDefects(const std::vector& i MeshCore::MeshFacetIterator cF(rMesh); int i=0; int j=0; - for (std::vector::const_iterator it = inds.begin(); it != inds.end(); ++it) { - cF.Set(*it); - for (int k=0; k<3; k++) { - Base::Vector3f cP = cF->_aclPoints[k]; + for (Mesh::ElementIndex ind : inds) { + cF.Set(ind); + for (auto cP : cF->_aclPoints) { // move a bit in normal direction to overlay the original faces cP += 0.001f * cF->GetNormal(); pcCoords->point.set1Value(i++,cP.x,cP.y,cP.z); diff --git a/src/Mod/Mesh/Gui/ViewProviderMeshFaceSet.cpp b/src/Mod/Mesh/Gui/ViewProviderMeshFaceSet.cpp index 13d5ab05a9..6d7febbbf0 100644 --- a/src/Mod/Mesh/Gui/ViewProviderMeshFaceSet.cpp +++ b/src/Mod/Mesh/Gui/ViewProviderMeshFaceSet.cpp @@ -163,11 +163,11 @@ void ViewProviderMeshFaceSet::showOpenEdges(bool show) int index=0; const MeshCore::MeshKernel& rMesh = static_cast(pcObject)->Mesh.getValue().getKernel(); const MeshCore::MeshFacetArray& rFaces = rMesh.GetFacets(); - for (MeshCore::MeshFacetArray::_TConstIterator it = rFaces.begin(); it != rFaces.end(); ++it) { + for (const auto & rFace : rFaces) { for (int i=0; i<3; i++) { - if (it->_aulNeighbours[i] == MeshCore::FACET_INDEX_MAX) { - lines->coordIndex.set1Value(index++,it->_aulPoints[i]); - lines->coordIndex.set1Value(index++,it->_aulPoints[(i+1)%3]); + if (rFace._aulNeighbours[i] == MeshCore::FACET_INDEX_MAX) { + lines->coordIndex.set1Value(index++,rFace._aulPoints[i]); + lines->coordIndex.set1Value(index++,rFace._aulPoints[(i+1)%3]); lines->coordIndex.set1Value(index++,SO_END_LINE_INDEX); } } diff --git a/src/Mod/Mesh/Gui/ViewProviderTransformDemolding.h b/src/Mod/Mesh/Gui/ViewProviderTransformDemolding.h index 330959c226..b45290d1b4 100644 --- a/src/Mod/Mesh/Gui/ViewProviderTransformDemolding.h +++ b/src/Mod/Mesh/Gui/ViewProviderTransformDemolding.h @@ -36,6 +36,7 @@ class SoIndexedFaceSet; class SoFaceSet; class SoPath; class SoLocateHighlight; +class SbRotation; class SoTrackballDragger; class SoTransformerManip; diff --git a/src/Mod/Mesh/Gui/Workbench.cpp b/src/Mod/Mesh/Gui/Workbench.cpp index b0fe076f45..2cdcf5860a 100644 --- a/src/Mod/Mesh/Gui/Workbench.cpp +++ b/src/Mod/Mesh/Gui/Workbench.cpp @@ -55,13 +55,7 @@ using namespace MeshGui; /// @namespace MeshGui @class Workbench TYPESYSTEM_SOURCE(MeshGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} - -Workbench::~Workbench() -{ -} +Workbench::Workbench() = default; class MeshInfoWatcher : public Gui::TaskView::TaskWatcher, public Gui::SelectionObserver { @@ -114,10 +108,10 @@ public: Base::BoundBox3d bbox; unsigned long countPoints=0, countFacets=0; std::vector mesh = Gui::Selection().getObjectsOfType(); - for (std::vector::iterator it = mesh.begin(); it != mesh.end(); ++it) { - countPoints += (*it)->Mesh.getValue().countPoints(); - countFacets += (*it)->Mesh.getValue().countFacets(); - bbox.Add((*it)->Mesh.getBoundingBox()); + for (auto it : mesh) { + countPoints += it->Mesh.getValue().countPoints(); + countFacets += it->Mesh.getValue().countFacets(); + bbox.Add(it->Mesh.getBoundingBox()); } if (countPoints > 0) { diff --git a/src/Mod/Mesh/Gui/Workbench.h b/src/Mod/Mesh/Gui/Workbench.h index 8b05c9d1c8..737dd2db3f 100644 --- a/src/Mod/Mesh/Gui/Workbench.h +++ b/src/Mod/Mesh/Gui/Workbench.h @@ -40,7 +40,6 @@ class MeshGuiExport Workbench : public Gui::StdWorkbench public: Workbench(); - ~Workbench() override; void activated() override; void deactivated() override; diff --git a/src/Mod/MeshPart/App/AppMeshPartPy.cpp b/src/Mod/MeshPart/App/AppMeshPartPy.cpp index 05eb911083..6d9b707955 100644 --- a/src/Mod/MeshPart/App/AppMeshPartPy.cpp +++ b/src/Mod/MeshPart/App/AppMeshPartPy.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -140,8 +141,6 @@ public: initialize("This module is the MeshPart module."); // register with Python } - ~Module() override {} - private: Py::Object invoke_method_varargs(void *method_def, const Py::Tuple &args) override { @@ -250,14 +249,14 @@ private: } Py::Object projectShapeOnMesh(const Py::Tuple& args, const Py::Dict& kwds) { - static char* kwds_maxdist[] = {"Shape", "Mesh", "MaxDistance", nullptr}; + static const std::array kwds_maxdist{"Shape", "Mesh", "MaxDistance", nullptr}; PyObject *s, *m; double maxDist; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), - "O!O!d", kwds_maxdist, - &Part::TopoShapePy::Type, &s, - &Mesh::MeshPy::Type, &m, - &maxDist)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), + "O!O!d", kwds_maxdist, + &Part::TopoShapePy::Type, &s, + &Mesh::MeshPy::Type, &m, + &maxDist)) { TopoDS_Shape shape = static_cast(s)->getTopoShapePtr()->getShape(); const Mesh::MeshObject* mesh = static_cast(m)->getMeshObjectPtr(); MeshCore::MeshKernel kernel(mesh->getKernel()); @@ -280,14 +279,14 @@ private: return list; } - static char* kwds_dir[] = {"Shape", "Mesh", "Direction", nullptr}; + static const std::array kwds_dir {"Shape", "Mesh", "Direction", nullptr}; PyErr_Clear(); PyObject *v; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), - "O!O!O!", kwds_dir, - &Part::TopoShapePy::Type, &s, - &Mesh::MeshPy::Type, &m, - &Base::VectorPy::Type, &v)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), + "O!O!O!", kwds_dir, + &Part::TopoShapePy::Type, &s, + &Mesh::MeshPy::Type, &m, + &Base::VectorPy::Type, &v)) { TopoDS_Shape shape = static_cast(s)->getTopoShapePtr()->getShape(); const Mesh::MeshObject* mesh = static_cast(m)->getMeshObjectPtr(); Base::Vector3d* vec = static_cast(v)->getVectorPtr(); @@ -312,14 +311,14 @@ private: return list; } - static char* kwds_poly[] = {"Polygons", "Mesh", "Direction", nullptr}; + static const std::array kwds_poly {"Polygons", "Mesh", "Direction", nullptr}; PyErr_Clear(); PyObject *seq; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), - "OO!O!", kwds_poly, - &seq, - &Mesh::MeshPy::Type, &m, - &Base::VectorPy::Type, &v)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), + "OO!O!", kwds_poly, + &seq, + &Mesh::MeshPy::Type, &m, + &Base::VectorPy::Type, &v)) { std::vector polylinesIn; Py::Sequence edges(seq); polylinesIn.reserve(edges.size()); @@ -474,18 +473,18 @@ private: { PyObject *shape; - static char* kwds_lindeflection[] = {"Shape", "LinearDeflection", "AngularDeflection", - "Relative", "Segments", "GroupColors", nullptr}; + static const std::array kwds_lindeflection{"Shape", "LinearDeflection", "AngularDeflection", + "Relative", "Segments", "GroupColors", nullptr}; PyErr_Clear(); double lindeflection=0; double angdeflection=0.5; PyObject* relative = Py_False; PyObject* segment = Py_False; PyObject* groupColors = nullptr; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d|dO!O!O", kwds_lindeflection, - &(Part::TopoShapePy::Type), &shape, &lindeflection, - &angdeflection, &(PyBool_Type), &relative, - &(PyBool_Type), &segment, &groupColors)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d|dO!O!O", kwds_lindeflection, + &(Part::TopoShapePy::Type), &shape, &lindeflection, + &angdeflection, &(PyBool_Type), &relative, + &(PyBool_Type), &segment, &groupColors)) { MeshPart::Mesher mesher(static_cast(shape)->getTopoShapePtr()->getShape()); mesher.setMethod(MeshPart::Mesher::Standard); mesher.setDeflection(lindeflection); @@ -512,11 +511,11 @@ private: return Py::asObject(new Mesh::MeshPy(mesher.createMesh())); } - static char* kwds_maxLength[] = {"Shape", "MaxLength",nullptr}; + static const std::array kwds_maxLength{"Shape", "MaxLength", nullptr}; PyErr_Clear(); double maxLength=0; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d", kwds_maxLength, - &(Part::TopoShapePy::Type), &shape, &maxLength)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d", kwds_maxLength, + &(Part::TopoShapePy::Type), &shape, &maxLength)) { MeshPart::Mesher mesher(static_cast(shape)->getTopoShapePtr()->getShape()); mesher.setMethod(MeshPart::Mesher::Mefisto); mesher.setMaxLength(maxLength); @@ -524,11 +523,11 @@ private: return Py::asObject(new Mesh::MeshPy(mesher.createMesh())); } - static char* kwds_maxArea[] = {"Shape", "MaxArea",nullptr}; + static const std::array kwds_maxArea{"Shape", "MaxArea", nullptr}; PyErr_Clear(); double maxArea=0; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d", kwds_maxArea, - &(Part::TopoShapePy::Type), &shape, &maxArea)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d", kwds_maxArea, + &(Part::TopoShapePy::Type), &shape, &maxArea)) { MeshPart::Mesher mesher(static_cast(shape)->getTopoShapePtr()->getShape()); mesher.setMethod(MeshPart::Mesher::Mefisto); mesher.setMaxArea(maxArea); @@ -536,11 +535,11 @@ private: return Py::asObject(new Mesh::MeshPy(mesher.createMesh())); } - static char* kwds_localLen[] = {"Shape", "LocalLength",nullptr}; + static const std::array kwds_localLen{"Shape", "LocalLength", nullptr}; PyErr_Clear(); double localLen=0; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d", kwds_localLen, - &(Part::TopoShapePy::Type), &shape, &localLen)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d", kwds_localLen, + &(Part::TopoShapePy::Type), &shape, &localLen)) { MeshPart::Mesher mesher(static_cast(shape)->getTopoShapePtr()->getShape()); mesher.setMethod(MeshPart::Mesher::Mefisto); mesher.setLocalLength(localLen); @@ -548,11 +547,11 @@ private: return Py::asObject(new Mesh::MeshPy(mesher.createMesh())); } - static char* kwds_deflection[] = {"Shape", "Deflection",nullptr}; + static const std::array kwds_deflection{"Shape", "Deflection", nullptr}; PyErr_Clear(); double deflection=0; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d", kwds_deflection, - &(Part::TopoShapePy::Type), &shape, &deflection)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d", kwds_deflection, + &(Part::TopoShapePy::Type), &shape, &deflection)) { MeshPart::Mesher mesher(static_cast(shape)->getTopoShapePtr()->getShape()); mesher.setMethod(MeshPart::Mesher::Mefisto); mesher.setDeflection(deflection); @@ -560,11 +559,11 @@ private: return Py::asObject(new Mesh::MeshPy(mesher.createMesh())); } - static char* kwds_minmaxLen[] = {"Shape", "MinLength","MaxLength",nullptr}; + static const std::array kwds_minmaxLen{"Shape", "MinLength", "MaxLength", nullptr}; PyErr_Clear(); double minLen=0, maxLen=0; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!dd", kwds_minmaxLen, - &(Part::TopoShapePy::Type), &shape, &minLen, &maxLen)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!dd", kwds_minmaxLen, + &(Part::TopoShapePy::Type), &shape, &minLen, &maxLen)) { MeshPart::Mesher mesher(static_cast(shape)->getTopoShapePtr()->getShape()); mesher.setMethod(MeshPart::Mesher::Mefisto); mesher.setMinMaxLengths(minLen, maxLen); @@ -572,12 +571,13 @@ private: return Py::asObject(new Mesh::MeshPy(mesher.createMesh())); } - static char* kwds_fineness[] = {"Shape", "Fineness", "SecondOrder", "Optimize", "AllowQuad", "MinLength", "MaxLength", nullptr}; + static const std::array kwds_fineness{"Shape", "Fineness", "SecondOrder", "Optimize", + "AllowQuad", "MinLength", "MaxLength", nullptr}; PyErr_Clear(); int fineness=0, secondOrder=0, optimize=1, allowquad=0; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!i|iiidd", kwds_fineness, - &(Part::TopoShapePy::Type), &shape, &fineness, - &secondOrder, &optimize, &allowquad, &minLen, &maxLen)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!i|iiidd", kwds_fineness, + &(Part::TopoShapePy::Type), &shape, &fineness, + &secondOrder, &optimize, &allowquad, &minLen, &maxLen)) { #if defined (HAVE_NETGEN) MeshPart::Mesher mesher(static_cast(shape)->getTopoShapePtr()->getShape()); mesher.setMethod(MeshPart::Mesher::Netgen); @@ -592,14 +592,15 @@ private: #endif } - static char* kwds_user[] = {"Shape", "GrowthRate", "SegPerEdge", "SegPerRadius", "SecondOrder", - "Optimize", "AllowQuad", "MinLength", "MaxLength", nullptr }; + static const std::array kwds_user{"Shape", "GrowthRate", "SegPerEdge", "SegPerRadius", + "SecondOrder", "Optimize", "AllowQuad", "MinLength", + "MaxLength", nullptr}; PyErr_Clear(); double growthRate=0, nbSegPerEdge=0, nbSegPerRadius=0; - if (PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|dddiiidd", kwds_user, - &(Part::TopoShapePy::Type), &shape, - &growthRate, &nbSegPerEdge, &nbSegPerRadius, - &secondOrder, &optimize, &allowquad, &minLen, &maxLen)) { + if (Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|dddiiidd", kwds_user, + &(Part::TopoShapePy::Type), &shape, + &growthRate, &nbSegPerEdge, &nbSegPerRadius, + &secondOrder, &optimize, &allowquad, &minLen, &maxLen)) { #if defined (HAVE_NETGEN) MeshPart::Mesher mesher(static_cast(shape)->getTopoShapePtr()->getShape()); mesher.setMethod(MeshPart::Mesher::Netgen); diff --git a/src/Mod/MeshPart/App/CurveProjector.cpp b/src/Mod/MeshPart/App/CurveProjector.cpp index deb0d5eff3..71742a05b5 100644 --- a/src/Mod/MeshPart/App/CurveProjector.cpp +++ b/src/Mod/MeshPart/App/CurveProjector.cpp @@ -67,7 +67,8 @@ using MeshCore::MeshFacetGrid; using MeshCore::MeshFacet; CurveProjector::CurveProjector(const TopoDS_Shape &aShape, const MeshKernel &pMesh) -: _Shape(aShape), _Mesh(pMesh) + : _Shape(aShape) + , _Mesh(pMesh) { } @@ -78,9 +79,9 @@ void CurveProjector::writeIntersectionPointsToFile(const char *name) Base::ofstream str(fi, std::ios::out | std::ios::binary); str.precision(4); str.setf(std::ios::fixed | std::ios::showpoint); - for (result_type::const_iterator it1 = mvEdgeSplitPoints.begin();it1!=mvEdgeSplitPoints.end();++it1) { - for (std::vector::const_iterator it2 = it1->second.begin();it2!=it1->second.end();++it2) { - str << it2->p1.x << " " << it2->p1.y << " " << it2->p1.z << std::endl; + for (const auto & it1 : mvEdgeSplitPoints) { + for (const auto & it2 : it1.second) { + str << it2.p1.x << " " << it2.p1.y << " " << it2.p1.z << std::endl; } } str.close(); @@ -93,9 +94,9 @@ void CurveProjector::writeIntersectionPointsToFile(const char *name) //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CurveProjectorShape::CurveProjectorShape(const TopoDS_Shape &aShape, const MeshKernel &pMesh) -: CurveProjector(aShape,pMesh) + : CurveProjector(aShape, pMesh) { - Do(); + CurveProjectorShape::Do(); } void CurveProjectorShape::Do() @@ -110,8 +111,8 @@ void CurveProjectorShape::Do() } -void CurveProjectorShape::projectCurve( const TopoDS_Edge& aEdge, - std::vector &vSplitEdges) +void CurveProjectorShape::projectCurve(const TopoDS_Edge& aEdge, + std::vector &vSplitEdges) { Standard_Real fFirst, fLast; Handle(Geom_Curve) hCurve = BRep_Tool::Curve( aEdge,fFirst,fLast ); @@ -641,16 +642,16 @@ void CurveProjectorWithToolMesh::makeToolMesh( const TopoDS_Edge& aEdge,std::vec Base::Vector3f lp(FLOAT_MAX,0,0), ln, p1, p2, p3, p4,p5,p6; float ToolSize = 0.2f; - for (std::vector::iterator It2=LineSegs.begin(); It2!=LineSegs.end();++It2) + for (const auto & It2 : LineSegs) { if(lp.x != FLOAT_MAX) { p1 = lp + (ln * (-ToolSize)); p2 = lp + (ln * ToolSize); p3 = lp; - p4 = (*It2).p; - p5 = (*It2).p + ((*It2).n * (-ToolSize)); - p6 = (*It2).p + ((*It2).n * ToolSize); + p4 = It2.p; + p5 = It2.p + (It2.n * (-ToolSize)); + p6 = It2.p + (It2.n * ToolSize); cVAry.emplace_back(p3,p2,p6); cVAry.emplace_back(p3,p6,p4); @@ -659,8 +660,8 @@ void CurveProjectorWithToolMesh::makeToolMesh( const TopoDS_Edge& aEdge,std::vec } - lp = (*It2).p; - ln = (*It2).n; + lp = It2.p; + ln = It2.n; } } @@ -671,10 +672,6 @@ MeshProjection::MeshProjection(const MeshKernel& rMesh) { } -MeshProjection::~MeshProjection() -{ -} - void MeshProjection::discretize(const TopoDS_Edge& aEdge, std::vector& polyline, std::size_t minPoints) const { BRepAdaptor_Curve clCurve(aEdge); @@ -713,9 +710,10 @@ void MeshProjection::splitMeshByShape ( const TopoDS_Shape &aShape, float fMaxDi Base::ofstream str(fi, std::ios::out | std::ios::binary); str.precision(4); str.setf(std::ios::fixed | std::ios::showpoint); - for (std::vector::const_iterator it = rPolyLines.begin();it!=rPolyLines.end();++it) { - for (std::vector::const_iterator jt = it->points.begin();jt != it->points.end();++jt) - str << jt->x << " " << jt->y << " " << jt->z << std::endl; + for (const auto & it : rPolyLines) { + for (const auto& jt : it.points) { + str << jt.x << " " << jt.y << " " << jt.z << std::endl; + } } str.close(); } @@ -1021,12 +1019,12 @@ void MeshProjection::projectEdgeToEdge( const TopoDS_Edge &aEdge, float fMaxDist auFInds.erase(std::unique(auFInds.begin(), auFInds.end()), auFInds.end()); // facet to edge - for ( std::vector::iterator pI = auFInds.begin(); pI != auFInds.end(); ++pI ) { - const MeshFacet& rF = rclFAry[*pI]; + for (MeshCore::FacetIndex index : auFInds) { + const MeshFacet& rF = rclFAry[index]; for (int i = 0; i < 3; i++) { MeshCore::PointIndex ulPt0 = std::min(rF._aulPoints[i], rF._aulPoints[(i+1)%3]); MeshCore::PointIndex ulPt1 = std::max(rF._aulPoints[i], rF._aulPoints[(i+1)%3]); - pEdgeToFace[std::pair(ulPt0, ulPt1)].push_front(*pI); + pEdgeToFace[std::pair(ulPt0, ulPt1)].push_front(index); } } @@ -1065,8 +1063,8 @@ void MeshProjection::projectEdgeToEdge( const TopoDS_Edge &aEdge, float fMaxDist // continue; Base::Vector3f cEdgeNormal; - for ( std::list::const_iterator itF = auFaces.begin(); itF != auFaces.end(); ++itF ) { - cFI.Set( *itF ); + for (MeshCore::FacetIndex itF : auFaces) { + cFI.Set( itF ); cEdgeNormal += cFI->GetNormal(); } @@ -1144,8 +1142,7 @@ void MeshProjection::projectEdgeToEdge( const TopoDS_Edge &aEdge, float fMaxDist } // sorted by parameter - for (std::map::iterator itS = - rParamSplitEdges.begin(); itS != rParamSplitEdges.end(); ++itS) { - rSplitEdges.push_back( itS->second ); + for (const auto & itS : rParamSplitEdges) { + rSplitEdges.push_back( itS.second ); } } diff --git a/src/Mod/MeshPart/App/CurveProjector.h b/src/Mod/MeshPart/App/CurveProjector.h index 4fb0d5ff37..63fdd1b4b5 100644 --- a/src/Mod/MeshPart/App/CurveProjector.h +++ b/src/Mod/MeshPart/App/CurveProjector.h @@ -52,7 +52,7 @@ class MeshPartExport CurveProjector { public: CurveProjector(const TopoDS_Shape &aShape, const MeshKernel &pMesh); - virtual ~CurveProjector() {} + virtual ~CurveProjector() = default; struct FaceSplitEdge { @@ -89,7 +89,7 @@ class MeshPartExport CurveProjectorShape: public CurveProjector { public: CurveProjectorShape(const TopoDS_Shape &aShape, const MeshKernel &pMesh); - ~CurveProjectorShape() override {} + ~CurveProjectorShape() override = default; void projectCurve(const TopoDS_Edge& aEdge, std::vector &vSplitEdges); @@ -110,7 +110,7 @@ class MeshPartExport CurveProjectorSimple: public CurveProjector { public: CurveProjectorSimple(const TopoDS_Shape &aShape, const MeshKernel &pMesh); - ~CurveProjectorSimple() override {} + ~CurveProjectorSimple() override = default; /// helper to discredicice a Edge... void GetSampledCurves( const TopoDS_Edge& aEdge, std::vector& rclPoints, unsigned long ulNbOfPoints = 30); @@ -139,7 +139,7 @@ public: }; CurveProjectorWithToolMesh(const TopoDS_Shape &aShape, const MeshKernel &pMesh,MeshKernel &rToolMesh); - ~CurveProjectorWithToolMesh() override {} + ~CurveProjectorWithToolMesh() override = default; void makeToolMesh(const TopoDS_Edge& aEdge,std::vector &cVAry ); @@ -174,10 +174,7 @@ public: std::vector points; }; - /// Construction explicit MeshProjection(const MeshKernel& rMesh); - /// Destruction - ~MeshProjection(); /** * @brief findSectionParameters diff --git a/src/Mod/MeshPart/App/MeshAlgos.cpp b/src/Mod/MeshPart/App/MeshAlgos.cpp index 3c133a8652..f812be8d21 100644 --- a/src/Mod/MeshPart/App/MeshAlgos.cpp +++ b/src/Mod/MeshPart/App/MeshAlgos.cpp @@ -101,8 +101,8 @@ void MeshAlgos::offsetSpecial2(MeshCore::MeshKernel* Mesh, float fSize) if(fliped.empty()) break; - for(std::set::iterator It= fliped.begin();It!=fliped.end();++It) - alg.CollapseFacet(*It); + for(MeshCore::FacetIndex It : fliped) + alg.CollapseFacet(It); fliped.clear(); } @@ -448,9 +448,9 @@ void MeshAlgos::cutByCurve(MeshCore::MeshKernel* pMesh,const std::vector::const_iterator it = vSplitEdges.begin();it!=vSplitEdges.end();++it) + for (const auto & it : vSplitEdges) { - cTopAlg.SplitFacet( it->ulFaceIndex, it->p1, it->p2 ); + cTopAlg.SplitFacet( it.ulFaceIndex, it.p1, it.p2 ); } } @@ -476,8 +476,7 @@ class _VertexCompare return clP1.X() < clP2.X(); } - _VertexCompare () : dE(1.0e-5) {} - double dE; + double dE = 1.0e-5; }; diff --git a/src/Mod/MeshPart/App/MeshFlattening.h b/src/Mod/MeshPart/App/MeshFlattening.h index 38f8155129..0ef9a6a16a 100644 --- a/src/Mod/MeshPart/App/MeshFlattening.h +++ b/src/Mod/MeshPart/App/MeshFlattening.h @@ -55,7 +55,7 @@ std::vector> getBoundaries(ColMat vertices, ColMat< class FaceUnwrapper{ nurbs::NurbsBase2D nu; public: - FaceUnwrapper(){} + FaceUnwrapper() = default; FaceUnwrapper(const TopoDS_Face & face); FaceUnwrapper(ColMat xyz_nodes, ColMat tris); void findFlatNodes(int steps, double val); diff --git a/src/Mod/MeshPart/App/MeshFlatteningLscmRelax.h b/src/Mod/MeshPart/App/MeshFlatteningLscmRelax.h index 2fc592c94e..1874a793d3 100644 --- a/src/Mod/MeshPart/App/MeshFlatteningLscmRelax.h +++ b/src/Mod/MeshPart/App/MeshFlatteningLscmRelax.h @@ -89,7 +89,7 @@ private: Eigen::MatrixXd get_nullspace(); public: - LscmRelax() {} + LscmRelax() = default; LscmRelax( RowMat vertices, RowMat triangles, diff --git a/src/Mod/MeshPart/App/MeshFlatteningNurbs.h b/src/Mod/MeshPart/App/MeshFlatteningNurbs.h index acfef85eb4..dd4929f434 100644 --- a/src/Mod/MeshPart/App/MeshFlatteningNurbs.h +++ b/src/Mod/MeshPart/App/MeshFlatteningNurbs.h @@ -36,7 +36,7 @@ using spMat = Eigen::SparseMatrix; struct NurbsBase2D { // - NurbsBase2D(){} + NurbsBase2D() = default; NurbsBase2D(Eigen::VectorXd u_knots, Eigen::VectorXd v_knots, Eigen::VectorXd weights, int degree_u=3, int degree_v=3); @@ -81,7 +81,7 @@ struct NurbsBase2D struct NurbsBase1D { - NurbsBase1D(){} + NurbsBase1D() = default; NurbsBase1D(Eigen::VectorXd u_knots, Eigen::VectorXd weights, int degree_u=3); int degree_u; Eigen::VectorXd u_knots; diff --git a/src/Mod/MeshPart/App/Mesher.cpp b/src/Mod/MeshPart/App/Mesher.cpp index ff29561a86..ed023917d0 100644 --- a/src/Mod/MeshPart/App/Mesher.cpp +++ b/src/Mod/MeshPart/App/Mesher.cpp @@ -127,11 +127,11 @@ namespace MeshPart { struct Vertex { static const double deflection; Standard_Real x,y,z; - Standard_Integer i; + Standard_Integer i = 0; mutable MeshCore::MeshPoint p; Vertex(Standard_Real X, Standard_Real Y, Standard_Real Z) - : x(X),y(Y),z(Z),i(0) + : x(X),y(Y),z(Z) { p.x = static_cast(x); p.y = static_cast(y); @@ -192,9 +192,8 @@ public: std::vector< std::vector > meshSegments; std::size_t numMeshFaces = 0; - for (std::size_t i = 0; i < domains.size(); ++i) { + for (const auto& domain : domains) { std::size_t numDomainFaces = 0; - const Part::TopoShape::Domain& domain = domains[i]; for (std::size_t j = 0; j < domain.facets.size(); ++j) { const Part::TopoShape::Facet& tria = domain.facets[j]; x1 = domain.points[tria.I1].x; @@ -307,32 +306,10 @@ public: Mesher::Mesher(const TopoDS_Shape& s) : shape(s) - , method(None) - , maxLength(0) - , maxArea(0) - , localLength(0) - , deflection(0) - , angularDeflection(0.5) - , minLen(0) - , maxLen(0) - , relative(false) - , regular(false) - , segments(false) -#if defined (HAVE_NETGEN) - , fineness(5) - , growthRate(0) - , nbSegPerEdge(0) - , nbSegPerRadius(0) - , secondOrder(false) - , optimize(true) - , allowquad(false) -#endif { } -Mesher::~Mesher() -{ -} +Mesher::~Mesher() = default; Mesh::MeshObject* Mesher::createStandard() const { @@ -525,8 +502,8 @@ Mesh::MeshObject* Mesher::createMesh() const mesh->ShapeToMesh(aNull); mesh->Clear(); delete mesh; - for (std::list::iterator it = hypoth.begin(); it != hypoth.end(); ++it) - delete *it; + for (auto it : hypoth) + delete it; return meshdata; #endif // HAVE_SMESH diff --git a/src/Mod/MeshPart/App/Mesher.h b/src/Mod/MeshPart/App/Mesher.h index a200846a17..6cb979260a 100644 --- a/src/Mod/MeshPart/App/Mesher.h +++ b/src/Mod/MeshPart/App/Mesher.h @@ -142,24 +142,24 @@ private: private: const TopoDS_Shape& shape; - Method method; - double maxLength; - double maxArea; - double localLength; - double deflection; - double angularDeflection; - double minLen, maxLen; - bool relative; - bool regular; - bool segments; + Method method{None}; + double maxLength{0}; + double maxArea{0}; + double localLength{0}; + double deflection{0}; + double angularDeflection{0.5}; + double minLen{0}, maxLen{0}; + bool relative{false}; + bool regular{false}; + bool segments{false}; #if defined (HAVE_NETGEN) - int fineness; - double growthRate; - double nbSegPerEdge; - double nbSegPerRadius; - bool secondOrder; - bool optimize; - bool allowquad; + int fineness{5}; + double growthRate{0}; + double nbSegPerEdge{0}; + double nbSegPerRadius{0}; + bool secondOrder{false}; + bool optimize{true}; + bool allowquad{false}; #endif std::vector colors; diff --git a/src/Mod/MeshPart/Gui/AppMeshPartGui.cpp b/src/Mod/MeshPart/Gui/AppMeshPartGui.cpp index 68d3689145..160b913d96 100644 --- a/src/Mod/MeshPart/Gui/AppMeshPartGui.cpp +++ b/src/Mod/MeshPart/Gui/AppMeshPartGui.cpp @@ -52,8 +52,6 @@ public: initialize("This module is the MeshPartGui module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/MeshPart/Gui/Command.cpp b/src/Mod/MeshPart/Gui/Command.cpp index 1d2178cb2b..4da4af0e89 100644 --- a/src/Mod/MeshPart/Gui/Command.cpp +++ b/src/Mod/MeshPart/Gui/Command.cpp @@ -128,38 +128,38 @@ void CmdMeshPartTrimByPlane::activated(int) openCommand(QT_TRANSLATE_NOOP("Command", "Trim with plane")); std::vector docObj = Gui::Selection().getObjectsOfType(Mesh::Feature::getClassTypeId()); - for (std::vector::iterator it = docObj.begin(); it != docObj.end(); ++it) { + for (auto it : docObj) { Base::Vector3d normal(0,0,1); plnPlacement.getRotation().multVec(normal, normal); Base::Vector3d base = plnPlacement.getPosition(); - Mesh::MeshObject* mesh = static_cast(*it)->Mesh.startEditing(); + Mesh::MeshObject* mesh = static_cast(it)->Mesh.startEditing(); Base::Vector3f plnBase = Base::convertTo(base); Base::Vector3f plnNormal = Base::convertTo(normal); if (role == Gui::SelectionRole::Inner) { mesh->trimByPlane(plnBase, plnNormal); - static_cast(*it)->Mesh.finishEditing(); + static_cast(it)->Mesh.finishEditing(); } else if (role == Gui::SelectionRole::Outer) { mesh->trimByPlane(plnBase, -plnNormal); - static_cast(*it)->Mesh.finishEditing(); + static_cast(it)->Mesh.finishEditing(); } else if (role == Gui::SelectionRole::Split) { Mesh::MeshObject copy(*mesh); mesh->trimByPlane(plnBase, plnNormal); - static_cast(*it)->Mesh.finishEditing(); + static_cast(it)->Mesh.finishEditing(); copy.trimByPlane(plnBase, -plnNormal); - App::Document* doc = (*it)->getDocument(); + App::Document* doc = it->getDocument(); Mesh::Feature* fea = static_cast(doc->addObject("Mesh::Feature")); - fea->Label.setValue((*it)->Label.getValue()); + fea->Label.setValue(it->Label.getValue()); Mesh::MeshObject* feamesh = fea->Mesh.startEditing(); feamesh->swap(copy); fea->Mesh.finishEditing(); } - (*it)->purgeTouched(); + it->purgeTouched(); } commitCommand(); } @@ -217,8 +217,8 @@ void CmdMeshPartSection::activated(int) Py::Callable makeWire(partModule.getAttr("makePolygon")); Py::Module appModule(PyImport_ImportModule("FreeCAD"), true); Py::Callable addObject(appModule.getAttr("ActiveDocument").getAttr("addObject")); - for (std::vector::iterator it = docObj.begin(); it != docObj.end(); ++it) { - const Mesh::MeshObject* mesh = static_cast(*it)->Mesh.getValuePtr(); + for (auto it : docObj) { + const Mesh::MeshObject* mesh = static_cast(it)->Mesh.getValuePtr(); std::vector polylines; mesh->crossSections(sections, polylines); @@ -282,8 +282,8 @@ void CmdMeshPartCrossSections::activated(int iMsg) std::vector obj = Gui::Selection().getObjectsOfType (Mesh::Feature::getClassTypeId()); Base::BoundBox3d bbox; - for (std::vector::iterator it = obj.begin(); it != obj.end(); ++it) { - bbox.Add(static_cast(*it)->Mesh.getBoundingBox()); + for (auto it : obj) { + bbox.Add(static_cast(it)->Mesh.getBoundingBox()); } dlg = new MeshPartGui::TaskCrossSections(bbox); } diff --git a/src/Mod/MeshPart/Gui/CrossSections.cpp b/src/Mod/MeshPart/Gui/CrossSections.cpp index 32fae8cb93..6e4cf1015a 100644 --- a/src/Mod/MeshPart/Gui/CrossSections.cpp +++ b/src/Mod/MeshPart/Gui/CrossSections.cpp @@ -96,7 +96,7 @@ public: } std::vector getDisplayModes() const override { - return std::vector(); + return {}; } void setCoords(const std::vector& v) { @@ -145,10 +145,10 @@ public: algo.CutWithPlane(p, n, grid, polylines, epsilon, connectEdges); std::list wires; - for (auto it = polylines.begin(); it != polylines.end(); ++it) { + for (const auto & polyline : polylines) { BRepBuilderAPI_MakePolygon mkPoly; - for (auto jt = it->begin(); jt != it->end(); ++jt) { - mkPoly.Add(Base::convertTo(*jt)); + for (auto jt : polyline) { + mkPoly.Add(Base::convertTo(jt)); } if (mkPoly.IsDone()) @@ -286,8 +286,8 @@ void CrossSections::apply() double eps = ui->spinEpsilon->value(); #if 1 // multi-threaded sections - for (std::vector::iterator it = obj.begin(); it != obj.end(); ++it) { - const Mesh::MeshObject& mesh = static_cast(*it)->Mesh.getValue(); + for (auto it : obj) { + const Mesh::MeshObject& mesh = static_cast(it)->Mesh.getValue(); MeshCore::MeshKernel kernel(mesh.getKernel()); kernel.Transform(mesh.getTransform()); @@ -305,16 +305,15 @@ void CrossSections::apply() BRep_Builder builder; builder.MakeCompound(comp); - for (auto ft = future.begin(); ft != future.end(); ++ft) { - const std::list& w = *ft; - for (std::list::const_iterator wt = w.begin(); wt != w.end(); ++wt) { - if (!wt->IsNull()) - builder.Add(comp, *wt); + for (const auto & w : future) { + for (const auto & wt : w) { + if (!wt.IsNull()) + builder.Add(comp, wt); } } - App::Document* doc = (*it)->getDocument(); - std::string s = (*it)->getNameInDocument(); + App::Document* doc = it->getDocument(); + std::string s = it->getNameInDocument(); s += "_cs"; Part::Feature* section = static_cast (doc->addObject("Part::Feature",s.c_str())); @@ -570,26 +569,26 @@ std::vector CrossSections::getPlanes() const void CrossSections::makePlanes(Plane type, const std::vector& d, double bound[4]) { std::vector points; - for (std::vector::const_iterator it = d.begin(); it != d.end(); ++it) { + for (double it : d) { Base::Vector3f v[4]; switch (type) { case XY: - v[0].Set(bound[0],bound[2],*it); - v[1].Set(bound[1],bound[2],*it); - v[2].Set(bound[1],bound[3],*it); - v[3].Set(bound[0],bound[3],*it); + v[0].Set(bound[0],bound[2],it); + v[1].Set(bound[1],bound[2],it); + v[2].Set(bound[1],bound[3],it); + v[3].Set(bound[0],bound[3],it); break; case XZ: - v[0].Set(bound[0],*it,bound[2]); - v[1].Set(bound[1],*it,bound[2]); - v[2].Set(bound[1],*it,bound[3]); - v[3].Set(bound[0],*it,bound[3]); + v[0].Set(bound[0],it,bound[2]); + v[1].Set(bound[1],it,bound[2]); + v[2].Set(bound[1],it,bound[3]); + v[3].Set(bound[0],it,bound[3]); break; case YZ: - v[0].Set(*it,bound[0],bound[2]); - v[1].Set(*it,bound[1],bound[2]); - v[2].Set(*it,bound[1],bound[3]); - v[3].Set(*it,bound[0],bound[3]); + v[0].Set(it,bound[0],bound[2]); + v[1].Set(it,bound[1],bound[2]); + v[2].Set(it,bound[1],bound[3]); + v[3].Set(it,bound[0],bound[3]); break; } @@ -614,11 +613,6 @@ TaskCrossSections::TaskCrossSections(const Base::BoundBox3d& bb) Content.push_back(taskbox); } -TaskCrossSections::~TaskCrossSections() -{ - // automatically deleted in the sub-class -} - bool TaskCrossSections::accept() { widget->accept(); diff --git a/src/Mod/MeshPart/Gui/CrossSections.h b/src/Mod/MeshPart/Gui/CrossSections.h index ccee279409..99eee47a2d 100644 --- a/src/Mod/MeshPart/Gui/CrossSections.h +++ b/src/Mod/MeshPart/Gui/CrossSections.h @@ -86,7 +86,6 @@ class TaskCrossSections : public Gui::TaskView::TaskDialog public: explicit TaskCrossSections(const Base::BoundBox3d& bb); - ~TaskCrossSections() override; public: bool accept() override; diff --git a/src/Mod/MeshPart/Gui/CurveOnMesh.cpp b/src/Mod/MeshPart/Gui/CurveOnMesh.cpp index ae1f13f2fb..be26d5474e 100644 --- a/src/Mod/MeshPart/Gui/CurveOnMesh.cpp +++ b/src/Mod/MeshPart/Gui/CurveOnMesh.cpp @@ -198,8 +198,8 @@ void ViewProviderCurveOnMesh::setPoints(const std::vector& pts) pcCoords->point.setNum(pts.size()); SbVec3f* coords = pcCoords->point.startEditing(); int index = 0; - for (std::vector::const_iterator it = pts.begin(); it != pts.end(); ++it) { - coords[index] = *it; + for (auto it : pts) { + coords[index] = it; index++; } pcCoords->point.finishEditing(); @@ -241,14 +241,7 @@ public: } }; Private() - : wireClosed(false) - , distance(1.0) - , cosAngle(0.7071) // 45 degree - , approximate(true) - , curve(new ViewProviderCurveOnMesh) - , mesh(nullptr) - , grid(nullptr) - , viewer(nullptr) + : curve(new ViewProviderCurveOnMesh) , editcursor(QPixmap(cursor_curveonmesh), 7, 7) { } @@ -262,8 +255,8 @@ public: { std::vector pts; pts.reserve(points.size()); - for (auto it = points.begin(); it != points.end(); ++it) { - pts.push_back(Base::convertTo(*it)); + for (const auto& it : points) { + pts.push_back(Base::convertTo(it)); } return pts; } @@ -322,13 +315,13 @@ public: std::vector pickedPoints; std::list > cutLines; - bool wireClosed; - double distance; - double cosAngle; - bool approximate; + bool wireClosed{false}; + double distance{1}; + double cosAngle{0.7071}; // 45 degree + bool approximate{true}; ViewProviderCurveOnMesh* curve; - Gui::ViewProviderDocumentObject* mesh; - MeshCore::MeshFacetGrid* grid; + Gui::ViewProviderDocumentObject* mesh{0}; + MeshCore::MeshFacetGrid* grid{nullptr}; MeshCore::MeshKernel kernel; QPointer viewer; QCursor editcursor; @@ -457,8 +450,8 @@ std::vector CurveOnMeshHandler::getVertexes() const { std::vector pts; pts.reserve(d_ptr->pickedPoints.size()); - for (std::vector::const_iterator it = d_ptr->pickedPoints.begin(); it != d_ptr->pickedPoints.end(); ++it) - pts.push_back(it->point); + for (const auto & it : d_ptr->pickedPoints) + pts.push_back(it.point); return pts; } @@ -476,9 +469,9 @@ Handle(Geom_BSplineCurve) CurveOnMeshHandler::approximateSpline(const std::vecto { TColgp_Array1OfPnt pnts(1,points.size()); Standard_Integer index = 1; - for (std::vector::const_iterator it = points.begin(); it != points.end(); ++it) { + for (const auto& it : points) { float x,y,z; - it->getValue(x,y,z); + it.getValue(x,y,z); pnts(index++) = gp_Pnt(x,y,z); } @@ -536,9 +529,9 @@ void CurveOnMeshHandler::displaySpline(const Handle(Geom_BSplineCurve)& spline) bool CurveOnMeshHandler::makePolyline(const std::vector& points, TopoDS_Wire& wire) { BRepBuilderAPI_MakePolygon mkPoly; - for (std::vector::const_iterator it = points.begin(); it != points.end(); ++it) { + for (const auto& it : points) { float x,y,z; - it->getValue(x,y,z); + it.getValue(x,y,z); mkPoly.Add(gp_Pnt(x,y,z)); } diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart.ts index 7ad2ec4749..ff2e19846d 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart.ts @@ -169,7 +169,7 @@ This command only works with a 'mesh' object. - + Failure @@ -177,32 +177,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create - + Close wire - + Clear - + Cancel - + Wrong mesh picked - + No point was picked @@ -482,25 +482,25 @@ A value in the range of 0.2-10. - - + + No active document - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. - + You have selected a shape without faces. Select a different shape, please. - + Select a shape for meshing, first. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_be.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_be.ts index 0879a6379c..b5711b1b41 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_be.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_be.ts @@ -24,7 +24,7 @@ Mesh - Mesh + Паліганальная сетка @@ -44,7 +44,7 @@ This command only works with a 'mesh' object. Mesh - Mesh + Паліганальная сетка @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Злучыць рэбры, калі адлегласць меней, чым - + Failure Няўдача @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create Стварыць - + Close wire Замкнуць ломаную лінію - + Clear Ачысціць - + Cancel Скасаваць - + Wrong mesh picked Абрана няправільная паліганальная сетка - + No point was picked Не абрана ніводнай кропкі @@ -227,7 +227,7 @@ This command only works with a 'mesh' object, not a regular face or surface. To Wire - Ломаная + Ломаная лінія @@ -285,7 +285,7 @@ This command only works with a 'mesh' object, not a regular face or surface. To Standard - Стандартны + Звычайны @@ -490,27 +490,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Без бягучага дакумента - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Вы абралі цела без наканечніка. Калі ласка, усталюйце наканечнік цела, альбо абярыце іншую фігуру. - + You have selected a shape without faces. Select a different shape, please. Вы абралі фігуру без граняў. Калі ласка, абярыце іншую фігуру. - + Select a shape for meshing, first. Спачатку абярыце фігуру для стварэння паліганальнай сеткі. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ca.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ca.ts index 9a39099022..32c88ae009 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ca.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ca.ts @@ -170,7 +170,7 @@ Aquesta comanda només funciona amb objectes 'malla'. Connecta les arestes si la distància és menor que - + Failure Fallada @@ -178,32 +178,32 @@ Aquesta comanda només funciona amb objectes 'malla'. MeshPartGui::CurveOnMeshHandler - + Create Crea - + Close wire Tanca el filferro - + Clear Neteja - + Cancel Cancel·la - + Wrong mesh picked S'ha seleccionat una malla incorrecta - + No point was picked No s'ha seleccionat cap punt. @@ -485,27 +485,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Document no Actiu - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Heu seleccionat un cos sense punta Posa la punta del cos o selecciona una forma diferent, si us plau. - + You have selected a shape without faces. Select a different shape, please. Heu seleccionat una forma sense cares. Seleccioneu una forma diferent, si us plau. - + Select a shape for meshing, first. Seleccioneu primer una forma per al mallat diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_cs.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_cs.ts index 949dc9a678..3d454b8c13 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_cs.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_cs.ts @@ -170,7 +170,7 @@ Tento příkaz pracuje pouze s objektem typu 'mesh'. Propojit hrany, pokud je vzdálenost menší než - + Failure Selhání @@ -178,32 +178,32 @@ Tento příkaz pracuje pouze s objektem typu 'mesh'. MeshPartGui::CurveOnMeshHandler - + Create Vytvořit - + Close wire Uzavření drátu - + Clear Vyčistit - + Cancel Zrušit - + Wrong mesh picked Je vybrána špatná síť - + No point was picked Nebyl vybrán bod @@ -491,27 +491,27 @@ Hodnota v rozmezí 0.2-10. Gmsh - - + + No active document Žádný aktivní dokument - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Vybrali jste tělo bez špičky. Buď nastavte špičku těla nebo vyberte jiný tvar, prosím. - + You have selected a shape without faces. Select a different shape, please. Vybrali jste tvar bez ploch. Vyberte jiný tvar, prosím. - + Select a shape for meshing, first. Nejprve vyber tvar pro síťování. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_de.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_de.ts index b2bfcbf6ff..b47d939d99 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_de.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_de.ts @@ -67,12 +67,12 @@ Dieser Befehl funktioniert nur mit einem 'mesh'-Objekt. Create section from mesh and plane - Schnitt aus Netz und Ebene erstellen + Schnitt aus Netz und Fläche erstellen Section - Schnittkurve + Schnitt @@ -85,13 +85,13 @@ Dieser Befehl funktioniert nur mit einem 'mesh'-Objekt. Trim mesh with a plane - Netz mit Ebene trimmen + Netz mit Fläche zuschneiden Trims a mesh with a plane - Ein Netz mit einer Ebene trimmen + Schneidet ein Netz mit einer Fläche zu @@ -117,7 +117,7 @@ Dieser Befehl funktioniert nur mit einem 'mesh'-Objekt. Guiding plane - Führungsebene + Bezugsebene @@ -147,7 +147,7 @@ Dieser Befehl funktioniert nur mit einem 'mesh'-Objekt. On both sides - Beidseitig + Auf beiden Seiten @@ -157,7 +157,7 @@ Dieser Befehl funktioniert nur mit einem 'mesh'-Objekt. Distance: - Entfernung: + Abstand: @@ -167,10 +167,10 @@ Dieser Befehl funktioniert nur mit einem 'mesh'-Objekt. Connect edges if distance less than - Kanten verbinden, wenn die Distanz kleiner ist als + Kanten verbinden, wenn der Abstand kleiner ist als - + Failure Ein Fehler ist aufgetreten @@ -178,32 +178,32 @@ Dieser Befehl funktioniert nur mit einem 'mesh'-Objekt. MeshPartGui::CurveOnMeshHandler - + Create Erstellen - + Close wire Kantenzug schließen - + Clear - Löschen + Leeren - + Cancel Abbrechen - + Wrong mesh picked Falsches Netz ausgewählt - + No point was picked Es wurde kein Punkt ausgewählt @@ -401,7 +401,7 @@ Der kleinste Wert ist 0. Moderate - Mittel + Moderat @@ -489,27 +489,27 @@ Ein Wert im Bereich von 0.2-10. Gmsh - - + + No active document Kein aktives Dokument - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Es wurde ein Körper ohne TIP ausgewählt. Bitte TIP des Körpers festlegen oder eine andere Form auswählen. - + You have selected a shape without faces. Select a different shape, please. Du hast eine Form ohne Flächen ausgewählt. Wähle bitte eine andere Form aus. - + Select a shape for meshing, first. Wählen Sie zuerst eine Form für die Vernetzung. @@ -578,12 +578,12 @@ Wähle bitte eine andere Form aus. Unwrap Mesh - Netz entpacken + Netz abwickeln Find a flat representation of a mesh. - Eine ebene Darstellung eines Netzes finden. + Ermittelt eine ebene Darstellung eines Netzes. @@ -591,12 +591,12 @@ Wähle bitte eine andere Form aus. Unwrap Face - Fläche entpacken + Fläche abwickeln Find a flat representation of a face. - Eine ebene Darstellung der Fläche finden. + Ermittelt eine ebene Darstellung einer Fläche. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_el.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_el.ts index 762820913f..dbcb9afd64 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_el.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_el.ts @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Συνδέστε τις άκρες εάν η απόσταση είναι μικρότερη από - + Failure Αποτυχία @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create Δημιουργήστε - + Close wire Κλείσιμο σύρματος - + Clear Εκκαθάριση - + Cancel Ακύρωση - + Wrong mesh picked Επιλέχθηκε λάθος πλέγμα - + No point was picked Δεν επιλέχθηκε κανένα σημείο @@ -489,27 +489,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Κανένα ενεργό έγγραφο - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Έχετε επιλέξει σώμα χωρίς άκρη. Είτε ρυθμίστε την άκρη του σώματος είτε επιλέξτε ένα διαφορετικό σχήμα. - + You have selected a shape without faces. Select a different shape, please. Έχετε επιλέξει ένα σχήμα χωρίς πρόσωπα. Πρακαλώ επιλέξτε άλλο σχήμα. - + Select a shape for meshing, first. Επιλέξτε ένα σχήμα για πλεγματοποίηση, πρώτα. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_es-AR.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_es-AR.ts index f3d28367ef..aca3031a00 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_es-AR.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_es-AR.ts @@ -170,7 +170,7 @@ Este comando solo funciona con un objeto 'malla'. Conecte las aristas si la distancia es inferior a - + Failure Fallo @@ -178,32 +178,32 @@ Este comando solo funciona con un objeto 'malla'. MeshPartGui::CurveOnMeshHandler - + Create Crear - + Close wire Cerrar alambre - + Clear Limpiar - + Cancel Cancelar - + Wrong mesh picked Malla equivocada seleccionada - + No point was picked No fue elegido ningún punto @@ -491,27 +491,27 @@ Un valor en el rango de 0.2-10. Gmsh - - + + No active document Ningún documento activo - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Ha seleccionado un cuerpo sin punta. Puede establecer la punta del cuerpo o seleccionar una forma diferente, por favor. - + You have selected a shape without faces. Select a different shape, please. Has seleccionado una forma sin caras. Selecciona una forma diferente, por favor. - + Select a shape for meshing, first. Seleccione primero una forma para la malla. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_es-ES.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_es-ES.ts index 04316b2e04..4cec0bf725 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_es-ES.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_es-ES.ts @@ -170,7 +170,7 @@ Este comando solo funciona con un objeto 'malla'. Conectar aristas si la distancia es inferior a - + Failure Fallo @@ -178,32 +178,32 @@ Este comando solo funciona con un objeto 'malla'. MeshPartGui::CurveOnMeshHandler - + Create Crear - + Close wire Cerrar alambre - + Clear Limpiar - + Cancel Cancelar - + Wrong mesh picked Malla equivocada seleccionada - + No point was picked No fue elegido ningún punto @@ -491,27 +491,27 @@ Un valor en el rango de 0.2-10. Gmsh - - + + No active document Ningún documento activo - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Ha seleccionado un cuerpo sin punta. Puede establecer la punta del cuerpo o seleccionar una forma diferente, por favor. - + You have selected a shape without faces. Select a different shape, please. Ha seleccionado una forma sin caras. Seleccione una forma diferente, por favor. - + Select a shape for meshing, first. Seleccione primero una forma para el mallado. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_eu.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_eu.ts index de4dc504c6..e27b0776a8 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_eu.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_eu.ts @@ -170,7 +170,7 @@ Komando honek 'amarauna' objektuetan soilik funtzionatzen du. Konektatu ertzak distantzia hau baino txikiagoa bada: - + Failure Hutsegitea @@ -178,32 +178,32 @@ Komando honek 'amarauna' objektuetan soilik funtzionatzen du. MeshPartGui::CurveOnMeshHandler - + Create Sortu - + Close wire Itxi lerroa - + Clear Garbitu - + Cancel Utzi - + Wrong mesh picked Amaraun okerra aukeratu da - + No point was picked Ez da punturik aukeratu @@ -492,27 +492,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Ez dago dokumentu aktiborik - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Puntarik ez duen gorputz bat hautatu duzu. Ezarri gorputzaren punta edo hautatu beste forma bat. - + You have selected a shape without faces. Select a different shape, please. Aurpegirik ez duen forma bat hautatu duzu. Hautatu beste forma bat. - + Select a shape for meshing, first. Hasteko, hautatu forma bat amarauna sortzeko. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_fi.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_fi.ts index 8ac2320420..1f5e074023 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_fi.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_fi.ts @@ -170,7 +170,7 @@ Tämä komento toimii vain 'verkkopinta' -objektin kanssa. Yhdistä reunat, jos etäisyys on pienempi kuin - + Failure Virhe @@ -178,32 +178,32 @@ Tämä komento toimii vain 'verkkopinta' -objektin kanssa. MeshPartGui::CurveOnMeshHandler - + Create Luo - + Close wire Sulje viiva - + Clear Tyhjennä - + Cancel Peruuta - + Wrong mesh picked Väärä verkkopinta valittu - + No point was picked Yhtään kohdetta ei valittu @@ -491,27 +491,27 @@ Arvo välillä 0,2-10. Gmsh - - + + No active document Ei aktiivista dokumenttia - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. You have selected a body without tip. Either set the tip of the body or select a different shape, please. - + You have selected a shape without faces. Select a different shape, please. You have selected a shape without faces. Select a different shape, please. - + Select a shape for meshing, first. Valitse ensin muoto verkkoihin. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_fr.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_fr.ts index 16c8605402..9ac7e64a3e 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_fr.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_fr.ts @@ -137,7 +137,7 @@ Cette commande ne fonctionne qu'avec un objet "mesh". Position: - Position : + Position : @@ -157,7 +157,7 @@ Cette commande ne fonctionne qu'avec un objet "mesh". Distance: - Distance : + Distance @@ -170,7 +170,7 @@ Cette commande ne fonctionne qu'avec un objet "mesh". Racorder les arêtes si la distance est inférieure à - + Failure Échec @@ -178,32 +178,32 @@ Cette commande ne fonctionne qu'avec un objet "mesh". MeshPartGui::CurveOnMeshHandler - + Create Créer - + Close wire Fermer un fil - + Clear Effacer - + Cancel Annuler - + Wrong mesh picked Mauvaise maille choisie - + No point was picked Aucun point n'a été sélectionné @@ -227,7 +227,7 @@ Cette commande ne fonctionne qu'avec un objet "Mesh", pas avec une face ou une s Wire - Fil + Polyligne @@ -491,27 +491,27 @@ Une valeur dans la plage de 0.2-10. Gmsh - - + + No active document Aucun document actif - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Vous avez sélectionné un corps sans fonction résultante. Définissez la fonction résultante du corps ou sélectionnez une forme différente, s'il vous plaît. - + You have selected a shape without faces. Select a different shape, please. Vous avez sélectionné une forme sans face. Merci de sélectionner une forme différente. - + Select a shape for meshing, first. Sélectionner d'abord une forme pour le maillage. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_gl.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_gl.ts index 42d95bb4a5..066d4ce728 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_gl.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_gl.ts @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Connect edges if distance less than - + Failure Failure @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create Facer - + Close wire Pechar arame - + Clear Baleirar - + Cancel Cancelar - + Wrong mesh picked Selección de malla errada - + No point was picked Ningúm punto escolmado @@ -491,27 +491,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Ningún documento activo - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. You have selected a body without tip. Either set the tip of the body or select a different shape, please. - + You have selected a shape without faces. Select a different shape, please. You have selected a shape without faces. Select a different shape, please. - + Select a shape for meshing, first. Escolme primeiro unha forma para a malla. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_hr.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_hr.ts index 3c37942120..9d308dfb50 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_hr.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_hr.ts @@ -170,7 +170,7 @@ Ova naredba radi samo s 'mrežnim' objektom. Spojite rubove ako je udaljenost manja od - + Failure Neuspjeh @@ -178,32 +178,32 @@ Ova naredba radi samo s 'mrežnim' objektom. MeshPartGui::CurveOnMeshHandler - + Create Stvoriti - + Close wire Zatvori žicu - + Clear Brisanje - + Cancel Otkazati - + Wrong mesh picked Izabrana pogrešna mreža - + No point was picked Ni jedan vrh nije odabran @@ -494,27 +494,27 @@ Vrijednost u rasponu 0.2-10. Gmsh - - + + No active document Nema aktivnog dokumenta - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Odabrali ste tijelo bez vrha. Postavite vrh tijela ili odaberite drugi oblik, molim. - + You have selected a shape without faces. Select a different shape, please. Odabrali ste oblik bez naličja. Odaberite drugačiji oblik, molim. - + Select a shape for meshing, first. Prvo daberite oblik za umrežavanje. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_hu.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_hu.ts index f4a16b3f8c..8b94d2dd92 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_hu.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_hu.ts @@ -170,7 +170,7 @@ Ez a parancs csak 'háló' objektummal működik. Csatlakoztassa az éleket, ha a távolság kisebb, mint - + Failure Hiba @@ -178,32 +178,32 @@ Ez a parancs csak 'háló' objektummal működik. MeshPartGui::CurveOnMeshHandler - + Create Létrehozás - + Close wire Drótháló lezárása - + Clear Törlés - + Cancel Mégse - + Wrong mesh picked Rossz háló választva - + No point was picked Nem lett pont kiválasztva @@ -491,27 +491,27 @@ A value in the range of 0.2-10. Gmsh ( http://gmsh.info/ ) - - + + No active document Nincs aktív dokumentum - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Kiválasztott egy csúcs nélküli testet. Kérem állítsa be a test csúcsát, vagy válasszon egy másik alakzatot. - + You have selected a shape without faces. Select a different shape, please. Felületek nélküli alakzatot választott. Válasszon másik alakzatot. - + Select a shape for meshing, first. Válassza ki a formát kapcsolás előtt. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_id.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_id.ts index c09c77a8a4..07d21b57f1 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_id.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_id.ts @@ -4,17 +4,17 @@ CmdMeshPartCrossSections - + MeshPart MeshPart - + Cross-sections... Persimpangan... - + Cross-sections Persimpangan @@ -22,17 +22,17 @@ CmdMeshPartCurveOnMesh - + Mesh Mesh - + Curve on mesh... Kurva pada mesh... - + Creates an approximated curve on top of a mesh. This command only works with a 'mesh' object. Creates an approximated curve on top of a mesh. @@ -60,17 +60,17 @@ This command only works with a 'mesh' object. CmdMeshPartSection - + Mesh Mesh - + Create section from mesh and plane Buat bagian dari mesh dan plane - + Section Bagian @@ -97,12 +97,12 @@ This command only works with a 'mesh' object. Command - + Trim with plane Trim with plane - + Section with plane Section with plane @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Connect edges if distance less than - + Failure Failure @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create Membuat - + Close wire Tutup kawat - + Clear Bersih - + Cancel Membatalkan - + Wrong mesh picked Jala yang salah dipetik - + No point was picked Tidak ada gunanya dipilih @@ -491,27 +491,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Tidak ada dokumen aktif - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. You have selected a body without tip. Either set the tip of the body or select a different shape, please. - + You have selected a shape without faces. Select a different shape, please. You have selected a shape without faces. Select a different shape, please. - + Select a shape for meshing, first. Pilih bentuk untuk meshing, pertama. @@ -519,12 +519,12 @@ Select a different shape, please. MeshPart_Section - + Select plane Pilih pesawat - + Please select a plane at which you section the mesh. Silakan pilih pesawat di mana Anda bagian jala. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_it.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_it.ts index cd76d08763..0398c72c46 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_it.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_it.ts @@ -170,7 +170,7 @@ Questo comando funziona solo con un oggetto 'solido'. Collega i bordi se la distanza è inferiore a - + Failure Fallito @@ -178,32 +178,32 @@ Questo comando funziona solo con un oggetto 'solido'. MeshPartGui::CurveOnMeshHandler - + Create Crea - + Close wire Chiudi il wire - + Clear Pulisci - + Cancel Annulla - + Wrong mesh picked Rilevata mesh errata - + No point was picked Nessun punto è stato selezionato @@ -491,27 +491,27 @@ Un valore nell'intervallo tra 0.2-10. Gmsh - - + + No active document Nessun documento attivo - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Hai selezionato un corpo senza punta. Impostare la punta del corpo o selezionare una forma diversa, per favore. - + You have selected a shape without faces. Select a different shape, please. Hai selezionato una forma senza facce. Seleziona una forma diversa, per favore. - + Select a shape for meshing, first. Selezionare prima una forma per il meshing. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ja.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ja.ts index 54a7b82e30..4bceb1d068 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ja.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ja.ts @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. 距離が小さい場合はエッジを接続する - + Failure 失敗 @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create 作成 - + Close wire 閉じた連線 - + Clear クリア - + Cancel キャンセル - + Wrong mesh picked 不適切なメッシュがピックされています。 - + No point was picked ピックされた点はありません @@ -490,27 +490,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document アクティブなドキュメントがありません - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. チップのないボディを選択しました。 ボディの先端を設定するか、別の形を選択してください。 - + You have selected a shape without faces. Select a different shape, please. 面のないシェイプを選択しました。 別のシェイプを選択してください。 - + Select a shape for meshing, first. 最初にメッシュにするシェイプを選択してください。 diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ka.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ka.ts index 0f45f6634a..84375d8bf1 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ka.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ka.ts @@ -11,12 +11,12 @@ Cross-sections... - განივი-გადანაჭრები... + განივი კვეთები... Cross-sections - განივი-გადანაჭრები + განივი კვეთები @@ -24,7 +24,7 @@ Mesh - Mesh + ბადე @@ -44,7 +44,7 @@ This command only works with a 'mesh' object. Mesh - Mesh + ბადე @@ -67,7 +67,7 @@ This command only works with a 'mesh' object. Create section from mesh and plane - მრავალკუთხა ბადისა და სიბრტყისაგან სექციის შექმნა + ბადით და სიბრტყის სექციის შექმნა @@ -85,13 +85,13 @@ This command only works with a 'mesh' object. Trim mesh with a plane - მრავალკუთხა ბადის სიბრტყით ჩამოჭრა + ბადის გაკვეთა სიბრტყით Trims a mesh with a plane - მრავალკუთხა ბადის სიბრტყით ჩამოჭრა + ბადის გაკვეთა სიბრტყით @@ -112,12 +112,12 @@ This command only works with a 'mesh' object. Cross sections - განივი გადანაჭრები + განივი კვეთები Guiding plane - მიმმართველი სიბრტყე + წამყვანი სიბრტყე @@ -162,7 +162,7 @@ This command only works with a 'mesh' object. Options - პარამეტრები + მორგება @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. წიბოების დაკავშირება, თუ დაშორება ნაკლებია, ვიდრე - + Failure შეცდომა @@ -178,34 +178,34 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create შექმნა - + Close wire პოლიხაზის დახურვა - + Clear გასუფთავება - + Cancel გაუქმება - + Wrong mesh picked არცჩეულია არასწორი მრავალკუთხა ბადე - + No point was picked - წერტილები არჩეული არაა + წერტილი არჩეული არაა @@ -227,7 +227,7 @@ This command only works with a 'mesh' object, not a regular face or surface. To Wire - მავთული + პოლიხაზი @@ -285,7 +285,7 @@ This command only works with a 'mesh' object, not a regular face or surface. To Standard - ჩვეულებრივი + სტანდარტული @@ -388,7 +388,7 @@ The smallest value is 0. Fineness: - სიზუსტე: + სიწმინდე: @@ -403,7 +403,7 @@ The smallest value is 0. Moderate - მისაღები + საშუალო @@ -491,27 +491,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document აქტიური დოკუმენტის გარეშე - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. მონიშნულია სხეული ბუნიკის გარეშე. დააყენეთ ბუნიკი, ან აირჩიეთ სხვა სხეული. - + You have selected a shape without faces. Select a different shape, please. თქვენს მონიშნულ მონახაზს ზედაპირები არ გააჩნია. გთხოვთ აირჩიოთ სხვა მონახაზი. - + Select a shape for meshing, first. ბადის შესაქმნელად ჯერ აირჩიეთ მოხაზულობა. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ko.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ko.ts index 3050bebcef..1f3b54fbd2 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ko.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ko.ts @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. 거리가 다음보다 작을 경우 가장자리를 연결 하십시오 - + Failure 실패 @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create 만들기 - + Close wire 선 닫기 - + Clear 지우기 - + Cancel 취소하기 - + Wrong mesh picked 잘못된 메쉬 선택 - + No point was picked 포인트가 선택되지 않았습니다 @@ -489,27 +489,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document 활성 문서가 없습니다 - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. You have selected a body without tip. Either set the tip of the body or select a different shape, please. - + You have selected a shape without faces. Select a different shape, please. You have selected a shape without faces. Select a different shape, please. - + Select a shape for meshing, first. 메쉬 생성을 위해 쉐이프를 먼저 선택하세요. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_nl.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_nl.ts index 2306d1a227..7c8d8c6bf1 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_nl.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_nl.ts @@ -24,7 +24,7 @@ Mesh - Mesh + Mesh @@ -44,7 +44,7 @@ Deze opdracht werkt alleen met een 'maaswerk' object. Mesh - Mesh + Mesh @@ -170,7 +170,7 @@ Deze opdracht werkt alleen met een 'maaswerk' object. Verbind de randen als afstand kleiner is dan - + Failure Mislukt @@ -178,32 +178,32 @@ Deze opdracht werkt alleen met een 'maaswerk' object. MeshPartGui::CurveOnMeshHandler - + Create Aanmaken - + Close wire Sluit draad - + Clear Wissen - + Cancel Annuleren - + Wrong mesh picked Verkeerde gaas gepakt - + No point was picked Geen punt was geselecteerd @@ -491,27 +491,27 @@ Een waarde tussen 0,2 en 10. Gmsh - - + + No active document Geen actief document - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Je hebt een vast lichaam geselecteerd zonder tip. Stel de punt van het vaste lichaam in of selecteer een andere vorm, alstublieft. - + You have selected a shape without faces. Select a different shape, please. Je hebt een vorm zonder vlakken geselecteerd. Selecteer een andere vorm alstublieft. - + Select a shape for meshing, first. Selecteer voor de meshing eerst een vorm. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pl.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pl.ts index c2697b4e55..8e9d93497e 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pl.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pl.ts @@ -67,7 +67,7 @@ To polecenie działa tylko z obiektem typu Siatka. Create section from mesh and plane - Utwórz przekrój siatki płaszczyzną + Utwórz przekrój z siatki i płaszczyzny @@ -85,7 +85,7 @@ To polecenie działa tylko z obiektem typu Siatka. Trim mesh with a plane - Przytnij siatkę płaszczyzną + Przytnij siatkę za pomocą płaszczyzny @@ -170,7 +170,7 @@ To polecenie działa tylko z obiektem typu Siatka. Połącz krawędzie, jeśli odległość jest mniejsza niż - + Failure Niepowodzenie @@ -178,32 +178,32 @@ To polecenie działa tylko z obiektem typu Siatka. MeshPartGui::CurveOnMeshHandler - + Create Utwórz - + Close wire Zamknij linie łamaną - + Clear Wyczyść - + Cancel Anuluj - + Wrong mesh picked Wybrano nieodpowiednią siatkę - + No point was picked Nie wybrano żadnego punktu @@ -285,7 +285,7 @@ Ta komenda działa tylko z obiektem 'mesh', a nie zwykłą płaszczyzną lub pow Standard - Standardowy + Standardowe @@ -408,7 +408,7 @@ Najmniejszą wartością jest 0. Fine - Drobno + Drobne @@ -491,27 +491,27 @@ Wartość w zakresie 0,2–10. Gmsh - - + + No active document Brak aktywnego dokumentu - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Wybrałeś zawartość bez czubka. Proszę, ustaw czubek zawartości lub wybierz inny kształt. - + You have selected a shape without faces. Select a different shape, please. Wybrałeś kształt bez ścian. Proszę wybrać inny kształt. - + Select a shape for meshing, first. Najpierw wybierz kształt do utworzenia siatki. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pt-BR.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pt-BR.ts index a9bfe08d5f..baa097553e 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pt-BR.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pt-BR.ts @@ -170,7 +170,7 @@ Este comando só funciona com um objeto do tipo "malha". Conecte as arestas se a distância for menor que - + Failure Falha @@ -178,32 +178,32 @@ Este comando só funciona com um objeto do tipo "malha". MeshPartGui::CurveOnMeshHandler - + Create Criar - + Close wire Fechar aresta - + Clear Limpar - + Cancel Cancelar - + Wrong mesh picked Malha errada escolhida - + No point was picked Nenhum ponto foi escolhido @@ -491,27 +491,27 @@ Um valor na amplitude de 0.2-10. Gmsh - - + + No active document Nenhum documento ativo - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Você selecionou um corpo sem ponta. Por favor, defina a ponta do corpo ou selecione uma forma diferente. - + You have selected a shape without faces. Select a different shape, please. Você selecionou uma forma sem faces. Por favor, selecione uma forma diferente. - + Select a shape for meshing, first. Selecione primeiro uma forma para malhagem. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pt-PT.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pt-PT.ts index 0e02b41f87..670b7f80a2 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pt-PT.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_pt-PT.ts @@ -170,7 +170,7 @@ Este comando só funciona com um objeto 'malha'. Conectar as arestas se distância for menor que - + Failure Falha @@ -178,32 +178,32 @@ Este comando só funciona com um objeto 'malha'. MeshPartGui::CurveOnMeshHandler - + Create Criar - + Close wire Fechar traço - + Clear Limpar - + Cancel Cancelar - + Wrong mesh picked Malha errada escolhida - + No point was picked Nenhum ponto foi escolhido @@ -491,27 +491,27 @@ Um valor na amplitude de 0.2-10. Gmsh - - + + No active document Nenhum documento ativo - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Selecionou um corpo sem ponta. Defina a ponta do corpo ou selecione uma forma diferente, por favor. - + You have selected a shape without faces. Select a different shape, please. Selecionou uma forma sem faces. Selecione uma forma diferente, por favor. - + Select a shape for meshing, first. Selecione primeiro, uma forma para a malha. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ro.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ro.ts index 691553452f..bba7baa259 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ro.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ro.ts @@ -170,7 +170,7 @@ Această comandă funcționează doar cu un obiect 'plasă'. Conectează marginile dacă distanța este mai mică de - + Failure Eșec @@ -178,32 +178,32 @@ Această comandă funcționează doar cu un obiect 'plasă'. MeshPartGui::CurveOnMeshHandler - + Create Creează - + Close wire Fir închis - + Clear Șterge - + Cancel Renunţă - + Wrong mesh picked Ochiurilor de plasă greşit alese - + No point was picked Nu a fost ales nici un punct @@ -491,27 +491,27 @@ O valoare în intervalul 0.2-10. Zgură - - + + No active document Nici un document activ - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Ai selectat un corp fără sfaturi. Te rog setează vârful corpului sau selectează o altă formă. - + You have selected a shape without faces. Select a different shape, please. Ați selectat o formă fără fețe. Selectați o altă formă, vă rog. - + Select a shape for meshing, first. Selectati mai intai o forma pentru crearea retelei. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ru.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ru.ts index 1f88f24037..b122b3a073 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ru.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_ru.ts @@ -44,7 +44,7 @@ This command only works with a 'mesh' object. Mesh - Сетка + Полигональная сетка @@ -72,7 +72,7 @@ This command only works with a 'mesh' object. Section - Разделить + Разрез (Сечение) @@ -137,7 +137,7 @@ This command only works with a 'mesh' object. Position: - Расположение: + Позиция: @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Подключите рёбра, если расстояние меньше, чем - + Failure Сбой @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create Создать - + Close wire Замкнуть ломаную - + Clear Очистить - + Cancel Отмена - + Wrong mesh picked Выбрана неправильная полигональная сетка - + No point was picked Не выбрано ни одной точки @@ -403,7 +403,7 @@ The smallest value is 0. Moderate - Приемлемо + Умеренно @@ -491,27 +491,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Нет активного документа - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Вы выбрали тело без наконечника. Пожалуйста, либо установите наконечник, либо выберите другую форму. - + You have selected a shape without faces. Select a different shape, please. Вы выбрали форму без граней. Выберите другую форму, пожалуйста. - + Select a shape for meshing, first. Сначала выберите фигуру для создания полигональной сетки. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sl.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sl.ts index 5bf7b32095..8bfb211ae6 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sl.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sl.ts @@ -24,7 +24,7 @@ Mesh - Mesh + Ploskovje @@ -44,7 +44,7 @@ Ta ukaz deluje le s "ploskovji". Mesh - Mesh + Ploskovje @@ -112,7 +112,7 @@ Ta ukaz deluje le s "ploskovji". Cross sections - Prečni prerezi + Prečni prerez @@ -170,7 +170,7 @@ Ta ukaz deluje le s "ploskovji". Stakni robove, če je razdalja manjša od - + Failure Napaka @@ -178,32 +178,32 @@ Ta ukaz deluje le s "ploskovji". MeshPartGui::CurveOnMeshHandler - + Create Ustvari - + Close wire Skledni črtovje - + Clear Počisti - + Cancel Prekliči - + Wrong mesh picked Izbrano je napačno ploskovje - + No point was picked Ni izbranih točk @@ -275,7 +275,7 @@ Ta ukaz deluje le na "ploskovjih" in ne na pravilnih ploskvah ali površjih. Če Tessellation - Tlakovanje + Ploščičenje @@ -387,7 +387,7 @@ Najmanjša vrednost je 0. Fineness: - Podrobnost: + Drobnatost: @@ -407,7 +407,7 @@ Najmanjša vrednost je 0. Fine - Podroben + Drobna @@ -490,27 +490,27 @@ Razpon vrednosti je 0.2-10. Gmsh - - + + No active document Ni dejavnega dokumenta - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Izbrali ste telo brez konice. Ali določite telesu konico ali pa izberite drugo obliko. - + You have selected a shape without faces. Select a different shape, please. Izbrali ste lik brez ploskev. Izberite drugi lik. - + Select a shape for meshing, first. Najprej izberite obliko za ploskovjenje. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sr-CS.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sr-CS.ts index 7afc6ba56f..0ff8836dc3 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sr-CS.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sr-CS.ts @@ -170,7 +170,7 @@ Ova komanda radi samo sa objektom koji je mreža. Poveži ivice ako je rastojanje manje od - + Failure Neuspeh @@ -178,32 +178,32 @@ Ova komanda radi samo sa objektom koji je mreža. MeshPartGui::CurveOnMeshHandler - + Create Napravi - + Close wire Zatvori žicu - + Clear Obriši - + Cancel Otkaži - + Wrong mesh picked Izabrana pogrešna mreža - + No point was picked Nijedna tačka nije izabrana @@ -491,27 +491,27 @@ Vrednost u opsegu od 0,2-10. Gmsh - - + + No active document Nema aktivnog dokumenta - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Izabrao si telo koje nema krajnji tipski oblik. Ili zadaj krajnji tipski oblik ili izaberi drugo telo. - + You have selected a shape without faces. Select a different shape, please. Izabrao si oblik bez stranica. Izaberi drugi oblik. - + Select a shape for meshing, first. Prvo izaberi oblik za pravljenje mreže. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sr.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sr.ts index 743f4181b6..fbf022067f 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sr.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sr.ts @@ -44,7 +44,7 @@ This command only works with a 'mesh' object. Mesh - Мрежа + Mesh @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Повежи ивице ако је растојање мање од - + Failure Неуспех @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create Направи - + Close wire Затвори жицу - + Clear Обриши - + Cancel Откажи - + Wrong mesh picked Изабрана погрешна мрежа - + No point was picked Ниједна тачка није изабрана @@ -491,27 +491,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Нема активног документа - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Изабрао си тело које нема крајњи типски облик. Или задај крајњи типски облик или изабери друго тело. - + You have selected a shape without faces. Select a different shape, please. Изабрао си облик без страница. Изабери други облик. - + Select a shape for meshing, first. Прво изаберите облик за мрежу. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sv-SE.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sv-SE.ts index afb0a04fe0..7a1786b374 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sv-SE.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_sv-SE.ts @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Connect edges if distance less than - + Failure Misslyckande @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create Skapa - + Close wire Stäng tråd - + Clear Rensa - + Cancel Avbryt - + Wrong mesh picked Fel nät valt - + No point was picked Ingen punkt markerades @@ -491,27 +491,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Inget aktivt dokument - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. You have selected a body without tip. Either set the tip of the body or select a different shape, please. - + You have selected a shape without faces. Select a different shape, please. You have selected a shape without faces. Select a different shape, please. - + Select a shape for meshing, first. Markera en form för nät, först. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_tr.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_tr.ts index d48b0e2454..61bea86f0d 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_tr.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_tr.ts @@ -44,7 +44,7 @@ Bu komut yalnızca bir 'metal örgü' nesnesiyle çalışır. Mesh - Parçacık + Mesh @@ -170,7 +170,7 @@ Bu komut yalnızca bir 'metal örgü' nesnesiyle çalışır. Mesafe şundan azsa kenarları birleştirin - + Failure Başarısız @@ -178,32 +178,32 @@ Bu komut yalnızca bir 'metal örgü' nesnesiyle çalışır. MeshPartGui::CurveOnMeshHandler - + Create Oluştur - + Close wire Telin Yakını - + Clear Temizle - + Cancel İptal - + Wrong mesh picked Yanlış metal örgü seçildi - + No point was picked Hiçbir nokta seçilmedi @@ -488,26 +488,26 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Etkin belge yok - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. Uçsuz bir gövde seçtiniz. Ya gövdenin ucunu ayarlayın ya da farklı bir şekil seçin lütfen. - + You have selected a shape without faces. Select a different shape, please. Yüzleri olmayan bir şekil seçtiniz. Lütfen farklı bir şekil seçin. - + Select a shape for meshing, first. Önce metal örgü haline getirmek için bir şekil seçiniz. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_uk.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_uk.ts index 69c0b75e5a..4d41be9f6e 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_uk.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_uk.ts @@ -44,7 +44,7 @@ This command only works with a 'mesh' object. Mesh - Сітка + Сітка(Меш) @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Connect edges if distance less than - + Failure Помилка @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create Створити - + Close wire Замкнути сітку - + Clear Очистити - + Cancel Скасувати - + Wrong mesh picked Обрана хибна сітка - + No point was picked Жодної точки не вибрано @@ -490,27 +490,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document Немає активного документу - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. You have selected a body without tip. Either set the tip of the body or select a different shape, please. - + You have selected a shape without faces. Select a different shape, please. You have selected a shape without faces. Select a different shape, please. - + Select a shape for meshing, first. Спочатку оберіть форму для злиття. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_val-ES.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_val-ES.ts index 142fe84aba..9545a8e38e 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_val-ES.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_val-ES.ts @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Connecta les arestes si la distància és menor que - + Failure Fallada @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create Crea - + Close wire Tanca el filferro - + Clear Neteja - + Cancel Cancel·la - + Wrong mesh picked S'ha seleccionat una malla incorrecta - + No point was picked No s'ha seleccionat cap punt. @@ -485,27 +485,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document No hi ha cap document actiu. - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. You have selected a body without tip. Either set the tip of the body or select a different shape, please. - + You have selected a shape without faces. Select a different shape, please. You have selected a shape without faces. Select a different shape, please. - + Select a shape for meshing, first. Seleccioneu primer una forma per al mallat diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_zh-CN.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_zh-CN.ts index b061ad5f45..838469a428 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_zh-CN.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_zh-CN.ts @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. 如果距离小于,则连接边缘 - + Failure 失败 @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create 创建 - + Close wire 封闭线 - + Clear 清除 - + Cancel 取消 - + Wrong mesh picked 错误的网格选择 - + No point was picked 没有点被选 @@ -491,27 +491,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document 没有活动文档 - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. 你选择了一个没有尖端的实体。 请设置实体的尖端或选择一个不同的形状。 - + You have selected a shape without faces. Select a different shape, please. 您选择了一个没有面的形状。 请选择不同的形状。 - + Select a shape for meshing, first. 请先选择需要网格化的形状. diff --git a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_zh-TW.ts b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_zh-TW.ts index 8beda186d6..f4b5bbd589 100644 --- a/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_zh-TW.ts +++ b/src/Mod/MeshPart/Gui/Resources/translations/MeshPart_zh-TW.ts @@ -170,7 +170,7 @@ This command only works with a 'mesh' object. Connect edges if distance less than - + Failure Failure @@ -178,32 +178,32 @@ This command only works with a 'mesh' object. MeshPartGui::CurveOnMeshHandler - + Create 建立 - + Close wire Close wire - + Clear 清除 - + Cancel 取消 - + Wrong mesh picked Wrong mesh picked - + No point was picked 無選定點 @@ -491,27 +491,27 @@ A value in the range of 0.2-10. Gmsh - - + + No active document 無可用文件 - + You have selected a body without tip. Either set the tip of the body or select a different shape, please. You have selected a body without tip. Either set the tip of the body or select a different shape, please. - + You have selected a shape without faces. Select a different shape, please. You have selected a shape without faces. Select a different shape, please. - + Select a shape for meshing, first. 請先選擇造型來產生網格 diff --git a/src/Mod/MeshPart/Gui/TaskCurveOnMesh.cpp b/src/Mod/MeshPart/Gui/TaskCurveOnMesh.cpp index 40d30e661f..0625bd73c3 100644 --- a/src/Mod/MeshPart/Gui/TaskCurveOnMesh.cpp +++ b/src/Mod/MeshPart/Gui/TaskCurveOnMesh.cpp @@ -104,11 +104,6 @@ TaskCurveOnMesh::TaskCurveOnMesh(Gui::View3DInventor* view) Content.push_back(taskbox); } -TaskCurveOnMesh::~TaskCurveOnMesh() -{ - // automatically deleted in the sub-class -} - bool TaskCurveOnMesh::reject() { widget->reject(); diff --git a/src/Mod/MeshPart/Gui/TaskCurveOnMesh.h b/src/Mod/MeshPart/Gui/TaskCurveOnMesh.h index 0b1f7aaa5d..e97769dc7e 100644 --- a/src/Mod/MeshPart/Gui/TaskCurveOnMesh.h +++ b/src/Mod/MeshPart/Gui/TaskCurveOnMesh.h @@ -68,7 +68,6 @@ class TaskCurveOnMesh : public Gui::TaskView::TaskDialog public: explicit TaskCurveOnMesh(Gui::View3DInventor* view); - ~TaskCurveOnMesh() override; public: bool reject() override; diff --git a/src/Mod/MeshPart/Gui/Tessellation.cpp b/src/Mod/MeshPart/Gui/Tessellation.cpp index 7b6b367781..cc6c04d4d0 100644 --- a/src/Mod/MeshPart/Gui/Tessellation.cpp +++ b/src/Mod/MeshPart/Gui/Tessellation.cpp @@ -96,9 +96,7 @@ Tessellation::Tessellation(QWidget* parent) } } -Tessellation::~Tessellation() -{ -} +Tessellation::~Tessellation() = default; void Tessellation::setupConnections() { @@ -502,9 +500,7 @@ Mesh2ShapeGmsh::Mesh2ShapeGmsh(QWidget* parent, Qt::WindowFlags fl) d->geoFile = App::Application::getTempFileName() + "mesh.geo"; } -Mesh2ShapeGmsh::~Mesh2ShapeGmsh() -{ -} +Mesh2ShapeGmsh::~Mesh2ShapeGmsh() = default; void Mesh2ShapeGmsh::process(App::Document* doc, const std::list& objs) { @@ -624,11 +620,6 @@ TaskTessellation::TaskTessellation() Content.push_back(taskbox); } -TaskTessellation::~TaskTessellation() -{ - // automatically deleted in the sub-class -} - void TaskTessellation::open() { } diff --git a/src/Mod/MeshPart/Gui/Tessellation.h b/src/Mod/MeshPart/Gui/Tessellation.h index 4d2175d42f..ccf1df7ec9 100644 --- a/src/Mod/MeshPart/Gui/Tessellation.h +++ b/src/Mod/MeshPart/Gui/Tessellation.h @@ -120,7 +120,6 @@ class TaskTessellation : public Gui::TaskView::TaskDialog public: TaskTessellation(); - ~TaskTessellation() override; public: void open() override; diff --git a/src/Mod/MeshPart/Gui/Workbench.cpp b/src/Mod/MeshPart/Gui/Workbench.cpp index a51518a43a..b5113be32a 100644 --- a/src/Mod/MeshPart/Gui/Workbench.cpp +++ b/src/Mod/MeshPart/Gui/Workbench.cpp @@ -39,13 +39,9 @@ using namespace MeshPartGui; /// @namespace MeshPartGui @class Workbench TYPESYSTEM_SOURCE(MeshPartGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; Gui::ToolBarItem* Workbench::setupToolBars() const { diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_de.qm b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_de.qm index 6304f663e9..163649095f 100644 Binary files a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_de.qm and b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_de.qm differ diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_de.ts b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_de.ts index 0eead313ce..85120a986b 100644 --- a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_de.ts +++ b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_de.ts @@ -205,7 +205,7 @@ Clear - Löschen + Leeren diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_fr.qm b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_fr.qm index 7e8dffd84d..b5bfd0a660 100644 Binary files a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_fr.qm and b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_fr.qm differ diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_fr.ts b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_fr.ts index 255e0deaa1..9c8a97c8a1 100644 --- a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_fr.ts +++ b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_fr.ts @@ -221,7 +221,7 @@ Refresh - Rafraîchir + Actualiser diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_id.qm b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_id.qm index 94c33431f7..29d0411bf1 100644 Binary files a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_id.qm and b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_id.qm differ diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_id.ts b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_id.ts index c3d651132e..8b6c7c661d 100644 --- a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_id.ts +++ b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_id.ts @@ -109,6 +109,11 @@ Maximum fragment size Maximum fragment size + + + angle (fa) + angle (fa) + Convexity @@ -120,11 +125,6 @@ Minimum angle for a fragment Sudut minimum untuk fragmen - - - angular (fa) - sudut (fa) - diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.qm b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.qm index 7ed325c33c..305c8985e8 100644 Binary files a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.qm and b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.qm differ diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.ts b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.ts index 8910a75914..3aba548225 100644 --- a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.ts +++ b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.ts @@ -231,7 +231,7 @@ Open... - Otwórz... + Otwórz ... @@ -303,7 +303,7 @@ Press OK - Naciśnij przycisk OK + Naciśnij OK @@ -475,7 +475,7 @@ Hull - Kadłub + Powłoka diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_sl.qm b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_sl.qm index c14bd31e86..0234f605e8 100644 Binary files a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_sl.qm and b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_sl.qm differ diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_sl.ts b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_sl.ts index 5ac756dac5..d01d0af6a0 100644 --- a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_sl.ts +++ b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_sl.ts @@ -231,7 +231,7 @@ Open... - Odpri... + Odpri ... diff --git a/src/Mod/Part/App/AppPartPy.cpp b/src/Mod/Part/App/AppPartPy.cpp index 2276ba7c10..293893862b 100644 --- a/src/Mod/Part/App/AppPartPy.cpp +++ b/src/Mod/Part/App/AppPartPy.cpp @@ -80,6 +80,7 @@ #include #include #include +#include #include #include "BSplineSurfacePy.h" @@ -170,7 +171,7 @@ PartExport std::list sort_Edges(double tol3d, std::list(); + return {}; std::list sorted; gp_Pnt first, last; @@ -247,8 +248,6 @@ public: { initialize("This is a module working with the BRepFeat package."); // register with Python } - - ~BRepFeatModule() override {} }; class BRepOffsetAPIModule : public Py::ExtensionModule @@ -258,8 +257,6 @@ public: { initialize("This is a module working with the BRepOffsetAPI package."); // register with Python } - - ~BRepOffsetAPIModule() override {} }; class Geom2dModule : public Py::ExtensionModule @@ -269,8 +266,6 @@ public: { initialize("This is a module working with 2d geometries."); // register with Python } - - ~Geom2dModule() override {} }; class GeomPlateModule : public Py::ExtensionModule @@ -280,8 +275,6 @@ public: { initialize("This is a module working with the GeomPlate framework."); // register with Python } - - ~GeomPlateModule() override {} }; class HLRBRepModule : public Py::ExtensionModule @@ -291,8 +284,6 @@ public: { initialize("This is a module working with the HLRBRep framework."); // register with Python } - - ~HLRBRepModule() override {} }; class ShapeFixModule : public Py::ExtensionModule @@ -321,8 +312,6 @@ public: initialize("This is a module working with the ShapeFix framework."); // register with Python } - ~ShapeFixModule() override {} - private: Py::Object sameParameter(const Py::Tuple& args) { @@ -390,8 +379,6 @@ public: { initialize("This is a module working with the ShapeUpgrade framework."); // register with Python } - - ~ShapeUpgradeModule() override {} }; class ChFi2dModule : public Py::ExtensionModule @@ -401,8 +388,6 @@ public: { initialize("This is a module working with the ChFi2d framework."); // register with Python } - - ~ChFi2dModule() override {} }; class Module : public Py::ExtensionModule @@ -649,8 +634,6 @@ public: PyModule_AddObject(m_module, "ChFi2d", chFi2d.module().ptr()); } - ~Module() override {} - private: Py::Object invoke_method_keyword( void *method_def, const Py::Tuple &args, const Py::Dict &keywords ) override @@ -2124,10 +2107,10 @@ private: tEdgeClusterVector aclusteroutput = acluster.GetClusters(); Py::List root_list; - for (tEdgeClusterVector::iterator it=aclusteroutput.begin(); it != aclusteroutput.end();++it) { + for (const auto & it : aclusteroutput) { Py::List add_list; - for (tEdgeVector::iterator it1=(*it).begin();it1 != (*it).end();++it1) { - add_list.append(Py::Object(new TopoShapeEdgePy(new TopoShape(*it1)),true)); + for (const auto& it1 : it) { + add_list.append(Py::Object(new TopoShapeEdgePy(new TopoShape(it1)),true)); } root_list.append(add_list); } @@ -2160,8 +2143,8 @@ private: std::list sorted = sort_Edges(Precision::Confusion(), edges); Py::List sorted_list; - for (std::list::iterator it = sorted.begin(); it != sorted.end(); ++it) { - sorted_list.append(Py::Object(new TopoShapeEdgePy(new TopoShape(*it)),true)); + for (const auto & it : sorted) { + sorted_list.append(Py::Object(new TopoShapeEdgePy(new TopoShape(it)),true)); } return sorted_list; @@ -2195,8 +2178,8 @@ private: while(!edges.empty()) { std::list sorted = sort_Edges(tol3d, edges); Py::List sorted_list; - for (std::list::iterator it = sorted.begin(); it != sorted.end(); ++it) { - sorted_list.append(Py::Object(new TopoShapeEdgePy(new TopoShape(*it)),true)); + for (const auto & it : sorted) { + sorted_list.append(Py::Object(new TopoShapeEdgePy(new TopoShape(it)),true)); } root_list.append(sorted_list); } @@ -2247,13 +2230,16 @@ private: PyObject *noElementMap = Py_False; PyObject *refine = Py_False; short retType = 0; - static char* kwd_list[] = {"obj", "subname", "mat", - "needSubElement","transform","retType","noElementMap","refine",nullptr}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|sO!O!O!hO!O!", kwd_list, - &App::DocumentObjectPy::Type, &pObj, &subname, &Base::MatrixPy::Type, &pyMat, - &PyBool_Type,&needSubElement,&PyBool_Type,&transform,&retType, - &PyBool_Type,&noElementMap,&PyBool_Type,&refine)) + static const std::array kwd_list{"obj", "subname", "mat", + "needSubElement", "transform", "retType", "noElementMap", + "refine", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|sO!O!O!hO!O!", kwd_list, + &App::DocumentObjectPy::Type, &pObj, &subname, &Base::MatrixPy::Type, + &pyMat, + &PyBool_Type, &needSubElement, &PyBool_Type, &transform, &retType, + &PyBool_Type, &noElementMap, &PyBool_Type, &refine)) { throw Py::Exception(); + } App::DocumentObject *obj = static_cast(pObj)->getDocumentObjectPtr(); diff --git a/src/Mod/Part/App/AttachEnginePyImp.cpp b/src/Mod/Part/App/AttachEnginePyImp.cpp index 7b7ab19ebb..b4f08d3a95 100644 --- a/src/Mod/Part/App/AttachEnginePyImp.cpp +++ b/src/Mod/Part/App/AttachEnginePyImp.cpp @@ -40,7 +40,7 @@ using namespace Attacher; // returns a string which represents the object e.g. when printed in python std::string AttachEnginePy::representation() const { - return std::string(""); + return {""}; } PyObject* AttachEnginePy::PyMake(struct _typeobject *, PyObject *, PyObject *) @@ -94,7 +94,7 @@ int AttachEnginePy::PyInit(PyObject* args, PyObject* /*kwd*/) Py::String AttachEnginePy::getAttacherType() const { - return Py::String(std::string(this->getAttachEnginePtr()->getTypeId().getName())); + return {std::string(this->getAttachEnginePtr()->getTypeId().getName())}; } /** @@ -114,7 +114,7 @@ Py::String AttachEnginePy::getMode() const { try { AttachEngine &attacher = *(this->getAttachEnginePtr()); - return Py::String(attacher.getModeName(attacher.mapMode)); + return {attacher.getModeName(attacher.mapMode)}; } ATTACHERPY_STDCATCH_ATTR; } @@ -171,7 +171,7 @@ Py::Boolean AttachEnginePy::getReverse() const { try { AttachEngine &attacher = *(this->getAttachEnginePtr()); - return Py::Boolean(attacher.mapReverse); + return {attacher.mapReverse}; } ATTACHERPY_STDCATCH_ATTR; } diff --git a/src/Mod/Part/App/AttachExtension.cpp b/src/Mod/Part/App/AttachExtension.cpp index fe76dd9f97..cca0227a25 100644 --- a/src/Mod/Part/App/AttachExtension.cpp +++ b/src/Mod/Part/App/AttachExtension.cpp @@ -34,7 +34,6 @@ using namespace Attacher; EXTENSION_PROPERTY_SOURCE(Part::AttachExtension, App::DocumentObjectExtension) AttachExtension::AttachExtension() - : _attacher(nullptr) { EXTENSION_ADD_PROPERTY_TYPE(AttacherType, ("Attacher::AttachEngine3D"), "Attachment",(App::PropertyType)(App::Prop_None),"Class name of attach engine object driving the attachment."); this->AttacherType.setStatus(App::Property::Status::Hidden, true); diff --git a/src/Mod/Part/App/AttachExtension.h b/src/Mod/Part/App/AttachExtension.h index 626de2b5fa..d33de4d64b 100644 --- a/src/Mod/Part/App/AttachExtension.h +++ b/src/Mod/Part/App/AttachExtension.h @@ -49,7 +49,7 @@ public: explicit AttachEngineException(const char * sMessage); explicit AttachEngineException(const std::string& sMessage); /// Destruction - ~AttachEngineException() noexcept override {} + ~AttachEngineException() noexcept override = default; }; /** @@ -125,7 +125,7 @@ public: void updateAttacherVals(); private: - Attacher::AttachEngine* _attacher; + Attacher::AttachEngine* _attacher = nullptr; mutable int _active = -1; }; diff --git a/src/Mod/Part/App/AttachExtensionPyImp.cpp b/src/Mod/Part/App/AttachExtensionPyImp.cpp index d9fd263565..de1c82b3dc 100644 --- a/src/Mod/Part/App/AttachExtensionPyImp.cpp +++ b/src/Mod/Part/App/AttachExtensionPyImp.cpp @@ -33,7 +33,7 @@ using namespace Part; // returns a string which represents the object e.g. when printed in python std::string AttachExtensionPy::representation() const { - return std::string(""); + return {""}; } PyObject* AttachExtensionPy::positionBySupport(PyObject *args) diff --git a/src/Mod/Part/App/Attacher.cpp b/src/Mod/Part/App/Attacher.cpp index 5f3282d4cb..c102396cd6 100644 --- a/src/Mod/Part/App/Attacher.cpp +++ b/src/Mod/Part/App/Attacher.cpp @@ -169,11 +169,7 @@ const char* AttachEngine::eRefTypeStrings[]= { TYPESYSTEM_SOURCE_ABSTRACT(Attacher::AttachEngine, Base::BaseClass) -AttachEngine::AttachEngine() - : mapMode(mmDeactivated), mapReverse(false), attachParameter(0.0), - surfU(0.0), surfV(0.0) -{ -} +AttachEngine::AttachEngine() = default; void AttachEngine::setUp(const App::PropertyLinkSubList &references, eMapMode mapMode, bool mapReverse, @@ -344,9 +340,8 @@ void AttachEngine::suggestMapModes(SuggestResult &result) const if (! this->modeEnabled[iMode]) continue; const refTypeStringList &listStrings = modeRefTypes[iMode]; - for (std::size_t iStr = 0; iStr < listStrings.size(); ++iStr) { + for (const auto & str : listStrings) { int score = 1; //-1 = topo incompatible, 0 = topo compatible, geom incompatible; 1+ = compatible (the higher - the more specific is the mode for the support) - const refTypeString &str = listStrings[iStr]; for (std::size_t iChr = 0; iChr < str.size() && iChr < typeStr.size(); ++iChr) { int match = AttachEngine::isShapeOfType(typeStr[iChr], str[iChr]); switch(match){ @@ -623,7 +618,7 @@ std::string AttachEngine::getModeName(eMapMode mmode) { if(mmode < 0 || mmode >= mmDummy_NumberOfModes) throw AttachEngineException("AttachEngine::getModeName: Attachment Mode index is out of range"); - return std::string(AttachEngine::eMapModeStrings[mmode]); + return {AttachEngine::eMapModeStrings[mmode]}; } eMapMode AttachEngine::getModeByName(const std::string &modeName) @@ -1284,7 +1279,7 @@ Base::Placement AttachEngine3D::calculateAttachedPlacement(const Base::Placement try{ adapt.D2(u,p,d,dd); } catch (Standard_Failure &e){ - //ignore. This is brobably due to insufficient continuity. + //ignore. This is probably due to insufficient continuity. dd = gp_Vec(0., 0., 0.); Base::Console().Warning("AttachEngine3D::calculateAttachedPlacement: can't calculate second derivative of curve. OCC error: %s\n", e.GetMessageString()); } @@ -1345,8 +1340,8 @@ Base::Placement AttachEngine3D::calculateAttachedPlacement(const Base::Placement std::vector points; - for (std::size_t i = 0; i < shapes.size(); i++) { - const TopoDS_Shape &sh = *shapes[i]; + for (const auto & shape : shapes) { + const TopoDS_Shape &sh = *shape; if (sh.IsNull()) throw Base::ValueError("Null shape in AttachEngine3D::calculateAttachedPlacement()!"); if (sh.ShapeType() == TopAbs_VERTEX){ @@ -1807,8 +1802,8 @@ Base::Placement AttachEngineLine::calculateAttachedPlacement(const Base::Placeme case mm1TwoPoints:{ std::vector points; - for (std::size_t i = 0; i < shapes.size(); i++) { - const TopoDS_Shape &sh = *shapes[i]; + for (const auto & shape : shapes) { + const TopoDS_Shape &sh = *shape; if (sh.IsNull()) throw Base::ValueError("Null shape in AttachEngineLine::calculateAttachedPlacement()!"); if (sh.ShapeType() == TopAbs_VERTEX){ diff --git a/src/Mod/Part/App/Attacher.h b/src/Mod/Part/App/Attacher.h index 8322f1a259..e580c71808 100644 --- a/src/Mod/Part/App/Attacher.h +++ b/src/Mod/Part/App/Attacher.h @@ -285,7 +285,7 @@ public: //methods */ void EnableAllSupportedModes(); - ~AttachEngine() override{}; + ~AttachEngine() override = default; public://helper functions that may be useful outside of the class /** @@ -363,10 +363,10 @@ public: //enums public: //members App::PropertyLinkSubList references; - eMapMode mapMode; - bool mapReverse; - double attachParameter; - double surfU, surfV; + eMapMode mapMode = mmDeactivated; + bool mapReverse = false; + double attachParameter = 0.0; + double surfU = 0.0, surfV = 0.0; Base::Placement attachmentOffset; /** @@ -463,9 +463,9 @@ private: class ExceptionCancel : public Base::Exception { public: - ExceptionCancel(){} + ExceptionCancel() = default; explicit ExceptionCancel(char* msg){this->setMessage(msg);} - ~ExceptionCancel() noexcept override {} + ~ExceptionCancel() noexcept override = default; }; } // namespace Attacher diff --git a/src/Mod/Part/App/BRepFeat/MakePrismPyImp.cpp b/src/Mod/Part/App/BRepFeat/MakePrismPyImp.cpp index e2cb79d59e..6da8fece2b 100644 --- a/src/Mod/Part/App/BRepFeat/MakePrismPyImp.cpp +++ b/src/Mod/Part/App/BRepFeat/MakePrismPyImp.cpp @@ -27,6 +27,7 @@ # include #endif +#include #include #include "BRepFeat/MakePrismPy.h" @@ -53,13 +54,14 @@ int MakePrismPy::PyInit(PyObject* args, PyObject* kwds) PyObject* Direction; int Fuse; PyObject* Modify; - static char* keywords[] = {"Sbase", "Pbase", "Skface", "Direction", "Fuse", "Modify", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!O!iO!", keywords, - &(TopoShapePy::Type), &Sbase, - &(TopoShapePy::Type), &Pbase, - &(TopoShapeFacePy::Type), &Skface, - &(Base::VectorPy::Type), &Direction, &Fuse, - &(PyBool_Type), &Modify)) { + static const std::array keywords{"Sbase", "Pbase", "Skface", "Direction", "Fuse", "Modify", + nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!O!iO!", keywords, + &(TopoShapePy::Type), &Sbase, + &(TopoShapePy::Type), &Pbase, + &(TopoShapeFacePy::Type), &Skface, + &(Base::VectorPy::Type), &Direction, &Fuse, + &(PyBool_Type), &Modify)) { try { TopoDS_Shape sbase = static_cast(Sbase)->getTopoShapePtr()->getShape(); TopoDS_Shape pbase = static_cast(Pbase)->getTopoShapePtr()->getShape(); @@ -99,7 +101,7 @@ int MakePrismPy::PyInit(PyObject* args, PyObject* kwds) // returns a string which represents the object e.g. when printed in python std::string MakePrismPy::representation() const { - return std::string(""); + return {""}; } PyObject* MakePrismPy::init(PyObject *args, PyObject* kwds) @@ -110,14 +112,16 @@ PyObject* MakePrismPy::init(PyObject *args, PyObject* kwds) PyObject* Direction; int Fuse; PyObject* Modify; - static char* keywords[] = {"Sbase", "Pbase", "Skface", "Direction", "Fuse", "Modify", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!O!iO!", keywords, - &(TopoShapePy::Type), &Sbase, - &(TopoShapePy::Type), &Pbase, - &(TopoShapeFacePy::Type), &Skface, - &(Base::VectorPy::Type), &Direction, &Fuse, - &(PyBool_Type), &Modify)) + static const std::array keywords{"Sbase", "Pbase", "Skface", "Direction", "Fuse", "Modify", + nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!O!iO!", keywords, + &(TopoShapePy::Type), &Sbase, + &(TopoShapePy::Type), &Pbase, + &(TopoShapeFacePy::Type), &Skface, + &(Base::VectorPy::Type), &Direction, &Fuse, + &(PyBool_Type), &Modify)) { return nullptr; + } try { @@ -140,11 +144,12 @@ PyObject* MakePrismPy::add(PyObject *args, PyObject* kwds) { PyObject* Edge; PyObject* Face; - static char* keywords[] = {"Edge", "Face", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!O!", keywords, - &(TopoShapeEdgePy::Type), &Edge, - &(TopoShapeFacePy::Type), &Face)) + static const std::array keywords{"Edge", "Face", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!", keywords, + &(TopoShapeEdgePy::Type), &Edge, + &(TopoShapeFacePy::Type), &Face)) { return nullptr; + } try { @@ -164,10 +169,10 @@ PyObject* MakePrismPy::perform(PyObject *args, PyObject* kwds) { PyObject* From; PyObject* Until; - static char* keywords_fu[] = {"From", "Until", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!", keywords_fu, - &(TopoShapePy::Type), &From, - &(TopoShapePy::Type), &Until)) { + static const std::array keywords_fu{"From", "Until", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!", keywords_fu, + &(TopoShapePy::Type), &From, + &(TopoShapePy::Type), &Until)) { try { TopoDS_Shape from = static_cast(From)->getTopoShapePtr()->getShape(); TopoDS_Shape until = static_cast(Until)->getTopoShapePtr()->getShape(); @@ -181,9 +186,8 @@ PyObject* MakePrismPy::perform(PyObject *args, PyObject* kwds) } PyErr_Clear(); - static char* keywords_u[] = {"Until", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!", keywords_u, - &(TopoShapePy::Type), &Until)) { + static const std::array keywords_u {"Until", nullptr}; + if (Base:: Wrapped_ParseTupleAndKeywords(args, kwds, "O!", keywords_u, &(TopoShapePy::Type), &Until)) { try { TopoDS_Shape until = static_cast(Until)->getTopoShapePtr()->getShape(); getBRepFeat_MakePrismPtr()->Perform(until); @@ -197,8 +201,8 @@ PyObject* MakePrismPy::perform(PyObject *args, PyObject* kwds) PyErr_Clear(); double length; - static char* keywords_l[] = {"Length", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d", keywords_l, &length)) { + static const std::array keywords_l {"Length", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d", keywords_l, &length)) { try { getBRepFeat_MakePrismPtr()->Perform(length); Py_Return; diff --git a/src/Mod/Part/App/BRepOffsetAPI_MakeFillingPyImp.cpp b/src/Mod/Part/App/BRepOffsetAPI_MakeFillingPyImp.cpp index 2693221009..cf7ac2ee10 100644 --- a/src/Mod/Part/App/BRepOffsetAPI_MakeFillingPyImp.cpp +++ b/src/Mod/Part/App/BRepOffsetAPI_MakeFillingPyImp.cpp @@ -30,6 +30,7 @@ # include #endif +#include #include #include "BRepOffsetAPI_MakeFillingPy.h" @@ -91,12 +92,13 @@ int BRepOffsetAPI_MakeFillingPy::PyInit(PyObject* args, PyObject* kwds) double tolCurv = 0.1; PyObject* anisotropy = Py_False; - static char* keywords[] = {"Degree", "NbPtsOnCur", "NbIter", "MaxDegree", "MaxSegments", "Tol2d", - "Tol3d", "TolAng", "TolCurv", "Anisotropy", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|iiiiiddddO!", keywords, - °ree, &nbPtsOnCur, &nbIter, &maxDeg, &maxSegments, - &tol2d, &tol3d, &tolAng, &tolCurv, &PyBool_Type, &anisotropy)) + static const std::array keywords{"Degree", "NbPtsOnCur", "NbIter", "MaxDegree", "MaxSegments", + "Tol2d", "Tol3d", "TolAng", "TolCurv", "Anisotropy", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|iiiiiddddO!", keywords, + °ree, &nbPtsOnCur, &nbIter, &maxDeg, &maxSegments, + &tol2d, &tol3d, &tolAng, &tolCurv, &PyBool_Type, &anisotropy)) { return -1; + } try { std::unique_ptr ptr(new BRepOffsetAPI_MakeFilling(degree, nbPtsOnCur, nbIter, @@ -116,7 +118,7 @@ int BRepOffsetAPI_MakeFillingPy::PyInit(PyObject* args, PyObject* kwds) // returns a string which represents the object e.g. when printed in python std::string BRepOffsetAPI_MakeFillingPy::representation() const { - return std::string(""); + return {""}; } PyObject* BRepOffsetAPI_MakeFillingPy::setConstrParam(PyObject *args, PyObject *kwds) @@ -126,10 +128,11 @@ PyObject* BRepOffsetAPI_MakeFillingPy::setConstrParam(PyObject *args, PyObject * double tolAng = 0.01; double tolCurv = 0.1; - static char* keywords[] = {"Tol2d", "Tol3d", "TolAng", "TolCurv", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|dddd", keywords, - &tol2d, &tol3d, &tolAng, &tolCurv)) + static const std::array keywords {"Tol2d", "Tol3d", "TolAng", "TolCurv", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|dddd", keywords, + &tol2d, &tol3d, &tolAng, &tolCurv)) { return nullptr; + } try { getBRepOffsetAPI_MakeFillingPtr()->SetConstrParam(tol2d, tol3d, tolAng, tolCurv); @@ -148,10 +151,11 @@ PyObject* BRepOffsetAPI_MakeFillingPy::setResolParam(PyObject *args, PyObject *k int nbIter = 2; PyObject* anisotropy = Py_False; - static char* keywords[] = {"Degree", "NbPtsOnCur", "NbIter", "Anisotropy", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|iiiO!", keywords, - °ree, &nbPtsOnCur, &nbIter, &PyBool_Type, &anisotropy)) + static const std::array keywords {"Degree", "NbPtsOnCur", "NbIter", "Anisotropy", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|iiiO!", keywords, + °ree, &nbPtsOnCur, &nbIter, &PyBool_Type, &anisotropy)) { return nullptr; + } try { getBRepOffsetAPI_MakeFillingPtr()->SetResolParam(degree, nbPtsOnCur, nbIter, @@ -169,10 +173,11 @@ PyObject* BRepOffsetAPI_MakeFillingPy::setApproxParam(PyObject *args, PyObject * int maxDeg = 8; int maxSegments = 9; - static char* keywords[] = {"MaxDegree", "MaxSegments", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|ii", keywords, - &maxDeg, &maxSegments)) + static const std::array keywords {"MaxDegree", "MaxSegments", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|ii", keywords, + &maxDeg, &maxSegments)) { return nullptr; + } try { getBRepOffsetAPI_MakeFillingPtr()->SetApproxParam(maxDeg, maxSegments); @@ -210,9 +215,9 @@ PyObject* BRepOffsetAPI_MakeFillingPy::add(PyObject *args, PyObject *kwds) { // 1st PyObject* pnt; - static char* keywords_pnt[] = {"Point", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!", keywords_pnt, - &Base::VectorPy::Type, &pnt)) { + static const std::array keywords_pnt {"Point", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!", keywords_pnt, + &Base::VectorPy::Type, &pnt)) { try { Base::Vector3d vec = static_cast(pnt)->value(); getBRepOffsetAPI_MakeFillingPtr()->Add(gp_Pnt(vec.x, vec.y, vec.z)); @@ -227,10 +232,10 @@ PyObject* BRepOffsetAPI_MakeFillingPy::add(PyObject *args, PyObject *kwds) // 2nd PyObject* support; int order; - static char* keywords_sup_ord[] = {"Support", "Order", nullptr}; + static const std::array keywords_sup_ord {"Support", "Order", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!i", keywords_sup_ord, - &TopoShapeFacePy::Type, &support, &order)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!i", keywords_sup_ord, + &TopoShapeFacePy::Type, &support, &order)) { try { TopoDS_Face face = TopoDS::Face(static_cast(support)->getTopoShapePtr()->getShape()); if (face.IsNull()) { @@ -255,11 +260,11 @@ PyObject* BRepOffsetAPI_MakeFillingPy::add(PyObject *args, PyObject *kwds) // 3rd PyObject* constr; PyObject* isbound = Py_True; - static char* keywords_const[] = {"Constraint", "Order", "IsBound", nullptr}; + static const std::array keywords_const {"Constraint", "Order", "IsBound", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!i|O!", keywords_const, - &TopoShapeEdgePy::Type, &constr, - &order, &PyBool_Type, isbound)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!i|O!", keywords_const, + &TopoShapeEdgePy::Type, &constr, + &order, &PyBool_Type, isbound)) { try { TopoDS_Edge edge = TopoDS::Edge(static_cast(constr)->getTopoShapePtr()->getShape()); if (edge.IsNull()) { @@ -283,12 +288,12 @@ PyObject* BRepOffsetAPI_MakeFillingPy::add(PyObject *args, PyObject *kwds) } // 4th - static char* keywords_const_sup[] = {"Constraint", "Support", "Order", "IsBound", nullptr}; + static const std::array keywords_const_sup {"Constraint", "Support", "Order", "IsBound", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!i|O!", keywords_const_sup, - &TopoShapeEdgePy::Type, &constr, - &TopoShapeFacePy::Type, &support, - &order, &PyBool_Type, isbound)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!i|O!", keywords_const_sup, + &TopoShapeEdgePy::Type, &constr, + &TopoShapeFacePy::Type, &support, + &order, &PyBool_Type, isbound)) { try { TopoDS_Edge edge = TopoDS::Edge(static_cast(constr)->getTopoShapePtr()->getShape()); if (edge.IsNull()) { @@ -318,10 +323,10 @@ PyObject* BRepOffsetAPI_MakeFillingPy::add(PyObject *args, PyObject *kwds) // 5th double u, v; - static char* keywords_uv[] = {"U", "V", "Support", "Order", nullptr}; + static const std::array keywords_uv {"U", "V", "Support", "Order", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "ddO!i", keywords_uv, - &u, &v, &TopoShapeFacePy::Type, &support, &order)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "ddO!i", keywords_uv, + &u, &v, &TopoShapeFacePy::Type, &support, &order)) { try { TopoDS_Face face = TopoDS::Face(static_cast(support)->getTopoShapePtr()->getShape()); if (face.IsNull()) { diff --git a/src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp b/src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp index 7ffd399233..4b2ff90fac 100644 --- a/src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp +++ b/src/Mod/Part/App/BRepOffsetAPI_MakeOffsetFix.cpp @@ -47,18 +47,14 @@ using namespace Part; -BRepOffsetAPI_MakeOffsetFix::BRepOffsetAPI_MakeOffsetFix() -{ -} +BRepOffsetAPI_MakeOffsetFix::BRepOffsetAPI_MakeOffsetFix() = default; BRepOffsetAPI_MakeOffsetFix::BRepOffsetAPI_MakeOffsetFix(const GeomAbs_JoinType Join, const Standard_Boolean IsOpenResult) { mkOffset.Init(Join, IsOpenResult); } -BRepOffsetAPI_MakeOffsetFix::~BRepOffsetAPI_MakeOffsetFix() -{ -} +BRepOffsetAPI_MakeOffsetFix::~BRepOffsetAPI_MakeOffsetFix() = default; void BRepOffsetAPI_MakeOffsetFix::AddWire(const TopoDS_Wire& Spine) { diff --git a/src/Mod/Part/App/BRepOffsetAPI_MakePipeShellPyImp.cpp b/src/Mod/Part/App/BRepOffsetAPI_MakePipeShellPyImp.cpp index 4dc18a81da..a698415c22 100644 --- a/src/Mod/Part/App/BRepOffsetAPI_MakePipeShellPyImp.cpp +++ b/src/Mod/Part/App/BRepOffsetAPI_MakePipeShellPyImp.cpp @@ -32,6 +32,7 @@ #endif #include +#include #include #include "BRepOffsetAPI_MakePipeShellPy.h" @@ -68,7 +69,7 @@ int BRepOffsetAPI_MakePipeShellPy::PyInit(PyObject* /*args*/, PyObject* /*kwd*/) // returns a string which represents the object e.g. when printed in python std::string BRepOffsetAPI_MakePipeShellPy::representation() const { - return std::string(""); + return {""}; } PyObject* BRepOffsetAPI_MakePipeShellPy::setFrenetMode(PyObject *args) @@ -182,11 +183,9 @@ PyObject* BRepOffsetAPI_MakePipeShellPy::setAuxiliarySpine(PyObject *args) PyObject* BRepOffsetAPI_MakePipeShellPy::add(PyObject *args, PyObject *kwds) { PyObject *prof, *curv=Py_False, *keep=Py_False; - static char* keywords_pro[] = {"Profile","WithContact","WithCorrection",nullptr}; - if (PyArg_ParseTupleAndKeywords(args,kwds, "O!|O!O!", keywords_pro - ,&Part::TopoShapePy::Type,&prof - ,&PyBool_Type,&curv - ,&PyBool_Type,&keep)) { + static const std::array keywords_pro{"Profile", "WithContact", "WithCorrection", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|O!O!", keywords_pro, &Part::TopoShapePy::Type, &prof, + &PyBool_Type, &curv, &PyBool_Type, &keep)) { try { const TopoDS_Shape& s = static_cast(prof)->getTopoShapePtr()->getShape(); this->getBRepOffsetAPI_MakePipeShellPtr()->Add(s, Base::asBoolean(curv), Base::asBoolean(keep)); @@ -200,12 +199,11 @@ PyObject* BRepOffsetAPI_MakePipeShellPy::add(PyObject *args, PyObject *kwds) PyErr_Clear(); PyObject *loc; - static char* keywords_loc[] = {"Profile","Location","WithContact","WithCorrection",nullptr}; - if (PyArg_ParseTupleAndKeywords(args,kwds, "O!O!|O!O!", keywords_loc - ,&Part::TopoShapePy::Type,&prof - ,&Part::TopoShapeVertexPy::Type,&loc - ,&PyBool_Type,&curv - ,&PyBool_Type,&keep)) { + static const std::array keywords_loc{"Profile", "Location", "WithContact", "WithCorrection", + nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!|O!O!", keywords_loc, &Part::TopoShapePy::Type, &prof, + &Part::TopoShapeVertexPy::Type, &loc, &PyBool_Type, &curv, &PyBool_Type, + &keep)) { try { const TopoDS_Shape& s = static_cast(prof)->getTopoShapePtr()->getShape(); const TopoDS_Vertex& v = TopoDS::Vertex(static_cast(loc)->getTopoShapePtr()->getShape()); diff --git a/src/Mod/Part/App/BSplineCurvePyImp.cpp b/src/Mod/Part/App/BSplineCurvePyImp.cpp index 7ce054ab39..d6b92dbc21 100644 --- a/src/Mod/Part/App/BSplineCurvePyImp.cpp +++ b/src/Mod/Part/App/BSplineCurvePyImp.cpp @@ -39,6 +39,7 @@ #endif #include +#include #include #include "BSplineCurvePy.h" @@ -775,9 +776,9 @@ PyObject* BSplineCurvePy::toBiArcs(PyObject * args) arcs = curve->toBiArcs(tolerance); Py::List list; - for (std::list::iterator it = arcs.begin(); it != arcs.end(); ++it) { - list.append(Py::asObject((*it)->getPyObject())); - delete (*it); + for (auto arc : arcs) { + list.append(Py::asObject(arc->getPyObject())); + delete arc; } return Py::new_reference_to(list); @@ -790,22 +791,23 @@ PyObject* BSplineCurvePy::toBiArcs(PyObject * args) PyObject* BSplineCurvePy::approximate(PyObject *args, PyObject *kwds) { - PyObject* obj; - Standard_Integer degMin=3; - Standard_Integer degMax=8; - Standard_Integer segMax=8; - char* continuity = "C2"; + PyObject *obj; + Standard_Integer degMin = 3; + Standard_Integer degMax = 8; + Standard_Integer segMax = 8; + char *continuity = "C2"; double tol3d = 1e-3; - char* parType = "ChordLength"; - PyObject* par = nullptr; + char *parType = "ChordLength"; + PyObject *par = nullptr; double weight1 = 0; double weight2 = 0; double weight3 = 0; // Approximate this curve with a given continuity and degree - static char* kwds_reapprox[] = {"MaxDegree", "MaxSegments", "Continuity", "Tolerance", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "i|isd", kwds_reapprox, - &tol3d, °Max, &segMax, &continuity)) { + static const std::array kwds_reapprox{"MaxDegree", "MaxSegments", "Continuity", "Tolerance", + nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "i|isd", kwds_reapprox, + &tol3d, °Max, &segMax, &continuity)) { GeomAbs_Shape c; std::string str = continuity; @@ -832,20 +834,22 @@ PyObject* BSplineCurvePy::approximate(PyObject *args, PyObject *kwds) // Approximate a list of points // - static char* kwds_interp[] = {"Points", "DegMax", "Continuity", "Tolerance", "DegMin", "ParamType", "Parameters", - "LengthWeight", "CurvatureWeight", "TorsionWeight", nullptr}; + static const std::array kwds_interp{"Points", "DegMax", "Continuity", "Tolerance", "DegMin", + "ParamType", "Parameters", "LengthWeight", "CurvatureWeight", + "TorsionWeight", nullptr}; PyErr_Clear(); - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|isdisOddd",kwds_interp, - &obj, °Max, - &continuity, &tol3d, °Min, - &parType, &par, - &weight1, &weight2, &weight3)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O|isdisOddd", kwds_interp, + &obj, °Max, + &continuity, &tol3d, °Min, + &parType, &par, + &weight1, &weight2, &weight3)) { return nullptr; + } try { Py::Sequence list(obj); - TColgp_Array1OfPnt pnts(1,list.size()); + TColgp_Array1OfPnt pnts(1, list.size()); Standard_Integer index = 1; for (Py::Sequence::iterator it = list.begin(); it != list.end(); ++it) { Base::Vector3d vec = Py::Vector(*it).toVector(); @@ -942,8 +946,8 @@ PyObject* BSplineCurvePy::getCardinalSplineTangents(PyObject *args, PyObject *kw PyObject* tgs; double parameter; - static char* kwds_interp1[] = {"Points", "Parameter", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "Od",kwds_interp1, &pts, ¶meter)) { + static const std::array kwds_interp1 {"Points", "Parameter", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "Od",kwds_interp1, &pts, ¶meter)) { Py::Sequence list(pts); std::vector interpPoints; interpPoints.reserve(list.size()); @@ -964,8 +968,8 @@ PyObject* BSplineCurvePy::getCardinalSplineTangents(PyObject *args, PyObject *kw } PyErr_Clear(); - static char* kwds_interp2[] = {"Points", "Parameters", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "OO",kwds_interp2, &pts, &tgs)) { + static const std::array kwds_interp2 {"Points", "Parameters", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "OO",kwds_interp2, &pts, &tgs)) { Py::Sequence list(pts); std::vector interpPoints; interpPoints.reserve(list.size()); @@ -1006,15 +1010,17 @@ PyObject* BSplineCurvePy::interpolate(PyObject *args, PyObject *kwds) PyObject* ts = nullptr; PyObject* fl = nullptr; PyObject* scale = Py_True; - static char* kwds_interp[] = {"Points", "PeriodicFlag", "Tolerance", "InitialTangent", "FinalTangent", - "Tangents", "TangentFlags", "Parameters", "Scale", nullptr}; + static const std::array kwds_interp{"Points", "PeriodicFlag", "Tolerance", "InitialTangent", + "FinalTangent", "Tangents", "TangentFlags", "Parameters", + "Scale", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O!dO!O!OOOO!",kwds_interp, - &obj, &PyBool_Type, &periodic, &tol3d, - &Base::VectorPy::Type, &t1, - &Base::VectorPy::Type, &t2, - &ts, &fl, &par, &PyBool_Type, &scale)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O|O!dO!O!OOOO!", kwds_interp, + &obj, &PyBool_Type, &periodic, &tol3d, + &Base::VectorPy::Type, &t1, + &Base::VectorPy::Type, &t2, + &ts, &fl, &par, &PyBool_Type, &scale)) { return nullptr; + } try { Py::Sequence list(obj); @@ -1177,9 +1183,10 @@ PyObject* BSplineCurvePy::buildFromPoles(PyObject *args) PyObject* BSplineCurvePy::buildFromPolesMultsKnots(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {"poles", "mults", "knots", "periodic", "degree", "weights", "CheckRational", nullptr}; - PyObject* periodic = Py_False; - PyObject* CheckRational = Py_True; + static const std::array kwlist{"poles", "mults", "knots", "periodic", "degree", "weights", + "CheckRational", nullptr}; + PyObject* periodic = Py_False; // NOLINT + PyObject* CheckRational = Py_True; // NOLINT PyObject* poles = Py_None; PyObject* mults = Py_None; PyObject* knots = Py_None; @@ -1188,12 +1195,13 @@ PyObject* BSplineCurvePy::buildFromPolesMultsKnots(PyObject *args, PyObject *key int number_of_poles = 0; int number_of_knots = 0; int sum_of_mults = 0; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "O|OOO!iOO!", kwlist, - &poles, &mults, &knots, - &PyBool_Type, &periodic, - °ree, &weights, - &PyBool_Type, &CheckRational)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "O|OOO!iOO!", kwlist, + &poles, &mults, &knots, + &PyBool_Type, &periodic, + °ree, &weights, + &PyBool_Type, &CheckRational)) { return nullptr; + } try { // poles have to be present Py::Sequence list(poles); diff --git a/src/Mod/Part/App/BSplineSurfacePyImp.cpp b/src/Mod/Part/App/BSplineSurfacePyImp.cpp index 4be55ad7c6..fb5c471f6a 100644 --- a/src/Mod/Part/App/BSplineSurfacePyImp.cpp +++ b/src/Mod/Part/App/BSplineSurfacePyImp.cpp @@ -35,6 +35,7 @@ # include #include +#include #include #include "BSplineSurfacePy.h" @@ -1166,10 +1167,15 @@ PyObject* BSplineSurfacePy::approximate(PyObject *args, PyObject *kwds) Standard_Real Y0=0; Standard_Real dY=0; - static char* kwds_interp[] = {"Points", "DegMin", "DegMax", "Continuity", "Tolerance", "X0", "dX", "Y0", "dY", "ParamType", "LengthWeight", "CurvatureWeight", "TorsionWeight", nullptr}; + static const std::array kwds_interp{"Points", "DegMin", "DegMax", "Continuity", "Tolerance", "X0", + "dX", "Y0", "dY", "ParamType", "LengthWeight", + "CurvatureWeight", "TorsionWeight", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|iiidddddsddd", kwds_interp, &obj, °Min, °Max, &continuity, &tol3d, &X0, &dX, &Y0, &dY, &parType, &weight1, &weight2, &weight3)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O|iiidddddsddd", kwds_interp, &obj, °Min, °Max, + &continuity, &tol3d, &X0, &dX, &Y0, &dY, &parType, &weight1, &weight2, + &weight3)) { return nullptr; + } try { Py::Sequence list(obj); Standard_Integer lu = list.size(); @@ -1328,10 +1334,10 @@ PyObject* BSplineSurfacePy::interpolate(PyObject *args) PyObject* BSplineSurfacePy::buildFromPolesMultsKnots(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {"poles", "umults", "vmults", - "uknots", "vknots", "uperiodic", "vperiodic", "udegree", "vdegree", "weights", nullptr}; - PyObject* uperiodic = Py_False; - PyObject* vperiodic = Py_False; + static const std::array kwlist{"poles", "umults", "vmults", "uknots", "vknots", "uperiodic", + "vperiodic", "udegree", "vdegree", "weights", nullptr}; + PyObject* uperiodic = Py_False; // NOLINT + PyObject* vperiodic = Py_False; // NOLINT PyObject* poles = Py_None; PyObject* umults = Py_None; PyObject* vmults = Py_None; @@ -1345,12 +1351,13 @@ PyObject* BSplineSurfacePy::buildFromPolesMultsKnots(PyObject *args, PyObject *k int sum_of_umults = 0; int sum_of_vmults = 0; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "OOO|OOO!O!iiO", kwlist, - &poles, &umults, &vmults, //required - &uknots, &vknots, //optional - &PyBool_Type, &uperiodic, &PyBool_Type, &vperiodic, //optinoal - &udegree, &vdegree, &weights)) //optional + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "OOO|OOO!O!iiO", kwlist, + &poles, &umults, &vmults, //required + &uknots, &vknots, //optional + &PyBool_Type, &uperiodic, &PyBool_Type, &vperiodic, //optional + &udegree, &vdegree, &weights)) { return nullptr; + } try { Py::Sequence list(poles); Standard_Integer lu = list.size(); diff --git a/src/Mod/Part/App/BodyBase.cpp b/src/Mod/Part/App/BodyBase.cpp index 44ce29bafa..8b26c78e14 100644 --- a/src/Mod/Part/App/BodyBase.cpp +++ b/src/Mod/Part/App/BodyBase.cpp @@ -47,8 +47,8 @@ BodyBase* BodyBase::findBodyOf(const App::DocumentObject* f) App::Document* doc = f->getDocument(); if (doc) { std::vector bodies = doc->getObjectsOfType(BodyBase::getClassTypeId()); - for (std::vector::const_iterator b = bodies.begin(); b != bodies.end(); b++) { - BodyBase* body = static_cast(*b); + for (auto it : bodies) { + BodyBase* body = static_cast(it); if (body->hasObject(f)) return body; } diff --git a/src/Mod/Part/App/BodyBasePyImp.cpp b/src/Mod/Part/App/BodyBasePyImp.cpp index c2950d5d5a..67ba5bebf9 100644 --- a/src/Mod/Part/App/BodyBasePyImp.cpp +++ b/src/Mod/Part/App/BodyBasePyImp.cpp @@ -33,10 +33,9 @@ using namespace Part; // returns a string which represents the object e.g. when printed in python std::string BodyBasePy::representation() const { - return std::string(""); + return {""}; } - PyObject *BodyBasePy::getCustomAttributes(const char* /*attr*/) const { return nullptr; diff --git a/src/Mod/Part/App/ChFi2d/ChFi2d_AnaFilletAlgoPyImp.cpp b/src/Mod/Part/App/ChFi2d/ChFi2d_AnaFilletAlgoPyImp.cpp index be686c7495..29c90c7eac 100644 --- a/src/Mod/Part/App/ChFi2d/ChFi2d_AnaFilletAlgoPyImp.cpp +++ b/src/Mod/Part/App/ChFi2d/ChFi2d_AnaFilletAlgoPyImp.cpp @@ -81,7 +81,7 @@ int ChFi2d_AnaFilletAlgoPy::PyInit(PyObject* args, PyObject* /*kwd*/) // returns a string which represents the object e.g. when printed in python std::string ChFi2d_AnaFilletAlgoPy::representation() const { - return std::string(""); + return {""}; } PyObject* ChFi2d_AnaFilletAlgoPy::init(PyObject *args) diff --git a/src/Mod/Part/App/ChFi2d/ChFi2d_ChamferAPIPyImp.cpp b/src/Mod/Part/App/ChFi2d/ChFi2d_ChamferAPIPyImp.cpp index 24e2606a27..39e7f581e8 100644 --- a/src/Mod/Part/App/ChFi2d/ChFi2d_ChamferAPIPyImp.cpp +++ b/src/Mod/Part/App/ChFi2d/ChFi2d_ChamferAPIPyImp.cpp @@ -75,7 +75,7 @@ int ChFi2d_ChamferAPIPy::PyInit(PyObject* args, PyObject* /*kwd*/) // returns a string which represents the object e.g. when printed in python std::string ChFi2d_ChamferAPIPy::representation() const { - return std::string(""); + return {""}; } PyObject* ChFi2d_ChamferAPIPy::init(PyObject *args) diff --git a/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAPIPyImp.cpp b/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAPIPyImp.cpp index 485082e6aa..30980f2bbf 100644 --- a/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAPIPyImp.cpp +++ b/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAPIPyImp.cpp @@ -84,7 +84,7 @@ int ChFi2d_FilletAPIPy::PyInit(PyObject* args, PyObject* /*kwd*/) // returns a string which represents the object e.g. when printed in python std::string ChFi2d_FilletAPIPy::representation() const { - return std::string(""); + return {""}; } PyObject* ChFi2d_FilletAPIPy::init(PyObject *args) diff --git a/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAlgoPyImp.cpp b/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAlgoPyImp.cpp index 74a7fc56d6..1e6a480d9c 100644 --- a/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAlgoPyImp.cpp +++ b/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAlgoPyImp.cpp @@ -85,7 +85,7 @@ int ChFi2d_FilletAlgoPy::PyInit(PyObject* args, PyObject* /*kwd*/) // returns a string which represents the object e.g. when printed in python std::string ChFi2d_FilletAlgoPy::representation() const { - return std::string(""); + return {""}; } PyObject* ChFi2d_FilletAlgoPy::init(PyObject *args) diff --git a/src/Mod/Part/App/CirclePyImp.cpp b/src/Mod/Part/App/CirclePyImp.cpp index 7e1410406f..d515f8f43a 100644 --- a/src/Mod/Part/App/CirclePyImp.cpp +++ b/src/Mod/Part/App/CirclePyImp.cpp @@ -27,6 +27,7 @@ # include #endif +#include #include #include "CirclePy.h" @@ -70,8 +71,8 @@ int CirclePy::PyInit(PyObject* args, PyObject* kwds) // circle and distance for offset PyObject *pCirc; double dist; - static char* keywords_cd[] = {"Circle","Distance",nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!d", keywords_cd, &(CirclePy::Type), &pCirc, &dist)) { + static const std::array keywords_cd {"Circle", "Distance", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!d", keywords_cd, &(CirclePy::Type), &pCirc, &dist)) { CirclePy* pcCircle = static_cast(pCirc); Handle(Geom_Circle) circle = Handle(Geom_Circle)::DownCast (pcCircle->getGeomCirclePtr()->handle()); @@ -88,12 +89,12 @@ int CirclePy::PyInit(PyObject* args, PyObject* kwds) // center, normal and radius PyObject *pV1, *pV2, *pV3; - static char* keywords_cnr[] = {"Center","Normal","Radius",nullptr}; + static const std::array keywords_cnr {"Center", "Normal", "Radius", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!d", keywords_cnr, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2, - &dist)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!d", keywords_cnr, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2, + &dist)) { Base::Vector3d v1 = static_cast(pV1)->value(); Base::Vector3d v2 = static_cast(pV2)->value(); GC_MakeCircle mc(gp_Pnt(v1.x,v1.y,v1.z), @@ -109,9 +110,9 @@ int CirclePy::PyInit(PyObject* args, PyObject* kwds) return 0; } - static char* keywords_c[] = {"Circle",nullptr}; + static const std::array keywords_c {"Circle", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!", keywords_c, &(CirclePy::Type), &pCirc)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!", keywords_c, &(CirclePy::Type), &pCirc)) { CirclePy* pcCircle = static_cast(pCirc); Handle(Geom_Circle) circ1 = Handle(Geom_Circle)::DownCast (pcCircle->getGeomCirclePtr()->handle()); @@ -121,12 +122,12 @@ int CirclePy::PyInit(PyObject* args, PyObject* kwds) return 0; } - static char* keywords_ppp[] = {"Point1","Point2","Point3",nullptr}; + static const std::array keywords_ppp {"Point1", "Point2", "Point3", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ppp, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2, - &(Base::VectorPy::Type), &pV3)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ppp, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2, + &(Base::VectorPy::Type), &pV3)) { Base::Vector3d v1 = static_cast(pV1)->value(); Base::Vector3d v2 = static_cast(pV2)->value(); Base::Vector3d v3 = static_cast(pV3)->value(); @@ -144,9 +145,9 @@ int CirclePy::PyInit(PyObject* args, PyObject* kwds) } // default circle - static char* keywords_n[] = {nullptr}; + static const std::array keywords_n {nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { Handle(Geom_Circle) circle = Handle(Geom_Circle)::DownCast(getGeomCirclePtr()->handle()); circle->SetRadius(1.0); return 0; diff --git a/src/Mod/Part/App/ConePyImp.cpp b/src/Mod/Part/App/ConePyImp.cpp index 09a0f2520f..cfc127199f 100644 --- a/src/Mod/Part/App/ConePyImp.cpp +++ b/src/Mod/Part/App/ConePyImp.cpp @@ -29,6 +29,7 @@ #endif #include +#include #include #include "ConePy.h" @@ -55,22 +56,22 @@ PyObject *ConePy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Pytho // constructor method int ConePy::PyInit(PyObject* args, PyObject* kwds) { - char* keywords_n[] = {nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + static const std::array keywords_n{nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { Handle(Geom_ConicalSurface) s = Handle(Geom_ConicalSurface)::DownCast - (getGeometryPtr()->handle()); + (getGeometryPtr()->handle()); s->SetRadius(1.0); return 0; } PyObject *pV1, *pV2; double radius1, radius2; - static char* keywords_pprr[] = {"Point1","Point2","Radius1","Radius2",nullptr}; + static const std::array keywords_pprr {"Point1", "Point2", "Radius1", "Radius2", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!dd", keywords_pprr, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2, - &radius1, &radius2)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!dd", keywords_pprr, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2, + &radius1, &radius2)) { Base::Vector3d v1 = static_cast(pV1)->value(); Base::Vector3d v2 = static_cast(pV2)->value(); GC_MakeConicalSurface mc(gp_Pnt(v1.x,v1.y,v1.z), @@ -88,13 +89,13 @@ int ConePy::PyInit(PyObject* args, PyObject* kwds) } PyObject *pV3, *pV4; - static char* keywords_pppp[] = {"Point1","Point2","Point3","Point4",nullptr}; + static const std::array keywords_pppp{"Point1", "Point2", "Point3", "Point4", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!O!", keywords_pppp, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2, - &(Base::VectorPy::Type), &pV3, - &(Base::VectorPy::Type), &pV4)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!O!", keywords_pppp, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2, + &(Base::VectorPy::Type), &pV3, + &(Base::VectorPy::Type), &pV4)) { Base::Vector3d v1 = static_cast(pV1)->value(); Base::Vector3d v2 = static_cast(pV2)->value(); Base::Vector3d v3 = static_cast(pV3)->value(); @@ -109,16 +110,16 @@ int ConePy::PyInit(PyObject* args, PyObject* kwds) } Handle(Geom_ConicalSurface) cone = Handle(Geom_ConicalSurface)::DownCast - (getGeometryPtr()->handle()); + (getGeometryPtr()->handle()); cone->SetCone(mc.Value()->Cone()); return 0; } PyObject *pCone; - static char* keywords_c[] = {"Cone",nullptr}; + static const std::array keywords_c{"Cone", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!d", keywords_c, - &(ConePy::Type), &pCone)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!d", keywords_c, + &(ConePy::Type), &pCone)) { ConePy* pcCone = static_cast(pCone); Handle(Geom_ConicalSurface) pcone = Handle(Geom_ConicalSurface)::DownCast (pcCone->getGeometryPtr()->handle()); diff --git a/src/Mod/Part/App/CustomFeature.cpp b/src/Mod/Part/App/CustomFeature.cpp index fb79a4a20b..7325da815c 100644 --- a/src/Mod/Part/App/CustomFeature.cpp +++ b/src/Mod/Part/App/CustomFeature.cpp @@ -31,13 +31,9 @@ using namespace Part; PROPERTY_SOURCE(Part::CustomFeature, Part::Feature) -CustomFeature::CustomFeature() -{ -} +CustomFeature::CustomFeature() = default; -CustomFeature::~CustomFeature() -{ -} +CustomFeature::~CustomFeature() = default; short CustomFeature::mustExecute() const { diff --git a/src/Mod/Part/App/CylinderPyImp.cpp b/src/Mod/Part/App/CylinderPyImp.cpp index 9297b43efb..0972fc11e1 100644 --- a/src/Mod/Part/App/CylinderPyImp.cpp +++ b/src/Mod/Part/App/CylinderPyImp.cpp @@ -29,6 +29,7 @@ #endif #include +#include #include #include "CylinderPy.h" @@ -59,8 +60,8 @@ int CylinderPy::PyInit(PyObject* args, PyObject* kwds) // cylinder and distance for offset PyObject *pCyl; double dist; - static char* keywords_cd[] = {"Cylinder","Distance",nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!d", keywords_cd, &(CylinderPy::Type), &pCyl, &dist)) { + static const std::array keywords_cd{"Cylinder", "Distance", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!d", keywords_cd, &(CylinderPy::Type), &pCyl, &dist)) { CylinderPy* pcCylinder = static_cast(pCyl); Handle(Geom_CylindricalSurface) cylinder = Handle(Geom_CylindricalSurface)::DownCast (pcCylinder->getGeomCylinderPtr()->handle()); @@ -76,9 +77,9 @@ int CylinderPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - static char* keywords_c[] = {"Cylinder",nullptr}; + static const std::array keywords_c {"Cylinder", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!", keywords_c, &(CylinderPy::Type), &pCyl)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!", keywords_c, &(CylinderPy::Type), &pCyl)) { CylinderPy* pcCylinder = static_cast(pCyl); Handle(Geom_CylindricalSurface) cyl1 = Handle(Geom_CylindricalSurface)::DownCast (pcCylinder->getGeomCylinderPtr()->handle()); @@ -89,12 +90,12 @@ int CylinderPy::PyInit(PyObject* args, PyObject* kwds) } PyObject *pV1, *pV2, *pV3; - static char* keywords_ppp[] = {"Point1","Point2","Point3",nullptr}; + static const std::array keywords_ppp {"Point1", "Point2", "Point3", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ppp, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2, - &(Base::VectorPy::Type), &pV3)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ppp, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2, + &(Base::VectorPy::Type), &pV3)) { Base::Vector3d v1 = static_cast(pV1)->value(); Base::Vector3d v2 = static_cast(pV2)->value(); Base::Vector3d v3 = static_cast(pV3)->value(); @@ -112,10 +113,10 @@ int CylinderPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - static char* keywords_cc[] = {"Circle",nullptr}; + static const std::array keywords_cc {"Circle", nullptr}; PyErr_Clear(); PyObject *pCirc; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!", keywords_cc, &(CirclePy::Type), &pCirc)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!", keywords_cc, &(CirclePy::Type), &pCirc)) { CirclePy* pcCircle = static_cast(pCirc); Handle(Geom_Circle) circ = Handle(Geom_Circle)::DownCast (pcCircle->getGeomCirclePtr()->handle()); @@ -131,9 +132,9 @@ int CylinderPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - static char* keywords_n[] = {nullptr}; + static const std::array keywords_n {nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { Handle(Geom_CylindricalSurface) cyl = Handle(Geom_CylindricalSurface)::DownCast (getGeomCylinderPtr()->handle()); cyl->SetRadius(1.0); diff --git a/src/Mod/Part/App/DatumFeature.cpp b/src/Mod/Part/App/DatumFeature.cpp index 670d75742c..8d39d265fd 100644 --- a/src/Mod/Part/App/DatumFeature.cpp +++ b/src/Mod/Part/App/DatumFeature.cpp @@ -39,9 +39,7 @@ Datum::Datum() touch(); } -Datum::~Datum() -{ -} +Datum::~Datum() = default; void Datum::onDocumentRestored() { diff --git a/src/Mod/Part/App/EllipsePyImp.cpp b/src/Mod/Part/App/EllipsePyImp.cpp index 034bc2b78a..405e061ff8 100644 --- a/src/Mod/Part/App/EllipsePyImp.cpp +++ b/src/Mod/Part/App/EllipsePyImp.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include #include "EllipsePy.h" @@ -53,18 +54,18 @@ PyObject *EllipsePy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Py // constructor method int EllipsePy::PyInit(PyObject* args, PyObject* kwds) { - char* keywords_n[] = {nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + static const std::array keywords_n {nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { Handle(Geom_Ellipse) ellipse = Handle(Geom_Ellipse)::DownCast(getGeomEllipsePtr()->handle()); ellipse->SetMajorRadius(2.0); ellipse->SetMinorRadius(1.0); return 0; } - char* keywords_e[] = {"Ellipse",nullptr}; + static const std::array keywords_e {"Ellipse", nullptr}; PyErr_Clear(); PyObject *pElips; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(EllipsePy::Type), &pElips)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(EllipsePy::Type), &pElips)) { EllipsePy* pEllipse = static_cast(pElips); Handle(Geom_Ellipse) Elips1 = Handle(Geom_Ellipse)::DownCast (pEllipse->getGeomEllipsePtr()->handle()); @@ -74,13 +75,13 @@ int EllipsePy::PyInit(PyObject* args, PyObject* kwds) return 0; } - char* keywords_ssc[] = {"S1","S2","Center",nullptr}; + static const std::array keywords_ssc {"S1", "S2", "Center", nullptr}; PyErr_Clear(); PyObject *pV1, *pV2, *pV3; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2, - &(Base::VectorPy::Type), &pV3)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2, + &(Base::VectorPy::Type), &pV3)) { Base::Vector3d v1 = static_cast(pV1)->value(); Base::Vector3d v2 = static_cast(pV2)->value(); Base::Vector3d v3 = static_cast(pV3)->value(); @@ -97,11 +98,11 @@ int EllipsePy::PyInit(PyObject* args, PyObject* kwds) return 0; } - char* keywords_cmm[] = {"Center","MajorRadius","MinorRadius",nullptr}; + static const std::array keywords_cmm {"Center", "MajorRadius", "MinorRadius", nullptr}; PyErr_Clear(); PyObject *pV; double major, minor; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!dd", keywords_cmm, + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!dd", keywords_cmm, &(Base::VectorPy::Type), &pV, &major, &minor)) { Base::Vector3d c = static_cast(pV)->value(); diff --git a/src/Mod/Part/App/ExtrusionHelper.cpp b/src/Mod/Part/App/ExtrusionHelper.cpp index 1079c332a0..c6128cce1b 100644 --- a/src/Mod/Part/App/ExtrusionHelper.cpp +++ b/src/Mod/Part/App/ExtrusionHelper.cpp @@ -48,9 +48,7 @@ using namespace Part; -ExtrusionHelper::ExtrusionHelper() -{ -} +ExtrusionHelper::ExtrusionHelper() = default; void ExtrusionHelper::makeDraft(const TopoDS_Shape& shape, const gp_Dir& direction, @@ -284,8 +282,8 @@ void ExtrusionHelper::makeDraft(const TopoDS_Shape& shape, } else // we already have the results - for (auto it = shells.begin(); it != shells.end(); ++it) - drafts.push_back(*it); + for (const auto & shell : shells) + drafts.push_back(shell); } else { // no solid BRepBuilderAPI_Sewing sewer; diff --git a/src/Mod/Part/App/FaceMaker.cpp b/src/Mod/Part/App/FaceMaker.cpp index d4e39c6388..31c022ab6c 100644 --- a/src/Mod/Part/App/FaceMaker.cpp +++ b/src/Mod/Part/App/FaceMaker.cpp @@ -172,12 +172,12 @@ TYPESYSTEM_SOURCE(Part::FaceMakerSimple, Part::FaceMakerPublic) std::string Part::FaceMakerSimple::getUserFriendlyName() const { - return std::string(QT_TRANSLATE_NOOP("Part_FaceMaker","Simple")); + return {QT_TRANSLATE_NOOP("Part_FaceMaker","Simple")}; } std::string Part::FaceMakerSimple::getBriefExplanation() const { - return std::string(QT_TRANSLATE_NOOP("Part_FaceMaker","Makes separate plane face from every wire independently. No support for holes; wires can be on different planes.")); + return {QT_TRANSLATE_NOOP("Part_FaceMaker","Makes separate plane face from every wire independently. No support for holes; wires can be on different planes.")}; } void Part::FaceMakerSimple::Build_Essence() diff --git a/src/Mod/Part/App/FaceMaker.h b/src/Mod/Part/App/FaceMaker.h index 89c9a0ba67..aaf289c2a0 100644 --- a/src/Mod/Part/App/FaceMaker.h +++ b/src/Mod/Part/App/FaceMaker.h @@ -50,8 +50,8 @@ class PartExport FaceMaker: public BRepBuilderAPI_MakeShape, public Base::BaseCl TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: - FaceMaker() {} - ~FaceMaker() override {} + FaceMaker() = default; + ~FaceMaker() override = default; virtual void addWire(const TopoDS_Wire& w); /** diff --git a/src/Mod/Part/App/FaceMakerBullseye.cpp b/src/Mod/Part/App/FaceMakerBullseye.cpp index 1708c0229d..12959bae39 100644 --- a/src/Mod/Part/App/FaceMakerBullseye.cpp +++ b/src/Mod/Part/App/FaceMakerBullseye.cpp @@ -55,12 +55,12 @@ void FaceMakerBullseye::setPlane(const gp_Pln &plane) std::string FaceMakerBullseye::getUserFriendlyName() const { - return std::string(QT_TRANSLATE_NOOP("Part_FaceMaker","Bull's-eye facemaker")); + return {QT_TRANSLATE_NOOP("Part_FaceMaker","Bull's-eye facemaker")}; } std::string FaceMakerBullseye::getBriefExplanation() const { - return std::string(QT_TRANSLATE_NOOP("Part_FaceMaker","Supports making planar faces with holes with islands.")); + return {QT_TRANSLATE_NOOP("Part_FaceMaker","Supports making planar faces with holes with islands.")}; } void FaceMakerBullseye::Build_Essence() diff --git a/src/Mod/Part/App/FaceMakerBullseye.h b/src/Mod/Part/App/FaceMakerBullseye.h index ac84bde6e7..7bd47fbde4 100644 --- a/src/Mod/Part/App/FaceMakerBullseye.h +++ b/src/Mod/Part/App/FaceMakerBullseye.h @@ -45,8 +45,7 @@ class PartExport FaceMakerBullseye: public FaceMakerPublic { TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: - FaceMakerBullseye() - :planeSupplied(false){} + FaceMakerBullseye() = default; /** * @brief setPlane: sets the plane to use when making faces. This is * optional. If the plane was set, it is not tested that the wires are @@ -63,7 +62,7 @@ protected: protected: gp_Pln myPlane; //externally supplied plane (if any) - bool planeSupplied; + bool planeSupplied{false}; /** * @brief The FaceDriller class is similar to BRepBuilderAPI_MakeFace, diff --git a/src/Mod/Part/App/FaceMakerCheese.cpp b/src/Mod/Part/App/FaceMakerCheese.cpp index 33c5077678..0209b75f1e 100644 --- a/src/Mod/Part/App/FaceMakerCheese.cpp +++ b/src/Mod/Part/App/FaceMakerCheese.cpp @@ -167,8 +167,8 @@ TopoDS_Shape FaceMakerCheese::makeFace(std::list& wires) } wires.pop_front(); - for (std::list::iterator it = wires.begin(); it != wires.end(); ++it) { - BRepBuilderAPI_MakeFace mkInnerFace(*it); + for (auto wire : wires) { + BRepBuilderAPI_MakeFace mkInnerFace(wire); const TopoDS_Face& inner_face = mkInnerFace.Face(); if (inner_face.IsNull()) return inner_face; // failure @@ -180,8 +180,8 @@ TopoDS_Shape FaceMakerCheese::makeFace(std::list& wires) // It seems that orientation is always 'Forward' and we only have to reverse // if the underlying plane have opposite normals. if (axis.Dot(inner_axis) < 0) - it->Reverse(); - mkFace.Add(*it); + wire.Reverse(); + mkFace.Add(wire); } return validateFace(mkFace.Face()); } @@ -189,7 +189,7 @@ TopoDS_Shape FaceMakerCheese::makeFace(std::list& wires) TopoDS_Shape FaceMakerCheese::makeFace(const std::vector& w) { if (w.empty()) - return TopoDS_Shape(); + return {}; //FIXME: Need a safe method to sort wire that the outermost one comes last // Currently it's done with the diagonal lengths of the bounding boxes @@ -228,8 +228,8 @@ TopoDS_Shape FaceMakerCheese::makeFace(const std::vector& w) TopoDS_Compound comp; BRep_Builder builder; builder.MakeCompound(comp); - for (std::list< std::list >::iterator it = sep_wire_list.begin(); it != sep_wire_list.end(); ++it) { - TopoDS_Shape aFace = makeFace(*it); + for (auto & it : sep_wire_list) { + TopoDS_Shape aFace = makeFace(it); if (!aFace.IsNull()) builder.Add(comp, aFace); } @@ -237,19 +237,19 @@ TopoDS_Shape FaceMakerCheese::makeFace(const std::vector& w) return TopoDS_Shape(std::move(comp)); } else { - return TopoDS_Shape(); // error + return {}; // error } } std::string FaceMakerCheese::getUserFriendlyName() const { - return std::string(QT_TRANSLATE_NOOP("Part_FaceMaker","Cheese facemaker")); + return {QT_TRANSLATE_NOOP("Part_FaceMaker","Cheese facemaker")}; } std::string FaceMakerCheese::getBriefExplanation() const { - return std::string(QT_TRANSLATE_NOOP("Part_FaceMaker","Supports making planar faces with holes, but no islands inside holes.")); + return {QT_TRANSLATE_NOOP("Part_FaceMaker","Supports making planar faces with holes, but no islands inside holes.")}; } void FaceMakerCheese::Build_Essence() diff --git a/src/Mod/Part/App/FeatureChamfer.cpp b/src/Mod/Part/App/FeatureChamfer.cpp index e6bb6f52e4..1ba61d65f3 100644 --- a/src/Mod/Part/App/FeatureChamfer.cpp +++ b/src/Mod/Part/App/FeatureChamfer.cpp @@ -38,9 +38,7 @@ using namespace Part; PROPERTY_SOURCE(Part::Chamfer, Part::FilletBase) -Chamfer::Chamfer() -{ -} +Chamfer::Chamfer() = default; App::DocumentObjectExecReturn *Chamfer::execute() { @@ -57,10 +55,10 @@ App::DocumentObjectExecReturn *Chamfer::execute() TopExp::MapShapes(baseShape, TopAbs_EDGE, mapOfEdges); std::vector values = Edges.getValues(); - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - int id = it->edgeid; - double radius1 = it->radius1; - double radius2 = it->radius2; + for (const auto & value : values) { + int id = value.edgeid; + double radius1 = value.radius1; + double radius2 = value.radius2; const TopoDS_Edge& edge = TopoDS::Edge(mapOfEdges.FindKey(id)); const TopoDS_Face& face = TopoDS::Face(mapEdgeFace.FindFromKey(edge).First()); mkChamfer.Add(radius1, radius2, edge, face); diff --git a/src/Mod/Part/App/FeatureCompound.cpp b/src/Mod/Part/App/FeatureCompound.cpp index 1e28fb3104..28bc3f807f 100644 --- a/src/Mod/Part/App/FeatureCompound.cpp +++ b/src/Mod/Part/App/FeatureCompound.cpp @@ -42,9 +42,7 @@ Compound::Compound() Links.setSize(0); } -Compound::~Compound() -{ -} +Compound::~Compound() = default; short Compound::mustExecute() const { @@ -68,11 +66,11 @@ App::DocumentObjectExecReturn *Compound::execute() std::set tempLinks; const std::vector& links = Links.getValues(); - for (std::vector::const_iterator it = links.begin(); it != links.end(); ++it) { - if (*it) { - auto pos = tempLinks.insert(*it); + for (auto link : links) { + if (link) { + auto pos = tempLinks.insert(link); if (pos.second) { - const TopoDS_Shape& sh = Feature::getShape(*it); + const TopoDS_Shape& sh = Feature::getShape(link); if (!sh.IsNull()) { builder.Add(comp, sh); TopTools_IndexedMapOfShape faceMap; diff --git a/src/Mod/Part/App/FeatureExtrusion.cpp b/src/Mod/Part/App/FeatureExtrusion.cpp index c5264c04e2..c3fb5ba21f 100644 --- a/src/Mod/Part/App/FeatureExtrusion.cpp +++ b/src/Mod/Part/App/FeatureExtrusion.cpp @@ -260,8 +260,8 @@ TopoShape Extrusion::extrudeShape(const TopoShape& source, const Extrusion::Extr TopoDS_Compound comp; BRep_Builder builder; builder.MakeCompound(comp); - for (std::list::iterator it = drafts.begin(); it != drafts.end(); ++it) - builder.Add(comp, *it); + for (const auto & draft : drafts) + builder.Add(comp, draft); result = comp; } } @@ -334,12 +334,12 @@ TYPESYSTEM_SOURCE(Part::FaceMakerExtrusion, Part::FaceMakerCheese) std::string FaceMakerExtrusion::getUserFriendlyName() const { - return std::string(QT_TRANSLATE_NOOP("Part_FaceMaker", "Part Extrude facemaker")); + return {QT_TRANSLATE_NOOP("Part_FaceMaker", "Part Extrude facemaker")}; } std::string FaceMakerExtrusion::getBriefExplanation() const { - return std::string(QT_TRANSLATE_NOOP("Part_FaceMaker", "Supports making faces with holes, does not support nesting.")); + return {QT_TRANSLATE_NOOP("Part_FaceMaker", "Supports making faces with holes, does not support nesting.")}; } #if OCC_VERSION_HEX >= 0x070600 diff --git a/src/Mod/Part/App/FeatureExtrusion.h b/src/Mod/Part/App/FeatureExtrusion.h index 726213ff3a..0101972b60 100644 --- a/src/Mod/Part/App/FeatureExtrusion.h +++ b/src/Mod/Part/App/FeatureExtrusion.h @@ -61,13 +61,12 @@ public: */ struct ExtrusionParameters { gp_Dir dir; - double lengthFwd; - double lengthRev; - bool solid; - double taperAngleFwd; //in radians - double taperAngleRev; + double lengthFwd{0}; + double lengthRev{0}; + bool solid{false}; + double taperAngleFwd{0}; //in radians + double taperAngleRev{0}; std::string faceMakerClass; - ExtrusionParameters(): lengthFwd(0), lengthRev(0), solid(false), taperAngleFwd(0), taperAngleRev(0) {}// constructor to keep garbage out }; /** @name methods override feature */ diff --git a/src/Mod/Part/App/FeatureFillet.cpp b/src/Mod/Part/App/FeatureFillet.cpp index 3f8bf7389b..3fb6d696f0 100644 --- a/src/Mod/Part/App/FeatureFillet.cpp +++ b/src/Mod/Part/App/FeatureFillet.cpp @@ -40,9 +40,7 @@ using namespace Part; PROPERTY_SOURCE(Part::Fillet, Part::FilletBase) -Fillet::Fillet() -{ -} +Fillet::Fillet() = default; App::DocumentObjectExecReturn *Fillet::execute() { @@ -61,10 +59,10 @@ App::DocumentObjectExecReturn *Fillet::execute() TopExp::MapShapes(baseShape, TopAbs_EDGE, mapOfShape); std::vector values = Edges.getValues(); - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - int id = it->edgeid; - double radius1 = it->radius1; - double radius2 = it->radius2; + for (const auto & value : values) { + int id = value.edgeid; + double radius1 = value.radius1; + double radius2 = value.radius2; const TopoDS_Edge& edge = TopoDS::Edge(mapOfShape.FindKey(id)); mkFillet.Add(radius1, radius2, edge); } diff --git a/src/Mod/Part/App/FeatureGeometrySet.cpp b/src/Mod/Part/App/FeatureGeometrySet.cpp index edab8409e2..41f83f84b8 100644 --- a/src/Mod/Part/App/FeatureGeometrySet.cpp +++ b/src/Mod/Part/App/FeatureGeometrySet.cpp @@ -44,8 +44,8 @@ App::DocumentObjectExecReturn *FeatureGeometrySet::execute() const std::vector &Geoms = GeometrySet.getValues(); bool first = true; - for(std::vector::const_iterator it=Geoms.begin();it!=Geoms.end();++it){ - TopoDS_Shape sh = (*it)->toShape(); + for(auto Geom : Geoms) { + TopoDS_Shape sh = Geom->toShape(); if (first) { first = false; result.setShape(sh); diff --git a/src/Mod/Part/App/FeatureOffset.cpp b/src/Mod/Part/App/FeatureOffset.cpp index f8ab7fad9a..095d75dd49 100644 --- a/src/Mod/Part/App/FeatureOffset.cpp +++ b/src/Mod/Part/App/FeatureOffset.cpp @@ -52,10 +52,7 @@ Offset::Offset() Source.setScope(App::LinkScope::Global); } -Offset::~Offset() -{ - -} +Offset::~Offset() = default; short Offset::mustExecute() const { @@ -108,10 +105,7 @@ Offset2D::Offset2D() this->Mode.setValue(1); //switch to Pipe mode by default, because skin mode does not function properly on closed profiles. } -Offset2D::~Offset2D() -{ - -} +Offset2D::~Offset2D() = default; short Offset2D::mustExecute() const { diff --git a/src/Mod/Part/App/FeaturePartCircle.cpp b/src/Mod/Part/App/FeaturePartCircle.cpp index 4b0373c6ab..33f11d5601 100644 --- a/src/Mod/Part/App/FeaturePartCircle.cpp +++ b/src/Mod/Part/App/FeaturePartCircle.cpp @@ -48,9 +48,7 @@ Circle::Circle() Angle2.setConstraints(&angleRange); } -Circle::~Circle() -{ -} +Circle::~Circle() = default; short Circle::mustExecute() const { diff --git a/src/Mod/Part/App/FeaturePartCommon.cpp b/src/Mod/Part/App/FeaturePartCommon.cpp index fa97633dba..9832b8925c 100644 --- a/src/Mod/Part/App/FeaturePartCommon.cpp +++ b/src/Mod/Part/App/FeaturePartCommon.cpp @@ -42,9 +42,7 @@ using namespace Part; PROPERTY_SOURCE(Part::Common, Part::Boolean) -Common::Common() -{ -} +Common::Common() = default; BRepAlgoAPI_BooleanOperation* Common::makeOperation(const TopoDS_Shape& base, const TopoDS_Shape& tool) const { @@ -132,8 +130,8 @@ App::DocumentObjectExecReturn *MultiCommon::execute() history.push_back(hist2); } else { - for (std::vector::iterator jt = history.begin(); jt != history.end(); ++jt) - *jt = joinHistory(*jt, hist1); + for (auto & jt : history) + jt = joinHistory(jt, hist1); history.push_back(hist2); } } @@ -154,8 +152,8 @@ App::DocumentObjectExecReturn *MultiCommon::execute() BRepBuilderAPI_RefineModel mkRefine(oldShape); resShape = mkRefine.Shape(); ShapeHistory hist = buildHistory(mkRefine, TopAbs_FACE, resShape, oldShape); - for (std::vector::iterator jt = history.begin(); jt != history.end(); ++jt) - *jt = joinHistory(*jt, hist); + for (auto & jt : history) + jt = joinHistory(jt, hist); } catch (Standard_Failure&) { // do nothing diff --git a/src/Mod/Part/App/FeaturePartCut.cpp b/src/Mod/Part/App/FeaturePartCut.cpp index d603618c83..c43705b17a 100644 --- a/src/Mod/Part/App/FeaturePartCut.cpp +++ b/src/Mod/Part/App/FeaturePartCut.cpp @@ -33,9 +33,7 @@ using namespace Part; PROPERTY_SOURCE(Part::Cut, Part::Boolean) -Cut::Cut() -{ -} +Cut::Cut() = default; BRepAlgoAPI_BooleanOperation* Cut::makeOperation(const TopoDS_Shape& base, const TopoDS_Shape& tool) const { diff --git a/src/Mod/Part/App/FeaturePartFuse.cpp b/src/Mod/Part/App/FeaturePartFuse.cpp index d72d08ddf8..58df63f61b 100644 --- a/src/Mod/Part/App/FeaturePartFuse.cpp +++ b/src/Mod/Part/App/FeaturePartFuse.cpp @@ -42,9 +42,7 @@ using namespace Part; PROPERTY_SOURCE(Part::Fuse, Part::Boolean) -Fuse::Fuse() -{ -} +Fuse::Fuse() = default; BRepAlgoAPI_BooleanOperation* Fuse::makeOperation(const TopoDS_Shape& base, const TopoDS_Shape& tool) const { @@ -131,8 +129,8 @@ App::DocumentObjectExecReturn *MultiFuse::execute() throw Base::RuntimeError("MultiFusion failed"); TopoDS_Shape resShape = mkFuse.Shape(); - for (std::vector::iterator it = s.begin(); it != s.end(); ++it) { - history.push_back(buildHistory(mkFuse, TopAbs_FACE, resShape, *it)); + for (const auto & it : s) { + history.push_back(buildHistory(mkFuse, TopAbs_FACE, resShape, it)); } if (resShape.IsNull()) throw Base::RuntimeError("Resulting shape is null"); @@ -151,8 +149,8 @@ App::DocumentObjectExecReturn *MultiFuse::execute() BRepBuilderAPI_RefineModel mkRefine(oldShape); resShape = mkRefine.Shape(); ShapeHistory hist = buildHistory(mkRefine, TopAbs_FACE, resShape, oldShape); - for (std::vector::iterator jt = history.begin(); jt != history.end(); ++jt) - *jt = joinHistory(*jt, hist); + for (auto & jt : history) + jt = joinHistory(jt, hist); } catch (Standard_Failure&) { // do nothing diff --git a/src/Mod/Part/App/FeaturePartPolygon.cpp b/src/Mod/Part/App/FeaturePartPolygon.cpp index 1c52c98ecd..84390e8f9f 100644 --- a/src/Mod/Part/App/FeaturePartPolygon.cpp +++ b/src/Mod/Part/App/FeaturePartPolygon.cpp @@ -39,9 +39,7 @@ Part::Polygon::Polygon() ADD_PROPERTY(Close,(false)); } -Part::Polygon::~Polygon() -{ -} +Part::Polygon::~Polygon() = default; short Part::Polygon::mustExecute() const { @@ -55,8 +53,8 @@ App::DocumentObjectExecReturn *Part::Polygon::execute() BRepBuilderAPI_MakePolygon poly; const std::vector nodes = Nodes.getValues(); - for (std::vector::const_iterator it = nodes.begin(); it != nodes.end(); ++it) { - gp_Pnt pnt(it->x, it->y, it->z); + for (const auto & node : nodes) { + gp_Pnt pnt(node.x, node.y, node.z); poly.Add(pnt); } diff --git a/src/Mod/Part/App/FeaturePartSpline.cpp b/src/Mod/Part/App/FeaturePartSpline.cpp index 1ef3cf6d2d..28ae519de8 100644 --- a/src/Mod/Part/App/FeaturePartSpline.cpp +++ b/src/Mod/Part/App/FeaturePartSpline.cpp @@ -30,8 +30,6 @@ using namespace Part; PROPERTY_SOURCE(Part::Spline, Part::Feature) -Spline::Spline() -{ -} +Spline::Spline() = default; diff --git a/src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp b/src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp index 3a3c56fe65..1f473eef0e 100644 --- a/src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp +++ b/src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp @@ -38,6 +38,7 @@ #endif #include +#include #include "Geom2d/BSplineCurve2dPy.h" #include "Geom2d/BSplineCurve2dPy.cpp" @@ -711,9 +712,9 @@ PyObject* BSplineCurve2dPy::toBiArcs(PyObject * args) arcs = curve->toBiArcs(tolerance); Py::List list; - for (std::list::iterator it = arcs.begin(); it != arcs.end(); ++it) { - list.append(Py::asObject((*it)->getPyObject())); - delete (*it); + for (auto arc : arcs) { + list.append(Py::asObject(arc->getPyObject())); + delete arc; } return Py::new_reference_to(list); @@ -737,15 +738,17 @@ PyObject* BSplineCurve2dPy::approximate(PyObject *args, PyObject *kwds) double weight2 = 0; double weight3 = 0; - static char* kwds_interp[] = {"Points", "DegMax", "Continuity", "Tolerance", "DegMin", "ParamType", "Parameters", - "LengthWeight", "CurvatureWeight", "TorsionWeight", nullptr}; + static const std::array kwds_interp{"Points", "DegMax", "Continuity", "Tolerance", "DegMin", + "ParamType", "Parameters", "LengthWeight", "CurvatureWeight", + "TorsionWeight", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|isdisOddd",kwds_interp, - &obj, °Max, - &continuity, &tol3d, °Min, - &parType, &par, - &weight1, &weight2, &weight3)) + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O|isdisOddd",kwds_interp, + &obj, °Max, + &continuity, &tol3d, °Min, + &parType, &par, + &weight1, &weight2, &weight3)) { return nullptr; + } try { Py::Sequence list(obj); @@ -850,8 +853,8 @@ PyObject* BSplineCurve2dPy::getCardinalSplineTangents(PyObject *args, PyObject * PyObject* tgs; double parameter; - static char* kwds_interp1[] = {"Points", "Parameter", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "Od",kwds_interp1, &pts, ¶meter)) { + static const std::array kwds_interp1 {"Points", "Parameter", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "Od", kwds_interp1, &pts, ¶meter)) { Py::Sequence list(pts); std::vector interpPoints; interpPoints.reserve(list.size()); @@ -872,8 +875,8 @@ PyObject* BSplineCurve2dPy::getCardinalSplineTangents(PyObject *args, PyObject * } PyErr_Clear(); - static char* kwds_interp2[] = {"Points", "Parameters", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "OO",kwds_interp2, &pts, &tgs)) { + static const std::array kwds_interp2 {"Points", "Parameters", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "OO", kwds_interp2, &pts, &tgs)) { Py::Sequence list(pts); std::vector interpPoints; interpPoints.reserve(list.size()); @@ -913,15 +916,17 @@ PyObject* BSplineCurve2dPy::interpolate(PyObject *args, PyObject *kwds) PyObject* t1 = nullptr; PyObject* t2 = nullptr; PyObject* ts = nullptr; PyObject* fl = nullptr; - static char* kwds_interp[] = {"Points", "PeriodicFlag", "Tolerance", "InitialTangent", "FinalTangent", - "Tangents", "TangentFlags", "Parameters", nullptr}; + static const std::array kwds_interp{"Points", "PeriodicFlag", "Tolerance", "InitialTangent", + "FinalTangent", "Tangents", "TangentFlags", "Parameters", + nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O!dO!O!OOO",kwds_interp, - &obj, &PyBool_Type, &periodic, &tol3d, - Base::Vector2dPy::type_object(), &t1, - Base::Vector2dPy::type_object(), &t2, - &ts, &fl, &par)) + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O|O!dO!O!OOO",kwds_interp, + &obj, &PyBool_Type, &periodic, &tol3d, + Base::Vector2dPy::type_object(), &t1, + Base::Vector2dPy::type_object(), &t2, + &ts, &fl, &par)) { return nullptr; + } try { Py::Sequence list(obj); @@ -1085,7 +1090,8 @@ PyObject* BSplineCurve2dPy::buildFromPoles(PyObject *args) PyObject* BSplineCurve2dPy::buildFromPolesMultsKnots(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {"poles", "mults", "knots", "periodic", "degree", "weights", nullptr}; + static const std::array kwlist{"poles", "mults", "knots", "periodic", "degree", "weights", + nullptr}; PyObject* periodic = Py_False; PyObject* poles = Py_None; PyObject* mults = Py_None; @@ -1095,11 +1101,12 @@ PyObject* BSplineCurve2dPy::buildFromPolesMultsKnots(PyObject *args, PyObject *k int number_of_poles = 0; int number_of_knots = 0; int sum_of_mults = 0; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "O|OOO!iO", kwlist, + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "O|OOO!iO", kwlist, &poles, &mults, &knots, &PyBool_Type, &periodic, - °ree, &weights)) + °ree, &weights)) { return nullptr; + } try { // poles have to be present Py::Sequence list(poles); diff --git a/src/Mod/Part/App/Geom2d/Circle2dPyImp.cpp b/src/Mod/Part/App/Geom2d/Circle2dPyImp.cpp index 9cf14aad0d..e2a35784ed 100644 --- a/src/Mod/Part/App/Geom2d/Circle2dPyImp.cpp +++ b/src/Mod/Part/App/Geom2d/Circle2dPyImp.cpp @@ -28,6 +28,7 @@ #endif #include +#include #include "Geom2d/Circle2dPy.h" #include "Geom2d/Circle2dPy.cpp" @@ -56,8 +57,8 @@ int Circle2dPy::PyInit(PyObject* args, PyObject* kwds) // circle and distance for offset PyObject *pCirc; double dist; - static char* keywords_cd[] = {"Circle","Distance",nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!d", keywords_cd, &(Circle2dPy::Type), &pCirc, &dist)) { + static const std::array keywords_cd {"Circle","Distance",nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!d", keywords_cd, &(Circle2dPy::Type), &pCirc, &dist)) { Circle2dPy* pcCircle = static_cast(pCirc); Handle(Geom2d_Circle) circle = Handle(Geom2d_Circle)::DownCast (pcCircle->getGeom2dCirclePtr()->handle()); @@ -74,9 +75,9 @@ int Circle2dPy::PyInit(PyObject* args, PyObject* kwds) // center and radius PyObject *pV1, *pV2, *pV3; - static char* keywords_cnr[] = {"Center","Radius",nullptr}; + static const std::array keywords_cnr {"Center","Radius",nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!d", keywords_cnr, + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!d", keywords_cnr, Base::Vector2dPy::type_object(), &pV1, &dist)) { Base::Vector2d v1 = Py::toVector2d(pV1); @@ -91,9 +92,9 @@ int Circle2dPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - static char* keywords_c[] = {"Circle",nullptr}; + static const std::array keywords_c {"Circle",nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!", keywords_c, &(Circle2dPy::Type), &pCirc)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!", keywords_c, &(Circle2dPy::Type), &pCirc)) { Circle2dPy* pcCircle = static_cast(pCirc); Handle(Geom2d_Circle) circ1 = Handle(Geom2d_Circle)::DownCast (pcCircle->getGeom2dCirclePtr()->handle()); @@ -103,12 +104,12 @@ int Circle2dPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - static char* keywords_ppp[] = {"Point1","Point2","Point3",nullptr}; + static const std::array keywords_ppp {"Point1","Point2","Point3",nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ppp, - Base::Vector2dPy::type_object(), &pV1, - Base::Vector2dPy::type_object(), &pV2, - Base::Vector2dPy::type_object(), &pV3)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ppp, + Base::Vector2dPy::type_object(), &pV1, + Base::Vector2dPy::type_object(), &pV2, + Base::Vector2dPy::type_object(), &pV3)) { Base::Vector2d v1 = Py::toVector2d(pV1); Base::Vector2d v2 = Py::toVector2d(pV2); Base::Vector2d v3 = Py::toVector2d(pV3); @@ -126,9 +127,9 @@ int Circle2dPy::PyInit(PyObject* args, PyObject* kwds) } // default circle - static char* keywords_n[] = {nullptr}; + static const std::array keywords_n = {nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n) != 0) { Handle(Geom2d_Circle) circle = Handle(Geom2d_Circle)::DownCast(getGeom2dCirclePtr()->handle()); circle->SetRadius(1.0); return 0; diff --git a/src/Mod/Part/App/Geom2d/Curve2dPyImp.cpp b/src/Mod/Part/App/Geom2d/Curve2dPyImp.cpp index e014f5c3e3..98a5ed52a3 100644 --- a/src/Mod/Part/App/Geom2d/Curve2dPyImp.cpp +++ b/src/Mod/Part/App/Geom2d/Curve2dPyImp.cpp @@ -52,6 +52,7 @@ #endif #include +#include #include "Geom2d/Curve2dPy.h" #include "Geom2d/Curve2dPy.cpp" @@ -293,10 +294,10 @@ PyObject* Curve2dPy::discretize(PyObject *args, PyObject *kwds) double last = adapt.LastParameter(); // use Number kwds - static char* kwds_numPoints[] = {"Number","First","Last",nullptr}; + static const std::array kwds_numPoints {"Number", "First", "Last", nullptr}; PyErr_Clear(); int numPoints = -1; - if (PyArg_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_numPoints, &numPoints, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_numPoints, &numPoints, &first, &last)) { GCPnts_UniformAbscissa discretizer; discretizer.Initialize (adapt, numPoints, first, last); @@ -318,10 +319,10 @@ PyObject* Curve2dPy::discretize(PyObject *args, PyObject *kwds) } // use Distance kwds - static char* kwds_Distance[] = {"Distance","First","Last",nullptr}; + static const std::array kwds_Distance{"Distance", "First", "Last", nullptr}; PyErr_Clear(); double distance = -1; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Distance, &distance, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Distance, &distance, &first, &last)) { GCPnts_UniformAbscissa discretizer; discretizer.Initialize (adapt, distance, first, last); @@ -343,10 +344,10 @@ PyObject* Curve2dPy::discretize(PyObject *args, PyObject *kwds) } // use Deflection kwds - static char* kwds_Deflection[] = {"Deflection","First","Last",nullptr}; + static const std::array kwds_Deflection{"Deflection", "First", "Last", nullptr}; PyErr_Clear(); double deflection; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Deflection, &deflection, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Deflection, &deflection, &first, &last)) { GCPnts_UniformDeflection discretizer(adapt, deflection, first, last); if (discretizer.IsDone () && discretizer.NbPoints () > 0) { Py::List points; @@ -366,12 +367,14 @@ PyObject* Curve2dPy::discretize(PyObject *args, PyObject *kwds) } // use TangentialDeflection kwds - static char* kwds_TangentialDeflection[] = {"Angular","Curvature","First","Last","Minimum",nullptr}; + static const std::array kwds_TangentialDeflection{"Angular", "Curvature", "First", "Last", + "Minimum", nullptr}; PyErr_Clear(); double angular; double curvature; int minimumPoints = 2; - if (PyArg_ParseTupleAndKeywords(args, kwds, "dd|ddi", kwds_TangentialDeflection, &angular, &curvature, &first, &last, &minimumPoints)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "dd|ddi", kwds_TangentialDeflection, &angular, &curvature, + &first, &last, &minimumPoints)) { GCPnts_TangentialDeflection discretizer(adapt, first, last, angular, curvature, minimumPoints); if (discretizer.NbPoints () > 0) { Py::List points; @@ -391,10 +394,11 @@ PyObject* Curve2dPy::discretize(PyObject *args, PyObject *kwds) } // use QuasiNumber kwds - static char* kwds_QuasiNumPoints[] = {"QuasiNumber","First","Last",nullptr}; + static const std::array kwds_QuasiNumPoints{"QuasiNumber", "First", "Last", nullptr}; PyErr_Clear(); int quasiNumPoints; - if (PyArg_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_QuasiNumPoints, &quasiNumPoints, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_QuasiNumPoints, &quasiNumPoints, &first, + &last)) { GCPnts_QuasiUniformAbscissa discretizer(adapt, quasiNumPoints, first, last); if (discretizer.NbPoints () > 0) { Py::List points; @@ -414,10 +418,11 @@ PyObject* Curve2dPy::discretize(PyObject *args, PyObject *kwds) } // use QuasiDeflection kwds - static char* kwds_QuasiDeflection[] = {"QuasiDeflection","First","Last",nullptr}; + static const std::array kwds_QuasiDeflection {"QuasiDeflection","First","Last",nullptr}; PyErr_Clear(); double quasiDeflection; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_QuasiDeflection, &quasiDeflection, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_QuasiDeflection, &quasiDeflection, &first, + &last)) { GCPnts_QuasiUniformDeflection discretizer(adapt, quasiDeflection, first, last); if (discretizer.NbPoints () > 0) { Py::List points; diff --git a/src/Mod/Part/App/Geom2d/Ellipse2dPyImp.cpp b/src/Mod/Part/App/Geom2d/Ellipse2dPyImp.cpp index f51ed2a619..c535748100 100644 --- a/src/Mod/Part/App/Geom2d/Ellipse2dPyImp.cpp +++ b/src/Mod/Part/App/Geom2d/Ellipse2dPyImp.cpp @@ -28,6 +28,7 @@ #endif #include +#include #include "Geom2d/Ellipse2dPy.h" #include "Geom2d/Ellipse2dPy.cpp" @@ -53,18 +54,18 @@ PyObject *Ellipse2dPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // // constructor method int Ellipse2dPy::PyInit(PyObject* args, PyObject* kwds) { - char* keywords_n[] = {nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + static const std::array keywords_n {nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { Handle(Geom2d_Ellipse) ellipse = Handle(Geom2d_Ellipse)::DownCast(getGeom2dEllipsePtr()->handle()); ellipse->SetMajorRadius(2.0); ellipse->SetMinorRadius(1.0); return 0; } - char* keywords_e[] = {"Ellipse",nullptr}; + static const std::array keywords_e {"Ellipse",nullptr}; PyErr_Clear(); PyObject *pElips; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(Ellipse2dPy::Type), &pElips)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(Ellipse2dPy::Type), &pElips)) { Ellipse2dPy* pEllipse = static_cast(pElips); Handle(Geom2d_Ellipse) Elips1 = Handle(Geom2d_Ellipse)::DownCast (pEllipse->getGeom2dEllipsePtr()->handle()); @@ -74,13 +75,13 @@ int Ellipse2dPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - char* keywords_ssc[] = {"S1","S2","Center",nullptr}; + static const std::array keywords_ssc {"S1", "S2", "Center", nullptr}; PyErr_Clear(); PyObject *pV1, *pV2, *pV3; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, - Base::Vector2dPy::type_object(), &pV1, - Base::Vector2dPy::type_object(), &pV2, - Base::Vector2dPy::type_object(), &pV3)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, + Base::Vector2dPy::type_object(), &pV1, + Base::Vector2dPy::type_object(), &pV2, + Base::Vector2dPy::type_object(), &pV3)) { Base::Vector2d v1 = Py::toVector2d(pV1); Base::Vector2d v2 = Py::toVector2d(pV2); Base::Vector2d v3 = Py::toVector2d(pV3); @@ -97,13 +98,13 @@ int Ellipse2dPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - char* keywords_cmm[] = {"Center","MajorRadius","MinorRadius",nullptr}; + static const std::array keywords_cmm {"Center","MajorRadius","MinorRadius",nullptr}; PyErr_Clear(); PyObject *pV; double major, minor; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!dd", keywords_cmm, - Base::Vector2dPy::type_object(), &pV, - &major, &minor)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!dd", keywords_cmm, + Base::Vector2dPy::type_object(), &pV, + &major, &minor)) { Base::Vector2d c = Py::toVector2d(pV); GCE2d_MakeEllipse me(gp_Ax2d(gp_Pnt2d(c.x,c.y), gp_Dir2d(0.0,1.0)), major, minor); diff --git a/src/Mod/Part/App/Geom2d/Hyperbola2dPyImp.cpp b/src/Mod/Part/App/Geom2d/Hyperbola2dPyImp.cpp index 26a635728e..4d5e5b183a 100644 --- a/src/Mod/Part/App/Geom2d/Hyperbola2dPyImp.cpp +++ b/src/Mod/Part/App/Geom2d/Hyperbola2dPyImp.cpp @@ -28,6 +28,7 @@ #endif #include +#include #include "Geom2d/Hyperbola2dPy.h" #include "Geom2d/Hyperbola2dPy.cpp" @@ -53,18 +54,18 @@ PyObject *Hyperbola2dPy::PyMake(struct _typeobject *, PyObject *, PyObject *) / // constructor method int Hyperbola2dPy::PyInit(PyObject* args, PyObject* kwds) { - char* keywords_n[] = {nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + static const std::array keywords_n {nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { Handle(Geom2d_Hyperbola) hyperbola = Handle(Geom2d_Hyperbola)::DownCast(getGeom2dHyperbolaPtr()->handle()); hyperbola->SetMajorRadius(2.0); hyperbola->SetMinorRadius(1.0); return 0; } - char* keywords_e[] = {"Hyperbola",nullptr}; + static const std::array keywords_e = {"Hyperbola", nullptr}; PyErr_Clear(); PyObject *pHypr; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(Hyperbola2dPy::Type), &pHypr)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(Hyperbola2dPy::Type), &pHypr)) { Hyperbola2dPy* pHyperbola = static_cast(pHypr); Handle(Geom2d_Hyperbola) Hypr1 = Handle(Geom2d_Hyperbola)::DownCast (pHyperbola->getGeom2dHyperbolaPtr()->handle()); @@ -74,13 +75,13 @@ int Hyperbola2dPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - char* keywords_ssc[] = {"S1","S2","Center",nullptr}; + static const std::array keywords_ssc {"S1", "S2", "Center", nullptr}; PyErr_Clear(); PyObject *pV1, *pV2, *pV3; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, - Base::Vector2dPy::type_object(), &pV1, - Base::Vector2dPy::type_object(), &pV2, - Base::Vector2dPy::type_object(), &pV3)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, + Base::Vector2dPy::type_object(), &pV1, + Base::Vector2dPy::type_object(), &pV2, + Base::Vector2dPy::type_object(), &pV3)) { Base::Vector2d v1 = Py::toVector2d(pV1); Base::Vector2d v2 = Py::toVector2d(pV2); Base::Vector2d v3 = Py::toVector2d(pV3); @@ -97,13 +98,13 @@ int Hyperbola2dPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - char* keywords_cmm[] = {"Center","MajorRadius","MinorRadius",nullptr}; + static const std::array keywords_cmm {"Center", "MajorRadius", "MinorRadius", nullptr}; PyErr_Clear(); PyObject *pV; double major, minor; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!dd", keywords_cmm, - Base::Vector2dPy::type_object(), &pV, - &major, &minor)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!dd", keywords_cmm, + Base::Vector2dPy::type_object(), &pV, + &major, &minor)) { Base::Vector2d c = Py::toVector2d(pV); GCE2d_MakeHyperbola me(gp_Ax2d(gp_Pnt2d(c.x,c.y), gp_Dir2d(0.0,1.0)), major, minor); diff --git a/src/Mod/Part/App/GeomPlate/BuildPlateSurfacePyImp.cpp b/src/Mod/Part/App/GeomPlate/BuildPlateSurfacePyImp.cpp index f44dcb5c23..3b9443ecc7 100644 --- a/src/Mod/Part/App/GeomPlate/BuildPlateSurfacePyImp.cpp +++ b/src/Mod/Part/App/GeomPlate/BuildPlateSurfacePyImp.cpp @@ -32,6 +32,8 @@ #include "Geometry2d.h" #include "GeometrySurfacePy.h" +#include + using namespace Part; @@ -92,13 +94,14 @@ int BuildPlateSurfacePy::PyInit(PyObject* args, PyObject* kwds) double tolCurv = 0.1; PyObject* anisotropy = Py_False; - static char* keywords[] = {"Surface", "Degree", "NbPtsOnCur", "NbIter", "Tol2d", - "Tol3d", "TolAng", "TolCurv", "Anisotropy", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O!iiiddddO!", keywords, - &(GeometrySurfacePy::Type), &surf, °ree, - &nbPtsOnCur, &nbIter, &tol2d, &tol3d, - &tolAng, &tolCurv, &PyBool_Type, &anisotropy)) + static const std::array keywords{"Surface", "Degree", "NbPtsOnCur", "NbIter", "Tol2d", "Tol3d", + "TolAng", "TolCurv", "Anisotropy", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|O!iiiddddO!", keywords, + &(GeometrySurfacePy::Type), &surf, °ree, + &nbPtsOnCur, &nbIter, &tol2d, &tol3d, + &tolAng, &tolCurv, &PyBool_Type, &anisotropy)) { return -1; + } try { std::unique_ptr ptr(new GeomPlate_BuildPlateSurface @@ -128,7 +131,7 @@ int BuildPlateSurfacePy::PyInit(PyObject* args, PyObject* kwds) // returns a string which represents the object e.g. when printed in python std::string BuildPlateSurfacePy::representation() const { - return std::string(""); + return {""}; } PyObject* BuildPlateSurfacePy::init(PyObject *args) diff --git a/src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp b/src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp index 5ab02e40e7..55d1a364f7 100644 --- a/src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp +++ b/src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp @@ -36,6 +36,7 @@ #include "GeomPlate/CurveConstraintPy.cpp" #include "Geom2d/Curve2dPy.h" #include "GeometryCurvePy.h" +#include using namespace Part; @@ -61,11 +62,13 @@ int CurveConstraintPy::PyInit(PyObject* args, PyObject* kwds) // Length(), FirstParameter(), LastParameter(), ... // Thus, we don't allow to create an empty GeomPlate_CurveConstraint instance - static char* keywords[] = {"Boundary", "Order", "NbPts", "TolDist", "TolAng", "TolCurv", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|iiddd", keywords, - &(GeometryCurvePy::Type), &bound, &order, - &nbPts, &tolDist, &tolAng, &tolCurv)) + static const std::array keywords{"Boundary", "Order", "NbPts", "TolDist", "TolAng", "TolCurv", + nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|iiddd", keywords, + &(GeometryCurvePy::Type), &bound, &order, + &nbPts, &tolDist, &tolAng, &tolCurv)) { return -1; + } try { std::unique_ptr ptr; @@ -118,7 +121,7 @@ int CurveConstraintPy::PyInit(PyObject* args, PyObject* kwds) // returns a string which represents the object e.g. when printed in python std::string CurveConstraintPy::representation() const { - return std::string(""); + return {""}; } PyObject* CurveConstraintPy::setOrder(PyObject *args) diff --git a/src/Mod/Part/App/GeomPlate/PointConstraintPyImp.cpp b/src/Mod/Part/App/GeomPlate/PointConstraintPyImp.cpp index 4c05b7222c..57f9f735fa 100644 --- a/src/Mod/Part/App/GeomPlate/PointConstraintPyImp.cpp +++ b/src/Mod/Part/App/GeomPlate/PointConstraintPyImp.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include "GeomPlate/PointConstraintPy.h" #include "GeomPlate/PointConstraintPy.cpp" @@ -47,10 +48,11 @@ int PointConstraintPy::PyInit(PyObject* args, PyObject* kwds) int order = 0; double tolDist = 0.0001; - static char* keywords[] = {"Point", "Order", "TolDist", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|id", keywords, - &(Base::VectorPy::Type), &pt, &order, &tolDist)) + static const std::array keywords {"Point", "Order", "TolDist", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|id", keywords, &(Base::VectorPy::Type), &pt, &order, + &tolDist)) { return -1; + } try { std::unique_ptr ptr; @@ -70,7 +72,7 @@ int PointConstraintPy::PyInit(PyObject* args, PyObject* kwds) // returns a string which represents the object e.g. when printed in python std::string PointConstraintPy::representation() const { - return std::string(""); + return {""}; } PyObject* PointConstraintPy::setOrder(PyObject *args) diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp index 571d8157b1..00b1ca65b5 100644 --- a/src/Mod/Part/App/Geometry.cpp +++ b/src/Mod/Part/App/Geometry.cpp @@ -192,10 +192,7 @@ Geometry::Geometry() createNewTag(); } -Geometry::~Geometry() -{ - -} +Geometry::~Geometry() = default; // Persistence implementer unsigned int Geometry::getMemSize () const @@ -484,9 +481,7 @@ GeomPoint::GeomPoint(const Base::Vector3d& p) this->myPoint = new Geom_CartesianPoint(p.x,p.y,p.z); } -GeomPoint::~GeomPoint() -{ -} +GeomPoint::~GeomPoint() = default; const Handle(Geom_Geometry)& GeomPoint::handle() const { @@ -568,13 +563,9 @@ PyObject *GeomPoint::getPyObject() TYPESYSTEM_SOURCE_ABSTRACT(Part::GeomCurve,Part::Geometry) -GeomCurve::GeomCurve() -{ -} +GeomCurve::GeomCurve() = default; -GeomCurve::~GeomCurve() -{ -} +GeomCurve::~GeomCurve() = default; TopoDS_Shape GeomCurve::toShape() const { @@ -902,13 +893,9 @@ void GeomCurve::reverse() TYPESYSTEM_SOURCE_ABSTRACT(Part::GeomBoundedCurve, Part::GeomCurve) -GeomBoundedCurve::GeomBoundedCurve() -{ -} +GeomBoundedCurve::GeomBoundedCurve() = default; -GeomBoundedCurve::~GeomBoundedCurve() -{ -} +GeomBoundedCurve::~GeomBoundedCurve() = default; Base::Vector3d GeomBoundedCurve::getStartPoint() const { @@ -959,9 +946,7 @@ GeomBezierCurve::GeomBezierCurve( const std::vector& poles, cons this->myCurve = new Geom_BezierCurve (p, w); } -GeomBezierCurve::~GeomBezierCurve() -{ -} +GeomBezierCurve::~GeomBezierCurve() = default; void GeomBezierCurve::setHandle(const Handle(Geom_BezierCurve)& c) { @@ -1147,9 +1132,7 @@ GeomBSplineCurve::GeomBSplineCurve( const std::vector& poles, co } -GeomBSplineCurve::~GeomBSplineCurve() -{ -} +GeomBSplineCurve::~GeomBSplineCurve() = default; void GeomBSplineCurve::setHandle(const Handle(Geom_BSplineCurve)& c) { @@ -1756,13 +1739,9 @@ PyObject *GeomBSplineCurve::getPyObject() TYPESYSTEM_SOURCE_ABSTRACT(Part::GeomConic, Part::GeomCurve) -GeomConic::GeomConic() -{ -} +GeomConic::GeomConic() = default; -GeomConic::~GeomConic() -{ -} +GeomConic::~GeomConic() = default; Base::Vector3d GeomConic::getLocation() const { @@ -1903,18 +1882,14 @@ GeomBSplineCurve* GeomConic::toNurbs(double first, double last) const TYPESYSTEM_SOURCE(Part::GeomTrimmedCurve,Part::GeomBoundedCurve) -GeomTrimmedCurve::GeomTrimmedCurve() -{ -} +GeomTrimmedCurve::GeomTrimmedCurve() = default; GeomTrimmedCurve::GeomTrimmedCurve(const Handle(Geom_TrimmedCurve)& c) { setHandle(c); } -GeomTrimmedCurve::~GeomTrimmedCurve() -{ -} +GeomTrimmedCurve::~GeomTrimmedCurve() = default; void GeomTrimmedCurve::setHandle(const Handle(Geom_TrimmedCurve)& c) { @@ -1996,13 +1971,9 @@ void GeomTrimmedCurve::setRange(double u, double v) // ------------------------------------------------- TYPESYSTEM_SOURCE_ABSTRACT(Part::GeomArcOfConic,Part::GeomTrimmedCurve) -GeomArcOfConic::GeomArcOfConic() -{ -} +GeomArcOfConic::GeomArcOfConic() = default; -GeomArcOfConic::~GeomArcOfConic() -{ -} +GeomArcOfConic::~GeomArcOfConic() = default; /*! * \brief GeomArcOfConic::getStartPoint @@ -2215,9 +2186,7 @@ GeomCircle::GeomCircle(const Handle(Geom_Circle)& c) setHandle(c); } -GeomCircle::~GeomCircle() -{ -} +GeomCircle::~GeomCircle() = default; const Handle(Geom_Geometry)& GeomCircle::handle() const { @@ -2396,9 +2365,7 @@ GeomArcOfCircle::GeomArcOfCircle(const Handle(Geom_Circle)& c) setHandle(c); } -GeomArcOfCircle::~GeomArcOfCircle() -{ -} +GeomArcOfCircle::~GeomArcOfCircle() = default; void GeomArcOfCircle::setHandle(const Handle(Geom_TrimmedCurve)& c) { @@ -2635,9 +2602,7 @@ GeomEllipse::GeomEllipse(const Handle(Geom_Ellipse)& e) setHandle(e); } -GeomEllipse::~GeomEllipse() -{ -} +GeomEllipse::~GeomEllipse() = default; const Handle(Geom_Geometry)& GeomEllipse::handle() const { @@ -2887,9 +2852,7 @@ GeomArcOfEllipse::GeomArcOfEllipse(const Handle(Geom_Ellipse)& e) setHandle(e); } -GeomArcOfEllipse::~GeomArcOfEllipse() -{ -} +GeomArcOfEllipse::~GeomArcOfEllipse() = default; void GeomArcOfEllipse::setHandle(const Handle(Geom_TrimmedCurve)& c) { @@ -3160,9 +3123,7 @@ GeomHyperbola::GeomHyperbola(const Handle(Geom_Hyperbola)& h) setHandle(h); } -GeomHyperbola::~GeomHyperbola() -{ -} +GeomHyperbola::~GeomHyperbola() = default; const Handle(Geom_Geometry)& GeomHyperbola::handle() const { @@ -3321,9 +3282,7 @@ GeomArcOfHyperbola::GeomArcOfHyperbola(const Handle(Geom_Hyperbola)& h) setHandle(h); } -GeomArcOfHyperbola::~GeomArcOfHyperbola() -{ -} +GeomArcOfHyperbola::~GeomArcOfHyperbola() = default; void GeomArcOfHyperbola::setHandle(const Handle(Geom_TrimmedCurve)& c) { @@ -3585,9 +3544,7 @@ GeomParabola::GeomParabola(const Handle(Geom_Parabola)& p) setHandle(p); } -GeomParabola::~GeomParabola() -{ -} +GeomParabola::~GeomParabola() = default; const Handle(Geom_Geometry)& GeomParabola::handle() const { @@ -3726,9 +3683,7 @@ GeomArcOfParabola::GeomArcOfParabola(const Handle(Geom_Parabola)& h) setHandle(h); } -GeomArcOfParabola::~GeomArcOfParabola() -{ -} +GeomArcOfParabola::~GeomArcOfParabola() = default; void GeomArcOfParabola::setHandle(const Handle(Geom_TrimmedCurve)& c) { @@ -3944,9 +3899,7 @@ GeomLine::GeomLine(const Base::Vector3d& Pos, const Base::Vector3d& Dir) } -GeomLine::~GeomLine() -{ -} +GeomLine::~GeomLine() = default; void GeomLine::setLine(const Base::Vector3d& Pos, const Base::Vector3d& Dir) { @@ -4052,9 +4005,7 @@ GeomLineSegment::GeomLineSegment(const Handle(Geom_Line)& l) setHandle(l); } -GeomLineSegment::~GeomLineSegment() -{ -} +GeomLineSegment::~GeomLineSegment() = default; void GeomLineSegment::setHandle(const Handle(Geom_TrimmedCurve)& c) { @@ -4199,9 +4150,7 @@ PyObject *GeomLineSegment::getPyObject() TYPESYSTEM_SOURCE(Part::GeomOffsetCurve,Part::GeomCurve) -GeomOffsetCurve::GeomOffsetCurve() -{ -} +GeomOffsetCurve::GeomOffsetCurve() = default; GeomOffsetCurve::GeomOffsetCurve(const Handle(Geom_Curve)& c, double offset, const gp_Dir& dir) { @@ -4217,9 +4166,7 @@ GeomOffsetCurve::GeomOffsetCurve(const Handle(Geom_OffsetCurve)& c) setHandle(c); } -GeomOffsetCurve::~GeomOffsetCurve() -{ -} +GeomOffsetCurve::~GeomOffsetCurve() = default; Geometry *GeomOffsetCurve::copy() const { @@ -4264,13 +4211,9 @@ PyObject *GeomOffsetCurve::getPyObject() TYPESYSTEM_SOURCE_ABSTRACT(Part::GeomSurface,Part::Geometry) -GeomSurface::GeomSurface() -{ -} +GeomSurface::GeomSurface() = default; -GeomSurface::~GeomSurface() -{ -} +GeomSurface::~GeomSurface() = default; TopoDS_Shape GeomSurface::toShape() const { @@ -4392,9 +4335,7 @@ GeomBezierSurface::GeomBezierSurface(const Handle(Geom_BezierSurface)& b) setHandle(b); } -GeomBezierSurface::~GeomBezierSurface() -{ -} +GeomBezierSurface::~GeomBezierSurface() = default; const Handle(Geom_Geometry)& GeomBezierSurface::handle() const { @@ -4469,9 +4410,7 @@ GeomBSplineSurface::GeomBSplineSurface(const Handle(Geom_BSplineSurface)& b) setHandle(b); } -GeomBSplineSurface::~GeomBSplineSurface() -{ -} +GeomBSplineSurface::~GeomBSplineSurface() = default; void GeomBSplineSurface::setHandle(const Handle(Geom_BSplineSurface)& s) { @@ -4564,9 +4503,7 @@ GeomCylinder::GeomCylinder(const Handle(Geom_CylindricalSurface)& c) setHandle(c); } -GeomCylinder::~GeomCylinder() -{ -} +GeomCylinder::~GeomCylinder() = default; void GeomCylinder::setHandle(const Handle(Geom_CylindricalSurface)& s) { @@ -4622,9 +4559,7 @@ GeomCone::GeomCone(const Handle(Geom_ConicalSurface)& c) setHandle(c); } -GeomCone::~GeomCone() -{ -} +GeomCone::~GeomCone() = default; void GeomCone::setHandle(const Handle(Geom_ConicalSurface)& s) { @@ -4705,7 +4640,7 @@ gp_Vec GeomCone::getDN(double u, double v, int Nu, int Nv) const Handle(Geom_ConicalSurface) s = Handle(Geom_ConicalSurface)::DownCast(handle()); Standard_RangeError_Raise_if (Nu + Nv < 1 || Nu < 0 || Nv < 0, " "); if (Nv > 1) { - return gp_Vec (0.0, 0.0, 0.0); + return {0.0, 0.0, 0.0}; } else { return ElSLib__ConeDN(u, v, s->Position(), s->RefRadius(), s->SemiAngle(), Nu, Nv); @@ -4728,9 +4663,7 @@ GeomToroid::GeomToroid(const Handle(Geom_ToroidalSurface)& t) setHandle(t); } -GeomToroid::~GeomToroid() -{ -} +GeomToroid::~GeomToroid() = default; void GeomToroid::setHandle(const Handle(Geom_ToroidalSurface)& s) { @@ -4786,9 +4719,7 @@ GeomSphere::GeomSphere(const Handle(Geom_SphericalSurface)& s) setHandle(s); } -GeomSphere::~GeomSphere() -{ -} +GeomSphere::~GeomSphere() = default; void GeomSphere::setHandle(const Handle(Geom_SphericalSurface)& s) { @@ -4844,9 +4775,7 @@ GeomPlane::GeomPlane(const Handle(Geom_Plane)& p) setHandle(p); } -GeomPlane::~GeomPlane() -{ -} +GeomPlane::~GeomPlane() = default; void GeomPlane::setHandle(const Handle(Geom_Plane)& s) { @@ -4891,9 +4820,7 @@ PyObject *GeomPlane::getPyObject() TYPESYSTEM_SOURCE(Part::GeomOffsetSurface,Part::GeomSurface) -GeomOffsetSurface::GeomOffsetSurface() -{ -} +GeomOffsetSurface::GeomOffsetSurface() = default; GeomOffsetSurface::GeomOffsetSurface(const Handle(Geom_Surface)& s, double offset) { @@ -4905,9 +4832,7 @@ GeomOffsetSurface::GeomOffsetSurface(const Handle(Geom_OffsetSurface)& s) setHandle(s); } -GeomOffsetSurface::~GeomOffsetSurface() -{ -} +GeomOffsetSurface::~GeomOffsetSurface() = default; void GeomOffsetSurface::setHandle(const Handle(Geom_OffsetSurface)& s) { @@ -4951,9 +4876,7 @@ PyObject *GeomOffsetSurface::getPyObject() TYPESYSTEM_SOURCE(Part::GeomPlateSurface,Part::GeomSurface) -GeomPlateSurface::GeomPlateSurface() -{ -} +GeomPlateSurface::GeomPlateSurface() = default; GeomPlateSurface::GeomPlateSurface(const Handle(Geom_Surface)& s, const Plate_Plate& plate) { @@ -4971,9 +4894,7 @@ GeomPlateSurface::GeomPlateSurface(const Handle(GeomPlate_Surface)& s) setHandle(s); } -GeomPlateSurface::~GeomPlateSurface() -{ -} +GeomPlateSurface::~GeomPlateSurface() = default; void GeomPlateSurface::setHandle(const Handle(GeomPlate_Surface)& s) { @@ -5017,18 +4938,14 @@ PyObject *GeomPlateSurface::getPyObject() TYPESYSTEM_SOURCE(Part::GeomTrimmedSurface,Part::GeomSurface) -GeomTrimmedSurface::GeomTrimmedSurface() -{ -} +GeomTrimmedSurface::GeomTrimmedSurface() = default; GeomTrimmedSurface::GeomTrimmedSurface(const Handle(Geom_RectangularTrimmedSurface)& s) { setHandle(s); } -GeomTrimmedSurface::~GeomTrimmedSurface() -{ -} +GeomTrimmedSurface::~GeomTrimmedSurface() = default; void GeomTrimmedSurface::setHandle(const Handle(Geom_RectangularTrimmedSurface)& s) { @@ -5072,9 +4989,7 @@ PyObject *GeomTrimmedSurface::getPyObject() TYPESYSTEM_SOURCE(Part::GeomSurfaceOfRevolution,Part::GeomSurface) -GeomSurfaceOfRevolution::GeomSurfaceOfRevolution() -{ -} +GeomSurfaceOfRevolution::GeomSurfaceOfRevolution() = default; GeomSurfaceOfRevolution::GeomSurfaceOfRevolution(const Handle(Geom_Curve)& c, const gp_Ax1& a) { @@ -5086,9 +5001,7 @@ GeomSurfaceOfRevolution::GeomSurfaceOfRevolution(const Handle(Geom_SurfaceOfRevo setHandle(s); } -GeomSurfaceOfRevolution::~GeomSurfaceOfRevolution() -{ -} +GeomSurfaceOfRevolution::~GeomSurfaceOfRevolution() = default; void GeomSurfaceOfRevolution::setHandle(const Handle(Geom_SurfaceOfRevolution)& c) { @@ -5132,9 +5045,7 @@ PyObject *GeomSurfaceOfRevolution::getPyObject() TYPESYSTEM_SOURCE(Part::GeomSurfaceOfExtrusion,Part::GeomSurface) -GeomSurfaceOfExtrusion::GeomSurfaceOfExtrusion() -{ -} +GeomSurfaceOfExtrusion::GeomSurfaceOfExtrusion() = default; GeomSurfaceOfExtrusion::GeomSurfaceOfExtrusion(const Handle(Geom_Curve)& c, const gp_Dir& d) { @@ -5146,9 +5057,7 @@ GeomSurfaceOfExtrusion::GeomSurfaceOfExtrusion(const Handle(Geom_SurfaceOfLinear setHandle(s); } -GeomSurfaceOfExtrusion::~GeomSurfaceOfExtrusion() -{ -} +GeomSurfaceOfExtrusion::~GeomSurfaceOfExtrusion() = default; void GeomSurfaceOfExtrusion::setHandle(const Handle(Geom_SurfaceOfLinearExtrusion)& c) { diff --git a/src/Mod/Part/App/Geometry.h b/src/Mod/Part/App/Geometry.h index a11a7bece3..6ca3eb8e33 100644 --- a/src/Mod/Part/App/Geometry.h +++ b/src/Mod/Part/App/Geometry.h @@ -131,9 +131,9 @@ protected: boost::uuids::uuid tag; std::vector> extensions; -private: - Geometry(const Geometry&); - Geometry& operator = (const Geometry&); +public: + Geometry(const Geometry&) = delete; + Geometry& operator = (const Geometry&) = delete; }; class PartExport GeomPoint : public Geometry diff --git a/src/Mod/Part/App/Geometry2d.cpp b/src/Mod/Part/App/Geometry2d.cpp index d7d69c6419..eb04a39720 100644 --- a/src/Mod/Part/App/Geometry2d.cpp +++ b/src/Mod/Part/App/Geometry2d.cpp @@ -86,13 +86,9 @@ extern const char* gce_ErrorStatusText(gce_ErrorType et); TYPESYSTEM_SOURCE_ABSTRACT(Part::Geometry2d, Base::Persistence) -Geometry2d::Geometry2d() -{ -} +Geometry2d::Geometry2d() = default; -Geometry2d::~Geometry2d() -{ -} +Geometry2d::~Geometry2d() = default; unsigned int Geometry2d::getMemSize () const { @@ -128,9 +124,7 @@ Geom2dPoint::Geom2dPoint(const Base::Vector2d& p) this->myPoint = new Geom2d_CartesianPoint(p.x,p.y); } -Geom2dPoint::~Geom2dPoint() -{ -} +Geom2dPoint::~Geom2dPoint() = default; TopoDS_Shape Geom2dPoint::toShape() const { @@ -156,7 +150,7 @@ Geometry2d *Geom2dPoint::clone() const Base::Vector2d Geom2dPoint::getPoint()const { - return Base::Vector2d(myPoint->X(),myPoint->Y()); + return {myPoint->X(),myPoint->Y()}; } void Geom2dPoint::setPoint(const Base::Vector2d& p) @@ -214,13 +208,9 @@ PyObject *Geom2dPoint::getPyObject() TYPESYSTEM_SOURCE_ABSTRACT(Part::Geom2dCurve, Part::Geometry2d) -Geom2dCurve::Geom2dCurve() -{ -} +Geom2dCurve::Geom2dCurve() = default; -Geom2dCurve::~Geom2dCurve() -{ -} +Geom2dCurve::~Geom2dCurve() = default; TopoDS_Shape Geom2dCurve::toShape() const { @@ -247,7 +237,7 @@ Base::Vector2d Geom2dCurve::pointAtParameter(double u) const Geom2dLProp_CLProps2d prop(c,u,0,Precision::Confusion()); const gp_Pnt2d &point=prop.Value(); - return Base::Vector2d(point.X(),point.Y()); + return {point.X(),point.Y()}; } Base::Vector2d Geom2dCurve::firstDerivativeAtParameter(double u) const @@ -256,7 +246,7 @@ Base::Vector2d Geom2dCurve::firstDerivativeAtParameter(double u) const Geom2dLProp_CLProps2d prop(c,u,1,Precision::Confusion()); const gp_Vec2d &vec=prop.D1(); - return Base::Vector2d(vec.X(),vec.Y()); + return {vec.X(),vec.Y()}; } Base::Vector2d Geom2dCurve::secondDerivativeAtParameter(double u) const @@ -265,7 +255,7 @@ Base::Vector2d Geom2dCurve::secondDerivativeAtParameter(double u) const Geom2dLProp_CLProps2d prop(c,u,2,Precision::Confusion()); const gp_Vec2d &vec=prop.D2(); - return Base::Vector2d(vec.X(),vec.Y()); + return {vec.X(),vec.Y()}; } bool Geom2dCurve::normal(double u, gp_Dir2d& dir) const @@ -347,9 +337,7 @@ Geom2dBezierCurve::Geom2dBezierCurve(const Handle(Geom2d_BezierCurve)& b) this->myCurve = Handle(Geom2d_BezierCurve)::DownCast(b->Copy()); } -Geom2dBezierCurve::~Geom2dBezierCurve() -{ -} +Geom2dBezierCurve::~Geom2dBezierCurve() = default; void Geom2dBezierCurve::setHandle(const Handle(Geom2d_BezierCurve)& c) { @@ -413,9 +401,7 @@ Geom2dBSplineCurve::Geom2dBSplineCurve(const Handle(Geom2d_BSplineCurve)& b) this->myCurve = Handle(Geom2d_BSplineCurve)::DownCast(b->Copy()); } -Geom2dBSplineCurve::~Geom2dBSplineCurve() -{ -} +Geom2dBSplineCurve::~Geom2dBSplineCurve() = default; void Geom2dBSplineCurve::setHandle(const Handle(Geom2d_BSplineCurve)& c) { @@ -568,7 +554,7 @@ void Geom2dBSplineCurve::makeC1Continuous(double tol) std::list Geom2dBSplineCurve::toBiArcs(double /*tolerance*/) const { Standard_Failure::Raise("Not yet implemented"); - return std::list(); + return {}; } unsigned int Geom2dBSplineCurve::getMemSize() const @@ -595,19 +581,15 @@ PyObject *Geom2dBSplineCurve::getPyObject() TYPESYSTEM_SOURCE_ABSTRACT(Part::Geom2dConic, Part::Geom2dCurve) -Geom2dConic::Geom2dConic() -{ -} +Geom2dConic::Geom2dConic() = default; -Geom2dConic::~Geom2dConic() -{ -} +Geom2dConic::~Geom2dConic() = default; Base::Vector2d Geom2dConic::getLocation() const { Handle(Geom2d_Conic) conic = Handle(Geom2d_Conic)::DownCast(handle()); const gp_Pnt2d& loc = conic->Location(); - return Base::Vector2d(loc.X(),loc.Y()); + return {loc.X(),loc.Y()}; } void Geom2dConic::setLocation(const Base::Vector2d& Center) @@ -672,20 +654,16 @@ void Geom2dConic::RestoreAxis(Base::XMLReader& reader, gp_Ax22d& axis) TYPESYSTEM_SOURCE_ABSTRACT(Part::Geom2dArcOfConic, Part::Geom2dCurve) -Geom2dArcOfConic::Geom2dArcOfConic() -{ -} +Geom2dArcOfConic::Geom2dArcOfConic() = default; -Geom2dArcOfConic::~Geom2dArcOfConic() -{ -} +Geom2dArcOfConic::~Geom2dArcOfConic() = default; Base::Vector2d Geom2dArcOfConic::getLocation() const { Handle(Geom2d_TrimmedCurve) curve = Handle(Geom2d_TrimmedCurve)::DownCast(handle()); Handle(Geom2d_Conic) conic = Handle(Geom2d_Conic)::DownCast(curve->BasisCurve()); const gp_Pnt2d& loc = conic->Location(); - return Base::Vector2d(loc.X(),loc.Y()); + return {loc.X(),loc.Y()}; } void Geom2dArcOfConic::setLocation(const Base::Vector2d& Center) @@ -723,7 +701,7 @@ Base::Vector2d Geom2dArcOfConic::getStartPoint() const { Handle(Geom2d_TrimmedCurve) curve = Handle(Geom2d_TrimmedCurve)::DownCast(handle()); gp_Pnt2d pnt = curve->StartPoint(); - return Base::Vector2d(pnt.X(), pnt.Y()); + return {pnt.X(), pnt.Y()}; } /*! @@ -734,7 +712,7 @@ Base::Vector2d Geom2dArcOfConic::getEndPoint() const { Handle(Geom2d_TrimmedCurve) curve = Handle(Geom2d_TrimmedCurve)::DownCast(handle()); gp_Pnt2d pnt = curve->EndPoint(); - return Base::Vector2d(pnt.X(), pnt.Y()); + return {pnt.X(), pnt.Y()}; } /*! @@ -817,9 +795,7 @@ Geom2dCircle::Geom2dCircle(const Handle(Geom2d_Circle)& c) this->myCurve = Handle(Geom2d_Circle)::DownCast(c->Copy()); } -Geom2dCircle::~Geom2dCircle() -{ -} +Geom2dCircle::~Geom2dCircle() = default; const Handle(Geom2d_Geometry)& Geom2dCircle::handle() const { @@ -948,7 +924,7 @@ Base::Vector2d Geom2dCircle::getCircleCenter (const Base::Vector2d &p1, const Ba double x = (w0*p1.x + w1*p2.x + w2*p3.x)/wx; double y = (w0*p1.y + w1*p2.y + w2*p3.y)/wx; - return Base::Vector2d(x, y); + return {x, y}; } // ------------------------------------------------- @@ -966,9 +942,7 @@ Geom2dArcOfCircle::Geom2dArcOfCircle(const Handle(Geom2d_Circle)& c) this->myCurve = new Geom2d_TrimmedCurve(c, c->FirstParameter(),c->LastParameter()); } -Geom2dArcOfCircle::~Geom2dArcOfCircle() -{ -} +Geom2dArcOfCircle::~Geom2dArcOfCircle() = default; void Geom2dArcOfCircle::setHandle(const Handle(Geom2d_TrimmedCurve)& c) { @@ -1089,9 +1063,7 @@ Geom2dEllipse::Geom2dEllipse(const Handle(Geom2d_Ellipse)& e) this->myCurve = Handle(Geom2d_Ellipse)::DownCast(e->Copy()); } -Geom2dEllipse::~Geom2dEllipse() -{ -} +Geom2dEllipse::~Geom2dEllipse() = default; const Handle(Geom2d_Geometry)& Geom2dEllipse::handle() const { @@ -1148,7 +1120,7 @@ void Geom2dEllipse::setMinorRadius(double Radius) Base::Vector2d Geom2dEllipse::getMajorAxisDir() const { gp_Dir2d xdir = myCurve->XAxis().Direction(); - return Base::Vector2d(xdir.X(), xdir.Y()); + return {xdir.X(), xdir.Y()}; } /*! @@ -1249,9 +1221,7 @@ Geom2dArcOfEllipse::Geom2dArcOfEllipse(const Handle(Geom2d_Ellipse)& e) this->myCurve = new Geom2d_TrimmedCurve(e, e->FirstParameter(),e->LastParameter()); } -Geom2dArcOfEllipse::~Geom2dArcOfEllipse() -{ -} +Geom2dArcOfEllipse::~Geom2dArcOfEllipse() = default; void Geom2dArcOfEllipse::setHandle(const Handle(Geom2d_TrimmedCurve)& c) { @@ -1319,7 +1289,7 @@ Base::Vector2d Geom2dArcOfEllipse::getMajorAxisDir() const Handle(Geom2d_Ellipse) c = Handle(Geom2d_Ellipse)::DownCast(myCurve->BasisCurve()); assert(!c.IsNull()); gp_Dir2d xdir = c->XAxis().Direction(); - return Base::Vector2d(xdir.X(), xdir.Y()); + return {xdir.X(), xdir.Y()}; } /*! @@ -1430,9 +1400,7 @@ Geom2dHyperbola::Geom2dHyperbola(const Handle(Geom2d_Hyperbola)& h) this->myCurve = Handle(Geom2d_Hyperbola)::DownCast(h->Copy()); } -Geom2dHyperbola::~Geom2dHyperbola() -{ -} +Geom2dHyperbola::~Geom2dHyperbola() = default; const Handle(Geom2d_Geometry)& Geom2dHyperbola::handle() const { @@ -1550,9 +1518,7 @@ Geom2dArcOfHyperbola::Geom2dArcOfHyperbola(const Handle(Geom2d_Hyperbola)& h) this->myCurve = new Geom2d_TrimmedCurve(h, h->FirstParameter(),h->LastParameter()); } -Geom2dArcOfHyperbola::~Geom2dArcOfHyperbola() -{ -} +Geom2dArcOfHyperbola::~Geom2dArcOfHyperbola() = default; void Geom2dArcOfHyperbola::setHandle(const Handle(Geom2d_TrimmedCurve)& c) { @@ -1692,9 +1658,7 @@ Geom2dParabola::Geom2dParabola(const Handle(Geom2d_Parabola)& p) this->myCurve = Handle(Geom2d_Parabola)::DownCast(p->Copy()); } -Geom2dParabola::~Geom2dParabola() -{ -} +Geom2dParabola::~Geom2dParabola() = default; const Handle(Geom2d_Geometry)& Geom2dParabola::handle() const { @@ -1793,9 +1757,7 @@ Geom2dArcOfParabola::Geom2dArcOfParabola(const Handle(Geom2d_Parabola)& h) this->myCurve = new Geom2d_TrimmedCurve(h, h->FirstParameter(),h->LastParameter()); } -Geom2dArcOfParabola::~Geom2dArcOfParabola() -{ -} +Geom2dArcOfParabola::~Geom2dArcOfParabola() = default; void Geom2dArcOfParabola::setHandle(const Handle(Geom2d_TrimmedCurve)& c) { @@ -1920,9 +1882,7 @@ Geom2dLine::Geom2dLine(const Base::Vector2d& Pos, const Base::Vector2d& Dir) this->myCurve = new Geom2d_Line(gp_Pnt2d(Pos.x,Pos.y),gp_Dir2d(Dir.x,Dir.y)); } -Geom2dLine::~Geom2dLine() -{ -} +Geom2dLine::~Geom2dLine() = default; void Geom2dLine::setLine(const Base::Vector2d& Pos, const Base::Vector2d& Dir) { @@ -1933,13 +1893,13 @@ void Geom2dLine::setLine(const Base::Vector2d& Pos, const Base::Vector2d& Dir) Base::Vector2d Geom2dLine::getPos() const { gp_Pnt2d Pos = this->myCurve->Lin2d().Location(); - return Base::Vector2d(Pos.X(),Pos.Y()); + return {Pos.X(),Pos.Y()}; } Base::Vector2d Geom2dLine::getDir() const { gp_Dir2d Dir = this->myCurve->Lin2d().Direction(); - return Base::Vector2d(Dir.X(),Dir.Y()); + return {Dir.X(),Dir.Y()}; } const Handle(Geom2d_Geometry)& Geom2dLine::handle() const @@ -2022,9 +1982,7 @@ Geom2dLineSegment::Geom2dLineSegment() this->myCurve = new Geom2d_TrimmedCurve(c, 0.0,1.0); } -Geom2dLineSegment::~Geom2dLineSegment() -{ -} +Geom2dLineSegment::~Geom2dLineSegment() = default; void Geom2dLineSegment::setHandle(const Handle(Geom2d_TrimmedCurve)& c) { @@ -2050,14 +2008,14 @@ Base::Vector2d Geom2dLineSegment::getStartPoint() const { Handle(Geom2d_TrimmedCurve) this_curve = Handle(Geom2d_TrimmedCurve)::DownCast(handle()); gp_Pnt2d pnt = this_curve->StartPoint(); - return Base::Vector2d(pnt.X(), pnt.Y()); + return {pnt.X(), pnt.Y()}; } Base::Vector2d Geom2dLineSegment::getEndPoint() const { Handle(Geom2d_TrimmedCurve) this_curve = Handle(Geom2d_TrimmedCurve)::DownCast(handle()); gp_Pnt2d pnt = this_curve->EndPoint(); - return Base::Vector2d(pnt.X(), pnt.Y()); + return {pnt.X(), pnt.Y()}; } void Geom2dLineSegment::setPoints(const Base::Vector2d& Start, const Base::Vector2d& End) @@ -2148,9 +2106,7 @@ PyObject *Geom2dLineSegment::getPyObject() TYPESYSTEM_SOURCE(Part::Geom2dOffsetCurve, Part::Geom2dCurve) -Geom2dOffsetCurve::Geom2dOffsetCurve() -{ -} +Geom2dOffsetCurve::Geom2dOffsetCurve() = default; Geom2dOffsetCurve::Geom2dOffsetCurve(const Handle(Geom2d_Curve)& c, double offset) { @@ -2162,9 +2118,7 @@ Geom2dOffsetCurve::Geom2dOffsetCurve(const Handle(Geom2d_OffsetCurve)& c) this->myCurve = Handle(Geom2d_OffsetCurve)::DownCast(c->Copy()); } -Geom2dOffsetCurve::~Geom2dOffsetCurve() -{ -} +Geom2dOffsetCurve::~Geom2dOffsetCurve() = default; Geometry2d *Geom2dOffsetCurve::clone() const { @@ -2206,18 +2160,14 @@ PyObject *Geom2dOffsetCurve::getPyObject() TYPESYSTEM_SOURCE(Part::Geom2dTrimmedCurve, Part::Geom2dCurve) -Geom2dTrimmedCurve::Geom2dTrimmedCurve() -{ -} +Geom2dTrimmedCurve::Geom2dTrimmedCurve() = default; Geom2dTrimmedCurve::Geom2dTrimmedCurve(const Handle(Geom2d_TrimmedCurve)& c) { this->myCurve = Handle(Geom2d_TrimmedCurve)::DownCast(c->Copy()); } -Geom2dTrimmedCurve::~Geom2dTrimmedCurve() -{ -} +Geom2dTrimmedCurve::~Geom2dTrimmedCurve() = default; void Geom2dTrimmedCurve::setHandle(const Handle(Geom2d_TrimmedCurve)& c) { diff --git a/src/Mod/Part/App/Geometry2d.h b/src/Mod/Part/App/Geometry2d.h index 8f268e03ae..fd0d193396 100644 --- a/src/Mod/Part/App/Geometry2d.h +++ b/src/Mod/Part/App/Geometry2d.h @@ -66,9 +66,9 @@ public: protected: Geometry2d(); -private: - Geometry2d(const Geometry2d&); - Geometry2d& operator = (const Geometry2d&); +public: + Geometry2d(const Geometry2d&) = delete; + Geometry2d& operator = (const Geometry2d&) = delete; }; class PartExport Geom2dPoint : public Geometry2d diff --git a/src/Mod/Part/App/GeometryBoolExtensionPyImp.cpp b/src/Mod/Part/App/GeometryBoolExtensionPyImp.cpp index 1d27427e24..94f93a9ad0 100644 --- a/src/Mod/Part/App/GeometryBoolExtensionPyImp.cpp +++ b/src/Mod/Part/App/GeometryBoolExtensionPyImp.cpp @@ -83,7 +83,7 @@ int GeometryBoolExtensionPy::PyInit(PyObject* args, PyObject* /*kwd*/) Py::Boolean GeometryBoolExtensionPy::getValue() const { - return Py::Boolean(this->getGeometryBoolExtensionPtr()->getValue()); + return {this->getGeometryBoolExtensionPtr()->getValue()}; } void GeometryBoolExtensionPy::setValue(Py::Boolean value) diff --git a/src/Mod/Part/App/GeometryCurvePy.xml b/src/Mod/Part/App/GeometryCurvePy.xml index f11cbf54cc..326b9b2913 100644 --- a/src/Mod/Part/App/GeometryCurvePy.xml +++ b/src/Mod/Part/App/GeometryCurvePy.xml @@ -136,13 +136,13 @@ of the nearest orthogonal projection of the point. Computes the projection of a point on the curve -projectPoint(Point=Vector,[Method=\"NearestPoint\"]) -projectPoint(Vector,\"NearestPoint\") -> Vector -projectPoint(Vector,\"LowerDistance\") -> float -projectPoint(Vector,\"LowerDistanceParameter\") -> float -projectPoint(Vector,\"Distance\") -> list of floats -projectPoint(Vector,\"Parameter\") -> list of floats -projectPoint(Vector,\"Point\") -> list of points +projectPoint(Point=Vector,[Method="NearestPoint"]) +projectPoint(Vector,"NearestPoint") -> Vector +projectPoint(Vector,"LowerDistance") -> float +projectPoint(Vector,"LowerDistanceParameter") -> float +projectPoint(Vector,"Distance") -> list of floats +projectPoint(Vector,"Parameter") -> list of floats +projectPoint(Vector,"Point") -> list of points diff --git a/src/Mod/Part/App/GeometryCurvePyImp.cpp b/src/Mod/Part/App/GeometryCurvePyImp.cpp index f0c4d7904b..edfb593d48 100644 --- a/src/Mod/Part/App/GeometryCurvePyImp.cpp +++ b/src/Mod/Part/App/GeometryCurvePyImp.cpp @@ -58,6 +58,7 @@ #endif #include +#include #include #include "GeometryCurvePy.h" @@ -160,16 +161,16 @@ PyObject* GeometryCurvePy::discretize(PyObject *args, PyObject *kwds) } else { // use Number kwds - static char* kwds_numPoints[] = {"Number","First","Last",nullptr}; + static const std::array kwds_numPoints {"Number", "First", "Last", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_numPoints, &numPoints, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_numPoints, &numPoints, &first, &last)) { uniformAbscissaPoints = true; } else { // use Abscissa kwds - static char* kwds_Distance[] = {"Distance","First","Last",nullptr}; + static const std::array kwds_Distance {"Distance", "First", "Last", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Distance, &distance, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Distance, &distance, &first, &last)) { uniformAbscissaDistance = true; } } @@ -199,10 +200,10 @@ PyObject* GeometryCurvePy::discretize(PyObject *args, PyObject *kwds) } // use Deflection kwds - static char* kwds_Deflection[] = {"Deflection","First","Last",nullptr}; + static const std::array kwds_Deflection {"Deflection", "First", "Last", nullptr}; PyErr_Clear(); double deflection; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Deflection, &deflection, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Deflection, &deflection, &first, &last)) { GCPnts_UniformDeflection discretizer(adapt, deflection, first, last); if (discretizer.IsDone () && discretizer.NbPoints () > 0) { Py::List points; @@ -221,12 +222,14 @@ PyObject* GeometryCurvePy::discretize(PyObject *args, PyObject *kwds) } // use TangentialDeflection kwds - static char* kwds_TangentialDeflection[] = {"Angular","Curvature","First","Last","Minimum",nullptr}; + static const std::array kwds_TangentialDeflection{"Angular", "Curvature", "First", "Last", + "Minimum", nullptr}; PyErr_Clear(); double angular; double curvature; int minimumPoints = 2; - if (PyArg_ParseTupleAndKeywords(args, kwds, "dd|ddi", kwds_TangentialDeflection, &angular, &curvature, &first, &last, &minimumPoints)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "dd|ddi", kwds_TangentialDeflection, &angular, &curvature, + &first, &last, &minimumPoints)) { GCPnts_TangentialDeflection discretizer(adapt, first, last, angular, curvature, minimumPoints); if (discretizer.NbPoints () > 0) { Py::List points; @@ -245,10 +248,11 @@ PyObject* GeometryCurvePy::discretize(PyObject *args, PyObject *kwds) } // use QuasiNumber kwds - static char* kwds_QuasiNumPoints[] = {"QuasiNumber","First","Last",nullptr}; + static const std::array kwds_QuasiNumPoints {"QuasiNumber", "First", "Last", nullptr}; PyErr_Clear(); int quasiNumPoints; - if (PyArg_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_QuasiNumPoints, &quasiNumPoints, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_QuasiNumPoints, &quasiNumPoints, &first, + &last)) { GCPnts_QuasiUniformAbscissa discretizer(adapt, quasiNumPoints, first, last); if (discretizer.NbPoints () > 0) { Py::List points; @@ -267,10 +271,11 @@ PyObject* GeometryCurvePy::discretize(PyObject *args, PyObject *kwds) } // use QuasiDeflection kwds - static char* kwds_QuasiDeflection[] = {"QuasiDeflection","First","Last",nullptr}; + static const std::array kwds_QuasiDeflection {"QuasiDeflection", "First", "Last", nullptr}; PyErr_Clear(); double quasiDeflection; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_QuasiDeflection, &quasiDeflection, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_QuasiDeflection, &quasiDeflection, &first, + &last)) { GCPnts_QuasiUniformDeflection discretizer(adapt, quasiDeflection, first, last); if (discretizer.NbPoints () > 0) { Py::List points; @@ -554,12 +559,13 @@ PyObject* GeometryCurvePy::normal(PyObject *args) PyObject* GeometryCurvePy::projectPoint(PyObject *args, PyObject* kwds) { - PyObject* v; - const char* meth = "NearestPoint"; - static char *kwlist[] = {"Point", "Method", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|s", kwlist, - &Base::VectorPy::Type, &v, &meth)) + PyObject *v; + const char *meth = "NearestPoint"; + static const std::array kwlist{"Point", "Method", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|s", kwlist, + &Base::VectorPy::Type, &v, &meth)) { return nullptr; + } try { Base::Vector3d vec = Py::Vector(v, false).toVector(); @@ -1093,8 +1099,8 @@ PyObject* GeometryCurvePy::intersectCC(PyObject *args) } Py::List points; - for (size_t i = 0; i < pairs.size(); i++) { - points.append(Py::asObject(new PointPy(new GeomPoint(pairs[i].first)))); + for (const auto & pair : pairs) { + points.append(Py::asObject(new PointPy(new GeomPoint(pair.first)))); } return Py::new_reference_to(points); diff --git a/src/Mod/Part/App/GeometryExtension.cpp b/src/Mod/Part/App/GeometryExtension.cpp index d6cd885324..ba0feb760c 100644 --- a/src/Mod/Part/App/GeometryExtension.cpp +++ b/src/Mod/Part/App/GeometryExtension.cpp @@ -33,9 +33,7 @@ using namespace Part; TYPESYSTEM_SOURCE_ABSTRACT(Part::GeometryExtension,Base::BaseClass) -GeometryExtension::GeometryExtension() -{ -} +GeometryExtension::GeometryExtension() = default; PyObject* GeometryExtension::copyPyObject() const { diff --git a/src/Mod/Part/App/GeometryExtensionPyImp.cpp b/src/Mod/Part/App/GeometryExtensionPyImp.cpp index 2f434389e2..f98dc19044 100644 --- a/src/Mod/Part/App/GeometryExtensionPyImp.cpp +++ b/src/Mod/Part/App/GeometryExtensionPyImp.cpp @@ -80,7 +80,7 @@ Py::String GeometryExtensionPy::getName() const { std::string name = this->getGeometryExtensionPtr()->getName(); - return Py::String(name); + return {name}; } void GeometryExtensionPy::setName(Py::String arg) diff --git a/src/Mod/Part/App/GeometryMigrationExtension.cpp b/src/Mod/Part/App/GeometryMigrationExtension.cpp index 48ec344025..e6f57a257f 100644 --- a/src/Mod/Part/App/GeometryMigrationExtension.cpp +++ b/src/Mod/Part/App/GeometryMigrationExtension.cpp @@ -32,11 +32,6 @@ using namespace Part; //---------- Geometry Extension TYPESYSTEM_SOURCE(Part::GeometryMigrationExtension,Part::GeometryExtension) -GeometryMigrationExtension::GeometryMigrationExtension():ConstructionState(false) -{ - -} - void GeometryMigrationExtension::copyAttributes(Part::GeometryExtension * cpy) const { Part::GeometryExtension::copyAttributes(cpy); diff --git a/src/Mod/Part/App/GeometryMigrationExtension.h b/src/Mod/Part/App/GeometryMigrationExtension.h index 9195c632a9..11f4fd0ef6 100644 --- a/src/Mod/Part/App/GeometryMigrationExtension.h +++ b/src/Mod/Part/App/GeometryMigrationExtension.h @@ -52,7 +52,7 @@ public: NumMigrationType // Must be the last }; - GeometryMigrationExtension(); + GeometryMigrationExtension() = default; ~GeometryMigrationExtension() override = default; std::unique_ptr copy() const override; @@ -75,7 +75,7 @@ private: private: using MigrationTypeFlagType = std::bitset<32>; MigrationTypeFlagType GeometryMigrationFlags; - bool ConstructionState; + bool ConstructionState{false}; }; diff --git a/src/Mod/Part/App/GeometryPyImp.cpp b/src/Mod/Part/App/GeometryPyImp.cpp index 88db0fdfe7..095ef90d54 100644 --- a/src/Mod/Part/App/GeometryPyImp.cpp +++ b/src/Mod/Part/App/GeometryPyImp.cpp @@ -399,10 +399,10 @@ PyObject* GeometryPy::getExtensions(PyObject *args) Py::List list; - for (std::size_t i=0; i p = std::const_pointer_cast(ext[i].lock()); + std::shared_ptr p = std::const_pointer_cast(it.lock()); if(p) { // we create a python copy and add it to the list @@ -428,7 +428,7 @@ PyObject* GeometryPy::getExtensions(PyObject *args) Py::String GeometryPy::getTag() const { std::string tmp = boost::uuids::to_string(getGeometryPtr()->getTag()); - return Py::String(tmp); + return {tmp}; } PyObject *GeometryPy::getCustomAttributes(const char* /*attr*/) const diff --git a/src/Mod/Part/App/GeometryStringExtensionPyImp.cpp b/src/Mod/Part/App/GeometryStringExtensionPyImp.cpp index b5a03a6db5..01e3f1621a 100644 --- a/src/Mod/Part/App/GeometryStringExtensionPyImp.cpp +++ b/src/Mod/Part/App/GeometryStringExtensionPyImp.cpp @@ -86,7 +86,7 @@ int GeometryStringExtensionPy::PyInit(PyObject* args, PyObject* /*kwd*/) Py::String GeometryStringExtensionPy::getValue() const { - return Py::String(this->getGeometryStringExtensionPtr()->getValue()); + return {this->getGeometryStringExtensionPtr()->getValue()}; } void GeometryStringExtensionPy::setValue(Py::String value) diff --git a/src/Mod/Part/App/GeometrySurfacePy.xml b/src/Mod/Part/App/GeometrySurfacePy.xml index cb42b0d25b..dc24e7646b 100644 --- a/src/Mod/Part/App/GeometrySurfacePy.xml +++ b/src/Mod/Part/App/GeometrySurfacePy.xml @@ -60,13 +60,13 @@ Computes the normal of parameter (u,v) on this geometry Computes the projection of a point on the surface -projectPoint(Point=Vector,[Method=\"NearestPoint\"]) -projectPoint(Vector,\"NearestPoint\") -> Vector -projectPoint(Vector,\"LowerDistance\") -> float -projectPoint(Vector,\"LowerDistanceParameters\") -> tuple of floats (u,v) -projectPoint(Vector,\"Distance\") -> list of floats -projectPoint(Vector,\"Parameters\") -> list of tuples of floats -projectPoint(Vector,\"Point\") -> list of points +projectPoint(Point=Vector,[Method="NearestPoint"]) +projectPoint(Vector,"NearestPoint") -> Vector +projectPoint(Vector,"LowerDistance") -> float +projectPoint(Vector,"LowerDistanceParameters") -> tuple of floats (u,v) +projectPoint(Vector,"Distance") -> list of floats +projectPoint(Vector,"Parameters") -> list of tuples of floats +projectPoint(Vector,"Point") -> list of points diff --git a/src/Mod/Part/App/GeometrySurfacePyImp.cpp b/src/Mod/Part/App/GeometrySurfacePyImp.cpp index eb010d0e67..276118b3e8 100644 --- a/src/Mod/Part/App/GeometrySurfacePyImp.cpp +++ b/src/Mod/Part/App/GeometrySurfacePyImp.cpp @@ -43,6 +43,7 @@ #endif #include +#include #include #include "GeometrySurfacePy.h" @@ -133,10 +134,11 @@ PyObject* GeometrySurfacePy::toShell(PyObject *args, PyObject* kwds) { PyObject* bound = nullptr; PyObject* segm = nullptr; - static char *kwlist[] = {"Bounds", "Segment", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O!O!", kwlist, - &PyTuple_Type, &bound, &PyBool_Type, &segm)) + static const std::array kwlist {"Bounds", "Segment", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|O!O!", kwlist, + &PyTuple_Type, &bound, &PyBool_Type, &segm)) { return nullptr; + } Handle(Geom_Geometry) g = getGeometryPtr()->handle(); Handle(Geom_Surface) s = Handle(Geom_Surface)::DownCast(g); @@ -302,10 +304,10 @@ PyObject* GeometrySurfacePy::projectPoint(PyObject *args, PyObject* kwds) { PyObject* v; const char* meth = "NearestPoint"; - static char *kwlist[] = {"Point", "Method", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|s", kwlist, - &Base::VectorPy::Type, &v, &meth)) + static const std::array kwlist {"Point", "Method", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|s", kwlist, &Base::VectorPy::Type, &v, &meth)) { return nullptr; + } try { Base::Vector3d vec = Py::Vector(v, false).toVector(); @@ -729,11 +731,13 @@ PyObject* GeometrySurfacePy::toBSpline(PyObject * args, PyObject * kwds) int maxDegV=Geom_BSplineSurface::MaxDegree(); int maxSegm=1000, prec=0; - static char *kwlist[] = {"Tol3d", "UContinuity", "VContinuity", "MaxDegreeU", "MaxDegreeV", "MaxSegments", "PrecisCode", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|dssiiii", kwlist, - &tol3d, &ucont, &vcont, - &maxDegU, &maxDegV, &maxSegm, &prec)) + static const std::array kwlist{"Tol3d", "UContinuity", "VContinuity", "MaxDegreeU", "MaxDegreeV", + "MaxSegments", "PrecisCode", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|dssiiii", kwlist, + &tol3d, &ucont, &vcont, + &maxDegU, &maxDegV, &maxSegm, &prec)) { return nullptr; + } GeomAbs_Shape absU, absV; std::string uc = ucont; diff --git a/src/Mod/Part/App/HLRBRep/HLRBRep_AlgoPyImp.cpp b/src/Mod/Part/App/HLRBRep/HLRBRep_AlgoPyImp.cpp index 1a176548a9..b0cf0f2729 100644 --- a/src/Mod/Part/App/HLRBRep/HLRBRep_AlgoPyImp.cpp +++ b/src/Mod/Part/App/HLRBRep/HLRBRep_AlgoPyImp.cpp @@ -32,6 +32,7 @@ #endif #include +#include #include #include "HLRBRep/HLRBRep_AlgoPy.h" @@ -61,7 +62,7 @@ int HLRBRep_AlgoPy::PyInit(PyObject* /*args*/, PyObject* /*kwds*/) // returns a string which represents the object e.g. when printed in python std::string HLRBRep_AlgoPy::representation() const { - return std::string(""); + return {""}; } PyObject* HLRBRep_AlgoPy::add(PyObject *args) @@ -113,12 +114,12 @@ PyObject* HLRBRep_AlgoPy::setProjector(PyObject *args, PyObject *kwds) PyObject* xd = nullptr; double focus = std::numeric_limits::quiet_NaN(); - static char *kwlist[] = {"Origin", "ZDir", "XDir", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "|O!O!O!d", kwlist, - &Base::VectorPy::Type, &ps, - &Base::VectorPy::Type, &zd, - &Base::VectorPy::Type, &xd, - &focus)) { + static const std::array kwlist {"Origin", "ZDir", "XDir", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|O!O!O!d", kwlist, + &Base::VectorPy::Type, &ps, + &Base::VectorPy::Type, &zd, + &Base::VectorPy::Type, &xd, + &focus)) { gp_Ax2 ax2; if (ps && zd && xd) { Base::Vector3d p = Py::Vector(ps,false).toVector(); diff --git a/src/Mod/Part/App/HLRBRep/HLRBRep_PolyAlgoPyImp.cpp b/src/Mod/Part/App/HLRBRep/HLRBRep_PolyAlgoPyImp.cpp index 99b780d9dd..0082278620 100644 --- a/src/Mod/Part/App/HLRBRep/HLRBRep_PolyAlgoPyImp.cpp +++ b/src/Mod/Part/App/HLRBRep/HLRBRep_PolyAlgoPyImp.cpp @@ -33,6 +33,7 @@ #endif #include +#include #include #include "HLRBRep/HLRBRep_PolyAlgoPy.h" @@ -75,7 +76,7 @@ int HLRBRep_PolyAlgoPy::PyInit(PyObject* args, PyObject* /*kwds*/) // returns a string which represents the object e.g. when printed in python std::string HLRBRep_PolyAlgoPy::representation() const { - return std::string(""); + return {""}; } PyObject* HLRBRep_PolyAlgoPy::setProjector(PyObject *args, PyObject *kwds) @@ -85,12 +86,12 @@ PyObject* HLRBRep_PolyAlgoPy::setProjector(PyObject *args, PyObject *kwds) PyObject* xd = nullptr; double focus = std::numeric_limits::quiet_NaN(); - static char *kwlist[] = {"Origin", "ZDir", "XDir", nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "|O!O!O!d", kwlist, - &Base::VectorPy::Type, &ps, - &Base::VectorPy::Type, &zd, - &Base::VectorPy::Type, &xd, - &focus)) { + static const std::array kwlist {"Origin", "ZDir", "XDir", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|O!O!O!d", kwlist, + &Base::VectorPy::Type, &ps, + &Base::VectorPy::Type, &zd, + &Base::VectorPy::Type, &xd, + &focus)) { gp_Ax2 ax2; if (ps && zd && xd) { Base::Vector3d p = Py::Vector(ps,false).toVector(); diff --git a/src/Mod/Part/App/HLRBRep/HLRToShapePyImp.cpp b/src/Mod/Part/App/HLRBRep/HLRToShapePyImp.cpp index 9cd935c9c0..e18dabf898 100644 --- a/src/Mod/Part/App/HLRBRep/HLRToShapePyImp.cpp +++ b/src/Mod/Part/App/HLRBRep/HLRToShapePyImp.cpp @@ -22,6 +22,8 @@ #include "PreCompiled.h" +#include + #include "HLRBRep/HLRToShapePy.h" #include "HLRBRep/HLRToShapePy.cpp" #include "HLRBRep/HLRBRep_AlgoPy.h" @@ -52,7 +54,7 @@ int HLRToShapePy::PyInit(PyObject* args, PyObject* /*kwds*/) // returns a string which represents the object e.g. when printed in python std::string HLRToShapePy::representation() const { - return std::string(""); + return {""}; } PyObject* HLRToShapePy::vCompound(PyObject *args) @@ -241,13 +243,14 @@ PyObject* HLRToShapePy::compoundOfEdges(PyObject *args, PyObject *kwds) PyObject* in3d = nullptr; PyObject* shape = nullptr; - static char* keywords[] = {"Type", "Visible", "In3D", "Shape", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "iO!O!|O!", keywords, - &type, - &PyBool_Type, &visible, - &PyBool_Type, &in3d, - &Part::TopoShapePy::Type, &shape)) + static const std::array keywords {"Type", "Visible", "In3D", "Shape", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "iO!O!|O!", keywords, + &type, + &PyBool_Type, &visible, + &PyBool_Type, &in3d, + &Part::TopoShapePy::Type, &shape)) { return nullptr; + } if (shape) { TopoDS_Shape input = static_cast(shape)->getTopoShapePtr()->getShape(); diff --git a/src/Mod/Part/App/HLRBRep/PolyHLRToShapePyImp.cpp b/src/Mod/Part/App/HLRBRep/PolyHLRToShapePyImp.cpp index 6d2978ec84..ba65c39537 100644 --- a/src/Mod/Part/App/HLRBRep/PolyHLRToShapePyImp.cpp +++ b/src/Mod/Part/App/HLRBRep/PolyHLRToShapePyImp.cpp @@ -54,7 +54,7 @@ int PolyHLRToShapePy::PyInit(PyObject* args, PyObject* /*kwds*/) // returns a string which represents the object e.g. when printed in python std::string PolyHLRToShapePy::representation() const { - return std::string(""); + return {""}; } PyObject* PolyHLRToShapePy::update(PyObject *args) diff --git a/src/Mod/Part/App/HyperbolaPyImp.cpp b/src/Mod/Part/App/HyperbolaPyImp.cpp index 6c90b19077..08982e6617 100644 --- a/src/Mod/Part/App/HyperbolaPyImp.cpp +++ b/src/Mod/Part/App/HyperbolaPyImp.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include #include "HyperbolaPy.h" @@ -53,18 +54,18 @@ PyObject *HyperbolaPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // // constructor method int HyperbolaPy::PyInit(PyObject* args, PyObject* kwds) { - char* keywords_n[] = {nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + static const std::array keywords_n {nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { Handle(Geom_Hyperbola) hyperbola = Handle(Geom_Hyperbola)::DownCast(getGeomHyperbolaPtr()->handle()); hyperbola->SetMajorRadius(2.0); hyperbola->SetMinorRadius(1.0); return 0; } - char* keywords_e[] = {"Hyperbola",nullptr}; + static const std::array keywords_e {"Hyperbola", nullptr}; PyErr_Clear(); PyObject *pHypr; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(HyperbolaPy::Type), &pHypr)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(HyperbolaPy::Type), &pHypr)) { HyperbolaPy* pHyperbola = static_cast(pHypr); Handle(Geom_Hyperbola) Hypr1 = Handle(Geom_Hyperbola)::DownCast (pHyperbola->getGeomHyperbolaPtr()->handle()); @@ -74,13 +75,13 @@ int HyperbolaPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - char* keywords_ssc[] = {"S1","S2","Center",nullptr}; + static const std::array keywords_ssc{"S1", "S2", "Center", nullptr}; PyErr_Clear(); PyObject *pV1, *pV2, *pV3; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2, - &(Base::VectorPy::Type), &pV3)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2, + &(Base::VectorPy::Type), &pV3)) { Base::Vector3d v1 = static_cast(pV1)->value(); Base::Vector3d v2 = static_cast(pV2)->value(); Base::Vector3d v3 = static_cast(pV3)->value(); @@ -97,11 +98,11 @@ int HyperbolaPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - char* keywords_cmm[] = {"Center","MajorRadius","MinorRadius",nullptr}; + static const std::array keywords_cmm {"Center","MajorRadius","MinorRadius",nullptr}; PyErr_Clear(); PyObject *pV; double major, minor; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!dd", keywords_cmm, + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!dd", keywords_cmm, &(Base::VectorPy::Type), &pV, &major, &minor)) { Base::Vector3d c = static_cast(pV)->value(); diff --git a/src/Mod/Part/App/ParabolaPyImp.cpp b/src/Mod/Part/App/ParabolaPyImp.cpp index b777612ddf..c1be99f244 100644 --- a/src/Mod/Part/App/ParabolaPyImp.cpp +++ b/src/Mod/Part/App/ParabolaPyImp.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include #include "ParabolaPy.h" @@ -53,17 +54,17 @@ PyObject *ParabolaPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // P // constructor method int ParabolaPy::PyInit(PyObject* args, PyObject* kwds) { - char* keywords_n[] = {nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + static const std::array keywords_n {nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { Handle(Geom_Parabola) parabola = Handle(Geom_Parabola)::DownCast(getGeomParabolaPtr()->handle()); parabola->SetFocal(1.0); return 0; } - char* keywords_e[] = {"Parabola",nullptr}; + static const std::array keywords_e {"Parabola", nullptr}; PyErr_Clear(); PyObject *pParab; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(ParabolaPy::Type), &pParab)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!",keywords_e, &(ParabolaPy::Type), &pParab)) { ParabolaPy* pParabola = static_cast(pParab); Handle(Geom_Parabola) Parab1 = Handle(Geom_Parabola)::DownCast (pParabola->getGeomParabolaPtr()->handle()); @@ -73,13 +74,13 @@ int ParabolaPy::PyInit(PyObject* args, PyObject* kwds) return 0; } - char* keywords_ssc[] = {"Focus","Center","Normal",nullptr}; + static const std::array keywords_ssc {"Focus","Center","Normal",nullptr}; PyErr_Clear(); PyObject *pV1, *pV2, *pV3; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2, - &(Base::VectorPy::Type), &pV3)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ssc, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2, + &(Base::VectorPy::Type), &pV3)) { Base::Vector3d focus = static_cast(pV1)->value(); Base::Vector3d center = static_cast(pV2)->value(); Base::Vector3d normal = static_cast(pV3)->value(); diff --git a/src/Mod/Part/App/Part2DObject.cpp b/src/Mod/Part/App/Part2DObject.cpp index 97a60bee80..d98daa2126 100644 --- a/src/Mod/Part/App/Part2DObject.cpp +++ b/src/Mod/Part/App/Part2DObject.cpp @@ -99,7 +99,7 @@ Base::Axis Part2DObject::getAxis(int axId) const else if (axId == N_Axis) { return Base::Axis(Base::Vector3d(0,0,0), Base::Vector3d(0,0,1)); } - return Base::Axis(); + return {}; } bool Part2DObject::seekTrimPoints(const std::vector &geomlist, diff --git a/src/Mod/Part/App/Part2DObjectPyImp.cpp b/src/Mod/Part/App/Part2DObjectPyImp.cpp index cce74f31d6..8df1266629 100644 --- a/src/Mod/Part/App/Part2DObjectPyImp.cpp +++ b/src/Mod/Part/App/Part2DObjectPyImp.cpp @@ -35,11 +35,9 @@ using namespace Part; // returns a string which represents the object e.g. when printed in python std::string Part2DObjectPy::representation() const { - return std::string(""); + return {""}; } - - PyObject *Part2DObjectPy::getCustomAttributes(const char* /*attr*/) const { return nullptr; diff --git a/src/Mod/Part/App/PartFeature.cpp b/src/Mod/Part/App/PartFeature.cpp index 77f8a73f67..1b77f689a3 100644 --- a/src/Mod/Part/App/PartFeature.cpp +++ b/src/Mod/Part/App/PartFeature.cpp @@ -79,9 +79,7 @@ Feature::Feature() ADD_PROPERTY(Shape, (TopoDS_Shape())); } -Feature::~Feature() -{ -} +Feature::~Feature() = default; short Feature::mustExecute() const { @@ -451,7 +449,7 @@ TopoShape Feature::getTopoShape(const App::DocumentObject *obj, const char *subn bool resolveLink, bool transform, bool noElementMap) { if(!obj || !obj->getNameInDocument()) - return TopoShape(); + return {}; std::vector linkStack; @@ -599,12 +597,12 @@ ShapeHistory Feature::joinHistory(const ShapeHistory& oldH, const ShapeHistory& ShapeHistory join; join.type = oldH.type; - for (ShapeHistory::MapList::const_iterator it = oldH.shapeMap.begin(); it != oldH.shapeMap.end(); ++it) { - int old_shape_index = it->first; - if (it->second.empty()) + for (const auto & it : oldH.shapeMap) { + int old_shape_index = it.first; + if (it.second.empty()) join.shapeMap[old_shape_index] = ShapeHistory::List(); - for (ShapeHistory::List::const_iterator jt = it->second.begin(); jt != it->second.end(); ++jt) { - ShapeHistory::MapList::const_iterator kt = newH.shapeMap.find(*jt); + for (const auto& jt : it.second) { + const auto& kt = newH.shapeMap.find(jt); if (kt != newH.shapeMap.end()) { ShapeHistory::List& ary = join.shapeMap[old_shape_index]; ary.insert(ary.end(), kt->second.begin(), kt->second.end()); diff --git a/src/Mod/Part/App/PartFeaturePyImp.cpp b/src/Mod/Part/App/PartFeaturePyImp.cpp index 09c8a361cb..7398ad44d8 100644 --- a/src/Mod/Part/App/PartFeaturePyImp.cpp +++ b/src/Mod/Part/App/PartFeaturePyImp.cpp @@ -34,7 +34,7 @@ using namespace Part; // returns a string which represent the object e.g. when printed in python std::string PartFeaturePy::representation() const { - return std::string(""); + return {""}; } PyObject *PartFeaturePy::getCustomAttributes(const char* ) const diff --git a/src/Mod/Part/App/PartFeatureReference.cpp b/src/Mod/Part/App/PartFeatureReference.cpp index 74d1aa0b5e..653c770528 100644 --- a/src/Mod/Part/App/PartFeatureReference.cpp +++ b/src/Mod/Part/App/PartFeatureReference.cpp @@ -42,9 +42,7 @@ FeatureReference::FeatureReference() ADD_PROPERTY(Reference, (nullptr)); } -FeatureReference::~FeatureReference() -{ -} +FeatureReference::~FeatureReference() = default; short FeatureReference::mustExecute() const { diff --git a/src/Mod/Part/App/PartFeatures.cpp b/src/Mod/Part/App/PartFeatures.cpp index 89b002d273..f0b5600de7 100644 --- a/src/Mod/Part/App/PartFeatures.cpp +++ b/src/Mod/Part/App/PartFeatures.cpp @@ -409,8 +409,8 @@ App::DocumentObjectExecReturn *Sweep::execute() try { if (!subedge.empty()) { BRepBuilderAPI_MakeWire mkWire; - for (std::vector::const_iterator it = subedge.begin(); it != subedge.end(); ++it) { - TopoDS_Shape subshape = Feature::getTopoShape(spine, it->c_str(), true /*need element*/).getShape(); + for (const auto & it : subedge) { + TopoDS_Shape subshape = Feature::getTopoShape(spine, it.c_str(), true /*need element*/).getShape(); mkWire.Add(TopoDS::Edge(subshape)); } path = mkWire.Wire(); @@ -635,8 +635,8 @@ App::DocumentObjectExecReturn *Thickness::execute() TopTools_ListOfShape closingFaces; const std::vector& subStrings = Faces.getSubValues(); - for (std::vector::const_iterator it = subStrings.begin(); it != subStrings.end(); ++it) { - TopoDS_Face face = TopoDS::Face(shape.getSubShape(it->c_str())); + for (const auto & it : subStrings) { + TopoDS_Face face = TopoDS::Face(shape.getSubShape(it.c_str())); closingFaces.Append(face); } diff --git a/src/Mod/Part/App/PlanePyImp.cpp b/src/Mod/Part/App/PlanePyImp.cpp index 3651ff637e..22a3375579 100644 --- a/src/Mod/Part/App/PlanePyImp.cpp +++ b/src/Mod/Part/App/PlanePyImp.cpp @@ -32,6 +32,7 @@ #endif #include +#include #include #include "PlanePy.h" @@ -61,8 +62,8 @@ int PlanePy::PyInit(PyObject* args, PyObject* kwds) // plane and distance for offset PyObject *pPlane; double dist; - static char* keywords_pd[] = {"Plane","Distance",nullptr}; - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!d", keywords_pd, &(PlanePy::Type), &pPlane, &dist)) { + static const std::array keywords_pd {"Plane", "Distance", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!d", keywords_pd, &(PlanePy::Type), &pPlane, &dist)) { PlanePy* pcPlane = static_cast(pPlane); Handle(Geom_Plane) plane = Handle(Geom_Plane)::DownCast (pcPlane->getGeometryPtr()->handle()); @@ -79,10 +80,10 @@ int PlanePy::PyInit(PyObject* args, PyObject* kwds) // plane from equation double a,b,c,d; - static char* keywords_abcd[] = {"A","B","C","D",nullptr}; + static const std::array keywords_abcd{"A", "B", "C", "D", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "dddd", keywords_abcd, - &a,&b,&c,&d)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "dddd", keywords_abcd, + &a,&b,&c,&d)) { GC_MakePlane mc(a,b,c,d); if (!mc.IsDone()) { PyErr_SetString(PartExceptionOCCError, gce_ErrorStatusText(mc.Status())); @@ -95,12 +96,12 @@ int PlanePy::PyInit(PyObject* args, PyObject* kwds) } PyObject *pV1, *pV2, *pV3; - static char* keywords_ppp[] = {"Point1","Point2","Point3",nullptr}; + static const std::array keywords_ppp{"Point1", "Point2", "Point3", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ppp, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2, - &(Base::VectorPy::Type), &pV3)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!O!", keywords_ppp, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2, + &(Base::VectorPy::Type), &pV3)) { Base::Vector3d v1 = static_cast(pV1)->value(); Base::Vector3d v2 = static_cast(pV2)->value(); Base::Vector3d v3 = static_cast(pV3)->value(); @@ -118,11 +119,11 @@ int PlanePy::PyInit(PyObject* args, PyObject* kwds) } // location and normal - static char* keywords_cnr[] = {"Location","Normal",nullptr}; + static const std::array keywords_cnr {"Location", "Normal", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!O!", keywords_cnr, - &(Base::VectorPy::Type), &pV1, - &(Base::VectorPy::Type), &pV2)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!", keywords_cnr, + &(Base::VectorPy::Type), &pV1, + &(Base::VectorPy::Type), &pV2)) { Base::Vector3d v1 = static_cast(pV1)->value(); Base::Vector3d v2 = static_cast(pV2)->value(); GC_MakePlane mc(gp_Pnt(v1.x,v1.y,v1.z), @@ -137,9 +138,9 @@ int PlanePy::PyInit(PyObject* args, PyObject* kwds) return 0; } - static char* keywords_p[] = {"Plane",nullptr}; + static const std::array keywords_p {"Plane", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "O!", keywords_p, &(PlanePy::Type), &pPlane)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!", keywords_p, &(PlanePy::Type), &pPlane)) { PlanePy* pcPlane = static_cast(pPlane); Handle(Geom_Plane) plane1 = Handle(Geom_Plane)::DownCast (pcPlane->getGeometryPtr()->handle()); @@ -149,9 +150,9 @@ int PlanePy::PyInit(PyObject* args, PyObject* kwds) return 0; } - static char* keywords_n[] = {nullptr}; + static const std::array keywords_n {nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "", keywords_n)) { // do nothing return 0; } diff --git a/src/Mod/Part/App/PlateSurfacePyImp.cpp b/src/Mod/Part/App/PlateSurfacePyImp.cpp index b1b0b160a4..05d7c08e72 100644 --- a/src/Mod/Part/App/PlateSurfacePyImp.cpp +++ b/src/Mod/Part/App/PlateSurfacePyImp.cpp @@ -29,6 +29,7 @@ #endif #include +#include #include #include @@ -55,8 +56,9 @@ PyObject *PlateSurfacePy::PyMake(struct _typeobject *, PyObject *, PyObject *) // constructor method int PlateSurfacePy::PyInit(PyObject* args, PyObject* kwds) { - static char* kwds_Parameter[] = {"Surface","Points","Curves","Degree", - "NbPtsOnCur","NbIter","Tol2d","Tol3d","TolAng","TolCurv","Anisotropie",nullptr}; + static const std::array kwds_Parameter{"Surface", "Points", "Curves", "Degree", + "NbPtsOnCur", "NbIter", "Tol2d", "Tol3d", "TolAng", + "TolCurv", "Anisotropie", nullptr}; PyObject* surface = nullptr; PyObject* points = nullptr; @@ -68,13 +70,14 @@ int PlateSurfacePy::PyInit(PyObject* args, PyObject* kwds) double Tol3d = 0.0001; double TolAng = 0.01; double TolCurv = 0.1; - PyObject* Anisotropie = Py_False; + PyObject* Anisotropie = Py_False; // NOLINT - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|O!OOiiiddddO!", kwds_Parameter, - &(GeometryPy::Type), &surface, &points, &curves, - &Degree, &NbPtsOnCur, &NbIter, &Tol2d, &Tol3d, &TolAng, &TolCurv, - &PyBool_Type,&Anisotropie)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|O!OOiiiddddO!", kwds_Parameter, + &(GeometryPy::Type), &surface, &points, &curves, + &Degree, &NbPtsOnCur, &NbIter, &Tol2d, &Tol3d, &TolAng, &TolCurv, + &PyBool_Type, &Anisotropie)) { return -1; + } if (!surface && !points && !curves) { PyErr_SetString(PyExc_ValueError, "set points or curves as constraints"); @@ -137,8 +140,8 @@ int PlateSurfacePy::PyInit(PyObject* args, PyObject* kwds) PyObject* PlateSurfacePy::makeApprox(PyObject *args, PyObject* kwds) { - static char* kwds_Parameter[] = {"Tol3d","MaxSegments","MaxDegree","MaxDistance", - "CritOrder","Continuity","EnlargeCoeff",nullptr}; + static const std::array kwds_Parameter{"Tol3d", "MaxSegments", "MaxDegree", "MaxDistance", + "CritOrder", "Continuity", "EnlargeCoeff", nullptr}; double tol3d=0.01; int maxSeg=9; @@ -148,9 +151,10 @@ PyObject* PlateSurfacePy::makeApprox(PyObject *args, PyObject* kwds) char* cont = "C1"; double enlargeCoeff = 1.1; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|diidisd", kwds_Parameter, - &tol3d, &maxSeg, &maxDegree, &dmax, &critOrder, &cont, &enlargeCoeff)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|diidisd", kwds_Parameter, + &tol3d, &maxSeg, &maxDegree, &dmax, &critOrder, &cont, &enlargeCoeff)) { return nullptr; + } GeomAbs_Shape continuity; std::string uc = cont; diff --git a/src/Mod/Part/App/PrimitiveFeature.cpp b/src/Mod/Part/App/PrimitiveFeature.cpp index 34b5bc7e2d..28348e1b36 100644 --- a/src/Mod/Part/App/PrimitiveFeature.cpp +++ b/src/Mod/Part/App/PrimitiveFeature.cpp @@ -75,9 +75,7 @@ Primitive::Primitive() touch(); } -Primitive::~Primitive() -{ -} +Primitive::~Primitive() = default; short Primitive::mustExecute() const { @@ -170,9 +168,7 @@ Vertex::Vertex() ADD_PROPERTY(Z,(0.0f)); } -Vertex::~Vertex() -{ -} +Vertex::~Vertex() = default; short Vertex::mustExecute() const { @@ -225,9 +221,7 @@ Line::Line() ADD_PROPERTY_TYPE(Z2,(1.0),"Vertex 2 - Finish",App::Prop_None,"Z value of the finish vertex"); } -Line::~Line() -{ -} +Line::~Line() = default; short Line::mustExecute() const { @@ -988,9 +982,7 @@ Ellipse::Ellipse() Angle2.setConstraints(&angleRange); } -Ellipse::~Ellipse() -{ -} +Ellipse::~Ellipse() = default; short Ellipse::mustExecute() const { diff --git a/src/Mod/Part/App/PrismExtension.cpp b/src/Mod/Part/App/PrismExtension.cpp index c7a586e18c..29b06446eb 100644 --- a/src/Mod/Part/App/PrismExtension.cpp +++ b/src/Mod/Part/App/PrismExtension.cpp @@ -46,9 +46,7 @@ PrismExtension::PrismExtension() initExtensionType(PrismExtension::getExtensionClassTypeId()); } -PrismExtension::~PrismExtension() -{ -} +PrismExtension::~PrismExtension() = default; short int PrismExtension::extensionMustExecute() { diff --git a/src/Mod/Part/App/PropertyGeometryList.cpp b/src/Mod/Part/App/PropertyGeometryList.cpp index 47ec751da8..fe4252139b 100644 --- a/src/Mod/Part/App/PropertyGeometryList.cpp +++ b/src/Mod/Part/App/PropertyGeometryList.cpp @@ -47,15 +47,13 @@ TYPESYSTEM_SOURCE(Part::PropertyGeometryList, App::PropertyLists) // Construction/Destruction -PropertyGeometryList::PropertyGeometryList() -{ - -} +PropertyGeometryList::PropertyGeometryList() = default; PropertyGeometryList::~PropertyGeometryList() { - for (std::vector::iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) - if (*it) delete *it; + for (auto it : _lValueList) { + if (it) delete it; + } } void PropertyGeometryList::setSize(int newSize) @@ -75,8 +73,8 @@ void PropertyGeometryList::setValue(const Geometry* lValue) if (lValue) { aboutToSetValue(); Geometry* newVal = lValue->clone(); - for (unsigned int i = 0; i < _lValueList.size(); i++) - delete _lValueList[i]; + for (auto it : _lValueList) + delete it; _lValueList.resize(1); _lValueList[0] = newVal; hasSetValue(); diff --git a/src/Mod/Part/App/PropertyTopoShape.cpp b/src/Mod/Part/App/PropertyTopoShape.cpp index fc12ddd744..4ecd86916e 100644 --- a/src/Mod/Part/App/PropertyTopoShape.cpp +++ b/src/Mod/Part/App/PropertyTopoShape.cpp @@ -53,13 +53,9 @@ using namespace Part; TYPESYSTEM_SOURCE(Part::PropertyPartShape , App::PropertyComplexGeoData) -PropertyPartShape::PropertyPartShape() -{ -} +PropertyPartShape::PropertyPartShape() = default; -PropertyPartShape::~PropertyPartShape() -{ -} +PropertyPartShape::~PropertyPartShape() = default; void PropertyPartShape::setValue(const TopoShape& sh) { @@ -412,13 +408,9 @@ void PropertyPartShape::RestoreDocFile(Base::Reader &reader) TYPESYSTEM_SOURCE(Part::PropertyShapeHistory , App::PropertyLists) -PropertyShapeHistory::PropertyShapeHistory() -{ -} +PropertyShapeHistory::PropertyShapeHistory() = default; -PropertyShapeHistory::~PropertyShapeHistory() -{ -} +PropertyShapeHistory::~PropertyShapeHistory() = default; void PropertyShapeHistory::setValue(const ShapeHistory& sh) { @@ -478,13 +470,9 @@ void PropertyShapeHistory::Paste(const Property &from) TYPESYSTEM_SOURCE(Part::PropertyFilletEdges , App::PropertyLists) -PropertyFilletEdges::PropertyFilletEdges() -{ -} +PropertyFilletEdges::PropertyFilletEdges() = default; -PropertyFilletEdges::~PropertyFilletEdges() -{ -} +PropertyFilletEdges::~PropertyFilletEdges() = default; void PropertyFilletEdges::setValue(int id, double r1, double r2) { @@ -559,8 +547,8 @@ void PropertyFilletEdges::SaveDocFile (Base::Writer &writer) const Base::OutputStream str(writer.Stream()); uint32_t uCt = (uint32_t)getSize(); str << uCt; - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << it->edgeid << it->radius1 << it->radius2; + for (const auto & it : _lValueList) { + str << it.edgeid << it.radius1 << it.radius2; } } @@ -570,8 +558,8 @@ void PropertyFilletEdges::RestoreDocFile(Base::Reader &reader) uint32_t uCt=0; str >> uCt; std::vector values(uCt); - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - str >> it->edgeid >> it->radius1 >> it->radius2; + for (auto & it : values) { + str >> it.edgeid >> it.radius1 >> it.radius2; } setValues(values); } diff --git a/src/Mod/Part/App/PropertyTopoShapeList.cpp b/src/Mod/Part/App/PropertyTopoShapeList.cpp index e12a62a4eb..393d44d7d7 100644 --- a/src/Mod/Part/App/PropertyTopoShapeList.cpp +++ b/src/Mod/Part/App/PropertyTopoShapeList.cpp @@ -47,14 +47,9 @@ TYPESYSTEM_SOURCE(Part::PropertyTopoShapeList, App::PropertyLists) //************************************************************************** // Construction/Destruction -PropertyTopoShapeList::PropertyTopoShapeList() -{ +PropertyTopoShapeList::PropertyTopoShapeList() = default; -} - -PropertyTopoShapeList::~PropertyTopoShapeList() -{ -} +PropertyTopoShapeList::~PropertyTopoShapeList() = default; void PropertyTopoShapeList::setSize(int newSize) { diff --git a/src/Mod/Part/App/RectangularTrimmedSurfacePyImp.cpp b/src/Mod/Part/App/RectangularTrimmedSurfacePyImp.cpp index cc6b2edcc9..0a6baedb05 100644 --- a/src/Mod/Part/App/RectangularTrimmedSurfacePyImp.cpp +++ b/src/Mod/Part/App/RectangularTrimmedSurfacePyImp.cpp @@ -38,7 +38,7 @@ using namespace Part; // returns a string which represents the object e.g. when printed in python std::string RectangularTrimmedSurfacePy::representation() const { - return std::string(""); + return {""}; } PyObject *RectangularTrimmedSurfacePy::PyMake(struct _typeobject *, PyObject *, PyObject *) diff --git a/src/Mod/Part/App/ShapeUpgrade/UnifySameDomainPyImp.cpp b/src/Mod/Part/App/ShapeUpgrade/UnifySameDomainPyImp.cpp index 849568b52c..0cb8b8e314 100644 --- a/src/Mod/Part/App/ShapeUpgrade/UnifySameDomainPyImp.cpp +++ b/src/Mod/Part/App/ShapeUpgrade/UnifySameDomainPyImp.cpp @@ -29,6 +29,8 @@ #include #endif +#include + #include "ShapeUpgrade/UnifySameDomainPy.h" #include "ShapeUpgrade/UnifySameDomainPy.cpp" #include "PartPyCXX.h" @@ -47,17 +49,18 @@ PyObject *UnifySameDomainPy::PyMake(struct _typeobject *, PyObject *, PyObject * int UnifySameDomainPy::PyInit(PyObject* args, PyObject* kwds) { PyObject *shape; - PyObject* unifyEdges = Py_True; - PyObject* unifyFaces = Py_True; - PyObject* concatBSpl = Py_False; + PyObject *unifyEdges = Py_True; // NOLINT + PyObject *unifyFaces = Py_True; // NOLINT + PyObject *concatBSpl = Py_False; // NOLINT - static char* keywords[] = {"Shape", "UnifyEdges", "UnifyFaces", "ConcatBSplines", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|O!O!O!", keywords, - &TopoShapePy::Type, &shape, - &PyBool_Type, &unifyEdges, - &PyBool_Type, &unifyFaces, - &PyBool_Type, &concatBSpl)) + static const std::array keywords{"Shape", "UnifyEdges", "UnifyFaces", "ConcatBSplines", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|O!O!O!", keywords, + &TopoShapePy::Type, &shape, + &PyBool_Type, &unifyEdges, + &PyBool_Type, &unifyFaces, + &PyBool_Type, &concatBSpl)) { return -1; + } try { TopoDS_Shape shp = static_cast(shape)->getTopoShapePtr()->getShape(); @@ -78,17 +81,18 @@ int UnifySameDomainPy::PyInit(PyObject* args, PyObject* kwds) PyObject* UnifySameDomainPy::initialize(PyObject *args, PyObject* kwds) { PyObject *shape; - PyObject* unifyEdges = Py_True; - PyObject* unifyFaces = Py_True; - PyObject* concatBSpl = Py_False; + PyObject *unifyEdges = Py_True; + PyObject *unifyFaces = Py_True; + PyObject *concatBSpl = Py_False; - static char* keywords[] = {"Shape", "UnifyEdges", "UnifyFaces", "ConcatBSplines", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|O!O!O!", keywords, - &TopoShapePy::Type, &shape, - &PyBool_Type, &unifyEdges, - &PyBool_Type, &unifyFaces, - &PyBool_Type, &concatBSpl)) + static const std::array keywords{"Shape", "UnifyEdges", "UnifyFaces", "ConcatBSplines", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|O!O!O!", keywords, + &TopoShapePy::Type, &shape, + &PyBool_Type, &unifyEdges, + &PyBool_Type, &unifyFaces, + &PyBool_Type, &concatBSpl)) { return nullptr; + } try { TopoDS_Shape shp = static_cast(shape)->getTopoShapePtr()->getShape(); @@ -108,7 +112,7 @@ PyObject* UnifySameDomainPy::initialize(PyObject *args, PyObject* kwds) // returns a string which represents the object e.g. when printed in python std::string UnifySameDomainPy::representation() const { - return std::string(""); + return {""}; } PyObject* UnifySameDomainPy::allowInternalEdges(PyObject *args) diff --git a/src/Mod/Part/App/SurfaceOfExtrusionPyImp.cpp b/src/Mod/Part/App/SurfaceOfExtrusionPyImp.cpp index 9d114cf49b..651bf96b00 100644 --- a/src/Mod/Part/App/SurfaceOfExtrusionPyImp.cpp +++ b/src/Mod/Part/App/SurfaceOfExtrusionPyImp.cpp @@ -40,7 +40,7 @@ using namespace Part; // returns a string which represents the object e.g. when printed in python std::string SurfaceOfExtrusionPy::representation() const { - return std::string(""); + return {""}; } PyObject *SurfaceOfExtrusionPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper diff --git a/src/Mod/Part/App/SurfaceOfRevolutionPyImp.cpp b/src/Mod/Part/App/SurfaceOfRevolutionPyImp.cpp index 5ec90835a1..f9eae0a862 100644 --- a/src/Mod/Part/App/SurfaceOfRevolutionPyImp.cpp +++ b/src/Mod/Part/App/SurfaceOfRevolutionPyImp.cpp @@ -38,7 +38,7 @@ using namespace Part; // returns a string which represents the object e.g. when printed in python std::string SurfaceOfRevolutionPy::representation() const { - return std::string(""); + return {""}; } PyObject *SurfaceOfRevolutionPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper diff --git a/src/Mod/Part/App/TopoShape.cpp b/src/Mod/Part/App/TopoShape.cpp index f509d0ae92..8705cc50d3 100644 --- a/src/Mod/Part/App/TopoShape.cpp +++ b/src/Mod/Part/App/TopoShape.cpp @@ -27,6 +27,7 @@ # include # include # include +# include # include # include @@ -270,20 +271,16 @@ TYPESYSTEM_SOURCE(Part::ShapeSegment , Data::Segment) std::string ShapeSegment::getName() const { - return std::string(); + return {}; } // ------------------------------------------------ TYPESYSTEM_SOURCE(Part::TopoShape , Data::ComplexGeoData) -TopoShape::TopoShape() -{ -} +TopoShape::TopoShape() = default; -TopoShape::~TopoShape() -{ -} +TopoShape::~TopoShape() = default; TopoShape::TopoShape(const TopoDS_Shape& shape) : _Shape(shape) @@ -296,6 +293,21 @@ TopoShape::TopoShape(const TopoShape& shape) Tag = shape.Tag; } +std::pair TopoShape::getElementTypeAndIndex(const char* Name) +{ + int index = 0; + std::string element; + boost::regex ex("^(Face|Edge|Vertex)([1-9][0-9]*)$"); + boost::cmatch what; + + if (Name && boost::regex_match(Name, what, ex)) { + element = what[1].str(); + index = std::atoi(what[2].str().c_str()); + } + + return std::make_pair(element, index); +} + std::vector TopoShape::getElementTypes() const { static const std::vector temp = {"Face","Edge","Vertex"}; @@ -325,13 +337,13 @@ TopoDS_Shape TopoShape::getSubShape(TopAbs_ShapeEnum type, int index, bool silen { if(index <= 0) { if(silent) - return TopoDS_Shape(); + return {}; Standard_Failure::Raise("Unsupported sub-shape type"); } if (this->_Shape.IsNull()) { if(silent) - return TopoDS_Shape(); + return {}; Standard_Failure::Raise("Cannot get sub-shape from empty shape"); } @@ -350,12 +362,12 @@ TopoDS_Shape TopoShape::getSubShape(TopAbs_ShapeEnum type, int index, bool silen } } catch(Standard_Failure &) { if(silent) - return TopoDS_Shape(); + return {}; throw; } if(!silent) Standard_Failure::Raise("Index out of bound"); - return TopoDS_Shape(); + return {}; } unsigned long TopoShape::countSubShapes(const char* Type) const @@ -1537,12 +1549,12 @@ bool TopoShape::analyze(bool runBopCheck, std::ostream& str) const for (int i = 1; i <= compsOfShape.Extent();++i) shapes.push_back(compsOfShape(i)); - for (std::vector::iterator xp = shapes.begin(); xp != shapes.end(); ++xp) { - if (!aChecker.IsValid(*xp)) { - const Handle(BRepCheck_Result)& result = aChecker.Result(*xp); + for (const auto & shape : shapes) { + if (!aChecker.IsValid(shape)) { + const Handle(BRepCheck_Result)& result = aChecker.Result(shape); if (result.IsNull()) continue; - const BRepCheck_ListOfStatus& status = result->StatusOnShape(*xp); + const BRepCheck_ListOfStatus& status = result->StatusOnShape(shape); BRepCheck_ListIteratorOfListOfStatus it(status); while (it.More()) { @@ -1776,14 +1788,14 @@ TopoDS_Shape TopoShape::cut(const std::vector& shapes, Standard_Re mkCut.SetRunParallel(true); TopTools_ListOfShape shapeArguments,shapeTools; shapeArguments.Append(this->_Shape); - for (std::vector::const_iterator it = shapes.begin(); it != shapes.end(); ++it) { - if (it->IsNull()) + for (const auto & shape : shapes) { + if (shape.IsNull()) throw Base::ValueError("Tool shape is null"); if (tolerance > 0.0) // workaround for http://dev.opencascade.org/index.php?q=node/1056#comment-520 - shapeTools.Append(BRepBuilderAPI_Copy(*it).Shape()); + shapeTools.Append(BRepBuilderAPI_Copy(shape).Shape()); else - shapeTools.Append(*it); + shapeTools.Append(shape); } mkCut.SetArguments(shapeArguments); @@ -1816,14 +1828,14 @@ TopoDS_Shape TopoShape::common(const std::vector& shapes, Standard mkCommon.SetRunParallel(true); TopTools_ListOfShape shapeArguments,shapeTools; shapeArguments.Append(this->_Shape); - for (std::vector::const_iterator it = shapes.begin(); it != shapes.end(); ++it) { - if (it->IsNull()) + for (const auto & shape : shapes) { + if (shape.IsNull()) throw Base::ValueError("Tool shape is null"); if (tolerance > 0.0) // workaround for http://dev.opencascade.org/index.php?q=node/1056#comment-520 - shapeTools.Append(BRepBuilderAPI_Copy(*it).Shape()); + shapeTools.Append(BRepBuilderAPI_Copy(shape).Shape()); else - shapeTools.Append(*it); + shapeTools.Append(shape); } mkCommon.SetArguments(shapeArguments); @@ -1857,14 +1869,14 @@ TopoDS_Shape TopoShape::fuse(const std::vector& shapes, Standard_R mkFuse.SetRunParallel(true); TopTools_ListOfShape shapeArguments,shapeTools; shapeArguments.Append(this->_Shape); - for (std::vector::const_iterator it = shapes.begin(); it != shapes.end(); ++it) { - if (it->IsNull()) + for (const auto & shape : shapes) { + if (shape.IsNull()) throw NullShapeException("Tool shape is null"); if (tolerance > 0.0) // workaround for http://dev.opencascade.org/index.php?q=node/1056#comment-520 - shapeTools.Append(BRepBuilderAPI_Copy(*it).Shape()); + shapeTools.Append(BRepBuilderAPI_Copy(shape).Shape()); else - shapeTools.Append(*it); + shapeTools.Append(shape); } mkFuse.SetArguments(shapeArguments); mkFuse.SetTools(shapeTools); @@ -1916,14 +1928,14 @@ TopoDS_Shape TopoShape::section(const std::vector& shapes, mkSection.Approximation(approximate); TopTools_ListOfShape shapeArguments,shapeTools; shapeArguments.Append(this->_Shape); - for (std::vector::const_iterator it = shapes.begin(); it != shapes.end(); ++it) { - if (it->IsNull()) + for (const auto & shape : shapes) { + if (shape.IsNull()) throw Base::ValueError("Tool shape is null"); if (tolerance > 0.0) // workaround for http://dev.opencascade.org/index.php?q=node/1056#comment-520 - shapeTools.Append(BRepBuilderAPI_Copy(*it).Shape()); + shapeTools.Append(BRepBuilderAPI_Copy(shape).Shape()); else - shapeTools.Append(*it); + shapeTools.Append(shape); } mkSection.SetArguments(shapeArguments); @@ -1948,8 +1960,8 @@ TopoDS_Compound TopoShape::slices(const Base::Vector3d& dir, const std::vector > wire_list; CrossSection cs(dir.x, dir.y, dir.z, this->_Shape); - for (std::vector::const_iterator jt = d.begin(); jt != d.end(); ++jt) { - wire_list.push_back(cs.slice(*jt)); + for (double jt : d) { + wire_list.push_back(cs.slice(jt)); } std::vector< std::list >::const_iterator ft; @@ -1959,9 +1971,9 @@ TopoDS_Compound TopoShape::slices(const Base::Vector3d& dir, const std::vector& w = *ft; - for (std::list::const_iterator wt = w.begin(); wt != w.end(); ++wt) { - if (!wt->IsNull()) - builder.Add(comp, *wt); + for (const auto & wt : w) { + if (!wt.IsNull()) + builder.Add(comp, wt); } } @@ -2122,7 +2134,7 @@ TopoDS_Shape TopoShape::makeTube(double radius, double tol, int cont, int maxdeg return mkBuilder.Shape(); } - return TopoDS_Shape(); + return {}; } @@ -3009,7 +3021,7 @@ TopoDS_Shape TopoShape::makeOffset2D(double offset, short joinType, bool fill, b //assemble output compound if (shapesToReturn.empty()) - return TopoDS_Shape(); //failure + return {}; //failure if (shapesToReturn.size() > 1 || forceOutputCompound){ TopoDS_Compound result; BRep_Builder builder; @@ -3112,8 +3124,8 @@ TopoDS_Shape TopoShape::replaceShape(const std::vector< std::pair& s) const { BRepTools_ReShape reshape; - for (std::vector::const_iterator it = s.begin(); it != s.end(); ++it) - reshape.Remove(*it); + for (const auto & it : s) + reshape.Remove(it); return reshape.Apply(this->_Shape, TopAbs_SHAPE); } @@ -3367,8 +3379,7 @@ void TopoShape::getFacesFromDomains(const std::vector& domains, Standard_Real x2, y2, z2; Standard_Real x3, y3, z3; - for (std::vector::const_iterator it = domains.begin(); it != domains.end(); ++it) { - const Domain& domain = *it; + for (const auto & domain : domains) { for (std::vector::const_iterator jt = domain.facets.begin(); jt != domain.facets.end(); ++jt) { x1 = domain.points[jt->I1].x; y1 = domain.points[jt->I1].y; @@ -3431,8 +3442,8 @@ void TopoShape::getFacesFromDomains(const std::vector& domains, std::vector meshPoints; meshPoints.resize(vertices.size()); - for (std::set::iterator it = vertices.begin(); it != vertices.end(); ++it) - meshPoints[it->i] = it->toPoint(); + for (const auto & vertex : vertices) + meshPoints[vertex.i] = vertex.toPoint(); points.swap(meshPoints); } @@ -3487,18 +3498,18 @@ void TopoShape::setFaces(const std::vector &Points, gp_XYZ p(v.x, v.y, v.z); return BRepBuilderAPI_MakeVertex(p); }; - for (std::vector::const_iterator it = Topo.begin(); it != Topo.end(); ++it) { - if (it->I1 < ctPoints) { - if (Vertexes[it->I1].IsNull()) - Vertexes[it->I1] = CreateVertex(Points[it->I1]); + for (const auto& it : Topo) { + if (it.I1 < ctPoints) { + if (Vertexes[it.I1].IsNull()) + Vertexes[it.I1] = CreateVertex(Points[it.I1]); } - if (it->I2 < ctPoints) { - if (Vertexes[it->I2].IsNull()) - Vertexes[it->I2] = CreateVertex(Points[it->I2]); + if (it.I2 < ctPoints) { + if (Vertexes[it.I2].IsNull()) + Vertexes[it.I2] = CreateVertex(Points[it.I2]); } - if (it->I3 < ctPoints) { - if (Vertexes[it->I3].IsNull()) - Vertexes[it->I3] = CreateVertex(Points[it->I3]); + if (it.I3 < ctPoints) { + if (Vertexes[it.I3].IsNull()) + Vertexes[it.I3] = CreateVertex(Points[it.I3]); } } @@ -3524,18 +3535,18 @@ void TopoShape::setFaces(const std::vector &Points, auto key = std::make_pair(p1, p2); return Edges[key]; }; - for (std::vector::const_iterator it = Topo.begin(); it != Topo.end(); ++it) { - CreateEdge(it->I1, it->I2); - CreateEdge(it->I2, it->I3); - CreateEdge(it->I3, it->I1); + for (const auto& it : Topo) { + CreateEdge(it.I1, it.I2); + CreateEdge(it.I2, it.I3); + CreateEdge(it.I3, it.I1); } - for (std::vector::const_iterator it = Topo.begin(); it != Topo.end(); ++it) { - if (it->I1 >= ctPoints || it->I2 >= ctPoints || it->I3 >= ctPoints) + for (const auto& it : Topo) { + if (it.I1 >= ctPoints || it.I2 >= ctPoints || it.I3 >= ctPoints) continue; - x1 = Points[it->I1].x; y1 = Points[it->I1].y; z1 = Points[it->I1].z; - x2 = Points[it->I2].x; y2 = Points[it->I2].y; z2 = Points[it->I2].z; - x3 = Points[it->I3].x; y3 = Points[it->I3].y; z3 = Points[it->I3].z; + x1 = Points[it.I1].x; y1 = Points[it.I1].y; z1 = Points[it.I1].z; + x2 = Points[it.I2].x; y2 = Points[it.I2].y; z2 = Points[it.I2].z; + x3 = Points[it.I3].x; y3 = Points[it.I3].y; z3 = Points[it.I3].z; p1.SetCoord(x1,y1,z1); p2.SetCoord(x2,y2,z2); @@ -3544,9 +3555,9 @@ void TopoShape::setFaces(const std::vector &Points, // Avoid very tiny edges as this may result into broken faces. The tolerance is Approximation // because Confusion might be too tight. if ((!(p1.IsEqual(p2, Precision::Approximation()))) && (!(p1.IsEqual(p3, Precision::Approximation())))) { - const TopoDS_Edge& e1 = GetEdge(it->I1, it->I2); - const TopoDS_Edge& e2 = GetEdge(it->I2, it->I3); - const TopoDS_Edge& e3 = GetEdge(it->I3, it->I1); + const TopoDS_Edge& e1 = GetEdge(it.I1, it.I2); + const TopoDS_Edge& e2 = GetEdge(it.I2, it.I3); + const TopoDS_Edge& e3 = GetEdge(it.I3, it.I1); if (e1.IsNull() || e2.IsNull() || e3.IsNull()) continue; @@ -3795,8 +3806,8 @@ TopoDS_Shape TopoShape::defeaturing(const std::vector& s) const BRepAlgoAPI_Defeaturing defeat; defeat.SetRunParallel(true); defeat.SetShape(this->_Shape); - for (std::vector::const_iterator it = s.begin(); it != s.end(); ++it) - defeat.AddFaceToRemove(*it); + for (const auto & it : s) + defeat.AddFaceToRemove(it); defeat.Build(); if (!defeat.IsDone()) { // error treatment diff --git a/src/Mod/Part/App/TopoShape.h b/src/Mod/Part/App/TopoShape.h index 1ca3bca8ee..aa36ac3d95 100644 --- a/src/Mod/Part/App/TopoShape.h +++ b/src/Mod/Part/App/TopoShape.h @@ -57,7 +57,7 @@ public: explicit NullShapeException(const char * sMessage); explicit NullShapeException(const std::string& sMessage); /// Destruction - ~NullShapeException() noexcept override {} + ~NullShapeException() noexcept override = default; }; /* A special sub-class to indicate boolean failures @@ -70,7 +70,7 @@ public: explicit BooleanException(const char * sMessage); explicit BooleanException(const std::string& sMessage); /// Destruction - ~BooleanException() noexcept override {} + ~BooleanException() noexcept override = default; }; class PartExport ShapeSegment : public Data::Segment @@ -79,7 +79,7 @@ class PartExport ShapeSegment : public Data::Segment public: ShapeSegment(const TopoDS_Shape &ShapeIn):Shape(ShapeIn){} - ShapeSegment(){} + ShapeSegment() = default; std::string getName() const override; TopoDS_Shape Shape; @@ -154,6 +154,9 @@ public: /** @name Subelement management */ //@{ + /// Unlike \ref getTypeAndIndex() this function only handles the supported + /// element types. + static std::pair getElementTypeAndIndex(const char* Name); /** Sub type list * List of different subelement types * it is NOT a list of the subelements itself diff --git a/src/Mod/Part/App/TopoShapeEdgePyImp.cpp b/src/Mod/Part/App/TopoShapeEdgePyImp.cpp index 6a2da3a0e7..b698f4dd31 100644 --- a/src/Mod/Part/App/TopoShapeEdgePyImp.cpp +++ b/src/Mod/Part/App/TopoShapeEdgePyImp.cpp @@ -65,6 +65,7 @@ #endif // _PreComp_ #include +#include #include #include @@ -493,16 +494,16 @@ PyObject* TopoShapeEdgePy::discretize(PyObject *args, PyObject *kwds) } else { // use Number kwds - static char* kwds_numPoints[] = {"Number","First","Last",nullptr}; + static const std::array kwds_numPoints{"Number", "First", "Last", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_numPoints, &numPoints, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_numPoints, &numPoints, &first, &last)) { uniformAbscissaPoints = true; } else { // use Abscissa kwds - static char* kwds_Distance[] = {"Distance","First","Last",nullptr}; + static const std::array kwds_Distance{"Distance", "First", "Last", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Distance, &distance, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Distance, &distance, &first, &last)) { uniformAbscissaDistance = true; } } @@ -532,10 +533,10 @@ PyObject* TopoShapeEdgePy::discretize(PyObject *args, PyObject *kwds) } // use Deflection kwds - static char* kwds_Deflection[] = {"Deflection","First","Last",nullptr}; + static const std::array kwds_Deflection{"Deflection", "First", "Last", nullptr}; PyErr_Clear(); double deflection; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Deflection, &deflection, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Deflection, &deflection, &first, &last)) { GCPnts_UniformDeflection discretizer(adapt, deflection, first, last); if (discretizer.IsDone () && discretizer.NbPoints () > 0) { Py::List points; @@ -554,12 +555,14 @@ PyObject* TopoShapeEdgePy::discretize(PyObject *args, PyObject *kwds) } // use TangentialDeflection kwds - static char* kwds_TangentialDeflection[] = {"Angular","Curvature","First","Last","Minimum",nullptr}; + static const std::array kwds_TangentialDeflection {"Angular", "Curvature", "First", "Last", + "Minimum", nullptr}; PyErr_Clear(); double angular; double curvature; int minimumPoints = 2; - if (PyArg_ParseTupleAndKeywords(args, kwds, "dd|ddi", kwds_TangentialDeflection, &angular, &curvature, &first, &last, &minimumPoints)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "dd|ddi", kwds_TangentialDeflection, &angular, &curvature, + &first, &last, &minimumPoints)) { GCPnts_TangentialDeflection discretizer(adapt, first, last, angular, curvature, minimumPoints); if (discretizer.NbPoints () > 0) { Py::List points; @@ -578,10 +581,11 @@ PyObject* TopoShapeEdgePy::discretize(PyObject *args, PyObject *kwds) } // use QuasiNumber kwds - static char* kwds_QuasiNumPoints[] = {"QuasiNumber","First","Last",nullptr}; + static const std::array kwds_QuasiNumPoints{"QuasiNumber", "First", "Last", nullptr}; PyErr_Clear(); int quasiNumPoints; - if (PyArg_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_QuasiNumPoints, &quasiNumPoints, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_QuasiNumPoints, &quasiNumPoints, &first, + &last)) { GCPnts_QuasiUniformAbscissa discretizer(adapt, quasiNumPoints, first, last); if (discretizer.NbPoints () > 0) { Py::List points; @@ -600,10 +604,11 @@ PyObject* TopoShapeEdgePy::discretize(PyObject *args, PyObject *kwds) } // use QuasiDeflection kwds - static char* kwds_QuasiDeflection[] = {"QuasiDeflection","First","Last",nullptr}; + static const std::array kwds_QuasiDeflection{"QuasiDeflection", "First", "Last", nullptr}; PyErr_Clear(); double quasiDeflection; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_QuasiDeflection, &quasiDeflection, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_QuasiDeflection, + &quasiDeflection, &first, &last)) { GCPnts_QuasiUniformDeflection discretizer(adapt, quasiDeflection, first, last); if (discretizer.NbPoints () > 0) { Py::List points; diff --git a/src/Mod/Part/App/TopoShapeFacePyImp.cpp b/src/Mod/Part/App/TopoShapeFacePyImp.cpp index 1192deef5e..378d919fe7 100644 --- a/src/Mod/Part/App/TopoShapeFacePyImp.cpp +++ b/src/Mod/Part/App/TopoShapeFacePyImp.cpp @@ -66,6 +66,7 @@ #include #include +#include #include #include @@ -442,12 +443,14 @@ PyObject* TopoShapeFacePy::makeEvolved(PyObject *args, PyObject *kwds) int JoinType = int(GeomAbs_Arc); double Tolerance = 0.0000001; - static char* kwds_evolve[] = {"Profile", "Join", "AxeProf", "Solid", "ProfOnSpine", "Tolerance", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|iO!O!O!d", kwds_evolve, - &TopoShapeWirePy::Type, &Profile, &JoinType, - &PyBool_Type, &AxeProf, &PyBool_Type, &Solid, - &PyBool_Type, &ProfOnSpine, &Tolerance)) + static const std::array kwds_evolve{"Profile", "Join", "AxeProf", "Solid", "ProfOnSpine", + "Tolerance", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|iO!O!O!d", kwds_evolve, + &TopoShapeWirePy::Type, &Profile, &JoinType, + &PyBool_Type, &AxeProf, &PyBool_Type, &Solid, + &PyBool_Type, &ProfOnSpine, &Tolerance)) { return nullptr; + } const TopoDS_Face& spine = TopoDS::Face(getTopoShapePtr()->getShape()); BRepBuilderAPI_FindPlane findPlane(spine); @@ -848,8 +851,8 @@ PyObject* TopoShapeFacePy::cutHoles(PyObject *args) if (!wires.empty()) { const TopoDS_Face& f = TopoDS::Face(getTopoShapePtr()->getShape()); BRepBuilderAPI_MakeFace mkFace(f); - for (std::vector::iterator it = wires.begin(); it != wires.end(); ++it) - mkFace.Add(*it); + for (const auto & wire : wires) + mkFace.Add(wire); if (!mkFace.IsDone()) { switch (mkFace.Error()) { case BRepBuilderAPI_NoFace: diff --git a/src/Mod/Part/App/TopoShapePyImp.cpp b/src/Mod/Part/App/TopoShapePyImp.cpp index 07088063b9..8de24e3264 100644 --- a/src/Mod/Part/App/TopoShapePyImp.cpp +++ b/src/Mod/Part/App/TopoShapePyImp.cpp @@ -70,6 +70,7 @@ #include #include #include +#include #include #include #include @@ -281,14 +282,15 @@ PyObject* TopoShapePy::read(PyObject *args) PyObject* TopoShapePy::writeInventor(PyObject * args, PyObject * keywds) { - static char *kwlist[] = {"Mode", "Deviation", "Angle", "FaceColors", nullptr}; + static const std::array kwlist{"Mode", "Deviation", "Angle", "FaceColors", nullptr}; - double dev=0.3, angle=0.4; - int mode=2; - PyObject* pylist=nullptr; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "|iddO", kwlist, - &mode,&dev,&angle,&pylist)) + double dev = 0.3, angle = 0.4; + int mode = 2; + PyObject *pylist = nullptr; + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "|iddO", kwlist, + &mode, &dev, &angle, &pylist)) { return nullptr; + } std::vector faceColors; if (pylist) { @@ -1003,8 +1005,8 @@ PyObject* TopoShapePy::slice(PyObject *args) Base::Vector3d vec = Py::Vector(dir, false).toVector(); std::list slice = this->getTopoShapePtr()->slice(vec, d); Py::List wire; - for (std::list::iterator it = slice.begin(); it != slice.end(); ++it) { - wire.append(Py::asObject(new TopoShapeWirePy(new TopoShape(*it)))); + for (const auto & it : slice) { + wire.append(Py::asObject(new TopoShapeWirePy(new TopoShape(it)))); } return Py::new_reference_to(wire); @@ -1264,9 +1266,9 @@ static const std::map mapTypeShape( // Returns TopAbs_SHAPE if pyType is not a subclass of any of the TopoShape*Py. static TopAbs_ShapeEnum ShapeTypeFromPyType(PyTypeObject* pyType) { - for (auto it = vecTypeShape.begin(); it != vecTypeShape.end(); ++it) { - if (PyType_IsSubtype(pyType, it->first)) - return it->second; + for (const auto & it : vecTypeShape) { + if (PyType_IsSubtype(pyType, it.first)) + return it.second; } return TopAbs_SHAPE; } @@ -1393,14 +1395,16 @@ PyObject* TopoShapePy::transformShape(PyObject *args) PyObject* TopoShapePy::transformed(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {"matrix", "copy", "checkScale", "op", nullptr}; - PyObject* pymat; - PyObject* copy = Py_False; - PyObject* checkScale = Py_False; + static const std::array kwlist{"matrix", "copy", "checkScale", "op", nullptr}; + PyObject *pymat; + PyObject *copy = Py_False; + PyObject *checkScale = Py_False; const char *op = nullptr; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "O!|O!O!s", kwlist, - &Base::MatrixPy::Type, &pymat, &PyBool_Type, ©, &PyBool_Type, &checkScale, &op)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "O!|O!O!s", kwlist, + &Base::MatrixPy::Type, &pymat, &PyBool_Type, ©, &PyBool_Type, + &checkScale, &op)) { return nullptr; + } Base::Matrix4D mat = static_cast(pymat)->value(); (void)op; @@ -1682,15 +1686,18 @@ PyObject* TopoShapePy::makeThickness(PyObject *args) PyObject* TopoShapePy::makeOffsetShape(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {"offset", "tolerance", "inter", "self_inter", "offsetMode", "join", "fill", nullptr}; + static const std::array kwlist{"offset", "tolerance", "inter", "self_inter", "offsetMode", "join", + "fill", nullptr}; double offset, tolerance; - PyObject* inter = Py_False; - PyObject* self_inter = Py_False; - PyObject* fill = Py_False; + PyObject *inter = Py_False; + PyObject *self_inter = Py_False; + PyObject *fill = Py_False; short offsetMode = 0, join = 0; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "dd|O!O!hhO!", kwlist, &offset, &tolerance, - &(PyBool_Type), &inter, &(PyBool_Type), &self_inter, &offsetMode, &join, &(PyBool_Type), &fill)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "dd|O!O!hhO!", kwlist, &offset, &tolerance, + &(PyBool_Type), &inter, &(PyBool_Type), &self_inter, &offsetMode, &join, + &(PyBool_Type), &fill)) { return nullptr; + } try { TopoDS_Shape shape = this->getTopoShapePtr()->makeOffsetShape(offset, tolerance, @@ -1707,15 +1714,17 @@ PyObject* TopoShapePy::makeOffsetShape(PyObject *args, PyObject *keywds) PyObject* TopoShapePy::makeOffset2D(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {"offset", "join", "fill", "openResult", "intersection", nullptr}; + static const std::array kwlist {"offset", "join", "fill", "openResult", "intersection", nullptr}; double offset; PyObject* fill = Py_False; PyObject* openResult = Py_False; PyObject* inter = Py_False; short join = 0; - if (!PyArg_ParseTupleAndKeywords(args, keywds, "d|hO!O!O!", kwlist, &offset, &join, - &(PyBool_Type), &fill, &(PyBool_Type), &openResult, &(PyBool_Type), &inter)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "d|hO!O!O!", kwlist, &offset, &join, + &(PyBool_Type), &fill, &(PyBool_Type), &openResult, &(PyBool_Type), + &inter)) { return nullptr; + } try { TopoDS_Shape resultShape = this->getTopoShapePtr()->makeOffset2D(offset, join, @@ -1938,17 +1947,15 @@ PyObject* TopoShapePy::tessellate(PyObject *args) getTopoShapePtr()->getFaces(Points, Facets,tolerance); Py::Tuple tuple(2); Py::List vertex; - for (std::vector::const_iterator it = Points.begin(); - it != Points.end(); ++it) - vertex.append(Py::asObject(new Base::VectorPy(*it))); + for (const auto & Point : Points) + vertex.append(Py::asObject(new Base::VectorPy(Point))); tuple.setItem(0, vertex); Py::List facet; - for (std::vector::const_iterator - it = Facets.begin(); it != Facets.end(); ++it) { + for (const auto& it : Facets) { Py::Tuple f(3); - f.setItem(0,Py::Long((long)it->I1)); - f.setItem(1,Py::Long((long)it->I2)); - f.setItem(2,Py::Long((long)it->I3)); + f.setItem(0,Py::Long((long)it.I1)); + f.setItem(1,Py::Long((long)it.I2)); + f.setItem(2,Py::Long((long)it.I3)); facet.append(f); } tuple.setItem(1, facet); @@ -2049,7 +2056,8 @@ Part.show(reflect) */ PyObject* TopoShapePy::reflectLines(PyObject *args, PyObject *kwds) { - static char *kwlist[] = {"ViewDir", "ViewPos", "UpDir", "EdgeType", "Visible", "OnShape", nullptr}; + static const std::array kwlist{"ViewDir", "ViewPos", "UpDir", "EdgeType", "Visible", "OnShape", + nullptr}; char* type="OutLine"; PyObject* vis = Py_True; @@ -2057,10 +2065,12 @@ PyObject* TopoShapePy::reflectLines(PyObject *args, PyObject *kwds) PyObject* pPos = nullptr; PyObject* pUp = nullptr; PyObject *pView; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|O!O!sO!O!", kwlist, - &Base::VectorPy::Type, &pView, &Base::VectorPy::Type, &pPos, &Base::VectorPy::Type, - &pUp, &type, &PyBool_Type, &vis, &PyBool_Type, &in3d)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|O!O!sO!O!", kwlist, + &Base::VectorPy::Type, &pView, &Base::VectorPy::Type, &pPos, + &Base::VectorPy::Type, + &pUp, &type, &PyBool_Type, &vis, &PyBool_Type, &in3d)) { return nullptr; + } try { HLRBRep_TypeOfResultingEdge t; diff --git a/src/Mod/Part/App/TopoShapeWirePyImp.cpp b/src/Mod/Part/App/TopoShapeWirePyImp.cpp index bd18e40401..fd28c773ce 100644 --- a/src/Mod/Part/App/TopoShapeWirePyImp.cpp +++ b/src/Mod/Part/App/TopoShapeWirePyImp.cpp @@ -46,6 +46,7 @@ #include #include +#include #include #include @@ -316,12 +317,14 @@ PyObject* TopoShapeWirePy::makeEvolved(PyObject *args, PyObject *kwds) int JoinType = int(GeomAbs_Arc); double Tolerance = 0.0000001; - static char* kwds_evolve[] = {"Profile", "Join", "AxeProf", "Solid", "ProfOnSpine", "Tolerance", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|iO!O!O!d", kwds_evolve, - &TopoShapeWirePy::Type, &Profile, &JoinType, - &PyBool_Type, &AxeProf, &PyBool_Type, &Solid, - &PyBool_Type, &ProfOnSpine, &Tolerance)) + static const std::array kwds_evolve{"Profile", "Join", "AxeProf", "Solid", "ProfOnSpine", + "Tolerance", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!|iO!O!O!d", kwds_evolve, + &TopoShapeWirePy::Type, &Profile, &JoinType, + &PyBool_Type, &AxeProf, &PyBool_Type, &Solid, + &PyBool_Type, &ProfOnSpine, &Tolerance)) { return nullptr; + } const TopoDS_Wire& spine = TopoDS::Wire(getTopoShapePtr()->getShape()); BRepBuilderAPI_FindPlane findPlane(spine); @@ -392,9 +395,10 @@ PyObject* TopoShapeWirePy::approximate(PyObject *args, PyObject *kwds) double tol3d = 0.0001; int maxseg=10, maxdeg=3; - static char* kwds_approx[] = {"Tol2d","Tol3d","MaxSegments","MaxDegree",nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "|ddii", kwds_approx, &tol2d, &tol3d, &maxseg, &maxdeg)) + static const std::array kwds_approx{"Tol2d", "Tol3d", "MaxSegments", "MaxDegree", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "|ddii", kwds_approx, &tol2d, &tol3d, &maxseg, &maxdeg)) { return nullptr; + } try { BRepAdaptor_CompCurve adapt(TopoDS::Wire(getTopoShapePtr()->getShape())); auto hcurve = adapt.Trim(adapt.FirstParameter(), @@ -444,16 +448,16 @@ PyObject* TopoShapeWirePy::discretize(PyObject *args, PyObject *kwds) } else { // use Number kwds - static char* kwds_numPoints[] = {"Number","First","Last",nullptr}; + static const std::array kwds_numPoints{"Number", "First", "Last", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_numPoints, &numPoints, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_numPoints, &numPoints, &first, &last)) { uniformAbscissaPoints = true; } else { // use Abscissa kwds - static char* kwds_Distance[] = {"Distance","First","Last",nullptr}; + static const std::array kwds_Distance{"Distance", "First", "Last", nullptr}; PyErr_Clear(); - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Distance, &distance, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Distance, &distance, &first, &last)) { uniformAbscissaDistance = true; } } @@ -483,10 +487,10 @@ PyObject* TopoShapeWirePy::discretize(PyObject *args, PyObject *kwds) } // use Deflection kwds - static char* kwds_Deflection[] = {"Deflection","First","Last",nullptr}; + static const std::array kwds_Deflection{"Deflection", "First", "Last", nullptr}; PyErr_Clear(); double deflection; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Deflection, &deflection, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_Deflection, &deflection, &first, &last)) { GCPnts_UniformDeflection discretizer(adapt, deflection, first, last); if (discretizer.IsDone () && discretizer.NbPoints () > 0) { Py::List points; @@ -505,12 +509,14 @@ PyObject* TopoShapeWirePy::discretize(PyObject *args, PyObject *kwds) } // use TangentialDeflection kwds - static char* kwds_TangentialDeflection[] = {"Angular","Curvature","First","Last","Minimum",nullptr}; + static const std::array kwds_TangentialDeflection{"Angular", "Curvature", "First", "Last", + "Minimum", nullptr}; PyErr_Clear(); double angular; double curvature; int minimumPoints = 2; - if (PyArg_ParseTupleAndKeywords(args, kwds, "dd|ddi", kwds_TangentialDeflection, &angular, &curvature, &first, &last, &minimumPoints)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "dd|ddi", kwds_TangentialDeflection, + &angular, &curvature, &first, &last, &minimumPoints)) { GCPnts_TangentialDeflection discretizer(adapt, first, last, angular, curvature, minimumPoints); if (discretizer.NbPoints () > 0) { Py::List points; @@ -529,10 +535,11 @@ PyObject* TopoShapeWirePy::discretize(PyObject *args, PyObject *kwds) } // use QuasiNumber kwds - static char* kwds_QuasiNumPoints[] = {"QuasiNumber","First","Last",nullptr}; + static const std::array kwds_QuasiNumPoints{"QuasiNumber", "First", "Last", nullptr}; PyErr_Clear(); int quasiNumPoints; - if (PyArg_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_QuasiNumPoints, &quasiNumPoints, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "i|dd", kwds_QuasiNumPoints, + &quasiNumPoints, &first, &last)) { GCPnts_QuasiUniformAbscissa discretizer(adapt, quasiNumPoints, first, last); if (discretizer.NbPoints () > 0) { Py::List points; @@ -551,10 +558,11 @@ PyObject* TopoShapeWirePy::discretize(PyObject *args, PyObject *kwds) } // use QuasiDeflection kwds - static char* kwds_QuasiDeflection[] = {"QuasiDeflection","First","Last",nullptr}; + static const std::array kwds_QuasiDeflection{"QuasiDeflection", "First", "Last", nullptr}; PyErr_Clear(); double quasiDeflection; - if (PyArg_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_QuasiDeflection, &quasiDeflection, &first, &last)) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwds, "d|dd", kwds_QuasiDeflection, + &quasiDeflection, &first, &last)) { GCPnts_QuasiUniformDeflection discretizer(adapt, quasiDeflection, first, last); if (discretizer.NbPoints () > 0) { Py::List points; diff --git a/src/Mod/Part/App/edgecluster.cpp b/src/Mod/Part/App/edgecluster.cpp index 45ed016778..cb1f2882b0 100644 --- a/src/Mod/Part/App/edgecluster.cpp +++ b/src/Mod/Part/App/edgecluster.cpp @@ -35,16 +35,14 @@ using namespace Part; Edgecluster::Edgecluster(const std::vector& unsorted_edges) - :m_unsortededges(unsorted_edges),m_done(false) + :m_unsortededges(unsorted_edges) { m_edges.clear(); m_vertices.clear(); m_final_cluster.clear(); } -Edgecluster::~Edgecluster() -{ -} +Edgecluster::~Edgecluster() = default; tEdgeClusterVector Edgecluster::GetClusters() { diff --git a/src/Mod/Part/App/edgecluster.h b/src/Mod/Part/App/edgecluster.h index be22fe7a02..af95ebd9ae 100644 --- a/src/Mod/Part/App/edgecluster.h +++ b/src/Mod/Part/App/edgecluster.h @@ -77,7 +77,7 @@ private: tEdgeVector m_edges; tMapPntEdge m_vertices; - bool m_done; + bool m_done{false}; tEdgeVector::const_iterator m_edgeIter; diff --git a/src/Mod/Part/App/modelRefine.cpp b/src/Mod/Part/App/modelRefine.cpp index 4e7e21d12c..e755922daf 100644 --- a/src/Mod/Part/App/modelRefine.cpp +++ b/src/Mod/Part/App/modelRefine.cpp @@ -393,7 +393,7 @@ TopoDS_Face FaceTypedPlane::buildFace(const FaceVectorType &faces) const std::vector splitEdges; this->boundarySplit(faces, splitEdges); if (splitEdges.empty()) - return TopoDS_Face(); + return {}; std::vector::iterator splitIt; for (splitIt = splitEdges.begin(); splitIt != splitEdges.end(); ++splitIt) { @@ -409,7 +409,7 @@ TopoDS_Face FaceTypedPlane::buildFace(const FaceVectorType &faces) const BRepLib_MakeFace faceMaker(wires.at(0), Standard_True); if (faceMaker.Error() != BRepLib_FaceDone) - return TopoDS_Face(); + return {}; TopoDS_Face current = faceMaker.Face(); if (wires.size() > 1) { @@ -419,11 +419,11 @@ TopoDS_Face FaceTypedPlane::buildFace(const FaceVectorType &faces) const faceFix.Add(wires.at(index)); faceFix.Perform(); if (faceFix.Status(ShapeExtend_FAIL)) - return TopoDS_Face(); + return {}; faceFix.FixOrientation(); faceFix.Perform(); if(faceFix.Status(ShapeExtend_FAIL)) - return TopoDS_Face(); + return {}; current = faceFix.Face(); } @@ -967,7 +967,7 @@ TopoDS_Face FaceTypedBSpline::buildFace(const FaceVectorType &faces) const std::vector splitEdges; this->boundarySplit(faces, splitEdges); if (splitEdges.empty()) - return TopoDS_Face(); + return {}; std::vector::iterator splitIt; for (splitIt = splitEdges.begin(); splitIt != splitEdges.end(); ++splitIt) { @@ -984,19 +984,19 @@ TopoDS_Face FaceTypedBSpline::buildFace(const FaceVectorType &faces) const //make face from surface and outer wire. Handle(Geom_BSplineSurface) surface = Handle(Geom_BSplineSurface)::DownCast(BRep_Tool::Surface(faces.at(0))); if (!surface) - return TopoDS_Face(); + return {}; std::vector::iterator wireIt; wireIt = wires.begin(); BRepBuilderAPI_MakeFace faceMaker(surface, *wireIt); if (!faceMaker.IsDone()) - return TopoDS_Face(); + return {}; //add additional boundaries. for (wireIt++; wireIt != wires.end(); ++wireIt) { faceMaker.Add(*wireIt); if (!faceMaker.IsDone()) - return TopoDS_Face(); + return {}; } //fix newly constructed face. Orientation doesn't seem to get fixed the first call. @@ -1004,11 +1004,11 @@ TopoDS_Face FaceTypedBSpline::buildFace(const FaceVectorType &faces) const faceFixer.SetContext(new ShapeBuild_ReShape()); faceFixer.Perform(); if (faceFixer.Status(ShapeExtend_FAIL)) - return TopoDS_Face(); + return {}; faceFixer.FixOrientation(); faceFixer.Perform(); if (faceFixer.Status(ShapeExtend_FAIL)) - return TopoDS_Face(); + return {}; return faceFixer.Face(); } @@ -1082,8 +1082,8 @@ bool FaceUniter::process() // by a boolean cut, where one old shape is marked as modified, producing multiple new shapes if (!temp.empty()) { - for (FaceVectorType::iterator f = temp.begin(); f != temp.end(); ++f) - modifiedShapes.emplace_back(*f, newFace); + for (const auto & f : temp) + modifiedShapes.emplace_back(f, newFace); } } } @@ -1115,11 +1115,11 @@ bool FaceUniter::process() return false; } // update the list of modifications - for (std::vector::iterator it = modifiedShapes.begin(); it != modifiedShapes.end(); ++it) + for (auto & it : modifiedShapes) { - if (sew.IsModified(it->second)) + if (sew.IsModified(it.second)) { - it->second = sew.Modified(it->second); + it.second = sew.Modified(it.second); break; } } @@ -1169,11 +1169,11 @@ bool FaceUniter::process() for (mapIt.Initialize(faceMap); mapIt.More(); mapIt.Next()) { bool isModifiedFace = false; - for (std::vector::iterator it = modifiedShapes.begin(); it != modifiedShapes.end(); ++it) + for (auto & it : modifiedShapes) { - if (mapIt.Key().IsSame(it->second)) { + if (mapIt.Key().IsSame(it.second)) { // Note: IsEqual() for some reason does not work - it->second = mapIt.Value(); + it.second = mapIt.Value(); isModifiedFace = true; } } @@ -1321,14 +1321,14 @@ void Part::BRepBuilderAPI_RefineModel::Build() void Part::BRepBuilderAPI_RefineModel::LogModifications(const ModelRefine::FaceUniter& uniter) { const std::vector& modShapes = uniter.getModifiedShapes(); - for (std::vector::const_iterator it = modShapes.begin(); it != modShapes.end(); ++it) { + for (const auto & it : modShapes) { TopTools_ListOfShape list; - list.Append(it->second); - myModified.Bind(it->first, list); + list.Append(it.second); + myModified.Bind(it.first, list); } const ShapeVectorType& delShapes = uniter.getDeletedShapes(); - for (ShapeVectorType::const_iterator it = delShapes.begin(); it != delShapes.end(); ++it) { - myDeleted.Append(*it); + for (const auto & it : delShapes) { + myDeleted.Append(it); } } diff --git a/src/Mod/Part/App/modelRefine.h b/src/Mod/Part/App/modelRefine.h index 1ae9c6ad47..46a0482dd8 100644 --- a/src/Mod/Part/App/modelRefine.h +++ b/src/Mod/Part/App/modelRefine.h @@ -56,7 +56,7 @@ namespace ModelRefine class FaceTypedBase { private: - FaceTypedBase(){} + FaceTypedBase() = default; protected: FaceTypedBase(const GeomAbs_SurfaceType &typeIn){surfaceType = typeIn;} public: @@ -114,7 +114,7 @@ namespace ModelRefine { using SplitMapType = std::map; public: - FaceTypeSplitter(){} + FaceTypeSplitter() = default; void addShell(const TopoDS_Shell &shellIn); void registerType(const GeomAbs_SurfaceType &type); bool hasType(const GeomAbs_SurfaceType &type) const; @@ -134,7 +134,7 @@ namespace ModelRefine const FaceVectorType& getGroup(const std::size_t &index) const {return adjacencyArray[index];} private: - FaceAdjacencySplitter(){} + FaceAdjacencySplitter() = default; void recursiveFind(const TopoDS_Face &face, FaceVectorType &outVector); std::vector adjacencyArray; TopTools_MapOfShape processedMap; @@ -147,7 +147,7 @@ namespace ModelRefine class FaceEqualitySplitter { public: - FaceEqualitySplitter(){} + FaceEqualitySplitter() = default; void split(const FaceVectorType &faces, FaceTypedBase *object); std::size_t getGroupCount() const {return equalityVector.size();} const FaceVectorType& getGroup(const std::size_t &index) const {return equalityVector[index];} @@ -159,7 +159,7 @@ namespace ModelRefine class FaceUniter { private: - FaceUniter(){} + FaceUniter() = default; public: FaceUniter(const TopoDS_Shell &shellIn); bool process(); diff --git a/src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.ui b/src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.ui index 31e491e954..6aebec1f1e 100644 --- a/src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.ui +++ b/src/Mod/Part/AttachmentEditor/TaskAttachmentEditor.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Part/Gui/AppPartGui.cpp b/src/Mod/Part/Gui/AppPartGui.cpp index 2ca6e878cb..6077cc884f 100644 --- a/src/Mod/Part/Gui/AppPartGui.cpp +++ b/src/Mod/Part/Gui/AppPartGui.cpp @@ -100,8 +100,6 @@ public: initialize("This module is the PartGui module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Part/Gui/BoxSelection.cpp b/src/Mod/Part/Gui/BoxSelection.cpp index 3463faf6e5..9a18d68d31 100644 --- a/src/Mod/Part/Gui/BoxSelection.cpp +++ b/src/Mod/Part/Gui/BoxSelection.cpp @@ -57,9 +57,7 @@ public: : Gui::SelectionFilterGate() { } - ~FaceSelectionGate() override - { - } + ~FaceSelectionGate() override = default; bool allow(App::Document*, App::DocumentObject*, const char*sSubName) override { if (!sSubName || sSubName[0] == '\0') @@ -69,17 +67,9 @@ public: } }; -BoxSelection::BoxSelection() - : autodelete(false) - , shapeEnum(TopAbs_SHAPE) -{ +BoxSelection::BoxSelection() = default; -} - -BoxSelection::~BoxSelection() -{ - -} +BoxSelection::~BoxSelection() = default; void BoxSelection::setAutoDelete(bool on) { @@ -111,8 +101,8 @@ void BoxSelection::selectionCallback(void * ud, SoEventCallback * cb) polygon.Add(Base::Vector2d(pt2[0], pt1[1])); } else { - for (std::vector::const_iterator it = picked.begin(); it != picked.end(); ++it) - polygon.Add(Base::Vector2d((*it)[0],(*it)[1])); + for (const auto& it : picked) + polygon.Add(Base::Vector2d(it[0],it[1])); } BoxSelection* self = static_cast(ud); diff --git a/src/Mod/Part/Gui/BoxSelection.h b/src/Mod/Part/Gui/BoxSelection.h index a53dd52913..d750748a51 100644 --- a/src/Mod/Part/Gui/BoxSelection.h +++ b/src/Mod/Part/Gui/BoxSelection.h @@ -61,8 +61,8 @@ private: static void selectionCallback(void * ud, SoEventCallback * cb); private: - bool autodelete; - TopAbs_ShapeEnum shapeEnum; + bool autodelete{false}; + TopAbs_ShapeEnum shapeEnum{TopAbs_SHAPE}; }; } //namespace PartGui diff --git a/src/Mod/Part/Gui/Command.cpp b/src/Mod/Part/Gui/Command.cpp index b6497236fe..983045064f 100644 --- a/src/Mod/Part/Gui/Command.cpp +++ b/src/Mod/Part/Gui/Command.cpp @@ -260,8 +260,8 @@ std::vector getShapesFromSelection() { std::vector objs = Gui::Selection().getObjectsOfType(App::DocumentObject::getClassTypeId()); std::vector shapes; - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - Part::TopoShape shp = Part::Feature::getTopoShape(*it); + for (auto it : objs) { + Part::TopoShape shp = Part::Feature::getTopoShape(it); if (!shp.isNull()){ shapes.push_back(shp); } @@ -276,9 +276,9 @@ bool hasShapesInSelection() { bool hasShapes = false; std::vector docobjs = Gui::Selection().getObjectsOfType(App::DocumentObject::getClassTypeId()); - for (std::vector::iterator it = docobjs.begin(); it != docobjs.end(); ++it) { + for (auto it : docobjs) { // Only check for the existence of a shape but don't perform a transformation - if (!Part::Feature::getTopoShape(*it, nullptr, false, nullptr, nullptr, true, false, false).isNull()) { + if (!Part::Feature::getTopoShape(it, nullptr, false, nullptr, nullptr, true, false, false).isNull()) { hasShapes = true; break; } @@ -317,8 +317,8 @@ void CmdPartCut::activated(int iMsg) bool askUser = false; std::vector names; - for (std::vector::iterator it = Sel.begin(); it != Sel.end(); ++it) { - App::DocumentObject* obj = it->getObject(); + for (const auto & it : Sel) { + const App::DocumentObject* obj = it.getObject(); const TopoDS_Shape& shape = Part::Feature::getShape(obj); if (!PartGui::checkForSolids(shape) && !askUser) { int ret = QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Non-solids selected"), @@ -329,7 +329,7 @@ void CmdPartCut::activated(int iMsg) askUser = true; } - names.push_back(Base::Tools::quoted(it->getFeatName())); + names.push_back(Base::Tools::quoted(it.getFeatName())); } openCommand(QT_TRANSLATE_NOOP("Command", "Part Cut")); @@ -393,8 +393,8 @@ void CmdPartCommon::activated(int iMsg) bool askUser = false; std::vector names; - for (std::vector::iterator it = Sel.begin(); it != Sel.end(); ++it) { - App::DocumentObject* obj = it->getObject(); + for (const auto & it : Sel) { + const App::DocumentObject* obj = it.getObject(); const TopoDS_Shape& shape = Part::Feature::getShape(obj); if (!PartGui::checkForSolids(shape) && !askUser) { int ret = QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Non-solids selected"), @@ -405,7 +405,7 @@ void CmdPartCommon::activated(int iMsg) askUser = true; } - names.push_back(Base::Tools::quoted(it->getFeatName())); + names.push_back(Base::Tools::quoted(it.getFeatName())); } openCommand(QT_TRANSLATE_NOOP("Command", "Common")); @@ -469,8 +469,8 @@ void CmdPartFuse::activated(int iMsg) bool askUser = false; std::vector names; - for (std::vector::iterator it = Sel.begin(); it != Sel.end(); ++it) { - App::DocumentObject* obj = it->getObject(); + for (const auto & it : Sel) { + const App::DocumentObject* obj = it.getObject(); const TopoDS_Shape& shape = Part::Feature::getShape(obj); if (!PartGui::checkForSolids(shape) && !askUser) { int ret = QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Non-solids selected"), @@ -481,7 +481,7 @@ void CmdPartFuse::activated(int iMsg) askUser = true; } - names.push_back(Base::Tools::quoted(it->getFeatName())); + names.push_back(Base::Tools::quoted(it.getFeatName())); } openCommand(QT_TRANSLATE_NOOP("Command", "Fusion")); @@ -866,10 +866,10 @@ void CmdPartCompound::activated(int iMsg) // avoid duplicates without changing the order std::set tempSelNames; str << "App.activeDocument()." << FeatName << ".Links = ["; - for (std::vector::iterator it = Sel.begin(); it != Sel.end(); ++it) { - auto pos = tempSelNames.insert(it->FeatName); + for (const auto & it : Sel) { + auto pos = tempSelNames.insert(it.FeatName); if (pos.second) { - str << "App.activeDocument()." << it->FeatName << ","; + str << "App.activeDocument()." << it.FeatName << ","; } } str << "]"; @@ -984,8 +984,8 @@ void CmdPartImport::activated(int iMsg) commitCommand(); std::list views = getActiveGuiDocument()->getMDIViewsOfType(Gui::View3DInventor::getClassTypeId()); - for (std::list::iterator it = views.begin(); it != views.end(); ++it) { - (*it)->viewAll(); + for (auto view : views) { + view->viewAll(); } } } @@ -1117,14 +1117,14 @@ void CmdPartMakeSolid::activated(int iMsg) std::vector objs = Gui::Selection().getObjectsOfType (App::DocumentObject::getClassTypeId(), nullptr, Gui::ResolveMode::FollowLink); runCommand(Doc, "import Part"); - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - const TopoDS_Shape& shape = Part::Feature::getShape(*it); + for (auto it : objs) { + const TopoDS_Shape& shape = Part::Feature::getShape(it); if (!shape.IsNull()) { TopAbs_ShapeEnum type = shape.ShapeType(); QString str; if (type == TopAbs_SOLID) { Base::Console().Message("%s is ignored because it is already a solid.\n", - (*it)->Label.getValue()); + it->Label.getValue()); } else if (type == TopAbs_COMPOUND || type == TopAbs_COMPSOLID) { str = QString::fromLatin1( @@ -1135,8 +1135,8 @@ void CmdPartMakeSolid::activated(int iMsg) "__o__.Shape=__s__\n" "del __s__, __o__" ) - .arg(QLatin1String((*it)->getNameInDocument()), - QLatin1String((*it)->Label.getValue())); + .arg(QLatin1String(it->getNameInDocument()), + QLatin1String(it->Label.getValue())); } else if (type == TopAbs_SHELL) { str = QString::fromLatin1( @@ -1147,12 +1147,12 @@ void CmdPartMakeSolid::activated(int iMsg) "__o__.Shape=__s__\n" "del __s__, __o__" ) - .arg(QLatin1String((*it)->getNameInDocument()), - QLatin1String((*it)->Label.getValue())); + .arg(QLatin1String(it->getNameInDocument()), + QLatin1String(it->Label.getValue())); } else { Base::Console().Message("%s is ignored because it is neither a shell nor a compound.\n", - (*it)->Label.getValue()); + it->Label.getValue()); } try { @@ -1161,7 +1161,7 @@ void CmdPartMakeSolid::activated(int iMsg) } catch (const Base::Exception& e) { Base::Console().Error("Cannot convert %s because %s.\n", - (*it)->Label.getValue(), e.what()); + it->Label.getValue(), e.what()); } } } @@ -1196,10 +1196,10 @@ void CmdPartReverseShape::activated(int iMsg) std::vector objs = Gui::Selection().getObjectsOfType (App::DocumentObject::getClassTypeId()); openCommand(QT_TRANSLATE_NOOP("Command", "Reverse")); - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - const TopoDS_Shape& shape = Part::Feature::getShape(*it); + for (auto it : objs) { + const TopoDS_Shape& shape = Part::Feature::getShape(it); if (!shape.IsNull()) { - std::string name = (*it)->getNameInDocument(); + std::string name = it->getNameInDocument(); name += "_rev"; name = getUniqueObjectName(name.c_str()); @@ -1210,18 +1210,18 @@ void CmdPartReverseShape::activated(int iMsg) "del __o__" ) .arg(QString::fromLatin1(name.c_str()), - QString::fromLatin1((*it)->getNameInDocument()), - QString::fromLatin1((*it)->Label.getValue())); + QString::fromLatin1(it->getNameInDocument()), + QString::fromLatin1(it->Label.getValue())); try { runCommand(Doc, str.toLatin1()); - copyVisual(name.c_str(), "ShapeColor", (*it)->getNameInDocument()); - copyVisual(name.c_str(), "LineColor" , (*it)->getNameInDocument()); - copyVisual(name.c_str(), "PointColor", (*it)->getNameInDocument()); + copyVisual(name.c_str(), "ShapeColor", it->getNameInDocument()); + copyVisual(name.c_str(), "LineColor" , it->getNameInDocument()); + copyVisual(name.c_str(), "PointColor", it->getNameInDocument()); } catch (const Base::Exception& e) { Base::Console().Error("Cannot convert %s because %s.\n", - (*it)->Label.getValue(), e.what()); + it->Label.getValue(), e.what()); } } } @@ -1482,8 +1482,8 @@ void CmdPartCrossSections::activated(int iMsg) if (!dlg) { std::vector shapes = PartGui::getShapesFromSelection(); Base::BoundBox3d bbox; - for (std::vector::iterator it = shapes.begin(); it != shapes.end(); ++it) { - bbox.Add((*it).getBoundBox()); + for (const auto & it : shapes) { + bbox.Add(it.getBoundBox()); } dlg = new PartGui::TaskCrossSections(bbox); } @@ -1606,9 +1606,9 @@ void CmdPartOffset::activated(int iMsg) Q_UNUSED(iMsg); std::vector docobjs = Gui::Selection().getObjectsOfType(App::DocumentObject::getClassTypeId()); std::vector shapes; - for (std::vector::iterator it = docobjs.begin(); it != docobjs.end(); ++it) { - if (!Part::Feature::getTopoShape(*it).isNull()) { - shapes.push_back(*it); + for (auto it : docobjs) { + if (!Part::Feature::getTopoShape(it).isNull()) { + shapes.push_back(it); } } if (shapes.size() != 1) { @@ -1664,9 +1664,9 @@ void CmdPartOffset2D::activated(int iMsg) std::vector docobjs = Gui::Selection().getObjectsOfType(App::DocumentObject::getClassTypeId()); std::vector shapes; - for (std::vector::iterator it = docobjs.begin(); it != docobjs.end(); ++it) { - if (!Part::Feature::getTopoShape(*it).isNull()) { - shapes.push_back(*it); + for (auto it : docobjs) { + if (!Part::Feature::getTopoShape(it).isNull()) { + shapes.push_back(it); } } if (shapes.size() != 1) { @@ -1824,8 +1824,8 @@ void CmdPartThickness::activated(int iMsg) for (std::vector::const_iterator it = subnames.begin(); it != subnames.end(); ++it) { subShapes.emplace_back(topoShape.getSubShape(subnames[0].c_str())); } - for (std::vector::iterator it = subShapes.begin(); it != subShapes.end(); ++it) { - TopoDS_Shape dsShape = (*it).getShape(); + for (const auto & it : subShapes) { + TopoDS_Shape dsShape = it.getShape(); if (dsShape.IsNull() || dsShape.ShapeType() != TopAbs_FACE) { //only face selection allowed ok = false; } diff --git a/src/Mod/Part/Gui/CommandSimple.cpp b/src/Mod/Part/Gui/CommandSimple.cpp index e46d034e1d..2dfacbab09 100644 --- a/src/Mod/Part/Gui/CommandSimple.cpp +++ b/src/Mod/Part/Gui/CommandSimple.cpp @@ -435,9 +435,9 @@ void CmdPartDefeaturing::activated(int iMsg) std::string faces; std::vector subnames = it->getSubNames(); - for (std::vector::iterator sub = subnames.begin(); sub != subnames.end(); ++sub) { + for (const auto & subname : subnames) { faces.append("sh."); - faces.append(*sub); + faces.append(subname); faces.append(","); } @@ -465,10 +465,10 @@ bool CmdPartDefeaturing::isActive() { Base::Type partid = Base::Type::fromName("Part::Feature"); std::vector objs = Gui::Selection().getSelectionEx(nullptr, partid); - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - std::vector subnames = it->getSubNames(); - for (std::vector::iterator sub = subnames.begin(); sub != subnames.end(); ++sub) { - if (sub->substr(0,4) == "Face") { + for (const auto & obj : objs) { + std::vector subnames = obj.getSubNames(); + for (const auto & subname : subnames) { + if (subname.substr(0,4) == "Face") { return true; } } diff --git a/src/Mod/Part/Gui/CrossSections.cpp b/src/Mod/Part/Gui/CrossSections.cpp index 2e7430b057..76069d3282 100644 --- a/src/Mod/Part/Gui/CrossSections.cpp +++ b/src/Mod/Part/Gui/CrossSections.cpp @@ -93,7 +93,7 @@ public: } std::vector getDisplayModes() const override { - return std::vector(); + return {}; } void setCoords(const std::vector& v) { @@ -214,9 +214,9 @@ void CrossSections::apply() std::vector docobjs = Gui::Selection(). getObjectsOfType(App::DocumentObject::getClassTypeId()); std::vector obj; - for (std::vector::iterator it = docobjs.begin(); it != docobjs.end(); ++it){ - if (!Part::Feature::getTopoShape(*it).isNull()) { - obj.push_back((*it)); + for (auto it : docobjs) { + if (!Part::Feature::getTopoShape(it).isNull()) { + obj.push_back(it); } } @@ -270,21 +270,21 @@ void CrossSections::apply() Base::SequencerLauncher seq("Cross-sections...", obj.size() * (d.size() +1)); Gui::Command::runCommand(Gui::Command::App, "import Part\n"); Gui::Command::runCommand(Gui::Command::App, "from FreeCAD import Base\n"); - for (std::vector::iterator it = obj.begin(); it != obj.end(); ++it) { - App::Document* doc = (*it)->getDocument(); - std::string s = (*it)->getNameInDocument(); + for (auto it : obj) { + App::Document* doc = it->getDocument(); + std::string s = it->getNameInDocument(); s += "_cs"; Gui::Command::runCommand(Gui::Command::App, QString::fromLatin1( "wires=list()\n" "shape=FreeCAD.getDocument(\"%1\").%2.Shape\n") .arg(QLatin1String(doc->getName()), - QLatin1String((*it)->getNameInDocument())).toLatin1()); + QLatin1String(it->getNameInDocument())).toLatin1()); - for (std::vector::iterator jt = d.begin(); jt != d.end(); ++jt) { + for (double jt : d) { Gui::Command::runCommand(Gui::Command::App, QString::fromLatin1( "for i in shape.slice(Base.Vector(%1,%2,%3),%4):\n" " wires.append(i)\n" - ).arg(a).arg(b).arg(c).arg(*jt).toLatin1()); + ).arg(a).arg(b).arg(c).arg(jt).toLatin1()); seq.next(); } @@ -502,26 +502,26 @@ std::vector CrossSections::getPlanes() const void CrossSections::makePlanes(Plane type, const std::vector& d, double bound[4]) { std::vector points; - for (std::vector::const_iterator it = d.begin(); it != d.end(); ++it) { + for (double it : d) { Base::Vector3f v[4]; switch (type) { case XY: - v[0].Set(bound[0],bound[2],*it); - v[1].Set(bound[1],bound[2],*it); - v[2].Set(bound[1],bound[3],*it); - v[3].Set(bound[0],bound[3],*it); + v[0].Set(bound[0],bound[2],it); + v[1].Set(bound[1],bound[2],it); + v[2].Set(bound[1],bound[3],it); + v[3].Set(bound[0],bound[3],it); break; case XZ: - v[0].Set(bound[0],*it,bound[2]); - v[1].Set(bound[1],*it,bound[2]); - v[2].Set(bound[1],*it,bound[3]); - v[3].Set(bound[0],*it,bound[3]); + v[0].Set(bound[0],it,bound[2]); + v[1].Set(bound[1],it,bound[2]); + v[2].Set(bound[1],it,bound[3]); + v[3].Set(bound[0],it,bound[3]); break; case YZ: - v[0].Set(*it,bound[0],bound[2]); - v[1].Set(*it,bound[1],bound[2]); - v[2].Set(*it,bound[1],bound[3]); - v[3].Set(*it,bound[0],bound[3]); + v[0].Set(it,bound[0],bound[2]); + v[1].Set(it,bound[1],bound[2]); + v[2].Set(it,bound[1],bound[3]); + v[3].Set(it,bound[0],bound[3]); break; } @@ -546,11 +546,6 @@ TaskCrossSections::TaskCrossSections(const Base::BoundBox3d& bb) Content.push_back(taskbox); } -TaskCrossSections::~TaskCrossSections() -{ - // automatically deleted in the sub-class -} - bool TaskCrossSections::accept() { widget->accept(); diff --git a/src/Mod/Part/Gui/CrossSections.h b/src/Mod/Part/Gui/CrossSections.h index d7de574578..62f4b64ec3 100644 --- a/src/Mod/Part/Gui/CrossSections.h +++ b/src/Mod/Part/Gui/CrossSections.h @@ -86,7 +86,6 @@ class TaskCrossSections : public Gui::TaskView::TaskDialog public: explicit TaskCrossSections(const Base::BoundBox3d& bb); - ~TaskCrossSections() override; public: bool accept() override; diff --git a/src/Mod/Part/Gui/DlgBooleanOperation.cpp b/src/Mod/Part/Gui/DlgBooleanOperation.cpp index 981909c222..af53f9cc5e 100644 --- a/src/Mod/Part/Gui/DlgBooleanOperation.cpp +++ b/src/Mod/Part/Gui/DlgBooleanOperation.cpp @@ -222,18 +222,18 @@ void DlgBooleanOperation::findShapes() (Part::Feature::getClassTypeId()); QTreeWidgetItem *item_left=nullptr, *item_right=nullptr; - for (std::vector::iterator it = objs.begin(); it!=objs.end(); ++it) { - const TopoDS_Shape& shape = static_cast(*it)->Shape.getValue(); + for (auto obj : objs) { + const TopoDS_Shape& shape = static_cast(obj)->Shape.getValue(); if (!shape.IsNull()) { - QString label = QString::fromUtf8((*it)->Label.getValue()); - QString name = QString::fromLatin1((*it)->getNameInDocument()); + QString label = QString::fromUtf8(obj->Label.getValue()); + QString name = QString::fromLatin1(obj->getNameInDocument()); QTreeWidgetItem* child = new BooleanOperationItem(); child->setCheckState(0, Qt::Unchecked); child->setText(0, label); child->setToolTip(0, label); child->setData(0, Qt::UserRole, name); - Gui::ViewProvider* vp = activeGui->getViewProvider(*it); + Gui::ViewProvider* vp = activeGui->getViewProvider(obj); if (vp) child->setIcon(0, vp->getIcon()); @@ -268,7 +268,7 @@ void DlgBooleanOperation::findShapes() } if (!item_left || !item_right) { - bool selected = Gui::Selection().isSelected(*it); + bool selected = Gui::Selection().isSelected(obj); if (!item_left && selected) item_left = child; else if (!item_right && selected) @@ -478,11 +478,6 @@ TaskBooleanOperation::TaskBooleanOperation() Content.push_back(taskbox); } -TaskBooleanOperation::~TaskBooleanOperation() -{ - // automatically deleted in the sub-class -} - void TaskBooleanOperation::clicked(int id) { if (id == QDialogButtonBox::Apply) { diff --git a/src/Mod/Part/Gui/DlgBooleanOperation.h b/src/Mod/Part/Gui/DlgBooleanOperation.h index ef28764ede..f263f5f475 100644 --- a/src/Mod/Part/Gui/DlgBooleanOperation.h +++ b/src/Mod/Part/Gui/DlgBooleanOperation.h @@ -73,7 +73,6 @@ class TaskBooleanOperation : public Gui::TaskView::TaskDialog public: TaskBooleanOperation(); - ~TaskBooleanOperation() override; public: void clicked(int) override; diff --git a/src/Mod/Part/Gui/DlgExportStep.cpp b/src/Mod/Part/Gui/DlgExportStep.cpp index 295b0a2709..ed4ecca4d9 100644 --- a/src/Mod/Part/Gui/DlgExportStep.cpp +++ b/src/Mod/Part/Gui/DlgExportStep.cpp @@ -69,10 +69,7 @@ DlgExportStep::DlgExportStep(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgExportStep::~DlgExportStep() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgExportStep::~DlgExportStep() = default; void DlgExportStep::saveSettings() { @@ -158,9 +155,7 @@ DlgExportHeaderStep::DlgExportHeaderStep(QWidget* parent) ui->lineEditAuthor->setValidator(authorValidator); } -DlgExportHeaderStep::~DlgExportHeaderStep() -{ -} +DlgExportHeaderStep::~DlgExportHeaderStep() = default; void DlgExportHeaderStep::saveSettings() { diff --git a/src/Mod/Part/Gui/DlgExtrusion.cpp b/src/Mod/Part/Gui/DlgExtrusion.cpp index 4ca834fc5a..775f9f6aec 100644 --- a/src/Mod/Part/Gui/DlgExtrusion.cpp +++ b/src/Mod/Part/Gui/DlgExtrusion.cpp @@ -382,8 +382,8 @@ void DlgExtrusion::findShapes() std::vector objs = activeDoc->getObjectsOfType(); - for (std::vector::iterator it = objs.begin(); it!=objs.end(); ++it) { - Part::TopoShape topoShape = Part::Feature::getTopoShape(*it); + for (auto obj : objs) { + Part::TopoShape topoShape = Part::Feature::getTopoShape(obj); if (topoShape.isNull()) { continue; } @@ -391,9 +391,9 @@ void DlgExtrusion::findShapes() if (shape.IsNull()) continue; if (canExtrude(shape)) { QTreeWidgetItem* item = new QTreeWidgetItem(ui->treeWidget); - item->setText(0, QString::fromUtf8((*it)->Label.getValue())); - item->setData(0, Qt::UserRole, QString::fromLatin1((*it)->getNameInDocument())); - Gui::ViewProvider* vp = activeGui->getViewProvider(*it); + item->setText(0, QString::fromUtf8(obj->Label.getValue())); + item->setData(0, Qt::UserRole, QString::fromLatin1(obj->getNameInDocument())); + Gui::ViewProvider* vp = activeGui->getViewProvider(obj); if (vp) item->setIcon(0, vp->getIcon()); } @@ -618,8 +618,8 @@ std::vector DlgExtrusion::getShapesToExtrude() const throw Base::RuntimeError("Document lost"); std::vector objects; - for (int i = 0; i < items.size(); i++) { - App::DocumentObject* obj = doc->getObject(items[i]->data(0, Qt::UserRole).toString().toLatin1()); + for (auto item : items) { + App::DocumentObject* obj = doc->getObject(item->data(0, Qt::UserRole).toString().toLatin1()); if (!obj) throw Base::RuntimeError("Object not found"); objects.push_back(obj); @@ -761,11 +761,6 @@ TaskExtrusion::TaskExtrusion() Content.push_back(taskbox); } -TaskExtrusion::~TaskExtrusion() -{ - // automatically deleted in the sub-class -} - bool TaskExtrusion::accept() { widget->accept(); diff --git a/src/Mod/Part/Gui/DlgExtrusion.h b/src/Mod/Part/Gui/DlgExtrusion.h index 0deef402ce..bc45774642 100644 --- a/src/Mod/Part/Gui/DlgExtrusion.h +++ b/src/Mod/Part/Gui/DlgExtrusion.h @@ -106,7 +106,6 @@ class TaskExtrusion : public Gui::TaskView::TaskDialog public: TaskExtrusion(); - ~TaskExtrusion() override; public: bool accept() override; diff --git a/src/Mod/Part/Gui/DlgFilletEdges.cpp b/src/Mod/Part/Gui/DlgFilletEdges.cpp index c3302fd956..2bd0ba12bb 100644 --- a/src/Mod/Part/Gui/DlgFilletEdges.cpp +++ b/src/Mod/Part/Gui/DlgFilletEdges.cpp @@ -165,11 +165,12 @@ QVariant FilletRadiusModel::data(const QModelIndex& index, int role) const namespace PartGui { class EdgeFaceSelection : public Gui::SelectionFilterGate { - bool allowEdge; + bool allowEdge{true}; App::DocumentObject*& object; public: explicit EdgeFaceSelection(App::DocumentObject*& obj) - : Gui::SelectionFilterGate(nullPointer()), allowEdge(true), object(obj) + : Gui::SelectionFilterGate(nullPointer()) + , object(obj) { } void selectEdges() @@ -612,18 +613,18 @@ void DlgFilletEdges::setupFillet(const std::vector& objs) std::vector subElements; QStandardItemModel *model = qobject_cast(ui->treeView->model()); bool block = model->blockSignals(true); // do not call toggleCheckState - for (std::vector::const_iterator et = e.begin(); et != e.end(); ++et) { - std::vector::iterator it = std::find(d->edge_ids.begin(), d->edge_ids.end(), et->edgeid); + for (const auto & et : e) { + std::vector::iterator it = std::find(d->edge_ids.begin(), d->edge_ids.end(), et.edgeid); if (it != d->edge_ids.end()) { int index = it - d->edge_ids.begin(); model->setData(model->index(index, 0), Qt::Checked, Qt::CheckStateRole); //model->setData(model->index(index, 1), QVariant(QLocale().toString(et->radius1,'f',Base::UnitsApi::getDecimals()))); //model->setData(model->index(index, 2), QVariant(QLocale().toString(et->radius2,'f',Base::UnitsApi::getDecimals()))); - model->setData(model->index(index, 1), QVariant::fromValue(Base::Quantity(et->radius1, Base::Unit::Length))); - model->setData(model->index(index, 2), QVariant::fromValue(Base::Quantity(et->radius2, Base::Unit::Length))); + model->setData(model->index(index, 1), QVariant::fromValue(Base::Quantity(et.radius1, Base::Unit::Length))); + model->setData(model->index(index, 2), QVariant::fromValue(Base::Quantity(et.radius2, Base::Unit::Length))); - startRadius = et->radius1; - endRadius = et->radius2; + startRadius = et.radius1; + endRadius = et.radius2; if (startRadius != endRadius) twoRadii = true; @@ -771,15 +772,15 @@ void DlgFilletEdges::onShapeObjectActivated(int itemPos) model->insertRows(0, d->edge_ids.size()); int index = 0; - for (std::vector::iterator it = d->edge_ids.begin(); it != d->edge_ids.end(); ++it) { - model->setData(model->index(index, 0), QVariant(tr("Edge%1").arg(*it))); - model->setData(model->index(index, 0), QVariant(*it), Qt::UserRole); + for (int id : d->edge_ids) { + model->setData(model->index(index, 0), QVariant(tr("Edge%1").arg(id))); + model->setData(model->index(index, 0), QVariant(id), Qt::UserRole); //model->setData(model->index(index, 1), QVariant(QLocale().toString(1.0,'f',Base::UnitsApi::getDecimals()))); //model->setData(model->index(index, 2), QVariant(QLocale().toString(1.0,'f',Base::UnitsApi::getDecimals()))); model->setData(model->index(index, 1), QVariant::fromValue(Base::Quantity(1.0,Base::Unit::Length))); model->setData(model->index(index, 2), QVariant::fromValue(Base::Quantity(1.0,Base::Unit::Length))); std::stringstream element; - element << "Edge" << *it; + element << "Edge" << id; if (Gui::Selection().isSelected(part, element.str().c_str())) model->setData(model->index(index, 0), Qt::Checked, Qt::CheckStateRole); else @@ -1010,9 +1011,7 @@ FilletEdgesDialog::FilletEdgesDialog(DlgFilletEdges::FilletType type, Part::Fill hboxLayout->addWidget(buttonBox); } -FilletEdgesDialog::~FilletEdgesDialog() -{ -} +FilletEdgesDialog::~FilletEdgesDialog() = default; void FilletEdgesDialog::accept() { @@ -1072,9 +1071,7 @@ DlgChamferEdges::DlgChamferEdges(Part::FilletBase* chamfer, QWidget* parent, Qt: /* * Destroys the object and frees any allocated resources */ -DlgChamferEdges::~DlgChamferEdges() -{ -} +DlgChamferEdges::~DlgChamferEdges() = default; const char* DlgChamferEdges::getFilletType() const { diff --git a/src/Mod/Part/Gui/DlgImportStep.cpp b/src/Mod/Part/Gui/DlgImportStep.cpp index 091002adf7..a0438fff90 100644 --- a/src/Mod/Part/Gui/DlgImportStep.cpp +++ b/src/Mod/Part/Gui/DlgImportStep.cpp @@ -50,10 +50,7 @@ DlgImportStep::DlgImportStep(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgImportStep::~DlgImportStep() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgImportStep::~DlgImportStep() = default; void DlgImportStep::saveSettings() { diff --git a/src/Mod/Part/Gui/DlgPartBoxImp.cpp b/src/Mod/Part/Gui/DlgPartBoxImp.cpp index efa0f22f70..acf9972b63 100644 --- a/src/Mod/Part/Gui/DlgPartBoxImp.cpp +++ b/src/Mod/Part/Gui/DlgPartBoxImp.cpp @@ -43,9 +43,6 @@ DlgPartBoxImp::DlgPartBoxImp(QWidget* parent, Qt::WindowFlags fl) /* * Destroys the object and frees any allocated resources */ -DlgPartBoxImp::~DlgPartBoxImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgPartBoxImp::~DlgPartBoxImp() = default; #include "moc_DlgPartBoxImp.cpp" diff --git a/src/Mod/Part/Gui/DlgPartCylinderImp.cpp b/src/Mod/Part/Gui/DlgPartCylinderImp.cpp index 5b3b84cc60..da3c88bf17 100644 --- a/src/Mod/Part/Gui/DlgPartCylinderImp.cpp +++ b/src/Mod/Part/Gui/DlgPartCylinderImp.cpp @@ -36,10 +36,7 @@ DlgPartCylinderImp::DlgPartCylinderImp(QWidget* parent, Qt::WindowFlags fl) /* * Destroys the object and frees any allocated resources */ -DlgPartCylinderImp::~DlgPartCylinderImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgPartCylinderImp::~DlgPartCylinderImp() = default; Ui_DlgPartCylinderPtr DlgPartCylinderImp::getUi() const { diff --git a/src/Mod/Part/Gui/DlgPartImportIgesImp.cpp b/src/Mod/Part/Gui/DlgPartImportIgesImp.cpp index f8f3d2d9e5..6b893b6c20 100644 --- a/src/Mod/Part/Gui/DlgPartImportIgesImp.cpp +++ b/src/Mod/Part/Gui/DlgPartImportIgesImp.cpp @@ -50,10 +50,7 @@ DlgPartImportIgesImp::DlgPartImportIgesImp(QWidget* parent, Qt::WindowFlags fl) /* * Destroys the object and frees any allocated resources */ -DlgPartImportIgesImp::~DlgPartImportIgesImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgPartImportIgesImp::~DlgPartImportIgesImp() = default; /* * public slot diff --git a/src/Mod/Part/Gui/DlgPartImportStepImp.cpp b/src/Mod/Part/Gui/DlgPartImportStepImp.cpp index 64cc5a7f98..f9671d63fc 100644 --- a/src/Mod/Part/Gui/DlgPartImportStepImp.cpp +++ b/src/Mod/Part/Gui/DlgPartImportStepImp.cpp @@ -50,10 +50,7 @@ DlgPartImportStepImp::DlgPartImportStepImp( QWidget* parent, Qt::WindowFlags fl /* * Destroys the object and frees any allocated resources */ -DlgPartImportStepImp::~DlgPartImportStepImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgPartImportStepImp::~DlgPartImportStepImp() = default; /* * public slot diff --git a/src/Mod/Part/Gui/DlgPrimitives.cpp b/src/Mod/Part/Gui/DlgPrimitives.cpp index c6c9c24291..0d6d1c525a 100644 --- a/src/Mod/Part/Gui/DlgPrimitives.cpp +++ b/src/Mod/Part/Gui/DlgPrimitives.cpp @@ -1805,9 +1805,7 @@ DlgPrimitives::DlgPrimitives(QWidget* parent, Part::Primitive* feature) /* * Destroys the object and frees any allocated resources */ -DlgPrimitives::~DlgPrimitives() -{ -} +DlgPrimitives::~DlgPrimitives() = default; void DlgPrimitives::activatePage() { @@ -2199,11 +2197,6 @@ TaskPrimitives::TaskPrimitives() Content.push_back(taskbox); } -TaskPrimitives::~TaskPrimitives() -{ - // automatically deleted in the sub-class -} - QDialogButtonBox::StandardButtons TaskPrimitives::getStandardButtons() const { return QDialogButtonBox::Close| @@ -2247,11 +2240,6 @@ TaskPrimitivesEdit::TaskPrimitivesEdit(Part::Primitive* feature) Content.push_back(taskbox); } -TaskPrimitivesEdit::~TaskPrimitivesEdit() -{ - // automatically deleted in the sub-class -} - QDialogButtonBox::StandardButtons TaskPrimitivesEdit::getStandardButtons() const { return QDialogButtonBox::Cancel | diff --git a/src/Mod/Part/Gui/DlgPrimitives.h b/src/Mod/Part/Gui/DlgPrimitives.h index 5b8779447d..76d741e4fa 100644 --- a/src/Mod/Part/Gui/DlgPrimitives.h +++ b/src/Mod/Part/Gui/DlgPrimitives.h @@ -61,19 +61,14 @@ namespace PartGui { class Picker { public: - Picker() : exitCode(-1) - { - } - virtual ~Picker() - { - } + virtual ~Picker() = default; virtual bool pickedPoint(const SoPickedPoint * point) = 0; virtual QString command(App::Document*) const = 0; void createPrimitive(QWidget* widget, const QString&, Gui::Document*); QString toPlacement(const gp_Ax2&) const; - int exitCode; + int exitCode{-1}; QEventLoop loop; }; @@ -454,7 +449,6 @@ class TaskPrimitives : public Gui::TaskView::TaskDialog public: TaskPrimitives(); - ~TaskPrimitives() override; public: bool accept() override; @@ -473,7 +467,6 @@ class TaskPrimitivesEdit : public Gui::TaskView::TaskDialog public: explicit TaskPrimitivesEdit(Part::Primitive* feature); - ~TaskPrimitivesEdit() override; public: bool accept() override; diff --git a/src/Mod/Part/Gui/DlgProjectionOnSurface.cpp b/src/Mod/Part/Gui/DlgProjectionOnSurface.cpp index deae279067..4d0704f981 100644 --- a/src/Mod/Part/Gui/DlgProjectionOnSurface.cpp +++ b/src/Mod/Part/Gui/DlgProjectionOnSurface.cpp @@ -70,7 +70,7 @@ public: { canSelect = false; } - ~EdgeSelection() override {} + ~EdgeSelection() override = default; bool allow(App::Document* /*pDoc*/, App::DocumentObject* iPObj, const char* sSubName) override { @@ -104,7 +104,7 @@ public: { canSelect = false; } - ~FaceSelection() override {} + ~FaceSelection() override = default; bool allow(App::Document* /*pDoc*/, App::DocumentObject* iPObj, const char* sSubName) override { @@ -407,16 +407,16 @@ void PartGui::DlgProjectionOnSurface::store_current_selected_parts(std::vectorgetSubNames().empty() ) { auto parentShape = currentShapeStore.inputShape; - for (auto itName = selObj.front().getSubNames().begin(); itName != selObj.front().getSubNames().end(); ++itName) + for (const auto & itName : selObj.front().getSubNames()) { - auto currentShape = aPart->Shape.getShape().getSubShape(itName->c_str()); + auto currentShape = aPart->Shape.getShape().getSubShape(itName.c_str()); transform_shape_to_global_position(currentShape, aPart); currentShapeStore.inputShape = currentShape; - currentShapeStore.partName = *itName; + currentShapeStore.partName = itName; auto store = store_part_in_vector(currentShapeStore, iStoreVec); - higlight_object(aPart, *itName, store, iColor); + higlight_object(aPart, itName, store, iColor); store_wire_in_vector(currentShapeStore, parentShape, iStoreVec, iColor); } } @@ -549,7 +549,7 @@ void PartGui::DlgProjectionOnSurface::create_projection_wire(std::vector& iShapeVec) { if (iShapeVec.empty()) - return TopoDS_Shape(); + return {}; TopoDS_Compound aCompound; TopoDS_Builder aBuilder; @@ -856,7 +856,7 @@ TopoDS_Wire PartGui::DlgProjectionOnSurface::sort_and_heal_wire(const std::vecto shapeAnalyzer.ConnectEdgesToWires(shapeList, 0.0001, false, aWireHandle); shapeAnalyzer.ConnectWiresToWires(aWireHandle, 0.0001, false, aWireWireHandle); if (!aWireWireHandle) - return TopoDS_Wire(); + return {}; for (auto it = 1; it <= aWireWireHandle->Length(); ++it) { auto aShape = TopoDS::Wire(aWireWireHandle->Value(it)); @@ -871,7 +871,7 @@ TopoDS_Wire PartGui::DlgProjectionOnSurface::sort_and_heal_wire(const std::vecto Q_UNUSED(retVal); return TopoDS::Wire(aWireFramFix.Shape()); } - return TopoDS_Wire(); + return {}; } void PartGui::DlgProjectionOnSurface::create_face_extrude(std::vector& iCurrentShape) @@ -1107,11 +1107,6 @@ TaskProjectionOnSurface::TaskProjectionOnSurface() Content.push_back(taskbox); } -TaskProjectionOnSurface::~TaskProjectionOnSurface() -{ - // automatically deleted in the sub-class -} - bool TaskProjectionOnSurface::accept() { widget->apply(); diff --git a/src/Mod/Part/Gui/DlgProjectionOnSurface.h b/src/Mod/Part/Gui/DlgProjectionOnSurface.h index 4fd5bcb3d5..822e3466ce 100644 --- a/src/Mod/Part/Gui/DlgProjectionOnSurface.h +++ b/src/Mod/Part/Gui/DlgProjectionOnSurface.h @@ -151,7 +151,6 @@ class TaskProjectionOnSurface : public Gui::TaskView::TaskDialog public: TaskProjectionOnSurface(); - ~TaskProjectionOnSurface() override; public: bool accept() override; diff --git a/src/Mod/Part/Gui/DlgRevolution.cpp b/src/Mod/Part/Gui/DlgRevolution.cpp index d2b684b609..65bb7fef77 100644 --- a/src/Mod/Part/Gui/DlgRevolution.cpp +++ b/src/Mod/Part/Gui/DlgRevolution.cpp @@ -247,8 +247,8 @@ std::vector DlgRevolution::getShapesToRevolve() const throw Base::RuntimeError("Document lost"); std::vector objects; - for (int i = 0; i < items.size(); i++) { - App::DocumentObject* obj = doc->getObject(items[i]->data(0, Qt::UserRole).toString().toLatin1()); + for (auto item : items) { + App::DocumentObject* obj = doc->getObject(item->data(0, Qt::UserRole).toString().toLatin1()); if (!obj) throw Base::RuntimeError("Object not found"); objects.push_back(obj); @@ -341,8 +341,8 @@ void DlgRevolution::findShapes() std::vector objs = activeDoc->getObjectsOfType(); - for (std::vector::iterator it = objs.begin(); it!=objs.end(); ++it) { - Part::TopoShape topoShape = Part::Feature::getTopoShape(*it); + for (auto obj : objs) { + Part::TopoShape topoShape = Part::Feature::getTopoShape(obj); if (topoShape.isNull()) { continue; } @@ -356,9 +356,9 @@ void DlgRevolution::findShapes() if (xp.More()) continue; // compound solids not allowed // So allowed are: vertex, edge, wire, face, shell and compound QTreeWidgetItem* item = new QTreeWidgetItem(ui->treeWidget); - item->setText(0, QString::fromUtf8((*it)->Label.getValue())); - item->setData(0, Qt::UserRole, QString::fromLatin1((*it)->getNameInDocument())); - Gui::ViewProvider* vp = activeGui->getViewProvider(*it); + item->setText(0, QString::fromUtf8(obj->Label.getValue())); + item->setData(0, Qt::UserRole, QString::fromLatin1(obj->getNameInDocument())); + Gui::ViewProvider* vp = activeGui->getViewProvider(obj); if (vp) item->setIcon(0, vp->getIcon()); } } @@ -398,8 +398,8 @@ void DlgRevolution::accept() else { symmetric = QString::fromLatin1("False");} - for (QList::iterator it = items.begin(); it != items.end(); ++it) { - shape = (*it)->data(0, Qt::UserRole).toString(); + for (auto item : items) { + shape = item->data(0, Qt::UserRole).toString(); type = QString::fromLatin1("Part::Revolution"); name = QString::fromLatin1(activeDoc->getUniqueObjectName("Revolve").c_str()); Base::Vector3d axis = this->getDirection(); @@ -577,11 +577,6 @@ TaskRevolution::TaskRevolution() Content.push_back(taskbox); } -TaskRevolution::~TaskRevolution() -{ - // automatically deleted in the sub-class -} - bool TaskRevolution::accept() { widget->accept(); diff --git a/src/Mod/Part/Gui/DlgRevolution.h b/src/Mod/Part/Gui/DlgRevolution.h index 0232053952..eae9e532fc 100644 --- a/src/Mod/Part/Gui/DlgRevolution.h +++ b/src/Mod/Part/Gui/DlgRevolution.h @@ -89,7 +89,6 @@ class TaskRevolution : public Gui::TaskView::TaskDialog public: TaskRevolution(); - ~TaskRevolution() override; public: bool accept() override; diff --git a/src/Mod/Part/Gui/DlgSettings3DViewPartImp.cpp b/src/Mod/Part/Gui/DlgSettings3DViewPartImp.cpp index f35e5a4a84..cb6210b5cd 100644 --- a/src/Mod/Part/Gui/DlgSettings3DViewPartImp.cpp +++ b/src/Mod/Part/Gui/DlgSettings3DViewPartImp.cpp @@ -56,10 +56,7 @@ DlgSettings3DViewPart::DlgSettings3DViewPart(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgSettings3DViewPart::~DlgSettings3DViewPart() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettings3DViewPart::~DlgSettings3DViewPart() = default; void DlgSettings3DViewPart::onMaxDeviationValueChanged(double v) { @@ -80,11 +77,11 @@ void DlgSettings3DViewPart::saveSettings() // search for Part view providers and apply the new settings std::vector docs = App::GetApplication().getDocuments(); - for (std::vector::iterator it = docs.begin(); it != docs.end(); ++it) { - Gui::Document* doc = Gui::Application::Instance->getDocument(*it); + for (auto it : docs) { + Gui::Document* doc = Gui::Application::Instance->getDocument(it); std::vector views = doc->getViewProvidersOfType(ViewProviderPart::getClassTypeId()); - for (std::vector::iterator jt = views.begin(); jt != views.end(); ++jt) { - static_cast(*jt)->reload(); + for (auto view : views) { + static_cast(view)->reload(); } } } diff --git a/src/Mod/Part/Gui/DlgSettingsGeneral.cpp b/src/Mod/Part/Gui/DlgSettingsGeneral.cpp index d90753b05e..f9b9545005 100644 --- a/src/Mod/Part/Gui/DlgSettingsGeneral.cpp +++ b/src/Mod/Part/Gui/DlgSettingsGeneral.cpp @@ -52,10 +52,7 @@ DlgSettingsGeneral::DlgSettingsGeneral(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgSettingsGeneral::~DlgSettingsGeneral() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsGeneral::~DlgSettingsGeneral() = default; void DlgSettingsGeneral::saveSettings() { @@ -111,10 +108,7 @@ DlgImportExportIges::DlgImportExportIges(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgImportExportIges::~DlgImportExportIges() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgImportExportIges::~DlgImportExportIges() = default; void DlgImportExportIges::saveSettings() { @@ -191,10 +185,7 @@ DlgImportExportStep::DlgImportExportStep(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgImportExportStep::~DlgImportExportStep() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgImportExportStep::~DlgImportExportStep() = default; void DlgImportExportStep::saveSettings() { diff --git a/src/Mod/Part/Gui/DlgSettingsMeasure.cpp b/src/Mod/Part/Gui/DlgSettingsMeasure.cpp index c202818e0b..7034473b74 100644 --- a/src/Mod/Part/Gui/DlgSettingsMeasure.cpp +++ b/src/Mod/Part/Gui/DlgSettingsMeasure.cpp @@ -40,10 +40,7 @@ DlgSettingsMeasure::DlgSettingsMeasure(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgSettingsMeasure::~DlgSettingsMeasure() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsMeasure::~DlgSettingsMeasure() = default; void DlgSettingsMeasure::saveSettings() { diff --git a/src/Mod/Part/Gui/DlgSettingsObjectColor.cpp b/src/Mod/Part/Gui/DlgSettingsObjectColor.cpp index 251fbae891..cf4ae774c3 100644 --- a/src/Mod/Part/Gui/DlgSettingsObjectColor.cpp +++ b/src/Mod/Part/Gui/DlgSettingsObjectColor.cpp @@ -45,10 +45,7 @@ DlgSettingsObjectColor::DlgSettingsObjectColor(QWidget* parent) /** * Destroys the object and frees any allocated resources */ -DlgSettingsObjectColor::~DlgSettingsObjectColor() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsObjectColor::~DlgSettingsObjectColor() = default; void DlgSettingsObjectColor::saveSettings() { diff --git a/src/Mod/Part/Gui/Mirroring.cpp b/src/Mod/Part/Gui/Mirroring.cpp index 335df72fc5..c41609ac1f 100644 --- a/src/Mod/Part/Gui/Mirroring.cpp +++ b/src/Mod/Part/Gui/Mirroring.cpp @@ -80,10 +80,7 @@ Mirroring::Mirroring(QWidget* parent) /* * Destroys the object and frees any allocated resources */ -Mirroring::~Mirroring() -{ - // no need to delete child widgets, Qt does it all for us -} +Mirroring::~Mirroring() = default; void Mirroring::changeEvent(QEvent *e) { @@ -105,17 +102,17 @@ void Mirroring::findShapes() this->document = QString::fromLatin1(activeDoc->getName()); std::vector objs = activeDoc->getObjectsOfType(); - for (std::vector::iterator it = objs.begin(); it!=objs.end(); ++it) { - Part::TopoShape shape = Part::Feature::getTopoShape(*it); + for (auto obj : objs) { + Part::TopoShape shape = Part::Feature::getTopoShape(obj); if (!shape.isNull()) { - QString label = QString::fromUtf8((*it)->Label.getValue()); - QString name = QString::fromLatin1((*it)->getNameInDocument()); + QString label = QString::fromUtf8(obj->Label.getValue()); + QString name = QString::fromLatin1(obj->getNameInDocument()); QTreeWidgetItem* child = new QTreeWidgetItem(); child->setText(0, label); child->setToolTip(0, label); child->setData(0, Qt::UserRole, name); - Gui::ViewProvider* vp = activeGui->getViewProvider(*it); + Gui::ViewProvider* vp = activeGui->getViewProvider(obj); if (vp) child->setIcon(0, vp->getIcon()); ui->shapes->addTopLevelItem(child); } @@ -155,9 +152,9 @@ bool Mirroring::accept() double basex = ui->baseX->value().getValue(); double basey = ui->baseY->value().getValue(); double basez = ui->baseZ->value().getValue(); - for (QList::iterator it = items.begin(); it != items.end(); ++it) { - shape = (*it)->data(0, Qt::UserRole).toString(); - std::string escapedstr = Base::Tools::escapedUnicodeFromUtf8((*it)->text(0).toUtf8()); + for (auto item : items) { + shape = item->data(0, Qt::UserRole).toString(); + std::string escapedstr = Base::Tools::escapedUnicodeFromUtf8(item->text(0).toUtf8()); label = QString::fromStdString(escapedstr); // if we already have the suffix " (Mirror #)" remove it @@ -201,11 +198,6 @@ TaskMirroring::TaskMirroring() Content.push_back(taskbox); } -TaskMirroring::~TaskMirroring() -{ - // automatically deleted in the sub-class -} - bool TaskMirroring::accept() { return widget->accept(); diff --git a/src/Mod/Part/Gui/Mirroring.h b/src/Mod/Part/Gui/Mirroring.h index 1fbfc1fee9..27bde2dc5e 100644 --- a/src/Mod/Part/Gui/Mirroring.h +++ b/src/Mod/Part/Gui/Mirroring.h @@ -61,7 +61,6 @@ class TaskMirroring : public Gui::TaskView::TaskDialog public: TaskMirroring(); - ~TaskMirroring() override; public: bool accept() override; diff --git a/src/Mod/Part/Gui/PropertyEnumAttacherItem.cpp b/src/Mod/Part/Gui/PropertyEnumAttacherItem.cpp index c58521e8e4..28bb8cd924 100644 --- a/src/Mod/Part/Gui/PropertyEnumAttacherItem.cpp +++ b/src/Mod/Part/Gui/PropertyEnumAttacherItem.cpp @@ -40,9 +40,7 @@ using namespace PartGui; PROPERTYITEM_SOURCE(PartGui::PropertyEnumAttacherItem) -PropertyEnumAttacherItem::PropertyEnumAttacherItem() -{ -} +PropertyEnumAttacherItem::PropertyEnumAttacherItem() = default; QWidget* PropertyEnumAttacherItem::createEditor(QWidget* parent, const QObject* receiver, const char* method) const { diff --git a/src/Mod/Part/Gui/Resources/translations/Part.ts b/src/Mod/Part/Gui/Resources/translations/Part.ts index bfaa2e42fd..036347af48 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part.ts @@ -2307,53 +2307,53 @@ of projection. - + Convert mesh - + Edit attachment - + Change face colors - + Loft - + Edge - + Wire - - + + Face - + Shell - + Solid - + Sweep @@ -2591,42 +2591,42 @@ Note: The placement is expressed in local space of object being attached. - + Select a shape on the left side, first - + Select a shape on the right side, first - + Cannot perform a boolean operation with the same shape - + No active document available - + One of the selected objects doesn't exist anymore - + Performing union on non-solids is not possible - + Performing intersection on non-solids is not possible - + Performing difference on non-solids is not possible @@ -2634,7 +2634,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges @@ -2990,7 +2990,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter @@ -3040,105 +3040,105 @@ If both lengths are zero, magnitude of direction is used. - + Chamfer Parameter - + Chamfer type - + Length: - + Edges to chamfer - + Start length - + Equal distance - + Two distances - + Size - + Size2 - + Fillet type - + Edges to fillet - - + + Start radius - + End radius - - + + Edge%1 - + Length - + Radius - + No shape selected - + No valid shape is selected. Please select a valid shape in the drop-down box first. - + No edge selected - + No edge entity is checked to fillet. Please check one or more edge entities first. @@ -3245,7 +3245,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP @@ -3477,12 +3477,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES - + All Files @@ -3503,12 +3503,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP - + All Files @@ -3854,20 +3854,20 @@ during file reading (slower but higher details). - - - - + + + + Create %1 - + No active document - + &Create @@ -4130,12 +4130,12 @@ during file reading (slower but higher details). - + Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4455,37 +4455,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles - + Selected profiles - + Too few elements - + At least two vertices, edges, wires or faces are required. - + Input error - + Vertex/Edge/Wire/Face - + Loft @@ -4543,12 +4543,12 @@ the sketch plane's normal vector will be used - + Select a shape for mirroring, first. - + No such document '%1'. @@ -4556,7 +4556,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error @@ -4706,80 +4706,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported - + Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection - - + + Select two vertices - - + + Select one or more edges - + Select three or more vertices - + Select two or more faces - + Select only one part object - + Select two vertices to create an edge - + Select adjacent edges - + Select a list of vertices - + Select a closed set of edges - + Select adjacent faces - + All shape types can be selected @@ -4805,90 +4805,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles - + Selected profiles - + Too few elements - + At least one edge or wire is required. - + Invalid selection - + Select one or more edges from a single object. - + Wrong selection - + '%1' cannot be used as profile and path. - + Input error - + Done - + Select one or more connected edges in the 3d view and press 'Done' - - + + Sweep path - - + + The selected sweep path is invalid. - + Vertex/Wire - + Sweep PartGui::TaskAttacher - - - Form - - Selection accepted @@ -4921,7 +4916,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): @@ -4995,77 +4990,77 @@ of object being attached. - + OCC error: %1 - + unknown error - + Attachment mode failed: %1 - + Not attached - + Attached with mode %1 - + Attachment Offset (inactive - not attached): - + Face - + Edge - + Vertex - + Selecting... - + Reference%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: - + %1 (add %2) - + %1 (add more references) @@ -5314,7 +5309,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error @@ -5322,7 +5317,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again @@ -5546,7 +5541,7 @@ by dragging a selection rectangle in the 3D view - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. @@ -5583,24 +5578,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness - + Select faces of the source object and press 'Done' - + Done - + Input error @@ -5653,27 +5648,27 @@ in the 3D view for the sweep path. - - + + Edit %1 - + Part and Part Design workbench + + - - Part/Part Design - - + + Import-Export @@ -5745,20 +5740,20 @@ Do you want to continue? - + Face - + Edge - + Vertex @@ -6038,44 +6033,44 @@ Do you want to continue? - - + + Selections - - + + Control - + Selection - + Reset selection - + Toggle direct dimensions - + Toggle orthogonal dimensions - + Clear all dimensions - + Set colors... @@ -6085,27 +6080,27 @@ Do you want to continue? - + Edit fillet edges - + Edit chamfer edges - + Edit offset - + Edit thickness - + Show control points diff --git a/src/Mod/Part/Gui/Resources/translations/Part_be.ts b/src/Mod/Part/Gui/Resources/translations/Part_be.ts index b8536031c8..24f02f1c8b 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_be.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_be.ts @@ -1510,7 +1510,7 @@ into its X, Y, and Z components. Offset: - Offset: + Зрушэнне: @@ -2315,53 +2315,53 @@ of projection. Выдаленне элемента - + Convert mesh Пераўтварыць паліганальную сетку - + Edit attachment Змяніць мацаванне - + Change face colors Змяніць колер грані - + Loft Профіль - + Edge Рабро - + Wire Ломаная - - + + Face Грань - + Shell Абалонка - + Solid Суцэльны - + Sweep Выцягнуць @@ -2602,42 +2602,42 @@ Note: The placement is expressed in local space of object being attached.Інвертаваць выбар - + Select a shape on the left side, first Спачатку абярыце фігуру з левага боку - + Select a shape on the right side, first Спачатку абярыце фігуру з правага боку - + Cannot perform a boolean operation with the same shape Не атрымалася выканаць лагічную аперацыю з той жа фігурай - + No active document available Бягучы дакумент недаступны - + One of the selected objects doesn't exist anymore Адзін з выбраных аб'ектаў больш не існуе - + Performing union on non-solids is not possible Выкананне злучэння на несуцэльных целах немагчыма - + Performing intersection on non-solids is not possible Выкананне скрыжавання на несуцэльных целах немагчыма - + Performing difference on non-solids is not possible Выкананне аднімання на несуцэльных целах немагчыма @@ -2645,7 +2645,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Зняць фаска на рэбрах @@ -2805,7 +2805,7 @@ the size of the resulting STEP file. Reversed - Reversed + Адваротны @@ -3011,7 +3011,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Налада акруглення @@ -3061,106 +3061,106 @@ If both lengths are zero, magnitude of direction is used. Радыус: - + Chamfer Parameter Налада фаскі - + Chamfer type Тып фаскі - + Length: Length: - + Edges to chamfer Рэбры для фаскі - + Start length Пачатковая даўжыня - + Equal distance Аднолькавыя адлегласці - + Two distances Дзве адлегласці - + Size Памер - + Size2 Памер2 - + Fillet type Тып акруглення - + Edges to fillet Рэбры для акруглення - - + + Start radius Пачатковы радыус - + End radius Канчатковы радыус - - + + Edge%1 Рабро%1 - + Length Даўжыня - + Radius Радыус - + No shape selected Фігура не абраная - + No valid shape is selected. Please select a valid shape in the drop-down box first. Не абрана дапушчальная фігура. Калі ласка, спачатку абярыце дапушчальную фігуру ў спісе. - + No edge selected Рабро не абранае - + No edge entity is checked to fillet. Please check one or more edge entities first. Ніводнае рабро не пазначанае як акругленае. @@ -3268,7 +3268,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3423,7 +3423,7 @@ during file reading (slower but higher details). Length: - Length: + Даўжыня: @@ -3500,12 +3500,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Усе файлы @@ -3526,12 +3526,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Усе файлы @@ -3647,7 +3647,7 @@ during file reading (slower but higher details). Length: - Length: + Даўжыня: @@ -3874,23 +3874,23 @@ during file reading (slower but higher details). Vertex - Vertex + Вяршыня - - - - + + + + Create %1 Стварыць %1 - + No active document Без бягучага дакумента - + &Create &Стварыць @@ -4157,12 +4157,12 @@ during file reading (slower but higher details). Найбольшае вуглавое адхіленне - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4484,37 +4484,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Даступныя профілі - + Selected profiles Абраныя профілі - + Too few elements Занадта мала элементаў - + At least two vertices, edges, wires or faces are required. Неабходна па меншай меры дзве вяршыні, рэбры, ломаныя лініі ці грані. - + Input error - Input error + Памылка ўводу - + Vertex/Edge/Wire/Face Вяршыня/Рабро/Ломаная лінія/Грань - + Loft Профіль @@ -4572,12 +4572,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Спачатку абярыце фігуру для сіметрыі. - + No such document '%1'. Адсутнічае такі дакумент '%1'. @@ -4585,9 +4585,9 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error - Input error + Памылка ўводу @@ -4737,80 +4737,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Не падтрымліваецца - + Box selection for shells is not supported Прастакутнік выбару для абалонкі не падтрымліваецца - - - - - - - + + + + + + + Wrong selection Няправільны выбар - - + + Select two vertices Абраць дзве вяршыні - - + + Select one or more edges Абраць адно ці болей рэбраў - + Select three or more vertices Абраць тры ці болей вяршыні - + Select two or more faces Абраць дзве ці болей грані - + Select only one part object Абраць толькі адзін аб'ект дэталі - + Select two vertices to create an edge Абраць дзве вяршыні каб стварыць рабро - + Select adjacent edges Абраць сумежныя рэбры - + Select a list of vertices Абраць спіс вяршынь - + Select a closed set of edges Абраць замкнуты набор рэбраў - + Select adjacent faces Абраць сумежныя грані - + All shape types can be selected Можна абраць усе тыпы фігур @@ -4836,90 +4836,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Даступныя профілі - + Selected profiles Абраныя профілі - + Too few elements Занадта мала элементаў - + At least one edge or wire is required. Патрабуецца прынамсі адно рабро ці ломаная лінія. - + Invalid selection Хібны выбар - + Select one or more edges from a single object. Абраць адзін ці некалькі рэбраў аднаго аб'екту. - + Wrong selection Няправільны выбар - + '%1' cannot be used as profile and path. '%1' не атрымалася ўжываць у якасці профілю і траекторыі. - + Input error - Input error + Памылка ўводу - + Done Гатова - + Select one or more connected edges in the 3d view and press 'Done' Абярыце адно ці некалькі злучаных рэбраў у трохмерным прадстаўленні, і націсніце 'Гатова' - - + + Sweep path Траекторыя выцягвання - - + + The selected sweep path is invalid. Хібная абраная траекторыя выцягвання. - + Vertex/Wire Vertex/Wire - + Sweep Выцягнуць PartGui::TaskAttacher - - - Form - Форма - Selection accepted @@ -4952,7 +4947,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Зрушэнне прымацавання (у лакальных каардынатах): @@ -5033,77 +5028,77 @@ of object being attached. Павярнуць бакі - + OCC error: %1 Памылка OpenCASCADE: %1 - + unknown error невядомая памылка - + Attachment mode failed: %1 Памылка рэжыму прымацавання: %1 - + Not attached Не прымацаваны - + Attached with mode %1 Прымацаваны ў рэжыме %1 - + Attachment Offset (inactive - not attached): Зрушэнне прымацавання (неактыўны - не прымацаваны): - + Face Грань - + Edge Рабро - + Vertex - Vertex + Вяршыня - + Selecting... Абраны... - + Reference%1 Апора%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Недаступны для змены, паколькі вярчэнне Зрушэння прымацавання абмежавана выразамі. - + Reference combinations: Камбінацыі арыенціраў: - + %1 (add %2) %1 (дадаць %2) - + %1 (add more references) %1 (дадаць болей арыенціраў) @@ -5362,7 +5357,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Дыялог пункту адліку: памылка ўводу @@ -5370,7 +5365,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Болей не паказваць гэтае дыялогавае акно @@ -5595,7 +5590,7 @@ by dragging a selection rectangle in the 3D view Вектар Фрэне - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Абярыце адзін ці некалькі профіляў, і абярыце рабро ці ломаную лінію ў трохмерным прадстаўленні для траекторыі выцягвання. @@ -5632,24 +5627,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Таўшчыня - + Select faces of the source object and press 'Done' Абярыце грані зыходнага аб'екта і націсніце 'Гатова' - + Done Гатова - + Input error Input error @@ -5702,27 +5697,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Змяніць %1 - + Part and Part Design workbench Варштаты Дэталь і Праектаванне дэталі + + - - Part/Part Design Дэталь/Праектаванне дэталі - - + + Import-Export Імпарт-Экспарт @@ -5795,22 +5790,22 @@ Do you want to continue? Без абраных спасылак - + Face Грань - + Edge Рабро - + Vertex - Vertex + Вяршыня @@ -6088,44 +6083,44 @@ Do you want to continue? Хібны - - + + Selections Абраныя - - + + Control Control - + Selection Выбар - + Reset selection Скінуць выбар - + Toggle direct dimensions Пераключыць прамыя вымярэнні - + Toggle orthogonal dimensions Пераключыць артаганальныя вымярэнні - + Clear all dimensions Ачысціць усе вымярэнні - + Set colors... Задаць колеры... @@ -6135,27 +6130,27 @@ Do you want to continue? Змяніць плоскасць сіметрыі - + Edit fillet edges Змяніць акругленне рэбраў - + Edit chamfer edges Змяніць фаску рэбраў - + Edit offset Змяніць зрушэнне - + Edit thickness Змяніць таўшчыню - + Show control points Паказаць кантрольныя кропкі diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ca.ts b/src/Mod/Part/Gui/Resources/translations/Part_ca.ts index 27d6a20d9d..d0188d7906 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ca.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ca.ts @@ -2317,53 +2317,53 @@ de projecció. Suprimir la funcionalitat - + Convert mesh Convertir malla - + Edit attachment Editar adjunt - + Change face colors Cambiar colors de la cara - + Loft Altell - + Edge Vora - + Wire Cable - - + + Face Cara - + Shell Entorns - + Solid Sòlid - + Sweep Escombrar @@ -2604,42 +2604,42 @@ Nota: La ubicació s'expressa en l'espai local de l'objecte que s'adjunta.Intercanvia selecció - + Select a shape on the left side, first Seleccioneu forma de l'esquerra primer - + Select a shape on the right side, first Seleccioneu forma de la dreta primer - + Cannot perform a boolean operation with the same shape No es pot realitzar una operació booleana amb la mateixa forma - + No active document available Document actiu no disponible - + One of the selected objects doesn't exist anymore Un dels objectes seleccionats no existeix - + Performing union on non-solids is not possible La unió dels no sòlids no és possible de fer - + Performing intersection on non-solids is not possible Realització d'intersecció dels no sòlids no és possible - + Performing difference on non-solids is not possible Realització de diferència sobre els no sòlids no és possible @@ -2647,7 +2647,7 @@ Nota: La ubicació s'expressa en l'espai local de l'objecte que s'adjunta. PartGui::DlgChamferEdges - + Chamfer Edges Arestes del xamfrà @@ -3015,7 +3015,7 @@ Si les dues longituds són zero, s'utilitza la magnitud de la direcció. - + Fillet Parameter Arrodonir @@ -3065,105 +3065,105 @@ Si les dues longituds són zero, s'utilitza la magnitud de la direcció.Radi: - + Chamfer Parameter Paràmetres del Xamfrà - + Chamfer type Tipus de xamfrà - + Length: Longitud: - + Edges to chamfer Xamfranar Arestes - + Start length Longitud de l'inici - + Equal distance Distància igual - + Two distances Dues distàncies - + Size Mida - + Size2 Duplicar - + Fillet type Perfil circular - + Edges to fillet Arestes per a arrodonir - - + + Start radius Ràdi inicial - + End radius Ràdi Final - - + + Edge%1 Vora% 1 - + Length Longitud - + Radius Radi - + No shape selected Forma no seleccionada - + No valid shape is selected. Please select a valid shape in the drop-down box first. Selecció no vàlida. Si us plau seleccioni una forma vàlida en el quadre desplegable en primer lloc. - + No edge selected Vora no seleccionada - + No edge entity is checked to fillet. Please check one or more edge entities first. Perfil no comprovat. Si us plau marqui una o més entitats de vora en primer lloc. @@ -3270,7 +3270,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3503,12 +3503,12 @@ durant la lectura del fitxer (detalls més lents però més alts). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Tots els fitxers @@ -3529,12 +3529,12 @@ durant la lectura del fitxer (detalls més lents però més alts). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Tots els fitxers @@ -3880,20 +3880,20 @@ durant la lectura del fitxer (detalls més lents però més alts). Vertex - - - - + + + + Create %1 Creat %1 - + No active document Document no Actiu - + &Create &Crea @@ -4156,12 +4156,12 @@ durant la lectura del fitxer (detalls més lents però més alts). Deflecció màxima angular - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4485,37 +4485,37 @@ s'utilitzarà el vector normal del pla d'esbós PartGui::LoftWidget - + Available profiles Perfils disponibles - + Selected profiles Perfils seleccionats - + Too few elements També alguns elements - + At least two vertices, edges, wires or faces are required. Calen com a mínim dos vèrtexs, arestes, Fils o cares. - + Input error Error d'entrada - + Vertex/Edge/Wire/Face Vèrtex/Marge/cable/cara - + Loft Altell @@ -4573,12 +4573,12 @@ s'utilitzarà el vector normal del pla d'esbós z - + Select a shape for mirroring, first. Seleccioneu primer, una forma per reflectir,. - + No such document '%1'. No trobo document "%1". @@ -4586,7 +4586,7 @@ s'utilitzarà el vector normal del pla d'esbós PartGui::OffsetWidget - + Input error Error d'entrada @@ -4738,80 +4738,80 @@ només seran visibles els talls creats PartGui::ShapeBuilderWidget - + Unsupported No és compatible - + Box selection for shells is not supported No se suporta la caixa de selecció de carcasses (shell) - - - - - - - + + + + + + + Wrong selection Selecció incorrecta - - + + Select two vertices Seleccioneu dos vèrtexs - - + + Select one or more edges Seleccioneu un o més vores - + Select three or more vertices Seleccioneu tres o més vèrtexs - + Select two or more faces Seleccionar dos o més cares - + Select only one part object Seleccioneu una part del objecte - + Select two vertices to create an edge Seleccioneu dos vèrtexs per crear un cantell - + Select adjacent edges Selecciona les arestes adjacents - + Select a list of vertices Seleccioneu una llista de vèrtexs - + Select a closed set of edges Seleccioneu un conjunt tancat de vores - + Select adjacent faces Seleccioneu les cares adjacents - + All shape types can be selected Es poden seleccionar tots els tipus de forma @@ -4837,90 +4837,85 @@ només seran visibles els talls creats PartGui::SweepWidget - + Available profiles Perfils disponibles - + Selected profiles Perfils seleccionats - + Too few elements També alguns elements - + At least one edge or wire is required. Es requereix almenys una vora o filferro. - + Invalid selection Selecció no vàlid - + Select one or more edges from a single object. Seleccioneu una o més vores d'un sol objecte. - + Wrong selection Selecció incorrecta - + '%1' cannot be used as profile and path. '%1' no es pot utilitzar com a perfil i recorregut. - + Input error Error d'entrada - + Done Fet - + Select one or more connected edges in the 3d view and press 'Done' Seleccioneu un o més vores connectats a la vista 3D i premi "Fet" - - + + Sweep path Trajecte d'escombrat - - + + The selected sweep path is invalid. La trajectòria d'escombrat seleccionat no és vàlid ". - + Vertex/Wire Vertex/Wire - + Sweep Escombrar PartGui::TaskAttacher - - - Form - Forma - Selection accepted @@ -4953,7 +4948,7 @@ només seran visibles els talls creats - + Attachment Offset (in local coordinates): Desplaçament de l'adjunt (en coordenades locals): @@ -5034,77 +5029,77 @@ de l'objecte que s'adjunta. Dos cares - + OCC error: %1 OCC error: %1 - + unknown error error desconegut - + Attachment mode failed: %1 Mode d'afecció ha fallat: %1 - + Not attached No adjuntes - + Attached with mode %1 S'adjunta amb mode de %1 - + Attachment Offset (inactive - not attached): Òfset adjunt (inactiu - no adjunts): - + Face Cara - + Edge Vora - + Vertex Vertex - + Selecting... Seleccionant... - + Reference%1 Reference%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. No es pot editar perquè la rotació està restringida per la superposiciò de les expressions. - + Reference combinations: Combinacions de referència: - + %1 (add %2) %1 (afegir %2) - + %1 (add more references) %1 (afegir més referències) @@ -5355,7 +5350,7 @@ Comprovacions d'operació booleana individual: PartGui::TaskDlgAttacher - + Datum dialog: Input error Diàleg datum: error d'entrada @@ -5363,7 +5358,7 @@ Comprovacions d'operació booleana individual: PartGui::TaskExportStep - + Don't show this dialog again No ho tornis a mostrar @@ -5587,7 +5582,7 @@ by dragging a selection rectangle in the 3D view Angle Fix - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Seleccioneu un o més perfils i seleccioneu un avantatge o filferro a la visualització en 3D per al camí d'escombrat. @@ -5624,24 +5619,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Gruix - + Select faces of the source object and press 'Done' Seleccionar cares del objecta d'origen y pulsar 'Fet' - + Done Fet - + Input error Error d'entrada @@ -5694,27 +5689,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Editar %1 - + Part and Part Design workbench Banc de treball Peça i disseny de peces (Part i Part design) + + - - Part/Part Design Peça/Disseny de peces - - + + Import-Export Importació-exportació @@ -5787,20 +5782,20 @@ Do you want to continue? Cap referència seleccionat - + Face Cara - + Edge Vora - + Vertex Vertex @@ -6080,44 +6075,44 @@ Do you want to continue? Invàlid - - + + Selections Seleccions - - + + Control Control - + Selection Selecció - + Reset selection Resset Selecció - + Toggle direct dimensions Canvia les dimensions directes - + Toggle orthogonal dimensions Commuta la dimensió ortogonal - + Clear all dimensions Esborra totes les dimensions - + Set colors... Conjunts de colors... @@ -6127,27 +6122,27 @@ Do you want to continue? Editar pla de simetria - + Edit fillet edges Editar les vores de Fil - + Edit chamfer edges Editar les vores d'habilitació del xamfrà - + Edit offset Editar òfset - + Edit thickness Editar el gruix - + Show control points Mostra punts de Control diff --git a/src/Mod/Part/Gui/Resources/translations/Part_cs.ts b/src/Mod/Part/Gui/Resources/translations/Part_cs.ts index 1e32f14fe7..72a2dc4bf5 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_cs.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_cs.ts @@ -2317,53 +2317,53 @@ of projection. Odstraňování prvků - + Convert mesh Convert mesh - + Edit attachment Upravit připojení - + Change face colors Change face colors - + Loft Profilování - + Edge Hrana - + Wire Křivka - - + + Face Plocha - + Shell Skořepina - + Solid Těleso - + Sweep Tažení @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.Převrátit výběr - + Select a shape on the left side, first Nejprve vyber útvar na levé straně - + Select a shape on the right side, first Nejprve vyber útvar na pravé straně - + Cannot perform a boolean operation with the same shape Nelze provést booleovskou operaci se stejným útvarem - + No active document available Není dostupný aktivní dokument - + One of the selected objects doesn't exist anymore Jeden z vybraných objektů neexistuje - + Performing union on non-solids is not possible Nelze provést sjednocení neobjemových útvarů - + Performing intersection on non-solids is not possible Nelze provést průnik neobjemových útvarů - + Performing difference on non-solids is not possible Nelze provést rozdíl neobjemových útvarů @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Sražené hrany @@ -3014,7 +3014,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Parametr zaoblení @@ -3064,105 +3064,105 @@ If both lengths are zero, magnitude of direction is used. Poloměr: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: Délka: - + Edges to chamfer Hrany ke sražení - + Start length Počáteční délka - + Equal distance Rovná vzdálenost - + Two distances Dvě vzdálenosti - + Size Velikost - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Hrany pro zaoblení - - + + Start radius Počáteční rádius - + End radius Koncový rádius - - + + Edge%1 Hrana%1 - + Length Délka - + Radius Poloměr - + No shape selected Není vybrán útvar - + No valid shape is selected. Please select a valid shape in the drop-down box first. Není vybrán přípustný útvar. Prosím vyber přípustný útvar. - + No edge selected Není vybraná hrana - + No edge entity is checked to fillet. Please check one or more edge entities first. Nevhodná entita pro zaoblení. Prosím vyber nejprve jednu nebo více hran. @@ -3269,7 +3269,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3502,12 +3502,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Všechny soubory @@ -3528,12 +3528,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Všechny soubory @@ -3879,20 +3879,20 @@ during file reading (slower but higher details). Vrchol - - - - + + + + Create %1 Vytvořit %1 - + No active document Žádný aktivní dokument - + &Create & Vytvořit @@ -4159,12 +4159,12 @@ during file reading (slower but higher details). Maximální úhlová odchylka - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4488,37 +4488,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Dostupné profily - + Selected profiles Vybrané profily - + Too few elements Příliž málo elemnetů - + At least two vertices, edges, wires or faces are required. Nejméně dva body, hrany, dráty, nebo plochy jsou požadovány. - + Input error Chyba zadání - + Vertex/Edge/Wire/Face Bod/Hrana/Drát/Plocha - + Loft Profilování @@ -4576,12 +4576,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Nejdříve vyber útvar pro zrcadlení. - + No such document '%1'. Není takový dokument '%1'. @@ -4589,7 +4589,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Chyba zadání @@ -4745,80 +4745,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Neplatný výběr - - + + Select two vertices Vyber dva vrcholy - - + + Select one or more edges Vyberete jednu nebo více hran - + Select three or more vertices Vyberte tři nebo více vrcholů - + Select two or more faces Vyber dvě nebo více ploch - + Select only one part object Vyber pouze jeden díl - + Select two vertices to create an edge Vyber dva vrcholy pro vytvoření hrany - + Select adjacent edges Vyberte přilehlé hrany - + Select a list of vertices Vyberte seznam vrcholů - + Select a closed set of edges Vyber uzavřenou sadu hran - + Select adjacent faces Vyber přiléhající plochy - + All shape types can be selected Všechny typy útvarů mohou být vybrány @@ -4844,90 +4844,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Dostupné profily - + Selected profiles Vybrané profily - + Too few elements Příliž málo elemnetů - + At least one edge or wire is required. Je vyžadován alespoň jedna hrana nebo křivka. - + Invalid selection Neplatný výběr - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Neplatný výběr - + '%1' cannot be used as profile and path. '%1' nemůže být použit jako profil a cesta. - + Input error Chyba zadání - + Done Hotovo - + Select one or more connected edges in the 3d view and press 'Done' Vyberte jednu nebo více spojitých hran v 3D pohledu a stiskněte "Hotovo" - - + + Sweep path Tažení po křivce - - + + The selected sweep path is invalid. Vybraná dráha Tažení je neplatná. - + Vertex/Wire Vrchol/Drát - + Sweep Tažení PartGui::TaskAttacher - - - Form - Návrh - Selection accepted @@ -4960,7 +4955,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Odsazení připojení (v lokálních souřadnicích): @@ -5041,77 +5036,77 @@ of object being attached. Otočit strany - + OCC error: %1 OCC chyba: %1 - + unknown error neznámá chyba - + Attachment mode failed: %1 Mód připojení selhal: %1 - + Not attached Není připojeno - + Attached with mode %1 Připojené v módu %1 - + Attachment Offset (inactive - not attached): Odsazení připojení (neaktivní - nepřipojeno): - + Face Plocha - + Edge Hrana - + Vertex Vrchol - + Selecting... Vybírání... - + Reference%1 Reference%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Kombinace referencí: - + %1 (add %2) %1 (přidat %2) - + %1 (add more references) %1 (přidat více referencí) @@ -5369,7 +5364,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Dialog hodnoty: Chyba vstupu @@ -5377,7 +5372,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5602,7 +5597,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Vyberte jeden nebo více profilů a vyberte hranu nebo křivku jako trajektorii tažení ve 3D pohledu. @@ -5639,24 +5634,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Tloušťka - + Select faces of the source object and press 'Done' Vyberte stěny zdrojového objektu a stiskněte tlačítko "Hotovo" - + Done Hotovo - + Input error Chyba zadání @@ -5709,27 +5704,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Upravit %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Import-Export @@ -5802,20 +5797,20 @@ Chcete pokračovat? Není vybrána reference - + Face Plocha - + Edge Hrana - + Vertex Vrchol @@ -6095,44 +6090,44 @@ Chcete pokračovat? Neplatné - - + + Selections Výběry - - + + Control Upravit - + Selection Výběr - + Reset selection Reset selection - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... Nastavení barev... @@ -6142,27 +6137,27 @@ Chcete pokračovat? Upravit rovinu zrcadlení - + Edit fillet edges Upravit hrny zaoblení - + Edit chamfer edges Editovat zkosení hran - + Edit offset Upravit odsazení - + Edit thickness Upravit tloušťku - + Show control points Zobrazit řídící body diff --git a/src/Mod/Part/Gui/Resources/translations/Part_de.ts b/src/Mod/Part/Gui/Resources/translations/Part_de.ts index 65859e91bf..9a0dab3502 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_de.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_de.ts @@ -1457,7 +1457,7 @@ X-, Y- und Z-Komponenten zerlegt wird. Intersection - Schnitt + Schnittstelle @@ -1511,7 +1511,7 @@ X-, Y- und Z-Komponenten zerlegt wird. Offset: - Offset: + Versatz: @@ -2209,7 +2209,7 @@ der Projektion. Part - Formteil + Bauteil @@ -2316,53 +2316,53 @@ der Projektion. Merkmal entfernen - + Convert mesh Netz umwandeln - + Edit attachment Anhang bearbeiten - + Change face colors Flächenfarben ändern - + Loft Ausformung - + Edge Kante - + Wire Kantenzug - - + + Face Fläche - + Shell Hüllkörper - + Solid Festkörper - + Sweep Sweep @@ -2556,7 +2556,7 @@ Hinweis: Die Positionierung wird im lokalen Raum des angehängten Objekts darges Intersection - Schnitt + Schnittstelle @@ -2603,42 +2603,42 @@ Hinweis: Die Positionierung wird im lokalen Raum des angehängten Objekts darges Auswahl umkehren - + Select a shape on the left side, first Zuerst Form auf der linken Seite auswählen - + Select a shape on the right side, first Zuerst Form auf der rechten Seite auswählen - + Cannot perform a boolean operation with the same shape Kann eine boolesche Operation mit der gleichen Form nicht ausführen - + No active document available Kein aktives Dokument verfügbar - + One of the selected objects doesn't exist anymore Eines der ausgewählten Objekte existiert nicht mehr - + Performing union on non-solids is not possible Vereinigung von Nicht-Volumenkörpern nicht möglich - + Performing intersection on non-solids is not possible Schnittmenge von Nicht-Volumenkörpern nicht möglich - + Performing difference on non-solids is not possible Differenz von Nicht-Volumenkörpern nicht möglich @@ -2646,7 +2646,7 @@ Hinweis: Die Positionierung wird im lokalen Raum des angehängten Objekts darges PartGui::DlgChamferEdges - + Chamfer Edges Kanten anfasen @@ -2818,7 +2818,7 @@ die Größe der resultierenden STEP Datei zu minimieren. Select - Wähle + Auswählen @@ -3013,7 +3013,7 @@ Wenn beide Längen Null sind, wird die Länge der Richtung verwendet. - + Fillet Parameter Ausrundungsparameter @@ -3063,106 +3063,106 @@ Wenn beide Längen Null sind, wird die Länge der Richtung verwendet.Radius: - + Chamfer Parameter Parameter der Fase - + Chamfer type Fasentyp - + Length: Länge: - + Edges to chamfer Kanten zum Anfasen - + Start length Startlänge - + Equal distance Gleicher Abstand - + Two distances Zwei Abstände - + Size Größe - + Size2 Grösse2 - + Fillet type Typ der Abrundung - + Edges to fillet Kanten zum Abrunden - - + + Start radius Start-Radius - + End radius End-Radius - - + + Edge%1 Kante%1 - + Length Länge - + Radius Radius - + No shape selected Keine Form gewählt - + No valid shape is selected. Please select a valid shape in the drop-down box first. Keine gültige Form gewählt. Bitte wählen Sie eine gültige Form im Dropdown-Feld. - + No edge selected Keine Kante ausgewählt - + No edge entity is checked to fillet. Please check one or more edge entities first. Kein Kantenelement zum Abrunden markiert. @@ -3270,7 +3270,7 @@ Bitte markieren Sie zuerst ein oder mehrere Kantenelemente. PartGui::DlgImportExportStep - + STEP STEP @@ -3502,12 +3502,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Alle Dateien @@ -3528,12 +3528,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Alle Dateien @@ -3879,20 +3879,20 @@ during file reading (slower but higher details). Knoten - - - - + + + + Create %1 Erstelle %1 - + No active document Kein aktives Dokument - + &Create &Erstellen @@ -3927,7 +3927,7 @@ during file reading (slower but higher details). Show all - Alle anzeigen + Alles anzeigen @@ -4156,12 +4156,12 @@ during file reading (slower but higher details). Maximale Winkelabweichung - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4333,7 +4333,7 @@ during file reading (slower but higher details). Vertex color - Scheitelpunktfarbe + Knotenfarbe @@ -4384,7 +4384,7 @@ oder Schwarz verwendet werden. Two-side rendering - Doppelseitiges Rendern + Zwei-seitige Darstellung @@ -4485,37 +4485,37 @@ der Normalenvektor der Skizze verwendet PartGui::LoftWidget - + Available profiles Verfügbare Profile - + Selected profiles Ausgewählte Profile - + Too few elements Zu wenig Elemente - + At least two vertices, edges, wires or faces are required. Es werden mindestens zwei Knoten, Kanten, Kantenzüge oder Flächen benötigt. - + Input error Eingabefehler - + Vertex/Edge/Wire/Face Knoten/Kante/Kantenzug/Fläche - + Loft Ausformung @@ -4573,12 +4573,12 @@ der Normalenvektor der Skizze verwendet z - + Select a shape for mirroring, first. Wählen Sie zuerst eine Form für die Spiegelung. - + No such document '%1'. Es gibt kein Dokument "%1". @@ -4586,7 +4586,7 @@ der Normalenvektor der Skizze verwendet PartGui::OffsetWidget - + Input error Eingabefehler @@ -4606,7 +4606,7 @@ der Normalenvektor der Skizze verwendet Error - Fehlermeldungen + Fehler @@ -4741,80 +4741,80 @@ nur die beschnittenen Objeke sichtbar PartGui::ShapeBuilderWidget - + Unsupported Nicht unterstützt - + Box selection for shells is not supported Boxauswahl für Hüllen wird nicht unterstützt - - - - - - - + + + + + + + Wrong selection Falsche Auswahl - - + + Select two vertices Wählen Sie zwei Knoten aus - - + + Select one or more edges Wählen Sie eine oder mehrere Kanten aus - + Select three or more vertices Wählen Sie mindestens drei Knoten aus - + Select two or more faces Wähle zwei oder mehr Flächen aus - + Select only one part object Wählen Sie nur ein Teileobjekt - + Select two vertices to create an edge Wählen Sie zwei Knoten zum Erzeugen einer Kante aus - + Select adjacent edges Wähle angrenzende Kanten aus - + Select a list of vertices Wählen Sie eine Liste von Knoten - + Select a closed set of edges Wählen Sie eine geschlossene Gruppe von Kanten - + Select adjacent faces Wählen Sie benachbarte Flächen aus - + All shape types can be selected Alle Form-Typen können ausgewählt werden @@ -4840,90 +4840,85 @@ nur die beschnittenen Objeke sichtbar PartGui::SweepWidget - + Available profiles Verfügbare Profile - + Selected profiles Ausgewählte Profile - + Too few elements Zu wenig Elemente - + At least one edge or wire is required. Mindestens eine Kante oder ein Kantenzug ist erforderlich. - + Invalid selection Ungültige Auswahl - + Select one or more edges from a single object. Wählen Sie eine oder mehrere Kanten eines einzelnen Objekts aus. - + Wrong selection Falsche Auswahl - + '%1' cannot be used as profile and path. '%1' kann nicht als Profil und Pfad verwendet werden. - + Input error Eingabefehler - + Done Fertig - + Select one or more connected edges in the 3d view and press 'Done' Wählen Sie eine oder mehrere verbundene Kanten in der 3D Ansicht und klicken Sie auf 'Fertig' - - + + Sweep path Sweep-Pfad - - + + The selected sweep path is invalid. Der gewählte Sweep-Pfad ist ungültig. - + Vertex/Wire Knoten/Draht - + Sweep Sweep PartGui::TaskAttacher - - - Form - Form - Selection accepted @@ -4956,7 +4951,7 @@ nur die beschnittenen Objeke sichtbar - + Attachment Offset (in local coordinates): Versatz der Anhänge (in lokalen Koordinaten): @@ -5033,77 +5028,77 @@ Hinweis: Die Positionierung wird im lokalen Koordinatensystem des angehängten O Seiten spiegeln - + OCC error: %1 OCC-Fehler: %1 - + unknown error unbekannter Fehler - + Attachment mode failed: %1 Bindungsmethode fehlgeschlagen: %1 - + Not attached Nicht gebunden - + Attached with mode %1 Angehängt im Modus: %1 - + Attachment Offset (inactive - not attached): Befestigungsversatz (Inaktiv - nicht gebunden): - + Face Fläche - + Edge Kante - + Vertex Knoten - + Selecting... Auswählen... - + Reference%1 Referenz%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Nicht editierbar, da der Rotationsteil des Befestigungsversatzes durch Ausdrücke gebunden ist. - + Reference combinations: Referenz-Kombinationen: - + %1 (add %2) %1 (%2 hinzufügen) - + %1 (add more references) %1 (fügen Sie weitere Referenzen hinzu) @@ -5357,7 +5352,7 @@ Einzelne Überprüfungen boolescher Verknüpfungen: PartGui::TaskDlgAttacher - + Datum dialog: Input error Bezugspunkt Dialog: Eingabefehler @@ -5365,7 +5360,7 @@ Einzelne Überprüfungen boolescher Verknüpfungen: PartGui::TaskExportStep - + Don't show this dialog again Diesen Dialog nicht mehr anzeigen @@ -5439,7 +5434,7 @@ indem Sie ein Auswahlrechteck in der 3D-Ansicht aufziehen Offset - Versatz + Versetzen @@ -5480,7 +5475,7 @@ indem Sie ein Auswahlrechteck in der 3D-Ansicht aufziehen Intersection - Schnitt + Schnittstelle @@ -5590,7 +5585,7 @@ indem Sie ein Auswahlrechteck in der 3D-Ansicht aufziehen Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Ein oder mehrere Profile und dann eine Kante oder einen Kantenzug @@ -5628,24 +5623,24 @@ für den Austragungspfad in der 3D-Ansicht auswählen. PartGui::ThicknessWidget - - - + + + Thickness Dicke - + Select faces of the source object and press 'Done' Wählen Sie Flächen des Ausgangsobjekts und drücken Sie 'Fertig' - + Done Fertig - + Input error Eingabefehler @@ -5698,27 +5693,27 @@ für den Austragungspfad in der 3D-Ansicht auswählen. - - + + Edit %1 %1 bearbeiten - + Part and Part Design workbench Arbeitsbereich für Bauteile und deren Konstruktion + + - - Part/Part Design Part/Part Design - - + + Import-Export Import / Export @@ -5790,20 +5785,20 @@ Do you want to continue? Keine ausgewählten Referenzen - + Face Fläche - + Edge Kante - + Vertex Knoten @@ -6083,44 +6078,44 @@ Do you want to continue? Ungültig - - + + Selections Auswahl - - + + Control Steuerelement - + Selection Auswahl - + Reset selection Auswahl zurücksetzen - + Toggle direct dimensions Direkte Maße umschalten - + Toggle orthogonal dimensions Rechtwinklige Maße umschalten - + Clear all dimensions Alle Maße löschen - + Set colors... Farben festlegen... @@ -6130,27 +6125,27 @@ Do you want to continue? Spiegelebene bearbeiten - + Edit fillet edges Abgerundete Kanten bearbeiten - + Edit chamfer edges Fasen bearbeiten - + Edit offset Versatz bearbeiten - + Edit thickness Dicke bearbeiten - + Show control points Kontrollpunkte anzeigen @@ -6541,7 +6536,7 @@ Es wird ein 'Compound-Filter'-Objekt für jede Form erzeugt. Attachment Offset (in local coordinates): - Versatz der Anhänge (in lokalen Koordinaten): + Versatz der Befestigung (in lokalen Koordinaten): @@ -6662,7 +6657,7 @@ Es wird ein 'Compound-Filter'-Objekt für jede Form erzeugt. Orientation - Orientierung + Ausrichtung diff --git a/src/Mod/Part/Gui/Resources/translations/Part_el.ts b/src/Mod/Part/Gui/Resources/translations/Part_el.ts index 9ac7e3ee49..bd3f0be007 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_el.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_el.ts @@ -2314,53 +2314,53 @@ of projection. Defeaturing - + Convert mesh Convert mesh - + Edit attachment Edit attachment - + Change face colors Change face colors - + Loft Παρεμβολή ορθογώνιων διατομών - + Edge Ακμή - + Wire Σύρμα - - + + Face Όψη - + Shell Κέλυφος - + Solid Στερεό - + Sweep Σάρωση @@ -2601,42 +2601,42 @@ Note: The placement is expressed in local space of object being attached.Αλλαγή επιλογής - + Select a shape on the left side, first Επιλέξτε πρώτα ένα σχήμα στην αριστερή πλευρά - + Select a shape on the right side, first Επιλέξτε πρώτα ένα σχήμα στην δεξιά πλευρά - + Cannot perform a boolean operation with the same shape Αδυναμία εκτέλεσης πράξης άλγεβρας Boole με το ίδιο σχήμα - + No active document available Δεν υπάρχει διαθέσιμο ενεργό έγγραφο - + One of the selected objects doesn't exist anymore Ένα από τα επιλεγμένα αντικείμενα δεν υπάρχει πια - + Performing union on non-solids is not possible Δεν είναι δυνατή η ένωση μη στερεών - + Performing intersection on non-solids is not possible Δεν είναι δυνατή η τομή μη στερεών - + Performing difference on non-solids is not possible Δεν είναι η δυνατή η αφαίρεση μη στερεών @@ -2644,7 +2644,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Chamfer Edges @@ -3011,7 +3011,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Παράμετρος Στρογγυλέματος @@ -3061,106 +3061,106 @@ If both lengths are zero, magnitude of direction is used. Ακτίνα: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: Μήκος: - + Edges to chamfer Edges to chamfer - + Start length Μήκος εκκίνησης - + Equal distance Equal distance - + Two distances Two distances - + Size Μέγεθος - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Ακμές για στρογγύλεμα - - + + Start radius Ακτίνα εκκίνησης - + End radius Ακτίνα τέλους - - + + Edge%1 Ακμή%1 - + Length Μήκος - + Radius Ακτίνα - + No shape selected Δεν έχει επιλεχθεί κανένα σχήμα - + No valid shape is selected. Please select a valid shape in the drop-down box first. Δεν έχει επιλεχθεί κανένα έγκυρο σχήμα. Παρακαλώ επιλέξτε πρώτα ένα έγκυρο σχήμα στο αναπτυσσόμενο πλαίσιο. - + No edge selected Δεν έχει επιλεχθεί καμία ακμή - + No edge entity is checked to fillet. Please check one or more edge entities first. Δεν έχει επιλεχθεί καμία ακμή για στρογγύλεμα. @@ -3268,7 +3268,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3501,12 +3501,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Όλα τα Αρχεία @@ -3527,12 +3527,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Όλα τα Αρχεία @@ -3878,20 +3878,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 Δημιουργία %1 - + No active document Κανένα ενεργό έγγραφο - + &Create Δημιουργία @@ -4158,12 +4158,12 @@ during file reading (slower but higher details). Μέγιστη γωνιακή εκτροπή - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4487,37 +4487,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Διαθέσιμα προφίλ - + Selected profiles Επιλεγμένα προφίλ - + Too few elements Πολύ λίγα στοιχεία - + At least two vertices, edges, wires or faces are required. Απαιτούνται τουλάχιστον δύο κορυφές, ακμές, σύρματα ή όψεις. - + Input error Σφάλμα εισαγωγής - + Vertex/Edge/Wire/Face Κορυφή/Ακμή/Σύρμα/Όψη - + Loft Παρεμβολή ορθογώνιων διατομών @@ -4575,12 +4575,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Επιλέξτε πρώτα ένα σχήμα για κατοπτρισμό. - + No such document '%1'. Δεν υπάρχει τέτοιο έγγραφο '%1'. @@ -4588,7 +4588,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Σφάλμα εισαγωγής @@ -4744,80 +4744,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Λάθος επιλογή - - + + Select two vertices Επιλέξτε δύο κορυφές - - + + Select one or more edges Επιλέξτε μία ή περισσότερες ακμές - + Select three or more vertices Επιλέξτε τρεις ή περισσότερες κορυφές - + Select two or more faces Επιλέξτε δύο ή περισσότερες όψεις - + Select only one part object Επιλέξτε μόνο ένα εξάρτημα - + Select two vertices to create an edge Επιλέξτε δύο κορυφές για τη δημιουργία μιας ακμής - + Select adjacent edges Select adjacent edges - + Select a list of vertices Επιλέξτε μια λίστα κορυφών - + Select a closed set of edges Επιλέξτε μια κλειστή ομάδα ακμών - + Select adjacent faces Επιλέξτε παρακείμενες όψεις - + All shape types can be selected Όλοι οι τύποι σχημάτων μπορούν να επιλεχθούν @@ -4843,90 +4843,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Διαθέσιμα προφίλ - + Selected profiles Επιλεγμένα προφίλ - + Too few elements Πολύ λίγα στοιχεία - + At least one edge or wire is required. Απαιτείται τουλάχιστον μία ακμή ή ένα σύρμα. - + Invalid selection Μη έγκυρη επιλογή - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Λάθος επιλογή - + '%1' cannot be used as profile and path. Το '%1' δεν μπορεί να χρησιμοποιηθεί ως προφίλ και διαδρομή. - + Input error Σφάλμα εισαγωγής - + Done Έγινε - + Select one or more connected edges in the 3d view and press 'Done' Επιλέξτε μια ή περισσότερες συνδεδεμένες ακμές στην τρισδιάστατη προβολή και πιέστε την επιλογή 'Έγινε' - - + + Sweep path Διαδρομή σάρωσης - - + + The selected sweep path is invalid. Η επιλεγμένη διαδρομή σάρωσης είναι μη έγκυρη. - + Vertex/Wire Vertex/Wire - + Sweep Σάρωση PartGui::TaskAttacher - - - Form - Μορφή - Selection accepted @@ -4959,7 +4954,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Attachment Offset (in local coordinates): @@ -5040,77 +5035,77 @@ of object being attached. Αντιστροφή πλευρών - + OCC error: %1 Σφάλμα OCC: %1 - + unknown error άγνωστο σφάλμα - + Attachment mode failed: %1 Η λειτουργία συνημμένων απέτυχε: %1 - + Not attached Δεν επισυνάπτεται - + Attached with mode %1 Επισυνάπτεται με τη χρήση της λειτουργίας %1 - + Attachment Offset (inactive - not attached): Μετατόπιση Συνημμένων (ανενεργή - δεν επισυνάπτεται): - + Face Όψη - + Edge Ακμή - + Vertex Vertex - + Selecting... Πραγματοποιείται επιλογή... - + Reference%1 Αναφορά%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Reference combinations: - + %1 (add %2) %1 (προσθήκη του %2) - + %1 (add more references) %1 (προσθήκη περισσοτέρων αναφορών) @@ -5365,7 +5360,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Παράθυρο διαλόγου περιορισμών διαστάσεων: Σφάλμα εισαγωγής @@ -5373,7 +5368,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5598,7 +5593,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Επιλέξτε ένα ή περισσότερα προφίλ και στη συνέχεια επιλέξτε μια ακμή ή ένα σύρμα στην Τρισδιάστατη προβολή ως διαδρομή σάρωσης. @@ -5635,24 +5630,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Πάχος - + Select faces of the source object and press 'Done' Επιλέξτε όψεις του πηγαίου αντικειμένου και πιέστε την επιλογή 'Έγινε' - + Done Έγινε - + Input error Σφάλμα εισαγωγής @@ -5705,27 +5700,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Επεξεργασία %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Εισαγωγή-Εξαγωγή @@ -5799,20 +5794,20 @@ Do you want to continue? Δεν επιλέχθηκε κανένα αντικείμενο αναφοράς - + Face Όψη - + Edge Ακμή - + Vertex Vertex @@ -6092,44 +6087,44 @@ Do you want to continue? Μη έγκυρο - - + + Selections Επιλογές - - + + Control Control - + Selection Selection - + Reset selection Reset selection - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... Ορίστε χρώματα... @@ -6139,27 +6134,27 @@ Do you want to continue? Επεξεργασία επιπέδου κατοπτρισμού - + Edit fillet edges Επεξεργασία στρογγυλέματος ακμών - + Edit chamfer edges Επεξεργασία ακμών λοξότμησης - + Edit offset Επεξεργασία μετατόπισης - + Edit thickness Επεξεργασία πάχους - + Show control points Εμφάνιση σημείων ελέγχου diff --git a/src/Mod/Part/Gui/Resources/translations/Part_es-AR.ts b/src/Mod/Part/Gui/Resources/translations/Part_es-AR.ts index 9605e2c30f..3ed8025845 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_es-AR.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_es-AR.ts @@ -2318,53 +2318,53 @@ de proyección. Herramienta de reparación/edición para eliminar características de objetos - + Convert mesh Convertir malla - + Edit attachment Editar adjunto - + Change face colors Cambiar colores de cara - + Loft Puente - + Edge Arista - + Wire Alambre - - + + Face Cara - + Shell Carcasa - + Solid Sólido - + Sweep Barrido @@ -2605,42 +2605,42 @@ Nota: La ubicación se expresa en el espacio local del objeto que se adjunta.Cambiar selección - + Select a shape on the left side, first Selecciona una forma en el lado izquierdo, primero - + Select a shape on the right side, first Selecciona una forma en el lado derecho, primero - + Cannot perform a boolean operation with the same shape No se puede realizar una operación booleana con la misma forma - + No active document available Ningún documento activo disponible - + One of the selected objects doesn't exist anymore Uno de los objetos seleccionados ya no existe - + Performing union on non-solids is not possible No es posible llevar a cabo la unión sobre no-sólidos - + Performing intersection on non-solids is not possible No es posible realizar la intersección sobre no-sólidos - + Performing difference on non-solids is not possible No es posible realizar la diferencia en los no-sólidos @@ -2648,7 +2648,7 @@ Nota: La ubicación se expresa en el espacio local del objeto que se adjunta. PartGui::DlgChamferEdges - + Chamfer Edges Biselar Aristas @@ -3014,7 +3014,7 @@ Si ambas longitudes son cero, se utiliza la magnitud de la dirección. - + Fillet Parameter Parámetro de redondeo @@ -3064,106 +3064,106 @@ Si ambas longitudes son cero, se utiliza la magnitud de la dirección.Radio: - + Chamfer Parameter Parámetro de biselado - + Chamfer type Tipo de biselado - + Length: Longitud: - + Edges to chamfer Aristas a bisel - + Start length Longitud inicial - + Equal distance Equidistante - + Two distances Dos distancias - + Size Tamaño - + Size2 Tamaño2 - + Fillet type Tipo de filete - + Edges to fillet Aristas a redondear - - + + Start radius Radio inicial - + End radius Radio final - - + + Edge%1 Arista%1 - + Length Longitud - + Radius Radio - + No shape selected Ninguna forma seleccionada - + No valid shape is selected. Please select a valid shape in the drop-down box first. No se ha seleccionado una forma válida. Seleccione primero una forma válida en el cuadro desplegable. - + No edge selected No hay arista seleccionada - + No edge entity is checked to fillet. Please check one or more edge entities first. No se ha seleccionado ninguna arista para redondear @@ -3271,7 +3271,7 @@ Por favor seleccione primero una o más aristas. PartGui::DlgImportExportStep - + STEP STEP @@ -3503,12 +3503,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Todos los Archivos @@ -3529,12 +3529,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Todos los Archivos @@ -3880,20 +3880,20 @@ during file reading (slower but higher details). Vértice - - - - + + + + Create %1 Crear %1 - + No active document Ningún documento activo - + &Create &Crear @@ -4160,12 +4160,12 @@ during file reading (slower but higher details). Deflexión angular máxima - + Deviation Desviación - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Seleccionando una desviación demasiado pequeña causa que la teselación tome un valor más grande, pudiendo congelar o ralentizar la GUI. @@ -4488,37 +4488,37 @@ se utilizará el vector normal del plano de croquis PartGui::LoftWidget - + Available profiles Perfiles disponibles - + Selected profiles Perfiles seleccionados - + Too few elements Muy pocos elementos - + At least two vertices, edges, wires or faces are required. Se requieren al menos dos vértices, aristas, alambres o caras. - + Input error Error de entrada - + Vertex/Edge/Wire/Face Vértice/Arista/Alambre/Cara - + Loft Puente @@ -4576,12 +4576,12 @@ se utilizará el vector normal del plano de croquis z - + Select a shape for mirroring, first. Seleccione primero una forma para simetrizar. - + No such document '%1'. No existe el documento '%1'. @@ -4589,7 +4589,7 @@ se utilizará el vector normal del plano de croquis PartGui::OffsetWidget - + Input error Error de entrada @@ -4745,80 +4745,80 @@ solo los cortes creados serán visibles PartGui::ShapeBuilderWidget - + Unsupported No soportado - + Box selection for shells is not supported No se admite la selección de cajas para shells - - - - - - - + + + + + + + Wrong selection Selección Incorrecta - - + + Select two vertices Seleccionar dos vértices - - + + Select one or more edges Seleccione una o más aristas - + Select three or more vertices Seleccione tres o más vértices - + Select two or more faces Seleccione dos o más caras - + Select only one part object Seleccione sólo un objeto de la pieza - + Select two vertices to create an edge Seleccione dos vértices para crear una arista - + Select adjacent edges Seleccione aristas adyacentes - + Select a list of vertices Selecciona una lista de vértices - + Select a closed set of edges Seleccione un conjunto cerrado de aristas - + Select adjacent faces Seleccionar caras adyacentes - + All shape types can be selected Todos los tipos de forma pueden ser seleccionados @@ -4844,90 +4844,85 @@ solo los cortes creados serán visibles PartGui::SweepWidget - + Available profiles Perfiles disponibles - + Selected profiles Perfiles seleccionados - + Too few elements Muy pocos elementos - + At least one edge or wire is required. Se requiere al menos una arista o alambre. - + Invalid selection Selección inválida - + Select one or more edges from a single object. Seleccione uno o más aristas de un solo objeto. - + Wrong selection Selección Incorrecta - + '%1' cannot be used as profile and path. '%1' no puede usarse como perfil y trayectoria. - + Input error Error de entrada - + Done Hecho - + Select one or more connected edges in the 3d view and press 'Done' Seleccione una o más aristas conectadas en la vista tridimensional y pulse 'Hecho' - - + + Sweep path Trayectoria de barrido - - + + The selected sweep path is invalid. La trayectoria de barrido seleccionada es inválida. - + Vertex/Wire Vertex/Wire - + Sweep Barrido PartGui::TaskAttacher - - - Form - Forma - Selection accepted @@ -4960,7 +4955,7 @@ solo los cortes creados serán visibles - + Attachment Offset (in local coordinates): Desfase de adjunto (en coordenadas locales): @@ -5041,77 +5036,77 @@ del objeto que se adjunta. Invertir lados - + OCC error: %1 Error OCC: %1 - + unknown error error desconocido - + Attachment mode failed: %1 Modo adjunto fallido: %1 - + Not attached No adjuntado - + Attached with mode %1 Adjunto con el modo %1 - + Attachment Offset (inactive - not attached): Desfase de adjunto (inactivo - no adjunto): - + Face Cara - + Edge Arista - + Vertex Vértice - + Selecting... Seleccionar... - + Reference%1 Referencia%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. No es editable porque la rotación está restringida por la superposición de las expresiones. - + Reference combinations: Combinaciones de referencia: - + %1 (add %2) %1 (Agregar %2) - + %1 (add more references) %1 (agregar más referencias) @@ -5366,7 +5361,7 @@ Comprobación de operaciones booleanas individuales: PartGui::TaskDlgAttacher - + Datum dialog: Input error Diálogo de Referencia: error de entrada @@ -5374,7 +5369,7 @@ Comprobación de operaciones booleanas individuales: PartGui::TaskExportStep - + Don't show this dialog again No volver a mostrar este cuadro de diálogo @@ -5599,7 +5594,7 @@ arrastrando un rectángulo de selección en la vista 3D Ángulo fijo - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Seleccione uno o más perfiles y seleccione una arista o alambre en la vista tridimensional para la trayectoria de barrido. @@ -5636,24 +5631,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Espesor - + Select faces of the source object and press 'Done' Seleccione caras del objeto original y presione 'Hecho' - + Done Hecho - + Input error Error de entrada @@ -5706,27 +5701,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Editar %1 - + Part and Part Design workbench Piezas y banco de trabajo de diseño de piezas + + - - Part/Part Design Diseño de parte/parte - - + + Import-Export Importar-Exportar @@ -5799,20 +5794,20 @@ Do you want to continue? Ninguna referencia seleccionada - + Face Cara - + Edge Arista - + Vertex Vértice @@ -6092,44 +6087,44 @@ Do you want to continue? Inválido - - + + Selections Selecciones - - + + Control Control - + Selection Selección - + Reset selection Reiniciar selección - + Toggle direct dimensions Alternar cotas directas - + Toggle orthogonal dimensions Alternar cotas ortogonales - + Clear all dimensions Borrar todas las cotas - + Set colors... Establecer colores... @@ -6139,27 +6134,27 @@ Do you want to continue? Editar plano de simetría - + Edit fillet edges Editar redondeado de aristas - + Edit chamfer edges Editar biselado de aristas - + Edit offset Editar desfase - + Edit thickness Editar espesor - + Show control points Mostrar puntos de control diff --git a/src/Mod/Part/Gui/Resources/translations/Part_es-ES.ts b/src/Mod/Part/Gui/Resources/translations/Part_es-ES.ts index cfb142f13c..5dc4e2f3c7 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_es-ES.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_es-ES.ts @@ -2318,53 +2318,53 @@ de proyección. Detectado de formas y características - + Convert mesh Convertir malla - + Edit attachment Editar adjunto - + Change face colors Cambiar colores de cara - + Loft Proyección - + Edge Arista - + Wire Alambre - - + + Face Cara - + Shell Cascarón - + Solid Sólido - + Sweep Barrido @@ -2605,42 +2605,42 @@ Nota: La ubicación se expresa en el espacio local del objeto que se adjunta.Intercambiar selección - + Select a shape on the left side, first Seleccione primero una forma en el lado izquierdo, - + Select a shape on the right side, first Seleccione primero una forma en el lado derecho, - + Cannot perform a boolean operation with the same shape No es posible realizar una operación booleana con la misma forma - + No active document available Ningún documento activo disponible - + One of the selected objects doesn't exist anymore Uno de los objetos seleccionados ya no existe - + Performing union on non-solids is not possible No es posible realizar la Unión en no sólidos - + Performing intersection on non-solids is not possible No es posible realizar la intersección en no sólidos - + Performing difference on non-solids is not possible No es posible realizar la diferencia en no sólidos @@ -2648,7 +2648,7 @@ Nota: La ubicación se expresa en el espacio local del objeto que se adjunta. PartGui::DlgChamferEdges - + Chamfer Edges Chaflán en Aristas @@ -3014,7 +3014,7 @@ Si ambas longitudes son cero, se utiliza la magnitud de la dirección. - + Fillet Parameter Parámetro de redondeo @@ -3064,105 +3064,105 @@ Si ambas longitudes son cero, se utiliza la magnitud de la dirección.Radio: - + Chamfer Parameter Parámetro de biselado - + Chamfer type Tipo de biselado - + Length: Longitud: - + Edges to chamfer Aristas para chaflán - + Start length Longitud inicial - + Equal distance Igual distancia - + Two distances Dos distancias - + Size Tamaño - + Size2 Tamaño2 - + Fillet type Tipo de filete - + Edges to fillet Aristas a redondear - - + + Start radius Radio inicial - + End radius Radio final - - + + Edge%1 Arista %1 - + Length Longitud - + Radius Radio - + No shape selected No hay forma seleccionada - + No valid shape is selected. Please select a valid shape in the drop-down box first. No se ha seleccionado ninguna forma válida. Por favor, primero seleccione una forma válida en el cuadro desplegable. - + No edge selected Ninguna arista seleccionada - + No edge entity is checked to fillet. Please check one or more edge entities first. No se ha seleccionado ninguna arista para redondear @@ -3270,7 +3270,7 @@ Por favor selecciona primero una o más aristas. PartGui::DlgImportExportStep - + STEP STEP @@ -3502,12 +3502,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Todos los Archivos @@ -3528,12 +3528,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Todos los Archivos @@ -3879,20 +3879,20 @@ during file reading (slower but higher details). Vértice - - - - + + + + Create %1 Crear %1 - + No active document Ningún documento activo - + &Create &Crear @@ -4157,12 +4157,12 @@ during file reading (slower but higher details). Deflexión angular máxima - + Deviation Desviación - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Seleccionando una desviación demasiado pequeña causa que la teselación tome un valor más grande, pudiendo congelar o ralentizar la GUI. @@ -4485,37 +4485,37 @@ se utilizará el vector normal del plano de croquis PartGui::LoftWidget - + Available profiles Perfiles disponibles - + Selected profiles Perfiles seleccionados - + Too few elements Demasiados pocos elementos - + At least two vertices, edges, wires or faces are required. Se necesitan al menos dos vértices, aristas o alambres. - + Input error Error de entrada - + Vertex/Edge/Wire/Face Vértice/Arista/Alambre/Cara - + Loft Proyección @@ -4573,12 +4573,12 @@ se utilizará el vector normal del plano de croquis z - + Select a shape for mirroring, first. Primero seleccione la forma que va a reflejar. - + No such document '%1'. '%1' No es un documento. @@ -4586,7 +4586,7 @@ se utilizará el vector normal del plano de croquis PartGui::OffsetWidget - + Input error Error de entrada @@ -4742,80 +4742,80 @@ solo los cortes creados serán visibles PartGui::ShapeBuilderWidget - + Unsupported No soportado - + Box selection for shells is not supported No se admite la selección de cajas para shells - - - - - - - + + + + + + + Wrong selection Selección incorrecta - - + + Select two vertices Seleccione dos vértices - - + + Select one or more edges Seleccione uno o más aristas - + Select three or more vertices Seleccione tres o más vértices - + Select two or more faces Seleccione dos o más caras - + Select only one part object Seleccione un único objeto de la pieza - + Select two vertices to create an edge Seleccionar dos vértices para crear un borde - + Select adjacent edges Seleccionar aristas adyacentes - + Select a list of vertices Selecciona una lista de vértices - + Select a closed set of edges Seleccione un conjunto cerrado de bordes - + Select adjacent faces Seleccione las caras adyacentes - + All shape types can be selected Se pueden seleccionar todos los tipos de forma @@ -4841,90 +4841,85 @@ solo los cortes creados serán visibles PartGui::SweepWidget - + Available profiles Perfiles disponibles - + Selected profiles Perfiles seleccionados - + Too few elements Demasiados pocos elementos - + At least one edge or wire is required. Se requiere al menos una arista o linea es requerida. - + Invalid selection Selección inválida - + Select one or more edges from a single object. Seleccione uno o más aristas de un solo objeto. - + Wrong selection Selección incorrecta - + '%1' cannot be used as profile and path. '%1' no puede usarse como perfil y trayectoria. - + Input error Error de entrada - + Done Hecho - + Select one or more connected edges in the 3d view and press 'Done' Seleccione uno o más vértices conectados en la vista 3d y pulse 'Hecho' - - + + Sweep path Ruta de barrido - - + + The selected sweep path is invalid. Trayectoria no válida para el barrido. - + Vertex/Wire Vertex/Wire - + Sweep Barrido PartGui::TaskAttacher - - - Form - Formulario - Selection accepted @@ -4957,7 +4952,7 @@ solo los cortes creados serán visibles - + Attachment Offset (in local coordinates): Desplazamiento adjunto (en coordenadas locales): @@ -5038,77 +5033,77 @@ del objeto que se adjunta. Voltear caras - + OCC error: %1 Error OCC: %1 - + unknown error error desconocido - + Attachment mode failed: %1 Modo de conexión falló: %1 - + Not attached No adjuntado - + Attached with mode %1 Atado con el modo %1 - + Attachment Offset (inactive - not attached): Separación archivo adjunto (inactivo - no adjunto): - + Face Cara - + Edge Arista - + Vertex Vértice - + Selecting... Seleccionar... - + Reference%1 Referencia%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. No es editable porque la rotación está restringida por la superposición de las expresiones. - + Reference combinations: Combinaciones de referencia: - + %1 (add %2) %1 (Añadir %2) - + %1 (add more references) %1 (añadir más referencias) @@ -5361,7 +5356,7 @@ Comprobación de operaciones booleanas individuales: PartGui::TaskDlgAttacher - + Datum dialog: Input error Diálogo Datum: Error de entrada @@ -5369,7 +5364,7 @@ Comprobación de operaciones booleanas individuales: PartGui::TaskExportStep - + Don't show this dialog again No volver a mostrar este cuadro de diálogo @@ -5594,7 +5589,7 @@ arrastrando un rectángulo de selección en la vista 3D Ángulo fijo - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Seleccionar uno o más perfiles y seleccione una arista o alambre en la vista 3D para el trazado de barrido. @@ -5631,24 +5626,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Espesor - + Select faces of the source object and press 'Done' Seleccionar caras del objeto de origen y pulse 'Hecho' - + Done Hecho - + Input error Error de entrada @@ -5701,27 +5696,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Editar %1 - + Part and Part Design workbench Piezas y banco de trabajo de diseño de piezas + + - - Part/Part Design Diseño de parte/parte - - + + Import-Export Importar/Exportar @@ -5794,20 +5789,20 @@ Do you want to continue? Ninguna referencia seleccionada - + Face Cara - + Edge Arista - + Vertex Vértice @@ -6087,44 +6082,44 @@ Do you want to continue? No válido - - + + Selections Selecciones - - + + Control Control - + Selection Selección - + Reset selection Reiniciar selección - + Toggle direct dimensions Alternar cotas directas - + Toggle orthogonal dimensions Alternar cotas ortogonales - + Clear all dimensions Borrar todas las cotas - + Set colors... Ajustar colores... @@ -6134,27 +6129,27 @@ Do you want to continue? Editar plano de simetría - + Edit fillet edges Editar aristas redondeadas - + Edit chamfer edges Editar aristas del chaflán - + Edit offset Editar desplazamiento - + Edit thickness Editar espesor - + Show control points Mostrar puntos de control diff --git a/src/Mod/Part/Gui/Resources/translations/Part_eu.ts b/src/Mod/Part/Gui/Resources/translations/Part_eu.ts index f89afe6889..a28518816d 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_eu.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_eu.ts @@ -2317,53 +2317,53 @@ zehazten du. Elementua kentzea - + Convert mesh Bihurtu amarauna - + Edit attachment Editatu eranskina - + Change face colors Aldatu aurpegi-koloreak - + Loft Jaurti - + Edge Ertza - + Wire Alanbrea - - + + Face Aurpegia - + Shell Oskola - + Solid Solidoa - + Sweep Ekortu @@ -2604,42 +2604,42 @@ Oharra: Kokapena eransten den objektuaren espazio lokalean adierazten da.Trukatu hautapena - + Select a shape on the left side, first Hasteko, hautatu ezker aldeko forma bat - + Select a shape on the right side, first Hasteko, hautatu eskuin aldeko forma bat - + Cannot perform a boolean operation with the same shape Ezin da eragiketa boolearra egin forma berarekin - + No active document available Ez dago dokumentu aktiborik eskuragarri - + One of the selected objects doesn't exist anymore Hautatutako objektuetako bat ez da existitzen - + Performing union on non-solids is not possible Ezin dira solidoak ez diren elementuak batu - + Performing intersection on non-solids is not possible Ezin da ebakidurarik egin solidoak ez diren elementuekin - + Performing difference on non-solids is not possible Ezin da diferentziarik kalkulatu solidoak ez diren elementuekin @@ -2647,7 +2647,7 @@ Oharra: Kokapena eransten den objektuaren espazio lokalean adierazten da. PartGui::DlgChamferEdges - + Chamfer Edges Alakatu ertzak @@ -3012,7 +3012,7 @@ Bi luzerak zero badira, norabidearen magnitudea erabiliko da. - + Fillet Parameter Biribiltze-parametroa @@ -3062,106 +3062,106 @@ Bi luzerak zero badira, norabidearen magnitudea erabiliko da. Erradioa: - + Chamfer Parameter Alakatze-parametroa - + Chamfer type Alakatze mota - + Length: Luzera: - + Edges to chamfer Alakatuko diren ertzak - + Start length Hasierako luzera - + Equal distance Distantzia berdina - + Two distances Bi distantzia - + Size Tamaina - + Size2 Tamaina2 - + Fillet type Biribiltze mota - + Edges to fillet Biribilduko diren ertzak - - + + Start radius Hasierako erradioa - + End radius Amaierako erradioa - - + + Edge%1 %1 ertza - + Length Luzera - + Radius Erradioa - + No shape selected Ez da formarik hautatu - + No valid shape is selected. Please select a valid shape in the drop-down box first. Ez da baliozko formarik hautatu. Hautatu baliozko forma bat goitibeherako kutxan. - + No edge selected Ez da ertzik hautatu - + No edge entity is checked to fillet. Please check one or more edge entities first. Ez da ertz-entitaterik markatu biribildua izan dadin. @@ -3269,7 +3269,7 @@ Markatu ertz-entitate bat edo gehiago. PartGui::DlgImportExportStep - + STEP STEP @@ -3502,12 +3502,12 @@ irakurtzen den bitartean (motelagoa baino xehetasun gehiagokoa). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Fitxategi guztiak @@ -3528,12 +3528,12 @@ irakurtzen den bitartean (motelagoa baino xehetasun gehiagokoa). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Fitxategi guztiak @@ -3879,20 +3879,20 @@ irakurtzen den bitartean (motelagoa baino xehetasun gehiagokoa). Erpina - - - - + + + + Create %1 Sortu %1 - + No active document Ez dago dokumentu aktiborik - + &Create &Sortu @@ -4159,12 +4159,12 @@ irakurtzen den bitartean (motelagoa baino xehetasun gehiagokoa). Deflexio angeluar maximoa - + Deviation Desbideratzea - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Desbideratze txikiegia ezartzen bada, teselazioak denbora gehiago behar du eta erabiltzaile-interfazea izoztu edo moteldu egiten da. @@ -4488,37 +4488,37 @@ bestela krokisaren planoren bektore normala erabiliko da PartGui::LoftWidget - + Available profiles Profil erabilgarriak - + Selected profiles Hautatutako profilak - + Too few elements Elementu gutxiegi - + At least two vertices, edges, wires or faces are required. Gutxienez bi erpin, ertz, alanbre edo aurpegi behar dira. - + Input error Sarrera-errorea - + Vertex/Edge/Wire/Face Erpina/Ertza/Alanbrea/Aurpegia - + Loft Jaurti @@ -4576,12 +4576,12 @@ bestela krokisaren planoren bektore normala erabiliko da z - + Select a shape for mirroring, first. Hasteko, hautatu forma bat hura ispilatzeko. - + No such document '%1'. Ez dago '%1' dokumenturik. @@ -4589,7 +4589,7 @@ bestela krokisaren planoren bektore normala erabiliko da PartGui::OffsetWidget - + Input error Sarrera-errorea @@ -4745,80 +4745,80 @@ sortutako mozketak soilik daude ikusgai PartGui::ShapeBuilderWidget - + Unsupported Ez da onartzen - + Box selection for shells is not supported Ez da onartzen oskolak kutxa bidez hautatzea - - - - - - - + + + + + + + Wrong selection Hautapen okerra - - + + Select two vertices Hautatu bi erpin - - + + Select one or more edges Hautatu ertz bat edo gehiago - + Select three or more vertices Hautatu hiru erpin edo gehiago - + Select two or more faces Hautatu aurpegi bat edo gehiago - + Select only one part object Hautatu pieza-objektu bakar bat - + Select two vertices to create an edge Hautatu bi erpin ertz bat sortzeko - + Select adjacent edges Hautatu elkarren alboko ertzak - + Select a list of vertices Hautatu erpinen zerrenda bat - + Select a closed set of edges Hautatu ertz multzo itxi bat - + Select adjacent faces Hautatu elkarren alboko aurpegiak - + All shape types can be selected Edozein forma mota hauta daiteke @@ -4844,90 +4844,85 @@ sortutako mozketak soilik daude ikusgai PartGui::SweepWidget - + Available profiles Profil erabilgarriak - + Selected profiles Hautatutako profilak - + Too few elements Elementu gutxiegi - + At least one edge or wire is required. Gutxienez ertz bat edo alanbre bat behar da. - + Invalid selection Baliogabeko hautapena - + Select one or more edges from a single object. Hautatu objektu bakar baten ertz bat edo gehiago. - + Wrong selection Hautapen okerra - + '%1' cannot be used as profile and path. '%1' ezin da erabili profil eta bide gisa. - + Input error Sarrera-errorea - + Done Egina - + Select one or more connected edges in the 3d view and press 'Done' Hautatu konektatutako ertz bat edo gehiago 3D bistan eta sakatu 'Egina' - - + + Sweep path Ekortze-bidea - - + + The selected sweep path is invalid. Hautatutako ekortze-bidea baliogabea da. - + Vertex/Wire Erpina/alanbrea - + Sweep Ekortu PartGui::TaskAttacher - - - Form - Inprimakia - Selection accepted @@ -4960,7 +4955,7 @@ sortutako mozketak soilik daude ikusgai - + Attachment Offset (in local coordinates): Eranskinaren desplazamendua (koordenatu lokaletan): @@ -5039,77 +5034,77 @@ koordenatu-sistema lokalean adierazten da. Irauli aldeak - + OCC error: %1 OCC errorea: %1 - + unknown error errore ezezaguna - + Attachment mode failed: %1 Eranste moduak huts egin du: %1 - + Not attached Ez erantsia - + Attached with mode %1 %1 moduan erantsia - + Attachment Offset (inactive - not attached): Eranskinaren desplazamendua (inaktiboa - erantsi gabea): - + Face Aurpegia - + Edge Ertza - + Vertex Erpina - + Selecting... Hautatzen... - + Reference%1 %1. erreferentzia - + Not editable because rotation of AttachmentOffset is bound by expressions. Ezin da editatu eranskin-desplazamenduaren biraketa adierazpenez mugatuta dagoelako. - + Reference combinations: Erreferentzia-konbinazioak: - + %1 (add %2) %1 (gehitu %2) - + %1 (add more references) %1 (gehitu erreferentzia gehiago) @@ -5365,7 +5360,7 @@ Eragiketa boolearren banakako egiaztatzeak: PartGui::TaskDlgAttacher - + Datum dialog: Input error Zero puntuaren elkarrizketa-koadroa: Sarrera-errorea @@ -5373,7 +5368,7 @@ Eragiketa boolearren banakako egiaztatzeak: PartGui::TaskExportStep - + Don't show this dialog again Ez erakutsi elkarrizketa-koadro hau berriro @@ -5598,7 +5593,7 @@ hatapen-laukizuzen bat arrastatuta 3D bistan Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Hautatu profil bat edo gehiago eta hautatu ertz bat edo alanbre bat @@ -5636,24 +5631,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Lodiera - + Select faces of the source object and press 'Done' Hautatu iturburu-objektuko aurpegiak eta sakatu 'Eginda' - + Done Egina - + Input error Sarrera-errorea @@ -5706,27 +5701,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Editatu %1 - + Part and Part Design workbench Piezen eta pieza-diseinuaren lan-mahaia + + - - Part/Part Design Pieza/Piezen diseinua - - + + Import-Export Inportatu-Esportatu @@ -5798,20 +5793,20 @@ Do you want to continue? Ez da erreferentziarik hautatu - + Face Aurpegia - + Edge Ertza - + Vertex Erpina @@ -6091,44 +6086,44 @@ Do you want to continue? Baliogabea - - + + Selections Hautapenak - - + + Control Kontrola - + Selection Hautapena - + Reset selection Berrezarri hautapena - + Toggle direct dimensions Txandakatu kota zuzenak - + Toggle orthogonal dimensions Txandakatu kota ortogonalak - + Clear all dimensions Garbitu kota guztiak - + Set colors... Ezarri koloreak... @@ -6138,27 +6133,27 @@ Do you want to continue? Editatu ispilatze-planoa - + Edit fillet edges Editatu ertz biribilduak - + Edit chamfer edges Editatu alaka-ertzak - + Edit offset Editatu desplazamendua - + Edit thickness Editatu lodiera - + Show control points Erakutsi kontrol-puntuak diff --git a/src/Mod/Part/Gui/Resources/translations/Part_fi.ts b/src/Mod/Part/Gui/Resources/translations/Part_fi.ts index d1912ced9e..aa90823430 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_fi.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_fi.ts @@ -2317,53 +2317,53 @@ of projection. Piirteiden poisto - + Convert mesh Convert mesh - + Edit attachment Edit attachment - + Change face colors Change face colors - + Loft Profiilivenytys - + Edge Reuna - + Wire Lanka - - + + Face Tahko - + Shell Kuori - + Solid Kiintomuoto - + Sweep Pyyhkäise @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.Vaihda valinta - + Select a shape on the left side, first Valitse ensin vasemmanpuoleinen muoto - + Select a shape on the right side, first Valitse ensin oikeanpuoleinen muoto - + Cannot perform a boolean operation with the same shape Boolen operaatiota ei voi suorittaa yhdellä ja samalla muodolla - + No active document available Ei aktiivista asiakirjaa saatavilla - + One of the selected objects doesn't exist anymore Yksi valituista kohteista ei ole enää olemassa - + Performing union on non-solids is not possible Yhdiste-operaatio eli unioni on mahdollinen vain kiintomuotojen välillä - + Performing intersection on non-solids is not possible Leikkaus-operaatio on mahdollinen vain kiintomuotojen välillä - + Performing difference on non-solids is not possible Erotus-operaatio on mahdollinen vain kiintomuotojen välillä @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Viisteen reunat @@ -3014,7 +3014,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Pyöristysparametri @@ -3064,106 +3064,106 @@ If both lengths are zero, magnitude of direction is used. Säde: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: Pituus: - + Edges to chamfer Viisteen reunat - + Start length Aloituspituus - + Equal distance Equal distance - + Two distances Two distances - + Size Koko - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Pyöristettävät reunat - - + + Start radius Säteen alku - + End radius Säteen loppu - - + + Edge%1 Reuna %1 - + Length Pituus - + Radius Säde - + No shape selected Ei valittua muotoa - + No valid shape is selected. Please select a valid shape in the drop-down box first. Kelvollista muotoa ei ole valittu. Ole hyvä ja valitse kelvollinen muoto alas veto laatikosta. - + No edge selected Ei valittua reunaa - + No edge entity is checked to fillet. Please check one or more edge entities first. Reuna kokonaisuutta ei ole valittu pyöristykseen. @@ -3271,7 +3271,7 @@ Ole hyvä valitse yksi tai useampi reuna kokonaisuus. PartGui::DlgImportExportStep - + STEP STEP @@ -3504,12 +3504,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Kaikki tiedostot @@ -3530,12 +3530,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Kaikki tiedostot @@ -3881,20 +3881,20 @@ during file reading (slower but higher details). Kärkipiste - - - - + + + + Create %1 Luo %1 - + No active document Ei aktiivista dokumenttia - + &Create &Luo @@ -4161,12 +4161,12 @@ during file reading (slower but higher details). Suurin kulmapoikkeama - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4490,37 +4490,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Käytettävissä olevat profiilit - + Selected profiles Valitut profiilit - + Too few elements Liian vähän elementtejä - + At least two vertices, edges, wires or faces are required. Tarvitaan vähintään kaksi pistettä, reunaa, lankaa tai pintatahkoa. - + Input error Syötteen virhe - + Vertex/Edge/Wire/Face Kärkipiste/reuna/lanka/pintatahko - + Loft Profiilivenytys @@ -4578,12 +4578,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Valitse ensin peilattava muoto. - + No such document '%1'. Asiakirjaa '%1' ei ole olemassa. @@ -4591,7 +4591,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Syötteen virhe @@ -4747,80 +4747,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Ei tuettu - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Virheellinen valinta - - + + Select two vertices Valitse kaksi kärkipistettä - - + + Select one or more edges Valitse yksi tai useampi reuna - + Select three or more vertices Valitse vähintään kolme kärkipistettä - + Select two or more faces Valitse vähintään kaksi pintatahkoa - + Select only one part object Valitse vain yksi osa-objekti - + Select two vertices to create an edge Valitse kaksi kärkipistettä luodaksesi reunan - + Select adjacent edges Valitse viereiset reunat - + Select a list of vertices Valitse luettelo kärkipisteitä - + Select a closed set of edges Valitse suljettu joukko reunoista - + Select adjacent faces Valitse vierekkäisiä pintatahkoja - + All shape types can be selected Kaikki muototyypit voidaan valita @@ -4846,90 +4846,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Käytettävissä olevat profiilit - + Selected profiles Valitut profiilit - + Too few elements Liian vähän elementtejä - + At least one edge or wire is required. Tarvitaan vähintään yksi reuna tai lanka. - + Invalid selection Virheellinen valinta - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Virheellinen valinta - + '%1' cannot be used as profile and path. Objektia '%1' ei voi käyttää sekä profiilina että reittinä. - + Input error Syötteen virhe - + Done Valmis - + Select one or more connected edges in the 3d view and press 'Done' Valitse vähintään yksi kytketty reuna 3d-näkymässä ja paina 'Valmis' - - + + Sweep path Pyyhkäisyreitti - - + + The selected sweep path is invalid. Valittu pyyhkäisyreitti on virheellinen. - + Vertex/Wire Kärkipiste/Lanka - + Sweep Pyyhkäise PartGui::TaskAttacher - - - Form - Lomake - Selection accepted @@ -4962,7 +4957,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Liitoksen siirros (paikallisissa koordinaateissa): @@ -5043,77 +5038,77 @@ of object being attached. Vaihda puolet - + OCC error: %1 OCC-virhe: %1 - + unknown error tuntematon virhe - + Attachment mode failed: %1 Liitosmoodi epäonnistui: %1 - + Not attached Ei liitetty - + Attached with mode %1 Liitetty moodilla %1 - + Attachment Offset (inactive - not attached): Liitoksen siirros (passiivinen - ei liitetty): - + Face Tahko - + Edge Reuna - + Vertex Kärkipiste - + Selecting... Valitaan... - + Reference%1 Viittaus%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Viittausten yhdistelmät: - + %1 (add %2) %1 (lisää %2) - + %1 (add more references) %1 (lisää viitteitä) @@ -5369,7 +5364,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Päivämäärä ikkuna: Syöttövirhe @@ -5377,7 +5372,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5602,7 +5597,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Valitse vähintään yksi profiili, ja valitse 3D näkymästä @@ -5640,24 +5635,24 @@ reuna tai lanka, jota pitkin reitin pyyhkäisy tehdään. PartGui::ThicknessWidget - - - + + + Thickness Paksuus - + Select faces of the source object and press 'Done' Valitse lähdeobjektin pintatahkoja ja paina 'Valmis' - + Done Valmis - + Input error Syötteen virhe @@ -5710,27 +5705,27 @@ reuna tai lanka, jota pitkin reitin pyyhkäisy tehdään. - - + + Edit %1 Muokkaa %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Tuo/Vie @@ -5803,20 +5798,20 @@ Haluatko jatkaa? Ei viittausta valittuna - + Face Tahko - + Edge Reuna - + Vertex Kärkipiste @@ -6096,44 +6091,44 @@ Haluatko jatkaa? Virheellinen - - + + Selections Valinnat - - + + Control Control - + Selection Valinta - + Reset selection Reset selection - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... Määritä värit ... @@ -6143,27 +6138,27 @@ Haluatko jatkaa? Muokkaa peilaustasoa - + Edit fillet edges Muokkaa pyöristyksen reunoja - + Edit chamfer edges Muokkaa viisteen reunoja - + Edit offset Muokkaa siirrosta - + Edit thickness Muokkaa paksuutta - + Show control points Näytä ohjauspisteet diff --git a/src/Mod/Part/Gui/Resources/translations/Part_fr.ts b/src/Mod/Part/Gui/Resources/translations/Part_fr.ts index 1cfe3b7fb8..5ca4c12c22 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_fr.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_fr.ts @@ -698,7 +698,7 @@ Plane constructed on second and third principal axes of inertia (passes through center of mass). AttachmentPlane mode tooltip - Plan construit sur les deuxième et troisième des axes principaux d’inertie (passe par le centre de masse). + Plan construit sur les deuxième et troisième axes principaux d'inertie (passe par le centre de la masse). @@ -1185,7 +1185,7 @@ Part - Pièce + Part @@ -1203,7 +1203,7 @@ Part - Pièce + Part @@ -1221,7 +1221,7 @@ Part - Pièce + Part @@ -1239,7 +1239,7 @@ Part - Pièce + Part @@ -1261,12 +1261,12 @@ cela mesurera entre deux de leurs sommets. Part - Pièce + Part Refresh - Rafraîchir + Actualiser @@ -1281,7 +1281,7 @@ si les points mesurés ont été déplacés. Part - Pièce + Part @@ -1301,7 +1301,7 @@ y compris angulaire. Part - Pièce + Part @@ -1321,7 +1321,7 @@ directes, orthogonales et angulaires. Part - Pièce + Part @@ -1343,7 +1343,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1361,7 +1361,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1381,7 +1381,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1399,7 +1399,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1417,7 +1417,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1435,7 +1435,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1453,7 +1453,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1471,7 +1471,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1489,7 +1489,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1507,7 +1507,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1525,7 +1525,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1543,7 +1543,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1561,7 +1561,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1581,7 +1581,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1599,7 +1599,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1617,7 +1617,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1637,7 +1637,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1655,7 +1655,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1673,7 +1673,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1691,7 +1691,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1709,7 +1709,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1727,7 +1727,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1745,7 +1745,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1763,7 +1763,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1781,7 +1781,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1799,7 +1799,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1817,7 +1817,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1835,7 +1835,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1853,7 +1853,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1871,7 +1871,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1889,7 +1889,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1907,7 +1907,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1925,7 +1925,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1943,7 +1943,7 @@ décomposée en ses composantes X, Y et Z. Part - Pièce + Part @@ -1966,7 +1966,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -1984,7 +1984,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2002,7 +2002,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2020,7 +2020,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2038,7 +2038,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2069,7 +2069,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2087,7 +2087,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2105,7 +2105,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2123,7 +2123,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2143,7 +2143,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2161,7 +2161,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2189,7 +2189,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2209,7 +2209,7 @@ La vue caméra détermine la direction de la projection. Part - Pièce + Part @@ -2316,53 +2316,53 @@ La vue caméra détermine la direction de la projection. Supprimer la fonctionnalité - + Convert mesh Convertir le maillage - + Edit attachment Modifier l'ancrage - + Change face colors Changer les couleurs de la face - + Loft Lissage - + Edge Arête - + Wire Fil - - + + Face Face - + Shell Coque - + Solid Solide - + Sweep Balayage @@ -2603,42 +2603,42 @@ Remarque : le placement est exprimé localement par rapport à l'objet auquel il Changement de sélection - + Select a shape on the left side, first Sélectionner d'abord une forme sur le côté gauche - + Select a shape on the right side, first Sélectionner d'abord une forme sur le côté droit - + Cannot perform a boolean operation with the same shape Impossible d'effectuer une opération booléenne sur une seule forme - + No active document available Aucun document actif disponible - + One of the selected objects doesn't exist anymore Un des objets sélectionnés n'existe plus - + Performing union on non-solids is not possible L'union de formes non-solides n'est pas possible - + Performing intersection on non-solids is not possible L'intersection de formes non-solides n'est pas possible - + Performing difference on non-solids is not possible La soustraction de formes non-solides n'est pas possible @@ -2646,7 +2646,7 @@ Remarque : le placement est exprimé localement par rapport à l'objet auquel il PartGui::DlgChamferEdges - + Chamfer Edges Chanfreiner des arêtes @@ -2815,7 +2815,7 @@ la taille du fichier STEP résultant. Select - Sélectionner + Sélectionnez @@ -3010,7 +3010,7 @@ Si les deux longueurs sont nulles, la grandeur de la direction est utilisée. - + Fillet Parameter Paramètres de congé @@ -3060,105 +3060,105 @@ Si les deux longueurs sont nulles, la grandeur de la direction est utilisée.Rayon : - + Chamfer Parameter Paramètres du chanfrein - + Chamfer type Type de chanfrein - + Length: Longueur : - + Edges to chamfer Arêtes à chanfreiner - + Start length Longueur de départ - + Equal distance Cote égale - + Two distances Deux cotes - + Size Dimension - + Size2 Taille2 - + Fillet type Type de filetage - + Edges to fillet Congé sur arêtes - - + + Start radius Rayon initial - + End radius Rayon final - - + + Edge%1 Arête%1 - + Length Longueur - + Radius Rayon - + No shape selected Aucune forme sélectionnée - + No valid shape is selected. Please select a valid shape in the drop-down box first. Aucune forme valide n'est sélectionnée. Veuillez sélectionner d'abord une forme valide dans le menu déroulant. - + No edge selected Aucune arête sélectionnée - + No edge entity is checked to fillet. Please check one or more edge entities first. Aucune arête n'est sélectionnée pour le congé. Veuillez d'abord cocher une ou plusieurs arêtes. @@ -3224,7 +3224,7 @@ Please check one or more edge entities first. Import - Importation + Importer @@ -3265,7 +3265,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3420,7 +3420,7 @@ during file reading (slower but higher details). Length: - Longueur : + Longueur : @@ -3443,22 +3443,22 @@ during file reading (slower but higher details). Position: - Position : + Position : X: - X : + X : Y: - Y : + Y : Z: - Z : + Z : @@ -3473,12 +3473,12 @@ during file reading (slower but higher details). Radius: - Rayon : + Rayon : Height: - Hauteur : + Hauteur : @@ -3497,12 +3497,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Tous les fichiers @@ -3523,12 +3523,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Tous les fichiers @@ -3644,7 +3644,7 @@ during file reading (slower but higher details). Length: - Longueur : + Longueur : @@ -3659,7 +3659,7 @@ during file reading (slower but higher details). Height: - Hauteur : + Hauteur : @@ -3844,19 +3844,19 @@ during file reading (slower but higher details). X: - X : + X : Y: - Y : + Y : Z: - Z : + Z : @@ -3874,20 +3874,20 @@ during file reading (slower but higher details). Sommet - - - - + + + + Create %1 Créer %1 - + No active document Aucun document actif - + &Create &Créer @@ -4047,7 +4047,7 @@ during file reading (slower but higher details). Angle: - Angle : + Angle : @@ -4141,7 +4141,7 @@ during file reading (slower but higher details). <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Tessellation</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Defines the maximum deviation of the tessellated mesh to the surface. The smaller the value is the slower the render speed which results in increased detail/resolution.</span></p></body></html> - <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Pavage du plan</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Définit la déviation maximale de la maille en mosaïque par rapport à la surface. Plus la valeur est petite, plus la vitesse de rendu est lente, ce qui se traduit par une augmentation des détails/de la résolution.</span></p></body></html> + <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">La tessellation</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">définit la déviation maximale de la maille en mosaïque par rapport à la surface. Plus la valeur est petite, plus la vitesse de rendu est lente, ce qui se traduit par une augmentation des détails/de la résolution.</span></p></body></html> @@ -4154,14 +4154,14 @@ during file reading (slower but higher details). Déviation angulaire maximale - + Deviation Déviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. - Définir une déviation de tessellation trop faible peut ralentir ou geler l'interface. + Définir une déviation de tessellation trop faible peut ralentir ou figer l'interface. @@ -4305,7 +4305,7 @@ during file reading (slower but higher details). Line color - Couleur de ligne + Couleur des lignes @@ -4315,7 +4315,7 @@ during file reading (slower but higher details). Line width - Largeur de ligne + Épaisseur des lignes @@ -4430,7 +4430,7 @@ sera utilisée soit du noir. 3D view - 3D + Vue 3D @@ -4483,37 +4483,37 @@ le vecteur normal du plan de l'esquisse sera utilisé PartGui::LoftWidget - + Available profiles Profils disponibles - + Selected profiles Profils sélectionnés - + Too few elements Trop peu d'éléments - + At least two vertices, edges, wires or faces are required. Au moins deux sommets, arêtes, fils ou faces sont requis. - + Input error Erreur de saisie - + Vertex/Edge/Wire/Face Sommet/Arête/Fil/Face - + Loft Lissage @@ -4571,12 +4571,12 @@ le vecteur normal du plan de l'esquisse sera utilisé z - + Select a shape for mirroring, first. Sélectionner d'abord une forme à mettre en miroir. - + No such document '%1'. Aucun document '%1'. @@ -4584,7 +4584,7 @@ le vecteur normal du plan de l'esquisse sera utilisé PartGui::OffsetWidget - + Input error Erreur de saisie @@ -4631,7 +4631,7 @@ le vecteur normal du plan de l'esquisse sera utilisé Flip - Retourner + Inverser @@ -4675,7 +4675,7 @@ Fonctionne uniquement si tous les objets ont les mêmes valeurs. Auto - Auto + Automatique @@ -4738,80 +4738,80 @@ seules les coupes créées seront visibles PartGui::ShapeBuilderWidget - + Unsupported Non pris en charge - + Box selection for shells is not supported La séléction par boîte n'est pas prise en charge pour les coques - - - - - - - + + + + + + + Wrong selection Sélection invalide - - + + Select two vertices Sélectionnez deux sommets - - + + Select one or more edges Sélectionnez une ou plusieurs arêtes - + Select three or more vertices Sélectionnez au moins trois sommets - + Select two or more faces Sélectionnez au moins deux faces - + Select only one part object Sélectionnez seulement un objet pièce - + Select two vertices to create an edge Sélectionnez deux sommets pour créer une arête - + Select adjacent edges Sélectionnez des bords adjacents - + Select a list of vertices Sélectionnez une liste de sommets - + Select a closed set of edges Sélectionner un ensemble fermé d'arêtes - + Select adjacent faces Sélectionner les faces adjacentes - + All shape types can be selected Tous les types de forme peuvent être sélectionnés @@ -4837,90 +4837,85 @@ seules les coupes créées seront visibles PartGui::SweepWidget - + Available profiles Profils disponibles - + Selected profiles Profils sélectionnés - + Too few elements Trop peu d'éléments - + At least one edge or wire is required. Au moins une arête ou un fil est requis. - + Invalid selection Sélection non valide - + Select one or more edges from a single object. Sélectionnez une ou plusieurs arêtes à partir d'un seul objet. - + Wrong selection - Sélection invalide + Sélection incorrecte - + '%1' cannot be used as profile and path. '%1' ne peut pas servir de profil et de chemin. - + Input error Erreur de saisie - + Done Fait - + Select one or more connected edges in the 3d view and press 'Done' Sélectionnez une ou plusieurs arêtes connectées dans la vue 3D et appuyez sur « Fait » - - + + Sweep path Trajectoire de balayage - - + + The selected sweep path is invalid. Le chemin de balayage sélectionné n'est pas valide. - + Vertex/Wire Sommet/Fil - + Sweep Balayage PartGui::TaskAttacher - - - Form - Forme - Selection accepted @@ -4953,7 +4948,7 @@ seules les coupes créées seront visibles - + Attachment Offset (in local coordinates): Décalage de l'ancrage (en coordonnées locales) : @@ -5031,77 +5026,77 @@ Remarque : le placement est exprimé dans le système de coordonnées local de l Inverser les côtés - + OCC error: %1 Erreur OCC : %1 - + unknown error erreur inconnue - + Attachment mode failed: %1 Le mode d'accrochage a échoué : %1 - + Not attached Non accroché - + Attached with mode %1 Accroché avec mode %1 - + Attachment Offset (inactive - not attached): Compensation d'accrochage (inactif - non accroché) : - + Face Face - + Edge Arête - + Vertex Sommet - + Selecting... Sélection de... - + Reference%1 Référence%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Non modifiable parce que la rotation de AttachmentOffset est définie par des expressions. - + Reference combinations: Combinaisons de référence : - + %1 (add %2) %1 (ajouter %2) - + %1 (add more references) %1 (ajouter plus de références) @@ -5117,7 +5112,7 @@ Remarque : le placement est exprimé dans le système de coordonnées local de l Settings - Réglages + Paramètres @@ -5370,7 +5365,7 @@ Valeur par défaut : true PartGui::TaskDlgAttacher - + Datum dialog: Input error Boîte de dialogue de dimension : erreur d’entrée @@ -5378,7 +5373,7 @@ Valeur par défaut : true PartGui::TaskExportStep - + Don't show this dialog again Ne plus afficher ce dialogue @@ -5433,7 +5428,7 @@ en traçant un rectangle de sélection dans la vue 3D Create solid - Créer le solide + Créer un solide @@ -5603,7 +5598,7 @@ en traçant un rectangle de sélection dans la vue 3D Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Sélectionnez au moins un profil dans la liste, puis une arête ou un fil dans la vue 3D comme chemin. @@ -5640,24 +5635,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Evidement - + Select faces of the source object and press 'Done' Sélectionnez des faces de l'objet source et cliquez sur 'Terminé' - + Done Fait - + Input error Erreur de saisie @@ -5710,27 +5705,27 @@ in the 3D view for the sweep path. - - + + Edit %1 - Modifier %1 + Éditer %1 - + Part and Part Design workbench Ateliers Part et Part Design + + - - Part/Part Design Part/Part Design - - + + Import-Export Importer/Exporter @@ -5742,7 +5737,7 @@ in the 3D view for the sweep path. Wrong selection - Sélection invalide + Sélection incorrecte @@ -5803,20 +5798,20 @@ Voulez-vous continuer ? Aucune référence sélectionnée - + Face Face - + Edge Arête - + Vertex Sommet @@ -5843,7 +5838,7 @@ Voulez-vous continuer ? Wire - Fil + Polyligne @@ -6073,7 +6068,7 @@ Voulez-vous continuer ? Boolean operation: Aborted - Opération booléenne : Abandonné + Opération booléenne : interrompue @@ -6096,44 +6091,44 @@ Voulez-vous continuer ? Invalide - - + + Selections Sélections - - + + Control Contrôle - + Selection Sélection - + Reset selection Réinitialiser la sélection - + Toggle direct dimensions Basculer aux cotes directes - + Toggle orthogonal dimensions Basculer aux cotes orthogonales - + Clear all dimensions Effacer toutes les cotes - + Set colors... Définir les couleurs... @@ -6143,27 +6138,27 @@ Voulez-vous continuer ? Éditer le plan du miroir - + Edit fillet edges Modifier les congés d'arête - + Edit chamfer edges Modifier les arêtes du chanfrein - + Edit offset Modifier le décalage - + Edit thickness Modifier l'évidement - + Show control points Afficher les points de contrôle @@ -6274,7 +6269,7 @@ Voulez-vous continuer ? Click 'Continue' to create the feature anyway, or 'Abort' to cancel. - Cliquez sur "Continuer" pour créer la fonction de toute façon, ou sur "Abandonner" pour annuler. + Cliquez sur "Continuer" pour créer tout de même la fonction ou sur "Interrompre" pour annuler. @@ -6358,7 +6353,7 @@ Voulez-vous continuer ? Click 'Continue' to create the feature anyway, or 'Abort' to cancel. - Cliquez sur "Continuer" pour créer la fonction de toute façon, ou sur "Abandonner" pour annuler. + Cliquez sur "Continuer" pour créer tout de même la fonction ou sur "Interrompre" pour annuler. @@ -6369,7 +6364,7 @@ Voulez-vous continuer ? Bad selection - Sélection non valide + Mauvaise sélection @@ -6417,7 +6412,7 @@ Si un deuxième objet est sélectionné, il sera utilisé comme référence, par Bad selection - Sélection non valide + Mauvaise sélection @@ -6427,7 +6422,7 @@ Si un deuxième objet est sélectionné, il sera utilisé comme référence, par Click 'Continue' to create the feature anyway, or 'Abort' to cancel. - Cliquez sur "Continuer" pour créer la fonction de toute façon, ou sur "Abandonner" pour annuler. + Cliquez sur "Continuer" pour créer tout de même la fonction ou sur "Interrompre" pour annuler. @@ -6481,7 +6476,7 @@ Cela créera un "filtre composé" pour chaque forme. Attachment - Accrochage + Ancrage @@ -6598,7 +6593,7 @@ Cela créera un "filtre composé" pour chaque forme. Faces - Faces + Faces  diff --git a/src/Mod/Part/Gui/Resources/translations/Part_gl.ts b/src/Mod/Part/Gui/Resources/translations/Part_gl.ts index f8e9a35ce8..0f73c729d7 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_gl.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_gl.ts @@ -2317,53 +2317,53 @@ of projection. Desfigurar - + Convert mesh Convert mesh - + Edit attachment Edit attachment - + Change face colors Change face colors - + Loft Alzamento - + Edge Bordo - + Wire Arame - - + + Face Face - + Shell Carcasa - + Solid Sólido - + Sweep Varrer @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.Trocar selección - + Select a shape on the left side, first Primeiro escolme unha forma do lado esquerdo, - + Select a shape on the right side, first Primeiro escolme unha forma do lado dereito, - + Cannot perform a boolean operation with the same shape Non é posible facer unha operación booleana coa mesma forma - + No active document available Ningún documento activo dispoñíbel - + One of the selected objects doesn't exist anymore Un dos obxectos escolmados xa non existe - + Performing union on non-solids is not possible Non é posíbel conformar unha unión de non sólidos - + Performing intersection on non-solids is not possible Non é posíbel conformar unha intersección de non sólidos - + Performing difference on non-solids is not possible Non é posíbel conformar unha subtracción de non sólidos @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Bordos de Chaflán @@ -3012,7 +3012,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Parámetro de arredondamento @@ -3062,105 +3062,105 @@ If both lengths are zero, magnitude of direction is used. Radio: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: Lonxitude: - + Edges to chamfer Bordos a chaflán - + Start length Lonxitude inicial - + Equal distance Equal distance - + Two distances Dúas distancias - + Size Tamaño - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Bordos a arredondar - - + + Start radius Raio inicial - + End radius Raio final - - + + Edge%1 Bordo %1 - + Length Lonxitude - + Radius Radio - + No shape selected Ningunha forma escolmada - + No valid shape is selected. Please select a valid shape in the drop-down box first. Ningunha forma válida está escolmada. Por favor, escolme unha forma válida no cadro despregable en primeiro lugar. - + No edge selected Ningún bordo escolmado - + No edge entity is checked to fillet. Please check one or more edge entities first. Ningunha entidade bordo está marcada para arredondar. Por favor marque unha ou máis entidades de bordo en primeiro lugar. @@ -3267,7 +3267,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3500,12 +3500,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Tódolos ficheiros @@ -3526,12 +3526,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Tódolos ficheiros @@ -3877,20 +3877,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 Crear %1 - + No active document Ningún documento activo - + &Create &Crear @@ -4153,12 +4153,12 @@ during file reading (slower but higher details). Deflexión angular máxima - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4482,37 +4482,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Perfiles dispoñibles - + Selected profiles Perfiles escolmados - + Too few elements Moi poucos elementos - + At least two vertices, edges, wires or faces are required. Polo menos dous vértices, bordos, arames ou faces son precisos. - + Input error Input error - + Vertex/Edge/Wire/Face Vértice/Bordo/Arame/Face - + Loft Alzamento @@ -4570,12 +4570,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Escolme unha forma para espello, en primeiro lugar. - + No such document '%1'. Sen tal documento '%1'. @@ -4583,7 +4583,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Input error @@ -4739,80 +4739,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Escolma errada - - + + Select two vertices Escolme dous vértices - - + + Select one or more edges Escolme un ou máis bordos - + Select three or more vertices Escolme tres ou máis vértices - + Select two or more faces Escolme dúas ou máis faces - + Select only one part object Escolme só un obxecto Peza - + Select two vertices to create an edge Escolme dous vértices para facer un bordo - + Select adjacent edges Escolma bordos adxacentes - + Select a list of vertices Escolme unha lista de vértices - + Select a closed set of edges Escolme un conxunto pechado de arestas - + Select adjacent faces Escolme caras adxacentes - + All shape types can be selected Tódolos tipos de forma poden escollerse @@ -4838,90 +4838,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Perfiles dispoñibles - + Selected profiles Perfiles escolmados - + Too few elements Moi poucos elementos - + At least one edge or wire is required. É preciso un bordo ou arame polo menos. - + Invalid selection Escolma non válida - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Escolma errada - + '%1' cannot be used as profile and path. '%1' non se pode usar como perfil e mais camiño. - + Input error Input error - + Done Feito - + Select one or more connected edges in the 3d view and press 'Done' Escolme un ou máis bordos conectados na vista 3D e prema 'Feito' - - + + Sweep path Camiño de varrido - - + + The selected sweep path is invalid. O camiño de varrido escollido non é válido. - + Vertex/Wire Vertex/Wire - + Sweep Varrer PartGui::TaskAttacher - - - Form - Formulario - Selection accepted @@ -4954,7 +4949,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Attachment Offset (in local coordinates): @@ -5035,77 +5030,77 @@ of object being attached. Faces opostas - + OCC error: %1 Erro OCC: %1 - + unknown error erro descoñecido - + Attachment mode failed: %1 Fallou o modo de asociación: %1 - + Not attached Non asociado - + Attached with mode %1 Asociado co modo %1 - + Attachment Offset (inactive - not attached): Xeito de asociación (inactivo - non asociado): - + Face Face - + Edge Bordo - + Vertex Vertex - + Selecting... Escolmar... - + Reference%1 Referencia%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Combinacións de referencias: - + %1 (add %2) %1 (Engadir %2) - + %1 (add more references) %1 (engadir máis referencias) @@ -5361,7 +5356,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Diálogo de datos: Erro de entrada @@ -5369,7 +5364,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5594,7 +5589,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Escolme un ou máis perfís e escolme un bordo ou arame na vista 3D para o camiño de varrido. @@ -5631,24 +5626,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Grosor - + Select faces of the source object and press 'Done' Escolme faces do obxecto de orixe e prema en 'Feito' - + Done Feito - + Input error Input error @@ -5701,27 +5696,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Editar %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Importar-Exportar @@ -5793,20 +5788,20 @@ Do you want to continue? Ningunha referencia escolmada - + Face Face - + Edge Bordo - + Vertex Vertex @@ -6086,44 +6081,44 @@ Do you want to continue? Inválido - - + + Selections Seleccións - - + + Control Control - + Selection Selección - + Reset selection Reinicializar seleccion - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Borrar todas as dimensións - + Set colors... Definir cores... @@ -6133,27 +6128,27 @@ Do you want to continue? Editar o plano de simetría - + Edit fillet edges Editar bordos do chafrán arredondado - + Edit chamfer edges Editar bordos do chafrán - + Edit offset Editar desprazamento - + Edit thickness Editar grosor - + Show control points Amosar puntos de control diff --git a/src/Mod/Part/Gui/Resources/translations/Part_hr.ts b/src/Mod/Part/Gui/Resources/translations/Part_hr.ts index d4c47307a3..b6290b03e5 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_hr.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_hr.ts @@ -2321,53 +2321,53 @@ projekcije. Oduzimanje svojstva - + Convert mesh Pretvori mrežu - + Edit attachment Uređivanje privitka - + Change face colors Promijeni boju lica - + Loft Tuba - + Edge Rub - + Wire Žica - - + + Face Površina - + Shell Ljuska - + Solid Čvrsto tijelo - + Sweep Zamah @@ -2611,42 +2611,42 @@ predmeta koji se pridružuje. Zamijeni odabir - + Select a shape on the left side, first Prvo odaberite oblik na lijevoj strani - + Select a shape on the right side, first Prvo odaberite oblik na desnoj strani - + Cannot perform a boolean operation with the same shape Ne možete izvesti operaciju s istim oblikom - + No active document available Nema aktivnog dostupnog dokumenta - + One of the selected objects doesn't exist anymore Jedan od odabranih objekata više ne postoji - + Performing union on non-solids is not possible Nije moguće izvođenje spajanja na objektima koji nisu tijela - + Performing intersection on non-solids is not possible Nije moguće izvođenje prejeka na objektima koji nisu tijela - + Performing difference on non-solids is not possible Nije moguće izvođenje razlike na objektima koji nisu tijela @@ -2654,7 +2654,7 @@ predmeta koji se pridružuje. PartGui::DlgChamferEdges - + Chamfer Edges Zarubi stranice @@ -3024,7 +3024,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Parametar zaobljenja @@ -3074,105 +3074,105 @@ If both lengths are zero, magnitude of direction is used. Polumjer: - + Chamfer Parameter Parametar žlijeba - + Chamfer type Vrsta žlijeba - + Length: Duljina: - + Edges to chamfer Rubove za zarubljivanje - + Start length Početna dužina - + Equal distance Ista udaljenost - + Two distances Dvije udaljenosti - + Size Veličina - + Size2 Veličina2 - + Fillet type Vrsta obruba - + Edges to fillet Zaobli rubove - - + + Start radius Početni radijus - + End radius Krajnji radijus - - + + Edge%1 Rub%1 - + Length Dužina - + Radius Polumjer - + No shape selected Nema odabranih oblika - + No valid shape is selected. Please select a valid shape in the drop-down box first. Nije odabran vanljan oblik. Molimo odaberite valjan oblik u padajućem okviru. - + No edge selected Nema odabranih rubova - + No edge entity is checked to fillet. Please check one or more edge entities first. Nema rubova za zaobliti. Molimo prvo označite jedan ili više rubova. @@ -3279,7 +3279,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3512,12 +3512,12 @@ tijekom čitanja datoteke (sporije, ali veći detalji). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Sve datoteke @@ -3538,12 +3538,12 @@ tijekom čitanja datoteke (sporije, ali veći detalji). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Sve datoteke @@ -3889,20 +3889,20 @@ tijekom čitanja datoteke (sporije, ali veći detalji). Vrh - - - - + + + + Create %1 Napravi %1 - + No active document Nema aktivnog dokumenta - + &Create &Izradi @@ -4170,12 +4170,12 @@ tijekom čitanja datoteke (sporije, ali veći detalji). Maksimalno kutno odstupanje - + Deviation Odstupanje - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Postavljanje premalene devijacije uzrokuje smrzavanje ili usporava korisničko sučelje. @@ -4501,37 +4501,37 @@ u suprotnom koristit će se normalni vektor ravnine skice PartGui::LoftWidget - + Available profiles Dostupni profili - + Selected profiles Odabrani profili - + Too few elements Premalo elemenata - + At least two vertices, edges, wires or faces are required. Najmanje su potrebna dva vrha, ruba, žice, ili naličja. - + Input error Pogreška na ulazu - + Vertex/Edge/Wire/Face Vrh/Rub/Žice/Naličja - + Loft Tuba @@ -4589,12 +4589,12 @@ u suprotnom koristit će se normalni vektor ravnine skice z - + Select a shape for mirroring, first. Prvo odaberite oblik za zrcaljenje. - + No such document '%1'. Ne postoji takav dokument '%1'. @@ -4602,7 +4602,7 @@ u suprotnom koristit će se normalni vektor ravnine skice PartGui::OffsetWidget - + Input error Pogreška na ulazu @@ -4758,80 +4758,80 @@ bit će vidljivi samo stvoreni rezovi PartGui::ShapeBuilderWidget - + Unsupported Nije podržano - + Box selection for shells is not supported Okvir odabira za ljuske nije podržan - - - - - - - + + + + + + + Wrong selection Pogrešan odabir - - + + Select two vertices Odaberite dva vrha - - + + Select one or more edges Odaberi jedan ili više rubova - + Select three or more vertices Odaberi tri ili više vrhova - + Select two or more faces Odaberite dvije ili više površina - + Select only one part object Odaberite samo jedan čvrsti objekt - + Select two vertices to create an edge Odaberite dva vrha za stvaranje ruba - + Select adjacent edges Odaberite susjedne rubove - + Select a list of vertices Odaberi listu vrhova - + Select a closed set of edges Odaberite zatvoren skup bridova - + Select adjacent faces Odaberite susjedne plohu - + All shape types can be selected Sve vrste oblika se mogu odabrati @@ -4857,92 +4857,87 @@ bit će vidljivi samo stvoreni rezovi PartGui::SweepWidget - + Available profiles Dostupni profili - + Selected profiles Odabrani profili - + Too few elements Premalo elemenata - + At least one edge or wire is required. Potreban je barem jedan rub ili žica. - + Invalid selection Nevažeći odabir - + Select one or more edges from a single object. Odaberite jedan ili više rubova iz jednog objekta. - + Wrong selection Pogrešan odabir - + '%1' cannot be used as profile and path. '%1' nije moguće koristiti kao profil i put. - + Input error Pogreška na ulazu - + Done Gotovo - + Select one or more connected edges in the 3d view and press 'Done' Odaberite jedan ili više povezanih rubova u 3d prikazu i pritisnite 'Gotovo' - - + + Sweep path Staza zamaha - - + + The selected sweep path is invalid. Odabrani zamah puta je nevažeći. - + Vertex/Wire Vrh/Žica - + Sweep Zamah PartGui::TaskAttacher - - - Form - Obrazac - Selection accepted @@ -4975,7 +4970,7 @@ bit će vidljivi samo stvoreni rezovi - + Attachment Offset (in local coordinates): Dodatak pomaka (u lokalnim koordinatama): @@ -5058,77 +5053,77 @@ predmeta koji se pridružuje. Prebaci strane - + OCC error: %1 OCC greška: %1 - + unknown error nepoznata greška - + Attachment mode failed: %1 Dodavanje nije uspjelo: %1 - + Not attached Nije dodano - + Attached with mode %1 Pričvršćen u načinu rada %1 - + Attachment Offset (inactive - not attached): Dodavanje pomaka (neaktivno - nije dodano): - + Face Površina - + Edge Rub - + Vertex Vrh - + Selecting... Odabiranje... - + Reference%1 Referenca%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Nije moguće uređivati rotaciju pomaka pridruženja jer je ograničena sa izrazom. - + Reference combinations: Kombinacija referenci: - + %1 (add %2) %1 (dodaj %2) - + %1 (add more references) %1 (dodaj više referenci) @@ -5385,7 +5380,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Dijalog polazišta: ulazne pogreške @@ -5393,7 +5388,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Ne prikazuj više ovaj dijalog @@ -5620,7 +5615,7 @@ povlačenjem pravokutnika odabira u 3D prikazu Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Odaberi jedan ili više profila i odaberi rub ili žicu @@ -5658,24 +5653,24 @@ u 3D pogledu kao putanju za zamah. PartGui::ThicknessWidget - - - + + + Thickness Debljina - + Select faces of the source object and press 'Done' Odaberite povrčšine izvornog objekta i pritisnite 'Gotovo' - + Done Gotovo - + Input error Pogreška na ulazu @@ -5728,27 +5723,27 @@ u 3D pogledu kao putanju za zamah. - - + + Edit %1 Uređivanje %1 - + Part and Part Design workbench Radni stol Djelovi i Izrada djelova + + - - Part/Part Design Djelovi/Izrada djelova - - + + Import-Export Uvoz / izvoz @@ -5820,20 +5815,20 @@ Do you want to continue? Referenca još nije postavljena - + Face Površina - + Edge Rub - + Vertex Vrh @@ -6113,44 +6108,44 @@ Do you want to continue? Nevažeće - - + + Selections Odabiri - - + + Control Kontrola - + Selection Odabir - + Reset selection Ponovo postavljanje odabira - + Toggle direct dimensions Prebacujte izravne dimenzije - + Toggle orthogonal dimensions Prebacujte ortogonalne dimenzije - + Clear all dimensions Obrišite sve dimenzije - + Set colors... Postavljanje boje ... @@ -6160,27 +6155,27 @@ Do you want to continue? Uredi površinu zrcaljenja - + Edit fillet edges Uredi zaobljene rubove - + Edit chamfer edges Prilagodi krajeve zaruba - + Edit offset Uredi pomak - + Edit thickness Uredi debljinu - + Show control points Pokaži kontrolne točke diff --git a/src/Mod/Part/Gui/Resources/translations/Part_hu.ts b/src/Mod/Part/Gui/Resources/translations/Part_hu.ts index 8062b2fa58..29aa3d8115 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_hu.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_hu.ts @@ -2317,53 +2317,53 @@ irányát. Alaksajátosság - + Convert mesh Rács konvertálása - + Edit attachment Csatolmány szerkesztése - + Change face colors Felületi színek megváltoztatása - + Loft Szint - + Edge Él - + Wire Drótháló - - + + Face Felület - + Shell Kéreg - + Solid Szilárd test - + Sweep Húzás @@ -2604,42 +2604,42 @@ Megjegyzés: A pozíciót a mellékelt tárgy helyi terében fejezzük ki.Kijelölés csere - + Select a shape on the left side, first Először bal oldalon jelölje ki az alakzatot - + Select a shape on the right side, first Először jobb oldalon jelölje ki az alakzatot - + Cannot perform a boolean operation with the same shape Nem tud végrehajtani logikai művelet az azonos alakzaton - + No active document available Nincs elérhető aktív dokumentum - + One of the selected objects doesn't exist anymore Az egyik kijelölt objektum nem létezik - + Performing union on non-solids is not possible Nem szilárd testek egységesítése nem lehetséges - + Performing intersection on non-solids is not possible Nem szilárd test metszése nem lehetséges - + Performing difference on non-solids is not possible Nem szilárd test kivonása egymásból nem lehetséges @@ -2647,7 +2647,7 @@ Megjegyzés: A pozíciót a mellékelt tárgy helyi terében fejezzük ki. PartGui::DlgChamferEdges - + Chamfer Edges Élek letörése @@ -3014,7 +3014,7 @@ Ha mindkét hossz nulla, akkor az irány magnitúdóértékét kell használni.< - + Fillet Parameter Lekerekítés paraméter @@ -3064,105 +3064,105 @@ Ha mindkét hossz nulla, akkor az irány magnitúdóértékét kell használni.< Sugár: - + Chamfer Parameter Letörési paraméterek - + Chamfer type Letörés típusa - + Length: Hossz: - + Edges to chamfer Élek letörése - + Start length Hossz kezdete - + Equal distance Egyenlő távolság - + Two distances Két távolság - + Size Méret - + Size2 Méret2 - + Fillet type Lekerekítés típusa - + Edges to fillet Lekerekítendő élek - - + + Start radius Kezdeti sugár - + End radius Vég sugár - - + + Edge%1 Él%1 - + Length Hossz - + Radius Sugár - + No shape selected Nincs kijelölve alakzat - + No valid shape is selected. Please select a valid shape in the drop-down box first. Nem érvényes alakzat van kijelölve. Kérjük, először válasszon egy érvényes alakzatot a legördülő listában. - + No edge selected Nincs kiválasztott él - + No edge entity is checked to fillet. Please check one or more edge entities first. Egyetlen élet sem választott ki. @@ -3270,7 +3270,7 @@ Kérem, válasszon ki legalább egyet. PartGui::DlgImportExportStep - + STEP STEP @@ -3503,12 +3503,12 @@ a fájl olvasása közben (lassabb, de pontosabb). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Összes fájl @@ -3529,12 +3529,12 @@ a fájl olvasása közben (lassabb, de pontosabb). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Összes fájl @@ -3880,20 +3880,20 @@ a fájl olvasása közben (lassabb, de pontosabb). Végpont - - - - + + + + Create %1 Létrehozás %1 - + No active document Nincs aktív dokumentum - + &Create Létrehozás @@ -4053,7 +4053,7 @@ a fájl olvasása közben (lassabb, de pontosabb). Angle: - Szög: + Dőlésszög: @@ -4160,12 +4160,12 @@ a fájl olvasása közben (lassabb, de pontosabb). Legnagyobb szöghajlás - + Deviation Eltérés - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Ha túl kicsi eltérést állít be, akkor a hálózófaktorálás tovább tart, és így lefagy vagy lelassul a grafikus felület. @@ -4488,37 +4488,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Rendelkezésre álló profilok - + Selected profiles Kiválasztott profilok - + Too few elements Túl kevés elem - + At least two vertices, edges, wires or faces are required. Szükséges legalább két csúcspont, él, drótháló vagy felület. - + Input error Bemeneti hiba - + Vertex/Edge/Wire/Face Csúcspont/Él/Drótváz/Felület - + Loft Szint @@ -4576,12 +4576,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Tükrözéshez előszőr a formát válassza ki. - + No such document '%1'. Nincs ilyen dokumentum '%1'. @@ -4589,7 +4589,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Bemeneti hiba @@ -4744,80 +4744,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Nem támogatott - + Box selection for shells is not supported A rendszerhéj jelölőnégyzetének kiválasztása nem támogatott - - - - - - - + + + + + + + Wrong selection Rossz kijelölés - - + + Select two vertices Válasszon ki a két csúcsot - - + + Select one or more edges Jelöljön ki egy vagy több élt - + Select three or more vertices Válasszon három vagy több csúcspontot - + Select two or more faces Válasszon ki a két vagy több felületet - + Select only one part object Válasszon ki a csak egy tárgy részt - + Select two vertices to create an edge Válasszon ki a két csúcsot egy él létrehozásához - + Select adjacent edges Válassza ki a szomszédos éleket - + Select a list of vertices Válasszon csúcspontok listáját - + Select a closed set of edges Válasszon ki egy zárt él halmazt - + Select adjacent faces Válasszon ki szomszédos felületeket - + All shape types can be selected Minden alakzat kiválasztható @@ -4843,90 +4843,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Rendelkezésre álló profilok - + Selected profiles Kiválasztott profilok - + Too few elements Túl kevés elem - + At least one edge or wire is required. Szükséges legalább egy él vagy háló. - + Invalid selection Érvénytelen kijelölés - + Select one or more edges from a single object. Jelöljön ki egy vagy több szegélyt egyetlen tárgyból. - + Wrong selection Rossz kijelölés - + '%1' cannot be used as profile and path. '%1' profilként és elérési útként nem használható. - + Input error Bemeneti hiba - + Done Kész - + Select one or more connected edges in the 3d view and press 'Done' Jelöljön ki egy vagy több csatlakoztatott élt a 3D-s nézetben, és nyomjon a "Kész"-re - - + + Sweep path Húzás elérési útja - - + + The selected sweep path is invalid. A kijelölt pásztázási (sweep) út érvénytelen. - + Vertex/Wire Végpont/Vonal - + Sweep Húzás PartGui::TaskAttacher - - - Form - Űrlap - Selection accepted @@ -4959,7 +4954,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Csatolás eltolása (helyi koordinátákban): @@ -5040,77 +5035,77 @@ rendszerében fejezzük ki. Oldalak megfordítása - + OCC error: %1 OCC hiba: %1 - + unknown error ismeretlen hiba - + Attachment mode failed: %1 Csatolási mód sikertelen: %1 - + Not attached Nem csatolt - + Attached with mode %1 Csatolt ezzel a móddal %1 - + Attachment Offset (inactive - not attached): Csatolás eltolás (inaktív - nem csatolt): - + Face Felület - + Edge Él - + Vertex Végpont - + Selecting... Kiválasztás... - + Reference%1 Hivatkozás%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Nem szerkeszthető, mert a csatolt eltolás elforgatás egy kifejezéssel kényszerített. - + Reference combinations: Hivatkozás kombinációk: - + %1 (add %2) %1 (hozzáad %2) - + %1 (add more references) %1 (további hivatkozás hozzáadása) @@ -5364,7 +5359,7 @@ Egyedi logikai művelet ellenőrzés: PartGui::TaskDlgAttacher - + Datum dialog: Input error Referencia párbeszédpanel: bemenet hiba @@ -5372,7 +5367,7 @@ Egyedi logikai művelet ellenőrzés: PartGui::TaskExportStep - + Don't show this dialog again Ne jelenjen meg újra ez az ablak @@ -5597,7 +5592,7 @@ kijelölési téglalap húzásával a 3D nézetben Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Válassz egy vagy több profilt és válassza ki a szegélyt vagy hálót 3D nézetben a húzás irányához. @@ -5634,24 +5629,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Vastagság - + Select faces of the source object and press 'Done' Válassza ki az adatforrás-objektum felületeit, és kattintson a "Kész" gombra - + Done Kész - + Input error Bemeneti hiba @@ -5704,27 +5699,27 @@ in the 3D view for the sweep path. - - + + Edit %1 %1 szerkesztése - + Part and Part Design workbench Alkatrész és Alkatrész tervezési munkafelület + + - - Part/Part Design Alaktrész/Alkatrész tervezés - - + + Import-Export Importálás-Exportálás @@ -5796,20 +5791,20 @@ Do you want to continue? Nincs kijelölt hivatkozás - + Face Felület - + Edge Él - + Vertex Végpont @@ -6089,44 +6084,44 @@ Do you want to continue? Érvénytelen - - + + Selections Kijelölések - - + + Control Vezérlés - + Selection Kiválasztás - + Reset selection Kijelölés visszaállítása - + Toggle direct dimensions Közvetlen méretek kapcsolása - + Toggle orthogonal dimensions Merőleges méretek kapcsolása - + Clear all dimensions Összes méret eltávolítása - + Set colors... Színek beállítása... @@ -6136,27 +6131,27 @@ Do you want to continue? Tükrözési sík szerkesztése - + Edit fillet edges Kijelölt élek szerkesztése - + Edit chamfer edges Letörés szegélyek szerkesztése - + Edit offset Eltolás szerkesztése - + Edit thickness Vastagság szerkesztése - + Show control points Ellenőrző pontok megjelenítése diff --git a/src/Mod/Part/Gui/Resources/translations/Part_id.ts b/src/Mod/Part/Gui/Resources/translations/Part_id.ts index 6447f6429b..1a816e441c 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_id.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_id.ts @@ -1261,14 +1261,14 @@ Of course this example is not real (first for all fuel tanks cannot be placed in CmdBoxSelection - + Part Bagian - - - + + + Box selection Pemilihan kotak @@ -1276,17 +1276,17 @@ Of course this example is not real (first for all fuel tanks cannot be placed in CmdCheckGeometry - + Part Bagian - + Check Geometry Periksa Geometri - + Analyzes Geometry For Errors Analisis Geometri Untuk Kesalahan @@ -1294,17 +1294,17 @@ Of course this example is not real (first for all fuel tanks cannot be placed in CmdColorPerFace - + Part Bagian - + Color per face Warna per wajah - + Set the color of each individual face of the selected object. Set the color of each individual face of the selected object. @@ -1312,17 +1312,17 @@ Of course this example is not real (first for all fuel tanks cannot be placed in CmdMeasureAngular - + Part Bagian - + Measure Angular Ukur Sudut - + Measure the angle between two edges. Measure the angle between two edges. @@ -1330,17 +1330,17 @@ Of course this example is not real (first for all fuel tanks cannot be placed in CmdMeasureClearAll - + Part Bagian - + Clear All Bersihkan semua - + Clear all dimensions from the screen. Clear all dimensions from the screen. @@ -1348,17 +1348,17 @@ Of course this example is not real (first for all fuel tanks cannot be placed in CmdMeasureLinear - + Part Bagian - + Measure Linear Ukur Linear - + Measure the linear distance between two points; if edges or faces are picked, it will measure between two vertices of them. @@ -1370,17 +1370,17 @@ between two vertices of them. CmdMeasureRefresh - + Part Bagian - + Refresh Menyegarkan - + Recalculate the dimensions if the measured points have moved. Recalculate the dimensions @@ -1390,17 +1390,17 @@ if the measured points have moved. CmdMeasureToggle3d - + Part Bagian - + Toggle 3D Toggle 3D - + Toggle on and off all direct dimensions, including angular. Toggle on and off all direct dimensions, @@ -1410,17 +1410,17 @@ including angular. CmdMeasureToggleAll - + Part Bagian - + Toggle All Toggle All - + Toggle on and off all currently visible dimensions, direct, orthogonal, and angular. Toggle on and off all currently visible dimensions, @@ -1430,17 +1430,17 @@ direct, orthogonal, and angular. CmdMeasureToggleDelta - + Part Bagian - + Toggle Delta Toggle Delta - + Toggle on and off all orthogonal dimensions, meaning that a direct dimension will be decomposed into its X, Y, and Z components. @@ -1452,17 +1452,17 @@ into its X, Y, and Z components. CmdPartBoolean - + Part Bagian - + Boolean... Boolean... - + Run a boolean operation with two shapes selected Menjalankan operasi boolean dengan dua bentuk yang dipilih @@ -1526,17 +1526,17 @@ into its X, Y, and Z components. CmdPartBuilder - + Part Bagian - + Shape builder... Bentuk pembangun... - + Advanced utility to create shapes Utilitas lanjutan untuk membuat bentuk @@ -1544,17 +1544,17 @@ into its X, Y, and Z components. CmdPartChamfer - + Part Bagian - + Chamfer... Chamfer... - + Chamfer the selected edges of a shape Talang tepi yang dipilih dari bentuk @@ -1562,17 +1562,17 @@ into its X, Y, and Z components. CmdPartCommon - + Part Bagian - + Intersection Persimpangan - + Make an intersection of two shapes Buat persimpangan dua bentuk @@ -1580,17 +1580,17 @@ into its X, Y, and Z components. CmdPartCompCompoundTools - + Part Bagian - + Compound tools Compound tools - + Compound tools: working with lists of shapes. Compound tools: working with lists of shapes. @@ -1598,17 +1598,17 @@ into its X, Y, and Z components. CmdPartCompJoinFeatures - + Part Bagian - + Join objects... Bergabunglah dengan objek... - + Join walled objects Bergabunglah dengan benda-benda bertembok @@ -1616,17 +1616,17 @@ into its X, Y, and Z components. CmdPartCompOffset - + Part Bagian - + Offset: Offset: - + Tools to offset shapes (construct parallel shapes) Alat untuk mengimbangi bentuk (membangun bentuk paralel) @@ -1634,17 +1634,17 @@ into its X, Y, and Z components. CmdPartCompSplitFeatures - + Part Bagian - + Split objects... Membagi objek... - + Shape splitting and Compsolid creation tools. Shape splitting and Compsolid creation tools. @@ -1652,17 +1652,17 @@ into its X, Y, and Z components. CmdPartCompound - + Part Bagian - + Make compound Buat senyawa - + Make a compound of several shapes Buatlah senyawa dari beberapa bentuk @@ -1690,17 +1690,17 @@ into its X, Y, and Z components. CmdPartCrossSections - + Part Bagian - + Cross-sections... Persimpangan... - + Cross-sections Persimpangan @@ -1782,17 +1782,17 @@ into its X, Y, and Z components. CmdPartExport - + Part Bagian - + Export CAD... Ekspor CAD... - + Exports to a CAD file Ekspor ke file CAD @@ -1800,17 +1800,17 @@ into its X, Y, and Z components. CmdPartExtrude - + Part Bagian - + Extrude... Mengusir... - + Extrude a selected sketch Ekstrusi sketsa yang dipilih @@ -1818,17 +1818,17 @@ into its X, Y, and Z components. CmdPartFillet - + Part Bagian - + Fillet... Fillet... - + Fillet the selected edges of a shape Fillet tepi tepi yang dipilih @@ -1836,17 +1836,17 @@ into its X, Y, and Z components. CmdPartFuse - + Part Bagian - + Union Persatuan - + Make a union of several shapes Buat penyatuan beberapa bentuk @@ -1854,17 +1854,17 @@ into its X, Y, and Z components. CmdPartImport - + Part Bagian - + Import CAD... Impor CAD... - + Imports a CAD file Impor file CAD @@ -1872,17 +1872,17 @@ into its X, Y, and Z components. CmdPartImportCurveNet - + Part Bagian - + Import curve network... Impor jaringan kurva... - + Import a curve network Impor jaringan kurva @@ -1890,17 +1890,17 @@ into its X, Y, and Z components. CmdPartLoft - + Part Bagian - + Loft... Loteng... - + Utility to loft Utilitas untuk loteng @@ -1908,17 +1908,17 @@ into its X, Y, and Z components. CmdPartMakeFace - + Part Bagian - + Make face from wires Buat wajah dari kabel - + Make face from set of wires (e.g. from a sketch) Make face from set of wires (e.g. from a sketch) @@ -1926,17 +1926,17 @@ into its X, Y, and Z components. CmdPartMakeSolid - + Part Bagian - + Convert to solid Konversikan ke solid - + Create solid from a shell or compound Buat padat dari cangkang atau majemuk @@ -1944,17 +1944,17 @@ into its X, Y, and Z components. CmdPartMirror - + Part Bagian - + Mirroring... Cermin... - + Mirroring a selected shape Cermin bentuk yang dipilih @@ -1962,17 +1962,17 @@ into its X, Y, and Z components. CmdPartOffset - + Part Bagian - + 3D Offset... 3D Offset... - + Utility to offset in 3D Utility to offset in 3D @@ -1980,17 +1980,17 @@ into its X, Y, and Z components. CmdPartOffset2D - + Part Bagian - + 2D Offset... 2D Offset... - + Utility to offset planar shapes Utility to offset planar shapes @@ -2052,17 +2052,17 @@ into its X, Y, and Z components. CmdPartProjectionOnSurface - + Part Bagian - + Create projection on surface... Create projection on surface... - + Project edges, wires, or faces of one object onto a face of another object. The camera view determines the direction @@ -2094,17 +2094,17 @@ of projection. CmdPartReverseShape - + Part Bagian - + Reverse shapes Bentuk terbalik - + Reverse orientation of shapes Orientasi terbalik bentuknya @@ -2112,17 +2112,17 @@ of projection. CmdPartRevolve - + Part Bagian - + Revolve... Berputar... - + Revolve a selected shape Putar bentuk yang dipilih @@ -2130,17 +2130,17 @@ of projection. CmdPartRuledSurface - + Part Bagian - + Create ruled surface Buat permukaan yang diperintah - + Create a ruled surface from either two Edges or two wires Menciptakan permukaan memerintah dari dua sisi atau dua kabel @@ -2148,17 +2148,17 @@ of projection. CmdPartSection - + Part Bagian - + Section Bagian - + Make a section of two shapes Membuat bagian dari dua bentuk @@ -2166,12 +2166,12 @@ of projection. CmdPartSectionCut - + Persistent section cut Persistent section cut - + Creates a persistent section cut of visible part objects Creates a persistent section cut of visible part objects @@ -2253,17 +2253,17 @@ of projection. CmdPartSweep - + Part Bagian - + Sweep... Menyapu... - + Utility to sweep Utilitas untuk menyapu @@ -2271,27 +2271,27 @@ of projection. CmdPartThickness - + Part Bagian - + Thickness... Ketebalan... - + Utility to apply a thickness Utilitas untuk menerapkan ketebalan - + Wrong selection Pilihan salah - + Selected shape is not a solid Bentuk yang dipilih memang tidak padat @@ -2343,67 +2343,67 @@ of projection. Part Box Create - + Part Cut Part Cut - + Common Umum - + Fusion Fusion - + Compound Senyawa - + Section Bagian - + Import Part Import Part - + Part Import Curve Net Part Import Curve Net - + Reverse Membalikkan - + Make face Make face - + Make Offset Make Offset - + Make 2D Offset Make 2D Offset - + Make Thickness Make Thickness - + Create ruled surface Buat permukaan yang diperintah @@ -2428,53 +2428,53 @@ of projection. Defeaturing - + Convert mesh Convert mesh - + Edit attachment Edit attachment - + Change face colors Change face colors - + Loft Loteng - + Edge Tepi - + Wire Kawat - - + + Face Menghadapi - + Shell Kulit - + Solid Padat - + Sweep Menyapu @@ -2715,42 +2715,42 @@ Note: The placement is expressed in local space of object being attached.Tukar pilihan - + Select a shape on the left side, first Pilih bentuk di sisi kiri, pertama - + Select a shape on the right side, first Pilih bentuk di sisi kanan, pertama - + Cannot perform a boolean operation with the same shape Tidak bisa melakukan operasi boolean dengan bentuk yang sama - + No active document available Tidak ada dokumen aktif yang tersedia - + One of the selected objects doesn't exist anymore Salah satu objek yang dipilih tidak ada lagi - + Performing union on non-solids is not possible Melakukan persatuan pada non-padatan tidak mungkin dilakukan - + Performing intersection on non-solids is not possible Pertunjukan persimpangan pada non-padatan tidak mungkin dilakukan - + Performing difference on non-solids is not possible Perbedaan penampilan pada non-padatan tidak mungkin dilakukan @@ -2758,7 +2758,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Chamfer Edges @@ -3045,25 +3045,30 @@ If both lengths are zero, magnitude of direction is used. The document '%1' doesn't exist. - - + + Creating Extrusion failed. %1 Creating Extrusion failed. %1 - + Object not found: %1 Objek tidak ditemukan: % 1 - + No shapes selected for extrusion. Select some, first. Tidak ada bentuk yang dipilih untuk ekstrusi. Pilih beberapa, pertama. - + + Unknown error + Kesalahan tidak diketahui + + + Extrusion direction link is invalid. %1 @@ -3072,12 +3077,12 @@ If both lengths are zero, magnitude of direction is used. %1 - + Direction mode is to use an edge, but no edge is linked. Mode arah adalah menggunakan tepi, namun tidak ada sisi yang terhubung. - + Can't determine normal vector of shape to be extruded. Please use other mode. (%1) @@ -3086,12 +3091,12 @@ If both lengths are zero, magnitude of direction is used. ( % 1) - + Extrusion direction vector is zero-length. It must be non-zero. Extrusion direction vector is zero-length. It must be non-zero. - + Total extrusion length is zero (length1 == -length2). It must be nonzero. Panjang ekstrusi total adalah nol (length1 == -length2). Itu pasti bukan nol. @@ -3120,7 +3125,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Parameter Fillet @@ -3170,105 +3175,105 @@ If both lengths are zero, magnitude of direction is used. Radius: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: Length: - + Edges to chamfer Edges to chamfer - + Start length Panjang mulai - + Equal distance Jarak yang sama - + Two distances Dua jarak - + Size Ukuran - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Tepi ke fillet - - + + Start radius Mulai radius - + End radius Radius akhir - - + + Edge%1 Edge % 1 - + Length Panjangnya - + Radius Jari-jari - + No shape selected Tidak ada bentuk yang dipilih - + No valid shape is selected. Please select a valid shape in the drop-down box first. Tidak ada bentuk yang valid yang dipilih. Silahkan pilih bentuk yang valid di kotak drop-down dulu. - + No edge selected Tidak ada tepi yang dipilih - + No edge entity is checked to fillet. Please check one or more edge entities first. Tidak ada entitas tepi yang diperiksa ke fillet . Silakan periksa satu atau lebih entitas tepi terlebih dahulu. @@ -3375,7 +3380,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP LANGKAH @@ -3416,8 +3421,8 @@ during file reading (slower but higher details). - Select this to not import any invisible objects. - Select this to not import any invisible objects. + Select this to import invisible objects. + Pilih di bagian ini untuk mengimport objek yang tidak tampak. @@ -3608,12 +3613,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Semua data @@ -3634,12 +3639,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP LANGKAH - + All Files Semua data @@ -3985,20 +3990,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 Buat % 1 - + No active document Tidak ada dokumen aktif - + &Create &Membuat @@ -4201,6 +4206,11 @@ during file reading (slower but higher details). % 1 + + + Unknown error + Kesalahan tidak diketahui + Revolution axis direction is zero-length. It must be non-zero. @@ -4260,12 +4270,12 @@ during file reading (slower but higher details). Defleksi sudut maksimum - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4498,7 +4508,7 @@ will be used or black. Text color - Text color + Warna teks @@ -4589,37 +4599,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Profil yang tersedia - + Selected profiles Profil yang dipilih - + Too few elements Terlalu sedikit elemen - + At least two vertices, edges, wires or faces are required. Setidaknya dua simpul, tepian, kabel atau wajah dibutuhkan. - + Input error Input error - + Vertex/Edge/Wire/Face Vertex / Edge / Wire / Face - + Loft Loteng @@ -4677,12 +4687,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Pilih bentuk untuk mirroring, pertama. - + No such document '%1'. Tidak ada dokumen seperti ' % 1 '. @@ -4690,7 +4700,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Input error @@ -4846,80 +4856,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Pilihan salah - - + + Select two vertices Pilih dua simpul - - + + Select one or more edges Pilih satu atau beberapa tepi - + Select three or more vertices Pilih tiga atau lebih simpul - + Select two or more faces Pilih dua atau lebih wajah - + Select only one part object Pilih hanya satu bagian objek - + Select two vertices to create an edge Pilih dua simpul untuk membuat tepi - + Select adjacent edges Select adjacent edges - + Select a list of vertices Pilih daftar simpul - + Select a closed set of edges Pilih tertutup set dari tepi - + Select adjacent faces Pilih wajah yang berdekatan - + All shape types can be selected Semua jenis bentuk bisa dipilih @@ -4945,90 +4955,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Profil yang tersedia - + Selected profiles Profil yang dipilih - + Too few elements Terlalu sedikit elemen - + At least one edge or wire is required. Setidaknya satu tepi atau kawat diperlukan. - + Invalid selection Pilihan tidak valid - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Pilihan salah - + '%1' cannot be used as profile and path. ' % 1 ' tidak dapat digunakan sebagai profil dan jalur. - + Input error Input error - + Done Selesai - + Select one or more connected edges in the 3d view and press 'Done' Pilih satu atau lebih terhubung tepi di 3d tampilan dan tekan 'Selesai' - - + + Sweep path Sapu jalan - - + + The selected sweep path is invalid. Dipilih menyapu jalan tidak valid. - + Vertex/Wire Vertex/Wire - + Sweep Menyapu PartGui::TaskAttacher - - - Form - Bentuk - Selection accepted @@ -5061,7 +5066,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Attachment Offset (in local coordinates): @@ -5142,77 +5147,77 @@ of object being attached. Flip sisi - + OCC error: %1 Kesalahan OCC: % 1 - + unknown error kesalahan yang tidak diketahui - + Attachment mode failed: %1 Modus lampiran gagal: % 1 - + Not attached Tidak terpasang - + Attached with mode %1 Terlampir dengan mode % 1 - + Attachment Offset (inactive - not attached): Attachment Offset (inactive - not attached): - + Face Menghadapi - + Edge Tepi - + Vertex Vertex - + Selecting... Memilih... - + Reference%1 Referensi % 1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Kombinasi referensi: - + %1 (add %2) % 1 (tambahkan % 2) - + %1 (add more references) % 1 (tambahkan referensi lainnya) @@ -5220,192 +5225,195 @@ of object being attached. PartGui::TaskCheckGeometryDialog - + Shape Content Bentuk Konten - - + + Settings Setelan - + Skip settings page Skip settings page - - Skip this settings page and run the geometry check automatically. -Default: false - Skip this settings page and run the geometry check automatically. -Default: false + + Skip this settings page and run the geometry check automatically. + Skip this settings page and run the geometry check automatically. - - Run BOP check - Run BOP check + + Default: false + Default: false - + + Run boolean operation check + Run boolean operation check + + + Extra boolean operations check that can sometimes find errors that -the standard BRep geometry check misses. These errors do not always +the standard BRep geometry check misses. These errors do not always mean the checked object is unusable. Default: false Extra boolean operations check that can sometimes find errors that -the standard BRep geometry check misses. These errors do not always +the standard BRep geometry check misses. These errors do not always mean the checked object is unusable. Default: false - + Single-threaded Single-threaded - + Run the geometry check in a single thread. This is slower, but more stable. Default: false Run the geometry check in a single thread. This is slower, but more stable. Default: false - + Log errors Log errors - + Log errors to report view. Default: true Log errors to report view. Default: true - + Expand shape content Expand shape content - + Expand shape content. Changes will take effect next time you use the check geometry tool. Default: false Expand shape content. Changes will take effect next time you use the check geometry tool. Default: false - + Advanced shape content Advanced shape content - + Show advanced shape content. Changes will take effect next time you use the check geometry tool. Default: false Show advanced shape content. Changes will take effect next time you use the check geometry tool. Default: false - - - -Individual BOP Checks: - -Individual BOP Checks: - - - - Bad type - Bad type - + +Individual boolean operation checks: + +Individual boolean operation checks: + + + + Bad type + Bad type + + + + Self-intersect + Self-intersect + + + + Too small edge + Too small edge + + + + Nonrecoverable face + Nonrecoverable face + + + + Continuity + Lanjutkan + + + + Incompatibility of face + Incompatibility of face + + + + Incompatibility of vertex + Incompatibility of vertex + + + + Incompatibility of edge + Incompatibility of edge + + + + Invalid curve on surface + Invalid curve on surface + + + Check for bad argument types. Default: true Check for bad argument types. Default: true - - Self-intersect - Self-intersect - - - + Check for self-intersections. Default: true Check for self-intersections. Default: true - - Too small edge - Too small edge - - - + Check for edges that are too small. Default: true Check for edges that are too small. Default: true - - Nonrecoverable face - Nonrecoverable face - - - + Check for nonrecoverable faces. Default: true Check for nonrecoverable faces. Default: true - - Continuity - Continuity - - - + Check for continuity. Default: true Check for continuity. Default: true - - Incompatibility of face - Incompatibility of face - - - + Check for incompatible faces. Default: true Check for incompatible faces. Default: true - - Incompatibility of vertex - Incompatibility of vertex - - - + Check for incompatible vertices. Default: true Check for incompatible vertices. Default: true - - Incompatibility of edge - Incompatibility of edge - - - + Check for incompatible edges. Default: true Check for incompatible edges. Default: true - - Invalid curve on surface - Invalid curve on surface - - - + Check for invalid curves on surfaces. Default: true Check for invalid curves on surfaces. Default: true - + Run check Run check - + Results Results @@ -5423,13 +5431,40 @@ Individual BOP Checks: Check is running... - - + + Boolean operation check... + Boolean operation check... + + + + Check geometry Check geometry - + + Invalid + Tidak valid + + + + Checking + Checking + + + + %1 processed out of %2 selected + %1 processed out of %2 selected + + + + %n invalid shapes. + + %n invalid shapes. + + + + Checked object Checked object @@ -5437,7 +5472,7 @@ Individual BOP Checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Dialog Datum: Kesalahan masukan @@ -5445,7 +5480,7 @@ Individual BOP Checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5670,7 +5705,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Pilih satu atau lebih profil dan pilih tepi atau kawat @@ -5708,24 +5743,24 @@ di 3D pandangan untuk menyapu jalan. PartGui::ThicknessWidget - - - + + + Thickness Thickness - + Select faces of the source object and press 'Done' Pilih wajah dari objek sumber dan tekan 'Selesai' - + Done Selesai - + Input error Input error @@ -5778,88 +5813,88 @@ di 3D pandangan untuk menyapu jalan. - - + + Edit %1 Edit %1 - + Part and Part Design workbench Part and Part Design workbench + - Part/Part Design Part/Part Design + - Import-Export Ekspor Impor - - - - - + + + + + Wrong selection Pilihan salah - + Select two shapes please. Pilih dua bentuk. - - - + + + Non-solids selected Non-padat dipilih - - - + + + The use of non-solids for boolean operations may lead to unexpected results. Do you want to continue? Penggunaan non-padatan untuk operasi boolean dapat menyebabkan hasil yang tidak diharapkan. Apakah Anda ingin melanjutkan? - + Select two shapes or more, please. Or, select one compound containing two or more shapes to compute common between. Pilih dua bentuk atau lebih, silakan. Atau, pilih satu senyawa yang mengandung dua atau lebih bentuk untuk menghitung umum di antaranya. - + Select two shapes or more, please. Or, select one compound containing two or more shapes to be fused. Pilih dua bentuk atau lebih, silakan. Atau, pilih satu senyawa yang mengandung dua atau lebih bentuk yang akan disatukan. - + Select one shape or more, please. Pilih satu bentuk atau lebih, silakan. - + All CAD Files Semua File CAD - + All Files Semua data - + You have to select either two edges or two wires. Anda harus memilih dua sisi atau dua kabel. @@ -5870,20 +5905,20 @@ Do you want to continue? Tidak ada referensi yang dipilih - + Face Menghadapi - + Edge Tepi - + Vertex Vertex @@ -6099,109 +6134,108 @@ Do you want to continue? - BOPAlgo CheckUnknown - BOPAlgo CheckUnknown + Boolean operation: Unknown check + Boolean operation: Unknown check - BOPAlgo BadType - BOPAlgo BadType + Boolean operation: Bad type + Boolean operation: Bad type - BOPAlgo SelfIntersect - BOPAlgo SelfIntersect + Boolean operation: Self-intersection found + Boolean operation: Self-intersection found - BOPAlgo TooSmallEdge - BOPAlgo TooSmallEdge + Boolean operation: Edge too small + Boolean operation: Edge too small - BOPAlgo NonRecoverableFace - BOPAlgo NonRecoverableFace + Boolean operation: Non-recoverable face + Boolean operation: Non-recoverable face - BOPAlgo IncompatibilityOfVertex - BOPAlgo IncompatibilityOfVertex + Boolean operation: Incompatibility of vertex + Boolean operation: Incompatibility of vertex - BOPAlgo IncompatibilityOfEdge - BOPAlgo IncompatibilityOfEdge + Boolean operation: Incompatibility of edge + Boolean operation: Incompatibility of edge - BOPAlgo IncompatibilityOfFace - BOPAlgo IncompatibilityOfFace + Boolean operation: Incompatibility of face + Boolean operation: Incompatibility of face - BOPAlgo OperationAborted - Operasi BOPAlgo + Boolean operation: Aborted + Boolean operation: Aborted - BOPAlgo GeomAbs_C0 - BOPAlgo GeomAbs_C0 + Boolean operation: GeomAbs_C0 + Boolean operation: GeomAbs_C0 - BOPAlgo_InvalidCurveOnSurface - BOPAlgo_InvalidCurveOnSurface + Boolean operation: Invalid curve on surface + Boolean operation: Invalid curve on surface - BOPAlgo NotValid - BOPAlgo Tidak Valid + Boolean operation: Not valid + Boolean operation: Not valid - - + Invalid Tidak valid - - + + Selections Pilihan - - + + Control Control - + Selection Selection - + Reset selection Reset selection - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... Tetapkan warna... @@ -6211,27 +6245,27 @@ Do you want to continue? Edit bidang cermin - + Edit fillet edges Edit tepi fillet - + Edit chamfer edges Edit ujung chamfer - + Edit offset Edit offset - + Edit thickness Edit ketebalan - + Show control points Tampilkan poin kontrol @@ -6447,78 +6481,18 @@ Do you want to continue? Continue Lanjutkan - - - Boolean fragments - Boolean fragments - - - - Create a 'Boolean Fragments' object from two or more selected objects, -or from the shapes inside a compound. -This is a boolean union which is then sliced at the intersections -of the original shapes. -A 'Compound Filter' can be used to extract the individual slices. - Create a 'Boolean Fragments' object from two or more selected objects, -or from the shapes inside a compound. -This is a boolean union which is then sliced at the intersections -of the original shapes. -A 'Compound Filter' can be used to extract the individual slices. - Select at least two objects, or one or more compounds. If only one compound is selected, the compounded shapes will be intersected between each other (otherwise, compounds with self-intersections are invalid). Select at least two objects, or one or more compounds. If only one compound is selected, the compounded shapes will be intersected between each other (otherwise, compounds with self-intersections are invalid). - - - Slice to compound - Slice to compound - - - - Slice a selected object by using other objects as cutting tools. -The resulting pieces will be stored in a compound. -A 'Compound Filter' can be used to extract the individual slices. - Slice a selected object by using other objects as cutting tools. -The resulting pieces will be stored in a compound. -A 'Compound Filter' can be used to extract the individual slices. - Select at least two objects. The first one is the object to be sliced; the rest are objects to slice with. Select at least two objects. The first one is the object to be sliced; the rest are objects to slice with. - - - Slice apart - Slice apart - - - - Slice a selected object by other objects, and split it apart. -It will create a 'Compound Filter' for each slice. - Slice a selected object by other objects, and split it apart. -It will create a 'Compound Filter' for each slice. - - - - Boolean XOR - Boolean XOR - - - - Perform an 'exclusive OR' boolean operation with two or more selected objects, -or with the shapes inside a compound. -This means the overlapping volumes of the shapes will be removed. -A 'Compound Filter' can be used to extract the remaining pieces. - Perform an 'exclusive OR' boolean operation with two or more selected objects, -or with the shapes inside a compound. -This means the overlapping volumes of the shapes will be removed. -A 'Compound Filter' can be used to extract the remaining pieces. - Part_CompoundFilter @@ -6821,4 +6795,76 @@ It will create a 'Compound Filter' for each shape. Penempatan + + Part_BooleanFragments + + + Boolean fragments + Boolean fragments + + + + Create a 'Boolean Fragments' object from two or more selected objects, +or from the shapes inside a compound. +This is a boolean union which is then sliced at the intersections +of the original shapes. +A 'Compound Filter' can be used to extract the individual slices. + Create a 'Boolean Fragments' object from two or more selected objects, +or from the shapes inside a compound. +This is a boolean union which is then sliced at the intersections +of the original shapes. +A 'Compound Filter' can be used to extract the individual slices. + + + + Part_Slice + + + Slice to compound + Slice to compound + + + + Slice a selected object by using other objects as cutting tools. +The resulting pieces will be stored in a compound. +A 'Compound Filter' can be used to extract the individual slices. + Slice a selected object by using other objects as cutting tools. +The resulting pieces will be stored in a compound. +A 'Compound Filter' can be used to extract the individual slices. + + + + Part_SliceApart + + + Slice apart + Slice apart + + + + Slice a selected object by other objects, and split it apart. +It will create a 'Compound Filter' for each slice. + Slice a selected object by other objects, and split it apart. +It will create a 'Compound Filter' for each slice. + + + + Part_XOR + + + Boolean XOR + Boolean XOR + + + + Perform an 'exclusive OR' boolean operation with two or more selected objects, +or with the shapes inside a compound. +This means the overlapping volumes of the shapes will be removed. +A 'Compound Filter' can be used to extract the remaining pieces. + Perform an 'exclusive OR' boolean operation with two or more selected objects, +or with the shapes inside a compound. +This means the overlapping volumes of the shapes will be removed. +A 'Compound Filter' can be used to extract the remaining pieces. + + diff --git a/src/Mod/Part/Gui/Resources/translations/Part_it.ts b/src/Mod/Part/Gui/Resources/translations/Part_it.ts index d254ce1459..e939959ef4 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_it.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_it.ts @@ -2317,53 +2317,53 @@ della proiezione. Elimina funzioni - + Convert mesh Converti mesh - + Edit attachment Modifica allegato - + Change face colors Cambia i colori della faccia - + Loft Loft - + Edge Bordo - + Wire Filo - - + + Face Faccia - + Shell Shell - + Solid Solido - + Sweep Sweep @@ -2606,42 +2606,42 @@ Nota: il posizionamento è espresso nello spazio locale dell'oggetto da allegare Inverti selezione - + Select a shape on the left side, first Selezionare prima una forma sul lato sinistro - + Select a shape on the right side, first Selezionare prima una forma sul lato destro - + Cannot perform a boolean operation with the same shape Non è possibile effettuare una operazione booleana con la stessa forma - + No active document available Nessun documento attivo disponibile - + One of the selected objects doesn't exist anymore Uno degli oggetti selezionati non esiste più - + Performing union on non-solids is not possible Non è possibile eseguire l'unione su oggetti non solidi - + Performing intersection on non-solids is not possible Non è possibile eseguire l'intersezione su oggetti non solidi - + Performing difference on non-solids is not possible Non è possibile eseguire la differenza su oggetti non solidi @@ -2649,7 +2649,7 @@ Nota: il posizionamento è espresso nello spazio locale dell'oggetto da allegare PartGui::DlgChamferEdges - + Chamfer Edges Smussa spigoli @@ -3014,7 +3014,7 @@ Se entrambe le lunghezze sono zero, viene usata la ampiezza della direzione. - + Fillet Parameter Parametri raccordo @@ -3064,106 +3064,106 @@ Se entrambe le lunghezze sono zero, viene usata la ampiezza della direzione.Raggio: - + Chamfer Parameter Parametri di smusso - + Chamfer type Modalità smusso - + Length: Lunghezza: - + Edges to chamfer Spigoli da smussare - + Start length Valore iniziale - + Equal distance Uguale distanza - + Two distances Due distanze - + Size Dimensione - + Size2 Dimensione2 - + Fillet type Tipo di raccordo - + Edges to fillet Spigoli da raccordare - - + + Start radius Raggio iniziale - + End radius Raggio finale - - + + Edge%1 Spigolo %1 - + Length Lunghezza - + Radius Raggio - + No shape selected Nessuna forma selezionata - + No valid shape is selected. Please select a valid shape in the drop-down box first. Non è stata selezionata nessuna forma valida. Selezionare prima una forma valida dal menù a tendina. - + No edge selected Nessuno spigolo selezionato - + No edge entity is checked to fillet. Please check one or more edge entities first. Non è stata selezionata nessuna entità spigolo da raccordare. @@ -3271,7 +3271,7 @@ Selezionare prima uno o più spigoli. PartGui::DlgImportExportStep - + STEP STEP @@ -3503,12 +3503,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Tutti i file @@ -3529,12 +3529,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Tutti i file @@ -3880,20 +3880,20 @@ during file reading (slower but higher details). Vertice - - - - + + + + Create %1 Crea %1 - + No active document Nessun documento attivo - + &Create &Crea @@ -4156,12 +4156,12 @@ during file reading (slower but higher details). Massima deflessione angolare - + Deviation Deviazione - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. L'impostazione di una deviazione troppo piccola provoca la richiesta di più tempo per la tessellatura e quindi blocca o rallenta la GUI. @@ -4485,37 +4485,37 @@ verrà utilizzato il vettore normale del piano di schizzo PartGui::LoftWidget - + Available profiles Profili disponibili - + Selected profiles Profili selezionati - + Too few elements Elementi insufficienti - + At least two vertices, edges, wires or faces are required. Sono richiesti almeno due vertici, spigoli, contorni o facce. - + Input error Errore di input - + Vertex/Edge/Wire/Face Vertice/Spigolo/Wire/Faccia - + Loft Loft @@ -4573,12 +4573,12 @@ verrà utilizzato il vettore normale del piano di schizzo z - + Select a shape for mirroring, first. Selezionare prima una forma da specchiare. - + No such document '%1'. Non esiste nessun documento '%1'. @@ -4586,7 +4586,7 @@ verrà utilizzato il vettore normale del piano di schizzo PartGui::OffsetWidget - + Input error Errore di input @@ -4742,80 +4742,80 @@ saranno visibili solo i tagli creati PartGui::ShapeBuilderWidget - + Unsupported Non supportato - + Box selection for shells is not supported La selezione a finestra per le shell non è supportata - - - - - - - + + + + + + + Wrong selection Selezione errata - - + + Select two vertices Selezionare due vertici - - + + Select one or more edges Selezionare uno o più spigoli - + Select three or more vertices Selezionare tre o più vertici - + Select two or more faces Selezionare due o più facce - + Select only one part object Selezionare un solo oggetto parte - + Select two vertices to create an edge Selezionare due vertici per creare uno spigolo - + Select adjacent edges Selezionare i bordi adiacenti - + Select a list of vertices Selezionare un elenco di vertici - + Select a closed set of edges Selezionare un insieme chiuso di bordi - + Select adjacent faces Selezionare facce adiacenti - + All shape types can be selected Si possono selezionare tutti i tipi di forme @@ -4841,90 +4841,85 @@ saranno visibili solo i tagli creati PartGui::SweepWidget - + Available profiles Profili disponibili - + Selected profiles Profili selezionati - + Too few elements Elementi insufficienti - + At least one edge or wire is required. Selezionare almeno un bordo o una polilinea. - + Invalid selection Selezione non valida - + Select one or more edges from a single object. Selezionare uno o più bordi di un singolo oggetto. - + Wrong selection Selezione errata - + '%1' cannot be used as profile and path. '%1' non può essere utilizzato come profilo e percorso. - + Input error Errore di input - + Done Fatto - + Select one or more connected edges in the 3d view and press 'Done' Selezionare uno o più bordi connessi nella vista 3d e poi premere 'Fatto' - - + + Sweep path Percorso di sweep - - + + The selected sweep path is invalid. Il percorso sweep selezionato non è valido. - + Vertex/Wire Vertice/Wire - + Sweep Sweep PartGui::TaskAttacher - - - Form - Modulo - Selection accepted @@ -4957,7 +4952,7 @@ saranno visibili solo i tagli creati - + Attachment Offset (in local coordinates): Offset di associazione (in coordinate locali): @@ -5038,77 +5033,77 @@ dell'oggetto da associare. Capovolgi le facce - + OCC error: %1 Errore OCC: %1 - + unknown error errore sconosciuto - + Attachment mode failed: %1 Modalità di associazione non riuscita: %1 - + Not attached Non associato - + Attached with mode %1 Associato con modalità %1 - + Attachment Offset (inactive - not attached): Offset di associazione (inattivo - non associato): - + Face Faccia - + Edge Bordo - + Vertex Vertice - + Selecting... Selezione... - + Reference%1 Riferimento%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Non modificabile perché la rotazione di AttachmentOffset è vincolata da espressioni. - + Reference combinations: Combinazioni di riferimenti: - + %1 (add %2) %1 (aggiungere %2) - + %1 (add more references) %1 (aggiungere ulteriori riferimenti) @@ -5364,7 +5359,7 @@ Controlli individuali delle operazioni booleane: PartGui::TaskDlgAttacher - + Datum dialog: Input error Dialogo dei riferimenti: errore di Input @@ -5372,7 +5367,7 @@ Controlli individuali delle operazioni booleane: PartGui::TaskExportStep - + Don't show this dialog again Non mostrare più questa finestra di dialogo @@ -5597,7 +5592,7 @@ trascinando un rettangolo di selezione nella vista 3D Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Selezionare uno o più profili e selezionare un bordo o una polilinea nella vista 3D per definire il percorso di sweep. @@ -5634,24 +5629,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Spessore - + Select faces of the source object and press 'Done' Selezionare le facce dell'oggetto di origine e premere 'OK' - + Done Fatto - + Input error Errore di input @@ -5704,27 +5699,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Edita %1 - + Part and Part Design workbench Ambiente di lavoro Part e Part Design + + - - Part/Part Design Part/Part Design - - + + Import-Export Importa/Esporta @@ -5736,7 +5731,7 @@ in the 3D view for the sweep path. Wrong selection - Selezione errata + Selezione sbagliata @@ -5796,20 +5791,20 @@ Do you want to continue? Nessun riferimento selezionato - + Face Faccia - + Edge Bordo - + Vertex Vertice @@ -6089,44 +6084,44 @@ Do you want to continue? Non valido - - + + Selections Selezioni - - + + Control Controllo - + Selection Selezione - + Reset selection Azzera selezione - + Toggle direct dimensions Attiva/Disattiva quotature dirette - + Toggle orthogonal dimensions Commuta quotature ortogonali - + Clear all dimensions Cancella tutte le quotature - + Set colors... Imposta i colori... @@ -6136,27 +6131,27 @@ Do you want to continue? Modifica il piano di specchiatura - + Edit fillet edges Modifica gli spigoli raccordati - + Edit chamfer edges Modifica gli spigoli smussati - + Edit offset Modifica offset - + Edit thickness Modificare spessore - + Show control points Visualizza i punti di controllo diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ja.ts b/src/Mod/Part/Gui/Resources/translations/Part_ja.ts index 060611d852..e762ae5450 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ja.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ja.ts @@ -2317,53 +2317,53 @@ of projection. デフィーチャリング - + Convert mesh メッシュを変換 - + Edit attachment 添付ファイルを編集 - + Change face colors 面の色を変更 - + Loft ロフト - + Edge エッジ - + Wire ワイヤー - - + + Face - + Shell シェル - + Solid ソリッド - + Sweep スイープ @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.選択の反転 - + Select a shape on the left side, first 最初に左側の図形を選択します - + Select a shape on the right side, first 最初に右側の図形を選択します - + Cannot perform a boolean operation with the same shape 同じ図形を使用してブーリアン演算を行うことはできません - + No active document available 利用可能なアクティブドキュメントはありませんでした - + One of the selected objects doesn't exist anymore 選択したオブジェクトはもう存在しません - + Performing union on non-solids is not possible ソリッドでないものに対する結合は行えません - + Performing intersection on non-solids is not possible ソリッドでないものに対する共通集合は行えません - + Performing difference on non-solids is not possible ソリッドでないものに対する論理差は行えません @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges エッジを面取り @@ -3012,7 +3012,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter フィレット パラメーター @@ -3062,106 +3062,106 @@ If both lengths are zero, magnitude of direction is used. 半径: - + Chamfer Parameter 面取りパラメーター - + Chamfer type 面取りタイプ - + Length: 長さ: - + Edges to chamfer 面取りするエッジ - + Start length 開始長さ - + Equal distance 等距離 - + Two distances 2つの距離 - + Size サイズ - + Size2 サイズ2 - + Fillet type フィレットの種類 - + Edges to fillet フィレットにするエッジ - - + + Start radius 開始半径 - + End radius 終了半径 - - + + Edge%1 エッジ %1 - + Length 長さ - + Radius 半径 - + No shape selected 図形が選択されていません - + No valid shape is selected. Please select a valid shape in the drop-down box first. 有効な形状が選択されていません。 まずドロップダウンボックスにある有効な形状を選択してください。 - + No edge selected エッジが選択されていません - + No edge entity is checked to fillet. Please check one or more edge entities first. フィレット化するためのエッジエンティティがチェックされていません。 @@ -3269,7 +3269,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3501,12 +3501,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files すべてのファイル @@ -3527,12 +3527,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files すべてのファイル @@ -3878,20 +3878,20 @@ during file reading (slower but higher details). 頂点 - - - - + + + + Create %1 %1 を作成します。 - + No active document アクティブなドキュメントがありません - + &Create 作成(&C) @@ -4156,12 +4156,12 @@ during file reading (slower but higher details). 最大角偏向 - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4483,37 +4483,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles 使用可能なプロファイル - + Selected profiles 選択したプロファイル - + Too few elements 要素が少なすぎます - + At least two vertices, edges, wires or faces are required. 少なくとも 2 つの頂点、稜線、ワイヤまたは面を必要とします。 - + Input error 入力エラー - + Vertex/Edge/Wire/Face 頂点/辺/法線/面 - + Loft ロフト @@ -4571,12 +4571,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. ミラーリングのためにはまず形状を選択してください。 - + No such document '%1'. '%1' というドキュメントがありません @@ -4584,7 +4584,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error 入力エラー @@ -4736,80 +4736,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported サポートされていません - + Box selection for shells is not supported シェルの矩形選択はサポートされていません - - - - - - - + + + + + + + Wrong selection 誤った選択 - - + + Select two vertices 2つの頂点を選択 - - + + Select one or more edges 1つ以上のエッジを選択してください - + Select three or more vertices 3 つ以上の頂点を選択 - + Select two or more faces 2つ以上の面を選択 - + Select only one part object 部品オブジェクトを1つ選択してください - + Select two vertices to create an edge エッジを作成するための2頂点を選択してください - + Select adjacent edges 隣接エッジを選択 - + Select a list of vertices 頂点リストを選択 - + Select a closed set of edges 閉じたエッジの集合を選択してください - + Select adjacent faces 隣接する面を選択 - + All shape types can be selected 全ての図形タイプを選択できます @@ -4835,90 +4835,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles 使用可能なプロファイル - + Selected profiles 選択したプロファイル - + Too few elements 要素が少なすぎます - + At least one edge or wire is required. 少なくとも1つのエッジまたはワイヤーが必要です。 - + Invalid selection 無効な選択です。 - + Select one or more edges from a single object. 1 つのオブジェクトから 1 つ以上のエッジを選択 - + Wrong selection 誤った選択 - + '%1' cannot be used as profile and path. '%1' は、プロファルおよびパスとして使用できません。 - + Input error 入力エラー - + Done 終了 - + Select one or more connected edges in the 3d view and press 'Done' 3Dビューで1つまたは複数の接続エッジを選択して「終了」を押してください - - + + Sweep path スイープパス - - + + The selected sweep path is invalid. 選択されたスイープ経路が正しくありません。 - + Vertex/Wire 頂点/連線 - + Sweep スイープ PartGui::TaskAttacher - - - Form - フォーム - Selection accepted @@ -4951,7 +4946,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): アタッチメント・オフセット(ローカル座標系) @@ -5029,77 +5024,77 @@ of object being attached. 面を反転 - + OCC error: %1 OCCエラー: %1 - + unknown error 不明なエラー - + Attachment mode failed: %1 アタッチメントモード失敗: %1 - + Not attached アタッチされていません。 - + Attached with mode %1 モード %1 でアタッチ - + Attachment Offset (inactive - not attached): アタッチメントオフセット(非アクティブ - アタッチされていません) - + Face - + Edge エッジ - + Vertex 頂点 - + Selecting... 選択... - + Reference%1 参照 %1 - + Not editable because rotation of AttachmentOffset is bound by expressions. AttachmentOffsetの回転が式によって束縛されているため、編集できません。 - + Reference combinations: 参照の組み合わせ: - + %1 (add %2) %1(%2を追加) - + %1 (add more references) %1(さらに参照を追加) @@ -5350,7 +5345,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error データムダイアログ: 入力エラー @@ -5358,7 +5353,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again 今後、このダイアログは表示しない @@ -5582,7 +5577,7 @@ by dragging a selection rectangle in the 3D view フレネ - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. スイープパス用に3Dビューで1つまたは複数のプロファイルを選択し、 @@ -5620,24 +5615,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness 厚み - + Select faces of the source object and press 'Done' 元となるオブジェクトの面を選択して「終了」を押してください - + Done 終了 - + Input error 入力エラー @@ -5690,27 +5685,27 @@ in the 3D view for the sweep path. - - + + Edit %1 %1を編集 - + Part and Part Design workbench パートとパートデザインのワークベンチ + + - - Part/Part Design Part/Part Design - - + + Import-Export インポート/エクスポート @@ -5782,20 +5777,20 @@ Do you want to continue? 参照が選択されていません。 - + Face - + Edge エッジ - + Vertex 頂点 @@ -6075,44 +6070,44 @@ Do you want to continue? 無効です - - + + Selections 選択 - - + + Control Control - + Selection 選択 - + Reset selection 選択をリセット - + Toggle direct dimensions 直接寸法の切り替え - + Toggle orthogonal dimensions 直交寸法の切り替え - + Clear all dimensions すべての寸法をクリア - + Set colors... 色を設定... @@ -6122,27 +6117,27 @@ Do you want to continue? 鏡像面を編集 - + Edit fillet edges フィレットエッジを編集 - + Edit chamfer edges 面取りエッジを編集 - + Edit offset オフセットを編集 - + Edit thickness 厚さを編集 - + Show control points コントロールポイントを表示 diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ka.ts b/src/Mod/Part/Gui/Resources/translations/Part_ka.ts index dd54225721..f3dc307594 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ka.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ka.ts @@ -25,7 +25,7 @@ Face Attacher reference type - სიბრტყე + ზედაპირი @@ -121,7 +121,7 @@ Wire Attacher reference type - მავთული + პოლიხაზი @@ -510,7 +510,7 @@ Deactivated AttachmentPlane mode caption - გამორთული + დეაქტივირებულია @@ -707,7 +707,7 @@ Deactivated Attachment3D mode caption - გამორთული + დეაქტივირებულია @@ -1054,7 +1054,7 @@ Dimension - ზომა + განზომილება @@ -1159,7 +1159,7 @@ Box selection - არეალის მონიშვნა + ყუთის არჩევანი @@ -1512,7 +1512,7 @@ into its X, Y, and Z components. Offset: - Offset: + წანაცვლება: @@ -2043,7 +2043,7 @@ of projection. Section - სექცია + ჭრილი @@ -2238,7 +2238,7 @@ of projection. Common - კვეთა + ჩვეულებრივი @@ -2253,7 +2253,7 @@ of projection. Section - სექცია + ჭრილი @@ -2308,7 +2308,7 @@ of projection. Refine shape - მოხაზულობის დაზუსტება + მოხაზულობის გამკვეთრება @@ -2316,53 +2316,53 @@ of projection. თვისების მოცილება - + Convert mesh მრავალკუთხა ბადის გარდაქმნა - + Edit attachment მიმაგრების ჩასწორება - + Change face colors ზედაპირის ფერების შეცვლა - + Loft პროფილი - + Edge წიბო - + Wire - მავთული + პოლიხაზი - - + + Face - სიბრტყე + ზედაპირი - + Shell გარსი - + Solid მყარი სხეული - + Sweep შლილი @@ -2513,7 +2513,7 @@ Note: The placement is expressed in local space of object being attached. Sections - სექციები + ჭრილები @@ -2561,7 +2561,7 @@ Note: The placement is expressed in local space of object being attached. Section - სექცია + ჭრილი @@ -2603,42 +2603,42 @@ Note: The placement is expressed in local space of object being attached.მონიშნულის ადგილის შეცვლა - + Select a shape on the left side, first ჯერ აირჩიეთ მარცხენა მხრის მოხაზულობა - + Select a shape on the right side, first ჯერ აირჩიეთ მარჯვენა მხრის მოხაზულობა - + Cannot perform a boolean operation with the same shape ბულევურ ოპერაციის იგივე მოხაზულობაზე ჩატარება შეუძლებელია - + No active document available აქტიური დოკუმენტი ხელმისაწვდომი არაა - + One of the selected objects doesn't exist anymore მონიშნული ობიექტებიდან ერთერთი აღარ არსებობს - + Performing union on non-solids is not possible არა-მყარი სხეულების ობიექტების გაერთიანება შეუძლებელია - + Performing intersection on non-solids is not possible არა-მყარი სხეულების ობიექტების კვეთა შეუძლებელია - + Performing difference on non-solids is not possible არა-მყარი სხეულების ობიექტებს შორის სხვაობის პოვნა შეუძლებელია @@ -2646,7 +2646,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges კუთხის ნაზოლიის წიბოები @@ -2666,7 +2666,7 @@ Note: The placement is expressed in local space of object being attached. Header - სათაური + თავსართი @@ -2805,7 +2805,7 @@ the size of the resulting STEP file. Reversed - Reversed + შებრუნებულია @@ -2816,7 +2816,7 @@ the size of the resulting STEP file. Select - არჩევა + აირჩიეთ @@ -2997,7 +2997,7 @@ If both lengths are zero, magnitude of direction is used. Shape - ფიგურა + მოხაზულობა @@ -3011,14 +3011,14 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter მომრგვალების პარამეტრები Selection - მონიშნული + არჩეული @@ -3061,106 +3061,106 @@ If both lengths are zero, magnitude of direction is used. რადიუსი: - + Chamfer Parameter კუთხის ნაზოლის მორგება - + Chamfer type კუთხის ნაზოლის ტიპი - + Length: Length: - + Edges to chamfer წიბოებიდან ნაზოლამდე - + Start length საწყისი სიგრძე - + Equal distance - თანაბარი მანძილი - - - - Two distances - ორი მანძილი + ტოლი დაშორება + Two distances + ორი დაშორება + + + Size ზომა - + Size2 ზომა2 - + Fillet type მომრგვალების ტიპი - + Edges to fillet მოსამრგვალებელი წიბოები - - + + Start radius საწყისი რადიუსი - + End radius საბოლოო რადიუსი - - + + Edge%1 წიბო%1 - + Length სიგრძე - + Radius რადიუსი - + No shape selected მოხაზულობა მონიშნული არაა - + No valid shape is selected. Please select a valid shape in the drop-down box first. მონიშნულია არასწორი მოხაზულობა. ჯერ ჩამოსაშლელი სიიდან აირჩიეთ სწორი მოხაზულობა. - + No edge selected წიბო მონიშნული არაა - + No edge entity is checked to fillet. Please check one or more edge entities first. მოსამრგვალებელი წიბო არჩეული არაა. @@ -3247,7 +3247,7 @@ Please check one or more edge entities first. Header - სათაური + თავსართი @@ -3268,7 +3268,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3361,7 +3361,7 @@ during file reading (slower but higher details). Single document - ერთიანი დოკუმენტი + ერთი დოკუმენტი @@ -3424,7 +3424,7 @@ during file reading (slower but higher details). Length: - Length: + სიგრძე: @@ -3501,12 +3501,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files ყველა ფაილი @@ -3527,12 +3527,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files ყველა ფაილი @@ -3584,7 +3584,7 @@ during file reading (slower but higher details). Torus - ტორი + ტორუსი @@ -3648,7 +3648,7 @@ during file reading (slower but higher details). Length: - Length: + სიგრძე: @@ -3701,7 +3701,7 @@ during file reading (slower but higher details). Rotation angle: - შებრუნების კუთხე: + მობრუნების კუთხე: @@ -3875,23 +3875,23 @@ during file reading (slower but higher details). Vertex - Vertex + წვერო - - - - + + + + Create %1 %1-ის შექმნა - + No active document აქტიური დოკუმენტის გარეშე - + &Create &შექმნა @@ -3999,7 +3999,7 @@ during file reading (slower but higher details). Shape - ფიგურა + მოხაზულობა @@ -4158,12 +4158,12 @@ during file reading (slower but higher details). უდიდესი კუთხოვანი არეკვლა - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4211,7 +4211,7 @@ during file reading (slower but higher details). Measure - საზომი + გაზომვა @@ -4241,7 +4241,7 @@ during file reading (slower but higher details). Bold - სისქე + სქელი @@ -4251,7 +4251,7 @@ during file reading (slower but higher details). defaultFont - ნაგულისხმებიფონტი + ნაგულისხმევიფონტი @@ -4279,7 +4279,7 @@ during file reading (slower but higher details). Shape color - ფიგურის ფერი + მოხაზულობის ფერი @@ -4304,7 +4304,7 @@ during file reading (slower but higher details). The default transparency for new shapes - ახალი მონახაზების ნაგულისხმები გამჭვირვალობა + ახალი მონახაზების ნაგულისხმევი გამჭვირვალობა @@ -4487,37 +4487,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles ხელმისაწვდომი პროფილები - + Selected profiles მონიშნული პროფილები - + Too few elements ძალიან ცოტა ელემენტი - + At least two vertices, edges, wires or faces are required. სულ ცოტა, საჭიროა ორი წვერო, წიბო, პოლიხაზი ან ზედაპირი. - + Input error - Input error + შეყვანის შეცდომა - + Vertex/Edge/Wire/Face წვერო/წიბო/პოლიხაზი/ზედაპირი - + Loft პროფილი @@ -4575,12 +4575,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. ასლის ასაღებად ჯერ აირჩიეთ მონახაზი. - + No such document '%1'. დოკუმენტი '%1' არ არსებობს. @@ -4588,9 +4588,9 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error - Input error + შეყვანის შეცდომა @@ -4743,80 +4743,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported მხარდაუჭერელი - + Box selection for shells is not supported გარსებისთვის ყუთების არჩევა მხარდაჭერილი არაა - - - - - - - + + + + + + + Wrong selection არასწორი არჩევანი - - + + Select two vertices მონიშნეთ ორი წვერო - - + + Select one or more edges აირჩიეთ ორი ან მეტი წიბო - + Select three or more vertices აირჩიეთ სამი ან მეტი წვერო - + Select two or more faces აირჩიეთ ორი ან მეტი ზედაპირი - + Select only one part object მონიშნეთ მხოლოდ ერთი ნაწილის ტიპის ობიექტი - + Select two vertices to create an edge წიბოს შესაქმნელად მონიშნეთ ორი წიბო - + Select adjacent edges მომიჯნავე წიბოების მონიშვნა - + Select a list of vertices წვერების სიის არჩევა - + Select a closed set of edges მონიშნეთ წიბოების დახურული ჯგუფი - + Select adjacent faces მომიჯნავე კვანძების მონიშვნა - + All shape types can be selected მონიშნული შეიძლება იყოს მონახაზის ყველა ტიპი @@ -4842,90 +4842,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles ხელმისაწვდომი პროფილები - + Selected profiles მონიშნული პროფილები - + Too few elements ძალიან ცოტა ელემენტი - + At least one edge or wire is required. საჭიროა ერთი წიბო ან პოლიხაზი მაინც. - + Invalid selection არასწორი მონიშნული - + Select one or more edges from a single object. მონიშნეთ ერთი ობიექტის ერთი ან მეტი წიბო. - + Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული - + '%1' cannot be used as profile and path. %1-ის გამოყენება პროფილად და ტრაექტორიად შეუძლებელია. - + Input error - Input error + შეყვანის შეცდომა - + Done მზადაა - + Select one or more connected edges in the 3d view and press 'Done' 3D ხედში მონიშნეთ ერთი ან მეტი დაკავშირებული წიბო და დააწექით "დასრულება"-ს - - + + Sweep path შლილის ტრაექტორია - - + + The selected sweep path is invalid. მონიშნული შლილის ტრაექტორია არასწორია. - + Vertex/Wire Vertex/Wire - + Sweep შლილი PartGui::TaskAttacher - - - Form - ფორმა - Selection accepted @@ -4958,7 +4953,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): მიმაგრების წანაცვლება (ლოკალური კოორდინატები): @@ -5036,77 +5031,77 @@ of object being attached. გვერდებისთვის ადგილის გაცვლა - + OCC error: %1 OCC-ის შეცდომა: %1 - + unknown error გაურკვეველი შეცდომა - + Attachment mode failed: %1 მიმაგრების რეჟიმის შეცდომა: %1 - + Not attached არაა მიმაგრებული - + Attached with mode %1 მიბმულია რეჟიმში %1 - + Attachment Offset (inactive - not attached): მიმაგრების წანაცვლება (არააქტიური - არაფერია მიმაგრებული): - + Face - სიბრტყე + ზედაპირი - + Edge წიბო - + Vertex - Vertex + წვერო - + Selecting... - მონიშვნა... + არჩევა... - + Reference%1 ორიენტირი %1 - + Not editable because rotation of AttachmentOffset is bound by expressions. არაა ჩასწორებადი იმიტომ, რომ AttachmentOffset-ის ტრიალი ჩაკეტილი გამონათქვამებით. - + Reference combinations: ბმის კომბინაციები: - + %1 (add %2) %1 (%2-ის დამატება) - + %1 (add more references) %1 (დაამატეთ მეტი ბმა) @@ -5122,7 +5117,7 @@ of object being attached. Settings - გამართვა + მორგება @@ -5137,7 +5132,7 @@ of object being attached. Default: false - ნაგულისხმები: false + ნაგულისხმევი: false @@ -5149,7 +5144,7 @@ of object being attached. Extra boolean operations check that can sometimes find errors that the standard BRep geometry check misses. These errors do not always mean the checked object is unusable. Default: false - დამატებით ბულევურ შემოწმებას ხანდახან შეუძლია იპოვოს შეცდომები, რომელიც სტანდარტულ BRep გეომეტრიის შემოწმებამ გამოტოვა. ეს შეცდომები ყოველთვის არ ნიშნავს, რომ შემოწმებული ობიექტის გამოყენება შეუძლებელია. ნაგულისხმები მნიშვნელობა: არა + დამატებით ბულევურ შემოწმებას ხანდახან შეუძლია იპოვოს შეცდომები, რომელიც სტანდარტულ BRep გეომეტრიის შემოწმებამ გამოტოვა. ეს შეცდომები ყოველთვის არ ნიშნავს, რომ შემოწმებული ობიექტის გამოყენება შეუძლებელია. ნაგულისხმევი მნიშვნელობა: არა @@ -5227,7 +5222,7 @@ Individual boolean operation checks: Continuity - გაგრძელება + უწყვეტობა @@ -5360,7 +5355,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error სიდიდე: შეყვანის შეცდომა @@ -5368,7 +5363,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again აღარ მაჩვენო @@ -5410,7 +5405,7 @@ by dragging a selection rectangle in the 3D view Box selection - არეალის მონიშვნა + ყუთის არჩევანი @@ -5593,7 +5588,7 @@ by dragging a selection rectangle in the 3D view ფრენე - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. 3D ხედში შლილის ტრეაქტორიისთვის აირჩიეთ @@ -5631,24 +5626,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness სისქე - + Select faces of the source object and press 'Done' მონიშნეთ წყარო ობიექტის ზედაპირები და დააწექით 'მზადაა' - + Done მზადაა - + Input error Input error @@ -5701,27 +5696,27 @@ in the 3D view for the sweep path. - - + + Edit %1 - ჩასწორება %1 + %1-ის ჩასწორება - + Part and Part Design workbench ნაწილისა და ნაწილის დიზაინის სამუშაო მაგიდა + + - - Part/Part Design ნაწილი/ნაწილის დიზაინი - - + + Import-Export შეტანა-გატანა @@ -5733,7 +5728,7 @@ in the 3D view for the sweep path. Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული @@ -5794,22 +5789,22 @@ Do you want to continue? მიბმა არჩეული არაა - + Face - სიბრტყე + ზედაპირი - + Edge წიბო - + Vertex - Vertex + წვერო @@ -5824,7 +5819,7 @@ Do you want to continue? Solid - მყარი სხეული + მყარი @@ -5834,7 +5829,7 @@ Do you want to continue? Wire - მავთული + პოლიხაზი @@ -6087,44 +6082,44 @@ Do you want to continue? არასწორი - - + + Selections მონიშნულები - - + + Control Control - + Selection მონიშნული - + Reset selection მონიშნულის გასუფთავება - + Toggle direct dimensions პირდაპირი ზომების ჩართ/გამორთ - + Toggle orthogonal dimensions ორთოგონალური ზომების ჩართ/გამორთ - + Clear all dimensions ყველა ზომის გასუფთავება - + Set colors... ფერების დაყენება... @@ -6134,27 +6129,27 @@ Do you want to continue? სიმეტრიის სიბრტყის ჩასწორება - + Edit fillet edges მომრგვალებული წიბოების ჩასწორება - + Edit chamfer edges კუთხის ნაზოლის წიბოების ჩასწორება - + Edit offset წანაცვლების ჩასწორება - + Edit thickness სისქის ჩასწორება - + Show control points საკონტროლო წერტილების ჩვენება @@ -6349,7 +6344,7 @@ Do you want to continue? Click 'Continue' to create the feature anyway, or 'Abort' to cancel. - დააწექით "გაგრძელება"-ს თვისების მაინც შესაქმნელად, ან "შეწყვეტა"-ს, გაუქმებისთვის. + დააწექით "გაგრძელებას" თვისების მაინც შესაქმნელად, ან "შეწყვეტას", გაუქმებისთვის. @@ -6474,7 +6469,7 @@ It will create a 'Compound Filter' for each shape. Attachment - მიმაგრება + დანართი @@ -6591,7 +6586,7 @@ It will create a 'Compound Filter' for each shape. Faces - სიბრტყეები + ზედაპირები @@ -6601,7 +6596,7 @@ It will create a 'Compound Filter' for each shape. Solids - მასივები + მყარი სხეულები @@ -6681,7 +6676,7 @@ It will create a 'Compound Filter' for each shape. Placement - მდებარეობა + განლაგება diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ko.ts b/src/Mod/Part/Gui/Resources/translations/Part_ko.ts index aa92a06d94..ceb09019b1 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ko.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ko.ts @@ -2317,53 +2317,53 @@ of projection. Defeaturing - + Convert mesh Convert mesh - + Edit attachment Edit attachment - + Change face colors Change face colors - + Loft 로프트 - + Edge 모서리 - + Wire 와이어 - - + + Face 면 선택 - + Shell - + Solid 복합체 - + Sweep 스윕 @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.스왑 선택 - + Select a shape on the left side, first 왼쪽면의 셰이프를 먼저 선택 - + Select a shape on the right side, first 오른쪽 면의 셰이프를 먼저 선택 - + Cannot perform a boolean operation with the same shape 같은 모양으로 부울 작업을 수행할 수 없습니다. - + No active document available 활성화된 문서 없음. - + One of the selected objects doesn't exist anymore 선택한 개체 중 하나는 더 이상 존재 하지 않습니다. - + Performing union on non-solids is not possible 솔리드가 아닌 객체에 연합을 수행 하는 것은 불가능 - + Performing intersection on non-solids is not possible 솔리드가 이닌 객체에 교차를 수행하는 것은 불가능 - + Performing difference on non-solids is not possible 솔리드가 아닌 객체에 차이(difference)를 수행하는 것은 불가능 @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Chamfer Edges @@ -3014,7 +3014,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter 필렛 파라메터 @@ -3064,106 +3064,106 @@ If both lengths are zero, magnitude of direction is used. 반경: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: 길이: - + Edges to chamfer Edges to chamfer - + Start length 시작 길이 - + Equal distance Equal distance - + Two distances Two distances - + Size 크기 - + Size2 크기2 - + Fillet type 필렛 유형 - + Edges to fillet 필렛 모서리 - - + + Start radius 시작 반지름 - + End radius 끝 반지름 - - + + Edge%1 에지 %1 - + Length 거리 - + Radius Radius - + No shape selected 셰이프가 선택되지 않았습니다. - + No valid shape is selected. Please select a valid shape in the drop-down box first. 유효한 셰이프가 선택되지 않았습니다. 드롭다운 상자에서 유효한 셰이프를 선택하세요. - + No edge selected 에지 선택되지 않았음. - + No edge entity is checked to fillet. Please check one or more edge entities first. 필렛 할 에지가 선택되지 않았습니다. 하나 이상의 에지 객체를 선택했는 지 먼저 확인 하시기 바랍니다. @@ -3270,7 +3270,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3503,12 +3503,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files 모든 파일 @@ -3529,12 +3529,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files 모든 파일 @@ -3880,20 +3880,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 %1 만들기 - + No active document 활성 문서가 없습니다 - + &Create 만들기(&C) @@ -4160,12 +4160,12 @@ during file reading (slower but higher details). Maximum angular deflection - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4489,37 +4489,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Available profiles - + Selected profiles Selected profiles - + Too few elements Too few elements - + At least two vertices, edges, wires or faces are required. 적어도 두 개의 꼭지점과 모서리, 선이나 면이 필요 합니다. - + Input error 입력 오류 - + Vertex/Edge/Wire/Face 꼭지점/가장자리/선/면 - + Loft 로프트 @@ -4577,12 +4577,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Select a shape for mirroring, first. - + No such document '%1'. '%1' 문서가 없습니다. @@ -4590,7 +4590,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error 입력 오류 @@ -4746,80 +4746,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection 잘못 된 선택 - - + + Select two vertices 두 정점 선택 - - + + Select one or more edges 하나 이상의 가장자리를 선택 - + Select three or more vertices 3 개 이상의 꼭지점을 선택 - + Select two or more faces 두 개 이상의 면을 선택 - + Select only one part object Select only one part object - + Select two vertices to create an edge Select two vertices to create an edge - + Select adjacent edges Select adjacent edges - + Select a list of vertices Select a list of vertices - + Select a closed set of edges Select a closed set of edges - + Select adjacent faces Select adjacent faces - + All shape types can be selected All shape types can be selected @@ -4845,90 +4845,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Available profiles - + Selected profiles Selected profiles - + Too few elements Too few elements - + At least one edge or wire is required. At least one edge or wire is required. - + Invalid selection 잘못된 선택 - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection 잘못 된 선택 - + '%1' cannot be used as profile and path. '%1' cannot be used as profile and path. - + Input error 입력 오류 - + Done 완료 - + Select one or more connected edges in the 3d view and press 'Done' Select one or more connected edges in the 3d view and press 'Done' - - + + Sweep path 스윕 경로 - - + + The selected sweep path is invalid. The selected sweep path is invalid. - + Vertex/Wire Vertex/Wire - + Sweep 스윕 PartGui::TaskAttacher - - - Form - 양식 - Selection accepted @@ -4961,7 +4956,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): 첨부 파일 오프셋(로컬 좌표): @@ -5042,77 +5037,77 @@ of object being attached. Flip sides - + OCC error: %1 OCC error: %1 - + unknown error unknown error - + Attachment mode failed: %1 Attachment mode failed: %1 - + Not attached Not attached - + Attached with mode %1 Attached with mode %1 - + Attachment Offset (inactive - not attached): 첨부 오프셋(비활성 - 첨부되지 않음): - + Face 면 선택 - + Edge 모서리 - + Vertex Vertex - + Selecting... Selecting... - + Reference%1 Reference%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: 참조 결합: - + %1 (add %2) %1 (add %2) - + %1 (add more references) %1 (add more references) @@ -5367,7 +5362,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Datum dialog: Input error @@ -5375,7 +5370,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5600,7 +5595,7 @@ by dragging a selection rectangle in the 3D view 프레네 - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. 스윕경로를 설정하기 위해 하나 이상의 프로파일을 선택하고 3D 뷰에서 선이나 모서리를 선택 @@ -5637,24 +5632,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness 두께 - + Select faces of the source object and press 'Done' 소스 객체의 면을 선택하고 '완료' 클릭 - + Done 완료 - + Input error 입력 오류 @@ -5707,27 +5702,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Edit %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export 가져오기 내보내기 @@ -5799,20 +5794,20 @@ Do you want to continue? No reference selected - + Face 면 선택 - + Edge 모서리 - + Vertex Vertex @@ -6092,44 +6087,44 @@ Do you want to continue? 올바르지 않음 - - + + Selections 선택 - - + + Control Control - + Selection Selection - + Reset selection Reset selection - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... 색 설정... @@ -6139,27 +6134,27 @@ Do you want to continue? 대칭 평면을 편집 - + Edit fillet edges 필렛 모서리 편집 - + Edit chamfer edges 모따기 모서리 편집 - + Edit offset 오프셋을 편집 - + Edit thickness 두께 편집 - + Show control points Show control points diff --git a/src/Mod/Part/Gui/Resources/translations/Part_nl.ts b/src/Mod/Part/Gui/Resources/translations/Part_nl.ts index daddd02ba1..9cb1e504f0 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_nl.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_nl.ts @@ -2317,53 +2317,53 @@ of projection. Onttakeling - + Convert mesh Convert mesh - + Edit attachment Bijlage bewerken - + Change face colors Change face colors - + Loft Loft - + Edge Rand - + Wire Draad - - + + Face Vlak - + Shell Schil - + Solid Volumemodel - + Sweep Sweep @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.Wissel selectie om - + Select a shape on the left side, first Selecteer eerst een vorm aan de linkerkant - + Select a shape on the right side, first Selecteer eerst een vorm aan de rechterkant - + Cannot perform a boolean operation with the same shape Kan een booleaanse bewerking niet uit te voeren met dezelfde vorm - + No active document available Geen actief document beschikbaar - + One of the selected objects doesn't exist anymore Eén van de geselecteerde objecten bestaat niet meer - + Performing union on non-solids is not possible De vereniging van non-volumemodellen is niet mogelijk - + Performing intersection on non-solids is not possible De intersectie van non-volumemodellen is niet mogelijk - + Performing difference on non-solids is not possible De Aftrekking van non-volumemodellen is niet mogelijk @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Randen afschuinen @@ -3014,7 +3014,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Afrond-parameter @@ -3064,105 +3064,105 @@ If both lengths are zero, magnitude of direction is used. Straal: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: Lengte: - + Edges to chamfer Randen om af te schuinen - + Start length Startlengte - + Equal distance Gelijke afstand - + Two distances Twee afstanden - + Size Grootte - + Size2 Grootte2 - + Fillet type Fillet type - + Edges to fillet Af te ronden kanten - - + + Start radius Start-radius - + End radius Eind-radius - - + + Edge%1 Rand %1 - + Length Lengte - + Radius Radius - + No shape selected Geen vorm geselecteerd - + No valid shape is selected. Please select a valid shape in the drop-down box first. Geen geldige vorm geselecteerd. Selecteer eerst een geldige vorm in het uitklap-scherm. - + No edge selected Geen kant geselecteerd - + No edge entity is checked to fillet. Please check one or more edge entities first. Geen rand is geselecteerd om af te ronden. @@ -3270,7 +3270,7 @@ Gelieve eerst één of meerdere randen te selecteren. PartGui::DlgImportExportStep - + STEP STEP @@ -3503,12 +3503,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Alle bestanden @@ -3529,12 +3529,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Alle bestanden @@ -3880,20 +3880,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 Maak %1 - + No active document Geen actief document - + &Create &Maken @@ -4160,12 +4160,12 @@ during file reading (slower but higher details). Maximale hoekdeflectie - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4489,37 +4489,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Beschikbare profielen - + Selected profiles Geselecteerde profielen - + Too few elements Te weinig elementen - + At least two vertices, edges, wires or faces are required. Minstens twee eindpunten, randen, draden of vlakken zijn vereist. - + Input error Invoerfout - + Vertex/Edge/Wire/Face Eindpunt/Rand/Draad/Vlak - + Loft Loft @@ -4577,12 +4577,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Selecteer eerst een vorm om te spiegelen. - + No such document '%1'. Geen dergelijk document '%1'. @@ -4590,7 +4590,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Invoerfout @@ -4746,80 +4746,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Niet ondersteund - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Verkeerde selectie - - + + Select two vertices Selecteer twee hoekpunten - - + + Select one or more edges Selecteer een of meer randen - + Select three or more vertices Selecteer drie of meer Eindpunten - + Select two or more faces Selecteer twee of meer vlakken - + Select only one part object Selecteer slechts één deel object - + Select two vertices to create an edge Selecteer twee hoekpunten om een ​​rand te creëren - + Select adjacent edges Selecteer aangrenzende randen - + Select a list of vertices Selecteer een lijst van eindpunten - + Select a closed set of edges Selecteer een gesloten set van randen - + Select adjacent faces Selecteer aangrenzende vlakken - + All shape types can be selected Alle vorm types kunnen geselecteerd worden @@ -4845,90 +4845,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Beschikbare profielen - + Selected profiles Geselecteerde profielen - + Too few elements Te weinig elementen - + At least one edge or wire is required. Minstens één rand of draad is vereist. - + Invalid selection Foute selectie - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Verkeerde selectie - + '%1' cannot be used as profile and path. '%1' kan niet gebruikt worden als profiel en pad. - + Input error Invoerfout - + Done Klaar - + Select one or more connected edges in the 3d view and press 'Done' Selecteer een of meer verbonden randen in de 3d-weergave en druk op 'Klaar' - - + + Sweep path Sweeppad - - + + The selected sweep path is invalid. Het geselecteerde sweeppad is ongeldig. - + Vertex/Wire Vertex/Wire - + Sweep Sweep PartGui::TaskAttacher - - - Form - Vorm - Selection accepted @@ -4961,7 +4956,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Bijlageverschuiving (in lokale coördinaten): @@ -5042,77 +5037,77 @@ of object being attached. Zijden spiegelen - + OCC error: %1 OCC fout: %1 - + unknown error onbekende fout - + Attachment mode failed: %1 Bijlage mode heeft gefaald: %1 - + Not attached Niet toegevoegd - + Attached with mode %1 Toegevoegd met mode %1 - + Attachment Offset (inactive - not attached): Bijlage Verschuiving (inactieve - niet toegevoegd): - + Face Vlak - + Edge Rand - + Vertex Vertex - + Selecting... Selecteer... - + Reference%1 Referentie%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Referentie combinaties: - + %1 (add %2) %1 (Voeg toe %2) - + %1 (add more references) %1 (Voeg meer referenties toe) @@ -5368,7 +5363,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Dimensiedialoogvenster: invoerfout @@ -5376,7 +5371,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Dit dialoogvenster niet meer weergeven @@ -5601,7 +5596,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Selecteer een of meer profielen en selecteer een rand of draad @@ -5639,24 +5634,24 @@ in de 3D-weergave voor het veegpad. PartGui::ThicknessWidget - - - + + + Thickness Dikte - + Select faces of the source object and press 'Done' Selecteer de oppervlakken van het bronobject en druk op 'Gereed' - + Done Klaar - + Input error Invoerfout @@ -5709,27 +5704,27 @@ in de 3D-weergave voor het veegpad. - - + + Edit %1 Bewerken %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Importeren-Exporteren @@ -5802,20 +5797,20 @@ Wilt u doorgaan? Geen referentie geselecteerd - + Face Vlak - + Edge Rand - + Vertex Vertex @@ -6095,44 +6090,44 @@ Wilt u doorgaan? Ongeldig - - + + Selections Selecties - - + + Control Control - + Selection Selectie - + Reset selection Selectie resetten - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... Kleuren instellen... @@ -6142,27 +6137,27 @@ Wilt u doorgaan? Bewerk spiegelvlak - + Edit fillet edges Afgeronde randen bewerken - + Edit chamfer edges Afschuiningsranden bewerken - + Edit offset Bewerk verschuiving - + Edit thickness Dikte bewerken - + Show control points Toon controlepunten diff --git a/src/Mod/Part/Gui/Resources/translations/Part_pl.ts b/src/Mod/Part/Gui/Resources/translations/Part_pl.ts index eee361e229..a6b87b297a 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_pl.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_pl.ts @@ -25,7 +25,7 @@ Face Attacher reference type - Powierzchnia + Ściana @@ -1104,7 +1104,7 @@ No selection - Nie wybrano + Brak zaznaczenia @@ -2253,7 +2253,7 @@ Ujęcie widoku określa kierunek rzutowania. Section - Przekrój + Przecięcie @@ -2316,53 +2316,53 @@ Ujęcie widoku określa kierunek rzutowania. Usuwanie cech - + Convert mesh Konwertuj siatkę - + Edit attachment Edytuj dołączenie - + Change face colors Zmień kolory ściany - + Loft Wyciągnięcie przez profile - + Edge Krawędź - + Wire Polilinia - - + + Face - Powierzchnia + Ściana - + Shell Powłoka - + Solid Bryła - + Sweep Wyciągnięcie po ścieżce @@ -2561,7 +2561,7 @@ Uwaga: Położenie jest wyrażone w przestrzeni lokalnej dołączanego obiektu.< Section - Przecięcie + Przekrój @@ -2603,42 +2603,42 @@ Uwaga: Położenie jest wyrażone w przestrzeni lokalnej dołączanego obiektu.< Odwróć zaznaczenie - + Select a shape on the left side, first Najpierw zaznacz kształt po lewej stronie - + Select a shape on the right side, first Najpierw zaznacz kształt po prawej stronie, - + Cannot perform a boolean operation with the same shape Nie można wykonać operacji logicznej na tym samym kształcie - + No active document available Brak aktywnego dokumentu - + One of the selected objects doesn't exist anymore Jeden z zaznaczonych obiektów nie istnieje - + Performing union on non-solids is not possible Utworzenie złączenia na obiektach nie będących bryłami nie jest możliwe - + Performing intersection on non-solids is not possible Utworzenie iloczynu obiektów nie będących bryłami nie jest możliwe - + Performing difference on non-solids is not possible Utworzenie różnicy obiektów nie będących bryłami nie jest możliwe @@ -2646,7 +2646,7 @@ Uwaga: Położenie jest wyrażone w przestrzeni lokalnej dołączanego obiektu.< PartGui::DlgChamferEdges - + Chamfer Edges Fazowanie krawędzi @@ -2819,7 +2819,7 @@ Wskazówka: aby uwzględnić również długość krawędzi, ustaw obie wartośc Select - Wybierz + Dodaj @@ -3010,11 +3010,11 @@ Jeśli obie długości są równe zero, używana jest wartość wielkości kieru No selection - Nie wybrano + Brak zaznaczenia - + Fillet Parameter Parametry zaokrąglenia @@ -3064,106 +3064,106 @@ Jeśli obie długości są równe zero, używana jest wartość wielkości kieru Promień: - + Chamfer Parameter Parametry fazki - + Chamfer type Typ sfazowania - + Length: Długość: - + Edges to chamfer Krawędzie do sfazowania - + Start length Długość początkowa - + Equal distance Wymiary równe - + Two distances Dwa wymiary - + Size Rozmiar - + Size2 Rozmiar 2 - + Fillet type Typ zaokrąglenia - + Edges to fillet Krawędzie do zaokrąglenia - - + + Start radius Początek promienia - + End radius Koniec promienia - - + + Edge%1 Krawędź %1 - + Length Długość - + Radius Promień - + No shape selected Brak wybranych kształtów - + No valid shape is selected. Please select a valid shape in the drop-down box first. Wybrany kształt jest nieprawidłowy. Wybierz najpierw prawidłowy kształt w polu rozwijanym. - + No edge selected Brak wybranych krawędzi - + No edge entity is checked to fillet. Please check one or more edge entities first. Nie zaznaczono krawędzi do sfazowania. @@ -3271,7 +3271,7 @@ Zaznacz najpierw jedną lub więcej krawędzi. PartGui::DlgImportExportStep - + STEP STEP @@ -3364,7 +3364,7 @@ podczas odczytu pliku (wolniejsze, ale dokładniejsze). Single document - Jeden dokument + Pojedynczy dokument @@ -3504,12 +3504,12 @@ podczas odczytu pliku (wolniejsze, ale dokładniejsze). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Wszystkie pliki @@ -3530,12 +3530,12 @@ podczas odczytu pliku (wolniejsze, ale dokładniejsze). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Wszystkie pliki @@ -3699,7 +3699,7 @@ podczas odczytu pliku (wolniejsze, ale dokładniejsze). Angle in second direction - Kąt w kierunku drugim + Kąt w drugim kierunku @@ -3881,20 +3881,20 @@ podczas odczytu pliku (wolniejsze, ale dokładniejsze). Wierzchołek - - - - + + + + Create %1 Utwórz %1 - + No active document Brak aktywnego dokumentu - + &Create &Utwórz @@ -4161,12 +4161,12 @@ podczas odczytu pliku (wolniejsze, ale dokładniejsze). Maksymalne odchylenie kątowe - + Deviation Odchylenie - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Ustawianie zbyt małego odchylenia powoduje, że teselacja trwa dłużej, a tym samym zamraża lub spowalnia interfejs użytkownika. @@ -4244,7 +4244,7 @@ podczas odczytu pliku (wolniejsze, ale dokładniejsze). Bold - Pogrubienie + Pogrubiona @@ -4489,37 +4489,37 @@ zostanie użyty wektor normalnej płaszczyzny szkicu PartGui::LoftWidget - + Available profiles Dostępne profile - + Selected profiles Wybrane profile - + Too few elements Zbyt mało elementów - + At least two vertices, edges, wires or faces are required. Wymagane są co najmniej dwa wierzchołki, krawędzie, polilinie lub ściany. - + Input error Błąd danych wejściowych - + Vertex/Edge/Wire/Face Wierzchołek/Krawędź/Polilinia/Powierzchnia - + Loft Wyciągnięcie przez profile @@ -4577,12 +4577,12 @@ zostanie użyty wektor normalnej płaszczyzny szkicu z - + Select a shape for mirroring, first. Najpierw wybierz kształt do przekształcenia przez odbicie lustrzane. - + No such document '%1'. Nie ma takiego dokumentu '%1'. @@ -4590,7 +4590,7 @@ zostanie użyty wektor normalnej płaszczyzny szkicu PartGui::OffsetWidget - + Input error Błąd danych wejściowych @@ -4745,80 +4745,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Nieobsługiwane - + Box selection for shells is not supported Zaznaczanie polem wyboru dla powłoki nie jest obsługiwane - - - - - - - + + + + + + + Wrong selection Niewłaściwy wybór - - + + Select two vertices Wybierz dwa wierzchołki - - + + Select one or more edges Wybierz jedną lub więcej krawędzi - + Select three or more vertices Wybierz trzy lub więcej wierzchołków - + Select two or more faces Zaznacz dwie lub więcej ścian - + Select only one part object Wybierz dokładnie jeden obiekt Części - + Select two vertices to create an edge Aby utworzyć krawędź zaznacz 2 wierzchołki - + Select adjacent edges Zaznacz przyległe krawędzie - + Select a list of vertices Wybierz listę wierzchołków - + Select a closed set of edges Wybierz zamknięty zestaw krawędzi - + Select adjacent faces Zaznacz przyległe ściany - + All shape types can be selected Można wybrać wszystkie typy kształtów @@ -4844,90 +4844,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Dostępne profile - + Selected profiles Wybrane profile - + Too few elements Zbyt mało elementów - + At least one edge or wire is required. Wymagana jest co najmniej jedna krawędź lub polilinia. - + Invalid selection Nieprawidłowy wybór - + Select one or more edges from a single object. Wybierz jedną lub więcej krawędzi z pojedynczego obiektu. - + Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór - + '%1' cannot be used as profile and path. "%1" nie można użyć jako profilu i ścieżki. - + Input error Błąd danych wejściowych - + Done Gotowe - + Select one or more connected edges in the 3d view and press 'Done' Wybierz jedną lub więcej połączonych krawędzi w oknie widoku 3D i naciśnij przycisk "Gotowe" - - + + Sweep path Ścieżka przeciągania - - + + The selected sweep path is invalid. Zaznaczona ścieżka wyciągnięcia jest nieprawidłowa. - + Vertex/Wire Utwórz obwiednię - + Sweep Wyciągnięcie po ścieżce PartGui::TaskAttacher - - - Form - Formularz - Selection accepted @@ -4960,7 +4955,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Odsunięcie dołączenia (według lokalnych współrzędnych): @@ -5040,77 +5035,77 @@ dołączanego obiektu. Odwróć strony - + OCC error: %1 Błąd OCC:%1 - + unknown error nieznany błąd - + Attachment mode failed: %1 Tryb mocowania nie powiódł się: %1 - + Not attached Nie dołączono - + Attached with mode %1 Dołączony w trybie %1 - + Attachment Offset (inactive - not attached): Odsunięcie dołączenia: (nieaktywny - nie dołączono): - + Face - Powierzchnia + Ściana - + Edge Krawędź - + Vertex Wierzchołek - + Selecting... Wybieranie ... - + Reference%1 Referencja%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Nie można edytować, ponieważ obrót Odsunięcia Dołączenia jest związany przez wyrażenia. - + Reference combinations: Kombinacje odniesienia: - + %1 (add %2) %1 (dodaj %2) - + %1 (add more references) %1 (dodaj więcej odniesień) @@ -5367,7 +5362,7 @@ Pojedyncze kontrole operacji logicznych: PartGui::TaskDlgAttacher - + Datum dialog: Input error Dialog punktu odniesienia: Błąd wprowadzenia @@ -5375,7 +5370,7 @@ Pojedyncze kontrole operacji logicznych: PartGui::TaskExportStep - + Don't show this dialog again Nie pokazuj ponownie tego okna @@ -5600,7 +5595,7 @@ przez przeciągnięcie prostokąta zaznaczenia w oknie widoku 3D Freneta - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Wybierz jeden lub więcej profili i zaznacz krawędź lub polilinię w widoku 3D dla utworzenia ścieżki. @@ -5637,24 +5632,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Grubość - + Select faces of the source object and press 'Done' Wybierz ścianę obiektu źródłowego i kliknij "Gotowe" - + Done Gotowe - + Input error Błąd danych wejściowych @@ -5707,28 +5702,28 @@ in the 3D view for the sweep path. - - + + Edit %1 Edytuj %1 - + Part and Part Design workbench Środowisko pracy Część i Projekt Części + + - - Part/Part Design Część / Projekt Części - - + + Import-Export Import-Eksport @@ -5740,7 +5735,7 @@ Projekt Części Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór @@ -5800,20 +5795,20 @@ Do you want to continue? Nie wybrano odniesienia - + Face - Powierzchnia + Ściana - + Edge Krawędź - + Vertex Wierzchołek @@ -6093,44 +6088,44 @@ Do you want to continue? Nieprawidłowy - - + + Selections Wybór: - - + + Control Kontrola - + Selection Zaznaczenie - + Reset selection Resetuj wybór - + Toggle direct dimensions Przełącz wymiary bezpośrednie - + Toggle orthogonal dimensions Przełącz wymiary ortogonalne - + Clear all dimensions Usuń wszystkie wymiary - + Set colors... Ustaw kolory ... @@ -6140,27 +6135,27 @@ Do you want to continue? Edycja płaszczyzny odbicia lustrzanego - + Edit fillet edges Edytuj krawędzie zaokrąglenia - + Edit chamfer edges Edytuj krawędzie fazki - + Edit offset Edytuj odsunięcie - + Edit thickness Edytuj grubość - + Show control points Pokaż punkty kontrolne @@ -6235,7 +6230,7 @@ Do you want to continue? Compound - Złożenie + Kształt złożony @@ -6366,7 +6361,7 @@ Do you want to continue? Bad selection - Błędny wybór + Nieprawidłowy wybór diff --git a/src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts b/src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts index 5837a21251..71d3c40439 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts @@ -2310,53 +2310,53 @@ of projection. Desfigurar - + Convert mesh Converter malha - + Edit attachment Editar anexo - + Change face colors Alterar as cores das faces - + Loft Loft - + Edge Aresta - + Wire Fio - - + + Face Face - + Shell Casco - + Solid Sólido - + Sweep Varredura @@ -2597,42 +2597,42 @@ Nota: As coordenadas da posição são relacionadas ao sistema local de coordena Trocar seleção - + Select a shape on the left side, first Selecione uma forma no lado esquerdo primeiro - + Select a shape on the right side, first Selecione uma forma no lado direito primeiro - + Cannot perform a boolean operation with the same shape Não é possível executar uma operação booleana com a mesma forma - + No active document available Nenhum documento ativo disponível - + One of the selected objects doesn't exist anymore Um dos objetos selecionados não existe mais - + Performing union on non-solids is not possible Não é possível executar união em objetos não solidos - + Performing intersection on non-solids is not possible Não é possível executar interseção em não sólidos - + Performing difference on non-solids is not possible Não é possível executar diferença em não-sólidos @@ -2640,7 +2640,7 @@ Nota: As coordenadas da posição são relacionadas ao sistema local de coordena PartGui::DlgChamferEdges - + Chamfer Edges Chanfrar arestas @@ -3004,7 +3004,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Parâmetro do filete @@ -3054,105 +3054,105 @@ If both lengths are zero, magnitude of direction is used. Raio: - + Chamfer Parameter Parâmetro do chanfro - + Chamfer type Chamfer type - + Length: Comprimento: - + Edges to chamfer Arestas para chanfrar - + Start length Comprimento de início - + Equal distance Distância igual - + Two distances Duas distâncias - + Size Tamanho - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Arestas a filetar - - + + Start radius Raio inicial - + End radius Raio final - - + + Edge%1 Aresta %1 - + Length Comprimento - + Radius Raio - + No shape selected Nenhuma forma selecionada - + No valid shape is selected. Please select a valid shape in the drop-down box first. Nenhuma forma válida é selecionada. Selecione primeiro uma forma válida na caixa drop-down. - + No edge selected Nenhuma aresta selecionada - + No edge entity is checked to fillet. Please check one or more edge entities first. Nenhuma aresta está marcada para fazer um filete. @@ -3260,7 +3260,7 @@ Selecione uma ou mais arestas primeiro. PartGui::DlgImportExportStep - + STEP STEP @@ -3493,12 +3493,12 @@ durante a leitura de arquivos. A importação levará mais tempo e mais detalhes PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Todos os Arquivos @@ -3519,12 +3519,12 @@ durante a leitura de arquivos. A importação levará mais tempo e mais detalhes PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Todos os Arquivos @@ -3870,20 +3870,20 @@ durante a leitura de arquivos. A importação levará mais tempo e mais detalhes Vértice - - - - + + + + Create %1 Criar %1 - + No active document Nenhum documento ativo - + &Create &Criar @@ -4146,12 +4146,12 @@ durante a leitura de arquivos. A importação levará mais tempo e mais detalhes Deflexão angular máxima - + Deviation Desvio - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Definir um desvio muito pequeno faz a paginação tomar muito tempo e a interface ficar mais lento ou até congelar. @@ -4473,37 +4473,37 @@ o vetor normal ao plano de esboço será usado PartGui::LoftWidget - + Available profiles Perfis disponíveis - + Selected profiles Perfis selecionados - + Too few elements Muito poucos elementos - + At least two vertices, edges, wires or faces are required. Pelo menos dois vértices, arestas, arames ou faces são necessários. - + Input error Erro de entrada - + Vertex/Edge/Wire/Face Vértice/Aresta/Arame/Face - + Loft Loft @@ -4561,12 +4561,12 @@ o vetor normal ao plano de esboço será usado z - + Select a shape for mirroring, first. Selecione uma forma para espelhar primeiro. - + No such document '%1'. Não há tal documento '%1'. @@ -4574,7 +4574,7 @@ o vetor normal ao plano de esboço será usado PartGui::OffsetWidget - + Input error Erro de entrada @@ -4730,80 +4730,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Seleção errada - - + + Select two vertices Selecione dois vértices - - + + Select one or more edges Selecione uma ou mais arestas - + Select three or more vertices Selecione três ou mais vértices - + Select two or more faces Selecione duas ou mais faces - + Select only one part object Selecione apenas um objeto parte - + Select two vertices to create an edge Selecione dois vértices para criar uma aresta - + Select adjacent edges Selecione arestas adjacentes - + Select a list of vertices Selecione uma lista de vértices - + Select a closed set of edges Selecionar um conjunto fechado de arestas - + Select adjacent faces Selecione faces adjacentes - + All shape types can be selected Todos os tipos de formas podem ser selecionados @@ -4829,90 +4829,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Perfis disponíveis - + Selected profiles Perfis selecionados - + Too few elements Muito poucos elementos - + At least one edge or wire is required. É necessário pelo menos uma aresta ou arame. - + Invalid selection Seleção inválida - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Seleção errada - + '%1' cannot be used as profile and path. '%1' não pode ser usado como perfil e caminho. - + Input error Erro de entrada - + Done Feito - + Select one or more connected edges in the 3d view and press 'Done' Selecione uma ou mais arestas conectadas na vista 3d e aperte 'Done' - - + + Sweep path Caminho de varredura - - + + The selected sweep path is invalid. O caminho de varredura selecionado é inválido. - + Vertex/Wire Vértice/arame - + Sweep Varredura PartGui::TaskAttacher - - - Form - Formulário - Selection accepted @@ -4945,7 +4940,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Deslocamento de fixação (nas coordenadas locais): @@ -5022,77 +5017,77 @@ Nota: As coordenadas da posição são relacionadas ao sistema local de coordena Inverter os lados - + OCC error: %1 Erro OCC: %1 - + unknown error erro desconhecido - + Attachment mode failed: %1 Modo de fixação falhou: %1 - + Not attached Não fixado - + Attached with mode %1 Fixado com o modo %1 - + Attachment Offset (inactive - not attached): Deslocamento de fixação (inativo - não fixado): - + Face Face - + Edge Aresta - + Vertex Vértice - + Selecting... Escolhendo... - + Reference%1 Referência%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Não é editável, porque a rotação do anexo deslocado foi definida por expressões. - + Reference combinations: Combinações de referência: - + %1 (add %2) %1 (adicione %2) - + %1 (add more references) %1 (adicione mais referências) @@ -5348,7 +5343,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Caixa de diálogo Referência: erro de entrada @@ -5356,7 +5351,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5581,7 +5576,7 @@ fazendo um retângulo de seleção na vista 3D Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Selecione um ou mais perfis e selecione também uma aresta ou arame na vista 3D para o caminho de varredura. @@ -5618,24 +5613,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Espessura - + Select faces of the source object and press 'Done' Selecione as faces do objeto de origem e pressione 'Feito' - + Done Feito - + Input error Erro de entrada @@ -5688,27 +5683,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Editar %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Importação e exportação @@ -5781,20 +5776,20 @@ Deseja continuar? Nenhuma referência selecionada - + Face Face - + Edge Aresta - + Vertex Vértice @@ -6074,44 +6069,44 @@ Deseja continuar? Inválido - - + + Selections Seleções - - + + Control Controle - + Selection Seleção - + Reset selection Redefinir seleção - + Toggle direct dimensions Exibir as dimensões diretas - + Toggle orthogonal dimensions Exibir as dimensões ortogonais - + Clear all dimensions Limpar todas as dimensões - + Set colors... Definir cores... @@ -6121,27 +6116,27 @@ Deseja continuar? Editar o plano de espelho - + Edit fillet edges Modificar arestas filetadas - + Edit chamfer edges Editar as arestas do chanfro - + Edit offset Editar o offset - + Edit thickness Editar a espessura - + Show control points Mostrar pontos de controle diff --git a/src/Mod/Part/Gui/Resources/translations/Part_pt-PT.ts b/src/Mod/Part/Gui/Resources/translations/Part_pt-PT.ts index 6c50b61965..ecc94666ff 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_pt-PT.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_pt-PT.ts @@ -2317,53 +2317,53 @@ of projection. Remover características - + Convert mesh Convert mesh - + Edit attachment Edit attachment - + Change face colors Change face colors - + Loft Arrastar - + Edge Borda - + Wire Traço (Wire) - - + + Face Face - + Shell Casca - + Solid Sólido - + Sweep Arrastar (Sweep) @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.Troca seleção - + Select a shape on the left side, first Selecione uma forma do lado esquerdo, primeiro - + Select a shape on the right side, first Selecione uma forma do lado direito, primeiro - + Cannot perform a boolean operation with the same shape Não é possível executar uma operação Booleana com a mesma forma - + No active document available Nenhum documento ativo disponível - + One of the selected objects doesn't exist anymore Um dos objetos selecionados já não existe - + Performing union on non-solids is not possible Não é possível executar união em objetos não solidos - + Performing intersection on non-solids is not possible Não é possível executar interseções em não sólidos - + Performing difference on non-solids is not possible Não é possível executar a diferença em não-sólidos @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Chamfrar arestas @@ -3012,7 +3012,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Parâmetro de Boleado (fillet) @@ -3062,105 +3062,105 @@ If both lengths are zero, magnitude of direction is used. Raio: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: Comprimento: - + Edges to chamfer Arestas para chanfrar - + Start length Início do comprimento - + Equal distance Distância igual - + Two distances Duas distâncias - + Size Tamanho - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Arestas para criar Boleado (fillet) - - + + Start radius Início do Raio - + End radius Fim do Raio - - + + Edge%1 Borda %1 - + Length Comprimento - + Radius Raio - + No shape selected Nenhuma forma selecionada - + No valid shape is selected. Please select a valid shape in the drop-down box first. Não foi selecionada nenhuma forma válida. Por favor, selecione primeiro uma forma válida no menu da lista. - + No edge selected Nenhuma borda selecionada - + No edge entity is checked to fillet. Please check one or more edge entities first. Não foi selecionada nenhuma aresta para criar Boleado (fillet). Por favor, marque primeiro uma ou mais entidades aresta. @@ -3267,7 +3267,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3500,12 +3500,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Todos os Ficheiros @@ -3526,12 +3526,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Todos os Ficheiros @@ -3877,20 +3877,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 Criar %1 - + No active document Nenhum documento ativo - + &Create &Criar @@ -4153,12 +4153,12 @@ during file reading (slower but higher details). Máxima deflexão angular - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4482,37 +4482,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Perfis disponíveis - + Selected profiles Perfis selecionados - + Too few elements Muito poucos elementos - + At least two vertices, edges, wires or faces are required. São necessários pelo menos dois vértices, arestas, arames ou faces. - + Input error Erro de Inserção - + Vertex/Edge/Wire/Face Vertice/Aresta/Arame(wire)/Face - + Loft Arrastar @@ -4570,12 +4570,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Selecione primeiro uma forma para espelhar. - + No such document '%1'. Não existe tal documento '%1'. @@ -4583,7 +4583,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Erro de Inserção @@ -4739,80 +4739,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Seleção errada - - + + Select two vertices Selecione dois vértices - - + + Select one or more edges Selecione um ou mais arestas - + Select three or more vertices Selecione três ou mais vértices - + Select two or more faces Selecione duas ou mais faces - + Select only one part object Selecione apenas um objeto peça - + Select two vertices to create an edge Selecione os dois vértices para criar uma aresta - + Select adjacent edges Selecionar arestas adjacentes - + Select a list of vertices Selecione uma lista de vértices - + Select a closed set of edges Selecione um conjunto fechado de arestas - + Select adjacent faces Selecione faces adjacentes - + All shape types can be selected Todos os tipos de forma podem ser selecionados @@ -4838,90 +4838,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Perfis disponíveis - + Selected profiles Perfis selecionados - + Too few elements Muito poucos elementos - + At least one edge or wire is required. É necessário pelo menos uma aresta ou arame(wire). - + Invalid selection Seleção inválida - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Seleção errada - + '%1' cannot be used as profile and path. '%1' não pode ser usado como o perfil e caminho. - + Input error Erro de Inserção - + Done Concluído - + Select one or more connected edges in the 3d view and press 'Done' Selecione uma ou mais arestas conectadas na vista 3d e pressione 'Done' - - + + Sweep path Caminho de arrasto (Sweep) - - + + The selected sweep path is invalid. O caminho de arrasto (sweep) selecionado é inválido. - + Vertex/Wire Vertex/Wire - + Sweep Arrastar (Sweep) PartGui::TaskAttacher - - - Form - Formulário - Selection accepted @@ -4954,7 +4949,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Attachment Offset (in local coordinates): @@ -5035,77 +5030,77 @@ of object being attached. Inverter os lados - + OCC error: %1 Erro OCC: %1 - + unknown error erro desconhecido - + Attachment mode failed: %1 Modo de fixação falhado: %1 - + Not attached Não fixado - + Attached with mode %1 Fixado com o modo %1 - + Attachment Offset (inactive - not attached): Deslocamento de fixação (inativo - não fixado): - + Face Face - + Edge Borda - + Vertex Vertex - + Selecting... Selecionando... - + Reference%1 Referência%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Combinações de referência: - + %1 (add %2) %1 (adicione %2) - + %1 (add more references) %1 (adicione mais referências) @@ -5361,7 +5356,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Caixa de diálogo Referência: erro de entrada @@ -5369,7 +5364,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5594,7 +5589,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Selecione um ou mais perfis e selecione também uma aresta ou traço (wire) na vista 3D para o caminho de arrasto (sweep). @@ -5631,24 +5626,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Espessura - + Select faces of the source object and press 'Done' Selecione faces do objeto de origem e pressione 'Feito' - + Done Concluído - + Input error Erro de Inserção @@ -5701,27 +5696,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Edite %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Importar/Exportar @@ -5793,20 +5788,20 @@ Do you want to continue? Nenhuma referência selecionada - + Face Face - + Edge Borda - + Vertex Vertex @@ -6086,44 +6081,44 @@ Do you want to continue? Inválido - - + + Selections Seleções - - + + Control Control - + Selection Selection - + Reset selection Reset selection - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... Definir cores... @@ -6133,27 +6128,27 @@ Do you want to continue? Editar o plano de espelho - + Edit fillet edges Editar arestas do Boleado (fillet) - + Edit chamfer edges Editar as arestas de chanfre - + Edit offset Editar o deslocamento (offset) - + Edit thickness Editar a espessura - + Show control points Mostrar pontos de controle diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ro.ts b/src/Mod/Part/Gui/Resources/translations/Part_ro.ts index 28270eac2e..6c0391d939 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ro.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ro.ts @@ -2318,53 +2318,53 @@ de proiecție. Suprimare funcții - + Convert mesh Convertește plasa - + Edit attachment Editare atașament - + Change face colors Schimbă culorile fețelor - + Loft Pod - + Edge Margine - + Wire Polilinie - - + + Face Faţă - + Shell Invelis - + Solid Solid - + Sweep Matura @@ -2605,42 +2605,42 @@ Notă: Plasamentul este exprimat în spaţiul local al obiectului ataşat.Schimba selectia - + Select a shape on the left side, first Selectati mai intai o forma in stanga - + Select a shape on the right side, first Selectati mai intai o forma in dreapta - + Cannot perform a boolean operation with the same shape Imposibil de efectuat o operaţiune logica cu aceeasi forma - + No active document available Nici un document activ disponibil - + One of the selected objects doesn't exist anymore Unul dintre obiectele selectate nu mai exista - + Performing union on non-solids is not possible Realizarea Uniunii pe non-solide nu este posibila - + Performing intersection on non-solids is not possible Efectuarea intersectiei pe non-solide nu este posibila - + Performing difference on non-solids is not possible Efectuarea diferentei pe non-solide nu este posibila @@ -2648,7 +2648,7 @@ Notă: Plasamentul este exprimat în spaţiul local al obiectului ataşat. PartGui::DlgChamferEdges - + Chamfer Edges Teșirea muchiilor @@ -3011,7 +3011,7 @@ Dacă ambele lungimi sunt zero, magnitudinea direcției este folosită. - + Fillet Parameter Parametru panglica @@ -3061,106 +3061,106 @@ Dacă ambele lungimi sunt zero, magnitudinea direcției este folosită.Raza: - + Chamfer Parameter Parametru Camfer - + Chamfer type Tip camp - + Length: Lungime: - + Edges to chamfer Margini teșite - + Start length Începe lungime - + Equal distance Distanță egală - + Two distances Două distanţe - + Size Dimensiune - + Size2 Dimensiune2 - + Fillet type Tipul de umplere - + Edges to fillet Margini in panglica - - + + Start radius Raza de inceput - + End radius Raza finala - - + + Edge%1 Marginea %1 - + Length Lungime - + Radius Raza - + No shape selected Nici o forma selectata - + No valid shape is selected. Please select a valid shape in the drop-down box first. Nici o forma valida nu este selectata. Selectati mai intai o forma valida in casuta de selectie. - + No edge selected Nici o margine selectata - + No edge entity is checked to fillet. Please check one or more edge entities first. Nici o margine nu e selectata. @@ -3268,7 +3268,7 @@ Selectati mai intai una sau mai multe margini. PartGui::DlgImportExportStep - + STEP STEP @@ -3501,12 +3501,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Toate fișierele @@ -3527,12 +3527,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Toate fișierele @@ -3878,20 +3878,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 Creati %1 - + No active document Nici un document activ - + &Create &Creeaza @@ -4156,12 +4156,12 @@ during file reading (slower but higher details). Deformare unghiulară maximă - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4485,37 +4485,37 @@ vectorul normal al planului va fi folosit PartGui::LoftWidget - + Available profiles Profilurile disponibile - + Selected profiles Profiluri selectate - + Too few elements Prea putine elemente - + At least two vertices, edges, wires or faces are required. Sunt necesare cel puțin două muchii, fire sau feţele. - + Input error Eroare de intrare - + Vertex/Edge/Wire/Face Nod/muchie/sârmă/fata - + Loft Pod @@ -4573,12 +4573,12 @@ vectorul normal al planului va fi folosit z - + Select a shape for mirroring, first. Selectati mai intai o forma de oglindit. - + No such document '%1'. Nici un astfel de document '%1'. @@ -4586,7 +4586,7 @@ vectorul normal al planului va fi folosit PartGui::OffsetWidget - + Input error Eroare de intrare @@ -4742,80 +4742,80 @@ doar comenzile create vor fi vizibile PartGui::ShapeBuilderWidget - + Unsupported Neacceptat - + Box selection for shells is not supported Selectarea casetei pentru proiectile nu este suportată - - - - - - - + + + + + + + Wrong selection Selecţie greşită - - + + Select two vertices Selecteaza doua varfuri - - + + Select one or more edges Selecteaza unul sau mai multe margini - + Select three or more vertices Selectaţi trei sau mai multe noduri - + Select two or more faces Selectaţi două sau mai multe fete - + Select only one part object Selecteaza numai o parte - + Select two vertices to create an edge Selecteaza doua varfuri pentru a crea o margine - + Select adjacent edges Selectați unghiurile adiacente - + Select a list of vertices Selectaţi o listă de noduri - + Select a closed set of edges Selectati un set inchis de margini - + Select adjacent faces Selectati fete adiacente - + All shape types can be selected Toate tipurile de forme pot fi selectate @@ -4841,90 +4841,85 @@ doar comenzile create vor fi vizibile PartGui::SweepWidget - + Available profiles Profilurile disponibile - + Selected profiles Profiluri selectate - + Too few elements Prea putine elemente - + At least one edge or wire is required. Este necesara cel putin o margine sau o polilinie. - + Invalid selection Selectie invalida - + Select one or more edges from a single object. Selectați una sau mai multe margini de la un singur obiect. - + Wrong selection Selecţie greşită - + '%1' cannot be used as profile and path. Imposibil de utilizat '%1' ca profilul si calea. - + Input error Eroare de intrare - + Done Gata - + Select one or more connected edges in the 3d view and press 'Done' Selectaţi unul sau mai multe muchiile conectate în 3d vedere şi apăsaţi 'Done' - - + + Sweep path Matura calea - - + + The selected sweep path is invalid. Calea de baleiere selectionată nu este validă. - + Vertex/Wire Vertex/Wire - + Sweep Matura PartGui::TaskAttacher - - - Form - Formular - Selection accepted @@ -4957,7 +4952,7 @@ doar comenzile create vor fi vizibile - + Attachment Offset (in local coordinates): Decalajul ataşamentului (în coordonate locale): @@ -5038,77 +5033,77 @@ obiectului ce este ataşat. Întoarce fața - + OCC error: %1 OCC eroare: %1 - + unknown error eroare necunoscută - + Attachment mode failed: %1 Modul de atașare a eșuat: %1 - + Not attached Ne e atașat - + Attached with mode %1 Ataşat cu modul %1 - + Attachment Offset (inactive - not attached): Ataşament Offset (inactiv - nu e ataşat): - + Face Faţă - + Edge Margine - + Vertex Vertex - + Selecting... Selecție de... - + Reference%1 Referinţă%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Nu este editabil pentru că rotaţia de AttachmentOffset este legată de expresii. - + Reference combinations: Combinaţii de referinţă: - + %1 (add %2) %1 (a se adăuga %2) - + %1 (add more references) %1 (a se adăuga mai multe referinte) @@ -5365,7 +5360,7 @@ Operarea testului boolean individual: PartGui::TaskDlgAttacher - + Datum dialog: Input error Cutie de dialog a dimensiunii: eroare de intrare @@ -5373,7 +5368,7 @@ Operarea testului boolean individual: PartGui::TaskExportStep - + Don't show this dialog again Nu mai afișa acest dialog @@ -5598,7 +5593,7 @@ prin glisarea unui dreptunghi de selecție în vizualizarea 3D Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Selecteaza unul sau mai multe profile apoi @@ -5637,24 +5632,24 @@ in vizualizarea 3D pentru calea maturarii. PartGui::ThicknessWidget - - - + + + Thickness Grosime - + Select faces of the source object and press 'Done' Selecteaza fetele obiectului sursa si apasati "Gata" - + Done Gata - + Input error Eroare de intrare @@ -5707,27 +5702,27 @@ in vizualizarea 3D pentru calea maturarii. - - + + Edit %1 Editare %1 - + Part and Part Design workbench Masă de lucru pentru proiectarea pieselor și părților + + - - Part/Part Design Design componentă/capitol - - + + Import-Export Import/Export @@ -5799,20 +5794,20 @@ Do you want to continue? Nicio referință selecționată - + Face Faţă - + Edge Margine - + Vertex Vertex @@ -6092,44 +6087,44 @@ Do you want to continue? Invalid - - + + Selections Selecţii - - + + Control Control - + Selection Selecţie - + Reset selection Resetare selecție - + Toggle direct dimensions Comutare dimensiuni directe - + Toggle orthogonal dimensions Comută dimensiunile ortogonale - + Clear all dimensions Șterge toate dimensiunile - + Set colors... Seteaza culorile... @@ -6139,27 +6134,27 @@ Do you want to continue? Editeaza planul oglinda - + Edit fillet edges Editeaza merginile in panglica - + Edit chamfer edges Editeaza marginile tesiturii - + Edit offset Editeaza expandarea - + Edit thickness Editeaza grosimea - + Show control points Arată Punctele de control diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ru.ts b/src/Mod/Part/Gui/Resources/translations/Part_ru.ts index f59ba7131f..d5a85350d7 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ru.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ru.ts @@ -614,7 +614,7 @@ Align to Frenet-Serret coordinate system of curved edge. Optional vertex link defines where. AttachmentPlane mode tooltip - Выравнять по координатной системе трёхгранника Френе этой кривой. Дополнительная ссылка на вершину определяет где точка соприкосновения. + Выровнить по координатной системе трёхгранника Френе этой кривой. Дополнительная ссылка на вершину определяет точку соприкосновения. @@ -811,7 +811,7 @@ Align to Frenet-Serret coordinate system of curved edge. Optional vertex link defines where. Attachment3D mode tooltip - Выравнять по координатной системе трёхгранника Френе этой кривой. Дополнительная ссылка на вершину определяет где точка соприкосновения. + Выровнить по координатной системе трёхгранника Френе этой кривой. Дополнительная ссылка на вершину определяет точку соприкосновения. @@ -2238,7 +2238,7 @@ of projection. Common - Пересечение + Общее @@ -2248,7 +2248,8 @@ of projection. Compound - Соединить + Соединить +Группировка @@ -2316,53 +2317,53 @@ of projection. Удаление элемента - + Convert mesh Конвертировать сетку - + Edit attachment Изменить вложение - + Change face colors Изменить цвета грани - + Loft Профиль - + Edge Ребро - + Wire Ломаная - - + + Face Грань - + Shell Оболочка - + Solid Твердое тело - + Sweep Профиль по траектории @@ -2561,7 +2562,7 @@ Note: The placement is expressed in local space of object being attached. Section - Разделить + Разрез (Сечение) @@ -2603,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.Выбор свопа - + Select a shape on the left side, first Сначала выберите фигуру на левой стороне - + Select a shape on the right side, first Сначала выберите фигуру справа - + Cannot perform a boolean operation with the same shape Невозможно выполнить булеву операцию с той же фигурой - + No active document available Нет доступного активного документа - + One of the selected objects doesn't exist anymore Один из выбранных объектов больше не существует - + Performing union on non-solids is not possible Выполнение объединения не на твердых телах невозможно - + Performing intersection on non-solids is not possible Выполнение пересечения не на твердых телах невозможно - + Performing difference on non-solids is not possible Выполнение вычитания не на твердых телах невозможно @@ -2646,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Притупить ребра фаской @@ -2806,7 +2807,7 @@ the size of the resulting STEP file. Reversed - В обратную сторону + Реверсивный @@ -2998,7 +2999,7 @@ If both lengths are zero, magnitude of direction is used. Shape - Фигура(ы) + Фигура @@ -3012,7 +3013,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Параметр скругления @@ -3062,105 +3063,105 @@ If both lengths are zero, magnitude of direction is used. Радиус: - + Chamfer Parameter Параметр фаски - + Chamfer type Тип фаски - + Length: Длина: - + Edges to chamfer Ребра для выполнения фаски - + Start length Начальная длина - + Equal distance Равное расстояние - + Two distances Два расстояния - + Size Размер - + Size2 Размер2 - + Fillet type Тип Скругления - + Edges to fillet Рёбра для скругления - - + + Start radius Начальный радиус - + End radius Конечный радиус - - + + Edge%1 Грань%1 - + Length Длина - + Radius Радиус - + No shape selected Профиль не выбран - + No valid shape is selected. Please select a valid shape in the drop-down box first. Допустимый профиль не выбран. Пожалуйста сначала выберите допустимый профиль в выпадающем списке. - + No edge selected Нет выбранных ребер - + No edge entity is checked to fillet. Please check one or more edge entities first. Не выбрано ни одного ребра. Выберите хотя бы одно ребро для скругления. @@ -3226,7 +3227,7 @@ Please check one or more edge entities first. Import - Импорт + импорт @@ -3267,9 +3268,9 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP - STEP + ШАГ @@ -3277,7 +3278,7 @@ Please check one or more edge entities first. STEP - STEP + ШАГ @@ -3446,7 +3447,7 @@ during file reading (slower but higher details). Position: - Расположение: + Позиция: @@ -3500,12 +3501,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Все файлы @@ -3526,12 +3527,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP - STEP + ШАГ - + All Files Все файлы @@ -3877,20 +3878,20 @@ during file reading (slower but higher details). Вершина - - - - + + + + Create %1 Создать %1 - + No active document Нет активного документа - + &Create &Создать @@ -3998,7 +3999,7 @@ during file reading (slower but higher details). Shape - Фигура(ы) + Фигура @@ -4144,7 +4145,7 @@ during file reading (slower but higher details). <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Tessellation</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Defines the maximum deviation of the tessellated mesh to the surface. The smaller the value is the slower the render speed which results in increased detail/resolution.</span></p></body></html> - <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Распределение</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Определяет максимальное отклонение от поверхности сетки сетки. Чем меньше значение — тем медленнее скорость рендеринга, что приводит к увеличению деталей / разрешения.</span></p></body></html> + <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; размер шрифта: 7,8 pt; вес шрифта: 400; стиль шрифта: нормальный; оформление текста: нет; "><p style=" верхняя граница: 0 пикселей; нижняя граница: 0 пикселей; левая граница: 0 пикселей; правая граница: 0 пикселей; -qt-блок-отступ: 0; text-indent:0px;"><span style=" font-weight:600;">Tessselation</span></p><p style="-qt-paragraph-type:empty; margin-top: 0px; нижний край: 0px; левый край: 0px; правый край: 0px; -qt-block-indent: 0; текстовый отступ: 0px; вес шрифта: 600; стиль "></p><p" =" отступ сверху: 0px; отступ снизу: 0px; слева от поля: 0px; отступ справа: 0px; -qt-block-indent: 0; отступ текста: 0px; вес шрифта: 600;">< span style=" font-weight:400;">Определяет максимальное отклонение мозаичной сетки от поверхности. Чем меньше значение, тем медленнее скорость рендеринга, что приводит к увеличению детализации/разрешения.</span></p></body></html> @@ -4157,12 +4158,12 @@ during file reading (slower but higher details). Максимальное угловое смещение - + Deviation Отклонение - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4210,7 +4211,7 @@ during file reading (slower but higher details). Measure - Измерить + Измерения @@ -4255,7 +4256,7 @@ during file reading (slower but higher details). Font name - Шрифт + Название шрифта @@ -4455,7 +4456,7 @@ the sketch plane's normal vector will be used x-component of direction vector - абсцисса вектора направления + x-компонента вектора направления @@ -4465,7 +4466,7 @@ the sketch plane's normal vector will be used y-component of direction vector - ордината вектора направления + y-компонента вектора направления @@ -4475,7 +4476,7 @@ the sketch plane's normal vector will be used z-component of direction vector - аппликата вектора направления + z-компонента вектора направления @@ -4486,39 +4487,39 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Доступные профили - + Selected profiles Выбранные профили - + Too few elements Слишком мало элементов - + At least two vertices, edges, wires or faces are required. Необходимы две вершины, линии или грани. - + Input error Ошибка ввода - + Vertex/Edge/Wire/Face Точка/Ребро/Ломаная/грань - + Loft - Профиль + Чердак (под крышей) @@ -4574,12 +4575,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Сначала выберите фигуру для зеркального отображения. - + No such document '%1'. Нет такого документа '%1'. @@ -4587,7 +4588,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Ошибка ввода @@ -4607,7 +4608,7 @@ the sketch plane's normal vector will be used Error - Ошибки + Ошибка @@ -4634,7 +4635,7 @@ the sketch plane's normal vector will be used Flip - Разворот + Переворот @@ -4743,80 +4744,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Не поддерживается - + Box selection for shells is not supported Выделение поля для оболочек не поддерживается - - - - - - - + + + + + + + Wrong selection Неправильный выбор - - + + Select two vertices Выберите две вершины - - + + Select one or more edges Выберите одно или несколько ребер - + Select three or more vertices Выберите три или более вершины - + Select two or more faces Выберите две или более грани - + Select only one part object Выбрать только один объект детали - + Select two vertices to create an edge Выберите две вершины для создания ребра - + Select adjacent edges Выберите прилегающие рёбра - + Select a list of vertices Выберите список вершин - + Select a closed set of edges Выберите ребра, образующие замкнутый контур - + Select adjacent faces Выберите смежные грани - + All shape types can be selected Можно выбрать все типы фигур @@ -4842,90 +4843,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Доступные профили - + Selected profiles Выбранные профили - + Too few elements Слишком мало элементов - + At least one edge or wire is required. Требуется по крайней мере одна кривая линия или ломаная. - + Invalid selection - Неверный выбор + Неправильное выделение - + Select one or more edges from a single object. Выберите один или несколько ребер одного объекта. - + Wrong selection - Неправильный выбор + Неправильное выделение - + '%1' cannot be used as profile and path. '%1' не может использоваться в качестве профиля и пути. - + Input error Ошибка ввода - + Done Готово - + Select one or more connected edges in the 3d view and press 'Done' Выберите один или несколько соединенных ребер в трёхмерном виде и нажмите «OK» - - + + Sweep path Траектория построения - - + + The selected sweep path is invalid. Недопустимый путь траектории равёртки с заметанием. - + Vertex/Wire Вершина/проволока - + Sweep Профиль по траектории PartGui::TaskAttacher - - - Form - Форма - Selection accepted @@ -4958,7 +4954,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Смещение присоединения (в локальных координатах): @@ -5039,77 +5035,77 @@ of object being attached. Поменять стороны - + OCC error: %1 Ошибка openCASCADE: %1 - + unknown error неизвестная ошибка - + Attachment mode failed: %1 Ошибка режима присоединения: %1 - + Not attached Не присоединен - + Attached with mode %1 Присоединен в режиме %1 - + Attachment Offset (inactive - not attached): Смещение присоединения (неактивно - не присоединено): - + Face Грань - + Edge Ребро - + Vertex Вершина - + Selecting... Выбор... - + Reference%1 Ориентир%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Неизменяемое, потому что вращательная часть положения присоединения ограничена уравнениями. - + Reference combinations: Комбинации ориентиров: - + %1 (add %2) %1 (и %2) - + %1 (add more references) %1 (и более ориентиров) @@ -5365,7 +5361,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Величина: ошибка ввода @@ -5373,7 +5369,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Больше не показывать этот диалог @@ -5422,7 +5418,7 @@ by dragging a selection rectangle in the 3D view Loft - Профиль + Чердак (под крышей) @@ -5597,7 +5593,7 @@ by dragging a selection rectangle in the 3D view Френе - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Выберите один или более профилей, а также выберите грань или последовательность граней в трёхмерном виде для пути заметания. @@ -5634,24 +5630,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Толщина - + Select faces of the source object and press 'Done' Выберите поверхность исходного объекта и нажмите "Продолжить" - + Done Готово - + Input error Ошибка ввода @@ -5704,27 +5700,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Редактировать %1 - + Part and Part Design workbench Верстак Part и Part Design + + - - Part/Part Design Part/Part Design - - + + Import-Export Импорт/экспорт @@ -5796,27 +5792,28 @@ Do you want to continue? Не выбрано ни одного ориентира - + Face Грань - + Edge Ребро - + Vertex Вершина Compound - Соединить + Соединить +Группировка @@ -5826,7 +5823,7 @@ Do you want to continue? Solid - Твердое тело + Твердотельный объект @@ -6089,44 +6086,44 @@ Do you want to continue? Недопустимый - - + + Selections Выделения - - + + Control Управление - + Selection Выделение - + Reset selection Сбросить выделение - + Toggle direct dimensions Переключить прямые размеры - + Toggle orthogonal dimensions Переключить ортогональные размеры - + Clear all dimensions Очистить все размеры - + Set colors... Установите цвета ... @@ -6136,27 +6133,27 @@ Do you want to continue? Редактировать плоскость симметрии - + Edit fillet edges Изменение скруглений ребер - + Edit chamfer edges Редактировать фаску грани - + Edit offset Изменить смещение - + Edit thickness Изменить толщину - + Show control points Показать контрольные точки @@ -6231,7 +6228,7 @@ Do you want to continue? Compound - Соединить + Объединение @@ -6476,7 +6473,7 @@ It will create a 'Compound Filter' for each shape. Attachment - Присоединение + Вложение @@ -6578,7 +6575,7 @@ It will create a 'Compound Filter' for each shape. Vertices - Вершины | Узлы + Вершины @@ -6588,7 +6585,7 @@ It will create a 'Compound Filter' for each shape. Wires - Направляющие + Каркас @@ -6603,7 +6600,7 @@ It will create a 'Compound Filter' for each shape. Solids - Массивы + Твердотельные объекты diff --git a/src/Mod/Part/Gui/Resources/translations/Part_sl.ts b/src/Mod/Part/Gui/Resources/translations/Part_sl.ts index 2418285c0a..cd3ca71bf5 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_sl.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_sl.ts @@ -1368,7 +1368,7 @@ na svoje X, Y in Z komponente. Cube - Kvader + Kocka @@ -1512,7 +1512,7 @@ na svoje X, Y in Z komponente. Offset: - Offset: + Odmik: @@ -2317,53 +2317,53 @@ pogleda kamere. Odvzem značilnosti - + Convert mesh Pretvori ploskovje - + Edit attachment Uredi pripetek - + Change face colors Spremeni barve ploskev - + Loft Navleci - + Edge Rob - + Wire Črtovje - - + + Face Ploskev - + Shell Lupina - + Solid Telo - + Sweep Vzdolži @@ -2604,42 +2604,42 @@ Opomba: Postavitev je izražena glede na lasten prostor predmeta, ki se pripenja Zamenjan izbor - + Select a shape on the left side, first Najprej izberite obliko na levi strani - + Select a shape on the right side, first Najprej izberite obliko na desni strani - + Cannot perform a boolean operation with the same shape Logične operacije ni mogoče izvesti z isto obliko - + No active document available Na voljo ni dejavnega dokumenta - + One of the selected objects doesn't exist anymore Eden od izbranih predmetov ne obstaja več - + Performing union on non-solids is not possible Seštevek netelesnih predmetov ni mogoč - + Performing intersection on non-solids is not possible Presek na netelesnih predmetih ni mogoč - + Performing difference on non-solids is not possible Razlika netelesnih predmetov ni mogoča @@ -2647,7 +2647,7 @@ Opomba: Postavitev je izražena glede na lasten prostor predmeta, ki se pripenja PartGui::DlgChamferEdges - + Chamfer Edges Prisekaj robove @@ -3000,7 +3000,7 @@ If both lengths are zero, magnitude of direction is used. Shape - Oblika(e) + Oblika @@ -3014,14 +3014,14 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Določilka zaokrožitve Selection - Izbira + Izbor @@ -3064,106 +3064,106 @@ If both lengths are zero, magnitude of direction is used. Polmer: - + Chamfer Parameter Določilka posnetja - + Chamfer type Vrsta posnetja - + Length: Dolžina: - + Edges to chamfer Robovi za prisekovanje - + Start length Začetna dolžina - + Equal distance - Enaka razdalja - - - - Two distances - Dve razdalji + Enaki dolžini + Two distances + Dve dolžini + + + Size Velikost - + Size2 Dolžina2 - + Fillet type Vrsta zaokrožitve - + Edges to fillet Robovi za zaokrožitev - - + + Start radius Začetni polmer - + End radius Končni polmer - - + + Edge%1 Rob %1 - + Length Dolžina - + Radius Polmer - + No shape selected Nobena oblika ni izbrana - + No valid shape is selected. Please select a valid shape in the drop-down box first. Nobena veljavna oblika ni izbrana. Najprej izberite veljavno obliko iz spustnega seznama. - + No edge selected Noben rob ni izbran - + No edge entity is checked to fillet. Please check one or more edge entities first. Nobena enota roba ni označena za zaokrožitev. @@ -3271,7 +3271,7 @@ Najprej označite eno ali več robnih enot. PartGui::DlgImportExportStep - + STEP STEP @@ -3504,12 +3504,12 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Vse datoteke @@ -3530,12 +3530,12 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Vse datoteke @@ -3878,23 +3878,23 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). Vertex - Vertex + Oglišče - - - - + + + + Create %1 Ustvari %1 - + No active document Ni dejavnega dokumenta - + &Create &Ustvari @@ -4002,7 +4002,7 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). Shape - Oblika(e) + Oblika @@ -4148,7 +4148,7 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Tessellation</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Defines the maximum deviation of the tessellated mesh to the surface. The smaller the value is the slower the render speed which results in increased detail/resolution.</span></p></body></html> - <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Tlakovanje</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Določa največje dopustno odstopanje tlakovanega ploskovja od površja. Manjša kot je vrednost, počasnejše je upodabljanje, hkrati pa so boljše podrobnosti/ločljivost..</span></p></body></html> + <html><head><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-size:7.8pt; font-weight:400; font-style:normal; text-decoration:none;"><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Ploščičenje</span></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;"><span style=" font-weight:400;">Določa največje dopustno odstopanje oploščenega ploskovja od površja. Manjša kot je vrednost, počasnejše je upodabljanje, hkrati pa so boljše podrobnosti/ločljivost..</span></p></body></html> @@ -4161,12 +4161,12 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). Največji odklon kota - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4176,7 +4176,7 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). General - Splošne nastavitve + Splošno @@ -4244,7 +4244,7 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). Bold - &Krepko + Krepko @@ -4259,7 +4259,7 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). Font name - Ime pisave + Naziv pisave @@ -4322,7 +4322,7 @@ združevalo v sestave (počasneje vendar z več podrobnostmi). Line width - Širina črte + Debelina črte @@ -4437,7 +4437,7 @@ protisvetlobe ali pa črna. 3D view - 3R + 3D pogled @@ -4484,43 +4484,43 @@ sicer bo uporabljena normala očrtne ravnine Angle - Kot + Kót PartGui::LoftWidget - + Available profiles Razpoložljivi prerezi - + Selected profiles Izbrani prerezi - + Too few elements Premalo elementov - + At least two vertices, edges, wires or faces are required. Zahtevani sta vsaj dve oglišči, robova, črtovji ali ploskvi. - + Input error Napaka vnosa - + Vertex/Edge/Wire/Face Oglišče/Rob/Črtovje/Ploskev - + Loft Navleci @@ -4578,12 +4578,12 @@ sicer bo uporabljena normala očrtne ravnine z - + Select a shape for mirroring, first. Najprej izberite obliko za zrcaljenje. - + No such document '%1'. Ni dokumenta '%1'. @@ -4591,7 +4591,7 @@ sicer bo uporabljena normala očrtne ravnine PartGui::OffsetWidget - + Input error Napaka vnosa @@ -4601,7 +4601,7 @@ sicer bo uporabljena normala očrtne ravnine Name - Ime + Naziv @@ -4638,7 +4638,7 @@ sicer bo uporabljena normala očrtne ravnine Flip - Obrni + Preobrni @@ -4747,80 +4747,80 @@ bodo prikazane le prerezne ploskve PartGui::ShapeBuilderWidget - + Unsupported Nepodprto - + Box selection for shells is not supported Izbirni kvader ni podprt za lupine - - - - - - - + + + + + + + Wrong selection Napačna izbira - - + + Select two vertices Izberite dve oglišči - - + + Select one or more edges Izberite enega ali več robov - + Select three or more vertices Izberite tri ali več oglišč - + Select two or more faces Izberite dve ali več ploskev - + Select only one part object Izberite samo en del - + Select two vertices to create an edge Izberite dve oglišči za ustvarjanje roba - + Select adjacent edges Izberite sosednje robove - + Select a list of vertices Izberite seznam oglišč - + Select a closed set of edges Izberite zaprt niz robov - + Select adjacent faces Izberite sosednje ploskve - + All shape types can be selected Izberete lahko vse vrste oblik @@ -4846,90 +4846,85 @@ bodo prikazane le prerezne ploskve PartGui::SweepWidget - + Available profiles Razpoložljivi prerezi - + Selected profiles Izbrani prerezi - + Too few elements Premalo elementov - + At least one edge or wire is required. Potreben je vsaj en rob ali črtovje. - + Invalid selection - Neveljavna izbira + Neveljaven izbor - + Select one or more edges from a single object. Izberite enega ali več robov enega samega predmeta. - + Wrong selection - Napačna izbira + Napačen izbor - + '%1' cannot be used as profile and path. '%1' ne more biti uporabljen kot prerez in pot. - + Input error Napaka vnosa - + Done Končano - + Select one or more connected edges in the 3d view and press 'Done' Izberi enega ali več povezanih robov v pogledu 3D in pritisnite 'Končano' - - + + Sweep path Pot vzdolženja - - + + The selected sweep path is invalid. Izbrana pot vzdolženja je neveljavna. - + Vertex/Wire Vertex/Wire - + Sweep Vzdolži PartGui::TaskAttacher - - - Form - Oblika - Selection accepted @@ -4962,7 +4957,7 @@ bodo prikazane le prerezne ploskve - + Attachment Offset (in local coordinates): Odmik pripetka (v lokalnih koordinatah): @@ -5043,77 +5038,77 @@ predmeta, ki se pripenja. Obrni stranice - + OCC error: %1 OCC napaka: %1 - + unknown error neznana napaka - + Attachment mode failed: %1 Napaka v načinu pripetka: %1 - + Not attached Ni pripeto - + Attached with mode %1 Pripeto v načinu %1 - + Attachment Offset (inactive - not attached): Odmik pripetka (nedejvno - ni pripeto): - + Face Ploskev - + Edge Rob - + Vertex - Vertex + Oglišče - + Selecting... Izbiranje ... - + Reference%1 Sklic%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Neuredljivo, ker je sukanje Odmika pripetka omejeno z izrazi. - + Reference combinations: Kombinacije sklicev: - + %1 (add %2) %1 (dodaj%2) - + %1 (add more references) %1 (dodaj več sklicev) @@ -5371,7 +5366,7 @@ Preverjanja posamezne logične operacije: PartGui::TaskDlgAttacher - + Datum dialog: Input error Pogovorno okno sklicnosti: vhodna napaka @@ -5379,7 +5374,7 @@ Preverjanja posamezne logične operacije: PartGui::TaskExportStep - + Don't show this dialog again Tega pogovornega okna ne prikaži več @@ -5604,7 +5599,7 @@ pravokotnika v 3D pogledu izberete več ploskev Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Izberite v 3D pogledu enega ali več prerezov in rob ali črtovje za pot vzdolženja. @@ -5641,24 +5636,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Debelina - + Select faces of the source object and press 'Done' Izberite ploskve izvornega objekta in pritisnite 'Končano' - + Done Končano - + Input error Napaka vnosa @@ -5711,27 +5706,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Uredi %1 - + Part and Part Design workbench Delovno okolje Del (Part) in Snovalnik delov (Part design) + + - - Part/Part Design Del (Part)/Snovalnik delov (Part design) - - + + Import-Export Uvoz - Izvoz @@ -5743,7 +5738,7 @@ in the 3D view for the sweep path. Wrong selection - Napačna izbira + Napačen izbor @@ -5804,22 +5799,22 @@ Ali želite nadaljevati? Noben sklic ni izbran - + Face Ploskev - + Edge Rob - + Vertex - Vertex + Oglišče @@ -6097,44 +6092,44 @@ Ali želite nadaljevati? Neveljavno - - + + Selections Izbori - - + + Control Control - + Selection Izbor - + Reset selection Ponastavi izbor - + Toggle direct dimensions Stikalo neposrednih kot - + Toggle orthogonal dimensions Stikalo pravokotnih kot - + Clear all dimensions Izbriši vse kote - + Set colors... Nastavi barve … @@ -6144,27 +6139,27 @@ Ali želite nadaljevati? Uredi zrcalno ravnino - + Edit fillet edges Uredi zaokrožene robove - + Edit chamfer edges Uredi prisekane robove - + Edit offset Uredi odmik - + Edit thickness Uredi debelino - + Show control points Prikaži krmilne točke @@ -6288,7 +6283,7 @@ Ali želite nadaljevati? Continue - Nadaljuj + Naprej @@ -6378,7 +6373,7 @@ Ali želite nadaljevati? Continue - Nadaljuj + Naprej @@ -6555,7 +6550,7 @@ Za vsako obliko bo ustvarjeno "Sito sestava". Attachment Offset (in local coordinates): - Odmik pripetka (v lokalnih koordinatah): + Odmik pripetka (v krajevnih sorednicah): @@ -6591,7 +6586,7 @@ Za vsako obliko bo ustvarjeno "Sito sestava". Edges - Edges + Robovi diff --git a/src/Mod/Part/Gui/Resources/translations/Part_sr-CS.ts b/src/Mod/Part/Gui/Resources/translations/Part_sr-CS.ts index 812986c4e9..b9e63a4779 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_sr-CS.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_sr-CS.ts @@ -2315,53 +2315,53 @@ projekcije. Odstrani tipske oblike - + Convert mesh Pretvori mrežu - + Edit attachment Uredi pridruživanje - + Change face colors Promeni boju stranice - + Loft Kroz preseke - + Edge Ivica - + Wire Žica - - + + Face Stranica - + Shell Ljuska - + Solid Puno - + Sweep Po putanji @@ -2602,42 +2602,42 @@ Napomena: Položaj je izražen u lokalnom koordinatnom sistemu objekta koji se p Zameni izbor - + Select a shape on the left side, first Izaberi prvo oblik sa leve strane - + Select a shape on the right side, first Izaberi prvo oblik sa desne strane - + Cannot perform a boolean operation with the same shape Nije moguće izvršiti Bulovu operaciju sa istim oblikom - + No active document available Nema dostupnog aktivnog dokumenta - + One of the selected objects doesn't exist anymore Jedan od izabranih objekata više ne postoji - + Performing union on non-solids is not possible Nije moguće izvođenje unije na objektima koja nisu puna tela - + Performing intersection on non-solids is not possible Nije moguće izvođenje preseka na objektima koja nisu puna tela - + Performing difference on non-solids is not possible Nije moguće izvođenje razlike na objektima koja nisu puna tela @@ -2645,7 +2645,7 @@ Napomena: Položaj je izražen u lokalnom koordinatnom sistemu objekta koji se p PartGui::DlgChamferEdges - + Chamfer Edges Obori ivice @@ -3011,7 +3011,7 @@ Ako su obe dužine nula, koristi se jedinična vrednost. - + Fillet Parameter Parametar zaobljenja @@ -3061,105 +3061,105 @@ Ako su obe dužine nula, koristi se jedinična vrednost. Poluprečnik: - + Chamfer Parameter Parametri obaranja ivica - + Chamfer type Vrsta obaranja ivice - + Length: Length: - + Edges to chamfer Ivice za obaranje - + Start length Početna dužina - + Equal distance Jednako rastojanje - + Two distances Dva rastojanja - + Size Veličina - + Size2 Veličina2 - + Fillet type Vrsta zaobljenja - + Edges to fillet Ivice za zaobljenje - - + + Start radius Početni poluprečnik - + End radius Krajnji poluprečnik - - + + Edge%1 Ivica%1 - + Length Dužina - + Radius Poluprečnik - + No shape selected Nema odabranih oblika - + No valid shape is selected. Please select a valid shape in the drop-down box first. Nijedan važeći oblik nije izabran. Prvo izaberi važeći oblik u okviru padajuće liste. - + No edge selected Nema odabranih ivica - + No edge entity is checked to fillet. Please check one or more edge entities first. Nema ivica obeleženih za zaobljenje. Obeležite jednu, ili više ivica. @@ -3266,7 +3266,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3499,12 +3499,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Sve datoteke @@ -3525,12 +3525,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Sve datoteke @@ -3876,20 +3876,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 Napravi %1 - + No active document Nema aktivnog dokumenta - + &Create &Napravi @@ -4156,12 +4156,12 @@ during file reading (slower but higher details). Maksimalni ugaoni otklon - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4485,37 +4485,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Dostupni preseci - + Selected profiles Izabrani preseci - + Too few elements Premalo elemenata - + At least two vertices, edges, wires or faces are required. Potrebna su najmanje dva temena, ivice, žice ili stranice. - + Input error Input error - + Vertex/Edge/Wire/Face Teme/Ivica/Žica/Stranica - + Loft Kroz preseke @@ -4573,12 +4573,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Prvo izaberi oblik za simetrično preslikavanje. - + No such document '%1'. Nema takvog dokumenta '%1'. @@ -4586,7 +4586,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Input error @@ -4742,80 +4742,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Nije podržan - + Box selection for shells is not supported Pravougaoni izbor ljuski nije podržan - - - - - - - + + + + + + + Wrong selection Pogrešan izbor - - + + Select two vertices Izaberi dva temena - - + + Select one or more edges Izaberi jednu ili više ivica - + Select three or more vertices Izaberi tri ili više temena - + Select two or more faces Izaberi dve ili više stranice - + Select only one part object Izaberi samo jedan Deo objekat - + Select two vertices to create an edge Izaberi dva temena da napravite ivicu - + Select adjacent edges Izaberi povezane ivice - + Select a list of vertices Izaberi listu temena - + Select a closed set of edges Izaberi zatvoren skup ivica - + Select adjacent faces Izaberi povezane stranice - + All shape types can be selected Sve vrste oblika se mogu izabrati @@ -4841,90 +4841,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Dostupni preseci - + Selected profiles Izabrani preseci - + Too few elements Premalo elemenata - + At least one edge or wire is required. Potrebna je najmanje jedna ivica ili žica. - + Invalid selection Neispravan izbor - + Select one or more edges from a single object. Izaberi jednu ili više ivica jednog objekta. - + Wrong selection Pogrešan izbor - + '%1' cannot be used as profile and path. '%1' ne može se koristiti kao profil i putanja. - + Input error Input error - + Done Gotovo - + Select one or more connected edges in the 3d view and press 'Done' Izaberi jednu ili više povezanih ivica u 3D pogledu i pritisni 'Gotovo' - - + + Sweep path Putanja vodilja preseka - - + + The selected sweep path is invalid. Izabrana putanja vodilja je nevažeća. - + Vertex/Wire Vertex/Wire - + Sweep Po putanji PartGui::TaskAttacher - - - Form - Obrazac - Selection accepted @@ -4957,7 +4952,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Dodatno pomeri (u lokalnim koordinatama): @@ -5038,77 +5033,77 @@ objekta na koji se pridružuje. Obrni strane - + OCC error: %1 OCC greška: %1 - + unknown error nepoznata greška - + Attachment mode failed: %1 Režim pridruživanja nije uspeo: %1 - + Not attached Nije pridruženo - + Attached with mode %1 Attached with mode %1 - + Attachment Offset (inactive - not attached): Dodatno pomeri (neaktivno - ništa nije pridruženo): - + Face Stranica - + Edge Ivica - + Vertex Vertex - + Selecting... Izbor... - + Reference%1 Referenca%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Nije moguće uređivati jer je rotacija odmaka pridruživanja vezana izrazima. - + Reference combinations: Kombinacije referenci: - + %1 (add %2) %1 (dodaj %2) - + %1 (add more references) %1 (dodaj više referenci) @@ -5365,7 +5360,7 @@ Provera pojedinačnih bulovih operacija: PartGui::TaskDlgAttacher - + Datum dialog: Input error Datum dialog: Input error @@ -5373,7 +5368,7 @@ Provera pojedinačnih bulovih operacija: PartGui::TaskExportStep - + Don't show this dialog again Ne prikazuj više ovaj prozor @@ -5598,7 +5593,7 @@ povlačenjem pravougaonog okvira u 3D pogledu Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Izaberi jedan ili više profila i izaberi ivicu ili žicu u 3D pogledu koja će biti putanja vodilja profila. @@ -5635,24 +5630,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Debljina - + Select faces of the source object and press 'Done' Izaberi stranice izvornog objekta i pritisni 'Gotovo' - + Done Gotovo - + Input error Input error @@ -5705,27 +5700,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Uredi %1 - + Part and Part Design workbench Part i Part Design radno okruženje + + - - Part/Part Design Part/Part Design - - + + Import-Export Uvoz/Izvoz @@ -5798,20 +5793,20 @@ Da li želiš da nastaviš? Nije izabrana referenca - + Face Stranica - + Edge Ivica - + Vertex Vertex @@ -6091,44 +6086,44 @@ Da li želiš da nastaviš? Nevažeće - - + + Selections Izbor - - + + Control Control - + Selection Izbor - + Reset selection Resetuj izbor - + Toggle direct dimensions Sakrij/prikaži direktne kote - + Toggle orthogonal dimensions Sakrij ili prikaži ortogonalne kote - + Clear all dimensions Obriši sve kote - + Set colors... Ofarbaj stranice @@ -6138,27 +6133,27 @@ Da li želiš da nastaviš? Uredi ravan simetrije - + Edit fillet edges Uredi zaobljene ivice - + Edit chamfer edges Uredi oborene ivice - + Edit offset Uredi odmak - + Edit thickness Uredi debljinu - + Show control points Prikaži kontrolne tačke diff --git a/src/Mod/Part/Gui/Resources/translations/Part_sr.ts b/src/Mod/Part/Gui/Resources/translations/Part_sr.ts index dfcb0d0a99..bf05c1c30a 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_sr.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_sr.ts @@ -2315,53 +2315,53 @@ of projection. Одстрани типске облике - + Convert mesh Претвори мрежу - + Edit attachment Уреди придруживање - + Change face colors Промени боју странице - + Loft Кроз пресеке - + Edge Ивица - + Wire Жица - - + + Face Страница - + Shell Љуска - + Solid Пуно - + Sweep По путањи @@ -2602,42 +2602,42 @@ Note: The placement is expressed in local space of object being attached.Замени избор - + Select a shape on the left side, first Изабери прво облик са леве стране - + Select a shape on the right side, first Изабери прво облик са десне стране - + Cannot perform a boolean operation with the same shape Није могуће извршити Булову операцију са истим обликом - + No active document available Нема доступног активног документа - + One of the selected objects doesn't exist anymore Један од изабраних објеката више не постоји - + Performing union on non-solids is not possible Није могуће извођење уније на објектима која нису пуна тела - + Performing intersection on non-solids is not possible Није могуће извођење пресека на објектима која нису пуна тела - + Performing difference on non-solids is not possible Није могуће извођење разлике на објектима која нису пуна тела @@ -2645,7 +2645,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Обори ивице @@ -3011,7 +3011,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Параметар заобљења @@ -3061,105 +3061,105 @@ If both lengths are zero, magnitude of direction is used. Полупречник: - + Chamfer Parameter Параметри обарања ивица - + Chamfer type Врста обарања ивице - + Length: Дужина: - + Edges to chamfer Ивице за обарање - + Start length Почетна дужина - + Equal distance Једнако растојање - + Two distances Два растојања - + Size Величина - + Size2 Величина2 - + Fillet type Врста заобљења - + Edges to fillet Ивице за заобљење - - + + Start radius Почетни полупречник - + End radius Крајњи полупречник - - + + Edge%1 Ивица%1 - + Length Дужина - + Radius Полупречник - + No shape selected Нема одабраних облика - + No valid shape is selected. Please select a valid shape in the drop-down box first. Ниједан важећи облик није изабран. Прво изабери важећи облик у оквиру падајуће листе. - + No edge selected Нема одабраних ивица - + No edge entity is checked to fillet. Please check one or more edge entities first. Нема ивица обележених за заобљење. Обележи једну, или више ивица. @@ -3266,7 +3266,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3499,12 +3499,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Све датотеке @@ -3525,12 +3525,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Све датотеке @@ -3876,20 +3876,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 Направи %1 - + No active document Нема активног документа - + &Create &Направи @@ -4156,12 +4156,12 @@ during file reading (slower but higher details). Максимални угаони отклон - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4485,37 +4485,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Доступни пресеци - + Selected profiles Изабрани пресеци - + Too few elements Премало елемената - + At least two vertices, edges, wires or faces are required. Потребна су најмање два темена, ивице, жице или странице. - + Input error Грешка приликом уноса - + Vertex/Edge/Wire/Face Теме/Ивица/Жица/Страница - + Loft Кроз пресеке @@ -4573,12 +4573,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Прво изабери облик за симетрично пресликавање. - + No such document '%1'. Нема таквог документа "%1". @@ -4586,7 +4586,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Грешка приликом уноса @@ -4741,80 +4741,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Није подржан - + Box selection for shells is not supported Правоугаони избор љуски није подржан - - - - - - - + + + + + + + Wrong selection Погрешан избор - - + + Select two vertices Изабери два темена - - + + Select one or more edges Изабери једну или више ивица - + Select three or more vertices Изабери три или више темена - + Select two or more faces Изабери две или више странице - + Select only one part object Изабери само један Део објекат - + Select two vertices to create an edge Изабери два темена да направите ивицу - + Select adjacent edges Изабери повезане ивице - + Select a list of vertices Изабери листу темена - + Select a closed set of edges Изабери затворен скуп ивица - + Select adjacent faces Изабери повезане странице - + All shape types can be selected Све врсте облика се могу изабрати @@ -4840,90 +4840,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Доступни пресеци - + Selected profiles Изабрани пресеци - + Too few elements Премало елемената - + At least one edge or wire is required. Потребна је најмање једна ивица или жица. - + Invalid selection Неисправан избор - + Select one or more edges from a single object. Изабери једну или више ивица једног објекта. - + Wrong selection Погрешан избор - + '%1' cannot be used as profile and path. '%1' не може cе кориcтити као профил и путања. - + Input error Грешка приликом уноса - + Done Готово - + Select one or more connected edges in the 3d view and press 'Done' Изабери једну или више повезаних ивица у 3Д погледу и притисни 'Готово' - - + + Sweep path Путања водиља пресека - - + + The selected sweep path is invalid. Изабрана путања водиља је неважећа. - + Vertex/Wire Vertex/Wire - + Sweep По путањи PartGui::TaskAttacher - - - Form - Образац - Selection accepted @@ -4956,7 +4951,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Додатно помери (у локалним координатама): @@ -5037,77 +5032,77 @@ of object being attached. Обрни стране - + OCC error: %1 OCC грешка: %1 - + unknown error непозната грешка - + Attachment mode failed: %1 Режим придруживања није успео: %1 - + Not attached Није придружено - + Attached with mode %1 Attached with mode %1 - + Attachment Offset (inactive - not attached): Додатно помери (неактивно - ништа није придружено): - + Face Страница - + Edge Ивица - + Vertex Vertex - + Selecting... Избор... - + Reference%1 Референца%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Није могуће уређивати јер је ротација одмака придруживања везана изразима. - + Reference combinations: Комбинације референци: - + %1 (add %2) %1 (додај %2) - + %1 (add more references) %1 (додај више референци) @@ -5364,7 +5359,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Datum dialog: Input error @@ -5372,7 +5367,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Не приказуј више овај прозор @@ -5597,7 +5592,7 @@ by dragging a selection rectangle in the 3D view Френет - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Изабери један или више профила и изабери ивицу или жицу у 3Д погледу која ће бити путања водиља профила. @@ -5634,24 +5629,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Дебљина - + Select faces of the source object and press 'Done' Изабери странице изворног објекта и притисни 'Готово' - + Done Готово - + Input error Грешка приликом уноса @@ -5704,27 +5699,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Уреди %1 - + Part and Part Design workbench Part и Part Design радно окружење + + - - Part/Part Design Part/Part Design - - + + Import-Export Увоз/извоз @@ -5797,20 +5792,20 @@ Do you want to continue? Није изабрана референца - + Face Страница - + Edge Ивица - + Vertex Vertex @@ -6090,44 +6085,44 @@ Do you want to continue? Неважеће - - + + Selections Избор - - + + Control Control - + Selection Избор - + Reset selection Ресетуј избор - + Toggle direct dimensions Сакриј/прикажи директне коте - + Toggle orthogonal dimensions Сакриј или прикажи ортогоналне коте - + Clear all dimensions Обриши све коте - + Set colors... Офарбај странице @@ -6137,27 +6132,27 @@ Do you want to continue? Уреди раван симетрије - + Edit fillet edges Уреди заобљене ивице - + Edit chamfer edges Уреди оборене ивице - + Edit offset Уреди одмак - + Edit thickness Уреди дебљину - + Show control points Прикажи контролне тачке diff --git a/src/Mod/Part/Gui/Resources/translations/Part_sv-SE.ts b/src/Mod/Part/Gui/Resources/translations/Part_sv-SE.ts index 24d52ed5b4..b60282e0be 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_sv-SE.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_sv-SE.ts @@ -2317,53 +2317,53 @@ of projection. Avfunktionering - + Convert mesh Convert mesh - + Edit attachment Edit attachment - + Change face colors Change face colors - + Loft Loft - + Edge Kant - + Wire Tråd - - + + Face Yta - + Shell Skal - + Solid Solid - + Sweep Svep @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.Växla urval - + Select a shape on the left side, first Välj en form på vänster sida först - + Select a shape on the right side, first Välj en form till höger först - + Cannot perform a boolean operation with the same shape Kan inte utföra en boolesk operation med samma form - + No active document available Inget tillgängligt aktivt dokument - + One of the selected objects doesn't exist anymore Ett av de markerade objekten finns inte längre - + Performing union on non-solids is not possible Att utföra förening på icke-solider är inte möjligt - + Performing intersection on non-solids is not possible Att utföra skärning på icke-solider är inte möjligt - + Performing difference on non-solids is not possible Att utföra skillnad på icke-solider är inte möjligt @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Fasa Kanter @@ -3014,7 +3014,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Avrundningsparameter @@ -3064,105 +3064,105 @@ If both lengths are zero, magnitude of direction is used. Radie: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: Längd: - + Edges to chamfer Kanter att fasa - + Start length Startlängd - + Equal distance Equal distance - + Two distances Two distances - + Size Storlek - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Kanter att avrunda - - + + Start radius Start radie - + End radius Slut radie - - + + Edge%1 Kant%1 - + Length Längd - + Radius Radie - + No shape selected Ingen form har valts - + No valid shape is selected. Please select a valid shape in the drop-down box first. Ingen giltig form är markerad. Välj en giltig form i listrutan först. - + No edge selected Ingen kant vald - + No edge entity is checked to fillet. Please check one or more edge entities first. Ingen kant är vald för avrundning. @@ -3270,7 +3270,7 @@ Välj en eller fler kanter först. PartGui::DlgImportExportStep - + STEP STEP @@ -3503,14 +3503,14 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files - Alla Filer + Alla filer @@ -3529,14 +3529,14 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files - Alla Filer + Alla filer @@ -3880,20 +3880,20 @@ during file reading (slower but higher details). Hörn - - - - + + + + Create %1 Skapa %1 - + No active document Inget aktivt dokument - + &Create &Skapa @@ -4160,12 +4160,12 @@ during file reading (slower but higher details). Maximal vinkelavvikelse - + Deviation Avvikelse - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Att ställa in en för liten avvikelse orsakar tesselleringen att ta längre tid och därmed fryser eller saktar ner det grafiska gränssnittet. @@ -4489,37 +4489,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Tillgängliga profiler - + Selected profiles Valda profiler - + Too few elements För få element - + At least two vertices, edges, wires or faces are required. Minst två hörnpunkter, kanter, trådar eller ytor krävs. - + Input error Inmatningsfel - + Vertex/Edge/Wire/Face Hörnpunkt/kant/tråd/yta - + Loft Loft @@ -4577,12 +4577,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Välj en form för spegling först. - + No such document '%1'. Inget sådant dokument '%1'. @@ -4590,7 +4590,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Inmatningsfel @@ -4746,80 +4746,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Fel val - - + + Select two vertices Välj två hörn - - + + Select one or more edges Markera en eller flera kanter - + Select three or more vertices Markera tre eller fler hörnpunkter - + Select two or more faces Markera två eller flera ytor - + Select only one part object Välj bara ett del objekt - + Select two vertices to create an edge Välj två hörn för att skapa en kant - + Select adjacent edges Markera angränsande kanter - + Select a list of vertices Markera en lista av hörnpunkter - + Select a closed set of edges Välj en sluten uppsättning av kanter - + Select adjacent faces Välj intilliggande ytor - + All shape types can be selected Alla formtyper kan väljas @@ -4845,90 +4845,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Tillgängliga profiler - + Selected profiles Valda profiler - + Too few elements För få element - + At least one edge or wire is required. Det krävs minst en kant eller tråd. - + Invalid selection Ogiltig markering - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Fel val - + '%1' cannot be used as profile and path. '%1' kan inte användas som profil och bana. - + Input error Inmatningsfel - + Done Färdig - + Select one or more connected edges in the 3d view and press 'Done' Markera en eller fler anslutna kanter i 3D-vyn och tryck på 'Klar' - - + + Sweep path Svepningsbana - - + + The selected sweep path is invalid. Den valda svepbanan är felaktig. - + Vertex/Wire Hörn/Tråd - + Sweep Svep PartGui::TaskAttacher - - - Form - Form - Selection accepted @@ -4961,7 +4956,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Attachment Offset (in local coordinates): @@ -5042,77 +5037,77 @@ of object being attached. Vänd sidor - + OCC error: %1 OCC-fel: %1 - + unknown error okänt fel - + Attachment mode failed: %1 Kopplingsläge misslyckades: %1 - + Not attached Inte kopplad - + Attached with mode %1 Kopplad med läge %1 - + Attachment Offset (inactive - not attached): Kopplingsförskjutning (inaktiv - inte kopplad): - + Face Yta - + Edge Kant - + Vertex Hörn - + Selecting... Markerar... - + Reference%1 Referens%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Referenskombinationer: - + %1 (add %2) %1 (lägg till %2) - + %1 (add more references) %1 (lägg till fler referenser) @@ -5368,7 +5363,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Datumdialog: Inmatningsfel @@ -5376,7 +5371,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5601,7 +5596,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Markera en eller flera profiler och välj en kant eller tråd i 3D-vyn för svep banan. @@ -5638,24 +5633,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Tjocklek - + Select faces of the source object and press 'Done' Markera ytorna i källobjektet och tryck på "Klar" - + Done Färdig - + Input error Inmatningsfel @@ -5708,27 +5703,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Redigera %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Importera/Exportera @@ -5801,20 +5796,20 @@ Vill du fortsätta? Ingen referens markerad - + Face Yta - + Edge Kant - + Vertex Hörn @@ -6094,44 +6089,44 @@ Vill du fortsätta? Ogiltig - - + + Selections Markeringar - - + + Control Kontroll - + Selection Markering - + Reset selection Reset selection - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... Ställ in färgerna ... @@ -6141,27 +6136,27 @@ Vill du fortsätta? Redigera speglingsplan - + Edit fillet edges Redigera avrundade kanter - + Edit chamfer edges Redigera faskanter - + Edit offset Redigera offset - + Edit thickness Redigera tjocklek - + Show control points Visa kontrollpunkter @@ -6308,7 +6303,7 @@ Vill du fortsätta? Connect objects - Connect objects + Anslut objekt diff --git a/src/Mod/Part/Gui/Resources/translations/Part_tr.ts b/src/Mod/Part/Gui/Resources/translations/Part_tr.ts index 09ec20b3d0..cc8e2c79dd 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_tr.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_tr.ts @@ -2312,53 +2312,53 @@ Kamera görünümü, izdüşüm yönünü belirler. Özelliği / işlevi kaldır - + Convert mesh Metal örgüyü dönüştür - + Edit attachment Ek dosyayı düzenle - + Change face colors Yüz renklerini değiştir - + Loft Çatıla - + Edge Kenar - + Wire Yay - - + + Face Yüz - + Shell Kabuk - + Solid Katı - + Sweep Süpür @@ -2599,42 +2599,42 @@ Not: Yerleşim, eklenen nesnenin yerel alanında ifade edilir. Seçimi değiştir - + Select a shape on the left side, first Sol tarafta bir şekil seçin, önce - + Select a shape on the right side, first Sağ tarafta bir şekil seçin, önce - + Cannot perform a boolean operation with the same shape Aynı şekille bir boolean işlemi gerçekleştirilemiyor - + No active document available Aktif bir doküman yok - + One of the selected objects doesn't exist anymore Seçilen nesnelerden biri artık mevcut değil - + Performing union on non-solids is not possible Katılar üzerinde birleştirme yapmak mümkün değildir - + Performing intersection on non-solids is not possible Katı maddeler üzerinde kesişim gerçekleştirmek mümkün değildir - + Performing difference on non-solids is not possible Katı-olmayan maddeler üzerinde fark yaratmak mümkün değildir @@ -2642,7 +2642,7 @@ Not: Yerleşim, eklenen nesnenin yerel alanında ifade edilir. PartGui::DlgChamferEdges - + Chamfer Edges Pah Kenarları @@ -3001,7 +3001,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Dolgu Parametresi @@ -3051,106 +3051,106 @@ If both lengths are zero, magnitude of direction is used. Yarıçap: - + Chamfer Parameter Pah Değişkeni - + Chamfer type Pah türü - + Length: Uzunluk: - + Edges to chamfer Pah kırma kenarları - + Start length Başlangıç uzunluğu - + Equal distance Eşit mesafe - + Two distances İki adet mesafe - + Size Boyut - + Size2 Boyut2 - + Fillet type Yuvarlama biçimi - + Edges to fillet Dolgu için Kenarlar - - + + Start radius Başlangıç yarıçapı - + End radius Uç yarıçapı - - + + Edge%1 Kenar%1 - + Length Uzunluk - + Radius Yarıçap - + No shape selected Şekil seçilmedi - + No valid shape is selected. Please select a valid shape in the drop-down box first. Geçerli bir şekil seçilmedi. Önce açılır kutuda geçerli bir şekil seçin. - + No edge selected Kenar seçilmedi - + No edge entity is checked to fillet. Please check one or more edge entities first. Kenar varlığı filet için kontrol edilmiyor. @@ -3258,7 +3258,7 @@ Lütfen önce bir veya daha fazla kenarlı varlıkları kontrol edin. PartGui::DlgImportExportStep - + STEP STEP @@ -3490,12 +3490,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Tüm Dosyalar @@ -3516,12 +3516,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Tüm Dosyalar @@ -3867,20 +3867,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 %1 Oluştur - + No active document Etkin belge yok - + &Create &Oluştur @@ -4147,12 +4147,12 @@ during file reading (slower but higher details). Maksimum açısal sapma - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4474,37 +4474,37 @@ yoksa eskiz düzlemine dik vektör kullanılacak PartGui::LoftWidget - + Available profiles Kullanılabilir profiller - + Selected profiles Seçilen profiller - + Too few elements Çok az öğe - + At least two vertices, edges, wires or faces are required. En az iki köşe, kenar, tel veya yüz gereklidir. - + Input error Girdi hatası - + Vertex/Edge/Wire/Face Köşe/Kenar/Tel/Yüzey - + Loft Çatıla @@ -4562,12 +4562,12 @@ yoksa eskiz düzlemine dik vektör kullanılacak z - + Select a shape for mirroring, first. Önce yansıtma için bir şekil seçin. - + No such document '%1'. '%1' adlı belge bulunamadı. @@ -4575,7 +4575,7 @@ yoksa eskiz düzlemine dik vektör kullanılacak PartGui::OffsetWidget - + Input error Girdi hatası @@ -4731,80 +4731,80 @@ yalnızca oluşturulan kesimler görünür PartGui::ShapeBuilderWidget - + Unsupported Desteklenmiyor - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Yanlış seçim - - + + Select two vertices İki köşe noktasını seçin - - + + Select one or more edges Bir veya daha fazla kenar seçin - + Select three or more vertices Üç veya daha fazla köşe seç - + Select two or more faces İki veya daha fazla yüz seçin - + Select only one part object Sadece bir parça nesnesini seçin - + Select two vertices to create an edge Bir kenar oluşturmak için iki köşeyi seçin - + Select adjacent edges Bitişik kenarları seç - + Select a list of vertices Noktaların bir listesini seçin - + Select a closed set of edges Kapalı bir kenar kümesi seçin - + Select adjacent faces Bitişik yüzleri seç - + All shape types can be selected Tüm şekil türleri seçilebilir @@ -4830,90 +4830,85 @@ yalnızca oluşturulan kesimler görünür PartGui::SweepWidget - + Available profiles Kullanılabilir profiller - + Selected profiles Seçilen profiller - + Too few elements Çok az öğe - + At least one edge or wire is required. En az bir kenar veya tel gereklidir. - + Invalid selection Geçersiz seçim - + Select one or more edges from a single object. Tek bir nesneden bir veya daha fazla kenar seçin. - + Wrong selection Yanlış seçim - + '%1' cannot be used as profile and path. '%1', profil ve yol olarak kullanılamaz. - + Input error Girdi hatası - + Done Bitti - + Select one or more connected edges in the 3d view and press 'Done' 3d görünümünde bir veya daha fazla bağlı kenarı seçin ve 'Bitti' tuşuna basın - - + + Sweep path Yolu süpür - - + + The selected sweep path is invalid. Seçilen süpürme yolu geçersiz. - + Vertex/Wire Vertex/Wire - + Sweep Süpür PartGui::TaskAttacher - - - Form - Şekil: - Selection accepted @@ -4946,7 +4941,7 @@ yalnızca oluşturulan kesimler görünür - + Attachment Offset (in local coordinates): Ek Ofseti (yerel koordinatlarda): @@ -5023,77 +5018,77 @@ Not: Yerleşim, eklenen nesnenin yerel koordinat sisteminde ifade edilir.Yönlerini çevirin - + OCC error: %1 OCC hatası: %1 - + unknown error bilinmeyen hata - + Attachment mode failed: %1 Ek modu başarısız: %1 - + Not attached Ekli değil - + Attached with mode %1 %1 modu ile ekli - + Attachment Offset (inactive - not attached): Ek dosya uzantısı (pasif - ekli değil): - + Face Yüz - + Edge Kenar - + Vertex Vertex - + Selecting... Seçiliyor... - + Reference%1 Referans%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. AttachmentOffset'in döndürülmesi ifadelere bağlı olduğundan düzenlenemez. - + Reference combinations: Referans kombinasyonları: - + %1 (add %2) %1 (%2 ekle) - + %1 (add more references) %1 (daha fazla referans ekleyin) @@ -5347,7 +5342,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Veri iletişim kutusu: Giriş hatası @@ -5355,7 +5350,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Bu iletişim kutusunu tekrar gösterme @@ -5579,7 +5574,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. 3B görünümü içinde Süpürme yolu @@ -5617,24 +5612,24 @@ bir veya daha fazla profil seçin ilave kenar veya tel seçin. PartGui::ThicknessWidget - - - + + + Thickness Kalınlık - + Select faces of the source object and press 'Done' Kaynak nesnenin yüzlerini seçin ve 'Tamamlandı' tuşuna basın - + Done Bitti - + Input error Girdi hatası @@ -5687,27 +5682,27 @@ bir veya daha fazla profil seçin ilave kenar veya tel seçin. - - + + Edit %1 %1'i düzenle - + Part and Part Design workbench Part and Part Design Çalışma Tezgahı + + - - Part/Part Design Part/Part Design - - + + Import-Export İçe-Dışa Aktar @@ -5780,20 +5775,20 @@ Devam etmek istiyor musun? Seçilen referans yok - + Face Yüz - + Edge Kenar - + Vertex Vertex @@ -6073,44 +6068,44 @@ Devam etmek istiyor musun? Geçersiz - - + + Selections Seçimler - - + + Control Control - + Selection Seçim - + Reset selection Seçimi sıfırla - + Toggle direct dimensions Doğrudan ölçülere geçiş yap - + Toggle orthogonal dimensions Dikey ölçülere geçiş yap - + Clear all dimensions Tüm ölçüleri temizle - + Set colors... Renkleri ayarla... @@ -6120,27 +6115,27 @@ Devam etmek istiyor musun? Ayna düzlemini düzenle - + Edit fillet edges Dolgu kenarlarını düzenleme - + Edit chamfer edges Kenarların pahını düzenle - + Edit offset Ofseti düzenle - + Edit thickness Kalınlığı düzenleme - + Show control points Kontrol noktalarını göster diff --git a/src/Mod/Part/Gui/Resources/translations/Part_uk.ts b/src/Mod/Part/Gui/Resources/translations/Part_uk.ts index ae3d2a6e17..760de5f8c1 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_uk.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_uk.ts @@ -2313,53 +2313,53 @@ of projection. Видалення елементів - + Convert mesh Перетворення сітки - + Edit attachment Редагувати приєднання - + Change face colors Змінити кольори грані - + Loft Лофт - + Edge Ребро - + Wire Полілінія - - + + Face Грань - + Shell Оболонка - + Solid Суцільне тіло - + Sweep Розгортка @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.Замінити виділення - + Select a shape on the left side, first Спочатку виберіть фігуру на лівій стороні - + Select a shape on the right side, first Спочатку виберіть фігуру на правій стороні - + Cannot perform a boolean operation with the same shape Неможливо виконати логічну операцію з тією ж формою - + No active document available Немає активних документів - + One of the selected objects doesn't exist anymore Один із вибраних об'єктів більше не існує - + Performing union on non-solids is not possible Неможливо виконати об’єднання фігур, які не є суцільними тілами - + Performing intersection on non-solids is not possible Неможливо виконати перетин фігур, які не є суцільними тілами - + Performing difference on non-solids is not possible Неможливо визначити різницю для фігур, які не є суцільними тілами @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Фаски країв @@ -3014,7 +3014,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Параметри скруглення @@ -3064,106 +3064,106 @@ If both lengths are zero, magnitude of direction is used. Радіус: - + Chamfer Parameter Параметри фаски - + Chamfer type Тип фаски - + Length: Довжина: - + Edges to chamfer Зробити фаски на краях - + Start length Початкова довжина - + Equal distance Рівна відстань - + Two distances Дві відстані - + Size Розмір - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Ребра для закруглення - - + + Start radius Початковий радіус - + End radius Кінцевий радіус - - + + Edge%1 Ребро%1 - + Length Довжина - + Radius Радіус - + No shape selected Немає обраної форми - + No valid shape is selected. Please select a valid shape in the drop-down box first. Не обрано вірної форми Будь ласка, оберіть вірну форму у виринаючому списку. - + No edge selected Ребро не обрано - + No edge entity is checked to fillet. Please check one or more edge entities first. Не обрано ребро для згладжування @@ -3271,7 +3271,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3504,12 +3504,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Всі файли @@ -3530,12 +3530,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Всі файли @@ -3881,20 +3881,20 @@ during file reading (slower but higher details). Вершина - - - - + + + + Create %1 Створити %1 - + No active document Немає активного документу - + &Create &Створити @@ -4161,12 +4161,12 @@ during file reading (slower but higher details). Максимальне кутове відхилення - + Deviation Відхилення - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4490,37 +4490,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Наявні профілі - + Selected profiles Обрані профілі - + Too few elements Занадто мало елементів - + At least two vertices, edges, wires or faces are required. At least two vertices, edges, wires or faces are required. - + Input error Помилка вводу - + Vertex/Edge/Wire/Face Вершина/Ребро/Каркас/Поверхня - + Loft Лофт @@ -4578,12 +4578,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Спочатку виберіть форму для створення дзеркального зображення. - + No such document '%1'. Документ '%1' не знайдено. @@ -4591,7 +4591,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Помилка вводу @@ -4747,80 +4747,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Невірний вибір - - + + Select two vertices Виберіть дві вершини - - + + Select one or more edges Оберіть хоча б одне ребро - + Select three or more vertices Оберіть три або більше вершин - + Select two or more faces Виберіть дві або більше грані - + Select only one part object Виберіть лише одну частину обʼєкта - + Select two vertices to create an edge Виберіть дві вершини для створення краю - + Select adjacent edges Select adjacent edges - + Select a list of vertices Виберіть список вершин - + Select a closed set of edges Виберіть замкнутий набір країв - + Select adjacent faces Виберіть суміжні грані - + All shape types can be selected Можуть бути виділені усі типи фігур @@ -4846,90 +4846,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Наявні профілі - + Selected profiles Обрані профілі - + Too few elements Занадто мало елементів - + At least one edge or wire is required. At least one edge or wire is required. - + Invalid selection Невірний вибір - + Select one or more edges from a single object. Виберіть один або кілька ребер з одного об'єкта. - + Wrong selection Невірний вибір - + '%1' cannot be used as profile and path. '%1' cannot be used as profile and path. - + Input error Помилка вводу - + Done Готово - + Select one or more connected edges in the 3d view and press 'Done' Select one or more connected edges in the 3d view and press 'Done' - - + + Sweep path Траєкторія витягування - - + + The selected sweep path is invalid. The selected sweep path is invalid. - + Vertex/Wire Вершина/Струна - + Sweep Розгортка PartGui::TaskAttacher - - - Form - Форма - Selection accepted @@ -4962,7 +4957,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Зсув приєднання (в локальних координатах): @@ -5043,77 +5038,77 @@ of object being attached. Перевернути сторони - + OCC error: %1 Помилка OCC %1 - + unknown error невідома помилка - + Attachment mode failed: %1 Attachment mode failed: %1 - + Not attached Привʼязка відсутня - + Attached with mode %1 Режим приєднання: %1 - + Attachment Offset (inactive - not attached): Зсув приєднання (поля не активні - не приєднано): - + Face Грань - + Edge Ребро - + Vertex Вершина - + Selecting... Вибір... - + Reference%1 Орієнтир%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Комбінації орієнтирів: - + %1 (add %2) %1 (додати %2) - + %1 (add more references) %1 (додати більше орієнтирів) @@ -5371,7 +5366,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Datum dialog: Input error @@ -5379,7 +5374,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5604,7 +5599,7 @@ by dragging a selection rectangle in the 3D view Френе - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Select one or more profiles and select an edge or wire @@ -5642,24 +5637,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Товщина - + Select faces of the source object and press 'Done' Оберіть поверхні на вихідному об'єкті на нажміть "Готово" - + Done Готово - + Input error Помилка вводу @@ -5712,27 +5707,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Редагувати %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Імпорт-експорт @@ -5804,20 +5799,20 @@ Do you want to continue? Не вибрано орієнтира - + Face Грань - + Edge Ребро - + Vertex Вершина @@ -6097,44 +6092,44 @@ Do you want to continue? Недійсний - - + + Selections Виділення - - + + Control Керування - + Selection Виділення - + Reset selection Скасувати вибір - + Toggle direct dimensions Переключити прямі розміри - + Toggle orthogonal dimensions Переключити ортогональні розміри - + Clear all dimensions Видалити всі розміри - + Set colors... Встановити кольори... @@ -6144,27 +6139,27 @@ Do you want to continue? Редагувати площину відзеркалення - + Edit fillet edges Редагувати кромку граней - + Edit chamfer edges Редагувати фаски ребер - + Edit offset Редагувати зсув - + Edit thickness Редагувати товщину - + Show control points Показати контрольні точки @@ -6596,7 +6591,7 @@ It will create a 'Compound Filter' for each shape. Wires - Wires + Сітки diff --git a/src/Mod/Part/Gui/Resources/translations/Part_val-ES.ts b/src/Mod/Part/Gui/Resources/translations/Part_val-ES.ts index 5a17944cf8..4c82cff0eb 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_val-ES.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_val-ES.ts @@ -2317,53 +2317,53 @@ of projection. Eliminador de característiques - + Convert mesh Convert mesh - + Edit attachment Edit attachment - + Change face colors Change face colors - + Loft Projecció - + Edge Aresta - + Wire Filferro - - + + Face Cara - + Shell Closca - + Solid Sòlid - + Sweep Escombratge @@ -2604,42 +2604,42 @@ Note: The placement is expressed in local space of object being attached.Intercanvia la selecció - + Select a shape on the left side, first Seleccioneu primer una forma de l'esquerra - + Select a shape on the right side, first Seleccioneu primer una forma de la dreta - + Cannot perform a boolean operation with the same shape No es pot realitzar una operació booleana amb la mateixa forma - + No active document available No hi ha cap document actiu disponible. - + One of the selected objects doesn't exist anymore Un dels objectes seleccionats ja no existeix. - + Performing union on non-solids is not possible No és possible fer la unió de formes no sòlides. - + Performing intersection on non-solids is not possible No és possible fer la intersecció de formes no sòlides. - + Performing difference on non-solids is not possible No és possible fer la resta de formes no sòlides. @@ -2647,7 +2647,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges Arestes del xamfrà @@ -3012,7 +3012,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter Paràmetres d'arredoniment @@ -3062,105 +3062,105 @@ If both lengths are zero, magnitude of direction is used. Radi: - + Chamfer Parameter Chamfer Parameter - + Chamfer type Chamfer type - + Length: Length: - + Edges to chamfer Arestes a xamfrà - + Start length Longitud d'inici - + Equal distance Equal distance - + Two distances Two distances - + Size Mida - + Size2 Size2 - + Fillet type Fillet type - + Edges to fillet Arestes per a arredonir - - + + Start radius Radi inicial - + End radius Radi final - - + + Edge%1 Aresta%1 - + Length Longitud - + Radius Radi - + No shape selected No s'ha seleccionat cap forma. - + No valid shape is selected. Please select a valid shape in the drop-down box first. La selecció no és vàlida. Seleccioneu una forma vàlida en el quadre desplegable en primer lloc. - + No edge selected No s'ha seleccionat cap aresta. - + No edge entity is checked to fillet. Please check one or more edge entities first. No s'ha seleccionat cap aresta per a l'arredoniment. En primer lloc, seleccioneu-ne una o més. @@ -3267,7 +3267,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3500,12 +3500,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files Tots els fitxers @@ -3526,12 +3526,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files Tots els fitxers @@ -3877,20 +3877,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 Crea %1 - + No active document No hi ha cap document actiu. - + &Create &Crea @@ -4153,12 +4153,12 @@ during file reading (slower but higher details). Deflexió màxima angular - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4482,37 +4482,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles Perfils disponibles - + Selected profiles Perfils seleccionats - + Too few elements Massa pocs elements - + At least two vertices, edges, wires or faces are required. Calen com a mínim dos vèrtexs, arestes, fils o cares. - + Input error Input error - + Vertex/Edge/Wire/Face Vèrtex/Aresta/Filferro/Cara - + Loft Projecció @@ -4570,12 +4570,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. Seleccioneu primer la forma que s'ha de reflectir - + No such document '%1'. No hi ha el document "%1". @@ -4583,7 +4583,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error Input error @@ -4739,80 +4739,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection Selecció incorrecta - - + + Select two vertices Seleccioneu dos vèrtexs - - + + Select one or more edges Seleccioneu una o més arestes - + Select three or more vertices Seleccioneu tres o més vèrtexs - + Select two or more faces Seleccioneu dues o més cares - + Select only one part object Seleccioneu només un objecte peça - + Select two vertices to create an edge Seleccioneu dos vèrtexs per a crear una aresta - + Select adjacent edges Selecciona les arestes adjacents - + Select a list of vertices Seleccioneu una llista de vèrtexs - + Select a closed set of edges Seleccioneu un conjunt tancat d'arestes - + Select adjacent faces Seleccioneu les cares adjacents - + All shape types can be selected Es poden seleccionar tots els tipus de forma @@ -4838,90 +4838,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles Perfils disponibles - + Selected profiles Perfils seleccionats - + Too few elements Massa pocs elements - + At least one edge or wire is required. Es requereix almenys una aresta o filferro. - + Invalid selection La selecció no és vàlida. - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection Selecció incorrecta - + '%1' cannot be used as profile and path. '%1' no es pot utilitzar com a perfil i camí. - + Input error Input error - + Done Fet - + Select one or more connected edges in the 3d view and press 'Done' Seleccioneu una o més arestes connectades en la vista 3D i premeu "Fet" - - + + Sweep path Trajecte d'escombratge - - + + The selected sweep path is invalid. La trajectòria d'escombratge seleccionada no és vàlida. - + Vertex/Wire Vertex/Wire - + Sweep Escombratge PartGui::TaskAttacher - - - Form - Forma - Selection accepted @@ -4954,7 +4949,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): Desplaçament de l'adjunt (en coordenades locals): @@ -5035,77 +5030,77 @@ of object being attached. Inverteix les cares - + OCC error: %1 Error OCC: %1 - + unknown error error desconegut - + Attachment mode failed: %1 El mode d'adjunció ha fallat: %1 - + Not attached No adjuntat - + Attached with mode %1 S'ha adjuntat amb mode %1 - + Attachment Offset (inactive - not attached): Separació de l'adjunt (inactiu - no adjuntat): - + Face Cara - + Edge Aresta - + Vertex Vertex - + Selecting... Selecció... - + Reference%1 Referència%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: Combinacions de referència: - + %1 (add %2) %1 (afig %2) - + %1 (add more references) %1 (afig més referències) @@ -5361,7 +5356,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error Diàleg de dimensió: error d'entrada @@ -5369,7 +5364,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5594,7 +5589,7 @@ by dragging a selection rectangle in the 3D view Angle fix - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. Seleccioneu un o més perfils i seleccioneu una aresta o filferro en la vista 3D per al camí d'escombratge. @@ -5631,24 +5626,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness Gruix - + Select faces of the source object and press 'Done' Seleccioneu cares de l'objecte d'origen i feu clic a 'Fet' - + Done Fet - + Input error Input error @@ -5701,27 +5696,27 @@ in the 3D view for the sweep path. - - + + Edit %1 Edita %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Importació-exportació @@ -5793,20 +5788,20 @@ Do you want to continue? No s'ha seleccionat cap referència. - + Face Cara - + Edge Aresta - + Vertex Vertex @@ -6086,44 +6081,44 @@ Do you want to continue? Invàlid - - + + Selections Seleccions - - + + Control Control - + Selection Selection - + Reset selection Reset selection - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... Estableix els colors... @@ -6133,27 +6128,27 @@ Do you want to continue? Edita el pla de simetria - + Edit fillet edges Edita l'arredoniment d'arestes - + Edit chamfer edges Edita les arestes del xamfrà - + Edit offset Edita el desplaçament - + Edit thickness Edita el gruix - + Show control points Mostra punts de control diff --git a/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.ts b/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.ts index 5d1b87c926..0cd386fffc 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.ts @@ -2313,53 +2313,53 @@ of projection. 清除特征 - + Convert mesh 转换网格 - + Edit attachment 编辑附加 - + Change face colors 更改面的颜色 - + Loft 放样 - + Edge - + Wire 线框 - - + + Face - + Shell 壳体 - + Solid 实体 - + Sweep 扫掠 @@ -2600,42 +2600,42 @@ Note: The placement is expressed in local space of object being attached.切换选择 - + Select a shape on the left side, first 线选择左侧形状 - + Select a shape on the right side, first 先选择右侧形状 - + Cannot perform a boolean operation with the same shape 不能对同一形状作布尔操作 - + No active document available 无可用活动文档 - + One of the selected objects doesn't exist anymore 所选对象之一已不存在 - + Performing union on non-solids is not possible 无法对非实体执行并集操作 - + Performing intersection on non-solids is not possible 无法对非实体进行交集操作 - + Performing difference on non-solids is not possible 无法对非实体进行差集操作 @@ -2643,7 +2643,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges 倒角边缘 @@ -2950,7 +2950,7 @@ If both lengths are zero, magnitude of direction is used. Unknown error - Unknown error + 未知错误。 @@ -3009,7 +3009,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter 圆角参数 @@ -3059,105 +3059,105 @@ If both lengths are zero, magnitude of direction is used. 半径: - + Chamfer Parameter 倒角参数 - + Chamfer type 倒角类型 - + Length: 长度: - + Edges to chamfer 倒角边 - + Start length 开始长度 - + Equal distance 等距: - + Two distances 两倍距离 - + Size 大小 - + Size2 尺寸2 - + Fillet type 圆角类型 - + Edges to fillet 倒圆角边 - - + + Start radius 开始半径 - + End radius 结束半径 - - + + Edge%1 边 %1 - + Length 长度 - + Radius 半径 - + No shape selected 无选定的形状 - + No valid shape is selected. Please select a valid shape in the drop-down box first. 未选中有效形状.请先在下拉框中选择一个有效形状. - + No edge selected 未选定边 - + No edge entity is checked to fillet. Please check one or more edge entities first. 为选择倒圆角的实体边. @@ -3265,7 +3265,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3497,12 +3497,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files 所有文件 @@ -3523,12 +3523,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files 所有文件 @@ -3874,20 +3874,20 @@ during file reading (slower but higher details). 顶点 - - - - + + + + Create %1 创建 %1 - + No active document 没有活动文档 - + &Create 创建(&C) @@ -3982,7 +3982,7 @@ during file reading (slower but higher details). Can not create a projection object!!! - Can not create a projection object!!! + 无法创建投影对象!!! @@ -4093,7 +4093,7 @@ during file reading (slower but higher details). Unknown error - Unknown error + 未知错误。 @@ -4152,12 +4152,12 @@ during file reading (slower but higher details). 最大偏移角 - + Deviation 偏差 - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. 设置得太小会导致贴图耗时过长,切会使GUI界面冻结或速度减慢. @@ -4210,7 +4210,7 @@ during file reading (slower but higher details). Measurement settings - Measurement settings + 测量设置 @@ -4481,37 +4481,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles 可用的轮廓 - + Selected profiles 选定的轮廓 - + Too few elements 元素太少 - + At least two vertices, edges, wires or faces are required. 至少需要两个顶点, 边, 线或面 - + Input error 输入错误 - + Vertex/Edge/Wire/Face 顶点/边/线/面 - + Loft 放样 @@ -4569,12 +4569,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. 请先选择一个形状执行镜像操作. - + No such document '%1'. 没有这样的文档 '%1'。 @@ -4582,7 +4582,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error 输入错误 @@ -4738,80 +4738,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported Unsupported - + Box selection for shells is not supported Box selection for shells is not supported - - - - - - - + + + + + + + Wrong selection 选择错误 - - + + Select two vertices 选择两个顶点 - - + + Select one or more edges 选择一个或多个边 - + Select three or more vertices 选取三个或更多顶点 - + Select two or more faces 选择两个或更多面 - + Select only one part object 仅选择一个零件对象 - + Select two vertices to create an edge 选择两个顶点创建边 - + Select adjacent edges Select adjacent edges - + Select a list of vertices 选取一个顶点清单 - + Select a closed set of edges 选择一组闭合的边 - + Select adjacent faces 选择相邻面 - + All shape types can be selected 可以选择所有形体类型 @@ -4837,90 +4837,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles 可用的轮廓 - + Selected profiles 选定的轮廓 - + Too few elements 元素太少 - + At least one edge or wire is required. 至少需要一条边或线. - + Invalid selection 无效选择 - + Select one or more edges from a single object. Select one or more edges from a single object. - + Wrong selection 选择错误 - + '%1' cannot be used as profile and path. "%1" 不能用作轮廓和路径。 - + Input error 输入错误 - + Done 完成 - + Select one or more connected edges in the 3d view and press 'Done' 在3d 视图中选择一个或多个连接的边, 然后按 "完成" - - + + Sweep path 扫掠路径 - - + + The selected sweep path is invalid. 选定的扫描路径无效。 - + Vertex/Wire 顶点/线 - + Sweep 扫掠 PartGui::TaskAttacher - - - Form - 窗体 - Selection accepted @@ -4953,7 +4948,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): 附加偏移量(本地坐标): @@ -5034,77 +5029,77 @@ of object being attached. 翻转面 - + OCC error: %1 OCC 错误: %1 - + unknown error 未知错误。 - + Attachment mode failed: %1 附加模式失败: %1 - + Not attached 没附档 - + Attached with mode %1 附加模式%1 - + Attachment Offset (inactive - not attached): 附加偏移量 (不活动-未附加): - + Face - + Edge - + Vertex 顶点 - + Selecting... 选择... - + Reference%1 参照 %1 - + Not editable because rotation of AttachmentOffset is bound by expressions. Not editable because rotation of AttachmentOffset is bound by expressions. - + Reference combinations: 参照组合: - + %1 (add %2) %1 (添加 %2) - + %1 (add more references) %1 (添加更多参照) @@ -5359,7 +5354,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error 基准对话框: 输入错误 @@ -5367,7 +5362,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again Don't show this dialog again @@ -5592,7 +5587,7 @@ by dragging a selection rectangle in the 3D view Frenet - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. 在3D视图中选择一个或多个轮廓以及一条边或线作为扫掠路径. @@ -5629,24 +5624,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness 厚度 - + Select faces of the source object and press 'Done' 选择源对象的面并按'完成' - + Done 完成 - + Input error 输入错误 @@ -5699,27 +5694,27 @@ in the 3D view for the sweep path. - - + + Edit %1 编辑 %1 - + Part and Part Design workbench Part and Part Design workbench + + - - Part/Part Design Part/Part Design - - + + Import-Export Import-Export @@ -5791,20 +5786,20 @@ Do you want to continue? 没有参照被选中 - + Face - + Edge - + Vertex 顶点 @@ -6084,44 +6079,44 @@ Do you want to continue? 无效 - - + + Selections 选项 - - + + Control 控制 - + Selection Selection - + Reset selection Reset selection - + Toggle direct dimensions Toggle direct dimensions - + Toggle orthogonal dimensions Toggle orthogonal dimensions - + Clear all dimensions Clear all dimensions - + Set colors... 设置颜色... @@ -6131,27 +6126,27 @@ Do you want to continue? 编辑镜像平面 - + Edit fillet edges 编辑圆角边 - + Edit chamfer edges 编辑倒角边 - + Edit offset 编辑偏移 - + Edit thickness 编辑厚度 - + Show control points 显示控制点 diff --git a/src/Mod/Part/Gui/Resources/translations/Part_zh-TW.ts b/src/Mod/Part/Gui/Resources/translations/Part_zh-TW.ts index 0895c22844..e37e69d7a0 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_zh-TW.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_zh-TW.ts @@ -2309,53 +2309,53 @@ of projection. 去除細節 - + Convert mesh 轉換網格 - + Edit attachment 編輯附件 - + Change face colors 改變面顏色 - + Loft 斷面混成 - + Edge - + Wire - - + + Face - + Shell - + Solid 實體 - + Sweep 掃描 @@ -2596,42 +2596,42 @@ Note: The placement is expressed in local space of object being attached.切換選項 - + Select a shape on the left side, first 先由左側選取造型 - + Select a shape on the right side, first 先由右側選取造型 - + Cannot perform a boolean operation with the same shape 無法於同一個圖形上進行布林運算 - + No active document available 無可用之文件 - + One of the selected objects doesn't exist anymore 其中一個選定之物件已經不存在 - + Performing union on non-solids is not possible 無法對非實體進行聯集 - + Performing intersection on non-solids is not possible 無法對非實體進行交集 - + Performing difference on non-solids is not possible 無法對非實體進行差集 @@ -2639,7 +2639,7 @@ Note: The placement is expressed in local space of object being attached. PartGui::DlgChamferEdges - + Chamfer Edges 倒角邊 @@ -3000,7 +3000,7 @@ If both lengths are zero, magnitude of direction is used. - + Fillet Parameter 參數 @@ -3050,106 +3050,106 @@ If both lengths are zero, magnitude of direction is used. 半徑: - + Chamfer Parameter 倒角參數 - + Chamfer type 倒角類型 - + Length: 長度: - + Edges to chamfer 要倒角的邊 - + Start length 長度1 - + Equal distance 同等距離 - + Two distances 兩個距離 - + Size 尺寸 - + Size2 大小2 - + Fillet type 圓角類型 - + Edges to fillet 倒圓角之邊 - - + + Start radius 起始半徑 - + End radius 終止半徑 - - + + Edge%1 邊 %1 - + Length 間距 - + Radius 半徑 - + No shape selected 無選取物件 - + No valid shape is selected. Please select a valid shape in the drop-down box first. 未選取有效之造型。 請先於下拉選單中選取有效之造型。 - + No edge selected 無邊被選取 - + No edge entity is checked to fillet. Please check one or more edge entities first. 未選擇實體之邊產生圓角,請先選擇1或多個實體之邊 @@ -3256,7 +3256,7 @@ Please check one or more edge entities first. PartGui::DlgImportExportStep - + STEP STEP @@ -3488,12 +3488,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportIgesImp - + IGES IGES - + All Files 所有檔案 @@ -3514,12 +3514,12 @@ during file reading (slower but higher details). PartGui::DlgPartImportStepImp - + STEP STEP - + All Files 所有檔案 @@ -3865,20 +3865,20 @@ during file reading (slower but higher details). Vertex - - - - + + + + Create %1 建立 %1 - + No active document 無可用文件 - + &Create &建立 @@ -4143,12 +4143,12 @@ during file reading (slower but higher details). 最大偏移角 - + Deviation Deviation - + Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. Setting a too small deviation causes the tessellation to take longerand thus freezes or slows down the GUI. @@ -4472,37 +4472,37 @@ the sketch plane's normal vector will be used PartGui::LoftWidget - + Available profiles 可用的輪廓 - + Selected profiles 選定的輪廓 - + Too few elements 物件過少 - + At least two vertices, edges, wires or faces are required. 至少需要兩個頂點,邊,線或面 - + Input error 輸入錯誤 - + Vertex/Edge/Wire/Face 頂點/邊/線/面 - + Loft 斷面混成 @@ -4560,12 +4560,12 @@ the sketch plane's normal vector will be used z - + Select a shape for mirroring, first. 請先選擇一鏡射物件 - + No such document '%1'. 無此檔案 '%1' @@ -4573,7 +4573,7 @@ the sketch plane's normal vector will be used PartGui::OffsetWidget - + Input error 輸入錯誤 @@ -4723,80 +4723,80 @@ only created cuts will be visible PartGui::ShapeBuilderWidget - + Unsupported 不支援 - + Box selection for shells is not supported 不支援對外殼進行拉框選擇 - - - - - - - + + + + + + + Wrong selection 錯誤的選取 - - + + Select two vertices 選擇兩個頂點 - - + + Select one or more edges 選擇1個或更多的邊 - + Select three or more vertices 選取三個或更多頂點 - + Select two or more faces 選擇兩個或更多面 - + Select only one part object 僅選擇單一零件物件 - + Select two vertices to create an edge 選擇兩頂點建立邊 - + Select adjacent edges 選擇相鄰的邊 - + Select a list of vertices 選取一個頂點之清單 - + Select a closed set of edges 選擇封閉之邊群組 - + Select adjacent faces 選擇鄰近面 - + All shape types can be selected 所有造型類型皆可選擇 @@ -4822,90 +4822,85 @@ only created cuts will be visible PartGui::SweepWidget - + Available profiles 可用的輪廓 - + Selected profiles 選定的輪廓 - + Too few elements 物件過少 - + At least one edge or wire is required. 只少需要一個邊或線 - + Invalid selection 無效選擇 - + Select one or more edges from a single object. 從單一物件中選擇一或多個邊。 - + Wrong selection 錯誤的選取 - + '%1' cannot be used as profile and path. 「%1」無法用來作為輪廓及路徑 - + Input error 輸入錯誤 - + Done 完成 - + Select one or more connected edges in the 3d view and press 'Done' 於3D視圖中選取一或多條相連的邊後按下「完成」 - - + + Sweep path 掃描路徑 - - + + The selected sweep path is invalid. 所選掃略路徑無效 - + Vertex/Wire 頂點/線 - + Sweep 掃描 PartGui::TaskAttacher - - - Form - 格式 - Selection accepted @@ -4938,7 +4933,7 @@ only created cuts will be visible - + Attachment Offset (in local coordinates): 附件偏移(在本地座標): @@ -5015,77 +5010,77 @@ of object being attached. 翻面 - + OCC error: %1 OCC 錯誤:%1 - + unknown error 未知錯誤 - + Attachment mode failed: %1 連接模式失敗:%1 - + Not attached 未連接任何物件 - + Attached with mode %1 以模式 %1 連接 - + Attachment Offset (inactive - not attached): 連接偏移(無效-未連接其他物件) - + Face - + Edge - + Vertex Vertex - + Selecting... 選擇... - + Reference%1 參考%1 - + Not editable because rotation of AttachmentOffset is bound by expressions. 因為AttachmentOffset的旋轉受到表達式的約束,所以無法編輯。 - + Reference combinations: 參考組合: - + %1 (add %2) %1(加 %2) - + %1 (add more references) %1 (加更多參考) @@ -5335,7 +5330,7 @@ Individual boolean operation checks: PartGui::TaskDlgAttacher - + Datum dialog: Input error 基準對話框: 輸入錯誤 @@ -5343,7 +5338,7 @@ Individual boolean operation checks: PartGui::TaskExportStep - + Don't show this dialog again 不再顯示此對話框。 @@ -5567,7 +5562,7 @@ by dragging a selection rectangle in the 3D view 弗勒內公式(Frenet) - + Select one or more profiles and select an edge or wire in the 3D view for the sweep path. 於3D檢視中選取一或多個輪廓,並選取一個邊或線作為掃掠路徑 @@ -5604,24 +5599,24 @@ in the 3D view for the sweep path. PartGui::ThicknessWidget - - - + + + Thickness 厚度 - + Select faces of the source object and press 'Done' 選擇來源物件之面並按下'結束' - + Done 完成 - + Input error 輸入錯誤 @@ -5674,27 +5669,27 @@ in the 3D view for the sweep path. - - + + Edit %1 編輯 %1 - + Part and Part Design workbench Part 與 Part Design 工作台 + + - - Part/Part Design Part/Part Design - - + + Import-Export 匯入-匯出 @@ -5767,20 +5762,20 @@ Do you want to continue? 尚未選擇參考之物件 - + Face - + Edge - + Vertex Vertex @@ -6060,44 +6055,44 @@ Do you want to continue? 無效 - - + + Selections 選項 - - + + Control 控制 - + Selection 選擇 - + Reset selection 重設選取區域 - + Toggle direct dimensions 切換直接尺寸 - + Toggle orthogonal dimensions 切換正交尺寸 - + Clear all dimensions 清除所有尺寸 - + Set colors... 設定顏色... @@ -6107,27 +6102,27 @@ Do you want to continue? 編輯鏡射平面 - + Edit fillet edges 編輯邊之圓角 - + Edit chamfer edges 編輯邊之倒角 - + Edit offset 編輯偏移量 - + Edit thickness 編輯厚度 - + Show control points 顯示控制點 diff --git a/src/Mod/Part/Gui/SectionCutting.cpp b/src/Mod/Part/Gui/SectionCutting.cpp index ec128dee3f..ddf2c15b7d 100644 --- a/src/Mod/Part/Gui/SectionCutting.cpp +++ b/src/Mod/Part/Gui/SectionCutting.cpp @@ -1962,8 +1962,9 @@ SbBox3f SectionCut::getViewBoundingBox() } Gui::View3DInventorViewer* viewer = view->getViewer(); SoCamera* camera = viewer->getSoRenderManager()->getCamera(); - if (!camera || !camera->isOfType(SoOrthographicCamera::getClassTypeId())) + if (!camera) { return Box; // return an empty box + } // get scene bounding box SoGetBoundingBoxAction action(viewer->getSoRenderManager()->getViewportRegion()); action.apply(viewer->getSceneGraph()); diff --git a/src/Mod/Part/Gui/ShapeFromMesh.cpp b/src/Mod/Part/Gui/ShapeFromMesh.cpp index aa28182200..3d64823009 100644 --- a/src/Mod/Part/Gui/ShapeFromMesh.cpp +++ b/src/Mod/Part/Gui/ShapeFromMesh.cpp @@ -56,10 +56,7 @@ ShapeFromMesh::ShapeFromMesh(QWidget* parent, Qt::WindowFlags fl) ui->doubleSpinBox->setDecimals(decimals); } -ShapeFromMesh::~ShapeFromMesh() -{ - -} +ShapeFromMesh::~ShapeFromMesh() = default; void ShapeFromMesh::perform() { @@ -75,9 +72,9 @@ void ShapeFromMesh::perform() Gui::doCommandT(Gui::Command::Doc, "import Part"); Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Convert mesh")); - for (auto it = meshes.begin(); it != meshes.end(); ++it) { - App::Document* doc = (*it)->getDocument(); - std::string mesh = (*it)->getNameInDocument(); + for (auto it : meshes) { + App::Document* doc = it->getDocument(); + std::string mesh = it->getNameInDocument(); std::string name = doc->getUniqueObjectName(mesh.c_str()); Gui::cmdAppDocumentArgs(doc, "addObject('%s', '%s')", "Part::Feature", name); diff --git a/src/Mod/Part/Gui/SoBrepEdgeSet.cpp b/src/Mod/Part/Gui/SoBrepEdgeSet.cpp index 9c1fd24de6..d2f52fcd6c 100644 --- a/src/Mod/Part/Gui/SoBrepEdgeSet.cpp +++ b/src/Mod/Part/Gui/SoBrepEdgeSet.cpp @@ -66,7 +66,6 @@ void SoBrepEdgeSet::initClass() SoBrepEdgeSet::SoBrepEdgeSet() : selContext(std::make_shared()) , selContext2(std::make_shared()) - , packedColor(0) { SO_NODE_CONSTRUCTOR(SoBrepEdgeSet); } @@ -304,8 +303,8 @@ void SoBrepEdgeSet::renderSelection(SoGLRenderAction *action, SelContextPtr ctx, bool SoBrepEdgeSet::validIndexes(const SoCoordinateElement* coords, const std::vector& pts) const { - for (std::vector::const_iterator it = pts.begin(); it != pts.end(); ++it) { - if (*it >= coords->getNum()) { + for (int32_t it : pts) { + if (it >= coords->getNum()) { return false; } } diff --git a/src/Mod/Part/Gui/SoBrepEdgeSet.h b/src/Mod/Part/Gui/SoBrepEdgeSet.h index b0bdc44c0f..6335ef6cd8 100644 --- a/src/Mod/Part/Gui/SoBrepEdgeSet.h +++ b/src/Mod/Part/Gui/SoBrepEdgeSet.h @@ -46,7 +46,7 @@ public: SoBrepEdgeSet(); protected: - ~SoBrepEdgeSet() override {} + ~SoBrepEdgeSet() override = default; void GLRender(SoGLRenderAction *action) override; void GLRenderBelowPath(SoGLRenderAction * action) override; void doAction(SoAction* action) override; @@ -72,7 +72,7 @@ private: SelContextPtr selContext; SelContextPtr selContext2; Gui::SoFCSelectionCounter selCounter; - uint32_t packedColor; + uint32_t packedColor{0}; }; } // namespace PartGui diff --git a/src/Mod/Part/Gui/SoBrepFaceSet.cpp b/src/Mod/Part/Gui/SoBrepFaceSet.cpp index b87a5c905b..5555c3163c 100644 --- a/src/Mod/Part/Gui/SoBrepFaceSet.cpp +++ b/src/Mod/Part/Gui/SoBrepFaceSet.cpp @@ -173,9 +173,7 @@ SoBrepFaceSet::SoBrepFaceSet() pimpl = std::make_unique(); } -SoBrepFaceSet::~SoBrepFaceSet() -{ -} +SoBrepFaceSet::~SoBrepFaceSet() = default; void SoBrepFaceSet::doAction(SoAction* action) { diff --git a/src/Mod/Part/Gui/SoBrepPointSet.cpp b/src/Mod/Part/Gui/SoBrepPointSet.cpp index 90db6c94f4..5cd3ea626a 100644 --- a/src/Mod/Part/Gui/SoBrepPointSet.cpp +++ b/src/Mod/Part/Gui/SoBrepPointSet.cpp @@ -60,7 +60,6 @@ void SoBrepPointSet::initClass() SoBrepPointSet::SoBrepPointSet() : selContext(std::make_shared()) , selContext2(std::make_shared()) - , packedColor(0) { SO_NODE_CONSTRUCTOR(SoBrepPointSet); } diff --git a/src/Mod/Part/Gui/SoBrepPointSet.h b/src/Mod/Part/Gui/SoBrepPointSet.h index 69f5ac605e..53db847f53 100644 --- a/src/Mod/Part/Gui/SoBrepPointSet.h +++ b/src/Mod/Part/Gui/SoBrepPointSet.h @@ -46,7 +46,7 @@ public: SoBrepPointSet(); protected: - ~SoBrepPointSet() override {} + ~SoBrepPointSet() override = default; void GLRender(SoGLRenderAction *action) override; void GLRenderBelowPath(SoGLRenderAction * action) override; void doAction(SoAction* action) override; @@ -63,7 +63,7 @@ private: SelContextPtr selContext; SelContextPtr selContext2; Gui::SoFCSelectionCounter selCounter; - uint32_t packedColor; + uint32_t packedColor{0}; }; } // namespace PartGui diff --git a/src/Mod/Part/Gui/SoFCShapeObject.h b/src/Mod/Part/Gui/SoFCShapeObject.h index 115d1f2567..834a344856 100644 --- a/src/Mod/Part/Gui/SoFCShapeObject.h +++ b/src/Mod/Part/Gui/SoFCShapeObject.h @@ -47,7 +47,7 @@ public: SoSFColor lineColor; protected: - ~SoFCControlPoints() override {}; + ~SoFCControlPoints() override = default;; void GLRender(SoGLRenderAction *action) override; void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er) override; void generatePrimitives(SoAction *action) override; diff --git a/src/Mod/Part/Gui/TaskAttacher.cpp b/src/Mod/Part/Gui/TaskAttacher.cpp index 4d6dce0c0a..51aee23189 100644 --- a/src/Mod/Part/Gui/TaskAttacher.cpp +++ b/src/Mod/Part/Gui/TaskAttacher.cpp @@ -263,9 +263,9 @@ void TaskAttacher::documentDeleted(const Gui::Document&) const QString makeHintText(std::set hint) { QString result; - for (std::set::const_iterator t = hint.begin(); t != hint.end(); t++) { + for (auto t : hint) { QString tText; - tText = AttacherGui::getShapeTypeText(*t); + tText = AttacherGui::getShapeTypeText(t); result += QString::fromLatin1(result.size() == 0 ? "" : "/") + tText; } @@ -1064,10 +1064,7 @@ TaskDlgAttacher::TaskDlgAttacher(Gui::ViewProviderDocumentObject *ViewProvider, } } -TaskDlgAttacher::~TaskDlgAttacher() -{ - -} +TaskDlgAttacher::~TaskDlgAttacher() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Mod/Part/Gui/TaskAttacher.ui b/src/Mod/Part/Gui/TaskAttacher.ui index afc9611b8a..da3ee6f434 100644 --- a/src/Mod/Part/Gui/TaskAttacher.ui +++ b/src/Mod/Part/Gui/TaskAttacher.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Part/Gui/TaskCheckGeometry.cpp b/src/Mod/Part/Gui/TaskCheckGeometry.cpp index d2c78e4bd7..4e842e49e7 100644 --- a/src/Mod/Part/Gui/TaskCheckGeometry.cpp +++ b/src/Mod/Part/Gui/TaskCheckGeometry.cpp @@ -275,10 +275,10 @@ ResultModel::~ResultModel() QModelIndex ResultModel::index(int row, int column, const QModelIndex &parent) const { if (!root) - return QModelIndex(); + return {}; ResultEntry *parentNode = nodeFromIndex(parent); if (!parentNode) - return QModelIndex(); + return {}; return createIndex(row, column, parentNode->children.at(row)); } @@ -286,13 +286,13 @@ QModelIndex ResultModel::parent(const QModelIndex &child) const { ResultEntry *childNode = nodeFromIndex(child); if (!childNode) - return QModelIndex(); + return {}; ResultEntry *parentNode = childNode->parent; if (!parentNode) - return QModelIndex(); + return {}; ResultEntry *grandParentNode = parentNode->parent; if (!grandParentNode) - return QModelIndex(); + return {}; int row = grandParentNode->children.indexOf(parentNode); return createIndex(row, 0, parentNode); } @@ -314,10 +314,10 @@ int ResultModel::columnCount(const QModelIndex &parent) const QVariant ResultModel::data(const QModelIndex &index, int role) const { if (role != Qt::DisplayRole) - return QVariant(); + return {}; ResultEntry *node = nodeFromIndex(index); if (!node) - return QVariant(); + return {}; switch (index.column()) { case 0: @@ -327,13 +327,13 @@ QVariant ResultModel::data(const QModelIndex &index, int role) const case 2: return QVariant(node->error); } - return QVariant(); + return {}; } QVariant ResultModel::headerData(int section, Qt::Orientation orientation, int role) const { if (orientation != Qt::Horizontal || role != Qt::DisplayRole) - return QVariant(); + return {}; switch (section) { case 0: @@ -343,7 +343,7 @@ QVariant ResultModel::headerData(int section, Qt::Orientation orientation, int r case 2: return QVariant(QString(tr("Error"))); } - return QVariant(); + return {}; } void ResultModel::setResults(ResultEntry *resultsIn) diff --git a/src/Mod/Part/Gui/TaskDimension.cpp b/src/Mod/Part/Gui/TaskDimension.cpp index ece7bd274d..a733465e24 100644 --- a/src/Mod/Part/Gui/TaskDimension.cpp +++ b/src/Mod/Part/Gui/TaskDimension.cpp @@ -417,10 +417,7 @@ PartGui::DimensionLinear::DimensionLinear() SO_NODE_ADD_FIELD(dColor, (1.0, 0.0, 0.0));//dimension color. } -PartGui::DimensionLinear::~DimensionLinear() -{ - -} +PartGui::DimensionLinear::~DimensionLinear() = default; SbBool PartGui::DimensionLinear::affectsState() const { @@ -560,6 +557,9 @@ PartGui::TaskMeasureLinear::~TaskMeasureLinear() void PartGui::TaskMeasureLinear::onSelectionChanged(const Gui::SelectionChanges& msg) { + if (msg.pSubName[0] == '\0') + return; // ignore whole objects selected in the model tree, e.g. when toggling the visibility of an object + if (buttonSelectedIndex == 0) { if (msg.Type == Gui::SelectionChanges::AddSelection) @@ -1176,10 +1176,7 @@ PartGui::DimensionAngular::DimensionAngular() 0.0, 0.0, 0.0, 1.0)); } -PartGui::DimensionAngular::~DimensionAngular() -{ - -} +PartGui::DimensionAngular::~DimensionAngular() = default; SbBool PartGui::DimensionAngular::affectsState() const { @@ -1557,6 +1554,9 @@ PartGui::TaskMeasureAngular::~TaskMeasureAngular() void PartGui::TaskMeasureAngular::onSelectionChanged(const Gui::SelectionChanges& msg) { + if (msg.pSubName[0] == '\0') + return; // ignore whole objects selected in the model tree, e.g. when toggling the visibility of an object + TopoDS_Shape shape; Base::Matrix4D mat; if (!getShapeFromStrings(shape, std::string(msg.pDocName), @@ -1705,13 +1705,13 @@ PartGui::VectorAdapter PartGui::TaskMeasureAngular::buildAdapter(const PartGui:: { TopoDS_Shape edgeShape; if (!getShapeFromStrings(edgeShape, current.documentName, current.objectName, current.subObjectName,&mat)) - return VectorAdapter(); + return {}; TopoDS_Edge edge = TopoDS::Edge(edgeShape); // make edge orientation so that end of edge closest to pick is head of vector. TopoDS_Vertex firstVertex = TopExp::FirstVertex(edge, Standard_True); TopoDS_Vertex lastVertex = TopExp::LastVertex(edge, Standard_True); if (firstVertex.IsNull() || lastVertex.IsNull()) - return VectorAdapter(); + return {}; gp_Vec firstPoint = PartGui::convert(firstVertex); gp_Vec lastPoint = PartGui::convert(lastVertex); Base::Vector3d v(current.x,current.y,current.z); @@ -1732,7 +1732,7 @@ PartGui::VectorAdapter PartGui::TaskMeasureAngular::buildAdapter(const PartGui:: { TopoDS_Shape faceShape; if (!getShapeFromStrings(faceShape, current.documentName, current.objectName, current.subObjectName,&mat)) - return VectorAdapter(); + return {}; TopoDS_Face face = TopoDS::Face(faceShape); Base::Vector3d v(current.x,current.y,current.z); @@ -1748,9 +1748,9 @@ PartGui::VectorAdapter PartGui::TaskMeasureAngular::buildAdapter(const PartGui:: assert(current2.shapeType == DimSelections::Vertex); TopoDS_Shape vertexShape1, vertexShape2; if(!getShapeFromStrings(vertexShape1, current1.documentName, current1.objectName, current1.subObjectName)) - return VectorAdapter(); + return {}; if(!getShapeFromStrings(vertexShape2, current2.documentName, current2.objectName, current2.subObjectName)) - return VectorAdapter(); + return {}; TopoDS_Vertex vertex1 = TopoDS::Vertex(vertexShape1); TopoDS_Vertex vertex2 = TopoDS::Vertex(vertexShape2); diff --git a/src/Mod/Part/Gui/TaskDimension.h b/src/Mod/Part/Gui/TaskDimension.h index b5da491100..5a2eb07943 100644 --- a/src/Mod/Part/Gui/TaskDimension.h +++ b/src/Mod/Part/Gui/TaskDimension.h @@ -185,7 +185,7 @@ public: protected: void evaluate() override; private: - ~ArcEngine() override{} + ~ArcEngine() override = default; void defaultValues(); //some non error values if something goes wrong. }; diff --git a/src/Mod/Part/Gui/TaskFaceColors.cpp b/src/Mod/Part/Gui/TaskFaceColors.cpp index 16a371112b..0b088f898a 100644 --- a/src/Mod/Part/Gui/TaskFaceColors.cpp +++ b/src/Mod/Part/Gui/TaskFaceColors.cpp @@ -216,8 +216,8 @@ public: polygon.Add(Base::Vector2d(pt2[0], pt1[1])); } else { - for (std::vector::const_iterator it = picked.begin(); it != picked.end(); ++it) - polygon.Add(Base::Vector2d((*it)[0], (*it)[1])); + for (const auto& it : picked) + polygon.Add(Base::Vector2d(it[0], it[1])); } FaceColors* self = static_cast(ud); @@ -340,9 +340,9 @@ void FaceColors::onColorButtonChanged() { if (!d->index.isEmpty()) { QColor color = d->ui->colorButton->color(); - for (QSet::iterator it = d->index.begin(); it != d->index.end(); ++it) { + for (int it : d->index) { // alpha of App::Color is contrary to the one of QColor - d->perface[*it].set(color.redF(), color.greenF(), color.blueF(), (1.0 - color.alphaF())); + d->perface[it].set(color.redF(), color.greenF(), color.blueF(), (1.0 - color.alphaF())); } d->vp->DiffuseColor.setValues(d->perface); // new color has been applied, unselect so that users can see this @@ -398,8 +398,8 @@ void FaceColors::updatePanel() { QString faces = QString::fromLatin1("["); int size = d->index.size(); - for (QSet::iterator it = d->index.begin(); it != d->index.end(); ++it) { - faces += QString::number(*it + 1); + for (int it : d->index) { + faces += QString::number(it + 1); if (--size > 0) faces += QString::fromLatin1(","); } @@ -457,9 +457,7 @@ TaskFaceColors::TaskFaceColors(ViewProviderPartExt* vp) Content.push_back(taskbox); } -TaskFaceColors::~TaskFaceColors() -{ -} +TaskFaceColors::~TaskFaceColors() = default; void TaskFaceColors::open() { diff --git a/src/Mod/Part/Gui/TaskLoft.cpp b/src/Mod/Part/Gui/TaskLoft.cpp index afa53efc2f..7cc4de30b2 100644 --- a/src/Mod/Part/Gui/TaskLoft.cpp +++ b/src/Mod/Part/Gui/TaskLoft.cpp @@ -56,12 +56,8 @@ class LoftWidget::Private public: Ui_TaskLoft ui; std::string document; - Private() - { - } - ~Private() - { - } + Private() = default; + ~Private() = default; }; /* TRANSLATOR PartGui::LoftWidget */ @@ -100,8 +96,8 @@ void LoftWidget::findShapes() std::vector objs = activeDoc->getObjectsOfType(); - for (std::vector::iterator it = objs.begin(); it!=objs.end(); ++it) { - Part::TopoShape topoShape = Part::Feature::getTopoShape(*it); + for (auto obj : objs) { + Part::TopoShape topoShape = Part::Feature::getTopoShape(obj); if (topoShape.isNull()) { continue; } @@ -143,13 +139,13 @@ void LoftWidget::findShapes() shape.ShapeType() == TopAbs_WIRE || shape.ShapeType() == TopAbs_EDGE || shape.ShapeType() == TopAbs_VERTEX) { - QString label = QString::fromUtf8((*it)->Label.getValue()); - QString name = QString::fromLatin1((*it)->getNameInDocument()); + QString label = QString::fromUtf8(obj->Label.getValue()); + QString name = QString::fromLatin1(obj->getNameInDocument()); QTreeWidgetItem* child = new QTreeWidgetItem(); child->setText(0, label); child->setToolTip(0, label); child->setData(0, Qt::UserRole, name); - Gui::ViewProvider* vp = activeGui->getViewProvider(*it); + Gui::ViewProvider* vp = activeGui->getViewProvider(obj); if (vp) child->setIcon(0, vp->getIcon()); d->ui.selector->availableTreeWidget()->addTopLevelItem(child); } @@ -259,9 +255,7 @@ TaskLoft::TaskLoft() Content.push_back(taskbox); } -TaskLoft::~TaskLoft() -{ -} +TaskLoft::~TaskLoft() = default; void TaskLoft::open() { diff --git a/src/Mod/Part/Gui/TaskOffset.cpp b/src/Mod/Part/Gui/TaskOffset.cpp index f38ac8fe0c..1cadc25ee1 100644 --- a/src/Mod/Part/Gui/TaskOffset.cpp +++ b/src/Mod/Part/Gui/TaskOffset.cpp @@ -45,14 +45,8 @@ using namespace PartGui; class OffsetWidget::Private { public: - Ui_TaskOffset ui; - Part::Offset* offset; - Private() : offset(nullptr) - { - } - ~Private() - { - } + Ui_TaskOffset ui{}; + Part::Offset* offset{nullptr}; }; /* TRANSLATOR PartGui::OffsetWidget */ @@ -251,9 +245,7 @@ TaskOffset::TaskOffset(Part::Offset* offset) Content.push_back(taskbox); } -TaskOffset::~TaskOffset() -{ -} +TaskOffset::~TaskOffset() = default; Part::Offset* TaskOffset::getObject() const { diff --git a/src/Mod/Part/Gui/TaskShapeBuilder.cpp b/src/Mod/Part/Gui/TaskShapeBuilder.cpp index 6cec236405..fb1df53db1 100644 --- a/src/Mod/Part/Gui/TaskShapeBuilder.cpp +++ b/src/Mod/Part/Gui/TaskShapeBuilder.cpp @@ -56,9 +56,9 @@ namespace PartGui { { public: enum Type {VERTEX, EDGE, FACE, ALL}; - Type mode; + Type mode{ALL}; ShapeSelection() - : Gui::SelectionFilterGate(nullPointer()), mode(ALL) + : Gui::SelectionFilterGate(nullPointer()) { } void setMode(Type mode) @@ -98,9 +98,7 @@ public: Gui::Command::runCommand(Gui::Command::App, "from FreeCAD import Base"); Gui::Command::runCommand(Gui::Command::App, "import Part"); } - ~Private() - { - } + ~Private() = default; }; /* TRANSLATOR PartGui::ShapeBuilderWidget */ @@ -427,25 +425,23 @@ void ShapeBuilderWidget::createShellFromFace() } std::vector sel = faceFilter.Result[0]; - std::vector::iterator it; - std::vector::const_iterator jt; QString list; QTextStream str(&list); if (d->ui.checkFaces->isChecked()) { - std::set obj; - for (it=sel.begin();it!=sel.end();++it) - obj.insert(it->getObject()); + std::set obj; + for (const auto& it : sel) + obj.insert(it.getObject()); str << "[]"; - for (std::set::iterator it = obj.begin(); it != obj.end(); ++it) { - str << "+ App.ActiveDocument." << (*it)->getNameInDocument() << ".Shape.Faces"; + for (auto it : obj) { + str << "+ App.ActiveDocument." << it->getNameInDocument() << ".Shape.Faces"; } } else { str << "["; - for (it=sel.begin();it!=sel.end();++it) { - for (jt=it->getSubNames().begin();jt!=it->getSubNames().end();++jt) { - str << "App.ActiveDocument." << it->getFeatName() << ".Shape." << jt->c_str() << ", "; + for (const auto& it : sel) { + for (const auto& jt : it.getSubNames()) { + str << "App.ActiveDocument." << it.getFeatName() << ".Shape." << jt.c_str() << ", "; } } str << "]"; @@ -610,9 +606,7 @@ TaskShapeBuilder::TaskShapeBuilder() Content.push_back(taskbox); } -TaskShapeBuilder::~TaskShapeBuilder() -{ -} +TaskShapeBuilder::~TaskShapeBuilder() = default; void TaskShapeBuilder::open() { diff --git a/src/Mod/Part/Gui/TaskSweep.cpp b/src/Mod/Part/Gui/TaskSweep.cpp index 59366dfbce..fd4be63904 100644 --- a/src/Mod/Part/Gui/TaskSweep.cpp +++ b/src/Mod/Part/Gui/TaskSweep.cpp @@ -64,12 +64,8 @@ public: Ui_TaskSweep ui; QString buttonText; std::string document; - Private() - { - } - ~Private() - { - } + Private() = default; + ~Private() = default; class EdgeSelection : public Gui::SelectionFilterGate { @@ -162,8 +158,8 @@ void SweepWidget::findShapes() std::vector objs = activeDoc->getObjectsOfType(); - for (std::vector::iterator it = objs.begin(); it!=objs.end(); ++it) { - Part::TopoShape topoShape = Part::Feature::getTopoShape(*it); + for (auto obj : objs) { + Part::TopoShape topoShape = Part::Feature::getTopoShape(obj); if (topoShape.isNull()) { continue; } @@ -205,14 +201,14 @@ void SweepWidget::findShapes() shape.ShapeType() == TopAbs_WIRE || shape.ShapeType() == TopAbs_EDGE || shape.ShapeType() == TopAbs_VERTEX) { - QString label = QString::fromUtf8((*it)->Label.getValue()); - QString name = QString::fromLatin1((*it)->getNameInDocument()); + QString label = QString::fromUtf8(obj->Label.getValue()); + QString name = QString::fromLatin1(obj->getNameInDocument()); QTreeWidgetItem* child = new QTreeWidgetItem(); child->setText(0, label); child->setToolTip(0, label); child->setData(0, Qt::UserRole, name); - Gui::ViewProvider* vp = activeGui->getViewProvider(*it); + Gui::ViewProvider* vp = activeGui->getViewProvider(obj); if (vp) child->setIcon(0, vp->getIcon()); d->ui.selector->availableTreeWidget()->addTopLevelItem(child); } @@ -232,8 +228,8 @@ bool SweepWidget::isPathValid(const Gui::SelectionObject& sel) const if (!sub.empty()) { try { BRepBuilderAPI_MakeWire mkWire; - for (std::vector::const_iterator it = sub.begin(); it != sub.end(); ++it) { - TopoDS_Shape subshape = shape.getSubShape(it->c_str()); + for (const auto & it : sub) { + TopoDS_Shape subshape = shape.getSubShape(it.c_str()); mkWire.Add(TopoDS::Edge(subshape)); } pathShape = mkWire.Wire(); @@ -300,8 +296,8 @@ bool SweepWidget::accept() for (std::vector::const_iterator it = subnames.begin(); it != subnames.end(); ++it) { subShapes.push_back(Part::Feature::getTopoShape(docobj, subnames[0].c_str(), true /*need element*/)); } - for (std::vector::iterator it = subShapes.begin(); it != subShapes.end(); ++it) { - TopoDS_Shape dsShape = (*it).getShape(); + for (const auto & it : subShapes) { + TopoDS_Shape dsShape = it.getShape(); if (dsShape.IsNull() || dsShape.ShapeType() != TopAbs_EDGE) { //only edge selection allowed ok = false; } @@ -408,8 +404,8 @@ void SweepWidget::onButtonPathToggled(bool on) { if (on) { QList c = this->findChildren(); - for (QList::iterator it = c.begin(); it != c.end(); ++it) - (*it)->setEnabled(false); + for (auto it : c) + it->setEnabled(false); d->buttonText = d->ui.buttonPath->text(); d->ui.buttonPath->setText(tr("Done")); d->ui.buttonPath->setEnabled(true); @@ -421,8 +417,8 @@ void SweepWidget::onButtonPathToggled(bool on) } else { QList c = this->findChildren(); - for (QList::iterator it = c.begin(); it != c.end(); ++it) - (*it)->setEnabled(true); + for (auto it : c) + it->setEnabled(true); d->ui.buttonPath->setText(d->buttonText); d->ui.labelPath->clear(); Gui::Selection().rmvSelectionGate(); diff --git a/src/Mod/Part/Gui/TaskThickness.cpp b/src/Mod/Part/Gui/TaskThickness.cpp index 32d27f2512..45a4841226 100644 --- a/src/Mod/Part/Gui/TaskThickness.cpp +++ b/src/Mod/Part/Gui/TaskThickness.cpp @@ -48,16 +48,10 @@ using namespace PartGui; class ThicknessWidget::Private { public: - Ui_TaskOffset ui; + Ui_TaskOffset ui{}; QString text; std::string selection; - Part::Thickness* thickness; - Private() : thickness(nullptr) - { - } - ~Private() - { - } + Part::Thickness* thickness{nullptr}; class FaceSelection : public Gui::SelectionFilterGate { @@ -185,8 +179,8 @@ void ThicknessWidget::onFacesButtonToggled(bool on) { if (on) { QList c = this->findChildren(); - for (QList::iterator it = c.begin(); it != c.end(); ++it) - (*it)->setEnabled(false); + for (auto it : c) + it->setEnabled(false); d->ui.facesButton->setEnabled(true); d->ui.labelFaces->setText(tr("Select faces of the source object and press 'Done'")); d->ui.labelFaces->setEnabled(true); @@ -200,18 +194,18 @@ void ThicknessWidget::onFacesButtonToggled(bool on) } else { QList c = this->findChildren(); - for (QList::iterator it = c.begin(); it != c.end(); ++it) - (*it)->setEnabled(true); + for (auto it : c) + it->setEnabled(true); d->ui.facesButton->setText(d->text); d->ui.labelFaces->clear(); d->selection = Gui::Command::getPythonTuple (d->thickness->Faces.getValue()->getNameInDocument(), d->thickness->Faces.getSubValues()); std::vector sel = Gui::Selection().getSelectionEx(); - for (std::vector::iterator it = sel.begin(); it != sel.end(); ++it) { - if (it->getObject() == d->thickness->Faces.getValue()) { - d->thickness->Faces.setValue(it->getObject(), it->getSubNames()); - d->selection = it->getAsPropertyLinkSubString(); + for (auto & it : sel) { + if (it.getObject() == d->thickness->Faces.getValue()) { + d->thickness->Faces.setValue(it.getObject(), it.getSubNames()); + d->selection = it.getAsPropertyLinkSubString(); break; } } @@ -309,10 +303,6 @@ TaskThickness::TaskThickness(Part::Thickness* offset) Content.push_back(taskbox); } -TaskThickness::~TaskThickness() -{ -} - Part::Thickness* TaskThickness::getObject() const { return widget->getObject(); diff --git a/src/Mod/Part/Gui/TaskThickness.h b/src/Mod/Part/Gui/TaskThickness.h index 934bea337e..a5a1984ebe 100644 --- a/src/Mod/Part/Gui/TaskThickness.h +++ b/src/Mod/Part/Gui/TaskThickness.h @@ -66,7 +66,6 @@ class TaskThickness : public Gui::TaskView::TaskDialog public: explicit TaskThickness(Part::Thickness*); - ~TaskThickness() override; public: void open() override; diff --git a/src/Mod/Part/Gui/ViewProvider.cpp b/src/Mod/Part/Gui/ViewProvider.cpp index 1ac52f0ffb..00c9082186 100644 --- a/src/Mod/Part/Gui/ViewProvider.cpp +++ b/src/Mod/Part/Gui/ViewProvider.cpp @@ -39,13 +39,9 @@ using namespace PartGui; PROPERTY_SOURCE(PartGui::ViewProviderPart, PartGui::ViewProviderPartExt) -ViewProviderPart::ViewProviderPart() -{ -} +ViewProviderPart::ViewProviderPart() = default; -ViewProviderPart::~ViewProviderPart() -{ -} +ViewProviderPart::~ViewProviderPart() = default; bool ViewProviderPart::doubleClicked() { diff --git a/src/Mod/Part/Gui/ViewProvider.h b/src/Mod/Part/Gui/ViewProvider.h index d5f294e41d..6426c9ae16 100644 --- a/src/Mod/Part/Gui/ViewProvider.h +++ b/src/Mod/Part/Gui/ViewProvider.h @@ -36,8 +36,8 @@ namespace PartGui { class ViewProviderShapeBuilder : public Gui::ViewProviderBuilder { public: - ViewProviderShapeBuilder(){} - ~ViewProviderShapeBuilder() override{} + ViewProviderShapeBuilder() = default; + ~ViewProviderShapeBuilder() override = default; void buildNodes(const App::Property*, std::vector&) const override; void createShape(const App::Property*, SoSeparator*) const; }; diff --git a/src/Mod/Part/Gui/ViewProvider2DObject.cpp b/src/Mod/Part/Gui/ViewProvider2DObject.cpp index 880586d337..2e17597a53 100644 --- a/src/Mod/Part/Gui/ViewProvider2DObject.cpp +++ b/src/Mod/Part/Gui/ViewProvider2DObject.cpp @@ -318,13 +318,9 @@ void ViewProvider2DObjectGrid::updateGridExtent(float minx, float maxx, float mi PROPERTY_SOURCE(PartGui::ViewProvider2DObject, PartGui::ViewProviderPart) -ViewProvider2DObject::ViewProvider2DObject() -{ -} +ViewProvider2DObject::ViewProvider2DObject() = default; -ViewProvider2DObject::~ViewProvider2DObject() -{ -} +ViewProvider2DObject::~ViewProvider2DObject() = default; std::vector ViewProvider2DObject::getDisplayModes() const { diff --git a/src/Mod/Part/Gui/ViewProviderBoolean.cpp b/src/Mod/Part/Gui/ViewProviderBoolean.cpp index 321f7f9dab..aed6079f3e 100644 --- a/src/Mod/Part/Gui/ViewProviderBoolean.cpp +++ b/src/Mod/Part/Gui/ViewProviderBoolean.cpp @@ -39,13 +39,9 @@ using namespace PartGui; PROPERTY_SOURCE(PartGui::ViewProviderBoolean,PartGui::ViewProviderPart) -ViewProviderBoolean::ViewProviderBoolean() -{ -} +ViewProviderBoolean::ViewProviderBoolean() = default; -ViewProviderBoolean::~ViewProviderBoolean() -{ -} +ViewProviderBoolean::~ViewProviderBoolean() = default; std::vector ViewProviderBoolean::claimChildren()const { @@ -161,17 +157,13 @@ bool ViewProviderBoolean::onDelete(const std::vector &) PROPERTY_SOURCE(PartGui::ViewProviderMultiFuse,PartGui::ViewProviderPart) -ViewProviderMultiFuse::ViewProviderMultiFuse() -{ -} +ViewProviderMultiFuse::ViewProviderMultiFuse() = default; -ViewProviderMultiFuse::~ViewProviderMultiFuse() -{ -} +ViewProviderMultiFuse::~ViewProviderMultiFuse() = default; std::vector ViewProviderMultiFuse::claimChildren()const { - return std::vector(static_cast(getObject())->Shapes.getValues()); + return static_cast(getObject())->Shapes.getValues(); } QIcon ViewProviderMultiFuse::getIcon() const @@ -231,9 +223,10 @@ void ViewProviderMultiFuse::updateData(const App::Property* prop) } else if (prop->getTypeId().isDerivedFrom(App::PropertyLinkList::getClassTypeId())) { std::vector pShapes = static_cast(prop)->getValues(); - for (std::vector::iterator it = pShapes.begin(); it != pShapes.end(); ++it) { - if (*it) - Gui::Application::Instance->hideViewProvider(*it); + for (auto it : pShapes) { + if (it) { + Gui::Application::Instance->hideViewProvider(it); + } } } } @@ -243,9 +236,10 @@ bool ViewProviderMultiFuse::onDelete(const std::vector &) // get the input shapes Part::MultiFuse* pBool = static_cast(getObject()); std::vector pShapes = pBool->Shapes.getValues(); - for (std::vector::iterator it = pShapes.begin(); it != pShapes.end(); ++it) { - if (*it) - Gui::Application::Instance->showViewProvider(*it); + for (auto it : pShapes) { + if (it) { + Gui::Application::Instance->showViewProvider(it); + } } return true; @@ -298,17 +292,13 @@ void ViewProviderMultiFuse::dropObject(App::DocumentObject* obj) PROPERTY_SOURCE(PartGui::ViewProviderMultiCommon,PartGui::ViewProviderPart) -ViewProviderMultiCommon::ViewProviderMultiCommon() -{ -} +ViewProviderMultiCommon::ViewProviderMultiCommon() = default; -ViewProviderMultiCommon::~ViewProviderMultiCommon() -{ -} +ViewProviderMultiCommon::~ViewProviderMultiCommon() = default; std::vector ViewProviderMultiCommon::claimChildren()const { - return std::vector(static_cast(getObject())->Shapes.getValues()); + return static_cast(getObject())->Shapes.getValues(); } QIcon ViewProviderMultiCommon::getIcon() const @@ -368,9 +358,10 @@ void ViewProviderMultiCommon::updateData(const App::Property* prop) } else if (prop->getTypeId().isDerivedFrom(App::PropertyLinkList::getClassTypeId())) { std::vector pShapes = static_cast(prop)->getValues(); - for (std::vector::iterator it = pShapes.begin(); it != pShapes.end(); ++it) { - if (*it) - Gui::Application::Instance->hideViewProvider(*it); + for (auto it : pShapes) { + if (it) { + Gui::Application::Instance->hideViewProvider(it); + } } } } @@ -380,9 +371,10 @@ bool ViewProviderMultiCommon::onDelete(const std::vector &) // get the input shapes Part::MultiCommon* pBool = static_cast(getObject()); std::vector pShapes = pBool->Shapes.getValues(); - for (std::vector::iterator it = pShapes.begin(); it != pShapes.end(); ++it) { - if (*it) - Gui::Application::Instance->showViewProvider(*it); + for (auto it : pShapes) { + if (it) { + Gui::Application::Instance->showViewProvider(it); + } } return true; diff --git a/src/Mod/Part/Gui/ViewProviderBox.cpp b/src/Mod/Part/Gui/ViewProviderBox.cpp index 1189019c01..555ffbb8b1 100644 --- a/src/Mod/Part/Gui/ViewProviderBox.cpp +++ b/src/Mod/Part/Gui/ViewProviderBox.cpp @@ -39,10 +39,7 @@ ViewProviderBox::ViewProviderBox() sPixmap = "Part_Box_Parametric"; } -ViewProviderBox::~ViewProviderBox() -{ - -} +ViewProviderBox::~ViewProviderBox() = default; diff --git a/src/Mod/Part/Gui/ViewProviderCircleParametric.cpp b/src/Mod/Part/Gui/ViewProviderCircleParametric.cpp index 5d5c9f7771..4802f49291 100644 --- a/src/Mod/Part/Gui/ViewProviderCircleParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderCircleParametric.cpp @@ -39,10 +39,7 @@ ViewProviderCircleParametric::ViewProviderCircleParametric() sPixmap = "Part_Circle_Parametric"; } -ViewProviderCircleParametric::~ViewProviderCircleParametric() -{ - -} +ViewProviderCircleParametric::~ViewProviderCircleParametric() = default; diff --git a/src/Mod/Part/Gui/ViewProviderCompound.cpp b/src/Mod/Part/Gui/ViewProviderCompound.cpp index d7969a1aae..362dd4dcad 100644 --- a/src/Mod/Part/Gui/ViewProviderCompound.cpp +++ b/src/Mod/Part/Gui/ViewProviderCompound.cpp @@ -42,9 +42,7 @@ ViewProviderCompound::ViewProviderCompound() sPixmap = "Part_Compound.svg"; } -ViewProviderCompound::~ViewProviderCompound() -{ -} +ViewProviderCompound::~ViewProviderCompound() = default; std::vector ViewProviderCompound::claimChildren() const { @@ -56,9 +54,9 @@ bool ViewProviderCompound::onDelete(const std::vector &) // get the input shapes Part::Compound* pComp = static_cast(getObject()); std::vector pLinks = pComp->Links.getValues(); - for (std::vector::iterator it = pLinks.begin(); it != pLinks.end(); ++it) { - if (*it) - Gui::Application::Instance->showViewProvider(*it); + for (auto pLink : pLinks) { + if (pLink) + Gui::Application::Instance->showViewProvider(pLink); } return true; @@ -78,8 +76,8 @@ void ViewProviderCompound::updateData(const App::Property* prop) // See also Compound::execute std::set tempSources; std::vector filter; - for (std::vector::iterator it = sources.begin(); it != sources.end(); ++it) { - Part::Feature* objBase = dynamic_cast(*it); + for (auto source : sources) { + Part::Feature* objBase = dynamic_cast(source); if (objBase) { auto pos = tempSources.insert(objBase); if (pos.second) { @@ -135,8 +133,8 @@ void ViewProviderCompound::updateData(const App::Property* prop) } else if (prop->getTypeId().isDerivedFrom(App::PropertyLinkList::getClassTypeId())) { const std::vector& pBases = static_cast(prop)->getValues(); - for (std::vector::const_iterator it = pBases.begin(); it != pBases.end(); ++it) { - if (*it) Gui::Application::Instance->hideViewProvider(*it); + for (auto pBase : pBases) { + if (pBase) Gui::Application::Instance->hideViewProvider(pBase); } } } diff --git a/src/Mod/Part/Gui/ViewProviderConeParametric.cpp b/src/Mod/Part/Gui/ViewProviderConeParametric.cpp index 014490ffa6..0289771c8e 100644 --- a/src/Mod/Part/Gui/ViewProviderConeParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderConeParametric.cpp @@ -39,10 +39,7 @@ ViewProviderConeParametric::ViewProviderConeParametric() sPixmap = "Part_Cone_Parametric"; } -ViewProviderConeParametric::~ViewProviderConeParametric() -{ - -} +ViewProviderConeParametric::~ViewProviderConeParametric() = default; diff --git a/src/Mod/Part/Gui/ViewProviderCurveNet.cpp b/src/Mod/Part/Gui/ViewProviderCurveNet.cpp index f1dc6e2763..3b472b64e4 100644 --- a/src/Mod/Part/Gui/ViewProviderCurveNet.cpp +++ b/src/Mod/Part/Gui/ViewProviderCurveNet.cpp @@ -58,7 +58,6 @@ PROPERTY_SOURCE(PartGui::ViewProviderCurveNet,PartGui::ViewProviderPart) ViewProviderCurveNet::ViewProviderCurveNet() - : bInEdit(false),bMovePointMode(false),EdgeRoot(nullptr),VertexRoot(nullptr) { LineWidth.setValue(4.0f); PointSize.setValue(0.05f); @@ -72,10 +71,7 @@ ViewProviderCurveNet::ViewProviderCurveNet() */ } -ViewProviderCurveNet::~ViewProviderCurveNet() -{ - -} +ViewProviderCurveNet::~ViewProviderCurveNet() = default; void ViewProviderCurveNet::attach(App::DocumentObject *pcFeat) { @@ -190,12 +186,12 @@ bool ViewProviderCurveNet::handleEvent(const SoEvent * const ev, Gui::View3DInve Base::Console().Log("ViewProviderCurveNet::handleEvent() press left\n"); bool bIsNode = false; - for (std::list::iterator It = NodeList.begin();It != NodeList.end(); It++) + for (const auto & It : NodeList) { - if (It->pcHighlight->isHighlighted()) + if (It.pcHighlight->isHighlighted()) { bIsNode = true; - PointToMove = *It; + PointToMove = It; break; } } diff --git a/src/Mod/Part/Gui/ViewProviderCurveNet.h b/src/Mod/Part/Gui/ViewProviderCurveNet.h index 09b708a509..46605917ea 100644 --- a/src/Mod/Part/Gui/ViewProviderCurveNet.h +++ b/src/Mod/Part/Gui/ViewProviderCurveNet.h @@ -76,11 +76,11 @@ protected: std::list NodeList; - bool bInEdit; - bool bMovePointMode; + bool bInEdit{false}; + bool bMovePointMode{false}; Node PointToMove; /// root of the edge and vertex points - SoSeparator *EdgeRoot, *VertexRoot; + SoSeparator *EdgeRoot{nullptr}, *VertexRoot{nullptr}; Standard_Boolean computeEdges (SoSeparator* root, const TopoDS_Shape &myShape); Standard_Boolean computeVertices(SoSeparator* root, const TopoDS_Shape &myShape); diff --git a/src/Mod/Part/Gui/ViewProviderCylinderParametric.cpp b/src/Mod/Part/Gui/ViewProviderCylinderParametric.cpp index 1502a0704b..00cf7b057d 100644 --- a/src/Mod/Part/Gui/ViewProviderCylinderParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderCylinderParametric.cpp @@ -39,10 +39,7 @@ ViewProviderCylinderParametric::ViewProviderCylinderParametric() sPixmap = "Part_Cylinder_Parametric"; } -ViewProviderCylinderParametric::~ViewProviderCylinderParametric() -{ - -} +ViewProviderCylinderParametric::~ViewProviderCylinderParametric() = default; diff --git a/src/Mod/Part/Gui/ViewProviderEllipseParametric.cpp b/src/Mod/Part/Gui/ViewProviderEllipseParametric.cpp index dd908763b6..c1831b0b08 100644 --- a/src/Mod/Part/Gui/ViewProviderEllipseParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderEllipseParametric.cpp @@ -39,10 +39,7 @@ ViewProviderEllipseParametric::ViewProviderEllipseParametric() sPixmap = "Part_Ellipse_Parametric"; } -ViewProviderEllipseParametric::~ViewProviderEllipseParametric() -{ - -} +ViewProviderEllipseParametric::~ViewProviderEllipseParametric() = default; diff --git a/src/Mod/Part/Gui/ViewProviderExt.cpp b/src/Mod/Part/Gui/ViewProviderExt.cpp index cb6ec08dd2..04be9a3022 100644 --- a/src/Mod/Part/Gui/ViewProviderExt.cpp +++ b/src/Mod/Part/Gui/ViewProviderExt.cpp @@ -67,7 +67,6 @@ # include # include -# include # include #endif @@ -509,31 +508,27 @@ std::string ViewProviderPartExt::getElement(const SoDetail* detail) const SoDetail* ViewProviderPartExt::getDetail(const char* subelement) const { - std::string element; - int index; - SoDetail* detail = nullptr; - boost::regex ex("^(Face|Edge|Vertex)([1-9][0-9]*)$"); - boost::cmatch what; + auto type = Part::TopoShape::getElementTypeAndIndex(subelement); + std::string element = type.first; + int index = type.second; - if (boost::regex_match(subelement, what, ex)) { - element = what[1].str(); - index = std::atoi(what[2].str().c_str()); - - if (element == "Face") { - detail = new SoFaceDetail(); - static_cast(detail)->setPartIndex(index - 1); - } - else if (element == "Edge") { - detail = new SoLineDetail(); - static_cast(detail)->setLineIndex(index - 1); - } - else if (element == "Vertex") { - detail = new SoPointDetail(); - static_cast(detail)->setCoordinateIndex(index + nodeset->startIndex.getValue() - 1); - } + if (element == "Face") { + SoFaceDetail* detail = new SoFaceDetail(); + detail->setPartIndex(index - 1); + return detail; + } + else if (element == "Edge") { + SoLineDetail* detail = new SoLineDetail(); + detail->setLineIndex(index - 1); + return detail; + } + else if (element == "Vertex") { + SoPointDetail* detail = new SoPointDetail(); + static_cast(detail)->setCoordinateIndex(index + nodeset->startIndex.getValue() - 1); + return detail; } - return detail; + return nullptr; } std::vector ViewProviderPartExt::getModelPoints(const SoPickedPoint* pp) const @@ -578,12 +573,12 @@ std::vector ViewProviderPartExt::getModelPoints(const SoPickedPo } // if something went wrong returns an empty array - return std::vector(); + return {}; } std::vector ViewProviderPartExt::getSelectionShape(const char* /*Element*/) const { - return std::vector(); + return {}; } void ViewProviderPartExt::setHighlightedFaces(const std::vector& colors) @@ -1253,8 +1248,8 @@ void ViewProviderPartExt::updateVisual() norms[i].normalize(); std::vector lineSetCoords; - for (std::map >::iterator it = lineSetMap.begin(); it != lineSetMap.end(); ++it) { - lineSetCoords.insert(lineSetCoords.end(), it->second.begin(), it->second.end()); + for (const auto & it : lineSetMap) { + lineSetCoords.insert(lineSetCoords.end(), it.second.begin(), it.second.end()); lineSetCoords.push_back(-1); } diff --git a/src/Mod/Part/Gui/ViewProviderExtrusion.cpp b/src/Mod/Part/Gui/ViewProviderExtrusion.cpp index cfe4310662..f4e5644b7a 100644 --- a/src/Mod/Part/Gui/ViewProviderExtrusion.cpp +++ b/src/Mod/Part/Gui/ViewProviderExtrusion.cpp @@ -36,9 +36,7 @@ ViewProviderExtrusion::ViewProviderExtrusion() sPixmap = "Part_Extrude.svg"; } -ViewProviderExtrusion::~ViewProviderExtrusion() -{ -} +ViewProviderExtrusion::~ViewProviderExtrusion() = default; std::vector ViewProviderExtrusion::claimChildren()const { diff --git a/src/Mod/Part/Gui/ViewProviderGridExtension.cpp b/src/Mod/Part/Gui/ViewProviderGridExtension.cpp index 82cbe639f4..ed298adff3 100644 --- a/src/Mod/Part/Gui/ViewProviderGridExtension.cpp +++ b/src/Mod/Part/Gui/ViewProviderGridExtension.cpp @@ -433,8 +433,7 @@ ViewProviderGridExtension::ViewProviderGridExtension() } -ViewProviderGridExtension::~ViewProviderGridExtension() -{} +ViewProviderGridExtension::~ViewProviderGridExtension() = default; void ViewProviderGridExtension::setGridEnabled(bool enable) { diff --git a/src/Mod/Part/Gui/ViewProviderHelixParametric.cpp b/src/Mod/Part/Gui/ViewProviderHelixParametric.cpp index 4ebb9a9562..bc187e3c30 100644 --- a/src/Mod/Part/Gui/ViewProviderHelixParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderHelixParametric.cpp @@ -41,10 +41,7 @@ ViewProviderHelixParametric::ViewProviderHelixParametric() extension.initExtension(this); } -ViewProviderHelixParametric::~ViewProviderHelixParametric() -{ - -} +ViewProviderHelixParametric::~ViewProviderHelixParametric() = default; std::vector ViewProviderHelixParametric::getDisplayModes() const { @@ -72,10 +69,7 @@ ViewProviderSpiralParametric::ViewProviderSpiralParametric() extension.initExtension(this); } -ViewProviderSpiralParametric::~ViewProviderSpiralParametric() -{ - -} +ViewProviderSpiralParametric::~ViewProviderSpiralParametric() = default; std::vector ViewProviderSpiralParametric::getDisplayModes() const { diff --git a/src/Mod/Part/Gui/ViewProviderImport.cpp b/src/Mod/Part/Gui/ViewProviderImport.cpp index 00c3eb9bc9..743f9016c8 100644 --- a/src/Mod/Part/Gui/ViewProviderImport.cpp +++ b/src/Mod/Part/Gui/ViewProviderImport.cpp @@ -37,10 +37,7 @@ ViewProviderImport::ViewProviderImport() sPixmap = "Part_FeatureImport"; } -ViewProviderImport::~ViewProviderImport() -{ - -} +ViewProviderImport::~ViewProviderImport() = default; // ********************************************************************************** diff --git a/src/Mod/Part/Gui/ViewProviderLineParametric.cpp b/src/Mod/Part/Gui/ViewProviderLineParametric.cpp index 7f17b5a0b0..c4222aa6ed 100644 --- a/src/Mod/Part/Gui/ViewProviderLineParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderLineParametric.cpp @@ -39,10 +39,7 @@ ViewProviderLineParametric::ViewProviderLineParametric() sPixmap = "Part_Line_Parametric"; } -ViewProviderLineParametric::~ViewProviderLineParametric() -{ - -} +ViewProviderLineParametric::~ViewProviderLineParametric() = default; diff --git a/src/Mod/Part/Gui/ViewProviderMirror.cpp b/src/Mod/Part/Gui/ViewProviderMirror.cpp index f9210f9042..164316a4c7 100644 --- a/src/Mod/Part/Gui/ViewProviderMirror.cpp +++ b/src/Mod/Part/Gui/ViewProviderMirror.cpp @@ -226,9 +226,7 @@ ViewProviderFillet::ViewProviderFillet() sPixmap = "Part_Fillet"; } -ViewProviderFillet::~ViewProviderFillet() -{ -} +ViewProviderFillet::~ViewProviderFillet() = default; void ViewProviderFillet::updateData(const App::Property* prop) { @@ -338,9 +336,7 @@ ViewProviderChamfer::ViewProviderChamfer() sPixmap = "Part_Chamfer"; } -ViewProviderChamfer::~ViewProviderChamfer() -{ -} +ViewProviderChamfer::~ViewProviderChamfer() = default; void ViewProviderChamfer::updateData(const App::Property* prop) { @@ -450,9 +446,7 @@ ViewProviderRevolution::ViewProviderRevolution() sPixmap = "Part_Revolve"; } -ViewProviderRevolution::~ViewProviderRevolution() -{ -} +ViewProviderRevolution::~ViewProviderRevolution() = default; std::vector ViewProviderRevolution::claimChildren() const { @@ -481,9 +475,7 @@ ViewProviderLoft::ViewProviderLoft() sPixmap = "Part_Loft"; } -ViewProviderLoft::~ViewProviderLoft() -{ -} +ViewProviderLoft::~ViewProviderLoft() = default; std::vector ViewProviderLoft::claimChildren() const { @@ -504,9 +496,7 @@ ViewProviderSweep::ViewProviderSweep() sPixmap = "Part_Sweep"; } -ViewProviderSweep::~ViewProviderSweep() -{ -} +ViewProviderSweep::~ViewProviderSweep() = default; std::vector ViewProviderSweep::claimChildren() const { @@ -531,9 +521,7 @@ ViewProviderOffset::ViewProviderOffset() sPixmap = "Part_Offset"; } -ViewProviderOffset::~ViewProviderOffset() -{ -} +ViewProviderOffset::~ViewProviderOffset() = default; void ViewProviderOffset::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) { @@ -615,9 +603,7 @@ ViewProviderThickness::ViewProviderThickness() sPixmap = "Part_Thickness"; } -ViewProviderThickness::~ViewProviderThickness() -{ -} +ViewProviderThickness::~ViewProviderThickness() = default; void ViewProviderThickness::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) { @@ -694,9 +680,7 @@ ViewProviderRefine::ViewProviderRefine() sPixmap = "Part_Refine_Shape"; } -ViewProviderRefine::~ViewProviderRefine() -{ -} +ViewProviderRefine::~ViewProviderRefine() = default; // --------------------------------------- @@ -708,6 +692,4 @@ ViewProviderReverse::ViewProviderReverse() //sPixmap = "Part_Reverse_Shape"; } -ViewProviderReverse::~ViewProviderReverse() -{ -} +ViewProviderReverse::~ViewProviderReverse() = default; diff --git a/src/Mod/Part/Gui/ViewProviderPlaneParametric.cpp b/src/Mod/Part/Gui/ViewProviderPlaneParametric.cpp index d13e8505d9..97ea5efcc2 100644 --- a/src/Mod/Part/Gui/ViewProviderPlaneParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderPlaneParametric.cpp @@ -40,10 +40,7 @@ ViewProviderPlaneParametric::ViewProviderPlaneParametric() sPixmap = "Part_Plane_Parametric"; } -ViewProviderPlaneParametric::~ViewProviderPlaneParametric() -{ - -} +ViewProviderPlaneParametric::~ViewProviderPlaneParametric() = default; std::vector ViewProviderPlaneParametric::getDisplayModes() const { @@ -64,17 +61,13 @@ std::vector ViewProviderPlaneParametric::getDisplayModes() const PROPERTY_SOURCE(PartGui::ViewProviderFace, PartGui::ViewProviderPlaneParametric) -ViewProviderFace::ViewProviderFace() -{ -} +ViewProviderFace::ViewProviderFace() = default; -ViewProviderFace::~ViewProviderFace() -{ -} +ViewProviderFace::~ViewProviderFace() = default; std::vector ViewProviderFace::claimChildren() const { - return std::vector(static_cast(getObject())->Sources.getValues()); + return static_cast(getObject())->Sources.getValues(); } bool ViewProviderFace::canDragObjects() const diff --git a/src/Mod/Part/Gui/ViewProviderPointParametric.cpp b/src/Mod/Part/Gui/ViewProviderPointParametric.cpp index 6ac37aee31..8e53239152 100644 --- a/src/Mod/Part/Gui/ViewProviderPointParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderPointParametric.cpp @@ -39,10 +39,7 @@ ViewProviderPointParametric::ViewProviderPointParametric() sPixmap = "Part_Point_Parametric"; } -ViewProviderPointParametric::~ViewProviderPointParametric() -{ - -} +ViewProviderPointParametric::~ViewProviderPointParametric() = default; diff --git a/src/Mod/Part/Gui/ViewProviderPrimitive.cpp b/src/Mod/Part/Gui/ViewProviderPrimitive.cpp index 668f938a88..f03410c94a 100644 --- a/src/Mod/Part/Gui/ViewProviderPrimitive.cpp +++ b/src/Mod/Part/Gui/ViewProviderPrimitive.cpp @@ -45,10 +45,7 @@ ViewProviderPrimitive::ViewProviderPrimitive() extension.setIgnoreOverlayIcon(true); } -ViewProviderPrimitive::~ViewProviderPrimitive() -{ - -} +ViewProviderPrimitive::~ViewProviderPrimitive() = default; void ViewProviderPrimitive::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) { diff --git a/src/Mod/Part/Gui/ViewProviderPrism.cpp b/src/Mod/Part/Gui/ViewProviderPrism.cpp index 28434e108c..d125e05ae5 100644 --- a/src/Mod/Part/Gui/ViewProviderPrism.cpp +++ b/src/Mod/Part/Gui/ViewProviderPrism.cpp @@ -39,10 +39,7 @@ ViewProviderPrism::ViewProviderPrism() sPixmap = "Part_Prism_Parametric"; } -ViewProviderPrism::~ViewProviderPrism() -{ - -} +ViewProviderPrism::~ViewProviderPrism() = default; // ********************************************************************************** @@ -71,10 +68,7 @@ ViewProviderWedge::ViewProviderWedge() sPixmap = "Part_Wedge_Parametric"; } -ViewProviderWedge::~ViewProviderWedge() -{ - -} +ViewProviderWedge::~ViewProviderWedge() = default; // ********************************************************************************** diff --git a/src/Mod/Part/Gui/ViewProviderPython.cpp b/src/Mod/Part/Gui/ViewProviderPython.cpp index e7fa75fe1b..f689589cd3 100644 --- a/src/Mod/Part/Gui/ViewProviderPython.cpp +++ b/src/Mod/Part/Gui/ViewProviderPython.cpp @@ -35,13 +35,9 @@ using namespace PartGui; PROPERTY_SOURCE(PartGui::ViewProviderCustom, PartGui::ViewProviderPart) -ViewProviderCustom::ViewProviderCustom() -{ -} +ViewProviderCustom::ViewProviderCustom() = default; -ViewProviderCustom::~ViewProviderCustom() -{ -} +ViewProviderCustom::~ViewProviderCustom() = default; void ViewProviderCustom::onChanged(const App::Property* prop) { diff --git a/src/Mod/Part/Gui/ViewProviderReference.cpp b/src/Mod/Part/Gui/ViewProviderReference.cpp index 76279989f9..14a45ffe4e 100644 --- a/src/Mod/Part/Gui/ViewProviderReference.cpp +++ b/src/Mod/Part/Gui/ViewProviderReference.cpp @@ -48,18 +48,6 @@ PROPERTY_SOURCE(PartGui::ViewProviderPartReference, Gui::ViewProviderGeometryObj // Construction/Destruction ViewProviderPartReference::ViewProviderPartReference() - : EdgeRoot(nullptr) - , FaceRoot(nullptr) - , VertexRoot(nullptr) - , pcLineMaterial(nullptr) - , pcPointMaterial(nullptr) - , pcLineStyle(nullptr) - , pcPointStyle(nullptr) - , pcControlPoints(nullptr) - , pShapeHints(nullptr) - , meshDeviation(0.01f) - , noPerVertexNormals(true) - , qualityNormals(false) { App::Material mat; mat.ambientColor.set(0.2f,0.2f,0.2f); diff --git a/src/Mod/Part/Gui/ViewProviderReference.h b/src/Mod/Part/Gui/ViewProviderReference.h index 1707d9b250..2408cbe818 100644 --- a/src/Mod/Part/Gui/ViewProviderReference.h +++ b/src/Mod/Part/Gui/ViewProviderReference.h @@ -86,21 +86,21 @@ protected: //bool loadParameter(); // nodes for the data representation - SoGroup *EdgeRoot; - SoGroup *FaceRoot; - SoGroup *VertexRoot; - SoMaterial *pcLineMaterial; - SoMaterial *pcPointMaterial; - SoDrawStyle *pcLineStyle; - SoDrawStyle *pcPointStyle; - SoSwitch *pcControlPoints; - SoShapeHints *pShapeHints; + SoGroup *EdgeRoot{nullptr}; + SoGroup *FaceRoot{nullptr}; + SoGroup *VertexRoot{nullptr}; + SoMaterial *pcLineMaterial{nullptr}; + SoMaterial *pcPointMaterial{nullptr}; + SoDrawStyle *pcLineStyle{nullptr}; + SoDrawStyle *pcPointStyle{nullptr}; + SoSwitch *pcControlPoints{nullptr}; + SoShapeHints *pShapeHints{nullptr}; private: // settings stuff - float meshDeviation; - bool noPerVertexNormals; - bool qualityNormals; + float meshDeviation{0.01F}; + bool noPerVertexNormals{true}; + bool qualityNormals{false}; static App::PropertyFloatConstraint::Constraints floatRange; static const char* LightingEnums[]; }; diff --git a/src/Mod/Part/Gui/ViewProviderRegularPolygon.cpp b/src/Mod/Part/Gui/ViewProviderRegularPolygon.cpp index c72fc5acb9..75bff76bb8 100644 --- a/src/Mod/Part/Gui/ViewProviderRegularPolygon.cpp +++ b/src/Mod/Part/Gui/ViewProviderRegularPolygon.cpp @@ -39,11 +39,7 @@ ViewProviderRegularPolygon::ViewProviderRegularPolygon() sPixmap = "Part_Polygon_Parametric"; } -ViewProviderRegularPolygon::~ViewProviderRegularPolygon() -{ - -} - +ViewProviderRegularPolygon::~ViewProviderRegularPolygon() = default; // ********************************************************************************** diff --git a/src/Mod/Part/Gui/ViewProviderRuledSurface.cpp b/src/Mod/Part/Gui/ViewProviderRuledSurface.cpp index b8d8e7d885..3d76ed99bf 100644 --- a/src/Mod/Part/Gui/ViewProviderRuledSurface.cpp +++ b/src/Mod/Part/Gui/ViewProviderRuledSurface.cpp @@ -42,10 +42,7 @@ ViewProviderRuledSurface::ViewProviderRuledSurface() sPixmap = "Part_RuledSurface.svg"; } -ViewProviderRuledSurface::~ViewProviderRuledSurface() -{ - -} +ViewProviderRuledSurface::~ViewProviderRuledSurface() = default; std::vector ViewProviderRuledSurface::claimChildren() const { diff --git a/src/Mod/Part/Gui/ViewProviderSphereParametric.cpp b/src/Mod/Part/Gui/ViewProviderSphereParametric.cpp index 427310794e..fc7bc85e81 100644 --- a/src/Mod/Part/Gui/ViewProviderSphereParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderSphereParametric.cpp @@ -37,10 +37,7 @@ ViewProviderSphereParametric::ViewProviderSphereParametric() sPixmap = "Part_Sphere_Parametric"; } -ViewProviderSphereParametric::~ViewProviderSphereParametric() -{ - -} +ViewProviderSphereParametric::~ViewProviderSphereParametric() = default; std::vector ViewProviderSphereParametric::getDisplayModes() const { @@ -64,9 +61,7 @@ ViewProviderEllipsoid::ViewProviderEllipsoid() sPixmap = "Part_Ellipsoid_Parametric"; } -ViewProviderEllipsoid::~ViewProviderEllipsoid() -{ -} +ViewProviderEllipsoid::~ViewProviderEllipsoid() = default; std::vector ViewProviderEllipsoid::getDisplayModes() const { diff --git a/src/Mod/Part/Gui/ViewProviderSpline.cpp b/src/Mod/Part/Gui/ViewProviderSpline.cpp index 1a03deac65..9c875334e6 100644 --- a/src/Mod/Part/Gui/ViewProviderSpline.cpp +++ b/src/Mod/Part/Gui/ViewProviderSpline.cpp @@ -64,9 +64,7 @@ ViewProviderSpline::ViewProviderSpline() extension.initExtension(this); } -ViewProviderSpline::~ViewProviderSpline() -{ -} +ViewProviderSpline::~ViewProviderSpline() = default; QIcon ViewProviderSpline::getIcon() const { @@ -79,7 +77,6 @@ EXTENSION_PROPERTY_SOURCE(PartGui::ViewProviderSplineExtension, Gui::ViewProvide ViewProviderSplineExtension::ViewProviderSplineExtension() - : pcControlPoints(nullptr) { initExtensionType(ViewProviderSplineExtension::getExtensionClassTypeId()); EXTENSION_ADD_PROPERTY(ControlPoints,(false)); @@ -220,11 +217,11 @@ void ViewProviderSplineExtension::showControlPointsOfEdge(const TopoDS_Edge& edg int index=0; SbVec3f* verts = controlcoords->point.startEditing(); - for (std::list::iterator p = poles.begin(); p != poles.end(); ++p) { - verts[index++].setValue((float)p->X(), (float)p->Y(), (float)p->Z()); + for (const auto & pole : poles) { + verts[index++].setValue((float)pole.X(), (float)pole.Y(), (float)pole.Z()); } - for (std::list::iterator k = knots.begin(); k != knots.end(); ++k) { - verts[index++].setValue((float)k->X(), (float)k->Y(), (float)k->Z()); + for (const auto & knot : knots) { + verts[index++].setValue((float)knot.X(), (float)knot.Y(), (float)knot.Z()); } controlcoords->point.finishEditing(); @@ -296,13 +293,13 @@ void ViewProviderSplineExtension::showControlPointsOfFace(const TopoDS_Face& fac int index=0; SbVec3f* verts = coords->point.startEditing(); - for (std::vector >::iterator u = poles.begin(); u != poles.end(); ++u) { - for (std::vector::iterator v = u->begin(); v != u->end(); ++v) { - verts[index++].setValue((float)v->X(), (float)v->Y(), (float)v->Z()); + for (const auto & pole : poles) { + for (const auto& v : pole) { + verts[index++].setValue((float)v.X(), (float)v.Y(), (float)v.Z()); } } - for (std::list::iterator k = knots.begin(); k != knots.end(); ++k) { - verts[index++].setValue((float)k->X(), (float)k->Y(), (float)k->Z()); + for (const auto & knot : knots) { + verts[index++].setValue((float)knot.X(), (float)knot.Y(), (float)knot.Z()); } coords->point.finishEditing(); diff --git a/src/Mod/Part/Gui/ViewProviderSpline.h b/src/Mod/Part/Gui/ViewProviderSpline.h index 760a9b0244..c958257d8b 100644 --- a/src/Mod/Part/Gui/ViewProviderSpline.h +++ b/src/Mod/Part/Gui/ViewProviderSpline.h @@ -50,7 +50,7 @@ protected: void showControlPointsOfEdge(const TopoDS_Edge&); void showControlPointsOfFace(const TopoDS_Face&); - SoSwitch *pcControlPoints; + SoSwitch *pcControlPoints{nullptr}; }; class PartGuiExport ViewProviderSpline : public ViewProviderPartExt diff --git a/src/Mod/Part/Gui/ViewProviderTorusParametric.cpp b/src/Mod/Part/Gui/ViewProviderTorusParametric.cpp index 451613a6d1..0e9cf97e74 100644 --- a/src/Mod/Part/Gui/ViewProviderTorusParametric.cpp +++ b/src/Mod/Part/Gui/ViewProviderTorusParametric.cpp @@ -39,12 +39,7 @@ ViewProviderTorusParametric::ViewProviderTorusParametric() sPixmap = "Part_Torus_Parametric"; } -ViewProviderTorusParametric::~ViewProviderTorusParametric() -{ - -} - - +ViewProviderTorusParametric::~ViewProviderTorusParametric() = default; // ********************************************************************************** diff --git a/src/Mod/Part/Gui/Workbench.cpp b/src/Mod/Part/Gui/Workbench.cpp index 035ebc56fb..27abd8a302 100644 --- a/src/Mod/Part/Gui/Workbench.cpp +++ b/src/Mod/Part/Gui/Workbench.cpp @@ -47,13 +47,9 @@ using namespace PartGui; /// @namespace PartGui @class Workbench TYPESYSTEM_SOURCE(PartGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; Gui::MenuItem* Workbench::setupMenuBar() const { diff --git a/src/Mod/PartDesign/App/AppPartDesignPy.cpp b/src/Mod/PartDesign/App/AppPartDesignPy.cpp index a9473d999e..f47740db2e 100644 --- a/src/Mod/PartDesign/App/AppPartDesignPy.cpp +++ b/src/Mod/PartDesign/App/AppPartDesignPy.cpp @@ -40,8 +40,6 @@ public: initialize("This module is the PartDesign module."); // register with Python } - ~Module() override {} - private: Py::Object makeFilletArc(const Py::Tuple& args) { diff --git a/src/Mod/PartDesign/App/Body.cpp b/src/Mod/PartDesign/App/Body.cpp index c6e64bcba1..b2b38323ce 100644 --- a/src/Mod/PartDesign/App/Body.cpp +++ b/src/Mod/PartDesign/App/Body.cpp @@ -541,8 +541,8 @@ void Body::onDocumentRestored() bool Body::isSolid() { std::vector features = getFullModel(); - for (auto it = features.begin(); it!=features.end(); ++it){ - if (isSolidFeature((*it))) + for (auto feature : features){ + if (isSolidFeature(feature)) return true; } return false; diff --git a/src/Mod/PartDesign/App/BodyPyImp.cpp b/src/Mod/PartDesign/App/BodyPyImp.cpp index 6f3bcf4e1e..63f4d5dcc9 100644 --- a/src/Mod/PartDesign/App/BodyPyImp.cpp +++ b/src/Mod/PartDesign/App/BodyPyImp.cpp @@ -35,7 +35,7 @@ using namespace PartDesign; // returns a string which represents the object e.g. when printed in python std::string BodyPy::representation() const { - return std::string(""); + return {""}; } diff --git a/src/Mod/PartDesign/App/CMakeLists.txt b/src/Mod/PartDesign/App/CMakeLists.txt index d74a77c1d5..d8db758576 100644 --- a/src/Mod/PartDesign/App/CMakeLists.txt +++ b/src/Mod/PartDesign/App/CMakeLists.txt @@ -16,6 +16,7 @@ include_directories( ${PYTHON_INCLUDE_DIRS} ${XercesC_INCLUDE_DIRS} ${QT_INCLUDE_DIR} + ${CMAKE_SOURCE_DIR}/src/3rdParty/json/single_include/nlohmann/ ) link_directories(${OCC_LIBRARY_DIR}) diff --git a/src/Mod/PartDesign/App/DatumCS.cpp b/src/Mod/PartDesign/App/DatumCS.cpp index f5a1493b72..204f8cd8e4 100644 --- a/src/Mod/PartDesign/App/DatumCS.cpp +++ b/src/Mod/PartDesign/App/DatumCS.cpp @@ -52,9 +52,7 @@ CoordinateSystem::CoordinateSystem() Shape.setValue(builder.Shape()); } -CoordinateSystem::~CoordinateSystem() -{ -} +CoordinateSystem::~CoordinateSystem() = default; Base::Vector3d CoordinateSystem::getXAxis() { diff --git a/src/Mod/PartDesign/App/DatumLine.cpp b/src/Mod/PartDesign/App/DatumLine.cpp index 83eb2c75ab..3df3883635 100644 --- a/src/Mod/PartDesign/App/DatumLine.cpp +++ b/src/Mod/PartDesign/App/DatumLine.cpp @@ -65,9 +65,7 @@ Line::Line() Support.touch(); } -Line::~Line() -{ -} +Line::~Line() = default; Base::Vector3d Line::getDirection() const { diff --git a/src/Mod/PartDesign/App/DatumPlane.cpp b/src/Mod/PartDesign/App/DatumPlane.cpp index 9783302be8..cd9f6a30a9 100644 --- a/src/Mod/PartDesign/App/DatumPlane.cpp +++ b/src/Mod/PartDesign/App/DatumPlane.cpp @@ -66,9 +66,7 @@ Plane::Plane() Shape.setValue(myShape); } -Plane::~Plane() -{ -} +Plane::~Plane() = default; Base::Vector3d Plane::getNormal() { diff --git a/src/Mod/PartDesign/App/DatumPoint.cpp b/src/Mod/PartDesign/App/DatumPoint.cpp index 9fd4335f91..0bfee2c1ad 100644 --- a/src/Mod/PartDesign/App/DatumPoint.cpp +++ b/src/Mod/PartDesign/App/DatumPoint.cpp @@ -43,9 +43,7 @@ Point::Point() this->makeShape(); } -Point::~Point() -{ -} +Point::~Point() = default; void Point::onChanged(const App::Property* prop) { diff --git a/src/Mod/PartDesign/App/Feature.cpp b/src/Mod/PartDesign/App/Feature.cpp index d147e0d507..2c52f40578 100644 --- a/src/Mod/PartDesign/App/Feature.cpp +++ b/src/Mod/PartDesign/App/Feature.cpp @@ -77,7 +77,7 @@ TopoDS_Shape Feature::getSolid(const TopoDS_Shape& shape) return xp.Current(); } - return TopoDS_Shape(); + return {}; } int Feature::countSolids(const TopoDS_Shape& shape, TopAbs_ShapeEnum type) diff --git a/src/Mod/PartDesign/App/FeatureAddSub.cpp b/src/Mod/PartDesign/App/FeatureAddSub.cpp index 4c3581369e..2d4b31fae4 100644 --- a/src/Mod/PartDesign/App/FeatureAddSub.cpp +++ b/src/Mod/PartDesign/App/FeatureAddSub.cpp @@ -43,7 +43,6 @@ namespace PartDesign { PROPERTY_SOURCE(PartDesign::FeatureAddSub, PartDesign::Feature) FeatureAddSub::FeatureAddSub() - : addSubType(Additive) { ADD_PROPERTY(AddSubShape,(TopoDS_Shape())); ADD_PROPERTY_TYPE(Refine,(0),"Part Design",(App::PropertyType)(App::Prop_None),"Refine shape (clean up redundant edges) after adding/subtracting"); @@ -123,9 +122,7 @@ FeatureAdditivePython::FeatureAdditivePython() addSubType = Additive; } -FeatureAdditivePython::~FeatureAdditivePython() -{ -} +FeatureAdditivePython::~FeatureAdditivePython() = default; PROPERTY_SOURCE(PartDesign::FeatureSubtractivePython, PartDesign::FeatureAddSubPython) @@ -135,8 +132,6 @@ FeatureSubtractivePython::FeatureSubtractivePython() addSubType = Subtractive; } -FeatureSubtractivePython::~FeatureSubtractivePython() -{ -} +FeatureSubtractivePython::~FeatureSubtractivePython() = default; } diff --git a/src/Mod/PartDesign/App/FeatureAddSub.h b/src/Mod/PartDesign/App/FeatureAddSub.h index 5e04008123..d9a32cfabd 100644 --- a/src/Mod/PartDesign/App/FeatureAddSub.h +++ b/src/Mod/PartDesign/App/FeatureAddSub.h @@ -52,7 +52,7 @@ public: App::PropertyBool Refine; protected: - Type addSubType; + Type addSubType{Additive}; TopoDS_Shape refineShapeIfActive(const TopoDS_Shape&) const; }; diff --git a/src/Mod/PartDesign/App/FeatureExtrude.cpp b/src/Mod/PartDesign/App/FeatureExtrude.cpp index abd1ba0b98..54c5eaa37c 100644 --- a/src/Mod/PartDesign/App/FeatureExtrude.cpp +++ b/src/Mod/PartDesign/App/FeatureExtrude.cpp @@ -23,6 +23,7 @@ #include "PreCompiled.h" #ifndef _PreComp_ +# include # include # include # include @@ -48,9 +49,7 @@ App::PropertyQuantityConstraint::Constraints FeatureExtrude::signedLengthConstra double FeatureExtrude::maxAngle = 90 - Base::toDegrees(Precision::Angular()); App::PropertyAngle::Constraints FeatureExtrude::floatAngle = { -maxAngle, maxAngle, 1.0 }; -FeatureExtrude::FeatureExtrude() -{ -} +FeatureExtrude::FeatureExtrude() = default; short FeatureExtrude::mustExecute() const { @@ -200,7 +199,7 @@ void FeatureExtrude::generatePrism(TopoDS_Shape& prism, PrismMode Mode, Standard_Boolean Modify) { - if (method == "UpToFirst" || method == "UpToFace" || method == "UpToLast") { + if (method == "UpToFirst" || method == "UpToFace") { BRepFeat_MakePrism PrismMaker; TopoDS_Shape base = baseshape; for (TopExp_Explorer xp(profileshape, TopAbs_FACE); xp.More(); xp.Next()) { @@ -216,6 +215,29 @@ void FeatureExtrude::generatePrism(TopoDS_Shape& prism, prism = base; } + else if (method == "UpToLast") { + BRepFeat_MakePrism PrismMaker; + prism = baseshape; + for (TopExp_Explorer xp(profileshape, TopAbs_FACE); xp.More(); xp.Next()) { + PrismMaker.Init(baseshape, xp.Current(), supportface, direction, PrismMode::None, Modify); + + //Each face needs 2 prisms because if uptoFace is intersected twice the first one ends too soon + for (int i=0; i<2; i++){ + if (i==0){ + PrismMaker.Perform(uptoface); + }else{ + PrismMaker.Perform(uptoface, uptoface); + } + + if (!PrismMaker.IsDone()) + throw Base::RuntimeError("ProfileBased: Up to face: Could not extrude the sketch!"); + auto onePrism = PrismMaker.Shape(); + + BRepAlgoAPI_Fuse fuse(prism, onePrism); + prism = fuse.Shape(); + } + } + } else { std::stringstream str; str << "ProfileBased: Internal error: Unknown method '" @@ -265,8 +287,8 @@ void FeatureExtrude::generateTaperedPrism(TopoDS_Shape& prism, TopoDS_Compound comp; BRep_Builder builder; builder.MakeCompound(comp); - for (std::list::iterator it = drafts.begin(); it != drafts.end(); ++it) - builder.Add(comp, *it); + for (const auto & draft : drafts) + builder.Add(comp, draft); prism = comp; } } diff --git a/src/Mod/PartDesign/App/FeatureFillet.cpp b/src/Mod/PartDesign/App/FeatureFillet.cpp index 9417fa7398..b5bcbc2ba9 100644 --- a/src/Mod/PartDesign/App/FeatureFillet.cpp +++ b/src/Mod/PartDesign/App/FeatureFillet.cpp @@ -106,8 +106,8 @@ App::DocumentObjectExecReturn *Fillet::execute() try { BRepFilletAPI_MakeFillet mkFillet(baseShape.getShape()); - for (std::vector::const_iterator it=SubNames.begin(); it != SubNames.end(); ++it) { - TopoDS_Edge edge = TopoDS::Edge(baseShape.getSubShape(it->c_str())); + for (const auto & it : SubNames) { + TopoDS_Edge edge = TopoDS::Edge(baseShape.getSubShape(it.c_str())); mkFillet.Add(radius, edge); } diff --git a/src/Mod/PartDesign/App/FeatureHole.cpp b/src/Mod/PartDesign/App/FeatureHole.cpp index d7c7614e0f..1383f2b125 100644 --- a/src/Mod/PartDesign/App/FeatureHole.cpp +++ b/src/Mod/PartDesign/App/FeatureHole.cpp @@ -954,10 +954,10 @@ double Hole::getThreadClassClearance() const // Calculate how much clearance to add based on Thread tolerance class and pitch if (ThreadClass.getValueAsString()[1] == 'G') { - for (unsigned int i = 0; i < ThreadClass_ISOmetric_data_size; i++) { - double p = ThreadClass_ISOmetric_data[i][0]; + for (auto it : ThreadClass_ISOmetric_data) { + double p = it[0]; if (pitch <= p) { - return ThreadClass_ISOmetric_data[i][1]; + return it[1]; } } } @@ -988,10 +988,10 @@ double Hole::getThreadRunout(int mode) const default: throw Base::ValueError("Unsupported argument"); } - for (unsigned int i = 0; i < ThreadRunout_size; i++) { - double p = ThreadRunout[i][0]; + for (auto it : ThreadRunout) { + double p = it[0]; if (pitch <= p) { - return sf * ThreadRunout[i][1]; + return sf * it[1]; } } @@ -1647,7 +1647,7 @@ void Hole::updateProps() static gp_Pnt toPnt(gp_Vec dir) { - return gp_Pnt(dir.X(), dir.Y(), dir.Z()); + return {dir.X(), dir.Y(), dir.Z()}; } App::DocumentObjectExecReturn* Hole::execute() diff --git a/src/Mod/PartDesign/App/FeatureHole.h b/src/Mod/PartDesign/App/FeatureHole.h index fa51e14ee0..6460874bba 100644 --- a/src/Mod/PartDesign/App/FeatureHole.h +++ b/src/Mod/PartDesign/App/FeatureHole.h @@ -197,7 +197,7 @@ private: std::string thread_type; std::string cut_name; public: - CutDimensionKey() {} + CutDimensionKey() = default; CutDimensionKey(const std::string &t, const std::string &c); bool operator<(const CutDimensionKey &b) const; }; diff --git a/src/Mod/PartDesign/App/FeatureLinearPattern.cpp b/src/Mod/PartDesign/App/FeatureLinearPattern.cpp index fe862b5099..2ba1df02a2 100644 --- a/src/Mod/PartDesign/App/FeatureLinearPattern.cpp +++ b/src/Mod/PartDesign/App/FeatureLinearPattern.cpp @@ -51,25 +51,42 @@ PROPERTY_SOURCE(PartDesign::LinearPattern, PartDesign::Transformed) const App::PropertyIntegerConstraint::Constraints LinearPattern::intOccurrences = { 1, INT_MAX, 1 }; +const char* LinearPattern::ModeEnums[] = { "length", "offset", nullptr }; + LinearPattern::LinearPattern() { + auto initialMode = LinearPatternMode::length; + ADD_PROPERTY_TYPE(Direction,(nullptr),"LinearPattern",(App::PropertyType)(App::Prop_None),"Direction"); ADD_PROPERTY(Reversed,(0)); + ADD_PROPERTY(Mode, (long(initialMode))); ADD_PROPERTY(Length,(100.0)); + ADD_PROPERTY(Offset,(10.0)); ADD_PROPERTY(Occurrences,(3)); Occurrences.setConstraints(&intOccurrences); + Mode.setEnums(ModeEnums); + setReadWriteStatusForMode(initialMode); } short LinearPattern::mustExecute() const { if (Direction.isTouched() || Reversed.isTouched() || - Length.isTouched() || + Mode.isTouched() || + // Length and Offset are mutually exclusive, only one could be updated at once + Length.isTouched() || + Offset.isTouched() || Occurrences.isTouched()) return 1; return Transformed::mustExecute(); } +void LinearPattern::setReadWriteStatusForMode(LinearPatternMode mode) +{ + Length.setReadOnly(mode != LinearPatternMode::length); + Offset.setReadOnly(mode != LinearPatternMode::offset); +} + const std::list LinearPattern::getTransformations(const std::vector) { int occurrences = Occurrences.getValue(); @@ -173,7 +190,20 @@ const std::list LinearPattern::getTransformations(const std::vector(Mode.getValue())) { + case LinearPatternMode::length: + offset *= distance / (occurrences - 1); + break; + + case LinearPatternMode::offset: + offset *= Offset.getValue(); + break; + + default: + throw Base::ValueError("Invalid mode"); + } + if (reversed) offset.Reverse(); @@ -206,4 +236,24 @@ void LinearPattern::handleChangedPropertyType(Base::XMLReader& reader, const cha } } +void LinearPattern::onChanged(const App::Property* prop) +{ + auto mode = static_cast(Mode.getValue()); + + if (prop == &Mode) { + setReadWriteStatusForMode(mode); + } + + // Keep Length in sync with Offset + if (mode == LinearPatternMode::offset && prop == &Offset && !Length.testStatus(App::Property::Status::Immutable)) { + Length.setValue(Offset.getValue() * (Occurrences.getValue() - 1)); + } + + if (mode == LinearPatternMode::length && prop == &Length && !Offset.testStatus(App::Property::Status::Immutable)) { + Offset.setValue(Length.getValue() / (Occurrences.getValue() - 1)); + } + + Transformed::onChanged(prop); +} + } diff --git a/src/Mod/PartDesign/App/FeatureLinearPattern.h b/src/Mod/PartDesign/App/FeatureLinearPattern.h index 19e6d860be..8876f2646a 100644 --- a/src/Mod/PartDesign/App/FeatureLinearPattern.h +++ b/src/Mod/PartDesign/App/FeatureLinearPattern.h @@ -29,6 +29,10 @@ namespace PartDesign { +enum class LinearPatternMode { + length, + offset +}; class PartDesignExport LinearPattern : public PartDesign::Transformed { @@ -37,9 +41,11 @@ class PartDesignExport LinearPattern : public PartDesign::Transformed public: LinearPattern(); - App::PropertyLinkSub Direction; - App::PropertyBool Reversed; - App::PropertyLength Length; + App::PropertyLinkSub Direction; + App::PropertyBool Reversed; + App::PropertyEnumeration Mode; + App::PropertyLength Length; + App::PropertyLength Offset; App::PropertyIntegerConstraint Occurrences; /** @name methods override feature */ @@ -54,18 +60,32 @@ public: /** Create transformations * Returns a list of (Occurrences - 1) transformations since the first, untransformed instance - * is not counted. Each transformation will move the shape it is applied to by the distance - * (Length / (Occurrences - 1)) so that the transformations will cover the total Length. + * is not counted. + * + * Depending on Mode selection list will be constructed differently: + * 1. For "Overall Length" each transformation will move the shape it is applied to by the distance + * (Length / (Occurrences - 1)) so that the transformations will cover the total Length. + * 2. For "Spacing" each transformation will move the shape by the distance explicitly given in + * the Offset parameter. + * * If Direction contains a feature and a face name, then the transformation direction will be * the normal of the given face, which must be planar. If it contains an edge name, then the * transformation direction will be parallel to the given edge, which must be linear + * * If Reversed is true, the direction of transformation will be opposite */ const std::list getTransformations(const std::vector ) override; protected: void handleChangedPropertyType(Base::XMLReader& reader, const char* TypeName, App::Property* prop) override; + void onChanged(const App::Property* prop) override; + static const App::PropertyIntegerConstraint::Constraints intOccurrences; + +private: + static const char* ModeEnums[]; + + void setReadWriteStatusForMode(LinearPatternMode mode); }; } //namespace PartDesign diff --git a/src/Mod/PartDesign/App/FeatureMultiTransform.cpp b/src/Mod/PartDesign/App/FeatureMultiTransform.cpp index 66feeda17a..be59aba392 100644 --- a/src/Mod/PartDesign/App/FeatureMultiTransform.cpp +++ b/src/Mod/PartDesign/App/FeatureMultiTransform.cpp @@ -50,11 +50,10 @@ void MultiTransform::positionBySupport() { PartDesign::Transformed::positionBySupport(); std::vector transFeatures = Transformations.getValues(); - for (std::vector::const_iterator f = transFeatures.begin(); - f != transFeatures.end(); ++f) { - if (!((*f)->getTypeId().isDerivedFrom(PartDesign::Transformed::getClassTypeId()))) + for (auto f : transFeatures) { + if (!(f->getTypeId().isDerivedFrom(PartDesign::Transformed::getClassTypeId()))) throw Base::TypeError("Transformation features must be subclasses of Transformed"); - PartDesign::Transformed* transFeature = static_cast(*f); + PartDesign::Transformed* transFeature = static_cast(f); transFeature->Placement.setValue(this->Placement.getValue()); // To avoid that a linked transform feature stays touched after a recompute diff --git a/src/Mod/PartDesign/App/FeaturePipe.cpp b/src/Mod/PartDesign/App/FeaturePipe.cpp index 8276aac692..00e833f7b8 100644 --- a/src/Mod/PartDesign/App/FeaturePipe.cpp +++ b/src/Mod/PartDesign/App/FeaturePipe.cpp @@ -536,10 +536,8 @@ void Pipe::buildPipePath(const Part::TopoShape& shape, const std::vector::const_iterator it = subedge.begin(); - it != subedge.end(); - ++it) { - TopoDS_Shape subshape = shape.getSubShape(it->c_str()); + for (const auto & it : subedge) { + TopoDS_Shape subshape = shape.getSubShape(it.c_str()); mkWire.Add(TopoDS::Edge(subshape)); } path = mkWire.Wire(); diff --git a/src/Mod/PartDesign/App/FeaturePolarPattern.cpp b/src/Mod/PartDesign/App/FeaturePolarPattern.cpp index 66f5ad4dfb..c8436fc896 100644 --- a/src/Mod/PartDesign/App/FeaturePolarPattern.cpp +++ b/src/Mod/PartDesign/App/FeaturePolarPattern.cpp @@ -51,21 +51,34 @@ PROPERTY_SOURCE(PartDesign::PolarPattern, PartDesign::Transformed) const App::PropertyIntegerConstraint::Constraints PolarPattern::intOccurrences = { 1, INT_MAX, 1 }; const App::PropertyAngle::Constraints PolarPattern::floatAngle = { Base::toDegrees(Precision::Angular()), 360.0, 1.0 }; +const char* PolarPattern::ModeEnums[] = {"angle", "offset", nullptr}; + PolarPattern::PolarPattern() { + auto initialMode = PolarPatternMode::angle; + ADD_PROPERTY_TYPE(Axis, (nullptr), "PolarPattern", (App::PropertyType)(App::Prop_None), "Direction"); ADD_PROPERTY(Reversed, (0)); + ADD_PROPERTY(Mode, (long(initialMode))); + Mode.setEnums(PolarPattern::ModeEnums); ADD_PROPERTY(Angle, (360.0)); + ADD_PROPERTY(Offset, (120.0)); Angle.setConstraints(&floatAngle); + Offset.setConstraints(&floatAngle); ADD_PROPERTY(Occurrences, (3)); Occurrences.setConstraints(&intOccurrences); + + setReadWriteStatusForMode(initialMode); } short PolarPattern::mustExecute() const { if (Axis.isTouched() || Reversed.isTouched() || - Angle.isTouched() || + Mode.isTouched() || + // Angle and Offset are mutually exclusive, only one could be updated at once + Angle.isTouched() || + Offset.isTouched() || Occurrences.isTouched()) return 1; return Transformed::mustExecute(); @@ -80,17 +93,7 @@ const std::list PolarPattern::getTransformations(const std::vector(angle); - if (radians < Precision::Angular()) - throw Base::ValueError("Pattern angle too small"); - bool reversed = Reversed.getValue(); - double offset; - if (std::fabs(angle - 360.0) < Precision::Confusion()) - offset = radians / occurrences; // Because e.g. two occurrences in 360 degrees need to be 180 degrees apart - else - offset = radians / (occurrences - 1); App::DocumentObject* refObject = Axis.getValue(); if (!refObject) @@ -166,6 +169,32 @@ const std::list PolarPattern::getTransformations(const std::vector(Mode.getValue())) { + case PolarPatternMode::angle: + angle = Angle.getValue(); + + if (std::fabs(angle - 360.0) < Precision::Confusion()) + angle /= occurrences; // Because e.g. two occurrences in 360 degrees need to be 180 degrees apart + else + angle /= occurrences - 1; + + break; + + case PolarPatternMode::offset: + angle = Offset.getValue(); + break; + + default: + throw Base::ValueError("Invalid mode"); + } + + double offset = Base::toRadians(angle); + + if (offset < Precision::Angular()) + throw Base::ValueError("Pattern angle too small"); + std::list transformations; gp_Trsf trans; transformations.push_back(trans); @@ -195,4 +224,21 @@ void PolarPattern::handleChangedPropertyType(Base::XMLReader& reader, const char } } + +void PolarPattern::onChanged(const App::Property* prop) +{ + if (prop == &Mode) { + auto mode = static_cast(Mode.getValue()); + setReadWriteStatusForMode(mode); + } + + Transformed::onChanged(prop); +} + +void PolarPattern::setReadWriteStatusForMode(PolarPatternMode mode) +{ + Offset.setReadOnly(mode != PolarPatternMode::offset); + Angle.setReadOnly(mode != PolarPatternMode::angle); +} + } diff --git a/src/Mod/PartDesign/App/FeaturePolarPattern.h b/src/Mod/PartDesign/App/FeaturePolarPattern.h index 7362f311a5..f250820fec 100644 --- a/src/Mod/PartDesign/App/FeaturePolarPattern.h +++ b/src/Mod/PartDesign/App/FeaturePolarPattern.h @@ -31,6 +31,10 @@ namespace PartDesign { +enum class PolarPatternMode { + angle, + offset +}; class PartDesignExport PolarPattern : public PartDesign::Transformed { @@ -39,9 +43,11 @@ class PartDesignExport PolarPattern : public PartDesign::Transformed public: PolarPattern(); - App::PropertyLinkSub Axis; - App::PropertyBool Reversed; - App::PropertyAngle Angle; + App::PropertyLinkSub Axis; + App::PropertyBool Reversed; + App::PropertyEnumeration Mode; + App::PropertyAngle Angle; + App::PropertyAngle Offset; App::PropertyIntegerConstraint Occurrences; /** @name methods override feature */ @@ -55,21 +61,37 @@ public: //@} /** Create transformations + * * Returns a list of (Occurrences - 1) transformations since the first, untransformed instance - * is not counted. Each transformation will rotate the shape it is applied to by the angle - * (Angle / (Occurrences - 1)) so that the transformations will cover the total Angle. The only - * exception is Angle = 360 degrees in which case the transformation angle will be - * (Angle / Occurrences) so that the last transformed shape is not identical with the original shape + * is not counted. Each transformation will rotate the shape it is applied to by the supplied angle. + * + * Depending on Mode selection list will be constructed differently: + * 1. For "angle" mode each feature will be rotated by (Angle / (Occurrences - 1)) so + * that the transformations will cover the total Angle. The only exception is Angle = 360 degrees in + * which case the transformation angle will be (Angle / Occurrences) so that the last transformed shape + * is not identical with the original shape. + * 2. For "offset" mode each feature will be rotated using exact angle from Offset parameter. It can + * potentially result in transformation that extends beyond full rotation or results in overlapping shapes. + * This situations are considered as potential user errors and should be solved by user. + * * If Axis contains a feature and an edge name, then the transformation axis will be * the given edge, which must be linear. + * * If Reversed is true, the direction of rotation will be opposite. */ const std::list getTransformations(const std::vector) override; protected: void handleChangedPropertyType(Base::XMLReader& reader, const char* TypeName, App::Property* prop) override; + void onChanged(const App::Property* prop) override; + static const App::PropertyIntegerConstraint::Constraints intOccurrences; static const App::PropertyAngle::Constraints floatAngle; + +private: + static const char* ModeEnums[]; + + void setReadWriteStatusForMode(PolarPatternMode mode); }; } //namespace PartDesign diff --git a/src/Mod/PartDesign/App/FeaturePrimitive.cpp b/src/Mod/PartDesign/App/FeaturePrimitive.cpp index ee8fa5cecc..331c56dbea 100644 --- a/src/Mod/PartDesign/App/FeaturePrimitive.cpp +++ b/src/Mod/PartDesign/App/FeaturePrimitive.cpp @@ -61,7 +61,6 @@ const App::PropertyQuantityConstraint::Constraints quantityRangeZero = { 0.0, FL PROPERTY_SOURCE_WITH_EXTENSIONS(PartDesign::FeaturePrimitive, PartDesign::FeatureAddSub) FeaturePrimitive::FeaturePrimitive() - : primitiveType(Box) { Part::AttachExtension::initExtension(this); } diff --git a/src/Mod/PartDesign/App/FeatureSketchBased.cpp b/src/Mod/PartDesign/App/FeatureSketchBased.cpp index 8619cf7ece..5df0ebe35e 100644 --- a/src/Mod/PartDesign/App/FeatureSketchBased.cpp +++ b/src/Mod/PartDesign/App/FeatureSketchBased.cpp @@ -749,49 +749,49 @@ void ProfileBased::remapSupportShape(const TopoDS_Shape & newShape) shape.setShape(sh); std::vector refs = this->getInList(); - for (std::vector::iterator it = refs.begin(); it != refs.end(); ++it) { + for (auto ref : refs) { std::vector props; - (*it)->getPropertyList(props); - for (std::vector::iterator jt = props.begin(); jt != props.end(); ++jt) { - if (!(*jt)->isDerivedFrom(App::PropertyLinkSub::getClassTypeId())) + ref->getPropertyList(props); + for (auto prop : props) { + if (!prop->isDerivedFrom(App::PropertyLinkSub::getClassTypeId())) continue; - App::PropertyLinkSub* link = static_cast(*jt); + App::PropertyLinkSub* link = static_cast(prop); if (link->getValue() != this) continue; std::vector subValues = link->getSubValues(); std::vector newSubValues; - for (std::vector::iterator it = subValues.begin(); it != subValues.end(); ++it) { + for (auto & subValue : subValues) { std::string shapetype; - if (it->compare(0, 4, "Face") == 0) { + if (subValue.compare(0, 4, "Face") == 0) { shapetype = "Face"; } - else if (it->compare(0, 4, "Edge") == 0) { + else if (subValue.compare(0, 4, "Edge") == 0) { shapetype = "Edge"; } - else if (it->compare(0, 6, "Vertex") == 0) { + else if (subValue.compare(0, 6, "Vertex") == 0) { shapetype = "Vertex"; } else { - newSubValues.push_back(*it); + newSubValues.push_back(subValue); continue; } bool success = false; TopoDS_Shape element; try { - element = shape.getSubShape(it->c_str()); + element = shape.getSubShape(subValue.c_str()); } catch (Standard_Failure&) { // This shape doesn't even exist, so no chance to do some tests - newSubValues.push_back(*it); + newSubValues.push_back(subValue); continue; } try { // as very first test check if old face and new face are parallel planes - TopoDS_Shape newElement = Part::TopoShape(newShape).getSubShape(it->c_str()); + TopoDS_Shape newElement = Part::TopoShape(newShape).getSubShape(subValue.c_str()); if (isParallelPlane(element, newElement)) { - newSubValues.push_back(*it); + newSubValues.push_back(subValue); success = true; } } @@ -824,7 +824,7 @@ void ProfileBased::remapSupportShape(const TopoDS_Shape & newShape) // the new shape couldn't be found so keep the old sub-name if (!success) - newSubValues.push_back(*it); + newSubValues.push_back(subValue); } link->setValue(this, newSubValues); diff --git a/src/Mod/PartDesign/App/FeatureSolid.cpp b/src/Mod/PartDesign/App/FeatureSolid.cpp index 556ecb2a2a..72bb3f57af 100644 --- a/src/Mod/PartDesign/App/FeatureSolid.cpp +++ b/src/Mod/PartDesign/App/FeatureSolid.cpp @@ -31,9 +31,7 @@ namespace PartDesign { PROPERTY_SOURCE(PartDesign::Solid,PartDesign::Feature) -Solid::Solid() -{ -} +Solid::Solid() = default; diff --git a/src/Mod/PartDesign/App/FeatureThickness.cpp b/src/Mod/PartDesign/App/FeatureThickness.cpp index 41705b62dc..b12597bd31 100644 --- a/src/Mod/PartDesign/App/FeatureThickness.cpp +++ b/src/Mod/PartDesign/App/FeatureThickness.cpp @@ -88,8 +88,8 @@ App::DocumentObjectExecReturn *Thickness::execute() TopTools_ListOfShape closingFaces; - for (std::vector::const_iterator it = subStrings.begin(); it != subStrings.end(); ++it) { - TopoDS_Face face = TopoDS::Face(TopShape.getSubShape(it->c_str())); + for (const auto & it : subStrings) { + TopoDS_Face face = TopoDS::Face(TopShape.getSubShape(it.c_str())); closingFaces.Append(face); } diff --git a/src/Mod/PartDesign/App/FeatureTransformed.cpp b/src/Mod/PartDesign/App/FeatureTransformed.cpp index b5175c7f3d..fb97ef0732 100644 --- a/src/Mod/PartDesign/App/FeatureTransformed.cpp +++ b/src/Mod/PartDesign/App/FeatureTransformed.cpp @@ -248,14 +248,14 @@ App::DocumentObjectExecReturn *Transformed::execute() // Original separately. This way it is easier to discover what feature causes a fuse/cut // to fail. The downside is that performance suffers when there are many originals. But it seems // safe to assume that in most cases there are few originals and many transformations - for (std::vector::const_iterator o = originals.begin(); o != originals.end(); ++o) + for (auto original : originals) { // Extract the original shape and determine whether to cut or to fuse Part::TopoShape fuseShape; Part::TopoShape cutShape; - if ((*o)->getTypeId().isDerivedFrom(PartDesign::FeatureAddSub::getClassTypeId())) { - PartDesign::FeatureAddSub* feature = static_cast(*o); + if (original->getTypeId().isDerivedFrom(PartDesign::FeatureAddSub::getClassTypeId())) { + PartDesign::FeatureAddSub* feature = static_cast(original); feature->getAddSubShape(fuseShape, cutShape); if (fuseShape.isNull() && cutShape.isNull()) return new App::DocumentObjectExecReturn(QT_TRANSLATE_NOOP("Exception", "Shape of additive/subtractive feature is empty")); diff --git a/src/Mod/PartDesign/FeatureHole/Standards.py b/src/Mod/PartDesign/FeatureHole/Standards.py index e06144b682..7ead8748df 100644 --- a/src/Mod/PartDesign/FeatureHole/Standards.py +++ b/src/Mod/PartDesign/FeatureHole/Standards.py @@ -349,7 +349,7 @@ def getStandards(holetype): def getBaseDiameters(standard): "Return the base diameters of all holes defined in the given norm" - if not standard in standards.keys(): + if not standard in standards: return [] #FreeCAD.Console.PrintMessage("Getting diameters for " + standard + "\n") if standards[standard][StandardType] == "through": @@ -363,7 +363,7 @@ def getBaseDiameters(standard): return [] def getThroughHoleDia(standard, threadDia, tolerance = "medium"): - if not standard in standards_through.keys(): + if not standard in standards_through: raise Exception("No such standard exists") values = standards_through[standard] if not threadDia in values: @@ -372,12 +372,12 @@ def getThroughHoleDia(standard, threadDia, tolerance = "medium"): return values[threadDia][standards_tolerance.index(tolerance)] def getThroughHoleStandard(standard): - if not standard in standards_counterbore_through.keys(): + if not standard in standards_counterbore_through: raise Exception("No such standard exists") return standards_counterbore_through[standard] def getCounterboreDia(standard, threadDia, extraStandard = ""): - if not standard in standards_counterbore.keys(): + if not standard in standards_counterbore: raise Exception("No such standard exists") values = standards_counterbore[standard] if not threadDia in values: @@ -401,7 +401,7 @@ def calcCounterboreDepth(standard, threadDia, standardBolt, standardsWashers return headHeight + washerHeight + extraDepth def getRowStandards(standard): - if not standard in standards_counterbore_rows.keys(): + if not standard in standards_counterbore_rows: raise Exception("No such standard exists") result = [] rowdict = standards_counterbore_rows[standard] @@ -412,7 +412,7 @@ def getRowStandards(standard): return result def getCountersinkDia(standard, threadDia): - if not standard in standards_countersink.keys(): + if not standard in standards_countersink: raise Exception("No such standard exists") values = standards_countersink[standard] if not threadDia in values: @@ -421,7 +421,7 @@ def getCountersinkDia(standard, threadDia): return values[threadDia][standards_countersink_dia] def getCountersinkAngle(standard, threadDia): - if not standard in standards_countersink.keys(): + if not standard in standards_countersink: raise Exception("No such standard exists") values = standards_countersink[standard] if not threadDia in values: @@ -430,7 +430,7 @@ def getCountersinkAngle(standard, threadDia): return values[threadDia][standards_countersink_angle] def getThreadCoreDiameter(standard, threadDia): - if not standard in standards_thread.keys(): + if not standard in standards_thread: raise Exception("No such standard exists") values = standards_thread[standard] if not threadDia in values: @@ -439,7 +439,7 @@ def getThreadCoreDiameter(standard, threadDia): return values[threadDia][standards_thread_innercoredia] def getThreadFinishLength(standard, threadDia, length = "normal"): - if not standard in standards_threaded.keys(): + if not standard in standards_threaded: raise Exception("No such standard exists") stdThread = standards_threaded_thread[standard] values = standards_thread[stdThread] diff --git a/src/Mod/PartDesign/FeatureHole/TaskHole.ui b/src/Mod/PartDesign/FeatureHole/TaskHole.ui index 35b465b80c..97fa846e85 100644 --- a/src/Mod/PartDesign/FeatureHole/TaskHole.ui +++ b/src/Mod/PartDesign/FeatureHole/TaskHole.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/AppPartDesignGui.cpp b/src/Mod/PartDesign/Gui/AppPartDesignGui.cpp index 573b30823d..b7ffceedea 100644 --- a/src/Mod/PartDesign/Gui/AppPartDesignGui.cpp +++ b/src/Mod/PartDesign/Gui/AppPartDesignGui.cpp @@ -85,8 +85,6 @@ public: initialize("This module is the PartDesignGui module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/PartDesign/Gui/CMakeLists.txt b/src/Mod/PartDesign/Gui/CMakeLists.txt index b3f5767dc7..d80be20bda 100644 --- a/src/Mod/PartDesign/Gui/CMakeLists.txt +++ b/src/Mod/PartDesign/Gui/CMakeLists.txt @@ -15,6 +15,7 @@ include_directories( ${PYTHON_INCLUDE_DIRS} ${XercesC_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIR} + ${CMAKE_SOURCE_DIR}/src/3rdParty/json/single_include/nlohmann/ ) link_directories(${OCC_LIBRARY_DIR}) diff --git a/src/Mod/PartDesign/Gui/Command.cpp b/src/Mod/PartDesign/Gui/Command.cpp index 5e45c6b0f3..2bef4dddeb 100644 --- a/src/Mod/PartDesign/Gui/Command.cpp +++ b/src/Mod/PartDesign/Gui/Command.cpp @@ -802,8 +802,8 @@ void prepareProfileBased(PartDesign::Body *pcActiveBody, Gui::Command* cmd, cons std::vector selection = cmd->getSelection().getSelectionEx(); if (!selection.empty()) { bool onlyAllowed = true; - for (auto it = selection.begin(); it!=selection.end(); ++it){ - if (PartDesign::Body::findBodyOf((*it).getObject()) != pcActiveBody) { // the selected objects must belong to the body + for (const auto & it : selection) { + if (PartDesign::Body::findBodyOf(it.getObject()) != pcActiveBody) { // the selected objects must belong to the body onlyAllowed = false; break; } @@ -1633,8 +1633,8 @@ void finishDressupFeature(const Gui::Command* cmd, const std::string& which, { std::ostringstream str; str << '(' << Gui::Command::getObjectCmd(base) << ",["; - for (std::vector::const_iterator it = SubNames.begin();it!=SubNames.end();++it){ - str << "'" << *it << "',"; + for (const auto & SubName : SubNames){ + str << "'" << SubName << "',"; } str << "])"; @@ -1887,8 +1887,8 @@ void prepareTransformed(PartDesign::Body *pcActiveBody, Gui::Command* cmd, const auto worker = [=](std::vector features) { std::stringstream str; str << cmd->getObjectCmd(FeatName.c_str(), pcActiveBody->getDocument()) << ".Originals = ["; - for (std::vector::iterator it = features.begin(); it != features.end(); ++it) { - str << cmd->getObjectCmd(*it) << ","; + for (auto feature : features) { + str << cmd->getObjectCmd(feature) << ","; } str << "]"; @@ -1952,8 +1952,8 @@ void prepareTransformed(PartDesign::Body *pcActiveBody, Gui::Command* cmd, const } PartDesign::Body* activeBody = PartDesignGui::getBody(true); - for (std::size_t i = 0; i < features.size(); i++) { - if (activeBody != PartDesignGui::getBodyFor(features[i], false)) { + for (auto feature : features) { + if (activeBody != PartDesignGui::getBodyFor(feature, false)) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Selection is not in Active Body"), QObject::tr("Please select only one feature in an active body.")); return; @@ -2368,11 +2368,10 @@ void CmdPartDesignBoolean::activated(int iMsg) bool updateDocument = false; if (BodyFilter.match() && !BodyFilter.Result.empty()) { std::vector bodies; - std::vector >::iterator i = BodyFilter.Result.begin(); - for (; i != BodyFilter.Result.end(); i++) { - for (std::vector::iterator j = i->begin(); j != i->end(); j++) { - if (j->getObject() != pcActiveBody) - bodies.push_back(j->getObject()); + for (auto& results : BodyFilter.Result) { + for (auto & result : results) { + if (result.getObject() != pcActiveBody) + bodies.push_back(result.getObject()); } } if (!bodies.empty()) { diff --git a/src/Mod/PartDesign/Gui/DlgActiveBody.cpp b/src/Mod/PartDesign/Gui/DlgActiveBody.cpp index a57833c9f6..563a3ef33a 100644 --- a/src/Mod/PartDesign/Gui/DlgActiveBody.cpp +++ b/src/Mod/PartDesign/Gui/DlgActiveBody.cpp @@ -84,9 +84,7 @@ DlgActiveBody::DlgActiveBody(QWidget *parent, App::Document*& doc, const QString } } -DlgActiveBody::~DlgActiveBody() -{ -} +DlgActiveBody::~DlgActiveBody() = default; void DlgActiveBody::accept() { diff --git a/src/Mod/PartDesign/Gui/ReferenceSelection.cpp b/src/Mod/PartDesign/Gui/ReferenceSelection.cpp index 4dbdc84d03..cc821b1ff3 100644 --- a/src/Mod/PartDesign/Gui/ReferenceSelection.cpp +++ b/src/Mod/PartDesign/Gui/ReferenceSelection.cpp @@ -340,16 +340,19 @@ bool getReferencedSelection(const App::DocumentObject* thisObj, const Gui::Selec QString getRefStr(const App::DocumentObject* obj, const std::vector& sub) { - if (!obj) - return QString::fromLatin1(""); + if (!obj) { + return {}; + } - if (PartDesign::Feature::isDatum(obj)) + if (PartDesign::Feature::isDatum(obj)) { return QString::fromLatin1(obj->getNameInDocument()); - else if (!sub.empty()) + } + else if (!sub.empty()) { return QString::fromLatin1(obj->getNameInDocument()) + QString::fromLatin1(":") + QString::fromLatin1(sub.front().c_str()); - else - return QString(); + } + + return {}; } std::string buildLinkSubPythonStr(const App::DocumentObject* obj, const std::vector& subs) @@ -386,8 +389,8 @@ std::string buildLinkListPythonStr(const std::vector & obj std::string result("["); - for (std::vector::const_iterator o = objs.begin(); o != objs.end(); o++) - result += Gui::Command::getObjectCmd(*o,nullptr,","); + for (auto obj : objs) + result += Gui::Command::getObjectCmd(obj,nullptr,","); result += "]"; return result; diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign.ts index 113b373317..785d4b3232 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign.ts @@ -877,8 +877,8 @@ so that self intersection is avoided. - + Make copy @@ -903,8 +903,8 @@ so that self intersection is avoided. - + Add a Body @@ -934,22 +934,22 @@ so that self intersection is avoided. - + Mirrored - + Make LinearPattern - + PolarPattern - + Scaled @@ -1559,7 +1559,7 @@ click again to end selection - + Empty chamfer created ! @@ -1568,17 +1568,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list - + The body list cannot be empty - + Boolean: Accept: Input error @@ -1586,12 +1586,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? @@ -1599,7 +1599,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error @@ -1607,7 +1607,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error @@ -1657,7 +1657,7 @@ click again to end selection - + Empty draft created ! @@ -1694,39 +1694,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected - - + + Face - + Sketch normal - + Face normal - + Select reference... + - Custom direction - + Click on a face in the model @@ -1859,7 +1859,7 @@ click again to end selection - + Empty fillet created ! @@ -2112,21 +2112,37 @@ click again to end selection - Length + Mode - - Occurrences + + Overall Length + + + + + + Offset + Length + + + + + Occurrences + + + + OK - + Update view @@ -2136,7 +2152,7 @@ click again to end selection - + Error @@ -2242,7 +2258,7 @@ click again to end selection - + Error @@ -2348,27 +2364,27 @@ click again to end selection - + Dimension - + To last - + To first - + Up to face - + Two dimensions @@ -2396,136 +2412,136 @@ click again to end selection - + Offset to face - + Direction - + Direction/edge: - + Set a direction or select an edge from the model as reference - + Sketch normal - + Select reference... - + Custom direction - + Show direction - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used - + x - + x-component of direction vector - + y - + y-component of direction vector - + z - + z-component of direction vector - + If unchecked, the length will be measured along the specified direction - + Length along sketch normal - + Applies length symmetrically to sketch plane - + Symmetric to plane - + Reversed - - + + Angle to taper the extrusion - + Taper angle - + 2nd length - + 2nd taper angle - + Select face - + Update view @@ -2764,27 +2780,27 @@ measured along the specified direction - + Dimension - + Through all - + To first - + Up to face - + Two dimensions @@ -2823,21 +2839,41 @@ measured along the specified direction + Mode + + + + + Overall Angle + + + + + Offset Angle + + + + Angle - + + Offset + + + + Occurrences - + OK - + Update view @@ -2847,7 +2883,7 @@ measured along the specified direction - + Error @@ -3003,7 +3039,7 @@ measured along the specified direction - + Remove @@ -3164,7 +3200,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body @@ -3421,68 +3457,68 @@ click again to end selection - + Several sub-elements selected - + You have to select a single face as support for a sketch! - + No support face selected - + You have to select a face as support for a sketch! - + No planar support - + You need a planar face as support for a sketch! - + No valid planes in this document - + Please create a plane first or select a face to sketch on - - - - - - - + + + + + + + A dialog is already open in the task panel - - - - - - - + + + + + + + Do you want to close this dialog? @@ -3744,14 +3780,14 @@ This may lead to unexpected results. - + Vertical sketch axis - + Horizontal sketch axis @@ -3803,20 +3839,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr + + - - Edit %1 - + Set colors... - + Edit boolean @@ -3860,57 +3896,57 @@ This feature is broken and can't be edited. - + Edit groove - + Edit hole - + Edit loft - + Edit pad - + Edit pipe - + Edit pocket - + Edit primitive - + Edit revolution - + Edit shape binder - + Synchronize - + Select bound object @@ -3930,39 +3966,39 @@ This feature is broken and can't be edited. - + The document "%1" you are editing was designed with an old version of PartDesign workbench. - + Do you want to migrate in order to use modern PartDesign features? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. - + Do you want to make the migration automatically? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually - + Edit helix @@ -4600,11 +4636,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - - No message @@ -4891,17 +4922,17 @@ over 90: larger hole radius at the bottom - - - - + + - - - - + + + + + + Resulting shape is not a solid @@ -4916,22 +4947,22 @@ over 90: larger hole radius at the bottom - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. @@ -4994,8 +5025,8 @@ over 90: larger hole radius at the bottom - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5003,14 +5034,14 @@ over 90: larger hole radius at the bottom - + Creating a face from sketch failed - + Revolve axis intersects the sketch @@ -5020,14 +5051,14 @@ over 90: larger hole radius at the bottom - + Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. @@ -5081,10 +5112,10 @@ Intersecting sketch entities in a sketch are not allowed. - + Error: Result is not a solid @@ -5186,15 +5217,15 @@ Intersecting sketch entities in a sketch are not allowed. + - Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. @@ -5396,27 +5427,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed. - + Invalid element in spine. - + Element in spine is neither an edge nor a wire. - + Spine is not connected. - + Spine is neither an edge nor a wire. - + Invalid spine. @@ -5451,120 +5482,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed. - + Cannot subtract primitive feature without base feature - + Adding the primitive failed - + Subtracting the primitive failed - + Length of box too small - + Width of box too small - + Height of box too small - + Radius of cylinder too small - + Height of cylinder too small - + Rotation angle of cylinder too small - + Radius of sphere too small - - + + Radius of cone cannot be negative - + The radii for cones must not be equal - + Height of cone too small - - + + Radius of ellipsoid too small - - + + Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small - + Height of prism is too small - + delta x of wedge too small - + delta y of wedge too small - + delta z of wedge too small - + delta z2 of wedge is negative - + delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_be.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_be.ts index 9a3d4059c0..94e714c6d8 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_be.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_be.ts @@ -124,7 +124,7 @@ False = унутраная шасцярня The distance by which the reference profile is shifted outwards, normalized by the module. - Адлегласць, на якую апорны профіль зрушаны вонкі, нармалізуецца модулем. + Адлегласць, на якую апорны профіль зрушаны вонкі, нармаваны па модулю. @@ -281,7 +281,7 @@ False = унутраная шасцярня Draft - Асадка + Чарнавік @@ -884,8 +884,8 @@ False = унутраная шасцярня Стварыць дублікат - + Make copy Зрабіць копію @@ -910,8 +910,8 @@ False = унутраная шасцярня Стварыць лагічную аперацыю - + Add a Body Дадаць цела @@ -941,22 +941,22 @@ False = унутраная шасцярня Рухаць аб'ект унутры дрэва - + Mirrored Сiметрыя - + Make LinearPattern Зрабіць Лінейны шаблон - + PolarPattern Палярны шаблон - + Scaled Маштабны @@ -1299,12 +1299,12 @@ If zero, it is equal to Radius2 Right-handed - Правая + Для правай рукі Left-handed - Левая + Для левай рукі @@ -1571,7 +1571,7 @@ click again to end selection Вугал - + Empty chamfer created ! Створана пустая фаска! @@ -1580,17 +1580,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Пусты спіс цел - + The body list cannot be empty Спіс цел не можа быць пустым - + Boolean: Accept: Input error Лагічная аперацыя: Прыняць: Памылка ўводу @@ -1598,12 +1598,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Несумяшчальны набор спасылак - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Не існуе рэжыму ўкладання, які адпавядае бягучаму набору спасылак. Калі вы вырашыце працягнуць, аб'ект застанецца там, дзе ён ёсць зараз, і не будзе зрушаны пры змене спасылак. Працягнуць? @@ -1611,7 +1611,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Input error @@ -1619,9 +1619,9 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error - Input error + Памылка ўводу @@ -1671,7 +1671,7 @@ click again to end selection Адваротны напрамак выцягвання - + Empty draft created ! Створаны пусты чарнавік! @@ -1708,39 +1708,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected Грань не абраная - - + + Face Грань - + Sketch normal Вектар нармалі эскізу - + Face normal Вектар нармалі грані - + Select reference... Select reference... + - Custom direction Адвольны напрамак - + Click on a face in the model Пстрыкнуць па грані ў мадэлі @@ -1855,7 +1855,7 @@ click again to end selection Select - Абраць + Select @@ -1875,7 +1875,7 @@ click again to end selection Ужываць усе рэбры - + Empty fillet created ! Створана пустое акругленне! @@ -2128,21 +2128,37 @@ click again to end selection + Mode + Рэжым + + + + Overall Length + Overall Length + + + + + Offset + Зрушэнне + + + Length Даўжыня - + Occurrences Выступы - + OK OK - + Update view Абнавіць выгляд @@ -2152,7 +2168,7 @@ click again to end selection Выдаліць - + Error Памылка @@ -2258,7 +2274,7 @@ click again to end selection Выдаліць - + Error Памылка @@ -2364,27 +2380,27 @@ click again to end selection Адваротны напрамак выцягвання - + Dimension Вымярэнне - + To last Да апошняга - + To first Да першага - + Up to face Да грані - + Two dimensions Два вымярэння @@ -2412,139 +2428,139 @@ click again to end selection Даўжыня - + Offset to face Зрушэнне да грані - + Direction Напрамак - + Direction/edge: Напрамак/рабро: - + Set a direction or select an edge from the model as reference Задаць напрамак альбо абраць рабро з мадэлі ў якасці апорнай - + Sketch normal Вектар нармалі эскізу - + Select reference... - Select reference... + Абраць апорны элемент... - + Custom direction Адвольны напрамак - + Show direction Паказаць напрамак - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Ужыць адвольны вектар для напрамку выцягвання, у адваротным выпадку будзе ўжыты вектар нармалі плоскасці эскіза - + x x - + x-component of direction vector x-кампанента вектара напрамку - + y y - + y-component of direction vector y-кампанента вектара напрамку - + z z - + z-component of direction vector z-кампанента вектара напрамку - + If unchecked, the length will be measured along the specified direction Калі не птушка, даўжыня будзе вымяраецца па зададзеным напрамку - + Length along sketch normal Даўжыня па вектару нармалі эскіза - + Applies length symmetrically to sketch plane Прымяніць даўжыню сіметрычна плоскасці эскіза - + Symmetric to plane Symmetric to plane - + Reversed Reversed - - + + Angle to taper the extrusion Вугал конусу зянкоўкі выдушвання - + Taper angle Вугал конусу зянкоўкі - + 2nd length Другая даўжыня - + 2nd taper angle Другі вугал конусу зянкоўкі - + Select face Абраць грань - + Update view Абнавіць выгляд @@ -2564,7 +2580,7 @@ measured along the specified direction Standard - Стандартны + Звычайны @@ -2709,7 +2725,7 @@ measured along the specified direction Input error - Input error + Памылка ўводу @@ -2783,27 +2799,27 @@ measured along the specified direction Адваротны напрамак кішэні - + Dimension Вымярэнне - + Through all Праз усё - + To first Да першага - + Up to face Да грані - + Two dimensions Два вымярэння @@ -2842,21 +2858,41 @@ measured along the specified direction + Mode + Рэжым + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Вугал - + + Offset + Зрушэнне + + + Occurrences Выступы - + OK OK - + Update view Абнавіць выгляд @@ -2866,7 +2902,7 @@ measured along the specified direction Выдаліць - + Error Памылка @@ -2876,7 +2912,7 @@ measured along the specified direction Attachment - Прымацаваць + Прымацаваныя @@ -2923,7 +2959,7 @@ measured along the specified direction Select reference... - Select reference... + Абраць апорны элемент... @@ -2933,12 +2969,12 @@ measured along the specified direction Symmetric to plane - Symmetric to plane + Сіметрычна плоскасці Reversed - Reversed + Наадварот @@ -3022,7 +3058,7 @@ measured along the specified direction Налады апорнай фігуры - + Remove Выдаліць @@ -3052,7 +3088,7 @@ click again to end selection Select - Абраць + Select @@ -3132,12 +3168,12 @@ click again to end selection Vertical sketch axis - Vertical sketch axis + Вертыкальная вось эскізу Horizontal sketch axis - Horizontal sketch axis + Гарызантальная вось эскізу @@ -3164,7 +3200,7 @@ click again to end selection Select reference... - Select reference... + Абраць апорны элемент... @@ -3185,7 +3221,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Пераключыць бягучае цела @@ -3442,70 +3478,70 @@ click again to end selection Злучнае рэчыва ўкладзенай фігуры - + Several sub-elements selected Некалькі абраных укладзеных элементаў - + You have to select a single face as support for a sketch! Вы павінны абраць адну грань у якасці падтрымкі для эскізу! - + No support face selected Не абрана грань падтрымкі - + You have to select a face as support for a sketch! Вы павінны абраць грань у якасці падтрымкі для эскізу! - + No planar support Адсутнічае плоская падтрымка - + You need a planar face as support for a sketch! Вам патрэбна абраць плоскую грань у якасці падтрымкі для эскізу! - + No valid planes in this document У дакуменце дапушчальныя плоскасці адсутнічаюць - + Please create a plane first or select a face to sketch on Калі ласка, спачатку стварыце плоскасць, альбо абярыце грань на эскізе - - - - - - - + + + + + + + A dialog is already open in the task panel - A dialog is already open in the task panel + На панэлі задач дыялогавае акно ўжо адчыненае - - - - - - - + + + + + + + Do you want to close this dialog? - Do you want to close this dialog? + Ці жадаеце вы зачыніць дыялогавае акно? @@ -3771,16 +3807,16 @@ This may lead to unexpected results. Немагчыма стварыць элемент адымання без даступнага асноўнага элементу - + Vertical sketch axis - Vertical sketch axis + Вертыкальная вось эскізу - + Horizontal sketch axis - Horizontal sketch axis + Гарызантальная вось эскізу @@ -3832,20 +3868,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr Каб ужыць гэты элемент, ён павінен належаць да аб'екту дэталі ў дакуменце. + + - - Edit %1 Змяніць %1 - + Set colors... Задаць колеры... - + Edit boolean Змяніць лагічную аперацыю @@ -3890,57 +3926,57 @@ This feature is broken and can't be edited. Элемент не працуе, і не можа быць зменены. - + Edit groove Змяніць паз - + Edit hole Змяніць адтуліну - + Edit loft Змяніць профіль - + Edit pad Змяніць выцягванне - + Edit pipe Змяніць траекторыю - + Edit pocket Edit pocket - + Edit primitive Змяніць першаснае цела - + Edit revolution Змяніць выцягванне кручэннем - + Edit shape binder Змяніць злучнае рэчыва фігуры - + Synchronize Сінхранізаваць - + Select bound object Абраць звязаны аб'ект @@ -3960,27 +3996,27 @@ This feature is broken and can't be edited. Паспяховае пераўтварэнне - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Дакумент "%1", які вы мяняеце, быў спраектаваны з ужываннем старой версіі варштата Праектавання дэталі. - + Do you want to migrate in order to use modern PartDesign features? Ці жадаеце вы мігрыраваць, каб ужыць сучасныя асаблівасці Праектавання дэталі? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Дакумент "%1", відаць, знаходзіцца ў сярэдзіне працэсу міграцыі з састарэлага Праектавання дэталі, альбо мае злёгку парушаную структуру. - + Do you want to make the migration automatically? Ці жадаеце вы мігрыраваць аўтаматычна? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3989,12 +4025,12 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Але вы зможаце мігрыраваць у любы момант пазней з дапамогай "Праектаванне дэталі -> Мігрыраваць". - + Migrate manually Мігрыраваць уручную - + Edit helix Змяніць спіраль @@ -4242,7 +4278,7 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Position - Position + Становішча @@ -4462,7 +4498,7 @@ Only available for holes without thread Standard - Стандартны + Звычайны @@ -4623,7 +4659,7 @@ over 90: larger hole radius at the bottom Reversed - Reversed + Наадварот @@ -4638,11 +4674,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Форма - No message @@ -4929,17 +4960,17 @@ over 90: larger hole radius at the bottom Зліццё інструментаў не атрымалася - - - - + + - - - - + + + + + + Resulting shape is not a solid Выніковая фігура атрымалася не суцэльным целам @@ -4954,22 +4985,22 @@ over 90: larger hole radius at the bottom Агульная аперацыя завяршылася няўдачай - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Вынік змяшчае некалькі суцэльных цел: у бягучы час гэтае не падтрымліваецца. @@ -5032,8 +5063,8 @@ over 90: larger hole radius at the bottom Вугал пазу занадта малы - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5043,14 +5074,14 @@ over 90: larger hole radius at the bottom - абраны эскіз не належыць да бягучага Цела. - + Creating a face from sketch failed Не атрымалася стварыць грань з эскізу - + Revolve axis intersects the sketch Вось вярчэння перасякае эскіз @@ -5060,18 +5091,18 @@ over 90: larger hole radius at the bottom Не атрымалася выразаць асноўны элемент - + Could not revolve the sketch! Не атрымалася павярнуць эскіз! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Не атрымалася стварыць грань з эскізу. -Перакрыжаваныя сутнасці эскізу ў эскізе не дазваляюцца. +Перасякальныя сутнасці эскізу ў эскізе не дазваляюцца. @@ -5122,10 +5153,10 @@ Intersecting sketch entities in a sketch are not allowed. Памылка: не атрымалася пабудаваць - + Error: Result is not a solid Памылка: вынік не суцэльнае цела @@ -5149,7 +5180,7 @@ Intersecting sketch entities in a sketch are not allowed. Error: Intersecting the helix failed - Памылка: не атрымалася перакрыжаваць спіраль + Памылка: не атрымалася перасякаваць спіраль @@ -5227,19 +5258,19 @@ Intersecting sketch entities in a sketch are not allowed. Памылка: не атрымалася дадаць разьбу + - Boolean operation failed Лагічная аперацыя завяршылася няўдачай - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Не атрымалася стварыць грань з эскізу. -Перакрыжаваныя сутнасці эскізу ці некалькі граняў у эскізе не дапускаюцца для стварэння кішэні да грані. +Перасякальныя сутнасці эскізу ці некалькі граняў у эскізе не дапускаюцца для стварэння кішэні да грані. @@ -5356,7 +5387,7 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed for m Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed. Не атрымалася стварыць грань з эскізу. -Перакрыжаваныя сутнасці эскізу ці некалькі граняў у эскізе не дазваляюцца. +Перасякальныя сутнасці эскізу ці некалькі граняў у эскізе не дазваляюцца. @@ -5439,27 +5470,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Пры стварэнні траекторыі адбылася фатальная памылка - + Invalid element in spine. Хібны элемент у каркасе. - + Element in spine is neither an edge nor a wire. Элемент у каркасе не з'яўляецца ні рабром, ні ломанай лініяй. - + Spine is not connected. Каркас не падключаны. - + Spine is neither an edge nor a wire. Каркас не з'яўляецца ні рабром, ні ломанай лініяй. - + Invalid spine. Хібны каркас. @@ -5494,120 +5525,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Кішэнь: не атрымалася выразаць асноўны элемент - + Cannot subtract primitive feature without base feature Немагчыма адняць элемент першаснага цела без асноўнага элементу - + Adding the primitive failed Не атрымалася дадаць першаснае цела - + Subtracting the primitive failed Не атрымалася адняць першаснае цела - + Length of box too small Даўжыня габарытаў занадта малая - + Width of box too small Шырыня габарытаў занадта малая - + Height of box too small Вышыня габарытаў занадта малая - + Radius of cylinder too small Радыус цыліндру занадта малы - + Height of cylinder too small Вышыня цыліндру занадта малая - + Rotation angle of cylinder too small Вугал вярчэння цыліндру занадта малы - + Radius of sphere too small Радыус сферы занадта малы - - + + Radius of cone cannot be negative Радыус конусу не можа быць адмоўным - + The radii for cones must not be equal Радыусы конусаў не павінны быць аднолькавымі - + Height of cone too small Вышыня конусу занадта малая - - + + Radius of ellipsoid too small Радыус эліпсоіду занадта малы - - + + Radius of torus too small Радыус тору занадта малы - + Polygon of prism is invalid, must have 3 or more sides Хібны шматкутнік прызмы, павінен мець тры ці больш бакоў - + Circumradius of the polygon, of the prism, is too small Радыус акружнасці шматкутніку прызмы занадта малы - + Height of prism is too small Вышыня прызмы занадта малая - + delta x of wedge too small дэльта X кліну занадта малая - + delta y of wedge too small дэльта Y кліну занадта малая - + delta z of wedge too small дэльта Z кліну занадта малая - + delta z2 of wedge is negative дэльта Z2 кліну адмоўная - + delta x2 of wedge is negative дэльта X2 кліну адмоўная diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ca.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ca.ts index 841056f666..12acda3c51 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ca.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ca.ts @@ -883,8 +883,8 @@ de manera que s'evita l'autointersecció. Crea un clon - + Make copy Fer còpia @@ -909,8 +909,8 @@ de manera que s'evita l'autointersecció. Crea booleà - + Add a Body Afegiu un cos @@ -940,22 +940,22 @@ de manera que s'evita l'autointersecció. Mou un objecte dins de l'arbre - + Mirrored Reflectit - + Make LinearPattern Fer Patró Lineal - + PolarPattern Patró Polar - + Scaled Escalat @@ -1570,7 +1570,7 @@ clica altre cop per finalitzar la selecció Angle - + Empty chamfer created ! S'ha creat un xamfrà buit! @@ -1580,17 +1580,17 @@ clica altre cop per finalitzar la selecció PartDesignGui::TaskDlgBooleanParameters - + Empty body list La llista de cossos és buida - + The body list cannot be empty La llista de cossos no pot ser buida - + Boolean: Accept: Input error Boolean: Acceptar: error d'entrada @@ -1598,12 +1598,12 @@ clica altre cop per finalitzar la selecció PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Conjunt de referències incompatible - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? No hi ha cap mode d'afecció que s'adapta el conjunt actual de referències. Si decidiu continuar, el tret romandrà on és ara i no es desplaçarà com canviar les referències. Voleu continuar? @@ -1611,7 +1611,7 @@ clica altre cop per finalitzar la selecció PartDesignGui::TaskDlgFeatureParameters - + Input error Error d'entrada @@ -1619,7 +1619,7 @@ clica altre cop per finalitzar la selecció PartDesignGui::TaskDlgShapeBinder - + Input error Error d'entrada @@ -1671,7 +1671,7 @@ clica altre cop per finalitzar la selecció Direcció de tracció invertida - + Empty draft created ! S'ha creat un dibuix buit! @@ -1709,39 +1709,39 @@ clica altre cop per finalitzar la selecció PartDesignGui::TaskExtrudeParameters - + No face selected Cap cara seleccionada - - + + Face Cara - + Sketch normal Croquis normal - + Face normal Cara Normal - + Select reference... Seleccioneu referència... + - Custom direction Direcció personalitzada - + Click on a face in the model Clica en una cara del model @@ -1876,7 +1876,7 @@ clica altre cop per finalitzar la selecció Utilitzeu totes les arestes - + Empty fillet created ! S'ha creat un filet buit! @@ -2130,21 +2130,37 @@ clica altre cop per finalitzar la selecció + Mode + Modus + + + + Overall Length + Overall Length + + + + + Offset + Equidistancia (ofset) + + + Length Longitud - + Occurrences Ocurrències - + OK D'acord - + Update view Actualització vista @@ -2154,7 +2170,7 @@ clica altre cop per finalitzar la selecció Elimina - + Error Error @@ -2260,7 +2276,7 @@ clica altre cop per finalitzar la selecció Elimina - + Error Error @@ -2366,27 +2382,27 @@ clica altre cop per finalitzar la selecció Inverteix la direcció - + Dimension Cota - + To last Al darrer - + To first A la primera - + Up to face Fins la cara - + Two dimensions Dues dimensions @@ -2414,139 +2430,139 @@ clica altre cop per finalitzar la selecció Longitud - + Offset to face Desplaçament a la Cara - + Direction Direcció - + Direction/edge: Direcciò/aresta: - + Set a direction or select an edge from the model as reference Estableix una direcció o selecciona una aresta del model com a referència - + Sketch normal Croquis normal - + Select reference... Seleccioneu referència... - + Custom direction Direcció personalitzada - + Show direction Mostra la direcció - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Usar un vector personalitzat per la direcció de l'extrusió, cas contrari es farà servir el vector normal del plànol de croquis - + x x - + x-component of direction vector component X del vector de direcció - + y y - + y-component of direction vector component Y del vector de direcció - + z z - + z-component of direction vector component Z del vector de direcció - + If unchecked, the length will be measured along the specified direction Si no es Selecciona, la longitud serà mesurada al llarg de la direcció especificada - + Length along sketch normal Longitud al llarg de l'esbós normal - + Applies length symmetrically to sketch plane Aplica la longitud simètricament al pla de dibuix - + Symmetric to plane Simètric al pla - + Reversed Invertit - - + + Angle to taper the extrusion Angle per esmolar l'extrusió - + Taper angle Angle de cònicitat - + 2nd length 2a longitud - + 2nd taper angle 2n angle de cònicitat - + Select face Selecciona una cara - + Update view Actualització vista @@ -2785,27 +2801,27 @@ mesurada al llarg de la direcció especificada Inverteix la direcció del vuidat - + Dimension Cota - + Through all A través de totes - + To first A la primera - + Up to face Fins la cara - + Two dimensions Dues dimensions @@ -2844,21 +2860,41 @@ mesurada al llarg de la direcció especificada + Mode + Modus + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Angle - + + Offset + Equidistancia (ofset) + + + Occurrences Ocurrències - + OK D'acord - + Update view Actualització vista @@ -2868,7 +2904,7 @@ mesurada al llarg de la direcció especificada Elimina - + Error Error @@ -3024,7 +3060,7 @@ mesurada al llarg de la direcció especificada Paràmetres de forma Datum - + Remove Elimina @@ -3188,7 +3224,7 @@ clica altre cop per finalitzar la selecció PartDesignGui::ViewProviderBody - + Toggle active body Cos actiu tanca @@ -3445,68 +3481,68 @@ clica altre cop per finalitzar la selecció Sub Shape Binder - + Several sub-elements selected S'han seleccionat diversos sub-elements - + You have to select a single face as support for a sketch! Heu de seleccionar una única cara com a suport de l'esbós! - + No support face selected No s'ha seleccionat una cara de suport - + You have to select a face as support for a sketch! Heu seleccionat una cara de suport per a un esbós! - + No planar support No hi ha suport pla - + You need a planar face as support for a sketch! Necessiteu una cara plana com a suport per a un esbós! - + No valid planes in this document Esbossos no vàlids en aquest document - + Please create a plane first or select a face to sketch on Si us plau, crear un plànol primer o seleccioneu una cara a esbossar - - - - - - - + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - + + + + + + + Do you want to close this dialog? Do you want to close this dialog? @@ -3772,14 +3808,14 @@ Això pot portar a resultats inesperats. No és possible crear un pla Sustractiu sense una base pla disponible - + Vertical sketch axis Eix vertical de croquis - + Horizontal sketch axis Eix horitzontal de croquis @@ -3833,20 +3869,20 @@ Si teniu un document antic amb objectes PartDesign sense cos, utilitzeu la funci Per utilitzar aquesta característica cal que pertanyen a un objecte de part del document. + + - - Edit %1 Editar %1 - + Set colors... Conjunts de colors... - + Edit boolean Editar booleà @@ -3890,57 +3926,57 @@ This feature is broken and can't be edited. %1 perd un tret de base. Aquesta característica es trenca i no es pot editar. - + Edit groove Editar ranura - + Edit hole Edita el forat - + Edit loft Editar calaix - + Edit pad Edit pad - + Edit pipe Editar la canonada - + Edit pocket Edita Caixal - + Edit primitive Editar primitiva - + Edit revolution Editar Revolució - + Edit shape binder Editar el quadern de forma - + Synchronize Sincronitza - + Select bound object Seleccioneu l'objecte lligat @@ -3960,27 +3996,27 @@ This feature is broken and can't be edited. Transformació amb èxit - + The document "%1" you are editing was designed with an old version of PartDesign workbench. El document "%1" que estàs editant es va dissenyar amb una versió antiga del PartDesign workbench. - + Do you want to migrate in order to use modern PartDesign features? Voleu migrar per utilitzar característiques modernes PartDesign? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. El document "%1" sembla ser al mig del procés de migració de llegat PartDesign o tenen una estructura una mica trencat. - + Do you want to make the migration automatically? Voleu fer la migració automàticament? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3989,12 +4025,12 @@ Si us negueu a migrar, no podreu utilitzar les noves funcions de PartDesign, com Tot i que podreu migrar en qualsevol moment més tard amb 'Disseny de peces -> Migrar'. - + Migrate manually Migrar manualment - + Edit helix Edita l'hèlix @@ -4640,11 +4676,6 @@ més de 90: radi de forat més gran a la part inferior TaskTransformedMessages - - - Form - Forma - No message @@ -4931,17 +4962,17 @@ més de 90: radi de forat més gran a la part inferior Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4956,22 +4987,22 @@ més de 90: radi de forat més gran a la part inferior Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5034,8 +5065,8 @@ més de 90: radi de forat més gran a la part inferior Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5045,14 +5076,14 @@ més de 90: radi de forat més gran a la part inferior - l'esbós seleccionat no pertany al Cos actiu. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5062,14 +5093,14 @@ més de 90: radi de forat més gran a la part inferior Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5124,10 +5155,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5229,15 +5260,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5441,27 +5472,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5496,120 +5527,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts index 453d1b111a..9583c4d720 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts @@ -883,8 +883,8 @@ aby se zabránilo sebe. Vytvořit klon - + Make copy Vytvořit kopii @@ -909,8 +909,8 @@ aby se zabránilo sebe. Použít booleovské operace - + Add a Body Přidat tělo @@ -940,22 +940,22 @@ aby se zabránilo sebe. Přesunout objekt dovnitř stromu - + Mirrored Zrcadlit - + Make LinearPattern Vytvořit lineární pole - + PolarPattern Kruhové pole - + Scaled Změna měřítka @@ -1570,7 +1570,7 @@ klikněte znovu pro ukončení výběru Úhel - + Empty chamfer created ! Empty chamfer created ! @@ -1580,17 +1580,17 @@ klikněte znovu pro ukončení výběru PartDesignGui::TaskDlgBooleanParameters - + Empty body list Prázdný seznam těla - + The body list cannot be empty Seznam těla nemůže být prázdný - + Boolean: Accept: Input error Boolean: Přimutí: Vstupní chyba @@ -1598,12 +1598,12 @@ klikněte znovu pro ukončení výběru PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Nekompatibilí referenční množina - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Neexistuje režim připojení odpovídající uktuální množině odkazů. Budete-li pokračovat, prvek zůstane tam, kde se právě nachází a nepřesune se při změně referencí. Pokračovat? @@ -1611,7 +1611,7 @@ klikněte znovu pro ukončení výběru PartDesignGui::TaskDlgFeatureParameters - + Input error Chyba zadání @@ -1619,7 +1619,7 @@ klikněte znovu pro ukončení výběru PartDesignGui::TaskDlgShapeBinder - + Input error Chyba zadání @@ -1671,7 +1671,7 @@ klikněte znovu pro ukončení výběru Obrátit směr zkosení - + Empty draft created ! Empty draft created ! @@ -1709,39 +1709,39 @@ klikněte znovu pro ukončení výběru PartDesignGui::TaskExtrudeParameters - + No face selected Nevybrána žádná stěna - - + + Face Plocha - + Sketch normal Normála náčrtu - + Face normal Normála plochy - + Select reference... Vyber referenci... + - Custom direction Vlastní směr - + Click on a face in the model Click on a face in the model @@ -1876,7 +1876,7 @@ klikněte znovu pro ukončení výběru Použít všechny hrany - + Empty fillet created ! Empty fillet created ! @@ -2130,21 +2130,37 @@ klikněte znovu pro ukončení výběru + Mode + Způsob + + + + Overall Length + Overall Length + + + + + Offset + Odstup + + + Length Délka - + Occurrences Počet výskytů - + OK OK - + Update view Aktualizovat zobrazení @@ -2154,7 +2170,7 @@ klikněte znovu pro ukončení výběru Odstranit - + Error Chyba @@ -2260,7 +2276,7 @@ klikněte znovu pro ukončení výběru Odstranit - + Error Chyba @@ -2366,27 +2382,27 @@ klikněte znovu pro ukončení výběru Obrátí směr desky - + Dimension Rozměr - + To last K poslední - + To first K další - + Up to face K ploše - + Two dimensions Dvě kóty @@ -2414,139 +2430,139 @@ klikněte znovu pro ukončení výběru Délka - + Offset to face Odsazení od oříznuté plochy - + Direction Směr - + Direction/edge: Směr/hrana: - + Set a direction or select an edge from the model as reference Nastavit směr nebo vybrat hranu z modelu jako referenční - + Sketch normal Normála náčrtu - + Select reference... Vyber referenci... - + Custom direction Vlastní směr - + Show direction Zobrazit směr - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Použít vlastní vektor pro směr desky, jinak bude použit normálový vektor roviny náčrtu - + x x - + x-component of direction vector X složka vektoru směru - + y y - + y-component of direction vector Y složka vektoru směru - + z z - + z-component of direction vector Z složka vektoru směru - + If unchecked, the length will be measured along the specified direction Pokud není zaškrtnuto, délka bude měřena ve stanoveném směru - + Length along sketch normal Délka podél normály náčrtu - + Applies length symmetrically to sketch plane Použije délku symetricky k rovině náčrtu - + Symmetric to plane Symetrický k rovině - + Reversed Překlopit - - + + Angle to taper the extrusion Úhel pro zkosení vysunutí - + Taper angle Úhel zkosení - + 2nd length 2. délka - + 2nd taper angle Druhý úhel zkosení - + Select face Vybrat plochu - + Update view Aktualizovat zobrazení @@ -2785,27 +2801,27 @@ měřena ve stanoveném směru Obrátí směr kapsy - + Dimension Rozměr - + Through all Skrz vše - + To first K další - + Up to face K ploše - + Two dimensions Dvě kóty @@ -2844,21 +2860,41 @@ měřena ve stanoveném směru + Mode + Způsob + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Úhel - + + Offset + Odstup + + + Occurrences Počet výskytů - + OK OK - + Update view Aktualizovat zobrazení @@ -2868,7 +2904,7 @@ měřena ve stanoveném směru Odstranit - + Error Chyba @@ -3024,7 +3060,7 @@ měřena ve stanoveném směru Parametry pomocného tvaru - + Remove Odstranit @@ -3188,7 +3224,7 @@ klikněte znovu pro ukončení výběru PartDesignGui::ViewProviderBody - + Toggle active body Přepnout aktivní tělo @@ -3445,68 +3481,68 @@ klikněte znovu pro ukončení výběru Sub-Shape Binder - + Several sub-elements selected několik pod elementů vybráno - + You have to select a single face as support for a sketch! Máte vybranou jednoduchou plochu jako podklad pro náčrt! - + No support face selected Není vybrána žádná podporovaná stěna - + You have to select a face as support for a sketch! Musíte vybrat stěnu jako plochu pro náčrt! - + No planar support Není k dispozici podporovaná rovina - + You need a planar face as support for a sketch! Potřebujete stěnu jako plochu pro náčrt! - + No valid planes in this document V tomto dokumento nejsou platné roviny - + Please create a plane first or select a face to sketch on Nejprve vytvořte rovinu nebo vyberte plochu, na kterou chcete vytvořit náčrt - - - - - - - + + + + + + + A dialog is already open in the task panel Dialog je opravdu otevřen v panelu úloh - - - - - - - + + + + + + + Do you want to close this dialog? Chcete zavřít tento dialog? @@ -3774,14 +3810,14 @@ To může vést k neočekávaným výsledkům. Není možné vytvořit odečtový prvek bez základního prvku - + Vertical sketch axis Svislá skicovací osa - + Horizontal sketch axis Vodorovná skicovací osa @@ -3835,20 +3871,20 @@ Pokud máte starší dokument s objekty PartDesignu bez Těla, použijte funkci Pro použití tohoto prvku je potřebné, aby patřil k objektu díl v dokumentu. + + - - Edit %1 Upravit %1 - + Set colors... Nastavení barev... - + Edit boolean Upravit boolean @@ -3893,57 +3929,57 @@ This feature is broken and can't be edited. Tento prvek je rozbitý a nelze upravovat. - + Edit groove Upravit vybrání - + Edit hole Upravit díru - + Edit loft Upravit profilování - + Edit pad Upravit desku - + Edit pipe Upravit potrubí - + Edit pocket Upravit kapsu - + Edit primitive Upravit primitivní těleso - + Edit revolution Upravit rotaci - + Edit shape binder Upravit pořadač tvarů - + Synchronize Synchronizovat - + Select bound object Vybrat vázaný objekt @@ -3963,27 +3999,27 @@ Tento prvek je rozbitý a nelze upravovat. Transformace byla úspěšná - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Dokument "%1", který upravujete, byl vytvořen ve starém pracovním prostředí PartDesign. - + Do you want to migrate in order to use modern PartDesign features? Migrovat, aby bylo možno použít moderní PartDesign prvky? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Zdá se, že dokument "%1" je buď v procesu migrace ze staršího PartDesignu nebo má mírně rozbitou strukturu. - + Do you want to make the migration automatically? Chcete provést migraci automaticky? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3992,12 +4028,12 @@ If you refuse to migrate you won't be able to use new PartDesign features like B Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually Migrovat manuálně - + Edit helix Upravit šroubovici @@ -4642,11 +4678,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Návrh - No message @@ -4933,17 +4964,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4958,22 +4989,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5036,8 +5067,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5048,14 +5079,14 @@ over 90: larger hole radius at the bottom - vybraný náčrt nepatří k aktivnímu Tělu. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5065,14 +5096,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5127,10 +5158,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5232,15 +5263,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5444,27 +5475,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5499,120 +5530,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts index 60e3d333fc..b8f7ef5c12 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts @@ -514,7 +514,7 @@ damit eine Selbstdurchdringung vermieden wird. Create sketch - Skizze erstellen + Skizzen erstellen @@ -883,8 +883,8 @@ damit eine Selbstdurchdringung vermieden wird. Klon erstellen - + Make copy Kopie erstellen @@ -909,8 +909,8 @@ damit eine Selbstdurchdringung vermieden wird. Boolean erstellen - + Add a Body Einen Körper hinzufügen @@ -940,22 +940,22 @@ damit eine Selbstdurchdringung vermieden wird. Objekt innerhalb des Baumes verschieben - + Mirrored Spiegeln - + Make LinearPattern Lineares Muster erstellen - + PolarPattern Polares Muster - + Scaled skaliert @@ -1329,7 +1329,7 @@ Wenn Null, ist er gleich Radius2 From three points - Aus drei Punkten + Von drei Punkten @@ -1339,7 +1339,7 @@ Wenn Null, ist er gleich Radius2 Minor radius: - Nebenradius: + Innenradius: @@ -1434,7 +1434,7 @@ Wenn Null, ist er gleich Radius2 Cut - Differenz + Ausschneiden @@ -1449,7 +1449,7 @@ Wenn Null, ist er gleich Radius2 Remove - Entfernen + Löschen @@ -1514,7 +1514,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Select - Wähle + Auswählen @@ -1569,7 +1569,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Winkel - + Empty chamfer created ! Leere Fase erzeugt ! @@ -1579,17 +1579,17 @@ Nochmaliges Klicken beendet den Auswahl-Modus. PartDesignGui::TaskDlgBooleanParameters - + Empty body list Leere Körperliste - + The body list cannot be empty Die Körperliste darf nicht leer sein - + Boolean: Accept: Input error Boolean: Akzeptieren: Eingabefehler @@ -1597,12 +1597,12 @@ Nochmaliges Klicken beendet den Auswahl-Modus. PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Inkompatible Referenzen - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Es gibt keinen Anhang-Modus, das zu dem aktuellen Set von Referenzen passt. Wenn du fortsetzen willst, bleibt die Funktion dort, wo sie jetzt ist, und wird nicht verschoben, wenn sich die Referenzen ändern. Fortsetzen? @@ -1610,7 +1610,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. PartDesignGui::TaskDlgFeatureParameters - + Input error Eingabefehler @@ -1618,7 +1618,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. PartDesignGui::TaskDlgShapeBinder - + Input error Eingabefehler @@ -1640,7 +1640,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Select - Wähle + Auswählen @@ -1670,7 +1670,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Entformungsrichtung umkehren - + Empty draft created ! Leerer Entwurf erstellt ! @@ -1687,7 +1687,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Select - Wähle + Auswählen @@ -1702,45 +1702,45 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Remove - Entfernen + Löschen PartDesignGui::TaskExtrudeParameters - + No face selected Keine Fläche ausgewählt - - + + Face Fläche - + Sketch normal Skizzennormale - + Face normal Flächennormale - + Select reference... Referenz auswählen... + - Custom direction Benutzerdefinierte Richtung - + Click on a face in the model Klicken Sie auf eine Fläche im Modell @@ -1849,13 +1849,13 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Click button to enter selection mode, click again to end selection - Klicken Sie auf den Button um in den Auswahl-Modus zu gelangen. -Nochmaliges Klicken beendet den Auswahl-Modus. + Klicken Sie auf die Schaltfläche, um den Auswahlmodus zu betreten, +erneut klicken um die Auswahl zu beenden Select - Wähle + Auswählen @@ -1875,7 +1875,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Alle Kanten verwenden - + Empty fillet created ! Leere Abrundung erstellt ! @@ -2125,25 +2125,41 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Reverse direction - Umgekehrte Richtung + Richtung umkehren + Mode + Modus + + + + Overall Length + Overall Length + + + + + Offset + Versetzen + + + Length Länge - + Occurrences Vorkommen - + OK OK - + Update view Ansicht aktualisieren @@ -2153,9 +2169,9 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Entfernen - + Error - Fehlermeldungen + Fehler @@ -2203,7 +2219,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Update view - Ansicht aktualisieren + Ansicht aktualisieren @@ -2259,7 +2275,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Entfernen - + Error Fehlermeldungen @@ -2365,27 +2381,27 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Richtung der Aufpolsterung umdrehen - + Dimension Abmessung - + To last Zur Letzten - + To first Bis zur dichtesten Objektbegrenzung - + Up to face Bis zu Oberfläche - + Two dimensions Zwei Längen @@ -2413,139 +2429,139 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Länge - + Offset to face Abstand zur Fläche - + Direction Richtung - + Direction/edge: Richtung/Kante: - + Set a direction or select an edge from the model as reference Eine Ausrichtung vorgeben oder eine Kante des Modells als Referenz auswählen - + Sketch normal Skizzennormale - + Select reference... Referenz auswählen... - + Custom direction Benutzerdefinierte Richtung - + Show direction Richtung anzeigen - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Benutzerdefinierten Vektor für die Richtung der Aufpolsterung verwenden, andernfalls wird der Normalenvektor der Skizze verwendet - + x x - + x-component of direction vector X-Komponente des Richtungsvektors - + y y - + y-component of direction vector Y-Komponente des Richtungsvektors - + z z - + z-component of direction vector Z-Komponente des Richtungsvektors - + If unchecked, the length will be measured along the specified direction Wenn abgewählt, wird die Länge entlang der angegebenen Richtung gemessen - + Length along sketch normal Länge entlang der Skizzennormale - + Applies length symmetrically to sketch plane Längen symmetrisch zur Skizzenebene - + Symmetric to plane Symmetrisch zu einer Ebene - + Reversed Umgekehrt - - + + Angle to taper the extrusion Winkel zum Abschrägen der Extrusion - + Taper angle Schrägungswinkel - + 2nd length Zweite Länge - + 2nd taper angle 2. Schrägungswinkel - + Select face Fläche auswählen - + Update view Ansicht aktualisieren @@ -2784,27 +2800,27 @@ entlang der angegebenen Richtung gemessen Kehrt die Richtung der Tasche um - + Dimension Abmessung - + Through all Durch alles - + To first Bis zur dichtesten Objektbegrenzung - + Up to face Bis zu Oberfläche - + Two dimensions Zwei Längen @@ -2839,27 +2855,47 @@ entlang der angegebenen Richtung gemessen Reverse direction - Umgekehrte Richtung + Richtung umkehren + Mode + Modus + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Winkel - + + Offset + Versetzen + + + Occurrences Vorkommen - + OK OK - + Update view - Ansicht aktualisieren + Ansicht aktualisieren @@ -2867,9 +2903,9 @@ entlang der angegebenen Richtung gemessen Entfernen - + Error - Fehlermeldungen + Fehler @@ -2934,7 +2970,7 @@ entlang der angegebenen Richtung gemessen Symmetric to plane - Symmetrisch zu einer Ebene + Symmetrisch zur Ebene @@ -2944,7 +2980,7 @@ entlang der angegebenen Richtung gemessen Update view - Ansicht aktualisieren + Ansicht aktualisieren @@ -2987,7 +3023,7 @@ entlang der angegebenen Richtung gemessen Update view - Ansicht aktualisieren + Ansicht aktualisieren @@ -3023,7 +3059,7 @@ entlang der angegebenen Richtung gemessen Bezugsform-Parameter - + Remove Entfernen @@ -3047,13 +3083,13 @@ entlang der angegebenen Richtung gemessen Click button to enter selection mode, click again to end selection - Klicken Sie auf den Button um in den Auswahl-Modus zu gelangen. -Nochmaliges Klicken beendet den Auswahl-Modus. + Klicken Sie auf die Schaltfläche, um den Auswahlmodus zu betreten, +erneut klicken um die Auswahl zu beenden Select - Wähle + Auswählen @@ -3150,7 +3186,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Base X axis - Basis X-Achse + Basis-X-Achse @@ -3160,7 +3196,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Base Z axis - Basis Z-Achse + Basis-Z-Achse @@ -3187,7 +3223,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. PartDesignGui::ViewProviderBody - + Toggle active body Aktiven Körper umschalten @@ -3444,68 +3480,68 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Formbinder für Teilobjekt - + Several sub-elements selected Mehrere Unter-Elemente selektiert - + You have to select a single face as support for a sketch! Sie müssen eine einzelne Fläche als Auflage für eine Skizze auswählen! - + No support face selected Keine Fläche als Auflage selektiert - + You have to select a face as support for a sketch! Sie müssen eine Fläche als Auflage für eine Skizze auswählen! - + No planar support Keine ebene Auflage - + You need a planar face as support for a sketch! Sie benötigen eine ebene Fläche als Auflage für eine Skizze! - + No valid planes in this document Keine gültigen Ebenen in diesem Dokument - + Please create a plane first or select a face to sketch on Zum Erzeugen einer Skizze zuerst eine Ebene im Koordinatensystem oder auf einem Körper wählen - - - - - - - + + + + + + + A dialog is already open in the task panel Es ist bereits ein Dialog in der Aufgabenleiste geöffnet - - - - - - - + + + + + + + Do you want to close this dialog? Möchten Sie diesen Dialog zu schließen? @@ -3771,14 +3807,14 @@ This may lead to unexpected results. Es ist nicht möglich, ein abzuziehendes Objekt ohne ein Basisobjekt zu erstellen - + Vertical sketch axis Vertikale Skizzenachse - + Horizontal sketch axis Horizontale Skizzenachse @@ -3833,20 +3869,20 @@ Bitte aktivieren (Doppelklick) Sie einen oder erstellen einen neuen Körper.Um diese Funktion verwenden zu können, muss es Teil einer Baugruppe im Dokument sein. + + - - Edit %1 %1 bearbeiten - + Set colors... Farben festlegen... - + Edit boolean Boolesche Operation bearbeiten @@ -3891,57 +3927,57 @@ This feature is broken and can't be edited. Dieses Objekt ist beschädigt und kann nicht bearbeitet werden. - + Edit groove Nut bearbeiten - + Edit hole Bohrung bearbeiten - + Edit loft Ausformung bearbeiten - + Edit pad Extrusion bearbeiten - + Edit pipe Rohr bearbeiten - + Edit pocket Tasche bearbeiten - + Edit primitive Grundkörper bearbeiten - + Edit revolution Drehteil bearbeiten - + Edit shape binder Formbinder bearbeiten - + Synchronize Synchronisieren - + Select bound object Begrenztes Objekt auswählen @@ -3961,27 +3997,27 @@ Dieses Objekt ist beschädigt und kann nicht bearbeitet werden. Transformation erfolgreich - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Das Dokument "%1" welches Sie editieren, wurde mit der alten Version des PartDesign Workbench erstellt. - + Do you want to migrate in order to use modern PartDesign features? Möchten Sie migrieren, um neuere PartDesign-Funktionen zu nutzen? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Das Dokument "%1" scheint entweder inmitten des Migrationsprozesses aus einem älteren PartDesign zu stammen oder hat eine defekte Struktur. - + Do you want to make the migration automatically? Möchten Sie die Migrierung automatisch durchführen? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3990,12 +4026,12 @@ Wenn Du die Migration ablehnst, kannst Du keine neuen PartDesign-Funktionen wie Du kannst die Teile später jederzeit mit 'Part Design -> Migrieren...' migrieren. - + Migrate manually Manuell migrieren - + Edit helix Wendel bearbeiten @@ -4639,11 +4675,6 @@ unter 90: kleinerer Bohrungsradius an der Unterseite TaskTransformedMessages - - - Form - Form - No message @@ -4930,17 +4961,17 @@ unter 90: kleinerer Bohrungsradius an der Unterseite Fusion der Werkzeuge fehlgeschlagen - - - - + + - - - - + + + + + + Resulting shape is not a solid Die resultierende Form ist kein Festkörper @@ -4955,22 +4986,22 @@ unter 90: kleinerer Bohrungsradius an der Unterseite Vereinigung fehlgeschlagen - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Das Ergebnis enthält mehrere Festkörper: Dies wird derzeit leider nicht unterstützt. @@ -5033,8 +5064,8 @@ unter 90: kleinerer Bohrungsradius an der Unterseite Winkel der Nut zu klein - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5044,14 +5075,14 @@ unter 90: kleinerer Bohrungsradius an der Unterseite - Die gewählte Skizze gehört nicht zum aktiven Körper. - + Creating a face from sketch failed Es konnte keine Fläche aus der Skizze erstellt werden - + Revolve axis intersects the sketch Die Drehachse schneidet die Skizze @@ -5061,14 +5092,14 @@ unter 90: kleinerer Bohrungsradius an der Unterseite Das Ausschneiden des Basis-Formelements ist fehlgeschlagen - + Could not revolve the sketch! Konnte die Skizze nicht drehen! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Konnte keine Fläche aus der Skizze erstellen. @@ -5123,10 +5154,10 @@ Skizzenobjekte dürfen einander nicht schneiden. Fehler: Konnte leider keine Helix erstellen - + Error: Result is not a solid Fehler: Ergebnis ist kein Festkörper @@ -5228,15 +5259,15 @@ Skizzenobjekte dürfen einander nicht schneiden. Fehler: Konnte das Gewinde nicht hinzufügen + - Boolean operation failed Boolesche Operation fehlgeschlagen - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Es konnte keine Fläche aus der Skizze erstellt werden. @@ -5441,27 +5472,27 @@ Im Original: "Der Pfad darf keine Nullform sein." wenn Ihnen das besser hilftFehler bei Rohr: Ein ganz fürchterlicher, schwerwiegender Fehler ist beim Erstellen der Schräge aufgetreten - + Invalid element in spine. Die Leitkurve enthält ein ungültiges Element. - + Element in spine is neither an edge nor a wire. Ein Element der Leitkurve ist weder eine Kante noch ein Draht. - + Spine is not connected. Die Leitkurve ist nicht verbunden. - + Spine is neither an edge nor a wire. Die Leitkurve ist weder eine Kante noch ein Draht. - + Invalid spine. Ungültige Leitkurve. @@ -5496,120 +5527,120 @@ Im Original: "Der Pfad darf keine Nullform sein." wenn Ihnen das besser hilftTasche: Das Ausschneiden des Basis-Formelements ist fehlgeschlagen - + Cannot subtract primitive feature without base feature Das Grundkörper-Formelement kann ohne Basis-Formelement nicht abgezogen werden - + Adding the primitive failed Der Grundkörper konnte nicht hinzugefügt werden - + Subtracting the primitive failed Der Grundkörper konnte nicht abgezogen werden - + Length of box too small Die Länge des Quaders ist zu gering - + Width of box too small Die Breite des Quaders ist zu gering - + Height of box too small Die Höhe des Quaders ist zu gering - + Radius of cylinder too small Der Radius des Zylinders ist zu klein - + Height of cylinder too small Die Höhe des Zylinders ist zu gering - + Rotation angle of cylinder too small Der Drehwinkel des Zylinders ist zu klein - + Radius of sphere too small Der Radius der Kugel ist zu klein - - + + Radius of cone cannot be negative Der Radius des Kegels darf nicht negativ sein - + The radii for cones must not be equal Die Radien der Kegel dürfen nicht gleich sein - + Height of cone too small Die Höhe des Kegels ist zu gering - - + + Radius of ellipsoid too small Der Radius des Ellipsoids ist zu klein - - + + Radius of torus too small Der Radius des Torus ist zu klein - + Polygon of prism is invalid, must have 3 or more sides Das Vieleck des Prismas ist ungültig; es muss 3 oder mehr Seiten haben - + Circumradius of the polygon, of the prism, is too small Umkreis des Polygons des Prismas ist zu klein - + Height of prism is too small Die Höhe des Prismas ist zu gering - + delta x of wedge too small Das delta x des Keils ist zu klein - + delta y of wedge too small Das delta x des Keils ist zu klein - + delta z of wedge too small Das delta z des Keils ist zu klein - + delta z2 of wedge is negative Das delta z2 des Keils ist negativ - + delta x2 of wedge is negative Das delta x2 des Keils ist negativ diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_el.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_el.ts index b65d065957..dc0d2b0813 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_el.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_el.ts @@ -882,8 +882,8 @@ so that self intersection is avoided. Create Clone - + Make copy Make copy @@ -908,8 +908,8 @@ so that self intersection is avoided. Create Boolean - + Add a Body Add a Body @@ -939,22 +939,22 @@ so that self intersection is avoided. Move an object inside tree - + Mirrored Κατοπτρισμένο - + Make LinearPattern Δημιουργήστε γραμμικό μοτίβο - + PolarPattern Κυκλικό Μοτίβο - + Scaled Υπό κλίμακα @@ -1569,7 +1569,7 @@ click again to end selection Γωνία - + Empty chamfer created ! Empty chamfer created ! @@ -1579,17 +1579,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Κενή λίστα σωμάτων - + The body list cannot be empty Η λίστα σωμάτων δεν δύναται να είναι κενή - + Boolean: Accept: Input error Χρήση Λειτουργιών Boole: Αποδοχή: Σφάλμα εισαγωγής @@ -1597,12 +1597,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Μη συμβατό σύνολο σημείων αναφοράς - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Δεν υπάρχει λειτουργία συνημμένων που να ταιριάζει με το τρέχον σύνολο σημείων αναφοράς. Αν επιλέξετε να συνεχίσετε, το χαρακτηριστικό θα παραμείνει εκεί που είναι τώρα και δεν θα μετακινηθεί καθώς αλλάζουν τα σημεία αναφοράς. Θέλετε να συνεχίσετε; @@ -1610,7 +1610,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Σφάλμα εισαγωγής @@ -1618,7 +1618,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Σφάλμα εισαγωγής @@ -1670,7 +1670,7 @@ click again to end selection Αντιστροφή κατεύθυνσης έλξης - + Empty draft created ! Empty draft created ! @@ -1708,39 +1708,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected Δεν επιλέχθηκε καμία όψη - - + + Face Όψη - + Sketch normal Sketch normal - + Face normal Face normal - + Select reference... Επιλογή αναφοράς... + - Custom direction Custom direction - + Click on a face in the model Click on a face in the model @@ -1875,7 +1875,7 @@ click again to end selection Use All Edges - + Empty fillet created ! Empty fillet created ! @@ -2129,21 +2129,37 @@ click again to end selection + Mode + Λειτουργία + + + + Overall Length + Overall Length + + + + + Offset + Μετατοπίστε + + + Length Μήκος - + Occurrences Επαναλήψεις - + OK ΟΚ - + Update view Ανανέωση προβολής @@ -2153,7 +2169,7 @@ click again to end selection Αφαίρεση - + Error Σφάλμα @@ -2259,7 +2275,7 @@ click again to end selection Αφαίρεση - + Error Σφάλμα @@ -2365,27 +2381,27 @@ click again to end selection Αντίστροφη κατεύθυνση διαδρομής - + Dimension Διάσταση - + To last To last - + To first Στο πρώτο - + Up to face Μέχρι την όψη - + Two dimensions Δύο διαστάσεις @@ -2413,139 +2429,139 @@ click again to end selection Μήκος - + Offset to face Offset to face - + Direction Κατεύθυνση - + Direction/edge: Κατεύθυνση/ακμή: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Sketch normal - + Select reference... Επιλογή αναφοράς... - + Custom direction Custom direction - + Show direction Εμφάνιση κατεύθυνσης - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used - + x x - + x-component of direction vector x-component of direction vector - + y y - + y-component of direction vector y-component of direction vector - + z z - + z-component of direction vector z-component of direction vector - + If unchecked, the length will be measured along the specified direction Αν δεν επιλεγεί, το μήκος θα μετρηθεί κατά μήκος της καθορισμένης κατεύθυνσης - + Length along sketch normal Length along sketch normal - + Applies length symmetrically to sketch plane Εφαρμόζει το μήκος συμμετρικά στο επίπεδο του σκίτσου - + Symmetric to plane Συμμετρικό ως προς την επιφάνεια - + Reversed Ανεστραμμένο - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Κωνική γωνία - + 2nd length 2ο μήκος - + 2nd taper angle 2nd taper angle - + Select face Select face - + Update view Ανανέωση προβολής @@ -2784,27 +2800,27 @@ measured along the specified direction Αντίστροφη κατεύθυνση θύλακες - + Dimension Διάσταση - + Through all Μέσω όλων - + To first Στο πρώτο - + Up to face Μέχρι την όψη - + Two dimensions Δύο διαστάσεις @@ -2843,21 +2859,41 @@ measured along the specified direction + Mode + Λειτουργία + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Γωνία - + + Offset + Μετατοπίστε + + + Occurrences Επαναλήψεις - + OK ΟΚ - + Update view Ανανέωση προβολής @@ -2867,7 +2903,7 @@ measured along the specified direction Αφαίρεση - + Error Σφάλμα @@ -3023,7 +3059,7 @@ measured along the specified direction Παράμετροι σχήματος αναφοράς - + Remove Αφαίρεση @@ -3187,7 +3223,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Εναλλαγή ενεργού σώματος @@ -3444,68 +3480,68 @@ click again to end selection Sub-Shape Binder - + Several sub-elements selected Several sub-elements selected - + You have to select a single face as support for a sketch! Πρέπει να επιλέξετε ένα μόνο πρόσωπο ως υποστήριξη για ένα σκίτσο! - + No support face selected No support face selected - + You have to select a face as support for a sketch! Πρέπει να επιλέξετε ένα πρόσωπο ως υποστήριξη για ένα σκίτσο! - + No planar support No planar support - + You need a planar face as support for a sketch! Χρειάζεστε ένα επίπεδο πρόσωπο ως υποστήριξη για ένα σκίτσο! - + No valid planes in this document Δεν υπάρχουν έγκυρα επίπεδα σε αυτό το έγγραφο - + Please create a plane first or select a face to sketch on Παρακαλώ δημιουργήστε πρώτα ένα επίπεδο ή επιλέξτε την όψη πάνω στην οποία θα δημιουργήσετε σκαρίφημα - - - - - - - + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - + + + + + + + Do you want to close this dialog? Do you want to close this dialog? @@ -3773,14 +3809,14 @@ This may lead to unexpected results. Δεν είναι εφικτό να δημιουργήσετε αφαιρετικό χαρακτηριστικό χωρίς κάποιο διαθέσιμο χαρακτηριστικό βάσης - + Vertical sketch axis Κάθετος άξονας σκίτσου - + Horizontal sketch axis Οριζόντιος άξονας σκίτσου @@ -3834,20 +3870,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr Προκειμένου να χρησιμοποιήσετε αυτό το χαρακτηριστικό θα πρέπει να ανήκει σε κάποιο εξάρτημα που βρίσκεται στο έγγραφο. + + - - Edit %1 Επεξεργασία %1 - + Set colors... Ορίστε χρώματα... - + Edit boolean Επεξεργασία λειτουργίας Boole @@ -3892,57 +3928,57 @@ This feature is broken and can't be edited. Αυτό το χαρακτηριστικό είναι κατεστραμμένο και δεν γίνεται να τροποποιηθεί. - + Edit groove Επεξεργασία ράβδωσης - + Edit hole Επεξεργασία οπής - + Edit loft Επεξεργασία παρεμβολής ορθογώνιων διατομών - + Edit pad Επεξεργασία χάραξης στερεού με τη χρήση επιλεγμένου σκαριφήματος - + Edit pipe Επεξεργασία αντικειμένου χωρίς πάτωμα και οροφή - + Edit pocket Επεξεργασία εσοχής - + Edit primitive Επεξεργασία θεμελιακού στοιχείου - + Edit revolution Επεξεργασία περιφοράς - + Edit shape binder Επεξεργασία αντικειμένου σύνδεσης σχημάτων - + Synchronize Συγχρονισμός - + Select bound object Select bound object @@ -3962,27 +3998,27 @@ This feature is broken and can't be edited. Η μετατόπιση ολοκληρώθηκε με επιτυχία - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Το έγγραφο ''%1'' που επεξεργάζεστε έχει σχεδιαστεί με τη χρήση κάποιας παλαιότερης έκδοσης πάγκου εργασίας της ΣχεδίασηςΕξαρτήματος. - + Do you want to migrate in order to use modern PartDesign features? Θέλετε να πραγματοποιήσετε μετεγκατάσταση ώστε να χρησιμοποιήσετε τα σύγχρονα χαρακτηριστικά ΣχεδίασηςΕξαρτήματος; - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Το έγγραφο ''%1'' φαίνεται να βρίσκεται στη μέση της διαδικασίας μετεγκατάστασης από παλαιού τύπου ΣχεδίασηΕξαρτήματος ή να έχει μια ελαφρώς χαλασμένη δομή. - + Do you want to make the migration automatically? Θέλετε να πραγματοποιήσετε μετεγκατάσταση αυτόματα; - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3991,12 +4027,12 @@ If you refuse to migrate you won't be able to use new PartDesign features like B Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually Πραγματοποιήστε μετεγκατάσταση χειροκίνητα - + Edit helix Edit helix @@ -4641,11 +4677,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Μορφή - No message @@ -4932,17 +4963,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4957,22 +4988,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5035,8 +5066,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5047,14 +5078,14 @@ over 90: larger hole radius at the bottom - the selected sketch does not belong to the active Body. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5064,14 +5095,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5126,10 +5157,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5231,15 +5262,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5443,27 +5474,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5498,120 +5529,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-AR.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-AR.ts index b6bdb5a2e2..08204fbf82 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-AR.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-AR.ts @@ -883,8 +883,8 @@ False=engranaje interno Clona - + Make copy Copia @@ -909,8 +909,8 @@ False=engranaje interno Crear Booleano - + Add a Body Añadir un Cuerpo @@ -940,22 +940,22 @@ False=engranaje interno Mover un objeto dentro del árbol - + Mirrored Simetría - + Make LinearPattern Hacer Patrón Lineal - + PolarPattern Patrón Polar - + Scaled Escalado @@ -1570,7 +1570,7 @@ haga clic de nuevo para finalizar la selección Ángulo - + Empty chamfer created ! ¡Bisel vacío creado! @@ -1580,17 +1580,17 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskDlgBooleanParameters - + Empty body list Lista de cuerpos vacía - + The body list cannot be empty La lista de cuerpos no puede estar vacía - + Boolean: Accept: Input error Booleana: Aceptar: error de entrada @@ -1598,12 +1598,12 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Conjunto de referencia incompatible - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? No hay ningún modo de fijación que cumpla el conjunto de referencias actual. Si elijes continuar, la operación se mantendrá donde esta ahora, y no se moverá a medida que las referencias cambien. ¿Continuar? @@ -1611,7 +1611,7 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskDlgFeatureParameters - + Input error Error de entrada @@ -1619,7 +1619,7 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskDlgShapeBinder - + Input error Error de entrada @@ -1671,7 +1671,7 @@ haga clic de nuevo para finalizar la selección Dirección de arrastre invertida - + Empty draft created ! ¡Calado vacío creado! @@ -1709,39 +1709,39 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskExtrudeParameters - + No face selected Ninguna cara seleccionada - - + + Face Cara - + Sketch normal Normal al croquis - + Face normal Normal de la cara - + Select reference... Seleccione referencia... + - Custom direction Dirección personalizada - + Click on a face in the model Haga clic en una cara en el modelo @@ -1876,7 +1876,7 @@ haga clic de nuevo para finalizar la selección Usar todos los bordes - + Empty fillet created ! ¡Redondeo vacío creado! @@ -2130,21 +2130,37 @@ haga clic de nuevo para finalizar la selección + Mode + Modo + + + + Overall Length + Overall Length + + + + + Offset + Desfase + + + Length Longitud - + Occurrences Apariciones - + OK Aceptar - + Update view Actualizar vista @@ -2154,7 +2170,7 @@ haga clic de nuevo para finalizar la selección Eliminar - + Error Error @@ -2260,7 +2276,7 @@ haga clic de nuevo para finalizar la selección Eliminar - + Error Error @@ -2366,27 +2382,27 @@ haga clic de nuevo para finalizar la selección Invierte la dirección del pad - + Dimension Cota - + To last Al final - + To first A primero - + Up to face Hasta la cara - + Two dimensions Dos dimensiones @@ -2414,138 +2430,138 @@ haga clic de nuevo para finalizar la selección Longitud - + Offset to face Desplazamiento a la cara - + Direction Sentido - + Direction/edge: Dirección/arista: - + Set a direction or select an edge from the model as reference Establecer una dirección o seleccionar un borde del modelo como referencia - + Sketch normal Normal al croquis - + Select reference... Seleccione referencia... - + Custom direction Dirección personalizada - + Show direction Mostrar dirección - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Usar vector particular para la dirección de relleno, de lo contrario se utilizará el vector normal al plano de croquis - + x x - + x-component of direction vector componente X del vector de dirección - + y y - + y-component of direction vector componente Y del vector de dirección - + z z - + z-component of direction vector componente Z del vector de dirección - + If unchecked, the length will be measured along the specified direction Si no se selecciona, la longitud se medirá a lo largo de la dirección especificada - + Length along sketch normal Longitud a lo largo de la normal al croquis - + Applies length symmetrically to sketch plane Aplica la longitud simétricamente al plano del croquis - + Symmetric to plane Simétrico al plano - + Reversed Invertido - - + + Angle to taper the extrusion Ángulo para afilar la extrusión - + Taper angle Ángulo de afilado - + 2nd length 2da longitud - + 2nd taper angle Segundo ángulo de afilado - + Select face Seleccionar cara - + Update view Actualizar vista @@ -2784,27 +2800,27 @@ measured along the specified direction Invierte la dirección del vaciado - + Dimension Cota - + Through all A través de todos - + To first A primero - + Up to face Hasta la cara - + Two dimensions Dos dimensiones @@ -2843,21 +2859,41 @@ measured along the specified direction + Mode + Modo + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Ángulo - + + Offset + Desfase + + + Occurrences Apariciones - + OK Aceptar - + Update view Actualizar vista @@ -2867,7 +2903,7 @@ measured along the specified direction Eliminar - + Error Error @@ -3023,7 +3059,7 @@ measured along the specified direction Parámetros de forma de referencia - + Remove Eliminar @@ -3187,7 +3223,7 @@ haga clic de nuevo para finalizar la selección PartDesignGui::ViewProviderBody - + Toggle active body Cambiar a cuerpo activo @@ -3444,68 +3480,68 @@ haga clic de nuevo para finalizar la selección Sub Shape Binder - + Several sub-elements selected Varios sub-elementos seleccionados - + You have to select a single face as support for a sketch! ¡Tienes que seleccionar una sola cara como soporte para un croquis! - + No support face selected Ninguna cara de soporte seleccionada - + You have to select a face as support for a sketch! ¡Tienes que seleccionar una cara como soporte para un croquis! - + No planar support No hay soporte plano - + You need a planar face as support for a sketch! ¡Necesitas una cara plana como soporte para un croquis! - + No valid planes in this document No hay planos válidos en este documento - + Please create a plane first or select a face to sketch on Por favor, crea un plano primero o selecciona una cara para croquizar - - - - - - - + + + + + + + A dialog is already open in the task panel Un diálogo ya está abierto en el panel de tareas - - - - - - - + + + + + + + Do you want to close this dialog? ¿Desea cerrar este diálogo? @@ -3773,14 +3809,14 @@ Esto puede conducir a resultados inesperados. No es posible crear una operación sustractiva sin una operación base disponible - + Vertical sketch axis Eje vertical del croquis - + Horizontal sketch axis Eje horizontal del croquis @@ -3834,20 +3870,20 @@ Si tienes un documento heredado con objetos DiseñoDePieza sin un Cuerpo, utiliz Para poder utilizar esta operación necesita pertenecer a un objeto de pieza en el documento. + + - - Edit %1 Editar %1 - + Set colors... Establecer colores... - + Edit boolean Editar valor booleano @@ -3891,57 +3927,57 @@ This feature is broken and can't be edited. %1 pierde una operación de base. Esta operación está rota y no se puede editar. - + Edit groove Editar ranurado - + Edit hole Editar agujero - + Edit loft Editar puente - + Edit pad Editar relleno - + Edit pipe Editar cañería - + Edit pocket Editar vaciado - + Edit primitive Editar primitiva - + Edit revolution Editar revolución - + Edit shape binder Editar forma unida - + Synchronize Sincronizar - + Select bound object Seleccionar objeto enlazado @@ -3961,27 +3997,27 @@ This feature is broken and can't be edited. Transformación exitosa - + The document "%1" you are editing was designed with an old version of PartDesign workbench. El documento "%1" que está editando fue diseñado con una versión antigua del banco de trabajo DiseñoDePieza. - + Do you want to migrate in order to use modern PartDesign features? ¿Quieres migrar para poder utilizar las operaciones modernas de DiseñoDePieza? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. El documento "%1" parece estar en medio del proceso de migración heredada de DiseñoDePieza o tienen una estructura ligeramente quebrada. - + Do you want to make the migration automatically? ¿Quieres hacer la migración automáticamente? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3990,12 +4026,12 @@ Si te niegas a migrar, no podrás usar nuevas características de PartDesign com Aunque podrá migrar en cualquier momento después con 'Part Design -> Migrate'. - + Migrate manually Migrar manualmente - + Edit helix Editar hélice @@ -4640,11 +4676,6 @@ más de 90: radio de agujero más grande en la parte inferior TaskTransformedMessages - - - Form - Forma - No message @@ -4859,12 +4890,12 @@ más de 90: radio de agujero más grande en la parte inferior Shaft design wizard... - Asistente de diseño de eje... + Asistente de diseño de ejes... Start the shaft design wizard - Iniciar el asistente de diseño de ejes + Inicia el asistente de diseño de ejes @@ -4931,17 +4962,17 @@ más de 90: radio de agujero más grande en la parte inferior Fusión de herramientas fallida - - - - + + - - - - + + + + + + Resulting shape is not a solid La forma resultante no es un sólido @@ -4956,22 +4987,22 @@ más de 90: radio de agujero más grande en la parte inferior Operación común fallida - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. El resultado tiene múltiples sólidos: esto no está soportado actualmente. @@ -5034,8 +5065,8 @@ más de 90: radio de agujero más grande en la parte inferior Ángulo de ranura demasiado pequeño - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5046,14 +5077,14 @@ más de 90: radio de agujero más grande en la parte inferior - el croquis seleccionado no pertenece al Cuerpo activo. - + Creating a face from sketch failed Fallo al crear una cara a partir del croquis - + Revolve axis intersects the sketch Eje de revolución interseca el croquis @@ -5063,14 +5094,14 @@ más de 90: radio de agujero más grande en la parte inferior Recorte de función base fallido - + Could not revolve the sketch! No se pudo revolucionar el croquis! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. No se pudo crear la cara a partir del croquis. @@ -5125,10 +5156,10 @@ No se permiten las entidades de croquis intersectas en un croquis. Error: No se pudo construir - + Error: Result is not a solid Error: El resultado no es un sólido @@ -5230,15 +5261,15 @@ No se permiten las entidades de croquis intersectas en un croquis. Error: Error al añadir la rosca + - Boolean operation failed Operación booleana fallida - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. No se pudo crear la cara a partir del croquis. @@ -5442,27 +5473,27 @@ No se permiten interceptar entidades de croquis o múltiples caras en un croquis Se ha producido un error fatal al crear la tubería - + Invalid element in spine. Elemento no válido en la columna. - + Element in spine is neither an edge nor a wire. El elemento en la columna no es ni un borde ni un alambre. - + Spine is not connected. La columna no está conectada. - + Spine is neither an edge nor a wire. La columna no es ni un borde ni un alambre. - + Invalid spine. Columna inválida. @@ -5497,120 +5528,120 @@ No se permiten interceptar entidades de croquis o múltiples caras en un croquis Pocket: Falló el corte de la función base - + Cannot subtract primitive feature without base feature No se puede sustraer la característica primitiva sin la función base - + Adding the primitive failed Error al añadir la primitiva - + Subtracting the primitive failed Fallo al restar la primitiva - + Length of box too small Longitud de caja demasiado pequeña - + Width of box too small Ancho de caja demasiado pequeño - + Height of box too small Altura de caja demasiado pequeña - + Radius of cylinder too small Radio de cilindro demasiado pequeño - + Height of cylinder too small Altura del cilindro demasiado pequeña - + Rotation angle of cylinder too small Ángulo de rotación del cilindro demasiado pequeño - + Radius of sphere too small Radio de la esfera demasiado pequeña - - + + Radius of cone cannot be negative El radio del cono no puede ser negativo - + The radii for cones must not be equal Los radios de los conos no deben ser iguales - + Height of cone too small Altura del cono demasiado pequeña - - + + Radius of ellipsoid too small Radio de elipsoide demasiado pequeño - - + + Radius of torus too small Radio de toroide demasiado pequeño - + Polygon of prism is invalid, must have 3 or more sides El polígono del prisma no es válido, debe tener 3 o más lados - + Circumradius of the polygon, of the prism, is too small Circunradio del polígono, del prisma, es demasiado pequeño - + Height of prism is too small La altura del prisma es demasiado pequeña - + delta x of wedge too small delta x de cuña demasiado pequeña - + delta y of wedge too small delta y de cuña demasiado pequeña - + delta z of wedge too small delta z de cuña demasiado pequeña - + delta z2 of wedge is negative delta z2 de cuña es negativa - + delta x2 of wedge is negative delta x2 de cuña es negativa diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-ES.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-ES.ts index 048d374442..faaa3d338c 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-ES.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_es-ES.ts @@ -883,8 +883,8 @@ para que se evite la auto intersección. Crear Clon - + Make copy Hacer copia @@ -909,8 +909,8 @@ para que se evite la auto intersección. Crear Booleano - + Add a Body Añadir un Cuerpo @@ -940,22 +940,22 @@ para que se evite la auto intersección. Mover un objeto dentro del árbol - + Mirrored Simetría - + Make LinearPattern Hacer Patrón Lineal - + PolarPattern Patrón Polar - + Scaled Escalado @@ -1570,7 +1570,7 @@ haga clic de nuevo para finalizar la selección Ángulo - + Empty chamfer created ! ¡Chaflán vacío creado! @@ -1580,17 +1580,17 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskDlgBooleanParameters - + Empty body list Lista de cuerpos vacía - + The body list cannot be empty La lista de cuerpos no puede estar vacía - + Boolean: Accept: Input error Booleano: Aceptar: error de entrada @@ -1598,12 +1598,12 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Conjunto de referencia incompatible - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? No hay ningún modo de fijación que cumpla el conjunto de referencias actual. Si elijes continuar, la operación se mantendrá donde esta ahora, y no se moverá según las vayan variando las referencias. ¿Continuar? @@ -1611,7 +1611,7 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskDlgFeatureParameters - + Input error Error de entrada @@ -1619,7 +1619,7 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskDlgShapeBinder - + Input error Error de entrada @@ -1671,7 +1671,7 @@ haga clic de nuevo para finalizar la selección Dirección de arrastre invertida - + Empty draft created ! ¡Inclinación vacía creada! @@ -1709,39 +1709,39 @@ haga clic de nuevo para finalizar la selección PartDesignGui::TaskExtrudeParameters - + No face selected Sin cara seleccionada - - + + Face Cara - + Sketch normal Croquis normal - + Face normal Normal de la cara - + Select reference... Seleccione referencia... + - Custom direction Dirección personalizada - + Click on a face in the model Haga clic en una cara en el modelo @@ -1876,7 +1876,7 @@ haga clic de nuevo para finalizar la selección Usar todos los bordes - + Empty fillet created ! ¡Redondeo vacío creado! @@ -2130,21 +2130,37 @@ haga clic de nuevo para finalizar la selección + Mode + Modo + + + + Overall Length + Overall Length + + + + + Offset + Desplazamiento + + + Length Longitud - + Occurrences Apariciones - + OK Aceptar - + Update view Actualizar vista @@ -2154,7 +2170,7 @@ haga clic de nuevo para finalizar la selección Quitar - + Error Error @@ -2260,7 +2276,7 @@ haga clic de nuevo para finalizar la selección Quitar - + Error Error @@ -2366,27 +2382,27 @@ haga clic de nuevo para finalizar la selección Invierte la dirección del pad - + Dimension Cota - + To last Al final - + To first Al primer lugar - + Up to face Hasta la cara - + Two dimensions Dos dimensiones @@ -2414,138 +2430,138 @@ haga clic de nuevo para finalizar la selección Longitud - + Offset to face Desplazamiento a la cara - + Direction Dirección - + Direction/edge: Dirección/arista: - + Set a direction or select an edge from the model as reference Establecer una dirección o seleccionar un borde del modelo como referencia - + Sketch normal Croquis normal - + Select reference... Seleccione referencia... - + Custom direction Dirección personalizada - + Show direction Mostrar dirección - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Usar vector personalizado para la dirección de la extrusión, de lo contrario se utilizará el vector normal del plano de croquis - + x x - + x-component of direction vector Componente X del vector de dirección - + y y - + y-component of direction vector componente Y del vector de dirección - + z z - + z-component of direction vector componente Z del vector de dirección - + If unchecked, the length will be measured along the specified direction Si no se selecciona, la longitud se medirá a lo largo de la dirección especificada - + Length along sketch normal Longitud a lo largo del croquis normal - + Applies length symmetrically to sketch plane Aplica la longitud simétricamente al plano del croquis - + Symmetric to plane Simétrico al plano - + Reversed Invertido - - + + Angle to taper the extrusion Ángulo para afilar la extrusión - + Taper angle Ángulo de afilado - + 2nd length Segunda longitud - + 2nd taper angle Segundo ángulo de afilado - + Select face Seleccionar cara - + Update view Actualizar vista @@ -2784,27 +2800,27 @@ measured along the specified direction Invierte la dirección del vaciado - + Dimension Cota - + Through all A través de todos - + To first Al primer lugar - + Up to face Hasta la cara - + Two dimensions Dos dimensiones @@ -2843,21 +2859,41 @@ measured along the specified direction + Mode + Modo + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Ángulo - + + Offset + Desplazamiento + + + Occurrences Apariciones - + OK Aceptar - + Update view Actualizar vista @@ -2867,7 +2903,7 @@ measured along the specified direction Quitar - + Error Error @@ -3023,7 +3059,7 @@ measured along the specified direction Parámetros de forma de referencia - + Remove Quitar @@ -3187,7 +3223,7 @@ haga clic de nuevo para finalizar la selección PartDesignGui::ViewProviderBody - + Toggle active body Cambiar a cuerpo activo @@ -3444,68 +3480,68 @@ haga clic de nuevo para finalizar la selección Sub Shape Binder - + Several sub-elements selected Varios sub-elementos seleccionados - + You have to select a single face as support for a sketch! ¡Tiene que seleccionar una sola cara como soporte para un croquis! - + No support face selected No se ha seleccionado una cara de apoyo - + You have to select a face as support for a sketch! ¡Tiene que seleccionar una cara como apoyo para un croquis! - + No planar support No hay soporte plano - + You need a planar face as support for a sketch! ¡Necesita una cara plana como apoyo para un croquis! - + No valid planes in this document No hay planos válidos en este documento - + Please create a plane first or select a face to sketch on Por favor, crea un plano primero o selecciona una cara para croquizar - - - - - - - + + + + + + + A dialog is already open in the task panel Un diálogo ya está abierto en el panel de tareas - - - - - - - + + + + + + + Do you want to close this dialog? ¿Desea cerrar este diálogo? @@ -3769,14 +3805,14 @@ This may lead to unexpected results. No es posible crear una función de resta sin una base característica disponible - + Vertical sketch axis Eje vertical del croquis - + Horizontal sketch axis Eje horizontal del croquis @@ -3830,20 +3866,20 @@ Si tienes un documento heredado con objetos PartDesign sin un Cuerpo, utiliza la Para poder usar esta operación debe pertenecer a una pieza objeto en el documento. + + - - Edit %1 Editar %1 - + Set colors... Ajustar colores... - + Edit boolean Editar booleano @@ -3887,57 +3923,57 @@ This feature is broken and can't be edited. %1 pierde una función de base. Esta característica está rota y no se puede editar. - + Edit groove Editar ranurado - + Edit hole Editar taladro - + Edit loft Editar proyección - + Edit pad Editar extrusión - + Edit pipe Editar tubería - + Edit pocket Editar vaciado - + Edit primitive Editar primitiva - + Edit revolution Editar revolución - + Edit shape binder Editar carpeta de forma - + Synchronize Sincronizar - + Select bound object Seleccionar objeto enlazado @@ -3957,27 +3993,27 @@ This feature is broken and can't be edited. Transformación realizada - + The document "%1" you are editing was designed with an old version of PartDesign workbench. El documento "%1" que está editando fue diseñado con una versión antigua del banco de trabajo Diseño de pieza. - + Do you want to migrate in order to use modern PartDesign features? ¿Quieres migrar para poder utilizar las operaciones modernas de PartDesign? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. El documento "%1" parece estar en pleno proceso de migración heredada de PartDesign o tienen una estructura ligeramente quebrada. - + Do you want to make the migration automatically? ¿Quieres hacer la migración de forma automática? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3986,12 +4022,12 @@ Si te niegas a migrar, no podrás usar nuevas características de PartDesign com Aunque podrá migrar en cualquier momento después con 'Part Design -> Migrate'. - + Migrate manually Migrar manualmente - + Edit helix Editar hélice @@ -4636,11 +4672,6 @@ más de 90: radio de agujero más grande en la parte inferior TaskTransformedMessages - - - Form - Formulario - No message @@ -4927,17 +4958,17 @@ más de 90: radio de agujero más grande en la parte inferior Fusión de herramientas fallida - - - - + + - - - - + + + + + + Resulting shape is not a solid La forma resultante no es un sólido @@ -4952,22 +4983,22 @@ más de 90: radio de agujero más grande en la parte inferior Operación común fallida - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. El resultado tiene múltiples sólidos: que no está soportado actualmente. @@ -5030,8 +5061,8 @@ más de 90: radio de agujero más grande en la parte inferior Ángulo de ranura demasiado pequeño - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5042,14 +5073,14 @@ más de 90: radio de agujero más grande en la parte inferior - el croquis seleccionado no pertenece al Cuerpo activo. - + Creating a face from sketch failed Fallo al crear una cara a partir del croquis - + Revolve axis intersects the sketch El eje de revolución intercepta el croquis @@ -5059,14 +5090,14 @@ más de 90: radio de agujero más grande en la parte inferior Recorte de función base fallido - + Could not revolve the sketch! ¡No se puede girar el boceto! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. No se pudo crear la cara a partir del boceto. @@ -5121,10 +5152,10 @@ No se permite la intersección de entidades en un boceto. Error: No se pudo construir - + Error: Result is not a solid Error: El resultado no es un sólido @@ -5226,15 +5257,15 @@ No se permite la intersección de entidades en un boceto. Error: Fallo al añadir la rosca + - Boolean operation failed Operación booleana fallida - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. No se pudo crear la cara a partir del croquis. @@ -5438,27 +5469,27 @@ No se permiten interceptar entidades de croquis o múltiples caras en un croquis Se ha producido un error fatal al crear la tubería - + Invalid element in spine. Elemento no válido en la columna. - + Element in spine is neither an edge nor a wire. El elemento en la columna no es ni un borde ni un alambre. - + Spine is not connected. La columna no está conectada. - + Spine is neither an edge nor a wire. La columna no es ni un borde ni un alambre. - + Invalid spine. Columna inválida. @@ -5493,120 +5524,120 @@ No se permiten interceptar entidades de croquis o múltiples caras en un croquis Pocket: Falló el corte de la función base - + Cannot subtract primitive feature without base feature No se puede sustraer la característica primitiva sin la función base - + Adding the primitive failed Error al añadir el primitivo - + Subtracting the primitive failed Fallo al sustraer el primitivo - + Length of box too small Longitud de caja demasiado pequeña - + Width of box too small Ancho de caja demasiado pequeño - + Height of box too small Altura de caja demasiado pequeña - + Radius of cylinder too small Radio de cilindro demasiado pequeño - + Height of cylinder too small Altura del cilindro demasiado pequeña - + Rotation angle of cylinder too small Ángulo de rotación del cilindro demasiado pequeño - + Radius of sphere too small Radio de la esfera demasiado pequeña - - + + Radius of cone cannot be negative El radio del cono no puede ser negativo - + The radii for cones must not be equal Los radios de los conos no deben ser iguales - + Height of cone too small Altura del cono demasiado pequeña - - + + Radius of ellipsoid too small Radio de elipsoides demasiado pequeño - - + + Radius of torus too small Radio de toro demasiado pequeño - + Polygon of prism is invalid, must have 3 or more sides El polígono del prisma no es válido, debe tener 3 o más lados - + Circumradius of the polygon, of the prism, is too small El circunradio del polígono, del prisma, es demasiado pequeño - + Height of prism is too small La altura del prisma es demasiado pequeña - + delta x of wedge too small delta x de cuña demasiado pequeña - + delta y of wedge too small delta y de cuña demasiado pequeña - + delta z of wedge too small delta z de cuña demasiado pequeña - + delta z2 of wedge is negative delta z2 de cuña es negativa - + delta x2 of wedge is negative delta x2 de cuña es negativa diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_eu.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_eu.ts index 679f4f6440..df67797734 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_eu.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_eu.ts @@ -882,8 +882,8 @@ so that self intersection is avoided. Sortu klona - + Make copy Egin kopia @@ -908,8 +908,8 @@ so that self intersection is avoided. Sortu boolearra - + Add a Body Gehitu gorputz bat @@ -939,22 +939,22 @@ so that self intersection is avoided. Aldatu objektu bat lekuz zuhaitzaren barruan - + Mirrored Ispilatua - + Make LinearPattern Sortu eredu lineala - + PolarPattern Eredu polarra - + Scaled Eskalatua @@ -1569,7 +1569,7 @@ sakatu berriro hautapena amaitzeko Angelua - + Empty chamfer created ! Hutsik dagoen biribilketa sortu da @@ -1579,17 +1579,17 @@ sakatu berriro hautapena amaitzeko PartDesignGui::TaskDlgBooleanParameters - + Empty body list Gorputzen zerrenda hutsik - + The body list cannot be empty Gorputzen zerrenda ezin da hutsik egon - + Boolean: Accept: Input error Boolearra: Onartu: Sarrera-errorea @@ -1597,12 +1597,12 @@ sakatu berriro hautapena amaitzeko PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Bateragarria ez den erreferentzia multzoa - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Ez dago uneko erreferentzia multzoari doitzen zaion eranste modurik. Jarraitzea aukeratzen baduzu, elementuak orain dagoen tokian jarraituko du, eta ez da mugituko erreferentziak aldatzen diren arte. Jarraitu? @@ -1610,7 +1610,7 @@ sakatu berriro hautapena amaitzeko PartDesignGui::TaskDlgFeatureParameters - + Input error Sarrera-errorea @@ -1618,7 +1618,7 @@ sakatu berriro hautapena amaitzeko PartDesignGui::TaskDlgShapeBinder - + Input error Sarrera-errorea @@ -1670,7 +1670,7 @@ sakatu berriro hautapena amaitzeko Alderantzizko tiratze-norabidea - + Empty draft created ! Hutsik dagoen zirriborroa sortu da @@ -1708,39 +1708,39 @@ sakatu berriro hautapena amaitzeko PartDesignGui::TaskExtrudeParameters - + No face selected Ez da aurpegirik hautatu - - + + Face Aurpegia - + Sketch normal Krokisaren normala - + Face normal Aurpegiaren normala - + Select reference... Hautatu erreferentzia... + - Custom direction Norabide pertsonalizatua - + Click on a face in the model Egin klik ereduaren aurpegietako batean @@ -1875,7 +1875,7 @@ sakatu berriro hautapena amaitzeko Erabili ertz guztiak - + Empty fillet created ! Hutsik dagoen alaka sortu da @@ -2129,21 +2129,37 @@ sakatu berriro hautapena amaitzeko + Mode + Modua + + + + Overall Length + Overall Length + + + + + Offset + Desplazamendua + + + Length Luzera - + Occurrences Gertaldiak - + OK Ados - + Update view Eguneratu bista @@ -2153,7 +2169,7 @@ sakatu berriro hautapena amaitzeko Kendu - + Error Errorea @@ -2259,7 +2275,7 @@ sakatu berriro hautapena amaitzeko Kendu - + Error Errorea @@ -2365,27 +2381,27 @@ sakatu berriro hautapena amaitzeko Estrusioaren norabidea alderantzikatzen du - + Dimension Kota - + To last Azkenera - + To first Lehenera - + Up to face Aurpegira - + Two dimensions Bi kota @@ -2413,139 +2429,139 @@ sakatu berriro hautapena amaitzeko Luzera - + Offset to face Desplazamendua aurpegiarekiko - + Direction Norabidea - + Direction/edge: Norabidea/ertza: - + Set a direction or select an edge from the model as reference Ezarri norabide bat edo hautatu ereduaren ertz bat erreferentzia gisa - + Sketch normal Krokisaren normala - + Select reference... Hautatu erreferentzia... - + Custom direction Norabide pertsonalizatua - + Show direction Erakutsi norabidea - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Erabili bektore pertsonalizatua estrusioaren norabiderako, bestela krokisaren planoaren bektore normala erabiliko da - + x x - + x-component of direction vector Norabide-bektorearen X osagaia - + y y - + y-component of direction vector Norabide-bektorearen Y osagaia - + z z - + z-component of direction vector Norabide-bektorearen Z osagaia - + If unchecked, the length will be measured along the specified direction Markatu ez bada, luzera neurtuko da zehaztutako norabidean - + Length along sketch normal Luzera krokisaren normalaren luzeran - + Applies length symmetrically to sketch plane Luzera simetrikoki aplikatzen dio krokisaren planoari - + Symmetric to plane Planoarekiko simetrikoa - + Reversed Alderantzikatua - - + + Angle to taper the extrusion Estrusioari kono forma emateko angelua - + Taper angle Kono-angelua - + 2nd length 2. luzera - + 2nd taper angle 2. kono-angelua - + Select face Hautatu aurpegia - + Update view Eguneratu bista @@ -2784,27 +2800,27 @@ zehaztutako norabidean Poltsaren norabidea alderantzikatzen du - + Dimension Kota - + Through all Guztien zehar - + To first Lehenera - + Up to face Aurpegira - + Two dimensions Bi kota @@ -2843,21 +2859,41 @@ zehaztutako norabidean + Mode + Modua + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Angelua - + + Offset + Desplazamendua + + + Occurrences Gertaldiak - + OK Ados - + Update view Eguneratu bista @@ -2867,7 +2903,7 @@ zehaztutako norabidean Kendu - + Error Errorea @@ -3023,7 +3059,7 @@ zehaztutako norabidean Zero puntuaren formaren parametroak - + Remove Kendu @@ -3187,7 +3223,7 @@ sakatu berriro hautapena amaitzeko PartDesignGui::ViewProviderBody - + Toggle active body Txandakatu gorputz aktiboa @@ -3444,68 +3480,68 @@ sakatu berriro hautapena amaitzeko Azpiformaren zorroa - + Several sub-elements selected Azpielementu bat baino gehiago hautatu da - + You have to select a single face as support for a sketch! Aurpegi bakarra hautatu behar duzu krokis baten euskarri izateko! - + No support face selected Ez da euskarri-aurpegirik hautatu - + You have to select a face as support for a sketch! Aurpegi bat hautatu behar duzu krokis baten euskarri izateko! - + No planar support Ez dago euskarri planarrik - + You need a planar face as support for a sketch! Aurpegi planarra behar duzu krokisaren euskarri izateko! - + No valid planes in this document Ez dago baliozko planorik dokumentu honetan - + Please create a plane first or select a face to sketch on Krokisa sortzeko, lehenengo sortu plano bat edo hautatu aurpegi bat - - - - - - - + + + + + + + A dialog is already open in the task panel Elkarrizketa-koadro bat irekita dago ataza-panelean - - - - - - - + + + + + + + Do you want to close this dialog? Elkarrizketa-koadro hau itxi nahi duzu? @@ -3771,14 +3807,14 @@ Espero ez diren emaitzak gerta daitezke. Ezin da elementu kentzaile bat sortu oinarri-elementu bat erabilgarri ez badago - + Vertical sketch axis Krokisaren ardatz bertikala - + Horizontal sketch axis Krokisaren ardatz horizontala @@ -3832,20 +3868,20 @@ Bertsio zaharragoan dagoen dokumentu bat baduzu eta gorputzik gabeko PartDesign Ezaugarri hau erabili ahal izateko, dokumentuko pieza-objektu batekoa izan behar du. + + - - Edit %1 Editatu %1 - + Set colors... Ezarri koloreak... - + Edit boolean Editatu boolearra @@ -3890,57 +3926,57 @@ This feature is broken and can't be edited. Elementu hau hautsita dago eta ezin da editatu. - + Edit groove Editatu arteka - + Edit hole Editatu zuloa - + Edit loft Editatu jaurtitzea - + Edit pad Editatu estrusioa - + Edit pipe Editatu hodia - + Edit pocket Editatu poltsa - + Edit primitive Editatu jatorrizkoa - + Edit revolution Editatu erreboluzioa - + Edit shape binder Editatu forma-zorroa - + Synchronize Sinkronizatu - + Select bound object Hautatu muga-objektua @@ -3960,27 +3996,27 @@ Elementu hau hautsita dago eta ezin da editatu. Transformazioa ongi burutu da - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Editatzen ari zaren "%1" dokumentua PartDesign lan-mahaiaren bertsio zaharrago batekin diseinatu zen. - + Do you want to migrate in order to use modern PartDesign features? Bertsioa berritu nahi al duzu PartDesign elementu modernoak erabiltzeko? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Badirudi "%1" dokumentua PartDesign zaharretik bertsioz berritzeko prozesuaren erdian dagoela edo pixka bat hautsita dagoen egitura duela. - + Do you want to make the migration automatically? Migrazioa automatikoki egin nahi duzu? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3989,12 +4025,12 @@ Migratzen ez baduzu, ezin izango dituzu PartDesign ezaugarri berriak erabili, es Geroago ere egin dezakezu migrazioa, 'Part Design -> Migratu' erabilita. - + Migrate manually Berritu bertsioa eskuz - + Edit helix Editatu helizea @@ -4639,11 +4675,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Inprimakia - No message @@ -4930,17 +4961,17 @@ over 90: larger hole radius at the bottom Tresnen fusioak huts egin du - - - - + + - - - - + + + + + + Resulting shape is not a solid Emaitza gisa sortutako forma ez da solidoa @@ -4955,22 +4986,22 @@ over 90: larger hole radius at the bottom Eragiketa arrunt batek huts egin du - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Emaitzak solido anitz ditu: hori ez da onartzen momentuz. @@ -5033,8 +5064,8 @@ over 90: larger hole radius at the bottom Artekaren angelua txikiegia da - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5045,14 +5076,14 @@ over 90: larger hole radius at the bottom - hautatutako krokisa ez da gorputz aktiboarena. - + Creating a face from sketch failed Huts egin du aurpegia krokis batetik sortzeak - + Revolve axis intersects the sketch Erreboluzio-ardatzak krokisa ebakitzen du @@ -5062,14 +5093,14 @@ over 90: larger hole radius at the bottom Oinarri-elementuaren inausketak huts egin du - + Could not revolve the sketch! Ezin da krokisa erreboluzionatu - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Ezin da aurpegia sortu krokisetik abiatuta. @@ -5124,10 +5155,10 @@ Ez da onartzen krokis bateko entitateak ebakitzea. Errorea: Ezin da eraiki - + Error: Result is not a solid Errorea: Emaitza ez da solidoa @@ -5229,15 +5260,15 @@ Ez da onartzen krokis bateko entitateak ebakitzea. Errorea: Haria gehitzeak huts egin du + - Boolean operation failed Eragiketa boolearrak huts egin du - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Ezin da aurpegia sortu krokisetik abiatuta. @@ -5441,27 +5472,27 @@ Ez da onartzen krokis bateko entitateak edo aurpegi anitz ebakitzea.Errore larria gertatu da hodia egitean - + Invalid element in spine. Elementu baliogabea hegian. - + Element in spine is neither an edge nor a wire. Hegiko elementua ez da ez ertza ez alanbrea. - + Spine is not connected. Hegia ez dago konektatuta. - + Spine is neither an edge nor a wire. Hegia ez da ez ertza ez alanbrea. - + Invalid spine. Hegi baliogabea. @@ -5496,120 +5527,120 @@ Ez da onartzen krokis bateko entitateak edo aurpegi anitz ebakitzea.Poltsa: Oinarri-elementuaren inausketak huts egin du - + Cannot subtract primitive feature without base feature Ezin da jatorrizko elementuaren kenketa egin oinarri-elementurik gabe - + Adding the primitive failed Jatorrizkoa gehitzeak huts egin du - + Subtracting the primitive failed Jatorrizkoaren kenketa egiteak huts egin du - + Length of box too small Kutxaren luzera txikiegia da - + Width of box too small Kutxaren zabalera txikiegia da - + Height of box too small Kutxaren altuera txikiegia da - + Radius of cylinder too small Zilindroaren erradioa txikiegia da - + Height of cylinder too small Zilindroaren altuera txikiegia da - + Rotation angle of cylinder too small Zilindroaren biraketa-angelua txikiegia da - + Radius of sphere too small Esferaren erradioa txikiegia da - - + + Radius of cone cannot be negative Konoaren erradioak ezin du negatiboa izan - + The radii for cones must not be equal Konoen erradioek ezin dute berdinak izan - + Height of cone too small Konoaren altuera txikiegia da - - + + Radius of ellipsoid too small Elipsoidearen erradioa txikiegia da - - + + Radius of torus too small Toruaren erradioa txikiegia da - + Polygon of prism is invalid, must have 3 or more sides Prismaren poligonoa baliogabea da, hiru alde edo gehiago eduki behar ditu - + Circumradius of the polygon, of the prism, is too small Poligonoaren, prismaren, zirkunerradioa txikiegia da - + Height of prism is too small Prismaren altuera txikiegia da - + delta x of wedge too small Falkaren X delta txikiegia da - + delta y of wedge too small Falkaren Y delta txikiegia da - + delta z of wedge too small Falkaren Z delta txikiegia da - + delta z2 of wedge is negative Falkaren Z2 delta negatiboa da - + delta x2 of wedge is negative Falkaren X2 delta negatiboa da diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fi.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fi.ts index 94c2a352e8..fe7258eaab 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fi.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fi.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Luo klooni - + Make copy Tee kopio @@ -909,8 +909,8 @@ so that self intersection is avoided. Create Boolean - + Add a Body Add a Body @@ -940,22 +940,22 @@ so that self intersection is avoided. Move an object inside tree - + Mirrored Peilattu - + Make LinearPattern Make LinearPattern - + PolarPattern Ympyräsäännöllinen toistokuvio - + Scaled Skaalattu @@ -1570,7 +1570,7 @@ click again to end selection Kulma - + Empty chamfer created ! Empty chamfer created ! @@ -1580,17 +1580,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Tyhjennä kappalelista - + The body list cannot be empty Kappalelista ei voi olla tyhjä - + Boolean: Accept: Input error Boolean: Hyväksy: Virhe syöttöarvoissa @@ -1598,12 +1598,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Epäyhteensopiva referenssisetti - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Ei ole olemassa liitostapaa, joka sopii valittujen viitteiden ominaisuuksille. Jos toimintoa jatketaan, olemassaoleva piirre säilytetään, ja sitä ei siirretä jos viitteet muuttuvat. Jatketaanko? @@ -1611,7 +1611,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Syötteen virhe @@ -1619,7 +1619,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Syötteen virhe @@ -1671,7 +1671,7 @@ click again to end selection Käänteinen vetosuunta - + Empty draft created ! Empty draft created ! @@ -1709,39 +1709,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected Yhtään tahkoa ei ole avlittu - - + + Face Tahko - + Sketch normal Sketch normal - + Face normal Face normal - + Select reference... Valitse viite... + - Custom direction Custom direction - + Click on a face in the model Click on a face in the model @@ -1876,7 +1876,7 @@ click again to end selection Use All Edges - + Empty fillet created ! Empty fillet created ! @@ -2130,21 +2130,37 @@ click again to end selection + Mode + Tila + + + + Overall Length + Overall Length + + + + + Offset + Siirtymä + + + Length Pituus - + Occurrences Tapahtumaa - + OK OK - + Update view Päivitä näkymä @@ -2154,7 +2170,7 @@ click again to end selection Poista - + Error Virhe @@ -2260,7 +2276,7 @@ click again to end selection Poista - + Error Virhe @@ -2366,27 +2382,27 @@ click again to end selection Reverses pad direction - + Dimension Mitta - + To last To last - + To first Ensimmäiseen - + Up to face Pintatasoon asti - + Two dimensions Kaksi ulottuvuutta @@ -2414,139 +2430,139 @@ click again to end selection Pituus - + Offset to face Offset to face - + Direction Suunta - + Direction/edge: Direction/edge: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Sketch normal - + Select reference... Valitse viite... - + Custom direction Custom direction - + Show direction Näytä suunta - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used - + x x - + x-component of direction vector x-component of direction vector - + y y - + y-component of direction vector y-component of direction vector - + z z - + z-component of direction vector z-component of direction vector - + If unchecked, the length will be measured along the specified direction If unchecked, the length will be measured along the specified direction - + Length along sketch normal Length along sketch normal - + Applies length symmetrically to sketch plane Applies length symmetrically to sketch plane - + Symmetric to plane Symmetrinen tasoon nähden - + Reversed Käänteinen - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Taper angle - + 2nd length toinen pituus - + 2nd taper angle 2nd taper angle - + Select face Select face - + Update view Päivitä näkymä @@ -2785,27 +2801,27 @@ measured along the specified direction Reverses pocket direction - + Dimension Mitta - + Through all Läpi - + To first Ensimmäiseen - + Up to face Pintatasoon asti - + Two dimensions Kaksi ulottuvuutta @@ -2844,21 +2860,41 @@ measured along the specified direction + Mode + Tila + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Kulma - + + Offset + Siirtymä + + + Occurrences Tapahtumaa - + OK OK - + Update view Päivitä näkymä @@ -2868,7 +2904,7 @@ measured along the specified direction Poista - + Error Virhe @@ -3024,7 +3060,7 @@ measured along the specified direction Apumuotojen parametrit - + Remove Poista @@ -3188,7 +3224,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Vaihda aktiivista kappaletta @@ -3445,68 +3481,68 @@ click again to end selection Sub-Shape Binder - + Several sub-elements selected Valittu useita alielementtejä - + You have to select a single face as support for a sketch! Sinun on valittava yksittäinen pinta sketsille! - + No support face selected Pintaa ei ole valittu - + You have to select a face as support for a sketch! Sinun on valittava pinta sketsille! - + No planar support Ei tukea tasoille - + You need a planar face as support for a sketch! Tarvitset tasopinnan tuen sketsille! - + No valid planes in this document Asiakirjassa ei ole soveltuvaa tasomuotoa - + Please create a plane first or select a face to sketch on Luo ensin taso tai valitse pinta jolle luonnos tehdään - - - - - - - + + + + + + + A dialog is already open in the task panel Valintaikkuna on jo avoinna tehtäväpaneelissa - - - - - - - + + + + + + + Do you want to close this dialog? Haluatko sulkea tämän valintaikkunan? @@ -3774,14 +3810,14 @@ Tämä voi johtaa odottamattomiin tuloksiin. Ei ole mahdollista tehdä leikkaavaa piirrettä ilman olemassaolevaa peruspiirrettä - + Vertical sketch axis Pystysuuntaisen luonnoksen akseli - + Horizontal sketch axis Vaakasuuntaisen luonnoksen akseli @@ -3835,20 +3871,20 @@ Jos asiakirja on vanhentunutta tyyppiä OsanSuunnittelu-objekteilla ilman kappal Jotta tätä piirrettä voitaisiin käyttää, sen pitäisi kuulua asiakirjaan sisältyvään osa-objektiin. + + - - Edit %1 Muokkaa %1 - + Set colors... Määritä värit ... - + Edit boolean Muokkaa Boolen operaatiota @@ -3892,57 +3928,57 @@ This feature is broken and can't be edited. %1 ei sisällä peruspiirrettä. Tämä piirre on siis rikki ja sitä ei voi muokata. - + Edit groove Muokkaa uraa - + Edit hole Muokkaa reikää - + Edit loft Muokkaa profiilivenytystä - + Edit pad Muokkaa Pursotusta - + Edit pipe Muokkaa putkea - + Edit pocket Muokkaa taskua - + Edit primitive Muokkaa alkeiskappaletta - + Edit revolution Muokkaa kiertoliikettä - + Edit shape binder Muokkaa muodon sitojaa - + Synchronize Synkronoi - + Select bound object Select bound object @@ -3962,27 +3998,27 @@ This feature is broken and can't be edited. Muunnos onnistui - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Asiakirja "%1" jota olet muokkaamassa, on suunniteltu vanhalla versiolla PartDesign -työkalulla. - + Do you want to migrate in order to use modern PartDesign features? Haluatko muuntaa asiakirjan, jotta modernin OsanSuunnittelun piirteitä voidaan käyttää? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Dokumentti "%1" näyttää olevan joko migroitumassa vanhasta PartDesignista tai sillä on osittain rikkinäinen rakenne. - + Do you want to make the migration automatically? Haluatko tehdä migraation automaattisesti? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3991,12 +4027,12 @@ If you refuse to migrate you won't be able to use new PartDesign features like B Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually Tee migraatio manuaalisesti - + Edit helix Edit helix @@ -4641,11 +4677,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Lomake - No message @@ -4932,17 +4963,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4957,22 +4988,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5035,8 +5066,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5047,14 +5078,14 @@ over 90: larger hole radius at the bottom - the selected sketch does not belong to the active Body. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5064,14 +5095,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5126,10 +5157,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5231,15 +5262,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5443,27 +5474,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5498,120 +5529,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fr.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fr.ts index e42815a60d..c371d59876 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fr.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_fr.ts @@ -884,8 +884,8 @@ False=engrenage interne Créer un clone - + Make copy Faire une copie @@ -910,8 +910,8 @@ False=engrenage interne Créer un booléen - + Add a Body Ajouter un corps @@ -923,7 +923,7 @@ False=engrenage interne Move tip to selected feature - Déplacer l'astuce vers l'élément sélectionné + Déplacer la fonction résultante vers l'élément sélectionné @@ -941,22 +941,22 @@ False=engrenage interne Déplacer un objet dans l'arborescence - + Mirrored Symétrie - + Make LinearPattern Répétition linéaire - + PolarPattern Répétition circulaire - + Scaled Mise à l'échelle @@ -1126,7 +1126,7 @@ Sélectionner un corps à partir du bas ou créer un nouveau corps. Width: - Largeur : + Largeur : @@ -1135,7 +1135,7 @@ Sélectionner un corps à partir du bas ou créer un nouveau corps. Height: - Hauteur : + Hauteur : @@ -1144,7 +1144,7 @@ Sélectionner un corps à partir du bas ou créer un nouveau corps. Radius: - Rayon : + Rayon : @@ -1180,14 +1180,14 @@ Sélectionner un corps à partir du bas ou créer un nouveau corps. Radius 1: - Rayon 1 : + Rayon 1 : Radius 2: - Rayon 2 : + Rayon 2 : @@ -1204,7 +1204,7 @@ Sélectionner un corps à partir du bas ou créer un nouveau corps. V parameters: - Paramètres V : + Paramètre V : @@ -1263,27 +1263,27 @@ If zero, it is equal to Radius2 X min/max: - X min/max: + Min/max en X : Y min/max: - Y min/max: + Min/max en Y : Z min/max: - Z min/max: + Min/max en Z : X2 min/max: - X2 min/max: + Min/max en X2 : Z2 min/max: - Z2 min/max: + Min/max en Z2 : @@ -1293,7 +1293,7 @@ If zero, it is equal to Radius2 Coordinate system: - Système de coordonnées: + Système de coordonnées : @@ -1319,49 +1319,49 @@ If zero, it is equal to Radius2 Angle 1: - Angle 1: + Angle 1 : Angle 2: - Angle 2: + Angle 2 : From three points - A partir de trois points + À partir de trois points Major radius: - Rayon majeur: + Rayon principal : Minor radius: - Rayon mineur: + Rayon secondaire : X: - X : + X : Y: - Y : + Y : Z: - Z : + Z : @@ -1569,7 +1569,7 @@ click again to end selection Angle - + Empty chamfer created ! Création d'un chanfrein vide ! @@ -1578,17 +1578,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Liste de corps vide - + The body list cannot be empty La liste de corps ne peut pas être vide - + Boolean: Accept: Input error Booléen : Accepter : erreur d'entrée @@ -1596,12 +1596,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Combinaison de références incompatible - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Il n'y a aucun mode d'accrochage qui corresponde à la combinaison de références actuelle. Si vous continuez, la fonction restera là où elle est et ne bougera pas si les références changent. Continuer? @@ -1609,7 +1609,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Erreur de saisie @@ -1617,7 +1617,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Erreur de saisie @@ -1668,7 +1668,7 @@ click again to end selection Inverser la direction de dépouille - + Empty draft created ! Création d'une esquisse vide ! @@ -1706,39 +1706,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected Aucune face sélectionnée - - + + Face Face - + Sketch normal Normale à l'esquisse - + Face normal Face normale - + Select reference... Sélectionnez une référence... + - Custom direction Direction personnalisée  - + Click on a face in the model Cliquer sur une face du modèle @@ -1864,7 +1864,7 @@ click again to end selection Radius: - Rayon : + Rayon : @@ -1872,7 +1872,7 @@ click again to end selection Utiliser tous les arêtes - + Empty fillet created ! Création d'un congé vide ! @@ -1976,7 +1976,7 @@ click again to end selection Height: - Hauteur : + Hauteur : @@ -2126,21 +2126,37 @@ click again to end selection + Mode + Mode + + + + Overall Length + Overall Length + + + + + Offset + Décalage + + + Length Longueur - + Occurrences Occurrences - + OK OK - + Update view Mise à jour de la vue @@ -2150,7 +2166,7 @@ click again to end selection Supprimer - + Error Erreur @@ -2256,7 +2272,7 @@ click again to end selection Supprimer - + Error Erreur @@ -2362,27 +2378,27 @@ click again to end selection Inverse la direction de la protrusion - + Dimension Dimension - + To last Au dernier - + To first Au premier - + Up to face Jusqu'à la face - + Two dimensions Deux dimensions @@ -2410,139 +2426,139 @@ click again to end selection Longueur - + Offset to face Décalage par rapport à la face - + Direction Direction - + Direction/edge: Direction/arête : - + Set a direction or select an edge from the model as reference Définir une direction ou sélectionner une arête du modèle comme référence - + Sketch normal Normale à l'esquisse - + Select reference... Sélectionnez une référence... - + Custom direction Direction personnalisée  - + Show direction Afficher la direction - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Utiliser un vecteur personnalisé pour la direction de la protrusion sinon le vecteur normal du plan de l'esquisse sera utilisé - + x x - + x-component of direction vector composante x du vecteur de direction - + y y - + y-component of direction vector composante y du vecteur de direction - + z z - + z-component of direction vector composante z du vecteur de direction - + If unchecked, the length will be measured along the specified direction Si non cochée, la longueur sera mesurée dans la direction spécifiée - + Length along sketch normal Longueur le long de la normale à l'esquisse - + Applies length symmetrically to sketch plane Applique une longueur symétriquement au plan de l'esquisse - + Symmetric to plane Symétrique au plan - + Reversed Inversé - - + + Angle to taper the extrusion Angle pour effiler l'extrusion - + Taper angle Angle de dépouille - + 2nd length 2ème longueur - + 2nd taper angle 2ème angle de dépouille - + Select face Sélectionner une face - + Update view Mise à jour de la vue @@ -2781,27 +2797,27 @@ mesurée dans la direction spécifiée Inverse la direction de la cavité - + Dimension Dimension - + Through all À travers tout - + To first Au premier - + Up to face Jusqu'à la face - + Two dimensions Deux dimensions @@ -2840,21 +2856,41 @@ mesurée dans la direction spécifiée + Mode + Mode + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Angle - + + Offset + Décalage + + + Occurrences Occurrences - + OK OK - + Update view Mise à jour de la vue @@ -2864,7 +2900,7 @@ mesurée dans la direction spécifiée Supprimer - + Error Erreur @@ -2926,7 +2962,7 @@ mesurée dans la direction spécifiée Angle: - Angle : + Angle : @@ -3020,7 +3056,7 @@ mesurée dans la direction spécifiée Paramètres de la forme liée - + Remove Supprimer @@ -3061,7 +3097,7 @@ click again to end selection Thickness - Coque + Evidement @@ -3182,7 +3218,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Activer/désactiver le corps @@ -3396,7 +3432,7 @@ click again to end selection Move tip - Déplacer l'astuce + Déplacer la fonction résultante @@ -3439,68 +3475,68 @@ click again to end selection Sous forme liée - + Several sub-elements selected Plusieurs sous-éléments sélectionnés - + You have to select a single face as support for a sketch! Vous devez sélectionner une seule face comme support pour une esquisse ! - + No support face selected Aucune face de support sélectionnée - + You have to select a face as support for a sketch! Vous devez sélectionner un plan ou une face plane comme support de l'esquisse ! - + No planar support Aucun plan de support - + You need a planar face as support for a sketch! Vous avez besoin d'un plan ou d'une face plane comme support de l'esquisse ! - + No valid planes in this document Pas de plan valide dans le document - + Please create a plane first or select a face to sketch on Créer d'abord un plan ou choisir une face sur laquelle appliquer l'esquisse - - - - - - - + + + + + + + A dialog is already open in the task panel Une boîte de dialogue est déjà ouverte dans le panneau des tâches - - - - - - - + + + + + + + Do you want to close this dialog? Voulez-vous fermer cette boîte de dialogue? @@ -3762,14 +3798,14 @@ This may lead to unexpected results. Il n’est pas possible de créer une fonction soustractive sans une fonction de base présente - + Vertical sketch axis Axe d'esquisse vertical - + Horizontal sketch axis Axe d'esquisse horizontal @@ -3823,20 +3859,20 @@ Si vous avez un vieux document avec des objets PartDesign sans corps, utilisez l Afin d'utiliser cette fonction, elle doit appartenir à un objet pièce dans le document. + + - - Edit %1 Modifier %1 - + Set colors... Définir les couleurs... - + Edit boolean Modifier la fonction Booléenne @@ -3881,57 +3917,57 @@ This feature is broken and can't be edited. Cette fonction est cassée et ne peut pas être modifiée. - + Edit groove Modifier la rainure - + Edit hole Modifier le perçage - + Edit loft Modifier le lissage - + Edit pad Modifier la protrusion - + Edit pipe Modifier le balayage - + Edit pocket Modifier la cavité - + Edit primitive Modifier la primitive - + Edit revolution Modifier la révolution - + Edit shape binder Modifier la forme liée - + Synchronize Synchroniser - + Select bound object Sélectionner l'objet lié @@ -3951,39 +3987,39 @@ Cette fonction est cassée et ne peut pas être modifiée. Transformation réussie - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Le document « %1 » que vous modifiez a été conçu dans une vieille version de l'atelier PartDesign. - + Do you want to migrate in order to use modern PartDesign features? Voulez-vous appliquer la migration afin d'utiliser les fonctions modernes PartDesign ? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Le document « %1 » semble être au milieu du processus de migration de PartDesign ou a une structure légèrement cassée. - + Do you want to make the migration automatically? Voulez-vous faire la migration automatiquement ? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. Remarque : si vous choisissez de migrer, vous ne serez pas en mesure d'éditer le fichier avec d’anciennes versions de FreeCAD. Si vous refusez de migrer, vous ne serez pas en mesure d’utiliser les nouvelles fonctionnalités de Part Design comme les corps et les pièces. Pour résultat, vous ne serez pas en mesure d’utiliser vos pièces dans l'atelier assemblage. Cependant, vous pourrez migrer à tout moment par la suite avec "Part Design -> Migrer". - + Migrate manually Migrer manuellement - + Edit helix Modifier l'hélice @@ -4626,11 +4662,6 @@ plus de 90 : rayon du trou plus grand à la base TaskTransformedMessages - - - Form - Forme - No message @@ -4863,7 +4894,7 @@ plus de 90 : rayon du trou plus grand à la base Tip shape is empty - La pointe de la forme est vide + La forme de la fonction résultante est vide @@ -4917,17 +4948,17 @@ plus de 90 : rayon du trou plus grand à la base La fusion des outils a échoué - - - - + + - - - - + + + + + + Resulting shape is not a solid La forme résultante n'est pas un solide @@ -4942,22 +4973,22 @@ plus de 90 : rayon du trou plus grand à la base L'opération commune a échoué - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Le résultat a plusieurs solides : ce n'est pas supporté actuellement. @@ -5020,8 +5051,8 @@ plus de 90 : rayon du trou plus grand à la base Angle de rainure trop petit - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5032,14 +5063,14 @@ plus de 90 : rayon du trou plus grand à la base \xe2\x80\xa2 l’esquisse sélectionnée n’appartient pas au corps actif. - + Creating a face from sketch failed La création d'une face à partir de l'esquisse a échoué - + Revolve axis intersects the sketch L'axe de révolution coupe l'esquisse @@ -5049,14 +5080,14 @@ plus de 90 : rayon du trou plus grand à la base La découpe de l'élément de base a échoué - + Could not revolve the sketch! Impossible de tourner l'esquisse ! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Impossible de créer une face à partir de l'esquisse. @@ -5111,10 +5142,10 @@ Les entités d'intersection d'esquisse dans une esquisse ne sont pas autorisées Erreur : impossible de construire - + Error: Result is not a solid Erreur : le résultat n'est pas un solide @@ -5188,7 +5219,7 @@ Les entités d'intersection d'esquisse dans une esquisse ne sont pas autorisées Hole error: Invalid countersink - Erreur de trou: fraisage non valide + Erreur de trou : fraisage non valide @@ -5216,15 +5247,15 @@ Les entités d'intersection d'esquisse dans une esquisse ne sont pas autorisées Erreur : L'ajout du fil de suivi a échoué + - Boolean operation failed L'opération booléenne a échoué - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Impossible de créer une face à partir d'une esquisse. @@ -5428,27 +5459,27 @@ Les entités d'intersection d'esquisse dans une esquisse ne sont pas autorisées Une erreur fatale s'est produite lors de la création du tuyau - + Invalid element in spine. Élément non valide dans une arête. - + Element in spine is neither an edge nor a wire. L'élément dans l'arête n'est ni un bord ni une polyligne. - + Spine is not connected. L'arête n'est pas connectée. - + Spine is neither an edge nor a wire. L'arête n'est ni un bord ni une polyligne. - + Invalid spine. Arête non valide. @@ -5483,120 +5514,120 @@ Les entités d'intersection d'esquisse dans une esquisse ne sont pas autorisées Cavité : la découpe de l'élément de base a échoué - + Cannot subtract primitive feature without base feature Impossible de soustraire la fonction primitive sans la fonction de base - + Adding the primitive failed L'ajout de la primitive a échoué - + Subtracting the primitive failed La soustraction de la primitive a échoué - + Length of box too small Longueur de la boîte trop petite - + Width of box too small La largeur de la boîte est trop petite - + Height of box too small La hauteur de la boîte est trop petite - + Radius of cylinder too small Le rayon du cylindre est trop petit - + Height of cylinder too small La hauteur du cylindre est trop petite - + Rotation angle of cylinder too small L'angle de rotation du cylindre est trop petit - + Radius of sphere too small Le rayon de la sphère est trop petit - - + + Radius of cone cannot be negative Le rayon du cône ne peut pas être négatif - + The radii for cones must not be equal Les rayons des cônes ne doivent pas être égaux - + Height of cone too small La hauteur du cône est trop petite - - + + Radius of ellipsoid too small Le rayon de l'ellipsoïde est trop petit - - + + Radius of torus too small Le rayon du tore est trop petit - + Polygon of prism is invalid, must have 3 or more sides Le polygone du prisme est invalide, il doit avoir au moins 3 côtés - + Circumradius of the polygon, of the prism, is too small Le rayon du cercle circonscrit du polygone, du prisme, est trop petit - + Height of prism is too small La hauteur du prisme est trop petite - + delta x of wedge too small delta x de la pyramide tronquée trop petit - + delta y of wedge too small delta y de la pyramide tronquée trop petit - + delta z of wedge too small delta z de la pyramide tronquée trop petit - + delta z2 of wedge is negative delta z2 de la pyramide tronquée est négatif - + delta x2 of wedge is negative delta x2 de la pyramide tronquée est négatif diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_gl.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_gl.ts index bebb5770ff..0d42bd0db5 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_gl.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_gl.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Create Clone - + Make copy Fai copia @@ -909,8 +909,8 @@ so that self intersection is avoided. Crear un booleano - + Add a Body Engadir corpo @@ -940,22 +940,22 @@ so that self intersection is avoided. Move an object inside tree - + Mirrored Reflectido - + Make LinearPattern Make LinearPattern - + PolarPattern Patrón polar - + Scaled Escalado @@ -1570,7 +1570,7 @@ click again to end selection Ángulo - + Empty chamfer created ! Empty chamfer created ! @@ -1580,17 +1580,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Lista de corpos baleira - + The body list cannot be empty A lista de corpos non pode estar baleira - + Boolean: Accept: Input error Boolean: Aceptar: erro de entrada @@ -1598,12 +1598,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Estabelecida unha referencia incompatible - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Non hai xeito de asociación que se axuste no actual estabelecemento de referencias. Se decide seguir, o recurso ficará onde está agora, e non serán movidos ó que as referencias cambien. Seguir? @@ -1611,7 +1611,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Input error @@ -1619,7 +1619,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Input error @@ -1671,7 +1671,7 @@ click again to end selection Dirección de tracción invertida - + Empty draft created ! Empty draft created ! @@ -1709,39 +1709,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected Non se escolmou ningunha face - - + + Face Face - + Sketch normal Sketch normal - + Face normal Face normal - + Select reference... Select reference... + - Custom direction Custom direction - + Click on a face in the model Click on a face in the model @@ -1876,7 +1876,7 @@ click again to end selection Use All Edges - + Empty fillet created ! Empty fillet created ! @@ -2130,21 +2130,37 @@ click again to end selection + Mode + Modo + + + + Overall Length + Overall Length + + + + + Offset + Separación + + + Length Lonxitude - + Occurrences Aparicións - + OK Aceptar - + Update view Actualizar a vista @@ -2154,7 +2170,7 @@ click again to end selection Rexeitar - + Error Erro @@ -2260,7 +2276,7 @@ click again to end selection Rexeitar - + Error Erro @@ -2366,27 +2382,27 @@ click again to end selection Reverses pad direction - + Dimension Acoutamento - + To last To last - + To first Ó primeiro - + Up to face Ata a face - + Two dimensions Dúas dimensións @@ -2414,139 +2430,139 @@ click again to end selection Lonxitude - + Offset to face Offset to face - + Direction Dirección - + Direction/edge: Direction/edge: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Sketch normal - + Select reference... Select reference... - + Custom direction Custom direction - + Show direction Show direction - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used - + x x - + x-component of direction vector x-component of direction vector - + y y - + y-component of direction vector y-component of direction vector - + z z - + z-component of direction vector z-component of direction vector - + If unchecked, the length will be measured along the specified direction If unchecked, the length will be measured along the specified direction - + Length along sketch normal Length along sketch normal - + Applies length symmetrically to sketch plane Applies length symmetrically to sketch plane - + Symmetric to plane Symmetric to plane - + Reversed Reversed - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Taper angle - + 2nd length Segunda lonxitude - + 2nd taper angle 2nd taper angle - + Select face Select face - + Update view Actualizar a vista @@ -2785,27 +2801,27 @@ measured along the specified direction Reverses pocket direction - + Dimension Acoutamento - + Through all A través de todos - + To first Ó primeiro - + Up to face Ata a face - + Two dimensions Dúas dimensións @@ -2844,21 +2860,41 @@ measured along the specified direction + Mode + Modo + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Ángulo - + + Offset + Separación + + + Occurrences Aparicións - + OK Aceptar - + Update view Actualizar a vista @@ -2868,7 +2904,7 @@ measured along the specified direction Rexeitar - + Error Erro @@ -3024,7 +3060,7 @@ measured along the specified direction Parámetros dos datos da Forma - + Remove Rexeitar @@ -3188,7 +3224,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Alternar activación do corpo @@ -3445,68 +3481,68 @@ click again to end selection Sub-Shape Binder - + Several sub-elements selected Varios sub elementos escolmados - + You have to select a single face as support for a sketch! Tes escolmada unha soa face como soporte ao esbozo! - + No support face selected Sen soporte no face escolmado - + You have to select a face as support for a sketch! Tes escolmada unha soa face como soporte ao esbozo! - + No planar support Sen soporte chan - + You need a planar face as support for a sketch! Necesitas unha face planar como soporte ao esbozo! - + No valid planes in this document Non hai planos válidos neste documento - + Please create a plane first or select a face to sketch on Por favor, crear un plano de primeiro ou escolmar unha cara na que esbozar - - - - - - - + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - + + + + + + + Do you want to close this dialog? Do you want to close this dialog? @@ -3774,14 +3810,14 @@ Esto pode levar a resultados inexperados. Non é posíbel crear unha característica subtractiva sen un recurso base dispoñíbel - + Vertical sketch axis Vertical sketch axis - + Horizontal sketch axis Horizontal sketch axis @@ -3835,20 +3871,20 @@ Se tes un antigo documento con obxectos PartDesign sen Corpo, usa a función mig Para usar este recurso é preciso que pertenza a un obxecto peza no documento. + + - - Edit %1 Editar %1 - + Set colors... Definir cores... - + Edit boolean Editar valor booleano @@ -3892,57 +3928,57 @@ This feature is broken and can't be edited. %1 perde o recurso base. Este recurso está rompido e non pode ser editado. - + Edit groove Editar rañura - + Edit hole Edita burato - + Edit loft Editar alzamento - + Edit pad Editar mulido - + Edit pipe Editar tubo - + Edit pocket Edit pocket - + Edit primitive Edita primitiva - + Edit revolution Editar revolución - + Edit shape binder Editar encadernado da forma - + Synchronize Synchronize - + Select bound object Select bound object @@ -3962,27 +3998,27 @@ This feature is broken and can't be edited. Transformación feita - + The document "%1" you are editing was designed with an old version of PartDesign workbench. O documento "%1" que está a editar foi deseñado cunha antiga versión do banco de traballo PartDesign. - + Do you want to migrate in order to use modern PartDesign features? Desexa migrar a fin de usar as modernas características PartDesign? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. O documento "%1" semella ben estar no medio do proceso de migración do antigo PartDesign ou ben ter unha estrutura lixeiramente rompida. - + Do you want to make the migration automatically? Quere facer a migración automática? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3991,12 +4027,12 @@ If you refuse to migrate you won't be able to use new PartDesign features like B Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually Migrar manualmente - + Edit helix Edit helix @@ -4641,11 +4677,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Formulario - No message @@ -4932,17 +4963,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4957,22 +4988,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5035,8 +5066,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5047,14 +5078,14 @@ over 90: larger hole radius at the bottom - the selected sketch does not belong to the active Body. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5064,14 +5095,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5126,10 +5157,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5231,15 +5262,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5443,27 +5474,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5498,120 +5529,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hr.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hr.ts index 96ae624a65..9306f6ca8b 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hr.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hr.ts @@ -883,8 +883,8 @@ tako da je izbjegnuto samopresjecanje. Stvori klon - + Make copy Napravi kopiju @@ -909,8 +909,8 @@ tako da je izbjegnuto samopresjecanje. Stvori logičku vrijednost - + Add a Body Dodaj tjelo @@ -940,22 +940,22 @@ tako da je izbjegnuto samopresjecanje. Pomjeri jedan objekt unutar stabla - + Mirrored Zrcaljen - + Make LinearPattern Napravi pravocrtne uzorke - + PolarPattern Polarni uzorak - + Scaled Skalirano @@ -1568,7 +1568,7 @@ kliknite ponovno za završetak odabira Kut - + Empty chamfer created ! Napravljen je prazan tipski žlijeb ! @@ -1577,17 +1577,17 @@ kliknite ponovno za završetak odabira PartDesignGui::TaskDlgBooleanParameters - + Empty body list Prazna lista tijela - + The body list cannot be empty Tijelo, lista ne može biti prazna - + Boolean: Accept: Input error Booleov operator: Prihvatiti: ulazne pogreške @@ -1595,12 +1595,12 @@ kliknite ponovno za završetak odabira PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Nespojiv referentni skup - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Nema moda dodatka koji odgovaraju trenutnom skupu referenci. Ako odlučite nastaviti, element će ostati gdje je i sada, i ne će se premjestiti kad se reference promijene. Želite li nastaviti? @@ -1608,7 +1608,7 @@ kliknite ponovno za završetak odabira PartDesignGui::TaskDlgFeatureParameters - + Input error Pogreška na ulazu @@ -1616,7 +1616,7 @@ kliknite ponovno za završetak odabira PartDesignGui::TaskDlgShapeBinder - + Input error Pogreška na ulazu @@ -1668,7 +1668,7 @@ kliknite ponovno za završetak odabira Obrnuti smjer pomicanja - + Empty draft created ! Napravljen je prazan tipski nacrt ! @@ -1705,39 +1705,39 @@ kliknite ponovno za završetak odabira PartDesignGui::TaskExtrudeParameters - + No face selected Nije odabrana niti jedna površina - - + + Face Površina - + Sketch normal Normalna skica - + Face normal Normala lica - + Select reference... Select reference... + - Custom direction Prilagođeni smjer - + Click on a face in the model Kliknite na lice u modelu @@ -1872,7 +1872,7 @@ kliknite ponovno za završetak odabira Koristite sve rubove - + Empty fillet created ! Napravljen je prazan tipski obrub ! @@ -2125,21 +2125,37 @@ kliknite ponovno za završetak odabira + Mode + Način + + + + Overall Length + Overall Length + + + + + Offset + Pomak + + + Length Dužina - + Occurrences Ponavljanja - + OK U redu - + Update view Ažuriraj pogled @@ -2149,7 +2165,7 @@ kliknite ponovno za završetak odabira Ukloniti - + Error Pogreška @@ -2255,7 +2271,7 @@ kliknite ponovno za završetak odabira Ukloniti - + Error Pogreška @@ -2363,27 +2379,27 @@ kliknite ponovno za završetak odabira Obrnuti smjer podloška - + Dimension Dimenzija - + To last Do zadnjeg - + To first Do prvog - + Up to face Do stranice - + Two dimensions Dvije dimenzije @@ -2411,139 +2427,139 @@ kliknite ponovno za završetak odabira Dužina - + Offset to face Pomak od lica - + Direction Smjer - + Direction/edge: Smjer/rub: - + Set a direction or select an edge from the model as reference Postavite smjer ili odaberite rub iz modela kao reference - + Sketch normal Normalna skica - + Select reference... - Select reference... + Odaberite referencu... - + Custom direction Prilagođeni smjer - + Show direction Prikaži smjer - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Koristite prilagođeni vektor za smjer podloška u suprotnom koristit će se normalni vektor ravnine skice - + x x - + x-component of direction vector x-komponenta vektora smjera - + y y - + y-component of direction vector y-komponenta vektora smjera - + z z - + z-component of direction vector z-komponenta vektora smjera - + If unchecked, the length will be measured along the specified direction Ako nije označeno, duljina će biti mjereno duž navedenog smjera - + Length along sketch normal Duljina duž normale skice - + Applies length symmetrically to sketch plane Primjenjuje duljinu simetrično na ravninu skice - + Symmetric to plane Simetrično sa plohom - + Reversed Obrnuti - - + + Angle to taper the extrusion Kut za sužavanje ekstruzije - + Taper angle Kut sužavanja - + 2nd length druga dužina - + 2nd taper angle 2. kut sužavanja - + Select face Odaberi lice - + Update view Ažuriraj pogled @@ -2784,27 +2800,27 @@ mjereno duž navedenog smjera Obrnuti smjer utora - + Dimension Dimenzija - + Through all Kroz sve - + To first Do prvog - + Up to face Do stranice - + Two dimensions Dvije dimenzije @@ -2843,21 +2859,41 @@ mjereno duž navedenog smjera + Mode + Način + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Kut - + + Offset + Pomak + + + Occurrences Ponavljanja - + OK U redu - + Update view Ažuriraj pogled @@ -2867,7 +2903,7 @@ mjereno duž navedenog smjera Ukloniti - + Error Pogreška @@ -2924,7 +2960,7 @@ mjereno duž navedenog smjera Select reference... - Select reference... + Odaberite referencu... @@ -3023,7 +3059,7 @@ mjereno duž navedenog smjera Parametri referentnog oblika - + Remove Ukloniti @@ -3165,7 +3201,7 @@ kliknite ponovno za završetak odabira Select reference... - Select reference... + Odaberite referencu... @@ -3186,7 +3222,7 @@ kliknite ponovno za završetak odabira PartDesignGui::ViewProviderBody - + Toggle active body Uključivanje/isključivanje aktivno tijelo @@ -3443,68 +3479,68 @@ kliknite ponovno za završetak odabira Poveznik za pod-objekt - + Several sub-elements selected Nekoliko pod-elemenata odabrano - + You have to select a single face as support for a sketch! Morate odabrati jednu površinu kao podršku za skicu! - + No support face selected Nije odabrana površina za podršku - + You have to select a face as support for a sketch! Morate odabrati površinu kao podršku za skicu! - + No planar support Nema planarni podršku - + You need a planar face as support for a sketch! Trebate planarnu površinu kao podršku za skicu! - + No valid planes in this document Nema valjanih ravnina u ovom dokumentu - + Please create a plane first or select a face to sketch on Molimo vas prvo stvorite ravninu ili odaberite lice za crtanje na - - - - - - - + + + + + + + A dialog is already open in the task panel Dijalog je već otvoren u ploči zadataka - - - - - - - + + + + + + + Do you want to close this dialog? Želite li zatvoriti ovaj dijalog? @@ -3774,14 +3810,14 @@ To može dovesti do neočekivanih rezultata. Nije moguće stvoriti dodavajući element bez pripadajućeg osnovnog elementa - + Vertical sketch axis Vertikalna os skice - + Horizontal sketch axis Horizontalna os skice @@ -3835,20 +3871,20 @@ Ako imate naslijeđeni dokument sa PartDesign objektom bez tijela koristite funk Da biste mogli koristiti ovu značajku ona mora pripadati objektu dio u dokumentu. + + - - Edit %1 Uređivanje %1 - + Set colors... Postavljanje boje ... - + Edit boolean Uređivanje booloeove varijable @@ -3892,57 +3928,57 @@ This feature is broken and can't be edited. %1 nedostaje osnovni element. Ovaj element nije ispravan i ne može se uređivati. - + Edit groove Uređivanje rotacijskog žlijeba - + Edit hole Uređivanje rupa - + Edit loft Uredite potkrovlje - + Edit pad Uredi izvučeni oblik - + Edit pipe Uređivanje cijevi - + Edit pocket Uredi udubljenje - + Edit primitive Uređivanje primitivnog tijela - + Edit revolution Uredi obrtaj - + Edit shape binder Uređivanje veznog oblika - + Synchronize Sinhroniziraj - + Select bound object Odaberite povezani objekt @@ -3962,27 +3998,27 @@ This feature is broken and can't be edited. Transformacija uspješna - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Dokument "%1" koji uređujete je dizajniran sa jednom starom verzijom PartDesign radnog stola. - + Do you want to migrate in order to use modern PartDesign features? Želite li preseliti da biste mogli koristiti moderne PartDesign značajke? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Dokument "%1" čini se da je bio usred preseljenja iz starije verzije "PartDesign" ili ima slomljene strukture. - + Do you want to make the migration automatically? Da li želite da napravite prelazak automatski? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3991,12 +4027,12 @@ Ako odbijete migrirati, nećete moći koristiti nove značajke PartDesign-a kao Iako ćete moći migrirati u bilo svakom trenutku kasnije s 'Dizajn dijela -> Migracija'. - + Migrate manually Migrirati ručno - + Edit helix Uredi spiralu @@ -4646,11 +4682,6 @@ preko 90: veći polumjer rupe na dnu TaskTransformedMessages - - - Form - Obrazac - No message @@ -4941,17 +4972,17 @@ preko 90: veći polumjer rupe na dnu Spajanje Alata nije uspjelo - - - - + + - - - - + + + + + + Resulting shape is not a solid Stvoreni oblik nije volumen tijelo @@ -4966,22 +4997,22 @@ preko 90: veći polumjer rupe na dnu Uobičajena operacija nije uspjela - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Rezultat ima više volumenskih tijela: ovo trenutno nije podržano. @@ -5044,8 +5075,8 @@ preko 90: veći polumjer rupe na dnu Kut utora premali - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5056,14 +5087,14 @@ preko 90: veći polumjer rupe na dnu - odabrana skica ne pripada aktivnom tijelu. - + Creating a face from sketch failed Stvaranje lice od skice nije uspjelo - + Revolve axis intersects the sketch Os zaokreta presjeca skicu @@ -5073,14 +5104,14 @@ preko 90: veći polumjer rupe na dnu Izrez baznog elementa nije uspjelo - + Could not revolve the sketch! Nije moguće zavrtiti skicu! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Nije moguće napraviti površinu pomoću skice. @@ -5135,10 +5166,10 @@ Nije dozvoljeno presjecanje elemenata na skici. Greška: nije moguće napraviti Heliks - + Error: Result is not a solid Greška: Rezultat nije volumensko tijelo @@ -5240,16 +5271,16 @@ Nije dozvoljeno presjecanje elemenata na skici. Greška: Dodaj navoj nije uspjelo + - Boolean operation failed Booleanska operacija nije uspjela - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Nije moguće napraviti površinu pomoću skice. @@ -5454,27 +5485,27 @@ Nije dozvoljeno presjecanje elemenata ili višestruke površine na skici.Došlo je do fatalne pogreške pri izradi cijevi - + Invalid element in spine. Neispravni element u Vodilnoj krivulji - + Element in spine is neither an edge nor a wire. Element u Vodilnoj krivulji nije ni rub ni žica - + Spine is not connected. Vodilna krivulja nije povezana. - + Spine is neither an edge nor a wire. Vodilna krivulja nije ni rub ni žica - + Invalid spine. Ne važeća vodilna krivulja @@ -5509,120 +5540,120 @@ Nije dozvoljeno presjecanje elemenata ili višestruke površine na skici.Utor: Izrez baznog elementa nije uspjelo - + Cannot subtract primitive feature without base feature Nemoguće odrediti razliku primitivnog elementa bez baznog elementa - + Adding the primitive failed Nije uspjelo dodati primitiv - + Subtracting the primitive failed Nije uspjelo oduzeti primitiv - + Length of box too small Dužina kutije je premala - + Width of box too small Širina kutije je premala - + Height of box too small Visina kutije je premala - + Radius of cylinder too small Polumjer cilindra je premali - + Height of cylinder too small Visina cilindra je premala - + Rotation angle of cylinder too small Kut rotacije cilindra je premali - + Radius of sphere too small Polumjer kugle je premali - - + + Radius of cone cannot be negative Polumjer stožca ne može biti negativan - + The radii for cones must not be equal Polumjeri stošca ne smiju biti isti - + Height of cone too small Visina stožca je premala - - + + Radius of ellipsoid too small Polumjer elipsoida je premali - - + + Radius of torus too small Polumjer torusa je premali - + Polygon of prism is invalid, must have 3 or more sides Višekutnik prizme neispravan, mora imati 3 ili više strana - + Circumradius of the polygon, of the prism, is too small Polumjer opsega višekutnika prizme je premali - + Height of prism is too small Visina prizme je premala - + delta x of wedge too small delta x od klina premala - + delta y of wedge too small delta y od klina premala - + delta z of wedge too small delta z od klina premala - + delta z2 of wedge is negative delta z2 od klina je negativna - + delta x2 of wedge is negative delta x2 od klina je negativna diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts index 3249bdb9c8..f2b167e4c1 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts @@ -883,8 +883,8 @@ az önmetszés elkerülése érdekében. Klónozás - + Make copy Másolat készítése @@ -909,8 +909,8 @@ az önmetszés elkerülése érdekében. Logikai érték létrehozása - + Add a Body Test hozzáadás @@ -940,22 +940,22 @@ az önmetszés elkerülése érdekében. Egy tárgy mozgatása fába - + Mirrored Tükrözött - + Make LinearPattern Egyenes vonalú minta készítése - + PolarPattern Poláris kiosztás - + Scaled Méretezett @@ -1569,7 +1569,7 @@ click again to end selection Szög - + Empty chamfer created ! Üres letörést hozott létre ! @@ -1579,17 +1579,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Test listájának ürítése - + The body list cannot be empty Test listája nem lehet üres - + Boolean: Accept: Input error Logikai: Fogadja el: beviteli hiba @@ -1597,12 +1597,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Inkompatibilis hivatkozás beállítás - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Nincs az aktuális sorhivatkozásoknak megfelelő csatolási mód. Ha folytatni kívánja, a tulajdonság ott marad ahol most van, nem kerülnek áthelyezésre a hivatkozások módosításánál. Folytatja? @@ -1610,7 +1610,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Bemeneti hiba @@ -1618,7 +1618,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Bemeneti hiba @@ -1669,7 +1669,7 @@ click again to end selection Fordított irányban húzza - + Empty draft created ! Üres tervrajzot hozott létre ! @@ -1707,39 +1707,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected Nincs kijelölve felület - - + + Face Felület - + Sketch normal Normál vektor vázlata - + Face normal Aktuális felület - + Select reference... Válasszon referenciát... + - Custom direction Egyéni irány - + Click on a face in the model Kattintson a modell felületére @@ -1873,7 +1873,7 @@ click again to end selection Az összes él használata - + Empty fillet created ! Üres lekerekítést hozott létre ! @@ -2127,21 +2127,37 @@ click again to end selection + Mode + Mód + + + + Overall Length + Overall Length + + + + + Offset + Eltolás + + + Length Hossz - + Occurrences Események - + OK OK - + Update view Nézetek frissítése @@ -2151,7 +2167,7 @@ click again to end selection Törlés - + Error Hiba @@ -2257,7 +2273,7 @@ click again to end selection Törlés - + Error Hiba @@ -2363,27 +2379,27 @@ click again to end selection A tömb irányának megfordítása - + Dimension Dimenzió - + To last Az utolsóhoz - + To first Az elsőig - + Up to face Felületig - + Two dimensions Két dimenziós @@ -2411,138 +2427,138 @@ click again to end selection Hossz - + Offset to face Eltolás a felszíntől - + Direction Irány - + Direction/edge: Irány / él: - + Set a direction or select an edge from the model as reference Állítsa be az irányt, vagy válassza ki az élét a modellből referenciaként - + Sketch normal Normál vektor vázlata - + Select reference... Válasszon referenciát... - + Custom direction Egyéni irány - + Show direction Irány megjelenítése - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Saját vektor használata a tömb irányához, különben a vázlat sík normál vektorát használja - + x x - + x-component of direction vector az irányvektor x komponense - + y y - + y-component of direction vector az irányvektor y komponense - + z z - + z-component of direction vector az irányvektor z komponense - + If unchecked, the length will be measured along the specified direction Ha nincs kijelölve, a megadott irányban mért hossz - + Length along sketch normal Hossz a vázlat normálisának irányában - + Applies length symmetrically to sketch plane A hosszt a vázlat síkhoz szimmetrikusan alkalmazza - + Symmetric to plane Szimmetrikus a síkra - + Reversed Fordított - - + + Angle to taper the extrusion A kihúzás ferdevágásához szög - + Taper angle Ferde szög - + 2nd length 2. hossza - + 2nd taper angle 2. ferde szög - + Select face Felület kiválasztás - + Update view Nézetek frissítése @@ -2781,27 +2797,27 @@ measured along the specified direction Megfordítja a zseb irányát - + Dimension Dimenzió - + Through all Mindenen keresztül - + To first Az elsőig - + Up to face Felületig - + Two dimensions Két dimenziós @@ -2840,21 +2856,41 @@ measured along the specified direction + Mode + Mód + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Szög - + + Offset + Eltolás + + + Occurrences Események - + OK OK - + Update view Nézetek frissítése @@ -2864,7 +2900,7 @@ measured along the specified direction Törlés - + Error Hiba @@ -3020,7 +3056,7 @@ measured along the specified direction Referencia alakzat paraméterek - + Remove Törlés @@ -3183,7 +3219,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Aktív test átkapcsolás @@ -3440,68 +3476,68 @@ click again to end selection Részalakzat kötése - + Several sub-elements selected Több al-elemet jelölt ki - + You have to select a single face as support for a sketch! Ki kell jelölnie egy támogató egyedülálló felületet a vázlat létrehozásához! - + No support face selected A kijelölt felület nem támogatott - + You have to select a face as support for a sketch! Ki kell választani egy vázlatot támogató felületet! - + No planar support Nem támogatott sík - + You need a planar face as support for a sketch! A vázlathoz, szükség van egy támogatott sík felületre! - + No valid planes in this document Ebben a dokumentumban nincs érvényes sík - + Please create a plane first or select a face to sketch on Kérem, először hozzon létre egy síkot vagy válasszon egy felületet amin vázlatot készít - - - - - - - + + + + + + + A dialog is already open in the task panel Egy párbeszédablak már nyitva van a feladat panelen - - - - - - - + + + + + + + Do you want to close this dialog? Szeretné bezárni a párbeszédpanelt? @@ -3767,14 +3803,14 @@ Ez nem várt eredményekhez vezethet. Nincs lehetőség kivonandó funkció létrehozására az alap funkció nélkül - + Vertical sketch axis Vázlat függőleges tengelye - + Horizontal sketch axis Vázlat vízszintes tengelye @@ -3828,20 +3864,20 @@ Ha van egy örökölt dokumentum AlkatrészTervezés objektummal Test nélkül, Funkció használatához szükséges, hogy az egy alkatrész objektumhoz tartozzon a dokumentumban. + + - - Edit %1 %1 szerkesztése - + Set colors... Színek beállítása... - + Edit boolean Logikai szerkesztés @@ -3886,57 +3922,57 @@ This feature is broken and can't be edited. Ez a funkció sérült, és nem szerkeszthető. - + Edit groove Groove szerkesztése - + Edit hole Furat szerkesztés - + Edit loft Kihúzott tárgy szerkesztése - + Edit pad Szerkesztés pad - + Edit pipe Cső szerkesztése - + Edit pocket Zseb szerkesztése - + Edit primitive Alaptest szerkesztése - + Edit revolution Forgás szerkesztése - + Edit shape binder Alakzat kötés szerkesztése - + Synchronize Szinkronizálás - + Select bound object Jelölje ki a kötött tárgyat @@ -3956,27 +3992,27 @@ Ez a funkció sérült, és nem szerkeszthető. Átalakítás sikerült - + The document "%1" you are editing was designed with an old version of PartDesign workbench. A szerkeszteni kívánt "%1" dokumentum egy régebbi AlkatrészTervező munkafelületből származik. - + Do you want to migrate in order to use modern PartDesign features? Kíván áttérni a modern AlkatrészTervező funkciók használatához? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. A dokumentum "%1" úgy tűnik, hogy az áttelepítési folyamat közepén van a régi AlkatrészTervezőből vagy kissé megtört szerkezetű. - + Do you want to make the migration automatically? Szeretné, hogy az áttelepítés automatikusan lefusson? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3985,12 +4021,12 @@ Ha nem kívánja migrálni, nem fogja tudni használni az új Alkatrész Terv le Viszont később is bármikor migrálhat a "Alkatrész Tervezés -> Migrálás' paranccsal. - + Migrate manually Áttelepítés kézzel - + Edit helix Csavar szerkesztés @@ -4635,11 +4671,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Űrlap - No message @@ -4926,17 +4957,17 @@ over 90: larger hole radius at the bottom A szerszám csatlakoztatása sikertelen - - - - + + - - - - + + + + + + Resulting shape is not a solid Az eredmény alakzat nem szilárd test @@ -4951,22 +4982,22 @@ over 90: larger hole radius at the bottom A közös művelet sikertelen - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Az eredménynek több szilárd teste van: ez jelenleg nem támogatott. @@ -5029,8 +5060,8 @@ over 90: larger hole radius at the bottom A horony szöge túl kicsi - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5040,14 +5071,14 @@ over 90: larger hole radius at the bottom - a kiválasztott vázlat nem az aktív testhez tartozik. - + Creating a face from sketch failed Nem sikerült felületet létrehozni vázlatból - + Revolve axis intersects the sketch A körbmetszési tengely metszi a vázlatot @@ -5057,14 +5088,14 @@ over 90: larger hole radius at the bottom Az alaptulajdonságból a kivágás sikertelen - + Could not revolve the sketch! Nem lehetett körmetszeni a vázlatot! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Nem sikerült felületet létrehozni vázlatból. @@ -5119,10 +5150,10 @@ A vázlatelemek metszése egy vázlatban nem engedélyezett. Hiba: Nem sikerült felépíteni - + Error: Result is not a solid Hiba: Az eredmény nem szilárd test @@ -5224,15 +5255,15 @@ A vázlatelemek metszése egy vázlatban nem engedélyezett. Hiba: A menet hozzáadása sikertelen + - Boolean operation failed A logikai művelet sikertelen - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Nem sikerült felületet létrehozni vázlatból. @@ -5436,27 +5467,27 @@ A vázlatelemek vagy többszörös felületek metszése egy vázlatban nem enged Végzetes hiba történt a cső készítésekor - + Invalid element in spine. A segédvonal érvénytelen elemet tartalmaz. - + Element in spine is neither an edge nor a wire. A segédgörbe elemei nem élek és nem is dróthálók. - + Spine is not connected. A segédgörbe nincs csatlakoztatva. - + Spine is neither an edge nor a wire. A segédgörbe elemei nem élek és nem is dróthálók. - + Invalid spine. Érvénytelen segédgörbe. @@ -5491,120 +5522,120 @@ A vázlatelemek vagy többszörös felületek metszése egy vázlatban nem enged Zseb: Az alaptulajdonságból a kivágás sikertelen - + Cannot subtract primitive feature without base feature Nem vonható ki az alaptest jellemzője az alapjellemző nélkül - + Adding the primitive failed Az alaptest hozzáadása sikertelen - + Subtracting the primitive failed A kiegészítő kivonása sikertelen - + Length of box too small A mező hossza túl kicsi - + Width of box too small A mező szélessége túl kicsi - + Height of box too small A mező magassága túl kicsi - + Radius of cylinder too small A henger sugara túl kicsi - + Height of cylinder too small A henger magassága túl kicsi - + Rotation angle of cylinder too small A henger forgási szöge túl kicsi - + Radius of sphere too small A gömb sugara túl kicsi - - + + Radius of cone cannot be negative A kúp sugara nem lehet negatív - + The radii for cones must not be equal A kúpok sugarai nem lehetnek egyenlők - + Height of cone too small A kúp magassága túl kicsi - - + + Radius of ellipsoid too small Az ellipszoid sugara túl kicsi - - + + Radius of torus too small Az tórusz sugara túl kicsi - + Polygon of prism is invalid, must have 3 or more sides A prizma sokszöge érvénytelen, 3 vagy több oldallal kell rendelkeznie - + Circumradius of the polygon, of the prism, is too small A prizma sokszög kerülete túl kicsi - + Height of prism is too small A prizma magassága túl kicsi - + delta x of wedge too small delta X ék túl kicsi - + delta y of wedge too small delta Y ék túl kicsi - + delta z of wedge too small delta Z ék túl kicsi - + delta z2 of wedge is negative az ék delta z2 negatív - + delta x2 of wedge is negative az ék delta x2 negatív diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_id.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_id.ts index b0759b7fc3..c2c3401325 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_id.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_id.ts @@ -129,17 +129,17 @@ so that self intersection is avoided. CmdPartDesignAdditiveHelix - + PartDesign GambarBagian - + Additive helix Additive helix - + Sweep a selected sketch along a helix Sweep a selected sketch along a helix @@ -147,17 +147,17 @@ so that self intersection is avoided. CmdPartDesignAdditiveLoft - + PartDesign GambarBagian - + Additive loft Aditif loft - + Loft a selected profile through other profile sections Lotilah profil yang dipilih melalui bagian profil lainnya @@ -165,17 +165,17 @@ so that self intersection is avoided. CmdPartDesignAdditivePipe - + PartDesign GambarBagian - + Additive pipe Pipa aditif - + Sweep a selected sketch along a path or to other profiles Sapu sketsa yang dipilih sepanjang jalan atau untuk profil lain @@ -201,17 +201,17 @@ so that self intersection is avoided. CmdPartDesignBoolean - + PartDesign GambarBagian - + Boolean operation Operasi boolean - + Boolean operation with two or more bodies Boolean operasi dengan dua atau lebih badan @@ -237,17 +237,17 @@ so that self intersection is avoided. CmdPartDesignChamfer - + PartDesign GambarBagian - + Chamfer Talang - + Chamfer the selected edges of a shape Talang tepi yang dipilih dari bentuk @@ -273,17 +273,17 @@ so that self intersection is avoided. CmdPartDesignDraft - + PartDesign GambarBagian - + Draft Konsep - + Make a draft on a face Buat draf di wajah @@ -309,17 +309,17 @@ so that self intersection is avoided. CmdPartDesignFillet - + PartDesign GambarBagian - + Fillet Fillet - + Make a fillet on an edge, face or body Buat fillet di tepi, muka atau badan @@ -327,17 +327,17 @@ so that self intersection is avoided. CmdPartDesignGroove - + PartDesign GambarBagian - + Groove Alur - + Groove a selected sketch Buatlah sketsa yang dipilih @@ -345,17 +345,17 @@ so that self intersection is avoided. CmdPartDesignHole - + PartDesign GambarBagian - + Hole Hole - + Create a hole with the selected sketch Create a hole with the selected sketch @@ -381,17 +381,17 @@ so that self intersection is avoided. CmdPartDesignLinearPattern - + PartDesign GambarBagian - + LinearPattern LinearPattern - + Create a linear pattern feature Create a linear pattern feature @@ -417,17 +417,17 @@ so that self intersection is avoided. CmdPartDesignMirrored - + PartDesign GambarBagian - + Mirrored Tercermin - + Create a mirrored feature Create a mirrored feature @@ -489,17 +489,17 @@ so that self intersection is avoided. CmdPartDesignMultiTransform - + PartDesign GambarBagian - + Create MultiTransform Buat MultiTransform - + Create a multitransform feature Create a multitransform feature @@ -507,17 +507,17 @@ so that self intersection is avoided. CmdPartDesignNewSketch - + PartDesign GambarBagian - + Create sketch Buat sketsa - + Create a new sketch Buat sketsa baru @@ -525,17 +525,17 @@ so that self intersection is avoided. CmdPartDesignPad - + PartDesign GambarBagian - + Pad Bantalan - + Pad a selected sketch Pad a selected sketch @@ -561,17 +561,17 @@ so that self intersection is avoided. CmdPartDesignPocket - + PartDesign GambarBagian - + Pocket Saku - + Create a pocket with the selected sketch Buat saku dengan sketsa yang dipilih @@ -597,17 +597,17 @@ so that self intersection is avoided. CmdPartDesignPolarPattern - + PartDesign GambarBagian - + PolarPattern PolarPattern - + Create a polar pattern feature Create a polar pattern feature @@ -615,17 +615,17 @@ so that self intersection is avoided. CmdPartDesignRevolution - + PartDesign GambarBagian - + Revolution Revolusi - + Revolve a selected sketch Buat kembali sketsa yang dipilih @@ -633,17 +633,17 @@ so that self intersection is avoided. CmdPartDesignScaled - + PartDesign GambarBagian - + Scaled Berskala - + Create a scaled feature Create a scaled feature @@ -683,17 +683,17 @@ so that self intersection is avoided. CmdPartDesignSubtractiveHelix - + PartDesign GambarBagian - + Subtractive helix Subtractive helix - + Sweep a selected sketch along a helix and remove it from the body Sweep a selected sketch along a helix and remove it from the body @@ -701,17 +701,17 @@ so that self intersection is avoided. CmdPartDesignSubtractiveLoft - + PartDesign GambarBagian - + Subtractive loft Subtractive loft - + Loft a selected profile through other profile sections and remove it from the body Loft a selected profile through other profile sections and remove it from the body @@ -719,17 +719,17 @@ so that self intersection is avoided. CmdPartDesignSubtractivePipe - + PartDesign GambarBagian - + Subtractive pipe Pipa subtraktif - + Sweep a selected sketch along a path or to other profiles and remove it from the body Sapu sketsa yang dipilih di sepanjang jalan atau ke profil lain dan lepaskan dari bodi @@ -737,17 +737,17 @@ so that self intersection is avoided. CmdPartDesignThickness - + PartDesign GambarBagian - + Thickness Thickness - + Make a thick solid Buatlah padat yang tebal @@ -883,8 +883,8 @@ so that self intersection is avoided. Create Clone + - Make copy Buat salinan @@ -899,18 +899,18 @@ so that self intersection is avoided. Create a new Sketch - + Convert to MultiTransform feature Convert to MultiTransform feature - + Create Boolean Create Boolean - + Add a Body Add a Body @@ -940,22 +940,22 @@ so that self intersection is avoided. Move an object inside tree - + Mirrored Tercermin - + Make LinearPattern Make LinearPattern - + PolarPattern PolarPattern - + Scaled Berskala @@ -1081,48 +1081,6 @@ so that self intersection is avoided. Profile Shift Coefficient - - PartDesign::Groove - - - The requested feature cannot be created. The reason may be that: - - the active Body does not contain a base shape, so there is no - material to be removed; - - the selected sketch does not belong to the active Body. - The requested feature cannot be created. The reason may be that: - - the active Body does not contain a base shape, so there is no - material to be removed; - - the selected sketch does not belong to the active Body. - - - - PartDesign::Hole - - - The requested feature cannot be created. The reason may be that: - - the active Body does not contain a base shape, so there is no - material to be removed; - - the selected sketch does not belong to the active Body. - The requested feature cannot be created. The reason may be that: - - the active Body does not contain a base shape, so there is no - material to be removed; - - the selected sketch does not belong to the active Body. - - - - PartDesign::Pocket - - - The requested feature cannot be created. The reason may be that: - - the active Body does not contain a base shape, so there is no - material to be removed; - - the selected sketch does not belong to the active Body. - The requested feature cannot be created. The reason may be that: - - the active Body does not contain a base shape, so there is no - material to be removed; - - the selected sketch does not belong to the active Body. - - PartDesignGui::DlgActiveBody @@ -1612,7 +1570,7 @@ klik lagi untuk mengakhiri seleksi Sudut - + Empty chamfer created ! Empty chamfer created ! @@ -1622,17 +1580,17 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::TaskDlgBooleanParameters - + Empty body list Empty body list - + The body list cannot be empty The body list cannot be empty - + Boolean: Accept: Input error Boolean: Terima: Kesalahan masukan @@ -1640,12 +1598,12 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Kompatibel referensi set - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Tidak ada mode attachment yang sesuai dengan rangkaian referensi saat ini. Jika Anda memilih untuk melanjutkan, fitur ini akan tetap berada di tempat yang sekarang, dan tidak akan dipindahkan saat referensi berubah. Terus? @@ -1653,7 +1611,7 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::TaskDlgFeatureParameters - + Input error Input error @@ -1661,7 +1619,7 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::TaskDlgShapeBinder - + Input error Input error @@ -1713,7 +1671,7 @@ klik lagi untuk mengakhiri seleksi Reverse pull direction - + Empty draft created ! Empty draft created ! @@ -1751,39 +1709,39 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::TaskExtrudeParameters - + No face selected Tidak ada wajah yang dipilih - - + + Face Menghadapi - + Sketch normal Sketch normal - + Face normal Face normal - + Select reference... Select reference... + - Custom direction Custom direction - + Click on a face in the model Click on a face in the model @@ -1918,7 +1876,7 @@ klik lagi untuk mengakhiri seleksi Use All Edges - + Empty fillet created ! Empty fillet created ! @@ -2070,7 +2028,17 @@ klik lagi untuk mengakhiri seleksi Garis konstruksi% 1 - + + Warning: helix might be self intersecting + Warning: helix might be self intersecting + + + + Error: helix touches itself + Error: helix touches itself + + + Error: unsupported mode Error: unsupported mode @@ -2162,21 +2130,37 @@ klik lagi untuk mengakhiri seleksi + Mode + Mode + + + + Overall Length + Overall Length + + + + + Offset + Mengimbangi + + + Length Panjangnya - + Occurrences Kemunculan - + OK Baik - + Update view Perbarui tampilan @@ -2186,7 +2170,7 @@ klik lagi untuk mengakhiri seleksi Menghapus - + Error Kesalahan @@ -2292,7 +2276,7 @@ klik lagi untuk mengakhiri seleksi Menghapus - + Error Kesalahan @@ -2398,27 +2382,27 @@ klik lagi untuk mengakhiri seleksi Reverses pad direction - + Dimension Dimensi - + To last To last - + To first Untuk pertama - + Up to face Sampai muka - + Two dimensions Dua dimensi @@ -2446,139 +2430,139 @@ klik lagi untuk mengakhiri seleksi Panjangnya - + Offset to face Offset to face - + Direction Arah - + Direction/edge: Direction/edge: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Sketch normal - + Select reference... Select reference... - + Custom direction Custom direction - + Show direction Show direction - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used - + x x - + x-component of direction vector x-component of direction vector - + y y - + y-component of direction vector y-component of direction vector - + z z - + z-component of direction vector z-component of direction vector - + If unchecked, the length will be measured along the specified direction If unchecked, the length will be measured along the specified direction - + Length along sketch normal Length along sketch normal - + Applies length symmetrically to sketch plane Applies length symmetrically to sketch plane - + Symmetric to plane Symmetric to plane - + Reversed Reversed - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Taper angle - + 2nd length Panjang kedua - + 2nd taper angle 2nd taper angle - + Select face Select face - + Update view Perbarui tampilan @@ -2666,12 +2650,12 @@ measured along the specified direction Z - + Section orientation Orientasi bagian - + Remove Menghapus @@ -2730,23 +2714,23 @@ measured along the specified direction Hapus Tepi - + Pipe parameters Parameter pipa - + Remove Menghapus - - + + Input error Input error - + No active body No active body @@ -2789,12 +2773,12 @@ measured along the specified direction List can be reordered by dragging - + Section transformation Transformasi bagian - + Remove Menghapus @@ -2817,27 +2801,27 @@ measured along the specified direction Reverses pocket direction - + Dimension Dimensi - + Through all Melalui semua - + To first Untuk pertama - + Up to face Sampai muka - + Two dimensions Dua dimensi @@ -2876,21 +2860,41 @@ measured along the specified direction + Mode + Mode + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Sudut - + + Offset + Mengimbangi + + + Occurrences Kemunculan - + OK Baik - + Update view Perbarui tampilan @@ -2900,7 +2904,7 @@ measured along the specified direction Menghapus - + Error Kesalahan @@ -3056,7 +3060,7 @@ measured along the specified direction Parameter bentuk Datum - + Remove Menghapus @@ -3220,7 +3224,7 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::ViewProviderBody - + Toggle active body Toggle active body @@ -3275,7 +3279,7 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::ViewProviderLinearPattern - + LinearPattern parameters LinearPattern parameters @@ -3283,7 +3287,7 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::ViewProviderMultiTransform - + MultiTransform parameters MultiTransform parameters @@ -3291,7 +3295,7 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::ViewProviderPolarPattern - + PolarPattern parameters PolarPattern parameters @@ -3299,7 +3303,7 @@ klik lagi untuk mengakhiri seleksi PartDesignGui::ViewProviderScaled - + Scaled parameters Scaled parameters @@ -3315,7 +3319,7 @@ klik lagi untuk mengakhiri seleksi PartDesignGuii::ViewProviderMirrored - + Mirrored parameters Mirrored parameters @@ -3477,150 +3481,150 @@ klik lagi untuk mengakhiri seleksi Sub-Shape Binder - + Several sub-elements selected Several sub-elements selected - + You have to select a single face as support for a sketch! You have to select a single face as support for a sketch! - + No support face selected No support face selected - + You have to select a face as support for a sketch! You have to select a face as support for a sketch! - + No planar support No planar support - + You need a planar face as support for a sketch! You need a planar face as support for a sketch! - + No valid planes in this document Tidak ada pesawat yang valid dalam dokumen ini - + Please create a plane first or select a face to sketch on Silakan membuat pesawat terlebih dahulu atau pilih muka untuk membuat sketsa - - - + + - - - - - + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - + + - - - - - + + + + + + Do you want to close this dialog? Do you want to close this dialog? - + Cannot use this command as there is no solid to subtract from. Cannot use this command as there is no solid to subtract from. - + Ensure that the body contains a feature before attempting a subtractive command. Ensure that the body contains a feature before attempting a subtractive command. - + Cannot use selected object. Selected object must belong to the active body Cannot use selected object. Selected object must belong to the active body - + Consider using a ShapeBinder or a BaseFeature to reference external geometry in a body. Consider using a ShapeBinder or a BaseFeature to reference external geometry in a body. - + No sketch to work on Tidak ada sketsa untuk dikerjakan - + No sketch is available in the document Tidak ada sketsa yang tersedia dalam dokumen - - + + Wrong selection Pilihan salah - + Select an edge, face, or body from a single body. Select an edge, face, or body from a single body. - - + + Selection is not in Active Body Seleksi tidak di Active Body - + Select an edge, face, or body from an active body. Select an edge, face, or body from an active body. - + Wrong object type Jenis objek yang salah - + %1 works only on parts. %1 hanya bekerja pada bagian-bagiannya. - + Shape of the selected Part is empty Bentuk bagian yang dipilih kosong - + No valid features in this document Tidak ada fitur yang valid dalam dokumen ini - + Please create a feature first. Please create a feature first. - + Please select only one feature in an active body. Please select only one feature in an active body. @@ -3806,14 +3810,14 @@ Hal ini dapat menyebabkan hasil yang tidak diharapkan. Tidak mungkin membuat fitur subtraktif tanpa fitur dasar yang tersedia - + Vertical sketch axis Vertical sketch axis - + Horizontal sketch axis Horizontal sketch axis @@ -3828,7 +3832,7 @@ Hal ini dapat menyebabkan hasil yang tidak diharapkan. Menghadapi - + In order to use PartDesign you need an active Body object in the document. Please make one active (double click) or create one. If you have a legacy document with PartDesign objects without Body, use the migrate function in PartDesign to put them into a Body. @@ -3837,51 +3841,50 @@ If you have a legacy document with PartDesign objects without Body, use the migr If you have a legacy document with PartDesign objects without Body, use the migrate function in PartDesign to put them into a Body. - + Active Body Required Badan Aktif Diperlukan - + To create a new PartDesign object, there must be an active Body object in the document. Please make one active (double click) or create a new Body. Untuk membuat objek PartDesign baru, harus ada objek Body yang aktif dalam dokumen. Tolong buat satu aktif (klik dua kali) atau buat Body baru. - + Feature is not in a body Fitur tidak ada dalam tubuh - + In order to use this feature it needs to belong to a body object in the document. Untuk menggunakan fitur ini, benda tersebut harus termasuk dalam objek tubuh dalam dokumen. - + Feature is not in a part Fitur tidak di bagian - + In order to use this feature it needs to belong to a part object in the document. Untuk menggunakan fitur ini, perlu disertakan bagian objek dalam dokumen. + - - - - + + Edit %1 Edit %1 - + Set colors... Tetapkan warna... - + Edit boolean Edit boolean @@ -3914,109 +3917,109 @@ If you have a legacy document with PartDesign objects without Body, use the migr Edit datum - + Feature error Kesalahan fitur - + %1 misses a base feature. This feature is broken and can't be edited. %1 merindukan fitur dasar. Fitur ini rusak dan tidak bisa diedit. - + Edit groove Edit alur - + Edit hole Edit lubang - + Edit loft Edit loteng - + Edit pad Edit pad - + Edit pipe Edit pipa - + Edit pocket Edit pocket - + Edit primitive Edit primitif - + Edit revolution Edit revolusi - + Edit shape binder Edit binder bentuk - + Synchronize Sinkronkan - + Select bound object Select bound object - + One transformed shape does not intersect support Satu bentuk yang ditransformasikan tidak berpotongan dengan dukungan - + %1 transformed shapes do not intersect support %1 bentuk yang ditransformasikan tidak berpotongan dengan dukungan - + Transformation succeeded Transformasi berhasil - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Dokumen "%1" yang Anda edit dirancang dengan meja kerja PartDesign versi lama. - + Do you want to migrate in order to use modern PartDesign features? Apakah Anda ingin bermigrasi untuk menggunakan fitur PartDesign modern? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Dokumen "%1" nampaknya ada di tengah proses migrasi dari warisan PartDesign atau memiliki struktur yang sedikit rusak. - + Do you want to make the migration automatically? Apakah Anda ingin melakukan migrasi secara otomatis? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -4025,15 +4028,60 @@ If you refuse to migrate you won't be able to use new PartDesign features like B Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually Migrasikan secara manual - + Edit helix Edit helix + + + Edit chamfer + Edit chamfer + + + + Edit draft + Edit draft + + + + Edit fillet + Edit fillet + + + + Edit linear pattern + Edit linear pattern + + + + Edit mirrored + Edit mirrored + + + + Edit multi-transform + Edit multi-transform + + + + Edit polar pattern + Edit polar pattern + + + + Edit scaled + Edit scaled + + + + Edit thickness + Edit ketebalan + SprocketParameter @@ -4630,11 +4678,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Bentuk - No message @@ -4748,59 +4791,906 @@ over 90: larger hole radius at the bottom WizardShaftTable - + Length [mm] Length [mm] - + Diameter [mm] Diameter [mm] - + Inner diameter [mm] Inner diameter [mm] - + Constraint type Constraint type - + Start edge type Start edge type - + Start edge size Start edge size - + End edge type End edge type - + End edge size End edge size + + + Shaft wizard + Shaft wizard + + + + Section 1 + Section 1 + + + + Section 2 + Section 2 + + + + Add column + Add column + + + + Section %s + Section %s + - WizardShaft + TaskWizardShaft - - + + All + Semua + + + + Missing module + Missing module + + + + You may have to install the Plot add-on + You may have to install the Plot add-on + + + + PartDesign_WizardShaft + + Shaft design wizard... Shaft design wizard... - - + Start the shaft design wizard Start the shaft design wizard + + PartDesign_WizardShaftCallBack + + + Shaft design wizard... + Shaft design wizard... + + + + Start the shaft design wizard + Start the shaft design wizard + + + + Exception + + + Linked object is not a PartDesign feature + Objek yang ditautkan bukan fitur PartDesign + + + + Tip shape is empty + Tip shape is empty + + + + BaseFeature link is not set + BaseFeature link is not set + + + + BaseFeature must be a Part::Feature + BaseFeature must be a Part::Feature + + + + BaseFeature has an empty shape + BaseFeature has an empty shape + + + + Cannot do boolean cut without BaseFeature + Cannot do boolean cut without BaseFeature + + + + + Cannot do boolean with anything but Part::Feature and its derivatives + Cannot do boolean with anything but Part::Feature and its derivatives + + + + Cannot do boolean operation with invalid base shape + Cannot do boolean operation with invalid base shape + + + + Cannot do boolean on feature which is not in a body + Cannot do boolean on feature which is not in a body + + + + Base shape is null + Base shape is null + + + + Tool shape is null + Tool shape is null + + + + Fusion of tools failed + Fusion of tools failed + + + + + + + + + + + + + + Resulting shape is not a solid + Resulting shape is not a solid + + + + Cut out failed + Cut out failed + + + + Common operation failed + Common operation failed + + + + + + + + + + + + + + + + + + + Result has multiple solids: that is not currently supported. + Result has multiple solids: that is not currently supported. + + + + Failed to create chamfer + Failed to create chamfer + + + + + + Resulting shape is null + Resulting shape is null + + + + + Resulting shape is invalid + Resulting shape is invalid + + + + Size must be greater than zero + Size must be greater than zero + + + + Size2 must be greater than zero + Ukuran2 harus lebih besar dari nol + + + + Angle must be greater than 0 and less than 180 + Angle must be greater than 0 and less than 180 + + + + Failed to create draft + Failed to create draft + + + + Fillet radius must be greater than zero + Fillet radius must be greater than zero + + + + Failed to create fillet + Failed to create fillet + + + + Angle of groove too large + Angle of groove too large + + + + Angle of groove too small + Angle of groove too small + + + + + The requested feature cannot be created. The reason may be that: + - the active Body does not contain a base shape, so there is no + material to be removed; + - the selected sketch does not belong to the active Body. + The requested feature cannot be created. The reason may be that: + - the active Body does not contain a base shape, so there is no + material to be removed; + - the selected sketch does not belong to the active Body. + + + + + Creating a face from sketch failed + Creating a face from sketch failed + + + + + Revolve axis intersects the sketch + Revolve axis intersects the sketch + + + + Cut out of base feature failed + Cut out of base feature failed + + + + + Could not revolve the sketch! + Could not revolve the sketch! + + + + + Could not create face from sketch. +Intersecting sketch entities in a sketch are not allowed. + Could not create face from sketch. +Intersecting sketch entities in a sketch are not allowed. + + + + Error: Pitch too small + Error: Pitch too small + + + + + Error: height too small! + Error: height too small! + + + + Error: pitch too small! + Error: pitch too small! + + + + + + Error: turns too small! + Error: turns too small! + + + + Error: either height or growth must not be zero! + Error: either height or growth must not be zero! + + + + Error: unsupported mode + Error: unsupported mode + + + + Error: No valid sketch or face + Error: No valid sketch or face + + + + Error: Face must be planar + Error: Face must be planar + + + + Error: Could not build + Error: Could not build + + + + + + + Error: Result is not a solid + Error: Result is not a solid + + + + Error: There is nothing to subtract + Error: There is nothing to subtract + + + + + + Error: Result has multiple solids + Error: Result has multiple solids + + + + Error: Adding the helix failed + Error: Adding the helix failed + + + + Error: Intersecting the helix failed + Error: Intersecting the helix failed + + + + Error: Subtracting the helix failed + Error: Subtracting the helix failed + + + + Error: Could not create face from sketch + Error: Could not create face from sketch + + + + Hole error: Creating a face from sketch failed + Hole error: Creating a face from sketch failed + + + + Hole error: Unsupported length specification + Hole error: Unsupported length specification + + + + Hole error: Invalid hole depth + Hole error: Invalid hole depth + + + + Hole error: Invalid taper angle + Hole error: Invalid taper angle + + + + Hole error: Hole cut diameter too small + Hole error: Hole cut diameter too small + + + + Hole error: Hole cut depth must be less than hole depth + Hole error: Hole cut depth must be less than hole depth + + + + Hole error: Hole cut depth must be greater or equal to zero + Hole error: Hole cut depth must be greater or equal to zero + + + + Hole error: Invalid countersink + Hole error: Invalid countersink + + + + Hole error: Invalid drill point angle + Hole error: Invalid drill point angle + + + + Hole error: Invalid drill point + Hole error: Invalid drill point + + + + Hole error: Could not revolve sketch + Hole error: Could not revolve sketch + + + + Hole error: Resulting shape is empty + Hole error: Resulting shape is empty + + + + Error: Adding the thread failed + Error: Adding the thread failed + + + + + + Boolean operation failed + Boolean operation failed + + + + + Could not create face from sketch. +Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. + Could not create face from sketch. +Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. + + + + Thread type out of range + Thread type out of range + + + + Thread size out of range + Thread size out of range + + + + Error: Thread could not be built + Error: Thread could not be built + + + + Loft: At least one section is needed + Loft: At least one section is needed + + + + Loft: Could not obtain profile shape + Loft: Could not obtain profile shape + + + + Loft: When using points for profile/sections, the sketch should have a single point + Loft: When using points for profile/sections, the sketch should have a single point + + + + Loft: All sections need to be part features + Loft: All sections need to be part features + + + + Loft: Could not obtain section shape + Loft: Could not obtain section shape + + + + Loft: A section doesn't contain any wires nor is a single vertex + Loft: A section doesn't contain any wires nor is a single vertex + + + + Loft: Only the profile and the last section can be vertices + Loft: Only the profile and the last section can be vertices + + + + Loft: For closed lofts only the profile can be a vertex + Loft: For closed lofts only the profile can be a vertex + + + + Loft: all loft sections need to have the same amount of inner wires + Loft: all loft sections need to have the same amount of inner wires + + + + Loft could not be built + Loft could not be built + + + + Loft: Result is not a solid + Loft: Result is not a solid + + + + Loft: There is nothing to subtract from + Loft: There is nothing to subtract from + + + + Loft: Adding the loft failed + Loft: Adding the loft failed + + + + Loft: Subtracting the loft failed + Loft: Subtracting the loft failed + + + + Loft: A fatal error occurred when making the loft + Loft: A fatal error occurred when making the loft + + + + Pad: Creation failed because direction is orthogonal to sketch's normal vector + Pad: Creation failed because direction is orthogonal to sketch's normal vector + + + + Pad: Creating a face from sketch failed + Pad: Creating a face from sketch failed + + + + Pad: Resulting shape is empty + Pad: Resulting shape is empty + + + + Pad: Fusion with base feature failed + Pad: Fusion with base feature failed + + + + Could not create face from sketch. +Intersecting sketch entities or multiple faces in a sketch are not allowed. + Could not create face from sketch. +Intersecting sketch entities or multiple faces in a sketch are not allowed. + + + + Pipe: Could not obtain profile shape + Pipe: Could not obtain profile shape + + + + No spine linked + No spine linked + + + + No auxiliary spine linked. + No auxiliary spine linked. + + + + Pipe: Only one isolated point is needed if using a sketch with isolated points for section + Pipe: Only one isolated point is needed if using a sketch with isolated points for section + + + + Pipe: At least one section is needed when using a single point for profile + Pipe: At least one section is needed when using a single point for profile + + + + Pipe: All sections need to be part features + Pipe: All sections need to be part features + + + + Pipe: Could not obtain section shape + Pipe: Could not obtain section shape + + + + Pipe: Only the profile and last section can be vertices + Pipe: Only the profile and last section can be vertices + + + + Multisections need to have the same amount of inner wires as the base section + Multisections need to have the same amount of inner wires as the base section + + + + Path must not be a null shape + Path must not be a null shape + + + + Pipe could not be built + Pipe could not be built + + + + Result is not a solid + Result is not a solid + + + + Pipe: There is nothing to subtract from + Pipe: There is nothing to subtract from + + + + Adding the pipe failed + Adding the pipe failed + + + + Subtracting the pipe failed + Subtracting the pipe failed + + + + A fatal error occurred when making the pipe + A fatal error occurred when making the pipe + + + + Invalid element in spine. + Invalid element in spine. + + + + Element in spine is neither an edge nor a wire. + Element in spine is neither an edge nor a wire. + + + + Spine is not connected. + Spine is not connected. + + + + Spine is neither an edge nor a wire. + Spine is neither an edge nor a wire. + + + + Invalid spine. + Invalid spine. + + + + Pocket: Creation failed because direction is orthogonal to sketch's normal vector + Pocket: Creation failed because direction is orthogonal to sketch's normal vector + + + + Pocket: Creating a face from sketch failed + Pocket: Creating a face from sketch failed + + + + Pocket: Extruding up to a face is only possible if the sketch is located on a face + Pocket: Extruding up to a face is only possible if the sketch is located on a face + + + + Pocket: Up to face: Could not get SubShape! + Pocket: Up to face: Could not get SubShape! + + + + Pocket: Resulting shape is empty + Pocket: Resulting shape is empty + + + + Pocket: Cut out of base feature failed + Pocket: Cut out of base feature failed + + + + Cannot subtract primitive feature without base feature + Cannot subtract primitive feature without base feature + + + + Adding the primitive failed + Adding the primitive failed + + + + Subtracting the primitive failed + Subtracting the primitive failed + + + + Length of box too small + Length of box too small + + + + Width of box too small + Width of box too small + + + + Height of box too small + Height of box too small + + + + Radius of cylinder too small + Radius of cylinder too small + + + + Height of cylinder too small + Height of cylinder too small + + + + Rotation angle of cylinder too small + Rotation angle of cylinder too small + + + + Radius of sphere too small + Radius of sphere too small + + + + + Radius of cone cannot be negative + Radius of cone cannot be negative + + + + The radii for cones must not be equal + The radii for cones must not be equal + + + + Height of cone too small + Height of cone too small + + + + + Radius of ellipsoid too small + Radius of ellipsoid too small + + + + + Radius of torus too small + Radius of torus too small + + + + Polygon of prism is invalid, must have 3 or more sides + Polygon of prism is invalid, must have 3 or more sides + + + + Circumradius of the polygon, of the prism, is too small + Circumradius of the polygon, of the prism, is too small + + + + Height of prism is too small + Height of prism is too small + + + + delta x of wedge too small + delta x of wedge too small + + + + delta y of wedge too small + delta y of wedge too small + + + + delta z of wedge too small + delta z of wedge too small + + + + delta z2 of wedge is negative + delta z2 of wedge is negative + + + + delta x2 of wedge is negative + delta x2 of wedge is negative + + + + Angle of revolution too large + Angle of revolution too large + + + + Angle of revolution too small + Angle of revolution too small + + + + Fusion with base feature failed + Fusion with base feature failed + + + + Transformation feature Linked object is not a Part object + Transformation feature Linked object is not a Part object + + + + No originals linked to the transformed feature. + No originals linked to the transformed feature. + + + + Cannot transform invalid support shape + Cannot transform invalid support shape + + + + Transformation failed + Transformation failed + + + + Shape of additive/subtractive feature is empty + Shape of additive/subtractive feature is empty + + + + Only additive and subtractive features can be transformed + Only additive and subtractive features can be transformed + + diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts index e9c7d4b041..050eef356c 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts @@ -883,8 +883,8 @@ in modo da evitare l'intersezione automatica. Crea clone - + Make copy Fà una copia @@ -909,8 +909,8 @@ in modo da evitare l'intersezione automatica. Crea pallinatura - + Add a Body Aggiungi corpo @@ -940,22 +940,22 @@ in modo da evitare l'intersezione automatica. Sposta un oggetto all'interno dell'albero - + Mirrored Specchiato - + Make LinearPattern Serie rettangolare - + PolarPattern Serie polare - + Scaled Scalato @@ -1570,7 +1570,7 @@ fare nuovamente clic per terminare la selezione Angolo - + Empty chamfer created ! Smusso vuoto creato ! @@ -1580,17 +1580,17 @@ fare nuovamente clic per terminare la selezione PartDesignGui::TaskDlgBooleanParameters - + Empty body list La lista dei corpi è vuota - + The body list cannot be empty La lista dei corpi non può essere vuota - + Boolean: Accept: Input error Booleana: Accettare: errore di Input @@ -1598,12 +1598,12 @@ fare nuovamente clic per terminare la selezione PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Impostato un riferimento non compatibile - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Non vi è alcun modo di associazione che si adatti all'attuale impostazione dei riferimenti. Se si sceglie di continuare, la funzione rimarrà dove è ora, e non sarà spostata secondo i riferimenti. Proseguire? @@ -1611,7 +1611,7 @@ fare nuovamente clic per terminare la selezione PartDesignGui::TaskDlgFeatureParameters - + Input error Errore di input @@ -1619,7 +1619,7 @@ fare nuovamente clic per terminare la selezione PartDesignGui::TaskDlgShapeBinder - + Input error Errore di input @@ -1671,7 +1671,7 @@ fare nuovamente clic per terminare la selezione Inverti la direzione di trazione - + Empty draft created ! Bozza vuota creata ! @@ -1709,39 +1709,39 @@ fare nuovamente clic per terminare la selezione PartDesignGui::TaskExtrudeParameters - + No face selected Nessuna faccia selezionata - - + + Face Faccia - + Sketch normal Normale allo schizzo - + Face normal Faccia normale - + Select reference... Seleziona riferimento... + - Custom direction Direzione personalizzata - + Click on a face in the model Fare clic su una faccia nel modello @@ -1876,7 +1876,7 @@ fare nuovamente clic per terminare la selezione Usa Tutti I Bordi - + Empty fillet created ! Filetto vuoto creato ! @@ -2130,21 +2130,37 @@ fare nuovamente clic per terminare la selezione + Mode + Modalità + + + + Overall Length + Overall Length + + + + + Offset + Offset + + + Length Lunghezza - + Occurrences Occorrenze - + OK OK - + Update view Aggiorna la vista @@ -2154,7 +2170,7 @@ fare nuovamente clic per terminare la selezione Rimuovi - + Error Errore @@ -2260,7 +2276,7 @@ fare nuovamente clic per terminare la selezione Rimuovi - + Error Errore @@ -2366,27 +2382,27 @@ fare nuovamente clic per terminare la selezione Inverti la direzione del'estrusione - + Dimension Quota - + To last Fino all'ultimo - + To first Fino al primo - + Up to face Fino alla faccia - + Two dimensions Due dimensioni @@ -2414,139 +2430,139 @@ fare nuovamente clic per terminare la selezione Lunghezza - + Offset to face Scostamento dalla faccia - + Direction Direzione - + Direction/edge: Direzione/bordo: - + Set a direction or select an edge from the model as reference Imposta una direzione o seleziona un bordo dal modello come riferimento - + Sketch normal Normale allo schizzo - + Select reference... Seleziona riferimento... - + Custom direction Direzione personalizzata - + Show direction Mostra direzione - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Usa vettore personalizzato per la direzione dell'estrusione altrimenti verrà utilizzato il vettore normale al piano di schizzo - + x x - + x-component of direction vector componente X del vettore di direzione - + y y - + y-component of direction vector componente Y del vettore di direzione - + z z - + z-component of direction vector componente Z del vettore di direzione - + If unchecked, the length will be measured along the specified direction Se deselezionata, la lunghezza sarà misurata lungo la direzione specificata - + Length along sketch normal Lunghezza lungo la normale allo schizzo - + Applies length symmetrically to sketch plane Applica simmetricamente la lunghezza dal piano dello schizzo - + Symmetric to plane Simmetrica al piano - + Reversed Invertita - - + + Angle to taper the extrusion Angolo per rastremare l'estrusione - + Taper angle Angolo rastrematura - + 2nd length Seconda lunghezza - + 2nd taper angle 2° angolo rastrematura - + Select face Selezionare una faccia - + Update view Aggiorna la vista @@ -2785,27 +2801,27 @@ misurata lungo la direzione specificata Inverte la direzione della tasca - + Dimension Dimensione - + Through all Attraverso tutto - + To first Fino al primo - + Up to face Fino alla faccia - + Two dimensions Due dimensioni @@ -2844,21 +2860,41 @@ misurata lungo la direzione specificata + Mode + Modalità + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Angolo - + + Offset + Offset + + + Occurrences Occorrenze - + OK OK - + Update view Aggiorna la vista @@ -2868,7 +2904,7 @@ misurata lungo la direzione specificata Rimuovi - + Error Errore @@ -3024,7 +3060,7 @@ misurata lungo la direzione specificata Parametri di riferimento della forma - + Remove Rimuovi @@ -3188,7 +3224,7 @@ fare nuovamente clic per terminare la selezione PartDesignGui::ViewProviderBody - + Toggle active body Attiva/disattiva corpo @@ -3445,68 +3481,68 @@ fare nuovamente clic per terminare la selezione Sotto-Riferimento di Forma - + Several sub-elements selected Diversi sottoelementi selezionati - + You have to select a single face as support for a sketch! Si deve selezionare una singola faccia come supporto per uno schizzo! - + No support face selected Nessuna faccia di supporto selezionata - + You have to select a face as support for a sketch! Selezionare una faccia come supporto per uno schizzo! - + No planar support Nessun supporto planare - + You need a planar face as support for a sketch! Serve una faccia planare come supporto per uno schizzo! - + No valid planes in this document In questo documento non c'è nessun piano valido - + Please create a plane first or select a face to sketch on Si prega di creare prima un piano oppure di selezionare una faccia su cui posizionare lo schizzo - - - - - - - + + + + + + + A dialog is already open in the task panel Nel pannello azioni c'è già una finestra di dialogo aperta - - - - - - - + + + + + + + Do you want to close this dialog? Si desidera chiudere questa finestra? @@ -3768,14 +3804,14 @@ This may lead to unexpected results. Non è possibile creare una funzione sottrattiva senza una funzione di base disponibile - + Vertical sketch axis Asse verticale dello schizzo - + Horizontal sketch axis Asse orizzontale dello schizzo @@ -3827,20 +3863,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr Per poter utilizzare questa funzione essa deve appartenere a un oggetto parte del documento. + + - - Edit %1 Edita %1 - + Set colors... Imposta i colori... - + Edit boolean Modifica booleana @@ -3884,57 +3920,57 @@ This feature is broken and can't be edited. %1 manca una funzione di base. Questa funzione è rovinata e non può essere modificata. - + Edit groove Modifica la scanalatura - + Edit hole Modifica il foro - + Edit loft Modifica il loft - + Edit pad Modifica estrusione - + Edit pipe Modifica sweep - + Edit pocket Modifica cavità - + Edit primitive Edita la primitiva - + Edit revolution Modifica rivoluzione - + Edit shape binder Modifica il Riferimento di Forma - + Synchronize Sincronizza - + Select bound object Seleziona oggetto di contorno @@ -3954,27 +3990,27 @@ This feature is broken and can't be edited. Trasformazione riuscita - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Il documento "%1" che si sta modificando è stato prodotto con una vecchia versione di PartDesign. - + Do you want to migrate in order to use modern PartDesign features? Si desidera eseguire la migrazione per poter utilizzare le moderne funzionalità di PartDesign? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Sembra che il documento "%1" sia in fase di migrazione dal vecchio PartDesign o che abbia una struttura leggermente rovinata. - + Do you want to make the migration automatically? Fare la migrazione automaticamente? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3983,12 +4019,12 @@ Se ci si rifiuta di migrare, non sarà possibile usare le nuove funzioni di Part Comunque si può decidere di migrare in ogni momento con 'Part Design -> Migrate'. - + Migrate manually Migrazione manuale - + Edit helix Modifica elica @@ -4632,11 +4668,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Modulo - No message @@ -4923,17 +4954,17 @@ over 90: larger hole radius at the bottom Fusione di strumenti fallita - - - - + + - - - - + + + + + + Resulting shape is not a solid La forma risultante non è un solido @@ -4948,22 +4979,22 @@ over 90: larger hole radius at the bottom Operazione comune fallita - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Il risultato ha più solidi: attualmente non è supportato. @@ -5026,8 +5057,8 @@ over 90: larger hole radius at the bottom Angolo di scanalatura troppo piccolo - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5038,14 +5069,14 @@ over 90: larger hole radius at the bottom - lo schizzo selezionato non appartiene al corpo attivo. - + Creating a face from sketch failed Creazione di una faccia dallo schizzo fallita - + Revolve axis intersects the sketch L'asse di rivoluzione interseca lo schizzo @@ -5055,14 +5086,14 @@ over 90: larger hole radius at the bottom Ritaglio dalla funzione di base fallito - + Could not revolve the sketch! Impossibile fare la rivoluzione dello schizzo! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Impossibile creare la faccia dallo schizzo. @@ -5117,10 +5148,10 @@ L'intersezione delle entità dello schizzo in uno schizzo non è consentita.Errore: impossibile generare - + Error: Result is not a solid Errore: il risultato non è un solido @@ -5222,15 +5253,15 @@ L'intersezione delle entità dello schizzo in uno schizzo non è consentita.Errore: l'aggiunta del filetto non riuscita + - Boolean operation failed Operazione booleana fallita - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Impossibile creare la faccia dallo schizzo. @@ -5434,27 +5465,27 @@ L'intersezione delle entità dello schizzo in uno schizzo non è consentita.Si è verificato un errore fatale durante la realizzazione del tubo - + Invalid element in spine. Elemento non valido nella dorsale. - + Element in spine is neither an edge nor a wire. Elemento nella dorsale non è né un bordo né un filo. - + Spine is not connected. La dorsale non è connessa. - + Spine is neither an edge nor a wire. La dorsale non è né un bordo né un filo. - + Invalid spine. Dorsale non valida. @@ -5489,120 +5520,120 @@ L'intersezione delle entità dello schizzo in uno schizzo non è consentita.Tasca: taglio della funzione di base fallita - + Cannot subtract primitive feature without base feature Impossibile sottrarre la funzione primitiva senza la funzione di base - + Adding the primitive failed Aggiunta della primitiva fallita - + Subtracting the primitive failed Sottrazione della primitiva fallita - + Length of box too small Lunghezza della rettangolo troppo piccola - + Width of box too small Larghezza della scatola troppo piccola - + Height of box too small Altezza della scatola troppo piccola - + Radius of cylinder too small Raggio del cilindro troppo piccolo - + Height of cylinder too small Altezza del cilindro troppo piccola - + Rotation angle of cylinder too small Angolo di rotazione del cilindro troppo piccolo - + Radius of sphere too small Raggio della sfera troppo piccolo - - + + Radius of cone cannot be negative Il raggio del cono non può essere negativo - + The radii for cones must not be equal I raggi per i coni non devono essere uguali - + Height of cone too small Altezza del cono troppo piccola - - + + Radius of ellipsoid too small Raggio di ellissoide troppo piccolo - - + + Radius of torus too small Raggio del toro troppo piccolo - + Polygon of prism is invalid, must have 3 or more sides Il poligono del prisma non è valido, deve avere 3 o più lati - + Circumradius of the polygon, of the prism, is too small Il circolo del poligono, del prisma, è troppo piccolo - + Height of prism is too small L'altezza del prisma è troppo piccola - + delta x of wedge too small delta x del cuneo troppo piccola - + delta y of wedge too small delta y del cuneo troppo piccola - + delta z of wedge too small delta z del cuneo troppo piccola - + delta z2 of wedge is negative il delta z2 del cuneo è negativo - + delta x2 of wedge is negative delta x2 del cuneo è negativo diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ja.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ja.ts index 8fc7a934db..f144b9e352 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ja.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ja.ts @@ -882,8 +882,8 @@ so that self intersection is avoided. クローンを作成 - + Make copy コピーの作成 @@ -908,8 +908,8 @@ so that self intersection is avoided. Bool変数の作成 - + Add a Body ボディーを追加 @@ -939,22 +939,22 @@ so that self intersection is avoided. ツリー内のオブジェクトを移動 - + Mirrored 鏡像 - + Make LinearPattern 直線状パターンを作成 - + PolarPattern 円状パターン - + Scaled 拡大縮小 @@ -1569,7 +1569,7 @@ click again to end selection 角度 - + Empty chamfer created ! 空の面取りが作成されました! @@ -1579,17 +1579,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list ボディーのリストを空にする - + The body list cannot be empty このボディーのリストは空にできません - + Boolean: Accept: Input error ブーリアン: 許可: 入力エラー @@ -1597,12 +1597,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set 互換性のない参照セットです。 - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? 現在の参照セットに合うアタッチメントモードがありません。続行を選択した場合、フィーチャーは今のまま残り、参照変更による移動は行われません。続行しますか? @@ -1610,7 +1610,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error 入力エラー @@ -1618,7 +1618,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error 入力エラー @@ -1670,7 +1670,7 @@ click again to end selection 引き抜き方向を反転 - + Empty draft created ! 空の抜き勾配が作成されました! @@ -1708,39 +1708,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected 面が選択されていません - - + + Face - + Sketch normal スケッチ法線 - + Face normal 面の法線 - + Select reference... 参照を選択... + - Custom direction カスタム方向 - + Click on a face in the model モデルの面をクリック @@ -1875,7 +1875,7 @@ click again to end selection すべてのエッジを使用 - + Empty fillet created ! 空のフィレットが作成されました! @@ -2129,21 +2129,37 @@ click again to end selection + Mode + モード + + + + Overall Length + Overall Length + + + + + Offset + オフセット + + + Length 長さ - + Occurrences 回数 - + OK OK - + Update view ビューを更新 @@ -2153,7 +2169,7 @@ click again to end selection 削除 - + Error エラー @@ -2259,7 +2275,7 @@ click again to end selection 削除 - + Error エラー @@ -2365,27 +2381,27 @@ click again to end selection パッドの方向を反転 - + Dimension 寸法 - + To last 最後まで - + To first 最初まで - + Up to face 面まで - + Two dimensions 2方向の寸法 @@ -2413,138 +2429,138 @@ click again to end selection 長さ - + Offset to face 面にオフセット - + Direction 方向 - + Direction/edge: 方向/エッジ: - + Set a direction or select an edge from the model as reference 方向を設定するか、参照としてモデルからエッジを選択 - + Sketch normal スケッチ法線 - + Select reference... 参照を選択... - + Custom direction カスタム方向 - + Show direction 方向を表示 - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used パッド方向にカスタムベクトルを使用します。そうでなければ スケッチ平面の法線ベクトルが使用されます。 - + x x - + x-component of direction vector 方向ベクトルの x 成分 - + y y - + y-component of direction vector 方向ベクトルの Y 成分 - + z z - + z-component of direction vector 方向ベクトルのz成分 - + If unchecked, the length will be measured along the specified direction チェックされていない場合、長さは指定された方向に沿って 測定されます - + Length along sketch normal スケッチ法線に沿った長さ - + Applies length symmetrically to sketch plane スケッチ平面に長さを対称に適用します。 - + Symmetric to plane 面に対して対称 - + Reversed 逆方向 - - + + Angle to taper the extrusion 押し出しテーパー角度 - + Taper angle テーパー角度 - + 2nd length 2番目の長さ - + 2nd taper angle 2番目のテーパー角度 - + Select face 面を選択 - + Update view ビューを更新 @@ -2783,27 +2799,27 @@ measured along the specified direction ポケットの方向を反転 - + Dimension 寸法 - + Through all 貫通 - + To first 最初まで - + Up to face 面まで - + Two dimensions 2方向の寸法 @@ -2842,21 +2858,41 @@ measured along the specified direction + Mode + モード + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle 角度 - + + Offset + オフセット + + + Occurrences 回数 - + OK OK - + Update view ビューを更新 @@ -2866,7 +2902,7 @@ measured along the specified direction 削除 - + Error エラー @@ -3022,7 +3058,7 @@ measured along the specified direction データム形状パラメーター - + Remove 削除 @@ -3186,7 +3222,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body アクティブなボディーを切り替え @@ -3443,68 +3479,68 @@ click again to end selection サブシェイプバインダー - + Several sub-elements selected いくつかのサブ要素が選択されています - + You have to select a single face as support for a sketch! スケッチサポートとして単一の面を選択する必要があります! - + No support face selected サポート面が選択されていません - + You have to select a face as support for a sketch! スケッチサポートとして面を選択する必要があります! - + No planar support 平面のサポートがありません - + You need a planar face as support for a sketch! スケッチサポートとして平面が必要です! - + No valid planes in this document このドキュメントには有効な平面がありません。 - + Please create a plane first or select a face to sketch on まず平面を作成するか、またはスケッチを描く面を選択してください。 - - - - - - - + + + + + + + A dialog is already open in the task panel タスクパネルで既にダイアログが開かれています - - - - - - - + + + + + + + Do you want to close this dialog? このダイアログを閉じますか? @@ -3768,14 +3804,14 @@ This may lead to unexpected results. 利用可能なベースフィーチャーがない場合、減算フィーチャーは作成できません。 - + Vertical sketch axis 垂直スケッチ軸 - + Horizontal sketch axis 水平スケッチ軸 @@ -3829,20 +3865,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr このフィーチャーを使用するためにはそれがドキュメント内のパーツオブジェクトに属している必要があります。 + + - - Edit %1 %1を編集 - + Set colors... 色を設定... - + Edit boolean ブーリアンを編集 @@ -3887,57 +3923,57 @@ This feature is broken and can't be edited. このフィーチャーは壊れていて編集できません。 - + Edit groove グルーブを編集 - + Edit hole ホールを編集 - + Edit loft ロフトを編集 - + Edit pad パッドを編集 - + Edit pipe パイプを編集 - + Edit pocket ポケットを編集 - + Edit primitive プリミティブを編集 - + Edit revolution 回転押し出しを編集 - + Edit shape binder シェイプバインダーを編集 - + Synchronize 同期する - + Select bound object バインドされたオブジェクトを選択 @@ -3957,39 +3993,39 @@ This feature is broken and can't be edited. 変換成功 - + The document "%1" you are editing was designed with an old version of PartDesign workbench. 編集中のドキュメント「%1」は過去のバージョンの PartDesign ワークベンチでデザインされています。 - + Do you want to migrate in order to use modern PartDesign features? 新しい PartDesign 機能を使用するために移行を行いますか? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. ドキュメント「%1」は過去の PartDesign からの移行処理途中か、またはわずかに壊れた構造を含んでいます。 - + Do you want to make the migration automatically? 移行を自動的に行いますか? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. 移行を選択した場合、このファイルは過去のバージョンのFreeCADで編集できなくなることに注意してください。移行しない場合、ボディーやパーツといった新しい PartDesign 機能は使用できず、作成した部品をアセンブリワークベンチで使用することもできません。「パートデザイン-移行...」を選択することで移行はいつでも行えます。 - + Migrate manually 手動で移行 - + Edit helix らせんを編集 @@ -4632,11 +4668,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - フォーム - No message @@ -4923,17 +4954,17 @@ over 90: larger hole radius at the bottom 結合ツールが失敗しました。 - - - - + + - - - - + + + + + + Resulting shape is not a solid 結果シェイプはソリッドではありません。 @@ -4948,22 +4979,22 @@ over 90: larger hole radius at the bottom 共通部分演算が失敗しました。 - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. 結果に複数のソリッドが含まれています。これは現在サポートされていません。 @@ -5026,8 +5057,8 @@ over 90: larger hole radius at the bottom グルーブの角度が小さすぎます。 - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5037,14 +5068,14 @@ over 90: larger hole radius at the bottom ・ 選択されたスケッチがアクティブなボディーに属していない。 - + Creating a face from sketch failed スケッチから面を作成できませんでした。 - + Revolve axis intersects the sketch 回転押し出しの軸がスケッチと交差しています。 @@ -5054,14 +5085,14 @@ over 90: larger hole radius at the bottom ベースフィーチャーの切り抜きに失敗しました。 - + Could not revolve the sketch! スケッチを回転押し出しできませんでした! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. スケッチから面を作成できませんでした。 @@ -5116,10 +5147,10 @@ Intersecting sketch entities in a sketch are not allowed. エラー: 作成できませんでした。 - + Error: Result is not a solid エラー: 結果はソリッドではありません。 @@ -5221,15 +5252,15 @@ Intersecting sketch entities in a sketch are not allowed. エラー: ねじ山の追加に失敗しました。 + - Boolean operation failed ブーリアン演算が失敗しました。 - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. スケッチから面を作成できませんでした。 @@ -5433,27 +5464,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.パイプ作成中に重大なエラーが発生しました。 - + Invalid element in spine. スパインの要素が正しくありません。 - + Element in spine is neither an edge nor a wire. スパインの要素がエッジでもワイヤーでもありません。 - + Spine is not connected. スパインが接続されていません。 - + Spine is neither an edge nor a wire. スパインがエッジでもワイヤーでもありません。 - + Invalid spine. スパインが正しくありません。 @@ -5488,120 +5519,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.ポケット: ベースフィーチャーの切り抜きに失敗しました。 - + Cannot subtract primitive feature without base feature ベースフィーチャー無しでプリミティブフィーチャーを減算することはできません。 - + Adding the primitive failed プリミティブの加算に失敗しました。 - + Subtracting the primitive failed プリミティブの減算に失敗しました。 - + Length of box too small 直方体の厚みが小さすぎます。 - + Width of box too small 直方体の幅が小さすぎます。 - + Height of box too small 直方体の高さが小さすぎます。 - + Radius of cylinder too small 円筒の半径が小さすぎます - + Height of cylinder too small 円筒の高さが小さすぎます - + Rotation angle of cylinder too small 円筒の回転角が小さすぎます - + Radius of sphere too small 球の半径が小さすぎます - - + + Radius of cone cannot be negative 円錐の半径を負の値にすることはできません - + The radii for cones must not be equal 円錐の半径は異なる値でなければなりません - + Height of cone too small 円錐の高さが小さすぎます - - + + Radius of ellipsoid too small 楕円体の半径が小さすぎます - - + + Radius of torus too small トーラスの半径が小さすぎます - + Polygon of prism is invalid, must have 3 or more sides 角柱を作る多角形は3つ以上の辺を持たなければならず、正しくありません。 - + Circumradius of the polygon, of the prism, is too small 角柱を作る多角形の外接円が小さすぎます。 - + Height of prism is too small 角柱の高さが小さすぎます。 - + delta x of wedge too small ウェッジのΔxが小さすぎます。 - + delta y of wedge too small ウェッジのΔyが小さすぎます。 - + delta z of wedge too small ウェッジのΔzが小さすぎます。 - + delta z2 of wedge is negative ウェッジのΔz2が小さすぎます。 - + delta x2 of wedge is negative ウェッジのΔx2が小さすぎます。 diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ka.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ka.ts index 49625e904f..bc3c30763f 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ka.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ka.ts @@ -148,7 +148,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -166,7 +166,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -184,7 +184,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -202,12 +202,12 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი Boolean operation - ბულევური ოპერაცია + ლოგიკური ოპერაცია @@ -220,7 +220,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -238,7 +238,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -256,7 +256,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -274,12 +274,12 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი Draft - წყალშიგი + მონახაზი @@ -292,7 +292,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -310,7 +310,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -328,7 +328,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -346,7 +346,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -364,7 +364,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -382,7 +382,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -400,7 +400,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -418,7 +418,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -436,7 +436,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -454,7 +454,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -472,7 +472,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -490,7 +490,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -508,7 +508,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -526,7 +526,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -544,7 +544,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -562,7 +562,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -580,7 +580,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -598,7 +598,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -616,7 +616,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -634,7 +634,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -652,7 +652,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -670,7 +670,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -684,7 +684,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -702,7 +702,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -720,7 +720,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -738,7 +738,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -756,7 +756,7 @@ so that self intersection is avoided. PartDesign - ნაწილის დაპროექტება + ნაწილისდიზაინი @@ -882,8 +882,8 @@ so that self intersection is avoided. ასლის შექმნა - + Make copy ასლის გადაღება @@ -908,8 +908,8 @@ so that self intersection is avoided. ბულევის შექმნა - + Add a Body სხეულის დამატება @@ -939,22 +939,22 @@ so that self intersection is avoided. ობიექტის ხის შიგნით შეტანა - + Mirrored სიმეტრია - + Make LinearPattern LinearPattern-ის შექმნა - + PolarPattern წრიული მასივი - + Scaled მასშტაბირება @@ -1197,12 +1197,12 @@ Please select a body from below, or create a new body. U parameter: - პარამეტრი U: + U პარამეტრი: V parameters: - პარამეტრები V: + V პარამეტრები: @@ -1230,7 +1230,7 @@ If zero, it is equal to Radius2 V parameter: - პარამეტრი V: + V პარამეტრი: @@ -1245,7 +1245,7 @@ If zero, it is equal to Radius2 U Parameter: - პარამეტრი U: + U პარამეტრი: @@ -1257,7 +1257,7 @@ If zero, it is equal to Radius2 Circumradius: - რადიუსი: + წრეწირის რადიუსი: @@ -1287,7 +1287,7 @@ If zero, it is equal to Radius2 Pitch: - ტანგაჟი: + ხმის სიმაღლე: @@ -1297,12 +1297,12 @@ If zero, it is equal to Radius2 Right-handed - მარჯვნიდან + მარჯვენახელიანი Left-handed - მარცხნივ + ცაცია @@ -1339,7 +1339,7 @@ If zero, it is equal to Radius2 Minor radius: - მცირე რადიუსი: + დამხმარე რადიუსი: @@ -1370,7 +1370,7 @@ If zero, it is equal to Radius2 End point - საბოლოო წერტილი + ბოლო წერტლი @@ -1378,7 +1378,7 @@ If zero, it is equal to Radius2 Reference - ბმა + მითითება @@ -1449,7 +1449,7 @@ If zero, it is equal to Radius2 Remove - მოცილება + წაშლა @@ -1514,7 +1514,7 @@ click again to end selection Select - არჩევა + აირჩიეთ @@ -1569,7 +1569,7 @@ click again to end selection კუთხე - + Empty chamfer created ! შექმნილია ცარიელი კუთხის ნაზოლი ! @@ -1579,17 +1579,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list სხეულების სია ცარიელია - + The body list cannot be empty სხეულების სია არ შეიძლება ცარიელი იყოს - + Boolean: Accept: Input error ლოგიკური მნიშვნელობა: შეყვანის შეცდომა @@ -1597,12 +1597,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set ბმების შეუთავსებელი ნაკრები - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? არ არსებობს დანართის რეჟიმი, რომელიც შეესაბამება ბმების მიმდინარე კომპლექტს. თუ გაგრძელებას აირჩევთ, ფუნქცია დარჩება იქ, სადაც არის ახლა და არ გადაინაცვლებს ბმების შეცვლისას. გაგრძელება? @@ -1610,7 +1610,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Input error @@ -1618,9 +1618,9 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error - Input error + შეყვანის შეცდომა @@ -1640,7 +1640,7 @@ click again to end selection Select - არჩევა + აირჩიეთ @@ -1670,7 +1670,7 @@ click again to end selection დაქანების მიმართულების შემობრუნება - + Empty draft created ! შექმნილია ცარიელი მონახაზი ! @@ -1682,12 +1682,12 @@ click again to end selection Preview - გადახედვა + მინიატურა Select - არჩევა + აირჩიეთ @@ -1702,45 +1702,45 @@ click again to end selection Remove - მოცილება + წაშლა PartDesignGui::TaskExtrudeParameters - + No face selected ზედაპირი არჩეული არაა - - + + Face სიბრტყე - + Sketch normal ნორმალური ესკიზი - + Face normal ზედაპირის ნორმალი - + Select reference... Select reference... + - Custom direction მიმართულების ხელით მითითება - + Click on a face in the model დააწკაპუნეთ ზედაპირზე მოდელში @@ -1855,7 +1855,7 @@ click again to end selection Select - არჩევა + აირჩიეთ @@ -1875,7 +1875,7 @@ click again to end selection ყველა წიბოს გამოყენება - + Empty fillet created ! შექმნილია ცარიელი მომრგვალებული ნაზოლი ! @@ -1897,7 +1897,7 @@ click again to end selection Valid - ჭეშმარიტი + სწორი @@ -1974,7 +1974,7 @@ click again to end selection Pitch: - ტანგაჟი: + ხმის სიმაღლე: @@ -2129,31 +2129,47 @@ click again to end selection + Mode + რეჟიმი + + + + Overall Length + Overall Length + + + + + Offset + წანაცვლება + + + Length სიგრძე - + Occurrences მოვლენები - + OK - &დიახ + დიახ - + Update view ხედის განახლება Remove - მოცილება + წაშლა - + Error შეცდომა @@ -2168,7 +2184,7 @@ click again to end selection Ruled surface - დახაზული ზედაპირი + გაზომილი ზედაპირი @@ -2213,7 +2229,7 @@ click again to end selection Remove - მოცილება + წაშლა @@ -2236,17 +2252,17 @@ click again to end selection List can be reordered by dragging - სიის გადალაგება შეგიძლიათ გადათრევით + სიის გადალაგება გადათრევით შეგიძლიათ Plane - სიბრტყე + ზედაპირი OK - &დიახ + დიახ @@ -2256,10 +2272,10 @@ click again to end selection Remove - მოცილება + წაშლა - + Error შეცდომა @@ -2279,12 +2295,12 @@ click again to end selection Remove feature - თვისების მოცილება + თვისების წაშლა List can be reordered by dragging - სიის გადალაგება შეგიძლიათ გადათრევით + სიის გადალაგება გადათრევით შეგიძლიათ @@ -2299,7 +2315,7 @@ click again to end selection Remove - მოცილება + წაშლა @@ -2339,7 +2355,7 @@ click again to end selection Move down - დაწევა + ქვემოთ ჩამოწევა @@ -2365,27 +2381,27 @@ click again to end selection საყრდენი ფილის მიმართულების შებრუნება - + Dimension - ზომა + განზომილება - + To last ბოლოზე - + To first პირველთან - + Up to face - სიბრტყემდე + ზედაპირამდე - + Two dimensions ორი განზომილება @@ -2405,7 +2421,7 @@ click again to end selection Dimension - ზომა + განზომილება @@ -2413,139 +2429,139 @@ click again to end selection სიგრძე - + Offset to face ზედაპირისკენ წანაცვლება - + Direction მიმართულება - + Direction/edge: მიმართულება/წიბო: - + Set a direction or select an edge from the model as reference დააყენეთ მიმართულება ან მოდელიდან მიბმის სახით აირჩიეთ წიბო - + Sketch normal - ნორმალური ესკიზი + ესკიზის ნორმალი - + Select reference... - Select reference... + აირჩიეთ მიმართვა... - + Custom direction მიმართულების ხელით მითითება - + Show direction მიმართულების ჩვენება - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used საყრდენი ფილის მიმართულებისთვის გამოიყენეთ ხელით მითითებული ვექტორი. წინააღმდეგ შემთხვევაში იქნება გამოყენებული ესკიზის სიბრტყის ნორმალის ვექტორი - + x x - + x-component of direction vector მიმართულების ვექტორის X კომპონენტი - + y y - + y-component of direction vector მიმართულების ვექტორის Y კომპონენტი - + z z - + z-component of direction vector მიმართულების ვექტორის Z კომპონენტი - + If unchecked, the length will be measured along the specified direction თუ ამორთულია, სიგრძე მითითებული მიმართულებით გაიზომება - + Length along sketch normal სიგრძე ესკიზის ნორმალის გასწვრივ - + Applies length symmetrically to sketch plane სიგრძის გადატარება ესკიზის სიბრტყის სიმეტრიულად - + Symmetric to plane Symmetric to plane - + Reversed Reversed - - + + Angle to taper the extrusion გამოწნეხვის შევიწროების კუთხე - + Taper angle შპილის კუთხე - + 2nd length მეორე სიგრძე - + 2nd taper angle მეორე კონუსის კუთხე - + Select face აირჩიეთ ზედაპირი - + Update view ხედის განახლება @@ -2565,12 +2581,12 @@ measured along the specified direction Standard - ჩვეულებრივი + სტანდარტული Fixed - დამაგრებული + ფიქსირებული @@ -2640,7 +2656,7 @@ measured along the specified direction Remove - მოცილება + წაშლა @@ -2694,7 +2710,7 @@ measured along the specified direction Remove Edge - წიბოს მოცილება + წიბოს წაშლა @@ -2704,13 +2720,13 @@ measured along the specified direction Remove - მოცილება + წაშლა Input error - Input error + შეყვანის შეცდომა @@ -2753,7 +2769,7 @@ measured along the specified direction List can be reordered by dragging - სიის გადალაგება შეგიძლიათ გადათრევით + სიის გადალაგება გადათრევით შეგიძლიათ @@ -2763,7 +2779,7 @@ measured along the specified direction Remove - მოცილება + წაშლა @@ -2784,27 +2800,27 @@ measured along the specified direction ჯიბის მიმართულების რევერსი - + Dimension - ზომა + განზომილება - + Through all გამჭოლი - + To first პირველთან - + Up to face - სიბრტყემდე + ზედაპირამდე - + Two dimensions ორი განზომილება @@ -2824,12 +2840,12 @@ measured along the specified direction Remove feature - თვისების მოცილება + თვისების წაშლა List can be reordered by dragging - სიის გადალაგება შეგიძლიათ გადათრევით + სიის გადალაგება გადათრევით შეგიძლიათ @@ -2843,31 +2859,51 @@ measured along the specified direction + Mode + რეჟიმი + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle კუთხე - + + Offset + წანაცვლება + + + Occurrences - მოვლენები + გამოვლენები - + OK - &დიახ + დიახ - + Update view ხედის განახლება Remove - მოცილება + წაშლა - + Error შეცდომა @@ -2877,7 +2913,7 @@ measured along the specified direction Attachment - მიმაგრება + დანართი @@ -2924,7 +2960,7 @@ measured along the specified direction Select reference... - Select reference... + აირჩიეთ მიმართვა... @@ -2934,12 +2970,12 @@ measured along the specified direction Symmetric to plane - Symmetric to plane + სიბრტყის სიმეტრიული Reversed - Reversed + შებრუნებულია @@ -2967,7 +3003,7 @@ measured along the specified direction Remove feature - თვისების მოცილება + თვისების წაშლა @@ -2977,12 +3013,12 @@ measured along the specified direction Occurrences - მოვლენები + გამოვლენები OK - &დიახ + დიახ @@ -2992,7 +3028,7 @@ measured along the specified direction Remove - მოცილება + წაშლა @@ -3023,9 +3059,9 @@ measured along the specified direction მოხაზულობის ამოსავალი პარამეტრები - + Remove - მოცილება + წაშლა @@ -3033,7 +3069,7 @@ measured along the specified direction Face - სიბრტყე + ზედაპირი @@ -3053,7 +3089,7 @@ click again to end selection Select - არჩევა + აირჩიეთ @@ -3075,7 +3111,7 @@ click again to end selection Skin - გაფორმების თემა + გარეგნობა @@ -3134,12 +3170,12 @@ click again to end selection Vertical sketch axis - Vertical sketch axis + შვეული ესკიზის ღერძი Horizontal sketch axis - Horizontal sketch axis + თარაზული ესკიზის ღერძი @@ -3166,7 +3202,7 @@ click again to end selection Select reference... - Select reference... + აირჩიეთ მიმართვა... @@ -3187,7 +3223,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body სხეულის აქტიურობის ჩართ/გამორთ @@ -3444,70 +3480,70 @@ click again to end selection ქვე-ShapeBinder - + Several sub-elements selected მონიშნულია რამდენიმე ქვე-ელემენტი - + You have to select a single face as support for a sketch! ესკიზის საყრდენად მხოლოდ ერთი სიბრტყის არჩევა შეგიძლიათ! - + No support face selected საყრდენი ზედაპირი არჩეული არაა - + You have to select a face as support for a sketch! ესკიზის საყრდენი მხოლოდ ზედაპირი შეიძლება იყოს! - + No planar support არაბრტყელი საყრდენი - + You need a planar face as support for a sketch! ესკიზის შესაქმნელად საჭიროა ბრტყელი ზედაპირი! - + No valid planes in this document დოკუმენტში არ არსებობს სწორი სიბრტყეები - + Please create a plane first or select a face to sketch on ჯერ საჭიროა სიბრტყის შექმნა ან სახაზავი ზედაპირის არჩევა - - - - - - - + + + + + + + A dialog is already open in the task panel - A dialog is already open in the task panel + ფანჯარა უკვე ღიაა ამოცანების პანელზე - - - - - - - + + + + + + + Do you want to close this dialog? - Do you want to close this dialog? + ნამდვილად გსურთ ამ ფანჯრის დახურვა? @@ -3543,7 +3579,7 @@ click again to end selection Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული @@ -3694,7 +3730,7 @@ This may lead to unexpected results. Selection error - მონიშვნის შეცდომა + მონიშნულის შეცდომა @@ -3773,26 +3809,26 @@ This may lead to unexpected results. საბაზისო ელემემენტის გარეშე გამოკლებადი თვისების შექმნა შეუძლებელია - + Vertical sketch axis - Vertical sketch axis + შვეული ესკიზის ღერძი - + Horizontal sketch axis - Horizontal sketch axis + თარაზული ესკიზის ღერძი Construction line %1 - დამხმარე ხაზი %1 + კონსტრუქციის ხაზი %1 Face - სიბრტყე + ზედაპირი @@ -3834,20 +3870,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr ამ თვისების გამოსაყენებლად ის დოკუმენტში ნაწლის ობიექტს უნდა ეკუთვნოდეს. + + - - Edit %1 ჩასწორება %1 - + Set colors... ფერების დაყენება... - + Edit boolean ბულევური ოპერაციების პარამეტრების ჩასწორება @@ -3892,57 +3928,57 @@ This feature is broken and can't be edited. ეს თვისება გაფუჭებულია და მისი ჩასწორება შეუძლებელია. - + Edit groove კილოს ჩასწორება - + Edit hole ნახვრეტის ჩასწორება - + Edit loft პროფილის ჩასწორება - + Edit pad ექსტრუზიის რედაქტირება - + Edit pipe ტრაექტორიის ჩასწორება - + Edit pocket Edit pocket - + Edit primitive პრიმიტივის ჩასწორება - + Edit revolution ტრიალის მორგება - + Edit shape binder შემკვრელი მონახაზის ჩასწორება - + Synchronize სინქრონიზება - + Select bound object აირჩიეთ მიბმული ობიექტი @@ -3962,27 +3998,27 @@ This feature is broken and can't be edited. გარდაქმნა წარმატებულია - + The document "%1" you are editing was designed with an old version of PartDesign workbench. დოკუმენტი %1, რომელსაც თქვენ ახლა ასწორებთ, შექმნილ იყო ნაწილის დიზაინის ძველ ვერსიაში. - + Do you want to migrate in order to use modern PartDesign features? გსურთ მიგრაცია, რათა გამოიყენოთ თანამედროვე PartDesign-ის ფუნქციები? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. როგორც ჩანს, დოკუმენტი %1 ან შუა მიგრაციაშია ნაწილის დიზაინის მოძველებული ვერსიიდან ან აქვს ოდნავ გაფუჭებული სტრუქტურა. - + Do you want to make the migration automatically? გნებავთ მიგრაცია ავტომატურად მოხდეს? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3991,12 +4027,12 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi მიგრაცია ნებისმიერ მომენტში შეგიძლიათ მენიუში "ნაწილის დიზაინი -> მიგრაცია" არჩევით. - + Migrate manually მიგრაცია ხელით - + Edit helix სპირალის ჩასწორება @@ -4244,12 +4280,12 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Position - Position + მდებარეობა Face - სიბრტყე + ზედაპირი @@ -4307,7 +4343,7 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Tolerance - სიზუსტე + დაშვება @@ -4464,7 +4500,7 @@ Only available for holes without thread Standard - ჩვეულებრივი + სტანდარტული @@ -4510,7 +4546,7 @@ Only available for holes without thread Dimension - ზომა + განზომილება @@ -4626,7 +4662,7 @@ over 90: larger hole radius at the bottom Reversed - Reversed + შებრუნებულია @@ -4641,11 +4677,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - ფორმა - No message @@ -4707,7 +4738,7 @@ over 90: larger hole radius at the bottom Measure - საზომი + გაზომვა @@ -4717,7 +4748,7 @@ over 90: larger hole radius at the bottom Toggle 3D - 3D-ის ჩართ/გამორთ + 3D-ის გადართვა @@ -4748,7 +4779,7 @@ over 90: larger hole radius at the bottom Sprocket... - ჟაჭვური... + ვარსკვლავას კბილი... @@ -4904,7 +4935,7 @@ over 90: larger hole radius at the bottom Cannot do boolean with anything but Part::Feature and its derivatives - Part::Feature და მისი წარმოებულების გარდა ლოგიკურ ოპერაციას ვერაფერზე გამოიყენებთ + Part::Feature და მისი წარმოებულების გარდა ლოგიკურ ოპერაციას ვერაფერზე გამოიყენებთ @@ -4932,17 +4963,17 @@ over 90: larger hole radius at the bottom ხელსაწყოების შერწყმის შეცდომა - - - - + + - - - - + + + + + + Resulting shape is not a solid მიღებული მონახაზი მყარი სხეული არაა @@ -4957,22 +4988,22 @@ over 90: larger hole radius at the bottom საერთო ოპერაციის შეცდომა - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. შედეგს ერთზე მეტი მყარი სხეული გააჩნია: ეს ამჟამად მხარდაჭერილი არაა. @@ -5035,8 +5066,8 @@ over 90: larger hole radius at the bottom კილოს კუთხე მეტისმეტად მცირეა - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5047,14 +5078,14 @@ over 90: larger hole radius at the bottom - არჩეული ესკიზი არ ეკუთვნის აქტიურ სხეულს. - + Creating a face from sketch failed ესკიზიდან ზედაპირის შექმნა შეუძლებელია - + Revolve axis intersects the sketch ბრუნვის ღერძი ესკიზს კვეთს @@ -5064,14 +5095,14 @@ over 90: larger hole radius at the bottom საბაზისო თვისებიდან ამოჭრის შეცდომა - + Could not revolve the sketch! ესკიზის მოტრიალება შეუძლებელია! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. ესკიზიდან ზედაპირის შექმნის შეცდომა. @@ -5126,10 +5157,10 @@ Intersecting sketch entities in a sketch are not allowed. შეცდომა: აგება შეუძლებელია - + Error: Result is not a solid შეცდომა: შედეგი მყარი სხეული არაა @@ -5231,15 +5262,15 @@ Intersecting sketch entities in a sketch are not allowed. შეცდომა: კუთხვილის დამატების შეცდომა + - Boolean operation failed ლოგიკური ოპერაციის შეცდომა - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. ესკიზიდან ზედაპირის შექმნის შეცდომა. @@ -5405,7 +5436,7 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed. Multisections need to have the same amount of inner wires as the base section - მულტისექციებს შიდა მავთულების იგივე რაოდენობა უნდა ჰქონდეს, რაც საბაზისო სექციას + მულტისექციებს შიდა პოლიხაზების იგივე რაოდენობა უნდა ჰქონდეს, რაც საბაზისო სექციას @@ -5443,27 +5474,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.ფატალური შეცდომა მილის შექმნისას - + Invalid element in spine. არასწორი ელემენტი კარკასში. - + Element in spine is neither an edge nor a wire. - ელემენტი კარკასში არც წიბოა, არც მავთული. + ელემენტი კარკასში არც წიბოა, არც პოლიხაზი. - + Spine is not connected. კარკასი მიერთებული არაა. - + Spine is neither an edge nor a wire. - კარკასი არც წიბოა, არც მავთული. + კარკასი არც წიბოა, არც პოლიხაზი. - + Invalid spine. არასწორი კარკასი. @@ -5498,120 +5529,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.ჯიბე: საბაზისო თვისებიდან ამოჭრის შეცდომა - + Cannot subtract primitive feature without base feature საბაზისო თვისების არმქონე პრიმიტივი თვისებიდან გამოკლება შეუძლებელია - + Adding the primitive failed პრიმიტივის დამატების შეცდომა - + Subtracting the primitive failed პრიმიტივის გამოკლების შეცდომა - + Length of box too small გაბარიტების სიგრძე მეტისმეტად მცირეა - + Width of box too small გაბარიტების სიგანე ძალიან მცირეა - + Height of box too small გაბარიტების სიმაღლე მეტისმეტად მცირეა - + Radius of cylinder too small ცილინდრის რადიუსი მეტისმეტად მცირეა - + Height of cylinder too small ცილინდრის სიმაღლე მეტისმეტად მცირეა - + Rotation angle of cylinder too small ცილინდრის მობრუნების კუთხე მეტისმეტად მცირეა - + Radius of sphere too small სფეროს რადიუსი მეტისმეტად მცირეა - - + + Radius of cone cannot be negative კონუსის რადიუსი უარყოფითი ვერ იქნება - + The radii for cones must not be equal კონუსების რადიუსები არ უნდა ემთხვეოდეს - + Height of cone too small კონუსის სიმაღლე მეტისმეტად მცირეა - - + + Radius of ellipsoid too small ოვალოიდის რადიუსი ძალიან მცირეა - - + + Radius of torus too small ტორსის რადიუსი მეტისმეტად მცირეა - + Polygon of prism is invalid, must have 3 or more sides პრიზმის პოლიგონი არასწორია. უნდა ჰქონდეს 3 ან მეტი მხარე - + Circumradius of the polygon, of the prism, is too small პრიზმის პოლიგონის შემომსაზღვრელი წრეწირის რადიუსი მეტისმეტად მცირეა - + Height of prism is too small პრიზმის სიმაღლე მეტისმეტად მცირეა - + delta x of wedge too small სოლის დელტა X ძალინ მცირეა - + delta y of wedge too small სოლის დელტა Y ძალინ მცირეა - + delta z of wedge too small სოლის დელტა Z ძალინ მცირეა - + delta z2 of wedge is negative სოლის დელტა Z2 უარყოფითია - + delta x2 of wedge is negative სოლის დელტა X2 უარყოფითია diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ko.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ko.ts index 087a4eb345..67490391df 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ko.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ko.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Clone 생성 - + Make copy 사본 만들기 @@ -909,8 +909,8 @@ so that self intersection is avoided. 부울 생성 - + Add a Body 바디 추가 @@ -940,22 +940,22 @@ so that self intersection is avoided. 트리 내부에서 개체 이동 - + Mirrored 대칭 - + Make LinearPattern 선형 패턴 만들기 - + PolarPattern 원형 패턴 - + Scaled 배율 @@ -1570,7 +1570,7 @@ click again to end selection - + Empty chamfer created ! Empty chamfer created ! @@ -1580,17 +1580,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list 비어 있는 몸체 목록 - + The body list cannot be empty The body list cannot be empty - + Boolean: Accept: Input error 불리언: 수락: 입력 오류 @@ -1598,12 +1598,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set 호환되지 않는 참조 구성 - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? 현재 참조 구성에 적합한 첨부 모드가 없습니다. 계속하기를 선택하시면, 피처의 현재 위치가 유지되고 참조가 변경되어도 이동하지 않습니다. 계속하시겠습니까? @@ -1611,7 +1611,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error 입력 오류 @@ -1619,7 +1619,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error 입력 오류 @@ -1671,7 +1671,7 @@ click again to end selection 반대 방향 - + Empty draft created ! Empty draft created ! @@ -1709,39 +1709,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected 선택된 면 없음 - - + + Face 면 선택 - + Sketch normal Sketch normal - + Face normal Face normal - + Select reference... 레퍼런스 선택 + - Custom direction Custom direction - + Click on a face in the model Click on a face in the model @@ -1876,7 +1876,7 @@ click again to end selection Use All Edges - + Empty fillet created ! Empty fillet created ! @@ -2130,21 +2130,37 @@ click again to end selection + Mode + Mode + + + + Overall Length + Overall Length + + + + + Offset + 오프셋 + + + Length 거리 - + Occurrences 생성 수(사용되지 않음) - + OK 확인 - + Update view 보기 재생성 @@ -2154,7 +2170,7 @@ click again to end selection 제거 - + Error 에러 @@ -2260,7 +2276,7 @@ click again to end selection 제거 - + Error 에러 @@ -2366,27 +2382,27 @@ click again to end selection Reverses pad direction - + Dimension 치수 - + To last To last - + To first 첫 번째 만나는 면까지 - + Up to face 곡면까지 - + Two dimensions 2개의 치수 이용 @@ -2414,139 +2430,139 @@ click again to end selection 거리 - + Offset to face Offset to face - + Direction 방향 - + Direction/edge: Direction/edge: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Sketch normal - + Select reference... 레퍼런스 선택 - + Custom direction Custom direction - + Show direction Show direction - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used - + x x - + x-component of direction vector x-component of direction vector - + y y - + y-component of direction vector y-component of direction vector - + z z - + z-component of direction vector z-component of direction vector - + If unchecked, the length will be measured along the specified direction If unchecked, the length will be measured along the specified direction - + Length along sketch normal Length along sketch normal - + Applies length symmetrically to sketch plane Applies length symmetrically to sketch plane - + Symmetric to plane 평면에 대칭 - + Reversed Reversed - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Taper angle - + 2nd length 두 번째 방향 돌출 길이 - + 2nd taper angle 2nd taper angle - + Select face Select face - + Update view 보기 재생성 @@ -2785,27 +2801,27 @@ measured along the specified direction Reverses pocket direction - + Dimension 치수 - + Through all 관통 - + To first 첫 번째 만나는 면까지 - + Up to face 곡면까지 - + Two dimensions 2개의 치수 이용 @@ -2844,21 +2860,41 @@ measured along the specified direction + Mode + Mode + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle - + + Offset + 오프셋 + + + Occurrences 생성 수(사용되지 않음) - + OK 확인 - + Update view 보기 재생성 @@ -2868,7 +2904,7 @@ measured along the specified direction 제거 - + Error 에러 @@ -3024,7 +3060,7 @@ measured along the specified direction 데이텀 형상 매개 변수 - + Remove 제거 @@ -3188,7 +3224,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body 작업 바디(Body)로 전환 @@ -3445,68 +3481,68 @@ click again to end selection Sub-Shape Binder - + Several sub-elements selected 하부 요소들이 선택되었습니다. - + You have to select a single face as support for a sketch! You have to select a single face as support for a sketch! - + No support face selected No support face selected - + You have to select a face as support for a sketch! You have to select a face as support for a sketch! - + No planar support No planar support - + You need a planar face as support for a sketch! You need a planar face as support for a sketch! - + No valid planes in this document 이 문서에는 유효한 평면이 없습니다. - + Please create a plane first or select a face to sketch on 평면을 먼저 생성하거나 스케치를 생성할 면을 먼저 선택하세요. - - - - - - - + + + + + + + A dialog is already open in the task panel 테스크 패널에 이미 다이얼로그가 열려있습니다. - - - - - - - + + + + + + + Do you want to close this dialog? 다이얼로그를 닫으시겠습니까? @@ -3774,14 +3810,14 @@ This may lead to unexpected results. 기본 피처없이 빼기(Subtractive) 피처를 생성할 수 없습니다. - + Vertical sketch axis Vertical sketch axis - + Horizontal sketch axis Horizontal sketch axis @@ -3835,20 +3871,20 @@ Body가 없는 PartDesign 개체가 있는 레거시 문서가 있는 경우 Par 이 피처를 사용하기 위해서는, 피처가 현재 문서에 있는 파트 객체에 속해야 합니다. + + - - Edit %1 Edit %1 - + Set colors... 색 설정... - + Edit boolean 불리언(Boolean) 수정 @@ -3893,57 +3929,57 @@ This feature is broken and can't be edited. 이 기능은 손상되어 수정할 수 없습니다. - + Edit groove 회전 컷(Groove) 수정 - + Edit hole 구멍 편집 - + Edit loft 로프트(Loft) 수정 - + Edit pad 돌출(Pad) 수정 - + Edit pipe 파이프(Pipe) 수정 - + Edit pocket Edit pocket - + Edit primitive 기본 편집 - + Edit revolution 회전(Revolution) 수정 - + Edit shape binder 형상 바인더(Shape binder) 수정 - + Synchronize 동기화 - + Select bound object 바인딩된 개체 선택 @@ -3963,27 +3999,27 @@ This feature is broken and can't be edited. 변환 성공 - + The document "%1" you are editing was designed with an old version of PartDesign workbench. 편집 중인 문서 "%1"는 이전 버전의 부품설계(PartDesign) 워크벤치에서 생성되었습니다. - + Do you want to migrate in order to use modern PartDesign features? 이전 버전에서 생성된 피처를 최신 부품설계(PartDesign)의 피처로 사용하기 위해 변환하시겠습니까? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. 문서 "%1" 는 이전 버전의 부품설계(PartDesign)로부터 변환 중이거나 약간 손상된 것 같습니다. - + Do you want to make the migration automatically? 자동 변환을 수행하시겠습니까? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3992,12 +4028,12 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi '부품 설계 -> 마이그레이션'을 사용하여 나중에 언제든지 마이그레이션할 수 있지만. - + Migrate manually 수동 변환 - + Edit helix 나선 편집 @@ -4642,11 +4678,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - 양식 - No message @@ -4933,17 +4964,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4958,22 +4989,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5036,8 +5067,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5048,14 +5079,14 @@ over 90: larger hole radius at the bottom - 선택한 스케치는 활성 바디에 속하지 않습니다. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5065,14 +5096,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5127,10 +5158,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5232,15 +5263,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5444,27 +5475,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5499,120 +5530,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts index 6217f7ddcc..62078f3938 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Maak een kloon - + Make copy Maak een kopie @@ -909,8 +909,8 @@ so that self intersection is avoided. Maak Boolean - + Add a Body Voeg lichaam toe @@ -940,22 +940,22 @@ so that self intersection is avoided. Verplaats een object binnen de boom - + Mirrored Gespiegeld - + Make LinearPattern Lineair patroon maken - + PolarPattern Polair patroon - + Scaled geschaald @@ -1568,7 +1568,7 @@ klik nogmaals om de selectie te beëindigen Hoek - + Empty chamfer created ! Empty chamfer created ! @@ -1578,17 +1578,17 @@ klik nogmaals om de selectie te beëindigen PartDesignGui::TaskDlgBooleanParameters - + Empty body list Leeg lichaam lijst - + The body list cannot be empty Deze lichaam lijst mag niet leeg zijn - + Boolean: Accept: Input error Boolean: Accept: Input error @@ -1596,12 +1596,12 @@ klik nogmaals om de selectie te beëindigen PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Incompatibele referentieset - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Er is geen bijlage-modus die past bij de huidige referentie-set. Als u doorgaat, de functie blijft waar het nu is, en zal niet worden verplaatst als de referenties gewijzigen. Doorgaan? @@ -1609,7 +1609,7 @@ klik nogmaals om de selectie te beëindigen PartDesignGui::TaskDlgFeatureParameters - + Input error Invoerfout @@ -1617,7 +1617,7 @@ klik nogmaals om de selectie te beëindigen PartDesignGui::TaskDlgShapeBinder - + Input error Invoerfout @@ -1669,7 +1669,7 @@ klik nogmaals om de selectie te beëindigen Trekrichting omkeren - + Empty draft created ! Leeg concept gemaakt! @@ -1707,39 +1707,39 @@ klik nogmaals om de selectie te beëindigen PartDesignGui::TaskExtrudeParameters - + No face selected Geen vlak geselecteerd - - + + Face Vlak - + Sketch normal Schets normaal - + Face normal Face normal - + Select reference... Selecteer referentie... + - Custom direction Aangepaste richting - + Click on a face in the model Klik op een vlak in het model @@ -1874,7 +1874,7 @@ klik nogmaals om de selectie te beëindigen Gebruik alle randen - + Empty fillet created ! Empty fillet created ! @@ -2128,21 +2128,37 @@ klik nogmaals om de selectie te beëindigen + Mode + Instelling + + + + Overall Length + Overall Length + + + + + Offset + Verschuiving + + + Length Lengte - + Occurrences Gevallen - + OK OK - + Update view Weergave verversen @@ -2152,7 +2168,7 @@ klik nogmaals om de selectie te beëindigen Verwijderen - + Error Fout @@ -2258,7 +2274,7 @@ klik nogmaals om de selectie te beëindigen Verwijderen - + Error Fout @@ -2364,27 +2380,27 @@ klik nogmaals om de selectie te beëindigen Draait opvulrichting om - + Dimension Afmeting - + To last Naar laatste - + To first Naar eerste - + Up to face Naar oppervlak - + Two dimensions Twee dimensies @@ -2412,139 +2428,139 @@ klik nogmaals om de selectie te beëindigen Lengte - + Offset to face Afstand tot vlak - + Direction Richting - + Direction/edge: Richting/rand: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Schets normaal - + Select reference... Selecteer referentie... - + Custom direction Aangepaste richting - + Show direction Toon richting - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Gebruik een aangepaste vector voor vulrichting, anders wordt de normale vector van de schets gebruikt - + x x - + x-component of direction vector x-component van richting vector - + y y - + y-component of direction vector y-component van richting vector - + z z - + z-component of direction vector z-component van richting vector - + If unchecked, the length will be measured along the specified direction Indien niet aangevinkt, wordt de lengte gemeten in de opgegeven richting - + Length along sketch normal Lengte langs de normaal van de schets - + Applies length symmetrically to sketch plane Past de lengte symmetrisch toe op schetsvlak - + Symmetric to plane Evenwijdig aan vlak - + Reversed Omgekeerd - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Taper angle - + 2nd length 2de lengte - + 2nd taper angle 2nd taper angle - + Select face Select face - + Update view Weergave verversen @@ -2783,27 +2799,27 @@ gemeten in de opgegeven richting Reverses pocket direction - + Dimension Afmeting - + Through all Langs alle - + To first Naar eerste - + Up to face Naar oppervlak - + Two dimensions Twee dimensies @@ -2842,21 +2858,41 @@ gemeten in de opgegeven richting + Mode + Instelling + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Hoek - + + Offset + Verschuiving + + + Occurrences Gevallen - + OK OK - + Update view Weergave verversen @@ -2866,7 +2902,7 @@ gemeten in de opgegeven richting Verwijderen - + Error Fout @@ -3022,7 +3058,7 @@ gemeten in de opgegeven richting Datum vorm parameters - + Remove Verwijderen @@ -3186,7 +3222,7 @@ klik nogmaals om de selectie te beëindigen PartDesignGui::ViewProviderBody - + Toggle active body Schakel actief lichaam @@ -3443,68 +3479,68 @@ klik nogmaals om de selectie te beëindigen Sub-Shape Binder - + Several sub-elements selected Verschillende sub-elementen geselecteerd - + You have to select a single face as support for a sketch! Je moet een enkel vlak selecteren als basis voor een schets! - + No support face selected Geen basisvlak geselecteerd - + You have to select a face as support for a sketch! Je moet een enkel vlak selecteren als basis voor een schets! - + No planar support Geen platvlak - + You need a planar face as support for a sketch! Je hebt een platvlak nodig als basis voor een schets! - + No valid planes in this document Geen geldige werk-vlakken in dit document - + Please create a plane first or select a face to sketch on Maak eerst een werk-vlak of selecteer een zijde om op te schetsen - - - - - - - + + + + + + + A dialog is already open in the task panel Een dialoog is al geopend in het taakvenster - - - - - - - + + + + + + + Do you want to close this dialog? Wilt u dit dialoogvenster sluiten? @@ -3772,14 +3808,14 @@ Dit kan tot onverwachte resultaten leiden. Het is niet mogelijk om een aftrekkende functie maken zonder dat een basis functie beschikbaar is - + Vertical sketch axis Verticale schetsas - + Horizontal sketch axis Horizontale schetsas @@ -3833,20 +3869,20 @@ Als u een ouder document met PartDesign objecten zonder een lichaam hebt, gebrui Om deze functie te gebruiken moet deze tot een onderdeel object behoren in het document. + + - - Edit %1 Bewerken %1 - + Set colors... Kleuren instellen... - + Edit boolean Wijzig boolean @@ -3891,57 +3927,57 @@ This feature is broken and can't be edited. Deze functie is defect en kan niet worden gewijzigd. - + Edit groove Wijzig groef - + Edit hole Wijzig gat - + Edit loft Wijzig loft - + Edit pad Opdikking bewerken - + Edit pipe Wijzig buis - + Edit pocket Uitsparing bewerken - + Edit primitive Wijzig primitieve - + Edit revolution Omwenteling bewerken - + Edit shape binder Aanpassen form binder - + Synchronize Synchroniseer - + Select bound object Select bound object @@ -3961,27 +3997,27 @@ Deze functie is defect en kan niet worden gewijzigd. bewerking is geslaagd - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Het document '%1' dat u aan het bewerken bent was gemaakt met oude versie voor PartDesign workbench. - + Do you want to migrate in order to use modern PartDesign features? Wilt u migreren om gebruik te kunnen maken van de moderne PartDesign-functies? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Het document "%1" lijkt of in het midden in een migratieproces van de oudere PartDesign of een licht gebroken structuur hebben. - + Do you want to make the migration automatically? Wil je automatisch migreren? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3990,12 +4026,12 @@ If you refuse to migrate you won't be able to use new PartDesign features like B Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually Migreer handmatig - + Edit helix Helix bewerken @@ -4514,7 +4550,7 @@ Alleen beschikbaar voor gaten zonder draad Through all - Langs alle + Door alle @@ -4640,11 +4676,6 @@ boven de 90: groter gat straal aan de onderkant TaskTransformedMessages - - - Form - Vorm - No message @@ -4931,17 +4962,17 @@ boven de 90: groter gat straal aan de onderkant Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4956,22 +4987,22 @@ boven de 90: groter gat straal aan de onderkant Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5034,8 +5065,8 @@ boven de 90: groter gat straal aan de onderkant Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5046,14 +5077,14 @@ boven de 90: groter gat straal aan de onderkant - de geselecteerde schets behoort niet tot de actieve lichaam. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5063,14 +5094,14 @@ boven de 90: groter gat straal aan de onderkant Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5125,10 +5156,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5230,15 +5261,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5442,27 +5473,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5497,120 +5528,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Straal van cilinder te klein - + Height of cylinder too small Hoogte van cilinder te klein - + Rotation angle of cylinder too small Rotatiehoek van cilinder te klein - + Radius of sphere too small Straal van de bol te klein - - + + Radius of cone cannot be negative Straal van kegel mag niet negatief zijn - + The radii for cones must not be equal De stralen van kegels mogen niet gelijk zijn - + Height of cone too small Hoogte van kegel te klein - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Hoogte van het prisma is te klein - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts index e4edfb3a83..55293688d0 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts @@ -169,7 +169,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -187,7 +187,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -205,7 +205,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -223,7 +223,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -241,7 +241,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -277,7 +277,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Part Design @@ -295,7 +295,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -313,7 +313,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -331,7 +331,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Part Design @@ -349,7 +349,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -367,7 +367,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -385,7 +385,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -403,7 +403,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -421,7 +421,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -439,7 +439,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -457,7 +457,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -475,7 +475,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -493,7 +493,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -511,7 +511,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -529,7 +529,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -547,7 +547,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -565,7 +565,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -583,7 +583,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -601,7 +601,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -619,7 +619,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -637,7 +637,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -655,7 +655,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Part Design @@ -673,7 +673,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Part Design + Projekt Części @@ -687,7 +687,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -705,7 +705,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -723,7 +723,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -741,7 +741,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -759,7 +759,7 @@ wartość Fałsz = uzębienie wewnętrzne PartDesign - Projekt części + Projekt Części @@ -885,8 +885,8 @@ wartość Fałsz = uzębienie wewnętrzne Utwórz klona - + Make copy Utwórz kopię @@ -911,8 +911,8 @@ wartość Fałsz = uzębienie wewnętrzne Utwórz cechę funkcją logiczną - + Add a Body Dodaj zawartość @@ -942,22 +942,22 @@ wartość Fałsz = uzębienie wewnętrzne Przesuń cechę wewnątrz drzewa - + Mirrored Transformacja odbicia lustrzanego - + Make LinearPattern Utwórz wzorzec liniowy - + PolarPattern Transformacja szyku kołowego - + Scaled Transformacja zmiany skali @@ -1288,7 +1288,7 @@ Jeśli wartość wynosi zero, jest równa wartości promienia 2 Pitch: - Skok: + Odstęp: @@ -1570,7 +1570,7 @@ kliknij ponownie, aby zakończyć wybór Kąt - + Empty chamfer created ! Utworzono pustą fazę ! @@ -1580,17 +1580,17 @@ kliknij ponownie, aby zakończyć wybór PartDesignGui::TaskDlgBooleanParameters - + Empty body list Lista zawartości jest pusta - + The body list cannot be empty Lista zawartości nie może być pusta - + Boolean: Accept: Input error Funkcja logiczna: Akceptuj: Błąd danych wejściowych @@ -1598,12 +1598,12 @@ kliknij ponownie, aby zakończyć wybór PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Niekompatybilny zestaw odwołań - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Nie ma trybu dołączania, który pasowałby do obecnego zestawu odniesień. Jeśli zdecydujesz się kontynuować, właściwość pozostanie tam, gdzie jest teraz i nie zostanie przeniesiona, gdy referencje się zmienią. Kontynuować? @@ -1611,7 +1611,7 @@ kliknij ponownie, aby zakończyć wybór PartDesignGui::TaskDlgFeatureParameters - + Input error Błąd danych wejściowych @@ -1619,7 +1619,7 @@ kliknij ponownie, aby zakończyć wybór PartDesignGui::TaskDlgShapeBinder - + Input error Błąd danych wejściowych @@ -1641,7 +1641,7 @@ kliknij ponownie, aby zakończyć wybór Select - Wybierz + Dodaj @@ -1671,7 +1671,7 @@ kliknij ponownie, aby zakończyć wybór Odwróć kierunek wyciągnięcia - + Empty draft created ! Utworzono puste pochylenie ! @@ -1688,7 +1688,7 @@ kliknij ponownie, aby zakończyć wybór Select - Wybierz + Dodaj @@ -1709,39 +1709,39 @@ kliknij ponownie, aby zakończyć wybór PartDesignGui::TaskExtrudeParameters - + No face selected Nie zaznaczono ściany - - + + Face Powierzchnia - + Sketch normal Wektor normalny szkicu - + Face normal Wektor normalny ściany - + Select reference... Wybierz odniesienie ... + - Custom direction Kierunek niestandardowy - + Click on a face in the model Kliknij ścianę modelu @@ -1850,7 +1850,7 @@ kliknij ponownie, aby zakończyć wybór Click button to enter selection mode, click again to end selection - Kliknij w przycisk, aby przejść do trybu wyboru, + Kliknij, aby przejść do trybu wyboru, kliknij ponownie, aby zakończyć wybór @@ -1876,7 +1876,7 @@ kliknij ponownie, aby zakończyć wybór Użyj wszystkich krawędzi - + Empty fillet created ! Utworzono puste zaokrąglenie ! @@ -1975,7 +1975,7 @@ kliknij ponownie, aby zakończyć wybór Pitch: - Skok: + Odstęp: @@ -2130,21 +2130,37 @@ kliknij ponownie, aby zakończyć wybór + Mode + Tryb + + + + Overall Length + Overall Length + + + + + Offset + Odsunięcie + + + Length Długość - + Occurrences Wystąpienia - + OK OK - + Update view Aktualizuj widok @@ -2154,7 +2170,7 @@ kliknij ponownie, aby zakończyć wybór Usuń - + Error Błąd @@ -2260,7 +2276,7 @@ kliknij ponownie, aby zakończyć wybór Usuń - + Error Błąd @@ -2335,7 +2351,7 @@ kliknij ponownie, aby zakończyć wybór Move up - Przenieś wyżej + Przesuń w górę @@ -2366,27 +2382,27 @@ kliknij ponownie, aby zakończyć wybór Odwróć kierunek wyciągnięcia - + Dimension Wymiar - + To last Do ostatniego - + To first Do pierwszego - + Up to face Do ściany - + Two dimensions Dwa wymiary @@ -2414,139 +2430,139 @@ kliknij ponownie, aby zakończyć wybór Długość - + Offset to face Przesunięcie do ściany - + Direction Kierunek - + Direction/edge: Kierunek / krawędź: - + Set a direction or select an edge from the model as reference Ustaw kierunek lub wybierz krawędź z modelu jako odniesienie - + Sketch normal Wektor normalny szkicu - + Select reference... Wybierz odniesienie ... - + Custom direction Kierunek niestandardowy - + Show direction Pokaż kierunek - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Użyj wybranego wektora dla kierunku wyciągnięcia, w przeciwnym razie zostanie użyty wektor normalny płaszczyzny szkicu - + x x - + x-component of direction vector składowa X wektora kierunku - + y y - + y-component of direction vector składowa Y wektora kierunku - + z z - + z-component of direction vector składowa Z wektora kierunku - + If unchecked, the length will be measured along the specified direction Jeśli opcja nie jest zaznaczona, długość będzie mierzona wzdłuż podanego kierunku - + Length along sketch normal Długość wzdłuż wektora normalnego szkicu - + Applies length symmetrically to sketch plane Nadaje długość symetrycznie do płaszczyzny szkicu - + Symmetric to plane Symetrycznie do płaszczyzny - + Reversed Odwrócony - - + + Angle to taper the extrusion Kąt zwężenia wyciągnięcia - + Taper angle Kąt zwężenia - + 2nd length Druga długość - + 2nd taper angle Kąt drugiego zwężenia - + Select face Wybierz ścianę - + Update view Aktualizuj widok @@ -2566,7 +2582,7 @@ mierzona wzdłuż podanego kierunku Standard - Standardowy + Standardowe @@ -2785,27 +2801,27 @@ mierzona wzdłuż podanego kierunku Odwraca kierunek kieszeni - + Dimension Wymiar - + Through all Przez wszystkie - + To first Do pierwszego - + Up to face Do ściany - + Two dimensions Dwa wymiary @@ -2844,21 +2860,41 @@ mierzona wzdłuż podanego kierunku + Mode + Tryb + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Kąt - + + Offset + Odsunięcie + + + Occurrences Wystąpienia - + OK OK - + Update view Aktualizuj widok @@ -2868,7 +2904,7 @@ mierzona wzdłuż podanego kierunku Usuń - + Error Błąd @@ -2940,7 +2976,7 @@ mierzona wzdłuż podanego kierunku Reversed - Odwrócony + Odwrotny @@ -3024,7 +3060,7 @@ mierzona wzdłuż podanego kierunku Pozycja odniesienia parametrów kształtów - + Remove Usuń @@ -3034,7 +3070,7 @@ mierzona wzdłuż podanego kierunku Face - Powierzchnia + Ściana @@ -3048,13 +3084,13 @@ mierzona wzdłuż podanego kierunku Click button to enter selection mode, click again to end selection - Kliknij w przycisk, aby przejść do trybu wyboru, + Kliknij, aby przejść do trybu wyboru, kliknij ponownie, aby zakończyć wybór Select - Wybierz + Dodaj @@ -3188,7 +3224,7 @@ kliknij ponownie, aby zakończyć wybór PartDesignGui::ViewProviderBody - + Toggle active body Przełącz aktywną zawartość @@ -3445,68 +3481,68 @@ kliknij ponownie, aby zakończyć wybór Łącznik kształtów podrzędnych - + Several sub-elements selected Wybrano kilka podelementów - + You have to select a single face as support for a sketch! Musisz wybrać pojedynczą ścianę jako bazę dla szkicu! - + No support face selected Nie wybrano ściany bazowej - + You have to select a face as support for a sketch! Musisz wybrać ścianę jako bazę dla szkicu! - + No planar support Brak płaskiej powierzchni - + You need a planar face as support for a sketch! Musisz wybrać powierzchnię jako bazę dla szkicu! - + No valid planes in this document Brak prawidłowej płaszczyzny w tym dokumencie - + Please create a plane first or select a face to sketch on Proszę stworzyć najpierw płaszczyznę lub wybrać ścianę dla umieszczenia szkicu - - - - - - - + + + + + + + A dialog is already open in the task panel Okno dialogowe jest już otwarte w panelu zadań - - - - - - - + + + + + + + Do you want to close this dialog? Czy chcesz zamknąć to okno? @@ -3544,7 +3580,7 @@ kliknij ponownie, aby zakończyć wybór Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór @@ -3613,7 +3649,7 @@ kliknij ponownie, aby zakończyć wybór Body can't be based on a PartDesign feature. - Zawartość nie może opierać się na funkcji Projekt części. + Zawartość nie może opierać się na cechach środowiska Projekt Części. @@ -3695,7 +3731,7 @@ Może to prowadzić do nieoczekiwanych rezultatów. Selection error - Błąd selekcji + Błąd w zaznaczeniu @@ -3774,14 +3810,14 @@ Może to prowadzić do nieoczekiwanych rezultatów. Nie jest możliwe utworzenie elementu do odjęcia bez dostępnego elementu bazowego - + Vertical sketch axis Pionowa oś szkicu - + Horizontal sketch axis Pozioma oś szkicu @@ -3793,7 +3829,7 @@ Może to prowadzić do nieoczekiwanych rezultatów. Face - Powierzchnia + Ściana @@ -3835,20 +3871,20 @@ Jeśli masz starszy dokument z obiektami środowiska pracy Projekt Części bez Ta cecha musi przynależeć do obiektu części w danym dokumencie, by można ją było wykorzystać. + + - - Edit %1 Edytuj %1 - + Set colors... Ustaw kolory ... - + Edit boolean Edytuj wynik działania funkcji logicznej @@ -3893,57 +3929,57 @@ This feature is broken and can't be edited. Ta cecha jest uszkodzona i nie może być edytowana. - + Edit groove Edytuj rowek - + Edit hole Edytuj otwór - + Edit loft Edytuj wyciągnięcie przez profile - + Edit pad Edytuj wyciągnięcie - + Edit pipe Edytuje rurę - + Edit pocket Edytuj kieszeń - + Edit primitive Edytuj bryłę pierwotną - + Edit revolution Edytuj wyciągnięcie przez obrót - + Edit shape binder Edytuj łącznik kształtu - + Synchronize Synchronizuj - + Select bound object Wybierz powiązany obiekt @@ -3963,27 +3999,27 @@ Ta cecha jest uszkodzona i nie może być edytowana. Transformacja udana - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Edytowany dokument "%1" został zaprojektowany w starszej wersji środowiska Projekt Części. - + Do you want to migrate in order to use modern PartDesign features? Czy chcesz migrować w celu używania nowoczesnych funkcji środowiska Projekt części? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. - Dokument %1 wydaje się być w środku procesu migracji z dziedziczącego środowiska Projekt części lub ma lekko uszkodzoną strukturę. + Dokument %1 wydaje się być w środku procesu migracji z dziedziczącego środowiska Projekt Części lub ma lekko uszkodzoną strukturę. - + Do you want to make the migration automatically? Czy chcesz dokonać migracji automatycznie? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3992,12 +4028,12 @@ Jeśli odmówisz migracji, nie będziesz mógł używać nowych funkcji środowi Migracja będzie możliwa w każdej chwili za pomocą "Projekt części -> Migruj". - + Migrate manually Migruj ręcznie - + Edit helix Edytuj helisę @@ -4250,7 +4286,7 @@ Migracja będzie możliwa w każdej chwili za pomocą "Projekt części -> Mi Face - Powierzchnia + Ściana @@ -4465,7 +4501,7 @@ Dostępne tylko dla otworów bez gwintu Standard - Standardowy + Standardowe @@ -4642,11 +4678,6 @@ powyżej 90°: większy promień otworu u dołu TaskTransformedMessages - - - Form - Formularz - No message @@ -4713,7 +4744,7 @@ powyżej 90°: większy promień otworu u dołu Refresh - Odśwież + Odśwież pomiary @@ -4728,7 +4759,7 @@ powyżej 90°: większy promień otworu u dołu Part Design Modeling - Projekt Części - modelowanie + Projekt Części — modelowanie @@ -4866,7 +4897,7 @@ powyżej 90°: większy promień otworu u dołu Start the shaft design wizard - Uruchom kreatora projektowania wału + Uruchom kreator projektowania wału @@ -4933,17 +4964,17 @@ powyżej 90°: większy promień otworu u dołu Połączenie narzędzi nie powiodło się - - - - + + - - - - + + + + + + Resulting shape is not a solid Otrzymany kształt nie jest bryłą @@ -4958,22 +4989,22 @@ powyżej 90°: większy promień otworu u dołu Operacja części wspólnej nie powiodła się - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Wynik ma wiele brył: to nie jest obecnie wspierane. @@ -5036,8 +5067,8 @@ powyżej 90°: większy promień otworu u dołu Kąt rowka zbyt mały - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5048,14 +5079,14 @@ powyżej 90°: większy promień otworu u dołu - wybrany szkic nie należy do aktywnej zawartości. - + Creating a face from sketch failed Tworzenie ściany ze szkicu nie powiodło się - + Revolve axis intersects the sketch Oś obrotu przecina szkic @@ -5065,14 +5096,14 @@ powyżej 90°: większy promień otworu u dołu Wycięcie cechy podstawowej nie powiodło się - + Could not revolve the sketch! Nie można obrócić szkicu! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Nie można utworzyć ściany ze szkicu. @@ -5127,10 +5158,10 @@ Przecinające się obiekty w szkicu są niedozwolone. Błąd: nie udało się zbudować - + Error: Result is not a solid Błąd: wynik nie jest bryłą @@ -5232,15 +5263,15 @@ Przecinające się obiekty w szkicu są niedozwolone. Błąd: Dodanie gwintu nie powiodło się + - Boolean operation failed Operacja logiczna nie powiodła się - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Nie można utworzyć ściany ze szkicu. @@ -5444,27 +5475,27 @@ Przecinające się elementy szkicu lub wiele ścian w szkicu nie są dozwolone.< Wystąpił błąd krytyczny podczas tworzenia wyciągnięcia wzdłuż ścieżki - + Invalid element in spine. Nieprawidłowy element w krzywej prowadzącej. - + Element in spine is neither an edge nor a wire. Element w krzywej prowadzącej nie jest ani krawędzią ani polilinią. - + Spine is not connected. Krzywa prowadząca nie jest połączona. - + Spine is neither an edge nor a wire. Krzywa prowadząca nie jest ani krawędzią, ani polilinią. - + Invalid spine. Nieprawidłowa krzywa prowadząca. @@ -5499,120 +5530,120 @@ Przecinające się elementy szkicu lub wiele ścian w szkicu nie są dozwolone.< Kieszeń: Wycięcie cechy podstawowej nie powiodło się - + Cannot subtract primitive feature without base feature Nie można odjąć cechy prymitywu bez cechy podstawowej - + Adding the primitive failed Dodawanie prymitywu nie powiodło się - + Subtracting the primitive failed Odejmowanie prymitywu nie powiodło się - + Length of box too small Długość prostopadłościanu jest zbyt mała - + Width of box too small Szerokość prostopadłościanu jest zbyt mała - + Height of box too small Wysokość prostopadłościanu zbyt mała - + Radius of cylinder too small Promień walca zbyt mały - + Height of cylinder too small Wysokość walca zbyt mała - + Rotation angle of cylinder too small Kąt obrotu walca zbyt mały - + Radius of sphere too small Promień kuli zbyt mały - - + + Radius of cone cannot be negative Promień stożka nie może być ujemny - + The radii for cones must not be equal Promienie stożków nie mogą być równe - + Height of cone too small Wysokość stożka zbyt mała - - + + Radius of ellipsoid too small Promień elipsoidy zbyt mały - - + + Radius of torus too small Promień torusa zbyt mały - + Polygon of prism is invalid, must have 3 or more sides Wielokąt graniastosłupa jest nieprawidłowa, musi mieć 3 lub więcej boków - + Circumradius of the polygon, of the prism, is too small Promień opisany wielokąta graniastosłupa jest zbyt mały - + Height of prism is too small Wysokość graniastosłupa jest zbyt mała - + delta x of wedge too small delta x klina zbyt mała - + delta y of wedge too small delta y klina zbyt mała - + delta z of wedge too small delta z klina zbyt mała - + delta z2 of wedge is negative delta z2 klina jest ujemna - + delta x2 of wedge is negative delta x2 klina jest ujemna diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-BR.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-BR.ts index 5a81c0a251..a9a78dc5ad 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-BR.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-BR.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Criar Clone - + Make copy Fazer cópia @@ -909,8 +909,8 @@ so that self intersection is avoided. Criar Booleano - + Add a Body Adicionar um corpo @@ -940,22 +940,22 @@ so that self intersection is avoided. Mover um objeto dentro da árvore - + Mirrored Espelhado - + Make LinearPattern Criar um padrão linear - + PolarPattern Padrão polar - + Scaled Redimensionado @@ -1501,7 +1501,7 @@ Se for zero, é igual ao Raio2 Form - Formulário + Forma @@ -1568,7 +1568,7 @@ clique novamente para terminar a seleção Ângulo - + Empty chamfer created ! Empty chamfer created ! @@ -1578,17 +1578,17 @@ clique novamente para terminar a seleção PartDesignGui::TaskDlgBooleanParameters - + Empty body list Lista de corpos vazia - + The body list cannot be empty A lista de corpos não pode estar vazia - + Boolean: Accept: Input error Booleano: Aceitar: erro de entrada @@ -1596,12 +1596,12 @@ clique novamente para terminar a seleção PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Conjunto de referências incompatível - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Não há nenhum modo de fixação adequado ao conjunto atual de referências. Se optar por continuar, o objeto permanecerá onde está agora e não será movido de acordo com as referências. Continuar? @@ -1609,7 +1609,7 @@ clique novamente para terminar a seleção PartDesignGui::TaskDlgFeatureParameters - + Input error Erro de entrada @@ -1617,7 +1617,7 @@ clique novamente para terminar a seleção PartDesignGui::TaskDlgShapeBinder - + Input error Erro de entrada @@ -1669,7 +1669,7 @@ clique novamente para terminar a seleção Direção de tração reversa - + Empty draft created ! Empty draft created ! @@ -1707,39 +1707,39 @@ clique novamente para terminar a seleção PartDesignGui::TaskExtrudeParameters - + No face selected Nenhuma face selecionada - - + + Face Face - + Sketch normal Nornal do sketch - + Face normal Face normal - + Select reference... Selecionar referência... + - Custom direction Direção personalizada - + Click on a face in the model Click on a face in the model @@ -1874,7 +1874,7 @@ clique novamente para terminar a seleção Use All Edges - + Empty fillet created ! Empty fillet created ! @@ -2128,21 +2128,37 @@ clique novamente para terminar a seleção + Mode + Modo + + + + Overall Length + Overall Length + + + + + Offset + Deslocamento + + + Length Comprimento - + Occurrences Ocorrências - + OK OK - + Update view Actualizar a vista @@ -2152,7 +2168,7 @@ clique novamente para terminar a seleção Remover - + Error Erro @@ -2258,7 +2274,7 @@ clique novamente para terminar a seleção Remover - + Error Erro @@ -2364,27 +2380,27 @@ clique novamente para terminar a seleção Inverte a direção do pad - + Dimension Dimensão - + To last Até o último - + To first Até o primeiro - + Up to face Até a face - + Two dimensions Duas dimensões @@ -2412,139 +2428,139 @@ clique novamente para terminar a seleção Comprimento - + Offset to face Deslocamento para face - + Direction Direção - + Direction/edge: Direção/aresta: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Nornal do sketch - + Select reference... Selecionar referência... - + Custom direction Direção personalizada - + Show direction Mostrar direção - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Use um vetor personalizado para dar direção ao pad; caso contrário, será usada a direção normal do sketch como vetor - + x x - + x-component of direction vector componente x do vetor de direção - + y y - + y-component of direction vector componente-y do vetor de direção - + z z - + z-component of direction vector componente z do vetor de direção - + If unchecked, the length will be measured along the specified direction Se desmarcado, o comprimento será medido ao longo da direção especificada - + Length along sketch normal Comprimento ao longo da normal do esboço - + Applies length symmetrically to sketch plane Aplica o comprimento simétrico ao plano de esboço - + Symmetric to plane Simétrico ao plano - + Reversed Invertido - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Taper angle - + 2nd length Segundo comprimento - + 2nd taper angle 2nd taper angle - + Select face Selecionar face - + Update view Actualizar a vista @@ -2783,27 +2799,27 @@ medido ao longo da direção especificada Reverses pocket direction - + Dimension Dimensão - + Through all Atravessando tudo - + To first Até o primeiro - + Up to face Até a face - + Two dimensions Duas dimensões @@ -2842,21 +2858,41 @@ medido ao longo da direção especificada + Mode + Modo + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Ângulo - + + Offset + Deslocamento + + + Occurrences Ocorrências - + OK OK - + Update view Actualizar a vista @@ -2866,7 +2902,7 @@ medido ao longo da direção especificada Remover - + Error Erro @@ -3022,7 +3058,7 @@ medido ao longo da direção especificada Parâmetros da forma de referencia - + Remove Remover @@ -3186,7 +3222,7 @@ clique novamente para terminar a seleção PartDesignGui::ViewProviderBody - + Toggle active body Alternar o corpo ativo @@ -3443,68 +3479,68 @@ clique novamente para terminar a seleção Sub-Shape Binder - + Several sub-elements selected Vários sub-elementos selecionados - + You have to select a single face as support for a sketch! Você deve selecionar uma única face como suporte para um esboço! - + No support face selected Nenhuma face de suporte selecionada - + You have to select a face as support for a sketch! Você deve selecionar uma face como suporte para um esboço! - + No planar support Nenhum suporte planar - + You need a planar face as support for a sketch! Você precisa de uma face plana como suporte para um esboço! - + No valid planes in this document Não há planos válidos neste documento - + Please create a plane first or select a face to sketch on Por favor, crie um plano primeiro ou selecione uma face onde desenhar - - - - - - - + + + + + + + A dialog is already open in the task panel Uma caixa de diálogo já está aberta no painel de tarefas - - - - - - - + + + + + + + Do you want to close this dialog? Deseja fechar este diálogo? @@ -3768,14 +3804,14 @@ This may lead to unexpected results. Não é possível criar um objeto subtrativo sem um objeto base disponível - + Vertical sketch axis Eixo vertical do esboço - + Horizontal sketch axis Eixo horizontal do esboço @@ -3829,20 +3865,20 @@ Se você tiver um documento antigo com objetos do PartDesign sem corpo, use a fu Para utilizar este objeto ele precisa pertencer a uma peça do documento. + + - - Edit %1 Editar %1 - + Set colors... Definir cores... - + Edit boolean Editar booleano @@ -3886,57 +3922,57 @@ This feature is broken and can't be edited. %1 não tem um objeto base. Este objeto está quebrado e não pode ser editado. - + Edit groove Editar ranhura - + Edit hole Editar furo - + Edit loft Editar Interpolamento de secções (Loft) - + Edit pad Editar pad - + Edit pipe Editar tubo - + Edit pocket Editar perfuração - + Edit primitive Editar primitivas - + Edit revolution Editar revolução - + Edit shape binder Editar forma agregada (Shape binder) - + Synchronize Sincronizar - + Select bound object Selecionar objeto vinculado @@ -3956,27 +3992,27 @@ This feature is broken and can't be edited. Transformação bem sucedida - + The document "%1" you are editing was designed with an old version of PartDesign workbench. O documento "%1" que você está editando foi criado com uma versão antiga da bancada de trabalho PartDesign. - + Do you want to migrate in order to use modern PartDesign features? Deseja migrar de modo a usar recursos modernos de PartDesign? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. O documento "%1" parece estar no meio do processo de migração do antigo PartDesign ou tem a sua estrutura quebrada. - + Do you want to make the migration automatically? Deseja fazer a migração automaticamente? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3985,12 +4021,12 @@ Se você se recusar a migrar, não será capaz de usar novos recursos de PartDes Embora você possa migrar a qualquer momento mais tarde com 'Part Design -> Migrar'. - + Migrate manually Migrar manualmente - + Edit helix Editar hélice @@ -4635,11 +4671,6 @@ acima de 90: raio maior do furo na parte inferior TaskTransformedMessages - - - Form - Formulário - No message @@ -4926,17 +4957,17 @@ acima de 90: raio maior do furo na parte inferior Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4951,22 +4982,22 @@ acima de 90: raio maior do furo na parte inferior Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5029,8 +5060,8 @@ acima de 90: raio maior do furo na parte inferior Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5040,14 +5071,14 @@ acima de 90: raio maior do furo na parte inferior - O esboço selecionado não pertence ao corpo ativo. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5057,14 +5088,14 @@ acima de 90: raio maior do furo na parte inferior Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5119,10 +5150,10 @@ Intersecting sketch entities in a sketch are not allowed. Erro: Não foi possível construir - + Error: Result is not a solid Erro: O resultado não é um sólido @@ -5224,15 +5255,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Operação booleana falhou - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5436,27 +5467,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5491,120 +5522,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-PT.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-PT.ts index 6a224ad38a..2ed8fc2e92 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-PT.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pt-PT.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Create Clone - + Make copy Make copy @@ -909,8 +909,8 @@ so that self intersection is avoided. Create Boolean - + Add a Body Add a Body @@ -940,22 +940,22 @@ so that self intersection is avoided. Move an object inside tree - + Mirrored Espelhado - + Make LinearPattern Make LinearPattern - + PolarPattern PadrãoPolar - + Scaled Redimensionado (scaled) @@ -1570,7 +1570,7 @@ clique novamente para terminar a seleção Ângulo - + Empty chamfer created ! Empty chamfer created ! @@ -1580,17 +1580,17 @@ clique novamente para terminar a seleção PartDesignGui::TaskDlgBooleanParameters - + Empty body list Lista de corpos vazia - + The body list cannot be empty A lista de corpos não pode estar vazia - + Boolean: Accept: Input error Booleano: Aceitar: erro de entrada @@ -1598,12 +1598,12 @@ clique novamente para terminar a seleção PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Definida referência incompatível - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Não há nenhum modo de fixação que se adeque ao conjunto atual de referências. Se optar por continuar, o objeto permanecerá onde está agora e não será movido de acordo com as referências. Continuar? @@ -1611,7 +1611,7 @@ clique novamente para terminar a seleção PartDesignGui::TaskDlgFeatureParameters - + Input error Erro de Inserção @@ -1619,7 +1619,7 @@ clique novamente para terminar a seleção PartDesignGui::TaskDlgShapeBinder - + Input error Erro de Inserção @@ -1671,7 +1671,7 @@ clique novamente para terminar a seleção Direção de tração reversa - + Empty draft created ! Empty draft created ! @@ -1709,39 +1709,39 @@ clique novamente para terminar a seleção PartDesignGui::TaskExtrudeParameters - + No face selected Nenhuma face selecionada - - + + Face Face - + Sketch normal Sketch normal - + Face normal Face normal - + Select reference... Selecionar referência... + - Custom direction Custom direction - + Click on a face in the model Click on a face in the model @@ -1876,7 +1876,7 @@ clique novamente para terminar a seleção Use All Edges - + Empty fillet created ! Empty fillet created ! @@ -2130,21 +2130,37 @@ clique novamente para terminar a seleção + Mode + Modo + + + + Overall Length + Overall Length + + + + + Offset + Deslocamento paralelo + + + Length Comprimento - + Occurrences Ocorrências - + OK OK - + Update view Actualizar a vista @@ -2154,7 +2170,7 @@ clique novamente para terminar a seleção Remover - + Error Erro @@ -2260,7 +2276,7 @@ clique novamente para terminar a seleção Remover - + Error Erro @@ -2366,27 +2382,27 @@ clique novamente para terminar a seleção Reverses pad direction - + Dimension Dimensão - + To last Até à última - + To first Para o primeiro - + Up to face Até à face - + Two dimensions Duas dimensões @@ -2414,139 +2430,139 @@ clique novamente para terminar a seleção Comprimento - + Offset to face Offset to face - + Direction Direção - + Direction/edge: Direction/edge: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Sketch normal - + Select reference... Selecionar referência... - + Custom direction Custom direction - + Show direction Show direction - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used - + x x - + x-component of direction vector componente x do vetor de direção - + y y - + y-component of direction vector componente y do vetor de direção - + z z - + z-component of direction vector componente z do vetor de direção - + If unchecked, the length will be measured along the specified direction If unchecked, the length will be measured along the specified direction - + Length along sketch normal Length along sketch normal - + Applies length symmetrically to sketch plane Applies length symmetrically to sketch plane - + Symmetric to plane Simétrico ao plano - + Reversed Invertida - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Taper angle - + 2nd length segundo comprimento - + 2nd taper angle 2nd taper angle - + Select face Select face - + Update view Actualizar a vista @@ -2785,27 +2801,27 @@ measured along the specified direction Reverses pocket direction - + Dimension Dimensão - + Through all Através de todos - + To first Para o primeiro - + Up to face Até à face - + Two dimensions Duas dimensões @@ -2844,21 +2860,41 @@ measured along the specified direction + Mode + Modo + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Ângulo - + + Offset + Deslocamento paralelo + + + Occurrences Ocorrências - + OK OK - + Update view Actualizar a vista @@ -2868,7 +2904,7 @@ measured along the specified direction Remover - + Error Erro @@ -3024,7 +3060,7 @@ measured along the specified direction Parâmetros da forma de referencia - + Remove Remover @@ -3188,7 +3224,7 @@ clique novamente para terminar a seleção PartDesignGui::ViewProviderBody - + Toggle active body Alternar o corpo ativo @@ -3445,68 +3481,68 @@ clique novamente para terminar a seleção Sub-Shape Binder - + Several sub-elements selected Vários subelementos selecionados - + You have to select a single face as support for a sketch! Tem que selecionar uma face única como suporte para um sketch! - + No support face selected Nenhuma face de suporte selecionada - + You have to select a face as support for a sketch! Tem que selecionar uma face como suporte para um sketch! - + No planar support Não há suporte planar - + You need a planar face as support for a sketch! Precisa de uma face plana como suporte para um sketch! - + No valid planes in this document Não há planos válidos neste documento - + Please create a plane first or select a face to sketch on Por favor, crie um plano primeiro ou selecione uma face onde desenhar - - - - - - - + + + + + + + A dialog is already open in the task panel Já está aberta uma janela no painel de tarefas - - - - - - - + + + + + + + Do you want to close this dialog? Deseja fechar esta janela? @@ -3770,14 +3806,14 @@ This may lead to unexpected results. Não é possível criar um objeto subtrativo sem um objeto base disponível - + Vertical sketch axis Eixo vertical de esboço - + Horizontal sketch axis Eixo horizontal de esboço @@ -3829,20 +3865,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr Para utilizar este objeto ele precisa de pertencer a uma peça do documento. + + - - Edit %1 Edite %1 - + Set colors... Definir cores... - + Edit boolean Editar booleano @@ -3886,57 +3922,57 @@ This feature is broken and can't be edited. %1 falhou o objeto base. Este objeto está quebrado e não pode ser editado. - + Edit groove Editar sulco - + Edit hole Editar furo - + Edit loft Editar Interpolamento de secções (Loft) - + Edit pad Editar enchimento - + Edit pipe Editar tubo - + Edit pocket Edição de "pocket" - + Edit primitive Editar primitivas - + Edit revolution Editar Revolução - + Edit shape binder Editar forma agarrada (Shape binder) - + Synchronize Synchronize - + Select bound object Select bound object @@ -3956,27 +3992,27 @@ This feature is broken and can't be edited. Transformação bem sucedida - + The document "%1" you are editing was designed with an old version of PartDesign workbench. O documento "%1" que você está a editar foi criado com uma versão antiga da bancada de trabalho PartDesign. - + Do you want to migrate in order to use modern PartDesign features? Quer migrar de modo a usar recursos modernos de PartDesign? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. O documento "%1" parece estar a meio do processo de migração do antigo PartDesign ou têm a estrutura ligeiramente quebrada. - + Do you want to make the migration automatically? Quer fazer a migração automaticamente? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3985,12 +4021,12 @@ If you refuse to migrate you won't be able to use new PartDesign features like B Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually Migrar manualmente - + Edit helix Edit helix @@ -4635,11 +4671,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Formulário - No message @@ -4926,17 +4957,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4951,22 +4982,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5029,8 +5060,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5041,14 +5072,14 @@ over 90: larger hole radius at the bottom - the selected sketch does not belong to the active Body. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5058,14 +5089,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5120,10 +5151,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5225,15 +5256,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5437,27 +5468,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5492,120 +5523,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ro.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ro.ts index 4838ea2b60..58717f0eb0 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ro.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ro.ts @@ -885,8 +885,8 @@ Creati noi coordonate in sistemul local Creare clonă - + Make copy Fă o copie @@ -911,8 +911,8 @@ Creati noi coordonate in sistemul local Create Boolean - + Add a Body Adaugă un corp @@ -942,22 +942,22 @@ Creati noi coordonate in sistemul local Mută un obiect în interiorul arborelui - + Mirrored In oglinda - + Make LinearPattern Fă LinearPattern - + PolarPattern PolarPattern - + Scaled Scalat @@ -1572,7 +1572,7 @@ faceți clic din nou pentru a încheia selecția Unghi - + Empty chamfer created ! Camferul gol a fost creat! @@ -1582,17 +1582,17 @@ faceți clic din nou pentru a încheia selecția PartDesignGui::TaskDlgBooleanParameters - + Empty body list Lista cu corpurile vide - + The body list cannot be empty Lista corpurilor nu poate fi goală - + Boolean: Accept: Input error Boolean: Accepta: eroare de intrare @@ -1600,12 +1600,12 @@ faceți clic din nou pentru a încheia selecția PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Combinație de referinţe incompatibile - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Nu există niciun mod de atașare care să corespundă combinației curente de referințe. Dacă veți continua, funcția va rămâne acolo unde este și nu se va mișca dacă se schimbă referințele. Continuați? @@ -1613,7 +1613,7 @@ faceți clic din nou pentru a încheia selecția PartDesignGui::TaskDlgFeatureParameters - + Input error Eroare de intrare @@ -1621,7 +1621,7 @@ faceți clic din nou pentru a încheia selecția PartDesignGui::TaskDlgShapeBinder - + Input error Eroare de intrare @@ -1673,7 +1673,7 @@ faceți clic din nou pentru a încheia selecția Inversa directiei de tragere - + Empty draft created ! Gol ciornă creată! @@ -1711,39 +1711,39 @@ faceți clic din nou pentru a încheia selecția PartDesignGui::TaskExtrudeParameters - + No face selected Nici o faţă selectată - - + + Face Faţă - + Sketch normal Schiță normală - + Face normal Faţă normală - + Select reference... Select reference... + - Custom direction Direcție personalizată - + Click on a face in the model Faceți clic pe o față din model @@ -1878,7 +1878,7 @@ faceți clic din nou pentru a încheia selecția Folosește toate marginile - + Empty fillet created ! Fisier gol creat! @@ -2132,21 +2132,37 @@ faceți clic din nou pentru a încheia selecția + Mode + Mod + + + + Overall Length + Overall Length + + + + + Offset + Compensare + + + Length Lungime - + Occurrences Aparitii - + OK OK - + Update view Actualizeaza vizualizarea @@ -2156,7 +2172,7 @@ faceți clic din nou pentru a încheia selecția Elimină - + Error Eroare @@ -2262,7 +2278,7 @@ faceți clic din nou pentru a încheia selecția Elimină - + Error Eroare @@ -2368,27 +2384,27 @@ faceți clic din nou pentru a încheia selecția Inversează direcția tastaturii - + Dimension Dimensiune - + To last Spre ultimul - + To first Spre primul - + Up to face Până la față - + Two dimensions Două dimensiuni @@ -2416,139 +2432,139 @@ faceți clic din nou pentru a încheia selecția Lungime - + Offset to face Compensare pe față - + Direction Direcţia - + Direction/edge: Direcție/margine: - + Set a direction or select an edge from the model as reference Setați o direcție sau selectați o margine din model ca referință - + Sketch normal Schiță normală - + Select reference... Select reference... - + Custom direction Direcție personalizată - + Show direction Arată direcția - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Utilizaţi vector personalizat pentru direcţia tastaturii, altfel vectorul normal al planului va fi folosit - + x x - + x-component of direction vector componenta x a vectorului de direcție - + y y - + y-component of direction vector componentă y a vectorului de direcție - + z z - + z-component of direction vector componenta z a vectorului de direcție - + If unchecked, the length will be measured along the specified direction Dacă nu bifați, lungimea va fi măsurată de-a lungul direcției specificate - + Length along sketch normal Lungimea normală de-a lungul schiței - + Applies length symmetrically to sketch plane Aplică lungimea simetric planului schiţei - + Symmetric to plane Simetric față de plan - + Reversed Inversat - - + + Angle to taper the extrusion Unghiul pentru a lipi extruda - + Taper angle Unghiul de căptușeală - + 2nd length A doua lungime - + 2nd taper angle Al doilea unghi de tapet - + Select face Selectați fața - + Update view Actualizeaza vizualizarea @@ -2787,27 +2803,27 @@ măsurată de-a lungul direcției specificate Inversează direcția buzunarului - + Dimension Dimensiune - + Through all Prin toate - + To first Spre primul - + Up to face Până la față - + Two dimensions Două dimensiuni @@ -2846,21 +2862,41 @@ măsurată de-a lungul direcției specificate + Mode + Mod + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Unghi - + + Offset + Compensare + + + Occurrences Aparitii - + OK OK - + Update view Actualizeaza vizualizarea @@ -2870,7 +2906,7 @@ măsurată de-a lungul direcției specificate Elimină - + Error Eroare @@ -3026,7 +3062,7 @@ măsurată de-a lungul direcției specificate Parametrii formei de referință - + Remove Elimină @@ -3189,7 +3225,7 @@ faceți clic din nou pentru a încheia selecția PartDesignGui::ViewProviderBody - + Toggle active body Activează/dezactivează corpurile @@ -3446,68 +3482,68 @@ faceți clic din nou pentru a încheia selecția Sub-Shape Binder - + Several sub-elements selected Mai multe sub-elemente selectate - + You have to select a single face as support for a sketch! Aţi selectat o singură faţă ca şi suport pentru schiţă! - + No support face selected Nici o faţă suport selectată - + You have to select a face as support for a sketch! Trebuie să selectaţi o faţă suport pentru schiţă! - + No planar support Nici un plan suport - + You need a planar face as support for a sketch! Schiţa necesită o faţă plană ca şi suport! - + No valid planes in this document Nu sunt plane valabile în acest document - + Please create a plane first or select a face to sketch on Vă rugăm să creaţi mai întâi un plan, sau selectează o faţă pe care se aplică schiţa - - - - - - - + + + + + + + A dialog is already open in the task panel O fereastră de dialog este deja deschisă în fereastra de sarcini - - - - - - - + + + + + + + Do you want to close this dialog? Doriţi să închideţi această fereastră de dialog? @@ -3771,14 +3807,14 @@ This may lead to unexpected results. Nu este posibil să se creeze o funcție substractivă fără prezența unei funcții de bază - + Vertical sketch axis Axa verticală a schiţei - + Horizontal sketch axis Axa orizontală a schiţei @@ -3830,20 +3866,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr Pentru a utiliza această funcție, ea trebuie să aparțină unei piese din document. + + - - Edit %1 Editare %1 - + Set colors... Seteaza culorile... - + Edit boolean Editare boolean @@ -3887,57 +3923,57 @@ This feature is broken and can't be edited. %1 este fără o funcție de bază. Această caracteristică este deteriorată și nu poate fi editată. - + Edit groove Editează canelura - + Edit hole Editare gaura - + Edit loft Modificați spațiul /loft - + Edit pad Pad de editare - + Edit pipe Editare ţeavă - + Edit pocket Editare de buzunar - + Edit primitive Editare primitivă - + Edit revolution Editare revoluţie - + Edit shape binder Editaţi forma de conexiune - + Synchronize Sincronizare - + Select bound object Selectaţi obiectul legat @@ -3957,27 +3993,27 @@ This feature is broken and can't be edited. Transformare a reusit - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Documentul pe care îl editați "%1" a fost de proiectat cu o vechea versiune Part Design a bancului de lucru. - + Do you want to migrate in order to use modern PartDesign features? Doriţi să migreze în scopul de a utiliza elemente moderne din PartDesign? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Documentul "%1" pare să fie în mijlocul procesului de migrare de la moştenirea PartDesign sau are o structură uşor spartă. - + Do you want to make the migration automatically? Vrei să faci migrarea automat? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3986,12 +4022,12 @@ Dacă refuzați să migrați, nu veți putea folosi noile funcții PartDesign, c Deși veți putea migra în orice moment mai târziu cu „Part Design -> Migrate”. - + Migrate manually Migrare manuală - + Edit helix Editare helix @@ -4636,11 +4672,6 @@ peste 90: rază mai mare la partea de jos TaskTransformedMessages - - - Form - Formular - No message @@ -4927,17 +4958,17 @@ peste 90: rază mai mare la partea de jos Fuziunea uneltelor a eșuat - - - - + + - - - - + + + + + + Resulting shape is not a solid Forma rezultată nu este solidă @@ -4952,22 +4983,22 @@ peste 90: rază mai mare la partea de jos Operație comună eșuată - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Rezultatul are mai multe solide: acest lucru nu este suportat în prezent. @@ -5030,8 +5061,8 @@ peste 90: rază mai mare la partea de jos Unghiul de canelă prea mic - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5042,14 +5073,14 @@ peste 90: rază mai mare la partea de jos - schița selectată nu aparține Organismului activ. - + Creating a face from sketch failed Crearea unei fațete din schiță a eșuat - + Revolve axis intersects the sketch Axa Revolve intersectează schița @@ -5059,14 +5090,14 @@ peste 90: rază mai mare la partea de jos Nu s-a reușit decuparea funcției de bază - + Could not revolve the sketch! Nu s-a putut revolta schița! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Nu s-a putut crea fața din schiță. @@ -5121,10 +5152,10 @@ Entitățile de schiță intersectate dintr-o schiță nu sunt permise.Eroare: Nu s-a putut construi - + Error: Result is not a solid Eroare: Rezultatul nu este solid @@ -5226,15 +5257,15 @@ Entitățile de schiță intersectate dintr-o schiță nu sunt permise.Eroare: Adăugarea temei de discuţie a eşuat + - Boolean operation failed Operația Booleană a eșuat - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Nu s-a putut crea fața din schiță. @@ -5438,27 +5469,27 @@ Nu sunt permise entități intersectate de schiță sau multiple fețe dintr-o s A aparut o eroare fatala la crearea conductei - + Invalid element in spine. Element nevalid în coloana vertebrală. - + Element in spine is neither an edge nor a wire. Elementul din coloana vertebrală nu este nici margine, nici sârmă. - + Spine is not connected. Spinul nu este conectat. - + Spine is neither an edge nor a wire. Spinul nu este nici margine, nici sârmă. - + Invalid spine. coloană vertebrală nevalidă. @@ -5493,120 +5524,120 @@ Nu sunt permise entități intersectate de schiță sau multiple fețe dintr-o s Pocket: Nu s-a reușit decuparea funcției de bază - + Cannot subtract primitive feature without base feature Nu se poate scădea funcția primitivă fără caracteristica de bază - + Adding the primitive failed Adăugarea primitivului a eșuat - + Subtracting the primitive failed Scăderea primitivului a eșuat - + Length of box too small Lungimea cutiei este prea mică - + Width of box too small Lățimea casetei prea mică - + Height of box too small Înălțimea cutiei prea mică - + Radius of cylinder too small Raza cilindrului prea mică - + Height of cylinder too small Înălţimea cilindrului prea mică - + Rotation angle of cylinder too small Unghiul de rotație al cilindrului prea mic - + Radius of sphere too small Raza sferei prea mică - - + + Radius of cone cannot be negative Raza conului nu poate fi negativă - + The radii for cones must not be equal Raza pentru conuri nu trebuie să fie egală - + Height of cone too small Înălțimea conului prea mică - - + + Radius of ellipsoid too small Raza de ellipsoid prea mică - - + + Radius of torus too small Raza prea mică a torței - + Polygon of prism is invalid, must have 3 or more sides Poligonul de prismă nu este valabil, trebuie să aibă 3 sau mai multe feţe - + Circumradius of the polygon, of the prism, is too small Circumrazul poligonului, prism, este prea mic - + Height of prism is too small Înălțimea prismei este prea mică - + delta x of wedge too small delta x de încheietură prea mică - + delta y of wedge too small delta y wedge prea mică - + delta z of wedge too small delta z wedge prea mică - + delta z2 of wedge is negative delta z2 wedge este negativă - + delta x2 of wedge is negative delta z2 wedge este negativă diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ru.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ru.ts index 76d0615b2b..a3fe522d81 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ru.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_ru.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Клонировать - + Make copy Сделать копию @@ -909,8 +909,8 @@ so that self intersection is avoided. Булева операция - + Add a Body Добавить тело @@ -940,22 +940,22 @@ so that self intersection is avoided. Переместить объект внутри дерева - + Mirrored Симметрия - + Make LinearPattern Создать линейный массив - + PolarPattern Круговой массив - + Scaled Масштабирование @@ -1258,12 +1258,12 @@ If zero, it is equal to Radius2 Circumradius: - Радиус: + Радиус окружности: X min/max: - X мин. /макс. : + X мин. /макс: @@ -1273,7 +1273,7 @@ If zero, it is equal to Radius2 Z min/max: - Z мин. /макс. : + Z мин. /макс.: @@ -1298,12 +1298,12 @@ If zero, it is equal to Radius2 Right-handed - Правая + Для правшей Left-handed - Левая + Режим левши @@ -1335,12 +1335,12 @@ If zero, it is equal to Radius2 Major radius: - Большая полуось: + Основной радиус: Minor radius: - Малая полуось: + Небольшой радиус: @@ -1450,7 +1450,7 @@ If zero, it is equal to Radius2 Remove - Удалить + Убрать @@ -1570,7 +1570,7 @@ click again to end selection Угол - + Empty chamfer created ! Пустая фаска создана! @@ -1580,17 +1580,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Пустой список тел - + The body list cannot be empty Список тел не может быть пустым - + Boolean: Accept: Input error Логическое значение: Принять: Ошибка ввода @@ -1598,12 +1598,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Несовместимый набор ориентиров - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Нет режимов присоединения, которому соответствует текущий набор ориентиров. Если Вы выберете "Продолжить", элемент останется там, где он сейчас находится, и не будет перенесён при изменении базового объекта. Продолжить? @@ -1611,7 +1611,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Ошибка ввода @@ -1619,7 +1619,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Ошибка ввода @@ -1671,7 +1671,7 @@ click again to end selection Развернуть направление уклона - + Empty draft created ! Создан пустой черновик! @@ -1703,45 +1703,45 @@ click again to end selection Remove - Удалить + Убрать PartDesignGui::TaskExtrudeParameters - + No face selected Грань не выбрана - - + + Face Грань - + Sketch normal Нормаль эскиза - + Face normal Нормаль грани - + Select reference... Выбрать ориентир... + - Custom direction Произвольное направление - + Click on a face in the model Выберите грань внутри модели @@ -1876,7 +1876,7 @@ click again to end selection Применить для всех ребер - + Empty fillet created ! Пустое скругление создано! @@ -1898,7 +1898,7 @@ click again to end selection Valid - Верно + Действительный @@ -2130,31 +2130,47 @@ click again to end selection + Mode + Режим + + + + Overall Length + Overall Length + + + + + Offset + Смещение + + + Length Длина - + Occurrences События - + OK OK - + Update view Обновить Remove - Удалить + Убрать - + Error Ошибки @@ -2169,7 +2185,7 @@ click again to end selection Ruled surface - Линейчатая поверхность + Линованная поверхность @@ -2204,7 +2220,7 @@ click again to end selection Update view - Обновить + Обновить вид @@ -2214,7 +2230,7 @@ click again to end selection Remove - Удалить + Убрать @@ -2252,17 +2268,17 @@ click again to end selection Update view - Обновить + Обновить вид Remove - Удалить + Убрать - + Error - Ошибки + Ошибка @@ -2295,12 +2311,12 @@ click again to end selection Update view - Обновить + Обновить вид Remove - Удалить + Убрать @@ -2340,7 +2356,7 @@ click again to end selection Move down - Переместить вниз + Переместить вниз @@ -2366,27 +2382,27 @@ click again to end selection Противоположное направление выдавливания - + Dimension Размер - + To last К последнему - + To first К первому - + Up to face - До грани + Поднять до грани - + Two dimensions Два размера @@ -2414,139 +2430,139 @@ click again to end selection Длина - + Offset to face Отступ от поверхности - + Direction Направление - + Direction/edge: Направление/ребро: - + Set a direction or select an edge from the model as reference Задайте направление или выберите ребро модели - + Sketch normal Нормаль эскиза - + Select reference... - Выбрать ориентир... + Выберите ссылку... - + Custom direction Произвольное направление - + Show direction Показать направление - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Укажите пользовательский вектор для направления кармана, в противном случае будет использована нормаль эскиза - + x - x + - + x-component of direction vector абсцисса вектора направления - + y у - + y-component of direction vector ордината вектора направления - + z z - + z-component of direction vector аппликата вектора направления - + If unchecked, the length will be measured along the specified direction Если флажок не установлен, длина будет измеряться вдоль заданного направления - + Length along sketch normal Длина вдоль нормали эскиза - + Applies length symmetrically to sketch plane Применяет длину симметрично плоскости эскиза - + Symmetric to plane Симметрично плоскости - + Reversed В обратную сторону - - + + Angle to taper the extrusion Угол уклона выдавливания - + Taper angle Угол сужения - + 2nd length Вторая длина - + 2nd taper angle Второй угол сужения - + Select face Выбрать грань - + Update view - Обновить + Обновить вид @@ -2564,12 +2580,12 @@ measured along the specified direction Standard - Стандартно + Стандарт Fixed - Зафиксировано + Исправлено @@ -2639,7 +2655,7 @@ measured along the specified direction Remove - Удалить + Убрать @@ -2703,7 +2719,7 @@ measured along the specified direction Remove - Удалить + Убрать @@ -2762,7 +2778,7 @@ measured along the specified direction Remove - Удалить + Убрать @@ -2783,27 +2799,27 @@ measured along the specified direction Переворачивает направление кармана - + Dimension Размер - + Through all Насквозь - + To first К первому - + Up to face - До грани + Поднять до грани - + Two dimensions Два размера @@ -2842,33 +2858,53 @@ measured along the specified direction + Mode + Режим + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Угол - - Occurrences - События + + Offset + Смещение - + + Occurrences + Вхождений + + + OK OK - + Update view - Обновить + Обновить вид Remove - Удалить + Убрать - + Error - Ошибки + Ошибка @@ -2876,7 +2912,7 @@ measured along the specified direction Attachment - Присоединение + Вложение @@ -2923,7 +2959,7 @@ measured along the specified direction Select reference... - Выбрать ориентир... + Выберите ссылку... @@ -2938,12 +2974,12 @@ measured along the specified direction Reversed - В обратную сторону + Реверсивный Update view - Обновить + Обновить вид @@ -2976,7 +3012,7 @@ measured along the specified direction Occurrences - События + Вхождений @@ -2986,12 +3022,12 @@ measured along the specified direction Update view - Обновить + Обновить вид Remove - Удалить + Убрать @@ -3022,9 +3058,9 @@ measured along the specified direction Параметры связующей формы - + Remove - Удалить + Убрать @@ -3165,7 +3201,7 @@ click again to end selection Select reference... - Выбрать ориентир... + Выберите ссылку... @@ -3186,7 +3222,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Сделать тело активным/неактивным @@ -3430,7 +3466,7 @@ click again to end selection Error - Ошибки + Ошибка @@ -3443,68 +3479,68 @@ click again to end selection Связующее под-объектов - + Several sub-elements selected Неправильное выделение - + You have to select a single face as support for a sketch! Вы должны выбрать одну плоскую грань в качестве основы для эскиза! - + No support face selected Не выбрана грань - + You have to select a face as support for a sketch! Вы должны выбрать поверхность, как основу для эскиза! - + No planar support Неплоская грань - + You need a planar face as support for a sketch! Для создания эскиза, грань должна быть плоской. Выбранная грань неплоская. - + No valid planes in this document В документе нет корректных плоскостей - + Please create a plane first or select a face to sketch on Пожалуйста, сначала создайте плоскость или выберите грань - - - - - - - + + + + + + + A dialog is already open in the task panel Диалог уже открыт в панели задач - - - - - - - + + + + + + + Do you want to close this dialog? Вы хотите закрыть этот диалог? @@ -3772,14 +3808,14 @@ This may lead to unexpected results. Невозможно создать субтрактивный элемент без базового элемента - + Vertical sketch axis Вертикальная ось эскиза - + Horizontal sketch axis Горизонтальная ось эскиза @@ -3833,20 +3869,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr Для того, чтобы использовать этот элемент, он должен являться объектом типа деталь в документе. + + - - Edit %1 Редактировать %1 - + Set colors... - Установите цвета ... + Установите цвета... - + Edit boolean Редактировать параметры булевой операции @@ -3890,57 +3926,57 @@ This feature is broken and can't be edited. %1 не имеет базовый элемент. Этот элемент нарушен и не может быть изменён. - + Edit groove Редактировать паз - + Edit hole Редактировать отверстие - + Edit loft Редактировать профиль - + Edit pad Редактировать выдавливание - + Edit pipe Редактировать траекторию - + Edit pocket Редактировать карман - + Edit primitive Редактировать примитив - + Edit revolution Изменить вращение - + Edit shape binder Редактировать связующую форму - + Synchronize Синхронизировать - + Select bound object Выберите связанный объект @@ -3960,39 +3996,39 @@ This feature is broken and can't be edited. Преобразование выполнено успешно - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Редактируемый документ «%1» был спроектирован с использованием старой версии верстака "Проектирование детали". - + Do you want to migrate in order to use modern PartDesign features? Вы хотите совершить миграцию для того, чтобы начать использовать современные функции верстака PartDesign? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Документ «%1», по-видимому, находится либо в процессе миграции из старого верстака PartDesign, либо имеет слегка нарушенную структуру. - + Do you want to make the migration automatically? Вы хотите сделать миграцию автоматически? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. Примечание. Если вы решите выполнить миграцию, вы не сможете редактировать файл в устаревшей версии FreeCAD. Если вы откажетесь мигрировать, вы не сможете использовать новые функции рабочего окружения "разработка детали", такие как Тело и Деталь. В результате вы также не сможете использовать свои детали в рабочем окружении Сборка. В любом случае вы сможете мигрировать позже, выполнив 'разработка детали->Миграция'. - + Migrate manually Миграция вручную - + Edit helix Редактировать спираль @@ -4240,7 +4276,7 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Position - Положение + Позиция @@ -4303,7 +4339,7 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Tolerance - Точность + Допуск @@ -4336,7 +4372,7 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Data - Данные + Дата @@ -4406,7 +4442,7 @@ Note that the calculation can take some time Update view - Обновить + Обновить вид @@ -4460,7 +4496,7 @@ Only available for holes without thread Standard - Стандартно + Стандарт @@ -4622,12 +4658,12 @@ over 90: larger hole radius at the bottom Reversed - В обратную сторону + Реверсивный Normal - Обычные + Обычный (либо Нормаль) @@ -4637,11 +4673,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Форма - No message @@ -4703,7 +4734,7 @@ over 90: larger hole radius at the bottom Measure - Измерить + Измерения @@ -4861,7 +4892,7 @@ over 90: larger hole radius at the bottom Start the shaft design wizard - Запускает мастер проектирования вала + Запустить мастер дизайна вала вала @@ -4928,17 +4959,17 @@ over 90: larger hole radius at the bottom Сбой слияния инструментов - - - - + + - - - - + + + + + + Resulting shape is not a solid Результат не является твердотельным @@ -4953,22 +4984,22 @@ over 90: larger hole radius at the bottom Общая операция не удалась - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Результат состоит из нескольких тел: это в настоящее время это не поддерживается. @@ -5031,8 +5062,8 @@ over 90: larger hole radius at the bottom Угол канавки слишком мал - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5043,14 +5074,14 @@ over 90: larger hole radius at the bottom - выбранный эскиз не принадлежит активному телу. - + Creating a face from sketch failed Не удалось создать грань из эскиза - + Revolve axis intersects the sketch Ось вращения пересекает эскиз @@ -5060,14 +5091,14 @@ over 90: larger hole radius at the bottom Не удалось вырезать базовый элемент - + Could not revolve the sketch! Не удалось повернуть эскиз! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Не удалось создать грань из эскиза. @@ -5122,10 +5153,10 @@ Intersecting sketch entities in a sketch are not allowed. Ошибка: Не удалось собрать - + Error: Result is not a solid Ошибка: Результат не твердотельный @@ -5227,15 +5258,15 @@ Intersecting sketch entities in a sketch are not allowed. Ошибка: не удалось добавить резьбу + - Boolean operation failed Не удалось выполнить булеву операцию - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Не удалось создать грань из эскиза. @@ -5439,27 +5470,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Произошла фатальная ошибка при создании трубы - + Invalid element in spine. Недопустимый элемент в каркасе. - + Element in spine is neither an edge nor a wire. Элемент в каркасе не является ни ребром, ни проволокой. - + Spine is not connected. Каркас не подключен. - + Spine is neither an edge nor a wire. Каркас не является ни гранью, ни проволокой. - + Invalid spine. Неверный каркас. @@ -5494,120 +5525,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Карман: не удалось вырезать базовый элемент - + Cannot subtract primitive feature without base feature Невозможно вычесть примитивный элемент без базового элемента - + Adding the primitive failed Добавление примитива не удалось - + Subtracting the primitive failed Вычитание примитива не удалось - + Length of box too small Размер габаритов слишком мал - + Width of box too small Ширина габаритов слишком мала - + Height of box too small Высота габаритов слишком мала - + Radius of cylinder too small Радиус цилиндра мал - + Height of cylinder too small Высота цилиндра мала - + Rotation angle of cylinder too small Угол поворота цилиндра слишком мал - + Radius of sphere too small Радиус сферы слишком мал - - + + Radius of cone cannot be negative Радиус конуса не может быть отрицательным - + The radii for cones must not be equal Радиусы конусов не должны быть равны - + Height of cone too small Высота конуса слишком мала - - + + Radius of ellipsoid too small Радиус эллипсоида слишком мал - - + + Radius of torus too small Радиус торса слишком мал - + Polygon of prism is invalid, must have 3 or more sides Многоугольник призмы неправилен, должен иметь 3 или более сторон - + Circumradius of the polygon, of the prism, is too small Радиус окружности многоугольника призмы слишком мал - + Height of prism is too small Высота призмы слишком мала - + delta x of wedge too small дельта x клина слишком мала - + delta y of wedge too small дельта Y клина слишком мала - + delta z of wedge too small дельта z клина слишком мала - + delta z2 of wedge is negative дельта z2 клина отрицательно - + delta x2 of wedge is negative дельта x2 клина отрицательно diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sl.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sl.ts index 66a2b09a2b..cf78bcf27b 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sl.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sl.ts @@ -280,7 +280,7 @@ da se izogne samosečnosti. Draft - Ugrez + Nagib @@ -883,8 +883,8 @@ da se izogne samosečnosti. Ustvari dvojnika - + Make copy Naredi kopijo @@ -909,8 +909,8 @@ da se izogne samosečnosti. Ustvari logično vrednost - + Add a Body Dodaj telo @@ -940,22 +940,22 @@ da se izogne samosečnosti. Premikaj predmet po drevesu - + Mirrored Zrcaljeno - + Make LinearPattern Naredi Premočrtni vzorec - + PolarPattern Krožni vzorec - + Scaled Povečava @@ -1283,7 +1283,7 @@ If zero, it is equal to Radius2 Z2 min/max: - Najv./najm. Z: + Najv./najm. Z2: @@ -1379,7 +1379,7 @@ If zero, it is equal to Radius2 Reference - Osnova + Sklic @@ -1515,7 +1515,7 @@ s ponovnim klikom pa zaključite izbiranje Select - Izberite + Izberi @@ -1567,10 +1567,10 @@ s ponovnim klikom pa zaključite izbiranje Angle - Kot + Kót - + Empty chamfer created ! Ustvarjeno brez priseka! @@ -1580,17 +1580,17 @@ s ponovnim klikom pa zaključite izbiranje PartDesignGui::TaskDlgBooleanParameters - + Empty body list Izprazni seznam teles - + The body list cannot be empty Seznam teles ne more biti prazen - + Boolean: Accept: Input error Logične vrednosti: Potrdi: Vnosna napaka @@ -1598,12 +1598,12 @@ s ponovnim klikom pa zaključite izbiranje PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Nazdružljiv nabor sklicev - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Noben način pripenjanja ne ustreza trenutnemu naboru sklicev. Če se odločite za nadaljevanje, bo zmožnost ostala, kjer je, in se ne bo premaknila pri spreminjanju sklica. Želite nadaljevati? @@ -1611,7 +1611,7 @@ s ponovnim klikom pa zaključite izbiranje PartDesignGui::TaskDlgFeatureParameters - + Input error Napaka vnosa @@ -1619,7 +1619,7 @@ s ponovnim klikom pa zaključite izbiranje PartDesignGui::TaskDlgShapeBinder - + Input error Napaka vnosa @@ -1641,7 +1641,7 @@ s ponovnim klikom pa zaključite izbiranje Select - Izberite + Izberi @@ -1671,7 +1671,7 @@ s ponovnim klikom pa zaključite izbiranje Obratna smer vlečenja - + Empty draft created ! Ustvarjeno brez nagiba! @@ -1688,7 +1688,7 @@ s ponovnim klikom pa zaključite izbiranje Select - Izberite + Izberi @@ -1709,39 +1709,39 @@ s ponovnim klikom pa zaključite izbiranje PartDesignGui::TaskExtrudeParameters - + No face selected Nobena ploskev ni izbrana - - + + Face Ploskev - + Sketch normal Normala na očrt - + Face normal Ploskvina normala - + Select reference... Izberite osnovo … + - Custom direction Smer po meri - + Click on a face in the model Klikni na ploskev v modelu @@ -1856,7 +1856,7 @@ s ponovnim klikom pa zaključite izbiranje Select - Izberite + Izberi @@ -1876,7 +1876,7 @@ s ponovnim klikom pa zaključite izbiranje Uporabi vse robove - + Empty fillet created ! Ustvarjeno brez zaokrožitve! @@ -2130,21 +2130,37 @@ s ponovnim klikom pa zaključite izbiranje + Mode + Način + + + + Overall Length + Overall Length + + + + + Offset + Odmik + + + Length Dolžina - + Occurrences Pojavitve - + OK - Potrdi + V redu - + Update view Posodobi pogled @@ -2154,7 +2170,7 @@ s ponovnim klikom pa zaključite izbiranje Odstrani - + Error Napaka @@ -2179,7 +2195,7 @@ s ponovnim klikom pa zaključite izbiranje Profile - Profil + Presek @@ -2247,7 +2263,7 @@ s ponovnim klikom pa zaključite izbiranje OK - Potrdi + V redu @@ -2260,7 +2276,7 @@ s ponovnim klikom pa zaključite izbiranje Odstrani - + Error Napaka @@ -2366,27 +2382,27 @@ s ponovnim klikom pa zaključite izbiranje Obrne smer izbokline - + Dimension Mera - + To last Do zadnjega - + To first Do prve - + Up to face Do ploskve - + Two dimensions Dve meri @@ -2414,139 +2430,139 @@ s ponovnim klikom pa zaključite izbiranje Dolžina - + Offset to face Odmik od ploskve - + Direction Smer - + Direction/edge: Smer/rob: - + Set a direction or select an edge from the model as reference Določite smer ali izberite za sklic rob oblikovanca - + Sketch normal Normala na očrt - + Select reference... - Izberite osnovo … + Izberite sklic ... - + Custom direction Smer po meri - + Show direction Pokaži smer - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Za smer izbokline uporabi vektor po meri, sicer bo uporabljena normala očrtne ravnine - + x x - + x-component of direction vector komponenta x smernega vektorja - + y y - + y-component of direction vector komponenta y smernega vektorja - + z z - + z-component of direction vector komponenta z smernega vektorja - + If unchecked, the length will be measured along the specified direction Če je odznačeno, bo dolžina merjena vzdolž določene smeri - + Length along sketch normal Dolžina vzdolž normale očrta - + Applies length symmetrically to sketch plane Uporabi dolžino, somerno na očrtno ravnino - + Symmetric to plane Simetrično na ravnino - + Reversed Obratno - - + + Angle to taper the extrusion Kot koničenja izriva - + Taper angle Kot koničenja - + 2nd length 2. dolžina - + 2nd taper angle 2. kót koničenja - + Select face Izberi ploskev - + Update view Posodobi pogled @@ -2571,7 +2587,7 @@ merjena vzdolž določene smeri Fixed - Nepremičen + Nespremenljivo @@ -2586,7 +2602,7 @@ merjena vzdolž določene smeri Binormal - Binormala + Binormalno @@ -2596,7 +2612,7 @@ merjena vzdolž določene smeri Profile - Profil + Presek @@ -2654,7 +2670,7 @@ merjena vzdolž določene smeri Profile - Profil + Presek @@ -2785,27 +2801,27 @@ merjena vzdolž določene smeri Obrne smer ugreza - + Dimension Mera - + Through all Skozi vse - + To first Do prve - + Up to face Do ploskve - + Two dimensions Dve meri @@ -2844,21 +2860,41 @@ merjena vzdolž določene smeri + Mode + Način + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle - Kot + Kót - + + Offset + Odmik + + + Occurrences - Pojavitve + Pogostosti - + OK Potrdi - + Update view Posodobi pogled @@ -2868,7 +2904,7 @@ merjena vzdolž določene smeri Odstrani - + Error Napaka @@ -2925,7 +2961,7 @@ merjena vzdolž določene smeri Select reference... - Izberite osnovo … + Izberite sklic ... @@ -3024,7 +3060,7 @@ merjena vzdolž določene smeri Določilke sklicne oblike - + Remove Odstrani @@ -3054,7 +3090,7 @@ s ponovnim klikom pa zaključite izbiranje Select - Izberite + Izberi @@ -3188,7 +3224,7 @@ s ponovnim klikom pa zaključite izbiranje PartDesignGui::ViewProviderBody - + Toggle active body Preklopi dejavno telo @@ -3445,68 +3481,68 @@ s ponovnim klikom pa zaključite izbiranje Povezovalnik podoblik - + Several sub-elements selected Izbranih več podelementov - + You have to select a single face as support for a sketch! Izbrati morate eno ploskev kot podporo za skico! - + No support face selected Nobena podporna ploskev ni izbrana - + You have to select a face as support for a sketch! Izbrati morate ploskev kot podporo za skico! - + No planar support Ni ravninske podpore - + You need a planar face as support for a sketch! Izbrati morate ravninsko ploskev kot podporo za skico! - + No valid planes in this document Ni veljavnih ravnin v tem dokumentu - + Please create a plane first or select a face to sketch on Ustvarite najprej ravnino ali izberite ploskev, na katero želite očrtavati - - - - - - - + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - + + + + + + + Do you want to close this dialog? Do you want to close this dialog? @@ -3774,14 +3810,14 @@ To lahko pripelje do nepričakovanih rezultatov. Značilke odvzemanja ni mogoče ustvariti, če osnovna značilnost ni na voljo - + Vertical sketch axis Navpična os skice - + Horizontal sketch axis Vodoravna os skice @@ -3835,20 +3871,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr Če želite uporabiti to značilnost, mora pripadati delu v dokumentu. + + - - Edit %1 Uredi %1 - + Set colors... Nastavi barve … - + Edit boolean Uredi logične vrednosti @@ -3893,57 +3929,57 @@ This feature is broken and can't be edited. Ta značilnost je pokvarjena in je ni mogoče urejati. - + Edit groove Uredi zarezo - + Edit hole Uredi luknjo - + Edit loft Uredi navleček - + Edit pad Uredi izboklino - + Edit pipe Uredi cev - + Edit pocket Uredi ugrez - + Edit primitive Uredi osnovnik - + Edit revolution Uredi vrtenino - + Edit shape binder Uredi povezovalnik oblik - + Synchronize Uskladi - + Select bound object Izberi vezani predmet @@ -3963,27 +3999,27 @@ Ta značilnost je pokvarjena in je ni mogoče urejati. Preoblikovanje uspelo - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Dokument "%1", ki ga urejate, je bil narejen v starejši različici delavnega okolja Snovalnik delov (PartDesign). - + Do you want to migrate in order to use modern PartDesign features? Želite preseliti, da bi lahko uporabljali zmožnosti novega Snovalnika delov? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Kaže, da je dokument "%1" bodisi sredi selitve iz podedovanega Snovalnika delova, bodisi ima malo okvarjeno zasnovo. - + Do you want to make the migration automatically? Želite, da bi bila selitev samodejna? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3992,12 +4028,12 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Neglede na to je selitev v bodoče z "Snovanje delov -> Preseli" mogoča kadarkoli. - + Migrate manually Preseli ročno - + Edit helix Uredi vijačnico @@ -4642,11 +4678,6 @@ nad 90: v spodnjem delu večji premer luknje TaskTransformedMessages - - - Form - Oblika - No message @@ -4933,17 +4964,17 @@ nad 90: v spodnjem delu večji premer luknje Spojitev orodij spodletela - - - - + + - - - - + + + + + + Resulting shape is not a solid Dobljena oblika ni telo @@ -4958,22 +4989,22 @@ nad 90: v spodnjem delu večji premer luknje Skupno dejanje spodletelo - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Dobljenih je več teles, kar pa trenutno ni podprto. @@ -5036,8 +5067,8 @@ nad 90: v spodnjem delu večji premer luknje Premajhene kot žlebiča - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5047,14 +5078,14 @@ nad 90: v spodnjem delu večji premer luknje - izbrani očrt ne pripada dejavnemu telesu. - + Creating a face from sketch failed Ustvarjanje ploskve iz očrta spodletelo - + Revolve axis intersects the sketch Os vrtenine seka očrt @@ -5064,14 +5095,14 @@ nad 90: v spodnjem delu večji premer luknje Izrezovanje iz osnovne značilnosti spodletelo - + Could not revolve the sketch! Očrta ni mogoče zvrteti! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Iz očrta ni bilo mogoče ustvariti ploskve. @@ -5126,10 +5157,10 @@ Sekajoče se prvine očrta niso dovoljene. Napaka: ni mogoče narediti - + Error: Result is not a solid Napaka: dobljeno ni telo @@ -5231,15 +5262,15 @@ Sekajoče se prvine očrta niso dovoljene. Napaka: dodajanje navoja spodletelo + - Boolean operation failed Logična operacija spodletela - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Iz očrta ni bilo mogoče ustvariti ploskve. @@ -5443,27 +5474,27 @@ Sekajočih se prvin očrta ali več ploskev v očrtu ne sme biti. Pri ustvarjanju cevi je prišlo do usodne napake - + Invalid element in spine. Neveljavna prvina v vodilu. - + Element in spine is neither an edge nor a wire. Prvina v vodilu ni niti rob ni črtovje. - + Spine is not connected. Vodilo ni priključeno. - + Spine is neither an edge nor a wire. Vodilo ni niti rob niti črtovje. - + Invalid spine. Neveljavno vodilo. @@ -5498,120 +5529,120 @@ Sekajočih se prvin očrta ali več ploskev v očrtu ne sme biti. Ugrez: izrezovanje iz osnovne značilnosti spodletelo - + Cannot subtract primitive feature without base feature Osnovnika ni mogoče odvzemati brez izhodiščne značilnosti - + Adding the primitive failed Dodajanje osnovnika spodletelo - + Subtracting the primitive failed Odvzemanje osnovnika spodletelo - + Length of box too small Premajhna dolžina kvadra - + Width of box too small Premajhna širina kvadra - + Height of box too small Premajhna višina kvadra - + Radius of cylinder too small Premajhen polmer valja - + Height of cylinder too small Premajhna višina valja - + Rotation angle of cylinder too small Premahjen kót zasuka valja - + Radius of sphere too small Premajhen polmer krogle - - + + Radius of cone cannot be negative Polmer stožca ne more biti negativen - + The radii for cones must not be equal Polmeri stožcev ne morejo biti enaki - + Height of cone too small Premajhna višina stožca - - + + Radius of ellipsoid too small Premajhen polmer elipsoida - - + + Radius of torus too small Premajhen polmer svitka - + Polygon of prism is invalid, must have 3 or more sides Mnogokotnik prizma ni veljaven. Imeti mora najmanj 3 stranice - + Circumradius of the polygon, of the prism, is too small Premajhen polmer očrtane krožnice mnogokotnika prizme - + Height of prism is too small Premajhna višina prizme - + delta x of wedge too small sprememba x-a klina premajhna - + delta y of wedge too small sprememba y-a klina premajhna - + delta z of wedge too small sprememba z-ja klina premajhna - + delta z2 of wedge is negative sprememba klinovega z-ja 2 je negativna - + delta x2 of wedge is negative sprememba klinovega x-a 2 je negativna diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr-CS.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr-CS.ts index f8a9db2d81..b84c3a13a4 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr-CS.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr-CS.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Napravi klon - + Make copy Napravi kopiju @@ -909,8 +909,8 @@ so that self intersection is avoided. Napravi Bulovu operaciju - + Add a Body Dodaj telo @@ -940,22 +940,22 @@ so that self intersection is avoided. Pomeri objekat unutar stabla - + Mirrored Simetrično preslikavanje - + Make LinearPattern Napravi linearno umnožavanje - + PolarPattern Kružno umnožavanje - + Scaled Skalirano @@ -1570,7 +1570,7 @@ klikni ponovo da bi završio izbor Ugao - + Empty chamfer created ! Napravljen je prazan tipski oblik Obaranje ivica ! @@ -1580,17 +1580,17 @@ klikni ponovo da bi završio izbor PartDesignGui::TaskDlgBooleanParameters - + Empty body list Lista sa telima je prazna - + The body list cannot be empty Lista sa telima ne može da bude prazna - + Boolean: Accept: Input error Bulova: Prihvati: Greška u unosu @@ -1598,12 +1598,12 @@ klikni ponovo da bi završio izbor PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Incompatible reference set - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? @@ -1611,7 +1611,7 @@ klikni ponovo da bi završio izbor PartDesignGui::TaskDlgFeatureParameters - + Input error Input error @@ -1619,7 +1619,7 @@ klikni ponovo da bi završio izbor PartDesignGui::TaskDlgShapeBinder - + Input error Input error @@ -1671,7 +1671,7 @@ klikni ponovo da bi završio izbor Obrnuti smer povlačenja - + Empty draft created ! Napravljen je prazan tipski oblik Zakošenje ! @@ -1709,39 +1709,39 @@ klikni ponovo da bi završio izbor PartDesignGui::TaskExtrudeParameters - + No face selected Stranica nije izabrana - - + + Face Stranica - + Sketch normal Normala na skicu - + Face normal Normala na stranicu - + Select reference... Izaberi sopstvenu... + - Custom direction Sopstveni smer - + Click on a face in the model Klikni na stranicu modela @@ -1876,7 +1876,7 @@ klikni ponovo da bi završio izbor Upotrebi sve ivice - + Empty fillet created ! Napravljen je prazan tipski oblik Zaobljenje ! @@ -2130,21 +2130,37 @@ klikni ponovo da bi završio izbor + Mode + Režim + + + + Overall Length + Overall Length + + + + + Offset + Odmak + + + Length Dužina - + Occurrences Broj pojavljivanja - + OK U redu - + Update view Ažurirajte pogled @@ -2154,7 +2170,7 @@ klikni ponovo da bi završio izbor Ukloni - + Error Greška @@ -2260,7 +2276,7 @@ klikni ponovo da bi završio izbor Ukloni - + Error Greška @@ -2366,27 +2382,27 @@ klikni ponovo da bi završio izbor Obrće smer izvlačenja - + Dimension Kota - + To last Do zadnje - + To first Do prve - + Up to face Do stranice - + Two dimensions Dve kote @@ -2414,139 +2430,139 @@ klikni ponovo da bi završio izbor Dužina - + Offset to face Odmak do stranice - + Direction Pravac - + Direction/edge: Smer/ivica: - + Set a direction or select an edge from the model as reference Podesi pravac ili izaberi ivicu iz modela kao referentnu - + Sketch normal Normala na skicu - + Select reference... Izaberi sopstvenu... - + Custom direction Sopstveni smer - + Show direction Prikaži smer - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Koristi sopstveni vektor izvlačenja, u suprotnom će biti upotrebljena normala na skicu - + x x - + x-component of direction vector x-komponenta vektora pravca - + y y - + y-component of direction vector y-komponenta vektora pravca - + z z - + z-component of direction vector z-komponenta vektora pravca - + If unchecked, the length will be measured along the specified direction Ako nije čekirano, dužina će biti merena duž zadatog pravca - + Length along sketch normal Dužina duž normale na skicu - + Applies length symmetrically to sketch plane Primenjuje dužinu simetrično u odnosu ravan skice - + Symmetric to plane Simetrično u odnosu na ravan - + Reversed Obrnuti smer - - + + Angle to taper the extrusion Ugao sužavanja udubljenja - + Taper angle Ugao nagiba - + 2nd length Druga dužina - + 2nd taper angle Drugi ugao nagiba - + Select face Izaberi stranicu - + Update view Ažurirajte pogled @@ -2785,27 +2801,27 @@ merena duž zadatog pravca Obrće smer udubljenja - + Dimension Kota - + Through all Kroz sve - + To first Do prve - + Up to face Do stranice - + Two dimensions Dve kote @@ -2844,21 +2860,41 @@ merena duž zadatog pravca + Mode + Režim + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Ugao - + + Offset + Odmak + + + Occurrences Broj pojavljivanja - + OK U redu - + Update view Ažurirajte pogled @@ -2868,7 +2904,7 @@ merena duž zadatog pravca Ukloni - + Error Greška @@ -3024,7 +3060,7 @@ merena duž zadatog pravca Parametri pomoćnog oblika - + Remove Ukloni @@ -3188,7 +3224,7 @@ klikni ponovo da bi završio izbor PartDesignGui::ViewProviderBody - + Toggle active body Promeni aktivno telo @@ -3445,68 +3481,68 @@ klikni ponovo da bi završio izbor Pod-Povezivač Oblika - + Several sub-elements selected Nekoliko pod-elemenata izabrano - + You have to select a single face as support for a sketch! Moraš izabrati jednu stranicu kao osnovu za skicu! - + No support face selected Nije izabrana stranica kao osnova - + You have to select a face as support for a sketch! Moraš odabrati stranicu kao osnovu za skicu! - + No planar support Nema ravni kao osnove - + You need a planar face as support for a sketch! Potrebna je ravna stranica kao osnova za skicu! - + No valid planes in this document Nema važećih ravni u ovom dokumentu - + Please create a plane first or select a face to sketch on Da bi mogao crtati skicu prvo napravi ravan ili izaberi stranicu - - - - - - - + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - + + + + + + + Do you want to close this dialog? Do you want to close this dialog? @@ -3774,14 +3810,14 @@ Ovo može dovesti do neočekivanih rezultata. Ne možeš primeniti tipske oblike koji prave udubljenja ako nemaš na raspolaganju osnovni tipski oblik - + Vertical sketch axis Vertikalna osa skice - + Horizontal sketch axis Horizontalna osa skice @@ -3835,20 +3871,20 @@ Ako imaš nasleđeni dokument sa PartDesign objektima bez tela, koristi funkciju Da bi koristio ovaj tipski oblik, on mora da pripada delu u dokumentu. + + - - Edit %1 Uredi %1 - + Set colors... Ofarbaj stranice - + Edit boolean Uredi Bulovu operaciju @@ -3893,57 +3929,57 @@ This feature is broken and can't be edited. Ovaj tipski oblik je pokvaren i ne može se uređivati. - + Edit groove Uredi kružno udubljenje - + Edit hole Uredi rupu - + Edit loft Uredi izvlačenje po presecima - + Edit pad Uredi izvlačenje - + Edit pipe Uredi izvlačenje po putanji - + Edit pocket Edit pocket - + Edit primitive Uredi primitiv - + Edit revolution Uredi rotaciju - + Edit shape binder Uredi povezivač oblika - + Synchronize Sinhronizuj - + Select bound object Select bound object @@ -3963,27 +3999,27 @@ Ovaj tipski oblik je pokvaren i ne može se uređivati. Uspešna transformacija - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Dokument „%1“ koji uređuješ je napravljen sa starom verzijom Part Design radnog okruženja. - + Do you want to migrate in order to use modern PartDesign features? Da li želiš da migriraš da bi koristio moderne funkcije Part Design radnog okruženja? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Čini se da je dokument „%1“ ili usred procesa migracije sa zastarelog Part Design radnog okruženja ili ima pokvarenu strukturu. - + Do you want to make the migration automatically? Da li želiš da izvršiš migraciju automatski? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3992,12 +4028,12 @@ Ako odbiješ da migriraš, nećeš moći da koristiš nove funkcije PartDesign-a Mada moći ćeš Part Design da migriraš u bilo kom trenutku kasnije pomoću 'Part Design -> Migracija'. - + Migrate manually Migrirajte ručno - + Edit helix Uredi heliks @@ -4642,11 +4678,6 @@ iznad 90: veći poluprečnik rupe na dnu TaskTransformedMessages - - - Form - Obrazac - No message @@ -4933,17 +4964,17 @@ iznad 90: veći poluprečnik rupe na dnu Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Dobijeni oblik nije puno telo @@ -4958,22 +4989,22 @@ iznad 90: veći poluprečnik rupe na dnu Bulova operacija presek nije uspela - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Rezultat ima više punih tela: ovo trenutno nije podržano. @@ -5036,8 +5067,8 @@ iznad 90: veći poluprečnik rupe na dnu Ugao kružnog udubljenja je suviše mali - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5048,14 +5079,14 @@ iznad 90: veći poluprečnik rupe na dnu - izabrana skica ne pripada aktivnom Telu. - + Creating a face from sketch failed Pravljenje stranica pomoću skice nije uspelo - + Revolve axis intersects the sketch Osa rotacije preseca skicu @@ -5065,14 +5096,14 @@ iznad 90: veći poluprečnik rupe na dnu Isecanje osnovnog tipskog oblika nije uspelo - + Could not revolve the sketch! Nije moguće rotirati skicu! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Nije moguće napraviti stranice pomoću skice. @@ -5127,10 +5158,10 @@ Nije dozvoljeno ukrštanje elemenata na skici. Greška: Nije moguće napraviti - + Error: Result is not a solid Greška: Rezultat nije puno telo @@ -5232,15 +5263,15 @@ Nije dozvoljeno ukrštanje elemenata na skici. Greška: Dodavanje navoja nije uspelo + - Boolean operation failed Bulova operacija nije uspela - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Nije moguće napraviti stranice pomoću skice. @@ -5444,27 +5475,27 @@ Nije dozvoljeno ukrštanje elemenata ili više stranica u skici. Izvlačenje po putanji: Došlo je do fatalne greške prilikom pravljenja izvlačenja po putanji - + Invalid element in spine. Neispravni element je izabran u putanji vodilji. - + Element in spine is neither an edge nor a wire. Izabrani element u putanji vodilji nije ni ivica ni žica. - + Spine is not connected. Postoje nepovezani elementi u putanji vodilji. - + Spine is neither an edge nor a wire. Putanja vodilja nije ni ivica ni žica. - + Invalid spine. Neispravna putanja vodilja. @@ -5499,120 +5530,120 @@ Nije dozvoljeno ukrštanje elemenata ili više stranica u skici. Udubljenje: Isecanje osnovnog tipskog oblika nije uspelo - + Cannot subtract primitive feature without base feature Ne mogu da oduzmem primitiv bez osnovnog tipskog oblika - + Adding the primitive failed Dodavanje primitiva nije uspelo - + Subtracting the primitive failed Oduzimanje primitiva nije uspelo - + Length of box too small Dužina kutije je suviše mala - + Width of box too small Širina kutije je suviše mala - + Height of box too small Visina kutije je suviše mala - + Radius of cylinder too small Poluprečnik valjka je suviše mali - + Height of cylinder too small Visina valjka je suviše mala - + Rotation angle of cylinder too small Ugao rotacije valjka je suviše mali - + Radius of sphere too small Poluprečnik lopte je suviše mali - - + + Radius of cone cannot be negative Poluprečnik kupe ne može biti negativan - + The radii for cones must not be equal Poluprečnici kupe ne smeju biti jednaki - + Height of cone too small Visina kupe je suviše mala - - + + Radius of ellipsoid too small Poluprečnik elipsoida je suviše mali - - + + Radius of torus too small Poluprečnik torusa je suviše mali - + Polygon of prism is invalid, must have 3 or more sides Mnogougao prizme je neispravan, mora imati 3 ili više stranica - + Circumradius of the polygon, of the prism, is too small Poluprečnik opisanog kruga mnogougla prizme je suviše mali - + Height of prism is too small Visina prizme je suviše mala - + delta x of wedge too small delta x klina suviše malo - + delta y of wedge too small delta y klina suviše malo - + delta z of wedge too small delta z klina suviše malo - + delta z2 of wedge is negative delta z2 klina je negativno - + delta x2 of wedge is negative delta x2 klina je negativno diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr.ts index 64e52bf914..77ba5191d2 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sr.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Направи клон - + Make copy Направи копију @@ -909,8 +909,8 @@ so that self intersection is avoided. Направи Булову операцију - + Add a Body Додај тело @@ -940,22 +940,22 @@ so that self intersection is avoided. Помери објекат унутар стабла - + Mirrored Симетрично пресликавање - + Make LinearPattern Направи линеарно умножавање - + PolarPattern Кружно умножавање - + Scaled Скалирано @@ -1570,7 +1570,7 @@ click again to end selection Угао - + Empty chamfer created ! Направљен је празан типски облик Обарање ивица ! @@ -1580,17 +1580,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Листа са телима је празна - + The body list cannot be empty Листа са телима не може да буде празна - + Boolean: Accept: Input error Булова: Прихвати: Грешка у уносу @@ -1598,12 +1598,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Incompatible reference set - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? @@ -1611,7 +1611,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Грешка приликом уноса @@ -1619,7 +1619,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Грешка приликом уноса @@ -1671,7 +1671,7 @@ click again to end selection Обрнути cмер повлачења - + Empty draft created ! Направљен је празан типски облик Закошење ! @@ -1709,39 +1709,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected Страница није изабрана - - + + Face Страница - + Sketch normal Нормала на скицу - + Face normal Нормала на страницу - + Select reference... Изабери сопствену... + - Custom direction Сопствени смер - + Click on a face in the model Кликни на страницу модела @@ -1876,7 +1876,7 @@ click again to end selection Употреби све ивице - + Empty fillet created ! Направљен је празан типски облик Заобљење ! @@ -2130,21 +2130,37 @@ click again to end selection + Mode + Режим + + + + Overall Length + Overall Length + + + + + Offset + Одмак + + + Length Дужина - + Occurrences Број појављивања - + OK У реду - + Update view Ажурирај поглед @@ -2154,7 +2170,7 @@ click again to end selection Уклони - + Error Грешка @@ -2260,7 +2276,7 @@ click again to end selection Уклони - + Error Грешка @@ -2366,27 +2382,27 @@ click again to end selection Обрће смер извлачења - + Dimension Кота - + To last До задње - + To first До прве - + Up to face До странице - + Two dimensions Две коте @@ -2414,139 +2430,139 @@ click again to end selection Дужина - + Offset to face Одмак до странице - + Direction Правац - + Direction/edge: Смер/ивица: - + Set a direction or select an edge from the model as reference Подеси правац или изаберите ивицу из модела као референтну - + Sketch normal Нормала на скицу - + Select reference... Изабери сопствену... - + Custom direction Сопствени смер - + Show direction Прикажи смер - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Користи сопствени вектор извлачења, у супротном ће бити употребљена нормала на скицу - + x x - + x-component of direction vector х-компонента вектора правца - + y y - + y-component of direction vector y-компонента вектора правца - + z z - + z-component of direction vector z-компонента вектора правца - + If unchecked, the length will be measured along the specified direction Ако није чекирано, дужина ће бити мерена дуж задатог правца - + Length along sketch normal Дужина дуж нормале на скицу - + Applies length symmetrically to sketch plane Примењује дужину симетрично у односу на раван скице - + Symmetric to plane Симетрично у односу на раван - + Reversed Обрнути смер - - + + Angle to taper the extrusion Угао сужавања удубљења - + Taper angle Угао нагиба - + 2nd length Друга дужина - + 2nd taper angle Други угао нагиба - + Select face Изабери страницу - + Update view Ажурирај поглед @@ -2785,27 +2801,27 @@ measured along the specified direction Обрће смер удубљења - + Dimension Кота - + Through all Кроз све - + To first До прве - + Up to face До странице - + Two dimensions Две коте @@ -2844,21 +2860,41 @@ measured along the specified direction + Mode + Режим + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Угао - + + Offset + Одмак + + + Occurrences Број појављивања - + OK У реду - + Update view Ажурирај поглед @@ -2868,7 +2904,7 @@ measured along the specified direction Уклони - + Error Грешка @@ -3024,7 +3060,7 @@ measured along the specified direction Параметри помоћног облика - + Remove Уклони @@ -3188,7 +3224,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Промени активно тело @@ -3445,68 +3481,68 @@ click again to end selection Под-Повезивач Облика - + Several sub-elements selected Неколико под-елемената изабрано - + You have to select a single face as support for a sketch! Мораш изабрати једну страницу као основу за скицу! - + No support face selected Није одабрана страница као основа - + You have to select a face as support for a sketch! Мораш изабрати страницу као основу за скицу! - + No planar support Нема равни као основе - + You need a planar face as support for a sketch! Потребна је равна страница као основа за скицу! - + No valid planes in this document Нема важећих равни у овом документу - + Please create a plane first or select a face to sketch on Да би могао цртати скицу прво направи раван или изабери страницу - - - - - - - + + + + + + + A dialog is already open in the task panel Дијалог је већ отворен у панелу задатака - - - - - - - + + + + + + + Do you want to close this dialog? Да ли желите да затворите овај дијалог? @@ -3774,14 +3810,14 @@ This may lead to unexpected results. Не можеш применити типске облике који праве удубљења ако немаш на располагању основни типски облик - + Vertical sketch axis Вертикална оcа cкице - + Horizontal sketch axis Хоризонтална оса скице @@ -3835,20 +3871,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr Да би користио овај типски облик, он мора да припада делу у документу. + + - - Edit %1 Уреди %1 - + Set colors... Офарбај странице - + Edit boolean Уреди Булову операцију @@ -3893,57 +3929,57 @@ This feature is broken and can't be edited. Овај типски облик је покварен и не може се уређивати. - + Edit groove Уреди кружно удубљење - + Edit hole Уреди рупу - + Edit loft Уреди извлачење по пресецима - + Edit pad Уреди извлачење - + Edit pipe Уреди извлачење по путањи - + Edit pocket Уреди удубљење - + Edit primitive Уреди примитив - + Edit revolution Уреди ротацију - + Edit shape binder Уреди повезивач облика - + Synchronize Синхронизуј - + Select bound object Select bound object @@ -3963,27 +3999,27 @@ This feature is broken and can't be edited. Успешна трансформација - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Документ „%1“ који уређујеш је направљен са старом верзијом Part Design радног окружења. - + Do you want to migrate in order to use modern PartDesign features? Да ли желиш да мигрираш да би користио модерне функције Part Design радног окружења? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Чини се да је документ „%1“ или усред процеса миграције са застарелог Part Design радног окружења или има покварену структуру. - + Do you want to make the migration automatically? Да ли желиш да извршиш миграцију аутоматски? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3992,12 +4028,12 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Мада моћи ћеш Part Design да мигрираш у било ком тренутку касније помоћу 'Part Design -> Миграција'. - + Migrate manually Мигрирај ручно - + Edit helix Уреди хеликс @@ -4642,11 +4678,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Образац - No message @@ -4933,17 +4964,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Добијени облик није пуно тело @@ -4958,22 +4989,22 @@ over 90: larger hole radius at the bottom Булова операција пресек није успела - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Резултат има више пуних тела: ово тренутно није подржано. @@ -5036,8 +5067,8 @@ over 90: larger hole radius at the bottom Угао кружног удубљења је сувише мали - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5048,14 +5079,14 @@ over 90: larger hole radius at the bottom - изабрана скица не припада активном Телу. - + Creating a face from sketch failed Прављење страница помоћу скице није успело - + Revolve axis intersects the sketch Оса ротације пресеца скицу @@ -5065,14 +5096,14 @@ over 90: larger hole radius at the bottom Исецање основног типског облика није успело - + Could not revolve the sketch! Није могуће ротирати скицу! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Није могуће направити странице помоћу скице. @@ -5127,10 +5158,10 @@ Intersecting sketch entities in a sketch are not allowed. Грешка: Није могуће направити - + Error: Result is not a solid Грешка: Резултат није пуно тело @@ -5232,15 +5263,15 @@ Intersecting sketch entities in a sketch are not allowed. Грешка: Додавање навоја није успело + - Boolean operation failed Булова операција није успела - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Није могуће направити странице помоћу скице. @@ -5444,27 +5475,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Извлачење по путањи: Дошло је до фаталне грешке приликом прављења извлачења по путањи - + Invalid element in spine. Неисправни елемент је изабран у путањи водиљи. - + Element in spine is neither an edge nor a wire. Изабрани елемент у путањи водиљи није ни ивица ни жица. - + Spine is not connected. Постоје неповезани елементи у путањи водиљи. - + Spine is neither an edge nor a wire. Путања водиља није ни ивица ни жица. - + Invalid spine. Неисправна путања водиља. @@ -5499,120 +5530,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Удубљење: Исецање основног типског облика није успело - + Cannot subtract primitive feature without base feature Не могу да одузмем примитив без основног типског облика - + Adding the primitive failed Додавање примитива није успело - + Subtracting the primitive failed Одузимање примитива није успело - + Length of box too small Дужина кутије је сувише мала - + Width of box too small Ширина кутије је сувише мала - + Height of box too small Висина кутије је сувише мала - + Radius of cylinder too small Полупречник ваљка је сувише мали - + Height of cylinder too small Висина ваљка је сувише мала - + Rotation angle of cylinder too small Угао ротације ваљка је сувише мали - + Radius of sphere too small Полупречник лопте је сувише мали - - + + Radius of cone cannot be negative Полупречник купе не може бити негативан - + The radii for cones must not be equal Полупречници купе не смеју бити једнаки - + Height of cone too small Висина купе је сувише мала - - + + Radius of ellipsoid too small Полупречник елипсоида је сувише мали - - + + Radius of torus too small Полупречник торуса је сувише мали - + Polygon of prism is invalid, must have 3 or more sides Многоугао призме је неисправан, мора имати 3 или више страница - + Circumradius of the polygon, of the prism, is too small Полупречник описаног круга многоугла призме је сувише мали - + Height of prism is too small Висина призме је сувише мала - + delta x of wedge too small делта x клина сувише мало - + delta y of wedge too small делта y клина сувише мало - + delta z of wedge too small делта z клина сувише мало - + delta z2 of wedge is negative делта z2 клина је негативно - + delta x2 of wedge is negative делта x2 клина је негативно diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sv-SE.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sv-SE.ts index 1458dcf05b..76d73e4792 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sv-SE.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_sv-SE.ts @@ -882,8 +882,8 @@ so that self intersection is avoided. Create Clone - + Make copy Skapa kopia @@ -908,8 +908,8 @@ so that self intersection is avoided. Create Boolean - + Add a Body Add a Body @@ -939,22 +939,22 @@ so that self intersection is avoided. Move an object inside tree - + Mirrored Speglad - + Make LinearPattern Make LinearPattern - + PolarPattern Polärt mönster - + Scaled Skalad @@ -1569,7 +1569,7 @@ click again to end selection Vinkel - + Empty chamfer created ! Empty chamfer created ! @@ -1579,17 +1579,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Töm kropplista - + The body list cannot be empty Kropplistan får ej vara tom - + Boolean: Accept: Input error Boolean: Acceptera: Felinmatning @@ -1597,12 +1597,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Inkompatibel referensuppsättning - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Det finns inget knytningsläge som passar de givna referenserna. Om du väljer att fortsätta kommer funktionen att vara kvar där den är nu och kommer inte att flyttas om referenserna ändras. Fortsätt? @@ -1610,7 +1610,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Inmatningsfel @@ -1618,7 +1618,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Inmatningsfel @@ -1670,7 +1670,7 @@ click again to end selection Omvänd släppningens riktning - + Empty draft created ! Empty draft created ! @@ -1708,39 +1708,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected Inget yta vald - - + + Face Yta - + Sketch normal Sketch normal - + Face normal Face normal - + Select reference... Välj referens... + - Custom direction Custom direction - + Click on a face in the model Click on a face in the model @@ -1875,7 +1875,7 @@ click again to end selection Use All Edges - + Empty fillet created ! Empty fillet created ! @@ -2129,21 +2129,37 @@ click again to end selection + Mode + Läge + + + + Overall Length + Overall Length + + + + + Offset + Offset + + + Length Längd - + Occurrences Förekomster - + OK OK - + Update view Uppdatera vy @@ -2153,7 +2169,7 @@ click again to end selection Ta bort - + Error Fel @@ -2259,7 +2275,7 @@ click again to end selection Ta bort - + Error Fel @@ -2365,27 +2381,27 @@ click again to end selection Reverses pad direction - + Dimension Dimension - + To last Till sista - + To first Till första - + Up to face Upp till yta - + Two dimensions Två dimensioner @@ -2413,139 +2429,139 @@ click again to end selection Längd - + Offset to face Offset to face - + Direction Riktning - + Direction/edge: Direction/edge: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Sketch normal - + Select reference... Välj referens... - + Custom direction Custom direction - + Show direction Show direction - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used - + x x - + x-component of direction vector x-component of direction vector - + y Y - + y-component of direction vector y-component of direction vector - + z z - + z-component of direction vector z-component of direction vector - + If unchecked, the length will be measured along the specified direction If unchecked, the length will be measured along the specified direction - + Length along sketch normal Length along sketch normal - + Applies length symmetrically to sketch plane Applies length symmetrically to sketch plane - + Symmetric to plane Symmetrisk till plan - + Reversed Omvänd - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Taper angle - + 2nd length 2:a längd - + 2nd taper angle 2nd taper angle - + Select face Select face - + Update view Uppdatera vy @@ -2784,27 +2800,27 @@ measured along the specified direction Reverses pocket direction - + Dimension Dimension - + Through all Genom alla - + To first Till första - + Up to face Upp till yta - + Two dimensions Två dimensioner @@ -2843,21 +2859,41 @@ measured along the specified direction + Mode + Läge + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Vinkel - + + Offset + Offset + + + Occurrences Förekomster - + OK OK - + Update view Uppdatera vy @@ -2867,7 +2903,7 @@ measured along the specified direction Ta bort - + Error Fel @@ -3023,7 +3059,7 @@ measured along the specified direction Utgångsformens parametrar - + Remove Ta bort @@ -3187,7 +3223,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Växla aktiv kropp @@ -3444,68 +3480,68 @@ click again to end selection Sub-Shape Binder - + Several sub-elements selected Flera underelement valda - + You have to select a single face as support for a sketch! Du måste välja en enkel yta som stöd för en skiss! - + No support face selected Ingen stödyta vald - + You have to select a face as support for a sketch! Du måste välja en yta som stöd för en skiss! - + No planar support Inget planärt stöd - + You need a planar face as support for a sketch! Du behöver en plan yta som stöd för en skiss! - + No valid planes in this document Inga giltiga plan i detta dokument - + Please create a plane first or select a face to sketch on Vänligen skapa ett plan först eller välj en yta att skissa på - - - - - - - + + + + + + + A dialog is already open in the task panel En dialogruta är redan öppen i uppgiftspanelen - - - - - - - + + + + + + + Do you want to close this dialog? Vill du stänga denna dialogruta? @@ -3769,14 +3805,14 @@ This may lead to unexpected results. Det går inte att skapa en subtraktiv funktion utan en tillgänglig basfunktion - + Vertical sketch axis Vertikal skissaxel - + Horizontal sketch axis Horisontell skissaxel @@ -3830,20 +3866,20 @@ Om du har ett utdaterat dokument med Part Design-objekt utan kropp, använd migr För att kunna använda denna funktion måste den tillhöra en del i dokumentet. + + - - Edit %1 Redigera %1 - + Set colors... Ställ in färgerna ... - + Edit boolean Redigera boolesk funktion @@ -3887,57 +3923,57 @@ This feature is broken and can't be edited. %1 saknar en basfunktion. Denna funktion är trasig och kan inte redigeras. - + Edit groove Redigera skåra - + Edit hole Redigera hål - + Edit loft Redigera svepning - + Edit pad Redigera pad - + Edit pipe Redigera rör - + Edit pocket Redigera ficka - + Edit primitive Redigera primitiv - + Edit revolution Redigera vridning - + Edit shape binder Redigera formbindare - + Synchronize Synkronisera - + Select bound object Select bound object @@ -3957,27 +3993,27 @@ This feature is broken and can't be edited. Omvandling lyckades - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Dokumentet ”%1” du redigerar skapades med en gammal version av DelDesign arbetsbänk. - + Do you want to migrate in order to use modern PartDesign features? Vill du migrera för att kunna använda nya PartDesign-funktioner? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Dokumentet "%1" verkar vara antingen mitt i migreringsprocessen från äldre DelDesign eller ha en något skadad struktur. - + Do you want to make the migration automatically? Vill du göra migreringen automatiskt? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3986,12 +4022,12 @@ If you refuse to migrate you won't be able to use new PartDesign features like B Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually Migrera manuellt - + Edit helix Redigera helix @@ -4636,11 +4672,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Form - No message @@ -4811,7 +4842,7 @@ over 90: larger hole radius at the bottom Add column - Add column + Lägg till kolumn @@ -4927,17 +4958,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4952,22 +4983,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5030,8 +5061,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5042,14 +5073,14 @@ over 90: larger hole radius at the bottom - the selected sketch does not belong to the active Body. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5059,14 +5090,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5121,10 +5152,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5226,15 +5257,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5438,27 +5469,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5493,120 +5524,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_tr.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_tr.ts index 6d41a9fc20..c591162430 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_tr.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_tr.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Klone oluştur - + Make copy Kopya oluştur @@ -909,8 +909,8 @@ so that self intersection is avoided. Mantıksal (İşlem) Oluştur - + Add a Body Gövde Ekle @@ -940,22 +940,22 @@ so that self intersection is avoided. Bir nesneyi işlem ağacı içerisinde taşı - + Mirrored Aynala - + Make LinearPattern Doğrusal Çoğaltma yap - + PolarPattern Dairesel Çoğaltım - + Scaled Ölçeklendirilmiş @@ -1570,7 +1570,7 @@ seçimi bitirmek için tekrar basın Açı - + Empty chamfer created ! Ek bir düz pah yaratıldı! @@ -1580,17 +1580,17 @@ seçimi bitirmek için tekrar basın PartDesignGui::TaskDlgBooleanParameters - + Empty body list Boş gövde listesi - + The body list cannot be empty Gövde listesi boş olamaz - + Boolean: Accept: Input error Boolean: Kabul Ediyorum: Giriş hatası @@ -1598,12 +1598,12 @@ seçimi bitirmek için tekrar basın PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Uyumsuz referans seti - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Geçerli referans setine uyan hiçbir ek modu yoktur. Devam etmeyi seçerseniz, özellik şu an olduğu yerde kalacak ve referanslar değiştiğinden taşınmayacaktır. Devam? @@ -1611,7 +1611,7 @@ seçimi bitirmek için tekrar basın PartDesignGui::TaskDlgFeatureParameters - + Input error Girdi hatası @@ -1619,7 +1619,7 @@ seçimi bitirmek için tekrar basın PartDesignGui::TaskDlgShapeBinder - + Input error Girdi hatası @@ -1671,7 +1671,7 @@ seçimi bitirmek için tekrar basın Çekme yönünü ters çevir - + Empty draft created ! Boş bir taslak yaratıldı! @@ -1709,39 +1709,39 @@ seçimi bitirmek için tekrar basın PartDesignGui::TaskExtrudeParameters - + No face selected Seçili yüz yok - - + + Face Yüz - + Sketch normal Eskize dik - + Face normal Yüzey normali - + Select reference... Select reference... + - Custom direction Özel yön - + Click on a face in the model Modeldeki bir yüzeye tıklayın @@ -1876,7 +1876,7 @@ seçimi bitirmek için tekrar basın Tüm Kenarları Kullan - + Empty fillet created ! Ek bir yuvarlama yaratıldı ! @@ -2130,21 +2130,37 @@ seçimi bitirmek için tekrar basın + Mode + Mod + + + + Overall Length + Overall Length + + + + + Offset + Uzaklaşma + + + Length Uzunluk - + Occurrences Yineleme adedi - + OK Tamam - + Update view Görünümü güncelle @@ -2154,7 +2170,7 @@ seçimi bitirmek için tekrar basın Kaldır - + Error Hata @@ -2260,7 +2276,7 @@ seçimi bitirmek için tekrar basın Kaldır - + Error Hata @@ -2366,27 +2382,27 @@ seçimi bitirmek için tekrar basın Katılaştırıcı yönünü ters çevirir - + Dimension Boyut - + To last To last - + To first Birinciye kadar - + Up to face Yüze kadar - + Two dimensions İki boyutlu @@ -2414,139 +2430,139 @@ seçimi bitirmek için tekrar basın Uzunluk - + Offset to face Yüze göre ötele - + Direction Yön - + Direction/edge: Yön/kenar: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Eskize dik - + Select reference... Select reference... - + Custom direction Özel yön - + Show direction Yönü göster - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Ped yönü için özel vektör kullanın, aksi takdirde eskiz düzleminin normal vektörü kullanılacaktır - + x x - + x-component of direction vector yön vektörünün x bileşeni - + y y - + y-component of direction vector yön vektörünün y bileşeni - + z z - + z-component of direction vector yön vektörünün z bileşeni - + If unchecked, the length will be measured along the specified direction İşaret kaldırılırsa, uzunluk belirlenen yön boyunca ölçülecek - + Length along sketch normal Eskize dik doğrultudaki uzunluk - + Applies length symmetrically to sketch plane Uzunluğu, taslak düzlemine simetrik olarak uygular - + Symmetric to plane Symmetric to plane - + Reversed Ters çevirilmiş - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Konik Açı - + 2nd length İkinci uzunluk - + 2nd taper angle 2. konik açı - + Select face Yüzey seç - + Update view Görünümü güncelle @@ -2785,27 +2801,27 @@ belirlenen yön boyunca ölçülecek Delik (Cep) yönünü ters çevirir - + Dimension Boyut - + Through all Tümünün üzerinden - + To first Birinciye kadar - + Up to face Yüze kadar - + Two dimensions İki boyutlu @@ -2844,21 +2860,41 @@ belirlenen yön boyunca ölçülecek + Mode + Mod + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Açı - + + Offset + Uzaklaşma + + + Occurrences Yineleme adedi - + OK Tamam - + Update view Görünümü güncelle @@ -2868,7 +2904,7 @@ belirlenen yön boyunca ölçülecek Kaldır - + Error Hata @@ -3024,7 +3060,7 @@ belirlenen yön boyunca ölçülecek Referans şekil parametreleri - + Remove Kaldır @@ -3188,7 +3224,7 @@ seçimi bitirmek için tekrar basın PartDesignGui::ViewProviderBody - + Toggle active body Aktif gövdeyi aç / kapat @@ -3445,68 +3481,68 @@ seçimi bitirmek için tekrar basın Alt Şekil Bağlayıcı - + Several sub-elements selected Birkaç alt eleman seçildi - + You have to select a single face as support for a sketch! Bir eskizi desteklemek için tek bir yüzey seçmelisiniz! - + No support face selected Desteklenmeyen bir yüz seçili - + You have to select a face as support for a sketch! Taslak çizimi destekeleyen bir yüz seçmelisin! - + No planar support Düzlemsel desteği yok - + You need a planar face as support for a sketch! Bir eskiz desteği için düzlemsel bir yüze ihtiyacınız var! - + No valid planes in this document Bu belgede geçerli uçaklar yok - + Please create a plane first or select a face to sketch on Lütfen önce bir düzlem oluşturun ya da bir eskiz yüzeyi seçin - - - - - - - + + + + + + + A dialog is already open in the task panel Araç çubuğunda bir pencere zaten açık - - - - - - - + + + + + + + Do you want to close this dialog? Bu pencereyi kapatmak ister misiniz? @@ -3774,14 +3810,14 @@ Bu, beklenmedik sonuçlara neden olabilir. Mevcut bir temel özellik olmadan bir çıkarılabilir özellik oluşturmak mümkün değildir - + Vertical sketch axis Dikey taslak ekseni - + Horizontal sketch axis Yatay taslak ekseni @@ -3835,20 +3871,20 @@ Gövdeye sahip olmayan nesneler içeren eski bir belgeniz varsa, bunları bir g Bu özelliği kullanmak için belgedeki bir parçaya ait olması gerekir. + + - - Edit %1 %1'i düzenle - + Set colors... Renkleri ayarla... - + Edit boolean Mantıksal işlemi düzenle @@ -3893,57 +3929,57 @@ This feature is broken and can't be edited. Bu özellik bozuk ve düzenlenemiyor. - + Edit groove Yivi düzenle - + Edit hole Deliği düzenle - + Edit loft Çatılamayı düzenle - + Edit pad Pad'i düzenleme - + Edit pipe Boru düzenle - + Edit pocket Cebi düzenle - + Edit primitive Basit nesneyi düzenle - + Edit revolution Dönüşü düzenle - + Edit shape binder Şekil bağlayıcıyı düzenle - + Synchronize Eşitle - + Select bound object Sınır nesneyi seçin @@ -3963,27 +3999,27 @@ Bu özellik bozuk ve düzenlenemiyor. Dönüşüm başarılı oldu - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Düzenlediğiniz "%1" belgesi, ParçaTasarımı (PartDesign) tezgahının eski bir sürümüyle tasarlandı. - + Do you want to migrate in order to use modern PartDesign features? Modern ParçaTasarımı (PartDesign) özelliklerini kullanabilmek için geçiş yapmak istiyor musunuz? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. "%1" belgesi ya eski ParçaTasarımı'dan (PartDesign) geçiş sürecinin ortasında ya da biraz bozuk bir yapıya sahip görünüyor. - + Do you want to make the migration automatically? Taşıma işlemini otomatik olarak yapmak istiyor musunuz? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3992,12 +4028,12 @@ Geçiş İşlevini reddederseniz, Gövdeler ve Parçalar gibi yeni ParçaTasarı Buna karşın, daha sonra istediğiniz an 'ParçaTasarımı->Geçiş...' 'Part Design-> Migrate'. menüsü ile geçiş işlevini gerçekleştirebilirsiniz. - + Migrate manually Manuel olarak geçiş yap - + Edit helix Sarmalı düzenle @@ -4641,11 +4677,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Şekil: - No message @@ -4932,17 +4963,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4957,22 +4988,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5035,8 +5066,8 @@ over 90: larger hole radius at the bottom Oluk açısı çok dar - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5047,14 +5078,14 @@ over 90: larger hole radius at the bottom - seçili eskiz etkin Gövdeye ait değil. - + Creating a face from sketch failed Taslakdan yüzey yaratma hatası - + Revolve axis intersects the sketch Çevirme ekseni taslak ile kesizşiyor @@ -5064,14 +5095,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5126,10 +5157,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5231,15 +5262,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5443,27 +5474,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5498,120 +5529,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_uk.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_uk.ts index 5fcfbbeafa..40d6cdf1a6 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_uk.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_uk.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Створити Клон - + Make copy Зробити копію @@ -909,8 +909,8 @@ so that self intersection is avoided. Створити Булеву операцію - + Add a Body Додати Тіло @@ -940,22 +940,22 @@ so that self intersection is avoided. Перемістити об’єкт всередині ієрархії документа - + Mirrored Дзеркальне зображення - + Make LinearPattern Створити Лінійний масив - + PolarPattern Круговий масив - + Scaled Масштабування @@ -1570,7 +1570,7 @@ click again to end selection Кут - + Empty chamfer created ! Empty chamfer created ! @@ -1580,17 +1580,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list Пустий список тіл - + The body list cannot be empty Список тіл не може бути пустим - + Boolean: Accept: Input error Логічне значення: Прийняти: Помилка введення @@ -1598,12 +1598,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Несумісний набір орієнтирів - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? Відсутній режим приєднання, який би відповідав поточному набору орієнтирів. Якщо ви вирішите продовжити, елемент залишиться на поточному місці та не буде переміщений при зміні орієнтиру. Продовжити? @@ -1611,7 +1611,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Помилка вводу @@ -1619,7 +1619,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Помилка вводу @@ -1671,7 +1671,7 @@ click again to end selection Зворотний напрямок витягування - + Empty draft created ! Empty draft created ! @@ -1709,39 +1709,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected Грань не виділена - - + + Face Грань - + Sketch normal Нормаль Ескізу - + Face normal Нормаль Грані - + Select reference... Виберіть посилання... + - Custom direction Довільний напрямок - + Click on a face in the model Натисніть на грань в моделі @@ -1876,7 +1876,7 @@ click again to end selection Використовувати Всі Ребра - + Empty fillet created ! Empty fillet created ! @@ -2130,21 +2130,37 @@ click again to end selection + Mode + Режим + + + + Overall Length + Overall Length + + + + + Offset + Зміщення + + + Length Довжина - + Occurrences Кількість Входження - + OK Підтвердити - + Update view Оновити вигляд @@ -2154,7 +2170,7 @@ click again to end selection Видалити - + Error Помилка @@ -2260,7 +2276,7 @@ click again to end selection Видалити - + Error Помилка @@ -2366,27 +2382,27 @@ click again to end selection Змінює напрямок накладки - + Dimension Розмірність - + To last To last - + To first До першої - + Up to face До лиця - + Two dimensions Два розміри @@ -2414,138 +2430,138 @@ click again to end selection Довжина - + Offset to face Зсув до грані - + Direction Напрямок - + Direction/edge: Напрямок/ребро: - + Set a direction or select an edge from the model as reference Встановіть напрямок або виберіть ребро з моделі як орієнтир - + Sketch normal Нормаль Ескізу - + Select reference... Виберіть посилання... - + Custom direction Довільний напрямок - + Show direction Показати напрямок - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Використовуйте власний вектор для напрямку накладки, інакше буде використан вектор нормалі площини ескізу - + x x - + x-component of direction vector х-компонент вектора напрямку - + y y - + y-component of direction vector y-компонент вектора напрямку - + z z - + z-component of direction vector z-компонент вектора напрямку - + If unchecked, the length will be measured along the specified direction Якщо прапорець не встановлений, довжина вимірюватиметься вздовж зазначеного напрямку - + Length along sketch normal Довжина вздовж нормалі ескізу - + Applies length symmetrically to sketch plane Застосовує довжину симетрично площині ескізу - + Symmetric to plane Симетрично до площини - + Reversed Зворотній - - + + Angle to taper the extrusion Кут конусності екструзії - + Taper angle Кут конусності - + 2nd length 2га довжина - + 2nd taper angle Конусність 2ї довжини - + Select face Оберіть грань - + Update view Оновити вигляд @@ -2784,27 +2800,27 @@ measured along the specified direction Змінює напрямок вирізу - + Dimension Розмірність - + Through all Наскрізь - + To first До першої - + Up to face До лиця - + Two dimensions Два розміри @@ -2843,21 +2859,41 @@ measured along the specified direction + Mode + Режим + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Кут - + + Offset + Зміщення + + + Occurrences Кількість Входження - + OK Підтвердити - + Update view Оновити вигляд @@ -2867,7 +2903,7 @@ measured along the specified direction Видалити - + Error Помилка @@ -3023,7 +3059,7 @@ measured along the specified direction Параметри сполучної форми - + Remove Видалити @@ -3187,7 +3223,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Зробити тіло активним/неактивним @@ -3444,68 +3480,68 @@ click again to end selection Сполучна Форма для Підобʼєкта - + Several sub-elements selected Обрано декілька під-елементів - + You have to select a single face as support for a sketch! Потрібно обрати одну грань, як базу ескізу! - + No support face selected Не обрано базової грані - + You have to select a face as support for a sketch! Потрібна пласка поверхня для створення ескізу! - + No planar support Площина підтримки відсутня - + You need a planar face as support for a sketch! Потрібна плоска грань для створення ескізу! - + No valid planes in this document В цьому документі відсутні коректні площини - + Please create a plane first or select a face to sketch on Будь ласка, спочатку створіть або виберіть грань для розміщення ескізу - - - - - - - + + + + + + + A dialog is already open in the task panel Діалогове вікно вже відкрито в панелі задач - - - - - - - + + + + + + + Do you want to close this dialog? Ви бажаєте закрити це діалогове вікно? @@ -3773,14 +3809,14 @@ This may lead to unexpected results. Неможливо створити субтрактивний елемент без базового елементу - + Vertical sketch axis Вертикальна вісь ескізу - + Horizontal sketch axis Горизонтальна вісь ескізу @@ -3834,20 +3870,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr Щоб використовувати цю функцію, вона повина належати обʼєкту Деталь в документі. + + - - Edit %1 Редагувати %1 - + Set colors... Встановити кольори... - + Edit boolean Редагувати параметри бульової операції @@ -3892,57 +3928,57 @@ This feature is broken and can't be edited. Цей елемент зламаний. Його не можна редагувати. - + Edit groove Редагувати проточку - + Edit hole Редагувати отвір - + Edit loft Редагувати лофт - + Edit pad Редагувати накладку - + Edit pipe Редагувати трубний профіль - + Edit pocket Редагувати поглиблення - + Edit primitive Редагувати примітив - + Edit revolution Редагувати тіло обертання - + Edit shape binder Редагувати сполучну форму - + Synchronize Синхронізувати - + Select bound object Виберіть повʼязаний обʼєкт @@ -3962,27 +3998,27 @@ This feature is broken and can't be edited. Перетворення завершено - + The document "%1" you are editing was designed with an old version of PartDesign workbench. Редагований документ "%1" був створений за допомогою старої версії робочого середовища ДизайнуДеталі. - + Do you want to migrate in order to use modern PartDesign features? Ви бажаєте здійснити міграцію для того, щоб почати використовувати сучасні можливості робочого середовища ДизайнуДеталі? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. Схоже, що документ "%1" або знаходиться в середині процесу міграції зі застарілого ДизайнуДеталі, або має трохи порушену структуру. - + Do you want to make the migration automatically? Ви бажаєте зробити міграцію автоматично? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3991,12 +4027,12 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Хоча ви зможете мігрувати будь-якої миті пізніше за допомогою 'Дизайн Деталі -> Мігрувати'. - + Migrate manually Мігрувати вручну - + Edit helix Редагувати спіраль @@ -4641,11 +4677,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Форма - No message @@ -4932,17 +4963,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4957,22 +4988,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5035,8 +5066,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5047,14 +5078,14 @@ over 90: larger hole radius at the bottom - виділений ескіз не належить до активного тіла. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5064,14 +5095,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5126,10 +5157,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5231,15 +5262,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5443,27 +5474,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5498,120 +5529,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_val-ES.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_val-ES.ts index d01d7870c7..27d180b05f 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_val-ES.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_val-ES.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. Create Clone - + Make copy Make copy @@ -909,8 +909,8 @@ so that self intersection is avoided. Create Boolean - + Add a Body Add a Body @@ -940,22 +940,22 @@ so that self intersection is avoided. Move an object inside tree - + Mirrored Simetria - + Make LinearPattern Make LinearPattern - + PolarPattern Patró polar - + Scaled Escalat @@ -1570,7 +1570,7 @@ click again to end selection Angle - + Empty chamfer created ! Empty chamfer created ! @@ -1580,17 +1580,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list La llista de cossos està buida - + The body list cannot be empty La llista de cossos no pot estar buida - + Boolean: Accept: Input error Booleà: Accepta: error d'entrada @@ -1598,12 +1598,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set Conjunt de referències incompatible - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? No hi ha cap mode d'adjunció que s'adapte al conjunt actual de referències. Si decidiu continuar, la funció romandrà on és ara i no es desplaçarà a mesura que canvien les referències. Voleu continuar? @@ -1611,7 +1611,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error Input error @@ -1619,7 +1619,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error Input error @@ -1671,7 +1671,7 @@ click again to end selection Inverteix la direcció de tracció - + Empty draft created ! Empty draft created ! @@ -1709,39 +1709,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected No s'ha seleccionat cap cara. - - + + Face Cara - + Sketch normal Sketch normal - + Face normal Face normal - + Select reference... Select reference... + - Custom direction Custom direction - + Click on a face in the model Click on a face in the model @@ -1876,7 +1876,7 @@ click again to end selection Use All Edges - + Empty fillet created ! Empty fillet created ! @@ -2130,21 +2130,37 @@ click again to end selection + Mode + Mode + + + + Overall Length + Overall Length + + + + + Offset + Separació + + + Length Longitud - + Occurrences Ocurrències - + OK D'acord - + Update view Actualitza la vista @@ -2154,7 +2170,7 @@ click again to end selection Elimina - + Error Error @@ -2260,7 +2276,7 @@ click again to end selection Elimina - + Error Error @@ -2366,27 +2382,27 @@ click again to end selection Reverses pad direction - + Dimension Dimensió - + To last To last - + To first A la primera - + Up to face Fins a la cara - + Two dimensions Dues dimensions @@ -2414,139 +2430,139 @@ click again to end selection Longitud - + Offset to face Offset to face - + Direction Direcció - + Direction/edge: Direction/edge: - + Set a direction or select an edge from the model as reference Set a direction or select an edge from the model as reference - + Sketch normal Sketch normal - + Select reference... Select reference... - + Custom direction Custom direction - + Show direction Show direction - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used - + x x - + x-component of direction vector x-component of direction vector - + y y - + y-component of direction vector y-component of direction vector - + z z - + z-component of direction vector z-component of direction vector - + If unchecked, the length will be measured along the specified direction If unchecked, the length will be measured along the specified direction - + Length along sketch normal Length along sketch normal - + Applies length symmetrically to sketch plane Applies length symmetrically to sketch plane - + Symmetric to plane Symmetric to plane - + Reversed Reversed - - + + Angle to taper the extrusion Angle to taper the extrusion - + Taper angle Taper angle - + 2nd length 2a longitud - + 2nd taper angle 2nd taper angle - + Select face Select face - + Update view Actualitza la vista @@ -2785,27 +2801,27 @@ measured along the specified direction Reverses pocket direction - + Dimension Dimensió - + Through all A través de totes - + To first A la primera - + Up to face Fins a la cara - + Two dimensions Dues dimensions @@ -2844,21 +2860,41 @@ measured along the specified direction + Mode + Mode + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle Angle - + + Offset + Separació + + + Occurrences Ocurrències - + OK D'acord - + Update view Actualitza la vista @@ -2868,7 +2904,7 @@ measured along the specified direction Elimina - + Error Error @@ -3024,7 +3060,7 @@ measured along the specified direction Paràmetres de referència de la forma - + Remove Elimina @@ -3188,7 +3224,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body Commuta el cos actiu @@ -3445,68 +3481,68 @@ click again to end selection Sub-Shape Binder - + Several sub-elements selected S'han seleccionat diversos sub-elements - + You have to select a single face as support for a sketch! Heu de seleccionar una única cara com a suport de l'esbós. - + No support face selected No s'ha seleccionat una cara de suport - + You have to select a face as support for a sketch! Heu seleccionat una cara de suport per a un esbós. - + No planar support No hi ha suport planari - + You need a planar face as support for a sketch! Necessiteu una cara d'un pla com a suport per a un esbós. - + No valid planes in this document No hi ha cap pla vàlid en aquest document. - + Please create a plane first or select a face to sketch on Creeu primer un pla o seleccioneu una cara a esbossar - - - - - - - + + + + + + + A dialog is already open in the task panel A dialog is already open in the task panel - - - - - - - + + + + + + + Do you want to close this dialog? Do you want to close this dialog? @@ -3772,14 +3808,14 @@ Això pot portar a resultats inesperats. No és possible crear una funció subtractiva sense una funció de base disponible. - + Vertical sketch axis Vertical sketch axis - + Horizontal sketch axis Horizontal sketch axis @@ -3833,20 +3869,20 @@ Si teniu un document antic amb objectes PartDesign sense cos, utilitzeu la funci Per a utilitzar aquesta característica ha de pertànyer a un objecte peça del document. + + - - Edit %1 Edita %1 - + Set colors... Estableix els colors... - + Edit boolean Edita el valor booleà @@ -3890,57 +3926,57 @@ This feature is broken and can't be edited. %1 perd una funció de base. Aquesta funció està trencada i no es pot editar. - + Edit groove Edita la ranura - + Edit hole Edita el forat - + Edit loft Edita la projecció - + Edit pad Edit el buidatge - + Edit pipe Edita el tub - + Edit pocket Edit pocket - + Edit primitive Edita la primitiva - + Edit revolution Edita la revolució - + Edit shape binder Edita la forma unida - + Synchronize Synchronize - + Select bound object Select bound object @@ -3960,27 +3996,27 @@ This feature is broken and can't be edited. S'ha realitzat la transformació - + The document "%1" you are editing was designed with an old version of PartDesign workbench. El document "%1" que editeu s'ha dissenyat amb una versió antiga del banc de treball de Disseny de peces. - + Do you want to migrate in order to use modern PartDesign features? Voleu migrar per a utilitzar funcionalitats modernes de PartDesign? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. El document "%1" sembla ser al mig del procés de migració des de l'antic PartDesign o té una estructura una mica trencada. - + Do you want to make the migration automatically? Voleu fer la migració automàticament? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3989,12 +4025,12 @@ If you refuse to migrate you won't be able to use new PartDesign features like B Although you will be able to migrate any moment later with 'Part Design -> Migrate'. - + Migrate manually Migra manualment - + Edit helix Edit helix @@ -4639,11 +4675,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - Forma - No message @@ -4930,17 +4961,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4955,22 +4986,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5033,8 +5064,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5045,14 +5076,14 @@ over 90: larger hole radius at the bottom - the selected sketch does not belong to the active Body. - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5062,14 +5093,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5124,10 +5155,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5229,15 +5260,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5441,27 +5472,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5496,120 +5527,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts index 53ed06560d..a4be2f4672 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. 创建副本 - + Make copy 制作副本 @@ -909,8 +909,8 @@ so that self intersection is avoided. 创建布尔变量 - + Add a Body 添加实体 @@ -940,22 +940,22 @@ so that self intersection is avoided. 在树中移动对象 - + Mirrored 镜像 - + Make LinearPattern 线性阵列 - + PolarPattern 环形阵列 - + Scaled 缩放 @@ -1570,7 +1570,7 @@ click again to end selection 角度 - + Empty chamfer created ! Empty chamfer created ! @@ -1580,17 +1580,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list 空的实体列表 - + The body list cannot be empty 实体列表不能空 - + Boolean: Accept: Input error 布尔值: 接受: 输入错误 @@ -1598,12 +1598,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set 不兼容的引用集 - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? 没有适合当前参照集的依附模式。如果您选择继续,特征将保持现有状态,且将被定义为参照更改而不被移动。要继续吗? @@ -1611,7 +1611,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error 输入错误 @@ -1619,7 +1619,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error 输入错误 @@ -1671,7 +1671,7 @@ click again to end selection 反转拔模方向 - + Empty draft created ! Empty draft created ! @@ -1709,39 +1709,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected 未选择任何面 - - + + Face - + Sketch normal 草图法向 - + Face normal 面法线 - + Select reference... Select reference... + - Custom direction 自定义方向: - + Click on a face in the model 点击模型中的一个面 @@ -1876,7 +1876,7 @@ click again to end selection 使用所有边 - + Empty fillet created ! Empty fillet created ! @@ -2130,21 +2130,37 @@ click again to end selection + Mode + 模式 + + + + Overall Length + Overall Length + + + + + Offset + 偏移 + + + Length 长度 - + Occurrences 出现次数 - + OK 确定 - + Update view 更新视图 @@ -2154,7 +2170,7 @@ click again to end selection 删除 - + Error 错误 @@ -2260,7 +2276,7 @@ click again to end selection 删除 - + Error 错误 @@ -2366,27 +2382,27 @@ click again to end selection 反转凸台方向 - + Dimension 尺寸标注 - + To last 直到最后 - + To first 到起始位置 - + Up to face 直到表面 - + Two dimensions 双向尺寸 @@ -2414,138 +2430,138 @@ click again to end selection 长度 - + Offset to face 相对于面偏移 - + Direction 方向 - + Direction/edge: 方向/边缘: - + Set a direction or select an edge from the model as reference 设置一个方向或从模型中选择边 作为参考值 - + Sketch normal 草图法向 - + Select reference... Select reference... - + Custom direction 自定义方向: - + Show direction 显示方向 - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used 否则,请将自定义向量用于凸台方向 将使用草图平面的法向量 - + x x - + x-component of direction vector 方向向量的x分量 - + y y - + y-component of direction vector 方向向量的y分量 - + z z - + z-component of direction vector 方向向量的z分量 - + If unchecked, the length will be measured along the specified direction 如果不选中,长度将按照指定的方向进行测量 - + Length along sketch normal 沿草图法线长度: - + Applies length symmetrically to sketch plane 将长度对称地应用于草图平面中 - + Symmetric to plane 相当平面对称 - + Reversed 反转 - - + + Angle to taper the extrusion 倾斜拉伸的角度 - + Taper angle 锥度 - + 2nd length 第二长度 - + 2nd taper angle 第二锥角 - + Select face 选取面 - + Update view 更新视图 @@ -2784,27 +2800,27 @@ measured along the specified direction 反转凹坑方向 - + Dimension 尺寸标注 - + Through all 通过所有 - + To first 到起始位置 - + Up to face 直到表面 - + Two dimensions 双向尺寸 @@ -2843,21 +2859,41 @@ measured along the specified direction + Mode + 模式 + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle 角度 - + + Offset + 偏移 + + + Occurrences 出现次数 - + OK 确定 - + Update view 更新视图 @@ -2867,7 +2903,7 @@ measured along the specified direction 删除 - + Error 错误 @@ -3023,7 +3059,7 @@ measured along the specified direction 基准图形参数 - + Remove 删除 @@ -3187,7 +3223,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body 切换活动实体 @@ -3444,68 +3480,68 @@ click again to end selection 子形状投影器 - + Several sub-elements selected 若干子元素被选择 - + You have to select a single face as support for a sketch! 您必须选择一个支持面以绘制草图! - + No support face selected 未选中支持面 - + You have to select a face as support for a sketch! 您必须选择一个支持面以绘制草图! - + No planar support 无支持平面 - + You need a planar face as support for a sketch! 您需要一个支持平面以绘制草图! - + No valid planes in this document 文档中无有效平面 - + Please create a plane first or select a face to sketch on 请先创建一个平面或选择一个平面用于画草图 - - - - - - - + + + + + + + A dialog is already open in the task panel 一个对话框已在任务面板打开 - - - - - - - + + + + + + + Do you want to close this dialog? 您要关闭此对话框吗? @@ -3773,14 +3809,14 @@ This may lead to unexpected results. 如果没有可用的基础特征, 就不可能创建减料特征 - + Vertical sketch axis 垂直草绘轴 - + Horizontal sketch axis 水平草绘轴 @@ -3834,20 +3870,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr 要使用此特征, 它需隶属于文档中的零件对象。 + + - - Edit %1 编辑 %1 - + Set colors... 设置颜色... - + Edit boolean 编辑布尔运算 @@ -3892,57 +3928,57 @@ This feature is broken and can't be edited. 此特征已损坏, 无法编辑。 - + Edit groove 编辑挖槽 - + Edit hole 编辑孔 - + Edit loft 编辑放样 - + Edit pad 编辑凸台 - + Edit pipe 编辑管 - + Edit pocket 编辑凹槽 - + Edit primitive 编辑图元 - + Edit revolution 编辑旋转体 - + Edit shape binder 编辑图形面 - + Synchronize 同步 - + Select bound object 选择绑定对象 @@ -3962,39 +3998,39 @@ This feature is broken and can't be edited. 变换成功 - + The document "%1" you are editing was designed with an old version of PartDesign workbench. 您正在编辑的文档 "%1" 是用旧版本的零件设计工作台设计的。 - + Do you want to migrate in order to use modern PartDesign features? 是否要迁移以使用时下的零件设计功能? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. 文档 "%1" 似乎正处于从旧版零件设计工作台迁移的过程中, 或有一个轻微的破碎结构。 - + Do you want to make the migration automatically? 想要让移动自动进行吗? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. 注意: 如果您选择迁移, 您将无法使用旧的 FreeCAD 版本编辑该文件。如果你拒绝迁移, 你将无法使用新的零件设计工作台功能, 如实体和零部件。因此, 您也无法在装配工作台中使用您的零部件。但是以后您仍然可以用 "零件设计-迁移..."来完成迁移。 - + Migrate manually 手动迁移 - + Edit helix 编辑螺旋线 @@ -4639,11 +4675,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - 窗体 - No message @@ -4930,17 +4961,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid Resulting shape is not a solid @@ -4955,22 +4986,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. Result has multiple solids: that is not currently supported. @@ -5033,8 +5064,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5045,14 +5076,14 @@ over 90: larger hole radius at the bottom - 选中的草图不属于活动实体。 - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5062,14 +5093,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5124,10 +5155,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid Error: Result is not a solid @@ -5229,15 +5260,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5441,27 +5472,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5496,120 +5527,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-TW.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-TW.ts index bef17de885..625dc93f94 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-TW.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-TW.ts @@ -883,8 +883,8 @@ so that self intersection is avoided. 建立一個副本 - + Make copy 製作拷貝 @@ -909,8 +909,8 @@ so that self intersection is avoided. 建立布林運算 - + Add a Body 增加一個實體 @@ -940,22 +940,22 @@ so that self intersection is avoided. 將一個物件移至樹中 - + Mirrored 鏡像 - + Make LinearPattern 建立線形樣式 - + PolarPattern 環狀複製模式 - + Scaled 縮放 @@ -1568,7 +1568,7 @@ click again to end selection 角度 - + Empty chamfer created ! Empty chamfer created ! @@ -1578,17 +1578,17 @@ click again to end selection PartDesignGui::TaskDlgBooleanParameters - + Empty body list 清空本體清單 - + The body list cannot be empty 物體列表不能空白 - + Boolean: Accept: Input error 布林值: 接受: 輸出錯誤 @@ -1596,12 +1596,12 @@ click again to end selection PartDesignGui::TaskDlgDatumParameters - + Incompatible reference set 不相容的參照集 - + There is no attachment mode that fits the current set of references. If you choose to continue, the feature will remain where it is now, and will not be moved as the references change. Continue? 沒有適合當前參考集的附件模式。如果您選擇繼續,該特徵將保留在它現在的位置,並且不會隨著參考的變化而移動。是否繼續 ? @@ -1609,7 +1609,7 @@ click again to end selection PartDesignGui::TaskDlgFeatureParameters - + Input error 輸入錯誤 @@ -1617,7 +1617,7 @@ click again to end selection PartDesignGui::TaskDlgShapeBinder - + Input error 輸入錯誤 @@ -1668,7 +1668,7 @@ click again to end selection 反轉拔模方向 - + Empty draft created ! 已建立空草稿! @@ -1705,39 +1705,39 @@ click again to end selection PartDesignGui::TaskExtrudeParameters - + No face selected 無選定之面 - - + + Face - + Sketch normal 草圖法線 - + Face normal 面法線 - + Select reference... 選取參考... + - Custom direction 自訂方向 - + Click on a face in the model 點擊模型中的一個面 @@ -1871,7 +1871,7 @@ click again to end selection 使用所有邊線 - + Empty fillet created ! Empty fillet created ! @@ -2125,21 +2125,37 @@ click again to end selection + Mode + 模式 + + + + Overall Length + Overall Length + + + + + Offset + 偏移複製 + + + Length 間距 - + Occurrences 產生次數 - + OK 確定 - + Update view 更新視圖 @@ -2149,7 +2165,7 @@ click again to end selection 移除 - + Error 錯誤 @@ -2255,7 +2271,7 @@ click again to end selection 移除 - + Error 錯誤 @@ -2361,27 +2377,27 @@ click again to end selection 相反填充方向 - + Dimension 標註 - + To last 到最後位置 - + To first 到起始面 - + Up to face 向上至面 - + Two dimensions 雙向填充 @@ -2409,136 +2425,136 @@ click again to end selection 間距 - + Offset to face 偏移至面 - + Direction 方向 - + Direction/edge: 方向/邊: - + Set a direction or select an edge from the model as reference 設定方向或是由模型選擇一個邊作為參考 - + Sketch normal 草圖法線 - + Select reference... 選取參考... - + Custom direction 自訂方向 - + Show direction 顯示方向 - + Use custom vector for pad direction, otherwise the sketch plane's normal vector will be used 使用自定向量作為填充方向,否則使用草圖平面的法線來長厚度 - + x x - + x-component of direction vector 方向向量的 x 分量 - + y y - + y-component of direction vector 方向向量的 y 分量 - + z z - + z-component of direction vector 方向向量的 z 分量 - + If unchecked, the length will be measured along the specified direction 若未選擇的話,其長度將沿著指定方向測量 - + Length along sketch normal 沿著草圖法線的長度 - + Applies length symmetrically to sketch plane 將長度對稱地應用於草圖平面 - + Symmetric to plane 依平面對稱 - + Reversed 反轉 - - + + Angle to taper the extrusion 擠出錐度的角度 - + Taper angle 錐角 - + 2nd length 第二長度 - + 2nd taper angle 第2錐角 - + Select face 選擇面 - + Update view 更新視圖 @@ -2777,27 +2793,27 @@ measured along the specified direction 相反凹陷方向 - + Dimension 標註 - + Through all 完全貫穿 - + To first 到起始面 - + Up to face 向上至面 - + Two dimensions 雙向填充 @@ -2836,21 +2852,41 @@ measured along the specified direction + Mode + 模式 + + + + Overall Angle + Overall Angle + + + + Offset Angle + Offset Angle + + + Angle 角度 - + + Offset + 偏移複製 + + + Occurrences 產生次數 - + OK 確定 - + Update view 更新視圖 @@ -2860,7 +2896,7 @@ measured along the specified direction 移除 - + Error 錯誤 @@ -3016,7 +3052,7 @@ measured along the specified direction 基準形狀參數 - + Remove 移除 @@ -3179,7 +3215,7 @@ click again to end selection PartDesignGui::ViewProviderBody - + Toggle active body 切換激活的實體 @@ -3436,68 +3472,68 @@ click again to end selection 子形狀粘合劑 - + Several sub-elements selected 多個次元素被選取 - + You have to select a single face as support for a sketch! 您需要選擇單一面作為草圖之基準面! - + No support face selected 未選取基礎面 - + You have to select a face as support for a sketch! 您需要選擇一個面作為草圖之基準面! - + No planar support 無平面之基礎面 - + You need a planar face as support for a sketch! 您需要選取平面作為草圖之基準面! - + No valid planes in this document 在本文件的非法平面 - + Please create a plane first or select a face to sketch on 請先創建一個平面或選擇要在其上繪製草圖的面 - - - - - - - + + + + + + + A dialog is already open in the task panel 於工作面板已開啟對話窗 - - - - - - - + + + + + + + Do you want to close this dialog? 您確定要關閉此對話窗嗎? @@ -3763,14 +3799,14 @@ This may lead to unexpected results. 如果沒有可用的基本特徵,則無法創建除料特徵 - + Vertical sketch axis 垂直草圖軸 - + Horizontal sketch axis 水平草圖軸 @@ -3824,20 +3860,20 @@ If you have a legacy document with PartDesign objects without Body, use the migr 為了使用此特徵,它需要屬於文件中的一個零件物件。 + + - - Edit %1 編輯 %1 - + Set colors... 設定顏色... - + Edit boolean 編輯布林 @@ -3882,57 +3918,57 @@ This feature is broken and can't be edited. 此特徵已損毀而無法編輯。 - + Edit groove 編輯挖槽 - + Edit hole 編輯洞 - + Edit loft 編輯拉伸體 - + Edit pad 編輯填充 - + Edit pipe 編輯管件 - + Edit pocket 編輯凹陷 - + Edit primitive 編輯幾何形體 - + Edit revolution 編輯旋轉成形 - + Edit shape binder 編輯形狀粘合劑 - + Synchronize 同步 - + Select bound object 選擇綁定物件 @@ -3952,27 +3988,27 @@ This feature is broken and can't be edited. 效果成功產生 - + The document "%1" you are editing was designed with an old version of PartDesign workbench. 您所編輯的文件 "%1" 是由舊版的 PartDesign 工作台所設計。 - + Do you want to migrate in order to use modern PartDesign features? 您要遷移以使用現代 PartDesign 功能嗎? - + The document "%1" seems to be either in the middle of the migration process from legacy PartDesign or have a slightly broken structure. 文檔 "%1" 似乎正處於從舊 PartDesign 遷移過程的中間,或者具有輕微損壞的結構。 - + Do you want to make the migration automatically? 您需要使遷移自動進行嗎? - + Note: If you choose to migrate you won't be able to edit the file with an older FreeCAD version. If you refuse to migrate you won't be able to use new PartDesign features like Bodies and Parts. As a result you also won't be able to use your parts in the assembly workbench. Although you will be able to migrate any moment later with 'Part Design -> Migrate'. @@ -3981,12 +4017,12 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi 儘管您稍後可以使用“零件設計 -> 遷移”進行遷移。 - + Migrate manually 手動遷移 - + Edit helix 編輯螺旋 @@ -4630,11 +4666,6 @@ over 90: larger hole radius at the bottom TaskTransformedMessages - - - Form - 格式 - No message @@ -4921,17 +4952,17 @@ over 90: larger hole radius at the bottom Fusion of tools failed - - - - + + - - - - + + + + + + Resulting shape is not a solid 產成形狀不是固體 @@ -4946,22 +4977,22 @@ over 90: larger hole radius at the bottom Common operation failed - - - - - - - - + + + + - - - - + + + + + + + + Result has multiple solids: that is not currently supported. 產生形狀有多重(非相連)固體:目前尚未支援。 @@ -5024,8 +5055,8 @@ over 90: larger hole radius at the bottom Angle of groove too small - + The requested feature cannot be created. The reason may be that: - the active Body does not contain a base shape, so there is no material to be removed; @@ -5035,14 +5066,14 @@ over 90: larger hole radius at the bottom - 所選擇的草圖不屬於活躍實體。 - + Creating a face from sketch failed Creating a face from sketch failed - + Revolve axis intersects the sketch Revolve axis intersects the sketch @@ -5052,14 +5083,14 @@ over 90: larger hole radius at the bottom Cut out of base feature failed - + Could not revolve the sketch! Could not revolve the sketch! - + Could not create face from sketch. Intersecting sketch entities in a sketch are not allowed. Could not create face from sketch. @@ -5114,10 +5145,10 @@ Intersecting sketch entities in a sketch are not allowed. Error: Could not build - + Error: Result is not a solid 錯誤:產生形狀不是固體 @@ -5219,15 +5250,15 @@ Intersecting sketch entities in a sketch are not allowed. Error: Adding the thread failed + - Boolean operation failed Boolean operation failed - + Could not create face from sketch. Intersecting sketch entities or multiple faces in a sketch are not allowed for making a pocket up to a face. Could not create face from sketch. @@ -5431,27 +5462,27 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.A fatal error occurred when making the pipe - + Invalid element in spine. Invalid element in spine. - + Element in spine is neither an edge nor a wire. Element in spine is neither an edge nor a wire. - + Spine is not connected. Spine is not connected. - + Spine is neither an edge nor a wire. Spine is neither an edge nor a wire. - + Invalid spine. Invalid spine. @@ -5486,120 +5517,120 @@ Intersecting sketch entities or multiple faces in a sketch are not allowed.Pocket: Cut out of base feature failed - + Cannot subtract primitive feature without base feature Cannot subtract primitive feature without base feature - + Adding the primitive failed Adding the primitive failed - + Subtracting the primitive failed Subtracting the primitive failed - + Length of box too small Length of box too small - + Width of box too small Width of box too small - + Height of box too small Height of box too small - + Radius of cylinder too small Radius of cylinder too small - + Height of cylinder too small Height of cylinder too small - + Rotation angle of cylinder too small Rotation angle of cylinder too small - + Radius of sphere too small Radius of sphere too small - - + + Radius of cone cannot be negative Radius of cone cannot be negative - + The radii for cones must not be equal The radii for cones must not be equal - + Height of cone too small Height of cone too small - - + + Radius of ellipsoid too small Radius of ellipsoid too small - - + + Radius of torus too small Radius of torus too small - + Polygon of prism is invalid, must have 3 or more sides Polygon of prism is invalid, must have 3 or more sides - + Circumradius of the polygon, of the prism, is too small Circumradius of the polygon, of the prism, is too small - + Height of prism is too small Height of prism is too small - + delta x of wedge too small delta x of wedge too small - + delta y of wedge too small delta y of wedge too small - + delta z of wedge too small delta z of wedge too small - + delta z2 of wedge is negative delta z2 of wedge is negative - + delta x2 of wedge is negative delta x2 of wedge is negative diff --git a/src/Mod/PartDesign/Gui/SketchWorkflow.cpp b/src/Mod/PartDesign/Gui/SketchWorkflow.cpp index 0b2731a967..2303076404 100644 --- a/src/Mod/PartDesign/Gui/SketchWorkflow.cpp +++ b/src/Mod/PartDesign/Gui/SketchWorkflow.cpp @@ -634,7 +634,6 @@ private: SketchWorkflow::SketchWorkflow(Gui::Document* document) : guidocument(document) - , activeBody(nullptr) { appdocument = guidocument->getDocument(); } diff --git a/src/Mod/PartDesign/Gui/SketchWorkflow.h b/src/Mod/PartDesign/Gui/SketchWorkflow.h index 97ce53b6f3..f27e56c056 100644 --- a/src/Mod/PartDesign/Gui/SketchWorkflow.h +++ b/src/Mod/PartDesign/Gui/SketchWorkflow.h @@ -57,7 +57,7 @@ private: private: Gui::Document* guidocument; App::Document* appdocument; - PartDesign::Body* activeBody; + PartDesign::Body* activeBody{nullptr}; }; } // namespace PartDesignGui diff --git a/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp b/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp index 766886d2c9..07c7774828 100644 --- a/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskBooleanParameters.cpp @@ -71,10 +71,10 @@ TaskBooleanParameters::TaskBooleanParameters(ViewProviderBoolean *BooleanView,QW PartDesign::Boolean* pcBoolean = static_cast(BooleanView->getObject()); std::vector bodies = pcBoolean->Group.getValues(); - for (std::vector::const_iterator it = bodies.begin(); it != bodies.end(); ++it) { + for (auto body : bodies) { QListWidgetItem* item = new QListWidgetItem(ui->listWidgetBodies); - item->setText(QString::fromUtf8((*it)->Label.getValue())); - item->setData(Qt::UserRole, QString::fromLatin1((*it)->getNameInDocument())); + item->setText(QString::fromUtf8(body->Label.getValue())); + item->setData(Qt::UserRole, QString::fromLatin1(body->getNameInDocument())); } // Create context menu @@ -284,9 +284,7 @@ void TaskBooleanParameters::onBodyDeleted() } } -TaskBooleanParameters::~TaskBooleanParameters() -{ -} +TaskBooleanParameters::~TaskBooleanParameters() = default; void TaskBooleanParameters::changeEvent(QEvent *e) { @@ -321,10 +319,7 @@ TaskDlgBooleanParameters::TaskDlgBooleanParameters(ViewProviderBoolean *BooleanV Content.push_back(parameter); } -TaskDlgBooleanParameters::~TaskDlgBooleanParameters() -{ - -} +TaskDlgBooleanParameters::~TaskDlgBooleanParameters() = default; //==== calls from the TaskView =============================================================== @@ -355,8 +350,9 @@ bool TaskDlgBooleanParameters::accept() } std::stringstream str; str << Gui::Command::getObjectCmd(obj) << ".setObjects( ["; - for (std::vector::const_iterator it = bodies.begin(); it != bodies.end(); ++it) - str << "App.getDocument('" << obj->getDocument()->getName() << "').getObject('" << *it << "'),"; + for (const auto & body : bodies) { + str << "App.getDocument('" << obj->getDocument()->getName() << "').getObject('" << body << "'),"; + } str << "])"; Gui::Command::runCommand(Gui::Command::Doc,str.str().c_str()); } @@ -382,8 +378,9 @@ bool TaskDlgBooleanParameters::reject() if (obj->BaseFeature.getValue()) { doc->setShow(obj->BaseFeature.getValue()->getNameInDocument()); std::vector bodies = obj->Group.getValues(); - for (std::vector::const_iterator b = bodies.begin(); b != bodies.end(); b++) - doc->setShow((*b)->getNameInDocument()); + for (auto body : bodies) { + doc->setShow(body->getNameInDocument()); + } } } diff --git a/src/Mod/PartDesign/Gui/TaskBooleanParameters.ui b/src/Mod/PartDesign/Gui/TaskBooleanParameters.ui index 7f959dea70..0176226986 100644 --- a/src/Mod/PartDesign/Gui/TaskBooleanParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskBooleanParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp b/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp index 98033ac01c..64227912fe 100644 --- a/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskChamferParameters.cpp @@ -67,9 +67,8 @@ TaskChamferParameters::TaskChamferParameters(ViewProviderDressUp *DressUpView, Q QMetaObject::invokeMethod(ui->chamferSize, "setFocus", Qt::QueuedConnection); std::vector strings = pcChamfer->Base.getSubValues(); - for (std::vector::const_iterator i = strings.begin(); i != strings.end(); i++) - { - ui->listWidgetReferences->addItem(QString::fromStdString(*i)); + for (const auto & string : strings) { + ui->listWidgetReferences->addItem(QString::fromStdString(string)); } QMetaObject::connectSlotsByName(this); @@ -337,10 +336,7 @@ TaskDlgChamferParameters::TaskDlgChamferParameters(ViewProviderChamfer *DressUpV Content.push_back(parameter); } -TaskDlgChamferParameters::~TaskDlgChamferParameters() -{ - -} +TaskDlgChamferParameters::~TaskDlgChamferParameters() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Mod/PartDesign/Gui/TaskChamferParameters.ui b/src/Mod/PartDesign/Gui/TaskChamferParameters.ui index 1035f3c36b..a45878b4b2 100644 --- a/src/Mod/PartDesign/Gui/TaskChamferParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskChamferParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskDatumParameters.cpp b/src/Mod/PartDesign/Gui/TaskDatumParameters.cpp index 20eed4b5d5..8a46ac30d2 100644 --- a/src/Mod/PartDesign/Gui/TaskDatumParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskDatumParameters.cpp @@ -80,10 +80,7 @@ TaskDlgDatumParameters::TaskDlgDatumParameters(ViewProviderDatum *ViewProvider) Content.push_back(parameter); } -TaskDlgDatumParameters::~TaskDlgDatumParameters() -{ - -} +TaskDlgDatumParameters::~TaskDlgDatumParameters() = default; bool TaskDlgDatumParameters::reject() { diff --git a/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp b/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp index 4ad7a6b010..d928a21171 100644 --- a/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskDraftParameters.cpp @@ -74,9 +74,8 @@ TaskDraftParameters::TaskDraftParameters(ViewProviderDressUp *DressUpView, QWidg ui->checkReverse->setChecked(r); std::vector strings = pcDraft->Base.getSubValues(); - for (std::vector::const_iterator i = strings.begin(); i != strings.end(); ++i) - { - ui->listWidgetReferences->addItem(QString::fromStdString(*i)); + for (const auto & string : strings) { + ui->listWidgetReferences->addItem(QString::fromStdString(string)); } QMetaObject::connectSlotsByName(this); @@ -297,10 +296,7 @@ TaskDlgDraftParameters::TaskDlgDraftParameters(ViewProviderDraft *DressUpView) Content.push_back(parameter); } -TaskDlgDraftParameters::~TaskDlgDraftParameters() -{ - -} +TaskDlgDraftParameters::~TaskDlgDraftParameters() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Mod/PartDesign/Gui/TaskDraftParameters.ui b/src/Mod/PartDesign/Gui/TaskDraftParameters.ui index f89f8e7318..288aceeb7f 100644 --- a/src/Mod/PartDesign/Gui/TaskDraftParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskDraftParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp b/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp index ea8f5cd362..5b0b23792d 100644 --- a/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskDressUpParameters.cpp @@ -155,8 +155,8 @@ void TaskDressUpParameters::addAllEdges(QListWidget* widget) QSignalBlocker block(widget); widget->clear(); - for (std::vector::const_iterator it = edgeNames.begin(); it != edgeNames.end(); ++it){ - widget->addItem(QLatin1String(it->c_str())); + for (const auto & it : edgeNames){ + widget->addItem(QLatin1String(it.c_str())); } updateFeature(pcDressUp, edgeNames); @@ -328,8 +328,8 @@ void TaskDressUpParameters::removeItemFromListWidget(QListWidget* widget, const { QList items = widget->findItems(QString::fromLatin1(itemstr), Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } @@ -411,10 +411,7 @@ TaskDlgDressUpParameters::TaskDlgDressUpParameters(ViewProviderDressUp *DressUpV assert(DressUpView); } -TaskDlgDressUpParameters::~TaskDlgDressUpParameters() -{ - -} +TaskDlgDressUpParameters::~TaskDlgDressUpParameters() = default; //==== calls from the TaskView =============================================================== @@ -425,8 +422,8 @@ bool TaskDlgDressUpParameters::accept() std::stringstream str; str << Gui::Command::getObjectCmd(vp->getObject()) << ".Base = (" << Gui::Command::getObjectCmd(parameter->getBase()) << ",["; - for (std::vector::const_iterator it = refs.begin(); it != refs.end(); ++it) - str << "\"" << *it << "\","; + for (const auto & ref : refs) + str << "\"" << ref << "\","; str << "])"; Gui::Command::runCommand(Gui::Command::Doc,str.str().c_str()); return TaskDlgFeatureParameters::accept(); diff --git a/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp b/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp index 0aec944896..6ab7dce073 100644 --- a/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskExtrudeParameters.cpp @@ -59,9 +59,7 @@ TaskExtrudeParameters::TaskExtrudeParameters(ViewProviderSketchBased *SketchBase this->groupLayout()->addWidget(proxy); } -TaskExtrudeParameters::~TaskExtrudeParameters() -{ -} +TaskExtrudeParameters::~TaskExtrudeParameters() = default; void TaskExtrudeParameters::setupDialog() { @@ -431,7 +429,7 @@ void TaskExtrudeParameters::setCheckboxes(Modes mode, Type type) bool isMidplaneEnabled = false; bool isMidplaneVisible = false; bool isReversedEnabled = false; - bool isFaceEditEnabled = false; + bool isFaceEditVisible = false; bool isTaperEditVisible = false; bool isTaperEdit2Visible = false; @@ -463,7 +461,7 @@ void TaskExtrudeParameters::setCheckboxes(Modes mode, Type type) else if (mode == Modes::ToFace) { isOffsetEditVisible = true; isReversedEnabled = true; - isFaceEditEnabled = true; + isFaceEditVisible = true; QMetaObject::invokeMethod(ui->lineFaceName, "setFocus", Qt::QueuedConnection); // Go into reference selection mode if no face has been selected yet if (ui->lineFaceName->property("FeatureName").isNull()) @@ -503,9 +501,9 @@ void TaskExtrudeParameters::setCheckboxes(Modes mode, Type type) ui->checkBoxReversed->setEnabled(isReversedEnabled); - ui->buttonFace->setEnabled(isFaceEditEnabled); - ui->lineFaceName->setEnabled(isFaceEditEnabled); - if (!isFaceEditEnabled) { + ui->buttonFace->setVisible(isFaceEditVisible); + ui->lineFaceName->setVisible(isFaceEditVisible); + if (!isFaceEditVisible) { ui->buttonFace->setChecked(false); } } diff --git a/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp b/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp index 4c35dcfbf8..986d52c84c 100644 --- a/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskFeatureParameters.cpp @@ -83,10 +83,7 @@ TaskDlgFeatureParameters::TaskDlgFeatureParameters(PartDesignGui::ViewProvider * assert(vp); } -TaskDlgFeatureParameters::~TaskDlgFeatureParameters() -{ - -} +TaskDlgFeatureParameters::~TaskDlgFeatureParameters() = default; bool TaskDlgFeatureParameters::accept() { App::DocumentObject* feature = vp->getObject(); diff --git a/src/Mod/PartDesign/Gui/TaskFeatureParameters.h b/src/Mod/PartDesign/Gui/TaskFeatureParameters.h index 83345ac6e9..f26650af50 100644 --- a/src/Mod/PartDesign/Gui/TaskFeatureParameters.h +++ b/src/Mod/PartDesign/Gui/TaskFeatureParameters.h @@ -41,7 +41,7 @@ class TaskFeatureParameters : public Gui::TaskView::TaskBox, public: TaskFeatureParameters(PartDesignGui::ViewProvider* vp, QWidget *parent, const std::string& pixmapname, const QString& parname); - ~TaskFeatureParameters() override {} + ~TaskFeatureParameters() override = default; /// save field history virtual void saveHistory() {} diff --git a/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp b/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp index ea09e4a620..d5c0649120 100644 --- a/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp +++ b/src/Mod/PartDesign/Gui/TaskFeaturePick.cpp @@ -170,10 +170,10 @@ void TaskFeaturePick::updateList() { int index = 0; - for (std::vector::const_iterator st = statuses.begin(); st != statuses.end(); st++) { + for (auto status : statuses) { QListWidgetItem* item = ui->listWidget->item(index); - switch (*st) { + switch (status) { case validFeature: item->setHidden(false); break; case invalidShape: item->setHidden(true); break; case isUsed: item->setHidden(!ui->checkUsed->isChecked()); break; @@ -218,8 +218,11 @@ std::vector TaskFeaturePick::getFeatures() std::vector result; - for (std::vector::const_iterator s = features.begin(); s != features.end(); ++s) - result.push_back(App::GetApplication().getDocument(documentName.c_str())->getObject(s->toLatin1().data())); + for (const auto& feature : features) { + result.push_back(App::GetApplication() + .getDocument(documentName.c_str()) + ->getObject(feature.toLatin1().data())); + } return result; } @@ -235,7 +238,7 @@ std::vector TaskFeaturePick::buildFeatures() auto activePart = PartDesignGui::getPartFor(activeBody, false); - for (std::vector::const_iterator st = statuses.begin(); st != statuses.end(); st++) { + for (auto status : statuses) { QListWidgetItem* item = ui->listWidget->item(index); if (item->isSelected() && !item->isHidden()) { @@ -243,21 +246,21 @@ std::vector TaskFeaturePick::buildFeatures() auto obj = App::GetApplication().getDocument(documentName.c_str())->getObject(t.toLatin1().data()); //build the dependent copy or reference if wanted by the user - if (*st == otherBody || *st == otherPart || *st == notInBody) { + if (status == otherBody || status == otherPart || status == notInBody) { if (!ui->radioXRef->isChecked()) { auto copy = makeCopy(obj, "", ui->radioIndependent->isChecked()); - if (*st == otherBody) { + if (status == otherBody) { activeBody->addObject(copy); } - else if (*st == otherPart) { + else if (status == otherPart) { auto oBody = PartDesignGui::getBodyFor(obj, false); if (!oBody) activePart->addObject(copy); else activeBody->addObject(copy); } - else if (*st == notInBody) { + else if (status == notInBody) { activeBody->addObject(copy); // doesn't supposed to get here anything but sketch but to be on the safe side better to check if (copy->getTypeId().isDerivedFrom(Sketcher::SketchObject::getClassTypeId())) { diff --git a/src/Mod/PartDesign/Gui/TaskFeaturePick.ui b/src/Mod/PartDesign/Gui/TaskFeaturePick.ui index 9dd87e543f..e53a139796 100644 --- a/src/Mod/PartDesign/Gui/TaskFeaturePick.ui +++ b/src/Mod/PartDesign/Gui/TaskFeaturePick.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp b/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp index 5defa53669..5dfd4a6e59 100644 --- a/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskFilletParameters.cpp @@ -68,9 +68,8 @@ TaskFilletParameters::TaskFilletParameters(ViewProviderDressUp *DressUpView, QWi ui->filletRadius->bind(pcFillet->Radius); QMetaObject::invokeMethod(ui->filletRadius, "setFocus", Qt::QueuedConnection); std::vector strings = pcFillet->Base.getSubValues(); - for (std::vector::const_iterator i = strings.begin(); i != strings.end(); i++) - { - ui->listWidgetReferences->addItem(QString::fromStdString(*i)); + for (const auto & string : strings) { + ui->listWidgetReferences->addItem(QString::fromStdString(string)); } QMetaObject::connectSlotsByName(this); @@ -207,10 +206,7 @@ TaskDlgFilletParameters::TaskDlgFilletParameters(ViewProviderFillet *DressUpView Content.push_back(parameter); } -TaskDlgFilletParameters::~TaskDlgFilletParameters() -{ - -} +TaskDlgFilletParameters::~TaskDlgFilletParameters() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Mod/PartDesign/Gui/TaskFilletParameters.ui b/src/Mod/PartDesign/Gui/TaskFilletParameters.ui index e4f78459b6..7843b56434 100644 --- a/src/Mod/PartDesign/Gui/TaskFilletParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskFilletParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskHelixParameters.ui b/src/Mod/PartDesign/Gui/TaskHelixParameters.ui index 7777f45b81..798d2e222a 100644 --- a/src/Mod/PartDesign/Gui/TaskHelixParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskHelixParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskHoleParameters.cpp b/src/Mod/PartDesign/Gui/TaskHoleParameters.cpp index a7cedbba43..d5fff814de 100644 --- a/src/Mod/PartDesign/Gui/TaskHoleParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskHoleParameters.cpp @@ -258,9 +258,7 @@ TaskHoleParameters::TaskHoleParameters(ViewProviderHole* HoleView, QWidget* pare this->groupLayout()->addWidget(proxy); } -TaskHoleParameters::~TaskHoleParameters() -{ -} +TaskHoleParameters::~TaskHoleParameters() = default; void TaskHoleParameters::threadedChanged() { @@ -1189,10 +1187,7 @@ TaskDlgHoleParameters::TaskDlgHoleParameters(ViewProviderHole* HoleView) Content.push_back(parameter); } -TaskDlgHoleParameters::~TaskDlgHoleParameters() -{ - -} +TaskDlgHoleParameters::~TaskDlgHoleParameters() = default; #include "moc_TaskHoleParameters.cpp" diff --git a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp index dade40b34f..b0e6c13d64 100644 --- a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp @@ -127,8 +127,12 @@ void TaskLinearPatternParameters::connectSignals() this, &TaskLinearPatternParameters::onDirectionChanged); connect(ui->checkReverse, &QCheckBox::toggled, this, &TaskLinearPatternParameters::onCheckReverse); + connect(ui->comboMode, qOverload(&QComboBox::activated), + this, &TaskLinearPatternParameters::onModeChanged); connect(ui->spinLength, qOverload(&Gui::QuantitySpinBox::valueChanged), this, &TaskLinearPatternParameters::onLength); + connect(ui->spinOffset, qOverload(&Gui::QuantitySpinBox::valueChanged), + this, &TaskLinearPatternParameters::onOffset); connect(ui->spinOccurrences, &Gui::UIntSpinBox::unsignedChanged, this, &TaskLinearPatternParameters::onOccurrences); connect(ui->checkBoxUpdateView, &QCheckBox::toggled, @@ -142,8 +146,7 @@ void TaskLinearPatternParameters::setupUI() std::vector originals = pcLinearPattern->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); ++i) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); @@ -154,16 +157,22 @@ void TaskLinearPatternParameters::setupUI() // --------------------- ui->spinLength->bind(pcLinearPattern->Length); + ui->spinOffset->bind(pcLinearPattern->Offset); ui->spinOccurrences->bind(pcLinearPattern->Occurrences); ui->spinOccurrences->setMaximum(pcLinearPattern->Occurrences.getMaximum()); ui->spinOccurrences->setMinimum(pcLinearPattern->Occurrences.getMinimum()); ui->comboDirection->setEnabled(true); ui->checkReverse->setEnabled(true); + ui->comboMode->setEnabled(true); ui->spinLength->blockSignals(true); ui->spinLength->setEnabled(true); ui->spinLength->setUnit(Base::Unit::Length); ui->spinLength->blockSignals(false); + ui->spinOffset->blockSignals(true); + ui->spinOffset->setEnabled(true); + ui->spinOffset->setUnit(Base::Unit::Length); + ui->spinOffset->blockSignals(false); ui->spinOccurrences->setEnabled(true); dirLinks.setCombo(*(ui->comboDirection)); @@ -188,7 +197,7 @@ void TaskLinearPatternParameters::setupUI() } } - updateUI(); + adaptVisibilityToMode(); connectSignals(); } @@ -199,9 +208,11 @@ void TaskLinearPatternParameters::updateUI() blockUpdate = true; PartDesign::LinearPattern* pcLinearPattern = static_cast(getObject()); + PartDesign::LinearPatternMode mode = static_cast(pcLinearPattern->Mode.getValue()); bool reverse = pcLinearPattern->Reversed.getValue(); double length = pcLinearPattern->Length.getValue(); + double offset = pcLinearPattern->Offset.getValue(); unsigned occurrences = pcLinearPattern->Occurrences.getValue(); if (dirLinks.setCurrentLink(pcLinearPattern->Direction) == -1){ @@ -211,15 +222,28 @@ void TaskLinearPatternParameters::updateUI() dirLinks.setCurrentLink(pcLinearPattern->Direction); } - // Note: These three lines would trigger onLength(), on Occurrences() and another updateUI() if we - // didn't check for blockUpdate + // Note: This block of code would trigger change signal handlers (e.g. onOccurrences()) + // and another updateUI() if we didn't check for blockUpdate ui->checkReverse->setChecked(reverse); + ui->comboMode->setCurrentIndex((long)mode); ui->spinLength->setValue(length); + ui->spinOffset->setValue(offset); ui->spinOccurrences->setValue(occurrences); blockUpdate = false; } +void TaskLinearPatternParameters::adaptVisibilityToMode() +{ + auto pcLinearPattern = static_cast(getObject()); + auto mode = static_cast(pcLinearPattern->Mode.getValue()); + + ui->lengthWrapper->setVisible(mode == PartDesign::LinearPatternMode::length); + ui->offsetWrapper->setVisible(mode == PartDesign::LinearPatternMode::offset); + + updateUI(); +} + void TaskLinearPatternParameters::onUpdateViewTimer() { setupTransaction(); @@ -295,6 +319,18 @@ void TaskLinearPatternParameters::onCheckReverse(const bool on) { kickUpdateViewTimer(); } +void TaskLinearPatternParameters::onModeChanged(const int mode) { + if (blockUpdate) + return; + PartDesign::LinearPattern* pcLinearPattern = static_cast(getObject()); + pcLinearPattern->Mode.setValue(mode); + + adaptVisibilityToMode(); + + exitSelectionMode(); + kickUpdateViewTimer(); +} + void TaskLinearPatternParameters::onLength(const double l) { if (blockUpdate) return; @@ -305,6 +341,16 @@ void TaskLinearPatternParameters::onLength(const double l) { kickUpdateViewTimer(); } +void TaskLinearPatternParameters::onOffset(const double o) { + if (blockUpdate) + return; + PartDesign::LinearPattern* pcLinearPattern = static_cast(getObject()); + pcLinearPattern->Offset.setValue(o); + + exitSelectionMode(); + kickUpdateViewTimer(); +} + void TaskLinearPatternParameters::onOccurrences(const uint n) { if (blockUpdate) return; @@ -353,6 +399,7 @@ void TaskLinearPatternParameters::onUpdateView(bool on) pcLinearPattern->Direction.setValue(obj,directions); pcLinearPattern->Reversed.setValue(getReverse()); pcLinearPattern->Length.setValue(getLength()); + pcLinearPattern->Offset.setValue(getOffset()); pcLinearPattern->Occurrences.setValue(getOccurrences()); recomputeFeature(); @@ -387,11 +434,21 @@ bool TaskLinearPatternParameters::getReverse() const return ui->checkReverse->isChecked(); } +int TaskLinearPatternParameters::getMode() const +{ + return ui->comboMode->currentIndex(); +} + double TaskLinearPatternParameters::getLength() const { return ui->spinLength->value().getValue(); } +double TaskLinearPatternParameters::getOffset() const +{ + return ui->spinOffset->value().getValue(); +} + unsigned TaskLinearPatternParameters::getOccurrences() const { return ui->spinOccurrences->value(); @@ -437,6 +494,7 @@ void TaskLinearPatternParameters::apply() FCMD_OBJ_CMD(tobj,"Reversed = " << getReverse()); ui->spinLength->apply(); + ui->spinOffset->apply(); ui->spinOccurrences->apply(); } diff --git a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.h b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.h index f3aa234c5f..41cb67733e 100644 --- a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.h +++ b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.h @@ -59,7 +59,9 @@ private Q_SLOTS: void onUpdateViewTimer(); void onDirectionChanged(int num); void onCheckReverse(const bool on); + void onModeChanged(const int mode); void onLength(const double l); + void onOffset(const double o); void onOccurrences(const uint n); void onUpdateView(bool) override; void onFeatureDeleted() override; @@ -72,13 +74,16 @@ protected: void clearButtons() override; void getDirection(App::DocumentObject*& obj, std::vector& sub) const; bool getReverse() const; + int getMode() const; double getLength() const; + double getOffset() const; unsigned getOccurrences() const; private: void connectSignals(); void setupUI(); void updateUI(); + void adaptVisibilityToMode(); void kickUpdateViewTimer() const; private: @@ -96,7 +101,7 @@ class TaskDlgLinearPatternParameters : public TaskDlgTransformedParameters public: explicit TaskDlgLinearPatternParameters(ViewProviderLinearPattern *LinearPatternView); - ~TaskDlgLinearPatternParameters() override {} + ~TaskDlgLinearPatternParameters() override = default; }; } //namespace PartDesignGui diff --git a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.ui b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.ui index 751eccc4b0..51ef47944e 100644 --- a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.ui @@ -11,7 +11,7 @@ - Form + Form @@ -70,29 +70,106 @@ - + - + - Length + Mode - - - false - - - mm - - - 100.000000000000000 - + + + + Overall Length + + + + + Offset + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Length + + + + + + + false + + + mm + + + 100.000000000000000 + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Offset + + + + + + + false + + + mm + + + 10.000000000000000 + + + + + + diff --git a/src/Mod/PartDesign/Gui/TaskLoftParameters.cpp b/src/Mod/PartDesign/Gui/TaskLoftParameters.cpp index aa4c039344..7820c124c0 100644 --- a/src/Mod/PartDesign/Gui/TaskLoftParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskLoftParameters.cpp @@ -122,9 +122,7 @@ TaskLoftParameters::TaskLoftParameters(ViewProviderLoft *LoftView, bool /*newObj updateUI(); } -TaskLoftParameters::~TaskLoftParameters() -{ -} +TaskLoftParameters::~TaskLoftParameters() = default; void TaskLoftParameters::updateUI() { @@ -226,8 +224,8 @@ void TaskLoftParameters::removeFromListWidget(QListWidget* widget, QString name) QList items = widget->findItems(name, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator it = items.cbegin(); it != items.cend(); ++it) { - QListWidgetItem* item = widget->takeItem(widget->row(*it)); + for (auto it : items) { + QListWidgetItem* item = widget->takeItem(widget->row(it)); delete item; } } @@ -373,9 +371,7 @@ TaskDlgLoftParameters::TaskDlgLoftParameters(ViewProviderLoft *LoftView,bool new Content.push_back(parameter); } -TaskDlgLoftParameters::~TaskDlgLoftParameters() -{ -} +TaskDlgLoftParameters::~TaskDlgLoftParameters() = default; bool TaskDlgLoftParameters::accept() { diff --git a/src/Mod/PartDesign/Gui/TaskLoftParameters.ui b/src/Mod/PartDesign/Gui/TaskLoftParameters.ui index 22dd542441..6a0588a349 100644 --- a/src/Mod/PartDesign/Gui/TaskLoftParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskLoftParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp index 018f660c1f..9e14d0d4d5 100644 --- a/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp @@ -120,8 +120,7 @@ void TaskMirroredParameters::setupUI() std::vector originals = pcMirrored->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); ++i) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); diff --git a/src/Mod/PartDesign/Gui/TaskMirroredParameters.h b/src/Mod/PartDesign/Gui/TaskMirroredParameters.h index 6f464b97a6..c7d6d60264 100644 --- a/src/Mod/PartDesign/Gui/TaskMirroredParameters.h +++ b/src/Mod/PartDesign/Gui/TaskMirroredParameters.h @@ -86,7 +86,7 @@ class TaskDlgMirroredParameters : public TaskDlgTransformedParameters public: explicit TaskDlgMirroredParameters(ViewProviderMirrored *MirroredView); - ~TaskDlgMirroredParameters() override {} + ~TaskDlgMirroredParameters() override = default; public: /// is called by the framework if the dialog is accepted (Ok) diff --git a/src/Mod/PartDesign/Gui/TaskMirroredParameters.ui b/src/Mod/PartDesign/Gui/TaskMirroredParameters.ui index f05010f94b..4138d20fe8 100644 --- a/src/Mod/PartDesign/Gui/TaskMirroredParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskMirroredParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp index 473a1626c5..62ee1b697b 100644 --- a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp @@ -132,10 +132,10 @@ TaskMultiTransformParameters::TaskMultiTransformParameters(ViewProviderTransform // Fill data into dialog elements ui->listTransformFeatures->setEnabled(true); ui->listTransformFeatures->clear(); - for (std::vector::const_iterator i = transformFeatures.begin(); i != transformFeatures.end(); i++) - { - if (*i) - ui->listTransformFeatures->addItem(QString::fromUtf8((*i)->Label.getValue())); + for (auto it : transformFeatures) { + if (it) { + ui->listTransformFeatures->addItem(QString::fromUtf8(it->Label.getValue())); + } } if (!transformFeatures.empty()) { ui->listTransformFeatures->setCurrentRow(0, QItemSelectionModel::ClearAndSelect); @@ -149,8 +149,7 @@ TaskMultiTransformParameters::TaskMultiTransformParameters(ViewProviderTransform std::vector originals = pcMultiTransform->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); i++) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); @@ -561,10 +560,10 @@ bool TaskDlgMultiTransformParameters::accept() std::vector transformFeatures = mtParameter->getTransformFeatures(); std::stringstream str; str << Gui::Command::getObjectCmd(vp->getObject()) << ".Transformations = ["; - for (std::vector::const_iterator it = transformFeatures.begin(); it != transformFeatures.end(); it++) - { - if (*it) - str << Gui::Command::getObjectCmd(*it) << ","; + for (auto it : transformFeatures) { + if (it) { + str << Gui::Command::getObjectCmd(it) << ","; + } } str << "]"; Gui::Command::runCommand(Gui::Command::Doc,str.str().c_str()); diff --git a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.h b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.h index 74e5c06b63..a6491dc059 100644 --- a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.h +++ b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.h @@ -113,7 +113,7 @@ class TaskDlgMultiTransformParameters : public TaskDlgTransformedParameters public: explicit TaskDlgMultiTransformParameters(ViewProviderMultiTransform *MultiTransformView); - ~TaskDlgMultiTransformParameters() override {} + ~TaskDlgMultiTransformParameters() override = default; public: /// is called by the framework if the dialog is accepted (Ok) diff --git a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.ui b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.ui index 35a814050e..09b74c5cfa 100644 --- a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskPadParameters.cpp b/src/Mod/PartDesign/Gui/TaskPadParameters.cpp index 1dd6318a34..ad134ee1a6 100644 --- a/src/Mod/PartDesign/Gui/TaskPadParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPadParameters.cpp @@ -62,9 +62,7 @@ TaskPadParameters::TaskPadParameters(ViewProviderPad *PadView, QWidget *parent, } } -TaskPadParameters::~TaskPadParameters() -{ -} +TaskPadParameters::~TaskPadParameters() = default; void TaskPadParameters::translateModeList(int index) { diff --git a/src/Mod/PartDesign/Gui/TaskPadPocketParameters.ui b/src/Mod/PartDesign/Gui/TaskPadPocketParameters.ui index a61989fa12..edf4f6493d 100644 --- a/src/Mod/PartDesign/Gui/TaskPadPocketParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskPadPocketParameters.ui @@ -11,7 +11,7 @@ - Form + Form @@ -53,13 +53,30 @@ + + + 2nd length + + + + + + + false + + + mm + + + + Offset to face - + false @@ -71,6 +88,53 @@ + + + + + + + 0 + 22 + + + + Select face + + + true + + + + + + + true + + + + + + + + + true + + + Applies length symmetrically to sketch plane + + + Symmetric to plane + + + + + + + Reversed + + + @@ -244,26 +308,6 @@ measured along the specified direction - - - - true - - - Applies length symmetrically to sketch plane - - - Symmetric to plane - - - - - - - Reversed - - - @@ -288,27 +332,6 @@ measured along the specified direction - - - - - - 2nd length - - - - - - - false - - - mm - - - - - @@ -333,33 +356,6 @@ measured along the specified direction - - - - - - - 0 - 22 - - - - Select face - - - true - - - - - - - true - - - - - @@ -399,20 +395,20 @@ measured along the specified direction changeMode lengthEdit + lengthEdit2 offsetEdit + buttonFace + lineFaceName + checkBoxMidplane + checkBoxReversed directionCB checkBoxDirection XDirectionEdit YDirectionEdit ZDirectionEdit checkBoxAlongDirection - checkBoxMidplane - checkBoxReversed taperEdit - lengthEdit2 taperEdit2 - buttonFace - lineFaceName checkBoxUpdateView diff --git a/src/Mod/PartDesign/Gui/TaskPipeOrientation.ui b/src/Mod/PartDesign/Gui/TaskPipeOrientation.ui index f093eb5ffc..23c69f10c4 100644 --- a/src/Mod/PartDesign/Gui/TaskPipeOrientation.ui +++ b/src/Mod/PartDesign/Gui/TaskPipeOrientation.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp b/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp index 489cd286a6..f550aaae6c 100644 --- a/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPipeParameters.cpp @@ -121,8 +121,8 @@ TaskPipeParameters::TaskPipeParameters(ViewProviderPipe *PipeView, bool /*newObj } // the spine edges std::vector strings = pipe->Spine.getSubValues(); - for (std::vector::const_iterator it = strings.begin(); it != strings.end(); ++it) { - QString label = QString::fromStdString(*it); + for (const auto & string : strings) { + QString label = QString::fromStdString(string); QListWidgetItem* item = new QListWidgetItem(); item->setText(label); item->setData(Qt::UserRole, QByteArray(label.toUtf8())); @@ -255,8 +255,8 @@ void TaskPipeParameters::removeFromListWidget(QListWidget* widget, QString items { QList items = widget->findItems(itemstr, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } @@ -577,8 +577,8 @@ TaskPipeOrientation::TaskPipeOrientation(ViewProviderPipe* PipeView, bool /*newO ui->profileBaseEdit->setText(QString::fromUtf8(pipe->AuxillerySpine.getValue()->Label.getValue())); std::vector strings = pipe->AuxillerySpine.getSubValues(); - for (std::vector::const_iterator it = strings.begin(); it != strings.end(); ++it) { - QString label = QString::fromStdString(*it); + for (const auto & string : strings) { + QString label = QString::fromStdString(string); QListWidgetItem* item = new QListWidgetItem(); item->setText(label); item->setData(Qt::UserRole, QByteArray(label.toUtf8())); @@ -751,8 +751,8 @@ void TaskPipeOrientation::removeFromListWidget(QListWidget* widget, QString name { QList items = widget->findItems(name, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } @@ -980,8 +980,8 @@ void TaskPipeScaling::removeFromListWidget(QListWidget* widget, QString name) { QList items = widget->findItems(name, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } diff --git a/src/Mod/PartDesign/Gui/TaskPipeParameters.h b/src/Mod/PartDesign/Gui/TaskPipeParameters.h index 8839c86b1f..94be808266 100644 --- a/src/Mod/PartDesign/Gui/TaskPipeParameters.h +++ b/src/Mod/PartDesign/Gui/TaskPipeParameters.h @@ -62,7 +62,7 @@ public: public: StateHandlerTaskPipe() {selectionMode = SelectionModes::none;} - ~StateHandlerTaskPipe() {} + ~StateHandlerTaskPipe() = default; // only keeping getter because task boxes shouldn't need to change this // and task dialog is already friend diff --git a/src/Mod/PartDesign/Gui/TaskPipeParameters.ui b/src/Mod/PartDesign/Gui/TaskPipeParameters.ui index 93bd89c6a5..9daa193d20 100644 --- a/src/Mod/PartDesign/Gui/TaskPipeParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskPipeParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskPipeScaling.ui b/src/Mod/PartDesign/Gui/TaskPipeScaling.ui index c3d535007b..d74f16d345 100644 --- a/src/Mod/PartDesign/Gui/TaskPipeScaling.ui +++ b/src/Mod/PartDesign/Gui/TaskPipeScaling.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskPocketParameters.cpp b/src/Mod/PartDesign/Gui/TaskPocketParameters.cpp index e42c84074c..3dfa4538e0 100644 --- a/src/Mod/PartDesign/Gui/TaskPocketParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPocketParameters.cpp @@ -63,9 +63,7 @@ TaskPocketParameters::TaskPocketParameters(ViewProviderPocket *PocketView,QWidge } } -TaskPocketParameters::~TaskPocketParameters() -{ -} +TaskPocketParameters::~TaskPocketParameters() = default; void TaskPocketParameters::translateModeList(int index) { diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp index 5e4837dac6..92bdb55912 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp @@ -131,10 +131,14 @@ void TaskPolarPatternParameters::connectSignals() this, &TaskPolarPatternParameters::onUpdateViewTimer); connect(ui->comboAxis, qOverload(&QComboBox::activated), this, &TaskPolarPatternParameters::onAxisChanged); + connect(ui->comboMode, qOverload(&QComboBox::activated), + this, &TaskPolarPatternParameters::onModeChanged); connect(ui->checkReverse, &QCheckBox::toggled, this, &TaskPolarPatternParameters::onCheckReverse); connect(ui->polarAngle, qOverload(&Gui::QuantitySpinBox::valueChanged), this, &TaskPolarPatternParameters::onAngle); + connect(ui->angleOffset, qOverload(&Gui::QuantitySpinBox::valueChanged), + this, &TaskPolarPatternParameters::onOffset); connect(ui->spinOccurrences, &Gui::UIntSpinBox::unsignedChanged, this, &TaskPolarPatternParameters::onOccurrences); connect(ui->checkBoxUpdateView, &QCheckBox::toggled, @@ -148,8 +152,7 @@ void TaskPolarPatternParameters::setupUI() std::vector originals = pcPolarPattern->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); ++i) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); @@ -160,11 +163,14 @@ void TaskPolarPatternParameters::setupUI() // --------------------- ui->polarAngle->bind(pcPolarPattern->Angle); + ui->angleOffset->bind(pcPolarPattern->Offset); + ui->spinOccurrences->bind(pcPolarPattern->Occurrences); ui->spinOccurrences->setMaximum(pcPolarPattern->Occurrences.getMaximum()); ui->spinOccurrences->setMinimum(pcPolarPattern->Occurrences.getMinimum()); ui->comboAxis->setEnabled(true); + ui->comboMode->setEnabled(true); ui->checkReverse->setEnabled(true); ui->polarAngle->setEnabled(true); ui->spinOccurrences->setEnabled(true); @@ -192,6 +198,7 @@ void TaskPolarPatternParameters::setupUI() } } + adaptVisibilityToMode(); updateUI(); connectSignals(); } @@ -204,20 +211,24 @@ void TaskPolarPatternParameters::updateUI() PartDesign::PolarPattern* pcPolarPattern = static_cast(getObject()); + PartDesign::PolarPatternMode mode = static_cast(pcPolarPattern->Mode.getValue()); bool reverse = pcPolarPattern->Reversed.getValue(); double angle = pcPolarPattern->Angle.getValue(); + double offset = pcPolarPattern->Offset.getValue(); unsigned occurrences = pcPolarPattern->Occurrences.getValue(); - if (axesLinks.setCurrentLink(pcPolarPattern->Axis) == -1){ + if (axesLinks.setCurrentLink(pcPolarPattern->Axis) == -1) { //failed to set current, because the link isn't in the list yet axesLinks.addLink(pcPolarPattern->Axis, getRefStr(pcPolarPattern->Axis.getValue(),pcPolarPattern->Axis.getSubValues())); axesLinks.setCurrentLink(pcPolarPattern->Axis); } - // Note: These three lines would trigger onLength(), on Occurrences() and another updateUI() if we - // didn't check for blockUpdate + // Note: This block of code would trigger change signal handlers (e.g. onOccurrences()) + // and another updateUI() if we didn't check for blockUpdate ui->checkReverse->setChecked(reverse); + ui->comboMode->setCurrentIndex((long)mode); ui->polarAngle->setValue(angle); + ui->angleOffset->setValue(offset); ui->spinOccurrences->setValue(occurrences); blockUpdate = false; @@ -234,6 +245,15 @@ void TaskPolarPatternParameters::kickUpdateViewTimer() const updateViewTimer->start(); } +void TaskPolarPatternParameters::adaptVisibilityToMode() +{ + auto pcLinearPattern = static_cast(getObject()); + auto mode = static_cast(pcLinearPattern->Mode.getValue()); + + ui->polarAngleWrapper->setVisible(mode == PartDesign::PolarPatternMode::angle); + ui->angleOffsetWrapper->setVisible(mode == PartDesign::PolarPatternMode::offset); +} + void TaskPolarPatternParameters::addObject(App::DocumentObject* obj) { QString label = QString::fromUtf8(obj->Label.getValue()); @@ -293,6 +313,18 @@ void TaskPolarPatternParameters::onCheckReverse(const bool on) { kickUpdateViewTimer(); } +void TaskPolarPatternParameters::onModeChanged(const int mode) { + if (blockUpdate) + return; + PartDesign::PolarPattern* pcPolarPattern = static_cast(getObject()); + pcPolarPattern->Mode.setValue(mode); + + adaptVisibilityToMode(); + + exitSelectionMode(); + kickUpdateViewTimer(); +} + void TaskPolarPatternParameters::onAngle(const double a) { if (blockUpdate) return; @@ -303,6 +335,16 @@ void TaskPolarPatternParameters::onAngle(const double a) { kickUpdateViewTimer(); } +void TaskPolarPatternParameters::onOffset(const double a) { + if (blockUpdate) + return; + PartDesign::PolarPattern* pcPolarPattern = static_cast(getObject()); + pcPolarPattern->Offset.setValue(a); + + exitSelectionMode(); + kickUpdateViewTimer(); +} + void TaskPolarPatternParameters::onOccurrences(const uint n) { if (blockUpdate) return; diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h index b25c8da9e1..b01121c23c 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h @@ -58,8 +58,10 @@ public: private Q_SLOTS: void onUpdateViewTimer(); void onAxisChanged(int num); + void onModeChanged(const int mode); void onCheckReverse(const bool on); void onAngle(const double a); + void onOffset(const double a); void onOccurrences(const uint n); void onUpdateView(bool) override; void onFeatureDeleted() override; @@ -82,6 +84,7 @@ private: void setupUI(); void updateUI(); void kickUpdateViewTimer() const; + void adaptVisibilityToMode(); private: std::unique_ptr ui; @@ -98,7 +101,7 @@ class TaskDlgPolarPatternParameters : public TaskDlgTransformedParameters public: explicit TaskDlgPolarPatternParameters(ViewProviderPolarPattern *PolarPatternView); - ~TaskDlgPolarPatternParameters() override {} + ~TaskDlgPolarPatternParameters() override = default; }; } //namespace PartDesignGui diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.ui b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.ui index 9e26831d5a..a17b7559ab 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.ui @@ -11,7 +11,7 @@ - Form + Form @@ -70,35 +70,118 @@ - + - + - Angle + Mode - - - false - - - deg - - - 0.000000000000000 - - - 360.000000000000000 - - - 360.000000000000000 - + + + + Overall Angle + + + + + Offset Angle + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Angle + + + + + + + false + + + deg + + + 0.000000000000000 + + + 360.000000000000000 + + + 360.000000000000000 + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Offset + + + + + + + false + + + deg + + + 0.000000000000000 + + + 360.000000000000000 + + + 360.000000000000000 + + + + + + diff --git a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp index 7c0424b205..cc245ba675 100644 --- a/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPrimitiveParameters.cpp @@ -936,10 +936,7 @@ TaskPrimitiveParameters::TaskPrimitiveParameters(ViewProviderPrimitive* Primitiv Content.push_back(parameter); } -TaskPrimitiveParameters::~TaskPrimitiveParameters() -{ - -} +TaskPrimitiveParameters::~TaskPrimitiveParameters() = default; bool TaskPrimitiveParameters::accept() { diff --git a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.ui b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.ui index 1ee323292e..5f55ae1e12 100644 --- a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp b/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp index 320af9d228..8a63c37e61 100644 --- a/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskScaledParameters.cpp @@ -111,8 +111,7 @@ void TaskScaledParameters::setupUI() std::vector originals = pcScaled->Originals.getValues(); // Fill data into dialog elements - for (std::vector::const_iterator i = originals.begin(); i != originals.end(); ++i) { - const App::DocumentObject* obj = *i; + for (auto obj : originals) { if (obj) { QListWidgetItem* item = new QListWidgetItem(); item->setText(QString::fromUtf8(obj->Label.getValue())); diff --git a/src/Mod/PartDesign/Gui/TaskScaledParameters.h b/src/Mod/PartDesign/Gui/TaskScaledParameters.h index 2b0d654b90..3675482930 100644 --- a/src/Mod/PartDesign/Gui/TaskScaledParameters.h +++ b/src/Mod/PartDesign/Gui/TaskScaledParameters.h @@ -83,7 +83,7 @@ class TaskDlgScaledParameters : public TaskDlgTransformedParameters public: explicit TaskDlgScaledParameters(ViewProviderScaled *ScaledView); - ~TaskDlgScaledParameters() override {} + ~TaskDlgScaledParameters() override = default; public: /// is called by the framework if the dialog is accepted (Ok) diff --git a/src/Mod/PartDesign/Gui/TaskScaledParameters.ui b/src/Mod/PartDesign/Gui/TaskScaledParameters.ui index 6c6f6bb68f..07b60ed81e 100644 --- a/src/Mod/PartDesign/Gui/TaskScaledParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskScaledParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp b/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp index 605769a387..24fd6ebfe2 100644 --- a/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp +++ b/src/Mod/PartDesign/Gui/TaskShapeBinder.cpp @@ -76,9 +76,7 @@ TaskShapeBinder::TaskShapeBinder(ViewProviderShapeBinder* view, bool newObj, QWi updateUI(); } -TaskShapeBinder::~TaskShapeBinder() -{ -} +TaskShapeBinder::~TaskShapeBinder() = default; void TaskShapeBinder::updateUI() { @@ -222,8 +220,8 @@ void TaskShapeBinder::removeFromListWidget(QListWidget* widget, QString itemstr) { QList items = widget->findItems(itemstr, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } @@ -391,10 +389,7 @@ TaskDlgShapeBinder::TaskDlgShapeBinder(ViewProviderShapeBinder* view, bool newOb Content.push_back(parameter); } -TaskDlgShapeBinder::~TaskDlgShapeBinder() -{ - -} +TaskDlgShapeBinder::~TaskDlgShapeBinder() = default; bool TaskDlgShapeBinder::accept() { diff --git a/src/Mod/PartDesign/Gui/TaskShapeBinder.ui b/src/Mod/PartDesign/Gui/TaskShapeBinder.ui index ade246ccd0..09be358ebd 100644 --- a/src/Mod/PartDesign/Gui/TaskShapeBinder.ui +++ b/src/Mod/PartDesign/Gui/TaskShapeBinder.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskSketchBasedParameters.cpp b/src/Mod/PartDesign/Gui/TaskSketchBasedParameters.cpp index b866fb728e..5cf5eb65e4 100644 --- a/src/Mod/PartDesign/Gui/TaskSketchBasedParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskSketchBasedParameters.cpp @@ -135,7 +135,7 @@ void TaskSketchBasedParameters::exitSelectionMode() QVariant TaskSketchBasedParameters::setUpToFace(const QString& text) { if (text.isEmpty()) - return QVariant(); + return {}; QStringList parts = text.split(QChar::fromLatin1(':')); if (parts.length() < 2) @@ -144,15 +144,15 @@ QVariant TaskSketchBasedParameters::setUpToFace(const QString& text) // Check whether this is the name of an App::Plane or Part::Datum feature App::DocumentObject* obj = vp->getObject()->getDocument()->getObject(parts[0].toLatin1()); if (!obj) - return QVariant(); + return {}; if (obj->getTypeId().isDerivedFrom(App::Plane::getClassTypeId())) { // everything is OK (we assume a Part can only have exactly 3 App::Plane objects located at the base of the feature tree) - return QVariant(); + return {}; } else if (obj->getTypeId().isDerivedFrom(Part::Datum::getClassTypeId())) { // it's up to the document to check that the datum plane is in the same body - return QVariant(); + return {}; } else { // We must expect that "parts[1]" is the translation of "Face" followed by an ID. @@ -162,7 +162,7 @@ QVariant TaskSketchBasedParameters::setUpToFace(const QString& text) QRegularExpression rx(name); QRegularExpressionMatch match; if (parts[1].indexOf(rx, 0, &match) < 0) { - return QVariant(); + return {}; } int faceId = match.captured(1).toInt(); @@ -194,13 +194,13 @@ QVariant TaskSketchBasedParameters::objectNameByLabel(const QString& label, // go through all objects and check the labels std::string name = label.toUtf8().data(); std::vector objs = doc->getObjects(); - for (std::vector::iterator it = objs.begin(); it != objs.end(); ++it) { - if (name == (*it)->Label.getValue()) { - return QVariant(QByteArray((*it)->getNameInDocument())); + for (auto obj : objs) { + if (name == obj->Label.getValue()) { + return QVariant(QByteArray(obj->getNameInDocument())); } } - return QVariant(); // no such feature found + return {}; // no such feature found } QString TaskSketchBasedParameters::getFaceReference(const QString& obj, const QString& sub) const @@ -209,7 +209,7 @@ QString TaskSketchBasedParameters::getFaceReference(const QString& obj, const QS QString o = obj.left(obj.indexOf(QString::fromLatin1(":"))); if (o.isEmpty()) - return QString(); + return {}; return QString::fromLatin1(R"((App.getDocument("%1").%2, ["%3"]))") .arg(QString::fromLatin1(doc->getName()), o, sub); @@ -223,7 +223,7 @@ QString TaskSketchBasedParameters::make2DLabel(const App::DocumentObject* sectio } else if (subValues.empty()) { Base::Console().Error("No valid subelement linked in %s\n", section->Label.getValue()); - return QString(); + return {}; } else { return QString::fromStdString((std::string(section->getNameInDocument()) + ":" + subValues[0])); @@ -246,10 +246,7 @@ TaskDlgSketchBasedParameters::TaskDlgSketchBasedParameters(PartDesignGui::ViewPr { } -TaskDlgSketchBasedParameters::~TaskDlgSketchBasedParameters() -{ - -} +TaskDlgSketchBasedParameters::~TaskDlgSketchBasedParameters() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp b/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp index 4b608b3ce6..5edc2a807a 100644 --- a/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskThicknessParameters.cpp @@ -73,9 +73,9 @@ TaskThicknessParameters::TaskThicknessParameters(ViewProviderDressUp *DressUpVie ui->checkIntersection->setChecked(i); std::vector strings = pcThickness->Base.getSubValues(); - for (std::vector::const_iterator i = strings.begin(); i != strings.end(); i++) + for (const auto & string : strings) { - ui->listWidgetReferences->addItem(QString::fromStdString(*i)); + ui->listWidgetReferences->addItem(QString::fromStdString(string)); } QMetaObject::connectSlotsByName(this); @@ -261,10 +261,7 @@ TaskDlgThicknessParameters::TaskDlgThicknessParameters(ViewProviderThickness *Dr Content.push_back(parameter); } -TaskDlgThicknessParameters::~TaskDlgThicknessParameters() -{ - -} +TaskDlgThicknessParameters::~TaskDlgThicknessParameters() = default; //==== calls from the TaskView =============================================================== diff --git a/src/Mod/PartDesign/Gui/TaskThicknessParameters.ui b/src/Mod/PartDesign/Gui/TaskThicknessParameters.ui index 5db93786c9..0568e31a4b 100644 --- a/src/Mod/PartDesign/Gui/TaskThicknessParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskThicknessParameters.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskTransformedMessages.ui b/src/Mod/PartDesign/Gui/TaskTransformedMessages.ui index ed9e2f5210..e4c83a2ce8 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedMessages.ui +++ b/src/Mod/PartDesign/Gui/TaskTransformedMessages.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp index 13c7156a29..7704ca61fe 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp @@ -233,8 +233,8 @@ void TaskTransformedParameters::removeItemFromListWidget(QListWidget* widget, co { QList items = widget->findItems(itemstr, Qt::MatchExactly); if (!items.empty()) { - for (QList::const_iterator i = items.cbegin(); i != items.cend(); i++) { - QListWidgetItem* it = widget->takeItem(widget->row(*i)); + for (auto item : items) { + QListWidgetItem* it = widget->takeItem(widget->row(item)); delete it; } } diff --git a/src/Mod/PartDesign/Gui/TaskTransformedParameters.h b/src/Mod/PartDesign/Gui/TaskTransformedParameters.h index 0513d3fce5..12e9143463 100644 --- a/src/Mod/PartDesign/Gui/TaskTransformedParameters.h +++ b/src/Mod/PartDesign/Gui/TaskTransformedParameters.h @@ -242,7 +242,7 @@ class TaskDlgTransformedParameters : public PartDesignGui::TaskDlgFeatureParamet public: explicit TaskDlgTransformedParameters(ViewProviderTransformed *TransformedView); - ~TaskDlgTransformedParameters() override {} + ~TaskDlgTransformedParameters() override = default; ViewProviderTransformed* getTransformedView() const { return static_cast(vp); } diff --git a/src/Mod/PartDesign/Gui/ViewProvider.cpp b/src/Mod/PartDesign/Gui/ViewProvider.cpp index b896352488..94b314d5f6 100644 --- a/src/Mod/PartDesign/Gui/ViewProvider.cpp +++ b/src/Mod/PartDesign/Gui/ViewProvider.cpp @@ -50,14 +50,11 @@ using namespace PartDesignGui; PROPERTY_SOURCE_WITH_EXTENSIONS(PartDesignGui::ViewProvider, PartGui::ViewProviderPart) ViewProvider::ViewProvider() -: oldTip(nullptr), isSetTipIcon(false) { PartGui::ViewProviderAttachExtension::initExtension(this); } -ViewProvider::~ViewProvider() -{ -} +ViewProvider::~ViewProvider() = default; bool ViewProvider::doubleClicked() { diff --git a/src/Mod/PartDesign/Gui/ViewProvider.h b/src/Mod/PartDesign/Gui/ViewProvider.h index 02004503ff..05f87bbf32 100644 --- a/src/Mod/PartDesign/Gui/ViewProvider.h +++ b/src/Mod/PartDesign/Gui/ViewProvider.h @@ -86,8 +86,8 @@ protected: virtual TaskDlgFeatureParameters *getEditDialog(); std::string oldWb; - App::DocumentObject* oldTip; - bool isSetTipIcon; + App::DocumentObject* oldTip{nullptr}; + bool isSetTipIcon{false}; }; using ViewProviderPython = Gui::ViewProviderPythonFeatureT; diff --git a/src/Mod/PartDesign/Gui/ViewProviderBase.cpp b/src/Mod/PartDesign/Gui/ViewProviderBase.cpp index 7fa0087c3a..bb3d6dcfef 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBase.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderBase.cpp @@ -39,10 +39,7 @@ ViewProviderBase::ViewProviderBase() sPixmap = "PartDesign_BaseFeature.svg"; } -ViewProviderBase::~ViewProviderBase() -{ - -} +ViewProviderBase::~ViewProviderBase() = default; bool ViewProviderBase::doubleClicked() { diff --git a/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp b/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp index e997424d36..b0dbb910cf 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderBoolean.cpp @@ -54,9 +54,7 @@ ViewProviderBoolean::ViewProviderBoolean() Display.setEnums(DisplayEnum); } -ViewProviderBoolean::~ViewProviderBoolean() -{ -} +ViewProviderBoolean::~ViewProviderBoolean() = default; void ViewProviderBoolean::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) @@ -113,9 +111,10 @@ bool ViewProviderBoolean::onDelete(const std::vector &s) // if abort command deleted the object the bodies are visible again std::vector bodies = pcBoolean->Group.getValues(); - for (std::vector::const_iterator b = bodies.begin(); b != bodies.end(); b++) { - if (*b && Gui::Application::Instance->getViewProvider(*b)) - Gui::Application::Instance->getViewProvider(*b)->show(); + for (auto body : bodies) { + if (auto vp = Gui::Application::Instance->getViewProvider(body)) { + vp->show(); + } } return ViewProvider::onDelete(s); diff --git a/src/Mod/PartDesign/Gui/ViewProviderDatum.cpp b/src/Mod/PartDesign/Gui/ViewProviderDatum.cpp index 515c1825e4..7c84e38206 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderDatum.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderDatum.cpp @@ -190,7 +190,7 @@ std::string ViewProviderDatum::getElement(const SoDetail* detail) const return datumType.toStdString(); } - return std::string(""); + return {}; } SoDetail* ViewProviderDatum::getDetail(const char* subelement) const diff --git a/src/Mod/PartDesign/Gui/ViewProviderDatumCS.cpp b/src/Mod/PartDesign/Gui/ViewProviderDatumCS.cpp index 3c0a1cbb8b..38dbc85b85 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderDatumCS.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderDatumCS.cpp @@ -248,7 +248,7 @@ std::string ViewProviderDatumCoordinateSystem::getElement(const SoDetail* detail } } - return std::string(); + return {}; } SoDetail* ViewProviderDatumCoordinateSystem::getDetail(const char* subelement) const diff --git a/src/Mod/PartDesign/Gui/ViewProviderDatumPoint.cpp b/src/Mod/PartDesign/Gui/ViewProviderDatumPoint.cpp index a8ede7205f..5aa19bf696 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderDatumPoint.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderDatumPoint.cpp @@ -49,9 +49,7 @@ ViewProviderDatumPoint::ViewProviderDatumPoint() Transparency.setStatus(App::Property::Hidden, true); //< make transparency hidden } -ViewProviderDatumPoint::~ViewProviderDatumPoint() -{ -} +ViewProviderDatumPoint::~ViewProviderDatumPoint() = default; void ViewProviderDatumPoint::attach ( App::DocumentObject *obj ) { ViewProviderDatum::attach ( obj ); diff --git a/src/Mod/PartDesign/Gui/ViewProviderDressUp.h b/src/Mod/PartDesign/Gui/ViewProviderDressUp.h index f89ea5a366..d04adae269 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderDressUp.h +++ b/src/Mod/PartDesign/Gui/ViewProviderDressUp.h @@ -38,11 +38,9 @@ class PartDesignGuiExport ViewProviderDressUp : public ViewProvider public: /// constructor - ViewProviderDressUp() - {} + ViewProviderDressUp() = default; /// destructor - ~ViewProviderDressUp() override - {} + ~ViewProviderDressUp() override = default; /// grouping handling void setupContextMenu(QMenu*, QObject*, const char*) override; diff --git a/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp b/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp index 1dcdc0880b..c075bfe882 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp @@ -39,9 +39,7 @@ ViewProviderGroove::ViewProviderGroove() sPixmap = "PartDesign_Groove.svg"; } -ViewProviderGroove::~ViewProviderGroove() -{ -} +ViewProviderGroove::~ViewProviderGroove() = default; void ViewProviderGroove::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) { diff --git a/src/Mod/PartDesign/Gui/ViewProviderHelix.cpp b/src/Mod/PartDesign/Gui/ViewProviderHelix.cpp index 2a78f12a09..0657b075c4 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderHelix.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderHelix.cpp @@ -42,13 +42,9 @@ using namespace PartDesignGui; PROPERTY_SOURCE(PartDesignGui::ViewProviderHelix,PartDesignGui::ViewProvider) -ViewProviderHelix::ViewProviderHelix() -{ -} +ViewProviderHelix::ViewProviderHelix() = default; -ViewProviderHelix::~ViewProviderHelix() -{ -} +ViewProviderHelix::~ViewProviderHelix() = default; void ViewProviderHelix::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) { diff --git a/src/Mod/PartDesign/Gui/ViewProviderHole.cpp b/src/Mod/PartDesign/Gui/ViewProviderHole.cpp index f9e579d460..65e448c5cc 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderHole.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderHole.cpp @@ -46,9 +46,7 @@ ViewProviderHole::ViewProviderHole() sPixmap = "PartDesign_Hole.svg"; } -ViewProviderHole::~ViewProviderHole() -{ -} +ViewProviderHole::~ViewProviderHole() = default; std::vector ViewProviderHole::claimChildren()const { diff --git a/src/Mod/PartDesign/Gui/ViewProviderLoft.cpp b/src/Mod/PartDesign/Gui/ViewProviderLoft.cpp index 27917d3eaf..c558fd2a09 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderLoft.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderLoft.cpp @@ -39,13 +39,9 @@ using namespace PartDesignGui; PROPERTY_SOURCE(PartDesignGui::ViewProviderLoft,PartDesignGui::ViewProvider) -ViewProviderLoft::ViewProviderLoft() -{ -} +ViewProviderLoft::ViewProviderLoft() = default; -ViewProviderLoft::~ViewProviderLoft() -{ -} +ViewProviderLoft::~ViewProviderLoft() = default; std::vector ViewProviderLoft::claimChildren()const { diff --git a/src/Mod/PartDesign/Gui/ViewProviderMultiTransform.cpp b/src/Mod/PartDesign/Gui/ViewProviderMultiTransform.cpp index fd0fe67370..5b5476c90c 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderMultiTransform.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderMultiTransform.cpp @@ -53,7 +53,7 @@ std::vector ViewProviderMultiTransform::claimChildren() co { PartDesign::MultiTransform* pcMultiTransform = static_cast(getObject()); if (!pcMultiTransform) - return std::vector(); // TODO: Show error? + return {}; // TODO: Show error? std::vector transformFeatures = pcMultiTransform->Transformations.getValues(); return transformFeatures; @@ -65,12 +65,12 @@ bool ViewProviderMultiTransform::onDelete(const std::vector &svec) std::vector transformFeatures = pcMultiTransform->Transformations.getValues(); // if the multitransform object was deleted the transformed features must be deleted, too - for (std::vector::const_iterator it = transformFeatures.begin(); it != transformFeatures.end(); ++it) - { - if (*it) + for (auto it : transformFeatures) { + if (it) { Gui::Command::doCommand( Gui::Command::Doc,"App.getDocument('%s').removeObject(\"%s\")", \ - (*it)->getDocument()->getName(), (*it)->getNameInDocument()); + it->getDocument()->getName(), it->getNameInDocument()); + } } // Handle Originals diff --git a/src/Mod/PartDesign/Gui/ViewProviderPad.cpp b/src/Mod/PartDesign/Gui/ViewProviderPad.cpp index 6a90a36591..0fbbd8e519 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderPad.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderPad.cpp @@ -39,9 +39,7 @@ ViewProviderPad::ViewProviderPad() sPixmap = "Tree_PartDesign_Pad.svg"; } -ViewProviderPad::~ViewProviderPad() -{ -} +ViewProviderPad::~ViewProviderPad() = default; void ViewProviderPad::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) { diff --git a/src/Mod/PartDesign/Gui/ViewProviderPipe.cpp b/src/Mod/PartDesign/Gui/ViewProviderPipe.cpp index a13319096c..88991979f3 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderPipe.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderPipe.cpp @@ -39,13 +39,9 @@ using namespace PartDesignGui; PROPERTY_SOURCE(PartDesignGui::ViewProviderPipe,PartDesignGui::ViewProvider) -ViewProviderPipe::ViewProviderPipe() -{ -} +ViewProviderPipe::ViewProviderPipe() = default; -ViewProviderPipe::~ViewProviderPipe() -{ -} +ViewProviderPipe::~ViewProviderPipe() = default; std::vector ViewProviderPipe::claimChildren()const { diff --git a/src/Mod/PartDesign/Gui/ViewProviderPocket.cpp b/src/Mod/PartDesign/Gui/ViewProviderPocket.cpp index 0c96329057..d035bfdf0b 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderPocket.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderPocket.cpp @@ -40,9 +40,7 @@ ViewProviderPocket::ViewProviderPocket() sPixmap = "PartDesign_Pocket.svg"; } -ViewProviderPocket::~ViewProviderPocket() -{ -} +ViewProviderPocket::~ViewProviderPocket() = default; void ViewProviderPocket::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) diff --git a/src/Mod/PartDesign/Gui/ViewProviderPrimitive.cpp b/src/Mod/PartDesign/Gui/ViewProviderPrimitive.cpp index 72d4cbecf1..d5eedcd52f 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderPrimitive.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderPrimitive.cpp @@ -41,14 +41,9 @@ using namespace PartDesignGui; PROPERTY_SOURCE(PartDesignGui::ViewProviderPrimitive,PartDesignGui::ViewProvider) -ViewProviderPrimitive::ViewProviderPrimitive() -{ -} +ViewProviderPrimitive::ViewProviderPrimitive() = default; -ViewProviderPrimitive::~ViewProviderPrimitive() -{ - -} +ViewProviderPrimitive::~ViewProviderPrimitive() = default; void ViewProviderPrimitive::attach(App::DocumentObject* obj) { ViewProviderAddSub::attach(obj); diff --git a/src/Mod/PartDesign/Gui/ViewProviderPyImp.cpp b/src/Mod/PartDesign/Gui/ViewProviderPyImp.cpp index 5f3d0730ce..542fa72d0a 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderPyImp.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderPyImp.cpp @@ -34,7 +34,7 @@ using namespace PartDesignGui; // returns a string which represent the object e.g. when printed in python std::string ViewProviderPy::representation() const { - return std::string(""); + return {""}; } PyObject *ViewProviderPy::getCustomAttributes(const char* ) const diff --git a/src/Mod/PartDesign/Gui/ViewProviderRevolution.cpp b/src/Mod/PartDesign/Gui/ViewProviderRevolution.cpp index 7b0c7b238f..1187d00eb9 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderRevolution.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderRevolution.cpp @@ -39,9 +39,7 @@ ViewProviderRevolution::ViewProviderRevolution() sPixmap = "Tree_PartDesign_Revolution.svg"; } -ViewProviderRevolution::~ViewProviderRevolution() -{ -} +ViewProviderRevolution::~ViewProviderRevolution() = default; void ViewProviderRevolution::setupContextMenu(QMenu* menu, QObject* receiver, const char* member) { diff --git a/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.cpp b/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.cpp index 31a77cf361..c931cd31dc 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderShapeBinder.cpp @@ -79,10 +79,7 @@ ViewProviderShapeBinder::ViewProviderShapeBinder() LineWidth.setValue(1); } -ViewProviderShapeBinder::~ViewProviderShapeBinder() -{ - -} +ViewProviderShapeBinder::~ViewProviderShapeBinder() = default; bool ViewProviderShapeBinder::setEdit(int ModNum) { // TODO Share code with other view providers (2015-09-11, Fat-Zer) @@ -272,7 +269,7 @@ std::string ViewProviderSubShapeBinder::dropObjectEx(App::DocumentObject* obj, A { auto self = dynamic_cast(getObject()); if (!self) - return std::string(); + return {}; std::map > values; if (!subname) subname = ""; std::string sub(subname); @@ -293,7 +290,7 @@ std::string ViewProviderSubShapeBinder::dropObjectEx(App::DocumentObject* obj, A self->setLinks(std::move(values), QApplication::keyboardModifiers() == Qt::ControlModifier); if (self->Relative.getValue()) updatePlacement(false); - return std::string(); + return {}; } diff --git a/src/Mod/PartDesign/Gui/ViewProviderSketchBased.cpp b/src/Mod/PartDesign/Gui/ViewProviderSketchBased.cpp index 5a596c6caa..aa5c0827fd 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderSketchBased.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderSketchBased.cpp @@ -35,14 +35,9 @@ using namespace PartDesignGui; PROPERTY_SOURCE(PartDesignGui::ViewProviderSketchBased, PartDesignGui::ViewProvider) -ViewProviderSketchBased::ViewProviderSketchBased() -{ -} +ViewProviderSketchBased::ViewProviderSketchBased() = default; - -ViewProviderSketchBased::~ViewProviderSketchBased() -{ -} +ViewProviderSketchBased::~ViewProviderSketchBased() = default; std::vector ViewProviderSketchBased::claimChildren() const { diff --git a/src/Mod/PartDesign/Gui/ViewProviderTransformed.h b/src/Mod/PartDesign/Gui/ViewProviderTransformed.h index 34d2ff405c..4927030e66 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderTransformed.h +++ b/src/Mod/PartDesign/Gui/ViewProviderTransformed.h @@ -35,12 +35,8 @@ class PartDesignGuiExport ViewProviderTransformed : public ViewProvider PROPERTY_HEADER_WITH_OVERRIDE(PartDesignGui::ViewProviderTransformed); public: - /// constructor - ViewProviderTransformed() - : pcRejectedRoot(nullptr) {} - /// destructor - ~ViewProviderTransformed() override - {} + ViewProviderTransformed() = default; + ~ViewProviderTransformed() override = default; // The feature name of the subclass virtual const std::string & featureName() const; @@ -64,7 +60,7 @@ protected: bool checkDlgOpen(TaskDlgTransformedParameters* transformedDlg); // node for the representation of rejected repetitions - SoGroup * pcRejectedRoot; + SoGroup * pcRejectedRoot{nullptr}; QString diagMessage; diff --git a/src/Mod/PartDesign/SprocketFeature.py b/src/Mod/PartDesign/SprocketFeature.py index e929e9f4ec..ebbeb5abf0 100644 --- a/src/Mod/PartDesign/SprocketFeature.py +++ b/src/Mod/PartDesign/SprocketFeature.py @@ -125,7 +125,7 @@ class Sprocket: obj.addProperty("App::PropertyEnumeration","SprocketReference","Sprocket","Sprocket Reference") obj.addProperty("App::PropertyLength","Thickness","Sprocket","Thickness as stated in the reference specification") - obj.SprocketReference = list(self.SprocketReferenceRollerTable.keys()) + obj.SprocketReference = list(self.SprocketReferenceRollerTable) obj.NumberOfTeeth = 50 obj.Pitch = "0.375 in" diff --git a/src/Mod/PartDesign/WizardShaft/SegmentFunction.py b/src/Mod/PartDesign/WizardShaft/SegmentFunction.py index f1c4d12c51..675f87e415 100644 --- a/src/Mod/PartDesign/WizardShaft/SegmentFunction.py +++ b/src/Mod/PartDesign/WizardShaft/SegmentFunction.py @@ -121,7 +121,7 @@ class SegmentFunction: def buildFromDict(self, var, dict): self.variable = var - for key in sorted(dict.keys()): + for key in sorted(dict): #if abs(dict[key]) > 1E-9: self.segments.append(SegmentFunctionSegment(key, var, dict[key], 0)) @@ -130,7 +130,7 @@ class SegmentFunction: self.segments.insert(self.index(st), SegmentFunctionSegment(st, self.variable, coeff, exp)) def addSegments(self, dict): - for key in sorted(dict.keys()): + for key in sorted(dict): self.addSegment(key, dict[key]) def setMaxX(self, mx): diff --git a/src/Mod/PartDesign/WizardShaft/WizardShaftTable.py b/src/Mod/PartDesign/WizardShaft/WizardShaftTable.py index db4aa6db0c..8ac62a1c0c 100644 --- a/src/Mod/PartDesign/WizardShaft/WizardShaftTable.py +++ b/src/Mod/PartDesign/WizardShaft/WizardShaftTable.py @@ -53,8 +53,8 @@ class WizardShaftTable: ] def __init__(self, w, s): - for key in iter(self.rowDict.keys()): - self.rowDictReverse[self.rowDict[key]] = key + for key, val in self.rowDict.items(): + self.rowDictReverse[val] = key # Set parent wizard (for connecting slots) self.wizard = w self.shaft = s diff --git a/src/Mod/PartDesign/fcgear/involute.py b/src/Mod/PartDesign/fcgear/involute.py index 15df79ff7b..924e48eb73 100644 --- a/src/Mod/PartDesign/fcgear/involute.py +++ b/src/Mod/PartDesign/fcgear/involute.py @@ -174,7 +174,7 @@ def _create_involute_profile( # To get rid of the sin(t) part we assume phi "very small", i.e. sin(phi) becomes 0. # This is justyfied because Rci is much larger than fi and the parallax error is # neglectable. Next we substitute the parameter t by pi/2-q-pi. For one to account for the - # tangent angle definitions (see above), and then to turn our cicle by 180° as for the + # tangent angle definitions (see above), and then to turn our circle by 180° as for the # inner fillet we need the third quadrant of the circle (NB: we are looking at the upper # half of the right most tooth, i.e. the involute grows downwards!). This results in # sqrt(2*fi*Rci*cos(-1/2*pi - q) + fi**2 + Rci**2) which simplifies to diff --git a/src/Mod/Path/App/AppPathPy.cpp b/src/Mod/Path/App/AppPathPy.cpp index 36b2c94458..5353a2bf65 100644 --- a/src/Mod/Path/App/AppPathPy.cpp +++ b/src/Mod/Path/App/AppPathPy.cpp @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -325,13 +326,14 @@ namespace PathApp { PyObject *pShapes=nullptr; PyObject *start=nullptr; PyObject *return_end=Py_False; - static char* kwd_list[] = {"shapes", "start", "return_end", + static const std::array kwd_list {"shapes", "start", "return_end", PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_PATH), nullptr}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O|O!O!" PARAM_PY_KWDS(AREA_PARAMS_PATH), kwd_list, &pShapes, &(Base::VectorPy::Type), &start, &PyBool_Type, &return_end, - PARAM_REF(PARAM_FARG,AREA_PARAMS_PATH))) + PARAM_REF(PARAM_FARG,AREA_PARAMS_PATH))) { throw Py::Exception(); + } std::list shapes; if (PyObject_TypeCheck(pShapes, &(Part::TopoShapePy::Type))) @@ -376,10 +378,10 @@ namespace PathApp { PARAM_PY_DECLARE_INIT(PARAM_FARG,AREA_PARAMS_SORT) PyObject *pShapes=nullptr; PyObject *start=nullptr; - static char* kwd_list[] = {"shapes", "start", + static const std::array kwd_list {"shapes", "start", PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_ARC_PLANE), PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_SORT), nullptr}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O|O!" PARAM_PY_KWDS(AREA_PARAMS_ARC_PLANE) PARAM_PY_KWDS(AREA_PARAMS_SORT), diff --git a/src/Mod/Path/App/Area.cpp b/src/Mod/Path/App/Area.cpp index 15ac2c8507..8332036c2e 100644 --- a/src/Mod/Path/App/Area.cpp +++ b/src/Mod/Path/App/Area.cpp @@ -496,6 +496,79 @@ void Area::add(const TopoDS_Shape& shape, short op) { myShapes.emplace_back(op, shape); } +std::shared_ptr Area::getClearedArea(double tipDiameter, double diameter) { + build(); +#define AREA_MY(_param) myParams.PARAM_FNAME(_param) + PARAM_ENUM_CONVERT(AREA_MY, PARAM_FNAME, PARAM_ENUM_EXCEPT, AREA_PARAMS_OFFSET_CONF); + PARAM_ENUM_CONVERT(AREA_MY, PARAM_FNAME, PARAM_ENUM_EXCEPT, AREA_PARAMS_CLIPPER_FILL); + + // Do not fit arcs after these offsets; it introduces unnecessary approximation error, and all off + // those arcs will be converted back to segments again for clipper differencing in getRestArea anyway + CAreaConfig conf(myParams, /*no_fit_arcs*/ true); + + const double roundPrecision = myParams.Accuracy; + const double buffer = 2 * roundPrecision; + + // A = myArea + // prevCenters = offset(A, -rTip) + const double rTip = tipDiameter / 2.; + CArea prevCenter(*myArea); + prevCenter.OffsetWithClipper(-rTip, JoinType, EndType, myParams.MiterLimit, roundPrecision); + + // prevCleared = offset(prevCenter, r). + CArea prevCleared(prevCenter); + prevCleared.OffsetWithClipper(diameter / 2. + buffer, JoinType, EndType, myParams.MiterLimit, roundPrecision); + + std::shared_ptr clearedArea = make_shared(*this); + clearedArea->myArea.reset(new CArea(prevCleared)); + + return clearedArea; +} + +std::shared_ptr Area::getRestArea(std::vector> clearedAreas, double diameter) { + build(); + PARAM_ENUM_CONVERT(AREA_MY, PARAM_FNAME, PARAM_ENUM_EXCEPT, AREA_PARAMS_OFFSET_CONF); + PARAM_ENUM_CONVERT(AREA_MY, PARAM_FNAME, PARAM_ENUM_EXCEPT, AREA_PARAMS_CLIPPER_FILL); + + const double roundPrecision = myParams.Accuracy; + const double buffer = 2 * roundPrecision; + + // transform all clearedAreas into our workplane + Area clearedAreasInPlane(&myParams); + clearedAreasInPlane.myArea.reset(new CArea()); + for (std::shared_ptr clearedArea : clearedAreas) { + gp_Trsf trsf = clearedArea->myTrsf; + trsf.Invert(); + trsf.SetTranslationPart(gp_Vec{trsf.TranslationPart().X(), trsf.TranslationPart().Y(), -myTrsf.TranslationPart().Z()}); // discard z-height of cleared workplane, set to myWorkPlane's height + TopoDS_Shape clearedShape = Area::toShape(*clearedArea->myArea, false, &trsf); + Area::addShape(*(clearedAreasInPlane.myArea), clearedShape, &myTrsf, .01 /*default value*/, + &myWorkPlane); + } + + // remaining = A - prevCleared + CArea remaining(*myArea); + remaining.Clip(toClipperOp(Area::OperationDifference), &*(clearedAreasInPlane.myArea), SubjectFill, ClipFill); + + // rest = intersect(A, offset(remaining, dTool)) + CArea restCArea(remaining); + restCArea.OffsetWithClipper(diameter + buffer, JoinType, EndType, myParams.MiterLimit, roundPrecision); + restCArea.Clip(toClipperOp(Area::OperationIntersection), &*myArea, SubjectFill, ClipFill); + + gp_Trsf trsf(myTrsf.Inverted()); + TopoDS_Shape restShape = Area::toShape(restCArea, false, &trsf); + std::shared_ptr restArea = make_shared(&myParams); + restArea->add(restShape, OperationCompound); + + return restArea; +} + +TopoDS_Shape Area::toTopoShape() +{ + build(); + gp_Trsf trsf = myTrsf.Inverted(); + return toShape(*myArea, false, &trsf); +} + void Area::setParams(const AreaParams& params) { #define AREA_SRC(_param) params.PARAM_FNAME(_param) @@ -1624,7 +1697,6 @@ void Area::build() { if (myShapes.empty()) throw Base::ValueError("no shape added"); -#define AREA_MY(_param) myParams.PARAM_FNAME(_param) PARAM_ENUM_CONVERT(AREA_MY, PARAM_FNAME, PARAM_ENUM_EXCEPT, AREA_PARAMS_CLIPPER_FILL); if (myHaveSolid && myParams.SectionCount) { diff --git a/src/Mod/Path/App/Area.h b/src/Mod/Path/App/Area.h index 614adfafa7..5b192ae08a 100644 --- a/src/Mod/Path/App/Area.h +++ b/src/Mod/Path/App/Area.h @@ -242,6 +242,10 @@ public: const std::vector& heights = std::vector(), const TopoDS_Shape& plane = TopoDS_Shape()); + std::shared_ptr getClearedArea(double tipDiameter, double diameter); + std::shared_ptr getRestArea(std::vector> clearedAreas, double diameter); + TopoDS_Shape toTopoShape(); + /** Config this Area object */ void setParams(const AreaParams& params); diff --git a/src/Mod/Path/App/AreaPy.xml b/src/Mod/Path/App/AreaPy.xml index 372deb2162..6b9c1c6c1e 100644 --- a/src/Mod/Path/App/AreaPy.xml +++ b/src/Mod/Path/App/AreaPy.xml @@ -13,8 +13,10 @@ Delete="true"> - FreeCAD python wrapper of libarea\n -Path.Area(key=value ...)\n + FreeCAD python wrapper of libarea + +Path.Area(key=value ...) + The constructor accepts the same parameters as setParams(...) to configure the object All arguments are optional. @@ -25,7 +27,8 @@ All arguments are optional. - setPlane(shape): Set the working plane.\n + setPlane(shape): Set the working plane. + The supplied shape does not need to be planar. Area will try to find planar sub-shape (face, wire or edge). If more than one planar sub-shape is found, it will prefer the top plane parallel to XY0 plane. If no working plane are set, @@ -35,9 +38,13 @@ same algorithm - getShape(index=-1,rebuild=False): Return the resulting shape\n -\n* index (-1): the index of the section. -1 means all sections. No effect on planar shape.\n -\n* rebuild: clean the internal cache and rebuild + getShape(index=-1,rebuild=False): Return the resulting shape + + +* index (-1): the index of the section. -1 means all sections. No effect on planar shape. + + +* rebuild: clean the internal cache and rebuild @@ -55,6 +62,21 @@ same algorithm + + + + + + + + + + + + + + + diff --git a/src/Mod/Path/App/AreaPyImp.cpp b/src/Mod/Path/App/AreaPyImp.cpp index 42676f7e17..1bc1c0bc1c 100644 --- a/src/Mod/Path/App/AreaPyImp.cpp +++ b/src/Mod/Path/App/AreaPyImp.cpp @@ -22,6 +22,7 @@ #include "PreCompiled.h" +#include #include #include @@ -31,10 +32,11 @@ static PyObject * areaAbort(PyObject *, PyObject *args, PyObject *kwd) { - static char *kwlist[] = {"aborting", nullptr}; + static const std::array kwlist{"aborting", nullptr}; PyObject *pObj = Py_True; - if (!PyArg_ParseTupleAndKeywords(args,kwd,"|O!",kwlist,&PyBool_Type,&pObj)) + if (!Base::Wrapped_ParseTupleAndKeywords(args,kwd,"|O!",kwlist,&PyBool_Type,&pObj)) { return nullptr; + } Area::abort(Base::asBoolean(pObj)); @@ -43,7 +45,7 @@ static PyObject * areaAbort(PyObject *, PyObject *args, PyObject *kwd) { static PyObject * areaSetParams(PyObject *, PyObject *args, PyObject *kwd) { - static char *kwlist[] = {PARAM_FIELD_STRINGS(NAME,AREA_PARAMS_STATIC_CONF),nullptr}; + static const std::array kwlist {PARAM_FIELD_STRINGS(NAME,AREA_PARAMS_STATIC_CONF),nullptr}; if(args && PySequence_Size(args)>0) PyErr_SetString(PyExc_ValueError,"Non-keyword argument is not supported"); @@ -60,7 +62,7 @@ static PyObject * areaSetParams(PyObject *, PyObject *args, PyObject *kwd) { PARAM_FOREACH(AREA_SET,AREA_PARAMS_STATIC_CONF) //Parse arguments to overwrite CONF variables - if (!PyArg_ParseTupleAndKeywords(args, kwd, + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwd, "|" PARAM_PY_KWDS(AREA_PARAMS_STATIC_CONF), kwlist, PARAM_REF(PARAM_FNAME,AREA_PARAMS_STATIC_CONF))) return nullptr; @@ -90,8 +92,8 @@ static PyObject* areaGetParams(PyObject *, PyObject *args) { static PyObject * areaGetParamsDesc(PyObject *, PyObject *args, PyObject *kwd) { PyObject *pcObj = Py_False; - static char *kwlist[] = {"as_string", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwd, "|O!",kwlist,&PyBool_Type,&pcObj)) + static const std::array kwlist {"as_string", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwd, "|O!",kwlist,&PyBool_Type,&pcObj)) return nullptr; if (Base::asBoolean(pcObj)) @@ -145,6 +147,22 @@ static const PyMethodDef areaOverrides[] = { "\n* plane (None): optional shape to specify a section plane. If not give, the current workplane\n" "of this Area is used if section mode is 'Workplane'.", }, + { + "getClearedArea",nullptr,0, + "getClearedArea(tipDiameter, diameter):\n" + "Gets the area cleared when a tool maximally clears this area. This method assumes a tool tip diameter 'tipDiameter' traces the full area, and that (perhaps at a different height on the tool) this clears a different region with tool diameter 'diameter'.\n", + }, + { + "getRestArea",nullptr,0, + "getRestArea(clearedAreas, diameter):\n" + "Rest machining: gets the area left to be machined, assuming some of this area has already been cleared previous tool paths.\n" + "clearedAreas: the regions already cleared.\n" + "diameter: the tool diameter that finishes clearing this area.\n", + }, + { + "toTopoShape",nullptr,0, + "toTopoShape():\n" + }, { "setDefaultParams",reinterpret_cast(reinterpret_cast(areaSetParams)), METH_VARARGS|METH_KEYWORDS|METH_STATIC, "setDefaultParams(key=value...):\n" @@ -234,8 +252,8 @@ PyObject* AreaPy::getShape(PyObject *args, PyObject *keywds) { PyObject *pcObj = Py_False; short index=-1; - static char *kwlist[] = {"index","rebuild", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, keywds,"|hO!",kwlist,&index,&PyBool_Type,&pcObj)) + static const std::array kwlist{"index", "rebuild", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds,"|hO!",kwlist,&index,&PyBool_Type,&pcObj)) return nullptr; PY_TRY { @@ -253,9 +271,9 @@ PyObject* AreaPy::add(PyObject *args, PyObject *keywds) //Strangely, PyArg_ParseTupleAndKeywords requires all arguments to be keyword based, //even non-optional ones? That doesn't make sense in python. Seems only in python 3 //they added '$' to address that issue. - static char *kwlist[] = {"shape",PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_OPCODE), nullptr}; + static const std::array kwlist {"shape",PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_OPCODE), nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, keywds, + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "O|" PARAM_PY_KWDS(AREA_PARAMS_OPCODE), kwlist,&pcObj,PARAM_REF(PARAM_FARG,AREA_PARAMS_OPCODE))) return nullptr; @@ -292,7 +310,7 @@ PyObject* AreaPy::add(PyObject *args, PyObject *keywds) PyObject* AreaPy::makeOffset(PyObject *args, PyObject *keywds) { //Generate a keyword string defined in the ARG field of OFFSET parameter list - static char *kwlist[] = {"index",PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_OFFSET), nullptr}; + static const std::array kwlist {"index",PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_OFFSET), nullptr}; short index = -1; //Declare variables defined in the ARG field of the OFFSET parameter list with @@ -300,7 +318,7 @@ PyObject* AreaPy::makeOffset(PyObject *args, PyObject *keywds) PARAM_PY_DECLARE_INIT(PARAM_FARG,AREA_PARAMS_OFFSET) //Parse arguments to overwrite the defaults - if (!PyArg_ParseTupleAndKeywords(args, keywds, + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "|h" PARAM_PY_KWDS(AREA_PARAMS_OFFSET), kwlist, &index,PARAM_REF(PARAM_FARG,AREA_PARAMS_OFFSET))) return nullptr; @@ -315,17 +333,18 @@ PyObject* AreaPy::makeOffset(PyObject *args, PyObject *keywds) PyObject* AreaPy::makePocket(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {"index",PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_POCKET), nullptr}; + static const std::array kwlist {"index",PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_POCKET), nullptr}; short index = -1; PARAM_PY_DECLARE_INIT(PARAM_FARG,AREA_PARAMS_POCKET) //Override pocket mode default mode = Area::PocketModeZigZagOffset; - if (!PyArg_ParseTupleAndKeywords(args, keywds, + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "|h" PARAM_PY_KWDS(AREA_PARAMS_POCKET), kwlist, - &index,PARAM_REF(PARAM_FARG,AREA_PARAMS_POCKET))) + &index,PARAM_REF(PARAM_FARG,AREA_PARAMS_POCKET))) { return nullptr; + } PY_TRY { TopoDS_Shape resultShape = getAreaPtr()->makePocket(index, @@ -336,18 +355,19 @@ PyObject* AreaPy::makePocket(PyObject *args, PyObject *keywds) PyObject* AreaPy::makeSections(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_SECTION_EXTRA), + static const std::array kwlist {PARAM_FIELD_STRINGS(ARG,AREA_PARAMS_SECTION_EXTRA), "heights", "plane", nullptr}; PyObject *heights = nullptr; PyObject *plane = nullptr; PARAM_PY_DECLARE_INIT(PARAM_FARG,AREA_PARAMS_SECTION_EXTRA) - if (!PyArg_ParseTupleAndKeywords(args, keywds, + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "|" PARAM_PY_KWDS(AREA_PARAMS_SECTION_EXTRA) "OO!", kwlist, PARAM_REF(PARAM_FARG,AREA_PARAMS_SECTION_EXTRA), - &heights, &(Part::TopoShapePy::Type), &plane)) + &heights, &(Part::TopoShapePy::Type), &plane)) { return nullptr; + } PY_TRY { std::vector h; @@ -383,6 +403,55 @@ PyObject* AreaPy::makeSections(PyObject *args, PyObject *keywds) } PY_CATCH_OCC } +PyObject* AreaPy::getClearedArea(PyObject *args, PyObject *keywds) +{ + PY_TRY { + double tipDiameter, diameter; + if (!PyArg_ParseTuple(args, "dd", &tipDiameter, &diameter)) + return nullptr; + std::shared_ptr clearedArea = getAreaPtr()->getClearedArea(tipDiameter, diameter); + auto pyClearedArea = Py::asObject(new AreaPy(new Area(*clearedArea, true))); + return Py::new_reference_to(pyClearedArea); + } PY_CATCH_OCC +} + +PyObject* AreaPy::getRestArea(PyObject *args, PyObject *keywds) +{ + PY_TRY { + PyObject *pyClearedAreas; + std::vector> clearedAreas; + double diameter; + if (!PyArg_ParseTuple(args, "Od", &pyClearedAreas, &diameter)) + return nullptr; + if (pyClearedAreas && PyObject_TypeCheck(pyClearedAreas, &PyList_Type)) { + Py::Sequence clearedAreasSeq(pyClearedAreas); + clearedAreas.reserve(clearedAreasSeq.size()); + for (Py::Sequence::iterator it = clearedAreasSeq.begin(); it != clearedAreasSeq.end(); ++it) { + PyObject *item = (*it).ptr(); + if (!PyObject_TypeCheck(item, &(AreaPy::Type))) { + PyErr_SetString(PyExc_TypeError, "cleared areas must only contain AreaPy type"); + return nullptr; + } + clearedAreas.push_back(std::make_shared(*static_cast(item)->getAreaPtr(), true)); + } + } else { + PyErr_SetString(PyExc_TypeError, "clearedAreas must be of type list of AreaPy"); + return nullptr; + } + + std::shared_ptr restArea = getAreaPtr()->getRestArea(clearedAreas, diameter); + auto pyRestArea = Py::asObject(new AreaPy(new Area(*restArea, true))); + return Py::new_reference_to(pyRestArea); + } PY_CATCH_OCC +} + +PyObject* AreaPy::toTopoShape(PyObject *args, PyObject *keywds) +{ + PY_TRY { + return Py::new_reference_to(Part::shape2pyshape(getAreaPtr()->toTopoShape())); + } PY_CATCH_OCC +} + PyObject* AreaPy::setDefaultParams(PyObject *, PyObject *) { return nullptr; @@ -390,7 +459,7 @@ PyObject* AreaPy::setDefaultParams(PyObject *, PyObject *) PyObject* AreaPy::setParams(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {PARAM_FIELD_STRINGS(NAME,AREA_PARAMS_CONF),nullptr}; + static const std::array kwlist {PARAM_FIELD_STRINGS(NAME,AREA_PARAMS_CONF),nullptr}; //Declare variables defined in the NAME field of the CONF parameter list PARAM_PY_DECLARE(PARAM_FNAME,AREA_PARAMS_CONF); @@ -401,7 +470,7 @@ PyObject* AreaPy::setParams(PyObject *args, PyObject *keywds) PARAM_FOREACH(AREA_SET,AREA_PARAMS_CONF) //Parse arguments to overwrite CONF variables - if (!PyArg_ParseTupleAndKeywords(args, keywds, + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "|" PARAM_PY_KWDS(AREA_PARAMS_CONF), kwlist, PARAM_REF(PARAM_FNAME,AREA_PARAMS_CONF))) return nullptr; diff --git a/src/Mod/Path/App/CommandPyImp.cpp b/src/Mod/Path/App/CommandPyImp.cpp index d0547b2fa0..c5ec831dc5 100644 --- a/src/Mod/Path/App/CommandPyImp.cpp +++ b/src/Mod/Path/App/CommandPyImp.cpp @@ -27,6 +27,7 @@ #include #include +#include // files generated out of CommandPy.xml #include "CommandPy.h" @@ -69,8 +70,8 @@ int CommandPy::PyInit(PyObject* args, PyObject* kwd) { PyObject *parameters = nullptr; char *name = ""; - static char *kwlist[] = {"name", "parameters", nullptr}; - if ( PyArg_ParseTupleAndKeywords(args, kwd, "|sO!", kwlist, &name, &PyDict_Type, ¶meters) ) { + static const std::array kwlist {"name", "parameters", nullptr}; + if (Base::Wrapped_ParseTupleAndKeywords(args, kwd, "|sO!", kwlist, &name, &PyDict_Type, ¶meters)) { std::string sname(name); boost::to_upper(sname); try { @@ -113,7 +114,8 @@ int CommandPy::PyInit(PyObject* args, PyObject* kwd) } PyErr_Clear(); // set by PyArg_ParseTuple() - if ( PyArg_ParseTupleAndKeywords(args, kwd, "|sO!", kwlist, &name, &(Base::PlacementPy::Type), ¶meters) ) { + if (Base::Wrapped_ParseTupleAndKeywords(args, kwd, "|sO!", kwlist, &name, &(Base::PlacementPy::Type), + ¶meters)) { std::string sname(name); boost::to_upper(sname); try { diff --git a/src/Mod/Path/App/FeatureAreaPy.xml b/src/Mod/Path/App/FeatureAreaPy.xml index d827bcc43f..fda7b500d0 100644 --- a/src/Mod/Path/App/FeatureAreaPy.xml +++ b/src/Mod/Path/App/FeatureAreaPy.xml @@ -20,7 +20,8 @@ - setParams(key=value...): Convenient function to configure this feature.\n + setParams(key=value...): Convenient function to configure this feature. + Same usage as Path.Area.setParams(). This function stores the parameters in the properties. diff --git a/src/Mod/Path/App/FeatureAreaPyImp.cpp b/src/Mod/Path/App/FeatureAreaPyImp.cpp index ac2d4b479f..a4a49f3990 100644 --- a/src/Mod/Path/App/FeatureAreaPyImp.cpp +++ b/src/Mod/Path/App/FeatureAreaPyImp.cpp @@ -22,6 +22,7 @@ #include "PreCompiled.h" +#include #include // inclusion of the generated files (generated out of FeatureAreaPy.xml) @@ -50,7 +51,7 @@ PyObject* FeatureAreaPy::getArea(PyObject *args) PyObject* FeatureAreaPy::setParams(PyObject *args, PyObject *keywds) { - static char *kwlist[] = {PARAM_FIELD_STRINGS(NAME,AREA_PARAMS_CONF),nullptr}; + static const std::array kwlist {PARAM_FIELD_STRINGS(NAME,AREA_PARAMS_CONF),nullptr}; //Declare variables defined in the NAME field of the CONF parameter list PARAM_PY_DECLARE(PARAM_FNAME,AREA_PARAMS_CONF); @@ -64,7 +65,7 @@ PyObject* FeatureAreaPy::setParams(PyObject *args, PyObject *keywds) PARAM_FOREACH(AREA_SET,AREA_PARAMS_CONF) //Parse arguments to overwrite CONF variables - if (!PyArg_ParseTupleAndKeywords(args, keywds, + if (!Base::Wrapped_ParseTupleAndKeywords(args, keywds, "|" PARAM_PY_KWDS(AREA_PARAMS_CONF), kwlist, PARAM_REF(PARAM_FNAME,AREA_PARAMS_CONF))) return nullptr; diff --git a/src/Mod/Path/CMakeLists.txt b/src/Mod/Path/CMakeLists.txt index e29026adc6..4e00a938d5 100644 --- a/src/Mod/Path/CMakeLists.txt +++ b/src/Mod/Path/CMakeLists.txt @@ -130,6 +130,7 @@ SET(PathPythonPostScripts_SRCS Path/Post/scripts/comparams_post.py Path/Post/scripts/dxf_post.py Path/Post/scripts/dynapath_post.py + Path/Post/scripts/estlcam_post.py Path/Post/scripts/example_pre.py Path/Post/scripts/fablin_post.py Path/Post/scripts/fanuc_post.py diff --git a/src/Mod/Path/Gui/Resources/panels/DressupPathBoundary.ui b/src/Mod/Path/Gui/Resources/panels/DressupPathBoundary.ui index 9381ede8f7..6baca53b9e 100644 --- a/src/Mod/Path/Gui/Resources/panels/DressupPathBoundary.ui +++ b/src/Mod/Path/Gui/Resources/panels/DressupPathBoundary.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageBaseGeometryEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageBaseGeometryEdit.ui index 1c34d1a870..75e50235c3 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageBaseGeometryEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageBaseGeometryEdit.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageBaseHoleGeometryEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageBaseHoleGeometryEdit.ui index c4f1f22cf3..3e84ce1b00 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageBaseHoleGeometryEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageBaseHoleGeometryEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageBaseLocationEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageBaseLocationEdit.ui index 14c06ab1bf..924a12b1f6 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageBaseLocationEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageBaseLocationEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageDepthsEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageDepthsEdit.ui index 8df9f0660c..696c60e060 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageDepthsEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageDepthsEdit.ui @@ -14,7 +14,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageDiametersEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageDiametersEdit.ui index 31914324e7..3b6caf57cd 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageDiametersEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageDiametersEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageHeightsEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageHeightsEdit.ui index 2ab1457682..9878b8c4b7 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageHeightsEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageHeightsEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpAdaptiveEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpAdaptiveEdit.ui index b9499d5556..08db3a609f 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpAdaptiveEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpAdaptiveEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpCustomEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpCustomEdit.ui index 5ee7c57e91..2be28a1f5d 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpCustomEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpCustomEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpDeburrEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpDeburrEdit.ui index b4f82f0fd5..b10d7c6c19 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpDeburrEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpDeburrEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui index ff740b7837..572218d997 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpDrillingEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpEngraveEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpEngraveEdit.ui index efafb7a8a8..dcfb06a67a 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpEngraveEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpEngraveEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpHelixEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpHelixEdit.ui index 35219e28bc..cdc8f842d8 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpHelixEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpHelixEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpPocketExtEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpPocketExtEdit.ui index edfde2d390..74b8d2a40f 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpPocketExtEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpPocketExtEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpPocketFullEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpPocketFullEdit.ui index 1f7bd6e8c3..8d81b94766 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpPocketFullEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpPocketFullEdit.ui @@ -11,7 +11,7 @@ - Form + Form @@ -245,14 +245,24 @@ The latter can be used to face of the entire stock area to ensure uniform height - + Min Travel - + + + + Check to skip machining regions that have already been cleared by previous operations + + + Use Rest Machining + + + + diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpProbeEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpProbeEdit.ui index 61a45202e2..d6cf77f997 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpProbeEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpProbeEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpProfileFullEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpProfileFullEdit.ui index e02ce8ec04..fb066cb2ce 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpProfileFullEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpProfileFullEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpSlotEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpSlotEdit.ui index 325a764a6e..52690b5f7b 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpSlotEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpSlotEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpSurfaceEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpSurfaceEdit.ui index 717876f9e7..e69f98187e 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpSurfaceEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpSurfaceEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpThreadMillingEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpThreadMillingEdit.ui index cf60845866..82166b695f 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpThreadMillingEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpThreadMillingEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpVcarveEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpVcarveEdit.ui index 4dfbcb58f3..a4df0aed4c 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpVcarveEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpVcarveEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/PageOpWaterlineEdit.ui b/src/Mod/Path/Gui/Resources/panels/PageOpWaterlineEdit.ui index 8b538e03d9..889a0698e2 100644 --- a/src/Mod/Path/Gui/Resources/panels/PageOpWaterlineEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/PageOpWaterlineEdit.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/SetupOp.ui b/src/Mod/Path/Gui/Resources/panels/SetupOp.ui index 7ae33598da..ba1e03693f 100644 --- a/src/Mod/Path/Gui/Resources/panels/SetupOp.ui +++ b/src/Mod/Path/Gui/Resources/panels/SetupOp.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/panels/ToolEditor.ui b/src/Mod/Path/Gui/Resources/panels/ToolEditor.ui index 078965069c..af490af35e 100644 --- a/src/Mod/Path/Gui/Resources/panels/ToolEditor.ui +++ b/src/Mod/Path/Gui/Resources/panels/ToolEditor.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/preferences/PathDressupHoldingTags.ui b/src/Mod/Path/Gui/Resources/preferences/PathDressupHoldingTags.ui index a49aea9d9c..ef2bc6797b 100644 --- a/src/Mod/Path/Gui/Resources/preferences/PathDressupHoldingTags.ui +++ b/src/Mod/Path/Gui/Resources/preferences/PathDressupHoldingTags.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Path/Gui/Resources/translations/Path.ts b/src/Mod/Path/Gui/Resources/translations/Path.ts index 443d4bbf71..2cfc909e6a 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path.ts @@ -535,31 +535,8 @@ For stock from the Base object's bounding box it means the extra material i Form - - - - - - - - - - - - - - - - - - - - - - - - + Form @@ -730,17 +707,17 @@ For stock from the Base object's bounding box it means the extra material i - + Add - - + + Remove @@ -791,8 +768,8 @@ Reset deletes all current items from the list and fills the list with all circul - + All objects will be processed using the same operation properties. @@ -837,32 +814,32 @@ Reset deletes all current items from the list and fills the list with all circul - + Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -877,14 +854,14 @@ Reset deletes all current items from the list and fills the list with all circul - + Final Depth - + Step Down @@ -924,34 +901,34 @@ Reset deletes all current items from the list and fills the list with all circul - + + + + - - - - + The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode @@ -961,28 +938,28 @@ Reset deletes all current items from the list and fills the list with all circul - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller - - + + Coolant @@ -1002,8 +979,8 @@ Reset deletes all current items from the list and fills the list with all circul - + Step Over Percent @@ -1053,8 +1030,8 @@ Reset deletes all current items from the list and fills the list with all circul - + Use Outline @@ -1109,10 +1086,10 @@ Reset deletes all current items from the list and fills the list with all circul - + - + Direction @@ -1122,15 +1099,15 @@ Reset deletes all current items from the list and fills the list with all circul - + CW - + CCW @@ -1155,6 +1132,8 @@ Reset deletes all current items from the list and fills the list with all circul + + @@ -1164,8 +1143,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm @@ -1381,11 +1358,11 @@ Reset deletes all current items from the list and fills the list with all circul + + - - The tool and its settings to be used for this operation @@ -1468,15 +1445,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + + + + + Use Rest Machining + + Material Allowance + - Use Start Point @@ -1732,9 +1719,9 @@ The latter can be used to face of the entire stock area to ensure uniform height - + Layer Mode @@ -1774,8 +1761,8 @@ The latter can be used to face of the entire stock area to ensure uniform height - + Cut Pattern @@ -1790,14 +1777,14 @@ The latter can be used to face of the entire stock area to ensure uniform height - + Bounding Box - + Select the overall boundary for the operation. @@ -1807,14 +1794,14 @@ The latter can be used to face of the entire stock area to ensure uniform height - + Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. @@ -1839,14 +1826,14 @@ The latter can be used to face of the entire stock area to ensure uniform height - + Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. @@ -1856,8 +1843,8 @@ The latter can be used to face of the entire stock area to ensure uniform height - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1892,28 +1879,28 @@ The latter can be used to face of the entire stock area to ensure uniform height - + Step over - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. - + Sample interval - + Optimize Linear Paths @@ -2047,8 +2034,8 @@ Default: 3 mm - + Type @@ -2078,8 +2065,8 @@ Default: 3 mm - + Operation @@ -2962,8 +2949,8 @@ Should multiple tools or tool shapes with the same name exist in different direc - + Radius @@ -3378,8 +3365,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator @@ -4210,10 +4197,9 @@ For example: - + Edit - int = field(default=None) @@ -4344,19 +4330,19 @@ For example: - + A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s @@ -4376,8 +4362,8 @@ For example: - + Choose a Path Job @@ -4481,6 +4467,7 @@ For example: List of custom property groups + int = field(default=None) @@ -4543,12 +4530,12 @@ For example: + + - - The base path to modify @@ -4842,9 +4829,9 @@ For example: + - Operations Cycle Time Estimation @@ -4929,8 +4916,8 @@ For example: - + Make False, to prevent operation from generating code @@ -4950,8 +4937,8 @@ For example: - + Percent of cutter diameter to step over on each pass @@ -5127,10 +5114,10 @@ For example: - - - + + + Make True, if specifying a Start Point @@ -5244,9 +5231,9 @@ For example: - + Additional base objects to be engraved @@ -5287,9 +5274,9 @@ For example: - + Extra value to stay away from final profile- good for roughing toolpath @@ -5309,9 +5296,9 @@ For example: - - + + Choose how to process multiple Base Geometry features. @@ -5332,8 +5319,8 @@ For example: - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5369,10 +5356,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + + X offset between tool and probe @@ -5434,8 +5438,8 @@ For example: - + Show the temporary path construction objects when module is in DEBUG mode. @@ -5451,8 +5455,8 @@ For example: - + Set the geometric clearing pattern to use for the operation. @@ -5468,8 +5472,8 @@ For example: - + Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5500,8 +5504,8 @@ For example: - + The custom start point for the path of this operation @@ -6015,22 +6019,22 @@ For example: Path_Dressup - + Please select one path object - + The selected object is not a path - + Please select a Path object @@ -6187,8 +6191,8 @@ For example: - + All Files (*.*) @@ -6738,6 +6742,11 @@ For example: no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + + Path_Operation @@ -6840,14 +6849,14 @@ For example: PathProfile - + Outside - + Inside @@ -6983,7 +6992,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. @@ -7003,12 +7012,12 @@ For example: - + Pass Extension - + The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_be.ts b/src/Mod/Path/Gui/Resources/translations/Path_be.ts index 746000629e..8e21f31c2d 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_be.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_be.ts @@ -138,7 +138,7 @@ 2D - дзвюхмерны + Двухмернае @@ -298,7 +298,7 @@ For stock from the Base object's bounding box it means the extra material in all Export - Export + Экспартаваць @@ -553,31 +553,8 @@ FreeCAD пастаўляецца з некалькімі прадусталяв Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Форма @@ -726,7 +703,7 @@ FreeCAD пастаўляецца з некалькімі прадусталяв Import - Імпарт + Імпартаваць @@ -751,17 +728,17 @@ FreeCAD пастаўляецца з некалькімі прадусталяв Ачысціць спіс асноўнай геаметрыі - + Add Дадаць - - + + Remove Выдаліць @@ -819,8 +796,8 @@ Reset deletes all current items from the list and fills the list with all circul Скінуць - + All objects will be processed using the same operation properties. Усе аб'екты будуць апрацаваныя з ужываннем адных і тых жа ўласцівасцяў аперацыі. @@ -866,33 +843,33 @@ Reset deletes all current items from the list and fills the list with all circul Усе месцазнаходжанні будуць апрацаваныя з ужываннем адных і тых жа ўласцівасцяў аперацыі. - + Start Depth Пачатковая глыбіня - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Пачатковая глыбіня аперацыі. Самая высокая кропка па восі Z, якую неабходна апрацаваць. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Перадайце значэнне Z абранай характарыстыкі ў якасці пачатковай глыбіні для аперацыі. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. Глыбіня аперацыі, якая адпавядае найменшаму значэнню па восі Z, якую неабходна апрацаваць. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Перадайце значэнне Z абранай характарыстыкі ў якасці канчатковай глыбіні для аперацыі. @@ -910,14 +887,14 @@ Reset deletes all current items from the list and fills the list with all circul Можа ўжывацца для атрымання больш чыстага пакрыцця. - + Final Depth Канчатковая глыбіня - + Step Down Крок уніз @@ -955,37 +932,37 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - Вышыня адхілення + Вышыня зазору - + + + + - - - - + The tool and its settings to be used for this operation. Інструмент і яго налады, якія будуць ужывацца для дадзенай аперацыі. + + + + + + + + + + - - - - - - - - - - Coolant Mode Рэжым астуджэння @@ -995,28 +972,28 @@ Reset deletes all current items from the list and fills the list with all circul G-код - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Кантролер інструментаў - - + + Coolant Астуджальная вадкасць @@ -1036,8 +1013,8 @@ Reset deletes all current items from the list and fills the list with all circul Тып аперацыи - + Step Over Percent Крок наперад у адсотках @@ -1087,8 +1064,8 @@ Reset deletes all current items from the list and fills the list with all circul Аздабіць профіль - + Use Outline Ужываць контур @@ -1112,13 +1089,13 @@ Reset deletes all current items from the list and fills the list with all circul How much to lift the tool up during the rapid linking moves over cleared regions. If linking path is not clear tool is raised to clearance height. Як высока вы павінны ўздымаць інструмент пры хуткіх злучальных рухах над вычышчанымі абласцямі. -Калі злучальная траекторыя не вольная, інструмент уздымаецца да вышыні ачысткі. +Калі злучальная траекторыя не вольная, інструмент уздымаецца да вышыні зазору. Max length of keep-tool-down linking path compared to direct distance between points. If exceeded link will be done by raising the tool to clearance height. Найбольшая даўжыня спуску інструмента ў адносінах да прамой адлегласці паміж кропкамі. -У выпадку перавышэння, прывязка будзе ажыццяўляцца шляхам узняцця інструмента на вышыню ачысткі. +У выпадку перавышэння, прывязка будзе ажыццяўляцца шляхам узняцця інструмента на вышыню зазору. @@ -1147,10 +1124,10 @@ Reset deletes all current items from the list and fills the list with all circul Спыніць - + - + Direction Напрамак @@ -1160,17 +1137,17 @@ Reset deletes all current items from the list and fills the list with all circul Напрамак, у якім выконваецца профіль, па гадзінніку ці супраць. - + CW - па гадзінніку + Па гадзінніку - + CCW - супраць гадзінніка + Супраць гадзінніка @@ -1193,6 +1170,8 @@ Reset deletes all current items from the list and fills the list with all circul Дыяганальнае аб'яднанне + + @@ -1202,8 +1181,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm мм @@ -1215,7 +1192,7 @@ Reset deletes all current items from the list and fills the list with all circul TextLabel - ТэкставыНадпіс + Тэкставы надпіс @@ -1260,7 +1237,7 @@ Reset deletes all current items from the list and fills the list with all circul None - Нічога + Адсутнічае @@ -1422,11 +1399,11 @@ Reset deletes all current items from the list and fills the list with all circul Шаблон + + - - The tool and its settings to be used for this operation @@ -1514,15 +1491,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Калі абрана, аперацыя ўжывае контур абранай асноўнай геаметрыі і прапускае ўсе адтуліны і астраўкі + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Дапаможнік матэрыялу + - Use Start Point Ужыць пачатковую кропку @@ -1716,7 +1703,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Vertex - Vertex + Вяршыня @@ -1784,9 +1771,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Выцягнуць канец траекторыі - + Layer Mode Рэжым пластоў @@ -1798,7 +1785,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Multi-pass - Шматпраходны + Шмат праходаў @@ -1813,7 +1800,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Perpendicular - Перпендыкуляр + Перпендыкулярна @@ -1826,8 +1813,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Тып сканіравання - + Cut Pattern Шаблон апрацоўкі @@ -1842,14 +1829,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Пазбягайце апошніх X граняў - + Bounding Box Габарыты - + Select the overall boundary for the operation. Абраць агульную мяжу для аперацыі. @@ -1860,14 +1847,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Вярчальны: вярчальнае сканіраванне па чацвёртай восі. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Завершае аперацыю за адзін праход на глыбіню, альбо за некалькі праходаў да канчатковай глыбіні. - + Set the geometric clearing pattern to use for the operation. Задаць геаметрычны шаблон ачысткі, які будзе ўжывацца для аперацыі. @@ -1892,14 +1879,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Лініі фрэзеравання ствараць паралельна дадзенай восі. - + Set the Z-axis depth offset from the target surface. Задаць зрушэнне глыбіні па восі Z ад мэтавай паверхні. - + Set the sampling resolution. Smaller values quickly increase processing time. Задаць дазвол выбаркі. Меншыя значэння хутка павялічваюць час апрацоўкі. @@ -1909,8 +1896,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Задаць True, калі пакажыце пачатковую кропку - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Уключыць аптымізацыю лінейных траекторый (калінеарных кропак). Выдаляе непатрэбныя калінеарныя кропкі з вываду G-кода. @@ -1945,14 +1932,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Зрушэнне глыбіні - + Step over Пераступіць - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1960,14 +1947,14 @@ A step over of 100% results in no overlap between two different cycles. Пераход на 100% не прыводзіць да перакрыцця двух розных цыклаў. - + Sample interval Інтэрвал выбаркі - + Optimize Linear Paths Аптымізаваць лінейныя траекторыі @@ -2062,12 +2049,12 @@ Default: "5mm" Rapid horizontal speed assigned as HorizRapid to new ToolController. - Хуткая гарызантальная падача, якая прысвоеная як гарызантальная падача да новага Кантролера інструменту. + Хуткая гарызантальная падача, якая прызначаная як гарызантальная падача да новага Кантролера інструменту. Rapid vertical speed assigned to VertRapid of new ToolController. - Хуткая вертыкальная падача, якая прысвоеная як вертыкальная падача да новага Кантролера інструменту. + Хуткая вертыкальная падача, якая прызначаная як вертыкальная падача да новага Кантролера інструменту. @@ -2108,8 +2095,8 @@ Default: 3 mm Арыентацыя - + Type Тып @@ -2131,7 +2118,7 @@ Default: 3 mm Pitch - Падача + Крок @@ -2139,8 +2126,8 @@ Default: 3 mm Крок (віткоў на цалю) - + Operation Аперацыя @@ -2385,7 +2372,7 @@ If the radius is bigger than that which the tag shape itself supports, the resul General - Асноўныя + Агульны @@ -2666,7 +2653,7 @@ If left empty no template will be preselected. Position - Position + Становішча @@ -2694,7 +2681,7 @@ Should multiple tools or tool shapes with the same name exist in different direc None - Нічога + Адсутнічае @@ -2802,7 +2789,7 @@ Should multiple tools or tool shapes with the same name exist in different direc None - Нічога + Адсутнічае @@ -3013,7 +3000,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Perpendicular - Перпендыкуляр + Перпендыкулярна @@ -3068,8 +3055,8 @@ Should multiple tools or tool shapes with the same name exist in different direc Аздабленне восей - + Radius Радыус @@ -3143,7 +3130,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Dogbone - Сабачая костка + Форма сабачай косткі @@ -3209,7 +3196,7 @@ Should multiple tools or tool shapes with the same name exist in different direc fixed - выпраўлены + зафіксаваны @@ -3429,7 +3416,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Clearance Height - Вышыня адхілення + Вышыня зазору @@ -3490,8 +3477,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Сродак мадэлявання траекторый @@ -3573,7 +3560,7 @@ Should multiple tools or tool shapes with the same name exist in different direc TextLabel - ТэкставыНадпіс + Тэкставы надпіс @@ -3684,7 +3671,7 @@ Should multiple tools or tool shapes with the same name exist in different direc TextLabel - ТэкставыНадпіс + Тэкставы надпіс @@ -3712,7 +3699,7 @@ Should multiple tools or tool shapes with the same name exist in different direc General - Асноўныя + Агульны @@ -3845,7 +3832,7 @@ FreeCAD has no knowledge of where a particular coordinate system exists within t Extend Model's Bounding Box - Пашырэнне габарытаў мадэлі + Пашырыць габарыты мадэлі @@ -4002,7 +3989,7 @@ Default: "OpStockZMax+SetupSheet.ClearanceHeightOffset" Expression set as SafeHeight for new operations. Default: "OpStockZMax+SetupSheet.SafeHeightOffset" - Выраз, які зададзеная як бяспечная вышыня для новай аперацыі. + Выраз, які зададзены як бяспечная вышыня для новай аперацыі. Першапачаткова: OpStockZMax+SetupSheet.SafeHeightOffset @@ -4026,12 +4013,12 @@ Default: "5mm" Rapid horizontal speed assigned as HorizRapid to new ToolController. - Хуткая гарызантальная падача, якая прысвоеная як гарызантальная падача да новага Кантролера інструменту. + Хуткая гарызантальная падача, якая прызначаная як гарызантальная падача да новага Кантролера інструменту. Rapid vertical speed assigned to VertRapid of new ToolController. - Хуткая вертыкальная падача, якая прысвоеная як вертыкальная падача да новага Кантролера інструменту. + Хуткая вертыкальная падача, якая прызначаная як вертыкальная падача да новага Кантролера інструменту. @@ -4230,12 +4217,12 @@ Default: 3 mm Horizontal - Па гарызанталі + Гарызантальны Vertical - Па вертыкалі + Вертыкальны @@ -4369,7 +4356,7 @@ For example: Ok - OK + Ok @@ -4377,10 +4364,9 @@ For example: Больш не паказваць - + Edit - int = field(default=None) Змяніць @@ -4503,27 +4489,27 @@ For example: CW - па гадзінніку + Па гадзінніку CCW - супраць гадзінніка + Супраць гадзінніка - + A planar adaptive start is unavailable. The non-planar will be attempted. Плоскі адаптыўны запуск недаступны. Будзе зроблена спроба стварэння неплоскага аб'екту. - - + + The non-planar adaptive start is also unavailable. Неплоскі адаптыўны запуск таксама недаступны. - + %s is not a Base Model object of the job %s %s не з'яўляецца аб'ектам асноўнай мадэлі задання %s @@ -4543,10 +4529,10 @@ For example: Профіль усёй мадэлі, абраных граняў ці абраны' рэбраў - + Choose a Path Job - Абраць шлях да задання + Абраць траекторыю да задання @@ -4648,6 +4634,7 @@ For example: List of custom property groups + int = field(default=None) Спіс карыстальніцкіх суполак уласцівасцяў @@ -4710,12 +4697,12 @@ For example: + + - - The base path to modify Асноўная траекторыя для змены @@ -5009,9 +4996,9 @@ For example: Калекцыя ўсіх кантролераў інструментаў для задання + - Operations Cycle Time Estimation Ацэнка часу цыклу аперацыі @@ -5096,8 +5083,8 @@ For example: Нумар зрушэння прыстасавання - + Make False, to prevent operation from generating code Задаць False, каб прадухіліць стварэнне G-кода для аперацыи @@ -5117,8 +5104,8 @@ For example: Уплывае на дакладнасць і эфектыўнасць - + Percent of cutter diameter to step over on each pass Адсотак дыяметра разца, які неабходна пераступаць пры кожным праходзе @@ -5294,10 +5281,10 @@ For example: Пачатковая кропка траекторыі - - - + + + Make True, if specifying a Start Point Задаць True, калі пакажыце пачатковую кропку @@ -5412,9 +5399,9 @@ For example: Прымяніць адвод G99: толькі адвод на вышыню адводу (RetractHeight) паміж адтулінамі ў дадзенай аперацыі - + Additional base objects to be engraved Дадатковыя асноўныя аб'екты для гравіроўкі @@ -5455,9 +5442,9 @@ For example: Радыус пачатку - + Extra value to stay away from final profile- good for roughing toolpath Дадатковае значэнне, якое дазваляе трымацца далей ад канчатковага профілю - падыходзіць для траекторыі інструмента чарнавой апрацоўкі @@ -5477,9 +5464,9 @@ For example: Выключыць фрэзераванне, якія выступаюць адносна ўнутранай грані. - - + + Choose how to process multiple Base Geometry features. Абраць спосаб апрацоўкі некалькіх характарыстык асноўнай геаметрыі. @@ -5500,8 +5487,8 @@ For example: Апрацаваць мадэль і загатоўку ў аперацыі без выбару асноўнай геаметрыі. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) Напрамак, у якім траекторыя руху інструмента павінна праходзіць вакол дэталі па гадзінніку (CW) ці супраць (CCW) @@ -5537,10 +5524,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Радыус апошняга кроку. Калі ўжываюцца 0, 50% разца. Налада можна ўжываць для паляпшэння кропку для некаторых фігур + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5603,8 +5607,8 @@ For example: Задаць True, калі ўжываецца карэкцыя радыусу разца - + Show the temporary path construction objects when module is in DEBUG mode. Паказаць аб'екты пабудовы часовай траекторыі, калі модуль знаходзіцца ў рэжыме адладкі. @@ -5620,8 +5624,8 @@ For example: Увядзіце карыстальніцкую канчатковую кропку для траекторыі паза. - + Set the geometric clearing pattern to use for the operation. Задаць геаметрычны шаблон ачысткі, які будзе ўжывацца для аперацыі. @@ -5637,8 +5641,8 @@ For example: Станоўчае значэнне выцягвае канец траекторыі, адмоўнае - скарачае. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Завершае аперацыю за адзін праход на глыбіню, альбо за некалькі праходаў да канчатковай глыбіні. @@ -5669,8 +5673,8 @@ For example: Уключыць, каб змяніць напрамак апрацоўкі траекторыі паза ў зваротным напрамку. - + The custom start point for the path of this operation Карыстальніцкая пачатковая кропка для траекторыі выканання аперацыі @@ -6159,7 +6163,7 @@ For example: Tag - Метка + Перамычка @@ -6188,24 +6192,24 @@ For example: Path_Dressup - + Please select one path object Калі ласка, абярыце адзін аб'ект траекторыі - + The selected object is not a path Абраны аб'ект не з'яўляецца траекторыяй - + Please select a Path object Калі ласка, абярыце аб'ект траекторыі @@ -6229,7 +6233,7 @@ For example: Dogbone - Сабачая костка + Форма сабачай косткі @@ -6362,8 +6366,8 @@ For example: Абраць файл кропкі зандзіравання - + All Files (*.*) Усе файлы (*.*) @@ -6417,7 +6421,7 @@ For example: 2D - дзвюхмерны + Двухмернасць @@ -6482,7 +6486,7 @@ For example: Ok - OK + Ok @@ -6512,7 +6516,7 @@ For example: Solids - Суцэльная целы + Суцэльныя целы @@ -6914,13 +6918,18 @@ For example: no job for operation %s found. заданне для аперацыі %s не знойдзена. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation None - Нічога + Адсутнічае @@ -6968,7 +6977,7 @@ For example: None - Нічога + Адсутнічае @@ -6996,12 +7005,12 @@ For example: CW - па гадзінніку + Па гадзінніку CCW - супраць гадзінніка + Супраць гадзінніка @@ -7017,26 +7026,26 @@ For example: PathProfile - + Outside Звонку - + Inside Унутры CW - па гадзінніку + Па гадзінніку CCW - супраць гадзінніка + Супраць гадзінніка @@ -7124,7 +7133,7 @@ For example: Center - Па цэнтры + Цэнтр @@ -7160,7 +7169,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Канчатковая глыбіня задаецца ніжэй найменшага значэння па восі Z у абраных гранях. @@ -7180,12 +7189,12 @@ For example: Y - + Pass Extension Пашырэнне праходу - + The distance the facing operation will extend beyond the boundary shape. Адлегласць, на якую аперацыя абліцоўвання выйдзе за межы фігуры. @@ -7220,7 +7229,7 @@ For example: Multi-pass - Шматпраходны + Шмат праходаў @@ -7230,7 +7239,7 @@ For example: Perpendicular - Перпендыкуляр + Перпендыкулярна @@ -7270,7 +7279,7 @@ For example: Vertex - Vertex + Вяршыня @@ -7566,12 +7575,12 @@ For example: Multi-pass - Шматпраходны + Шмат праходаў None - Нічога + Адсутнічае @@ -7581,7 +7590,7 @@ For example: First - ГОСТ/Еўропа (First-angle projection) + Першы @@ -7862,7 +7871,7 @@ For example: None - Нічога + Адсутнічае @@ -7882,7 +7891,7 @@ For example: Multi-pass - Шматпраходны + Шмат праходаў @@ -7955,7 +7964,7 @@ For example: Make False, to prevent operation from generating code - Задаць False, каб прадухіліць стварэнне G-кода для аперацыи + Задаць False, каб прадухіліць стварэнне G-кода для аперацыі @@ -8292,7 +8301,7 @@ Aborting op creation None - Нічога + Адсутнічае diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ca.ts b/src/Mod/Path/Gui/Resources/translations/Path_ca.ts index 2c2de0bddb..e6e7efb227 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ca.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ca.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Forma @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Afegeix - - + + Remove Elimina @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Reinicia - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Controlador d'eina - - + + Coolant Refrigerant @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Atura - + - + Direction Direcció @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW Sentit horari - + CCW Sentit antihorari @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Passa al següent - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm Orientació - + Type Tipus @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operació @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Radi @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Edita @@ -4477,19 +4463,19 @@ For example: Sentit antihorari - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Tots els arxius (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_cs.ts b/src/Mod/Path/Gui/Resources/translations/Path_cs.ts index 502b048823..6e82e3db37 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_cs.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_cs.ts @@ -541,31 +541,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Návrh @@ -736,17 +713,17 @@ For stock from the Base object's bounding box it means the extra material in all Vymaže seznam základních geometrií - + Add Přidat - - + + Remove Odstranit @@ -801,8 +778,8 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Reset - + All objects will be processed using the same operation properties. Všechny objekty budou zpracovány pomocí stejných vlastností operace. @@ -847,32 +824,32 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Všechna místa budou zpracována za použití stejných vlastností operace. - + Start Depth Počáteční hloubka - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Počáteční hloubka operace. Nejvyšší bod v ose Z, kterou musí operace zpracovat. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Přenést hodnotu Z vybraného prvku jako počáteční hloubku operace. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. Hloubka operace, která odpovídá nejnižší hodnotě v ose Z, kterou má operace zpracovat. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Přenést hodnotu Z vybraného prvku jako konečnou hloubku operace. @@ -887,14 +864,14 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Hloubka konečného řezu operace. Lze použít k dosažení kvalitního povrchu. - + Final Depth Konečná hloubka - + Step Down Krok dolů @@ -934,34 +911,34 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Volná výška - + + + + - - - - + The tool and its settings to be used for this operation. Nástroj a jeho nastavení pro tuto operaci. + + + + + + + + + + - - - - - - - - - - Coolant Mode Režimy chlazení @@ -971,28 +948,28 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Ovladač nástrojů - - + + Coolant Chladivo @@ -1012,8 +989,8 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Typ operace - + Step Over Percent Krok procenty @@ -1063,8 +1040,8 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Dokončování profilu - + Use Outline Použít obrys @@ -1119,10 +1096,10 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Stop - + - + Direction Směr @@ -1132,15 +1109,15 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Směr, ve kterém se obrábí kontura, ve směru nebo proti směru hodinových ručiček. - + CW Pravotočivě - + CCW Levotočivý @@ -1165,6 +1142,8 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Miter joint + + @@ -1174,8 +1153,6 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh - - mm mm @@ -1391,11 +1368,11 @@ Resetuje všechny aktuální položky ze seznamu a vyplní seznam se všemi kruh Vzor + + - - The tool and its settings to be used for this operation @@ -1480,15 +1457,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Pokud je tato možnost vybrána, operace používá obrys vybrané základní geometrie a ignoruje všechny díry a ostrůvky + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Použijte Start Point @@ -1744,9 +1731,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Prodloužit konec cesty - + Layer Mode Režim vrstvy @@ -1786,8 +1773,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Vzor řezu @@ -1802,14 +1789,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Vyhnout se posledním X plochám - + Bounding Box Ohraničující kvádr - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1819,14 +1806,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Dokončete operaci jedním průchodem v hloubce nebo několika průchody do konečné hloubky. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1851,14 +1838,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Čáry kapkového řezače jsou vytvořeny rovnoběžně s touto osou. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1868,8 +1855,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Povolit optimalizaci lineárních drah (kolineární body). Odstraňuje zbytečné kolineární body z výstupu G-kódu. @@ -1904,14 +1891,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Ofset hloubky - + Step over Přeskočit - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1920,14 +1907,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Vzorový interval - + Optimize Linear Paths Optimalizovat lineární dráhy @@ -2075,8 +2062,8 @@ Výchozí: 3 mm Orientace - + Type Typ @@ -2106,8 +2093,8 @@ Výchozí: 3 mm TPI - + Operation Operace @@ -3028,8 +3015,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Poloměr @@ -3444,8 +3431,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Simulátor dráhy @@ -4336,10 +4323,9 @@ For example: Již nezobrazovat - + Edit - int = field(default=None) Upravit @@ -4470,19 +4456,19 @@ For example: Levotočivý - + A planar adaptive start is unavailable. The non-planar will be attempted. Planární adaptivní start není k dispozici. Bude proveden pokus o neplanární. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s není objekt základního modelu úlohy %s @@ -4502,8 +4488,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Vyberte si úlohu cesty @@ -4607,6 +4593,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4669,12 +4656,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4968,9 +4955,9 @@ For example: Sbírka všech ovladačů nástrojů pro danou úlohu + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5055,8 +5042,8 @@ For example: Číslo offsetu zařízení - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5076,8 +5063,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5253,10 +5240,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5370,9 +5357,9 @@ For example: Aplikujte odtažení G99: v této operaci se stáhněte pouze do výšky RetractHeight mezi otvory - + Additional base objects to be engraved Další základní předměty, které mají být vyryty @@ -5413,9 +5400,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Mimořádná hodnota pro udržení vzdálenosti od konečného profilu – dobré pro hrubování dráhy nástroje @@ -5435,9 +5422,9 @@ For example: Vyloučit frézování vyvýšených oblastí uvnitř čela. - - + + Choose how to process multiple Base Geometry features. Zvolte způsob zpracování více prvků základní geometrie. @@ -5458,8 +5445,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5495,10 +5482,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5560,8 +5564,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5577,8 +5581,8 @@ For example: Zadejte vlastní koncový bod pro cestu slotu. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5594,8 +5598,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Dokončete operaci jedním průchodem v hloubce nebo několika průchody do konečné hloubky. @@ -5626,8 +5630,8 @@ For example: Povolte obrácení směru řezu dráhy drážky. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6142,24 +6146,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6316,8 +6320,8 @@ For example: Select Probe Point File - + All Files (*.*) Všechny soubory (*.*) @@ -6868,6 +6872,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6971,14 +6980,14 @@ For example: PathProfile - + Outside Vně - + Inside Uvnitř @@ -7114,7 +7123,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Konečná hloubka nastavená pod ZMin vybraných ploch. @@ -7134,12 +7143,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_de.ts b/src/Mod/Path/Gui/Resources/translations/Path_de.ts index 1d9abe8510..abae2fadc2 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_de.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_de.ts @@ -289,7 +289,7 @@ Für das Standard Rohmaterial aus dem Begrenzungsrahmen des Basisobjekts bedeute Placement - Positionierung + Platzierung @@ -414,7 +414,7 @@ Für das Standard Rohmaterial aus dem Begrenzungsrahmen des Basisobjekts bedeute Type - Typ + Art @@ -546,31 +546,8 @@ Für das Standard Rohmaterial aus dem Begrenzungsrahmen des Basisobjekts bedeute Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Form @@ -741,17 +718,17 @@ Für das Standard Rohmaterial aus dem Begrenzungsrahmen des Basisobjekts bedeute Löscht die Liste der Basisgeometrien - + Add Hinzufügen - - + + Remove Entfernen @@ -759,7 +736,7 @@ Für das Standard Rohmaterial aus dem Begrenzungsrahmen des Basisobjekts bedeute Clear - Löschen + Leeren @@ -806,8 +783,8 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Zurücksetzen - + All objects will be processed using the same operation properties. Alle Objekte werden nach den selben Operations-Eigenschaften verarbeitet. @@ -852,32 +829,32 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Alle Orte werden mit denselben Operationseigenschaften bearbeitet. - + Start Depth Starttiefe - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Starthöhe der Operation. Der höchste Punkt in der Z-Achse, den die Operation bearbeiten muss. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Übertragen Sie den Z-Wert der ausgewählten Funktion als Starthöhe für die Operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. Die Tiefe der Operation, die dem niedrigsten Wert in der Z-Achse entspricht, den die Operation bearbeiten muss. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Übertragen Sie den Z-Wert der ausgewählten Funktion als Endtiefe für die Operation. @@ -892,14 +869,14 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Tiefe des letzten Schnitts der Bearbeitung. Kann verwendet werden, um eine sauberere Darstellung zu erzeugen. - + Final Depth Endtiefe - + Step Down Zustelltiefe @@ -939,34 +916,34 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Vertikaler Sicherheitsabstand Werkzeug zu Werkstück bei Zwischen- und Verbindungsfahrten - + + + + - - - - + The tool and its settings to be used for this operation. Das Werkzeug und seine Einstellungen, die für diesen Vorgang verwendet werden sollen. + + + + + + + + + + - - - - - - - - - - Coolant Mode Kühlmittelmodus @@ -976,28 +953,28 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all G-Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Werkzeugsteuerung - - + + Coolant Kühlmittel @@ -1017,8 +994,8 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Operationstyp - + Step Over Percent Überlappungs-Prozentsatz @@ -1068,8 +1045,8 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Feinbearbeitungsprofil - + Use Outline Kontur verwenden @@ -1121,13 +1098,13 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Stop - Beenden + Stop - + - + Direction Richtung @@ -1137,15 +1114,15 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Die Richtung, in der das Profil ausgeführt wird, im oder gegen den Uhrzeigersinn. - + CW Im Uhrzeigersinn - + CCW Gegen den Uhrzeigersinn @@ -1170,6 +1147,8 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Gehrungsfuge + + @@ -1179,8 +1158,6 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all - - mm mm @@ -1313,7 +1290,7 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Show All - Alle anzeigen + Alles anzeigen @@ -1396,11 +1373,11 @@ Reset löscht alle aktuellen Elemente aus der Liste und füllt die Liste mit all Muster + + - - The tool and its settings to be used for this operation @@ -1485,15 +1462,25 @@ Letzteres kann zur Deckung der gesamten Lagerfläche verwendet werden, um für d If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Wenn aktiviert, verwendet die Operation die Kontur der ausgewählten Basisgeometrie und ignoriert alle Löcher und Inseln + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Werkstoffzulassung + - Use Start Point Startpunkt verwenden @@ -1749,9 +1736,9 @@ Letzteres kann zur Deckung der gesamten Lagerfläche verwendet werden, um für d Pfadende erweitern - + Layer Mode Ebenenmodus @@ -1791,8 +1778,8 @@ Letzteres kann zur Deckung der gesamten Lagerfläche verwendet werden, um für d Scan-Typ - + Cut Pattern Fräsmuster @@ -1807,14 +1794,14 @@ Letzteres kann zur Deckung der gesamten Lagerfläche verwendet werden, um für d Letzte X Flächen vermeiden - + Bounding Box Begrenzungsbox - + Select the overall boundary for the operation. Wählen Sie die Gesamtgrenze für die Operation. @@ -1824,14 +1811,14 @@ Letzteres kann zur Deckung der gesamten Lagerfläche verwendet werden, um für d Planar: Flacher, 3D-Oberflächen-Scan. Drehbar: Drehbarer 4. ter Achs-Rotations-Scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Die Operation in einem Durchgang der ausgewählten Tiefe durchführen, oder in mehreren Durchgängen bis zur Zieltiefe. - + Set the geometric clearing pattern to use for the operation. Legen Sie das geometrische Räummuster für die Operation fest. @@ -1856,14 +1843,14 @@ Letzteres kann zur Deckung der gesamten Lagerfläche verwendet werden, um für d Die Dropcutter-Linien werden parallel zu dieser Achse erstellt. - + Set the Z-axis depth offset from the target surface. - Z-Achsen-Tiefen-Versatz zur Zieloberfläche einstellen. + Legen Sie den Z-Achsen-Tiefenversatz von der Zieloberfläche fest. - + Set the sampling resolution. Smaller values quickly increase processing time. Setzt die Auflösung der Abtastrate. Kleinere Werte erhöhen schnell die Bearbeitungszeit. @@ -1873,8 +1860,8 @@ Letzteres kann zur Deckung der gesamten Lagerfläche verwendet werden, um für d Auf Wahr setzen, wenn ein Startpunkt angegeben werden soll - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Optimierung linearer Pfade aktivieren (kolineare Punkte). Entfernt unnötige kolineare Punkte aus G-Code-Ausgabe. @@ -1909,28 +1896,28 @@ Letzteres kann zur Deckung der gesamten Lagerfläche verwendet werden, um für d Tiefenversatz - + Step over Einen Schritt weiter - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. Der Betrag, um den das Werkzeug bei jedem Zyklus des Musters seitlich verschoben wird, angegeben in Prozent des Werkzeugdurchmessers. Ein Versatz von 100 % führt zu keiner Überlappung zwischen zwei verschiedenen Zyklen. - + Sample interval Messintervall - + Optimize Linear Paths Lineare Pfade optimieren @@ -1994,7 +1981,7 @@ Standard: OpToolDurchmesser Offset - Versetzen + Versatz @@ -2075,11 +2062,11 @@ Standard: "3 mm" - Das Werkzeug sollte in diesem Fall auf Verbindungsfahrten imm Orientation - Orientierung + Ausrichtung - + Type Typ @@ -2109,8 +2096,8 @@ Standard: "3 mm" - Das Werkzeug sollte in diesem Fall auf Verbindungsfahrten imm Gewindegänge pro Zoll (inch) - + Operation Operation @@ -2966,12 +2953,12 @@ Sollten mehrere Werkzeuge oder Werkzeugformen mit dem gleichen Namen in verschie Arc - Kreisbogen + Bogen Tangent - Tangente + Tangential @@ -3031,8 +3018,8 @@ Sollten mehrere Werkzeuge oder Werkzeugformen mit dem gleichen Namen in verschie AxisMap Aufbereitung - + Radius Radius @@ -3140,12 +3127,12 @@ Sollten mehrere Werkzeuge oder Werkzeugformen mit dem gleichen Namen in verschie Left - Seitenansicht von links + Links Right - Seitenansicht von rechts + Rechts @@ -3381,7 +3368,7 @@ Sollten mehrere Werkzeuge oder Werkzeugformen mit dem gleichen Namen in verschie Safe Height - sichere Höhe + Sichere Höhe @@ -3447,8 +3434,8 @@ Sollten mehrere Werkzeuge oder Werkzeugformen mit dem gleichen Namen in verschie TaskPathSimulator - + Path Simulator Pfad-Simulator @@ -4116,7 +4103,7 @@ Standard: OpToolDurchmesser Offset - Versetzen + Versatz @@ -4340,10 +4327,9 @@ Zum Beispiel: Dies nicht mehr anzeigen - + Edit - int = field(default=None) Bearbeiten @@ -4474,19 +4460,19 @@ Zum Beispiel: Gegen den Uhrzeigersinn - + A planar adaptive start is unavailable. The non-planar will be attempted. Ein planar adaptiver Start ist nicht verfügbar. Der Nicht-planare wird versucht. - - + + The non-planar adaptive start is also unavailable. Der nicht-planare adaptive Start ist ebenfalls nicht verfügbar. - + %s is not a Base Model object of the job %s %s ist kein Basismodell-Objekt des Jobs %s @@ -4506,8 +4492,8 @@ Zum Beispiel: Gesamtes Modell, ausgewählte Fläche(n) oder ausgewählte Kante(n) profilieren - + Choose a Path Job Einen Path-Auftrag auswählen @@ -4611,6 +4597,7 @@ Zum Beispiel: List of custom property groups + int = field(default=None) Liste benutzerdefinierter Eigenschaftsgruppen @@ -4673,12 +4660,12 @@ Zum Beispiel: + + - - The base path to modify Zu ändernder Basispfad @@ -4972,9 +4959,9 @@ Zum Beispiel: Sammlung aller Werkzeugsteuerungen für den Auftrag + - Operations Cycle Time Estimation Abschätzung der Durchlaufzeit @@ -5059,8 +5046,8 @@ Zum Beispiel: Abstand von der Einspannung - + Make False, to prevent operation from generating code Abwählen, damit die Aktion keinen Code generiert @@ -5080,8 +5067,8 @@ Zum Beispiel: Beeinflusst Genauigkeit und Leistung - + Percent of cutter diameter to step over on each pass Prozentsatz des Fräserdurchmessers, der bei jedem Durchgangzugestellt wird @@ -5257,10 +5244,10 @@ Zum Beispiel: Der Startpunkt dieses Pfades - - - + + + Make True, if specifying a Start Point Auf Wahr setzen, wenn ein Startpunkt angegeben werden soll @@ -5374,9 +5361,9 @@ Zum Beispiel: G99 Rückzug anwenden: Rückzug nur auf RetractHeight zwischen Löchern in dieser Operation - + Additional base objects to be engraved Zusätzliche Basisobjekte, die graviert werden sollen @@ -5417,9 +5404,9 @@ Zum Beispiel: Startradius - + Extra value to stay away from final profile- good for roughing toolpath Aufmaß zum Endprofil - Geeignet für Schruppbearbeitungen @@ -5439,9 +5426,9 @@ Zum Beispiel: Fräsen von erhöhten Bereichen innerhalb der Fläche ausschließen. - - + + Choose how to process multiple Base Geometry features. Wählen Sie, wie mehrere Basisgeometrie Feautures verarbeitet werden sollen. @@ -5462,8 +5449,8 @@ Zum Beispiel: Verarbeite Modell und Rohmaterial in einer Operation, bei der keine Basisgeometrie ausgewählt wurde. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) Die Richtung, in der der Werkzeugweg um das Teil herumgeführt werden soll, im Uhrzeigersinn (CW) oder gegen den Uhrzeigersinn (CCW) @@ -5499,10 +5486,27 @@ Zum Beispiel: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Letzter Überlappungsradius. Wenn 0, werden 50 % des Fräsers verwendet. Das Tuning dieses Wertes kann die Überlappung für einige Formen zu verbessern + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5564,8 +5568,8 @@ Zum Beispiel: Aktivieren, falls die Fräsradiuskompensation verwendet wird - + Show the temporary path construction objects when module is in DEBUG mode. Temporäre Wegkonstruktionsobjekte anzeigen, wenn sich das Modul im FEHLERSUCH-Modus befindet. @@ -5581,8 +5585,8 @@ Zum Beispiel: Gib den benutzerdefinierten Endpunkt für die Nut ein. - + Set the geometric clearing pattern to use for the operation. Legen Sie das geometrische Räummuster für die Operation fest. @@ -5598,8 +5602,8 @@ Zum Beispiel: Positiv erweitert das Ende des Pfades, negativ verkürzt ihn. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Die Operation in einem Durchgang der ausgewählten Tiefe durchführen, oder in mehreren Durchgängen bis zur Zieltiefe. @@ -5630,8 +5634,8 @@ Zum Beispiel: Aktivieren, um die Fräsrichtung der Nut umzukehren. - + The custom start point for the path of this operation Der benutzerdefinierte Startpunkt für den Pfad dieser Operation @@ -6145,24 +6149,24 @@ Zum Beispiel: Path_Dressup - + Please select one path object Bitte einen einzelnen Pfad auswählen - + The selected object is not a path Das ausgewählte Objekt ist kein Pfad - + Please select a Path object Bitte wählen Sie ein Pfad-Objekt aus @@ -6319,8 +6323,8 @@ Zum Beispiel: Sondierungspunkedatei wählen - + All Files (*.*) Alle Dateien (*.*) @@ -6871,6 +6875,11 @@ Zum Beispiel: no job for operation %s found. Kein Auftrag zur Operation %s gefunden. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6974,14 +6983,14 @@ Zum Beispiel: PathProfile - + Outside Außen - + Inside Innen @@ -7013,7 +7022,7 @@ Zum Beispiel: Square - Quadrat + Quadratisch @@ -7081,7 +7090,7 @@ Zum Beispiel: Center - Mitte + Zentrum @@ -7096,12 +7105,12 @@ Zum Beispiel: Offset - Versetzen + Versatz ZigZagOffset - ZickZack mit Versatz + ZickZack Versatz @@ -7117,7 +7126,7 @@ Zum Beispiel: PathPocket - + Final depth set below ZMin of face(s) selected. Zieltiefe unter ZMin der ausgewählten Fläche(n). @@ -7137,12 +7146,12 @@ Zum Beispiel: Y - + Pass Extension Durchlauf-Verlängerung - + The distance the facing operation will extend beyond the boundary shape. Die Distanz, die die Fräsoperation über die Formbegrenzung hinaus gehen soll. @@ -7792,7 +7801,7 @@ Zum Beispiel: Offset - Versetzen + Versatz @@ -7903,7 +7912,7 @@ Zum Beispiel: operation time is - Durchlaufszeit beträgt + Bearbeitungszeit beträgt @@ -8187,7 +8196,7 @@ Abbruch der OP-Erstellung Stop - Beenden + Stop @@ -8239,12 +8248,12 @@ Abbruch der OP-Erstellung Forward - vorwärts + Vorwärts Reverse - Umkehren + Rückwärts diff --git a/src/Mod/Path/Gui/Resources/translations/Path_el.ts b/src/Mod/Path/Gui/Resources/translations/Path_el.ts index 83e0e97d7a..38d7b80bc5 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_el.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_el.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Μορφή @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Προσθήκη - - + + Remove Αφαίρεση @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Επαναφορά - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tool Controller - - + + Coolant Coolant @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Τύπος Λειτουργίας - + Step Over Percent Βήμα Άνω του Ποσοστού @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Ολοκλήρωση Προφίλ - + Use Outline Χρήση Περιγράμματος @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Διακοπή - + - + Direction Κατεύθυνση @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm χιλιοστά @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Μοτίβο + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Πλαίσιο Οριοθέτησης - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Υπέρθεση - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm Προσανατολισμός - + Type Τύπος @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operation @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Ακτίνα @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Επεξεργασία @@ -4477,19 +4463,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Όλα τα αρχεία (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_es-AR.ts b/src/Mod/Path/Gui/Resources/translations/Path_es-AR.ts index c924815b30..e407320316 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_es-AR.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_es-AR.ts @@ -547,31 +547,8 @@ Para existencias desde la caja delimitadora del objeto Base significa el materia Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Forma @@ -742,17 +719,17 @@ Para existencias desde la caja delimitadora del objeto Base significa el materia Limpia la lista de geometrías base - + Add Agregar - - + + Remove Eliminar @@ -807,8 +784,8 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Reiniciar - + All objects will be processed using the same operation properties. Todos los objetos serán procesados usando las mismas propiedades de operación. @@ -853,32 +830,32 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Todas las ubicaciones serán procesadas usando las mismas propiedades de operación. - + Start Depth Profundidad de Inicio - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Profundidad de Inicio de la operación. El punto más alto en el eje Z que la operación debe procesar. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transferir el valor Z de la característica seleccionada como la Profundidad de Inicio para la operación. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. La profundidad de la operación que corresponde al valor más bajo del eje Z que la operación debe procesar. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transferir el valor Z de la característica seleccionada como la Profundidad Final de la operación. @@ -893,14 +870,14 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Profundidad del corte final de la operación. Se puede utilizar para producir un acabado más limpio. - + Final Depth Profundidad Final - + Step Down Bajar @@ -940,34 +917,34 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Altura libre - + + + + - - - - + The tool and its settings to be used for this operation. La herramienta y sus ajustes que se usarán para esta operación. + + + + + + + + + + - - - - - - - - - - Coolant Mode Modo Refrigerante @@ -977,28 +954,28 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co G-Code - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Controlador de herramienta - - + + Coolant Refrigerante @@ -1018,8 +995,8 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Tipo de operación - + Step Over Percent Porcentaje de Paso @@ -1069,8 +1046,8 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Finalizando perfil - + Use Outline Usar Contorno @@ -1125,10 +1102,10 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Parar - + - + Direction Sentido @@ -1138,15 +1115,15 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co La dirección en la que se realiza el perfil, en el sentido de las agujas del reloj o en sentido antihorario. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Junta de inglete + + @@ -1180,8 +1159,6 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co - - mm mm @@ -1397,11 +1374,11 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Patrón + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Si se selecciona la operación utiliza el contorno de la geometría base seleccionada e ignora todos los agujeros e islas + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Permisividad del Material + - Use Start Point Usar Punto Inicial @@ -1750,9 +1737,9 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Extender Ruta Final - + Layer Mode Modo de Capa @@ -1792,8 +1779,8 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Tipo de Escaneo - + Cut Pattern Patrón de corte @@ -1808,14 +1795,14 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Evitar Últimas X Caras - + Bounding Box Cuadro Delimitador - + Select the overall boundary for the operation. Seleccione el límite general para la operación. @@ -1825,14 +1812,14 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Planar: plano, escaneo de superficie 3D. Rotacional: Escaneo rotacional del 4º eje. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Completa la operación en una sola pasada a profundidad, o en múltiples pasadas hasta la profundidad final. - + Set the geometric clearing pattern to use for the operation. Establece el patrón de limpieza geométrica para usar en la operación. @@ -1857,14 +1844,14 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Las líneas de corte se crean paralelas a este eje. - + Set the Z-axis depth offset from the target surface. Define el desplazamiento de profundidad del eje Z desde la superficie objetivo. - + Set the sampling resolution. Smaller values quickly increase processing time. Establece la resolución de muestreo. Los valores más pequeños aumentan rápidamente el tiempo de procesamiento. @@ -1874,8 +1861,8 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Marcar como verdadero, si se especifica un punto inicial - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Habilitar la optimización de trayectorias lineales (puntos colineales). Elimina puntos colineales innecesarios a partir del código de salida. @@ -1910,14 +1897,14 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Desplazamiento de profundidad - + Step over Pasar al siguiente - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. Un paso por encima del 100% da como resultado que no haya superposición entre dos ciclos diferentes. - + Sample interval Intervalo de Muestra - + Optimize Linear Paths Optimizar Rutas Lineales @@ -2081,8 +2068,8 @@ Por defecto: 3 mm Orientación - + Type Tipo @@ -2112,8 +2099,8 @@ Por defecto: 3 mm TPI - + Operation Operación @@ -3034,8 +3021,8 @@ Si existen múltiples herramientas o formas de herramientas con el mismo nombre Revestido de EjesMapa - + Radius Radio @@ -3450,8 +3437,8 @@ Si existen múltiples herramientas o formas de herramientas con el mismo nombre TaskPathSimulator - + Path Simulator Simulador de Ruta @@ -4341,10 +4328,9 @@ Por ejemplo: No mostrar más - + Edit - int = field(default=None) Editar @@ -4475,19 +4461,19 @@ Por ejemplo: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. No está disponible un inicio adaptativo plano. El no-plano se intentará. - - + + The non-planar adaptive start is also unavailable. El inicio adaptativo no-planar tampoco está disponible. - + %s is not a Base Model object of the job %s %s no es un objeto de modelo base del trabajo %s @@ -4507,8 +4493,8 @@ Por ejemplo: Perfilar el modelo completo, la(s) cara(s) seleccionada(s) o el/los borde(s) seleccionado(s) - + Choose a Path Job Elegir una Ruta de Trabajo @@ -4612,6 +4598,7 @@ Por ejemplo: List of custom property groups + int = field(default=None) Lista de grupos de propiedades personalizados @@ -4674,12 +4661,12 @@ Por ejemplo: + + - - The base path to modify La trayectoria base a modificar @@ -4973,9 +4960,9 @@ Por ejemplo: Colección de todos los controladores de herramientas para el trabajo + - Operations Cycle Time Estimation Estimación del tiempo del ciclo de operaciones @@ -5060,8 +5047,8 @@ Por ejemplo: Número de desfase de la fijación - + Make False, to prevent operation from generating code Marcar como falso, para evitar que la operación genere código @@ -5081,8 +5068,8 @@ Por ejemplo: Precisión y rendimiento de influencias - + Percent of cutter diameter to step over on each pass Porcentaje de diámetro de corte a escalar en cada pasada @@ -5258,10 +5245,10 @@ Por ejemplo: Punto de partida de esta trayectoria - - - + + + Make True, if specifying a Start Point Marcar como verdadero, si se especifica un punto inicial @@ -5375,9 +5362,9 @@ Por ejemplo: Aplicación de retracción G99: retraer el valor de altura de retracción solo entre los agujeros de la operación - + Additional base objects to be engraved Objetos base adicionales para ser grabados @@ -5418,9 +5405,9 @@ Por ejemplo: Radio inicial - + Extra value to stay away from final profile- good for roughing toolpath Valor adicional que lo mantiene alejado del perfil de cierre: bueno para el movimiento de la herramienta de desbaste @@ -5440,9 +5427,9 @@ Por ejemplo: Excluir las zonas de fresado ascendente dentro de la cara. - - + + Choose how to process multiple Base Geometry features. Elija cómo procesar múltiples características de Geometría Base. @@ -5463,8 +5450,8 @@ Por ejemplo: Procese el modelo y el stock en una operación sin geometría base seleccionada. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) La dirección en la que la trayectoria de herramienta debe ir alrededor de la pieza sentido horario (CW) o sentido antihorario (CCW) @@ -5500,10 +5487,27 @@ Por ejemplo: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Radio del último paso. Si se utiliza un cortador de 0,50%. Al afinar esto, se puede mejorar el cruce de ciertas formas. + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5565,8 +5569,8 @@ Por ejemplo: Hacer verdadero, si se utiliza la compensación de radio de corte - + Show the temporary path construction objects when module is in DEBUG mode. Mostrar los objetos temporales de construcción de trayectorias cuando el módulo está en modo DEBUG. @@ -5582,8 +5586,8 @@ Por ejemplo: Introduzca el punto final personalizado para la trayectoria del hueco. - + Set the geometric clearing pattern to use for the operation. Establece el patrón de limpieza geométrica para usar en la operación. @@ -5599,8 +5603,8 @@ Por ejemplo: Un valor positivo extiende el final de la trayectoria, un valor negativo la acorta. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Completa la operación en una sola pasada a profundidad, o en múltiples pasadas hasta la profundidad final. @@ -5631,8 +5635,8 @@ Por ejemplo: Activar para invertir la dirección de corte de la trayectoria de la ranura. - + The custom start point for the path of this operation El punto de inicio personalizado para la trayectoria de esta operación @@ -6147,24 +6151,24 @@ Por ejemplo: Path_Dressup - + Please select one path object Por favor seleccione un objeto de trayectoria - + The selected object is not a path El objeto seleccionado no es una trayectoria - + Please select a Path object Por favor seleccione un objeto de trayectoria @@ -6321,8 +6325,8 @@ Por ejemplo: Seleccionar archivo de punto de sonda - + All Files (*.*) Todos los archivos (*.*) @@ -6873,6 +6877,11 @@ Por ejemplo: no job for operation %s found. no se encontró trabajo para la operación %s. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6976,14 +6985,14 @@ Por ejemplo: PathProfile - + Outside Fuera - + Inside Interior @@ -7119,7 +7128,7 @@ Por ejemplo: PathPocket - + Final depth set below ZMin of face(s) selected. Profundidad final por debajo de ZMin de la(s) cara(s) seleccionada(s). @@ -7139,12 +7148,12 @@ Por ejemplo: Y - + Pass Extension Extensión de pase - + The distance the facing operation will extend beyond the boundary shape. La distancia de la operación de enfrentado se extenderá más allá de la forma límite. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_es-ES.ts b/src/Mod/Path/Gui/Resources/translations/Path_es-ES.ts index 9b8d6bd8b6..2644c635dd 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_es-ES.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_es-ES.ts @@ -547,31 +547,8 @@ Para existencias desde la caja delimitadora del objeto Base significa el materia Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Formulario @@ -742,17 +719,17 @@ Para existencias desde la caja delimitadora del objeto Base significa el materia Limpia la lista de geometrías base - + Add Añadir - - + + Remove Quitar @@ -807,8 +784,8 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Reiniciar - + All objects will be processed using the same operation properties. Todos los objetos serán procesados usando las mismas propiedades de operación. @@ -853,32 +830,32 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Todas las ubicaciones serán procesadas usando las mismas propiedades de operación. - + Start Depth Profundidad de Inicio - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Profundidad de Inicio de la operación. El punto más alto en el eje Z que la operación debe procesar. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transferir el valor Z de la característica seleccionada como la Profundidad de Inicio para la operación. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. La profundidad de la operación que corresponde al valor más bajo del eje Z que la operación debe procesar. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transferir el valor Z de la característica seleccionada como la Profundidad Final de la operación. @@ -893,14 +870,14 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Profundidad del corte final de la operación. Se puede utilizar para producir un acabado más limpio. - + Final Depth Profundidad Final - + Step Down Bajar @@ -940,34 +917,34 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Altura libre - + + + + - - - - + The tool and its settings to be used for this operation. La herramienta y sus ajustes que se usarán para esta operación. + + + + + + + + + + - - - - - - - - - - Coolant Mode Modo Refrigerante @@ -977,28 +954,28 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co G-Code - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Controlador de herramienta - - + + Coolant Refrigerante @@ -1018,8 +995,8 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Tipo de operación - + Step Over Percent Porcentaje de Paso @@ -1069,8 +1046,8 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Finalizando perfil - + Use Outline Usar Contorno @@ -1125,10 +1102,10 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Parar - + - + Direction Dirección @@ -1138,15 +1115,15 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co La dirección en la que se realiza el perfil, en el sentido de las agujas del reloj o en sentido antihorario. - + CW CW - + CCW Sentido antihorario @@ -1171,6 +1148,8 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Junta de inglete + + @@ -1180,8 +1159,6 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co - - mm mm @@ -1397,11 +1374,11 @@ Restablecer elimina todos los elementos actuales de la lista y llena la lista co Patrón + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Si se selecciona la operación utiliza el contorno de la geometría base seleccionada e ignora todos los agujeros e islas + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Permisividad del Material + - Use Start Point Usar Punto Inicial @@ -1750,9 +1737,9 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Extender Ruta Final - + Layer Mode Modo de Capa @@ -1792,8 +1779,8 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Tipo de Escaneo - + Cut Pattern Patrón de corte @@ -1808,14 +1795,14 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Evitar Últimas X Caras - + Bounding Box Cuadro Delimitador - + Select the overall boundary for the operation. Seleccione el límite general para la operación. @@ -1825,14 +1812,14 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Planar: plano, escaneo de superficie 3D. Rotacional: Escaneo rotacional del 4º eje. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Completa la operación en una sola pasada a profundidad, o en múltiples pasadas hasta la profundidad final. - + Set the geometric clearing pattern to use for the operation. Establece el patrón de limpieza geométrica para usar en la operación. @@ -1857,14 +1844,14 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Las líneas de corte se crean paralelas a este eje. - + Set the Z-axis depth offset from the target surface. Define el desplazamiento de profundidad del eje Z desde la superficie objetivo. - + Set the sampling resolution. Smaller values quickly increase processing time. Establece la resolución de muestreo. Los valores más pequeños aumentan rápidamente el tiempo de procesamiento. @@ -1874,8 +1861,8 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Marcar como verdadero, si se especifica un punto inicial - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Habilitar la optimización de trayectorias lineales (puntos colineales). Elimina puntos colineales innecesarios a partir del código de salida. @@ -1910,14 +1897,14 @@ Este último se puede utilizar para hacer frente a todo el área de stock para a Desplazamiento de profundidad - + Step over Pasar al siguiente - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. Un paso por encima del 100% da como resultado que no haya superposición entre dos ciclos diferentes. - + Sample interval Intervalo de Muestra - + Optimize Linear Paths Optimizar Rutas Lineales @@ -2081,8 +2068,8 @@ Por defecto: 3 mm Orientación - + Type Tipo @@ -2112,8 +2099,8 @@ Por defecto: 3 mm TPI - + Operation Operación @@ -3034,8 +3021,8 @@ Si existen múltiples herramientas o formas de herramientas con el mismo nombre Revestido de EjesMapa - + Radius Radio @@ -3450,8 +3437,8 @@ Si existen múltiples herramientas o formas de herramientas con el mismo nombre TaskPathSimulator - + Path Simulator Simulador de Ruta @@ -4341,10 +4328,9 @@ Por ejemplo: No mostrar más - + Edit - int = field(default=None) Editar @@ -4475,19 +4461,19 @@ Por ejemplo: Sentido antihorario - + A planar adaptive start is unavailable. The non-planar will be attempted. No está disponible un inicio adaptativo plano. El no-plano se intentará. - - + + The non-planar adaptive start is also unavailable. El inicio adaptativo no-planar tampoco está disponible. - + %s is not a Base Model object of the job %s %s no es un objeto de modelo base del trabajo %s @@ -4507,8 +4493,8 @@ Por ejemplo: Perfilar el modelo completo, la(s) cara(s) seleccionada(s) o el/los borde(s) seleccionado(s) - + Choose a Path Job Elegir una Ruta de Trabajo @@ -4612,6 +4598,7 @@ Por ejemplo: List of custom property groups + int = field(default=None) Lista de grupos de propiedades personalizados @@ -4674,12 +4661,12 @@ Por ejemplo: + + - - The base path to modify La trayectoria base a modificar @@ -4973,9 +4960,9 @@ Por ejemplo: Colección de todos los controladores de herramientas para el trabajo + - Operations Cycle Time Estimation Estimación del tiempo del ciclo de operaciones @@ -5060,8 +5047,8 @@ Por ejemplo: Número de desfase de la fijación - + Make False, to prevent operation from generating code Marcar como falso, para evitar que la operación genere código @@ -5081,8 +5068,8 @@ Por ejemplo: Precisión y rendimiento de influencias - + Percent of cutter diameter to step over on each pass Porcentaje de diámetro de corte a escalar en cada pasada @@ -5258,10 +5245,10 @@ Por ejemplo: Punto de partida de esta trayectoria - - - + + + Make True, if specifying a Start Point Marcar como verdadero, si se especifica un punto inicial @@ -5375,9 +5362,9 @@ Por ejemplo: Aplicación de retracción G99: retraer el valor de altura de retracción solo entre los agujeros de la operación - + Additional base objects to be engraved Objetos base adicionales para ser grabados @@ -5418,9 +5405,9 @@ Por ejemplo: Radio inicial - + Extra value to stay away from final profile- good for roughing toolpath Valor adicional que lo mantiene alejado del perfil de cierre: bueno para el movimiento de la herramienta de desbaste @@ -5440,9 +5427,9 @@ Por ejemplo: Excluir las zonas de fresado ascendente dentro de la cara. - - + + Choose how to process multiple Base Geometry features. Elija cómo procesar múltiples características de Geometría Base. @@ -5463,8 +5450,8 @@ Por ejemplo: Procese el modelo y el stock en una operación sin geometría base seleccionada. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) La dirección en la que la trayectoria de herramienta debe ir alrededor de la pieza sentido horario (CW) o sentido antihorario (CCW) @@ -5500,10 +5487,27 @@ Por ejemplo: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Radio del último paso. Si se utiliza un cortador de 0,50%. Al afinar esto, se puede mejorar el cruce de ciertas formas. + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5565,8 +5569,8 @@ Por ejemplo: Hacer verdadero, si se utiliza la compensación de radio de corte - + Show the temporary path construction objects when module is in DEBUG mode. Mostrar los objetos temporales de construcción de trayectorias cuando el módulo está en modo DEBUG. @@ -5582,8 +5586,8 @@ Por ejemplo: Introduzca el punto final personalizado para la trayectoria del hueco. - + Set the geometric clearing pattern to use for the operation. Establece el patrón de limpieza geométrica para usar en la operación. @@ -5599,8 +5603,8 @@ Por ejemplo: Un valor positivo extiende el final de la trayectoria, un valor negativo la acorta. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Completa la operación en una sola pasada a profundidad, o en múltiples pasadas hasta la profundidad final. @@ -5631,8 +5635,8 @@ Por ejemplo: Activar para invertir la dirección de corte de la trayectoria de la ranura. - + The custom start point for the path of this operation El punto de inicio personalizado para la trayectoria de esta operación @@ -6147,24 +6151,24 @@ Por ejemplo: Path_Dressup - + Please select one path object Por favor seleccione un objeto de trayectoria - + The selected object is not a path El objeto seleccionado no es una trayectoria - + Please select a Path object Por favor seleccione un objeto de trayectoria @@ -6321,8 +6325,8 @@ Por ejemplo: Seleccionar archivo de punto de sonda - + All Files (*.*) Todos los archivos (*.*) @@ -6873,6 +6877,11 @@ Por ejemplo: no job for operation %s found. no se encontró trabajo para la operación %s. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6976,14 +6985,14 @@ Por ejemplo: PathProfile - + Outside Fuera - + Inside Interior @@ -7119,7 +7128,7 @@ Por ejemplo: PathPocket - + Final depth set below ZMin of face(s) selected. Profundidad final por debajo de ZMin de la(s) cara(s) seleccionada(s). @@ -7139,12 +7148,12 @@ Por ejemplo: Y - + Pass Extension Extensión de pase - + The distance the facing operation will extend beyond the boundary shape. La distancia de la operación de enfrentado se extenderá más allá de la forma límite. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_eu.ts b/src/Mod/Path/Gui/Resources/translations/Path_eu.ts index 66dbf97858..90846b1e1b 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_eu.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_eu.ts @@ -547,31 +547,8 @@ Oinarri-objektuaren muga-kutxatik eratorritako piezari dagokionez, esan nahi du Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Inprimakia @@ -742,17 +719,17 @@ Oinarri-objektuaren muga-kutxatik eratorritako piezari dagokionez, esan nahi du Oinarri-geometrien zerrenda garbitzen du - + Add Gehitu - - + + Remove Kendu @@ -807,8 +784,8 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Berrezarri - + All objects will be processed using the same operation properties. Objektu guztiak eragiketa-propietate berak erabilita prozesatuko dira. @@ -853,32 +830,32 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Kokapen guztiak eragiketa-propietate berak erabilita prozesatuko dira. - + Start Depth Hasierako sakonera - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Eragiketaren hasierako sakonera. Eragiketak Z ardatzean prozesatu behar duen punturik altuena. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transferitu hautatutako elementuaren Z balioa eragiketaren hasierako sakonerara. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. Eragiketaren sakonera, eragiketak Z ardatzean prozesatu behar duen punturik baxuenari dagokiona. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transferitu hautatutako elementuaren Z balioa eragiketaren amaierako sakonerara. @@ -893,14 +870,14 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Eragiketaren azken moztearen sakonera. Amaiera garbiagoa sortzeko erabili daiteke. - + Final Depth Amaierako sakonera - + Step Down Beheratzea @@ -940,34 +917,34 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Altuera librea - + + + + - - - - + The tool and its settings to be used for this operation. Eragiketa honetan erabiliko den tresna eta bere ezarpenak. + + + + + + + + + + - - - - - - - - - - Coolant Mode Hozgarri-modua @@ -977,28 +954,28 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tresna-kontrolagailua - - + + Coolant Hozgarria @@ -1018,8 +995,8 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Eragiketa mota - + Step Over Percent Gainditze-ehunekoa @@ -1069,8 +1046,8 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Amaierako profila - + Use Outline Erabili eskema @@ -1125,10 +1102,10 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Gelditu - + - + Direction Norabidea @@ -1138,15 +1115,15 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Profila sortzeko erabiliko den den norabidea, erloju-orratzen noranzkoan edo aurka. - + CW erlojuaren noranzkoan - + CCW erlojuaren noranzkoaren aurka @@ -1171,6 +1148,8 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Elkargune zorrotza + + @@ -1180,8 +1159,6 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E - - mm mm @@ -1397,11 +1374,11 @@ Prozesatuko diren elementuak gehitzeko, hautatu elementua eta sakatu 'Gehitu'. E Eredua + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ Azken aukera pieza gordinaren area osoaren aurpegirako erabili daiteke, hurrengo If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Hau hautatuta badago, eragiketak hautatutako oinarri-geometriaren eskema erabiliko du eta zulo eta uharte guztiei ez ikusiarena egingo die + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material-perdoia + - Use Start Point Erabili hasiera-puntua @@ -1750,9 +1737,9 @@ Azken aukera pieza gordinaren area osoaren aurpegirako erabili daiteke, hurrengo Luzatu bidearen amaiera - + Layer Mode Geruza-modua @@ -1792,8 +1779,8 @@ Azken aukera pieza gordinaren area osoaren aurpegirako erabili daiteke, hurrengo Eskaneatze mota - + Cut Pattern Mozte-eredua @@ -1808,14 +1795,14 @@ Azken aukera pieza gordinaren area osoaren aurpegirako erabili daiteke, hurrengo Saihestu azken X aurpegiak - + Bounding Box Muga-kutxa - + Select the overall boundary for the operation. Hautatu eragiketarako muga orokorra. @@ -1825,14 +1812,14 @@ Azken aukera pieza gordinaren area osoaren aurpegirako erabili daiteke, hurrengo Planarra: Laua, 3D gainazal eskaneatzea. Birakaria: 4. ardatzeko eskaneatze birakaria. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Osatu eragiketa pasaldi bakarrean sakoneran, edo pasaldi anitzetan azken sakoneraraino. - + Set the geometric clearing pattern to use for the operation. Ezarri eragiketarako erabiliko den garbitze geometrikoko eredua. @@ -1857,14 +1844,14 @@ Azken aukera pieza gordinaren area osoaren aurpegirako erabili daiteke, hurrengo Erortze-ebakigailuaren lerroak ardatz honen paraleloan sortzen dira. - + Set the Z-axis depth offset from the target surface. Ezarri Z ardatzeko sakonera-desplazamendua helburuko gainazaletik. - + Set the sampling resolution. Smaller values quickly increase processing time. Ezarri laginketa-bereizmena. Balio txikiagoak prozesatze-denbora asko handitzen dute. @@ -1874,8 +1861,8 @@ Azken aukera pieza gordinaren area osoaren aurpegirako erabili daiteke, hurrengo Markatu 'Egia', hasierako puntu bat adieraziko bada - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Gaitu bide linealen optimizazioa (puntu lerrokideak). Beharrezkoak ez diren puntu lerrokideak kentzen ditu G-code irteeratik. @@ -1910,14 +1897,14 @@ Azken aukera pieza gordinaren area osoaren aurpegirako erabili daiteke, hurrengo Sakoneraren desplazamendua - + Step over Urrats bat aurrera - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. Gainditzea % 100ekoa bada, ez da gainjartzerik egongo zikloen artean. - + Sample interval Lagin-tartea - + Optimize Linear Paths Optimizatu bide linealak @@ -2081,8 +2068,8 @@ Balio lehenetsia: 3 mm Orientazioa - + Type Mota @@ -2112,8 +2099,8 @@ Balio lehenetsia: 3 mm TPI - + Operation Eragiketa @@ -3034,8 +3021,8 @@ Izen bera duten tresna edo tresna-forma anitz badaude direktorio desberdinetan, Ardatz-maparen jantzia - + Radius Erradioa @@ -3450,8 +3437,8 @@ Izen bera duten tresna edo tresna-forma anitz badaude direktorio desberdinetan, TaskPathSimulator - + Path Simulator Bide-simulatzailea @@ -4341,10 +4328,9 @@ Adibidez: Ez erakutsi berriro - + Edit - int = field(default=None) Editatu @@ -4475,19 +4461,19 @@ Adibidez: erlojuaren noranzkoaren aurka - + A planar adaptive start is unavailable. The non-planar will be attempted. Hasiera moldakor planarra ez dago erabilgarri. Planarra ez dena probatuko da. - - + + The non-planar adaptive start is also unavailable. Hasiera moldakor ez planarra ere ez dago erabilgarri. - + %s is not a Base Model object of the job %s %s ez da oinarri-ereduen objektua %s lanerako @@ -4507,8 +4493,8 @@ Adibidez: Profilatu eredu osoa, aurpegi hautatua(k) edo ertz hautatua(k) - + Choose a Path Job Aukeratu bide-lan bat @@ -4612,6 +4598,7 @@ Adibidez: List of custom property groups + int = field(default=None) Propietate-talde pertsonalizatuen zerrenda @@ -4674,12 +4661,12 @@ Adibidez: + + - - The base path to modify Aldatuko den oinarri-bidea @@ -4973,9 +4960,9 @@ Adibidez: Lanerako tresna-kontrolagailu guztien bilduma + - Operations Cycle Time Estimation Eragiketen ziklo-denboraren kalkulua @@ -5060,8 +5047,8 @@ Adibidez: Finkapen-desplazamenduen kopurua - + Make False, to prevent operation from generating code Markatu 'Faltsua', eragiketak koderik sortu dezan saihestu nahi baduzu @@ -5081,8 +5068,8 @@ Adibidez: Zehaztasunean eta errendimenduan eragina du - + Percent of cutter diameter to step over on each pass Igaroaldi bakoitzean ebakigailu-diametroaren zein ehuneko gainditu behar den @@ -5258,10 +5245,10 @@ Adibidez: Bide honen hasiera-puntua - - - + + + Make True, if specifying a Start Point Markatu 'Egia', hasierako puntu bat adieraziko bada @@ -5375,9 +5362,9 @@ Adibidez: Aplikatu G99 atzeratzea: eragiketa honetan, zuloen arteko atzeratze-altueraraino soilik atzeratu - + Additional base objects to be engraved Grabatuko diren oinarri-objektu gehigarriak @@ -5418,9 +5405,9 @@ Adibidez: Hasierako erradioa - + Extra value to stay away from final profile- good for roughing toolpath Amaierako profiletik aldentzeko balio gehigarria - ona arbastatzeko tresna-bidearentzako @@ -5440,9 +5427,9 @@ Adibidez: Baztertu aurpegi barruan igotako areak. - - + + Choose how to process multiple Base Geometry features. Aukeratu nola prozesatuko diren oinarri-geometriako elementu anitz. @@ -5463,8 +5450,8 @@ Adibidez: Prozesatu eredua eta pieza oinarri-geometriarik hautatuta ez duen eragiketa batean. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) Tresna-bideak piezaren inguruan izan behar duen norabidea: erlojuaren noranzkoan (CW), edo aurka (CCW) @@ -5500,10 +5487,27 @@ Adibidez: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Azken gainditze-erradioa. Balioa 0 bada, ebakigailuaren % 50a soilik erabiliko da. Hau doituta, gainditzea hobetu daiteke zenbait formen kasuan + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5565,8 +5569,8 @@ Adibidez: Markatu 'Egia', ebakigailuaren erradio-konpentsazioa erabili nahi bada - + Show the temporary path construction objects when module is in DEBUG mode. Erakutsi aldi baterako bide-eraikuntzaren objektuak modulua ARAZKETA moduan dagoenean. @@ -5582,8 +5586,8 @@ Adibidez: Sartu amaiera-puntu pertsonalizatua arteka-biderako. - + Set the geometric clearing pattern to use for the operation. Ezarri eragiketarako erabiliko den garbitze geometrikoko eredua. @@ -5599,8 +5603,8 @@ Adibidez: Balio positiboak bidearen amaiera luzatzen du, negatiboak laburtu egiten du. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Osatu eragiketa pasaldi bakarrean sakoneran, edo pasaldi anitzetan azken sakoneraraino. @@ -5631,8 +5635,8 @@ Adibidez: Gaitu arteka-bidearen mozte-norabidea alderantzikatzea. - + The custom start point for the path of this operation Eragiketa honen bidearen hasiera-puntu pertsonalizatua @@ -6147,24 +6151,24 @@ Adibidez: Path_Dressup - + Please select one path object Hautatu bide-objektu bat - + The selected object is not a path Hautatutako objektua ez da bide bat - + Please select a Path object Hautatu bide-objektu bat @@ -6321,8 +6325,8 @@ Adibidez: Hautatu haztatze-puntuen fitxategia - + All Files (*.*) Fitxategi guztiak (*.*) @@ -6873,6 +6877,11 @@ Adibidez: no job for operation %s found. ez da lanik aurkitu %s eragiketarako. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6975,14 +6984,14 @@ Adibidez: PathProfile - + Outside Kanpoan - + Inside Barruan @@ -7118,7 +7127,7 @@ Adibidez: PathPocket - + Final depth set below ZMin of face(s) selected. Azken sakonera, hautatutako aurpegi(ar)en ZMin azpitik ezarrita. @@ -7138,12 +7147,12 @@ Adibidez: Y - + Pass Extension Igaroaldien hedadura - + The distance the facing operation will extend beyond the boundary shape. Aurpegia sortzeko eragiketa hedatuko den distantzia muga-formaz kanpo. @@ -7913,7 +7922,7 @@ Adibidez: Make False, to prevent operation from generating code - Markatu 'Faltsua', eragiketak koderik sortu dezan saihestu nahi baduzu + Markatu 'Gezurra', eragiketak koderik sortu dezan saihestu nahi baduzu diff --git a/src/Mod/Path/Gui/Resources/translations/Path_fi.ts b/src/Mod/Path/Gui/Resources/translations/Path_fi.ts index 1e15f83c0b..781794d1aa 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_fi.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_fi.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Lomake @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Lisää - - + + Remove Poista @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Palauta - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tool Controller - - + + Coolant Coolant @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Pysäytä - + - + Direction Suunta @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Askella yli - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm Suunta - + Type Tyyppi @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operation @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Säde @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Muokkaa @@ -4477,19 +4463,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Kaikki tiedostot (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_fr.ts b/src/Mod/Path/Gui/Resources/translations/Path_fr.ts index eb3489972c..a5fdbbf7fb 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_fr.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_fr.ts @@ -290,7 +290,7 @@ Pour le brut provenant de la boîte englobante de l'objet de base, il s'agit du Placement - Placement + Positionnement @@ -547,31 +547,8 @@ Pour le brut provenant de la boîte englobante de l'objet de base, il s'agit du Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Forme @@ -742,17 +719,17 @@ Pour le brut provenant de la boîte englobante de l'objet de base, il s'agit du Effacer la liste des géométries de base - + Add Ajouter - - + + Remove Supprimer @@ -807,8 +784,8 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Réinitialiser - + All objects will be processed using the same operation properties. Tous les objets seront traités en utilisant les mêmes propriétés. @@ -853,32 +830,32 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Tous les emplacements seront traités en utilisant les mêmes propriétés d'opération. - + Start Depth Profondeur de départ - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Profondeur de départ de l'opération. Le point le plus élevé de l'axe Z que l'opération doit traiter. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Utiliser la valeur Z de l'élément sélectionné comme profondeur de départ pour l'opération. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. La profondeur de l'opération qui correspond à la valeur la plus basse selon l'axe Z que l'opération doit traiter. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Utiliser la valeur Z de l'élément sélectionné comme profondeur finale pour l'opération. @@ -893,14 +870,14 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Profondeur de la dernière coupe de l'opération. Peut être utilisé pour produire une finition plus propre. - + Final Depth Profondeur finale - + Step Down Pas de descente @@ -940,34 +917,34 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Hauteur de dégagement - + + + + - - - - + The tool and its settings to be used for this operation. L'outil et ses paramètres à utiliser pour cette opération. + + + + + + + + + + - - - - - - - - - - Coolant Mode Mode de refroidissement @@ -977,28 +954,28 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Contrôleur d'outil - - + + Coolant Liquide de refroidissement @@ -1018,8 +995,8 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Type d'opération - + Step Over Percent Pourcentage de recouvrement @@ -1069,8 +1046,8 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Profil de finition - + Use Outline Utiliser le contour @@ -1125,10 +1102,10 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Arrêter - + - + Direction Direction @@ -1138,15 +1115,15 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Le sens dans lequel le profil est effectué, sens des aiguilles d'une montre ou sens inverse. - + CW Sens horaire - + CCW dans le sens contraire des aiguilles d'une montre @@ -1171,6 +1148,8 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Joint onglet + + @@ -1180,8 +1159,6 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l - - mm mm @@ -1397,11 +1374,11 @@ Réinitialiser supprime tous les éléments en cours de la liste et remplit la l Motif + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ Ce dernier peut être utilisé pour surfacer l'ensemble de la zone du brut afin If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Si cette option est sélectionnée, l'opération utilise le contour de la géométrie de base sélectionnée et ignore tous les trous et îlots + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Allocation de matériau + - Use Start Point Utiliser le point de départ @@ -1750,9 +1737,9 @@ Ce dernier peut être utilisé pour surfacer l'ensemble de la zone du brut afin Prolonger la fin du parcours - + Layer Mode Mode couche @@ -1792,8 +1779,8 @@ Ce dernier peut être utilisé pour surfacer l'ensemble de la zone du brut afin Type de scan - + Cut Pattern Découpez le motif @@ -1808,14 +1795,14 @@ Ce dernier peut être utilisé pour surfacer l'ensemble de la zone du brut afin Éviter les X dernières faces - + Bounding Box Boîte englobante - + Select the overall boundary for the operation. Sélectionner la limite globale pour l’opération. @@ -1825,14 +1812,14 @@ Ce dernier peut être utilisé pour surfacer l'ensemble de la zone du brut afin Planaire : balayage surfacique plat et 3D. Rotationnel : balayage rotatif sur le 4ème axe. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Terminer l’opération en une seule passe à la profondeur ou en plusieurs passes jusqu’à la profondeur finale. - + Set the geometric clearing pattern to use for the operation. Définir le motif de détourage géométrique à utiliser pour l'opération. @@ -1857,14 +1844,14 @@ Ce dernier peut être utilisé pour surfacer l'ensemble de la zone du brut afin Des lignes de découpe sont créées parallèlement à cet axe. - + Set the Z-axis depth offset from the target surface. Définir le décalage en profondeur de l'axe Z par rapport à la surface cible. - + Set the sampling resolution. Smaller values quickly increase processing time. Définir la résolution d'échantillonnage. Des valeurs plus petites augmentent rapidement le temps de traitement. @@ -1874,8 +1861,8 @@ Ce dernier peut être utilisé pour surfacer l'ensemble de la zone du brut afin Mettre à vrai si l'on spécifie un point de départ - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Activer l'optimisation des parcours linéaires (points colinéaires). Supprime les points colinéaires inutiles de la sortie G-code. @@ -1910,14 +1897,14 @@ Ce dernier peut être utilisé pour surfacer l'ensemble de la zone du brut afin Déport de profondeur - + Step over Passer outre - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. Un recouvrement de 100% n'entraîne aucun chevauchement entre deux cycles différents. - + Sample interval Intervalle d'échantillonnage - + Optimize Linear Paths Optimiser les parcours linéaires @@ -2081,8 +2068,8 @@ Par défaut : 3 mm Orientation - + Type Type @@ -2112,8 +2099,8 @@ Par défaut : 3 mm TPI - + Operation Opération @@ -2276,7 +2263,7 @@ Par défaut : 3 mm Tag Parameters - Paramètres de l'attache + Paramètres des attaches @@ -2617,7 +2604,7 @@ Si cette option est laissée vide, aucun modèle ne sera présélectionné. Placement - Placement + Positionnement @@ -3032,8 +3019,8 @@ Généralement, il est recommandé d'utiliser des chemins relatifs en raison de Finition de l'assigner de l'axe - + Radius Rayon @@ -3448,8 +3435,8 @@ Généralement, il est recommandé d'utiliser des chemins relatifs en raison de TaskPathSimulator - + Path Simulator Simulateur de parcours @@ -4336,10 +4323,9 @@ Par exemple : Ne plus afficher ceci dorénavant - + Edit - int = field(default=None) Éditer @@ -4470,19 +4456,19 @@ Par exemple : dans le sens contraire des aiguilles d'une montre - + A planar adaptive start is unavailable. The non-planar will be attempted. Un départ adaptatif de type planaire n'est pas disponible. Un départ non planaire sera tenté. - - + + The non-planar adaptive start is also unavailable. Le démarrage adaptatif non planaire est également indisponible. - + %s is not a Base Model object of the job %s %s n’est pas un objet Modèle de base de la tâche %s @@ -4502,8 +4488,8 @@ Par exemple : Opération de contour sur l'intégralité du modèle, d'une/des face(s) sélectionnée(s) ou d'une/des arête(s) sélectionnée(s) - + Choose a Path Job Choisir une tâche de trajectoire @@ -4607,6 +4593,7 @@ Par exemple : List of custom property groups + int = field(default=None) Liste des groupes de propriétés personnalisées @@ -4669,12 +4656,12 @@ Par exemple : + + - - The base path to modify Le parcours de base à modifier @@ -4968,9 +4955,9 @@ Par exemple : Liste de tous les contrôleurs d'outils pour la tâche + - Operations Cycle Time Estimation Estimation du temps de cycle des opérations @@ -5055,8 +5042,8 @@ Par exemple : Nombre de décalages des fixations - + Make False, to prevent operation from generating code Mettre à faux pour empêcher l'opération de générer du code @@ -5076,8 +5063,8 @@ Par exemple : Influence sur la précision et les performances - + Percent of cutter diameter to step over on each pass Pourcentage du diamètre de l'outil de coupe à recouvrir à chaque passe @@ -5253,10 +5240,10 @@ Par exemple : Le point de départ de cette trajectoire - - - + + + Make True, if specifying a Start Point Mettre à vrai si l'on spécifie un point de départ @@ -5370,9 +5357,9 @@ Par exemple : Appliquer la rétraction G99 : ne rétracter que jusqu'à la hauteur de rétraction entre les trous lors de cette opération - + Additional base objects to be engraved Objets de base supplémentaires à graver @@ -5413,9 +5400,9 @@ Par exemple : Rayon de départ - + Extra value to stay away from final profile- good for roughing toolpath Valeur supplémentaire pour rester loin du contour définitif - utile pour les parcours d'ébauche @@ -5435,9 +5422,9 @@ Par exemple : Exclure des zones de fraisage à l'intérieur de la surface. - - + + Choose how to process multiple Base Geometry features. Choisir comment traiter plusieurs fonctions de géométrie de base. @@ -5458,8 +5445,8 @@ Par exemple : Traiter le modèle et le brut dans une opération sans géométrie de base sélectionnée. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) Sens du parcours des outils autour de la pièce dans le sens horaire ou le sens anti-horaire @@ -5495,10 +5482,27 @@ Par exemple : - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Rayon du dernier recouvrement entre les passes. Si sa valeur est 0, 50% de la fraise est utilisée. Le réglage de ce paramètre peut être utilisé pour améliorer le recouvrement entre les passes pour certaines formes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5560,8 +5564,8 @@ Par exemple : Marquer Vrai, si vous utilisez la compensation du rayon de coupe - + Show the temporary path construction objects when module is in DEBUG mode. Afficher les objets de construction des parcours temporaires lorsque le module est en mode DEBUG. @@ -5577,8 +5581,8 @@ Par exemple : Entrez un point de fin personnalisé pour le parcours de la rainure. - + Set the geometric clearing pattern to use for the operation. Définir le motif de détourage géométrique à utiliser pour l'opération. @@ -5594,8 +5598,8 @@ Par exemple : Positif prolonge la fin du parcours, négatif le raccourcit. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Terminer l’opération en une seule passe à la profondeur ou en plusieurs passes jusqu’à la profondeur finale. @@ -5626,8 +5630,8 @@ Par exemple : Activez pour inverser la direction de coupe du parcours de la rainure. - + The custom start point for the path of this operation Le point de départ personnalisé pour le parcours de cette opération @@ -6142,24 +6146,24 @@ Par exemple : Path_Dressup - + Please select one path object Veuillez sélectionner un parcours - + The selected object is not a path L'objet sélectionné n'est pas un chemin - + Please select a Path object Veuillez sélectionner un objet de Path @@ -6316,8 +6320,8 @@ Par exemple : Sélectionner le fichier de points de la sonde - + All Files (*.*) Tous les fichiers (*.*) @@ -6868,6 +6872,11 @@ Les valeurs seront converties dans l'unité souhaitée pendant le post-traitemen no job for operation %s found. aucune tâche pour l'opération %s n'a été trouvée. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6970,14 +6979,14 @@ Les valeurs seront converties dans l'unité souhaitée pendant le post-traitemen PathProfile - + Outside Extérieur - + Inside Intérieur @@ -7113,7 +7122,7 @@ Les valeurs seront converties dans l'unité souhaitée pendant le post-traitemen PathPocket - + Final depth set below ZMin of face(s) selected. La profondeur finale est inférieure à ZMin de la ou des faces sélectionnées. @@ -7133,12 +7142,12 @@ Les valeurs seront converties dans l'unité souhaitée pendant le post-traitemen Y - + Pass Extension Extension de la passe - + The distance the facing operation will extend beyond the boundary shape. La distance à laquelle l'opération de surfaçage s'étendra au-delà de la forme de la limite. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_gl.ts b/src/Mod/Path/Gui/Resources/translations/Path_gl.ts index b41e770954..fe6cb1f161 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_gl.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_gl.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Formulario @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Engadir - - + + Remove Rexeitar @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Restaurar - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Ferramenta de control - - + + Coolant Coolant @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Parar - + - + Direction Dirección @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Un paso fóra - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm Orientación - + Type Tipo @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operación @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Radio @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Editar @@ -4477,19 +4463,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Tódolos ficheiros (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_hr.ts b/src/Mod/Path/Gui/Resources/translations/Path_hr.ts index 34a7820e22..d50623968e 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_hr.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_hr.ts @@ -387,7 +387,7 @@ Za materijal obrade iz graničnog okvira to znači dodatni materijal u svim smje Name of property. Can only contain letters, numbers, and underscores. MixedCase names will display with spaces "Mixed Case" - Name of property. Can only contain letters, numbers, and underscores. MixedCase names will display with spaces "Mixed Case" + Naziv svojstva. Može sadržavati samo slova, brojeve i podcrte. Imena MixedCase će se prikazivati s razmacima "Mixed Case" @@ -402,12 +402,12 @@ Za materijal obrade iz graničnog okvira to znači dodatni materijal u svim smje ToolTip to be displayed when user hovers mouse over property. - ToolTip to be displayed when user hovers mouse over property. + Opis koji će se prikazati kada korisnik prelazi mišem preko svojstva. Check if you want to create several properties in a batch. - Check if you want to create several properties in a batch. + Provjerite želite li stvoriti nekoliko svojstava u paketu. @@ -462,7 +462,7 @@ Za materijal obrade iz graničnog okvira to znači dodatni materijal u svim smje Select a working path for the tool library editor. - Select a working path for the tool library editor. + Odaberite putanju za rad za uređivač biblioteke alata. @@ -549,31 +549,8 @@ Za materijal obrade iz graničnog okvira to znači dodatni materijal u svim smje Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Obrazac @@ -585,7 +562,7 @@ Za materijal obrade iz graničnog okvira to znači dodatni materijal u svim smje Select what type of shape to use to constrain the underlying Path. - Select what type of shape to use to constrain the underlying Path. + Odaberite vrstu oblika koji želite koristiti za ograničavanje osnovne staze. @@ -605,7 +582,7 @@ Za materijal obrade iz graničnog okvira to znači dodatni materijal u svim smje Select the body to be used to constrain the underlying Path. - Select the body to be used to constrain the underlying Path. + Odaberite tijelo koje želite koristiti za ograničavanje podloge staze. @@ -680,12 +657,12 @@ Za materijal obrade iz graničnog okvira to znači dodatni materijal u svim smje If checked the path is constrained by the solid. Otherwise the volume of the solid describes a 'keep out' zone - If checked the path is constrained by the solid. Otherwise the volume of the solid describes a 'keep out' zone + Ako je označeno, staza je ograničena čvrstim tijelom. Inače, volumen čvrstog tijela opisuje 'zonu bez ulaska'. Extend Model's Bounding Box - Extend Model's Bounding Box + Proširi granični okvir modela @@ -716,7 +693,7 @@ Za materijal obrade iz graničnog okvira to znači dodatni materijal u svim smje List of operations with Base Geometry in current Job - List of operations with Base Geometry in current Job + Lista operacija sa baznom geometrijom u trenutnom poslu @@ -726,35 +703,35 @@ Za materijal obrade iz graničnog okvira to znači dodatni materijal u svim smje Select one or more features in the 3d view and press 'Add' to add them as the base items for this operation. Selected features can be deleted entirely. - Select one or more features in the 3d view and press 'Add' to add them as the base items for this operation. Selected features can be deleted entirely. + Odaberite jednu ili više značajki u 3D prikazu i pritisnite 'Dodaj' da biste ih dodali kao osnovne stavke za ovu operaciju. Odabrane značajke mogu se u potpunosti izbrisati. Add selected features to the list of base geometries for this operation - Add selected features to the list of base geometries for this operation + Dodaj odabrana svojstva u listu osnovne geometrije za ovu operaciju Remove the selected list items from the list of base geometries. The operation will not be applied to them. - Remove the selected list items from the list of base geometries. The operation will not be applied to them. + Uklonite odabrane stavke popisa s popisa osnovnih geometrija. Operacija se na njih neće primijeniti. Clears list of base geometries - Clears list of base geometries + Izbriši listu osnovnih geometrija - + Add Dodaj - - + + Remove Ukloniti @@ -793,17 +770,17 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Add selected items from 3d view to the list of base geometries - Add selected items from 3d view to the list of base geometries + Dodaj odabrane stavke 3D pogleda u listu osnovnih geometrija Remove selected list items from the list of base geometries. The operation is no longer applied to them. - Remove selected list items from the list of base geometries. The operation is no longer applied to them. + Uklonite odabrane stavke popisa s popisa osnovnih geometrija. Operacija nije više na njih primijenjena. Remove all list items and fill list with all eligible features from the job's base object. - Remove all list items and fill list with all eligible features from the job's base object. + Ukloni sve stavke popisa i popuni popis sa svim odobrenim značajkama iz objekta osnove posla. @@ -811,8 +788,8 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Odbaci - + All objects will be processed using the same operation properties. Svi objekti obraditi će se koristeći iste postavke operacija. @@ -857,34 +834,34 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Sve lokacije obraditi će se koristeći iste postavke operacija. - + Start Depth Početna dubina - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. - Start Depth of the operation. The highest point in Z-axis the operation needs to process. + Dubina početka operacije. Najviša točka u Z-osi koju operacija treba obraditi. - + Transfer the Z value of the selected feature as the Start Depth for the operation. - Transfer the Z value of the selected feature as the Start Depth for the operation. + Prenesite Z vrijednost odabrane značajke kao početnu dubinu operacije. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. + Dubina operacije koja odgovara najnižoj vrijednosti u Z-osi koju operacija treba obraditi." - + Transfer the Z value of the selected feature as the Final Depth for the operation. - Transfer the Z value of the selected feature as the Final Depth for the operation. + Prenesite Z vrijednost odabrane značajke kao konačnu dubinu operacije. @@ -897,14 +874,14 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Dubina finalnog reza operacije. Može se koristiti za stvaranje čistijeg završetka obrade. - + Final Depth Konačna Dubina - + Step Down Korak Dolje @@ -931,12 +908,12 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim The height above which it is safe to move the tool bit with rapid movements. Below this height all lateral and downward movements are performed with feed rate speeds. - The height above which it is safe to move the tool bit with rapid movements. Below this height all lateral and downward movements are performed with feed rate speeds. + Visina iznad koje je sigurno pomicati alat s brzim pokretima. Ispod ove visine svi bočni i nizbrdni pokreti izvode se brzinama pomaka dovoda. The height where lateral movement of the toolbit is not obstructed by any fixtures or the part / stock material itself. - The height where lateral movement of the toolbit is not obstructed by any fixtures or the part / stock material itself. + Visina na kojoj bočno kretanje alatke nije otežano bilo kojim fiksatorima ili samim dijelom / materijalom obrade. @@ -944,34 +921,34 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Visina prohodnosti (izmežu alata i materijala obrade) - + + + + - - - - + The tool and its settings to be used for this operation. Alat i njegove postavke za ovu operaciju. + + + + + + + + + + - - - - - - - - - - Coolant Mode Načini rada rashladne tekućine @@ -981,35 +958,35 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Kontroler Alata - - + + Coolant Hlađenje Type of adaptive operation - Type of adaptive operation + Vrsta prilagođene operacije @@ -1022,8 +999,8 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Vrsta Operacije - + Step Over Percent Postotak preklapanja @@ -1035,17 +1012,17 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Helix Ramp Angle - Helix Ramp Angle + Kut rampe spirale Helix Cone Angle - Helix Cone Angle + Kut spirale stožca Helix Max Diameter - Helix Max Diameter + Spirala max. Promjer @@ -1055,7 +1032,7 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Keep Tool Down Ratio - Keep Tool Down Ratio + Omjer zadržavanja alata dolje @@ -1073,45 +1050,45 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Profil završne obrade - + Use Outline Koristi vanjski obris Influences calculation performance vs stability and accuracy - Influences calculation performance vs stability and accuracy + Utjecaj performansi izračunavanja vs stabilnosti i točnosti Cut inside or outside of the selected shapes - Cut inside or outside of the selected shapes + Rezanje odabranog oblika izvana ili iznutra If greater than zero it limits the helix ramp diameter, otherwise 75 percent of tool diameter is used - If greater than zero it limits the helix ramp diameter, otherwise 75 percent of tool diameter is used + Ako je veći od nule, ograničava promjer rampe spirale, inače se koristi 75 posto promjera alata. How much to lift the tool up during the rapid linking moves over cleared regions. If linking path is not clear tool is raised to clearance height. - How much to lift the tool up during the rapid linking moves over cleared regions. If linking path is not clear tool is raised to clearance height. + Koliko podići alat tijekom brzih povezujućih pokreta preko očišćenih područja. Ako putanja povezivanja nije jasna, alat se podiže na visinu prohodnosti. Max length of keep-tool-down linking path compared to direct distance between points. If exceeded link will be done by raising the tool to clearance height. - Max length of keep-tool-down linking path compared to direct distance between points. If exceeded link will be done by raising the tool to clearance height. + Maksimalna dužina putanje povezivanja s fiksiranim alatom u odnosu na direktnu udaljenost između točaka. Ako je pređena, povezivanje će se izvršiti podizanjem alata na visinu prohodnosti. How much material to leave (i.e. for finishing operation) - How much material to leave (i.e. for finishing operation) + Koliko materijala treba ostaviti (tj. za završnu operaciju) The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. - The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. + Količina pomaka alata u bočnom smjeru u svakom ciklusu preklapanja uzorka (step over), specificirana u procentima promjera alata. Pomak od 100% rezultira bez preklapanja između dva različita ciklusa. @@ -1129,52 +1106,54 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Stop - + - + Direction Smjer The direction in which the profile is performed, clockwise or counterclockwise. - The direction in which the profile is performed, clockwise or counterclockwise. + Smjer u kojem se profil izvodi, u smjeru kazaljke na satu ili suprotno od smjera kazaljke na satu. - + CW u smjeru kazaljke sata - + CCW suprotno smjeru kazaljke sata Width of chamfer cut. - Width of chamfer cut. + Širina reza žljeba. Extra depth of tool immersion. - Extra depth of tool immersion. + Dodatna dubina upuštanja alata Round joint - Round joint + Zaobljena fuga Miter joint - Miter joint + Kosa fuga + + @@ -1184,8 +1163,6 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim - - mm mm @@ -1227,7 +1204,7 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Keep Tool Down - Keep Tool Down + Zadrži alat dolje @@ -1257,7 +1234,7 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Chip Break - Chip Break + Prekid pridržača @@ -1267,7 +1244,7 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Specify the vertex number of the underlying shape string at which engraving should start. - Specify the vertex number of the underlying shape string at which engraving should start. + Navedite broj vrha osnovnog oblika podloge na kojem bi graviranje trebalo započeti. @@ -1277,12 +1254,12 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Specify if the helix operation should start at the inside and work its way outwards, or start at the outside and work its way to the center. - Specify if the helix operation should start at the inside and work its way outwards, or start at the outside and work its way to the center. + Navedite treba li operacija spirale početi iznutra i raditi prema van, ili započeti izvana i raditi prema centru. Inside - Inside + Unutra @@ -1292,7 +1269,7 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim The direction for the helix, clockwise or counterclockwise. - The direction for the helix, clockwise or counterclockwise. + Smjer za spiralu U smjeru kazaljke na satu ili Obrnuto smjeru kazaljke na satu @@ -1378,7 +1355,7 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Boundary Shape - Boundary Shape + Oblik ograničenja @@ -1401,11 +1378,11 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Uzorak + + - - The tool and its settings to be used for this operation @@ -1416,9 +1393,9 @@ Resetiranje briše sve trenutne stavke s popisa i popunjava popis svim okruglim Specify if the facing should be restricted by the actual shape of the selected face (or the part if no face is selected), or if the bounding box should be faced off. The latter can be used to face of the entire stock area to ensure uniform heights for the following operations - Specify if the facing should be restricted by the actual shape of the selected face (or the part if no face is selected), or if the bounding box should be faced off. + Odredite treba li obrada lica biti ograničena na stvarni oblik odabrane površine (ili dijela ako nije odabrana niti jedna površina), ili ako treba biti obrađen obrubni okvir. -The latter can be used to face of the entire stock area to ensure uniform heights for the following operations +Ovo se može koristiti za obradu cijelog područja obrade kako bi se osigurala ujednačena visina za sljedeće operacije @@ -1443,7 +1420,7 @@ The latter can be used to face of the entire stock area to ensure uniform height ZigZagOffset - ZigZagOffset + CikCak Pomak @@ -1473,7 +1450,7 @@ The latter can be used to face of the entire stock area to ensure uniform height The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles - The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles + Količina pomaka alata u bočnom smjeru u svakom ciklusu uzorka (step over), specificirana u procentima promjera alata. Pomak od 100% rezultira bez preklapanja između dva različita ciklusa. @@ -1490,15 +1467,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Koristi početnu točku @@ -1570,7 +1557,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Specify if the profile should be performed inside or outside the base geometry features. This only matters if Use Compensation is checked (the default) - Specify if the profile should be performed inside or outside the base geometry features. This only matters if Use Compensation is checked (the default) + Odredite treba li profilirati unutar ili izvan osnovnih geometrijskih značajki. Ovo je važno samo ako je uključena opcija "Koristi kompenzaciju" (zadano) @@ -1738,7 +1725,7 @@ The latter can be used to face of the entire stock area to ensure uniform height No Base Geometry selected. - No Base Geometry selected. + Nema odabrane osnovne geometrije. @@ -1748,17 +1735,17 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path Start - Extend Path Start + Produži početak staze Extend Path End - Extend Path End + Produži kraj staze - + Layer Mode Layer Mode @@ -1798,59 +1785,59 @@ The latter can be used to face of the entire stock area to ensure uniform height Vrsta skeniranja - + Cut Pattern Uzorci rezanja Profile Edges - Profile Edges + Profiliraj rubove Avoid Last X Faces - Avoid Last X Faces + Izbjegavajte zadnju X plohu - + Bounding Box Granični okvir - + Select the overall boundary for the operation. - Select the overall boundary for the operation. + Odaberite cjelokupnu granicu za operaciju. Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. + Ravan: U ravnini, 3D skeniranje površine. Rotacijsko: rotacijsko skeniranje oko 4-te osi. - + Complete the operation in a single pass at depth, or multiple passes to final depth. - Complete the operation in a single pass at depth, or multiple passes to final depth. + Dovršite operaciju u jednom prolazu na dubini ili višestrukim prolazima do krajnje dubine. - + Set the geometric clearing pattern to use for the operation. - Set the geometric clearing pattern to use for the operation. + Postavite geometrijski uzorak čišćenja koji će se koristiti za operaciju. Profile the edges of the selection. - Profile the edges of the selection. + Profili od rubova odabira. Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. - Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. + Izbjegavajte rezanje zadnjih 'N' lica na popisu Osnovna geometrija odabranih površina. @@ -1860,30 +1847,32 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - Dropcutter lines are created parallel to this axis. + Linije spuštajućeg (drop-cutter) glodala stvaraju se paralelno s ovom osi. - + Set the Z-axis depth offset from the target surface. - Set the Z-axis depth offset from the target surface. + Postavite pomak dubine Z-osi od ciljne površine. - + Set the sampling resolution. Smaller values quickly increase processing time. - Set the sampling resolution. Smaller values quickly increase processing time. + Postavite rezoluciju uzorkovanja. Manje vrijednosti brzo povećavaju vrijeme obrade. Make True, if specifying a Start Point - Make True, if specifying a Start Point + Postavite na Točno, ako specificirate Početnu točku - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. - Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. + Omogućiti optimizaciju linearnih staza (kolinearnih točaka). Uklanja nepotrebne kolinearne točke iz izvoza G-koda. + + @@ -1894,12 +1883,12 @@ The latter can be used to face of the entire stock area to ensure uniform height Enable separate optimization of transitions between, and breaks within, each step over path. - Enable separate optimization of transitions between, and breaks within, each step over path. + Omogućite zasebnu optimizaciju prijelaza između i unutar svakog prekida koraka staze. Drop Cutter Direction - Drop Cutter Direction + Smjer spuštajućeg glodala @@ -1909,7 +1898,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Additional offset to the selected bounding box along the Y axis. - Additional offset to the selected bounding box along the Y axis. + Dodatni pomak za odabrani granični okvir uzduž Y-osi. @@ -1917,32 +1906,32 @@ The latter can be used to face of the entire stock area to ensure uniform height Pomak dubine - + Step over Korak preko - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. - The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. + Količina pomaka alata u bočnom smjeru u svakom ciklusu uzorka (step over), specificirana u procentima promjera alata. -A step over of 100% results in no overlap between two different cycles. +Pomak od 100% rezultira bez preklapanja između dva različita ciklusa. - + Sample interval Korak uzorka - + Optimize Linear Paths - Optimize Linear Paths + Optimiraj linearne Staze @@ -2088,8 +2077,8 @@ Default: 3 mm Orijentacija - + Type Tip @@ -2116,11 +2105,11 @@ Default: 3 mm TPI - TPI + TPI - + Operation Operacija @@ -2162,7 +2151,7 @@ Default: 3 mm Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). - Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). + Odaberite algoritam koji ćete koristiti: OCL Dropcutter * (Upuštajuće glodalo) ili eksperimentalni (ne temelji se na OCL). @@ -2396,7 +2385,7 @@ If the radius is bigger than that which the tag shape itself supports, the resul Default Curve Accuracy - Default Curve Accuracy + Zadana točnost krivulje @@ -2441,36 +2430,36 @@ if %S is included, you can specify where the number occurs. Without it, the num The following example store all files with the same name as the document the directory /home/freecad (please remove quotes): &quot;/home/cnc/%d.g-code&quot; See the file save policy below on how to deal with name conflicts. - Enter a path and optionally file name (see below) to be used as the default for the post processor export. -The following substitutions are performed before the name is resolved at the time of the post processing: -Substitution allows the following: -%D ... directory of the active document -%d ... name of the active document (with extension) -%M ... user macro directory -%j ... name of the active Job object + Navedite putanju i opcionalno ime datoteke (pogledajte dolje) koja će se koristiti kao zadano za izvoz post procesora. +Prije razrješenja naziva u vrijeme post obrade vrše se sljedeće zamjene: +Zamjena omogućuje sljedeće: +%D ... direktorij aktivnog dokumenta +%d ... ime aktivnog dokumenta (s ekstenzijom) +%M ... korisnički direktorij makro naredbi +%j ... ime aktivnog objekta posla -The Following can be used if output is being split. If Output is not split -these will be ignored. -%T ... Tool Number -%t ... Tool Controller label +Sljedeće se može koristiti ako je izlaz podijeljen. Ako izlaz nije podijeljen, +ovo će biti zanemareno. +%T ... Akatni broj +%t ... Oznaka kontrolera alata -%W ... Work Coordinate System -%O ... Operation Label +%W ... Radni koordinatni sustav +%O ... Oznaka operacije -When splitting output, a sequence number will always be added. +Prilikom dijeljenja izlaza uvijek će se dodati sekvencijski broj. -if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string. +Ako je uključen %S, možete odrediti gdje se broj pojavljuje. Bez njega, broj će se dodati na kraj stringa. -%S ... Sequence Number +%S ... Sekvencijski broj -The following example store all files with the same name as the document the directory /home/freecad (please remove quotes): +Sljedeći primjer pohranjuje sve datoteke s istim imenom kao dokument u direktorij /home/freecad (molimo uklonite navodnike): &quot;/home/cnc/%d.g-code&quot; -See the file save policy below on how to deal with name conflicts. +Pogledajte politiku spremanja datoteka u nastavku kako biste saznali kako se nositi s sukobima dodavanja imena. File Save Policy - File Save Policy + Pravilnik spremanja Datoteka @@ -2495,7 +2484,7 @@ See the file save policy below on how to deal with name conflicts. Post Processors Selection - Post Processors Selection + Odabir naknadne Obrade @@ -2510,7 +2499,7 @@ See the file save policy below on how to deal with name conflicts. Mod/Path - Mod/Path + Mod/Staza @@ -2557,7 +2546,7 @@ If left empty no template will be preselected. Optional arguments passed to the default Post Processor specified above. See the Post Processor's documentation for supported arguments. - Optional arguments passed to the default Post Processor specified above. See the Post Processor's documentation for supported arguments. + Neophodni argumenti koji se prosljeđuju zadanim post procesoru navedenim iznad. Pogledajte dokumentaciju post procesora za podržane argumente. @@ -2582,7 +2571,7 @@ If left empty no template will be preselected. Extend Model's Bounding Box - Extend Model's Bounding Box + Proširi granični okvir modela @@ -2650,9 +2639,7 @@ If left empty no template will be preselected. References to Tool Bits and their shapes can either be stored with an absolute path or with a relative path to the search path. Generally it is recommended to use relative paths due to their flexibility and robustness to layout changes. Should multiple tools or tool shapes with the same name exist in different directories it can be required to use absolute paths. - References to Tool Bits and their shapes can either be stored with an absolute path or with a relative path to the search path. -Generally it is recommended to use relative paths due to their flexibility and robustness to layout changes. -Should multiple tools or tool shapes with the same name exist in different directories it can be required to use absolute paths. + Reference na alatne nastavake i njihove oblike mogu se pohraniti s apsolutnom putanjom ili relativnom putanjom do putanje pretraživanja. Općenito se preporučuje korištenje relativnih putanja zbog njihove fleksibilnosti i otpornosti na promjene rasporeda. Ako u različitim direktorijima postoje više alata ili oblika alata s istim imenom, možda će biti potrebno koristiti apsolutne putanje. @@ -2779,7 +2766,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Task Panel Layout - Task Panel Layout + Razmještaj na ploči zadataka @@ -2789,17 +2776,17 @@ Should multiple tools or tool shapes with the same name exist in different direc Classic - reversed - Classic - reversed + Obrnuto obično Multi Panel - Multi Panel + Višepločno Multi Panel - reversed - Multi Panel - reversed + Višepločno - obrnuto @@ -2814,48 +2801,48 @@ Should multiple tools or tool shapes with the same name exist in different direc Suppress all warnings about setting speed rates for accurate cycle time calculation - Suppress all warnings about setting speed rates for accurate cycle time calculation + Neprikazuj sva upozorenja o postavljanju brzina za točno izračunavanje ciklusnog vremena Suppress all missing speeds warning - Suppress all missing speeds warning + Neprikazuj sva upozorenja o neprilagođenoj brzini pomaka Suppress warning about setting the rapid speed rates for accurate cycle time calculation. Ignored if all speed warnings are already suppressed. - Suppress warning about setting the rapid speed rates for accurate cycle time calculation. Ignored if all speed warnings are already suppressed. + Neprikazuj upozorenja o postavljanju ubrzane brzine pomaka za točno izračunavanje ciklusnog vremena. Zanemari ako su sva brzinska upozorenja već potisnuta. Suppress missing rapid speeds warning - Suppress missing rapid speeds warning + Neprikazuj upozorenja o ubrzanoj brzini pomaka Suppress warning whenever a Path selection mode is activated - Suppress warning whenever a Path selection mode is activated + Neprikazuj upozorenja uvijek kada je mod odabira staze aktiviran Suppress feed rate warning - Suppress feed rate warning + Neprikazuj upozorenja brzine pomaka OpenCAMLib - OpenCAMLib + OpenCAMLib If OpenCAMLib is installed with Python bindings it can be used by some additional 3D operations. NOTE: Enabling OpenCAMLib here requires a restart of FreeCAD to take effect. - If OpenCAMLib is installed with Python bindings it can be used by some additional 3D operations. NOTE: Enabling OpenCAMLib here requires a restart of FreeCAD to take effect. + Ako je OpenCAMLib instaliran s Python bindingsima, može se koristiti za neke dodatne 3D operacije. NAPOMENA: Omogućavanje OpenCAMLib-a ovdje zahtijeva ponovo pokretanje FreeCAD-a da bi stupilo na snagu. Suppress selection mode warning - Suppress selection mode warning + Neprikazuj upozorenja moda odabira @@ -2886,12 +2873,12 @@ Should multiple tools or tool shapes with the same name exist in different direc Enable Lead-in move - Enable Lead-in move + Omogući pomak približavanja Enable Lead In - Enable Lead In + Omogući približavanje @@ -2903,12 +2890,12 @@ Should multiple tools or tool shapes with the same name exist in different direc Length / Radius - Length / Radius + Dužina / Polumjer length or radius of the Lead-in - length or radius of the Lead-in + dužina ili polumjer približavanja @@ -2919,52 +2906,52 @@ Should multiple tools or tool shapes with the same name exist in different direc extends the leadin distance - extends the leadin distance + produljuje udaljenost vodećeg pomaka Enable Lead-out move - Enable Lead-out move + Omogući vodeći pomak prema van Enable Lead Out - Enable Lead Out + Omogući pomak prema van length or radius of the Lead-out - length or radius of the Lead-out + dužina ili polumjer pomaka prema van Extends the leadout distance - Extends the leadout distance + Produljuje udaljenost pomaka prema van Plunge at rapid speed - Plunge at rapid speed + Ubrzano Poniranje Apply Lead In/Out on all layers - Apply Lead In/Out on all layers + Primjeni vodeći Pomak probližavanja/Pomak prema van za sve slojeve Keep the tool down in the path - Keep the tool down in the path + Zadrži alat dolje na stazi Keep Tool Down - Keep Tool Down + Zadrži alat dolje Rapid Plunge - Rapid Plunge + Ubrzano Poniranje @@ -2990,7 +2977,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Length/Radius positive not Null - Length/Radius positive not Null + Dužina/Polumjer pozitivno različito od nule @@ -3039,8 +3026,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Polumjer @@ -3052,7 +3039,7 @@ Should multiple tools or tool shapes with the same name exist in different direc The radius of the wrapped axis - The radius of the wrapped axis + Polumjer zarotirane osi @@ -3199,7 +3186,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Dragknife Dressup - Dragknife Dressup + Nož za povlačenje (DragKnife) priprema @@ -3209,17 +3196,17 @@ Should multiple tools or tool shapes with the same name exist in different direc Angles less than filter angle will not receive corner actions - Angles less than filter angle will not receive corner actions + Manji kutevi nego filtar kuta, kutevi se neće promijeniti kod procesa promijene ugla Distance the point trails behind the spindle - Distance the point trails behind the spindle + Udaljenost sa kojom točka slijedi vreteno Height to raise during corner action - Height to raise during corner action + Visina podizanja kod kutne akcije @@ -3450,14 +3437,14 @@ Should multiple tools or tool shapes with the same name exist in different direc Enter the filename containing the probe data - Enter the filename containing the probe data + Unesite naziv datoteke koja sadrži podatke za sondu TaskPathSimulator - + Path Simulator Simulator putanje @@ -3773,8 +3760,8 @@ Redoslijed po operaciji izvršit će svaku operaciju u svim koordinatnim sustavi <html><head/><body><p><span style=" font-style:italic;">Work Coordinate Systems</span> also called <span style=" font-style:italic;">Work Offsets</span>, <span style=" font-style:italic;">Fixture Offsets</span>, or <span style=" font-style:italic;">Fixtures </span>are useful for building efficient production jobs where the same part is done many times on the machine. FreeCAD has no knowledge of where a particular coordinate system exists within the machine coordinate system so adding additional coordinate systems to your job will have no visual change within your job. It will, however, change your gcode output. The exact way in which the output is affected is controlled by the 'order by' setting.</p></body></html> - <html><head/><body><p><span style=" font-style:italic;">Work Coordinate Systems</span> also called <span style=" font-style:italic;">Work Offsets</span>, <span style=" font-style:italic;">Fixture Offsets</span>, or <span style=" font-style:italic;">Fixtures </span>are useful for building efficient production jobs where the same part is done many times on the machine. -FreeCAD has no knowledge of where a particular coordinate system exists within the machine coordinate system so adding additional coordinate systems to your job will have no visual change within your job. It will, however, change your gcode output. The exact way in which the output is affected is controlled by the 'order by' setting.</p></body></html> + <html><head/><body><p><span style=" font-style:italic;">Radne koordinatne sustave </span> koji se također nazivaju <span style=" font-style:italic;">Radnim odmakom</span>, <span style=" font-style:italic;"> Odmakom učvršćenja </span>, ili <span style=" font-style:italic;">Učvršćenja </span>korisni su za izradu efikasnih proizvodnih poslova u kojima se isti dio obrađuje više puta na stroju. +FreeCAD nema pojma gdje se određeni koordinatni sustav nalazi unutar strojnog koordinatnog sustava, pa dodavanje dodatnih koordinatnih sustava vašem poslu neće imati vizualne promjene u vašem poslu. Međutim, to će promijeniti vaš izlaz gcoda. Točan način na koji se izlaz utjeće kontroliraju postavke "red po redu".</p></body></html> @@ -3809,7 +3796,7 @@ FreeCAD has no knowledge of where a particular coordinate system exists within t Extend Model's Bounding Box - Extend Model's Bounding Box + Proširi granični okvir modela @@ -4034,36 +4021,36 @@ if %S is included, you can specify where the number occurs. Without it, the num The following example store all files with the same name as the document the directory /home/freecad (please remove quotes): "/home/cnc/%d.g-code" See the file save policy below on how to deal with name conflicts. - Enter a path and optionally file name (see below) to be used as the default for the post processor export. -The following substitutions are performed before the name is resolved at the time of the post processing: -Substitution allows the following: -%D ... directory of the active document -%d ... name of the active document (with extension) -%M ... user macro directory -%j ... name of the active Job object + Navedite putanju i opcionalno ime datoteke (pogledajte dolje) koja će se koristiti kao zadano za izvoz post procesora. +Prije razrješenja naziva u vrijeme post obrade vrše se sljedeće zamjene: +Zamjena omogućuje sljedeće: +%D ... direktorij aktivnog dokumenta +%d ... ime aktivnog dokumenta (s ekstenzijom) +%M ... korisnički direktorij makro naredbi +%j ... ime aktivnog objekta posla -The Following can be used if output is being split. If Output is not split -these will be ignored. -%T ... Tool Number -%t ... Tool Controller label +Sljedeće se može koristiti ako je izlaz podijeljen. Ako izlaz nije podijeljen, +ovo će biti zanemareno. +%T ... Alatni broj +%t ... Oznaka kontrolera alata -%W ... Work Coordinate System -%O ... Operation Label +%W ... Radni koordinatni sustav +%O ... Oznaka operacije -When splitting output, a sequence number will always be added. +Prilikom dijeljenja izlaza uvijek će se dodati sekvencijski broj. -if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string. +Ako je uključen %S, možete odrediti gdje se broj pojavljuje. Bez njega, broj će se dodati na kraju stringa. -%S ... Sequence Number +%S ... Sekvencijski broj -The following example store all files with the same name as the document the directory /home/freecad (please remove quotes): +Sljedeći primjer pohranjuje sve datoteke s istim imenom kao dokument u direktorij /home/freecad (molimo uklonite navodnike): "/home/cnc/%d.g-code" -See the file save policy below on how to deal with name conflicts. +Pogledajte politiku spremanja datoteka u nastavku kako biste saznali kako se nositi s sukobima dodavanja imena. If multiple coordinate systems are in use, setting this to TRUE will cause the gcode to be written to multiple output files as controlled by the 'order by' property. For example, if ordering by Fixture, the first output file will be for the first fixture and separate file for the second. - If multiple coordinate systems are in use, setting this to TRUE will cause the gcode to be written to multiple output files as controlled by the 'order by' property. For example, if ordering by Fixture, the first output file will be for the first fixture and separate file for the second. + Ako se koristi više koordinatnih sustava, postavljanjem ovoga na TOČNO uzrokovat će se zapisivanje g-coda u više izlaznih datoteka kako je kontrolirano svojstvom 'redosljed po'. Na primjer, ako poredate po Učvršćenje, prva izlazna datoteka bit će za prvo učvršćenje, a zasebna datoteka za drugo. @@ -4290,12 +4277,12 @@ Default: 3 mm Path Dressup - Path Dressup + Staza - Priprema Supplemental Commands - Supplemental Commands + Dopunske Naredbe @@ -4323,17 +4310,20 @@ For example: 'Metric, Small Parts & CNC' 'US Customary' 'Imperial Decimal' - The currently selected unit schema: - '{}' - Does not use 'minutes' for velocity values. - -CNC machines require feed rate to be expressed in -unit/minute. To ensure correct G-code: -Select a minute-based schema in preferences. -For example: + Trenutno odabrana shema mjernih koristijedinica: + + '{}' + + Ne koristi 'minute' za vrijednosti brzine. + + CNC strojevi zahtijevaju da se brzina hoda izrazi u +mjerna jedinica/minuta. Da biste osigurali ispravan G-kod: + Odaberite minutnu shemu u postavkama. + Na primjer: 'Metric, Small Parts & CNC' 'US Customary' - 'Imperial Decimal' + 'Imperial Decimal' + @@ -4348,13 +4338,12 @@ For example: Don't Show This Anymore - Don't Show This Anymore + Ne prikazuj ovo više - + Edit - int = field(default=None) Uredi @@ -4459,22 +4448,22 @@ For example: Base object %s.%s already in the list - Base object %s.%s already in the list + Osnovni objekt %s.%s već je na popisu Base object %s.%s rejected by operation - Base object %s.%s rejected by operation + Osnovni objekt %s.%s koji je odbačen od operacije Hole diameter may be inaccurate due to tessellation on face. Consider selecting hole edge. - Hole diameter may be inaccurate due to tessellation on face. Consider selecting hole edge. + Promjer rupe može biti netočan zbog teselacije na licu. Razmotrite odabir ruba rupe. Feature %s.%s cannot be processed as a circular hole - please remove from Base geometry list. - Feature %s.%s cannot be processed as a circular hole - please remove from Base geometry list. + Svojstvo %s.%s ne može se obraditi kao kružna rupa - uklonite ga sa popisa liste geometrije baze. @@ -4487,26 +4476,26 @@ For example: suprotno smjeru kazaljke sata - + A planar adaptive start is unavailable. The non-planar will be attempted. - A planar adaptive start is unavailable. The non-planar will be attempted. + Planarni (ravni) prilagodljivi početak nije dostupan. Pokušat će se neplanarno. - - + + The non-planar adaptive start is also unavailable. - The non-planar adaptive start is also unavailable. + Neplanarni prilagodljivi početak također nije dostupan. - + %s is not a Base Model object of the job %s - %s is not a Base Model object of the job %s + %s nije objekt osnovnog modela zadatka %s Base shape %s already in the list - Base shape %s already in the list + Osnovni oblik %s već je na popisu @@ -4516,11 +4505,11 @@ For example: Profile entire model, selected face(s) or selected edge(s) - Profile entire model, selected face(s) or selected edge(s) + Profilirajte cijeli model, odabrana lica ili odabrane rubove - + Choose a Path Job Izaberi posao Staze @@ -4601,12 +4590,12 @@ For example: isVertical(%s) not supported - isVertical(%s) not supported + isVertical(%s) nije podržano isHorizontal(%s) not supported - isHorizontal(%s) not supported + isHorizontal(%s) nije podržano @@ -4624,6 +4613,7 @@ For example: List of custom property groups + int = field(default=None) Lista grupa prilagođenih svojstava @@ -4640,7 +4630,7 @@ For example: Coolant Modes - Coolant Modes + Načini rada rashladne tekućine @@ -4653,22 +4643,22 @@ For example: The usage of this field depends on SafeHeightExpression - by default its value is added to the start depth and used for the safe height of an operation. - The usage of this field depends on SafeHeightExpression - by default its value is added to the start depth and used for the safe height of an operation. + Upotreba ovog polja ovisi o Sigurna odobrena udaljenost (SafeHeightExpression) - zadano je da se njegova vrijednost dodaje vrijednosti Početna dubina (start depth) i koristi se za Odobrena visina (safe hight) operacije. Expression for the safe height of new operations. - Expression for the safe height of new operations. + Izraz korišten za Odobrena visina (safe hight) novih operacija. The usage of this field depends on ClearanceHeightExpression - by default is value is added to the start depth and used for the clearance height of an operation. - The usage of this field depends on ClearanceHeightExpression - by default is value is added to the start depth and used for the clearance height of an operation. + Upotreba ovog polja ovisi o vodoravnom sigurnosnom razmaku (ClearanceHeightExpression)- zadano je da se njegova vrijednost dodaje vrijednosti Početna dubina (start depth) i koristi se za Prohodna visina operacije (clearance height). Expression for the clearance height of new operations. - Expression for the clearance height of new operations. + Izraz korišten za Prohodna visina (clearance height) novih operacija. @@ -4693,59 +4683,59 @@ For example: + + - - The base path to modify Osnovna staza za modifikaciju Solid object to be used to limit the generated Path. - Solid object to be used to limit the generated Path. + Čvrsti objekt koji će se koristiti za ograničavanje generirane staze. Determines if Boundary describes an inclusion or exclusion mask. - Determines if Boundary describes an inclusion or exclusion mask. + Određuje opisuju li granice masku za uključivanje ili isključivanje. The base path to dress up - The base path to dress up + Osnovna staza za pripremu The side of path to insert bones - The side of path to insert bones + Strana staze za ubacivanje kostiju The style of bones - The style of bones + Forma kostiju The algorithm to determine the bone length - The algorithm to determine the bone length + Algoritam za određivanje duljine kostiju Dressup length if incision is set to 'custom' - Dressup length if incision is set to 'custom' + Duljina pripreme ako je zasjek postavljen na 'prilagođeno' Bones that aren't dressed up - Bones that aren't dressed up + Kosti koje nisu dotjerane (dressed up) @@ -4765,7 +4755,7 @@ For example: Radius of the fillet for the tag. - Radius of the fillet for the tag. + Polumjer obruba za oznaku. @@ -4785,102 +4775,102 @@ For example: The input mapping axis - The input mapping axis + Odabir osi oslikavanja The radius of the wrapped axis - The radius of the wrapped axis + Polumjer zarotirane osi Angles less than filter angle will not receive corner actions - Angles less than filter angle will not receive corner actions + Manji kutevi nego filtar kuta, kutevi se neće promijeniti kod procesa promijene ugla Distance the point trails behind the spindle - Distance the point trails behind the spindle + Udaljenost sa kojom točka slijedi vreteno Height to raise during corner action - Height to raise during corner action + Visina podizanja kod akcije kuta Calculate roll-on to path - Calculate roll-on to path + Izračunaj prilaženje do staze Calculate roll-off from path - Calculate roll-off from path + Izračunaj odlaženje od staze Keep the Tool Down in Path - Keep the Tool Down in Path + Zadrži alat dolje na stazi Length or Radius of the approach - Length or Radius of the approach + Dužina ili polumjer kod približavanja Length or Radius of the exit - Length or Radius of the exit + Dužina ili polumjer kod udaljavanja The Style of motion into the Path - The Style of motion into the Path + Stil vođenja do konture staze The Style of motion out of the Path - The Style of motion out of the Path + Stil vođenja od konture staze Extends LeadIn distance - Extends LeadIn distance + Produljuje udaljenost do konture (LeadIn) Extends LeadOut distance - Extends LeadOut distance + Produljuje udaljenost od konture (LeadOut) Perform plunges with G0 - Perform plunges with G0 + Brzo upuštanje sa GO Apply LeadInOut to layers within an operation - Apply LeadInOut to layers within an operation + Primijenite udaljenost do/od (LeadInOut) na slojeve unutar operacije Angle of ramp. - Angle of ramp. + Kut rampe. Ramping Method - Ramping Method + Metoda Rampe Which feed rate to use for ramping - Which feed rate to use for ramping + Brzina pomicanja za kosinu (rampu) Custom feed rate - Custom feed rate + Korisnički prilagođena brzina pomicanja @@ -4890,79 +4880,79 @@ For example: The depth where the ramp dressup is enabled. Above this ramps are not generated, but motion commands are passed through as is. - The depth where the ramp dressup is enabled. Above this ramps are not generated, but motion commands are passed through as is. + Dubina na kojoj je omogućeno korištenje rampe. Iznad ove dubine, rampe se ne generiraju, već se naredbe za kretanje propuštaju nepromijenjene. The point file from the surface probing. - The point file from the surface probing. + Datoteka točki s površinskog sondiranja. Deflection distance for arc interpolation - Deflection distance for arc interpolation + Udaljenost otklona za interpolaciju luka break segments into smaller segments of this length. - break segments into smaller segments of this length. + razbi segmente na manje segmente ove duljine. The G-code output file for this project - The G-code output file for this project + Izlazna G-code datoteka za ovaj projekt Select the Post Processor - Select the Post Processor + Odaberite Post Processor Arguments for the Post Processor (specific to the script) - Arguments for the Post Processor (specific to the script) + Argumenti za Post Processor (specifično za skriptu) Last Time the Job was post processed - Last Time the Job was post processed + Posljednji put posao je naknadno obrađen An optional description for this job - An optional description for this job + Opcionalni opis za ovaj posao Job Cycle Time Estimation - Job Cycle Time Estimation + Procjena vremena radnog ciklusa For computing Paths; smaller increases accuracy, but slows down computation - For computing Paths; smaller increases accuracy, but slows down computation + Za računanje staza; manja povećava točnost, ali usporava računanje Solid object to be used as stock. - Solid object to be used as stock. + Objekt čvrstog tijela korišten kao osnova. Compound path of all operations in the order they are processed. - Compound path of all operations in the order they are processed. + Složena staza svih operacija u redoslijedu u kojem se obrađuju. Select the Type of Job - Select the Type of Job + Odaberi vrstu zadatka Split output into multiple G-code files - Split output into multiple G-code files + Razdjelite izlaz na više G-code datoteka @@ -4974,59 +4964,59 @@ For example: The Work Coordinate Systems for the Job - The Work Coordinate Systems for the Job + Sustavi Radnih koordinata za ovaj posao SetupSheet holding the settings for this job - SetupSheet holding the settings for this job + Tabela podešavanja sadrži postavke za ovaj zadatak The base objects for all operations - The base objects for all operations + Osnovni objekti za sve operacije Collection of all tool controllers for the job - Collection of all tool controllers for the job + Kolekcija svih kontrolera alata za ovaj zadatak + - Operations Cycle Time Estimation - Operations Cycle Time Estimation + Procjena vremena ciklusa Select the type of Job - Select the type of Job + Odaberi vrstu zadatka The base object this stock is derived from - The base object this stock is derived from + Osnovni objekt iz kojeg je izveden ovaj materijal Extra allowance from part bound box in negative X direction - Extra allowance from part bound box in negative X direction + Dodatno povećanje okvira granica prostora u negativnom X smjeru Extra allowance from part bound box in positive X direction - Extra allowance from part bound box in positive X direction + Dodatno povećanje okvira granica prostora u pozitivnom X smjeru Extra allowance from part bound box in negative Y direction - Extra allowance from part bound box in negative Y direction + Dodatno povećanje okvira granica prostora u negativnom Y smjeru Extra allowance from part bound box in positive Y direction - Extra allowance from part bound box in positive Y direction + Dodatno povećanje okvira granica prostora u pozitivnom Y smjeru @@ -5051,27 +5041,27 @@ For example: Width of this stock box - Width of this stock box + Širina materijala obrade Height of this stock box - Height of this stock box + Visina materijala obrade Radius of this stock cylinder - Radius of this stock cylinder + Polumjer cilindričnog materijala obrade Height of this stock cylinder - Height of this stock cylinder + Visina cilindričnog materijala obrade Internal representation of stock type - Internal representation of stock type + Unutarnja prezentacija tipa materijala obrade @@ -5079,32 +5069,32 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code - Make False, to prevent operation from generating code + Postavite na netočno da spriječite operaciju kod generiranja koda. Side of selected faces that tool should cut - Side of selected faces that tool should cut + Strana odabrane površine koju alat treba glodati Type of adaptive operation - Type of adaptive operation + Vrsta prilagođene Operacije Influences accuracy and performance - Influences accuracy and performance + Utječe na preciznost i učinkovitost - + Percent of cutter diameter to step over on each pass - Percent of cutter diameter to step over on each pass + Postotak promjera glodala koji bi prelazio u svakom prolazu @@ -5119,7 +5109,7 @@ For example: How much stock to leave (i.e. for finishing operation) - How much stock to leave (i.e. for finishing operation) + Koliko materijala obrade treba ostaviti (tj. za završnu operaciju) @@ -5135,7 +5125,7 @@ For example: Stop processing - Stop processing + Zaustavi obradu @@ -5177,112 +5167,114 @@ For example: Split Arcs into discrete segments - Split Arcs into discrete segments + Razdjeli Lukove u pojedinaćne segmente The base geometry for this operation - The base geometry for this operation + Osnovna geometrija za ovu operaciju Holds the calculated value for the StartDepth - Holds the calculated value for the StartDepth + Drži izračunatu vrijednost za Početnu Dubinu (StartDepth) Holds the calculated value for the FinalDepth - Holds the calculated value for the FinalDepth + Drži izračunatu vrijednost za Krajnju Dubinu (FinalDepth) Holds the diameter of the tool - Holds the diameter of the tool + Drži promjer alata Holds the max Z value of Stock - Holds the max Z value of Stock + Drži vrijednost max Z za materijal obrade Holds the min Z value of Stock - Holds the min Z value of Stock + Drži vrijednost min Z za materijal obrade An optional comment for this Operation - An optional comment for this Operation + Neobvezni komentar za ovu operaciju User Assigned Label - User Assigned Label + Oznaka dodijeljena od korisnika Base locations for this operation - Base locations for this operation + Početna lokacija za ovu operaciju The tool controller that will be used to calculate the path - The tool controller that will be used to calculate the path + Alat kontroler koji će se koristiti za izračunavanje staze Coolant mode for this operation - Coolant mode for this operation + Način hlađenja za ovu operaciju + + Starting Depth of Tool- first cut depth in Z - Starting Depth of Tool- first cut depth in Z + Dubina alata kod pokretanja - prva dubina Z reza Final Depth of Tool- lowest value in Z - Final Depth of Tool- lowest value in Z + Konačna dubina alata - najniža Z vrijednost Starting Depth internal use only for derived values - Starting Depth internal use only for derived values + Početna Dubina, samo za internu upotrebu za izvedene vrijednosti Incremental Step Down of Tool - Incremental Step Down of Tool + Postupno (inkrementalno) spuštanje alata Maximum material removed on final pass. - Maximum material removed on final pass. + Maksimalno odstranjeni materijal kod završnog prolaza. The height needed to clear clamps and obstructions - The height needed to clear clamps and obstructions + Visina potrebna za obilazak prepreka (stezaljki i pričvršćivala) Rapid Safety Height between locations. - Rapid Safety Height between locations. + Sigurna visina brzog hoda između lokacija. The start point of this path - The start point of this path + Početna točka ove staze - - - + + + Make True, if specifying a Start Point - Make True, if specifying a Start Point + Postavite na Točno, ako se specificira Početna točka @@ -5297,78 +5289,80 @@ For example: Coolant option for this operation - Coolant option for this operation + Opcija hlađenja za ovu operaciju + + List of disabled features - List of disabled features + Popis onemogućenih funkcija The G-code to be inserted - The G-code to be inserted + G-code koji će biti umetnut The desired width of the chamfer - The desired width of the chamfer + Željena širina žlijeba The additional depth of the tool path - The additional depth of the tool path + Dodatna dubina putanje alata staze How to join chamfer segments - How to join chamfer segments + Kako treba pridružiti segmente žlijeba Direction of operation - Direction of operation + Smjer operacije Side of operation - Side of operation + Strana operacije The segment where the operation starts - The segment where the operation starts + Segment, u kojem započinju operacije Use chipbreaking - Use chipbreaking + Razbijanje strugotine Incremental Drill depth before retracting to clear chips - Incremental Drill depth before retracting to clear chips + Koračna dubina bušenja prije povlačenja, koristi se za čišćenje strugotine Enable pecking - Enable pecking + Omogući kidanje strugotine The time to dwell between peck cycles - The time to dwell between peck cycles + Vrijeme zadržavanja između ciklusa kidanja strugotine Enable dwell - Enable dwell + Omogući pauzu Calculate the tip length and subtract from final depth - Calculate the tip length and subtract from final depth + Izračunajte duljinu vrha i oduzmite ga od krajnje dubine @@ -5384,7 +5378,7 @@ For example: How far the drilling depth is extended - How far the drilling depth is extended + Koliko daleko je produžena dubina provrta @@ -5394,113 +5388,113 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved - Additional base objects to be engraved + Dodatni osnovni objekti koji trebaju biti gravirani The vertex index to start the path from - The vertex index to start the path from + Indeks točke od koje započinje staza Default length of extensions. - Default length of extensions. + Zadana duljina produljenja. List of features to extend. - List of features to extend. + Popis značajki koje treba produljiti. When enabled connected extension edges are combined to wires. - When enabled connected extension edges are combined to wires. + Kad je omogućeno, povezani produžni rubovi kombiniraju se s žicama. The direction of the circular cuts, ClockWise (CW), or CounterClockWise (CCW) - The direction of the circular cuts, ClockWise (CW), or CounterClockWise (CCW) + Smjer kružnih rezova, clockwise (CW) [U smjeru kazaljke] ili counter clockwise (CCW) [Suprotno smjeru kazaljke] Start cutting from the inside or outside - Start cutting from the inside or outside + Počinje glodanje iznutra ili izvana Starting Radius - Starting Radius + Početni Polumjer - + Extra value to stay away from final profile- good for roughing toolpath - Extra value to stay away from final profile- good for roughing toolpath + Dodatna vrijednost za izbjegavanje krajnjeg profila - dobro za putanju alata za grubo obrađivanje Shape to use for calculating Boundary - Shape to use for calculating Boundary + Oblik koji se koristi za izračunavanje Granice Clear edges of surface (Only applicable to BoundBox) - Clear edges of surface (Only applicable to BoundBox) + Čisti rubove površine (odnosi se samo na granični okvir) Exclude milling raised areas inside the face. - Exclude milling raised areas inside the face. + Isključite glodanje povišenih područja unutar površine. - - + + Choose how to process multiple Base Geometry features. - Choose how to process multiple Base Geometry features. + Odaberite način obrade značajki više osnovnih geometrija. Use adaptive algorithm to eliminate excessive air milling above planar pocket top. - Use adaptive algorithm to eliminate excessive air milling above planar pocket top. + Upotrijebite prilagodljivi algoritam za uklanjanje pretjeranog glodanja po zraku iznad ravnog džepnog vrha. Use adaptive algorithm to eliminate excessive air milling below planar pocket bottom. - Use adaptive algorithm to eliminate excessive air milling below planar pocket bottom. + Upotrijebite prilagodljivi algoritam za uklanjanje pretjeranog glodanja po zraku ispod ravnog džepnog dna. Process the model and stock in an operation with no Base Geometry selected. - Process the model and stock in an operation with no Base Geometry selected. + Obradite model i materijal obrade u operaciji bez odabrane osnovne geometrije. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) - The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) + Smjer kojim staza obrade treba obilaziti dio (u smjeru kazaljke) CW ili (suprotno smjeru kazaljke) CCW Extra offset to apply to the operation. Direction is operation dependent. - Extra offset to apply to the operation. Direction is operation dependent. + Dodatni pomak koji se primjenjuje na operaciju. Smjer ovisi o operaciji. Start pocketing at center or boundary - Start pocketing at center or boundary + Započnite utor na sredini ili rubu Angle of the zigzag pattern - Angle of the zigzag pattern + Kut cik-cak uzorka @@ -5510,351 +5504,372 @@ For example: Use 3D Sorting of Path - Use 3D Sorting of Path + Koristite 3D sortiranje puta Attempts to avoid unnecessary retractions. - Attempts to avoid unnecessary retractions. + Pokušaji izbjegavanja nepotrebnih povlačenja alata. - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe - X offset between tool and probe + X pomak između alata i sonde Y offset between tool and probe - Y offset between tool and probe + Y pomak između alata i sonde Number of points to probe in X direction - Number of points to probe in X direction + Broj točaka sondiranja za ispitivanje u smjeru X Number of points to probe in Y direction - Number of points to probe in Y direction + Broj točaka sondiranja za ispitivanje u smjeru Y The output location for the probe data to be written - The output location for the probe data to be written + Izlazno mjesto ispisa za podatke sonde Controls how tool moves around corners. Default=Round - Controls how tool moves around corners. Default=Round + Kontrolira kako se alat kreće po uglovima. Zadano=kružno Maximum distance before a miter join is truncated - Maximum distance before a miter join is truncated + Maksimalna udaljenost prije nego što se spoj s obližnjim uglovima odsječe Profile holes as well as the outline - Profile holes as well as the outline + Rupe u profilu, kao i obrisi vanjske linije Profile the outline - Profile the outline + Profil vanjske konture Profile round holes - Profile round holes + Profil okrugle rupe Side of edge that tool should cut - Side of edge that tool should cut + Strana ruba koju alat treba glodati Make True, if using Cutter Radius Compensation - Make True, if using Cutter Radius Compensation + Postavi na istinito, ako koristite kompenzaciju polumjera glodala - + Show the temporary path construction objects when module is in DEBUG mode. - Show the temporary path construction objects when module is in DEBUG mode. + Prikažite privremene objekte za izgradnju staza kada je modul u stanju DEBUG moda. Enter custom start point for slot path. - Enter custom start point for slot path. + Unesite prilagođenu početnu točku za stazu utora. Enter custom end point for slot path. - Enter custom end point for slot path. + Unesite prilagođenu krajnju točku za stazu utora. - + Set the geometric clearing pattern to use for the operation. - Set the geometric clearing pattern to use for the operation. + Postavite geometrijski uzorak čišćenja koji će se koristiti za operaciju. Positive extends the beginning of the path, negative shortens. - Positive extends the beginning of the path, negative shortens. + Pozitivno produžuje početak staze, negativno skraćuje. Positive extends the end of the path, negative shortens. - Positive extends the end of the path, negative shortens. + Pozitivno produžuje završetak staze, negativno skraćuje. - + Complete the operation in a single pass at depth, or multiple passes to final depth. - Complete the operation in a single pass at depth, or multiple passes to final depth. + Dovršite operaciju u jednom prolazu na dubini ili višestrukim prolazima do krajnje dubine. Choose the path orientation with regard to the feature(s) selected. - Choose the path orientation with regard to the feature(s) selected. + Odaberite orijentaciju staze obrade s obzirom na odabrane značajke. Choose what point to use on the first selected feature. - Choose what point to use on the first selected feature. + Odaberite točku koju ćete koristiti na prvoj odabranoj značajci. + + Choose what point to use on the second selected feature. - Choose what point to use on the second selected feature. + Odaberite točku koja će se koristiti za drugu odabranu značajku. For arcs/circlular edges, offset the radius for the path. - For arcs/circlular edges, offset the radius for the path. + Za lukove / kružne rubove pomaknite polumjer staze obrade. + + Enable to reverse the cut direction of the slot path. - Enable to reverse the cut direction of the slot path. + Omogućite okretanje smjera glodanja staze utora. - + The custom start point for the path of this operation - The custom start point for the path of this operation + Prilagođena početna točka za stazu ove operacije Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. + Manje vrijednosti daju finiju i precizniju mrežu. Manje vrijednosti uvelike povećavaju vrijeme obrade. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. + Manje vrijednosti daju finiju i precizniju mrežu. Manje vrijednosti ne povećavaju vrijeme obrade bitno. Stop index(angle) for rotational scan - Stop index(angle) for rotational scan + Zaustavni indeks (kut) za rotacijsko skeniranje Dropcutter lines are created parallel to this axis. - Dropcutter lines are created parallel to this axis. + Linije spuštajućeg (drop-cutter) glodala stvaraju se paralelno s ovom osi. Additional offset to the selected bounding box - Additional offset to the selected bounding box + Dodatni pomak za odabrani granični okvir The model will be rotated around this axis. - The model will be rotated around this axis. + Model će se vrtiti oko ove osi. Start index(angle) for rotational scan - Start index(angle) for rotational scan + Početni indeks (kut) za rotacijsko skeniranje Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. + Ravan: U ravnini, 3D skeniranje površine. Rotacijsko: rotacijsko skeniranje oko 4-te osi. Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. - Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. + Izbjegavajte rezanje zadnjih 'N' lica na popisu Osnovna geometrija odabranih površina. Do not cut internal features on avoided faces. - Do not cut internal features on avoided faces. + Ne skraćujte unutarnja svojstva površina koje se izbjegavaju Positive values push the cutter toward, or beyond, the boundary. Negative values retract the cutter away from the boundary. - Positive values push the cutter toward, or beyond, the boundary. Negative values retract the cutter away from the boundary. + Pozitivne vrijednosti guraju rezač prema ili preko granice. Negativne vrijednosti povlače rezač od granice. If true, the cutter will remain inside the boundaries of the model or selected face(s). - If true, the cutter will remain inside the boundaries of the model or selected face(s). + Ako je istinito, rezač ostaje unutar granica modela ili odabrane površine(a). Positive values push the cutter toward, or into, the feature. Negative values retract the cutter away from the feature. - Positive values push the cutter toward, or into, the feature. Negative values retract the cutter away from the feature. + Pozitivni pomaci guraju rezač prema ili u značajku. Negativni pomaci povlače rezač od značajke. Cut internal feature areas within a larger selected face. - Cut internal feature areas within a larger selected face. + Glodanje unutarnjih područja značajke unutar veće odabrane površine. Select the overall boundary for the operation. - Select the overall boundary for the operation. + Odaberite cjelokupnu granicu za operaciju. Set the direction for the cutting tool to engage the material: Climb (ClockWise) or Conventional (CounterClockWise) - Set the direction for the cutting tool to engage the material: Climb (ClockWise) or Conventional (CounterClockWise) + Postavite smjer alata glodanja koji zahvaća materijal: Penjanje (U smjeru kazaljke na satu) ili Konvencionalno (Suprotno smjeru kazaljke na satu) The yaw angle used for certain clearing patterns - The yaw angle used for certain clearing patterns + Kut otklona koji se koristi za određene uzorke čišćenja (ulanjanja) Reverse the cut order of the stepover paths. For circular cut patterns, begin at the outside and work toward the center. - Reverse the cut order of the stepover paths. For circular cut patterns, begin at the outside and work toward the center. + Obrnite redoslijed glodanja preklapajućih staza. Za kružne uzorke glodanja , započnite s vanjske strane i radite prema sredini. Set the Z-axis depth offset from the target surface. - Set the Z-axis depth offset from the target surface. + Postavite dubinu pomaka Z-osi od ciljne površine. Set the start point for the cut pattern. - Set the start point for the cut pattern. + Postavite početnu točku glodanja uzorka. Choose location of the center point for starting the cut pattern. - Choose location of the center point for starting the cut pattern. + Odaberite mjesto središnje točke za početak glodanja uzorka. Profile the edges of the selection. - Profile the edges of the selection. + Profilirajte rubove odabira Set the sampling resolution. Smaller values quickly increase processing time. - Set the sampling resolution. Smaller values quickly increase processing time. + Postavite rezoluciju uzorkovanja. Manje vrijednosti brzo povećavaju vrijeme obrade. Set the stepover percentage, based on the tool's diameter. - Set the stepover percentage, based on the tool's diameter. + Postavite postotak preklapanja na temelju promjera alata. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. - Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. + Omogućiti optimizaciju linearnih staza (kolinearnih točaka). Uklanja nepotrebne kolinearne točke iz izvoza G-koda. Enable separate optimization of transitions between, and breaks within, each step over path. - Enable separate optimization of transitions between, and breaks within, each step over path. + Omogućite zasebnu optimizaciju prijelaza između i unutar svakog preklapanja staze. Convert co-planar arcs to G2/G3 G-code commands for `Circular` and `CircularZigZag` cut patterns. - Convert co-planar arcs to G2/G3 G-code commands for `Circular` and `CircularZigZag` cut patterns. + Pretvorite koplanarne lukove u G2 / G3 G-code naredbe za uzorke rezanja `Kružno` i` Kružno CikCak`. Collinear and co-radial artifact gaps that are smaller than this threshold are closed in the path. - Collinear and co-radial artifact gaps that are smaller than this threshold are closed in the path. + Kolinearni i ko-radijalni artefakti koji su manji od ovog praga su zatvoreni u stazu. Feedback: three smallest gaps identified in the path geometry. - Feedback: three smallest gaps identified in the path geometry. + Povratne informacije: tri najmanja razmaka identificirana u geometriji staze. Set thread orientation - Set thread orientation + Postavite orijentaciju navoja Currently only internal - Currently only internal + Trenutno samo unutrašnji navoj Defines which standard thread was chosen - Defines which standard thread was chosen + Definira koji je standardni navoj odabran Set thread's major diameter - Set thread's major diameter + Postavite vanjski promjer navoja Set thread's minor diameter - Set thread's minor diameter + Postavite promjer jezgre navoja Set thread's pitch - used for metric threads - Set thread's pitch - used for metric threads + Postavite korak navoja - koristi se za metričke navoje Set thread's TPI (turns per inch) - used for imperial threads - Set thread's TPI (turns per inch) - used for imperial threads + Postavi visinu navoja TPI (okretaja po inču) - koristi se za inč navoje @@ -5864,119 +5879,120 @@ For example: Set how many passes are used to cut the thread - Set how many passes are used to cut the thread + Postavite koliko prolaza se koristi za rezanje navoja Direction of thread cutting operation - Direction of thread cutting operation + Smjer operacije rezanja navoja Set to True to get lead in and lead out arcs at the start and end of the thread cut - Set to True to get lead in and lead out arcs at the start and end of the thread cut + Postavite na Istina da biste dobili uvodne i izvodne lukove na početku i na kraju reza navoja Operation to clear the inside of the thread - Operation to clear the inside of the thread + Operacija za čišćenje unutrašnje strane navoja The deflection value for discretizing arcs - The deflection value for discretizing arcs + Vrijednost otklona za diskretiziranje lukova Cutoff for removing colinear segments (degrees). default=10.0. - Cutoff for removing colinear segments (degrees). - default=10.0. + Gornja granica za uklanjanje kolinearnih segmenata (u stupnjevima). + zadana vrijednost = 10,0. Vcarve Tolerance - Vcarve Tolerance + Vcarve tolerancija Smaller values yield a finer, more accurate the mesh. Smaller values increase processing time a lot. - Smaller values yield a finer, more accurate the mesh. Smaller values increase processing time a lot. + Manje vrijednosti daju finiju i precizniju mrežu. Manje vrijednosti uvelike povećavaju vrijeme obrade. + Smaller values yield a finer, more accurate the mesh. Smaller values do not increase processing time much. - Smaller values yield a finer, more accurate the mesh. Smaller values do not increase processing time much. + Manje vrijednosti daju finiju i precizniju mrežu. Manje vrijednosti ne povećavaju puno vrijeme obrade. Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). - Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). + Odaberite algoritam koji ćete koristiti: OCL Dropcutter * (Upuštajuće glodalo) ili eksperimentalni (ne temelji se na OCL). Set to clear last layer in a `Multi-pass` operation. - Set to clear last layer in a `Multi-pass` operation. + Postavite za brisanje posljednjeg sloja u operaciji `Višestruki-prolaz`. Ignore outer waterlines above this height. - Ignore outer waterlines above this height. + Ignorirajte vanjske vodne linije iznad ove visine. The path(s) to array - The path(s) to array + Put(evi) do matrice Pattern method - Pattern method + Metoda Uzorka The spacing between the array copies in Linear pattern - The spacing between the array copies in Linear pattern + Razmak između kopija matrice u linearnom uzorku The number of copies in X direction in Linear pattern - The number of copies in X direction in Linear pattern + Broj kopija u smjeru X u pravocrtnom uzorku The number of copies in Y direction in Linear pattern - The number of copies in Y direction in Linear pattern + Broj kopija u smjeru Y u pravocrtnom uzorku Total angle in Polar pattern - Total angle in Polar pattern + Ukupni kut u polarnom uzorku The number of copies in Linear 1D and Polar pattern - The number of copies in Linear 1D and Polar pattern + Broj kopija u linearnom 1D i polarnom uzorku The centre of rotation in Polar pattern - The centre of rotation in Polar pattern + Središte rotacije u polarnom uzorku Make copies in X direction before Y in Linear 2D pattern - Make copies in X direction before Y in Linear 2D pattern + Napravite kopije u smjeru X prije Y u linearnom 2D uzorku Percent of copies to randomly offset - Percent of copies to randomly offset + Postotak kopija za slučajno odstupanje Maximum random offset of copies - Maximum random offset of copies + Maksimalni slučajni pomak kopija @@ -5987,47 +6003,48 @@ For example: Comment or note for CNC program - Comment or note for CNC program + Komentar ili napomena za CNC program The path to be copied - The path to be copied + +Staza koju treba kopirati The object to be reached by this hop - The object to be reached by this hop + Objekt do kojeg treba doći ovim skokom The Z height of the hop - The Z height of the hop + Z visina ovog skoka Add Optional or Mandatory Stop to the program - Add Optional or Mandatory Stop to the program + U program dodajte neobavezno ili obavezno zaustavljanje Shape for bit shape - Shape for bit shape + Oblik za oblik nastavka alata (bit) The parametrized body representing the tool bit - The parametrized body representing the tool bit + Parametarsko tijelo predstavlja nastavak alata (bit) The file of the tool - The file of the tool + Datoteka alata The name of the shape file - The name of the shape file + Ime datoteke oblika alata @@ -6038,42 +6055,42 @@ For example: The active tool - The active tool + Aktivni Alat The speed of the cutting spindle in RPM - The speed of the cutting spindle in RPM + Brzina okretanja vretena glodala u o/min Direction of spindle rotation - Direction of spindle rotation + Smjer rotacije vretena glodala Feed rate for vertical moves in Z - Feed rate for vertical moves in Z + Brzina pomicanja za okomito kretanje u Z smjeru Feed rate for horizontal moves - Feed rate for horizontal moves + Brzina pomaka za horizontalne pokrete Rapid rate for vertical moves in Z - Rapid rate for vertical moves in Z + Pomak brzog hoda za okomito Z kretanje Rapid rate for horizontal moves - Rapid rate for horizontal moves + Pomak brzog hoda za vodoravno kretanje The tool used by this controller - The tool used by this controller + Alat koji koristi ovaj kontroler @@ -6099,12 +6116,12 @@ For example: Boundary - Boundary + Granica Creates a Path Boundary Dress-up from a selected path - Creates a Path Boundary Dress-up from a selected path + Stvara granice staze pripreme iz odabrane staze @@ -6142,7 +6159,7 @@ For example: Creates a Tag Dress-up object from a selected path - Creates a Tag Dress-up object from a selected path + Stvara objekt pripreme glodanja iz odabrane staze @@ -6160,32 +6177,30 @@ For example: Remap one axis to another. - Remap one axis to another. + Postavite jednu os na drugu. Path_Dressup - + Please select one path object - Please select one path object - + Odaberite samo jedan objekt staze - + The selected object is not a path - The selected object is not a path - + Odabrani objekt nije putanja staze - + Please select a Path object - Please select a Path object + Odaberite objekt staze @@ -6193,12 +6208,12 @@ For example: Unsupported stock object %s - Unsupported stock object %s + Nije podržan objekt materijala obrade %s Unsupported stock type %s (%d) - Unsupported stock type %s (%d) + Nije podržan tip materijala obrade %s (%d) @@ -6253,7 +6268,7 @@ For example: Please select a Path object - Please select a Path object + Odaberite objekt staze @@ -6261,7 +6276,7 @@ For example: Dressups - Dressups + Pripreme @@ -6340,8 +6355,8 @@ For example: Select Probe Point File - + All Files (*.*) Sve datoteke (*.*) @@ -6358,7 +6373,7 @@ For example: Create a Probing Grid from a job stock - Create a Probing Grid from a job stock + Napravite ispitnu mrežu (sondiranje) za imaterijal obrade. @@ -6371,7 +6386,7 @@ For example: Use Probe Map to correct Z depth - Use Probe Map to correct Z depth + Koristite kartu sonde za ispravljanje Z dubine @@ -6379,7 +6394,7 @@ For example: Fixture - Fixture + Učvršćenje @@ -6400,12 +6415,12 @@ For example: 2.5D - 2.5D + 2.5D Lathe - Lathe + Tokarski stroj @@ -6420,12 +6435,12 @@ For example: Stock not a cylinder! - Stock not a cylinder! + Materijal obrade nije cilindar! Select Output File - Select Output File + Odaberite datoteku Izvoza @@ -6435,12 +6450,12 @@ For example: Unsupported stock object %s - Unsupported stock object %s + Nije podržan objekt materijala obrade %s Unsupported stock type %s (%d) - Unsupported stock type %s (%d) + Nije podržan tip materijala obrade %s (%d) @@ -6505,7 +6520,7 @@ For example: Box: %.2f x %.2f x %.2f - Box: %.2f x %.2f x %.2f + Kvadar: %.2f x %.2f x %.2f @@ -6528,7 +6543,7 @@ For example: Unsupported PathStock template version {} - Unsupported PathStock template version {} + Nije podržana inačica predloška PathStock (staza obrade materijala) {} @@ -6536,12 +6551,12 @@ For example: Camotics - Camotics + Camotics Simulate using Camotics - Simulate using Camotics + Simuliraj sa Camotics @@ -6549,12 +6564,12 @@ For example: Fixture - Fixture + Učvršćenje Creates a Fixture Offset - Creates a Fixture Offset + Stvara pomak učvršćenja @@ -6563,24 +6578,23 @@ For example: <b>Note</b>: This dialog shows Path Commands in FreeCAD base units (mm/s). Values will be converted to the desired unit during post processing. - <b>Note</b>: This dialog shows Path Commands in FreeCAD base units (mm/s). - Values will be converted to the desired unit during post processing. + <b>Napomena<b>: Ovaj dijalog prikazuje Naredbe staze u osnovnim jedinicama FreeCAD-a (mm/s). Vrijednosti će se pretvoriti u željenu jedinicu tijekom obrade. Inspect Path Commands - Inspect Path Commands + Inspekcija Naredbi Staze Inspects the contents of a Path object - Inspects the contents of a Path object + Ispituje sadržaj objekta staze Please select exactly one path object - Please select exactly one path object + Odaberite samo jedan objekt staze @@ -6593,7 +6607,7 @@ For example: Exports Path Job as a template to be used for other jobs - Exports Path Job as a template to be used for other jobs + Izvezi zadatak staze kao predložak koji se može koristi za druge zadatke @@ -6610,7 +6624,7 @@ For example: Check the path job for common errors - Check the path job for common errors + Provjerite ima li u stazi putanje uobičajenih pogrešaka @@ -6620,17 +6634,17 @@ For example: Job Sequence - Job Sequence + Redoslijed posla Job Description - Job Description + Opis posla Job Type - Job Type + Vrsta posla @@ -6681,12 +6695,12 @@ For example: TOTAL JOB - TOTAL JOB + CIJELI POSAO Tool Number - Tool Number + Alatni broj @@ -6701,7 +6715,7 @@ For example: Part Number - Part Number + Broj Djela @@ -6711,7 +6725,7 @@ For example: Inspection Notes - Inspection Notes + Inspekcijske zabilješke @@ -6761,7 +6775,7 @@ For example: Work Offsets - Work Offsets + Radni Pomaci (Offsets) @@ -6771,7 +6785,7 @@ For example: Part Datum - Part Datum + Datum Komponente @@ -6781,12 +6795,12 @@ For example: Last Post Process Date - Last Post Process Date + Datum zadnjeg post procesa Stops - Stops + Stajališta @@ -6806,17 +6820,17 @@ For example: Post Processor Flags - Post Processor Flags + Post Processor Flags File Size (kB) - File Size (kB) + Veličina Datoteke (kB) Line Count - Line Count + Broj linija @@ -6831,7 +6845,7 @@ For example: Date - Date + Datum @@ -6839,12 +6853,12 @@ For example: CAM Simulator - CAM Simulator + CAM Simulator Simulate G-code on stock - Simulate G-code on stock + Simulira stazu G-Code na osnovi @@ -6857,17 +6871,17 @@ For example: Inside - Inside + Unutarnje Clearing - Clearing + Uklanjam Profiling - Profiling + Profiliram @@ -6877,7 +6891,7 @@ For example: Adaptive clearing and profiling - Adaptive clearing and profiling + Adaptivno uklanjanje i profiliranje @@ -6885,12 +6899,17 @@ For example: job %s has no Base. - job %s has no Base. + zadatak %s je bez baze. no job for operation %s found. - no job for operation %s found. + nema zadatka za operaciju %s. + + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... @@ -6903,12 +6922,12 @@ For example: Flood - Flood + Poplaviti Mist - Mist + Magla @@ -6917,8 +6936,7 @@ For example: The selected tool has no CuttingEdgeAngle property. Assuming Endmill - The selected tool has no CuttingEdgeAngle property. Assuming Endmill - + Odabrani alat nema osobinu Kut Rezanja Ruba. Pretpostavlja se čelni rezač @@ -6928,7 +6946,7 @@ For example: Miter - Miter + Kosina @@ -6936,12 +6954,12 @@ For example: G98 - G98 + G98 G99 - G99 + G99 @@ -6966,7 +6984,7 @@ For example: Creates a Path Drilling object from the features of a base object - Creates a Path Drilling object from the features of a base object + Stvara objekt Staza Bušenja od svojstva osnovnog objekta @@ -6989,22 +7007,22 @@ For example: Creates a Path Helix from the features of a base object - Creates a Path Helix from the features of a base object + Stvara objekt Staza Helix od svojstva osnovnog objekta PathProfile - + Outside Vanjsko - + Inside - Inside + Unutarnje @@ -7019,12 +7037,12 @@ For example: Collectively - Collectively + Zajedno Individually - Individually + Pojedinačno @@ -7039,22 +7057,22 @@ For example: Miter - Miter + Kosina The selected edge(s) are inaccessible. If multiple, re-ordering selection might work. - The selected edge(s) are inaccessible. If multiple, re-ordering selection might work. + Odabrani rubovi su nedostupni. Kod višestrukog odabira, ponovno redanje odabira moglo bi funkcionirati. Unable to create path for face(s). - Unable to create path for face(s). + Nije moguće stvoriti stazu za površinu(e). Check edge selection and Final Depth requirements for profiling open edge(s). - Check edge selection and Final Depth requirements for profiling open edge(s). + Provjerite odabir ruba i zahtjeve za konačnu dubinu za profiliranje otvorenih rubova. @@ -7067,12 +7085,12 @@ For example: Face Region - Face Region + Područje površine Perimeter - Perimeter + Opseg @@ -7082,12 +7100,12 @@ For example: Collectively - Collectively + Zajedno Individually - Individually + Pojedinačno @@ -7122,7 +7140,7 @@ For example: ZigZagOffset - ZigZagOffset + CikCak Pomak @@ -7138,9 +7156,9 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. - Final depth set below ZMin of face(s) selected. + Konačna dubina postavljena ispod Z Min. odabranih površina. @@ -7158,12 +7176,12 @@ For example: Y - + Pass Extension - Pass Extension + Proširenje prolaza - + The distance the facing operation will extend beyond the boundary shape. Razdaljina operacije glodanja proširit će se preko granice oblika. @@ -7220,7 +7238,7 @@ For example: Center of Bounding Box - Center of Bounding Box + Središte graničnog okvira @@ -7253,110 +7271,114 @@ For example: No Base Geometry object in the operation. - No Base Geometry object in the operation. + U operaciji nema objekta Osnovne geometrije. Custom points are identical. - Custom points are identical. + Prilagođene točke su identične. Custom points not at same Z height. - Custom points not at same Z height. + Prilagođene točke nisu u istoj Z visini. Current Extend Radius value produces negative arc radius. - Current Extend Radius value produces negative arc radius. + Trenutna vrijednost Produženog polumjera proizvodi negativan polumjer. No path extensions available for full circles. - No path extensions available for full circles. + Nisu dostupna proširenja staze za pune krugove. operation collides with model. - operation collides with model. + operacija se sudara s modelom. Verify slot path start and end points. - Verify slot path start and end points. + Provjeri početne i krajnje točke utora. The selected face is inaccessible. - The selected face is inaccessible. + Odabrana površina je nedostupna. Only a vertex selected. Add another feature to the Base Geometry. - Only a vertex selected. Add another feature to the Base Geometry. + Odabran je samo vrh. Dodajte još jednu značajku u osnovnu geometriju. A single selected face must have four edges minimum. - A single selected face must have four edges minimum. + Jedna jedina odabrana površina mora imati najmanje četiri ruba. No parallel edges identified. - No parallel edges identified. + Nisu identificirani paralelni rubovi. + + value error. - value error. + greška vrijednosti. Current tool larger than arc diameter. - Current tool larger than arc diameter. + Trenutni alat veći od promjera luka. Failed, slot from edge only accepts lines, arcs and circles. - Failed, slot from edge only accepts lines, arcs and circles. + Neuspjelo, utor od ruba prihvaća samo linije, lukove i krugove. Failed to determine point 1 from - Failed to determine point 1 from + Nije uspjelo utvrditi točku 1 iz Failed to determine point 2 from - Failed to determine point 2 from + Nije uspjelo utvrditi točku 2 iz Selected geometry not parallel. - Selected geometry not parallel. + Odabrana geometrija nije paralelna. + + The selected face is not oriented vertically: - The selected face is not oriented vertically: + Odabrana površina nije vodoravno orijentirana: Current offset value produces negative radius. - Current offset value produces negative radius. + Trenutna vrijednost pomaka proizvodi negativan polumjer. Slot - Slot + Utor Create a Slot operation from selected geometry or custom points. - Create a Slot operation from selected geometry or custom points. + Stvorite Utor operaciju od odabrane geometrije ili prilagođenih točaka. @@ -7364,82 +7386,90 @@ For example: This operation requires OpenCamLib to be installed. - This operation requires OpenCamLib to be installed. + Ova operacija zahtijeva instaliranje OpenCamLib-a. The GeometryTolerance for this Job is 0.0. - The GeometryTolerance for this Job is 0.0. + Tolerancija geometrije za ovaj posao je 0,0. Initializing LinearDeflection to 0.001 mm. - Initializing LinearDeflection to 0.001 mm. + Inicijalizacija linearnog odstupanja na 0,001 mm. No JOB - No JOB + Bez POSLA Canceling 3D Surface operation. Error creating OCL cutter. - Canceling 3D Surface operation. Error creating OCL cutter. + 3D Površina Prekid rada. Pogreška pri stvaranju OCL glodača. + + operation time is - operation time is + vrijeme rada je Canceled 3D Surface operation. - Canceled 3D Surface operation. + Operacije 3D površine prekinute. No profile geometry shape returned. - No profile geometry shape returned. + Niti jedan oblik geometrije profila nije vraćen. No profile path geometry returned. - No profile path geometry returned. + Niti jedna staza geometrije profila nije vraćena. No clearing shape returned. - No clearing shape returned. + Nije vraćen oblik čišćenja. No clearing path geometry returned. - No clearing path geometry returned. + Nije vraćena nijedna geometrija uklanjanja staze. No scan data to convert to G-code. - No scan data to convert to G-code. + Nema podataka skeniranja za pretvaranje u G-code. Failed to identify tool for operation. - Failed to identify tool for operation. + Nije uspjelo prepoznavanje alata za rad. Failed to map selected tool to an OCL tool type. - Failed to map selected tool to an OCL tool type. + Mapiranje odabranog alata u tip OCL alata nije uspjelo. + + Failed to translate active tool to OCL tool type. - Failed to translate active tool to OCL tool type. + Prevođenje aktivnog alata u OCL vrstu alata nije uspjelo. + + OCL tool not available. Cannot determine is cutter has tilt available. - OCL tool not available. Cannot determine is cutter has tilt available. + OCL alat nije dostupan. Ne može se utvrditi ima li glodač dostupan nagib. + + @@ -7457,17 +7487,17 @@ For example: CenterOfMass - CenterOfMass + Težište CenterOfBoundBox - CenterOfBoundBox + Centar graničnog okvira XminYmin - XminYmin + XminYmin @@ -7492,7 +7522,7 @@ For example: CircularZigZag - CircularZigZag + Kružno CikCak @@ -7529,12 +7559,12 @@ For example: Collectively - Collectively + Zajedno Individually - Individually + Pojedinačno @@ -7554,7 +7584,7 @@ For example: Only - Only + Samo @@ -7564,7 +7594,7 @@ For example: Last - Last + Zadnje @@ -7574,17 +7604,17 @@ For example: Rotational - Rotational + Rotacijski 3D Surface - 3D Surface + 3D Površina Create a 3D Surface Operation from a model - Create a 3D Surface Operation from a model + Napravite operaciju staze glodanja 3D površine iz modela @@ -7592,42 +7622,44 @@ For example: Shape appears to not be horizontal planar. - Shape appears to not be horizontal planar. + Čini se da oblik nije vodoravno ravninski. Cannot calculate the Center Of Mass. - Cannot calculate the Center Of Mass. + Nije moguće izračunati središte mase. Using Center of Boundbox instead. - Using Center of Boundbox instead. + Umjesto toga upotrijebite centar graničnog okvira. Face selection is unavailable for Rotational scans. - Face selection is unavailable for Rotational scans. + Odabir površine nije dostupan za rotacijsko skeniranje. Ignoring selected faces. - Ignoring selected faces. + Zanemarene odabrane površine. Failed to pre-process base as a whole. - Failed to pre-process base as a whole. + Nije uspjela pred- obrada baze u cjelini. Failed to identify a horizontal cross-section for Face - Failed to identify a horizontal cross-section for Face + Nije moguće prepoznati vodoravni presjek za Površinu + + Diameter dimension missing from ToolBit shape. - Diameter dimension missing from ToolBit shape. + Nedostaje dimenzija promjera alatnog nastavka @@ -7635,47 +7667,47 @@ For example: Custom External - Custom External + Prilagođeno eksterno Custom Internal - Custom Internal + Prilagođeno interno Imperial External (2A) - Imperial External (2A) + Imperial External (2A) Imperial External (3A) - Imperial External (3A) + Imperial External (3A) Imperial Internal (2B) - Imperial Internal (2B) + Imperial Internal (2B) Imperial Internal (3B) - Imperial Internal (3B) + Imperial Internal (3B) Metric External (4G6G) - Metric External (4G6G) + Metric External (4G6G) Metric External (6G) - Metric External (6G) + Metric External (6G) Metric Internal (6H) - Metric Internal (6H) + Metric Internal (6H) @@ -7700,12 +7732,12 @@ For example: Thread Milling - Thread Milling + Rezanje navoja Creates a Path Thread Milling operation from features of a base object - Creates a Path Thread Milling operation from features of a base object + Stvara objekt operacije Staza Rezanja Navoja od svojstva osnovnog objekta @@ -7713,22 +7745,22 @@ For example: VCarve requires an engraving cutter with a cutting edge angle - VCarve requires an engraving cutter with a cutting edge angle + V-izrez zahtijeva rezač za graviranje s reznim uglom. Engraver cutting edge angle must be < 180 degrees. - Engraver cutting edge angle must be < 180 degrees. + Rezni kut ruba graviranja mora biti < 180 stupnjeva. Vcarve - Vcarve + V-izrez Creates a medial line engraving path - Creates a medial line engraving path + Stvara stazu gravure po medijalnoj crti @@ -7736,7 +7768,7 @@ For example: The Job Base Object has no engraveable element. Engraving operation will produce no output. - The Job Base Object has no engraveable element. Engraving operation will produce no output. + Objekt baze poslova nema element za graviranje. Operacija graviranja neće proizvesti nikakve rezultate. @@ -7744,7 +7776,7 @@ For example: This operation requires OpenCamLib to be installed. - This operation requires OpenCamLib to be installed. + Ova operacija zahtijeva instaliranje OpenCamLib-a. @@ -7754,7 +7786,7 @@ For example: Experimental - Experimental + Eksperimentalno @@ -7769,17 +7801,17 @@ For example: CenterOfMass - CenterOfMass + Težište CenterOfBoundBox - CenterOfBoundBox + Centar graničnog okvira XminYmin - XminYmin + XminYmin @@ -7789,7 +7821,7 @@ For example: Off - Off + Isključen @@ -7801,7 +7833,7 @@ For example: CircularZigZag - CircularZigZag + Kružno CikCak @@ -7845,12 +7877,12 @@ For example: Collectively - Collectively + Zajedno Individually - Individually + Pojedinačno @@ -7878,53 +7910,53 @@ For example: The GeometryTolerance for this Job is 0.0. - The GeometryTolerance for this Job is 0.0. + Tolerancija geometrije za ovaj posao je 0,0. Initializing LinearDeflection to 0.0001 mm. - Initializing LinearDeflection to 0.0001 mm. + Inicijalizacija linearnog odstupanja na 0,0001 mm. Sample interval limits are 0.0001 to 25.4 millimeters. - Sample interval limits are 0.0001 to 25.4 millimeters. + Ograničenja uzorkovanja intervala su od 0,0001 do 25,4 milimetara. Cut pattern angle limits are +-360 degrees. - Cut pattern angle limits are +-360 degrees. + Ograničenja kuta rezanja uzorka su +/-360 stupnjeva. Cut pattern angle limits are +- 360 degrees. - Cut pattern angle limits are +- 360 degrees. + Ograničenja kuta rezanja uzorka su +/-360 stupnjeva. AvoidLastX_Faces: Only zero or positive values permitted. - AvoidLastX_Faces: Only zero or positive values permitted. + IzbjegavaZadnjaX_Lica: Dopuštene su samo nula ili pozitivne vrijednosti. AvoidLastX_Faces: Avoid last X faces count limited to 100. - AvoidLastX_Faces: Avoid last X faces count limited to 100. + IzbjegavaZadnjaX_Lica: Izbjegava brojenja zadnjih X lica ograničeno na 100. No JOB - No JOB + Bez POSLA Canceling Waterline operation. Error creating OCL cutter. - Canceling Waterline operation. Error creating OCL cutter. + Otkazivanje operacije Vodne linije. Pogreška pri stvaranju OCL rezača. operation time is - operation time is + vrijeme rada je @@ -7933,7 +7965,7 @@ For example: Make False, to prevent operation from generating code - Make False, to prevent operation from generating code + Postavite na netočno, da bi spriječili generiranje koda @@ -7948,27 +7980,27 @@ For example: Vertexes are not supported - Vertexes are not supported + Vrhovi nisu podržani Edges are not supported - Edges are not supported + Rubovi nisu podržani Faces are not supported - Faces are not supported + Površine nisu podržane Multiple operations are labeled as - Multiple operations are labeled as + Višestruke operacije označene su kao Base Location - Base Location + Osnovna lokacija @@ -7979,8 +8011,8 @@ For example: FinalDepth cannot be modified for this operation. If it is necessary to set the FinalDepth manually please select a different operation. - FinalDepth cannot be modified for this operation. -If it is necessary to set the FinalDepth manually please select a different operation. + Krajnja Dubina se ne može mijenjati za ovu operaciju. +Ako je potrebno ručno postaviti Krajnju Dubinu (FinalDepth), molim odaberite drugu operaciju. @@ -7990,12 +8022,12 @@ If it is necessary to set the FinalDepth manually please select a different oper Diameters - Diameters + Promjeri AreaOp Operation - AreaOp Operation + AreaOp operacija @@ -8005,25 +8037,25 @@ If it is necessary to set the FinalDepth manually please select a different oper Uncreate AreaOp Operation - Uncreate AreaOp Operation + Poništi rad AreaOp operacije Pick Start Point - Pick Start Point + Odaberite početnu točku No suitable tool controller found. Aborting op creation - No suitable tool controller found. -Aborting op creation + Nijedno prikladno upravljačko sučelje alata nije pronađeno. +Prekidam OP-stvaranje. No tool controller, aborting op creation - No tool controller, aborting op creation + Nema upravljačkog sučelja alata. Prekidam OP-stvaranje. @@ -8031,12 +8063,12 @@ Aborting op creation No base objects for PathArray. - No base objects for PathArray. + Nema osnovnih objekata za Matricu Staze. Arrays of paths having different tool controllers are handled according to the tool controller of the first path. - Arrays of paths having different tool controllers are handled according to the tool controller of the first path. + Matrice staza koji imaju različite kontrolere alata obrađuju se prema kontroleru alata prve staze. @@ -8049,12 +8081,12 @@ Aborting op creation Creates an array from selected path(s) - Creates an array from selected path(s) + Stvara niz (matricu) iz odabrane staze(a) Arrays can be created only from Path operations. - Arrays can be created only from Path operations. + Matrice redanja se mogu stvoriti samo od operacija Staza. @@ -8067,7 +8099,7 @@ Aborting op creation Add a Comment to your CNC program - Add a Comment to your CNC program + Dodajte komentar u svoj CNC program @@ -8080,7 +8112,7 @@ Aborting op creation Creates a linked copy of another path - Creates a linked copy of another path + Stvara povezanu kopiju od druge staze @@ -8093,7 +8125,7 @@ Aborting op creation Create custom G-code snippet - Create custom G-code snippet + Izradite prilagođeni G-code isječak @@ -8101,12 +8133,12 @@ Aborting op creation Deburr - Deburr + Deburr (Glađenje) Creates a Deburr Path along Edges or around Faces - Creates a Deburr Path along Edges or around Faces + Stvara put glađenja duž rubova ili oko lica @@ -8114,12 +8146,12 @@ Aborting op creation Engrave - Engrave + Graviranje Creates an Engraving Path around a Draft ShapeString - Creates an Engraving Path around a Draft ShapeString + Stvara stazu graviranja oko nacrta oblika-tekstom @@ -8127,12 +8159,12 @@ Aborting op creation Hop - Hop + Prijelaz Creates a Path Hop object - Creates a Path Hop object + Stvori objekt prijelaza staze @@ -8155,7 +8187,7 @@ Aborting op creation Create a Facing Operation from a model or face - Create a Facing Operation from a model or face + Stvorite operaciju obrade površine iz modela ili površine @@ -8163,12 +8195,12 @@ Aborting op creation 3D Pocket - 3D Pocket + 3D Utor Creates a Path 3D Pocket from a face or faces - Creates a Path 3D Pocket from a face or faces + Stvara objekt staze 3D utora iz površine ili površina @@ -8176,12 +8208,12 @@ Aborting op creation Pocket Shape - Pocket Shape + Oblik Utora Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces + Stvara objekt staze utora iz površine ili površina @@ -8189,18 +8221,18 @@ Aborting op creation Simple Copy - Simple Copy + Jednostavno Kopiranje Creates a non-parametric copy of another path - Creates a non-parametric copy of another path + Stvara ne-parametriziranu kopiju od druge staze Please select exactly one path object - Please select exactly one path object + Odaberite samo jedan objekt staze @@ -8213,7 +8245,7 @@ Aborting op creation Add Optional or Mandatory Stop to the program - Add Optional or Mandatory Stop to the program + U program dodajte neobavezno ili obavezno zaustavljanje @@ -8226,7 +8258,9 @@ Aborting op creation Create a Waterline Operation from a model - Create a Waterline Operation from a model + Stvorite operaciju vodne linije iz modela + + @@ -8234,12 +8268,12 @@ Aborting op creation Post Process - Post Process + Naknadna obrada Post Process the selected Job - Post Process the selected Job + Naknadna obrada odabranog zadatka @@ -8252,7 +8286,7 @@ Aborting op creation No job object - No job object + Nema objekta zadatka @@ -8275,12 +8309,12 @@ Aborting op creation Add Tool Controller to the Job - Add Tool Controller to the Job + Kontroler alata dodajte Zadatku Add Tool Controller - Add Tool Controller + Dodajte Kontroler alata @@ -8288,7 +8322,7 @@ Aborting op creation Toolbit cannot be edited: Shapefile not found - Toolbit cannot be edited: Shapefile not found + Alatni nastavak ne može se urediti: Datoteka oblika nije pronađena @@ -8296,12 +8330,12 @@ Aborting op creation Create Tool - Create Tool + Napravi Alat Creates a new ToolBit object - Creates a new ToolBit object + Stvara novi objekt Alatnog nastavka @@ -8309,7 +8343,7 @@ Aborting op creation Save Tool as... - Save Tool as... + Spremi Alat kao... @@ -8317,12 +8351,12 @@ Aborting op creation Save Tool - Save Tool + Spremi Alat Save an existing ToolBit object to a file - Save an existing ToolBit object to a file + Spremi postojeći Alatni nastavak u datoteku @@ -8330,12 +8364,12 @@ Aborting op creation Load Tool - Load Tool + Učitaj Alat Load an existing ToolBit object from a file - Load an existing ToolBit object from a file + Učitaj postojeći Alatni nastavak iz datoteke @@ -8343,48 +8377,48 @@ Aborting op creation Toolbit working directory not set up. Do that now? - Toolbit working directory not set up. Do that now? + Radni direktorij alatnih nastavaka nije postavljen. Učinite to sada? Choose a writable location for your toolbits - Choose a writable location for your toolbits + Odaberite zapisivo mjesto za vaše Alatne nastavke Toolbit Working directory {} needs these sudirectories: {} Create them? - Toolbit Working directory {} needs these sudirectories: + Radni direktorij alatnih nastavaka {} treba poddirektorije: {} - Create them? + Stvori ih? Copy example files to new {} directory? - Copy example files to new {} directory? + Kopiraj primjerke datoteka u novi direktorij {}? Tooltable JSON (*.fctl) - Tooltable JSON (*.fctl) + Tabela Alata JSON (* .fctl) Save toolbit library - Save toolbit library + Spremi biblioteku nastavaka alata LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) + LinuxCNC Tabela alata (*.tbl) Camotics tooltable (*.json) - Camotics tooltable (*.json) + Camotics Tabela alata (*.json) @@ -8392,7 +8426,7 @@ Aborting op creation ToolBit Dock - ToolBit Dock + Alatni nastavak Dock @@ -8405,12 +8439,12 @@ Aborting op creation ToolBit Library editor - ToolBit Library editor + Uređivač Biblioteke alatnih nastavaka Open an editor to manage ToolBit libraries - Open an editor to manage ToolBit libraries + Otvorite uređivač za upravljanje bibliotekama Alatnih nastavaka @@ -8429,7 +8463,7 @@ Aborting op creation %s has no property %s (%s) - %s has no property %s (%s) + %s nema svojstva %s (%s) @@ -8447,12 +8481,12 @@ Aborting op creation Custom file %s could not be found. - Custom file %s could not be found. + Trenutna datoteka %s nije pronađena Invalid Gcode line: %s - Invalid Gcode line: %s + Nevažeća Gcode linija: %s diff --git a/src/Mod/Path/Gui/Resources/translations/Path_hu.ts b/src/Mod/Path/Gui/Resources/translations/Path_hu.ts index 1dfa9a587f..49dd86ac8d 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_hu.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_hu.ts @@ -545,31 +545,8 @@ Az alaptárgy kötött dobozából származó készlet minden irányban az extra Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Űrlap @@ -740,17 +717,17 @@ Az alaptárgy kötött dobozából származó készlet minden irányban az extra Törli az alapgeometriák listáját - + Add Hozzáad - - + + Remove Törlés @@ -805,8 +782,8 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti Alaphelyzetbe állítása - + All objects will be processed using the same operation properties. Az összes tárgy feldolgozása ugyanazzal a művelettulajdonságokkal történik. @@ -851,32 +828,32 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti Az összes hely feldolgozása ugyanazokkal a műveleti tulajdonságokkal történik. - + Start Depth Kezdeti mélység - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Kezdeti műveleti mélység. A művelet által feldolgozni szükséges Z-tengely legmagasabb pontja. - + Transfer the Z value of the selected feature as the Start Depth for the operation. A kiválasztott funkció Z értékének átvitele a művelet kezdő mélységeként. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. A művelet mélysége, amely megfelel a művelet által feldolgozni szükséges legalacsonyabb Z-tengely értéknek. - + Transfer the Z value of the selected feature as the Final Depth for the operation. A kiválasztott funkció Z értékének átvitele a művelet végső mélységeként. @@ -891,14 +868,14 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti A művelet végső vágásának mélysége. Használható tisztább felület előállítására. - + Final Depth Végső mélység - + Step Down Visszaléptetés @@ -938,34 +915,34 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti Hézagmagasság - + + + + - - - - + The tool and its settings to be used for this operation. A művelethez használandó szerszám és beállításai. + + + + + + + + + + - - - - - - - - - - Coolant Mode Hűtőközeg mód @@ -975,28 +952,28 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti G Kód - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Eszköz vezérlő - - + + Coolant Hűtőfolyadék @@ -1016,8 +993,8 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti Művelettípus - + Step Over Percent Egy lépéssel tovább százalékban @@ -1067,8 +1044,8 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti Profil befejezése - + Use Outline Kontúr használata @@ -1123,10 +1100,10 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti Megállít - + - + Direction Irány @@ -1136,15 +1113,15 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti A profil végrehajtásának iránya az óramutató járásával megegyező vagy az óramutató járásával ellentétes irányban. - + CW Órajárás iránya - + CCW Órajárással ellentétes irány @@ -1169,6 +1146,8 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti Gérvágás + + @@ -1178,8 +1157,6 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti - - mm mm @@ -1395,11 +1372,11 @@ A Visszaállítás törli az összes aktuális elemet a listából, és kitölti Minta + + - - The tool and its settings to be used for this operation @@ -1482,15 +1459,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Ha ezt a beállítást választja, a művelet a kijelölt alapgeometria körvonalát használja, és figyelmen kívül hagyja az összes furatot és szigetet + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Anyag hozzáadása + - Use Start Point Kezdőpont használata @@ -1746,9 +1733,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Útvonal kiterjesztés vége - + Layer Mode Réteg mód @@ -1788,8 +1775,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Szkennelési módszer - + Cut Pattern Vágott minta @@ -1804,14 +1791,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Kerülje az utolsó X felületet - + Bounding Box Határolókeret - + Select the overall boundary for the operation. Jelölje ki a művelet teljes határvonalát. @@ -1821,14 +1808,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Síkbeli: Lapos, 3D felület letapogatás. Forgatás: 4-tengelyes forgató letapogatás. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Fejezze be a műveletet egyetlen lépésben a mélységig, vagy több lépésben a végső mélységig. - + Set the geometric clearing pattern to use for the operation. Állítsa be a művelet geometriai forgácsoló élmintázatát. @@ -1853,14 +1840,14 @@ The latter can be used to face of the entire stock area to ensure uniform height A legördülő vonalak ezzel a tengelyekkel párhuzamosan jönnek létre. - + Set the Z-axis depth offset from the target surface. Állítsa be a Z tengely mély eltolását a célfelületről. - + Set the sampling resolution. Smaller values quickly increase processing time. Állítsa be a mintavételi sebesség felbontását. A kisebb értékek felgyorsítják a feldolgozási időt. @@ -1870,8 +1857,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Állítsa igazra, ha egy kiinduló pontot ad meg - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Megvalósítja az egyenes vonalú pályák (egy vonalba eső pontok) optimalizálását. Eltávolítja a felesleges egy vonalba eső pontokat a generált G-kódból. @@ -1906,14 +1893,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Mélységi eltolás - + Step over Átlép - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1922,14 +1909,14 @@ A step over of 100% results in no overlap between two different cycles. A 100%-os eltolás megakadályozza, hogy két különböző ciklus átfedje egymást. - + Sample interval Mintavételezés - + Optimize Linear Paths Egyenes útvonalak optimalizálása @@ -2075,8 +2062,8 @@ Default: 3 mm Tájolás - + Type Típus @@ -2106,8 +2093,8 @@ Default: 3 mm Menet per coll (inch) - + Operation Művelet @@ -3028,8 +3015,8 @@ Ha több azonos nevű eszköz vagy szerszámforma létezik különböző könyvt AxisMap kivitelezés - + Radius Sugár @@ -3444,8 +3431,8 @@ Ha több azonos nevű eszköz vagy szerszámforma létezik különböző könyvt TaskPathSimulator - + Path Simulator Folyamatszimulátor @@ -4335,10 +4322,9 @@ Például: Ne mutasd többet - + Edit - int = field(default=None) Szerkesztés @@ -4469,19 +4455,19 @@ Például: Órajárással ellentétes irány - + A planar adaptive start is unavailable. The non-planar will be attempted. A síkbeli adaptív rendszerindítás nem érhető el. Megkísérli a nem-síkbelit. - - + + The non-planar adaptive start is also unavailable. A nem síkbeli adaptív rendszerindítás szintén nem érhető el. - + %s is not a Base Model object of the job %s %s nem egy alap modell objektuma ennek a feladatnak: %s @@ -4501,8 +4487,8 @@ Például: Használja ki a teljes modellt, jelölje ki a felülete(ke)t vagy a kijelölt él(ek)et - + Choose a Path Job Tevékenység elérési útjának kijelölése @@ -4606,6 +4592,7 @@ Például: List of custom property groups + int = field(default=None) A felhasználó által definiált tárgycsoportok listája @@ -4668,12 +4655,12 @@ Például: + + - - The base path to modify A megváltoztatni kívánt alap pálya útvonal @@ -4967,9 +4954,9 @@ Például: A feladathoz szükséges összes vezérlőeszköz gyűjteménye + - Operations Cycle Time Estimation Műveleti ciklus időbecslése @@ -5054,8 +5041,8 @@ Például: Koordináta rendszer kiválasztása - + Make False, to prevent operation from generating code Állítsa hamisra annak megakadályozására, hogy a művelet, kódot generálhasson @@ -5075,8 +5062,8 @@ Például: Befolyásolja a pontosságot és a teljesítményt - + Percent of cutter diameter to step over on each pass Maró átmérő százaléka mellyel átlép minden elhaladáskor @@ -5252,10 +5239,10 @@ Például: Ennek a szerszámpályának az induló pontja - - - + + + Make True, if specifying a Start Point Állítsa igazra, ha egy kiinduló pontot ad meg @@ -5369,9 +5356,9 @@ Például: G99 visszahúzás alkalmazása: csak a művelet furatai között húzza vissza a visszahúzási magasság értéket - + Additional base objects to be engraved Kiegészítő alap tárgyakat kell bevésni @@ -5412,9 +5399,9 @@ Például: Kezdő sugár - + Extra value to stay away from final profile- good for roughing toolpath Extra érték ami távol tart a záró profiltól- jó a nagyoló szerszámmozgáshoz @@ -5434,9 +5421,9 @@ Például: Zárja ki a felemelt területek marását a felületen belül. - - + + Choose how to process multiple Base Geometry features. Válassza ki, hogyan kezeljen több alapgeometriai függvényt. @@ -5457,8 +5444,8 @@ Például: A modell és a primitív folyamat olyan műveletben, amely nem választja ki az alapgeometria beállítását. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) A szerszámmozgás az alkatrész körül leírt iránya az óramutató járásával megegyező (CW) vagy az óramutató járásával ellentétes irányú (CCW) @@ -5494,10 +5481,27 @@ Például: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Utolsó lépéssugár. Ha 0, 50% vágót használnak. Ennek finomhangolásával javítható bizonyos alakzatok átlépése + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5559,8 +5563,8 @@ Például: Állítsa igazra, ha sugár vágó kompenzációt alkalmaz - + Show the temporary path construction objects when module is in DEBUG mode. Az ideiglenes építőtárgyak megjelenítésének útvonala, ha a modul DEBUG módban van. @@ -5576,8 +5580,8 @@ Például: Adja meg a horony egyéni végpontját. - + Set the geometric clearing pattern to use for the operation. Állítsa be a művelet geometriai forgácsoló élmintázatát. @@ -5593,8 +5597,8 @@ Például: A pozitív kiterjeszti az elérési út végét, a negatív megrövidíti. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Fejezze be a műveletet egyetlen lépésben a mélységig, vagy több lépésben a végső mélységig. @@ -5625,8 +5629,8 @@ Például: Aktiválás a horony vágási irányának megfordításához. - + The custom start point for the path of this operation A művelet röppályájának egyéni kezdőpontja @@ -6141,24 +6145,24 @@ Például: Path_Dressup - + Please select one path object Jelöljön ki egy pálya tárgyat - + The selected object is not a path A kijelölt tárgy nem pálya útvonal - + Please select a Path object Kérem válasszon egy pályaútvonal tárgyat @@ -6315,8 +6319,8 @@ Például: Mérési pontfájl kiválasztása - + All Files (*.*) Összes fájl (*.*) @@ -6867,6 +6871,11 @@ Például: no job for operation %s found. %s művelethez nem található feladat. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6970,14 +6979,14 @@ Például: PathProfile - + Outside Külső - + Inside Belső @@ -7113,7 +7122,7 @@ Például: PathPocket - + Final depth set below ZMin of face(s) selected. A kiválasztott felület(ek) ZMin alatti végső mélysége. @@ -7133,12 +7142,12 @@ Például: Y - + Pass Extension Áthalad a meghosszabbításon - + The distance the facing operation will extend beyond the boundary shape. A távolság a szemben állók műveletére túlnyúlik az alakzat határán. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_id.ts b/src/Mod/Path/Gui/Resources/translations/Path_id.ts index 1a7087ebc8..b5c781ce37 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_id.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_id.ts @@ -16,7 +16,7 @@ Creates a feature area from selected objects - Creates a feature area from selected objects + Membuat area fitur dari objek yang dipilih @@ -29,12 +29,12 @@ Area workplane - Area workplane + Area lantai kerja Select a workplane for a FeatureArea - Select a workplane for a FeatureArea + Pilih workplane untuk Fitur Area @@ -78,27 +78,27 @@ Create Path Area View - Create Path Area View + Buat Tampilan Area Jalur Create Path Area - Create Path Area + Buat area jalur Select Workplane for Path Area - Select Workplane for Path Area + Pilih rencana kerja untuk area kerja Create Path Compound - Create Path Compound + Buat Jalur Komposit Create Path Shape - Create Path Shape + Buat bentuk area @@ -115,8 +115,8 @@ - <html><head/><body><p>Select a template to be used for the job.</p><p>In case there are no templates you can create one through the popup menu of an existing job. Name the file job_*.json and place it in the macro or the path directory (see preferences) in order to be selectable from this list.</p></body></html> - <html><head/><body><p>Select a template to be used for the job.</p><p>In case there are no templates you can create one through the popup menu of an existing job. Name the file job_*.json and place it in the macro or the path directory (see preferences) in order to be selectable from this list.</p></body></html> + Select a template to be used for the job. In case there are no templates you can create one through the popup menu of an existing job. Name the file job_*.json and place it in the macro or the path directory (see preferences) in order to be selectable from this list. + Pilih template yang akan digunakan untuk pekerjaan ini. Jika tidak ada template yang tersedia, Anda dapat membuat satu melalui menu popup pekerjaan yang sudah ada. Beri nama file tersebut job_*.json dan letakkan di direktori macro atau path (lihat preferensi) agar dapat dipilih dari daftar ini. @@ -148,128 +148,152 @@ Job Template Export Job Template Export - - - <html><head/><body><p>If enabled include all post processing settings in the template.</p></body></html> - <html><head/><body><p>If enabled include all post processing settings in the template.</p></body></html> - Post Processing Post Processing - - - <html><head/><body><p>Hint about the current post processing configuration.</p></body></html> - <html><head/><body><p>Hint about the current post processing configuration.</p></body></html> - - - - <html><head/><body><p>If enabled tool controller definitions are stored in the template.</p></body></html> - <html><head/><body><p>If enabled tool controller definitions are stored in the template.</p></body></html> - Tools Alat - - <html><head/><body><p>Check all tool controllers which should be included in the template.</p></body></html> - <html><head/><body><p>Check all tool controllers which should be included in the template.</p></body></html> - - - - <html><head/><body><p>Enable to include values of the SetupSheet in the template.</p><p>Any values of the SetupSheet that are changed from their default are preselected. If this field not selected the current SetupSheet was not modified.</p></body></html> - <html><head/><body><p>Enable to include values of the SetupSheet in the template.</p><p>Any values of the SetupSheet that are changed from their default are preselected. If this field not selected the current SetupSheet was not modified.</p></body></html> - - - + Setup Sheet Setup Sheet - - <html><head/><body><p>Enable to include the default heights for operations in the template.</p></body></html> - <html><head/><body><p>Enable to include the default heights for operations in the template.</p></body></html> + + If enabled include all post processing settings in the template. + If enabled include all post processing settings in the template. - + + Hint about the current post processing configuration. + Hint about the current post processing configuration. + + + + If enabled tool controller definitions are stored in the template. + If enabled tool controller definitions are stored in the template. + + + + Check all tool controllers which should be included in the template. + Check all tool controllers which should be included in the template. + + + + Enable to include values of the SetupSheet in the template. + +Any values of the SetupSheet that are changed from their default are preselected. If this field not selected the current SetupSheet was not modified. + Enable to include values of the SetupSheet in the template. + +Any values of the SetupSheet that are changed from their default are preselected. If this field not selected the current SetupSheet was not modified. + + + + Enable to include the default heights for operations in the template. + Enable to include the default heights for operations in the template. + + + Operation Heights Operation Heights - + Operation Depths Operation Depths - - <html><head/><body><p>Enable to include the default rapid tool speeds in the template.</p></body></html> - <html><head/><body><p>Enable to include the default rapid tool speeds in the template.</p></body></html> + + Enable to include the default rapid tool speeds in the template. + Enable to include the default rapid tool speeds in the template. - + + Enable to include the default coolant mode in the template. + Enable to include the default coolant mode in the template. + + + + If enabled the creation of stock is included in the template. If a template does not include a stock definition the default stock creation algorithm will be used (creation from the Base object's bounding box). + +This option is most useful if stock is a box or cylinder, or if the machine has a standard placement for machining. + +Note that this option is disabled if a stock object from an existing solid is used in the job - they cannot be stored in a template. + If enabled the creation of stock is included in the template. If a template does not include a stock definition the default stock creation algorithm will be used (creation from the Base object's bounding box). + +This option is most useful if stock is a box or cylinder, or if the machine has a standard placement for machining. + +Note that this option is disabled if a stock object from an existing solid is used in the job - they cannot be stored in a template. + + + + Hint about the current stock extent setting. + Hint about the current stock extent setting. + + + + If enabled the current placement of the stock solid is stored in the template. + If enabled the current placement of the stock solid is stored in the template. + + + + Hint about the current stock placement. + Hint about the current stock placement. + + + Tool Rapid Speeds Tool Rapid Speeds - - <html><head/><body><p>Enable to include the default coolant mode in the template.</p></body></html> - <html><head/><body><p>Enable to include the default coolant mode in the template.</p></body></html> - - - + Coolant Mode Coolant Mode - - <html><head/><body><p>Enable all Operations for which the configuration values should be exported.</p><p><br/></p><p>Note that only operations are listed which currently have configuration values setup.</p></body></html> - <html><head/><body><p>Enable all Operations for which the configuration values should be exported.</p><p><br/></p><p>Note that only operations are listed which currently have configuration values setup.</p></body></html> + + Enable all operations for which the configuration values should be exported. + +Note that only operations which currently have configuration values set are listed. + Enable all operations for which the configuration values should be exported. + +Note that only operations which currently have configuration values set are listed. - - <html><head/><body><p>If enabled the creation of stock is included in the template. If a template does not include a stock definition the default stock creation algorithm will be used (creation from the Base object's bound box).</p><p>This option is most useful if stock is a box or cylinder, or if the machine has a standard placement for machining.</p><p>Note that this option is disabled if a stock object from an existing solid is used in the job - they cannot be stored in a template.</p></body></html> - <html><head/><body><p>If enabled the creation of stock is included in the template. If a template does not include a stock definition the default stock creation algorithm will be used (creation from the Base object's bound box).</p><p>This option is most useful if stock is a box or cylinder, or if the machine has a standard placement for machining.</p><p>Note that this option is disabled if a stock object from an existing solid is used in the job - they cannot be stored in a template.</p></body></html> - - - + Stock Stock - - <html><head/><body><p>If enabled the current size settings for the stock object are included in the template.</p><p>For Box and Cylinder stocks this means the actual size of the stock solid being created.</p><p>For stock from the Base object's bound box it means the extra material in all directions. A stock object created from such a template will get its basic size from the new job's Base object and apply the stored extra settings.</p></body></html> - <html><head/><body><p>If enabled the current size settings for the stock object are included in the template.</p><p>For Box and Cylinder stocks this means the actual size of the stock solid being created.</p><p>For stock from the Base object's bound box it means the extra material in all directions. A stock object created from such a template will get its basic size from the new job's Base object and apply the stored extra settings.</p></body></html> + + If enabled the current size settings for the stock object are included in the template. + +For Box and Cylinder stocks this means the actual size of the stock solid being created. + +For stock from the Base object's bounding box it means the extra material in all directions. A stock object created from such a template will get its basic size from the new job's Base object and apply the stored extra settings. + If enabled the current size settings for the stock object are included in the template. + +For Box and Cylinder stocks this means the actual size of the stock solid being created. + +For stock from the Base object's bounding box it means the extra material in all directions. A stock object created from such a template will get its basic size from the new job's Base object and apply the stored extra settings. - + Extent Extent - - <html><head/><body><p>Hint about the current stock extent setting.</p></body></html> - <html><head/><body><p>Hint about the current stock extent setting.</p></body></html> - - - - <html><head/><body><p>If enabled the current placement of the stock solid is stored in the template.</p></body></html> - <html><head/><body><p>If enabled the current placement of the stock solid is stored in the template.</p></body></html> - - - + Placement Penempatan - - <html><head/><body><p>Hint about the current stock placement.</p></body></html> - <html><head/><body><p>Hint about the current stock placement.</p></body></html> - - - + Export Export @@ -280,8 +304,8 @@ - <html><head/><body><p>Select one of the post processors.</p><p>FreeCAD comes with several post processors pre-installed, please make sure at least one of them is enabled in your preferences.</p></body></html> - <html><head/><body><p>Select one of the post processors.</p><p>FreeCAD comes with several post processors pre-installed, please make sure at least one of them is enabled in your preferences.</p></body></html> + Select one of the post processors. FreeCAD comes with several post processors pre-installed, please make sure at least one of them is enabled in your preferences. + Select one of the post processors. FreeCAD comes with several post processors pre-installed, please make sure at least one of them is enabled in your preferences. @@ -360,24 +384,34 @@ - <html><head/><body><p>Name of property. Can only contain letters, numbers, and underscores. MixedCase names will display with spaces &quot;Mixed Case&quot;</p></body></html> - <html><head/><body><p>Name of property. Can only contain letters, numbers, and underscores. MixedCase names will display with spaces &quot;Mixed Case&quot;</p></body></html> + Name of property. Can only contain letters, numbers, and underscores. MixedCase names will display with spaces "Mixed Case" + Name of property. Can only contain letters, numbers, and underscores. MixedCase names will display with spaces "Mixed Case" - <html><head/><body><p>The category group the property belongs to.</p></body></html> - <html><head/><body><p>The category group the property belongs to.</p></body></html> + The category group the property belongs to. + The category group the property belongs to. + + + + The type of the property value. + The type of the property value. + + + + ToolTip to be displayed when user hovers mouse over property. + ToolTip to be displayed when user hovers mouse over property. + + + + Check if you want to create several properties in a batch. + Check if you want to create several properties in a batch. Group Kelompok - - - <html><head/><body><p>The type of the property value.</p></body></html> - <html><head/><body><p>The type of the property value.</p></body></html> - Type @@ -388,11 +422,6 @@ val1,val2,val3,... val1,val2,val3,... - - - <html><head/><body><p>ToolTip to be displayed when user hovers mouse over property.</p></body></html> - <html><head/><body><p>ToolTip to be displayed when user hovers mouse over property.</p></body></html> - Enums @@ -403,11 +432,6 @@ ToolTip ToolTip - - - <html><head/><body><p>Check if you want to create several properties in a batch.</p></body></html> - <html><head/><body><p>Check if you want to create several properties in a batch.</p></body></html> - Create another @@ -425,49 +449,49 @@ - <html><head/><body><p>Add existing Tool Bit to this library.</p><p><br/></p></body></html> - <html><head/><body><p>Add existing Tool Bit to this library.</p><p><br/></p></body></html> + Add existing Tool Bit to this library. + Add existing Tool Bit to this library. + + + + Delete selected Tool Bit(s) from the library. + Delete selected Tool Bit(s) from the library. + + + + Select a working path for the tool library editor. + Select a working path for the tool library editor. + + + + Add New Tool Table + Add New Tool Table + + + + Save the selected library with a new name or export to another format + Save the selected library with a new name or export to another format + + + + Table of Tool Bits of the library. + Table of Tool Bits of the library. + + + + Save the current Library + Save the current Library Add Existing Add Existing - - - <html><head/><body><p>Delete selected Tool Bit(s) from the library.</p><p><br/></p></body></html> - <html><head/><body><p>Delete selected Tool Bit(s) from the library.</p><p><br/></p></body></html> - Remove Menghapus - - - <html><head/><body><p>Select a working path for the tool library editor.</p></body></html> - <html><head/><body><p>Select a working path for the tool library editor.</p></body></html> - - - - <html><head/><body><p>Add New Tool Table</p></body></html> - <html><head/><body><p>Add New Tool Table</p></body></html> - - - - <html><head/><body><p>Save the selected library with a new name or export to another format</p></body></html> - <html><head/><body><p>Save the selected library with a new name or export to another format</p></body></html> - - - - <html><head/><body><p>Table of Tool Bits of the library.</p></body></html> - <html><head/><body><p>Table of Tool Bits of the library.</p></body></html> - - - - <html><head/><body><p>Save the current Library</p></body></html> - <html><head/><body><p>Save the current Library</p></body></html> - Close @@ -523,31 +547,8 @@ Form - - - - - - - - - - - - - - - - - - - - - - - Form Bentuk @@ -558,8 +559,8 @@ - <html><head/><body><p>Select what type of shape to use to constrain the underlying Path.</p></body></html> - <html><head/><body><p>Select what type of shape to use to constrain the underlying Path.</p></body></html> + Select what type of shape to use to constrain the underlying Path. + Select what type of shape to use to constrain the underlying Path. @@ -571,11 +572,6 @@ Create Cylinder Create Cylinder - - - Extend Model's Bound Box - Extend Model's Bound Box - Use Existing Solid @@ -583,8 +579,8 @@ - <html><head/><body><p>Select the body to be used to constrain the underlying Path.</p></body></html> - <html><head/><body><p>Select the body to be used to constrain the underlying Path.</p></body></html> + Select the body to be used to constrain the underlying Path. + Select the body to be used to constrain the underlying Path. @@ -593,13 +589,13 @@ - <html><head/><body><p>Extension of BoundBox's MinX.</p></body></html> - <html><head/><body><p>Extension of BoundBox's MinX.</p></body></html> + Extension of bounding box's MinX + Extension of bounding box's MinX - <html><head/><body><p>Extension of BoundBox's MaxX.</p></body></html> - <html><head/><body><p>Extension of BoundBox's MaxX.</p></body></html> + Extension of bounding box's MaxX + Extension of bounding box's MaxX @@ -608,13 +604,13 @@ - <html><head/><body><p>Extension of BoundBox's MinY.</p></body></html> - <html><head/><body><p>Extension of BoundBox's MinY.</p></body></html> + Extension of bounding box's MinY + Extension of bounding box's MinY - <html><head/><body><p>Extension of BoundBox's MaxY.</p></body></html> - <html><head/><body><p>Extension of BoundBox's MaxY.</p></body></html> + Extension of bounding box's MaxY + Extension of bounding box's MaxY @@ -623,65 +619,70 @@ - <html><head/><body><p>Extension of BoundBox's MinZ.</p></body></html> - <html><head/><body><p>Extension of BoundBox's MinZ.</p></body></html> + Extension of bounding box's MinZ + Extension of bounding box's MinZ - <html><head/><body><p>Extension of BoundBox's MaxZ.</p></body></html> - <html><head/><body><p>Extension of BoundBox's MaxZ.</p></body></html> + Extension of bounding box's MaxZ + Extension of bounding box's MaxZ + + + + Radius of the Cylinder + Radius of the Cylinder + + + + Height of the Cylinder + Height of the Cylinder + + + + Length of the Box + Length of the Box + + + + Width of the Box + Width of the Box + + + + Height of the Box + Height of the Box + + + + If checked the path is constrained by the solid. Otherwise the volume of the solid describes a 'keep out' zone + If checked the path is constrained by the solid. Otherwise the volume of the solid describes a 'keep out' zone + + + + Extend Model's Bounding Box + Extend Model's Bounding Box Radius Jari-jari - - - <html><head/><body><p>Radius of the Cylinder.</p></body></html> - <html><head/><body><p>Radius of the Cylinder.</p></body></html> - Height Tinggi - - - <html><head/><body><p>Height of the Cylinder.</p></body></html> - <html><head/><body><p>Height of the Cylinder.</p></body></html> - Length Panjangnya - - - <html><head/><body><p>Length of the Box.</p></body></html> - <html><head/><body><p>Length of the Box.</p></body></html> - Width Lebar - - - <html><head/><body><p>Width of the Box.</p></body></html> - <html><head/><body><p>Width of the Box.</p></body></html> - - - - <html><head/><body><p>Height of the Box.</p></body></html> - <html><head/><body><p>Height of the Box.</p></body></html> - - - - <html><head/><body><p>I checked the path is constrained by the solid. Otherwise the volume of the solid describes a &quot;keep out&quot; zone.</p></body></html> - <html><head/><body><p>I checked the path is constrained by the solid. Otherwise the volume of the solid describes a &quot;keep out&quot; zone.</p></body></html> - Constrained to Inside @@ -689,8 +690,8 @@ - <html><head/><body><p>List of operations with Base Geometry in current Job.</p></body></html> - <html><head/><body><p>List of operations with Base Geometry in current Job.</p></body></html> + List of operations with Base Geometry in current Job + List of operations with Base Geometry in current Job @@ -699,95 +700,99 @@ - <html><head/><body><p>Select one or more features in the 3d view and press 'Add' to add them as the base items for this operation.</p><p><br/></p><p>Selected features can be deleted entirely.</p></body></html> - <html><head/><body><p>Select one or more features in the 3d view and press 'Add' to add them as the base items for this operation.</p><p><br/></p><p>Selected features can be deleted entirely.</p></body></html> + Select one or more features in the 3d view and press 'Add' to add them as the base items for this operation. Selected features can be deleted entirely. + Select one or more features in the 3d view and press 'Add' to add them as the base items for this operation. Selected features can be deleted entirely. - <html><head/><body><p>Add selected features to the list of base geometries for this operation.</p></body></html> - <html><head/><body><p>Add selected features to the list of base geometries for this operation.</p></body></html> + Add selected features to the list of base geometries for this operation + Add selected features to the list of base geometries for this operation + + + + Remove the selected list items from the list of base geometries. The operation will not be applied to them. + Remove the selected list items from the list of base geometries. The operation will not be applied to them. + + + + Clears list of base geometries + Clears list of base geometries - + Add Menambahkan - - - <html><head/><body><p>Remove the selected list items from the list of base geometries. The operation will not be applied to them.</p></body></html> - <html><head/><body><p>Remove the selected list items from the list of base geometries. The operation will not be applied to them.</p></body></html> - - + Remove Menghapus - - - <html><head/><body><p>Clears list of base geometries.</p></body></html> - <html><head/><body><p>Clears list of base geometries.</p></body></html> - Clear Bersih - - - All objects will be processed using the same operation properties - All objects will be processed using the same operation properties - - <html><head/><body><p>Table of hole features and the determined radius of the associated hole.</p><p><br/></p><p>You can add feature for processing by selecting them and then pressing Add. If a feature is accidentally added to the list it can be removed through Remove and will no longer be processed.</p><p><br/></p><p>Reset deletes all current items from the list and fills the list with all circular holes eligible for the operation from the model. You can again refine the list afterwards by enabling/disabling, removing and adding features.</p></body></html> - <html><head/><body><p>Table of hole features and the determined radius of the associated hole.</p><p><br/></p><p>You can add feature for processing by selecting them and then pressing Add. If a feature is accidentally added to the list it can be removed through Remove and will no longer be processed.</p><p><br/></p><p>Reset deletes all current items from the list and fills the list with all circular holes eligible for the operation from the model. You can again refine the list afterwards by enabling/disabling, removing and adding features.</p></body></html> + Table of hole features and the determined radius of the associated hole. + +You can add feature for processing by selecting them and then pressing Add. If a feature is accidentally added to the list it can be removed through Remove and will no longer be processed. + +Reset deletes all current items from the list and fills the list with all circular holes eligible for the operation from the model. You can again refine the list afterwards by enabling/disabling, removing and adding features. + Table of hole features and the determined radius of the associated hole. + +You can add feature for processing by selecting them and then pressing Add. If a feature is accidentally added to the list it can be removed through Remove and will no longer be processed. + +Reset deletes all current items from the list and fills the list with all circular holes eligible for the operation from the model. You can again refine the list afterwards by enabling/disabling, removing and adding features. - + Feature Feature - + Diameter Diameter - - <html><head/><body><p>Add selected items from 3d view to the list of base geometries.</p></body></html> - <html><head/><body><p>Add selected items from 3d view to the list of base geometries.</p></body></html> + + Add selected items from 3d view to the list of base geometries + Add selected items from 3d view to the list of base geometries - - <html><head/><body><p>Remove selected list items from the list of base geometries. The operation is no longer applied to them.</p></body></html> - <html><head/><body><p>Remove selected list items from the list of base geometries. The operation is no longer applied to them.</p></body></html> + + Remove selected list items from the list of base geometries. The operation is no longer applied to them. + Remove selected list items from the list of base geometries. The operation is no longer applied to them. - - <html><head/><body><p>Remove all list items and fill list with all eligible features from the job's base object.</p></body></html> - <html><head/><body><p>Remove all list items and fill list with all eligible features from the job's base object.</p></body></html> + + Remove all list items and fill list with all eligible features from the job's base object. + Remove all list items and fill list with all eligible features from the job's base object. - + Reset Setel ulang - + + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. - <html><head/><body><p>List of locations to be processed.</p></body></html> - <html><head/><body><p>List of locations to be processed.</p></body></html> + List of locations to be processed. + List of locations to be processed. @@ -801,18 +806,18 @@ - <html><head/><body><p>Opens a dialog to add arbitrary locations.</p></body></html> - <html><head/><body><p>Opens a dialog to add arbitrary locations.</p></body></html> + Opens a dialog to add arbitrary locations. + Opens a dialog to add arbitrary locations. - <html><head/><body><p>Remove selected location from the list. The operation is no longer applied to them.</p></body></html> - <html><head/><body><p>Remove selected location from the list. The operation is no longer applied to them.</p></body></html> + Remove selected location from the list. The operation is no longer applied to them. + Remove selected location from the list. The operation is no longer applied to them. - <html><head/><body><p>Edit selected location.</p></body></html> - <html><head/><body><p>Edit selected location.</p></body></html> + Edit selected location. + Edit selected location. @@ -833,54 +838,54 @@ - <html><head/><body><p>Start Depth of the operation. The highest point in Z-axis the operation needs to process.</p></body></html> - <html><head/><body><p>Start Depth of the operation. The highest point in Z-axis the operation needs to process.</p></body></html> + Start Depth of the operation. The highest point in Z-axis the operation needs to process. + Start Depth of the operation. The highest point in Z-axis the operation needs to process. - <html><head/><body><p>Transfer the Z value of the selected feature as the Start Depth for the operation.</p></body></html> - <html><head/><body><p>Transfer the Z value of the selected feature as the Start Depth for the operation.</p></body></html> - - - - - Final Depth - Final Depth + Transfer the Z value of the selected feature as the Start Depth for the operation. + Transfer the Z value of the selected feature as the Start Depth for the operation. - <html><head/><body><p>The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process.</p></body></html> - <html><head/><body><p>The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process.</p></body></html> + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - <html><head/><body><p>Transfer the Z value of the selected feature as the Final Depth for the operation.</p></body></html> - <html><head/><body><p>Transfer the Z value of the selected feature as the Final Depth for the operation.</p></body></html> - - - - - Step Down - Step Down + Transfer the Z value of the selected feature as the Final Depth for the operation. + Transfer the Z value of the selected feature as the Final Depth for the operation. - <html><head/><body><p>The depth in Z-axis the operation moves downwards between layers.</p><p>This value depends on the tool being used, the material to be cut, available cooling and many other factors. Please consult the tool manufacturers data sheets for the proper value.</p></body></html> - <html><head/><body><p>The depth in Z-axis the operation moves downwards between layers.</p><p>This value depends on the tool being used, the material to be cut, available cooling and many other factors. Please consult the tool manufacturers data sheets for the proper value.</p></body></html> + The depth in Z-axis the operation moves downwards between layers. This value depends on the tool being used, the material to be cut, available cooling and many other factors. Please consult the tool manufacturers data sheets for the proper value. + The depth in Z-axis the operation moves downwards between layers. This value depends on the tool being used, the material to be cut, available cooling and many other factors. Please consult the tool manufacturers data sheets for the proper value. + + + + Depth of the final cut of the operation. Can be used to produce a cleaner finish. + Depth of the final cut of the operation. Can be used to produce a cleaner finish. + + + + + Final Depth + Final Depth + + + + + Step Down + Step Down Finish Step Down Finish Step Down - - - <html><head/><body><p>Depth of the final cut of the operation. Can be used to produce a cleaner finish.</p></body></html> - <html><head/><body><p>Depth of the final cut of the operation. Can be used to produce a cleaner finish.</p></body></html> - Min Diameter @@ -898,31 +903,19 @@ - <html><head/><body><p>The height above which it is safe to move the tool bit with rapid movements. Below this height all lateral and downward movements are performed with feed rate speeds.</p></body></html> - <html><head/><body><p>The height above which it is safe to move the tool bit with rapid movements. Below this height all lateral and downward movements are performed with feed rate speeds.</p></body></html> + The height above which it is safe to move the tool bit with rapid movements. Below this height all lateral and downward movements are performed with feed rate speeds. + The height above which it is safe to move the tool bit with rapid movements. Below this height all lateral and downward movements are performed with feed rate speeds. + + + + The height where lateral movement of the toolbit is not obstructed by any fixtures or the part / stock material itself. + The height where lateral movement of the toolbit is not obstructed by any fixtures or the part / stock material itself. Clearance Height Clearance Height - - - <html><head/><body><p>The height where lateral movement of the toolbit is not obstructed by any fixtures or the part / stock material itself.</p></body></html> - <html><head/><body><p>The height where lateral movement of the toolbit is not obstructed by any fixtures or the part / stock material itself.</p></body></html> - - - - - - - - - - - ToolController - ToolController - @@ -933,19 +926,11 @@ - - - - - - - - - <html><head/><body><p>The tool and its settings to be used for this operation.</p></body></html> - <html><head/><body><p>The tool and its settings to be used for this operation.</p></body></html> + The tool and its settings to be used for this operation. + The tool and its settings to be used for this operation. @@ -958,8 +943,8 @@ - - + + Coolant Mode Coolant Mode @@ -970,141 +955,149 @@ + + + + + + - + + + Tool Controller Tool Controller - + Coolant Coolant - + + Type of adaptive operation + Type of adaptive operation + + + Cut Region Cut Region - - <html><head/><body><p>Cut inside or outside of the selected shapes</p></body></html> - <html><head/><body><p>Cut inside or outside of the selected shapes</p></body></html> - - - + Operation Type Operation Type - - <html><head/><body><p>Type of adaptive operation</p></body></html> - <html><head/><body><p>Type of adaptive operation</p></body></html> - - - - + + Step Over Percent Step Over Percent - - <html><head/><body><p>Optimal value for tool stepover</p></body></html> - <html><head/><body><p>Optimal value for tool stepover</p></body></html> - - - + Accuracy vs Performance Accuracy vs Performance - - <html><head/><body><p>Influences calculation performance vs stability and accuracy</p></body></html> - <html><head/><body><p>Influences calculation performance vs stability and accuracy</p></body></html> - - - + Helix Ramp Angle Helix Ramp Angle - - <html><head/><body><p>Angle of the helix ramp entry</p></body></html> - <html><head/><body><p>Angle of the helix ramp entry</p></body></html> - - - + Helix Cone Angle Helix Cone Angle - - <html><head/><body><p>Angle of the helix entry cone</p></body></html> - <html><head/><body><p>Angle of the helix entry cone</p></body></html> - - - + Helix Max Diameter Helix Max Diameter - - <html><head/><body><p>If &gt;0 it limits the helix ramp diameter</p><p>otherwise the 75 percent of tool diameter is used</p></body></html> - <html><head/><body><p>If &gt;0 it limits the helix ramp diameter</p><p>otherwise the 75 percent of tool diameter is used</p></body></html> - - - + Lift Distance Lift Distance - - <html><head/><body><p>How much to lift the tool up during the rapid linking moves over cleared regions.</p><p>If linking path is not clear tool is raised to clearence height.</p></body></html> - <html><head/><body><p>How much to lift the tool up during the rapid linking moves over cleared regions.</p><p>If linking path is not clear tool is raised to clearence height.</p></body></html> - - - + Keep Tool Down Ratio Keep Tool Down Ratio - - <html><head/><body><p>Max length of keep-tool-down linking path compared to direct distance between points.</p><p>If exceeded link will be done by raising the tool to clearence height.</p></body></html> - <html><head/><body><p>Max length of keep-tool-down linking path compared to direct distance between points.</p><p>If exceeded link will be done by raising the tool to clearence height.</p></body></html> - - - + Stock to Leave Stock to Leave - - <html><head/><body><p>How much material to leave (i.e. for finishing operation)</p></body></html> - <html><head/><body><p>How much material to leave (i.e. for finishing operation)</p></body></html> - - - + Force Clearing Inside-out Force Clearing Inside-out - + Finishing Profile Finishing Profile - - + + Use Outline Use Outline - + + Influences calculation performance vs stability and accuracy + Influences calculation performance vs stability and accuracy + + + + Cut inside or outside of the selected shapes + Cut inside or outside of the selected shapes + + + + If greater than zero it limits the helix ramp diameter, otherwise 75 percent of tool diameter is used + If greater than zero it limits the helix ramp diameter, otherwise 75 percent of tool diameter is used + + + + How much to lift the tool up during the rapid linking moves over cleared regions. If linking path is not clear tool is raised to clearance height. + How much to lift the tool up during the rapid linking moves over cleared regions. If linking path is not clear tool is raised to clearance height. + + + + Max length of keep-tool-down linking path compared to direct distance between points. If exceeded link will be done by raising the tool to clearance height. + Max length of keep-tool-down linking path compared to direct distance between points. If exceeded link will be done by raising the tool to clearance height. + + + + How much material to leave (i.e. for finishing operation) + How much material to leave (i.e. for finishing operation) + + + + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. + + + + Angle of the helix ramp entry + Angle of the helix ramp entry + + + + Angle of the helix entry cone + Angle of the helix entry cone + + + Stop Berhenti @@ -1118,8 +1111,8 @@ - <html><head/><body><p>The direction in which the profile is performed, clockwise or counter clockwise.</p></body></html> - <html><head/><body><p>The direction in which the profile is performed, clockwise or counter clockwise.</p></body></html> + The direction in which the profile is performed, clockwise or counterclockwise. + The direction in which the profile is performed, clockwise or counterclockwise. @@ -1135,14 +1128,24 @@ CCW - - W = - W = + + Width of chamfer cut. + Width of chamfer cut. - - <html><head/><body><p>Width of chamfer cut.</p></body></html> - <html><head/><body><p>Width of chamfer cut.</p></body></html> + + Extra depth of tool immersion. + Extra depth of tool immersion. + + + + Round joint + Round joint + + + + Miter joint + Miter joint @@ -1159,83 +1162,73 @@ mm mm - - - h = - h = - - - - <html><head/><body><p>Extra depth of tool immersion.</p></body></html> - <html><head/><body><p>Extra depth of tool immersion.</p></body></html> - Join: Join: - - - <html><head/><body><p>Round joint</p></body></html> - <html><head/><body><p>Round joint</p></body></html> - - - - <html><head/><body><p>Miter joint</p></body></html> - <html><head/><body><p>Miter joint</p></body></html> - TextLabel TextLabel - + Peck Peck - + Depth Kedalaman - + Retract Retract - + Dwell Dwell - + + Don't retract after every hole + Don't retract after every hole + + + + Keep Tool Down + Keep Tool Down + + + Time Time - + Extend Depth Extend Depth - + None Tidak ada - + Drill Tip Drill Tip - + 2x Drill Tip 2x Drill Tip - + Chip Break Chip Break @@ -1246,8 +1239,8 @@ - <html><head/><body><p>Specify the vertex number of the underlying shape string at which engraving should start.</p></body></html> - <html><head/><body><p>Specify the vertex number of the underlying shape string at which engraving should start.</p></body></html> + Specify the vertex number of the underlying shape string at which engraving should start. + Specify the vertex number of the underlying shape string at which engraving should start. @@ -1256,8 +1249,8 @@ - <html><head/><body><p>Specify if the helix operation should start at the inside and work its way outwards, or start at the outside and work its way to the center.</p></body></html> - <html><head/><body><p>Specify if the helix operation should start at the inside and work its way outwards, or start at the outside and work its way to the center.</p></body></html> + Specify if the helix operation should start at the inside and work its way outwards, or start at the outside and work its way to the center. + Specify if the helix operation should start at the inside and work its way outwards, or start at the outside and work its way to the center. @@ -1271,19 +1264,19 @@ - <html><head/><body><p>The direction for the helix, clockwise or counter clockwise.</p></body></html> - <html><head/><body><p>The direction for the helix, clockwise or counter clockwise.</p></body></html> + The direction for the helix, clockwise or counterclockwise. + The direction for the helix, clockwise or counterclockwise. + + + + Specify the percent of the tool diameter each helix will be offset to the previous one. A step over of 100% means no overlap of the individual cuts. + Specify the percent of the tool diameter each helix will be offset to the previous one. A step over of 100% means no overlap of the individual cuts. Step over percent Step over percent - - - <html><head/><body><p>Specify the percent of the tool diameter each helix will be offset to the previous one.</p><p><br/></p><p>A step over of 100% means no overlap of the individual cuts.</p></body></html> - <html><head/><body><p>Specify the percent of the tool diameter each helix will be offset to the previous one.</p><p><br/></p><p>A step over of 100% means no overlap of the individual cuts.</p></body></html> - @@ -1295,20 +1288,15 @@ Enable Extensions Enable Extensions - - - <html><head/><body><p>If selected all potential extensions are visualised. Enabled extensions in purple and not enabled extensions in yellow.</p></body></html> - <html><head/><body><p>If selected all potential extensions are visualised. Enabled extensions in purple and not enabled extensions in yellow.</p></body></html> - Show All Tunjukkan semua - - <html><head/><body><p>Extend the corner between two edges of a pocket. If selected adjacent edges are combined.</p></body></html> - <html><head/><body><p>Extend the corner between two edges of a pocket. If selected adjacent edges are combined.</p></body></html> + + If selected all potential extensions are visualised. Enabled extensions in purple and not enabled extensions in yellow + If selected all potential extensions are visualised. Enabled extensions in purple and not enabled extensions in yellow @@ -1322,18 +1310,28 @@ - <html><head/><body><p>Set the extent of the dimension -the default value is half the tool diameter.</p></body></html> - <html><head/><body><p>Set the extent of the dimension -the default value is half the tool diameter.</p></body></html> + Set the extent of the dimension -the default value is half the tool diameter + Set the extent of the dimension -the default value is half the tool diameter - <html><head/><body><p>Tree of existing edges and their potential extensions.</p></body></html> - <html><head/><body><p>Tree of existing edges and their potential extensions.</p></body></html> + Tree of existing edges and their potential extensions + Tree of existing edges and their potential extensions - <html><head/><body><p>Enable the currently selected pocket extension.</p></body></html> - <html><head/><body><p>Enable the currently selected pocket extension.</p></body></html> + Enable the currently selected pocket extension + Enable the currently selected pocket extension + + + + Disable the currently selected pocket extension + Disable the currently selected pocket extension + + + + Remove all currently enabled extensions - leaving the plain pocket operation + Remove all currently enabled extensions - leaving the plain pocket operation @@ -1341,141 +1339,159 @@ Memungkinkan - - <html><head/><body><p>Disable the currently selected pocket extension.</p></body></html> - <html><head/><body><p>Disable the currently selected pocket extension.</p></body></html> + + Extend the corner between two edges of a pocket. Selected adjacent edges are combined. + Extend the corner between two edges of a pocket. Selected adjacent edges are combined. Disable Nonaktifkan - - - <html><head/><body><p>Remove all currently enabled extensions - leaving the plain pocket operation.</p></body></html> - <html><head/><body><p>Remove all currently enabled extensions - leaving the plain pocket operation.</p></body></html> - Boundary Shape Boundary Shape - - <html><head/><body><p>Specify if the facing should be restricted by the actual shape of the selected face (or the part if no face is selected), or if the bounding box should be faced off.</p><p>The latter can be used to face of the entire stock area to ensure uniform heights for the following operations.</p></body></html> - <html><head/><body><p>Specify if the facing should be restricted by the actual shape of the selected face (or the part if no face is selected), or if the bounding box should be faced off.</p><p>The latter can be used to face of the entire stock area to ensure uniform heights for the following operations.</p></body></html> - - - + Cut Mode Cut Mode - - <html><head/><body><p>The cutting mode assumes that the cut on one side of the tool bit represents the resulting part and the other side is either already milled away or will be removed later on.</p><p>Keeping that in mind climb mode is called when the tool bit is moved into the cut on each rotation, whereas in conventional mode the tool bits rotation and the tools lateral movement are in the same direction.</p></body></html> - <html><head/><body><p>The cutting mode assumes that the cut on one side of the tool bit represents the resulting part and the other side is either already milled away or will be removed later on.</p><p>Keeping that in mind climb mode is called when the tool bit is moved into the cut on each rotation, whereas in conventional mode the tool bits rotation and the tools lateral movement are in the same direction.</p></body></html> - - - + Climb Climb - + Conventional Conventional - + Pattern Pattern - - <html><head/><body><p>Pattern the tool bit is moved in to clear the material.</p></body></html> - <html><head/><body><p>Pattern the tool bit is moved in to clear the material.</p></body></html> + + + + + + + + The tool and its settings to be used for this operation + The tool and its settings to be used for this operation - + + Specify if the facing should be restricted by the actual shape of the selected face (or the part if no face is selected), or if the bounding box should be faced off. + +The latter can be used to face of the entire stock area to ensure uniform heights for the following operations + Specify if the facing should be restricted by the actual shape of the selected face (or the part if no face is selected), or if the bounding box should be faced off. + +The latter can be used to face of the entire stock area to ensure uniform heights for the following operations + + + + The cutting mode assumes that the cut on one side of the tool bit represents the resulting part and the other side is either already milled away or will be removed later on. Climb mode is when the tool bit is moved into the cut on each rotation, whereas in conventional mode the tool bit's rotation and the tool's lateral movement are in the same direction + The cutting mode assumes that the cut on one side of the tool bit represents the resulting part and the other side is either already milled away or will be removed later on. Climb mode is when the tool bit is moved into the cut on each rotation, whereas in conventional mode the tool bit's rotation and the tool's lateral movement are in the same direction + + + + Pattern the tool bit is moved in to clear the material + Pattern the tool bit is moved in to clear the material + + + ZigZag ZigZag - + Spiral Spiral - + ZigZagOffset ZigZagOffset - + Line Garis - + Grid Kisi - + Triangle Segi tiga - + Angle Sudut - - <html><head/><body><p>Angle in which the pattern is applied.</p></body></html> - <html><head/><body><p>Angle in which the pattern is applied.</p></body></html> + + Angle in which the pattern is applied + Angle in which the pattern is applied - - - - <html><head/><body><p>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter.</p><p>A step over of 100% results in no overlap between two different cycles.</p></body></html> - <html><head/><body><p>The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter.</p><p>A step over of 100% results in no overlap between two different cycles.</p></body></html> + + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles - + + The amount of material that should be left by this operation in relation to the target shape + The amount of material that should be left by this operation in relation to the target shape + + + + Specify if this operation uses a starting point + Specify if this operation uses a starting point + + + + If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + + + Material Allowance Material Allowance - - <html><head/><body><p>The amount of material that should be left by this operation in relation to the target shape.</p></body></html> - <html><head/><body><p>The amount of material that should be left by this operation in relation to the target shape.</p></body></html> - - - - <html><head/><body><p>Specify if this operation uses a starting point.</p></body></html> - <html><head/><body><p>Specify if this operation uses a starting point.</p></body></html> - - - + - + Use Start Point Use Start Point - - <html><head/><body><p>If selected the operation uses the outline of the selected base geometry and ignores all holes and islands.</p></body></html> - <html><head/><body><p>If selected the operation uses the outline of the selected base geometry and ignores all holes and islands.</p></body></html> - - - + Clear Edges Clear Edges - + Min Travel Min Travel @@ -1521,8 +1537,8 @@ - <html><head/><body><p>Enter the filename where the probe points should be written.</p></body></html> - <html><head/><body><p>Enter the filename where the probe points should be written.</p></body></html> + Enter the filename where the probe points should be written + Enter the filename where the probe points should be written @@ -1534,57 +1550,67 @@ Cut Side Cut Side + + + Specify if the profile should be performed inside or outside the base geometry features. This only matters if Use Compensation is checked (the default) + Specify if the profile should be performed inside or outside the base geometry features. This only matters if Use Compensation is checked (the default) + PLACEHOLDER PLACEHOLDER + + + The direction in which the profile is performed, clockwise or counterclockwise + The direction in which the profile is performed, clockwise or counterclockwise + - <html><head/><body><p>The amount of extra material left by this operation in relation to the target shape.</p></body></html> - <html><head/><body><p>The amount of extra material left by this operation in relation to the target shape.</p></body></html> + The amount of extra material left by this operation in relation to the target shape + The amount of extra material left by this operation in relation to the target shape - <html><head/><body><p>Check if this operation should use a starting point.</p></body></html> - <html><head/><body><p>Check if this operation should use a starting point.</p></body></html> + Check if this operation should use a starting point + Check if this operation should use a starting point - <html><head/><body><p>Check if this profile operation should also process holes in the base geometry.</p><p><br/></p><p>Found holes are automatically offset on the opposite cut side and performed in the opposite direction as perimeters.</p><p><br/></p><p>Note that this does not include cylindrical holes, the assumption being that they will get drilled.</p></body></html> - <html><head/><body><p>Check if this profile operation should also process holes in the base geometry.</p><p><br/></p><p>Found holes are automatically offset on the opposite cut side and performed in the opposite direction as perimeters.</p><p><br/></p><p>Note that this does not include cylindrical holes, the assumption being that they will get drilled.</p></body></html> + Check if this profile operation should also process holes in the base geometry. Found holes are automatically offset on the opposite cut side and performed in the opposite direction as perimeters. Note that this does not include cylindrical holes, the assumption being that they will get drilled + Check if this profile operation should also process holes in the base geometry. Found holes are automatically offset on the opposite cut side and performed in the opposite direction as perimeters. Note that this does not include cylindrical holes, the assumption being that they will get drilled + + + + If checked the profile operation is offset by the tool radius. The offset direction is determined by the Cut Side + If checked the profile operation is offset by the tool radius. The offset direction is determined by the Cut Side + + + + Check if you want this profile operation to also be applied to cylindrical holes, which normally get drilled. This can be useful if no drill of adequate size is available or the number of holes don't warrant a tool change. Note that the cut side and direction is reversed in respect to the specified values + Check if you want this profile operation to also be applied to cylindrical holes, which normally get drilled. This can be useful if no drill of adequate size is available or the number of holes don't warrant a tool change. Note that the cut side and direction is reversed in respect to the specified values + + + + Check if this profile operation should also process the outside perimeter of the base geometry shapes + Check if this profile operation should also process the outside perimeter of the base geometry shapes Process Holes Process Holes - - - <html><head/><body><p>If checked the profile operation is offset by the tool radius. The offset direction is determined by the Cut Side.</p></body></html> - <html><head/><body><p>If checked the profile operation is offset by the tool radius. The offset direction is determined by the Cut Side.</p></body></html> - Use Compensation Use Compensation - - - <html><head/><body><p>Check if you want this profile operation to also be applied to cylindrical holes, which normally get drilled.</p><p><br/></p><p>This can be useful if no drill of adequate size is available or the number of holes don't warrant a tool change.</p><p><br/></p><p>Note that the cut side and direction is reversed in respect to the specified values.</p></body></html> - <html><head/><body><p>Check if you want this profile operation to also be applied to cylindrical holes, which normally get drilled.</p><p><br/></p><p>This can be useful if no drill of adequate size is available or the number of holes don't warrant a tool change.</p><p><br/></p><p>Note that the cut side and direction is reversed in respect to the specified values.</p></body></html> - Process Circles Process Circles - - - <html><head/><body><p>Check if this profile operation should also process the outside perimeter of the base geometry shapes.</p></body></html> - <html><head/><body><p>Check if this profile operation should also process the outside perimeter of the base geometry shapes.</p></body></html> - Process Perimeter @@ -1595,10 +1621,15 @@ Start Feature Reference Start Feature Reference + + + The tool and its settings to be used for this operation + The tool and its settings to be used for this operation + - <html><head/><body><p>Choose what point to use on the first selected feature.</p></body></html> - <html><head/><body><p>Choose what point to use on the first selected feature.</p></body></html> + Choose what point to use on the first selected feature + Choose what point to use on the first selected feature @@ -1609,8 +1640,8 @@ - Center of BoundBox - Center of BoundBox + Center of Bounding Box + Center of Bounding Box @@ -1647,24 +1678,49 @@ - <html><head/><body><p>Choose what point to use on the second selected feature.</p></body></html> - <html><head/><body><p>Choose what point to use on the second selected feature.</p></body></html> + Choose what point to use on the second selected feature + Choose what point to use on the second selected feature - <html><head/><body><p>No Base Geometry selected.</p></body></html> - <html><head/><body><p>No Base Geometry selected.</p></body></html> + No Base Geometry selected + No Base Geometry selected + + + + Currently using custom point inputs in the Property View of the Data tab + Currently using custom point inputs in the Property View of the Data tab + + + + Positive extends the beginning of the path, negative shortens + Positive extends the beginning of the path, negative shortens + + + + Positive extends the end of the path, negative shortens + Positive extends the end of the path, negative shortens + + + + Complete the operation in a single pass at depth, or multiple passes to final depth + Complete the operation in a single pass at depth, or multiple passes to final depth + + + + Choose the path orientation with regard to the feature(s) selected + Choose the path orientation with regard to the feature(s) selected + + + + Enable to reverse the cut direction of the slot path + Enable to reverse the cut direction of the slot path No Base Geometry selected. No Base Geometry selected. - - - <html><head/><body><p>Currently using custom point inputs in the Property View of the Data tab.</p></body></html> - <html><head/><body><p>Currently using custom point inputs in the Property View of the Data tab.</p></body></html> - Currently using custom point inputs available in the Property View of the Data tab. @@ -1675,21 +1731,11 @@ Extend Path Start Extend Path Start - - - <html><head/><body><p>Positive extends the beginning of the path, negative shortens.</p></body></html> - <html><head/><body><p>Positive extends the beginning of the path, negative shortens.</p></body></html> - Extend Path End Extend Path End - - - <html><head/><body><p>Positive extends the end of the path, negative shortens.</p></body></html> - <html><head/><body><p>Positive extends the end of the path, negative shortens.</p></body></html> - @@ -1697,13 +1743,6 @@ Layer Mode Layer Mode - - - - - <html><head/><body><p>Complete the operation in a single pass at depth, or mulitiple passes to final depth.</p></body></html> - <html><head/><body><p>Complete the operation in a single pass at depth, or mulitiple passes to final depth.</p></body></html> - Single-pass @@ -1719,11 +1758,6 @@ Path Orientation Path Orientation - - - <html><head/><body><p>Choose the path orientation with regard to the feature(s) selected.</p></body></html> - <html><head/><body><p>Choose the path orientation with regard to the feature(s) selected.</p></body></html> - Start to End @@ -1734,84 +1768,113 @@ Perpendicular Perpendicular - - - <html><head/><body><p>Enable to reverse the cut direction of the slot path.</p></body></html> - <html><head/><body><p>Enable to reverse the cut direction of the slot path.</p></body></html> - Reverse cut direction Reverse cut direction - - - - BoundBox - BoundBox - - - - - <html><head/><body><p>Select the overall boundary for the operation.</p></body></html> - <html><head/><body><p>Select the overall boundary for the operation.</p></body></html> - Scan Type Scan Type - - - <html><head/><body><p>Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan.</p></body></html> - <html><head/><body><p>Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan.</p></body></html> - Cut Pattern Cut Pattern - - - - <html><head/><body><p>Set the geometric clearing pattern to use for the operation.</p></body></html> - <html><head/><body><p>Set the geometric clearing pattern to use for the operation.</p></body></html> - Profile Edges Profile Edges - - - <html><head/><body><p>Profile the edges of the selection.</p></body></html> - <html><head/><body><p>Profile the edges of the selection.</p></body></html> - Avoid Last X Faces Avoid Last X Faces + + + + Bounding Box + Bounding Box + + + + + Select the overall boundary for the operation. + Select the overall boundary for the operation. + + + + Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. + Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. + + + + + Complete the operation in a single pass at depth, or multiple passes to final depth. + Complete the operation in a single pass at depth, or multiple passes to final depth. + + + + + Set the geometric clearing pattern to use for the operation. + Set the geometric clearing pattern to use for the operation. + + + + Profile the edges of the selection. + Profile the edges of the selection. + - <html><head/><body><p>Avoid cutting the last 'N' faces in the Base Geometry list of selected faces.</p></body></html> - <html><head/><body><p>Avoid cutting the last 'N' faces in the Base Geometry list of selected faces.</p></body></html> + Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. + Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. - BoundBox extra offset X, Y - BoundBox extra offset X, Y + Bounding box extra offset X, Y + Bounding box extra offset X, Y - - <html><head/><body><p>Additional offset to the selected bounding box along the X axis."</p></body></html> - <html><head/><body><p>Additional offset to the selected bounding box along the X axis."</p></body></html> + + Dropcutter lines are created parallel to this axis. + Dropcutter lines are created parallel to this axis. - - <html><head/><body><p>Additional offset to the selected bounding box along the Y axis."</p></body></html> - <html><head/><body><p>Additional offset to the selected bounding box along the Y axis."</p></body></html> + + + Set the Z-axis depth offset from the target surface. + Set the Z-axis depth offset from the target surface. + + + + + Set the sampling resolution. Smaller values quickly increase processing time. + Set the sampling resolution. Smaller values quickly increase processing time. + + + + Make True, if specifying a Start Point + Make True, if specifying a Start Point + + + + + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. + + + + If true, the cutter will remain inside the boundaries of the model or selected face(s) + If true, the cutter will remain inside the boundaries of the model or selected face(s) + + + + Enable separate optimization of transitions between, and breaks within, each step over path. + Enable separate optimization of transitions between, and breaks within, each step over path. @@ -1819,21 +1882,20 @@ Drop Cutter Direction - - <html><head/><body><p>Dropcutter lines are created parallel to this axis.</p></body></html> - <html><head/><body><p>Dropcutter lines are created parallel to this axis.</p></body></html> + + Additional offset to the selected bounding box along the X axis. + Additional offset to the selected bounding box along the X axis. + + + + Additional offset to the selected bounding box along the Y axis. + Additional offset to the selected bounding box along the Y axis. Depth offset Depth offset - - - - <html><head/><body><p>Set the Z-axis depth offset from the target surface.</p></body></html> - <html><head/><body><p>Set the Z-axis depth offset from the target surface.</p></body></html> - @@ -1841,51 +1903,34 @@ Langkah selesai - - + + + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. + +A step over of 100% results in no overlap between two different cycles. + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. + +A step over of 100% results in no overlap between two different cycles. + + + + Sample interval Sample interval - - - <html><head/><body><p>Set the sampling resolution. Smaller values quickly increase processing time.</p></body></html> - <html><head/><body><p>Set the sampling resolution. Smaller values quickly increase processing time.</p></body></html> - - - - <html><head/><body><p>Make True, if specifying a Start Point</p></body></html> - <html><head/><body><p>Make True, if specifying a Start Point</p></body></html> - - - - - <html><head/><body><p>Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-Code output.</p></body></html> - <html><head/><body><p>Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-Code output.</p></body></html> - - - - + + Optimize Linear Paths Optimize Linear Paths - - <html><head/><body><p>If true, the cutter will remain inside the boundaries of the model or selected face(s)</p></body></html> - <html><head/><body><p>If true, the cutter will remain inside the boundaries of the model or selected face(s)</p></body></html> - - - + Boundary Enforcement Boundary Enforcement - - <html><head/><body><p>Enable separate optimization of transitions between, and breaks within, each step over path.</p></body></html> - <html><head/><body><p>Enable separate optimization of transitions between, and breaks within, each step over path.</p></body></html> - - - + Optimize StepOver Transitions Optimize StepOver Transitions @@ -1901,89 +1946,117 @@ - <html><head/><body><p>Expression set as the StartDepth of a newly created operation.</p><p><br/></p><p>Default: OpStartDepth</p></body></html> - <html><head/><body><p>Expression set as the StartDepth of a newly created operation.</p><p><br/></p><p>Default: OpStartDepth</p></body></html> + Expression set as the StartDepth of a newly created operation. + +Default: OpStartDepth + Expression set as the StartDepth of a newly created operation. + +Default: OpStartDepth - - <html><head/><body><p>Expression set as the FinalDepth for a newly created operation.</p><p><br/></p><p>Default: OpFinalDepth</p></body></html> - <html><head/><body><p>Expression set as the FinalDepth for a newly created operation.</p><p><br/></p><p>Default: OpFinalDepth</p></body></html> + + Expression set as the FinalDepth for a newly created operation. + +Default: OpFinalDepth + Expression set as the FinalDepth for a newly created operation. + +Default: OpFinalDepth - - <html><head/><body><p>Expression set as the StepDown of a newly created operation.</p><p><br/></p><p>Default: OpToolDiameter</p></body></html> - <html><head/><body><p>Expression set as the StepDown of a newly created operation.</p><p><br/></p><p>Default: OpToolDiameter</p></body></html> + + Expression set as the StepDown of a newly created operation. + +Default: OpToolDiameter + Expression set as the StepDown of a newly created operation. + +Default: OpToolDiameter - + Heights Heights - + Expression Expression - + Offset Mengimbangi - + Clearance Clearance - - <html><head/><body><p>Expression set as ClearanceHeight for new operations.</p><p><br/></p><p>Default: &quot;OpStockZMax+SetupSheet.ClearanceHeightOffset&quot;</p></body></html> - <html><head/><body><p>Expression set as ClearanceHeight for new operations.</p><p><br/></p><p>Default: &quot;OpStockZMax+SetupSheet.ClearanceHeightOffset&quot;</p></body></html> + + Expression set as ClearanceHeight for new operations. + +Default: "OpStockZMax+SetupSheet.ClearanceHeightOffset" + Expression set as ClearanceHeight for new operations. + +Default: "OpStockZMax+SetupSheet.ClearanceHeightOffset" - - <html><head/><body><p>ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations.</p><p><br/></p><p>Default: &quot;3 mm&quot;</p></body></html> - <html><head/><body><p>ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations.</p><p><br/></p><p>Default: &quot;3 mm&quot;</p></body></html> + + Expression set as SafeHeight for new operations. + +Default: "OpStockZMax+SetupSheet.SafeHeightOffset" + Expression set as SafeHeight for new operations. + +Default: "OpStockZMax+SetupSheet.SafeHeightOffset" - + + SafeHeightOffset can be for expressions to set the SafeHeight for new operations. + +Default: "5mm" + SafeHeightOffset can be for expressions to set the SafeHeight for new operations. + +Default: "5mm" + + + + Rapid horizontal speed assigned as HorizRapid to new ToolController. + Rapid horizontal speed assigned as HorizRapid to new ToolController. + + + + Rapid vertical speed assigned to VertRapid of new ToolController. + Rapid vertical speed assigned to VertRapid of new ToolController. + + + Safe Safe - - <html><head/><body><p>Expression set as SafeHeight for new operations.</p><p><br/></p><p>Default: &quot;OpStockZMax+SetupSheet.SafeHeightOffset&quot;</p></body></html> - <html><head/><body><p>Expression set as SafeHeight for new operations.</p><p><br/></p><p>Default: &quot;OpStockZMax+SetupSheet.SafeHeightOffset&quot;</p></body></html> + + ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations. + +Default: 3 mm + ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations. + +Default: 3 mm - - <html><head/><body><p>SafeHeightOffset can be for expressions to set the SafeHeight for new operations.</p><p><br/></p><p>Default: &quot;5 mm&quot;</p></body></html> - <html><head/><body><p>SafeHeightOffset can be for expressions to set the SafeHeight for new operations.</p><p><br/></p><p>Default: &quot;5 mm&quot;</p></body></html> - - - + Rapid Speeds Rapid Speeds - + Horizontal Horizontal - - <html><head/><body><p>Rapid horizontal speed assigned as HorizRapid to new ToolController.</p></body></html> - <html><head/><body><p>Rapid horizontal speed assigned as HorizRapid to new ToolController.</p></body></html> - - - + Vertical Vertical - - - <html><head/><body><p>Rapid vertical speed assigned to VertRapid of new ToolController.</p></body></html> - <html><head/><body><p>Rapid vertical speed assigned to VertRapid of new ToolController.</p></body></html> - Thread @@ -2041,12 +2114,6 @@ Lead In/Out Lead In/Out - - - - <html><head/><body><p><br/></p></body></html> - <html><head/><body><p><br/></p></body></html> - Discretization Deflection @@ -2054,19 +2121,19 @@ - <html><head/><body><p>This value is used in discretizing arcs into segments. Smaller values will result in larger gcode. Larger values may cause unwanted segments in the medial line path.</p></body></html> - <html><head/><body><p>This value is used in discretizing arcs into segments. Smaller values will result in larger gcode. Larger values may cause unwanted segments in the medial line path.</p></body></html> + This value is used in discretizing arcs into segments. Smaller values will result in larger gcode. Larger values may cause unwanted segments in the medial line path. + This value is used in discretizing arcs into segments. Smaller values will result in larger gcode. Larger values may cause unwanted segments in the medial line path. + + + + Sets how aggressively colinear segments are filtered from the Voronoi diagram. Valid values are 0 - 90 degrees (larger numbers filter more). Default = 10 + Sets how aggressively colinear segments are filtered from the Voronoi diagram. Valid values are 0 - 90 degrees (larger numbers filter more). Default = 10 Filter Colinear lines Filter Colinear lines - - - <html><head/><body><p>Sets how aggressively colinear segments are filtered from the voronoi diagram</p><p>Valid values are 0 - 90 degrees (larger numbers filter more)</p><p>Default = 10</p><p><br/></p></body></html> - <html><head/><body><p>Sets how aggressively colinear segments are filtered from the voronoi diagram</p><p>Valid values are 0 - 90 degrees (larger numbers filter more)</p><p>Default = 10</p><p><br/></p></body></html> - Algorithm @@ -2074,8 +2141,8 @@ - <html><head/><body><p>Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based).</p></body></html> - <html><head/><body><p>Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based).</p></body></html> + Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). + Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). @@ -2205,54 +2272,66 @@ - <html><head/><body><p>Set the default width of holding tags.</p><p>If the width is set to 0 the dressup will try to guess a reasonable value based on the path itself.</p></body></html> - <html><head/><body><p>Set the default width of holding tags.</p><p>If the width is set to 0 the dressup will try to guess a reasonable value based on the path itself.</p></body></html> + Set the default width of holding tags. + +If the width is set to 0 the dressup will try to guess a reasonable value based on the path itself. + Set the default width of holding tags. + +If the width is set to 0 the dressup will try to guess a reasonable value based on the path itself. - + + Default height of holding tags. + +If the specified height is 0 the dressup will use half the height of the part. Should the height be bigger than the height of the part the dressup will reduce the height to the height of the part. + Default height of holding tags. + +If the specified height is 0 the dressup will use half the height of the part. Should the height be bigger than the height of the part the dressup will reduce the height to the height of the part. + + + + Plunge angle for ascent and descent of holding tag. + Plunge angle for ascent and descent of holding tag. + + + + Radius of the fillet on the tag's top edge. + +If the radius is bigger than that which the tag shape itself supports, the resulting shape will be that of a dome. + Radius of the fillet on the tag's top edge. + +If the radius is bigger than that which the tag shape itself supports, the resulting shape will be that of a dome. + + + + Specify the number of tags generated when a new dressup is created. + Specify the number of tags generated when a new dressup is created. + + + Default Height Default Height - - <html><head/><body><p>Default height of holding tags.</p><p>If the specified height is 0 the dressup will use half the height of the part. Should the height be bigger than the height of the part the dressup will reduce the height to the height of the part.</p></body></html> - <html><head/><body><p>Default height of holding tags.</p><p>If the specified height is 0 the dressup will use half the height of the part. Should the height be bigger than the height of the part the dressup will reduce the height to the height of the part.</p></body></html> - - - + Default Angle Default Angle - - <html><head/><body><p>Plunge angle for the holding tags ascent and descent.</p></body></html> - <html><head/><body><p>Plunge angle for the holding tags ascent and descent.</p></body></html> - - - + Default Radius Default Radius - - <html><head/><body><p>Radius of the fillet on the tag's top edge.</p><p>If the radius is bigger than that which the tag shape itself supports, the resulting shape will be that of a dome.</p></body></html> - <html><head/><body><p>Radius of the fillet on the tag's top edge.</p><p>If the radius is bigger than that which the tag shape itself supports, the resulting shape will be that of a dome.</p></body></html> - - - + Tag Generation Tag Generation - + Initial # Tags Initial # Tags - - - <html><head/><body><p>Specify the number of tags generated when a new dressup is created.</p></body></html> - <html><head/><body><p>Specify the number of tags generated when a new dressup is created.</p></body></html> - Gui::Dialog::DlgSettingsPath @@ -2277,224 +2356,288 @@ Jalan - - <html><head/><body><p>Path to look for templates, post processors, tool tables and other external files.</p><p><br/></p><p>If left empty the macro directory is used.</p></body></html> - <html><head/><body><p>Path to look for templates, post processors, tool tables and other external files.</p><p><br/></p><p>If left empty the macro directory is used.</p></body></html> - - - + Template Template - - <html><head/><body><p>The default template to be selected when creating a new Job. </p><p><br/></p><p>This can be helpful when almost all jobs will be processed by the same machine with a similar setup.</p><p><br/></p><p>If left empty no template will be preselected.</p></body></html> - <html><head/><body><p>The default template to be selected when creating a new Job. </p><p><br/></p><p>This can be helpful when almost all jobs will be processed by the same machine with a similar setup.</p><p><br/></p><p>If left empty no template will be preselected.</p></body></html> - - - + Geometry Geometry - + Default Geometry Tolerance Default Geometry Tolerance - + Default value for new Jobs, used for computing Paths. Smaller increases accuracy, but slows down computation Default value for new Jobs, used for computing Paths. Smaller increases accuracy, but slows down computation - + Default Curve Accuracy Default Curve Accuracy - - + + Post Processor Post Processor - + Output File Output File - + Default Path Default Path - - <html><head/><body><p>Enter a path and optionally file name (see below) to be used as the default for the post processor export.</p><p>The following substitutions are performed before the name is resolved at the time of the post processing:</p><p>Substitution allows the following:</p><p>%D ... directory of the active document</p><p>%d ... name of the active document (with extension)</p><p>%M ... user macro directory</p><p>%j ... name of the active Job object</p><p><br/></p><p>The Following can be used if output is being split. If Output is not split</p><p>these will be ignored. </p><p>%T ... Tool Number</p><p>%t ... Tool Controller label</p><p><br/></p><p>%W ... Work Coordinate System</p><p>%O ... Operation Label</p><p><br/></p><p>When splitting output, a sequence number will always be added.</p><p><br/></p><p>if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string.</p><p><br/></p><p>%S ... Sequence Number</p><p><br/></p><p>The following example store all files with the same name as the document the directory /home/freecad (please remove quotes):</p><p>&quot;/home/cnc/%d.g-code&quot;</p><p>See the file save policy below on how to deal with name conflicts.</p></body></html> - <html><head/><body><p>Enter a path and optionally file name (see below) to be used as the default for the post processor export.</p><p>The following substitutions are performed before the name is resolved at the time of the post processing:</p><p>Substitution allows the following:</p><p>%D ... directory of the active document</p><p>%d ... name of the active document (with extension)</p><p>%M ... user macro directory</p><p>%j ... name of the active Job object</p><p><br/></p><p>The Following can be used if output is being split. If Output is not split</p><p>these will be ignored. </p><p>%T ... Tool Number</p><p>%t ... Tool Controller label</p><p><br/></p><p>%W ... Work Coordinate System</p><p>%O ... Operation Label</p><p><br/></p><p>When splitting output, a sequence number will always be added.</p><p><br/></p><p>if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string.</p><p><br/></p><p>%S ... Sequence Number</p><p><br/></p><p>The following example store all files with the same name as the document the directory /home/freecad (please remove quotes):</p><p>&quot;/home/cnc/%d.g-code&quot;</p><p>See the file save policy below on how to deal with name conflicts.</p></body></html> + + Enter a path and optionally file name (see below) to be used as the default for the post processor export. +The following substitutions are performed before the name is resolved at the time of the post processing: +Substitution allows the following: +%D ... directory of the active document +%d ... name of the active document (with extension) +%M ... user macro directory +%j ... name of the active Job object + +The Following can be used if output is being split. If Output is not split +these will be ignored. +%T ... Tool Number +%t ... Tool Controller label + +%W ... Work Coordinate System +%O ... Operation Label + +When splitting output, a sequence number will always be added. + +if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string. + +%S ... Sequence Number + +The following example store all files with the same name as the document the directory /home/freecad (please remove quotes): +&quot;/home/cnc/%d.g-code&quot; +See the file save policy below on how to deal with name conflicts. + Enter a path and optionally file name (see below) to be used as the default for the post processor export. +The following substitutions are performed before the name is resolved at the time of the post processing: +Substitution allows the following: +%D ... directory of the active document +%d ... name of the active document (with extension) +%M ... user macro directory +%j ... name of the active Job object + +The Following can be used if output is being split. If Output is not split +these will be ignored. +%T ... Tool Number +%t ... Tool Controller label + +%W ... Work Coordinate System +%O ... Operation Label + +When splitting output, a sequence number will always be added. + +if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string. + +%S ... Sequence Number + +The following example store all files with the same name as the document the directory /home/freecad (please remove quotes): +&quot;/home/cnc/%d.g-code&quot; +See the file save policy below on how to deal with name conflicts. - + File Save Policy File Save Policy - - <html><head/><body><p>Choose how to deal with potential file name conflicts. Always open a dialog, only open a dialog if the output file already exists, overwrite any existing file or add a unique (3 digit) sequential ID to the file name.</p></body></html> - <html><head/><body><p>Choose how to deal with potential file name conflicts. Always open a dialog, only open a dialog if the output file already exists, overwrite any existing file or add a unique (3 digit) sequential ID to the file name.</p></body></html> - - - + Open File Dialog Open File Dialog - + Open File Dialog on conflict Open File Dialog on conflict - + Overwrite existing file Overwrite existing file - + Append Unique ID on conflict Append Unique ID on conflict - + Post Processors Selection Post Processors Selection - - <html><head/><body><p>It doesn't seem there are any post processor scripts installed. Please add some into your macro directory and make sure the file name ends with &quot;_post.py&quot;.</p></body></html> - <html><head/><body><p>It doesn't seem there are any post processor scripts installed. Please add some into your macro directory and make sure the file name ends with &quot;_post.py&quot;.</p></body></html> - - - + Default Post Processor Default Post Processor - - <html><head/><body><p>Select one of the post processors as the default.</p></body></html> - <html><head/><body><p>Select one of the post processors as the default.</p></body></html> - - - + DefaultPostProcessor DefaultPostProcessor - + Mod/Path Mod/Path - + Default Arguments Default Arguments - - <html><head/><body><p>Optional arguments passed to the default Post Processor specified above. See the Post Processor's documentation for supported arguments.</p></body></html> - <html><head/><body><p>Optional arguments passed to the default Post Processor specified above. See the Post Processor's documentation for supported arguments.</p></body></html> + + Path to look for templates, post processors, tool tables and other external files. + +If left empty the macro directory is used. + Path to look for templates, post processors, tool tables and other external files. + +If left empty the macro directory is used. - + + The default template to be selected when creating a new Job. + +This can be helpful when almost all jobs will be processed by the same machine with a similar setup. + +If left empty no template will be preselected. + The default template to be selected when creating a new Job. + +This can be helpful when almost all jobs will be processed by the same machine with a similar setup. + +If left empty no template will be preselected. + + + + Choose how to deal with potential file name conflicts. Always open a dialog, only open a dialog if the output file already exists, overwrite any existing file or add a unique (3 digit) sequential ID to the file name. + Choose how to deal with potential file name conflicts. Always open a dialog, only open a dialog if the output file already exists, overwrite any existing file or add a unique (3 digit) sequential ID to the file name. + + + + It doesn't seem there are any post processor scripts installed. Please add some into your macro directory and make sure the file name ends with &quot;_post.py&quot;. + It doesn't seem there are any post processor scripts installed. Please add some into your macro directory and make sure the file name ends with &quot;_post.py&quot;. + + + + Select one of the post processors as the default. + Select one of the post processors as the default. + + + + Optional arguments passed to the default Post Processor specified above. See the Post Processor's documentation for supported arguments. + Optional arguments passed to the default Post Processor specified above. See the Post Processor's documentation for supported arguments. + + + Setup Setup - + Stock Stock - + Create Box Create Box - + Create Cylinder Create Cylinder - - Extend Model's Bound Box - Extend Model's Bound Box + + Extend Model's Bounding Box + Extend Model's Bounding Box - + Ext. X Ext. X - + Ext. Y Ext. Y - + Ext. Z Ext. Z - + Radius Jari-jari - - + + Height Tinggi - + Length Panjangnya - + Width Lebar - + Placement Penempatan - + Angle Sudut - + Axis Axis - + Position Position - + Tools Alat - - <html><head/><body><p>References to Tool Bits and their shapes can either be stored with an absolute path or with a relative path to the search path.</p><p>Generally it is recommended to use relative paths due to their flexibility and robustness to layout changes.</p><p>Should multiple tools or tool shapes with the same name exist in different directories it can be required to use absolute paths. </p></body></html> - <html><head/><body><p>References to Tool Bits and their shapes can either be stored with an absolute path or with a relative path to the search path.</p><p>Generally it is recommended to use relative paths due to their flexibility and robustness to layout changes.</p><p>Should multiple tools or tool shapes with the same name exist in different directories it can be required to use absolute paths. </p></body></html> + + References to Tool Bits and their shapes can either be stored with an absolute path or with a relative path to the search path. +Generally it is recommended to use relative paths due to their flexibility and robustness to layout changes. +Should multiple tools or tool shapes with the same name exist in different directories it can be required to use absolute paths. + References to Tool Bits and their shapes can either be stored with an absolute path or with a relative path to the search path. +Generally it is recommended to use relative paths due to their flexibility and robustness to layout changes. +Should multiple tools or tool shapes with the same name exist in different directories it can be required to use absolute paths. - + Store Absolute Paths Store Absolute Paths @@ -2521,127 +2664,122 @@ Warna jalur default - + + Path highlight color + Path highlight color + + + Default normal path color Warna normal path normal - + + Bounding box normal color + Bounding box normal color + + + The default color for new shapes Standar warna untuk bentuk baru - + + Probe path color + Probe path color + + + + Bounding box selection color + Bounding box selection color + + + Default pathline width Lebar jalur standar - + The default line thickness for new shapes Standar garis tebal untuk bentuk baru - + px px - + Default path marker color Default path penanda warna - - + + - - - + + + The default line color for new shapes Standar garis warna untuk bentuk baru - + Rapid path color Warna jalur cepat - - Probe Path color - Probe Path color - - - - Machine extents color - Mesin memanjang warna - - - - Path Highlight Color - Path Highlight Color - - - - Bounding Box Normal Color - Bounding Box Normal Color - - - - Bounding Box Selection Color - Bounding Box Selection Color - - - + UI Settings UI Settings - + Path Selection Style Path Selection Style - + Default path shape selection behavior in 3D viewer Default path shape selection behavior in 3D viewer - + Shape Bentuk - + Bounding Box Bounding Box - + None Tidak ada - + Task Panel Layout Task Panel Layout - + Classic Classic - + Classic - reversed Classic - reversed - + Multi Panel Multi Panel - + Multi Panel - reversed Multi Panel - reversed @@ -2683,8 +2821,18 @@ - Suppress Velocity warning - Suppress Velocity warning + Suppress feed rate warning + Suppress feed rate warning + + + + OpenCAMLib + OpenCAMLib + + + + If OpenCAMLib is installed with Python bindings it can be used by some additional 3D operations. NOTE: Enabling OpenCAMLib here requires a restart of FreeCAD to take effect. + If OpenCAMLib is installed with Python bindings it can be used by some additional 3D operations. NOTE: Enabling OpenCAMLib here requires a restart of FreeCAD to take effect. @@ -2692,37 +2840,17 @@ Suppress selection mode warning - - Open CAMlib - Open CAMlib - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:12pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:16pt;">If openCAMlib is installed with its python interface it can be used by some additional 3d operations.</span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:16pt;">Changing this value requires a restart of FreeCAD to take effect.</span></p></body></html> - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:12pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:16pt;">If openCAMlib is installed with its python interface it can be used by some additional 3d operations.</span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:16pt;">Changing this value requires a restart of FreeCAD to take effect.</span></p></body></html> - - - + Enable OCL dependent features Enable OCL dependent features - + Suppress warning if openCAMlib cannot be found Suppress warning if openCAMlib cannot be found - + Suppress openCAMlib warning Suppress openCAMlib warning @@ -2738,84 +2866,138 @@ p, li { white-space: pre-wrap; } Path_DressupLeadInOut - - Dressup - Dressup + + Enable Lead-in move + Enable Lead-in move - - LeadIn - LeadIn + + Enable Lead In + Enable Lead In - - Enable LeadIn - Enable LeadIn + + + Style + Gaya - - Extend In: - Extend In: + + + Length / Radius + Length / Radius - - Style In: - Style In: + + length or radius of the Lead-in + length or radius of the Lead-in + + + + + Extend + Extend + + + + extends the leadin distance + extends the leadin distance + + + + Enable Lead-out move + Enable Lead-out move + + + + Enable Lead Out + Enable Lead Out + + + + length or radius of the Lead-out + length or radius of the Lead-out - LeadOut - LeadOut + Extends the leadout distance + Extends the leadout distance - - Enable LeadOut - Enable LeadOut + + Plunge at rapid speed + Plunge at rapid speed - - Extend Out: - Extend Out: + + Apply Lead In/Out on all layers + Apply Lead In/Out on all layers - - Style Out: - Style Out: + + Keep the tool down in the path + Keep the tool down in the path - - Length / Radius: - Length / Radius: - - - - Radius / Center: - Radius / Center: - - - + Keep Tool Down Keep Tool Down - + Rapid Plunge Rapid Plunge - - <html><head/><body><p>Apply Lead In/Out on all layers</p></body></html> - <html><head/><body><p>Apply Lead In/Out on all layers</p></body></html> - - - + Include Layers Include Layers - - Use Machine CRC - Use Machine CRC + + Arc + Busur + + + + Tangent + Garis singgung + + + + Perpendicular + Perpendicular + + + + + Length/Radius positive not Null + Length/Radius positive not Null + + + + LeadInOut + Bongkar habis + + + + Creates a Cutter Radius Compensation G41/G42 Entry Dressup object from a selected path + Creates a Cutter Radius Compensation G41/G42 Entry Dressup object from a selected path + + + + Please select one path object + Please select one path object + + + + The selected object is not a path + The selected object is not a path + + + + Please select a Profile object + Please select a Profile object @@ -2844,20 +3026,20 @@ p, li { white-space: pre-wrap; } Radius Jari-jari - - - <html><head/><body><p>The radius of the wrapped axis</p></body></html> - <html><head/><body><p>The radius of the wrapped axis</p></body></html> - Axis Mapping Axis Mapping + + + The radius of the wrapped axis + The radius of the wrapped axis + - <html><head/><body><p>The input mapping axis. Coordinates of the first axis will be mapped to the second.</p></body></html> - <html><head/><body><p>The input mapping axis. Coordinates of the first axis will be mapped to the second.</p></body></html> + The input mapping axis. Coordinates of the first axis will be mapped to the second. + The input mapping axis. Coordinates of the first axis will be mapped to the second. @@ -2942,8 +3124,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p>On which side of the profile bones are inserted - this also determines which corners are dressed up. The default value is determined based on the profile being dressed up.</p></body></html> - <html><head/><body><p>On which side of the profile bones are inserted - this also determines which corners are dressed up. The default value is determined based on the profile being dressed up.</p></body></html> + On which side of the profile bones are inserted - this also determines which corners are dressed up. The default value is determined based on the profile being dressed up. + On which side of the profile bones are inserted - this also determines which corners are dressed up. The default value is determined based on the profile being dressed up. @@ -3007,29 +3189,29 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p>Angles less than filter angle will not receive corner actions</p></body></html> - <html><head/><body><p>Angles less than filter angle will not receive corner actions</p></body></html> + Angles less than filter angle will not receive corner actions + Angles less than filter angle will not receive corner actions + + + + Distance the point trails behind the spindle + Distance the point trails behind the spindle + + + + Height to raise during corner action + Height to raise during corner action Offset Distance Offset Distance - - - <html><head/><body><p>Distance the point trails behind the spindle</p></body></html> - <html><head/><body><p>Distance the point trails behind the spindle</p></body></html> - Pivot Height Pivot Height - - - <html><head/><body><p>Height to raise during corner action</p></body></html> - <html><head/><body><p>Height to raise during corner action</p></body></html> - Holding Tags @@ -3052,28 +3234,28 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p>Width of the resulting holding tag.</p></body></html> - <html><head/><body><p>Width of the resulting holding tag.</p></body></html> + Width of the resulting holding tag. + Width of the resulting holding tag. - <html><head/><body><p>Height of holding tag.</p><p>Note that resulting tag might be smaller if the tag's width and angle result in a triangular shape.</p></body></html> - <html><head/><body><p>Height of holding tag.</p><p>Note that resulting tag might be smaller if the tag's width and angle result in a triangular shape.</p></body></html> + Height of holding tag. Note that resulting tag might be smaller if the tag's width and angle result in a triangular shape. + Height of holding tag. Note that resulting tag might be smaller if the tag's width and angle result in a triangular shape. - <html><head/><body><p>Plunge angle for ascent and descent of holding tag.</p></body></html> - <html><head/><body><p>Plunge angle for ascent and descent of holding tag.</p></body></html> + Plunge angle for ascent and descent of holding tag. + Plunge angle for ascent and descent of holding tag. - <html><head/><body><p>Radius of the fillet at the top.</p><p>If the radius is too big for the tag shape it gets reduced to the maximum possible radius - resulting in a spherical shape.</p></body></html> - <html><head/><body><p>Radius of the fillet at the top.</p><p>If the radius is too big for the tag shape it gets reduced to the maximum possible radius - resulting in a spherical shape.</p></body></html> + Radius of the fillet at the top. If the radius is too big for the tag shape it gets reduced to the maximum possible radius - resulting in a spherical shape. + Radius of the fillet at the top. If the radius is too big for the tag shape it gets reduced to the maximum possible radius - resulting in a spherical shape. - <html><head/><body><p>List of current tags. Edit coordinates by double click or Edit button.</p><p>Tags are automatically disabled if they overlap with the previous tag, or don't lie on the base wire.</p></body></html> - <html><head/><body><p>List of current tags. Edit coordinates by double click or Edit button.</p><p>Tags are automatically disabled if they overlap with the previous tag, or don't lie on the base wire.</p></body></html> + List of current tags. Edit coordinates by double click or Edit button. Tags are automatically disabled if they overlap with the previous tag, or don't lie on the base wire. + List of current tags. Edit coordinates by double click or Edit button. Tags are automatically disabled if they overlap with the previous tag, or don't lie on the base wire. @@ -3203,19 +3385,19 @@ p, li { white-space: pre-wrap; } - ToolController - ToolController + Tool Controller + Tool Controller + + + + The tool and its settings to be used for this operation. + The tool and its settings to be used for this operation. Coolant Mode Coolant Mode - - - <html><head/><body><p>The tool and its settings to be used for this operation.</p></body></html> - <html><head/><body><p>The tool and its settings to be used for this operation.</p></body></html> - Algorithm @@ -3248,8 +3430,8 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p>Enter the filename containing the probe data</p></body></html> - <html><head/><body><p>Enter the filename containing the probe data</p></body></html> + Enter the filename containing the probe data + Enter the filename containing the probe data @@ -3373,11 +3555,6 @@ p, li { white-space: pre-wrap; } Name Nama - - - <html><head/><body><p>Display name of the Tool Bit (initial value taken from the shape file).</p></body></html> - <html><head/><body><p>Display name of the Tool Bit (initial value taken from the shape file).</p></body></html> - Display Name @@ -3388,20 +3565,25 @@ p, li { white-space: pre-wrap; } Shape File Shape File - - - <html><head/><body><p>The file which defines the type and shape of the Tool Bit.</p></body></html> - <html><head/><body><p>The file which defines the type and shape of the Tool Bit.</p></body></html> - path path + + + Display name of the Tool Bit (initial value taken from the shape file). + Display name of the Tool Bit (initial value taken from the shape file). + + + + The file which defines the type and shape of the Tool Bit. + The file which defines the type and shape of the Tool Bit. + - <html><head/><body><p>Change file defining type and shape of Tool Bit.</p></body></html> - <html><head/><body><p>Change file defining type and shape of Tool Bit.</p></body></html> + Change file defining type and shape of Tool Bit. + Change file defining type and shape of Tool Bit. @@ -3453,13 +3635,13 @@ p, li { white-space: pre-wrap; } - <html><head/><body><p>Available Tool Bits to choose from.</p></body></html> - <html><head/><body><p>Available Tool Bits to choose from.</p></body></html> + Available Tool Bits to choose from. + Available Tool Bits to choose from. - <html><head/><body><p>Create ToolControllers for the selected toolbits and add them to the Job</p></body></html> - <html><head/><body><p>Create ToolControllers for the selected toolbits and add them to the Job</p></body></html> + Create ToolControllers for the selected toolbits and add them to the Job + Create ToolControllers for the selected toolbits and add them to the Job @@ -3496,8 +3678,8 @@ p, li { white-space: pre-wrap; } - - + + Edit Edit @@ -3522,408 +3704,4747 @@ p, li { white-space: pre-wrap; } Output File - + Processor Processor - + Arguments Arguments - - <html><head/><body><p>Optional arguments passed to the Post Processor. The arguments are specific for each Post Processor, please see it's documentation for details.</p></body></html> - <html><head/><body><p>Optional arguments passed to the Post Processor. The arguments are specific for each Post Processor, please see it's documentation for details.</p></body></html> - - - + Work Coordinate Systems Work Coordinate Systems - - <html><head/><body><p>Ordering by Fixture, will cause all operations to be performed in the first coordinate system before switching to the second. Then all operations will be performed there in the same order.</p><p>This is useful if the operator can safely load work into one coordinate system while the machine is doing work in another.</p><p>Ordering by Tool, will minimize the Tool Changes. A tool change will be done, then all operations in all coordinate systems before changing tools.</p><p>Ordering by operation will do each operation in all coordinate systems before moving to the next operation. This is especially useful in conjunction with the 'split output' even with only a single work coordinate system since it will put each operation into a separate file</p></body></html> - <html><head/><body><p>Ordering by Fixture, will cause all operations to be performed in the first coordinate system before switching to the second. Then all operations will be performed there in the same order.</p><p>This is useful if the operator can safely load work into one coordinate system while the machine is doing work in another.</p><p>Ordering by Tool, will minimize the Tool Changes. A tool change will be done, then all operations in all coordinate systems before changing tools.</p><p>Ordering by operation will do each operation in all coordinate systems before moving to the next operation. This is especially useful in conjunction with the 'split output' even with only a single work coordinate system since it will put each operation into a separate file</p></body></html> - - - + Systems Systems - + Order By Order By - - <html><head/><body><p><span style=" font-style:italic;">Work Coordinate Systems</span> also called <span style=" font-style:italic;">Work Offsets</span>, <span style=" font-style:italic;">Fixture Offsets</span>, or <span style=" font-style:italic;">Fixtures </span>are useful for building efficient production jobs where the same part is done many times on the machine.</p><p>FreeCAD has no knowledge of where a particular coordinate system exists within the machine coordinate system so adding additional coordinate systems to your job will have no visual change within your job. It will, however, change your gcode output. The exact way in which the output is affected is controlled by the 'order by' setting.</p></body></html> - <html><head/><body><p><span style=" font-style:italic;">Work Coordinate Systems</span> also called <span style=" font-style:italic;">Work Offsets</span>, <span style=" font-style:italic;">Fixture Offsets</span>, or <span style=" font-style:italic;">Fixtures </span>are useful for building efficient production jobs where the same part is done many times on the machine.</p><p>FreeCAD has no knowledge of where a particular coordinate system exists within the machine coordinate system so adding additional coordinate systems to your job will have no visual change within your job. It will, however, change your gcode output. The exact way in which the output is affected is controlled by the 'order by' setting.</p></body></html> + + Optional arguments passed to the Post Processor. The arguments are specific for each Post Processor, please see its documentation for details. + Optional arguments passed to the Post Processor. The arguments are specific for each Post Processor, please see its documentation for details. - - <html><head/><body><p>Enter a path and optionally file name (see below) to be used as the default for the post processor export.</p><p>The following substitutions are performed before the name is resolved at the time of the post processing:</p><p>Substitution allows the following:</p><p>%D ... directory of the active document</p><p>%d ... name of the active document (with extension)</p><p>%M ... user macro directory</p><p>%j ... name of the active Job object</p><p><br/></p><p>The Following can be used if output is being split. If Output is not split</p><p>these will be ignored. </p><p>%T ... Tool Number</p><p>%t ... Tool Controller label</p><p><br/></p><p>%W ... Work Coordinate System</p><p>%O ... Operation Label</p><p><br/></p><p>When splitting output, a sequence number will always be added.</p><p><br/></p><p>if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string.</p><p><br/></p><p>%S ... Sequence Number</p><p><br/></p><p>The following example store all files with the same name as the document the directory /home/freecad (please remove quotes):</p><p>&quot;/home/cnc/%d.g-code&quot;</p><p>See the file save policy below on how to deal with name conflicts.</p></body></html> - <html><head/><body><p>Enter a path and optionally file name (see below) to be used as the default for the post processor export.</p><p>The following substitutions are performed before the name is resolved at the time of the post processing:</p><p>Substitution allows the following:</p><p>%D ... directory of the active document</p><p>%d ... name of the active document (with extension)</p><p>%M ... user macro directory</p><p>%j ... name of the active Job object</p><p><br/></p><p>The Following can be used if output is being split. If Output is not split</p><p>these will be ignored. </p><p>%T ... Tool Number</p><p>%t ... Tool Controller label</p><p><br/></p><p>%W ... Work Coordinate System</p><p>%O ... Operation Label</p><p><br/></p><p>When splitting output, a sequence number will always be added.</p><p><br/></p><p>if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string.</p><p><br/></p><p>%S ... Sequence Number</p><p><br/></p><p>The following example store all files with the same name as the document the directory /home/freecad (please remove quotes):</p><p>&quot;/home/cnc/%d.g-code&quot;</p><p>See the file save policy below on how to deal with name conflicts.</p></body></html> + + Ordering by Fixture, will cause all operations to be performed in the first coordinate system before switching to the second. Then all operations will be performed there in the same order. + +This is useful if the operator can safely load work into one coordinate system while the machine is doing work in another. + +Ordering by Tool, will minimize the Tool Changes. A tool change will be done, then all operations in all coordinate systems before changing tools. + +Ordering by operation will do each operation in all coordinate systems before moving to the next operation. This is especially useful in conjunction with the 'split output' even with only a single work coordinate system since it will put each operation into a separate file. + Ordering by Fixture, will cause all operations to be performed in the first coordinate system before switching to the second. Then all operations will be performed there in the same order. + +This is useful if the operator can safely load work into one coordinate system while the machine is doing work in another. + +Ordering by Tool, will minimize the Tool Changes. A tool change will be done, then all operations in all coordinate systems before changing tools. + +Ordering by operation will do each operation in all coordinate systems before moving to the next operation. This is especially useful in conjunction with the 'split output' even with only a single work coordinate system since it will put each operation into a separate file. - - <html><head/><body><p>If multiple coordinate systems are in use, setting this to TRUE will cause the gcode to be written to multiple output files as controlled by the 'order by' property. For example, if ordering by Fixture, the first output file will be for the first fixture and separate file for the second.</p><p><br/></p><p><br/></p></body></html> - <html><head/><body><p>If multiple coordinate systems are in use, setting this to TRUE will cause the gcode to be written to multiple output files as controlled by the 'order by' property. For example, if ordering by Fixture, the first output file will be for the first fixture and separate file for the second.</p><p><br/></p><p><br/></p></body></html> + + <html><head/><body><p><span style=" font-style:italic;">Work Coordinate Systems</span> also called <span style=" font-style:italic;">Work Offsets</span>, <span style=" font-style:italic;">Fixture Offsets</span>, or <span style=" font-style:italic;">Fixtures </span>are useful for building efficient production jobs where the same part is done many times on the machine. +FreeCAD has no knowledge of where a particular coordinate system exists within the machine coordinate system so adding additional coordinate systems to your job will have no visual change within your job. It will, however, change your gcode output. The exact way in which the output is affected is controlled by the 'order by' setting.</p></body></html> + <html><head/><body><p><span style=" font-style:italic;">Work Coordinate Systems</span> also called <span style=" font-style:italic;">Work Offsets</span>, <span style=" font-style:italic;">Fixture Offsets</span>, or <span style=" font-style:italic;">Fixtures </span>are useful for building efficient production jobs where the same part is done many times on the machine. +FreeCAD has no knowledge of where a particular coordinate system exists within the machine coordinate system so adding additional coordinate systems to your job will have no visual change within your job. It will, however, change your gcode output. The exact way in which the output is affected is controlled by the 'order by' setting.</p></body></html> - - <html><head/><body><p>If True, post-processing will create multiple output files based on the <span style=" font-style:italic;">order by</span> setting.</p><p><br/></p><p>For example, if <span style=" font-style:italic;">order by</span> is set to Tool, the first output file will contain the first tool change and all operations, in all coordinate systems, that can be done with that tool before the next tool change is called.</p><p><br/></p><p>If <span style=" font-style:italic;">order by</span> is set to <span style=" font-style:italic;">operation</span> and <span style=" font-style:italic;">split output</span> is true, each operation will be written to a separate file.</p></body></html> - <html><head/><body><p>If True, post-processing will create multiple output files based on the <span style=" font-style:italic;">order by</span> setting.</p><p><br/></p><p>For example, if <span style=" font-style:italic;">order by</span> is set to Tool, the first output file will contain the first tool change and all operations, in all coordinate systems, that can be done with that tool before the next tool change is called.</p><p><br/></p><p>If <span style=" font-style:italic;">order by</span> is set to <span style=" font-style:italic;">operation</span> and <span style=" font-style:italic;">split output</span> is true, each operation will be written to a separate file.</p></body></html> - - - + Split Output Split Output - + Setup Setup - + Layout Layout - + Stock Stock - + Create Box Create Box - + Create Cylinder Create Cylinder - - Extend Model's Bound Box - Extend Model's Bound Box + + Extend Model's Bounding Box + Extend Model's Bounding Box - + Use Existing Solid Use Existing Solid - + Refresh Menyegarkan - + Ext. X Ext. X - + Ext. Y Ext. Y - + Ext. Z Ext. Z - + Radius Jari-jari - - + + Height Tinggi - + Length Panjangnya - + Width Lebar - + Alignment Alignment - + Move to Origin Move to Origin - + Set Origin Set Origin - + Center in Stock Center in Stock - + XY in Stock XY in Stock - + Set Set - + X-Axis X-Axis - + Y-Axis Y-Axis - + Z-Axis Z-Axis - + X=0 X=0 - + Y=0 Y=0 - + Z=0 Z=0 - + Link Stock and Model Link Stock and Model - + Move - XY Move - XY - + Rotate - XY Rotate - XY - + Compound Senyawa - - + + Default Values Default Values - + Depths Kedalaman - + Start Depth Start Depth - - <html><head/><body><p>Expression set as the StartDepth of a newly created operation.</p><p><br/></p><p>Default: OpStartDepth</p></body></html> - <html><head/><body><p>Expression set as the StartDepth of a newly created operation.</p><p><br/></p><p>Default: OpStartDepth</p></body></html> + + Expression set as ClearanceHeight for new operations. + +Default: "OpStockZMax+SetupSheet.ClearanceHeightOffset" + Expression set as ClearanceHeight for new operations. + +Default: "OpStockZMax+SetupSheet.ClearanceHeightOffset" - + + Expression set as SafeHeight for new operations. + +Default: "OpStockZMax+SetupSheet.SafeHeightOffset" + Expression set as SafeHeight for new operations. + +Default: "OpStockZMax+SetupSheet.SafeHeightOffset" + + + + SafeHeightOffset can be for expressions to set the SafeHeight for new operations. + +Default: "5mm" + SafeHeightOffset can be for expressions to set the SafeHeight for new operations. + +Default: "5mm" + + + + Horizontal Feed + Horizontal Feed + + + + Vertical Feed + Vertical Feed + + + + Rapid horizontal speed assigned as HorizRapid to new ToolController. + Rapid horizontal speed assigned as HorizRapid to new ToolController. + + + + Rapid vertical speed assigned to VertRapid of new ToolController. + Rapid vertical speed assigned to VertRapid of new ToolController. + + + Final Depth Final Depth - - <html><head/><body><p>Expression set as the FinalDepth for a newly created operation.</p><p><br/></p><p>Default: OpFinalDepth</p></body></html> - <html><head/><body><p>Expression set as the FinalDepth for a newly created operation.</p><p><br/></p><p>Default: OpFinalDepth</p></body></html> + + Enter a path and optionally file name (see below) to be used as the default for the post processor export. +The following substitutions are performed before the name is resolved at the time of the post processing: +Substitution allows the following: +%D ... directory of the active document +%d ... name of the active document (with extension) +%M ... user macro directory +%j ... name of the active Job object + +The Following can be used if output is being split. If Output is not split +these will be ignored. +%T ... Tool Number +%t ... Tool Controller label + +%W ... Work Coordinate System +%O ... Operation Label + +When splitting output, a sequence number will always be added. + +if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string. + +%S ... Sequence Number + +The following example store all files with the same name as the document the directory /home/freecad (please remove quotes): +"/home/cnc/%d.g-code" +See the file save policy below on how to deal with name conflicts. + Enter a path and optionally file name (see below) to be used as the default for the post processor export. +The following substitutions are performed before the name is resolved at the time of the post processing: +Substitution allows the following: +%D ... directory of the active document +%d ... name of the active document (with extension) +%M ... user macro directory +%j ... name of the active Job object + +The Following can be used if output is being split. If Output is not split +these will be ignored. +%T ... Tool Number +%t ... Tool Controller label + +%W ... Work Coordinate System +%O ... Operation Label + +When splitting output, a sequence number will always be added. + +if %S is included, you can specify where the number occurs. Without it, the number will be added to the end of the string. + +%S ... Sequence Number + +The following example store all files with the same name as the document the directory /home/freecad (please remove quotes): +"/home/cnc/%d.g-code" +See the file save policy below on how to deal with name conflicts. - + + If multiple coordinate systems are in use, setting this to TRUE will cause the gcode to be written to multiple output files as controlled by the 'order by' property. For example, if ordering by Fixture, the first output file will be for the first fixture and separate file for the second. + If multiple coordinate systems are in use, setting this to TRUE will cause the gcode to be written to multiple output files as controlled by the 'order by' property. For example, if ordering by Fixture, the first output file will be for the first fixture and separate file for the second. + + + + <html><head/><body><p>If True, post processing will create multiple output files based on the <span style=" font-style:italic;">order by</span> setting. + + +For example, if <span style=" font-style:italic;">order by</span> is set to Tool, the first output file will contain the first tool change and all operations, in all coordinate systems, that can be done with that tool before the next tool change is called. + + +If <span style=" font-style:italic;">order by</span> is set to <span style=" font-style:italic;">operation</span> and <span style=" font-style:italic;">split output</span> is true, each operation will be written to a separate file.</p></body></html> + <html><head/><body><p>If True, post processing will create multiple output files based on the <span style=" font-style:italic;">order by</span> setting. + + +For example, if <span style=" font-style:italic;">order by</span> is set to Tool, the first output file will contain the first tool change and all operations, in all coordinate systems, that can be done with that tool before the next tool change is called. + + +If <span style=" font-style:italic;">order by</span> is set to <span style=" font-style:italic;">operation</span> and <span style=" font-style:italic;">split output</span> is true, each operation will be written to a separate file.</p></body></html> + + + + Expression set as the StartDepth of a newly created operation. + +Default: OpStartDepth + Expression set as the StartDepth of a newly created operation. + +Default: OpStartDepth + + + + Expression set as the FinalDepth for a newly created operation. + +Default: OpFinalDepth + Expression set as the FinalDepth for a newly created operation. + +Default: OpFinalDepth + + + Step Down Step Down - - <html><head/><body><p>Expression set as the StepDown of a newly created operation.</p><p><br/></p><p>Default: OpToolDiameter</p></body></html> - <html><head/><body><p>Expression set as the StepDown of a newly created operation.</p><p><br/></p><p>Default: OpToolDiameter</p></body></html> + + Expression set as the StepDown of a newly created operation. + +Default: OpToolDiameter + Expression set as the StepDown of a newly created operation. + +Default: OpToolDiameter - + Heights Heights - + Expression Expression - + Offset Mengimbangi - + Clearance Clearance - - <html><head/><body><p>Expression set as ClearanceHeight for new operations.</p><p><br/></p><p>Default: &quot;OpStockZMax+SetupSheet.ClearanceHeightOffset&quot;</p></body></html> - <html><head/><body><p>Expression set as ClearanceHeight for new operations.</p><p><br/></p><p>Default: &quot;OpStockZMax+SetupSheet.ClearanceHeightOffset&quot;</p></body></html> + + ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations. + +Default: 3 mm + ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations. + +Default: 3 mm - - <html><head/><body><p>ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations.</p><p><br/></p><p>Default: &quot;3 mm&quot;</p></body></html> - <html><head/><body><p>ClearanceHeightOffset - can be used by expressions to set the default ClearanceHeight for new operations.</p><p><br/></p><p>Default: &quot;3 mm&quot;</p></body></html> - - - + Safe Safe - - <html><head/><body><p>Expression set as SafeHeight for new operations.</p><p><br/></p><p>Default: &quot;OpStockZMax+SetupSheet.SafeHeightOffset&quot;</p></body></html> - <html><head/><body><p>Expression set as SafeHeight for new operations.</p><p><br/></p><p>Default: &quot;OpStockZMax+SetupSheet.SafeHeightOffset&quot;</p></body></html> - - - - <html><head/><body><p>SafeHeightOffset can be for expressions to set the SafeHeight for new operations.</p><p><br/></p><p>Default: &quot;5 mm&quot;</p></body></html> - <html><head/><body><p>SafeHeightOffset can be for expressions to set the SafeHeight for new operations.</p><p><br/></p><p>Default: &quot;5 mm&quot;</p></body></html> - - - + Coolant Coolant - + Coolant Mode Coolant Mode - - + + Tools Alat - + Name Nama - + Nr. Nr. - - + + Feed Feed - - <html><head/><body><p>Horizontal Feed</p></body></html> - <html><head/><body><p>Horizontal Feed</p></body></html> - - - - <html><head/><body><p>Vertical Feed</p></body></html> - <html><head/><body><p>Vertical Feed</p></body></html> - - - + Spindle Spindle - + Add Menambahkan - + Remove Menghapus - + Rapid Speeds Rapid Speeds - + Horizontal Horizontal - - <html><head/><body><p>Rapid horizontal speed assigned as HorizRapid to new ToolController.</p></body></html> - <html><head/><body><p>Rapid horizontal speed assigned as HorizRapid to new ToolController.</p></body></html> - - - + Vertical Vertical - - <html><head/><body><p>Rapid vertical speed assigned to VertRapid of new ToolController.</p></body></html> - <html><head/><body><p>Rapid vertical speed assigned to VertRapid of new ToolController.</p></body></html> - - - + Workplan Workplan - + Active Tool Active Tool - + Delete Menghapus - + Op Defaults Op Defaults + + Path_EngraveTools + + + Engraving Operations + Engraving Operations + + + + Path_3dTools + + + 3D Operations + 3D Operations + + + + Workbench + + + Project Setup + Project Setup + + + + Tool Commands + Tool Commands + + + + New Operations + New Operations + + + + + Path Modification + Path Modification + + + + Helpful Tools + Helpful Tools + + + + + + + + + + + &Path + &Path + + + + Path Dressup + Path Dressup + + + + Supplemental Commands + Supplemental Commands + + + + Specialty Operations + Specialty Operations + + + + Utils + Utils + + + + Path + + + The currently selected unit schema: + '{}' + Does not use 'minutes' for velocity values. + +CNC machines require feed rate to be expressed in +unit/minute. To ensure correct G-code: +Select a minute-based schema in preferences. +For example: + 'Metric, Small Parts & CNC' + 'US Customary' + 'Imperial Decimal' + The currently selected unit schema: + '{}' + Does not use 'minutes' for velocity values. + +CNC machines require feed rate to be expressed in +unit/minute. To ensure correct G-code: +Select a minute-based schema in preferences. +For example: + 'Metric, Small Parts & CNC' + 'US Customary' + 'Imperial Decimal' + + + + Warning + Warning + + + + Ok + Oke + + + + Don't Show This Anymore + Don't Show This Anymore + + + + + Edit + Edit + + + + Drag Slider to Simulate + Drag Slider to Simulate + + + + Save Project As + Save Project As + + + + Camotics Project (*.camotics) + Camotics Project (*.camotics) + + + + H + H is horizontal feed rate. Must be as short as possible + H + + + + V + V is vertical feed rate. Must be as short as possible + V + + + + Tool number + Tool number + + + + Horizontal feedrate + Horizontal feedrate + + + + Vertical feedrate + Vertical feedrate + + + + Spindle RPM + Spindle RPM + + + + No parent job found for operation. + No parent job found for operation. + + + + Parent job %s doesn't have a base object + Parent job %s doesn't have a base object + + + + No Tool Controller is selected. We need a tool to build a Path. + No Tool Controller is selected. We need a tool to build a Path. + + + + No Tool found or diameter is zero. We need a tool to build a Path. + No Tool found or diameter is zero. We need a tool to build a Path. + + + + No Tool Controller selected. + No Tool Controller selected. + + + + Tool Error + Tool Error + + + + Tool Controller feedrates required to calculate the cycle time. + Tool Controller feedrates required to calculate the cycle time. + + + + Feedrate Error + Feedrate Error + + + + Add Tool Controller Rapid Speeds on the SetupSheet for more accurate cycle times. + Add Tool Controller Rapid Speeds on the SetupSheet for more accurate cycle times. + + + + Cycletime Error + Cycletime Error + + + + Base object %s.%s already in the list + Base object %s.%s already in the list + + + + Base object %s.%s rejected by operation + Base object %s.%s rejected by operation + + + + Hole diameter may be inaccurate due to tessellation on face. Consider selecting hole edge. + Hole diameter may be inaccurate due to tessellation on face. Consider selecting hole edge. + + + + Feature %s.%s cannot be processed as a circular hole - please remove from Base geometry list. + Feature %s.%s cannot be processed as a circular hole - please remove from Base geometry list. + + + + CW + CW + + + + CCW + CCW + + + + A planar adaptive start is unavailable. The non-planar will be attempted. + A planar adaptive start is unavailable. The non-planar will be attempted. + + + + + The non-planar adaptive start is also unavailable. + The non-planar adaptive start is also unavailable. + + + + + %s is not a Base Model object of the job %s + %s is not a Base Model object of the job %s + + + + Base shape %s already in the list + Base shape %s already in the list + + + + Profile + Profil + + + + Profile entire model, selected face(s) or selected edge(s) + Profile entire model, selected face(s) or selected edge(s) + + + + + Choose a Path Job + Choose a Path Job + + + + Invalid Filename + Invalid Filename + + + + Selected tool is not a drill + Selected tool is not a drill + + + + Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + + Cutting Edge Angle (%.2f) results in negative tool tip length + Cutting Edge Angle (%.2f) results in negative tool tip length + + + + Path_SelectLoop + + + Finish Selecting Loop + Finish Selecting Loop + + + + Complete the selection of edges that form a loop + Complete the selection of edges that form a loop + + + + Feature Completion + Feature Completion + + + + Closed loop detection failed. + Closed loop detection failed. + + + + Path_OpActiveToggle + + + + Toggle the Active State of the Operation + Toggle the Active State of the Operation + + + + Path_OperationCopy + + + + Copy the operation in the job + Copy the operation in the job + + + + PathGeom + + + face %s not handled, assuming not vertical + face %s not handled, assuming not vertical + + + + edge %s not handled, assuming not vertical + edge %s not handled, assuming not vertical + + + + isVertical(%s) not supported + isVertical(%s) not supported + + + + isHorizontal(%s) not supported + isHorizontal(%s) not supported + + + + %s not supported for flipping + %s not supported for flipping + + + + Zero working area to process. Check your selection and settings. + Zero working area to process. Check your selection and settings. + + + + App::Property + + + List of custom property groups + int = field(default=None) + List of custom property groups + + + + Default speed for horizontal rapid moves. + Default speed for horizontal rapid moves. + + + + Default speed for vertical rapid moves. + Default speed for vertical rapid moves. + + + + + Coolant Modes + Coolant Modes + + + + + Default coolant mode. + Default coolant mode. + + + + The usage of this field depends on SafeHeightExpression - by default its value is added to the start depth and used for the safe height of an operation. + The usage of this field depends on SafeHeightExpression - by default its value is added to the start depth and used for the safe height of an operation. + + + + Expression for the safe height of new operations. + Expression for the safe height of new operations. + + + + The usage of this field depends on ClearanceHeightExpression - by default is value is added to the start depth and used for the clearance height of an operation. + The usage of this field depends on ClearanceHeightExpression - by default is value is added to the start depth and used for the clearance height of an operation. + + + + Expression for the clearance height of new operations. + Expression for the clearance height of new operations. + + + + Expression used for the start depth of new operations. + Expression used for the start depth of new operations. + + + + Expression used for the final depth of new operations. + Expression used for the final depth of new operations. + + + + Expression used for step down of new operations. + Expression used for step down of new operations. + + + + + + + + + + + The base path to modify + The base path to modify + + + + Solid object to be used to limit the generated Path. + Solid object to be used to limit the generated Path. + + + + Determines if Boundary describes an inclusion or exclusion mask. + Determines if Boundary describes an inclusion or exclusion mask. + + + + The base path to dress up + The base path to dress up + + + + + The side of path to insert bones + The side of path to insert bones + + + + + The style of bones + The style of bones + + + + + The algorithm to determine the bone length + The algorithm to determine the bone length + + + + + Dressup length if incision is set to 'custom' + Dressup length if incision is set to 'custom' + + + + + Bones that aren't dressed up + Bones that aren't dressed up + + + + Width of tags. + Width of tags. + + + + Height of tags. + Height of tags. + + + + Angle of tag plunge and ascent. + Angle of tag plunge and ascent. + + + + Radius of the fillet for the tag. + Radius of the fillet for the tag. + + + + Locations of inserted holding tags + Locations of inserted holding tags + + + + IDs of disabled holding tags + IDs of disabled holding tags + + + + Factor determining the # of segments used to approximate rounded tags. + Factor determining the # of segments used to approximate rounded tags. + + + + The input mapping axis + The input mapping axis + + + + The radius of the wrapped axis + The radius of the wrapped axis + + + + Angles less than filter angle will not receive corner actions + Angles less than filter angle will not receive corner actions + + + + Distance the point trails behind the spindle + Distance the point trails behind the spindle + + + + Height to raise during corner action + Height to raise during corner action + + + + Calculate roll-on to path + Calculate roll-on to path + + + + Calculate roll-off from path + Calculate roll-off from path + + + + Keep the Tool Down in Path + Keep the Tool Down in Path + + + + Length or Radius of the approach + Length or Radius of the approach + + + + Length or Radius of the exit + Length or Radius of the exit + + + + The Style of motion into the Path + The Style of motion into the Path + + + + The Style of motion out of the Path + The Style of motion out of the Path + + + + Extends LeadIn distance + Extends LeadIn distance + + + + Extends LeadOut distance + Extends LeadOut distance + + + + Perform plunges with G0 + Perform plunges with G0 + + + + Apply LeadInOut to layers within an operation + Apply LeadInOut to layers within an operation + + + + Angle of ramp. + Angle of ramp. + + + + Ramping Method + Ramping Method + + + + Which feed rate to use for ramping + Which feed rate to use for ramping + + + + Custom feed rate + Custom feed rate + + + + Should the dressup ignore motion commands above DressupStartDepth + Should the dressup ignore motion commands above DressupStartDepth + + + + The depth where the ramp dressup is enabled. Above this ramps are not generated, but motion commands are passed through as is. + The depth where the ramp dressup is enabled. Above this ramps are not generated, but motion commands are passed through as is. + + + + The point file from the surface probing. + The point file from the surface probing. + + + + Deflection distance for arc interpolation + Deflection distance for arc interpolation + + + + break segments into smaller segments of this length. + break segments into smaller segments of this length. + + + + The G-code output file for this project + The G-code output file for this project + + + + Select the Post Processor + Select the Post Processor + + + + Arguments for the Post Processor (specific to the script) + Arguments for the Post Processor (specific to the script) + + + + + Last Time the Job was post processed + Last Time the Job was post processed + + + + An optional description for this job + An optional description for this job + + + + Job Cycle Time Estimation + Job Cycle Time Estimation + + + + For computing Paths; smaller increases accuracy, but slows down computation + For computing Paths; smaller increases accuracy, but slows down computation + + + + Solid object to be used as stock. + Solid object to be used as stock. + + + + Compound path of all operations in the order they are processed. + Compound path of all operations in the order they are processed. + + + + Select the Type of Job + Select the Type of Job + + + + + Split output into multiple G-code files + Split output into multiple G-code files + + + + + If multiple WCS, order the output this way + If multiple WCS, order the output this way + + + + + The Work Coordinate Systems for the Job + The Work Coordinate Systems for the Job + + + + SetupSheet holding the settings for this job + SetupSheet holding the settings for this job + + + + The base objects for all operations + The base objects for all operations + + + + Collection of all tool controllers for the job + Collection of all tool controllers for the job + + + + + + Operations Cycle Time Estimation + Operations Cycle Time Estimation + + + + Select the type of Job + Select the type of Job + + + + The base object this stock is derived from + The base object this stock is derived from + + + + Extra allowance from part bound box in negative X direction + Extra allowance from part bound box in negative X direction + + + + Extra allowance from part bound box in positive X direction + Extra allowance from part bound box in positive X direction + + + + Extra allowance from part bound box in negative Y direction + Extra allowance from part bound box in negative Y direction + + + + Extra allowance from part bound box in positive Y direction + Extra allowance from part bound box in positive Y direction + + + + Extra allowance from part bound box in negative Z direction + Extra allowance from part bound box in negative Z direction + + + + Extra allowance from part bound box in positive Z direction + Extra allowance from part bound box in positive Z direction + + + + A material for this object + A material for this object + + + + Length of this stock box + Length of this stock box + + + + Width of this stock box + Width of this stock box + + + + Height of this stock box + Height of this stock box + + + + Radius of this stock cylinder + Radius of this stock cylinder + + + + Height of this stock cylinder + Height of this stock cylinder + + + + Internal representation of stock type + Internal representation of stock type + + + + Fixture Offset Number + Fixture Offset Number + + + + + Make False, to prevent operation from generating code + Make False, to prevent operation from generating code + + + + Side of selected faces that tool should cut + Side of selected faces that tool should cut + + + + Type of adaptive operation + Type of adaptive operation + + + + Influences accuracy and performance + Influences accuracy and performance + + + + + + Percent of cutter diameter to step over on each pass + Percent of cutter diameter to step over on each pass + + + + Lift distance for rapid moves + Lift distance for rapid moves + + + + Max length of keep tool down path compared to direct distance between points + Max length of keep tool down path compared to direct distance between points + + + + How much stock to leave (i.e. for finishing operation) + How much stock to leave (i.e. for finishing operation) + + + + Force plunging into material inside and clearing towards the edges + Force plunging into material inside and clearing towards the edges + + + + To take a finishing profile path at the end + To take a finishing profile path at the end + + + + + Stop processing + Stop processing + + + + Use Arcs (G2) for helix ramp + Use Arcs (G2) for helix ramp + + + + Internal input state + Internal input state + + + + Internal output state + Internal output state + + + + Helix ramp entry angle (degrees) + Helix ramp entry angle (degrees) + + + + Helix cone angle (degrees) + Helix cone angle (degrees) + + + + Limit helix entry diameter, if limit larger than tool diameter or 0, tool diameter is used + Limit helix entry diameter, if limit larger than tool diameter or 0, tool diameter is used + + + + + Uses the outline of the base geometry. + Uses the outline of the base geometry. + + + + + Split Arcs into discrete segments + Split Arcs into discrete segments + + + + The base geometry for this operation + The base geometry for this operation + + + + Holds the calculated value for the StartDepth + Holds the calculated value for the StartDepth + + + + Holds the calculated value for the FinalDepth + Holds the calculated value for the FinalDepth + + + + Holds the diameter of the tool + Holds the diameter of the tool + + + + Holds the max Z value of Stock + Holds the max Z value of Stock + + + + Holds the min Z value of Stock + Holds the min Z value of Stock + + + + An optional comment for this Operation + An optional comment for this Operation + + + + User Assigned Label + User Assigned Label + + + + Base locations for this operation + Base locations for this operation + + + + + + The tool controller that will be used to calculate the path + The tool controller that will be used to calculate the path + + + + Coolant mode for this operation + Coolant mode for this operation + + + + Starting Depth of Tool- first cut depth in Z + Starting Depth of Tool- first cut depth in Z + + + + Final Depth of Tool- lowest value in Z + Final Depth of Tool- lowest value in Z + + + + Starting Depth internal use only for derived values + Starting Depth internal use only for derived values + + + + Incremental Step Down of Tool + Incremental Step Down of Tool + + + + Maximum material removed on final pass. + Maximum material removed on final pass. + + + + The height needed to clear clamps and obstructions + The height needed to clear clamps and obstructions + + + + Rapid Safety Height between locations. + Rapid Safety Height between locations. + + + + The start point of this path + The start point of this path + + + + + + + Make True, if specifying a Start Point + Make True, if specifying a Start Point + + + + Lower limit of the turning diameter + Lower limit of the turning diameter + + + + Upper limit of the turning diameter. + Upper limit of the turning diameter. + + + + Coolant option for this operation + Coolant option for this operation + + + + List of disabled features + List of disabled features + + + + The G-code to be inserted + The G-code to be inserted + + + + The desired width of the chamfer + The desired width of the chamfer + + + + The additional depth of the tool path + The additional depth of the tool path + + + + How to join chamfer segments + How to join chamfer segments + + + + Direction of operation + Direction of operation + + + + Side of operation + Side of operation + + + + The segment where the operation starts + The segment where the operation starts + + + + + Use chipbreaking + Use chipbreaking + + + + Incremental Drill depth before retracting to clear chips + Incremental Drill depth before retracting to clear chips + + + + Enable pecking + Enable pecking + + + + The time to dwell between peck cycles + The time to dwell between peck cycles + + + + Enable dwell + Enable dwell + + + + Calculate the tip length and subtract from final depth + Calculate the tip length and subtract from final depth + + + + + Controls tool retract height between holes in same op, Default=G98: safety height + Controls tool retract height between holes in same op, Default=G98: safety height + + + + The height where cutting feed rate starts and retract height for peck operation + The height where cutting feed rate starts and retract height for peck operation + + + + How far the drilling depth is extended + How far the drilling depth is extended + + + + + + Apply G99 retraction: only retract to RetractHeight between holes in this operation + Apply G99 retraction: only retract to RetractHeight between holes in this operation + + + + + + Additional base objects to be engraved + Additional base objects to be engraved + + + + The vertex index to start the path from + The vertex index to start the path from + + + + Default length of extensions. + Default length of extensions. + + + + List of features to extend. + List of features to extend. + + + + When enabled connected extension edges are combined to wires. + When enabled connected extension edges are combined to wires. + + + + The direction of the circular cuts, ClockWise (CW), or CounterClockWise (CCW) + The direction of the circular cuts, ClockWise (CW), or CounterClockWise (CCW) + + + + Start cutting from the inside or outside + Start cutting from the inside or outside + + + + + Starting Radius + Starting Radius + + + + + + Extra value to stay away from final profile- good for roughing toolpath + Extra value to stay away from final profile- good for roughing toolpath + + + + Shape to use for calculating Boundary + Shape to use for calculating Boundary + + + + Clear edges of surface (Only applicable to BoundBox) + Clear edges of surface (Only applicable to BoundBox) + + + + Exclude milling raised areas inside the face. + Exclude milling raised areas inside the face. + + + + + + + Choose how to process multiple Base Geometry features. + Choose how to process multiple Base Geometry features. + + + + Use adaptive algorithm to eliminate excessive air milling above planar pocket top. + Use adaptive algorithm to eliminate excessive air milling above planar pocket top. + + + + Use adaptive algorithm to eliminate excessive air milling below planar pocket bottom. + Use adaptive algorithm to eliminate excessive air milling below planar pocket bottom. + + + + Process the model and stock in an operation with no Base Geometry selected. + Process the model and stock in an operation with no Base Geometry selected. + + + + + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) + + + + Extra offset to apply to the operation. Direction is operation dependent. + Extra offset to apply to the operation. Direction is operation dependent. + + + + Start pocketing at center or boundary + Start pocketing at center or boundary + + + + Angle of the zigzag pattern + Angle of the zigzag pattern + + + + Clearing pattern to use + Clearing pattern to use + + + + Use 3D Sorting of Path + Use 3D Sorting of Path + + + + Attempts to avoid unnecessary retractions. + Attempts to avoid unnecessary retractions. + + + + + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + + + + X offset between tool and probe + X offset between tool and probe + + + + Y offset between tool and probe + Y offset between tool and probe + + + + Number of points to probe in X direction + Number of points to probe in X direction + + + + Number of points to probe in Y direction + Number of points to probe in Y direction + + + + The output location for the probe data to be written + The output location for the probe data to be written + + + + Controls how tool moves around corners. Default=Round + Controls how tool moves around corners. Default=Round + + + + Maximum distance before a miter join is truncated + Maximum distance before a miter join is truncated + + + + Profile holes as well as the outline + Profile holes as well as the outline + + + + Profile the outline + Profile the outline + + + + Profile round holes + Profile round holes + + + + Side of edge that tool should cut + Side of edge that tool should cut + + + + Make True, if using Cutter Radius Compensation + Make True, if using Cutter Radius Compensation + + + + + + Show the temporary path construction objects when module is in DEBUG mode. + Show the temporary path construction objects when module is in DEBUG mode. + + + + Enter custom start point for slot path. + Enter custom start point for slot path. + + + + Enter custom end point for slot path. + Enter custom end point for slot path. + + + + + + Set the geometric clearing pattern to use for the operation. + Set the geometric clearing pattern to use for the operation. + + + + Positive extends the beginning of the path, negative shortens. + Positive extends the beginning of the path, negative shortens. + + + + Positive extends the end of the path, negative shortens. + Positive extends the end of the path, negative shortens. + + + + + + Complete the operation in a single pass at depth, or multiple passes to final depth. + Complete the operation in a single pass at depth, or multiple passes to final depth. + + + + Choose the path orientation with regard to the feature(s) selected. + Choose the path orientation with regard to the feature(s) selected. + + + + Choose what point to use on the first selected feature. + Choose what point to use on the first selected feature. + + + + Choose what point to use on the second selected feature. + Choose what point to use on the second selected feature. + + + + For arcs/circlular edges, offset the radius for the path. + For arcs/circlular edges, offset the radius for the path. + + + + Enable to reverse the cut direction of the slot path. + Enable to reverse the cut direction of the slot path. + + + + + + The custom start point for the path of this operation + The custom start point for the path of this operation + + + + Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. + Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. + + + + Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. + Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. + + + + + Stop index(angle) for rotational scan + Stop index(angle) for rotational scan + + + + Dropcutter lines are created parallel to this axis. + Dropcutter lines are created parallel to this axis. + + + + Additional offset to the selected bounding box + Additional offset to the selected bounding box + + + + The model will be rotated around this axis. + The model will be rotated around this axis. + + + + Start index(angle) for rotational scan + Start index(angle) for rotational scan + + + + Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. + Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. + + + + + Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. + Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. + + + + + Do not cut internal features on avoided faces. + Do not cut internal features on avoided faces. + + + + + Positive values push the cutter toward, or beyond, the boundary. Negative values retract the cutter away from the boundary. + Positive values push the cutter toward, or beyond, the boundary. Negative values retract the cutter away from the boundary. + + + + + If true, the cutter will remain inside the boundaries of the model or selected face(s). + If true, the cutter will remain inside the boundaries of the model or selected face(s). + + + + + Positive values push the cutter toward, or into, the feature. Negative values retract the cutter away from the feature. + Positive values push the cutter toward, or into, the feature. Negative values retract the cutter away from the feature. + + + + + Cut internal feature areas within a larger selected face. + Cut internal feature areas within a larger selected face. + + + + + Select the overall boundary for the operation. + Select the overall boundary for the operation. + + + + + Set the direction for the cutting tool to engage the material: Climb (ClockWise) or Conventional (CounterClockWise) + Set the direction for the cutting tool to engage the material: Climb (ClockWise) or Conventional (CounterClockWise) + + + + + The yaw angle used for certain clearing patterns + The yaw angle used for certain clearing patterns + + + + + Reverse the cut order of the stepover paths. For circular cut patterns, begin at the outside and work toward the center. + Reverse the cut order of the stepover paths. For circular cut patterns, begin at the outside and work toward the center. + + + + + Set the Z-axis depth offset from the target surface. + Set the Z-axis depth offset from the target surface. + + + + + Set the start point for the cut pattern. + Set the start point for the cut pattern. + + + + + Choose location of the center point for starting the cut pattern. + Choose location of the center point for starting the cut pattern. + + + + Profile the edges of the selection. + Profile the edges of the selection. + + + + + Set the sampling resolution. Smaller values quickly increase processing time. + Set the sampling resolution. Smaller values quickly increase processing time. + + + + + Set the stepover percentage, based on the tool's diameter. + Set the stepover percentage, based on the tool's diameter. + + + + + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. + + + + + Enable separate optimization of transitions between, and breaks within, each step over path. + Enable separate optimization of transitions between, and breaks within, each step over path. + + + + Convert co-planar arcs to G2/G3 G-code commands for `Circular` and `CircularZigZag` cut patterns. + Convert co-planar arcs to G2/G3 G-code commands for `Circular` and `CircularZigZag` cut patterns. + + + + + Collinear and co-radial artifact gaps that are smaller than this threshold are closed in the path. + Collinear and co-radial artifact gaps that are smaller than this threshold are closed in the path. + + + + + Feedback: three smallest gaps identified in the path geometry. + Feedback: three smallest gaps identified in the path geometry. + + + + Set thread orientation + Set thread orientation + + + + Currently only internal + Currently only internal + + + + Defines which standard thread was chosen + Defines which standard thread was chosen + + + + Set thread's major diameter + Set thread's major diameter + + + + Set thread's minor diameter + Set thread's minor diameter + + + + Set thread's pitch - used for metric threads + Set thread's pitch - used for metric threads + + + + Set thread's TPI (turns per inch) - used for imperial threads + Set thread's TPI (turns per inch) - used for imperial threads + + + + Override to control how loose or tight the threads are milled + Override to control how loose or tight the threads are milled + + + + Set how many passes are used to cut the thread + Set how many passes are used to cut the thread + + + + Direction of thread cutting operation + Direction of thread cutting operation + + + + Set to True to get lead in and lead out arcs at the start and end of the thread cut + Set to True to get lead in and lead out arcs at the start and end of the thread cut + + + + Operation to clear the inside of the thread + Operation to clear the inside of the thread + + + + The deflection value for discretizing arcs + The deflection value for discretizing arcs + + + + Cutoff for removing colinear segments (degrees). + default=10.0. + Cutoff for removing colinear segments (degrees). + default=10.0. + + + + Vcarve Tolerance + Vcarve Tolerance + + + + Smaller values yield a finer, more accurate the mesh. Smaller values increase processing time a lot. + Smaller values yield a finer, more accurate the mesh. Smaller values increase processing time a lot. + + + + Smaller values yield a finer, more accurate the mesh. Smaller values do not increase processing time much. + Smaller values yield a finer, more accurate the mesh. Smaller values do not increase processing time much. + + + + Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). + Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). + + + + Set to clear last layer in a `Multi-pass` operation. + Set to clear last layer in a `Multi-pass` operation. + + + + Ignore outer waterlines above this height. + Ignore outer waterlines above this height. + + + + The path(s) to array + The path(s) to array + + + + Pattern method + Pattern method + + + + The spacing between the array copies in Linear pattern + The spacing between the array copies in Linear pattern + + + + The number of copies in X direction in Linear pattern + The number of copies in X direction in Linear pattern + + + + The number of copies in Y direction in Linear pattern + The number of copies in Y direction in Linear pattern + + + + Total angle in Polar pattern + Total angle in Polar pattern + + + + The number of copies in Linear 1D and Polar pattern + The number of copies in Linear 1D and Polar pattern + + + + The centre of rotation in Polar pattern + The centre of rotation in Polar pattern + + + + Make copies in X direction before Y in Linear 2D pattern + Make copies in X direction before Y in Linear 2D pattern + + + + Percent of copies to randomly offset + Percent of copies to randomly offset + + + + Maximum random offset of copies + Maximum random offset of copies + + + + + Seed value for jitter randomness + Seed value for jitter randomness + + + + Comment or note for CNC program + Comment or note for CNC program + + + + The path to be copied + The path to be copied + + + + The object to be reached by this hop + The object to be reached by this hop + + + + The Z height of the hop + The Z height of the hop + + + + Add Optional or Mandatory Stop to the program + Add Optional or Mandatory Stop to the program + + + + Shape for bit shape + Shape for bit shape + + + + The parametrized body representing the tool bit + The parametrized body representing the tool bit + + + + The file of the tool + The file of the tool + + + + The name of the shape file + The name of the shape file + + + + + List of all properties inherited from the bit + List of all properties inherited from the bit + + + + The active tool + The active tool + + + + The speed of the cutting spindle in RPM + The speed of the cutting spindle in RPM + + + + Direction of spindle rotation + Direction of spindle rotation + + + + Feed rate for vertical moves in Z + Feed rate for vertical moves in Z + + + + Feed rate for horizontal moves + Feed rate for horizontal moves + + + + Rapid rate for vertical moves in Z + Rapid rate for vertical moves in Z + + + + Rapid rate for horizontal moves + Rapid rate for horizontal moves + + + + The tool used by this controller + The tool used by this controller + + + + Path_PropertyBag + + + PropertyBag + PropertyBag + + + + Creates an object which can be used to store reference properties. + Creates an object which can be used to store reference properties. + + + + Path_DressupPathBoundary + + + The selected object is not a path + The selected object is not a path + + + + Boundary + Boundary + + + + Creates a Path Boundary Dress-up from a selected path + Creates a Path Boundary Dress-up from a selected path + + + + Please select one path object + Please select one path object + + + + Path_DressupTag + + + Cannot insert holding tags for this path - please select a Profile path + Cannot insert holding tags for this path - please select a Profile path + + + + The selected object is not a path + The selected object is not a path + + + + Please select a Profile object + Please select a Profile object + + + + Holding Tag + Holding Tag + + + + Tag + Tag + + + + Creates a Tag Dress-up object from a selected path + Creates a Tag Dress-up object from a selected path + + + + Please select one path object + Please select one path object + + + + Path_DressupAxisMap + + + Axis Map + Axis Map + + + + Remap one axis to another. + Remap one axis to another. + + + + Path_Dressup + + + + Please select one path object + + Please select one path object + + + + + + The selected object is not a path + + The selected object is not a path + + + + + + Please select a Path object + Please select a Path object + + + + PathJob + + + Unsupported stock object %s + Unsupported stock object %s + + + + Unsupported stock type %s (%d) + Unsupported stock type %s (%d) + + + + Path_DressupDogbone + + + + Dogbone + Tulang anjing + + + + + Creates a Dogbone Dress-up object from a selected path + Creates a Dogbone Dress-up object from a selected path + + + + + Please select one path object + Please select one path object + + + + + The selected object is not a path + The selected object is not a path + + + + Path_DressupDragKnife + + + DragKnife + DragKnife + + + + Modifies a path to add dragknife corner actions + Modifies a path to add dragknife corner actions + + + + Please select one path object + Please select one path object + + + + The selected object is not a path + The selected object is not a path + + + + Please select a Path object + Please select a Path object + + + + Path_PreferencesPathDressup + + + Dressups + Dressups + + + + Path_DressupRampEntry + + + RampMethod1 + RampMethod1 + + + + RampMethod2 + RampMethod2 + + + + RampMethod3 + RampMethod3 + + + + Helix + Spiral + + + + Horizontal Feed Rate + Horizontal Feed Rate + + + + Vertical Feed Rate + Vertical Feed Rate + + + + Ramp Feed Rate + Ramp Feed Rate + + + + Custom + Adat + + + + RampEntry + Entri Jalan + + + + Creates a Ramp Entry Dress-up object from a selected path + Creates a Ramp Entry Dress-up object from a selected path + + + + Please select one path object + Please select one path object + + + + The selected object is not a path + The selected object is not a path + + + + Please select a Profile object + Please select a Profile object + + + + Path_Probe + + + Select Probe Point File + Select Probe Point File + + + + + All Files (*.*) + All Files (*.*) + + + + Select Output File + Select Output File + + + + Probe + Probe + + + + Create a Probing Grid from a job stock + Create a Probing Grid from a job stock + + + + Path_DressupZCorrect + + + Z Depth Correction + Z Depth Correction + + + + Use Probe Map to correct Z depth + Use Probe Map to correct Z depth + + + + Path_Job + + + Fixture + Fixture + + + + Tool + Tool + + + + Operation + Operation + + + + + 2D + 2D + + + + 2.5D + 2.5D + + + + Lathe + Lathe + + + + Multiaxis + Multiaxis + + + + Edit + Edit + + + + Stock not a cylinder! + Stock not a cylinder! + + + + Select Output File + Select Output File + + + + All Files (*.*) + All Files (*.*) + + + + Unsupported stock object %s + Unsupported stock object %s + + + + Unsupported stock type %s (%d) + Unsupported stock type %s (%d) + + + + Model Selection + Model Selection + + + + Warning + Warning + + + + Please add one. + Please add one. + + + + Ok + Oke + + + + Add + Menambahkan + + + + This job has no base model. + This job has no base model. + + + + This job has no tool. + This job has no tool. + + + + Job + Pekerjaan + + + + Creates a Path Job + Creates a Path Job + + + + Solids + Padat + + + + Jobs + Jobs + + + + Base -/+ %.2f/%.2f %.2f/%.2f %.2f/%.2f + Base -/+ %.2f/%.2f %.2f/%.2f %.2f/%.2f + + + + Box: %.2f x %.2f x %.2f + Box: %.2f x %.2f x %.2f + + + + Unsupported stock type + Unsupported stock type + + + + PathStock + + + Invalid base object %s - no shape found + Invalid base object %s - no shape found + + + + Unsupported stock type named {} + Unsupported stock type named {} + + + + Unsupported PathStock template version {} + Unsupported PathStock template version {} + + + + Path_Camotics + + + Camotics + Camotics + + + + Simulate using Camotics + Simulate using Camotics + + + + Path_Fixture + + + Fixture + Fixture + + + + Creates a Fixture Offset + Creates a Fixture Offset + + + + Path_Inspect + + + <b>Note</b>: This dialog shows Path Commands in FreeCAD base units (mm/s). + Values will be converted to the desired unit during post processing. + <b>Note</b>: This dialog shows Path Commands in FreeCAD base units (mm/s). + Values will be converted to the desired unit during post processing. + + + + Inspect Path Commands + Inspect Path Commands + + + + Inspects the contents of a Path object + Inspects the contents of a Path object + + + + + Please select exactly one path object + Please select exactly one path object + + + + Path_ExportTemplate + + + Export Template + Export Template + + + + Exports Path Job as a template to be used for other jobs + Exports Path Job as a template to be used for other jobs + + + + Path_Job: + + + Cylinder: %.2f x %.2f + Cylinder: %.2f x %.2f + + + + Path_Sanity + + + + Check the path job for common errors + Check the path job for common errors + + + + Base Object(s) + Base Object(s) + + + + Job Sequence + Job Sequence + + + + Job Description + Job Description + + + + Job Type + Job Type + + + + CAD File Name + CAD File Name + + + + Last Save Date + Last Save Date + + + + Customer + Customer + + + + Designer + Designer + + + + + Operation + Operation + + + + Minimum Z Height + Minimum Z Height + + + + Maximum Z Height + Maximum Z Height + + + + Cycle Time + Cycle Time + + + + Coolant + Coolant + + + + TOTAL JOB + TOTAL JOB + + + + Tool Number + Tool Number + + + + Description + Description + + + + Manufacturer + Manufacturer + + + + Part Number + Part Number + + + + URL + URL + + + + Inspection Notes + Inspection Notes + + + + Tool Controller + Tool Controller + + + + Feed Rate + Feed Rate + + + + Spindle Speed + Spindle Speed + + + + Tool Shape + Tool Shape + + + + Tool Diameter + Tool Diameter + + + + X Size + X Size + + + + Y Size + Y Size + + + + Z Size + Z Size + + + + Material + Bahan + + + + Work Offsets + Work Offsets + + + + Order By + Order By + + + + Part Datum + Part Datum + + + + G-code File + G-code File + + + + Last Post Process Date + Last Post Process Date + + + + Stops + Stops + + + + Programmer + Programmer + + + + Machine + Machine + + + + Postprocessor + Postprocessor + + + + Post Processor Flags + Post Processor Flags + + + + File Size (kB) + File Size (kB) + + + + Line Count + Line Count + + + + Note + Note + + + + Operator + Operator + + + + Date + Date + + + + Path_Simulator + + + CAM Simulator + CAM Simulator + + + + Simulate G-code on stock + Simulate G-code on stock + + + + Path_Adaptive + + + Outside + Outside + + + + Inside + Inside + + + + Clearing + Clearing + + + + Profiling + Profiling + + + + Adaptive + Adaptive + + + + Adaptive clearing and profiling + Adaptive clearing and profiling + + + + PathAreaOp + + + job %s has no Base. + job %s has no Base. + + + + no job for operation %s found. + no job for operation %s found. + + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + + + + Path_Operation + + + None + Tidak ada + + + + Flood + Flood + + + + Mist + Mist + + + + PathDeburr + + + The selected tool has no CuttingEdgeAngle property. Assuming Endmill + + The selected tool has no CuttingEdgeAngle property. Assuming Endmill + + + + + Round + Round + + + + Miter + Miter + + + + Path_Drilling + + + G98 + G98 + + + + G99 + G99 + + + + None + Tidak ada + + + + Drill Tip + Drill Tip + + + + 2x Drill Tip + 2x Drill Tip + + + + Drilling + Pengeboran + + + + Creates a Path Drilling object from the features of a base object + Creates a Path Drilling object from the features of a base object + + + + Path_Helix + + + CW + CW + + + + CCW + CCW + + + + Helix + Spiral + + + + Creates a Path Helix from the features of a base object + Creates a Path Helix from the features of a base object + + + + PathProfile + + + + Outside + Outside + + + + + Inside + Inside + + + + CW + CW + + + + CCW + CCW + + + + Collectively + Collectively + + + + Individually + Individually + + + + Round + Round + + + + Square + Kotak + + + + Miter + Miter + + + + The selected edge(s) are inaccessible. If multiple, re-ordering selection might work. + The selected edge(s) are inaccessible. If multiple, re-ordering selection might work. + + + + Unable to create path for face(s). + Unable to create path for face(s). + + + + Check edge selection and Final Depth requirements for profiling open edge(s). + Check edge selection and Final Depth requirements for profiling open edge(s). + + + + Path_Pocket + + + Boundbox + Boundbox + + + + Face Region + Face Region + + + + Perimeter + Perimeter + + + + Stock + Stock + + + + Collectively + Collectively + + + + Individually + Individually + + + + Climb + Climb + + + + Conventional + Conventional + + + + Center + Pusat + + + + Edge + Tepi + + + + ZigZag + ZigZag + + + + Offset + Mengimbangi + + + + ZigZagOffset + ZigZagOffset + + + + Line + Garis + + + + Grid + Kisi + + + + PathPocket + + + Final depth set below ZMin of face(s) selected. + Final depth set below ZMin of face(s) selected. + + + + Normal + Normal + + + + X + X + + + + Y + Y + + + + Pass Extension + Pass Extension + + + + The distance the facing operation will extend beyond the boundary shape. + The distance the facing operation will extend beyond the boundary shape. + + + + Path_Slot + + + New property added to + New property added to + + + + Check default value(s). + Check default value(s). + + + + Line + Garis + + + + ZigZag + ZigZag + + + + Single-pass + Single-pass + + + + Multi-pass + Multi-pass + + + + Start to End + Start to End + + + + Perpendicular + Perpendicular + + + + + Center of Mass + Center of Mass + + + + + Center of Bounding Box + Center of Bounding Box + + + + + Lowest Point + Lowest Point + + + + + Highest Point + Highest Point + + + + Long Edge + Long Edge + + + + Short Edge + Short Edge + + + + + Vertex + Vertex + + + + No Base Geometry object in the operation. + No Base Geometry object in the operation. + + + + Custom points are identical. + Custom points are identical. + + + + Custom points not at same Z height. + Custom points not at same Z height. + + + + Current Extend Radius value produces negative arc radius. + Current Extend Radius value produces negative arc radius. + + + + No path extensions available for full circles. + No path extensions available for full circles. + + + + + operation collides with model. + operation collides with model. + + + + + Verify slot path start and end points. + Verify slot path start and end points. + + + + The selected face is inaccessible. + The selected face is inaccessible. + + + + Only a vertex selected. Add another feature to the Base Geometry. + Only a vertex selected. Add another feature to the Base Geometry. + + + + A single selected face must have four edges minimum. + A single selected face must have four edges minimum. + + + + No parallel edges identified. + No parallel edges identified. + + + + value error. + value error. + + + + Current tool larger than arc diameter. + Current tool larger than arc diameter. + + + + Failed, slot from edge only accepts lines, arcs and circles. + Failed, slot from edge only accepts lines, arcs and circles. + + + + Failed to determine point 1 from + Failed to determine point 1 from + + + + Failed to determine point 2 from + Failed to determine point 2 from + + + + Selected geometry not parallel. + Selected geometry not parallel. + + + + The selected face is not oriented vertically: + The selected face is not oriented vertically: + + + + + Current offset value produces negative radius. + Current offset value produces negative radius. + + + + Slot + Slot + + + + Create a Slot operation from selected geometry or custom points. + Create a Slot operation from selected geometry or custom points. + + + + PathSurface + + + This operation requires OpenCamLib to be installed. + This operation requires OpenCamLib to be installed. + + + + The GeometryTolerance for this Job is 0.0. + The GeometryTolerance for this Job is 0.0. + + + + Initializing LinearDeflection to 0.001 mm. + Initializing LinearDeflection to 0.001 mm. + + + + No JOB + No JOB + + + + Canceling 3D Surface operation. Error creating OCL cutter. + Canceling 3D Surface operation. Error creating OCL cutter. + + + + operation time is + operation time is + + + + Canceled 3D Surface operation. + Canceled 3D Surface operation. + + + + No profile geometry shape returned. + No profile geometry shape returned. + + + + No profile path geometry returned. + No profile path geometry returned. + + + + No clearing shape returned. + No clearing shape returned. + + + + No clearing path geometry returned. + No clearing path geometry returned. + + + + No scan data to convert to G-code. + No scan data to convert to G-code. + + + + Failed to identify tool for operation. + Failed to identify tool for operation. + + + + Failed to map selected tool to an OCL tool type. + Failed to map selected tool to an OCL tool type. + + + + Failed to translate active tool to OCL tool type. + Failed to translate active tool to OCL tool type. + + + + OCL tool not available. Cannot determine is cutter has tilt available. + OCL tool not available. Cannot determine is cutter has tilt available. + + + + Path_Surface + + + BaseBoundBox + BaseBoundBox + + + + Stock + Stock + + + + CenterOfMass + CenterOfMass + + + + CenterOfBoundBox + CenterOfBoundBox + + + + XminYmin + XminYmin + + + + Custom + Adat + + + + Conventional + Conventional + + + + Climb + Climb + + + + Circular + Circular + + + + CircularZigZag + CircularZigZag + + + + Line + Garis + + + + Offset + Mengimbangi + + + + Spiral + Spiral + + + + ZigZag + ZigZag + + + + + X + X + + + + + Y + Y + + + + Collectively + Collectively + + + + Individually + Individually + + + + Single-pass + Single-pass + + + + Multi-pass + Multi-pass + + + + None + Tidak ada + + + + Only + Only + + + + First + First + + + + Last + Last + + + + Planar + Planar + + + + Rotational + Rotational + + + + 3D Surface + 3D Surface + + + + Create a 3D Surface Operation from a model + Create a 3D Surface Operation from a model + + + + PathSurfaceSupport + + + Shape appears to not be horizontal planar. + Shape appears to not be horizontal planar. + + + + Cannot calculate the Center Of Mass. + Cannot calculate the Center Of Mass. + + + + Using Center of Boundbox instead. + Using Center of Boundbox instead. + + + + Face selection is unavailable for Rotational scans. + Face selection is unavailable for Rotational scans. + + + + Ignoring selected faces. + Ignoring selected faces. + + + + Failed to pre-process base as a whole. + Failed to pre-process base as a whole. + + + + Failed to identify a horizontal cross-section for Face + Failed to identify a horizontal cross-section for Face + + + + Diameter dimension missing from ToolBit shape. + Diameter dimension missing from ToolBit shape. + + + + Path_ThreadMilling + + + Custom External + Custom External + + + + Custom Internal + Custom Internal + + + + Imperial External (2A) + Imperial External (2A) + + + + Imperial External (3A) + Imperial External (3A) + + + + Imperial Internal (2B) + Imperial Internal (2B) + + + + Imperial Internal (3B) + Imperial Internal (3B) + + + + Metric External (4G6G) + Metric External (4G6G) + + + + Metric External (6G) + Metric External (6G) + + + + Metric Internal (6H) + Metric Internal (6H) + + + + LeftHand + LeftHand + + + + RightHand + RightHand + + + + Climb + Climb + + + + Conventional + Conventional + + + + Thread Milling + Thread Milling + + + + Creates a Path Thread Milling operation from features of a base object + Creates a Path Thread Milling operation from features of a base object + + + + Path_Vcarve + + + VCarve requires an engraving cutter with a cutting edge angle + VCarve requires an engraving cutter with a cutting edge angle + + + + Engraver cutting edge angle must be < 180 degrees. + Engraver cutting edge angle must be < 180 degrees. + + + + Vcarve + Vcarve + + + + Creates a medial line engraving path + Creates a medial line engraving path + + + + PathVcarve + + + The Job Base Object has no engraveable element. Engraving operation will produce no output. + The Job Base Object has no engraveable element. Engraving operation will produce no output. + + + + path_waterline + + + This operation requires OpenCamLib to be installed. + This operation requires OpenCamLib to be installed. + + + + OCL Dropcutter + OCL Dropcutter + + + + Experimental + Experimental + + + + BaseBoundBox + BaseBoundBox + + + + Stock + Stock + + + + CenterOfMass + CenterOfMass + + + + CenterOfBoundBox + CenterOfBoundBox + + + + XminYmin + XminYmin + + + + Custom + Adat + + + + Off + Off + + + + + Circular + Circular + + + + + CircularZigZag + CircularZigZag + + + + + Line + Garis + + + + + Offset + Mengimbangi + + + + + Spiral + Spiral + + + + + ZigZag + ZigZag + + + + Conventional + Conventional + + + + Climb + Climb + + + + None + Tidak ada + + + + Collectively + Collectively + + + + Individually + Individually + + + + Single-pass + Single-pass + + + + Multi-pass + Multi-pass + + + + PathWaterline + + + New property added to + New property added to + + + + Check default value(s). + Check default value(s). + + + + The GeometryTolerance for this Job is 0.0. + The GeometryTolerance for this Job is 0.0. + + + + Initializing LinearDeflection to 0.0001 mm. + Initializing LinearDeflection to 0.0001 mm. + + + + + Sample interval limits are 0.0001 to 25.4 millimeters. + Sample interval limits are 0.0001 to 25.4 millimeters. + + + + Cut pattern angle limits are +-360 degrees. + Cut pattern angle limits are +-360 degrees. + + + + Cut pattern angle limits are +- 360 degrees. + Cut pattern angle limits are +- 360 degrees. + + + + AvoidLastX_Faces: Only zero or positive values permitted. + AvoidLastX_Faces: Only zero or positive values permitted. + + + + AvoidLastX_Faces: Avoid last X faces count limited to 100. + AvoidLastX_Faces: Avoid last X faces count limited to 100. + + + + No JOB + No JOB + + + + Canceling Waterline operation. Error creating OCL cutter. + Canceling Waterline operation. Error creating OCL cutter. + + + + operation time is + operation time is + + + + PathOp + + + + Make False, to prevent operation from generating code + Make False, to prevent operation from generating code + + + + Edit + Edit + + + + Base Geometry + Base Geometry + + + + Vertexes are not supported + Vertexes are not supported + + + + Edges are not supported + Edges are not supported + + + + Faces are not supported + Faces are not supported + + + + Multiple operations are labeled as + Multiple operations are labeled as + + + + Base Location + Base Location + + + + Heights + Heights + + + + FinalDepth cannot be modified for this operation. +If it is necessary to set the FinalDepth manually please select a different operation. + FinalDepth cannot be modified for this operation. +If it is necessary to set the FinalDepth manually please select a different operation. + + + + Depths + Kedalaman + + + + Diameters + Diameters + + + + AreaOp Operation + AreaOp Operation + + + + Operation + Operation + + + + Uncreate AreaOp Operation + Uncreate AreaOp Operation + + + + + Pick Start Point + Pick Start Point + + + + No suitable tool controller found. +Aborting op creation + No suitable tool controller found. +Aborting op creation + + + + No tool controller, aborting op creation + No tool controller, aborting op creation + + + + PathArray + + + No base objects for PathArray. + No base objects for PathArray. + + + + Arrays of paths having different tool controllers are handled according to the tool controller of the first path. + Arrays of paths having different tool controllers are handled according to the tool controller of the first path. + + + + Path_Array + + + Array + Array + + + + Creates an array from selected path(s) + Creates an array from selected path(s) + + + + Arrays can be created only from Path operations. + Arrays can be created only from Path operations. + + + + Path_Comment + + + Comment + Komentar + + + + Add a Comment to your CNC program + Add a Comment to your CNC program + + + + Path_Copy + + + Copy + Salinan + + + + Creates a linked copy of another path + Creates a linked copy of another path + + + + Path_Custom + + + Custom + Adat + + + + Create custom G-code snippet + Create custom G-code snippet + + + + Path_Deburr + + + Deburr + Deburr + + + + Creates a Deburr Path along Edges or around Faces + Creates a Deburr Path along Edges or around Faces + + + + Path_Engrave + + + Engrave + Engrave + + + + Creates an Engraving Path around a Draft ShapeString + Creates an Engraving Path around a Draft ShapeString + + + + Path_Hop + + + Hop + Hop + + + + Creates a Path Hop object + Creates a Path Hop object + + + + Please select one path object + Please select one path object + + + + The selected object is not a path + The selected object is not a path + + + + Path_MillFace + + + Face + Menghadapi + + + + Create a Facing Operation from a model or face + Create a Facing Operation from a model or face + + + + Path_Pocket3D + + + 3D Pocket + 3D Pocket + + + + Creates a Path 3D Pocket from a face or faces + Creates a Path 3D Pocket from a face or faces + + + + Path_Pocket_Shape + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + + + + Path_SimpleCopy + + + Simple Copy + Simple Copy + + + + Creates a non-parametric copy of another path + Creates a non-parametric copy of another path + + + + + Please select exactly one path object + Please select exactly one path object + + + + Path_Stop + + + Stop + Berhenti + + + + Add Optional or Mandatory Stop to the program + Add Optional or Mandatory Stop to the program + + + + Path_Waterline + + + Waterline + Waterline + + + + Create a Waterline Operation from a model + Create a Waterline Operation from a model + + + + Path_Post + + + Post Process + Post Process + + + + Post Process the selected Job + Post Process the selected Job + + + + Path_Gcode_pre + + + No active document + Tidak ada dokumen aktif + + + + No job object + No job object + + + + Path_ToolController + + + Forward + Forward + + + + Reverse + Membalikkan + + + + None + Tidak ada + + + + Add Tool Controller to the Job + Add Tool Controller to the Job + + + + Add Tool Controller + Add Tool Controller + + + + PathToolBit + + + Toolbit cannot be edited: Shapefile not found + Toolbit cannot be edited: Shapefile not found + + + + Path_ToolBitCreate + + + Create Tool + Create Tool + + + + Creates a new ToolBit object + Creates a new ToolBit object + + + + Path_ToolBitSaveAs + + + Save Tool as... + Save Tool as... + + + + Path_ToolBitSave + + + Save Tool + Save Tool + + + + Save an existing ToolBit object to a file + Save an existing ToolBit object to a file + + + + Path_ToolBitLoad + + + Load Tool + Load Tool + + + + Load an existing ToolBit object from a file + Load an existing ToolBit object from a file + + + + Path_ToolBit + + + Toolbit working directory not set up. Do that now? + Toolbit working directory not set up. Do that now? + + + + Choose a writable location for your toolbits + Choose a writable location for your toolbits + + + + Toolbit Working directory {} needs these sudirectories: + {} + Create them? + Toolbit Working directory {} needs these sudirectories: + {} + Create them? + + + + Copy example files to new {} directory? + Copy example files to new {} directory? + + + + + Tooltable JSON (*.fctl) + Tooltable JSON (*.fctl) + + + + + Save toolbit library + Save toolbit library + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + + + + Camotics tooltable (*.json) + Camotics tooltable (*.json) + + + + Path_ToolBitDock + + + ToolBit Dock + ToolBit Dock + + + + Toggle the Toolbit Dock + Toggle the Toolbit Dock + + + + Path_ToolBitLibraryOpen + + + ToolBit Library editor + ToolBit Library editor + + + + Open an editor to manage ToolBit libraries + Open an editor to manage ToolBit libraries + + + + QObject + + + + + + Path + Jalan + + + + PathGui + + + %s has no property %s (%s) + %s has no property %s (%s) + + + + PathCustom + + + Text + Teks + + + + File + Mengajukan + + + + Custom file %s could not be found. + Custom file %s could not be found. + + + + Invalid Gcode line: %s + Invalid Gcode line: %s + + diff --git a/src/Mod/Path/Gui/Resources/translations/Path_it.ts b/src/Mod/Path/Gui/Resources/translations/Path_it.ts index a1d6c72f3b..7b20330c0d 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_it.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_it.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Modulo @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Cancella l'elenco delle geometrie di base - + Add Aggiungi - - + + Remove Rimuovi @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Ripristina - + All objects will be processed using the same operation properties. Tutti gli oggetti saranno elaborati utilizzando le stesse proprietà operative. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul Tutte le posizioni saranno elaborate utilizzando le stesse proprietà operative. - + Start Depth Profondità Iniziale - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Profondità del taglio finale dell'operazione. Può essere utilizzato per ottenere una finitura più pulita. - + Final Depth Profondità Finale - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Altezza libera - + + + + - - - - + The tool and its settings to be used for this operation. Lo strumento e le sue impostazioni da utilizzare per questa operazione. + + + + + + + + + + - - - - - - - - - - Coolant Mode Modalità refrigerante @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Controllore Strumento - - + + Coolant Refrigerante @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Tipo Operazione - + Step Over Percent Percentuale di sovrapposizione @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Profilo di finitura - + Use Outline Usa contorno @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Ferma - + - + Direction Direzione @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul La direzione in cui il profilo viene eseguita, in senso orario o antiorario. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Usa Punto Iniziale @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Passo successivo - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm Orientamento - + Type Tipo @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operazione @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Raggio @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Simulatore di Percorso @@ -4343,10 +4330,9 @@ For example: Non Mostrare Più - + Edit - int = field(default=None) Modifica @@ -4477,19 +4463,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Scegli un Percorso di Lavorazione @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Tutti i File (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Esterno - + Inside Interno @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ja.ts b/src/Mod/Path/Gui/Resources/translations/Path_ja.ts index 1a70d9073e..9c8d4c9a60 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ja.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ja.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form フォーム @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add 追加 - - + + Remove 削除 @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul リセット - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tool Controller - - + + Coolant 冷却剤 @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul 停止 - + - + Direction 方向 @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over ステップ オーバー - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm 向き - + Type タイプ @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation オペレーション @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius 半径 @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) 編集 @@ -4477,19 +4463,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) すべてのファイル (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ka.ts b/src/Mod/Path/Gui/Resources/translations/Path_ka.ts index d49933d048..07deffb5bd 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ka.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ka.ts @@ -60,7 +60,7 @@ Path - ტრაექტორია + ბილიკი @@ -111,7 +111,7 @@ Template - შაბლონი + ნიმუში @@ -131,7 +131,7 @@ Solids - მასივები + მყარი სხეულები @@ -290,12 +290,12 @@ For stock from the Base object's bounding box it means the extra material in all Placement - მდებარეობა + განლაგება Export - Export + გატანა @@ -355,7 +355,7 @@ For stock from the Base object's bounding box it means the extra material in all Reverse - რევერსი + პირიქით @@ -490,7 +490,7 @@ For stock from the Base object's bounding box it means the extra material in all Remove - მოცილება + წაშლა @@ -523,7 +523,7 @@ For stock from the Base object's bounding box it means the extra material in all Destination - დანიშნულების პუნქტი + სამიზნე @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form ფორმა @@ -742,19 +719,19 @@ For stock from the Base object's bounding box it means the extra material in all ასუფთავებს საბაზისო გეომეტრიების სიას - + Add დამატება - - + + Remove - მოცილება + წაშლა @@ -804,11 +781,11 @@ Reset deletes all current items from the list and fills the list with all circul Reset - საწყის მნიშვნელობებზე დაბრუნება + განულება - + All objects will be processed using the same operation properties. ყველა ობიექტი ოპერაციის იგივე თვისებების გამოყენებით დამუშავდება. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul ყველა მდებარეობა ოპერაციის იგივე თვისებების გამოყენებით დამუშავდება. - + Start Depth საწყისი სიღრმე - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. ოპერაციის საწყისი სიღრმე. Z-ღერძის უმაღლესი წერტილი, რომელიც ამ ოპერაციამ უნდა დაამუშაოს. - + Transfer the Z value of the selected feature as the Start Depth for the operation. მონიშნული თვისების Z მნიშვნელობის ოპერაციის StartDepth-ად გამოყენება. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. მონიშნული თვისების Z მნიშვნელობის ოპერაციის საბოლოო სიღრმედ გამოყენება. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth საბოლოო სიღრმე - + Step Down ბიჯი ქვემოთ @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul გაბარიტული სიმაღლე - + + + + - - - - + The tool and its settings to be used for this operation. ხელსაწყო და ამ ოპერაციაში გამოყენებული მისი პარამეტრები. + + + + + + + + + + - - - - - - - - - - Coolant Mode გამაგრილებლის რეჟიმი @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller ხელსაწყოს კონტროლერი - - + + Coolant გამაგრილებელი @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul ოპერაციის ტიპი - + Step Over Percent მიწოდების ბიჯის პროცენტულობა @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul დამასრულებელი პროფილი - + Use Outline კიდის გამოყენება @@ -1122,13 +1099,13 @@ Reset deletes all current items from the list and fills the list with all circul Stop - გაჩერება + შეჩერება - + - + Direction მიმართულება @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul მიმართულება, რომლითაც პროფილი შესრულდება. საათის, თუ საათის საწინააღმდეგო მიმართულებით. - + CW სმ - + CCW სსს @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul ირიბპირა შეერთება + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm მმ @@ -1193,7 +1170,7 @@ Reset deletes all current items from the list and fills the list with all circul TextLabel - ტექსტური წარწერა + ტექსტური ჭდე @@ -1238,7 +1215,7 @@ Reset deletes all current items from the list and fills the list with all circul None - არცერთი + არაფერი @@ -1359,7 +1336,7 @@ Reset deletes all current items from the list and fills the list with all circul Enable - ჩაართვა + ჩართვა @@ -1384,12 +1361,12 @@ Reset deletes all current items from the list and fills the list with all circul Climb - Climb + აღმართი Conventional - Conventional + მიღებული @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul შაბლონი + + - - The tool and its settings to be used for this operation @@ -1434,7 +1411,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Spiral - ხვეული + სპირალური @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance მასალის დასაშვებობა + - Use Start Point სასტარტო წერტილის გამოყენება @@ -1682,7 +1669,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Vertex - Vertex + წვერო @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height ტრაექტორიის ბოლოს დაგრძელება - + Layer Mode ფენის რეჟიმი @@ -1779,7 +1766,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Perpendicular - Perpendicular + მართობულად @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height სკანირების ტიპი - + Cut Pattern ნიმუშის ამოჭრა @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height ბოლო X ზედაპირების თავიდან აცილება - + Bounding Box - შემომსაზღვრელი ჩარჩო + შემზღუდავი ოთხკუთხედი - + Select the overall boundary for the operation. აირჩიეთ ოპერაციის საერთო საზღვარი. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. ოპერაციის სიღრმეზე ერთი გავლის დასრულება. ან აირჩიეთ მრავალი გავლა, სრული სიღრმის მისაღწევად. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. სამიზნე ზედაპირიდან Z-ღერძის სიღრმის წანაცვლების დაყენება. - + Set the sampling resolution. Smaller values quickly increase processing time. დააყენეთ სამპლინგის გაფართოება. მცირე მნიშვნელობები სწრაფად ზრდიან დამუშავების დროს. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height ჩართვა, თუ საწყისი წერტილი მითითებულია - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height სიღრმის წანაცვლება - + Step over გადაბიჯება - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval სინჯის ინტერვალი - + Optimize Linear Paths ხაზოვანი ტრაექტორიების ოპტიმიზაცია @@ -2002,7 +1989,7 @@ Default: OpToolDiameter Clearance - კლირენსი + გაბარიტები @@ -2063,12 +2050,12 @@ Default: 3 mm Horizontal - ჰორიზონტალურად + თარაზული Vertical - ვერტიკალურად + შვეული @@ -2081,8 +2068,8 @@ Default: 3 mm ორიენტაცია - + Type ტიპი @@ -2104,7 +2091,7 @@ Default: 3 mm Pitch - ტონი + ჩაწოდების ბიჯი @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation ოპერაცია @@ -2371,7 +2358,7 @@ If the radius is bigger than that which the tag shape itself supports, the resul Template - შაბლონი + ნიმუში @@ -2561,12 +2548,12 @@ If left empty no template will be preselected. Stock - ნედლეული + მოყოლილი Create Box - პარალელეპიპედის შექმნა + ყუთის შექმნა @@ -2617,7 +2604,7 @@ If left empty no template will be preselected. Placement - მდებარეობა + განლაგება @@ -2632,7 +2619,7 @@ If left empty no template will be preselected. Position - Position + მდებარეობა @@ -2660,7 +2647,7 @@ Should multiple tools or tool shapes with the same name exist in different direc None - არცერთი + არაფერი @@ -2758,7 +2745,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Shape - ფიგურა + მოხაზულობა @@ -2768,7 +2755,7 @@ Should multiple tools or tool shapes with the same name exist in different direc None - არცერთი + არაფერი @@ -2798,7 +2785,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Advanced - დამატებით + დამატებითი @@ -2973,12 +2960,12 @@ Should multiple tools or tool shapes with the same name exist in different direc Tangent - მხები + ტანგენსი Perpendicular - Perpendicular + მართობულად @@ -2989,7 +2976,7 @@ Should multiple tools or tool shapes with the same name exist in different direc LeadInOut - LeadInOut + შეყვანა/გაყვანა @@ -3033,8 +3020,8 @@ Should multiple tools or tool shapes with the same name exist in different direc ღერძების რუკის ზღუდარი - + Radius რადიუსი @@ -3107,7 +3094,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Dogbone - Dogbone + ძაღლისძვალი @@ -3142,12 +3129,12 @@ Should multiple tools or tool shapes with the same name exist in different direc Left - მარცხნივ + მარცხენა Right - მარჯვნივ + მარჯვენა @@ -3167,12 +3154,12 @@ Should multiple tools or tool shapes with the same name exist in different direc custom - ხელით მითითებული + ხელით fixed - დამაგრებული + ფიქსირებული @@ -3333,7 +3320,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Remove - მოცილება + წაშლა @@ -3368,7 +3355,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Step Down - ბიჯი ქვემოთ + შესვლის ბიჯი @@ -3449,8 +3436,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator ტრაექტორიის სიმულატორი @@ -3532,7 +3519,7 @@ Should multiple tools or tool shapes with the same name exist in different direc TextLabel - ტექსტური წარწერა + ტექსტური ჭდე @@ -3555,7 +3542,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Shape - ფიგურა + მოხაზულობა @@ -3570,7 +3557,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Display Name - ნაგულისხმევი სახელი + საჩვენებელი სახელი @@ -3643,7 +3630,7 @@ Should multiple tools or tool shapes with the same name exist in different direc TextLabel - ტექსტური წარწერა + ტექსტური ჭდე @@ -3713,7 +3700,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Output File - გასატანი ფაილი + გამოტანის ფაილი @@ -3777,7 +3764,7 @@ FreeCAD has no knowledge of where a particular coordinate system exists within t Setup - დაყენება + მორგება @@ -3787,12 +3774,12 @@ FreeCAD has no knowledge of where a particular coordinate system exists within t Stock - ნედლეული + მოყოლილი Create Box - პარალელეპიპედის შექმნა + ყუთის შექმნა @@ -3883,12 +3870,12 @@ FreeCAD has no knowledge of where a particular coordinate system exists within t X-Axis - X ღერძი + X-ღერძი Y-Axis - Y ღერძი + Y-ღერძი @@ -4093,7 +4080,7 @@ Default: OpFinalDepth Step Down - ბიჯი ქვემოთ + შესვლის ბიჯი @@ -4112,7 +4099,7 @@ Default: OpToolDiameter Expression - გამოთქმა + გამოსახულება @@ -4122,7 +4109,7 @@ Default: OpToolDiameter Clearance - კლირენსი + გაბარიტები @@ -4183,7 +4170,7 @@ Default: 3 mm Remove - მოცილება + წაშლა @@ -4193,12 +4180,12 @@ Default: 3 mm Horizontal - ჰორიზონტალურად + თარაზული Vertical - ვერტიკალურად + შვეული @@ -4341,10 +4328,9 @@ For example: აღარ მაჩვენო - + Edit - int = field(default=None) ჩასწორება @@ -4366,7 +4352,7 @@ For example: H H is horizontal feed rate. Must be as short as possible - H + სთ @@ -4475,19 +4461,19 @@ For example: სსს - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. არაბრტყელი ადაპტიური სტარტიც ხელმიუწვდომელია. - + %s is not a Base Model object of the job %s %s დავალებისთვის %s ძირითადი მოდელის ობექტს არ წარმოადგენს @@ -4507,10 +4493,10 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job - აირჩიეთ ტრაექტორიის ამოცანა + აირჩიეთ ტრაექტორიის დავალება @@ -4612,6 +4598,7 @@ For example: List of custom property groups + int = field(default=None) ხელით მითითებული თვისების ჯგუფების სია @@ -4674,12 +4661,12 @@ For example: + + - - The base path to modify ჩასასწორებელი საბაზისო ტრაექტორია @@ -4973,9 +4960,9 @@ For example: დავალების ყველა ხელსაწყოს კონტროლერის კოლექცია + - Operations Cycle Time Estimation ოპერაციის ციკლის დროს შეფასება @@ -5060,8 +5047,8 @@ For example: სამაგრის წანაცვლების ნომერი - + Make False, to prevent operation from generating code გამორთეთ ოპერაციისთვის კოდის გენერაციის ხელის შესაშლელად @@ -5081,8 +5068,8 @@ For example: გავლენა აქვს სიზუსტეზე და წარმადობაზე - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5258,10 +5245,10 @@ For example: ამ ტრაექტორიის საწყისი წერტილი - - - + + + Make True, if specifying a Start Point ჩართვა, თუ საწყისი წერტილი მითითებულია @@ -5375,9 +5362,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved დამატებით ამოსატვიფრი ძირითადი ობიექტები @@ -5418,9 +5405,9 @@ For example: საწყისი რადიუსი - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5440,9 +5427,9 @@ For example: მითითებულ ზედაპირთან შედარებით აწეული ადგილების ღარვის გამორიცხვა. - - + + Choose how to process multiple Base Geometry features. აირჩიეთ, როგორ დამუშავდება მრავალი ძირითადი გეომეტრიის მქონე თვისებები. @@ -5463,8 +5450,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) ხელსაწყოს მჭრელი იარაღის მიმართულება საათის(ს. მ.) ან საათის საწინააღმდეგო (ს. ს. მ.) მიმართულებით მოძრაობა @@ -5500,10 +5487,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5565,8 +5569,8 @@ For example: ჩართეთ, თუ იყენებთ ხელსაწყოს რადიუსის კომპენსაციას - + Show the temporary path construction objects when module is in DEBUG mode. მოდულის გამართვის რეჟიმში ყოფნის დროს დროებითი ტრაექტორიის კონსტრუქციული ობიექტების ჩვენება. @@ -5582,8 +5586,8 @@ For example: შეიყვანეთ სლოტის ტრაექტორიის სასურველი ბოლო წერტილი. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5599,8 +5603,8 @@ For example: დადებითი მნიშვნელობა დააგრძელებს ტრაექტორიის ბოლოს, უარყოფითი კი დაამოკლებს. - + Complete the operation in a single pass at depth, or multiple passes to final depth. ოპერაციის სიღრმეზე ერთი გავლის დასრულება. ან აირჩიეთ მრავალი გავლა, სრული სიღრმის მისაღწევად. @@ -5631,8 +5635,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation ამ ოპერაციის ტრაექტორიის საწყისი ხელით მითითებული წერტილი @@ -6062,7 +6066,7 @@ For example: PropertyBag - PropertyBag + თვისებების ნაკრები @@ -6147,24 +6151,24 @@ For example: Path_Dressup - + Please select one path object გთხოვთ აირჩიოთ ერთი ტრაექტორიის ობიექტი - + The selected object is not a path მონიშნული ობიექტი ტრაექტორია არაა - + Please select a Path object აირჩიეთ ტრაექტორიის ობიექტი @@ -6188,7 +6192,7 @@ For example: Dogbone - Dogbone + ძაღლისძვალი @@ -6265,7 +6269,7 @@ For example: Helix - სპირალები + სპირალი @@ -6285,12 +6289,12 @@ For example: Custom - მომხმარებლის + ხელით RampEntry - RampEntry + ინსტრუმენტის საფეხურეობრივი შეყვანა @@ -6321,8 +6325,8 @@ For example: არჩიეთ ზონდის წერტილის ფაილი - + All Files (*.*) ყველა ფაილი (*.*) @@ -6334,12 +6338,12 @@ For example: Probe - სინჯი + ზონდი Create a Probing Grid from a job stock - Create a Probing Grid from a job stock + დავალებების ნაკრებიდან ზონდი ბადის შექმნა @@ -6406,7 +6410,7 @@ For example: Select Output File - აირჩიეთ გამოსატანი ფაილი + აირჩიეთ გამოტანის ფაილი @@ -6471,7 +6475,7 @@ For example: Solids - მასივები + მყარი სხეულები @@ -6530,7 +6534,7 @@ For example: Fixture - სამაგრი + ჩამჭერი @@ -6838,7 +6842,7 @@ For example: Inside - შიგნით + შიგნიდან @@ -6853,7 +6857,7 @@ For example: Adaptive - ადაპტაციური + შეგუებადი @@ -6873,13 +6877,18 @@ For example: no job for operation %s found. დავალება ოპისთვის %s ნაპოვნი არაა. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation None - არცერთი + არაფერი @@ -6927,7 +6936,7 @@ For example: None - არცერთი + არაფერი @@ -6965,7 +6974,7 @@ For example: Helix - სპირალები + სპირალი @@ -6976,16 +6985,16 @@ For example: PathProfile - + Outside გარედან - + Inside - შიგნით + შიგნიდან @@ -7058,7 +7067,7 @@ For example: Stock - ნედლეული + მოყოლილი @@ -7073,12 +7082,12 @@ For example: Climb - Climb + აღმართი Conventional - Conventional + მიღებული @@ -7088,7 +7097,7 @@ For example: Edge - წიბო + კუთხე @@ -7119,14 +7128,14 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. საბოლოო სიღრმე მონიშნული ზედაპირ(ებ)-ზე ZMin-ზე ნაკლებია. Normal - ნორმალური + ნორმალი @@ -7139,12 +7148,12 @@ For example: Y - + Pass Extension გასაგრილებლად მიშვების გაფართოება - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. @@ -7189,7 +7198,7 @@ For example: Perpendicular - Perpendicular + მართობულად @@ -7218,18 +7227,18 @@ For example: Long Edge - გრძელი წიბო + გრძელი კუთხე Short Edge - მოკლე წიბო + მოკლე კუთხე Vertex - Vertex + წვერო @@ -7433,7 +7442,7 @@ For example: Stock - ნედლეული + მოყოლილი @@ -7453,22 +7462,22 @@ For example: Custom - მომხმარებლის + ხელით Conventional - Conventional + მიღებული Climb - Climb + აღმართი Circular - მრგვალი + წრიული @@ -7488,7 +7497,7 @@ For example: Spiral - ხვეული + სპირალური @@ -7530,7 +7539,7 @@ For example: None - არცერთი + არაფერი @@ -7671,12 +7680,12 @@ For example: Climb - Climb + აღმართი Conventional - Conventional + მიღებული @@ -7725,7 +7734,7 @@ For example: This operation requires OpenCamLib to be installed. - ოპერაციის შესასრულებლად საჭიროა OpenCamLib-ი. + ოპერაციის შესასრულებლად საჭიროა OpenCamLib. @@ -7745,7 +7754,7 @@ For example: Stock - ნედლეული + მოყოლილი @@ -7755,7 +7764,7 @@ For example: CenterOfBoundBox - მრგვალი ყუთის ცენტრი + შემომსაზღვრელი ჩარჩოს ცენტრი @@ -7765,18 +7774,18 @@ For example: Custom - მომხმარებლის + ხელით Off - გამორთ. + გამორთ Circular - მრგვალი + წრიული @@ -7800,7 +7809,7 @@ For example: Spiral - ხვეული + სპირალური @@ -7811,17 +7820,17 @@ For example: Conventional - Conventional + მიღებული Climb - Climb + აღმართი None - არცერთი + არაფერი @@ -7854,7 +7863,7 @@ For example: Check default value(s). - ნაგულისხმები მნიშვნელობების შემოწმება. + ნაგულისხმევი მნიშვნელობების შემოწმება. @@ -7905,7 +7914,7 @@ For example: operation time is - ოპერაციის დრო + ოპერაციის დროა @@ -8069,7 +8078,7 @@ Aborting op creation Custom - მომხმარებლის + ხელით @@ -8131,7 +8140,7 @@ Aborting op creation Face - სიბრტყე + სახე @@ -8202,7 +8211,7 @@ Aborting op creation Waterline - ვათერხაზი + წყალხაზი @@ -8246,12 +8255,12 @@ Aborting op creation Reverse - რევერსი + პირიქით None - არცერთი + არაფერი diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ko.ts b/src/Mod/Path/Gui/Resources/translations/Path_ko.ts index 9c3e8023b6..90a3f42a3e 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ko.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ko.ts @@ -116,7 +116,7 @@ Select a template to be used for the job. In case there are no templates you can create one through the popup menu of an existing job. Name the file job_*.json and place it in the macro or the path directory (see preferences) in order to be selectable from this list. - Select a template to be used for the job. In case there are no templates you can create one through the popup menu of an existing job. Name the file job_*.json and place it in the macro or the path directory (see preferences) in order to be selectable from this list. + 금회 업무에서 사용할 기본형을 선택하세요, 업무별 기본형들이 없는 경우는 여러분이 기존 업무 메뉴의 팝업메뉴에서 새로 만들수 있습니다, 파일명을 job_파일명.json 이런식으로 정하고, 매크로나 path용 폴더에 저장해 두면 이 목록에서 선택하게 될 수 있습니다.(설정 메뉴를 참고 하세요) @@ -188,9 +188,8 @@ Enable to include values of the SetupSheet in the template. Any values of the SetupSheet that are changed from their default are preselected. If this field not selected the current SetupSheet was not modified. - Enable to include values of the SetupSheet in the template. - -Any values of the SetupSheet that are changed from their default are preselected. If this field not selected the current SetupSheet was not modified. + 기본형의 '설정값시트'에 있는 값을 포함 할 수 있게 합니다. +설정값시트에 있는 모든 값은 기본값으로 부터 변경하려면 그 항목이 미리 선택되어져 있어야 합니다. 이 칸을 사용하여 선택 되어 있지 않으면 현재의 설정값시트에 있는 값은 재설정 되지 않습니다. @@ -224,11 +223,7 @@ Any values of the SetupSheet that are changed from their default are preselected This option is most useful if stock is a box or cylinder, or if the machine has a standard placement for machining. Note that this option is disabled if a stock object from an existing solid is used in the job - they cannot be stored in a template. - If enabled the creation of stock is included in the template. If a template does not include a stock definition the default stock creation algorithm will be used (creation from the Base object's bounding box). - -This option is most useful if stock is a box or cylinder, or if the machine has a standard placement for machining. - -Note that this option is disabled if a stock object from an existing solid is used in the job - they cannot be stored in a template. + 기본형들에 공작물 생성에 관련 항목이 수록되어 있다면 이용할 수 있습니다. 기본형들에 공작물에 대한 정의들이 수록되어 있지 않으면 기본적인 공작물 생성 절차 알고리즘이 사용되어질 겁니다( 기본형 물체 꺼내기 상자로 부터 생성됨). @@ -260,9 +255,8 @@ Note that this option is disabled if a stock object from an existing solid is us Enable all operations for which the configuration values should be exported. Note that only operations which currently have configuration values set are listed. - Enable all operations for which the configuration values should be exported. - -Note that only operations which currently have configuration values set are listed. + 설정값을 옮겨 나갈 수 있게 모든 작업명이 가능하게 하세요. +주의할 것은 현재 설정값 세트를 갖고 있는 작업명만 목록에 수록되어 있다는 겁니다. @@ -276,11 +270,9 @@ Note that only operations which currently have configuration values set are list For Box and Cylinder stocks this means the actual size of the stock solid being created. For stock from the Base object's bounding box it means the extra material in all directions. A stock object created from such a template will get its basic size from the new job's Base object and apply the stored extra settings. - If enabled the current size settings for the stock object are included in the template. - -For Box and Cylinder stocks this means the actual size of the stock solid being created. - -For stock from the Base object's bounding box it means the extra material in all directions. A stock object created from such a template will get its basic size from the new job's Base object and apply the stored extra settings. + 공작 대상에 관한 현재 치수 설정들을 사용할 수 있으면 기본형에 수록됩니다. +'박스나 실린더 공작물에 관한 것' 이라는 것은 나중에 만들어진 공작물 실물체의 치수들이라는 겁니다. +기본형 물체 꺼내기 상자에서 온 공작물 이라는 것은 임의 방향에 추가되는 물체라는 겁니다. 그런 기본형으로 부터 생성된 공작물 물체에 적용된 기본적인 치수와 기타의 설정들은 새 작업을 위한 기본 물체들에 저장되어 있던 겁니다. @@ -547,31 +539,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form 양식 @@ -742,17 +711,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add 추가하기 - - + + Remove 제거 @@ -807,8 +776,8 @@ Reset deletes all current items from the list and fills the list with all circul 재설정 - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +822,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +862,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +909,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +946,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tool Controller - - + + Coolant Coolant @@ -1018,8 +987,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1038,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1094,10 @@ Reset deletes all current items from the list and fills the list with all circul 중지 - + - + Direction 방향 @@ -1138,15 +1107,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW 시계방향 - + CCW CCW @@ -1171,6 +1140,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1151,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1366,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1455,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1729,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1771,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1787,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1804,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1836,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1853,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1889,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over 한 단계 진행 - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1905,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2060,8 @@ Default: 3 mm Orientation - + Type 유형 @@ -2112,8 +2091,8 @@ Default: 3 mm TPI - + Operation Operation @@ -3034,8 +3013,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Radius @@ -3450,8 +3429,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4322,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) 편집 @@ -4477,19 +4455,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4487,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4592,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4655,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4954,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5041,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5062,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5239,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5356,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5399,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5421,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5444,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5481,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5563,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5580,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5597,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5629,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6145,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6319,8 @@ For example: Select Probe Point File - + All Files (*.*) All Files (*.*) @@ -6875,6 +6871,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6979,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7122,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7142,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_nl.ts b/src/Mod/Path/Gui/Resources/translations/Path_nl.ts index 30dc09ceba..162978ef75 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_nl.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_nl.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Vorm @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Toevoegen - - + + Remove Verwijderen @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Herstel - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Gereedschapsregelaar - - + + Coolant Koelvloeistof @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Profiel voltooien - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Stop - + - + Direction Richting @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW Rechtsom - + CCW Linksom @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Patroon + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Gebruik startpunt @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scantype - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Stap over - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm Oriëntatie - + Type Type @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Bewerking @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Radius @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Laat dit niet meer zien - + Edit - int = field(default=None) Bewerken @@ -4477,19 +4463,19 @@ For example: Linksom - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: Het beginpunt van dit pad - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Startstraal - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Alle bestanden (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Buiten - + Inside Binnen @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_pl.ts b/src/Mod/Path/Gui/Resources/translations/Path_pl.ts index 5854d50114..91498bbe6c 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_pl.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_pl.ts @@ -6,7 +6,7 @@ Path - Ścieżka + CAM @@ -24,7 +24,7 @@ Path - Ścieżka + CAM @@ -47,7 +47,7 @@ Compound - Złożenie + Kształt złożony @@ -60,7 +60,7 @@ Path - Ścieżka + CAM @@ -551,31 +551,8 @@ Dla nadmiaru materiału podstawowego z ramki otaczającej oznacza to naddatek ma Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Formularz @@ -746,17 +723,17 @@ Dla nadmiaru materiału podstawowego z ramki otaczającej oznacza to naddatek ma Czyści listę geometrii bazowych - + Add Dodaj - - + + Remove Usuń @@ -808,11 +785,11 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Reset - Reset + Resetuj - + All objects will be processed using the same operation properties. Wszystkie obiekty będą przetwarzane przy użyciu tych samych właściwości operacji. @@ -857,32 +834,32 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Wszystkie miejsca będą przetwarzane przy użyciu tych samych właściwości operacji. - + Start Depth Głębokość początkowa - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Zacznij operację od Głębokości. Najwyższy punkt w osi Z, który ma zostać przetworzony. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Przenieś wartość Z wybranej cechy jako początkową głębokość dla tej operacji - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. Głębokość operacji, która odpowiada najniższej wartości w osi Z, którą operacja musi przetwarzać. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Przenieś wartość Z wybranej cechy jako końcową głębokość operacji @@ -897,14 +874,14 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Głębokość operacji zakończenia obróbki. Może być użyta do uzyskania czystszego wykończenia. - + Final Depth Ostateczna głębokość - + Step Down Krok w dół @@ -944,34 +921,34 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Wysokość prześwitu - + + + + - - - - + The tool and its settings to be used for this operation. Narzędzie i jego ustawienia, które będą używane do tej operacji. + + + + + + + + + + - - - - - - - - - - Coolant Mode Tryb chłodzenia @@ -981,28 +958,28 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Kontroler narzędzi - - + + Coolant Chłodziwo @@ -1022,8 +999,8 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Typ operacji - + Step Over Percent Krok dalej procentowo @@ -1073,8 +1050,8 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Wykończ profil - + Use Outline Użyj konturu @@ -1129,10 +1106,10 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Zatrzymaj - + - + Direction Kierunek @@ -1142,15 +1119,15 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Kierunek, w którym wykonywany jest profil, zgodnie z ruchem wskazówek zegara lub w kierunku przeciwnym do ruchu wskazówek zegara. - + CW Zgodnie ze wskazówkami zegara - + CCW Przeciwnie do ruchu wskazówek zegara @@ -1175,6 +1152,8 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Połączenie ukośne + + @@ -1184,8 +1163,6 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr - - mm mm @@ -1197,7 +1174,7 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr TextLabel - Etykieta tekstu + Etykieta @@ -1237,7 +1214,7 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Extend Depth - Rozszerz głębokość + Pogłębienie @@ -1401,11 +1378,11 @@ Zresetuje wszystkie bieżące elementy z listy i wypełnia listę wszystkimi okr Wzór + + - - The tool and its settings to be used for this operation @@ -1438,7 +1415,7 @@ Ta druga opcja może być użyta do ściany całego obszaru naddatku, aby zapewn Spiral - Spirala + Spiralnie @@ -1448,7 +1425,7 @@ Ta druga opcja może być użyta do ściany całego obszaru naddatku, aby zapewn Line - Linia + Liniowo @@ -1490,15 +1467,25 @@ Ta druga opcja może być użyta do ściany całego obszaru naddatku, aby zapewn If selected the operation uses the outline of the selected base geometry and ignores all holes and islands W przypadku wybrania tej opcji operacja wykorzystuje kontur wybranej geometrii bazowej i ignoruje wszystkie otwory i wyspy + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Dodatek materiału + - Use Start Point Użyj punktu początkowego @@ -1754,9 +1741,9 @@ Ta druga opcja może być użyta do ściany całego obszaru naddatku, aby zapewn Końcowy zakres ścieżki - + Layer Mode Tryb warstw @@ -1796,8 +1783,8 @@ Ta druga opcja może być użyta do ściany całego obszaru naddatku, aby zapewn Metoda skanowania - + Cut Pattern Wytnij wzór @@ -1812,14 +1799,14 @@ Ta druga opcja może być użyta do ściany całego obszaru naddatku, aby zapewn Unikaj ostatnich X ścian - + Bounding Box Ramka otaczająca - + Select the overall boundary for the operation. Wybierz ogólną granicę dla operacji. @@ -1830,14 +1817,14 @@ Ta druga opcja może być użyta do ściany całego obszaru naddatku, aby zapewn Obrotowy: Skanowanie obrotowe w 4 osiach. - + Complete the operation in a single pass at depth, or multiple passes to final depth. - Wykonaj operację w jednym przejściu na głębokość lub w kilku przejściach do głębokości końcowej. + Wykonaj operację w jednym przejściu na określoną głębokość lub w kilku przejściach do głębokości końcowej. - + Set the geometric clearing pattern to use for the operation. Ustaw geometryczny wzorzec oczyszczenia, który ma być używany podczas operacji. @@ -1862,27 +1849,27 @@ Obrotowy: Skanowanie obrotowe w 4 osiach. Linie frezowania wgłębnego tworzone są równoległe do tej osi. - + Set the Z-axis depth offset from the target surface. Ustaw przesunięcie głębokości osi Z od powierzchni docelowej. - + Set the sampling resolution. Smaller values quickly increase processing time. - Ustaw rozdzielczość próbkowania. Im mniejsza wartość tym dłuższy czas przetwarzania. + Ustaw rozdzielczość próbkowania. Im mniejsza wartość, tym dłuższy czas przetwarzania. Make True, if specifying a Start Point - Upewnij się, że określasz punkt początkowy + Ustaw "Prawda", jeśli określono punkt początkowy - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. - Włącz optymalizację ścieżek liniowych (punktów współliniowych). Usuwa niepotrzebne punkty współliniowe z wygenerowanego G-code. + Włącz optymalizację ścieżek liniowych (punktów współliniowych). Usuwa niepotrzebne punkty współliniowe z wygenerowanego G-Code. @@ -1915,14 +1902,14 @@ Obrotowy: Skanowanie obrotowe w 4 osiach. Głębokość przesunięcia - + Step over Krok dalej - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1931,14 +1918,14 @@ A step over of 100% results in no overlap between two different cycles. Przekroczenie wartości 100% powoduje, że dwa różne cykle nie nakładają się na siebie. - + Sample interval Odstęp między próbkami - + Optimize Linear Paths Optymalizuj ścieżki liniowe @@ -2007,7 +1994,7 @@ Domyślnie: OpToolDiameter Clearance - Pasowanie + Prześwit @@ -2086,8 +2073,8 @@ Domyślnie: 3 mm Orientacja - + Type Typ @@ -2109,7 +2096,7 @@ Domyślnie: 3 mm Pitch - Nachylenie + Odstęp @@ -2117,8 +2104,8 @@ Domyślnie: 3 mm TPI - + Operation Operacja @@ -2163,7 +2150,7 @@ Domyślna wartość = 10 Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). Wybierz algorytm do użycia: -OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). +OCL Dropcutter* lub Eksperymentalny (nieoparty na OCL). @@ -2405,7 +2392,7 @@ Jeśli promień jest większy niż ten, który utrzymuje sam kształt podpory, w Post Processor - Postprocesor + Przetwarzanie końcowe @@ -2577,7 +2564,7 @@ Jeśli pole pozostanie puste, żaden szablon nie zostanie wstępnie wybrany. Create Box - Utwórz pole + Utwórz sześcian @@ -2982,7 +2969,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Tangent - Stycznie + Styczna @@ -3042,8 +3029,8 @@ Should multiple tools or tool shapes with the same name exist in different direc Wykończenie odwzorowanie osi - + Radius Promień @@ -3055,7 +3042,7 @@ Should multiple tools or tool shapes with the same name exist in different direc The radius of the wrapped axis - Dostosowany promień osi + Promień mapowania wokół osi @@ -3151,12 +3138,12 @@ Should multiple tools or tool shapes with the same name exist in different direc Left - Od lewej + Z lewej Right - Od prawej + Z prawej @@ -3176,12 +3163,12 @@ Should multiple tools or tool shapes with the same name exist in different direc custom - niestandardowe + użytkownika fixed - nieruchomy + stały @@ -3211,12 +3198,12 @@ Should multiple tools or tool shapes with the same name exist in different direc Angles less than filter angle will not receive corner actions - Kąty mniejsze, niż kąt filtra nie otrzymają akcji narożników + Kąty mniejsze niż kąt filtrowania nie otrzymają operacji narożnikowych Distance the point trails behind the spindle - Jak daleko punkt idzie za wrzecionem + Odległość punktu śladu za wrzecionem @@ -3372,7 +3359,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Final Depth - Ostateczna głębokość + Głębokość końcowa @@ -3382,7 +3369,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Finish Step Down - Zakończ krokiem w dół + Zakończ krok w dół @@ -3458,8 +3445,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Symulator obróbki @@ -3481,7 +3468,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Play - Odtwarzaj + Odtwórz @@ -3541,7 +3528,7 @@ Should multiple tools or tool shapes with the same name exist in different direc TextLabel - Etykieta tekstu + Etykieta @@ -3619,7 +3606,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Cutting Edge Height - Wysokość krawędzi skawającej + Długość krawędzi skrawającej @@ -3652,7 +3639,7 @@ Should multiple tools or tool shapes with the same name exist in different direc TextLabel - Etykieta tekstu + Etykieta @@ -3800,7 +3787,7 @@ FreeCAD has no knowledge of where a particular coordinate system exists within t Create Box - Utwórz pole + Utwórz sześcian @@ -3936,7 +3923,7 @@ FreeCAD has no knowledge of where a particular coordinate system exists within t Compound - Złożenie + Kształt złożony @@ -4004,7 +3991,7 @@ Domyślnie: 5mm Final Depth - Ostateczna głębokość + Głębokość końcowa @@ -4125,7 +4112,7 @@ Domyślnie: OpToolDiameter Clearance - Pasowanie + Prześwit @@ -4191,7 +4178,7 @@ Domyślnie: 3 mm Rapid Speeds - Szybki posów + Posuw szybki @@ -4344,11 +4331,10 @@ Na przykład: Nie wyświetlaj tego więcej - + Edit - int = field(default=None) - Edycja + Edytuj @@ -4478,19 +4464,19 @@ Na przykład: Przeciwnie do ruchu wskazówek zegara - + A planar adaptive start is unavailable. The non-planar will be attempted. Adaptacyjny start planarny jest niedostępny. Zostanie podjęta próba startu nieplanarnego. - - + + The non-planar adaptive start is also unavailable. Nie jest również dostępny nieplanarny start adaptacyjny. - + %s is not a Base Model object of the job %s %s nie jest obiektem modelu podstawowego zadania %s @@ -4510,8 +4496,8 @@ Na przykład: Profiluj cały model, wybrane ściany lub wybrane krawędzie - + Choose a Path Job Wybierz ścieżkę zadania @@ -4615,6 +4601,7 @@ Na przykład: List of custom property groups + int = field(default=None) Lista grup właściwości niestandardowych @@ -4677,12 +4664,12 @@ Na przykład: + + - - The base path to modify Ścieżka bazowa do modyfikacji @@ -4976,9 +4963,9 @@ Na przykład: Zbiór wszystkich kontrolerów narzędzi do pracy + - Operations Cycle Time Estimation Szacunkowy czas trwania cyklu operacji @@ -5063,8 +5050,8 @@ Na przykład: Numer przesunięcia urządzenia - + Make False, to prevent operation from generating code Zaznacz "Fałsz”, jeśli chcesz uniemożliwić operacji generowanie jakiegokolwiek kodu @@ -5084,8 +5071,8 @@ Na przykład: Wpływa na dokładność i wydajność - + Percent of cutter diameter to step over on each pass Procent średnicy freza do przesunięcia przy każdym przejściu @@ -5261,10 +5248,10 @@ Na przykład: Punkt początkowy tej ścieżki - - - + + + Make True, if specifying a Start Point Upewnij się, że określasz punkt początkowy @@ -5378,9 +5365,9 @@ Na przykład: Zastosuj wycofanie G99: w tej operacji wycofuj tylko do wysokości "WysokośćWycofania" pomiędzy otworami - + Additional base objects to be engraved Dodatkowe obiekty podstawowe do grawerowania @@ -5421,9 +5408,9 @@ Na przykład: Promień początkowy - + Extra value to stay away from final profile- good for roughing toolpath Dodatkową wartość odległości od profilu końcowego odpowiednia do obróbki zgrubnej @@ -5443,9 +5430,9 @@ Na przykład: Wyklucz frezowanie podwyższonych obszarów wewnątrz powierzchni czołowej. - - + + Choose how to process multiple Base Geometry features. Wybierz sposób przetwarzania wielu elementów geometrii podstawowej. @@ -5466,8 +5453,8 @@ Na przykład: Przetwarzaj model i materiał w elemencie bez wybranej geometrii bazowej. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) Kierunek, w którym narzędzie porusza się po ścieżce wokół części, zgodnie (CW) lub przeciwnie (CCW) do ruchu wskazówek zegara @@ -5503,10 +5490,27 @@ Na przykład: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Ostatni promień przejścia. Jeśli 0, 50% noża jest używane. Dostrajanie może być użyte do poprawy przejścia dla niektórych kształtów + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5568,8 +5572,8 @@ Na przykład: Ustaw wartość Prawda, jeśli używasz kompensacji promienia frezu - + Show the temporary path construction objects when module is in DEBUG mode. Pokaż tymczasowe obiekty konstrukcyjne ścieżki, gdy moduł jest w trybie DEBUGOWANIA. @@ -5585,8 +5589,8 @@ Na przykład: Wprowadź przykładowy punkt końcowy dla ścieżki rowka. - + Set the geometric clearing pattern to use for the operation. Ustaw geometryczny wzorzec oczyszczenia, który ma być używany podczas operacji. @@ -5602,8 +5606,8 @@ Na przykład: Wartość dodatnia przedłuża koniec ścieżki, wartość ujemna skraca go. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Wykonaj operację w jednym przejściu na głębokość lub w kilku przejściach do głębokości końcowej. @@ -5634,8 +5638,8 @@ Na przykład: Włącz, aby odwrócić kierunek skrawania ścieżki rowka. - + The custom start point for the path of this operation Niestandardowy punkt początkowy dla ścieżki tej operacji @@ -6153,24 +6157,24 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). Path_Dressup - + Please select one path object Proszę wybrać jeden obiekt ścieżki - + The selected object is not a path Wybrany obiekt nie jest ścieżką - + Please select a Path object Proszę wybrać obiekt ścieżki @@ -6327,8 +6331,8 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). Wybierz plik punktów pomiarowych - + All Files (*.*) Wszystkie pliki (*.*) @@ -6422,12 +6426,12 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). Unsupported stock object %s - Nieobsługiwany obiekt naddatku %s + Nieobsługiwany obiekt półproduktu %s Unsupported stock type %s (%d) - Nieobsługiwany typ naddatku %s (%d) + Nieobsługiwany typ półproduktu %s (%d) @@ -6808,7 +6812,7 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). Note - Notatka + Uwaga @@ -6879,6 +6883,11 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). no job for operation %s found. nie znaleziono zadań dla operacji %s. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6982,14 +6991,14 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). PathProfile - + Outside Na zewnątrz - + Inside Wewnątrz @@ -7125,14 +7134,14 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). PathPocket - + Final depth set below ZMin of face(s) selected. Głębokość końcowa ustawiona poniżej Z min dla wybranych powierzchni. Normal - Normalny + Wektor normalny @@ -7145,12 +7154,12 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). Y - + Pass Extension Zakres przejść - + The distance the facing operation will extend beyond the boundary shape. Odległość, na jaką skierowana jest operacja, przekroczy granicę kształtu. @@ -7224,12 +7233,12 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). Long Edge - Krawędź długa + Dłuższa krawędź Short Edge - Krawędź krótka + Krótsza krawędź @@ -7439,7 +7448,7 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). Stock - Półprodukt + Półwyrób @@ -7556,7 +7565,7 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). Planar - Płaski + Planarny @@ -7736,7 +7745,7 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). OCL Dropcutter - Frezowanie OCL + Rwanie wióra OCL @@ -7788,7 +7797,7 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). CircularZigZag - Okrągły zygzak + Kolisty zygzak @@ -7827,7 +7836,7 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). None - Brak + Żaden @@ -7865,7 +7874,7 @@ OL Dropcutter* lub Eksperymentalny (nieoparty na OCL). The GeometryTolerance for this Job is 0.0. - TolerancjaGeometrii dla tego zadania wynosi 0.0. + Tolerancja Geometrii dla tego zadania wynosi 0,0. @@ -8408,7 +8417,7 @@ Przerwanie procesu tworzenia Path - Ścieżka + CAM diff --git a/src/Mod/Path/Gui/Resources/translations/Path_pt-BR.ts b/src/Mod/Path/Gui/Resources/translations/Path_pt-BR.ts index d756c88d37..025a8e25bd 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_pt-BR.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_pt-BR.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Formulário @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Adicionar - - + + Remove Remover @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Restaurar - + All objects will be processed using the same operation properties. Todos os objetos serão processados usando as mesmas propriedades da operação. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul Todas as localizações serão processadas usando as mesmas propriedades de operação. - + Start Depth Profundidade inicial - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Profundidade final - + Step Down Passo Abaixo @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Altura livre - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Modo de resfriamento @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Code - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Controlador de ferramenta - - + + Coolant Líquido de refrigeração @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Tipo de operação - + Step Over Percent Porcentagem de sobreposição @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Perfil de acabamento - + Use Outline Usar contorno @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Parar - + - + Direction Direção @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW Sentido Horário - + CCW Sentido Anti-horário @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Padrão + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Usar ponto inicial @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Modo de Camadas @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Tipo de escaneamento - + Cut Pattern Padrão de Corte @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Evitar Últimas X Faces - + Bounding Box Caixa delimitadora - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Deslocamento da profundidade - + Step over Avançar - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Intervalo de amostragem - + Optimize Linear Paths Otimizar caminhos lineares @@ -2081,8 +2068,8 @@ Default: 3 mm Orientação - + Type Tipo @@ -2112,8 +2099,8 @@ Default: 3 mm TPP - + Operation Operação @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Raio @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Editar @@ -4477,19 +4463,19 @@ For example: Sentido Anti-horário - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Escolha uma tarefa de trajetória @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Mostra os objetos temporários de construção de trajetória quando o módulo está no modo DEBUG. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Todos os arquivos (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Lado de Fora - + Inside Lado de Dentro @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_pt-PT.ts b/src/Mod/Path/Gui/Resources/translations/Path_pt-PT.ts index 513a5c19ac..10280c3b2e 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_pt-PT.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_pt-PT.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Formulário @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Adicionar - - + + Remove Remover @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Reiniciar - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Controlador de Ferramenta - - + + Coolant Refrigerante @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Parar - + - + Direction Direção @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Ignorar - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Padrão: 3 mm Orientação - + Type Tipo @@ -2112,8 +2099,8 @@ Padrão: 3 mm TPI - + Operation Operação @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Raio @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Editar @@ -4477,19 +4463,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Todos os Ficheiros (*. *) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ro.ts b/src/Mod/Path/Gui/Resources/translations/Path_ro.ts index e81bf7d28d..e5a77c065d 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ro.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ro.ts @@ -550,31 +550,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Formular @@ -745,17 +722,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Adaugă - - + + Remove Elimină @@ -810,8 +787,8 @@ Reset deletes all current items from the list and fills the list with all circul Reinițializare - + All objects will be processed using the same operation properties. Toate obiectele vor fi procesate folosind aceleași proprietăți. @@ -856,32 +833,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -896,14 +873,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -943,34 +920,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Mod Coolant @@ -980,28 +957,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Controler sculă - - + + Coolant Coolant @@ -1021,8 +998,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1072,8 +1049,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1128,10 +1105,10 @@ Reset deletes all current items from the list and fills the list with all circul Stop - + - + Direction Direcţia @@ -1141,15 +1118,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW CW - + CCW CCW @@ -1174,6 +1151,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1183,8 +1162,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1400,11 +1377,11 @@ Reset deletes all current items from the list and fills the list with all circul Model + + - - The tool and its settings to be used for this operation @@ -1489,15 +1466,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Permis material + - Use Start Point Folosește punctul de pornire @@ -1753,9 +1740,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1795,8 +1782,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1811,14 +1798,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Casetă de încadrare - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1828,14 +1815,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1860,14 +1847,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1877,8 +1864,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Activează optimizarea căilor liniare (puncte co-liniare). Elimină puncte co-liniare inutile de la ieșirea prin codul G. @@ -1913,14 +1900,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Deplasare adâncime - + Step over A ieși din - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1929,14 +1916,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Intervalul de eșantionare - + Optimize Linear Paths Optimizare căi liniare @@ -2084,8 +2071,8 @@ Default: 3 mm Orientarea - + Type Tip @@ -2115,8 +2102,8 @@ Default: 3 mm TPI - + Operation Operațiune @@ -3037,8 +3024,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Raza @@ -3453,8 +3440,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4346,10 +4333,9 @@ De exemplu: Don't Show This Anymore - + Edit - int = field(default=None) Editare @@ -4480,19 +4466,19 @@ De exemplu: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4512,8 +4498,8 @@ De exemplu: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Alege o lucrare de traiectorie @@ -4617,6 +4603,7 @@ De exemplu: List of custom property groups + int = field(default=None) Lista grupurilor de proprietăți personalizate @@ -4679,12 +4666,12 @@ De exemplu: + + - - The base path to modify The base path to modify @@ -4978,9 +4965,9 @@ De exemplu: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5065,8 +5052,8 @@ De exemplu: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5086,8 +5073,8 @@ De exemplu: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5263,10 +5250,10 @@ De exemplu: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5380,9 +5367,9 @@ De exemplu: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5423,9 +5410,9 @@ De exemplu: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5445,9 +5432,9 @@ De exemplu: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5468,8 +5455,8 @@ De exemplu: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5505,10 +5492,27 @@ De exemplu: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5570,8 +5574,8 @@ De exemplu: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5587,8 +5591,8 @@ De exemplu: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5604,8 +5608,8 @@ De exemplu: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5636,8 +5640,8 @@ De exemplu: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6152,24 +6156,24 @@ De exemplu: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6326,8 +6330,8 @@ De exemplu: Select Probe Point File - + All Files (*.*) Toate fișierele (*.*) @@ -6878,6 +6882,11 @@ De exemplu: no job for operation %s found. nu a fost găsit niciun job pentru operațiunea %s. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6981,14 +6990,14 @@ De exemplu: PathProfile - + Outside În afara - + Inside În interior @@ -7124,7 +7133,7 @@ De exemplu: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7144,12 +7153,12 @@ De exemplu: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ru.ts b/src/Mod/Path/Gui/Resources/translations/Path_ru.ts index 8b3093d6ef..dee026ce25 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ru.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ru.ts @@ -6,7 +6,7 @@ Path - Path + Траектория @@ -24,7 +24,7 @@ Path - Path + Траектория @@ -47,7 +47,7 @@ Compound - Соединить + Составные @@ -60,7 +60,7 @@ Path - Path + Траектория @@ -131,12 +131,12 @@ Solids - Массивы + Твердотельные объекты 2D - двумерный + 2D @@ -355,7 +355,7 @@ For stock from the Base object's bounding box it means the extra material in all Reverse - Развернуть + Реверс @@ -490,7 +490,7 @@ For stock from the Base object's bounding box it means the extra material in all Remove - Удалить + Убрать @@ -523,7 +523,7 @@ For stock from the Base object's bounding box it means the extra material in all Destination - Куда: + Папка для сохранения @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Форма @@ -742,19 +719,19 @@ For stock from the Base object's bounding box it means the extra material in all Очищает список базовых геометрий - + Add Добавить - - + + Remove - Удалить + Убрать @@ -804,11 +781,11 @@ Reset deletes all current items from the list and fills the list with all circul Reset - Сброс + Сбросить - + All objects will be processed using the same operation properties. Все объекты будут обработаны с использованием одинаковых свойств операции. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul Все места будут обработаны с использованием одинаковых операционных свойств. - + Start Depth Начальная глубина - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Начальная глубина операции. Самая высокая точка по оси Z, которую необходимо обработать. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Передайте значение Z выбранного объекта в качестве начальной глубины операции. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. Глубина операции, которая соответствует наименьшему значению по оси Z, которое необходимо обработать операции. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Передайте значение Z выбранного объекта в качестве конечной глубины операции. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Глубина окончательного разреза операции. Может использоваться для получения более чистой отделки. - + Final Depth Конечная глубина - + Step Down Шаг вниз @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Высота зазора - + + + + - - - - + The tool and its settings to be used for this operation. Инструмент и его настройки, которые будут использоваться для этой операции. + + + + + + + + + + - - - - - - - - - - Coolant Mode Режим охлаждения @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Code - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Контроллер инструмента - - + + Coolant Охлаждающая жидкость @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Тип операции - + Step Over Percent Процент шага(подачи) @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Отделочное (чистовое) профилирование - + Use Outline Использовать контур @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Остановить - + - + Direction Направление @@ -1138,17 +1115,17 @@ Reset deletes all current items from the list and fills the list with all circul Направление, в котором выполняется профиль, по часовой или против часовой стрелки. - + CW - ПЧ + По часовой - + CCW - ПРЧ + Против часовой стрелки @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Угловое соединение + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm мм @@ -1389,7 +1366,7 @@ Reset deletes all current items from the list and fills the list with all circul Conventional - Соглашения + Общепринятый @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Шаблон + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Если выбрано, операция использует контур выбранной базовой геометрии и игнорирует все отверстия и островки + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Допуск материала + - Use Start Point Использовать начальную точку @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Завершение траектории - + Layer Mode Режим слоя @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Тип сканирования - + Cut Pattern Вырезать шаблон @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Избегать последних X фасок - + Bounding Box Габариты - + Select the overall boundary for the operation. Выберите общую границу операции. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Планарное: плоское, трехмерной сканирование поверхности. Вращательное: 4-осное вращательное сканирование. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Завершите операцию за один проход на глубину или за несколько проходов до конечной глубины. - + Set the geometric clearing pattern to use for the operation. Установить шаблон геометрической очистки (чистовой обработки) для использования в операции. @@ -1857,25 +1844,25 @@ The latter can be used to face of the entire stock area to ensure uniform height Линии отреза создаются параллельно этой оси. - + Set the Z-axis depth offset from the target surface. Установите смещение глубины по оси Z от целевой поверхности. - + Set the sampling resolution. Smaller values quickly increase processing time. Установите разрешение выборки. Меньшие значения быстро увеличивают время обработки. Make True, if specifying a Start Point - Установить в Истину, если указывается начальная точка + Установить в Истину если указывается начальная точка - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Включить оптимизацию линейных путей (коллинеарных точек). Удаляет ненужные коллинеарные точки из вывода G-кода. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Смещение Глубины - + Step over Шаг с обходом - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. Шаг свыше 100% приводит к отсутствию перекрытия между двумя разными циклами. - + Sample interval Пример интервала - + Optimize Linear Paths Оптимизация Линейных путей @@ -2059,12 +2046,12 @@ Default: 3 mm Horizontal - По горизонтали + Горизонталь Vertical - По вертикали + Вертикальный @@ -2077,15 +2064,15 @@ Default: 3 mm Ориентация - + Type Тип Fit - подогнать + Посадка @@ -2100,7 +2087,7 @@ Default: 3 mm Pitch - Шаг + Шаг подачи @@ -2108,8 +2095,8 @@ Default: 3 mm Шаг на дюйм - + Operation Операция @@ -2352,7 +2339,7 @@ If the radius is bigger than that which the tag shape itself supports, the resul General - Основные + Главный @@ -2362,7 +2349,7 @@ If the radius is bigger than that which the tag shape itself supports, the resul Path - Path + Траектория @@ -2576,17 +2563,17 @@ If left empty no template will be preselected. Ext. X - Ext. X + Удлинённый Х Ext. Y - Ext. Y + Удлинённый Y Ext. Z - Ext. Z + Удлинённый Z @@ -2627,7 +2614,7 @@ If left empty no template will be preselected. Position - Положение + Позиция @@ -2688,7 +2675,7 @@ Should multiple tools or tool shapes with the same name exist in different direc The default color for new shapes - Цвет по умолчанию для новой формы + Цвет по умолчанию для новых фигур @@ -2708,7 +2695,7 @@ Should multiple tools or tool shapes with the same name exist in different direc The default line thickness for new shapes - Толщина линии по умолчанию для новой формы + Толщина линии по умолчанию для новых деталей @@ -2728,7 +2715,7 @@ Should multiple tools or tool shapes with the same name exist in different direc The default line color for new shapes - Цвет линий по умолчанию для новой формы + Цвет линии по умолчанию для новых фигур @@ -2753,7 +2740,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Shape - Фигура(ы) + Фигура @@ -2793,7 +2780,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Advanced - Дополнительно + Расширенные @@ -2984,7 +2971,7 @@ Should multiple tools or tool shapes with the same name exist in different direc LeadInOut - отвода/подвода + Подача/Отвод @@ -3028,8 +3015,8 @@ Should multiple tools or tool shapes with the same name exist in different direc Использовать маппинг осей - + Radius Радиус @@ -3102,7 +3089,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Dogbone - Стяжка + Собачья кость @@ -3162,12 +3149,12 @@ Should multiple tools or tool shapes with the same name exist in different direc custom - произвольный, пользовательский + произвольный fixed - неподвижно закрепленный + зафиксировано @@ -3197,17 +3184,17 @@ Should multiple tools or tool shapes with the same name exist in different direc Angles less than filter angle will not receive corner actions - Углы меньше угла фильтра не будут получать угловые действия + Углы, меньше угла фильтра, не будут обрабатываться действиями Distance the point trails behind the spindle - Расстояние, на котором точка следует за шпинделем + Расстояние от точки до шпинделя Height to raise during corner action - Высота подъема при повороте + Высота поднимается во время угловой операции @@ -3328,7 +3315,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Remove - Удалить + Убрать @@ -3444,8 +3431,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Симулятор пути @@ -3467,7 +3454,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Play - Начать просмотр + Воспроизвести @@ -3550,7 +3537,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Shape - Фигура(ы) + Фигура @@ -3565,7 +3552,7 @@ Should multiple tools or tool shapes with the same name exist in different direc Display Name - Показать имя + Отображаемое имя @@ -3666,7 +3653,7 @@ Should multiple tools or tool shapes with the same name exist in different direc General - Основные + Главный @@ -3772,7 +3759,7 @@ FreeCAD не знает, где находится конкретная сист Setup - Конфигурация + Настройка @@ -3802,7 +3789,7 @@ FreeCAD не знает, где находится конкретная сист Use Existing Solid - Использовать существующий твердый + Использовать существующее твердое тело @@ -3812,17 +3799,17 @@ FreeCAD не знает, где находится конкретная сист Ext. X - Ext. X + удлинённый Х Ext. Y - Ext. Y + Удлинённый Y Ext. Z - Ext. Z + Удлинённый Z @@ -3923,7 +3910,7 @@ FreeCAD не знает, где находится конкретная сист Compound - Соединить + Компаунд @@ -4165,7 +4152,7 @@ Default: 3 mm Spindle - Обороты + Шпиндель @@ -4175,7 +4162,7 @@ Default: 3 mm Remove - Удалить + Убрать @@ -4185,12 +4172,12 @@ Default: 3 mm Horizontal - По горизонтали + Горизонталь Vertical - По вертикали + Вертикальный @@ -4320,12 +4307,12 @@ For example: Warning - Предупреждения + Предупреждение Ok - Да + OK @@ -4333,10 +4320,9 @@ For example: Больше не показывать - + Edit - int = field(default=None) Редактировать @@ -4459,27 +4445,27 @@ For example: CW - ПЧ + По часовой CCW - ПРЧ + Против часовой стрелки - + A planar adaptive start is unavailable. The non-planar will be attempted. Планарный адаптивный пуск недоступен. Будет предпринята попытка непланарного. - - + + The non-planar adaptive start is also unavailable. Непланарный адаптивный пуск также недоступен. - + %s is not a Base Model object of the job %s %s не является базовым объектом для задания %s @@ -4499,10 +4485,10 @@ For example: Обработать всю модель, выбранные грани или выбранные края - + Choose a Path Job - Выбрать задание Path + Выбрать задание Path (траектория обработки детали) @@ -4604,6 +4590,7 @@ For example: List of custom property groups + int = field(default=None) Список групп пользовательских свойств @@ -4666,12 +4653,12 @@ For example: + + - - The base path to modify Базовый путь для модификации @@ -4965,9 +4952,9 @@ For example: Коллекция всех контроллеров инструментов для обработки + - Operations Cycle Time Estimation Оценка времени цикла операций @@ -5014,7 +5001,7 @@ For example: A material for this object - Материал объекта + Материал для этого объекта @@ -5052,8 +5039,8 @@ For example: Номер отступа крепления - + Make False, to prevent operation from generating code Установите значение в False, чтобы предотвратить генерацию G-кода для операции @@ -5073,8 +5060,8 @@ For example: Влияет на точность и производительность - + Percent of cutter diameter to step over on each pass Процент диаметра фрезы, который необходимо преодолеть при каждом проходе @@ -5250,10 +5237,10 @@ For example: Начальная точка этой траектории - - - + + + Make True, if specifying a Start Point Установить в Истину, если указывается начальная точка @@ -5367,9 +5354,9 @@ For example: Применение отвода G99: отвод только на высоту отвода между отверстиями в этой операции - + Additional base objects to be engraved Дополнительные базовые объекты для гравировки @@ -5410,9 +5397,9 @@ For example: Радиус начала - + Extra value to stay away from final profile- good for roughing toolpath Дополнительное расстояние на котором нужно оставаться от финального профиля - хорош для черновых обработок @@ -5432,9 +5419,9 @@ For example: Исключить фрезеровку частей детали, приподнятых относительно выбранной поверхности. - - + + Choose how to process multiple Base Geometry features. Выберите способ обработки нескольких элементов базовой геометрии. @@ -5455,8 +5442,8 @@ For example: Обработать модель и заготовку без учета ранее заданных припусков, размеров заготовки. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) Направление, в котором траектория должна проходить вокруг детали по часовой стрелке (по часовой стрелке) или против часовой стрелки (против часовой стрелки) @@ -5492,10 +5479,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Радиус последнего шага. Если 0, используется 50% фрезы. Эту настройку можно использовать для улучшения шага для некоторых фигур + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5557,8 +5561,8 @@ For example: Установить в Истину, если используется компенсация радиуса инструмента - + Show the temporary path construction objects when module is in DEBUG mode. Показать объекты построения временного пути обработки, когда модуль находится в режиме DEBUG. @@ -5574,8 +5578,8 @@ For example: Задать конечную точку для траектории паза. - + Set the geometric clearing pattern to use for the operation. Установить шаблон геометрической очистки (чистовой обработки) для использования в операции. @@ -5591,8 +5595,8 @@ For example: Положительные расширяют конец траектории, отрицательные сокращают. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Завершите операцию за один проход на глубину или за несколько проходов до конечной глубины. @@ -5623,8 +5627,8 @@ For example: Включить обратное направление пути выреза паза. - + The custom start point for the path of this operation Пользовательская начальная точка пути этой операции @@ -6067,7 +6071,7 @@ For example: The selected object is not a path - Выделенный объект не является траекторией + Выделенный объект не является траекторией обработки @@ -6095,7 +6099,7 @@ For example: The selected object is not a path - Выделенный объект не является траекторией + Выделенный объект не является траекторией обработки @@ -6105,12 +6109,12 @@ For example: Holding Tag - технологическая перемычка + Технологическая перемычка Tag - Метка + Перемычка @@ -6139,24 +6143,24 @@ For example: Path_Dressup - + Please select one path object Пожалуйста выберете один объект пути - + The selected object is not a path Выделенный объект не является траекторией обработки - + Please select a Path object Пожалуйста выберите траекторию @@ -6180,7 +6184,7 @@ For example: Dogbone - Стяжка + Собачья кость @@ -6198,7 +6202,7 @@ For example: The selected object is not a path - Выделенный объект не является траекторией + Выделенный объект не является траекторией обработки @@ -6221,7 +6225,7 @@ For example: The selected object is not a path - Выделенный объект не является траекторией + Выделенный объект не является траекторией обработки @@ -6277,12 +6281,12 @@ For example: Custom - Дополнительно + Произвольный RampEntry - RampEntry + Ступенчатый ввод инструмента (Ramp Entry) @@ -6297,7 +6301,7 @@ For example: The selected object is not a path - Выделенный объект не является траекторией + Выделенный объект не является траекторией обработки @@ -6313,8 +6317,8 @@ For example: Выберите файл точки измерения - + All Files (*.*) Все файлы (*.*) @@ -6368,7 +6372,7 @@ For example: 2D - двумерный + 2D @@ -6433,7 +6437,7 @@ For example: Ok - Да + OK @@ -6463,7 +6467,7 @@ For example: Solids - Массивы + Твердотельные объекты @@ -6679,7 +6683,7 @@ For example: URL - URL + Ссылка @@ -6865,6 +6869,11 @@ For example: no job for operation %s found. работа для операции %s не найдена. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6896,7 +6905,7 @@ For example: Round - Круглый + Скругление @@ -6947,12 +6956,12 @@ For example: CW - ПЧ + По часовой CCW - ПРЧ + Против часовой стрелки @@ -6968,26 +6977,26 @@ For example: PathProfile - + Outside Снаружи - + Inside Внутри CW - ПЧ + По часовой CCW - ПРЧ + Против часовой стрелки @@ -7002,7 +7011,7 @@ For example: Round - Круглый + Скругление @@ -7012,7 +7021,7 @@ For example: Miter - Срез + Скос @@ -7070,7 +7079,7 @@ For example: Conventional - Соглашения + Общепринятый @@ -7085,7 +7094,7 @@ For example: ZigZag - ZigZag + Зигзаг @@ -7095,7 +7104,7 @@ For example: ZigZagOffset - ZigZag смещение + Смещение зигзага @@ -7111,14 +7120,14 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Окончательная глубина устанавливается ниже Zmin выбранной грани (граней). Normal - Обычные + Обычный (либо Нормаль) @@ -7131,12 +7140,12 @@ For example: Y - + Pass Extension Увеличение припуска - + The distance the facing operation will extend beyond the boundary shape. Расстояние, на которое операция облицовки будет выходить за пределы граничной формы. @@ -7161,7 +7170,7 @@ For example: ZigZag - ZigZag + Зигзаг @@ -7181,7 +7190,7 @@ For example: Perpendicular - Перпендикулярно + Нормаль @@ -7210,12 +7219,12 @@ For example: Long Edge - По длинной стороне + Длинный край Short Edge - По короткой стороне + Короткий край @@ -7445,12 +7454,12 @@ For example: Custom - Дополнительно + Произвольный Conventional - Соглашения + Общепринятый @@ -7460,7 +7469,7 @@ For example: Circular - Окружность + Круговой @@ -7485,7 +7494,7 @@ For example: ZigZag - ZigZag + Зигзаг @@ -7532,7 +7541,7 @@ For example: First - ГОСТ/Европа (First-angle projection) + Первый @@ -7668,7 +7677,7 @@ For example: Conventional - Соглашения + Общепринятый @@ -7757,7 +7766,7 @@ For example: Custom - Дополнительно + Произвольный @@ -7768,7 +7777,7 @@ For example: Circular - Окружность + Круговой @@ -7798,12 +7807,12 @@ For example: ZigZag - ZigZag + Зигзаг Conventional - Соглашения + Общепринятый @@ -7841,7 +7850,7 @@ For example: New property added to - Добавлено новое свойство + Новое свойство добавлено в @@ -7887,7 +7896,7 @@ For example: No JOB - Нет заданий + Нет задания обработки @@ -8035,7 +8044,7 @@ Aborting op creation Comment - Закомментировать + Комментарий @@ -8048,7 +8057,7 @@ Aborting op creation Copy - Копировать + Скопировать @@ -8115,7 +8124,7 @@ Aborting op creation The selected object is not a path - Выделенный объект не является траекторией + Выделенный объект не является траекторией обработки @@ -8186,7 +8195,7 @@ Aborting op creation Add Optional or Mandatory Stop to the program - Добавить необязательную или обязательную остановку в программу + Добавить вспомогательную или обязательную точку остановки программы @@ -8238,7 +8247,7 @@ Aborting op creation Reverse - Развернуть + Реверс @@ -8394,7 +8403,7 @@ Aborting op creation Path - Path + Траектория diff --git a/src/Mod/Path/Gui/Resources/translations/Path_sl.ts b/src/Mod/Path/Gui/Resources/translations/Path_sl.ts index 4f01ad702d..709104227d 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_sl.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_sl.ts @@ -295,7 +295,7 @@ Pri surovcih z očrtnim kvadrom izhodiščnega predmeta to pomeni dodaten materi Export - Export + Izvoz @@ -547,31 +547,8 @@ Pri surovcih z očrtnim kvadrom izhodiščnega predmeta to pomeni dodaten materi Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Oblika @@ -742,17 +719,17 @@ Pri surovcih z očrtnim kvadrom izhodiščnega predmeta to pomeni dodaten materi Počisti seznam izhodiščnih geometrij - + Add Dodaj - - + + Remove Odstrani @@ -807,8 +784,8 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Ponastavi - + All objects will be processed using the same operation properties. Vsi predmeti bodo obdelani z dejanji, ki imajo enake lastnosti. @@ -853,32 +830,32 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Vsa mesta bodo obdelana z dejanji, ki imajo enake lastnosti. - + Start Depth Začetna globina - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Začetna globina dejanja. Najvišja točka na osi Z, ki jo mora dejanje obdelati. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Prenesi vrednost Z izbrane značilnosti kot začetno globino dejanja. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. Globina dejanja, ki odgovarja najnižji vrednosti na osi Z in jo mora dejanje obdelati. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Prenesi vrednost Z izbrane značilnosti kot končno globino dejanja. @@ -893,14 +870,14 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Globina zadnjega reza dejanja. Služi lahko doseganju gladkejše zaključne obdelave. - + Final Depth Končna globina - + Step Down Poglobitveni korak @@ -940,34 +917,34 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Prosta višina - + + + + - - - - + The tool and its settings to be used for this operation. Orodje in njegove nastavitve za to dejanje. + + + + + + + + + + - - - - - - - - - - Coolant Mode Hladilni način @@ -977,28 +954,28 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi G-koda - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Orodni krmilnik - - + + Coolant Hladilo @@ -1018,8 +995,8 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Vrsta dejanja - + Step Over Percent Odstotek zmika @@ -1069,8 +1046,8 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Dokončevalni oris - + Use Outline Uporabi obris @@ -1125,10 +1102,10 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Ustavi - + - + Direction Smer @@ -1138,15 +1115,15 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Smer izvajanje orisa; v smeri urinega kazalca ali v nasprotni smeri urinega kazalca. - + CW SUK, v smeri urinega kazalca - + CCW NSUK, v nasprotni smeri urinega kazalca @@ -1171,6 +1148,8 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Spoj na zajero + + @@ -1180,8 +1159,6 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi - - mm mm @@ -1397,11 +1374,11 @@ Ponastavitev izbriše vse trenutne predmete s seznama in izpolni seznam z vsemi Vzorec + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands Če je označeno, dejanje uporabi le zunanji obris izbrane izhodiščne geometrije ter prezre vse luknje in otoke + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Napuščeno gradivo + - Use Start Point Uporabi začetno točko @@ -1682,7 +1669,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Vertex - Vertex + Oglišče @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Podaljšanje konca poti - + Layer Mode Plastni način @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Vrsta odčitavanja - + Cut Pattern Rezkalni vzorec @@ -1808,43 +1795,43 @@ The latter can be used to face of the entire stock area to ensure uniform height Izogibanje zadnjim X ploskvam - + Bounding Box Očrtni kvader - + Select the overall boundary for the operation. - Select the overall boundary for the operation. + Izberite skupno mejo za dejanje. Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. + Ravninsko: Plosko, 3D odčitavanje površja. Sukajoče: optično prebiranje z vrtenjem okrog 4. osi. - + Complete the operation in a single pass at depth, or multiple passes to final depth. - Complete the operation in a single pass at depth, or multiple passes to final depth. + Končaj dejanje v enem prehodu na globini ali postopno z večkratnim prehodom do končne globine. - + Set the geometric clearing pattern to use for the operation. - Set the geometric clearing pattern to use for the operation. + Določi za opravilo geometrični vzorec čiščenja. Profile the edges of the selection. - Profile the edges of the selection. + Naredi iz robov izbora oris. Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. - Avoid cutting the last 'N' faces in the Base Geometry list of selected faces. + Izogni se rezanju zadnjih "n" ploskev v seznamu izhodiščnih geometrij izbranih ploskev. @@ -1854,30 +1841,30 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - Dropcutter lines are created parallel to this axis. + Poteze spustnega rezkanja bodo vzporedne tej osi. - + Set the Z-axis depth offset from the target surface. - Set the Z-axis depth offset from the target surface. + Določite globinski odmik od tarčnega povšja po osi Z. - + Set the sampling resolution. Smaller values quickly increase processing time. - Set the sampling resolution. Smaller values quickly increase processing time. + Določite ločlivost vzorčenja. Z manjšanjem vrednosti se hitro povečuje obdelovalni čas. Make True, if specifying a Start Point - Make True, if specifying a Start Point + Mastavite na Resnično, za določanje začetne točke - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. - Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. + Omogoči optimiranje premih poti (sopreme točke). Odstrani iz izvoza G-Code nepotrebne sopreme točke. @@ -1887,7 +1874,7 @@ The latter can be used to face of the entire stock area to ensure uniform height Enable separate optimization of transitions between, and breaks within, each step over path. - Enable separate optimization of transitions between, and breaks within, each step over path. + Omogoči ločeno izboljševanje prehodov med vsako zmaknjeno potjo in prekinitvami znotraj nje. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Zamik globine - + Step over Zmik - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. Več kot stoodstotni zmik pomeni, da se pri ponovitvi vzorec ne prekriva. - + Sample interval Vzorčni korak - + Optimize Linear Paths Optimiraj preme poti @@ -2080,8 +2067,8 @@ Privzeto: 3 mm Usmerjenost - + Type Vrsta @@ -2111,8 +2098,8 @@ Privzeto: 3 mm NNP - + Operation Dejanje @@ -2154,7 +2141,7 @@ Privzeto: 3 mm Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). - Select the algorithm to use: OCL Dropcutter*, or Experimental (Not OCL based). + Izberite algoritem, ki ga želite uporabiti: OCL spustno rezkanje (Dropcutter)* ali Delovna različica (ni na osnovi OCL). @@ -2632,7 +2619,7 @@ To je lahko v veliko pomoč posebno, ko se večina opravil izvaja z istim orodje Position - Position + Položaj @@ -3033,8 +3020,8 @@ Navadno se priporoča uporabo odnosnih poti zaradi njihove prilagodljivosti in n Dodelava PreslikavaOsi - + Radius Polmer @@ -3449,8 +3436,8 @@ Navadno se priporoča uporabo odnosnih poti zaradi njihove prilagodljivosti in n TaskPathSimulator - + Path Simulator Priustvarjalnik poti @@ -4341,10 +4328,9 @@ Na primer: Ne prikazuj več tega - + Edit - int = field(default=None) Uredi @@ -4475,19 +4461,19 @@ Na primer: NSUK, v nasprotni smeri urinega kazalca - + A planar adaptive start is unavailable. The non-planar will be attempted. Ravninsko nastavljiv začetek ni na voljo. Sledi poskus z neravninskim. - - + + The non-planar adaptive start is also unavailable. Tudi neravninsko prilagodljiv začetek ni na voljo. - + %s is not a Base Model object of the job %s %s ni osnovno modelni predmet opravila %s @@ -4507,8 +4493,8 @@ Na primer: Oriši celoten oblikovanec, izbrane ploskve ali izbrane robove - + Choose a Path Job Izberite opravilo poti @@ -4612,6 +4598,7 @@ Na primer: List of custom property groups + int = field(default=None) Seznam lastnostnih skupin po meri @@ -4674,12 +4661,12 @@ Na primer: + + - - The base path to modify Osnovna pot za spreminjanje @@ -4791,12 +4778,12 @@ Na primer: Calculate roll-on to path - Calculate roll-on to path + Izračunaj nagibanje s potjo Calculate roll-off from path - Calculate roll-off from path + Izračunaj nagibanje od poti @@ -4831,37 +4818,37 @@ Na primer: Extends LeadOut distance - Extends LeadOut distance + Poveča razdaljo izstopanja Perform plunges with G0 - Perform plunges with G0 + Izvedi zarivanja z G0 Apply LeadInOut to layers within an operation - Apply LeadInOut to layers within an operation + Uveljavi vstop/izstop na plasteh znotraj dejanja Angle of ramp. - Angle of ramp. + Naklon klančine. Ramping Method - Ramping Method + Klančinski način Which feed rate to use for ramping - Which feed rate to use for ramping + Katero podajalno hitrost uporabiti za klančino Custom feed rate - Custom feed rate + Podjalna hitrost po meri @@ -4876,32 +4863,32 @@ Na primer: The point file from the surface probing. - The point file from the surface probing. + Datoteka s točkami površinskega preiskovanja. Deflection distance for arc interpolation - Deflection distance for arc interpolation + Višina krožnega odseka pri približku loka break segments into smaller segments of this length. - break segments into smaller segments of this length. + razbij odseke v manjše kose s to dolžino. The G-code output file for this project - The G-code output file for this project + Izhodna datoteka G-kode tega projekta Select the Post Processor - Select the Post Processor + Izberite poobdelovalnik Arguments for the Post Processor (specific to the script) - Arguments for the Post Processor (specific to the script) + Spremenljivke za poopravilnik (značilne za skript) @@ -4912,112 +4899,112 @@ Na primer: An optional description for this job - An optional description for this job + Neobvezen opis tega opravil Job Cycle Time Estimation - Job Cycle Time Estimation + Ocena časa cikla opravila For computing Paths; smaller increases accuracy, but slows down computation - For computing Paths; smaller increases accuracy, but slows down computation + Za izračunavanje Poti; manjši poveča natančnost, vendar upočasni izračun Solid object to be used as stock. - Solid object to be used as stock. + Telo, ki bo uporabljeno kot surovec. Compound path of all operations in the order they are processed. - Compound path of all operations in the order they are processed. + Sestavljena pot vseh opravil v zaporedju obdelave. Select the Type of Job - Select the Type of Job + Izberite vrsto opravila Split output into multiple G-code files - Split output into multiple G-code files + Razdeli izhod na več datotek z G-kodo If multiple WCS, order the output this way - If multiple WCS, order the output this way + Če je več SKS-jev, določi izvoz na tak način The Work Coordinate Systems for the Job - The Work Coordinate Systems for the Job + Svetovni koordinatni sistem (SKS) za opravilo SetupSheet holding the settings for this job - SetupSheet holding the settings for this job + Nastavitvenik, ki vsebuje nastavitve za to opravilo The base objects for all operations - The base objects for all operations + Osnovni predmet za vsa dejanja Collection of all tool controllers for the job - Collection of all tool controllers for the job + Nabor vseh orodnih krmilnikov za opravilo + - Operations Cycle Time Estimation - Operations Cycle Time Estimation + Ocena časa cikla dejanja Select the type of Job - Select the type of Job + Izberite vrsto opravila The base object this stock is derived from - The base object this stock is derived from + Izhodiščni predmet iz katerega je izpeljan ta surovec Extra allowance from part bound box in negative X direction - Extra allowance from part bound box in negative X direction + Dodatno dovoljeno odstopanje od očrtanega okvirja dela v negativno X smer Extra allowance from part bound box in positive X direction - Extra allowance from part bound box in positive X direction + Dodatno dovoljeno odstopanje od očrtanega okvirja dela v pozitivno X smer Extra allowance from part bound box in negative Y direction - Extra allowance from part bound box in negative Y direction + Dodatno dovoljeno odstopanje od očrtanega okvirja dela v negativno Y smer Extra allowance from part bound box in positive Y direction - Extra allowance from part bound box in positive Y direction + Dodatno dovoljeno odstopanje od očrtanega okvirja dela v pozitivno Y smer Extra allowance from part bound box in negative Z direction - Extra allowance from part bound box in negative Z direction + Dodatno dovoljeno odstopanje od očrtanega okvirja dela v negativno Z smer Extra allowance from part bound box in positive Z direction - Extra allowance from part bound box in positive Z direction + Dodatno dovoljeno odstopanje od očrtanega okvirja dela v pozitivno Z smer @@ -5027,48 +5014,48 @@ Na primer: Length of this stock box - Length of this stock box + Dolžina kvadra tega surovca Width of this stock box - Width of this stock box + Širina kvadra tega surovca Height of this stock box - Height of this stock box + Višina kvadra tega surovca Radius of this stock cylinder - Radius of this stock cylinder + Polmer valja tega surovca Height of this stock cylinder - Height of this stock cylinder + Višina valja tega surovca Internal representation of stock type - Internal representation of stock type + Notranji prikaz vrste surovca Fixture Offset Number - Fixture Offset Number + Število odmika pritrdila - + Make False, to prevent operation from generating code - Make False, to prevent operation from generating code + Spremeni v Napak, da se opravilu prepreči ustvarjanje kode Side of selected faces that tool should cut - Side of selected faces that tool should cut + Stran izbranih ploskev, ki naj jih orodje rezka @@ -5078,39 +5065,39 @@ Na primer: Influences accuracy and performance - Influences accuracy and performance + Vpliva na natančnost in učinkovitost - + Percent of cutter diameter to step over on each pass - Percent of cutter diameter to step over on each pass + Zmik pri vsakem prehodu, izražen v deležu premera rezalnika Lift distance for rapid moves - Lift distance for rapid moves + Dolžina dviga pri hitrih hodih Max length of keep tool down path compared to direct distance between points - Max length of keep tool down path compared to direct distance between points + Največja dolžina poti s spuščenim orodjem v primerjavi z ravno razdaljo med točkami How much stock to leave (i.e. for finishing operation) - How much stock to leave (i.e. for finishing operation) + Koliko surovca se pusti (tj. pri dokončevalnih dejanjih) Force plunging into material inside and clearing towards the edges - Force plunging into material inside and clearing towards the edges + Prisilno sredinsko zarivanje v material in čiščenje proti robovom To take a finishing profile path at the end - To take a finishing profile path at the end + Da se gre po poti zaključevalnega orisa na koncu @@ -5168,79 +5155,79 @@ Na primer: Holds the calculated value for the StartDepth - Holds the calculated value for the StartDepth + Obdrži izračunano vrednost za ZačetnoGlobino Holds the calculated value for the FinalDepth - Holds the calculated value for the FinalDepth + Obdrži izračunano vrednost za KončnoGlobino Holds the diameter of the tool - Holds the diameter of the tool + Obdrži premer orodja Holds the max Z value of Stock - Holds the max Z value of Stock + Obdrži največjo Z vrednost surovca Holds the min Z value of Stock - Holds the min Z value of Stock + Obdrži najmanjšo Z vrednost surovca An optional comment for this Operation - An optional comment for this Operation + Možnost opombe za to dejanje User Assigned Label - User Assigned Label + Uporabniško določena oznaka Base locations for this operation - Base locations for this operation + Osnovni položaji tega dejanja The tool controller that will be used to calculate the path - The tool controller that will be used to calculate the path + Krmilnik orodja, ki bo uporabljen za izračun poti Coolant mode for this operation - Coolant mode for this operation + Hladilni način tega dejanja Starting Depth of Tool- first cut depth in Z - Starting Depth of Tool- first cut depth in Z + Začetna globina orodja - globina prvega reza v smeri Z Final Depth of Tool- lowest value in Z - Final Depth of Tool- lowest value in Z + Končna globina orodja - najnižja vrednost v smeri Z Starting Depth internal use only for derived values - Starting Depth internal use only for derived values + Notranja uporaba Začetne globine le za izpeljane vrednosti Incremental Step Down of Tool - Incremental Step Down of Tool + Korak spuščanja orodja Maximum material removed on final pass. - Maximum material removed on final pass. + Največj odstranjenega gradiva pri zaključnem prehodu. @@ -5250,202 +5237,202 @@ Na primer: Rapid Safety Height between locations. - Rapid Safety Height between locations. + Varna višina hitrega prehoda med položaji. The start point of this path - The start point of this path + Začetna točka te poti - - - + + + Make True, if specifying a Start Point - Make True, if specifying a Start Point + Mastavite na Resnično za določanje začetne točke Lower limit of the turning diameter - Lower limit of the turning diameter + Spodnja meja obračalnega premera Upper limit of the turning diameter. - Upper limit of the turning diameter. + Zgornja meja obračalnega premera. Coolant option for this operation - Coolant option for this operation + Možnosti hlajenja tega dejanja List of disabled features - List of disabled features + Seznam onemogočenih značilnosti The G-code to be inserted - The G-code to be inserted + Vstavljanje G-kode The desired width of the chamfer - The desired width of the chamfer + Želena širina posnetja The additional depth of the tool path - The additional depth of the tool path + Dodatna globina poti orodja How to join chamfer segments - How to join chamfer segments + Kako se združuje prisekane odseke Direction of operation - Direction of operation + Smer dejanja Side of operation - Side of operation + Stran dejanja The segment where the operation starts - The segment where the operation starts + Odsek, na katerem se dejanje prične Use chipbreaking - Use chipbreaking + Uporabi odlamljanje odrezkov Incremental Drill depth before retracting to clear chips - Incremental Drill depth before retracting to clear chips + Korak globine vrtanja pred povratkom za čiščenje ostružkov Enable pecking - Enable pecking + Omogoči kljuvanje The time to dwell between peck cycles - The time to dwell between peck cycles + Čas zadrževanja med cikli kljuvanja Enable dwell - Enable dwell + Omogoči mirovanje Calculate the tip length and subtract from final depth - Calculate the tip length and subtract from final depth + Vračunaj dolžino konice in jo odštej od končne globine Controls tool retract height between holes in same op, Default=G98: safety height - Controls tool retract height between holes in same op, Default=G98: safety height + Upravlja višino vračanja orodja med izvrtinami v istem dejanje; Prrivzeto=G98: varna višina The height where cutting feed rate starts and retract height for peck operation - The height where cutting feed rate starts and retract height for peck operation + Višina, na kateri se prične podajanje rezkanja in na katero se orodje vrača pri kljuvanju How far the drilling depth is extended - How far the drilling depth is extended + Koliko je povečana globina vrtanja Apply G99 retraction: only retract to RetractHeight between holes in this operation - Apply G99 retraction: only retract to RetractHeight between holes in this operation + Uveljavi vračanje G99: vračanje na višino vračanje med izvrtinami le v tem dejanju - + Additional base objects to be engraved - Additional base objects to be engraved + Dodatni osnovni predmet, ki naj bo vrezan The vertex index to start the path from - The vertex index to start the path from + Kazalno oglišče, pri katerem se začne pot Default length of extensions. - Default length of extensions. + Privzeta dolžina podaljškov. List of features to extend. - List of features to extend. + Seznam značilnosti za podaljšanje. When enabled connected extension edges are combined to wires. - When enabled connected extension edges are combined to wires. + Ko je omogočeno, se staknjeni podaljšani robovi združijo v črtovja. The direction of the circular cuts, ClockWise (CW), or CounterClockWise (CCW) - The direction of the circular cuts, ClockWise (CW), or CounterClockWise (CCW) + Smer krožnih rezov, v smeri urinega kazalca (SUK), ali v nasprotni smeri urinega kazalca (NSUK) Start cutting from the inside or outside - Start cutting from the inside or outside + Pričetek rezanja od znotraj ali od zunaj Starting Radius - Starting Radius + Začetni polmer - + Extra value to stay away from final profile- good for roughing toolpath - Extra value to stay away from final profile- good for roughing toolpath + Dodatna vrednost za izogibanje končnemu profilu - primerno za pot orodja grobe obdelave Shape to use for calculating Boundary - Shape to use for calculating Boundary + Oblika, ki se uporabi za izračun Meje Clear edges of surface (Only applicable to BoundBox) - Clear edges of surface (Only applicable to BoundBox) + Očisti robove površja (izvedljivo le za BoundBox) Exclude milling raised areas inside the face. - Exclude milling raised areas inside the face. + Izvzemi rezkanje dvignjenih površin znotraj ploskve. - - + + Choose how to process multiple Base Geometry features. - Choose how to process multiple Base Geometry features. + Izberite, kako naj se obdeluje značilnosti več osnovnih geometrij. @@ -5460,18 +5447,18 @@ Na primer: Process the model and stock in an operation with no Base Geometry selected. - Process the model and stock in an operation with no Base Geometry selected. + Obdelaj obdelovanec in surovec z dejanjem brez izbrane izhodiščne geometrije. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) - The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) + Smer, po kateri naj gre pot orodja okoli dela v SUK (smeri urinega kazalca) ali NSUK (nasprotni smeri urinega kazalca) Extra offset to apply to the operation. Direction is operation dependent. - Extra offset to apply to the operation. Direction is operation dependent. + Pri dejanjih naj se uporabi dodaten odmik. Smer je odvisna od dejanja. @@ -5481,182 +5468,199 @@ Na primer: Angle of the zigzag pattern - Angle of the zigzag pattern + Kót cikcak vzorca Clearing pattern to use - Clearing pattern to use + Vzorec čiščenja, ki se uporabi Use 3D Sorting of Path - Use 3D Sorting of Path + Uporabi 3D-razvrščanje poti Attempts to avoid unnecessary retractions. - Attempts to avoid unnecessary retractions. + Poskuša se izogniti nepotrebnim vračanjem. - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes - Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + Zadnji polmer zmika. Če je uporabljenih več kot 50% rezila. Omogočenje te zmožnosti lahko pri nekaterih oblikah izboljša zmikanje + + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. X offset between tool and probe - X offset between tool and probe + Odmik med orodjem in tipalom v smeri X Y offset between tool and probe - Y offset between tool and probe + Odmik med orodjem in tipalom v smeri Y Number of points to probe in X direction - Number of points to probe in X direction + Število točk zaznavanja v smeri X Number of points to probe in Y direction - Number of points to probe in Y direction + Število točk zaznavanja v smeri Y The output location for the probe data to be written - The output location for the probe data to be written + Mesto zapisa meritev tipala Controls how tool moves around corners. Default=Round - Controls how tool moves around corners. Default=Round + Nadzir premikanje orodja okoli vogalov. Privzeto=Okroglo Maximum distance before a miter join is truncated - Maximum distance before a miter join is truncated + Največja razdalja preden se spoj na zajero prireže Profile holes as well as the outline - Profile holes as well as the outline + Oriši tako luknje, kot tudi obod Profile the outline - Profile the outline + Oriši obod Profile round holes - Profile round holes + Oriši okrogle izbrtine Side of edge that tool should cut - Side of edge that tool should cut + Stran roba, ki naj jo orodje obdela Make True, if using Cutter Radius Compensation - Make True, if using Cutter Radius Compensation + Nastavi na Prav, če se uporablja Popravek polmera rezkarja - + Show the temporary path construction objects when module is in DEBUG mode. - Show the temporary path construction objects when module is in DEBUG mode. + Ko je modul v razhroščevalnem načinu, prikaži pomožni predmet za ustvarjanje poti. Enter custom start point for slot path. - Enter custom start point for slot path. + Vnesite lastno začetno točko utorove poti. Enter custom end point for slot path. - Enter custom end point for slot path. + Vnesite lastno končno točko utorove poti. - + Set the geometric clearing pattern to use for the operation. - Set the geometric clearing pattern to use for the operation. + Določi za dejanje geometrični vzorec čiščenja. Positive extends the beginning of the path, negative shortens. - Positive extends the beginning of the path, negative shortens. + Pozitivno podaljša začetek poti, negativno pa ga skrajša. Positive extends the end of the path, negative shortens. - Positive extends the end of the path, negative shortens. + Pozitivno podaljša konec poti, negativno pa ga skrajša. - + Complete the operation in a single pass at depth, or multiple passes to final depth. - Complete the operation in a single pass at depth, or multiple passes to final depth. + Končaj dejanje v enem prehodu na globini ali postopno z večkratnim prehodom do končne globine. Choose the path orientation with regard to the feature(s) selected. - Choose the path orientation with regard to the feature(s) selected. + Izberite usmeritev poti glede na izbrane značilnosti. Choose what point to use on the first selected feature. - Choose what point to use on the first selected feature. + Izberite točko na prvi izbrani značilnosti, ki naj se uporabi. Choose what point to use on the second selected feature. - Choose what point to use on the second selected feature. + Izberite točko na drugi izbrani značilnosti, ki naj se uporabi. For arcs/circlular edges, offset the radius for the path. - For arcs/circlular edges, offset the radius for the path. + Pri lokih oz. krožnih robovih odmakni polmer poti. Enable to reverse the cut direction of the slot path. - Enable to reverse the cut direction of the slot path. + Omogočite, če želite obrniti smer rezkanja utorove poti. - + The custom start point for the path of this operation - The custom start point for the path of this operation + Uporabniko določena začetna točka poti tega dejanja Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. + Manjše vrednosti prinašajo drobnejše, natančnejše ploskovje, vendar zelo podaljšajo obdelovalni čas. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. + Manjše vrednosti prinašajo drobnejše, natančnejše ploskovje, hkrati pa ne podaljšajo obdelovalnega časa preveč. Stop index(angle) for rotational scan - Stop index(angle) for rotational scan + Pokazatelj zaustavitve (kót) pri sukajočem odčitavanju Dropcutter lines are created parallel to this axis. - Dropcutter lines are created parallel to this axis. + Poteze spustnega rezkanja bodo vzporedne tej osi. @@ -5666,7 +5670,7 @@ Na primer: The model will be rotated around this axis. - The model will be rotated around this axis. + Oblikovanec bo zavrten okoli te osi. @@ -5927,134 +5931,134 @@ Na primer: The number of copies in Y direction in Linear pattern - The number of copies in Y direction in Linear pattern + Število dvojnikov premega vzorca v smeri Y Total angle in Polar pattern - Total angle in Polar pattern + Skupni kót pri krožnem vzorcu The number of copies in Linear 1D and Polar pattern - The number of copies in Linear 1D and Polar pattern + Število dvojnikov v 1D premi in v krožni razpostavitvi The centre of rotation in Polar pattern - The centre of rotation in Polar pattern + Središče sukanja pri krožni razpostavitvi Make copies in X direction before Y in Linear 2D pattern - Make copies in X direction before Y in Linear 2D pattern + Pri 2D premi razpostavitvi naredi dvojnike v smeri X pred smerjo Y Percent of copies to randomly offset - Percent of copies to randomly offset + Odstotek dvojnikov v naključnem odmiku Maximum random offset of copies - Maximum random offset of copies + Največji naključni odmik dvojnikov Seed value for jitter randomness - Seed value for jitter randomness + Semenska vrednost za naključnost trepetanja Comment or note for CNC program - Comment or note for CNC program + Pripomba ali opomba za program CNC The path to be copied - The path to be copied + Pot za kopiranje The object to be reached by this hop - The object to be reached by this hop + Predmet, ki naj ga ta skok doseže The Z height of the hop - The Z height of the hop + Višina skoka po Z-ju Add Optional or Mandatory Stop to the program - Add Optional or Mandatory Stop to the program + Dodaj programu izbirno ali obvezno ustavitev Shape for bit shape - Shape for bit shape + Oblika orodnega nastavka The parametrized body representing the tool bit - The parametrized body representing the tool bit + To določilovno telo predstavlja orodni nastavek The file of the tool - The file of the tool + Datoteka orodja The name of the shape file - The name of the shape file + Ime oblikovne daoteke List of all properties inherited from the bit - List of all properties inherited from the bit + Seznam vseh lastnostih, nasledenih po orodnem nastavku The active tool - The active tool + Dejavno orodje The speed of the cutting spindle in RPM - The speed of the cutting spindle in RPM + Hitrost obdelovalnega vretena v obr./min. Direction of spindle rotation - Direction of spindle rotation + Smer vrtenja vretena Feed rate for vertical moves in Z - Feed rate for vertical moves in Z + Podajalna hitrost za navpične premike v smeri Z Feed rate for horizontal moves - Feed rate for horizontal moves + Hitrost podajanja vodoravnih premikov Rapid rate for vertical moves in Z - Rapid rate for vertical moves in Z + Hitrohodna hitrost navpičnih pomikov po smeri Z Rapid rate for horizontal moves - Rapid rate for horizontal moves + Hitrohodna hitrost pri vodoravnih premikih The tool used by this controller - The tool used by this controller + Orodje, ki ga ta krmilnik uporablja @@ -6067,7 +6071,7 @@ Na primer: Creates an object which can be used to store reference properties. - Creates an object which can be used to store reference properties. + Ustvari predmet, ki lahko hrani sklicne lastnosti. @@ -6080,7 +6084,7 @@ Na primer: Boundary - Boundary + Meja @@ -6147,24 +6151,24 @@ Na primer: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6321,8 +6325,8 @@ Na primer: Select Probe Point File - + All Files (*.*) Vse datoteke (*.*) @@ -6873,6 +6877,11 @@ Na primer: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6976,14 +6985,14 @@ Na primer: PathProfile - + Outside Zunaj - + Inside Znotraj @@ -7119,7 +7128,7 @@ Na primer: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7139,12 +7148,12 @@ Na primer: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. @@ -7914,7 +7923,7 @@ Na primer: Make False, to prevent operation from generating code - Make False, to prevent operation from generating code + Spremeni v Napak, da se opravilu prepreči ustvarjanje kode @@ -8194,7 +8203,7 @@ Aborting op creation Add Optional or Mandatory Stop to the program - Add Optional or Mandatory Stop to the program + Dodaj programu izbirno ali obvezno ustavitev diff --git a/src/Mod/Path/Gui/Resources/translations/Path_sr-CS.ts b/src/Mod/Path/Gui/Resources/translations/Path_sr-CS.ts index 6c5a5e6b8e..7442953e91 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_sr-CS.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_sr-CS.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Obrazac @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Dodaj - - + + Remove Ukloni @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Poništi - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Kod - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tool Controller - - + + Coolant Rashladna tečnost @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Zaustavi - + - + Direction Pravac @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW SKS - + CCW SSKS @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Spoj pod 45 stepeni + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Step over - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm Orijentacija - + Type Vrsta @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operation @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Poluprečnik @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Simulator putanje @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Uredi @@ -4477,19 +4463,19 @@ For example: SSKS - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Sve Datoteke (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_sr.ts b/src/Mod/Path/Gui/Resources/translations/Path_sr.ts index 8c56534c3a..2f53579bf6 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_sr.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_sr.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Образац @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Додај - - + + Remove Уклони @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Поништи - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Код - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tool Controller - - + + Coolant Расхладна течност @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Заустави - + - + Direction Правац @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW СКС - + CCW ССКС @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Спој под 45 степени + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm мм @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Step over - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm Оријентација - + Type Врста @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operation @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Полупречник @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Симулатор путање @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Уреди @@ -4477,19 +4463,19 @@ For example: ССКС - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Све Датотеке (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_sv-SE.ts b/src/Mod/Path/Gui/Resources/translations/Path_sv-SE.ts index c9516d3ed3..af5207f760 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_sv-SE.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_sv-SE.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Form @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Lägg till - - + + Remove Ta bort @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Återställ - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tool Controller - - + + Coolant Kylmedel @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Stopp - + - + Direction Riktning @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Mönster + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Använd startpunkt @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Lagerläge @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Klipp ut mönster @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Stega förbi - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2044,7 +2031,7 @@ Default: "5mm" Safe - Safe + Säker @@ -2081,8 +2068,8 @@ Default: 3 mm Orientering - + Type Typ @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operation @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Radie @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4138,7 +4125,7 @@ Default: 3 mm Safe - Safe + Säker @@ -4335,7 +4322,7 @@ For example: Ok - OK + Ok @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Redigera @@ -4477,19 +4463,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Alla filer (*.*) @@ -6478,7 +6482,7 @@ For example: Jobs - Jobs + Jobb @@ -6814,7 +6818,7 @@ For example: Date - Date + Datum @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Utanför - + Inside Inside @@ -7075,7 +7084,7 @@ For example: Climb - Climb + Klättra @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. @@ -7465,7 +7474,7 @@ For example: Climb - Climb + Klättra @@ -7537,7 +7546,7 @@ For example: Only - Only + Endast @@ -7673,7 +7682,7 @@ For example: Climb - Climb + Klättra @@ -7772,7 +7781,7 @@ For example: Off - Off + Av @@ -7818,7 +7827,7 @@ For example: Climb - Climb + Klättra diff --git a/src/Mod/Path/Gui/Resources/translations/Path_tr.ts b/src/Mod/Path/Gui/Resources/translations/Path_tr.ts index 567c881889..e8ed244a7f 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_tr.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_tr.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Şekil: @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Ekle - - + + Remove Kaldır @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Sıfırla - + All objects will be processed using the same operation properties. Tüm nesneler aynı işlem özellikleri kullanılarak işlenecektir. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul Tüm konumlar aynı işlem özellikleri kullanılarak işlenecektir. - + Start Depth Başlangıç Derinliği - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Bitiş Derinliği - + Step Down Aşağı Yönde Adım Atınız @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Aralık Yüksekliği - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Soğutucu Modu @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Kodu - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Araç Denetleyicisi - - + + Coolant Soğutma sıvısı @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul İşlem Türü - + Step Over Percent Yüzde üzerinden adımla @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Sonlandırma Profili - + Use Outline Dış Hattı Kullan @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Dur - + - + Direction Yön @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW Saat Yönü - + CCW Saat Yönünün Tersi @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Desen + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Malzemenin Toleransı + - Use Start Point Başlangıç Noktasını Kullan @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height İzin Sonunu Uzatınız - + Layer Mode Katman Kipi @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Tarama Türü - + Cut Pattern Kesme Deseni @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Son X Yüzeylerinden kaçın - + Bounding Box Kapsayan Kutu - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Derinlik sapması - + Step over Üzerinden atla - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Örnekle aralığı - + Optimize Linear Paths Doğrusal Yolları En İyi Hale Getir @@ -2081,8 +2068,8 @@ Default: 3 mm Yönlendirme - + Type Türü @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation İşlem @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc Eksen Eşlemesi Donatımı - + Radius Yarıçap @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator İz Simülatörü @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Düzenle @@ -4477,19 +4463,19 @@ For example: Saat Yönünün Tersi - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Bir İz İşi Seçiniz @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Tüm dosyalar (*. *) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Dışarıda - + Inside İçeride @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_uk.ts b/src/Mod/Path/Gui/Resources/translations/Path_uk.ts index 94c15c0453..0920d121bb 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_uk.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_uk.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Форма @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Додати - - + + Remove Видалити @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Скинути - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Початкова глибина - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Остаточна глибина - + Step Down Розмір кроку @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Висота перешкод - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Інструмент - - + + Coolant Coolant @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Тип операції - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Стоп - + - + Direction Напрямок @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul Напрямок, в якому виконується профіль, за годинниковою стрілкою або проти годинникової стрілки. - + CW за годинниковою стрілкою - + CCW проти годинникової стрілки @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul З'єднання мітерів + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm мм @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Шаблон + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Використовувати початкову точку @@ -1751,9 +1738,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1793,8 +1780,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1809,14 +1796,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Обмежувальна рамка - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1826,14 +1813,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1858,14 +1845,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1875,8 +1862,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1911,14 +1898,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Крок за кроком - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1927,14 +1914,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2082,8 +2069,8 @@ Default: 3 mm Орієнтація - + Type Тип @@ -2113,8 +2100,8 @@ Default: 3 mm TPI - + Operation Operation @@ -3035,8 +3022,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Радіус @@ -3451,8 +3438,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4344,10 +4331,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Правка @@ -4478,19 +4464,19 @@ For example: проти годинникової стрілки - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4510,8 +4496,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4615,6 +4601,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4677,12 +4664,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4976,9 +4963,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5063,8 +5050,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5084,8 +5071,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5261,10 +5248,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5378,9 +5365,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5421,9 +5408,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5443,9 +5430,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5466,8 +5453,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5503,10 +5490,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5568,8 +5572,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5585,8 +5589,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5602,8 +5606,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5634,8 +5638,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6150,24 +6154,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6324,8 +6328,8 @@ For example: Select Probe Point File - + All Files (*.*) Всі файли (*.*) @@ -6876,6 +6880,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6979,14 +6988,14 @@ For example: PathProfile - + Outside Ззовні - + Inside Всередині @@ -7122,7 +7131,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7142,12 +7151,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_val-ES.ts b/src/Mod/Path/Gui/Resources/translations/Path_val-ES.ts index 68d59f113c..c736aed519 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_val-ES.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_val-ES.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form Forma @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add Afegir - - + + Remove Elimina @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul Reinicialitza - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tool Controller - - + + Coolant Coolant @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul Para - + - + Direction Direcció @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over Passa al següent - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm Orientació - + Type Tipus @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operació @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius Radi @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) Edita @@ -4477,19 +4463,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) Tots els fitxers (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.ts b/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.ts index 79b7fa98e6..4545701e33 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form 窗体 @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add 添加 - - + + Remove 删除 @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul 重设 - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth Start Depth - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth Final Depth - + Step Down Step Down @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode Coolant Mode @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G Gode - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller 工具控制器 - - + + Coolant Coolant @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent Step Over Percent @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul 停止 - + - + Direction 方向 @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW 顺时针 - + CCW 逆时针 @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over 单步执行 - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm 方向 - + Type 类型 @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation 操作 @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius 半径 @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator Path Simulator @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) 编辑 @@ -4477,19 +4463,19 @@ For example: 逆时针 - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) 所有文件(*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Y - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Gui/Resources/translations/Path_zh-TW.ts b/src/Mod/Path/Gui/Resources/translations/Path_zh-TW.ts index fc3a781bb1..beb7b817a4 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_zh-TW.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_zh-TW.ts @@ -547,31 +547,8 @@ For stock from the Base object's bounding box it means the extra material in all Form - - - - - - - - - - - - - - - - - - - - - - - - + Form 格式 @@ -742,17 +719,17 @@ For stock from the Base object's bounding box it means the extra material in all Clears list of base geometries - + Add 新增 - - + + Remove 移除 @@ -807,8 +784,8 @@ Reset deletes all current items from the list and fills the list with all circul 重設 - + All objects will be processed using the same operation properties. All objects will be processed using the same operation properties. @@ -853,32 +830,32 @@ Reset deletes all current items from the list and fills the list with all circul All locations will be processed using the same operation properties. - + Start Depth 起始深度 - + Start Depth of the operation. The highest point in Z-axis the operation needs to process. Start Depth of the operation. The highest point in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Start Depth for the operation. Transfer the Z value of the selected feature as the Start Depth for the operation. - + The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. The depth of the operation which corresponds to the lowest value in Z-axis the operation needs to process. - + Transfer the Z value of the selected feature as the Final Depth for the operation. Transfer the Z value of the selected feature as the Final Depth for the operation. @@ -893,14 +870,14 @@ Reset deletes all current items from the list and fills the list with all circul Depth of the final cut of the operation. Can be used to produce a cleaner finish. - + Final Depth 最終深度 - + Step Down 步進深度 @@ -940,34 +917,34 @@ Reset deletes all current items from the list and fills the list with all circul Clearance Height - + + + + - - - - + The tool and its settings to be used for this operation. The tool and its settings to be used for this operation. + + + + + + + + + + - - - - - - - - - - Coolant Mode 冷卻劑模式 @@ -977,28 +954,28 @@ Reset deletes all current items from the list and fills the list with all circul G 碼 - - - - - - - - - - - - - - + + + + + + + + + + + + + + Tool Controller Tool Controller - - + + Coolant 冷卻劑 @@ -1018,8 +995,8 @@ Reset deletes all current items from the list and fills the list with all circul Operation Type - + Step Over Percent 路徑重疊百分比 @@ -1069,8 +1046,8 @@ Reset deletes all current items from the list and fills the list with all circul Finishing Profile - + Use Outline Use Outline @@ -1125,10 +1102,10 @@ Reset deletes all current items from the list and fills the list with all circul 停止 - + - + Direction 方向 @@ -1138,15 +1115,15 @@ Reset deletes all current items from the list and fills the list with all circul The direction in which the profile is performed, clockwise or counterclockwise. - + CW CW - + CCW CCW @@ -1171,6 +1148,8 @@ Reset deletes all current items from the list and fills the list with all circul Miter joint + + @@ -1180,8 +1159,6 @@ Reset deletes all current items from the list and fills the list with all circul - - mm mm @@ -1397,11 +1374,11 @@ Reset deletes all current items from the list and fills the list with all circul Pattern + + - - The tool and its settings to be used for this operation @@ -1486,15 +1463,25 @@ The latter can be used to face of the entire stock area to ensure uniform height If selected the operation uses the outline of the selected base geometry and ignores all holes and islands If selected the operation uses the outline of the selected base geometry and ignores all holes and islands + + + Check to skip machining regions that have already been cleared by previous operations + Check to skip machining regions that have already been cleared by previous operations + + + + Use Rest Machining + Use Rest Machining + Material Allowance Material Allowance + - Use Start Point Use Start Point @@ -1750,9 +1737,9 @@ The latter can be used to face of the entire stock area to ensure uniform height Extend Path End - + Layer Mode Layer Mode @@ -1792,8 +1779,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Scan Type - + Cut Pattern Cut Pattern @@ -1808,14 +1795,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Avoid Last X Faces - + Bounding Box Bounding Box - + Select the overall boundary for the operation. Select the overall boundary for the operation. @@ -1825,14 +1812,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Planar: Flat, 3D surface scan. Rotational: 4th-axis rotational scan. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -1857,14 +1844,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Dropcutter lines are created parallel to this axis. - + Set the Z-axis depth offset from the target surface. Set the Z-axis depth offset from the target surface. - + Set the sampling resolution. Smaller values quickly increase processing time. Set the sampling resolution. Smaller values quickly increase processing time. @@ -1874,8 +1861,8 @@ The latter can be used to face of the entire stock area to ensure uniform height Make True, if specifying a Start Point - + Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. Enable optimization of linear paths (co-linear points). Removes unnecessary co-linear points from G-code output. @@ -1910,14 +1897,14 @@ The latter can be used to face of the entire stock area to ensure uniform height Depth offset - + Step over 跨越 - + The amount by which the tool is laterally displaced on each cycle of the pattern, specified in percent of the tool diameter. A step over of 100% results in no overlap between two different cycles. @@ -1926,14 +1913,14 @@ A step over of 100% results in no overlap between two different cycles. A step over of 100% results in no overlap between two different cycles. - + Sample interval Sample interval - + Optimize Linear Paths Optimize Linear Paths @@ -2081,8 +2068,8 @@ Default: 3 mm 定位 - + Type 類型 @@ -2112,8 +2099,8 @@ Default: 3 mm TPI - + Operation Operation @@ -3034,8 +3021,8 @@ Should multiple tools or tool shapes with the same name exist in different direc AxisMap Dressup - + Radius 半徑 @@ -3450,8 +3437,8 @@ Should multiple tools or tool shapes with the same name exist in different direc TaskPathSimulator - + Path Simulator 路徑模擬 @@ -4343,10 +4330,9 @@ For example: Don't Show This Anymore - + Edit - int = field(default=None) 編輯 @@ -4477,19 +4463,19 @@ For example: CCW - + A planar adaptive start is unavailable. The non-planar will be attempted. A planar adaptive start is unavailable. The non-planar will be attempted. - - + + The non-planar adaptive start is also unavailable. The non-planar adaptive start is also unavailable. - + %s is not a Base Model object of the job %s %s is not a Base Model object of the job %s @@ -4509,8 +4495,8 @@ For example: Profile entire model, selected face(s) or selected edge(s) - + Choose a Path Job Choose a Path Job @@ -4614,6 +4600,7 @@ For example: List of custom property groups + int = field(default=None) List of custom property groups @@ -4676,12 +4663,12 @@ For example: + + - - The base path to modify The base path to modify @@ -4975,9 +4962,9 @@ For example: Collection of all tool controllers for the job + - Operations Cycle Time Estimation Operations Cycle Time Estimation @@ -5062,8 +5049,8 @@ For example: Fixture Offset Number - + Make False, to prevent operation from generating code Make False, to prevent operation from generating code @@ -5083,8 +5070,8 @@ For example: Influences accuracy and performance - + Percent of cutter diameter to step over on each pass Percent of cutter diameter to step over on each pass @@ -5260,10 +5247,10 @@ For example: The start point of this path - - - + + + Make True, if specifying a Start Point Make True, if specifying a Start Point @@ -5377,9 +5364,9 @@ For example: Apply G99 retraction: only retract to RetractHeight between holes in this operation - + Additional base objects to be engraved Additional base objects to be engraved @@ -5420,9 +5407,9 @@ For example: Starting Radius - + Extra value to stay away from final profile- good for roughing toolpath Extra value to stay away from final profile- good for roughing toolpath @@ -5442,9 +5429,9 @@ For example: Exclude milling raised areas inside the face. - - + + Choose how to process multiple Base Geometry features. Choose how to process multiple Base Geometry features. @@ -5465,8 +5452,8 @@ For example: Process the model and stock in an operation with no Base Geometry selected. - + The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) The direction that the toolpath should go around the part ClockWise (CW) or CounterClockWise (CCW) @@ -5502,10 +5489,27 @@ For example: - + Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes + + + + Skips machining regions that have already been cleared by previous operations. + Skips machining regions that have already been cleared by previous operations. + + + + + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining. + + + + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used. + X offset between tool and probe @@ -5567,8 +5571,8 @@ For example: Make True, if using Cutter Radius Compensation - + Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. @@ -5584,8 +5588,8 @@ For example: Enter custom end point for slot path. - + Set the geometric clearing pattern to use for the operation. Set the geometric clearing pattern to use for the operation. @@ -5601,8 +5605,8 @@ For example: Positive extends the end of the path, negative shortens. - + Complete the operation in a single pass at depth, or multiple passes to final depth. Complete the operation in a single pass at depth, or multiple passes to final depth. @@ -5633,8 +5637,8 @@ For example: Enable to reverse the cut direction of the slot path. - + The custom start point for the path of this operation The custom start point for the path of this operation @@ -6149,24 +6153,24 @@ For example: Path_Dressup - + Please select one path object Please select one path object - + The selected object is not a path The selected object is not a path - + Please select a Path object Please select a Path object @@ -6323,8 +6327,8 @@ For example: Select Probe Point File - + All Files (*.*) 所有檔 (*.*) @@ -6875,6 +6879,11 @@ For example: no job for operation %s found. no job for operation %s found. + + + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata... + Path_Operation @@ -6978,14 +6987,14 @@ For example: PathProfile - + Outside Outside - + Inside Inside @@ -7121,7 +7130,7 @@ For example: PathPocket - + Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. @@ -7141,12 +7150,12 @@ For example: Ÿ - + Pass Extension Pass Extension - + The distance the facing operation will extend beyond the boundary shape. The distance the facing operation will extend beyond the boundary shape. diff --git a/src/Mod/Path/Path/Base/FeedRate.py b/src/Mod/Path/Path/Base/FeedRate.py index e2f599b45e..187a7a412a 100644 --- a/src/Mod/Path/Path/Base/FeedRate.py +++ b/src/Mod/Path/Path/Base/FeedRate.py @@ -51,17 +51,17 @@ def setFeedRate(commandlist, ToolController): def _isVertical(currentposition, command): x = ( command.Parameters["X"] - if "X" in command.Parameters.keys() + if "X" in command.Parameters else currentposition.x ) y = ( command.Parameters["Y"] - if "Y" in command.Parameters.keys() + if "Y" in command.Parameters else currentposition.y ) z = ( command.Parameters["Z"] - if "Z" in command.Parameters.keys() + if "Z" in command.Parameters else currentposition.z ) endpoint = FreeCAD.Vector(x, y, z) diff --git a/src/Mod/Path/Path/Dressup/DogboneII.py b/src/Mod/Path/Path/Dressup/DogboneII.py index 8b2b24fc6c..949c7218c5 100644 --- a/src/Mod/Path/Path/Dressup/DogboneII.py +++ b/src/Mod/Path/Path/Dressup/DogboneII.py @@ -184,10 +184,10 @@ class BoneState(object): return self.bone.tip() def boneIDs(self): - return list(sorted(self.bones.keys())) + return sorted(self.bones) def zLevels(self): - return list(sorted([bone.position().z for bone in self.bones.values()])) + return sorted([bone.position().z for bone in self.bones.values()]) def length(self): return self.bone.length diff --git a/src/Mod/Path/Path/Dressup/Gui/RampEntry.py b/src/Mod/Path/Path/Dressup/Gui/RampEntry.py index 697dd87501..6df13bba3f 100644 --- a/src/Mod/Path/Path/Dressup/Gui/RampEntry.py +++ b/src/Mod/Path/Path/Dressup/Gui/RampEntry.py @@ -203,7 +203,7 @@ class ObjectDressup: if not obj.Base.Path: return - if not obj.Base.Active: + if hasattr(obj.Base, 'Active') and not obj.Base.Active: path = Path.Path("(inactive operation)") obj.Path = path return @@ -479,9 +479,9 @@ class ObjectDressup: ): return Part.makeLine(startPoint, endPoint) elif type(originalEdge.Curve) == Part.Circle: - arcMid = originalEdge.valueAt( - (originalEdge.FirstParameter + originalEdge.LastParameter) / 2 - ) + firstParameter = originalEdge.Curve.parameter(startPoint) + lastParameter = originalEdge.Curve.parameter(endPoint) + arcMid = originalEdge.valueAt((firstParameter + lastParameter) / 2) arcMid.z = (startPoint.z + endPoint.z) / 2 return Part.Arc(startPoint, arcMid, endPoint).toShape() else: diff --git a/src/Mod/Path/Path/Geom.py b/src/Mod/Path/Path/Geom.py index 624af65fe8..615f2cf4ac 100644 --- a/src/Mod/Path/Path/Geom.py +++ b/src/Mod/Path/Path/Geom.py @@ -676,7 +676,7 @@ def flipEdge(edge): poles, mults, knots, perio, degree, weights, ratio ) - return Part.Edge(flipped) + return Part.Edge(flipped, ma + mi - edge.LastParameter, ma + mi - edge.FirstParameter) elif type(edge.Curve) == Part.OffsetCurve: return edge.reversed() diff --git a/src/Mod/Path/Path/GuiInit.py b/src/Mod/Path/Path/GuiInit.py index 63b5a7607b..65819c6edb 100644 --- a/src/Mod/Path/Path/GuiInit.py +++ b/src/Mod/Path/Path/GuiInit.py @@ -80,7 +80,7 @@ def Startup(): from PathScripts import PathUtilsGui - from packaging.version import Version, parse + from packaging.version import Version, parse, InvalidVersion # If camotics is installed and current enough, import the GUI try: @@ -95,7 +95,7 @@ def Startup(): v = parse(r.decode("utf-8")) if v >= Version("1.2.2"): from Path.Main.Gui import Camotics - except (FileNotFoundError, ModuleNotFoundError): + except (FileNotFoundError, ModuleNotFoundError, InvalidVersion): pass Processed = True diff --git a/src/Mod/Path/Path/Main/Gui/JobDlg.py b/src/Mod/Path/Path/Main/Gui/JobDlg.py index 4476dc0a00..0566b2f5be 100644 --- a/src/Mod/Path/Path/Main/Gui/JobDlg.py +++ b/src/Mod/Path/Path/Main/Gui/JobDlg.py @@ -242,7 +242,7 @@ class JobCreate: selectTemplate = Path.Preferences.defaultJobTemplate() index = 0 self.dialog.jobTemplate.addItem("", "") - for name in sorted(template.keys()): + for name in sorted(template): if template[name] == selectTemplate: index = self.dialog.jobTemplate.count() self.dialog.jobTemplate.addItem(name, template[name]) diff --git a/src/Mod/Path/Path/Main/Gui/PreferencesJob.py b/src/Mod/Path/Path/Main/Gui/PreferencesJob.py index 0d8abc90c2..512647b393 100644 --- a/src/Mod/Path/Path/Main/Gui/PreferencesJob.py +++ b/src/Mod/Path/Path/Main/Gui/PreferencesJob.py @@ -329,7 +329,7 @@ class JobPreferencesPage: ) def getPostProcessor(self, name): - if not name in self.processor.keys(): + if not name in self.processor: processor = PostProcessor.load(name) self.processor[name] = processor return processor diff --git a/src/Mod/Path/Path/Op/Area.py b/src/Mod/Path/Path/Op/Area.py index b249372161..1ef2044a8f 100644 --- a/src/Mod/Path/Path/Op/Area.py +++ b/src/Mod/Path/Path/Op/Area.py @@ -38,7 +38,7 @@ __title__ = "Base class for PathArea based operations." __author__ = "sliptonic (Brad Collette)" __url__ = "https://www.freecad.org" __doc__ = "Base class and properties for Path.Area based operations." -__contributors__ = "russ4262 (Russell Johnson)" +__contributors__ = "russ4262 (Russell Johnson) davidgilkaufman (David Kaufman)" if False: @@ -236,6 +236,47 @@ class ObjectOp(PathOp.ObjectOp): mode=0, project=self.areaOpUseProjection(obj), heights=heights ) Path.Log.debug("sections = %s" % sections) + + # Rest machining + self.sectionShapes = self.sectionShapes + [section.toTopoShape() for section in sections] + if hasattr(obj, "UseRestMachining") and obj.UseRestMachining: + # Loop through prior operations + clearedAreas = [] + foundSelf = False + for op in self.job.Operations.Group: + if foundSelf: + break + oplist = [op] + op.OutListRecursive + oplist = list(filter(lambda op: hasattr(op, "Active"), oplist)) + for op in oplist: + if op.Proxy == self: + # Ignore self, and all later operations + foundSelf = True + break + if hasattr(op, "RestMachiningRegions") and op.Active: + if hasattr(op, "RestMachiningRegionsNeedRecompute") and op.RestMachiningRegionsNeedRecompute: + Path.Log.warning( + translate("PathAreaOp", "Previous operation %s is required for rest machining, but it has no stored rest machining metadata. Recomputing to generate this metadata...") % op.Label + ) + op.recompute() + + tool = op.Proxy.tool if hasattr(op.Proxy, "tool") else op.ToolController.Proxy.getTool(op.ToolController) + diameter = tool.Diameter.getValueAs("mm") + def shapeToArea(shape): + area = Path.Area() + area.setPlane(PathUtils.makeWorkplane(shape)) + area.add(shape) + return area + opClearedAreas = [shapeToArea(pa).getClearedArea(diameter, diameter) for pa in op.RestMachiningRegions.SubShapes] + clearedAreas.extend(opClearedAreas) + restSections = [] + for section in sections: + z = section.getShape().BoundBox.ZMin + sectionClearedAreas = [a for a in clearedAreas if a.getShape().BoundBox.ZMax <= z] + restSection = section.getRestArea(sectionClearedAreas, self.tool.Diameter.getValueAs("mm")) + restSections.append(restSection) + sections = restSections + shapelist = [sec.getShape() for sec in sections] Path.Log.debug("shapelist = %s" % shapelist) @@ -388,6 +429,7 @@ class ObjectOp(PathOp.ObjectOp): shapes = [j["shape"] for j in locations] sims = [] + self.sectionShapes = [] for shape, isHole, sub in shapes: profileEdgesIsOpen = False @@ -435,6 +477,10 @@ class ObjectOp(PathOp.ObjectOp): ) ) + if hasattr(obj, "RestMachiningRegions"): + obj.RestMachiningRegions = Part.makeCompound(self.sectionShapes) + if hasattr(obj, "RestMachiningRegionsNeedRecompute"): + obj.RestMachiningRegionsNeedRecompute = False Path.Log.debug("obj.Name: " + str(obj.Name) + "\n\n") return sims diff --git a/src/Mod/Path/Path/Op/Gui/FeatureExtension.py b/src/Mod/Path/Path/Op/Gui/FeatureExtension.py index b577b8182e..3527d9d6f5 100644 --- a/src/Mod/Path/Path/Op/Gui/FeatureExtension.py +++ b/src/Mod/Path/Path/Op/Gui/FeatureExtension.py @@ -373,7 +373,7 @@ class TaskPanelExtensionPage(PathOpGui.TaskPanelPage): "extensionEdges.values(): {}".format(extensionEdges.values()) ) for edgeList in Part.sortEdges( - list(extensionEdges.keys()) + list(extensionEdges) ): # Identify connected edges that form wires self.edgeList = edgeList if len(edgeList) == 1: @@ -725,7 +725,7 @@ class TaskPanelExtensionPage(PathOpGui.TaskPanelPage): else: cacheLabel = base.Name + "_" + sub + "_None" - if cacheLabel in self.extensionsCache.keys(): + if cacheLabel in self.extensionsCache: # Path.Log.debug("return _cachedExtension({})".format(cacheLabel)) return self.extensionsCache[cacheLabel] else: diff --git a/src/Mod/Path/Path/Op/Gui/Pocket.py b/src/Mod/Path/Path/Op/Gui/Pocket.py index 7e7547eb3f..2890dfd41f 100644 --- a/src/Mod/Path/Path/Op/Gui/Pocket.py +++ b/src/Mod/Path/Path/Op/Gui/Pocket.py @@ -46,7 +46,7 @@ class TaskPanelOpPage(PathPocketBaseGui.TaskPanelOpPage): def pocketFeatures(self): """pocketFeatures() ... return FeaturePocket (see PathPocketBaseGui)""" - return PathPocketBaseGui.FeaturePocket + return PathPocketBaseGui.FeaturePocket | PathPocketBaseGui.FeatureRestMachining Command = PathOpGui.SetupOperation( diff --git a/src/Mod/Path/Path/Op/Gui/PocketBase.py b/src/Mod/Path/Path/Op/Gui/PocketBase.py index 891520a997..b45410242f 100644 --- a/src/Mod/Path/Path/Op/Gui/PocketBase.py +++ b/src/Mod/Path/Path/Op/Gui/PocketBase.py @@ -44,6 +44,7 @@ translate = FreeCAD.Qt.translate FeaturePocket = 0x01 FeatureFacing = 0x02 FeatureOutline = 0x04 +FeatureRestMachining = 0x08 class TaskPanelOpPage(PathOpGui.TaskPanelPage): @@ -89,6 +90,9 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): if not (FeatureOutline & self.pocketFeatures()): form.useOutline.hide() + if not (FeatureRestMachining & self.pocketFeatures()): + form.useRestMachining.hide() + # if True: # # currently doesn't have an effect or is experimental # form.minTravel.hide() @@ -131,6 +135,9 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): if obj.UseStartPoint != self.form.useStartPoint.isChecked(): obj.UseStartPoint = self.form.useStartPoint.isChecked() + if obj.UseRestMachining != self.form.useRestMachining.isChecked(): + obj.UseRestMachining = self.form.useRestMachining.isChecked() + if FeatureOutline & self.pocketFeatures(): if obj.UseOutline != self.form.useOutline.isChecked(): obj.UseOutline = self.form.useOutline.isChecked() @@ -155,6 +162,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): ).UserString ) self.form.useStartPoint.setChecked(obj.UseStartPoint) + self.form.useRestMachining.setChecked(obj.UseRestMachining) if FeatureOutline & self.pocketFeatures(): self.form.useOutline.setChecked(obj.UseOutline) @@ -186,6 +194,7 @@ class TaskPanelOpPage(PathOpGui.TaskPanelPage): signals.append(self.form.toolController.currentIndexChanged) signals.append(self.form.extraOffset.editingFinished) signals.append(self.form.useStartPoint.clicked) + signals.append(self.form.useRestMachining.clicked) signals.append(self.form.useOutline.clicked) signals.append(self.form.minTravel.clicked) signals.append(self.form.coolantController.currentIndexChanged) diff --git a/src/Mod/Path/Path/Op/Gui/PocketShape.py b/src/Mod/Path/Path/Op/Gui/PocketShape.py index 784c9fd94b..f7f7ac4e3d 100644 --- a/src/Mod/Path/Path/Op/Gui/PocketShape.py +++ b/src/Mod/Path/Path/Op/Gui/PocketShape.py @@ -52,7 +52,7 @@ class TaskPanelOpPage(PathPocketBaseGui.TaskPanelOpPage): def pocketFeatures(self): """pocketFeatures() ... return FeaturePocket (see PathPocketBaseGui)""" - return PathPocketBaseGui.FeaturePocket | PathPocketBaseGui.FeatureOutline + return PathPocketBaseGui.FeaturePocket | PathPocketBaseGui.FeatureOutline | PathPocketBaseGui.FeatureRestMachining def taskPanelBaseLocationPage(self, obj, features): if not hasattr(self, "extensionsPanel"): diff --git a/src/Mod/Path/Path/Op/Pocket.py b/src/Mod/Path/Path/Op/Pocket.py index e4dec55348..76dd910086 100644 --- a/src/Mod/Path/Path/Op/Pocket.py +++ b/src/Mod/Path/Path/Op/Pocket.py @@ -135,6 +135,7 @@ class ObjectPocket(PathPocketBase.ObjectPocket): def opOnDocumentRestored(self, obj): """opOnDocumentRestored(obj) ... adds the properties if they doesn't exist.""" + super().opOnDocumentRestored(obj) self.initPocketOp(obj) def pocketInvertExtraOffset(self): diff --git a/src/Mod/Path/Path/Op/PocketBase.py b/src/Mod/Path/Path/Op/PocketBase.py index 9073fdebca..829dd865c3 100644 --- a/src/Mod/Path/Path/Op/PocketBase.py +++ b/src/Mod/Path/Path/Op/PocketBase.py @@ -185,6 +185,25 @@ class ObjectPocket(PathAreaOp.ObjectOp): "Last Stepover Radius. If 0, 50% of cutter is used. Tuning this can be used to improve stepover for some shapes", ), ) + obj.addProperty( + "App::PropertyBool", + "UseRestMachining", + "Pocket", + QT_TRANSLATE_NOOP( + "App::Property", + "Skips machining regions that have already been cleared by previous operations.", + ), + ) + obj.addProperty( + "Part::PropertyPartShape", + "RestMachiningRegions", + "Pocket", + QT_TRANSLATE_NOOP( + "App::Property", + "The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining.", + ), + ) + obj.setEditorMode("RestMachiningRegions", 2) # hide for n in self.pocketPropertyEnumerations(): setattr(obj, n[0], n[1]) @@ -246,6 +265,42 @@ class ObjectPocket(PathAreaOp.ObjectOp): ), ) obj.PocketLastStepOver = 0 + + if not hasattr(obj, "UseRestMachining"): + obj.addProperty( + "App::PropertyBool", + "UseRestMachining", + "Pocket", + QT_TRANSLATE_NOOP( + "App::Property", + "Skips machining regions that have already been cleared by previous operations.", + ), + ) + + if not hasattr(obj, "RestMachiningRegions"): + obj.addProperty( + "Part::PropertyPartShape", + "RestMachiningRegions", + "Pocket", + QT_TRANSLATE_NOOP( + "App::Property", + "The areas cleared by this operation, one area per height, stored as a compound part. Used internally for rest machining.", + ), + ) + obj.setEditorMode("RestMachiningRegions", 2) # hide + + obj.addProperty( + "App::PropertyBool", + "RestMachiningRegionsNeedRecompute", + "Pocket", + QT_TRANSLATE_NOOP( + "App::Property", + "Flag to indicate that the rest machining regions have never been computed, and must be recomputed before being used.", + ), + ) + obj.setEditorMode("RestMachiningRegionsNeedRecompute", 2) # hide + obj.RestMachiningRegionsNeedRecompute = True + Path.Log.track() def areaOpPathParams(self, obj, isHole): diff --git a/src/Mod/Path/Path/Post/Command.py b/src/Mod/Path/Path/Post/Command.py index 6cff4d6cab..4d6d01574f 100644 --- a/src/Mod/Path/Path/Post/Command.py +++ b/src/Mod/Path/Path/Post/Command.py @@ -438,7 +438,7 @@ class DlgSelectPostProcessor: self.dialog.lwPostProcessor.itemEntered.connect(self.updateTooltip) def updateTooltip(self, item): - if item.text() in self.tooltips.keys(): + if item.text() in self.tooltips: tooltip = self.tooltips[item.text()] else: processor = PostProcessor.load(item.text()) diff --git a/src/Mod/Path/Path/Post/UtilsArguments.py b/src/Mod/Path/Path/Post/UtilsArguments.py index f458293550..2adcb76109 100644 --- a/src/Mod/Path/Path/Post/UtilsArguments.py +++ b/src/Mod/Path/Path/Post/UtilsArguments.py @@ -36,6 +36,8 @@ import shlex from FreeCAD import Units +import Path.Post.UtilsParse as PostUtilsParse + def add_flag_type_arguments( argument_group, @@ -447,6 +449,12 @@ def init_shared_values(values): # values["OUTPUT_TOOL_CHANGE"] = True # + # This dictionary/hash holds the functions that are used + # to process the G-code parameter values + # + values["PARAMETER_FUNCTIONS"] = {} + PostUtilsParse.init_parameter_functions(values["PARAMETER_FUNCTIONS"]) + # # This list controls the order of parameters in a line during output. # values["PARAMETER_ORDER"] = [ diff --git a/src/Mod/Path/Path/Post/UtilsExport.py b/src/Mod/Path/Path/Post/UtilsExport.py index 125c5c19b8..b34b63ae12 100644 --- a/src/Mod/Path/Path/Post/UtilsExport.py +++ b/src/Mod/Path/Path/Post/UtilsExport.py @@ -206,6 +206,7 @@ def export_common(values, objectslist, filename): # process the operation gcode gcode += PostUtilsParse.parse_a_group(values, obj) + # do the post_op if values["OUTPUT_COMMENTS"]: comment = PostUtilsParse.create_comment( diff --git a/src/Mod/Path/Path/Post/UtilsParse.py b/src/Mod/Path/Path/Post/UtilsParse.py index 7158cb483e..d83dd7b065 100644 --- a/src/Mod/Path/Path/Post/UtilsParse.py +++ b/src/Mod/Path/Path/Post/UtilsParse.py @@ -256,6 +256,44 @@ def format_outstring(values, strTable): return s +def init_parameter_functions(parameter_functions): + """Initialize a list of parameter functions. + + These functions are called in the PostUtilsParse.parse_a_path + function to return the appropriate parameter value. + """ + default_parameter_functions = { + "A": default_axis_parameter, + "B": default_axis_parameter, + "C": default_axis_parameter, + "D": default_D_parameter, + "E": default_length_parameter, + "F": default_F_parameter, + # "G" is reserved for G-code commands + "H": default_int_parameter, + "I": default_length_parameter, + "J": default_length_parameter, + "K": default_length_parameter, + "L": default_int_parameter, + # "M" is reserved for M-code commands + # "N" is reserved for the line numbers + # "O" is reserved for the line numbers for subroutines + "P": default_P_parameter, + "Q": default_Q_parameter, + "R": default_length_parameter, + "S": default_S_parameter, + "T": default_int_parameter, + "U": default_axis_parameter, + "V": default_axis_parameter, + "W": default_axis_parameter, + "X": default_axis_parameter, + "Y": default_axis_parameter, + "Z": default_axis_parameter, + # "$" is used by LinuxCNC (and others?) to designate which spindle + } + parameter_functions.update(default_parameter_functions) + + def linenumber(values, space=None): """Output the next line number if appropriate.""" if values["OUTPUT_LINE_NUMBERS"]: @@ -267,41 +305,6 @@ def linenumber(values, space=None): return "" -# -# These functions are called in the parse_a_path function -# to return the appropriate parameter value. -# -parameter_functions = { - "A": default_axis_parameter, - "B": default_axis_parameter, - "C": default_axis_parameter, - "D": default_D_parameter, - "E": default_length_parameter, - "F": default_F_parameter, - # "G" is reserved for G-code commands - "H": default_int_parameter, - "I": default_length_parameter, - "J": default_length_parameter, - "K": default_length_parameter, - "L": default_int_parameter, - # "M" is reserved for M-code commands - # "N" is reserved for the beginning of line numbers - # "O" is reserved for the beginning of line numbers for subroutines - "P": default_P_parameter, - "Q": default_Q_parameter, - "R": default_length_parameter, - "S": default_S_parameter, - "T": default_int_parameter, - "U": default_axis_parameter, - "V": default_axis_parameter, - "W": default_axis_parameter, - "X": default_axis_parameter, - "Y": default_axis_parameter, - "Z": default_axis_parameter, - # "$" is used by LinuxCNC (and others?) to designate which spindle -} - - def parse_a_group(values, pathobj): """Parse a Group (compound, project, or simple path).""" nl = "\n" @@ -366,6 +369,7 @@ def parse_a_path(values, pathobj): continue if values["COMMENT_SYMBOL"] != "(" and len(command) > 2: command = create_comment(values, command[1:-1]) + if ( values["OUTPUT_ADAPTIVE"] and adaptiveOp @@ -385,7 +389,7 @@ def parse_a_path(values, pathobj): # Now add the remaining parameters in order for parameter in values["PARAMETER_ORDER"]: if parameter in c.Parameters: - parameter_value = parameter_functions[parameter]( + parameter_value = values["PARAMETER_FUNCTIONS"][parameter]( values, command, parameter, c.Parameters[parameter], currLocation ) if parameter_value: diff --git a/src/Mod/Path/PathSimulator/App/PathSimPy.xml b/src/Mod/Path/PathSimulator/App/PathSimPy.xml index 8d20b57ef1..f4ede18033 100644 --- a/src/Mod/Path/PathSimulator/App/PathSimPy.xml +++ b/src/Mod/Path/PathSimulator/App/PathSimPy.xml @@ -13,35 +13,46 @@ Delete="true"> - FreeCAD python wrapper of PathSimulator\n -PathSimulator.PathSim():\n -Create a path simulator object\n + FreeCAD python wrapper of PathSimulator + +PathSimulator.PathSim(): + +Create a path simulator object + - BeginSimulation(stock, resolution):\n -Start a simulation process on a box shape stock with given resolution\n + BeginSimulation(stock, resolution): + +Start a simulation process on a box shape stock with given resolution + - SetToolShape(shape):\n -Set the shape of the tool to be used for simulation\n + SetToolShape(shape): + +Set the shape of the tool to be used for simulation + - GetResultMesh():\n - Return the current mesh result of the simulation.\n + GetResultMesh(): + + Return the current mesh result of the simulation. + - ApplyCommand(placement, command):\n - Apply a single path command on the stock starting from placement.\n + ApplyCommand(placement, command): + + Apply a single path command on the stock starting from placement. + diff --git a/src/Mod/Path/PathSimulator/App/PathSimPyImp.cpp b/src/Mod/Path/PathSimulator/App/PathSimPyImp.cpp index 7c96a661cb..ac7f62e0f2 100644 --- a/src/Mod/Path/PathSimulator/App/PathSimPyImp.cpp +++ b/src/Mod/Path/PathSimulator/App/PathSimPyImp.cpp @@ -23,6 +23,7 @@ #include "PreCompiled.h" #include +#include #include #include @@ -57,10 +58,10 @@ int PathSimPy::PyInit(PyObject* /*args*/, PyObject* /*kwd*/) PyObject* PathSimPy::BeginSimulation(PyObject * args, PyObject * kwds) { - static char *kwlist[] = { "stock", "resolution", nullptr }; + static const std::array kwlist { "stock", "resolution", nullptr }; PyObject *pObjStock; float resolution; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!f", kwlist, &(Part::TopoShapePy::Type), &pObjStock, &resolution)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!f", kwlist, &(Part::TopoShapePy::Type), &pObjStock, &resolution)) return nullptr; PathSim *sim = getPathSimPtr(); Part::TopoShape *stock = static_cast(pObjStock)->getTopoShapePtr(); @@ -107,11 +108,13 @@ PyObject* PathSimPy::GetResultMesh(PyObject * args) PyObject* PathSimPy::ApplyCommand(PyObject * args, PyObject * kwds) { - static char *kwlist[] = { "position", "command", nullptr }; + static const std::array kwlist { "position", "command", nullptr }; PyObject *pObjPlace; PyObject *pObjCmd; - if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!O!", kwlist, &(Base::PlacementPy::Type), &pObjPlace, &(Path::CommandPy::Type), &pObjCmd)) - return nullptr; + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwds, "O!O!", kwlist, &(Base::PlacementPy::Type), &pObjPlace, + &(Path::CommandPy::Type), &pObjCmd)) { + return nullptr; + } PathSim *sim = getPathSimPtr(); Base::Placement *pos = static_cast(pObjPlace)->getPlacementPtr(); Path::Command *cmd = static_cast(pObjCmd)->getCommandPtr(); diff --git a/src/Mod/Path/PathTests/TestPathGeom.py b/src/Mod/Path/PathTests/TestPathGeom.py index d6ffd864e0..e2bad2f1ec 100644 --- a/src/Mod/Path/PathTests/TestPathGeom.py +++ b/src/Mod/Path/PathTests/TestPathGeom.py @@ -872,6 +872,9 @@ class TestPathGeom(PathTestBase): edge = Part.Edge(spline) self.assertEdgeShapesMatch(edge, Path.Geom.flipEdge(edge)) + edge = Part.Edge(spline, 4, 12) + self.assertEdgeShapesMatch(edge, Path.Geom.flipEdge(edge)) + edge = Part.Edge( Part.BSplineCurve( [ diff --git a/src/Mod/Plot/Plot.py b/src/Mod/Plot/Plot.py index 78e117439c..a57d501814 100644 --- a/src/Mod/Plot/Plot.py +++ b/src/Mod/Plot/Plot.py @@ -30,7 +30,13 @@ try: import matplotlib matplotlib.use('Qt5Agg') - import matplotlib.pyplot as plt + # Force matplotlib to use PySide backend by temporarily unloading PyQt + if 'PyQt5.QtCore' in sys.modules: + del sys.modules['PyQt5.QtCore'] + import matplotlib.pyplot as plt + import PyQt5.QtCore + else: + import matplotlib.pyplot as plt from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar diff --git a/src/Mod/Points/App/AppPointsPy.cpp b/src/Mod/Points/App/AppPointsPy.cpp index 9bd3d6d74a..3ab0473d7c 100644 --- a/src/Mod/Points/App/AppPointsPy.cpp +++ b/src/Mod/Points/App/AppPointsPy.cpp @@ -59,16 +59,14 @@ public: initialize("This module is the Points module."); // register with Python } - ~Module() override {} - private: - std::tuple readE57Settings() const + std::tuple readE57Settings() const { Base::Reference hGrp = App::GetApplication().GetUserParameter() .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/Points/E57"); bool useColor = hGrp->GetBool("UseColor", true); bool checkState = hGrp->GetBool("CheckInvalidState", true); - float minDistance = hGrp->GetFloat("MinDistance", -1.); + double minDistance = hGrp->GetFloat("MinDistance", -1.); return std::make_tuple(useColor, checkState, minDistance); } diff --git a/src/Mod/Points/App/Points.cpp b/src/Mod/Points/App/Points.cpp index d95381f666..2ad629226e 100644 --- a/src/Mod/Points/App/Points.cpp +++ b/src/Mod/Points/App/Points.cpp @@ -112,8 +112,9 @@ Base::BoundBox3d PointKernel::getBoundBox()const bnd.Add(lbb); }); #else - for (const_point_iterator it = begin(); it != end(); ++it) - bnd.Add(*it); + for (const auto & it : *this) { + bnd.Add(it); + } #endif return bnd; } @@ -135,11 +136,12 @@ unsigned int PointKernel::getMemSize () const PointKernel::size_type PointKernel::countValid() const { size_type num = 0; - for (const_point_iterator it = begin(); it != end(); ++it) { - if (!(boost::math::isnan(it->x) || - boost::math::isnan(it->y) || - boost::math::isnan(it->z))) + for (const auto & it : *this) { + if (!(boost::math::isnan(it.x) || + boost::math::isnan(it.y) || + boost::math::isnan(it.z))) { num++; + } } return num; } @@ -148,14 +150,15 @@ std::vector PointKernel::getValidPoints() const { std::vector valid; valid.reserve(countValid()); - for (const_point_iterator it = begin(); it != end(); ++it) { - if (!(boost::math::isnan(it->x) || - boost::math::isnan(it->y) || - boost::math::isnan(it->z))) + for (const auto & it : *this) { + if (!(boost::math::isnan(it.x) || + boost::math::isnan(it.y) || + boost::math::isnan(it.z))) { valid.emplace_back( - static_cast(it->x), - static_cast(it->y), - static_cast(it->z)); + static_cast(it.x), + static_cast(it.y), + static_cast(it.z)); + } } return valid; } @@ -175,8 +178,8 @@ void PointKernel::SaveDocFile (Base::Writer &writer) const uint32_t uCt = (uint32_t)size(); str << uCt; // store the data without transforming it - for (std::vector::const_iterator it = _Points.begin(); it != _Points.end(); ++it) { - str << it->x << it->y << it->z; + for (const auto& pnt : _Points) { + str << pnt.x << pnt.y << pnt.z; } } @@ -204,7 +207,9 @@ void PointKernel::RestoreDocFile(Base::Reader &reader) str >> uCt; _Points.resize(uCt); for (unsigned long i=0; i < uCt; i++) { - float x, y, z; + float x; + float y; + float z; str >> x >> y >> z; _Points[i].Set(x,y,z); } @@ -224,8 +229,8 @@ void PointKernel::load(const char* file) void PointKernel::save(std::ostream& out) const { out << "# ASCII" << std::endl; - for (std::vector::const_iterator it = _Points.begin(); it != _Points.end(); ++it) { - out << it->x << " " << it->y << " " << it->z << std::endl; + for (const auto& pnt : _Points) { + out << pnt.x << " " << pnt.y << " " << pnt.z << std::endl; } } @@ -254,23 +259,13 @@ PointKernel::const_point_iterator::const_point_iterator } PointKernel::const_point_iterator::const_point_iterator -(const PointKernel::const_point_iterator& fi) - : _kernel(fi._kernel), _point(fi._point), _p_it(fi._p_it) -{ -} +(const PointKernel::const_point_iterator& fi) = default; -//PointKernel::const_point_iterator::~const_point_iterator() -//{ -//} +PointKernel::const_point_iterator::~const_point_iterator() = default; PointKernel::const_point_iterator& -PointKernel::const_point_iterator::operator=(const PointKernel::const_point_iterator& pi) -{ - this->_kernel = pi._kernel; - this->_point = pi._point; - this->_p_it = pi._p_it; - return *this; -} +PointKernel::const_point_iterator::operator= +(const PointKernel::const_point_iterator& pi) = default; void PointKernel::const_point_iterator::dereference() { diff --git a/src/Mod/Points/App/Points.h b/src/Mod/Points/App/Points.h index caa7d54712..7dcd593339 100644 --- a/src/Mod/Points/App/Points.h +++ b/src/Mod/Points/App/Points.h @@ -52,17 +52,13 @@ public: using difference_type = std::vector::difference_type; using size_type = std::vector::size_type; - PointKernel() - { - } + PointKernel() = default; explicit PointKernel(size_type size) { resize(size); } PointKernel(const PointKernel&); - ~PointKernel() override - { - } + ~PointKernel() override = default; void operator = (const PointKernel&); @@ -153,7 +149,7 @@ public: const_point_iterator(const PointKernel*, std::vector::const_iterator index); const_point_iterator(const const_point_iterator& pi); - //~const_point_iterator(); + ~const_point_iterator(); const_point_iterator& operator=(const const_point_iterator& fi); const value_type& operator*(); @@ -182,9 +178,9 @@ public: /** @name Iterator */ //@{ const_point_iterator begin() const - { return const_point_iterator(this, _Points.begin()); } + { return {this, _Points.begin()}; } const_point_iterator end() const - { return const_point_iterator(this, _Points.end()); } + { return {this, _Points.end()}; } const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } const_reverse_iterator rend() const diff --git a/src/Mod/Points/App/PointsAlgos.cpp b/src/Mod/Points/App/PointsAlgos.cpp index 60ef029adf..1d04b78691 100644 --- a/src/Mod/Points/App/PointsAlgos.cpp +++ b/src/Mod/Points/App/PointsAlgos.cpp @@ -124,9 +124,7 @@ Reader::Reader() height = 0; } -Reader::~Reader() -{ -} +Reader::~Reader() = default; void Reader::clear() { @@ -192,13 +190,7 @@ int Reader::getHeight() const // ---------------------------------------------------------------------------- -AscReader::AscReader() -{ -} - -AscReader::~AscReader() -{ -} +AscReader::AscReader() = default; void AscReader::read(const std::string& filename) { @@ -216,7 +208,6 @@ public: virtual double toDouble(Base::InputStream&) const = 0; virtual int getSizeOf() const = 0; -private: Converter(const Converter&) = delete; Converter(Converter&&) = delete; Converter& operator= (const Converter&) = delete; @@ -253,8 +244,7 @@ public: _end = data.size(); _cur = 0; } - ~DataStreambuf() override { - } + ~DataStreambuf() override = default; protected: int_type uflow() override { @@ -307,7 +297,7 @@ protected: return seekoff(pos, std::ios_base::beg); } -private: +public: DataStreambuf(const DataStreambuf&) = delete; DataStreambuf(DataStreambuf&&) = delete; DataStreambuf& operator=(const DataStreambuf&) = delete; @@ -504,13 +494,7 @@ lzfDecompress (const void *const in_data, unsigned int in_len, } } -PlyReader::PlyReader() -{ -} - -PlyReader::~PlyReader() -{ -} +PlyReader::PlyReader() = default; void PlyReader::read(const std::string& filename) { @@ -762,30 +746,30 @@ std::size_t PlyReader::readHeader(std::istream& in, number.push_back(list[1]); } - for (std::list::iterator it = number.begin(); it != number.end(); ++it) { + for (const auto & it : number) { int size = 0; - if (*it == "char" || *it == "int8") { + if (it == "char" || it == "int8") { size = 1; } - else if (*it == "uchar" || *it == "uint8") { + else if (it == "uchar" || it == "uint8") { size = 1; } - else if (*it == "short" || *it == "int16") { + else if (it == "short" || it == "int16") { size = 2; } - else if (*it == "ushort" || *it == "uint16") { + else if (it == "ushort" || it == "uint16") { size = 2; } - else if (*it == "int" || *it == "int32") { + else if (it == "int" || it == "int32") { size = 4; } - else if (*it == "uint" || *it == "uint32") { + else if (it == "uint" || it == "uint32") { size = 4; } - else if (*it == "float" || *it == "float32") { + else if (it == "float" || it == "float32") { size = 4; } - else if (*it == "double" || *it == "float64") { + else if (it == "double" || it == "float64") { size = 8; } else { @@ -796,7 +780,7 @@ std::size_t PlyReader::readHeader(std::istream& in, if (element == "vertex") { // store the property name and type fields.push_back(name); - types.push_back(*it); + types.push_back(it); sizes.push_back(size); } else if (!count_props.empty()) { @@ -949,13 +933,7 @@ void PlyReader::readBinary(bool swapByteOrder, // ---------------------------------------------------------------------------- -PcdReader::PcdReader() -{ -} - -PcdReader::~PcdReader() -{ -} +PcdReader::PcdReader() = default; void PcdReader::read(const std::string& filename) { @@ -1748,14 +1726,10 @@ private: }; } -E57Reader::E57Reader(const bool& Color, const bool& State, const float& Distance) -{ - useColor = Color; - checkState = State; - minDistance = Distance; -} - -E57Reader::~E57Reader() +E57Reader::E57Reader(bool Color, bool State, double Distance) + : useColor{Color} + , checkState{State} + , minDistance{Distance} { } @@ -1785,9 +1759,7 @@ Writer::Writer(const PointKernel& p) : points(p) height = 1; } -Writer::~Writer() -{ -} +Writer::~Writer() = default; void Writer::setIntensities(const std::vector& i) { @@ -1825,10 +1797,6 @@ AscWriter::AscWriter(const PointKernel& p) : Writer(p) { } -AscWriter::~AscWriter() -{ -} - void AscWriter::write(const std::string& filename) { if (placement.isIdentity()) { @@ -1847,10 +1815,6 @@ PlyWriter::PlyWriter(const PointKernel& p) : Writer(p) { } -PlyWriter::~PlyWriter() -{ -} - void PlyWriter::write(const std::string& filename) { std::list properties; @@ -1981,8 +1945,8 @@ void PlyWriter::write(const std::string& filename) out << "element vertex " << numValid << std::endl; // the properties - for (std::list::iterator it = properties.begin(); it != properties.end(); ++it) - out << "property " << *it << std::endl; + for (const auto & prop : properties) + out << "property " << prop << std::endl; out << "end_header" << std::endl; for (std::size_t r=0; r fields; @@ -2129,8 +2089,8 @@ void PcdWriter::write(const std::string& filename) // the fields out << "FIELDS"; - for (std::list::iterator it = fields.begin(); it != fields.end(); ++it) - out << " " << *it; + for (const auto & field : fields) + out << " " << field; out << std::endl; // the sizes @@ -2141,8 +2101,8 @@ void PcdWriter::write(const std::string& filename) // the types out << "TYPE"; - for (std::list::iterator it = types.begin(); it != types.end(); ++it) - out << " " << *it; + for (const auto & type : types) + out << " " << type; out << std::endl; // the count diff --git a/src/Mod/Points/App/PointsAlgos.h b/src/Mod/Points/App/PointsAlgos.h index 19ad609a59..0518c67f52 100644 --- a/src/Mod/Points/App/PointsAlgos.h +++ b/src/Mod/Points/App/PointsAlgos.h @@ -77,7 +77,6 @@ class AscReader : public Reader { public: AscReader(); - ~AscReader() override; void read(const std::string& filename) override; }; @@ -85,7 +84,6 @@ class PlyReader : public Reader { public: PlyReader(); - ~PlyReader() override; void read(const std::string& filename) override; private: @@ -103,7 +101,6 @@ class PcdReader : public Reader { public: PcdReader(); - ~PcdReader() override; void read(const std::string& filename) override; private: @@ -119,12 +116,11 @@ private: class E57Reader : public Reader { public: - E57Reader(const bool& Color, const bool& State, const float& Distance); - ~E57Reader() override; + E57Reader(bool Color, bool State, double Distance); void read(const std::string& filename) override; protected: bool useColor, checkState; - float minDistance; + double minDistance; }; class Writer @@ -154,7 +150,6 @@ class AscWriter : public Writer { public: explicit AscWriter(const PointKernel&); - ~AscWriter() override; void write(const std::string& filename) override; }; @@ -162,7 +157,6 @@ class PlyWriter : public Writer { public: explicit PlyWriter(const PointKernel&); - ~PlyWriter() override; void write(const std::string& filename) override; }; @@ -170,7 +164,6 @@ class PcdWriter : public Writer { public: explicit PcdWriter(const PointKernel&); - ~PcdWriter() override; void write(const std::string& filename) override; }; diff --git a/src/Mod/Points/App/PointsFeature.cpp b/src/Mod/Points/App/PointsFeature.cpp index cb513e2220..ffb1ec73bb 100644 --- a/src/Mod/Points/App/PointsFeature.cpp +++ b/src/Mod/Points/App/PointsFeature.cpp @@ -42,10 +42,6 @@ Feature::Feature() ADD_PROPERTY(Points, (PointKernel())); } -Feature::~Feature() -{ -} - short Feature::mustExecute() const { return 0; diff --git a/src/Mod/Points/App/PointsFeature.h b/src/Mod/Points/App/PointsFeature.h index 5f5c1f07f9..3ccc82ffa0 100644 --- a/src/Mod/Points/App/PointsFeature.h +++ b/src/Mod/Points/App/PointsFeature.h @@ -55,7 +55,6 @@ class PointsExport Feature : public App::GeoFeature public: /// Constructor Feature(); - ~Feature() override; /** @name methods override Feature */ //@{ diff --git a/src/Mod/Points/App/PointsGrid.cpp b/src/Mod/Points/App/PointsGrid.cpp index b15605b9fb..0f624efda4 100644 --- a/src/Mod/Points/App/PointsGrid.cpp +++ b/src/Mod/Points/App/PointsGrid.cpp @@ -74,8 +74,8 @@ PointsGrid::PointsGrid (const PointKernel &rclM, double fGridLen) _fMinX(0.0f), _fMinY(0.0f), _fMinZ(0.0f) { Base::BoundBox3d clBBPts;// = _pclPoints->GetBoundBox(); - for (PointKernel::const_iterator it = _pclPoints->begin(); it != _pclPoints->end(); ++it ) - clBBPts.Add(*it); + for (const auto & pnt : *_pclPoints) + clBBPts.Add(pnt); Rebuild(std::max((unsigned long)(clBBPts.LengthX() / fGridLen), 1), std::max((unsigned long)(clBBPts.LengthY() / fGridLen), 1), std::max((unsigned long)(clBBPts.LengthZ() / fGridLen), 1)); @@ -131,8 +131,8 @@ void PointsGrid::InitGrid () // { Base::BoundBox3d clBBPts;// = _pclPoints->GetBoundBox(); - for (PointKernel::const_iterator it = _pclPoints->begin(); it != _pclPoints->end(); ++it ) - clBBPts.Add(*it); + for (const auto & pnt : *_pclPoints) + clBBPts.Add(pnt); double fLengthX = clBBPts.LengthX(); double fLengthY = clBBPts.LengthY(); @@ -289,8 +289,8 @@ void PointsGrid::CalculateGridLength (unsigned long ulCtGrid, unsigned long ulMa // There should be about 10 (?!?!) facets per grid // or max grids should not exceed 10000 Base::BoundBox3d clBBPtsEnlarged;// = _pclPoints->GetBoundBox(); - for (PointKernel::const_iterator it = _pclPoints->begin(); it != _pclPoints->end(); ++it ) - clBBPtsEnlarged.Add(*it); + for (const auto & pnt : *_pclPoints) + clBBPtsEnlarged.Add(pnt); double fVolElem; if (_ulCtElements > (ulMaxGrids * ulCtGrid)) @@ -326,8 +326,8 @@ void PointsGrid::CalculateGridLength (int iCtGridPerAxis) // There should be about 10 (?!?!) facets per grid // or max grids should not exceed 10000 Base::BoundBox3d clBBPts;// = _pclPoints->GetBoundBox(); - for (PointKernel::const_iterator it = _pclPoints->begin(); it != _pclPoints->end(); ++it ) - clBBPts.Add(*it); + for (const auto & pnt : *_pclPoints) + clBBPts.Add(pnt); double fLenghtX = clBBPts.LengthX(); double fLenghtY = clBBPts.LengthY(); @@ -669,9 +669,9 @@ bool PointsGrid::Verify() const { std::vector aulElements; it.GetElements( aulElements ); - for ( std::vector::iterator itP = aulElements.begin(); itP != aulElements.end(); ++itP ) + for (unsigned long element : aulElements) { - const Base::Vector3d& cP = _pclPoints->getPoint(*itP); + const Base::Vector3d& cP = _pclPoints->getPoint(element); if (!it.GetBoundBox().IsInBox(cP)) return false; // point doesn't lie inside the grid element } @@ -689,9 +689,9 @@ void PointsGrid::RebuildGrid () // Fill data structure unsigned long i = 0; - for (PointKernel::const_iterator it = _pclPoints->begin(); it != _pclPoints->end(); ++it ) + for (const auto & pnt : *_pclPoints) { - AddPoint(*it, i++); + AddPoint(pnt, i++); } } @@ -720,11 +720,7 @@ unsigned long PointsGrid::FindElements (const Base::Vector3d &rclPoint, std::set PointsGridIterator::PointsGridIterator (const PointsGrid &rclG) : _rclGrid(rclG), - _ulX(0), _ulY(0), _ulZ(0), - _clPt(0.0f, 0.0f, 0.0f), _clDir(0.0f, 0.0f, 0.0f), - _bValidRay(false), - _fMaxSearchArea (FLOAT_MAX) - + _clPt(0.0f, 0.0f, 0.0f), _clDir(0.0f, 0.0f, 0.0f) { } diff --git a/src/Mod/Points/App/PointsGrid.h b/src/Mod/Points/App/PointsGrid.h index a85fac5d03..56128b7e91 100644 --- a/src/Mod/Points/App/PointsGrid.h +++ b/src/Mod/Points/App/PointsGrid.h @@ -62,7 +62,7 @@ public: /// Construction PointsGrid (const PointKernel &rclM, unsigned long ulX, unsigned long ulY, unsigned long ulZ); /// Destruction - virtual ~PointsGrid () { } + virtual ~PointsGrid () = default; //@} public: @@ -216,13 +216,13 @@ public: protected: const PointsGrid& _rclGrid; /**< The point grid. */ - unsigned long _ulX; /**< Number of grids in x. */ - unsigned long _ulY; /**< Number of grids in y. */ - unsigned long _ulZ; /**< Number of grids in z. */ + unsigned long _ulX{0}; /**< Number of grids in x. */ + unsigned long _ulY{0}; /**< Number of grids in y. */ + unsigned long _ulZ{0}; /**< Number of grids in z. */ Base::Vector3d _clPt; /**< Base point of search ray. */ Base::Vector3d _clDir; /**< Direction of search ray. */ - bool _bValidRay; /**< Search ray ok? */ - float _fMaxSearchArea; + bool _bValidRay{false}; /**< Search ray ok? */ + float _fMaxSearchArea{FLOAT_MAX}; /** Checks if a grid position is already visited by NextOnRay(). */ struct GridElement { diff --git a/src/Mod/Points/App/PointsPyImp.cpp b/src/Mod/Points/App/PointsPyImp.cpp index 9b9112b240..454ea0267f 100644 --- a/src/Mod/Points/App/PointsPyImp.cpp +++ b/src/Mod/Points/App/PointsPyImp.cpp @@ -41,7 +41,7 @@ using namespace Points; // returns a string which represents the object e.g. when printed in python std::string PointsPy::representation() const { - return std::string(""); + return {""}; } PyObject *PointsPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper @@ -130,8 +130,8 @@ PyObject* PointsPy::writeInventor(PyObject * args) std::vector points; PointKernel* kernel = getPointKernelPtr(); points.reserve(kernel->size()); - for (Points::PointKernel::const_iterator it = kernel->begin(); it != kernel->end(); ++it) { - points.push_back(Base::convertTo(*it)); + for (const auto & it : *kernel) { + points.push_back(Base::convertTo(it)); } builder.addNode(Base::Coordinate3Item{points}); builder.addNode(Base::PointSetItem{}); @@ -210,9 +210,9 @@ PyObject* PointsPy::fromValid(PyObject * args) const PointKernel* points = getPointKernelPtr(); std::unique_ptr pts(new PointKernel()); pts->reserve(points->size()); - for (PointKernel::const_iterator it = points->begin(); it != points->end(); ++it) { - if (!boost::math::isnan(it->x) && !boost::math::isnan(it->y) && !boost::math::isnan(it->z)) - pts->push_back(*it); + for (const auto & point : *points) { + if (!boost::math::isnan(point.x) && !boost::math::isnan(point.y) && !boost::math::isnan(point.z)) + pts->push_back(point); } return new PointsPy(pts.release()); @@ -232,8 +232,8 @@ Py::List PointsPy::getPoints() const { Py::List PointList; const PointKernel* points = getPointKernelPtr(); - for (PointKernel::const_point_iterator it = points->begin(); it != points->end(); ++it) { - PointList.append(Py::asObject(new Base::VectorPy(*it))); + for (const auto & point : *points) { + PointList.append(Py::asObject(new Base::VectorPy(point))); } return PointList; } diff --git a/src/Mod/Points/App/Properties.cpp b/src/Mod/Points/App/Properties.cpp index 2ea0366762..93408b7363 100644 --- a/src/Mod/Points/App/Properties.cpp +++ b/src/Mod/Points/App/Properties.cpp @@ -51,15 +51,7 @@ TYPESYSTEM_SOURCE(Points::PropertyGreyValueList, App::PropertyLists) TYPESYSTEM_SOURCE(Points::PropertyNormalList, App::PropertyLists) TYPESYSTEM_SOURCE(Points::PropertyCurvatureList , App::PropertyLists) -PropertyGreyValueList::PropertyGreyValueList() -{ - -} - -PropertyGreyValueList::~PropertyGreyValueList() -{ - -} +PropertyGreyValueList::PropertyGreyValueList() = default; void PropertyGreyValueList::setSize(int newSize) { @@ -156,8 +148,8 @@ void PropertyGreyValueList::SaveDocFile (Base::Writer &writer) const Base::OutputStream str(writer.Stream()); uint32_t uCt = (uint32_t)getSize(); str << uCt; - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << *it; + for (float it : _lValueList) { + str << it; } } @@ -167,8 +159,8 @@ void PropertyGreyValueList::RestoreDocFile(Base::Reader &reader) uint32_t uCt=0; str >> uCt; std::vector values(uCt); - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - str >> *it; + for (float & value : values) { + str >> value; } setValues(values); } @@ -221,15 +213,7 @@ void PropertyGreyValueList::removeIndices( const std::vector& uIn setValues(remainValue); } -PropertyNormalList::PropertyNormalList() -{ - -} - -PropertyNormalList::~PropertyNormalList() -{ - -} +PropertyNormalList::PropertyNormalList() = default; void PropertyNormalList::setSize(int newSize) { @@ -330,8 +314,8 @@ void PropertyNormalList::SaveDocFile (Base::Writer &writer) const Base::OutputStream str(writer.Stream()); uint32_t uCt = (uint32_t)getSize(); str << uCt; - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << it->x << it->y << it->z; + for (const auto& it : _lValueList) { + str << it.x << it.y << it.z; } } @@ -341,8 +325,8 @@ void PropertyNormalList::RestoreDocFile(Base::Reader &reader) uint32_t uCt=0; str >> uCt; std::vector values(uCt); - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - str >> it->x >> it->y >> it->z; + for (auto & value : values) { + str >> value.x >> value.y >> value.z; } setValues(values); } @@ -433,15 +417,7 @@ void PropertyNormalList::removeIndices( const std::vector& uIndic setValues(remainValue); } -PropertyCurvatureList::PropertyCurvatureList() -{ - -} - -PropertyCurvatureList::~PropertyCurvatureList() -{ - -} +PropertyCurvatureList::PropertyCurvatureList() = default; void PropertyCurvatureList::setValue(const CurvatureInfo& lValue) { @@ -466,35 +442,35 @@ std::vector PropertyCurvatureList::getCurvature( int mode ) const // Mean curvature if (mode == MeanCurvature) { - for (std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it) { - fValues.push_back( 0.5f*(it->fMaxCurvature+it->fMinCurvature) ); + for (const auto & it : fCurvInfo) { + fValues.push_back( 0.5f*(it.fMaxCurvature+it.fMinCurvature) ); } } // Gaussian curvature else if (mode == GaussCurvature) { - for (std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it) { - fValues.push_back( it->fMaxCurvature * it->fMinCurvature ); + for (const auto & it : fCurvInfo) { + fValues.push_back( it.fMaxCurvature * it.fMinCurvature ); } } // Maximum curvature else if (mode == MaxCurvature) { - for (std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it) { - fValues.push_back( it->fMaxCurvature ); + for (const auto & it : fCurvInfo) { + fValues.push_back( it.fMaxCurvature ); } } // Minimum curvature else if (mode == MinCurvature) { - for (std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it) { - fValues.push_back( it->fMinCurvature ); + for (const auto & it : fCurvInfo) { + fValues.push_back( it.fMinCurvature ); } } // Absolute curvature else if (mode == AbsCurvature) { - for (std::vector::const_iterator it=fCurvInfo.begin();it!=fCurvInfo.end(); ++it) { - if (fabs(it->fMaxCurvature) > fabs(it->fMinCurvature)) - fValues.push_back( it->fMaxCurvature ); + for (const auto & it : fCurvInfo) { + if (fabs(it.fMaxCurvature) > fabs(it.fMinCurvature)) + fValues.push_back( it.fMaxCurvature ); else - fValues.push_back( it->fMinCurvature ); + fValues.push_back( it.fMinCurvature ); } } @@ -597,10 +573,10 @@ void PropertyCurvatureList::SaveDocFile (Base::Writer &writer) const uint32_t uCt = (uint32_t)getSize(); str << uCt; if (uCt > 0) - for (std::vector::const_iterator it = _lValueList.begin(); it != _lValueList.end(); ++it) { - str << it->fMaxCurvature << it->fMinCurvature; - str << it->cMaxCurvDir.x << it->cMaxCurvDir.y << it->cMaxCurvDir.z; - str << it->cMinCurvDir.x << it->cMinCurvDir.y << it->cMinCurvDir.z; + for (const auto & it : _lValueList) { + str << it.fMaxCurvature << it.fMinCurvature; + str << it.cMaxCurvDir.x << it.cMaxCurvDir.y << it.cMaxCurvDir.z; + str << it.cMinCurvDir.x << it.cMinCurvDir.y << it.cMinCurvDir.z; } } @@ -610,10 +586,10 @@ void PropertyCurvatureList::RestoreDocFile(Base::Reader &reader) uint32_t uCt=0; str >> uCt; std::vector values(uCt); - for (std::vector::iterator it = values.begin(); it != values.end(); ++it) { - str >> it->fMaxCurvature >> it->fMinCurvature; - str >> it->cMaxCurvDir.x >> it->cMaxCurvDir.y >> it->cMaxCurvDir.z; - str >> it->cMinCurvDir.x >> it->cMinCurvDir.y >> it->cMinCurvDir.z; + for (auto & value : values) { + str >> value.fMaxCurvature >> value.fMinCurvature; + str >> value.cMaxCurvDir.x >> value.cMaxCurvDir.y >> value.cMaxCurvDir.z; + str >> value.cMinCurvDir.x >> value.cMinCurvDir.y >> value.cMinCurvDir.z; } setValues(values); diff --git a/src/Mod/Points/App/Properties.h b/src/Mod/Points/App/Properties.h index fcc3cd044c..be9cc54112 100644 --- a/src/Mod/Points/App/Properties.h +++ b/src/Mod/Points/App/Properties.h @@ -43,12 +43,7 @@ class PointsExport PropertyGreyValue : public App::PropertyFloat TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: - PropertyGreyValue() - { - } - ~PropertyGreyValue() override - { - } + PropertyGreyValue() = default; }; class PointsExport PropertyGreyValueList: public App::PropertyLists @@ -57,7 +52,6 @@ class PointsExport PropertyGreyValueList: public App::PropertyLists public: PropertyGreyValueList(); - ~PropertyGreyValueList() override; void setSize(int newSize) override; int getSize() const override; @@ -108,7 +102,6 @@ class PointsExport PropertyNormalList: public App::PropertyLists public: PropertyNormalList(); - ~PropertyNormalList() override; void setSize(int newSize) override; int getSize() const override; @@ -178,7 +171,6 @@ public: public: PropertyCurvatureList(); - ~PropertyCurvatureList() override; void setSize(int newSize) override { _lValueList.resize(newSize); diff --git a/src/Mod/Points/App/PropertyPointKernel.cpp b/src/Mod/Points/App/PropertyPointKernel.cpp index 75e21442a2..f87eeec0c9 100644 --- a/src/Mod/Points/App/PropertyPointKernel.cpp +++ b/src/Mod/Points/App/PropertyPointKernel.cpp @@ -45,10 +45,6 @@ PropertyPointKernel::PropertyPointKernel() } -PropertyPointKernel::~PropertyPointKernel() -{ -} - void PropertyPointKernel::setValue(const PointKernel& m) { aboutToSetValue(); diff --git a/src/Mod/Points/App/PropertyPointKernel.h b/src/Mod/Points/App/PropertyPointKernel.h index 415c3af34a..e1f055f768 100644 --- a/src/Mod/Points/App/PropertyPointKernel.h +++ b/src/Mod/Points/App/PropertyPointKernel.h @@ -37,7 +37,6 @@ class PointsExport PropertyPointKernel : public App::PropertyComplexGeoData public: PropertyPointKernel(); - ~PropertyPointKernel() override; /** @name Getter/setter */ //@{ diff --git a/src/Mod/Points/App/Structured.cpp b/src/Mod/Points/App/Structured.cpp index 2b48373935..5f7f036831 100644 --- a/src/Mod/Points/App/Structured.cpp +++ b/src/Mod/Points/App/Structured.cpp @@ -70,10 +70,6 @@ Structured::Structured() //Height.setStatus(App::Property::ReadOnly, true); } -Structured::~Structured() -{ -} - App::DocumentObjectExecReturn *Structured::execute() { std::size_t size = Height.getValue() * Width.getValue(); diff --git a/src/Mod/Points/App/Structured.h b/src/Mod/Points/App/Structured.h index 236c511414..c388c8b34b 100644 --- a/src/Mod/Points/App/Structured.h +++ b/src/Mod/Points/App/Structured.h @@ -41,7 +41,6 @@ class PointsExport Structured : public Feature public: /// Constructor Structured(); - ~Structured() override; App::PropertyInteger Width; /**< The width of the structured cloud. */ App::PropertyInteger Height; /**< The height of the structured cloud. */ diff --git a/src/Mod/Points/Gui/AppPointsGui.cpp b/src/Mod/Points/Gui/AppPointsGui.cpp index 73c596a82d..f2ddcd41b7 100644 --- a/src/Mod/Points/Gui/AppPointsGui.cpp +++ b/src/Mod/Points/Gui/AppPointsGui.cpp @@ -52,10 +52,6 @@ public: { initialize("This module is the PointsGui module."); // register with Python } - - ~Module() override {} - -private: }; PyObject* initModule() diff --git a/src/Mod/Points/Gui/Command.cpp b/src/Mod/Points/Gui/Command.cpp index d2e7ecd339..98b3bb5800 100644 --- a/src/Mod/Points/Gui/Command.cpp +++ b/src/Mod/Points/Gui/Command.cpp @@ -123,7 +123,7 @@ void CmdPointsExport::activated(int iMsg) addModule(Command::App, "Points"); std::vector points = getSelection().getObjectsOfType(Points::Feature::getClassTypeId()); - for (std::vector::const_iterator it = points.begin(); it != points.end(); ++it) { + for (auto point : points) { QString fn = Gui::FileDialog::getSaveFileName(Gui::getMainWindow(), QString(), QString(), QString::fromLatin1("%1 (*.asc *.pcd *.ply);;%2 (*.*)") .arg(QObject::tr("Point formats"), QObject::tr("All Files"))); @@ -133,7 +133,7 @@ void CmdPointsExport::activated(int iMsg) if (!fn.isEmpty()) { fn = Base::Tools::escapeEncodeFilename(fn); doCommand(Command::Doc, "Points.export([App.ActiveDocument.%s], \"%s\")", - (*it)->getNameInDocument(), fn.toUtf8().data()); + point->getNameInDocument(), fn.toUtf8().data()); } } } diff --git a/src/Mod/Points/Gui/DlgPointsReadImp.cpp b/src/Mod/Points/Gui/DlgPointsReadImp.cpp index 14d55a6214..badb36b6ff 100644 --- a/src/Mod/Points/Gui/DlgPointsReadImp.cpp +++ b/src/Mod/Points/Gui/DlgPointsReadImp.cpp @@ -39,11 +39,7 @@ DlgPointsReadImp::DlgPointsReadImp(const char *FileName, QWidget* parent, Qt::W /* * Destroys the object and frees any allocated resources */ -DlgPointsReadImp::~DlgPointsReadImp() -{ - // no need to delete child widgets, Qt does it all for us -} - +DlgPointsReadImp::~DlgPointsReadImp() = default; #include "moc_DlgPointsReadImp.cpp" diff --git a/src/Mod/Points/Gui/Resources/translations/Points_be.ts b/src/Mod/Points/Gui/Resources/translations/Points_be.ts index 9b212d0a4f..aa97c87dad 100644 --- a/src/Mod/Points/Gui/Resources/translations/Points_be.ts +++ b/src/Mod/Points/Gui/Resources/translations/Points_be.ts @@ -305,7 +305,7 @@ Distance - Distance + Адлегласць diff --git a/src/Mod/Points/Gui/Resources/translations/Points_cs.ts b/src/Mod/Points/Gui/Resources/translations/Points_cs.ts index 8c760a2e92..dccbdfa96c 100644 --- a/src/Mod/Points/Gui/Resources/translations/Points_cs.ts +++ b/src/Mod/Points/Gui/Resources/translations/Points_cs.ts @@ -305,7 +305,7 @@ Distance - Distance + Vzdálenost diff --git a/src/Mod/Points/Gui/Resources/translations/Points_de.ts b/src/Mod/Points/Gui/Resources/translations/Points_de.ts index 9320259b57..fd68fbd7bb 100644 --- a/src/Mod/Points/Gui/Resources/translations/Points_de.ts +++ b/src/Mod/Points/Gui/Resources/translations/Points_de.ts @@ -74,7 +74,7 @@ Merge several point clouds into one - Führt mehrere Punktwolken zu einer zusammen + Fügt mehrere Punktwolken zu einer zusammen @@ -149,7 +149,7 @@ Convert to points - In Punkte umwandeln + Zu Punkten umwandeln @@ -305,7 +305,7 @@ Distance - Abstand + Entfernung diff --git a/src/Mod/Points/Gui/Resources/translations/Points_id.ts b/src/Mod/Points/Gui/Resources/translations/Points_id.ts index 5f55743fe6..ff78ac4b11 100644 --- a/src/Mod/Points/Gui/Resources/translations/Points_id.ts +++ b/src/Mod/Points/Gui/Resources/translations/Points_id.ts @@ -4,18 +4,18 @@ CmdPointsConvert - + Points Poin - + Convert to points... Ubah ke titik... - + Convert to points Ubah ke titik @@ -23,18 +23,18 @@ CmdPointsExport - + Points Poin - + Export points... Poin Ekspor... - + Exports a point cloud Ekspor titik awan @@ -42,18 +42,18 @@ CmdPointsImport - + Points Poin - + Import points... Import points... - + Imports a point cloud Imports a point cloud @@ -61,18 +61,18 @@ CmdPointsMerge - + Points Poin - + Merge point clouds Gabungkan titik awan - + Merge several point clouds into one Gabungkan beberapa titik awan menjadi satu @@ -80,18 +80,18 @@ CmdPointsPolyCut - + Points Poin - + Cut point cloud Cut point cloud - + Cuts a point cloud with a picked polygon Memotong awan titik dengan sebuah poligon yang dipilih @@ -99,18 +99,18 @@ CmdPointsStructure - + Points Poin - + Structured point cloud Awan titik terstruktur - - + + Convert points to structured point cloud Ubah poin menjadi awan titik terstruktur @@ -118,18 +118,18 @@ CmdPointsTransform - + Points Poin - + Transform Points Transform Points - + Test to transform a point cloud Tes untuk mengubah awan titik @@ -137,17 +137,17 @@ Command - + Import points Impor poin - + Transform points Ubah poin - + Convert to points Ubah ke titik @@ -291,24 +291,24 @@ QObject - - + + Point formats Format titik - - + + All Files Semua data - + Distance Distance - + Enter maximum distance: Masukkan jarak maksimum: diff --git a/src/Mod/Points/Gui/Resources/translations/Points_ka.ts b/src/Mod/Points/Gui/Resources/translations/Points_ka.ts index 3c60f53083..df0e771b18 100644 --- a/src/Mod/Points/Gui/Resources/translations/Points_ka.ts +++ b/src/Mod/Points/Gui/Resources/translations/Points_ka.ts @@ -305,7 +305,7 @@ Distance - Distance + დაშორება diff --git a/src/Mod/Points/Gui/Resources/translations/Points_pl.ts b/src/Mod/Points/Gui/Resources/translations/Points_pl.ts index f7462cffae..e1b8063d21 100644 --- a/src/Mod/Points/Gui/Resources/translations/Points_pl.ts +++ b/src/Mod/Points/Gui/Resources/translations/Points_pl.ts @@ -25,7 +25,7 @@ Points - Punkty + Tylko punkty @@ -44,7 +44,7 @@ Points - Punkty + Tylko punkty @@ -63,7 +63,7 @@ Points - Punkty + Tylko punkty diff --git a/src/Mod/Points/Gui/Resources/translations/Points_sl.ts b/src/Mod/Points/Gui/Resources/translations/Points_sl.ts index e84775c3a6..7c6ced8fd6 100644 --- a/src/Mod/Points/Gui/Resources/translations/Points_sl.ts +++ b/src/Mod/Points/Gui/Resources/translations/Points_sl.ts @@ -305,7 +305,7 @@ Distance - Distance + Razdalja diff --git a/src/Mod/Points/Gui/Resources/translations/Points_sv-SE.ts b/src/Mod/Points/Gui/Resources/translations/Points_sv-SE.ts index e1803cc611..6917307b89 100644 --- a/src/Mod/Points/Gui/Resources/translations/Points_sv-SE.ts +++ b/src/Mod/Points/Gui/Resources/translations/Points_sv-SE.ts @@ -300,7 +300,7 @@ All Files - Alla Filer + Alla filer diff --git a/src/Mod/Points/Gui/ViewProvider.cpp b/src/Mod/Points/Gui/ViewProvider.cpp index 4fc30f6e01..e9fa723855 100644 --- a/src/Mod/Points/Gui/ViewProvider.cpp +++ b/src/Mod/Points/Gui/ViewProvider.cpp @@ -118,8 +118,8 @@ void ViewProviderPoints::setVertexColorMode(App::PropertyColorList* pcProperty) SbColor* col = pcColorMat->diffuseColor.startEditing(); std::size_t i=0; - for (std::vector::const_iterator it = val.begin(); it != val.end(); ++it) { - col[i++].setValue(it->r, it->g, it->b); + for (const auto& it : val) { + col[i++].setValue(it.r, it.g, it.b); } pcColorMat->diffuseColor.finishEditing(); @@ -133,8 +133,8 @@ void ViewProviderPoints::setVertexGreyvalueMode(Points::PropertyGreyValueList* p SbColor* col = pcColorMat->diffuseColor.startEditing(); std::size_t i=0; - for (std::vector::const_iterator it = val.begin(); it != val.end(); ++it) { - col[i++].setValue(*it, *it, *it); + for (float it : val) { + col[i++].setValue(it, it, it); } pcColorMat->diffuseColor.finishEditing(); @@ -148,8 +148,8 @@ void ViewProviderPoints::setVertexNormalMode(Points::PropertyNormalList* pcPrope SbVec3f* norm = pcPointsNormal->vector.startEditing(); std::size_t i=0; - for (std::vector::const_iterator it = val.begin(); it != val.end(); ++it) { - norm[i++].setValue(it->x, it->y, it->z); + for (const auto& it : val) { + norm[i++].setValue(it.x, it.y, it.z); } pcPointsNormal->vector.finishEditing(); @@ -162,10 +162,10 @@ void ViewProviderPoints::setDisplayMode(const char* ModeName) if (strcmp("Color",ModeName) == 0) { std::map Map; pcObject->getPropertyMap(Map); - for (std::map::iterator it = Map.begin(); it != Map.end(); ++it) { - Base::Type type = it->second->getTypeId(); + for (auto & it : Map) { + Base::Type type = it.second->getTypeId(); if (type == App::PropertyColorList::getClassTypeId()) { - App::PropertyColorList* colors = static_cast(it->second); + App::PropertyColorList* colors = static_cast(it.second); if (numPoints != colors->getSize()) { #ifdef FC_DEBUG SoDebugError::postWarning("ViewProviderPoints::setDisplayMode", @@ -185,10 +185,10 @@ void ViewProviderPoints::setDisplayMode(const char* ModeName) else if (strcmp("Intensity",ModeName) == 0) { std::map Map; pcObject->getPropertyMap(Map); - for (std::map::iterator it = Map.begin(); it != Map.end(); ++it) { - Base::Type type = it->second->getTypeId(); + for (const auto& it : Map) { + Base::Type type = it.second->getTypeId(); if (type == Points::PropertyGreyValueList::getClassTypeId()) { - Points::PropertyGreyValueList* greyValues = static_cast(it->second); + Points::PropertyGreyValueList* greyValues = static_cast(it.second); if (numPoints != greyValues->getSize()) { #ifdef FC_DEBUG SoDebugError::postWarning("ViewProviderPoints::setDisplayMode", @@ -198,7 +198,7 @@ void ViewProviderPoints::setDisplayMode(const char* ModeName) setDisplayMaskMode("Point"); } else { - setVertexGreyvalueMode((Points::PropertyGreyValueList*)it->second); + setVertexGreyvalueMode((Points::PropertyGreyValueList*)it.second); setDisplayMaskMode("Color"); } break; @@ -208,10 +208,10 @@ void ViewProviderPoints::setDisplayMode(const char* ModeName) else if (strcmp("Shaded",ModeName) == 0) { std::map Map; pcObject->getPropertyMap(Map); - for (std::map::iterator it = Map.begin(); it != Map.end(); ++it) { - Base::Type type = it->second->getTypeId(); + for (const auto& it : Map) { + Base::Type type = it.second->getTypeId(); if (type == Points::PropertyNormalList::getClassTypeId()) { - Points::PropertyNormalList* normals = static_cast(it->second); + Points::PropertyNormalList* normals = static_cast(it.second); if (numPoints != normals->getSize()) { #ifdef FC_DEBUG SoDebugError::postWarning("ViewProviderPoints::setDisplayMode", @@ -327,8 +327,8 @@ void ViewProviderPoints::clipPointsCallback(void *, SoEventCallback * n) clPoly.push_back(clPoly.front()); std::vector views = view->getViewProvidersOfType(ViewProviderPoints::getClassTypeId()); - for (std::vector::iterator it = views.begin(); it != views.end(); ++it) { - ViewProviderPoints* that = static_cast(*it); + for (auto it : views) { + ViewProviderPoints* that = static_cast(it); if (that->getEditingMode() > -1) { that->finishEditing(); that->cut(clPoly, *view); @@ -424,8 +424,8 @@ void ViewProviderScattered::cut(const std::vector& picked, Gui::View3DI { // create the polygon from the picked points Base::Polygon2d cPoly; - for (std::vector::const_iterator it = picked.begin(); it != picked.end(); ++it) { - cPoly.Add(Base::Vector2d((*it)[0],(*it)[1])); + for (const auto& it : picked) { + cPoly.Add(Base::Vector2d(it[0],it[1])); } // get a reference to the point feature @@ -461,17 +461,17 @@ void ViewProviderScattered::cut(const std::vector& picked, Gui::View3DI std::map Map; pcObject->getPropertyMap(Map); - for (std::map::iterator it = Map.begin(); it != Map.end(); ++it) { - Base::Type type = it->second->getTypeId(); + for (const auto& it : Map) { + Base::Type type = it.second->getTypeId(); if (type == Points::PropertyNormalList::getClassTypeId()) { - static_cast(it->second)->removeIndices(removeIndices); + static_cast(it.second)->removeIndices(removeIndices); } else if (type == Points::PropertyGreyValueList::getClassTypeId()) { - static_cast(it->second)->removeIndices(removeIndices); + static_cast(it.second)->removeIndices(removeIndices); } else if (type == App::PropertyColorList::getClassTypeId()) { //static_cast(it->second)->removeIndices(removeIndices); - const std::vector& colors = static_cast(it->second)->getValues(); + const std::vector& colors = static_cast(it.second)->getValues(); if (removeIndices.size() > colors.size()) break; @@ -490,7 +490,7 @@ void ViewProviderScattered::cut(const std::vector& picked, Gui::View3DI ++pos; } - static_cast(it->second)->setValues(remainValue); + static_cast(it.second)->setValues(remainValue); } } @@ -576,8 +576,8 @@ void ViewProviderStructured::cut(const std::vector& picked, Gui::View3D { // create the polygon from the picked points Base::Polygon2d cPoly; - for (std::vector::const_iterator it = picked.begin(); it != picked.end(); ++it) { - cPoly.Add(Base::Vector2d((*it)[0],(*it)[1])); + for (const auto& it : picked) { + cPoly.Add(Base::Vector2d(it[0],it[1])); } // get a reference to the point feature @@ -593,11 +593,11 @@ void ViewProviderStructured::cut(const std::vector& picked, Gui::View3D bool invalidatePoints = false; double nan = std::numeric_limits::quiet_NaN(); - for (Points::PointKernel::const_iterator jt = points.begin(); jt != points.end(); ++jt) { + for (const auto & point : points) { // valid point? - Base::Vector3d vec(*jt); - if (!(boost::math::isnan(jt->x) || boost::math::isnan(jt->y) || boost::math::isnan(jt->z))) { - SbVec3f pt(jt->x,jt->y,jt->z); + Base::Vector3d vec(point); + if (!(boost::math::isnan(point.x) || boost::math::isnan(point.y) || boost::math::isnan(point.z))) { + SbVec3f pt(point.x,point.y,point.z); // project from 3d to 2d vol.projectToScreen(pt, pt); @@ -703,8 +703,8 @@ void ViewProviderPointsBuilder::createPoints(const App::Property* prop, SoCoordi idx=0; points->coordIndex.setNum(indices.size()); int32_t* pos = points->coordIndex.startEditing(); - for (std::vector::iterator it = indices.begin(); it != indices.end(); ++it) { - pos[idx++] = *it; + for (int32_t index : indices) { + pos[idx++] = index; } points->coordIndex.finishEditing(); } diff --git a/src/Mod/Points/Gui/ViewProvider.h b/src/Mod/Points/Gui/ViewProvider.h index fc782d5639..3ee49e304f 100644 --- a/src/Mod/Points/Gui/ViewProvider.h +++ b/src/Mod/Points/Gui/ViewProvider.h @@ -59,8 +59,8 @@ namespace PointsGui { class ViewProviderPointsBuilder : public Gui::ViewProviderBuilder { public: - ViewProviderPointsBuilder(){} - ~ViewProviderPointsBuilder() override{} + ViewProviderPointsBuilder() = default; + ~ViewProviderPointsBuilder() override = default; void buildNodes(const App::Property*, std::vector&) const override; void createPoints(const App::Property*, SoCoordinate3*, SoPointSet*) const; void createPoints(const App::Property*, SoCoordinate3*, SoIndexedPointSet*) const; diff --git a/src/Mod/Points/Gui/Workbench.cpp b/src/Mod/Points/Gui/Workbench.cpp index 7dd51ebdd3..cc84a176b1 100644 --- a/src/Mod/Points/Gui/Workbench.cpp +++ b/src/Mod/Points/Gui/Workbench.cpp @@ -38,13 +38,9 @@ using namespace PointsGui; /// @namespace PointsGui @class Workbench TYPESYSTEM_SOURCE(PointsGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; Gui::ToolBarItem* Workbench::setupToolBars() const { diff --git a/src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp b/src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp index 94a4ea2dec..4187b016be 100644 --- a/src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp +++ b/src/Mod/ReverseEngineering/App/AppReverseEngineering.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -157,8 +158,6 @@ public: initialize("This module is the ReverseEngineering module."); // register with Python } - ~Module() override {} - private: Py::Object approxSurface(const Py::Tuple& args, const Py::Dict& kwds) { @@ -180,15 +179,16 @@ private: PyObject* correction = Py_True; double factor = 1.0; - static char* kwds_approx[] = {"Points", "UDegree", "VDegree", "NbUPoles", "NbVPoles", - "Smooth", "Weight", "Grad", "Bend", "Curv", - "Iterations", "Correction", "PatchFactor","UVDirs", nullptr}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O|iiiiO!ddddiO!dO!",kwds_approx, - &o,&uDegree,&vDegree,&uPoles,&vPoles, - &PyBool_Type,&smooth,&weight,&grad,&bend,&curv, - &iteration,&PyBool_Type,&correction,&factor, - &PyTuple_Type,&uvdirs)) + static const std::array kwds_approx{"Points", "UDegree", "VDegree", "NbUPoles", "NbVPoles", + "Smooth", "Weight", "Grad", "Bend", "Curv", "Iterations", + "Correction", "PatchFactor", "UVDirs", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O|iiiiO!ddddiO!dO!", kwds_approx, + &o, &uDegree, &vDegree, &uPoles, &vPoles, + &PyBool_Type, &smooth, &weight, &grad, &bend, &curv, + &iteration, &PyBool_Type, &correction, &factor, + &PyTuple_Type, &uvdirs)) { throw Py::Exception(); + } int uOrder = uDegree + 1; int vOrder = vDegree + 1; @@ -245,8 +245,8 @@ private: } int index=0; - for (std::vector::iterator it = pts.begin(); it != pts.end(); ++it) { - clPoints(index++) = gp_Pnt(it->x, it->y, it->z); + for (const auto & pt : pts) { + clPoints(index++) = gp_Pnt(pt.x, pt.y, pt.z); } Reen::BSplineParameterCorrection pc(uOrder,vOrder,uPoles,vPoles); @@ -315,7 +315,7 @@ Mesh.show(m) static char* kwds_greedy[] = {"Points", "SearchRadius", "Mu", "KSearch", "Normals", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d|diO", kwds_greedy, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d|diO", kwds_greedy, &(Points::PointsPy::Type), &pts, &searchRadius, &mu, &ksearch, &vec)) throw Py::Exception(); @@ -353,7 +353,7 @@ Mesh.show(m) static char* kwds_poisson[] = {"Points", "KSearch", "OctreeDepth", "SolverDivide", "SamplesPerNode", "Normals", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iiidO", kwds_poisson, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iiidO", kwds_poisson, &(Points::PointsPy::Type), &pts, &ksearch, &octreeDepth, &solverDivide, &samplesPerNode, &vec)) throw Py::Exception(); @@ -421,7 +421,7 @@ Mesh.show(m) int height; static char* kwds_view[] = {"Points", "Width", "Height", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|ii", kwds_view, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|ii", kwds_view, &(Points::PointsPy::Type), &pts, &width, &height)) throw Py::Exception(); @@ -446,7 +446,7 @@ Mesh.show(m) int ksearch=5; static char* kwds_greedy[] = {"Points", "KSearch", "Normals", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iO", kwds_greedy, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iO", kwds_greedy, &(Points::PointsPy::Type), &pts, &ksearch, &vec)) throw Py::Exception(); @@ -478,7 +478,7 @@ Mesh.show(m) int ksearch=5; static char* kwds_greedy[] = {"Points", "KSearch", "Normals", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iO", kwds_greedy, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iO", kwds_greedy, &(Points::PointsPy::Type), &pts, &ksearch, &vec)) throw Py::Exception(); @@ -528,7 +528,7 @@ Mesh.show(m) int ksearch=5; static char* kwds_greedy[] = {"Points", "KSearch", "Normals", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iO", kwds_greedy, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iO", kwds_greedy, &(Points::PointsPy::Type), &pts, &ksearch, &vec)) throw Py::Exception(); @@ -568,7 +568,7 @@ Mesh.show(m) static char* kwds_approx[] = {"Points", "Degree", "Refinement", "Iterations", "InteriorSmoothness", "InteriorWeight", "BoundarySmoothness", "BoundaryWeight", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iiidddd", kwds_approx, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iiidddd", kwds_approx, &(Points::PointsPy::Type), &pts, °ree, &refinement, &iterations, &interiorSmoothness, &interiorWeight, @@ -603,7 +603,7 @@ Mesh.show(m) double voxDimZ = 0; static char* kwds_voxel[] = {"Points", "DimX", "DimY", "DimZ", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d|dd", kwds_voxel, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!d|dd", kwds_voxel, &(Points::PointsPy::Type), &pts, &voxDimX, &voxDimY, &voxDimZ)) throw Py::Exception(); @@ -646,7 +646,7 @@ Mesh.show(m) double searchRadius=0; static char* kwds_normals[] = {"Points", "KSearch", "SearchRadius", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|id", kwds_normals, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|id", kwds_normals, &(Points::PointsPy::Type), &pts, &ksearch, &searchRadius)) throw Py::Exception(); @@ -675,7 +675,7 @@ Mesh.show(m) int ksearch=5; static char* kwds_segment[] = {"Points", "KSearch", "Normals", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iO", kwds_segment, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|iO", kwds_segment, &(Points::PointsPy::Type), &pts, &ksearch, &vec)) throw Py::Exception(); @@ -715,7 +715,7 @@ Mesh.show(m) int ksearch=5; static char* kwds_segment[] = {"Points", "KSearch", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|i", kwds_segment, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "O!|i", kwds_segment, &(Points::PointsPy::Type), &pts, &ksearch)) throw Py::Exception(); @@ -784,7 +784,7 @@ Points.show(np) const char* sacModelType = nullptr; static char* kwds_sample[] = {"SacModel", "Points", "Normals", NULL}; - if (!PyArg_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "sO!|O", kwds_sample, + if (!Wrapped_ParseTupleAndKeywords(args.ptr(), kwds.ptr(), "sO!|O", kwds_sample, &sacModelType, &(Points::PointsPy::Type), &pts, &vec)) throw Py::Exception(); diff --git a/src/Mod/ReverseEngineering/App/ApproxSurface.cpp b/src/Mod/ReverseEngineering/App/ApproxSurface.cpp index f882c47d53..9318dcd89e 100644 --- a/src/Mod/ReverseEngineering/App/ApproxSurface.cpp +++ b/src/Mod/ReverseEngineering/App/ApproxSurface.cpp @@ -82,9 +82,7 @@ SplineBasisfunction::SplineBasisfunction(TColStd_Array1OfReal& vKnots, int iOrde _iOrder = iOrder; } -SplineBasisfunction::~SplineBasisfunction() -{ -} +SplineBasisfunction::~SplineBasisfunction() = default; void SplineBasisfunction::SetKnots(TColStd_Array1OfReal& vKnots, int iOrder) { @@ -133,9 +131,7 @@ BSplineBasis::BSplineBasis(TColStd_Array1OfReal& vKnots, int iOrder) { } -BSplineBasis::~BSplineBasis() -{ -} +BSplineBasis::~BSplineBasis() = default; int BSplineBasis::FindSpan(double fParam) { @@ -559,8 +555,6 @@ ParameterCorrection::ParameterCorrection(unsigned usUOrder, unsigned usVOrder, , _usVOrder(usVOrder) , _usUCtrlpoints(usUCtrlpoints) , _usVCtrlpoints(usVCtrlpoints) - , _pvcPoints(nullptr) - , _pvcUVParam(nullptr) , _vCtrlPntsOfSurf(0,usUCtrlpoints-1,0,usVCtrlpoints-1) , _vUKnots(0,usUCtrlpoints-usUOrder+1) , _vVKnots(0,usVCtrlpoints-usVOrder+1) @@ -654,14 +648,14 @@ bool ParameterCorrection::GetUVParameters(double fSizeFactor) _pvcUVParam->Init(gp_Pnt2d(0.0, 0.0)); int ii=0; if (clBBox.MaxX - clBBox.MinX >= clBBox.MaxY - clBBox.MinY) { - for (std::vector::iterator It2=vcProjPts.begin(); It2!=vcProjPts.end(); ++It2) { - (*_pvcUVParam)(ii) = gp_Pnt2d((It2->x-tx)/fDeltaX, (It2->y-ty)/fDeltaY); + for (const auto & pt : vcProjPts) { + (*_pvcUVParam)(ii) = gp_Pnt2d((pt.x-tx)/fDeltaX, (pt.y-ty)/fDeltaY); ii++; } } else { - for (std::vector::iterator It2=vcProjPts.begin(); It2!=vcProjPts.end(); ++It2) { - (*_pvcUVParam)(ii) = gp_Pnt2d((It2->y-ty)/fDeltaY, (It2->x-tx)/fDeltaX); + for (const auto & pt : vcProjPts) { + (*_pvcUVParam)(ii) = gp_Pnt2d((pt.y-ty)/fDeltaY, (pt.x-tx)/fDeltaX); ii++; } } @@ -1101,9 +1095,9 @@ bool BSplineParameterCorrection::SolveWithSmoothing(double fWeight) math_Matrix MTM(0, ulDim-1, 0, ulDim-1); int rowIndex=0; - for (QFuture< std::vector >::const_iterator it = future.begin(); it != future.end(); ++it) { + for (const auto & it : future) { int colIndex=0; - for (std::vector::const_iterator jt = it->begin(); jt != it->end(); ++jt, colIndex++) + for (std::vector::const_iterator jt = it.begin(); jt != it.end(); ++jt, colIndex++) MTM(rowIndex, colIndex) = *jt; rowIndex++; } diff --git a/src/Mod/ReverseEngineering/App/ApproxSurface.h b/src/Mod/ReverseEngineering/App/ApproxSurface.h index f0ab0e3996..fdf76df7d3 100644 --- a/src/Mod/ReverseEngineering/App/ApproxSurface.h +++ b/src/Mod/ReverseEngineering/App/ApproxSurface.h @@ -337,23 +337,23 @@ public: virtual void EnableSmoothing(bool bSmooth=true, double fSmoothInfl=1.0f); protected: - bool _bGetUVDir; //! Determines whether u/v direction is given - bool _bSmoothing; //! Use smoothing - double _fSmoothInfluence; //! Influence of smoothing - unsigned _usUOrder; //! Order in u-direction - unsigned _usVOrder; //! Order in v-direction - unsigned _usUCtrlpoints; //! Number of control points in the u-direction - unsigned _usVCtrlpoints; //! Number of control points in the v-direction - Base::Vector3d _clU; //! u-direction - Base::Vector3d _clV; //! v-direction - Base::Vector3d _clW; //! w-direction (perpendicular to u & v directions) - TColgp_Array1OfPnt* _pvcPoints; //! Raw data point list - TColgp_Array1OfPnt2d* _pvcUVParam; //! Parameter value for the points in the list - TColgp_Array2OfPnt _vCtrlPntsOfSurf; //! Array of control points - TColStd_Array1OfReal _vUKnots; //! Knot vector of the B-spline surface in the u-direction - TColStd_Array1OfReal _vVKnots; //! Knot vector of the B-spline surface in the v-direction - TColStd_Array1OfInteger _vUMults; //! Multiplicity of the knots in the knot vector - TColStd_Array1OfInteger _vVMults; //! Multiplicity of the knots in the knot vector + bool _bGetUVDir; //! Determines whether u/v direction is given + bool _bSmoothing; //! Use smoothing + double _fSmoothInfluence; //! Influence of smoothing + unsigned _usUOrder; //! Order in u-direction + unsigned _usVOrder; //! Order in v-direction + unsigned _usUCtrlpoints; //! Number of control points in the u-direction + unsigned _usVCtrlpoints; //! Number of control points in the v-direction + Base::Vector3d _clU; //! u-direction + Base::Vector3d _clV; //! v-direction + Base::Vector3d _clW; //! w-direction (perpendicular to u & v directions) + TColgp_Array1OfPnt* _pvcPoints{nullptr}; //! Raw data point list + TColgp_Array1OfPnt2d* _pvcUVParam{nullptr}; //! Parameter value for the points in the list + TColgp_Array2OfPnt _vCtrlPntsOfSurf; //! Array of control points + TColStd_Array1OfReal _vUKnots; //! Knot vector of the B-spline surface in the u-direction + TColStd_Array1OfReal _vVKnots; //! Knot vector of the B-spline surface in the v-direction + TColStd_Array1OfInteger _vUMults; //! Multiplicity of the knots in the knot vector + TColStd_Array1OfInteger _vVMults; //! Multiplicity of the knots in the knot vector }; /////////////////////////////////////////////////////////////////////////////////////////////// @@ -375,7 +375,7 @@ public: unsigned usUCtrlpoints=6, //Qty. of the control points in u-direction unsigned usVCtrlpoints=6); //Qty. of the control points in v-direction - ~BSplineParameterCorrection() override{} + ~BSplineParameterCorrection() override = default; protected: /** diff --git a/src/Mod/ReverseEngineering/Gui/AppReverseEngineeringGui.cpp b/src/Mod/ReverseEngineering/Gui/AppReverseEngineeringGui.cpp index 17c8f427b9..aa4b73f7eb 100644 --- a/src/Mod/ReverseEngineering/Gui/AppReverseEngineeringGui.cpp +++ b/src/Mod/ReverseEngineering/Gui/AppReverseEngineeringGui.cpp @@ -51,8 +51,6 @@ public: initialize("This module is the ReverseEngineeringGui module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/ReverseEngineering/Gui/Command.cpp b/src/Mod/ReverseEngineering/Gui/Command.cpp index a97766da92..738e8d7934 100644 --- a/src/Mod/ReverseEngineering/Gui/Command.cpp +++ b/src/Mod/ReverseEngineering/Gui/Command.cpp @@ -111,15 +111,15 @@ CmdApproxPlane::CmdApproxPlane() void CmdApproxPlane::activated(int) { std::vector obj = Gui::Selection().getObjectsOfType(); - for (std::vector::iterator it = obj.begin(); it != obj.end(); ++it) { + for (const auto& it : obj) { std::vector aPoints; std::vector aNormals; std::vector List; - (*it)->getPropertyList(List); - for (std::vector::iterator jt = List.begin(); jt != List.end(); ++jt) { - if ((*jt)->getTypeId().isDerivedFrom(App::PropertyComplexGeoData::getClassTypeId())) { - const Data::ComplexGeoData* data = static_cast(*jt)->getComplexData(); + it->getPropertyList(List); + for (const auto& jt : List) { + if (jt->getTypeId().isDerivedFrom(App::PropertyComplexGeoData::getClassTypeId())) { + const Data::ComplexGeoData* data = static_cast(jt)->getComplexData(); if (data) { data->getPoints(aPoints, aNormals, 0.01f); if (!aPoints.empty()) @@ -137,8 +137,8 @@ void CmdApproxPlane::activated(int) std::vector aData; aData.reserve(aPoints.size()); - for (std::vector::iterator jt = aPoints.begin(); jt != aPoints.end(); ++jt) - aData.push_back(Base::toVector(*jt)); + for (const auto& jt : aPoints) + aData.push_back(Base::toVector(jt)); MeshCore::PlaneFit fit; fit.AddPoints(aData); float sigma = fit.Fit(); @@ -506,9 +506,9 @@ void CmdMeshBoundary::activated(int) TopoDS_Shape shape; std::vector wires; - for (auto bt = bounds.begin(); bt != bounds.end(); ++bt) { + for (const auto& bt : bounds) { BRepBuilderAPI_MakePolygon mkPoly; - for (std::vector::reverse_iterator it = bt->rbegin(); it != bt->rend(); ++it) { + for (auto it = bt.rbegin(); it != bt.rend(); ++it) { mkPoly.Add(gp_Pnt(it->x,it->y,it->z)); } if (mkPoly.IsDone()) { @@ -594,8 +594,8 @@ void CmdViewTriangulation::activated(int) addModule(App,"ReverseEngineering"); openCommand(QT_TRANSLATE_NOOP("Command", "View triangulation")); try { - for (std::vector::iterator it = obj.begin(); it != obj.end(); ++it) { - App::DocumentObjectT objT(*it); + for (const auto & it : obj) { + App::DocumentObjectT objT(it); QString document = QString::fromStdString(objT.getDocumentPython()); QString object = QString::fromStdString(objT.getObjectPython()); diff --git a/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.cpp b/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.cpp index f1f87e6a0f..99e09e5dbe 100644 --- a/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.cpp +++ b/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.cpp @@ -48,12 +48,8 @@ class FitBSplineSurfaceWidget::Private public: Ui_FitBSplineSurface ui; App::DocumentObjectT obj; - Private() - { - } - ~Private() - { - } + Private() = default; + ~Private() = default; }; /* TRANSLATOR ReenGui::FitBSplineSurfaceWidget */ @@ -256,10 +252,6 @@ TaskFitBSplineSurface::TaskFitBSplineSurface(const App::DocumentObjectT& obj) Content.push_back(taskbox); } -TaskFitBSplineSurface::~TaskFitBSplineSurface() -{ -} - void TaskFitBSplineSurface::open() { } diff --git a/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.h b/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.h index 38066b103a..a7005acdcd 100644 --- a/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.h +++ b/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.h @@ -58,7 +58,6 @@ class TaskFitBSplineSurface : public Gui::TaskView::TaskDialog public: explicit TaskFitBSplineSurface(const App::DocumentObjectT&); - ~TaskFitBSplineSurface() override; public: void open() override; diff --git a/src/Mod/ReverseEngineering/Gui/Poisson.cpp b/src/Mod/ReverseEngineering/Gui/Poisson.cpp index 06ab581f7f..ac8f565561 100644 --- a/src/Mod/ReverseEngineering/Gui/Poisson.cpp +++ b/src/Mod/ReverseEngineering/Gui/Poisson.cpp @@ -41,12 +41,8 @@ class PoissonWidget::Private public: Ui_PoissonWidget ui; App::DocumentObjectT obj; - Private() - { - } - ~Private() - { - } + Private() = default; + ~Private() = default; }; /* TRANSLATOR ReenGui::PoissonWidget */ @@ -123,9 +119,7 @@ TaskPoisson::TaskPoisson(const App::DocumentObjectT& obj) Content.push_back(taskbox); } -TaskPoisson::~TaskPoisson() -{ -} +TaskPoisson::~TaskPoisson() = default; void TaskPoisson::open() { diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering.ts index 3108782982..4199c3cd6a 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering.ts @@ -228,22 +228,22 @@ - + Placement - + Fit B-Spline - + Poisson reconstruction - + Segmentation @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error - + Wrong selection - + Please select a single placement object to get local orientation. @@ -375,7 +375,7 @@ - + Input error @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_be.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_be.ts index 8d8bda9853..0be901b024 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_be.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_be.ts @@ -228,22 +228,22 @@ Выгляд трыянгуляцыі - + Placement Размясціць - + Fit B-Spline Запоўніць B-сплайн - + Poisson reconstruction Рэканструкцыя Пуансона - + Segmentation Сегментацыя @@ -310,7 +310,7 @@ Total Weight - Агульаня вага + Агульная вага @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error - Input error + Памылка ўводу - + Wrong selection Няправільны выбар - + Please select a single placement object to get local orientation. Калі ласка, абярыце адзін аб'ект размяшчэння, каб атрымаць лакальную арыентацыю. @@ -375,9 +375,9 @@ Узораў на вузел - + Input error - Input error + Памылка ўводу @@ -422,7 +422,7 @@ Plane - Плоскасць + Плоскасьць @@ -480,17 +480,17 @@ < faces than - < чым граней + граней менш чым Pick triangle - Выберыце трыкутнік + Выбраце трыкутнік Select whole component - Абярыце ўсе кампаненты + Абраць усе кампаненты @@ -500,7 +500,7 @@ Plane - Плоскасць + Плоскасьць @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Стварыць diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ca.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ca.ts index f126f82bfb..cabec838df 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ca.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ca.ts @@ -228,22 +228,22 @@ Visualitza la triangulació - + Placement Posició - + Fit B-Spline Ajustar B-Spline - + Poisson reconstruction Reconstrucció amb Poisson - + Segmentation Segmentació @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Error d'entrada - + Wrong selection Selecció incorrecta - + Please select a single placement object to get local orientation. Seleccioneu un sol objecte de posició per a obtindre l'orientació local. @@ -375,7 +375,7 @@ Mostres per node - + Input error Error d'entrada @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Crea diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_cs.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_cs.ts index 19b1bb8c7c..93be9f40ef 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_cs.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_cs.ts @@ -228,22 +228,22 @@ Zobrazit triangulaci - + Placement Umístění - + Fit B-Spline Přizpůsobit B-splajn - + Poisson reconstruction Poissonova rekonstrukce - + Segmentation Segmentace @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Chyba zadání - + Wrong selection Neplatný výběr - + Please select a single placement object to get local orientation. Vyberte prosím jedno umístění objektu pro lokální orientaci. @@ -375,7 +375,7 @@ Vzorků na uzel - + Input error Chyba zadání @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Vytvořit diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_de.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_de.ts index 8138c339aa..31a34eca87 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_de.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_de.ts @@ -228,22 +228,22 @@ Triangulation anzeigen - + Placement Positionierung - + Fit B-Spline B-Spline einpassen - + Poisson reconstruction Poisson-Rekonstruktion - + Segmentation Segmentierung @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Eingabefehler - + Wrong selection Falsche Auswahl - + Please select a single placement object to get local orientation. Bitte ein einzelnes Placement-Objekt zur lokalen Orientierung wählen. @@ -375,7 +375,7 @@ Samples pro Knoten - + Input error Eingabefehler @@ -422,7 +422,7 @@ Plane - Ebene + Fläche @@ -437,7 +437,7 @@ Minimum number of faces - Minimale Anzahl von Dreiecken + Minimale Anzahl von Flächen @@ -460,7 +460,7 @@ Select - Wähle + Auswählen @@ -480,12 +480,12 @@ < faces than - < Dreiecke als + < Flächen als Pick triangle - Dreieck aufnehmen + Dreieck auswählen @@ -495,12 +495,12 @@ Clear - Löschen + Leeren Plane - Ebene + Fläche @@ -521,7 +521,7 @@ Minimum number of faces - Minimale Anzahl von Dreiecken + Minimale Anzahl von Flächen @@ -536,7 +536,7 @@ Region options - Einstellungen + Bereich Einstellungen @@ -546,7 +546,7 @@ Respect only triangles with normals facing screen - Nur Dreiecke mit Normalen beachten, die zum Bildschirm zeigen + Nur Dreiecke beachten deren Normals zum Bildschirm zeigen @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Erstellen diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_el.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_el.ts index 38ef157268..f87681a0ca 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_el.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_el.ts @@ -228,22 +228,22 @@ Προβολή τριγωνισμού - + Placement Τοποθέτηση - + Fit B-Spline Προσαρμογή B-Spline - + Poisson reconstruction Ανακατασκευή Poisson - + Segmentation Κατάτμηση @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Σφάλμα εισαγωγής - + Wrong selection Λάθος επιλογή - + Please select a single placement object to get local orientation. Παρακαλώ επιλέξτε ένα αντικείμενο τοποθέτησης για να έχετε τον τοπικό προσανατολισμό. @@ -375,7 +375,7 @@ Δείγματα ανά κόμβο - + Input error Σφάλμα εισαγωγής @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Δημιουργήστε diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_es-AR.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_es-AR.ts index a485802c68..c783fecaef 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_es-AR.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_es-AR.ts @@ -228,22 +228,22 @@ Ver triangulación - + Placement Ubicación - + Fit B-Spline Ajustar B-Spline - + Poisson reconstruction Reconstrucción de Poisson - + Segmentation Segmentación @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Error de entrada - + Wrong selection Selección Incorrecta - + Please select a single placement object to get local orientation. Por favor, seleccione un solo objeto de colocación para obtener orientación local. @@ -375,7 +375,7 @@ Muestras por nodo - + Input error Error de entrada @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Crear diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_es-ES.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_es-ES.ts index 2ff6a7a819..c2254d1878 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_es-ES.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_es-ES.ts @@ -228,22 +228,22 @@ Ver triangulación - + Placement Ubicación - + Fit B-Spline Ajustar B-Spline - + Poisson reconstruction Reconstrucción de Poisson - + Segmentation Segmentación @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Error de entrada - + Wrong selection Selección incorrecta - + Please select a single placement object to get local orientation. Por favor, seleccione un solo objeto de colocación para obtener orientación local. @@ -375,7 +375,7 @@ Muestras por nodo - + Input error Error de entrada @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Crear diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_eu.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_eu.ts index 65397824d1..17512ed768 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_eu.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_eu.ts @@ -228,22 +228,22 @@ Bistaren triangelaketa - + Placement Kokapena - + Fit B-Spline Doitu B-spline kurba - + Poisson reconstruction Poissonen berreraikitzea - + Segmentation Segmentazioa @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Sarrera-errorea - + Wrong selection Hautapen okerra - + Please select a single placement object to get local orientation. Hautatu kokapen-objektu bakarra tokiko orientazioa eskuratzeko. @@ -375,7 +375,7 @@ Laginak nodoko - + Input error Sarrera-errorea @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Sortu diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_fi.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_fi.ts index f8ca24cd70..4382f220b2 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_fi.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_fi.ts @@ -228,22 +228,22 @@ Näytä kolmiomittaus - + Placement Sijainti - + Fit B-Spline Sovita B-käyrä - + Poisson reconstruction Poisson pinnan rekonstruointi - + Segmentation Segmentaatio @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Syötteen virhe - + Wrong selection Virheellinen valinta - + Please select a single placement object to get local orientation. Valitse yksi paikkaobjekti saadaksesi paikallisen suunnan. @@ -375,7 +375,7 @@ Näytteet solmua kohti - + Input error Syötteen virhe @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Luo diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_fr.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_fr.ts index 5128419ef6..d80f1ac6c9 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_fr.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_fr.ts @@ -228,22 +228,22 @@ Afficher la triangulation - + Placement - Placement + Positionnement - + Fit B-Spline Ajuster la B-spline - + Poisson reconstruction Reconstruction de Poisson - + Segmentation Segmentation @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Erreur de saisie - + Wrong selection Sélection invalide - + Please select a single placement object to get local orientation. Veuillez sélectionner l'emplacement d'un seul objet pour obtenir l'orientation locale. @@ -375,7 +375,7 @@ Samples par noeuds - + Input error Erreur de saisie @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Créer diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_gl.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_gl.ts index 7b0580c7d7..792a733e2a 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_gl.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_gl.ts @@ -228,22 +228,22 @@ Ver triangulación - + Placement Emprazamento - + Fit B-Spline Axustar B-Spline - + Poisson reconstruction Reconstrución de Poisson - + Segmentation Segmentación @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Input error - + Wrong selection Escolma errada - + Please select a single placement object to get local orientation. Por favor escolme un único obxecto de posición para coller a orientación local. @@ -375,7 +375,7 @@ Mostras por nó - + Input error Input error @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Facer diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_hr.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_hr.ts index 8ef185a958..1ae7bf8819 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_hr.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_hr.ts @@ -228,22 +228,22 @@ Pogled triangulacija - + Placement Položaj - + Fit B-Spline Prilagodi B-spline - + Poisson reconstruction Possion rekonstrukcija - + Segmentation Segmentacija @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Pogreška na ulazu - + Wrong selection Pogrešan odabir - + Please select a single placement object to get local orientation. Molimo odaberite jedan jedini položaj objekt da dobijete lokalnu orijentaciju. @@ -375,7 +375,7 @@ Uzoraka po čvoru - + Input error Pogreška na ulazu @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Stvoriti diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_hu.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_hu.ts index 18a9174b00..d797cd0e72 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_hu.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_hu.ts @@ -228,22 +228,22 @@ Háromtényezős nézet - + Placement Elhelyezés - + Fit B-Spline B-görbe illesztése - + Poisson reconstruction Poisson felszín helyreállítás - + Segmentation Szegmentálás @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Bemeneti hiba - + Wrong selection Rossz kijelölés - + Please select a single placement object to get local orientation. Kérjük, válasszon egy önállóan elhelyezett tárgyat a hely meghatározásához. @@ -375,7 +375,7 @@ Csomópontonkénti minta - + Input error Bemeneti hiba @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Létrehozás diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_id.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_id.ts index f15f97b1d4..5842cf1593 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_id.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_id.ts @@ -16,7 +16,7 @@ Approximate a cylinder - Approximate a cylinder + Perkiraan silinder @@ -29,7 +29,7 @@ Plane... - Plane... + Plane... @@ -47,12 +47,12 @@ Polynomial surface - Polynomial surface + Permukaan polynomial Approximate a polynomial surface - Approximate a polynomial surface + Perkiraan permukaan polynomial @@ -137,7 +137,7 @@ Mesh segmentation... - Mesh segmentation... + Segmentasi Mesh... @@ -155,12 +155,12 @@ From components - From components + Dari komponen Create mesh segments from components - Create mesh segments from components + Buat segment mesh dari komponen @@ -173,12 +173,12 @@ Manual segmentation... - Manual segmentation... + Segmentasi manual... Create mesh segments manually - Create mesh segments manually + Buat segment mesh secara manual @@ -228,24 +228,24 @@ View triangulation - + Placement Penempatan - + Fit B-Spline Fit B-Spline - + Poisson reconstruction Poisson reconstruction - + Segmentation - Segmentation + Segmentasi @@ -300,7 +300,7 @@ Create placement - Create placement + Buat penempatan @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Input error - + Wrong selection Pilihan salah - + Please select a single placement object to get local orientation. Harap pilih satu objek penempatan untuk mendapatkan orientasi lokal. @@ -375,7 +375,7 @@ Sampel per simpul - + Input error Input error @@ -391,7 +391,7 @@ Please select a point cloud or mesh. - Please select a point cloud or mesh. + Pilih sebuah titik cloud atau mesh. @@ -427,12 +427,12 @@ Curvature tolerance - Curvature tolerance + Toleransi lengkungan Distance to plane - Distance to plane + Jarak ke plane @@ -442,12 +442,12 @@ Create mesh from unused triangles - Create mesh from unused triangles + Buat mesh dari segitiga yang tak terpakai Create compound - Create compound + Buat compound @@ -455,7 +455,7 @@ Manual segmentation - Manual segmentation + Segmentasi manual @@ -507,7 +507,7 @@ Detect - Detect + Deteksi @@ -551,12 +551,12 @@ Segmentation - Segmentation + Segmentasi Cut segment from mesh - Cut segment from mesh + Potong segment dari mesh @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Membuat diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_it.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_it.ts index d37a6521bc..f34b9c88dc 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_it.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_it.ts @@ -228,22 +228,22 @@ Visualizza triangolazione - + Placement Posizionamento - + Fit B-Spline Adatta B-Spline - + Poisson reconstruction Ricostruzione di Poisson - + Segmentation Segmentazione @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Errore di input - + Wrong selection Selezione errata - + Please select a single placement object to get local orientation. Si prega di selezionare un solo oggetto di posizionamento per ottenere l'orientamento locale. @@ -375,7 +375,7 @@ Campioni per nodo - + Input error Errore di input @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Crea diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ja.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ja.ts index 1029ad6902..ac4359e9de 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ja.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ja.ts @@ -228,22 +228,22 @@ 三角形分割の表示 - + Placement 配置 - + Fit B-Spline B-スプラインに合わせる - + Poisson reconstruction ポアソンの再構築 - + Segmentation セグメンテーション @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error 入力エラー - + Wrong selection 誤った選択 - + Please select a single placement object to get local orientation. ローカル方向を取得するには単一の配置オブジェクトを選択してください @@ -375,7 +375,7 @@ ノードあたりのサンプル数 - + Input error 入力エラー @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create 作成 diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ka.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ka.ts index 4376aee395..5d6578a5ab 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ka.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ka.ts @@ -142,7 +142,7 @@ Create mesh segments - მრავალკუთხა ბადის სეგმენების შექმნა + ბადის სეგმენების შექმნა @@ -228,22 +228,22 @@ ტრიანგულაციის ნახვა - + Placement მდებარეობა - + Fit B-Spline B-სპლაინის მოთავსება - + Poisson reconstruction პუასონის რეკონსტრუქცია - + Segmentation სეგმენტაცია @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error - Input error + შეყვანის შეცდომა - + Wrong selection არასწორი არჩევანი - + Please select a single placement object to get local orientation. გთხოვთ, აირჩიოთ ერთი განლაგების ობიექტი ლოკალური ორიენტაციის მისაღებად. @@ -375,9 +375,9 @@ ნიმუშები თითო კვანძზე - + Input error - Input error + შეყვანის შეცდომა @@ -412,12 +412,12 @@ Mesh segmentation - მრავალკუთხა ბადის სეგმენტაცია + ბადის სეგმენტაცია Smooth mesh - მრავალკუთხა ბადის მოგლუვება + ბადის მოგლუვება @@ -514,7 +514,7 @@ Tolerance - სიზუსტე + გადახრა @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create შექმნა diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ko.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ko.ts index cd99dfa5dc..0cb6b6dc72 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ko.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ko.ts @@ -228,22 +228,22 @@ View triangulation - + Placement 위치 설정 - + Fit B-Spline Fit B-Spline - + Poisson reconstruction Poisson reconstruction - + Segmentation Segmentation @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error 입력 오류 - + Wrong selection 잘못 된 선택 - + Please select a single placement object to get local orientation. Please select a single placement object to get local orientation. @@ -375,7 +375,7 @@ Samples per node - + Input error 입력 오류 @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create 만들기 diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_nl.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_nl.ts index db399435b7..b03b93424d 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_nl.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_nl.ts @@ -228,22 +228,22 @@ Bekijk de driehoekigheid - + Placement Plaatsing - + Fit B-Spline Pas in B-Spline - + Poisson reconstruction Poisson reconstructie - + Segmentation Segmentatie @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Invoerfout - + Wrong selection Verkeerde selectie - + Please select a single placement object to get local orientation. Gelieve een enkel plaatsingsobject te selecteren om een lokale oriëntatie te krijgen. @@ -375,7 +375,7 @@ Stalen per knoop - + Input error Invoerfout @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Aanmaken diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.ts index b0209f796d..fd28c83a95 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.ts @@ -228,22 +228,22 @@ Widok triangulacji - + Placement Umiejscowienie - + Fit B-Spline Dopasuj krzywą złożoną - + Poisson reconstruction Rekonstrukcja powierzchni Poissona - + Segmentation Segmentacja @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Błąd danych wejściowych - + Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór - + Please select a single placement object to get local orientation. Proszę wybrać pojedynczy obiekt, aby poznać orientację lokalną. @@ -375,7 +375,7 @@ Próbek na węzeł - + Input error Błąd danych wejściowych @@ -386,7 +386,7 @@ Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór @@ -437,7 +437,7 @@ Minimum number of faces - Minimalna liczba płaszczyzn + Minimalna liczba ścian @@ -460,7 +460,7 @@ Select - Wybierz + Dodaj @@ -521,7 +521,7 @@ Minimum number of faces - Minimalna liczba płaszczyzn + Minimalna liczba ścian @@ -536,7 +536,7 @@ Region options - opcje regionalne + Opcje regionalne @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Utwórz diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pt-BR.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pt-BR.ts index 951849ba23..038920461c 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pt-BR.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pt-BR.ts @@ -228,22 +228,22 @@ Triangulação de exibição - + Placement Posicionamento - + Fit B-Spline Aproximar B-Spline - + Poisson reconstruction Reconstrução de superfície de Poisson - + Segmentation Segmentação @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Erro de entrada - + Wrong selection Seleção errada - + Please select a single placement object to get local orientation. Por favor, selecione um objeto de posicionamento único para obter orientação local. @@ -375,7 +375,7 @@ Amostras por nó - + Input error Erro de entrada @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Criar diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pt-PT.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pt-PT.ts index 71e05fdb65..e0179ccad4 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pt-PT.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pt-PT.ts @@ -228,22 +228,22 @@ Ver triangulação - + Placement Colocação - + Fit B-Spline Ajustar B-Spline - + Poisson reconstruction Reconstrução Poisson - + Segmentation Segmentação @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Erro de Inserção - + Wrong selection Seleção errada - + Please select a single placement object to get local orientation. Por favor selecione um objeto de posição única para obter orientação local. @@ -375,7 +375,7 @@ Amostras por nó - + Input error Erro de Inserção @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Criar diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ro.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ro.ts index 8278305b6a..8e3f4ed025 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ro.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ro.ts @@ -228,22 +228,22 @@ Vezi triangularea - + Placement Amplasare - + Fit B-Spline Potrivire B-Spline - + Poisson reconstruction Reconstrucția lui Poisson - + Segmentation Segmentare @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Eroare de intrare - + Wrong selection Selecţie greşită - + Please select a single placement object to get local orientation. Vă rugăm să selectaţi un obiect unic de plasare pentru a obţine orientarea locală. @@ -375,7 +375,7 @@ Eșantioane pe nod - + Input error Eroare de intrare @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Creează diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ru.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ru.ts index 576f145c69..0c82353798 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ru.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_ru.ts @@ -228,22 +228,22 @@ Просмотреть триангуляцию - + Placement Расположение - + Fit B-Spline Разместить B-сплайн - + Poisson reconstruction Реконструирование поверхности Пуассона - + Segmentation Сегментация @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Ошибка ввода - + Wrong selection - Неправильный выбор + Неправильное выделение - + Please select a single placement object to get local orientation. Пожалуйста, выберите один объект размещения для получения локальной ориентации. @@ -375,7 +375,7 @@ Количество дискретных элементов на узел - + Input error Ошибка ввода @@ -386,7 +386,7 @@ Wrong selection - Неправильный выбор + Неправильное выделение @@ -480,7 +480,7 @@ < faces than - < граней + граней меньше чем @@ -514,7 +514,7 @@ Tolerance - Точность + Допуск @@ -546,7 +546,7 @@ Respect only triangles with normals facing screen - Предпочитать только треугольники повернутые нормалями к экрану + Предпочитать только треугольники, повернутые нормалями к экрану @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Создать diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sl.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sl.ts index 0c6f29fccf..f4bc5f99b9 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sl.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sl.ts @@ -42,7 +42,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo @@ -60,7 +60,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo @@ -78,7 +78,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo @@ -96,7 +96,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo @@ -114,7 +114,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo @@ -132,7 +132,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo @@ -150,7 +150,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo @@ -168,7 +168,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo @@ -186,7 +186,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo @@ -228,22 +228,22 @@ Trikotenje pogleda - + Placement Postavitev - + Fit B-Spline Prilegaj B-zlepek - + Poisson reconstruction Ponovna zgraditev po Poissonu - + Segmentation Členitev @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Napaka vnosa - + Wrong selection - Napačna izbira + Napačen izbor - + Please select a single placement object to get local orientation. Izberite eno postavitev objekta za pridobitev lokalne usmerjenosti. @@ -375,7 +375,7 @@ Vzorcev na vozlišče - + Input error Napaka vnosa @@ -386,7 +386,7 @@ Wrong selection - Napačna izbira + Napačen izbor @@ -437,7 +437,7 @@ Minimum number of faces - Najmanjše št. ploskev + Najmanjše število ploskev @@ -460,7 +460,7 @@ Select - Izberite + Izberi @@ -490,7 +490,7 @@ Select whole component - Izberite celo sestavino + Izberi celo sestavino @@ -521,7 +521,7 @@ Minimum number of faces - Najmanjše št. ploskev + Najmanjše število ploskev @@ -541,12 +541,12 @@ Respect only visible triangles - Upoštevaj samo vidne trikotnike + Upoštevaj le vidne trikotnike Respect only triangles with normals facing screen - Upoštevaj samo trikotnike, katerih normale kažejo proti zaslonu + Upoštevaj le trikotnike, katerih normale so usmerjene proti zaslonu @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Ustvari @@ -577,7 +577,7 @@ Reverse Engineering - Vzvratni inženiring + Vzvratno inženirstvo diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sr-CS.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sr-CS.ts index 1ef8a7806d..c6bccd69f4 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sr-CS.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sr-CS.ts @@ -228,22 +228,22 @@ Prikaz triangulacije - + Placement Položaj - + Fit B-Spline Uklopi B-Splajn - + Poisson reconstruction Poasonova rekonstrukcija - + Segmentation Segmentacija @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Input error - + Wrong selection Pogrešan izbor - + Please select a single placement object to get local orientation. Izaberi jedan objekat Položaj da bi dobio lokalnu orijentaciju. @@ -375,7 +375,7 @@ Broj diskretnih elemenata po čvoru - + Input error Input error @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Napravi diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sr.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sr.ts index 6a2a63bc80..db55cfd6e5 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sr.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sr.ts @@ -228,22 +228,22 @@ Приказ триангулације - + Placement Положај - + Fit B-Spline Уклопи Б-Сплајн - + Poisson reconstruction Поасонова реконструкција - + Segmentation Сегментација @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Грешка приликом уноса - + Wrong selection Погрешан избор - + Please select a single placement object to get local orientation. Изабери један објекат Положај да би добио локалну оријентацију. @@ -375,7 +375,7 @@ Број дискретних елемената по чвору - + Input error Грешка приликом уноса @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Направи diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sv-SE.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sv-SE.ts index 9a11e32b9b..8c63dff82b 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sv-SE.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_sv-SE.ts @@ -228,22 +228,22 @@ Visa triangulering - + Placement Placering - + Fit B-Spline Passa B-Spline - + Poisson reconstruction Poisson reconstruction - + Segmentation Segmentering @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Inmatningsfel - + Wrong selection Fel val - + Please select a single placement object to get local orientation. Vänligen markera ett enstaka placeringsobjekt för att hämta lokal riktning. @@ -375,7 +375,7 @@ Urval per nod - + Input error Inmatningsfel @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Skapa diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_tr.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_tr.ts index 8fcb16ad7a..42e05c6c53 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_tr.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_tr.ts @@ -228,22 +228,22 @@ Üçgenlemeyi göster - + Placement Yerleşim - + Fit B-Spline B-Spline'e sığdır - + Poisson reconstruction Poisson yüzey yeniden oluşumu - + Segmentation Bölümlenme @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Girdi hatası - + Wrong selection Yanlış seçim - + Please select a single placement object to get local orientation. Yerel yönlendirme almak için lütfen yalnızca bir tane yerleşim nesnesi seçin. @@ -375,7 +375,7 @@ Düğüm başına örnekler - + Input error Girdi hatası @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Oluştur diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_uk.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_uk.ts index 3d675a7e44..2f5a0aad53 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_uk.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_uk.ts @@ -228,22 +228,22 @@ Переглянути тріангуляцію - + Placement Розташувати - + Fit B-Spline Розмістити B-сплайн - + Poisson reconstruction Реконструкція Пуассона - + Segmentation Сегментація @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Помилка вводу - + Wrong selection Невірний вибір - + Please select a single placement object to get local orientation. Будь ласка, виберіть один об'єкт розміщення для отримання локальної орієнтації. @@ -375,7 +375,7 @@ Зразків на вузол - + Input error Помилка вводу @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Створити diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_val-ES.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_val-ES.ts index 629b08aea0..9f5c3aa27a 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_val-ES.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_val-ES.ts @@ -228,22 +228,22 @@ View triangulation - + Placement Posició - + Fit B-Spline Fit B-Spline - + Poisson reconstruction Poisson reconstruction - + Segmentation Segmentation @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error Input error - + Wrong selection Selecció incorrecta - + Please select a single placement object to get local orientation. Seleccioneu un sol objecte de posició per a obtindre l'orientació local. @@ -375,7 +375,7 @@ Mostres per node - + Input error Input error @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create Crea diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_zh-CN.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_zh-CN.ts index 3a64726398..640a0b4b46 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_zh-CN.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_zh-CN.ts @@ -228,22 +228,22 @@ 查看三角剖分 - + Placement 定位 - + Fit B-Spline 适用于贝塞尔曲线 - + Poisson reconstruction 泊松曲面重构 - + Segmentation @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error 输入错误 - + Wrong selection 选择错误 - + Please select a single placement object to get local orientation. 请选择单个放置对象以获取本地方向。 @@ -375,7 +375,7 @@ 每个节点的示例 - + Input error 输入错误 @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create 创建 diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_zh-TW.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_zh-TW.ts index 5b439a70b9..d291b052f1 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_zh-TW.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_zh-TW.ts @@ -228,22 +228,22 @@ View triangulation - + Placement 佈置 - + Fit B-Spline Fit B-Spline - + Poisson reconstruction Poisson reconstruction - + Segmentation Segmentation @@ -331,18 +331,18 @@ ReenGui::FitBSplineSurfaceWidget - - + + Input error 輸入錯誤 - + Wrong selection 錯誤的選取 - + Please select a single placement object to get local orientation. Please select a single placement object to get local orientation. @@ -375,7 +375,7 @@ Samples per node - + Input error 輸入錯誤 @@ -567,7 +567,7 @@ ReverseEngineeringGui::TaskSegmentationManual - + Create 建立 diff --git a/src/Mod/ReverseEngineering/Gui/Segmentation.cpp b/src/Mod/ReverseEngineering/Gui/Segmentation.cpp index 9e5d4ad6e1..2b57969a23 100644 --- a/src/Mod/ReverseEngineering/Gui/Segmentation.cpp +++ b/src/Mod/ReverseEngineering/Gui/Segmentation.cpp @@ -65,9 +65,7 @@ Segmentation::Segmentation(Mesh::Feature* mesh, QWidget* parent, Qt::WindowFlags ui->checkBoxSmooth->setChecked(false); } -Segmentation::~Segmentation() -{ -} +Segmentation::~Segmentation() = default; void Segmentation::accept() { @@ -104,13 +102,13 @@ void Segmentation::accept() finder.FindSegments(segm); std::vector segmSurf; - for (std::vector::iterator it = segm.begin(); it != segm.end(); ++it) { - const std::vector& data = (*it)->GetSegments(); + for (const auto& it : segm) { + const std::vector& data = it->GetSegments(); // For each planar segment compute a plane and use this then for a more accurate 2nd segmentation - if (strcmp((*it)->GetType(), "Plane") == 0) { - for (std::vector::const_iterator jt = data.begin(); jt != data.end(); ++jt) { - std::vector indexes = kernel.GetFacetPoints(*jt); + if (strcmp(it->GetType(), "Plane") == 0) { + for (const auto& jt : data) { + std::vector indexes = kernel.GetFacetPoints(jt); MeshCore::PlaneFit fit; fit.AddPoints(kernel.GetPoints(indexes)); if (fit.Fit() < FLOAT_MAX) { @@ -140,17 +138,17 @@ void Segmentation::accept() std::vector failures; algo.SetFacetFlag(MeshCore::MeshFacet::TMP0); - for (std::vector::iterator it = segmSurf.begin(); it != segmSurf.end(); ++it) { - const std::vector& data = (*it)->GetSegments(); + for (const auto& it : segmSurf) { + const std::vector& data = it->GetSegments(); std::shared_ptr genSegm = std::dynamic_pointer_cast - (*it); + (it); bool isPlanar = (strcmp(genSegm->GetType(), "Plane") == 0); - for (std::vector::const_iterator jt = data.begin(); jt != data.end(); ++jt) { + for (const auto& jt : data) { // reset flag for facets of segment - algo.ResetFacetsFlag(*jt, MeshCore::MeshFacet::TMP0); + algo.ResetFacetsFlag(jt, MeshCore::MeshFacet::TMP0); - Mesh::MeshObject* segment = mesh->meshFromSegment(*jt); + Mesh::MeshObject* segment = mesh->meshFromSegment(jt); Mesh::Feature* feaSegm = static_cast(group->addObject("Mesh::Feature", "Segment")); Mesh::MeshObject* feaMesh = feaSegm->Mesh.startEditing(); feaMesh->swap(*segment); @@ -158,12 +156,12 @@ void Segmentation::accept() delete segment; std::stringstream label; - label << feaSegm->Label.getValue() << " (" << (*it)->GetType() << ")"; + label << feaSegm->Label.getValue() << " (" << it->GetType() << ")"; feaSegm->Label.setValue(label.str()); if (createCompound) { std::list > bounds; - algo.GetFacetBorders(*jt, bounds); + algo.GetFacetBorders(jt, bounds); // Handle planar segments if (isPlanar) { @@ -174,10 +172,10 @@ void Segmentation::accept() Handle(Geom_Plane) hPlane(new Geom_Plane(loc, dir)); std::vector wires; - for (auto bt = bounds.begin(); bt != bounds.end(); ++bt) { + for (const auto & bound : bounds) { // project the points onto the surface std::vector polygon; - std::transform(bt->begin(), bt->end(), std::back_inserter(polygon), [&hPlane](const Base::Vector3f& v) { + std::transform(bound.begin(), bound.end(), std::back_inserter(polygon), [&hPlane](const Base::Vector3f& v) { gp_Pnt p(v.x, v.y, v.z); return GeomAPI_ProjectPointOnSurf(p, hPlane).NearestPoint(); }); @@ -260,11 +258,6 @@ TaskSegmentation::TaskSegmentation(Mesh::Feature* mesh) Content.push_back(taskbox); } -TaskSegmentation::~TaskSegmentation() -{ - // automatically deleted in the sub-class -} - bool TaskSegmentation::accept() { widget->accept(); diff --git a/src/Mod/ReverseEngineering/Gui/Segmentation.h b/src/Mod/ReverseEngineering/Gui/Segmentation.h index a237d9b6d7..666f1895ac 100644 --- a/src/Mod/ReverseEngineering/Gui/Segmentation.h +++ b/src/Mod/ReverseEngineering/Gui/Segmentation.h @@ -61,7 +61,6 @@ class TaskSegmentation : public Gui::TaskView::TaskDialog { public: explicit TaskSegmentation(Mesh::Feature* mesh); - ~TaskSegmentation() override; public: bool accept() override; diff --git a/src/Mod/ReverseEngineering/Gui/SegmentationManual.cpp b/src/Mod/ReverseEngineering/Gui/SegmentationManual.cpp index 4c730ce48e..8690594da6 100644 --- a/src/Mod/ReverseEngineering/Gui/SegmentationManual.cpp +++ b/src/Mod/ReverseEngineering/Gui/SegmentationManual.cpp @@ -56,9 +56,7 @@ SegmentationManual::SegmentationManual(QWidget* parent, Qt::WindowFlags fl) meshSel.setEnabledViewerSelection(false); } -SegmentationManual::~SegmentationManual() -{ -} +SegmentationManual::~SegmentationManual() = default; void SegmentationManual::setupConnections() { @@ -322,11 +320,6 @@ TaskSegmentationManual::TaskSegmentationManual() Content.push_back(taskbox); } -TaskSegmentationManual::~TaskSegmentationManual() -{ - // automatically deleted in the sub-class -} - void TaskSegmentationManual::modifyStandardButtons(QDialogButtonBox* box) { QPushButton* btn = box->button(QDialogButtonBox::Ok); diff --git a/src/Mod/ReverseEngineering/Gui/SegmentationManual.h b/src/Mod/ReverseEngineering/Gui/SegmentationManual.h index dc090b83b5..7309b8779c 100644 --- a/src/Mod/ReverseEngineering/Gui/SegmentationManual.h +++ b/src/Mod/ReverseEngineering/Gui/SegmentationManual.h @@ -84,7 +84,6 @@ class TaskSegmentationManual : public Gui::TaskView::TaskDialog public: TaskSegmentationManual(); - ~TaskSegmentationManual() override; public: bool accept() override; diff --git a/src/Mod/ReverseEngineering/Gui/Workbench.cpp b/src/Mod/ReverseEngineering/Gui/Workbench.cpp index 18fb2c185e..b58cde4b96 100644 --- a/src/Mod/ReverseEngineering/Gui/Workbench.cpp +++ b/src/Mod/ReverseEngineering/Gui/Workbench.cpp @@ -37,13 +37,9 @@ using namespace ReverseEngineeringGui; /// @namespace ReverseEngineeringGui @class Workbench TYPESYSTEM_SOURCE(ReverseEngineeringGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; Gui::MenuItem* Workbench::setupMenuBar() const { diff --git a/src/Mod/Robot/App/AppRobot.cpp b/src/Mod/Robot/App/AppRobot.cpp index 000a073227..7da22192c3 100644 --- a/src/Mod/Robot/App/AppRobot.cpp +++ b/src/Mod/Robot/App/AppRobot.cpp @@ -52,8 +52,6 @@ public: initialize("This module is the Robot module."); // register with Python } - ~Module() override {} - private: Py::Object simulateToFile(const Py::Tuple& args) { diff --git a/src/Mod/Robot/App/Edge2TracObject.cpp b/src/Mod/Robot/App/Edge2TracObject.cpp index 045c316894..051920197e 100644 --- a/src/Mod/Robot/App/Edge2TracObject.cpp +++ b/src/Mod/Robot/App/Edge2TracObject.cpp @@ -53,10 +53,6 @@ Edge2TracObject::Edge2TracObject() NbrOfCluster = 0; } -Edge2TracObject::~Edge2TracObject() -{ -} - App::DocumentObjectExecReturn *Edge2TracObject::execute() { App::DocumentObject* link = Source.getValue(); @@ -75,8 +71,8 @@ App::DocumentObjectExecReturn *Edge2TracObject::execute() std::vector edges; // run through the edge name and get the real objects from the TopoShape - for (std::vector::const_iterator it= SubVals.begin();it!=SubVals.end();++it) { - TopoDS_Edge edge = TopoDS::Edge(TopShape.getSubShape(it->c_str())); + for (const auto & SubVal : SubVals) { + TopoDS_Edge edge = TopoDS::Edge(TopShape.getSubShape(SubVal.c_str())); edges.push_back(edge); } @@ -90,20 +86,20 @@ App::DocumentObjectExecReturn *Edge2TracObject::execute() // set the number of cluster and edges NbrOfCluster = aclusteroutput.size(); NbrOfEdges = 0; - for(std::vector >::const_iterator it=aclusteroutput.begin();it!=aclusteroutput.end();++it) - NbrOfEdges += it->size(); + for(const auto & it : aclusteroutput) + NbrOfEdges += it.size(); // trajectory to fill Robot::Trajectory trac; bool first = true; // cycle through the cluster - for(std::vector >::const_iterator it=aclusteroutput.begin();it!=aclusteroutput.end();++it) + for(const auto & it : aclusteroutput) { // cycle through the edges of the cluster - for(std::vector::const_iterator it2=it->begin();it2!=it->end();++it2) + for(const auto& it2 : it) { - BRepAdaptor_Curve adapt(*it2); + BRepAdaptor_Curve adapt(it2); switch(adapt.GetType()) { @@ -125,7 +121,7 @@ App::DocumentObjectExecReturn *Edge2TracObject::execute() } // if reverse orintation, switch the points - if ( it2->Orientation() == TopAbs_REVERSED ) + if ( it2.Orientation() == TopAbs_REVERSED ) { //switch the points and orientation gp_Pnt tmpP = P1; @@ -154,7 +150,7 @@ App::DocumentObjectExecReturn *Edge2TracObject::execute() Standard_Real end = adapt.LastParameter(); Standard_Real stp = ParLength / NbrSegments; bool reversed = false; - if (it2->Orientation() == TopAbs_REVERSED) { + if (it2.Orientation() == TopAbs_REVERSED) { std::swap(beg, end); stp = - stp; reversed = true; @@ -205,7 +201,7 @@ App::DocumentObjectExecReturn *Edge2TracObject::execute() Standard_Real NbrSegments = Round(Length / SegValue.getValue()); Standard_Real SegLength = ParLength / NbrSegments; - if ( it2->Orientation() == TopAbs_REVERSED ) + if ( it2.Orientation() == TopAbs_REVERSED ) { //Beginning and End switch double i = adapt.LastParameter(); @@ -252,9 +248,6 @@ App::DocumentObjectExecReturn *Edge2TracObject::execute() default: throw Base::TypeError("Unknown Edge type in Robot::Edge2TracObject::execute()"); } - - - } } @@ -271,6 +264,5 @@ App::DocumentObjectExecReturn *Edge2TracObject::execute() void Edge2TracObject::onChanged(const Property* prop) { - App::GeoFeature::onChanged(prop); } diff --git a/src/Mod/Robot/App/Edge2TracObject.h b/src/Mod/Robot/App/Edge2TracObject.h index 5affa6b52b..9a42f14b4d 100644 --- a/src/Mod/Robot/App/Edge2TracObject.h +++ b/src/Mod/Robot/App/Edge2TracObject.h @@ -38,7 +38,6 @@ class RobotExport Edge2TracObject : public TrajectoryObject public: /// Constructor Edge2TracObject(); - ~Edge2TracObject() override; App::PropertyLinkSub Source; App::PropertyFloatConstraint SegValue; diff --git a/src/Mod/Robot/App/PropertyTrajectory.cpp b/src/Mod/Robot/App/PropertyTrajectory.cpp index 0d79999938..b7ebb1ecbe 100644 --- a/src/Mod/Robot/App/PropertyTrajectory.cpp +++ b/src/Mod/Robot/App/PropertyTrajectory.cpp @@ -36,13 +36,9 @@ using namespace Robot; TYPESYSTEM_SOURCE(Robot::PropertyTrajectory , App::Property) -PropertyTrajectory::PropertyTrajectory() -{ -} +PropertyTrajectory::PropertyTrajectory() = default; -PropertyTrajectory::~PropertyTrajectory() -{ -} +PropertyTrajectory::~PropertyTrajectory() = default; void PropertyTrajectory::setValue(const Trajectory& sh) { diff --git a/src/Mod/Robot/App/Robot6Axis.cpp b/src/Mod/Robot/App/Robot6Axis.cpp index 26849f6c29..fca75e0ab9 100644 --- a/src/Mod/Robot/App/Robot6Axis.cpp +++ b/src/Mod/Robot/App/Robot6Axis.cpp @@ -76,11 +76,6 @@ Robot6Axis::Robot6Axis() setKinematic(KukaIR500); } -Robot6Axis::~Robot6Axis() -{ -} - - void Robot6Axis::setKinematic(const AxisDefinition KinDef[6]) { Chain temp; @@ -141,21 +136,21 @@ void Robot6Axis::readKinematic(const char * FileName) // over read the header in.getline(buf,119,'\n'); // read 6 Axis - for (int i = 0; i < 6; i++) { + for (auto & i : temp) { in.getline(buf,79,'\n'); destination.clear(); split(std::string(buf),',',destination); if (destination.size() < 8) continue; // transfer the values in kinematic structure - temp[i].a = atof(destination[0].c_str()); - temp[i].alpha = atof(destination[1].c_str()); - temp[i].d = atof(destination[2].c_str()); - temp[i].theta = atof(destination[3].c_str()); - temp[i].rotDir = atof(destination[4].c_str()); - temp[i].maxAngle = atof(destination[5].c_str()); - temp[i].minAngle = atof(destination[6].c_str()); - temp[i].velocity = atof(destination[7].c_str()); + i.a = atof(destination[0].c_str()); + i.alpha = atof(destination[1].c_str()); + i.d = atof(destination[2].c_str()); + i.theta = atof(destination[3].c_str()); + i.rotDir = atof(destination[4].c_str()); + i.maxAngle = atof(destination[5].c_str()); + i.minAngle = atof(destination[6].c_str()); + i.velocity = atof(destination[7].c_str()); } setKinematic(temp); diff --git a/src/Mod/Robot/App/Robot6Axis.h b/src/Mod/Robot/App/Robot6Axis.h index e2348c3a96..b63544909d 100644 --- a/src/Mod/Robot/App/Robot6Axis.h +++ b/src/Mod/Robot/App/Robot6Axis.h @@ -54,7 +54,6 @@ class RobotExport Robot6Axis : public Base::Persistence public: Robot6Axis(); - ~Robot6Axis() override; // from base class unsigned int getMemSize () const override; diff --git a/src/Mod/Robot/App/RobotAlgos.cpp b/src/Mod/Robot/App/RobotAlgos.cpp index e997478ce5..f47be96b56 100644 --- a/src/Mod/Robot/App/RobotAlgos.cpp +++ b/src/Mod/Robot/App/RobotAlgos.cpp @@ -48,14 +48,9 @@ using namespace KDL; // FeatureView //=========================================================================== -RobotAlgos::RobotAlgos() -{ - -} +RobotAlgos::RobotAlgos() = default; -RobotAlgos::~RobotAlgos() -{ -} +RobotAlgos::~RobotAlgos() = default; void RobotAlgos::Test() { diff --git a/src/Mod/Robot/App/RobotAlgos.h b/src/Mod/Robot/App/RobotAlgos.h index 1f24cdd0a0..173ea3c2b5 100644 --- a/src/Mod/Robot/App/RobotAlgos.h +++ b/src/Mod/Robot/App/RobotAlgos.h @@ -25,6 +25,8 @@ #include #include +#include +#include "kdl_cp/frames_io.hpp" namespace Robot diff --git a/src/Mod/Robot/App/RobotObject.cpp b/src/Mod/Robot/App/RobotObject.cpp index 8dc39e3786..4b332a3dc3 100644 --- a/src/Mod/Robot/App/RobotObject.cpp +++ b/src/Mod/Robot/App/RobotObject.cpp @@ -37,7 +37,6 @@ PROPERTY_SOURCE(Robot::RobotObject, App::GeoFeature) RobotObject::RobotObject() -:block(false) { ADD_PROPERTY_TYPE(RobotVrmlFile ,(nullptr),"Robot definition" ,Prop_None,"Included file with the VRML representation of the robot"); ADD_PROPERTY_TYPE(RobotKinematicFile,(nullptr),"Robot definition",Prop_None,"Included file with kinematic definition of the robot Axis"); @@ -60,10 +59,6 @@ RobotObject::RobotObject() } -RobotObject::~RobotObject() -{ -} - short RobotObject::mustExecute() const { return 0; diff --git a/src/Mod/Robot/App/RobotObject.h b/src/Mod/Robot/App/RobotObject.h index bfa622f2f5..791eb7eb12 100644 --- a/src/Mod/Robot/App/RobotObject.h +++ b/src/Mod/Robot/App/RobotObject.h @@ -39,7 +39,6 @@ class RobotExport RobotObject : public App::GeoFeature public: /// Constructor RobotObject(); - ~RobotObject() override; /// returns the type name of the ViewProvider const char* getViewProviderName() const override { @@ -77,7 +76,7 @@ protected: Robot6Axis robot; - bool block; + bool block{false}; }; diff --git a/src/Mod/Robot/App/RobotObjectPyImp.cpp b/src/Mod/Robot/App/RobotObjectPyImp.cpp index 50fd855f4a..086685286f 100644 --- a/src/Mod/Robot/App/RobotObjectPyImp.cpp +++ b/src/Mod/Robot/App/RobotObjectPyImp.cpp @@ -32,7 +32,7 @@ using namespace Robot; // returns a string which represents the object e.g. when printed in python std::string RobotObjectPy::representation() const { - return std::string(""); + return {""}; } diff --git a/src/Mod/Robot/App/Simulation.cpp b/src/Mod/Robot/App/Simulation.cpp index 87477cd837..16ff7e3246 100644 --- a/src/Mod/Robot/App/Simulation.cpp +++ b/src/Mod/Robot/App/Simulation.cpp @@ -34,7 +34,7 @@ using namespace KDL; //=========================================================================== Simulation::Simulation(const Robot::Trajectory &Trac,Robot::Robot6Axis &Rob) -:Pos(0.0),Trac(Trac),Rob(Rob) +:Trac(Trac),Rob(Rob) { // simulate a trajectory with only one waypoint make no sense! assert(Trac.getSize() > 1); @@ -51,9 +51,7 @@ Simulation::Simulation(const Robot::Trajectory &Trac,Robot::Robot6Axis &Rob) } -Simulation::~Simulation() -{ -} +Simulation::~Simulation() = default; void Simulation::step(double tick) { diff --git a/src/Mod/Robot/App/Simulation.h b/src/Mod/Robot/App/Simulation.h index 6f27994087..ac3ee59e8b 100644 --- a/src/Mod/Robot/App/Simulation.h +++ b/src/Mod/Robot/App/Simulation.h @@ -54,9 +54,9 @@ public: // apply the start axis angles and set to time 0. Restores the exact start position void reset(); - double Pos; - double Axis[6]; - double startAxis[6]; + double Pos{0.0}; + double Axis[6]{}; + double startAxis[6]{}; Trajectory Trac; Robot6Axis &Rob; diff --git a/src/Mod/Robot/App/Trajectory.cpp b/src/Mod/Robot/App/Trajectory.cpp index b08c5248b4..6b48567373 100644 --- a/src/Mod/Robot/App/Trajectory.cpp +++ b/src/Mod/Robot/App/Trajectory.cpp @@ -58,11 +58,7 @@ using namespace Base; TYPESYSTEM_SOURCE(Robot::Trajectory , Base::Persistence) -Trajectory::Trajectory() -:pcTrajectory(nullptr) -{ - -} +Trajectory::Trajectory() = default; Trajectory::Trajectory(const Trajectory& Trac) :vpcWaypoints(Trac.vpcWaypoints.size()),pcTrajectory(nullptr) @@ -72,8 +68,8 @@ Trajectory::Trajectory(const Trajectory& Trac) Trajectory::~Trajectory() { - for(std::vector::iterator it = vpcWaypoints.begin();it!=vpcWaypoints.end();++it) - delete ( *it ); + for(auto it : vpcWaypoints) + delete it; delete pcTrajectory; } @@ -82,8 +78,8 @@ Trajectory &Trajectory::operator=(const Trajectory& Trac) if (this == &Trac) return *this; - for(std::vector::iterator it = vpcWaypoints.begin();it!=vpcWaypoints.end();++it) - delete ( *it ); + for(auto it : vpcWaypoints) + delete it; vpcWaypoints.clear(); vpcWaypoints.resize(Trac.vpcWaypoints.size()); @@ -119,10 +115,9 @@ double Trajectory::getDuration(int n) const Placement Trajectory::getPosition(double time)const { - if(pcTrajectory) + if (pcTrajectory) return Placement(toPlacement(pcTrajectory->Pos(time))); - else - return Placement(); + return {}; } double Trajectory::getVelocity(double time)const @@ -236,18 +231,18 @@ void Trajectory::generateTrajectory() std::string Trajectory::getUniqueWaypointName(const char *Name) const { if (!Name || *Name == '\0') - return std::string(); + return {}; // check for first character whether it's a digit std::string CleanName = Name; if (!CleanName.empty() && CleanName[0] >= 48 && CleanName[0] <= 57) CleanName[0] = '_'; // strip illegal chars - for (std::string::iterator it = CleanName.begin(); it != CleanName.end(); ++it) { - if (!((*it>=48 && *it<=57) || // number - (*it>=65 && *it<=90) || // uppercase letter - (*it>=97 && *it<=122))) // lowercase letter - *it = '_'; // it's neither number nor letter + for (char & it : CleanName) { + if (!((it>=48 && it<=57) || // number + (it>=65 && it<=90) || // uppercase letter + (it>=97 && it<=122))) // lowercase letter + it = '_'; // it's neither number nor letter } // name in use? diff --git a/src/Mod/Robot/App/Trajectory.h b/src/Mod/Robot/App/Trajectory.h index b115a67029..1e6c7d56cc 100644 --- a/src/Mod/Robot/App/Trajectory.h +++ b/src/Mod/Robot/App/Trajectory.h @@ -77,7 +77,7 @@ protected: std::vector vpcWaypoints; - KDL::Trajectory_Composite *pcTrajectory; + KDL::Trajectory_Composite *pcTrajectory{nullptr}; }; } //namespace Part diff --git a/src/Mod/Robot/App/TrajectoryCompound.cpp b/src/Mod/Robot/App/TrajectoryCompound.cpp index de68523e98..8cb30a115a 100644 --- a/src/Mod/Robot/App/TrajectoryCompound.cpp +++ b/src/Mod/Robot/App/TrajectoryCompound.cpp @@ -39,20 +39,16 @@ TrajectoryCompound::TrajectoryCompound() } -TrajectoryCompound::~TrajectoryCompound() -{ -} - App::DocumentObjectExecReturn *TrajectoryCompound::execute() { const std::vector &Tracs = Source.getValues(); Robot::Trajectory result; - for (std::vector::const_iterator it= Tracs.begin();it!=Tracs.end();++it) { - if ((*it)->getTypeId().isDerivedFrom(Robot::TrajectoryObject::getClassTypeId())){ - const std::vector &wps = static_cast(*it)->Trajectory.getValue().getWaypoints(); - for (std::vector::const_iterator it2= wps.begin();it2!=wps.end();++it2) { - result.addWaypoint(**it2); + for (auto it : Tracs) { + if (it->getTypeId().isDerivedFrom(Robot::TrajectoryObject::getClassTypeId())){ + const std::vector &wps = static_cast(it)->Trajectory.getValue().getWaypoints(); + for (auto wp : wps) { + result.addWaypoint(*wp); } }else return new App::DocumentObjectExecReturn("Not all objects in compound are trajectories!"); diff --git a/src/Mod/Robot/App/TrajectoryCompound.h b/src/Mod/Robot/App/TrajectoryCompound.h index 52eb60421a..8c39fed289 100644 --- a/src/Mod/Robot/App/TrajectoryCompound.h +++ b/src/Mod/Robot/App/TrajectoryCompound.h @@ -38,7 +38,6 @@ class RobotExport TrajectoryCompound : public TrajectoryObject public: /// Constructor TrajectoryCompound(); - ~TrajectoryCompound() override; App::PropertyLinkList Source; diff --git a/src/Mod/Robot/App/TrajectoryDressUpObject.cpp b/src/Mod/Robot/App/TrajectoryDressUpObject.cpp index 1988407b00..2eaa55af32 100644 --- a/src/Mod/Robot/App/TrajectoryDressUpObject.cpp +++ b/src/Mod/Robot/App/TrajectoryDressUpObject.cpp @@ -50,10 +50,6 @@ TrajectoryDressUpObject::TrajectoryDressUpObject() } -TrajectoryDressUpObject::~TrajectoryDressUpObject() -{ -} - App::DocumentObjectExecReturn* TrajectoryDressUpObject::execute() { Robot::Trajectory result; @@ -65,8 +61,8 @@ App::DocumentObjectExecReturn* TrajectoryDressUpObject::execute() return new App::DocumentObjectExecReturn("Linked object is not a Trajectory object"); const std::vector& wps = static_cast(link)->Trajectory.getValue().getWaypoints(); - for (std::vector::const_iterator it = wps.begin(); it != wps.end(); ++it) { - Waypoint wpt = **it; + for (auto wp : wps) { + Waypoint wpt = *wp; if (UseSpeed.getValue()) wpt.Velocity = Speed.getValue(); if (UseAcceleration.getValue()) diff --git a/src/Mod/Robot/App/TrajectoryDressUpObject.h b/src/Mod/Robot/App/TrajectoryDressUpObject.h index b68773bdc9..712fda73bb 100644 --- a/src/Mod/Robot/App/TrajectoryDressUpObject.h +++ b/src/Mod/Robot/App/TrajectoryDressUpObject.h @@ -39,7 +39,6 @@ class RobotExport TrajectoryDressUpObject : public TrajectoryObject public: /// Constructor TrajectoryDressUpObject(); - ~TrajectoryDressUpObject() override; App::PropertyLink Source; App::PropertySpeed Speed; diff --git a/src/Mod/Robot/App/TrajectoryObject.cpp b/src/Mod/Robot/App/TrajectoryObject.cpp index 71266c17b1..8dd8447ef4 100644 --- a/src/Mod/Robot/App/TrajectoryObject.cpp +++ b/src/Mod/Robot/App/TrajectoryObject.cpp @@ -42,10 +42,6 @@ TrajectoryObject::TrajectoryObject() } -TrajectoryObject::~TrajectoryObject() -{ -} - short TrajectoryObject::mustExecute() const { return 0; diff --git a/src/Mod/Robot/App/TrajectoryObject.h b/src/Mod/Robot/App/TrajectoryObject.h index 6184cbdf61..e0b6215b25 100644 --- a/src/Mod/Robot/App/TrajectoryObject.h +++ b/src/Mod/Robot/App/TrajectoryObject.h @@ -40,7 +40,6 @@ class RobotExport TrajectoryObject : public App::GeoFeature public: /// Constructor TrajectoryObject(); - ~TrajectoryObject() override; /// returns the type name of the ViewProvider const char* getViewProviderName() const override { diff --git a/src/Mod/Robot/App/Waypoint.cpp b/src/Mod/Robot/App/Waypoint.cpp index db2734bd87..c73fd8f556 100644 --- a/src/Mod/Robot/App/Waypoint.cpp +++ b/src/Mod/Robot/App/Waypoint.cpp @@ -77,9 +77,7 @@ Waypoint::Waypoint() { } -Waypoint::~Waypoint() -{ -} +Waypoint::~Waypoint() = default; unsigned int Waypoint::getMemSize () const { diff --git a/src/Mod/Robot/App/WaypointPyImp.cpp b/src/Mod/Robot/App/WaypointPyImp.cpp index 3f27fcaba1..3379220d65 100644 --- a/src/Mod/Robot/App/WaypointPyImp.cpp +++ b/src/Mod/Robot/App/WaypointPyImp.cpp @@ -23,6 +23,7 @@ #include "PreCompiled.h" #include +#include #include // inclusion of the generated files (generated out of WaypointPy.xml) @@ -85,12 +86,14 @@ int WaypointPy::PyInit(PyObject* args, PyObject* kwd) int tool = 0; int base = 0; - static char* kwlist[] = { "Pos", "type","name", "vel", "cont", "tool", "base", "acc" ,nullptr }; + static const std::array kwlist{"Pos", "type", "name", "vel", "cont", "tool", "base", "acc", + nullptr}; - if (!PyArg_ParseTupleAndKeywords(args, kwd, "O!|ssOiiiO", kwlist, - &(Base::PlacementPy::Type), &pos, // the placement object - &type, &name, &vel, &cont, &tool, &base, &acc)) + if (!Base::Wrapped_ParseTupleAndKeywords(args, kwd, "O!|ssOiiiO", kwlist, + &(Base::PlacementPy::Type), &pos, // the placement object + &type, &name, &vel, &cont, &tool, &base, &acc)) { return -1; + } Base::Placement TempPos = *static_cast(pos)->getPlacementPtr(); getWaypointPtr()->EndPos = TempPos; @@ -148,7 +151,7 @@ void WaypointPy::setVelocity(Py::Float arg) Py::String WaypointPy::getName() const { - return Py::String(getWaypointPtr()->Name.c_str()); + return {getWaypointPtr()->Name}; } void WaypointPy::setName(Py::String arg) @@ -202,7 +205,7 @@ void WaypointPy::setPos(Py::Object arg) Py::Boolean WaypointPy::getCont() const { - return Py::Boolean(getWaypointPtr()->Cont); + return {getWaypointPtr()->Cont}; } void WaypointPy::setCont(Py::Boolean arg) diff --git a/src/Mod/Robot/Gui/AppRobotGui.cpp b/src/Mod/Robot/Gui/AppRobotGui.cpp index 54776bfa8d..b89b583e48 100644 --- a/src/Mod/Robot/Gui/AppRobotGui.cpp +++ b/src/Mod/Robot/Gui/AppRobotGui.cpp @@ -59,8 +59,6 @@ public: initialize("This module is the RobotGui module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot.ts b/src/Mod/Robot/Gui/Resources/translations/Robot.ts index c4b6fd31fa..cf90c0963b 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection @@ -381,11 +381,11 @@ - + Select one Robot and one Trajectory object. @@ -479,12 +479,12 @@ - + No robot files installed - + Please visit %1 and copy the files to %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_be.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_be.ts index f454b40b3d..f774064b1e 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_be.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_be.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Няправільны выбар @@ -381,11 +381,11 @@ Абраць адзін Робат - + Select one Robot and one Trajectory object. Абраць адзін Робат і адну траекторыю аб'екта. @@ -479,12 +479,12 @@ Змяніць - + No robot files installed Файлы робата не ўсталяваны - + Please visit %1 and copy the files to %2 Калі ласка, наведайце %1 і скапіруйце файлы ў %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Форма - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Форма - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Форма - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Форма - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Форма - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Форма - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_ca.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_ca.ts index d59410bfe0..5a9e7b590b 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_ca.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_ca.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Selecció incorrecta @@ -381,11 +381,11 @@ Selecciona un Robot - + Select one Robot and one Trajectory object. Selecciona un Robot i un objecte de trajectòria. @@ -479,12 +479,12 @@ Modifica - + No robot files installed No hi ha fitxers de robot instal·lats - + Please visit %1 and copy the files to %2 Si us plau visiteu %1 i copieu els fitxers a %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Forma - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Forma - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Forma - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Forma - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Forma - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Forma - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_cs.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_cs.ts index 2e475f0c1b..b4c172894f 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_cs.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_cs.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Neplatný výběr @@ -381,11 +381,11 @@ Vyberte robota - + Select one Robot and one Trajectory object. Vyberte jednoho robota a objekt jedné trakjektorie. @@ -479,12 +479,12 @@ Upravit - + No robot files installed Nejsou nainstalovány soubory robota - + Please visit %1 and copy the files to %2 Prosím, navštivte %1 a zkopírujte soubory do %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Návrh - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Návrh - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Návrh - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Návrh - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Návrh - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Návrh - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_de.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_de.ts index 288e3b4a91..4b091fcb39 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_de.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_de.ts @@ -228,7 +228,7 @@ Move to home - Zur Ausgansposition bewegen + Zur Ausgangsposition bewegen @@ -278,7 +278,7 @@ Set the home position - Setzen Sie die Ausgansposition + Ausgangsposition festlegen @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Falsche Auswahl @@ -381,11 +381,11 @@ Einen Roboter auswählen - + Select one Robot and one Trajectory object. Wählen Sie einen Roboter und eine Bewegungsbahn. @@ -397,7 +397,7 @@ You need at least two waypoints in a trajectory to simulate. - Sie benötigen mindestens zwei Wegpunkte, um eine Bewegungsbahn zu simulieren. + Sie benötigen für die Simulation mindestens zwei Wegpunkte auf der Bewegungsbahn. @@ -452,7 +452,7 @@ Siehe Dokumentation für Details. Set default continuity - Setze Vorgabe zur Dauer + Setze Standart Dauer @@ -480,12 +480,12 @@ Siehe Dokumentation für Details. Bearbeiten - + No robot files installed Keine Roboter-Dateien installiert - + Please visit %1 and copy the files to %2 Bitte gehen Sie zu %1 und kopieren Sie die Dateien in %2 @@ -558,11 +558,6 @@ Siehe Dokumentation für Details. RobotGui::TaskRobot6Axis - - - Form - Form - A1 @@ -627,11 +622,6 @@ Siehe Dokumentation für Details. RobotGui::TaskTrajectory - - - Form - Form - |< @@ -728,11 +718,6 @@ Siehe Dokumentation für Details. TaskEdge2TracParameter - - - Form - Form - Hide / Show @@ -761,11 +746,6 @@ Siehe Dokumentation für Details. TaskRobotControl - - - Form - Form - X+ @@ -879,11 +859,6 @@ Siehe Dokumentation für Details. TaskRobotMessages - - - Form - Form - clear @@ -892,11 +867,6 @@ Siehe Dokumentation für Details. TaskTrajectoryDressUpParameter - - - Form - Form - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_el.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_el.ts index 1c13c80ab6..918882cf33 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_el.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_el.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Λάθος επιλογή @@ -381,11 +381,11 @@ Επιλέξτε ένα Ρομπότ - + Select one Robot and one Trajectory object. Επιλέξτε ένα Ρομπότ και ένα Αντικείμενο Τροχιάς. @@ -479,12 +479,12 @@ Τροποποίηση - + No robot files installed Δεν έχουν εγκατασταθεί αρχεία ρομπότ - + Please visit %1 and copy the files to %2 Παρακαλώ επισκεφθείτε το %1 και αντιγράψτε τα αρχεία στο %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Μορφή - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Μορφή - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Μορφή - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Μορφή - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Μορφή - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Μορφή - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_es-AR.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_es-AR.ts index 9d85f6521a..6694b311c6 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_es-AR.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_es-AR.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Selección Incorrecta @@ -381,11 +381,11 @@ Seleccionar un Robot - + Select one Robot and one Trajectory object. Seleccione un Robot y un objeto de Trayectoria. @@ -479,12 +479,12 @@ Modificar - + No robot files installed No hay archivos robot instalados - + Please visit %1 and copy the files to %2 Por favor, visita %1 y copia los archivos a %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Forma - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Forma - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Forma - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Forma - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Forma - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Forma - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_es-ES.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_es-ES.ts index 398a1fb2f8..264f0abeca 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_es-ES.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_es-ES.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Selección incorrecta @@ -381,11 +381,11 @@ Seleccione un Robot - + Select one Robot and one Trajectory object. Seleccione un robot y un objeto trayectoria. @@ -479,12 +479,12 @@ Modificar - + No robot files installed No hay archivos de robot instalados - + Please visit %1 and copy the files to %2 Por favor, visite %1 y copie los archivos en %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Formulario - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Formulario - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Formulario - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Formulario - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Formulario - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Formulario - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_eu.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_eu.ts index fa102ee4d6..0fd320d217 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_eu.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_eu.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Hautapen okerra @@ -381,11 +381,11 @@ Hautatu robot bat - + Select one Robot and one Trajectory object. Hautatu robot bat eta ibilbide-objektu bat. @@ -479,12 +479,12 @@ Aldatu - + No robot files installed Ez dago robot-fitxategirik instalatuta - + Please visit %1 and copy the files to %2 Bisitatu %1 eta kopiatu fitxategiak %2 helbidera @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Inprimakia - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Inprimakia - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Inprimakia - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Inprimakia - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Inprimakia - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Inprimakia - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_fi.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_fi.ts index 0c7eb4b636..b7571f13bc 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_fi.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_fi.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Väärä valinta @@ -381,11 +381,11 @@ Valitse yksi robotti - + Select one Robot and one Trajectory object. Valitse yksi robotti ja yksi liikeradan objekti. @@ -479,12 +479,12 @@ Muokkaa - + No robot files installed Robottitiedostoja ei ole asennettu - + Please visit %1 and copy the files to %2 Siirry %1: een ja kopioi sieltä tiedostot %2: oon @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Lomake - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Lomake - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Lomake - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Lomake - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Lomake - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Lomake - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_fr.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_fr.ts index a17155d2d1..0027e3544d 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_fr.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_fr.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Mauvaise sélection @@ -381,11 +381,11 @@ Sélectionnez un robot - + Select one Robot and one Trajectory object. Sélectionnez un robot et une trajectoire. @@ -480,12 +480,12 @@ pour utiliser cette commande. Consultez la documentation pour plus de détails.< Modifier - + No robot files installed Aucun fichier de robot installé - + Please visit %1 and copy the files to %2 Visitez %1 et copiez les fichiers vers %2 @@ -558,11 +558,6 @@ pour utiliser cette commande. Consultez la documentation pour plus de détails.< RobotGui::TaskRobot6Axis - - - Form - Formulaire - A1 @@ -627,11 +622,6 @@ pour utiliser cette commande. Consultez la documentation pour plus de détails.< RobotGui::TaskTrajectory - - - Form - Formulaire - |< @@ -728,11 +718,6 @@ pour utiliser cette commande. Consultez la documentation pour plus de détails.< TaskEdge2TracParameter - - - Form - Forme - Hide / Show @@ -761,11 +746,6 @@ pour utiliser cette commande. Consultez la documentation pour plus de détails.< TaskRobotControl - - - Form - Forme - X+ @@ -879,11 +859,6 @@ pour utiliser cette commande. Consultez la documentation pour plus de détails.< TaskRobotMessages - - - Form - Forme - clear @@ -892,11 +867,6 @@ pour utiliser cette commande. Consultez la documentation pour plus de détails.< TaskTrajectoryDressUpParameter - - - Form - Forme - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_gl.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_gl.ts index 3292bf9d0e..1a0ad1f45c 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_gl.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_gl.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Escolma errada @@ -381,11 +381,11 @@ Escolmar un Robot - + Select one Robot and one Trajectory object. Escolmar un robot mais un obxecto traxectoria. @@ -479,12 +479,12 @@ Modificar - + No robot files installed Non hai ficheiros de robot instalados - + Please visit %1 and copy the files to %2 Por favor, vaia a %1 e copie os ficheiros en %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Formulario - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Formulario - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Formulario - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Formulario - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Formulario - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Formulario - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_hr.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_hr.ts index cb95739e66..395b4c56ba 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_hr.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_hr.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Pogrešan odabir @@ -381,11 +381,11 @@ Odaberite jedan Robot - + Select one Robot and one Trajectory object. Odaberite jedan robot i jedanu putanju objekta. @@ -479,12 +479,12 @@ Izmjene - + No robot files installed Nema instaliranih robot datoteka - + Please visit %1 and copy the files to %2 Molimo posjetite %1 i kopirajte datoteke u %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Obrazac - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Obrazac - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Obrazac - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Obrazac - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Obrazac - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Obrazac - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_hu.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_hu.ts index 8dff7d1263..bc9d1ffb32 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_hu.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_hu.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Rossz kiválasztás @@ -381,11 +381,11 @@ Válasszon ki egy robotot - + Select one Robot and one Trajectory object. Egy Robot és egy útvonal objektum kijelölése. @@ -479,12 +479,12 @@ Módosít - + No robot files installed Nincs telepített robot-fájl - + Please visit %1 and copy the files to %2 Kérjük, látogasson el ide: %1 és másolja a fájlokat a következő helyre: %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Űrlap - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Űrlap - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Űrlap - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Űrlap - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Űrlap - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Űrlap - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_id.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_id.ts index 9a595f2b9c..d771dffcea 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_id.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_id.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Pilihan salah @@ -381,11 +381,11 @@ Pilih satu Robot - + Select one Robot and one Trajectory object. Pilih satu Robot dan satu objek lintasan. @@ -479,12 +479,12 @@ Modifikasi - + No robot files installed No robot files installed - + Please visit %1 and copy the files to %2 Silakan kunjungi %1 dan salin file ke %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Bentuk - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Bentuk - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Bentuk - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Bentuk - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Bentuk - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Bentuk - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_it.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_it.ts index 5fa699d77f..9fe71d08a5 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_it.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_it.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Selezione errata @@ -381,11 +381,11 @@ Selezionare un Robot - + Select one Robot and one Trajectory object. Selezionare un Robot e un oggetto Traiettoria. @@ -479,12 +479,12 @@ Modifica - + No robot files installed Nessun file robot installato - + Please visit %1 and copy the files to %2 Si prega di visitare %1 e copiare i file in %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Form - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Form - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Modulo - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Modulo - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Modulo - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Modulo - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_ja.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_ja.ts index 697480766b..f1f366b48b 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_ja.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_ja.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection 誤った選択 @@ -381,11 +381,11 @@ 1台のロボットを選択する - + Select one Robot and one Trajectory object. 1 つのロボットと軌道オブジェクトを 1 つ選択します。 @@ -479,12 +479,12 @@ 変更 - + No robot files installed ロボットファイルがインストールされていません - + Please visit %1 and copy the files to %2 %1 を見てファイルを %2 にコピーしてください @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - フォーム - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - フォーム - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - フォーム - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - フォーム - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - フォーム - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - フォーム - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_ka.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_ka.ts index dacb71cb7c..abe0898c3d 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_ka.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_ka.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection არასწორი არჩევანი @@ -381,11 +381,11 @@ ერთი რობოტის ჩასმა - + Select one Robot and one Trajectory object. აირჩიეთ ერთი რობოტი და ერთი ტრაექტორიის ობიექტი. @@ -479,12 +479,12 @@ შეცვლა - + No robot files installed რობოტის ფაილები დაყენებული არაა - + Please visit %1 and copy the files to %2 გთხოვთ გადახვიდეთ %1-ზე და ჩააკოპიროთ ფაილები %2-ში @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - ფორმა - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - ფორმა - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - ფორმა - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - ფორმა - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - ფორმა - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - ფორმა - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_ko.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_ko.ts index a445386aa4..b8c5a8277a 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_ko.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_ko.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection 잘못 된 선택 @@ -381,11 +381,11 @@ 로봇 하나 선택하기 - + Select one Robot and one Trajectory object. Select one Robot and one Trajectory object. @@ -479,12 +479,12 @@ Modify - + No robot files installed No robot files installed - + Please visit %1 and copy the files to %2 Please visit %1 and copy the files to %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - 양식 - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - 양식 - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - 양식 - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - 양식 - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - 양식 - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - 양식 - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_nl.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_nl.ts index 989e48deae..9aa825e806 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_nl.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_nl.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Verkeerde selectie @@ -381,11 +381,11 @@ Selecteer een Robot - + Select one Robot and one Trajectory object. Selecteer één robot en één traject-object. @@ -479,12 +479,12 @@ Modificeer - + No robot files installed Geen robot bestanden geïnstalleerd - + Please visit %1 and copy the files to %2 Bezoek %1 en kopieer de bestanden naar %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Vorm - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Vorm - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Vorm - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Vorm - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Vorm - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Vorm - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_pl.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_pl.ts index 10cf41d99c..00dd04fa95 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_pl.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_pl.ts @@ -356,19 +356,19 @@ QObject - - - - - + + + + + Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór @@ -381,11 +381,11 @@ Zaznacz jednego Robota - + Select one Robot and one Trajectory object. Wybierz jednego robota i jedną trasę pracy. @@ -479,12 +479,12 @@ Zmodyfikuj - + No robot files installed Brak zainstalowanych plików robota - + Please visit %1 and copy the files to %2 Odwiedź %1 i skopiuj pliki do %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Formularz - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Formularz - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Formularz - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Formularz - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Formularz - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Formularz - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_pt-BR.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_pt-BR.ts index b6675d46cb..9490e55c38 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_pt-BR.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_pt-BR.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Seleção errada @@ -381,11 +381,11 @@ Selecione um robô - + Select one Robot and one Trajectory object. Selecione um robô e uma trajetória. @@ -479,12 +479,12 @@ Modificar - + No robot files installed Nenhum arquivo de robô instalado - + Please visit %1 and copy the files to %2 Por favor, visite %1 e copie os arquivos para %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Forma - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Forma - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Formulário - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Formulário - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Formulário - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Formulário - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_pt-PT.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_pt-PT.ts index 762b829495..34053a99e1 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_pt-PT.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_pt-PT.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Seleção errada @@ -381,11 +381,11 @@ Selecione um robô - + Select one Robot and one Trajectory object. Selecionar um Robô e um Objeto da Trajetória @@ -479,12 +479,12 @@ Modificar - + No robot files installed Não há ficheiros de robô instalados - + Please visit %1 and copy the files to %2 Por favor visite o %1 e copie os ficheiros para %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Formulário - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Formulário - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Formulário - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Formulário - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Formulário - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Formulário - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_ro.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_ro.ts index 5a39f4b9fa..5b7d56764a 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_ro.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_ro.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Selecţie greşită @@ -381,11 +381,11 @@ Selectaţi un Robot - + Select one Robot and one Trajectory object. Selectaţi un obiect Robot şi un obiect de Traiectorie. @@ -479,12 +479,12 @@ Modifica - + No robot files installed Nici un fișier pentru robot instalat - + Please visit %1 and copy the files to %2 Vă rugăm să vizitaţi %1 şi copiaţi fişierele în %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Formular - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Formular - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Formular - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Formular - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Formular - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Formular - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_ru.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_ru.ts index 6584b68f77..d665e3e1b6 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_ru.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_ru.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Неверный выбор @@ -381,11 +381,11 @@ Выберите одного робота - + Select one Robot and one Trajectory object. Выберите робота и траекторию движения. @@ -479,12 +479,12 @@ Изменить - + No robot files installed Нет установленных файлов робота - + Please visit %1 and copy the files to %2 Пожалуйста, посетите %1 и скопируйте файлы в %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Форма - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Форма - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Форма - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Форма - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Форма - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Форма - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_sl.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_sl.ts index 758a0edfb0..87dcb67d9b 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_sl.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_sl.ts @@ -356,19 +356,19 @@ QObject - - - - - + + + + + Wrong selection - Napačna izbira + Napačen izbor @@ -381,11 +381,11 @@ Izberite enega robota - + Select one Robot and one Trajectory object. Izberite enega robota in eno pot @@ -479,12 +479,12 @@ Spremeni - + No robot files installed Nobene datoteke robota ni nameščene - + Please visit %1 and copy the files to %2 Obiščite %1 in kopirajte datoteke v %2 @@ -529,7 +529,7 @@ Name - Ime + Naziv @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Oblika - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Oblika - |< @@ -694,7 +684,7 @@ Name - Ime + Naziv @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Oblika - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Oblika - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Oblika - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Oblika - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_sr-CS.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_sr-CS.ts index 0824ca53c7..6f35eebb21 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_sr-CS.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_sr-CS.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Pogrešan izbor @@ -381,11 +381,11 @@ Izaberi jednog Robota - + Select one Robot and one Trajectory object. Izaberi jednog Robota i jedan objekat Putanje. @@ -479,12 +479,12 @@ Izmeni - + No robot files installed Nema instaliranih robot datoteka - + Please visit %1 and copy the files to %2 Poseti %1 i kopirajte datoteke u %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Obrazac - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Obrazac - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Obrazac - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Obrazac - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Obrazac - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Obrazac - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_sr.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_sr.ts index 8cee95b0de..115901bfb0 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_sr.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_sr.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Погрешан избор @@ -381,11 +381,11 @@ Изабери једног Робота - + Select one Robot and one Trajectory object. Изабери једног Робота и један објекат Путање. @@ -479,12 +479,12 @@ Измени - + No robot files installed Нема инсталираних робот датотека - + Please visit %1 and copy the files to %2 Посетите %1 и копирајте датотеке у %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Образац - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Образац - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Образац - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Образац - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Образац - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Образац - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_sv-SE.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_sv-SE.ts index 34f305eb99..30419578fd 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_sv-SE.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_sv-SE.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Fel val @@ -381,11 +381,11 @@ Välj en Robot - + Select one Robot and one Trajectory object. Välj en robot och ett banobjekt. @@ -409,7 +409,7 @@ All Files - Alla Filer + Alla filer @@ -479,12 +479,12 @@ Modifiera - + No robot files installed Inga robotfiler installerade - + Please visit %1 and copy the files to %2 Besök %1 och kopiera filerna till %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Form - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Form - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Form - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Form - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Form - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Form - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_tr.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_tr.ts index c9b5da581f..4ffe98cd83 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_tr.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_tr.ts @@ -357,17 +357,17 @@ QObject - - - - - + + + + + Wrong selection Yanlış seçim @@ -382,11 +382,11 @@ Bir Robot seç - + Select one Robot and one Trajectory object. Bir Robot ve bir Yörünge nesnesi seçin. @@ -480,12 +480,12 @@ Değiştir - + No robot files installed Kurulu hiçbir robot dosyası yok - + Please visit %1 and copy the files to %2 Lütfen %1 'i ziyaret edin ve %2 'e dosyaları kopyalayın @@ -558,11 +558,6 @@ RobotGui::TaskRobot6Axis - - - Form - Şekil: - A1 @@ -627,11 +622,6 @@ RobotGui::TaskTrajectory - - - Form - Şekil: - |< @@ -728,11 +718,6 @@ TaskEdge2TracParameter - - - Form - Şekil: - Hide / Show @@ -761,11 +746,6 @@ TaskRobotControl - - - Form - Şekil: - X+ @@ -879,11 +859,6 @@ TaskRobotMessages - - - Form - Şekil: - clear @@ -892,11 +867,6 @@ TaskTrajectoryDressUpParameter - - - Form - Şekil: - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_uk.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_uk.ts index 3dc7718c1b..05ca32de53 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_uk.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_uk.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Невірний вибір @@ -381,11 +381,11 @@ Оберіть одного Робота - + Select one Robot and one Trajectory object. Виберіть один робот і одну траєкторію об'єкта. @@ -479,12 +479,12 @@ Змінити - + No robot files installed Файли робота не встановлено - + Please visit %1 and copy the files to %2 Будь ласка, відвідайте %1 та скопіюйте файли до %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Форма - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Форма - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Форма - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Форма - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Форма - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Форма - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_val-ES.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_val-ES.ts index f82c0bc83e..bc054103be 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_val-ES.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_val-ES.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection Selecció incorrecta @@ -381,11 +381,11 @@ Seleccioneu un robot - + Select one Robot and one Trajectory object. Seleccioneu un robot i una trajectòria @@ -479,12 +479,12 @@ Modifica - + No robot files installed No hi ha cap fitxer de robot instal·lat. - + Please visit %1 and copy the files to %2 Visiteu %1 i copieu els fitxers a %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - Forma - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - Forma - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - Forma - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - Forma - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - Forma - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - Forma - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_zh-CN.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_zh-CN.ts index 5d423a1663..044549cf22 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_zh-CN.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_zh-CN.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection 选择错误 @@ -381,11 +381,11 @@ 选择一个机器人 - + Select one Robot and one Trajectory object. 选择一个机器人和一个轨迹对象. @@ -479,12 +479,12 @@ 修改 - + No robot files installed 未安装机器人文件 - + Please visit %1 and copy the files to %2 请访问 %1 并复制文件到 %2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - 窗体 - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - 窗体 - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - 窗体 - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - 窗体 - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - 窗体 - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - 窗体 - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_zh-TW.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_zh-TW.ts index 112d393f2a..e4491ff1af 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_zh-TW.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_zh-TW.ts @@ -356,17 +356,17 @@ QObject - - - - - + + + + + Wrong selection 錯誤的選取 @@ -381,11 +381,11 @@ 選取一機器人 - + Select one Robot and one Trajectory object. 選取一個機器人和一軌跡物件 @@ -479,12 +479,12 @@ 修改 - + No robot files installed 無安裝之機器人檔案 - + Please visit %1 and copy the files to %2 請參照%1並複製至檔案%2 @@ -557,11 +557,6 @@ RobotGui::TaskRobot6Axis - - - Form - 格式 - A1 @@ -626,11 +621,6 @@ RobotGui::TaskTrajectory - - - Form - 格式 - |< @@ -727,11 +717,6 @@ TaskEdge2TracParameter - - - Form - 格式 - Hide / Show @@ -760,11 +745,6 @@ TaskRobotControl - - - Form - 格式 - X+ @@ -878,11 +858,6 @@ TaskRobotMessages - - - Form - 格式 - clear @@ -891,11 +866,6 @@ TaskTrajectoryDressUpParameter - - - Form - 格式 - Speed & Acceleration: diff --git a/src/Mod/Robot/Gui/TaskDlgEdge2Trac.cpp b/src/Mod/Robot/Gui/TaskDlgEdge2Trac.cpp index 5677a72b6c..a0a7239d1e 100644 --- a/src/Mod/Robot/Gui/TaskDlgEdge2Trac.cpp +++ b/src/Mod/Robot/Gui/TaskDlgEdge2Trac.cpp @@ -52,11 +52,6 @@ TaskDlgEdge2Trac::TaskDlgEdge2Trac(Robot::Edge2TracObject *obj) Content.push_back(select); } -TaskDlgEdge2Trac::~TaskDlgEdge2Trac() -{ - -} - //==== calls from the TaskView =============================================================== diff --git a/src/Mod/Robot/Gui/TaskDlgEdge2Trac.h b/src/Mod/Robot/Gui/TaskDlgEdge2Trac.h index daedc6e4e3..8d6b7f6cb9 100644 --- a/src/Mod/Robot/Gui/TaskDlgEdge2Trac.h +++ b/src/Mod/Robot/Gui/TaskDlgEdge2Trac.h @@ -41,7 +41,6 @@ class RobotGuiExport TaskDlgEdge2Trac : public Gui::TaskView::TaskDialog public: explicit TaskDlgEdge2Trac(Robot::Edge2TracObject *); - ~TaskDlgEdge2Trac() override; public: /// is called the TaskView when the dialog is opened diff --git a/src/Mod/Robot/Gui/TaskDlgSimulate.cpp b/src/Mod/Robot/Gui/TaskDlgSimulate.cpp index a24bea02af..c3ed656f56 100644 --- a/src/Mod/Robot/Gui/TaskDlgSimulate.cpp +++ b/src/Mod/Robot/Gui/TaskDlgSimulate.cpp @@ -49,11 +49,6 @@ TaskDlgSimulate::TaskDlgSimulate(Robot::RobotObject *pcRobotObject,Robot::Trajec Content.push_back(msg); } -TaskDlgSimulate::~TaskDlgSimulate() -{ - -} - //==== calls from the TaskView =============================================================== diff --git a/src/Mod/Robot/Gui/TaskDlgSimulate.h b/src/Mod/Robot/Gui/TaskDlgSimulate.h index 0b6c1d1402..edd0fc30a7 100644 --- a/src/Mod/Robot/Gui/TaskDlgSimulate.h +++ b/src/Mod/Robot/Gui/TaskDlgSimulate.h @@ -42,7 +42,6 @@ class RobotGuiExport TaskDlgSimulate : public Gui::TaskView::TaskDialog public: TaskDlgSimulate(Robot::RobotObject *pcRobotObject,Robot::TrajectoryObject *pcTrajectoryObject); - ~TaskDlgSimulate() override; public: /// is called the TaskView when the dialog is opened diff --git a/src/Mod/Robot/Gui/TaskDlgTrajectoryCompound.cpp b/src/Mod/Robot/Gui/TaskDlgTrajectoryCompound.cpp index a271676169..fcc967dce4 100644 --- a/src/Mod/Robot/Gui/TaskDlgTrajectoryCompound.cpp +++ b/src/Mod/Robot/Gui/TaskDlgTrajectoryCompound.cpp @@ -47,11 +47,6 @@ TaskDlgTrajectoryCompound::TaskDlgTrajectoryCompound(Robot::TrajectoryCompound * Content.push_back(select); } -TaskDlgTrajectoryCompound::~TaskDlgTrajectoryCompound() -{ - -} - //==== calls from the TaskView =============================================================== diff --git a/src/Mod/Robot/Gui/TaskDlgTrajectoryCompound.h b/src/Mod/Robot/Gui/TaskDlgTrajectoryCompound.h index 8c33ac523b..7934dcdfd6 100644 --- a/src/Mod/Robot/Gui/TaskDlgTrajectoryCompound.h +++ b/src/Mod/Robot/Gui/TaskDlgTrajectoryCompound.h @@ -39,7 +39,6 @@ class RobotGuiExport TaskDlgTrajectoryCompound : public Gui::TaskView::TaskDialo public: TaskDlgTrajectoryCompound(Robot::TrajectoryCompound *); - ~TaskDlgTrajectoryCompound() override; public: /// is called the TaskView when the dialog is opened diff --git a/src/Mod/Robot/Gui/TaskDlgTrajectoryDressUp.cpp b/src/Mod/Robot/Gui/TaskDlgTrajectoryDressUp.cpp index 36cfee3c6b..3f91a904a5 100644 --- a/src/Mod/Robot/Gui/TaskDlgTrajectoryDressUp.cpp +++ b/src/Mod/Robot/Gui/TaskDlgTrajectoryDressUp.cpp @@ -43,11 +43,6 @@ TaskDlgTrajectoryDressUp::TaskDlgTrajectoryDressUp(Robot::TrajectoryDressUpObjec Content.push_back(param); } -TaskDlgTrajectoryDressUp::~TaskDlgTrajectoryDressUp() -{ - -} - //==== calls from the TaskView =============================================================== diff --git a/src/Mod/Robot/Gui/TaskDlgTrajectoryDressUp.h b/src/Mod/Robot/Gui/TaskDlgTrajectoryDressUp.h index 6a4caae3a1..5ee99a6fe0 100644 --- a/src/Mod/Robot/Gui/TaskDlgTrajectoryDressUp.h +++ b/src/Mod/Robot/Gui/TaskDlgTrajectoryDressUp.h @@ -41,7 +41,6 @@ class RobotGuiExport TaskDlgTrajectoryDressUp : public Gui::TaskView::TaskDialog public: explicit TaskDlgTrajectoryDressUp(Robot::TrajectoryDressUpObject *); - ~TaskDlgTrajectoryDressUp() override; public: /// is called the TaskView when the dialog is opened diff --git a/src/Mod/Robot/Gui/TaskEdge2TracParameter.ui b/src/Mod/Robot/Gui/TaskEdge2TracParameter.ui index bbdc03b664..088a55b247 100644 --- a/src/Mod/Robot/Gui/TaskEdge2TracParameter.ui +++ b/src/Mod/Robot/Gui/TaskEdge2TracParameter.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Robot/Gui/TaskRobot6Axis.ui b/src/Mod/Robot/Gui/TaskRobot6Axis.ui index 4cf2ca2d5f..479ed81eba 100644 --- a/src/Mod/Robot/Gui/TaskRobot6Axis.ui +++ b/src/Mod/Robot/Gui/TaskRobot6Axis.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Robot/Gui/TaskRobotControl.ui b/src/Mod/Robot/Gui/TaskRobotControl.ui index a285570a63..d6fe44afa4 100644 --- a/src/Mod/Robot/Gui/TaskRobotControl.ui +++ b/src/Mod/Robot/Gui/TaskRobotControl.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Robot/Gui/TaskRobotMessages.ui b/src/Mod/Robot/Gui/TaskRobotMessages.ui index 83be12e4f4..e4821b987e 100644 --- a/src/Mod/Robot/Gui/TaskRobotMessages.ui +++ b/src/Mod/Robot/Gui/TaskRobotMessages.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Robot/Gui/TaskTrajectory.ui b/src/Mod/Robot/Gui/TaskTrajectory.ui index e1154e39dd..3085eacecf 100644 --- a/src/Mod/Robot/Gui/TaskTrajectory.ui +++ b/src/Mod/Robot/Gui/TaskTrajectory.ui @@ -17,7 +17,7 @@ - Form + Form diff --git a/src/Mod/Robot/Gui/TaskTrajectoryDressUpParameter.ui b/src/Mod/Robot/Gui/TaskTrajectoryDressUpParameter.ui index a3d3000514..3d13d3fb3e 100644 --- a/src/Mod/Robot/Gui/TaskTrajectoryDressUpParameter.ui +++ b/src/Mod/Robot/Gui/TaskTrajectoryDressUpParameter.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Robot/Gui/TaskWatcher.cpp b/src/Mod/Robot/Gui/TaskWatcher.cpp index b8a7e98d08..818cdd81a3 100644 --- a/src/Mod/Robot/Gui/TaskWatcher.cpp +++ b/src/Mod/Robot/Gui/TaskWatcher.cpp @@ -43,11 +43,6 @@ TaskWatcherRobot::TaskWatcherRobot() } -TaskWatcherRobot::~TaskWatcherRobot() -{ - -} - //==== calls from the TaskView =============================================================== bool TaskWatcherRobot::shouldShow() diff --git a/src/Mod/Robot/Gui/TaskWatcher.h b/src/Mod/Robot/Gui/TaskWatcher.h index 27a858d528..d94c003db3 100644 --- a/src/Mod/Robot/Gui/TaskWatcher.h +++ b/src/Mod/Robot/Gui/TaskWatcher.h @@ -40,7 +40,6 @@ class RobotGuiExport TaskWatcherRobot : public Gui::TaskView::TaskWatcher public: TaskWatcherRobot(); - ~TaskWatcherRobot() override; /// is called when the document or the selection changes. bool shouldShow() override; diff --git a/src/Mod/Robot/Gui/TrajectorySimulate.cpp b/src/Mod/Robot/Gui/TrajectorySimulate.cpp index 96fdef6b74..04ec504b3c 100644 --- a/src/Mod/Robot/Gui/TrajectorySimulate.cpp +++ b/src/Mod/Robot/Gui/TrajectorySimulate.cpp @@ -98,9 +98,7 @@ TrajectorySimulate::TrajectorySimulate(Robot::RobotObject *pcRobotObject,Robot:: setTo(); } -TrajectorySimulate::~TrajectorySimulate() -{ -} +TrajectorySimulate::~TrajectorySimulate() = default; void TrajectorySimulate::setTo() { diff --git a/src/Mod/Robot/Gui/ViewProviderRobotObject.cpp b/src/Mod/Robot/Gui/ViewProviderRobotObject.cpp index 5db94b8567..900e701f0a 100644 --- a/src/Mod/Robot/Gui/ViewProviderRobotObject.cpp +++ b/src/Mod/Robot/Gui/ViewProviderRobotObject.cpp @@ -49,7 +49,6 @@ using namespace RobotGui; PROPERTY_SOURCE(RobotGui::ViewProviderRobotObject, Gui::ViewProviderGeometryObject) ViewProviderRobotObject::ViewProviderRobotObject() - : pcDragger(nullptr),toolShape(nullptr) { ADD_PROPERTY(Manipulator,(0)); diff --git a/src/Mod/Robot/Gui/ViewProviderRobotObject.h b/src/Mod/Robot/Gui/ViewProviderRobotObject.h index d082463b99..fc8e294be9 100644 --- a/src/Mod/Robot/Gui/ViewProviderRobotObject.h +++ b/src/Mod/Robot/Gui/ViewProviderRobotObject.h @@ -75,10 +75,10 @@ protected: //SoTransform * pcTcpTransform; //SoTrackballDragger * pcDragger; - SoJackDragger * pcDragger; + SoJackDragger * pcDragger{nullptr}; // view provider of the toolshape if set - Gui::ViewProvider *toolShape; + Gui::ViewProvider *toolShape{nullptr}; // Pointers to the robot axis nodes in the VRML model SoVRMLTransform *Axis1Node; diff --git a/src/Mod/Robot/Gui/ViewProviderTrajectoryCompound.cpp b/src/Mod/Robot/Gui/ViewProviderTrajectoryCompound.cpp index 7e6be66a0d..6d041db056 100644 --- a/src/Mod/Robot/Gui/ViewProviderTrajectoryCompound.cpp +++ b/src/Mod/Robot/Gui/ViewProviderTrajectoryCompound.cpp @@ -60,5 +60,5 @@ void ViewProviderTrajectoryCompound::unsetEdit(int) std::vector ViewProviderTrajectoryCompound::claimChildren()const { - return std::vector(static_cast(getObject())->Source.getValues()); + return static_cast(getObject())->Source.getValues(); } diff --git a/src/Mod/Robot/Gui/Workbench.cpp b/src/Mod/Robot/Gui/Workbench.cpp index 042f5efe65..fa9aeed7aa 100644 --- a/src/Mod/Robot/Gui/Workbench.cpp +++ b/src/Mod/Robot/Gui/Workbench.cpp @@ -56,13 +56,9 @@ using namespace RobotGui; /// @namespace RobotGui @class Workbench TYPESYSTEM_SOURCE(RobotGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; void Workbench::activated() { diff --git a/src/Mod/Sketcher/App/Sketch.cpp b/src/Mod/Sketcher/App/Sketch.cpp index c4194e334c..43cfc2a038 100644 --- a/src/Mod/Sketcher/App/Sketch.cpp +++ b/src/Mod/Sketcher/App/Sketch.cpp @@ -101,14 +101,19 @@ void Sketch::clear() resolveAfterGeometryUpdated = false; // deleting the doubles allocated with new - for (std::vector::iterator it = Parameters.begin(); it != Parameters.end(); ++it) - if (*it) + for (std::vector::iterator it = Parameters.begin(); it != Parameters.end(); ++it) { + if (*it) { delete *it; + } + } Parameters.clear(); DrivenParameters.clear(); - for (std::vector::iterator it = FixParameters.begin(); it != FixParameters.end(); ++it) - if (*it) + for (std::vector::iterator it = FixParameters.begin(); it != FixParameters.end(); + ++it) { + if (*it) { delete *it; + } + } FixParameters.clear(); param2geoelement.clear(); @@ -118,9 +123,11 @@ void Sketch::clear() internalAlignmentGeometryMap.clear(); // deleting the geometry copied into this sketch - for (std::vector::iterator it = Geoms.begin(); it != Geoms.end(); ++it) - if (it->geo) + for (std::vector::iterator it = Geoms.begin(); it != Geoms.end(); ++it) { + if (it->geo) { delete it->geo; + } + } Geoms.clear(); // deleting the non-Driving constraints copied into this sketch @@ -158,12 +165,14 @@ bool Sketch::analyseBlockedGeometry(const std::vector& internal for (auto c : constraintList) { // is block driving - if (c->Type == Sketcher::Block && c->isDriving && c->First == geoindex) + if (c->Type == Sketcher::Block && c->isDriving && c->First == geoindex) { blockisDriving = true; + } // We have another driving constraint (which may be InternalAlignment) if (c->Type != Sketcher::Block && c->isDriving - && (c->First == geoindex || c->Second == geoindex || c->Third == geoindex)) + && (c->First == geoindex || c->Second == geoindex || c->Third == geoindex)) { blockOnly = false; + } } if (blockisDriving) { @@ -185,17 +194,20 @@ bool Sketch::analyseBlockedGeometry(const std::vector& internal } int Sketch::setUpSketch(const std::vector& GeoList, - const std::vector& ConstraintList, int extGeoCount) + const std::vector& ConstraintList, + int extGeoCount) { Base::TimeInfo start_time; clear(); std::vector intGeoList, extGeoList; - for (int i = 0; i < int(GeoList.size()) - extGeoCount; i++) + for (int i = 0; i < int(GeoList.size()) - extGeoCount; i++) { intGeoList.push_back(GeoList[i]); - for (int i = int(GeoList.size()) - extGeoCount; i < int(GeoList.size()); i++) + } + for (int i = int(GeoList.size()) - extGeoCount; i < int(GeoList.size()); i++) { extGeoList.push_back(GeoList[i]); + } // these geometries are blocked, frozen and sent as fixed parameters to the solver std::vector onlyBlockedGeometry(intGeoList.size(), false); @@ -214,8 +226,9 @@ int Sketch::setUpSketch(const std::vector& GeoList, analyseBlockedGeometry(intGeoList, ConstraintList, onlyBlockedGeometry, blockedGeoIds); #ifdef DEBUG_BLOCK_CONSTRAINT - if (doesBlockAffectOtherConstraints) + if (doesBlockAffectOtherConstraints) { Base::Console().Log("\n Block interferes with other constraints: Post-analysis required"); + } Base::Console().Log("\nOnlyBlocked GeoIds:"); size_t i = 0; @@ -226,15 +239,18 @@ int Sketch::setUpSketch(const std::vector& GeoList, found = true; } } - if (found) + if (found) { Base::Console().Log("\n None"); + } Base::Console().Log("\nNotOnlyBlocked GeoIds:"); i = 0; - for (; i < blockedGeoIds.size(); i++) + for (; i < blockedGeoIds.size(); i++) { Base::Console().Log("\n GeoId=%d", blockedGeoIds[i]); - if (i == 0) + } + if (i == 0) { Base::Console().Log("\n None"); + } Base::Console().Log("\n"); #endif// DEBUG_BLOCK_CONSTRAINT @@ -244,8 +260,9 @@ int Sketch::setUpSketch(const std::vector& GeoList, int extStart = Geoms.size(); addGeometry(extGeoList, true); int extEnd = Geoms.size() - 1; - for (int i = extStart; i <= extEnd; i++) + for (int i = extStart; i <= extEnd; i++) { Geoms[i].external = true; + } // The Geoms list might be empty after an undo/redo if (!Geoms.empty()) { @@ -301,12 +318,13 @@ int Sketch::setUpSketch(const std::vector& GeoList, // Debug code block for (size_t i = 0; i < groups.size(); i++) { Base::Console().Log("\nDepParams: Group %d:", i); - for (size_t j = 0; j < groups[i].size(); j++) + for (size_t j = 0; j < groups[i].size(); j++) { Base::Console().Log( "\n Param=%x ,GeoId=%d, GeoPos=%d", param2geoelement.find(*std::next(groups[i].begin(), j))->first, param2geoelement.find(*std::next(groups[i].begin(), j))->second.first, param2geoelement.find(*std::next(groups[i].begin(), j))->second.second); + } } } #endif// DEBUG_BLOCK_CONSTRAINT @@ -367,7 +385,8 @@ void Sketch::fixParametersAndDiagnose(std::vector& params_to_block) } bool Sketch::analyseBlockedConstraintDependentParameters( - std::vector& blockedGeoIds, std::vector& params_to_block) const + std::vector& blockedGeoIds, + std::vector& params_to_block) const { // 1. Retrieve solver information std::vector> groups; @@ -385,12 +404,13 @@ bool Sketch::analyseBlockedConstraintDependentParameters( #ifdef DEBUG_BLOCK_CONSTRAINT for (size_t i = 0; i < groups.size(); i++) { Base::Console().Log("\nDepParams: Group %d:", i); - for (size_t j = 0; j < groups[i].size(); j++) + for (size_t j = 0; j < groups[i].size(); j++) { Base::Console().Log( "\n Param=%x ,GeoId=%d, GeoPos=%d", param2geoelement.find(*std::next(groups[i].begin(), j))->first, param2geoelement.find(*std::next(groups[i].begin(), j))->second.first, param2geoelement.find(*std::next(groups[i].begin(), j))->second.second); + } } #endif// DEBUG_BLOCK_CONSTRAINT @@ -403,8 +423,9 @@ bool Sketch::analyseBlockedConstraintDependentParameters( if (element != param2geoelement.end()) { - auto blockable = std::find( - blockedGeoIds.begin(), blockedGeoIds.end(), std::get<0>(element->second)); + auto blockable = std::find(blockedGeoIds.begin(), + blockedGeoIds.end(), + std::get<0>(element->second)); if (blockable != blockedGeoIds.end()) { // This dependent parameter group contains at least one parameter that should be @@ -466,16 +487,19 @@ void Sketch::calculateDependentParametersElements() int i = 0; for (auto geo : Geoms) { - if (!geo.geo->hasExtension(Sketcher::SolverGeometryExtension::getClassTypeId())) + if (!geo.geo->hasExtension(Sketcher::SolverGeometryExtension::getClassTypeId())) { geo.geo->setExtension(std::make_unique()); + } auto solvext = std::static_pointer_cast( geo.geo->getExtension(Sketcher::SolverGeometryExtension::getClassTypeId()).lock()); - if (GCSsys.isEmptyDiagnoseMatrix()) + if (GCSsys.isEmptyDiagnoseMatrix()) { solvext->init(SolverGeometryExtension::Dependent); - else + } + else { solvext->init(SolverGeometryExtension::Independent); + } solverExtensions[i] = solvext; i++; @@ -501,22 +525,28 @@ void Sketch::calculateDependentParametersElements() solvext->setEdge(index, SolverGeometryExtension::Dependent); break; case PointPos::start: - if (index == 0) + if (index == 0) { solvext->setStartx(SolverGeometryExtension::Dependent); - else + } + else { solvext->setStarty(SolverGeometryExtension::Dependent); + } break; case PointPos::end: - if (index == 0) + if (index == 0) { solvext->setEndx(SolverGeometryExtension::Dependent); - else + } + else { solvext->setEndy(SolverGeometryExtension::Dependent); + } break; case PointPos::mid: - if (index == 0) + if (index == 0) { solvext->setMidx(SolverGeometryExtension::Dependent); - else + } + else { solvext->setMidy(SolverGeometryExtension::Dependent); + } break; } } @@ -546,12 +576,15 @@ void Sketch::calculateDependentParametersElements() std::set>::iterator begin2, std::set>::iterator end2) { while (begin1 != end1 && begin2 != end2) { - if (*begin1 < *begin2) + if (*begin1 < *begin2) { ++begin1; - else if (*begin2 < *begin1) + } + else if (*begin2 < *begin1) { ++begin2; - else + } + else { return true; + } } return false; @@ -595,8 +628,9 @@ std::set> Sketch::getDependencyGroup(int geoI std::shared_ptr Sketch::getSolverExtension(int geoId) const { - if (geoId >= 0 && geoId < int(solverExtensions.size())) + if (geoId >= 0 && geoId < int(solverExtensions.size())) { return solverExtensions[geoId]; + } return nullptr; } @@ -707,8 +741,9 @@ int Sketch::addGeometry(const Part::Geometry* geo, bool fixed) int Sketch::addGeometry(const std::vector& geo, bool fixed) { int ret = -1; - for (std::vector::const_iterator it = geo.begin(); it != geo.end(); ++it) + for (std::vector::const_iterator it = geo.begin(); it != geo.end(); ++it) { ret = addGeometry(*it, fixed); + } return ret; } @@ -723,8 +758,9 @@ int Sketch::addGeometry(const std::vector& geo, for (it = geo.begin(), bit = blockedGeometry.begin(); it != geo.end() && bit != blockedGeometry.end(); - ++it, ++bit) + ++it, ++bit) { ret = addGeometry(*it, *bit); + } return ret; } @@ -907,8 +943,9 @@ int Sketch::addArc(const Part::GeomArcOfCircle& circleSegment, bool fixed) Geoms.push_back(def); // arcs require an ArcRules constraint for the end points - if (!fixed) + if (!fixed) { GCSsys.addConstraintArcRules(a); + } if (!fixed) { param2geoelement.emplace( @@ -1034,8 +1071,9 @@ int Sketch::addArcOfEllipse(const Part::GeomArcOfEllipse& ellipseSegment, bool f Geoms.push_back(def); // arcs require an ArcRules constraint for the end points - if (!fixed) + if (!fixed) { GCSsys.addConstraintArcOfEllipseRules(a); + } if (!fixed) { param2geoelement.emplace( @@ -1167,8 +1205,9 @@ int Sketch::addArcOfHyperbola(const Part::GeomArcOfHyperbola& hyperbolaSegment, Geoms.push_back(def); // arcs require an ArcRules constraint for the end points - if (!fixed) + if (!fixed) { GCSsys.addConstraintArcOfHyperbolaRules(a); + } if (!fixed) { param2geoelement.emplace( @@ -1291,8 +1330,9 @@ int Sketch::addArcOfParabola(const Part::GeomArcOfParabola& parabolaSegment, boo Geoms.push_back(def); // arcs require an ArcRules constraint for the end points - if (!fixed) + if (!fixed) { GCSsys.addConstraintArcOfParabolaRules(a); + } if (!fixed) { param2geoelement.emplace( @@ -1382,8 +1422,9 @@ int Sketch::addBSpline(const Part::GeomBSplineCurve& bspline, bool fixed) } } - if (countones == 1) + if (countones == 1) { weights[lastoneindex] = (lastnotone * 0.99); + } // end hack @@ -1503,10 +1544,12 @@ int Sketch::addBSpline(const Part::GeomBSplineCurve& bspline, bool fixed) // movable anyway. See #issue 0003176: Sketcher: always over-constrained when referencing // external B-Spline if (!fixed && !bs.periodic) { - if (bs.mult[0] > bs.degree) + if (bs.mult[0] > bs.degree) { GCSsys.addConstraintP2PCoincident(*(bs.poles.begin()), bs.start); - if (bs.mult[mult.size() - 1] > bs.degree) + } + if (bs.mult[mult.size() - 1] > bs.degree) { GCSsys.addConstraintP2PCoincident(*(bs.poles.end() - 1), bs.end); + } } if (!fixed) { @@ -1680,8 +1723,9 @@ std::vector Sketch::extractGeometry(bool withConstructionElemen for (std::vector::const_iterator it = Geoms.begin(); it != Geoms.end(); ++it) { auto gf = GeometryFacade::getFacade(it->geo); if ((!it->external || withExternalElements) - && (!gf->getConstruction() || withConstructionElements)) + && (!gf->getConstruction() || withConstructionElements)) { temp.push_back(it->geo->clone()); + } } return temp; @@ -1695,8 +1739,9 @@ GeoListFacade Sketch::extractGeoListFacade() const for (std::vector::const_iterator it = Geoms.begin(); it != Geoms.end(); ++it) { // GeometryFacade is the owner of this allocation auto gf = GeometryFacade::getFacade(it->geo->clone(), true); - if (!it->external) + if (!it->external) { internalGeometryCount++; + } temp.push_back(std::move(gf)); } @@ -1761,10 +1806,12 @@ Py::Tuple Sketch::getPyGeometry() const int Sketch::checkGeoId(int geoId) const { - if (geoId < 0) + if (geoId < 0) { geoId += Geoms.size();// convert negative external-geometry index to index into Geoms - if (!(geoId >= 0 && geoId < int(Geoms.size()))) + } + if (!(geoId >= 0 && geoId < int(Geoms.size()))) { throw Base::IndexError("Sketch::checkGeoId. GeoId index out range."); + } return geoId; } @@ -1812,9 +1859,10 @@ const GCS::Curve* Sketch::getGCSCurveByGeoId(int geoId) const int Sketch::addConstraint(const Constraint* constraint) { - if (Geoms.empty()) + if (Geoms.empty()) { throw Base::ValueError( "Sketch::addConstraint. Can't add constraint to a sketch with no geometry!"); + } int rtn = -1; ConstrDef c; @@ -1825,8 +1873,9 @@ int Sketch::addConstraint(const Constraint* constraint) case DistanceX: if (constraint->FirstPos == PointPos::none) {// horizontal length of a line c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -1836,20 +1885,24 @@ int Sketch::addConstraint(const Constraint* constraint) } else if (constraint->Second == GeoEnum::GeoUndef) {// point on fixed x-coordinate c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); } - rtn = addCoordinateXConstraint( - constraint->First, constraint->FirstPos, c.value, c.driving); + rtn = addCoordinateXConstraint(constraint->First, + constraint->FirstPos, + c.value, + c.driving); } else if (constraint->SecondPos != PointPos::none) {// point to point horizontal distance c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -1866,8 +1919,9 @@ int Sketch::addConstraint(const Constraint* constraint) case DistanceY: if (constraint->FirstPos == PointPos::none) {// vertical length of a line c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -1877,20 +1931,24 @@ int Sketch::addConstraint(const Constraint* constraint) } else if (constraint->Second == GeoEnum::GeoUndef) {// point on fixed y-coordinate c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); } - rtn = addCoordinateYConstraint( - constraint->First, constraint->FirstPos, c.value, c.driving); + rtn = addCoordinateYConstraint(constraint->First, + constraint->FirstPos, + c.value, + c.driving); } else if (constraint->SecondPos != PointPos::none) {// point to point vertical distance c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -1905,26 +1963,32 @@ int Sketch::addConstraint(const Constraint* constraint) } break; case Horizontal: - if (constraint->Second == GeoEnum::GeoUndef)// horizontal line + if (constraint->Second == GeoEnum::GeoUndef) {// horizontal line rtn = addHorizontalConstraint(constraint->First); - else// two points on the same horizontal line + } + else {// two points on the same horizontal line rtn = addHorizontalConstraint(constraint->First, constraint->FirstPos, constraint->Second, constraint->SecondPos); + } break; case Vertical: - if (constraint->Second == GeoEnum::GeoUndef)// vertical line + if (constraint->Second == GeoEnum::GeoUndef) {// vertical line rtn = addVerticalConstraint(constraint->First); - else// two points on the same vertical line + } + else {// two points on the same vertical line rtn = addVerticalConstraint(constraint->First, constraint->FirstPos, constraint->Second, constraint->SecondPos); + } break; case Coincident: - rtn = addPointCoincidentConstraint( - constraint->First, constraint->FirstPos, constraint->Second, constraint->SecondPos); + rtn = addPointCoincidentConstraint(constraint->First, + constraint->FirstPos, + constraint->Second, + constraint->SecondPos); break; case PointOnObject: if (Geoms[checkGeoId(constraint->Second)].type == BSpline) { @@ -1932,12 +1996,16 @@ int Sketch::addConstraint(const Constraint* constraint) // Driving doesn't make sense here Parameters.push_back(c.value); - rtn = addPointOnObjectConstraint( - constraint->First, constraint->FirstPos, constraint->Second, c.value); + rtn = addPointOnObjectConstraint(constraint->First, + constraint->FirstPos, + constraint->Second, + c.value); + } + else { + rtn = addPointOnObjectConstraint(constraint->First, + constraint->FirstPos, + constraint->Second); } - else - rtn = addPointOnObjectConstraint( - constraint->First, constraint->FirstPos, constraint->Second); break; case Parallel: rtn = addParallelConstraint(constraint->First, constraint->Second); @@ -1951,8 +2019,9 @@ int Sketch::addConstraint(const Constraint* constraint) else { // any other point-wise perpendicularity c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -1995,15 +2064,19 @@ int Sketch::addConstraint(const Constraint* constraint) if (Geoms[linegeoid].type == Line) { if (constraint->SecondPos == PointPos::none) { - rtn = addTangentLineAtBSplineKnotConstraint( - linegeoid, bsplinegeoid, knotgeoId); + rtn = addTangentLineAtBSplineKnotConstraint(linegeoid, + bsplinegeoid, + knotgeoId); isSpecialCase = true; } else if (constraint->SecondPos == PointPos::start || constraint->SecondPos == PointPos::end) { rtn = addTangentLineEndpointAtBSplineKnotConstraint( - linegeoid, constraint->SecondPos, bsplinegeoid, knotgeoId); + linegeoid, + constraint->SecondPos, + bsplinegeoid, + knotgeoId); isSpecialCase = true; } @@ -2015,8 +2088,9 @@ int Sketch::addConstraint(const Constraint* constraint) // any other point-wise tangency (endpoint-to-curve, endpoint-to-endpoint, // tangent-via-point) c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2037,8 +2111,9 @@ int Sketch::addConstraint(const Constraint* constraint) case Distance: if (constraint->SecondPos != PointPos::none) {// point to point distance c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2057,20 +2132,24 @@ int Sketch::addConstraint(const Constraint* constraint) == GeoEnum::GeoUndef) {// circle to circle, circle to arc, etc. c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); } - rtn = addDistanceConstraint( - constraint->First, constraint->Second, c.value, c.driving); + rtn = addDistanceConstraint(constraint->First, + constraint->Second, + c.value, + c.driving); } else if (constraint->Second != GeoEnum::GeoUndef) { if (constraint->FirstPos != PointPos::none) {// point to line distance c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2084,8 +2163,9 @@ int Sketch::addConstraint(const Constraint* constraint) } else {// line length c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2097,8 +2177,9 @@ int Sketch::addConstraint(const Constraint* constraint) case Angle: if (constraint->Third != GeoEnum::GeoUndef) { c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2117,8 +2198,9 @@ int Sketch::addConstraint(const Constraint* constraint) // angle between two lines (with explicit start points) else if (constraint->SecondPos != PointPos::none) { c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2133,8 +2215,9 @@ int Sketch::addConstraint(const Constraint* constraint) } else if (constraint->Second != GeoEnum::GeoUndef) {// angle between two lines c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2144,8 +2227,9 @@ int Sketch::addConstraint(const Constraint* constraint) } else if (constraint->First != GeoEnum::GeoUndef) {// orientation angle of a line c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2156,8 +2240,9 @@ int Sketch::addConstraint(const Constraint* constraint) break; case Radius: { c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2168,8 +2253,9 @@ int Sketch::addConstraint(const Constraint* constraint) } case Diameter: { c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2180,8 +2266,9 @@ int Sketch::addConstraint(const Constraint* constraint) } case Weight: { c.value = new double(constraint->getValue()); - if (c.driving) + if (c.driving) { FixParameters.push_back(c.value); + } else { Parameters.push_back(c.value); DrivenParameters.push_back(c.value); @@ -2194,19 +2281,21 @@ int Sketch::addConstraint(const Constraint* constraint) rtn = addEqualConstraint(constraint->First, constraint->Second); break; case Symmetric: - if (constraint->ThirdPos != PointPos::none) + if (constraint->ThirdPos != PointPos::none) { rtn = addSymmetricConstraint(constraint->First, constraint->FirstPos, constraint->Second, constraint->SecondPos, constraint->Third, constraint->ThirdPos); - else + } + else { rtn = addSymmetricConstraint(constraint->First, constraint->FirstPos, constraint->Second, constraint->SecondPos, constraint->Third); + } break; case InternalAlignment: switch (constraint->AlignmentType) { @@ -2239,12 +2328,15 @@ int Sketch::addConstraint(const Constraint* constraint) rtn = addInternalAlignmentParabolaFocus(constraint->First, constraint->Second); break; case BSplineControlPoint: - rtn = addInternalAlignmentBSplineControlPoint( - constraint->First, constraint->Second, constraint->InternalAlignmentIndex); + rtn = + addInternalAlignmentBSplineControlPoint(constraint->First, + constraint->Second, + constraint->InternalAlignmentIndex); break; case BSplineKnotPoint: - rtn = addInternalAlignmentKnotPoint( - constraint->First, constraint->Second, constraint->InternalAlignmentIndex); + rtn = addInternalAlignmentKnotPoint(constraint->First, + constraint->Second, + constraint->InternalAlignmentIndex); break; case ParabolaFocalAxis: rtn = addInternalAlignmentParabolaFocalDistance(constraint->First, @@ -2502,8 +2594,9 @@ int Sketch::addDistanceXConstraint(int geoId, double* value, bool driving) { geoId = checkGeoId(geoId); - if (Geoms[geoId].type != Line) + if (Geoms[geoId].type != Line) { return -1; + } GCS::Line& l = Lines[Geoms[geoId].index]; @@ -2516,8 +2609,9 @@ int Sketch::addDistanceYConstraint(int geoId, double* value, bool driving) { geoId = checkGeoId(geoId); - if (Geoms[geoId].type != Line) + if (Geoms[geoId].type != Line) { return -1; + } GCS::Line& l = Lines[Geoms[geoId].index]; @@ -2526,8 +2620,12 @@ int Sketch::addDistanceYConstraint(int geoId, double* value, bool driving) return ConstraintsCounter; } -int Sketch::addDistanceXConstraint(int geoId1, PointPos pos1, int geoId2, PointPos pos2, - double* value, bool driving) +int Sketch::addDistanceXConstraint(int geoId1, + PointPos pos1, + int geoId2, + PointPos pos2, + double* value, + bool driving) { geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); @@ -2547,8 +2645,12 @@ int Sketch::addDistanceXConstraint(int geoId1, PointPos pos1, int geoId2, PointP return -1; } -int Sketch::addDistanceYConstraint(int geoId1, PointPos pos1, int geoId2, PointPos pos2, - double* value, bool driving) +int Sketch::addDistanceYConstraint(int geoId1, + PointPos pos1, + int geoId2, + PointPos pos2, + double* value, + bool driving) { geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); @@ -2573,8 +2675,9 @@ int Sketch::addHorizontalConstraint(int geoId) { geoId = checkGeoId(geoId); - if (Geoms[geoId].type != Line) + if (Geoms[geoId].type != Line) { return -1; + } GCS::Line& l = Lines[Geoms[geoId].index]; int tag = ++ConstraintsCounter; @@ -2607,8 +2710,9 @@ int Sketch::addVerticalConstraint(int geoId) { geoId = checkGeoId(geoId); - if (Geoms[geoId].type != Line) + if (Geoms[geoId].type != Line) { return -1; + } GCS::Line& l = Lines[Geoms[geoId].index]; int tag = ++ConstraintsCounter; @@ -2660,8 +2764,9 @@ int Sketch::addParallelConstraint(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != Line || Geoms[geoId2].type != Line) + if (Geoms[geoId1].type != Line || Geoms[geoId2].type != Line) { return -1; + } GCS::Line& l1 = Lines[Geoms[geoId1].index]; GCS::Line& l2 = Lines[Geoms[geoId2].index]; @@ -2688,8 +2793,9 @@ int Sketch::addPerpendicularConstraint(int geoId1, int geoId2) GCSsys.addConstraintPerpendicular(l1, l2, tag); return ConstraintsCounter; } - else + else { std::swap(geoId1, geoId2); + } } if (Geoms[geoId1].type == Line) { @@ -2730,8 +2836,9 @@ int Sketch::addTangentConstraint(int geoId1, int geoId2) GCSsys.addConstraintPointOnLine(l2p2, l1, tag); return ConstraintsCounter; } - else + else { std::swap(geoId1, geoId2); + } } if (Geoms[geoId1].type == Line) { @@ -2817,7 +2924,8 @@ int Sketch::addTangentConstraint(int geoId1, int geoId2) return -1; } -int Sketch::addTangentLineAtBSplineKnotConstraint(int checkedlinegeoId, int checkedbsplinegeoId, +int Sketch::addTangentLineAtBSplineKnotConstraint(int checkedlinegeoId, + int checkedbsplinegeoId, int checkedknotgeoid) { GCS::BSpline& b = BSplines[Geoms[checkedbsplinegeoId].index]; @@ -2922,8 +3030,14 @@ int Sketch::addTangentLineEndpointAtBSplineKnotConstraint(int checkedlinegeoId, // geoid1, geoid2 and geoid3 as in the constraint object. // For perp-ty and tangency, angle is used to lock the direction. // angle==0 - autodetect direction. +pi/2, -pi/2 - specific direction. -int Sketch::addAngleAtPointConstraint(int geoId1, PointPos pos1, int geoId2, PointPos pos2, - int geoId3, PointPos pos3, double* value, ConstraintType cTyp, +int Sketch::addAngleAtPointConstraint(int geoId1, + PointPos pos1, + int geoId2, + PointPos pos2, + int geoId3, + PointPos pos3, + double* value, + ConstraintType cTyp, bool driving) { @@ -2943,8 +3057,9 @@ int Sketch::addAngleAtPointConstraint(int geoId1, PointPos pos1, int geoId2, Poi geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (avp) + if (avp) { geoId3 = checkGeoId(geoId3); + } if (Geoms[geoId1].type == Point || Geoms[geoId2].type == Point) { Base::Console().Error("addAngleAtPointConstraint: one of the curves is a point!\n"); @@ -2959,10 +3074,12 @@ int Sketch::addAngleAtPointConstraint(int geoId1, PointPos pos1, int geoId2, Poi } int pointId = -1; - if (avp) + if (avp) { pointId = getPointId(geoId3, pos3); - else if (e2e || e2c) + } + else if (e2e || e2c) { pointId = getPointId(geoId1, pos1); + } if (pointId < 0 || pointId >= int(Points.size())) { Base::Console().Error("addAngleAtPointConstraint: point index out of range.\n"); @@ -3007,19 +3124,23 @@ int Sketch::addAngleAtPointConstraint(int geoId1, PointPos pos1, int geoId2, Poi if (*value == 0.0) {// autodetect tangency internal/external (and same for perpendicularity) double angleErr = GCSsys.calculateAngleViaPoint(*crv1, *crv2, p) - angleDesire; // bring angleErr to -pi..pi - if (angleErr > M_PI) + if (angleErr > M_PI) { angleErr -= M_PI * 2; - if (angleErr < -M_PI) + } + if (angleErr < -M_PI) { angleErr += M_PI * 2; + } // the autodetector - if (fabs(angleErr) > M_PI / 2) + if (fabs(angleErr) > M_PI / 2) { angleDesire += M_PI; + } *angle = angleDesire; } - else + else { *angle = *value - angleOffset; + } } int tag = -1; @@ -3044,8 +3165,9 @@ int Sketch::addDistanceConstraint(int geoId, double* value, bool driving) { geoId = checkGeoId(geoId); - if (Geoms[geoId].type != Line) + if (Geoms[geoId].type != Line) { return -1; + } GCS::Line& l = Lines[Geoms[geoId].index]; @@ -3055,31 +3177,47 @@ int Sketch::addDistanceConstraint(int geoId, double* value, bool driving) } // point to line distance constraint -int Sketch::addDistanceConstraint(int geoId1, PointPos pos1, int geoId2, double* value, +int Sketch::addDistanceConstraint(int geoId1, + PointPos pos1, + int geoId2, + double* value, bool driving) { geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); int pointId1 = getPointId(geoId1, pos1); - - if (Geoms[geoId2].type != Line) + if (pointId1 < 0 && pointId1 >= int(Points.size())) { return -1; + } + GCS::Point& p1 = Points[pointId1]; - if (pointId1 >= 0 && pointId1 < int(Points.size())) { - GCS::Point& p1 = Points[pointId1]; + if (Geoms[geoId2].type == Line) { GCS::Line& l2 = Lines[Geoms[geoId2].index]; int tag = ++ConstraintsCounter; GCSsys.addConstraintP2LDistance(p1, l2, value, tag, driving); return ConstraintsCounter; } - return -1; + else if (Geoms[geoId2].type == Circle) { + GCS::Circle& c2 = Circles[Geoms[geoId2].index]; + + int tag = ++ConstraintsCounter; + GCSsys.addConstraintP2CDistance(p1, c2, value, tag, driving); + return ConstraintsCounter; + } + else { + return -1; + } } // point to point distance constraint -int Sketch::addDistanceConstraint(int geoId1, PointPos pos1, int geoId2, PointPos pos2, - double* value, bool driving) +int Sketch::addDistanceConstraint(int geoId1, + PointPos pos1, + int geoId2, + PointPos pos2, + double* value, + bool driving) { geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); @@ -3191,8 +3329,9 @@ int Sketch::addAngleConstraint(int geoId1, int geoId2, double* value, bool drivi geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != Line || Geoms[geoId2].type != Line) + if (Geoms[geoId1].type != Line || Geoms[geoId2].type != Line) { return -1; + } GCS::Line& l1 = Lines[Geoms[geoId1].index]; GCS::Line& l2 = Lines[Geoms[geoId2].index]; @@ -3203,14 +3342,19 @@ int Sketch::addAngleConstraint(int geoId1, int geoId2, double* value, bool drivi } // line to line angle constraint (with explicitly given start points) -int Sketch::addAngleConstraint(int geoId1, PointPos pos1, int geoId2, PointPos pos2, double* value, +int Sketch::addAngleConstraint(int geoId1, + PointPos pos1, + int geoId2, + PointPos pos2, + double* value, bool driving) { geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != Line || Geoms[geoId2].type != Line) + if (Geoms[geoId1].type != Line || Geoms[geoId2].type != Line) { return -1; + } GCS::Point *l1p1 = nullptr, *l1p2 = nullptr; if (pos1 == PointPos::start) { @@ -3232,8 +3376,9 @@ int Sketch::addAngleConstraint(int geoId1, PointPos pos1, int geoId2, PointPos p l2p2 = &Points[Geoms[geoId2].startPointId]; } - if (!l1p1 || !l2p1) + if (!l1p1 || !l2p1) { return -1; + } int tag = ++ConstraintsCounter; GCSsys.addConstraintL2LAngle(*l1p1, *l1p2, *l2p1, *l2p2, value, tag, driving); @@ -3263,8 +3408,9 @@ int Sketch::addEqualConstraint(int geoId1, int geoId2) GCSsys.addConstraintEqualRadius(c1, c2, tag); return ConstraintsCounter; } - else + else { std::swap(geoId1, geoId2); + } } if (Geoms[geoId2].type == Ellipse) { @@ -3275,8 +3421,9 @@ int Sketch::addEqualConstraint(int geoId1, int geoId2) GCSsys.addConstraintEqualRadii(e1, e2, tag); return ConstraintsCounter; } - else + else { std::swap(geoId1, geoId2); + } } if (Geoms[geoId1].type == Circle) { @@ -3400,7 +3547,10 @@ int Sketch::addPointOnObjectConstraint(int geoId1, PointPos pos1, int geoId2, bo return -1; } -int Sketch::addPointOnObjectConstraint(int geoId1, PointPos pos1, int geoId2, double* pointparam, +int Sketch::addPointOnObjectConstraint(int geoId1, + PointPos pos1, + int geoId2, + double* pointparam, bool driving) { geoId1 = checkGeoId(geoId1); @@ -3433,8 +3583,9 @@ int Sketch::addSymmetricConstraint(int geoId1, PointPos pos1, int geoId2, PointP geoId2 = checkGeoId(geoId2); geoId3 = checkGeoId(geoId3); - if (Geoms[geoId3].type != Line) + if (Geoms[geoId3].type != Line) { return -1; + } int pointId1 = getPointId(geoId1, pos1); int pointId2 = getPointId(geoId2, pos2); @@ -3451,7 +3602,11 @@ int Sketch::addSymmetricConstraint(int geoId1, PointPos pos1, int geoId2, PointP return -1; } -int Sketch::addSymmetricConstraint(int geoId1, PointPos pos1, int geoId2, PointPos pos2, int geoId3, +int Sketch::addSymmetricConstraint(int geoId1, + PointPos pos1, + int geoId2, + PointPos pos2, + int geoId3, PointPos pos3) { geoId1 = checkGeoId(geoId1); @@ -3474,8 +3629,14 @@ int Sketch::addSymmetricConstraint(int geoId1, PointPos pos1, int geoId2, PointP return -1; } -int Sketch::addSnellsLawConstraint(int geoIdRay1, PointPos posRay1, int geoIdRay2, PointPos posRay2, - int geoIdBnd, double* value, double* secondvalue, bool driving) +int Sketch::addSnellsLawConstraint(int geoIdRay1, + PointPos posRay1, + int geoIdRay2, + PointPos posRay2, + int geoIdBnd, + double* value, + double* secondvalue, + bool driving) { geoIdRay1 = checkGeoId(geoIdRay1); @@ -3546,10 +3707,12 @@ int Sketch::addInternalAlignmentEllipseMajorDiameter(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != Ellipse && Geoms[geoId1].type != ArcOfEllipse) + if (Geoms[geoId1].type != Ellipse && Geoms[geoId1].type != ArcOfEllipse) { return -1; - if (Geoms[geoId2].type != Line) + } + if (Geoms[geoId2].type != Line) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); int pointId2 = getPointId(geoId2, PointPos::end); @@ -3587,10 +3750,12 @@ int Sketch::addInternalAlignmentEllipseMinorDiameter(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != Ellipse && Geoms[geoId1].type != ArcOfEllipse) + if (Geoms[geoId1].type != Ellipse && Geoms[geoId1].type != ArcOfEllipse) { return -1; - if (Geoms[geoId2].type != Line) + } + if (Geoms[geoId2].type != Line) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); int pointId2 = getPointId(geoId2, PointPos::end); @@ -3628,10 +3793,12 @@ int Sketch::addInternalAlignmentEllipseFocus1(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != Ellipse && Geoms[geoId1].type != ArcOfEllipse) + if (Geoms[geoId1].type != Ellipse && Geoms[geoId1].type != ArcOfEllipse) { return -1; - if (Geoms[geoId2].type != Point) + } + if (Geoms[geoId2].type != Point) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); @@ -3667,10 +3834,12 @@ int Sketch::addInternalAlignmentEllipseFocus2(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != Ellipse && Geoms[geoId1].type != ArcOfEllipse) + if (Geoms[geoId1].type != Ellipse && Geoms[geoId1].type != ArcOfEllipse) { return -1; - if (Geoms[geoId2].type != Point) + } + if (Geoms[geoId2].type != Point) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); @@ -3706,10 +3875,12 @@ int Sketch::addInternalAlignmentHyperbolaMajorDiameter(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != ArcOfHyperbola) + if (Geoms[geoId1].type != ArcOfHyperbola) { return -1; - if (Geoms[geoId2].type != Line) + } + if (Geoms[geoId2].type != Line) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); int pointId2 = getPointId(geoId2, PointPos::end); @@ -3737,10 +3908,12 @@ int Sketch::addInternalAlignmentHyperbolaMinorDiameter(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != ArcOfHyperbola) + if (Geoms[geoId1].type != ArcOfHyperbola) { return -1; - if (Geoms[geoId2].type != Line) + } + if (Geoms[geoId2].type != Line) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); int pointId2 = getPointId(geoId2, PointPos::end); @@ -3768,10 +3941,12 @@ int Sketch::addInternalAlignmentHyperbolaFocus(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != ArcOfHyperbola) + if (Geoms[geoId1].type != ArcOfHyperbola) { return -1; - if (Geoms[geoId2].type != Point) + } + if (Geoms[geoId2].type != Point) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); @@ -3794,10 +3969,12 @@ int Sketch::addInternalAlignmentParabolaFocus(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != ArcOfParabola) + if (Geoms[geoId1].type != ArcOfParabola) { return -1; - if (Geoms[geoId2].type != Point) + } + if (Geoms[geoId2].type != Point) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); @@ -3820,10 +3997,12 @@ int Sketch::addInternalAlignmentParabolaFocalDistance(int geoId1, int geoId2) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != ArcOfParabola) + if (Geoms[geoId1].type != ArcOfParabola) { return -1; - if (Geoms[geoId2].type != Line) + } + if (Geoms[geoId2].type != Line) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); int pointId2 = getPointId(geoId2, PointPos::end); @@ -3858,10 +4037,12 @@ int Sketch::addInternalAlignmentBSplineControlPoint(int geoId1, int geoId2, int geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != BSpline) + if (Geoms[geoId1].type != BSpline) { return -1; - if (Geoms[geoId2].type != Circle) + } + if (Geoms[geoId2].type != Circle) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::mid); @@ -3886,10 +4067,12 @@ int Sketch::addInternalAlignmentKnotPoint(int geoId1, int geoId2, int knotindex) geoId1 = checkGeoId(geoId1); geoId2 = checkGeoId(geoId2); - if (Geoms[geoId1].type != BSpline) + if (Geoms[geoId1].type != BSpline) { return -1; - if (Geoms[geoId2].type != Point) + } + if (Geoms[geoId2].type != Point) { return -1; + } int pointId1 = getPointId(geoId2, PointPos::start); @@ -4156,10 +4339,12 @@ bool Sketch::updateNonDrivingConstraints() auto pos = std::find(FixParameters.begin(), FixParameters.end(), rad); - if (pos != FixParameters.end()) + if (pos != FixParameters.end()) { (*it).constr->setValue(*((*it).value)); - else + } + else { (*it).constr->setValue(2.0 * *((*it).value)); + } } else { (*it).constr->setValue(*((*it).value)); @@ -4279,8 +4464,9 @@ int Sketch::internalSolve(std::string& solvername, int level) it != Parameters.end(); ++it, i++) { InitParameters[i] = **it; - GCSsys.addConstraintEqual( - *it, &InitParameters[i], GCS::DefaultTemporaryConstraint); + GCSsys.addConstraintEqual(*it, + &InitParameters[i], + GCS::DefaultTemporaryConstraint); } GCSsys.initSolution(); ret = GCSsys.solve(isFine); @@ -4311,19 +4497,23 @@ int Sketch::internalSolve(std::string& solvername, int level) } } - if (soltype == 3)// cleanup temporary constraints of the augmented system + if (soltype == 3) {// cleanup temporary constraints of the augmented system clearTemporaryConstraints(); + } if (valid_solution) { - if (soltype == 1) + if (soltype == 1) { Base::Console().Log("Important: the LevenbergMarquardt solver succeeded where " "the DogLeg solver had failed.\n"); - else if (soltype == 2) + } + else if (soltype == 2) { Base::Console().Log("Important: the BFGS solver succeeded where the DogLeg and " "LevenbergMarquardt solvers have failed.\n"); - else if (soltype == 3) + } + else if (soltype == 3) { Base::Console().Log("Important: the SQP solver succeeded where all single " "subsystem solvers have failed.\n"); + } if (soltype > 0) { Base::Console().Log("If you see this message please report a way of " @@ -4651,7 +4841,9 @@ void Sketch::resetInitMove() isInitMove = false; } -int Sketch::initBSplinePieceMove(int geoId, PointPos pos, const Base::Vector3d& firstPoint, +int Sketch::initBSplinePieceMove(int geoId, + PointPos pos, + const Base::Vector3d& firstPoint, bool fine) { isFine = fine; @@ -4674,8 +4866,9 @@ int Sketch::initBSplinePieceMove(int geoId, PointPos pos, const Base::Vector3d& GCS::BSpline& bsp = BSplines[Geoms[geoId].index]; // If spline has too few poles, just move all - if (bsp.poles.size() <= std::size_t(bsp.degree + 1)) + if (bsp.poles.size() <= std::size_t(bsp.degree + 1)) { return initMove(geoId, pos, fine); + } // Find the closest knot auto partBsp = static_cast(Geoms[geoId].geo); @@ -4690,8 +4883,9 @@ int Sketch::initBSplinePieceMove(int geoId, PointPos pos, const Base::Vector3d& size_t idx = 0; // skipping the first knot for adjustment // TODO: ensure this works for periodic as well - for (size_t i = 1; i < bsp.mult.size() && knots[i] != *upperknot; ++i) + for (size_t i = 1; i < bsp.mult.size() && knots[i] != *upperknot; ++i) { idx += bsp.mult[i]; + } MoveParameters.resize(2 * (bsp.degree + 1));// x[idx],y[idx],x[idx+1],y[idx+1],... @@ -4721,8 +4915,9 @@ int Sketch::movePoint(int geoId, PointPos pos, Base::Vector3d toPoint, bool rela geoId = checkGeoId(geoId); // don't try to move sketches that contain conflicting constraints - if (hasConflicts()) + if (hasConflicts()) { return -1; + } if (!isInitMove) { initMove(geoId, pos); @@ -4846,8 +5041,9 @@ int Sketch::setDatum(int /*constrId*/, double /*value*/) int Sketch::getPointId(int geoId, PointPos pos) const { // do a range check first - if (geoId < 0 || geoId >= (int)Geoms.size()) + if (geoId < 0 || geoId >= (int)Geoms.size()) { return -1; + } switch (pos) { case PointPos::start: return Geoms[geoId].startPointId; @@ -4865,8 +5061,9 @@ Base::Vector3d Sketch::getPoint(int geoId, PointPos pos) const { geoId = checkGeoId(geoId); int pointId = getPointId(geoId, pos); - if (pointId != -1) + if (pointId != -1) { return Base::Vector3d(*Points[pointId].x, *Points[pointId].y, 0); + } return Base::Vector3d(); } @@ -4904,11 +5101,13 @@ TopoShape Sketch::toShape() const if (it->type != Point) { auto shape = it->geo->toShape(); - if (!shape.IsNull()) + if (!shape.IsNull()) { edge_list.push_back(TopoDS::Edge(shape)); + } } - else + else { vertex_list.push_back(TopoDS::Vertex(it->geo->toShape())); + } } } @@ -4967,11 +5166,13 @@ TopoShape Sketch::toShape() const BRep_Builder builder; TopoDS_Compound comp; builder.MakeCompound(comp); - for (std::list::iterator wt = wires.begin(); wt != wires.end(); ++wt) + for (std::list::iterator wt = wires.begin(); wt != wires.end(); ++wt) { builder.Add(comp, *wt); + } for (std::list::iterator wt = vertex_list.begin(); wt != vertex_list.end(); - ++wt) + ++wt) { builder.Add(comp, *wt); + } result.setShape(comp); } #endif diff --git a/src/Mod/Sketcher/App/planegcs/Constraints.cpp b/src/Mod/Sketcher/App/planegcs/Constraints.cpp index b56e19d1c7..1f1833c4d2 100644 --- a/src/Mod/Sketcher/App/planegcs/Constraints.cpp +++ b/src/Mod/Sketcher/App/planegcs/Constraints.cpp @@ -40,13 +40,13 @@ namespace GCS /////////////////////////////////////// Constraint::Constraint() - : origpvec(0), - pvec(0), - scale(1.), - tag(0), - pvecChangedFlag(true), - driving(true), - internalAlignment(Alignment::NoInternalAlignment) + : origpvec(0) + , pvec(0) + , scale(1.) + , tag(0) + , pvecChangedFlag(true) + , driving(true) + , internalAlignment(Alignment::NoInternalAlignment) {} void Constraint::redirectParams(const MAP_pD_pD& redirectionmap) @@ -54,8 +54,9 @@ void Constraint::redirectParams(const MAP_pD_pD& redirectionmap) int i = 0; for (VEC_pD::iterator param = origpvec.begin(); param != origpvec.end(); ++param, i++) { MAP_pD_pD::const_iterator it = redirectionmap.find(*param); - if (it != redirectionmap.end()) + if (it != redirectionmap.end()) { pvec[i] = it->second; + } } pvecChangedFlag = true; } @@ -133,10 +134,12 @@ double ConstraintEqual::error() double ConstraintEqual::grad(double* param) { double deriv = 0.; - if (param == param1()) + if (param == param1()) { deriv += 1; - if (param == param2()) + } + if (param == param2()) { deriv += -1; + } return scale * deriv; } @@ -144,10 +147,11 @@ double ConstraintEqual::grad(double* param) // -------------------------------------------------------- // Weighted Linear Combination ConstraintWeightedLinearCombination::ConstraintWeightedLinearCombination( - size_t givennumpoles, const std::vector& givenpvec, + size_t givennumpoles, + const std::vector& givenpvec, const std::vector& givenfactors) - : factors(givenfactors), - numpoles(givennumpoles) + : factors(givenfactors) + , numpoles(givennumpoles) { pvec = givenpvec; assert(pvec.size() == 2 * numpoles + 1); @@ -244,8 +248,9 @@ void ConstraintCenterOfGravity::rescale(double coef) double ConstraintCenterOfGravity::error() { double sum = 0; - for (size_t i = 0; i < numpoints; ++i) + for (size_t i = 0; i < numpoints; ++i) { sum += *pointat(i) * weights[i]; + } return scale * (*thecenter() - sum); } @@ -253,12 +258,15 @@ double ConstraintCenterOfGravity::error() double ConstraintCenterOfGravity::grad(double* param) { double deriv = 0.; - if (param == thecenter()) + if (param == thecenter()) { deriv = 1; + } - for (size_t i = 0; i < numpoints; ++i) - if (param == pointat(i)) + for (size_t i = 0; i < numpoints; ++i) { + if (param == pointat(i)) { deriv = -weights[i]; + } + } return scale * deriv; } @@ -280,17 +288,22 @@ ConstraintSlopeAtBSplineKnot::ConstraintSlopeAtBSplineKnot(BSpline& b, Line& l, // `startpole` is the first pole affecting the knot with `knotindex` size_t startpole = 0; // See `System::addConstraintInternalAlignmentKnotPoint()` for some elaboration - for (size_t j = 1; j <= knotindex; ++j) + for (size_t j = 1; j <= knotindex; ++j) { startpole += b.mult[j]; - if (!b.periodic && startpole >= b.poles.size()) + } + if (!b.periodic && startpole >= b.poles.size()) { startpole = b.poles.size() - 1; + } - for (size_t i = 0; i < numpoles; ++i) + for (size_t i = 0; i < numpoles; ++i) { pvec.push_back(b.poles[(startpole + i) % b.poles.size()].x); - for (size_t i = 0; i < numpoles; ++i) + } + for (size_t i = 0; i < numpoles; ++i) { pvec.push_back(b.poles[(startpole + i) % b.poles.size()].y); - for (size_t i = 0; i < numpoles; ++i) + } + for (size_t i = 0; i < numpoles; ++i) { pvec.push_back(b.weights[(startpole + i) % b.weights.size()]); + } pvec.push_back(l.p1.x); pvec.push_back(l.p1.y); pvec.push_back(l.p2.x); @@ -301,9 +314,10 @@ ConstraintSlopeAtBSplineKnot::ConstraintSlopeAtBSplineKnot(BSpline& b, Line& l, factors.resize(numpoles); slopefactors.resize(numpoles); for (size_t i = 0; i < numpoles + 1; ++i) { - tempfactors[i] = - b.getLinCombFactor( - *(b.knots[knotindex]), startpole + b.degree, startpole + i, b.degree - 1) + tempfactors[i] = b.getLinCombFactor(*(b.knots[knotindex]), + startpole + b.degree, + startpole + i, + b.degree - 1) / (b.flattenedknots[startpole + b.degree + i] - b.flattenedknots[startpole + i]); } for (size_t i = 0; i < numpoles; ++i) { @@ -481,7 +495,9 @@ double ConstraintSlopeAtBSplineKnot::grad(double* param) // -------------------------------------------------------- // Point On BSpline -ConstraintPointOnBSpline::ConstraintPointOnBSpline(double* point, double* initparam, int coordidx, +ConstraintPointOnBSpline::ConstraintPointOnBSpline(double* point, + double* initparam, + int coordidx, BSpline& b) : bsp(b) { @@ -495,16 +511,20 @@ ConstraintPointOnBSpline::ConstraintPointOnBSpline(double* point, double* initpa setStartPole(*initparam); for (size_t i = 0; i < b.poles.size(); ++i) { - if (coordidx == 0) + if (coordidx == 0) { pvec.push_back(b.poles[i].x); - else + } + else { pvec.push_back(b.poles[i].y); + } } - for (size_t i = 0; i < b.weights.size(); ++i) + for (size_t i = 0; i < b.weights.size(); ++i) { pvec.push_back(b.weights[i]); + } - if (bsp.flattenedknots.empty()) + if (bsp.flattenedknots.empty()) { bsp.setupFlattenedKnots(); + } origpvec = pvec; rescale(); @@ -521,10 +541,12 @@ void ConstraintPointOnBSpline::setStartPole(double u) // for example in GCS and slope at knot // find relevant poles startpole = 0; - for (size_t j = 1; j < bsp.mult.size() && *(bsp.knots[j]) <= u; ++j) + for (size_t j = 1; j < bsp.mult.size() && *(bsp.knots[j]) <= u; ++j) { startpole += bsp.mult[j]; - if (!bsp.periodic && startpole >= bsp.poles.size()) + } + if (!bsp.periodic && startpole >= bsp.poles.size()) { startpole = bsp.poles.size() - bsp.degree - 1; + } } void ConstraintPointOnBSpline::rescale(double coef) @@ -535,22 +557,31 @@ void ConstraintPointOnBSpline::rescale(double coef) double ConstraintPointOnBSpline::error() { if (*theparam() < bsp.flattenedknots[startpole + bsp.degree] - || *theparam() > bsp.flattenedknots[startpole + bsp.degree + 1]) + || *theparam() > bsp.flattenedknots[startpole + bsp.degree + 1]) { setStartPole(*theparam()); + } double sum = 0; double wsum = 0; // TODO: maybe make it global so it doesn't have to be created every time VEC_D d(numpoints); - for (size_t i = 0; i < numpoints; ++i) + for (size_t i = 0; i < numpoints; ++i) { d[i] = *poleat(i) * *weightat(i); - sum = BSpline::splineValue( - *theparam(), startpole + bsp.degree, bsp.degree, d, bsp.flattenedknots); - for (size_t i = 0; i < numpoints; ++i) + } + sum = BSpline::splineValue(*theparam(), + startpole + bsp.degree, + bsp.degree, + d, + bsp.flattenedknots); + for (size_t i = 0; i < numpoints; ++i) { d[i] = *weightat(i); - wsum = BSpline::splineValue( - *theparam(), startpole + bsp.degree, bsp.degree, d, bsp.flattenedknots); + } + wsum = BSpline::splineValue(*theparam(), + startpole + bsp.degree, + bsp.degree, + d, + bsp.flattenedknots); // TODO: Change the poles as the point moves between pieces @@ -562,10 +593,14 @@ double ConstraintPointOnBSpline::grad(double* gcsparam) double deriv = 0.; if (gcsparam == thepoint()) { VEC_D d(numpoints); - for (size_t i = 0; i < numpoints; ++i) + for (size_t i = 0; i < numpoints; ++i) { d[i] = *weightat(i); - double wsum = BSpline::splineValue( - *theparam(), startpole + bsp.degree, bsp.degree, d, bsp.flattenedknots); + } + double wsum = BSpline::splineValue(*theparam(), + startpole + bsp.degree, + bsp.degree, + d, + bsp.flattenedknots); deriv += wsum; } @@ -576,15 +611,21 @@ double ConstraintPointOnBSpline::grad(double* gcsparam) / (bsp.flattenedknots[startpole + i + bsp.degree] - bsp.flattenedknots[startpole + i]); } - double slopevalue = BSpline::splineValue( - *theparam(), startpole + bsp.degree, bsp.degree - 1, d, bsp.flattenedknots); + double slopevalue = BSpline::splineValue(*theparam(), + startpole + bsp.degree, + bsp.degree - 1, + d, + bsp.flattenedknots); for (size_t i = 1; i < numpoints; ++i) { d[i - 1] = (*weightat(i) - *weightat(i - 1)) / (bsp.flattenedknots[startpole + i + bsp.degree] - bsp.flattenedknots[startpole + i]); } - double wslopevalue = BSpline::splineValue( - *theparam(), startpole + bsp.degree, bsp.degree - 1, d, bsp.flattenedknots); + double wslopevalue = BSpline::splineValue(*theparam(), + startpole + bsp.degree, + bsp.degree - 1, + d, + bsp.flattenedknots); deriv += (*thepoint() * wslopevalue - slopevalue) * bsp.degree; } @@ -632,12 +673,15 @@ double ConstraintDifference::error() double ConstraintDifference::grad(double* param) { double deriv = 0.; - if (param == param1()) + if (param == param1()) { deriv += -1; - if (param == param2()) + } + if (param == param2()) { deriv += 1; - if (param == difference()) + } + if (param == difference()) { deriv += -1; + } return scale * deriv; } @@ -681,17 +725,22 @@ double ConstraintP2PDistance::grad(double* param) double dx = (*p1x() - *p2x()); double dy = (*p1y() - *p2y()); double d = sqrt(dx * dx + dy * dy); - if (param == p1x()) + if (param == p1x()) { deriv += dx / d; - if (param == p1y()) + } + if (param == p1y()) { deriv += dy / d; - if (param == p2x()) + } + if (param == p2x()) { deriv += -dx / d; - if (param == p2y()) + } + if (param == p2y()) { deriv += -dy / d; + } } - if (param == distance()) + if (param == distance()) { deriv += -1.; + } return scale * deriv; } @@ -702,31 +751,37 @@ double ConstraintP2PDistance::maxStep(MAP_pD_D& dir, double lim) // distance() >= 0 it = dir.find(distance()); if (it != dir.end()) { - if (it->second < 0.) + if (it->second < 0.) { lim = std::min(lim, -(*distance()) / it->second); + } } // restrict actual distance change double ddx = 0., ddy = 0.; it = dir.find(p1x()); - if (it != dir.end()) + if (it != dir.end()) { ddx += it->second; + } it = dir.find(p1y()); - if (it != dir.end()) + if (it != dir.end()) { ddy += it->second; + } it = dir.find(p2x()); - if (it != dir.end()) + if (it != dir.end()) { ddx -= it->second; + } it = dir.find(p2y()); - if (it != dir.end()) + if (it != dir.end()) { ddy -= it->second; + } double dd = sqrt(ddx * ddx + ddy * ddy); double dist = *distance(); if (dd > dist) { double dx = (*p1x() - *p2x()); double dy = (*p1y() - *p2y()); double d = sqrt(dx * dx + dy * dy); - if (dd > d) + if (dd > d) { lim = std::min(lim, std::max(d, dist) / dd); + } } return lim; } @@ -782,17 +837,22 @@ double ConstraintP2PAngle::grad(double* param) double r2 = dx * dx + dy * dy; dx = -y / r2; dy = x / r2; - if (param == p1x()) + if (param == p1x()) { deriv += (-ca * dx + sa * dy); - if (param == p1y()) + } + if (param == p1y()) { deriv += (-sa * dx - ca * dy); - if (param == p2x()) + } + if (param == p2x()) { deriv += (ca * dx - sa * dy); - if (param == p2y()) + } + if (param == p2y()) { deriv += (sa * dx + ca * dy); + } } - if (param == angle()) + if (param == angle()) { deriv += -1; + } return scale * deriv; } @@ -803,8 +863,9 @@ double ConstraintP2PAngle::maxStep(MAP_pD_D& dir, double lim) MAP_pD_D::iterator it = dir.find(angle()); if (it != dir.end()) { double step = std::abs(it->second); - if (step > M_PI / 18.0) + if (step > M_PI / 18.0) { lim = std::min(lim, (M_PI / 18.0) / step); + } } return lim; } @@ -864,23 +925,31 @@ double ConstraintP2LDistance::grad(double* param) double d2 = dx * dx + dy * dy; double d = sqrt(d2); double area = -x0 * dy + y0 * dx + x1 * y2 - x2 * y1; - if (param == p0x()) + if (param == p0x()) { deriv += (y1 - y2) / d; - if (param == p0y()) + } + if (param == p0y()) { deriv += (x2 - x1) / d; - if (param == p1x()) + } + if (param == p1x()) { deriv += ((y2 - y0) * d + (dx / d) * area) / d2; - if (param == p1y()) + } + if (param == p1y()) { deriv += ((x0 - x2) * d + (dy / d) * area) / d2; - if (param == p2x()) + } + if (param == p2x()) { deriv += ((y0 - y1) * d - (dx / d) * area) / d2; - if (param == p2y()) + } + if (param == p2y()) { deriv += ((x1 - x0) * d - (dy / d) * area) / d2; - if (area < 0) + } + if (area < 0) { deriv *= -1; + } } - if (param == distance()) + if (param == distance()) { deriv += -1; + } return scale * deriv; } @@ -891,31 +960,38 @@ double ConstraintP2LDistance::maxStep(MAP_pD_D& dir, double lim) // distance() >= 0 it = dir.find(distance()); if (it != dir.end()) { - if (it->second < 0.) + if (it->second < 0.) { lim = std::min(lim, -(*distance()) / it->second); + } } // restrict actual area change double darea = 0.; double x0 = *p0x(), x1 = *p1x(), x2 = *p2x(); double y0 = *p0y(), y1 = *p1y(), y2 = *p2y(); it = dir.find(p0x()); - if (it != dir.end()) + if (it != dir.end()) { darea += (y1 - y2) * it->second; + } it = dir.find(p0y()); - if (it != dir.end()) + if (it != dir.end()) { darea += (x2 - x1) * it->second; + } it = dir.find(p1x()); - if (it != dir.end()) + if (it != dir.end()) { darea += (y2 - y0) * it->second; + } it = dir.find(p1y()); - if (it != dir.end()) + if (it != dir.end()) { darea += (x0 - x2) * it->second; + } it = dir.find(p2x()); - if (it != dir.end()) + if (it != dir.end()) { darea += (y0 - y1) * it->second; + } it = dir.find(p2y()); - if (it != dir.end()) + if (it != dir.end()) { darea += (x1 - x0) * it->second; + } darea = std::abs(darea); if (darea > 0.) { @@ -924,8 +1000,9 @@ double ConstraintP2LDistance::maxStep(MAP_pD_D& dir, double lim) double area = 0.3 * (*distance()) * sqrt(dx * dx + dy * dy); if (darea > area) { area = std::max(area, 0.3 * std::abs(-x0 * dy + y0 * dx + x1 * y2 - x2 * y1)); - if (darea > area) + if (darea > area) { lim = std::min(lim, area / darea); + } } } return lim; @@ -995,18 +1072,24 @@ double ConstraintPointOnLine::grad(double* param) double d2 = dx * dx + dy * dy; double d = sqrt(d2); double area = -x0 * dy + y0 * dx + x1 * y2 - x2 * y1; - if (param == p0x()) + if (param == p0x()) { deriv += (y1 - y2) / d; - if (param == p0y()) + } + if (param == p0y()) { deriv += (x2 - x1) / d; - if (param == p1x()) + } + if (param == p1x()) { deriv += ((y2 - y0) * d + (dx / d) * area) / d2; - if (param == p1y()) + } + if (param == p1y()) { deriv += ((x0 - x2) * d + (dy / d) * area) / d2; - if (param == p2x()) + } + if (param == p2x()) { deriv += ((y0 - y1) * d - (dx / d) * area) / d2; - if (param == p2y()) + } + if (param == p2y()) { deriv += ((x1 - x0) * d - (dy / d) * area) / d2; + } } return scale * deriv; } @@ -1064,10 +1147,12 @@ void ConstraintPointOnPerpBisector::errorgrad(double* err, double* grad, double* double projd2, dprojd2; projd2 = d2.scalarProd(D, &dprojd2); - if (err) + if (err) { *err = projd1 + projd2; - if (grad) + } + if (grad) { *grad = dprojd1 + dprojd2; + } } double ConstraintPointOnPerpBisector::error() @@ -1080,8 +1165,9 @@ double ConstraintPointOnPerpBisector::error() double ConstraintPointOnPerpBisector::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -1132,23 +1218,31 @@ double ConstraintParallel::error() double ConstraintParallel::grad(double* param) { double deriv = 0.; - if (param == l1p1x()) + if (param == l1p1x()) { deriv += (*l2p1y() - *l2p2y());// = dy2 - if (param == l1p2x()) + } + if (param == l1p2x()) { deriv += -(*l2p1y() - *l2p2y());// = -dy2 - if (param == l1p1y()) + } + if (param == l1p1y()) { deriv += -(*l2p1x() - *l2p2x());// = -dx2 - if (param == l1p2y()) + } + if (param == l1p2y()) { deriv += (*l2p1x() - *l2p2x());// = dx2 + } - if (param == l2p1x()) + if (param == l2p1x()) { deriv += -(*l1p1y() - *l1p2y());// = -dy1 - if (param == l2p2x()) + } + if (param == l2p2x()) { deriv += (*l1p1y() - *l1p2y());// = dy1 - if (param == l2p1y()) + } + if (param == l2p1y()) { deriv += (*l1p1x() - *l1p2x());// = dx1 - if (param == l2p2y()) + } + if (param == l2p2y()) { deriv += -(*l1p1x() - *l1p2x());// = -dx1 + } return scale * deriv; } @@ -1210,23 +1304,31 @@ double ConstraintPerpendicular::error() double ConstraintPerpendicular::grad(double* param) { double deriv = 0.; - if (param == l1p1x()) + if (param == l1p1x()) { deriv += (*l2p1x() - *l2p2x());// = dx2 - if (param == l1p2x()) + } + if (param == l1p2x()) { deriv += -(*l2p1x() - *l2p2x());// = -dx2 - if (param == l1p1y()) + } + if (param == l1p1y()) { deriv += (*l2p1y() - *l2p2y());// = dy2 - if (param == l1p2y()) + } + if (param == l1p2y()) { deriv += -(*l2p1y() - *l2p2y());// = -dy2 + } - if (param == l2p1x()) + if (param == l2p1x()) { deriv += (*l1p1x() - *l1p2x());// = dx1 - if (param == l2p2x()) + } + if (param == l2p2x()) { deriv += -(*l1p1x() - *l1p2x());// = -dx1 - if (param == l2p1y()) + } + if (param == l2p1y()) { deriv += (*l1p1y() - *l1p2y());// = dy1 - if (param == l2p2y()) + } + if (param == l2p2y()) { deriv += -(*l1p1y() - *l1p2y());// = -dy1 + } return scale * deriv; } @@ -1249,7 +1351,10 @@ ConstraintL2LAngle::ConstraintL2LAngle(Line& l1, Line& l2, double* a) rescale(); } -ConstraintL2LAngle::ConstraintL2LAngle(Point& l1p1, Point& l1p2, Point& l2p1, Point& l2p2, +ConstraintL2LAngle::ConstraintL2LAngle(Point& l1p1, + Point& l1p2, + Point& l2p1, + Point& l2p2, double* a) { pvec.push_back(l1p1.x); @@ -1296,14 +1401,18 @@ double ConstraintL2LAngle::grad(double* param) double dx1 = (*l1p2x() - *l1p1x()); double dy1 = (*l1p2y() - *l1p1y()); double r2 = dx1 * dx1 + dy1 * dy1; - if (param == l1p1x()) + if (param == l1p1x()) { deriv += -dy1 / r2; - if (param == l1p1y()) + } + if (param == l1p1y()) { deriv += dx1 / r2; - if (param == l1p2x()) + } + if (param == l1p2x()) { deriv += dy1 / r2; - if (param == l1p2y()) + } + if (param == l1p2y()) { deriv += -dx1 / r2; + } } if (param == l2p1x() || param == l2p1y() || param == l2p2x() || param == l2p2y()) { double dx1 = (*l1p2x() - *l1p1x()); @@ -1318,17 +1427,22 @@ double ConstraintL2LAngle::grad(double* param) double r2 = dx2 * dx2 + dy2 * dy2; dx2 = -y2 / r2; dy2 = x2 / r2; - if (param == l2p1x()) + if (param == l2p1x()) { deriv += (-ca * dx2 + sa * dy2); - if (param == l2p1y()) + } + if (param == l2p1y()) { deriv += (-sa * dx2 - ca * dy2); - if (param == l2p2x()) + } + if (param == l2p2x()) { deriv += (ca * dx2 - sa * dy2); - if (param == l2p2y()) + } + if (param == l2p2y()) { deriv += (sa * dx2 + ca * dy2); + } } - if (param == angle()) + if (param == angle()) { deriv += -1; + } return scale * deriv; } @@ -1339,8 +1453,9 @@ double ConstraintL2LAngle::maxStep(MAP_pD_D& dir, double lim) MAP_pD_D::iterator it = dir.find(angle()); if (it != dir.end()) { double step = std::abs(it->second); - if (step > M_PI / 18.0) + if (step > M_PI / 18.0) { lim = std::min(lim, (M_PI / 18.0) / step); + } } return lim; } @@ -1362,7 +1477,9 @@ ConstraintMidpointOnLine::ConstraintMidpointOnLine(Line& l1, Line& l2) rescale(); } -ConstraintMidpointOnLine::ConstraintMidpointOnLine(Point& l1p1, Point& l1p2, Point& l2p1, +ConstraintMidpointOnLine::ConstraintMidpointOnLine(Point& l1p1, + Point& l1p2, + Point& l2p1, Point& l2p2) { pvec.push_back(l1p1.x); @@ -1418,22 +1535,30 @@ double ConstraintMidpointOnLine::grad(double* param) double d2 = dx * dx + dy * dy; double d = sqrt(d2); double area = -x0 * dy + y0 * dx + x1 * y2 - x2 * y1; - if (param == l1p1x()) + if (param == l1p1x()) { deriv += (y1 - y2) / (2 * d); - if (param == l1p1y()) + } + if (param == l1p1y()) { deriv += (x2 - x1) / (2 * d); - if (param == l1p2x()) + } + if (param == l1p2x()) { deriv += (y1 - y2) / (2 * d); - if (param == l1p2y()) + } + if (param == l1p2y()) { deriv += (x2 - x1) / (2 * d); - if (param == l2p1x()) + } + if (param == l2p1x()) { deriv += ((y2 - y0) * d + (dx / d) * area) / d2; - if (param == l2p1y()) + } + if (param == l2p1y()) { deriv += ((x0 - x2) * d + (dy / d) * area) / d2; - if (param == l2p2x()) + } + if (param == l2p2x()) { deriv += ((y0 - y1) * d - (dx / d) * area) / d2; - if (param == l2p2y()) + } + if (param == l2p2y()) { deriv += ((x1 - x0) * d - (dy / d) * area) / d2; + } } return scale * deriv; } @@ -1441,7 +1566,10 @@ double ConstraintMidpointOnLine::grad(double* param) // -------------------------------------------------------- // TangentCircumf -ConstraintTangentCircumf::ConstraintTangentCircumf(Point& p1, Point& p2, double* rad1, double* rad2, +ConstraintTangentCircumf::ConstraintTangentCircumf(Point& p1, + Point& p2, + double* rad1, + double* rad2, bool internal_) { internal = internal_; @@ -1469,10 +1597,12 @@ double ConstraintTangentCircumf::error() { double dx = (*c1x() - *c2x()); double dy = (*c1y() - *c2y()); - if (internal) + if (internal) { return scale * (sqrt(dx * dx + dy * dy) - std::abs(*r1() - *r2())); - else + } + else { return scale * (sqrt(dx * dx + dy * dy) - (*r1() + *r2())); + } } double ConstraintTangentCircumf::grad(double* param) @@ -1483,25 +1613,33 @@ double ConstraintTangentCircumf::grad(double* param) double dx = (*c1x() - *c2x()); double dy = (*c1y() - *c2y()); double d = sqrt(dx * dx + dy * dy); - if (param == c1x()) + if (param == c1x()) { deriv += dx / d; - if (param == c1y()) + } + if (param == c1y()) { deriv += dy / d; - if (param == c2x()) + } + if (param == c2x()) { deriv += -dx / d; - if (param == c2y()) + } + if (param == c2y()) { deriv += -dy / d; + } if (internal) { - if (param == r1()) + if (param == r1()) { deriv += (*r1() > *r2()) ? -1 : 1; - if (param == r2()) + } + if (param == r2()) { deriv += (*r1() > *r2()) ? 1 : -1; + } } else { - if (param == r1()) + if (param == r1()) { deriv += -1; - if (param == r2()) + } + if (param == r2()) { deriv += -1; + } } } return scale * deriv; @@ -1563,34 +1701,41 @@ double ConstraintPointOnEllipse::grad(double* param) double Y_F1 = *f1y(); double b = *rmin(); - if (param == p1x()) + if (param == p1x()) { deriv += (X_0 - X_F1) / sqrt(pow(X_0 - X_F1, 2) + pow(Y_0 - Y_F1, 2)) + (X_0 + X_F1 - 2 * X_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == p1y()) + } + if (param == p1y()) { deriv += (Y_0 - Y_F1) / sqrt(pow(X_0 - X_F1, 2) + pow(Y_0 - Y_F1, 2)) + (Y_0 + Y_F1 - 2 * Y_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == f1x()) + } + if (param == f1x()) { deriv += -(X_0 - X_F1) / sqrt(pow(X_0 - X_F1, 2) + pow(Y_0 - Y_F1, 2)) - 2 * (X_F1 - X_c) / sqrt(pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)) + (X_0 + X_F1 - 2 * X_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == f1y()) + } + if (param == f1y()) { deriv += -(Y_0 - Y_F1) / sqrt(pow(X_0 - X_F1, 2) + pow(Y_0 - Y_F1, 2)) - 2 * (Y_F1 - Y_c) / sqrt(pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)) + (Y_0 + Y_F1 - 2 * Y_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == cx()) + } + if (param == cx()) { deriv += 2 * (X_F1 - X_c) / sqrt(pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)) - 2 * (X_0 + X_F1 - 2 * X_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == cy()) + } + if (param == cy()) { deriv += 2 * (Y_F1 - Y_c) / sqrt(pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)) - 2 * (Y_0 + Y_F1 - 2 * Y_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == rmin()) + } + if (param == rmin()) { deriv += -2 * b / sqrt(pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)); + } } return scale * deriv; } @@ -1633,8 +1778,9 @@ void ConstraintEllipseTangentLine::errorgrad(double* err, double* grad, double* // DeepSOIC equation // http://forum.freecad.org/viewtopic.php?f=10&t=7520&start=140 - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } DeriVector2 p1(l.p1, param); DeriVector2 p2(l.p2, param); DeriVector2 f1(e.focus1, param); @@ -1656,10 +1802,12 @@ void ConstraintEllipseTangentLine::errorgrad(double* err, double* grad, double* double radmaj, dradmaj; radmaj = e.getRadMaj(c, f1, *e.radmin, dradmin, dradmaj); - if (err) + if (err) { *err = distF1mF2 - 2 * radmaj; - if (grad) + } + if (grad) { *grad = ddistF1mF2 - 2 * dradmaj; + } } double ConstraintEllipseTangentLine::error() @@ -1672,8 +1820,9 @@ double ConstraintEllipseTangentLine::error() double ConstraintEllipseTangentLine::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -1702,7 +1851,9 @@ double ConstraintEllipseTangentLine::grad(double* param) // -------------------------------------------------------- // ConstraintInternalAlignmentPoint2Ellipse ConstraintInternalAlignmentPoint2Ellipse::ConstraintInternalAlignmentPoint2Ellipse( - Ellipse& e, Point& p1, InternalAlignmentType alignmentType) + Ellipse& e, + Point& p1, + InternalAlignmentType alignmentType) { this->p = p1; pvec.push_back(p.x); @@ -1737,8 +1888,9 @@ void ConstraintInternalAlignmentPoint2Ellipse::rescale(double coef) void ConstraintInternalAlignmentPoint2Ellipse::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } // todo: prefill only what's needed, not everything @@ -1789,10 +1941,12 @@ void ConstraintInternalAlignmentPoint2Ellipse::errorgrad(double* err, double* gr // shouldn't happen poa = pv;// align to the point itself, doing nothing essentially } - if (err) + if (err) { *err = by_y_not_by_x ? pv.y - poa.y : pv.x - poa.x; - if (grad) + } + if (grad) { *grad = by_y_not_by_x ? pv.dy - poa.dy : pv.dx - poa.dx; + } } double ConstraintInternalAlignmentPoint2Ellipse::error() @@ -1805,8 +1959,9 @@ double ConstraintInternalAlignmentPoint2Ellipse::error() double ConstraintInternalAlignmentPoint2Ellipse::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -1835,7 +1990,9 @@ double ConstraintInternalAlignmentPoint2Ellipse::grad(double* param) // -------------------------------------------------------- // ConstraintInternalAlignmentPoint2Hyperbola ConstraintInternalAlignmentPoint2Hyperbola::ConstraintInternalAlignmentPoint2Hyperbola( - Hyperbola& e, Point& p1, InternalAlignmentType alignmentType) + Hyperbola& e, + Point& p1, + InternalAlignmentType alignmentType) { this->p = p1; pvec.push_back(p.x); @@ -1870,8 +2027,9 @@ void ConstraintInternalAlignmentPoint2Hyperbola::rescale(double coef) void ConstraintInternalAlignmentPoint2Hyperbola::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } // todo: prefill only what's needed, not everything @@ -1927,10 +2085,12 @@ void ConstraintInternalAlignmentPoint2Hyperbola::errorgrad(double* err, double* poa = pv;// align to the point itself, doing nothing essentially } - if (err) + if (err) { *err = by_y_not_by_x ? pv.y - poa.y : pv.x - poa.x; - if (grad) + } + if (grad) { *grad = by_y_not_by_x ? pv.dy - poa.dy : pv.dx - poa.dx; + } } double ConstraintInternalAlignmentPoint2Hyperbola::error() @@ -1943,8 +2103,9 @@ double ConstraintInternalAlignmentPoint2Hyperbola::error() double ConstraintInternalAlignmentPoint2Hyperbola::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -1987,16 +2148,19 @@ void ConstraintEqualMajorAxesConic::rescale(double coef) void ConstraintEqualMajorAxesConic::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } double a1, da1; a1 = e1->getRadMaj(param, da1); double a2, da2; a2 = e2->getRadMaj(param, da2); - if (err) + if (err) { *err = a2 - a1; - if (grad) + } + if (grad) { *grad = da2 - da1; + } } double ConstraintEqualMajorAxesConic::error() @@ -2009,8 +2173,9 @@ double ConstraintEqualMajorAxesConic::error() double ConstraintEqualMajorAxesConic::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -2050,8 +2215,9 @@ void ConstraintEqualFocalDistance::rescale(double coef) void ConstraintEqualFocalDistance::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } DeriVector2 focus1(this->e1->focus1, param); DeriVector2 vertex1(this->e1->vertex, param); @@ -2071,10 +2237,12 @@ void ConstraintEqualFocalDistance::errorgrad(double* err, double* grad, double* focal2 = focalvect2.length(dfocal2); - if (err) + if (err) { *err = focal2 - focal1; - if (grad) + } + if (grad) { *grad = dfocal2 - dfocal1; + } } double ConstraintEqualFocalDistance::error() @@ -2087,8 +2255,9 @@ double ConstraintEqualFocalDistance::error() double ConstraintEqualFocalDistance::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -2143,8 +2312,9 @@ void ConstraintCurveValue::rescale(double coef) void ConstraintCurveValue::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } double u, du; u = *(this->u()); @@ -2158,16 +2328,20 @@ void ConstraintCurveValue::errorgrad(double* err, double* grad, double* param) DeriVector2 err_vec = P_from.subtr(P_to); if (this->pcoord() == this->p.x) {// this constraint is for X projection - if (err) + if (err) { *err = err_vec.x; - if (grad) + } + if (grad) { *grad = err_vec.dx; + } } else if (this->pcoord() == this->p.y) {// this constraint is for Y projection - if (err) + if (err) { *err = err_vec.y; - if (grad) + } + if (grad) { *grad = err_vec.dy; + } } else { assert(false /*this constraint is neither X nor Y. Nothing to do..*/); @@ -2184,8 +2358,9 @@ double ConstraintCurveValue::error() double ConstraintCurveValue::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -2289,34 +2464,41 @@ double ConstraintPointOnHyperbola::grad(double* param) double Y_F1 = *f1y(); double b = *rmin(); - if (param == p1x()) + if (param == p1x()) { deriv += -(X_0 - X_F1) / sqrt(pow(X_0 - X_F1, 2) + pow(Y_0 - Y_F1, 2)) + (X_0 + X_F1 - 2 * X_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == p1y()) + } + if (param == p1y()) { deriv += -(Y_0 - Y_F1) / sqrt(pow(X_0 - X_F1, 2) + pow(Y_0 - Y_F1, 2)) + (Y_0 + Y_F1 - 2 * Y_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == f1x()) + } + if (param == f1x()) { deriv += (X_0 - X_F1) / sqrt(pow(X_0 - X_F1, 2) + pow(Y_0 - Y_F1, 2)) - 2 * (X_F1 - X_c) / sqrt(-pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)) + (X_0 + X_F1 - 2 * X_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == f1y()) + } + if (param == f1y()) { deriv += (Y_0 - Y_F1) / sqrt(pow(X_0 - X_F1, 2) + pow(Y_0 - Y_F1, 2)) - 2 * (Y_F1 - Y_c) / sqrt(-pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)) + (Y_0 + Y_F1 - 2 * Y_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == cx()) + } + if (param == cx()) { deriv += 2 * (X_F1 - X_c) / sqrt(-pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)) - 2 * (X_0 + X_F1 - 2 * X_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == cy()) + } + if (param == cy()) { deriv += 2 * (Y_F1 - Y_c) / sqrt(-pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)) - 2 * (Y_0 + Y_F1 - 2 * Y_c) / sqrt(pow(X_0 + X_F1 - 2 * X_c, 2) + pow(Y_0 + Y_F1 - 2 * Y_c, 2)); - if (param == rmin()) + } + if (param == rmin()) { deriv += 2 * b / sqrt(-pow(b, 2) + pow(X_F1 - X_c, 2) + pow(Y_F1 - Y_c, 2)); + } } return scale * deriv; } @@ -2375,8 +2557,9 @@ void ConstraintPointOnParabola::rescale(double coef) void ConstraintPointOnParabola::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } DeriVector2 focus(this->parab->focus1, param); DeriVector2 vertex(this->parab->vertex, param); @@ -2401,10 +2584,12 @@ void ConstraintPointOnParabola::errorgrad(double* err, double* grad, double* par proj = point_to_focus.scalarProd(xdir, &dproj); - if (err) + if (err) { *err = pf - 2 * focal - proj; - if (grad) + } + if (grad) { *grad = dpf - 2 * dfocal - dproj; + } } double ConstraintPointOnParabola::error() @@ -2417,8 +2602,9 @@ double ConstraintPointOnParabola::error() double ConstraintPointOnParabola::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -2476,8 +2662,9 @@ void ConstraintAngleViaPoint::rescale(double coef) double ConstraintAngleViaPoint::error() { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } double ang = *angle(); DeriVector2 n1 = crv1->CalculateNormal(poa); DeriVector2 n2 = crv2->CalculateNormal(poa); @@ -2497,16 +2684,19 @@ double ConstraintAngleViaPoint::error() double ConstraintAngleViaPoint::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv = 0.; - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } - if (param == angle()) + if (param == angle()) { deriv += -1.0; + } DeriVector2 n1 = crv1->CalculateNormal(poa, param); DeriVector2 n2 = crv2->CalculateNormal(poa, param); deriv -= ((-n1.dx) * n1.y / pow(n1.length(), 2) + n1.dy * n1.x / pow(n1.length(), 2)); @@ -2536,8 +2726,14 @@ double ConstraintAngleViaPoint::grad(double* param) // -------------------------------------------------------- // ConstraintSnell -ConstraintSnell::ConstraintSnell(Curve& ray1, Curve& ray2, Curve& boundary, Point p, double* n1, - double* n2, bool flipn1, bool flipn2) +ConstraintSnell::ConstraintSnell(Curve& ray1, + Curve& ray2, + Curve& boundary, + Point p, + double* n1, + double* n2, + bool flipn1, + bool flipn2) { pvec.push_back(n1); pvec.push_back(n2); @@ -2596,8 +2792,9 @@ void ConstraintSnell::rescale(double coef) // error and gradient combined. Values are returned through pointers. void ConstraintSnell::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } DeriVector2 tang1 = ray1->CalculateNormal(poa, param).rotate90cw().getNormalized(); DeriVector2 tang2 = ray2->CalculateNormal(poa, param).rotate90cw().getNormalized(); DeriVector2 tangB = boundary->CalculateNormal(poa, param).rotate90cw().getNormalized(); @@ -2615,10 +2812,12 @@ void ConstraintSnell::errorgrad(double* err, double* grad, double* param) double dn1 = (param == n1()) ? 1.0 : 0.0; double dn2 = (param == n2()) ? 1.0 : 0.0; - if (err) + if (err) { *err = *n1() * sin1 - *n2() * sin2; - if (grad) + } + if (grad) { *grad = dn1 * sin1 + *n1() * dsin1 - dn2 * sin2 - *n2() * dsin2; + } } double ConstraintSnell::error() @@ -2631,8 +2830,9 @@ double ConstraintSnell::error() double ConstraintSnell::grad(double* param) { // first of all, check that we need to compute anything. - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -2692,8 +2892,9 @@ void ConstraintEqualLineLength::rescale(double coef) void ConstraintEqualLineLength::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } DeriVector2 p1(l1.p1, param); DeriVector2 p2(l1.p2, param); @@ -2709,8 +2910,9 @@ void ConstraintEqualLineLength::errorgrad(double* err, double* grad, double* par double length2, dlength2; length2 = v2.length(dlength2); - if (err) + if (err) { *err = length2 - length1; + } if (grad) { *grad = dlength2 - dlength1; @@ -2723,22 +2925,30 @@ void ConstraintEqualLineLength::errorgrad(double* err, double* grad, double* par // or just locked into a maximum/minimum if (fabs(*grad) < 1e-10) { double surrogate = 1e-10; - if (param == l1.p1.x) + if (param == l1.p1.x) { *grad = v1.x > 0 ? surrogate : -surrogate; - if (param == l1.p1.y) + } + if (param == l1.p1.y) { *grad = v1.y > 0 ? surrogate : -surrogate; - if (param == l1.p2.x) + } + if (param == l1.p2.x) { *grad = v1.x > 0 ? -surrogate : surrogate; - if (param == l1.p2.y) + } + if (param == l1.p2.y) { *grad = v1.y > 0 ? -surrogate : surrogate; - if (param == l2.p1.x) + } + if (param == l2.p1.x) { *grad = v2.x > 0 ? surrogate : -surrogate; - if (param == l2.p1.y) + } + if (param == l2.p1.y) { *grad = v2.y > 0 ? surrogate : -surrogate; - if (param == l2.p2.x) + } + if (param == l2.p2.x) { *grad = v2.x > 0 ? -surrogate : surrogate; - if (param == l2.p2.y) + } + if (param == l2.p2.y) { *grad = v2.y > 0 ? -surrogate : surrogate; + } } } } @@ -2752,8 +2962,9 @@ double ConstraintEqualLineLength::error() double ConstraintEqualLineLength::grad(double* param) { - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -2801,8 +3012,9 @@ void ConstraintC2CDistance::rescale(double coef) void ConstraintC2CDistance::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } DeriVector2 ct1(c1.center, param); DeriVector2 ct2(c2.center, param); @@ -2863,8 +3075,9 @@ double ConstraintC2CDistance::error() double ConstraintC2CDistance::grad(double* param) { - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); @@ -2911,8 +3124,9 @@ void ConstraintC2LDistance::ReconstructGeomPointers() void ConstraintC2LDistance::errorgrad(double* err, double* grad, double* param) { - if (pvecChangedFlag) + if (pvecChangedFlag) { ReconstructGeomPointers(); + } DeriVector2 ct(circle.center, param); DeriVector2 p1(line.p1, param); @@ -2965,8 +3179,100 @@ double ConstraintC2LDistance::error() double ConstraintC2LDistance::grad(double* param) { - if (findParamInPvec(param) == -1) + if (findParamInPvec(param) == -1) { return 0.0; + } + + double deriv; + errorgrad(nullptr, &deriv, param); + + return deriv * scale; +} + +// -------------------------------------------------------- +// ConstraintP2CDistance +ConstraintP2CDistance::ConstraintP2CDistance(Point& p, Circle& c, double* d) +{ + this->d = d; + pvec.push_back(d); + + this->circle = c; + this->circle.PushOwnParams(pvec); + + this->pt = p; + this->pt.PushOwnParams(pvec); + + origpvec = pvec; + pvecChangedFlag = true; + rescale(); +} + +ConstraintType ConstraintP2CDistance::getTypeId() +{ + return P2CDistance; +} + +void ConstraintP2CDistance::rescale(double coef) +{ + scale = coef; +} + +void ConstraintP2CDistance::ReconstructGeomPointers() +{ + int i = 0; + i++;// skip the first parameter as there is the inline function distance for it + circle.ReconstructOnNewPvec(pvec, i); + pt.ReconstructOnNewPvec(pvec, i); + pvecChangedFlag = false; +} + +void ConstraintP2CDistance::errorgrad(double* err, double* grad, double* param) +{ + if (pvecChangedFlag) { + ReconstructGeomPointers(); + } + + DeriVector2 ct(circle.center, param); + DeriVector2 p(pt, param); + DeriVector2 v_length = ct.subtr(p); + + double dlength; + double length = v_length.length(dlength); + + if (err) { + *err = *circle.rad + *distance() - length; + if (length < *circle.rad) { + *err = *circle.rad - *distance() - length; + } + } + else if (grad) { + if (param == distance()) { + *grad = 1.0; + if (length < *circle.rad) { + *grad = -1.0; + } + } + else if (param == circle.rad) { + *grad = 1.0; + } + else { + *grad = -dlength; + } + } +} + +double ConstraintP2CDistance::error() +{ + double err; + errorgrad(&err, nullptr, nullptr); + return scale * err; +} + +double ConstraintP2CDistance::grad(double* param) +{ + if (findParamInPvec(param) == -1) { + return 0.0; + } double deriv; errorgrad(nullptr, &deriv, param); diff --git a/src/Mod/Sketcher/App/planegcs/Constraints.h b/src/Mod/Sketcher/App/planegcs/Constraints.h index 7173de74be..f052b35872 100644 --- a/src/Mod/Sketcher/App/planegcs/Constraints.h +++ b/src/Mod/Sketcher/App/planegcs/Constraints.h @@ -77,7 +77,8 @@ enum ConstraintType SlopeAtBSplineKnot = 28, PointOnBSpline = 29, C2CDistance = 30, - C2LDistance = 31 + C2LDistance = 31, + P2CDistance = 32 }; enum InternalAlignmentType @@ -821,7 +822,10 @@ private: bool internal; public: - ConstraintTangentCircumf(Point& p1, Point& p2, double* rd1, double* rd2, + ConstraintTangentCircumf(Point& p1, + Point& p2, + double* rd1, + double* rd2, bool internal_ = false); #ifdef _GCS_EXTRACT_SOLVER_SUBSYSTEM_ inline ConstraintTangentCircumf(bool internal_) @@ -905,7 +909,8 @@ public: class ConstraintInternalAlignmentPoint2Ellipse: public Constraint { public: - ConstraintInternalAlignmentPoint2Ellipse(Ellipse& e, Point& p1, + ConstraintInternalAlignmentPoint2Ellipse(Ellipse& e, + Point& p1, InternalAlignmentType alignmentType); ConstraintType getTypeId() override; void rescale(double coef = 1.) override; @@ -925,7 +930,8 @@ private: class ConstraintInternalAlignmentPoint2Hyperbola: public Constraint { public: - ConstraintInternalAlignmentPoint2Hyperbola(Hyperbola& e, Point& p1, + ConstraintInternalAlignmentPoint2Hyperbola(Hyperbola& e, + Point& p1, InternalAlignmentType alignmentType); ConstraintType getTypeId() override; void rescale(double coef = 1.) override; @@ -1152,8 +1158,14 @@ private: public: // n1dn2 = n1 divided by n2. from n1 to n2. flipn1 = true instructs to flip ray1's tangent - ConstraintSnell(Curve& ray1, Curve& ray2, Curve& boundary, Point p, double* n1, double* n2, - bool flipn1, bool flipn2); + ConstraintSnell(Curve& ray1, + Curve& ray2, + Curve& boundary, + Point p, + double* n1, + double* n2, + bool flipn1, + bool flipn2); ~ConstraintSnell() override; ConstraintType getTypeId() override; void rescale(double coef = 1.) override; @@ -1226,6 +1238,31 @@ public: double grad(double*) override; }; +// P2CDistance +class ConstraintP2CDistance: public Constraint +{ +private: + Circle circle; + Point pt; + double* d; + inline double* distance() + { + return pvec[0]; + } + void ReconstructGeomPointers();// writes pointers in pvec to the parameters of c + void + errorgrad(double* err, + double* grad, + double* param);// error and gradient combined. Values are returned through pointers. +public: + ConstraintP2CDistance(Point& p, Circle& c, double* d); + ConstraintType getTypeId() override; + void rescale(double coef = 1.) override; + double error() override; + double grad(double*) override; +}; + + }// namespace GCS #endif// PLANEGCS_CONSTRAINTS_H diff --git a/src/Mod/Sketcher/App/planegcs/GCS.cpp b/src/Mod/Sketcher/App/planegcs/GCS.cpp index b8a98734e9..d14a1ff730 100644 --- a/src/Mod/Sketcher/App/planegcs/GCS.cpp +++ b/src/Mod/Sketcher/App/planegcs/GCS.cpp @@ -150,8 +150,9 @@ FullPivLU& FullPivLU::compute(const MatrixdType& matri // when k==0, biggest_in_corner is the biggest coeff absolute value in the original // matrix - if (k == 0) + if (k == 0) { cutoff = biggest_in_corner * NumTraits::epsilon(); + } // if the pivot (hence the corner) is "zero", terminate to avoid generating nan/inf // values. Notice that using an exact comparison (biggest_in_corner==0) here, as @@ -168,8 +169,9 @@ FullPivLU& FullPivLU::compute(const MatrixdType& matri break; } - if (biggest_in_corner > m_maxpivot) + if (biggest_in_corner > m_maxpivot) { m_maxpivot = biggest_in_corner; + } // Now that we've found the pivot, we need to apply the row/col swaps to // bring it to the location (k,k). @@ -188,23 +190,27 @@ FullPivLU& FullPivLU::compute(const MatrixdType& matri // Now that the pivot is at the right location, we update the remaining // bottom-right corner by Gaussian elimination. - if (k < rows - 1) + if (k < rows - 1) { m_lu.col(k).tail(rows - k - 1) /= m_lu.coeff(k, k); - if (k < size - 1) + } + if (k < size - 1) { m_lu.block(k + 1, k + 1, rows - k - 1, cols - k - 1).noalias() -= m_lu.col(k).tail(rows - k - 1) * m_lu.row(k).tail(cols - k - 1); + } } // the main loop is over, we still have to accumulate the transpositions to find the // permutations P and Q m_p.setIdentity(rows); - for (Index k = size - 1; k >= 0; --k) + for (Index k = size - 1; k >= 0; --k) { m_p.applyTranspositionOnTheRight(k, m_rowsTranspositions.coeff(k)); + } m_q.setIdentity(cols); - for (Index k = 0; k < size; ++k) + for (Index k = 0; k < size; ++k) { m_q.applyTranspositionOnTheRight(k, m_colsTranspositions.coeff(k)); + } m_det_pq = (number_of_transpositions % 2) ? -1 : 1; return *this; @@ -232,7 +238,9 @@ public: inline void LogToFile(const std::string& str); - void LogQRSystemInformation(const System& system, int paramsNum = 0, int constrNum = 0, + void LogQRSystemInformation(const System& system, + int paramsNum = 0, + int constrNum = 0, int rank = 0); void LogGroupOfConstraints(const std::string& str, @@ -323,8 +331,10 @@ void SolverReportingManager::LogString(const std::string& str) #endif } -void SolverReportingManager::LogQRSystemInformation(const System& system, int paramsNum, - int constrNum, int rank) +void SolverReportingManager::LogQRSystemInformation(const System& system, + int paramsNum, + int constrNum, + int rank) { std::stringstream tempstream; @@ -359,7 +369,8 @@ void SolverReportingManager::LogQRSystemInformation(const System& system, int pa } void SolverReportingManager::LogGroupOfConstraints( - const std::string& str, std::vector> constraintgroups) + const std::string& str, + std::vector> constraintgroups) { std::stringstream tempstream; @@ -368,8 +379,9 @@ void SolverReportingManager::LogGroupOfConstraints( for (const auto& group : constraintgroups) { tempstream << "["; - for (auto c : group) + for (auto c : group) { tempstream << c->getTag() << " "; + } tempstream << "]" << '\n'; } @@ -384,8 +396,9 @@ void SolverReportingManager::LogSetOfConstraints(const std::string& str, tempstream << str << ": ["; - for (auto c : constraintset) + for (auto c : constraintset) { tempstream << c->getTag() << " "; + } tempstream << "]" << '\n'; @@ -402,8 +415,9 @@ void SolverReportingManager::LogGroupOfParameters(const std::string& str, for (size_t i = 0; i < parametergroups.size(); i++) { tempstream << "["; - for (auto p : parametergroups[i]) + for (auto p : parametergroups[i]) { tempstream << std::hex << p << " "; + } tempstream << "]" << '\n'; } @@ -446,42 +460,42 @@ using Graph = boost::adjacency_list constrvec; for (std::vector::const_iterator constr = clist.begin(); constr != clist.end(); ++constr) { - if ((*constr)->getTag() == tagId) + if ((*constr)->getTag() == tagId) { constrvec.push_back(*constr); + } } for (std::vector::const_iterator constr = constrvec.begin(); constr != constrvec.end(); @@ -614,8 +629,9 @@ void System::clearByTag(int tagId) int System::addConstraint(Constraint* constr) { isInit = false; - if (constr->getTag() >= 0)// negatively tagged constraints have no impact - hasDiagnosis = false; // on the diagnosis + if (constr->getTag() >= 0) {// negatively tagged constraints have no impact + hasDiagnosis = false; // on the diagnosis + } clist.push_back(constr); VEC_pD constr_params = constr->params(); @@ -632,12 +648,14 @@ void System::removeConstraint(Constraint* constr) { std::vector::iterator it; it = std::find(clist.begin(), clist.end(), constr); - if (it == clist.end()) + if (it == clist.end()) { return; + } clist.erase(it); - if (constr->getTag() >= 0) + if (constr->getTag() >= 0) { hasDiagnosis = false; + } clearSubSystems(); VEC_pD constr_params = c2p[constr]; @@ -654,7 +672,10 @@ void System::removeConstraint(Constraint* constr) // basic constraints -int System::addConstraintEqual(double* param1, double* param2, int tagId, bool driving, +int System::addConstraintEqual(double* param1, + double* param2, + int tagId, + bool driving, Constraint::Alignment internalalignment) { Constraint* constr = new ConstraintEqual(param1, param2); @@ -664,7 +685,10 @@ int System::addConstraintEqual(double* param1, double* param2, int tagId, bool d return addConstraint(constr); } -int System::addConstraintProportional(double* param1, double* param2, double ratio, int tagId, +int System::addConstraintProportional(double* param1, + double* param2, + double ratio, + int tagId, bool driving) { Constraint* constr = new ConstraintEqual(param1, param2, ratio); @@ -673,7 +697,10 @@ int System::addConstraintProportional(double* param1, double* param2, double rat return addConstraint(constr); } -int System::addConstraintDifference(double* param1, double* param2, double* difference, int tagId, +int System::addConstraintDifference(double* param1, + double* param2, + double* difference, + int tagId, bool driving) { Constraint* constr = new ConstraintDifference(param1, param2, difference); @@ -682,7 +709,10 @@ int System::addConstraintDifference(double* param1, double* param2, double* diff return addConstraint(constr); } -int System::addConstraintP2PDistance(Point& p1, Point& p2, double* distance, int tagId, +int System::addConstraintP2PDistance(Point& p1, + Point& p2, + double* distance, + int tagId, bool driving) { Constraint* constr = new ConstraintP2PDistance(p1, p2, distance); @@ -691,7 +721,11 @@ int System::addConstraintP2PDistance(Point& p1, Point& p2, double* distance, int return addConstraint(constr); } -int System::addConstraintP2PAngle(Point& p1, Point& p2, double* angle, double incrAngle, int tagId, +int System::addConstraintP2PAngle(Point& p1, + Point& p2, + double* angle, + double incrAngle, + int tagId, bool driving) { Constraint* constr = new ConstraintP2PAngle(p1, p2, angle, incrAngle); @@ -737,7 +771,10 @@ int System::addConstraintPointOnPerpBisector(Point& p, Line& l, int tagId, bool return addConstraint(constr); } -int System::addConstraintPointOnPerpBisector(Point& p, Point& lp1, Point& lp2, int tagId, +int System::addConstraintPointOnPerpBisector(Point& p, + Point& lp1, + Point& lp2, + int tagId, bool driving) { Constraint* constr = new ConstraintPointOnPerpBisector(p, lp1, lp2); @@ -762,8 +799,12 @@ int System::addConstraintPerpendicular(Line& l1, Line& l2, int tagId, bool drivi return addConstraint(constr); } -int System::addConstraintPerpendicular(Point& l1p1, Point& l1p2, Point& l2p1, Point& l2p2, - int tagId, bool driving) +int System::addConstraintPerpendicular(Point& l1p1, + Point& l1p2, + Point& l2p1, + Point& l2p2, + int tagId, + bool driving) { Constraint* constr = new ConstraintPerpendicular(l1p1, l1p2, l2p1, l2p2); constr->setTag(tagId); @@ -779,8 +820,13 @@ int System::addConstraintL2LAngle(Line& l1, Line& l2, double* angle, int tagId, return addConstraint(constr); } -int System::addConstraintL2LAngle(Point& l1p1, Point& l1p2, Point& l2p1, Point& l2p2, double* angle, - int tagId, bool driving) +int System::addConstraintL2LAngle(Point& l1p1, + Point& l1p2, + Point& l2p1, + Point& l2p2, + double* angle, + int tagId, + bool driving) { Constraint* constr = new ConstraintL2LAngle(l1p1, l1p2, l2p1, l2p2, angle); constr->setTag(tagId); @@ -788,7 +834,11 @@ int System::addConstraintL2LAngle(Point& l1p1, Point& l1p2, Point& l2p1, Point& return addConstraint(constr); } -int System::addConstraintAngleViaPoint(Curve& crv1, Curve& crv2, Point& p, double* angle, int tagId, +int System::addConstraintAngleViaPoint(Curve& crv1, + Curve& crv2, + Point& p, + double* angle, + int tagId, bool driving) { Constraint* constr = new ConstraintAngleViaPoint(crv1, crv2, p, angle); @@ -805,8 +855,12 @@ int System::addConstraintMidpointOnLine(Line& l1, Line& l2, int tagId, bool driv return addConstraint(constr); } -int System::addConstraintMidpointOnLine(Point& l1p1, Point& l1p2, Point& l2p1, Point& l2p2, - int tagId, bool driving) +int System::addConstraintMidpointOnLine(Point& l1p1, + Point& l1p2, + Point& l2p1, + Point& l2p2, + int tagId, + bool driving) { Constraint* constr = new ConstraintMidpointOnLine(l1p1, l1p2, l2p1, l2p2); constr->setTag(tagId); @@ -814,8 +868,13 @@ int System::addConstraintMidpointOnLine(Point& l1p1, Point& l1p2, Point& l2p1, P return addConstraint(constr); } -int System::addConstraintTangentCircumf(Point& p1, Point& p2, double* rad1, double* rad2, - bool internal, int tagId, bool driving) +int System::addConstraintTangentCircumf(Point& p1, + Point& p2, + double* rad1, + double* rad2, + bool internal, + int tagId, + bool driving) { Constraint* constr = new ConstraintTangentCircumf(p1, p2, rad1, rad2, internal); constr->setTag(tagId); @@ -823,8 +882,11 @@ int System::addConstraintTangentCircumf(Point& p1, Point& p2, double* rad1, doub return addConstraint(constr); } -int System::addConstraintTangentAtBSplineKnot(BSpline& b, Line& l, unsigned int knotindex, - int tagId, bool driving) +int System::addConstraintTangentAtBSplineKnot(BSpline& b, + Line& l, + unsigned int knotindex, + int tagId, + bool driving) { Constraint* constr = new ConstraintSlopeAtBSplineKnot(b, l, knotindex); constr->setTag(tagId); @@ -848,6 +910,14 @@ int System::addConstraintC2LDistance(Circle& c, Line& l, double* dist, int tagId return addConstraint(constr); } +int System::addConstraintP2CDistance(Point& p, Circle& c, double* distance, int tagId, bool driving) +{ + Constraint* constr = new ConstraintP2CDistance(p, c, distance); + constr->setTag(tagId); + constr->setDriving(driving); + return addConstraint(constr); +} + // derived constraints int System::addConstraintP2PCoincident(Point& p1, Point& p2, int tagId, bool driving) @@ -921,7 +991,10 @@ int System::addConstraintPointOnParabolicArc(Point& p, ArcOfParabola& e, int tag return addConstraint(constr); } -int System::addConstraintPointOnBSpline(Point& p, BSpline& b, double* pointparam, int tagId, +int System::addConstraintPointOnBSpline(Point& p, + BSpline& b, + double* pointparam, + int tagId, bool driving) { Constraint* constr = new ConstraintPointOnBSpline(p.x, pointparam, 0, b); @@ -970,31 +1043,44 @@ int System::addConstraintPointOnArc(Point& p, Arc& a, int tagId, bool driving) return addConstraintP2PDistance(p, a.center, a.rad, tagId, driving); } -int System::addConstraintPerpendicularLine2Arc(Point& p1, Point& p2, Arc& a, int tagId, +int System::addConstraintPerpendicularLine2Arc(Point& p1, + Point& p2, + Arc& a, + int tagId, bool driving) { addConstraintP2PCoincident(p2, a.start, tagId, driving); double dx = *(p2.x) - *(p1.x); double dy = *(p2.y) - *(p1.y); - if (dx * cos(*(a.startAngle)) + dy * sin(*(a.startAngle)) > 0) + if (dx * cos(*(a.startAngle)) + dy * sin(*(a.startAngle)) > 0) { return addConstraintP2PAngle(p1, p2, a.startAngle, 0, tagId, driving); - else + } + else { return addConstraintP2PAngle(p1, p2, a.startAngle, M_PI, tagId, driving); + } } -int System::addConstraintPerpendicularArc2Line(Arc& a, Point& p1, Point& p2, int tagId, +int System::addConstraintPerpendicularArc2Line(Arc& a, + Point& p1, + Point& p2, + int tagId, bool driving) { addConstraintP2PCoincident(p1, a.end, tagId, driving); double dx = *(p2.x) - *(p1.x); double dy = *(p2.y) - *(p1.y); - if (dx * cos(*(a.endAngle)) + dy * sin(*(a.endAngle)) > 0) + if (dx * cos(*(a.endAngle)) + dy * sin(*(a.endAngle)) > 0) { return addConstraintP2PAngle(p1, p2, a.endAngle, 0, tagId, driving); - else + } + else { return addConstraintP2PAngle(p1, p2, a.endAngle, M_PI, tagId, driving); + } } -int System::addConstraintPerpendicularCircle2Arc(Point& center, double* radius, Arc& a, int tagId, +int System::addConstraintPerpendicularCircle2Arc(Point& center, + double* radius, + Arc& a, + int tagId, bool driving) { addConstraintP2PDistance(a.start, center, radius, tagId, driving); @@ -1002,13 +1088,18 @@ int System::addConstraintPerpendicularCircle2Arc(Point& center, double* radius, double tangAngle = *a.startAngle + incrAngle; double dx = *(a.start.x) - *(center.x); double dy = *(a.start.y) - *(center.y); - if (dx * cos(tangAngle) + dy * sin(tangAngle) > 0) + if (dx * cos(tangAngle) + dy * sin(tangAngle) > 0) { return addConstraintP2PAngle(center, a.start, a.startAngle, incrAngle, tagId, driving); - else + } + else { return addConstraintP2PAngle(center, a.start, a.startAngle, -incrAngle, tagId, driving); + } } -int System::addConstraintPerpendicularArc2Circle(Arc& a, Point& center, double* radius, int tagId, +int System::addConstraintPerpendicularArc2Circle(Arc& a, + Point& center, + double* radius, + int tagId, bool driving) { addConstraintP2PDistance(a.end, center, radius, tagId, driving); @@ -1016,14 +1107,20 @@ int System::addConstraintPerpendicularArc2Circle(Arc& a, Point& center, double* double tangAngle = *a.endAngle + incrAngle; double dx = *(a.end.x) - *(center.x); double dy = *(a.end.y) - *(center.y); - if (dx * cos(tangAngle) + dy * sin(tangAngle) > 0) + if (dx * cos(tangAngle) + dy * sin(tangAngle) > 0) { return addConstraintP2PAngle(center, a.end, a.endAngle, incrAngle, tagId, driving); - else + } + else { return addConstraintP2PAngle(center, a.end, a.endAngle, -incrAngle, tagId, driving); + } } -int System::addConstraintPerpendicularArc2Arc(Arc& a1, bool reverse1, Arc& a2, bool reverse2, - int tagId, bool driving) +int System::addConstraintPerpendicularArc2Arc(Arc& a1, + bool reverse1, + Arc& a2, + bool reverse2, + int tagId, + bool driving) { Point& p1 = reverse1 ? a1.start : a1.end; Point& p2 = reverse2 ? a2.end : a2.start; @@ -1054,8 +1151,13 @@ int System::addConstraintTangent(Circle& c1, Circle& c2, int tagId, bool driving double dx = *(c2.center.x) - *(c1.center.x); double dy = *(c2.center.y) - *(c1.center.y); double d = sqrt(dx * dx + dy * dy); - return addConstraintTangentCircumf( - c1.center, c2.center, c1.rad, c2.rad, (d < *c1.rad || d < *c2.rad), tagId, driving); + return addConstraintTangentCircumf(c1.center, + c2.center, + c1.rad, + c2.rad, + (d < *c1.rad || d < *c2.rad), + tagId, + driving); } int System::addConstraintTangent(Arc& a1, Arc& a2, int tagId, bool driving) @@ -1063,8 +1165,13 @@ int System::addConstraintTangent(Arc& a1, Arc& a2, int tagId, bool driving) double dx = *(a2.center.x) - *(a1.center.x); double dy = *(a2.center.y) - *(a1.center.y); double d = sqrt(dx * dx + dy * dy); - return addConstraintTangentCircumf( - a1.center, a2.center, a1.rad, a2.rad, (d < *a1.rad || d < *a2.rad), tagId, driving); + return addConstraintTangentCircumf(a1.center, + a2.center, + a1.rad, + a2.rad, + (d < *a1.rad || d < *a2.rad), + tagId, + driving); } int System::addConstraintTangent(Circle& c, Arc& a, int tagId, bool driving) @@ -1072,8 +1179,13 @@ int System::addConstraintTangent(Circle& c, Arc& a, int tagId, bool driving) double dx = *(a.center.x) - *(c.center.x); double dy = *(a.center.y) - *(c.center.y); double d = sqrt(dx * dx + dy * dy); - return addConstraintTangentCircumf( - c.center, a.center, c.rad, a.rad, (d < *c.rad || d < *a.rad), tagId, driving); + return addConstraintTangentCircumf(c.center, + a.center, + c.rad, + a.rad, + (d < *c.rad || d < *a.rad), + tagId, + driving); } int System::addConstraintCircleRadius(Circle& c, double* radius, int tagId, bool driving) @@ -1159,8 +1271,16 @@ int System::addConstraintP2PSymmetric(Point& p1, Point& p2, Point& p, int tagId, return addConstraintPointOnLine(p, p1, p2, tagId, driving); } -int System::addConstraintSnellsLaw(Curve& ray1, Curve& ray2, Curve& boundary, Point p, double* n1, - double* n2, bool flipn1, bool flipn2, int tagId, bool driving) +int System::addConstraintSnellsLaw(Curve& ray1, + Curve& ray2, + Curve& boundary, + Point p, + double* n1, + double* n2, + bool flipn1, + bool flipn2, + int tagId, + bool driving) { Constraint* constr = new ConstraintSnell(ray1, ray2, boundary, p, n1, n2, flipn1, flipn2); constr->setTag(tagId); @@ -1168,9 +1288,11 @@ int System::addConstraintSnellsLaw(Curve& ray1, Curve& ray2, Curve& boundary, Po return addConstraint(constr); } -int System::addConstraintInternalAlignmentPoint2Ellipse(Ellipse& e, Point& p1, +int System::addConstraintInternalAlignmentPoint2Ellipse(Ellipse& e, + Point& p1, InternalAlignmentType alignmentType, - int tagId, bool driving) + int tagId, + bool driving) { Constraint* constr = new ConstraintInternalAlignmentPoint2Ellipse(e, p1, alignmentType); constr->setTag(tagId); @@ -1179,9 +1301,11 @@ int System::addConstraintInternalAlignmentPoint2Ellipse(Ellipse& e, Point& p1, return addConstraint(constr); } -int System::addConstraintInternalAlignmentPoint2Hyperbola(Hyperbola& e, Point& p1, +int System::addConstraintInternalAlignmentPoint2Hyperbola(Hyperbola& e, + Point& p1, InternalAlignmentType alignmentType, - int tagId, bool driving) + int tagId, + bool driving) { Constraint* constr = new ConstraintInternalAlignmentPoint2Hyperbola(e, p1, alignmentType); constr->setTag(tagId); @@ -1190,8 +1314,11 @@ int System::addConstraintInternalAlignmentPoint2Hyperbola(Hyperbola& e, Point& p return addConstraint(constr); } -int System::addConstraintInternalAlignmentEllipseMajorDiameter(Ellipse& e, Point& p1, Point& p2, - int tagId, bool driving) +int System::addConstraintInternalAlignmentEllipseMajorDiameter(Ellipse& e, + Point& p1, + Point& p2, + int tagId, + bool driving) { double X_1 = *p1.x; double Y_1 = *p1.y; @@ -1234,21 +1361,30 @@ int System::addConstraintInternalAlignmentEllipseMajorDiameter(Ellipse& e, Point addConstraintInternalAlignmentPoint2Ellipse(e, p2, EllipsePositiveMajorX, tagId, driving); addConstraintInternalAlignmentPoint2Ellipse(e, p2, EllipsePositiveMajorY, tagId, driving); addConstraintInternalAlignmentPoint2Ellipse(e, p1, EllipseNegativeMajorX, tagId, driving); - return addConstraintInternalAlignmentPoint2Ellipse( - e, p1, EllipseNegativeMajorY, tagId, driving); + return addConstraintInternalAlignmentPoint2Ellipse(e, + p1, + EllipseNegativeMajorY, + tagId, + driving); } else { // p1 is closer to positivemajor addConstraintInternalAlignmentPoint2Ellipse(e, p1, EllipsePositiveMajorX, tagId, driving); addConstraintInternalAlignmentPoint2Ellipse(e, p1, EllipsePositiveMajorY, tagId, driving); addConstraintInternalAlignmentPoint2Ellipse(e, p2, EllipseNegativeMajorX, tagId, driving); - return addConstraintInternalAlignmentPoint2Ellipse( - e, p2, EllipseNegativeMajorY, tagId, driving); + return addConstraintInternalAlignmentPoint2Ellipse(e, + p2, + EllipseNegativeMajorY, + tagId, + driving); } } -int System::addConstraintInternalAlignmentEllipseMinorDiameter(Ellipse& e, Point& p1, Point& p2, - int tagId, bool driving) +int System::addConstraintInternalAlignmentEllipseMinorDiameter(Ellipse& e, + Point& p1, + Point& p2, + int tagId, + bool driving) { double X_1 = *p1.x; double Y_1 = *p1.y; @@ -1272,35 +1408,51 @@ int System::addConstraintInternalAlignmentEllipseMinorDiameter(Ellipse& e, Point addConstraintInternalAlignmentPoint2Ellipse(e, p2, EllipsePositiveMinorX, tagId, driving); addConstraintInternalAlignmentPoint2Ellipse(e, p2, EllipsePositiveMinorY, tagId, driving); addConstraintInternalAlignmentPoint2Ellipse(e, p1, EllipseNegativeMinorX, tagId, driving); - return addConstraintInternalAlignmentPoint2Ellipse( - e, p1, EllipseNegativeMinorY, tagId, driving); + return addConstraintInternalAlignmentPoint2Ellipse(e, + p1, + EllipseNegativeMinorY, + tagId, + driving); } else { addConstraintInternalAlignmentPoint2Ellipse(e, p1, EllipsePositiveMinorX, tagId, driving); addConstraintInternalAlignmentPoint2Ellipse(e, p1, EllipsePositiveMinorY, tagId, driving); addConstraintInternalAlignmentPoint2Ellipse(e, p2, EllipseNegativeMinorX, tagId, driving); - return addConstraintInternalAlignmentPoint2Ellipse( - e, p2, EllipseNegativeMinorY, tagId, driving); + return addConstraintInternalAlignmentPoint2Ellipse(e, + p2, + EllipseNegativeMinorY, + tagId, + driving); } } -int System::addConstraintInternalAlignmentEllipseFocus1(Ellipse& e, Point& p1, int tagId, +int System::addConstraintInternalAlignmentEllipseFocus1(Ellipse& e, + Point& p1, + int tagId, bool driving) { addConstraintEqual(e.focus1.x, p1.x, tagId, driving, Constraint::Alignment::InternalAlignment); - return addConstraintEqual( - e.focus1.y, p1.y, tagId, driving, Constraint::Alignment::InternalAlignment); + return addConstraintEqual(e.focus1.y, + p1.y, + tagId, + driving, + Constraint::Alignment::InternalAlignment); } -int System::addConstraintInternalAlignmentEllipseFocus2(Ellipse& e, Point& p1, int tagId, +int System::addConstraintInternalAlignmentEllipseFocus2(Ellipse& e, + Point& p1, + int tagId, bool driving) { addConstraintInternalAlignmentPoint2Ellipse(e, p1, EllipseFocus2X, tagId, driving); return addConstraintInternalAlignmentPoint2Ellipse(e, p1, EllipseFocus2Y, tagId, driving); } -int System::addConstraintInternalAlignmentHyperbolaMajorDiameter(Hyperbola& e, Point& p1, Point& p2, - int tagId, bool driving) +int System::addConstraintInternalAlignmentHyperbolaMajorDiameter(Hyperbola& e, + Point& p1, + Point& p2, + int tagId, + bool driving) { double X_1 = *p1.x; double Y_1 = *p1.y; @@ -1340,30 +1492,57 @@ int System::addConstraintInternalAlignmentHyperbolaMajorDiameter(Hyperbola& e, P if (closertopositivemajor > 0) { // p2 is closer to positivemajor. Assign constraints back-to-front. - addConstraintInternalAlignmentPoint2Hyperbola( - e, p2, HyperbolaPositiveMajorX, tagId, driving); - addConstraintInternalAlignmentPoint2Hyperbola( - e, p2, HyperbolaPositiveMajorY, tagId, driving); - addConstraintInternalAlignmentPoint2Hyperbola( - e, p1, HyperbolaNegativeMajorX, tagId, driving); - return addConstraintInternalAlignmentPoint2Hyperbola( - e, p1, HyperbolaNegativeMajorY, tagId, driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p2, + HyperbolaPositiveMajorX, + tagId, + driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p2, + HyperbolaPositiveMajorY, + tagId, + driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p1, + HyperbolaNegativeMajorX, + tagId, + driving); + return addConstraintInternalAlignmentPoint2Hyperbola(e, + p1, + HyperbolaNegativeMajorY, + tagId, + driving); } else { // p1 is closer to positivemajor - addConstraintInternalAlignmentPoint2Hyperbola( - e, p1, HyperbolaPositiveMajorX, tagId, driving); - addConstraintInternalAlignmentPoint2Hyperbola( - e, p1, HyperbolaPositiveMajorY, tagId, driving); - addConstraintInternalAlignmentPoint2Hyperbola( - e, p2, HyperbolaNegativeMajorX, tagId, driving); - return addConstraintInternalAlignmentPoint2Hyperbola( - e, p2, HyperbolaNegativeMajorY, tagId, driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p1, + HyperbolaPositiveMajorX, + tagId, + driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p1, + HyperbolaPositiveMajorY, + tagId, + driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p2, + HyperbolaNegativeMajorX, + tagId, + driving); + return addConstraintInternalAlignmentPoint2Hyperbola(e, + p2, + HyperbolaNegativeMajorY, + tagId, + driving); } } -int System::addConstraintInternalAlignmentHyperbolaMinorDiameter(Hyperbola& e, Point& p1, Point& p2, - int tagId, bool driving) +int System::addConstraintInternalAlignmentHyperbolaMinorDiameter(Hyperbola& e, + Point& p1, + Point& p2, + int tagId, + bool driving) { double X_1 = *p1.x; double Y_1 = *p1.y; @@ -1396,57 +1575,105 @@ int System::addConstraintInternalAlignmentHyperbolaMinorDiameter(Hyperbola& e, P 2); if (closertopositiveminor < 0) { - addConstraintInternalAlignmentPoint2Hyperbola( - e, p2, HyperbolaPositiveMinorX, tagId, driving); - addConstraintInternalAlignmentPoint2Hyperbola( - e, p2, HyperbolaPositiveMinorY, tagId, driving); - addConstraintInternalAlignmentPoint2Hyperbola( - e, p1, HyperbolaNegativeMinorX, tagId, driving); - return addConstraintInternalAlignmentPoint2Hyperbola( - e, p1, HyperbolaNegativeMinorY, tagId, driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p2, + HyperbolaPositiveMinorX, + tagId, + driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p2, + HyperbolaPositiveMinorY, + tagId, + driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p1, + HyperbolaNegativeMinorX, + tagId, + driving); + return addConstraintInternalAlignmentPoint2Hyperbola(e, + p1, + HyperbolaNegativeMinorY, + tagId, + driving); } else { - addConstraintInternalAlignmentPoint2Hyperbola( - e, p1, HyperbolaPositiveMinorX, tagId, driving); - addConstraintInternalAlignmentPoint2Hyperbola( - e, p1, HyperbolaPositiveMinorY, tagId, driving); - addConstraintInternalAlignmentPoint2Hyperbola( - e, p2, HyperbolaNegativeMinorX, tagId, driving); - return addConstraintInternalAlignmentPoint2Hyperbola( - e, p2, HyperbolaNegativeMinorY, tagId, driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p1, + HyperbolaPositiveMinorX, + tagId, + driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p1, + HyperbolaPositiveMinorY, + tagId, + driving); + addConstraintInternalAlignmentPoint2Hyperbola(e, + p2, + HyperbolaNegativeMinorX, + tagId, + driving); + return addConstraintInternalAlignmentPoint2Hyperbola(e, + p2, + HyperbolaNegativeMinorY, + tagId, + driving); } } -int System::addConstraintInternalAlignmentHyperbolaFocus(Hyperbola& e, Point& p1, int tagId, +int System::addConstraintInternalAlignmentHyperbolaFocus(Hyperbola& e, + Point& p1, + int tagId, bool driving) { addConstraintEqual(e.focus1.x, p1.x, tagId, driving, Constraint::Alignment::InternalAlignment); - return addConstraintEqual( - e.focus1.y, p1.y, tagId, driving, Constraint::Alignment::InternalAlignment); + return addConstraintEqual(e.focus1.y, + p1.y, + tagId, + driving, + Constraint::Alignment::InternalAlignment); } -int System::addConstraintInternalAlignmentParabolaFocus(Parabola& e, Point& p1, int tagId, +int System::addConstraintInternalAlignmentParabolaFocus(Parabola& e, + Point& p1, + int tagId, bool driving) { addConstraintEqual(e.focus1.x, p1.x, tagId, driving, Constraint::Alignment::InternalAlignment); - return addConstraintEqual( - e.focus1.y, p1.y, tagId, driving, Constraint::Alignment::InternalAlignment); + return addConstraintEqual(e.focus1.y, + p1.y, + tagId, + driving, + Constraint::Alignment::InternalAlignment); } -int System::addConstraintInternalAlignmentBSplineControlPoint(BSpline& b, Circle& c, - unsigned int poleindex, int tagId, +int System::addConstraintInternalAlignmentBSplineControlPoint(BSpline& b, + Circle& c, + unsigned int poleindex, + int tagId, bool driving) { - addConstraintEqual( - b.poles[poleindex].x, c.center.x, tagId, driving, Constraint::Alignment::InternalAlignment); - addConstraintEqual( - b.poles[poleindex].y, c.center.y, tagId, driving, Constraint::Alignment::InternalAlignment); - return addConstraintEqual( - b.weights[poleindex], c.rad, tagId, driving, Constraint::Alignment::InternalAlignment); + addConstraintEqual(b.poles[poleindex].x, + c.center.x, + tagId, + driving, + Constraint::Alignment::InternalAlignment); + addConstraintEqual(b.poles[poleindex].y, + c.center.y, + tagId, + driving, + Constraint::Alignment::InternalAlignment); + return addConstraintEqual(b.weights[poleindex], + c.rad, + tagId, + driving, + Constraint::Alignment::InternalAlignment); } -int System::addConstraintInternalAlignmentKnotPoint(BSpline& b, Point& p, unsigned int knotindex, - int tagId, bool driving) +int System::addConstraintInternalAlignmentKnotPoint(BSpline& b, + Point& p, + unsigned int knotindex, + int tagId, + bool driving) { if (b.periodic && knotindex == 0) { // This is done here since knotpoints themselves aren't stored @@ -1455,8 +1682,9 @@ int System::addConstraintInternalAlignmentKnotPoint(BSpline& b, Point& p, unsign } size_t numpoles = b.degree - b.mult[knotindex] + 1; - if (numpoles == 0) + if (numpoles == 0) { numpoles = 1; + } // `startpole` is the first pole affecting the knot with `knotindex` size_t startpole = 0; @@ -1473,31 +1701,37 @@ int System::addConstraintInternalAlignmentKnotPoint(BSpline& b, Point& p, unsign // The `knotindex` gives us the intervals, so work backwards and find // the affecting poles. // Note that this works also for periodic B-splines, just that the poles wrap around if needed. - for (size_t j = 1; j <= knotindex; ++j) + for (size_t j = 1; j <= knotindex; ++j) { startpole += b.mult[j]; + } // For the last knot, even the upper limit of the last interval range // is included. So offset for that. // For periodic B-splines the `flattenedknots` are defined differently, // so this is not needed for them. - if (!b.periodic && startpole >= b.poles.size()) + if (!b.periodic && startpole >= b.poles.size()) { startpole = b.poles.size() - 1; + } // Calculate the factors to be passed to weighted linear combination constraint. // The if condition has a small performance benefit, but that is not why it is here. // One case when numpoles <= 1 is for the last knot of a non-periodic B-spline. // In this case, the interval `k` passed to `getLinCombFactor` is degenerate, and this is the // cleanest way to handle it. - if (numpoles > 1) - for (size_t i = 0; i < numpoles; ++i) + if (numpoles > 1) { + for (size_t i = 0; i < numpoles; ++i) { factors[i] = b.getLinCombFactor(*(b.knots[knotindex]), startpole + b.degree, startpole + i); + } + } // The mod operation is to adjust for periodic B-splines. // This can be separated for performance reasons but it will be less readable. - for (size_t i = 0; i < numpoles; ++i) + for (size_t i = 0; i < numpoles; ++i) { pvec.push_back(b.poles[(startpole + i) % b.poles.size()].x); - for (size_t i = 0; i < numpoles; ++i) + } + for (size_t i = 0; i < numpoles; ++i) { pvec.push_back(b.weights[(startpole + i) % b.poles.size()]); + } Constraint* constr = new ConstraintWeightedLinearCombination(numpoles, pvec, factors); constr->setTag(tagId); @@ -1507,10 +1741,12 @@ int System::addConstraintInternalAlignmentKnotPoint(BSpline& b, Point& p, unsign pvec.clear(); pvec.push_back(p.y); - for (size_t i = 0; i < numpoles; ++i) + for (size_t i = 0; i < numpoles; ++i) { pvec.push_back(b.poles[(startpole + i) % b.poles.size()].y); - for (size_t i = 0; i < numpoles; ++i) + } + for (size_t i = 0; i < numpoles; ++i) { pvec.push_back(b.weights[(startpole + i) % b.poles.size()]); + } constr = new ConstraintWeightedLinearCombination(numpoles, pvec, factors); constr->setTag(tagId); @@ -1528,15 +1764,17 @@ double System::calculateAngleViaPoint(const Curve& crv1, const Curve& crv2, Poin return calculateAngleViaPoint(crv1, crv2, p, p); } -double System::calculateAngleViaPoint(const Curve& crv1, const Curve& crv2, Point& p1, - Point& p2) const +double +System::calculateAngleViaPoint(const Curve& crv1, const Curve& crv2, Point& p1, Point& p2) const { GCS::DeriVector2 n1 = crv1.CalculateNormal(p1); GCS::DeriVector2 n2 = crv2.CalculateNormal(p2); return atan2(-n2.x * n1.y + n2.y * n1.x, n2.x * n1.x + n2.y * n1.y); } -void System::calculateNormalAtPoint(const Curve& crv, const Point& p, double& rtnX, +void System::calculateNormalAtPoint(const Curve& crv, + const Point& p, + double& rtnX, double& rtnY) const { GCS::DeriVector2 n1 = crv.CalculateNormal(p); @@ -1572,18 +1810,21 @@ double System::calculateConstraintErrorByTag(int tagId) void System::rescaleConstraint(int id, double coeff) { - if (id >= static_cast(clist.size()) || id < 0) + if (id >= static_cast(clist.size()) || id < 0) { return; - if (clist[id]) + } + if (clist[id]) { clist[id]->rescale(coeff); + } } void System::declareUnknowns(VEC_pD& params) { plist = params; pIndex.clear(); - for (int i = 0; i < int(plist.size()); ++i) + for (int i = 0; i < int(plist.size()); ++i) { pIndex[plist[i]] = i; + } hasUnknowns = true; } @@ -1606,8 +1847,9 @@ void System::initSolution(Algorithm alg) // system reduction specified in the previous step isInit = false; - if (!hasUnknowns) + if (!hasUnknowns) { return; + } // storing reference configuration setReference(); @@ -1615,15 +1857,17 @@ void System::initSolution(Algorithm alg) // diagnose conflicting or redundant constraints if (!hasDiagnosis) { diagnose(alg); - if (!hasDiagnosis) + if (!hasDiagnosis) { return; + } } std::vector clistR; if (!redundant.empty()) { for (std::vector::const_iterator constr = clist.begin(); constr != clist.end(); ++constr) { - if (redundant.count(*constr) == 0) + if (redundant.count(*constr) == 0) { clistR.push_back(*constr); + } } } else { @@ -1632,8 +1876,9 @@ void System::initSolution(Algorithm alg) // partitioning into decoupled components Graph g; - for (int i = 0; i < int(plist.size() + clistR.size()); i++) + for (int i = 0; i < int(plist.size() + clistR.size()); i++) { boost::add_vertex(g); + } int cvtid = int(plist.size()); for (std::vector::const_iterator constr = clistR.begin(); constr != clistR.end(); @@ -1641,15 +1886,17 @@ void System::initSolution(Algorithm alg) VEC_pD& cparams = c2p[*constr]; for (VEC_pD::const_iterator param = cparams.begin(); param != cparams.end(); ++param) { MAP_pD_I::const_iterator it = pIndex.find(*param); - if (it != pIndex.end()) + if (it != pIndex.end()) { boost::add_edge(cvtid, it->second, g); + } } } VEC_I components(boost::num_vertices(g)); int componentsSize = 0; - if (!components.empty()) + if (!components.empty()) { componentsSize = boost::connected_components(g, &components[0]); + } // identification of equality constraints and parameter reduction std::set reducedConstrs;// constraints that will be eliminated through reduction @@ -1670,17 +1917,19 @@ void System::initSolution(Algorithm alg) double* p_kept = reducedParams[it1->second]; double* p_replaced = reducedParams[it2->second]; for (int i = 0; i < int(plist.size()); ++i) { - if (reducedParams[i] == p_replaced) + if (reducedParams[i] == p_replaced) { reducedParams[i] = p_kept; + } } } } } - for (int i = 0; i < int(plist.size()); ++i) + for (int i = 0; i < int(plist.size()); ++i) { if (plist[i] != reducedParams[i]) { int cid = components[i]; reductionmaps[cid][plist[i]] = reducedParams[i]; } + } } clists.clear(); // destroy any lists @@ -1708,18 +1957,22 @@ void System::initSolution(Algorithm alg) for (std::vector::const_iterator constr = clists[cid].begin(); constr != clists[cid].end(); ++constr) { - if ((*constr)->getTag() >= 0) + if ((*constr)->getTag() >= 0) { clist0.push_back(*constr); - else// move or distance from reference constraints + } + else {// move or distance from reference constraints clist1.push_back(*constr); + } } subSystems.push_back(nullptr); subSystemsAux.push_back(nullptr); - if (!clist0.empty()) + if (!clist0.empty()) { subSystems[cid] = new SubSystem(clist0, plists[cid], reductionmaps[cid]); - if (!clist1.empty()) + } + if (!clist1.empty()) { subSystemsAux[cid] = new SubSystem(clist1, plists[cid], reductionmaps[cid]); + } } isInit = true; @@ -1729,8 +1982,9 @@ void System::setReference() { reference.clear(); reference.reserve(plist.size()); - for (VEC_pD::const_iterator param = plist.begin(); param != plist.end(); ++param) + for (VEC_pD::const_iterator param = plist.begin(); param != plist.end(); ++param) { reference.push_back(**param); + } } void System::resetToReference() @@ -1738,8 +1992,9 @@ void System::resetToReference() if (reference.size() == plist.size()) { VEC_D::const_iterator ref = reference.begin(); VEC_pD::iterator param = plist.begin(); - for (; ref != reference.end(); ++ref, ++param) + for (; ref != reference.end(); ++ref, ++param) { **param = *ref; + } } } @@ -1752,8 +2007,9 @@ int System::solve(VEC_pD& params, bool isFine, Algorithm alg, bool isRedundantso int System::solve(bool isFine, Algorithm alg, bool isRedundantsolving) { - if (!isInit) + if (!isInit) { return Failed; + } bool isReset = false; // return success by default in order to permit coincidence constraints to be applied @@ -1764,13 +2020,16 @@ int System::solve(bool isFine, Algorithm alg, bool isRedundantsolving) resetToReference(); isReset = true; } - if (subSystems[cid] && subSystemsAux[cid]) + if (subSystems[cid] && subSystemsAux[cid]) { res = std::max(res, solve(subSystems[cid], subSystemsAux[cid], isFine, isRedundantsolving)); - else if (subSystems[cid]) + } + else if (subSystems[cid]) { res = std::max(res, solve(subSystems[cid], isFine, alg, isRedundantsolving)); - else if (subSystemsAux[cid]) + } + else if (subSystemsAux[cid]) { res = std::max(res, solve(subSystemsAux[cid], isFine, alg, isRedundantsolving)); + } } if (res == Success) { for (std::set::const_iterator constr = redundant.begin(); @@ -1791,14 +2050,18 @@ int System::solve(bool isFine, Algorithm alg, bool isRedundantsolving) int System::solve(SubSystem* subsys, bool isFine, Algorithm alg, bool isRedundantsolving) { - if (alg == BFGS) + if (alg == BFGS) { return solve_BFGS(subsys, isFine, isRedundantsolving); - else if (alg == LevenbergMarquardt) + } + else if (alg == LevenbergMarquardt) { return solve_LM(subsys, isRedundantsolving); - else if (alg == DogLeg) + } + else if (alg == DogLeg) { return solve_DL(subsys, isRedundantsolving); - else + } + else { return Failed; + } } int System::solve_BFGS(SubSystem* subsys, bool /*isFine*/, bool isRedundantsolving) @@ -1808,8 +2071,9 @@ int System::solve_BFGS(SubSystem* subsys, bool /*isFine*/, bool isRedundantsolvi #endif int xsize = subsys->pSize(); - if (xsize == 0) + if (xsize == 0) { return Success; + } subsys->redirectParams(); @@ -1883,8 +2147,9 @@ int System::solve_BFGS(SubSystem* subsys, bool /*isFine*/, bool isRedundantsolvi double hty = h.dot(y); // make sure that hty is never 0 - if (hty == 0) + if (hty == 0) { hty = .0000000001; + } Dy = D * y; @@ -1914,10 +2179,12 @@ int System::solve_BFGS(SubSystem* subsys, bool /*isFine*/, bool isRedundantsolvi subsys->revertParams(); - if (err <= smallF) + if (err <= smallF) { return Success; - if (h.norm() <= (isRedundantsolving ? convergenceRedundant : convergence)) + } + if (h.norm() <= (isRedundantsolving ? convergenceRedundant : convergence)) { return Converged; + } return Failed; } @@ -1930,8 +2197,9 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving) int xsize = subsys->pSize(); int csize = subsys->cSize(); - if (xsize == 0) + if (xsize == 0) { return Success; + } Eigen::VectorXd e(csize), e_new(csize);// vector of all function errors (every constraint is one function) @@ -1999,16 +2267,18 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving) } // compute initial damping factor - if (iter == 0) + if (iter == 0) { mu = tau * diag_A.lpNorm(); + } double h_norm; // determine increment using adaptive damping int k = 0; while (k < 50) { // augment normal equations A = A+uI - for (int i = 0; i < xsize; ++i) + for (int i = 0; i < xsize; ++i) { A(i, i) += mu; + } // solve augmented functions A*h=-g h = A.fullPivLu().solve(g); @@ -2019,8 +2289,9 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving) // restrict h according to maxStep double scale = subsys->maxStep(h); - if (scale < 1.) + if (scale < 1.) { h *= scale; + } // compute par's new estimate and ||d_par||^2 x_new = x + h; @@ -2060,8 +2331,9 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving) mu *= nu; nu *= 2.0; - for (int i = 0; i < xsize; ++i)// restore diagonal J^T J entries + for (int i = 0; i < xsize; ++i) {// restore diagonal J^T J entries A(i, i) = diag_A(i); + } k++; } @@ -2081,8 +2353,9 @@ int System::solve_LM(SubSystem* subsys, bool isRedundantsolving) } } - if (iter >= maxIterNumber) + if (iter >= maxIterNumber) { stop = 5; + } subsys->revertParams(); @@ -2103,8 +2376,9 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) int xsize = subsys->pSize(); int csize = subsys->cSize(); - if (xsize == 0) + if (xsize == 0) { return Success; + } int maxIterNumber = (isRedundantsolving @@ -2154,14 +2428,18 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) while (!stop) { // check if finished - if (fx_inf <= tolf)// Success + if (fx_inf <= tolf) {// Success stop = 1; - else if (g_inf <= tolg) + } + else if (g_inf <= tolg) { stop = 2; - else if (delta <= tolx * (tolx + x.norm())) + } + else if (delta <= tolx * (tolx + x.norm())) { stop = 2; - else if (iter >= maxIterNumber) + } + else if (iter >= maxIterNumber) { stop = 4; + } else if (err > divergingLim || err != err) {// check for diverging and NaN stop = 6; } @@ -2186,8 +2464,9 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) } double rel_error = (Jx * h_gn + fx).norm() / fx.norm(); - if (rel_error > 1e15) + if (rel_error > 1e15) { break; + } // compute the dogleg step if (h_gn.norm() < delta) { @@ -2208,10 +2487,12 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) double gb = (h_sd.transpose() * b).norm(); double c = (delta + h_sd.norm()) * (delta - h_sd.norm()); - if (gb > 0) + if (gb > 0) { beta = c / (gb + sqrt(gb * gb + c * bb)); - else + } + else { beta = (sqrt(gb * gb + c * bb) - gb) / bb; + } // and update h_dl and dL with beta h_dl = h_sd + beta * b; @@ -2219,8 +2500,9 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) } // see if we are already finished - if (stop) + if (stop) { break; + } // it didn't work in some tests // // restrict h_dl according to maxStep @@ -2252,8 +2534,9 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) g_inf = g.lpNorm(); fx_inf = fx.lpNorm(); } - else + else { rho = -1; + } // update delta if (fabs(rho - 1.) < 0.2 && h_dl.norm() > delta / 3. && reduce <= 0) { @@ -2266,8 +2549,9 @@ int System::solve_DL(SubSystem* subsys, bool isRedundantsolving) nu = 2 * nu; reduce = 2; } - else + else { reduce--; + } if (debugMode == IterationLevel) { std::stringstream stream; @@ -4446,8 +4730,11 @@ int System::solve(SubSystem* subsysA, SubSystem* subsysB, bool /*isFine*/, bool std::sort(plistB.begin(), plistB.end()); VEC_pD::const_iterator it; - it = std::set_union( - plistA.begin(), plistA.end(), plistB.begin(), plistB.end(), plistAB.begin()); + it = std::set_union(plistA.begin(), + plistA.end(), + plistB.begin(), + plistB.end(), + plistAB.begin()); plistAB.resize(it - plistAB.begin()); } int xsize = plistAB.size(); @@ -4488,8 +4775,9 @@ int System::solve(SubSystem* subsysA, SubSystem* subsysB, bool /*isFine*/, bool lambda.setZero(); for (int iter = 1; iter < maxIterNumber; iter++) { int status = qp_eq(B, grad, JA, resA, xdir, Y, Z); - if (status) + if (status) { break; + } x0 = x; lambda0 = lambda; @@ -4540,19 +4828,22 @@ int System::solve(SubSystem* subsysA, SubSystem* subsysB, bool /*isFine*/, bool subsysB->setParams(plistAB, x); subsysA->calcResidual(resA); f = subsysB->error() + mu * resA.lpNorm<1>(); - if (f < f0 + eta * alpha * deriv) + if (f < f0 + eta * alpha * deriv) { break; + } } alpha = tau * alpha; - if (alpha < 1e-8)// let the linesearch fail + if (alpha < 1e-8) {// let the linesearch fail alpha = 0.; + } x = x0 + alpha * xdir; subsysA->setParams(plistAB, x); subsysB->setParams(plistAB, x); subsysA->calcResidual(resA); f = subsysB->error() + mu * resA.lpNorm<1>(); - if (alpha < 1e-8)// let the linesearch fail + if (alpha < 1e-8) {// let the linesearch fail break; + } } lambda = lambda0 + alpha * lambdadir; } @@ -4577,19 +4868,25 @@ int System::solve(SubSystem* subsysA, SubSystem* subsysB, bool /*isFine*/, bool } double err = subsysA->error(); - if (h.norm() <= (isRedundantsolving ? convergenceRedundant : convergence) && err <= smallF) + if (h.norm() <= (isRedundantsolving ? convergenceRedundant : convergence) + && err <= smallF) { break; - if (err > divergingLim || err != err)// check for diverging and NaN + } + if (err > divergingLim || err != err) {// check for diverging and NaN break; + } } int ret; - if (subsysA->error() <= smallF) + if (subsysA->error() <= smallF) { ret = Success; - else if (h.norm() <= (isRedundantsolving ? convergenceRedundant : convergence)) + } + else if (h.norm() <= (isRedundantsolving ? convergenceRedundant : convergence)) { ret = Converged; - else + } + else { ret = Failed; + } subsysA->revertParams(); subsysB->revertParams(); @@ -4599,14 +4896,17 @@ int System::solve(SubSystem* subsysA, SubSystem* subsysB, bool /*isFine*/, bool void System::applySolution() { for (int cid = 0; cid < int(subSystems.size()); cid++) { - if (subSystemsAux[cid]) + if (subSystemsAux[cid]) { subSystemsAux[cid]->applySolution(); - if (subSystems[cid]) + } + if (subSystems[cid]) { subSystems[cid]->applySolution(); + } for (MAP_pD_pD::const_iterator it = reductionmaps[cid].begin(); it != reductionmaps[cid].end(); - ++it) + ++it) { *(it->first) = *(it->second); + } } } @@ -4615,8 +4915,10 @@ void System::undoSolution() resetToReference(); } -void System::makeReducedJacobian(Eigen::MatrixXd& J, std::map& jacobianconstraintmap, - GCS::VEC_pD& pdiagnoselist, std::map& tagmultiplicity) +void System::makeReducedJacobian(Eigen::MatrixXd& J, + std::map& jacobianconstraintmap, + GCS::VEC_pD& pdiagnoselist, + std::map& tagmultiplicity) { // construct specific parameter list for diagonose ignoring driven constraint parameters for (int j = 0; j < int(plist.size()); j++) { @@ -4643,17 +4945,20 @@ void System::makeReducedJacobian(Eigen::MatrixXd& J, std::map& jacobia } // parallel processing: create tag multiplicity map - if (tagmultiplicity.find((*constr)->getTag()) == tagmultiplicity.end()) + if (tagmultiplicity.find((*constr)->getTag()) == tagmultiplicity.end()) { tagmultiplicity[(*constr)->getTag()] = 0; - else + } + else { tagmultiplicity[(*constr)->getTag()]++; + } jacobianconstraintmap[jacobianconstraintcount - 1] = allcount - 1; } } - if (jacobianconstraintcount == 0)// only driven constraints + if (jacobianconstraintcount == 0) {// only driven constraints J.resize(0, 0); + } } int System::diagnose(Algorithm alg) @@ -4730,54 +5035,55 @@ int System::diagnose(Algorithm alg) hasDiagnosis = true; dofs = pdiagnoselist.size(); - if (J.rows() > 0) + if (J.rows() > 0) { emptyDiagnoseMatrix = false; + } - // There is a legacy decision to use QR decomposition. I (abdullah) do not know all the - // consideration taken in that decisions. I see that: - // - QR decomposition is able to provide information about the rank and - // redundant/conflicting - // constraints - // - The QR decomposition of J and the QR decomposition of the transpose of J are unrelated - // (for reasons see below): - // https://mathoverflow.net/questions/338729/translate-between-qr-decomposition-of-a-and-a-transpose - // - QR is cheaper than a SVD decomposition - // - QR is more expensive than a rank revealing LU factorization - // - QR is less stable than SVD with respect to rank - // - It is unclear whether it is possible to obtain information about redundancy with SVD - // and LU + // There is a legacy decision to use QR decomposition. I (abdullah) do not know all the + // consideration taken in that decisions. I see that: + // - QR decomposition is able to provide information about the rank and + // redundant/conflicting + // constraints + // - The QR decomposition of J and the QR decomposition of the transpose of J are unrelated + // (for reasons see below): + // https://mathoverflow.net/questions/338729/translate-between-qr-decomposition-of-a-and-a-transpose + // - QR is cheaper than a SVD decomposition + // - QR is more expensive than a rank revealing LU factorization + // - QR is less stable than SVD with respect to rank + // - It is unclear whether it is possible to obtain information about redundancy with SVD + // and LU - // Given this legacy decision, the following is observed: - // - A = QR decomposition can be used for the diagonise of dependency of the "columns" of A. - // the reason is that matrix R is upper triangular with columns of A showing the - // dependencies. - // - The same does not apply to the "rows". - // - For this reason, to enable a full diagnose of constraints, a QR decomposition must be - // done - // on the transpose of the Jacobian matrix (J), this is JT. + // Given this legacy decision, the following is observed: + // - A = QR decomposition can be used for the diagonise of dependency of the "columns" of A. + // the reason is that matrix R is upper triangular with columns of A showing the + // dependencies. + // - The same does not apply to the "rows". + // - For this reason, to enable a full diagnose of constraints, a QR decomposition must be + // done + // on the transpose of the Jacobian matrix (J), this is JT. - // Eigen capabilities: - // - If Eigen full pivoting QR decomposition is used, it is possible to track the rows of JT - // during the decomposition. This can be leveraged to identify a set of independent rows - // of JT (geometry) that form a rank N basis. However, because the R matrix is of the JT - // decomposition and not the J decomposition, it is not possible to reduce the system to - // identify exactly which rows are dependent. - // - The effect is that it provides a set of parameters of geometry that are not constraint, - // but it does not identify ALL geometries that are not fixed. - // - If SpareQR is used, then it is not possible to track the rows of JT during - // decomposition. - // I do not know if it is still possible to obtain geometry information at all from - // SparseQR. After several years these questions remain open: - // https://stackoverflow.com/questions/49009771/getting-rows-transpositions-with-sparse-qr - // https://forum.kde.org/viewtopic.php?f=74&t=151239 - // - // Implementation below: - // - // Two QR decompositions are used below. One for diagnosis of constraints and a second one - // for diagnosis of parameters, i.e. to identify whether the parameter is fully constraint - // (independent) or not (i.e. it is dependent). + // Eigen capabilities: + // - If Eigen full pivoting QR decomposition is used, it is possible to track the rows of JT + // during the decomposition. This can be leveraged to identify a set of independent rows + // of JT (geometry) that form a rank N basis. However, because the R matrix is of the JT + // decomposition and not the J decomposition, it is not possible to reduce the system to + // identify exactly which rows are dependent. + // - The effect is that it provides a set of parameters of geometry that are not constraint, + // but it does not identify ALL geometries that are not fixed. + // - If SpareQR is used, then it is not possible to track the rows of JT during + // decomposition. + // I do not know if it is still possible to obtain geometry information at all from + // SparseQR. After several years these questions remain open: + // https://stackoverflow.com/questions/49009771/getting-rows-transpositions-with-sparse-qr + // https://forum.kde.org/viewtopic.php?f=74&t=151239 + // + // Implementation below: + // + // Two QR decompositions are used below. One for diagnosis of constraints and a second one + // for diagnosis of parameters, i.e. to identify whether the parameter is fully constraint + // (independent) or not (i.e. it is dependent). - // QR decomposition method selection: SparseQR vs DenseQR + // QR decomposition method selection: SparseQR vs DenseQR #ifndef EIGEN_SPARSEQR_COMPATIBLE if (qrAlgorithm == EigenSparseQR) { @@ -4841,8 +5147,9 @@ int System::diagnose(Algorithm alg) constrNum, rank, nonredundantconstrNum); - if (paramsNum == rank && nonredundantconstrNum > rank)// over-constrained + if (paramsNum == rank && nonredundantconstrNum > rank) {// over-constrained dofs = paramsNum - nonredundantconstrNum; + } } } #ifdef PROFILE_DIAGNOSE @@ -4886,8 +5193,13 @@ int System::diagnose(Algorithm alg) pdiagnoselist, /*silent=*/true); - makeSparseQRDecomposition( - J, jacobianconstraintmap, SqrJT, rank, R, /*transposed=*/true, /*silent=*/false); + makeSparseQRDecomposition(J, + jacobianconstraintmap, + SqrJT, + rank, + R, + /*transposed=*/true, + /*silent=*/false); int paramsNum = SqrJT.rows(); int constrNum = SqrJT.cols(); @@ -4911,8 +5223,9 @@ int System::diagnose(Algorithm alg) rank, nonredundantconstrNum); - if (paramsNum == rank && nonredundantconstrNum > rank)// over-constrained + if (paramsNum == rank && nonredundantconstrNum > rank) {// over-constrained dofs = paramsNum - nonredundantconstrNum; + } } } @@ -4931,13 +5244,17 @@ int System::diagnose(Algorithm alg) void System::makeDenseQRDecomposition(const Eigen::MatrixXd& J, const std::map& jacobianconstraintmap, - Eigen::FullPivHouseholderQR& qrJT, int& rank, - Eigen::MatrixXd& R, bool transposeJ, bool silent) + Eigen::FullPivHouseholderQR& qrJT, + int& rank, + Eigen::MatrixXd& R, + bool transposeJ, + bool silent) { #ifdef _GCS_DEBUG - if (!silent) + if (!silent) { SolverReportingManager::Manager().LogMatrix("J", J); + } #endif #ifdef _GCS_DEBUG_SOLVER_JACOBIAN_QR_DECOMPOSITION_TRIANGULAR_MATRIX @@ -4953,10 +5270,12 @@ void System::makeDenseQRDecomposition(const Eigen::MatrixXd& J, if (J.rows() > 0) { Eigen::MatrixXd JG; - if (transposeJ) + if (transposeJ) { JG = J.topRows(jacobianconstraintmap.size()).transpose(); - else + } + else { JG = J.topRows(jacobianconstraintmap.size()); + } if (JG.rows() > 0 && JG.cols() > 0) { @@ -4967,10 +5286,12 @@ void System::makeDenseQRDecomposition(const Eigen::MatrixXd& J, qrJT.setThreshold(qrpivotThreshold); rank = qrJT.rank(); - if (colsNum >= rowsNum) + if (colsNum >= rowsNum) { R = qrJT.matrixQR().triangularView(); - else + } + else { R = qrJT.matrixQR().topRows(colsNum).triangularView(); + } } else { rowsNum = JG.rows(); @@ -5001,9 +5322,13 @@ void System::makeDenseQRDecomposition(const Eigen::MatrixXd& J, #ifdef EIGEN_SPARSEQR_COMPATIBLE void System::makeSparseQRDecomposition( - const Eigen::MatrixXd& J, const std::map& jacobianconstraintmap, - Eigen::SparseQR, Eigen::COLAMDOrdering>& SqrJT, int& rank, - Eigen::MatrixXd& R, bool transposeJ, bool silent) + const Eigen::MatrixXd& J, + const std::map& jacobianconstraintmap, + Eigen::SparseQR, Eigen::COLAMDOrdering>& SqrJT, + int& rank, + Eigen::MatrixXd& R, + bool transposeJ, + bool silent) { Eigen::SparseMatrix SJ; @@ -5015,8 +5340,9 @@ void System::makeSparseQRDecomposition( SJ.makeCompressed(); #ifdef _GCS_DEBUG - if (!silent) + if (!silent) { SolverReportingManager::Manager().LogMatrix("J", J); + } #endif #ifdef _GCS_DEBUG_SOLVER_JACOBIAN_QR_DECOMPOSITION_TRIANGULAR_MATRIX @@ -5032,10 +5358,12 @@ void System::makeSparseQRDecomposition( if (SJ.rows() > 0) { Eigen::SparseMatrix SJG; - if (transposeJ) + if (transposeJ) { SJG = SJ.topRows(jacobianconstraintmap.size()).transpose(); - else + } + else { SJG = SJ.topRows(jacobianconstraintmap.size()); + } if (SJG.rows() > 0 && SJG.cols() > 0) { SqrJT.compute(SJG); @@ -5052,10 +5380,12 @@ void System::makeSparseQRDecomposition( SqrJT.setPivotThreshold(qrpivotThreshold); rank = SqrJT.rank(); - if (colsNum >= rowsNum) + if (colsNum >= rowsNum) { R = SqrJT.matrixR().triangularView(); - else + } + else { R = SqrJT.matrixR().topRows(colsNum).triangularView(); + } #ifdef _GCS_DEBUG_SOLVER_JACOBIAN_QR_DECOMPOSITION_TRIANGULAR_MATRIX R2 = SqrJT.matrixR(); @@ -5067,8 +5397,9 @@ void System::makeSparseQRDecomposition( } } - if (debugMode == IterationLevel && !silent) + if (debugMode == IterationLevel && !silent) { SolverReportingManager::Manager().LogQRSystemInformation(*this, rowsNum, colsNum, rank); + } #ifdef _GCS_DEBUG_SOLVER_JACOBIAN_QR_DECOMPOSITION_TRIANGULAR_MATRIX if (J.rows() > 0 && !silent) { @@ -5087,7 +5418,8 @@ void System::makeSparseQRDecomposition( void System::identifyDependentParametersDenseQR(const Eigen::MatrixXd& J, const std::map& jacobianconstraintmap, - const GCS::VEC_pD& pdiagnoselist, bool silent) + const GCS::VEC_pD& pdiagnoselist, + bool silent) { Eigen::FullPivHouseholderQR qrJ; Eigen::MatrixXd Rparams; @@ -5102,7 +5434,8 @@ void System::identifyDependentParametersDenseQR(const Eigen::MatrixXd& J, #ifdef EIGEN_SPARSEQR_COMPATIBLE void System::identifyDependentParametersSparseQR(const Eigen::MatrixXd& J, const std::map& jacobianconstraintmap, - const GCS::VEC_pD& pdiagnoselist, bool silent) + const GCS::VEC_pD& pdiagnoselist, + bool silent) { Eigen::SparseQR, Eigen::COLAMDOrdering> SqrJ; Eigen::MatrixXd Rparams; @@ -5122,8 +5455,11 @@ void System::identifyDependentParametersSparseQR(const Eigen::MatrixXd& J, #endif template -void System::identifyDependentParameters(T& qrJ, Eigen::MatrixXd& Rparams, int rank, - const GCS::VEC_pD& pdiagnoselist, bool silent) +void System::identifyDependentParameters(T& qrJ, + Eigen::MatrixXd& Rparams, + int rank, + const GCS::VEC_pD& pdiagnoselist, + bool silent) { (void)silent;// silent is only used in debug code, but it is important as Base::Console is not // thread-safe. Removes warning in non Debug mode. @@ -5134,8 +5470,9 @@ void System::identifyDependentParameters(T& qrJ, Eigen::MatrixXd& Rparams, int r eliminateNonZerosOverPivotInUpperTriangularMatrix(Rparams, rank); #ifdef _GCS_DEBUG - if (!silent) + if (!silent) { SolverReportingManager::Manager().LogMatrix("Rparams_nonzeros_over_pilot", Rparams); + } #endif pDependentParametersGroups.resize(qrJ.cols() - rank); @@ -5167,8 +5504,10 @@ void System::identifyDependentParameters(T& qrJ, Eigen::MatrixXd& Rparams, int r } void System::identifyDependentGeometryParametersInTransposedJacobianDenseQRDecomposition( - const Eigen::FullPivHouseholderQR& qrJT, const GCS::VEC_pD& pdiagnoselist, - int paramsNum, int rank) + const Eigen::FullPivHouseholderQR& qrJT, + const GCS::VEC_pD& pdiagnoselist, + int paramsNum, + int rank) { // DETECTING CONSTRAINT SOLVER PARAMETERS // @@ -5189,8 +5528,9 @@ void System::identifyDependentGeometryParametersInTransposedJacobianDenseQRDecom // P.J.P' = Q.R see https://eigen.tuxfamily.org/dox/classEigen_1_1FullPivHouseholderQR.html const MatrixIndexType rowTranspositions = qrJT.rowsTranspositions(); - for (int k = 0; k < rank; ++k) + for (int k = 0; k < rank; ++k) { rowPermutations.applyTranspositionOnTheRight(k, rowTranspositions.coeff(k)); + } #ifdef _GCS_DEBUG_SOLVER_JACOBIAN_QR_DECOMPOSITION_TRIANGULAR_MATRIX std::stringstream stream; @@ -5231,13 +5571,15 @@ void System::identifyDependentGeometryParametersInTransposedJacobianDenseQRDecom stream.flush(); stream << "Indep params: ["; - for (auto indep : indepParamCols) + for (auto indep : indepParamCols) { stream << indep; + } stream << "]" << std::endl; stream << "Dep params: ["; - for (auto dep : depParamCols) + for (auto dep : depParamCols) { stream << dep; + } stream << "]" << std::endl; tmp = stream.str(); @@ -5268,9 +5610,15 @@ void System::eliminateNonZerosOverPivotInUpperTriangularMatrix(Eigen::MatrixXd& template void System::identifyConflictingRedundantConstraints( - Algorithm alg, const T& qrJT, const std::map& jacobianconstraintmap, - const std::map& tagmultiplicity, GCS::VEC_pD& pdiagnoselist, Eigen::MatrixXd& R, - int constrNum, int rank, int& nonredundantconstrNum) + Algorithm alg, + const T& qrJT, + const std::map& jacobianconstraintmap, + const std::map& tagmultiplicity, + GCS::VEC_pD& pdiagnoselist, + Eigen::MatrixXd& R, + int constrNum, + int rank, + int& nonredundantconstrNum) { eliminateNonZerosOverPivotInUpperTriangularMatrix(R, rank); @@ -5291,7 +5639,8 @@ void System::identifyConflictingRedundantConstraints( // Augment the information regarding the group of constraints that are conflicting or redundant. if (debugMode == IterationLevel) { SolverReportingManager::Manager().LogGroupOfConstraints( - "Analysing groups of constraints of special interest", conflictGroups); + "Analysing groups of constraints of special interest", + conflictGroups); } // try to remove the conflicting constraints and solve the @@ -5313,16 +5662,18 @@ void System::identifyConflictingRedundantConstraints( bool isinternalalignment = (constr->isInternalAlignment() == Constraint::Alignment::InternalAlignment); bool priorityconstraint = (constr->getTag() == 0); - if (!priorityconstraint - && !isinternalalignment)// exclude constraints tagged with zero and internal - // alignment + if (!priorityconstraint && !isinternalalignment) {// exclude constraints tagged + // with zero and internal + // alignment conflictingMap[constr].insert(i); + } } } } - if (conflictingMap.empty()) + if (conflictingMap.empty()) { break; + } int maxPopularity = 0; Constraint* mostPopular = nullptr; @@ -5395,8 +5746,9 @@ void System::identifyConflictingRedundantConstraints( clistTmp.reserve(clist.size()); for (std::vector::iterator constr = clist.begin(); constr != clist.end(); ++constr) { - if ((*constr)->isDriving() && skipped.count(*constr) == 0) + if ((*constr)->isDriving() && skipped.count(*constr) == 0) { clistTmp.push_back(*constr); + } } SubSystem* subSysTmp = new SubSystem(clistTmp, pdiagnoselist); @@ -5425,8 +5777,9 @@ void System::identifyConflictingRedundantConstraints( constr != skipped.end(); ++constr) { double err = (*constr)->error(); - if (err * err < convergenceRedundant) + if (err * err < convergenceRedundant) { redundant.insert(*constr); + } } resetToReference(); @@ -5452,10 +5805,12 @@ void System::identifyConflictingRedundantConstraints( break; } } - if (!isRedundant) + if (!isRedundant) { conflictGroups.push_back(conflictGroupsOrig[i]); - else + } + else { constrNum--; + } } } delete subSysTmp; @@ -5467,9 +5822,10 @@ void System::identifyConflictingRedundantConstraints( bool isinternalalignment = (conflictGroups[i][j]->isInternalAlignment() == Constraint::Alignment::InternalAlignment); if (conflictGroups[i][j]->getTag() != 0 - && !isinternalalignment)// exclude constraints tagged with zero and internal - // alignment + && !isinternalalignment) {// exclude constraints tagged with zero and internal + // alignment conflictingTagsSet.insert(conflictGroups[i][j]->getTag()); + } } } @@ -5485,15 +5841,19 @@ void System::identifyConflictingRedundantConstraints( } // remove tags represented at least in one non-redundant constraint - for (std::vector::iterator constr = clist.begin(); constr != clist.end(); ++constr) - if (redundant.count(*constr) == 0) + for (std::vector::iterator constr = clist.begin(); constr != clist.end(); + ++constr) { + if (redundant.count(*constr) == 0) { redundantTagsSet.erase((*constr)->getTag()); + } + } redundantTags.resize(redundantTagsSet.size()); std::copy(redundantTagsSet.begin(), redundantTagsSet.end(), redundantTags.begin()); - for (auto r : redundantTagsSet) + for (auto r : redundantTagsSet) { partiallyRedundantTagsSet.erase(r); + } partiallyRedundantTags.resize(partiallyRedundantTagsSet.size()); std::copy(partiallyRedundantTagsSet.begin(), @@ -5554,8 +5914,9 @@ double lineSearch(SubSystem* subsys, Eigen::VectorXd& xdir) f2 = subsys->error(); } else if (f2 > f3) { - if (alpha3 >= alphaMax) + if (alpha3 >= alphaMax) { break; + } // If f2 is greater than f3 then we increase alpha2 and alpha3 away from f1 // Effectively both are lengthened by a factor of two. alpha2 = alpha3; @@ -5570,14 +5931,17 @@ double lineSearch(SubSystem* subsys, Eigen::VectorXd& xdir) alphaStar = alpha2 + ((alpha2 - alpha1) * (f1 - f3)) / (3 * (f1 - 2 * f2 + f3)); // Guarantee that the new alphaStar is within the bracket - if (alphaStar >= alpha3 || alphaStar <= alpha1) + if (alphaStar >= alpha3 || alphaStar <= alpha1) { alphaStar = alpha2; + } - if (alphaStar > alphaMax) + if (alphaStar > alphaMax) { alphaStar = alphaMax; + } - if (alphaStar != alphaStar) + if (alphaStar != alphaStar) { alphaStar = 0.; + } // Take a final step to alphaStar x = x0 + alphaStar * xdir; @@ -5590,8 +5954,9 @@ double lineSearch(SubSystem* subsys, Eigen::VectorXd& xdir) void free(VEC_pD& doublevec) { for (VEC_pD::iterator it = doublevec.begin(); it != doublevec.end(); ++it) { - if (*it) + if (*it) { delete *it; + } } doublevec.clear(); } @@ -5644,8 +6009,9 @@ void free(std::vector& constrvec) void free(std::vector& subsysvec) { for (std::vector::iterator it = subsysvec.begin(); it != subsysvec.end(); ++it) { - if (*it) + if (*it) { delete *it; + } } } diff --git a/src/Mod/Sketcher/App/planegcs/GCS.h b/src/Mod/Sketcher/App/planegcs/GCS.h index b8a379bfd9..fb8f28312d 100644 --- a/src/Mod/Sketcher/App/planegcs/GCS.h +++ b/src/Mod/Sketcher/App/planegcs/GCS.h @@ -147,33 +147,47 @@ private: int solve_LM(SubSystem* subsys, bool isRedundantsolving = false); int solve_DL(SubSystem* subsys, bool isRedundantsolving = false); - void makeReducedJacobian(Eigen::MatrixXd& J, std::map& jacobianconstraintmap, - GCS::VEC_pD& pdiagnoselist, std::map& tagmultiplicity); + void makeReducedJacobian(Eigen::MatrixXd& J, + std::map& jacobianconstraintmap, + GCS::VEC_pD& pdiagnoselist, + std::map& tagmultiplicity); void makeDenseQRDecomposition(const Eigen::MatrixXd& J, const std::map& jacobianconstraintmap, - Eigen::FullPivHouseholderQR& qrJT, int& rank, - Eigen::MatrixXd& R, bool transposeJ = true, bool silent = false); + Eigen::FullPivHouseholderQR& qrJT, + int& rank, + Eigen::MatrixXd& R, + bool transposeJ = true, + bool silent = false); #ifdef EIGEN_SPARSEQR_COMPATIBLE void makeSparseQRDecomposition( - const Eigen::MatrixXd& J, const std::map& jacobianconstraintmap, - Eigen::SparseQR, Eigen::COLAMDOrdering>& SqrJT, int& rank, - Eigen::MatrixXd& R, bool transposeJ = true, bool silent = false); + const Eigen::MatrixXd& J, + const std::map& jacobianconstraintmap, + Eigen::SparseQR, Eigen::COLAMDOrdering>& SqrJT, + int& rank, + Eigen::MatrixXd& R, + bool transposeJ = true, + bool silent = false); #endif // This function name is long for a reason: // - Only for DenseQR // - Only for Transposed Jacobian QR decomposition void identifyDependentGeometryParametersInTransposedJacobianDenseQRDecomposition( - const Eigen::FullPivHouseholderQR& qrJT, const GCS::VEC_pD& pdiagnoselist, - int paramsNum, int rank); + const Eigen::FullPivHouseholderQR& qrJT, + const GCS::VEC_pD& pdiagnoselist, + int paramsNum, + int rank); template - void identifyConflictingRedundantConstraints(Algorithm alg, const T& qrJT, + void identifyConflictingRedundantConstraints(Algorithm alg, + const T& qrJT, const std::map& jacobianconstraintmap, const std::map& tagmultiplicity, - GCS::VEC_pD& pdiagnoselist, Eigen::MatrixXd& R, - int constrNum, int rank, + GCS::VEC_pD& pdiagnoselist, + Eigen::MatrixXd& R, + int constrNum, + int rank, int& nonredundantconstrNum); void eliminateNonZerosOverPivotInUpperTriangularMatrix(Eigen::MatrixXd& R, int rank); @@ -181,16 +195,21 @@ private: #ifdef EIGEN_SPARSEQR_COMPATIBLE void identifyDependentParametersSparseQR(const Eigen::MatrixXd& J, const std::map& jacobianconstraintmap, - const GCS::VEC_pD& pdiagnoselist, bool silent = true); + const GCS::VEC_pD& pdiagnoselist, + bool silent = true); #endif void identifyDependentParametersDenseQR(const Eigen::MatrixXd& J, const std::map& jacobianconstraintmap, - const GCS::VEC_pD& pdiagnoselist, bool silent = true); + const GCS::VEC_pD& pdiagnoselist, + bool silent = true); template - void identifyDependentParameters(T& qrJ, Eigen::MatrixXd& Rparams, int rank, - const GCS::VEC_pD& pdiagnoselist, bool silent = true); + void identifyDependentParameters(T& qrJ, + Eigen::MatrixXd& Rparams, + int rank, + const GCS::VEC_pD& pdiagnoselist, + bool silent = true); #ifdef _GCS_EXTRACT_SOLVER_SUBSYSTEM_ void extractSubsystem(SubSystem* subsys, bool isRedundantsolving); @@ -233,43 +252,90 @@ public: // basic constraints int addConstraintEqual( - double* param1, double* param2, int tagId = 0, bool driving = true, + double* param1, + double* param2, + int tagId = 0, + bool driving = true, Constraint::Alignment internalalignment = Constraint::Alignment::NoInternalAlignment); - int addConstraintProportional(double* param1, double* param2, double ratio, int tagId, + int addConstraintProportional(double* param1, + double* param2, + double ratio, + int tagId, bool driving = true); - int addConstraintDifference(double* param1, double* param2, double* difference, int tagId = 0, + int addConstraintDifference(double* param1, + double* param2, + double* difference, + int tagId = 0, bool driving = true); - int addConstraintP2PDistance(Point& p1, Point& p2, double* distance, int tagId = 0, + int addConstraintP2PDistance(Point& p1, + Point& p2, + double* distance, + int tagId = 0, bool driving = true); - int addConstraintP2PAngle(Point& p1, Point& p2, double* angle, double incrAngle, int tagId = 0, + int addConstraintP2PAngle(Point& p1, + Point& p2, + double* angle, + double incrAngle, + int tagId = 0, bool driving = true); - int addConstraintP2PAngle(Point& p1, Point& p2, double* angle, int tagId = 0, - bool driving = true); - int addConstraintP2LDistance(Point& p, Line& l, double* distance, int tagId = 0, + int + addConstraintP2PAngle(Point& p1, Point& p2, double* angle, int tagId = 0, bool driving = true); + int addConstraintP2LDistance(Point& p, + Line& l, + double* distance, + int tagId = 0, bool driving = true); int addConstraintPointOnLine(Point& p, Line& l, int tagId = 0, bool driving = true); - int addConstraintPointOnLine(Point& p, Point& lp1, Point& lp2, int tagId = 0, - bool driving = true); + int + addConstraintPointOnLine(Point& p, Point& lp1, Point& lp2, int tagId = 0, bool driving = true); int addConstraintPointOnPerpBisector(Point& p, Line& l, int tagId = 0, bool driving = true); - int addConstraintPointOnPerpBisector(Point& p, Point& lp1, Point& lp2, int tagId = 0, + int addConstraintPointOnPerpBisector(Point& p, + Point& lp1, + Point& lp2, + int tagId = 0, bool driving = true); int addConstraintParallel(Line& l1, Line& l2, int tagId = 0, bool driving = true); int addConstraintPerpendicular(Line& l1, Line& l2, int tagId = 0, bool driving = true); - int addConstraintPerpendicular(Point& l1p1, Point& l1p2, Point& l2p1, Point& l2p2, - int tagId = 0, bool driving = true); - int addConstraintL2LAngle(Line& l1, Line& l2, double* angle, int tagId = 0, + int addConstraintPerpendicular(Point& l1p1, + Point& l1p2, + Point& l2p1, + Point& l2p2, + int tagId = 0, + bool driving = true); + int + addConstraintL2LAngle(Line& l1, Line& l2, double* angle, int tagId = 0, bool driving = true); + int addConstraintL2LAngle(Point& l1p1, + Point& l1p2, + Point& l2p1, + Point& l2p2, + double* angle, + int tagId = 0, bool driving = true); - int addConstraintL2LAngle(Point& l1p1, Point& l1p2, Point& l2p1, Point& l2p2, double* angle, - int tagId = 0, bool driving = true); - int addConstraintAngleViaPoint(Curve& crv1, Curve& crv2, Point& p, double* angle, int tagId = 0, + int addConstraintAngleViaPoint(Curve& crv1, + Curve& crv2, + Point& p, + double* angle, + int tagId = 0, bool driving = true); int addConstraintMidpointOnLine(Line& l1, Line& l2, int tagId = 0, bool driving = true); - int addConstraintMidpointOnLine(Point& l1p1, Point& l1p2, Point& l2p1, Point& l2p2, - int tagId = 0, bool driving = true); - int addConstraintTangentCircumf(Point& p1, Point& p2, double* rd1, double* rd2, - bool internal = false, int tagId = 0, bool driving = true); - int addConstraintTangentAtBSplineKnot(BSpline& b, Line& l, unsigned int knotindex, - int tagId = 0, bool driving = true); + int addConstraintMidpointOnLine(Point& l1p1, + Point& l1p2, + Point& l2p1, + Point& l2p2, + int tagId = 0, + bool driving = true); + int addConstraintTangentCircumf(Point& p1, + Point& p2, + double* rd1, + double* rd2, + bool internal = false, + int tagId = 0, + bool driving = true); + int addConstraintTangentAtBSplineKnot(BSpline& b, + Line& l, + unsigned int knotindex, + int tagId = 0, + bool driving = true); // derived constraints int addConstraintP2PCoincident(Point& p1, Point& p2, int tagId = 0, bool driving = true); @@ -282,27 +348,50 @@ public: int addConstraintArcRules(Arc& a, int tagId = 0, bool driving = true); int addConstraintPointOnCircle(Point& p, Circle& c, int tagId = 0, bool driving = true); int addConstraintPointOnEllipse(Point& p, Ellipse& e, int tagId = 0, bool driving = true); - int addConstraintPointOnHyperbolicArc(Point& p, ArcOfHyperbola& e, int tagId = 0, + int addConstraintPointOnHyperbolicArc(Point& p, + ArcOfHyperbola& e, + int tagId = 0, bool driving = true); - int addConstraintPointOnParabolicArc(Point& p, ArcOfParabola& e, int tagId = 0, + int addConstraintPointOnParabolicArc(Point& p, + ArcOfParabola& e, + int tagId = 0, bool driving = true); - int addConstraintPointOnBSpline(Point& p, BSpline& b, double* pointparam, int tagId, + int addConstraintPointOnBSpline(Point& p, + BSpline& b, + double* pointparam, + int tagId, bool driving = true); int addConstraintArcOfEllipseRules(ArcOfEllipse& a, int tagId = 0, bool driving = true); int addConstraintCurveValue(Point& p, Curve& a, double* u, int tagId = 0, bool driving = true); int addConstraintArcOfHyperbolaRules(ArcOfHyperbola& a, int tagId = 0, bool driving = true); int addConstraintArcOfParabolaRules(ArcOfParabola& a, int tagId = 0, bool driving = true); int addConstraintPointOnArc(Point& p, Arc& a, int tagId = 0, bool driving = true); - int addConstraintPerpendicularLine2Arc(Point& p1, Point& p2, Arc& a, int tagId = 0, + int addConstraintPerpendicularLine2Arc(Point& p1, + Point& p2, + Arc& a, + int tagId = 0, bool driving = true); - int addConstraintPerpendicularArc2Line(Arc& a, Point& p1, Point& p2, int tagId = 0, + int addConstraintPerpendicularArc2Line(Arc& a, + Point& p1, + Point& p2, + int tagId = 0, bool driving = true); - int addConstraintPerpendicularCircle2Arc(Point& center, double* radius, Arc& a, int tagId = 0, + int addConstraintPerpendicularCircle2Arc(Point& center, + double* radius, + Arc& a, + int tagId = 0, bool driving = true); - int addConstraintPerpendicularArc2Circle(Arc& a, Point& center, double* radius, int tagId = 0, + int addConstraintPerpendicularArc2Circle(Arc& a, + Point& center, + double* radius, + int tagId = 0, bool driving = true); - int addConstraintPerpendicularArc2Arc(Arc& a1, bool reverse1, Arc& a2, bool reverse2, - int tagId = 0, bool driving = true); + int addConstraintPerpendicularArc2Arc(Arc& a1, + bool reverse1, + Arc& a2, + bool reverse2, + int tagId = 0, + bool driving = true); int addConstraintTangent(Line& l, Circle& c, int tagId = 0, bool driving = true); int addConstraintTangent(Line& l, Ellipse& e, int tagId = 0, bool driving = true); int addConstraintTangent(Line& l, Arc& a, int tagId = 0, bool driving = true); @@ -312,58 +401,103 @@ public: int addConstraintCircleRadius(Circle& c, double* radius, int tagId = 0, bool driving = true); int addConstraintArcRadius(Arc& a, double* radius, int tagId = 0, bool driving = true); - int addConstraintCircleDiameter(Circle& c, double* diameter, int tagId = 0, - bool driving = true); + int + addConstraintCircleDiameter(Circle& c, double* diameter, int tagId = 0, bool driving = true); int addConstraintArcDiameter(Arc& a, double* diameter, int tagId = 0, bool driving = true); int addConstraintEqualLength(Line& l1, Line& l2, int tagId = 0, bool driving = true); int addConstraintEqualRadius(Circle& c1, Circle& c2, int tagId = 0, bool driving = true); int addConstraintEqualRadii(Ellipse& e1, Ellipse& e2, int tagId = 0, bool driving = true); - int addConstraintEqualRadii(ArcOfHyperbola& a1, ArcOfHyperbola& a2, int tagId = 0, + int addConstraintEqualRadii(ArcOfHyperbola& a1, + ArcOfHyperbola& a2, + int tagId = 0, bool driving = true); int addConstraintEqualRadius(Circle& c1, Arc& a2, int tagId = 0, bool driving = true); int addConstraintEqualRadius(Arc& a1, Arc& a2, int tagId = 0, bool driving = true); - int addConstraintEqualFocus(ArcOfParabola& a1, ArcOfParabola& a2, int tagId = 0, + int addConstraintEqualFocus(ArcOfParabola& a1, + ArcOfParabola& a2, + int tagId = 0, bool driving = true); - int addConstraintP2PSymmetric(Point& p1, Point& p2, Line& l, int tagId = 0, - bool driving = true); - int addConstraintP2PSymmetric(Point& p1, Point& p2, Point& p, int tagId = 0, - bool driving = true); - int addConstraintSnellsLaw(Curve& ray1, Curve& ray2, Curve& boundary, Point p, double* n1, - double* n2, bool flipn1, bool flipn2, int tagId, + int + addConstraintP2PSymmetric(Point& p1, Point& p2, Line& l, int tagId = 0, bool driving = true); + int + addConstraintP2PSymmetric(Point& p1, Point& p2, Point& p, int tagId = 0, bool driving = true); + int addConstraintSnellsLaw(Curve& ray1, + Curve& ray2, + Curve& boundary, + Point p, + double* n1, + double* n2, + bool flipn1, + bool flipn2, + int tagId, bool driving = true); - int addConstraintC2CDistance(Circle& c1, Circle& c2, double* dist, int tagId, - bool driving = true); + int + addConstraintC2CDistance(Circle& c1, Circle& c2, double* dist, int tagId, bool driving = true); int addConstraintC2LDistance(Circle& c, Line& l, double* dist, int tagId, bool driving = true); + int addConstraintP2CDistance(Point& p, + Circle& c, + double* distance, + int tagId = 0, + bool driving = true); // internal alignment constraints - int addConstraintInternalAlignmentPoint2Ellipse(Ellipse& e, Point& p1, + int addConstraintInternalAlignmentPoint2Ellipse(Ellipse& e, + Point& p1, InternalAlignmentType alignmentType, - int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentEllipseMajorDiameter(Ellipse& e, Point& p1, Point& p2, - int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentEllipseMinorDiameter(Ellipse& e, Point& p1, Point& p2, - int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentEllipseFocus1(Ellipse& e, Point& p1, int tagId = 0, + int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentEllipseFocus2(Ellipse& e, Point& p1, int tagId = 0, + int addConstraintInternalAlignmentEllipseMajorDiameter(Ellipse& e, + Point& p1, + Point& p2, + int tagId = 0, + bool driving = true); + int addConstraintInternalAlignmentEllipseMinorDiameter(Ellipse& e, + Point& p1, + Point& p2, + int tagId = 0, + bool driving = true); + int addConstraintInternalAlignmentEllipseFocus1(Ellipse& e, + Point& p1, + int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentPoint2Hyperbola(Hyperbola& e, Point& p1, + int addConstraintInternalAlignmentEllipseFocus2(Ellipse& e, + Point& p1, + int tagId = 0, + bool driving = true); + int addConstraintInternalAlignmentPoint2Hyperbola(Hyperbola& e, + Point& p1, InternalAlignmentType alignmentType, - int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentHyperbolaMajorDiameter(Hyperbola& e, Point& p1, Point& p2, - int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentHyperbolaMinorDiameter(Hyperbola& e, Point& p1, Point& p2, - int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentHyperbolaFocus(Hyperbola& e, Point& p1, int tagId = 0, + int tagId = 0, + bool driving = true); + int addConstraintInternalAlignmentHyperbolaMajorDiameter(Hyperbola& e, + Point& p1, + Point& p2, + int tagId = 0, + bool driving = true); + int addConstraintInternalAlignmentHyperbolaMinorDiameter(Hyperbola& e, + Point& p1, + Point& p2, + int tagId = 0, + bool driving = true); + int addConstraintInternalAlignmentHyperbolaFocus(Hyperbola& e, + Point& p1, + int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentParabolaFocus(Parabola& e, Point& p1, int tagId = 0, + int addConstraintInternalAlignmentParabolaFocus(Parabola& e, + Point& p1, + int tagId = 0, bool driving = true); - int addConstraintInternalAlignmentBSplineControlPoint(BSpline& b, Circle& c, - unsigned int poleindex, int tag = 0, + int addConstraintInternalAlignmentBSplineControlPoint(BSpline& b, + Circle& c, + unsigned int poleindex, + int tag = 0, bool driving = true); - int addConstraintInternalAlignmentKnotPoint(BSpline& b, Point& p, unsigned int knotindex, - int tagId = 0, bool driving = true); + int addConstraintInternalAlignmentKnotPoint(BSpline& b, + Point& p, + unsigned int knotindex, + int tagId = 0, + bool driving = true); double calculateAngleViaPoint(const Curve& crv1, const Curve& crv2, Point& p) const; double calculateAngleViaPoint(const Curve& crv1, const Curve& crv2, Point& p1, Point& p2) const; @@ -383,11 +517,17 @@ public: void initSolution(Algorithm alg = DogLeg); int solve(bool isFine = true, Algorithm alg = DogLeg, bool isRedundantsolving = false); - int solve(VEC_pD& params, bool isFine = true, Algorithm alg = DogLeg, + int solve(VEC_pD& params, + bool isFine = true, + Algorithm alg = DogLeg, bool isRedundantsolving = false); - int solve(SubSystem* subsys, bool isFine = true, Algorithm alg = DogLeg, + int solve(SubSystem* subsys, + bool isFine = true, + Algorithm alg = DogLeg, bool isRedundantsolving = false); - int solve(SubSystem* subsysA, SubSystem* subsysB, bool isFine = true, + int solve(SubSystem* subsysA, + SubSystem* subsysB, + bool isFine = true, bool isRedundantsolving = false); void applySolution(); diff --git a/src/Mod/Sketcher/App/planegcs/Geo.cpp b/src/Mod/Sketcher/App/planegcs/Geo.cpp index a10d65c242..07da3f10b8 100644 --- a/src/Mod/Sketcher/App/planegcs/Geo.cpp +++ b/src/Mod/Sketcher/App/planegcs/Geo.cpp @@ -32,16 +32,38 @@ namespace GCS { +//----------------Point +int Point::PushOwnParams(VEC_pD& pvec) +{ + int cnt = 0; + pvec.push_back(x); + cnt++; + pvec.push_back(y); + cnt++; + return cnt; +} + +void Point::ReconstructOnNewPvec(VEC_pD& pvec, int& cnt) +{ + x = pvec[cnt]; + cnt++; + y = pvec[cnt]; + cnt++; +} + +//----------------DeriVector2 DeriVector2::DeriVector2(const Point& p, const double* derivparam) { x = *p.x; y = *p.y; dx = 0.0; dy = 0.0; - if (derivparam == p.x) + if (derivparam == p.x) { dx = 1.0; - if (derivparam == p.y) + } + if (derivparam == p.y) { dy = 1.0; + } } double DeriVector2::length(double& dlength) const @@ -88,8 +110,10 @@ double DeriVector2::scalarProd(const DeriVector2& v2, double* dprd) const DeriVector2 DeriVector2::divD(double val, double dval) const { - return DeriVector2( - x / val, y / val, dx / val - x * dval / (val * val), dy / val - y * dval / (val * val)); + return DeriVector2(x / val, + y / val, + dx / val - x * dval / (val * val), + dy / val - y * dval / (val * val)); } double DeriVector2::crossProdNorm(const DeriVector2& v2, double& dprd) const @@ -252,7 +276,10 @@ Arc* Arc::Copy() //--------------ellipse // this function is exposed to allow reusing pre-filled derivectors in constraints code -double Ellipse::getRadMaj(const DeriVector2& center, const DeriVector2& f1, double b, double db, +double Ellipse::getRadMaj(const DeriVector2& center, + const DeriVector2& f1, + double b, + double db, double& ret_dRadMaj) const { double cf, dcf; @@ -436,7 +463,10 @@ ArcOfEllipse* ArcOfEllipse::Copy() //---------------hyperbola // this function is exposed to allow reusing pre-filled derivectors in constraints code -double Hyperbola::getRadMaj(const DeriVector2& center, const DeriVector2& f1, double b, double db, +double Hyperbola::getRadMaj(const DeriVector2& center, + const DeriVector2& f1, + double b, + double db, double& ret_dRadMaj) const { double cf, dcf; @@ -848,14 +878,16 @@ double BSpline::getLinCombFactor(double x, size_t k, size_t i, unsigned int p) // as well, when alternatives may be needed to keep `flattenedknots` updated. // Slightly more detailed discussion here: // https://github.com/FreeCAD/FreeCAD/pull/7484#discussion_r1020858392 - if (flattenedknots.empty()) + if (flattenedknots.empty()) { setupFlattenedKnots(); + } std::vector d(p + 1, 0.0); // Ensure this is within range int idxOfPole = static_cast(i) + p - static_cast(k); - if (idxOfPole < 0 || idxOfPole > static_cast(p)) + if (idxOfPole < 0 || idxOfPole > static_cast(p)) { return 0.0; + } d[idxOfPole] = 1.0; for (size_t r = 1; r < p + 1; ++r) { @@ -886,8 +918,9 @@ void BSpline::setupFlattenedKnots() { flattenedknots.clear(); - for (size_t i = 0; i < knots.size(); ++i) + for (size_t i = 0; i < knots.size(); ++i) { flattenedknots.insert(flattenedknots.end(), mult[i], *knots[i]); + } // Adjust for periodic: see OCC documentation for explanation if (periodic) { diff --git a/src/Mod/Sketcher/App/planegcs/Geo.h b/src/Mod/Sketcher/App/planegcs/Geo.h index a66bebe144..136897618c 100644 --- a/src/Mod/Sketcher/App/planegcs/Geo.h +++ b/src/Mod/Sketcher/App/planegcs/Geo.h @@ -45,6 +45,8 @@ public: } double* x; double* y; + int PushOwnParams(VEC_pD& pvec); + void ReconstructOnNewPvec(VEC_pD& pvec, int& cnt); }; using VEC_P = std::vector; @@ -132,8 +134,10 @@ public: } DeriVector2 linCombi(double m1, const DeriVector2& v2, double m2) const {// linear combination of two vectors - return DeriVector2( - x * m1 + v2.x * m2, y * m1 + v2.y * m2, dx * m1 + v2.dx * m2, dy * m1 + v2.dy * m2); + return DeriVector2(x * m1 + v2.x * m2, + y * m1 + v2.y * m2, + dx * m1 + v2.dx * m2, + dy * m1 + v2.dy * m2); } }; @@ -236,7 +240,10 @@ class MajorRadiusConic: public Curve public: ~MajorRadiusConic() override {} - virtual double getRadMaj(const DeriVector2& center, const DeriVector2& f1, double b, double db, + virtual double getRadMaj(const DeriVector2& center, + const DeriVector2& f1, + double b, + double db, double& ret_dRadMaj) const = 0; virtual double getRadMaj(double* derivparam, double& ret_dRadMaj) const = 0; virtual double getRadMaj() const = 0; @@ -255,7 +262,10 @@ public: Point center; Point focus1; double* radmin; - double getRadMaj(const DeriVector2& center, const DeriVector2& f1, double b, double db, + double getRadMaj(const DeriVector2& center, + const DeriVector2& f1, + double b, + double db, double& ret_dRadMaj) const override; double getRadMaj(double* derivparam, double& ret_dRadMaj) const override; double getRadMaj() const override; @@ -302,7 +312,10 @@ public: Point center; Point focus1; double* radmin; - double getRadMaj(const DeriVector2& center, const DeriVector2& f1, double b, double db, + double getRadMaj(const DeriVector2& center, + const DeriVector2& f1, + double b, + double db, double& ret_dRadMaj) const override; double getRadMaj(double* derivparam, double& ret_dRadMaj) const override; double getRadMaj() const override; diff --git a/src/Mod/Sketcher/Gui/AppSketcherGui.cpp b/src/Mod/Sketcher/Gui/AppSketcherGui.cpp index eb389779bd..f1f35539d8 100644 --- a/src/Mod/Sketcher/Gui/AppSketcherGui.cpp +++ b/src/Mod/Sketcher/Gui/AppSketcherGui.cpp @@ -47,6 +47,7 @@ void CreateSketcherCommandsConstraints(); void CreateSketcherCommandsConstraintAccel(); void CreateSketcherCommandsAlterGeo(); void CreateSketcherCommandsBSpline(); +void CreateSketcherCommandsOverlay(); void CreateSketcherCommandsVirtualSpace(); void loadSketcherResource() @@ -108,6 +109,7 @@ PyMOD_INIT_FUNC(SketcherGui) Gui::BitmapFactory().addPath(QString::fromLatin1(":/icons/pointers")); Gui::BitmapFactory().addPath(QString::fromLatin1(":/icons/splines")); Gui::BitmapFactory().addPath(QString::fromLatin1(":/icons/tools")); + Gui::BitmapFactory().addPath(QString::fromLatin1(":/icons/overlay")); // instantiating the commands CreateSketcherCommands(); @@ -116,6 +118,7 @@ PyMOD_INIT_FUNC(SketcherGui) CreateSketcherCommandsAlterGeo(); CreateSketcherCommandsConstraintAccel(); CreateSketcherCommandsBSpline(); + CreateSketcherCommandsOverlay(); CreateSketcherCommandsVirtualSpace(); SketcherGui::Workbench::init(); diff --git a/src/Mod/Sketcher/Gui/CMakeLists.txt b/src/Mod/Sketcher/Gui/CMakeLists.txt index d669e70f06..08772bda5a 100644 --- a/src/Mod/Sketcher/Gui/CMakeLists.txt +++ b/src/Mod/Sketcher/Gui/CMakeLists.txt @@ -84,6 +84,7 @@ SET(SketcherGui_SRCS CommandConstraints.cpp CommandSketcherTools.cpp CommandSketcherBSpline.cpp + CommandSketcherOverlay.cpp CommandSketcherVirtualSpace.cpp CommandAlterGeometry.cpp Resources/Sketcher.qrc diff --git a/src/Mod/Sketcher/Gui/CommandConstraints.cpp b/src/Mod/Sketcher/Gui/CommandConstraints.cpp index 37b1701d4b..bf4fd0fac4 100644 --- a/src/Mod/Sketcher/Gui/CommandConstraints.cpp +++ b/src/Mod/Sketcher/Gui/CommandConstraints.cpp @@ -50,7 +50,7 @@ #include "Utils.h" #include "ViewProviderSketch.h" #include "ui_InsertDatum.h" - +#include using namespace std; using namespace SketcherGui; @@ -77,8 +77,9 @@ bool isCreateConstraintActive(Gui::Document* doc) if (static_cast(doc->getInEdit())->getSketchMode() == ViewProviderSketch::STATUS_NONE) { if (Gui::Selection().countObjectsOfType(Sketcher::SketchObject::getClassTypeId()) - > 0) + > 0) { return true; + } } } } @@ -86,7 +87,9 @@ bool isCreateConstraintActive(Gui::Document* doc) } // Utility method to avoid repeating the same code over and over again -void finishDatumConstraint(Gui::Command* cmd, Sketcher::SketchObject* sketch, bool isDriving = true, +void finishDatumConstraint(Gui::Command* cmd, + Sketcher::SketchObject* sketch, + bool isDriving = true, unsigned int numberofconstraints = 1) { ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath( @@ -113,10 +116,11 @@ void finishDatumConstraint(Gui::Command* cmd, Sketcher::SketchObject* sketch, bo // Adds a random value around the base angle, so that possibly overlapping labels get likely // a different position. - if (labelPositionRandomness != 0.0) + if (labelPositionRandomness != 0.0) { labelPosition = labelPosition + labelPositionRandomness * (static_cast(std::rand()) / static_cast(RAND_MAX) - 0.5); + } } if (doc && doc->getInEdit() @@ -132,8 +136,9 @@ void finishDatumConstraint(Gui::Command* cmd, Sketcher::SketchObject* sketch, bo if (lastConstraintType == Radius || lastConstraintType == Diameter) { const Part::Geometry* geo = sketch->getGeometry(ConStr[i]->First); - if (geo && geo->getTypeId() == Part::GeomCircle::getClassTypeId()) + if (geo && geo->getTypeId() == Part::GeomCircle::getClassTypeId()) { ConStr[i]->LabelPosition = labelPosition; + } } } vp->draw(false, false);// Redraw @@ -194,7 +199,8 @@ bool isGeoConcentricCompatible(const Part::Geometry* geo) /// other code e.g. "Autoconstraints" in DrawSketchHandler.cpp void SketcherGui::makeTangentToEllipseviaNewPoint(Sketcher::SketchObject* Obj, const Part::GeomEllipse* ellipse, - const Part::Geometry* geom2, int geoId1, + const Part::Geometry* geom2, + int geoId1, int geoId2) { @@ -205,14 +211,18 @@ void SketcherGui::makeTangentToEllipseviaNewPoint(Sketcher::SketchObject* Obj, Base::Vector3d center2; - if (geom2->getTypeId() == Part::GeomEllipse::getClassTypeId()) + if (geom2->getTypeId() == Part::GeomEllipse::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomCircle::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomCircle::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); + } Base::Vector3d direction = center2 - center; double tapprox = @@ -249,8 +259,9 @@ void SketcherGui::makeTangentToEllipseviaNewPoint(Sketcher::SketchObject* Obj, static_cast(Sketcher::PointPos::start)); } catch (const Base::Exception& e) { - Gui::NotifyUserError( - Obj, QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), e.what()); + Gui::NotifyUserError(Obj, + QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), + e.what()); Gui::Command::abortCommand(); tryAutoRecompute(Obj); @@ -271,7 +282,8 @@ void SketcherGui::makeTangentToEllipseviaNewPoint(Sketcher::SketchObject* Obj, /// other code e.g. "Autoconstraints" in DrawSketchHandler.cpp void SketcherGui::makeTangentToArcOfEllipseviaNewPoint(Sketcher::SketchObject* Obj, const Part::GeomArcOfEllipse* aoe, - const Part::Geometry* geom2, int geoId1, + const Part::Geometry* geom2, + int geoId1, int geoId2) { @@ -282,12 +294,15 @@ void SketcherGui::makeTangentToArcOfEllipseviaNewPoint(Sketcher::SketchObject* O Base::Vector3d center2; - if (geom2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) + if (geom2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomCircle::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomCircle::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); + } Base::Vector3d direction = center2 - center; double tapprox = @@ -324,8 +339,9 @@ void SketcherGui::makeTangentToArcOfEllipseviaNewPoint(Sketcher::SketchObject* O static_cast(Sketcher::PointPos::start)); } catch (const Base::Exception& e) { - Gui::NotifyUserError( - Obj, QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), e.what()); + Gui::NotifyUserError(Obj, + QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), + e.what()); Gui::Command::abortCommand(); tryAutoRecompute(Obj); @@ -346,7 +362,8 @@ void SketcherGui::makeTangentToArcOfEllipseviaNewPoint(Sketcher::SketchObject* O /// other code e.g. "Autoconstraints" in DrawSketchHandler.cpp void SketcherGui::makeTangentToArcOfHyperbolaviaNewPoint(Sketcher::SketchObject* Obj, const Part::GeomArcOfHyperbola* aoh, - const Part::Geometry* geom2, int geoId1, + const Part::Geometry* geom2, + int geoId1, int geoId2) { @@ -368,14 +385,18 @@ void SketcherGui::makeTangentToArcOfHyperbolaviaNewPoint(Sketcher::SketchObject* double df2 = sqrt(majord2 * majord2 + minord2 * minord2); center2 = aoh2->getCenter() + df2 * dirmaj2;// positive focus } - else if (geom2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) + else if (geom2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomEllipse::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomEllipse::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomCircle::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomCircle::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); + } else if (geom2->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { const Part::GeomLineSegment* l2 = static_cast(geom2); center2 = (l2->getStartPoint() + l2->getEndPoint()) / 2; @@ -415,8 +436,9 @@ void SketcherGui::makeTangentToArcOfHyperbolaviaNewPoint(Sketcher::SketchObject* static_cast(Sketcher::PointPos::start)); } catch (const Base::Exception& e) { - Gui::NotifyUserError( - Obj, QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), e.what()); + Gui::NotifyUserError(Obj, + QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), + e.what()); Gui::Command::abortCommand(); tryAutoRecompute(Obj); @@ -437,7 +459,8 @@ void SketcherGui::makeTangentToArcOfHyperbolaviaNewPoint(Sketcher::SketchObject* /// DrawSketchHandler.cpp void SketcherGui::makeTangentToArcOfParabolaviaNewPoint(Sketcher::SketchObject* Obj, const Part::GeomArcOfParabola* aop, - const Part::Geometry* geom2, int geoId1, + const Part::Geometry* geom2, + int geoId1, int geoId2) { @@ -445,8 +468,9 @@ void SketcherGui::makeTangentToArcOfParabolaviaNewPoint(Sketcher::SketchObject* Base::Vector3d center2; - if (geom2->getTypeId() == Part::GeomArcOfParabola::getClassTypeId()) + if (geom2->getTypeId() == Part::GeomArcOfParabola::getClassTypeId()) { center2 = (static_cast(geom2))->getFocus(); + } else if (geom2->getTypeId() == Part::GeomArcOfHyperbola::getClassTypeId()) { const Part::GeomArcOfHyperbola* aoh2 = static_cast(geom2); Base::Vector3d dirmaj2 = aoh2->getMajorAxisDir(); @@ -455,14 +479,18 @@ void SketcherGui::makeTangentToArcOfParabolaviaNewPoint(Sketcher::SketchObject* double df2 = sqrt(majord2 * majord2 + minord2 * minord2); center2 = aoh2->getCenter() + df2 * dirmaj2;// positive focus } - else if (geom2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) + else if (geom2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomEllipse::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomEllipse::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomCircle::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomCircle::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); - else if (geom2->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) + } + else if (geom2->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) { center2 = (static_cast(geom2))->getCenter(); + } else if (geom2->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { const Part::GeomLineSegment* l2 = static_cast(geom2); center2 = (l2->getStartPoint() + l2->getEndPoint()) / 2; @@ -498,8 +526,9 @@ void SketcherGui::makeTangentToArcOfParabolaviaNewPoint(Sketcher::SketchObject* static_cast(Sketcher::PointPos::start)); } catch (const Base::Exception& e) { - Gui::NotifyUserError( - Obj, QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), e.what()); + Gui::NotifyUserError(Obj, + QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), + e.what()); Gui::Command::abortCommand(); @@ -511,8 +540,11 @@ void SketcherGui::makeTangentToArcOfParabolaviaNewPoint(Sketcher::SketchObject* tryAutoRecompute(Obj); } -void SketcherGui::doEndpointTangency(Sketcher::SketchObject* Obj, int GeoId1, int GeoId2, - PointPos PosId1, PointPos PosId2) +void SketcherGui::doEndpointTangency(Sketcher::SketchObject* Obj, + int GeoId1, + int GeoId2, + PointPos PosId1, + PointPos PosId2) { // This code supports simple B-spline endpoint tangency to any other geometric curve const Part::Geometry* geom1 = Obj->getGeometry(GeoId1); @@ -537,7 +569,9 @@ void SketcherGui::doEndpointTangency(Sketcher::SketchObject* Obj, int GeoId1, in static_cast(PosId2)); } -void SketcherGui::doEndpointToEdgeTangency(Sketcher::SketchObject* Obj, int GeoId1, PointPos PosId1, +void SketcherGui::doEndpointToEdgeTangency(Sketcher::SketchObject* Obj, + int GeoId1, + PointPos PosId1, int GeoId2) { Gui::cmdAppObjectArgs(Obj, @@ -569,8 +603,9 @@ bool addConstraintSafely(SketchObject* obj, std::function constraintaddi // Exceptions originating in Python have already been reported by the Interpreter as // Untranslated developer intended messages (i.e. to the Report View) // Example of exception carrying a static string with a pair in the "Notifications" context - Gui::NotifyUserError( - obj, QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), e.what()); + Gui::NotifyUserError(obj, + QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), + e.what()); Gui::Command::abortCommand(); @@ -724,26 +759,30 @@ public: bool allow(App::Document*, App::DocumentObject* pObj, const char* sSubName) override { - if (pObj != this->object) + if (pObj != this->object) { return false; - if (!sSubName || sSubName[0] == '\0') + } + if (!sSubName || sSubName[0] == '\0') { return false; + } std::string element(sSubName); if ((allowedSelTypes & (SelRoot | SelVertexOrRoot) && element.substr(0, 9) == "RootPoint") || (allowedSelTypes & (SelVertex | SelVertexOrRoot) && element.substr(0, 6) == "Vertex") || (allowedSelTypes & (SelEdge | SelEdgeOrAxis) && element.substr(0, 4) == "Edge") || (allowedSelTypes & (SelHAxis | SelEdgeOrAxis) && element.substr(0, 6) == "H_Axis") || (allowedSelTypes & (SelVAxis | SelEdgeOrAxis) && element.substr(0, 6) == "V_Axis") - || (allowedSelTypes & SelExternalEdge && element.substr(0, 12) == "ExternalEdge")) + || (allowedSelTypes & SelExternalEdge && element.substr(0, 12) == "ExternalEdge")) { return true; + } return false; } void setAllowedSelTypes(unsigned int types) { - if (types < 256) + if (types < 256) { allowedSelTypes = types; + } } protected: @@ -930,8 +969,10 @@ private: qreal fullIconWidth = 32 * pixelRatio; qreal iconWidth = 16 * pixelRatio; - QPixmap cursorPixmap = Gui::BitmapFactory().pixmapFromSvg( - "Sketcher_Crosshair", QSizeF(fullIconWidth, fullIconWidth), colorMapping), + QPixmap cursorPixmap = + Gui::BitmapFactory().pixmapFromSvg("Sketcher_Crosshair", + QSizeF(fullIconWidth, fullIconWidth), + colorMapping), icon = Gui::BitmapFactory().pixmapFromSvg(cmd->getPixmap(), QSizeF(iconWidth, iconWidth)); QPainter cursorPainter; @@ -990,6 +1031,1255 @@ void CmdSketcherConstraint::activated(int /*iMsg*/) getSelection().clearSelection(); } + +// Dimension tool ======================================================= + +class GeomSelectionSizes +{ +public: + GeomSelectionSizes(size_t s_pts, size_t s_lns, size_t s_cir, size_t s_ell) : + s_pts(s_pts), s_lns(s_lns), s_cir(s_cir), s_ell(s_ell) {} + ~GeomSelectionSizes() {} + + + bool hasPoints() const { return s_pts > 0; } + bool hasLines() const { return s_lns > 0; } + bool hasCirclesOrArcs() const { return s_cir > 0; } + bool hasEllipseAndCo() const { return s_ell > 0; } + + bool has1Point() const { return s_pts == 1 && s_lns == 0 && s_cir == 0 && s_ell == 0; } + bool has2Points() const { return s_pts == 2 && s_lns == 0 && s_cir == 0 && s_ell == 0; } + bool has1Point1Line() const { return s_pts == 1 && s_lns == 1 && s_cir == 0 && s_ell == 0; } + bool has3Points() const { return s_pts == 3 && s_lns == 0 && s_cir == 0 && s_ell == 0; } + bool has4MorePoints() const { return s_pts >= 4 && s_lns == 0 && s_cir == 0 && s_ell == 0; } + bool has2Points1Line() const { return s_pts == 2 && s_lns == 1 && s_cir == 0 && s_ell == 0; } + bool has3MorePoints1Line() const { return s_pts >= 3 && s_lns == 1 && s_cir == 0 && s_ell == 0; } + bool has1MorePoint1Circle() const { return s_pts >= 1 && s_lns == 0 && s_cir == 1 && s_ell == 0; } + bool has1MorePoint1Ellipse() const { return s_pts >= 1 && s_lns == 0 && s_cir == 0 && s_ell == 1; } + + bool has1Line() const { return s_pts == 0 && s_lns == 1 && s_cir == 0 && s_ell == 0; } + bool has2Lines() const { return s_pts == 0 && s_lns == 2 && s_cir == 0 && s_ell == 0; } + bool has3MoreLines() const { return s_pts == 0 && s_lns >= 3 && s_cir == 0 && s_ell == 0; } + bool has1Line1Circle() const { return s_pts == 0 && s_lns == 1 && s_cir == 1 && s_ell == 0; } + bool has1Line2Circles() const { return s_pts == 0 && s_lns == 1 && s_cir == 2 && s_ell == 0; } + bool has1Line1Ellipse() const { return s_pts == 0 && s_lns == 1 && s_cir == 0 && s_ell == 1; } + + bool has1Circle() const { return s_pts == 0 && s_lns == 0 && s_cir == 1 && s_ell == 0; } + bool has2Circles() const { return s_pts == 0 && s_lns == 0 && s_cir == 2 && s_ell == 0; } + bool has3MoreCircles() const { return s_pts == 0 && s_lns == 0 && s_cir >= 3 && s_ell == 0; } + bool has1Circle1Ellipse() const { return s_pts == 0 && s_lns == 0 && s_cir == 1 && s_ell == 1; } + + bool has1Ellipse() const { return s_pts == 0 && s_lns == 0 && s_cir == 0 && s_ell == 1; } + bool has2MoreEllipses() const { return s_pts == 0 && s_lns == 0 && s_cir == 0 && s_ell >= 2; } + + size_t s_pts, s_lns, s_cir, s_ell; +}; + +class DrawSketchHandlerDimension : public DrawSketchHandler +{ +public: + DrawSketchHandlerDimension() + : specialConstraint(SpecialConstraint::None) + , availableConstraint(AvailableConstraint::FIRST) + , previousOnSketchPos(Base::Vector2d(0.f, 0.f)) + , selPoints({}) + , selLine({}) + , selCircleArc({}) + , selEllipseAndCo({}) + , numberOfConstraintsCreated(0) + { + } + ~DrawSketchHandlerDimension() override + { + } + + enum class AvailableConstraint { + FIRST, + SECOND, + THIRD, + FOURTH, + FIFTH, + RESET + }; + + enum class SpecialConstraint { + LineOr2PointsDistance, + Block, + None + }; + + void activated() override + { + Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Dimension")); + + Obj = sketchgui->getSketchObject(); + + // Constrain icon size in px + qreal pixelRatio = devicePixelRatio(); + const unsigned long defaultCrosshairColor = 0xFFFFFF; + unsigned long color = getCrosshairColor(); + auto colorMapping = std::map(); + colorMapping[defaultCrosshairColor] = color; + + qreal fullIconWidth = 32 * pixelRatio; + qreal iconWidth = 16 * pixelRatio; + QPixmap cursorPixmap = Gui::BitmapFactory().pixmapFromSvg("Sketcher_Crosshair", QSizeF(fullIconWidth, fullIconWidth), colorMapping), + icon = Gui::BitmapFactory().pixmapFromSvg("Constraint_Dimension", QSizeF(iconWidth, iconWidth)); + QPainter cursorPainter; + cursorPainter.begin(&cursorPixmap); + cursorPainter.drawPixmap(16 * pixelRatio, 16 * pixelRatio, icon); + cursorPainter.end(); + int hotX = 8; + int hotY = 8; + cursorPixmap.setDevicePixelRatio(pixelRatio); + // only X11 needs hot point coordinates to be scaled + if (qGuiApp->platformName() == QLatin1String("xcb")) { + hotX *= pixelRatio; + hotY *= pixelRatio; + } + setCursor(cursorPixmap, hotX, hotY, false); + } + + void deactivated() override + { + Gui::Command::abortCommand(); + Obj->solve(); + sketchgui->draw(false, false); // Redraw + } + + void registerPressedKey(bool pressed, int key) override + { + if ((key == SoKeyboardEvent::RIGHT_SHIFT || key == SoKeyboardEvent::LEFT_SHIFT) && pressed) { + if (availableConstraint == AvailableConstraint::FIRST) { + availableConstraint = AvailableConstraint::SECOND; + } + else if (availableConstraint == AvailableConstraint::SECOND) { + availableConstraint = AvailableConstraint::THIRD; + } + else if (availableConstraint == AvailableConstraint::THIRD) { + availableConstraint = AvailableConstraint::FOURTH; + } + else if (availableConstraint == AvailableConstraint::FOURTH) { + availableConstraint = AvailableConstraint::FIFTH; + } + else if (availableConstraint == AvailableConstraint::FIFTH || availableConstraint == AvailableConstraint::RESET) { + availableConstraint = AvailableConstraint::FIRST; + } + makeAppropriateConstraint(previousOnSketchPos); + } + } + + void mouseMove(Base::Vector2d onSketchPos) override + { + const std::vector& ConStr = Obj->Constraints.getValues(); + previousOnSketchPos = onSketchPos; + + //Change distance constraint based on position of mouse. + if (specialConstraint == SpecialConstraint::LineOr2PointsDistance) + updateDistanceType(onSketchPos); + + //Move constraints + if (numberOfConstraintsCreated > 0) { + bool oneMoved = false; + for (int i = 0; i < numberOfConstraintsCreated; i++) { + if (ConStr[ConStr.size() - 1 - i]->isDimensional()) { + Base::Vector2d pointWhereToMove = onSketchPos; + + if (specialConstraint == SpecialConstraint::Block) { + if (i == 0) + pointWhereToMove.x = Obj->getPoint(selPoints[0].GeoId, selPoints[0].PosId).x; + else + pointWhereToMove.y = Obj->getPoint(selPoints[0].GeoId, selPoints[0].PosId).y; + } + moveConstraint(ConStr.size() - 1 - i, pointWhereToMove); + oneMoved = true; + } + } + if (oneMoved) + sketchgui->draw(false, false); // Redraw + } + } + + bool pressButton(Base::Vector2d onSketchPos) override + { + return true; + } + + bool releaseButton(Base::Vector2d onSketchPos) override + { + Q_UNUSED(onSketchPos); + + availableConstraint = AvailableConstraint::FIRST; + SelIdPair selIdPair; + selIdPair.GeoId = GeoEnum::GeoUndef; + selIdPair.PosId = Sketcher::PointPos::none; + std::stringstream ss; + Base::Type newselGeoType = Base::Type::badType(); + + int VtId = getPreselectPoint(); + int CrvId = getPreselectCurve(); + int CrsId = getPreselectCross(); + + if (VtId >= 0) { //Vertex + Obj->getGeoVertexIndex(VtId, + selIdPair.GeoId, selIdPair.PosId); + newselGeoType = Part::GeomPoint::getClassTypeId(); + ss << "Vertex" << VtId + 1; + } + else if (CrsId == 0) { //RootPoint + selIdPair.GeoId = Sketcher::GeoEnum::RtPnt; + selIdPair.PosId = Sketcher::PointPos::start; + newselGeoType = Part::GeomPoint::getClassTypeId(); + ss << "RootPoint"; + } + else if (CrsId == 1) { //H_Axis + selIdPair.GeoId = Sketcher::GeoEnum::HAxis; + newselGeoType = Part::GeomLineSegment::getClassTypeId(); + ss << "H_Axis"; + } + else if (CrsId == 2) { //V_Axis + selIdPair.GeoId = Sketcher::GeoEnum::VAxis; + newselGeoType = Part::GeomLineSegment::getClassTypeId(); + ss << "V_Axis"; + } + else if (CrvId >= 0 || CrvId <= Sketcher::GeoEnum::RefExt) { //Curves + selIdPair.GeoId = CrvId; + const Part::Geometry* geo = Obj->getGeometry(CrvId); + + newselGeoType = geo->getTypeId(); + + if (CrvId >= 0) { + ss << "Edge" << CrvId + 1; + } + else { + ss << "ExternalEdge" << Sketcher::GeoEnum::RefExt + 1 - CrvId; + } + } + + + if (selIdPair.GeoId == GeoEnum::GeoUndef) { + // If mouse is released on "blank" space, finalize and start over + finalizeCommand(); + } + + else if (notSelectedYet(selIdPair)) { + std::vector& selVector = getSelectionVector(newselGeoType); + + //add the geometry to its type vector. Temporarily if not selAllowed + selVector.push_back(selIdPair); + + bool selAllowed = makeAppropriateConstraint(onSketchPos); + + if (selAllowed) { + // If mouse is released on something allowed, select it + Gui::Selection().addSelection(Obj->getDocument()->getName(), + Obj->getNameInDocument(), + ss.str().c_str(), onSketchPos.x, onSketchPos.y, 0.f); + sketchgui->draw(false, false); // Redraw + } + else { + selVector.pop_back(); + } + } + return true; + } +protected: + SpecialConstraint specialConstraint; + AvailableConstraint availableConstraint; + + Base::Vector2d previousOnSketchPos; + + std::vector selPoints; + std::vector selLine; + std::vector selCircleArc; + std::vector selEllipseAndCo; + + int numberOfConstraintsCreated; + + Sketcher::SketchObject* Obj; + + void finalizeCommand() + { + // Ask for the value of datum constraints + ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/Mod/Sketcher"); + bool show = hGrp->GetBool("ShowDialogOnDistanceConstraint", true); + const std::vector& ConStr = Obj->Constraints.getValues(); + + bool commandHandledInEditDatum = false; + for (int i = numberOfConstraintsCreated - 1; i >= 0; i--) { + if (show && ConStr[ConStr.size() - 1 - i]->isDimensional() && ConStr[ConStr.size() - 1 - i]->isDriving) { + commandHandledInEditDatum = true; + EditDatumDialog editDatumDialog(sketchgui, ConStr.size() - 1 - i); + editDatumDialog.exec(); + if (!editDatumDialog.isSuccess()) { + break; + } + } + } + + if (!commandHandledInEditDatum) + Gui::Command::commitCommand(); + + // This code enables the continuous creation mode. + bool continuousMode = hGrp->GetBool("ContinuousCreationMode", true); + if (continuousMode) { + Gui::Selection().clearSelection(); + Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Dimension")); + numberOfConstraintsCreated = 0; + specialConstraint = SpecialConstraint::None; + previousOnSketchPos = Base::Vector2d(0.f, 0.f); + selPoints.clear(); + selLine.clear(); + selCircleArc.clear(); + selEllipseAndCo.clear(); + } + else { + sketchgui->purgeHandler(); // no code after this line, Handler get deleted in ViewProvider + } + } + + std::vector& getSelectionVector(Base::Type selGeoType) { + if (selGeoType == Part::GeomPoint::getClassTypeId()) { + return selPoints; + } + else if (selGeoType == Part::GeomLineSegment::getClassTypeId()) { + return selLine; + } + else if (selGeoType == Part::GeomArcOfCircle::getClassTypeId() || + selGeoType == Part::GeomCircle::getClassTypeId()) { + return selCircleArc; + } + else if (selGeoType == Part::GeomEllipse::getClassTypeId() || + selGeoType == Part::GeomArcOfEllipse::getClassTypeId() || + selGeoType == Part::GeomArcOfHyperbola::getClassTypeId() || + selGeoType == Part::GeomArcOfParabola::getClassTypeId()) { + return selEllipseAndCo; + } + + static std::vector emptyVector; + return emptyVector; + } + + bool notSelectedYet(const SelIdPair& elem) + { + auto contains = [&](const std::vector& vec, const SelIdPair& elem) { + for (const auto& x : vec) + { + if (x.GeoId == elem.GeoId && x.PosId == elem.PosId) + return true; + } + return false; + }; + + return !contains(selPoints, elem) + && !contains(selLine, elem) + && !contains(selCircleArc, elem) + && !contains(selEllipseAndCo, elem); + } + + bool makeAppropriateConstraint(Base::Vector2d onSketchPos) { + bool selAllowed = false; + + GeomSelectionSizes selection(selPoints.size(), selLine.size(), selCircleArc.size(), selEllipseAndCo.size()); + + if (selection.hasPoints()) { + if (selection.has1Point()) { makeCts_1Point(selAllowed, onSketchPos); } + else if (selection.has2Points()) { makeCts_2Point(selAllowed, onSketchPos); } + else if (selection.has1Point1Line()) { makeCts_1Point1Line(selAllowed, onSketchPos); } + else if (selection.has3Points()) { makeCts_3Point(selAllowed, selection.s_pts); } + else if (selection.has4MorePoints()) { makeCts_4MorePoint(selAllowed, selection.s_pts); } + else if (selection.has2Points1Line()) { makeCts_2Point1Line(selAllowed, onSketchPos, selection.s_pts); } + else if (selection.has3MorePoints1Line()) { makeCts_3MorePoint1Line(selAllowed, onSketchPos, selection.s_pts); } + else if (selection.has1MorePoint1Circle()) { makeCts_1MorePoint1Circle(selAllowed); } + else if (selection.has1MorePoint1Ellipse()) { makeCts_1MorePoint1Ellipse(selAllowed); } + } + else if (selection.hasLines()) { + if (selection.has1Line()) { makeCts_1Line(selAllowed, onSketchPos); } + else if (selection.has2Lines()) { makeCts_2Line(selAllowed, onSketchPos); } + else if (selection.has3MoreLines()) { makeCts_3MoreLine(selAllowed, selection.s_lns); } + else if (selection.has1Line1Circle()) { makeCts_1Line1Circle(selAllowed, onSketchPos); } + else if (selection.has1Line2Circles()) { makeCts_1Line2Circle(selAllowed); } + else if (selection.has1Line1Ellipse()) { makeCts_1Line1Ellipse(selAllowed); } + } + else if (selection.hasCirclesOrArcs()) { + if (selection.has1Circle()) { makeCts_1Circle(selAllowed, onSketchPos); } + else if (selection.has2Circles()) { makeCts_2Circle(selAllowed, onSketchPos); } + else if (selection.has3MoreCircles()) { makeCts_3MoreCircle(selAllowed, selection.s_cir); } + else if (selection.has1Circle1Ellipse()) { makeCts_1Circle1Ellipse(selAllowed); } + } + else if (selection.hasEllipseAndCo()) { + if (selection.has1Ellipse()) { makeCts_1Ellipse(selAllowed); } + else if (selection.has2MoreEllipses()) { makeCts_2MoreEllipse(selAllowed, selection.s_ell); } + } + return selAllowed; + } + + void makeCts_1Point(bool& selAllowed, Base::Vector2d onSketchPos) + { + //Lock, autodistance + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add lock constraint")); + specialConstraint = SpecialConstraint::Block; + createDistanceXYConstrain(Sketcher::DistanceX, selPoints[0].GeoId, selPoints[0].PosId, Sketcher::GeoEnum::RtPnt, Sketcher::PointPos::start, onSketchPos); + createDistanceXYConstrain(Sketcher::DistanceY, selPoints[0].GeoId, selPoints[0].PosId, Sketcher::GeoEnum::RtPnt, Sketcher::PointPos::start, onSketchPos); + selAllowed = true; + } + if (availableConstraint == AvailableConstraint::SECOND) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add 'Distance to origin' constraint")); + createDistanceConstrain(selPoints[0].GeoId, selPoints[0].PosId, Sketcher::GeoEnum::RtPnt, Sketcher::PointPos::start, onSketchPos); + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_2Point(bool& selAllowed, Base::Vector2d onSketchPos) + { + //distance, horizontal, vertical + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Distance constraint")); + createDistanceConstrain(selPoints[0].GeoId, selPoints[0].PosId, selPoints[1].GeoId, selPoints[1].PosId, onSketchPos); + selAllowed = true; + } + if (availableConstraint == AvailableConstraint::SECOND) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add 'Horizontal' constraints")); + createHorizontalConstrain(selPoints[0].GeoId, selPoints[0].PosId, selPoints[1].GeoId, selPoints[1].PosId); + } + if (availableConstraint == AvailableConstraint::THIRD) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add 'Vertical' constraints")); + createVerticalConstrain(selPoints[0].GeoId, selPoints[0].PosId, selPoints[1].GeoId, selPoints[1].PosId); + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_1Point1Line(bool& selAllowed, Base::Vector2d onSketchPos) + { + //distance, Symmetry + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add point to line Distance constraint")); + createDistanceConstrain(selPoints[0].GeoId, selPoints[0].PosId, selLine[0].GeoId, selLine[0].PosId, onSketchPos); // line to be on second parameter + selAllowed = true; + } + if (availableConstraint == AvailableConstraint::SECOND) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Symmetry constraint")); + createSymmetryConstrain(selLine[0].GeoId, Sketcher::PointPos::start, selLine[0].GeoId, Sketcher::PointPos::end, selPoints[0].GeoId, selPoints[0].PosId); + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_3Point(bool& selAllowed, size_t s_pts) + { + //Horizontal, vertical, symmetry + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add 'Horizontal' constraints")); + for (int i = 0; i < s_pts - 1; i++) { + createHorizontalConstrain(selPoints[i].GeoId, selPoints[i].PosId, selPoints[i + 1].GeoId, selPoints[i + 1].PosId); + } + selAllowed = true; + } + if (availableConstraint == AvailableConstraint::SECOND) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add 'Vertical' constraints")); + for (int i = 0; i < s_pts - 1; i++) { + createVerticalConstrain(selPoints[i].GeoId, selPoints[i].PosId, selPoints[i + 1].GeoId, selPoints[i + 1].PosId); + } + } + if (availableConstraint == AvailableConstraint::THIRD) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Symmetry constraints")); + createSymmetryConstrain(selPoints[0].GeoId, selPoints[0].PosId, selPoints[1].GeoId, selPoints[1].PosId, selPoints[2].GeoId, selPoints[2].PosId); + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_4MorePoint(bool& selAllowed, size_t s_pts) + { + //Horizontal, vertical + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add 'Horizontal' constraints")); + for (int i = 0; i < s_pts - 1; i++) { + createHorizontalConstrain(selPoints[i].GeoId, selPoints[i].PosId, selPoints[i + 1].GeoId, selPoints[i + 1].PosId); + } + selAllowed = true; + } + if (availableConstraint == AvailableConstraint::SECOND) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add 'Vertical' constraints")); + for (int i = 0; i < s_pts - 1; i++) { + createVerticalConstrain(selPoints[i].GeoId, selPoints[i].PosId, selPoints[i + 1].GeoId, selPoints[i + 1].PosId); + } + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_2Point1Line(bool& selAllowed, Base::Vector2d onSketchPos, size_t s_pts) + { + //symmetry, distances + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Symmetry constraint")); + createSymmetryConstrain(selPoints[0].GeoId, selPoints[0].PosId, selPoints[1].GeoId, selPoints[1].PosId, selLine[0].GeoId, selLine[0].PosId); + selAllowed = true; + } + if (availableConstraint == AvailableConstraint::SECOND) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Distance constraints")); + for (int i = 0; i < s_pts; i++) { + createDistanceConstrain(selPoints[i].GeoId, selPoints[i].PosId, selLine[0].GeoId, selLine[0].PosId, onSketchPos); + } + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_3MorePoint1Line(bool& selAllowed, Base::Vector2d onSketchPos, size_t s_pts) + { + //distances + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Distance constraints")); + for (int i = 0; i < s_pts; i++) { + createDistanceConstrain(selPoints[i].GeoId, selPoints[i].PosId, selLine[0].GeoId, selLine[0].PosId, onSketchPos); + } + selAllowed = true; + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_1MorePoint1Circle(bool& selAllowed) + { + //distance between 1 point and circle/arc not supported yet. + if (availableConstraint == AvailableConstraint::FIRST) { + //nothing yet + //availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_1MorePoint1Ellipse(bool& selAllowed) + { + //distance between 1 point and elipse/arc of... not supported yet. + if (availableConstraint == AvailableConstraint::FIRST) { + //nothing yet + //availableConstraint = AvailableConstraint::RESET; + } + } + + void makeCts_1Line(bool& selAllowed, Base::Vector2d onSketchPos) + { + //axis can be selected but we don't want distance on axis! + if ((selLine[0].GeoId != Sketcher::GeoEnum::VAxis && selLine[0].GeoId != Sketcher::GeoEnum::HAxis)) { + //distance, horizontal, vertical, block + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add length constraint")); + createDistanceConstrain(selLine[0].GeoId, Sketcher::PointPos::start, selLine[0].GeoId, Sketcher::PointPos::end, onSketchPos); + selAllowed = true; + } + if (availableConstraint == AvailableConstraint::SECOND) { + if (isHorizontalVerticalBlock(selLine[0].GeoId)) { + //if the line has a vertical horizontal or block constraint then we don't switch to other modes as they are horizontal, vertical and block. + availableConstraint = AvailableConstraint::RESET; + } + else { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Horizontal constraint")); + createHorizontalConstrain(selLine[0].GeoId, Sketcher::PointPos::none, GeoEnum::GeoUndef, Sketcher::PointPos::none); + } + } + if (availableConstraint == AvailableConstraint::THIRD) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Vertical constraint")); + createVerticalConstrain(selLine[0].GeoId, Sketcher::PointPos::none, GeoEnum::GeoUndef, Sketcher::PointPos::none); + } + if (availableConstraint == AvailableConstraint::FOURTH) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Block constraint")); + createBlockConstrain(selLine[0].GeoId); + availableConstraint = AvailableConstraint::RESET; + } + } + else { + //But axis can still be selected + selAllowed = true; + } + } + void makeCts_2Line(bool& selAllowed, Base::Vector2d onSketchPos) + { + //angle (if parallel: Distance (see in createAngleConstrain)), equal. + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Angle constraint")); + createAngleConstrain(selLine[0].GeoId, selLine[1].GeoId, onSketchPos); + selAllowed = true; + } + if (availableConstraint == AvailableConstraint::SECOND) { + if (selLine[0].GeoId == Sketcher::GeoEnum::VAxis || selLine[1].GeoId == Sketcher::GeoEnum::VAxis + || selLine[0].GeoId == Sketcher::GeoEnum::HAxis || selLine[1].GeoId == Sketcher::GeoEnum::HAxis) { + //if one line is axis, then can't equal.. + } + else { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Equality constraint")); + createEqualityConstrain(selLine[0].GeoId, selLine[1].GeoId); + } + availableConstraint = AvailableConstraint::RESET; + } + + } + void makeCts_3MoreLine(bool& selAllowed, size_t s_lns) + { + //equality. + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Equality constraints")); + for (int i = 0; i < s_lns - 1; i++) { + createEqualityConstrain(selLine[i].GeoId, selLine[i + 1].GeoId); + } + selAllowed = true; + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_1Line1Circle(bool& selAllowed, Base::Vector2d onSketchPos) + { + //Distance. + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add length constraint")); + createDistanceConstrain(selCircleArc[0].GeoId, selCircleArc[0].PosId, selLine[0].GeoId, selLine[0].PosId, onSketchPos); // line to be on second parameter + selAllowed = true; + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_1Line2Circle(bool& selAllowed) + { + //symmetry. + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Symmetry constraints")); + createSymmetryConstrain(selCircleArc[0].GeoId, Sketcher::PointPos::mid, selCircleArc[1].GeoId, Sketcher::PointPos::mid, selLine[0].GeoId, selLine[0].PosId); + selAllowed = true; + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_1Line1Ellipse(bool& selAllowed) + { + //TODO distance between line and ellipse/arc of... not supported yet. + if (availableConstraint == AvailableConstraint::FIRST) { + //selAllowed = true; + //availableConstraint = AvailableConstraint::RESET; + } + } + + void makeCts_1Circle(bool& selAllowed, Base::Vector2d onSketchPos) + { + //Radius/diameter. Mode changes in createRadiusDiameterConstrain. + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Radius constraint")); + createRadiusDiameterConstrain(selCircleArc[0].GeoId, onSketchPos); + selAllowed = true; + } + void makeCts_2Circle(bool& selAllowed, Base::Vector2d onSketchPos) + { + //Distance, radial distance, equality + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add length constraint")); + createDistanceConstrain(selCircleArc[0].GeoId, selCircleArc[0].PosId, selCircleArc[1].GeoId, selCircleArc[1].PosId, onSketchPos); + selAllowed = true; + } + if (availableConstraint == AvailableConstraint::SECOND) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add concentric and length constraint")); + bool created = createCoincidenceConstrain(selCircleArc[0].GeoId, Sketcher::PointPos::mid, selCircleArc[1].GeoId, Sketcher::PointPos::mid); + if (!created) { //Already concentric, so skip to next + availableConstraint = AvailableConstraint::THIRD; + } + else { + createDistanceConstrain(selCircleArc[0].GeoId, selCircleArc[0].PosId, selCircleArc[1].GeoId, selCircleArc[1].PosId, onSketchPos); + } + } + if (availableConstraint == AvailableConstraint::THIRD) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Equality constraint")); + createEqualityConstrain(selCircleArc[0].GeoId, selCircleArc[1].GeoId); + availableConstraint = AvailableConstraint::RESET; + } + + } + void makeCts_3MoreCircle(bool& selAllowed, size_t s_cir) + { + //equality. + if (availableConstraint == AvailableConstraint::FIRST) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Equality constraint")); + for (int i = 0; i < s_cir - 1; i++) { + createEqualityConstrain(selCircleArc[i].GeoId, selCircleArc[i + 1].GeoId); + } + selAllowed = true; + availableConstraint = AvailableConstraint::RESET; + } + } + void makeCts_1Circle1Ellipse(bool& selAllowed) + { + //TODO distance between circle and ellipse/arc of... not supported yet. + if (availableConstraint == AvailableConstraint::FIRST) { + //selAllowed = true; + //availableConstraint = AvailableConstraint::RESET; + } + } + + void makeCts_1Ellipse(bool& selAllowed) + { + //One ellipse or arc of ellipse/hyperbola/parabola - no constrain to attribute + selAllowed = true; + } + void makeCts_2MoreEllipse(bool& selAllowed, size_t s_ell) + { + //only ellipse or arc of of same kind, then equality of all radius. + bool allTheSame = 1; + const Part::Geometry* geom = Obj->getGeometry(selEllipseAndCo[0].GeoId); + Base::Type typeOf = geom->getTypeId(); + for (int i = 1; i < s_ell; i++) { + const Part::Geometry* geomi = Obj->getGeometry(selEllipseAndCo[i].GeoId); + if (typeOf != geomi->getTypeId()) { + allTheSame = 0; + } + } + if (allTheSame) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Equality constraint")); + for (int i = 1; i < s_ell; i++) { + createEqualityConstrain(selEllipseAndCo[0].GeoId, selEllipseAndCo[i].GeoId); + } + selAllowed = true; + } + } + + void createDistanceConstrain(int GeoId1, Sketcher::PointPos PosId1, int GeoId2, Sketcher::PointPos PosId2, Base::Vector2d onSketchPos) { + //We make sure that if there's a line, it is GeoId2. + if (GeoId1 == GeoId2 || (PosId1 != Sketcher::PointPos::none && PosId2 != Sketcher::PointPos::none)) { + specialConstraint = SpecialConstraint::LineOr2PointsDistance; + } + + bool arebothpointsorsegmentsfixed = isPointOrSegmentFixed(Obj, GeoId1) && isPointOrSegmentFixed(Obj, GeoId2); + + if (PosId1 != Sketcher::PointPos::none && PosId2 == Sketcher::PointPos::none) { // Point-line case (and point-circle in the future) + Base::Vector3d pnt = Obj->getPoint(GeoId1, PosId1); + const Part::Geometry* geom = Obj->getGeometry(GeoId2); + if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { + const Part::GeomLineSegment* lineSeg = static_cast(geom); + Base::Vector3d pnt1 = lineSeg->getStartPoint(); + Base::Vector3d pnt2 = lineSeg->getEndPoint(); + Base::Vector3d d = pnt2 - pnt1; + double ActDist = std::abs(-pnt.x * d.y + pnt.y * d.x + pnt1.x * pnt2.y - pnt2.x * pnt1.y) / d.Length(); + + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Distance',%d,%d,%d,%f)) ", + GeoId1, static_cast(PosId1), GeoId2, ActDist); + } + //else if (geom->getTypeId() == Part::GeomCircle::getClassTypeId()) { + // const Part::GeomCircle* circle = static_cast(geom); + //} + } + else if (PosId1 == Sketcher::PointPos::none && PosId2 == Sketcher::PointPos::none) { // Circle - line, circle - circle cases + const Part::Geometry* geo1 = Obj->getGeometry(GeoId1); + const Part::Geometry* geo2 = Obj->getGeometry(GeoId2); + + if (geo1->getTypeId() == Part::GeomCircle::getClassTypeId() + && geo2->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { // Circle - line case + auto circleSeg = static_cast(geo1); + double radius = circleSeg->getRadius(); + Base::Vector3d center = circleSeg->getCenter(); + + auto lineSeg = static_cast(geo2); + Base::Vector3d pnt1 = lineSeg->getStartPoint(); + Base::Vector3d pnt2 = lineSeg->getEndPoint(); + Base::Vector3d d = pnt2 - pnt1; + double ActDist = + std::abs(-center.x * d.y + center.y * d.x + pnt1.x * pnt2.y - pnt2.x * pnt1.y) + / d.Length() + - radius; + + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Distance',%d,%d,%f))", + GeoId1, GeoId2, ActDist); + } + else if (geo1->getTypeId() == Part::GeomCircle::getClassTypeId() + && geo2->getTypeId() == Part::GeomCircle::getClassTypeId()) { // Circle - circle case + auto circleSeg1 = static_cast(geo1); + double radius1 = circleSeg1->getRadius(); + Base::Vector3d center1 = circleSeg1->getCenter(); + + auto circleSeg2 = static_cast(geo2); + double radius2 = circleSeg2->getRadius(); + Base::Vector3d center2 = circleSeg2->getCenter(); + + double ActDist = 0.; + + Base::Vector3d intercenter = center1 - center2; + double intercenterdistance = intercenter.Length(); + + if (intercenterdistance >= radius1 && intercenterdistance >= radius2) { + + ActDist = intercenterdistance - radius1 - radius2; + } + else { + double bigradius = std::max(radius1, radius2); + double smallradius = std::min(radius1, radius2); + + ActDist = bigradius - smallradius - intercenterdistance; + } + + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Distance',%d,%d,%f))", + GeoId1, GeoId2, ActDist); + } + } + else { //both points + Base::Vector3d pnt1 = Obj->getPoint(GeoId1, PosId1); + Base::Vector3d pnt2 = Obj->getPoint(GeoId2, PosId2); + + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Distance',%d,%d,%d,%d,%f)) ", + GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2), (pnt2 - pnt1).Length()); + } + + const std::vector& ConStr = Obj->Constraints.getValues(); + if (arebothpointsorsegmentsfixed + || GeoId1 <= Sketcher::GeoEnum::RefExt + || constraintCreationMode == Reference) { + // it is a constraint on a external line, make it non-driving + Gui::cmdAppObjectArgs(Obj, "setDriving(%i,%s)", ConStr.size() - 1, "False"); + } + + numberOfConstraintsCreated++; + moveConstraint(ConStr.size() - 1, onSketchPos); + } + + void createDistanceXYConstrain(Sketcher::ConstraintType type, int GeoId1, Sketcher::PointPos PosId1, int GeoId2, Sketcher::PointPos PosId2, Base::Vector2d onSketchPos) { + Base::Vector3d pnt1 = Obj->getPoint(GeoId1, PosId1); + Base::Vector3d pnt2 = Obj->getPoint(GeoId2, PosId2); + double ActLength = pnt2.x - pnt1.x; + + if (type == Sketcher::DistanceY) { + ActLength = pnt2.y - pnt1.y; + } + + //negative sign avoidance: swap the points to make value positive + if (ActLength < -Precision::Confusion()) { + std::swap(GeoId1, GeoId2); + std::swap(PosId1, PosId2); + std::swap(pnt1, pnt2); + ActLength = -ActLength; + } + + if (type == Sketcher::DistanceY) { + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('DistanceY',%d,%d,%d,%d,%f)) ", + GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2), ActLength); + } + else { + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('DistanceX',%d,%d,%d,%d,%f)) ", + GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2), ActLength); + } + + const std::vector& ConStr = Obj->Constraints.getValues(); + if (areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2) || constraintCreationMode == Reference) { + // it is a constraint on a external line, make it non-driving + Gui::cmdAppObjectArgs(Obj, "setDriving(%i,%s)", + ConStr.size() - 1, "False"); + } + + numberOfConstraintsCreated++; + moveConstraint(ConStr.size() - 1, onSketchPos); + } + + void createRadiusDiameterConstrain(int GeoId, Base::Vector2d onSketchPos) { + double radius = 0.0; + bool isCircle = true; + + const Part::Geometry* geom = Obj->getGeometry(GeoId); + if (geom && geom->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) { + const Part::GeomArcOfCircle* arc = static_cast(geom); + radius = arc->getRadius(); + isCircle = false; + } + else if (geom && geom->getTypeId() == Part::GeomCircle::getClassTypeId()) { + const Part::GeomCircle* circle = static_cast(geom); + radius = circle->getRadius(); + } + + if (isBsplinePole(geom)) + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Weight',%d,%f)) ", + GeoId, radius); + else { + ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/Mod/Sketcher/dimensioning"); + bool dimensioningDiameter = hGrp->GetBool("DimensioningDiameter", true); + bool dimensioningRadius = hGrp->GetBool("DimensioningRadius", true); + + bool firstCstr = true; + if (availableConstraint != AvailableConstraint::FIRST) { + firstCstr = false; + //This way if key is pressed again it goes back to FIRST + availableConstraint = AvailableConstraint::RESET; + } + + if ((firstCstr && dimensioningRadius && !dimensioningDiameter) || + (!firstCstr && !dimensioningRadius && dimensioningDiameter) || + (firstCstr && dimensioningRadius && dimensioningDiameter && !isCircle) || + (!firstCstr && dimensioningRadius && dimensioningDiameter && isCircle) ) { + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Radius',%d,%f)) ", + GeoId, radius); + } + else { + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Diameter',%d,%f)) ", + GeoId, radius * 2); + } + } + + const std::vector& ConStr = Obj->Constraints.getValues(); + bool fixed = isPointOrSegmentFixed(Obj, GeoId); + if (fixed || constraintCreationMode == Reference || GeoId <= Sketcher::GeoEnum::RefExt) { + Gui::cmdAppObjectArgs(Obj, "setDriving(%i,%s)", ConStr.size() - 1, "False"); + } + + moveConstraint(ConStr.size() - 1, onSketchPos); + + numberOfConstraintsCreated ++; + } + + bool createCoincidenceConstrain(int GeoId1, Sketcher::PointPos PosId1, int GeoId2, Sketcher::PointPos PosId2) { + // check if the edge already has a Block constraint + if (areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2)) { + return false; + } + + // check if this coincidence is already enforced (even indirectly) + bool constraintExists = Obj->arePointsCoincident(GeoId1, PosId1, GeoId2, PosId2); + if (!constraintExists && (GeoId1 != GeoId2)) { + Gui::cmdAppObjectArgs(sketchgui->getObject(), "addConstraint(Sketcher.Constraint('Coincident', %d, %d, %d, %d)) ", + GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2)); + + numberOfConstraintsCreated++; + return true; + } + return false; + } + + void createEqualityConstrain(int GeoId1, int GeoId2) { + // check if the edge already has a Block constraint + if (areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2)) { + return; + } + + const Part::Geometry* geo1 = Obj->getGeometry(GeoId1); + const Part::Geometry* geo2 = Obj->getGeometry(GeoId2); + + if ((geo1->getTypeId() == Part::GeomLineSegment::getClassTypeId() && geo2->getTypeId() != Part::GeomLineSegment::getClassTypeId()) || + (geo1->getTypeId() == Part::GeomArcOfHyperbola::getClassTypeId() && geo2->getTypeId() != Part::GeomArcOfHyperbola::getClassTypeId()) || + (geo1->getTypeId() == Part::GeomArcOfParabola::getClassTypeId() && geo2->getTypeId() != Part::GeomArcOfParabola::getClassTypeId()) || + (isBsplinePole(geo1) && !isBsplinePole(geo2)) || + ((geo1->getTypeId() == Part::GeomCircle::getClassTypeId() || geo1->getTypeId() == Part::GeomArcOfCircle::getClassTypeId()) && + !(geo2->getTypeId() == Part::GeomCircle::getClassTypeId() || geo2->getTypeId() == Part::GeomArcOfCircle::getClassTypeId())) || + ((geo1->getTypeId() == Part::GeomEllipse::getClassTypeId() || geo1->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()) && + !(geo2->getTypeId() == Part::GeomEllipse::getClassTypeId() || geo2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId()))) { + + Gui::TranslatedUserWarning(Obj, + QObject::tr("Wrong selection"), + QObject::tr("Select two or more edges of similar type.")); + return; + } + + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Equal',%d,%d)) ", + GeoId1, GeoId2); + numberOfConstraintsCreated++; + } + + void createAngleConstrain(int GeoId1, int GeoId2, Base::Vector2d onSketchPos) { + const Part::Geometry* geom1 = Obj->getGeometry(GeoId1); + const Part::Geometry* geom2 = Obj->getGeometry(GeoId2); + if (geom1->getTypeId() == Part::GeomLineSegment::getClassTypeId() && + geom2->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { + const Part::GeomLineSegment* lineSeg1 = static_cast(geom1); + const Part::GeomLineSegment* lineSeg2 = static_cast(geom2); + + // find the two closest line ends + Sketcher::PointPos PosId1 = Sketcher::PointPos::none; + Sketcher::PointPos PosId2 = Sketcher::PointPos::none; + Base::Vector3d p1[2], p2[2]; + p1[0] = lineSeg1->getStartPoint(); + p1[1] = lineSeg1->getEndPoint(); + p2[0] = lineSeg2->getStartPoint(); + p2[1] = lineSeg2->getEndPoint(); + + // Get the intersection point in 2d of the two lines if possible + Base::Line2d line1(Base::Vector2d(p1[0].x, p1[0].y), Base::Vector2d(p1[1].x, p1[1].y)); + Base::Line2d line2(Base::Vector2d(p2[0].x, p2[0].y), Base::Vector2d(p2[1].x, p2[1].y)); + Base::Vector2d s; + if (line1.Intersect(line2, s)) { + // get the end points of the line segments that are closest to the intersection point + Base::Vector3d s3d(s.x, s.y, p1[0].z); + if (Base::DistanceP2(s3d, p1[0]) < Base::DistanceP2(s3d, p1[1])) + PosId1 = Sketcher::PointPos::start; + else + PosId1 = Sketcher::PointPos::end; + if (Base::DistanceP2(s3d, p2[0]) < Base::DistanceP2(s3d, p2[1])) + PosId2 = Sketcher::PointPos::start; + else + PosId2 = Sketcher::PointPos::end; + } + else { + // if all points are collinear + double length = DBL_MAX; + for (int i = 0; i <= 1; i++) { + for (int j = 0; j <= 1; j++) { + double tmp = Base::DistanceP2(p2[j], p1[i]); + if (tmp < length) { + length = tmp; + PosId1 = i ? Sketcher::PointPos::end : Sketcher::PointPos::start; + PosId2 = j ? Sketcher::PointPos::end : Sketcher::PointPos::start; + } + } + } + } + + Base::Vector3d dir1 = ((PosId1 == Sketcher::PointPos::start) ? 1. : -1.) * + (lineSeg1->getEndPoint() - lineSeg1->getStartPoint()); + Base::Vector3d dir2 = ((PosId2 == Sketcher::PointPos::start) ? 1. : -1.) * + (lineSeg2->getEndPoint() - lineSeg2->getStartPoint()); + + // check if the two lines are parallel, in this case an angle is not possible + Base::Vector3d dir3 = dir1 % dir2; + if (dir3.Length() < Precision::Intersection()) { + Base::Vector3d dist = (p1[0] - p2[0]) % dir1; + if (dist.Sqr() > Precision::Intersection()) { + //distance between 2 points + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Distance constraint")); + if ((selLine[0].GeoId == Sketcher::GeoEnum::VAxis || selLine[0].GeoId == Sketcher::GeoEnum::HAxis)) { + createDistanceConstrain(selLine[1].GeoId, Sketcher::PointPos::start, selLine[0].GeoId, selLine[0].PosId, onSketchPos); + } + else { + createDistanceConstrain(selLine[0].GeoId, Sketcher::PointPos::start, selLine[1].GeoId, selLine[1].PosId, onSketchPos); + } + return; + } + } + + double ActAngle = atan2(dir1.x * dir2.y - dir1.y * dir2.x, + dir1.y * dir2.y + dir1.x * dir2.x); + if (ActAngle < 0) { + ActAngle *= -1; + std::swap(GeoId1, GeoId2); + std::swap(PosId1, PosId2); + } + + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Angle',%d,%d,%d,%d,%f)) ", + GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2), ActAngle); + + const std::vector& ConStr = Obj->Constraints.getValues(); + if (areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2) || constraintCreationMode == Reference) { + // it is a constraint on a external line, make it non-driving + + Gui::cmdAppObjectArgs(Obj, "setDriving(%i,%s)", ConStr.size() - 1, "False"); + } + numberOfConstraintsCreated++; + moveConstraint(ConStr.size() - 1, onSketchPos); + } + } + + void createVerticalConstrain(int GeoId1, Sketcher::PointPos PosId1, int GeoId2, Sketcher::PointPos PosId2) { + if (selLine.size() == 1) { + Gui::cmdAppObjectArgs(sketchgui->getObject(), "addConstraint(Sketcher.Constraint('Vertical',%d)) ", GeoId1); + + } + else { //2points + if (areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2)) { + return; + } + Gui::cmdAppObjectArgs(sketchgui->getObject(), "addConstraint(Sketcher.Constraint('Vertical',%d,%d,%d,%d)) " + , GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2)); + } + numberOfConstraintsCreated++; + tryAutoRecompute(Obj); + } + void createHorizontalConstrain(int GeoId1, Sketcher::PointPos PosId1, int GeoId2, Sketcher::PointPos PosId2) { + if (selLine.size() == 1) { + Gui::cmdAppObjectArgs(sketchgui->getObject(), "addConstraint(Sketcher.Constraint('Horizontal',%d)) ", GeoId1); + } + else { //2points + if (areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2)) { + return; + } + Gui::cmdAppObjectArgs(sketchgui->getObject(), "addConstraint(Sketcher.Constraint('Horizontal',%d,%d,%d,%d)) " + , GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2)); + } + numberOfConstraintsCreated++; + tryAutoRecompute(Obj); + } + void createBlockConstrain(int GeoId) { + Gui::cmdAppObjectArgs(sketchgui->getObject(), "addConstraint(Sketcher.Constraint('Block',%d)) ", GeoId); + + numberOfConstraintsCreated++; + tryAutoRecompute(Obj); + } + bool isHorizontalVerticalBlock(int GeoId) { + const std::vector< Sketcher::Constraint* >& vals = Obj->Constraints.getValues(); + + // check if the edge already has a Horizontal/Vertical/Block constraint + for (const auto& constraint : vals) { + if ((constraint->Type == Sketcher::Horizontal || constraint->Type == Sketcher::Vertical || constraint->Type == Sketcher::Block) + && constraint->First == GeoId) { + return true; + } + } + return false; + } + + void createSymmetryConstrain(int GeoId1, Sketcher::PointPos PosId1, int GeoId2, Sketcher::PointPos PosId2, int GeoId3, Sketcher::PointPos PosId3) { + if (selPoints.size() == 2 && selLine.size() == 1) { + if (isEdge(GeoId1, PosId1) && isVertex(GeoId3, PosId3)) { + std::swap(GeoId1, GeoId3); + std::swap(PosId1, PosId3); + } + else if (isEdge(GeoId2, PosId2) && isVertex(GeoId3, PosId3)) { + std::swap(GeoId2, GeoId3); + std::swap(PosId2, PosId3); + } + + if (areAllPointsOrSegmentsFixed(Obj, GeoId1, GeoId2, GeoId3)) { + return; + } + + const Part::Geometry* geom = Obj->getGeometry(GeoId3); + if (geom->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { + if (GeoId1 == GeoId2 && GeoId2 == GeoId3) { + Gui::TranslatedUserWarning(Obj, + QObject::tr("Wrong selection"), + QObject::tr("Cannot add a symmetry constraint between a line and its end points!")); + return; + } + + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Symmetric',%d,%d,%d,%d,%d)) ", + GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2), GeoId3); + + numberOfConstraintsCreated++; + tryAutoRecompute(Obj); + } + } + else { + if (selPoints.size() == 1 && selLine.size() == 1) { //1line 1 point + if (GeoId1 == GeoId3) { + Gui::TranslatedUserWarning(Obj, + QObject::tr("Wrong selection"), + QObject::tr("Cannot add a symmetry constraint between a line and its end points!")); + return; + } + if (areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2)) { + return; + } + } + else { + if (areAllPointsOrSegmentsFixed(Obj, GeoId1, GeoId2, GeoId3)) { + return; + } + } + Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Symmetric',%d,%d,%d,%d,%d,%d)) ", + GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2), GeoId3, static_cast(PosId3)); + + numberOfConstraintsCreated++; + tryAutoRecompute(Obj); + } + } + + void updateDistanceType(Base::Vector2d onSketchPos) + { + const std::vector< Sketcher::Constraint* >& vals = Obj->Constraints.getValues(); + Sketcher::ConstraintType type = vals[vals.size() - 1]->Type; + + Base::Vector3d pnt1, pnt2; + bool addedOrigin = false; + if (selPoints.size() == 1) { + //Case of single point selected, for distance constraint. We add temporarily the origin in the vector. + addedOrigin = true; + SelIdPair selIdPair; + selIdPair.GeoId = Sketcher::GeoEnum::RtPnt; + selIdPair.PosId = Sketcher::PointPos::start; + selPoints.push_back(selIdPair); + } + + if (selLine.size() == 1) { + pnt1 = Obj->getPoint(selLine[0].GeoId, Sketcher::PointPos::start); + pnt2 = Obj->getPoint(selLine[0].GeoId, Sketcher::PointPos::end); + } + else { + pnt1 = Obj->getPoint(selPoints[0].GeoId, selPoints[0].PosId); + pnt2 = Obj->getPoint(selPoints[1].GeoId, selPoints[1].PosId); + } + + double minX, minY, maxX, maxY; + minX = min(pnt1.x, pnt2.x); + maxX = max(pnt1.x, pnt2.x); + minY = min(pnt1.y, pnt2.y); + maxY = max(pnt1.y, pnt2.y); + if (onSketchPos.x > minX && onSketchPos.x < maxX + && (onSketchPos.y < minY || onSketchPos.y > maxY) && type != Sketcher::DistanceX) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add DistanceX constraint")); + specialConstraint = SpecialConstraint::LineOr2PointsDistance; + if (selLine.size() == 1) { + createDistanceXYConstrain(Sketcher::DistanceX, selLine[0].GeoId, Sketcher::PointPos::start, selLine[0].GeoId, Sketcher::PointPos::end, onSketchPos); + } + else { + createDistanceXYConstrain(Sketcher::DistanceX, selPoints[0].GeoId, selPoints[0].PosId, selPoints[1].GeoId, selPoints[1].PosId, onSketchPos); + } + } + else if (onSketchPos.y > minY && onSketchPos.y < maxY + && (onSketchPos.x < minX || onSketchPos.x > maxX) && type != Sketcher::DistanceY) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add DistanceY constraint")); + specialConstraint = SpecialConstraint::LineOr2PointsDistance; + if (selLine.size() == 1) { + createDistanceXYConstrain(Sketcher::DistanceY, selLine[0].GeoId, Sketcher::PointPos::start, selLine[0].GeoId, Sketcher::PointPos::end, onSketchPos); + } + else { + createDistanceXYConstrain(Sketcher::DistanceY, selPoints[0].GeoId, selPoints[0].PosId, selPoints[1].GeoId, selPoints[1].PosId, onSketchPos); + } + } + else if ((((onSketchPos.y < minY || onSketchPos.y > maxY) && (onSketchPos.x < minX || onSketchPos.x > maxX)) + || (onSketchPos.y > minY && onSketchPos.y < maxY && onSketchPos.x > minX && onSketchPos.x < maxX)) && type != Sketcher::Distance) { + restartCommand(QT_TRANSLATE_NOOP("Command", "Add Distance constraint")); + if (selLine.size() == 1) { + createDistanceConstrain(selLine[0].GeoId, Sketcher::PointPos::start, selLine[0].GeoId, Sketcher::PointPos::end, onSketchPos); + } + else { + createDistanceConstrain(selPoints[0].GeoId, selPoints[0].PosId, selPoints[1].GeoId, selPoints[1].PosId, onSketchPos); + } + + } + + if (addedOrigin) { + //remove origin + selPoints.pop_back(); + } + } + + void restartCommand(const char* cstrName) { + specialConstraint = SpecialConstraint::None; + Gui::Command::abortCommand(); + Obj->solve(); + sketchgui->draw(false, false); // Redraw + Gui::Command::openCommand(cstrName); + + numberOfConstraintsCreated = 0; + } +}; + +DEF_STD_CMD_AU(CmdSketcherDimension) + +CmdSketcherDimension::CmdSketcherDimension() + : Command("Sketcher_Dimension") +{ + sAppModule = "Sketcher"; + sGroup = "Sketcher"; + sMenuText = QT_TR_NOOP("Dimension"); + sToolTipText = QT_TR_NOOP("Constrain contextually based on your selection.\n" + "Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key.\n" + "Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel."); + sWhatsThis = "Sketcher_Dimension"; + sStatusTip = sToolTipText; + sPixmap = "Constraint_Dimension"; + sAccel = "D"; + eType = ForEdit; +} + +void CmdSketcherDimension::activated(int iMsg) +{ + Q_UNUSED(iMsg); + ActivateHandler(getActiveGuiDocument(), new DrawSketchHandlerDimension()); + getSelection().clearSelection(); +} + +void CmdSketcherDimension::updateAction(int mode) +{ + switch (mode) { + case Reference: + if (getAction()) + getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Dimension_Driven")); + break; + case Driving: + if (getAction()) + getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Dimension")); + break; + } +} + +bool CmdSketcherDimension::isActive(void) +{ + return isCommandActive(getActiveGuiDocument()); +} + + // ============================================================================ class CmdSketcherConstrainHorizontal: public CmdSketcherConstraint @@ -1112,8 +2402,9 @@ void CmdSketcherConstrainHorizontal::activated(int iMsg) else if (isVertex(GeoId, PosId)) { // can be a point, a construction point, an external point or root - if (isPointOrSegmentFixed(Obj, GeoId)) + if (isPointOrSegmentFixed(Obj, GeoId)) { fixedpoints++; + } pointgeoids.push_back(GeoId); pointpos.push_back(PosId); @@ -1397,8 +2688,9 @@ void CmdSketcherConstrainVertical::activated(int iMsg) } else if (isVertex(GeoId, PosId)) { // can be a point, a construction point, an external point, root or a blocked geometry - if (isPointOrSegmentFixed(Obj, GeoId)) + if (isPointOrSegmentFixed(Obj, GeoId)) { fixedpoints++; + } pointgeoids.push_back(GeoId); pointpos.push_back(PosId); @@ -1419,8 +2711,9 @@ void CmdSketcherConstrainVertical::activated(int iMsg) openCommand(QT_TRANSLATE_NOOP("Command", "Add vertical constraint")); for (std::vector::iterator it = edgegeoids.begin(); it != edgegeoids.end(); it++) { // issue the actual commands to create the constraint - Gui::cmdAppObjectArgs( - selection[0].getObject(), "addConstraint(Sketcher.Constraint('Vertical',%d))", *it); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "addConstraint(Sketcher.Constraint('Vertical',%d))", + *it); } } else if (fixedpoints <= 1) {// vertex mode, maximum one fixed point @@ -1689,11 +2982,15 @@ void CmdSketcherConstrainLock::activated(int iMsg) || constraintCreationMode == Reference) { // it is a constraint on a external line, make it non-driving - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", lastconstraintindex - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + lastconstraintindex - 1, + "False"); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", lastconstraintindex, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + lastconstraintindex, + "False"); } } else { @@ -1705,16 +3002,18 @@ void CmdSketcherConstrainLock::activated(int iMsg) // check if the edge already has a Block constraint bool refpointfixed = false; - if (isPointOrSegmentFixed(Obj, GeoId.back())) + if (isPointOrSegmentFixed(Obj, GeoId.back())) { refpointfixed = true; + } for (itg = GeoId.begin(), itp = PosId.begin(); itg != std::prev(GeoId.end()) && itp != std::prev(PosId.end()); ++itp, ++itg) { bool pointfixed = false; - if (isPointOrSegmentFixed(Obj, *itg)) + if (isPointOrSegmentFixed(Obj, *itg)) { pointfixed = true; + } Base::Vector3d pnt = Obj->getPoint(*itg, *itp); @@ -1745,8 +3044,10 @@ void CmdSketcherConstrainLock::activated(int iMsg) lastconstraintindex - 1, "False"); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", lastconstraintindex, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + lastconstraintindex, + "False"); } } } @@ -1771,8 +3072,9 @@ void CmdSketcherConstrainLock::applyConstraint(std::vector& selSeq, i // check if the edge already has a Block constraint bool pointfixed = false; - if (isPointOrSegmentFixed(Obj, selSeq.front().GeoId)) + if (isPointOrSegmentFixed(Obj, selSeq.front().GeoId)) { pointfixed = true; + } Base::Vector3d pnt = Obj->getPoint(selSeq.front().GeoId, selSeq.front().PosId); @@ -1793,11 +3095,15 @@ void CmdSketcherConstrainLock::applyConstraint(std::vector& selSeq, i // it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - sketchgui->getObject(), "setDriving(%d, %s)", ConStr.size() - 2, "False"); + Gui::cmdAppObjectArgs(sketchgui->getObject(), + "setDriving(%d, %s)", + ConStr.size() - 2, + "False"); - Gui::cmdAppObjectArgs( - sketchgui->getObject(), "setDriving(%d, %s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(sketchgui->getObject(), + "setDriving(%d, %s)", + ConStr.size() - 1, + "False"); } // finish the transaction and update @@ -1807,8 +3113,9 @@ void CmdSketcherConstrainLock::applyConstraint(std::vector& selSeq, i "User parameter:BaseApp/Preferences/Mod/Sketcher"); bool autoRecompute = hGrp->GetBool("AutoRecompute", false); - if (autoRecompute) + if (autoRecompute) { Gui::Command::updateActive(); + } break; } } @@ -1817,12 +3124,14 @@ void CmdSketcherConstrainLock::updateAction(int mode) { switch (mode) { case Reference: - if (getAction()) + if (getAction()) { getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Lock_Driven")); + } break; case Driving: - if (getAction()) + if (getAction()) { getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Lock")); + } break; } } @@ -1948,8 +3257,9 @@ void CmdSketcherConstrainBlock::activated(int iMsg) Gui::cmdAppObjectArgs(Obj, "addConstraint(Sketcher.Constraint('Block',%d))", (*itg)); }); - if (!safe) + if (!safe) { return; + } else { commitCommand(); tryAutoRecompute(Obj); @@ -1974,8 +3284,10 @@ void CmdSketcherConstrainBlock::applyConstraint(std::vector& selSeq, // check if the edge already has a Block constraint const std::vector& vals = Obj->Constraints.getValues(); - if (checkConstraint( - vals, Sketcher::Block, selSeq.front().GeoId, Sketcher::PointPos::none)) { + if (checkConstraint(vals, + Sketcher::Block, + selSeq.front().GeoId, + Sketcher::PointPos::none)) { Gui::TranslatedUserWarning( Obj, QObject::tr("Double constraint"), @@ -1992,8 +3304,9 @@ void CmdSketcherConstrainBlock::applyConstraint(std::vector& selSeq, selSeq.front().GeoId); }); - if (!safe) + if (!safe) { return; + } else { commitCommand(); tryAutoRecompute(Obj); @@ -2169,8 +3482,11 @@ protected: void activated(int iMsg) override; void applyConstraint(std::vector& selSeq, int seqIndex) override; // returns true if a substitution took place - static bool substituteConstraintCombinations(SketchObject* Obj, int GeoId1, PointPos PosId1, - int GeoId2, PointPos PosId2); + static bool substituteConstraintCombinations(SketchObject* Obj, + int GeoId1, + PointPos PosId1, + int GeoId2, + PointPos PosId2); }; CmdSketcherConstrainCoincident::CmdSketcherConstrainCoincident() @@ -2194,8 +3510,10 @@ CmdSketcherConstrainCoincident::CmdSketcherConstrainCoincident() {SelExternalEdge, SelEdge}}; } -bool CmdSketcherConstrainCoincident::substituteConstraintCombinations(SketchObject* Obj, int GeoId1, - PointPos PosId1, int GeoId2, +bool CmdSketcherConstrainCoincident::substituteConstraintCombinations(SketchObject* Obj, + int GeoId1, + PointPos PosId1, + int GeoId2, PointPos PosId2) { // checks for direct and indirect coincidence constraints @@ -2217,8 +3535,10 @@ bool CmdSketcherConstrainCoincident::substituteConstraintCombinations(SketchObje if (constraintExists) { // try to remove any pre-existing direct coincident constraints - Gui::cmdAppObjectArgs( - Obj, "delConstraintOnPoint(%d,%d)", GeoId1, static_cast(PosId1)); + Gui::cmdAppObjectArgs(Obj, + "delConstraintOnPoint(%d,%d)", + GeoId1, + static_cast(PosId1)); } Gui::cmdAppObjectArgs(Obj, "delConstraint(%d)", j); @@ -2307,12 +3627,14 @@ void CmdSketcherConstrainCoincident::activated(int iMsg) getIdsFromName(*it, Obj, GeoId, PosId); if (isEdge(GeoId, PosId)) { atLeastOneEdge = true; - if (!isGeoConcentricCompatible(Obj->getGeometry(GeoId))) + if (!isGeoConcentricCompatible(Obj->getGeometry(GeoId))) { allConicsEdges = false; + } } - else + else { allConicsEdges = false;// at least one point is selected, so concentric can't be // applied. + } if (atLeastOneEdge && !allConicsEdges) { Gui::TranslatedUserWarning( @@ -2328,16 +3650,18 @@ void CmdSketcherConstrainCoincident::activated(int iMsg) int GeoId1, GeoId2; Sketcher::PointPos PosId1, PosId2; getIdsFromName(SubNames[0], Obj, GeoId1, PosId1); - if (allConicsEdges) + if (allConicsEdges) { PosId1 = Sketcher::PointPos::mid; + } // undo command open bool constraintsAdded = false; openCommand(QT_TRANSLATE_NOOP("Command", "Add coincident constraint")); for (std::size_t i = 1; i < SubNames.size(); i++) { getIdsFromName(SubNames[i], Obj, GeoId2, PosId2); - if (allConicsEdges) + if (allConicsEdges) { PosId2 = Sketcher::PointPos::mid; + } // check if the edge already has a Block constraint if (areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2)) { @@ -2369,10 +3693,12 @@ void CmdSketcherConstrainCoincident::activated(int iMsg) } // finish or abort the transaction and update - if (constraintsAdded) + if (constraintsAdded) { commitCommand(); - else + } + else { abortCommand(); + } tryAutoRecompute(Obj); @@ -2526,8 +3852,9 @@ void CmdSketcherConstrainDistance::activated(int iMsg) int GeoId1, GeoId2 = GeoEnum::GeoUndef; Sketcher::PointPos PosId1, PosId2 = Sketcher::PointPos::none; getIdsFromName(SubNames[0], Obj, GeoId1, PosId1); - if (SubNames.size() == 2) + if (SubNames.size() == 2) { getIdsFromName(SubNames[1], Obj, GeoId2, PosId2); + } bool arebothpointsorsegmentsfixed = areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2); @@ -2585,12 +3912,15 @@ void CmdSketcherConstrainDistance::activated(int iMsg) // it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } else if ((isVertex(GeoId1, PosId1) && isEdge(GeoId2, PosId2)) @@ -2624,12 +3954,47 @@ void CmdSketcherConstrainDistance::activated(int iMsg) == Reference) {// it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } + + return; + } + else if (geom->getTypeId() == Part::GeomCircle::getClassTypeId()) { + const Part::GeomCircle* circleSeg; + circleSeg = static_cast(geom); + Base::Vector3d ct = circleSeg->getCenter(); + Base::Vector3d d = ct - pnt; + double ActDist = std::abs(d.Length() - circleSeg->getRadius()); + + openCommand(QT_TRANSLATE_NOOP("Command", "Add point to circle Distance constraint")); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "addConstraint(Sketcher.Constraint('Distance',%d,%d,%d,%f))", + GeoId1, + static_cast(PosId1), + GeoId2, + ActDist); + + if (arebothpointsorsegmentsfixed + || constraintCreationMode + == Reference) {// it is a constraint on a external line, make it non-driving + const std::vector& ConStr = Obj->Constraints.getValues(); + + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); + finishDatumConstraint(this, Obj, false); + } + else { + finishDatumConstraint(this, Obj, true); + } return; } @@ -2676,12 +4041,15 @@ void CmdSketcherConstrainDistance::activated(int iMsg) == Reference) {// it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -2721,12 +4089,15 @@ void CmdSketcherConstrainDistance::activated(int iMsg) == Reference) {// it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%i,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%i,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -2758,12 +4129,15 @@ void CmdSketcherConstrainDistance::activated(int iMsg) || constraintCreationMode == Reference) { const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -2847,8 +4221,9 @@ void CmdSketcherConstrainDistance::applyConstraint(std::vector& selSe Gui::cmdAppObjectArgs(Obj, "setDriving(%d,%s)", ConStr.size() - 1, "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -2868,8 +4243,10 @@ void CmdSketcherConstrainDistance::applyConstraint(std::vector& selSe double ActLength = (lineSeg->getEndPoint() - lineSeg->getStartPoint()).Length(); openCommand(QT_TRANSLATE_NOOP("Command", "Add length constraint")); - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Distance',%d,%f))", GeoId1, ActLength); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Distance',%d,%f))", + GeoId1, + ActLength); if (arebothpointsorsegmentsfixed || GeoId1 <= Sketcher::GeoEnum::RefExt || constraintCreationMode == Reference) { @@ -2879,8 +4256,9 @@ void CmdSketcherConstrainDistance::applyConstraint(std::vector& selSe Gui::cmdAppObjectArgs(Obj, "setDriving(%d,%s)", ConStr.size() - 1, "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } } else if (geom->getTypeId() == Part::GeomCircle::getClassTypeId()) { // allow this selection but do nothing as it needs 2 circles or 1 circle and 1 line @@ -2931,8 +4309,9 @@ void CmdSketcherConstrainDistance::applyConstraint(std::vector& selSe Gui::cmdAppObjectArgs(Obj, "setDriving(%d,%s)", ConStr.size() - 1, "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } } return; @@ -2986,8 +4365,9 @@ void CmdSketcherConstrainDistance::applyConstraint(std::vector& selSe Gui::cmdAppObjectArgs(Obj, "setDriving(%d,%s)", ConStr.size() - 1, "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -3008,13 +4388,15 @@ void CmdSketcherConstrainDistance::updateAction(int mode) { switch (mode) { case Reference: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_Length_Driven")); + } break; case Driving: - if (getAction()) + if (getAction()) { getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Length")); + } break; } } @@ -3036,8 +4418,8 @@ protected: void activated(int iMsg) override; void applyConstraint(std::vector& selSeq, int seqIndex) override; // returns true if a substitution took place - static bool substituteConstraintCombinations(SketchObject* Obj, int GeoId1, PointPos PosId1, - int GeoId2); + static bool + substituteConstraintCombinations(SketchObject* Obj, int GeoId1, PointPos PosId1, int GeoId2); }; CmdSketcherConstrainPointOnObject::CmdSketcherConstrainPointOnObject() @@ -3130,10 +4512,12 @@ void CmdSketcherConstrainPointOnObject::activated(int iMsg) for (std::size_t i = 0; i < SubNames.size(); i++) { SelIdPair id; getIdsFromName(SubNames[i], Obj, id.GeoId, id.PosId); - if (isEdge(id.GeoId, id.PosId)) + if (isEdge(id.GeoId, id.PosId)) { curves.push_back(id); - if (isVertex(id.GeoId, id.PosId)) + } + if (isVertex(id.GeoId, id.PosId)) { points.push_back(id); + } } if ((points.size() == 1 && !curves.empty()) || (!points.empty() && curves.size() == 1)) { @@ -3146,8 +4530,9 @@ void CmdSketcherConstrainPointOnObject::activated(int iMsg) showNoConstraintBetweenFixedGeometry(Obj); continue; } - if (points[iPnt].GeoId == curves[iCrv].GeoId) + if (points[iPnt].GeoId == curves[iCrv].GeoId) { continue;// constraining a point of an element onto the element is a bad idea... + } const Part::Geometry* geom = Obj->getGeometry(curves[iCrv].GeoId); @@ -3161,8 +4546,10 @@ void CmdSketcherConstrainPointOnObject::activated(int iMsg) continue; } - if (substituteConstraintCombinations( - Obj, points[iPnt].GeoId, points[iPnt].PosId, curves[iCrv].GeoId)) { + if (substituteConstraintCombinations(Obj, + points[iPnt].GeoId, + points[iPnt].PosId, + curves[iCrv].GeoId)) { cnt++; continue; } @@ -3239,8 +4626,9 @@ void CmdSketcherConstrainPointOnObject::applyConstraint(std::vector& showNoConstraintBetweenFixedGeometry(Obj); allOK = false; } - if (GeoIdVt == GeoIdCrv) + if (GeoIdVt == GeoIdCrv) { allOK = false;// constraining a point of an element onto the element is a bad idea... + } const Part::Geometry* geom = Obj->getGeometry(GeoIdCrv); @@ -3254,12 +4642,13 @@ void CmdSketcherConstrainPointOnObject::applyConstraint(std::vector& } if (allOK) { - if (!substituteConstraintCombinations(Obj, GeoIdVt, PosIdVt, GeoIdCrv)) + if (!substituteConstraintCombinations(Obj, GeoIdVt, PosIdVt, GeoIdCrv)) { Gui::cmdAppObjectArgs(sketchgui->getObject(), "addConstraint(Sketcher.Constraint('PointOnObject',%d,%d,%d))", GeoIdVt, static_cast(PosIdVt), GeoIdCrv); + } commitCommand(); tryAutoRecompute(Obj); @@ -3310,8 +4699,10 @@ CmdSketcherConstrainDistanceX::CmdSketcherConstrainDistanceX() eType = ForEdit; // Can't do single vertex because its a prefix for 2 vertices - allowedSelSequences = { - {SelVertex, SelVertexOrRoot}, {SelRoot, SelVertex}, {SelEdge}, {SelExternalEdge}}; + allowedSelSequences = {{SelVertex, SelVertexOrRoot}, + {SelRoot, SelVertex}, + {SelEdge}, + {SelExternalEdge}}; } void CmdSketcherConstrainDistanceX::activated(int iMsg) @@ -3355,8 +4746,9 @@ void CmdSketcherConstrainDistanceX::activated(int iMsg) int GeoId1, GeoId2 = GeoEnum::GeoUndef; Sketcher::PointPos PosId1, PosId2 = Sketcher::PointPos::none; getIdsFromName(SubNames[0], Obj, GeoId1, PosId1); - if (SubNames.size() == 2) + if (SubNames.size() == 2) { getIdsFromName(SubNames[1], Obj, GeoId2, PosId2); + } bool arebothpointsorsegmentsfixed = areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2); @@ -3365,9 +4757,10 @@ void CmdSketcherConstrainDistanceX::activated(int iMsg) std::swap(PosId1, PosId2); } - if (GeoId1 == Sketcher::GeoEnum::HAxis && PosId1 == Sketcher::PointPos::none) + if (GeoId1 == Sketcher::GeoEnum::HAxis && PosId1 == Sketcher::PointPos::none) { // reject horizontal axis from selection GeoId1 = GeoEnum::GeoUndef; + } else if (GeoId1 == Sketcher::GeoEnum::VAxis && PosId1 == Sketcher::PointPos::none) { GeoId1 = Sketcher::GeoEnum::HAxis; PosId1 = Sketcher::PointPos::start; @@ -3421,12 +4814,15 @@ void CmdSketcherConstrainDistanceX::activated(int iMsg) // it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -3458,12 +4854,15 @@ void CmdSketcherConstrainDistanceX::activated(int iMsg) // it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -3546,22 +4945,25 @@ void CmdSketcherConstrainDistanceX::applyConstraint(std::vector& selS Gui::cmdAppObjectArgs(Obj, "setDriving(%d,%s)", ConStr.size() - 1, "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } } void CmdSketcherConstrainDistanceX::updateAction(int mode) { switch (mode) { case Reference: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_HorizontalDistance_Driven")); + } break; case Driving: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_HorizontalDistance")); + } break; } } @@ -3600,8 +5002,10 @@ CmdSketcherConstrainDistanceY::CmdSketcherConstrainDistanceY() eType = ForEdit; // Can't do single vertex because its a prefix for 2 vertices - allowedSelSequences = { - {SelVertex, SelVertexOrRoot}, {SelRoot, SelVertex}, {SelEdge}, {SelExternalEdge}}; + allowedSelSequences = {{SelVertex, SelVertexOrRoot}, + {SelRoot, SelVertex}, + {SelEdge}, + {SelExternalEdge}}; } void CmdSketcherConstrainDistanceY::activated(int iMsg) @@ -3645,8 +5049,9 @@ void CmdSketcherConstrainDistanceY::activated(int iMsg) int GeoId1, GeoId2 = GeoEnum::GeoUndef; Sketcher::PointPos PosId1, PosId2 = Sketcher::PointPos::none; getIdsFromName(SubNames[0], Obj, GeoId1, PosId1); - if (SubNames.size() == 2) + if (SubNames.size() == 2) { getIdsFromName(SubNames[1], Obj, GeoId2, PosId2); + } bool arebothpointsorsegmentsfixed = areBothPointsOrSegmentsFixed(Obj, GeoId1, GeoId2); @@ -3656,10 +5061,12 @@ void CmdSketcherConstrainDistanceY::activated(int iMsg) } if (GeoId1 == Sketcher::GeoEnum::VAxis - && PosId1 == Sketcher::PointPos::none)// reject vertical axis from selection + && PosId1 == Sketcher::PointPos::none) {// reject vertical axis from selection GeoId1 = GeoEnum::GeoUndef; - else if (GeoId1 == Sketcher::GeoEnum::HAxis && PosId1 == Sketcher::PointPos::none) + } + else if (GeoId1 == Sketcher::GeoEnum::HAxis && PosId1 == Sketcher::PointPos::none) { PosId1 = Sketcher::PointPos::start; + } if (isEdge(GeoId1, PosId1) && GeoId2 == GeoEnum::GeoUndef) {// vertical length of a line if (GeoId1 < 0 && GeoId1 >= Sketcher::GeoEnum::VAxis) { @@ -3709,12 +5116,15 @@ void CmdSketcherConstrainDistanceY::activated(int iMsg) // it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -3744,12 +5154,15 @@ void CmdSketcherConstrainDistanceY::activated(int iMsg) // it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -3833,22 +5246,25 @@ void CmdSketcherConstrainDistanceY::applyConstraint(std::vector& selS Gui::cmdAppObjectArgs(Obj, "setDriving(%d,%s)", ConStr.size() - 1, "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } } void CmdSketcherConstrainDistanceY::updateAction(int mode) { switch (mode) { case Reference: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_VerticalDistance_Driven")); + } break; case Driving: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_VerticalDistance")); + } break; } } @@ -3940,8 +5356,9 @@ void CmdSketcherConstrainParallel::activated(int iMsg) getIdsFromName(*it, Obj, GeoId, PosId); if (!isEdge(GeoId, PosId)) { - Gui::TranslatedUserWarning( - Obj, QObject::tr("Wrong selection"), QObject::tr("Select a valid line.")); + Gui::TranslatedUserWarning(Obj, + QObject::tr("Wrong selection"), + QObject::tr("Select a valid line.")); return; } else if (isPointOrSegmentFixed(Obj, GeoId)) { @@ -3949,8 +5366,9 @@ void CmdSketcherConstrainParallel::activated(int iMsg) showNoConstraintBetweenFixedGeometry(Obj); return; } - else + else { hasAlreadyExternal = true; + } } // Check that the curve is a line segment @@ -4099,8 +5517,9 @@ void CmdSketcherConstrainPerpendicular::activated(int iMsg) QObject::tr("Select some geometry from the sketch.", "perpendicular constraint"); strError.append(QString::fromLatin1("\n\n")); strError.append(strBasicHelp); - Gui::TranslatedUserWarning( - getActiveGuiDocument(), QObject::tr("Wrong selection"), std::move(strError)); + Gui::TranslatedUserWarning(getActiveGuiDocument(), + QObject::tr("Wrong selection"), + std::move(strError)); } return; } @@ -4110,8 +5529,9 @@ void CmdSketcherConstrainPerpendicular::activated(int iMsg) Sketcher::SketchObject* Obj = dynamic_cast(selection[0].getObject()); if (!Obj || (SubNames.size() != 2 && SubNames.size() != 3)) { - Gui::TranslatedUserWarning( - Obj, QObject::tr("Wrong selection"), QObject::tr("Wrong number of selected objects!")); + Gui::TranslatedUserWarning(Obj, + QObject::tr("Wrong selection"), + QObject::tr("Wrong number of selected objects!")); return; } @@ -4120,8 +5540,9 @@ void CmdSketcherConstrainPerpendicular::activated(int iMsg) getIdsFromName(SubNames[0], Obj, GeoId1, PosId1); getIdsFromName(SubNames[1], Obj, GeoId2, PosId2); - if (areBothPointsOrSegmentsFixed( - Obj, GeoId1, GeoId2)) {// checkBothExternal displays error message + if (areBothPointsOrSegmentsFixed(Obj, + GeoId1, + GeoId2)) {// checkBothExternal displays error message showNoConstraintBetweenFixedGeometry(Obj); return; } @@ -4193,8 +5614,9 @@ void CmdSketcherConstrainPerpendicular::activated(int iMsg) static_cast(PosId3)); }); - if (!safe) + if (!safe) { return; + } else { commitCommand(); tryAutoRecompute(Obj); @@ -4328,8 +5750,9 @@ void CmdSketcherConstrainPerpendicular::activated(int iMsg) return; } - if (geo1->getTypeId() == Part::GeomLineSegment::getClassTypeId()) + if (geo1->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { std::swap(GeoId1, GeoId2); + } if (isBsplinePole(Obj, GeoId1)) { Gui::TranslatedUserWarning( @@ -4428,8 +5851,10 @@ void CmdSketcherConstrainPerpendicular::activated(int iMsg) try { // Add a point - Gui::cmdAppObjectArgs( - Obj, "addGeometry(Part.Point(App.Vector(%f,%f,0)))", PoO.x, PoO.y); + Gui::cmdAppObjectArgs(Obj, + "addGeometry(Part.Point(App.Vector(%f,%f,0)))", + PoO.x, + PoO.y); int GeoIdPoint = Obj->getHighestCurveIndex(); // Point on first object (ellipse, arc of ellipse) @@ -4457,8 +5882,9 @@ void CmdSketcherConstrainPerpendicular::activated(int iMsg) static_cast(Sketcher::PointPos::start)); } catch (const Base::Exception& e) { - Gui::NotifyUserError( - Obj, QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), e.what()); + Gui::NotifyUserError(Obj, + QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), + e.what()); Gui::Command::abortCommand(); tryAutoRecompute(Obj); @@ -4541,8 +5967,9 @@ void CmdSketcherConstrainPerpendicular::applyConstraint(std::vector& return; } - if (geo1->getTypeId() == Part::GeomLineSegment::getClassTypeId()) + if (geo1->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { std::swap(GeoId1, GeoId2); + } if (isBsplinePole(Obj, GeoId1)) { Gui::TranslatedUserWarning( @@ -4641,8 +6068,10 @@ void CmdSketcherConstrainPerpendicular::applyConstraint(std::vector& try { // Add a point - Gui::cmdAppObjectArgs( - Obj, "addGeometry(Part.Point(App.Vector(%f,%f,0)))", PoO.x, PoO.y); + Gui::cmdAppObjectArgs(Obj, + "addGeometry(Part.Point(App.Vector(%f,%f,0)))", + PoO.x, + PoO.y); int GeoIdPoint = Obj->getHighestCurveIndex(); // Point on first object (ellipse, arc of ellipse) @@ -4672,8 +6101,9 @@ void CmdSketcherConstrainPerpendicular::applyConstraint(std::vector& commitCommand(); } catch (const Base::Exception& e) { - Gui::NotifyUserError( - Obj, QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), e.what()); + Gui::NotifyUserError(Obj, + QT_TRANSLATE_NOOP("Notifications", "Invalid Constraint"), + e.what()); Gui::Command::abortCommand(); } @@ -4685,8 +6115,10 @@ void CmdSketcherConstrainPerpendicular::applyConstraint(std::vector& } openCommand(QT_TRANSLATE_NOOP("Command", "Add perpendicular constraint")); - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Perpendicular',%d,%d))", GeoId1, GeoId2); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Perpendicular',%d,%d))", + GeoId1, + GeoId2); commitCommand(); tryAutoRecompute(Obj); @@ -4783,8 +6215,9 @@ void CmdSketcherConstrainPerpendicular::applyConstraint(std::vector& static_cast(PosId3)); }); - if (!safe) + if (!safe) { return; + } else { commitCommand(); tryAutoRecompute(Obj); @@ -4845,7 +6278,8 @@ CmdSketcherConstrainTangent::CmdSketcherConstrainTangent() {SelVertexOrRoot, SelVertex} /*Two Endpoints*/ /*No Place for One Endpoint and One Curve*/}; } -bool CmdSketcherConstrainTangent::substituteConstraintCombinations(SketchObject* Obj, int GeoId1, +bool CmdSketcherConstrainTangent::substituteConstraintCombinations(SketchObject* Obj, + int GeoId1, int GeoId2) { const std::vector& cvals = Obj->Constraints.getValues(); @@ -4884,13 +6318,15 @@ bool CmdSketcherConstrainTangent::substituteConstraintCombinations(SketchObject* && (((*it)->First == GeoId1 && (*it)->Second == GeoId2) || ((*it)->Second == GeoId1 && (*it)->First == GeoId2))) { - Gui::Command::openCommand(QT_TRANSLATE_NOOP( - "Command", "Swap PointOnObject+tangency with point to curve tangency")); + Gui::Command::openCommand( + QT_TRANSLATE_NOOP("Command", + "Swap PointOnObject+tangency with point to curve tangency")); doEndpointToEdgeTangency(Obj, (*it)->First, (*it)->FirstPos, (*it)->Second); - Gui::cmdAppObjectArgs( - Obj, "delConstraint(%d)", cid);// remove the preexisting point on object constraint. + Gui::cmdAppObjectArgs(Obj, + "delConstraint(%d)", + cid);// remove the preexisting point on object constraint. commitCommand(); @@ -4938,8 +6374,9 @@ void CmdSketcherConstrainTangent::activated(int iMsg) QObject::tr("Select some geometry from the sketch.", "tangent constraint"); strError.append(QString::fromLatin1("\n\n")); strError.append(strBasicHelp); - Gui::TranslatedUserWarning( - getActiveGuiDocument(), QObject::tr("Wrong selection"), std::move(strError)); + Gui::TranslatedUserWarning(getActiveGuiDocument(), + QObject::tr("Wrong selection"), + std::move(strError)); } return; } @@ -4949,8 +6386,9 @@ void CmdSketcherConstrainTangent::activated(int iMsg) Sketcher::SketchObject* Obj = static_cast(selection[0].getObject()); if (SubNames.size() != 2 && SubNames.size() != 3) { - Gui::TranslatedUserWarning( - Obj, QObject::tr("Wrong selection"), QObject::tr("Wrong number of selected objects!")); + Gui::TranslatedUserWarning(Obj, + QObject::tr("Wrong selection"), + QObject::tr("Wrong number of selected objects!")); return; } @@ -4960,8 +6398,9 @@ void CmdSketcherConstrainTangent::activated(int iMsg) getIdsFromName(SubNames[0], Obj, GeoId1, PosId1); getIdsFromName(SubNames[1], Obj, GeoId2, PosId2); - if (areBothPointsOrSegmentsFixed( - Obj, GeoId1, GeoId2)) {// checkBothExternal displays error message + if (areBothPointsOrSegmentsFixed(Obj, + GeoId1, + GeoId2)) {// checkBothExternal displays error message showNoConstraintBetweenFixedGeometry(Obj); return; } @@ -5033,8 +6472,9 @@ void CmdSketcherConstrainTangent::activated(int iMsg) static_cast(PosId3)); }); - if (!safe) + if (!safe) { return; + } else { commitCommand(); tryAutoRecompute(Obj); @@ -5186,15 +6626,17 @@ void CmdSketcherConstrainTangent::activated(int iMsg) // would arise and substitute them with more appropriate counterparts, examples: // - coincidence + tangency on edge // - point on object + tangency on edge - if (substituteConstraintCombinations(Obj, GeoId1, GeoId2)) + if (substituteConstraintCombinations(Obj, GeoId1, GeoId2)) { return; + } if (geom1 && geom2 && (geom1->getTypeId() == Part::GeomEllipse::getClassTypeId() || geom2->getTypeId() == Part::GeomEllipse::getClassTypeId())) { - if (geom1->getTypeId() != Part::GeomEllipse::getClassTypeId()) + if (geom1->getTypeId() != Part::GeomEllipse::getClassTypeId()) { std::swap(GeoId1, GeoId2); + } // GeoId1 is the ellipse geom1 = Obj->getGeometry(GeoId1); @@ -5207,8 +6649,11 @@ void CmdSketcherConstrainTangent::activated(int iMsg) Gui::Command::openCommand( QT_TRANSLATE_NOOP("Command", "Add tangent constraint point")); - makeTangentToEllipseviaNewPoint( - Obj, static_cast(geom1), geom2, GeoId1, GeoId2); + makeTangentToEllipseviaNewPoint(Obj, + static_cast(geom1), + geom2, + GeoId1, + GeoId2); getSelection().clearSelection(); return; } @@ -5241,8 +6686,9 @@ void CmdSketcherConstrainTangent::activated(int iMsg) && (geom1->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId() || geom2->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId())) { - if (geom1->getTypeId() != Part::GeomArcOfEllipse::getClassTypeId()) + if (geom1->getTypeId() != Part::GeomArcOfEllipse::getClassTypeId()) { std::swap(GeoId1, GeoId2); + } // GeoId1 is the arc of ellipse geom1 = Obj->getGeometry(GeoId1); @@ -5283,8 +6729,9 @@ void CmdSketcherConstrainTangent::activated(int iMsg) && (geom1->getTypeId() == Part::GeomArcOfHyperbola::getClassTypeId() || geom2->getTypeId() == Part::GeomArcOfHyperbola::getClassTypeId())) { - if (geom1->getTypeId() != Part::GeomArcOfHyperbola::getClassTypeId()) + if (geom1->getTypeId() != Part::GeomArcOfHyperbola::getClassTypeId()) { std::swap(GeoId1, GeoId2); + } // GeoId1 is the arc of hyperbola geom1 = Obj->getGeometry(GeoId1); @@ -5324,8 +6771,9 @@ void CmdSketcherConstrainTangent::activated(int iMsg) && (geom1->getTypeId() == Part::GeomArcOfParabola::getClassTypeId() || geom2->getTypeId() == Part::GeomArcOfParabola::getClassTypeId())) { - if (geom1->getTypeId() != Part::GeomArcOfParabola::getClassTypeId()) + if (geom1->getTypeId() != Part::GeomArcOfParabola::getClassTypeId()) { std::swap(GeoId1, GeoId2); + } // GeoId1 is the arc of hyperbola geom1 = Obj->getGeometry(GeoId1); @@ -5421,15 +6869,17 @@ void CmdSketcherConstrainTangent::applyConstraint(std::vector& selSeq // would arise and substitute them with more appropriate counterparts, examples: // - coincidence + tangency on edge // - point on object + tangency on edge - if (substituteConstraintCombinations(Obj, GeoId1, GeoId2)) + if (substituteConstraintCombinations(Obj, GeoId1, GeoId2)) { return; + } if (geom1 && geom2 && (geom1->getTypeId() == Part::GeomEllipse::getClassTypeId() || geom2->getTypeId() == Part::GeomEllipse::getClassTypeId())) { - if (geom1->getTypeId() != Part::GeomEllipse::getClassTypeId()) + if (geom1->getTypeId() != Part::GeomEllipse::getClassTypeId()) { std::swap(GeoId1, GeoId2); + } // GeoId1 is the ellipse geom1 = Obj->getGeometry(GeoId1); @@ -5442,8 +6892,11 @@ void CmdSketcherConstrainTangent::applyConstraint(std::vector& selSeq Gui::Command::openCommand( QT_TRANSLATE_NOOP("Command", "Add tangent constraint point")); - makeTangentToEllipseviaNewPoint( - Obj, static_cast(geom1), geom2, GeoId1, GeoId2); + makeTangentToEllipseviaNewPoint(Obj, + static_cast(geom1), + geom2, + GeoId1, + GeoId2); getSelection().clearSelection(); return; } @@ -5476,8 +6929,9 @@ void CmdSketcherConstrainTangent::applyConstraint(std::vector& selSeq && (geom1->getTypeId() == Part::GeomArcOfHyperbola::getClassTypeId() || geom2->getTypeId() == Part::GeomArcOfHyperbola::getClassTypeId())) { - if (geom1->getTypeId() != Part::GeomArcOfHyperbola::getClassTypeId()) + if (geom1->getTypeId() != Part::GeomArcOfHyperbola::getClassTypeId()) { std::swap(GeoId1, GeoId2); + } // GeoId1 is the arc of hyperbola geom1 = Obj->getGeometry(GeoId1); @@ -5517,8 +6971,9 @@ void CmdSketcherConstrainTangent::applyConstraint(std::vector& selSeq && (geom1->getTypeId() == Part::GeomArcOfParabola::getClassTypeId() || geom2->getTypeId() == Part::GeomArcOfParabola::getClassTypeId())) { - if (geom1->getTypeId() != Part::GeomArcOfParabola::getClassTypeId()) + if (geom1->getTypeId() != Part::GeomArcOfParabola::getClassTypeId()) { std::swap(GeoId1, GeoId2); + } // GeoId1 is the arc of hyperbola geom1 = Obj->getGeometry(GeoId1); @@ -5545,8 +7000,10 @@ void CmdSketcherConstrainTangent::applyConstraint(std::vector& selSeq } openCommand(QT_TRANSLATE_NOOP("Command", "Add tangent constraint")); - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Tangent',%d,%d))", GeoId1, GeoId2); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Tangent',%d,%d))", + GeoId1, + GeoId2); commitCommand(); tryAutoRecompute(Obj); @@ -5694,8 +7151,9 @@ void CmdSketcherConstrainTangent::applyConstraint(std::vector& selSeq static_cast(PosId3)); }); - if (!safe) + if (!safe) { return; + } else { commitCommand(); tryAutoRecompute(Obj); @@ -5801,8 +7259,9 @@ void CmdSketcherConstrainRadius::activated(int iMsg) GeoId = -std::atoi(it->substr(12, 4000).c_str()) - 2; issegmentfixed = true; } - else + else { continue; + } const Part::Geometry* geom = Obj->getGeometry(GeoId); @@ -5830,10 +7289,12 @@ void CmdSketcherConstrainRadius::activated(int iMsg) geoIdRadiusMap.emplace_back(GeoId, radius); } - if (isBsplinePole(geom)) + if (isBsplinePole(geom)) { poles = true; - else + } + else { nonpoles = true; + } } } @@ -5870,23 +7331,27 @@ void CmdSketcherConstrainRadius::activated(int iMsg) it != externalGeoIdRadiusMap.end(); ++it) { - if (nonpoles) + if (nonpoles) { Gui::cmdAppObjectArgs(selection[0].getObject(), "addConstraint(Sketcher.Constraint('Radius',%d,%f))", it->first, it->second); - else + } + else { Gui::cmdAppObjectArgs(selection[0].getObject(), "addConstraint(Sketcher.Constraint('Weight',%d,%f))", it->first, it->second); + } const std::vector& ConStr = Obj->Constraints.getValues(); constrSize = ConStr.size(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", constrSize - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + constrSize - 1, + "False"); } @@ -5902,8 +7367,9 @@ void CmdSketcherConstrainRadius::activated(int iMsg) int refGeoId = geoIdRadiusMap.front().first; double radius = geoIdRadiusMap.front().second; - if (!commandopened) + if (!commandopened) { openCommand(QT_TRANSLATE_NOOP("Command", "Add radius constraint")); + } // Add the equality constraints for (std::vector>::iterator it = geoIdRadiusMap.begin() + 1; @@ -5915,39 +7381,46 @@ void CmdSketcherConstrainRadius::activated(int iMsg) it->first); } - if (nonpoles) + if (nonpoles) { Gui::cmdAppObjectArgs(selection[0].getObject(), "addConstraint(Sketcher.Constraint('Radius',%d,%f))", refGeoId, radius); - else + } + else { Gui::cmdAppObjectArgs(selection[0].getObject(), "addConstraint(Sketcher.Constraint('Weight',%d,%f))", refGeoId, radius); + } } else { // Create the radius constraints now - if (!commandopened) + if (!commandopened) { openCommand(QT_TRANSLATE_NOOP("Command", "Add radius constraint")); + } for (std::vector>::iterator it = geoIdRadiusMap.begin(); it != geoIdRadiusMap.end(); ++it) { - if (nonpoles) + if (nonpoles) { Gui::cmdAppObjectArgs(selection[0].getObject(), "addConstraint(Sketcher.Constraint('Radius',%d,%f))", it->first, it->second); - else + } + else { Gui::cmdAppObjectArgs(selection[0].getObject(), "addConstraint(Sketcher.Constraint('Weight',%d,%f))", it->first, it->second); + } if (constraintCreationMode == Reference) { const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); } } } @@ -5958,8 +7431,9 @@ void CmdSketcherConstrainRadius::activated(int iMsg) getSelection().clearSelection(); } - if (commitNeeded) + if (commitNeeded) { commitCommand(); + } if (updateNeeded) { tryAutoRecomputeIfNotSolve(Obj);// we have to update the solver after this aborted addition. @@ -6004,12 +7478,18 @@ void CmdSketcherConstrainRadius::applyConstraint(std::vector& selSeq, bool ispole = isBsplinePole(geom); - if (ispole) - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Weight',%d,%f))", GeoId, radius); - else - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Radius',%d,%f))", GeoId, radius); + if (ispole) { + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Weight',%d,%f))", + GeoId, + radius); + } + else { + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Radius',%d,%f))", + GeoId, + radius); + } const std::vector& ConStr = Obj->Constraints.getValues(); @@ -6040,13 +7520,15 @@ void CmdSketcherConstrainRadius::updateAction(int mode) { switch (mode) { case Reference: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_Radius_Driven")); + } break; case Driving: - if (getAction()) + if (getAction()) { getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Radius")); + } break; } } @@ -6142,8 +7624,9 @@ void CmdSketcherConstrainDiameter::activated(int iMsg) GeoId = -std::atoi(it->substr(12, 4000).c_str()) - 2; issegmentfixed = true; } - else + else { continue; + } const Part::Geometry* geom = Obj->getGeometry(GeoId); @@ -6202,8 +7685,10 @@ void CmdSketcherConstrainDiameter::activated(int iMsg) for (std::vector>::iterator it = externalGeoIdDiameterMap.begin(); it != externalGeoIdDiameterMap.end(); ++it) { - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Diameter',%d,%f))", it->first, it->second); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Diameter',%d,%f))", + it->first, + it->second); const std::vector& ConStr = Obj->Constraints.getValues(); @@ -6225,24 +7710,30 @@ void CmdSketcherConstrainDiameter::activated(int iMsg) int refGeoId = geoIdDiameterMap.front().first; double diameter = geoIdDiameterMap.front().second; - if (!commandopened) + if (!commandopened) { openCommand(QT_TRANSLATE_NOOP("Command", "Add diameter constraint")); + } // Add the equality constraints for (std::vector>::iterator it = geoIdDiameterMap.begin() + 1; it != geoIdDiameterMap.end(); ++it) { - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Equal',%d,%d))", refGeoId, it->first); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Equal',%d,%d))", + refGeoId, + it->first); } - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Diameter',%d,%f))", refGeoId, diameter); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Diameter',%d,%f))", + refGeoId, + diameter); } else { // Create the diameter constraints now - if (!commandopened) + if (!commandopened) { openCommand(QT_TRANSLATE_NOOP("Command", "Add diameter constraint")); + } for (std::vector>::iterator it = geoIdDiameterMap.begin(); it != geoIdDiameterMap.end(); ++it) { @@ -6266,8 +7757,9 @@ void CmdSketcherConstrainDiameter::activated(int iMsg) getSelection().clearSelection(); } - if (commitNeeded) + if (commitNeeded) { commitCommand(); + } if (updateNeeded) { tryAutoRecomputeIfNotSolve(Obj);// we have to update the solver after this aborted addition. @@ -6318,8 +7810,10 @@ void CmdSketcherConstrainDiameter::applyConstraint(std::vector& selSe // Create the diameter constraint now openCommand(QT_TRANSLATE_NOOP("Command", "Add diameter constraint")); - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Diameter',%d,%f))", GeoId, diameter); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Diameter',%d,%f))", + GeoId, + diameter); const std::vector& ConStr = Obj->Constraints.getValues(); @@ -6349,13 +7843,15 @@ void CmdSketcherConstrainDiameter::updateAction(int mode) { switch (mode) { case Reference: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_Diameter_Driven")); + } break; case Driving: - if (getAction()) + if (getAction()) { getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Diameter")); + } break; } } @@ -6455,8 +7951,9 @@ void CmdSketcherConstrainRadiam::activated(int iMsg) GeoId = -std::atoi(it->substr(12, 4000).c_str()) - 2; issegmentfixed = true; } - else + else { continue; + } const Part::Geometry* geom = Obj->getGeometry(GeoId); double radius; @@ -6469,13 +7966,16 @@ void CmdSketcherConstrainRadiam::activated(int iMsg) else if (geom && geom->getTypeId() == Part::GeomCircle::getClassTypeId()) { const Part::GeomCircle* arcir = static_cast(geom); radius = arcir->getRadius(); - if (isBsplinePole(geom)) + if (isBsplinePole(geom)) { poles = true; - else + } + else { nonpoles = true; + } } - else + else { continue; + } if (issegmentfixed) { externalGeoIdRadiamMap.emplace_back(GeoId, radius); @@ -6558,20 +8058,25 @@ void CmdSketcherConstrainRadiam::activated(int iMsg) int refGeoId = geoIdRadiamMap.front().first; double radiam = geoIdRadiamMap.front().second; - if (!commandopened) + if (!commandopened) { openCommand(QT_TRANSLATE_NOOP("Command", "Add radiam constraint")); + } // Add the equality constraints for (std::vector>::iterator it = geoIdRadiamMap.begin() + 1; it != geoIdRadiamMap.end(); ++it) { - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Equal',%d,%d))", refGeoId, it->first); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Equal',%d,%d))", + refGeoId, + it->first); } if (poles) { - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Weight',%d,%f))", refGeoId, radiam); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Weight',%d,%f))", + refGeoId, + radiam); } else if (Obj->getGeometry(refGeoId)->getTypeId() == Part::GeomCircle::getClassTypeId()) { @@ -6581,14 +8086,17 @@ void CmdSketcherConstrainRadiam::activated(int iMsg) radiam * 2); } else { - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Radius',%d,%f))", refGeoId, radiam); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Radius',%d,%f))", + refGeoId, + radiam); } } else { // Create the radiam constraints now - if (!commandopened) + if (!commandopened) { openCommand(QT_TRANSLATE_NOOP("Command", "Add radiam constraint")); + } for (std::vector>::iterator it = geoIdRadiamMap.begin(); it != geoIdRadiamMap.end(); ++it) { @@ -6627,8 +8135,9 @@ void CmdSketcherConstrainRadiam::activated(int iMsg) getSelection().clearSelection(); } - if (commitNeeded) + if (commitNeeded) { commitCommand(); + } if (updateNeeded) { tryAutoRecomputeIfNotSolve(Obj);// we have to update the solver after this aborted addition. @@ -6662,8 +8171,9 @@ void CmdSketcherConstrainRadiam::applyConstraint(std::vector& selSeq, const Part::GeomCircle* circle = static_cast(geom); radiam = circle->getRadius(); isCircle = true; - if (isBsplinePole(geom)) + if (isBsplinePole(geom)) { isPole = true; + } } else { Gui::TranslatedUserWarning( @@ -6678,16 +8188,22 @@ void CmdSketcherConstrainRadiam::applyConstraint(std::vector& selSeq, openCommand(QT_TRANSLATE_NOOP("Command", "Add radiam constraint")); if (isPole) { - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Weight',%d,%f))", GeoId, radiam); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Weight',%d,%f))", + GeoId, + radiam); } else if (isCircle) { - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Diameter',%d,%f))", GeoId, radiam * 2); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Diameter',%d,%f))", + GeoId, + radiam * 2); } else { - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Radius',%d,%f))", GeoId, radiam); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Radius',%d,%f))", + GeoId, + radiam); } const std::vector& ConStr = Obj->Constraints.getValues(); @@ -6718,13 +8234,15 @@ void CmdSketcherConstrainRadiam::updateAction(int mode) { switch (mode) { case Reference: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_Radiam_Driven")); + } break; case Driving: - if (getAction()) + if (getAction()) { getAction()->setIcon(Gui::BitmapFactory().iconFromTheme("Constraint_Radiam")); + } break; } } @@ -6758,8 +8276,9 @@ void CmdSketcherCompConstrainRadDia::activated(int iMsg) else if (iMsg == 2) { rcCmdMgr.runCommandByName("Sketcher_ConstrainRadiam"); } - else + else { return; + } // Save new choice as default ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath( @@ -6815,8 +8334,9 @@ Gui::Action* CmdSketcherCompConstrainRadDia::createAction() void CmdSketcherCompConstrainRadDia::updateAction(int mode) { Gui::ActionGroup* pcAction = qobject_cast(getAction()); - if (!pcAction) + if (!pcAction) { return; + } QList a = pcAction->actions(); int index = pcAction->property("defaultAction").toInt(); @@ -6840,8 +8360,9 @@ void CmdSketcherCompConstrainRadDia::languageChange() { Command::languageChange(); - if (!_pcAction) + if (!_pcAction) { return; + } Gui::ActionGroup* pcAction = qobject_cast(_pcAction); QList a = pcAction->actions(); @@ -6965,10 +8486,12 @@ void CmdSketcherConstrainAngle::activated(int iMsg) int GeoId1, GeoId2 = GeoEnum::GeoUndef, GeoId3 = GeoEnum::GeoUndef; Sketcher::PointPos PosId1, PosId2 = Sketcher::PointPos::none, PosId3 = Sketcher::PointPos::none; getIdsFromName(SubNames[0], Obj, GeoId1, PosId1); - if (SubNames.size() > 1) + if (SubNames.size() > 1) { getIdsFromName(SubNames[1], Obj, GeoId2, PosId2); - if (SubNames.size() > 2) + } + if (SubNames.size() > 2) { getIdsFromName(SubNames[2], Obj, GeoId3, PosId3); + } if (SubNames.size() == 3) {// standalone implementation of angle-via-point @@ -7056,12 +8579,15 @@ void CmdSketcherConstrainAngle::activated(int iMsg) == Reference) {// it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; }; @@ -7115,14 +8641,18 @@ void CmdSketcherConstrainAngle::activated(int iMsg) // get the end points of the line segments that are closest to the intersection // point Base::Vector3d s3d(s.x, s.y, p1[0].z); - if (Base::DistanceP2(s3d, p1[0]) < Base::DistanceP2(s3d, p1[1])) + if (Base::DistanceP2(s3d, p1[0]) < Base::DistanceP2(s3d, p1[1])) { PosId1 = Sketcher::PointPos::start; - else + } + else { PosId1 = Sketcher::PointPos::end; - if (Base::DistanceP2(s3d, p2[0]) < Base::DistanceP2(s3d, p2[1])) + } + if (Base::DistanceP2(s3d, p2[0]) < Base::DistanceP2(s3d, p2[1])) { PosId2 = Sketcher::PointPos::start; - else + } + else { PosId2 = Sketcher::PointPos::end; + } } else { // if all points are collinear @@ -7181,12 +8711,15 @@ void CmdSketcherConstrainAngle::activated(int iMsg) == Reference) {// it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -7218,12 +8751,15 @@ void CmdSketcherConstrainAngle::activated(int iMsg) // it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -7244,12 +8780,15 @@ void CmdSketcherConstrainAngle::activated(int iMsg) // it is a constraint on a external line, make it non-driving const std::vector& ConStr = Obj->Constraints.getValues(); - Gui::cmdAppObjectArgs( - selection[0].getObject(), "setDriving(%d,%s)", ConStr.size() - 1, "False"); + Gui::cmdAppObjectArgs(selection[0].getObject(), + "setDriving(%d,%s)", + ConStr.size() - 1, + "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -7312,14 +8851,18 @@ void CmdSketcherConstrainAngle::applyConstraint(std::vector& selSeq, // get the end points of the line segments that are closest to the intersection // point Base::Vector3d s3d(s.x, s.y, p1[0].z); - if (Base::DistanceP2(s3d, p1[0]) < Base::DistanceP2(s3d, p1[1])) + if (Base::DistanceP2(s3d, p1[0]) < Base::DistanceP2(s3d, p1[1])) { PosId1 = Sketcher::PointPos::start; - else + } + else { PosId1 = Sketcher::PointPos::end; - if (Base::DistanceP2(s3d, p2[0]) < Base::DistanceP2(s3d, p2[1])) + } + if (Base::DistanceP2(s3d, p2[0]) < Base::DistanceP2(s3d, p2[1])) { PosId2 = Sketcher::PointPos::start; - else + } + else { PosId2 = Sketcher::PointPos::end; + } } else { // if all points are collinear @@ -7381,8 +8924,9 @@ void CmdSketcherConstrainAngle::applyConstraint(std::vector& selSeq, Gui::cmdAppObjectArgs(Obj, "setDriving(%d,%s)", ConStr.size() - 1, "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; } @@ -7484,8 +9028,9 @@ void CmdSketcherConstrainAngle::applyConstraint(std::vector& selSeq, Gui::cmdAppObjectArgs(Obj, "setDriving(%d,%s)", ConStr.size() - 1, "False"); finishDatumConstraint(this, Obj, false); } - else + else { finishDatumConstraint(this, Obj, true); + } return; }; @@ -7495,14 +9040,16 @@ void CmdSketcherConstrainAngle::updateAction(int mode) { switch (mode) { case Reference: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_InternalAngle_Driven")); + } break; case Driving: - if (getAction()) + if (getAction()) { getAction()->setIcon( Gui::BitmapFactory().iconFromTheme("Constraint_InternalAngle")); + } break; } } @@ -7640,10 +9187,12 @@ void CmdSketcherConstrainEqual::activated(int iMsg) arcSel = true; } else if (geo->getTypeId() == Part::GeomCircle::getClassTypeId()) { - if (isBsplinePole(geo)) + if (isBsplinePole(geo)) { weightSel = true; - else + } + else { circSel = true; + } } else if (geo->getTypeId() == Part::GeomEllipse::getClassTypeId()) { ellipsSel = true; @@ -7751,8 +9300,10 @@ void CmdSketcherConstrainEqual::applyConstraint(std::vector& selSeq, // undo command open openCommand(QT_TRANSLATE_NOOP("Command", "Add equality constraint")); - Gui::cmdAppObjectArgs( - Obj, "addConstraint(Sketcher.Constraint('Equal',%d,%d))", GeoId1, GeoId2); + Gui::cmdAppObjectArgs(Obj, + "addConstraint(Sketcher.Constraint('Equal',%d,%d))", + GeoId1, + GeoId2); // finish the transaction and update commitCommand(); tryAutoRecompute(Obj); @@ -8232,8 +9783,9 @@ void CmdSketcherConstrainSnellsLaw::activated(int iMsg) && isVertex(GeoId2, PosId2) && !isSimpleVertex(Obj, GeoId2, PosId2) && isEdge(GeoId3, PosId3))) { - Gui::TranslatedUserWarning( - Obj, QObject::tr("Wrong selection"), QObject::tr("Incompatible geometry is selected.")); + Gui::TranslatedUserWarning(Obj, + QObject::tr("Wrong selection"), + QObject::tr("Incompatible geometry is selected.")); return; }; @@ -8280,8 +9832,9 @@ void CmdSketcherConstrainSnellsLaw::activated(int iMsg) ui_Datum.labelEdit->setSingleStep(0.05); // Unable to bind, because the constraint does not yet exist - if (dlg.exec() != QDialog::Accepted) + if (dlg.exec() != QDialog::Accepted) { return; + } ui_Datum.labelEdit->pushToHistory(); Base::Quantity newQuant = ui_Datum.labelEdit->value(); @@ -8291,20 +9844,22 @@ void CmdSketcherConstrainSnellsLaw::activated(int iMsg) openCommand(QT_TRANSLATE_NOOP("Command", "Add Snell's law constraint")); bool safe = addConstraintSafely(Obj, [&]() { - if (!IsPointAlreadyOnCurve(GeoId2, GeoId1, PosId1, Obj)) + if (!IsPointAlreadyOnCurve(GeoId2, GeoId1, PosId1, Obj)) { Gui::cmdAppObjectArgs(selection[0].getObject(), "addConstraint(Sketcher.Constraint('Coincident',%d,%d,%d,%d))", GeoId1, static_cast(PosId1), GeoId2, static_cast(PosId2)); + } - if (!IsPointAlreadyOnCurve(GeoId3, GeoId1, PosId1, Obj)) + if (!IsPointAlreadyOnCurve(GeoId3, GeoId1, PosId1, Obj)) { Gui::cmdAppObjectArgs(selection[0].getObject(), "addConstraint(Sketcher.Constraint('PointOnObject',%d,%d,%d))", GeoId1, static_cast(PosId1), GeoId3); + } Gui::cmdAppObjectArgs( selection[0].getObject(), @@ -8325,8 +9880,9 @@ void CmdSketcherConstrainSnellsLaw::activated(int iMsg) }*/ }); - if (!safe) + if (!safe) { return; + } else { commitCommand(); tryAutoRecompute(Obj); @@ -8371,6 +9927,7 @@ CmdSketcherToggleDrivingConstraint::CmdSketcherToggleDrivingConstraint() rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainRadiam"); rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainAngle"); rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_CompConstrainRadDia"); + rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_Dimension"); // rcCmdMgr.addCommandMode("ToggleDrivingConstraint", "Sketcher_ConstrainSnellsLaw"); } @@ -8412,8 +9969,9 @@ void CmdSketcherToggleDrivingConstraint::activated(int iMsg) for (std::vector::const_iterator it = SubNames.begin(); it != SubNames.end(); ++it) { // see if we have constraints, if we do it is not a mode change, but a toggle. - if (it->size() > 10 && it->substr(0, 10) == "Constraint") + if (it->size() > 10 && it->substr(0, 10) == "Constraint") { modeChange = false; + } } } @@ -8466,10 +10024,12 @@ void CmdSketcherToggleDrivingConstraint::activated(int iMsg) } } - if (successful > 0) + if (successful > 0) { commitCommand(); - else + } + else { abortCommand(); + } tryAutoRecompute(Obj); @@ -8554,10 +10114,12 @@ void CmdSketcherToggleActiveConstraint::activated(int iMsg) } } - if (successful > 0) + if (successful > 0) { commitCommand(); - else + } + else { abortCommand(); + } tryAutoRecompute(Obj); @@ -8581,6 +10143,7 @@ void CreateSketcherCommandsConstraints() rcCmdMgr.addCommand(new CmdSketcherConstrainLock()); rcCmdMgr.addCommand(new CmdSketcherConstrainBlock()); rcCmdMgr.addCommand(new CmdSketcherConstrainCoincident()); + rcCmdMgr.addCommand(new CmdSketcherDimension()); rcCmdMgr.addCommand(new CmdSketcherConstrainParallel()); rcCmdMgr.addCommand(new CmdSketcherConstrainPerpendicular()); rcCmdMgr.addCommand(new CmdSketcherConstrainTangent()); diff --git a/src/Mod/Sketcher/Gui/CommandSketcherBSpline.cpp b/src/Mod/Sketcher/Gui/CommandSketcherBSpline.cpp index 64adac806f..4f0a30655c 100644 --- a/src/Mod/Sketcher/Gui/CommandSketcherBSpline.cpp +++ b/src/Mod/Sketcher/Gui/CommandSketcherBSpline.cpp @@ -49,28 +49,6 @@ using namespace std; using namespace SketcherGui; using namespace Sketcher; -bool isSketcherBSplineActive(Gui::Document* doc, bool actsOnSelection) -{ - if (doc) { - // checks if a Sketch Viewprovider is in Edit and is in no special mode - if (doc->getInEdit() - && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) { - if (static_cast(doc->getInEdit())->getSketchMode() - == ViewProviderSketch::STATUS_NONE) { - if (!actsOnSelection) { - return true; - } - else if (Gui::Selection().countObjectsOfType( - Sketcher::SketchObject::getClassTypeId()) - > 0) { - return true; - } - } - } - } - return false; -} - void ActivateBSplineHandler(Gui::Document* doc, DrawSketchHandler* handler) { std::unique_ptr ptr(handler); @@ -85,14 +63,6 @@ void ActivateBSplineHandler(Gui::Document* doc, DrawSketchHandler* handler) } } -void ShowRestoreInformationLayer(const char* visibleelementname) -{ - ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath( - "User parameter:BaseApp/Preferences/Mod/Sketcher/General"); - bool status = hGrp->GetBool(visibleelementname, true); - hGrp->SetBool(visibleelementname, !status); -} - /// For a knot given by (GeoId, PosId) finds the B-Spline and the knot's /// index within it (by OCC numbering). /// Returns true if the entities are found, false otherwise. @@ -131,301 +101,6 @@ bool findBSplineAndKnotIndex(Sketcher::SketchObject* Obj, int knotGeoId, return false; } -// Show/Hide B-spline degree -DEF_STD_CMD_A(CmdSketcherBSplineDegree) - -CmdSketcherBSplineDegree::CmdSketcherBSplineDegree() - : Command("Sketcher_BSplineDegree") -{ - sAppModule = "Sketcher"; - sGroup = "Sketcher"; - sMenuText = QT_TR_NOOP("Show/hide B-spline degree"); - sToolTipText = QT_TR_NOOP("Switches between showing and hiding the degree for all B-splines"); - sWhatsThis = "Sketcher_BSplineDegree"; - sStatusTip = sToolTipText; - sPixmap = "Sketcher_BSplineDegree"; - sAccel = ""; - eType = ForEdit; -} - -void CmdSketcherBSplineDegree::activated(int iMsg) -{ - Q_UNUSED(iMsg); - - ShowRestoreInformationLayer("BSplineDegreeVisible"); -} - -bool CmdSketcherBSplineDegree::isActive() -{ - return isSketcherBSplineActive(getActiveGuiDocument(), false); -} - -// Show/Hide B-spline polygon -DEF_STD_CMD_A(CmdSketcherBSplinePolygon) - -CmdSketcherBSplinePolygon::CmdSketcherBSplinePolygon() - : Command("Sketcher_BSplinePolygon") -{ - sAppModule = "Sketcher"; - sGroup = "Sketcher"; - sMenuText = QT_TR_NOOP("Show/hide B-spline control polygon"); - sToolTipText = - QT_TR_NOOP("Switches between showing and hiding the control polygons for all B-splines"); - sWhatsThis = "Sketcher_BSplinePolygon"; - sStatusTip = sToolTipText; - sPixmap = "Sketcher_BSplinePolygon"; - sAccel = ""; - eType = ForEdit; -} - -void CmdSketcherBSplinePolygon::activated(int iMsg) -{ - Q_UNUSED(iMsg); - - ShowRestoreInformationLayer("BSplineControlPolygonVisible"); -} - -bool CmdSketcherBSplinePolygon::isActive() -{ - return isSketcherBSplineActive(getActiveGuiDocument(), false); -} - -// Show/Hide B-spline comb -DEF_STD_CMD_A(CmdSketcherBSplineComb) - -CmdSketcherBSplineComb::CmdSketcherBSplineComb() - : Command("Sketcher_BSplineComb") -{ - sAppModule = "Sketcher"; - sGroup = "Sketcher"; - sMenuText = QT_TR_NOOP("Show/hide B-spline curvature comb"); - sToolTipText = - QT_TR_NOOP("Switches between showing and hiding the curvature comb for all B-splines"); - sWhatsThis = "Sketcher_BSplineComb"; - sStatusTip = sToolTipText; - sPixmap = "Sketcher_BSplineComb"; - sAccel = ""; - eType = ForEdit; -} - -void CmdSketcherBSplineComb::activated(int iMsg) -{ - Q_UNUSED(iMsg); - - ShowRestoreInformationLayer("BSplineCombVisible"); -} - -bool CmdSketcherBSplineComb::isActive() -{ - return isSketcherBSplineActive(getActiveGuiDocument(), false); -} - -// -DEF_STD_CMD_A(CmdSketcherBSplineKnotMultiplicity) - -CmdSketcherBSplineKnotMultiplicity::CmdSketcherBSplineKnotMultiplicity() - : Command("Sketcher_BSplineKnotMultiplicity") -{ - sAppModule = "Sketcher"; - sGroup = "Sketcher"; - sMenuText = QT_TR_NOOP("Show/hide B-spline knot multiplicity"); - sToolTipText = - QT_TR_NOOP("Switches between showing and hiding the knot multiplicity for all B-splines"); - sWhatsThis = "Sketcher_BSplineKnotMultiplicity"; - sStatusTip = sToolTipText; - sPixmap = "Sketcher_BSplineKnotMultiplicity"; - sAccel = ""; - eType = ForEdit; -} - -void CmdSketcherBSplineKnotMultiplicity::activated(int iMsg) -{ - Q_UNUSED(iMsg); - - ShowRestoreInformationLayer("BSplineKnotMultiplicityVisible"); -} - -bool CmdSketcherBSplineKnotMultiplicity::isActive() -{ - return isSketcherBSplineActive(getActiveGuiDocument(), false); -} - -// -DEF_STD_CMD_A(CmdSketcherBSplinePoleWeight) - -CmdSketcherBSplinePoleWeight::CmdSketcherBSplinePoleWeight() - : Command("Sketcher_BSplinePoleWeight") -{ - sAppModule = "Sketcher"; - sGroup = "Sketcher"; - sMenuText = QT_TR_NOOP("Show/hide B-spline control point weight"); - sToolTipText = QT_TR_NOOP( - "Switches between showing and hiding the control point weight for all B-splines"); - sWhatsThis = "Sketcher_BSplinePoleWeight"; - sStatusTip = sToolTipText; - sPixmap = "Sketcher_BSplinePoleWeight"; - sAccel = ""; - eType = ForEdit; -} - -void CmdSketcherBSplinePoleWeight::activated(int iMsg) -{ - Q_UNUSED(iMsg); - - ShowRestoreInformationLayer("BSplinePoleWeightVisible"); -} - -bool CmdSketcherBSplinePoleWeight::isActive() -{ - return isSketcherBSplineActive(getActiveGuiDocument(), false); -} - -// Composite drop down menu for show/hide geometry information layer -DEF_STD_CMD_ACLU(CmdSketcherCompBSplineShowHideGeometryInformation) - -CmdSketcherCompBSplineShowHideGeometryInformation:: - CmdSketcherCompBSplineShowHideGeometryInformation() - : Command("Sketcher_CompBSplineShowHideGeometryInformation") -{ - sAppModule = "Sketcher"; - sGroup = "Sketcher"; - sMenuText = QT_TR_NOOP("Show/hide B-spline information layer"); - sToolTipText = sMenuText; - sWhatsThis = "Sketcher_CompBSplineShowHideGeometryInformation"; - sStatusTip = sToolTipText; - eType = ForEdit; -} - -void CmdSketcherCompBSplineShowHideGeometryInformation::activated(int iMsg) -{ - Gui::CommandManager& rcCmdMgr = Gui::Application::Instance->commandManager(); - Gui::Command* cmd; - - if (iMsg == 0) { - cmd = rcCmdMgr.getCommandByName("Sketcher_BSplineDegree"); - } - else if (iMsg == 1) { - cmd = rcCmdMgr.getCommandByName("Sketcher_BSplinePolygon"); - } - else if (iMsg == 2) { - cmd = rcCmdMgr.getCommandByName("Sketcher_BSplineComb"); - } - else if (iMsg == 3) { - cmd = rcCmdMgr.getCommandByName("Sketcher_BSplineKnotMultiplicity"); - } - else if (iMsg == 4) { - cmd = rcCmdMgr.getCommandByName("Sketcher_BSplinePoleWeight"); - } - else { - return; - } - - cmd->invoke(0); - - // Since the default icon is reset when enabling/disabling the command we have - // to explicitly set the icon of the used command. - Gui::ActionGroup* pcAction = qobject_cast(_pcAction); - QList a = pcAction->actions(); - - assert(iMsg < a.size()); - pcAction->setIcon(a[iMsg]->icon()); - // we must also set the tooltip of the used command - pcAction->setToolTip(a[iMsg]->toolTip()); -} - -Gui::Action* CmdSketcherCompBSplineShowHideGeometryInformation::createAction() -{ - Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); - pcAction->setDropDownMenu(true); - applyCommandData(this->className(), pcAction); - - QAction* c1 = pcAction->addAction(QString()); - c1->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplineDegree")); - QAction* c2 = pcAction->addAction(QString()); - c2->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplinePolygon")); - QAction* c3 = pcAction->addAction(QString()); - c3->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplineComb")); - QAction* c4 = pcAction->addAction(QString()); - c4->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplineKnotMultiplicity")); - QAction* c5 = pcAction->addAction(QString()); - c5->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplinePoleWeight")); - - _pcAction = pcAction; - languageChange(); - - pcAction->setIcon(c2->icon()); - int defaultId = 1; - pcAction->setProperty("defaultAction", QVariant(defaultId)); - - return pcAction; -} - -void CmdSketcherCompBSplineShowHideGeometryInformation::languageChange() -{ - Command::languageChange(); - - if (!_pcAction) { - return; - } - Gui::ActionGroup* pcAction = qobject_cast(_pcAction); - QList a = pcAction->actions(); - - QAction* c1 = a[0]; - c1->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", - "Show/hide B-spline degree")); - c1->setToolTip(QApplication::translate( - "Sketcher_BSplineDegree", - "Switches between showing and hiding the degree for all B-splines")); - c1->setStatusTip(QApplication::translate( - "Sketcher_BSplineDegree", - "Switches between showing and hiding the degree for all B-splines")); - QAction* c2 = a[1]; - c2->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", - "Show/hide B-spline control polygon")); - c2->setToolTip(QApplication::translate( - "Sketcher_BSplinePolygon", - "Switches between showing and hiding the control polygons for all B-splines")); - c2->setStatusTip(QApplication::translate( - "Sketcher_BSplinePolygon", - "Switches between showing and hiding the control polygons for all B-splines")); - QAction* c3 = a[2]; - c3->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", - "Show/hide B-spline curvature comb")); - c3->setToolTip(QApplication::translate( - "Sketcher_BSplineComb", - "Switches between showing and hiding the curvature comb for all B-splines")); - c3->setStatusTip(QApplication::translate( - "Sketcher_BSplineComb", - "Switches between showing and hiding the curvature comb for all B-splines")); - QAction* c4 = a[3]; - c4->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", - "Show/hide B-spline knot multiplicity")); - c4->setToolTip(QApplication::translate( - "Sketcher_BSplineKnotMultiplicity", - "Switches between showing and hiding the knot multiplicity for all B-splines")); - c4->setStatusTip(QApplication::translate( - "Sketcher_BSplineKnotMultiplicity", - "Switches between showing and hiding the knot multiplicity for all B-splines")); - - QAction* c5 = a[4]; - c5->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", - "Show/hide B-spline control point weight")); - c5->setToolTip(QApplication::translate( - "Sketcher_BSplinePoleWeight", - "Switches between showing and hiding the control point weight for all B-splines")); - c5->setStatusTip(QApplication::translate( - "Sketcher_BSplinePoleWeight", - "Switches between showing and hiding the control point weight for all B-splines")); -} - -void CmdSketcherCompBSplineShowHideGeometryInformation::updateAction(int /*mode*/) -{} - -bool CmdSketcherCompBSplineShowHideGeometryInformation::isActive() -{ - return isSketcherBSplineActive(getActiveGuiDocument(), false); -} - // Convert to NURBS DEF_STD_CMD_A(CmdSketcherConvertToNURBS) @@ -1403,12 +1078,6 @@ void CreateSketcherCommandsBSpline() { Gui::CommandManager& rcCmdMgr = Gui::Application::Instance->commandManager(); - rcCmdMgr.addCommand(new CmdSketcherBSplineDegree()); - rcCmdMgr.addCommand(new CmdSketcherBSplinePolygon()); - rcCmdMgr.addCommand(new CmdSketcherBSplineComb()); - rcCmdMgr.addCommand(new CmdSketcherBSplineKnotMultiplicity()); - rcCmdMgr.addCommand(new CmdSketcherBSplinePoleWeight()); - rcCmdMgr.addCommand(new CmdSketcherCompBSplineShowHideGeometryInformation()); rcCmdMgr.addCommand(new CmdSketcherConvertToNURBS()); rcCmdMgr.addCommand(new CmdSketcherIncreaseDegree()); rcCmdMgr.addCommand(new CmdSketcherDecreaseDegree()); diff --git a/src/Mod/Sketcher/Gui/CommandSketcherOverlay.cpp b/src/Mod/Sketcher/Gui/CommandSketcherOverlay.cpp new file mode 100644 index 0000000000..5f2f90f6c6 --- /dev/null +++ b/src/Mod/Sketcher/Gui/CommandSketcherOverlay.cpp @@ -0,0 +1,389 @@ +/*************************************************************************** + * Copyright (c) 2023 Florian Foinant-Willig * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#include "PreCompiled.h" +#ifndef _PreComp_ +#include +#include +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "DrawSketchHandler.h" +#include "Utils.h" +#include "ViewProviderSketch.h" + +using namespace std; +using namespace SketcherGui; +using namespace Sketcher; + + +void ShowRestoreInformationLayer(const char* visibleelementname) +{ + ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath( + "User parameter:BaseApp/Preferences/Mod/Sketcher/General"); + bool status = hGrp->GetBool(visibleelementname, true); + hGrp->SetBool(visibleelementname, !status); +} + +// Show/Hide B-spline degree +DEF_STD_CMD_A(CmdSketcherBSplineDegree) + +CmdSketcherBSplineDegree::CmdSketcherBSplineDegree() + : Command("Sketcher_BSplineDegree") +{ + sAppModule = "Sketcher"; + sGroup = "Sketcher"; + sMenuText = QT_TR_NOOP("Show/hide B-spline degree"); + sToolTipText = QT_TR_NOOP("Switches between showing and hiding the degree for all B-splines"); + sWhatsThis = "Sketcher_BSplineDegree"; + sStatusTip = sToolTipText; + sPixmap = "Sketcher_BSplineDegree"; + sAccel = ""; + eType = ForEdit; +} + +void CmdSketcherBSplineDegree::activated(int iMsg) +{ + Q_UNUSED(iMsg); + + ShowRestoreInformationLayer("BSplineDegreeVisible"); +} + +bool CmdSketcherBSplineDegree::isActive() +{ + return isSketcherBSplineActive(getActiveGuiDocument(), false); +} + +// Show/Hide B-spline polygon +DEF_STD_CMD_A(CmdSketcherBSplinePolygon) + +CmdSketcherBSplinePolygon::CmdSketcherBSplinePolygon() + : Command("Sketcher_BSplinePolygon") +{ + sAppModule = "Sketcher"; + sGroup = "Sketcher"; + sMenuText = QT_TR_NOOP("Show/hide B-spline control polygon"); + sToolTipText = + QT_TR_NOOP("Switches between showing and hiding the control polygons for all B-splines"); + sWhatsThis = "Sketcher_BSplinePolygon"; + sStatusTip = sToolTipText; + sPixmap = "Sketcher_BSplinePolygon"; + sAccel = ""; + eType = ForEdit; +} + +void CmdSketcherBSplinePolygon::activated(int iMsg) +{ + Q_UNUSED(iMsg); + + ShowRestoreInformationLayer("BSplineControlPolygonVisible"); +} + +bool CmdSketcherBSplinePolygon::isActive() +{ + return isSketcherBSplineActive(getActiveGuiDocument(), false); +} + +// Show/Hide B-spline comb +DEF_STD_CMD_A(CmdSketcherBSplineComb) + +CmdSketcherBSplineComb::CmdSketcherBSplineComb() + : Command("Sketcher_BSplineComb") +{ + sAppModule = "Sketcher"; + sGroup = "Sketcher"; + sMenuText = QT_TR_NOOP("Show/hide B-spline curvature comb"); + sToolTipText = + QT_TR_NOOP("Switches between showing and hiding the curvature comb for all B-splines"); + sWhatsThis = "Sketcher_BSplineComb"; + sStatusTip = sToolTipText; + sPixmap = "Sketcher_BSplineComb"; + sAccel = ""; + eType = ForEdit; +} + +void CmdSketcherBSplineComb::activated(int iMsg) +{ + Q_UNUSED(iMsg); + + ShowRestoreInformationLayer("BSplineCombVisible"); +} + +bool CmdSketcherBSplineComb::isActive() +{ + return isSketcherBSplineActive(getActiveGuiDocument(), false); +} + +// +DEF_STD_CMD_A(CmdSketcherBSplineKnotMultiplicity) + +CmdSketcherBSplineKnotMultiplicity::CmdSketcherBSplineKnotMultiplicity() + : Command("Sketcher_BSplineKnotMultiplicity") +{ + sAppModule = "Sketcher"; + sGroup = "Sketcher"; + sMenuText = QT_TR_NOOP("Show/hide B-spline knot multiplicity"); + sToolTipText = + QT_TR_NOOP("Switches between showing and hiding the knot multiplicity for all B-splines"); + sWhatsThis = "Sketcher_BSplineKnotMultiplicity"; + sStatusTip = sToolTipText; + sPixmap = "Sketcher_BSplineKnotMultiplicity"; + sAccel = ""; + eType = ForEdit; +} + +void CmdSketcherBSplineKnotMultiplicity::activated(int iMsg) +{ + Q_UNUSED(iMsg); + + ShowRestoreInformationLayer("BSplineKnotMultiplicityVisible"); +} + +bool CmdSketcherBSplineKnotMultiplicity::isActive() +{ + return isSketcherBSplineActive(getActiveGuiDocument(), false); +} + +// +DEF_STD_CMD_A(CmdSketcherBSplinePoleWeight) + +CmdSketcherBSplinePoleWeight::CmdSketcherBSplinePoleWeight() + : Command("Sketcher_BSplinePoleWeight") +{ + sAppModule = "Sketcher"; + sGroup = "Sketcher"; + sMenuText = QT_TR_NOOP("Show/hide B-spline control point weight"); + sToolTipText = QT_TR_NOOP( + "Switches between showing and hiding the control point weight for all B-splines"); + sWhatsThis = "Sketcher_BSplinePoleWeight"; + sStatusTip = sToolTipText; + sPixmap = "Sketcher_BSplinePoleWeight"; + sAccel = ""; + eType = ForEdit; +} + +void CmdSketcherBSplinePoleWeight::activated(int iMsg) +{ + Q_UNUSED(iMsg); + + ShowRestoreInformationLayer("BSplinePoleWeightVisible"); +} + +bool CmdSketcherBSplinePoleWeight::isActive() +{ + return isSketcherBSplineActive(getActiveGuiDocument(), false); +} + +// Composite drop down menu for show/hide BSpline information layer +DEF_STD_CMD_ACLU(CmdSketcherCompBSplineShowHideGeometryInformation) + +CmdSketcherCompBSplineShowHideGeometryInformation:: + CmdSketcherCompBSplineShowHideGeometryInformation() + : Command("Sketcher_CompBSplineShowHideGeometryInformation") +{ + sAppModule = "Sketcher"; + sGroup = "Sketcher"; + sMenuText = QT_TR_NOOP("Show/hide B-spline information layer"); + sToolTipText = sMenuText; + sWhatsThis = "Sketcher_CompBSplineShowHideGeometryInformation"; + sStatusTip = sToolTipText; + eType = ForEdit; +} + +void CmdSketcherCompBSplineShowHideGeometryInformation::activated(int iMsg) +{ + Gui::CommandManager& rcCmdMgr = Gui::Application::Instance->commandManager(); + Gui::Command* cmd; + + if (iMsg == 0) + cmd = rcCmdMgr.getCommandByName("Sketcher_BSplineDegree"); + else if (iMsg == 1) + cmd = rcCmdMgr.getCommandByName("Sketcher_BSplinePolygon"); + else if (iMsg == 2) + cmd = rcCmdMgr.getCommandByName("Sketcher_BSplineComb"); + else if (iMsg == 3) + cmd = rcCmdMgr.getCommandByName("Sketcher_BSplineKnotMultiplicity"); + else if (iMsg == 4) + cmd = rcCmdMgr.getCommandByName("Sketcher_BSplinePoleWeight"); + else + return; + + cmd->invoke(0); + + // Since the default icon is reset when enabling/disabling the command we have + // to explicitly set the icon of the used command. + Gui::ActionGroup* pcAction = qobject_cast(_pcAction); + QList a = pcAction->actions(); + + assert(iMsg < a.size()); + pcAction->setIcon(a[iMsg]->icon()); + // we must also set the tooltip of the used command + pcAction->setToolTip(a[iMsg]->toolTip()); +} + +Gui::Action* CmdSketcherCompBSplineShowHideGeometryInformation::createAction() +{ + Gui::ActionGroup* pcAction = new Gui::ActionGroup(this, Gui::getMainWindow()); + pcAction->setDropDownMenu(true); + applyCommandData(this->className(), pcAction); + + QAction* c1 = pcAction->addAction(QString()); + c1->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplineDegree")); + QAction* c2 = pcAction->addAction(QString()); + c2->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplinePolygon")); + QAction* c3 = pcAction->addAction(QString()); + c3->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplineComb")); + QAction* c4 = pcAction->addAction(QString()); + c4->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplineKnotMultiplicity")); + QAction* c5 = pcAction->addAction(QString()); + c5->setIcon(Gui::BitmapFactory().iconFromTheme("Sketcher_BSplinePoleWeight")); + + _pcAction = pcAction; + languageChange(); + + pcAction->setIcon(c2->icon()); + int defaultId = 1; + pcAction->setProperty("defaultAction", QVariant(defaultId)); + + return pcAction; +} + +void CmdSketcherCompBSplineShowHideGeometryInformation::languageChange() +{ + Command::languageChange(); + + if (!_pcAction) + return; + Gui::ActionGroup* pcAction = qobject_cast(_pcAction); + QList a = pcAction->actions(); + + QAction* c1 = a[0]; + c1->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", + "Show/hide B-spline degree")); + c1->setToolTip(QApplication::translate( + "Sketcher_BSplineDegree", + "Switches between showing and hiding the degree for all B-splines")); + c1->setStatusTip(QApplication::translate( + "Sketcher_BSplineDegree", + "Switches between showing and hiding the degree for all B-splines")); + QAction* c2 = a[1]; + c2->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", + "Show/hide B-spline control polygon")); + c2->setToolTip(QApplication::translate( + "Sketcher_BSplinePolygon", + "Switches between showing and hiding the control polygons for all B-splines")); + c2->setStatusTip(QApplication::translate( + "Sketcher_BSplinePolygon", + "Switches between showing and hiding the control polygons for all B-splines")); + QAction* c3 = a[2]; + c3->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", + "Show/hide B-spline curvature comb")); + c3->setToolTip(QApplication::translate( + "Sketcher_BSplineComb", + "Switches between showing and hiding the curvature comb for all B-splines")); + c3->setStatusTip(QApplication::translate( + "Sketcher_BSplineComb", + "Switches between showing and hiding the curvature comb for all B-splines")); + QAction* c4 = a[3]; + c4->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", + "Show/hide B-spline knot multiplicity")); + c4->setToolTip(QApplication::translate( + "Sketcher_BSplineKnotMultiplicity", + "Switches between showing and hiding the knot multiplicity for all B-splines")); + c4->setStatusTip(QApplication::translate( + "Sketcher_BSplineKnotMultiplicity", + "Switches between showing and hiding the knot multiplicity for all B-splines")); + + QAction* c5 = a[4]; + c5->setText(QApplication::translate("CmdSketcherCompBSplineShowHideGeometryInformation", + "Show/hide B-spline control point weight")); + c5->setToolTip(QApplication::translate( + "Sketcher_BSplinePoleWeight", + "Switches between showing and hiding the control point weight for all B-splines")); + c5->setStatusTip(QApplication::translate( + "Sketcher_BSplinePoleWeight", + "Switches between showing and hiding the control point weight for all B-splines")); +} + +void CmdSketcherCompBSplineShowHideGeometryInformation::updateAction(int /*mode*/) +{} + +bool CmdSketcherCompBSplineShowHideGeometryInformation::isActive() +{ + return isSketcherBSplineActive(getActiveGuiDocument(), false); +} + +// +DEF_STD_CMD_A(CmdSketcherArcOverlay) + +CmdSketcherArcOverlay::CmdSketcherArcOverlay() + : Command("Sketcher_ArcOverlay") +{ + sAppModule = "Sketcher"; + sGroup = "Sketcher"; + sMenuText = QT_TR_NOOP("Show/hide circular helper for arcs"); + sToolTipText = + QT_TR_NOOP("Switches between showing and hiding the circular helper for all arcs"); + sWhatsThis = "Sketcher_ArcOverlay"; + sStatusTip = sToolTipText; + sPixmap = "Sketcher_ArcOverlay"; + sAccel = ""; + eType = ForEdit; +} + +void CmdSketcherArcOverlay::activated(int iMsg) +{ + Q_UNUSED(iMsg); + + ShowRestoreInformationLayer("ArcCircleHelperVisible"); +} + +bool CmdSketcherArcOverlay::isActive() +{ + return isSketchInEdit(getActiveGuiDocument()); +} + +void CreateSketcherCommandsOverlay() +{ + Gui::CommandManager& rcCmdMgr = Gui::Application::Instance->commandManager(); + + rcCmdMgr.addCommand(new CmdSketcherBSplineDegree()); + rcCmdMgr.addCommand(new CmdSketcherBSplinePolygon()); + rcCmdMgr.addCommand(new CmdSketcherBSplineComb()); + rcCmdMgr.addCommand(new CmdSketcherBSplineKnotMultiplicity()); + rcCmdMgr.addCommand(new CmdSketcherBSplinePoleWeight()); + rcCmdMgr.addCommand(new CmdSketcherCompBSplineShowHideGeometryInformation()); + rcCmdMgr.addCommand(new CmdSketcherArcOverlay()); +} diff --git a/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp b/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp index bcd2fd8c62..f3eccc92fc 100644 --- a/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp +++ b/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp @@ -138,6 +138,13 @@ ViewProviderSketchDrawSketchHandlerAttorney::setAngleSnapping(ViewProviderSketch vp.setAngleSnapping(enable, referencePoint); } +inline void +ViewProviderSketchDrawSketchHandlerAttorney::moveConstraint(ViewProviderSketch& vp, int constNum, + const Base::Vector2d& toPos) +{ + vp.moveConstraint(constNum, toPos); +} + /**************************** CurveConverter **********************************************/ @@ -1086,3 +1093,9 @@ void DrawSketchHandler::setAngleSnapping(bool enable, Base::Vector2d referencePo ViewProviderSketchDrawSketchHandlerAttorney::setAngleSnapping( *sketchgui, enable, referencePoint); } + +void DrawSketchHandler::moveConstraint(int constNum, const Base::Vector2d& toPos) +{ + ViewProviderSketchDrawSketchHandlerAttorney::moveConstraint( + *sketchgui, constNum, toPos); +} \ No newline at end of file diff --git a/src/Mod/Sketcher/Gui/DrawSketchHandler.h b/src/Mod/Sketcher/Gui/DrawSketchHandler.h index d5350ebcfb..a5679b5e46 100644 --- a/src/Mod/Sketcher/Gui/DrawSketchHandler.h +++ b/src/Mod/Sketcher/Gui/DrawSketchHandler.h @@ -104,6 +104,7 @@ private: static inline int getPreselectCurve(const ViewProviderSketch& vp); static inline int getPreselectCross(const ViewProviderSketch& vp); + static inline void moveConstraint(ViewProviderSketch& vp, int constNum, const Base::Vector2d& toPos); friend class DrawSketchHandler; }; @@ -230,6 +231,8 @@ protected: void setAngleSnapping(bool enable, Base::Vector2d referencePoint = Base::Vector2d(0., 0.)); + void moveConstraint(int constNum, const Base::Vector2d& toPos); + private: void setSvgCursor(const QString& svgName, int x, int y, const std::map& colorMapping = diff --git a/src/Mod/Sketcher/Gui/EditDatumDialog.cpp b/src/Mod/Sketcher/Gui/EditDatumDialog.cpp index dbfd423b99..2bced92a6d 100644 --- a/src/Mod/Sketcher/Gui/EditDatumDialog.cpp +++ b/src/Mod/Sketcher/Gui/EditDatumDialog.cpp @@ -53,6 +53,7 @@ using namespace SketcherGui; EditDatumDialog::EditDatumDialog(ViewProviderSketch* vp, int ConstrNbr) : ConstrNbr(ConstrNbr) + , success(false) { sketch = vp->getSketchObject(); const std::vector& Constraints = sketch->Constraints.getValues(); @@ -70,7 +71,7 @@ EditDatumDialog::EditDatumDialog(Sketcher::SketchObject* pcSketch, int ConstrNbr EditDatumDialog::~EditDatumDialog() {} -void EditDatumDialog::exec(bool atCursor) +int EditDatumDialog::exec(bool atCursor) { // Return if constraint doesn't have editable value if (Constr->isDimensional()) { @@ -80,7 +81,7 @@ void EditDatumDialog::exec(bool atCursor) QObject::tr("Dimensional constraint"), QObject::tr("Not allowed to edit the datum because the " "sketch contains conflicting constraints")); - return; + return QDialog::Rejected; } Base::Quantity init_val; @@ -173,8 +174,10 @@ void EditDatumDialog::exec(bool atCursor) dlg.setGeometry(x, y, dlg.geometry().width(), dlg.geometry().height()); } - dlg.exec(); + return dlg.exec(); } + + return QDialog::Rejected; } void EditDatumDialog::accepted() @@ -233,6 +236,7 @@ void EditDatumDialog::accepted() //} tryAutoRecompute(sketch); + success = true; } catch (const Base::Exception& e) { Gui::NotifyUserError( @@ -253,6 +257,11 @@ void EditDatumDialog::rejected() sketch->recomputeFeature(); } +bool EditDatumDialog::isSuccess() +{ + return success; +} + void EditDatumDialog::drivingToggled(bool state) { if (state) { diff --git a/src/Mod/Sketcher/Gui/EditDatumDialog.h b/src/Mod/Sketcher/Gui/EditDatumDialog.h index 85d4695f60..2252a28472 100644 --- a/src/Mod/Sketcher/Gui/EditDatumDialog.h +++ b/src/Mod/Sketcher/Gui/EditDatumDialog.h @@ -47,12 +47,14 @@ public: EditDatumDialog(Sketcher::SketchObject* pcSketch, int ConstrNbr); ~EditDatumDialog() override; - void exec(bool atCursor = true); + int exec(bool atCursor = true); + bool isSuccess(); private: Sketcher::SketchObject* sketch; Sketcher::Constraint* Constr; int ConstrNbr; + bool success; std::unique_ptr ui_ins_datum; private Q_SLOTS: diff --git a/src/Mod/Sketcher/Gui/EditModeCoinManager.h b/src/Mod/Sketcher/Gui/EditModeCoinManager.h index 348eafecb5..b071e2d347 100644 --- a/src/Mod/Sketcher/Gui/EditModeCoinManager.h +++ b/src/Mod/Sketcher/Gui/EditModeCoinManager.h @@ -78,7 +78,7 @@ using GeoListFacade = Sketcher::GeoListFacade; * The most important such delegates are: EditModeGeometryCoinManager and * EditModeConstraintCoinManager. * - * EditModeCoinManager takes over the responsibility of creating the Coin (Inventor) scenograph + * EditModeCoinManager takes over the responsibility of creating the Coin (Inventor) scenegraph * and modifying it, including all the drawing of geometry, constraints and overlay layer. This * is an exclusive responsibility under the Single Responsibility Principle. * @@ -88,7 +88,7 @@ using GeoListFacade = Sketcher::GeoListFacade; * * EditModeCoinManager is responsible, under the Single Responsibility Principle, to manage the coin * EditRoot node. This node is ref-ed on creation and unref-ed on destruction to ensure that its - * lifetime matches the one of EditModecoinManager. + * lifetime matches the one of EditModeCoinManager. * * EditRoot is added on request to pcRoot by ViewProviderSketch. The node pcRoot belongs, under the * Single Responsibility Principle, to ViewProviderSketch. EditModeCoinManager delegates addition @@ -97,7 +97,7 @@ using GeoListFacade = Sketcher::GeoListFacade; * EditModeCoinManager is designed to define the span of time in which ViewProviderSketch is in edit * mode. * - * In addition to the scenograph, EditModeCoinManager is responsible for keeping any necessary + * In addition to the scenegraph, EditModeCoinManager is responsible for keeping any necessary * mapping between indices used at ViewProviderSketch level, and internal indexing used by * EditModeCoinManager and its subclasses. */ diff --git a/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp b/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp index 0d84ad3fcf..a37f0f11d4 100644 --- a/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp +++ b/src/Mod/Sketcher/Gui/EditModeConstraintCoinManager.cpp @@ -72,9 +72,12 @@ using namespace Sketcher; //**************************** EditModeConstraintCoinManager class ****************************** EditModeConstraintCoinManager::EditModeConstraintCoinManager( - ViewProviderSketch& vp, DrawingParameters& drawingParams, - GeometryLayerParameters& geometryLayerParams, ConstraintParameters& constraintParams, - EditModeScenegraphNodes& editModeScenegraph, CoinMapping& coinMap) + ViewProviderSketch& vp, + DrawingParameters& drawingParams, + GeometryLayerParameters& geometryLayerParams, + ConstraintParameters& constraintParams, + EditModeScenegraphNodes& editModeScenegraph, + CoinMapping& coinMap) : viewProvider(vp) , drawingParameters(drawingParams) , geometryLayerParameters(geometryLayerParams) @@ -99,9 +102,10 @@ void EditModeConstraintCoinManager::updateVirtualSpace() SbBool* sws = editModeScenegraphNodes.constrGroup->enable.startEditing(); - for (size_t i = 0; i < constrlist.size(); i++) + for (size_t i = 0; i < constrlist.size(); i++) { sws[i] = !(constrlist[i]->isInVirtualSpace != isshownvirtualspace);// XOR of constraint mode and VP mode + } editModeScenegraphNodes.constrGroup->enable.finishEditing(); @@ -128,8 +132,9 @@ void EditModeConstraintCoinManager::processConstraints(const GeoListFacade& geol // reset point if the constraint type has changed Restart: // check if a new constraint arrived - if (constrlist.size() != vConstrType.size()) + if (constrlist.size() != vConstrType.size()) { rebuildConstraintNodes(geolistfacade); + } assert(int(constrlist.size()) == editModeScenegraphNodes.constrGroup->getNumChildren()); assert(int(vConstrType.size()) == editModeScenegraphNodes.constrGroup->getNumChildren()); @@ -316,18 +321,21 @@ Restart: angleplus = (startangle + endangle) / 2; midpos = aop->getFocus(); } - else + else { break; + } if (geo->getTypeId() == Part::GeomEllipse::getClassTypeId() || geo->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId() || geo->getTypeId() == Part::GeomArcOfHyperbola::getClassTypeId()) { Base::Vector3d majDir, minDir, rvec; - majDir = Base::Vector3d( - cos(angle), sin(angle), 0);// direction of major axis of ellipse - minDir = Base::Vector3d( - -majDir.y, majDir.x, 0);// direction of minor axis of ellipse + majDir = Base::Vector3d(cos(angle), + sin(angle), + 0);// direction of major axis of ellipse + minDir = Base::Vector3d(-majDir.y, + majDir.x, + 0);// direction of minor axis of ellipse rvec = (ra * cos(angleplus)) * majDir + (rb * sin(angleplus)) * minDir; midpos += rvec; @@ -413,13 +421,11 @@ Restart: // get the geometry const Part::Geometry* geo1 = geolistfacade.getGeometryFromGeoId(Constr->First); const Part::Geometry* geo2 = geolistfacade.getGeometryFromGeoId(Constr->Second); - Base::Vector3d midpos1, dir1, norm1; Base::Vector3d midpos2, dir2, norm2; bool twoIcons = false;// a very local flag. It's set to true to indicate that // the second dir+norm are valid and should be used - if (Constr->Third != GeoEnum::GeoUndef ||// perpty via point Constr->FirstPos != Sketcher::PointPos::none) {// endpoint-to-curve or @@ -430,16 +436,19 @@ Restart: do {// dummy loop to use break =) Maybe goto? ptGeoId = Constr->First; ptPosId = Constr->FirstPos; - if (ptPosId != Sketcher::PointPos::none) + if (ptPosId != Sketcher::PointPos::none) { break; + } ptGeoId = Constr->Second; ptPosId = Constr->SecondPos; - if (ptPosId != Sketcher::PointPos::none) + if (ptPosId != Sketcher::PointPos::none) { break; + } ptGeoId = Constr->Third; ptPosId = Constr->ThirdPos; - if (ptPosId != Sketcher::PointPos::none) + if (ptPosId != Sketcher::PointPos::none) { break; + } assert(0);// no point found! } while (false); @@ -483,8 +492,9 @@ Restart: dir1 = Base::Vector3d(-norm1.y, norm1.x, 0); midpos1 = circle->getCenter() + circle->getRadius() * norm1; } - else + else { break; + } if (geo2->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { const Part::GeomLineSegment* lineSeg2 = @@ -511,8 +521,9 @@ Restart: dir2 = Base::Vector3d(-norm2.y, norm2.x, 0); midpos2 = circle->getCenter() + circle->getRadius() * norm2; } - else + else { break; + } twoIcons = true; } @@ -629,8 +640,9 @@ Restart: angle1plus = (startangle + endangle) / 2; midpos1 = aop->getFocus(); } - else + else { break; + } if (geo2->getTypeId() == Part::GeomCircle::getClassTypeId()) { const Part::GeomCircle* circle = @@ -696,8 +708,9 @@ Restart: angle2plus = (startangle + endangle) / 2; midpos2 = aop->getFocus(); } - else + else { break; + } if (geo1->getTypeId() == Part::GeomEllipse::getClassTypeId() || geo1->getTypeId() == Part::GeomArcOfEllipse::getClassTypeId() @@ -708,8 +721,9 @@ Restart: majDir = Base::Vector3d(cos(angle1), sin(angle1), 0);// direction of major axis of ellipse - minDir = Base::Vector3d( - -majDir.y, majDir.x, 0);// direction of minor axis of ellipse + minDir = Base::Vector3d(-majDir.y, + majDir.x, + 0);// direction of minor axis of ellipse rvec = (r1a * cos(angle1plus)) * majDir + (r1b * sin(angle1plus)) * minDir; midpos1 += rvec; @@ -736,8 +750,9 @@ Restart: majDir = Base::Vector3d(cos(angle2), sin(angle2), 0);// direction of major axis of ellipse - minDir = Base::Vector3d( - -majDir.y, majDir.x, 0);// direction of minor axis of ellipse + minDir = Base::Vector3d(-majDir.y, + majDir.x, + 0);// direction of minor axis of ellipse rvec = (r2a * cos(angle2plus)) * majDir + (r2b * sin(angle2plus)) * minDir; midpos2 += rvec; @@ -751,8 +766,9 @@ Restart: midpos2 += r2a * norm2; } } - else// Parallel can only apply to a GeomLineSegment + else {// Parallel can only apply to a GeomLineSegment break; + } } else { const Part::GeomLineSegment* lineSeg1 = @@ -809,7 +825,6 @@ Restart: case DistanceX: case DistanceY: { assert(Constr->First >= -extGeoCount && Constr->First < intGeoCount); - Base::Vector3d pnt1(0., 0., 0.), pnt2(0., 0., 0.); if (Constr->SecondPos != Sketcher::PointPos::none) {// point to point distance pnt1 = geolistfacade.getPoint(Constr->First, Constr->FirstPos); @@ -860,9 +875,18 @@ Restart: auto circleSeg2 = static_cast(geo); GetCirclesMinimalDistance(circleSeg1, circleSeg2, pnt1, pnt2); } + else if (Constr->FirstPos + != Sketcher::PointPos::none) {// point to circle distance + auto circleSeg2 = static_cast(geo); + pnt1 = geolistfacade.getPoint(Constr->First, Constr->FirstPos); + Base::Vector3d v = pnt1 - circleSeg2->getCenter(); + v = v.Normalize(); + pnt2 = circleSeg2->getCenter() + circleSeg2->getRadius() * v; + } } - else + else { break; + } } else if (Constr->FirstPos != Sketcher::PointPos::none) { pnt2 = geolistfacade.getPoint(Constr->First, Constr->FirstPos); @@ -877,11 +901,13 @@ Restart: pnt1 = lineSeg->getStartPoint(); pnt2 = lineSeg->getEndPoint(); } - else + else { break; + } } - else + else { break; + } SoDatumLabel* asciiText = static_cast( sep->getChild(static_cast(ConstraintNodePosition::DatumLabelIndex))); @@ -890,12 +916,15 @@ Restart: asciiText->string = SbString(getPresentationString(Constr).toUtf8().constData()); - if (Constr->Type == Distance) + if (Constr->Type == Distance) { asciiText->datumtype = SoDatumLabel::DISTANCE; - else if (Constr->Type == DistanceX) + } + else if (Constr->Type == DistanceX) { asciiText->datumtype = SoDatumLabel::DISTANCEX; - else if (Constr->Type == DistanceY) + } + else if (Constr->Type == DistanceY) { asciiText->datumtype = SoDatumLabel::DISTANCEY; + } // Assign the Datum Points asciiText->pnts.setNum(2); @@ -933,16 +962,19 @@ Restart: do {// dummy loop to use break =) Maybe goto? ptGeoId = Constr->First; ptPosId = Constr->FirstPos; - if (ptPosId != Sketcher::PointPos::none) + if (ptPosId != Sketcher::PointPos::none) { break; + } ptGeoId = Constr->Second; ptPosId = Constr->SecondPos; - if (ptPosId != Sketcher::PointPos::none) + if (ptPosId != Sketcher::PointPos::none) { break; + } ptGeoId = Constr->Third; ptPosId = Constr->ThirdPos; - if (ptPosId != Sketcher::PointPos::none) + if (ptPosId != Sketcher::PointPos::none) { break; + } assert(0);// no point found! } while (false); @@ -957,7 +989,11 @@ Restart: dir.RotateZ(-M_PI / 2.0); relPos = seekConstraintPosition( - pos, norm, dir, 2.5, editModeScenegraphNodes.constrGroup->getChild(i)); + pos, + norm, + dir, + 2.5, + editModeScenegraphNodes.constrGroup->getChild(i)); auto translation = static_cast(sep->getChild( static_cast(ConstraintNodePosition::FirstTranslationIndex))); @@ -1081,7 +1117,7 @@ Restart: static_cast(geo1); const Part::GeomCircle* circle2 = static_cast(geo2); - // tangency between two cicles + // tangency between two circles Base::Vector3d dir = (circle2->getCenter() - circle1->getCenter()).Normalize(); pos = circle1->getCenter() + dir * circle1->getRadius(); @@ -1167,8 +1203,9 @@ Restart: const Part::Geometry* geo2 = geolistfacade.getGeometryFromGeoId(Constr->Second); if (geo1->getTypeId() != Part::GeomLineSegment::getClassTypeId() - || geo2->getTypeId() != Part::GeomLineSegment::getClassTypeId()) + || geo2->getTypeId() != Part::GeomLineSegment::getClassTypeId()) { break; + } const Part::GeomLineSegment* lineSeg1 = static_cast(geo1); const Part::GeomLineSegment* lineSeg2 = @@ -1269,8 +1306,9 @@ Restart: break; } } - else + else { break; + } SoDatumLabel* asciiText = static_cast( sep->getChild(static_cast(ConstraintNodePosition::DatumLabelIndex))); @@ -1323,11 +1361,13 @@ Restart: pnt1 = center - radius * Base::Vector3d(cos(angle), sin(angle), 0.); pnt2 = center + radius * Base::Vector3d(cos(angle), sin(angle), 0.); } - else + else { break; + } } - else + else { break; + } SbVec3f p1(pnt1.x, pnt1.y, zConstrH); SbVec3f p2(pnt2.x, pnt2.y, zConstrH); @@ -1390,11 +1430,13 @@ Restart: pnt1 = circle->getCenter(); pnt2 = pnt1 + radius * Base::Vector3d(cos(angle), sin(angle), 0.); } - else + else { break; + } } - else + else { break; + } SbVec3f p1(pnt1.x, pnt1.y, zConstrH); SbVec3f p2(pnt2.x, pnt2.y, zConstrH); @@ -1403,12 +1445,14 @@ Restart: sep->getChild(static_cast(ConstraintNodePosition::DatumLabelIndex))); // Get display string with units hidden if so requested - if (Constr->Type == Weight) + if (Constr->Type == Weight) { asciiText->string = SbString(QString::number(Constr->getValue()).toStdString().c_str()); - else + } + else { asciiText->string = SbString(getPresentationString(Constr).toUtf8().constData()); + } asciiText->datumtype = SoDatumLabel::RADIUS; asciiText->param1 = Constr->LabelDistance; @@ -1430,8 +1474,9 @@ Restart: } } catch (Base::Exception& e) { - Base::Console().DeveloperError( - "EditModeConstraintCoinManager", "Exception during draw: %s\n", e.what()); + Base::Console().DeveloperError("EditModeConstraintCoinManager", + "Exception during draw: %s\n", + e.what()); e.ReportException(); } catch (...) { @@ -1483,19 +1528,22 @@ Base::Vector3d EditModeConstraintCoinManager::seekConstraintPosition(const Base: SoNode* tailFather2 = path->getNode(length - 3); // checking if a constraint is the same as the one selected - if (tailFather1 == constraint || tailFather2 == constraint) + if (tailFather1 == constraint || tailFather2 == constraint) { isConstraintAtPosition = false; + } } else { isConstraintAtPosition = false; } multiplier *= -1;// search in both sides - if (multiplier >= 0) + if (multiplier >= 0) { multiplier++;// Increment the multiplier + } } - if (multiplier == 10) + if (multiplier == 10) { relPos = norm * 0.5f;// no free position found + } return relPos * step; } @@ -1532,8 +1580,9 @@ void EditModeConstraintCoinManager::updateConstraintColor( // It may happen that color updates are triggered by programmatic selection changes before a // command final update. Then constraints may have been changed and the color will be // updated as part - if (type != vConstrType[i]) + if (type != vConstrType[i]) { break; + } bool hasDatumLabel = (type == Sketcher::Angle || type == Sketcher::Radius || type == Sketcher::Diameter || type == Sketcher::Weight @@ -1695,7 +1744,8 @@ void EditModeConstraintCoinManager::rebuildConstraintNodes(const GeoListFacade& } void EditModeConstraintCoinManager::rebuildConstraintNodes( - const GeoListFacade& geolistfacade, const std::vector constrlist, + const GeoListFacade& geolistfacade, + const std::vector constrlist, SbVec3f norm) { @@ -1868,8 +1918,9 @@ QString EditModeConstraintCoinManager::getPresentationString(const Constraint* c double factor; // unit scaling factor, currently not used Base::UnitSystem unitSys;// current unit system - if (!constraint->isActive) + if (!constraint->isActive) { return QString::fromLatin1(" "); + } // Get the current name parameter string of the constraint nameStr = QString::fromStdString(constraint->Name); @@ -1963,8 +2014,9 @@ std::set EditModeConstraintCoinManager::detectPreselectionConstr(const SoPi // Get the constraints' tail SoNode* tailFather2 = path->getNode(path->getLength() - 3); - if (tailFather2 != editModeScenegraphNodes.constrGroup) + if (tailFather2 != editModeScenegraphNodes.constrGroup) { return constrIndices; + } SoNode* tail = path->getTail(); @@ -2053,7 +2105,8 @@ std::set EditModeConstraintCoinManager::detectPreselectionConstr(const SoPi SbVec3f constrPos = absPos + scaleFactor * trans; SbVec2f iconCoords = ViewProviderSketchCoinAttorney::getScreenCoordinates( - viewProvider, SbVec2f(constrPos[0], constrPos[1])); + viewProvider, + SbVec2f(constrPos[0], constrPos[1])); // cursorPos is SbVec2s in screen coordinates coming from SoEvent in // mousemove @@ -2116,10 +2169,12 @@ SbVec3s EditModeConstraintCoinManager::getDisplayedSize(const SoImage* iconPtr) { SbVec3s iconSize = iconPtr->image.getValue().getSize(); - if (iconPtr->width.getValue() != -1) + if (iconPtr->width.getValue() != -1) { iconSize[0] = iconPtr->width.getValue(); - if (iconPtr->height.getValue() != -1) + } + if (iconPtr->height.getValue() != -1) { iconSize[1] = iconPtr->height.getValue(); + } return iconSize; } @@ -2148,11 +2203,13 @@ void EditModeConstraintCoinManager::drawConstraintIcons(const GeoListFacade& geo bool multipleIcons = false; QString icoType = iconTypeFromConstraint(constraint); - if (icoType.isEmpty()) + if (icoType.isEmpty()) { continue; + } - if (constraint->Type != vConstrType[constrId]) + if (constraint->Type != vConstrType[constrId]) { break; + } switch (constraint->Type) { @@ -2178,8 +2235,9 @@ void EditModeConstraintCoinManager::drawConstraintIcons(const GeoListFacade& geo case Perpendicular: // second icon is available only when there is no common point if (constraint->FirstPos == Sketcher::PointPos::none - && constraint->Third == GeoEnum::GeoUndef) + && constraint->Third == GeoEnum::GeoUndef) { multipleIcons = true; + } break; case Equal: multipleIcons = true; @@ -2207,10 +2265,12 @@ void EditModeConstraintCoinManager::drawConstraintIcons(const GeoListFacade& geo SoTranslation* translationPtr = static_cast( sep->getChild(static_cast(ConstraintNodePosition::FirstTranslationIndex))); - if (dynamic_cast(translationPtr)) + if (dynamic_cast(translationPtr)) { absPos = static_cast(translationPtr)->abPos.getValue(); - else + } + else { absPos = translationPtr->translation.getValue(); + } SoImage* coinIconPtr = dynamic_cast( sep->getChild(static_cast(ConstraintNodePosition::FirstIconIndex))); @@ -2243,10 +2303,12 @@ void EditModeConstraintCoinManager::drawConstraintIcons(const GeoListFacade& geo } if (multipleIcons) { - if (constraint->Name.empty()) + if (constraint->Name.empty()) { thisIcon.label = QString::number(constrId + 1); - else + } + else { thisIcon.label = QString::fromUtf8(constraint->Name.c_str()); + } iconQueue.push_back(thisIcon); // Note that the second translation is meant to be applied after the first. @@ -2256,11 +2318,13 @@ void EditModeConstraintCoinManager::drawConstraintIcons(const GeoListFacade& geo if (numChildren > static_cast(ConstraintNodePosition::SecondConstraintIdIndex)) { translationPtr = static_cast(sep->getChild( static_cast(ConstraintNodePosition::SecondTranslationIndex))); - if (dynamic_cast(translationPtr)) + if (dynamic_cast(translationPtr)) { thisIcon.position += static_cast(translationPtr)->abPos.getValue(); - else + } + else { thisIcon.position += translationPtr->translation.getValue(); + } thisIcon.destination = dynamic_cast( sep->getChild(static_cast(ConstraintNodePosition::SecondIconIndex))); @@ -2269,10 +2333,12 @@ void EditModeConstraintCoinManager::drawConstraintIcons(const GeoListFacade& geo } } else { - if (constraint->Name.empty()) + if (constraint->Name.empty()) { thisIcon.label = QString(); - else + } + else { thisIcon.label = QString::fromUtf8(constraint->Name.c_str()); + } } iconQueue.push_back(thisIcon); @@ -2322,19 +2388,23 @@ void EditModeConstraintCoinManager::combineConstraintIcons(IconQueue iconQueue) } if (addedToGroup) { - if (i == iconQueue.end()) + if (i == iconQueue.end()) { // We just got the last icon out of iconQueue break; - else + } + else { // Start looking through the iconQueue again, in case // we have an icon that's now close enough to thisGroup i = iconQueue.begin(); + } } - else + else { ++i; + } } - else// if !visible we skip it + else {// if !visible we skip it i++; + } } } @@ -2387,8 +2457,9 @@ void EditModeConstraintCoinManager::drawMergedConstraintIcons(IconQueue iconQueu maxColorPriority = constrColorPriority(i->constraintId); - if (idString.length()) + if (idString.length()) { idString.append(QString::fromLatin1(",")); + } idString.append(QString::number(i->constraintId)); i = iconQueue.erase(i); @@ -2468,8 +2539,9 @@ void EditModeConstraintCoinManager::drawMergedConstraintIcons(IconQueue iconQueu if (bb == boundingBoxesVec.begin()) { // The first bounding box is for the icon at left, so assign // all IDs for that type of constraint to the icon. - for (std::vector::iterator j = ids.begin(); j != ids.end(); ++j) + for (std::vector::iterator j = ids.begin(); j != ids.end(); ++j) { nextIds.insert(*j); + } } else { nextIds.insert(*(id++)); @@ -2489,11 +2561,13 @@ void EditModeConstraintCoinManager::drawMergedConstraintIcons(IconQueue iconQueu /// Note: labels, labelColors, and boundingBoxes are all /// assumed to be the same length. -QImage EditModeConstraintCoinManager::renderConstrIcon(const QString& type, const QColor& iconColor, +QImage EditModeConstraintCoinManager::renderConstrIcon(const QString& type, + const QColor& iconColor, const QStringList& labels, const QList& labelColors, double iconRotation, - std::vector* boundingBoxes, int* vPad) + std::vector* boundingBoxes, + int* vPad) { // Constants to help create constraint icons QString joinStr = QString::fromLatin1(", "); @@ -2520,8 +2594,9 @@ QImage EditModeConstraintCoinManager::renderConstrIcon(const QString& type, cons // See Qt docs on qRect::bottom() for explanation of the +1 int pxBelowBase = qfm.boundingRect(labels.join(joinStr)).bottom() + 1; - if (vPad) + if (vPad) { *vPad = pxBelowBase; + } QTransform rotation; rotation.rotate(iconRotation); @@ -2530,8 +2605,9 @@ QImage EditModeConstraintCoinManager::renderConstrIcon(const QString& type, cons QImage image = roticon.copy(0, 0, roticon.width() + labelWidth, roticon.height() + pxBelowBase); // Make a bounding box for the icon - if (boundingBoxes) + if (boundingBoxes) { boundingBoxes->push_back(QRect(0, 0, roticon.width(), roticon.height())); + } // Render the Icons QPainter qp(&image); @@ -2556,10 +2632,12 @@ QImage EditModeConstraintCoinManager::renderConstrIcon(const QString& type, cons qp.setPen(*colorItr); - if (labelItr + 1 == labels.end())// if this is the last label + if (labelItr + 1 == labels.end()) {// if this is the last label labelStr = *labelItr; - else + } + else { labelStr = *labelItr + joinStr; + } // Note: text can sometimes draw to the left of the starting // position, eg italic fonts. Check QFontMetrics @@ -2585,8 +2663,11 @@ void EditModeConstraintCoinManager::drawTypicalConstraintIcon(const constrIconQu { QColor color = constrColor(i.constraintId); - QImage image = renderConstrIcon( - i.type, color, QStringList(i.label), QList() << color, i.iconRotation); + QImage image = renderConstrIcon(i.type, + color, + QStringList(i.label), + QList() << color, + i.iconRotation); i.infoPtr->string.setValue(QString::number(i.constraintId).toLatin1().data()); sendConstraintIconToCoin(image, i.destination); @@ -2651,32 +2732,41 @@ void EditModeConstraintCoinManager::clearCoinImage(SoImage* soImagePtr) QColor EditModeConstraintCoinManager::constrColor(int constraintId) { auto toQColor = [](auto sbcolor) -> QColor { - return QColor( - (int)(sbcolor[0] * 255.0f), (int)(sbcolor[1] * 255.0f), (int)(sbcolor[2] * 255.0f)); + return QColor((int)(sbcolor[0] * 255.0f), + (int)(sbcolor[1] * 255.0f), + (int)(sbcolor[2] * 255.0f)); }; const auto constraints = ViewProviderSketchCoinAttorney::getConstraints(viewProvider); - if (ViewProviderSketchCoinAttorney::isConstraintPreselected(viewProvider, constraintId)) + if (ViewProviderSketchCoinAttorney::isConstraintPreselected(viewProvider, constraintId)) { return toQColor(drawingParameters.PreselectColor); - else if (ViewProviderSketchCoinAttorney::isConstraintSelected(viewProvider, constraintId)) + } + else if (ViewProviderSketchCoinAttorney::isConstraintSelected(viewProvider, constraintId)) { return toQColor(drawingParameters.SelectColor); - else if (!constraints[constraintId]->isActive) + } + else if (!constraints[constraintId]->isActive) { return toQColor(drawingParameters.DeactivatedConstrDimColor); - else if (!constraints[constraintId]->isDriving) + } + else if (!constraints[constraintId]->isDriving) { return toQColor(drawingParameters.NonDrivingConstrDimColor); - else + } + else { return toQColor(drawingParameters.ConstrIcoColor); + } } int EditModeConstraintCoinManager::constrColorPriority(int constraintId) { - if (ViewProviderSketchCoinAttorney::isConstraintPreselected(viewProvider, constraintId)) + if (ViewProviderSketchCoinAttorney::isConstraintPreselected(viewProvider, constraintId)) { return 3; - else if (ViewProviderSketchCoinAttorney::isConstraintSelected(viewProvider, constraintId)) + } + else if (ViewProviderSketchCoinAttorney::isConstraintSelected(viewProvider, constraintId)) { return 2; - else + } + else { return 1; + } } SoSeparator* EditModeConstraintCoinManager::getConstraintIdSeparator(int i) diff --git a/src/Mod/Sketcher/Gui/Resources/Sketcher.qrc b/src/Mod/Sketcher/Gui/Resources/Sketcher.qrc index 617c3fb158..6ee58b00c1 100644 --- a/src/Mod/Sketcher/Gui/Resources/Sketcher.qrc +++ b/src/Mod/Sketcher/Gui/Resources/Sketcher.qrc @@ -7,6 +7,8 @@ icons/constraints/Constraint_Block.svg icons/constraints/Constraint_Concentric.svg + icons/constraints/Constraint_Dimension.svg + icons/constraints/Constraint_Dimension_Driven.svg icons/constraints/Constraint_Diameter.svg icons/constraints/Constraint_Diameter_Driven.svg icons/constraints/Constraint_Ellipse_Axis_Angle.svg @@ -220,17 +222,20 @@ icons/splines/Sketcher_BSplineApproximate.svg - icons/splines/Sketcher_BSplineComb.svg icons/splines/Sketcher_BSplineDecreaseDegree.svg icons/splines/Sketcher_BSplineDecreaseKnotMultiplicity.svg - icons/splines/Sketcher_BSplineDegree.svg icons/splines/Sketcher_BSplineIncreaseDegree.svg icons/splines/Sketcher_BSplineIncreaseKnotMultiplicity.svg icons/splines/Sketcher_BSplineInsertKnot.svg icons/splines/Sketcher_JoinCurves.svg - icons/splines/Sketcher_BSplineKnotMultiplicity.svg - icons/splines/Sketcher_BSplinePoleWeight.svg - icons/splines/Sketcher_BSplinePolygon.svg + + + icons/overlay/Sketcher_BSplineComb.svg + icons/overlay/Sketcher_BSplineDegree.svg + icons/overlay/Sketcher_BSplineKnotMultiplicity.svg + icons/overlay/Sketcher_BSplinePoleWeight.svg + icons/overlay/Sketcher_BSplinePolygon.svg + icons/overlay/Sketcher_ArcOverlay.svg icons/tools/Sketcher_Clone.svg diff --git a/src/Mod/Sketcher/Gui/Resources/icons/constraints/Constraint_Dimension.svg b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Constraint_Dimension.svg new file mode 100644 index 0000000000..a469fb0200 --- /dev/null +++ b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Constraint_Dimension.svg @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + [wmayer] + + + 2011-10-10 + http://www.freecadweb.org/wiki/index.php?title=Artwork + + + FreeCAD + + + FreeCAD/src/Mod/Sketcher/Gui/Resources/icons/Constraint_Radius.svg + + + FreeCAD LGPL2+ + + + https://www.gnu.org/copyleft/lesser.html + + + [agryson] Alexander Gryson + + + + + + + + + + + + + + + + + + + + diff --git a/src/Mod/Sketcher/Gui/Resources/icons/constraints/Constraint_Dimension_Driven.svg b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Constraint_Dimension_Driven.svg new file mode 100644 index 0000000000..64fb54dbec --- /dev/null +++ b/src/Mod/Sketcher/Gui/Resources/icons/constraints/Constraint_Dimension_Driven.svg @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + [wmayer] + + + 2011-10-10 + http://www.freecadweb.org/wiki/index.php?title=Artwork + + + FreeCAD + + + FreeCAD/src/Mod/Sketcher/Gui/Resources/icons/Constraint_Radius.svg + + + FreeCAD LGPL2+ + + + https://www.gnu.org/copyleft/lesser.html + + + [agryson] Alexander Gryson + + + + + + + + + + + + + + + + + + diff --git a/src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_ArcOverlay.svg b/src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_ArcOverlay.svg new file mode 100644 index 0000000000..64053c3a9a --- /dev/null +++ b/src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_ArcOverlay.svg @@ -0,0 +1,435 @@ + + + +image/svg+xml[wmayer]Sketcher_Create3PointCircle2014-03-29http://www.freecadweb.org/wiki/index.php?title=ArtworkFreeCADFreeCAD/src/Mod/Sketcher/Gui/Resources/icons/Sketcher_Create3PointCircle.svgFreeCAD LGPL2+https://www.gnu.org/copyleft/lesser.html[agryson] Alexander Gryson diff --git a/src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplineComb.svg b/src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplineComb.svg similarity index 100% rename from src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplineComb.svg rename to src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplineComb.svg diff --git a/src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplineDegree.svg b/src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplineDegree.svg similarity index 100% rename from src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplineDegree.svg rename to src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplineDegree.svg diff --git a/src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplineKnotMultiplicity.svg b/src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplineKnotMultiplicity.svg similarity index 100% rename from src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplineKnotMultiplicity.svg rename to src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplineKnotMultiplicity.svg diff --git a/src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplinePoleWeight.svg b/src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplinePoleWeight.svg similarity index 100% rename from src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplinePoleWeight.svg rename to src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplinePoleWeight.svg diff --git a/src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplinePolygon.svg b/src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplinePolygon.svg similarity index 100% rename from src/Mod/Sketcher/Gui/Resources/icons/splines/Sketcher_BSplinePolygon.svg rename to src/Mod/Sketcher/Gui/Resources/icons/overlay/Sketcher_BSplinePolygon.svg diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher.ts index 18328801be..b69b490c7f 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb - + Switches between showing and hiding the curvature comb for all B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree - + Switches between showing and hiding the degree for all B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity - + Switches between showing and hiding the knot multiplicity for all B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight - + Switches between showing and hiding the control point weight for all B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon - + Switches between showing and hiding the control polygons for all B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone - + Creates a clone of the geometry taking as reference the last selected point @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer - + Show/hide B-spline degree - + Show/hide B-spline control polygon - + Show/hide B-spline curvature comb - + Show/hide B-spline knot multiplicity - + Show/hide B-spline control point weight @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle - + Constrain an arc or a circle - + Constrain radius - + Constrain diameter - + Constrain auto radius/diameter @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone - + Creates a clone of the geometry taking as reference the last selected point @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity - + Modifies the multiplicity of the selected knot of a B-spline - + Increase knot multiplicity - + Decrease knot multiplicity @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle - + Fix the angle of a line or the angle between two lines @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block - + Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter - + Fix the diameter of a circle or an arc @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance - + Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance - + Fix the horizontal distance between two points or line ends @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance - + Fix the vertical distance between two points or line ends @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal - + Create an equality constraint between two lines or between circles and arcs @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally - + Create a horizontal constraint on the selected item @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock - + Create both a horizontal and a vertical distance constraint on the selected vertex @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel - + Create a parallel constraint between two lines @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular - + Create a perpendicular constraint between two lines @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object - + Fix a point onto an object @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline @@ -584,12 +584,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. @@ -598,12 +598,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical - + Create a symmetry constraint between two points with respect to a line or a third point @@ -612,12 +612,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent - + Create a tangent constraint between two entities @@ -625,12 +625,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically - + Create a vertical constraint on the selected item @@ -638,12 +638,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline - + Converts the selected geometry to a B-spline @@ -651,12 +651,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy - + Creates a simple copy of the geometry taking as reference the last selected point @@ -1015,12 +1015,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree - + Decreases the degree of the B-spline @@ -1028,12 +1028,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity - + Decreases the multiplicity of the selected knot of a B-spline @@ -1041,12 +1041,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints - + Delete all constraints in the sketch @@ -1054,12 +1054,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry - + Delete all geometry and constraints in the current sketch, with the exception of external geometry @@ -1067,12 +1067,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch - + Edit the selected sketch. @@ -1106,12 +1106,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree - + Increases the degree of the B-spline @@ -1119,12 +1119,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity - + Increases the multiplicity of the selected knot of a B-spline @@ -1132,12 +1132,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1145,12 +1145,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves - + Join two curves at selected end points @@ -1158,12 +1158,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch - + Finish editing the active sketch. @@ -1171,19 +1171,19 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. @@ -1191,22 +1191,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches - + Create a new sketch from merging two or more selected sketches. - + Wrong selection - + Select at least two sketches. @@ -1214,24 +1214,24 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. - + Wrong selection - + Select one or more sketches. @@ -1239,12 +1239,12 @@ as mirroring reference. CmdSketcherMove - + Move - + Moves the geometry taking as reference the last selected point @@ -1252,12 +1252,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch - + Create a new sketch. @@ -1265,12 +1265,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array - + Creates a rectangular array pattern of the geometry taking as reference the last selected point @@ -1278,12 +1278,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection @@ -1291,12 +1291,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. @@ -1305,12 +1305,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry - + Show all internal geometry or hide unused internal geometry @@ -1318,8 +1318,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints @@ -1327,12 +1327,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints - + Select the constraints associated with the selected geometrical elements @@ -1340,12 +1340,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry - + Select the geometrical elements associated with the selected constraints @@ -1353,12 +1353,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. @@ -1366,12 +1366,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis - + Select the local horizontal axis of the sketch @@ -1379,8 +1379,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints @@ -1388,12 +1388,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin - + Select the local origin point of the sketch @@ -1401,8 +1401,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints @@ -1410,8 +1410,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints @@ -1419,12 +1419,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis - + Select the local vertical axis of the sketch @@ -1445,12 +1445,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation - + When in edit mode, stop the active operation (drawing, constraining, etc.). @@ -1471,12 +1471,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry - + Creates symmetric geometry with respect to the last selected line or point @@ -1484,12 +1484,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint - + Activates or deactivates the selected constraints @@ -1510,12 +1510,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint - + Set the toolbar, or the selected constraints, into driving or reference mode @@ -1537,23 +1537,23 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. - + Wrong selection - + Select only one sketch. @@ -1561,12 +1561,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section - + When in edit mode, switch between section view and full view. @@ -1574,12 +1574,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch - + When in edit mode, set the camera orientation perpendicular to the sketch plane. @@ -1587,287 +1587,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint - - - + + + Add horizontal alignment - - + + Add vertical constraint - + Add vertical alignment - + Add 'Lock' constraint - + Add relative 'Lock' constraint - + Add fixed constraint - + Add 'Block' constraint - + Add block constraint - - - + + + Add coincident constraint - - + + Add distance from horizontal axis constraint - - + + Add distance from vertical axis constraint - - + + Add point to point distance constraint - - + + + Add point to line Distance constraint - - + + Add circle to circle distance constraint - + Add circle to line distance constraint - - + + + + + Add length constraint - - + + + Dimension + + + + + Add lock constraint + + + + + Add 'Distance to origin' constraint + + + + + + + Add Distance constraint + + + + + + + Add 'Horizontal' constraints + + + + + + + Add 'Vertical' constraints + + + + + + Add Symmetry constraint + + + + + + Add Symmetry constraints + + + + + + Add Distance constraints + + + + + Add Horizontal constraint + + + + + Add Vertical constraint + + + + + Add Block constraint + + + + + Add Angle constraint + + + + + + + + Add Equality constraint + + + + + Add Equality constraints + + + + + Add Radius constraint + + + + + Add concentric and length constraint + + + + + Add DistanceX constraint + + + + + Add DistanceY constraint + + + + + Add point to circle Distance constraint + + + + + Add point on object constraint - - + + Add point to point horizontal distance constraint - + Add fixed x-coordinate constraint - - + + Add point to point vertical distance constraint - + Add fixed y-coordinate constraint - - + + Add parallel constraint - - - - - - - + + + + + + + Add perpendicular constraint - + Add perpendicularity constraint - + Swap coincident+tangency with ptp tangency - + Swap PointOnObject+tangency with point to curve tangency - - - - - - - + + + + + + + Add tangent constraint - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point - - - - + + + + Add radius constraint - - - - + + + + Add diameter constraint - - - - + + + + Add radiam constraint - - - - - - + + + + + + Add angle constraint - - + + Add equality constraint - - - - - + + + + + Add symmetric constraint - + Add Snell's law constraint - + Toggle constraint to driving/reference - + Activate/Deactivate constraint - + Create a new sketch on a face - + Create a new sketch - + Reorient sketch - + Attach sketch - + Detach sketch - + Create a mirrored sketch for each selected sketch - + Merge sketches @@ -1985,72 +2102,72 @@ invalid constraints, degenerated geometry, etc. - + Convert to NURBS - + Increase spline degree - + Decrease spline degree - + Increase knot multiplicity - + Decrease knot multiplicity - + Insert knot - + Join Curves - + Exposing Internal Geometry - + Create symmetric geometry - + Copy/clone/move geometry - + Create copy of geometry - + Delete all geometry - + Delete All Constraints - + Remove Axes Alignment @@ -2061,44 +2178,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space - + Add auto constraints - + Swap constraint names - + Rename sketch constraint - + Drag Point - + Drag Curve - + Drag Constraint - + Modify sketch constraints @@ -2159,59 +2276,59 @@ invalid constraints, degenerated geometry, etc. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. - - + + BSpline Geometry Index (GeoID) is out of bounds. - + You are requesting no change in knot multiplicity. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. - + The multiplicity cannot be decreased beyond zero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. - + Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. @@ -2227,210 +2344,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher - + There are no modes that accept the selected set of subelements - + Broken link to support subelements - - + + Unexpected error - + Face is non-planar - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) - + Sketch mapping - + Can't map the sketch to selected object. %1. - - + + Don't attach + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection @@ -2441,339 +2561,339 @@ invalid constraints, degenerated geometry, etc. - + Not allowed to edit the datum because the sketch contains conflicting constraints - + Dimensional constraint - + Cannot add a constraint between two external geometries. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution - + Keep notifying me of constraint substitutions - - - + + + Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. - - + + Select an edge from the sketch. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint - - - - + + + + The selected edge is not a line segment. - - - - - - + + + + + + Double constraint - - - - - + + + + + The selected edge already has a horizontal constraint! - - - + + + The selected edge already has a vertical constraint! - - - - - - + + + + + + The selected edge already has a Block constraint! - + The selected item(s) can't accept a horizontal constraint! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! - + The selected item(s) can't accept a vertical constraint! - - - + + + Select vertices from the sketch. - + Select one vertex from the sketch other than the origin. - + Select only vertices from the sketch. The last selected vertex may be the origin. - + Wrong solver status - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. - + Select one edge from the sketch. - + Select only edges from the sketch. - + Number of selected objects is not 3 - - - + + + Error - + Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. - + Select two or more points from the sketch. - + Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. - + Cannot add a length constraint on an axis! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. - - - - + + + + Select exactly one line or up to two points from the sketch. - + Cannot add a horizontal length constraint on an axis! - + Cannot add a fixed x-coordinate constraint on the origin point! - - + + This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! - + Cannot add a fixed y-coordinate constraint on the origin point! - + Select two or more lines from the sketch. - - + + Select at least two lines from the sketch. - + Select a valid line. - - + + The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2781,42 +2901,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c - + Select some geometry from the sketch. perpendicular constraint - - + + Cannot add a perpendicularity constraint at an unconnected point! - - - + + + Perpendicular to B-spline edge currently unsupported. - - + + One of the selected edges should be a line. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2824,179 +2944,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c - + Select some geometry from the sketch. tangent constraint - - - + + + Cannot add a tangency constraint at an unconnected point! - - + + Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! - - + + With 3 objects, there must be 2 curves and 1 point. - - - + + + Tangency to B-spline edge currently unsupported. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. - - - + + + Constraint only applies to arcs or circles. - - + + Select one or two lines from the sketch. Or select two edges and a point. - - + + Parallel lines - - + + An angle constraint cannot be set for two parallel lines. - + Cannot add an angle constraint on an axis! - + Select two edges from the sketch. - + Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. - + Equality for B-spline edge currently unsupported. - - - + + + + Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. - - + + Cannot add a symmetry constraint between a line and its end points. - - + + + + Cannot add a symmetry constraint between a line and its end points! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw - + Selected objects are not just geometry from one sketch. - + Cannot create constraint with external geometry only. - + Incompatible geometry is selected. - + SnellsLaw on B-spline edge is currently unsupported. - - - - - + + + + + Select constraints from the sketch. @@ -3018,155 +3141,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c + + - - CAD Kernel Error - + None of the selected elements is an edge. - - + + At least one of the selected objects was not a B-Spline and was ignored. - - + + The selection comprises more than one item. Please select just one knot. - - + + Input Error - - + + None of the selected elements is a knot of a B-spline - - + + Selection is empty - + Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. - + Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point - + Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. - + No constraint selected - + At least one constraint must be selected - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. - + The last element must be a point or a line serving as reference for the symmetry construction. - - + + A copy requires at least one selected non-external geometric element - + Delete All Geometry - + Are you really sure you want to delete all geometry and constraints? - + Delete All Constraints - + Are you really sure you want to delete all the constraints? - + Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3365,67 +3488,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements - + Change value - + Toggle to/from reference - + Deactivate - + Activate - + Show constraints - + Hide constraints - + Rename - + Center sketch - + Delete - + Swap constraint names - + Unnamed constraint - + Only the names of named constraints can be swapped. @@ -3433,74 +3556,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle - + Angle: - + Insert radius - + Radius: - + Insert diameter - + Diameter: - + Insert weight - + Weight: - + Refractive index ratio Constraint_SnellsLaw - + Ratio n2/n1: Constraint_SnellsLaw - + Insert length - + Length: - + Refractive index ratio - + Ratio n2/n1: @@ -3508,72 +3631,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal - + Construction - + Internal - + External - + All types - + Point - + Line - + Circle - + Ellipse - + Arc of circle - + Arc of ellipse - + Arc of hyperbola - + Arc of parabola - + B-Spline @@ -3581,142 +3704,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence - + Point on Object - + Vertical Constraint - + Horizontal Constraint - + Parallel Constraint - + Perpendicular Constraint - + Tangent Constraint - + Equal Length - + Symmetric - + Block Constraint - + Lock Constraint - + Horizontal Distance - + Vertical Distance - + Length Constraint - + Radius Constraint - + Diameter Constraint - + Radiam Constraint - + Angle Constraint - + Toggle construction geometry - + Select Constraints - + Select Origin - + Select Horizontal Axis - + Select Vertical Axis - + Layer - + Layer 0 - + Layer 1 - + Hidden - + Delete @@ -3997,6 +4120,68 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions + + + Dimension Constraint + + + + + Dimensioning constraints: + + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + + Dimension tool diameter/radius mode: + + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + + Single tool + + + + + Separated tools + + + + + Both + + + + + Auto + + + + + Diameter + + + + + Radius + + SketcherGui::SketcherSettingsColors @@ -4434,12 +4619,12 @@ Then objects are only visible behind the sketch plane. - + Unexpected C++ exception - + Sketcher @@ -4606,48 +4791,48 @@ However, no constraints linking to the endpoints were found. - + Constraints - + Auto constraints - + Auto remove redundants - + Show only filtered Constraints - + Extended information (in widget) - + Hide internal alignment (in widget) - - + + Error - + Impossible to update visibility tracking - + Impossible to update visibility tracking: @@ -4679,6 +4864,33 @@ However, no constraints linking to the endpoints were found. Settings + + + + + + + + + + + + Construction + + + + + Elements + + + + + + + + Point + + @@ -4690,110 +4902,83 @@ However, no constraints linking to the endpoints were found. - Construction - - - - - Elements - - - - - - - - Point - - - - - - - - - - - - - Internal - - + + + - Line - - + + + - Arc - - + + + - Circle - - + + + - Ellipse - - + + + - Elliptical Arc - - + + + - Hyperbolic Arc - - + + + - Parabolic Arc - - + + + - BSpline - - + + + - Other - + Extended information @@ -4801,42 +4986,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages - + Auto update - + Executes a recomputation of active document after every sketch action - + Click to select the conflicting constraints. - + Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5012,119 +5197,119 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch - + A dialog is already open in the task panel - + Do you want to close this dialog? - + Invalid sketch - + Do you want to open the sketch validation tool? - + The sketch is invalid and cannot be edited. - + Please remove the following constraint: - + Please remove at least one of the following constraints: - + Please remove the following redundant constraint: - + Please remove the following redundant constraints: - + The following constraint is partially redundant: - + The following constraints are partially redundant: - + Please remove the following malformed constraint: - + Please remove the following malformed constraints: - + Empty sketch - + Over-constrained: - + Malformed constraints: - + Redundant constraints: - + Partially redundant: - + Solver failed to converge - + Under constrained: - + %n DoF(s) - + Fully constrained @@ -5132,8 +5317,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines @@ -5141,8 +5326,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline @@ -5150,8 +5335,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines @@ -5159,8 +5344,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline @@ -5168,8 +5353,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines @@ -5177,8 +5362,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines @@ -5186,8 +5371,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines @@ -5195,8 +5380,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point @@ -5204,17 +5389,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone - + Copy - + Move @@ -5222,8 +5407,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc @@ -5231,7 +5416,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc @@ -5239,8 +5424,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc @@ -5248,7 +5433,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc @@ -5256,8 +5441,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point @@ -5476,63 +5661,63 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found - + The document doesn't have a sketch - + Select sketch - + Select a sketch from the list - + (incompatible with selection) - + (current) - + (suggested) - + Sketch attachment - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. - + Select the method to attach this sketch to selected objects. - + Map sketch - + Can't map a sketch to support: %1 @@ -5541,8 +5726,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point @@ -5550,12 +5735,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment - + Select the method to attach this sketch to selected object @@ -5563,12 +5748,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? @@ -5576,11 +5761,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - - DOF @@ -5599,11 +5779,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - - Default algorithm used for Sketch solving @@ -5871,7 +6046,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more @@ -6059,22 +6234,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing - + Resize grid automatically depending on zoom. - + Spacing - + Distance between two subsequent grid lines. @@ -6082,86 +6257,86 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error - + Failed to delete all geometry - + Failed to delete all constraints - + The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint @@ -6203,8 +6378,8 @@ The grid spacing change if it becomes smaller than this number of pixel. - + Error creating B-spline @@ -6301,9 +6476,9 @@ The grid spacing change if it becomes smaller than this number of pixel. - - - + + + Value Error @@ -6339,57 +6514,57 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - - - Construction Geometry + Normal Geometry + Construction Geometry + + + + + + External Geometry @@ -6410,12 +6585,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6423,12 +6598,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6459,4 +6634,32 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna + + CmdSketcherDimension + + + Dimension + + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + + + + + Switches between showing and hiding the circular helper for all arcs + + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_be.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_be.ts index 12cde1d1bc..a967d85d00 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_be.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_be.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Паказаць/схаваць грабянец крывізні B-сплайна - + Switches between showing and hiding the curvature comb for all B-splines Пераключэнне паміж паказваннем і хаваннем грабянца крывізны для ўсіх B-сплайнаў @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Паказаць/схаваць ступень B-сплайна - + Switches between showing and hiding the degree for all B-splines Пераключэнне паміж паказваннем і хаваннем ступеняў для ўсіх B-сплайнаў @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Паказаць/схаваць кратнасць вузлоў B-сплайна - + Switches between showing and hiding the knot multiplicity for all B-splines Пераключэнне паміж паказваннем і хаваннем кратнасці вузлоў для ўсіх B-сплайнаў @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Паказаць/схаваць вагу кантрольнай кропкі B-сплайна - + Switches between showing and hiding the control point weight for all B-splines Пераключэнне паміж адлюстраваннем і хаваннем вагі кантрольнай кропкі для ўсіх B-сплайнаўпаказваннем @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Паказаць/схаваць палігон кіравання B-сплайна - + Switches between showing and hiding the control polygons for all B-splines Пераключэнне паміж паказваннем і хаваннем палігона кіравання для ўсіх B-сплайнаў @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Дублікат - + Creates a clone of the geometry taking as reference the last selected point Стварае клон геаметрыі, у якасці эталону ўжывае апошнюю абраную кропку @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Паказаць/схаваць інфармацыйны пласт B-сплайна - + Show/hide B-spline degree Паказаць/схаваць ступень B-сплайна - + Show/hide B-spline control polygon Паказаць/схаваць палігон кіравання B-сплайна - + Show/hide B-spline curvature comb Паказаць/схаваць грабянец крывізні B-сплайна - + Show/hide B-spline knot multiplicity Паказаць/схаваць кратнасць вузлоў B-сплайна - + Show/hide B-spline control point weight Паказаць/схаваць вагу кантрольнай кропкі B-сплайна @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Абмежаванне дугі альбо акружнасці - + Constrain an arc or a circle Абмежаванне дугі альбо акружнасці - + Constrain radius Абмежаванне радыуса - + Constrain diameter Абмежаванне дыяметра - + Constrain auto radius/diameter Аўтаматычнае абмежаванне радыуса/дыяметра @@ -156,14 +156,14 @@ CmdSketcherCompCopy - + Clone Дублікат - + Creates a clone of the geometry taking as reference the last selected point - Стварае клон геаметрыі, у якасці эталону ўжывае апошнюю абраную кропку + Стварае дублікат геаметрыі, у якасці эталону ўжывае апошнюю абраную кропку @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Змена кратнасці вузлоў - + Modifies the multiplicity of the selected knot of a B-spline Змена кратнасці абранага вузла B-сплайна - + Increase knot multiplicity Павялічвае кратнасць вузлоў - + Decrease knot multiplicity Памяншае кратнасць вузлоў @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Абмежаванне вугла - + Fix the angle of a line or the angle between two lines Фіксаваць вугал лініі ці вугал паміж дзвюма лініямі @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Абмежаванне руху - + Block the selected edge from moving Абмежаваць рух абранага рабра @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Абмежаванне накладання кропак - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Стварыць абмежаванне супадзення паміж кропкамі, ці канцэнтрычнае абмежаванне паміж акружнасцямі, дугамі і эліпсамі @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Абмежаванне дыяметра - + Fix the diameter of a circle or an arc Задаць дыяметр акружнасці ці дугі @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Абмежаванне адлегласці - + Fix a length of a line or the distance between a line and a vertex or between two circles Задаць даўжыню лініі, альбо адлегласць паміж лініяй і вяршыняй, альбо паміж дзвюма акружнасцямі @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Абмежаванне гарызантальнай адлегласці - + Fix the horizontal distance between two points or line ends Задаць адлегласць па гарызанталі паміж дзвюма кропкамі ці канцамі лініі @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Абмежаванне вертыкальнай адлегласці - + Fix the vertical distance between two points or line ends Задаць вертыкальную адлегласць паміж дзвюма кропкамі ці канцамі лініі @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Абмежаванне роўнасцю - + Create an equality constraint between two lines or between circles and arcs Стварыць абмежаванне роўнасці паміж дзвюма лініямі ці паміж акружнасцямі і дугамі @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Абмежаванне гарызантальнасці - + Create a horizontal constraint on the selected item Стварыць абмежаванне гарызантальнасці для абранага элемента @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Абмежаванне блакавання - + Create both a horizontal and a vertical distance constraint on the selected vertex Стварыць абмежаванне адлегласці па гарызанталі і вертыкалі для абранай вяршыні @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Абмежаванне паралельнасці - + Create a parallel constraint between two lines Стварыць паралельнае абмежаванне паміж дзвюма лініямі @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Абмежаванне перпендыкулярнасці - + Create a perpendicular constraint between two lines Стварыць перпендыкулярнае абмежаванне паміж дзвюма адрэзкамі @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Абмежаваць кропку на аб'екце - + Fix a point onto an object Прывязаць кропку да аб'екта @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Аўтаматычнае абмежаванне радыуса/дыяметра - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Задаць дыяметр, калі абрана акружнасць, альбо радыус, калі абраны полюс дугі/сплайну @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Абмежаванне радыуса ці вагі - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Задаць радыус акружнасці ці дугі альбо задаць вагу полюса B-сплайна @@ -584,12 +584,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Абмежаванне праламлення (закон Снеліуса) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Стварыць абмежаванне па закону праламлення свету (закон Снеліуса) паміж дзвюма канчатковымі кропкамі прамянёў і рабром у якасці мяжы падзелу асяроддзя. @@ -598,12 +598,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Абмежаванне сіметрычнасці - + Create a symmetry constraint between two points with respect to a line or a third point Стварыць абмежаванне сіметрыі паміж дзвюма кропкамі адносна лініі ці трэцяй кропкі @@ -612,12 +612,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Абмежаванне датычнай - + Create a tangent constraint between two entities Стварыць датычнае абмежаванне паміж дзвюма сутнасцямі @@ -625,12 +625,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Абмежаванне вертыкальнасці - + Create a vertical constraint on the selected item Стварыць абмежаванне вертыкальнасці для абранага элемента @@ -638,12 +638,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Пераўтварыць геаметрыю ў B-сплайн - + Converts the selected geometry to a B-spline Пераўтварыць абраную геаметрыю ў B-сплайн @@ -651,12 +651,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Скапіраваць - + Creates a simple copy of the geometry taking as reference the last selected point Стварае просты клон геаметрыі, у якасці эталону бярэ апошнюю абраную кропку @@ -1015,12 +1015,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Паменшыць ступень B-сплайна - + Decreases the degree of the B-spline Памяншае ступень B-сплайна @@ -1028,12 +1028,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Памяншае кратнасць вузлоў - + Decreases the multiplicity of the selected knot of a B-spline Памяншае кратнасць абранага вузла B-сплайна @@ -1041,12 +1041,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Выдаліць усе абмежаванні - + Delete all constraints in the sketch Выдаліць усе абмежаванні на эскізе @@ -1054,12 +1054,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Выдаліць усю геаметрыю - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Выдаліць усю геаметрыю і абмежаванні на бягучым эскізе, за выключэннем вонкавай геаметрыі @@ -1067,12 +1067,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Змяніць эскіз - + Edit the selected sketch. Змяніць абраны эскіз. @@ -1106,12 +1106,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Павялічыць ступень B-сплайна - + Increases the degree of the B-spline Павялічвае ступень B-сплайна @@ -1119,12 +1119,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Павялічвае кратнасць вузлоў - + Increases the multiplicity of the selected knot of a B-spline Павялічвае кратнасць абранага вузла B-сплайна @@ -1132,12 +1132,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Уставіць вузел - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Уставіць вузел па зададзеным наладах. Калі вузел ужо існуе з гэтымі наладамі, яго кратнасць павялічваецца на адзінку. @@ -1145,12 +1145,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Аб'яднаць крывыя - + Join two curves at selected end points Аб'яднаць дзве крывыя ў абраных канчатковых кропках @@ -1158,12 +1158,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Пакінуць эскіз - + Finish editing the active sketch. Закончыць змену бягучага эскізу. @@ -1171,12 +1171,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Супаставіць эскіз на грані... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1185,7 +1185,7 @@ then call this command, then choose the desired sketch. выклікайце гэтую каманду, потым абярыце патрэбны эскіз. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Некаторыя з абраных аб'ектаў залежаць ад эскізу, якія будзе супастаўленыя. Цыклічныя залежнасці не дазваляюцца. @@ -1193,22 +1193,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Аб'яднаць эскізы - + Create a new sketch from merging two or more selected sketches. Сварыць новы эскіз з зліцця дзвюх ці болей абраных эскізаў. - + Wrong selection Няправільны выбар - + Select at least two sketches. Абярыце па меншай меры два эскіза. @@ -1216,24 +1216,24 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Сіметрычна адлюстраваць эскіз - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. Стварыць новы сіметрычны эскіз для кожнага абранага эскіза, ужываючы восі X або Y у якасці пачатку каардынат. - + Wrong selection Няправільны выбар - + Select one or more sketches. Абярыце адзін ці некалькі эскізаў. @@ -1241,12 +1241,12 @@ as mirroring reference. CmdSketcherMove - + Move Рухаць - + Moves the geometry taking as reference the last selected point Рухаць геаметрыю, у якасці эталону ўжывае апошнюю абраную кропку @@ -1254,12 +1254,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Стварыць эскіз - + Create a new sketch. Стварыць новы эскіз. @@ -1267,12 +1267,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Прастакутны масіў - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Стварае прастакутны шаблон, у якасці эталону ўжывае апошнюю абраную кропку @@ -1280,12 +1280,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Выдаліць выраўноўванне восяў - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Змяняе абмежаванні, каб выдаліць выраўноўванне восяў, спрабуючы захаваць адносіны абмежавання для выбару @@ -1293,12 +1293,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Пераарыентаванне эскізу... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Змясціце абраны эскіз на адну з глабальных каардынатных плоскасцяў. @@ -1308,12 +1308,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Паказаць/схаваць унутраную геаметрыю - + Show all internal geometry or hide unused internal geometry Паказвае ўсю ўнутраную геаметрыю, ці хавае не ўжытую ўнутраную геаметрыю @@ -1321,8 +1321,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Абраць абмежаванні, які канфліктуюць @@ -1330,12 +1330,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints Абраць звязаныя абмежаванні - + Select the constraints associated with the selected geometrical elements Абраць абмежаванні, якія звязаныя з абранымі геаметрычнымі элементамі @@ -1343,12 +1343,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Абраць звязаную геаметрыю - + Select the geometrical elements associated with the selected constraints Абраць геаметрычныя элементы, якія звязаныя з абранымі абмежаваннямі @@ -1356,12 +1356,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Абраць неабмежаваны DoF - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Абраць геаметрычныя элементы, у якіх сродак рашэння ўсё яшчэ выяўляе неабмежаваныя ступені свабоды. @@ -1369,12 +1369,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Абраць гарызантальную вось - + Select the local horizontal axis of the sketch Абраць лакальную гарызантальную вось эскізу @@ -1382,8 +1382,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Абраць скажоныя абмежаванні @@ -1391,12 +1391,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin Абраць пачатак каардынат - + Select the local origin point of the sketch Абраць лакальную кропку пачатак каардынат эскізу @@ -1404,8 +1404,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Абраць часткова залішнія абмежаванні @@ -1413,8 +1413,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Абраць залішнія абмежаванні @@ -1422,12 +1422,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis Абраць вертыкальную вось - + Select the local vertical axis of the sketch Абраць лакальную вертыкальную вось эскізу @@ -1448,12 +1448,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation Спыніць аперацыю - + When in edit mode, stop the active operation (drawing, constraining, etc.). В рэжыме змены спыніць бягучую аперацыю (маляванне чарцяжа, абмежаванне і гэтак далей). @@ -1474,12 +1474,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry Сіметрыя - + Creates symmetric geometry with respect to the last selected line or point Стварае сіметрычную геаметрыю адносна апошняй абранай лініі ці кропкі @@ -1487,12 +1487,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Задзейнічаць/адключыць абмежаванні - + Activates or deactivates the selected constraints Задзейнічае ці адключае абраныя абмежаванні @@ -1513,12 +1513,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Пераключыць кіруючае/апорнае абмежаванне - + Set the toolbar, or the selected constraints, into driving or reference mode Пераключае панэль інструментаў ці пераўтварае абраныя абмежаванні @@ -1541,23 +1541,23 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Праверыць эскіз... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Паверыць эскіз, праглядзеўшы супадзенні, якія адсутнічаюць, хібныя абмежаванні, выраджаную геаметрыяю і гэтак далей. - + Wrong selection Няправільны выбар - + Select only one sketch. Абраць толькі адзін эскіз. @@ -1565,12 +1565,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Прагляд перасеку - + When in edit mode, switch between section view and full view. У рэжыме змены пераключыць прагляд паміж выглядам перасеку і поўным выглядам. @@ -1578,12 +1578,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Выгляд эскізу - + When in edit mode, set the camera orientation perpendicular to the sketch plane. У рэжыме змены пераключыць, ужыць арыентацыю камеры перпендыкулярна плоскасці эскіза. @@ -1591,287 +1591,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Дадаць гарызантальныя абмежаванні - - - + + + Add horizontal alignment Дадаць гарызантальнае выраўноўванне - - + + Add vertical constraint Дадаць вертыкальныя абмежаванні - + Add vertical alignment Дадаць вертыкальнае выраўноўванне - + Add 'Lock' constraint Дадаць абмежаванне 'Блакаванне' - + Add relative 'Lock' constraint Дадаць адноснае абмежаванне 'Блакаванне' - + Add fixed constraint Дадаць фіксаванае абмежаванне - + Add 'Block' constraint Дадаць абмежаванне 'Абмежаванне' - + Add block constraint Дадаць абмежаванае абмежаванне - - - + + + Add coincident constraint Дадаць абмежаванне супадзення - - + + Add distance from horizontal axis constraint Дадаць абмежаванне адлегласці ад гарызантальнай восі - - + + Add distance from vertical axis constraint Дадаць абмежаванне адлегласці ад вертыкальнай восі - - + + Add point to point distance constraint Дадаць абмежаванне кропкі да адлегласці кропкі - - + + + Add point to line Distance constraint Дадаць абмежаванне кропкі да адлегласці лініі - - + + Add circle to circle distance constraint Дадаць абмежаванне акружнасці да адлегласці акружнасці - + Add circle to line distance constraint Дадаць абмежаванне акружнасці да адлегласці акружнасці - - + + + + + Add length constraint Дадаць абмежаванне даўжыні - - + + + Dimension + Вымярэнне + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Дадаць кропку на абмежаванне аб'екта - - + + Add point to point horizontal distance constraint Дадаць абмежаванне кропкі да адлегласці па гарызанталі - + Add fixed x-coordinate constraint Дадаць фіксаванае абмежаванне x-каардынаты - - + + Add point to point vertical distance constraint Дадаць абмежаванне кропкі да адлегласці па вертыкалі - + Add fixed y-coordinate constraint Дадаць фіксаванае абмежаванне y-каардынаты - - + + Add parallel constraint Дадаць абмежаванні паралельнасці - - - - - - - + + + + + + + Add perpendicular constraint Дадаць абмежаванні перпендыкуляру - + Add perpendicularity constraint Дадаць абмежаванні перпендыкулярнасці - + Swap coincident+tangency with ptp tangency Памяняць супадзенне+дотык з дотыкам кропка-кропка - + Swap PointOnObject+tangency with point to curve tangency Памяняць КропкаНаАб'еце+дотык з кропкай дотыку крывой - - - - - - - + + + + + + + Add tangent constraint Дадаць абмежаванне датычнай - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Дадаць абмежаванне датычнай да кропкі - - - - + + + + Add radius constraint Дадаць абмежаванне радыусу - - - - + + + + Add diameter constraint Дадаць абмежаванне дыяметру - - - - + + + + Add radiam constraint Дадаць абмежаванне радыусу/дыяметру - - - - - - + + + + + + Add angle constraint Дадаць абмежаванне кута - - + + Add equality constraint Дадаць абмежаванне роўнасці - - - - - + + + + + Add symmetric constraint Дадаць абмежаванне сіметрычнасці - + Add Snell's law constraint Дадаць абмежаванне па закону Снеліуса - + Toggle constraint to driving/reference Пераключае абмежаванне паміж кіруючым і апорным - + Activate/Deactivate constraint Задзейнічаць/Адключыць абмежаванне - + Create a new sketch on a face Стварыць новы эскіз на грані - + Create a new sketch Стварыць новы эскіз - + Reorient sketch Пераарыентаваць эскіз - + Attach sketch Прымацаваць эскіз - + Detach sketch Адмацаваць эскіз - + Create a mirrored sketch for each selected sketch Стварыць сіметрычны эскіз для кожнага абранага эскіза - + Merge sketches Аб'яднаць эскізы @@ -1989,72 +2106,72 @@ invalid constraints, degenerated geometry, etc. Дадаць шасцікутнік - + Convert to NURBS Пераўтварыць у NURBS - + Increase spline degree Павялічыць ступень сплайна - + Decrease spline degree Паменшыць ступень сплайна - + Increase knot multiplicity Павялічвае кратнасць вузлоў - + Decrease knot multiplicity Памяншае кратнасць вузлоў - + Insert knot Уставіць вузел - + Join Curves Аб'яднаць Крывыя - + Exposing Internal Geometry Раскрыццё Ўнутранай геаметрыі - + Create symmetric geometry Стварыць сіметрычную геаметрыю - + Copy/clone/move geometry Скапіраваць/дубліраваць/рухаць геаметрыю - + Create copy of geometry Стварыць копію геаметрыі - + Delete all geometry Выдаліць усю геаметрыю - + Delete All Constraints Выдаліць усе абмежаванні - + Remove Axes Alignment Выдаліць выраўноўванне восяў @@ -2065,44 +2182,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Абнавіць абмежаванне віртуальнай прасторы - + Add auto constraints Дадаць аўтаматычныя абмежаванні - + Swap constraint names Памяняць імёны абмежаванняў - + Rename sketch constraint Пераназваць абмежаванні эскізу - + Drag Point Перацягнуць кропку - + Drag Curve Перацягнуць крывую - + Drag Constraint Перацягнуць абмежаванні - + Modify sketch constraints Змяніць абмежаванні эскізу @@ -2163,59 +2280,59 @@ invalid constraints, degenerated geometry, etc. Памылка аўтаматычнага абмежавання: Невырашальны эскіз пасля ўжывання абмежаванняў роўнасці. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Немагчыма разлічыць скрыжаванне крывых. Паспрабуйце дадаць абмежаванні супадзенняў паміж вяршынямі крывых, якія вы збіраецеся акругліць. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline ідэнтыфікатар геаметрыі (GeoID) знаходзіцца за межамі дапушчальных значэнняў. - + You are requesting no change in knot multiplicity. Вы не запытваеце аніякіх зменах у кратнасці вузлоў. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Ідэнтыфікатар геаметрыі (GeoId) не з'яўляецца крывой B-сплайна. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Індэкс вузла знаходзіцца за межамі дапушчальных значэнняў. Звярніце ўвагу, што ў адпаведнасці з назначэннем OCC першы вузел мае індэкс 1, а не 0. - + The multiplicity cannot be increased beyond the degree of the B-spline. Кратнасць не можа быць павялічана звыш ступені B-сплайна. - + The multiplicity cannot be decreased beyond zero. Кратнасць не можа быць паменшана ніжэй за 0. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OpenCASCADE не можа паменшыць кратнасць у межах найбольшай дакладнасці. - + Knot cannot have zero multiplicity. Вузел не можа мець нулявую кратнасць. - + Knot multiplicity cannot be higher than the degree of the BSpline. Кратнасць вузла не можа быць вышэй ступені B-сплайна. - + Knot cannot be inserted outside the BSpline parameter range. Вузел не можа быць устаўлены за межы дыяпазону наладаў B-сплайна. @@ -2231,210 +2348,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Варштат эскізу - + There are no modes that accept the selected set of subelements Адсутнічаюць рэжымы, якія прымаюць абраны набор укладзеных элементаў - + Broken link to support subelements Непрацуючая сувязь на падтрымку ўкладзеных элементаў - - + + Unexpected error Нечаканая памылка - + Face is non-planar Грань не плоская - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Абраныя фігуры маюць няправільную форму (напрыклад, выгнуты край, дзе патрэбна прамая) - + Sketch mapping Супастаўлены эскіз - + Can't map the sketch to selected object. %1. Не атрымалася супаставіць карту эскіза з абраным аб'ектам. %1. - - + + Don't attach Не прымацаваць + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Няправільны выбар @@ -2445,339 +2565,339 @@ invalid constraints, degenerated geometry, etc. Абраць рабро(-ы) на эскізе. - + Not allowed to edit the datum because the sketch contains conflicting constraints Не дазволена мяняць значэнні, паколькі эскіз мае канфлікты абмежаванняў - + Dimensional constraint Памернае абмежаванне - + Cannot add a constraint between two external geometries. Не атрымалася дадаць абмежаванне паміж дзвюма вонкавымі геаметрыямі. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Не атрымалася дадаць абмежаванне паміж дзвюма фіксаванымі геаметрыямі. Фіксаваная геаметрыя ўключае вонкавую геаметрыю, абмежаваную геаметрыю, альбо спецыяльныя кропкі, такія як вузлавыя кропкі B-сплайну. - + Sketcher Constraint Substitution Замена абмежаванняў Варштата эскізу - + Keep notifying me of constraint substitutions Працягнуць апавяшчаць мяне аб зменах абмежаванняў - - - + + + Only sketch and its support are allowed to be selected. Дазволена абіраць толькі эскіз і яго падтрымку. - + One of the selected has to be on the sketch. Адзін з абраных павінен быць на эскізе. - - + + Select an edge from the sketch. Абраць рабро на эскізе. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Немагчымае абмежаванне - - - - + + + + The selected edge is not a line segment. Абранае рабро не з'яўляецца адрэзкам лініі. - - - - - - + + + + + + Double constraint Залішняе абмежаванне - - - - - + + + + + The selected edge already has a horizontal constraint! Абранае рабро ўжо мае гарызантальнае абмежаванне! - - - + + + The selected edge already has a vertical constraint! Абранае рабро ўжо мае вертыкальнае абмежаванне! - - - - - - + + + + + + The selected edge already has a Block constraint! Абранае рабро ўжо мае абмежаванне руху! - + The selected item(s) can't accept a horizontal constraint! Абраны элемент(-ы) не можа прымаць гарызантальнае абмежаванне! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Абрана некалькі фіксаваных кропак. Абярыце найбольш адну фіксаваную кропку! - + The selected item(s) can't accept a vertical constraint! Абраны элемент(-ы) не можа прымаць вертыкальнае абмежаванне! - - - + + + Select vertices from the sketch. Абраць вяршыню на эскізе. - + Select one vertex from the sketch other than the origin. Абраць адну вяршыню з эскіза, акрамя кропкі пачатку каардынат. - + Select only vertices from the sketch. The last selected vertex may be the origin. Абраць толькі вяршыні з эскіза. Апошняя абраная вяршыня можа быць кропкай пачатку каардынат. - + Wrong solver status Няправільны статус сродку рашэння - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Абмежаванае абмежаванне не можа быць дададзена, калі эскіз не вырашаны альбо мае залішнія і абмежаванні, якія канфліктуюць. - + Select one edge from the sketch. Абраць адно рабро на эскізе. - + Select only edges from the sketch. Абраць толькі рэбры на эскізе. - + Number of selected objects is not 3 Колькасць абраных аб'ектаў не 3 - - - + + + Error Памылка - + Unexpected error. More information may be available in the Report View. Нечаканая памылка. Больш падрабязная інфармацыя можа быць даступная ў Праглядзе справаздачы. - + Endpoint to endpoint tangency was applied instead. Замест канчатковай кропкі ўжыты дотык да канчатковай кропкі. - + Select two or more points from the sketch. Абраць дзве ці болей кропак на эскізе. - + Select two or more vertices from the sketch. Абраць дзве ці болей вяршыні на эскізе. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Абраць дзве ці болей вяршыні на эскізе для абмежавання супадзення альбо дзве ці болей акружнасцяў, эліпсаў, дуг або дуг эліпса для канцэнтрычнага абмежавання. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Абраць дзве вяршыні на эскізе для абмежавання супадзення альбо дзве акружнасці, эліпсаў, дуг або дуг эліпса для канцэнтрычнага абмежавання. - + Select exactly one line or one point and one line or two points from the sketch. Абраць на эскізе адну лінію, альбо адну кропку і адну лінію, альбо дзве кропкі. - + Cannot add a length constraint on an axis! Не атрымалася дадаць абмежаванне даўжыні на вось! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Абраць на эскізе адну лінію, альбо адну кропку і адну лінію, альбо дзве кропкі, альбо дзве акружнасці. - + This constraint does not make sense for non-linear curves. Абмежаванне не мае сэнсу для нелінейных крывых. - + Endpoint to edge tangency was applied instead. Замест канчатковай кропкі ўжыты дотык да рабра. - - - - - - - + + + + + + + Select the right things from the sketch. Абраць неабходныя аб'екты на эскізе. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Абраць рабро, якое не з'яўляецца вагой B-сплайна. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Ні адна з абраных кропак не была абмежаваная адпаведнымі крывымі, таму што яны з'яўляюцца часткамі аднаго і таго ж элемента, таму што яны абодва з'яўляюцца вонкавай геаметрыяй альбо таму, што рабро не падыходзіць. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Ні адна з абраных кропак не была абмежаваная адпаведнымі крывымі, альбо таму што яны з'яўляюцца часткамі аднаго і таго ж элемента, альбо таму што яны абодва з'яўляюцца вонкавай геаметрыяй. - - - - + + + + Select exactly one line or up to two points from the sketch. Абраць на эскізе адну лінію, альбо не болей дзвюх кропак. - + Cannot add a horizontal length constraint on an axis! Не атрымалася дадаць гарызантальнае абмежаванне даўжыні на вось! - + Cannot add a fixed x-coordinate constraint on the origin point! Не атрымалася дадаць фіксаванае абмежаванне каардынаты X да кропкі пачатку каардынат! - - + + This constraint only makes sense on a line segment or a pair of points. Абмежаванне мае сэнс толькі для адрэзка лініі ці пары кропак. - + Cannot add a vertical length constraint on an axis! Не атрымалася дадаць вертыкальнае абмежаванне даўжыні на вось! - + Cannot add a fixed y-coordinate constraint on the origin point! Не атрымалася дадаць фіксаванае абмежаванне каардынаты Y да кропкі пачатку каардынат! - + Select two or more lines from the sketch. Абраць дзве ці болей ліній на эскізе. - - + + Select at least two lines from the sketch. Абраць па крайняй меры дзве лініі на эскізе. - + Select a valid line. Абраць дапушчальную лінію. - - + + The selected edge is not a valid line. Абранае рабро не з'яўляецца дапушчальнай ліняй. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2787,42 +2907,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Дапушчальныя камбінацыі: дзве крывыя; канчатковая кропка і крывая; дзве канчатковыя кропкі; дзве крывыя і кропка. - + Select some geometry from the sketch. perpendicular constraint Абраць некаторую геаметрыю на эскізе. - - + + Cannot add a perpendicularity constraint at an unconnected point! Не атрымалася дадаць абмежаванне перпендыкулярнасці ў нязлучанай кропцы! - - - + + + Perpendicular to B-spline edge currently unsupported. Перпендыкуляр да рабра B-сплайна ў бягучым часе не падтрымліваецца. - - + + One of the selected edges should be a line. Адно з абраных рэбраў павінна быць лініяй. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Ужыты дотык канчатковай кропкі да канчатковай кропкі. Абмежаванне супадзення было выдалена. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Ужыты дотык канчатковай кропкі да рабра. Абмежаванне кропкі на аб'екце было выдалена. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2832,179 +2952,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Дапушчальныя камбінацыі: дзве крывыя; канчатковая кропка і крывая; дзве канчатковыя кропкі; дзве крывыя і кропка. - + Select some geometry from the sketch. tangent constraint Абраць некаторую геаметрыю на эскізе. - - - + + + Cannot add a tangency constraint at an unconnected point! Не атрымалася дадаць абмежаванне дотыку ў нязлучанай кропцы! - - + + Tangent constraint at B-spline knot is only supported with lines! Датычная абмежаванне ў вузле B-сплайна падтрымліваецца толькі лініямі! - + B-spline knot to endpoint tangency was applied instead. Замест вузла B-сплайну ўжыты дотык да канчатковай кропкі. - + Select either one point and several curves, or one curve and several points. Абраць альбо адну кропку і некалькі крывых, альбо адну крывую і некалькі кропак. - - + + Wrong number of selected objects! Няправільная колькасць абраных аб'ектаў! - - + + With 3 objects, there must be 2 curves and 1 point. З 3 аб'ектамі павінна быць 2 крывыя і 1 кропка. - - - + + + Tangency to B-spline edge currently unsupported. Дотык да рабра B-сплайна ў бягучым часе не падтрымліваецца. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Абраць адну ці болей дуг альбо акружнасцяў на эскізе. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Абраці альбо толькі адзін ці некалькі палюсоў B-сплайну, альбо толькі адну ці некалькі дуг або акружнасцяў на эскізе, але не змешаных. - - - + + + Constraint only applies to arcs or circles. Абмежаванне прымяняецца толькі на дугах ці акружнасцях. - - + + Select one or two lines from the sketch. Or select two edges and a point. Абраць адну ці дзве лініі, альбо дзве крывыя і кропку. - - + + Parallel lines Паралельныя лініі - - + + An angle constraint cannot be set for two parallel lines. Не атрымалася задаць абмежаванне вугла паміж паралельнымі лініямі. - + Cannot add an angle constraint on an axis! Не атрымалася дадаць абмежаванне вугла на вось! - + Select two edges from the sketch. Абраць два рабра на эскізе. - + Select two or more compatible edges. Абраць два ці больш сумяшчальных рабра. - + Sketch axes cannot be used in equality constraints. Восі эскізу нельга ўжываць у абмежаваннях роўнасці. - + Equality for B-spline edge currently unsupported. Абмежаванні роўнасці на рэбры B-сплайна ў бягучым часе не падтрымліваецца. - - - + + + + Select two or more edges of similar type. Абярыце два ці больш рэбраў аналагічнага тыпу. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Абярыце на эскізе дзве кропкі і лінію сіметрыі, альбо дзве кропкі і кропку сіметрыі, альбо лінію і кропку сіметрыі. - - + + Cannot add a symmetry constraint between a line and its end points. Не атрымалася дадаць абмежаванне сіметрыі паміж лініяй і яе канчатковымі кропкамі. - - + + + + Cannot add a symmetry constraint between a line and its end points! Не атрымалася дадаць абмежаванне сіметрыі паміж лініяй і яе канчатковымі кропкамі! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Абраць дзве канчатковыя кропкі ліній, якія будуць дзейнічаць як прамяні, і рабро, якое прадстаўляе мяжу. Першая абраная кропка адпавядае індэксу n1, другая - n2, а апорнае значэнне вызначаецца суадносінамі n2/n1. - + Selected objects are not just geometry from one sketch. Абраныя аб'екты не з'яўляюцца проста геаметрыяй з аднаго эскіза. - + Cannot create constraint with external geometry only. Не атрымалася стварыць абмежаванне з ужываннем толькі вонкавай геаметрыі. - + Incompatible geometry is selected. Абрана несумяшчальная геаметрыя. - + SnellsLaw on B-spline edge is currently unsupported. Закон Снеліуса для рабра B-сплайна ў бягучым часе не падтрымліваецца. - - - - - + + + + + Select constraints from the sketch. Абраць абмежаванне на эскізе. @@ -3026,155 +3149,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Вызначыць ступень B-сплайну, паміж 1 і %1: + + - - CAD Kernel Error Памылка ядра CAD - + None of the selected elements is an edge. Ні адзін з абраных элементаў не з'яўляецца рабром. - - + + At least one of the selected objects was not a B-Spline and was ignored. Прынамсі, адзін з абраных аб'ектаў не B-сплайн, і быў прапушчаны. - - + + The selection comprises more than one item. Please select just one knot. Абрана больш аднаго элемента. Калі ласка, абярыце толькі адзін вузел. - - + + Input Error Памылка ўводу - - + + None of the selected elements is a knot of a B-spline Ні адзін з абраных элементаў не з'яўляецца вузлом B-сплайна - - + + Selection is empty Выбар пусты - + Nothing is selected. Please select a b-spline. Нічога на абрана. Калі ласка, абярыце B-сплайн. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Калі ласка, абярыце крывую B-сплайна, каб уставіць вузел (вузел не на ім). Калі крывая не з'яўляецца B-сплайнам, калі ласка, спачатку пераўтварыце яе. - + Nothing is selected. Please select end points of curves. Нічога не абрана. Калі ласка, абярыце канчатковыя кропкі крывых. - + Too many curves on point Занадта шмат крывых у кропцы - - + + Exactly two curves should end at the selected point to be able to join them. Дзве крывыя павінны заканчвацца ў абранай кропцы, каб іх можна было аб'яднаць. - + Too few curves on point Занадта мала крывых у кропцы - + Two end points, or coincident point should be selected. Варта выбраць дзве канчатковыя кропкі альбо супадальную кропку. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Абраць элементы з аднаго эскізу. - + No constraint selected Не абрана абмежаванняў - + At least one constraint must be selected Павінна быць абрана, па меншай меры, адно абмежаванне - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Будаўнічая сіметрыя патрабуе, па меншай меры, дзвюх геаметрычных элементаў, прычым апошні геаметрычны элемент з'яўляецца эталонам для будаўнічай сіметрыі. - + The last element must be a point or a line serving as reference for the symmetry construction. Апошнім элементам павінны быць кропка ці лінія, які служыць арыенцірам для будаўнічай сіметрыі. - - + + A copy requires at least one selected non-external geometric element Для капіравання патрабуецца, па меншай меры, адзін абраны не вонкавы геаметрычны элемент - + Delete All Geometry Выдаліць усю Геаметрыю - + Are you really sure you want to delete all geometry and constraints? Вы ўпэўненыя, што жадаеце выдаліць усю геаметрыю і абмежаванні? - + Delete All Constraints Выдаліць усе абмежаванні - + Are you really sure you want to delete all the constraints? Вы ўпэўненыя, што жадаеце выдаліць усе абмежаванні? - + Removal of axes alignment requires at least one selected non-external geometric element Для выдалення выраўноўвання восяў патрабуецца, па меншай меры, адзін абраны не вонкавы геаметрычны элемент - + Unsupported visual layer operation Аперацыя візуальнага пласта не падтрымліваецца - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted У бягучым часе не падтрымліваецца рух вонкавай геаметрыі на іншы візуальны пласт. Вонкавая геаметрыя будзе апушчаная @@ -3254,7 +3377,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Coincident - Coincident + Супадзенне @@ -3274,12 +3397,12 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Parallel - Parallel + Паралельна Perpendicular - Перпендыкуляр + Перпендыкулярна @@ -3324,7 +3447,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Distance - Distance + Адлегласць @@ -3334,7 +3457,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Weight - Вага + Таўшчыня @@ -3375,67 +3498,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Абраць элементы - + Change value Змяніць значэнне - + Toggle to/from reference Пераключэнне з апорнага і наадварот - + Deactivate Адключыць - + Activate Задзейнічаць - + Show constraints Паказаць абмежаванні - + Hide constraints Схаваць абмежаванні - + Rename Пераназваць - + Center sketch Па цэнтру эскіза - + Delete Выдаліць - + Swap constraint names Памяняць імёны абмежаванняў - + Unnamed constraint Неназванае абмежаванне - + Only the names of named constraints can be swapped. Можна памяняць месцамі толькі імёны названых абмежаванняў. @@ -3443,74 +3566,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle Уставіць вугал - + Angle: Вугал: - + Insert radius Уставіць радыус - + Radius: Радыус: - + Insert diameter Уставіць дыяметр - + Diameter: Дыяметр: - + Insert weight Уставіць вагу - + Weight: Вага: - + Refractive index ratio Constraint_SnellsLaw Суадносіны каэфіцыента праламлення - + Ratio n2/n1: Constraint_SnellsLaw Суадносіны n2/n1: - + Insert length Уставіць даўжыню - + Length: - Length: + Даўжыня: - + Refractive index ratio Суадносіны каэфіцыента праламлення - + Ratio n2/n1: Суадносіны n2/n1: @@ -3518,72 +3641,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal Звычайны - + Construction Будаўнічы - + Internal Унутраны - + External Вонкавы - + All types Усе тыпы - + Point Кропка - + Line Лінія - + Circle Акружнасць - + Ellipse Эліпс - + Arc of circle Дуга акружнасці - + Arc of ellipse Дуга эліпса - + Arc of hyperbola Дуга гіпербалы - + Arc of parabola Дуга парабалы - + B-Spline B-сплайн @@ -3591,142 +3714,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Супадзенне кропак - + Point on Object Кропка на аб'екце - + Vertical Constraint Абмежаванне вертыкальнасці - + Horizontal Constraint Абмежаванне гарызантальнасці - + Parallel Constraint Абмежаванне паралельнасці - + Perpendicular Constraint Абмежаванне перпендыкулярнасці - + Tangent Constraint Абмежаванне датычнасці - + Equal Length Аднолькавая даўжыня - + Symmetric Сіметрычна - + Block Constraint Абмежаванае абмежаванне - + Lock Constraint Абмежаванне блакавання - + Horizontal Distance Адлегласць па гарызанталі - + Vertical Distance Адлегласць па вертыкалі - + Length Constraint Абмежаванне даўжыні - + Radius Constraint Абмежаванне радыусу - + Diameter Constraint Абмежаванне дыяметру - + Radiam Constraint Абмежаванне радыусу/дыяметру - + Angle Constraint Абмежаванне вугла - + Toggle construction geometry Пераключыць будаўнічую геаметрыю - + Select Constraints Абраць абмежаванні - + Select Origin Абраць пачатак каардынат - + Select Horizontal Axis Абраць гарызантальную вось - + Select Vertical Axis Абраць вертыкальную вось - + Layer Пласт - + Layer 0 Пласт 0 - + Layer 1 Пласт 1 - + Hidden - Нябачныя + Нябачны - + Delete Выдаліць @@ -3944,7 +4067,7 @@ reflected on copies General - Асноўныя + Агульны @@ -4010,13 +4133,82 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Апавяшчаць аб аўтаматычных заменах абмежаванняў + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Абодва + + + + Auto + Аўтаматычнае + + + + Diameter + Дыяметр + + + + Radius + Радыус + SketcherGui::SketcherSettingsColors Colors - Выдзяленне колерам + Колеры @@ -4090,7 +4282,7 @@ Requires to re-enter edit mode to take effect. Vertex - Vertex + Вяршыня @@ -4455,12 +4647,12 @@ Then objects are only visible behind the sketch plane. Ужыць да існуючым эскізам - + Unexpected C++ exception Нечаканае выключэнне C++ - + Sketcher Варштат эскізу @@ -4633,48 +4825,48 @@ However, no constraints linking to the endpoints were found. Налады - + Constraints Constraints - + Auto constraints Аўтаматычныя абмежаванні - + Auto remove redundants Аўтаматычнае знішчэнне залішніх - + Show only filtered Constraints Паказаць толькі фільтраваныя абмежаванні - + Extended information (in widget) Пашыраная інфармацыя (у віджэце) - + Hide internal alignment (in widget) Схаваць унутранае выраўноўванне (у віджэце) - - + + Error Памылка - + Impossible to update visibility tracking Немагчыма абнавіць адсочванне бачнасці - + Impossible to update visibility tracking: Немагчыма абнавіць адсочванне бачнасці: @@ -4706,6 +4898,33 @@ However, no constraints linking to the endpoints were found. Settings Налады + + + + + + + + + + + + Construction + Будаўнічы + + + + Elements + Элементы + + + + + + + Point + Кропка + @@ -4717,110 +4936,83 @@ However, no constraints linking to the endpoints were found. - Construction - Будаўнічы - - - - Elements - Элементы - - - - - - - Point - Кропка - - - - - - - - - - - - Internal Унутраны - - + + + - Line Лінія - - + + + - Arc Дуга - - + + + - Circle Акружнасць - - + + + - Ellipse Эліпс - - + + + - Elliptical Arc Эліптычная дуга - - + + + - Hyperbolic Arc Гіпербалічная дуга - - + + + - Parabolic Arc Парабалічная дуга - - + + + - BSpline B-сплайн - - + + + - Other Іншы - + Extended information Пашыраная інфармацыя @@ -4828,42 +5020,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Паведамленні сродку рашэння - + Auto update Аўтаматычнае абнаўленне - + Executes a recomputation of active document after every sketch action Выканаць паўторны разлік бягучага дакумента пасля кожнага дзеяння эскіза - + Click to select the conflicting constraints. Націсніце, каб абраць абмежаванні, якія канфліктуюць. - + Click to select the redundant constraints. Націсніце, каб абраць залішнія абмежаванні. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. У эскізе прысутнічаюць неабмежаваныя элементы, якія надаюць ступені свабоды. Націсніце, каб абраць неабмежаваныя элементы. - + Click to select the malformed constraints. Націсніце, каб абраць скажоныя абмежаванні. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Некаторыя абмежаванні ў спалучэнні часткова залішнія. Націсніце, каб абраць часткова залішнія абмежаванні. @@ -5041,112 +5233,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Змяніць эскіз - + A dialog is already open in the task panel A dialog is already open in the task panel - + Do you want to close this dialog? Do you want to close this dialog? - + Invalid sketch Хібны эскіз - + Do you want to open the sketch validation tool? Адчыніць інструмент праверкі эскіза? - + The sketch is invalid and cannot be edited. Эскіз хібны і не можа быць зменены. - + Please remove the following constraint: Калі ласка, выдаліце наступнае абмежаванне: - + Please remove at least one of the following constraints: Калі ласка, выдаліце, прынамсі, адное з наступных абмежаванняў: - + Please remove the following redundant constraint: Калі ласка, выдаліце наступнае залішняе абмежаванне: - + Please remove the following redundant constraints: Калі ласка, выдаліце наступныя залішнія абмежаванні: - + The following constraint is partially redundant: Наступнае абмежаванне часткова залішняе: - + The following constraints are partially redundant: Наступныя абмежаванні часткова залішнія: - + Please remove the following malformed constraint: Калі ласка, выдаліце наступнае скажонае абмежаванне: - + Please remove the following malformed constraints: Калі ласка, выдаліце наступныя скажоныя абмежаванні: - + Empty sketch Пусты эскіз - + Over-constrained: Празмерна-абмежаваны: - + Malformed constraints: Скажоныя абмежаванні: - + Redundant constraints: Залішнія абмежаванні: - + Partially redundant: Часткова залішнія: - + Solver failed to converge Сродку рашэння не атрымалася сысціся - + Under constrained: Ва ўмовах абмежавання: - + %n DoF(s) %n ступень свабоды @@ -5156,7 +5348,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Цалкам абмежаваны @@ -5164,8 +5356,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Пераключэнне паміж паказваннем і хаваннем грабянца крывізны для ўсіх B-сплайнаў @@ -5173,8 +5365,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Памяншае кратнасць абранага вузла B-сплайна @@ -5182,8 +5374,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Пераключэнне паміж паказваннем і хаваннем ступеняў для ўсіх B-сплайнаў @@ -5191,8 +5383,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Павялічвае кратнасць абранага вузла B-сплайна @@ -5200,8 +5392,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Пераключэнне паміж паказваннем і хаваннем кратнасці вузлоў для ўсіх B-сплайнаў @@ -5209,8 +5401,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Пераключэнне паміж адлюстраваннем і хаваннем вагі кантрольнай кропкі для ўсіх B-сплайнаўпаказваннем @@ -5218,8 +5410,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Пераключэнне паміж паказваннем і хаваннем палігона кіравання для ўсіх B-сплайнаў @@ -5227,8 +5419,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Стварае клон геаметрыі, у якасці эталону ўжывае апошнюю абраную кропку @@ -5236,17 +5428,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Дублікат - + Copy Скапіраваць - + Move Рухаць @@ -5254,8 +5446,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Задаць дыяметр акружнасці ці дугі @@ -5263,7 +5455,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Задаць радыус/дыяметр акружнасці ці дугі @@ -5271,8 +5463,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Задаць радыус акружнасці ці дугі @@ -5280,7 +5472,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Задаць радыус/дыяметр акружнасці ці дугі @@ -5288,8 +5480,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Стварае просты клон геаметрыі, у якасці эталону бярэ апошнюю абраную кропку @@ -5508,64 +5700,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Эскіз не знойдзены - + The document doesn't have a sketch У дакуменце адсутнічае эскіз - + Select sketch Абраць эскіз - + Select a sketch from the list Абраць эскіз з спісу - + (incompatible with selection) (несумяшчальны з выбарам) - + (current) (бягучы) - + (suggested) (прапанаваны) - + Sketch attachment Прымацаваны эскіз - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Бягучы рэжым укладання несумяшчальны з новым выбарам. Абярыце спосаб прымацавання эскіза да абраных аб'ектаў. - + Select the method to attach this sketch to selected objects. Абраць спосаб прымацавання эскіза да абраных аб'ектаў. - + Map sketch Супаставіць эскіз - + Can't map a sketch to support: %1 Не атрымалася супаставіць эскіз для падтрымкі: @@ -5575,8 +5767,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Рухаць геаметрыю, у якасці эталону ўжывае апошнюю абраную кропку @@ -5584,12 +5776,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Прымацаваны эскіз - + Select the method to attach this sketch to selected object Абраць спосаб прымацавання эскіза да абранага аб'екта @@ -5597,12 +5789,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Эскіз мае падтрымку - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Эскіз з падтрымкай граняў не можа быць пераарыентаваным. @@ -5611,11 +5803,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Форма - DOF @@ -5624,7 +5811,7 @@ Do you want to detach it from the support? Link - Сувязь + Злучыць @@ -5634,11 +5821,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Форма - Default algorithm used for Sketch solving @@ -5911,7 +6093,7 @@ Eigen Sparse QR - аптымізаваны для разрэджаных мат ViewProviderSketch - + and %1 more і яшчэ %1 @@ -6063,7 +6245,7 @@ The grid spacing change if it becomes smaller than this number of pixel. Line pattern - Лінейны ўзор + Лінейны шаблон @@ -6101,22 +6283,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Аўтаматычная адлегласць паміж лініямі сеткі - + Resize grid automatically depending on zoom. Аўтаматычная змена памеру сеткі ў залежнасці ад маштабавання. - + Spacing Адлегласць - + Distance between two subsequent grid lines. Адлегласць паміж дзвюма суседнімі лініямі сеткі. @@ -6124,87 +6306,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! Эскіз мае скажоныя абмежаванні! - + The Sketch has partially redundant constraints! Эскіз мае часткова залішнія абмежаванні! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Парабалы былі перанесены. Перанесеныя файлы не будуць адчыняцца ў папярэдніх версіях FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Памылка - + Failed to delete all geometry Не атрымалася выдаліць усю геаметрыю - + Failed to delete all constraints Не атрымалася выдаліць усе абмежаванні - + The constraint has invalid index information and is malformed. Абмежаванне змяшчае недапушчальную інфармацыю аб індэксе і з'яўляецца скажоным. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Хібнае абмежаванне @@ -6246,8 +6428,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Памылка стварэння полюса B-сплайну - + Error creating B-spline Памылка стварэння B-сплайну @@ -6300,7 +6482,7 @@ The grid spacing change if it becomes smaller than this number of pixel. Failed to create fillet - Не атрымалася стварыць акругленне + Немагчыма стварыць акругленне @@ -6344,9 +6526,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Немагчыма абрэзаць рабро - - - + + + Value Error Памылка значэння @@ -6382,34 +6564,34 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Прывязаць да аб'ектаў - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Новыя кропкі будуць прывязаныя да бягучага папярэдне абранага аб'екту. Яны таксама будзе прывязаныя да сярэдзіны ліній і дуг. - + Snap to grid Прывязаць да сеткі - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Новыя кропкі будуць прывязаныя да бліжэйшай лініі сеткі. Каб прывязаць, кропкі павінны быць зададзены бліжэй, чым на пятую частку адлегласці сеткі да лініі прывязкі. - + Snap angle Прывязаць да вугла - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Вуглавы крок для інструментаў, якія ўжываюць 'Прывязаць да вугла' (напрыклад, лінія). Утрымлівайце клавішу <Ctrl>, каб уключыць 'Прывязаць да вугла'. @@ -6418,24 +6600,24 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna RenderingOrderAction - - - - - Normal Geometry - Звычайная геаметрыя - - Construction Geometry - Будаўнічая геаметрыя + Normal Geometry + Звычайная геаметрыя + Construction Geometry + Будаўнічая геаметрыя + + + + + External Geometry Вонкавая геаметрыя @@ -6456,12 +6638,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Пераключыць сетку - + Toggle the grid in the sketch. In the menu you can change grid settings. Пераключыць сетку ў эскізе. У меню вы можаце змяніць налады сеткі. @@ -6470,12 +6652,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Пераключыць прывязку - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Пераключыць усе функцыі прывязкі. У меню вы можаце пераключыць 'Ппрывязку да сеткі' і 'Прывязку да аб'ектаў' паасобку, а таксама змяніць дадатковыя налады прывязкі. @@ -6507,4 +6689,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Стварыць перыядычны B-сплайн па вузлах, гэта значыць шляхам інтэрпаляцыі ў эскізе. + + CmdSketcherDimension + + + Dimension + Вымярэнне + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ca.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ca.ts index e61483e06f..5d0f4e571c 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ca.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ca.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Mostra/Amaga la nansa de curvatura del B-spline - + Switches between showing and hiding the curvature comb for all B-splines Canvia entre mostrar i amagar la Pinta de curvatura per a tots els B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Mostra/Amaga el grau del B-spline - + Switches between showing and hiding the degree for all B-splines Canvia entre mostrar i amagar els graus per a totes les B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Mostra/oculta la multiplicitat de nus del B-spline - + Switches between showing and hiding the knot multiplicity for all B-splines Canvia entre mostrar i amagar la multiplicitat del nus per a totes les B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Mostra/Amaga el punt de control de pesos del B-spline - + Switches between showing and hiding the control point weight for all B-splines Canvia entre mostrar i amagar el punt de control de pes per a totes els B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Mostra/Amaga el polígon de control de la B-spline - + Switches between showing and hiding the control polygons for all B-splines Canvia entre mostrar i amagar els polígons de control per a totes les B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Clona - + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometria prenent com a referència l'últim punt seleccionat @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Mostra/Amaga la capa d'informació del B-spline - + Show/hide B-spline degree Mostra/Amaga el grau del B-spline - + Show/hide B-spline control polygon Mostra/Amaga el polígon de control de la B-spline - + Show/hide B-spline curvature comb Mostra/Amaga la nansa de curvatura del B-spline - + Show/hide B-spline knot multiplicity Mostra/oculta la multiplicitat de nus del B-spline - + Show/hide B-spline control point weight Mostra/Amaga el punt de control de pesos del B-spline @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Restringeix l'arc o la circumferència - + Constrain an arc or a circle Restringeix un arc o una circumferència - + Constrain radius Restringeix el radi - + Constrain diameter Restringeix el diàmetre - + Constrain auto radius/diameter Limiteu el radi/diàmetre automàtic @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Clona - + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometria prenent com a referència l'últim punt seleccionat @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modifica la multiplicitat del nus - + Modifies the multiplicity of the selected knot of a B-spline Modifica la multiplicitat del nus seleccionat d'un B-spline - + Increase knot multiplicity Augmenta la multiplicitat del nus - + Decrease knot multiplicity Redueix la multiplicitat del nus @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Restricció de angle - + Fix the angle of a line or the angle between two lines Fixa l'angle d'una línia o l'angle entre dues línies @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Restringeix el bloc - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Restricció coincident - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Crea una restricció coincident entre punts o una restricció concèntrica entre cercles, arcs i el·lipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Restringeix el diàmetre - + Fix the diameter of a circle or an arc Fixa el diàmetre d'un cercle o d'un arc @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Restricció de distància - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Constrain horizontal distance - + Fix the horizontal distance between two points or line ends Fixa la distància horitzontal entre dos punts o extrems de línia @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Restringir la distància vertical - + Fix the vertical distance between two points or line ends Fixa la distància vertical entre dos punts o extrems de línia @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Restricció igual - + Create an equality constraint between two lines or between circles and arcs Crea una restricció d'igualtat entre dues línies o entre cercles i arcs @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Restricció horitzontal - + Create a horizontal constraint on the selected item Crea una restricció horitzontal en l'element seleccionat @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Restricció de bloqueig - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Restricció de parel·lelisme - + Create a parallel constraint between two lines Crea una restricció de paral·lelisme entre dues línies @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Restricció de perpendicularitat - + Create a perpendicular constraint between two lines Crea una restricció de perpendicularitat entre dues línies @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Restricció d'un punt sobre l'objecte - + Fix a point onto an object Fixa un punt sobre un objecte @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Limiteu el radi/diàmetre automàtic - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Restricció de radi o pes - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Corretgir el radi d'un cercle o un arc o fixar el pes d'un poste o d'una B-spline @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Restricció de simetria - + Create a symmetry constraint between two points with respect to a line or a third point Crea una restricció de simetria entre dos punts respecte a una línia o a un tercer punt @@ -614,12 +614,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Restricció tangent - + Create a tangent constraint between two entities Crea una restricció tangent entre dues entitats @@ -627,12 +627,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Restricció veertical - + Create a vertical constraint on the selected item Crea una restricció vertical en l'element seleccionat @@ -640,12 +640,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Converteix la geometria a B-spline - + Converts the selected geometry to a B-spline Converteix la geometria seleccionada a B-spline @@ -653,12 +653,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Copia - + Creates a simple copy of the geometry taking as reference the last selected point Crea una còpia simple de la geometria prenent com a referència l'últim punt seleccionat @@ -1017,12 +1017,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Reduïr el grau de B-spline - + Decreases the degree of the B-spline Disminueix el grau d'una B-spline @@ -1030,12 +1030,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Redueix la multiplicitat del nus - + Decreases the multiplicity of the selected knot of a B-spline Redueix la multiplicitat del nus seleccionat d'un B-spline @@ -1043,12 +1043,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Esborra totes les restriccions - + Delete all constraints in the sketch Esborra totes les restriccions en el croquis @@ -1056,12 +1056,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Esborra tota la geometria - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Esborra tota la geometria i restriccions en el croquis actual, excepte la geometria externa @@ -1069,12 +1069,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Editar croquis - + Edit the selected sketch. Edita el croquis seleccionat. @@ -1108,12 +1108,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Augmenta el grau de la B-spline - + Increases the degree of the B-spline Augmenta el grau del B-spline @@ -1121,12 +1121,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Augmenta la multiplicitat del nus - + Increases the multiplicity of the selected knot of a B-spline Augmenta la multiplicitat del nus seleccionat d'un B-spline @@ -1134,12 +1134,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Inserir node - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Insereix un nus al paràmetre donat. Si ja existeix un node en aquest paràmetre, la seva multiplicitat augmenta en un. @@ -1147,12 +1147,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1160,12 +1160,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Sortir del croquis - + Finish editing the active sketch. Finalitza l'edició del croquis actiu. @@ -1173,12 +1173,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Mapa el croquis a una cara... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1186,7 +1186,7 @@ then call this command, then choose the desired sketch. Primer seleccioneu la geometria de suport, per exemple, una cara, una aresta o un objecte sòlid, després executeu aquesta ordre, i aleshores trieu el croquis que desitgeu. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Alguns dels objectes seleccionats depenen del croquis que es vol mapejar. No es permeten dependències circulars. @@ -1194,22 +1194,22 @@ Primer seleccioneu la geometria de suport, per exemple, una cara, una aresta o u CmdSketcherMergeSketches - + Merge sketches Fusionar esbossos - + Create a new sketch from merging two or more selected sketches. Crea un croquis nou fusionant dos o més corquis seleccionats. - + Wrong selection Selecció incorrecta - + Select at least two sketches. Trieu com a mínim dos croquis. @@ -1217,12 +1217,12 @@ Primer seleccioneu la geometria de suport, per exemple, una cara, una aresta o u CmdSketcherMirrorSketch - + Mirror sketch Reflecteix el croquis - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1231,12 +1231,12 @@ usant els eixos X o Y, o el punt d'origen com a referencia per reflectir. - + Wrong selection Selecció incorrecta - + Select one or more sketches. Trieu un o més croquis. @@ -1244,12 +1244,12 @@ com a referencia per reflectir. CmdSketcherMove - + Move Mou - + Moves the geometry taking as reference the last selected point Mou la geometria prenent com a referència l'últim punt seleccionat @@ -1257,12 +1257,12 @@ com a referencia per reflectir. CmdSketcherNewSketch - + Create sketch Crear croquis - + Create a new sketch. Crea un croquis nou. @@ -1270,12 +1270,12 @@ com a referencia per reflectir. CmdSketcherRectangularArray - + Rectangular array Matriu rectangular - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Crea un patró de matriu rectangular de la geometria prenent com a referència l'últim punt seleccionat @@ -1283,12 +1283,12 @@ com a referencia per reflectir. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Elimina l'alineació dels eixos - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifica les restriccions per eliminar l'alineació dels eixos mentre s'intenta preservar la relació de restriccions de la selecció @@ -1296,12 +1296,12 @@ com a referencia per reflectir. CmdSketcherReorientSketch - + Reorient sketch... Reorientar el croquis... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Situa el croquis seleccionat en un dels plans de coordenades globals. @@ -1311,12 +1311,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Mostra o amaga la geometria interna - + Show all internal geometry or hide unused internal geometry Mostra tota la geometria interna, o amaga la geometria interna que no s'utilitza @@ -1324,8 +1324,8 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Selecciona les restriccions en confilcte @@ -1333,12 +1333,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectConstraints - + Select associated constraints Selecciona les restriccions associades - + Select the constraints associated with the selected geometrical elements Selecciona les restriccions associades amb els elements geomètrics seleccionats @@ -1346,12 +1346,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Selecciona la geometria associada - + Select the geometrical elements associated with the selected constraints Selecciona els elements geomètrics associats a les restriccions seleccionades @@ -1359,12 +1359,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Selecciona graus de llibertat sense restriccions - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Selecciona elements geomètrics on el sistema de resolució encara detecta graus de llibertat sense restricció. @@ -1372,12 +1372,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Selecciona l'eix horitzontal - + Select the local horizontal axis of the sketch Selecciona l'eix horitzontal local del croquis @@ -1385,8 +1385,8 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Selecciona restriccions defectuoses @@ -1394,12 +1394,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectOrigin - + Select origin Seleccionar origen - + Select the local origin point of the sketch Selecciona el punt d'origen local del croquis @@ -1407,8 +1407,8 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Selecciona restriccions parcialment redundants @@ -1416,8 +1416,8 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Selecciona restriccions redundants @@ -1425,12 +1425,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSelectVerticalAxis - + Select vertical axis Selecciona l'eix vertical - + Select the local vertical axis of the sketch Selecciona l'eix vertical local del croquis @@ -1451,12 +1451,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherStopOperation - + Stop operation Atura l'operació - + When in edit mode, stop the active operation (drawing, constraining, etc.). Dins del mode d'edició, atura l'operació activa (dibuixar, restringir, etc.). @@ -1477,12 +1477,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherSymmetry - + Symmetry Simetria - + Creates symmetric geometry with respect to the last selected line or point Crea una geometria simètrica respecte a l'última línia o punt seleccionats @@ -1490,12 +1490,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activa/desactiva la restricció - + Activates or deactivates the selected constraints Activa o desactiva les restriccions seleccionades @@ -1516,12 +1516,12 @@ Això esborrarà la propietat 'Suport', si existeix. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Canvia la restricció de guia a referència - + Set the toolbar, or the selected constraints, into driving or reference mode Estableix la barra d'eines o les restriccions seleccionades, en mode guia o referència @@ -1543,24 +1543,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Valida el croquis... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Valida el croquis cercant coincidències que manquen, restriccions invàlides, geometries degenerades, etc. - + Wrong selection Selecció incorrecta - + Select only one sketch. Trieu només un croquis. @@ -1568,12 +1568,12 @@ restriccions invàlides, geometries degenerades, etc. CmdSketcherViewSection - + View section Visualitzar la secció - + When in edit mode, switch between section view and full view. En mode d'edició, canvia entre vista de secció o vista general. @@ -1581,12 +1581,12 @@ restriccions invàlides, geometries degenerades, etc. CmdSketcherViewSketch - + View sketch Visualitza el croquis - + When in edit mode, set the camera orientation perpendicular to the sketch plane. En el mode edició, ajusta l'orientació de la càmera perpendicular al pla del croquis. @@ -1594,287 +1594,404 @@ restriccions invàlides, geometries degenerades, etc. Command - - + + Add horizontal constraint Afegeix restricció horitzontal - - - + + + Add horizontal alignment Afegeix alinieació horitzontal - - + + Add vertical constraint Afegeix restricció vertical - + Add vertical alignment Afegeix alineació vertical - + Add 'Lock' constraint Afegir restricció 'Bloquejar' - + Add relative 'Lock' constraint Afegeix una restricció de bloqueig relatiu - + Add fixed constraint Afegir restricció fixa - + Add 'Block' constraint Afegir restricció 'Bloqueig' - + Add block constraint Afegir restricció de Bloqueig - - - + + + Add coincident constraint Afegir restricció de coincidència - - + + Add distance from horizontal axis constraint Afegir distancia des-de la restricció del eix horitzontal - - + + Add distance from vertical axis constraint Afegir distancia des-de la restricció del eix vertical - - + + Add point to point distance constraint Afegeix una restricció de distància entre dos punts - - + + + Add point to line Distance constraint Afegeix una restricció de distància de punt a línia - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint Afegeix una restricció de longitud - - + + + Dimension + Cota + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Afegeix una restricció de punt sobre l'objecte - - + + Add point to point horizontal distance constraint Afegeix una restricció punt a punt de distància horitzontal - + Add fixed x-coordinate constraint Afegeix restricció de coordenada x fixa - - + + Add point to point vertical distance constraint Afegeix una restricció de distància vertical punt a punt - + Add fixed y-coordinate constraint Afegeix una restricció de coordenada x fixe - - + + Add parallel constraint Afegeix una restricció paral·lela - - - - - - - + + + + + + + Add perpendicular constraint Afegeix una restricció perpendicular - + Add perpendicularity constraint Afegeix una restricció de perpendicularitat - + Swap coincident+tangency with ptp tangency Canvia tangència+coincident amb tangència punt a punt - + Swap PointOnObject+tangency with point to curve tangency Canvia PointOnObject+tangència amb tangència punt a corba - - - - - - - + + + + + + + Add tangent constraint Afegeix una restricció tangent - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Afegeix un punt de restricció de tangent - - - - + + + + Add radius constraint Afegeix una restricció de radi - - - - + + + + Add diameter constraint Afegeix una restricció de diàmetre - - - - + + + + Add radiam constraint Afegeix una restricció de radi - - - - - - + + + + + + Add angle constraint Afegeix una restricció d'angle - - + + Add equality constraint Afegeix una restricció d'igualtat - - - - - + + + + + Add symmetric constraint Afegeix una restricció de simetria - + Add Snell's law constraint Afegeix una restricció de Llei de Snell - + Toggle constraint to driving/reference Canvia restricció entre guia i referència - + Activate/Deactivate constraint Activa o desactiva la restricció - + Create a new sketch on a face Crea un nou croquis en una cara - + Create a new sketch Crea un nou croquis - + Reorient sketch Reorienta el croquis - + Attach sketch Adjunta el corquis - + Detach sketch Separa el corquis - + Create a mirrored sketch for each selected sketch Crea un croquis reflectit de cada croquis seleccionat - + Merge sketches Fusionar esbossos @@ -1992,72 +2109,72 @@ restriccions invàlides, geometries degenerades, etc. Afegeix un hexàgon - + Convert to NURBS Converteix en NURBS - + Increase spline degree Augmenta el grau de l'spline - + Decrease spline degree Redueix el grau de l'spline - + Increase knot multiplicity Augmenta la multiplicitat del nus - + Decrease knot multiplicity Redueix la multiplicitat del nus - + Insert knot Inserir node - + Join Curves Join Curves - + Exposing Internal Geometry Exposa la geometria interna - + Create symmetric geometry Crea geometria simètrica - + Copy/clone/move geometry Copia, clona o mou la geometria - + Create copy of geometry Crea una còpia de la geometria - + Delete all geometry Esborra tota la geometria - + Delete All Constraints Suprimeix totes les restriccions - + Remove Axes Alignment Elimina l'alineació d'eixos @@ -2068,44 +2185,44 @@ restriccions invàlides, geometries degenerades, etc. - - - + + + Update constraint's virtual space Actualitza l'espai virtual de la restricció - + Add auto constraints Afegeix restriccions automàtiques - + Swap constraint names Intercanvia els noms de restricció - + Rename sketch constraint Reanomena restricció del croquis - + Drag Point Arrossega el punt - + Drag Curve Arrossega la corba - + Drag Constraint Arrossega la restricció - + Modify sketch constraints Modifica les restriccions del croquis @@ -2166,59 +2283,59 @@ restriccions invàlides, geometries degenerades, etc. Error d'autorestricció: croquis irresoluble si s'apliquen restriccions d'igualtat. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. No es pot esbrinar la intersecció de corbes. Proveu d'afegir una restricció de coincidència entre els vèrtexs de les corbes que intenteu arrodonir. - - + + BSpline Geometry Index (GeoID) is out of bounds. l'index de geometria BSpline (GeoID) esta fora de les restriccions. - + You are requesting no change in knot multiplicity. Se us ha demanat que no canvieu la multiplicitat del nus. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. L'índex de geometria (GeoId) proporcionada no és una corba de B-spline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. L'índex del nus és fora dels límits. Tingueu en compte que d'acord amb la notació d'OCC, el primer nus té l'índex 1 i no zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. La multiplicitat no pot augmentar més enllà del grau de la B-spline. - + The multiplicity cannot be decreased beyond zero. La multiplicitat no es pot reduir més enllà de zero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC no pot reduir la multiplicitat dins de la tolerància màxima. - + Knot cannot have zero multiplicity. El node no pot tenir multiplicitat zero. - + Knot multiplicity cannot be higher than the degree of the BSpline. La multiplicitat de nodes no pot ser superior al grau de la BSpline. - + Knot cannot be inserted outside the BSpline parameter range. El node no es pot inserir fora de l'interval de paràmetres BSpline. @@ -2234,210 +2351,213 @@ restriccions invàlides, geometries degenerades, etc. QObject - - - - + + + + Sketcher Esbossos - + There are no modes that accept the selected set of subelements No hi ha cap mode que accepte el conjunt de subelements seleccionat - + Broken link to support subelements L'enllaç als subelements admesos està trencat - - + + Unexpected error S'ha produït un error inesperat - + Face is non-planar La cara no és planar - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Les formes seleccionades tenen una forma incorrecta (p. ex. una vora corbada on es necessitava una vora recta) - + Sketch mapping Mapatge del croquis - + Can't map the sketch to selected object. %1. No es pot mapar el croquis a l'objecte seleccionat. %1. - - + + Don't attach No adjuntar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Selecció incorrecta @@ -2448,339 +2568,339 @@ restriccions invàlides, geometries degenerades, etc. Seleccioneu aresta/es del croquis. - + Not allowed to edit the datum because the sketch contains conflicting constraints No es permet editar aquest valor perquè el croquis conté restriccions amb conflictes - + Dimensional constraint Restricció de dimensió - + Cannot add a constraint between two external geometries. No es pot afegir una restricció entre dues geometries externes. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. No es pot afegir una restricció entre dues geometries fixes. Les geometries fixes inclouen geometria externa, geometria bloquejada i punts especials com ara punts de node B-spline. - + Sketcher Constraint Substitution Substitució de restriccions de Sketcher "Esbos" - + Keep notifying me of constraint substitutions Continueu notificant-me les substitucions de restriccions - - - + + + Only sketch and its support are allowed to be selected. Només es permet seleccionar l'esbós i el seu suport. - + One of the selected has to be on the sketch. Un dels seleccionats ha d'estar a l'esbós. - - + + Select an edge from the sketch. Seleccioneu una aresta del croquis. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Restricció impossible - - - - + + + + The selected edge is not a line segment. L'aresta seleccionada no és un segment de línia. - - - - - - + + + + + + Double constraint Restricció doble - - - - - + + + + + The selected edge already has a horizontal constraint! La vora seleccionat ja té una restricció horitzontal! - - - + + + The selected edge already has a vertical constraint! La vora seleccionat ja té una restricció vertical! - - - - - - + + + + + + The selected edge already has a Block constraint! La vora seleccionat ja té una restricció de bloc! - + The selected item(s) can't accept a horizontal constraint! El/s element/s seleccionat/s no poden acceptar una restricció horitzontal! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Hi ha més d'un fix punts seleccionats. Seleccioneu un màxim d'un punt fix! - + The selected item(s) can't accept a vertical constraint! El/s element/s seleccionat/s no poden acceptar una restricció vertical! - - - + + + Select vertices from the sketch. Seleccioneu vèrtexs del croquis. - + Select one vertex from the sketch other than the origin. Seleccioneu un vèrtex del croquis que no sigui l'origen. - + Select only vertices from the sketch. The last selected vertex may be the origin. Seleccioneu només vèrtexs del croquis. L'últim vèrtex seleccionat pot ser l'origen. - + Wrong solver status Estat del Solver incorrecte - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. No es pot afegir una restricció de bloqueig si el croquis no està resolt o hi ha restriccions redundants i en conflicte. - + Select one edge from the sketch. Seleccioneu una aresta del corquis. - + Select only edges from the sketch. Seleccioneu sols arestes del croquis. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error Error - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. En el seu lloc s'ha aplicat una tangència entre extrems. - + Select two or more points from the sketch. Seleccioneu dos o més punts del corquis. - + Select two or more vertices from the sketch. Seleccioneu dos o més vèrtexs de l'esbós. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Seleccioneu exactament una línia, o un punt i una línia, o dos punts del croquis. - + Cannot add a length constraint on an axis! No es pot afegir una restricció de longitud sobre un eix! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. Aquesta restricció no té sentit per a corbes no lineals. - + Endpoint to edge tangency was applied instead. En el seu lloc, s'ha aplicat la tangència de punt final a vora. - - - - - - - + + + + + + + Select the right things from the sketch. Seleccioneu els elements correctes del croquis. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Seleccioneu una vora que no sigui un pes B-spline. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Cap dels punts seleccionats estava restringit sobre les respectives corbes, perquè són parts del mateix element, perque ambdós són geometries externes, o perquè l'aresta no és eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Cap dels punts seleccionats estaven limitats a les respectives corbes, perquè són peces del mateix element o perquè són tant geometria externa. - - - - + + + + Select exactly one line or up to two points from the sketch. Seleccioneu exactament una línia o fins a dos punts del croquis. - + Cannot add a horizontal length constraint on an axis! No es pot afegir una restricció de longitud horitzontal sobre un eix! - + Cannot add a fixed x-coordinate constraint on the origin point! No es pot afegir una limitació coordenada x fixa en el punt d'origen! - - + + This constraint only makes sense on a line segment or a pair of points. Aquesta restricció només té sentit en un segment de línia o un parell de punts. - + Cannot add a vertical length constraint on an axis! No es pot afegir una restricció de longitud vertical sobre un eix! - + Cannot add a fixed y-coordinate constraint on the origin point! No es pot afegir una limitació coordenada x fixa en el punt d'origen! - + Select two or more lines from the sketch. Seleccioneu dues o més línies del croquis. - - + + Select at least two lines from the sketch. Seleccioneu almenys dues línies del croquis. - + Select a valid line. Seleccioneu una línia vàlida. - - + + The selected edge is not a valid line. L'aresta seleccionada no és una línia vàlida. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2788,42 +2908,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Aquesta restricció es pot aplicar de diverses maneres. Les combinacions possibles són: dues corbes; un extrem i una corba; dos extrems; dues corbes i un punt. - + Select some geometry from the sketch. perpendicular constraint Seleccioneu alguna geometria del croquis. - - + + Cannot add a perpendicularity constraint at an unconnected point! No es pot afegir una restricció de perpendicularitat en un punt no connectat! - - - + + + Perpendicular to B-spline edge currently unsupported. Actualment no s'admet una perpendicular a la vora del B-spline. - - + + One of the selected edges should be a line. Una de les arestes seleccionades ha de ser una línia. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. S'ha aplicat una tangència entre extrems. S'han suprimit les restriccions coincidents. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. S'ha aplicat la tangència de punt final a vora. S'ha suprimit el punt sobre la restricció d'objectes. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2831,179 +2951,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Aquesta restricció es pot aplicar de diverses maneres. Les combinacions possibles són: dues corbes; un extrem i una corba; dos extrems; dues corbes i un punt. - + Select some geometry from the sketch. tangent constraint Seleccioneu alguna geometria del croquis. - - - + + + Cannot add a tangency constraint at an unconnected point! No es pot afegir una restricció de tangència en un punt no connectat! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! El nombre d'objectes seleccionats és incorrecte! - - + + With 3 objects, there must be 2 curves and 1 point. Amb 3 objectes, hi ha d'haver 2 corbes i 1 punt. - - - + + + Tangency to B-spline edge currently unsupported. Actualment no s'admet la tangència a la vora del B-spline. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Seleccioneu un o més arcs o cercles del croquis. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Seleccioneu o bé un o diversos pols de B-spline, o bé un o més arcs o circumferències del croquis, però no els mescleu. - - - + + + Constraint only applies to arcs or circles. La restricció només s'aplica a arcs i cercles. - - + + Select one or two lines from the sketch. Or select two edges and a point. Seleccioneu una o dues línies del croquis. O seleccioneu dues arestes i un punt. - - + + Parallel lines Línies paral·leles - - + + An angle constraint cannot be set for two parallel lines. Una restricció d'angle no es pot definir per dues línies paral·leles. - + Cannot add an angle constraint on an axis! No es pot afegir una restricció d'angle sobre un eix! - + Select two edges from the sketch. Seleccioneu dues arestes del croquis. - + Select two or more compatible edges. Seleccioneu dues o més arestes compatibles. - + Sketch axes cannot be used in equality constraints. Els eixos d'esbós no es poden utilitzar en restriccions d'igualtat. - + Equality for B-spline edge currently unsupported. Actualment no s'admet la igualtat per a la vora del B-spline. - - - + + + + Select two or more edges of similar type. Seleccioneu dues o més arestes de tipus similar. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Seleccioneu dos punts i una línia de simetria, dos punts i un punt de simetria, o bé una línia i un punt de simetria del croquis. - - + + Cannot add a symmetry constraint between a line and its end points. No es pot afegir una restricció de simetria entre una línia i els seus extrems. - - + + + + Cannot add a symmetry constraint between a line and its end points! No es pot afegir una restricció de simetria entre una línia i els seus extrems! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Seleccioneu dos extrems de línia per actuar com a raigs, i una aresta que representi un límit. El primer punt seleccionat correspon a l'índex n1, el segon a n2, i el valor de la restricció estableix una ràtio n2/n1. - + Selected objects are not just geometry from one sketch. Els objectes seleccionats no són només geometria d'un corquis. - + Cannot create constraint with external geometry only. No es pot crear una restricció només amb geometria externa. - + Incompatible geometry is selected. S'ha seleccionat geometria incompatible. - + SnellsLaw on B-spline edge is currently unsupported. Actualment no es suporta la Llei de Snell en arestes de B-spline. - - - - - + + + + + Select constraints from the sketch. Seleccioneu restriccions del croquis. @@ -3025,155 +3148,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Definiu el grau B-Spline, entre 1 i %1: + + - - CAD Kernel Error Error del nucli del CAD - + None of the selected elements is an edge. Cap dels elements seleccionats és una vora. - - + + At least one of the selected objects was not a B-Spline and was ignored. Com a mínim, un els objectes seleccionats no és una B-Spline i s'ha ignorat. - - + + The selection comprises more than one item. Please select just one knot. La selecció inclou més d'un element. Seleccioneu només un nus. - - + + Input Error Error d'entrada - - + + None of the selected elements is a knot of a B-spline Cap dels elements seleccionats és un nus d'un B-spline - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. No hi ha res seleccionat. Seleccioneu una b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Seleccioneu una corba b-spline per inserir un node (no un node a ell). Si la corba no és una b-spline, primer convertiu-la en una. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Seleccioneu elements d'un únic croquis. - + No constraint selected No s'ha seleccionat cap restricció - + At least one constraint must be selected S'ha de seleccionar com a mínim una restricció - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Una construcció simètrica necessita com a mínim dos elements geomètrics, l'últim element geomètric és la referència per a la construcció de la simetria. - + The last element must be a point or a line serving as reference for the symmetry construction. L'últim element ha de ser un punt o una línia que servisca com a referència per a la construcció de la simetria. - - + + A copy requires at least one selected non-external geometric element Una còpia necessita com a mínim que se seleccione un element geomètric no extern - + Delete All Geometry Suprimeix totes les figures geomètriques - + Are you really sure you want to delete all geometry and constraints? Esteu realment segur que voleu esborrar tota la geometria i restriccions? - + Delete All Constraints Suprimeix totes les restriccions - + Are you really sure you want to delete all the constraints? Estàs realment segur que voleu suprimir totes les Restriccions? - + Removal of axes alignment requires at least one selected non-external geometric element L'eliminació de l'alineació dels eixos requereix almenys un element geomètric no extern seleccionat - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3372,67 +3495,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value Canvia el valor - + Toggle to/from reference Commuta la referència a/des de - + Deactivate Desactiva - + Activate Activa - + Show constraints Mostra les restriccions - + Hide constraints Oculta les restriccions - + Rename Reanomena - + Center sketch Centra el croquis - + Delete Elimina - + Swap constraint names Intercanvia els noms de restricció - + Unnamed constraint Restricció sense nom - + Only the names of named constraints can be swapped. Només es poden intercanviar els noms de les restriccions anomenades. @@ -3440,74 +3563,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle Insereix un angle - + Angle: Angle: - + Insert radius Insereix un radi - + Radius: Radi: - + Insert diameter Insereix un diàmetre - + Diameter: Diàmetre: - + Insert weight Insereiu el pes - + Weight: Pes: - + Refractive index ratio Constraint_SnellsLaw Índex de refracció - + Ratio n2/n1: Constraint_SnellsLaw Relació n2/n1: - + Insert length Insereix una longitud - + Length: Longitud: - + Refractive index ratio Índex de refracció - + Ratio n2/n1: Relació n2/n1: @@ -3515,72 +3638,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal Normal - + Construction Construcció - + Internal Internal - + External Extern - + All types All types - + Point Punt - + Line Línia - + Circle Cercle - + Ellipse El·lipse - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3588,142 +3711,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Point on Object - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Simetría - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance Horizontal Distance - + Vertical Distance Vertical Distance - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Commuta la geometria de construcció - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Capa - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Amagades - + Delete Elimina @@ -4004,6 +4127,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Notifica les substitucions automàtiques de restriccions + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Ambdós + + + + Auto + Auto + + + + Diameter + Diàmetre + + + + Radius + Radi + SketcherGui::SketcherSettingsColors @@ -4448,12 +4640,12 @@ Then objects are only visible behind the sketch plane. Aplica als esbossos existents - + Unexpected C++ exception S'ha produït una excepció inesperada de C++ - + Sketcher Esbossos @@ -4620,48 +4812,48 @@ However, no constraints linking to the endpoints were found. Paràmetres - + Constraints Constraints - + Auto constraints Restriccions automàtiques - + Auto remove redundants Suprimeix les redundàncies automàticament - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error Error - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4693,6 +4885,33 @@ However, no constraints linking to the endpoints were found. Settings Paràmetres + + + + + + + + + + + + Construction + Construcció + + + + Elements + Elements + + + + + + + Point + Punt + @@ -4704,110 +4923,83 @@ However, no constraints linking to the endpoints were found. - Construction - Construcció - - - - Elements - Elements - - - - - - - Point - Punt - - - - - - - - - - - - Internal Internal - - + + + - Line Línia - - + + + - Arc Arc - - + + + - Circle Cercle - - + + + - Ellipse El·lipse - - + + + - Elliptical Arc Arc el·líptic - - + + + - Hyperbolic Arc Arc hiperbòlic - - + + + - Parabolic Arc Arc parabòlic - - + + + - BSpline BSpline - - + + + - Other Altres - + Extended information Informació ampliada @@ -4815,42 +5007,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Missatges del solucionador - + Auto update Actualitza automàticament - + Executes a recomputation of active document after every sketch action Executa un recàlcul del document actiu després de cada acció del croquis - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5028,114 +5220,114 @@ Això es fa mitjançant l'anàlisi de les geometries i restriccions de l'esbós. SketcherGui::ViewProviderSketch - + Edit sketch Editar croquis - + A dialog is already open in the task panel A dialog is already open in the task panel - + Do you want to close this dialog? Do you want to close this dialog? - + Invalid sketch El croquis no és vàlid - + Do you want to open the sketch validation tool? Voleu obrir l'eina de validació d'esbossos? - + The sketch is invalid and cannot be edited. El croquis no és vàlid i no es pot editar. - + Please remove the following constraint: Suprimiu la restricció següent: - + Please remove at least one of the following constraints: Suprimiu almenys una de les restriccions següents: - + Please remove the following redundant constraint: Suprimiu la restricció redundant següent: - + Please remove the following redundant constraints: Suprimiu les restriccions redundants següents: - + The following constraint is partially redundant: La restricció següent és parcialment redundant: - + The following constraints are partially redundant: Les següents restriccions són parcialment redundants: - + Please remove the following malformed constraint: Si us plau, elimineu la restricció defectuosa següent: - + Please remove the following malformed constraints: Si us plau, elimineu les restriccions defectuoses següents: - + Empty sketch Croquis buit - + Over-constrained: Sobre-restringit: - + Malformed constraints: Selecciona restriccions defectuoses: - + Redundant constraints: Restriccions redundants: - + Partially redundant: Parcialment redundant: - + Solver failed to converge El solucionador no ha pogut convergir - + Under constrained: Sub-restringit: - + %n DoF(s) %n Grau(s) de llibertat @@ -5143,7 +5335,7 @@ El solucionador no ha pogut convergir - + Fully constrained Esbós completament restringit @@ -5151,8 +5343,8 @@ El solucionador no ha pogut convergir Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Canvia entre mostrar i amagar la Pinta de curvatura per a tots els B-splines @@ -5160,8 +5352,8 @@ El solucionador no ha pogut convergir Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Redueix la multiplicitat del nus seleccionat d'un B-spline @@ -5169,8 +5361,8 @@ El solucionador no ha pogut convergir Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Canvia entre mostrar i amagar els graus per a totes les B-splines @@ -5178,8 +5370,8 @@ El solucionador no ha pogut convergir Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Augmenta la multiplicitat del nus seleccionat d'un B-spline @@ -5187,8 +5379,8 @@ El solucionador no ha pogut convergir Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Canvia entre mostrar i amagar la multiplicitat del nus per a totes les B-splines @@ -5196,8 +5388,8 @@ El solucionador no ha pogut convergir Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Canvia entre mostrar i amagar el punt de control de pes per a totes els B-splines @@ -5205,8 +5397,8 @@ El solucionador no ha pogut convergir Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Canvia entre mostrar i amagar els polígons de control per a totes les B-splines @@ -5214,8 +5406,8 @@ El solucionador no ha pogut convergir Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometria prenent com a referència l'últim punt seleccionat @@ -5223,17 +5415,17 @@ El solucionador no ha pogut convergir Sketcher_CompCopy - + Clone Clona - + Copy Copia - + Move Mou @@ -5241,8 +5433,8 @@ El solucionador no ha pogut convergir Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fixa el diàmetre d'un cercle o d'un arc @@ -5250,7 +5442,7 @@ El solucionador no ha pogut convergir Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fixeu el radi/diàmetre d'un cercle o d'un arc @@ -5258,8 +5450,8 @@ El solucionador no ha pogut convergir Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fixa el radi d'un cercle o arc @@ -5267,7 +5459,7 @@ El solucionador no ha pogut convergir Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fixeu el radi/diàmetre d'un cercle o d'un arc @@ -5275,8 +5467,8 @@ El solucionador no ha pogut convergir Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Crea una còpia simple de la geometria prenent com a referència l'últim punt seleccionat @@ -5495,75 +5687,75 @@ El solucionador no ha pogut convergir Sketcher_MapSketch - + No sketch found No s'ha trobat cap croquis - + The document doesn't have a sketch El document no té cap croquis - + Select sketch Seleccioneu un croquis - + Select a sketch from the list Seleccioneu un croquis de la llista - + (incompatible with selection) (incompatible amb la selecció) - + (current) (actual) - + (suggested) (suggerit) - + Sketch attachment Croquis adjunt - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. El nou mode d'unió és incompatible amb la nova selecció. Trieu un mètode per unir aquest croquis als objectes seleccionats. - + Select the method to attach this sketch to selected objects. Seleccioneu el mètode per a adjuntar aquest croquis als objectes seleccionats. - + Map sketch Mapa el croquis - + Can't map a sketch to support: %1 - No es pot mapar un croquis al suport: + No es pot mapar un croquis al suport: %1 Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Mou la geometria prenent com a referència l'últim punt seleccionat @@ -5571,12 +5763,12 @@ Trieu un mètode per unir aquest croquis als objectes seleccionats. Sketcher_NewSketch - + Sketch attachment Croquis adjunt - + Select the method to attach this sketch to selected object Seleccioneu el mètode per a adjuntar aquest croquis a l'objecte seleccionat @@ -5584,25 +5776,20 @@ Trieu un mètode per unir aquest croquis als objectes seleccionats. Sketcher_ReorientSketch - + Sketch has support El croquis té un suport - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? - El croquis amb una cara de suport no es pot reorientar. + El croquis amb una cara de suport no es pot reorientar. Voleu separar-lo del suport? TaskSketcherMessages - - - Form - Forma - DOF @@ -5621,11 +5808,6 @@ Voleu separar-lo del suport? TaskSketcherSolverAdvanced - - - Form - Forma - Default algorithm used for Sketch solving @@ -5897,7 +6079,7 @@ L'algoritme Eigen Sparse QR està optimitzat per a matrius escasses; generalment ViewProviderSketch - + and %1 more i % 1 més @@ -6087,22 +6269,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Autoespaiat de la quadrícula - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distància entre dues línies de graella consecutives. @@ -6110,87 +6292,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Error - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6232,8 +6414,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6330,9 +6512,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error Value Error @@ -6368,58 +6550,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Salt angular per eines que usen 'Ajusta a l'angle' (p. ex. línia). Prem CTRL per activar 'Ajusta a l'angle'. L'angle comença des de l'eix X positiu del croquis. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - Geometria de construcció + Normal Geometry + Normal Geometry + Construction Geometry + Geometria de construcció + + + + + External Geometry External Geometry @@ -6440,12 +6622,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Commuta la graella - + Toggle the grid in the sketch. In the menu you can change grid settings. Commuta la graella del croquis. Pots canviar la configuració de la graella des del menú. @@ -6453,12 +6635,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Commuta totes les funcions d'ajust. En el menú pots commutar individualment 'Ajusta a la graella' i 'Ajusta a objectes', i canviar altres configuracions d'ajust. @@ -6489,4 +6671,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Crea una B-spline periòdica per nusos, p. ex. per interpolació, en el croquis. + + CmdSketcherDimension + + + Dimension + Cota + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_cs.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_cs.ts index 788df53e1e..dc351b1e0f 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_cs.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_cs.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Zobrazit/skrýt graf křivosti B-splajnu - + Switches between showing and hiding the curvature comb for all B-splines Přepnout mezi zobrazením a skrytím křivosti všech B-splajnů @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Zobrazit/skrýt stupeň B-splajnu - + Switches between showing and hiding the degree for all B-splines Přepnout mezi zobrazením a skrytím stupně všech B-splajnů @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Zobrazit/skrýt násobnost uzlů B-splajnu - + Switches between showing and hiding the knot multiplicity for all B-splines Přepne mezi zobrazením a skrytím násobnosti uzlů pro všechny B-splajny @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Zobrazit/skrýt váhu řídicích bodů B-splajnu - + Switches between showing and hiding the control point weight for all B-splines Přepne mezi zobrazením a skrytím váhy kontrolních bodů všech B-splajnů @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Zobrazit/skrýt kontrolní polygon B-splajnu - + Switches between showing and hiding the control polygons for all B-splines Přepne mezi zobrazením a skrytím kontrolních polygonů všech B-splajnů @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Vytvoří klon geometrie, s naposledy vybraným bodem jako referenčním @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Zobrazit/skrýt informační vrstvu B-splajnu - + Show/hide B-spline degree Zobrazit/skrýt stupeň B-splajnu - + Show/hide B-spline control polygon Zobrazit/skrýt kontrolní polygon B-splajnu - + Show/hide B-spline curvature comb Zobrazit/skrýt graf křivosti B-splajnu - + Show/hide B-spline knot multiplicity Zobrazit/skrýt násobnost uzlů B-splajnu - + Show/hide B-spline control point weight Zobrazit/skrýt váhu řídicích bodů B-splajnu @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Vazba oblouku nebo kružnice - + Constrain an arc or a circle Vazba oblouku nebo kružnice - + Constrain radius Vazba poloměru - + Constrain diameter Vazba průměru - + Constrain auto radius/diameter Vazba automatický rádius/průměr @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Vytvoří klon geometrie, s naposledy vybraným bodem jako referenčním @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modifikovat násobnost uzlu - + Modifies the multiplicity of the selected knot of a B-spline Modifikuje násobnost vybraného uzlu B-splajnu - + Increase knot multiplicity Zvýšit násobnost uzlu - + Decrease knot multiplicity Snížit násobnost uzlu @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Vazba úhlu - + Fix the angle of a line or the angle between two lines Zadá úhel čáry nebo úhel mezi dvěma čarami @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Bloková vazba - + Block the selected edge from moving Blokování pohybu vybrané hrany @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Vazba totožnosti - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Vytvořte souosou vazbu mezi body nebo soustřednou vazbu mezi kružnicemi, oblouky a elipsami @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Vazba průměru - + Fix the diameter of a circle or an arc Zadá průměr kružnice nebo oblouku @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Vazba vzdálenosti - + Fix a length of a line or the distance between a line and a vertex or between two circles Fixujte délku čáry nebo vzdálenost mezi čárou a vrcholem nebo mezi dvěma kružnicemi @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Vazba svislé vzdálenosti - + Fix the horizontal distance between two points or line ends Zadá vodorovnou vzdálenost mezi dvěma body nebo konci čáry @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Vazba svislé vzdálenosti - + Fix the vertical distance between two points or line ends Zadá svislou vzdálenost mezi dvěma body nebo konci čáry @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Zadat jako shodné - + Create an equality constraint between two lines or between circles and arcs Vytvoří zadání rovnosti mezi dvěma čarami, kruhy nebo oblouky @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Vazba horizontálně - + Create a horizontal constraint on the selected item Vytvoř vodorovnou vazbu na vybranou položku @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Vazba uzamknout - + Create both a horizontal and a vertical distance constraint on the selected vertex Vytvoření vodorovné i svislé vazby vzdálenosti @@ -520,12 +520,12 @@ na vybraném vrcholu CmdSketcherConstrainParallel - + Constrain parallel Vazba rovnoběžnosti - + Create a parallel constraint between two lines Vytvoř vazbu rovnoběžnosti mezi dvěma úsečkami @@ -533,12 +533,12 @@ na vybraném vrcholu CmdSketcherConstrainPerpendicular - + Constrain perpendicular Zadání kolmosti - + Create a perpendicular constraint between two lines Vytvoří kolmou vazbu mezi dvěma čarami @@ -546,12 +546,12 @@ na vybraném vrcholu CmdSketcherConstrainPointOnObject - + Constrain point onto object Zadá bod na objektu - + Fix a point onto an object Umístí bod na objekt @@ -559,12 +559,12 @@ na vybraném vrcholu CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Vazba automatický rádius/průměr - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fixujte průměr, pokud je vybrána kružnice, nebo poloměr, pokud je vybrán oblouk/spline pól @@ -572,12 +572,12 @@ na vybraném vrcholu CmdSketcherConstrainRadius - + Constrain radius or weight Zadání poloměru nebo váhy - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Definuje poloměr kružnice nebo oblouku nebo definuje váhu pólu B-splajnu @@ -585,12 +585,12 @@ na vybraném vrcholu CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Vazba refrakce (Snellův zákon) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Vytvořte omezení podle zákona lomu (Snellův zákon) mezi dvěma koncovými body paprsků @@ -600,12 +600,12 @@ a hrana jako rozhraní. CmdSketcherConstrainSymmetric - + Constrain symmetrical Zadá jako symetrické - + Create a symmetry constraint between two points with respect to a line or a third point Vytvoří symetrickou vazbu mezi dvěma body vzhledem k čáře nebo třetímu bodu @@ -614,12 +614,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Zadá tečnost - + Create a tangent constraint between two entities Zadá tečnost mezi dvěma objekty @@ -627,12 +627,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Vazba svisle - + Create a vertical constraint on the selected item Vytvoří vazbu svislosti na vybranou položku @@ -640,12 +640,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Převést geometrii na B-splajn - + Converts the selected geometry to a B-spline Převede vybranou geometrii na B-splajn @@ -653,12 +653,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Kopírovat - + Creates a simple copy of the geometry taking as reference the last selected point Vytvoří jednoduchou kopii geometrie s naposledy vybraným bodem jako referenčním @@ -1017,12 +1017,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Snížit stupeň B-splajnu - + Decreases the degree of the B-spline Sníží stupeň B-splajnu @@ -1030,12 +1030,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Snížit násobnost uzlu - + Decreases the multiplicity of the selected knot of a B-spline Snížit násobnost vybraného uzlu B-splajnu @@ -1043,12 +1043,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Smazat všechny vazby - + Delete all constraints in the sketch Odstranit všechny vazby v náčrtu @@ -1056,12 +1056,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Smazat veškerou geometrii - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Odstranit veškerou geometrii a vazby v aktuálním náčrtu s výjimkou vnější geometrie @@ -1069,12 +1069,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Upravit skicu - + Edit the selected sketch. Upravit vybraný náčrt. @@ -1108,12 +1108,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Zvýšit stupeň B-splajnu - + Increases the degree of the B-spline Zvýšit stupeň B-splajnu @@ -1121,12 +1121,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Zvýšit násobnost uzlu - + Increases the multiplicity of the selected knot of a B-spline Zvýší násobnost vybraného uzlu B-splajnu @@ -1134,12 +1134,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Vložit uzel - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Vloží uzel na zadaný parametr. Pokud uzel v tomto parametru již existuje, je jeho násobnost zvýšena o jeden. @@ -1147,12 +1147,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Spojit křivky - + Join two curves at selected end points Připojte se ke dvěma křivkám ve vybraných koncových bodech @@ -1160,12 +1160,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Opustit prostředí náčrtu - + Finish editing the active sketch. Dokončit úpravy aktivního náčrtu. @@ -1173,12 +1173,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Promítne náčrt na stěnu... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1187,7 +1187,7 @@ Nejprve vyberte podpůrnou geometrii, např. plochu nebo hranu tělesa, pak použijte tento příkaz a poté zvolte požadovaný náčrt. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Některé z vybraných objektů závisí na mapovaném náčrtu. Cyklické závislosti nejsou povoleny. @@ -1195,22 +1195,22 @@ pak použijte tento příkaz a poté zvolte požadovaný náčrt. CmdSketcherMergeSketches - + Merge sketches Sloučit náčrty - + Create a new sketch from merging two or more selected sketches. Vytvořit nový náčrt sloučením dvou nebo více vybraných náčrtů. - + Wrong selection Neplatný výběr - + Select at least two sketches. Vyberte alespoň dva náčrty. @@ -1218,12 +1218,12 @@ pak použijte tento příkaz a poté zvolte požadovaný náčrt. CmdSketcherMirrorSketch - + Mirror sketch Zrcadlit náčrt - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1232,12 +1232,12 @@ použitím os X nebo Y nebo výchozího bodu, jakožto reference. - + Wrong selection Neplatný výběr - + Select one or more sketches. Vyberte jeden nebo více náčrtů. @@ -1245,12 +1245,12 @@ jakožto reference. CmdSketcherMove - + Move Přesun - + Moves the geometry taking as reference the last selected point Posune geometrii, s naposledy vybraným bodem jako referenčním @@ -1258,12 +1258,12 @@ jakožto reference. CmdSketcherNewSketch - + Create sketch Vytvoř náčrt - + Create a new sketch. Vytvořit nový náčrt. @@ -1271,12 +1271,12 @@ jakožto reference. CmdSketcherRectangularArray - + Rectangular array Obdélníkové pole - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Vytvoří obdélníkové pole se vzorem geometrie a referenčním bodem, který byl naposledy vybrán @@ -1284,12 +1284,12 @@ jakožto reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Odstranit osové zarovnání - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Upraví vazby tak, aby se odstranilo zarovnání podle osy, zatímco vazby ve výběru zůstaly zachované @@ -1297,12 +1297,12 @@ jakožto reference. CmdSketcherReorientSketch - + Reorient sketch... Přeorientovat náčrtek... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Umístěte vybraný náčrt do jedné z globálních souřadnicových rovin. @@ -1312,12 +1312,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Zobrazit / skrýt vnitřní geometrii - + Show all internal geometry or hide unused internal geometry Zobrazit veškerou vnitřní geometrii nebo skrýt nepoužitou vnitřní geometrii @@ -1325,8 +1325,8 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Vybrat konfliktní vazby @@ -1334,12 +1334,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectConstraints - + Select associated constraints Vybrat související vazby - + Select the constraints associated with the selected geometrical elements Vybere vazby související s vybranými prvky geometrie @@ -1347,12 +1347,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Vybrat související geometrii - + Select the geometrical elements associated with the selected constraints Vybrat geometrické prvky spojené s vybranými vazbami @@ -1360,12 +1360,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Vybrat neomezené stupně volnosti - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Vybrat prvky geometrie, kde řešič stále detekuje neomezené stupně volnosti. @@ -1373,12 +1373,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Vybere horizontální osu - + Select the local horizontal axis of the sketch Vybrat lokální horizontální osu náčrtu @@ -1386,8 +1386,8 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Vyberte chybné vazby @@ -1395,12 +1395,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectOrigin - + Select origin Vybrat počátek - + Select the local origin point of the sketch Vybrat lokální počátek náčrtu @@ -1408,8 +1408,8 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Vybrat částečně nadbytečné vazby @@ -1417,8 +1417,8 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Vybere nadbytečné vazby @@ -1426,12 +1426,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSelectVerticalAxis - + Select vertical axis Vybrat vertikální osu - + Select the local vertical axis of the sketch Vybrat lokální svislou osu náčrtu @@ -1452,12 +1452,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherStopOperation - + Stop operation Zastavit operaci - + When in edit mode, stop the active operation (drawing, constraining, etc.). Zastavit aktivní operaci, když je zapnutý editační mód (kreslení, vazbení, atd.). @@ -1478,12 +1478,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherSymmetry - + Symmetry Symetrie - + Creates symmetric geometry with respect to the last selected line or point Vytvoří symterickou geometrii s ohledem na poslední vybranou čáru nebo bod @@ -1491,12 +1491,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Aktivovat/deaktivovat vazbu - + Activates or deactivates the selected constraints Aktivuje nebo deaktivuje vybrané vazby @@ -1517,12 +1517,12 @@ Tímto se vymaže vlastnost "Podpora", pokud existuje. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Přepnout řídící/referenční vazbu - + Set the toolbar, or the selected constraints, into driving or reference mode Nastavit panel nástrojů nebo vybrané vazby @@ -1545,24 +1545,24 @@ do řídícího nebo referenčního režimu CmdSketcherValidateSketch - + Validate sketch... Kontroluj náčrtek... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Prověřit náčrt zobrazením chybějících totožností, neplatných vazeb, degenerované geometrie atd. - + Wrong selection Neplatný výběr - + Select only one sketch. Vyberte pouze jeden náčrt. @@ -1570,12 +1570,12 @@ neplatných vazeb, degenerované geometrie atd. CmdSketcherViewSection - + View section Zobrazit výběr - + When in edit mode, switch between section view and full view. Přepnout mezi řezem a plným zobrazením, když je aktivní editační režim. @@ -1583,12 +1583,12 @@ neplatných vazeb, degenerované geometrie atd. CmdSketcherViewSketch - + View sketch Zobrazit skicu - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Nastavit pohled kolmo na rovinu náčrtu, když je aktivní editační režim. @@ -1596,287 +1596,404 @@ neplatných vazeb, degenerované geometrie atd. Command - - + + Add horizontal constraint Přidat vodorovnou vazbu - - - + + + Add horizontal alignment Přidat vodorovné zarovnání - - + + Add vertical constraint Přidat vertikální vazbu - + Add vertical alignment Přidat svislé zarovnání - + Add 'Lock' constraint Přidat vazbu 'Uzamčení' - + Add relative 'Lock' constraint Přidat vazbu relativního 'Uzamčení' - + Add fixed constraint Přidat pevnou vazbu - + Add 'Block' constraint Přidat vazbu 'Blok' - + Add block constraint Přidat blokovou vazbu - - - + + + Add coincident constraint Přidat vazbu shodnosti - - + + Add distance from horizontal axis constraint Přidat vazbu vzdálenosti od vodorovné osy - - + + Add distance from vertical axis constraint Přidat vazbu vzdálenosti od svislé osy - - + + Add point to point distance constraint Přidat vazbu vzdálenosti dvou bodů - - + + + Add point to line Distance constraint Přidat vazbu vzdálenosti bodu a čáry - - + + Add circle to circle distance constraint Přidat kruh do kružnice – omezení vzdálenosti - + Add circle to line distance constraint Přidání vazby vzdálenosti kružnice od čáry - - + + + + + Add length constraint Přidat vazbu délky - - + + + Dimension + Rozměr + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Přidat vazbu bodu na objektu - - + + Add point to point horizontal distance constraint Přidat vazbu vodorovné vzdálenosti dvou bodů - + Add fixed x-coordinate constraint Přidat vazbu pevné souřadnice x - - + + Add point to point vertical distance constraint Přidat vazbu svislé vzdálenosti dvou bodů - + Add fixed y-coordinate constraint Přidat vazbu pevné souřadnice y - - + + Add parallel constraint Přidat paralelní vazbu - - - - - - - + + + + + + + Add perpendicular constraint Přidat kolmou vazbu - + Add perpendicularity constraint Přidat vazbu kolmosti - + Swap coincident+tangency with ptp tangency Prohodit shodnost+tečnost s tečností v bodech - + Swap PointOnObject+tangency with point to curve tangency Bod na křivce + tečnost prohodit s tečností v bodě křivky - - - - - - - + + + + + + + Add tangent constraint Přidat vazbu tečnosti - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Přidat vazbu bodu tečnosti - - - - + + + + Add radius constraint Přidat vazbu poloměru - - - - + + + + Add diameter constraint Přidat vazbu průměru - - - - + + + + Add radiam constraint Přidat vazbu poloměr-průměr - - - - - - + + + + + + Add angle constraint Přidat úhlovou vazbu - - + + Add equality constraint Přidat vazbu rovnosti - - - - - + + + + + Add symmetric constraint Přidat vazbu symetrie - + Add Snell's law constraint Přidat vazbu Snellova zákona - + Toggle constraint to driving/reference Přepnout vazbu na řídící/referenční - + Activate/Deactivate constraint Aktivovat/Deaktivovat vazbu - + Create a new sketch on a face Vytvořit nový náčrt na ploše - + Create a new sketch Vytvořit nový náčrt - + Reorient sketch Přeorientovat náčrt - + Attach sketch Připojit náčrt - + Detach sketch Odpojit náčrt - + Create a mirrored sketch for each selected sketch Vytvořit zrcadlový náčrt pro každý vybraný náčrt - + Merge sketches Sloučit náčrty @@ -1994,72 +2111,72 @@ neplatných vazeb, degenerované geometrie atd. Přidat šestiúhelník - + Convert to NURBS Převést na NURBS - + Increase spline degree Zvýšit stupeň splajnu - + Decrease spline degree Snížit stupeň splajnu - + Increase knot multiplicity Zvýšit násobnost uzlu - + Decrease knot multiplicity Snížit násobnost uzlu - + Insert knot Vložit uzel - + Join Curves Připojte se ke křivkám - + Exposing Internal Geometry Ukázat vnitřní geometrii - + Create symmetric geometry Vytvořit symetrickou geometrii - + Copy/clone/move geometry Kopírovat/klonovat/přesunout geometrii - + Create copy of geometry Vytvořit kopii geometrie - + Delete all geometry Smazat veškerou geometrii - + Delete All Constraints Smazat všechny vazby - + Remove Axes Alignment Odstranit osové zarovnání @@ -2070,44 +2187,44 @@ neplatných vazeb, degenerované geometrie atd. - - - + + + Update constraint's virtual space Aktualizovat virtuální prostor vazby - + Add auto constraints Přidat automatické vazby - + Swap constraint names Prohodit názvy vazeb - + Rename sketch constraint Přejmenovat vazbu náčrtu - + Drag Point Přetáhnout bod - + Drag Curve Přetáhnout křivku - + Drag Constraint Přetáhnout vazbu - + Modify sketch constraints Upravit vazby náčrtu @@ -2168,59 +2285,59 @@ neplatných vazeb, degenerované geometrie atd. Chyba automatických vazeb: Neřešitelný náčrt po aplikaci vazeb rovnosti. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Nelze odhadnout průsečík křivek. Zkuste přidat vazbu totožnosti mezi vrcholy křivek, které chcete zaoblit. - - + + BSpline Geometry Index (GeoID) is out of bounds. Geometrický index (GeoID) B-splajnu je mimo meze. - + You are requesting no change in knot multiplicity. Nepožadujete změnu v násobnosti uzlů. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Daný geometrický index (GeoId) neodpovídá B-splajn křivce. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Index uzlu je mimo hranice. Všimněte si, že v souladu s OCC zápisem je index prvního uzlu 1 a ne 0. - + The multiplicity cannot be increased beyond the degree of the B-spline. Násobnost nemůže být zvýšena nad stupeň B-splajnu. - + The multiplicity cannot be decreased beyond zero. Násobnost nemůže být snížena pod nulu. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC není schopno snížit násobnost na maximální toleranci. - + Knot cannot have zero multiplicity. Uzel nemůže mít nulovou násobnost. - + Knot multiplicity cannot be higher than the degree of the BSpline. Násobnost uzlu nemůže být vyšší než stupeň BSplajnu. - + Knot cannot be inserted outside the BSpline parameter range. Nelze vložit uzel mimo rozsah parametrů BSplajnu. @@ -2236,210 +2353,213 @@ neplatných vazeb, degenerované geometrie atd. QObject - - - - + + + + Sketcher Náčrt - + There are no modes that accept the selected set of subelements Nejsou k dispozici módy akceptující vybranou množinu dílčích elementů - + Broken link to support subelements Nefunkční odkaz pro podporu dílčích elementů - - + + Unexpected error Neočekávaná chyba - + Face is non-planar Plocha není rovinná - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Vybrané tvary mají špatnou formu (např. může být potřebná rovná hrana namísto zakřivené) - + Sketch mapping Skica mapování - + Can't map the sketch to selected object. %1. Nelze mapovat náčrt na vybraný objekt. %1. - - + + Don't attach Nelze připojit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Neplatný výběr @@ -2450,339 +2570,339 @@ neplatných vazeb, degenerované geometrie atd. Vyberte hrany ze skicy. - + Not allowed to edit the datum because the sketch contains conflicting constraints Není dovoleno upravit hodnotu, protože náčrt obsahuje konfliktní vazby - + Dimensional constraint Vazba vzdálenosti - + Cannot add a constraint between two external geometries. Nelze přidat vazbu mezi dvěma vnějšími geometriemi. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Nelze přidat vazbu mezi dvě pevné geometrie. Pevné geometrie obsahují vnější geometrii, blokovanou geometrii a speciální body jako jsou uzly B-splajnu. - + Sketcher Constraint Substitution Nahrazení vazeb náčrtu - + Keep notifying me of constraint substitutions Informovat o nahrazování vazeb - - - + + + Only sketch and its support are allowed to be selected. Vybrán může být pouze náčert a jeho podpora. - + One of the selected has to be on the sketch. Jeden z vybraných musí být na náčrt. - - + + Select an edge from the sketch. Vyber hranu z náčrtu. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Nemožné omezení - - - - + + + + The selected edge is not a line segment. Vybraný okraj není segment čáry. - - - - - - + + + + + + Double constraint Dvojité omezení - - - - - + + + + + The selected edge already has a horizontal constraint! Vybraná hrana již má horizontální vazbu! - - - + + + The selected edge already has a vertical constraint! Vybraná hrana již má vertikální vazbu! - - - - - - + + + + + + The selected edge already has a Block constraint! Vybraná hrana již má blokovou vazbu! - + The selected item(s) can't accept a horizontal constraint! Vybrané položky nemohou přijmout vodorovnou vazbu! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Je vybráno více pevných bodů. Vyberte nejvýše jeden pevný bod! - + The selected item(s) can't accept a vertical constraint! Vybrané položky nemohou přijmout svislou vazbu! - - - + + + Select vertices from the sketch. Vyberte vrcholy z náčrtu. - + Select one vertex from the sketch other than the origin. Vyberte jeden vrchol z náčrtu jiný než počátek. - + Select only vertices from the sketch. The last selected vertex may be the origin. Vyberte jen vrcholy z náčrtu. Poslední vybraný vrchol může být počátek. - + Wrong solver status Špatný status řešiče - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Bloková vazba nemůže být přidána, pokud je náčrt nevyřešený nebo pokud obsahuje nadbytečné či konfliktní vazby. - + Select one edge from the sketch. Vyberte jednu hranu z náčrtu. - + Select only edges from the sketch. Vyberte pouze hrany z náčrtu. - + Number of selected objects is not 3 Počet vybraných objektů není 3 - - - + + + Error Chyba - + Unexpected error. More information may be available in the Report View. Neočekávaná chyba. Více informací může být k dispozici v zobrazení zprávy. - + Endpoint to endpoint tangency was applied instead. Namísto toho byla aplikována tečnost v koncových bodech. - + Select two or more points from the sketch. Vyberte dva nebo více bodů z náčrtu. - + Select two or more vertices from the sketch. Vyberte dva nebo více vrcholů z náčrtu. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Vyberte dva nebo více vrcholů ze skici pro shodnou vazbu nebo dvě nebo více kružnic, elips, oblouků nebo oblouků elips pro soustřednou vazbu. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Vyberte dva vrcholy ze skici pro shodnou vazbu nebo dvě kružnice, elipsy, oblouky nebo oblouky elipsy pro soustřednou vazbu. - + Select exactly one line or one point and one line or two points from the sketch. Vyberte právě jednu úsečku nebo jeden bod a úsečku nebo dva body ze skici. - + Cannot add a length constraint on an axis! Nelze přidat délkovou vazbu osy! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Vyberte přesně jednu čáru nebo jeden bod a jednu čáru nebo dva body nebo dvě kružnice ze skici. - + This constraint does not make sense for non-linear curves. Tato vazba nedává smysl pro nelineární křivky. - + Endpoint to edge tangency was applied instead. Namísto toho byla použita tečnost hrany v koncovém bodě. - - - - - - - + + + + + + + Select the right things from the sketch. Výberte správné věci z náčrtu. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Vyberte hranu, která není váhou B-splajnu. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Žádný z vybraných bodů nebyl napojen na příslušnou křivku, protože jsou součástí téhož elementu nebo tvoří oba vnější geometrii. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Žádný z vybraných bodů nebyl napojen na příslušnou křivku, protože jsou buď součístí téhož elementu nebo tvoří oba vnější geometrii. - - - - + + + + Select exactly one line or up to two points from the sketch. Vyberte právě jednu úsečku nebo až dva body ze skici. - + Cannot add a horizontal length constraint on an axis! Nelze přidat vodorovnou délkovou vazbu osy! - + Cannot add a fixed x-coordinate constraint on the origin point! Nelze přidat vazbu souřadnice x na počátek souřadnic! - - + + This constraint only makes sense on a line segment or a pair of points. Tato vazba má smysl pouze na segmentu čáry nebo na dvojici bodů. - + Cannot add a vertical length constraint on an axis! Nelze přidat svislou délkovou vazbu osy! - + Cannot add a fixed y-coordinate constraint on the origin point! Nelze přidat vazbu souřadnice y na počátek souřadnic! - + Select two or more lines from the sketch. Vyberte dvě nebo více úseček ze skici. - - + + Select at least two lines from the sketch. Vyberte nejméně dvě úsečky ze skici. - + Select a valid line. Vyberte platnou úsečku. - - + + The selected edge is not a valid line. Vybraná hrana není platnou úsečkou. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2792,42 +2912,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Přijatelné kombinace: dvě křivky; koncový bod a křivka; dva koncové body; dvě křivky a bod. - + Select some geometry from the sketch. perpendicular constraint Vyberte geometrii z náčrtu. - - + + Cannot add a perpendicularity constraint at an unconnected point! Nelze přidat kolmou vazbu na volný bod! - - - + + + Perpendicular to B-spline edge currently unsupported. Kolmost na hranu B-splajnu momentálně není podpofována. - - + + One of the selected edges should be a line. Jedna z vybraných hran by měla být úsečka. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Byla aplikována tečnost v koncových bodech. Vazba shodnosti byla smazána. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Byla použita tečnost hrany v koncovém bodě. Vazba bodu na objektu byla smazána. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2837,179 +2957,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Přijatelné kombinace: dvě křivky; koncový bod a křivka; dva koncové body; dvě křivky a bod. - + Select some geometry from the sketch. tangent constraint Vyberte geometrii z náčrtu. - - - + + + Cannot add a tangency constraint at an unconnected point! Nelze přidat tangentní vazbu na volný bod! - - + + Tangent constraint at B-spline knot is only supported with lines! Omezení tečny u B-spline uzlu je podporováno pouze čarami! - + B-spline knot to endpoint tangency was applied instead. Místo toho byl použit uzel B-spline k tečnosti koncového bodu. - + Select either one point and several curves, or one curve and several points. Vyberte buď jeden bod a několik křivek, nebo jednu křivku a několik bodů. - - + + Wrong number of selected objects! Nesprávný počet vybraných objektů! - - + + With 3 objects, there must be 2 curves and 1 point. Mezi třemi objekty musí být 2 křivky a 1 bod. - - - + + + Tangency to B-spline edge currently unsupported. Tangentnost na hranu B-splajnu momentálně není podporována. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Vyberte jeden nebo více oblouků nebo kružnic z náčrtu. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Vyberte buď pouze jeden nebo více pólů B-Splajnu nebo pouze jeden oblouk nebo kružnici z náčrtu, ale ne jejich kombinace. - - - + + + Constraint only applies to arcs or circles. Vazbu lze použít jen na oblouky nebo kružnice. - - + + Select one or two lines from the sketch. Or select two edges and a point. Vyberte jednu nebo dvě úsečky z náčrtu. Nebo vyberte dvě hrany a bod. - - + + Parallel lines Rovnoběžné úsečky - - + + An angle constraint cannot be set for two parallel lines. Úhlová vazba nemůže být nastavena pro dvě rovnoběžné úsečky. - + Cannot add an angle constraint on an axis! Nelze přidat úhlovou vazbu na osu! - + Select two edges from the sketch. Vyberte dvě hrany ze skici. - + Select two or more compatible edges. Vyberte dvě nebo více kompatibilních hran. - + Sketch axes cannot be used in equality constraints. Osy náčrtu nelze použít pro vazby rovnosti. - + Equality for B-spline edge currently unsupported. Shodnost pro hranu B-splajnu momentálně není podporována. - - - + + + + Select two or more edges of similar type. Vyberte dvě nebo více hran podobného typu. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Vyberte dva body a čáru symetrie, dva body a bod symetrie nebo čáru a bod symetrie z náčrtu. - - + + Cannot add a symmetry constraint between a line and its end points. Nelze přidat vazbu symetrie mezi čárou a jejími koncovými body. - - + + + + Cannot add a symmetry constraint between a line and its end points! Nelze přidat symetrickou vazbu mezi úsečku a její koncový bod! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Vyberte koncové body úsečky představující paprsek a hranu reprezentující rozhraní. První vybraný bod odpovídá indexu n1, druhý indexu n2, zadává se hodnota poměru n2/n1. - + Selected objects are not just geometry from one sketch. Vybrané objekty nejsou geometrií jednoho náčrtu. - + Cannot create constraint with external geometry only. Nejde vytvořit vazbu jen s vnější geometrií. - + Incompatible geometry is selected. Je vybrána nekompatibilní geometrie. - + SnellsLaw on B-spline edge is currently unsupported. Snellův zákon na hraně B-splajnu momentálně není podporován. - - - - - + + + + + Select constraints from the sketch. Vybrat vazby z náčrtu. @@ -3031,155 +3154,155 @@ Přijatelné kombinace: dvě křivky; koncový bod a křivka; dva koncové body; Definovat stupeň B-Splajnu mezi 1 a %1: + + - - CAD Kernel Error Chyba jádra CADu - + None of the selected elements is an edge. Žádný z vybraných prvků není hrana. - - + + At least one of the selected objects was not a B-Spline and was ignored. Alespoň jeden z vybraných objektů nebyl B-splajn a byl vynechán. - - + + The selection comprises more than one item. Please select just one knot. Výběr obsahuje více než jednu položku. Prosím vyberte právě jeden uzel. - - + + Input Error Chyba vstupu - - + + None of the selected elements is a knot of a B-spline Žádný z vybraných prvků není uzlem B-splajnu - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nic není vybráno. Vyberte prosím B-splajn. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Vyberte křivku B-splajn pro vložení uzlu (ne uzel na ni). Pokud křivka není b-splajn, nejprve ji na ni převeďte. - + Nothing is selected. Please select end points of curves. Není vybráno nic. Vyberte prosím koncové body křivek. - + Too many curves on point Příliš mnoho křivek v bodě - - + + Exactly two curves should end at the selected point to be able to join them. Přesně dvě křivky by měly končit ve vybraném bodě, aby bylo možné je spojit. - + Too few curves on point Příliš málo zatáček - + Two end points, or coincident point should be selected. Měly by být vybrány dva koncové body nebo shodný bod. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Vyberte elementy z jednoho náčrtu. - + No constraint selected Nebyla vybrána vazba - + At least one constraint must be selected Musí být vybrána alespoň jedna vazba - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Symetrická konstrukce vyžaduje alespoň dva geometrické elementy, poslední geometrický element je referenční pro vytvoření symetrie. - + The last element must be a point or a line serving as reference for the symmetry construction. Posdní element musí být bod nebo čára sloužící jako reference pro symetrickou konstrukci. - - + + A copy requires at least one selected non-external geometric element Kopie vyžaduje alespoň jeden vybraný geometrický element, který není vnější - + Delete All Geometry Smazat veškerou geometrii - + Are you really sure you want to delete all geometry and constraints? Jste si opravdu jisti, že chcete odstranit veškerou geometrii a vazby? - + Delete All Constraints Smazat všechny vazby - + Are you really sure you want to delete all the constraints? Jste si opravdu jisti, že chcete odstranit všechny vazby? - + Removal of axes alignment requires at least one selected non-external geometric element Odstranění osového zarovnání vyžaduje alespoň jeden vybraný geometrický element, který není vnější - + Unsupported visual layer operation Nepodporovaná operace vizuální vrstvy - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted V současné době není podporováno přesunutí externí geometrie do jiné vizuální vrstvy. Vnější geometrie bude vynechána @@ -3378,67 +3501,67 @@ Přijatelné kombinace: dvě křivky; koncový bod a křivka; dva koncové body; SketcherGui::ConstraintView - + Select Elements Vybrat prvky - + Change value Změnit hodnotu - + Toggle to/from reference Přepnout referenčnost - + Deactivate Deaktivovat - + Activate Aktivovat - + Show constraints Zobrazit vaztby - + Hide constraints Skrýt vazby - + Rename Přejmenovat - + Center sketch Střed náčrtu - + Delete Odstranit - + Swap constraint names Prohodit názvy vazeb - + Unnamed constraint Nepojmenovaná vazba - + Only the names of named constraints can be swapped. Pouze názvy pojmenovaných vazeb mohou být vyměněny. @@ -3446,74 +3569,74 @@ Přijatelné kombinace: dvě křivky; koncový bod a křivka; dva koncové body; SketcherGui::EditDatumDialog - + Insert angle Vložit úhel - + Angle: Úhel: - + Insert radius Vložit poloměr - + Radius: Poloměr: - + Insert diameter Vložit průměr - + Diameter: Průměr: - + Insert weight Vložit váhu - + Weight: Váha: - + Refractive index ratio Constraint_SnellsLaw Index lomu - + Ratio n2/n1: Constraint_SnellsLaw Poměr n2/n1: - + Insert length Vložit délku - + Length: Délka: - + Refractive index ratio Index lomu - + Ratio n2/n1: Poměr n2/n1: @@ -3521,72 +3644,72 @@ Přijatelné kombinace: dvě křivky; koncový bod a křivka; dva koncové body; SketcherGui::ElementFilterList - + Normal Normála - + Construction Konstrukce - + Internal Interní - + External Externí - + All types Všechny typy - + Point Bod - + Line Čára - + Circle Kruh - + Ellipse Elipsa - + Arc of circle Kruhový oblouk - + Arc of ellipse Oblouk elipsy - + Arc of hyperbola Oblouk hyperboly - + Arc of parabola Oblouk paraboly - + B-Spline B-splajn @@ -3594,142 +3717,142 @@ Přijatelné kombinace: dvě křivky; koncový bod a křivka; dva koncové body; SketcherGui::ElementView - + Point Coincidence Shoda bodů - + Point on Object Bod na objekt - + Vertical Constraint Vertikální vazba - + Horizontal Constraint Horizontální vazba - + Parallel Constraint Paralelní vazba - + Perpendicular Constraint Kolmá vazba - + Tangent Constraint Tečná vazba - + Equal Length Stejná délka - + Symmetric Symetrické - + Block Constraint Blokovat vazbu - + Lock Constraint Zamknout vazbu - + Horizontal Distance Vodorovná vzdálenost - + Vertical Distance Vertikální vzdálenost - + Length Constraint Délková vazba - + Radius Constraint Vazba poloměru - + Diameter Constraint Vazba průměru - + Radiam Constraint Vazba poloměru - + Angle Constraint Úhlová vazba - + Toggle construction geometry Přepne konstrukční geometrii - + Select Constraints Vybrat vazby - + Select Origin Vybrat počátek - + Select Horizontal Axis Vybrat vodorovnou osu - + Select Vertical Axis Vybrat svislou osu - + Layer Vrstva - + Layer 0 Vrstva 0 - + Layer 1 Vrstva 1 - + Hidden Skryté - + Delete Odstranit @@ -4012,6 +4135,75 @@ Vyžaduje znovu otevření editace náčrtu, aby se aktivovalo. Notify automatic constraint substitutions Upozornit na automatickou náhradu vazeb + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Obě + + + + Auto + Automaticky + + + + Diameter + Průměr + + + + Radius + Poloměr + SketcherGui::SketcherSettingsColors @@ -4457,12 +4649,12 @@ Pak jsou objekty viditelné pouze za rovinou náčrtu. Použít na existující náčrty - + Unexpected C++ exception Neočekávaná C++ vyjímka - + Sketcher Náčrt @@ -4635,48 +4827,48 @@ Nebyly nalezeny vazby připojené k těmto koncovým bodům. Nastavení - + Constraints Constraints - + Auto constraints Automatické vazby - + Auto remove redundants Automaticky odstraňovat redundantní - + Show only filtered Constraints Zobrazit pouze filtrované vazby - + Extended information (in widget) Rozšířené informace (ve widgetu) - + Hide internal alignment (in widget) Skrýt vnitřní zarovnání (ve widgetu) - - + + Error Chyba - + Impossible to update visibility tracking Není možné aktualizovat sledování viditelnosti - + Impossible to update visibility tracking: Není možné aktualizovat sledování viditelnosti: @@ -4708,6 +4900,33 @@ Nebyly nalezeny vazby připojené k těmto koncovým bodům. Settings Nastavení + + + + + + + + + + + + Construction + Konstrukce + + + + Elements + Elementy + + + + + + + Point + Bod + @@ -4719,110 +4938,83 @@ Nebyly nalezeny vazby připojené k těmto koncovým bodům. - Construction - Konstrukce - - - - Elements - Elementy - - - - - - - Point - Bod - - - - - - - - - - - - Internal Interní - - + + + - Line Čára - - + + + - Arc oblouk - - + + + - Circle Kruh - - + + + - Ellipse Elipsa - - + + + - Elliptical Arc Eliptický oblouk - - + + + - Hyperbolic Arc Hyperbolický oblouk - - + + + - Parabolic Arc Parabolický oblouk - - + + + - BSpline BSplajn - - + + + - Other Jiný - + Extended information Rozšířené informace @@ -4830,42 +5022,42 @@ Nebyly nalezeny vazby připojené k těmto koncovým bodům. SketcherGui::TaskSketcherMessages - + Solver messages Zprávy řešiče - + Auto update Automatická aktualizace - + Executes a recomputation of active document after every sketch action Provede přepočítání aktivního dokumentu po každé akci v náčrtu - + Click to select the conflicting constraints. Kliknutím vyberte konfliktní vazby. - + Click to select the redundant constraints. Kliknutím vyberte nadbytečné vazby. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Náčrt má nezavazbené prvky, které dávají vzniknout zmíněným stupňům volnosti. Klepnutím na tlačítko vyberete nezavazbené prvky. - + Click to select the malformed constraints. Klepnutím vyberte poškozené vazby. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Některé kombinace vazeb jsou částečně nadbytečné. Kliknutím vyberte částečně duplicitní vazby. @@ -5043,112 +5235,112 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. SketcherGui::ViewProviderSketch - + Edit sketch Upravit skicu - + A dialog is already open in the task panel Dialog je opravdu otevřen v panelu úloh - + Do you want to close this dialog? Chcete zavřít tento dialog? - + Invalid sketch Neplatný náčrt - + Do you want to open the sketch validation tool? Chcete otevřít nástroje pro ověření náčrtu? - + The sketch is invalid and cannot be edited. Náčrt není platný a nemůže být upravován. - + Please remove the following constraint: Odstraňte, prosím, následující vazbu: - + Please remove at least one of the following constraints: Odstraňte, prosím, alespoň jednu z následujících vazeb: - + Please remove the following redundant constraint: Odstraňte, prosím, následující nadbytečnou vazbu: - + Please remove the following redundant constraints: Odstraňte, prosím, následující nadbytečné vazby: - + The following constraint is partially redundant: Toto omezení je částečně nadbytečné: - + The following constraints are partially redundant: Tato omezení jsou částečně nadbytečná: - + Please remove the following malformed constraint: Odstraňte prosím tuto poškozenou vazbu: - + Please remove the following malformed constraints: Odstraňte prosím tyto poškozené vazby: - + Empty sketch Prázdný náčrt - + Over-constrained: Převazbené: - + Malformed constraints: Poškozené vazby: - + Redundant constraints: Nadbytečné vazby: - + Partially redundant: Částečně nadbytečné: - + Solver failed to converge Řešič nezkonvergoval - + Under constrained: Nedostatečně omezené: - + %n DoF(s) %n Stupeň Volnosti(s) @@ -5159,7 +5351,7 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. - + Fully constrained Plně zavazbené @@ -5167,8 +5359,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Přepnout mezi zobrazením a skrytím křivosti všech B-splajnů @@ -5176,8 +5368,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Snížit násobnost vybraného uzlu B-splajnu @@ -5185,8 +5377,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Přepnout mezi zobrazením a skrytím stupně všech B-splajnů @@ -5194,8 +5386,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Zvýší násobnost vybraného uzlu B-splajnu @@ -5203,8 +5395,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Přepne mezi zobrazením a skrytím násobnosti uzlů pro všechny B-splajny @@ -5212,8 +5404,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Přepne mezi zobrazením a skrytím váhy kontrolních bodů všech B-splajnů @@ -5221,8 +5413,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Přepne mezi zobrazením a skrytím kontrolních polygonů všech B-splajnů @@ -5230,8 +5422,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Vytvoří klon geometrie, s naposledy vybraným bodem jako referenčním @@ -5239,17 +5431,17 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_CompCopy - + Clone Klon - + Copy Kopírovat - + Move Přesun @@ -5257,8 +5449,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Zadá průměr kružnice nebo oblouku @@ -5266,7 +5458,7 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Opravit poloměr/průměr kružnice nebo oblouku @@ -5274,8 +5466,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Zadá poloměr kružnice nebo oblouku @@ -5283,7 +5475,7 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Opravit poloměr/průměr kružnice nebo oblouku @@ -5291,8 +5483,8 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Vytvoří jednoduchou kopii geometrie s naposledy vybraným bodem jako referenčním @@ -5511,63 +5703,63 @@ Toto se provádí analýzou geometrií a vazeb náčrtu. Sketcher_MapSketch - + No sketch found Žádná skica nalezena - + The document doesn't have a sketch Dokument nemá skicu - + Select sketch Vyberte skicu - + Select a sketch from the list Vyberte náčrt ze seznamu - + (incompatible with selection) (nekompatibilní s výběrem) - + (current) (aktuální) - + (suggested) (doporučeno) - + Sketch attachment Připojení náčrtu - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Současný mód připojení není kompatibilní s novým výběrem. Vyberte metodu pro připojení tohoto náčrtu k vybraným objektům. - + Select the method to attach this sketch to selected objects. Vyberte metodu pro připojení tohoto náčrtu k vybraným objektům. - + Map sketch Mapovat náčrt - + Can't map a sketch to support: %1 Není možné mapovat náčrt na podporu: @@ -5577,8 +5769,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Posune geometrii, s naposledy vybraným bodem jako referenčním @@ -5586,12 +5778,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Připojení náčrtu - + Select the method to attach this sketch to selected object Vyberte metodu pro připojení tohoto náčrtu k vybranému objektu @@ -5599,12 +5791,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Náčrtky jsou podporovány - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Náčrtek s podporou průčelí nemůže být přeorientována. @@ -5613,11 +5805,6 @@ Přeješ si odstranit podporu průčelí? TaskSketcherMessages - - - Form - Návrh - DOF @@ -5636,11 +5823,6 @@ Přeješ si odstranit podporu průčelí? TaskSketcherSolverAdvanced - - - Form - Návrh - Default algorithm used for Sketch solving @@ -5913,7 +6095,7 @@ Eigen Sparse QR algoritmus je optimalizován pro řídké matrice; obvykle rychl ViewProviderSketch - + and %1 more a %1 další @@ -6103,22 +6285,22 @@ Rozteč mřížky se změní, pokud bude menší než tento počet pixelů. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Automaticky změnit velikost mřížky v závislosti na přiblížení. - + Spacing Mezera - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6126,87 +6308,87 @@ Rozteč mřížky se změní, pokud bude menší než tento počet pixelů. Notifications - + The Sketch has malformed constraints! Náčrt má poškozené vazby! - + The Sketch has partially redundant constraints! Náčrt má částečně nadbytečné vazby! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Paraboly byly migrovány. Migrované soubory se v předchozích verzích FreeCADu neotevřou!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Chyba - + Failed to delete all geometry Nepodařilo se odstranit celou geometrii - + Failed to delete all constraints Nepodařilo se odstranit všechny vazby - + The constraint has invalid index information and is malformed. Omezení má neplatné informace o indexu a je chybné. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Neplatná omezení @@ -6248,8 +6430,8 @@ Rozteč mřížky se změní, pokud bude menší než tento počet pixelů.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6346,9 +6528,9 @@ Rozteč mřížky se změní, pokud bude menší než tento počet pixelů.Nepodařilo se oříznout okraj - - - + + + Value Error Chyba v hodnotě @@ -6384,58 +6566,58 @@ Rozteč mřížky se změní, pokud bude menší než tento počet pixelů. SnapSpaceAction - + Snap to objects Přichytit k objektům - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Nové body přejdou k aktuálně zvolenému objektu. Přicházejí také do středu čar a oblouků. - + Snap to grid Přichytit k mřížce - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Nové body se přesunou na nejbližší řádek mřížky. Body musí být nastaveny blíže než pětina rozestupu mřížky k napnutí mřížky. - + Snap angle Úhel zachytávání - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normální geometrie - - Construction Geometry - Konstrukční geometrie + Normal Geometry + Normální geometrie + Construction Geometry + Konstrukční geometrie + + + + + External Geometry Externí geometrie @@ -6456,12 +6638,12 @@ Body musí být nastaveny blíže než pětina rozestupu mřížky k napnutí m CmdSketcherGrid - + Toggle grid Přepnout mřížku - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6469,12 +6651,12 @@ Body musí být nastaveny blíže než pětina rozestupu mřížky k napnutí m CmdSketcherSnap - + Toggle snap Přepnout přichytávání - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6505,4 +6687,34 @@ Body musí být nastaveny blíže než pětina rozestupu mřížky k napnutí m Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Rozměr + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_de.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_de.ts index 5e4d738752..62325212a1 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_de.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_de.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb B-Spline-Krümmungskamm ein- / ausblenden - + Switches between showing and hiding the curvature comb for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden des Krümmungskammes für alle B-Splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree B-Spline-Grad ein- / ausblenden - + Switches between showing and hiding the degree for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden des Grades für alle B-Splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Vielfachheit der B-Spline-Knoten ein- / ausblenden - + Switches between showing and hiding the knot multiplicity for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden der Knoten-Vielfachheit für alle B-Splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Gewicht der B-Spline-Kontrollpunkte anzeigen / ausblenden - + Switches between showing and hiding the control point weight for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden des Gewichts für alle B-Spline-Kontrollpunkte @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon B-Spline-Kontrollpolygon ein- / ausblenden - + Switches between showing and hiding the control polygons for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden der Kontroll-Polygone für alle B-Splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Klonen - + Creates a clone of the geometry taking as reference the last selected point Erstellt einen Klon der Geometrie mit dem zuletzt gewählten Punkt als Referenz @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer B-Spline-Informationsschicht ein- / ausblenden - + Show/hide B-spline degree B-Spline-Grad ein- / ausblenden - + Show/hide B-spline control polygon B-Spline-Kontrollpolygon ein- / ausblenden - + Show/hide B-spline curvature comb B-Spline-Krümmungskamm ein- / ausblenden - + Show/hide B-spline knot multiplicity Vielfachheit der B-Spline-Knoten ein- / ausblenden - + Show/hide B-spline control point weight Gewicht der B-Spline-Kontrollpunkte anzeigen / ausblenden @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Bogen oder Kreis festlegen - + Constrain an arc or a circle Krümmung eines Kreisbogens oder Kreises festlegen - + Constrain radius Radius festlegen - + Constrain diameter Durchmesser festlegen - + Constrain auto radius/diameter Automatisch Radius oder Durchmesser festlegen @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Klonen - + Creates a clone of the geometry taking as reference the last selected point Erstellt einen Klon der Geometrie mit dem zuletzt gewählten Punkt als Referenz @@ -359,28 +359,28 @@ Regular polygon - Regelmäßiges Polygon + Regelmäßiges Vieleck CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Vielfachheit eines Spline-Knotens ändern - + Modifies the multiplicity of the selected knot of a B-spline Modifiziert die Vielfachheit eines ausgewählten B-Spline-Knotens - + Increase knot multiplicity Vielfachheit eines Spline-Knotens erhöhen - + Decrease knot multiplicity Vielfachheit eines Spline-Knotens verringern @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Winkel festlegen - + Fix the angle of a line or the angle between two lines Winkel einer Linie (zur horizontalen Skizzenachse) oder Winkel zwischen zwei Linien festlegen @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Fixieren - + Block the selected edge from moving Ausgewählte Kante fixieren @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Koinzidenz festlegen - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Erstellt eine Randbedingung Koinzidenz festlegen zwischen Punkten oder eine Randbedingung Konzentrisch festlegen zwischen Kreisen, Bögen und Ellipsen @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Durchmesser festlegen - + Fix the diameter of a circle or an arc Durchmesser eines Kreises oder Kreisbogens festlegen @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Abstand festlegen - + Fix a length of a line or the distance between a line and a vertex or between two circles Legt die Länge einer Linie, den Abstand zwischen einer Linie und einem Knotenpunkt oder zwischen zwei Kreisen fest @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Horizontalen Abstand festlegen - + Fix the horizontal distance between two points or line ends Den horizontalen Abstand zwischen zwei Punkten oder Streckenenden festlegen @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Vertikalen Abstand festlegen - + Fix the vertical distance between two points or line ends Den vertikalen Abstand zwischen zwei Punkten oder Streckenenden festlegen @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Gleichheit festlegen - + Create an equality constraint between two lines or between circles and arcs Eine Gleichheitsbeschränkung zwischen zwei Linien oder zwischen Kreisen und Bögen festlegen @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Horizontal festlegen - + Create a horizontal constraint on the selected item Eine horizontale Beschränkung für das gewählte Element setzen @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Sperren - + Create both a horizontal and a vertical distance constraint on the selected vertex Erstellt gleichzeitig Randbedingungen für den horizontalen und @@ -520,12 +520,12 @@ den vertikalen Abstand eines ausgewählten Knotens zum Ursprung CmdSketcherConstrainParallel - + Constrain parallel Parallel festlegen - + Create a parallel constraint between two lines Legt die Parallelität zweier Geraden fest @@ -533,12 +533,12 @@ den vertikalen Abstand eines ausgewählten Knotens zum Ursprung CmdSketcherConstrainPerpendicular - + Constrain perpendicular Rechtwinklig festlegen - + Create a perpendicular constraint between two lines Erstellt eine Randbedingung, die zwei Linien rechtwinklig zueinander festlegt @@ -546,12 +546,12 @@ den vertikalen Abstand eines ausgewählten Knotens zum Ursprung CmdSketcherConstrainPointOnObject - + Constrain point onto object Punkt auf Objekt festlegen - + Fix a point onto an object Punkt auf ein Objekt festlegen @@ -559,12 +559,12 @@ den vertikalen Abstand eines ausgewählten Knotens zum Ursprung CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Automatisch Radius oder Durchmesser festlegen - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Legt den Durchmesser fest, wenn ein Kreis ausgewählt wird, oder den Radius, wenn ein Kreisbogen oder Spline-Kontrollpunkt ausgewählt wird @@ -572,12 +572,12 @@ den vertikalen Abstand eines ausgewählten Knotens zum Ursprung CmdSketcherConstrainRadius - + Constrain radius or weight Radius oder Gewicht festlegen - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Legt den Radius eines Kreises oder eines Bogens fest, oder das Gewicht eines B-Spline-Kontrollpunktes @@ -585,12 +585,12 @@ den vertikalen Abstand eines ausgewählten Knotens zum Ursprung CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Lichtbrechung (nach Snellius-Gesetz) festlegen - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Erstellen Sie eine Lichtbrechung (Snellius-Gesetz) als Einschränkung zwischen zwei Endpunkten der Strahlen und einer Kante als Schnittstelle. @@ -599,12 +599,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Symmetrie festlegen - + Create a symmetry constraint between two points with respect to a line or a third point Die Symmetrie zwischen zwei Punkten im Bezug auf eine Linie oder einen dritten Punkt festlegen @@ -613,12 +613,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Tangential festlegen - + Create a tangent constraint between two entities Legt zwei Elementen tangential zueinander fest @@ -626,12 +626,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Vertikal festlegen - + Create a vertical constraint on the selected item Eine vertikale Beschränkung für das gewählte Element setzen @@ -639,12 +639,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Geometrie in B-Spline wandeln - + Converts the selected geometry to a B-spline Wandelt die ausgewählte Geometrie in einen B-Spline @@ -652,12 +652,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Kopieren - + Creates a simple copy of the geometry taking as reference the last selected point Erstellt eine einfache Kopie der Geometrie mit dem zuletzt gewählten Punkt als Referenz @@ -797,7 +797,7 @@ with respect to a line or a third point Create fillet - Verrundung erstellen + Abrundung erstellen @@ -1016,12 +1016,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Grad des B-Splines verringern - + Decreases the degree of the B-spline Verringert den Grad des B-Splines @@ -1029,12 +1029,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity - Vielfachheit eines Spline-Knotens verringern + Knoten-Multiplikation verringern - + Decreases the multiplicity of the selected knot of a B-spline Verringert die Vielfachheit eines ausgewählten B-Spline-Knotens @@ -1042,12 +1042,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Alle Randbedingungen löschen - + Delete all constraints in the sketch Löscht alle Randbedingungen in der Skizze @@ -1055,12 +1055,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Gesamte Geometrie löschen - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Sämtliche Geometrie und Randbedingungen aus der aktuellen Skizze löschen, mit Ausnahme der externen Geometrie @@ -1068,12 +1068,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Skizze bearbeiten - + Edit the selected sketch. Ausgewählte Skizze bearbeiten. @@ -1107,12 +1107,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Grad des B-Splines erhöhen - + Increases the degree of the B-spline Erhöht den Grad des B-Splines @@ -1120,12 +1120,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity - Vielfachheit eines Spline-Knotens erhöhen + Knoten-Multiplikation erhöhen - + Increases the multiplicity of the selected knot of a B-spline Erhöht die Vielfachheit eines ausgewählten B-Spline-Knotens @@ -1133,12 +1133,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Knoten einfügen - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Fügt einen Knoten zum angegebenen Parameter hinzu. Wenn zu diesem Parameter schon ein Punkt vorhanden ist, wird dessen Vielfachheit um eins erhöht. @@ -1146,12 +1146,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Kurven verbinden - + Join two curves at selected end points Verbindet zwei Kurven an den ausgewählten Endpunkten @@ -1159,12 +1159,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Skizze verlassen - + Finish editing the active sketch. Bearbeitung der aktiven Skizze beenden. @@ -1172,12 +1172,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Skizze einer Fläche zuordnen... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1186,7 +1186,7 @@ Zuerst die Stützgeometrie auswählen, zum Beispiel eine Fläche oder eine Kante danach diesen Befehl aufrufen, und schließlich die gewünschte Skizze auswählen. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Einige der ausgewählten Objekte hängen von der Skizze ab. Zirkuläre Abhängigkeiten sind nicht erlaubt. @@ -1194,22 +1194,22 @@ danach diesen Befehl aufrufen, und schließlich die gewünschte Skizze auswähle CmdSketcherMergeSketches - + Merge sketches Skizzen zusammenführen - + Create a new sketch from merging two or more selected sketches. Eine neue Skizze durch das Zusammenführen von zwei oder mehr ausgewählten Skizzen erstellen. - + Wrong selection Falsche Auswahl - + Select at least two sketches. Mindestens zwei Skizzen auswählen. @@ -1217,12 +1217,12 @@ danach diesen Befehl aufrufen, und schließlich die gewünschte Skizze auswähle CmdSketcherMirrorSketch - + Mirror sketch Skizze spiegeln - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1230,12 +1230,12 @@ as mirroring reference. als Spiegelreferenz verwendet werden. - + Wrong selection Falsche Auswahl - + Select one or more sketches. Eine oder mehrere Skizzen auswählen. @@ -1243,12 +1243,12 @@ als Spiegelreferenz verwendet werden. CmdSketcherMove - + Move Verschieben - + Moves the geometry taking as reference the last selected point Verschiebt die Geometrie und verwendet den zuletzt ausgewählten Punkt als Referenz @@ -1256,12 +1256,12 @@ als Spiegelreferenz verwendet werden. CmdSketcherNewSketch - + Create sketch Skizze erstellen - + Create a new sketch. Neue Skizze erstellen. @@ -1269,12 +1269,12 @@ als Spiegelreferenz verwendet werden. CmdSketcherRectangularArray - + Rectangular array Rechteckige Anordnung - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Erzeugt eine rechteckige Anordnung der Geometrie mit dem zuletzt gewählten Punkt als Referenz @@ -1282,12 +1282,12 @@ als Spiegelreferenz verwendet werden. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Achsenausrichtung entfernen - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Ändert Einschränkungen, um Achsenausrichtungen zu entfernen und versucht gleichzeitig, die Beziehungen zwischen den Einschränkungen der Auswahl zu erhalten @@ -1295,12 +1295,12 @@ als Spiegelreferenz verwendet werden. CmdSketcherReorientSketch - + Reorient sketch... Skizze neu ausrichten... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Skizze auf eine globale Koordinaten-Ebene legen. @@ -1310,12 +1310,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Interne Geometrie anzeigen / ausblenden - + Show all internal geometry or hide unused internal geometry Sämtliche interne Geometrie anzeigen oder ungenutzte interne Geometrie ausblenden @@ -1323,8 +1323,8 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Widersprüchliche Randbedingungen auswählen @@ -1332,12 +1332,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectConstraints - + Select associated constraints Zugehörige Einschränkungen auswählen - + Select the constraints associated with the selected geometrical elements Wählt die Randbedingungen aus, die zu den ausgewählten geometrischen Elementen gehören @@ -1345,12 +1345,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Zugehörige Geometrie auswählen - + Select the geometrical elements associated with the selected constraints Wählt die geometrischen Elemente aus, die den ausgewählten Randbedingungen zugeordnet sind @@ -1358,12 +1358,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Unterbestimmte Elemente auswählen - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Geometrische Elemente auswählen, bei denen der Löser noch nicht-bestimmte Freiheitsgrade erkennt. @@ -1371,12 +1371,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Horizontale Achse auswählen - + Select the local horizontal axis of the sketch Wählt die lokale horizontale Achse der Skizze aus @@ -1384,8 +1384,8 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Wähle fehlerhafte Einschränkungen @@ -1393,12 +1393,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectOrigin - + Select origin Ursprung auswählen - + Select the local origin point of the sketch Wählt den lokalen Ursprungspunkt der Skizze aus @@ -1406,8 +1406,8 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Teilweise überflüssige Randbedingungen auswählen @@ -1415,8 +1415,8 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Überflüssige Randbedingungen auswählen @@ -1424,12 +1424,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSelectVerticalAxis - + Select vertical axis Vertikale Achse auswählen - + Select the local vertical axis of the sketch Wählt die lokale vertikale Achse der Skizze aus @@ -1450,12 +1450,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherStopOperation - + Stop operation Vorgang beenden - + When in edit mode, stop the active operation (drawing, constraining, etc.). Beendet den aktiven Vorgang im Bearbeitungsmodus (Zeichnung, Einschränkung, etc.). @@ -1476,12 +1476,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherSymmetry - + Symmetry Symmetrie - + Creates symmetric geometry with respect to the last selected line or point Erstellt symmetrische Geometrie mit Bezug auf die zuletzt ausgewählte Linie oder Punkt @@ -1489,12 +1489,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Einschränkung aktivieren/deaktivieren - + Activates or deactivates the selected constraints Aktiviert oder deaktiviert die ausgewählten Einschränkungen @@ -1515,12 +1515,12 @@ Die Eigenschaft 'Support' wird gelöscht. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Einschränkung zwischen festlegend und anzeigend umschalten - + Set the toolbar, or the selected constraints, into driving or reference mode Die Symbolleiste oder die ausgewählten Einschränkungen @@ -1543,24 +1543,24 @@ auf den festlegenden oder den anzeigenden Modus festlegen CmdSketcherValidateSketch - + Validate sketch... Skizze überprüfen... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Eine Skizze durch Betrachtung der fehlenden Übereinstimmungen, ungültigen Einschränkungen, degenerierten Geometrien, etc überprüfen. - + Wrong selection Falsche Auswahl - + Select only one sketch. Nur eine Skizze auswählen. @@ -1568,12 +1568,12 @@ ungültigen Einschränkungen, degenerierten Geometrien, etc überprüfen. CmdSketcherViewSection - + View section Schnitt anzeigen - + When in edit mode, switch between section view and full view. Wechseln Sie im Bearbeitungsmodus zwischen der Sektionsansicht und der Vollansicht. @@ -1581,12 +1581,12 @@ ungültigen Einschränkungen, degenerierten Geometrien, etc überprüfen. CmdSketcherViewSketch - + View sketch Skizze anzeigen - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Stellen Sie im Bearbeitungsmodus die Kameraorientierung senkrecht auf die Skizzenebene ein. @@ -1594,287 +1594,404 @@ ungültigen Einschränkungen, degenerierten Geometrien, etc überprüfen. Command - - + + Add horizontal constraint Horizontal-Einschränkung hinzufügen - - - + + + Add horizontal alignment Horizontale Ausrichtung hinzufügen - - + + Add vertical constraint Vertikal-Einschränkung hinzufügen - + Add vertical alignment Vertikale Ausrichtung hinzufügen - + Add 'Lock' constraint Sperreinschränkung hinzufügen - + Add relative 'Lock' constraint Relative Sperreinschränkung hinzufügen - + Add fixed constraint Sperr-Einschränkung hinzufügen - + Add 'Block' constraint Fixier-Einschränkung hinzufügen - + Add block constraint Fixier-Einschränkung hinzufügen - - - + + + Add coincident constraint Übereinstimmungseinschränkung hinzufügen - - + + Add distance from horizontal axis constraint Einschränkung des Abstands zur horizontalen Achse hinzufügen - - + + Add distance from vertical axis constraint Einschränkung des Abstands zur vertikalen Achse hinzufügen - - + + Add point to point distance constraint Einschränkung des Abstands zweier Punkte hinzufügen - - + + + Add point to line Distance constraint Einschränkung des Abstands eines Punktes zu einer Linie hinzufügen - - + + Add circle to circle distance constraint Kreisabstand hinzufügen - + Add circle to line distance constraint Abstand von Kreis zu Linie hinzufügen - - + + + + + Add length constraint Längeneinschränkung hinzufügen - - + + + Dimension + Abmessung + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Punkt-auf-Objekt-Einschränkung hinzufügen - - + + Add point to point horizontal distance constraint Einschränkung des horizontalen Abstands zweier Punkte hinzufügen - + Add fixed x-coordinate constraint Einschränkung zur Sperrung der x-Koordinate hinzufügen - - + + Add point to point vertical distance constraint Einschränkung des vertikalen Abstands zweier Punkte hinzufügen - + Add fixed y-coordinate constraint Einschränkung zur Sperrung der y-Koordinate hinzufügen - - + + Add parallel constraint Parallelitätseinschränkung hinzufügen - - - - - - - + + + + + + + Add perpendicular constraint Rechtwinkligkeitseinschränkung hinzufügen - + Add perpendicularity constraint Rechtwinkligkeitseinschränkung hinzufügen - + Swap coincident+tangency with ptp tangency Deckungsgleichheit + Berührung gegen tangentenstetigen Übergang in einem Punkt tauschen - + Swap PointOnObject+tangency with point to curve tangency Tausche Punkt auf Objekt + Tangentialität gegen Punkt zu Kurve Tangentialität - - - - - - - + + + + + + + Add tangent constraint Tangenteneinschränkung hinzufügen - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Punkt für Tangenteneinschränkung hinzufügen - - - - + + + + Add radius constraint Radius-Einschränkung hinzufügen - - - - + + + + Add diameter constraint Durchmesser-Einschränkung hinzufügen - - - - + + + + Add radiam constraint Radiam-Beschränkung hinzufügen - - - - - - + + + + + + Add angle constraint Winkeleinschränkung hinzufügen - - + + Add equality constraint Gleichheitseinschränkung hinzufügen - - - - - + + + + + Add symmetric constraint Symmetrieeinschränkung hinzufügen - + Add Snell's law constraint Einschränkung nach Snellius-Gesetz (Lichtbrechung) hinzufügen - + Toggle constraint to driving/reference Einschränkung zwischen festlegend und anzeigend umschalten - + Activate/Deactivate constraint Einschränkung aktivieren / deaktivieren - + Create a new sketch on a face Neue Skizze auf einer Fläche erstellen - + Create a new sketch Neue Skizze erstellen - + Reorient sketch Skizze neu ausrichten - + Attach sketch Skizze anheften - + Detach sketch Skizze abtrennen - + Create a mirrored sketch for each selected sketch Eine gespiegelte Skizze für jede ausgewählte Skizze erstellen - + Merge sketches Skizzen zusammenführen @@ -1992,72 +2109,72 @@ ungültigen Einschränkungen, degenerierten Geometrien, etc überprüfen.Sechseck hinzufügen - + Convert to NURBS In NURBS umwandeln - + Increase spline degree Grad des Splines erhöhen - + Decrease spline degree Grad des Splines verringern - + Increase knot multiplicity Vielfachheit eines Spline-Knotens erhöhen - + Decrease knot multiplicity Vielfachheit eines Spline-Knotens verringern - + Insert knot Knoten einfügen - + Join Curves Kurven verbinden - + Exposing Internal Geometry Interne Geometry anzeigen - + Create symmetric geometry Symmetrische Geometrie erstellen - + Copy/clone/move geometry Geometrie kopieren / klonen / verschieben - + Create copy of geometry Eine Kopie der Geometrie erstellen - + Delete all geometry Gesamte Geometrie löschen - + Delete All Constraints Alle Randbedingungen löschen - + Remove Axes Alignment Achsenausrichtung entfernen @@ -2068,44 +2185,44 @@ ungültigen Einschränkungen, degenerierten Geometrien, etc überprüfen. - - - + + + Update constraint's virtual space Virtuellen Raum der Einschränkungen aktualisieren - + Add auto constraints Automatische Randbedingungen hinzufügen - + Swap constraint names Namen der Beschränkungen tauschen - + Rename sketch constraint Skizzeneinschränkung umbenennen - + Drag Point Punkt ziehen - + Drag Curve Kurve ziehen - + Drag Constraint Einschränkung ziehen - + Modify sketch constraints Skizzeneinschränkung ändern @@ -2166,59 +2283,59 @@ ungültigen Einschränkungen, degenerierten Geometrien, etc überprüfen.Fehler automatische Beschränkungen: unlösbare Skizze nach dem Anwenden von gleichheits Beschränkungen. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Der Schnittpunkt der Kurven kann nicht ermittelt werden. Die Randbedingung Koinzidenz festlegen, angewendet auf die Endpunkte der Kurven, die verrundet werden sollen, kann hier helfen. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline Geometrie Index (GeoID) ist außerhalb des gültigen Bereichs. - + You are requesting no change in knot multiplicity. Sie fordern keine Änderung in der Multiplizität der Knoten. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Der bereitgestellte Geometrieindex (GeoId) ist keine B-Spline-Kurve. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Der Knotenindex ist außerhalb der Grenzen. Beachten Sie, dass der erste Knoten gemäß der OCC-Notation den Index 1 und nicht Null hat. - + The multiplicity cannot be increased beyond the degree of the B-spline. Die Vielfachheit kann nicht über den Grad des B-Splines hinaus erhöht werden. - + The multiplicity cannot be decreased beyond zero. Die Vielfachheit kann nicht über Null hinaus verringert werden. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC kann die Multiplizität innerhalb der maximalen Toleranz nicht verringern. - + Knot cannot have zero multiplicity. Ein Knoten kann nicht die Vielfachheit Null haben. - + Knot multiplicity cannot be higher than the degree of the BSpline. Die Vielfachheit kann nicht höher als der Grad des B-Splines sein. - + Knot cannot be inserted outside the BSpline parameter range. Knoten kann nicht außerhalb des BSpline-Parameterbereichs eingefügt werden. @@ -2234,210 +2351,213 @@ ungültigen Einschränkungen, degenerierten Geometrien, etc überprüfen. QObject - - - - + + + + Sketcher Sketcher - + There are no modes that accept the selected set of subelements Es gibt keine Modi, die die ausgewählten Unterelementen akzeptieren - + Broken link to support subelements Kaputter Link zur Unterstützung von Unterelementen - - + + Unexpected error Unerwarteter Fehler - + Face is non-planar Oberfläche ist nicht planar - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Ausgewählte Formen sind von der falschen Form (z. B. eine gebogene Kante wo eine gerade benötigt wird) - + Sketch mapping Skizzen Zuordnung - + Can't map the sketch to selected object. %1. Die Skizze kann dem ausgewählten Objekt nicht zugeordnet werden. %1. - - + + Don't attach Nicht anhängen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Falsche Auswahl @@ -2448,339 +2568,339 @@ ungültigen Einschränkungen, degenerierten Geometrien, etc überprüfen.Kante(n) aus der Skizze auswählen. - + Not allowed to edit the datum because the sketch contains conflicting constraints Der Bezug darf nicht geändert werden, da die Skizze widersprüchliche Randbedingungen enthält - + Dimensional constraint Maßliche Einschränkung - + Cannot add a constraint between two external geometries. Es ist nicht möglich eine Einschränkung zwischen zwei externen Geometrien hinzuzufügen. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Es ist nicht möglich, eine Randbedingung zwischen zwei unveränderlichen Geometrien hinzuzufügen. Unveränderliche Geometrien schließen externe Geometrie, fixierte Geometrie oder spezielle Punkte, wie B-Spline-Knotenpunkte, ein. - + Sketcher Constraint Substitution Beschränkung Ersetzen - + Keep notifying me of constraint substitutions Benachrichtige mich über Beschränkungssubstitutionen - - - + + + Only sketch and its support are allowed to be selected. Nur eine Skizze und deren Trägerfläche dürfen ausgewählt werden. - + One of the selected has to be on the sketch. Eins der ausgewählten muss auf der Skizze liegen. - - + + Select an edge from the sketch. Wählen Sie eine Kante aus der Skizze. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Nicht erfüllbare Bedingung - - - - + + + + The selected edge is not a line segment. Die ausgewählte Kante ist kein Liniensegment. - - - - - - + + + + + + Double constraint Doppelbedingung - - - - - + + + + + The selected edge already has a horizontal constraint! Die ausgewählte Kante hat bereits eine Horizontal-Einschränkung! - - - + + + The selected edge already has a vertical constraint! Die ausgewählte Kante hat bereits eine Vertikal-Einschränkung! - - - - - - + + + + + + The selected edge already has a Block constraint! Die ausgewählte Kante hat bereits eine Fixier-Einschränkung! - + The selected item(s) can't accept a horizontal constraint! Die ausgewählten Elemente können keine Horizontal-Einschränkung annehmen! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Es ist mehr als ein Fixpunkt ausgewählt. Wähle maximal einen Fixpunkt! - + The selected item(s) can't accept a vertical constraint! Die ausgewählten Elemente können keine Vertikal-Einschränkung annehmen! - - - + + + Select vertices from the sketch. Wählen Sie Knoten aus der Skizze aus. - + Select one vertex from the sketch other than the origin. Einen Knoten aus der Skizze auswählen, nur nicht den Ursprung. - + Select only vertices from the sketch. The last selected vertex may be the origin. Nur Knoten aus der Skizze auswählen. Der letzte gewählte Knoten darf der Ursprung sein. - + Wrong solver status Falscher Solver Status - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Eine Fixier-Einschränkung kann nicht hinzugefügt werden, solange die Skizze nicht berechnet (gelöst) ist oder redundante und / oder widersprüchliche Einschränkungen enthält. - + Select one edge from the sketch. Wähle eine Kante aus der Skizze aus. - + Select only edges from the sketch. Wähle nur Kanten aus der Skizze aus. - + Number of selected objects is not 3 Die Anzahl der ausgewählten Objekte ist nicht 3 - - - + + + Error - Fehlermeldungen + Fehler - + Unexpected error. More information may be available in the Report View. - Unerwarteter Fehler. Weitere Informationen sind in der Report-Ansicht verfügbar. + Unerwarteter Fehler. Das Ausgabefenster könnte weitere Informationen enthalten. - + Endpoint to endpoint tangency was applied instead. Die Endpunkt zu Endpunkt Tangente wurde stattdessen angewendet. - + Select two or more points from the sketch. Wählen Sie aus der Skizze zwei oder mehr Punkte aus. - + Select two or more vertices from the sketch. Zwei oder mehr Knotenpunkte aus der Skizze auswählen. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Wähle zwei oder mehr Knotenpunkte aus der Skizze für eine Übereinstimmungseinschränkung, oder zwei oder mehr Kreise, Ellipsen, Bögen oder Ellipsenbögen für einen konzentrischen Zwang. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Wähle zwei Knotenpunkte aus der Skizze für eine Übereinstimmunseinschränkung aus, oder zwei Kreise, Ellipsen, Bögen oder Ellipsenbögen für einen konzentrischen Zwang. - + Select exactly one line or one point and one line or two points from the sketch. Wählen Sie genau eine Linie oder einen Punkt und eine Linie oder zwei Punkte aus der Skizze aus. - + Cannot add a length constraint on an axis! Keine Längenbeschränkung einer Achse möglich! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Wählen Sie genau eine Linie oder einen Punkt und eine Linie oder zwei Punkte oder zwei Kreise aus der Skizze aus. - + This constraint does not make sense for non-linear curves. Diese Randbedingung ist für nichtlineare Kurven nicht sinnvoll. - + Endpoint to edge tangency was applied instead. Die Endpunkt zu Kante Tangente wurde stattdessen angewendet. - - - - - - - + + + + + + + Select the right things from the sketch. Wähle die richtigen Dinge aus der Skizze. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Eine Kante auswählen, die kein B-Spline-Gewicht darstellt. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Keiner der ausgewählten Punkte wurde auf die jeweiligen Kurven beschränkt, da sie Teile desselben Elements sind, weil beide externe Geometrien sind oder weil die Kante nicht geeignet ist. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Keiner der gewählten Punkte wurde beschränkt auf die zugehörigen Kurven. Sie sind entweder Bestandteil des gleichen Elements oder Sie sind beide Externe Geometrie. - - - - + + + + Select exactly one line or up to two points from the sketch. Wählen Sie genau eine Linie oder bis zu zwei Punkte aus der Skizze aus. - + Cannot add a horizontal length constraint on an axis! Keine horizontale Längenbeschränkung einer Achse möglich! - + Cannot add a fixed x-coordinate constraint on the origin point! Eine feste x-Einschränkung auf den Ursprung kann nicht hinzugefügt werden! - - + + This constraint only makes sense on a line segment or a pair of points. Diese Randbedingung ist nur für ein Liniensegment oder ein Punktepaar sinnvoll. - + Cannot add a vertical length constraint on an axis! Keine vertikale Längenbeschränkung einer Achse möglich! - + Cannot add a fixed y-coordinate constraint on the origin point! Eine feste y-Einschränkung auf den Ursprung kann nicht hinzugefügt werden! - + Select two or more lines from the sketch. Wählen Sie zwei oder mehr Linien aus der Skizze aus. - - + + Select at least two lines from the sketch. Wählen Sie mindestens zwei Linien aus der Skizze aus. - + Select a valid line. Eine gültige Linie auswählen. - - + + The selected edge is not a valid line. Die ausgewählte Kante ist keine gültige Linie. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2790,42 +2910,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Erlaubte Kombinationen: zwei Kurven; einen Endpunkt und eine Kurve; zwei Endpunkte; zwei Kurven und einen Punkt. - + Select some geometry from the sketch. perpendicular constraint Geometrie aus der Skizze auswählen. - - + + Cannot add a perpendicularity constraint at an unconnected point! Eine Rechtwinkligkeitsbedingung kann nicht zu einem unverbundenen Punkt hinzugefügt werden! - - - + + + Perpendicular to B-spline edge currently unsupported. Senkrecht zur B-Spline-Kante wird derzeit nicht unterstützt. - - + + One of the selected edges should be a line. Eine der ausgewählten Kanten sollte eine Gerade sein. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Eine Endpunkt-zu-Endpunkt-Tangente wurde angelegt. Die Koinzidenz-Einschränkung wurde gelöscht. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Die Endpunkt zu Kante Tangente wurde stattdessen angewendet. Die Punkt auf Objekt Beschränkung wurde gelöscht. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2835,179 +2955,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Akzeptierte Kombinationen: zwei Kurven; Ein Endpunkt und eine Kurve; Zwei Endpunkte; Zwei Kurven und ein Punkt. - + Select some geometry from the sketch. tangent constraint Geometrie aus der Skizze auswählen. - - - + + + Cannot add a tangency constraint at an unconnected point! Eine Tangentialrandbedingung kann nicht zu einem unverbundenen Punkt hinzugefügt werden! - - + + Tangent constraint at B-spline knot is only supported with lines! Randbedingung Tangential festlegen wird am B-Spline-Knoten wird nur mit Linien unterstützt! - + B-spline knot to endpoint tangency was applied instead. Eine B-Spline-Knoten zu Endpunkt Tangente wurde stattdessen festgelegt. - + Select either one point and several curves, or one curve and several points. Wählen Sie entweder einen Punkt und mehrere Kurven oder eine Kurve und mehrere Punkte. - - + + Wrong number of selected objects! Falsche Anzahl von ausgewählten Objekten! - - + + With 3 objects, there must be 2 curves and 1 point. Bei 3 Objekten müssen diese aus 2 Kurven und 1 Punkt bestehen. - - - + + + Tangency to B-spline edge currently unsupported. Tangentiale zu B-Spline Rand wird derzeit nicht unterstützt. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Wählen Sie eine oder mehrere Bögen oder Kreise aus der Skizze. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Entweder nur einen oder mehrere B-Spline-Kontrollpunkte auswählen oder nur einen oder mehrere Bögen oder Kreise aus der Skizze auswählen, aber nicht gemischt. - - - + + + Constraint only applies to arcs or circles. Einschränkung gilt nur für Bögen oder Kreise. - - + + Select one or two lines from the sketch. Or select two edges and a point. Wählen Sie eine oder zwei Linien aus der Skizze. Oder wählen Sie zwei Kanten und einen Punkt. - - + + Parallel lines Parallele Linien - - + + An angle constraint cannot be set for two parallel lines. Es ist nicht möglich eine Winkel-Einschränkung für zwei parallele Linien festzulegen. - + Cannot add an angle constraint on an axis! Winkelbeschränkung einer Achse nicht möglich! - + Select two edges from the sketch. Wählen Sie zwei Kanten aus der Skizze aus. - + Select two or more compatible edges. Wählen Sie zwei oder mehr kompatible Kanten aus. - + Sketch axes cannot be used in equality constraints. Skizzenachsen können nicht mit der Randbedingung Gleichheit festlegen eingesetzt werden. - + Equality for B-spline edge currently unsupported. Gleichheit für B-Spline Rand wird derzeit nicht unterstützt. - - - + + + + Select two or more edges of similar type. Zwei oder mehr gleichartige Kanten auswählen. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Wählen Sie zwei Punkte und eine Symmetrielinie, zwei Punkte und einen Symmetriepunkt oder eine Linie und einen Symmetriepunkt von der Skizze. - - + + Cannot add a symmetry constraint between a line and its end points. Es ist nicht möglich eine Symmetrieeinschränkung zwischen einer Linie und ihren Endpunkten hinzuzufügen. - - + + + + Cannot add a symmetry constraint between a line and its end points! Es ist nicht möglich eine Symmetrieeinschränkung zwischen einer Linie und ihren Endpunkten hinzuzufügen! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Endpunkte zweier Linien, die als Strahlen dienen sollen, und eine Kante, die eine Grenze darstellt, auswählen. Der erste gewählte Punkt entspricht dem Index n1, der zweite dem Index n2 und der Eigabewert legt das Verhältnis n2/n1 fest. - + Selected objects are not just geometry from one sketch. Ausgewählte Objekte sind nicht nur Geometrie aus einer einzigen Skizze. - + Cannot create constraint with external geometry only. Es ist nicht möglich eine Einschränkung zu erstellen, die nur auf externen Geometrien basiert. - + Incompatible geometry is selected. Es wurde unpassende Geometrie ausgewählt. - + SnellsLaw on B-spline edge is currently unsupported. Brechung nach Snellius-Gesetz an B-Spline-Kanten wird derzeit nicht unterstützt. - - - - - + + + + + Select constraints from the sketch. Einschränkungen aus der Skizze auswählen. @@ -3029,155 +3152,155 @@ Akzeptierte Kombinationen: zwei Kurven; Ein Endpunkt und eine Kurve; Zwei Endpun B-Spline-Grad, zwischen 1 und %1 festlegen: + + - - CAD Kernel Error CAD-Kernel-Fehler - + None of the selected elements is an edge. Keines der ausgewählten Elemente ist eine Kante. - - + + At least one of the selected objects was not a B-Spline and was ignored. Mindestens eines der ausgewählten Objekte war keine B-Spline und wurde ignoriert. - - + + The selection comprises more than one item. Please select just one knot. Die Auswahl umfasst mehrere Elemente. Bitte wählen Sie nur einen Knoten. - - + + Input Error Eingabefehler - - + + None of the selected elements is a knot of a B-spline Keines der ausgewählten Elemente ist ein Knoten eines B-Splines - - + + Selection is empty Nichts ausgewählt - + Nothing is selected. Please select a b-spline. Es ist nichts ausgewählt. Bitte einen B-Spline auswählen. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Bitte eine B-Spline-Kurve auswählen, um einen Knoten einzufügen (Kontrollpunkt, nicht Kurvenpunkt). Wenn die Kurve kein B-Spline ist, bitte zuerst in einen umwandeln. - + Nothing is selected. Please select end points of curves. Es ist nichts ausgewählt. Bitte Endpunkte von Kurven auswählen. - + Too many curves on point Zu viele Kurven an einem Punkt - - + + Exactly two curves should end at the selected point to be able to join them. Genau zwei Kurven sollten am ausgewählten Punkt enden, damit sie verbunden werden können. - + Too few curves on point Zu wenige Kurven an einem Punkt - + Two end points, or coincident point should be selected. Es sollten zwei Endpunkte oder zwei deckungsgleiche (koinzidente) Punkte ausgewählt werden. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Wähle Elemente aus einer einzigen Skizze. - + No constraint selected Keine Einschränkung ausgewählt - + At least one constraint must be selected Mindestens eine Randbedingung muss ausgewählt sein - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Eine symmetrische Konstruktion erfordert mindestens zwei geometrische Elemente. Das letzte geometrische Element wird die Referenz für die Symmetrie. - + The last element must be a point or a line serving as reference for the symmetry construction. Das letzte Element, das als Referenz für die Symmetrie dient, muss ein Punkt oder eine Linie sein. - - + + A copy requires at least one selected non-external geometric element Eine Kopie benötigt mindestens ein ausgewähltes nicht-externes geometrisches Element - + Delete All Geometry Gesamte Geometrie löschen - + Are you really sure you want to delete all geometry and constraints? Sollen wirklich alle Geometrien und Randbedingungen gelöscht werden? - + Delete All Constraints Alle Randbedingungen löschen - + Are you really sure you want to delete all the constraints? Sollen wirklich alle Randbedingungen gelöscht werden? - + Removal of axes alignment requires at least one selected non-external geometric element Das Entfernen der Achsenausrichtung erfordert mindestens ein ausgewähltes nicht-externes geometrisches Element - + Unsupported visual layer operation Layer-Funktion nicht unterstützt - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Derzeit kann eine externe Geometrie nicht auf eine andere visuelle Ebene verschoben werden. Die externe Geometrie wird weggelassen @@ -3255,7 +3378,7 @@ Akzeptierte Kombinationen: zwei Kurven; Ein Endpunkt und eine Kurve; Zwei Endpun Coincident - Coincident + Gleich @@ -3285,7 +3408,7 @@ Akzeptierte Kombinationen: zwei Kurven; Ein Endpunkt und eine Kurve; Zwei Endpun Tangent - Tangente + Tangential @@ -3335,7 +3458,7 @@ Akzeptierte Kombinationen: zwei Kurven; Ein Endpunkt und eine Kurve; Zwei Endpun Weight - Stärke + Gewicht @@ -3376,67 +3499,67 @@ Akzeptierte Kombinationen: zwei Kurven; Ein Endpunkt und eine Kurve; Zwei Endpun SketcherGui::ConstraintView - + Select Elements Elemente auswählen - + Change value Wert ändern - + Toggle to/from reference Referenz-Modus ein- / ausschalten - + Deactivate Deaktivieren - + Activate Aktivieren - + Show constraints Einschränkungen einblenden - + Hide constraints Einschränkungen ausblenden - + Rename Umbenennen - + Center sketch Skizze zentrieren - + Delete Löschen - + Swap constraint names Namen der Beschränkungen tauschen - + Unnamed constraint Unbenannte Beschränkung - + Only the names of named constraints can be swapped. Nur die Namen von benannten Beschränkungen können vertauscht werden. @@ -3444,74 +3567,74 @@ Akzeptierte Kombinationen: zwei Kurven; Ein Endpunkt und eine Kurve; Zwei Endpun SketcherGui::EditDatumDialog - + Insert angle Winkel einfügen - + Angle: Winkel: - + Insert radius Radius einfügen - + Radius: Radius: - + Insert diameter Durchmesser einfügen - + Diameter: Durchmesser: - + Insert weight Gewicht einfügen - + Weight: Gewicht: - + Refractive index ratio Constraint_SnellsLaw Brechungsindex-Verhältnis - + Ratio n2/n1: Constraint_SnellsLaw Verhältnis n2/n1: - + Insert length Länge einfügen - + Length: Länge: - + Refractive index ratio Brechungsindex-Verhältnis - + Ratio n2/n1: Verhältnis n2/n1: @@ -3519,72 +3642,72 @@ Akzeptierte Kombinationen: zwei Kurven; Ein Endpunkt und eine Kurve; Zwei Endpun SketcherGui::ElementFilterList - + Normal Normal - + Construction Hilfsgeometrie - + Internal Intern - + External Extern - + All types Alle Typen - + Point Punkt - + Line Linie - + Circle Kreis - + Ellipse Ellipse - + Arc of circle Kreisbogen - + Arc of ellipse Ellipsenbogen - + Arc of hyperbola Hyperbelbogen - + Arc of parabola Parabelbogen - + B-Spline B-Spline @@ -3592,142 +3715,142 @@ Akzeptierte Kombinationen: zwei Kurven; Ein Endpunkt und eine Kurve; Zwei Endpun SketcherGui::ElementView - + Point Coincidence Punkt-Koinzidenz - + Point on Object Punkt auf Linie - + Vertical Constraint Vertikal festlegen - + Horizontal Constraint Horizontal festlegen - + Parallel Constraint Parallelitätsbeschränkung - + Perpendicular Constraint Rechtwinklig festlegen - + Tangent Constraint Tangential festlegen - + Equal Length Gleiche Länge - + Symmetric Symmetrisch - + Block Constraint Fixieren - + Lock Constraint Sperren - + Horizontal Distance Horizontaler Abstand - + Vertical Distance Vertikaler Abstand - + Length Constraint Abstand festlegen - + Radius Constraint Radius festlegen - + Diameter Constraint Durchmesser festlegen - + Radiam Constraint Radius/Durchmesser festlegen - + Angle Constraint Winkel festlegen - + Toggle construction geometry Hilfsgeometrie umschalten - + Select Constraints Beschränkungen auswählen - + Select Origin Ursprung auswählen - + Select Horizontal Axis Horizontale Achse auswählen - + Select Vertical Axis Vertikale Achse auswählen - + Layer Ebene - + Layer 0 Ebene 0 - + Layer 1 Ebene 1 - + Hidden - Verdeckt + Ausgeblendet - + Delete Löschen @@ -4010,6 +4133,75 @@ Erfordert das erneute aktivieren des Bearbeitungsmodus. Notify automatic constraint substitutions Benachrichtigung beim automatischen Ersetzen von Einschränkungen + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Beide + + + + Auto + Automatisch + + + + Diameter + Durchmesser + + + + Radius + Radius + SketcherGui::SketcherSettingsColors @@ -4190,7 +4382,7 @@ Erfordert das erneute aktivieren des Bearbeitungsmodus. Reference constraint - Referenzbedingung + Referenzbeschränkung @@ -4454,12 +4646,12 @@ Then objects are only visible behind the sketch plane. Auf vorhandene Skizzen anwenden - + Unexpected C++ exception Unerwartete C++ - Ausnahme - + Sketcher Sketcher @@ -4521,9 +4713,9 @@ Then objects are only visible behind the sketch plane. %2 constraints are linking to the endpoints. The constraints have been listed in Report view (menu View -> Panels -> Report view). Click "Swap endpoints in constraints" button to reassign endpoints. Do this only once to sketches created in FreeCAD older than v0.15 - %1 verdrehte Kreisbögen wurden in externer Geometrie gefunden. Ihre Endpunkte sind in der 3D Ansicht eingekreist. + %1 verdrehte Kreisbögen wurden in externer Geometrie gefunden. Ihre Endpunkte sind in der 3D-Ansicht eingekreist. -%2 Beschränkungen sind mit den Endpunkten verknüpft. Die Beschränkungen sind im Ausgabefenster gelistet (Menü Ansicht -> Ansichten -> Ausgabefenster). +%2 Randbedingungen sind mit den Endpunkten verknüpft. Die Randbedingungen sind im Ausgabefenster gelistet (Menü Ansicht -> Paneele -> Ausgabefenster). Nutze "Tausche Endpunkte in Beschränkungen" um die Entpunkte neu zuzuordnen. Dies ist einmalig für Skizzen nötig, welche mit einer Version <0.15 erzeugt wurden @@ -4632,48 +4824,48 @@ Es wurden keine Beschränkungen zu diesen Punkten gefunden. Einstellungen - + Constraints Einschränkungen - + Auto constraints Automatische Randbedingungen - + Auto remove redundants Automatisches Entfernen überflüssiger Randbedingungen - + Show only filtered Constraints Nur gefilterte Randbedingungen anzeigen - + Extended information (in widget) Weitere Informationen (im Widget) - + Hide internal alignment (in widget) Interne Ausrichtung ausblenden (im Widget) - - + + Error - Fehlermeldungen + Fehler - + Impossible to update visibility tracking Sichtbarkeitsverfolgung kann nicht aktualisiert werden - + Impossible to update visibility tracking: Aktualisierung der Sichtbarkeitsverfolgung nicht möglich: @@ -4705,6 +4897,33 @@ Es wurden keine Beschränkungen zu diesen Punkten gefunden. Settings Einstellungen + + + + + + + + + + + + Construction + Konstruktion + + + + Elements + Elemente + + + + + + + Point + Punkt + @@ -4716,110 +4935,83 @@ Es wurden keine Beschränkungen zu diesen Punkten gefunden. - Construction - Hilfsgeometrie - - - - Elements - Elemente - - - - - - - Point - Punkt - - - - - - - - - - - - Internal Intern - - + + + - Line Linie - - + + + - Arc Kreisbogen - - + + + - Circle Kreis - - + + + - Ellipse Ellipse - - + + + - Elliptical Arc Elliptischer Bogen - - + + + - Hyperbolic Arc Hyperbolischer Bogen - - + + + - Parabolic Arc Parabolischer Bogen - - + + + - BSpline BSpline - - + + + - Other Andere - + Extended information Erweiterte Informationen @@ -4827,42 +5019,42 @@ Es wurden keine Beschränkungen zu diesen Punkten gefunden. SketcherGui::TaskSketcherMessages - + Solver messages Meldungen des Lösers - + Auto update Automatische Aktualisierung - + Executes a recomputation of active document after every sketch action Führt eine Neuberechnung des aktiven Dokuments nach jeder Skizzier-Aktion durch - + Click to select the conflicting constraints. Klicken, um die widersprüchlichen Beschränkungen auszuwählen. - + Click to select the redundant constraints. Klicken, um die redundanten Beschränkungen auszuwählen. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Die Skizze hat nicht bestimmte Elemente, die diese Freiheitsgrade ergeben. Hier klicken, um die nicht bestimmten Elemente auszuwählen. - + Click to select the malformed constraints. Klicken, um die fehlerhaften Beschränkungen auszuwählen. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Manche Beschränkungen sind teilweise redundant. Klicken Sie, um diese teilweise redundanten Beschränkungen auszuwählen und so anzuzeigen. @@ -5040,112 +5232,112 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. SketcherGui::ViewProviderSketch - + Edit sketch Skizze bearbeiten - + A dialog is already open in the task panel Ein Dialog im Arbeitspanel ist bereits geöffnet - + Do you want to close this dialog? Möchten Sie dieses Dialogfeld schließen? - + Invalid sketch Ungültige Skizze - + Do you want to open the sketch validation tool? Soll das Werkzeug zum Überprüfen der Skizze geöffnet werden? - + The sketch is invalid and cannot be edited. Die Skizze ist ungültig und kann nicht bearbeitet werden. - + Please remove the following constraint: Bitte folgende Beschränkung entfernen: - + Please remove at least one of the following constraints: Bitte mindestens eine der folgenden Beschränkungen entfernen: - + Please remove the following redundant constraint: Bitte folgende redundante Beschränkung entfernen: - + Please remove the following redundant constraints: Bitte folgende, redundante Beschränkungen entfernen: - + The following constraint is partially redundant: Die folgende Randbedingung ist teilweise überflüssig: - + The following constraints are partially redundant: Die folgenden Randbedingungen sind teilweise überflüssig: - + Please remove the following malformed constraint: Bitte folgende fehlerhafte Beschränkung entfernen: - + Please remove the following malformed constraints: Bitte folgende fehlerhafte Beschränkung entfernen: - + Empty sketch Leere Skizze - + Over-constrained: Überbestimmt: - + Malformed constraints: Fehlerhafte Beschränkungen: - + Redundant constraints: Überflüssige Randbedingungen: - + Partially redundant: Teilweise redundant: - + Solver failed to converge Löser konnte nicht konvergieren - + Under constrained: Unterbestimmt: - + %n DoF(s) %n Freiheitsgrad @@ -5153,7 +5345,7 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. - + Fully constrained Vollständig bestimmt @@ -5161,8 +5353,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden des Krümmungskammes für alle B-Splines @@ -5170,8 +5362,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Verringert die Vielfachheit eines ausgewählten B-Spline-Knotens @@ -5179,8 +5371,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden des Grades für alle B-Splines @@ -5188,8 +5380,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Erhöht die Vielfachheit eines ausgewählten B-Spline-Knotens @@ -5197,8 +5389,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden der Knoten-Vielfachheit für alle B-Splines @@ -5206,8 +5398,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden des Gewichts für alle B-Spline-Kontrollpunkte @@ -5215,8 +5407,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Wechselt zwischen dem Anzeigen und Ausblenden der Kontroll-Polygone für alle B-Splines @@ -5224,8 +5416,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Erstellt einen Klon der Geometrie mit dem zuletzt gewählten Punkt als Referenz @@ -5233,17 +5425,17 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_CompCopy - + Clone Klonen - + Copy Kopieren - + Move Verschieben @@ -5251,8 +5443,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Durchmesser eines Kreises oder Kreisbogens festlegen @@ -5260,7 +5452,7 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Legt den Radius eines Kreisbogens oder den Durchmesser eines Kreises fest @@ -5268,8 +5460,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Radius eines Kreises oder Kreisbogens festlegen @@ -5277,7 +5469,7 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Legt den Radius eines Kreisbogens oder den Durchmesser eines Kreises fest @@ -5285,8 +5477,8 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Erstellt eine einfache Kopie der Geometrie mit dem zuletzt gewählten Punkt als Referenz @@ -5505,63 +5697,63 @@ Dies erfolgt durch Analyse der Skizzengeometrien und Randbedingungen. Sketcher_MapSketch - + No sketch found Keine Skizze gefunden - + The document doesn't have a sketch Das Dokument hat keine Skizze - + Select sketch Skizze auswählen - + Select a sketch from the list Wähle eine Skizze aus der Liste - + (incompatible with selection) (Nicht kompatibel mit Auswahl) - + (current) (aktuell) - + (suggested) (empfohlen) - + Sketch attachment Skizze Anhang - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Der aktuelle Anhang Modus ist mit der neuen Auswahl nicht kompatibel. Wählen Sie die Methode aus, um diese Skizze an ausgewählte Objekte anzuhängen. - + Select the method to attach this sketch to selected objects. Wählen Sie die Methode aus, um diese Skizze an ausgewählte Objekte anzuhängen. - + Map sketch Kartenskizze - + Can't map a sketch to support: %1 Kann keine Skizze zur Unterstützung abbilden: @@ -5571,8 +5763,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Verschiebt die Geometrie und verwendet den zuletzt ausgewählten Punkt als Referenz @@ -5580,12 +5772,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Skizze Anhang - + Select the method to attach this sketch to selected object Wählen Sie die Methode aus, um diese Skizze an das ausgewählte Objekt anzuhängen @@ -5593,12 +5785,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Skizze ist einer Fläche zugeordnet - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Skizzen, die einer Fläche zugeordnet sind können nicht umorientiert werden. @@ -5607,11 +5799,6 @@ Soll die Skizze von der Fläche entfernt werden? TaskSketcherMessages - - - Form - Form - DOF @@ -5630,11 +5817,6 @@ Soll die Skizze von der Fläche entfernt werden? TaskSketcherSolverAdvanced - - - Form - Form - Default algorithm used for Sketch solving @@ -5906,7 +6088,7 @@ Eigen Sparse QR ein Algorithmus, der für dünn besetzte Matrizen optimiert ist; ViewProviderSketch - + and %1 more und %1 mehr @@ -6096,22 +6278,22 @@ Die Rasterweite ändert sich, wenn er kleiner als diese Anzahl von Pixeln wird.< GridSpaceAction - + Grid auto spacing Automatische Rasterweite - + Resize grid automatically depending on zoom. Raster abhängig vom Zoom-Faktor automatisch skalieren. - + Spacing Weite - + Distance between two subsequent grid lines. Abstand zwischen zwei aufeinanderfolgenden Rasterlinien. @@ -6119,87 +6301,87 @@ Die Rasterweite ändert sich, wenn er kleiner als diese Anzahl von Pixeln wird.< Notifications - + The Sketch has malformed constraints! Die Skizze enthält fehlerhafte Randbedingungen! - + The Sketch has partially redundant constraints! Die Skizze enthält teilweise redundante Randbedingungen! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabeln wurden intern umstrukturiert. Solche Dateien lassen sich mit früheren Versionen von FreeCAD nicht mehr öffnen!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Fehlermeldungen - + Failed to delete all geometry Löschen aller Geometrie fehlgeschlagen - + Failed to delete all constraints Löschen aller Randbedingungen fehlgeschlagen - + The constraint has invalid index information and is malformed. Die Randbedingng hat eine ungültige Indexierung und ist fehlerhaft. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Ungültige Randbedingung @@ -6241,8 +6423,8 @@ Die Rasterweite ändert sich, wenn er kleiner als diese Anzahl von Pixeln wird.< Fehler beim Erstellen des B-spline Kontrollpunktes - + Error creating B-spline Fehler beim Erstellen des B-splines @@ -6339,9 +6521,9 @@ Die Rasterweite ändert sich, wenn er kleiner als diese Anzahl von Pixeln wird.< Trimmen der Kante fehlgeschlagen - - - + + + Value Error Wertfehler @@ -6377,58 +6559,58 @@ Die Rasterweite ändert sich, wenn er kleiner als diese Anzahl von Pixeln wird.< SnapSpaceAction - + Snap to objects Auf Objekte einrasten - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Neue Punkte rasten auf dem aktuell vorausgewählten Objekt ein. Sie rasten auch auf den Mitten von Linien und Bögen ein. - + Snap to grid Auf Raster einrasten - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Neue Punkte rasten an der nächsten Rasterlinie ein. Punkte müssen näher als ein Fünftel der Rasterweite an eine Rasterlinie gesetzt werden, damit sie einrasten. - + Snap angle Einrastwinkel - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Winkelschrittweite für Werkzeuge, die 'Einrasten auf Winkel' verwenden (Linie zum Beispiel). STRG gedrückt halten, um 'Einrasten auf Winkel' zu aktivieren. Der Winkel beginnt an der positiven X-Achse der Skizze. RenderingOrderAction - - - - - Normal Geometry - Normale Geometrie - - Construction Geometry - Hilfsgeometrie + Normal Geometry + Normale Geometrie + Construction Geometry + Konstruktionsgeometrie + + + + + External Geometry Externe Geometrie @@ -6449,12 +6631,12 @@ Punkte müssen näher als ein Fünftel der Rasterweite an eine Rasterlinie geset CmdSketcherGrid - + Toggle grid - Raster umschalten + Raster ein-/ausblenden - + Toggle the grid in the sketch. In the menu you can change grid settings. Das Raster in der Skizze ein- bzw. ausschalten. Im Menü können die Rastereinstellungen geändert werden. @@ -6462,12 +6644,12 @@ Punkte müssen näher als ein Fünftel der Rasterweite an eine Rasterlinie geset CmdSketcherSnap - + Toggle snap Einrasten umschalten - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Alle Einrastfunktionen ein- bzw. ausschalten. Im Menü können 'Auf Raster einrasten' und 'Auf Objekte einrasten' einzeln umgeschaltet und weitere Einrasteinstellungen geändert werden. @@ -6498,4 +6680,34 @@ Punkte müssen näher als ein Fünftel der Rasterweite an eine Rasterlinie geset Erstellt einen geschlossenen B-Spline durch Knoten, d.h. durch Interpolation, in der Skizze. + + CmdSketcherDimension + + + Dimension + Abmessung + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_el.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_el.ts index f6c0bb99d3..92f40a411f 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_el.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_el.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Εμφάνιση/Απόκρυψη οδηγού καμπυλότητας της καμπύλης B-spline - + Switches between showing and hiding the curvature comb for all B-splines Πραγματοποιεί εναλλαγή μεταξύ εμφάνισης και απόκρυψης του οδηγού καμπυλότητας όλων των καμπύλων B-spline @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Εμφάνιση/Απόκρυψη βαθμού καμπύλης B-spline - + Switches between showing and hiding the degree for all B-splines Πραγματοποιεί εναλλαγή μεταξύ εμφάνισης και απόκρυψης του βαθμού όλων των καμπύλων B-spline @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Εμφάνιση/απόκρυψη πολλαπλότητας κόμβου καμπύλης B-spline - + Switches between showing and hiding the knot multiplicity for all B-splines Πραγματοποιεί εναλλαγή μεταξύ εμφάνισης και απόκρυψης της πολλαπλότητας κόμβων όλων των καμπύλων B-spline @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Show/hide B-spline control point weight - + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Εμφάνιση/απόκρυψη πολυγώνου ελέγχου καμπύλης B-spline - + Switches between showing and hiding the control polygons for all B-splines Πραγματοποιεί εναλλαγή μεταξύ εμφάνισης και απόκρυψης των πολυγώνων ελέγχου όλων των καμπύλων B-spline @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Κλωνοποιήστε - + Creates a clone of the geometry taking as reference the last selected point Δημιουργεί έναν κλώνο του γεωμετρικού στοιχείου λαμβάνοντας ως σημείο αναφοράς το τελευταίο επιλεγμένο σημείο @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Εμφάνιση/Απόκρυψη του επιπέδου πληροφοριών καμπύλης B-spline - + Show/hide B-spline degree Εμφάνιση/Απόκρυψη βαθμού καμπύλης B-spline - + Show/hide B-spline control polygon Εμφάνιση/απόκρυψη πολυγώνου ελέγχου καμπύλης B-spline - + Show/hide B-spline curvature comb Εμφάνιση/Απόκρυψη οδηγού καμπυλότητας της καμπύλης B-spline - + Show/hide B-spline knot multiplicity Εμφάνιση/απόκρυψη πολλαπλότητας κόμβου καμπύλης B-spline - + Show/hide B-spline control point weight Show/hide B-spline control point weight @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Περιορισμός τόξου ή κύκλου - + Constrain an arc or a circle Περιόρισε ένα τόξο ή έναν κύκλο - + Constrain radius Περιορισμός ακτίνας - + Constrain diameter Περιορισμός διαμέτρου - + Constrain auto radius/diameter Constrain auto radius/diameter @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Κλωνοποιήστε - + Creates a clone of the geometry taking as reference the last selected point Δημιουργεί έναν κλώνο του γεωμετρικού στοιχείου λαμβάνοντας ως σημείο αναφοράς το τελευταίο επιλεγμένο σημείο @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Τροποποίηση πολλαπλότητας κόμβου - + Modifies the multiplicity of the selected knot of a B-spline Τροποποιεί την πολλαπλότητα του επιλεγμένου κόμβου μιας καμπύλης B-spline - + Increase knot multiplicity Αύξηση της πολλαπλότητας κόμβου - + Decrease knot multiplicity Μείωση της πολλαπλότητας κόμβου @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Περιορισμός γωνίας - + Fix the angle of a line or the angle between two lines Καθορισμός της γωνίας μιας γραμμής ή της γωνίας μεταξύ δύο γραμμών @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Constrain block - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Περιορισμός ταύτισης - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Περιορισμός διαμέτρου - + Fix the diameter of a circle or an arc Όρισε τη σταθερή διάμετρο ενός κύκλου, ή ενός τόξου @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Περιορισμός απόστασης - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Constrain horizontal distance - + Fix the horizontal distance between two points or line ends Καθορισμός της οριζόντιας απόστασης μεταξύ δύο σημείων ή μεταξύ τελικών σημείων γραμμών @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Constrain vertical distance - + Fix the vertical distance between two points or line ends Καθορισμός της κατακόρυφης απόστασης μεταξύ δύο σημείων ή μεταξύ τελικών σημείων γραμμών @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Περιορισμός ισότητας - + Create an equality constraint between two lines or between circles and arcs Δημιουργία ενός περιορισμού ισότητας μεταξύ δύο γραμμών ή μεταξύ κύκλων και τόξων @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Περιορισμός κατά την οριζόντια διεύθυνση - + Create a horizontal constraint on the selected item Δημιουργία ενός οριζόντιου περιορισμού για το επιλεγμένο αντικείμενο @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Περιορισμός κλειδώματος - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Περιορισμός παραλληλίας - + Create a parallel constraint between two lines Δημιουργήστε έναν περιορισμό παραλληλίας μεταξύ δύο γραμμών @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Περιορισμός καθετότητας - + Create a perpendicular constraint between two lines Δημιουργία ενός περιορισμού καθετότητας μεταξύ δύο γραμμών @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Περιορισμός θέσης σημείου σε αντικείμενο - + Fix a point onto an object Καθορισμός της θέσης ενός σημείου σε ένα αντικείμενο @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Constrain auto radius/diameter - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Constrain radius or weight - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Περιορισμός συμμετρίας - + Create a symmetry constraint between two points with respect to a line or a third point Δημιουργία περιορισμού συμμετρίας μεταξύ δύο σημείων ως προς μια γραμμή ή ένα τρίτο σημείο @@ -614,12 +614,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Περιορισμός εφαπτομένης - + Create a tangent constraint between two entities Δημιουργία ενός περιορισμού επαφής μεταξύ δύο οντοτήτων @@ -627,12 +627,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Περιορισμός κατά την κατακόρυφη διεύθυνση - + Create a vertical constraint on the selected item Δημιουργία ενός κατακόρυφου περιορισμού στο επιλεγμένο αντικείμενο @@ -640,12 +640,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convert geometry to B-spline - + Converts the selected geometry to a B-spline Converts the selected geometry to a B-spline @@ -653,12 +653,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Αντιγραφή - + Creates a simple copy of the geometry taking as reference the last selected point Δημιουργεί ένα απλό αντίγραφο του γεωμετρικού στοιχείου λαμβάνοντας ως σημείο αναφοράς το τελευταίο επιλεγμένο σημείο @@ -1017,12 +1017,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Decrease B-spline degree - + Decreases the degree of the B-spline Decreases the degree of the B-spline @@ -1030,12 +1030,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Μείωση της πολλαπλότητας κόμβου - + Decreases the multiplicity of the selected knot of a B-spline Μειώνει την πολλαπλότητα του επιλεγμένου κόμβου μιας καμπύλης B-spline @@ -1043,12 +1043,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Delete all constraints - + Delete all constraints in the sketch Διαγραφή όλων των περιορισμών στο σχέδιο @@ -1056,12 +1056,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Delete all geometry - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Διαγραφή όλων των γεωμετριών και των περιορισμών στο τρέχον σχέδιο, με εξαίρεση την εξωτερική γεωμετρία @@ -1069,12 +1069,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Επεξεργασία σκίτσου - + Edit the selected sketch. Επεξεργασία του επιλεγμένου σχεδίου. @@ -1108,12 +1108,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Increase B-spline degree - + Increases the degree of the B-spline Αυξάνει τον βαθμό της καμπύλης B-spline @@ -1121,12 +1121,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Αύξηση της πολλαπλότητας κόμβου - + Increases the multiplicity of the selected knot of a B-spline Αυξάνει την πολλαπλότητα του επιλεγμένου κόμβου μιας καμπύλης B-spline @@ -1134,12 +1134,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Insert knot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1147,12 +1147,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1160,12 +1160,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Αφήστε το σχέδιο - + Finish editing the active sketch. Ολοκλήρωση επεξεργασίας του ενεργού σχεδίου. @@ -1173,12 +1173,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Αποτύπωση σχεδίου σε όψη... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1187,7 +1187,7 @@ then call this command, then choose the desired sketch. τότε καλέστε αυτή την εντολή, στη συνέχεια επιλέξτε το επιθυμητό σκαρίφημα. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Ορισμένα από τα επιλεγμένα αντικείμενα εξαρτώνται από το σχέδιο που θα αντιστοιχιστεί. Δεν επιτρέπονται κυκλικές εξαρτήσεις. @@ -1195,22 +1195,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Συγχώνευση σχεδίων - + Create a new sketch from merging two or more selected sketches. Δημιουργήστε ένα νέο σχέδιο με τη συγχώνευση δύο ή περισσότερων επιλεγμένων σχεδίων. - + Wrong selection Λάθος επιλογή - + Select at least two sketches. Επιλέξτε τουλάχιστον δύο σχέδια. @@ -1218,24 +1218,24 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Κατοπτρισμός (είδωλο) σχεδίου - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. Δημιουργήστε ένα νέο αντίγραφο σχεδίου για κάθε επιλεγμένο σχέδιο, χρησιμοποιώντας τους άξονες X ή Y ή το σημείο προέλευσης, ως αναφορά αντιγραφής. - + Wrong selection Λάθος επιλογή - + Select one or more sketches. Επιλέξτε ένα ή περισσότερα σχέδια. @@ -1243,12 +1243,12 @@ as mirroring reference. CmdSketcherMove - + Move Μετακινήστε - + Moves the geometry taking as reference the last selected point Μετακινεί το γεωμετρικό στοιχείο λαμβάνοντας ως σημείο αναφοράς το τελευταίο επιλεγμένο σημείο @@ -1256,12 +1256,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Δημιουργία σχεδίου - + Create a new sketch. Δημιουργήστε ένα νέο σχέδιο. @@ -1269,12 +1269,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Rectangular array - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Δημιουργεί ένα μοτίβο ορθογώνιας συστοιχίας της γεωμετρίας λαμβάνοντας ως αναφορά το τελευταίο επιλεγμένο σημείο @@ -1282,12 +1282,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Remove axes alignment - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection @@ -1295,12 +1295,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Επαναπροσανατολισμό σχεδίου... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Τοποθετήστε το επιλεγμένο σχέδιο σε ένα από τα επίπεδα συντεταγμένων. @@ -1310,12 +1310,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Εμφάνιση/απόκρυψη εσωτερικής γεωμετρίας - + Show all internal geometry or hide unused internal geometry Εμφάνιση όλης της εσωτερικής γεωμετρίας ή απόκρυψη της εσωτερικής γεωμετρίας που δεν χρησιμοποιείται @@ -1323,8 +1323,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Select conflicting constraints @@ -1332,12 +1332,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints Select associated constraints - + Select the constraints associated with the selected geometrical elements Select the constraints associated with the selected geometrical elements @@ -1345,12 +1345,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Select associated geometry - + Select the geometrical elements associated with the selected constraints Select the geometrical elements associated with the selected constraints @@ -1358,12 +1358,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Select unconstrained DoF - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Select geometrical elements where the solver still detects unconstrained degrees of freedom. @@ -1371,12 +1371,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Επιλογή Οριζόντιου Άξονα - + Select the local horizontal axis of the sketch Επιλέξτε τον οριζόντιο άξονα του σχεδίου @@ -1384,8 +1384,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Select malformed constraints @@ -1393,12 +1393,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin Select origin - + Select the local origin point of the sketch Επιλέξτε το τοπικό σημείο προέλευσης του σχεδίου @@ -1406,8 +1406,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Επιλέξτε μερικώς περιττούς περιορισμούς @@ -1415,8 +1415,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Επιλέξτε περιττούς περιορισμούς @@ -1424,12 +1424,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis Select vertical axis - + Select the local vertical axis of the sketch Επιλέξτε τον κάθετο άξονα του σχεδίου @@ -1450,12 +1450,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation Stop operation - + When in edit mode, stop the active operation (drawing, constraining, etc.). Όταν βρίσκεστε σε λειτουργία επεξεργασίας, σταματήστε την ενεργή λειτουργία (σχεδίαση, περιορισμός, κ.λ.π.). @@ -1476,12 +1476,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry Συμμετρία - + Creates symmetric geometry with respect to the last selected line or point Δημιουργεί συμμετρικό γεωμετρικό στοιχείο ως προς την τελευταία επιλεγμένη γραμμή ή το τελευταίο επιλεγμένο σημείο @@ -1489,12 +1489,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activate/deactivate constraint - + Activates or deactivates the selected constraints Ενεργοποιεί ή Απενεργοποιεί την κατάσταση λειτουργίας επεξεργασίας του επιλεγμένου αντικείμενου @@ -1515,12 +1515,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Toggle driving/reference constraint - + Set the toolbar, or the selected constraints, into driving or reference mode Set the toolbar, or the selected constraints, @@ -1543,23 +1543,23 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Επικύρωση σχεδίου... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Επικυρώστε ένα σχέδιο ελέγχοντας για ελλείψεις, μη έγκυροι περιορισμοί, εσφαλμένη γεωμετρία κ. λ. π. - + Wrong selection Λάθος επιλογή - + Select only one sketch. Επιλέξτε μόνο ένα σχέδιο. @@ -1567,12 +1567,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Προβολή τομής - + When in edit mode, switch between section view and full view. Όταν βρίσκεστε σε λειτουργία επεξεργασίας, κάντε εναλλαγή μεταξύ προβολής ενότητας και πλήρους προβολής. @@ -1580,12 +1580,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Προβολή σχεδίου - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Όταν βρίσκεστε σε λειτουργία επεξεργασίας, ρυθμίστε τον προσανατολισμό της κάμερας κάθετα στο επίπεδο σχεδίασης. @@ -1593,287 +1593,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Προσθήκη οριζόντιου περιορισμού - - - + + + Add horizontal alignment Προσθήκη οριζόντιας ευθυγράμμισης - - + + Add vertical constraint Προσθήκη κάθετου περιορισμού - + Add vertical alignment Προσθήκη κάθετης ευθυγράμμισης - + Add 'Lock' constraint Προσθήκη περιορισμού "Κλειδώματος" - + Add relative 'Lock' constraint Προσθήκη σχετικού περιορισμού "Κλειδώματος" - + Add fixed constraint Add fixed constraint - + Add 'Block' constraint Add 'Block' constraint - + Add block constraint Add block constraint - - - + + + Add coincident constraint Add coincident constraint - - + + Add distance from horizontal axis constraint Add distance from vertical axis constraint - - + + Add distance from vertical axis constraint Add distance from vertical axis constraint - - + + Add point to point distance constraint Add point to point distance constraint - - + + + Add point to line Distance constraint Add point to line Distance constraint - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint Add length constraint - - + + + Dimension + Διάσταση + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Add point on object constraint - - + + Add point to point horizontal distance constraint Add point to point horizontal distance constraint - + Add fixed x-coordinate constraint Add fixed x-coordinate constraint - - + + Add point to point vertical distance constraint Add point to point vertical distance constraint - + Add fixed y-coordinate constraint Add fixed y-coordinate constraint - - + + Add parallel constraint Add parallel constraint - - - - - - - + + + + + + + Add perpendicular constraint Προσθήκη κάθετου περιορισμού - + Add perpendicularity constraint Προσθήκη περιορισμού καθετότητας - + Swap coincident+tangency with ptp tangency Swap coincident+tangency with ptp tangency - + Swap PointOnObject+tangency with point to curve tangency Swap PointOnObject+tangency with point to curve tangency - - - - - - - + + + + + + + Add tangent constraint Add tangent constraint - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Add tangent constraint point - - - - + + + + Add radius constraint Add radius constraint - - - - + + + + Add diameter constraint Προσθήκη περιορισμού διαμέτρου - - - - + + + + Add radiam constraint Add radiam constraint - - - - - - + + + + + + Add angle constraint Add angle constraint - - + + Add equality constraint Add equality constraint - - - - - + + + + + Add symmetric constraint Add symmetric constraint - + Add Snell's law constraint Προσθήκη περιορισμού νόμου Snell - + Toggle constraint to driving/reference Toggle constraint to driving/reference - + Activate/Deactivate constraint Activate/Deactivate constraint - + Create a new sketch on a face Δημιουργία νέου σκίτσου σε μια όψη - + Create a new sketch Δημιουργία νέας επαφής - + Reorient sketch Επαναπροσανατολισμό σχεδίου - + Attach sketch Επισύναψη σχεδίου - + Detach sketch Αποκοπή σχεδίου - + Create a mirrored sketch for each selected sketch Δημιουργήστε ένα είδωλο σχεδίου για κάθε επιλεγμένο σχέδιο - + Merge sketches Συγχώνευση σχεδίων @@ -1991,72 +2108,72 @@ invalid constraints, degenerated geometry, etc. Add hexagon - + Convert to NURBS Convert to NURBS - + Increase spline degree Increase spline degree - + Decrease spline degree Decrease spline degree - + Increase knot multiplicity Αύξηση της πολλαπλότητας κόμβου - + Decrease knot multiplicity Μείωση της πολλαπλότητας κόμβου - + Insert knot Insert knot - + Join Curves Join Curves - + Exposing Internal Geometry Exposing Internal Geometry - + Create symmetric geometry Create symmetric geometry - + Copy/clone/move geometry Copy/clone/move geometry - + Create copy of geometry Create copy of geometry - + Delete all geometry Delete all geometry - + Delete All Constraints Διαγραφή Όλων των Περιορισμών - + Remove Axes Alignment Remove Axes Alignment @@ -2067,44 +2184,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Update constraint's virtual space - + Add auto constraints Add auto constraints - + Swap constraint names Ανταλλαγή ονομάτων περιορισμών - + Rename sketch constraint Μετονομασία περιορισμού σχεδίου - + Drag Point Drag Point - + Drag Curve Drag Curve - + Drag Constraint Drag Constraint - + Modify sketch constraints Τροποποίηση περιορισμών σχεδίου @@ -2165,60 +2282,60 @@ invalid constraints, degenerated geometry, etc. Σφάλμα αυτόματου περιορισμού: Άλυτο σχέδιο μετά την εφαρμογή περιορισμών ισότητας. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Δεν είναι δυνατή η εύρεση τομής καμπυλών. Προσπαθήστε να προσθέσετε τον περιορισμό ταύτισης μεταξύ κορυφών των καμπυλών που σκοπεύετε να συμπληρώσετε. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline Geometry Index (GeoID) is out of bounds. - + You are requesting no change in knot multiplicity. Δεν απαιτείτε καμία αλλαγή της πολλαπλότητας κόμβου. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. The Geometry Index (GeoId) provided is not a B-spline curve. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Ο δείκτης κόμβου είναι εκτός ορίων. Σημειώστε πως σύμφωνα με το σύστημα σημειογραφίας του OCC, ο πρώτος κόμβος έχει δείκτη 1 και όχι μηδέν. - + The multiplicity cannot be increased beyond the degree of the B-spline. The multiplicity cannot be increased beyond the degree of the B-spline. - + The multiplicity cannot be decreased beyond zero. Η πολλαπλότητα δεν δύναται να είναι χαμηλότερη από το μηδέν. - + OCC is unable to decrease the multiplicity within the maximum tolerance. To ΟCC αδυνατεί να μειώσει την πολλαπλότητα εντός των ορίων μέγιστης ανοχής. - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2234,210 +2351,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Σχεδιασμός - + There are no modes that accept the selected set of subelements Δεν υπάρχουν λειτουργίες που να δέχονται το επιλεγμένο σύνολο δευτερευόντων στοιχείων - + Broken link to support subelements Σπασμένος σύνδεσμος για την υποστήριξη δευτερευόντων στοιχείων - - + + Unexpected error Απρόσμενο σφάλμα - + Face is non-planar Η όψη δεν είναι επίπεδη - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Τα επιλεγμένα σχήματα έχουν λάθος μορφή (π.χ., καμπύλη ακμή ενώ χρειάζεται ευθύγραμμη) - + Sketch mapping Αποτύπωση σχεδίου - + Can't map the sketch to selected object. %1. Αδύνατη η αποτύπωση του σχεδίου στο επιλεγμένο αντικείμενο. %1. - - + + Don't attach Να μην πραγματοποιηθεί επισύναψη + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Λάθος επιλογή @@ -2448,339 +2568,339 @@ invalid constraints, degenerated geometry, etc. Επιλέξτε ακμή(ες) από το σχέδιο. - + Not allowed to edit the datum because the sketch contains conflicting constraints Δεν επιτρέπεται η επεξεργασία του περιορισμού μεγέθους επειδή το σχέδιο περιέχει αντιφατικούς περιορισμούς - + Dimensional constraint Περιορισμός διαστάσεων - + Cannot add a constraint between two external geometries. Cannot add a constraint between two external geometries. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Αντικατάσταση περιορισμού Σχεδιασμού - + Keep notifying me of constraint substitutions Keep notifying me of constraint substitutions - - - + + + Only sketch and its support are allowed to be selected. Επιτρέπεται η επιλογή μόνο του σχεδίου και της υποστήριξής του. - + One of the selected has to be on the sketch. Ένα από τα επιλεγμένα πρέπει να βρίσκεται στο σχέδιο. - - + + Select an edge from the sketch. Επιλέξτε μια ακμή από το σχέδιο. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Αδύνατος περιορισμός - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint Διπλός περιορισμός - - - - - + + + + + The selected edge already has a horizontal constraint! The selected edge already has a horizontal constraint! - - - + + + The selected edge already has a vertical constraint! The selected edge already has a vertical constraint! - - - - - - + + + + + + The selected edge already has a Block constraint! The selected edge already has a Block constraint! - + The selected item(s) can't accept a horizontal constraint! Το επιλεγμένο αντικείμενο(α) δεν μπορεί να δεχτεί οριζόντιο περιορισμό! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! There are more than one fixed points selected. Select a maximum of one fixed point! - + The selected item(s) can't accept a vertical constraint! Το επιλεγμένα αντικείμενο(α) δεν μπορεί να δεχτεί κατακόρυφο περιορισμό! - - - + + + Select vertices from the sketch. Επιλέξτε κορυφές από το σχέδιο. - + Select one vertex from the sketch other than the origin. Επιλέξτε μια κορυφή από το σκαρίφημα εκτός από το σημείο τομής των αξόνων. - + Select only vertices from the sketch. The last selected vertex may be the origin. Επιλέξτε μόνο τις κορυφές από το σχέδιο. Η τελευταία επιλεγμένη κορυφή δύναται να είναι το σημείο τομής των αξόνων. - + Wrong solver status Λάθος κατάσταση επιλυτή - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Δεν μπορεί να προστεθεί περιορισμός εάν το σχέδιο δεν έχει επιλυθεί ή υπάρχουν περιττοί και αντικρουόμενοι περιορισμοί. - + Select one edge from the sketch. Επιλέξτε μια ακμή από το σχέδιο. - + Select only edges from the sketch. Επιλέξτε μόνο ακμές από το σχέδιο. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error Σφάλμα - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. Εφαρμόστηκε περιορισμός επαφής μεταξύ άκρων εναλλακτικά. - + Select two or more points from the sketch. Επιλέξτε δύο ή περισσότερα σημεία από το σχέδιο. - + Select two or more vertices from the sketch. Επιλέξτε δύο ή περισσότερες κορυφές από το σχέδιο. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Επιλέξτε ακριβώς μια γραμμή ή ένα σημείο και μια γραμμή ή δύο σημεία από το σχέδιο. - + Cannot add a length constraint on an axis! Αδύνατη η προσθήκη περιορισμού μήκους σε άξονα! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. Επιλέξτε τα κατάλληλα στοιχεία από το σχέδιο. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Κανένα από τα επιλεγμένα σημεία δεν ήταν περιορισμένο πάνω στις αντίστοιχες καμπύλες, είτε επειδή είναι τμήματα του ίδιου στοιχείου, είτε επειδή ανήκουν και τα δύο στο ίδιο στοιχείο εξωτερικής γεωμετρίας. - - - - + + + + Select exactly one line or up to two points from the sketch. Επιλέξτε ακριβώς μια γραμμή ή έως και δύο σημεία από το σχέδιο. - + Cannot add a horizontal length constraint on an axis! Αδύνατη η προσθήκη περιορισμού οριζόντιου μήκους σε άξονα! - + Cannot add a fixed x-coordinate constraint on the origin point! Cannot add a fixed x-coordinate constraint on the origin point! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! Αδύνατη η προσθήκη κατακόρυφου μήκους σε άξονα! - + Cannot add a fixed y-coordinate constraint on the origin point! Cannot add a fixed y-coordinate constraint on the origin point! - + Select two or more lines from the sketch. Επιλέξτε δύο ή περισσότερες γραμμές από το σχέδιο. - - + + Select at least two lines from the sketch. Επιλέξτε τουλάχιστον δύο γραμμές από το σχέδιο. - + Select a valid line. Select a valid line. - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2790,42 +2910,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Αποδεκτοί συνδυασμοί: δύο καμπύλες· ένα αρχικό σημείο και μια καμπύλη· ένα αρχικό και ένα τελικό σημείο· δύο καμπύλες και ένα σημείο. - + Select some geometry from the sketch. perpendicular constraint Επιλέξτε γεωμετρικά στοιχεία από το σχέδιο. - - + + Cannot add a perpendicularity constraint at an unconnected point! Αδύνατη η προσθήκη περιορισμού καθετότητας σε ένα ασύνδετο σημείο! - - - + + + Perpendicular to B-spline edge currently unsupported. Δεν υποστηρίζονται περιορισμοί καθετότητας σε ακμές καμπύλης B-spline επί του παρόντος. - - + + One of the selected edges should be a line. Μια από τις επιλεγμένες ακμές θα πρέπει να είναι γραμμή. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Εφαρμόστηκε περιορισμός επαφής μεταξύ άκρων. Ο περιορισμός ταύτισης διαγράφηκε. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2835,179 +2955,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Αποδεκτοί συνδυασμοί: δύο καμπύλες· ένα αρχικό σημείο και μια καμπύλη· ένα αρχικό και ένα τελικό σημείο· δύο καμπύλες και ένα σημείο. - + Select some geometry from the sketch. tangent constraint Επιλέξτε γεωμετρικά στοιχεία από το σχέδιο. - - - + + + Cannot add a tangency constraint at an unconnected point! Αδύνατη η προσθήκη περιορισμού επαφής σε ένα ασύνδετο σημείο! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! Λάθος αριθμός επιλεγμένων αντικειμένων! - - + + With 3 objects, there must be 2 curves and 1 point. Με 3 αντικείμενα, πρέπει να υπάρχουν 2 καμπύλες και 1 σημείο. - - - + + + Tangency to B-spline edge currently unsupported. Δεν υποστηρίζονται περιορισμοί επαφής σε ακμές καμπύλης B-spline επί του παρόντος. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Επιλέξτε ένα ή περισσότερα τόξα ή κύκλους από το σχέδιο. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Επιλέξτε έναν ή περισσότερους πόλους B-Spline είτε ένα ή περισσότερα τόξα ή κύκλους από το σχέδιο, αλλά όχι ανάμεικτα. - - - + + + Constraint only applies to arcs or circles. Ο περιορισμός εφαρμόζεται μόνο σε τόξα ή κύκλους. - - + + Select one or two lines from the sketch. Or select two edges and a point. Επιλέξτε μια ή δύο γραμμές από το σχέδιο. Ή επιλέξτε δύο ακμές και ένα σημείο. - - + + Parallel lines Παράλληλες γραμμές - - + + An angle constraint cannot be set for two parallel lines. Δεν δύναται να οριστεί γωνιακός περιορισμός για δύο παράλληλες γραμμές. - + Cannot add an angle constraint on an axis! Αδύνατη η προσθήκη γωνιακού περιορισμού σε άξονα! - + Select two edges from the sketch. Επιλέξτε δύο ακμές από το σχέδιο. - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. Οι άξονες σχεδίου δεν μπορούν να χρησιμοποιηθούν για περιορισμούς ισότητας. - + Equality for B-spline edge currently unsupported. Δεν υποστηρίζονται περιορισμοί ισότητας σε ακμές καμπύλης B-spline επί του παρόντος. - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Επιλέξτε δύο σημεία και μια γραμμή συμμετρίας, δύο σημεία και ένα σημείο συμμετρίας ή μια γραμμή και ένα σημείο συμμετρίας από το σχέδιο. - - + + Cannot add a symmetry constraint between a line and its end points. Cannot add a symmetry constraint between a line and its end points. - - + + + + Cannot add a symmetry constraint between a line and its end points! Αδύνατη η προσθήκη περιορισμού μεταξύ μιας γραμμής και του αρχικού ή του τελικού της σημείου! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. - + Selected objects are not just geometry from one sketch. Τα επιλεγμένα στοιχεία δεν είναι μόνο γεωμετρικά στοιχεία από το ίδιο σκαρίφημα. - + Cannot create constraint with external geometry only. Cannot create constraint with external geometry only. - + Incompatible geometry is selected. Incompatible geometry is selected. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw on B-spline edge is currently unsupported. - - - - - + + + + + Select constraints from the sketch. Επιλέξτε τους περιορισμούς από το σχέδιο. @@ -3029,155 +3152,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error Σφάλμα Πυρήνα CAD - + None of the selected elements is an edge. Κανένα από τα επιλεγμένα στοιχεία δεν είναι ακμή. - - + + At least one of the selected objects was not a B-Spline and was ignored. Τουλάχιστον ένα από τα επιλεγμένα αντικείμενα δεν ήταν καμπύλη B-spline και αγνοήθηκε. - - + + The selection comprises more than one item. Please select just one knot. Η επιλογή περιλαμβάνει πάνω από ένα αντικείμενα. Παρακαλώ επιλέξτε μόνο έναν κόμβο. - - + + Input Error Σφάλμα Εισαγωγής - - + + None of the selected elements is a knot of a B-spline Κανένα από τα επιλεγμένα στοιχεία δεν είναι κόμβος καμπύλης B-spline - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Επιλέξτε στοιχεία από ένα σχέδιο. - + No constraint selected Δεν επιλέχθηκε κανένας περιορισμός - + At least one constraint must be selected Πρέπει να επιλεχθεί τουλάχιστον ένας περιορισμός - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Μια συμμετρική κατασκευή απαιτεί τουλάχιστον δύο γεωμετρικά στοιχεία, το τελευταίο εκ των οποίων θα είναι το στοιχείο αναφοράς για την κατασκευή της συμμετρίας. - + The last element must be a point or a line serving as reference for the symmetry construction. Το τελευταίο στοιχείο θα πρέπει να είναι ένα σημείο ή μια γραμμή αναφοράς για την κατασκευή της συμμετρίας. - - + + A copy requires at least one selected non-external geometric element Η δημιουργία αντιγράφου απαιτεί την ύπαρξη τουλάχιστον ενός επιλεγμένου στοιχείου μη εξωτερικής γεωμετρίας - + Delete All Geometry Διαγραφή Όλων των Γεωμετρικών Στοιχείων - + Are you really sure you want to delete all geometry and constraints? Are you really sure you want to delete all geometry and constraints? - + Delete All Constraints Διαγραφή Όλων των Περιορισμών - + Are you really sure you want to delete all the constraints? Are you really sure you want to delete all the constraints? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3376,67 +3499,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value Αλλαγή τιμής - + Toggle to/from reference Μετάβαση προς/από στοιχείο αναφοράς - + Deactivate Deactivate - + Activate Activate - + Show constraints Εμφάνιση περιορισμών - + Hide constraints Απόκρυψη περιορισμών - + Rename Μετονομασία - + Center sketch Κεντράρισμα σχεδίου - + Delete Διαγραφή - + Swap constraint names Ανταλλαγή ονομάτων περιορισμών - + Unnamed constraint Ανώνυμος περιορισμός - + Only the names of named constraints can be swapped. Μόνο τα ονόματα των ονομασμένων περιορισμών μπορούν να ανταλλαχθούν. @@ -3444,74 +3567,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle Εισαγωγή γωνίας - + Angle: Γωνία: - + Insert radius Εισαγωγή ακτίνας - + Radius: Ακτίνα: - + Insert diameter Εισαγωγή διαμέτρου - + Diameter: Διάμετρος: - + Insert weight Insert weight - + Weight: Βάρος: - + Refractive index ratio Constraint_SnellsLaw Δείκτης διάθλασης - + Ratio n2/n1: Constraint_SnellsLaw Λόγος n2/n1: - + Insert length Εισαγωγή μήκους - + Length: Μήκος: - + Refractive index ratio Δείκτης διάθλασης - + Ratio n2/n1: Λόγος n2/n1: @@ -3519,72 +3642,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal Κανονικό - + Construction Κατασκευή - + Internal Internal - + External External - + All types All types - + Point Σημείο - + Line Γραμμή - + Circle Κύκλος - + Ellipse Έλλειψη - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3592,142 +3715,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Point on Object - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Συμμετρική - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance Horizontal Distance - + Vertical Distance Vertical Distance - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Εναλλαγή κατασκευαστικής λειτουργίας - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Layer - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Hidden - + Delete Διαγραφή @@ -4013,6 +4136,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Ειδοποίηση για τις περιπτώσεις αυτομάτων αντικαταστάσεων περιορισμών + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Both + + + + Auto + Αυτόματο + + + + Diameter + Διάμετρος + + + + Radius + Ακτίνα + SketcherGui::SketcherSettingsColors @@ -4458,12 +4650,12 @@ Then objects are only visible behind the sketch plane. Εφαρμογή στα υπάρχοντα σχέδια - + Unexpected C++ exception Απρόσμενη εξαίρεση C++ - + Sketcher Σχεδιασμός @@ -4634,48 +4826,48 @@ However, no constraints linking to the endpoints were found. Ρυθμίσεις - + Constraints Constraints - + Auto constraints Αυτόματοι περιορισμοί - + Auto remove redundants Αυτόματη αφαίρεση περιττών - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error Σφάλμα - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4707,6 +4899,33 @@ However, no constraints linking to the endpoints were found. Settings Ρυθμίσεις + + + + + + + + + + + + Construction + Κατασκευή + + + + Elements + Στοιχεία + + + + + + + Point + Σημείο + @@ -4718,110 +4937,83 @@ However, no constraints linking to the endpoints were found. - Construction - Κατασκευή - - - - Elements - Στοιχεία - - - - - - - Point - Σημείο - - - - - - - - - - - - Internal Internal - - + + + - Line Γραμμή - - + + + - Arc Τόξο - - + + + - Circle Κύκλος - - + + + - Ellipse Έλλειψη - - + + + - Elliptical Arc Ελλειπτικό Τόξο - - + + + - Hyperbolic Arc Υπερβολικό Τόξο - - + + + - Parabolic Arc Παραβολικό Τόξο - - + + + - BSpline Καμπύλη Βασικής Συνάρτησης BSpline - - + + + - Other Άλλο - + Extended information Εκτεταμένες Πληροφορίες @@ -4829,42 +5021,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Μηνύματα επιλυτή - + Auto update Αυτόματη ενημέρωση - + Executes a recomputation of active document after every sketch action Εκτελεί έναν επανυπολογισμό ενεργού εγγράφου μετά από κάθε ενέργεια σχεδίασης - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5041,112 +5233,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Επεξεργασία σκίτσου - + A dialog is already open in the task panel A dialog is already open in the task panel - + Do you want to close this dialog? Do you want to close this dialog? - + Invalid sketch Μη έγκυρο σχέδιο - + Do you want to open the sketch validation tool? Θέλετε να ανοίξετε το εργαλείο επικύρωσης σχεδίων; - + The sketch is invalid and cannot be edited. Το σχέδιο είναι μη έγκυρο και δε δύναται να υποστεί επεξεργασία. - + Please remove the following constraint: Παρακαλώ αφαιρέστε τον παρακάτω περιορισμό: - + Please remove at least one of the following constraints: Παρακαλώ αφαιρέστε τουλάχιστον έναν από τους παρακάτω περιορισμούς: - + Please remove the following redundant constraint: Παρακαλώ αφαιρέστε τον παρακάτω περιττό περιορισμό: - + Please remove the following redundant constraints: Παρακαλώ αφαιρέστε τους παρακάτω περιττούς περιορισμούς: - + The following constraint is partially redundant: Ο ακόλουθος περιορισμός είναι εν μέρει περιττός: - + The following constraints are partially redundant: Οι ακόλουθοι περιορισμοί είναι εν μέρει περιττοί: - + Please remove the following malformed constraint: Please remove the following malformed constraint: - + Please remove the following malformed constraints: Please remove the following malformed constraints: - + Empty sketch Κενό σχέδιο - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Περιττοί περιορισμοί: - + Partially redundant: Εν μέρει περιττό: - + Solver failed to converge Solver failed to converge - + Under constrained: Υπό περιορισμούς: - + %n DoF(s) %n DoF(s) @@ -5154,7 +5346,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Fully constrained @@ -5162,8 +5354,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Πραγματοποιεί εναλλαγή μεταξύ εμφάνισης και απόκρυψης του οδηγού καμπυλότητας όλων των καμπύλων B-spline @@ -5171,8 +5363,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Μειώνει την πολλαπλότητα του επιλεγμένου κόμβου μιας καμπύλης B-spline @@ -5180,8 +5372,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Πραγματοποιεί εναλλαγή μεταξύ εμφάνισης και απόκρυψης του βαθμού όλων των καμπύλων B-spline @@ -5189,8 +5381,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Αυξάνει την πολλαπλότητα του επιλεγμένου κόμβου μιας καμπύλης B-spline @@ -5198,8 +5390,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Πραγματοποιεί εναλλαγή μεταξύ εμφάνισης και απόκρυψης της πολλαπλότητας κόμβων όλων των καμπύλων B-spline @@ -5207,8 +5399,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -5216,8 +5408,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Πραγματοποιεί εναλλαγή μεταξύ εμφάνισης και απόκρυψης των πολυγώνων ελέγχου όλων των καμπύλων B-spline @@ -5225,8 +5417,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Δημιουργεί έναν κλώνο του γεωμετρικού στοιχείου λαμβάνοντας ως σημείο αναφοράς το τελευταίο επιλεγμένο σημείο @@ -5234,17 +5426,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Κλωνοποιήστε - + Copy Αντιγραφή - + Move Μετακινήστε @@ -5252,8 +5444,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Όρισε τη σταθερή διάμετρο ενός κύκλου, ή ενός τόξου @@ -5261,7 +5453,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5269,8 +5461,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Καθορισμός της ακτίνας ενός κύκλου ή ενός τόξου @@ -5278,7 +5470,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5286,8 +5478,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Δημιουργεί ένα απλό αντίγραφο του γεωμετρικού στοιχείου λαμβάνοντας ως σημείο αναφοράς το τελευταίο επιλεγμένο σημείο @@ -5506,64 +5698,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Δε βρέθηκε σχέδιο - + The document doesn't have a sketch Το έγγραφο δεν έχει κανένα σχέδιο - + Select sketch Επιλέξτε σχέδιο - + Select a sketch from the list Επιλέξτε ένα σχέδιο από τη λίστα - + (incompatible with selection) (μη συμβατή με την επιλογή) - + (current) (τρέχουσα) - + (suggested) (προτεινόμενη) - + Sketch attachment Επισύναψη σχεδίου - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Η τρέχουσα λειτουργία επισύναψης δεν είναι συμβατή με τη νέα επιλογή. Επιλέξτε τη μέθοδο επισύναψης αυτού του σχεδίου σε επιλεγμένα αντικείμενα. - + Select the method to attach this sketch to selected objects. Επιλέξτε τη μέθοδο επισύναψης αυτού του σχεδίου στα επιλεγμένα αντικείμενα. - + Map sketch Αποτύπωση σχεδίου - + Can't map a sketch to support: %1 Αδύνατη η αποτύπωση σχεδίου στο στοιχείο υποστήριξης: @@ -5573,8 +5765,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Μετακινεί το γεωμετρικό στοιχείο λαμβάνοντας ως σημείο αναφοράς το τελευταίο επιλεγμένο σημείο @@ -5582,12 +5774,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Επισύναψη σχεδίου - + Select the method to attach this sketch to selected object Επιλέξτε τη μέθοδο επισύναψης αυτού του σχεδίου στο επιλεγμένο αντικείμενο @@ -5595,12 +5787,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Το σχέδιο έχει στοιχείο υποστήριξης - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Το σχέδιο με όψη στήριξης δεν μπορεί επαναπροσανατολιστεί. @@ -5609,11 +5801,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Μορφή - DOF @@ -5632,11 +5819,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Μορφή - Default algorithm used for Sketch solving @@ -5909,7 +6091,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more and %1 more @@ -6099,22 +6281,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Αυτόματη αλλαγή μεγέθους πλέγματος ανάλογα με τη μεγέθυνση. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6122,87 +6304,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Σφάλμα - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6244,8 +6426,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6342,9 +6524,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error Value Error @@ -6380,58 +6562,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - Κατασκευαστική Γεωμετρία + Normal Geometry + Normal Geometry + Construction Geometry + Κατασκευαστική Γεωμετρία + + + + + External Geometry External Geometry @@ -6452,12 +6634,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6465,12 +6647,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6501,4 +6683,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Διάσταση + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-AR.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-AR.ts index b8bdb13986..7c71e8ffea 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-AR.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-AR.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Mostrar/ocultar peine de curvatura B-spline - + Switches between showing and hiding the curvature comb for all B-splines Cambia entre mostrar y ocultar el peine de curvatura para todas las B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Mostrar/ocultar grado de B-spline - + Switches between showing and hiding the degree for all B-splines Cambiar entre mostrar y ocultar el grado de todas las B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Mostrar/ocultar multiplicidad de nudo de B-spline - + Switches between showing and hiding the knot multiplicity for all B-splines Cambia entre mostrar y ocultar la multiplicidad de nudo para todas las B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Mostrar/ocultar el peso de los puntos de control de la B-spline - + Switches between showing and hiding the control point weight for all B-splines Cambia entre mostrar y ocultar el peso de los puntos de control para todas las B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Mostrar/ocultar control poligonal de B-spline - + Switches between showing and hiding the control polygons for all B-splines Cambia entre mostrar y ocultar los polígonos de control para todas las B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometría tomando como referencia el último punto seleccionado @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Mostrar/ocultar capa de información de B-spline - + Show/hide B-spline degree Mostrar/ocultar grado de B-spline - + Show/hide B-spline control polygon Mostrar/ocultar control poligonal de B-spline - + Show/hide B-spline curvature comb Mostrar/ocultar peine de curvatura B-spline - + Show/hide B-spline knot multiplicity Mostrar/ocultar multiplicidad de nudo de B-spline - + Show/hide B-spline control point weight Mostrar/ocultar el peso de los puntos de control de la B-spline @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Restringir arco o circunferencia - + Constrain an arc or a circle Restringe un arco o una circunferencia - + Constrain radius Restringir radio - + Constrain diameter Restringir diámetro - + Constrain auto radius/diameter Restricción automática de radio/diámetro @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometría tomando como referencia el último punto seleccionado @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modificar multiplicidad de nudo - + Modifies the multiplicity of the selected knot of a B-spline Modifica la multiplicidad del nudo seleccionado de una B-spline - + Increase knot multiplicity Aumentar la multiplicidad de nudo - + Decrease knot multiplicity Disminuir la multiplicidad de nudo @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Restringir ángulo - + Fix the angle of a line or the angle between two lines Fija el ángulo de una línea o el ángulo entre dos líneas @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Restricción en bloque - + Block the selected edge from moving Bloquea el movimiento del borde seleccionado @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Restringir coincidencia - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Crea una restricción coincidente entre puntos, o una restricción concéntrica entre círculos, arcos y elipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Restringir diámetro - + Fix the diameter of a circle or an arc Fija el diámetro de una circunferencia o un arco @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Restringir distancia - + Fix a length of a line or the distance between a line and a vertex or between two circles Fija una longitud de una línea o la distancia entre una línea y un vértice o entre dos círculos @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Restricción de distancia horizontal - + Fix the horizontal distance between two points or line ends Fija la distancia horizontal entre dos puntos o extremos de línea @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Restricción de distancia vertical - + Fix the vertical distance between two points or line ends Fija la distancia vertical entre dos puntos o extremos de línea @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Restringir igualdad - + Create an equality constraint between two lines or between circles and arcs Crea una restricción de igualdad entre dos líneas o entre circunferencias y arcos @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Restringir horizontalmente - + Create a horizontal constraint on the selected item Crea una restricción horizontal en el elemento seleccionado @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Restringir bloqueo - + Create both a horizontal and a vertical distance constraint on the selected vertex Crea una restricción de distancia horizontal y vertical @@ -520,12 +520,12 @@ en el vértice seleccionado CmdSketcherConstrainParallel - + Constrain parallel Restringir paralela - + Create a parallel constraint between two lines Crea una restricción paralela entre dos líneas @@ -533,12 +533,12 @@ en el vértice seleccionado CmdSketcherConstrainPerpendicular - + Constrain perpendicular Restringir perpendicular - + Create a perpendicular constraint between two lines Crea una restricción perpendicular entre dos líneas @@ -546,12 +546,12 @@ en el vértice seleccionado CmdSketcherConstrainPointOnObject - + Constrain point onto object Restringir el punto al objeto - + Fix a point onto an object Fija un punto en un objeto @@ -559,12 +559,12 @@ en el vértice seleccionado CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Restricción automática de radio/diámetro - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Corrija el diámetro si se elige un círculo, o el radio si se elige un polo arco/curva @@ -572,12 +572,12 @@ en el vértice seleccionado CmdSketcherConstrainRadius - + Constrain radius or weight Restringir radio o peso - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Fija el radio de una circunferencia o un arco o corrige el peso del polo de una B-Spline @@ -585,12 +585,12 @@ en el vértice seleccionado CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Restricción de refracción (Ley de Snell) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Crea una restricción de ley de refracción (ley de Snell) entre dos extremos de los rayos @@ -600,12 +600,12 @@ y un borde como interfaz. CmdSketcherConstrainSymmetric - + Constrain symmetrical Restringir simetría - + Create a symmetry constraint between two points with respect to a line or a third point Crea una restricción de simetría entre dos puntos @@ -615,12 +615,12 @@ con respecto a una línea o un tercer punto CmdSketcherConstrainTangent - + Constrain tangent Restringir tangente - + Create a tangent constraint between two entities Crea una restricción tangente entre dos entidades @@ -628,12 +628,12 @@ con respecto a una línea o un tercer punto CmdSketcherConstrainVertical - + Constrain vertically Restringir verticalmente - + Create a vertical constraint on the selected item Crea una restricción vertical en el elemento seleccionado @@ -641,12 +641,12 @@ con respecto a una línea o un tercer punto CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convertir geometría en una B-spline - + Converts the selected geometry to a B-spline Convierte la geometría seleccionada en una B-spline @@ -654,12 +654,12 @@ con respecto a una línea o un tercer punto CmdSketcherCopy - + Copy Copiar - + Creates a simple copy of the geometry taking as reference the last selected point Crea una copia simple de la geometría tomando como referencia el último punto seleccionado @@ -1018,12 +1018,12 @@ con respecto a una línea o un tercer punto CmdSketcherDecreaseDegree - + Decrease B-spline degree Reducir grado de B-spline - + Decreases the degree of the B-spline Disminuye el grado de la B-spline @@ -1031,12 +1031,12 @@ con respecto a una línea o un tercer punto CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Disminuir la multiplicidad de nudo - + Decreases the multiplicity of the selected knot of a B-spline Disminuye la multiplicidad del nudo seleccionado de una B-spline @@ -1044,12 +1044,12 @@ con respecto a una línea o un tercer punto CmdSketcherDeleteAllConstraints - + Delete all constraints Borrar todas las restricciones - + Delete all constraints in the sketch Borra todas las restricciones en el croquis @@ -1057,12 +1057,12 @@ con respecto a una línea o un tercer punto CmdSketcherDeleteAllGeometry - + Delete all geometry Borrar toda la geometría - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Borra todas las restricciones y geometría del croquis actual, con la excepción de la geometría externa @@ -1070,12 +1070,12 @@ con respecto a una línea o un tercer punto CmdSketcherEditSketch - + Edit sketch Editar croquis - + Edit the selected sketch. Edita el croquis seleccionado. @@ -1109,12 +1109,12 @@ con respecto a una línea o un tercer punto CmdSketcherIncreaseDegree - + Increase B-spline degree Aumentar grado de B-spline - + Increases the degree of the B-spline Aumenta el grado de la B-spline @@ -1122,12 +1122,12 @@ con respecto a una línea o un tercer punto CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Aumentar la multiplicidad de nudo - + Increases the multiplicity of the selected knot of a B-spline Aumenta la multiplicidad del nudo seleccionado de una B-spline @@ -1135,12 +1135,12 @@ con respecto a una línea o un tercer punto CmdSketcherInsertKnot - + Insert knot Insertar nodo - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserta el nodo en un parámetro determinado. Si ya existe un nodo en ese parámetro, su multiplicidad se incrementa en uno. @@ -1148,12 +1148,12 @@ con respecto a una línea o un tercer punto CmdSketcherJoinCurves - + Join curves Unir curvas - + Join two curves at selected end points Une dos curvas en los puntos finales seleccionados @@ -1161,12 +1161,12 @@ con respecto a una línea o un tercer punto CmdSketcherLeaveSketch - + Leave sketch Salir del croquis - + Finish editing the active sketch. Termina de editar el croquis activo. @@ -1174,12 +1174,12 @@ con respecto a una línea o un tercer punto CmdSketcherMapSketch - + Map sketch to face... Mapear croquis a cara... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1187,7 +1187,7 @@ then call this command, then choose the desired sketch. Primero selecciona la geometría de soporte, por ejemplo, una cara o una arista de un objeto sólido, después llama a este comando y entonces elije el croquis deseado. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Algunos de los objetos seleccionados dependen de que el croquis sea mapeado. Las dependencias circulares no están permitidas. @@ -1195,22 +1195,22 @@ Primero selecciona la geometría de soporte, por ejemplo, una cara o una arista CmdSketcherMergeSketches - + Merge sketches Fusionar croquis - + Create a new sketch from merging two or more selected sketches. Crea un nuevo croquis a partir de la fusión de dos o más croquis seleccionados. - + Wrong selection Selección Incorrecta - + Select at least two sketches. Seleccione al menos dos croquis. @@ -1218,12 +1218,12 @@ Primero selecciona la geometría de soporte, por ejemplo, una cara o una arista CmdSketcherMirrorSketch - + Mirror sketch Simetrizar croquis - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1232,12 +1232,12 @@ usando los ejes X o Y, o el punto de origen, como referencia replicadora. - + Wrong selection Selección Incorrecta - + Select one or more sketches. Seleccione uno o más croquis. @@ -1245,12 +1245,12 @@ como referencia replicadora. CmdSketcherMove - + Move Mover - + Moves the geometry taking as reference the last selected point Mueve la geometría tomando como referencia el último punto seleccionado @@ -1258,12 +1258,12 @@ como referencia replicadora. CmdSketcherNewSketch - + Create sketch Crear croquis - + Create a new sketch. Crea un nuevo croquis. @@ -1271,12 +1271,12 @@ como referencia replicadora. CmdSketcherRectangularArray - + Rectangular array Matriz rectangular - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Crea un patrón de matriz rectangular de la geometría tomando como referencia el último punto seleccionado @@ -1284,12 +1284,12 @@ como referencia replicadora. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Eliminar alineación de ejes - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifica restricciones para eliminar la alineación de los ejes mientras se intenta preservar la relación de restricción de la selección @@ -1297,12 +1297,12 @@ como referencia replicadora. CmdSketcherReorientSketch - + Reorient sketch... Reorientar croquis... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Coloca el croquis seleccionado en uno de los planos de coordenadas globales. @@ -1312,12 +1312,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Mostrar/ocultar geometría interna - + Show all internal geometry or hide unused internal geometry Muestra toda la geometría interna u oculta geometría interna no utilizada @@ -1325,8 +1325,8 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Seleccionar restricciones en conflicto @@ -1334,12 +1334,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectConstraints - + Select associated constraints Seleccionar restricciones asociadas - + Select the constraints associated with the selected geometrical elements Selecciona las restricciones asociadas con los elementos geométricos seleccionados @@ -1347,12 +1347,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Seleccionar geometría asociada - + Select the geometrical elements associated with the selected constraints Selecciona los elementos geométricos asociados con las restricciones seleccionadas @@ -1360,12 +1360,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Seleccionar Grados de Libertad sin restricciones - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Selecciona elementos geométricos donde el solver todavía detecta grados de libertad sin restricciones. @@ -1373,12 +1373,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Seleccionar eje horizontal - + Select the local horizontal axis of the sketch Seleccione la abscisa local del croquis @@ -1386,8 +1386,8 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Seleccionar restricciones mal formadas @@ -1395,12 +1395,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectOrigin - + Select origin Seleccionar origen de coordenadas - + Select the local origin point of the sketch Selecciones el origen local del croquis @@ -1408,8 +1408,8 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Seleccionar restricciones parcialmente redundantes @@ -1417,8 +1417,8 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Seleccionar restricciones redundantes @@ -1426,12 +1426,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectVerticalAxis - + Select vertical axis Seleccionar eje vertical - + Select the local vertical axis of the sketch Seleccione la ordenada del croquis @@ -1452,12 +1452,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherStopOperation - + Stop operation Detener operación - + When in edit mode, stop the active operation (drawing, constraining, etc.). Cuando está en modo edición, detiene la operación activa (dibujar, restringir, etc.). @@ -1478,12 +1478,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSymmetry - + Symmetry Simetría - + Creates symmetric geometry with respect to the last selected line or point Crea geometría simétrica con respecto a la última línea o punto seleccionado @@ -1491,12 +1491,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activar/desactivar restricción - + Activates or deactivates the selected constraints Activa o desactiva las restricciones seleccionadas @@ -1517,12 +1517,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Alterna las restricciones entre operativas o de referencia - + Set the toolbar, or the selected constraints, into driving or reference mode Fija la barra de herramientas, o las restricciones seleccionadas, @@ -1545,24 +1545,24 @@ en modo operativo o de referencia CmdSketcherValidateSketch - + Validate sketch... Validar croquis... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Valida un croquis mirando las coincidencias que faltan, restricciones inválidas, geometrías degeneradas, etc. - + Wrong selection Selección Incorrecta - + Select only one sketch. Seleccione sólo un croquis. @@ -1570,12 +1570,12 @@ restricciones inválidas, geometrías degeneradas, etc. CmdSketcherViewSection - + View section Vista de corte - + When in edit mode, switch between section view and full view. Cuando está en modo edición, cambia entre la vista de sección y la vista completa. @@ -1583,12 +1583,12 @@ restricciones inválidas, geometrías degeneradas, etc. CmdSketcherViewSketch - + View sketch Ver croquis - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Cuando está en modo edición, ajusta la orientación de la cámara perpendicular al plano de croquis. @@ -1596,287 +1596,404 @@ restricciones inválidas, geometrías degeneradas, etc. Command - - + + Add horizontal constraint Añadir restricción horizontal - - - + + + Add horizontal alignment Añadir alineación horizontal - - + + Add vertical constraint Añadir restricción vertical - + Add vertical alignment Añadir alineación vertical - + Add 'Lock' constraint Añadir restricción 'Bloquear' - + Add relative 'Lock' constraint Agregar restricción relativa 'Bloquear' - + Add fixed constraint Añadir restricción fija - + Add 'Block' constraint Añadir restricción 'Bloqueo' - + Add block constraint Añadir restricción de bloqueo - - - + + + Add coincident constraint Añadir restricción coincidente - - + + Add distance from horizontal axis constraint Añadir distancia desde la restricción del eje horizontal - - + + Add distance from vertical axis constraint Añadir distancia desde la restricción del eje vertical - - + + Add point to point distance constraint Añadir punto a restricción de distancia de punto - - + + + Add point to line Distance constraint Añadir punto a restricción de Distancia de Línea - - + + Add circle to circle distance constraint Agrega un círculo a la restricción de distancia circular - + Add circle to line distance constraint Agrega un círculo a la restricción de distancia de línea - - + + + + + Add length constraint Añadir restricción de longitud - - + + + Dimension + Cota + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Añadir punto a la restricción del objeto - - + + Add point to point horizontal distance constraint Añadir punto a la restricción de distancia horizontal del punto - + Add fixed x-coordinate constraint Añadir restricción de coordenada-x fija - - + + Add point to point vertical distance constraint Añadir punto a la restricción de distancia vertical del punto - + Add fixed y-coordinate constraint Añadir restricción de coordenada-y fija - - + + Add parallel constraint Añadir restricción paralela - - - - - - - + + + + + + + Add perpendicular constraint Añadir restricción perpendicular - + Add perpendicularity constraint Añadir restricción de perpendicularidad - + Swap coincident+tangency with ptp tangency Intercambia coincidencia + tangencia con la tangencia ptp - + Swap PointOnObject+tangency with point to curve tangency Intercambia Punto en Objeto+tangencia con tangencia de punto a curva - - - - - - - + + + + + + + Add tangent constraint Añadir restricción tangente - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Añadir punto de restricción tangente - - - - + + + + Add radius constraint Añadir restricción de radio - - - - + + + + Add diameter constraint Añadir restricción de diámetro - - - - + + + + Add radiam constraint Añadir restricción de radio - - - - - - + + + + + + Add angle constraint Añadir restricción de ángulo - - + + Add equality constraint Añadir restricción de igualdad - - - - - + + + + + Add symmetric constraint Añadir restricción de simetría - + Add Snell's law constraint Añadir restricción de ley de Snell - + Toggle constraint to driving/reference Cambiar la restricción a la conducción/referencia - + Activate/Deactivate constraint Activar/desactivar restricción - + Create a new sketch on a face Crear un nuevo croquis en una cara - + Create a new sketch Crea un nuevo croquis - + Reorient sketch Reorientar croquis - + Attach sketch Adjuntar croquis - + Detach sketch Separar croquis - + Create a mirrored sketch for each selected sketch Crea un croquis reflejado para cada croquis seleccionado - + Merge sketches Fusionar croquis @@ -1994,72 +2111,72 @@ restricciones inválidas, geometrías degeneradas, etc. Añadir hexágono - + Convert to NURBS Convertir a NURBS - + Increase spline degree Aumentar grado de spline - + Decrease spline degree Reducir grado de spline - + Increase knot multiplicity Aumentar la multiplicidad de nudo - + Decrease knot multiplicity Disminuir la multiplicidad de nudo - + Insert knot Insertar nodo - + Join Curves Unir curvas - + Exposing Internal Geometry Exponiendo Geometría Interna - + Create symmetric geometry Crear geometría simétrica - + Copy/clone/move geometry Copiar/clonar/mover geometría - + Create copy of geometry Crear copia de geometría - + Delete all geometry Borrar toda la geometría - + Delete All Constraints Borrar Todas las Restricciones - + Remove Axes Alignment Quitar alineación de ejes @@ -2070,44 +2187,44 @@ restricciones inválidas, geometrías degeneradas, etc. - - - + + + Update constraint's virtual space Actualizar el espacio virtual de la restricción - + Add auto constraints Añadir restricciones automáticas - + Swap constraint names Cambiar nombres de restricciones - + Rename sketch constraint Renombrar restricción de croquis - + Drag Point Punto de arrastre - + Drag Curve Arrastrar curva - + Drag Constraint Restricción de arrastre - + Modify sketch constraints Modificar restricciones de croquis @@ -2168,59 +2285,59 @@ restricciones inválidas, geometrías degeneradas, etc. Error de auto-restricción: Croquis sin solución después de aplicar restricciones de igualdad. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. No se puede adivinar la intersección de las curvas. Intente agregar una restricción coincidente entre los vértices de las curvas que pretende redondear. - - + + BSpline Geometry Index (GeoID) is out of bounds. Índice de Geometría BSpline (GeoID) está fuera de límites. - + You are requesting no change in knot multiplicity. No está solicitando ningún cambio en la multiplicidad de nudos. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. El índice de geometría (GeoId) proporcionado no es una curva B-spline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. El índice de nudos está fuera de los límites. Tenga en cuenta que de acuerdo con la notación OCC, el primer nudo tiene índice 1 y no 0. - + The multiplicity cannot be increased beyond the degree of the B-spline. La multiplicidad no puede incrementarse más allá del grado de la B-spline. - + The multiplicity cannot be decreased beyond zero. La multiplicidad no puede ser disminuida más allá de cero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC es incapaz de disminuir la multiplicidad dentro de la tolerancia máxima. - + Knot cannot have zero multiplicity. El nodo no puede tener una multiplicidad cero. - + Knot multiplicity cannot be higher than the degree of the BSpline. La multiplicidad del nodo no puede ser mayor que el grado de la BSpline. - + Knot cannot be inserted outside the BSpline parameter range. El nodo no puede ser insertado fuera del rango de parámetros de la B-Spline. @@ -2236,210 +2353,213 @@ restricciones inválidas, geometrías degeneradas, etc. QObject - - - - + + + + Sketcher Croquizador - + There are no modes that accept the selected set of subelements No existen modos que aceptan el conjunto seleccionado de sub-elementos - + Broken link to support subelements Enlace roto a los sub-elementos de soporte - - + + Unexpected error Error inesperado - + Face is non-planar La cara no es plana - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Las formas seleccionadas son de forma incorrecta (p/ej., un borde curvado donde se necesita una recta) - + Sketch mapping Mapeo de croquis - + Can't map the sketch to selected object. %1. No se puede asignar el croquis al objeto seleccionado. %1. - - + + Don't attach No adjuntar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Selección Incorrecta @@ -2450,339 +2570,339 @@ restricciones inválidas, geometrías degeneradas, etc. Seleccione borde(s) del Croquizador. - + Not allowed to edit the datum because the sketch contains conflicting constraints No se permite editar el dato de referencia porque el croquis contiene restricciones en conflicto - + Dimensional constraint Restricción de cota - + Cannot add a constraint between two external geometries. No se puede añadir una restricción entre dos geometrias externas. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. No se puede agregar una restricción entre dos geometrías fijas. Las geometrías fijas incluyen geometría externa, geometría bloqueada y puntos especiales como puntos de nodos de B-spline. - + Sketcher Constraint Substitution Sustitución de restricción del croquis - + Keep notifying me of constraint substitutions Seguir notificándome de sustituciones de restricciones - - - + + + Only sketch and its support are allowed to be selected. Solo se permite seleccionar el croquis y su soporte. - + One of the selected has to be on the sketch. Uno de los seleccionados tiene que estar en el croquis. - - + + Select an edge from the sketch. Seleccione un borde del Croquizador. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Restricción imposible - - - - + + + + The selected edge is not a line segment. El borde seleccionado no es un segmento de línea. - - - - - - + + + + + + Double constraint Restricción doble - - - - - + + + + + The selected edge already has a horizontal constraint! ¡El borde seleccionado ya tiene una restricción horizontal! - - - + + + The selected edge already has a vertical constraint! ¡El borde seleccionado ya tiene una restricción vertical! - - - - - - + + + + + + The selected edge already has a Block constraint! ¡El borde seleccionado ya tiene una restricción de Bloque! - + The selected item(s) can't accept a horizontal constraint! ¡El elemento(s) seleccionado no puede aceptar una restricción horizontal! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Hay más de un punto fijo seleccionado. ¡Seleccione solamente un punto fijo! - + The selected item(s) can't accept a vertical constraint! ¡El(los) elemento(s) seleccionado(s) no admiten una restricción vertical! - - - + + + Select vertices from the sketch. Selecciona vértices del croquis. - + Select one vertex from the sketch other than the origin. Seleccione un vértice del croquis que no sea el origen. - + Select only vertices from the sketch. The last selected vertex may be the origin. Selecciona sólo vértices del croquis. El último vértice seleccionado puede ser el origen. - + Wrong solver status Estado de Solver incorrecto - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Una restricción de Bloqueo no puede ser añadida si el croquis está sin resolver o hay restricciones redundantes y en conflicto. - + Select one edge from the sketch. Seleccione un borde del croquis. - + Select only edges from the sketch. Seleccione solo bordes a partir del croquis. - + Number of selected objects is not 3 El número de objetos seleccionados no es 3 - - - + + + Error Error - + Unexpected error. More information may be available in the Report View. Error inesperado. Puede haber más información disponible en la vista de reporte. - + Endpoint to endpoint tangency was applied instead. En su lugar, se aplicó la tangencia de punto final a punto final. - + Select two or more points from the sketch. Seleccione dos o más puntos del croquis. - + Select two or more vertices from the sketch. Seleccione dos o más vértices del croquis. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Seleccione dos o más vértices del croquis para una restricción coincidente, o dos o más círculos, elipses, arcos o arcos de elípse para una restricción concéntrica. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Seleccione dos vértices del croquis para una restricción coincidente, o dos círculos, elipses, arcos o arcos de elipse para una restricción concéntrica. - + Select exactly one line or one point and one line or two points from the sketch. Seleccione exactamente una línea o un punto y una línea o dos puntos del croquis. - + Cannot add a length constraint on an axis! ¡No se puede agregar una restricción de longitud en un eje! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Seleccione exactamente una línea o un punto y una línea o dos puntos o dos círculos del croquis. - + This constraint does not make sense for non-linear curves. Esta restricción no tiene sentido para curvas no lineales. - + Endpoint to edge tangency was applied instead. El punto final a la tangencia del borde se aplicó en su lugar. - - - - - - - + + + + + + + Select the right things from the sketch. Seleccione las cosas correctas desde el croquis. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Seleccione un borde que no sea un peso de B-spline. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Ninguno de los puntos seleccionados fueron restringidos en sus respectivas curvas, porque son partes del mismo elemento, y porque ambos son geometría externa, o porque la arista no es elegible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Ninguno de los puntos seleccionados se restringió a las curvas respectivas, ya sea porque son partes del mismo elemento o porque ambos son geometría externa. - - - - + + + + Select exactly one line or up to two points from the sketch. Seleccione exactamente una línea o hasta dos puntos del croquis. - + Cannot add a horizontal length constraint on an axis! ¡No se puede agregar una restricción de longitud horizontal en un eje! - + Cannot add a fixed x-coordinate constraint on the origin point! ¡No se puede agregar una restricción fija de coordenadas X en el punto de origen! - - + + This constraint only makes sense on a line segment or a pair of points. Esta restricción sólo tiene sentido en un segmento de línea o un par de puntos. - + Cannot add a vertical length constraint on an axis! ¡No se puede agregar una restricción de longitud vertical sobre un eje! - + Cannot add a fixed y-coordinate constraint on the origin point! ¡No se puede agregar una restricción fija de coordenadas Y en el punto de origen! - + Select two or more lines from the sketch. Seleccione dos o más líneas del croquis. - - + + Select at least two lines from the sketch. Seleccione al menos dos líneas del croquis. - + Select a valid line. Seleccione una línea válida. - - + + The selected edge is not a valid line. El borde seleccionado no es una línea válida. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2792,42 +2912,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinaciones aceptadas: dos curvas; un punto final y una curva; dos puntos finales; dos curvas y un punto. - + Select some geometry from the sketch. perpendicular constraint Seleccione alguna geometría del croquis. - - + + Cannot add a perpendicularity constraint at an unconnected point! ¡No se puede agregar una restricción de perpendicularidad en un punto desconectado! - - - + + + Perpendicular to B-spline edge currently unsupported. Perpendicular al borde de B-spline actualmente no soportado. - - + + One of the selected edges should be a line. Uno de los bordes seleccionados debe ser una línea. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Se aplicó la tangencia de punto final a punto final. La restricción coincidente fue eliminada. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Se aplicó la restricción del punto final a la tangencia. Se eliminó la restricción del punto sobre el objeto. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2837,179 +2957,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinaciones aceptadas: dos curvas; un punto final y una curva; dos puntos finales; dos curvas y un punto. - + Select some geometry from the sketch. tangent constraint Seleccione alguna geometría del croquis. - - - + + + Cannot add a tangency constraint at an unconnected point! ¡No se puede agregar una restricción de tangencia en un punto desconectado! - - + + Tangent constraint at B-spline knot is only supported with lines! La restricción tangente en nudo de B-spline sólo es compatible con líneas! - + B-spline knot to endpoint tangency was applied instead. En su lugar, se aplicó el punto de la B-spline al extremo de la tangencia. - + Select either one point and several curves, or one curve and several points. Seleccione un punto y varias curvas, o una curva y varios puntos. - - + + Wrong number of selected objects! ¡Número incorrecto de objetos seleccionados! - - + + With 3 objects, there must be 2 curves and 1 point. Con 3 objetos, debe haber 2 curvas y 1 punto. - - - + + + Tangency to B-spline edge currently unsupported. Tangencia a borde de B-spline no soportada actualmente. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Seleccione uno o más arcos o circunferencias del croquis. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Seleccione sólo uno o más polos de B-Spline o sólo uno o más arcos o circunferencias del croquis, pero no mezclado. - - - + + + Constraint only applies to arcs or circles. La restricción sólo se aplica a los arcos o circunferencias. - - + + Select one or two lines from the sketch. Or select two edges and a point. Seleccione una o dos líneas del croquis. O seleccione dos bordes y un punto. - - + + Parallel lines Líneas paralelas - - + + An angle constraint cannot be set for two parallel lines. No se puede establecer una restricción de ángulo para dos líneas paralelas. - + Cannot add an angle constraint on an axis! ¡No se puede agregar una restricción de ángulo en un eje! - + Select two edges from the sketch. Seleccione dos bordes del croquis. - + Select two or more compatible edges. Seleccione dos o más bordes compatibles. - + Sketch axes cannot be used in equality constraints. Los ejes de dibujo no pueden utilizarse en restricciones de igualdad. - + Equality for B-spline edge currently unsupported. La igualdad para el borde de B-spline no está soportada actualmente. - - - + + + + Select two or more edges of similar type. Seleccione dos o más bordes de tipo similar. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Seleccione dos puntos y una línea de simetría, dos puntos y un punto de simetría o una línea y un punto de simetría del croquis. - - + + Cannot add a symmetry constraint between a line and its end points. No se puede añadir una restricción de simetría entre una línea y sus extremos. - - + + + + Cannot add a symmetry constraint between a line and its end points! ¡No se puede agregar una restricción de simetría entre una línea y sus puntos finales! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Seleccione dos extremos de líneas para actuar como rayos, y una arista que representa un límite. El primer punto seleccionado corresponde al índice n1, segundo a n2, y el valor de referencia establece la relación n2/n1. - + Selected objects are not just geometry from one sketch. Los objetos seleccionados no son solo geometría de un croquis. - + Cannot create constraint with external geometry only. No se puede crear restricción sólo con geometría externa. - + Incompatible geometry is selected. Se ha seleccionado geometría incompatible. - + SnellsLaw on B-spline edge is currently unsupported. Ley de Snell sobre arista de B-spline no es compatible por el momento. - - - - - + + + + + Select constraints from the sketch. Seleccione restricciones del croquis. @@ -3031,155 +3154,155 @@ Combinaciones aceptadas: dos curvas; un punto final y una curva; dos puntos fina Definir el grado de la B-Spline, entre 1 y %1: + + - - CAD Kernel Error Error de Kernel CAD - + None of the selected elements is an edge. Ninguno de los elementos seleccionados es un borde. - - + + At least one of the selected objects was not a B-Spline and was ignored. Al menos uno de los objetos seleccionados no era una B-Spline y fue ignorado. - - + + The selection comprises more than one item. Please select just one knot. La selección incluye más de un elemento. Por favor seleccione solo un nudo. - - + + Input Error Error de Entrada - - + + None of the selected elements is a knot of a B-spline Ninguno de los elementos seleccionados es un nudo de una B-spline - - + + Selection is empty La selección está vacía - + Nothing is selected. Please select a b-spline. No hay nada seleccionado. Por favor, seleccione una B-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Por favor, seleccione una curva b-spline para insertar un nudo (no un nudo en él). Si la curva no es una curva b-spline, por favor conviértalo en una primero. - + Nothing is selected. Please select end points of curves. No se ha seleccionado nada. Por favor, seleccione los puntos finales de las curvas. - + Too many curves on point Demasiadas curvas en el punto - - + + Exactly two curves should end at the selected point to be able to join them. Dos curvas deben terminar exactamente en el punto seleccionado para poder unirlas. - + Too few curves on point Muy pocas curvas en el punto - + Two end points, or coincident point should be selected. Se deben seleccionar dos puntos finales, o un punto coincidente. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Seleccione los elementos de un único croquis. - + No constraint selected Ninguna restricción seleccionada - + At least one constraint must be selected Debe seleccionar al menos una restricción - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Una construcción simétrica requiere al menos dos elementos geométricos, siendo el último elemento geométrico la referencia para la construcción de simetría. - + The last element must be a point or a line serving as reference for the symmetry construction. El último elemento debe ser un punto o una línea que sirva de referencia para la construcción de simetría. - - + + A copy requires at least one selected non-external geometric element Una copia requiere al menos un elemento geométrico no externo seleccionado - + Delete All Geometry Borrar Toda Geometría - + Are you really sure you want to delete all geometry and constraints? ¿Está seguro de que desea eliminar todas las restricciones y geometrías? - + Delete All Constraints Borrar Todas las Restricciones - + Are you really sure you want to delete all the constraints? ¿Está realmente seguro de que desea eliminar todas las restricciones? - + Removal of axes alignment requires at least one selected non-external geometric element La eliminación de alineación de ejes requiere al menos un elemento geométrico no externo seleccionado - + Unsupported visual layer operation Operación de capa visual no soportada - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Actualmente no está soportado el mover la geometría externa a otra capa visual. Se omitirá la geometría externa @@ -3378,67 +3501,67 @@ Combinaciones aceptadas: dos curvas; un punto final y una curva; dos puntos fina SketcherGui::ConstraintView - + Select Elements Seleccionar elementos - + Change value Cambiar valor - + Toggle to/from reference Cambiar a/desde referencia - + Deactivate Desactivar - + Activate Activar - + Show constraints Mostrar restricciones - + Hide constraints Ocultar restricciones - + Rename Renombrar - + Center sketch Centrar croquis - + Delete Eliminar - + Swap constraint names Cambiar nombres de restricciones - + Unnamed constraint Restricción sin nombre - + Only the names of named constraints can be swapped. Sólo los nombres de las restricciones nombradas pueden ser cambiados. @@ -3446,74 +3569,74 @@ Combinaciones aceptadas: dos curvas; un punto final y una curva; dos puntos fina SketcherGui::EditDatumDialog - + Insert angle Insertar ángulo - + Angle: Ángulo: - + Insert radius Insertar radio - + Radius: Radio: - + Insert diameter Insertar diámetro - + Diameter: Diámetro: - + Insert weight Insertar peso - + Weight: Peso: - + Refractive index ratio Constraint_SnellsLaw Índice de refracción - + Ratio n2/n1: Constraint_SnellsLaw Relación n2/n1: - + Insert length Insertar longitud - + Length: Longitud: - + Refractive index ratio Índice de refracción - + Ratio n2/n1: Relación n2/n1: @@ -3521,72 +3644,72 @@ Combinaciones aceptadas: dos curvas; un punto final y una curva; dos puntos fina SketcherGui::ElementFilterList - + Normal Normal - + Construction Construcción - + Internal Interno - + External Externo - + All types Todos los tipos - + Point Punto - + Line Línea - + Circle Círculo - + Ellipse Elipse - + Arc of circle Arco del círculo - + Arc of ellipse Arco de elipse - + Arc of hyperbola Arco de hipérbola - + Arc of parabola Arco de parábola - + B-Spline B-spline @@ -3594,142 +3717,142 @@ Combinaciones aceptadas: dos curvas; un punto final y una curva; dos puntos fina SketcherGui::ElementView - + Point Coincidence Coincidencia de puntos - + Point on Object Punto en objeto - + Vertical Constraint Restricción vertical - + Horizontal Constraint Restricción horizontal - + Parallel Constraint Restricción paralela - + Perpendicular Constraint Restricción perpendicular - + Tangent Constraint Restricción tangencial - + Equal Length Longitud igual - + Symmetric Simétrico - + Block Constraint Restricción de bloque - + Lock Constraint Restricción de bloqueo - + Horizontal Distance Distancia horizontal - + Vertical Distance Distancia vertical - + Length Constraint Restricción de longitud - + Radius Constraint Restricción de radio - + Diameter Constraint Restricción de diámetro - + Radiam Constraint Restricción de radio/diámetro - + Angle Constraint Restricción angular - + Toggle construction geometry Alternar geometría de construcción - + Select Constraints Seleccionar restricciones - + Select Origin Seleccionar origen - + Select Horizontal Axis Seleccionar eje horizontal - + Select Vertical Axis Seleccionar eje vertical - + Layer Capa - + Layer 0 Capa 0 - + Layer 1 Capa 1 - + Hidden Oculto - + Delete Eliminar @@ -4014,6 +4137,75 @@ Requiere volver a ingresar al modo de edición para tener efecto. Notify automatic constraint substitutions Notificar sustituciones de restricciones automáticas + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Ambas + + + + Auto + Automático + + + + Diameter + Diámetro + + + + Radius + Radio + SketcherGui::SketcherSettingsColors @@ -4459,12 +4651,12 @@ Entonces los objetos sólo son visibles detrás del plano del croquis.Se aplica a los croquis existentes - + Unexpected C++ exception Excepción de C++ inesperada - + Sketcher Croquizador @@ -4637,48 +4829,48 @@ Sin embargo, no se encontraron restricciones que vinculen a los puntos finales.< Configuración - + Constraints Restricciones - + Auto constraints Restricciones automáticas - + Auto remove redundants Eliminar restricciones redundantes automáticamente - + Show only filtered Constraints Mostrar sólo restricciones filtradas - + Extended information (in widget) Información extendida (en widget) - + Hide internal alignment (in widget) Ocultar alineamiento interno (en widget) - - + + Error Error - + Impossible to update visibility tracking Imposible actualizar el seguimiento de visibilidad - + Impossible to update visibility tracking: Imposible actualizar el seguimiento de visibilidad: @@ -4710,6 +4902,33 @@ Sin embargo, no se encontraron restricciones que vinculen a los puntos finales.< Settings Configuración + + + + + + + + + + + + Construction + Construcción + + + + Elements + Elementos + + + + + + + Point + Punto + @@ -4721,110 +4940,83 @@ Sin embargo, no se encontraron restricciones que vinculen a los puntos finales.< - Construction - Construcción - - - - Elements - Elementos - - - - - - - Point - Punto - - - - - - - - - - - - Internal Interno - - + + + - Line Línea - - + + + - Arc Arco - - + + + - Circle Círculo - - + + + - Ellipse Elipse - - + + + - Elliptical Arc Arco Elíptico - - + + + - Hyperbolic Arc Arco Hiperbólico - - + + + - Parabolic Arc Arco Parabólico - - + + + - BSpline BSpline - - + + + - Other Otro - + Extended information Información extendida @@ -4832,42 +5024,42 @@ Sin embargo, no se encontraron restricciones que vinculen a los puntos finales.< SketcherGui::TaskSketcherMessages - + Solver messages Mensajes del Solver - + Auto update Actualización automática - + Executes a recomputation of active document after every sketch action Ejecuta un recálculo del documento activo después de cada acción de croquis - + Click to select the conflicting constraints. Haga clic para seleccionar las restricciones en conflicto. - + Click to select the redundant constraints. Haga clic para seleccionar las restricciones redundantes. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. El croquis tiene elementos sin restricciones que dan lugar a esos grados de libertad. Haga clic para seleccionar los elementos sin restricciones. - + Click to select the malformed constraints. Haga clic para seleccionar las restricciones mal formadas. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Algunas restricciones en combinación son parcialmente redundantes. Haga clic para seleccionar las restricciones parcialmente redundantes. @@ -5045,112 +5237,112 @@ Esto se hace al analizar las geometrías y restricciones del croquis. SketcherGui::ViewProviderSketch - + Edit sketch Editar croquis - + A dialog is already open in the task panel Un diálogo ya está abierto en el panel de tareas - + Do you want to close this dialog? ¿Desea cerrar este diálogo? - + Invalid sketch Croquis no válido - + Do you want to open the sketch validation tool? ¿Quieres abrir la herramienta de validación de croquis? - + The sketch is invalid and cannot be edited. El croquis no es válido y no puede editarse. - + Please remove the following constraint: Por favor, elimine la siguiente restricción: - + Please remove at least one of the following constraints: Por favor, elimine al menos una de las siguientes restricciones: - + Please remove the following redundant constraint: Por favor, elimine la siguiente restricción redundante: - + Please remove the following redundant constraints: Por favor, elimine las siguientes restricciones redundantes: - + The following constraint is partially redundant: La siguiente restricción es parcialmente redundante: - + The following constraints are partially redundant: Las siguientes restricciones son parcialmente redundantes: - + Please remove the following malformed constraint: Por favor, elimine la siguiente restricción mal formada: - + Please remove the following malformed constraints: Por favor, elimine las siguientes restricciones mal formadas: - + Empty sketch Croquis vacío - + Over-constrained: Sobre-restringido: - + Malformed constraints: Restricciones mal formadas: - + Redundant constraints: Restricciones redundantes: - + Partially redundant: Parcialmente redundante: - + Solver failed to converge El solver falló al converger - + Under constrained: Sub-restringido: - + %n DoF(s) %n DoF @@ -5158,7 +5350,7 @@ Esto se hace al analizar las geometrías y restricciones del croquis. - + Fully constrained Totalmente restringido @@ -5166,8 +5358,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Cambia entre mostrar y ocultar el peine de curvatura para todas las B-splines @@ -5175,8 +5367,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Disminuye la multiplicidad del nudo seleccionado de una B-spline @@ -5184,8 +5376,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Cambiar entre mostrar y ocultar el grado de todas las B-splines @@ -5193,8 +5385,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Aumenta la multiplicidad del nudo seleccionado de una B-spline @@ -5202,8 +5394,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Cambia entre mostrar y ocultar la multiplicidad de nudo para todas las B-splines @@ -5211,8 +5403,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Cambia entre mostrar y ocultar el peso de los puntos de control para todas las B-splines @@ -5220,8 +5412,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Cambia entre mostrar y ocultar los polígonos de control para todas las B-splines @@ -5229,8 +5421,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometría tomando como referencia el último punto seleccionado @@ -5238,17 +5430,17 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_CompCopy - + Clone Clonar - + Copy Copiar - + Move Mover @@ -5256,8 +5448,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fija el diámetro de una circunferencia o un arco @@ -5265,7 +5457,7 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fija el diámetro/radio de una circunferencia o de un arco @@ -5273,8 +5465,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fija el radio de una circunferencia o arco @@ -5282,7 +5474,7 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fija el diámetro/radio de una circunferencia o de un arco @@ -5290,8 +5482,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Crea una copia simple de la geometría tomando como referencia el último punto seleccionado @@ -5510,64 +5702,64 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_MapSketch - + No sketch found Croquis no encontrado - + The document doesn't have a sketch El documento no tiene un croquis - + Select sketch Seleccionar croquis - + Select a sketch from the list Selecciona un croquis de la lista - + (incompatible with selection) (incompatible con la selección) - + (current) (actual) - + (suggested) (sugerido) - + Sketch attachment Croquis adjunto - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. El modo adjunto actual es incompatible con la nueva selección. Seleccione el método para adjuntar este croquis a los objetos seleccionados. - + Select the method to attach this sketch to selected objects. Seleccione el método para adjuntar este croquis a los objetos seleccionados. - + Map sketch Trazar croquis - + Can't map a sketch to support: %1 No se puede trazar un croquis para soporte:%1 @@ -5576,8 +5768,8 @@ Seleccione el método para adjuntar este croquis a los objetos seleccionados. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Mueve la geometría tomando como referencia el último punto seleccionado @@ -5585,12 +5777,12 @@ Seleccione el método para adjuntar este croquis a los objetos seleccionados. Sketcher_NewSketch - + Sketch attachment Croquis adjunto - + Select the method to attach this sketch to selected object Seleccione el método para adjuntar este croquis al objeto seleccionado @@ -5598,12 +5790,12 @@ Seleccione el método para adjuntar este croquis a los objetos seleccionados. Sketcher_ReorientSketch - + Sketch has support Croquis tiene soporte - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? El croquis con una cara de soporte no se puede reorientar. @@ -5612,11 +5804,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Forma - DOF @@ -5635,11 +5822,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Forma - Default algorithm used for Sketch solving @@ -5912,7 +6094,7 @@ El algoritmo QR de Eigen Sparse está optimizado para matrices dispersas; genera ViewProviderSketch - + and %1 more y %1 más @@ -5932,7 +6114,7 @@ El algoritmo QR de Eigen Sparse está optimizado para matrices dispersas; genera Sketcher - Croquizador + Sketcher @@ -6102,22 +6284,22 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< GridSpaceAction - + Grid auto spacing Autoespaciado de cuadrícula - + Resize grid automatically depending on zoom. Redimensionar la cuadrícula automáticamente dependiendo del zoom. - + Spacing Espaciado - + Distance between two subsequent grid lines. Distancia entre dos líneas consecutivas de cuadrícula. @@ -6125,87 +6307,87 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< Notifications - + The Sketch has malformed constraints! ¡El croquis tiene restricciones mal formadas! - + The Sketch has partially redundant constraints! ¡El croquis tiene restricciones parcialmente redundantes! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas ha sido migrado. Los archivos migrados no se abrirán en versiones anteriores de FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Error - + Failed to delete all geometry Fallo al eliminar toda la geometría - + Failed to delete all constraints Fallo al eliminar todas las restricciones - + The constraint has invalid index information and is malformed. La restricción tiene información de índice inválida y está mal formada. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Restricción inválida @@ -6247,8 +6429,8 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< Error al crear el polo de B-Spline - + Error creating B-spline Error al crear B-spline @@ -6345,9 +6527,9 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< Fallo al recortar arista - - - + + + Value Error Error del valor @@ -6383,58 +6565,58 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< SnapSpaceAction - + Snap to objects Adherir a objetos - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Los nuevos puntos se adherirán al objeto preseleccionado actualmente. También serán adheridos en el centro de líneas y arcos. - + Snap to grid Adherir a la cuadrícula - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Los nuevos puntos se ajustarán a la línea de cuadrícula más cercana. Los puntos deben estar más cerca de una quinta parte del espacio de la cuadrícula a una línea de cuadrícula para saltarse. - + Snap angle Adherir ángulo - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Paso angular para las herramientas que usan 'Adherir en ángulo' (línea por instancia). Mantener presionado CTRL para activar 'Adherir en ángulo'. El ángulo inicia desde el eje X positivo del croquis. RenderingOrderAction - - - - - Normal Geometry - Geometría normal - - Construction Geometry - Geometría de Construcción + Normal Geometry + Geometría normal + Construction Geometry + Geometría de Construcción + + + + + External Geometry Geometría externa @@ -6455,12 +6637,12 @@ Los puntos deben estar más cerca de una quinta parte del espacio de la cuadríc CmdSketcherGrid - + Toggle grid Activa/desactiva cuadrícula - + Toggle the grid in the sketch. In the menu you can change grid settings. Alterna la cuadrícula en el croquis. En el menú puedes cambiar la configuración de la cuadrícula. @@ -6468,12 +6650,12 @@ Los puntos deben estar más cerca de una quinta parte del espacio de la cuadríc CmdSketcherSnap - + Toggle snap Activar adherir - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Alterna todas las funcionalidades de adhesión. En el menú puedes cambiar 'Adherir a la cuadrícula' y 'Adherir a objetos' individualmente, y cambiar más ajustes de adhesión. @@ -6504,4 +6686,34 @@ Los puntos deben estar más cerca de una quinta parte del espacio de la cuadríc Crear una B-spline periódica por nodos, es decir, por interpolación, en el croquis. + + CmdSketcherDimension + + + Dimension + Cota + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-ES.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-ES.ts index b166c52a02..ae094ef598 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-ES.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_es-ES.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Mostrar/ocultar peine de curvatura B-spline - + Switches between showing and hiding the curvature comb for all B-splines Cambiar entre mostrar y ocultar el peine de curvatura para todas las B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Mostrar/ocultar grado de B-spline - + Switches between showing and hiding the degree for all B-splines Cambiar entre mostrar y ocultar el grado de todas las B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Mostrar/ocultar multiplicidad de nudo de B-spline - + Switches between showing and hiding the knot multiplicity for all B-splines Cambia entre mostrar y ocultar la multiplicidad de nudo para todas las B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Mostrar/ocultar el peso de los puntos de control de la B-spline - + Switches between showing and hiding the control point weight for all B-splines Cambia entre mostrar y ocultar el peso de los puntos de control para todas las B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Mostrar/ocultar control poligonal de B-spline - + Switches between showing and hiding the control polygons for all B-splines Cambia entre mostrar y ocultar el control poligonal para todas las B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometría tomando como referencia el último punto seleccionado @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Mostrar/ocultar capa de información de B-spline - + Show/hide B-spline degree Mostrar/ocultar grado de B-spline - + Show/hide B-spline control polygon Mostrar/ocultar control poligonal de B-spline - + Show/hide B-spline curvature comb Mostrar/ocultar peine de curvatura B-spline - + Show/hide B-spline knot multiplicity Mostrar/ocultar multiplicidad de nudo de B-spline - + Show/hide B-spline control point weight Mostrar/ocultar el peso de los puntos de control de la B-spline @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Restringir arco o circunferencia - + Constrain an arc or a circle Restringir un arco o una circunferencia - + Constrain radius Restringir radio - + Constrain diameter Restringir diámetro - + Constrain auto radius/diameter Restricción automática de radio/diámetro @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometría tomando como referencia el último punto seleccionado @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modificar multiplicidad de nudo - + Modifies the multiplicity of the selected knot of a B-spline Modifica la multiplicidad del nudo seleccionado de una B-spline - + Increase knot multiplicity Aumentar la multiplicidad del nudo - + Decrease knot multiplicity Disminuir la multiplicidad de nudo @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Restringir ángulo - + Fix the angle of a line or the angle between two lines Fijar el ángulo de una línea o el ángulo entre dos líneas @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Restricción de bloque - + Block the selected edge from moving Bloquear al borde seleccionado de moverse @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Restricción de coincidencia - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Crea una restricción coincidente entre puntos, o una restricción concéntrica entre círculos, arcos y elipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Restringir diámetro - + Fix the diameter of a circle or an arc Fijar el diámetro de una circunferencia o un arco @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Restricción de distancia - + Fix a length of a line or the distance between a line and a vertex or between two circles Fija una longitud de una línea o la distancia entre una línea y un vértice o entre dos círculos @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Restricción de distancia horizontal - + Fix the horizontal distance between two points or line ends Fijar la distancia horizontal entre dos puntos o extremos de línea @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Restricción de distancia vertical - + Fix the vertical distance between two points or line ends Fijar la distancia vertical entre dos puntos o extremos de línea @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Restringir igualdad - + Create an equality constraint between two lines or between circles and arcs Crear una restricción de igualdad entre dos líneas o entre circunferencias y arcos @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Restringir horizontalmente - + Create a horizontal constraint on the selected item Crear una restricción horizontal en el elemento seleccionado @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Restricción de bloqueo - + Create both a horizontal and a vertical distance constraint on the selected vertex Crea una restricción de distancia horizontal y vertical @@ -520,12 +520,12 @@ en el vértice seleccionado CmdSketcherConstrainParallel - + Constrain parallel Restricción de paralelismo - + Create a parallel constraint between two lines Crear una restricción entre dos líneas paralelas @@ -533,12 +533,12 @@ en el vértice seleccionado CmdSketcherConstrainPerpendicular - + Constrain perpendicular Restricción perpendicular - + Create a perpendicular constraint between two lines Crear una restricción perpendicular entre dos líneas @@ -546,12 +546,12 @@ en el vértice seleccionado CmdSketcherConstrainPointOnObject - + Constrain point onto object Restringir punto en objeto - + Fix a point onto an object Fijar un punto sobre un objeto @@ -559,12 +559,12 @@ en el vértice seleccionado CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Restricción automática de radio/diámetro - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Corrija el diámetro si se elige un círculo, o el radio si se elige un polo arco/curva @@ -572,12 +572,12 @@ en el vértice seleccionado CmdSketcherConstrainRadius - + Constrain radius or weight Limitar radio o peso - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Corregir el radio de una circunferencia o un arco o fija el peso de un poste o de una B-spline @@ -585,12 +585,12 @@ en el vértice seleccionado CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Restricción de refracción (Ley de Snell) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Crea una restricción de ley de refracción (ley de Snell) entre dos extremos de los rayos y una arista como interfaz. @@ -599,12 +599,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Restricción de simetría - + Create a symmetry constraint between two points with respect to a line or a third point Crear una restricción de simetría entre dos puntos @@ -614,12 +614,12 @@ con respecto a una línea o un tercer punto CmdSketcherConstrainTangent - + Constrain tangent Restricción tangencial - + Create a tangent constraint between two entities Crear una restricción tangencial entre dos entidades @@ -627,12 +627,12 @@ con respecto a una línea o un tercer punto CmdSketcherConstrainVertical - + Constrain vertically Restringir verticalmente - + Create a vertical constraint on the selected item Crear una restricción vertical en el elemento seleccionado @@ -640,12 +640,12 @@ con respecto a una línea o un tercer punto CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convertir geometría a B-spline - + Converts the selected geometry to a B-spline Convierte la geometría seleccionada en una B-spline @@ -653,12 +653,12 @@ con respecto a una línea o un tercer punto CmdSketcherCopy - + Copy Copiar - + Creates a simple copy of the geometry taking as reference the last selected point Crea una copia simple de la geometría tomando como referencia el último punto seleccionado @@ -1017,12 +1017,12 @@ con respecto a una línea o un tercer punto CmdSketcherDecreaseDegree - + Decrease B-spline degree Reducir grado de B-spline - + Decreases the degree of the B-spline Disminuye el grado de la B-spline @@ -1030,12 +1030,12 @@ con respecto a una línea o un tercer punto CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Disminuir la multiplicidad de nudo - + Decreases the multiplicity of the selected knot of a B-spline Disminuye la multiplicidad del nudo seleccionado de una B-spline @@ -1043,12 +1043,12 @@ con respecto a una línea o un tercer punto CmdSketcherDeleteAllConstraints - + Delete all constraints Borrar todas las restricciones - + Delete all constraints in the sketch Eliminar todas las restricciones en el croquis @@ -1056,12 +1056,12 @@ con respecto a una línea o un tercer punto CmdSketcherDeleteAllGeometry - + Delete all geometry Eliminar toda la geometría - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Borrar todas las restricciones y geometría del croquis actual, con la excepción de la geometría externa @@ -1069,12 +1069,12 @@ con respecto a una línea o un tercer punto CmdSketcherEditSketch - + Edit sketch Editar croquis - + Edit the selected sketch. Editar el croquis seleccionado. @@ -1108,12 +1108,12 @@ con respecto a una línea o un tercer punto CmdSketcherIncreaseDegree - + Increase B-spline degree Aumentar grado de B-spline - + Increases the degree of the B-spline Aumentar el grado de la B-spline @@ -1121,12 +1121,12 @@ con respecto a una línea o un tercer punto CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Aumentar la multiplicidad del nudo - + Increases the multiplicity of the selected knot of a B-spline Aumenta la multiplicidad del nudo seleccionado de una B-spline @@ -1134,12 +1134,12 @@ con respecto a una línea o un tercer punto CmdSketcherInsertKnot - + Insert knot Insertar nodo - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserta el nodo en un parámetro determinado. Si ya existe un nodo en ese parámetro, su multiplicidad se incrementa en uno. @@ -1147,12 +1147,12 @@ con respecto a una línea o un tercer punto CmdSketcherJoinCurves - + Join curves Unir curvas - + Join two curves at selected end points Une dos curvas en los puntos finales seleccionados @@ -1160,12 +1160,12 @@ con respecto a una línea o un tercer punto CmdSketcherLeaveSketch - + Leave sketch Salir del croquis - + Finish editing the active sketch. Terminar de editar el croquis activo. @@ -1173,12 +1173,12 @@ con respecto a una línea o un tercer punto CmdSketcherMapSketch - + Map sketch to face... Trazar croquis en cara... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1186,7 +1186,7 @@ then call this command, then choose the desired sketch. Primero seleccione la geometría de soporte, por ejemplo, una cara o una arista de un objeto sólido, después llame a este comando y entonces elija el croquis deseado. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Algunos de los objetos seleccionados dependen de que el croquis sea mapeado. Las dependencias circulares no están permitidas. @@ -1194,22 +1194,22 @@ Primero seleccione la geometría de soporte, por ejemplo, una cara o una arista CmdSketcherMergeSketches - + Merge sketches Combinar croquis - + Create a new sketch from merging two or more selected sketches. Crear un nuevo croquis a partir de la fusión de dos o más croquis seleccionados. - + Wrong selection Selección incorrecta - + Select at least two sketches. Seleccione al menos dos croquis. @@ -1217,12 +1217,12 @@ Primero seleccione la geometría de soporte, por ejemplo, una cara o una arista CmdSketcherMirrorSketch - + Mirror sketch Reflejar croquis - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1231,12 +1231,12 @@ usando los ejes X o Y, o el punto de origen, como referencia replicadora. - + Wrong selection Selección incorrecta - + Select one or more sketches. Seleccione uno o más croquis. @@ -1244,12 +1244,12 @@ como referencia replicadora. CmdSketcherMove - + Move Mover - + Moves the geometry taking as reference the last selected point Mover la geometría tomando como referencia el último punto seleccionado @@ -1257,12 +1257,12 @@ como referencia replicadora. CmdSketcherNewSketch - + Create sketch Crear croquis - + Create a new sketch. Crear un nuevo croquis. @@ -1270,12 +1270,12 @@ como referencia replicadora. CmdSketcherRectangularArray - + Rectangular array Matriz rectangular - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Crea un patrón de matriz rectangular de la geometría, tomando como referencia el último punto seleccionado @@ -1283,12 +1283,12 @@ como referencia replicadora. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Remover alineación de ejes - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifica restricciones para remover la alineación de los ejes mientras se intenta preservar la relación de restricción de la selección @@ -1296,12 +1296,12 @@ como referencia replicadora. CmdSketcherReorientSketch - + Reorient sketch... Reorientar croquis... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Coloca el croquis seleccionado en uno de los planos de coordenadas globales. @@ -1311,12 +1311,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Mostrar/ocultar geometrías internas - + Show all internal geometry or hide unused internal geometry Mostrar toda la geometría interna u ocultar geometría interna no utilizada @@ -1324,8 +1324,8 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Seleccionar restricciones en conflicto @@ -1333,12 +1333,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectConstraints - + Select associated constraints Seleccionar restricciones asociadas - + Select the constraints associated with the selected geometrical elements Seleccione las restricciones asociadas con los elementos geometricos seleccionados @@ -1346,12 +1346,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Seleccionar geometría asociada - + Select the geometrical elements associated with the selected constraints Seleccione los elementos geometricos asociados con las restricciones seleccionadas @@ -1359,12 +1359,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Seleccionar Grados de Libertad sin restricciones - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Seleccione elementos geométricos donde el solver todavía detecta grados de libertad sin restricciones. @@ -1372,12 +1372,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Seleccionar eje horizontal - + Select the local horizontal axis of the sketch Seleccione el eje horizontal local del croquis @@ -1385,8 +1385,8 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Seleccionar restricciones mal formadas @@ -1394,12 +1394,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectOrigin - + Select origin Seleccionar origen - + Select the local origin point of the sketch Seleccione el punto de origen local del croquis @@ -1407,8 +1407,8 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Seleccionar restricciones parcialmente redundantes @@ -1416,8 +1416,8 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Seleccionar restricciones redundantes @@ -1425,12 +1425,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSelectVerticalAxis - + Select vertical axis Seleccionar eje vertical - + Select the local vertical axis of the sketch Seleccione el eje vertical local del croquis @@ -1451,12 +1451,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherStopOperation - + Stop operation Detener operación - + When in edit mode, stop the active operation (drawing, constraining, etc.). Cuando esté en modo edición, detener la operación activa (dibujar, restringir, etc.). @@ -1477,12 +1477,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherSymmetry - + Symmetry Simetría - + Creates symmetric geometry with respect to the last selected line or point Crea una geometría simétrica con respecto a la última línea o punto seleccionados @@ -1490,12 +1490,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activar/desactivar restricción - + Activates or deactivates the selected constraints Activa o desactiva las restricciones seleccionadas @@ -1516,12 +1516,12 @@ Esto borrará la propiedad 'Soporte', si la hubiera. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Alternar restricción/referencia - + Set the toolbar, or the selected constraints, into driving or reference mode Establece la barra de herramientas, o las restricciones seleccionadas, @@ -1544,24 +1544,24 @@ en modo de conducción o referencia CmdSketcherValidateSketch - + Validate sketch... Validar croquis... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Validar un croquis mirando las coincidencias que faltan, restricciones inválidas, geometrías degeneradas, etc. - + Wrong selection Selección incorrecta - + Select only one sketch. Seleccione sólo un croquis. @@ -1569,12 +1569,12 @@ restricciones inválidas, geometrías degeneradas, etc. CmdSketcherViewSection - + View section Vista de sección - + When in edit mode, switch between section view and full view. Cuando esté en modo edición, cambie entre la vista de sección y la vista completa. @@ -1582,12 +1582,12 @@ restricciones inválidas, geometrías degeneradas, etc. CmdSketcherViewSketch - + View sketch Ver croquis - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Cuando esté en modo edición, ajuste la orientación de la cámara perpendicular al plano de croquis. @@ -1595,287 +1595,404 @@ restricciones inválidas, geometrías degeneradas, etc. Command - - + + Add horizontal constraint Añadir restricción horizontal - - - + + + Add horizontal alignment Añadir alineación horizontal - - + + Add vertical constraint Añadir restricción vertical - + Add vertical alignment Añadir alineación vertical - + Add 'Lock' constraint Añadir restricción 'Bloquear' - + Add relative 'Lock' constraint Agregar restricción relativa 'Bloquear' - + Add fixed constraint Añadir restricción fija - + Add 'Block' constraint Añadir restricción 'Bloqueo' - + Add block constraint Añadir restricción de bloqueo - - - + + + Add coincident constraint Añadir restricción de coincidencia - - + + Add distance from horizontal axis constraint Añadir distancia desde la restricción del eje horizontal - - + + Add distance from vertical axis constraint Añadir distancia desde la restricción del eje vertical - - + + Add point to point distance constraint Añadir punto a restricción de distancia de punto - - + + + Add point to line Distance constraint Añadir punto a restricción de Distancia de Línea - - + + Add circle to circle distance constraint Agrega un círculo a la restricción de distancia circular - + Add circle to line distance constraint Agrega un círculo a la restricción de distancia de línea - - + + + + + Add length constraint Añadir restricción de longitud - - + + + Dimension + Cota + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Añadir punto a la restricción del objeto - - + + Add point to point horizontal distance constraint Añadir punto a la restricción de distancia horizontal del punto - + Add fixed x-coordinate constraint Añadir restricción de coordenada-x fija - - + + Add point to point vertical distance constraint Añadir punto a la restricción de distancia vertical del punto - + Add fixed y-coordinate constraint Añadir restricción de coordenada-y fija - - + + Add parallel constraint Añadir restricción paralela - - - - - - - + + + + + + + Add perpendicular constraint Añadir restricción perpendicular - + Add perpendicularity constraint Añadir restricción de perpendicularidad - + Swap coincident+tangency with ptp tangency Intercambia coincidencia + tangencia con la tangencia ptp - + Swap PointOnObject+tangency with point to curve tangency Intercambia Punto en Objeto+tangencia con tangencia de punto a curva - - - - - - - + + + + + + + Add tangent constraint Añadir restricción tangente - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Añadir punto de restricción tangente - - - - + + + + Add radius constraint Añadir restricción de radio - - - - + + + + Add diameter constraint Añadir restricción de diámetro - - - - + + + + Add radiam constraint Añadir restricción radiam - - - - - - + + + + + + Add angle constraint Añadir restricción de ángulo - - + + Add equality constraint Añadir restricción de igualdad - - - - - + + + + + Add symmetric constraint Añadir restricción de simetría - + Add Snell's law constraint Añadir restricción de ley de Snell - + Toggle constraint to driving/reference Cambiar la restricción a la conducción/referencia - + Activate/Deactivate constraint Activar/desactivar restricción - + Create a new sketch on a face Crear un nuevo croquis en una cara - + Create a new sketch Crea un nuevo croquis - + Reorient sketch Reorientar croquis - + Attach sketch Adjuntar croquis - + Detach sketch Separar croquis - + Create a mirrored sketch for each selected sketch Crear un croquis espejo para cada croquis seleccionado - + Merge sketches Combinar croquis @@ -1993,72 +2110,72 @@ restricciones inválidas, geometrías degeneradas, etc. Añadir hexágono - + Convert to NURBS Convertir a NURBS - + Increase spline degree Aumentar grado de spline - + Decrease spline degree Reducir grado de spline - + Increase knot multiplicity Aumentar la multiplicidad del nudo - + Decrease knot multiplicity Disminuir la multiplicidad de nudo - + Insert knot Insertar nodo - + Join Curves Unir curvas - + Exposing Internal Geometry Exponiendo Geometría Interna - + Create symmetric geometry Crear geometría simétrica - + Copy/clone/move geometry Copiar/clonar/mover geometría - + Create copy of geometry Crear copia de geometría - + Delete all geometry Eliminar toda la geometría - + Delete All Constraints Eliminar todas las restricciones - + Remove Axes Alignment Quitar alineación de ejes @@ -2069,44 +2186,44 @@ restricciones inválidas, geometrías degeneradas, etc. - - - + + + Update constraint's virtual space Actualizar el espacio virtual de la restricción - + Add auto constraints Añadir restricciones automáticas - + Swap constraint names Intercambiar los nombres de restricción - + Rename sketch constraint Renombrar restricción de croquis - + Drag Point Punto de arrastre - + Drag Curve Arrastrar curva - + Drag Constraint Restricción de arrastre - + Modify sketch constraints Modificar restricciones de croquis @@ -2167,59 +2284,59 @@ restricciones inválidas, geometrías degeneradas, etc. Error de autorestricción: croquis sin solución después de aplicar restricciones de igualdad. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. No se puede adivinar la intersección de curvas. Intente agregar una restricción coincidente entre los vértices de las curvas que pretende redondear. - - + + BSpline Geometry Index (GeoID) is out of bounds. Índice de geometría BSpline (GeoID) está fuera de restricciones. - + You are requesting no change in knot multiplicity. Usted esta solicitando no cambio en multiplicidad de nudo. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. El índice de geometría (GeoID) proporcionado no es una curva B-spline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. El índice de nudo es fuera de los limites. Note que según en concordancia con notación de la OCC, el primer nudo tiene índice 1 y no 0. - + The multiplicity cannot be increased beyond the degree of the B-spline. La multiplicidad no puede incrementarse más allá del grado de la B-spline. - + The multiplicity cannot be decreased beyond zero. La multiplicidad no puede ser disminuida más allá de cero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC es incapaz de disminuir la multiplicidad dentro de la tolerancia máxima. - + Knot cannot have zero multiplicity. El nodo no puede tener una multiplicidad cero. - + Knot multiplicity cannot be higher than the degree of the BSpline. La multiplicidad del nodo no puede ser mayor que el grado de la BSpline. - + Knot cannot be inserted outside the BSpline parameter range. El nodo no puede ser insertado fuera del rango de parámetros de la B-Spline. @@ -2235,210 +2352,213 @@ restricciones inválidas, geometrías degeneradas, etc. QObject - - - - + + + + Sketcher Croquizador - + There are no modes that accept the selected set of subelements No existen modos que aceptan el conjunto seleccionado de subelementos - + Broken link to support subelements Enlace roto a los elementos de soporte - - + + Unexpected error Error inesperado - + Face is non-planar La cara es no-planar - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Las formas seleccionadas tienen forma incorrecta (por ejemplo, una arista curvada donde es necesaria una recta) - + Sketch mapping Trazar croquis - + Can't map the sketch to selected object. %1. No se puede asignar el croquis al objeto seleccionado. %1. - - + + Don't attach No adjuntar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Selección incorrecta @@ -2449,339 +2569,339 @@ restricciones inválidas, geometrías degeneradas, etc. Seleccione arista(s) del croquis. - + Not allowed to edit the datum because the sketch contains conflicting constraints No permite editar los datos de referencia porque el croquis contiene restricciones conflictivas - + Dimensional constraint Restricción dimensional - + Cannot add a constraint between two external geometries. No se puede añadir una restricción entre dos geometrias externas. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. No se puede agregar una restricción entre dos geometrías fijas. Las geometrías fijas incluyen geometría externa, geometría bloqueada y puntos especiales como puntos de nodos de B-spline. - + Sketcher Constraint Substitution Sustitución de restricción del croquis - + Keep notifying me of constraint substitutions Seguir notificándome de sustituciones de restricciones - - - + + + Only sketch and its support are allowed to be selected. Solo se permite seleccionar el croquis y su soporte. - + One of the selected has to be on the sketch. Uno de los seleccionados tiene que estar en el croquis. - - + + Select an edge from the sketch. Seleccione una arista del croquis. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Restricción imposible - - - - + + + + The selected edge is not a line segment. El borde seleccionado no es un segmento de línea. - - - - - - + + + + + + Double constraint Restricción doble - - - - - + + + + + The selected edge already has a horizontal constraint! ¡La arista seleccionada ya tiene una restricción horizontal! - - - + + + The selected edge already has a vertical constraint! ¡El borde seleccionado ya tiene una restricción vertical! - - - - - - + + + + + + The selected edge already has a Block constraint! ¡La arista seleccionada ya tiene una restricción de Bloque! - + The selected item(s) can't accept a horizontal constraint! ¡El(los) elemento(s) seleccionado(s) no pueden aceptar una restricción horizontal! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Hay mas de un punto fijo seleccionado. Debe seleccionar solamente un punto Fijo! - + The selected item(s) can't accept a vertical constraint! ¡El(los) elemento(s) seleccionado(s) no admiten una restricción vertical! - - - + + + Select vertices from the sketch. Selecciona vértices del croquis. - + Select one vertex from the sketch other than the origin. Seleccione un vértice del croquis que no sea el origen. - + Select only vertices from the sketch. The last selected vertex may be the origin. Selecciona sólo vértices del croquis. El último vértice seleccionado puede ser el origen. - + Wrong solver status Estado de Solver Incorrecto - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Una restricción de Bloqueo no puede ser añadida si el croquis está sin resolver o hay restricciones redundantes y en conflicto. - + Select one edge from the sketch. Seleccione una arista del croquis. - + Select only edges from the sketch. Seleccione únicamente aristas de el Croquis. - + Number of selected objects is not 3 El número de objetos seleccionados no es 3 - - - + + + Error Error - + Unexpected error. More information may be available in the Report View. Error inesperado. Puede haber más información disponible en la vista de reporte. - + Endpoint to endpoint tangency was applied instead. Una Tangente de Puntos de Extremo se aplicó en su lugar. - + Select two or more points from the sketch. Seleccione dos o más puntos del croquis. - + Select two or more vertices from the sketch. Seleccione dos o más vértices del croquis. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Seleccione dos o más vértices del croquis para una restricción coincidente, o dos o más círculos, elipses, arcos o arcos de elípse para una restricción concéntrica. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Seleccione dos vértices del croquis para una restricción coincidente, o dos círculos, elipses, arcos o arcos de elipse para una restricción concéntrica. - + Select exactly one line or one point and one line or two points from the sketch. Seleccione exactamente una línea o un punto y una línea o dos puntos del croquis. - + Cannot add a length constraint on an axis! ¡No se puede añadir una restricción de longitud en un eje! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Seleccione exactamente una línea o un punto y una línea o dos puntos o dos círculos del croquis. - + This constraint does not make sense for non-linear curves. Esta restricción no tiene sentido para curvas no lineales. - + Endpoint to edge tangency was applied instead. El punto final a la tangencia del borde se aplicó en su lugar. - - - - - - - + + + + + + + Select the right things from the sketch. Seleccione las cosas correctas desde el croquis. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Seleccione un borde que no sea un peso de B-spline. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Ninguno de los puntos seleccionados fueron restringidos en sus respectivas curvas, porque son partes del mismo elemento, y porque ambos son geometría externa, o porque la arista no es elegible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Ninguno de los puntos seleccionados fueron limitados en las curvas respectivas, porque son partes de un mismo elemento, o porque son ambos de geometría externa. - - - - + + + + Select exactly one line or up to two points from the sketch. Seleccione exactamente una línea o hasta dos puntos del croquis. - + Cannot add a horizontal length constraint on an axis! ¡No se puede añadir una restricción de longitud horizontal en un eje! - + Cannot add a fixed x-coordinate constraint on the origin point! ¡No se puede agregar una restricción de coordenada x fija en el punto de origen! - - + + This constraint only makes sense on a line segment or a pair of points. Esta restricción sólo tiene sentido en un segmento de línea o un par de puntos. - + Cannot add a vertical length constraint on an axis! ¡No se puede añadir una restricción de longitud vertical sobre un eje! - + Cannot add a fixed y-coordinate constraint on the origin point! ¡No se puede agregar una restricción de coordenada y fija en el punto de origen! - + Select two or more lines from the sketch. Seleccione dos o más líneas del croquis. - - + + Select at least two lines from the sketch. Seleccione al menos dos líneas del croquis. - + Select a valid line. Seleccione una línea válida. - - + + The selected edge is not a valid line. El borde seleccionado no es una línea válida. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2790,224 +2910,227 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Las combinaciones posibles son: dos curvas; extremo y curva; dos extremos; dos curvas y un punto. - + Select some geometry from the sketch. perpendicular constraint Seleccione alguna geometría del croquis. - - + + Cannot add a perpendicularity constraint at an unconnected point! ¡No se puede añadir una restricción de perpendicularidad en un punto no conectado! - - - + + + Perpendicular to B-spline edge currently unsupported. Perpendicular a arista de B-spline no compatible por el momento. - - + + One of the selected edges should be a line. ¡Una de las aristas seleccionadas debe ser una línea. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Una Tangente de Puntos de Estremo fue aplicada, La restricción coincidente fue eliminada. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Se aplicó un punto final al borde tangencial. Se eliminó el punto sobre la restricción del objeto. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. tangent constraint - Hay varias maneras de que esta restricción se pueda aplicar. + Hay varias maneras de que esta restricción se pueda aplicar. Combinaciones aceptadas: dos curvas; un extremo y una curva; dos extremos; dos curvas y un punto. - + Select some geometry from the sketch. tangent constraint Seleccione alguna geometría del croquis. - - - + + + Cannot add a tangency constraint at an unconnected point! ¡No se puede añadir una restricción de tangencia en un punto no conectado! - - + + Tangent constraint at B-spline knot is only supported with lines! La restricción tangente en nudo de B-spline sólo es compatible con líneas! - + B-spline knot to endpoint tangency was applied instead. En su lugar, se aplicó tangecia entre el nudo de B-spline y el punto final. - + Select either one point and several curves, or one curve and several points. Seleccione un punto y varias curvas, o una curva y varios puntos. - - + + Wrong number of selected objects! ¡Número incorrecto de objetos seleccionados! - - + + With 3 objects, there must be 2 curves and 1 point. Con 3 objetos, debe haber 2 curvas y 1 punto. - - - + + + Tangency to B-spline edge currently unsupported. Tangencia sobre arista de B-spline no compatible por el momento. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Seleccione uno o más arcos o circunferencias del croquis. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Seleccione sólo uno o más polos de B-Spline o sólo uno o más arcos o circunferencias del croquis, pero no mezclado. - - - + + + Constraint only applies to arcs or circles. La restricción sólo se aplica a los arcos o circunferencias. - - + + Select one or two lines from the sketch. Or select two edges and a point. Seleccione una o dos líneas del croquis. O seleccione un punto y dos aristas. - - + + Parallel lines Líneas paralelas - - + + An angle constraint cannot be set for two parallel lines. Una restricción de ángulo no puede ser establecida por dos lineas paralelas. - + Cannot add an angle constraint on an axis! ¡No se puede añadir una restricción angular en un eje! - + Select two edges from the sketch. Seleccione dos aristas del croquis. - + Select two or more compatible edges. Seleccione dos o más bordes compatibles. - + Sketch axes cannot be used in equality constraints. Los ejes de dibujo no pueden utilizarse en restricciones de igualdad. - + Equality for B-spline edge currently unsupported. Igualdad para arista de B-Spline no compatible por el momento. - - - + + + + Select two or more edges of similar type. Seleccione dos o más bordes de tipo similar. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Seleccione dos puntos y una línea de simetría, dos puntos y un punto de simetría o una línea y un punto de simetría del croquis. - - + + Cannot add a symmetry constraint between a line and its end points. No se puede añadir una restricción de simetría entre una línea y sus extremos. - - + + + + Cannot add a symmetry constraint between a line and its end points! ¡No se puede añadir una restricción de simetría entre una línea y sus extremos! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Seleccione dos extremos de líneas para actuar como rayos, y una arista que representa un límite. El primer punto seleccionado corresponde al índice n1, segundo a n2, y el valor de referencia establece la relación n2/n1. - + Selected objects are not just geometry from one sketch. Los objetos seleccionados no son sólo la geometría de un croquis. - + Cannot create constraint with external geometry only. No se puede crear restricción sólo con geometría externa. - + Incompatible geometry is selected. Se ha seleccionado geometría incompatible. - + SnellsLaw on B-spline edge is currently unsupported. Ley de Snell sobre arista de B-spline no es compatible por el momento. - - - - - + + + + + Select constraints from the sketch. Seleccione restricciones del croquis. @@ -3029,155 +3152,155 @@ Combinaciones aceptadas: dos curvas; un extremo y una curva; dos extremos; dos c Definir el grado de la B-Spline, entre 1 y %1: + + - - CAD Kernel Error Error del Kernel CAD - + None of the selected elements is an edge. Ninguno de los elementos seleccionados es una arista. - - + + At least one of the selected objects was not a B-Spline and was ignored. Al menos uno de los objetos seleccionados no era un B-Spline y fue ignorado. - - + + The selection comprises more than one item. Please select just one knot. La selección incluye más de un elemento. Por favor seleccione solo un nudo. - - + + Input Error Error de Entrada - - + + None of the selected elements is a knot of a B-spline Ninguno de los elementos seleccionados es un nudo de una B-spline - - + + Selection is empty No ha seleccionado nada - + Nothing is selected. Please select a b-spline. No hay nada seleccionado. Por favor, seleccione una B-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Por favor, seleccione una curva b-spline para insertar un nudo (no un nudo en él). Si la curva no es una curva b-spline, por favor conviértalo en una primero. - + Nothing is selected. Please select end points of curves. No se ha seleccionado nada. Por favor, seleccione los puntos finales de las curvas. - + Too many curves on point Demasiadas curvas en el punto - - + + Exactly two curves should end at the selected point to be able to join them. Exactamente dos curvas deben terminar en el punto seleccionado para poder unirlas. - + Too few curves on point Muy pocas curvas en el punto - + Two end points, or coincident point should be selected. Se deben seleccionar dos puntos finales, o un punto coincidente. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Seleccione los elementos de un único croquis. - + No constraint selected Ninguna restricción seleccionada - + At least one constraint must be selected Se debe seleccionar al menos una restricción - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Una construcción simétrica requiere al menos dos elementos geométricos, el último elemento geométrico siendo la referencia para la construcción de la simetría. - + The last element must be a point or a line serving as reference for the symmetry construction. El último elemento debe ser un punto o una línea que sirva como referencia para la construcción de la simetría. - - + + A copy requires at least one selected non-external geometric element Una copia requiere al menos seleccionar un elemento geométrico no externo - + Delete All Geometry Borrar Toda Geometría - + Are you really sure you want to delete all geometry and constraints? ¿Está seguro de que desea eliminar todas las geometrías y restricciones? - + Delete All Constraints Eliminar todas las restricciones - + Are you really sure you want to delete all the constraints? ¿Es realmente seguro que desea eliminar todas las restricciones? - + Removal of axes alignment requires at least one selected non-external geometric element La eliminación de alineación de ejes requiere al menos un elemento geométrico no externo seleccionado - + Unsupported visual layer operation Operación de capa visual no soportada - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Actualmente no está soportado para mover la geometría externa a otra capa visual. Se omitirá la geometría externa @@ -3376,67 +3499,67 @@ Combinaciones aceptadas: dos curvas; un extremo y una curva; dos extremos; dos c SketcherGui::ConstraintView - + Select Elements Seleccionar elementos - + Change value Cambiar valor - + Toggle to/from reference Cambiar referencia a/desde - + Deactivate Desactivar - + Activate Activar - + Show constraints Mostrar las restricciones - + Hide constraints Ocultar las restricciones - + Rename Renombrar - + Center sketch Centrar croquis - + Delete Borrar - + Swap constraint names Intercambiar los nombres de restricción - + Unnamed constraint Restricción sin nombre - + Only the names of named constraints can be swapped. Sólo los nombres de las restricciones nombradas pueden ser cambiados. @@ -3444,74 +3567,74 @@ Combinaciones aceptadas: dos curvas; un extremo y una curva; dos extremos; dos c SketcherGui::EditDatumDialog - + Insert angle Insertar ángulo - + Angle: Ángulo: - + Insert radius Insertar radio - + Radius: Radio: - + Insert diameter Introduzca el diámetro - + Diameter: Diámetro: - + Insert weight Insertar peso - + Weight: Peso: - + Refractive index ratio Constraint_SnellsLaw Índice refracción - + Ratio n2/n1: Constraint_SnellsLaw Razón n2/n1: - + Insert length Insertar longitud - + Length: Longitud: - + Refractive index ratio Índice refracción - + Ratio n2/n1: Razón n2/n1: @@ -3519,72 +3642,72 @@ Combinaciones aceptadas: dos curvas; un extremo y una curva; dos extremos; dos c SketcherGui::ElementFilterList - + Normal Normal - + Construction Construcción - + Internal Interno - + External Externo - + All types Todos los tipos - + Point Punto - + Line Línea - + Circle Circunferencia - + Ellipse Elipse - + Arc of circle Arco del círculo - + Arc of ellipse Arco de elipse - + Arc of hyperbola Arco de hipérbola - + Arc of parabola Arco de parábola - + B-Spline B-spline @@ -3592,142 +3715,142 @@ Combinaciones aceptadas: dos curvas; un extremo y una curva; dos extremos; dos c SketcherGui::ElementView - + Point Coincidence Coincidencia de puntos - + Point on Object Punto en objeto - + Vertical Constraint Restricción vertical - + Horizontal Constraint Restricción horizontal - + Parallel Constraint Restricción paralela - + Perpendicular Constraint Restricción perpendicular - + Tangent Constraint Restricción tangente - + Equal Length Longitud igual - + Symmetric Simétrico - + Block Constraint Restricción de bloque - + Lock Constraint Restricción de bloqueo - + Horizontal Distance Distancia horizontal - + Vertical Distance Distancia vertical - + Length Constraint Restricción de longitud - + Radius Constraint Restricción del radio - + Diameter Constraint Restricción de diámetro - + Radiam Constraint Restricción de radiam - + Angle Constraint Restricción de ángulo - + Toggle construction geometry Alternar geometría de construcción - + Select Constraints Seleccione restricciones - + Select Origin Seleccione origen - + Select Horizontal Axis Seleccione el eje horizontal - + Select Vertical Axis Seleccione el eje vertical - + Layer Capa - + Layer 0 Capa 0 - + Layer 1 Capa 1 - + Hidden Oculto - + Delete Borrar @@ -4010,6 +4133,75 @@ Requiere volver a entrar en modo de edición para tener efecto. Notify automatic constraint substitutions Noficicar sobre sustitucion automatica de restricciones + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Ambos + + + + Auto + Auto + + + + Diameter + Diámetro + + + + Radius + Radio + SketcherGui::SketcherSettingsColors @@ -4455,12 +4647,12 @@ Entonces los objetos sólo son visibles detrás del plano del croquis.Se aplica a los croquis existentes - + Unexpected C++ exception Excepción de C++ inesperada - + Sketcher Croquizador @@ -4533,7 +4725,7 @@ Haz clic en el botón "Intercambiar los extremos en las restricciones" para reas %1 reversed external-geometry arcs were found. Their endpoints are encircled in 3d view. However, no constraints linking to the endpoints were found. - Se encontraron %1 arcos de geometría externa invertida. Sus extremos están cercados en la vista 3d. + Se encontraron %1 arcos de geometría externa invertida. Sus extremos están cercados en la vista 3d. Sin embargo, no se encontraron restricciones a los extremos. @@ -4633,48 +4825,48 @@ Sin embargo, no se encontraron restricciones a los extremos. Opciones - + Constraints Restricciones - + Auto constraints Restricciones automáticas - + Auto remove redundants Auto eliminar redundantes - + Show only filtered Constraints Mostrar sólo restricciones filtradas - + Extended information (in widget) Información extendida (en widget) - + Hide internal alignment (in widget) Ocultar alineamiento interno (en widget) - - + + Error Error - + Impossible to update visibility tracking Imposible actualizar el seguimiento de visibilidad - + Impossible to update visibility tracking: Imposible actualizar el seguimiento de visibilidad: @@ -4706,6 +4898,33 @@ Sin embargo, no se encontraron restricciones a los extremos. Settings Opciones + + + + + + + + + + + + Construction + Construcción + + + + Elements + Elementos + + + + + + + Point + Punto + @@ -4717,110 +4936,83 @@ Sin embargo, no se encontraron restricciones a los extremos. - Construction - Construcción - - - - Elements - Elementos - - - - - - - Point - Punto - - - - - - - - - - - - Internal Interno - - + + + - Line Línea - - + + + - Arc Arco - - + + + - Circle Circunferencia - - + + + - Ellipse Elipse - - + + + - Elliptical Arc Arco elíptico - - + + + - Hyperbolic Arc Arco hiperbólico - - + + + - Parabolic Arc Arco parabólico - - + + + - BSpline BSpline - - + + + - Other Otros - + Extended information Información extendida @@ -4828,42 +5020,42 @@ Sin embargo, no se encontraron restricciones a los extremos. SketcherGui::TaskSketcherMessages - + Solver messages Mensajes del Solver - + Auto update Actualización automática - + Executes a recomputation of active document after every sketch action Ejecuta un recalculado del documento activo después de cada acción de croquis - + Click to select the conflicting constraints. Haga clic para seleccionar las restricciones en conflicto. - + Click to select the redundant constraints. Haga clic para seleccionar las restricciones redundantes. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. El criquis tiene elementos sin restricciones que dan lugar a esos grados de libertad. Haga clic para seleccionar los elementos sin restricciones. - + Click to select the malformed constraints. Haga clic para seleccionar las restricciones mal formadas. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Algunas restricciones en combinación son parcialmente redundantes. Haga clic para seleccionar las restricciones parcialmente redundantes. @@ -5041,112 +5233,112 @@ Esto se hace al analizar las geometrías y restricciones del croquis. SketcherGui::ViewProviderSketch - + Edit sketch Editar croquis - + A dialog is already open in the task panel Un diálogo ya está abierto en el panel de tareas - + Do you want to close this dialog? ¿Desea cerrar este diálogo? - + Invalid sketch Croquis inválido - + Do you want to open the sketch validation tool? ¿Desea abrir la herramienta de validación del croquis? - + The sketch is invalid and cannot be edited. El croquis no es válido y no puede editarse. - + Please remove the following constraint: Elimine la siguiente restricción: - + Please remove at least one of the following constraints: Por favor elimine al menos una de las siguientes restricciones: - + Please remove the following redundant constraint: Por favor elimine la siguiente restricción redundante: - + Please remove the following redundant constraints: Por favor elimine las siguientes restricciones redundante: - + The following constraint is partially redundant: La siguiente restricción es parcialmente redundante: - + The following constraints are partially redundant: Las siguientes restricciones son parcialmente redundantes: - + Please remove the following malformed constraint: Por favor, elimine la siguiente restricción mal formada: - + Please remove the following malformed constraints: Por favor, elimine las siguientes restricciones mal formadas: - + Empty sketch Croquis vacío - + Over-constrained: Sobre-restringido: - + Malformed constraints: Restricciones mal formadas: - + Redundant constraints: Restricciones redundantes: - + Partially redundant: Parcialmente redundante: - + Solver failed to converge El solver falló al converger - + Under constrained: Sub-restringido: - + %n DoF(s) %n DoF @@ -5154,7 +5346,7 @@ Esto se hace al analizar las geometrías y restricciones del croquis. - + Fully constrained Totalmente restringido @@ -5162,8 +5354,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Cambiar entre mostrar y ocultar el peine de curvatura para todas las B-splines @@ -5171,8 +5363,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Disminuye la multiplicidad del nudo seleccionado de una B-spline @@ -5180,8 +5372,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Cambiar entre mostrar y ocultar el grado de todas las B-splines @@ -5189,8 +5381,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Aumenta la multiplicidad del nudo seleccionado de una B-spline @@ -5198,8 +5390,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Cambia entre mostrar y ocultar la multiplicidad de nudo para todas las B-splines @@ -5207,8 +5399,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Cambia entre mostrar y ocultar el peso de los puntos de control para todas las B-splines @@ -5216,8 +5408,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Cambia entre mostrar y ocultar el control poligonal para todas las B-splines @@ -5225,8 +5417,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometría tomando como referencia el último punto seleccionado @@ -5234,17 +5426,17 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_CompCopy - + Clone Clonar - + Copy Copiar - + Move Mover @@ -5252,8 +5444,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fijar el diámetro de una circunferencia o un arco @@ -5261,7 +5453,7 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fijar el diámetro/radio de una circunferencia o un arco @@ -5269,8 +5461,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fijar el radio de una circunferencia o arco @@ -5278,7 +5470,7 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fijar el diámetro/radio de una circunferencia o un arco @@ -5286,8 +5478,8 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Crea una copia simple de la geometría tomando como referencia el último punto seleccionado @@ -5506,64 +5698,64 @@ Esto se hace al analizar las geometrías y restricciones del croquis. Sketcher_MapSketch - + No sketch found Croquis no encontrado - + The document doesn't have a sketch El documento no tiene un croquis - + Select sketch Seleccionar croquis - + Select a sketch from the list Selecciona un croquis de la lista - + (incompatible with selection) (incompatible con la selección) - + (current) (actual) - + (suggested) (sugerido) - + Sketch attachment Croquis adjunto - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. El modo adjunto actual es incompatible con la nueva selección. Seleccione el método para adjuntar este croquis a los objetos seleccionados. - + Select the method to attach this sketch to selected objects. Seleccione el método para adjuntar este croquis a los objetos seleccionados. - + Map sketch Trazar croquis - + Can't map a sketch to support: %1 No se puede trazar un croquis para soporte:%1 @@ -5572,8 +5764,8 @@ Seleccione el método para adjuntar este croquis a los objetos seleccionados. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Mover la geometría tomando como referencia el último punto seleccionado @@ -5581,12 +5773,12 @@ Seleccione el método para adjuntar este croquis a los objetos seleccionados. Sketcher_NewSketch - + Sketch attachment Croquis adjunto - + Select the method to attach this sketch to selected object Seleccione el método para adjuntar este croquis al objeto seleccionado @@ -5594,12 +5786,12 @@ Seleccione el método para adjuntar este croquis a los objetos seleccionados. Sketcher_ReorientSketch - + Sketch has support Croquis tiene soporte - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? No se puede reorientar un croquis apoyado en una cara. @@ -5608,11 +5800,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Formulario - DOF @@ -5631,11 +5818,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Formulario - Default algorithm used for Sketch solving @@ -5908,7 +6090,7 @@ El algoritmo QR de Eigen Sparse está optimizado para matrices dispersas; genera ViewProviderSketch - + and %1 more y %1 más @@ -6098,22 +6280,22 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< GridSpaceAction - + Grid auto spacing Espaciado automático de cuadrícula - + Resize grid automatically depending on zoom. Redimensionar la cuadrícula automáticamente dependiendo del zoom. - + Spacing Espaciado - + Distance between two subsequent grid lines. Distancia entre dos líneas consecutivas de cuadrícula. @@ -6121,87 +6303,87 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< Notifications - + The Sketch has malformed constraints! El croquis contiene restricciones mal formadas! - + The Sketch has partially redundant constraints! El croquis contiene restricciones parcialmente redundantes! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas ha sido migrado. Los archivos migrados no se abrirán en versiones anteriores de FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Error - + Failed to delete all geometry Fallo al eliminar toda la geometría - + Failed to delete all constraints Fallo al eliminar todas las restricciones - + The constraint has invalid index information and is malformed. La restricción tiene información de índice inválida y está mal formada. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Restricción inválida @@ -6243,8 +6425,8 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< Error al crear el polo de B-Spline - + Error creating B-spline Error al crear B-Spline @@ -6341,9 +6523,9 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< Fallo al recortar arista - - - + + + Value Error Error del valor @@ -6379,58 +6561,58 @@ El espaciado de la cuadrícula cambia si es menor que este número de píxeles.< SnapSpaceAction - + Snap to objects Adherir a objetos - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Los nuevos puntos se adherirán al objeto preseleccionado actualmente. También serán adheridos en el centro de líneas y arcos. - + Snap to grid Adherir a la cuadrícula - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Los nuevos puntos se ajustarán a la línea de rejilla más cercana. Los puntos deben estar más cerca de una quinta parte del tamaño de la cuadrícula a una línea de cuadrícula para ajustarlos. - + Snap angle Adherir ángulo - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Paso angular para las herramientas que usan 'Adherir en ángulo' (línea por instancia). Mantener presionado CTRL para activar 'Adherir en ángulo'. El ángulo inicia desde el eje X positivo del croquis. RenderingOrderAction - - - - - Normal Geometry - Geometría normal - - Construction Geometry - Geometría de Construcción + Normal Geometry + Geometría normal + Construction Geometry + Geometría de Construcción + + + + + External Geometry Geometría externa @@ -6451,12 +6633,12 @@ Los puntos deben estar más cerca de una quinta parte del tamaño de la cuadríc CmdSketcherGrid - + Toggle grid Activa/desactiva cuadrícula - + Toggle the grid in the sketch. In the menu you can change grid settings. Alterna la cuadrícula en el croquis. En el menú puedes cambiar la configuración de la cuadrícula. @@ -6464,12 +6646,12 @@ Los puntos deben estar más cerca de una quinta parte del tamaño de la cuadríc CmdSketcherSnap - + Toggle snap Activar adherir - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Alterna todas las funcionalidades de adhesión. En el menú puedes cambiar 'Adherir a la cuadrícula' y 'Adherir a objetos' individualmente, y cambiar más ajustes de adhesión. @@ -6500,4 +6682,34 @@ Los puntos deben estar más cerca de una quinta parte del tamaño de la cuadríc Crear una B-spline periódica por nodos, es decir, por interpolación, en el croquis. + + CmdSketcherDimension + + + Dimension + Cota + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_eu.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_eu.ts index fa3e6a5ba3..4c8b897d44 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_eu.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_eu.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Erakutsi/ezkutatu B-spline elementuen kurbadura-orrazia - + Switches between showing and hiding the curvature comb for all B-splines B-spline guztien kurbadura-orrazia erakusten/ezkutatzen ditu @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Erakutsi/ezkutatu B-spline funtzioaren gradua - + Switches between showing and hiding the degree for all B-splines B-spline guztien gradua erakusten/ezkutatzen ditu @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Erakutsi/ezkutatu B-spline adabegi-aniztasuna - + Switches between showing and hiding the knot multiplicity for all B-splines B-spline guztien adabegi-aniztasuna erakusten/ezkutatzen ditu @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Erakutsi/ezkutatu B-spline kontrol-puntuaren pisua - + Switches between showing and hiding the control point weight for all B-splines B-spline guztien kontrol-puntuen pisuak erakusten/ezkutatzen ditu @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Erakutsi/ezkutatu B-spline kontrol-poligonoa - + Switches between showing and hiding the control polygons for all B-splines B-spline guztien kontrol-poligonoak erakusten/ezkutatzen ditu @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Klonatu - + Creates a clone of the geometry taking as reference the last selected point Geometriaren klon bat sortzen du, erreferentzia gisa hautatutako azken puntua hartuta @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Erakutsi/ezkutatu B-spline funtzioaren informazio-geruza - + Show/hide B-spline degree Erakutsi/ezkutatu B-spline funtzioaren gradua - + Show/hide B-spline control polygon Erakutsi/ezkutatu B-spline kontrol-poligonoa - + Show/hide B-spline curvature comb Erakutsi/ezkutatu B-spline elementuen kurbadura-orrazia - + Show/hide B-spline knot multiplicity Erakutsi/ezkutatu B-spline adabegi-aniztasuna - + Show/hide B-spline control point weight Erakutsi/ezkutatu B-spline kontrol-puntuaren pisua @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Murriztu arkua edo zirkulua - + Constrain an arc or a circle Murriztu arku bat edo zirkulu bat - + Constrain radius Murriztu erradioa - + Constrain diameter Murriztu diametroa - + Constrain auto radius/diameter Murriztu erradio/diametro automatikoa @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Klonatu - + Creates a clone of the geometry taking as reference the last selected point Geometriaren klon bat sortzen du, erreferentzia gisa hautatutako azken puntua hartuta @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Aldatu adabegi-aniztasuna - + Modifies the multiplicity of the selected knot of a B-spline B-spline batean hautatutako adabegi baten aniztasuna aldatzen du - + Increase knot multiplicity Handitu adabegi-aniztasuna - + Decrease knot multiplicity Txikitu adabegi-aniztasuna @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Murriztu angelua - + Fix the angle of a line or the angle between two lines Finkatu lerro baten angelua edo bi lerroren arteko angelua @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Murriztu blokea - + Block the selected edge from moving Blokeatu hautatutako ertza, lekuz aldatu ez dadin @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Murriztu bat datozenak - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Sortu bat datorren murrizketa bat puntuen artean, edo murrizketa kontzentriko bat zirkuluen, arkuen eta elipseen artean @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Murriztu diametroa - + Fix the diameter of a circle or an arc Finkatu zirkulu baten edo arku baten diametroa @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Murriztu distantzia - + Fix a length of a line or the distance between a line and a vertex or between two circles Finkatu lerro baten luzera edo lerro baten eta erpin baten arteko edo bi zirkuluren arteko distantzia @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Murriztu distantzia horizontala - + Fix the horizontal distance between two points or line ends Finkatu bi punturen edo bi lerro-amaieren arteko distantzia horizontala @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Murriztu distantzia bertikala - + Fix the vertical distance between two points or line ends Finkatu bi punturen edo bi lerro-amaieren arteko distantzia bertikala @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Murriztu berdin - + Create an equality constraint between two lines or between circles and arcs Sortu berdintasun-murrizketa bat bi lerroren artean edo zirkuluen eta arkuen artean @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Murriztu horizontalean - + Create a horizontal constraint on the selected item Sortu murrizketa horizontala hautatutako elementuan @@ -505,27 +505,27 @@ CmdSketcherConstrainLock - + Constrain lock Blokeo-murrizketa - + Create both a horizontal and a vertical distance constraint on the selected vertex - Sortu distantzia-murrizketa horizontala eta bertikala + Sortu distantzia-murrizketa horizontala eta bertikala hautatutako erpinean CmdSketcherConstrainParallel - + Constrain parallel Murriztu paraleloa - + Create a parallel constraint between two lines Sortu murrizketa paraleloa bi lerroren artean @@ -533,12 +533,12 @@ hautatutako erpinean CmdSketcherConstrainPerpendicular - + Constrain perpendicular Murriztu perpendikularra - + Create a perpendicular constraint between two lines Sortu murrizketa perpendikularra bi lerroren artean @@ -546,12 +546,12 @@ hautatutako erpinean CmdSketcherConstrainPointOnObject - + Constrain point onto object Murriztu puntua objektuan - + Fix a point onto an object Finkatu puntu bat objektu batean @@ -559,12 +559,12 @@ hautatutako erpinean CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Murriztu erradio/diametro automatikoa - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Finkatu diamteroa zirkulu bat hautatu bada, edo erradioa arku/spline polo bat hautatu bada @@ -572,12 +572,12 @@ hautatutako erpinean CmdSketcherConstrainRadius - + Constrain radius or weight Murriztu erradioa edo pisua - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Finkatu zirkulu baten edo arku baten erradioa edo finkatu B-spline baten polo baten pisua @@ -585,12 +585,12 @@ hautatutako erpinean CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Murriztu errefrakzioa (Snell-en legea) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Sortu Snell-en errefrakzio-legearen murrizketa bat, izpien bi amaiera-punturen @@ -600,12 +600,12 @@ artean eta ertz bat interfaze modura erabilita. CmdSketcherConstrainSymmetric - + Constrain symmetrical Murriztu simetrikoki - + Create a symmetry constraint between two points with respect to a line or a third point Sortu simetria-murrizketa bat bi punturen artean, @@ -615,12 +615,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherConstrainTangent - + Constrain tangent Murriztu tangentea - + Create a tangent constraint between two entities Sortu murrizketa tangentea bi lerroren artean @@ -628,12 +628,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherConstrainVertical - + Constrain vertically Murriztu bertikalean - + Create a vertical constraint on the selected item Sortu murrizketa bertikala hautatutako elementuan @@ -641,12 +641,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherConvertToNURBS - + Convert geometry to B-spline Bihurtu geometria B-spline - + Converts the selected geometry to a B-spline Hautatutako geometria B-spline bihurtzen du @@ -654,12 +654,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherCopy - + Copy Kopiatu - + Creates a simple copy of the geometry taking as reference the last selected point Geometriaren kopia sinple bat sortzen du, erreferentzia gisa hautatutako azken puntua hartuz @@ -1018,12 +1018,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherDecreaseDegree - + Decrease B-spline degree Txikitu B-spline elementuaren gradua - + Decreases the degree of the B-spline B-spline elementuaren gradua txikitzen du @@ -1031,12 +1031,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Txikitu adabegi-aniztasuna - + Decreases the multiplicity of the selected knot of a B-spline B-spline batean hautatutako adabegi baten aniztasuna txikitzen du @@ -1044,12 +1044,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherDeleteAllConstraints - + Delete all constraints Ezabatu murrizketa guztiak - + Delete all constraints in the sketch Ezabatu krokiseko murrizketa guztiak @@ -1057,12 +1057,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherDeleteAllGeometry - + Delete all geometry Ezabatu geometria osoa - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Ezabatu uneko krokiseko geometria eta murrizketa guztiak, kanpoko geometria salbu @@ -1070,12 +1070,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherEditSketch - + Edit sketch Editatu krokisa - + Edit the selected sketch. Editatu hautatutako krokisa. @@ -1109,12 +1109,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherIncreaseDegree - + Increase B-spline degree Handitu B-spline elementuaren gradua - + Increases the degree of the B-spline B-spline elementuaren gradua handitzen du @@ -1122,12 +1122,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Handitu adabegi-aniztasuna - + Increases the multiplicity of the selected knot of a B-spline B-spline batean hautatutako adabegi baten aniztasuna handitzen du @@ -1135,12 +1135,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherInsertKnot - + Insert knot Txertatu adabegia - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Adabegi bat txertatzen du emandako parametro batean. Adabegia lehendik badago parametro horretan, bere aniztasuna batean gehitzen da. @@ -1148,12 +1148,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherJoinCurves - + Join curves Elkartu kurbak - + Join two curves at selected end points Elkartu bi kurba hautatutako amaierako puntuetan @@ -1161,12 +1161,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherLeaveSketch - + Leave sketch Utzi krokisa - + Finish editing the active sketch. Amaitu krokis aktiboaren edizioa. @@ -1174,12 +1174,12 @@ lerro batekiko edo hirugarren puntu batekiko CmdSketcherMapSketch - + Map sketch to face... Mapatu krokisa aurpegira... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1188,7 +1188,7 @@ Lehenengo, hautatu euskarri izango den geometria, adibidez objektu solido baten aurpegi edo ertz bat, ondoren deitu komando hau eta aukeratu nahi den krokisa. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Hautatutako zenbait objektuk krokisa mapeatua izan dadin behar dute. Mendekotasun zirkularrak ez dira onartzen. @@ -1196,22 +1196,22 @@ aurpegi edo ertz bat, ondoren deitu komando hau eta aukeratu nahi den krokisa. CmdSketcherMergeSketches - + Merge sketches Fusionatu krokisak - + Create a new sketch from merging two or more selected sketches. Sortu krokis berria hautatutako krokis bi edo gehiago fusionatuta. - + Wrong selection Hautapen okerra - + Select at least two sketches. Hautatu gutxienez bi krokis. @@ -1219,12 +1219,12 @@ aurpegi edo ertz bat, ondoren deitu komando hau eta aukeratu nahi den krokisa. CmdSketcherMirrorSketch - + Mirror sketch Ispilatu krokisa - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1233,12 +1233,12 @@ X edo Y ardatza erabilita, edo jatorrizko puntua erabilita, ispilatzerako erreferentzia gisa. - + Wrong selection Hautapen okerra - + Select one or more sketches. Hautatu krokis bat edo gehiago. @@ -1246,12 +1246,12 @@ ispilatzerako erreferentzia gisa. CmdSketcherMove - + Move Mugitu - + Moves the geometry taking as reference the last selected point Geometria mugitzen du, hautatutako azken puntua erreferentzia gisa hartuta @@ -1259,12 +1259,12 @@ ispilatzerako erreferentzia gisa. CmdSketcherNewSketch - + Create sketch Sortu krokisa - + Create a new sketch. Sortu krokis berria. @@ -1272,12 +1272,12 @@ ispilatzerako erreferentzia gisa. CmdSketcherRectangularArray - + Rectangular array Matrize laukizuzena - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Geometriaren matrize-eredu laukizuzena sortzen du, erreferentzia modura hautatutako azken puntua hartuta @@ -1285,12 +1285,12 @@ ispilatzerako erreferentzia gisa. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Kendu ardatzen lerrokatzea - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Murrizketak aldatzen ditu ardatzen lerrokatzea kentzeko eta aldi berean hautapenaren murrizketa-erlazioak mantentzeko @@ -1298,12 +1298,12 @@ ispilatzerako erreferentzia gisa. CmdSketcherReorientSketch - + Reorient sketch... Aldatu krokisaren orientazioa... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Kokatu krokis hautatua koordenatu globalen planoetako batean. @@ -1313,12 +1313,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Erakutsi/ezkutatu barne-geometria - + Show all internal geometry or hide unused internal geometry Erakutsi barne-geometria guztia edo ezkutatu erabili gabeko barne-geometria @@ -1326,8 +1326,8 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Hautatu gatazkan dauden murrizketak @@ -1335,12 +1335,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectConstraints - + Select associated constraints Hautatu elkartuta dauden murrizketak - + Select the constraints associated with the selected geometrical elements Hautatu elementu geometriko hautatuei lotutako murrizketak @@ -1348,12 +1348,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Hautatu elkartutako geometria - + Select the geometrical elements associated with the selected constraints Hautatu murrizketa hautatuei lotutako elementu geometrikoak @@ -1361,12 +1361,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Hautatu murrizketarik gabeko askatasun-gradua - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Hautatu elementu geometrikoak ebazleak elementu horietan murriztu gabeko askatasun-graduak detektatzen dituenean. @@ -1374,12 +1374,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Hautatu ardatz horizontala - + Select the local horizontal axis of the sketch Hautatu krokisaren ardatz horizontal lokala @@ -1387,8 +1387,8 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Hautatu gaizki eratutako murrizketak @@ -1396,12 +1396,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectOrigin - + Select origin Hautatu jatorria - + Select the local origin point of the sketch Hautatu krokisaren jatorrizko puntu lokala @@ -1409,8 +1409,8 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Hautatu partzialki erredundanteak diren murrizketak @@ -1418,8 +1418,8 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Hautatu murrizketa erredundanteak @@ -1427,12 +1427,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSelectVerticalAxis - + Select vertical axis Hautatu ardatz bertikala - + Select the local vertical axis of the sketch Hautatu krokisaren ardatz bertikal lokala @@ -1453,12 +1453,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherStopOperation - + Stop operation Gelditu eragiketa - + When in edit mode, stop the active operation (drawing, constraining, etc.). Edizio moduan, gelditu eragiketa aktiboa (marraztea, murriztea, etab.). @@ -1479,12 +1479,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherSymmetry - + Symmetry Simetria - + Creates symmetric geometry with respect to the last selected line or point Geometria simetrikoa sortzen du hautatutako azken lerro edo puntuekiko @@ -1492,12 +1492,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Aktibatu/desaktibatu murrizketa - + Activates or deactivates the selected constraints Hautatutako murrizketak aktibatzen edo desaktibatzen ditu @@ -1518,12 +1518,12 @@ Horrela 'Euskarria' propietatea garbituko da, halakorik badago. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Aktibatu/desaktibatu gidatze/erreferentziako murrizketa - + Set the toolbar, or the selected constraints, into driving or reference mode Ezarri tresna-barra, edo hautatutako murrizketak, @@ -1546,24 +1546,24 @@ gidatze edo erreferentziako moduan CmdSketcherValidateSketch - + Validate sketch... Balidatu krokisa... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Balioztatu krokis bat falta diren bat etortzeak, baliogabeko murrizketak, geometria degeneratuak, etab. aztertuta. - + Wrong selection Hautapen okerra - + Select only one sketch. Hautatu krokis bakar bat. @@ -1571,12 +1571,12 @@ murrizketak, geometria degeneratuak, etab. aztertuta. CmdSketcherViewSection - + View section Bistaratu sekzioa - + When in edit mode, switch between section view and full view. Edizio moduan, txandakatu sekzio-bista eta bista osoa. @@ -1584,12 +1584,12 @@ murrizketak, geometria degeneratuak, etab. aztertuta. CmdSketcherViewSketch - + View sketch Bistaratu krokisa - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Edizio moduan, ezarri kameraren orientazioa krokis-planoarekiko perpendikularrean. @@ -1597,287 +1597,404 @@ murrizketak, geometria degeneratuak, etab. aztertuta. Command - - + + Add horizontal constraint Gehitu murrizketa horizontala - - - + + + Add horizontal alignment Gehitu lerrokatze horizontala - - + + Add vertical constraint Gehitu murrizketa bertikala - + Add vertical alignment Gehitu lerrokatze bertikala - + Add 'Lock' constraint Gehitu 'Blokeo' murrizketa - + Add relative 'Lock' constraint Gehitu 'Blokeo' erlatiboko murrizketa - + Add fixed constraint Gehitu murrizketa finkoa - + Add 'Block' constraint Gehitu 'Bloke' murrizketa - + Add block constraint Gehitu bloke-murrizketa - - - + + + Add coincident constraint Gehitu bat datorren murrizketa - - + + Add distance from horizontal axis constraint Gehitu distantzia ardatz horizontaleko murrizketatik - - + + Add distance from vertical axis constraint Gehitu distantzia ardatz bertikaleko murrizketatik - - + + Add point to point distance constraint Gehitu puntutik punturako distantzia-murrizketa - - + + + Add point to line Distance constraint Gehitu puntutik lerrorako distantzia-murrizketa - - + + Add circle to circle distance constraint Gehitu zirkulutik zirkulurako distantzia-murrizketa - + Add circle to line distance constraint Gehitu zirkulutik lerrorako distantzia-murrizketa - - + + + + + Add length constraint Gehitu luzera-murrizketa - - + + + Dimension + Kota + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Gehitu objektu gaineko puntuaren murrizketa - - + + Add point to point horizontal distance constraint Gehitu puntutik punturako distantzia horizontaleko murrizketa - + Add fixed x-coordinate constraint Gehitu X koordenatu finkoko murrizketa - - + + Add point to point vertical distance constraint Gehitu puntutik punturako distantzia bertikaleko murrizketa - + Add fixed y-coordinate constraint Gehitu Y koordenatu finkoko murrizketa - - + + Add parallel constraint Gehitu murrizketa paraleloa - - - - - - - + + + + + + + Add perpendicular constraint Gehitu murrizketa perpendikularra - + Add perpendicularity constraint Gehitu perpendikulartasun-murrizketa - + Swap coincident+tangency with ptp tangency Trukatu bat etortzea+tangentzia ptp tangentziarekin - + Swap PointOnObject+tangency with point to curve tangency Trukatu PuntuaObjektuan+tangentzia puntutik kurbarako tangentziarekin - - - - - - - + + + + + + + Add tangent constraint Gehitu tangente-murrizketa - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Gehitu tangentzia-murrizketako puntua - - - - + + + + Add radius constraint Gehitu erradio-murrizketa - - - - + + + + Add diameter constraint Gehitu diametro-murrizketa - - - - + + + + Add radiam constraint Gehitu erradio/diametro-murrizketa - - - - - - + + + + + + Add angle constraint Gehitu angelu-murrizketa - - + + Add equality constraint Gehitu berdintasun-murrizketa - - - - - + + + + + Add symmetric constraint Gehitu simetria-murrizketa - + Add Snell's law constraint Gehitu Snell-en legearen murrizketa - + Toggle constraint to driving/reference Txandakatu murrizketa gidatze/erreferentziara - + Activate/Deactivate constraint Aktibatu/desaktibatu murrizketa - + Create a new sketch on a face Sortu krokis berria aurpegi batean - + Create a new sketch Sortu krokis berria - + Reorient sketch Aldatu krokisaren orientazioa - + Attach sketch Erantsi krokisa - + Detach sketch Askatu krokisa - + Create a mirrored sketch for each selected sketch Sortu hautatutako krokis bakoitzaren krokis ispilatu bat - + Merge sketches Fusionatu krokisak @@ -1995,72 +2112,72 @@ murrizketak, geometria degeneratuak, etab. aztertuta. Gehitu hexagonoa - + Convert to NURBS Bihurtu NURBS - + Increase spline degree Handitu spline elementuaren gradua - + Decrease spline degree Txikitu spline elementuaren gradua - + Increase knot multiplicity Handitu adabegi-aniztasuna - + Decrease knot multiplicity Txikitu adabegi-aniztasuna - + Insert knot Txertatu adabegia - + Join Curves Elkartu kurbak - + Exposing Internal Geometry Barne-geometria agerian uzten - + Create symmetric geometry Sortu geometria simetrikoa - + Copy/clone/move geometry Kopiatu/klonatu/mugitu geometria - + Create copy of geometry Sortu geometriaren kopia - + Delete all geometry Ezabatu geometria osoa - + Delete All Constraints Ezabatu murrizketa guztiak - + Remove Axes Alignment Kendu ardatzen lerrokatzea @@ -2071,44 +2188,44 @@ murrizketak, geometria degeneratuak, etab. aztertuta. - - - + + + Update constraint's virtual space Eguneratu murrizketen espazio birtuala - + Add auto constraints Gehitu murrizketa automatikoak - + Swap constraint names Trukatu murrizketen izenak - + Rename sketch constraint Aldatu krokis-murrizketaren izena - + Drag Point Arrastatu puntua - + Drag Curve Arrastatu kurba - + Drag Constraint Arrastatu murrizketa - + Modify sketch constraints Aldatu krokis-murrizketak @@ -2169,59 +2286,59 @@ murrizketak, geometria degeneratuak, etab. aztertuta. Automurrizketa-errorea: Ebatzi ezin den krokisa berdintasun-murrizketak aplikatu ondoren. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Ezin izan da kurben ebakidura antzeman. Saiatu bat datorren murrizketa bat gehitzen biribildu nahi dituzun kurben erpinen artean. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline geometria-indizea (GeoID) mugetatik kanpo dago. - + You are requesting no change in knot multiplicity. Adabegi-aniztasunean aldaketarik ez egitea eskatzen ari zara. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Hornitutako geometria-indizea (GeoId) ez da Bspline kurba bat. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Adabegi-indizea mugetatik kanpo dago. Kontuan izan, OCC notazioaren arabera, lehen adabegiaren indize-zenbakiak 1 izan behar duela, ez 0. - + The multiplicity cannot be increased beyond the degree of the B-spline. Aniztasuna ezin da handitu Bspline-aren gradutik gora. - + The multiplicity cannot be decreased beyond zero. Aniztasuna ezin da txikitu zerotik behera. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC-k ezin du aniztasuna txikitu tolerantzia maximoaren barruan. - + Knot cannot have zero multiplicity. Adabegiak ezin du zero aniztasuna izan. - + Knot multiplicity cannot be higher than the degree of the BSpline. Adabegi-aniztasunak ezin du izan B-spline kurbaren graduak baino handiagoa. - + Knot cannot be inserted outside the BSpline parameter range. Adabegia ezin da txertatu B-spline parametro-barrutiaren kanpoaldean. @@ -2237,210 +2354,213 @@ murrizketak, geometria degeneratuak, etab. aztertuta. QObject - - - - + + + + Sketcher Krokisgilea - + There are no modes that accept the selected set of subelements Ez dago hautatutako azpielementu multzoa onartzen duen modurik - + Broken link to support subelements Subelements onartzen To hautsi esteka - - + + Unexpected error Espero ez zen errorea - + Face is non-planar Aurpegia ez da planarra - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Hautatutako formak okerrak dira (adib. ertz kurbatu bat dago ertz zuzena behar den tokian) - + Sketch mapping Krokisaren mapatzea - + Can't map the sketch to selected object. %1. Ezin da mapatu hautatutako objektuaren krokisa. %1. - - + + Don't attach Ez erantsi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Hautapen okerra @@ -2451,339 +2571,339 @@ murrizketak, geometria degeneratuak, etab. aztertuta. Hautatu krokiseko ertza(k). - + Not allowed to edit the datum because the sketch contains conflicting constraints Ezin da zero puntua editatu krokisak gatazkan dauden murrizketak dituelako - + Dimensional constraint Kota-murrizketa - + Cannot add a constraint between two external geometries. Ezin da murrizketa bat gehitu bi kanpo-geometriaren artean. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Ezin da murrizketa bat gehitu bi geometria finkoren artean. Geometria finkoek kanpo-geometriak, blokeatutako geometriak eta puntu bereziak (esaterako, B-spline adabegi-puntuak) barne hartzen dituzte. - + Sketcher Constraint Substitution Kroskisgile-murrizketen ordezkapena - + Keep notifying me of constraint substitutions Jarraitu murrizketa-ordezkapenak jakinarazten - - - + + + Only sketch and its support are allowed to be selected. Krokisa eta bere euskarria soilik onartzen dira hautatzea. - + One of the selected has to be on the sketch. Hautatuetako batek krokisean egon behar du. - - + + Select an edge from the sketch. Hautatu krokiseko ertz bat. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Ezinezko murrizketa - - - - + + + + The selected edge is not a line segment. Hautatutako ertza ez da lerro segmentu bat. - - - - - - + + + + + + Double constraint Murrizketa bikoitza - - - - - + + + + + The selected edge already has a horizontal constraint! Hautatutako ertzak badauka murrizketa horizontal bat! - - - + + + The selected edge already has a vertical constraint! Hautatutako ertzak badauka murrizketa bertikal bat! - - - - - - + + + + + + The selected edge already has a Block constraint! Hautatutako ertzak badauka bloke-murrizketa bat! - + The selected item(s) can't accept a horizontal constraint! Hautatutako elementua(e)k ez du(te) murrizketa horizontal bat onartzen! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Puntu finko bat baino gehiago dago hautatuta. Gehienez puntu finko bakarra hautatu behar duzu! - + The selected item(s) can't accept a vertical constraint! Hautatutako elementua(e)k ez du(te) murrizketa bertikal bat onartzen! - - - + + + Select vertices from the sketch. Hautatu krokiseko erpinak. - + Select one vertex from the sketch other than the origin. Hautatu krokiseko erpin bat, jatorria ez dena. - + Select only vertices from the sketch. The last selected vertex may be the origin. Hautatu krokiseko erpinak soilik. Hautatutako azken erpina jatorria izan daiteke. - + Wrong solver status Ebazle-egoera okerra - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Ezin da bloke-murrizketarik gehitu krokisa ebatzi gabe badago edo murrizketa errepikatuak eta gatazkan daudenak badaude. - + Select one edge from the sketch. Hautatu krokiseko ertz bat. - + Select only edges from the sketch. Hautatu krokiseko ertzak soilik. - + Number of selected objects is not 3 Hautatutako objektuen kopurua ez da 3 - - - + + + Error Errorea - + Unexpected error. More information may be available in the Report View. Ustekabeko errorea. Txosten-bistan informazio gehiago aurkitu daiteke. - + Endpoint to endpoint tangency was applied instead. Amaiera-puntutik amaiera-punturako tangentzia aplikatu da horren ordez. - + Select two or more points from the sketch. Hautatu krokiseko bi puntu edo gehiago. - + Select two or more vertices from the sketch. Hautatu krokiseko bi erpin edo gehiago. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Hautatu krokisaren bi erpin edo gehiago bat datorren murrizketa baterako, edo bi edo gehiago zirkulu, elipse, arku edo arkuen elipse, murrizketa kontzentriko baterako. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Hautatu krokisaren bi erpin bat datorren murrizketa baterako, edo bi zirkulu, elipse, arku edo arkuen elipse, murrizketa kontzentriko baterako. - + Select exactly one line or one point and one line or two points from the sketch. Hautatu krokiseko lerro bat edo puntu bat edo lerro bat eta bi puntu. - + Cannot add a length constraint on an axis! Ezin zaio luzera-murrizketa bat gehitu ardatz bati! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Hautatu krokiseko lerro bat edo puntu bat eta lerro bat edo bi puntu edo bi zirkulu. - + This constraint does not make sense for non-linear curves. Murrizketa honek ez du zentzurik linealak ez diren kurbekin. - + Endpoint to edge tangency was applied instead. Amaiera-puntutik ertzerako tangentzia aplikatu da horren ordez. - - - - - - - + + + + + + + Select the right things from the sketch. Hautatu krokiseko elementu egokiak. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Hautatu B-spline pisua ez den ertz bat. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Hautatutako puntuetako bat ere ez dago murriztuta bakoitzari dagokion kurban, elementu bereko osagai direlako, kanpo-geometria direlako edo ertza hautatu ezin delako. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Hautatutako puntuetako bat ere ez dago murriztuta bakoitzari dagokion kurban, bai elementu bereko osagai direlako bai kanpo-geometria direlako. - - - - + + + + Select exactly one line or up to two points from the sketch. Hautatu krokiseko lerro bat, puntu bat edo bi puntu. - + Cannot add a horizontal length constraint on an axis! Ezin zaio luzera horizontaleko murrizketa bat gehitu ardatz bati! - + Cannot add a fixed x-coordinate constraint on the origin point! Ezin zaio X koordenatu finkoko murrizketa bat gehitu jatorri-puntuari! - - + + This constraint only makes sense on a line segment or a pair of points. Murriztapen honek lerro segmentuetan edo puntu-bikoteetan soilik du zentzua. - + Cannot add a vertical length constraint on an axis! Ezin zaio luzera bertikaleko murrizketa bat gehitu ardatz bati! - + Cannot add a fixed y-coordinate constraint on the origin point! Ezin zaio Y koordenatu finkoko murrizketa bat gehitu jatorri-puntuari! - + Select two or more lines from the sketch. Hautatu krokiseko bi lerro edo gehiago. - - + + Select at least two lines from the sketch. Hautatu krokiseko bi lerro, gutxienez. - + Select a valid line. Hautatu baliozko lerro bat. - - + + The selected edge is not a valid line. Hautatutako ertza ez da baliozko lerro bat. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2793,42 +2913,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Onartutako konbinazioak: bi kurba; amaiera-puntu bat eta kurba bat; bi amaiera-puntu; bi kurba eta puntu bat. - + Select some geometry from the sketch. perpendicular constraint Hautatu krokiseko geometriaren bat. - - + + Cannot add a perpendicularity constraint at an unconnected point! Ezin zaio perpendikulartasun-murrizketa bat gehitu konektatu gabeko puntu bati! - - - + + + Perpendicular to B-spline edge currently unsupported. Oraindik ez da onartzen perpendikularra B-spline ertzean. - - + + One of the selected edges should be a line. Hautatutako ertzetako batek lerroa izan behar du. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Amaiera-puntutik amaiera-punturako tangentzia aplikatu da. Bat datorren murrizketa ezabatu egin da. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Amaiera-puntutik ertzerako tangentzia aplikatu da. Objektuaren gaineko puntuaren murrizketa ezabatu egin da. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2838,179 +2958,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Onartutako konbinazioak: bi kurba; amaiera-puntu bat eta kurba bat; bi amaiera-puntu; bi kurba eta puntu bat. - + Select some geometry from the sketch. tangent constraint Hautatu krokiseko geometriaren bat. - - - + + + Cannot add a tangency constraint at an unconnected point! Ezin zaio tangentzia-murrizketa gehitu konektatu gabeko puntu bati! - - + + Tangent constraint at B-spline knot is only supported with lines! B-spline adabegiko tangente-murrizketa lerroekin soilik onartzen da. - + B-spline knot to endpoint tangency was applied instead. B-splinearen adabegitik amaiera-punturako tangentzia aplikatu da horren ordez. - + Select either one point and several curves, or one curve and several points. Hautatu puntu bat edo kurba anitz, edo kurba bat eta puntu anitz. - - + + Wrong number of selected objects! Hautatutako objektu kopuru okerra! - - + + With 3 objects, there must be 2 curves and 1 point. 3 objektu badira, 2 kurba eta puntu1 egon behar dute. - - - + + + Tangency to B-spline edge currently unsupported. Oraindik ez da onartzen tangentea B-spline kurbaren ertzean. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Hautatu krokiseko arku edo zirkulu bat edo gehiago. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Hautatu B-spline polo bat edo gehiago edo zirkuluen arku bat edo gehiago krokisean, baina ez bi motak nahastuta. - - - + + + Constraint only applies to arcs or circles. Murrizketa arkuei edo zirkuluei soilik aplikatzen zaie. - - + + Select one or two lines from the sketch. Or select two edges and a point. Hautatu krokisaren lerro bat edo bi. Edo hautatu bi ertz eta puntu bat. - - + + Parallel lines Lerro paraleloak - - + + An angle constraint cannot be set for two parallel lines. Ezin da angelu-murrizketa bat ezarri bi lerro paralelotarako. - + Cannot add an angle constraint on an axis! Ezin zaio angelu-murrizketa bat gehitu ardatz bati! - + Select two edges from the sketch. Hautatu krokiseko bi ertz. - + Select two or more compatible edges. Hautatu bateragarriak diren bi ertz edo gehiago. - + Sketch axes cannot be used in equality constraints. Krokis-ardatzak ezin dira erabili berdintasun-murrizketetan. - + Equality for B-spline edge currently unsupported. Momentuz ez dago onartuta B-spline ertzen berdintasuna. - - - + + + + Select two or more edges of similar type. Hautatu antzekoak diren bi ertz edo gehiago. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Hautatu krokiseko bi puntu eta simetria-lerro bat, bi puntu eta simetria-puntu bat edo lerro bat eta simetria-puntu bat. - - + + Cannot add a symmetry constraint between a line and its end points. Ezin da simetria-murrizketarik gehitu lerro baten eta haren amaiera-puntuen artean. - - + + + + Cannot add a symmetry constraint between a line and its end points! Ezin da simetria-murrizketarik gehitu lerro baten eta haren amaiera-puntuen artean! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Hautatu lerroen bi amaiera-puntu izpi gisa joka dezaten, eta muga bat adieraziko duen ertz bat. Hautatutako lehen puntua n1 indizeari dagokio, bigarrena n2 indizeari, eta zero puntuaren balioak n2/n1 erlazioa ezartzen du. - + Selected objects are not just geometry from one sketch. Hautatutako elementuak ez dira soilik krokis bateko geometria. - + Cannot create constraint with external geometry only. Ezin da murrizketa sortu kanpo-geometria soilik erabiliz. - + Incompatible geometry is selected. Bateragarria ez den geometria hautatu da. - + SnellsLaw on B-spline edge is currently unsupported. Oraindik ez da onartzen Snell-en legea B-spline ertzean. - - - - - + + + + + Select constraints from the sketch. Hautatu krokiseko murrizketak. @@ -3032,155 +3155,155 @@ Onartutako konbinazioak: bi kurba; amaiera-puntu bat eta kurba bat; bi amaiera-p Definitu B-spline gradua, 1 eta %1 artekoa: + + - - CAD Kernel Error CAD kernel-errorea - + None of the selected elements is an edge. Hautatutako elementuetako bat ere ez da ertza. - - + + At least one of the selected objects was not a B-Spline and was ignored. Hautatutako objektuetako bat, gutxienez, ez da B-spline motakoa, eta ezikusi egin da. - - + + The selection comprises more than one item. Please select just one knot. Hautapenak elementu bat baino gehiago du. Hautatu adabegi bakar bat. - - + + Input Error Sarrera-errorea - - + + None of the selected elements is a knot of a B-spline Hautatutako elementuetan ez dago B-spline baten adabegirik - - + + Selection is empty Hautapena hutsik dago - + Nothing is selected. Please select a b-spline. Ez da ezer hautatu. Hautatu B-spline bat. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Hautatu B-spline kurbat bat adabegi bat txertatzeko (ez adabegia gainean jartzeko). Kurba ez bada B-spline bat, bihurtu lehenengo. - + Nothing is selected. Please select end points of curves. Ez da ezer hautatu. Hautatu kurben amaierako puntuak. - + Too many curves on point Kurba gehiegi puntuan - - + + Exactly two curves should end at the selected point to be able to join them. Bi kurbak soilik amaitu beharko lukete hautatutako puntuan, haiek elkartu ahal izateko. - + Too few curves on point Kurba gutxiegi puntuan - + Two end points, or coincident point should be selected. Amaierako bi puntu, edo bat datozen puntuak, hautatu beharko lirateke. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Hautatu krokis bakar bateko elementuak. - + No constraint selected Ez da murrizketarik hautatu - + At least one constraint must be selected Gutxienez murrizketa bat hautatu behar da - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Eraikuntza simetrikoak gutxienez bi elementu geometriko behar ditu, eta azken elementu geometrikoa simetria-eraikuntzaren erreferentzia izango da. - + The last element must be a point or a line serving as reference for the symmetry construction. Azken elementuak simetria-eraikuntzarentzat erreferentzia gisa balioko duen puntu edo lerro bat izan behar du. - - + + A copy requires at least one selected non-external geometric element Kopia batek behar du kanpokoa ez den elementu geometriko bat, gutxienez, hautatua egon dadin - + Delete All Geometry Ezabatu geometria guztia - + Are you really sure you want to delete all geometry and constraints? Ziur zaude geometria eta murrizketa guztiak ezabatu nahi dituzula? - + Delete All Constraints Ezabatu murrizketa guztiak - + Are you really sure you want to delete all the constraints? Ziur zaude murrizketa guztiak ezabatu nahi dituzula? - + Removal of axes alignment requires at least one selected non-external geometric element Ardatzen lerrokatzea kentzeko, kanpokoa ez den elementu geometriko bat, gutxienez, hautatu behar da - + Unsupported visual layer operation Ikusizko geruzan onartzen ez den eragiketa - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Momentuz ez da onartzen kanpoko geometria bat ikusizko beste geruza batera eramatea. Kanpoko geometriari ez ikusiarena egingo zaio @@ -3379,67 +3502,67 @@ Onartutako konbinazioak: bi kurba; amaiera-puntu bat eta kurba bat; bi amaiera-p SketcherGui::ConstraintView - + Select Elements Hautatu elementuak - + Change value Aldatu balioa - + Toggle to/from reference Txandakatu nondik/nora erreferentzia - + Deactivate Desaktibatu - + Activate Aktibatu - + Show constraints Erakutsi murrizketak - + Hide constraints Ezkutatu murrizketak - + Rename Aldatu izena - + Center sketch Zentratu krokisa - + Delete Ezabatu - + Swap constraint names Trukatu murrizketen izenak - + Unnamed constraint Izenik gabeko murrizketa - + Only the names of named constraints can be swapped. Izendun murrizketen izenak soilik truka daitezke. @@ -3447,74 +3570,74 @@ Onartutako konbinazioak: bi kurba; amaiera-puntu bat eta kurba bat; bi amaiera-p SketcherGui::EditDatumDialog - + Insert angle Txertatu angelua - + Angle: Angelua: - + Insert radius Txertatu erradioa - + Radius: Erradioa: - + Insert diameter Txertatu diametroa - + Diameter: Diametroa: - + Insert weight Txertatu pisua - + Weight: Pisua: - + Refractive index ratio Constraint_SnellsLaw Errefrakzio-indizea - + Ratio n2/n1: Constraint_SnellsLaw n2/n1 erlazioa: - + Insert length Txertatu luzera - + Length: Luzera: - + Refractive index ratio Errefrakzio-indizea - + Ratio n2/n1: n2/n1 erlazioa: @@ -3522,72 +3645,72 @@ Onartutako konbinazioak: bi kurba; amaiera-puntu bat eta kurba bat; bi amaiera-p SketcherGui::ElementFilterList - + Normal Normala - + Construction Eraikuntza - + Internal Barnekoa - + External Kanpokoa - + All types Mota guztiak - + Point Puntua - + Line Lerroa - + Circle Zirkulua - + Ellipse Elipsea - + Arc of circle Zirkulu-arkua - + Arc of ellipse Elipse-arkua - + Arc of hyperbola Hiperbole-arkua - + Arc of parabola Parabola-arkua - + B-Spline B-spline @@ -3595,142 +3718,142 @@ Onartutako konbinazioak: bi kurba; amaiera-puntu bat eta kurba bat; bi amaiera-p SketcherGui::ElementView - + Point Coincidence Puntu kointzidentzia - + Point on Object Puntua objektuan - + Vertical Constraint Murrizketa bertikala - + Horizontal Constraint Murrizketa horizontala - + Parallel Constraint Paralelo-murrizketa - + Perpendicular Constraint Elkartzuta-murrizketa - + Tangent Constraint Ukitzaile-murrizketa - + Equal Length Luzera berdina - + Symmetric Simetrikoa - + Block Constraint Bloke-murrizketa - + Lock Constraint Zerrapo-murrizketa - + Horizontal Distance Distantzia horizontala - + Vertical Distance Distantzia bertikala - + Length Constraint Luzera-murrizketa - + Radius Constraint Erradio-murrizketa - + Diameter Constraint Diametro-murrizketa - + Radiam Constraint Erradio/diametro murrizketa - + Angle Constraint Angelu-murrizketa - + Toggle construction geometry Txandakatu eraikuntza-geometria - + Select Constraints Hautatu murrizketak - + Select Origin Hautatu jatorria - + Select Horizontal Axis Hautatu ardatz horizontala - + Select Vertical Axis Hautatu ardatz bertikala - + Layer Geruza - + Layer 0 Geruza 0 - + Layer 1 Geruza 1 - + Hidden Ezkutua - + Delete Ezabatu @@ -4016,6 +4139,75 @@ Edizio moduan berriro sartu behar da horrek eragina izan dezan. Notify automatic constraint substitutions Jakinarazi murrizketen ordezkapen automatikoak + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Biak + + + + Auto + Automatikoa + + + + Diameter + Diametroa + + + + Radius + Erradioa + SketcherGui::SketcherSettingsColors @@ -4461,12 +4653,12 @@ Horrela, objektuak krokis-planoaren atzean soilik egongo dira ikusgai.Aplikatu lehendik dauden krokisei - + Unexpected C++ exception Espero ez zen C++ salbuespena - + Sketcher Krokisgilea @@ -4639,48 +4831,48 @@ Hala ere, ez da aurkitu amaiera-puntuei estekatutako murrizketarik.Ezarpenak - + Constraints Murrizketak - + Auto constraints Murrizketa automatikoak - + Auto remove redundants Automatikoki kendu erredundanteak - + Show only filtered Constraints Erakutsi iragazitako murrizketak soilik - + Extended information (in widget) Informazio hedatua (widgetean) - + Hide internal alignment (in widget) Ezkutatu barneko lerrokatzea (widgetean) - - + + Error Errorea - + Impossible to update visibility tracking Ezin da ikusgaitasun-jarraipena eguneratu - + Impossible to update visibility tracking: Ezin da ikusgaitasun-jarraipena eguneratu: @@ -4712,6 +4904,33 @@ Hala ere, ez da aurkitu amaiera-puntuei estekatutako murrizketarik.Settings Ezarpenak + + + + + + + + + + + + Construction + Eraikuntza + + + + Elements + Elementuak + + + + + + + Point + Puntua + @@ -4723,110 +4942,83 @@ Hala ere, ez da aurkitu amaiera-puntuei estekatutako murrizketarik. - Construction - Eraikuntza - - - - Elements - Elementuak - - - - - - - Point - Puntua - - - - - - - - - - - - Internal Barnekoa - - + + + - Line Lerroa - - + + + - Arc Arkua - - + + + - Circle Zirkulua - - + + + - Ellipse Elipsea - - + + + - Elliptical Arc Arku eliptikoa - - + + + - Hyperbolic Arc Arku hiperbolikoa - - + + + - Parabolic Arc Arku parabolikoa - - + + + - BSpline B-spline - - + + + - Other Beste bat - + Extended information Informazio gehiago @@ -4834,42 +5026,42 @@ Hala ere, ez da aurkitu amaiera-puntuei estekatutako murrizketarik. SketcherGui::TaskSketcherMessages - + Solver messages Ebazlearen mezuak - + Auto update Eguneratu automatikoki - + Executes a recomputation of active document after every sketch action Dokumentu aktiboaren birkalkulua exekutatzen du krokisaren ekintza bakoitzaren ondoren - + Click to select the conflicting constraints. Egin klik gatazkan dauden murrizketak hautatzeko. - + Click to select the redundant constraints. Egin klik murrizketa erredundanteak hautatzeko. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Krokisak murriztu gabeko elementuak ditu, eta horrek askatasun-gradu horiek sortzen ditu. Egin klik murriztu gabeko elementuak hautatzeko. - + Click to select the malformed constraints. Egin klik gaizki eratutako murrizketak hautatzeko. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Zenbait murrizketa, elkarrekin konbinatuta, partzialki errendundanteak dira. Egin klik partzialki errendundanteak diren murrizketak hautatzeko. @@ -5046,112 +5238,112 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. SketcherGui::ViewProviderSketch - + Edit sketch Editatu krokisa - + A dialog is already open in the task panel Elkarrizketa-koadro bat irekita dago ataza-panelean - + Do you want to close this dialog? Elkarrizketa-koadro hau itxi nahi duzu? - + Invalid sketch Baliogabeko krokisa - + Do you want to open the sketch validation tool? Krokisak balidatzeko tresna ireki nahi al duzu? - + The sketch is invalid and cannot be edited. Krokisa baliogabea da eta ezin da editatu. - + Please remove the following constraint: Kendu honako murrizketa: - + Please remove at least one of the following constraints: Kendu gutxienez honako murrizketetako bat: - + Please remove the following redundant constraint: Kendu erredundantea den honako murrizketa: - + Please remove the following redundant constraints: Kendu erredundanteak diren honako murriketak: - + The following constraint is partially redundant: Honako murrizketa partzialki erredundantea da: - + The following constraints are partially redundant: Honako murrizketak partzialki erredundanteak dira: - + Please remove the following malformed constraint: Kendu gaizki eratuta dagoen honako murrizketa: - + Please remove the following malformed constraints: Kendu gaizki eratuta dauden honako murrizketak: - + Empty sketch Krokis hutsa - + Over-constrained: Gehiegi murriztutakoa: - + Malformed constraints: Gaizki eratutako murrizketak: - + Redundant constraints: Murrizketa erredundanteak: - + Partially redundant: Partzialki erredundantea: - + Solver failed to converge Ebazleak ezin izan du konbergitu - + Under constrained: Gutxiegi murriztutakoa: - + %n DoF(s) Askatasun-gradu %n @@ -5159,7 +5351,7 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. - + Fully constrained Osorik murritua @@ -5167,8 +5359,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines B-spline guztien kurbadura-orrazia erakusten/ezkutatzen ditu @@ -5176,8 +5368,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline B-spline batean hautatutako adabegi baten aniztasuna txikitzen du @@ -5185,8 +5377,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines B-spline guztien gradua erakusten/ezkutatzen ditu @@ -5194,8 +5386,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline B-spline batean hautatutako adabegi baten aniztasuna handitzen du @@ -5203,8 +5395,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines B-spline guztien adabegi-aniztasuna erakusten/ezkutatzen ditu @@ -5212,8 +5404,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines B-spline guztien kontrol-puntuen pisuak erakusten/ezkutatzen ditu @@ -5221,8 +5413,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines B-spline guztien kontrol-poligonoak erakusten/ezkutatzen ditu @@ -5230,8 +5422,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Geometriaren klon bat sortzen du, erreferentzia gisa hautatutako azken puntua hartuta @@ -5239,17 +5431,17 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_CompCopy - + Clone Klonatu - + Copy Kopiatu - + Move Mugitu @@ -5257,8 +5449,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Finkatu zirkulu baten edo arku baten diametroa @@ -5266,7 +5458,7 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Finkatu zirkulu baten edo arku baten erradioa/diametroa @@ -5274,8 +5466,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Finkatu zirkulu baten edo arku baten erradioa @@ -5283,7 +5475,7 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Finkatu zirkulu baten edo arku baten erradioa/diametroa @@ -5291,8 +5483,8 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Geometriaren kopia sinple bat sortzen du, erreferentzia gisa hautatutako azken puntua hartuz @@ -5511,64 +5703,64 @@ Krokisaren geometriak eta murrizketak analizatzen dira horretarako. Sketcher_MapSketch - + No sketch found Ez da krokisik aurkitu - + The document doesn't have a sketch Dokumentuak ez dauka krokis bat - + Select sketch Hautatu krokisa - + Select a sketch from the list Hautatu zerrendako krokis bat - + (incompatible with selection) (bateraezina hautapenarekin) - + (current) (unekoa) - + (suggested) (iradokia) - + Sketch attachment Krokis-eranskina - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Uneko eranste modua ez da bateragarria hautapen berriarekin. Hautatu krokis hau hautatutako objektuei eransteko erabiliko den metodoa. - + Select the method to attach this sketch to selected objects. Hautatu zein metodo erabiliko den krokis hau hautatutako objektuei eransteko. - + Map sketch Mapatu krokisa - + Can't map a sketch to support: %1 Ezin da mapatu euskarrirako krokis bat: @@ -5578,8 +5770,8 @@ Hautatu krokis hau hautatutako objektuei eransteko erabiliko den metodoa. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Geometria mugitzen du, hautatutako azken puntua erreferentzia gisa hartuta @@ -5587,12 +5779,12 @@ Hautatu krokis hau hautatutako objektuei eransteko erabiliko den metodoa. Sketcher_NewSketch - + Sketch attachment Krokis-eranskina - + Select the method to attach this sketch to selected object Hautatu zein metodo erabiliko den krokis hau hautatutako objektuari eransteko @@ -5600,12 +5792,12 @@ Hautatu krokis hau hautatutako objektuei eransteko erabiliko den metodoa. Sketcher_ReorientSketch - + Sketch has support Krokisak euskarria du - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Euskarri-aurpegi bat duen krokisen orientazioa ezin da aldatu. @@ -5614,11 +5806,6 @@ Euskarritik askatu nahi duzu? TaskSketcherMessages - - - Form - Inprimakia - DOF @@ -5637,11 +5824,6 @@ Euskarritik askatu nahi duzu? TaskSketcherSolverAdvanced - - - Form - Inprimakia - Default algorithm used for Sketch solving @@ -5914,7 +6096,7 @@ Eigen Sparse QR algoritmoa matrize sakabanatuetarako optimizatuta dago; normalea ViewProviderSketch - + and %1 more eta %1 gehiago @@ -6104,22 +6286,22 @@ Sareta-tartea aldatuko da pixel-zenbaki hau baino txikiagoa bihurtzen bada. GridSpaceAction - + Grid auto spacing Sareta-tarte automatikoa - + Resize grid automatically depending on zoom. Aldatu saretaren tamaina automatikoki, zoomaren arabera. - + Spacing Tartea - + Distance between two subsequent grid lines. Bi sareta-lerro jarraien arteko distantzia. @@ -6127,86 +6309,86 @@ Sareta-tartea aldatuko da pixel-zenbaki hau baino txikiagoa bihurtzen bada. Notifications - + The Sketch has malformed constraints! Krokisak gaizki eratutako murrizketak ditu! - + The Sketch has partially redundant constraints! Krokisak partzialki erredundanteak diren murrizketak ditu! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolak migratu dira. Migratutako fitxategiak ezin dira ireki FreeCADen aurreko bertsioetan. - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Errorea - + Failed to delete all geometry Huts egin du geometria osoa ezabatzeak - + Failed to delete all constraints Huts egin du murrizketa guztiak ezabatzeak - + The constraint has invalid index information and is malformed. Murrizketak indize-informazio baliogabea du eta gaizki eratuta dago. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Baliogabeko murrizketa @@ -6248,8 +6430,8 @@ Sareta-tartea aldatuko da pixel-zenbaki hau baino txikiagoa bihurtzen bada.Errorea B-spline poloa sortzean - + Error creating B-spline Errorea B-spline kurba gehitzean @@ -6346,9 +6528,9 @@ Sareta-tartea aldatuko da pixel-zenbaki hau baino txikiagoa bihurtzen bada.Huts egin du ertza muxarratzeak - - - + + + Value Error Balio-errorea @@ -6384,58 +6566,58 @@ Sareta-tartea aldatuko da pixel-zenbaki hau baino txikiagoa bihurtzen bada. SnapSpaceAction - + Snap to objects Atxiki objektuei - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Puntu berriak aurretik hautatutako objektuari atxikiko zaizkio. Lerroen eta arkuen erdiguneari ere atxikiko zaizkie. - + Snap to grid Atxiki saretari - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Puntu berriak sareta-lerro hurbilenari atxikiko zaizkio. Puntuak sareta-tartearen bosten bat baino hurbilago ezarri behar dira lerro batetik, atxikitzea gertatzeko. - + Snap angle Atxiki angeluari - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. 'Atxiki angeluari' (lerroa distantziarako) erabiltzen duten tresnetarako urrats angeluarra. Eutsi Ctrl sakatuta 'Atxiki angeluari'' gaitzeko. Angelua krokisaren X ardatz positiboan hasten da. RenderingOrderAction - - - - - Normal Geometry - Geometria normala - - Construction Geometry - Eraikuntza-geometria + Normal Geometry + Geometria normala + Construction Geometry + Eraikuntza-geometria + + + + + External Geometry Kanpo-geometria @@ -6456,12 +6638,12 @@ Puntuak sareta-tartearen bosten bat baino hurbilago ezarri behar dira lerro bate CmdSketcherGrid - + Toggle grid Txandakatu sareta - + Toggle the grid in the sketch. In the menu you can change grid settings. Aktibatu/desaktibatu krokiseko sareta. Menuan sareta-ezarpenak aldatu daitezke. @@ -6469,12 +6651,12 @@ Puntuak sareta-tartearen bosten bat baino hurbilago ezarri behar dira lerro bate CmdSketcherSnap - + Toggle snap Txandakatu atxikitzea - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Txandakatu atxikitze-funtzionaltasun guztiak. Menuan 'Atxiki saretari' eta 'Atxiki ojektuei' banaka txandakatu daitezke, eta beste atxikitze-ezarpen batzuk ere aldatu daitezke. @@ -6505,4 +6687,34 @@ Puntuak sareta-tartearen bosten bat baino hurbilago ezarri behar dira lerro bate Sortu B-spline periodiko bat adabegietatik abiatuz, alegia interpolazio bidez, krokisean. + + CmdSketcherDimension + + + Dimension + Kota + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fi.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fi.ts index a82eea00af..b54a2c9338 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fi.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fi.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Näytä/piilota B-splinien kaarevuuskampa - + Switches between showing and hiding the curvature comb for all B-splines Vaihtaa kaikkien B-splinien kaarevuuskamman näkyvyyden päälle tai pois @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Näytä/piilota B-splinien aste - + Switches between showing and hiding the degree for all B-splines Vaihtaa kaikkien B-splinien asteen näkyvyyden päälle tai pois @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Näytä/piilota B-splinien solmujen moninkertaisuusarvo - + Switches between showing and hiding the knot multiplicity for all B-splines Vaihtaa kaikkien B-splinien solmujen moninkertaisuusarvojen näkyvyyden päälle tai pois @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Näytä/piilota B-splinien painokertoimien arvot - + Switches between showing and hiding the control point weight for all B-splines Vaihtaa kaikkien B-splinien solmujen painokertoimien arvojen näkyvyyden päälle tai pois @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Näytä/piilota B-splinien ohjausmonikulmio - + Switches between showing and hiding the control polygons for all B-splines Vaihtaa kaikkien B-splinien hallintamonikulmion näkyvyyden päälle tai pois @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Kloonaa - + Creates a clone of the geometry taking as reference the last selected point Luo kloonin geometriasta käyttäen viimeistä valittua pistettä viittauksena @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Näytä/piilota B-splinien informaatiokerros - + Show/hide B-spline degree Näytä/piilota B-splinien aste - + Show/hide B-spline control polygon Näytä/piilota B-splinien ohjausmonikulmio - + Show/hide B-spline curvature comb Näytä/piilota B-splinien kaarevuuskampa - + Show/hide B-spline knot multiplicity Näytä/piilota B-splinien solmujen moninkertaisuusarvo - + Show/hide B-spline control point weight Näytä/piilota B-splinien painokertoimien arvot @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Rajoita ympyrän kaari - + Constrain an arc or a circle Rajoita ympyrän kaari - + Constrain radius Rajoita säde - + Constrain diameter Rajoita halkaisija - + Constrain auto radius/diameter Constrain auto radius/diameter @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Kloonaa - + Creates a clone of the geometry taking as reference the last selected point Luo kloonin geometriasta käyttäen viimeistä valittua pistettä viittauksena @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Muokkaa solmun moninkertaisuusarvoa - + Modifies the multiplicity of the selected knot of a B-spline Muuttaa B-splinin valitun solmun moninkertaisuusarvoa - + Increase knot multiplicity Lisää solmun moninkertaisuusarvoa - + Decrease knot multiplicity Pienennä solmun moninkertaisuusarvoa @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Rajoita kulma - + Fix the angle of a line or the angle between two lines Korjaa viivan kulmaa tai kahden viivan välistä kulma @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Rajoita esteellä - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Samanlaisuus rajoite - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Rajoita halkaisija - + Fix the diameter of a circle or an arc Kiinnitä ympyrän tai kaaren halkaisija @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Etäisyys rajoitus - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Vaakasuoran etäisyyden rajoite - + Fix the horizontal distance between two points or line ends Korjaa kahden pisteen tai viivanpään vaakasuoraa etäisyyttä @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Constrain vertical distance - + Fix the vertical distance between two points or line ends Korjaa kahden pisteen tai viivanpään pystysuoraa etäisyyttä @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Yhtäsuuruus rajoite - + Create an equality constraint between two lines or between circles and arcs Luo yhtäsuuruus rajoite kahdelle viivan tai ympyröiden ja kaarien väliin @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Vaakasuora rajoite - + Create a horizontal constraint on the selected item Luo vaakasuora rajoite valittujen osien välille @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Rajoite lukko - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Rajoita yhdensuuntaiseksi - + Create a parallel constraint between two lines Luo rinnakkaisuus rajoite kahden viivan välille @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Rajoita kohtisuorasti - + Create a perpendicular constraint between two lines Luo kohtisuora rajoitus kahden viivan väliin @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Rajoita piste objektiin - + Fix a point onto an object Korjaa piste objektin paalle @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Constrain auto radius/diameter - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Rajoita säde tai painokerroin - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Kiinnitä ympyrän tai kaaren säde, tai kiinnitä navan tai B-splinin painokerroin @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Rajoita taittuminen (Snellin laki) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,27 +600,27 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Rajoita symmetrisesti - + Create a symmetry constraint between two points with respect to a line or a third point - Luo symmetriarajoite kahden pisteen välille, + Luo symmetriarajoite kahden pisteen välille, käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherConstrainTangent - + Constrain tangent Rajoita tangentti - + Create a tangent constraint between two entities Luo tangenttirajoite kahden yksikön välillä @@ -628,12 +628,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherConstrainVertical - + Constrain vertically Rajoita pystysuuntaisesti - + Create a vertical constraint on the selected item Luo pystysuora rajoite valitulle kohteelle @@ -641,12 +641,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherConvertToNURBS - + Convert geometry to B-spline Muunna geometria B-spliniksi - + Converts the selected geometry to a B-spline Muuntaa valitun geometrian B-spliniksi @@ -654,12 +654,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherCopy - + Copy Kopio - + Creates a simple copy of the geometry taking as reference the last selected point Luo yksinkertaisen kopion geometriasta käyttäen viimeistä valittua pistettä viittauksena @@ -1018,12 +1018,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherDecreaseDegree - + Decrease B-spline degree Vähennä B-splinin astetta - + Decreases the degree of the B-spline Vähentää B-splinin astetta @@ -1031,12 +1031,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Pienennä solmun moninkertaisuusarvoa - + Decreases the multiplicity of the selected knot of a B-spline Vähentää B-splinin valitun solmun moninkertaisuusarvoa @@ -1044,12 +1044,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherDeleteAllConstraints - + Delete all constraints Poista kaikki rajoitteet - + Delete all constraints in the sketch Poistaa kaikki rajoitteet luonnoksesta @@ -1057,12 +1057,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherDeleteAllGeometry - + Delete all geometry Poista kaikki geometria - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Poista kaikki geometria ja rajoitteet nykyisestä luonnoksesta, lukuun ottamatta ulkoista geometriaa @@ -1070,12 +1070,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherEditSketch - + Edit sketch Muokkaa luonnosta - + Edit the selected sketch. Muokkaa valittua luonnosta. @@ -1109,12 +1109,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherIncreaseDegree - + Increase B-spline degree Lisää B-splinin astetta - + Increases the degree of the B-spline Kasvattaa B-splinin astetta @@ -1122,12 +1122,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Lisää solmun moninkertaisuusarvoa - + Increases the multiplicity of the selected knot of a B-spline Lisää B-splinin valitun solmun moninkertaisuusarvoa @@ -1135,12 +1135,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherInsertKnot - + Insert knot Insert knot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1148,12 +1148,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1161,12 +1161,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherLeaveSketch - + Leave sketch Poistu luonnoksesta - + Finish editing the active sketch. Lopeta aktiivisen luonnoksen muokkaaminen. @@ -1174,12 +1174,12 @@ käyttäen jakajana viivaa tai kolmatta pistettä CmdSketcherMapSketch - + Map sketch to face... Kartoita sketsi pinnalle... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1188,7 +1188,7 @@ Valitse ensin liitettävä tukigeometria, esimerkiksi pinta tai reuna kiinteäst sitten käytä tätä komentoa ja valitse haluamasi luonnos. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Jotkut valituista objekteista ovat riippuvaisia luonnoksesta jota liitetään. Riippuvuussilmukkoja ei voida sallia. @@ -1196,22 +1196,22 @@ sitten käytä tätä komentoa ja valitse haluamasi luonnos. CmdSketcherMergeSketches - + Merge sketches Yhdistä luonnokset - + Create a new sketch from merging two or more selected sketches. Luo uusi luonnos yhdistämällä valittuna olevat kaksi tai useampaa luonnosta. - + Wrong selection Väärä valinta - + Select at least two sketches. Valitse vähintään kaksi luonnosta. @@ -1219,12 +1219,12 @@ sitten käytä tätä komentoa ja valitse haluamasi luonnos. CmdSketcherMirrorSketch - + Mirror sketch Peilaa luonnos - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1233,12 +1233,12 @@ luonnoksesta käyttämällä peilausreferenssinä X- tai Y-akselia tai origoa. - + Wrong selection - Väärä valinta + Virheellinen valinta - + Select one or more sketches. Valitse yksi tai useampi luonnos. @@ -1246,12 +1246,12 @@ X- tai Y-akselia tai origoa. CmdSketcherMove - + Move Siirrä - + Moves the geometry taking as reference the last selected point Siirtää geometriaa käyttäen viimeistä valittua pistettä viittauksena @@ -1259,12 +1259,12 @@ X- tai Y-akselia tai origoa. CmdSketcherNewSketch - + Create sketch Luo luonnos - + Create a new sketch. Luo uusi luonnos. @@ -1272,12 +1272,12 @@ X- tai Y-akselia tai origoa. CmdSketcherRectangularArray - + Rectangular array Suorakaideruudukko - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Luo geometriasta suorakaideruudukon käyttäen viimeistä valittua pistettä referenssipisteenä @@ -1285,12 +1285,12 @@ X- tai Y-akselia tai origoa. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Remove axes alignment - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection @@ -1298,12 +1298,12 @@ X- tai Y-akselia tai origoa. CmdSketcherReorientSketch - + Reorient sketch... Suuntaa luonnos... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Aseta valittu luonnos yhdelle globaaleista koordinaattitasoista. @@ -1313,12 +1313,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Näytä/Piilota sisäinen geometria - + Show all internal geometry or hide unused internal geometry Näytä kaikki sisäinen geometria tai piilota käyttämätön sisäinen geometria @@ -1326,8 +1326,8 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Valitse ristiriitaiset rajoitteet @@ -1335,12 +1335,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectConstraints - + Select associated constraints Valitse liittyvät rajoitteet - + Select the constraints associated with the selected geometrical elements Valitse valittuihin geometrisiin elementteihin liittyvät rajoitteet @@ -1348,12 +1348,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Valitse liittyvä geometria - + Select the geometrical elements associated with the selected constraints Valitsee geometriset elementit, jotka liittyvät valittuihin rajoitteisiin @@ -1361,12 +1361,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Valitse vapaat geometriaelementit - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Valitse geometriset elementit, joissa ratkaisualgoritmi havaitsee yhä rajoittamattomia vapausasteita. @@ -1374,12 +1374,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Valitse vaaka-akseli - + Select the local horizontal axis of the sketch Valitse luonnoksen paikallinen vaakasuora akseli @@ -1387,8 +1387,8 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Valitse virheelliset rajoitteet @@ -1396,12 +1396,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectOrigin - + Select origin Valitse origo - + Select the local origin point of the sketch Valitse luonnoksen paikallinen origo @@ -1409,8 +1409,8 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Valitse osittain ylimääräiset rajoitteet @@ -1418,8 +1418,8 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Valitse tarpeettomat rajoitteet @@ -1427,12 +1427,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSelectVerticalAxis - + Select vertical axis Valitse pystyakseli - + Select the local vertical axis of the sketch Valitse luonnoksen paikallinen pystyakseli @@ -1453,12 +1453,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherStopOperation - + Stop operation Lopeta toiminto - + When in edit mode, stop the active operation (drawing, constraining, etc.). Jos muokkaustilassa, niin pysäytä aktiivinen toiminto (piirustus, rajoitus, jne.). @@ -1479,12 +1479,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherSymmetry - + Symmetry Symmetria - + Creates symmetric geometry with respect to the last selected line or point Peilaa geometriaa suhteessa viimeisenä valittuun viivaan tai pisteeseen @@ -1492,12 +1492,12 @@ Tämä tyhjentää 'Tukipiste'-ominaisuuden, jos sellainen on. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Aktivoi/deaktivoi rajoite - + Activates or deactivates the selected constraints Aktivoi tai deaktivoi valitut rajoitteet @@ -1519,15 +1519,15 @@ rakennetilan ja tavallisen geometrian välillä edestakaisin CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Vaihda rajoite määräävän/referenssin välillä - + Set the toolbar, or the selected constraints, into driving or reference mode - Vaihtaa työkalupalkin kuvakkeen, tai valitut rajoitteet, + Vaihtaa työkalupalkin kuvakkeen, tai valitut rajoitteet, määräävän ja referenssimoodin välillä edestakaisin @@ -1547,24 +1547,24 @@ määräävän ja referenssimoodin välillä edestakaisin CmdSketcherValidateSketch - + Validate sketch... Vahvista luonnos... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Tarkastaa luonnoksen tutkimalla rakoja liitoskohdista, virheellisiä rajoitteita, rappeutunutta geometriaa jne. - + Wrong selection Virheellinen valinta - + Select only one sketch. Valitse vain yksi luonnos. @@ -1572,12 +1572,12 @@ virheellisiä rajoitteita, rappeutunutta geometriaa jne. CmdSketcherViewSection - + View section Näytä osio - + When in edit mode, switch between section view and full view. Kun on muokkaus tilassa, vaihda osionäkymän ja koko näkymän välillä. @@ -1585,12 +1585,12 @@ virheellisiä rajoitteita, rappeutunutta geometriaa jne. CmdSketcherViewSketch - + View sketch Näytä luonnos - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Kun on muokkaus tilassa, aseta kameran suunta kohtisuoraan luonnoksen tasoon nähden. @@ -1598,287 +1598,404 @@ virheellisiä rajoitteita, rappeutunutta geometriaa jne. Command - - + + Add horizontal constraint Lisää vaakasuuntainen rajoite - - - + + + Add horizontal alignment Lisää vaakatasaus - - + + Add vertical constraint Lisää pystysuuntainen rajoite - + Add vertical alignment Lisää pystytasaus - + Add 'Lock' constraint Lisää 'Block' rajoitus - + Add relative 'Lock' constraint Lisää suhteellinen 'Lock' rajoite - + Add fixed constraint Lisää kiinteä rajoite - + Add 'Block' constraint Lisää 'Block' rajoitus - + Add block constraint Lisää lohkon rajoitus - - - + + + Add coincident constraint Lisää yhtenevyys-rajoite - - + + Add distance from horizontal axis constraint Lisää etäisyys vaaka-akselin rajoituksesta - - + + Add distance from vertical axis constraint Lisää etäisyys pystyakselin rajoituksesta - - + + Add point to point distance constraint Lisää pisteestä pisteeseen etäisyyden rajoite - - + + + Add point to line Distance constraint Lisää piste viivalle etäisyysrajoite - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint Lisää pituusrajoite - - + + + Dimension + Mitta + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Lisää piste-on-objektilla rajoite - - + + Add point to point horizontal distance constraint Lisää pisteestä pisteeseen vaakasuuntaisen etäisyyden rajoite - + Add fixed x-coordinate constraint Lisää kiinnitetyn x-koordinaatin rajoite - - + + Add point to point vertical distance constraint Lisää pisteestä pisteeseen pystysuuntaisen etäisyyden rajoite - + Add fixed y-coordinate constraint Lisää kiinnitetyn y-koordinaatin rajoite - - + + Add parallel constraint Lisää yhdensuuntaisuuden rajoite - - - - - - - + + + + + + + Add perpendicular constraint Lisää kohtisuora rajoite - + Add perpendicularity constraint Lisää kohtisuoruuden rajoite - + Swap coincident+tangency with ptp tangency Vaihda yhtenevyyden+tangentiaalisuuden ja pisteestä-pisteeseen tangentiaalisuuden välillä - + Swap PointOnObject+tangency with point to curve tangency Swap PointOnObject+tangency with point to curve tangency - - - - - - - + + + + + + + Add tangent constraint Lisää tangentiaalisuus-rajoite - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Lisää tangenttirajoitepiste - - - - + + + + Add radius constraint Lisää säteen rajoite - - - - + + + + Add diameter constraint Lisää halkaisijan rajoite - - - - + + + + Add radiam constraint Add radiam constraint - - - - - - + + + + + + Add angle constraint Lisää kulman rajoite - - + + Add equality constraint Lisää yhtäsuuruuden rajoite - - - - - + + + + + Add symmetric constraint Lisää symmetrisyyden rajoite - + Add Snell's law constraint Lisää Snellin lain rajoite - + Toggle constraint to driving/reference Vaihda rajoite määräävän/referenssin välillä - + Activate/Deactivate constraint Aktivoi/deaktivoi rajoite - + Create a new sketch on a face Luo uusi luonnos pintatasolle - + Create a new sketch Luo uusi luonnos - + Reorient sketch Uudelleensuuntaa luonnos - + Attach sketch Liitä luonnos - + Detach sketch Irrota luonnos - + Create a mirrored sketch for each selected sketch Luo peilattu luonnos jokaiselle valitulle luonnokselle - + Merge sketches Yhdistä luonnokset @@ -1996,72 +2113,72 @@ virheellisiä rajoitteita, rappeutunutta geometriaa jne. Lisää kuusikulmio - + Convert to NURBS Muunna NURBS-käyräksi - + Increase spline degree Lisää B-splinin astetta - + Decrease spline degree Vähennä B-splinin astetta - + Increase knot multiplicity Lisää solmun moninkertaisuusarvoa - + Decrease knot multiplicity Pienennä solmun moninkertaisuusarvoa - + Insert knot Insert knot - + Join Curves Join Curves - + Exposing Internal Geometry Sisäisen Geometrian näyttäminen - + Create symmetric geometry Luo symmetrinen geometria - + Copy/clone/move geometry Kopioi/kloonaa/siirrä geometriaa - + Create copy of geometry Tee kopio geometriasta - + Delete all geometry Poista kaikki geometria - + Delete All Constraints Poista kaikki rajoitteet - + Remove Axes Alignment Remove Axes Alignment @@ -2072,44 +2189,44 @@ virheellisiä rajoitteita, rappeutunutta geometriaa jne. - - - + + + Update constraint's virtual space Päivitä rajoituksen virtuaalinen tila - + Add auto constraints Lisää automaattisesti rajoitteita - + Swap constraint names Vaihda keskenään rajoitteiden nimiä - + Rename sketch constraint Nimeä rajoite uudelleen - + Drag Point Raahaa pistettä - + Drag Curve Raahaa käyrää - + Drag Constraint Raahaa rajoitetta - + Modify sketch constraints Muokkaa luonnoksen rajoitteita @@ -2170,59 +2287,59 @@ virheellisiä rajoitteita, rappeutunutta geometriaa jne. Automaattinen rajoitusvirhe: Ratkaisematon luonnos kun käytetään yhdenmukaisia rajoitteita. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Ei kyetty arvaamaan reunojen risteämispistettä. Kokeile lisätä yhtenevyysrajoite pyöristettävien reunojen kärkipisteiden välille. - - + + BSpline Geometry Index (GeoID) is out of bounds. B-splinin geometria-indeksi (GeoID) on sallittujen rajojen ulkopuolella. - + You are requesting no change in knot multiplicity. Solmun moninkertaisuusarvoon ei pyydetty muutosta. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Annettu geometria-indeksi (GeoID) ei vastaa B-splini-käyrää. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Solmun indeksi on rajojen ulkopuolella. Huomaa, että OCC: n notaation mukaisesti ensimmäisellä solmulla on indeksi 1 eikä nolla. - + The multiplicity cannot be increased beyond the degree of the B-spline. Monimuotoisuusarvoa ei voi kasvattaa B-splinin astetta suuremmaksi. - + The multiplicity cannot be decreased beyond zero. Moninkertaisuusarvoa ei voi pienentää negatiiviseksi. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC ei pysty pienentämään moninkertaisuusarvoa pysyäkseen suurimmassa sallitussa toleranssissa. - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2238,210 +2355,213 @@ virheellisiä rajoitteita, rappeutunutta geometriaa jne. QObject - - - - + + + + Sketcher Luonnostelija - + There are no modes that accept the selected set of subelements Ei ole olemassa moodia joka hyväksyisi valitun alielementtijoukon - + Broken link to support subelements Rikkinäinen linkki tukemaan alielementtejä - - + + Unexpected error Odottamaton virhe - + Face is non-planar Pinta ei ole tasomainen - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Valitut muodot ovat väärän muotoisia (esim. kaareva reuna, jossa tarvitaan suora) - + Sketch mapping Luonnoksen liittäminen - + Can't map the sketch to selected object. %1. Ei voida liittää luonnosta valittuun kohteeseen. %1. - - + + Don't attach Älä liitä + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Virheellinen valinta @@ -2452,339 +2572,339 @@ virheellisiä rajoitteita, rappeutunutta geometriaa jne. Valitse reuna(t) sketsistä. - + Not allowed to edit the datum because the sketch contains conflicting constraints Tietoja ei voi muokata, koska sketsi sisältää ristiriitaisia rajoitteita - + Dimensional constraint Mittarajoite - + Cannot add a constraint between two external geometries. Ei voi lisätä rajoitusta kahden ulkoisen geometrian välillä. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Sketcher Constraint Substitution - + Keep notifying me of constraint substitutions Keep notifying me of constraint substitutions - - - + + + Only sketch and its support are allowed to be selected. Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. One of the selected has to be on the sketch. - - + + Select an edge from the sketch. Valitse luonnoksen reuna. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Mahdoton rajoite - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint Kaksinkertainen rajoite - - - - - + + + + + The selected edge already has a horizontal constraint! Valitulla reunalla on jo vaakasuuntainen rajoite! - - - + + + The selected edge already has a vertical constraint! Valitulla reunalla on jo pystysuuntainen rajoite! - - - - - - + + + + + + The selected edge already has a Block constraint! Valitulla reunalla on jo lohkon rajoitus! - + The selected item(s) can't accept a horizontal constraint! Valitut kohteet eivät voi hyväksyä vaakasuoraa rajoitetta! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Valittuja pisteitä on enemmän kuin yksi. Valitse enintään yksi kiinteä piste! - + The selected item(s) can't accept a vertical constraint! Valitut kohteet eivät voi hyväksyä pystysuoraa rajoitetta! - - - + + + Select vertices from the sketch. Valitse kärkipisteet luonnoksesta. - + Select one vertex from the sketch other than the origin. Valitse luonnoksesta yksi muu piste kuin origo. - + Select only vertices from the sketch. The last selected vertex may be the origin. Valitse kärkipisteitä vain luonnoksesta. Viimeksi valittu piste saattaa olla origo. - + Wrong solver status Väärä ratkaisualgoritmin tila - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Lohkon rajoitusta ei voida lisätä, jos luonnos on ratkaisematon tai on olemassa tarpeettomia ja ristiriitaisia rajoituksia. - + Select one edge from the sketch. Valitse yksi reuna luonnoksesta. - + Select only edges from the sketch. Valitse vain reunoja luonnoksesta. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error Virhe - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. Valitun sijasta käytettiin tangentiaalisuutta päätepisteestä päätepisteeseen. - + Select two or more points from the sketch. Valitse kaksi tai useampia pisteitä luonnoksesta. - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Valitse täsmälleen yksi viiva tai yksi piste ja yksi viiva tai kaksi pistettä sketsistä. - + Cannot add a length constraint on an axis! Akselille ei voida lisätä pituusrajoitetta! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. Valitse oikeat asiat luonnoksesta. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Yksikään valituista pisteistä ei rajoittunut vastaaviin käyriin, joko koska ne ovat saman elementin osia, tai koska ne ovat molemmat ulkoisia geometrioita, tai reuna ei ole tukikelpoinen. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Yksikään valituista pisteistä ei rajoittunut vastaaviin käyriin, joko koska ne ovat saman elementin osia, tai koska ne ovat molemmat ulkoisia geometrioita. - - - - + + + + Select exactly one line or up to two points from the sketch. Valitse täsmälleen yksi viiva tai enintään kaksi pistettä sketsistä. - + Cannot add a horizontal length constraint on an axis! Akselille ei voida lisätä vaakasuoraa pituusrajoitetta! - + Cannot add a fixed x-coordinate constraint on the origin point! Alkupisteeseen ei voi lisätä kiinteää x-koordinaattirajoitetta! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! Akselille ei voida lisätä vaakapituusrajoitetta! - + Cannot add a fixed y-coordinate constraint on the origin point! Alkupisteeseen ei voi lisätä kiinteää y-koordinaattirajoitetta! - + Select two or more lines from the sketch. Valitse kaksi tai useampi viiva sketsistä. - - + + Select at least two lines from the sketch. Valitse vähintään kaksi viivaa sketsistä. - + Select a valid line. Select a valid line. - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2794,42 +2914,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Hyväksytyt yhdistelmät: kaksi käyrää; päätepiste ja käyrä; kaksi päätepistettä; kaksi käyrää ja piste. - + Select some geometry from the sketch. perpendicular constraint Valitse jokin geometria luonnoksesta. - - + + Cannot add a perpendicularity constraint at an unconnected point! Yhdistämättömille pisteille ei voida lisätä samansuuntausuusrajoitetta! - - - + + + Perpendicular to B-spline edge currently unsupported. Ohjelma ei tällä hetkellä vielä tue kohtisuoruutta B-splinin reunan kanssa. - - + + One of the selected edges should be a line. Yhden valituista reunoista pitäisi olla viiva. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Luotu päästä päähän -tangentti. Sattumarajoitus on poistettu. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2839,179 +2959,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Hyväksytyt yhdistelmät: kaksi käyrää; päätepiste ja käyrä; kaksi päätepistettä; kaksi käyrää ja piste. - + Select some geometry from the sketch. tangent constraint Valitse jokin geometria luonnoksesta. - - - + + + Cannot add a tangency constraint at an unconnected point! Yhdistämättömään pisteeseen ei voi lisätä samansuuntaisuusrajoitetta! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! Väärä lukumäärä valittuja kohteita! - - + + With 3 objects, there must be 2 curves and 1 point. 3 kohteella on oltava 2 käyrää ja 1 piste. - - - + + + Tangency to B-spline edge currently unsupported. Ohjelma ei tällä hetkellä vielä tue tangentiaalisuutta B-splinin reunan kanssa. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Valitse yksi tai userampia kaaria tai ympyröitä luonnoksesta. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Valitse luonnoksesta yksi tai useampi B-Splinien napa, tai yksi tai useampi kaari tai ympyrä, mutta ei molempien ryhmien sekamuotoa. - - - + + + Constraint only applies to arcs or circles. Rajoite sopii vain kaarille tai ympyröille. - - + + Select one or two lines from the sketch. Or select two edges and a point. Valitse yksi tai useampi viiva luonnoksesta. Tai valitse kaksi reunaa ja piste. - - + + Parallel lines Samansuuntaiset viivat - - + + An angle constraint cannot be set for two parallel lines. Kulma-rajoitusta ei voi määrittää kahdelle samansuuntaiselle viivalle. - + Cannot add an angle constraint on an axis! Akseliin ei voi lisätä kulmarajoitetta! - + Select two edges from the sketch. Valitse kaksi reunaa sketsistä. - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. Sketch axes cannot be used in equality constraints. - + Equality for B-spline edge currently unsupported. Ohjelma ei tällä hetkellä vielä tue yhtäsuuruutta B-splinin reunan kanssa. - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Valitse kaksi pistettä ja symmetria linja, kaksi pistettä ja symmetria kohta, tai linja ja symmetriakohta luonnoksesta. - - + + Cannot add a symmetry constraint between a line and its end points. Ei voida lisätä symmetristä rajoitusta viivan ja sen päätepisteiden väliin. - - + + + + Cannot add a symmetry constraint between a line and its end points! Viivan ja sen päätepisteiden välille ei voi lisätä symmetriarajoitetta! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Valitse kaksi viivojen päätepistettä säteinä toimimaan sekä reuna kuvaamaan rajaa. Ensimmäinen valittu piste vastaa indeksiä n1, toinen - n2 ja viitearvo määrittää suhteen n2/n1. - + Selected objects are not just geometry from one sketch. Valitut kohteet eivät ole vain yhden luonnoksen geometriaa. - + Cannot create constraint with external geometry only. Rajoitetta ei voi luoda vain ulkoista geometriaa käyttämällä. - + Incompatible geometry is selected. Valittuna on epäyhteensopivaa geometriaa. - + SnellsLaw on B-spline edge is currently unsupported. Ohjelma ei tällä hetkellä vielä tue Snellin lakia B-splinin reunan kanssa. - - - - - + + + + + Select constraints from the sketch. Valitse rajoitteet luonnoksesta. @@ -3033,155 +3156,155 @@ Hyväksytyt yhdistelmät: kaksi käyrää; päätepiste ja käyrä; kaksi päät Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error CAD-ytimen virhe - + None of the selected elements is an edge. Mikään valituista elementeistä ei ole reuna. - - + + At least one of the selected objects was not a B-Spline and was ignored. Vähintään yksi valituista objekteista ei ollut B-splini ja jätettiin huomiotta. - - + + The selection comprises more than one item. Please select just one knot. Valinnassa on useampi kuin yksi kohde. Valitse vain yksi solmu. - - + + Input Error Virhe syötetyissä tiedoissa - - + + None of the selected elements is a knot of a B-spline Mikään valituista elementeistä ei ole B-splinin solmu - - + + Selection is empty Valinta on tyhjä - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Valitse osat yhdestä luonnkoksesta. - + No constraint selected Ei rajoitetta valittuna - + At least one constraint must be selected Vähintään yksi rajoite on valittava - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Symmetrinen rakenne edellyttää vähintään kahta geometristä elementtiä, joista viimeinen geometrinen elementti on symmetrisen rakenteen viite. - + The last element must be a point or a line serving as reference for the symmetry construction. Viimeisen elementin on oltava symmetrisen rakenteen vertailukohtana käytettävä piste tai linja. - - + + A copy requires at least one selected non-external geometric element Kopio vaatii vähintään yhden valitun ei-ulkoisen geometrisen elementin - + Delete All Geometry Poista kaikki geometria - + Are you really sure you want to delete all geometry and constraints? Oletko varma, että haluat poistaa kaiken geometrian ja rajoitteet? - + Delete All Constraints Poista kaikki rajoitteet - + Are you really sure you want to delete all the constraints? Oletko varma, että haluat poistaa kaikki rajoitteet? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3380,67 +3503,67 @@ Hyväksytyt yhdistelmät: kaksi käyrää; päätepiste ja käyrä; kaksi päät SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value Muuta arvoa - + Toggle to/from reference Vaihda viittaukseen/viittauksesta - + Deactivate Deaktivoi - + Activate Aktivoi - + Show constraints Näytä rajoitteet - + Hide constraints Piilota rajoitteet - + Rename Nimeä uudelleen - + Center sketch Keskitä luonnos - + Delete Poista - + Swap constraint names Vaihda keskenään rajoitteiden nimiä - + Unnamed constraint Nimetön rajoite - + Only the names of named constraints can be swapped. Vain nimettyjen rajoitteiden nimet voidaan vaihtaa keskenään. @@ -3448,74 +3571,74 @@ Hyväksytyt yhdistelmät: kaksi käyrää; päätepiste ja käyrä; kaksi päät SketcherGui::EditDatumDialog - + Insert angle Aseta kulma - + Angle: Kulma: - + Insert radius Aseta säde - + Radius: Säde: - + Insert diameter Syötä halkaisija - + Diameter: Halkaisija: - + Insert weight Syötä painokerroin - + Weight: Painokerroin: - + Refractive index ratio Constraint_SnellsLaw Taitekerroin suhdeluku - + Ratio n2/n1: Constraint_SnellsLaw Suhde n2/n1: - + Insert length Aseta pituus - + Length: Pituus: - + Refractive index ratio Taitekerroin suhdeluku - + Ratio n2/n1: Suhde n2/n1: @@ -3523,72 +3646,72 @@ Hyväksytyt yhdistelmät: kaksi käyrää; päätepiste ja käyrä; kaksi päät SketcherGui::ElementFilterList - + Normal Normaali - + Construction Rakenne - + Internal Internal - + External Ulkoinen - + All types Kaikki tyypit - + Point Piste - + Line Viiva - + Circle Ympyrä - + Ellipse Ellipsi - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3596,142 +3719,142 @@ Hyväksytyt yhdistelmät: kaksi käyrää; päätepiste ja käyrä; kaksi päät SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Point on Object - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Symmetrinen - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance Horizontal Distance - + Vertical Distance Vertical Distance - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Vaihda rakennegeometriatilaa - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Taso - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Piilotettu - + Delete Poista @@ -4017,6 +4140,75 @@ Vaatii syöttämään uudelleen muokkaustilan tullakseen voimaan. Notify automatic constraint substitutions Ilmoita automaattisesta rajoituksen korvaamisesta + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Molemmat + + + + Auto + Automaattinen + + + + Diameter + Halkaisija + + + + Radius + Säde + SketcherGui::SketcherSettingsColors @@ -4462,12 +4654,12 @@ Then objects are only visible behind the sketch plane. Apply to existing sketches - + Unexpected C++ exception Odottamaton C++-poikkeus - + Sketcher Luonnostelija @@ -4640,48 +4832,48 @@ Kuitenkaan ei ole löytynyt rajoitteita, jotka liittyisivät päätepisteisiin.< Asetukset - + Constraints Rajoitteet - + Auto constraints Automaattiset rajoitteet - + Auto remove redundants Poista tarpeettomat automaattisesti - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error Virhe - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4713,6 +4905,33 @@ Kuitenkaan ei ole löytynyt rajoitteita, jotka liittyisivät päätepisteisiin.< Settings Asetukset + + + + + + + + + + + + Construction + Rakenne + + + + Elements + Osat + + + + + + + Point + Piste + @@ -4724,110 +4943,83 @@ Kuitenkaan ei ole löytynyt rajoitteita, jotka liittyisivät päätepisteisiin.< - Construction - Rakenne - - - - Elements - Osat - - - - - - - Point - Piste - - - - - - - - - - - - Internal Internal - - + + + - Line Viiva - - + + + - Arc Kaari - - + + + - Circle Ympyrä - - + + + - Ellipse Ellipsi - - + + + - Elliptical Arc Elliptinen kaari - - + + + - Hyperbolic Arc Hyperbolinen Kaari - - + + + - Parabolic Arc Parabolinen Kaari - - + + + - BSpline BSpline - - + + + - Other Muu - + Extended information Extended information @@ -4835,42 +5027,42 @@ Kuitenkaan ei ole löytynyt rajoitteita, jotka liittyisivät päätepisteisiin.< SketcherGui::TaskSketcherMessages - + Solver messages Ratkaisimen viestit - + Auto update Automaattinen päivitys - + Executes a recomputation of active document after every sketch action Suorittaa aktiivisen asiakirjan uudelleenlaskennan jokaisen luonnostapahtuman jälkeen - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5048,112 +5240,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Muokkaa luonnosta - + A dialog is already open in the task panel Valintaikkuna on jo avoinna tehtäväpaneelissa - + Do you want to close this dialog? Haluatko sulkea tämän valintaikkunan? - + Invalid sketch Virheellinen luonnos - + Do you want to open the sketch validation tool? Haluatko avata luonnoksen validointityökalun? - + The sketch is invalid and cannot be edited. Luonnos on virheellinen eikä sitä voi muokata. - + Please remove the following constraint: Poista seuraava rajoite: - + Please remove at least one of the following constraints: Poista ainakin yksi seuraavista rajoitteista: - + Please remove the following redundant constraint: Poista seuraava turha rajoite: - + Please remove the following redundant constraints: Poista seuraavat turhat rajoitteet: - + The following constraint is partially redundant: Seuraava rajoite on osittain tarpeeton: - + The following constraints are partially redundant: Seuraavat rajoitteet ovat osittain tarpeettomia: - + Please remove the following malformed constraint: Poista seuraava virheellinen rajoite: - + Please remove the following malformed constraints: Poista seuraavat virheelliset rajoitteet: - + Empty sketch Tyhjä luonnos - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Redundant constraints: - + Partially redundant: Partially redundant: - + Solver failed to converge Solver failed to converge - + Under constrained: Under constrained: - + %n DoF(s) %n DoF(s) @@ -5161,7 +5353,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Fully constrained @@ -5169,8 +5361,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Vaihtaa kaikkien B-splinien kaarevuuskamman näkyvyyden päälle tai pois @@ -5178,8 +5370,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Vähentää B-splinin valitun solmun moninkertaisuusarvoa @@ -5187,8 +5379,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Vaihtaa kaikkien B-splinien asteen näkyvyyden päälle tai pois @@ -5196,8 +5388,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Lisää B-splinin valitun solmun moninkertaisuusarvoa @@ -5205,8 +5397,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Vaihtaa kaikkien B-splinien solmujen moninkertaisuusarvojen näkyvyyden päälle tai pois @@ -5214,8 +5406,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Vaihtaa kaikkien B-splinien solmujen painokertoimien arvojen näkyvyyden päälle tai pois @@ -5223,8 +5415,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Vaihtaa kaikkien B-splinien hallintamonikulmion näkyvyyden päälle tai pois @@ -5232,8 +5424,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Luo kloonin geometriasta käyttäen viimeistä valittua pistettä viittauksena @@ -5241,17 +5433,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Kloonaa - + Copy Kopio - + Move Siirrä @@ -5259,8 +5451,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Kiinnitä ympyrän tai kaaren halkaisija @@ -5268,7 +5460,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5276,8 +5468,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Korjaa ympyrän tai kaaren sädettä @@ -5285,7 +5477,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5293,8 +5485,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Luo yksinkertaisen kopion geometriasta käyttäen viimeistä valittua pistettä viittauksena @@ -5513,64 +5705,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Luonnoksia ei löytynyt - + The document doesn't have a sketch Asiakirjassa ei ole luonnosta - + Select sketch Valitse luonnos - + Select a sketch from the list Valitse luonnos luettelosta - + (incompatible with selection) (epäyhteensopiva valinnan kanssa) - + (current) (nykyinen) - + (suggested) (ehdotettu) - + Sketch attachment Luonnoksen liitos - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Luonnoksen liitosmoodi ei ole yhteensopiva uuden valinnan kanssa. Valitse uusi tapa liittää tämä luonnos valittuihin objekteihin. - + Select the method to attach this sketch to selected objects. Valitse menetelmä, jolla tämä luonnos liitetään valittuihin objekteihin. - + Map sketch Kartan luonnos - + Can't map a sketch to support: %1 Tuettavaa luonnosta ei voida kuvata: @@ -5580,8 +5772,8 @@ Valitse uusi tapa liittää tämä luonnos valittuihin objekteihin. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Siirtää geometriaa käyttäen viimeistä valittua pistettä viittauksena @@ -5589,12 +5781,12 @@ Valitse uusi tapa liittää tämä luonnos valittuihin objekteihin. Sketcher_NewSketch - + Sketch attachment Luonnoksen liitos - + Select the method to attach this sketch to selected object Valitse menetelmä, jolla tämä luonnos liitetään valittuun objektiin @@ -5602,12 +5794,12 @@ Valitse uusi tapa liittää tämä luonnos valittuihin objekteihin. Sketcher_ReorientSketch - + Sketch has support Luonnoksella on tuki - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Luonnos, jolla on tukinäkymä, ei voida suunnata uudelleen. @@ -5616,11 +5808,6 @@ Haluatko irrottaa sen näkymän tuesta? TaskSketcherMessages - - - Form - Lomake - DOF @@ -5639,11 +5826,6 @@ Haluatko irrottaa sen näkymän tuesta? TaskSketcherSolverAdvanced - - - Form - Lomake - Default algorithm used for Sketch solving @@ -5916,7 +6098,7 @@ Eigen-Sparse-QR -algoritmi on optimoitu matriiseille jotka ovat harvoja; yleens ViewProviderSketch - + and %1 more and %1 more @@ -6106,22 +6288,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6129,87 +6311,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Virhe - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6251,8 +6433,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Virhe luotaessa B-splinin napaa - + Error creating B-spline Virhe luotaessa B-spliniä @@ -6349,9 +6531,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error Value Error @@ -6387,58 +6569,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Kiinnitä ruudukkoon - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - Rakennegeometria + Normal Geometry + Normal Geometry + Construction Geometry + Rakennegeometria + + + + + External Geometry External Geometry @@ -6459,12 +6641,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6472,12 +6654,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6508,4 +6690,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Mitta + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fr.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fr.ts index 3d4d11c4f9..e39b04992d 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fr.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_fr.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Afficher/masquer le peigne de courbure de la B-spline - + Switches between showing and hiding the curvature comb for all B-splines Bascule entre afficher et masquer le peigne de courbure pour toutes les B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Afficher/masquer le degré de la B-spline - + Switches between showing and hiding the degree for all B-splines Bascule entre afficher et masquer le degré pour tous les B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Afficher/masquer la multiplicité du nœud de la B-spline - + Switches between showing and hiding the knot multiplicity for all B-splines Basculer entre afficher et masquer la multiplicité de nœuds pour toutes les B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Afficher/masquer le poids du point de contrôle de la B-spline - + Switches between showing and hiding the control point weight for all B-splines Bascule entre afficher et masquer le poids du point de contrôle pour toutes les B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Afficher/masquer le polygone de contrôle de la B-spline - + Switches between showing and hiding the control polygons for all B-splines Bascule entre afficher et masquer les polygones de contrôle pour toutes les B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Cloner - + Creates a clone of the geometry taking as reference the last selected point Créer un clone de la géométrie en prenant comme référence le dernier point sélectionné @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Afficher/masquer le calque d’information de la B-spline - + Show/hide B-spline degree Afficher/masquer le degré de la B-spline - + Show/hide B-spline control polygon Afficher/masquer le polygone de contrôle de la B-spline - + Show/hide B-spline curvature comb Afficher/masquer le peigne de courbure de la B-spline - + Show/hide B-spline knot multiplicity Afficher/masquer la multiplicité du nœud de la B-spline - + Show/hide B-spline control point weight Afficher/masquer le poids du point de contrôle de la B-spline @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Contrainte d'arc ou de cercle - + Constrain an arc or a circle Contraindre un arc ou un cercle - + Constrain radius Contrainte de rayon - + Constrain diameter Contrainte de diamètre - + Constrain auto radius/diameter Contrainte automatique rayon/diamètre @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Cloner - + Creates a clone of the geometry taking as reference the last selected point Créer un clone de la géométrie en prenant comme référence le dernier point sélectionné @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modifier la multiplicité de nœud - + Modifies the multiplicity of the selected knot of a B-spline Modifie la multiplicité du nœud sélectionné d’une B-spline - + Increase knot multiplicity Augmenter la multiplicité de nœud - + Decrease knot multiplicity Diminuer la multiplicité de nœud @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Contrainte angulaire - + Fix the angle of a line or the angle between two lines Fixer l'angle d'une ligne ou l'angle entre deux lignes @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Contrainte de blocage - + Block the selected edge from moving Bloquer le déplacement de l'arête sélectionnée @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Contrainte coïncidente - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Créer une contrainte de coïncidence entre les points, ou une contrainte concentrique entre les cercles, les arcs et les ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Contrainte de diamètre - + Fix the diameter of a circle or an arc Fixer le diamètre d'un cercle ou d'un arc @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Contrainte dimensionnelle - + Fix a length of a line or the distance between a line and a vertex or between two circles Fixer la longueur d'une ligne ou la distance entre une ligne et un sommet ou entre deux cercles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Contrainte de distance horizontale - + Fix the horizontal distance between two points or line ends Fixer la distance horizontale entre deux points ou extrémités de ligne @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Contrainte de distance verticale - + Fix the vertical distance between two points or line ends Fixer la distance verticale entre deux points ou extrémités de ligne @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Contrainte d'égalité - + Create an equality constraint between two lines or between circles and arcs Créer une contrainte d'égalité entre deux lignes ou entre des cercles et/ou des arcs @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Contrainte horizontale - + Create a horizontal constraint on the selected item Créer une contrainte horizontale sur l'élément sélectionné @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Contrainte fixe - + Create both a horizontal and a vertical distance constraint on the selected vertex Créer deux contraintes de distance (horizontale et verticale) sur le sommet sélectionné @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Contrainte parallèle - + Create a parallel constraint between two lines Créer une contrainte parallèle entre deux lignes @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Contrainte perpendiculaire - + Create a perpendicular constraint between two lines Créer une contrainte de perpendicularité entre deux lignes @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Contrainte point sur objet - + Fix a point onto an object Fixer un point sur un objet @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Contrainte automatique rayon/diamètre - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fixer le diamètre si l'on choisit un cercle ou le rayon si l'on choisit un arc ou un pôle de spline @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Contrainte de rayon ou de poids - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Fixe le rayon d’un cercle ou d’un arc ou fixe le poids d’un pôle d’une B-Spline @@ -584,12 +584,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Contrainte de réfraction (loi de Snell) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Crée une contrainte de réfraction (loi de Snell) entre deux extrémités de lignes et une arête en tant qu'interface. @@ -598,12 +598,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Contrainte symétrique - + Create a symmetry constraint between two points with respect to a line or a third point Crée une contrainte de symétrie entre deux points par rapport à une ligne ou un point @@ -612,12 +612,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Contrainte tangente - + Create a tangent constraint between two entities Créer une contrainte tangente entre deux entités @@ -625,12 +625,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Contrainte verticale - + Create a vertical constraint on the selected item Créer une contrainte verticale sur l'élément sélectionné @@ -638,12 +638,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convertir la géométrie en B-spline - + Converts the selected geometry to a B-spline Convertit la géométrie sélectionnée en B-spline @@ -651,12 +651,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy - Copie + Copier - + Creates a simple copy of the geometry taking as reference the last selected point Créer une copie simple de la géométrie en prenant comme référence le dernier point sélectionné @@ -931,7 +931,7 @@ with respect to a line or a third point Create a polyline in the sketch. 'M' Key cycles behaviour - Créer une polyligne dans l'esquisse. La touche 'M' bascule entre les modes disponibles + Créer une polyligne dans l'esquisse. La touche "M" fait basculer entre les modes disponibles. @@ -1015,12 +1015,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Diminuer le degré de la B-spline - + Decreases the degree of the B-spline Diminue le degré de la B-spline @@ -1028,12 +1028,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Diminuer la multiplicité de nœud - + Decreases the multiplicity of the selected knot of a B-spline Diminue la multiplicité du nœud sélectionné d’une B-spline @@ -1041,12 +1041,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Supprimer toutes les contraintes - + Delete all constraints in the sketch Supprimer toutes les contraintes de l'esquisse @@ -1054,12 +1054,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Supprimer tous les éléments de géométrie - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Supprimer toute la géométrie et toutes les contraintes de l'esquisse actuelle, à l'exception de la géométrie externe @@ -1067,12 +1067,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Modifier l'esquisse - + Edit the selected sketch. Modifier l'esquisse sélectionnée. @@ -1106,12 +1106,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Augmenter le degré de la B-spline - + Increases the degree of the B-spline Augmenter le degré de la B-spline @@ -1119,12 +1119,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Augmenter la multiplicité de nœud - + Increases the multiplicity of the selected knot of a B-spline Augmente la multiplicité du nœud sélectionné d’une B-spline @@ -1132,12 +1132,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Insérer un noeud - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Insérer un noeud au paramètre donné. Si un noeud existe déjà à ce paramètre, sa multiplicité est augmentée de un. @@ -1145,12 +1145,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Joindre des courbes - + Join two curves at selected end points Joindre deux courbes par les extrémités sélectionnées @@ -1158,12 +1158,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Quitter l'esquisse - + Finish editing the active sketch. Sortir de l'esquisse. @@ -1171,12 +1171,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Appliquer une esquisse sur une face... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1185,7 +1185,7 @@ Sélectionner d'abord la géométrie de support, par exemple, une face ou une ar puis lancer cette commande et enfin choisir l'esquisse souhaitée. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Certains des objets sélectionnés dépendent de l’esquisse à plaquer. Les dépendances circulaires ne sont pas autorisées . @@ -1193,22 +1193,22 @@ puis lancer cette commande et enfin choisir l'esquisse souhaitée. CmdSketcherMergeSketches - + Merge sketches Fusionner les esquisses - + Create a new sketch from merging two or more selected sketches. Créer une nouvelle esquisse en fusionnant deux ou plusieurs esquisses sélectionnées. - + Wrong selection Mauvaise sélection - + Select at least two sketches. Sélectionner au moins deux esquisses. @@ -1216,24 +1216,24 @@ puis lancer cette commande et enfin choisir l'esquisse souhaitée. CmdSketcherMirrorSketch - + Mirror sketch Esquisse miroir - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. Créer une nouvelle esquisse en miroir pour chaque esquisse sélectionnée en utilisant les axes X ou Y, ou le point d'origine, comme référence de symétrie. - + Wrong selection - Mauvaise sélection + Sélection incorrecte - + Select one or more sketches. Sélectionner une ou plusieurs esquisses. @@ -1241,12 +1241,12 @@ as mirroring reference. CmdSketcherMove - + Move Déplacer - + Moves the geometry taking as reference the last selected point Déplace la géométrie en prenant comme référence le dernier point sélectionné @@ -1254,12 +1254,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Créer une esquisse - + Create a new sketch. Créer une nouvelle esquisse. @@ -1267,12 +1267,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Réseau rectangulaire - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Créer un réseau rectangulaire de la géométrie en prenant comme référence le dernier point sélectionné @@ -1280,12 +1280,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Supprimer l'alignement des axes - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifier les contraintes pour supprimer l'alignement des axes en essayant de préserver la relation de contrainte de la sélection @@ -1293,12 +1293,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Réorienter l'esquisse... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Place l'esquisse sélectionnée sur l'un des plans d'origine. @@ -1308,12 +1308,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Afficher/masquer la géométrie interne - + Show all internal geometry or hide unused internal geometry Afficher toute la géométrie interne ou masquer la géométrie interne inutilisée @@ -1321,8 +1321,8 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Sélectionne les contraintes en conflit @@ -1330,12 +1330,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectConstraints - + Select associated constraints Sélectionne les contraintes associées - + Select the constraints associated with the selected geometrical elements Sélectionne les contraintes associées aux éléments géométriques sélectionnés @@ -1343,12 +1343,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Sélectionne la géométrie associée - + Select the geometrical elements associated with the selected constraints Sélectionne les éléments géométriques associés aux contraintes sélectionnées @@ -1356,12 +1356,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Sélectionner les degrés de liberté non contraints - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Sélectionne des éléments géométriques pour lesquels le solveur détecte encore des degrés de liberté non contraints. @@ -1369,12 +1369,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Sélectionne l'axe horizontal - + Select the local horizontal axis of the sketch Sélectionne l'axe horizontal local de l'esquisse @@ -1382,8 +1382,8 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Sélectionne les contraintes malformées @@ -1391,12 +1391,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectOrigin - + Select origin Sélectionne l'origine - + Select the local origin point of the sketch Sélectionne le point d'origine local de l'esquisse @@ -1404,8 +1404,8 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Sélectionne les contraintes partiellement redondantes @@ -1413,8 +1413,8 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Sélectionne les contraintes redondantes @@ -1422,12 +1422,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSelectVerticalAxis - + Select vertical axis Sélectionne l'axe vertical - + Select the local vertical axis of the sketch Sélectionne l'axe vertical local de l'esquisse @@ -1448,12 +1448,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherStopOperation - + Stop operation Arrêter l'opération - + When in edit mode, stop the active operation (drawing, constraining, etc.). En mode édition, arrêter l'opération active (dessin, contrainte, etc.). @@ -1474,12 +1474,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherSymmetry - + Symmetry Symétrie - + Creates symmetric geometry with respect to the last selected line or point Crée une géométrie symétrique par rapport à la dernière ligne ou point sélectionné @@ -1487,12 +1487,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activer/désactiver la contrainte - + Activates or deactivates the selected constraints Active ou désactive les contraintes sélectionnées @@ -1513,12 +1513,12 @@ Cela effacera la propriété 'Support', le cas échéant. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Basculer les contraintes pilotantes/pilotées - + Set the toolbar, or the selected constraints, into driving or reference mode Basculer la barre d'outils, ou les contraintes sélectionnées, @@ -1541,24 +1541,24 @@ en mode pilotant ou piloté CmdSketcherValidateSketch - + Validate sketch... Valider l'esquisse... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Valider une esquisse en analysant les coïncidences manquantes, les contraintes invalides, les géométries dégénérées, etc. - + Wrong selection - Sélection invalide + Sélection incorrecte - + Select only one sketch. Sélectionner une seule esquisse. @@ -1566,12 +1566,12 @@ les contraintes invalides, les géométries dégénérées, etc. CmdSketcherViewSection - + View section Vue de la section - + When in edit mode, switch between section view and full view. En mode édition, basculer entre la vue de section et la vue complète. @@ -1579,12 +1579,12 @@ les contraintes invalides, les géométries dégénérées, etc. CmdSketcherViewSketch - + View sketch Vue de l'esquisse - + When in edit mode, set the camera orientation perpendicular to the sketch plane. En mode édition, définir l'orientation de la caméra perpendiculaire au plan d'esquisse. @@ -1592,287 +1592,404 @@ les contraintes invalides, les géométries dégénérées, etc. Command - - + + Add horizontal constraint Ajouter une contrainte horizontale - - - + + + Add horizontal alignment Ajouter un alignement horizontal - - + + Add vertical constraint Ajouter une contrainte verticale - + Add vertical alignment Ajouter un alignement vertical - + Add 'Lock' constraint Ajouter la contrainte 'Verrouiller' - + Add relative 'Lock' constraint Ajouter une contrainte "fixe" relative - + Add fixed constraint Ajouter une contrainte fixe - + Add 'Block' constraint Ajouter une contrainte 'Bloquer' - + Add block constraint Ajouter une contrainte de blocage - - - + + + Add coincident constraint Ajouter une contrainte de coïncidence - - + + Add distance from horizontal axis constraint Ajouter une contrainte de distance par rapport à l'axe horizontal - - + + Add distance from vertical axis constraint Ajouter une contrainte de distance par rapport à l'axe vertical - - + + Add point to point distance constraint Ajouter une contrainte de distance entre points - - + + + Add point to line Distance constraint Ajouter une contrainte de distance point à ligne - - + + Add circle to circle distance constraint Ajouter une contrainte de distance entre les cercles - + Add circle to line distance constraint Ajouter une contrainte de distance entre les cercles - - + + + + + Add length constraint Ajouter une contrainte de longueur - - + + + Dimension + Dimension + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Ajouter une contrainte point sur objet - - + + Add point to point horizontal distance constraint Ajouter une contrainte de distance horizontale point à point - + Add fixed x-coordinate constraint Ajouter une contrainte fixe de coordonnée X - - + + Add point to point vertical distance constraint Ajouter une contrainte de distance verticale point à point - + Add fixed y-coordinate constraint Ajouter une contrainte fixe de coordonnée Y - - + + Add parallel constraint Ajouter une contrainte parallèle - - - - - - - + + + + + + + Add perpendicular constraint Ajouter une contrainte perpendiculaire - + Add perpendicularity constraint Ajouter une contrainte de perpendicularité - + Swap coincident+tangency with ptp tangency Permuter coincidence+tangence avec une tangente sommet/sommet - + Swap PointOnObject+tangency with point to curve tangency Échanger Point sur objet + tangence pour Point à courbe + tangence - - - - - - - + + + + + + + Add tangent constraint Ajouter une contrainte de tangence - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Ajouter un point de contrainte de tangence - - - - + + + + Add radius constraint Contraindre le rayon - - - - + + + + Add diameter constraint Contraindre le diamètre - - - - + + + + Add radiam constraint Ajouter une contrainte de rayon/diamètre - - - - - - + + + + + + Add angle constraint Ajouter une contrainte d'angle - - + + Add equality constraint Ajouter une contrainte d'égalité - - - - - + + + + + Add symmetric constraint Ajouter une contrainte de symétrie - + Add Snell's law constraint Ajouter une contrainte de loi de Snell - + Toggle constraint to driving/reference Basculer les contraintes pilotantes/pilotées - + Activate/Deactivate constraint Activer/désactiver la contrainte - + Create a new sketch on a face Créer une nouvelle esquisse sur une face - + Create a new sketch Créer une nouvelle esquisse - + Reorient sketch Réorienter l'esquisse - + Attach sketch Attacher l'esquisse - + Detach sketch Détacher l'esquisse - + Create a mirrored sketch for each selected sketch Créer une esquisse en miroir pour chaque esquisse sélectionnée - + Merge sketches Fusionner les esquisses @@ -1990,72 +2107,72 @@ les contraintes invalides, les géométries dégénérées, etc. Ajouter un hexagone - + Convert to NURBS Convertir en NURBS - + Increase spline degree Augmenter le degré de la B-spline - + Decrease spline degree Diminuer le degré de la B-spline - + Increase knot multiplicity Augmenter la multiplicité de nœud - + Decrease knot multiplicity Diminuer la multiplicité de nœud - + Insert knot Insérer un noeud - + Join Curves Joindre des courbes - + Exposing Internal Geometry Exposer la géométrie interne - + Create symmetric geometry Créer une géométrie symétrique - + Copy/clone/move geometry Copier/cloner/déplacer la géométrie - + Create copy of geometry Créer une copie de la géométrie - + Delete all geometry Supprimer tous les éléments de géométrie - + Delete All Constraints Supprimer toutes les contraintes - + Remove Axes Alignment Supprimer l'alignement des axes @@ -2066,44 +2183,44 @@ les contraintes invalides, les géométries dégénérées, etc. - - - + + + Update constraint's virtual space Mettre à jour l'espace virtuel de la contrainte - + Add auto constraints Ajouter des contraintes automatiques - + Swap constraint names Intervertir les noms de contrainte - + Rename sketch constraint Renommer la contrainte d'esquisse - + Drag Point Faire glisser le Point - + Drag Curve Faire glisser la Courbe - + Drag Constraint Faire glisser la Contrainte - + Modify sketch constraints Modifier les contraintes d'esquisse @@ -2164,59 +2281,59 @@ les contraintes invalides, les géométries dégénérées, etc. Erreur de contrainte automatique : esquisse insoluble après l'application des contraintes d'égalité. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. L'intersection des courbes n'a pas pu être trouvée. Essayez d’ajouter une contrainte de coïncidence entre les sommets des courbes sur lesquels vous souhaitez appliquer un congé. - - + + BSpline Geometry Index (GeoID) is out of bounds. L'Index de la géométrie de la B-spline (GeoID) est hors limites. - + You are requesting no change in knot multiplicity. Vous ne demandez aucun changement dans la multiplicité du nœud. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. L’Index de la géométrie (GeoID) fourni n’est pas une courbe B-spline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. L’index du nœud est hors limites. Notez que, conformément à la notation OCC, le premier nœud a un indice de 1 et non pas de zéro. - + The multiplicity cannot be increased beyond the degree of the B-spline. La multiplicité ne peut pas être augmentée au-delà du degré de la B-spline. - + The multiplicity cannot be decreased beyond zero. La multiplicité ne peut pas être diminuée au-delà de zéro. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC ne parvient pas à diminuer la multiplicité selon la tolérance maximale. - + Knot cannot have zero multiplicity. Le nœud ne peut pas avoir zéro de multiplicité. - + Knot multiplicity cannot be higher than the degree of the BSpline. La multiplicité du nœud ne peut pas être supérieure au degré de la courbe BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Le nœud ne peut pas être inséré en dehors de la plage de paramètres de la B-spline. @@ -2232,210 +2349,213 @@ les contraintes invalides, les géométries dégénérées, etc. QObject - - - - + + + + Sketcher Sketcher - + There are no modes that accept the selected set of subelements Il n’y a aucun mode qui accepte l’ensemble des sous-éléments sélectionnés - + Broken link to support subelements Lien brisé vers les sous-éléments de support - - + + Unexpected error Erreur inattendue - + Face is non-planar La face n'est pas plane - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Les formes sélectionnées sont de forme incorrecte (par exemple, une arête courbe là où une droite est nécessaire) - + Sketch mapping Mappage d'esquisse - + Can't map the sketch to selected object. %1. Impossible d'appliquer l’esquisse à l’objet sélectionné. %1. - - + + Don't attach Ne pas attacher + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Sélection invalide @@ -2446,339 +2566,339 @@ les contraintes invalides, les géométries dégénérées, etc. Sélectionnez une ou des arêtes de l'esquisse. - + Not allowed to edit the datum because the sketch contains conflicting constraints La modification de ce datum n'es autorisée parce que l'esquisse contient des contraintes contradictoires - + Dimensional constraint Contrainte dimensionnelle - + Cannot add a constraint between two external geometries. Impossible d'ajouter une contrainte entre deux géométries externes. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Impossible d'ajouter une contrainte entre deux géométries fixes. Les géométries fixes comprennent la géométrie externe, la géométrie bloquée et les points spéciaux tels que les points de nœuds des B-splines. - + Sketcher Constraint Substitution Substitution de contraintes d'esquisse - + Keep notifying me of constraint substitutions Continuer à me notifier des substitutions de contraintes - - - + + + Only sketch and its support are allowed to be selected. Seule l'esquisse et son support peuvent être sélectionnés. - + One of the selected has to be on the sketch. Une des sélections doit être sur l'esquisse. - - + + Select an edge from the sketch. Sélectionnez une arête de l'esquisse. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Contrainte impossible - - - - + + + + The selected edge is not a line segment. L'arête sélectionnée n'est pas un segment de ligne. - - - - - - + + + + + + Double constraint Double contrainte - - - - - + + + + + The selected edge already has a horizontal constraint! L’arête sélectionnée possède déjà une contrainte horizontale ! - - - + + + The selected edge already has a vertical constraint! L’arête sélectionnée possède déjà une contrainte verticale ! - - - - - - + + + + + + The selected edge already has a Block constraint! L’arête sélectionnée possède déjà une contrainte de blocage ! - + The selected item(s) can't accept a horizontal constraint! Le(s) élément(s) sélectionné(s) ne peu(ven)t pas accepter de contrainte horizontale! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Plus d'un point fixe est sélectionné. Sélectionner au maximum un point fixe ! - + The selected item(s) can't accept a vertical constraint! Le(s) élément(s) sélectionné(s) ne peu(ven)t pas accepter de contrainte verticale! - - - + + + Select vertices from the sketch. Sélectionner des sommets de l’esquisse. - + Select one vertex from the sketch other than the origin. Sélectionner un sommet de l'esquisse autre que l'origine. - + Select only vertices from the sketch. The last selected vertex may be the origin. Sélectionner uniquement les sommets de l'esquisse. Le dernier sommet sélectionné peut être l'origine. - + Wrong solver status Erreur de statut du solveur - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Un contrainte de type blocage ne peut pas être ajoutée si l'esquisse n'est pas résolue ou s'il y a des contraintes redondantes ou conflictuelles. - + Select one edge from the sketch. Sélectionnez une arête de l’esquisse. - + Select only edges from the sketch. Sélectionnez uniquement des arêtes de l'esquisse. - + Number of selected objects is not 3 Le nombre d'objets sélectionnés n'est pas 3 - - - + + + Error Erreur - + Unexpected error. More information may be available in the Report View. Erreur inattendue. Plus d'informations peuvent être disponibles dans la vue rapport. - + Endpoint to endpoint tangency was applied instead. Une contrainte de tangence entre points d'extrémité a été créée à la place. - + Select two or more points from the sketch. Sélectionner deux ou plusieurs points de l’esquisse. - + Select two or more vertices from the sketch. Sélectionner deux sommets de l'esquisse ou plus. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Sélectionner deux sommets ou plus de l’esquisse pour une contrainte de coïncidence, ou deux ou plusieurs cercles, ellipses, arcs ou arcs d’ellipse pour une contrainte concentrique. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Sélectionner deux sommets de l'esquisse pour une contrainte de coïncidence, ou deux cercles, ellipses, arcs ou arcs d'ellipse pour une contrainte concentrique. - + Select exactly one line or one point and one line or two points from the sketch. Sélectionnez soit une seule ligne, ou un point et une ligne, ou deux points de l'esquisse. - + Cannot add a length constraint on an axis! Impossible d'ajouter une contrainte de longueur sur un axe ! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Sélectionner exactement une ligne ou un point et une ligne ou deux points ou deux cercles de l'esquisse. - + This constraint does not make sense for non-linear curves. Cette contrainte n'a pas de sens pour les courbes non linéaires. - + Endpoint to edge tangency was applied instead. Une tangence entre point d'extrémité et arête a été appliquée à la place. - - - - - - - + + + + + + + Select the right things from the sketch. Sélectionner les bons éléments de l'esquisse. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Sélectionner une arête qui ne représente pas un poids d'une B-Spline. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Aucun des points sélectionnés n'a été contraint aux courbes respectives, soit parce que ce sont des parties du même élément, soit parce qu'ils sont tous deux de la géométrie externe, soit parce que la ligne n'est pas éligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Aucun des points sélectionnés n'ont été contraints aux courbes respectives, soit parce qu'ils font partie du même élément, soit parce qu'ils font tous partie de géométries externes. - - - - + + + + Select exactly one line or up to two points from the sketch. Sélectionner soit une seule ligne soit jusqu'à deux points de l'esquisse. - + Cannot add a horizontal length constraint on an axis! Impossible d'ajouter une contrainte de longueur horizontale sur un axe ! - + Cannot add a fixed x-coordinate constraint on the origin point! Impossible d'ajouter une contrainte fixe de coordonnée x sur le point d'origine ! - - + + This constraint only makes sense on a line segment or a pair of points. Cette contrainte n’a de sens que sur un segment de ligne ou une paire de points. - + Cannot add a vertical length constraint on an axis! Impossible d'ajouter une contrainte de longueur verticale sur un axe ! - + Cannot add a fixed y-coordinate constraint on the origin point! Impossible d'ajouter une contrainte fixe de coordonnée y sur le point d'origine ! - + Select two or more lines from the sketch. Sélectionnez au moins deux lignes de l'esquisse. - - + + Select at least two lines from the sketch. Sélectionner au moins deux lignes de l'esquisse. - + Select a valid line. Sélectionner une ligne valide. - - + + The selected edge is not a valid line. L'arête sélectionnée n'est pas une ligne valide. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2788,42 +2908,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinaisons acceptés : deux courbes ; un point d'extrémité et une courbe ; deux points d'extrémités ; deux courbes et un point. - + Select some geometry from the sketch. perpendicular constraint Sélectionnez une géométrie de l'esquisse. - - + + Cannot add a perpendicularity constraint at an unconnected point! Impossible d'ajouter une contrainte de perpendicularité sur un point non connecté ! - - - + + + Perpendicular to B-spline edge currently unsupported. Contrainte perpendiculaire à arête B-spline actuellement non prise en charge. - - + + One of the selected edges should be a line. Une des arêtes sélectionnées doit être une ligne. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Une contrainte de tangence entre points d'extrémité a été créée. La contrainte de coïncidence a été supprimée. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Une contrainte de tangence entre point d'extrémité et arête a été créée. La contrainte point sur objet a été supprimée. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2833,179 +2953,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinaisons acceptés : deux courbes ; un point d'extrémité et une courbe ; deux points d'extrémités ; deux courbes et un point. - + Select some geometry from the sketch. tangent constraint Sélectionnez une géométrie de l'esquisse. - - - + + + Cannot add a tangency constraint at an unconnected point! Impossible d'ajouter une contrainte de tangence à un point non connecté ! - - + + Tangent constraint at B-spline knot is only supported with lines! La contrainte de tangente au nœud de la B-spline n'est pris en charge que par des lignes ! - + B-spline knot to endpoint tangency was applied instead. Le nœud de la B-spline à la tangence du dernier point a été appliqué à la place. - + Select either one point and several curves, or one curve and several points. Sélectionner soit un point et plusieurs courbes, soit une courbe et plusieurs points. - - + + Wrong number of selected objects! Nombre d'objets sélectionnés erroné ! - - + + With 3 objects, there must be 2 curves and 1 point. Pour une sélection de 3 objets, il doit y avoir 2 courbes et 1 point. - - - + + + Tangency to B-spline edge currently unsupported. Tangence à arrête B-spline actuellement non prise en charge. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Sélectionnez un ou plusieurs arcs ou cercles dans l'esquisse. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Sélectionner soit un ou plusieurs pôles B-Spline ou un ou plusieurs arcs ou cercles de l'esquisse, mais pas mélangés. - - - + + + Constraint only applies to arcs or circles. Contrainte applicable qu’aux arcs ou cercles. - - + + Select one or two lines from the sketch. Or select two edges and a point. Sélectionnez une ou deux lignes dans l'esquisse. Ou sélectionnez deux arêtes et un point. - - + + Parallel lines Lignes parallèles - - + + An angle constraint cannot be set for two parallel lines. Une contrainte angulaire ne peut pas être appliquée à deux lignes parallèles. - + Cannot add an angle constraint on an axis! Impossible d'ajouter une contrainte angulaire sur un axe ! - + Select two edges from the sketch. Sélectionnez deux arêtes de l'esquisse. - + Select two or more compatible edges. Sélectionner deux arêtes compatibles ou plus. - + Sketch axes cannot be used in equality constraints. Les axes de l'esquisse ne peuvent pas être utilisés comme des contraintes d'alignement interne. - + Equality for B-spline edge currently unsupported. Égalité pour arête B-Spline actuellement non prise en charge. - - - + + + + Select two or more edges of similar type. Sélectionner deux arêtes de type similaire ou plus. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Sélectionnez deux points et une ligne de symétrie, deux points et un point de symétrie, ou une ligne et un point de symétrie dans l'esquisse. - - + + Cannot add a symmetry constraint between a line and its end points. Impossible d'ajouter une contrainte de symétrie entre une ligne et ses extrémités. - - + + + + Cannot add a symmetry constraint between a line and its end points! Impossible d'ajouter une contrainte de symétrie entre une ligne et ses points d'extrémité ! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Sélectionner deux extrémités de lignes pour agir comme des rayons, et une arête qui représente une limite. Le premier point sélectionné correspond à l'indice n1, le deuxième à n2, et la valeur définit la rapport n2/n1. - + Selected objects are not just geometry from one sketch. Les objets sélectionnés ne sont pas seulement des géométries de l'esquisse. - + Cannot create constraint with external geometry only. Impossible de créer une contrainte avec uniquement une géométrie externe. - + Incompatible geometry is selected. La géométrie sélectionnée est incompatible. - + SnellsLaw on B-spline edge is currently unsupported. La loi de Snell sur les arêtes B-spline n'est actuellement pas prise en charge. - - - - - + + + + + Select constraints from the sketch. Sélectionner les contraintes de l'esquisse. @@ -3027,155 +3150,155 @@ Combinaisons acceptés : deux courbes ; un point d'extrémité et une courbe ; d Définir le degré de la B-spline, entre 1 et %1 : + + - - CAD Kernel Error Erreur du noyau de CAO - + None of the selected elements is an edge. Aucun des éléments sélectionnés n'est une arête. - - + + At least one of the selected objects was not a B-Spline and was ignored. Au moins l’un des objets sélectionnés n’était pas une B-Spline et a été ignoré. - - + + The selection comprises more than one item. Please select just one knot. La sélection comprend plus d'un élément. Veuillez sélectionner un seul nœud. - - + + Input Error Erreur de saisie - - + + None of the selected elements is a knot of a B-spline Aucun des éléments sélectionnés n'est un nœud d’une B-spline - - + + Selection is empty La sélection est vide - + Nothing is selected. Please select a b-spline. Rien n'est sélectionné. Sélectionner une B-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Sélectionner une B-spline pour insérer un nœud (et non un nœud sur celle-ci). Si la courbe n'est pas une B-spline, la convertir d'abord en une B-spline. - + Nothing is selected. Please select end points of curves. Rien n'est sélectionné. Sélectionner les extrémités des courbes. - + Too many curves on point Trop de courbes sur le point - - + + Exactly two curves should end at the selected point to be able to join them. Exactement deux courbes devraient se terminer au point sélectionné pour pouvoir les rejoindre. - + Too few curves on point Trop peu de courbes sur le point - + Two end points, or coincident point should be selected. Il faut sélectionner deux extrémités ou des points de coïncidence. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Sélectionner des éléments d'une seule esquisse. - + No constraint selected Aucune contrainte sélectionnée - + At least one constraint must be selected Au moins une contrainte doit être sélectionnée - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Une construction symétrique nécessite au moins deux éléments géométriques, le dernier élément géométrique étant la référence pour la construction de la symétrie. - + The last element must be a point or a line serving as reference for the symmetry construction. Le dernier élément doit être un point ou une ligne servant de référence pour la construction de la symétrie. - - + + A copy requires at least one selected non-external geometric element Une copie nécessite la sélection d'au moins un élément géométrique non externe - + Delete All Geometry Supprimer tous les éléments de géométrie - + Are you really sure you want to delete all geometry and constraints? Êtes-vous vraiment sûr de vouloir supprimer tous les éléments de géométrie et toutes les contraintes ? - + Delete All Constraints Supprimer toutes les contraintes - + Are you really sure you want to delete all the constraints? Êtes-vous vraiment sûr de vouloir supprimer toutes les contraintes ? - + Removal of axes alignment requires at least one selected non-external geometric element La suppression de l'alignement des axes nécessite au moins un élément géométrique non externe sélectionné - + Unsupported visual layer operation L'opération du calque visuel n'est pas prise en charge - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Il n'est pas possible pour l'instant de déplacer une géométrie externe vers une autre couche visuelle. La géométrie externe sera omise @@ -3255,7 +3378,7 @@ Voir la documentation pour plus de détails. Coincident - Coïncidents + Coïncident @@ -3376,67 +3499,67 @@ Voir la documentation pour plus de détails. SketcherGui::ConstraintView - + Select Elements Sélectionner les éléments - + Change value - Changer la valeur + Modifier la valeur - + Toggle to/from reference Basculer vers ou à partir d'une référence - + Deactivate Désactiver - + Activate Activer - + Show constraints Montrer les contraintes - + Hide constraints Masquer les contraintes - + Rename Renommer - + Center sketch Centrer l'esquisse - + Delete Supprimer - + Swap constraint names Intervertir les noms de contrainte - + Unnamed constraint Contrainte non nommée - + Only the names of named constraints can be swapped. Seuls les noms des contraintes nommées peuvent être permutés. @@ -3444,74 +3567,74 @@ Voir la documentation pour plus de détails. SketcherGui::EditDatumDialog - + Insert angle insérer un angle - + Angle: - Angle : + Angle : - + Insert radius insérer un rayon - + Radius: - Rayon : + Rayon : - + Insert diameter Insérer un diamètre - + Diameter: Diamètre : - + Insert weight Insérer le poids - + Weight: Poids : - + Refractive index ratio Constraint_SnellsLaw Ratio de l'indice de réfraction - + Ratio n2/n1: Constraint_SnellsLaw Ratio n2/n1 : - + Insert length insérer une longueur - + Length: - Longueur : + Longueur : - + Refractive index ratio Ratio de l'indice de réfraction - + Ratio n2/n1: Ratio n2/n1 : @@ -3519,72 +3642,72 @@ Voir la documentation pour plus de détails. SketcherGui::ElementFilterList - + Normal Normal - + Construction - Construction + Construction  - + Internal Interne - + External Externe - + All types Tous les types - + Point Point - + Line Ligne - + Circle Cercle - + Ellipse Ellipse - + Arc of circle Arc de cercle - + Arc of ellipse Arc d’ellipse - + Arc of hyperbola Arc d'hyperbole - + Arc of parabola Arc de parabole - + B-Spline B-spline @@ -3592,142 +3715,142 @@ Voir la documentation pour plus de détails. SketcherGui::ElementView - + Point Coincidence Points coïncidents - + Point on Object Point sur objet - + Vertical Constraint Verticalité - + Horizontal Constraint Horizontalité - + Parallel Constraint Parallélisme - + Perpendicular Constraint Perpendicularité - + Tangent Constraint Tangence - + Equal Length Égalité des longueurs - + Symmetric Symétrique - + Block Constraint Contrainte de blocage - + Lock Constraint Contrainte fixe - + Horizontal Distance Distance horizontale - + Vertical Distance Distance Verticale - + Length Constraint Longueur - + Radius Constraint Rayon - + Diameter Constraint Diamètre - + Radiam Constraint Contrainte automatique rayon/diamètre - + Angle Constraint Angle - + Toggle construction geometry Basculer le mode de la géométrie de construction - + Select Constraints Sélectionner les contraintes - + Select Origin Sélectionner l'origine - + Select Horizontal Axis Sélectionner l'axe horizontal - + Select Vertical Axis Sélectionner l'axe vertical - + Layer Calque - + Layer 0 Calque 0 - + Layer 1 Calque 1 - + Hidden - Masqué + Caché - + Delete Supprimer @@ -4010,6 +4133,75 @@ Nécessite de rentrer dans le mode édition pour que cela prenne effet.Notify automatic constraint substitutions Notifier les substitutions automatiques de contraintes + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Les deux + + + + Auto + Auto + + + + Diameter + Diamètre + + + + Radius + Rayon + SketcherGui::SketcherSettingsColors @@ -4454,12 +4646,12 @@ Seuls les objets derrière le plan de l'esquisse sont visibles. Appliquer aux esquisses existantes - + Unexpected C++ exception Exception C++ inattendue - + Sketcher Sketcher @@ -4630,51 +4822,51 @@ Toutefois, aucune contrainte liée aux extrémités n'a été trouvée. Settings - Réglages + Paramètres - + Constraints Contraintes - + Auto constraints Contraintes automatiques - + Auto remove redundants Suppression automatique des redondances - + Show only filtered Constraints Affiche uniquement les contraintes filtrées - + Extended information (in widget) Informations étendues (dans le widget) - + Hide internal alignment (in widget) Masquer l'alignement interne (dans le widget) - - + + Error Erreur - + Impossible to update visibility tracking Impossible de mettre à jour le suivi de visibilité - + Impossible to update visibility tracking: Impossible de mettre à jour le suivi de visibilité : @@ -4706,6 +4898,33 @@ Toutefois, aucune contrainte liée aux extrémités n'a été trouvée.Settings Réglages + + + + + + + + + + + + Construction + Construction + + + + Elements + Éléments + + + + + + + Point + Point + @@ -4717,110 +4936,83 @@ Toutefois, aucune contrainte liée aux extrémités n'a été trouvée. - Construction - Construction - - - - Elements - Éléments - - - - - - - Point - Point - - - - - - - - - - - - Internal Interne - - + + + - Line Ligne - - + + + - Arc Arc - - + + + - Circle Cercle - - + + + - Ellipse Ellipse - - + + + - Elliptical Arc Arc elliptique - - + + + - Hyperbolic Arc Arc hyperbolique - - + + + - Parabolic Arc Arc parabolique - - + + + - BSpline B-spline - - + + + - Other Autre - + Extended information Informations étendues @@ -4828,42 +5020,42 @@ Toutefois, aucune contrainte liée aux extrémités n'a été trouvée. SketcherGui::TaskSketcherMessages - + Solver messages Messages du solveur - + Auto update Mise à jour automatique - + Executes a recomputation of active document after every sketch action Exécute un recalcul du document actif après chaque modification de l'esquisse - + Click to select the conflicting constraints. Cliquez pour sélectionner les contraintes conflictuelles. - + Click to select the redundant constraints. Cliquez pour sélectionner les contraintes redondantes. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. L'esquisse contient des éléments non contraints qui donnent naissance à ces degrés de liberté. Cliquez pour sélectionner les éléments non contraints. - + Click to select the malformed constraints. Cliquez pour sélectionner les contraintes défectueuses. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Certaines contraintes combinées sont partiellement redondantes. Cliquez pour sélectionner ces contraintes partiellement redondantes. @@ -4970,7 +5162,7 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Deletes constraints referring to external geometry - Supprime les contraintes liées à une géométrie externe. + Supprimer les contraintes liées à une géométrie externe. @@ -5041,112 +5233,112 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. SketcherGui::ViewProviderSketch - + Edit sketch Modifier l'esquisse - + A dialog is already open in the task panel Une boîte de dialogue est déjà ouverte dans le panneau des tâches - + Do you want to close this dialog? Voulez-vous fermer cette boîte de dialogue? - + Invalid sketch Esquisse non valide - + Do you want to open the sketch validation tool? Voulez-vous ouvrir l'outil de validation d'esquisse ? - + The sketch is invalid and cannot be edited. L'esquisse n'est pas valide et ne peut pas être éditée. - + Please remove the following constraint: Veuillez supprimer la contrainte suivante : - + Please remove at least one of the following constraints: Veuillez supprimer au moins une des contraintes suivantes : - + Please remove the following redundant constraint: Veuillez supprimer la contrainte redondante suivante : - + Please remove the following redundant constraints: Veuillez supprimer les contraintes redondantes suivantes : - + The following constraint is partially redundant: La contrainte suivante est partiellement redondante : - + The following constraints are partially redundant: Les contraintes suivantes sont partiellement redondantes : - + Please remove the following malformed constraint: Veuillez supprimer la contrainte malformée suivante : - + Please remove the following malformed constraints: Veuillez supprimer les contraintes malformées suivantes : - + Empty sketch Esquisse vide - + Over-constrained: L'esquisse possède trop de contraintes: - + Malformed constraints: Contraintes mal formées : - + Redundant constraints: Contraintes redondantes : - + Partially redundant: Contraintes partiellement redondantes: - + Solver failed to converge Le solveur n'a pas pu converger - + Under constrained: L'esquisse manque de contraintes : - + %n DoF(s) %n Degré de liberté @@ -5154,7 +5346,7 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. - + Fully constrained Entièrement contrainte @@ -5162,8 +5354,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Bascule entre afficher et masquer le peigne de courbure pour toutes les B-splines @@ -5171,8 +5363,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Diminue la multiplicité du nœud sélectionné d’une B-spline @@ -5180,8 +5372,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Bascule entre afficher et masquer le degré pour tous les B-splines @@ -5189,8 +5381,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Augmente la multiplicité du nœud sélectionné d’une B-spline @@ -5198,8 +5390,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Basculer entre afficher et masquer la multiplicité de nœuds pour toutes les B-splines @@ -5207,8 +5399,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Bascule entre afficher et masquer le poids du point de contrôle pour toutes les B-splines @@ -5216,8 +5408,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Bascule entre afficher et masquer les polygones de contrôle pour toutes les B-splines @@ -5225,8 +5417,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Créer un clone de la géométrie en prenant comme référence le dernier point sélectionné @@ -5234,17 +5426,17 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_CompCopy - + Clone Cloner - + Copy Copie - + Move Déplacer @@ -5252,8 +5444,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fixer le diamètre d'un cercle ou d'un arc @@ -5261,7 +5453,7 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fixer le rayon/diamètre d'un arc ou d'un cercle @@ -5269,8 +5461,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fixer le rayon d'un cercle ou d'un arc @@ -5278,7 +5470,7 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fixer le rayon/diamètre d'un arc ou d'un cercle @@ -5286,8 +5478,8 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Créer une copie simple de la géométrie en prenant comme référence le dernier point sélectionné @@ -5506,63 +5698,63 @@ Cela est fait en analysant les géométries et les contraintes de l'esquisse. Sketcher_MapSketch - + No sketch found Aucune esquisse trouvée - + The document doesn't have a sketch Le document ne contient pas d'esquisse - + Select sketch Sélectionnez une esquisse - + Select a sketch from the list Sélectionnez une esquisse dans la liste - + (incompatible with selection) (incompatible avec la sélection) - + (current) (courant) - + (suggested) (suggéré) - + Sketch attachment Attachement d'esquisse - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Le mode d'attachement courant n’est pas compatible avec la nouvelle sélection. Sélectionner la méthode pour attacher cette esquisse aux objets sélectionnés. - + Select the method to attach this sketch to selected objects. Sélectionnez la méthode pour attacher cette esquisse aux objets sélectionnés. - + Map sketch Appliquer esquisse - + Can't map a sketch to support: %1 Impossible d'appliquer l'esquisse au support : @@ -5572,8 +5764,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Déplace la géométrie en prenant comme référence le dernier point sélectionné @@ -5581,12 +5773,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Attachement d'esquisse - + Select the method to attach this sketch to selected object Sélectionnez la méthode pour attacher cette esquisse aux objets sélectionnés @@ -5594,12 +5786,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support L'esquisse a un support - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Une esquisse rattachée à une face ne peut pas être réorientée. @@ -5608,11 +5800,6 @@ Voulez-vous la détacher de son support ? TaskSketcherMessages - - - Form - Forme - DOF @@ -5621,7 +5808,7 @@ Voulez-vous la détacher de son support ? Link - Lien + Lier @@ -5631,11 +5818,6 @@ Voulez-vous la détacher de son support ? TaskSketcherSolverAdvanced - - - Form - Forme - Default algorithm used for Sketch solving @@ -5876,7 +6058,7 @@ L'algorithme Eigen Sparse QR est optimisé pour les matrices peu denses, génér None - Aucun + Rien @@ -5907,7 +6089,7 @@ L'algorithme Eigen Sparse QR est optimisé pour les matrices peu denses, génér ViewProviderSketch - + and %1 more et %1 de plus @@ -6097,22 +6279,22 @@ L'espacement de la grille est modifié s'il devient inférieur à ce nombre de p GridSpaceAction - + Grid auto spacing Espacement automatique de la grille - + Resize grid automatically depending on zoom. Redimensionner la grille automatiquement en fonction du zoom. - + Spacing Espacement - + Distance between two subsequent grid lines. Distance entre 2 lignes consécutives de la grille. @@ -6120,87 +6302,87 @@ L'espacement de la grille est modifié s'il devient inférieur à ce nombre de p Notifications - + The Sketch has malformed constraints! L'esquisse a des contraintes malformées ! - + The Sketch has partially redundant constraints! L'esquisse a des contraintes partiellement redondantes ! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Les paraboles ont été migrées. Les fichiers migrés ne pourront pas être ouverts par les versions précédentes de FreeCAD !! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Erreur - + Failed to delete all geometry Impossible de supprimer toute la géométrie - + Failed to delete all constraints Impossible de supprimer toutes les contraintes - + The constraint has invalid index information and is malformed. La contrainte a des informations d'index non valides et est mal formée. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Contrainte invalide @@ -6242,8 +6424,8 @@ L'espacement de la grille est modifié s'il devient inférieur à ce nombre de p Erreur lors de la création d'un pôle de B-spline - + Error creating B-spline Erreur lors de la création d'une B-spline @@ -6296,7 +6478,7 @@ L'espacement de la grille est modifié s'il devient inférieur à ce nombre de p Failed to create fillet - Échec de la création de congé + Échec de la création du congé @@ -6340,9 +6522,9 @@ L'espacement de la grille est modifié s'il devient inférieur à ce nombre de p Impossible d'ajuster une arête - - - + + + Value Error Erreur de valeur @@ -6378,58 +6560,58 @@ L'espacement de la grille est modifié s'il devient inférieur à ce nombre de p SnapSpaceAction - + Snap to objects Aimanter aux objets - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Les nouveaux points s'aimanteront à l'objet présélectionné. Ils s'aimanteront également au milieu des lignes et des arcs. - + Snap to grid Aimanter à la grille - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Les points créés seront accrochés à la ligne de la grille la plus proche. Les points doivent être placés à moins d'un cinquième de l'espacement de la grille par rapport à une ligne de la grille pour être accrochés. - + Snap angle Angle d'aimantation - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Pas angulaire pour les outils qui utilisent la fonction "Aimanter à l'angle" (ligne par exemple). Maintenez la touche CTRL enfoncée pour activer la fonction "Aimanter à l'angle". L'angle commence à partir de l'axe X positif de l'esquisse. RenderingOrderAction - - - - - Normal Geometry - Géométrie normale - - Construction Geometry - Géométrie de construction + Normal Geometry + Géométrie normale + Construction Geometry + Géométrie de construction + + + + + External Geometry Géométrie externe @@ -6450,12 +6632,12 @@ Les points doivent être placés à moins d'un cinquième de l'espacement de la CmdSketcherGrid - + Toggle grid Activer/désactiver la grille - + Toggle the grid in the sketch. In the menu you can change grid settings. Activer/désactiver la grille dans l'esquisse. Dans le menu vous pouvez modifier les paramètres de la grille. @@ -6463,12 +6645,12 @@ Les points doivent être placés à moins d'un cinquième de l'espacement de la CmdSketcherSnap - + Toggle snap Activer/désactiver l'aimantation - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Activer/désactiver toutes les fonctionnalités d'aimantation. Dans le menu, vous pouvez activer/désactiver individuellement "Aimanter à la grille" et "Aimanter aux objets" et modifier les paramètres d'aimantation ultérieurs. @@ -6499,4 +6681,34 @@ Les points doivent être placés à moins d'un cinquième de l'espacement de la Créer une B-spline périodique par des noeuds, c'est-à-dire par interpolation, dans l'esquisse. + + CmdSketcherDimension + + + Dimension + Dimension + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_gl.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_gl.ts index e1ddcbaa2a..eff614b8a7 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_gl.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_gl.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Switches between showing and hiding the curvature comb for all B-splines Cambia entre amosar e agochar o peite de curvatura para tódalas B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Show/hide B-spline degree - + Switches between showing and hiding the degree for all B-splines Cambia entre amosar e agochar o grao para tódalas B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Switches between showing and hiding the knot multiplicity for all B-splines Troca entre amosar e agochar o polígono de control para tódalas B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Show/hide B-spline control point weight - + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Switches between showing and hiding the control polygons for all B-splines Cambia entre amosar e agochar o polígono de control para tódalas B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Fai un clon da xeometría collendo como referencia o último punto escolmado @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Amosar/Agochar información de capa B-spline - + Show/hide B-spline degree Show/hide B-spline degree - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Show/hide B-spline control point weight Show/hide B-spline control point weight @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Constrinxir arco ou círculo - + Constrain an arc or a circle Constrinxir un arco ou un círculo - + Constrain radius Constrinxir raio - + Constrain diameter Constrixir diámetro - + Constrain auto radius/diameter Constrain auto radius/diameter @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Fai un clon da xeometría collendo como referencia o último punto escolmado @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modificar multiplicidade de nodo - + Modifies the multiplicity of the selected knot of a B-spline Modifica a multiplicidade do nodo escolmado dunha B-spline - + Increase knot multiplicity Aumenta a multiplicidade do nodo - + Decrease knot multiplicity Diminuir a multiplicidade de nodo @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Constrinxir o ángulo - + Fix the angle of a line or the angle between two lines Fixar o ángulo dunha liña ou o ángulo entre dúas liñas @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Constrain block - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Constrinxir coincidentes - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Constrixir diámetro - + Fix the diameter of a circle or an arc Fixa o diámetro dun círculo ou arco @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Constrinxir a distancia - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Constrain horizontal distance - + Fix the horizontal distance between two points or line ends Fixar a distancia horizontal entre dous puntos ou os cabos dunha liña @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Constrain vertical distance - + Fix the vertical distance between two points or line ends Fixar a distancia vertical entre dous puntos ou os cabos dunha liña @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Constrinxir a igualdade - + Create an equality constraint between two lines or between circles and arcs Fai unha constrición de igualdade entre dúas liñas ou entre círculos e arcos @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Constrinxir horizontalmente - + Create a horizontal constraint on the selected item Fai unha constrición horizontal nos elementos escolmados @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Constrición fixa - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Constrinxir o paralelismo - + Create a parallel constraint between two lines Fai unha constrición de paralelismo entre dúas liñas @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Constrinxir a perpendicularidade - + Create a perpendicular constraint between two lines Fai unha constrición de perpendicularidade entre dúas liñas @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Constrinxir un punto a un obxecto - + Fix a point onto an object Fixa un punto a un obxecto @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Constrain auto radius/diameter - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Constrain radius or weight - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Constrinxir a simetría - + Create a symmetry constraint between two points with respect to a line or a third point Create a symmetry constraint between two points @@ -615,12 +615,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Constrinxir a tanxencia - + Create a tangent constraint between two entities Fai unha constrición de tanxencia entre dúas entidades @@ -628,12 +628,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Constrinxir verticalmente - + Create a vertical constraint on the selected item Fai unha constrición vertical nos elementos escolmados @@ -641,12 +641,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convert geometry to B-spline - + Converts the selected geometry to a B-spline Converts the selected geometry to a B-spline @@ -654,12 +654,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Copiar - + Creates a simple copy of the geometry taking as reference the last selected point Fai unha simple copia da xeometría collendo como referencia o último punto escolmado @@ -1018,12 +1018,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Decrease B-spline degree - + Decreases the degree of the B-spline Decreases the degree of the B-spline @@ -1031,12 +1031,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Diminuir a multiplicidade de nodo - + Decreases the multiplicity of the selected knot of a B-spline Diminuir a multiplicidade do nodo escolmado dunha B-spline @@ -1044,12 +1044,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Delete all constraints - + Delete all constraints in the sketch Delete all constraints in the sketch @@ -1057,12 +1057,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Delete all geometry - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Delete all geometry and constraints in the current sketch, with the exception of external geometry @@ -1070,12 +1070,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Edit sketch - + Edit the selected sketch. Edit the selected sketch. @@ -1109,12 +1109,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Increase B-spline degree - + Increases the degree of the B-spline Incrementa o grao da B-spline @@ -1122,12 +1122,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Aumenta a multiplicidade do nodo - + Increases the multiplicity of the selected knot of a B-spline Modifica a multiplicidade do nodo escolmado dunha B-spline @@ -1135,12 +1135,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Insert knot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1148,12 +1148,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1161,12 +1161,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Deixar o esbozo - + Finish editing the active sketch. Finish editing the active sketch. @@ -1174,12 +1174,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Trazar un esbozo nunha cara... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1188,7 +1188,7 @@ First select the supporting geometry, for example, a face or an edge of a solid then call this command, then choose the desired sketch. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. @@ -1196,22 +1196,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Unir esbozos - + Create a new sketch from merging two or more selected sketches. Create a new sketch from merging two or more selected sketches. - + Wrong selection Escolma errada - + Select at least two sketches. Select at least two sketches. @@ -1219,12 +1219,12 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Espellar o esbozo - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1233,12 +1233,12 @@ by using the X or Y axes, or the origin point, as mirroring reference. - + Wrong selection Escolma errada - + Select one or more sketches. Select one or more sketches. @@ -1246,12 +1246,12 @@ as mirroring reference. CmdSketcherMove - + Move Mover - + Moves the geometry taking as reference the last selected point Mover a xeometría tomando coma referencia o último punto escolmado @@ -1259,12 +1259,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Facer un esbozo - + Create a new sketch. Crear un novo esbozo. @@ -1272,12 +1272,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Matriz rectangular - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Fai un patrón de matriz rectangular da xeometría collendo as referencias do último punto escolmado @@ -1285,12 +1285,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Remove axes alignment - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection @@ -1298,12 +1298,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Reorientar esbozo... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Place the selected sketch on one of the global coordinate planes. @@ -1313,12 +1313,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Amosar/agochar xeometrías internas - + Show all internal geometry or hide unused internal geometry Show all internal geometry or hide unused internal geometry @@ -1326,8 +1326,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Select conflicting constraints @@ -1335,12 +1335,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints Select associated constraints - + Select the constraints associated with the selected geometrical elements Select the constraints associated with the selected geometrical elements @@ -1348,12 +1348,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Select associated geometry - + Select the geometrical elements associated with the selected constraints Select the geometrical elements associated with the selected constraints @@ -1361,12 +1361,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Select unconstrained DoF - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Select geometrical elements where the solver still detects unconstrained degrees of freedom. @@ -1374,12 +1374,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Select horizontal axis - + Select the local horizontal axis of the sketch Select the local horizontal axis of the sketch @@ -1387,8 +1387,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Select malformed constraints @@ -1396,12 +1396,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin Select origin - + Select the local origin point of the sketch Select the local origin point of the sketch @@ -1409,8 +1409,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Select partially redundant constraints @@ -1418,8 +1418,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Select redundant constraints @@ -1427,12 +1427,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis Select vertical axis - + Select the local vertical axis of the sketch Select the local vertical axis of the sketch @@ -1453,12 +1453,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation Stop operation - + When in edit mode, stop the active operation (drawing, constraining, etc.). When in edit mode, stop the active operation (drawing, constraining, etc.). @@ -1479,12 +1479,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry Simetría - + Creates symmetric geometry with respect to the last selected line or point Fai unha xeometría simétrica respecto da última liña ou punto escolmado @@ -1492,12 +1492,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activate/deactivate constraint - + Activates or deactivates the selected constraints Activates or deactivates the selected constraints @@ -1518,12 +1518,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Toggle driving/reference constraint - + Set the toolbar, or the selected constraints, into driving or reference mode Set the toolbar, or the selected constraints, @@ -1546,24 +1546,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Validar o esbozo... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. - + Wrong selection Escolma errada - + Select only one sketch. Select only one sketch. @@ -1571,12 +1571,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Vista da selección - + When in edit mode, switch between section view and full view. When in edit mode, switch between section view and full view. @@ -1584,12 +1584,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Ver o esbozo - + When in edit mode, set the camera orientation perpendicular to the sketch plane. When in edit mode, set the camera orientation perpendicular to the sketch plane. @@ -1597,287 +1597,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Add horizontal constraint - - - + + + Add horizontal alignment Add horizontal alignment - - + + Add vertical constraint Add vertical constraint - + Add vertical alignment Add vertical alignment - + Add 'Lock' constraint Add 'Lock' constraint - + Add relative 'Lock' constraint Add relative 'Lock' constraint - + Add fixed constraint Add fixed constraint - + Add 'Block' constraint Add 'Block' constraint - + Add block constraint Add block constraint - - - + + + Add coincident constraint Add coincident constraint - - + + Add distance from horizontal axis constraint Add distance from horizontal axis constraint - - + + Add distance from vertical axis constraint Add distance from vertical axis constraint - - + + Add point to point distance constraint Add point to point distance constraint - - + + + Add point to line Distance constraint Add point to line Distance constraint - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint Add length constraint - - + + + Dimension + Acoutamento + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Add point on object constraint - - + + Add point to point horizontal distance constraint Add point to point horizontal distance constraint - + Add fixed x-coordinate constraint Add fixed x-coordinate constraint - - + + Add point to point vertical distance constraint Add point to point vertical distance constraint - + Add fixed y-coordinate constraint Add fixed y-coordinate constraint - - + + Add parallel constraint Add parallel constraint - - - - - - - + + + + + + + Add perpendicular constraint Add perpendicular constraint - + Add perpendicularity constraint Add perpendicularity constraint - + Swap coincident+tangency with ptp tangency Swap coincident+tangency with ptp tangency - + Swap PointOnObject+tangency with point to curve tangency Swap PointOnObject+tangency with point to curve tangency - - - - - - - + + + + + + + Add tangent constraint Add tangent constraint - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Add tangent constraint point - - - - + + + + Add radius constraint Add radius constraint - - - - + + + + Add diameter constraint Add diameter constraint - - - - + + + + Add radiam constraint Add radiam constraint - - - - - - + + + + + + Add angle constraint Add angle constraint - - + + Add equality constraint Add equality constraint - - - - - + + + + + Add symmetric constraint Add symmetric constraint - + Add Snell's law constraint Add Snell's law constraint - + Toggle constraint to driving/reference Toggle constraint to driving/reference - + Activate/Deactivate constraint Activate/Deactivate constraint - + Create a new sketch on a face Create a new sketch on a face - + Create a new sketch Crear un novo esbozo - + Reorient sketch Reorient sketch - + Attach sketch Attach sketch - + Detach sketch Detach sketch - + Create a mirrored sketch for each selected sketch Create a mirrored sketch for each selected sketch - + Merge sketches Unir esbozos @@ -1995,72 +2112,72 @@ invalid constraints, degenerated geometry, etc. Add hexagon - + Convert to NURBS Convert to NURBS - + Increase spline degree Increase spline degree - + Decrease spline degree Decrease spline degree - + Increase knot multiplicity Aumenta a multiplicidade do nodo - + Decrease knot multiplicity Diminuir a multiplicidade de nodo - + Insert knot Insert knot - + Join Curves Join Curves - + Exposing Internal Geometry Exposing Internal Geometry - + Create symmetric geometry Create symmetric geometry - + Copy/clone/move geometry Copy/clone/move geometry - + Create copy of geometry Create copy of geometry - + Delete all geometry Delete all geometry - + Delete All Constraints Borrar Tódalas Constricións - + Remove Axes Alignment Remove Axes Alignment @@ -2071,44 +2188,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Update constraint's virtual space - + Add auto constraints Add auto constraints - + Swap constraint names Trocar os nomes das constricións entre si - + Rename sketch constraint Rename sketch constraint - + Drag Point Drag Point - + Drag Curve Drag Curve - + Drag Constraint Drag Constraint - + Modify sketch constraints Modify sketch constraints @@ -2169,59 +2286,59 @@ invalid constraints, degenerated geometry, etc. Erro auto constrición: esbozo sen solución despois de aplicar constricións de igualdade. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Non se pode adiviñar a intersección de curvas. Tenta engadir unha constrición entre os vértices das curvas que queres achaflanar. - - + + BSpline Geometry Index (GeoID) is out of bounds. A xeometría BSpline de Index (GeoID) está fora da construción. - + You are requesting no change in knot multiplicity. Vostede está solicitando sen troco en multiplicidade de nodo. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. A Xeometría Index (Geold) proporcionada non é unha curva BSpline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. O índice de nodo está fora dos límites. Note que según en concordancia coa notación da OCC, o primeiro nodo ten índice 1 e non 0. - + The multiplicity cannot be increased beyond the degree of the B-spline. A multiplicidade non pode incrementada máis alá do grao da BSpline. - + The multiplicity cannot be decreased beyond zero. A multiplicidade non pode ser diminuida máis alá de cero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC non é quen de diminuir a multiplicidade dentro da tolerancia máxima. - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2237,210 +2354,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Sketcher - + There are no modes that accept the selected set of subelements Non existen modos que acepten o conxunto de sub-elementos escolmado - + Broken link to support subelements Ligazón rompida cara os sub-elementos de soporte - - + + Unexpected error Erro imprevisto - + Face is non-planar A cara non é planar - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) As formas escolmadas teñen forma incorrecta (por exemplo, un bordo curvado onde é preciso un bordo recto) - + Sketch mapping Trazar esbozo - + Can't map the sketch to selected object. %1. Non se pode asinar o croquis ao obxecto escolmado. %1. - - + + Don't attach Non xuntar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Escolma errada @@ -2451,339 +2571,339 @@ invalid constraints, degenerated geometry, etc. Escolmar aresta(s) do esbozo. - + Not allowed to edit the datum because the sketch contains conflicting constraints Non permite editar os datos da referencia porque o esbozo contén constricións en conflito - + Dimensional constraint Constrinxir dimensión - + Cannot add a constraint between two external geometries. Cannot add a constraint between two external geometries. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Sketcher Constraint Substitution - + Keep notifying me of constraint substitutions Keep notifying me of constraint substitutions - - - + + + Only sketch and its support are allowed to be selected. Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. One of the selected has to be on the sketch. - - + + Select an edge from the sketch. Escolme unha aresta do esbozo. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Imposible constrinxir - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint Dobre constrición - - - - - + + + + + The selected edge already has a horizontal constraint! A bordo escolmado xa ten unha constrición horizontal! - - - + + + The selected edge already has a vertical constraint! A bordo escolmado xa ten unha constrición vertical! - - - - - - + + + + + + The selected edge already has a Block constraint! O bordo escolmado xa ten constrición de Bloque! - + The selected item(s) can't accept a horizontal constraint! O/s elemento/s escolmado/s non pode/n aceptar unha constrición horizontal! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Hai máis dun punto fixo escolmado. Escolma un máximo dun punto fixo! - + The selected item(s) can't accept a vertical constraint! O/s elemento/s escolmado/s non pode/n aceptar unha constrición vertical! - - - + + + Select vertices from the sketch. Escolmar vértices do esbozo. - + Select one vertex from the sketch other than the origin. Escolme un vértice do esbozo distinto da orixe. - + Select only vertices from the sketch. The last selected vertex may be the origin. Escolma só vértices do croquis. O último vértice escolmado pode ser a orixe. - + Wrong solver status Erro no estado do resolvedor - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. - + Select one edge from the sketch. Escolmado dun bordo dende o esbozo. - + Select only edges from the sketch. Escolmado só de bordos dende esbozos. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error Erro - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. No seu lugar aplicouse a tanxencia de punto final ao punto final. - + Select two or more points from the sketch. Escolmar dous ou máis vértices do esbozo. - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Escolme unicamente unha liña, unha liña mais un punto ou dous puntos do esbozo. - + Cannot add a length constraint on an axis! Non se pode engadir unha constrición de lonxitude nun eixo! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. Escolmar as cousas correctas do esbozo. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Ningún dos puntos escolmados foron limitados nas curvas respectivas, ben porque son partes dun mesmo elemento, ou ben porque os dous son de xeometría externa. - - - - + + + + Select exactly one line or up to two points from the sketch. Escolme unicamente unha liña ou ata dous puntos do esbozo. - + Cannot add a horizontal length constraint on an axis! Non se pode engadir unha constrición de lonxitude horizontal nun eixo! - + Cannot add a fixed x-coordinate constraint on the origin point! Non se pode engadir unha constrición de coordenada X no punto de orixe! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! Non se pode engadir unha constrición de lonxitude vertical nun eixo! - + Cannot add a fixed y-coordinate constraint on the origin point! Non se pode engadir unha constrición de coordenada Y no punto de orixe! - + Select two or more lines from the sketch. Escolmar dúas ou máis liñas do esbozo. - - + + Select at least two lines from the sketch. Escolmar polo menos dúas liñas do esbozo. - + Select a valid line. Select a valid line. - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2792,42 +2912,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c As combinacións aceptadas son: dúas curvas; cabo e curva; dous cabos; dúas curvas mais un punto. - + Select some geometry from the sketch. perpendicular constraint Escolme algunha xeometría do esbozo. - - + + Cannot add a perpendicularity constraint at an unconnected point! Non se pode engadir unha constrición de perpendicularidade nun punto non conectado! - - - + + + Perpendicular to B-spline edge currently unsupported. Perpendicular a arista de B-spline non compatible polo momento. - - + + One of the selected edges should be a line. Unha das arestas escolmadas debe de ser unha liña. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Aplicouse a tanxencia de punto final a punto final. Borrouse a constrición coincidente. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2836,179 +2956,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c As combinacións aceptadas son: dúas curvas; cabo e curva; dous cabos; dúas curvas mais un punto. - + Select some geometry from the sketch. tangent constraint Escolme algunha xeometría do esbozo. - - - + + + Cannot add a tangency constraint at an unconnected point! Non se pode engadir unha constrición de tanxencia nun punto non conectado! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! Cantidade incorrecta de obxectos escolmados! - - + + With 3 objects, there must be 2 curves and 1 point. Con 3 obxectos, debe de haber 2 curvas e 1 punto. - - - + + + Tangency to B-spline edge currently unsupported. Tanxencia sobre arista de B-spline non compatible polo momento. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Escolme un ou máis arcos ou círculos no esbozo. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. - - - + + + Constraint only applies to arcs or circles. Esta constrición só aplica a arcos ou círculos. - - + + Select one or two lines from the sketch. Or select two edges and a point. Escolme unha ou dúas liñas do esbozo. Ou escolme un punto e dúas arestas. - - + + Parallel lines Liñas paralelas - - + + An angle constraint cannot be set for two parallel lines. Unha constrición de ángulo non pode ser establecida por dúas liñas paralelas. - + Cannot add an angle constraint on an axis! Non se pode engadir unha constrición angular nun eixo! - + Select two edges from the sketch. Escolme dúas arestas do esbozo. - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. Sketch axes cannot be used in equality constraints. - + Equality for B-spline edge currently unsupported. Igualdade para arista de B-Spline non compatible polo momento. - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Escolme dous puntos e unha liña de simetría, dous puntos e un punto de simetría ou unha liña e un punto de simetría do esbozo. - - + + Cannot add a symmetry constraint between a line and its end points. Cannot add a symmetry constraint between a line and its end points. - - + + + + Cannot add a symmetry constraint between a line and its end points! Non se pode engadir unha constrición de simetría entre unha liña e os seus puntos finais! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. - + Selected objects are not just geometry from one sketch. Os obxectos escolmados non son a xeometría dun esbozo unicamente. - + Cannot create constraint with external geometry only. Cannot create constraint with external geometry only. - + Incompatible geometry is selected. Incompatible geometry is selected. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw on B-spline edge is currently unsupported. - - - - - + + + + + Select constraints from the sketch. Select constraints from the sketch. @@ -3030,155 +3153,155 @@ As combinacións aceptadas son: dúas curvas; cabo e curva; dous cabos; dúas cu Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error Erro do Kernel CAD - + None of the selected elements is an edge. Ningún dos elementos escolmados é unha aresta. - - + + At least one of the selected objects was not a B-Spline and was ignored. Canda menos un dos obxectos escolmados non é unha BSpline e foi ignorado. - - + + The selection comprises more than one item. Please select just one knot. A selección inclúe máis dun elemento. Por favor escolme só un nodo. - - + + Input Error Erro de Entrada - - + + None of the selected elements is a knot of a B-spline Ningún dos elementos escolmados é un nodo dunha B-spline - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Escolme elementos dun esbozo só. - + No constraint selected Ningunha constrición escolmada - + At least one constraint must be selected Débese escolmar polo menos unha constrición - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Unha construción simétrica require polo menos dous elementos xeométricos, sendo o último elemento xeométrico a referencia para construír a simetría. - + The last element must be a point or a line serving as reference for the symmetry construction. O último elemento debe de ser un punto ou unha liña, servindo como referencia para construír a simetría. - - + + A copy requires at least one selected non-external geometric element Unha copia require polo menos escolmar un elemento xeométrico non externo - + Delete All Geometry Borrar toda xeometría - + Are you really sure you want to delete all geometry and constraints? Are you really sure you want to delete all geometry and constraints? - + Delete All Constraints Borrar Tódalas Constricións - + Are you really sure you want to delete all the constraints? Estás certo de eliminar tódalas constricións? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3377,67 +3500,67 @@ As combinacións aceptadas son: dúas curvas; cabo e curva; dous cabos; dúas cu SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value Cambiar valor - + Toggle to/from reference Alternar para/de referencia - + Deactivate Desactivar - + Activate Activar - + Show constraints Amosar constricións - + Hide constraints Agochar constricións - + Rename Renomear - + Center sketch Centrar o esbozo - + Delete Desbotar - + Swap constraint names Trocar os nomes das constricións entre si - + Unnamed constraint Constrición sen nome - + Only the names of named constraints can be swapped. Só se poden permutar os nomes das constricións xa nomeadas. @@ -3445,74 +3568,74 @@ As combinacións aceptadas son: dúas curvas; cabo e curva; dous cabos; dúas cu SketcherGui::EditDatumDialog - + Insert angle Inserir un ángulo - + Angle: Ángulo: - + Insert radius Inserir un raio - + Radius: Radio: - + Insert diameter Insire diámetro - + Diameter: Diámetro: - + Insert weight Insert weight - + Weight: Peso: - + Refractive index ratio Constraint_SnellsLaw Índice de refracción - + Ratio n2/n1: Constraint_SnellsLaw Razón n2/n1: - + Insert length Inserir lonxitude - + Length: Lonxitude: - + Refractive index ratio Índice de refracción - + Ratio n2/n1: Razón n2/n1: @@ -3520,72 +3643,72 @@ As combinacións aceptadas son: dúas curvas; cabo e curva; dous cabos; dúas cu SketcherGui::ElementFilterList - + Normal Normal - + Construction Construción - + Internal Internal - + External Externo - + All types All types - + Point Punto - + Line Liña - + Circle Círculo - + Ellipse Elipse - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3593,142 +3716,142 @@ As combinacións aceptadas son: dúas curvas; cabo e curva; dous cabos; dúas cu SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Point on Object - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Simetría - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance Distancia Horizontal - + Vertical Distance Distancia vertical - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Alternar xeometrías construción/debuxo - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Layer - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Hidden - + Delete Desbotar @@ -4014,6 +4137,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Notificación automática substitución de constricións + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Ambos + + + + Auto + Automático + + + + Diameter + Diámetro + + + + Radius + Radio + SketcherGui::SketcherSettingsColors @@ -4459,12 +4651,12 @@ Then objects are only visible behind the sketch plane. Aplicar ós esbozos existentes - + Unexpected C++ exception Excepción de C++ inesperada - + Sketcher Sketcher @@ -4637,48 +4829,48 @@ Pola contra, non se atoparon constricións ligadas os cabos. Axustes - + Constraints Constraints - + Auto constraints Constricións automáticas - + Auto remove redundants Auto remove redundants - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error Erro - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4710,6 +4902,33 @@ Pola contra, non se atoparon constricións ligadas os cabos. Settings Axustes + + + + + + + + + + + + Construction + Construción + + + + Elements + Elementos + + + + + + + Point + Punto + @@ -4721,110 +4940,83 @@ Pola contra, non se atoparon constricións ligadas os cabos. - Construction - Construción - - - - Elements - Elementos - - - - - - - Point - Punto - - - - - - - - - - - - Internal Internal - - + + + - Line Liña - - + + + - Arc Arco - - + + + - Circle Círculo - - + + + - Ellipse Elipse - - + + + - Elliptical Arc Arco elíptico - - + + + - Hyperbolic Arc Arco hiperbólico - - + + + - Parabolic Arc Arco parabólico - - + + + - BSpline BSpline - - + + + - Other Outros - + Extended information Extended information @@ -4832,42 +5024,42 @@ Pola contra, non se atoparon constricións ligadas os cabos. SketcherGui::TaskSketcherMessages - + Solver messages Mensaxes do resolvedor - + Auto update Auto update - + Executes a recomputation of active document after every sketch action Executes a recomputation of active document after every sketch action - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5045,112 +5237,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Edit sketch - + A dialog is already open in the task panel A dialog is already open in the task panel - + Do you want to close this dialog? Do you want to close this dialog? - + Invalid sketch Esbozo non válido - + Do you want to open the sketch validation tool? Quere abrir a ferramenta de validación do esbozo? - + The sketch is invalid and cannot be edited. O esbozo non é válido e non se pode editar. - + Please remove the following constraint: Por favor, remova a seguinte constrición: - + Please remove at least one of the following constraints: Por favor, remova polo menos unha das seguintes constricións: - + Please remove the following redundant constraint: Por favor, remova a seguinte constrición redundante: - + Please remove the following redundant constraints: Por favor, remova a seguintes constricións redundantes: - + The following constraint is partially redundant: The following constraint is partially redundant: - + The following constraints are partially redundant: The following constraints are partially redundant: - + Please remove the following malformed constraint: Please remove the following malformed constraint: - + Please remove the following malformed constraints: Please remove the following malformed constraints: - + Empty sketch Esbozo baleiro - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Redundant constraints: - + Partially redundant: Partially redundant: - + Solver failed to converge Solver failed to converge - + Under constrained: Under constrained: - + %n DoF(s) %n DoF(s) @@ -5158,7 +5350,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Fully constrained @@ -5166,8 +5358,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Cambia entre amosar e agochar o peite de curvatura para tódalas B-splines @@ -5175,8 +5367,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Diminuir a multiplicidade do nodo escolmado dunha B-spline @@ -5184,8 +5376,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Cambia entre amosar e agochar o grao para tódalas B-splines @@ -5193,8 +5385,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Modifica a multiplicidade do nodo escolmado dunha B-spline @@ -5202,8 +5394,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Troca entre amosar e agochar o polígono de control para tódalas B-splines @@ -5211,8 +5403,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -5220,8 +5412,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Cambia entre amosar e agochar o polígono de control para tódalas B-splines @@ -5229,8 +5421,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Fai un clon da xeometría collendo como referencia o último punto escolmado @@ -5238,17 +5430,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Clonar - + Copy Copiar - + Move Mover @@ -5256,8 +5448,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fixa o diámetro dun círculo ou arco @@ -5265,7 +5457,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5273,8 +5465,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fixa o raio dun círculo ou arco @@ -5282,7 +5474,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5290,8 +5482,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Fai unha simple copia da xeometría collendo como referencia o último punto escolmado @@ -5510,64 +5702,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Non se atopou ningún esbozo - + The document doesn't have a sketch O ficheiro non ten ningún esbozo - + Select sketch Escolmar esbozo - + Select a sketch from the list Escolme un esbozo da listaxe - + (incompatible with selection) (incompatible coa selección) - + (current) (actual) - + (suggested) (suxerido) - + Sketch attachment Esbozo achegado - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. - + Select the method to attach this sketch to selected objects. Escolmar o xeito de achegar este esbozo ós obxectos escolmados. - + Map sketch Trazar esbozo - + Can't map a sketch to support: %1 Non se pode trazar un esbozo para o soporte: @@ -5577,8 +5769,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Mover a xeometría tomando coma referencia o último punto escolmado @@ -5586,12 +5778,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Esbozo achegado - + Select the method to attach this sketch to selected object Escolmar o xeito de achegar este esbozo ós obxectos escolmados @@ -5599,12 +5791,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support O esbozo ten soporte - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Un esbozo apoiado nunha cara de soporte non pode ser reorientado. Quere separalo do seu soporte? @@ -5612,11 +5804,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Formulario - DOF @@ -5635,11 +5822,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Formulario - Default algorithm used for Sketch solving @@ -5912,7 +6094,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more and %1 more @@ -6102,22 +6284,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6125,87 +6307,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Erro - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6247,8 +6429,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6345,9 +6527,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error Value Error @@ -6383,58 +6565,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - Xeometría de construción + Normal Geometry + Normal Geometry + Construction Geometry + Xeometría de construción + + + + + External Geometry External Geometry @@ -6455,12 +6637,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6468,12 +6650,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6504,4 +6686,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Acoutamento + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hr.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hr.ts index 7caeaa42d9..fee3081c74 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hr.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hr.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Pokaži/Sakrij češalj zakrivljenosti B-spline krive - + Switches between showing and hiding the curvature comb for all B-splines Prijelaz između pokazivanja i skrivanja češlja zakrivljenosti za sve (B-splines) zakrivljene linije @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Pokaži/Sakrij B-spline stupnjevi - + Switches between showing and hiding the degree for all B-splines Prijelaz između pokazivanja i skrivanja intenziteta za sve (B-splines) zakrivljene linije @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Pokaži/Sakrij B-spline uvišestručenje čvora - + Switches between showing and hiding the knot multiplicity for all B-splines Prijelaz između pokazivanja i skrivanja za višestrukost čvora (B-splines) zakrivljene linije @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Pokaži/Sakrij kontroliraj težinu točke B-spline - + Switches between showing and hiding the control point weight for all B-splines Prebacuje se između prikazivanja i skrivanja težine kontrolne točke za sve B-splines @@ -58,12 +58,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Pokaži/Sakrij kontrolni višekutnik Bezierove krivulje - + Switches between showing and hiding the control polygons for all B-splines Prijelaz između pokazivanja i skrivanja kontrolnog višekutnika (B-splines) zakrivljene linije @@ -84,12 +84,12 @@ CmdSketcherClone - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Stvara klon geometrije uzimajući kao referencu zadnje odabranu točku @@ -97,32 +97,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Pokaži/Sakrij B-spline Sloj Informacije - + Show/hide B-spline degree Pokaži/Sakrij B-spline stupnjevi - + Show/hide B-spline control polygon Pokaži/Sakrij kontrolni višekutnik Bezierove krivulje - + Show/hide B-spline curvature comb Pokaži/Sakrij češalj zakrivljenosti B-spline krive - + Show/hide B-spline knot multiplicity Pokaži/Sakrij B-spline uvišestručenje čvora - + Show/hide B-spline control point weight Pokaži/Sakrij kontroliraj težinu točke B-spline @@ -130,27 +130,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Ograničiti luk ili krug - + Constrain an arc or a circle Ograniči luk ili krug - + Constrain radius Ograniči radijus - + Constrain diameter Ograniči promjer - + Constrain auto radius/diameter Ograničiti automatski polumjer/promjer @@ -158,12 +158,12 @@ CmdSketcherCompCopy - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Stvara klon geometrije uzimajući kao referencu zadnje odabranu točku @@ -367,22 +367,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Izmijeniti višestrukost čvora - + Modifies the multiplicity of the selected knot of a B-spline Mijenja umnožak odabranoga čvora B-spline krive - + Increase knot multiplicity Povećanje višestrukosti čvora - + Decrease knot multiplicity Smanjenje višestrukosti čvora @@ -390,12 +390,12 @@ CmdSketcherConstrainAngle - + Constrain angle Ograniči kut - + Fix the angle of a line or the angle between two lines Fiksiraj kut linije ili kut između dvije linije @@ -403,12 +403,12 @@ CmdSketcherConstrainBlock - + Constrain block Blok ograničenja - + Block the selected edge from moving Blokira pomjeranje izabranog ruba @@ -416,12 +416,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Ograničiti zajedničko - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Stvorite koincidentno ograničenje između točaka ili koncentrično ograničenje između krugova, lukova i elipsa @@ -429,12 +429,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Ograniči promjer - + Fix the diameter of a circle or an arc Popravi promjer kruga ili luka @@ -442,12 +442,12 @@ CmdSketcherConstrainDistance - + Constrain distance Ograniči udaljenost - + Fix a length of a line or the distance between a line and a vertex or between two circles Namjestiti duljinu linije ili rastojanje između linije i tjemene točke ili rastojanje između dva kruga @@ -455,12 +455,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Ograniči horizontalnu udaljenost - + Fix the horizontal distance between two points or line ends Ograniči horizontalnu udaljenost između dvije točke ili krajeva linije @@ -468,12 +468,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Ograničenje okomite udaljenosti - + Fix the vertical distance between two points or line ends Ograniči vertikalnu udaljenost između dvije točke ili krajeva linije @@ -481,12 +481,12 @@ CmdSketcherConstrainEqual - + Constrain equal Ograniči jednaku duljinu - + Create an equality constraint between two lines or between circles and arcs Napravite ograničenje jednakosti između dvije linije ili između kružnica i lukova @@ -494,12 +494,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Ograniči vodoravno - + Create a horizontal constraint on the selected item Napravi vodoravno ograničenje na odabranoj jedinici @@ -507,12 +507,12 @@ CmdSketcherConstrainLock - + Constrain lock Ograniči pomicanje - + Create both a horizontal and a vertical distance constraint on the selected vertex Napravi ograničenje vodoravno i okomito ograničenje udaljenosti @@ -522,12 +522,12 @@ na odabranoj tjemenoj točki CmdSketcherConstrainParallel - + Constrain parallel Ograniči paralelno - + Create a parallel constraint between two lines Napravi paralelno ograničenje između dvije linije @@ -535,12 +535,12 @@ na odabranoj tjemenoj točki CmdSketcherConstrainPerpendicular - + Constrain perpendicular Ograniči okomito - + Create a perpendicular constraint between two lines Stvara okomito ograničenje između dvije linije @@ -548,12 +548,12 @@ na odabranoj tjemenoj točki CmdSketcherConstrainPointOnObject - + Constrain point onto object Ograniči točku na objekt - + Fix a point onto an object Fiksiraj točku na objekt @@ -561,12 +561,12 @@ na odabranoj tjemenoj točki CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Ograničiti automatski polumjer/promjer - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fiksirajte promjer ako je odabrana kružnica ili radijus ako je odabran luk/spline pol @@ -574,14 +574,14 @@ na odabranoj tjemenoj točki CmdSketcherConstrainRadius - + Constrain radius or weight Ograniči radijus ili težinu - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Popravite radijus kruga ili luka ili fiksirajte težinu pola B-zavoja @@ -589,12 +589,12 @@ na odabranoj tjemenoj točki CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Ograniči lom (Snell's zakon ') - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Stvaranje zakona loma svijetla (Snell's law) ograničenje između dvije krajnje točke zrake i ruba kao sučelja. @@ -603,12 +603,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Ograniči simetrijski - + Create a symmetry constraint between two points with respect to a line or a third point Stvoriti simetrično ograničenje između dvije točke u odnosu na liniju ili treću točku @@ -617,12 +617,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Ograniči tangentno - + Create a tangent constraint between two entities Napravi tangentno ograničenje između dva entiteta @@ -630,12 +630,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Ograniči okomito - + Create a vertical constraint on the selected item Napravi okomito ograničenje na odabranoj jedinici @@ -643,12 +643,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Pretvoriti geometriju u B-spline krivu - + Converts the selected geometry to a B-spline Pretvara zadane geometrije u B-spline krive @@ -656,12 +656,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Kopiraj - + Creates a simple copy of the geometry taking as reference the last selected point Stvara jednostavnu kopiju geometrije uzimajući kao referencu zadnje odabranu točku @@ -1020,12 +1020,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Smanjuje stupnjeve B-spline - + Decreases the degree of the B-spline Smanjuje stupnjeve B-spline krive @@ -1033,12 +1033,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Smanjenje višestrukosti čvora - + Decreases the multiplicity of the selected knot of a B-spline Smanjuje umnožak odabranoga čvora B-spline krive @@ -1046,12 +1046,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Brisanje svih ograničenja - + Delete all constraints in the sketch Brisanje svih ograničenja u skici @@ -1059,12 +1059,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Izbrisati sve geometrije - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Izbrisati sve geometrije i sva ograničenja u trenutnoj skici sa iznimkom vanjskih geometrija @@ -1072,12 +1072,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Uredi skicu - + Edit the selected sketch. Uređivanje odabrane skice. @@ -1111,12 +1111,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Povećava stupnjeve B-spline - + Increases the degree of the B-spline Povećava stupnjeve B-spline krive @@ -1124,12 +1124,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Povećanje višestrukosti čvora - + Increases the multiplicity of the selected knot of a B-spline Povećati mnoštvo odabranoga čvora B-spline krive @@ -1137,12 +1137,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Umetni čvor - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Umeće čvor na zadani parametar. Ako čvor već postoji na tom parametru, njegova množina se povećava za jedan. @@ -1150,12 +1150,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Spoji krivulje - + Join two curves at selected end points Spojite dvije krivulje na odabranim krajnjim točkama @@ -1163,12 +1163,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Zatvori skicu - + Finish editing the active sketch. Završi obradu aktivne skice. @@ -1176,12 +1176,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Preslikaj skicu na površinu ... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1192,7 +1192,7 @@ zatim pokrenite ovu naredbu, a zatim odaberite željenu skicu. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Neke od odabranih objekata ovise o skici koja treba biti mapirana. Kružne zavisnosti nisu dopuštene. @@ -1200,24 +1200,24 @@ zatim pokrenite ovu naredbu, a zatim odaberite željenu skicu. CmdSketcherMergeSketches - + Merge sketches Spajanje skica - + Create a new sketch from merging two or more selected sketches. Stvorite novu skicu spajanjem dviju ili više odabranih skica. - + Wrong selection Pogrešan odabir - + Select at least two sketches. Odaberite najmanje dvije skice. @@ -1225,12 +1225,12 @@ zatim pokrenite ovu naredbu, a zatim odaberite željenu skicu. CmdSketcherMirrorSketch - + Mirror sketch Zrcaljenje skice - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1239,12 +1239,12 @@ pomoću osi X ili Y ili početne točke, kao zrcalna referenca. - + Wrong selection Pogrešan odabir - + Select one or more sketches. Odaberite jednu ili više skica. @@ -1252,12 +1252,12 @@ kao zrcalna referenca. CmdSketcherMove - + Move Pomicanje - + Moves the geometry taking as reference the last selected point Pomakni geometriju uzimajući kao referencu zadnje odabranu točku @@ -1265,12 +1265,12 @@ kao zrcalna referenca. CmdSketcherNewSketch - + Create sketch Napravite skicu - + Create a new sketch. Stvoriti novu skicu. @@ -1278,12 +1278,12 @@ kao zrcalna referenca. CmdSketcherRectangularArray - + Rectangular array Pravokutna matrica. - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Stvara pravokutnu matricu uzorka geometrije uzimajući kao referencu zadnje odabranu točku @@ -1291,12 +1291,12 @@ kao zrcalna referenca. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Ukloni poravnanje osi - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modificira ograničenja radi uklanjanja poravnanja osi pokušavajući sačuvati odnos ograničenja odabira @@ -1304,12 +1304,12 @@ kao zrcalna referenca. CmdSketcherReorientSketch - + Reorient sketch... Preusmjeravanje skice... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Postavite odabranu skicu na jednu od globalnih koordinatnih ravnina. @@ -1319,12 +1319,12 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Pokaži/Sakrij unutarnju geometriju - + Show all internal geometry or hide unused internal geometry Pokaži sve unutarnje geometrije ili sakrij nekorištene unutarnje geometrije @@ -1332,8 +1332,8 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Odaberite sukobljena ograničenja @@ -1341,12 +1341,12 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectConstraints - + Select associated constraints Odaberite povezana ograničenja - + Select the constraints associated with the selected geometrical elements Odaberite ograničenja povezana sa odabranim geometrijskim elementima @@ -1354,12 +1354,12 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Odaberite povezane geometrije - + Select the geometrical elements associated with the selected constraints Odaberite geometrijske elemente povezane sa odabranim ograničenjima @@ -1367,12 +1367,12 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Odaberite neograničene stupnjeve slobode - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Odabir geometrijskih elemenata gdje alat za rješavanje (solver) još uvijek otkriva neograničene stupnjeve slobode. @@ -1380,12 +1380,12 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Odaberite vodoravnu os - + Select the local horizontal axis of the sketch Odaberite lokalnu vodoravnu os skice @@ -1395,8 +1395,8 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Odaberite deformirana ograničenja @@ -1404,12 +1404,12 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectOrigin - + Select origin Odaberite izvor - + Select the local origin point of the sketch Odaberite lokalnu početnu točku skice @@ -1419,8 +1419,8 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Odaberite djelomično suvišna ograničenja @@ -1428,8 +1428,8 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Odaberite suvišna ograničenja @@ -1437,12 +1437,12 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSelectVerticalAxis - + Select vertical axis Odaberite okomitu os - + Select the local vertical axis of the sketch Odaberite lokalnu okomitu os skice @@ -1463,12 +1463,12 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherStopOperation - + Stop operation Zaustavi rad - + When in edit mode, stop the active operation (drawing, constraining, etc.). U načinu uređivanja zaustavite aktivnu operaciju (crtanje, ograničavanje itd.). @@ -1491,12 +1491,12 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherSymmetry - + Symmetry Simetrija - + Creates symmetric geometry with respect to the last selected line or point Stvara simetrične geometrije u odnosu na zadnju odabranu liniju ili točku @@ -1504,14 +1504,14 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Prebaci aktivirati / isključiti ograničenje - + Activates or deactivates the selected constraints Uključuje ili isključuje odabrana ograničenja @@ -1532,14 +1532,14 @@ Ovo će očistiti svojstvo "Podrška", ako postoji. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Prebacuj vožnje / reference ograničenje - + Set the toolbar, or the selected constraints, into driving or reference mode Postavite alatnu traku ili odabrana ograničenja, @@ -1564,12 +1564,12 @@ u režim vožnje ili referentni CmdSketcherValidateSketch - + Validate sketch... Provjera skice... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Potvrdite skicu gledajući nedostajuće slučajnosti, @@ -1578,12 +1578,12 @@ nevaljana ograničenja, degenerirana geometrija itd. - + Wrong selection Pogrešan odabir - + Select only one sketch. Odaberite samo jednu skicu. @@ -1591,12 +1591,12 @@ nevaljana ograničenja, degenerirana geometrija itd. CmdSketcherViewSection - + View section Prikaz projekcije - + When in edit mode, switch between section view and full view. Kada ste u načinu uređivanja, prebacujte se između prikaza odjeljka i punog prikaza. @@ -1606,12 +1606,12 @@ nevaljana ograničenja, degenerirana geometrija itd. CmdSketcherViewSketch - + View sketch Pregledaj skicu - + When in edit mode, set the camera orientation perpendicular to the sketch plane. U načinu uređivanja postavite orijentaciju kamere okomito na ravninu skice. @@ -1621,315 +1621,432 @@ nevaljana ograničenja, degenerirana geometrija itd. Command - - + + Add horizontal constraint Dodajte vodoravno ograničenje - - - + + + Add horizontal alignment Dodajte vodoravno poravnavanje - - + + Add vertical constraint Dodajte okomito ograničenje - + Add vertical alignment Dodajte okomito poranavanje - + Add 'Lock' constraint Dodajte 'Zaključaj' ograničenje - + Add relative 'Lock' constraint Dodajte relativno 'Zaključaj' ograničenje - + Add fixed constraint Dodajte fiksno ograničenje - + Add 'Block' constraint Dodajte 'Blok' ograničenje - + Add block constraint Dodaje blok ograničenje - - - + + + Add coincident constraint Dodajte podudarno ograničenje - - + + Add distance from horizontal axis constraint Dodajte udaljenost od ograničenja vodoravne osi - - + + Add distance from vertical axis constraint Dodajte udaljenost od ograničenja okomite osi - - + + Add point to point distance constraint Dodajte ograničenje udaljenosti od točke do točke - - + + + Add point to line Distance constraint Dodaj ograničenje udaljenosti od točke do linije - - + + Add circle to circle distance constraint Dodaj ograničenje između dva kruga - + Add circle to line distance constraint Dodaj ograničenje između kruga i linije - - + + + + + Add length constraint Dodajte ograničenje duljine - - + + + Dimension + Dimenzija + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Dodajte ograničenje udaljenosti točka na objektu - - + + Add point to point horizontal distance constraint Dodajte ograničenje vodoravne udaljenosti od točke do točke - + Add fixed x-coordinate constraint Dodajte fiksno x-koordinata ograničenje - - + + Add point to point vertical distance constraint Dodajte ograničenje okomite udaljenosti od točke do točke - + Add fixed y-coordinate constraint Dodajte fiksno y-koordinata ograničenje - - + + Add parallel constraint Dodajte paralelno ograničenje - - - - - - - + + + + + + + Add perpendicular constraint Dodajte vertikalno ograničenje - + Add perpendicularity constraint Dodajte vertikalno ograničenje - + Swap coincident+tangency with ptp tangency Zamijeni slučajnost + tangencija s ptp tangencijom - + Swap PointOnObject+tangency with point to curve tangency Zamijenite točka na objektu+dodiruje s točka na krivulji dodiruje - - - - - - - + + + + + + + Add tangent constraint Dodajte tangencijalno ograničenje - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Dodajte točku tangencijalno ograničenje - - - - + + + + Add radius constraint Dodajte ograničenje polumjera - - - - + + + + Add diameter constraint Dodajte ograničenje promjera - - - - + + + + Add radiam constraint Dodaj polumjer-promjer ograničenje - - - - - - + + + + + + Add angle constraint Dodajte ograničenje kuta - - + + Add equality constraint Dodajte ograničenje jednakosti - - - - - + + + + + Add symmetric constraint Dodajte ograničenje simetrije - + Add Snell's law constraint Dodajte ograničenje Snell's law - + Toggle constraint to driving/reference Uključivanje ograničenja na pogon / referencu - + Activate/Deactivate constraint Aktiviranje / deaktiviranje ograničenja - + Create a new sketch on a face Stvorite novu skicu na licu - + Create a new sketch Napravi novu skicu - + Reorient sketch Preusmjeravanje skice - + Attach sketch Priloži skicu - + Detach sketch Skini skicu - + Create a mirrored sketch for each selected sketch Stvorite zrcalnu skicu za svaku odabranu skicu - + Merge sketches Spajanje skica @@ -2053,78 +2170,78 @@ nevaljana ograničenja, degenerirana geometrija itd. Dodajte šesterokut - + Convert to NURBS Pretvori u NURBS - + Increase spline degree Povećava stupnjeve krive - + Decrease spline degree Smanjuje stupnjeve krive - + Increase knot multiplicity Povećanje višestrukosti čvora - + Decrease knot multiplicity Smanjenje višestrukosti čvora - + Insert knot Umetni čvor - + Join Curves Spoji krivulje - + Exposing Internal Geometry Izlaganje unutarnje geometrije - + Create symmetric geometry Stvaranje simetrične geometrije - + Copy/clone/move geometry Kopiraj / kloniraj / pomakni geometriju - + Create copy of geometry Stvori kopiju geometrije - + Delete all geometry Izbrisati sve geometrije - + Delete All Constraints Brisanje svih ograničenja - + Remove Axes Alignment Ukloni poravnanje osi @@ -2137,48 +2254,48 @@ nevaljana ograničenja, degenerirana geometrija itd. - - - + + + Update constraint's virtual space Ažuriraj virtualni prostor ograničenja - + Add auto constraints Dodajte automatska ograničenja - + Swap constraint names Zamjeni imena ograničenja - + Rename sketch constraint Preimenujte ograničenja skica - + Drag Point Povucite točku - + Drag Curve Povucite krivulju - + Drag Constraint Povucite ograničenje - + Modify sketch constraints Izmijenite ograničenja skica @@ -2239,61 +2356,61 @@ nevaljana ograničenja, degenerirana geometrija itd. Automatsko ograničenje, pogreška: nerješiva skica nakon primjene izjednačavajućih ograničenja. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Nije moguće odrediti sjecište krivulje. Pokušajte dodati podudarno ograničenje između vrhova krivulje koju namjeravate obrubiti. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline Indeks Geometrije (GeoID) je izvan granica. - + You are requesting no change in knot multiplicity. Vi zahtijevate: bez promjena u mnoštvu čvorova. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Indeks Geometrija (GeoId) pod uvjetom da nije B-spline krivulja. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Čvor indeks je izvan granica. Imajte na umu da u skladu s OCC notacijom, prvi čvor ima indeks 1 a ne nula. - + The multiplicity cannot be increased beyond the degree of the B-spline. Mnoštvo se ne može povećavati iznad stupanja mnoštva b-spline krive. - + The multiplicity cannot be decreased beyond zero. Mnoštvo se ne može smanjiti ispod nule. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC je uspio smanjiti mnoštvo unutar maksimalne tolerancije. - + Knot cannot have zero multiplicity. Čvor ne može sa nulom multiplicirati. - + Knot multiplicity cannot be higher than the degree of the BSpline. Mnoštvo čvorova ne može biti veće od stupnja BSplina. - + Knot cannot be inserted outside the BSpline parameter range. Čvor se ne može umetnuti izvan raspona parametara BSpline. @@ -2309,210 +2426,213 @@ nevaljana ograničenja, degenerirana geometrija itd. QObject - - - - + + + + Sketcher Skica - + There are no modes that accept the selected set of subelements Ne postoji načina da se prihvati odabrani skup pod-elemenata - + Broken link to support subelements Prekinute veze za podršku pod-elemenata - - + + Unexpected error Neočekivana greška - + Face is non-planar Naličje nije ravan - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Odabrani oblici su pogrešne forme (npr., zakrivljenog ruba gdje je potreban ravni rub) - + Sketch mapping Preslikavanje skice - + Can't map the sketch to selected object. %1. Nije moguće preslikati skicu na odabrani objekt. %1. - - + + Don't attach Nemoj pridodati + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Pogrešan odabir @@ -2523,342 +2643,342 @@ nevaljana ograničenja, degenerirana geometrija itd. Odaberite rub(ove) iz skice. - + Not allowed to edit the datum because the sketch contains conflicting constraints Nije dopušteno mijenjati polazište, jer skica sadrži proturječna ograničenja - + Dimensional constraint Dimenzijonalno ograničenje - + Cannot add a constraint between two external geometries. Nije moguće dodati ograničenja između dvije vanjske geometrije. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Nije moguće dodati ograničenje između dvije fiksne geometrije. Fiksne geometrije uključuju vanjsku geometriju, blokiranu geometriju i posebne točke kao što su čvorne točke B-splinea. - + Sketcher Constraint Substitution Zamjena ograničenja skice - + Keep notifying me of constraint substitutions Obavijesti me o zamjeni ograničenja - - - + + + Only sketch and its support are allowed to be selected. Dopušteno je odabrati samo skicu i njenu podršku. - + One of the selected has to be on the sketch. Jedan od odabranih mora biti na skici. - - + + Select an edge from the sketch. Odaberite rub skice. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Nemoguće ograničenje - - - - + + + + The selected edge is not a line segment. Odabrani rub nije segment linije. - - - - - - + + + + + + Double constraint Ograničenje dvaput - - - - - + + + + + The selected edge already has a horizontal constraint! Odabrani rub već ima vodoravno ograničenje! - - - + + + The selected edge already has a vertical constraint! Odabrani rub već ima okomito ograničenje! - - - - - - + + + + + + The selected edge already has a Block constraint! Odabrani rub već ima blok ograničenje! - + The selected item(s) can't accept a horizontal constraint! Odabrani objekt(i) ne mogu prihvatiti horizontalno ograničenje! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Odabrano više od jedne fiksne točke. Odaberite najviše jednu fiksnu točku! - + The selected item(s) can't accept a vertical constraint! Odabrani objekt(i) ne mogu prihvatiti vertikalno ograničenje! - - - + + + Select vertices from the sketch. Odaberite samo vrhove sa skice. - + Select one vertex from the sketch other than the origin. Odaberite jednu vrh točku iz skice koja nije u ishodištu. - + Select only vertices from the sketch. The last selected vertex may be the origin. Odaberite samo krajnje točke skice. Posljednje odabrana tjemena točka je možda ishodište. - + Wrong solver status Pogrešan status alata za rješavanje (solver) - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Blok ograničenja ne može biti dodan ako skica nije riješena ili postoje redundantna i/ili proturječna ograničenja. - + Select one edge from the sketch. Odaberite jedan rub skice. - + Select only edges from the sketch. Odaberite samo rubove sa skice. - + Number of selected objects is not 3 Broj odabranih objekata nije 3 - - - + + + Error Pogreška - + Unexpected error. More information may be available in the Report View. Neočekivana greška. Potražite više informacija u Pregledu izvješća. - + Endpoint to endpoint tangency was applied instead. Tangenta od krajnje točka do krajnje točke je primijenjena umjesto toga. - + Select two or more points from the sketch. Odaberite dvije ili više točaka na skici. - + Select two or more vertices from the sketch. Odaberite dva ili više tjemenih točaka na skici. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Odaberite dva ili više vrhova sa skice za koincidentno ograničenje, ili dva ili više krugova, elipsa, lukova ili lukova elipse za koncentrično ograničenje. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Odaberite dva vrha sa skice za koincidentno ograničenje ili dva kruga, elipse, lukove ili lukove elipse za koncentrično ograničenje. - + Select exactly one line or one point and one line or two points from the sketch. Odaberite točno jednu liniju ili jednu točku i jednu liniju ili dvije točke iz skice. - + Cannot add a length constraint on an axis! Ne možete dodati ograničenje duljine na osi! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Izaberi točno jednu liniju ili jednu točku i jednu liniju ili dvije točke ili dva kruga na skici. - + This constraint does not make sense for non-linear curves. Ovo ograničenje nema smisla za nelinearne krivulje. - + Endpoint to edge tangency was applied instead. Tangenta od krajnje točka do ruba je primijenjena umjesto toga. - - - - - - - + + + + + + + Select the right things from the sketch. Odaberite prave stvari sa skice. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Odaberite rub koji nije težina B-krive. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Nijedna od odabranih točaka nije ograničena na dotične krivulje, jer su dijelovi istog elementa, jer su obje vanjska geometrija ili zato što rub ne ispunjava uvjete. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Nijedna od odabranih točaka nije bila je ograničena na dotične krivulje, ili su dijelovi isti element, ili su oba vanjske geometrije. - - - - + + + + Select exactly one line or up to two points from the sketch. Odaberite točno jednu liniju ili do dvije točke iz skice. - + Cannot add a horizontal length constraint on an axis! Nemoguće je dodati ograničenje duljine na os! - + Cannot add a fixed x-coordinate constraint on the origin point! Nije moguće dodati fiksno ograničenje X koordinate na izvornu točku! - - + + This constraint only makes sense on a line segment or a pair of points. Ovo ograničenje samo ima smisla na segmentu crte ili paru točaka. - + Cannot add a vertical length constraint on an axis! Nemoguće je dodati ograničenje duljine na os! - + Cannot add a fixed y-coordinate constraint on the origin point! Nije moguće dodati fiksno ograničenje Y koordinate na izvornu točku! - + Select two or more lines from the sketch. Odaberite dvije ili više linija iz skice. - - + + Select at least two lines from the sketch. Odaberite barem dvije linije iz skice. - + Select a valid line. Odaberite ispravnu liniju. - - + + The selected edge is not a valid line. Odabrani rub nije valjana linija. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2868,42 +2988,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Prihvatljive kombinacije: dvije krivulje; jedna krajnja točka i krivulja; dvije krajnje točke; dvije krivulje i točka. - + Select some geometry from the sketch. perpendicular constraint Odaberite neke geometrije sa skice. - - + + Cannot add a perpendicularity constraint at an unconnected point! Nemoguće je postaviti okomicu na nepovezanoj točki! - - - + + + Perpendicular to B-spline edge currently unsupported. Okomito na rub B-spline krive trenutno nije podržano. - - + + One of the selected edges should be a line. Jedan od doabranih rubova bi trebala biti linija. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Primijenjena je tangenta krajnja točka do krajnje točke. Podudarna ograničenja su izbrisana. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Primijenjena je tangenta krajnja točka do ruba. Točka na objekt ograničenja su izbrisana. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2913,183 +3033,186 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Prihvatljive kombinacije: dvije krivulje; jedna krajnja točka i krivulja; dvije krajnje točke; dvije krivulje i točka. - + Select some geometry from the sketch. tangent constraint Odaberite neke geometrije sa skice. - - - + + + Cannot add a tangency constraint at an unconnected point! Nemoguće je postaviti tangentu u nepovezanoj točki! - - + + Tangent constraint at B-spline knot is only supported with lines! Ograničenje tangente na B-krivulja čvoru podržano je samo s linijama! - + B-spline knot to endpoint tangency was applied instead. B-krivulja od krajnje točka do krajnje točke je primijenjena umjesto toga. - + Select either one point and several curves, or one curve and several points. Izaberi ili jednu točku i nekoliko krivih, ili jednu krivu i nekoliko točaka. - - + + Wrong number of selected objects! Pogrešan broj odabranih objekata! - - + + With 3 objects, there must be 2 curves and 1 point. Sa 3 objekta, ondje mora biti 2 krivulje i 1 točka. - - - + + + Tangency to B-spline edge currently unsupported. Tangencijalno na rub B-Spline krive trenutno nije podržano. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Odaberite jedan ili više lukova ili krugovima iz skice. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Odaberite samo jedan ili više B-Spline stupova ili samo jedan ili više lukova ili krugova sa skice, ali ne i mejšano. - - - + + + Constraint only applies to arcs or circles. Ograničenje se odnosi samo na lukove i krugove. - - + + Select one or two lines from the sketch. Or select two edges and a point. Odaberite jednu ili dvije linije na skici. Ili odaberite dva ruba i točku. - - + + Parallel lines Paralelne linije - - + + An angle constraint cannot be set for two parallel lines. Kut ograničenje ne može se postaviti za dvije paralelne linije. - + Cannot add an angle constraint on an axis! Nemoguće je dodati ograničenje kuta osi! - + Select two edges from the sketch. Odaberite dva ruba iz skice. - + Select two or more compatible edges. Odaberite dva ili više kompatibilnih rubova. - + Sketch axes cannot be used in equality constraints. Osi skice ne mogu se koristiti u ograničenjima jednakosti. - + Equality for B-spline edge currently unsupported. Izjednačavanje na rub B-Spline krive trenutno nije podržano. - - - + + + + Select two or more edges of similar type. Odaberite dva ili više rubova sličnog tipa. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Odaberite dvije točke i liniju simetrije, dvije točke i točku simetrije ili liniju i točku simetrije iz skice. - - + + Cannot add a symmetry constraint between a line and its end points. Nije moguće dodati ograničenje simetrije između crte i njenih krajnjih točaka. - - + + + + Cannot add a symmetry constraint between a line and its end points! Nemoguće je postaviti simetriju između linije i njenih vrhova! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Odaberite dvije krajnje točke linije kao zrake, rub predstavlja granicu. Prva odabrana točka odgovara indeksu n1, druga indeksu n2 a vrijednost polazišta postavlja omjer na n2/n1. - + Selected objects are not just geometry from one sketch. Odabrani objekti nisu samo geometrije iz jedne skice. - + Cannot create constraint with external geometry only. Ne možete stvoriti ograničenja samo s vanjskom geometrijom. - + Incompatible geometry is selected. Nespojiva geometrije je odabrana. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw na B-spline trenutno nije podržano. - - - - - + + + + + Select constraints from the sketch. Odaberite ograničenja sa skice. @@ -3113,157 +3236,157 @@ Prihvatljive kombinacije: dvije krivulje; jedna krajnja točka i krivulja; dvije + + - - CAD Kernel Error CAD Kernel greška - + None of the selected elements is an edge. Nijedan odabrani element nije jedan rub. - - + + At least one of the selected objects was not a B-Spline and was ignored. Barem jedan od odabranih objekata nije bio B-Spline, i bio je zanemaren. - - + + The selection comprises more than one item. Please select just one knot. Izbor se sastoji od više od jedne stavke. Odaberite samo jedan čvor. - - + + Input Error Ulazna greška - - + + None of the selected elements is a knot of a B-spline Nijedan od odabranih elemenata nije čvor od B-spline krive - - + + Selection is empty Odabir je prazan - + Nothing is selected. Please select a b-spline. Ništa nije odabrano. Odaberite B-krivulju. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Odaberite krivulju B-krivulja da biste umetnuli čvor (ne čvor na njoj). Ako krivulja nije B-krivulja, prvo je pretvorite u jednu. - + Nothing is selected. Please select end points of curves. Ništa nije odabrano. Odaberite krajnje točke krivulja. - + Too many curves on point Previše krivulja na mjestu - - + + Exactly two curves should end at the selected point to be able to join them. Točno dvije krivulje trebaju završiti na odabranoj točki da bi se mogle spojiti. - + Too few curves on point Premalo krivulja na mjestu - + Two end points, or coincident point should be selected. Treba odabrati dvije krajnje točke ili točku koja se podudara. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Odaberite elemente iz jedne skice. - + No constraint selected Nema odabranoga ograničenja - + At least one constraint must be selected Morate odabrati barem jedno ograničenje - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Simetrična konstrukcija zahtijeva najmanje dva geometrijska elemenata, posljednji geometrijski element je referenca za simetriju konstrukcije. - + The last element must be a point or a line serving as reference for the symmetry construction. Posljednji element mora biti točka ili crta koja služi kao referenca za simetriju konstrukcije. - - + + A copy requires at least one selected non-external geometric element Kopija zahtijeva barem jedan odabrani ne-vanjski geometrijski element - + Delete All Geometry Izbrisati sve geometrije - + Are you really sure you want to delete all geometry and constraints? Jesi li zaista sigurni da želite izbrisati sve geometrije i ograničenja? - + Delete All Constraints Brisanje svih ograničenja - + Are you really sure you want to delete all the constraints? Jesi li zaista sigurni da želite izbrisati sva ograničenja? - + Removal of axes alignment requires at least one selected non-external geometric element Uklanjanje poravnanja osi zahtijeva najmanje jedan odabrani ne-vanjski geometrijski element - + Unsupported visual layer operation Operacija vizualnog sloja nije moguća - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Trenutno je nemoguće premjestiti vanjsku geometriju na drugi vizualni sloj. Vanjska geometrija će biti izostavljena. @@ -3341,7 +3464,7 @@ Prihvatljive kombinacije: dvije krivulje; jedna krajnja točka i krivulja; dvije Coincident - Coincident + Podudarno @@ -3462,67 +3585,67 @@ Prihvatljive kombinacije: dvije krivulje; jedna krajnja točka i krivulja; dvije SketcherGui::ConstraintView - + Select Elements Odaberi elemente - + Change value Promjena vrijednosti - + Toggle to/from reference Prebaci u/iz referencu/e - + Deactivate Dezaktivirati - + Activate Aktivirati - + Show constraints Pokaži ograničenja - + Hide constraints Sakrij ograničenja - + Rename Preimenuj - + Center sketch Centriraj skicu - + Delete Izbriši - + Swap constraint names Zamjeni imena ograničenja - + Unnamed constraint Bezimeno ograničenje - + Only the names of named constraints can be swapped. Samo imena imenovanih ograničenja mogu biti zamijenjena. @@ -3530,74 +3653,74 @@ Prihvatljive kombinacije: dvije krivulje; jedna krajnja točka i krivulja; dvije SketcherGui::EditDatumDialog - + Insert angle Umetni kut - + Angle: Kut: - + Insert radius Umetni polumjer - + Radius: Polumjer: - + Insert diameter Umetanje promjera - + Diameter: Promjer: - + Insert weight Umetni težinu - + Weight: Težina: - + Refractive index ratio Constraint_SnellsLaw Omjer indeksa loma - + Ratio n2/n1: Constraint_SnellsLaw Omjer n2/n1: - + Insert length Unesite dužinu - + Length: Duljina: - + Refractive index ratio Omjer indeksa loma - + Ratio n2/n1: Omjer n2/n1: @@ -3605,72 +3728,72 @@ Prihvatljive kombinacije: dvije krivulje; jedna krajnja točka i krivulja; dvije SketcherGui::ElementFilterList - + Normal Normalno - + Construction Izgradnja - + Internal Interno - + External Externi - + All types Svi tipovi - + Point Točka - + Line Linija - + Circle Krug - + Ellipse Elipsa - + Arc of circle luk kruga - + Arc of ellipse luk elipse - + Arc of hyperbola luk hiperbole - + Arc of parabola luk parabole - + B-Spline B-krivulja @@ -3678,144 +3801,144 @@ Prihvatljive kombinacije: dvije krivulje; jedna krajnja točka i krivulja; dvije SketcherGui::ElementView - + Point Coincidence Podudarnost točke - + Point on Object Točka na objektu - + Vertical Constraint Uspravno ograničenje - + Horizontal Constraint Vodoravno ograničenje - + Parallel Constraint Paralelno ograničenje - + Perpendicular Constraint Okomito ograničenje - + Tangent Constraint Tangencijalno ograničenje - + Equal Length Jednaka duljina - + Symmetric Simetrično - + Block Constraint Ograničenje blokiranjem - + Lock Constraint Ograničenje zaključavanjem - + Horizontal Distance Vodoravna udaljenost - + Vertical Distance Okomita udaljenost - + Length Constraint Ograničenje dužine - + Radius Constraint Ograničenje polumjera - + Diameter Constraint Ograničenje promjera - + Radiam Constraint Ograničenje polumjera/promjera - + Angle Constraint Ograničenje kuta - + Toggle construction geometry Uključivanje/isključivanje konstrukcijske geometrije - + Select Constraints Odaberite ograničenja - + Select Origin Odaberite izvornik - + Select Horizontal Axis Odaberite vodoravnu os - + Select Vertical Axis Odaberite uspravnu os - + Layer Sloj - + Layer 0 Sloj 0 - + Layer 1 Sloj 1 - + Hidden Skriveno - + Delete Izbriši @@ -4115,6 +4238,75 @@ Za stupanje na snagu zahtijeva ponovni ulazak u način uređivanja. Notify automatic constraint substitutions Obavijesti automatski zamjene ograničenja + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Oboje + + + + Auto + Automatski + + + + Diameter + Promjer + + + + Radius + Polumjer + SketcherGui::SketcherSettingsColors @@ -4570,12 +4762,12 @@ Tada su vidljivi samo objekti iza ravnine skice. Primijeni na postojeće skice - + Unexpected C++ exception Neočekivani C++ izuzetak - + Sketcher Skica @@ -4754,50 +4946,50 @@ Međutim, nema povezanih ograničenja na krajnje točake. Postavke - + Constraints Ograničenja - + Auto constraints Auto ograničenja - + Auto remove redundants Automatsko uklanjanje suvišnoga - + Show only filtered Constraints Prikaži samo filtrirana ograničenja - + Extended information (in widget) Proširene informacije (u dodatku) - + Hide internal alignment (in widget) Sakrij unutarnje poravnanje (u dodatku) - - + + Error Pogreška - + Impossible to update visibility tracking Praćenje vidljivosti nije moguće ažurirati. - + Impossible to update visibility tracking: Praćenje vidljivosti nije moguće ažurirati: @@ -4829,6 +5021,33 @@ Međutim, nema povezanih ograničenja na krajnje točake. Settings Postavke + + + + + + + + + + + + Construction + Izgradnja + + + + Elements + Elementi + + + + + + + Point + Točka + @@ -4840,110 +5059,83 @@ Međutim, nema povezanih ograničenja na krajnje točake. - Construction - Izgradnja - - - - Elements - Elementi - - - - - - - Point - Točka - - - - - - - - - - - - Internal Interno - - + + + - Line Linija - - + + + - Arc Luk - - + + + - Circle Krug - - + + + - Ellipse Elipsa - - + + + - Elliptical Arc Eliptični luk - - + + + - Hyperbolic Arc Hiperbolni luk - - + + + - Parabolic Arc Parabolični luk - - + + + - BSpline BSpline - - + + + - Other Drugo - + Extended information Proširene informacije @@ -4951,44 +5143,44 @@ Međutim, nema povezanih ograničenja na krajnje točake. SketcherGui::TaskSketcherMessages - + Solver messages Poruke Solvera - + Auto update Automatski ažuriraj - + Executes a recomputation of active document after every sketch action Izvršava preračunavanje aktivnog dokumenta nakon svake radnje skice - + Click to select the conflicting constraints. Kliknite za odabir suprotstavljenih ograničenja. - + Click to select the redundant constraints. Kliknite za odabir suvišnih ograničenja. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Neograničeni elementi skice dovode do tih stupnjeva slobode.. Kliknite za odabir neograničenih elemenata skice. - + Click to select the malformed constraints. Kliknite za odabir deformiranih ograničenja. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Neke su kombinacije ograničenja djelomično redundantne. Kliknite za odabir ograničenja koja su djelomično redundantna. @@ -5168,112 +5360,112 @@ To se radi analizom geometrije i ograničenja skice. SketcherGui::ViewProviderSketch - + Edit sketch Uredi skicu - + A dialog is already open in the task panel Dijalog je već otvoren u ploči zadataka - + Do you want to close this dialog? Želite li zatvoriti ovaj dijalog? - + Invalid sketch Neispravna skica - + Do you want to open the sketch validation tool? Želite li otvoriti alat provjera valjanosti skice? - + The sketch is invalid and cannot be edited. Skica je neispravna i ne može se uređivati. - + Please remove the following constraint: Molim uklonite sljedeće ograničenje: - + Please remove at least one of the following constraints: Molim uklonite barem jedno od sljedećih ograničenja: - + Please remove the following redundant constraint: Molimo obrišite ovo redundantno ograničenje: - + Please remove the following redundant constraints: Molimo obrišite ova redundantna ograničenja: - + The following constraint is partially redundant: Sljedeće ograničenje je djelomično suvišno: - + The following constraints are partially redundant: Sljedeća ograničenja su djelomično suvišna: - + Please remove the following malformed constraint: Uklonite sljedeće deformirano ograničenje: - + Please remove the following malformed constraints: Uklonite sljedeća deformirana ograničenja: - + Empty sketch Prazan skica - + Over-constrained: Pretjerano ograničeno: - + Malformed constraints: Deformirana ograničenja: - + Redundant constraints: Suvišna ograničenja: - + Partially redundant: Djelomično suvišno: - + Solver failed to converge Solver nije uspio konvergirati - + Under constrained: Premalo ograničen: - + %n DoF(s) %n Stupanj slobode @@ -5282,7 +5474,7 @@ To se radi analizom geometrije i ograničenja skice. - + Fully constrained Potpuno ograničen @@ -5290,8 +5482,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Prijelaz između pokazivanja i skrivanja češlja zakrivljenosti za sve (B-splines) zakrivljene linije @@ -5299,8 +5491,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Smanjuje umnožak odabranoga čvora B-spline krive @@ -5308,8 +5500,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Prijelaz između pokazivanja i skrivanja intenziteta za sve (B-splines) zakrivljene linije @@ -5317,8 +5509,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Povećati mnoštvo odabranoga čvora B-spline krive @@ -5326,8 +5518,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Prijelaz između pokazivanja i skrivanja za višestrukost čvora (B-splines) zakrivljene linije @@ -5335,8 +5527,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Prebacuje se između prikazivanja i skrivanja težine kontrolne točke za sve B-splines @@ -5346,8 +5538,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Prijelaz između pokazivanja i skrivanja kontrolnog višekutnika (B-splines) zakrivljene linije @@ -5355,8 +5547,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Stvara klon geometrije uzimajući kao referencu zadnje odabranu točku @@ -5364,17 +5556,17 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_CompCopy - + Clone Klon - + Copy Kopiraj - + Move Pomicanje @@ -5382,8 +5574,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Popravi promjer kruga ili luka @@ -5391,7 +5583,7 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Popravi polumjer/promjer kruga ili luka @@ -5399,8 +5591,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fiksiraj radijus kruga ili luka @@ -5408,7 +5600,7 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Popravi polumjer/promjer kruga ili luka @@ -5416,8 +5608,8 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Stvara jednostavnu kopiju geometrije uzimajući kao referencu zadnje odabranu točku @@ -5636,63 +5828,63 @@ To se radi analizom geometrije i ograničenja skice. Sketcher_MapSketch - + No sketch found Nema skice - + The document doesn't have a sketch Dokument nema skicu - + Select sketch Odaberite skicu - + Select a sketch from the list Odabir skica s popisa - + (incompatible with selection) (nije u skladu sa odabirom) - + (current) (trenutno) - + (suggested) (predložen) - + Sketch attachment Dodatak Skici - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Trenutni način dodavanja nije kompatibilan s novim odabirom. Odaberite način da dodate ovu skicu na odabrane objekte. - + Select the method to attach this sketch to selected objects. Odaberite način da dodate ovu skicu na odabrane objekte. - + Map sketch Preslikaj skicu - + Can't map a sketch to support: %1 Nije moguće preslikati skicu za podršku: @@ -5702,8 +5894,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Pomakni geometriju uzimajući kao referencu zadnje odabranu točku @@ -5711,12 +5903,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Dodatak Skici - + Select the method to attach this sketch to selected object Odaberite način da dodate ovu skicu na odabrani objekt @@ -5724,12 +5916,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Skica je dodana površini - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Skica na naličju ne može biti preusmjerena. @@ -5738,11 +5930,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Obrazac - DOF @@ -5763,11 +5950,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Obrazac - Default algorithm used for Sketch solving @@ -6055,7 +6237,7 @@ Eigen Sparse QR algoritam optimiziran je za rijetke matrice; obično brže ViewProviderSketch - + and %1 more i %1 još @@ -6249,22 +6431,22 @@ Razmak mreže se mijenja ako postane manji od ovog broja piksela. GridSpaceAction - + Grid auto spacing Mreža - Automatski razmak - + Resize grid automatically depending on zoom. Automatski promijenite veličinu mreže ovisno o zumiranju. - + Spacing Razmak - + Distance between two subsequent grid lines. Udaljenost između dvije uzastopne linije rešetke. @@ -6273,86 +6455,86 @@ Razmak mreže se mijenja ako postane manji od ovog broja piksela. Notifications - + The Sketch has malformed constraints! Skica ima deformirana ograničenja! - + The Sketch has partially redundant constraints! Skica ima djelomično suvišna ograničenja! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabole su migrirane. Migrirane datoteke neće se otvoriti u prethodnim verzijama FreeCAD-a!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Pogreška - + Failed to delete all geometry Nije uspjelo brisanje svih geometrija - + Failed to delete all constraints Nije uspjelo brisanje svih ograničenja - + The constraint has invalid index information and is malformed. Ograničenje ima neispravnu index informaciju i neispravno je. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Neispravno ograničenje @@ -6394,8 +6576,8 @@ Razmak mreže se mijenja ako postane manji od ovog broja piksela. Greška stvaranja pola B-krivulje - + Error creating B-spline Greška stvaranja B-krivulje @@ -6493,9 +6675,9 @@ Greška kod brisanja zadnjeg pola B-krive Nije uspjelo skraćivanje ruba - - - + + + Value Error Greška vrijednosti @@ -6531,58 +6713,58 @@ Greška kod brisanja zadnjeg pola B-krive SnapSpaceAction - + Snap to objects Prikvači se na objekte - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Nove točke će se prikvačiti na trenutno predodabrani objekt. Prikvačit će se i na sredinu linija i lukova. - + Snap to grid Prikvači na mrežu - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Nove točke prikvačit će se na najbliže linije rešetke. Točke moraju biti postavljene bliže od petine razdaljine rešetke kako bi se prikačile na liniju rešetke. - + Snap angle Prikvači na kut - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Korak kuta za alate koji koriste 'Prikačai na kut' (na primjer, linija). Držite CTRL da biste omogućili 'Prikačai na kut'. Kut počinje od pozitivne X osi skice. RenderingOrderAction - - - - - Normal Geometry - Normalna Geometrija - - Construction Geometry - Konstrukcijska Geometrija + Normal Geometry + Normalna Geometrija + Construction Geometry + Konstrukcijska Geometrija + + + + + External Geometry Vanjska Geometrija @@ -6603,12 +6785,12 @@ Točke moraju biti postavljene bliže od petine razdaljine rešetke kako bi se p CmdSketcherGrid - + Toggle grid Pokaži/Sakrij rešetku - + Toggle the grid in the sketch. In the menu you can change grid settings. Uključi/isključi mrežu u skici. Postavke mreže možete promijeniti u meniju. @@ -6616,12 +6798,12 @@ Točke moraju biti postavljene bliže od petine razdaljine rešetke kako bi se p CmdSketcherSnap - + Toggle snap Uključi/Isključi prikvači - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Postavke za prikači funkcije možete promijeniti u izborniku. @@ -6652,4 +6834,34 @@ Točke moraju biti postavljene bliže od petine razdaljine rešetke kako bi se p Napravi periodičnu B-krivulju kroz čvorove tj. interpolacijom na skici. + + CmdSketcherDimension + + + Dimension + Dimenzija + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts index 292f7a8954..753f978df0 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb B-görbe görbületi fésű mutatása/elrejtése - + Switches between showing and hiding the curvature comb for all B-splines Kapcsoló az összes B-görbéhez a görbület fésű megjelenítéséhez és elrejtéséhez @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree B-görbe fok megjelenítése/elrejtése - + Switches between showing and hiding the degree for all B-splines Kapcsoló az összes B-görbéhez a görbület fokok megjelenítéséhez és elrejtéséhez @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity B-görbe csomó sokszorosságának megjelenítése/elrejtése - + Switches between showing and hiding the knot multiplicity for all B-splines Kapcsoló az összes B-görbéhez a sokszög megjelenítéséhez és elrejtéséhez @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight B-görbe vezérlőpont súlyának megjelenítése/elrejtése - + Switches between showing and hiding the control point weight for all B-splines Váltás a vezérlőpont súlyának megjelenítése és elrejtése között az összes B-görbén @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon B-görbe vezérlő sokszög megjelenítése/elrejtése - + Switches between showing and hiding the control polygons for all B-splines Kapcsoló az összes B-görbéhez a vezérlő sokszög megjelenítéséhez és elrejtéséhez @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Klónozás - + Creates a clone of the geometry taking as reference the last selected point Létrehoz egy geometria klónt az utolsó kiválasztott pont, mint referencia pont, figyelembevételével @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer B-görbe információs réteg mutatása/elrejtése - + Show/hide B-spline degree B-görbe fok megjelenítése/elrejtése - + Show/hide B-spline control polygon B-görbe vezérlő sokszög megjelenítése/elrejtése - + Show/hide B-spline curvature comb B-görbe görbületi fésű mutatása/elrejtése - + Show/hide B-spline knot multiplicity B-görbe csomó sokszorosságának megjelenítése/elrejtése - + Show/hide B-spline control point weight B-görbe vezérlőpont súlyának megjelenítése/elrejtése @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Kör vagy körív kényszer - + Constrain an arc or a circle Egy kör vagy körív kényszerítése - + Constrain radius Sugár illesztés - + Constrain diameter Átmérő kényszer - + Constrain auto radius/diameter Kényszeríti az automatikus sugarat/átmérőt @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Klónozás - + Creates a clone of the geometry taking as reference the last selected point Létrehoz egy geometria klónt az utolsó kiválasztott pont, mint referencia pont, figyelembevételével @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Sokszög módosítása - + Modifies the multiplicity of the selected knot of a B-spline A kiválasztott B-görbe sokszöge sokszorozásának módosítása - + Increase knot multiplicity Sokszög növelése - + Decrease knot multiplicity Sokszög csökkentése @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Szög zárolása - + Fix the angle of a line or the angle between two lines Rögzítsen szöget a vonalon, vagy a szöget két vonalon @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Kényszerítő kocka - + Block the selected edge from moving A kijelölt él mozgásának letiltása @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Egymásra llesztés - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Konvergens kényszer létrehozása pontok között vagy koncentrikus kötés létrehozása körök, ívek és ellipszisek között @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Átmérő kényszer - + Fix the diameter of a circle or an arc Rögzíteni egy kör vagy egy ív átmérőjét @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Távolság kényszer - + Fix a length of a line or the distance between a line and a vertex or between two circles Vonal hosszának rögzítése vagy adott távolság tartása két kör között @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Vízszintes távolság zárolása - + Fix the horizontal distance between two points or line ends Két pont közötti vagy vonal végek közötti vízszintes távolság zárolása @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Függőleges távolság kényszerítése - + Fix the vertical distance between two points or line ends Két pont közötti vagy vonal végek közötti függőleges távolság zárolása @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Illesztás megtartása - + Create an equality constraint between two lines or between circles and arcs Hozzon létre egy egyenlőség illesztést két vonal között, illetve körök és ívek között @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Vízszintes illesztés - + Create a horizontal constraint on the selected item Vízszintes illesztés létrehozása a kiválasztott elemen @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Illesztés zárolása - + Create both a horizontal and a vertical distance constraint on the selected vertex Vízszintes és függőleges távolságkényszerítés létrehozása @@ -520,12 +520,12 @@ a kijelölt csúcsponton CmdSketcherConstrainParallel - + Constrain parallel Párhuzamosság tartása - + Create a parallel constraint between two lines Két vonal közötti párhuzamos kényszerítés @@ -533,12 +533,12 @@ a kijelölt csúcsponton CmdSketcherConstrainPerpendicular - + Constrain perpendicular Merőleges illesztés - + Create a perpendicular constraint between two lines Merőleges illesztést hoz létre két vonal közt @@ -546,12 +546,12 @@ a kijelölt csúcsponton CmdSketcherConstrainPointOnObject - + Constrain point onto object A pont illesztése a tárgyra - + Fix a point onto an object Pont rögzítése egy tárgyra @@ -559,12 +559,12 @@ a kijelölt csúcsponton CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Kényszeríti az automatikus sugarat/átmérőt - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Beállítja az átmérőt kör kiválasztásakor, illetve a sugarat, ha ív/görbe pólus van kiválasztva @@ -572,12 +572,12 @@ a kijelölt csúcsponton CmdSketcherConstrainRadius - + Constrain radius or weight Kényszersugár vagy súly - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Beállítja egy kör vagy ív sugarát, vagy beállítja a B-görbe pólus súlyát @@ -585,12 +585,12 @@ a kijelölt csúcsponton CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Illesztés törésmutatója (Snellius–Descartes-törvény) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Hozzon létre egy fénytörés törvény (Snellius-törvény) kényszerítést sugarak két végpontja között és egy élt mint határfelületet. @@ -599,12 +599,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Szimmetria illesztés - + Create a symmetry constraint between two points with respect to a line or a third point Állítsa be a szimmetriát két pont között egy vonalhoz vagy egy harmadik ponthoz képest @@ -613,12 +613,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Érintő illesztés - + Create a tangent constraint between two entities Hozzon létre egy érintő illesztést két rész között @@ -626,12 +626,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Függőleges illesztés - + Create a vertical constraint on the selected item Függőleges kényszerítés alkalmazása a kijelölt elemen @@ -639,12 +639,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Geometria átalakítása a B-görbévé - + Converts the selected geometry to a B-spline Az adott geometria konvertálása egy B-görbévé @@ -652,12 +652,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Másolás - + Creates a simple copy of the geometry taking as reference the last selected point Egyszerű geometria másolatot hoz létre, az utolsó kiválasztott pont, mint referencia pont, figyelembevételével @@ -1016,12 +1016,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Csökkentse a B-görbe mértékét - + Decreases the degree of the B-spline Csökkenti a B-görbe fokát @@ -1029,12 +1029,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Sokszög csökkentése - + Decreases the multiplicity of the selected knot of a B-spline A kiválasztott B-görbe sokszöge sokszorozásának csökkentése @@ -1042,12 +1042,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Töröl minden kényszerítést - + Delete all constraints in the sketch A vázlat összes kényszerítésének törlése @@ -1055,12 +1055,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Minden geometria törlése - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Az összes geometria és kényszer törlése az aktuális vázlatból a külső geometria kivételével @@ -1068,12 +1068,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Vázlat szerkesztése - + Edit the selected sketch. Kijelölt vázlat szerkesztése. @@ -1107,12 +1107,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Növelje a B-görbe mértékét - + Increases the degree of the B-spline Növeli a B-görbe fokát @@ -1120,12 +1120,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Sokszög növelése - + Increases the multiplicity of the selected knot of a B-spline A kiválasztott B-görbe sokszöge sokszorozásának növelése @@ -1133,12 +1133,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Csomó beszúrása - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Csomót illeszt be az adott paraméterhez. Ha egy csomó már létezik az adott paraméternél, akkor a szorzása eggyel növekszik. @@ -1146,12 +1146,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Görbék összekapcsolása - + Join two curves at selected end points Két görbe összekapcsolása a kiválasztott végpontokon @@ -1159,12 +1159,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Vázlat elhagyása - + Finish editing the active sketch. Állítsa le az aktív vázlat szerkesztését. @@ -1172,12 +1172,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Vázlat leképezés felületre... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1186,7 +1186,7 @@ Először válassza ki a támogató geometriát, például egy szilárdtest fel majd hívja meg ezt a parancsot, és végül válassza ki a kívánt vázlatot. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Néhány kiválasztott tárgy a leképzett vázlattól függ. Körkörös függőség nem megengedett. @@ -1194,22 +1194,22 @@ majd hívja meg ezt a parancsot, és végül válassza ki a kívánt vázlatot.< CmdSketcherMergeSketches - + Merge sketches Vázlatok egyesítése - + Create a new sketch from merging two or more selected sketches. Hozzon létre egy új vázlatot két vagy több kijelölt vázlat egyesítésével. - + Wrong selection Hibás kijelölés - + Select at least two sketches. Válasszon ki legalább két vázlatot. @@ -1217,12 +1217,12 @@ majd hívja meg ezt a parancsot, és végül válassza ki a kívánt vázlatot.< CmdSketcherMirrorSketch - + Mirror sketch Vázlat tükrözés - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1231,12 +1231,12 @@ az X vagy Y tengely, vagy a kezdőpont használatával, mint tükörreferencia hivatkozás. - + Wrong selection - Hibás kijelölés + Rossz kijelölés - + Select one or more sketches. Válasszon egy vagy több vázlatot. @@ -1244,12 +1244,12 @@ mint tükörreferencia hivatkozás. CmdSketcherMove - + Move Mozgat - + Moves the geometry taking as reference the last selected point Mozgatja a geometriát az utolsó kiválasztott pont, mint referencia pont, figyelembevételével @@ -1257,12 +1257,12 @@ mint tükörreferencia hivatkozás. CmdSketcherNewSketch - + Create sketch Vázlat létrehozása - + Create a new sketch. Hozzon létre egy új vázlatot. @@ -1270,12 +1270,12 @@ mint tükörreferencia hivatkozás. CmdSketcherRectangularArray - + Rectangular array Négyszögletes elrendezés - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Létrehoz egy téglalap alakú tömb mintát a geometriáról, az utolsó kijelölt referenciapont figyelembe vételével @@ -1283,12 +1283,12 @@ mint tükörreferencia hivatkozás. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Tengelyek igazításának eltávolítása - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Módosítja a kényszerítéseket a tengelyek igazításának eltávolításához, miközben megpróbálja megőrizni a kijelölés kényszerkapcsolatát @@ -1296,12 +1296,12 @@ mint tükörreferencia hivatkozás. CmdSketcherReorientSketch - + Reorient sketch... Vázlat elforgatása... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Állítsa a kiválasztott vázlatot egy globális koordinátasíkra. @@ -1311,12 +1311,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Belső geometria megjelenítése/elrejtése - + Show all internal geometry or hide unused internal geometry Minden belső geometria megjelenítése vagy a fel nem használt belső geometriája elrejtése @@ -1324,8 +1324,8 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Szabálytalan kényszerítések kiválasztása @@ -1333,12 +1333,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectConstraints - + Select associated constraints Kapcsolódó kényszerítések kiválasztása - + Select the constraints associated with the selected geometrical elements A kijelölt geometriai elemekhez tartozó kényszerek kiválasztása @@ -1346,12 +1346,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Kapcsolódó geometria kiválasztása - + Select the geometrical elements associated with the selected constraints A kijelölt kényszerítésekhez társított geometriai entitások kiválasztása @@ -1359,12 +1359,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Meghatározatlan szabadságfok kiválasztása - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Válassza ki azokat a geometriai elemeket, amelyeknél a megoldó még nem ismer fel bizonyos szabadságfokokat. @@ -1372,12 +1372,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Vízszintes tengely kijelölése - + Select the local horizontal axis of the sketch A vázlat helyi vízszintes tengelyének kijelölése @@ -1385,8 +1385,8 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Hibás kényszerítések kijelölése @@ -1394,12 +1394,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectOrigin - + Select origin Kezdőpont kijelölése - + Select the local origin point of the sketch A vázlat helyi kezdőpontjának kiválasztása @@ -1407,8 +1407,8 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Részlegesen felesleges kényszerítések kiválasztása @@ -1416,8 +1416,8 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Felesleges kényszerítések kiválasztása @@ -1425,12 +1425,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSelectVerticalAxis - + Select vertical axis Függőleges tengely kijelölése - + Select the local vertical axis of the sketch A vázlat helyi függőleges tengelyének kijelölése @@ -1451,12 +1451,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherStopOperation - + Stop operation Megállító művelet - + When in edit mode, stop the active operation (drawing, constraining, etc.). Szerkesztési módban állítsa le az aktív műveletet (rajz, kényszerítés stb.). @@ -1477,12 +1477,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherSymmetry - + Symmetry Szimmetria - + Creates symmetric geometry with respect to the last selected line or point Létrehozza az utolsó kijelölt vonal vagy pont geometriai szimmetriáját @@ -1490,12 +1490,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Kényszerítés bekapcsolása/kikapcsolása - + Activates or deactivates the selected constraints A kijelölt kényszerítések engedélyezése vagy letiltása @@ -1516,12 +1516,12 @@ A 'Támogatás' tulajdonság törlődik, ha van. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Kényszerítés váltása a meghatározott és a megjelenített között - + Set the toolbar, or the selected constraints, into driving or reference mode Állítsa be az eszköztárat vagy a kijelölt kényszerítéseket, @@ -1544,24 +1544,24 @@ megvezetett vagy hivatkozási üzemmódban CmdSketcherValidateSketch - + Validate sketch... Érvényesíti a vázlatot... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Érvényesíts egy vázlatot a hiányzó egyezések megtalálásával, érvénytelen kényszerítések, elfajult geometria stb. - + Wrong selection Rossz kijelölés - + Select only one sketch. Egyetlen vázlat kiválasztása. @@ -1569,12 +1569,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Szakasz nézete - + When in edit mode, switch between section view and full view. Szerkesztési módban váltson a szakasznézet és a teljes nézet között. @@ -1582,12 +1582,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch vázlat nézet - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Szerkesztési módban állítsa be a kamera tájolását merőlegesre a vázlatsíkra. @@ -1595,287 +1595,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Vízszintes kényszerítés hozzáadása - - - + + + Add horizontal alignment Vízszintes igazítást hozzáadása - - + + Add vertical constraint Függőleges kényszerítést hozzáadása - + Add vertical alignment Függőleges igazítás hozzáadása - + Add 'Lock' constraint 'Zár' kényszerítés hozzáadása - + Add relative 'Lock' constraint Viszonyított 'Zár' kényszerítés hozzáadása - + Add fixed constraint Rögzített kényszerítést ad hozzá - + Add 'Block' constraint 'Blokk' kényszerítés hozzáadása - + Add block constraint Blokk kényszerítés hozzáadása - - - + + + Add coincident constraint Véletlenszerű kényszerítés hozzáadása - - + + Add distance from horizontal axis constraint Vízszintes tengelymegkötéstől való távolság hozzáadása - - + + Add distance from vertical axis constraint Függőleges tengelymegkötéstől való távolság hozzáadása - - + + Add point to point distance constraint Ponttól pontig távolság kényszerítést ad hozzá - - + + + Add point to line Distance constraint Ponttól a vonalig távolság kényszerítést ad hozzá - - + + Add circle to circle distance constraint Kör hozzáadása a kör távolsági kényszerítéséhez - + Add circle to line distance constraint Kör hozzáadása a vonal távolsági kényszerítéséhez - - + + + + + Add length constraint Hossz kényszerítés hozzáadása - - + + + Dimension + Dimenzió + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Pont a tárgyon kényszerítés hozzáadása - - + + Add point to point horizontal distance constraint Ponttól pontig vízszintes távolság kényszerítés hozzáadása - + Add fixed x-coordinate constraint Rögzített x-koordináta kényszerítés hozzáadása - - + + Add point to point vertical distance constraint Ponttól pontig függőleges távolság kényszerítés hozzáadása - + Add fixed y-coordinate constraint Rögzített y-koordináta kényszerítés hozzáadása - - + + Add parallel constraint Párhuzamos kényszerítés hozzáadása - - - - - - - + + + + + + + Add perpendicular constraint Merőleges kényszerítés hozzáadása - + Add perpendicularity constraint Függőlegesség kényszerítés hozzáadása - + Swap coincident+tangency with ptp tangency Egybeeső érintő felcserélése ptp érintővel - + Swap PointOnObject+tangency with point to curve tangency Felcseréli a tárgyat+érintőpontot a görbe érintőpontjához ponttal - - - - - - - + + + + + + + Add tangent constraint Érintő kényszerítés hozzáadása - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Érintő pont kényszerítés hozzáadása - - - - + + + + Add radius constraint Sugár kényszerítés hozzáadása - - - - + + + + Add diameter constraint Átmérőhöz kényszerítés hozzáadása - - - - + + + + Add radiam constraint Sugár/átm-kényszer hozzáadása - - - - - - + + + + + + Add angle constraint Szöghöz kényszerítés hozzáadása - - + + Add equality constraint Egyenlőség kényszerítés hozzáadása - - - - - + + + + + Add symmetric constraint Szimmetrikus kényszerítés hozzáadása - + Add Snell's law constraint Fénytörés (Snellius-törvény) kényszerítés hozzáadása - + Toggle constraint to driving/reference Kényszerítés váltása megvezetés/hivatkozás közt - + Activate/Deactivate constraint Kényszerítés bekapcsolása/kikapcsolása - + Create a new sketch on a face Új vázlat létrehozása a felületen - + Create a new sketch Új vázlat készítése - + Reorient sketch Vázlat elforgatása - + Attach sketch Vázlat csatolás - + Detach sketch Vázlat leválasztás - + Create a mirrored sketch for each selected sketch Tükrözött vázlat létrehozása minden kijelölt vázlathoz - + Merge sketches Vázlatok egyesítése @@ -1993,72 +2110,72 @@ invalid constraints, degenerated geometry, etc. Hatszög hozzáadása - + Convert to NURBS Konvertálás NURBS-re - + Increase spline degree Görbe mértékének növelése - + Decrease spline degree Görbe mértékének csökkentése - + Increase knot multiplicity Sokszög növelése - + Decrease knot multiplicity Sokszög csökkentése - + Insert knot Csomó beszúrása - + Join Curves Görbák összekapcsolása - + Exposing Internal Geometry Belső geometria felfedése - + Create symmetric geometry Szimmetrikus geometria létrehozása - + Copy/clone/move geometry Geometria másolása/klónozása/áthelyezése - + Create copy of geometry Geometria másolatának létrehozása - + Delete all geometry Minden geometria törlése - + Delete All Constraints Töröl minden kényszert - + Remove Axes Alignment Tengelyek igazításának eltávolítása @@ -2069,44 +2186,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space A kényszerítés virtuális helyének frissítése - + Add auto constraints Automatikus kényszerítés hozzáadása - + Swap constraint names Kényszerítés nevek cseréje - + Rename sketch constraint Vázlat kényszerítés átnevezése - + Drag Point Pont húzása - + Drag Curve Ív húzása - + Drag Constraint Kényszerítés húzása - + Modify sketch constraints Vázlat kényszerítés módosítása @@ -2167,59 +2284,59 @@ invalid constraints, degenerated geometry, etc. Autókényszer hiba: megoldhatatlan vázlat egyenlőségi kényszer alkalmazása után. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Nem tudja meghatározni a görbék metszéspontját. Próbáljon meg hozzáadni egybeesés kényszerítést a görbék csúcsaihoz, melyeket le szeretné kerekíteni. - - + + BSpline Geometry Index (GeoID) is out of bounds. Bgörbe geometria Index (GeoID) nem rendelkezik kényszerítésekkel. - + You are requesting no change in knot multiplicity. Nem kér változtatást a csomó többszörözésére. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. A megadott geometria Index (GeoId) nem egy Bgörbe. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. A csomó jelölés határvonalakon kívülre esik. Ne feledje, hogy a megfelelő OCC jelölés szerint, az első csomót jelölése 1 és nem nulla. - + The multiplicity cannot be increased beyond the degree of the B-spline. A sokszorozás nem nőhet a B-görbe szögének értéke fölé. - + The multiplicity cannot be decreased beyond zero. A sokszorozást nem csökkentheti nulla alá. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC képtelen csökkenteni a sokszorozást a maximális megengedett tűrésen belül. - + Knot cannot have zero multiplicity. A csomónak nem lehet nulla sokszorozása. - + Knot multiplicity cannot be higher than the degree of the BSpline. Csomó sokszorozás nem lehet magasabb, mint a B-görbe mértéke. - + Knot cannot be inserted outside the BSpline parameter range. Csomó nem illeszthető be a B-görbe paramétertartományon kívülre. @@ -2235,210 +2352,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Vázlatkészítő - + There are no modes that accept the selected set of subelements Nincs mód, hogy elfogadja a kijelölt készlet alelemeket - + Broken link to support subelements Törött link alelemek támogatásához - - + + Unexpected error Váratlan hiba - + Face is non-planar Felület nem síkbeli - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Kijelölt alakzatok rossz formátumban vannak (pl. egy íves él ahol egyenes szükséges) - + Sketch mapping Vázlat-leképezés - + Can't map the sketch to selected object. %1. Nem képezhető a vázlat a kijelölt objektummá. %1. - - + + Don't attach Ne csatolja + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Rossz kijelölés @@ -2449,566 +2569,569 @@ invalid constraints, degenerated geometry, etc. A kiválasztott él(ek) a vázlatból való. - + Not allowed to edit the datum because the sketch contains conflicting constraints Nem megengedett, hogy módosítsa a datumot, mert a vázlat tartalmaz egymásnak ellentmondó illesztéseket - + Dimensional constraint Méretezett illesztés - + Cannot add a constraint between two external geometries. Két külső geometria között nem lehet kényszerítés hozzáadni. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Nem lehet kényszerítést hozzáadni két rögzített geometria közé. A rögzített geometriák közé tartozik a külső geometria, a blokkolt geometria és a speciális pontok, például a B-görbe csomópontok. - + Sketcher Constraint Substitution Vázlatolói kényszerítés helyettesítése - + Keep notifying me of constraint substitutions Folyamatosan értesítsen a kényszerítés helyettesítéséről - - - + + + Only sketch and its support are allowed to be selected. Csak vázlat és annak támogatása választható ki. - + One of the selected has to be on the sketch. Az egyik kiválasztottnak szerepelnie kell a vázlaton. - - + + Select an edge from the sketch. Egy él kiválasztása a vázlaton. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Lehetetlen kényszerítés - - - - + + + + The selected edge is not a line segment. A kiválasztott él nem egy egyenes szakasz. - - - - - - + + + + + + Double constraint Kettős kényszerítés - - - - - + + + + + The selected edge already has a horizontal constraint! A kiválasztott él már rendelkezik egy vízszintes kényszerítéssel! - - - + + + The selected edge already has a vertical constraint! A kiválasztott él már rendelkezik egy függőleges kényszerítéssel! - - - - - - + + + + + + The selected edge already has a Block constraint! A kijelölt élnek már van blokk kényszerítése! - + The selected item(s) can't accept a horizontal constraint! A kiválasztott elem(ek) nem fogadják el a vízszintes illesztést! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Több mint egy rögzített pontot választott. Válasszon legfeljebb egy rögzített pontot! - + The selected item(s) can't accept a vertical constraint! A kiválasztott elem(ek) nem fogadják el a függőleges illesztést! - - - + + + Select vertices from the sketch. Válasszon sarkokat a vázlatból. - + Select one vertex from the sketch other than the origin. Jelöljön ki a vázlaton egy, a kiindulási ponttól eltérő, végpontot. - + Select only vertices from the sketch. The last selected vertex may be the origin. Csak sarkokat válasszon a vázlatból. Az utoljára kiválasztott végpont lehet a kezdőpont. - + Wrong solver status Rossz a megoldó állapota - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Egy blokk kényszerítést nem adhat hozzá, ha a vázlat megoldatlan vagy felesleges és ellentmondó kényszerítései vannak. - + Select one edge from the sketch. Válasszon egy élt a vázlaton. - + Select only edges from the sketch. Csak éleket válasszon a vázlaton. - + Number of selected objects is not 3 A kijelölt tárgyak száma nem 3 - - - + + + Error Hiba - + Unexpected error. More information may be available in the Report View. Váratlan hiba. További információ a Jelentés nézetben érhető el. - + Endpoint to endpoint tangency was applied instead. Végpont-végpont érintőt alkalmazott helyette. - + Select two or more points from the sketch. Jelöljön ki két vagy több pontot a vázlatból. - + Select two or more vertices from the sketch. Jelöljön ki két vagy több csúcspontot a vázlatból. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Válasszon két vagy több csúcsot a vázlatból az egybeeső kényszerítéshez, vagy legalább két kört, ellipszist, ívet vagy elliptikus ívet a koncentrikus kényszerhez. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Válasszon két csúcsot a vázlatból az egybeeső kényszerítéshez, vagy két kört, ellipszist, ívet vagy elliptikus ívet a koncentrikus kényszerhez. - + Select exactly one line or one point and one line or two points from the sketch. Válasszon ki pontosan egy sort vagy egy pontot és egy sort és két pontot a vázlatból. - + Cannot add a length constraint on an axis! Nem adható hozzá a hosszanti illesztés egy tengelyen! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Válasszon ki pontosan egy vonalat vagy egy pontot és egy vonalat vagy két pontot vagy két kört a vázlatból. - + This constraint does not make sense for non-linear curves. Ennek a kényszerítésnek nincs értelme a nem-lineáris görbéknél. - + Endpoint to edge tangency was applied instead. Ehelyett a végpont és az él érintője került alkalmazásra. - - - - - - - + + + + + + + Select the right things from the sketch. Válassza ki a megfelelő dolgokat a vázlatból. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Jelöljön ki egy olyan élt, amely nem B-görbe vastagságú. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. A kijelölt pontok egyike sem volt korlátozva a megfelelő görbékre, mivel ugyanannak az elemnek a részei, valamint mindkettő külső geometria, vagy mert az éle nem megfelelő. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. A kijelölt pontok egyike sincs kényszerítve a vonatkozó görbékhez, mert azok részei ugyanannak az elemnek, vagy azért, mert mindkét külső geometria. - - - - + + + + Select exactly one line or up to two points from the sketch. Válasszon ki pontosan egy vonalat, vagy legfeljebb két pontot a vázlatból. - + Cannot add a horizontal length constraint on an axis! Nem lehet hozzáadni egy vízszintes hosszanti illesztést egy tengelyen! - + Cannot add a fixed x-coordinate constraint on the origin point! Nem adható hozzá a rögzített x-koordináta illesztése a kezdő ponthoz! - - + + This constraint only makes sense on a line segment or a pair of points. Ez a kényszerítés csak egy vonalszakaszon vagy egy pont páron érvényesül. - + Cannot add a vertical length constraint on an axis! Nem adható hozzá a függőleges hosszanti illesztés egy tengelyen! - + Cannot add a fixed y-coordinate constraint on the origin point! Nem adható hozzá a rögzített y-koordináta illesztése a kezdő ponthoz! - + Select two or more lines from the sketch. Válasszon ki két vagy több vonalat a vázlatból. - - + + Select at least two lines from the sketch. Válasszon ki legalább két vonalat a vázlatból. - + Select a valid line. Válasszon ki egy érvényes egyenest. - - + + The selected edge is not a valid line. A kiválasztott él nem egy érvényes egyenes. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. perpendicular constraint - Többféleképpen lehet alkalmazni ezt a kényszerítést. + Többféleképpen lehet alkalmazni ezt a kényszerítést. Elfogadott kombinációk: két görbe; egy végpont és egy görbe; két végpont; két görbe és egy pont. - + Select some geometry from the sketch. perpendicular constraint Válasszon ki néhány geometriát a vázlatból. - - + + Cannot add a perpendicularity constraint at an unconnected point! Nem lehet hozzáadni a függőlegesség illesztést a független ponton! - - - + + + Perpendicular to B-spline edge currently unsupported. Merőleges a B-görbe élre, jelenleg nem támogatott. - - + + One of the selected edges should be a line. Az egyik kijelölt élnek egy vonalnak kell lennie. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Végpont-végpont érintőt alkalmazott. Az egybeeső kényszerítést törölve lett. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Végponttól az élig érintőt alkalmaztak. A tárgy kényszerítés pontját törölték. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. tangent constraint - Többféleképpen lehet alkalmazni ezt a kényszerítést. + Többféleképpen lehet alkalmazni ezt a kényszerítést. Elfogadott kombinációk: két görbe; egy végpont és egy görbe; két végpont; két görbe és egy pont. - + Select some geometry from the sketch. tangent constraint Válasszon ki néhány geometriát a vázlatból. - - - + + + Cannot add a tangency constraint at an unconnected point! Nem lehet hozzáadni egy érintő illesztést a független ponton! - - + + Tangent constraint at B-spline knot is only supported with lines! A B-görbe csomó érintő kényszerítését csak vonalak támogatják! - + B-spline knot to endpoint tangency was applied instead. B-görbe csomó a végponthoz érintőt alkalmazott helyette. - + Select either one point and several curves, or one curve and several points. Válasszon ki egy pontot és több görbét, vagy egy görbét és több pontot. - - + + Wrong number of selected objects! Kijelölt objektumok téves mennyisége! - - + + With 3 objects, there must be 2 curves and 1 point. 3 tárggyal, két görbének és 1 pontnak kell lennie. - - - + + + Tangency to B-spline edge currently unsupported. Érintő B-görbe élével jelenleg nem támogatott. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Válasszon egy vagy több ívet vagy kört a vázlatból. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Jelöljön ki egy vagy több B-görbe pólust, vagy egy vagy több ívet vagy kört a vázlatból, de nem keverve. - - - + + + Constraint only applies to arcs or circles. Kényszerítés csak az ívekre és körökre vonatkozik. - - + + Select one or two lines from the sketch. Or select two edges and a point. Válasszon egy vagy két vonalat a vázlatból. Vagy válasszon ki két élet és egy pontot. - - + + Parallel lines Párhuzamos vonalak - - + + An angle constraint cannot be set for two parallel lines. Egy szög kényszerítést nem lehet beállítani két párhuzamos vonalra. - + Cannot add an angle constraint on an axis! Nem lehet hozzáadni egy szög illesztést egy tengelyhez! - + Select two edges from the sketch. Két él kiválasztása a vázlaton. - + Select two or more compatible edges. Válasszon ki két vagy több kompatibilis élt. - + Sketch axes cannot be used in equality constraints. Vázlat tengelyek nem használhatók egyenlőségi kényszerítésekhez. - + Equality for B-spline edge currently unsupported. Egyenlőség B-görbe élével jelenleg nem támogatott. - - - + + + + Select two or more edges of similar type. Jelöljön ki két vagy több hasonló típusú élt. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Válasszon ki két pontot és egy szimmetria vonalat, két pontot és egy szimmetria pontot vagy egy vonalat és egy szimmetria pontot a vázlatból. - - + + Cannot add a symmetry constraint between a line and its end points. Nem lehet hozzáadni a szimmetria kényszerítést a vonalhoz és annak végpontjaihoz. - - + + + + Cannot add a symmetry constraint between a line and its end points! Nem lehet hozzáadni a szimmetria illesztést a vonalhoz és annak végpontjaihoz! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Jelöljön ki két vonalvégpontot sugarakként, és egy szegélyt jelölő élt. Az első kijelölt pont megfelel az n1 indexnek, a második az n2-nek, és a méretadat állítja be az n2/n1 arányt. - + Selected objects are not just geometry from one sketch. A kijelölt tárgyak nem csak egy vázlat geometriái. - + Cannot create constraint with external geometry only. Kényszerítést nem lehet szimplán külső geometriával létrehozni. - + Incompatible geometry is selected. Inkompatibilis geometriát jelölt ki. - + SnellsLaw on B-spline edge is currently unsupported. A Snellius–Descartes-törvény a B-görbe élén jelenleg nem támogatott. - - - - - + + + + + Select constraints from the sketch. Válasszon kényszerítéseket a vázlatból. @@ -3030,155 +3153,155 @@ Elfogadott kombinációk: két görbe; egy végpont és egy görbe; két végpon Határozza meg a B-görbe fokot 1 és %1 között: + + - - CAD Kernel Error CAD rendszermag hiba - + None of the selected elements is an edge. A kiválasztott elemek közül egyik sem él. - - + + At least one of the selected objects was not a B-Spline and was ignored. A kijelölt objektumok legalább egyike nem volt egy B-görbe, és figyelmen kívül lett hagyva. - - + + The selection comprises more than one item. Please select just one knot. A kiválasztás magában foglal egynél több tételt. Kérem csak egy csomópontot válasszon. - - + + Input Error Beviteli hiba - - + + None of the selected elements is a knot of a B-spline Kiválasztott elemek közül egyik sem B-görbe csomópont - - + + Selection is empty A kijelölési terület nem tartalmaz objektumokat - + Nothing is selected. Please select a b-spline. Semmi sincs kiválasztva. Kérjük, válasszon egy B-görbét. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Válasszon ki egy összetett B-görbét egy csomópont beszúrásához (ne csomópontot rajta). Ha a görbe nem összetett B-görbe, először alakítsa át. - + Nothing is selected. Please select end points of curves. Semmit nincs kiválasztva. Kérjük, válassza ki a görbék végpontjait. - + Too many curves on point Túl sok görbe a ponton - - + + Exactly two curves should end at the selected point to be able to join them. Pontosan két görbének kell véget érnie a kiválasztott ponton, hogy illeszkedjenek. - + Too few curves on point Túl kevés görbe a ponton - + Two end points, or coincident point should be selected. Válasszon ki két végpontot vagy egy átfedő pontot. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Válasszon ki elemeket egy egyedülálló vázlatból. - + No constraint selected Nincs kényszerítés kiválasztva - + At least one constraint must be selected Legalább egy kényszerítést ki kell kiválasztani - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. A szimmetrikus építési legalább két geometriai elemet igényel, az utoljára kiválasztott geometriai elem lesz a referencia a szimmetria építéséhez. - + The last element must be a point or a line serving as reference for the symmetry construction. Az utolsó elemnek egy pontnak vagy egy vonalnak kell lennie, ami szimmetria építésére szolgáló hivatkozás szolgálja. - - + + A copy requires at least one selected non-external geometric element Egy másolás legalább egy nem-külső geometriai elem kiválasztást igényel - + Delete All Geometry Töröl minden geometriát - + Are you really sure you want to delete all geometry and constraints? Tényleg biztos benne, hogy törölni szeretné az összes geometriát és kényszerítést? - + Delete All Constraints Töröl minden kényszert - + Are you really sure you want to delete all the constraints? Biztos benne, hogy törli az összes kényszerítést? - + Removal of axes alignment requires at least one selected non-external geometric element A tengelyek igazításának eltávolításához legalább egy kiválasztott nem külső geometriai elemre van szükség - + Unsupported visual layer operation Nem támogatott vizuális réteg művelet - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Jelenleg nem támogatott a külső geometria áthelyezése egy másik vizuális rétegre. A külső geometria kimarad @@ -3377,67 +3500,67 @@ Elfogadott kombinációk: két görbe; egy végpont és egy görbe; két végpon SketcherGui::ConstraintView - + Select Elements Elemeket választ - + Change value Érték módosítása - + Toggle to/from reference Váltás a referenciához/-ról - + Deactivate Kikapcsolás - + Activate Bekapcsol - + Show constraints Kényszerítések mutatása - + Hide constraints Kényszerítés elrejtése - + Rename Átnevezés - + Center sketch Vázlat közép - + Delete Törlés - + Swap constraint names Kényszerítés nevek cseréje - + Unnamed constraint Névtelen illesztés - + Only the names of named constraints can be swapped. Névvel ellátott illesztéseknek csak a neveit lehet felcserélni. @@ -3445,74 +3568,74 @@ Elfogadott kombinációk: két görbe; egy végpont és egy görbe; két végpon SketcherGui::EditDatumDialog - + Insert angle Szög beillesztése - + Angle: Dőlésszög: - + Insert radius Sugár beillesztése - + Radius: Sugár: - + Insert diameter Átmérő beszúrása - + Diameter: Átmérő: - + Insert weight Súly beszúrása - + Weight: Súly: - + Refractive index ratio Constraint_SnellsLaw Refraktív index arány - + Ratio n2/n1: Constraint_SnellsLaw Arány n2/n1: - + Insert length Hossz beillesztése - + Length: Hossz: - + Refractive index ratio Refraktív index arány - + Ratio n2/n1: Arány n2/n1: @@ -3520,72 +3643,72 @@ Elfogadott kombinációk: két görbe; egy végpont és egy görbe; két végpon SketcherGui::ElementFilterList - + Normal Alapértelmezett - + Construction Építési - + Internal Belső - + External Külső - + All types Minden típus - + Point Pont - + Line Vonal - + Circle Kör - + Ellipse Ellipszis - + Arc of circle A kör íve - + Arc of ellipse Az ellipszis íve - + Arc of hyperbola A hiperbola íve - + Arc of parabola A parabola íve - + B-Spline B-görbe @@ -3593,142 +3716,142 @@ Elfogadott kombinációk: két görbe; egy végpont és egy görbe; két végpon SketcherGui::ElementView - + Point Coincidence Pont egybeesések - + Point on Object Pont a tárgyon - + Vertical Constraint Függőleges kényszerítés - + Horizontal Constraint Vízszintes kényszerítés - + Parallel Constraint Párhuzamos kényszerítés - + Perpendicular Constraint Merőleges kényszerítés - + Tangent Constraint Érintő kényszerítés - + Equal Length Azonos hossz - + Symmetric Szimmetrikus - + Block Constraint Blokk kényszerítés - + Lock Constraint Távolság kényszerítés - + Horizontal Distance Vízszintes távolság - + Vertical Distance Függőleges távolság - + Length Constraint Hossz kényszerítés - + Radius Constraint Sugár kényszerítés - + Diameter Constraint Átmérőhöz kényszerítés - + Radiam Constraint Sugár kényszerítés - + Angle Constraint Szöghöz kényszerítés - + Toggle construction geometry Építési geometria átkapcsolása - + Select Constraints Kényszerítés kiválasztás - + Select Origin Kezdőpont kiválasztás - + Select Horizontal Axis Vízszintes tengely kiválasztás - + Select Vertical Axis Függőleges tengely kiválasztás - + Layer Réteg - + Layer 0 Réteg 0 - + Layer 1 Réteg 1 - + Hidden Rejtett - + Delete Törlés @@ -4012,6 +4135,75 @@ A hatályba lépéshez újra be kell lépnie a szerkesztési módba.Notify automatic constraint substitutions Értesíti az automatikus kényszerítés helyettesítésekről + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Mindkettő + + + + Auto + Automatikus + + + + Diameter + Átmérő + + + + Radius + Sugár + SketcherGui::SketcherSettingsColors @@ -4457,12 +4649,12 @@ A tárgyak csak a vázlatsík mögött lesznek láthatók. Alkalmazza a meglévő vázlatokhoz - + Unexpected C++ exception Váratlan C++ kivétel - + Sketcher Vázlatkészítő @@ -4635,48 +4827,48 @@ Azonban, nem találhatók a végpontokhoz kötött kényszerítések.Beállítások - + Constraints Kényszerítések - + Auto constraints Automatikus kényszerítés - + Auto remove redundants Feleslegesek automatikus eltávolítása - + Show only filtered Constraints Csak szűrt kényszerítések megjelenítése - + Extended information (in widget) Továbbfejlesztett információk (modulban) - + Hide internal alignment (in widget) Belső igazítás elrejtése (modulban) - - + + Error Hiba - + Impossible to update visibility tracking Lehetetlen frissíteni a láthatóságkövetést - + Impossible to update visibility tracking: Lehetetlen frissíteni a láthatóságkövetést: @@ -4708,6 +4900,33 @@ Azonban, nem találhatók a végpontokhoz kötött kényszerítések.Settings Beállítások + + + + + + + + + + + + Construction + Építési + + + + Elements + Elemek + + + + + + + Point + Pont + @@ -4719,110 +4938,83 @@ Azonban, nem találhatók a végpontokhoz kötött kényszerítések. - Construction - Építési - - - - Elements - Elemek - - - - - - - Point - Pont - - - - - - - - - - - - Internal Belső - - + + + - Line Vonal - - + + + - Arc Ív - - + + + - Circle Kör - - + + + - Ellipse Ellipszis - - + + + - Elliptical Arc Elliptikus ív - - + + + - Hyperbolic Arc Hiperbolikus ív - - + + + - Parabolic Arc Parabolikus ív - - + + + - BSpline Folyamatos ív - - + + + - Other Egyéb - + Extended information Részletes információ @@ -4830,42 +5022,42 @@ Azonban, nem találhatók a végpontokhoz kötött kényszerítések. SketcherGui::TaskSketcherMessages - + Solver messages Megoldó üzenetei - + Auto update Automatikus frissítés - + Executes a recomputation of active document after every sketch action Az aktív dokumentum újraszámítása minden vázlatművelet után - + Click to select the conflicting constraints. Kattintással jelölje ki az ütköző kényszerítéseket. - + Click to select the redundant constraints. Kattintással jelölje ki a felesleges kényszerítéseket. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. A vázlat kényszerítés nélküli elemeket tartalmaz, amelyek a szabadság ezen fokait eredményezik. Kattintással jelölje ki a kényszerítés nélküli elemeket. - + Click to select the malformed constraints. Kattintással jelölje ki a hibás kényszerítéseket. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Egyes kényszerítések együttesen részben feleslegesek. Kattintással jelölje ki a részben felesleges kényszerítéseket. @@ -5043,112 +5235,112 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. SketcherGui::ViewProviderSketch - + Edit sketch Vázlat szerkesztése - + A dialog is already open in the task panel Egy párbeszédablak már nyitva van a feladat panelen - + Do you want to close this dialog? Szeretné bezárni a párbeszédpanelt? - + Invalid sketch Érvénytelen vázlat - + Do you want to open the sketch validation tool? Szeretné megnyitni a vázlat érvényesítés eszközt? - + The sketch is invalid and cannot be edited. A vázlat érvénytelen, és nem szerkeszthető. - + Please remove the following constraint: Kérjük, távolítsa el az alábbi ilesztést: - + Please remove at least one of the following constraints: Kérjük, távolítsa el, legalább az egyiket a következő kényszerítésekből: - + Please remove the following redundant constraint: Kérjük, távolítsa el a következő felesleges kényszerítést: - + Please remove the following redundant constraints: Kérjük, távolítsa el a következő felesleges kényszerítéseket: - + The following constraint is partially redundant: A következő kényszerítés részben felesleges: - + The following constraints are partially redundant: A következő kényszerítések részben feleslegesek: - + Please remove the following malformed constraint: Távolítsa el a következő hibás kényszerítést: - + Please remove the following malformed constraints: Távolítsa el a következő hibás kényszerítéseket: - + Empty sketch Üres vázlat - + Over-constrained: Eltúlzott kényszertés: - + Malformed constraints: Hibásan formázott kényszerítés: - + Redundant constraints: Felesleges kényszerítések: - + Partially redundant: Részben felesleges: - + Solver failed to converge A megoldó nem tudott hasonlítani - + Under constrained: Kényszerítés alatt: - + %n DoF(s) %n szabadságfok(ok) @@ -5156,7 +5348,7 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. - + Fully constrained Teljesen kényszertett @@ -5164,8 +5356,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Kapcsoló az összes B-görbéhez a görbület fésű megjelenítéséhez és elrejtéséhez @@ -5173,8 +5365,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline A kiválasztott B-görbe sokszöge sokszorozásának csökkentése @@ -5182,8 +5374,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Kapcsoló az összes B-görbéhez a görbület fokok megjelenítéséhez és elrejtéséhez @@ -5191,8 +5383,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline A kiválasztott B-görbe sokszöge sokszorozásának növelése @@ -5200,8 +5392,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Kapcsoló az összes B-görbéhez a sokszög megjelenítéséhez és elrejtéséhez @@ -5209,8 +5401,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Váltás a vezérlőpont súlyának megjelenítése és elrejtése között az összes B-görbén @@ -5218,8 +5410,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Kapcsoló az összes B-görbéhez a vezérlő sokszög megjelenítéséhez és elrejtéséhez @@ -5227,8 +5419,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Létrehoz egy geometria klónt az utolsó kiválasztott pont, mint referencia pont, figyelembevételével @@ -5236,17 +5428,17 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_CompCopy - + Clone Klónozás - + Copy Másolás - + Move Mozgat @@ -5254,8 +5446,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Rögzíteni egy kör vagy egy ív átmérőjét @@ -5263,7 +5455,7 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Sugár/Átmérő illesztése körre vagy ívre @@ -5271,8 +5463,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Sugár illesztése körre vagy ívre @@ -5280,7 +5472,7 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Sugár/Átmérő illesztése körre vagy ívre @@ -5288,8 +5480,8 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Egyszerű geometria másolatot hoz létre, az utolsó kiválasztott pont, mint referencia pont, figyelembevételével @@ -5508,64 +5700,64 @@ Ez a vázlat geometriáinak és kényszerítéseinek elemzésével történik. Sketcher_MapSketch - + No sketch found Nem található vázlat - + The document doesn't have a sketch A dokumentum nem rendelkezik vázlattal - + Select sketch Válassza ki a vázlatot - + Select a sketch from the list Válasszon ki a listából egy vázlatot - + (incompatible with selection) (inkompatibilis a kijelöléssel) - + (current) (aktuális) - + (suggested) (javasolt) - + Sketch attachment Vázlat melléklet - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Az aktuális csatolási mód nem kompatibilis az új kijelölésre. Jelölje ki azt a módszert, amely a vázlatot a kijelölt tárgyakhoz csatolja. - + Select the method to attach this sketch to selected objects. Válassza ki a módszert, a vázlat csatolásához a kijelölt objektumokhoz. - + Map sketch Vázlat leképzés - + Can't map a sketch to support: %1 Nem képezhető le a vázlatot a támogatáshoz:%1 @@ -5574,8 +5766,8 @@ Jelölje ki azt a módszert, amely a vázlatot a kijelölt tárgyakhoz csatolja. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Mozgatja a geometriát az utolsó kiválasztott pont, mint referencia pont, figyelembevételével @@ -5583,12 +5775,12 @@ Jelölje ki azt a módszert, amely a vázlatot a kijelölt tárgyakhoz csatolja. Sketcher_NewSketch - + Sketch attachment Vázlat melléklet - + Select the method to attach this sketch to selected object Válassza ki a módszert, a vázlat csatolásához a kijelölt objektumokhoz @@ -5596,12 +5788,12 @@ Jelölje ki azt a módszert, amely a vázlatot a kijelölt tárgyakhoz csatolja. Sketcher_ReorientSketch - + Sketch has support Vázlat támogatással - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Támogatási felülettel rendelkező vázlat nézetét nem lehet átállítani. @@ -5610,11 +5802,6 @@ Le akarja választani a támogatási felületről? TaskSketcherMessages - - - Form - Űrlap - DOF @@ -5633,11 +5820,6 @@ Le akarja választani a támogatási felületről? TaskSketcherSolverAdvanced - - - Form - Űrlap - Default algorithm used for Sketch solving @@ -5910,7 +6092,7 @@ Az Eigen Sparse QR algoritmus ritka mátrixokra van optimalizálva; általában ViewProviderSketch - + and %1 more és további %1 @@ -6100,22 +6282,22 @@ A rácsháló távolsága megváltozik, ha kisebb lesz, mint ez a pixelszám. GridSpaceAction - + Grid auto spacing Rács automatikus térköze - + Resize grid automatically depending on zoom. A rács méretének automatikus módosítása a nagyítástól függően. - + Spacing Távolságtartás - + Distance between two subsequent grid lines. Két egymást követő rácsvonal közötti távolság. @@ -6123,87 +6305,87 @@ A rácsháló távolsága megváltozik, ha kisebb lesz, mint ez a pixelszám. Notifications - + The Sketch has malformed constraints! A vázlat hibásan formázott kényszerítéseket tartalmaz! - + The Sketch has partially redundant constraints! A vázlat részlegesen felesleges kényszerítéseket tartalmaz! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! A parabolákat áttelepítették. Az áttelepített fájlok nem nyílnak meg a FreeCAD korábbi verzióiban!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Hiba - + Failed to delete all geometry Nem sikerült törölni az összes geometriát - + Failed to delete all constraints Nem sikerült törölni az összes kényszerítést - + The constraint has invalid index information and is malformed. A korlátozás érvénytelen indexinformációval rendelkezik, és rosszul formázott. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Érvénytelen kényszerítés @@ -6245,8 +6427,8 @@ A rácsháló távolsága megváltozik, ha kisebb lesz, mint ez a pixelszám.B-görbe pólus létrehozás hiba - + Error creating B-spline Hiba a B-görbe létrehozásakor @@ -6343,9 +6525,9 @@ A rácsháló távolsága megváltozik, ha kisebb lesz, mint ez a pixelszám.Sikertelen az él vágása - - - + + + Value Error Értékhiba @@ -6381,58 +6563,58 @@ A rácsháló távolsága megváltozik, ha kisebb lesz, mint ez a pixelszám. SnapSpaceAction - + Snap to objects Tárgyhoz illeszt - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Az új pontok az aktuálisan előzetesen kiválasztott tárgyhoz illeszkednek. A vonalak és ívek közepére is illeszt. - + Snap to grid Rácshoz illeszt - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Az új pontok a legközelebbi rácsvonalhoz kapcsolódnak. A pontokat a rácsháló távolságának egyötödénél közelebb kell állítani a rácsvonalhoz, hogy beilleszkedjenek. - + Snap angle Szög illesztés - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Szög lépés a 'Szög illesztés' funkciót használó eszközökhöz (például vonal). Tartsa lenyomva a CTRL billentyűt a 'Szög illesztés' engedélyezéséhez. A szög a vázlat pozitív X tengelyétől indul. RenderingOrderAction - - - - - Normal Geometry - Aktuális geometria - - Construction Geometry - Építési geometria + Normal Geometry + Aktuális geometria + Construction Geometry + Építési geometria + + + + + External Geometry Külső geometria @@ -6453,12 +6635,12 @@ A pontokat a rácsháló távolságának egyötödénél közelebb kell állíta CmdSketcherGrid - + Toggle grid Rács kapcsolása - + Toggle the grid in the sketch. In the menu you can change grid settings. Kapcsolja ki a rácsot a vázlatban. A menüben módosíthatja a rács beállításait. @@ -6466,12 +6648,12 @@ A pontokat a rácsháló távolságának egyötödénél közelebb kell állíta CmdSketcherSnap - + Toggle snap Illesztés kapcsoló - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Az összes illesztés funkció átkapcsolása. A menüben egyénileg kapcsolhatja be a 'Rácshoz illeszt' és a 'Tárgyhoz illeszt' funkciót, valamint módosíthatja a további illesztés beállításokat. @@ -6502,4 +6684,34 @@ A pontokat a rácsháló távolságának egyötödénél közelebb kell állíta Hozzon létre egy B-görbét csomópontokkal, azaz interpolációval a vázlatban. + + CmdSketcherDimension + + + Dimension + Dimenzió + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_id.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_id.ts index 1be7db7f12..06e02df5ba 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_id.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_id.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Switches between showing and hiding the curvature comb for all B-splines Beralih antara menampilkan dan menyembunyikan kelengkungan sisir untuk B-splines semua @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Show/hide B-spline degree - + Switches between showing and hiding the degree for all B-splines Beralih antara menunjukkan dan menyembunyikan derajat untuk semua B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Switches between showing and hiding the knot multiplicity for all B-splines Beralih antara menunjukkan dan menyembunyikan keseragaman simpul untuk semua B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Show/hide B-spline control point weight - + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Switches between showing and hiding the control polygons for all B-splines Beralih antara menampilkan dan menyembunyikan poligon kontrol untuk semua B-splines @@ -69,25 +69,25 @@ CmdSketcherCarbonCopy - - Carbon copy - Carbon copy + + Create carbon copy + Create carbon copy - - Copies the geometry of another sketch - Salinan geometri sketsa lainnya + + Copy the geometry of another sketch + Copy the geometry of another sketch CmdSketcherClone - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Menciptakan tiruan dari geometri mengambil sebagai referensi titik dipilih terakhir @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Tampilkan / sembunyikan lapisan informasi B-spline - + Show/hide B-spline degree Show/hide B-spline degree - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Show/hide B-spline control point weight Show/hide B-spline control point weight @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Constrain arc or circle - + Constrain an arc or a circle Constrain an arc or a circle - + Constrain radius Kendalikan radius - + Constrain diameter Constrain diameter - + Constrain auto radius/diameter Constrain auto radius/diameter @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Menciptakan tiruan dari geometri mengambil sebagai referensi titik dipilih terakhir @@ -169,23 +169,23 @@ CmdSketcherCompCreateArc - + Create arc Create arc - + Create an arc in the sketcher Buat busur di sketsa & quot; "terjemahan =" Indonesia "> sketcher - + Center and end points Pusat dan titik akhir - + End points and rim point Titik akhir dan titik pelek @@ -193,12 +193,12 @@ CmdSketcherCompCreateBSpline - - Create a B-spline + + Create B-spline Buat B-spline - + Create a B-spline in the sketch Buat B-spline di sketsa @@ -206,23 +206,23 @@ CmdSketcherCompCreateCircle - + Create circle Buat lingkaran - + Create a circle in the sketcher Buat lingkaran dalam & quot; sketsa & quot; "terjemahan =" bahasa indonesia "> sketsa - + Center and rim point Pusat dan titik pelek - + 3 rim points 3 titik pelek @@ -230,37 +230,37 @@ CmdSketcherCompCreateConic - - Create a conic - Buat sebuah kerucut + + Create conic + Create conic - + Create a conic in the sketch Buat kerucut di sketsa - + Ellipse by center, major radius, point Elips oleh pusat, radius utama, titik - + Ellipse by periapsis, apoapsis, minor radius Ellipse by periapsis, apoapsis, minor radius - + Arc of ellipse by center, major radius, endpoints Arc elips oleh pusat, radius utama, titik akhir - + Arc of hyperbola by center, major radius, endpoints Arc hiperbola oleh pusat, radius utama, titik akhir - + Arc of parabola by focus, vertex, endpoints Busur parabola dengan fokus, simpul, titik akhir @@ -268,22 +268,22 @@ CmdSketcherCompCreateFillets - - Fillets - Fillets + + Create fillet + Buat fillet - + Create a fillet between two lines Create a fillet between two lines - + Sketch fillet Sketch fillet - + Constraint-preserving sketch fillet Constraint-preserving sketch fillet @@ -291,27 +291,27 @@ CmdSketcherCompCreateRectangles - - Create rectangles - Create rectangles + + Create rectangle + Buat persegi panjang - + Creates a rectangle in the sketch Creates a rectangle in the sketch - + Rectangle Empat persegi panjang - + Centered rectangle Centered rectangle - + Rounded rectangle Rounded rectangle @@ -319,47 +319,47 @@ CmdSketcherCompCreateRegularPolygon - + Create regular polygon Buat poligon biasa - + Create a regular polygon in the sketcher Membuat poligon beraturan di sketcher - + Triangle Segi tiga - + Square Kotak - + Pentagon Segi lima - + Hexagon Segi enam - + Heptagon Segi tujuh - + Octagon Segi delapan - + Regular polygon Poligon beraturan @@ -367,22 +367,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modifikasi keseragaman simpul - + Modifies the multiplicity of the selected knot of a B-spline Memodifikasi banyaknya simpul terpilih dari B-spline - + Increase knot multiplicity Meningkatkan keseragaman simpul - + Decrease knot multiplicity Turunkan keseragaman simpul @@ -390,12 +390,12 @@ CmdSketcherConstrainAngle - + Constrain angle Kendalikan sudut - + Fix the angle of a line or the angle between two lines Perbaiki sudut garis atau sudut antara dua garis @@ -403,25 +403,25 @@ CmdSketcherConstrainBlock - + Constrain block Constrain block - - Block constraint: block the selected edge from moving - Block constraint: block the selected edge from moving + + Block the selected edge from moving + Block the selected edge from moving CmdSketcherConstrainCoincident - + Constrain coincident Kendala bertepatan - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -429,12 +429,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Constrain diameter - + Fix the diameter of a circle or an arc Fix the diameter of a circle or an arc @@ -442,12 +442,12 @@ CmdSketcherConstrainDistance - + Constrain distance Kendalikan jarak - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -455,12 +455,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Constrain horizontal distance - + Fix the horizontal distance between two points or line ends Perbaiki jarak horizontal antara dua titik atau garis ujung @@ -468,12 +468,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Constrain vertical distance - + Fix the vertical distance between two points or line ends Perbaiki jarak vertikal antara dua titik atau garis ujung @@ -481,12 +481,12 @@ CmdSketcherConstrainEqual - + Constrain equal Kendalikan sama - + Create an equality constraint between two lines or between circles and arcs Buat batasan kesetaraan antara dua garis atau antara lingkaran dan busur @@ -494,12 +494,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Kendalikan secara horisontal - + Create a horizontal constraint on the selected item Buat kendala horizontal pada item yang dipilih @@ -507,27 +507,27 @@ CmdSketcherConstrainLock - + Constrain lock Kendalikan kunci - - Lock constraint: create both a horizontal and a vertical distance constraint + + Create both a horizontal and a vertical distance constraint on the selected vertex - Lock constraint: create both a horizontal and a vertical distance constraint + Create both a horizontal and a vertical distance constraint on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Kendalikan sejajar - + Create a parallel constraint between two lines Buat batasan paralel antara dua baris @@ -535,12 +535,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Kendalikan tegak lurus - + Create a perpendicular constraint between two lines Buat kendala tegak lurus antara dua garis @@ -548,12 +548,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Konstruksikan titik ke objek - + Fix a point onto an object Perbaiki sebuah titik pada sebuah objek @@ -561,12 +561,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Constrain auto radius/diameter - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -574,12 +574,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Constrain radius or weight - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline @@ -587,12 +587,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - - Constrain refraction (Snell's law') - Membekukan refraksi (hukum Snell ') + + Constrain refraction (Snell's law) + Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -602,12 +602,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Konstruksikan simetris - + Create a symmetry constraint between two points with respect to a line or a third point Create a symmetry constraint between two points @@ -617,12 +617,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Kendalikan singgung - + Create a tangent constraint between two entities Buat kendala singgung antara dua entitas @@ -630,12 +630,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Kendalikan secara vertikal - + Create a vertical constraint on the selected item Buat kendala vertikal pada item yang dipilih @@ -643,12 +643,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convert geometry to B-spline - + Converts the selected geometry to a B-spline Converts the selected geometry to a B-spline @@ -656,12 +656,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Salinan - + Creates a simple copy of the geometry taking as reference the last selected point Membuat salinan geometri sederhana sebagai referensi titik terakhir yang dipilih @@ -669,12 +669,12 @@ with respect to a line or a third point CmdSketcherCreate3PointArc - + Create arc by three points Buat busur dengan tiga titik - + Create an arc by its end points and a point along the arc Buat busur dengan titik ujungnya dan satu titik di sepanjang busur @@ -682,12 +682,12 @@ with respect to a line or a third point CmdSketcherCreate3PointCircle - + Create circle by three points Buat lingkaran dengan tiga titik - + Create a circle by 3 perimeter points Buat lingkaran dengan 3 titik perimeter @@ -695,12 +695,12 @@ with respect to a line or a third point CmdSketcherCreateArc - + Create arc by center Buat lingkaran dengan 3 titik perimeter - + Create an arc by its center and by its end points Buat busur dengan pusatnya dan pada titik ujungnya @@ -708,12 +708,12 @@ with respect to a line or a third point CmdSketcherCreateArcOfEllipse - - Create an arc of ellipse - Buat busur elips + + Create arc of ellipse + Create arc of ellipse - + Create an arc of ellipse in the sketch Buat busur elips di sketsa @@ -721,12 +721,12 @@ with respect to a line or a third point CmdSketcherCreateArcOfHyperbola - - Create an arc of hyperbola - Buat busur hiperbola + + Create arc of hyperbola + Create arc of hyperbola - + Create an arc of hyperbola in the sketch Buat busur hiperbola di sketsa @@ -734,12 +734,12 @@ with respect to a line or a third point CmdSketcherCreateArcOfParabola - - Create an arc of parabola - Buat busur parabola + + Create arc of parabola + Create arc of parabola - + Create an arc of parabola in the sketch Buat busur parabola di sketsa @@ -747,25 +747,25 @@ with respect to a line or a third point CmdSketcherCreateBSpline - + Create B-spline Buat B-spline - - Create a B-spline via control points in the sketch. - Buat B-spline melalui titik kontrol pada sketsa. + + Create a B-spline by control points in the sketch. + Create a B-spline by control points in the sketch. CmdSketcherCreateCircle - + Create circle Buat lingkaran - + Create a circle in the sketch Buat B-spline lewat titik kontrol pada sketsa @@ -773,12 +773,12 @@ with respect to a line or a third point CmdSketcherCreateEllipseBy3Points - + Create ellipse by 3 points Buat elips dengan 3 poin - + Create an ellipse by 3 points in the sketch Buat elips dengan 3 poin pada sketsa @@ -786,12 +786,12 @@ with respect to a line or a third point CmdSketcherCreateEllipseByCenter - + Create ellipse by center Buat elips menurut pusat - + Create an ellipse by center in the sketch Buat elips dengan pusat di sketsa @@ -799,12 +799,12 @@ with respect to a line or a third point CmdSketcherCreateFillet - + Create fillet Buat fillet - + Create a fillet between two lines or at a coincident point Create a fillet between two lines or at a coincident point @@ -812,12 +812,12 @@ with respect to a line or a third point CmdSketcherCreateHeptagon - + Create heptagon Buat heptagon - + Create a heptagon in the sketch Buat heptagon di sketsa @@ -825,12 +825,12 @@ with respect to a line or a third point CmdSketcherCreateHexagon - + Create hexagon Buat segi enam - + Create a hexagon in the sketch Buat segi enam di sketsa @@ -838,12 +838,12 @@ with respect to a line or a third point CmdSketcherCreateLine - + Create line Buat baris - + Create a line in the sketch Create a line in the sketch @@ -851,12 +851,12 @@ with respect to a line or a third point CmdSketcherCreateOblong - + Create rounded rectangle Create rounded rectangle - + Create a rounded rectangle in the sketch Create a rounded rectangle in the sketch @@ -864,12 +864,12 @@ with respect to a line or a third point CmdSketcherCreateOctagon - + Create octagon Buat oktagon - + Create an octagon in the sketch Buat oktagon di sketsa @@ -877,12 +877,12 @@ with respect to a line or a third point CmdSketcherCreatePentagon - + Create pentagon Buat pentagon - + Create a pentagon in the sketch Buat pentagon di sketsa @@ -890,25 +890,25 @@ with respect to a line or a third point CmdSketcherCreatePeriodicBSpline - + Create periodic B-spline Buat B-spline periodik - - Create a periodic B-spline via control points in the sketch. - Create a periodic B-spline via control points in the sketch. + + Create a periodic B-spline by control points in the sketch. + Create a periodic B-spline by control points in the sketch. CmdSketcherCreatePoint - + Create point Buat titik - + Create a point in the sketch Buat sebuah titik di sketsa @@ -916,12 +916,12 @@ with respect to a line or a third point CmdSketcherCreatePointFillet - + Create corner-preserving fillet Create corner-preserving fillet - + Fillet that preserves intersection point and most constraints Fillet that preserves intersection point and most constraints @@ -929,12 +929,12 @@ with respect to a line or a third point CmdSketcherCreatePolyline - + Create polyline Buat polyline - + Create a polyline in the sketch. 'M' Key cycles behaviour Create a polyline in the sketch. 'M' Key cycles behaviour @@ -942,12 +942,12 @@ with respect to a line or a third point CmdSketcherCreateRectangle - + Create rectangle Buat persegi panjang - + Create a rectangle in the sketch Buat persegi panjang di sketsa @@ -955,12 +955,12 @@ with respect to a line or a third point CmdSketcherCreateRectangleCenter - + Create centered rectangle Create centered rectangle - + Create a centered rectangle in the sketch Create a centered rectangle in the sketch @@ -968,12 +968,12 @@ with respect to a line or a third point CmdSketcherCreateRegularPolygon - + Create regular polygon Buat poligon biasa - + Create a regular polygon in the sketch Membuat poligon beraturan di sketch @@ -981,12 +981,12 @@ with respect to a line or a third point CmdSketcherCreateSlot - + Create slot Buat slot - + Create a slot in the sketch Buat slot di sketsa @@ -994,12 +994,12 @@ with respect to a line or a third point CmdSketcherCreateSquare - + Create square Buat kuadrat - + Create a square in the sketch Buat kotak di sketsa @@ -1007,12 +1007,12 @@ with respect to a line or a third point CmdSketcherCreateTriangle - + Create equilateral triangle Buat segitiga sama sisi - + Create an equilateral triangle in the sketch Buat segitiga sama sisi dalam sketsa @@ -1020,12 +1020,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Decrease B-spline degree - + Decreases the degree of the B-spline Decreases the degree of the B-spline @@ -1033,12 +1033,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Turunkan keseragaman simpul - + Decreases the multiplicity of the selected knot of a B-spline Turunkan multiplisitas dari simpul yang dipilih dari B-spline @@ -1046,12 +1046,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Delete all constraints - + Delete all constraints in the sketch Delete all constraints in the sketch @@ -1059,12 +1059,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Delete all geometry - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Delete all geometry and constraints in the current sketch, with the exception of external geometry @@ -1072,12 +1072,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Edit sketch - + Edit the selected sketch. Edit the selected sketch. @@ -1085,12 +1085,12 @@ with respect to a line or a third point CmdSketcherExtend - + Extend edge Perluas tepi - + Extend an edge with respect to the picked position Perluas keunggulan sehubungan dengan posisi yang dipetik @@ -1098,12 +1098,12 @@ with respect to a line or a third point CmdSketcherExternal - - External geometry - Geometri eksternal + + Create external geometry + Create external geometry - + Create an edge linked to an external geometry Buat tepi yang terhubung dengan geometri eksternal @@ -1111,12 +1111,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Increase B-spline degree - + Increases the degree of the B-spline Meningkatkan derajat B-spline @@ -1124,12 +1124,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Meningkatkan keseragaman simpul - + Increases the multiplicity of the selected knot of a B-spline Meningkatkan multiplisitas dari simpul yang dipilih dari B-spline @@ -1137,12 +1137,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Insert knot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1150,12 +1150,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1163,12 +1163,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Tinggalkan sketsa - + Finish editing the active sketch. Finish editing the active sketch. @@ -1176,12 +1176,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Sketsa peta untuk menghadapi ... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1190,7 +1190,7 @@ First select the supporting geometry, for example, a face or an edge of a solid then call this command, then choose the desired sketch. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. @@ -1198,22 +1198,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Gabungkan sketsa - + Create a new sketch from merging two or more selected sketches. Create a new sketch from merging two or more selected sketches. - + Wrong selection Pilihan salah - + Select at least two sketches. Select at least two sketches. @@ -1221,12 +1221,12 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Cermin sketsa - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1235,12 +1235,12 @@ by using the X or Y axes, or the origin point, as mirroring reference. - + Wrong selection Pilihan salah - + Select one or more sketches. Select one or more sketches. @@ -1248,12 +1248,12 @@ as mirroring reference. CmdSketcherMove - + Move Pindah - + Moves the geometry taking as reference the last selected point Moves the geometry taking as reference the last selected point @@ -1261,12 +1261,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Buat sketsa - + Create a new sketch. Create a new sketch. @@ -1274,12 +1274,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Rectangular array - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Creates a rectangular array pattern of the geometry taking as reference the last selected point @@ -1287,12 +1287,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Remove axes alignment - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection @@ -1300,12 +1300,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Sketsa reorientasi - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Place the selected sketch on one of the global coordinate planes. @@ -1315,12 +1315,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Tampilkan / sembunyikan geometri internal - + Show all internal geometry or hide unused internal geometry Show all internal geometry or hide unused internal geometry @@ -1328,8 +1328,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - - + + Select conflicting constraints Select conflicting constraints @@ -1337,12 +1337,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints Select associated constraints - + Select the constraints associated with the selected geometrical elements Select the constraints associated with the selected geometrical elements @@ -1350,12 +1350,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Select associated geometry - + Select the geometrical elements associated with the selected constraints Select the geometrical elements associated with the selected constraints @@ -1363,12 +1363,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Select unconstrained DoF - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Select geometrical elements where the solver still detects unconstrained degrees of freedom. @@ -1376,12 +1376,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Select horizontal axis - + Select the local horizontal axis of the sketch Select the local horizontal axis of the sketch @@ -1389,8 +1389,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - - + + Select malformed constraints Select malformed constraints @@ -1398,12 +1398,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin Select origin - + Select the local origin point of the sketch Select the local origin point of the sketch @@ -1411,8 +1411,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - - + + Select partially redundant constraints Select partially redundant constraints @@ -1420,8 +1420,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - - + + Select redundant constraints Select redundant constraints @@ -1429,12 +1429,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis Select vertical axis - + Select the local vertical axis of the sketch Select the local vertical axis of the sketch @@ -1442,12 +1442,12 @@ This will clear the 'Support' property, if any. CmdSketcherSplit - + Split edge Split edge - + Splits an edge into two while preserving constraints Splits an edge into two while preserving constraints @@ -1455,12 +1455,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation Stop operation - + When in edit mode, stop the active operation (drawing, constraining, etc.). When in edit mode, stop the active operation (drawing, constraining, etc.). @@ -1468,12 +1468,12 @@ This will clear the 'Support' property, if any. CmdSketcherSwitchVirtualSpace - + Switch virtual space Switch virtual space - + Switches the selected constraints or the view to the other virtual space Mengalihkan batasan terpilih atau tampilan ke ruang virtual lain @@ -1481,12 +1481,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry Simetri - + Creates symmetric geometry with respect to the last selected line or point Membuat geometri simetris berkenaan dengan garis atau titik yang terakhir dipilih @@ -1494,12 +1494,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activate/deactivate constraint - + Activates or deactivates the selected constraints Activates or deactivates the selected constraints @@ -1507,12 +1507,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleConstruction - + Toggle construction geometry Toggle geometri konstruksi - + Toggles the toolbar or selected geometry to/from construction mode Matikan toolbar atau geometri yang dipilih ke / dari mode konstruksi @@ -1520,12 +1520,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Toggle driving/reference constraint - + Set the toolbar, or the selected constraints, into driving or reference mode Set the toolbar, or the selected constraints, @@ -1535,12 +1535,12 @@ into driving or reference mode CmdSketcherTrimming - + Trim edge Trim tepi - + Trim an edge with respect to the picked position Potong tepi dengan memperhatikan posisi yang dipetik @@ -1548,24 +1548,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Validasi sketsa... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. - + Wrong selection Pilihan salah - + Select only one sketch. Select only one sketch. @@ -1573,12 +1573,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section View section - + When in edit mode, switch between section view and full view. When in edit mode, switch between section view and full view. @@ -1586,12 +1586,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Lihat sketsa - + When in edit mode, set the camera orientation perpendicular to the sketch plane. When in edit mode, set the camera orientation perpendicular to the sketch plane. @@ -1599,531 +1599,653 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Add horizontal constraint - - - + + + Add horizontal alignment Add horizontal alignment - - + + Add vertical constraint Add vertical constraint - + Add vertical alignment Add vertical alignment - + Add 'Lock' constraint Add 'Lock' constraint - + Add relative 'Lock' constraint Add relative 'Lock' constraint - + Add fixed constraint Add fixed constraint - + Add 'Block' constraint Add 'Block' constraint - + Add block constraint Add block constraint - - - + + + Add coincident constraint Add coincident constraint - - + + Add distance from horizontal axis constraint Add distance from horizontal axis constraint - - + + Add distance from vertical axis constraint Add distance from vertical axis constraint - - + + Add point to point distance constraint Add point to point distance constraint - - + + + Add point to line Distance constraint Add point to line Distance constraint - - + + Add circle to circle distance constraint Add circle to circle distance constraint - - + + Add circle to line distance constraint + Add circle to line distance constraint + + + + + + + Add length constraint Add length constraint - - + + + Dimension + Dimensi + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Add point on object constraint - - + + Add point to point horizontal distance constraint Add point to point horizontal distance constraint - + Add fixed x-coordinate constraint Add fixed x-coordinate constraint - - + + Add point to point vertical distance constraint Add point to point vertical distance constraint - + Add fixed y-coordinate constraint Add fixed y-coordinate constraint - - + + Add parallel constraint Add parallel constraint - - - - - - - + + + + + + + Add perpendicular constraint Add perpendicular constraint - + Add perpendicularity constraint Add perpendicularity constraint - + Swap coincident+tangency with ptp tangency Swap coincident+tangency with ptp tangency - + Swap PointOnObject+tangency with point to curve tangency Swap PointOnObject+tangency with point to curve tangency - - - - - - - + + + + + + + Add tangent constraint Add tangent constraint - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Add tangent constraint point - - - - + + + + Add radius constraint Add radius constraint - - - - + + + + Add diameter constraint Add diameter constraint - - - - + + + + Add radiam constraint Add radiam constraint - - - - - - + + + + + + Add angle constraint Add angle constraint - - + + Add equality constraint Add equality constraint - - - - - + + + + + Add symmetric constraint Add symmetric constraint - + Add Snell's law constraint Add Snell's law constraint - + Toggle constraint to driving/reference Toggle constraint to driving/reference - + Activate/Deactivate constraint Activate/Deactivate constraint - + Create a new sketch on a face Create a new sketch on a face - + Create a new sketch Buat sketsa baru - + Reorient sketch Reorient sketch - + Attach sketch Attach sketch - + Detach sketch Detach sketch - + Create a mirrored sketch for each selected sketch Create a mirrored sketch for each selected sketch - + Merge sketches Gabungkan sketsa - + Toggle draft from/to draft Toggle draft from/to draft - + Add sketch line Add sketch line - + Add sketch box Add sketch box - + Add centered sketch box Add centered sketch box - + Add rounded rectangle Add rounded rectangle - + Add line to sketch wire Add line to sketch wire - + Add arc to sketch wire Add arc to sketch wire - - + + Add sketch arc Add sketch arc - - + + Add sketch circle Add sketch circle - + Add sketch ellipse Add sketch ellipse - + Add sketch arc of ellipse Add sketch arc of ellipse - + Add sketch arc of hyperbola Add sketch arc of hyperbola - + Add sketch arc of Parabola Add sketch arc of Parabola - + Add Pole circle Add Pole circle - + Add sketch point Add sketch point - - + + Create fillet Buat fillet - + Trim edge Trim tepi - + Extend edge Perluas tepi - + Split edge Split edge - + Add external geometry Add external geometry - - Add carbon copy - Add carbon copy - - - + Add slot Add slot - + Add hexagon Add hexagon - + Convert to NURBS Convert to NURBS - + Increase spline degree Increase spline degree - + Decrease spline degree Decrease spline degree - + Increase knot multiplicity Meningkatkan keseragaman simpul - + Decrease knot multiplicity Turunkan keseragaman simpul - + Insert knot Insert knot - + Join Curves Join Curves - + Exposing Internal Geometry Exposing Internal Geometry - + Create symmetric geometry Create symmetric geometry - + Copy/clone/move geometry Copy/clone/move geometry - + Create copy of geometry Create copy of geometry - + Delete all geometry Delete all geometry - + Delete All Constraints Delete All Constraints - + Remove Axes Alignment Remove Axes Alignment - + Toggle constraints to the other virtual space Toggle constraints to the other virtual space - - - - + + + + Update constraint's virtual space Update constraint's virtual space - + Add auto constraints Add auto constraints - + Swap constraint names Tukarlah nama kendala - + Rename sketch constraint Rename sketch constraint - + Drag Point Drag Point - + Drag Curve Drag Curve - + Drag Constraint Drag Constraint - + Modify sketch constraints Modify sketch constraints - + Add Knot Point Add Knot Point + + + Create a carbon copy + Create a carbon copy + CommandGroup - + Sketcher Sketcher @@ -2131,94 +2253,94 @@ invalid constraints, degenerated geometry, etc. Exceptions - + Autoconstrain error: Unsolvable sketch while applying coincident constraints. Autoconstrain error: Unsolvable sketch while applying coincident constraints. - + Autoconstrain error: Unsolvable sketch while applying vertical/horizontal constraints. Autoconstrain error: Unsolvable sketch while applying vertical/horizontal constraints. - + Autoconstrain error: Unsolvable sketch while applying equality constraints. Autoconstrain error: Unsolvable sketch while applying equality constraints. - + Autoconstrain error: Unsolvable sketch without constraints. Autoconstrain error: Unsolvable sketch without constraints. - + Autoconstrain error: Unsolvable sketch after applying horizontal and vertical constraints. Autoconstrain error: Unsolvable sketch after applying horizontal and vertical constraints. - + Autoconstrain error: Unsolvable sketch after applying point-on-point constraints. Autoconstrain error: Unsolvable sketch after applying point-on-point constraints. - + Autoconstrain error: Unsolvable sketch after applying equality constraints. Autoconstrain error: Unsolvable sketch after applying equality constraints. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline Geometry Index (GeoID) is out of bounds. - + You are requesting no change in knot multiplicity. Bspline GeoId berada di luar batas. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. The Geometry Index (GeoId) provided is not a B-spline curve. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Indeks simpul berada di luar batas. Perhatikan bahwa sesuai dengan notasi OCC, simpul pertama memiliki indeks 1 dan bukan nol. - + The multiplicity cannot be increased beyond the degree of the B-spline. The multiplicity cannot be increased beyond the degree of the B-spline. - + The multiplicity cannot be decreased beyond zero. Multiplisitas tidak dapat ditingkatkan melampaui tingkat b-spline. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC tidak dapat mengurangi multiplisitas dalam toleransi maksimum. - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2234,552 +2356,556 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Sketcher - + There are no modes that accept the selected set of subelements Tidak ada mode yang menerima dipilih set dari subelements - + Broken link to support subelements Tautan rusak untuk mendukung subelemen - - + + Unexpected error Kesalahan tak terduga - + Face is non-planar Wajah tidak planar - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Bentuk yang dipilih memiliki bentuk yang salah (misalnya, tepi melengkung yang lurus dibutuhkan) - + Sketch mapping Pemetaan sketsa - + Can't map the sketch to selected object. %1. Tidak dapat memetakan sketsa ke objek yang dipilih . % 1 . - - + + Don't attach Jangan pasang - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wrong selection Pilihan salah - - + + Select edge(s) from the sketch. Pilih tepi dari sketsa. - - - Distance constraint - Kendala jarak - Not allowed to edit the datum because the sketch contains conflicting constraints Tidak diizinkan untuk mengedit datum karena sketsa berisi kendala yang bertentangan - + Dimensional constraint Batasan dimensi - + Cannot add a constraint between two external geometries. Cannot add a constraint between two external geometries. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Sketcher Constraint Substitution - + Keep notifying me of constraint substitutions Keep notifying me of constraint substitutions - - - + + + Only sketch and its support are allowed to be selected. Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. One of the selected has to be on the sketch. - - + + Select an edge from the sketch. Pilih tepi dari sketsa. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Kendala yang tidak mungkin - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint Kendala ganda - - - - - + + + + + The selected edge already has a horizontal constraint! The selected edge already has a horizontal constraint! - - - + + + The selected edge already has a vertical constraint! The selected edge already has a vertical constraint! - - - - - - + + + + + + The selected edge already has a Block constraint! The selected edge already has a Block constraint! - + The selected item(s) can't accept a horizontal constraint! The dipilih item (s) tidak dapat menerima horisontal kendala ! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! There are more than one fixed points selected. Select a maximum of one fixed point! - + The selected item(s) can't accept a vertical constraint! Dipilih item (s) tidak dapat menerima vertikal kendala! - - - + + + Select vertices from the sketch. Pilih simpul dari para sketsa . - + Select one vertex from the sketch other than the origin. Pilih salah satu titik dari satu sketsa selain asal . - + Select only vertices from the sketch. The last selected vertex may be the origin. Pilih hanya simpul dari para sketsa . Yang terakhir dipilih vertex mungkin asal . - + Wrong solver status Wrong solver status - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. - + Select one edge from the sketch. Select one edge from the sketch. - + Select only edges from the sketch. Select only edges from the sketch. - + Number of selected objects is not 3 Number of selected objects is not 3 - - + + + Error Kesalahan - + + Unexpected error. More information may be available in the Report View. + Unexpected error. More information may be available in the Report View. + + + Endpoint to endpoint tangency was applied instead. Endpoint to endpoint tangency was applied instead. - + Select two or more points from the sketch. Pilih dua atau lebih poin dari para sketsa . - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Pilih tepat satu baris atau satu titik dan satu garis atau dua poin dari para sketsa . - + Cannot add a length constraint on an axis! Tidak dapat menambahkan batasan panjang pada sumbu! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. Pilih hal yang benar dari yang sketsa . - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Tak satu pun dari titik-titik yang dipilih dibatasi ke masing-masing kurva, entah karena mereka adalah bagian dari elemen yang sama, atau karena keduanya adalah geometri eksternal . - - - - + + + + Select exactly one line or up to two points from the sketch. Pilih tepat satu baris atau sampai dengan dua poin dari para sketsa . - + Cannot add a horizontal length constraint on an axis! Tidak dapat menambahkan batasan panjang horizontal pada sumbu! - + Cannot add a fixed x-coordinate constraint on the origin point! Cannot add a fixed x-coordinate constraint on the origin point! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! Tidak dapat menambahkan batasan panjang vertikal pada sumbu! - + Cannot add a fixed y-coordinate constraint on the origin point! Cannot add a fixed y-coordinate constraint on the origin point! - + Select two or more lines from the sketch. Pilih dua atau lebih baris dari para sketsa . - - + + Select at least two lines from the sketch. Pilih setidaknya dua baris dari para sketsa . - + Select a valid line. Select a valid line. - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2787,42 +2913,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Ada beberapa cara kendala ini bisa diterapkan. Kombinasi yang diterima: dua kurva; titik akhir dan kurva; dua titik akhir; dua tikungan dan satu titik . - + Select some geometry from the sketch. perpendicular constraint Pilih beberapa geometri dari para sketsa . - - + + Cannot add a perpendicularity constraint at an unconnected point! Tidak dapat menambahkan batasan tegak lurus pada titik yang tidak terhubung ! - - - + + + Perpendicular to B-spline edge currently unsupported. Perpendicular ke tepi B-spline saat ini tidak didukung. - - + + One of the selected edges should be a line. Salah satu tepi yang dipilih harus berupa garis . - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Endpoint to endpoint tangency was applied. The coincident constraint was deleted. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2830,402 +2956,410 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Ada beberapa cara kendala ini bisa diterapkan. Kombinasi yang diterima: dua kurva; titik akhir dan kurva; dua titik akhir; dua tikungan dan satu titik . - + Select some geometry from the sketch. tangent constraint Pilih beberapa geometri dari para sketsa . - - - + + + Cannot add a tangency constraint at an unconnected point! Tidak dapat menambahkan kendala singgung pada titik yang tidak terhubung ! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! Salah jumlah objek terpilih ! - - + + With 3 objects, there must be 2 curves and 1 point. Dengan 3 objek, harus ada 2 kurva dan 1 titik . - - - + + + Tangency to B-spline edge currently unsupported. Tangensi ke tepi B-spline saat ini tidak didukung. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Pilih satu atau lebih busur atau lingkaran dari para sketsa . - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. - - - + + + Constraint only applies to arcs or circles. Kendala hanya berlaku untuk busur atau lingkaran. - - + + Select one or two lines from the sketch. Or select two edges and a point. Pilih satu atau dua baris dari para sketsa . Atau pilih dua sisi dan satu titik . - - + + Parallel lines Garis sejajar - - + + An angle constraint cannot be set for two parallel lines. Kendala sudut tidak dapat diatur untuk dua garis sejajar. - + Cannot add an angle constraint on an axis! Tidak dapat menambahkan batasan sudut pada sumbu! - + Select two edges from the sketch. Pilih dua sisi dari satu sketsa . - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. Sketch axes cannot be used in equality constraints. - + Equality for B-spline edge currently unsupported. Kesetaraan untuk tepi B-spline saat ini tidak didukung. - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Pilih dua poin dan simetri garis , dua poin dan simetri titik atau garis dan simetri titik dari yang sketsa . - - + + Cannot add a symmetry constraint between a line and its end points. Cannot add a symmetry constraint between a line and its end points. - - + + + + Cannot add a symmetry constraint between a line and its end points! Tidak dapat menambahkan batasan simetri antara garis dan titik akhirnya! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. - + Selected objects are not just geometry from one sketch. Objek yang dipilih bukan hanya geometri dari satu sketsa . - + Cannot create constraint with external geometry only. Cannot create constraint with external geometry only. - + Incompatible geometry is selected. Incompatible geometry is selected. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw on B-spline edge is currently unsupported. - - - - - + + + + + Select constraints from the sketch. Select constraints from the sketch. - - + + Select constraint(s) from the sketch. Pilih kendala (s) dari para sketsa . - + B-Spline Degree B-Spline Degree - + Define B-Spline Degree, between 1 and %1: Define B-Spline Degree, between 1 and %1: - - - + + + CAD Kernel Error Kernel CAD Error - + None of the selected elements is an edge. Tak satu pun dari elemen yang dipilih adalah keunggulan . - - + + At least one of the selected objects was not a B-Spline and was ignored. At least one of the selected objects was not a B-Spline and was ignored. - - + + The selection comprises more than one item. Please select just one knot. Pemilihan terdiri dari lebih dari satu item. Silahkan pilih hanya satu simpul . - - + + Input Error Kesalahan Masukan - - + + None of the selected elements is a knot of a B-spline Tak satu pun dari yang dipilih elemen adalah simpul dari B-spline - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - - Exactly two curve should end at the selected point to be able to join them. - Exactly two curve should end at the selected point to be able to join them. + + + Exactly two curves should end at the selected point to be able to join them. + Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Pilih elemen dari satu sketsa . - + No constraint selected Tidak ada batasan yang dipilih - + At least one constraint must be selected Setidaknya satu kendala harus dipilih - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Konstruksi simetris membutuhkan setidaknya dua elemen geometris, elemen geometris terakhir menjadi referensi untuk konstruksi simetri . - + The last element must be a point or a line serving as reference for the symmetry construction. Unsur terakhir harus menjadi titik atau garis yang berfungsi sebagai acuan untuk konstruksi simetri . - - + + A copy requires at least one selected non-external geometric element Salinan memerlukan setidaknya satu elemen geometrik non-eksternal yang dipilih - + Delete All Geometry Menghapus semua geometri - + Are you really sure you want to delete all geometry and constraints? Are you really sure you want to delete all geometry and constraints? - + Delete All Constraints Delete All Constraints - + Are you really sure you want to delete all the constraints? Are you really sure you want to delete all the constraints? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted - + Set knot multiplicity Set knot multiplicity - + Set knot multiplicity at the last point provided, between 1 and %1:Note that multiplicity may be ignored under certain circumstances.Please refer to documentation for details Set knot multiplicity at the last point provided, between 1 and %1:Note that multiplicity may be ignored under certain circumstances.Please refer to documentation for details + + + Value Error + Value Error + SketcherGui::CarbonCopySelection - + Carbon copy would cause a circular dependency. Salinan karbon akan menyebabkan ketergantungan melingkar. - + This object is in another document. Ini objek di lain dokumen . - + This object belongs to another body. Hold Ctrl to allow cross-references. This object belongs to another body. Hold Ctrl to allow cross-references. - + This object belongs to another body and it contains external geometry. Cross-reference not allowed. This object belongs to another body and it contains external geometry. Cross-reference not allowed. - + This object belongs to another part. Objek ini termasuk bagian lain . - + The selected sketch is not parallel to this sketch. Hold Ctrl+Alt to allow non-parallel sketches. The selected sketch is not parallel to this sketch. Hold Ctrl+Alt to allow non-parallel sketches. - + The XY axes of the selected sketch do not have the same direction as this sketch. Hold Ctrl+Alt to disregard it. Sumbu XY dari sketsa yang dipilih tidak memiliki arah yang sama dengan sketsa ini . Tahan Ctrl + Alt untuk mengabaikannya. - + The origin of the selected sketch is not aligned with the origin of this sketch. Hold Ctrl+Alt to disregard it. asal dari yang dipilih sketsa tidak selaras dengan asal ini sketsa . Tahan Ctrl + Alt untuk mengabaikannya. @@ -3233,132 +3367,132 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintFilterList - + All Semua - + Geometric Geometric - + Coincident Coincident - + Point on Object Point on Object - + Vertical Vertical - + Horizontal Horizontal - + Parallel Paralel - + Perpendicular Perpendicular - + Tangent Garis singgung - + Equality Equality - + Symmetric Simetris - + Block Memblokir - + Internal Alignment Internal Alignment - + Datums Datum - + Horizontal Distance Horizontal Distance - + Vertical Distance Vertical Distance - + Distance Distance - + Radius Jari-jari - + Weight Weight - + Diameter Diameter - + Angle Sudut - + Snell's Law Snell's Law - + Named Bernama - + Reference Referensi - + Selected constraints Selected constraints - + Associated constraints Associated constraints @@ -3366,62 +3500,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + + Select Elements + Select Elements + + + Change value Ubah nilai - + Toggle to/from reference Beralih ke / dari referensi - + Deactivate Deactivate - + Activate Activate - + Show constraints Show constraints - + Hide constraints Hide constraints - + Rename Ganti nama - + Center sketch Pusat sketsa - + Delete Menghapus - + Swap constraint names Tukarlah nama kendala - + Unnamed constraint Unnamed constraint - + Only the names of named constraints can be swapped. Hanya nama- nama kendala yang bisa ditukar. @@ -3429,74 +3568,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle Sisipkan sudut - + Angle: Sudut: - + Insert radius Sisipkan radius - + Radius: Radius: - + Insert diameter Insert diameter - + Diameter: Diameter: - + Insert weight Insert weight - + Weight: Weight: - + Refractive index ratio Constraint_SnellsLaw Rasio indeks bias - + Ratio n2/n1: Constraint_SnellsLaw Rasio n2 / n1: - + Insert length Sisipkan panjang - + Length: Length: - + Refractive index ratio Rasio indeks bias - + Ratio n2/n1: Rasio n2 / n1: @@ -3504,72 +3643,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal Normal - + Construction Konstruksi - + Internal Internal - + External External - + All types All types - + Point Titik - + Line Garis - + Circle Lingkaran - + Ellipse Elips - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3577,12 +3716,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + + Point Coincidence + Point Coincidence + + + + Point on Object + Point on Object + + + + Vertical Constraint + Vertical Constraint + + + + Horizontal Constraint + Horizontal Constraint + + + + Parallel Constraint + Parallel Constraint + + + + Perpendicular Constraint + Perpendicular Constraint + + + + Tangent Constraint + Tangent Constraint + + + + Equal Length + Equal Length + + + + Symmetric + Simetris + + + + Block Constraint + Block Constraint + + + + Lock Constraint + Lock Constraint + + + + Horizontal Distance + Horizontal Distance + + + + Vertical Distance + Vertical Distance + + + + Length Constraint + Length Constraint + + + + Radius Constraint + Radius Constraint + + + + Diameter Constraint + Diameter Constraint + + + + Radiam Constraint + Radiam Constraint + + + + Angle Constraint + Angle Constraint + + + + Toggle construction geometry + Toggle geometri konstruksi + + + + Select Constraints + Select Constraints + + + + Select Origin + Select Origin + + + + Select Horizontal Axis + Select Horizontal Axis + + + + Select Vertical Axis + Select Vertical Axis + + + Layer Layer - + + Layer 0 + Layer 0 + + + + Layer 1 + Layer 1 + + + + Hidden + Hidden + + + Delete Menghapus @@ -3590,22 +3859,22 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ExternalSelection - + Linking this will cause circular dependency. Menghubungkan ini akan menyebabkan ketergantungan melingkar. - + This object is in another document. Ini objek di lain dokumen . - + This object belongs to another body, can't link. Objek ini milik bodi lain , tidak bisa link . - + This object belongs to another part, can't link. Objek ini milik bagian lain , tidak bisa link . @@ -3646,8 +3915,8 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::PropertyConstraintListItem - - + + Unnamed Tanpa nama @@ -3868,6 +4137,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Notify automatic constraint substitutions + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Both + + + + Auto + Mobil + + + + Diameter + Diameter + + + + Radius + Jari-jari + SketcherGui::SketcherSettingsColors @@ -4313,12 +4651,12 @@ Then objects are only visible behind the sketch plane. Terapkan pada sketsa yang ada - + Unexpected C++ exception Pengecualian C ++ tak terduga - + Sketcher Sketcher @@ -4326,55 +4664,55 @@ Then objects are only visible behind the sketch plane. SketcherGui::SketcherValidation - + No missing coincidences Tidak ada kebetulan yang hilang - + No missing coincidences found Tidak ada kebetulan yang hilang ditemukan - + Missing coincidences Kebetulan tidak ada - + %1 missing coincidences found %1 Kebetulan ditemukan hilang - + No invalid constraints Tidak ada batasan yang tidak valid - + No invalid constraints found Tidak ada kendala yang tidak valid ditemukan - + Invalid constraints Kendala tidak valid - + Invalid constraints found Kendala tidak ditemukan - - - - + + + + Reversed external geometry Membalikkan geometri eksternal - + %1 reversed external-geometry arcs were found. Their endpoints are encircled in 3d view. %2 constraints are linking to the endpoints. The constraints have been listed in Report view (menu View -> Panels -> Report view). @@ -4387,71 +4725,71 @@ Click "Swap endpoints in constraints" button to reassign endpoints. Do this only Click "Swap endpoints in constraints" button to reassign endpoints. Do this only once to sketches created in FreeCAD older than v0.15 - + %1 reversed external-geometry arcs were found. Their endpoints are encircled in 3d view. However, no constraints linking to the endpoints were found. %1 busur geometri eksternal terbalik ditemukan. Titik akhir mereka dikepung dalam tampilan 3d . Namun, tidak ada kendala yang terkait dengan titik akhir yang ditemukan. - + No reversed external-geometry arcs were found. Tidak ditemukan busur geometri eksternal terbalik. - + %1 changes were made to constraints linking to endpoints of reversed arcs. %1 perubahan dilakukan pada batasan yang menghubungkan ke titik akhir busur terbalik. - - + + Constraint orientation locking Kendala penguncian orientasi - + Orientation locking was enabled and recomputed for %1 constraints. The constraints have been listed in Report view (menu View -> Panels -> Report view). Orientation locking was enabled and recomputed for %1 constraints. The constraints have been listed in Report view (menu View -> Panels -> Report view). - + Orientation locking was disabled for %1 constraints. The constraints have been listed in Report view (menu View -> Panels -> Report view). Note that for all future constraints, the locking still defaults to ON. Orientation locking was disabled for %1 constraints. The constraints have been listed in Report view (menu View -> Panels -> Report view). Note that for all future constraints, the locking still defaults to ON. - - + + Delete constraints to external geom. Hapus kendala pada geom eksternal. - + You are about to delete ALL constraints that deal with external geometry. This is useful to rescue a sketch with broken/changed links to external geometry. Are you sure you want to delete the constraints? Anda akan menghapus SEMUA kendala yang berhubungan dengan geometri eksternal . Ini berguna untuk menyelamatkan sketsa dengan link yang rusak / berubah ke geometri eksternal . Anda yakin ingin menghapus batasannya? - + All constraints that deal with external geometry were deleted. Semua kendala yang berhubungan dengan geometri eksternal telah dihapus. - + No degenerated geometry No degenerated geometry - + No degenerated geometry found No degenerated geometry found - + Degenerated geometry Degenerated geometry - + %1 degenerated geometry found %1 degenerated geometry found @@ -4489,43 +4827,51 @@ However, no constraints linking to the endpoints were found. Setelan - + Constraints Constraints - + Auto constraints Kendala otomatis - + Auto remove redundants Auto remove redundants - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - - - + + Error Kesalahan + + + Impossible to update visibility tracking + Impossible to update visibility tracking + + + + Impossible to update visibility tracking: + Impossible to update visibility tracking: + SketcherGui::TaskSketcherElements @@ -4555,120 +4901,120 @@ However, no constraints linking to the endpoints were found. Setelan - - - - - - - - - - + + + + + + + + + + Construction Konstruksi - + Elements Elemen - - - - + + + + Point Titik - - - - - - - - - - + + + + + + + + + + Internal Internal - - - - + + + + Line Garis - - - - + + + + Arc Busur - - - - + + + + Circle Lingkaran - - - - + + + + Ellipse Elips - - - - + + + + Elliptical Arc Busur elips - - - - + + + + Hyperbolic Arc Busur hiperbolik - - - - + + + + Parabolic Arc Busur parabola - - - - + + + + BSpline BSpline - - - - + + + + Other Lain - + Extended information Extended information @@ -4676,20 +5022,45 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Pesan solver - + Auto update Auto update - + Executes a recomputation of active document after every sketch action Executes a recomputation of active document after every sketch action + + + Click to select the conflicting constraints. + Click to select the conflicting constraints. + + + + Click to select the redundant constraints. + Click to select the redundant constraints. + + + + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. + + + + Click to select the malformed constraints. + Click to select the malformed constraints. + + + + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. + SketcherGui::TaskSketcherSolverAdvanced @@ -4864,119 +5235,119 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Edit sketch - + A dialog is already open in the task panel A dialog is already open in the task panel - + Do you want to close this dialog? Do you want to close this dialog? - + Invalid sketch Sketsa tidak valid - + Do you want to open the sketch validation tool? Apakah Anda ingin membuka alat validasi sketsa ? - + The sketch is invalid and cannot be edited. sketsa tidak valid dan tidak dapat diedit. - + Please remove the following constraint: Harap hapus batasan berikut : - + Please remove at least one of the following constraints: Harap hapus setidaknya satu dari batasan berikut: - + Please remove the following redundant constraint: Harap hapus batasan berlebihan berikut ini : - + Please remove the following redundant constraints: Harap hapus batasan berlebihan berikut ini : - + The following constraint is partially redundant: The following constraint is partially redundant: - + The following constraints are partially redundant: The following constraints are partially redundant: - + Please remove the following malformed constraint: Please remove the following malformed constraint: - + Please remove the following malformed constraints: Please remove the following malformed constraints: - + Empty sketch Sketsa kosong - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Redundant constraints: - + Partially redundant: Partially redundant: - + Solver failed to converge Solver failed to converge - + Under constrained: Under constrained: - + %n DoF(s) %n DoF(s) - + Fully constrained Fully constrained @@ -4984,8 +5355,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Beralih antara menampilkan dan menyembunyikan kelengkungan sisir untuk B-splines semua @@ -4993,8 +5364,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Turunkan multiplisitas dari simpul yang dipilih dari B-spline @@ -5002,8 +5373,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Beralih antara menunjukkan dan menyembunyikan derajat untuk semua B-splines @@ -5011,8 +5382,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Meningkatkan multiplisitas dari simpul yang dipilih dari B-spline @@ -5020,8 +5391,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Beralih antara menunjukkan dan menyembunyikan keseragaman simpul untuk semua B-splines @@ -5029,8 +5400,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -5038,8 +5409,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Beralih antara menampilkan dan menyembunyikan poligon kontrol untuk semua B-splines @@ -5047,8 +5418,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Menciptakan tiruan dari geometri mengambil sebagai referensi titik dipilih terakhir @@ -5056,17 +5427,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Klon - + Copy Salinan - + Move Pindah @@ -5074,8 +5445,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fix the diameter of a circle or an arc @@ -5083,7 +5454,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5091,8 +5462,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Perbaiki jari-jari lingkaran atau busur @@ -5100,7 +5471,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5108,8 +5479,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Membuat salinan geometri sederhana sebagai referensi titik terakhir yang dipilih @@ -5117,8 +5488,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Create3PointArc - - + + Create an arc by its end points and a point along the arc Buat busur dengan titik ujungnya dan satu titik di sepanjang busur @@ -5126,8 +5497,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Create3PointCircle - - + + Create a circle by 3 rim points Buat lingkaran dengan 3 titik pelek @@ -5135,8 +5506,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateArc - - + + Create an arc by its center and by its end points Buat busur dengan pusatnya dan pada titik ujungnya @@ -5144,8 +5515,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateArcOfEllipse - - + + Create an arc of ellipse by its center, major radius, and endpoints Create an arc of ellipse by its center, major radius, and endpoints @@ -5153,8 +5524,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateArcOfHyperbola - - + + Create an arc of hyperbola by its center, major radius, and endpoints Create an arc of hyperbola by its center, major radius, and endpoints @@ -5162,8 +5533,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateArcOfParabola - - + + Create an arc of parabola by its focus, vertex, and endpoints Create an arc of parabola by its focus, vertex, and endpoints @@ -5171,13 +5542,13 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateBSpline - + B-spline by control points B-spline oleh titik kontrol - - + + Create a B-spline by control points Buat B-spline oleh titik kontrol @@ -5185,8 +5556,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateCircle - - + + Create a circle by its center and by a rim point Buat lingkaran di bagian tengahnya dan dengan titik pelek @@ -5194,8 +5565,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateEllipseBy3Points - - + + Create a ellipse by periapsis, apoapsis, and minor radius Buat elips dengan periapsis, apoapsis, dan jari-jari kecil @@ -5203,8 +5574,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateEllipseByCenter - - + + Create an ellipse by center, major radius and point Buat elips berdasarkan pusat, jari-jari dan titik utama @@ -5212,8 +5583,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateFillet - - + + Creates a radius between two lines Creates a radius between two lines @@ -5221,8 +5592,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateHeptagon - - + + Create a heptagon by its center and by one corner Buat heptagon oleh pusatnya dan di satu sudut @@ -5230,8 +5601,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateHexagon - - + + Create a hexagon by its center and by one corner Buat segi enam dengan pusatnya dan di satu sudut @@ -5239,7 +5610,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateOblong - + Create a rounded rectangle Create a rounded rectangle @@ -5247,14 +5618,14 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateOctagon - - + + Create an octagon by its center and by one corner Buat sebuah oktagon di tengahnya dan di satu sudut - - + + Create a regular polygon by its center and by one corner Create a regular polygon by its center and by one corner @@ -5262,8 +5633,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreatePentagon - - + + Create a pentagon by its center and by one corner Buat pentagon di tengahnya dan di satu sudut @@ -5271,8 +5642,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreatePointFillet - - + + Fillet that preserves constraints and intersection point Fillet that preserves constraints and intersection point @@ -5280,7 +5651,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateRectangle - + Create a rectangle Create a rectangle @@ -5288,7 +5659,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateRectangle_Center - + Create a centered rectangle Create a centered rectangle @@ -5296,8 +5667,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateSquare - - + + Create a square by its center and by one corner Buat persegi di tengahnya dan di salah satu sudut @@ -5305,8 +5676,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CreateTriangle - - + + Create an equilateral triangle by its center and by one corner Buat segitiga sama sisi dengan pusatnya dan di satu sudut @@ -5314,13 +5685,13 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Create_Periodic_BSpline - + Periodic B-spline by control points B-spline periodik dengan titik kontrol - - + + Create a periodic B-spline by control points Buat B-spline periodik dengan titik kontrol @@ -5328,64 +5699,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Tidak ada sketsa yang ditemukan - + The document doesn't have a sketch dokumen tidak memiliki sketsa - + Select sketch Pilih sketsa - + Select a sketch from the list Pilih sketsa dari daftar - + (incompatible with selection) (tidak sesuai dengan pilihan) - + (current) (arus) - + (suggested) (disarankan) - + Sketch attachment Lampiran sketsa - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. - + Select the method to attach this sketch to selected objects. Pilih metode untuk melampirkan sketsa ini ke objek yang dipilih . - + Map sketch Sketsa peta - + Can't map a sketch to support: %1 Tidak dapat memetakan sketsa untuk mendukung: @@ -5395,8 +5766,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Moves the geometry taking as reference the last selected point @@ -5404,12 +5775,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Lampiran sketsa - + Select the method to attach this sketch to selected object Pilih metode untuk melampirkan sketsa ini ke objek yang dipilih @@ -5417,12 +5788,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Sketsa memiliki dukungan - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Sketsa dengan wajah pendukung tidak bisa diorientasikan ulang. Apakah Anda ingin melepaskannya dari dukungan? @@ -5430,11 +5801,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Bentuk - DOF @@ -5453,11 +5819,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Bentuk - Default algorithm used for Sketch solving @@ -5730,7 +6091,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more and %1 more @@ -5738,55 +6099,65 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster Workbench - + P&rofiles P&rofiles - + S&ketch S&ketch - + Sketcher Sketcher - + + Sketcher edit mode + Sketcher edit mode + + + Sketcher geometries Geometri sketcher - + Sketcher constraints Kendala sketcher - + Sketcher tools Alat sketcher - + Sketcher B-spline tools Sketcher B-spline tools - + Sketcher virtual space Sketcher virtual space + + + Sketcher edit tools + Sketcher edit tools + Sketcher_ProfilesHexagon1 - + Creates a hexagonal profile Creates a hexagonal profile - + Creates a hexagonal profile in the sketch Creates a hexagonal profile in the sketch @@ -5910,106 +6281,266 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - - Grid Auto Spacing - Grid Auto Spacing + + Grid auto spacing + Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - - Distance between two subsequent grid lines - Distance between two subsequent grid lines - - - - CmdSketcherGrid - - - Activate Grid - Activate Grid - - - - Activate grid and grid settings - Activate grid and grid settings + + Distance between two subsequent grid lines. + Distance between two subsequent grid lines. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error Kesalahan - - - CmdSketcherCreateBSplineByInterpolation - - Interpolate B-spline - Interpolate B-spline + + Failed to delete all geometry + Failed to delete all geometry - - Create a B-spline by interpolation, i.e. via knots in the sketch. - Create a B-spline by interpolation, i.e. via knots in the sketch. - - - - CmdSketcherCreatePeriodicBSplineByInterpolation - - - Interpolate periodic B-spline - Interpolate periodic B-spline + + Failed to delete all constraints + Failed to delete all constraints - - Create a periodic B-spline by interpolation, i.e. via knots in the sketch. - Create a periodic B-spline by interpolation, i.e. via knots in the sketch. + + The constraint has invalid index information and is malformed. + The constraint has invalid index information and is malformed. + + + + + + + + + + + + + + + Invalid Constraint + Invalid Constraint + + + + + + Failed to add arc + Failed to add arc + + + + Failed to add arc of ellipse + Failed to add arc of ellipse + + + + Cannot create arc of hyperbola from invalid angles, try again! + Cannot create arc of hyperbola from invalid angles, try again! + + + + Cannot create arc of hyperbola + Cannot create arc of hyperbola + + + + Cannot create arc of parabola + Cannot create arc of parabola + + + + Error adding B-Spline pole + Error adding B-Spline pole + + + + Error creating B-spline pole + Error creating B-spline pole + + + + + Error creating B-spline + Error creating B-spline + + + + Error deleting last pole + Error deleting last pole + + + + Cannot add knot point + Cannot add knot point + + + + Cannot add internal alignment points + Cannot add internal alignment points + + + + Error removing knot + Error removing knot + + + + Failed to add carbon copy + Failed to add carbon copy + + + + + Failed to add circle + Failed to add circle + + + + Failed to add an ellipse + Failed to add an ellipse + + + + Failed to extend edge + Failed to extend edge + + + + Failed to add external geometry + Failed to add external geometry + + + + Failed to create fillet + Failed to create fillet + + + + + Failed to add line + Failed to add line + + + + Failed to add point + Failed to add point + + + + Failed to add polygon + Failed to add polygon + + + + Failed to add box + Failed to add box + + + + Failed to add rounded rectangle + Failed to add rounded rectangle + + + + Failed to add slot + Failed to add slot + + + + Failed to add edge + Failed to add edge + + + + Failed to trim edge + Failed to trim edge + + + + + + Value Error + Value Error Sketcher_CreateBSplineByInterpolation - + B-spline by knots B-spline by knots - - + + Create a B-spline by knots Create a B-spline by knots @@ -6017,13 +6548,13 @@ The grid spacing change if it becomes smaller than this number of pixel. Sketcher_Create_Periodic_BSplineByInterpolation - + Periodic B-spline by knots Periodic B-spline by knots - - + + Create a periodic B-spline by knots Create a periodic B-spline by knots @@ -6031,49 +6562,155 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - - Snap to Grid - Snap to Grid + + Snap to grid + Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - - Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle start from the East axis (horizontal right) - Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle start from the East axis (horizontal right) + + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. + + + + RenderingOrderAction + + + + + Normal Geometry + Normal Geometry + + + + + + Construction Geometry + Geometri Konstruksi + + + + + + External Geometry + External Geometry + + + + CmdRenderingOrder + + + Configure rendering order + Configure rendering order + + + + Reorder the items in the list to configure rendering order. + Reorder the items in the list to configure rendering order. + + + + CmdSketcherGrid + + + Toggle grid + Toggle grid + + + + Toggle the grid in the sketch. In the menu you can change grid settings. + Toggle the grid in the sketch. In the menu you can change grid settings. CmdSketcherSnap - - Toggle Snap - Toggle Snap + + Toggle snap + Toggle snap - - Toggle all snapping functionalities. In the menu you can toggle individually 'Snap to Grid', 'Snap to Objects' and further snap settings - Toggle all snapping functionalities. In the menu you can toggle individually 'Snap to Grid', 'Snap to Objects' and further snap settings + + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. + + + + CmdSketcherCreateBSplineByInterpolation + + + Create B-spline by knots + Create B-spline by knots + + + + Create a B-spline by knots, i.e. by interpolation, in the sketch. + Create a B-spline by knots, i.e. by interpolation, in the sketch. + + + + CmdSketcherCreatePeriodicBSplineByInterpolation + + + Create periodic B-spline by knots + Create periodic B-spline by knots + + + + Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + + + CmdSketcherDimension + + + Dimension + Dimensi + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_it.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_it.ts index c739d205c8..6e28ec14a2 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_it.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_it.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Mostra/nascondi la traccia di curvatura per la B-spline - + Switches between showing and hiding the curvature comb for all B-splines Cambia modalità tra mostra o nascondi lo strumento curvatura di tutte le B-spline @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Mostra/nascondi il grado della B-spline - + Switches between showing and hiding the degree for all B-splines Cambia modalità tra mostra o nascondi i gradi di tutte le B-spline @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Mostra/nascondi molteplicità di nodo della B-spline - + Switches between showing and hiding the knot multiplicity for all B-splines Commuta tra mostrare e nascondere le molteplicità di nodo per tutte le B-spline @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Mostra/nascondi i pesi dei punti di controllo della B-spline - + Switches between showing and hiding the control point weight for all B-splines Commuta tra mostra e nascondi le molteplicità di nodo per tutte le B-spline @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Mostra/nascondi il poligono di controllo della B-spline - + Switches between showing and hiding the control polygons for all B-splines Cambia modalità tra mostra o nascondi i poligoni di controllo di tutte le B-spline @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Clona - + Creates a clone of the geometry taking as reference the last selected point Crea un clone della geometria prendendo come riferimento l'ultimo punto selezionato @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Mostra/Nascondi il layer dati della B-spline - + Show/hide B-spline degree Mostra/nascondi il grado della B-spline - + Show/hide B-spline control polygon Mostra/nascondi il poligono di controllo della B-spline - + Show/hide B-spline curvature comb Mostra/nascondi la traccia di curvatura per la B-spline - + Show/hide B-spline knot multiplicity Mostra/nascondi molteplicità di nodo della B-spline - + Show/hide B-spline control point weight Mostra/nascondi i pesi dei punti di controllo della B-spline @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Vincola l'arco o il cerchio - + Constrain an arc or a circle Vincola l'arco o il cerchio - + Constrain radius Raggio - + Constrain diameter Vincola il diametro - + Constrain auto radius/diameter Vincola raggio/diametro automatico @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Clona - + Creates a clone of the geometry taking as reference the last selected point Crea un clone della geometria prendendo come riferimento l'ultimo punto selezionato @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modifica le molteplicità di nodo - + Modifies the multiplicity of the selected knot of a B-spline Modifica la molteplicità del nodo selezionato di una B-spline - + Increase knot multiplicity Aumenta la molteplicità di nodo - + Decrease knot multiplicity Diminuisci la molteplicità di nodo @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Angolo - + Fix the angle of a line or the angle between two lines Fissa l'angolo di una linea o l'angolo tra due linee @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Vincolo di blocco - + Block the selected edge from moving Blocca il bordo selezionato dallo spostamento @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Coincidenza - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Crea un vincolo coincidente tra i punti, o un vincolo concentrico tra cerchi, archi ed ellissi @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Vincola il diametro - + Fix the diameter of a circle or an arc Vincola il diametro di un cerchio o di un arco @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Distanza - + Fix a length of a line or the distance between a line and a vertex or between two circles Fissare una lunghezza di una linea o la distanza tra una linea e un vertice o tra due cerchi @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Distanza orizzontale - + Fix the horizontal distance between two points or line ends Fissa la distanza orizzontale tra due punti o estremi di una linea @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Distanza verticale - + Fix the vertical distance between two points or line ends Fissa la distanza verticale tra due punti o estremi di una linea @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Uguale - + Create an equality constraint between two lines or between circles and arcs Crea un vincolo di uguaglianza tra due linee o tra cerchi e archi @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Orizzontale - + Create a horizontal constraint on the selected item Crea un vincolo orizzontale sull'elemento selezionato @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Blocca - + Create both a horizontal and a vertical distance constraint on the selected vertex Crea sia un vincolo di distanza orizzontale e che verticale @@ -520,12 +520,12 @@ sul vertice selezionato CmdSketcherConstrainParallel - + Constrain parallel Parallelo - + Create a parallel constraint between two lines Crea un vincolo di parallelismo tra due linee @@ -533,12 +533,12 @@ sul vertice selezionato CmdSketcherConstrainPerpendicular - + Constrain perpendicular Perpendicolare - + Create a perpendicular constraint between two lines Crea un vincolo di perpendicolarità tra due linee @@ -546,12 +546,12 @@ sul vertice selezionato CmdSketcherConstrainPointOnObject - + Constrain point onto object Punto su oggetto - + Fix a point onto an object Fissa un punto su un oggetto @@ -559,12 +559,12 @@ sul vertice selezionato CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Vincola raggio/diametro automatico - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fissare il diametro se si sceglie un cerchio, o il raggio se si sceglie un arco/spline @@ -572,12 +572,12 @@ sul vertice selezionato CmdSketcherConstrainRadius - + Constrain radius or weight Vincola il raggio o il peso - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Fissa il raggio del cerchio o di un arco o il peso del polo di una B-Spline @@ -585,12 +585,12 @@ sul vertice selezionato CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Vincolo di rifrazione (legge di Snell) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Crea un vincolo di rifrazione (legge di Snell) tra due punti finali di raggi e con un bordo come interfaccia. @@ -599,12 +599,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Simmetria - + Create a symmetry constraint between two points with respect to a line or a third point Crea un vincolo di simmetria tra due punti @@ -614,12 +614,12 @@ rispetto a una linea o a un terzo punto CmdSketcherConstrainTangent - + Constrain tangent Tangente - + Create a tangent constraint between two entities Crea un vincolo di tangenza tra due entità @@ -627,12 +627,12 @@ rispetto a una linea o a un terzo punto CmdSketcherConstrainVertical - + Constrain vertically Verticale - + Create a vertical constraint on the selected item Crea un vincolo verticale sull'elemento selezionato @@ -640,12 +640,12 @@ rispetto a una linea o a un terzo punto CmdSketcherConvertToNURBS - + Convert geometry to B-spline Converti la geometria in B-spline - + Converts the selected geometry to a B-spline Converti la geometria selezionata in B-Spline @@ -653,12 +653,12 @@ rispetto a una linea o a un terzo punto CmdSketcherCopy - + Copy Copia - + Creates a simple copy of the geometry taking as reference the last selected point Crea una copia semplice della geometria prendendo come riferimento l'ultimo punto selezionato @@ -1017,12 +1017,12 @@ rispetto a una linea o a un terzo punto CmdSketcherDecreaseDegree - + Decrease B-spline degree Diminuisci il grado della B-spline - + Decreases the degree of the B-spline Riduce il grado della B-spline @@ -1030,12 +1030,12 @@ rispetto a una linea o a un terzo punto CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Diminuisci la molteplicità di nodo - + Decreases the multiplicity of the selected knot of a B-spline Diminuisce la molteplicità del nodo selezionato di una B-spline @@ -1043,12 +1043,12 @@ rispetto a una linea o a un terzo punto CmdSketcherDeleteAllConstraints - + Delete all constraints Elimina tutti i vincoli - + Delete all constraints in the sketch Elimina tutti i vincoli dello schizzo @@ -1056,12 +1056,12 @@ rispetto a una linea o a un terzo punto CmdSketcherDeleteAllGeometry - + Delete all geometry Elimina tutte le geometrie - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Elimina tutte le geometrie e i vincoli nello schizzo attuale, ad eccezione della geometria esterna @@ -1069,12 +1069,12 @@ rispetto a una linea o a un terzo punto CmdSketcherEditSketch - + Edit sketch Modifica lo schizzo - + Edit the selected sketch. Modifica lo schizzo selezionato. @@ -1108,12 +1108,12 @@ rispetto a una linea o a un terzo punto CmdSketcherIncreaseDegree - + Increase B-spline degree Aumenta il grado della B-spline - + Increases the degree of the B-spline Aumenta il grado della B-spline @@ -1121,12 +1121,12 @@ rispetto a una linea o a un terzo punto CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Aumenta la molteplicità di nodo - + Increases the multiplicity of the selected knot of a B-spline Aumenta la molteplicità del nodo selezionato di una B-spline @@ -1134,12 +1134,12 @@ rispetto a una linea o a un terzo punto CmdSketcherInsertKnot - + Insert knot Inserisci nodo - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserisce il nodo al parametro specificato. Se esiste già un nodo con quel parametro, la molteplicità viene aumentata di uno. @@ -1147,12 +1147,12 @@ rispetto a una linea o a un terzo punto CmdSketcherJoinCurves - + Join curves Unisci le curve - + Join two curves at selected end points Unisce due curve ai punti finali selezionati @@ -1160,12 +1160,12 @@ rispetto a una linea o a un terzo punto CmdSketcherLeaveSketch - + Leave sketch Esci - + Finish editing the active sketch. Termina la modifica dello schizzo attivo. @@ -1173,12 +1173,12 @@ rispetto a una linea o a un terzo punto CmdSketcherMapSketch - + Map sketch to face... Mappa schizzo su faccia... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1187,7 +1187,7 @@ Prima selezionare la geometria di supporto, per esempio, una faccia o un bordo d poi esegui questo comando, quindi scegli lo schizzo desiderato. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Alcuni degli oggetti selezionati dipendono dallo schizzo da mappare. Le dipendenze circolari non sono consentite. @@ -1195,22 +1195,22 @@ poi esegui questo comando, quindi scegli lo schizzo desiderato. CmdSketcherMergeSketches - + Merge sketches Unisci schizzi - + Create a new sketch from merging two or more selected sketches. Crea un nuovo schizzo unendo due o più schizzi selezionati. - + Wrong selection Selezione errata - + Select at least two sketches. Selezionare almeno due schizzi. @@ -1218,12 +1218,12 @@ poi esegui questo comando, quindi scegli lo schizzo desiderato. CmdSketcherMirrorSketch - + Mirror sketch Rifletti schizzo - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1232,12 +1232,12 @@ utilizzando gli assi X o Y, o il punto di origine, come riferimento speculare. - + Wrong selection Selezione errata - + Select one or more sketches. Seleziona uno o più schizzi. @@ -1245,12 +1245,12 @@ come riferimento speculare. CmdSketcherMove - + Move Sposta - + Moves the geometry taking as reference the last selected point Sposta la geometria prendendo come riferimento l'ultimo punto selezionato @@ -1258,12 +1258,12 @@ come riferimento speculare. CmdSketcherNewSketch - + Create sketch Crea uno schizzo - + Create a new sketch. Crea un nuovo schizzo. @@ -1271,12 +1271,12 @@ come riferimento speculare. CmdSketcherRectangularArray - + Rectangular array Serie rettangolare - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Crea una serie rettangolare della geometria usando come riferimento l'ultimo punto selezionato @@ -1284,12 +1284,12 @@ come riferimento speculare. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Rimuovi allineamento assi - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifica i vincoli per rimuovere l'allineamento degli assi cercando di preservare la relazione di vincolo della selezione @@ -1297,12 +1297,12 @@ come riferimento speculare. CmdSketcherReorientSketch - + Reorient sketch... Riposiziona lo schizzo... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Posiziona lo schizzo selezionato su uno dei piani del riferimento globale. @@ -1312,12 +1312,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Mostra/Nascondi la geometria interna - + Show all internal geometry or hide unused internal geometry Mostra tutte le geometrie interne o nasconde le geometrie interne inutilizzate @@ -1325,8 +1325,8 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Seleziona i vincoli in conflitto @@ -1334,12 +1334,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectConstraints - + Select associated constraints Seleziona i vincoli associati - + Select the constraints associated with the selected geometrical elements Seleziona i vincoli associati agli elementi geometrici selezionati @@ -1347,12 +1347,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Seleziona la geometria associata - + Select the geometrical elements associated with the selected constraints Seleziona gli elementi geometrici associati ai vincoli selezionati @@ -1360,12 +1360,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Seleziona i gradi di libertà senza vincoli - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Seleziona gli elementi geometrici dove il risolutore rileva ancora gradi di libertà non vincolati. @@ -1373,12 +1373,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Seleziona l'asse orizzontale - + Select the local horizontal axis of the sketch Seleziona l'asse orizzontale locale dello schizzo @@ -1386,8 +1386,8 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Seleziona vincoli malformati @@ -1395,12 +1395,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectOrigin - + Select origin Seleziona l'origine - + Select the local origin point of the sketch Seleziona il punto di origine locale dello schizzo @@ -1408,8 +1408,8 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Seleziona vincoli parzialmente ridondanti @@ -1417,8 +1417,8 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Seleziona i vincoli sovrabbondanti @@ -1426,12 +1426,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSelectVerticalAxis - + Select vertical axis Seleziona asse verticale - + Select the local vertical axis of the sketch Seleziona l'asse verticale locale dello schizzo @@ -1452,12 +1452,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherStopOperation - + Stop operation Interrompi l'operazione - + When in edit mode, stop the active operation (drawing, constraining, etc.). Quando in modalità modifica, interrompe l'operazione attiva (disegnare, vincolare, ecc.). @@ -1478,12 +1478,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherSymmetry - + Symmetry Simmetria - + Creates symmetric geometry with respect to the last selected line or point Crea una geometria simmetrica rispetto all'ultima linea o punto selezionato @@ -1491,12 +1491,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Attiva/disattiva vincolo - + Activates or deactivates the selected constraints Attiva o disattiva i vincoli selezionati @@ -1517,12 +1517,12 @@ Questo cancellerà la proprietà 'Supporto', se presente. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Attiva/disattiva vincolo di guida/riferimento - + Set the toolbar, or the selected constraints, into driving or reference mode Imposta la barra degli strumenti, o i vincoli selezionati, @@ -1545,24 +1545,24 @@ in modalità guida o di riferimento CmdSketcherValidateSketch - + Validate sketch... Convalida lo schizzo... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Convalida uno schizzo controllando le relazioni mancanti, vincoli non validi, geometria degenerata, ecc. - + Wrong selection Selezione errata - + Select only one sketch. Selezionare un solo schizzo. @@ -1570,12 +1570,12 @@ vincoli non validi, geometria degenerata, ecc. CmdSketcherViewSection - + View section Vista in sezione - + When in edit mode, switch between section view and full view. Quando in modalità modifica, passa tra la vista a sezione e la vista completa. @@ -1583,12 +1583,12 @@ vincoli non validi, geometria degenerata, ecc. CmdSketcherViewSketch - + View sketch Vista normale allo schizzo - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Quando in modalità modifica, imposta l'orientamento della vista perpendicolarmente al piano dello schizzo. @@ -1596,287 +1596,404 @@ vincoli non validi, geometria degenerata, ecc. Command - - + + Add horizontal constraint Vincola orizzontale - - - + + + Add horizontal alignment Aggiunge allineamento orizzontale - - + + Add vertical constraint Vincola verticale - + Add vertical alignment Aggiunge allineamento verticale - + Add 'Lock' constraint Aggiungi vincolo bloccato - + Add relative 'Lock' constraint Aggiungi vincolo di blocco relativo - + Add fixed constraint Aggiungi vincolo fisso - + Add 'Block' constraint Aggiungi vincolo di blocco - + Add block constraint Aggiungi vincolo di blocco - - - + + + Add coincident constraint Vincola la coincidenza - - + + Add distance from horizontal axis constraint Vincola la distanza dall'asse orizzontale - - + + Add distance from vertical axis constraint Vincola la distanza dall'asse verticale - - + + Add point to point distance constraint Vincola la distanza tra i punti - - + + + Add point to line Distance constraint Vincola la Distanza da punto a linea - - + + Add circle to circle distance constraint Aggiungi il vincolo di distanza da cerchio a cerchio - + Add circle to line distance constraint Aggiungi il vincolo di distanza dal cerchio alla linea - - + + + + + Add length constraint Vincola lunghezza - - + + + Dimension + Dimensione + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Vincola il punto all'oggetto - - + + Add point to point horizontal distance constraint Vincola la distanza orizzontale tra i punti - + Add fixed x-coordinate constraint Vincola la coordinata X - - + + Add point to point vertical distance constraint Vincola la distanza verticale tra i punti - + Add fixed y-coordinate constraint Vincola la coordinata Y - - + + Add parallel constraint Vincola parallelismo - - - - - - - + + + + + + + Add perpendicular constraint Vincola perpendicolare - + Add perpendicularity constraint Aggiungi vincolo di perpendicolarità - + Swap coincident+tangency with ptp tangency Scambia coincidenza+tangenza con tangenza ptp - + Swap PointOnObject+tangency with point to curve tangency Scambiare PointOnObject+tangenza con il punto a tangenza curva - - - - - - - + + + + + + + Add tangent constraint Vincola la tangenza - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Aggiungi punto di vincolo tangente - - - - + + + + Add radius constraint Vincola il raggio - - - - + + + + Add diameter constraint Vincola il diametro - - - - + + + + Add radiam constraint Vincolare il raggio - - - - - - + + + + + + Add angle constraint Vincola l'angolo - - + + Add equality constraint Vincola uguaglianza - - - - - + + + + + Add symmetric constraint Vincola simmetria - + Add Snell's law constraint Aggiungi vincolo di legge di Snell's - + Toggle constraint to driving/reference Commuta il vincolo guida/riferimento - + Activate/Deactivate constraint Attiva/disattiva vincolo - + Create a new sketch on a face Crea un nuovo schizzo su una faccia - + Create a new sketch Crea un nuovo schizzo - + Reorient sketch Riorienta lo schizzo - + Attach sketch Attacca schizzo - + Detach sketch Stacca schizzo - + Create a mirrored sketch for each selected sketch Crea uno schizzo specchiato per ogni schizzo selezionato - + Merge sketches Unisci schizzi @@ -1994,72 +2111,72 @@ vincoli non validi, geometria degenerata, ecc. Aggiungi esagono - + Convert to NURBS Converti in NURBS - + Increase spline degree Aumenta il grado della spline - + Decrease spline degree Diminuisci il grado della spline - + Increase knot multiplicity Aumenta la molteplicità di nodo - + Decrease knot multiplicity Diminuisci la molteplicità di nodo - + Insert knot Inserisci nodo - + Join Curves Unisci le curve - + Exposing Internal Geometry Esposizione Geometria Interna - + Create symmetric geometry Crea geometria simmetrica - + Copy/clone/move geometry Copia/clona/muovi geometria - + Create copy of geometry Crea copia della geometria - + Delete all geometry Elimina tutte le geometrie - + Delete All Constraints Elimina tutti i vincoli - + Remove Axes Alignment Rimuovi Allineamento Assi @@ -2070,44 +2187,44 @@ vincoli non validi, geometria degenerata, ecc. - - - + + + Update constraint's virtual space Aggiorna lo spazio virtuale del vincolo - + Add auto constraints Aggiungi vincoli automatici - + Swap constraint names Scambia i nomi dei vincoli - + Rename sketch constraint Rinomina il vincolo dello schizzo - + Drag Point Trascina Punto - + Drag Curve Trascina Curva - + Drag Constraint Trascina Vincolo - + Modify sketch constraints Modifica i vincoli dello schizzo @@ -2168,59 +2285,59 @@ vincoli non validi, geometria degenerata, ecc. Errore di vincolo automatico: schizzo non risolvibile dopo l'applicazione dei vincoli di uguaglianza. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Impossibile determinare l'intersezione delle curve. Provare ad aggiungere un vincolo di coincidenza tra i vertici delle curve che si intende raccordare. - - + + BSpline Geometry Index (GeoID) is out of bounds. L'indice della geometria della B-spline (GeoID) è fuori limite. - + You are requesting no change in knot multiplicity. Non stai richiedendo modifiche nella molteplicità dei nodi. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. L'indice della geometria (GeoID) fornito non è una curva B-spline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. L'indice del nodo è fuori dai limiti. Notare che, in conformità alla numerazione OCC, il primo nodo ha indice 1 e non zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. La molteplicità non può essere aumentata oltre il grado della B-spline. - + The multiplicity cannot be decreased beyond zero. La molteplicità non può essere diminuita al di là di zero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC non è in grado di diminuire la molteplicità entro la tolleranza massima. - + Knot cannot have zero multiplicity. Il nodo non può avere una molteplicità zero. - + Knot multiplicity cannot be higher than the degree of the BSpline. La molteplicità del nodo non può essere superiore al grado della BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Il nodo non può essere inserito al di fuori dell'intervallo di parametri B-Spline. @@ -2236,210 +2353,213 @@ vincoli non validi, geometria degenerata, ecc. QObject - - - - + + + + Sketcher Sketcher - + There are no modes that accept the selected set of subelements Non ci sono modalità che accettano il set di sottoelementi selezionato - + Broken link to support subelements Il link per supportare i sottoelementi è interrrotto - - + + Unexpected error Errore imprevisto - + Face is non-planar La faccia non è planare - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Le forme selezionate sono di forma sbagliata (ad esempio, un bordo curvo dove è necessario un bordo diritto) - + Sketch mapping Mappatura di schizzo - + Can't map the sketch to selected object. %1. Impossibile mappare lo schizzo sull'oggetto selezionato. %1. - - + + Don't attach Non allegare + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Selezione errata @@ -2450,339 +2570,339 @@ vincoli non validi, geometria degenerata, ecc. Seleziona bordo/i dello schizzo. - + Not allowed to edit the datum because the sketch contains conflicting constraints Non è consentito modificare il dato perché lo schizzo contiene dei vincoli in conflitto - + Dimensional constraint Lunghezza - + Cannot add a constraint between two external geometries. Impossibile aggiungere un vincolo tra due geometrie esterne. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Non è possibile aggiungere un vincolo tra due geometrie bloccate! Le geometrie bloccate comprendono la geometria esterna, la geometria fissata o i punti speciali come i punti di nodo delle B-Spline. - + Sketcher Constraint Substitution Sostituzione vincoli dello Schizzo - + Keep notifying me of constraint substitutions Continuare a notificare le sostituzione dei vincoli - - - + + + Only sketch and its support are allowed to be selected. È consentito selezionare solo lo schizzo e il suo supporto. - + One of the selected has to be on the sketch. Uno dei selezionati deve essere sullo schizzo. - - + + Select an edge from the sketch. Seleziona un bordo dello schizzo. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Vincolo Impossible - - - - + + + + The selected edge is not a line segment. Il bordo selezionato non è un segmento di linea. - - - - - - + + + + + + Double constraint Doppio vincolo - - - - - + + + + + The selected edge already has a horizontal constraint! Il bordo selezionato ha già un vincolo orizzontale! - - - + + + The selected edge already has a vertical constraint! Il bordo selezionato ha già un vincolo verticale! - - - - - - + + + + + + The selected edge already has a Block constraint! Il bordo selezionato ha già un vincolo di fissaggio! - + The selected item(s) can't accept a horizontal constraint! Gli elementi selezionati non possono accettare un vincolo orizzontale! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Sono stati selezionati più punti bloccati. Selezionare al massimo un punto bloccato! - + The selected item(s) can't accept a vertical constraint! Gli elementi selezionati non possono accettare un vincolo verticale! - - - + + + Select vertices from the sketch. Selezionare i vertici nello schizzo. - + Select one vertex from the sketch other than the origin. Selezionare dallo schizzo un vertice diverso dall'origine. - + Select only vertices from the sketch. The last selected vertex may be the origin. Selezionare solo i vertici dallo schizzo. L'ultimo vertice selezionato può essere l'origine. - + Wrong solver status Stato del risolutore difettoso - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Un vincolo di blocco non può essere aggiunto se lo schizzo è irrisolto o ci sono vincoli ridondanti e conflittuali. - + Select one edge from the sketch. Seleziona un bordo dello schizzo. - + Select only edges from the sketch. Selezionare solo i bordi dallo schizzo. - + Number of selected objects is not 3 Il numero di oggetti selezionati non è 3 - - - + + + Error Errore - + Unexpected error. More information may be available in the Report View. Errore inatteso. Ulteriori informazioni possono essere disponibili nel registro eventi. - + Endpoint to endpoint tangency was applied instead. È stata invece applicata la tangenza punto finale su punto finale. - + Select two or more points from the sketch. Selezionare due o più punti dallo schizzo. - + Select two or more vertices from the sketch. Seleziona due o più vertici dallo schizzo. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Seleziona due o più vertici dallo schizzo per un vincolo coincidente, o due o più cerchi, ellissi, archi o archi di ellisse per un vincolo concentrico. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Seleziona due vertici dallo schizzo per un vincolo coincidente, o due cerchi, ellissi, archi o archi di ellisse per un vincolo concentrico. - + Select exactly one line or one point and one line or two points from the sketch. Selezionare una linea o un punto più una linea, oppure due punti dello schizzo. - + Cannot add a length constraint on an axis! Non è possibile aggiungere un vincolo di lunghezza su un asse! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Selezionare esattamente una linea o un punto e una linea o due punti o due cerchi dallo schizzo. - + This constraint does not make sense for non-linear curves. Questo vincolo non ha senso per le curve non lineari. - + Endpoint to edge tangency was applied instead. È stata applicata invece la tangenza segmento sul punto finale. - - - - - - - + + + + + + + Select the right things from the sketch. Selezionare le cose giuste dallo schizzo. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Selezionare un bordo che non è un peso B-spline. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Nessuno dei punti selezionati è stato vincolato alle rispettive curve, perché sono parti dello stesso elemento, perché entrambi sono geometria esterna, o perché il bordo non è ammissibile. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Nessuno dei punti selezionati è stato vincolato sulla rispettiva curva, perchè essi sono parti dello stesso elemento, o perchè sono entrambi una geometria esterna. - - - - + + + + Select exactly one line or up to two points from the sketch. Selezionare solo una linea oppure al massimo due punti dello schizzo. - + Cannot add a horizontal length constraint on an axis! Non è possibile aggiungere un vincolo di lunghezza orizzontale su un asse! - + Cannot add a fixed x-coordinate constraint on the origin point! Non è possibile aggiungere un vincolo di coordinata x nel punto di origine! - - + + This constraint only makes sense on a line segment or a pair of points. Questo vincolo ha senso solo su un segmento di linea o su una coppia di punti. - + Cannot add a vertical length constraint on an axis! Non è possibile aggiungere un vincolo di lunghezza verticale su un asse! - + Cannot add a fixed y-coordinate constraint on the origin point! Non è possibile aggiungere un vincolo di coordinata y nel punto di origine! - + Select two or more lines from the sketch. Selezionare due o più linee dello schizzo. - - + + Select at least two lines from the sketch. Selezionare almeno due linee dello schizzo. - + Select a valid line. Selezionare una linea valida. - - + + The selected edge is not a valid line. Il bordo selezionato non è una linea valida. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2792,42 +2912,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinazioni ammesse: due curve; un punto finale e una curva; due punti finali; due curve e un punto. - + Select some geometry from the sketch. perpendicular constraint Selezionare alcune geometrie dello schizzo. - - + + Cannot add a perpendicularity constraint at an unconnected point! Non è possibile aggiungere un vincolo di perpendicolarità in un punto non connesso! - - - + + + Perpendicular to B-spline edge currently unsupported. Perpendicolare al bordo di una B-spline attualmente non è supportato. - - + + One of the selected edges should be a line. Uno degli spigoli selezionati deve essere una linea. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. È stato applicato il vincolo tangenza punto finale su punto finale. È stato eliminato il vincolo coincidente. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. È stato applicato il vincolo tangenza segmento su punto finale. È stato eliminato il vincolo punto su oggetto. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2837,179 +2957,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinazioni ammesse: due curve; un punto finale e una curva; due punti finali; due curve e un punto. - + Select some geometry from the sketch. tangent constraint Selezionare alcune geometrie dello schizzo. - - - + + + Cannot add a tangency constraint at an unconnected point! Non è possibile aggiungere un vincolo di tangenza in un punto non connesso! - - + + Tangent constraint at B-spline knot is only supported with lines! Il vincolo tangente al nodo B-spline è supportato solo con le linee! - + B-spline knot to endpoint tangency was applied instead. È stata invece applicata la tangenza del nodo B-spline sul punto finale. - + Select either one point and several curves, or one curve and several points. Selezionare un punto e diverse curve, oppure una curva e diversi punti. - - + + Wrong number of selected objects! Numero di oggetti selezionati errato! - - + + With 3 objects, there must be 2 curves and 1 point. Con 3 oggetti, ci devono essere 2 curve e 1 punto. - - - + + + Tangency to B-spline edge currently unsupported. Tangente al bordo di una B-spline attualmente non è supportato. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Selezionare uno o più archi o cerchi nello schizzo. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Selezionare solo uno o più poli B-Spline o solo uno o più archi o cerchi dallo schizzo, ma non miscelati. - - - + + + Constraint only applies to arcs or circles. Vincolo applicato solo ad archi o cerchi. - - + + Select one or two lines from the sketch. Or select two edges and a point. Selezionare una o due linee dello schizzo, oppure selezionare due bordi e un punto. - - + + Parallel lines Linee parallele - - + + An angle constraint cannot be set for two parallel lines. Un vincolo di angolo non può essere impostato per due linee parallele. - + Cannot add an angle constraint on an axis! Non è possibile aggiungere un vincolo di angolo su un asse! - + Select two edges from the sketch. Selezionare due spigoli dello schizzo. - + Select two or more compatible edges. Selezionare due o più spigoli compatibili. - + Sketch axes cannot be used in equality constraints. Gli assi dello schizzo non possono essere usati nei vincoli di uguaglianza. - + Equality for B-spline edge currently unsupported. Uguaglianza tra bordi di una B-spline attualmente non è supportato. - - - + + + + Select two or more edges of similar type. Seleziona due o più bordi di tipo simile. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Selezionare due punti e una linea di simmetria, o due punti e un punto di simmetria, o una linea e un punto di simmetria nello schizzo. - - + + Cannot add a symmetry constraint between a line and its end points. Impossibile aggiungere un vincolo di simmetria tra una linea e i suoi punti finali. - - + + + + Cannot add a symmetry constraint between a line and its end points! Non è possibile aggiungere un vincolo di simmetria tra una linea e i suoi estremi! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Selezionare i due punti finali delle linee da usare come raggi e un bordo che rappresenta il limite. Il primo punto selezionato corrisponde all'indice n1, il secondo a n2 e il valore è definito dal rapporto n2/n1. - + Selected objects are not just geometry from one sketch. Gli oggetti selezionati non sono delle geometrie dello stesso schizzo. - + Cannot create constraint with external geometry only. Impossibile creare il vincolo solo con la geometria esterna. - + Incompatible geometry is selected. Le geometrie selezionate sono incompatibili. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw sul bordo di una B-spline attualmente non è supportato. - - - - - + + + + + Select constraints from the sketch. Seleziona i vincoli dallo schizzo. @@ -3031,155 +3154,155 @@ Combinazioni ammesse: due curve; un punto finale e una curva; due punti finali; Definisci il grado B-Spline, tra 1 e %1: + + - - CAD Kernel Error Errore Kernel CAD - + None of the selected elements is an edge. Nessuno degli elementi selezionati è un bordo. - - + + At least one of the selected objects was not a B-Spline and was ignored. Almeno uno degli oggetti selezionati non è una B-Spline ed è stato ignorato. - - + + The selection comprises more than one item. Please select just one knot. La selezione comprende più di un elemento. Si prega di selezionare un solo nodo. - - + + Input Error Errore di input - - + + None of the selected elements is a knot of a B-spline Nessuno degli elementi selezionati è un nodo di una B-spline - - + + Selection is empty La selezione è vuota - + Nothing is selected. Please select a b-spline. Nessuna selezione. Si prega di selezionare una b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Seleziona una curva b-spline per inserire un nodo (non un nodo su di esso). Se la curva non è una b-spline, si prega di convertirla in una prima. - + Nothing is selected. Please select end points of curves. Nulla è selezionato. Seleziona i punti finali delle curve. - + Too many curves on point Troppe curve sul punto - - + + Exactly two curves should end at the selected point to be able to join them. Esattamente due curve dovrebbero terminare nel punto selezionato per poterle unire. - + Too few curves on point Troppe poche curve sul punto - + Two end points, or coincident point should be selected. Dovrebbero essere selezionati due punti finali o un punto coincidente. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Selezionare gli elementi da un solo schizzo. - + No constraint selected Nessun vincolo selezionato - + At least one constraint must be selected È necessario selezionare almeno un vincolo - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Una costruzione simmetrica richiede almeno due elementi geometrici, l'ultimo elemento è il riferimento per la costruzione della simmetria. - + The last element must be a point or a line serving as reference for the symmetry construction. L'ultimo elemento deve essere un punto o una linea perchè serve come riferimento per la costruzione della simmetria. - - + + A copy requires at least one selected non-external geometric element Una copia richiede che sia selezionato almeno un elemento geometrico non-esterno - + Delete All Geometry Cancella tutta la geometria - + Are you really sure you want to delete all geometry and constraints? Sei sicuro di voler eliminare tutte le geometrie e i vincoli? - + Delete All Constraints Elimina tutti i vincoli - + Are you really sure you want to delete all the constraints? Sicuro di voler eliminare tutti i vincoli? - + Removal of axes alignment requires at least one selected non-external geometric element La rimozione dell'allineamento degli assi richiede almeno un elemento geometrico non esterno selezionato - + Unsupported visual layer operation Operazione di livello visivo non supportata - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Attualmente non è supportato spostare la geometria esterna su un altro livello visivo. La geometria esterna sarà omessa @@ -3378,67 +3501,67 @@ Combinazioni ammesse: due curve; un punto finale e una curva; due punti finali; SketcherGui::ConstraintView - + Select Elements Seleziona Elementi - + Change value Cambia valore - + Toggle to/from reference Attiva o disattiva da/in riferimento - + Deactivate Disattiva - + Activate Attiva - + Show constraints Visualizza i vincoli - + Hide constraints Nascondi i vincoli - + Rename Rinomina - + Center sketch Centra lo schizzo - + Delete Elimina - + Swap constraint names Scambia i nomi dei vincoli - + Unnamed constraint Vincolo senza nome - + Only the names of named constraints can be swapped. Si possono scambiare solo i nomi dei vincoli denominati. @@ -3446,74 +3569,74 @@ Combinazioni ammesse: due curve; un punto finale e una curva; due punti finali; SketcherGui::EditDatumDialog - + Insert angle Inserire l'angolo - + Angle: Angolo: - + Insert radius Inserire il raggio - + Radius: Raggio: - + Insert diameter Inserire diametro - + Diameter: Diametro: - + Insert weight Inserisci peso - + Weight: Peso: - + Refractive index ratio Constraint_SnellsLaw Indice di rifrazione - + Ratio n2/n1: Constraint_SnellsLaw Rapporto n2/n1: - + Insert length Inserire la lunghezza - + Length: Lunghezza: - + Refractive index ratio Indice di rifrazione - + Ratio n2/n1: Rapporto n2/n1: @@ -3521,72 +3644,72 @@ Combinazioni ammesse: due curve; un punto finale e una curva; due punti finali; SketcherGui::ElementFilterList - + Normal Normale - + Construction Costruzione - + Internal Interno - + External Esterno - + All types Tutti i tipi - + Point Punto - + Line Linea - + Circle Cerchio - + Ellipse Ellisse - + Arc of circle Arco di cerchio - + Arc of ellipse Arco di ellisse - + Arc of hyperbola Arco di iperbola - + Arc of parabola Arco di parabola - + B-Spline B-Spline @@ -3594,142 +3717,142 @@ Combinazioni ammesse: due curve; un punto finale e una curva; due punti finali; SketcherGui::ElementView - + Point Coincidence Coincidenza Punto - + Point on Object Punto sull'oggetto - + Vertical Constraint Vincola verticalmente - + Horizontal Constraint Vincola orizzontalmente - + Parallel Constraint Vincola parallelismo - + Perpendicular Constraint Vincolo Perpendicolare - + Tangent Constraint Vincola la Tangenza - + Equal Length Uguale Lunghezza - + Symmetric Simmetrica - + Block Constraint Vincolo di Blocco - + Lock Constraint Blocca Vincolo - + Horizontal Distance Distanza Orizzontale - + Vertical Distance Distanza Verticale - + Length Constraint Vincolo Di Lunghezza - + Radius Constraint Vincolo Raggio - + Diameter Constraint Vincolo Del Diametro - + Radiam Constraint Vincolo raggio o diametro - + Angle Constraint Vincola l'angolo - + Toggle construction geometry Geometria di costruzione - + Select Constraints Seleziona i vincoli - + Select Origin Seleziona l'origine - + Select Horizontal Axis Seleziona l'asse orizzontale - + Select Vertical Axis Seleziona l'asse verticale - + Layer Layer - + Layer 0 Livello 0 - + Layer 1 Livello 1 - + Hidden Nascosto - + Delete Elimina @@ -4011,6 +4134,75 @@ Per ottenere l'effetto è necessario accedere nuovamente alla modalità di modif Notify automatic constraint substitutions Notifica le sostituzioni automatiche dei vincoli + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Entrambe + + + + Auto + Auto + + + + Diameter + Diametro + + + + Radius + Raggio + SketcherGui::SketcherSettingsColors @@ -4456,12 +4648,12 @@ Quindi gli oggetti sono visibili solo dietro il piano dello schizzo.Applica agli schizzi esistenti - + Unexpected C++ exception Eccezione imprevista di C++ - + Sketcher Sketcher @@ -4634,48 +4826,48 @@ Tuttavia, non sono stati trovati i vincoli che riguardano i punti finali.Impostazioni - + Constraints Vincoli - + Auto constraints Vincoli automatici - + Auto remove redundants Rimuovi automaticamente i ridondanti - + Show only filtered Constraints Mostra solo vincoli filtrati - + Extended information (in widget) Informazioni estese (nel widget) - + Hide internal alignment (in widget) Nascondi allineamento interno (nel widget) - - + + Error Errore - + Impossible to update visibility tracking Impossibile aggiornare il tracciamento della visibilità - + Impossible to update visibility tracking: Impossibile aggiornare il tracciamento della visibilità: @@ -4707,6 +4899,33 @@ Tuttavia, non sono stati trovati i vincoli che riguardano i punti finali.Settings Impostazioni + + + + + + + + + + + + Construction + Costruzione + + + + Elements + Elementi + + + + + + + Point + Punto + @@ -4718,110 +4937,83 @@ Tuttavia, non sono stati trovati i vincoli che riguardano i punti finali. - Construction - Costruzione - - - - Elements - Elementi - - - - - - - Point - Punto - - - - - - - - - - - - Internal Interno - - + + + - Line Linea - - + + + - Arc Arco - - + + + - Circle Cerchio - - + + + - Ellipse Ellisse - - + + + - Elliptical Arc Arco ellittico - - + + + - Hyperbolic Arc Arco di iperbole - - + + + - Parabolic Arc Arco parabolico - - + + + - BSpline B-spline - - + + + - Other Altro - + Extended information Informazioni estese @@ -4829,42 +5021,42 @@ Tuttavia, non sono stati trovati i vincoli che riguardano i punti finali. SketcherGui::TaskSketcherMessages - + Solver messages Messaggi del solutore - + Auto update Auto aggiorna - + Executes a recomputation of active document after every sketch action Esegue il ricalcolo del documento attivo dopo ogni azione dello schizzo - + Click to select the conflicting constraints. Fare clic per selezionare i vincoli in conflitto. - + Click to select the redundant constraints. Fare clic per selezionare i vincoli ridondanti. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Lo schizzo ha elementi senza vincoli che danno origine a quei gradi di libertà. Fare clic per selezionare gli elementi senza vincoli. - + Click to select the malformed constraints. Fare clic per selezionare i vincoli malformati. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Alcuni vincoli combinati sono parzialmente ridondanti. Clicca per selezionare i vincoli parzialmente ridondanti. @@ -5042,112 +5234,112 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. SketcherGui::ViewProviderSketch - + Edit sketch Modifica lo schizzo - + A dialog is already open in the task panel Nel pannello azioni c'è già una finestra di dialogo aperta - + Do you want to close this dialog? Vuoi chiudere questa finestra di dialogo? - + Invalid sketch Schizzo non valido - + Do you want to open the sketch validation tool? Vuoi aprire lo strumento di convalida di schizzo? - + The sketch is invalid and cannot be edited. Lo schizzo non è valido e non può essere modificato. - + Please remove the following constraint: Si prega di rimuovere il seguente vincolo: - + Please remove at least one of the following constraints: Si prega di rimuovere almeno uno dei seguenti vincoli: - + Please remove the following redundant constraint: Si prega di rimuovere il seguente vincolo ridondante: - + Please remove the following redundant constraints: Si prega di rimuovere i seguenti vincoli ridondanti: - + The following constraint is partially redundant: Il seguente vincolo è parzialmente ridondante: - + The following constraints are partially redundant: I seguenti vincoli sono parzialmente ridondanti: - + Please remove the following malformed constraint: Rimuovere il seguente vincolo malformato: - + Please remove the following malformed constraints: Rimuovere i seguenti vincoli malformati: - + Empty sketch Schizzo vuoto - + Over-constrained: Sovravincolato: - + Malformed constraints: Vincoli malformati: - + Redundant constraints: Vincoli ridondanti: - + Partially redundant: Parzialmente ridondante: - + Solver failed to converge Risolutore impossibilitato a convergere - + Under constrained: Sotto vincolati: - + %n DoF(s) %n Grado(i) di libertà @@ -5155,7 +5347,7 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. - + Fully constrained Completamente vincolato @@ -5163,8 +5355,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Cambia modalità tra mostra o nascondi lo strumento curvatura di tutte le B-spline @@ -5172,8 +5364,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Diminuisce la molteplicità del nodo selezionato di una B-spline @@ -5181,8 +5373,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Cambia modalità tra mostra o nascondi i gradi di tutte le B-spline @@ -5190,8 +5382,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Aumenta la molteplicità del nodo selezionato di una B-spline @@ -5199,8 +5391,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Commuta tra mostrare e nascondere le molteplicità di nodo per tutte le B-spline @@ -5208,8 +5400,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Commuta tra mostra e nascondi le molteplicità di nodo per tutte le B-spline @@ -5217,8 +5409,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Cambia modalità tra mostra o nascondi i poligoni di controllo di tutte le B-spline @@ -5226,8 +5418,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Crea un clone della geometria prendendo come riferimento l'ultimo punto selezionato @@ -5235,17 +5427,17 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_CompCopy - + Clone Clona - + Copy Copia - + Move Sposta @@ -5253,8 +5445,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Vincola il diametro di un cerchio o di un arco @@ -5262,7 +5454,7 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fissare il diametro/raggio di un cerchio o di un arco @@ -5270,8 +5462,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fissa il raggio di un cerchio o di un arco @@ -5279,7 +5471,7 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fissare il diametro/raggio di un cerchio o di un arco @@ -5287,8 +5479,8 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Crea una copia semplice della geometria prendendo come riferimento l'ultimo punto selezionato @@ -5507,63 +5699,63 @@ Questo viene fatto analizzando le geometrie e i vincoli dello schizzo. Sketcher_MapSketch - + No sketch found Nessun schizzo trovato - + The document doesn't have a sketch Il documento non contiene degli schizzi - + Select sketch Selezione dello schizzo - + Select a sketch from the list Selezionare uno schizzo dalla lista - + (incompatible with selection) (incompatibile con la selezione) - + (current) (corrente) - + (suggested) (suggerito) - + Sketch attachment Collegamento dello schizzo - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. L'attuale modalità di associazione è incompatibile con la nuova selezione. Selezionare il metodo per collegare questo schizzo agli oggetti selezionati. - + Select the method to attach this sketch to selected objects. Seleziona il metodo per collegare questo sketch agli oggetti selezionati. - + Map sketch Mappa schizzo - + Can't map a sketch to support: %1 Impossibile mappare uno schizzo sul supporto:%1 @@ -5572,8 +5764,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Sposta la geometria prendendo come riferimento l'ultimo punto selezionato @@ -5581,12 +5773,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Collegamento dello schizzo - + Select the method to attach this sketch to selected object Seleziona il metodo per collegare questo schizzo all'oggetto selezionato @@ -5594,12 +5786,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Lo schizzo ha un supporto - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Uno schizzo mappato su una faccia di supporto non può essere riposizionato. Lo vuoi per separare dal supporto? @@ -5607,11 +5799,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Modulo - DOF @@ -5630,11 +5817,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Modulo - Default algorithm used for Sketch solving @@ -5907,7 +6089,7 @@ L'algoritmo di Eigen Sparse QR è ottimizzato per matrici sparsi; solitamente pi ViewProviderSketch - + and %1 more e %1 in più @@ -5927,7 +6109,7 @@ L'algoritmo di Eigen Sparse QR è ottimizzato per matrici sparsi; solitamente pi Sketcher - Sketcher + Schizzo @@ -6097,22 +6279,22 @@ La spaziatura della griglia cambia se diventa più piccola di questo numero di p GridSpaceAction - + Grid auto spacing Spaziatura automatica griglia - + Resize grid automatically depending on zoom. Ridimensiona automaticamente la griglia a seconda dello zoom. - + Spacing Spaziatura - + Distance between two subsequent grid lines. Distanza tra due linee successive della griglia. @@ -6120,87 +6302,87 @@ La spaziatura della griglia cambia se diventa più piccola di questo numero di p Notifications - + The Sketch has malformed constraints! Lo schizzo contiene vincoli malformati! - + The Sketch has partially redundant constraints! Lo schizzo contiene vincoli parzialmente ridondanti! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Le parabole sono state convertite. I file convertiti non si apriranno nelle versioni precedenti di FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Errore - + Failed to delete all geometry Impossibile eliminare tutte le geometrie - + Failed to delete all constraints Impossibile eliminare tutti i vincoli - + The constraint has invalid index information and is malformed. Il vincolo ha informazioni sull'indice non valide ed è malformato. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Vincolo non valido @@ -6242,8 +6424,8 @@ La spaziatura della griglia cambia se diventa più piccola di questo numero di p Errore nella creazione del polo B-Spline - + Error creating B-spline Errore nella creazione della Bspline @@ -6340,9 +6522,9 @@ La spaziatura della griglia cambia se diventa più piccola di questo numero di p Impossibile tagliare il bordo - - - + + + Value Error Errore di valore @@ -6378,58 +6560,58 @@ La spaziatura della griglia cambia se diventa più piccola di questo numero di p SnapSpaceAction - + Snap to objects Aggancia agli oggetti - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. I nuovi punti si agganciano all'oggetto attualmente preselezionato. Si aggancerà anche al punto medio delle linee e degli archi. - + Snap to grid Aggancia alla griglia - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. I nuovi punti si agganciano alla linea della griglia più vicina. I punti devono essere impostati più vicino di un quinto della spaziatura della griglia per essere agganciati. - + Snap angle Angolo di aggancio - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Passo angolare per gli strumenti che usano 'Snap at Angle' (linea per esempio). Tieni premuto CTRL per abilitare 'Aggancia ad angolo'. L'angolo parte dall'asse X positivo dello schizzo. RenderingOrderAction - - - - - Normal Geometry - Geometria normale - - Construction Geometry - Geometria di costruzione + Normal Geometry + Geometria normale + Construction Geometry + Geometria di costruzione + + + + + External Geometry Geometria esterna @@ -6450,12 +6632,12 @@ I punti devono essere impostati più vicino di un quinto della spaziatura della CmdSketcherGrid - + Toggle grid Attiva/disattiva griglia - + Toggle the grid in the sketch. In the menu you can change grid settings. Attiva/disattiva la griglia nello schizzo. Nel menu puoi modificare le impostazioni della griglia. @@ -6463,12 +6645,12 @@ I punti devono essere impostati più vicino di un quinto della spaziatura della CmdSketcherSnap - + Toggle snap Attiva/Disattiva aggancio - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Attiva/disattiva tutte le funzionalità di snap. Nel menu puoi attivare 'Aggancia alla griglia' e 'Aggancia agli oggetti' individualmente, e modificare ulteriori impostazioni di snap. @@ -6499,4 +6681,34 @@ I punti devono essere impostati più vicino di un quinto della spaziatura della Creare una B-spline periodica con i nodi, cioè per interpolazione, nello schizzo. + + CmdSketcherDimension + + + Dimension + Dimensione + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ja.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ja.ts index b37cc7c571..04124487d8 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ja.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ja.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb B-スプラインの曲率コームの表示/非表示 - + Switches between showing and hiding the curvature comb for all B-splines すべてのB-スプラインの曲率コームの非表示と表示を切り替えます。 @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree B-スプラインの次数の表示/非表示 - + Switches between showing and hiding the degree for all B-splines すべてのB-スプラインの次数の非表示と表示を切り替えます。 @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity B-スプラインのノット多重度を表示/非表示 - + Switches between showing and hiding the knot multiplicity for all B-splines すべてのB-スプラインのノット多重度の非表示と表示を切り替えます。 @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight B-スプラインの制御点重みの表示/非表示 - + Switches between showing and hiding the control point weight for all B-splines すべてのB-スプラインの制御点重みの非表示と表示を切り替えます。 @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon B-スプラインの制御ポリゴンの表示/非表示 - + Switches between showing and hiding the control polygons for all B-splines すべてのB-スプラインの制御ポリゴンの非表示と表示を切り替えます。 @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone クローン - + Creates a clone of the geometry taking as reference the last selected point 最後に選択された点を参照位置としてジオメトリーのクローンを作成 @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer B-スプラインの情報レイヤーの表示/非表示 - + Show/hide B-spline degree B-スプラインの次数の表示/非表示 - + Show/hide B-spline control polygon B-スプラインの制御ポリゴンの表示/非表示 - + Show/hide B-spline curvature comb B-スプラインの曲率コームの表示/非表示 - + Show/hide B-spline knot multiplicity B-スプラインのノット多重度を表示/非表示 - + Show/hide B-spline control point weight B-スプラインの制御点重みの表示/非表示 @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle 円弧や円を拘束する - + Constrain an arc or a circle 円弧や円を拘束する - + Constrain radius 半径拘束 - + Constrain diameter 直径拘束 - + Constrain auto radius/diameter 半径/直径を自動拘束 @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone クローン - + Creates a clone of the geometry taking as reference the last selected point 最後に選択された点を参照位置としてジオメトリーのクローンを作成 @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity ノット多重度を変更 - + Modifies the multiplicity of the selected knot of a B-spline 選択されたB-スプラインのノットの多重度を変更 - + Increase knot multiplicity ノット多重度を増やす - + Decrease knot multiplicity ノット多重度を減らす @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle 角度を拘束 - + Fix the angle of a line or the angle between two lines 直線の角度または2直線間の角度を拘束 @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block ブロック拘束 - + Block the selected edge from moving 選択したエッジが動かないようブロック @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident 一致拘束 - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses 点間の一致拘束、または円、円弧、楕円の間の同心拘束を作成 @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter 直径拘束 - + Fix the diameter of a circle or an arc 円または円弧の直径を固定 @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance 距離拘束 - + Fix a length of a line or the distance between a line and a vertex or between two circles 直線の長さ、直線と節点の間の距離、または2つの円の間の距離を拘束 @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance 水平距離拘束 - + Fix the horizontal distance between two points or line ends 2点間または直線端点間の水平距離を拘束 @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance 垂直距離拘束 - + Fix the vertical distance between two points or line ends 2点間または直線端点間の垂直距離を拘束 @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal 等値拘束 - + Create an equality constraint between two lines or between circles and arcs 2直線間または円と円弧間の等値拘束を作成 @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally 水平拘束 - + Create a horizontal constraint on the selected item 選択されているアイテムに対して水平拘束を作成 @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock ロック拘束 - + Create both a horizontal and a vertical distance constraint on the selected vertex 選択した頂点に水平距離拘束と垂直距離拘束の両方を作成 @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel 平行拘束 - + Create a parallel constraint between two lines 2直線間の平行拘束を作成 @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular 直角拘束 - + Create a perpendicular constraint between two lines 2直線間の垂直拘束を作成 @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object オブジェクト上の点拘束 - + Fix a point onto an object 点をオブジェクト上に拘束 @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter 半径/直径を自動拘束 - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen 円を選択した場合は直径を拘束、円弧/スプラインを選択した場合は半径を拘束 @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight 半径または重みを拘束 - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline 円・円弧の半径、またはB-スプラインの極の重みを固定 @@ -584,12 +584,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) 屈折率拘束(スネルの法則) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. 光線の2端点と境界のエッジの間に屈折の法則 (スネル則の法則) による拘束を作成 @@ -598,12 +598,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical 対称拘束 - + Create a symmetry constraint between two points with respect to a line or a third point 線または第3点に対して、2点間の対称拘束を作成 @@ -612,12 +612,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent 正接拘束 - + Create a tangent constraint between two entities 2 つのエンティティ間に正接拘束を作成 @@ -625,12 +625,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically 垂直拘束 - + Create a vertical constraint on the selected item 選択されているアイテムに対して垂直拘束を作成 @@ -638,12 +638,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline ジオメトリーをB-スプラインに変換 - + Converts the selected geometry to a B-spline 選択されたジオメトリーをB-スプラインに変換 @@ -651,12 +651,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy コピー - + Creates a simple copy of the geometry taking as reference the last selected point 最後に選択された点を参照位置としてジオメトリーの単純コピーを作成 @@ -1015,12 +1015,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree B-スプラインの次数を減らす - + Decreases the degree of the B-spline B-スプラインの次数を減らす @@ -1028,12 +1028,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity ノット多重度を減らす - + Decreases the multiplicity of the selected knot of a B-spline 選択されたB-スプラインのノットの多重度を減らす @@ -1041,12 +1041,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints 全ての拘束を削除 - + Delete all constraints in the sketch スケッチ内の全ての拘束を削除 @@ -1054,12 +1054,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry すべてのジオメトリーを削除 - + Delete all geometry and constraints in the current sketch, with the exception of external geometry 外部ジオメトリーを除き、現在のスケッチ内の全てのジオメトリーと拘束を削除 @@ -1067,12 +1067,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch スケッチを編集 - + Edit the selected sketch. 選択したスケッチを編集 @@ -1106,12 +1106,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree B-スプラインの次数を増やす - + Increases the degree of the B-spline B-スプラインの次数を増加 @@ -1119,12 +1119,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity ノット多重度を増やす - + Increases the multiplicity of the selected knot of a B-spline 選択されたB-スプラインのノットの多重度を増やす @@ -1132,12 +1132,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot ノットを挿入 - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. 指定したパラメーターのノットを挿入。そのパラメーターにすでにノットが存在する場合、多重度が1増加します。 @@ -1145,12 +1145,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves 曲線を結合 - + Join two curves at selected end points 選択した端点で2曲線を結合 @@ -1158,12 +1158,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch スケッチを終了 - + Finish editing the active sketch. アクティブなスケッチの編集を終了 @@ -1171,12 +1171,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... スケッチを面上にマッピング... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1185,7 +1185,7 @@ then call this command, then choose the desired sketch. このコマンドを実行し、さらに目的のスケッチを選択してください。 - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. 選択したオブジェクトの一部がマッピング先のスケッチに依存しています。循環依存はできません。 @@ -1193,22 +1193,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches スケッチをマージ - + Create a new sketch from merging two or more selected sketches. 2つ以上の選択したスケッチをマージすることで、新しいスケッチを作成 - + Wrong selection 誤った選択 - + Select at least two sketches. 少なくとも 2 つのスケッチを選択してください。 @@ -1216,24 +1216,24 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch スケッチを鏡像化 - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. 選択した各スケッチに対してX軸、Y軸、または原点を鏡像参照として新しい鏡像スケッチを作成します。 - + Wrong selection 誤った選択 - + Select one or more sketches. 1 つ以上のスケッチを選択してください。 @@ -1241,12 +1241,12 @@ as mirroring reference. CmdSketcherMove - + Move 移動 - + Moves the geometry taking as reference the last selected point 最後に選択された点を参照位置としてジオメトリーを移動 @@ -1254,12 +1254,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch スケッチを作成 - + Create a new sketch. 新規スケッチを作成 @@ -1267,12 +1267,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array 格子状配列 - + Creates a rectangular array pattern of the geometry taking as reference the last selected point 最後に選択された点を参照位置としてジオメトリーの格子状配列パターンを作成 @@ -1280,12 +1280,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment 軸配置を削除 - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection 選択したものの拘束関係を維持したまま軸配置を削除するように拘束を変更 @@ -1293,12 +1293,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... スケッチの方向を変更... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. 選択したスケッチをグローバル座標面の1つの上に配置します。 @@ -1308,12 +1308,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry 内部ジオメトリの表示/非表示 - + Show all internal geometry or hide unused internal geometry 全ての内部ジオメトリーを表示、または未使用の内部ジオメトリーを非表示 @@ -1321,8 +1321,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints 競合している拘束を選択 @@ -1330,12 +1330,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints 関連する拘束を選択 - + Select the constraints associated with the selected geometrical elements 選択したジオメトリー要素に関連づけられた拘束を選択 @@ -1343,12 +1343,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry 関連するジオメトリーを選択 - + Select the geometrical elements associated with the selected constraints 選択した拘束に関連付けられたジオメトリー要素を選択 @@ -1356,12 +1356,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF 拘束されていない自由度を選択 - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. ソルバーが未拘束の自由度を検出しているジオメトリー要素を選択 @@ -1369,12 +1369,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis 水平軸を選択 - + Select the local horizontal axis of the sketch スケッチのローカル水平軸を選択 @@ -1382,8 +1382,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints 不正な拘束を選択 @@ -1391,12 +1391,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin 原点を選択 - + Select the local origin point of the sketch スケッチのローカル原点を選択 @@ -1404,8 +1404,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints 部分的に冗長な拘束を選択 @@ -1413,8 +1413,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints 冗長な拘束を選択 @@ -1422,12 +1422,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis 垂直軸を選択 - + Select the local vertical axis of the sketch スケッチのローカル垂直軸を選択 @@ -1448,12 +1448,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation 処理を停止 - + When in edit mode, stop the active operation (drawing, constraining, etc.). 編集モードの場合、アクティブな操作 (作図、拘束など) を停止 @@ -1474,12 +1474,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry 対称 - + Creates symmetric geometry with respect to the last selected line or point 最後に選択した線分や点に対して対称ジオメトリーを作成 @@ -1487,12 +1487,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint 拘束をアクティブ化/非アクティブ化 - + Activates or deactivates the selected constraints 選択した拘束をアクティブ化・非アクティブ化 @@ -1513,12 +1513,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint 駆動拘束/参照拘束の切り替え - + Set the toolbar, or the selected constraints, into driving or reference mode ツールバー、または選択した拘束を駆動モードまたは参照モードに設定 @@ -1540,23 +1540,23 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... スケッチを検証... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. 見落とされた一致、無効な拘束、縮退ジオメトリーなどを確認してスケッチを検証 - + Wrong selection 誤った選択 - + Select only one sketch. スケッチを1つだけ選択してください。 @@ -1564,12 +1564,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section セクション表示 - + When in edit mode, switch between section view and full view. 編集モードの場合、セクションビューとフルビューを切り替え @@ -1577,12 +1577,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch スケッチを表示 - + When in edit mode, set the camera orientation perpendicular to the sketch plane. 編集モードの場合、スケッチ面に垂直にカメラの向きを設定 @@ -1590,287 +1590,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint 水平拘束を追加 - - - + + + Add horizontal alignment 水平配置を追加 - - + + Add vertical constraint 垂直拘束を追加 - + Add vertical alignment 垂直配置を追加 - + Add 'Lock' constraint 「ロック」拘束を追加 - + Add relative 'Lock' constraint 相対的な「ロック」拘束を追加 - + Add fixed constraint 固定拘束を追加 - + Add 'Block' constraint 「ブロック」拘束を追加 - + Add block constraint ブロック拘束を追加 - - - + + + Add coincident constraint 一致拘束を追加 - - + + Add distance from horizontal axis constraint 水平軸からの距離拘束を追加 - - + + Add distance from vertical axis constraint 垂直軸からの距離拘束を追加 - - + + Add point to point distance constraint 点間の距離拘束を追加 - - + + + Add point to line Distance constraint 点と線の間の距離拘束を追加 - - + + Add circle to circle distance constraint 円と円の間の距離拘束を追加 - + Add circle to line distance constraint 円と線の間の距離拘束を追加 - - + + + + + Add length constraint 寸法拘束を追加 - - + + + Dimension + 寸法 + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint オブジェクト上への点の拘束を追加 - - + + Add point to point horizontal distance constraint 点間の水平距離拘束を追加 - + Add fixed x-coordinate constraint X座標固定拘束を追加 - - + + Add point to point vertical distance constraint 点間の垂直距離拘束を追加 - + Add fixed y-coordinate constraint Y座標固定拘束を追加 - - + + Add parallel constraint 並行拘束を追加 - - - - - - - + + + + + + + Add perpendicular constraint 直角拘束を追加 - + Add perpendicularity constraint 垂直拘束を追加 - + Swap coincident+tangency with ptp tangency 点間正接によって一致と正接を入れ替え - + Swap PointOnObject+tangency with point to curve tangency 点曲線間正接によってオブジェクト上点と正接を入れ替え - - - - - - - + + + + + + + Add tangent constraint 正接拘束を追加 - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point 正接拘束点を追加 - - - - + + + + Add radius constraint 半径拘束を追加 - - - - + + + + Add diameter constraint 直径拘束を追加 - - - - + + + + Add radiam constraint 径拘束を追加 - - - - - - + + + + + + Add angle constraint 角度拘束を追加 - - + + Add equality constraint 等値拘束を追加 - - - - - + + + + + Add symmetric constraint 対称拘束を追加 - + Add Snell's law constraint スネル則拘束を追加 - + Toggle constraint to driving/reference 拘束の駆動/参照を切り替え - + Activate/Deactivate constraint 拘束をアクティブ化/非アクティブ化 - + Create a new sketch on a face 面上に新しいスケッチを作成 - + Create a new sketch 新規スケッチを作成 - + Reorient sketch スケッチの方向を変更 - + Attach sketch スケッチをアタッチ - + Detach sketch スケッチをデタッチ - + Create a mirrored sketch for each selected sketch 選択したスケッチごとに鏡像スケッチを作成 - + Merge sketches スケッチをマージ @@ -1988,72 +2105,72 @@ invalid constraints, degenerated geometry, etc. 六角形を追加 - + Convert to NURBS NURBSに変換 - + Increase spline degree スプラインの次数を増やす - + Decrease spline degree スプラインの次数を減らす - + Increase knot multiplicity ノット多重度を増やす - + Decrease knot multiplicity ノット多重度を減らす - + Insert knot ノットを挿入 - + Join Curves 曲線を結合 - + Exposing Internal Geometry 内部ジオメトリーを表示 - + Create symmetric geometry 対称ジオメトリーを作成 - + Copy/clone/move geometry ジオメトリーのコピー/クローン/移動 - + Create copy of geometry ジオメトリーのコピーを作成 - + Delete all geometry すべてのジオメトリーを削除 - + Delete All Constraints 拘束を削除する - + Remove Axes Alignment 軸配置を削除 @@ -2064,44 +2181,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space 拘束の仮想スペースを更新 - + Add auto constraints 自動拘束を追加 - + Swap constraint names 拘束名を交換 - + Rename sketch constraint スケッチ拘束の名前を変更 - + Drag Point 点をドラッグ - + Drag Curve 曲線をドラッグ - + Drag Constraint 拘束をドラッグ - + Modify sketch constraints スケッチ拘束を変更 @@ -2162,59 +2279,59 @@ invalid constraints, degenerated geometry, etc. 自動拘束エラー: 等値拘束の適用後にスケッチの求解に失敗しました。 - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. 曲線の交点を推定できません。フィレット対象の曲線の頂点の間に一致拘束を追加してみてください。 - - + + BSpline Geometry Index (GeoID) is out of bounds. B-スプラインのジオメトリー番号(ジオID)が範囲外です。 - + You are requesting no change in knot multiplicity. ノット多重度で変更が起きないように要求しています。 - - + + The Geometry Index (GeoId) provided is not a B-spline curve. 入力されたジオメトリー番号(ジオID)がB-スプライン曲線になりません。 - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. ノット・インデックスが境界外です。OCCの記法に従うと最初のノットは1と非ゼロのインデックスを持ちます。 - + The multiplicity cannot be increased beyond the degree of the B-spline. B-スプラインの次数を越えて多重度を増やすことはできません。 - + The multiplicity cannot be decreased beyond zero. 0を越えて多重度を減らすことはできません。 - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCCは最大許容範囲内で多重度を減らすことができまぜん。 - + Knot cannot have zero multiplicity. ノットがゼロ多重性を持つことはでいません。 - + Knot multiplicity cannot be higher than the degree of the BSpline. B-スプラインの次数を超えてノット多重度を増やすことはできません。 - + Knot cannot be inserted outside the BSpline parameter range. B-スプラインパラメーターの範囲外にノットを挿入することはできません。 @@ -2230,210 +2347,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher スケッチャー - + There are no modes that accept the selected set of subelements 選択したサブ要素セットに合うモードがありません。 - + Broken link to support subelements サポートサブ要素への壊れたリンク - - + + Unexpected error 予期しないエラーです。 - + Face is non-planar 面が平面ではありません - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) 選択した形状が不正な形式です(例. 直線エッジが必要なのに曲線エッジ) - + Sketch mapping スケッチ・マッピング - + Can't map the sketch to selected object. %1. 選択したオブジェクトにスケッチをマッピングできません。%1。 - - + + Don't attach アタッチしない + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection 誤った選択 @@ -2444,339 +2564,339 @@ invalid constraints, degenerated geometry, etc. スケッチからエッジを選択(複数可) - + Not allowed to edit the datum because the sketch contains conflicting constraints データムを編集できません。スケッチ拘束が他の拘束と矛盾しています。 - + Dimensional constraint 寸法拘束 - + Cannot add a constraint between two external geometries. 2つの外部形状間に拘束を追加することはできません。 - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. 2つの固定ジオメトリーの間に拘束を追加することができません。固定ジオメトリーに外部ジオメトリー、ブロック拘束されたジオメトリー、B-スプラインの節点といった特殊な点が含まれています。 - + Sketcher Constraint Substitution スケッチャー拘束の置換 - + Keep notifying me of constraint substitutions 拘束置換の通知を継続 - - - + + + Only sketch and its support are allowed to be selected. スケッチとそのサポートのみが選択可能です. - + One of the selected has to be on the sketch. 選択されているアイテムの1つがスケッチ上にある必要があります. - - + + Select an edge from the sketch. スケッチからエッジを選択 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint 拘束不可 - - - - + + + + The selected edge is not a line segment. 選択したエッジは線分ではありません. - - - - - - + + + + + + Double constraint 二重拘束 - - - - - + + + + + The selected edge already has a horizontal constraint! 選択されたエッジにはすでに水平拘束が設定されています! - - - + + + The selected edge already has a vertical constraint! 選択されたエッジにはすでに垂直拘束が設定されています! - - - - - - + + + + + + The selected edge already has a Block constraint! 選択されたエッジにはすでにブロック拘束が設定されています! - + The selected item(s) can't accept a horizontal constraint! 選択されているアイテムは水平拘束出来ません! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! 複数の固定点が選択されています。固定点を1つだけ選択してください! - + The selected item(s) can't accept a vertical constraint! 選択されているアイテムは垂直拘束出来ません! - - - + + + Select vertices from the sketch. スケッチから頂点を選択 - + Select one vertex from the sketch other than the origin. スケッチから原点以外の節点を 1 つ選択します。 - + Select only vertices from the sketch. The last selected vertex may be the origin. スケッチから頂点のみを選択してください。最後に選択された頂点は原点になります。 - + Wrong solver status 不適切なソルバー状態 - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. スケッチが求解されていない場合や冗長/競合する拘束がある場合はブロック拘束を追加できません。 - + Select one edge from the sketch. スケッチから1本のエッジを選択 - + Select only edges from the sketch. スケッチからエッジのみを選択 - + Number of selected objects is not 3 選択したオブジェクトの数が3ではありません。 - - - + + + Error エラー - + Unexpected error. More information may be available in the Report View. 予期しないエラーです。詳細についてはレポートビューで確認できます。 - + Endpoint to endpoint tangency was applied instead. 代わりに端点間の正接拘束が適用されました。 - + Select two or more points from the sketch. スケッチから2点以上の節点を選択 - + Select two or more vertices from the sketch. スケッチから2点以上の節点を選択してください。 - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. スケッチから一致拘束のための複数の頂点、または同心拘束のための複数の円、楕円、円弧、楕円弧を選択してください。 - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. スケッチから一致拘束のための2頂点、または同心拘束のための2つの円、楕円、円弧、楕円弧を選択してください。 - + Select exactly one line or one point and one line or two points from the sketch. スケッチから1直線または1点と1直線または2点を選択してください - + Cannot add a length constraint on an axis! 軸に対して長さ拘束を追加することはできません! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. スケッチから1直線、1点と1直線、2点、または2円を選択してください。 - + This constraint does not make sense for non-linear curves. この拘束は非線形な曲線に対して無効です。 - + Endpoint to edge tangency was applied instead. 代わりに端点とエッジの正接拘束が適用されました。 - - - - - - - + + + + + + + Select the right things from the sketch. スケッチから正しい対象を選択してください。 - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. B-スプラインの重みではないエッジを選択してください。 - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. 選択した点をそれぞれの曲線上に拘束することができません。同じ要素の一部であるか、両方とも外部ジオメトリーであるか、適切なエッジでないことが原因です。 - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. 選択した点をそれぞれの曲線上に拘束することができません。同じ要素のパーツであるか、両方とも外部ジオメトリーであることが原因です。 - - - - + + + + Select exactly one line or up to two points from the sketch. スケッチから1直線または2つ以下の点を選択してください - + Cannot add a horizontal length constraint on an axis! 軸に対して水平距離拘束を追加することはできません! - + Cannot add a fixed x-coordinate constraint on the origin point! 原点に対してX座標を固定する拘束を追加することはできません! - - + + This constraint only makes sense on a line segment or a pair of points. この拘束は1線分または点ペアに対してのみ有効です。 - + Cannot add a vertical length constraint on an axis! 軸に対して垂直距離拘束を追加することはできません! - + Cannot add a fixed y-coordinate constraint on the origin point! 原点に対してY座標を固定する拘束を追加することはできません! - + Select two or more lines from the sketch. スケッチから2本以上の直線を選択してください - - + + Select at least two lines from the sketch. スケッチから2本以上の直線を選択してください - + Select a valid line. 有効な直線を選択してください。 - - + + The selected edge is not a valid line. 選択されたエッジは有効な直線ではありません。 - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2786,42 +2906,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c 可能な組み合わせ: 2曲線; 1端点と1曲線; 2端点; 2曲線と1点 - + Select some geometry from the sketch. perpendicular constraint スケッチから幾つかのジオメトリを選択してください。 - - + + Cannot add a perpendicularity constraint at an unconnected point! 接続していない点に対して垂直拘束を追加することはできません! - - - + + + Perpendicular to B-spline edge currently unsupported. B-スプラインエッジの直角拘束は現在サポートされていません。 - - + + One of the selected edges should be a line. 選択されているエッジの1つが直線である必要があります - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. 端点間の正接拘束が適用されました。一致拘束は削除されました。 - + Endpoint to edge tangency was applied. The point on object constraint was deleted. 端点とエッジの正接拘束が適用されました。点のオブジェクト上への拘束は削除されました。 - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2831,179 +2951,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c 可能な組み合わせ: 2曲線; 端点と曲線; 2端点; 2曲線と1点 - + Select some geometry from the sketch. tangent constraint スケッチから幾つかのジオメトリを選択してください。 - - - + + + Cannot add a tangency constraint at an unconnected point! 接続されていない点に対して正接拘束を追加することはできません! - - + + Tangent constraint at B-spline knot is only supported with lines! B-スプラインのノットでの接線拘束は線でのみサポートされています! - + B-spline knot to endpoint tangency was applied instead. 代わりにB-スプラインのノットと端点の正接拘束が適用されました。 - + Select either one point and several curves, or one curve and several points. 1点と複数の曲線、または1曲線と複数の点を選択してください。 - - + + Wrong number of selected objects! 選択したオブジェクトの数が正しくありません ! - - + + With 3 objects, there must be 2 curves and 1 point. 使用される3オブジェクトは2つの曲線と1つの点である必要があります。 - - - + + + Tangency to B-spline edge currently unsupported. B-スプラインエッジの正接拘束は現在サポートされていません。 - - - - - - + + + + + + Select one or more arcs or circles from the sketch. スケッチから 1 つ以上の円弧または円を選択してください。 - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. 1つ以上のB-スプラインの極、または1つ以上の円・円弧をスケッチから選択してください。ただし混在はできません。 - - - + + + Constraint only applies to arcs or circles. 円弧または円のみに適用される拘束です。 - - + + Select one or two lines from the sketch. Or select two edges and a point. スケッチから1本か2本の線分を選択してください。あるいは2つのエッジと頂点を選択します。 - - + + Parallel lines 平行線 - - + + An angle constraint cannot be set for two parallel lines. 2つの平行線に角度拘束を設定できません。 - + Cannot add an angle constraint on an axis! 軸に対して角度拘束を追加することはできません! - + Select two edges from the sketch. スケッチから2本のエッジを選択してください - + Select two or more compatible edges. 複数の互換性のあるエッジを選択してください。 - + Sketch axes cannot be used in equality constraints. スケッチ軸を等値拘束で使用することはできません。 - + Equality for B-spline edge currently unsupported. B-スプラインエッジの等値拘束は現在サポートされていません。 - - - + + + + Select two or more edges of similar type. 複数の同じタイプのエッジを選択してください。 - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. 2つの点と対称線、2つの点と対称点、あるいは1本の直線と対称点をスケッチから選択してください。 - - + + Cannot add a symmetry constraint between a line and its end points. 直線とその端点間に対称拘束を追加することはできません。 - - + + + + Cannot add a symmetry constraint between a line and its end points! 直線とその端点間に対称拘束を追加することはできません! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw 光線として使用される直線の2端点と境界を表すエッジを選択してください。1つ目に選択された点がインデックスn1、2つ目の点がインデックスn2と対応し、データ値は比n2/n1を設定します。 - + Selected objects are not just geometry from one sketch. 選択されたオブジェクトは1つのスケッチから成るジオメトリーではありません。 - + Cannot create constraint with external geometry only. 外部ジオメトリーのみからなる拘束を作成することはできません。 - + Incompatible geometry is selected. 互換性のないジオメトリーが選択されています。 - + SnellsLaw on B-spline edge is currently unsupported. B-スプラインエッジのスネル則拘束は現在サポートされていません。 - - - - - + + + + + Select constraints from the sketch. スケッチから拘束を選択 @@ -3025,155 +3148,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c 1から %1 の間でB-スプラインの次数を定義してください: + + - - CAD Kernel Error CADカーネルエラー - + None of the selected elements is an edge. 選択した要素の中にエッジがありません。 - - + + At least one of the selected objects was not a B-Spline and was ignored. 選択したオブジェクトの少なくとも 1 つは B-スプラインではなかったため無視されました。 - - + + The selection comprises more than one item. Please select just one knot. 複数のアイテムが選択されています。ノットをひとつだけ選択してください。 - - + + Input Error 入力エラー - - + + None of the selected elements is a knot of a B-spline 選択要素のなかにB-スプラインのノットがありません。 - - + + Selection is empty 選択されていません - + Nothing is selected. Please select a b-spline. 何も選択されていません。B-スプラインを選択してください。 - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. ノットを挿入するには (ノットではなく) B-スプライン曲線を選択してください。 曲線がB-スプラインでない場合は、まず曲線をB-スプラインに変換してください。 - + Nothing is selected. Please select end points of curves. 何も選択されていません。曲線の端点を選択してください。 - + Too many curves on point 点に対する曲線が多すぎます。 - - + + Exactly two curves should end at the selected point to be able to join them. 結合するには2曲線の端点だけが選択されている必要があります。 - + Too few curves on point 点に対する曲線が少なすぎます。 - + Two end points, or coincident point should be selected. 2端点、または一致点を選択する必要があります。 - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. 1つのスケッチから要素を選択してください。 - + No constraint selected 拘束が選択されていません - + At least one constraint must be selected 拘束には1つ以上を選択する必要があります - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. 対称構造では少なくとも 2 つのジオメトリー要素が必要で、最後のジオメトリー要素が対称構造の参照となります。 - + The last element must be a point or a line serving as reference for the symmetry construction. 対称構造のための参照として使用される最後の要素は点または線である必要があります。 - - + + A copy requires at least one selected non-external geometric element コピーをするには、非外部ジオメトリー要素を1つ以上選択する必要があります。 - + Delete All Geometry 全てのジオメトリーを削除 - + Are you really sure you want to delete all geometry and constraints? 全てのジオメトリーと拘束を削除します。よろしいですか? - + Delete All Constraints 拘束を削除する - + Are you really sure you want to delete all the constraints? 全ての拘束を削除します。よろしいですか? - + Removal of axes alignment requires at least one selected non-external geometric element 軸配置を除去するには、非外部ジオメトリー要素を1つ以上選択する必要があります。 - + Unsupported visual layer operation サポートされていない表示レイヤー操作です。 - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted 外部ジオメトリーの別の表示レイヤーへの移動は現在サポートされていません。外部ジオメトリーは省略されます。 @@ -3372,67 +3495,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements 要素を選択 - + Change value 値を変更 - + Toggle to/from reference 参照への切り替え - + Deactivate 非アクティブ化 - + Activate アクティブ化 - + Show constraints 拘束を表示 - + Hide constraints 拘束を非表示 - + Rename 名前の変更 - + Center sketch スケッチを中央に配置 - + Delete 削除 - + Swap constraint names 拘束名を交換 - + Unnamed constraint 名前のない拘束 - + Only the names of named constraints can be swapped. スワップできるのは名前のついた拘束だけです。 @@ -3440,74 +3563,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle 角度を挿入 - + Angle: 角度: - + Insert radius 半径を挿入 - + Radius: 半径: - + Insert diameter 直径を挿入 - + Diameter: 直径: - + Insert weight 重みを挿入 - + Weight: 重み: - + Refractive index ratio Constraint_SnellsLaw 屈折率 - + Ratio n2/n1: Constraint_SnellsLaw 比 n2/n1: - + Insert length 長さを挿入 - + Length: 長さ: - + Refractive index ratio 屈折率 - + Ratio n2/n1: 比 n2/n1: @@ -3515,72 +3638,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal 標準 - + Construction 構築 - + Internal 内部 - + External 外部 - + All types 全てのタイプ - + Point - + Line 直線 - + Circle - + Ellipse 楕円 - + Arc of circle 円弧 - + Arc of ellipse 楕円弧 - + Arc of hyperbola 双曲線弧 - + Arc of parabola 放物線弧 - + B-Spline B-スプライン曲線 @@ -3588,142 +3711,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence 点一致 - + Point on Object オブジェクト上の点 - + Vertical Constraint 垂直拘束 - + Horizontal Constraint 水平拘束 - + Parallel Constraint 並行拘束 - + Perpendicular Constraint 直角拘束 - + Tangent Constraint 正接拘束 - + Equal Length 等値拘束 - + Symmetric 対称 - + Block Constraint ブロック拘束 - + Lock Constraint ロック拘束 - + Horizontal Distance 水平距離 - + Vertical Distance 垂直距離 - + Length Constraint 寸法拘束 - + Radius Constraint 半径拘束 - + Diameter Constraint 直径拘束 - + Radiam Constraint 径拘束 - + Angle Constraint 角度拘束 - + Toggle construction geometry 構築ジオメトリーの切り替え - + Select Constraints 拘束を選択 - + Select Origin 原点を選択 - + Select Horizontal Axis 水平軸を選択 - + Select Vertical Axis 垂直軸を選択 - + Layer Layer - + Layer 0 レイヤー 0 - + Layer 1 レイヤー 1 - + Hidden 非表示 - + Delete 削除 @@ -4004,6 +4127,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions 自動的な拘束代入を通知 + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + 両方 + + + + Auto + 自動 + + + + Diameter + 直径 + + + + Radius + 半径 + SketcherGui::SketcherSettingsColors @@ -4449,12 +4641,12 @@ Then objects are only visible behind the sketch plane. 既存のスケッチに適用 - + Unexpected C++ exception 予期しない C++ 例外 - + Sketcher スケッチャー @@ -4627,48 +4819,48 @@ However, no constraints linking to the endpoints were found. 設定 - + Constraints Constraints - + Auto constraints 自動拘束 - + Auto remove redundants 冗長な要素を自動削除 - + Show only filtered Constraints フィルターされた拘束のみ表示 - + Extended information (in widget) 拡張情報 (ウィジェット内) - + Hide internal alignment (in widget) 内部配置を非表示 (ウィジェット内) - - + + Error エラー - + Impossible to update visibility tracking 表示トラッキングを更新できません。 - + Impossible to update visibility tracking: 表示トラッキングを更新できません: @@ -4700,6 +4892,33 @@ However, no constraints linking to the endpoints were found. Settings 設定 + + + + + + + + + + + + Construction + 構築 + + + + Elements + 要素 + + + + + + + Point + + @@ -4711,110 +4930,83 @@ However, no constraints linking to the endpoints were found. - Construction - 構築 - - - - Elements - 要素 - - - - - - - Point - - - - - - - - - - - - - Internal 内部 - - + + + - Line 直線 - - + + + - Arc 円弧 - - + + + - Circle - - + + + - Ellipse 楕円 - - + + + - Elliptical Arc 楕円弧 - - + + + - Hyperbolic Arc 双曲線の円弧 - - + + + - Parabolic Arc 放物線の円弧 - - + + + - BSpline B-スプライン - - + + + - Other その他 - + Extended information 拡張情報 @@ -4822,42 +5014,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages ソルバーメッセージ - + Auto update 自動更新 - + Executes a recomputation of active document after every sketch action スケッチ操作後にアクティブなドキュメントの再計算を毎回実行 - + Click to select the conflicting constraints. クリックして競合する拘束を選択します。 - + Click to select the redundant constraints. クリックして冗長な拘束を選択します。 - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. スケッチには拘束されていない要素があり、それが自由度を上げています。クリックして拘束されていない要素を選択してください。 - + Click to select the malformed constraints. クリックして不正な拘束を選択します。 - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. 併用されている拘束の一部が部分的に冗長です。クリックして部分的に冗長な拘束を選択してください。 @@ -5034,119 +5226,119 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch スケッチを編集 - + A dialog is already open in the task panel タスクパネルで既にダイアログが開かれています - + Do you want to close this dialog? このダイアログを閉じますか? - + Invalid sketch スケッチが無効です - + Do you want to open the sketch validation tool? スケッチ検証ツールを起動しますか? - + The sketch is invalid and cannot be edited. スケッチが不正で、編集できません。 - + Please remove the following constraint: 以下の拘束を削除してください: - + Please remove at least one of the following constraints: 以下の拘束から少なくとも1つを削除してください: - + Please remove the following redundant constraint: 以下の不要な拘束を削除してください: - + Please remove the following redundant constraints: 以下の不要な拘束を削除してください: - + The following constraint is partially redundant: 以下の拘束は一部が冗長です: - + The following constraints are partially redundant: 以下の拘束は一部が冗長です: - + Please remove the following malformed constraint: 次の不正な拘束を削除してください: - + Please remove the following malformed constraints: 次の不正な拘束を削除してください: - + Empty sketch スケッチが空です - + Over-constrained: 過剰拘束: - + Malformed constraints: 不正な拘束: - + Redundant constraints: 冗長な拘束: - + Partially redundant: 部分的に冗長: - + Solver failed to converge ソルバーの収束に失敗 - + Under constrained: 拘束中: - + %n DoF(s) %n 自由度 - + Fully constrained 完全拘束 @@ -5154,8 +5346,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines すべてのB-スプラインの曲率コームの非表示と表示を切り替えます。 @@ -5163,8 +5355,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline 選択されたB-スプラインのノットの多重度を減らす @@ -5172,8 +5364,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines すべてのB-スプラインの次数の非表示と表示を切り替えます。 @@ -5181,8 +5373,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline 選択されたB-スプラインのノットの多重度を増やす @@ -5190,8 +5382,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines すべてのB-スプラインのノット多重度の非表示と表示を切り替えます。 @@ -5199,8 +5391,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines すべてのB-スプラインの制御点重みの非表示と表示を切り替えます。 @@ -5208,8 +5400,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines すべてのB-スプラインの制御ポリゴンの非表示と表示を切り替えます。 @@ -5217,8 +5409,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point 最後に選択された点を参照位置としてジオメトリーのクローンを作成 @@ -5226,17 +5418,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone クローン - + Copy コピー - + Move 移動 @@ -5244,8 +5436,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc 円または円弧の直径を固定 @@ -5253,7 +5445,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc 円または円弧の半径/直径を固定 @@ -5261,8 +5453,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc 円または円弧の半径を固定 @@ -5270,7 +5462,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc 円または円弧の半径/直径を固定 @@ -5278,8 +5470,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point 最後に選択された点を参照位置としてジオメトリーの単純コピーを作成 @@ -5498,63 +5690,63 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found スケッチが見つかりません - + The document doesn't have a sketch ドキュメントにスケッチが存在しません。 - + Select sketch スケッチを選択 - + Select a sketch from the list リストからスケッチを選択 - + (incompatible with selection) (選択物と非互換) - + (current) (現在のもの) - + (suggested) (サジェストされたもの) - + Sketch attachment スケッチのアタッチ - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. 現在のアタッチメントモードは新しい選択物と互換性がありません。このスケッチと選択したオブジェクトのアタッチ方法を選択してください。 - + Select the method to attach this sketch to selected objects. このスケッチと選択したオブジェクトのアタッチ方法を選択 - + Map sketch スケッチをマッピング - + Can't map a sketch to support: %1 サポートにスケッチをマッピングできません: @@ -5564,8 +5756,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point 最後に選択された点を参照位置としてジオメトリーを移動 @@ -5573,12 +5765,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment スケッチのアタッチ - + Select the method to attach this sketch to selected object 選択したオブジェクトへのこのスケッチのアタッチ方法を選択 @@ -5586,12 +5778,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support スケッチには支持オブジェクトが設定されています - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? 支持面が設定されているスケッチでは、スケッチの方向を再設定することができません。スケッチと支持面を切り離しますか? @@ -5599,11 +5791,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - フォーム - DOF @@ -5622,11 +5809,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - フォーム - Default algorithm used for Sketch solving @@ -5898,7 +6080,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more %1 以上 @@ -6088,22 +6270,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing グリッド間隔を自動調整 - + Resize grid automatically depending on zoom. ズームに応じてグリッドのサイズを自動変更 - + Spacing 間隔 - + Distance between two subsequent grid lines. 2本の隣り合ったグリッド線の間の距離 @@ -6111,87 +6293,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! スケッチに不正な拘束があります! - + The Sketch has partially redundant constraints! スケッチに一部が冗長な拘束があります! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! 放物線がバージョン変換されました。変換されたファイルは以前のバージョンのFreeCADでは開けません!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error エラー - + Failed to delete all geometry すべてのジオメトリーを削除することができませんでした。 - + Failed to delete all constraints すべての拘束を削除することができませんでした。 - + The constraint has invalid index information and is malformed. この拘束には無効なインデックス情報が含まれており、形式が正しくありません。 - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint 拘束が正しくありません。 @@ -6233,8 +6415,8 @@ The grid spacing change if it becomes smaller than this number of pixel.B-スプラインの極の作成エラー - + Error creating B-spline B-スプラインの作成エラー @@ -6331,9 +6513,9 @@ The grid spacing change if it becomes smaller than this number of pixel.エッジをトリムできませんでした。 - - - + + + Value Error 値エラー @@ -6369,58 +6551,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects オブジェクトにスナップ - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. 新しい点は現在、事前選択されているオブジェクトにスナップします。また線や円弧の中点にスナップします。 - + Snap to grid グリッドにスナップ - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. 新しい点は最も近いグリッド線にスナップします。 点はスナップするグリッド線のグリッド間隔の5分の1より近くなければなりません。 - + Snap angle スナップ角度 - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. 「角度でスナップ」(例えば線)を使用するツールの角度ステップ。 CTRLキーを押していると「角度でスナップ」が有効になります。角度はスケッチのX軸正の向きから開始します。 RenderingOrderAction - - - - - Normal Geometry - 通常ジオメトリー - - Construction Geometry - 構築ジオメトリー + Normal Geometry + 通常ジオメトリー + Construction Geometry + 構築ジオメトリー + + + + + External Geometry 外部ジオメトリー @@ -6441,12 +6623,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. スケッチのグリッドを切り替えます。メニューでグリッド設定を変更できます。 @@ -6454,12 +6636,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap スナップの切り替え - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. すべてのスナップ機能を切り替えます。メニューでは「グリッドにスナップ」と「オブジェクトにスナップ」のそれぞれの切り替えや、さらに多くのスナップ設定の変更が可能です。 @@ -6490,4 +6672,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna ノット、つまり補間によってスケッチに周期的なB-スプラインを作成。 + + CmdSketcherDimension + + + Dimension + 寸法 + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ka.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ka.ts index 691f081d9c..20368e345c 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ka.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ka.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb B-სპლაინის სიმრუდის ჩვენება/დამალვა - + Switches between showing and hiding the curvature comb for all B-splines ყველა B-სპლაინის მრუდების ჩვენების ჩართ/გამორთ @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree B-სპლაინის დონის ჩვენების ჩართ/გამორთ - + Switches between showing and hiding the degree for all B-splines ყველა B-ს ხაზებისთვის დონის ჩვენების ჩართ/გამორთ @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity B-სპლაინის კვანძის გაყოფადობის ჩვენების ჩართ/გამორთ - + Switches between showing and hiding the knot multiplicity for all B-splines ყველა B-ს ხაზებისთვის კვანძის სიმრავლის ჩვენების ჩართ/გამორთ @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight B-სპლაინის საკონტროლო წერტილის წონის ჩვენების ჩართ/გამორთ - + Switches between showing and hiding the control point weight for all B-splines ყველა B-სპლაინების საკონტროლო წერტილის ჩვენების ჩართ/გამორთ @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon B-სპლაინის კონტროლის პოლიგონის ჩვენების ჩართ/გამორთ - + Switches between showing and hiding the control polygons for all B-splines ყველა B-სპლაინის საკონტროლო მრავალკუთხედების ჩვენების ჩართ/გამორთ @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone ასლი - + Creates a clone of the geometry taking as reference the last selected point ქმნის გეომეტრიის ასლს, საბაზისოდ ბოლოს მონიშნული წერტილით @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer B-სპლაინის ინფორმაციის ფენის ჩვენების ჩართ/გამორთ - + Show/hide B-spline degree B-სპლაინის დონის ჩვენების ჩართ/გამორთ - + Show/hide B-spline control polygon B-სპლაინის კონტროლის პოლიგონის ჩვენების ჩართ/გამორთ - + Show/hide B-spline curvature comb B-სპლაინის სიმრუდის ჩვენება/დამალვა - + Show/hide B-spline knot multiplicity B-სპლაინის კვანძის გაყოფადობის ჩვენების ჩართ/გამორთ - + Show/hide B-spline control point weight B-სპლაინის საკონტროლო წერტილის წონის ჩვენების ჩართ/გამორთ @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle რკალის ან წრის შეზღუდვა - + Constrain an arc or a circle რკალის ან წრის შეზღუდვა - + Constrain radius რადიუსის სეზღუდვა - + Constrain diameter დიამეტრის შეზღუდვა - + Constrain auto radius/diameter ავტომატური რადიუსის/დიამეტრის შეზღუდვა @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone - ასლი + კლონი - + Creates a clone of the geometry taking as reference the last selected point ქმნის გეომეტრიის ასლს, საბაზისოდ ბოლოს მონიშნული წერტილით @@ -301,7 +301,7 @@ Rectangle - ოთხკუთხედი + მართკუთხედი @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity კვანძების გაყოფადობის შეცვლა - + Modifies the multiplicity of the selected knot of a B-spline B-სპლაინის მონიშნული კვანძის სიმრავლის შეცვლა - + Increase knot multiplicity კვანძის ჯერადობის გაზრდა - + Decrease knot multiplicity კვანძის ჯერადობის შემცირება @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle კუთხის შეზღუდვა - + Fix the angle of a line or the angle between two lines ხაზის ან ორ ხაზს შორს კუთხის დაფიქსირება @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block შეზღუდვის ბლოკირება - + Block the selected edge from moving მონიშნული წიბოს გადაადგილების დაბლოკვა @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident დამთხვევის შეზღუდვა - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses წერტილებს შორის დამთხვევის ან წრეწირებს, რკალებსა და ოვალებს შორის კონცენტრულობის შეზღუდვის შექმნა @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter დიამეტრის შეზღუდვა - + Fix the diameter of a circle or an arc წრის ან რკალის რადიუსის გასწორება @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance დაშორების შეზღუდვა - + Fix a length of a line or the distance between a line and a vertex or between two circles დააყენეთ ხაზის სიგრძე ან მანძილი ხაზსა და წვეროს ან ორ წრეწირს შორის @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance ჰორიზონტალური დაშორების შეზღუდვა - + Fix the horizontal distance between two points or line ends ორ წერტილს ან ხაზის ბოლოებს შორის ჰორიზონტალური დაშორების ფიქსირება @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance ვერტიკალური დაშორების შეზღუდვა - + Fix the vertical distance between two points or line ends ორ წერტილს ან ხაზის ბოლოებს შუა დაშორების ფიქსირება @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal ტოლობით შეზღუდვა - + Create an equality constraint between two lines or between circles and arcs ორ ხაზს ან წრეწირსა და რკალებს შორის თანასწორობის შეზღუდვის შექმნა @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally ჰორიზონტალურობის შეზღუდვა - + Create a horizontal constraint on the selected item არჩეულ ელემენტზე ჰორიზონტალური შეზღუდვის შექმნა @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock მდებარეობის ჩაკეტვა - + Create both a horizontal and a vertical distance constraint on the selected vertex ორივე, ჰორიზონტალური და ვერტიკალური შეზღუდვების შექმნა @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel პარალელურობის შეზღუდვა - + Create a parallel constraint between two lines ორ ხაზს შორის პარალელურობის შეზღუდვის შექმნა @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular მართობულობის შეზღუდვა - + Create a perpendicular constraint between two lines ორ ხაზს შორის მართობის შეზღუდვის შექმნა @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object წერტილის ობიექტზე დამაგრება - + Fix a point onto an object წერტილის ობიექტზე მიმაგრება @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter ავტომატური რადიუსის/დიამეტრის შეზღუდვა - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen თუ წრეწირს აირჩევთ, დიამეტრი უცვლელი იქნება, თუ რკალს/სპლაინის პოლუსი - რადიუსი @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight რადიუსის ან წონის შეზღუდვა - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline წრის ან რკალის რადიუსის ან B-სპლაინს პოლუსის სიმძიმის დაფიქსირება @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) არეკვლის შეზღუდვა (სნელის კანონი) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. სხივების ორ ბოლო წერტილსა და წიბოს, როგორც საკონტაქტო ზედაპირს შორის გარდატეხის კანონის (სნელის კანონი) შეზღუდვის შექმნა. @@ -599,12 +599,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical სიმეტრიულობის შეზღუდვა - + Create a symmetry constraint between two points with respect to a line or a third point სიმეტრიის შეზღუდვის შექმნა ორ წერტილს შორის @@ -614,12 +614,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent მხების შეზღუდვა - + Create a tangent constraint between two entities ორი ობიექტს შორის მხების შეზღუდვის შექმნა @@ -627,12 +627,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically ვერტიკალურობის შეზღუდვა - + Create a vertical constraint on the selected item არჩეულ ელემენტზე ვერტიკალური შეზღუდვის შექმნა @@ -640,12 +640,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline გეომეტრიის B-სპლაინად გარდაქმნა - + Converts the selected geometry to a B-spline მონიშნული გეომეტრიის B-სპლაინად გარდაქმნა @@ -653,12 +653,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy კოპირება - + Creates a simple copy of the geometry taking as reference the last selected point ქმნის გეომეტრიის მარტივ ასლს, საბაზისოდ ბოლოს მონიშნული წერტილით @@ -798,7 +798,7 @@ with respect to a line or a third point Create fillet - მომრგვალების შექმნა + მომრგვალებული ნაზოლის შექმნა @@ -1017,12 +1017,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree B-სპლაინის კუთხის შემცირება - + Decreases the degree of the B-spline B-სპლაინის დონის დაწევა @@ -1030,12 +1030,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity - კვანძის ჯერადობის შემცირება + კვანძის გამრავლებადობის შემცირება - + Decreases the multiplicity of the selected knot of a B-spline B-სპლაინის მონიშნული კვანძის სიმრავლის შემცირება @@ -1043,12 +1043,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints ყველა შეზღუდვის წაშლა - + Delete all constraints in the sketch ესკიზის ყველა შეზღუდვის წაშლა @@ -1056,12 +1056,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry მთელი გეომეტრიის წაშლა - + Delete all geometry and constraints in the current sketch, with the exception of external geometry მიმდინარე ესკიზზე ყველა გეომეტრიისა და შეზღუდვის წაშლა, გარე გეომეტრიის გარდა @@ -1069,12 +1069,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch ესკიზის ჩასწორება - + Edit the selected sketch. მონიშნული ესკიზის ჩასწორება. @@ -1108,12 +1108,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree B-სპლაინის კუთხის გაზრდა - + Increases the degree of the B-spline B-სპლაინის დონის აწევა @@ -1121,12 +1121,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity - კვანძის ჯერადობის გაზრდა + კვანძის გამრავლებადობის გაზრდა - + Increases the multiplicity of the selected knot of a B-spline B-სპლაინის მონიშნული კვანძის სიმრავლის გაზრდა @@ -1134,12 +1134,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot კვანძის ჩასმა - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. კვანძის მითითებულ პარამეტრთან ჩასმა. თუ მითითებულ პარამეტრთან კვანძი უკვე არსებობს, მისი მამრავლი ერთით გაიზრდება. @@ -1147,12 +1147,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves მრუდების შეერთება - + Join two curves at selected end points ორი მრუდის მონიშნული ბოლო წერტილების შეერთება @@ -1160,12 +1160,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch ესკიზის დატოვება - + Finish editing the active sketch. აქტიური ესკიზის ჩასწორების დასრულება. @@ -1173,12 +1173,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... ესკიზის ზედაპირზე მოთავსება... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1186,7 +1186,7 @@ then call this command, then choose the desired sketch. ჯერ აირჩიეთ საყრდენი გეომეტრია, მაგალითად მყარსხეულიანი ობიექტის წიბო ან ზედაპირი, შემდეგ გამოიძახეთ ეს ბრძანება და მხოლოდ შემდეგ აირჩიეთ სასურველი ესკიზი. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. ზოგიერთი მონიშნული ობიექტი საჩვენებელ ესკიზს ეყრდნობა. წრიული დამოკიდებულებები მხარდაუჭერელია. @@ -1194,22 +1194,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches ესკიზების შერწყმა - + Create a new sketch from merging two or more selected sketches. ახალი ესკიზის შექმნა ორი ან მეტი მონიშნული ესკიზის შერწყმით. - + Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული - + Select at least two sketches. აირჩიეთ ორი ესკიზი მაინც. @@ -1217,26 +1217,26 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch ესკიზის ასლი - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. - თითოეული მონიშნული ესკიზისთვის -X და Y ღერძებით და საწყისი წერტილით + თითოეული მონიშნული ესკიზისთვის +X და Y ღერძებით და საწყისი წერტილით ახალი სარკისებური ესკიზის შექმნა. - + Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული - + Select one or more sketches. მონიშნეთ ერთი ან მეტი ესკიზი. @@ -1244,12 +1244,12 @@ X და Y ღერძებით და საწყისი წერტი CmdSketcherMove - + Move გადატანა - + Moves the geometry taking as reference the last selected point გეომეტრიების გადატანა ორიენტირად ბოლოს მონიშნული წერტილის გამოყენებით @@ -1257,12 +1257,12 @@ X და Y ღერძებით და საწყისი წერტი CmdSketcherNewSketch - + Create sketch ესკიზის შექმნა - + Create a new sketch. ახალი ესკიზის შექმნა. @@ -1270,12 +1270,12 @@ X და Y ღერძებით და საწყისი წერტი CmdSketcherRectangularArray - + Rectangular array მართკუთხედი მასივი - + Creates a rectangular array pattern of the geometry taking as reference the last selected point ქმნის გეომეტრიის მართკუთხა მასივის შაბლონს, მიმართვად ბოლო არჩეული წერტილის გამოყენებით @@ -1283,12 +1283,12 @@ X და Y ღერძებით და საწყისი წერტი CmdSketcherRemoveAxesAlignment - + Remove axes alignment ღერძების სწორების მოცილება - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection ცვლის შეზღუდვებს ღერძების სწორების წასაშლელად მონიშნულთან შეზღუდვის ურთიერთობის შენარჩუნების მცდელობის ფონზე @@ -1296,12 +1296,12 @@ X და Y ღერძებით და საწყისი წერტი CmdSketcherReorientSketch - + Reorient sketch... ესკიზის რეორიენტაცია... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. მონიშნული ესკიზის ერთ-ერთ გლობალურ კოორდინატთა სიბრტყეზე მოთავსება. @@ -1311,12 +1311,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry შიდა გეომეტრიის ხილვადობის ჩართ/გამორთ - + Show all internal geometry or hide unused internal geometry სრული შიდა გეომეტრიის ჩვენება ან გამოუყენებელი შიდა გეომეტრიის დამალვა @@ -1324,8 +1324,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints კონფლიქტური შეზღუდვების მონიშვნა @@ -1333,12 +1333,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints ასოცირებული შეზღუდვების მონიშვნა - + Select the constraints associated with the selected geometrical elements მონიშნულ გეომეტრიულ ელემენტებზე მიბმული შეზღუდვების მონიშვნა @@ -1346,12 +1346,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry მიბმული გეომეტრიის მონიშვნა - + Select the geometrical elements associated with the selected constraints მონიშნულ შეზღუდვებთან ასოცირებული გეომეტრიული ელემენტების მონიშვნა @@ -1359,12 +1359,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF აირჩიეთ შეუზღუდავი თხ - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. აირჩიეთ გეომეტრიული ელემენტები, სადაც ამომხსნელი ჯერ კიდევ პოულობს შეუზღუდავ თავისუფლების ხარისხებს. @@ -1372,12 +1372,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis ჰორიზონტალური ღერძის მონიშვნა - + Select the local horizontal axis of the sketch ესკიზის ლოკალური ჰორიზონტალური ღერძის არჩევა @@ -1385,8 +1385,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints არასწორი შეზღუდვების მონიშვნა @@ -1394,12 +1394,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin აირჩიეთ წყარო - + Select the local origin point of the sketch აირჩიეთ ესკიზის ლოკალური კოორდინატების საწყისი წერტილი @@ -1407,8 +1407,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints ნაწილობრივ დამატებითი შეზღუდვების მონიშვნა @@ -1416,8 +1416,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints დამატებითი შეზღუდვების მონიშვნა @@ -1425,12 +1425,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis ვერტიკალური ღერძის არჩევა - + Select the local vertical axis of the sketch ესკიზის ლოკალური ვერტიკალური ღერძის არჩევა @@ -1451,12 +1451,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation ოპერაციის შეჩერება - + When in edit mode, stop the active operation (drawing, constraining, etc.). ჩასწორების რეჟიმში აქტიური ოპერაციის (ხაზვა, შეზღუდვა და ა. შ.) გაჩერება. @@ -1477,12 +1477,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry სიმეტრია - + Creates symmetric geometry with respect to the last selected line or point ქმნის სიმეტრიულ გეომეტრიას ბოლოს არჩეულ ხაზთან ან წერტილთან დამოკიდებულებით @@ -1490,12 +1490,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint შეზღუდვის აქტივაცია/დეაქტივაცია - + Activates or deactivates the selected constraints მონიშნული შეზღუდვების ჩართ/გამორთ @@ -1516,16 +1516,16 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint - Toggle driving/reference constraint + მშენებლობის/მიმართვის შეზღუდვის გადართვა - + Set the toolbar, or the selected constraints, into driving or reference mode - Set the toolbar, or the selected constraints, -into driving or reference mode + ხელსაწყოთა პანელის, ან მონიშნული შეზღუდვების +მშენებლობის/მიმართვის რეჟიმში დაყენება @@ -1544,24 +1544,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... ესკიზის შემოწმება... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. - ესკიზის შემოწმება ნაკლული დამთხვევების, არასწორი შეზღუდვების, + ესკიზის შემოწმება ნაკლული დამთხვევების, არასწორი შეზღუდვების, დეგენერირებული გეომეტრიის და ა. შ. შემოწმებით. - + Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული - + Select only one sketch. მონიშნეთ მხოლოდ ერთი ესკიზი. @@ -1569,12 +1569,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section კვეთის ხედი - + When in edit mode, switch between section view and full view. ჩასწორების რეჟიმში შეგიძლიათ კვეთისა და სრულ ხედს შორის გადართვა. @@ -1582,12 +1582,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch ესკიზის ნახვა - + When in edit mode, set the camera orientation perpendicular to the sketch plane. ჩასწორების რეჟიმში კამერის ორიენტაციის ესკიზის სიბრტყის მართობულად დაყენება. @@ -1595,287 +1595,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint ჰორიზონტალურობის შეზღუდვის დამატება - - - + + + Add horizontal alignment ჰორიზონტალური სწორების დამატება - - + + Add vertical constraint ვერტიკალურობის შეზღუდვის დამატება - + Add vertical alignment ვერტიკალური სწორების დამატება - + Add 'Lock' constraint "მბლოკავი" შეზღუდვის დამატება - + Add relative 'Lock' constraint ფარდობითი „დაბლოკვის“ შეზღუდვის დამატება - + Add fixed constraint ფიქსირებული შეზღუდვის დამატება - + Add 'Block' constraint 'ბლოკის' ტიპის შეზღუდვის დამატება - + Add block constraint ბლოკის შეზღუდვის დამატება - - - + + + Add coincident constraint დამთხვევის შეზღუდვის დამატება - - + + Add distance from horizontal axis constraint ჰორიზონტალური ღერძის შეზღუდვამდე მანძილის დამატება - - + + Add distance from vertical axis constraint ვერიკალურ ღერძამდე მანძილის შეზღუდვის დამატება - - + + Add point to point distance constraint წერტილიდან წერტილამდე მანძილის შეზღუდვის დამატება - - + + + Add point to line Distance constraint წერტილიდან ხაზამდე დაშორების შეზღუდვის დამატება - - + + Add circle to circle distance constraint წრეწირიდან წრეწირამდე მანძილის შეზღუდვის დამატება - + Add circle to line distance constraint წრეწირიდან ხაზამდე მანძილის შეზღუდვის დამატება - - + + + + + Add length constraint სიგრძის შეზღუდვის დამატება - - + + + Dimension + ზომა + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint ობექტის შეზღუდვაზე წერტილის დამატება - - + + Add point to point horizontal distance constraint წერტილიდან წერტილამდე ჰორიზონტალური მანძილის შეზღუდვის დამატება - + Add fixed x-coordinate constraint X-კოორდინატის ფიქსირებული შეზღუდვის დამატება - - + + Add point to point vertical distance constraint წერტილიდან წერტილამდე ვერტიკალური მანძილის შეზღუდვის დამატება - + Add fixed y-coordinate constraint Y-კოორდინატის ფიქსირებული შეზღუდვის დამატება - - + + Add parallel constraint პარალელურობის შეზღუდვის დამატება - - - - - - - + + + + + + + Add perpendicular constraint მართკუთხა შეზღუდვის დამატება - + Add perpendicularity constraint მართკუთხობის სეზღუდვის დამატება - + Swap coincident+tangency with ptp tangency დამთხვევის+მხების ptp მხებთან მიმოცვლა - + Swap PointOnObject+tangency with point to curve tangency PointOnObject+მხების მიმოცვლა მრუდის მხების წერტილთან - - - - - - - + + + + + + + Add tangent constraint მხების შეზღუდვის დამატება - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point მხების შეზღუდვის წერტილის დამატება - - - - + + + + Add radius constraint რადიუსის შეზღუდვის დამატება - - - - + + + + Add diameter constraint დიამეტრის შეზღუდვის დამატება - - - - + + + + Add radiam constraint რადიამის შეზღუდვის დამატება - - - - - - + + + + + + Add angle constraint კუთხის შეზღუდვის დამატება - - + + Add equality constraint ტოლობის შეზღუდვის დამატება - - - - - + + + + + Add symmetric constraint სიმეტრიულობის შეზღუდვის დამატება - + Add Snell's law constraint სნელის კანონის შეზღუდვის დამატება - + Toggle constraint to driving/reference - Toggle constraint to driving/reference + მშენებლობის/მიმართვის შეზღუდვის გადართვა - + Activate/Deactivate constraint შეზღუდვის აქტივაცია/დეაქტივაცია - + Create a new sketch on a face ზედაპირზე ახალი ესკიზის შექმნა - + Create a new sketch ახალი ესკიზის შექმნა - + Reorient sketch ესკიზის რეორიენტაცია - + Attach sketch ესკიზის მიბმა - + Detach sketch ესკიზის მოძრობა - + Create a mirrored sketch for each selected sketch ყოველი მონიშნული ესკიზის სარკისებური ასლის შექმნა - + Merge sketches ესკიზების შერწყმა @@ -1993,72 +2110,72 @@ invalid constraints, degenerated geometry, etc. ექვსკუთხედის დამატება - + Convert to NURBS NURBS-ში გარდაქმნა - + Increase spline degree სპლაინის კუთხის გაზრდა - + Decrease spline degree სპლაინის კუთხის შემცირება - + Increase knot multiplicity კვანძის ჯერადობის გაზრდა - + Decrease knot multiplicity კვანძის ჯერადობის შემცირება - + Insert knot კვანძის ჩასმა - + Join Curves მრუდების შეერთება - + Exposing Internal Geometry შიდა გეომეტრიის ჩვენება - + Create symmetric geometry სიმეტრიული გეომეტრიის შექმნა - + Copy/clone/move geometry გეომეტრიის კოპირება/ასლი/გადატანა - + Create copy of geometry გეომეტრიის ასლის შექმნა - + Delete all geometry მთელი გეომეტრიის წაშლა - + Delete All Constraints ყველა შეზღუდვის წაშლა - + Remove Axes Alignment ღერძების სწორების მოცილება @@ -2069,44 +2186,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space შეზღუდვის ვირტუალური სივრცის განახლება - + Add auto constraints ავტომატური შეზღუდვების დამატება - + Swap constraint names შეზღუდვების სახელების მიმოცვლა - + Rename sketch constraint ესკიზის შეზღუდვისთვის სახელის გადარქმევა - + Drag Point გადაათრიეთ წერტილი - + Drag Curve რკალის გადათრევა - + Drag Constraint შეზღუდვის გადათრევა - + Modify sketch constraints ესკიზის შეზღუდვების ჩასწორება @@ -2167,59 +2284,59 @@ invalid constraints, degenerated geometry, etc. ავტომატური შეზღუდვის შეცდომა: თანასწორობის შეზღუდვების გადატარების შემდეგ ესკიზი ამოხსნადი არაა. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. მრუდების კვეთის გამოცნობის შეცდომა. სცადეთ დაამატოთ დამთხვევების შეზღუდვები მრუდების წვეროებზე, რომლის მომრგვალებასაც ცდილობთ. - - + + BSpline Geometry Index (GeoID) is out of bounds. B-სპლაინის გეომეტრიის ინდექსი (GeoID) დაშვებულ ლიმიტებს გარეთაა. - + You are requesting no change in knot multiplicity. თქვენ არ ითხოვთ ცვლილებას კვანძის გაყოფადობაში. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. გეომეტრიის მითითებული ინდექსი (GeoID) B-სპლაინის მრუდს არ წარმოადგენს. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. კვანძის ინდექსი საზღვრებს გარეთაა. დაიმახსოვრეთ, რომ OCC ნოტაციების შესაბამისად, პირველი კვანძის ინდექსი 1-ია და არა 0. - + The multiplicity cannot be increased beyond the degree of the B-spline. სიმრავლე არ შეიძლება გაიზარდოს B-სპლაინის დონის მიღმა. - + The multiplicity cannot be decreased beyond zero. სიმრავლე არ შეიძლება შემცირდეს ნულს მიღმა. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC-ს არ შეუძლია შეამციროს სიმრავლე მაქსიმალური ტოლერანტობის ფარგლებში. - + Knot cannot have zero multiplicity. კვანძებს არ შეიძლება ნულოვანი მამრავლი ჰქონდეს. - + Knot multiplicity cannot be higher than the degree of the BSpline. კვანძის მამრავლი არ შეიძლება B-სპლაინის დონეზე დიდი იყოს. - + Knot cannot be inserted outside the BSpline parameter range. კვანძის ჩასმა B-სპლაინის პარამეტრების დიაპაზონის გარეთ შეუძლებელია. @@ -2235,210 +2352,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher ესკიზმქმნელი - + There are no modes that accept the selected set of subelements არ არსებობს რეჟიმი, რომელიც მიიღებს ქვე-ელემენტების მონიშნულ ნაკრებს - + Broken link to support subelements ქვეელემენტების მხარდაჭერის გაფუჭებული ბმული - - + + Unexpected error გაუთვალისწინებელი შეცდომა - + Face is non-planar ზედაპირი ბრტყელი არაა - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) მონიშნული მოხაზულობები არასწორი ფორმისაა (მაგ: ამობურცული წიბო, სადაც სწორი იყო საჭირო) - + Sketch mapping ესკიზის ჩვენება - + Can't map the sketch to selected object. %1. შეუძლებელია ესკიზის რუკის მონიშნულ ობიექტზე დატანა. %1. - - + + Don't attach არ მიამაგრო + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection არასწორი არჩევანი @@ -2449,339 +2569,339 @@ invalid constraints, degenerated geometry, etc. ესკიზზე წიბო(ებ)-ის მონიშვნა. - + Not allowed to edit the datum because the sketch contains conflicting constraints მონაცემების ჩასწორება დაუშვებელია, რადგან ესკიზი კონფლიქტურ შეზღუდვებს შეიცავს - + Dimensional constraint სივრცული შეზღუდვა - + Cannot add a constraint between two external geometries. ორ გარე გეომეტრიას შორის შეზღუდვის დამატება შეუძლებელია. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. ორ დამაგრებულ გეომეტრიას შორის შეზღუდვის დამატება შეუძლებელია. დამაგრებულ გეომეტრიებს მიეკუთვნება გარე გეომეტრია, დაბლოკილი გეომეტრია და ისეთი სპეციალური წერტილები, როგორიცაა B-სპლაინის კვანძის წერტილები. - + Sketcher Constraint Substitution Sketcher-ის შეზღუდვის ჩანაცვლება - + Keep notifying me of constraint substitutions შეზღუდვების ჩანაცვლების შესახებ შეტყობინებების ჩვენების გაგრძელება - - - + + + Only sketch and its support are allowed to be selected. შეიძლება მოინიშნოს მხოლოდ ესკიზი და მისი საყრდენი. - + One of the selected has to be on the sketch. ერთერთი მონიშნული ესკიზზე უნდა იყოს. - - + + Select an edge from the sketch. ესკიზზე წიბოს მონიშვნა. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint შეზღუდვის შეცდომა - - - - + + + + The selected edge is not a line segment. მონიშნული წიბო ხაზის სეგმენტს არ წარმოადგენს. - - - - - - + + + + + + Double constraint ორმაგი შეზღუდვა - - - - - + + + + + The selected edge already has a horizontal constraint! მონიშნულ წიბოს უკვე აქვს ჰორიზონტალური შეზღუდვა! - - - + + + The selected edge already has a vertical constraint! მონიშნულ წიბოს უკვე აქვს ვერტიკალური შეზღუდვა! - - - - - - + + + + + + The selected edge already has a Block constraint! მონიშნულ წიბოს უკვე ადევს შეზღუდვის ბლოკი! - + The selected item(s) can't accept a horizontal constraint! არჩეული ელემენტ(ებ)-ი ვერ მიიღებს ჰორიზონტალურ შეზღუდვას! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! მონიშნულია ერთზე მეტი დამაგრებული წერტილი. მონიშნეთ მაქსიმუმ ერთი დამაგრებული წერტილი! - + The selected item(s) can't accept a vertical constraint! არჩეული ელემენტ(ებ)-ი ვერ მიიღებს ვერტიკალურ შეზღუდვას! - - - + + + Select vertices from the sketch. ესკიზზე წვეროების მონიშვნა. - + Select one vertex from the sketch other than the origin. აირჩიეთ წიბოდან კიდევ ერთი წვერო წყაროს გარდა. - + Select only vertices from the sketch. The last selected vertex may be the origin. ესკიზზე მხოლოდ წვეროები მონიშნეთ. ბოლოს მონიშნული წვერო საწყისი შეიძლება იყოს. - + Wrong solver status ამომხსნელის არასწორი სტატუსი - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. დაბლოკვის შეზღუდვას ვერ დაამატებთ, თუ ესკიზი ამოუხსნელია ან არსებობს დამატებითი, ან ურთიერთგამომრიცხავი შეზღუდვები. - + Select one edge from the sketch. ესკიზიდან მონიშნეთ ერთი წიბო. - + Select only edges from the sketch. ესკიზიდან მონიშნეთ მხოლოდ წიბოები. - + Number of selected objects is not 3 მონიშნული ობიექტების რიცხვი არ უდრის სამს - - - + + + Error შეცდომა - + Unexpected error. More information may be available in the Report View. მოულოდნელი შეცდომა. მეტ ინფორმციას შეიძლება ანგარიშის ხედში მიაგნოთ. - + Endpoint to endpoint tangency was applied instead. სამაგიეროდ გამოყენებულია ბოლო წერტილიდან ბოლო წერტილთან მხები. - + Select two or more points from the sketch. აირჩიეთ ორი ან მეტი წერტილი. - + Select two or more vertices from the sketch. ესკიზიდან აირჩიეთ ორი ან მეტი წვერო. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. დამთხვევის შეზღუდვისთვის ესკიზიდან აირჩიეთ ორი წვერო ან მეტი წვერო, ან, კონცენტრული შეზღუდვისთვის, ორი ან მეტი წრეწირი, ოვალები, რკალები ან ოვალის რკალები. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. დამთხვევის შეზღუდვისთვის ესკიზიდან აირჩიეთ ორი წვერო, ან, კონცენტრული შეზღუდვისთვის, ორი წრეწირი, ოვალები, რკალები ან ოვალის რკალები. - + Select exactly one line or one point and one line or two points from the sketch. ესკიზიდან აირჩიეთ მხოლოდ ერთი ხაზი ან ერთი წერტილი და ერთი ხაზი ან ორი წერტილი. - + Cannot add a length constraint on an axis! ღერძზე სიგრძის შეზღუდვის დაწესება შეუძლებელია! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. ესკიზიდან აირჩიეთ მხოლოდ ერთი ხაზი ან ერთი წერტილი და ერთი ხაზი ან ორი წერტილი ან ორი წრეწირი. - + This constraint does not make sense for non-linear curves. ამ შეზღუდვას აზრი არ აქვს არახაზოვანი მრუდებისთვის. - + Endpoint to edge tangency was applied instead. სამაგიეროდ გამოყენებულია ბოლო წერტილიდან წიბოსთნ მხები. - - - - - - - + + + + + + + Select the right things from the sketch. ესკიზიდან სწორი რამეების არჩევა. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. აირჩიეთ წიბო, რომელიც არაა B-სპლაინის წონა. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. არცერთი მონიშნული წერტილი არ შემოიფარგლება შესაბამის მრუდებზე, რადგან ისინი ერთი და იგივე ელემენტის ნაწილებია, რადგან ორივე გარე გეომეტრიაა, ან იმიტომ, რომ წიბო დაუშვებელია. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. არცერთი მონიშნული წერტილი არ შემოიფარგლება შესაბამის მრუდებზე. ისინი ან ერთი და იგივე ელემენტის ნაწილებია, ან გარე გეომეტრიის ნაწილს წარმოადგენენ. - - - - + + + + Select exactly one line or up to two points from the sketch. ესკიზიდან აირჩიეთ ზუსტად ერთი ხაზი ან ორი წერტილი. - + Cannot add a horizontal length constraint on an axis! ღერძზე ჰორიზონტალური სიგრძის შეზღუდვის დაწესება შეუძლებელია! - + Cannot add a fixed x-coordinate constraint on the origin point! საწყის წერტილზე ფიქსირებული X-კოორდინატის შეზღუდვის დამატება შეუძლებელია! - - + + This constraint only makes sense on a line segment or a pair of points. ამ შეზღუდვას აზრი მხოლოდ ხაზის სეგმენტზე ან წერტილების წყვილზე აქვს. - + Cannot add a vertical length constraint on an axis! ღერძზე ვერტიკალური სიგრძის შეზღუდვის დაწესება შეუძლებელია! - + Cannot add a fixed y-coordinate constraint on the origin point! საწყის წერტილზე ფიქსირებული Y-კოორდინატის შეზღუდვის დამატება შეუძლებელია! - + Select two or more lines from the sketch. ესკიზიდან აირჩიეთ ორი ან მეტი ხაზი. - - + + Select at least two lines from the sketch. მონიშნეთ მინიმუმ 2 ხაზი. - + Select a valid line. აირჩიეთ ნამდვილი ხაზი. - - + + The selected edge is not a valid line. მონიშნული წიბო სწორ ხაზს არ წარმოადგენს. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2791,42 +2911,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c მხარდაჭერილი კომბინაციებია: ორი მრუდი; ან ბოლო წერტილი და მრუდი; ან ორი ბოლო წერტილი; ან ორი მრუდი და წერტილი. - + Select some geometry from the sketch. perpendicular constraint ესკიზიდან მონიშნეთ რამე გეომეტრია. - - + + Cannot add a perpendicularity constraint at an unconnected point! დაუკავშირებელ წერტილზე მართობული შეზღუდვის დამატება შეუძლებელია! - - - + + + Perpendicular to B-spline edge currently unsupported. მართობი B-სპლაინის წიბოზე ჯერ მხარდაჭერილი არაა. - - + + One of the selected edges should be a line. ერთი მონიშნული წიბოებიდან ხაზი უნდა იყოს. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. ბოლო წერტილიდან წერტილამდე მხები გადატარებულია. დამთხვევის შეზღუდვა წაშლილია. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. ბოლო წერტილიდან წიბომდე მხები გადატარებულია. წერტილი ობიექტის შეზღუდვაზე წაშლილია. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2836,179 +2956,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c მხარდაჭერილი კომბინაციებია: ორი მრუდი; ან ბოლო წერტილი და მრუდი; ან ორი ბოლო წერტილი; ან ორი მრუდი და წერტილი. - + Select some geometry from the sketch. tangent constraint ესკიზიდან მონიშნეთ რამე გეომეტრია. - - - + + + Cannot add a tangency constraint at an unconnected point! დაუკავშირებელ წერტილზე მხების შეზღუდვის დამატება შეუძლებელია! - - + + Tangent constraint at B-spline knot is only supported with lines! მხების მზღუდავი B-სპლაინის კვანძთან მხოლოდ ხაზებითაა მხარდაჭერილი! - + B-spline knot to endpoint tangency was applied instead. სამაგიეროდ გამოყენებულია B-სპლაინის კვანძიდან ბოლო წერტილის მხებამდე. - + Select either one point and several curves, or one curve and several points. აირჩიეთ ან ერთი წერტილი და რამდენიმე მრუდი ან ერთ მრუდი და რამდენიმე წერტილი. - - + + Wrong number of selected objects! მონიშნული ობიექტების არასწორი რაოდენობა! - - + + With 3 objects, there must be 2 curves and 1 point. 3 ობიექტით უნდა იყოს 2 მრუდი და 1 წერტილი. - - - + + + Tangency to B-spline edge currently unsupported. მხების B-სპლაინის წიბომდე ჯერ მხარდაუჭერელია. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. აირჩიეთ ერთი ან მეტი რკალი ან წრეწირი ესკიზიდან. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. ესკიზიდან მონიშნეთ მხოლოდ ერთი ან მეტი B-სპლაინი, რკალები ან წრეწირები, მაგრამ ტიპებს ნუ შეურევთ. - - - + + + Constraint only applies to arcs or circles. შეზღუდვები ეხებამხოლოდ რკალებს და წრეწირებს. - - + + Select one or two lines from the sketch. Or select two edges and a point. ესკიზიდან მონიშნეთ ერთი ან ორი ხაზი ან მონიშნეთ ორი წიბო და წერტილი. - - + + Parallel lines პარალელური ხაზები - - + + An angle constraint cannot be set for two parallel lines. კუთხის შეზღუდვის დაყენება პარალელური ხაზებისთვის შეუძლებელია. - + Cannot add an angle constraint on an axis! ღერძზე კუთხის შეზღუდვის დაწესება შეუძლებელია! - + Select two edges from the sketch. მონიშეთ ორი წიბო ესკიზიდან. - + Select two or more compatible edges. მონიშნეთ ორი ან მეტი თავსებადი წიბო. - + Sketch axes cannot be used in equality constraints. ესკიზის ღერძები არ შეიძლება გამოყენებულ იქნას თანასწორობის შეზღუდვაში. - + Equality for B-spline edge currently unsupported. B-სპლაინის წიბოსთვის თანასწორობა ჯერ მხარდაუჭერელია. - - - + + + + Select two or more edges of similar type. მონიშნეთ ორი ან მეტი ერთნაირი ტიპის წიბო. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. ესკიზზე მონიშნეთ ორი წერტილი და სიმეტრიის ხაზი, ან ორი წერტილი და სიმეტრიის წერტილი ან ხაზი და სიმეტრიის წერტილი. - - + + Cannot add a symmetry constraint between a line and its end points. არ შეიძლება სიმეტრიის შეზღუდვის დამატება ხაზსა და მის ბოლო წერტილებს შორის. - - + + + + Cannot add a symmetry constraint between a line and its end points! არ შეიძლება სიმეტრიის შეზღუდვის დამატება ხაზსა და მის ბოლო წერტილებს შორის! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw აირჩიეთ ხაზის ორი ბოლოწერტილები, რომლებსაც სხივის როლში შეუძლიათ გამოსვლა და წიბო, რომელიც ზღვარს წრმოადგენს. პირველი მონიშნული წერტილი შეესაბამება ინდექსს n1, მეორე n2 და მიბმის მნიშვნელობა შესატყვისობას n2/n1-ზე აყენებს. - + Selected objects are not just geometry from one sketch. მონიშნული ობიექტები არ წარმოადგენენ მხოლიდ გეომეტრიებს ერთი ესკიზიდან. - + Cannot create constraint with external geometry only. შეუძლებელია შეზღუდვის შექმნა მხოლოდ გარე გეომეტრიით. - + Incompatible geometry is selected. არჩეულია შეუთავსებელი გეომეტრია. - + SnellsLaw on B-spline edge is currently unsupported. სნელის კანონი B-სპლაინის წიბოზე ჯერ მხარდაჭერილი არაა. - - - - - + + + + + Select constraints from the sketch. აირჩიეთ შეზღუდვები ესკიზიდან. @@ -3030,155 +3153,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c აღწერეთ B-სპლაინის კუთხე, 1-დან %1-მდე: + + - - CAD Kernel Error CAD-ის ბირთვის შეცდომა - + None of the selected elements is an edge. არცერთი მონიშნული ელემენტი წიბო არაა. - - + + At least one of the selected objects was not a B-Spline and was ignored. სულ ცოტა ერთი ობიექტი არ წარმოადგენდა B-სპლაინს და იგნორირებული იყო. - - + + The selection comprises more than one item. Please select just one knot. მონიშნული ერთზე მეტი ელემენტისგან შედგება. აირჩიეთ მხოლოდ ერთი კვანძი. - - + + Input Error შეყვანის შეცდომა - - + + None of the selected elements is a knot of a B-spline არცერთი არჩეული ელემენტი არ არის B-სპლაინის კვანძი - - + + Selection is empty მონიშნული ცარიელია - + Nothing is selected. Please select a b-spline. არაფერია მონიშნული. აირჩიეთ B-სპლაინი. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. აირჩიეთ B-სპლაინის მრუდი კვანძის ჩასასმელად (და არა კვანძზე დასასმელად). თუ მრუდი B-სპლაინი არა, ჯერ გადააკეთეთ. - + Nothing is selected. Please select end points of curves. არაფერი მოგინიშნავთ. მონიშნეთ მრუდების ბოლო წერტილები. - + Too many curves on point წერტილზე მეტისმეტად ბევრიმრუდია - - + + Exactly two curves should end at the selected point to be able to join them. იმისათვის, რომ შეგეძლოთ მათი შეერთება, აუცილებელია, ერთ წერტილში ზუსტად ორი მრუდი სრულდებოდეს. - + Too few curves on point წერტილზე მეტისმეტად ცოტა მრუდია - + Two end points, or coincident point should be selected. არჩეული უნდა იყოს ორი ბოლო წერტილი ან დამთხვევის წერტილი. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. მონიშნეთ ელემენტები მხოლოდ ერთი ესკიზიდან. - + No constraint selected შეზღუდვა არჩეული არაა - + At least one constraint must be selected მონიშნული უნდა იყოს ერთი შეზღუდვა მაინც - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. სიმეტრიული კონსტრუქცია მოითხოვს სულ ცოტა 2 გეომეტრიულ ელემენტს, საიდანაც ერთი მაინც სიმეტრიის აშენების მიბმას წარმოადგენს. - + The last element must be a point or a line serving as reference for the symmetry construction. ბოლო ელემენტი უნდა იყოს წერტილი ან ხაზი, რომელიც სიმეტრიის აგების მიმართვად გამოიყენება. - - + + A copy requires at least one selected non-external geometric element ასლი მოითხოვს მინიმუმ ერთ მონიშნულ არაგარე გეომეტრიულ ელემენტს - + Delete All Geometry მთელი გეომეტრიის წაშლა - + Are you really sure you want to delete all geometry and constraints? ნამდვილად გნებავთ ყველა გეომეტრიის და შეზღუდვის წაშლა? - + Delete All Constraints ყველა შეზღუდვის წაშლა - + Are you really sure you want to delete all the constraints? ნამდვილად გნებავთ ყველა შეზღუდვის წაშლა? - + Removal of axes alignment requires at least one selected non-external geometric element სწორების ღერძის წაშლას სულ ერთი მონიშნული არა-გარე გეომეტრიული ელემენტი სჭირდება - + Unsupported visual layer operation მხარდაუჭერელი ვიზუალური ფენის ოპერაცია - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted გარე გეომეტრიის სხვა ვიზუალურ ფენაზე გადატანა ამჟამად მხარდაჭერილი არაა. გარე გეომეტრია გამოტოვებული იქნება @@ -3256,7 +3379,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Coincident - Coincident + დამთხვევა @@ -3266,27 +3389,27 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Vertical - ვერტიკალურად + შვეული Horizontal - ჰორიზონტალურად + თარაზული Parallel - Parallel + პარალელურად Perpendicular - Perpendicular + შვეული Tangent - მხები + ტანგენსი @@ -3301,7 +3424,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Block - ბლოკი + დაბლოკვა @@ -3326,7 +3449,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Distance - Distance + დაშორება @@ -3336,7 +3459,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Weight - სისქე + სიმძიმე @@ -3361,7 +3484,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Reference - ბმა + მითითება @@ -3377,67 +3500,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements აირჩიეთ ელემენტები - + Change value მნიშვნელობის შეცვლა - + Toggle to/from reference ბმულის წყაროსა და დანიშნულების ადგილების შეცვლა - + Deactivate დეაქტივაცია - + Activate გააქტიურება - + Show constraints შეზღუდვების ჩვენება - + Hide constraints შეზღუდვების დამალვა - + Rename - სახელის გადარქმევა + გადარქმევა - + Center sketch ესკიზის ცენტრზე სწორება - + Delete წაშლა - + Swap constraint names შეზღუდვების სახელების მიმოცვლა - + Unnamed constraint უსახელო შეზღუდვა - + Only the names of named constraints can be swapped. მხოლოდ დასახელებული შეზღუდვების სახელები შეიძლება მიმოიცვალოს. @@ -3445,74 +3568,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle შეიყვანეთ კუთხე - + Angle: კუთხე: - + Insert radius შეიყვანეთ რადიუსი - + Radius: რადიუსი: - + Insert diameter შეიყვანეთ დიამეტრი - + Diameter: დიამეტრი: - + Insert weight სიმძიმის ჩასმა - + Weight: წონა: - + Refractive index ratio Constraint_SnellsLaw გარდატეხვის მაჩვენებლების ფარდობა - + Ratio n2/n1: Constraint_SnellsLaw N2/n1 ფარდობა: - + Insert length შეიყვანეთ სიგრძე - + Length: - Length: + სიგრძე: - + Refractive index ratio გარდატეხვის მაჩვენებლების ფარდობა - + Ratio n2/n1: N2/n1 ფარდობა: @@ -3520,72 +3643,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal ნორმალური - + Construction - კონსტრუქცია + მშენებლობა - + Internal შიდა - + External გარე - + All types ყველა ტიპი - + Point წერტილი - + Line ხაზი - + Circle წრე - + Ellipse ოვალი - + Arc of circle წრეწირის რკალი - + Arc of ellipse ოვალის რკალი - + Arc of hyperbola ჰიპერბოლის რკალი - + Arc of parabola პარაბოლის რკალი - + B-Spline B-სპლაინი @@ -3593,142 +3716,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence წერტილის დამთხვევა - + Point on Object ობიექტზე მითითება - + Vertical Constraint ვერტიკალური შეზღუდვა - + Horizontal Constraint ჰორიზონტალურობის შეზღუდვა - + Parallel Constraint პარალელურობის შეზღუდვა - + Perpendicular Constraint მართკუთხა შეზღუდვა - + Tangent Constraint მხების შეზღუდვა - + Equal Length თანაბარი სიგრძე - + Symmetric სიმეტრიული - + Block Constraint შეზღუდვის დაბლოკვა - + Lock Constraint შეზღუდვის ჩაკეტვა - + Horizontal Distance ჰორიზონტალური მანძილი - + Vertical Distance ვერტიკალური დაშორება - + Length Constraint სიგრძის შეზღუდვა - + Radius Constraint რადიუსის შეზღუდვა - + Diameter Constraint დიამეტრის შეზღუდვა - + Radiam Constraint რადიამის შეზღუდვა - + Angle Constraint კუთხის შეზღუდვა - + Toggle construction geometry მშენებლობითი გეომეტრიის ჩართ/გამორთ - + Select Constraints აირჩიეთ შეზღუდვები - + Select Origin აირჩიეთ წყარო - + Select Horizontal Axis აირჩიეთ ჰორიზონტალური ღერძი - + Select Vertical Axis ვერტიკალური ღერძის არჩევა - + Layer ფენა - + Layer 0 ფენა 0 - + Layer 1 ფენა 1 - + Hidden დამალული - + Delete წაშლა @@ -3901,7 +4024,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c If selected, each element in the array is constrained with respect to the others using construction lines - თუ ჩარტულია, მასივის თითოეული ელემენტი შეიზღუდება სხვა + თუ ჩარტულია, მასივის თითოეული ელემენტი შეიზღუდება სხვა ელემენტებთან შედარებით, მშენებლობის ხაზების გამოეყენებით @@ -3919,7 +4042,7 @@ reflected on copies Clone - ასლი + კლონი @@ -3952,7 +4075,7 @@ reflected on copies Sketcher dialog will have additional section 'Advanced solver control' to adjust solver settings - ესკიზის ფანჯარას ამომხსნელის მოსარგებად ექნება + ესკიზის ფანჯარას ამომხსნელის მოსარგებად ექნება დამატებითი სექცია 'ამომხსნელის დამატებითი პარამეტრები' @@ -4012,13 +4135,82 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions შეტყობინებები შეზღუდვების ავტომატური ცვლილებების შესახებ + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + ორივე + + + + Auto + ავტო + + + + Diameter + დიამეტრი + + + + Radius + რადიუსი + SketcherGui::SketcherSettingsColors Colors - ფერით მონიშვნა + ფერები @@ -4092,7 +4284,7 @@ Requires to re-enter edit mode to take effect. Vertex - Vertex + წვერო @@ -4192,7 +4384,7 @@ Requires to re-enter edit mode to take effect. Reference constraint - Reference constraint + მიმართვის შეზღუდვა @@ -4240,7 +4432,7 @@ Requires to re-enter edit mode to take effect. Display - ეკრანი + ჩვენება @@ -4352,7 +4544,7 @@ Defaults to: %N = %V %N - name parameter %V - dimension value ზომის შეზღუდვის სტრიქონის წარმოდგენის ფორმატი. -ნაგულისხმები: %N = %V +ნაგულიხმევი: %N = %V %N - სახელის პარამეტრი %V - ზომის მნიშვნელობა @@ -4457,12 +4649,12 @@ Then objects are only visible behind the sketch plane. არსებული ესკიზებზე გადატარება - + Unexpected C++ exception C++-ის გაუთვალისწინებელი შეცდომა - + Sketcher ესკიზმქმნელი @@ -4632,51 +4824,51 @@ However, no constraints linking to the endpoints were found. Settings - გამართვა + მორგება - + Constraints Constraints - + Auto constraints ავტომატური შეზღუდვები - + Auto remove redundants დამატებითების ავტომატური წაშლა - + Show only filtered Constraints მხოლოდ გაფილტრული შეზღუდვების ჩვენება - + Extended information (in widget) დამატებითი ინფორმაცია (ვიჯეტში) - + Hide internal alignment (in widget) შიდა სწორების დამალვა (ვიჯეტში) - - + + Error შეცდომა - + Impossible to update visibility tracking ხილვადობის ტრეკინგის განახლება შეუძლებელია - + Impossible to update visibility tracking: ხილვადობის ტრეკინგის განახლება შეუძლებელია: @@ -4708,6 +4900,33 @@ However, no constraints linking to the endpoints were found. Settings გამართვა + + + + + + + + + + + + Construction + კონსტრუქცია + + + + Elements + ელემენტები + + + + + + + Point + წერტილი + @@ -4719,110 +4938,83 @@ However, no constraints linking to the endpoints were found. - Construction - კონსტრუქცია - - - - Elements - ელემენტები - - - - - - - Point - წერტილი - - - - - - - - - - - - Internal შიდა - - + + + - Line ხაზი - - + + + - Arc რკალი - - + + + - Circle წრე - - + + + - Ellipse ოვალი - - + + + - Elliptical Arc ელიფსის რკალი - - + + + - Hyperbolic Arc ჰიპერბოლური რკალი - - + + + - Parabolic Arc პარაბოლური რკალი - - + + + - BSpline BSpline - - + + + - Other სხვა - + Extended information მეტი ინფორმაცია @@ -4830,42 +5022,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages ამომხსნელის შეტყობინებები - + Auto update ავტო–განახლება - + Executes a recomputation of active document after every sketch action ახორციელებს აქტიური დოკუმენტის ხელახალი გამოთვლას ესკიზის ყოველი მოქმედების შემდეგ - + Click to select the conflicting constraints. დააწკაპუნეთ კონფლიქტური შეზღუდვების მოსანიშნად. - + Click to select the redundant constraints. დააწკაპუნეთ დამატებითი შეზღუდვების მოსანიშნად. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. ესკიზს გააჩნია შეუზღუდავი ობიექტები, როლებიც თავისუფლების დონეებს ბადებს. დააწკაპუნეთ შეუზღუდავი ელემენტების მოსანიშნად. - + Click to select the malformed constraints. დააწკაპუნეთ არასწორად ჩამოყალიბებული შეზღუდვების მოსანიშნად. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. ზოგიერთი შეზღუდვა კომბინაციაში ნაწილობრივ დამატებითია. დააწკაპუნეთ ნაწილობრივ დამატებითი შეზღუდვების მოსანიშნად. @@ -5043,112 +5235,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch ესკიზის ჩასწორება - + A dialog is already open in the task panel A dialog is already open in the task panel - + Do you want to close this dialog? Do you want to close this dialog? - + Invalid sketch ესკიზი დაზიანებულია - + Do you want to open the sketch validation tool? გნებავთ ესკიზის გადამოწმების ხელსაწყოს გახსნა? - + The sketch is invalid and cannot be edited. ესკიზი არასწორია. მისი ჩასწორება შეუძლებელია. - + Please remove the following constraint: გთხოვთ, წაშალოთ შემდეგი შეზღუდვა: - + Please remove at least one of the following constraints: გთხოვთ, ამოიღოთ მინიმუმ ერთი შემდეგი შეზღუდვა: - + Please remove the following redundant constraint: გთხოვთ, წაშალოთ შემდეგი დამატებითი შეზღუდვები: - + Please remove the following redundant constraints: გთხოვთ, წაშალოთ შემდეგი დამატებითი შეზღუდვები: - + The following constraint is partially redundant: ეს შეზღუდვა ნაწილობრივ დამატებითია: - + The following constraints are partially redundant: ეს შეზღუდვები ნაწილობრივ დამატებითია: - + Please remove the following malformed constraint: გთხოვთ, წაშალოთ შემდეგი არასწორად ფორმირებული შეზღუდვა: - + Please remove the following malformed constraints: გთხოვთ, წაშალოთ შემდეგი არასწორად ფორმირებული შეზღუდვები: - + Empty sketch ცარიელი ესკიზი - + Over-constrained: ზედმეტად-შეზღუდული: - + Malformed constraints: არასწორად შექმნილი შეზღუდვები: - + Redundant constraints: დამატებითი შეზღუდვები: - + Partially redundant: ნაწილობრივ დამატებითი: - + Solver failed to converge ამომხსნელის შეცდომა შეერთების დროს - + Under constrained: საკმარისზე ნაკლებად შეზღუდული: - + %n DoF(s) %n თხ @@ -5156,7 +5348,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained სრულად შეზღუდული @@ -5164,8 +5356,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines ყველა B-სპლაინის მრუდების ჩვენების ჩართ/გამორთ @@ -5173,8 +5365,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline B-სპლაინის მონიშნული კვანძის სიმრავლის შემცირება @@ -5182,8 +5374,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines ყველა B-ს ხაზებისთვის დონის ჩვენების ჩართ/გამორთ @@ -5191,8 +5383,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline B-სპლაინის მონიშნული კვანძის სიმრავლის გაზრდა @@ -5200,8 +5392,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines ყველა B-ს ხაზებისთვის კვანძის სიმრავლის ჩვენების ჩართ/გამორთ @@ -5209,8 +5401,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines ყველა B-სპლაინების საკონტროლო წერტილის ჩვენების ჩართ/გამორთ @@ -5218,8 +5410,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines ყველა B-სპლაინის საკონტროლო მრავალკუთხედების ჩვენების ჩართ/გამორთ @@ -5227,8 +5419,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point ქმნის გეომეტრიის ასლს, საბაზისოდ ბოლოს მონიშნული წერტილით @@ -5236,17 +5428,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone ასლი - + Copy კოპირება - + Move გადატანა @@ -5254,8 +5446,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc წრის ან რკალის რადიუსის გასწორება @@ -5263,7 +5455,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc წრის ან რკალის რადიუსის/დიამეტრის გასწორება @@ -5271,8 +5463,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc წრეწირის ან რკალის რადიუსის გამუდმივება @@ -5280,7 +5472,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc წრის ან რკალის რადიუსის/დიამეტრის გასწორება @@ -5288,8 +5480,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point ქმნის გეომეტრიის მარტივ ასლს, საბაზისოდ ბოლოს მონიშნული წერტილით @@ -5508,64 +5700,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found ესკიზი ნაპოვნი არაა - + The document doesn't have a sketch დოკუმენტს ესკიზი არ გააჩნია - + Select sketch ესკიზის არჩევა - + Select a sketch from the list აირჩიეთ ესკიზი - + (incompatible with selection) (შეუთავსებელია მონიშნულთან) - + (current) (მიმდინარე) - + (suggested) (შეთავაზებული) - + Sketch attachment ჩადებული ესკიზი - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. მიმაგრების მიმდინარე რეჟიმი შეუთავსებელია ახალ მონიშნულთან. აირჩიეთ ესკიზის მონიშნულ ობიექტზე მიმაგრების მეთოდი. - + Select the method to attach this sketch to selected objects. აირჩიეთ ესკიზის მონიშნულ ობიექტებზე დამაგრების მეთოდი. - + Map sketch ესკიზის რუკა - + Can't map a sketch to support: %1 ესკიზის საყრდენზე მიბმა შეუძლებელია: @@ -5575,8 +5767,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point გეომეტრიების გადატანა ორიენტირად ბოლოს მონიშნული წერტილის გამოყენებით @@ -5584,12 +5776,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment ჩადებული ესკიზი - + Select the method to attach this sketch to selected object აირჩიეთ ესკიზის მონიშნულ ობიექტზე დამაგრების მეთოდი @@ -5597,12 +5789,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support ესკიზს აქვს საფუძველი - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? საყრდნობი ზედაპირის მქონე ესკიზის ორიენტაციის შეცვლა შეუძლებელია. @@ -5611,11 +5803,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - ფორმა - DOF @@ -5624,7 +5811,7 @@ Do you want to detach it from the support? Link - ბმა + ბმული @@ -5634,11 +5821,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - ფორმა - Default algorithm used for Sketch solving @@ -5790,7 +5972,7 @@ Eigen Sparse QR ალგორითმი ოპტიმიზებული During a QR, values under the pivot threshold are treated as zero - During a QR, values under the pivot threshold are treated as zero + QR-ის დროს მნიშვნელობები მოსახვევის საზღვრამდე ნულის ტოლად ითვლება @@ -5880,7 +6062,7 @@ Eigen Sparse QR ალგორითმი ოპტიმიზებული None - არცერთი + არაფერი @@ -5911,7 +6093,7 @@ Eigen Sparse QR ალგორითმი ოპტიმიზებული ViewProviderSketch - + and %1 more და %1 სხვა @@ -6013,7 +6195,7 @@ Eigen Sparse QR ალგორითმი ოპტიმიზებული Grid spacing - ბადის ბიჯი + ბადის დაშორება @@ -6063,7 +6245,7 @@ The grid spacing change if it becomes smaller than this number of pixel. Line pattern - Line pattern + ხაზის ნიმუში @@ -6101,22 +6283,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing ბადის ავტომატური ბიჯი - + Resize grid automatically depending on zoom. ბადის ზომების ავტომატური შეცვლა გადიდებაზე დამოკიდებულებით. - + Spacing გამოტოვება - + Distance between two subsequent grid lines. ბადის ორ მეზობელ ხაზს შორს მანძილი. @@ -6124,87 +6306,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! ესკიზი არასწორ შეზღუდვებს შეიცავს! - + The Sketch has partially redundant constraints! ესკიზი ნაწილობრივ დამატებით შეზღუდვებს შეიცავს! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! პარაბოლები მიგრირებულია. მიგრირებული ფაილები FreeCAD-ის წინა ვერსიებში არ გაიხსნება!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error შეცდომა - + Failed to delete all geometry ყველა გეომეტრიის წაშლის შეცდომა - + Failed to delete all constraints ყველა შეზღუდვის წაშლის შეცდომა - + The constraint has invalid index information and is malformed. შეზღუდვას ინდექსის ინფორმაცია არასწორია და ის მიუღებელია. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint არასწორი შეზღუდვა @@ -6246,8 +6428,8 @@ The grid spacing change if it becomes smaller than this number of pixel.B-სპლაინის პოლუსის შექმნის შეცდომა - + Error creating B-spline B-სპლაინის შექმნის შეცდომა @@ -6344,9 +6526,9 @@ The grid spacing change if it becomes smaller than this number of pixel.წიბოს წაკვეთის შეცდომა - - - + + + Value Error მნიშვნელობის შეცდომა @@ -6382,58 +6564,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects ობიექტებზე მიბმა - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. ახალი წერტლები ამჟამად წინასწარ არჩეულ ობიექტს მიემაგრება. ის ასევე მიემაგრება ხაზის შუა ადგილებს და რკალებს. - + Snap to grid ბადეზე მიმაგრება - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. ახალი წერტილები მიებმება უახლოესი ბადის ხაზს. მისაბმელად ისინი ამ უკანასკნელთან ბადის ბიჯის მეხუთედზე უფრო ახლოს უნდა იყვნენ. - + Snap angle მიბმის კუთხე - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. კუთხური ბიჯი ხელსაწყოებისთვის, როლებიც 'კუთხით მიმაგრებას' იყენებენ (მაგალითად, ხაზი). კუთხზე ესკიზის დადებითი X ღერძიდან იწყება. RenderingOrderAction - - - - - Normal Geometry - ნორმალის გეომეტრია - - Construction Geometry - კონსტრუქციის გეომეტრია + Normal Geometry + ნორმალის გეომეტრია + Construction Geometry + კონსტრუქციის გეომეტრია + + + + + External Geometry გარე გეომეტრია @@ -6454,12 +6636,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid - ბადის ჩართ/გამორთ + ბადის გადართვა - + Toggle the grid in the sketch. In the menu you can change grid settings. ესკიზში ბადის გადართვა. ბადის პარამეტრების მენიუში შეგიძლიათ, შეცვალოთ. @@ -6467,12 +6649,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap მიბმის გადართვა - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. მიბმის ყველა ფუნქციის გადართვა. 'ბადეზე მიბმის' და 'ობიექტებზე მიბმის' ინდივიდუალურად გადართვა და მიბმის სხვა პარამეტრების შეცვლა მენიუში შეგიძლიათ. @@ -6503,4 +6685,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna ესკიზში პერიოდული B-სპლაინის კვანძებით (მაგ: ინტერპოლაციით) შექმნა. + + CmdSketcherDimension + + + Dimension + ზომა + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ko.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ko.ts index 692419b39e..c25f88ae55 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ko.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ko.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb B-스플라인 곡률 빗 표시/숨기기 - + Switches between showing and hiding the curvature comb for all B-splines 모든 B-스플라인에 대한 곡률 빗 표시 및 숨기기 전환 @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree B-스플라인 차수 표시/숨기기 - + Switches between showing and hiding the degree for all B-splines 모든 B-스플라인에 대한 각도 표시 및 숨기기를 전환합니다. @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity B-스플라인 knot multiplicity 보기/숨기기 - + Switches between showing and hiding the knot multiplicity for all B-splines 모든 B-스플라인에 대한 매듭점 다중성 표시와 숨김을 전환합니다. @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight B-스플라인 제어점 가중치 보기/숨기기 - + Switches between showing and hiding the control point weight for all B-splines 모든 B-스플라인에 대한 제어점 가중치 표시와 숨김을 전환합니다. @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon B-스플라인 제어 다각형 보기/숨기기 - + Switches between showing and hiding the control polygons for all B-splines 모든 B-스플라인에 대한 제어 다각형 표시와 숨김을 전환합니다. @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone 복제 - + Creates a clone of the geometry taking as reference the last selected point 마지막에 선택한 점을 기준으로 geometry 복제합니다. @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer B-spline 정보 창 보기/숨기기 - + Show/hide B-spline degree B-스플라인 차수 표시/숨기기 - + Show/hide B-spline control polygon B-스플라인 제어 다각형 보기/숨기기 - + Show/hide B-spline curvature comb B-스플라인 곡률 빗 표시/숨기기 - + Show/hide B-spline knot multiplicity B-스플라인 knot multiplicity 보기/숨기기 - + Show/hide B-spline control point weight B-스플라인 제어점 가중치 보기/숨기기 @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle 호 또는 원 구속 - + Constrain an arc or a circle 호 또는 원을 구속함 - + Constrain radius 제약조건: 반지름 - + Constrain diameter 직경 구속 - + Constrain auto radius/diameter 자동 반지름/직경 구속 @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone 복제 - + Creates a clone of the geometry taking as reference the last selected point 마지막에 선택한 점을 기준으로 geometry 복제합니다. @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity 매듭 반복횟수(Knot multiplicity) 수정 - + Modifies the multiplicity of the selected knot of a B-spline B-spline에서 선택된 매듭의 반복횟수 수정 - + Increase knot multiplicity 매듭 반복횟수(Knot multiplicity) 증가 - + Decrease knot multiplicity 매듭 반복횟수(Knot multiplicity) 감소 @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle 제약조건: 각도 - + Fix the angle of a line or the angle between two lines 단일 선의 각도(수평축 기준) 또는 두선 사이의 각도 고정 @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block 블록 구속조건 - + Block the selected edge from moving 선택 모서리가 움직이지 않도록 차단 @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident 제약조건: 점 일치 - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses 점들 사이의 일치 구속 또는 원, 호, 타원 사이의 동심 구속을 생성함 @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter 직경 구속 - + Fix the diameter of a circle or an arc 원이나 호의 지름을 수정합니다 @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance 제약조건: 거리 - + Fix a length of a line or the distance between a line and a vertex or between two circles 선의 길이 또는 선과 꼭짓점 사이 또는 두 원 사이의 거리를 고정함 @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance 수평 거리를 구속합니다 - + Fix the horizontal distance between two points or line ends 두 점 또는 선의 수평거리 고정 @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance 수직 거리 구속 - + Fix the vertical distance between two points or line ends 두 점 또는 선의 수직거리 고정 @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal 제약조건: 동일 - + Create an equality constraint between two lines or between circles and arcs 두 선 또는 원과 원/호와 호/원과 호에 동일한 치수 부가 @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally 제약조건: 수평 - + Create a horizontal constraint on the selected item 선택한 요소를 수평하게 고정 @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock 제약조건: 고정 - + Create both a horizontal and a vertical distance constraint on the selected vertex 선택 꼭짓점에 수평 및 수직 거리 구속을 생성함 @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel 제약조건: 평행 - + Create a parallel constraint between two lines 선택한 요소(두 선)를 평행하게 고정 @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular 제약조건: 수직 - + Create a perpendicular constraint between two lines 선택한 요소(두 선)를 수직하게 고정 @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object 제약조건: 점을 선에 일치 - + Fix a point onto an object 점을 선에 일치 @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter 자동 반지름/직경 구속 - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen 원을 선택한 경우 지름을, 호/스플라인 폴을 선택한 경우 반지름을 수정합니다. @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight 반지름 또는 중량 구속 - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline 원이나 호의 반지름을 수정하거나 B-스플라인 극의 가중치를 수정합니다. @@ -584,12 +584,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. 광선의 두 끝점과 모서리 사이에 굴절 법칙(스넬의 법칙) 구속을 인터페이스interface로 생성합니다. @@ -598,12 +598,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical 제약조건: 대칭 - + Create a symmetry constraint between two points with respect to a line or a third point 선 또는 세 번째 점을 기준으로 두 점 사이에 대칭 구속조건을 생성합니다. @@ -612,12 +612,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent 제약조건: 탄젠트 - + Create a tangent constraint between two entities 두 엔티티가 서로 접하도록 고정 @@ -625,12 +625,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically 제약조건: 수직 - + Create a vertical constraint on the selected item 선택한 요소를 수직하게 고정 @@ -638,12 +638,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline 도형을 B-스플라인으로 변환 - + Converts the selected geometry to a B-spline 선택한 도형을 B-spline으로 변환하기 @@ -651,12 +651,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy 복사하기 - + Creates a simple copy of the geometry taking as reference the last selected point 마지막에 선택한 점을 기준으로 geometry 복사합니다. @@ -1015,12 +1015,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree B-스플라인 각도 감소 - + Decreases the degree of the B-spline B-스플라인의 각도를 감소시킴 @@ -1028,12 +1028,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity 매듭 반복횟수(Knot multiplicity) 감소 - + Decreases the multiplicity of the selected knot of a B-spline B-spline의 선택된 매듭의 반복횟수 감소 @@ -1041,12 +1041,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints 모든 제약 제거 - + Delete all constraints in the sketch 스케치의 모든 제약 제거 @@ -1054,12 +1054,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry 모든 형상 제거 - + Delete all geometry and constraints in the current sketch, with the exception of external geometry 현재 스케치에서 외부 형상을 제외한 모든 형상과 제약 제거하기 @@ -1067,12 +1067,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch 스케치 수정 - + Edit the selected sketch. 선택한 스케치 편집 @@ -1106,12 +1106,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree B-스플라인 각도 증가 - + Increases the degree of the B-spline B-스플라인의 각도를 증가시킴 @@ -1119,12 +1119,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity 매듭 반복횟수(Knot multiplicity) 증가 - + Increases the multiplicity of the selected knot of a B-spline B-스플라인의 선택된 매듭의 다중도를 증가시킴 @@ -1132,12 +1132,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot 매듭 삽입 - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. 주어진 매개변수에 매듭을 삽입합니다. 해당 매개변수에 매듭이 이미 있는 경우, 매듭의 다중도가 1씩 증가됩니다. @@ -1145,12 +1145,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves 곡선을 결합합니다 - + Join two curves at selected end points 선택된 끝점에 두 곡선을 결합합니다 @@ -1158,12 +1158,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch 스케치 닫기 - + Finish editing the active sketch. 활성 스케치의 편집을 끝냅니다. @@ -1171,12 +1171,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... 스케치를 면에 투영... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1185,7 +1185,7 @@ then call this command, then choose the desired sketch. 이 명령을 호출하고, 원하는 스케치를 선택함. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. 선택한 객체 중 일부는 매핑할 스케치에 종속되어 있음. 순환 종속성은 허용되지 않음. @@ -1193,22 +1193,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches 스케치 병합 - + Create a new sketch from merging two or more selected sketches. 선택한 두 개 이상의 스케치를 병합하여 새 스케치를 만듭니다. - + Wrong selection 잘못 된 선택 - + Select at least two sketches. 최소한 두 개의 스케치를 선택합니다. @@ -1216,24 +1216,24 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch 스케치 투영 - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. X 또는 Y 축 또는 원점을 미러링 기준으로 하여, 선택한 각 스케치에 대해 미러링된 새 스케치를 만듭니다. - + Wrong selection 잘못 된 선택 - + Select one or more sketches. 하나 이상의 스케치를 선택합니다. @@ -1241,12 +1241,12 @@ as mirroring reference. CmdSketcherMove - + Move 이동 - + Moves the geometry taking as reference the last selected point 마지막으로 선택한 점을 기준으로 도형을 이동합니다. @@ -1254,12 +1254,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch 스케치 생성 - + Create a new sketch. 새 스케치를 생성합니다. @@ -1267,12 +1267,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array 직사각형 배열 - + Creates a rectangular array pattern of the geometry taking as reference the last selected point 마지막으로 선택한 점을 기준으로 도형의 직사각형 배열 패턴을 생성합니다. @@ -1280,12 +1280,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment 축 정렬을 제거합니다. - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection 선택의 구속 관계를 유지하면서 축 정렬을 제거하도록 구속을 수정합니다. @@ -1293,12 +1293,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... 스케치 방향 재설정... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. 선택한 스케치를 전역 좌표평면 중 하나에 배치합니다. @@ -1308,12 +1308,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry 내부 geometry 보기/숨기기 - + Show all internal geometry or hide unused internal geometry 모든 내부 도형을 보거나 또는 사용하지 않는 내부 도형을 숨깁니다. @@ -1321,8 +1321,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints 충돌하는 구속을 선택합니다. @@ -1330,12 +1330,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints 관련 구속을 선택합니다. - + Select the constraints associated with the selected geometrical elements 선택한 기하학적 요소와 관련된 구속을 선택합니다. @@ -1343,12 +1343,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry 관련된 도형을 선택합니다. - + Select the geometrical elements associated with the selected constraints 선택한 구속과 관련된 기하학적 요소를 선택합니다. @@ -1356,12 +1356,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF 구속되지 않은 자유도DoF를 선택합니다 - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. 솔버solver가 여전히 구속되지 않은 자유도DoF를 감지한 곳의 기하학적 요소를 선택합니다. @@ -1369,12 +1369,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis 수평 축을 선택합니다. - + Select the local horizontal axis of the sketch 스케치의 수평 축을 선택합니다. @@ -1382,8 +1382,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints 잘못된 구속을 선택합니다. @@ -1391,12 +1391,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin 원점을 선택합니다. - + Select the local origin point of the sketch 스케치의 지역 원점을 선택합니다. @@ -1404,8 +1404,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints 부분적으로 중복되는 구속을 선택합니다. @@ -1413,8 +1413,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints 중복되는 구속을 선택합니다. @@ -1422,12 +1422,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis 수직 축을 선택합니다. - + Select the local vertical axis of the sketch 스케치의 지역 수직 축을 선택합니다. @@ -1448,12 +1448,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation 작동을 중지합니다. - + When in edit mode, stop the active operation (drawing, constraining, etc.). 편집 모드에 있는 경우, 활성 작업(그리기, 구속 등) 을 중지합니다. @@ -1474,12 +1474,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry 대칭 - + Creates symmetric geometry with respect to the last selected line or point 마지막으로 선택된 선이나 점을 기준으로 대칭 geometry를 생성합니다. @@ -1487,12 +1487,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint 구속을 활성화/비활성화합니다. - + Activates or deactivates the selected constraints 선택한 구속을 활성화하거나 비활성화합니다. @@ -1513,12 +1513,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint 구동driving/참조reference 구속을 전환합니다. - + Set the toolbar, or the selected constraints, into driving or reference mode 도구 모음 또는 선택한 제약 조건을 주행 또는 참조 모드로 설정합니다 @@ -1540,23 +1540,23 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... 스케치 검증... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. 누락된 일치, 무효한 구속, 변형된 도형 등을 확인하여 스케치의 유효성을 검사합니다. - + Wrong selection 잘못 된 선택 - + Select only one sketch. 단 하나의 스케치를 선택합니다. @@ -1564,12 +1564,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section 단면 보기 - + When in edit mode, switch between section view and full view. 편집 모드에 있을 때, 단면 보기와 전체 보기 간에 전환합니다. @@ -1577,12 +1577,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch 스케치 면에 수직 보기 - + When in edit mode, set the camera orientation perpendicular to the sketch plane. 편집 모드에 있을 때, 카메라 방향을 스케치 평면에 수직으로 설정합니다. @@ -1590,287 +1590,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint 수평 구속을 추가합니다 - - - + + + Add horizontal alignment 수평 정렬을 추가합니다 - - + + Add vertical constraint 수직 구속을 추가합니다 - + Add vertical alignment 수직 정렬을 추가합니다 - + Add 'Lock' constraint '잠금' 구속을 추가합니다 - + Add relative 'Lock' constraint 상대적 '잠금' 구속을 추가합니다 - + Add fixed constraint 고정fixed 구속을 추가합니다 - + Add 'Block' constraint 'Block' 구속을 추가합니다 - + Add block constraint Block 구속을 추가합니다 - - - + + + Add coincident constraint 일치 구속을 추가합니다 - - + + Add distance from horizontal axis constraint 수평축 구속에서 거리 추가하기 - - + + Add distance from vertical axis constraint 수직축 구속에서 거리 추가하기 - - + + Add point to point distance constraint 점에서 점까지 거리 구속 추가하기 - - + + + Add point to line Distance constraint 점에서 선까지 거리 구속 추가하기 - - + + Add circle to circle distance constraint 원에서 원까지 거리 구속 추가하기 - + Add circle to line distance constraint 원에서 선까지 거리 구속 추가하기 - - + + + + + Add length constraint 길이 구속 추가하기 - - + + + Dimension + 치수 + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint 점에서 개체까지 구속 추가하기 - - + + Add point to point horizontal distance constraint 점에서 점까지 수평 거리 구속 추가하기 - + Add fixed x-coordinate constraint 고정 x-좌표 구속 추가하기 - - + + Add point to point vertical distance constraint 점에서 점까지 수직 거리 구속 추가하기 - + Add fixed y-coordinate constraint 고정 y-좌표 구속 추가하기 - - + + Add parallel constraint 평행 구속 추가하기 - - - - - - - + + + + + + + Add perpendicular constraint 수직 구속 추가하기 - + Add perpendicularity constraint 수직도 구속 추가하기 - + Swap coincident+tangency with ptp tangency 일치+접선을 ptp 접선으로 바꾸기 - + Swap PointOnObject+tangency with point to curve tangency Swap PointOnObject+tangency with point to curve tangency - - - - - - - + + + + + + + Add tangent constraint 접선 구속 추가하기 - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point 접선구속 점 추가하기 - - - - + + + + Add radius constraint 반경 구속 추가하기 - - - - + + + + Add diameter constraint 직경 구속 추가하기 - - - - + + + + Add radiam constraint Add radiam constraint - - - - - - + + + + + + Add angle constraint 각도 구속 추가하기 - - + + Add equality constraint 동일 구속 추가하기 - - - - - + + + + + Add symmetric constraint 대칭 구속 추가하기 - + Add Snell's law constraint 스넬의 법칙 구속 추가하기 - + Toggle constraint to driving/reference 구동/참조 구속을 전환하기 - + Activate/Deactivate constraint 구속을 활성화/비활성화하기 - + Create a new sketch on a face 면에 새 스케치 생성하기 - + Create a new sketch 새로운 스케치 생성 - + Reorient sketch 스케치 방향 변경 - + Attach sketch 스케치 부착하기 - + Detach sketch 스케치 분리하기 - + Create a mirrored sketch for each selected sketch 각 선택된 스케치에 대한 거울상 스케치 생성하기 - + Merge sketches 스케치 병합 @@ -1988,72 +2105,72 @@ invalid constraints, degenerated geometry, etc. 육각형 추가하기 - + Convert to NURBS NURBS로 변환하기 - + Increase spline degree 스플라인 각도 증가하기 - + Decrease spline degree 스플라인 각도 감소하기 - + Increase knot multiplicity 매듭 반복횟수(Knot multiplicity) 증가 - + Decrease knot multiplicity 매듭 반복횟수(Knot multiplicity) 감소 - + Insert knot 매듭 삽입 - + Join Curves 곡선 결합하기 - + Exposing Internal Geometry 내부 형상 노출 - + Create symmetric geometry 대칭 형상 생성하기 - + Copy/clone/move geometry 형상 복사/복제/이동하기 - + Create copy of geometry 형상의 복사본 생성하기 - + Delete all geometry 모든 형상 제거 - + Delete All Constraints Delete All Constraints - + Remove Axes Alignment 축 정렬 제거하기 @@ -2064,44 +2181,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space 구속의 가상 공간을 업데이트하기 - + Add auto constraints 자동 구속 추가하기 - + Swap constraint names 제약조건 이름 변경 - + Rename sketch constraint 스케치 구속 이름 바꾸기 - + Drag Point 점 끌기 - + Drag Curve 곡선 끌기 - + Drag Constraint 구속 끌기 - + Modify sketch constraints 스케치 구속 수정하기 @@ -2162,59 +2279,59 @@ invalid constraints, degenerated geometry, etc. 자동구속 오류: 동일 구속 적용 후 해결할 수 없는 스케치 - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. 곡선의 교차점을 추정할 수 없습니다. 모깎기 하려는 곡선의 정점들 사이에 일치 구속을 추가해 보십시오. - - + + BSpline Geometry Index (GeoID) is out of bounds. B스플라인 형상 인덱스(GeoID) 가 범위를 벗어났습니다. - + You are requesting no change in knot multiplicity. 매듭점 다중성에 대한 변경을 요청하지 않으셨습니다. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. 제공된 형상 지수(GeoId) 는 B-스플라인 곡선이 아닙니다. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. 매듭 지수가 범위를 벗어났습니다. OCC 표기법에 따라 첫 번째 매듭은 0이 아닌 지수 1을 가집니다. - + The multiplicity cannot be increased beyond the degree of the B-spline. 다중도는 B-스플라인의 정도 이상으로 증가할 수 없습니다. - + The multiplicity cannot be decreased beyond zero. 다중도는 0 이상으로 감소할 수 없습니다. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC는 최대 공차 내에서 다중도를 감소시킬 수 없습니다. - + Knot cannot have zero multiplicity. 매듭은 0개의 다중도를 가질 수 없습니다. - + Knot multiplicity cannot be higher than the degree of the BSpline. 매듭 다중도는 B스플라인의 정도보다 높을 수 없습니다. - + Knot cannot be inserted outside the BSpline parameter range. 매듭은 B스플라인 매개변수 범위 밖에서 삽입할 수 없습니다. @@ -2230,210 +2347,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher 스케쳐 - + There are no modes that accept the selected set of subelements 선택된 하위 요소 집합을 허용하는 모드가 없습니다. - + Broken link to support subelements 지원 하위요소에 대한 링크가 끊어짐 - - + + Unexpected error 예기치 않은 오류 - + Face is non-planar 평면이 아닙니다. - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) 잘못된 형식의 도형이 선택되었습니다.(e.g., 직선이 필요하지만 곡선을 선택함.) - + Sketch mapping 스케치 매핑 - + Can't map the sketch to selected object. %1. 선택된 객체에 스케치를 매핑할 수 없습니다. %1 - - + + Don't attach 첨부하지 마세요. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection 잘못 된 선택 @@ -2444,339 +2564,339 @@ invalid constraints, degenerated geometry, etc. 스케치에서 여러 선을 선택하세요. - + Not allowed to edit the datum because the sketch contains conflicting constraints 스케치에 충돌하는 제약조건이 포함되어 데이텀(datum)을 수정할 수 없습니다. - + Dimensional constraint 치수 제약조건 - + Cannot add a constraint between two external geometries. 두 외부 형상 사이에 구속을 추가할 수 없습니다. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. 두 고정 형상 사이의 구속을 추가할 수 없습니다. 고정 형상에는 외부 형상, 블럭화된 형상 및 B-스플라인 매듭점과 같은 특별한 점이 포함됩니다. - + Sketcher Constraint Substitution 스케쳐 구속 대체 - + Keep notifying me of constraint substitutions 구속 대체를 계속 알림 - - - + + + Only sketch and its support are allowed to be selected. 스케치와 그 지원만 선택할 수 있습니다. - + One of the selected has to be on the sketch. 선택한 항목 중 하나가 스케치에 있어야 합니다. - - + + Select an edge from the sketch. 스케치에서 하나의 모서리를 선택하세요. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint 불가능한 제약조건입니다. - - - - + + + + The selected edge is not a line segment. 선택한 모서리가 선분이 아닙니다. - - - - - - + + + + + + Double constraint 이중 제약조건 - - - - - + + + + + The selected edge already has a horizontal constraint! 선택한 모서리에 이미 수평 구속이 있습니다! - - - + + + The selected edge already has a vertical constraint! The selected edge already has a vertical constraint! - - - - - - + + + + + + The selected edge already has a Block constraint! The selected edge already has a Block constraint! - + The selected item(s) can't accept a horizontal constraint! 선택된 요소(들)은 수평 제약조건을 적용할 수 없습니다. - - + + There are more than one fixed points selected. Select a maximum of one fixed point! There are more than one fixed points selected. Select a maximum of one fixed point! - + The selected item(s) can't accept a vertical constraint! 선택된 요소(들)은 수직 제약조건을 적용할 수 없습니다. - - - + + + Select vertices from the sketch. 두개 이상의 점을 선택하세요. - + Select one vertex from the sketch other than the origin. 스케치에서 원점이 아닌 다른 점을 선택하세요. - + Select only vertices from the sketch. The last selected vertex may be the origin. 오직 점만 선택이 가능합니다. 마지막에 선택은 원점이어야 합니다. - + Wrong solver status Wrong solver status - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. - + Select one edge from the sketch. Select one edge from the sketch. - + Select only edges from the sketch. Select only edges from the sketch. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error 에러 - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. Endpoint to endpoint tangency was applied instead. - + Select two or more points from the sketch. 두개 이상의 점을 선택하세요. - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. 한 직선 또는 한 점, 한 직선 또는 두 점을 선택하세요. - + Cannot add a length constraint on an axis! 축에는 길이 제약조건을 적용할 수 없습니다! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. 적절한 것을 선택하세요. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. 선택된 점들은 동일한 element에 속해 있거나 외부 geometry이므로 해당 곡선에 제약조건이 적용되지 않았습니다. - - - - + + + + Select exactly one line or up to two points from the sketch. 한 직선 또는 최대 2개의 점을 선택하세요. - + Cannot add a horizontal length constraint on an axis! 축에는 수평 길이 제약조건을 적용할 수 없습니다! - + Cannot add a fixed x-coordinate constraint on the origin point! Cannot add a fixed x-coordinate constraint on the origin point! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! 축에는 수직 길이 제약조건을 적용할 수 없습니다! - + Cannot add a fixed y-coordinate constraint on the origin point! Cannot add a fixed y-coordinate constraint on the origin point! - + Select two or more lines from the sketch. 두개 이상의 직선을 선택하세요. - - + + Select at least two lines from the sketch. 최소한 두개 이상의 직선을 선택하세요. - + Select a valid line. Select a valid line. - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2786,42 +2906,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c 사용가능한 조합: 두개의 곡선, 끝점과 곡선, 두개의 끝점, 두개의 곡선과 한 점. - + Select some geometry from the sketch. perpendicular constraint 스케치에서 geometry를 선택하세요. - - + + Cannot add a perpendicularity constraint at an unconnected point! 연결되지 않은 점에 대하여 수직 제약조건을 적용할 수 없습니다! - - - + + + Perpendicular to B-spline edge currently unsupported. Perpendicular to B-spline edge currently unsupported. - - + + One of the selected edges should be a line. 선택된 선중 하나는 직선이어야 합니다. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Endpoint to endpoint tangency was applied. The coincident constraint was deleted. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2831,179 +2951,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c 사용가능한 조합: 두개의 곡선, 끝점과 곡선, 두개의 끝점, 두개의 곡선과 한 점. - + Select some geometry from the sketch. tangent constraint 스케치에서 geometry를 선택하세요. - - - + + + Cannot add a tangency constraint at an unconnected point! 연결되지 않은 점에 대하여 탄젠트 제약조건을 적용할 수 없습니다! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! 선택한 객체의 갯수가 잘못되었습니다! - - + + With 3 objects, there must be 2 curves and 1 point. 3개의 객체(2개의 곡선과 1개의 점)가 있어야합니다. - - - + + + Tangency to B-spline edge currently unsupported. Tangency to B-spline edge currently unsupported. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. 하나 이상의 호나 원을 선택하세요. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. - - - + + + Constraint only applies to arcs or circles. 호 또는 원에만 적용 가능한 제약조건입니다. - - + + Select one or two lines from the sketch. Or select two edges and a point. 하나 이상의 직선을 선택하세요. 또는, 두개의 선과 하나의 점을 선택하세요. - - + + Parallel lines 평행 직선 - - + + An angle constraint cannot be set for two parallel lines. 각도 제약조건은 평행한 두 직선에는 적용할 수 없습니다. - + Cannot add an angle constraint on an axis! 축에는 각도 제약조건을 적용할 수 없습니다! - + Select two edges from the sketch. 두개의 선을 선택하세요. - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. Sketch axes cannot be used in equality constraints. - + Equality for B-spline edge currently unsupported. Equality for B-spline edge currently unsupported. - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. 1)두 점과 대칭선 2)두 점과 대칭 점 또는 3)하나의 선과 대칭 점을 선택하세요. - - + + Cannot add a symmetry constraint between a line and its end points. Cannot add a symmetry constraint between a line and its end points. - - + + + + Cannot add a symmetry constraint between a line and its end points! 선과 선에 포함된 점에는 대칭 제약조건을 적용할 수 없습니다! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. - + Selected objects are not just geometry from one sketch. 선택된 객체는 스케치의 geometry가 아닙니다. - + Cannot create constraint with external geometry only. Cannot create constraint with external geometry only. - + Incompatible geometry is selected. Incompatible geometry is selected. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw on B-spline edge is currently unsupported. - - - - - + + + + + Select constraints from the sketch. Select constraints from the sketch. @@ -3025,155 +3148,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error CAD 커널 에러 - + None of the selected elements is an edge. 선택된 요소에서 선이 없습니다. - - + + At least one of the selected objects was not a B-Spline and was ignored. At least one of the selected objects was not a B-Spline and was ignored. - - + + The selection comprises more than one item. Please select just one knot. The selection comprises more than one item. Please select just one knot. - - + + Input Error 입력 에러 - - + + None of the selected elements is a knot of a B-spline None of the selected elements is a knot of a B-spline - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. 하나의 스케치에서 요소를 선택하세요. - + No constraint selected 선택된 제약조건이 없습니다. - + At least one constraint must be selected 최소한 하나 이상의 제약조건을 선택하세요. - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. 대칭은 최소한 두 개의 geometric 요소가 필요하며, 마지막 geometric 요소는 대칭의 기준이 됩니다. - + The last element must be a point or a line serving as reference for the symmetry construction. 대칭의 기준이 되는 마지막 요소는 반드시 점이나 선이어야 합니다. - - + + A copy requires at least one selected non-external geometric element 복사는 최소한 하나의 선택된 외부 geometric 요소가 필요합니다. - + Delete All Geometry Delete All Geometry - + Are you really sure you want to delete all geometry and constraints? Are you really sure you want to delete all geometry and constraints? - + Delete All Constraints Delete All Constraints - + Are you really sure you want to delete all the constraints? Are you really sure you want to delete all the constraints? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3372,67 +3495,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value 값 변경 - + Toggle to/from reference 생성/레퍼런스 모드로 변경 - + Deactivate 비활성화 - + Activate 활성화 - + Show constraints Show constraints - + Hide constraints Hide constraints - + Rename 이름 바꾸기 - + Center sketch 중심 스케치 - + Delete 삭제 - + Swap constraint names 제약조건 이름 변경 - + Unnamed constraint 이름없는 제약조건 - + Only the names of named constraints can be swapped. 이름을 가지고 있는 제약조건의 이름만 바꿀 수 있습니다. @@ -3440,74 +3563,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle 각도 제약조건 - + Angle: 각도: - + Insert radius 반지름 삽입 - + Radius: 반경: - + Insert diameter Insert diameter - + Diameter: 직경: - + Insert weight Insert weight - + Weight: Weight: - + Refractive index ratio Constraint_SnellsLaw Refractive index ratio - + Ratio n2/n1: Constraint_SnellsLaw Ratio n2/n1: - + Insert length 거리 제약조건 - + Length: 길이: - + Refractive index ratio Refractive index ratio - + Ratio n2/n1: Ratio n2/n1: @@ -3515,72 +3638,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal 일반 - + Construction Construction - + Internal Internal - + External External - + All types All types - + Point - + Line - + Circle - + Ellipse 타원 - + Arc of circle 원의 호 - + Arc of ellipse 타원의 호 - + Arc of hyperbola 쌍곡선의 호 - + Arc of parabola 포물선의 호 - + B-Spline B-스플라인 @@ -3588,142 +3711,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Point on Object - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Symmetric - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance 수평 길이 - + Vertical Distance 수직 길이 - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Geometry 타입 변경 - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Layer - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Hidden - + Delete 삭제 @@ -4009,6 +4132,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Notify automatic constraint substitutions + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + 둘다 + + + + Auto + 자동 + + + + Diameter + 직경 + + + + Radius + Radius + SketcherGui::SketcherSettingsColors @@ -4454,12 +4646,12 @@ Then objects are only visible behind the sketch plane. 기존 스케치에 적용 - + Unexpected C++ exception 예기치 않은 C++ 예외 - + Sketcher 스케쳐 @@ -4632,48 +4824,48 @@ However, no constraints linking to the endpoints were found. Settings - + Constraints Constraints - + Auto constraints 자동 제약조건 - + Auto remove redundants 불필요한 제약 자동 제거 - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error 에러 - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4705,6 +4897,33 @@ However, no constraints linking to the endpoints were found. Settings Settings + + + + + + + + + + + + Construction + Construction + + + + Elements + 요소 + + + + + + + Point + + @@ -4716,110 +4935,83 @@ However, no constraints linking to the endpoints were found. - Construction - Construction - - - - Elements - 요소 - - - - - - - Point - - - - - - - - - - - - - Internal Internal - - + + + - Line - - + + + - Arc - - + + + - Circle - - + + + - Ellipse 타원 - - + + + - Elliptical Arc 타원형 호 - - + + + - Hyperbolic Arc 쌍곡선형 호 - - + + + - Parabolic Arc 포물선형 호 - - + + + - BSpline BSpline - - + + + - Other 기타 - + Extended information Extended information @@ -4827,42 +5019,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages 솔버 메세지 - + Auto update Auto update - + Executes a recomputation of active document after every sketch action Executes a recomputation of active document after every sketch action - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5040,119 +5232,119 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch 스케치 수정 - + A dialog is already open in the task panel 테스크 패널에 이미 다이얼로그가 열려있습니다. - + Do you want to close this dialog? 다이얼로그를 닫으시겠습니까? - + Invalid sketch 유효하지 않은 스케치 - + Do you want to open the sketch validation tool? 스케치 확인 도구를 여시겠습니까? - + The sketch is invalid and cannot be edited. 스키체가 유효하지 않으므로 수정할 수 없습니다. - + Please remove the following constraint: 다음 제약조건을 제거하세요. - + Please remove at least one of the following constraints: 다음 제약조건중 하나 이상을 제거하세요. - + Please remove the following redundant constraint: 중복 제약조건을 제거하세요: - + Please remove the following redundant constraints: 중복 제약조건을 제거하세요: - + The following constraint is partially redundant: The following constraint is partially redundant: - + The following constraints are partially redundant: The following constraints are partially redundant: - + Please remove the following malformed constraint: Please remove the following malformed constraint: - + Please remove the following malformed constraints: Please remove the following malformed constraints: - + Empty sketch 빈 스케치 - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Redundant constraints: - + Partially redundant: Partially redundant: - + Solver failed to converge Solver failed to converge - + Under constrained: Under constrained: - + %n DoF(s) %n DoF(s) - + Fully constrained Fully constrained @@ -5160,8 +5352,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines 모든 B-스플라인에 대한 곡률 빗 표시 및 숨기기 전환 @@ -5169,8 +5361,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline B-spline의 선택된 매듭의 반복횟수 감소 @@ -5178,8 +5370,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines 모든 B-스플라인에 대한 각도 표시 및 숨기기를 전환합니다. @@ -5187,8 +5379,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline B-스플라인의 선택된 매듭의 다중도를 증가시킴 @@ -5196,8 +5388,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines 모든 B-스플라인에 대한 매듭점 다중성 표시와 숨김을 전환합니다. @@ -5205,8 +5397,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines 모든 B-스플라인에 대한 제어점 가중치 표시와 숨김을 전환합니다. @@ -5214,8 +5406,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines 모든 B-스플라인에 대한 제어 다각형 표시와 숨김을 전환합니다. @@ -5223,8 +5415,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point 마지막에 선택한 점을 기준으로 geometry 복제합니다. @@ -5232,17 +5424,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone 복제 - + Copy 복사하기 - + Move 이동 @@ -5250,8 +5442,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc 원이나 호의 지름을 수정합니다 @@ -5259,7 +5451,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5267,8 +5459,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc 원 또는 호의 반지름을 고정 @@ -5276,7 +5468,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5284,8 +5476,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point 마지막에 선택한 점을 기준으로 geometry 복사합니다. @@ -5504,64 +5696,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found 스케치를 찾을 수 없습니다 - + The document doesn't have a sketch 문서에 스케치가 없습니다 - + Select sketch 스케치 선택 - + Select a sketch from the list 목록에서 스케치를 선택하세요. - + (incompatible with selection) (불가능한 선택) - + (current) (현재) - + (suggested) (제안) - + Sketch attachment 스케치 추가 - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. - + Select the method to attach this sketch to selected objects. 선택된 객체에 스케치를 투영할 방법을 선택하세요. - + Map sketch 스케치 투영 - + Can't map a sketch to support: %1 스케치를 투영할 수 없습니다: @@ -5571,8 +5763,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point 마지막으로 선택한 점을 기준으로 도형을 이동합니다. @@ -5580,12 +5772,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment 스케치 추가 - + Select the method to attach this sketch to selected object 선택된 객체에 스케치를 투영할 방법을 선택하세요 @@ -5593,12 +5785,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Sketch has support - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? 면에 투영되어 있는 스케치는 변경이 불가능합니다. @@ -5607,11 +5799,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - 양식 - DOF @@ -5630,11 +5817,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - 양식 - Default algorithm used for Sketch solving @@ -5907,7 +6089,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more and %1 more @@ -6097,22 +6279,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6120,87 +6302,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error 에러 - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6242,8 +6424,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6340,9 +6522,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error Value Error @@ -6378,58 +6560,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - 생성 geometry + Normal Geometry + Normal Geometry + Construction Geometry + 생성 geometry + + + + + External Geometry External Geometry @@ -6450,12 +6632,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6463,12 +6645,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6499,4 +6681,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + 치수 + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_nl.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_nl.ts index 9ae11c1170..9ac9573138 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_nl.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_nl.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Toon/Verberg B-spline kromming comb - + Switches between showing and hiding the curvature comb for all B-splines Schakelt tussen het tonen en verbergen van de krommingskam voor alle B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Toon/Verberg B-spline graad - + Switches between showing and hiding the degree for all B-splines Hiermee schakelt u tussen tonen en verbergen de mate voor alle B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Toon/Verberg B-spline knoop multipliciteit - + Switches between showing and hiding the knot multiplicity for all B-splines Hiermee schakelt u tussen het weergeven en verbergen van de knoop multipliciteit voor alle B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Toon/Verberg B-spline controle punt gewicht - + Switches between showing and hiding the control point weight for all B-splines Schakelt tussen het weergeven en verbergen van het controlepunt voor alle B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Toon/Verberg B-spline controle veelhoek - + Switches between showing and hiding the control polygons for all B-splines Hiermee schakelt u tussen het weergeven en verbergen van de knoop multipliciteit voor alle B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Kopieer - + Creates a clone of the geometry taking as reference the last selected point Maakt een kloon van de geometrie en neemt als referentie het laatst geselecteerde punt @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Toon/Verberg B-spline informatielaag - + Show/hide B-spline degree Toon/Verberg B-spline graad - + Show/hide B-spline control polygon Toon/Verberg B-spline controle veelhoek - + Show/hide B-spline curvature comb Toon/Verberg B-spline kromming comb - + Show/hide B-spline knot multiplicity Toon/Verberg B-spline knoop multipliciteit - + Show/hide B-spline control point weight Toon/Verberg B-spline controle punt gewicht @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Beperk de boog of de cirkel - + Constrain an arc or a circle Beperk een boog of een cirkel - + Constrain radius Straal bematen - + Constrain diameter Bemaat de diameter - + Constrain auto radius/diameter Bemaat straal/diameter automatisch @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Kopieer - + Creates a clone of the geometry taking as reference the last selected point Maakt een kloon van de geometrie en neemt als referentie het laatst geselecteerde punt @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Knoop multipliciteit wijzigen - + Modifies the multiplicity of the selected knot of a B-spline Hiermee wijzigt u de multipliciteit van het geselecteerde knooppunt in een B-spline - + Increase knot multiplicity Verhogen van de multipliciteit van de knoop - + Decrease knot multiplicity Verlagen van de multipliciteit van de knoop @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Beperk hoek - + Fix the angle of a line or the angle between two lines Bemaat de hoek van een lijn of de hoek tussen twee lijnen @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Blok beperkingen - + Block the selected edge from moving Weerhoud de geselecteerde rand van verplaatsen @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Samenvallende beperking - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Maak een samenvallende beperking tussen punten, of een concentrische beperking tussen cirkels, bogen en ellipsen @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Bemaat de diameter - + Fix the diameter of a circle or an arc Bemaat de diameter van een cirkel of een boog @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Afstand beperking - + Fix a length of a line or the distance between a line and a vertex or between two circles Zet de lengte van een lijn vast of de afstand tussen een lijn en een hoekpunt of tussen twee cirkels @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Beperk horizontale afstand - + Fix the horizontal distance between two points or line ends De horizontale afstand tussen twee punten of lijneinden bematen @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Beperk verticale afstand - + Fix the vertical distance between two points or line ends De verticale afstand tussen twee punten of lijneinden bematen @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Gelijke beperken - + Create an equality constraint between two lines or between circles and arcs Maak een Gelijkheidsbeperking tussen twee lijnen of tussen cirkels en bogen @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Horizontale beperking - + Create a horizontal constraint on the selected item Maak een horizontale beperking op het geselecteerde item @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Vastzet beperking - + Create both a horizontal and a vertical distance constraint on the selected vertex Maak zowel een horizontale als een verticale afstandsbeperking op het geselecteerde hoekpunt @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Parallelle-beperking - + Create a parallel constraint between two lines Maak een parallelle beperking tussen twee lijnen @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Beperk loodrecht - + Create a perpendicular constraint between two lines Maak een loodrechte beperking tussen twee lijnen @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Zet punt vast op object - + Fix a point onto an object Een punt op een object vastleggen @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Bemaat straal/diameter automatisch - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Zet de diameter vast als en cirkel is geselecteerd, of de straal als een boog/spline pool is geselecteerd @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Beperking straal of gewicht - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Repareer de straal van een cirkel of een boog of repareer het gewicht van een B-Spline @@ -584,12 +584,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Bepaal de refractie (Wet van Snellius) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Maak een beperking volgens de brekingswet (wet van Snellius) tussen twee eindpunten van lichtstralen en een rand als interface. @@ -598,12 +598,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Symmetrische-beperken - + Create a symmetry constraint between two points with respect to a line or a third point Maak een symmetrie beperking tussen twee punten @@ -613,12 +613,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherConstrainTangent - + Constrain tangent Tangent beperken - + Create a tangent constraint between two entities Tangentiële beperkingen tussen twee entiteiten maken @@ -626,12 +626,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherConstrainVertical - + Constrain vertically Verticale beperking - + Create a vertical constraint on the selected item Maak een verticale beperking op het geselecteerde item @@ -639,12 +639,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherConvertToNURBS - + Convert geometry to B-spline Converteer geometrie naar B-spline - + Converts the selected geometry to a B-spline Zet de geselecteerde geometrie om naar een B-spline @@ -652,12 +652,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherCopy - + Copy Kopie - + Creates a simple copy of the geometry taking as reference the last selected point Maakt een eenvoudige kopie van de geometrie met als referentie het laatst geselecteerde punt @@ -1016,12 +1016,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherDecreaseDegree - + Decrease B-spline degree Verlaag graad van B-spline - + Decreases the degree of the B-spline Vermindert de graad van de B-spline @@ -1029,12 +1029,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Verlagen van de multipliciteit van de knoop - + Decreases the multiplicity of the selected knot of a B-spline Vermindert de multipliciteit van het geselecteerde knooppunt van een B-spline @@ -1042,12 +1042,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherDeleteAllConstraints - + Delete all constraints Verwijder alle beperkingen - + Delete all constraints in the sketch Verwijder alle beperkingen in de schets @@ -1055,12 +1055,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherDeleteAllGeometry - + Delete all geometry Alle geometrie verwijderen - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Verwijder alle geometrie en beperkingen in de huidige schets, met uitzondering van externe geometrie @@ -1068,12 +1068,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherEditSketch - + Edit sketch Schets bewerken - + Edit the selected sketch. Bewerken de geselecteerde schets. @@ -1107,12 +1107,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherIncreaseDegree - + Increase B-spline degree Verhoog B-spline graad - + Increases the degree of the B-spline Vergroot de hoek van de B-spline @@ -1120,12 +1120,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Verhogen van de multipliciteit van de knoop - + Increases the multiplicity of the selected knot of a B-spline Verhoogt de multipliciteit van de geselecteerde knoop van een B-spline @@ -1133,12 +1133,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherInsertKnot - + Insert knot Knoop invoegen - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Voegt een knooppunt in bij de gegeven parameter. Als het knooppunt reeds bestaat bij die parameter, wordt de multipliciteit verhoogd met 1. @@ -1146,12 +1146,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherJoinCurves - + Join curves Krommen samenvoegen - + Join two curves at selected end points Verbind twee krommen met elkaar bij de geselecteerde eindpunten @@ -1159,12 +1159,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherLeaveSketch - + Leave sketch Verlaat schets - + Finish editing the active sketch. Voltooi het bewerken van de actieve schets. @@ -1172,12 +1172,12 @@ met betrekking tot een lijn of een derde punt CmdSketcherMapSketch - + Map sketch to face... Wijs schets toe aan vlak... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1186,7 +1186,7 @@ Kies eerst de ondersteunende geometrie, bijvoorbeeld een vlak of een rand van ee Roep dan dit commando aan, kies dan de gewenste schets. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Sommige van de geselecteerde objecten zijn afhankelijk van de in kaart te brengen schets. Cirkelvormige afhankelijkheden zijn niet toegestaan. @@ -1194,22 +1194,22 @@ Roep dan dit commando aan, kies dan de gewenste schets. CmdSketcherMergeSketches - + Merge sketches Schetsen samenvoegen - + Create a new sketch from merging two or more selected sketches. Maak een nieuwe schets van het samenvoegen van twee of meer geselecteerde schetsen. - + Wrong selection Verkeerde selectie - + Select at least two sketches. Selecteer ten minste twee schetsen. @@ -1217,12 +1217,12 @@ Roep dan dit commando aan, kies dan de gewenste schets. CmdSketcherMirrorSketch - + Mirror sketch Spiegel schets - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1231,12 +1231,12 @@ door gebruik te maken van de X-of Y-assen of het oorsprongpunt, als spiegelverwijzing. - + Wrong selection Verkeerde selectie - + Select one or more sketches. Selecteer een of meer schetsen. @@ -1244,12 +1244,12 @@ als spiegelverwijzing. CmdSketcherMove - + Move Verplaatsen - + Moves the geometry taking as reference the last selected point Verplaatst de geometrie met als referentie het laatst gekozen punt @@ -1257,12 +1257,12 @@ als spiegelverwijzing. CmdSketcherNewSketch - + Create sketch Maak schets - + Create a new sketch. Maak een nieuwe schets. @@ -1270,12 +1270,12 @@ als spiegelverwijzing. CmdSketcherRectangularArray - + Rectangular array Rechthoekige reeks - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Maakt een rechthoekig reekspatroon van de geometrie met als referentie het laatst geselecteerde punt @@ -1283,12 +1283,12 @@ als spiegelverwijzing. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Uitlijning assen verwijderen - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Wijzigt de kaders om assen uitlijning te verwijderen terwijl u probeert de beperkende relatie van de selectie te behouden @@ -1296,12 +1296,12 @@ als spiegelverwijzing. CmdSketcherReorientSketch - + Reorient sketch... Schets heroriënteren... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Plaats de geselecteerde schets op een van de globale coördinaat vlakken. @@ -1311,12 +1311,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Toon/Verberg interne geometrie - + Show all internal geometry or hide unused internal geometry Toon alle interne geometrie of verberg ongebruikte interne geometrie @@ -1324,8 +1324,8 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Selecteer conflicterende beperkingen @@ -1333,12 +1333,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectConstraints - + Select associated constraints Selecteer bijbehorende beperkingen - + Select the constraints associated with the selected geometrical elements Selecteer de beperkingen die zijn gekoppeld aan de geselecteerde geometrische elementen @@ -1346,12 +1346,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Selecteer bijbehorende geometrie - + Select the geometrical elements associated with the selected constraints Selecteer de geometrische elementen die zijn gekoppeld aan de geselecteerde beperkingen @@ -1359,12 +1359,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Selecteer onbegrensde DoF - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Selecteer geometrische elementen waar de oplosser nog steeds ongehinderde graden van vrijheid detecteert. @@ -1372,12 +1372,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Selecteer horizontale as - + Select the local horizontal axis of the sketch Selecteer de lokale horizontale as van de schets @@ -1385,8 +1385,8 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Selecteer foutieve randvoorwaarde @@ -1394,12 +1394,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectOrigin - + Select origin Selecteer oorsprong - + Select the local origin point of the sketch Selecteer het lokale oorsprongpunt van de schets @@ -1407,8 +1407,8 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Schets bevat overbodige beperkingen @@ -1416,8 +1416,8 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Selecteer overbodige beperkingen @@ -1425,12 +1425,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSelectVerticalAxis - + Select vertical axis Selecteer verticale as - + Select the local vertical axis of the sketch Selecteer de lokale verticale as van de schets @@ -1451,12 +1451,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherStopOperation - + Stop operation Stop bewerking - + When in edit mode, stop the active operation (drawing, constraining, etc.). Stop in de bewerkingsmodus de actieve bewerking (tekenen, beperken, etc.). @@ -1477,12 +1477,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherSymmetry - + Symmetry Symmetrie - + Creates symmetric geometry with respect to the last selected line or point Maakt een symmetrische geometrie ten opzichte van de laatst gekozen lijn of punt @@ -1490,12 +1490,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Beperking activeren/deactiveren - + Activates or deactivates the selected constraints Activeert of deactiveert de geselecteerde beperkingen @@ -1516,12 +1516,12 @@ Dit zal de 'Support' eigenschap verwijderen, indien van toepassing. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Schakelt sturende/referentie beperking aan of uit - + Set the toolbar, or the selected constraints, into driving or reference mode Stel de werkbalk of de geselecteerde beperkingen in @@ -1544,24 +1544,24 @@ op sturende of referentie modus CmdSketcherValidateSketch - + Validate sketch... Schets valideren... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Controleer een schets door naar missende samenvallende punten te kijken, ongeldige constraints, gedegenereerde geometrie, etc. - + Wrong selection Verkeerde selectie - + Select only one sketch. Selecteer slechts één schets. @@ -1569,12 +1569,12 @@ ongeldige constraints, gedegenereerde geometrie, etc. CmdSketcherViewSection - + View section Bekijk doorsnede - + When in edit mode, switch between section view and full view. Wanneer in bewerk modus, schakel over tussen sectie en volledige weergave. @@ -1582,12 +1582,12 @@ ongeldige constraints, gedegenereerde geometrie, etc. CmdSketcherViewSketch - + View sketch Bekijk schets - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Wanneer in bewerk modus,, zet de camera-oriëntatie loodrecht op het schets. @@ -1595,287 +1595,404 @@ ongeldige constraints, gedegenereerde geometrie, etc. Command - - + + Add horizontal constraint Voeg horizontale beperking toe - - - + + + Add horizontal alignment Horizontale uitleining toevoegen - - + + Add vertical constraint Voeg verticale beperking toe - + Add vertical alignment Verticale uitlijning toevoegen - + Add 'Lock' constraint Voeg 'vergrendeling' beperking toe - + Add relative 'Lock' constraint Voeg relatieve 'Vergrendeling' beperking toe - + Add fixed constraint Gefixeerde beperking toevoegen - + Add 'Block' constraint Voeg 'Block' beperking toe - + Add block constraint Blok beperking toevoegen - - - + + + Add coincident constraint Voeg samenvallende beperking toe - - + + Add distance from horizontal axis constraint Voeg afstand toe van horizontale as beperking - - + + Add distance from vertical axis constraint Voeg afstand toe van verticale as beperking - - + + Add point to point distance constraint Voeg punt toe aan punt afstand beperking - - + + + Add point to line Distance constraint Voeg punt toe aan lijnafstand beperking - - + + Add circle to circle distance constraint Voeg cirkel toe aan cirkel afstand beperking - + Add circle to line distance constraint Voeg cirkel toe aan lijnafstand beperking - - + + + + + Add length constraint Beperking lengte toevoegen - - + + + Dimension + Afmeting + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Voeg punt toe aan object beperking - - + + Add point to point horizontal distance constraint Voeg punt toe aan punt horizontale afstand beperking - + Add fixed x-coordinate constraint Gefixeerde x-coördinaat beperking toevoegen - - + + Add point to point vertical distance constraint Voeg punt toe aan punt verticale afstand beperking - + Add fixed y-coordinate constraint Gefixeerde y-coördinaat beperking toevoegen - - + + Add parallel constraint Parallelle beperking toevoegen - - - - - - - + + + + + + + Add perpendicular constraint Haakse beperking toevoegen - + Add perpendicularity constraint Voeg haakse beperking toe - + Swap coincident+tangency with ptp tangency Wissel samenvallende+tangent met ptp tangens - + Swap PointOnObject+tangency with point to curve tangency Wissel PointOnObject+raaklijn om met punt op raaklijn van kromme - - - - - - - + + + + + + + Add tangent constraint Voeg tangens beperkgin toe - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Voeg tangens beperking toe - - - - + + + + Add radius constraint Voeg straal beperking toe - - - - + + + + Add diameter constraint Voeg diameter beperking - - - - + + + + Add radiam constraint Voeg straal/diameter beperking toe - - - - - - + + + + + + Add angle constraint Hoek beperking toe - - + + Add equality constraint Voeg gelijkheidsbeperking toe - - - - - + + + + + Add symmetric constraint Symmetrische beperking toevoegen - + Add Snell's law constraint Snell's wet beperking toevoegen - + Toggle constraint to driving/reference Schakel Beperking als sturend of als referentie in-/uit - + Activate/Deactivate constraint Beperking activeren/deactiveren - + Create a new sketch on a face Maak een nieuwe schets op een oppervlak - + Create a new sketch Maak een nieuwe schets - + Reorient sketch Schets heroriënteren - + Attach sketch Schets aankoppelen - + Detach sketch Schets loskoppelen - + Create a mirrored sketch for each selected sketch Maak een gespiegelde schets voor elke geselecteerde schets - + Merge sketches Schetsen samenvoegen @@ -1993,72 +2110,72 @@ ongeldige constraints, gedegenereerde geometrie, etc. Zeshoek toevoegen - + Convert to NURBS Converteren naar NURBS - + Increase spline degree Spline-graad verhogen - + Decrease spline degree Verlaag spline-graden - + Increase knot multiplicity Verhogen van de multipliciteit van de knoop - + Decrease knot multiplicity Verlagen van de multipliciteit van de knoop - + Insert knot Knoop invoegen - + Join Curves Krommen verbinden - + Exposing Internal Geometry Intern Geometrie belichten - + Create symmetric geometry Symmetrische geometrie creëren - + Copy/clone/move geometry Kopie/kloon/beweeg geometrie - + Create copy of geometry Kopie van geometrie maken - + Delete all geometry Alle geometrie verwijderen - + Delete All Constraints Verwijder alle beperkingen - + Remove Axes Alignment Verwijder assen uitlijning @@ -2069,44 +2186,44 @@ ongeldige constraints, gedegenereerde geometrie, etc. - - - + + + Update constraint's virtual space Update beperking's virtuele ruimte - + Add auto constraints Voeg automatische beperkingen toe - + Swap constraint names Wissel de beperkingsnamen om - + Rename sketch constraint Hernoem schets beperking - + Drag Point Sleeppunt - + Drag Curve Sleep Kromme - + Drag Constraint Sleep beperking - + Modify sketch constraints Wijzig schets beperkingen @@ -2167,59 +2284,59 @@ ongeldige constraints, gedegenereerde geometrie, etc. Autoconstrain error: Defecte schets tijdens aanleggen van gelijkheids-constraint. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Niet in staat om het snijpunt van de bochten te raden. Probeer een samenvallende beperking toe te voegen tussen de vertexen van de curven die u wilt afronden. - - + + BSpline Geometry Index (GeoID) is out of bounds. B-spline Geometrie Index (GeoID) buiten bereik. - + You are requesting no change in knot multiplicity. U vraagt geen verandering in de knoop multipliciteit. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. De Geometrie Index (Geold) aangeleverd is geen B-spline lijn. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. De knoop-index is buiten de grenzen. Merk op dat volgens de OCC-notatie de eerste knoop index 1 heeft en niet nul. - + The multiplicity cannot be increased beyond the degree of the B-spline. De multipliciteit mag niet groter zijn dan het aantal graden van de B-spline. - + The multiplicity cannot be decreased beyond zero. De multipliciteit kan niet lager zijn dan nul. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC is niet in staat om de multipliciteit binnen de maximale tolerantie te verlagen. - + Knot cannot have zero multiplicity. Knooppunt kan geen multipliciteit van nul hebben. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knooppunt multipliciteit kan niet hoger zijn dan de graad van de B-spline. - + Knot cannot be inserted outside the BSpline parameter range. Knooppunt kan niet worden toegevoegd buiten de parameters van de B-spline. @@ -2235,210 +2352,213 @@ ongeldige constraints, gedegenereerde geometrie, etc. QObject - - - - + + + + Sketcher Schetsen - + There are no modes that accept the selected set of subelements Er zijn geen modi die de geselecteerde set van subelementen aanvaarden - + Broken link to support subelements Gebroken link naar ondersteuning van subelementen - - + + Unexpected error Onverwachte fout - + Face is non-planar Vlak is niet-planair - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Geselecteerde vormen zijn van een verkeerde vorm (bijv. een gebogen rand waar een rechte nodig is) - + Sketch mapping Schetsmapping - + Can't map the sketch to selected object. %1. Kan de schets niet in kaart brengen naar het geselecteerde object. %1. - - + + Don't attach Niet bijvoegen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Verkeerde selectie @@ -2449,339 +2569,339 @@ ongeldige constraints, gedegenereerde geometrie, etc. Selecteer rand(en) uit de schets. - + Not allowed to edit the datum because the sketch contains conflicting constraints Niet toegestaan ​​om de waarde te bewerken, omdat de schets conflicterende beperkingen bevat - + Dimensional constraint Dimensionale beperking - + Cannot add a constraint between two external geometries. Kan geen beperking toevoegen tussen twee externe geometrieën. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Kan geen beperking toevoegen tussen twee vaste geometrieën. Vaste geometrieën omvatten externe geometrie, geblokkeerde geometrie en speciale punten zoals B-spline knooppunten. - + Sketcher Constraint Substitution Sketcher Beperking Vervanging - + Keep notifying me of constraint substitutions Blijf mij informeren over vervangingen van beperkingen - - - + + + Only sketch and its support are allowed to be selected. Alleen de schets en de ondersteuning ervan mogen worden geselecteerd. - + One of the selected has to be on the sketch. Een van het geselecteerde moet op de schets liggen. - - + + Select an edge from the sketch. Selecteer een rand van de schets. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Onmogelijk beperking - - - - + + + + The selected edge is not a line segment. De geselecteerde rand is geen lijnsegment. - - - - - - + + + + + + Double constraint Dubbele beperking - - - - - + + + + + The selected edge already has a horizontal constraint! De geselecteerde rand heeft al een horizontale constraint! - - - + + + The selected edge already has a vertical constraint! De geselecteerde rand heeft al een vertikale constraint! - - - - - - + + + + + + The selected edge already has a Block constraint! De geselecteerde rand heeft al een blok constraint! - + The selected item(s) can't accept a horizontal constraint! De geselecteerde voorwerp(en) kunnen geen horizontale beperking aannemen! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Er zijn meer dan één vaste punten geselecteerd. Selecteer een maximum van één vast punt! - + The selected item(s) can't accept a vertical constraint! De geselcteerde voorwerp(en) kunnen geen verticale beperking aannemen! - - - + + + Select vertices from the sketch. Selecteer vertexen vanuit de schets. - + Select one vertex from the sketch other than the origin. Kies een andere vertex uit de schets dan de oorsprong. - + Select only vertices from the sketch. The last selected vertex may be the origin. Selecteer alleen vertexen uit de schets. De laatst gekozen vertex kan de oorsprong zijn. - + Wrong solver status Verkeerde oplosserstatus - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Een blokbeperking kan niet worden toegevoegd als de schets onopgelost is of er overbodige en tegenstrijdige beperkingen zijn. - + Select one edge from the sketch. Selecteer een rand uit de schets. - + Select only edges from the sketch. Selecteer enkel randen uit de schets. - + Number of selected objects is not 3 Het aantal geselecteerde objecten is niet gelijk aan 3 - - - + + + Error Fout - + Unexpected error. More information may be available in the Report View. Onverwachte fout. Meer informatie is mogelijk beschikbaar in de Report View. - + Endpoint to endpoint tangency was applied instead. Eindpunt tot eindpunttangens werd in plaats daarvan toegepast. - + Select two or more points from the sketch. Selecteer twee of meer punten uit de schets. - + Select two or more vertices from the sketch. Selecteer twee of meer hoekpunten van de schets. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Selecteer twee of meer hoekpunten van de schets voor een samenvallende beperking, of twee of meer cirkels, ellipsen, bogen of ellipsbogen voor een concentrische beperking. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Selecteer twee hoekpunten van de schets voor een samenvallende beperking, of twee cirkels, ellipsen, bogen of ellipsbogen voor een concentrische beperking. - + Select exactly one line or one point and one line or two points from the sketch. Selecteer precies één lijn of een punt en een lijn of twee punten uit de schets. - + Cannot add a length constraint on an axis! Een lengtebeperking is niet mogelijk op een as! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Selecteer precies één lijn of één punt en één lijn, of twee punten of twee cirkels van de schets. - + This constraint does not make sense for non-linear curves. Deze beperking heeft geen zin voor niet-lineaire krommen. - + Endpoint to edge tangency was applied instead. Eindpunt tot de rand raaklijn werd in plaats daarvan toegepast. - - - - - - - + + + + + + + Select the right things from the sketch. Selecteer de juiste elementen uit de schets. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Selecteer een rand die geen B-spline gewicht is. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Geen van de geselecteerde punten zijn op de respectievelijke curves beperkt, omdat het delen van hetzelfde element zijn, omdat ze allebei externe geometrie zijn, of omdat ze niet voor de rand in aanmerking komen. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Geen van de geselecteerde punten werd beperkt tot de respectievelijke curven, ofwel omdat ze deel uitmaken van hetzelfde element, ofwel omdat ze beide externe geometrie zijn. - - - - + + + + Select exactly one line or up to two points from the sketch. Selecteer precies een lijn of tot twee punten uit de schets. - + Cannot add a horizontal length constraint on an axis! Een horizontale lengtebeperking is niet mogelijk op een as! - + Cannot add a fixed x-coordinate constraint on the origin point! Kan geen gefixeerd x-coördinaat constraint plaatsen op het punt van oorsprong! - - + + This constraint only makes sense on a line segment or a pair of points. Deze beperking heeft alleen zin op een lijnsegment of een tweetal punten. - + Cannot add a vertical length constraint on an axis! Een verticale lengtebeperking is niet mogelijk op een as! - + Cannot add a fixed y-coordinate constraint on the origin point! Kan geen gefixeerd y-coördinaat constraint plaatsen op het punt van oorsprong! - + Select two or more lines from the sketch. Selecteer twee of meer lijnen van de schets. - - + + Select at least two lines from the sketch. Kies tenminste twee lijnen van de schets. - + Select a valid line. Selecteer een geldige lijn. - - + + The selected edge is not a valid line. De geselecteerde rand is geen geldige lijn. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2791,42 +2911,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Geaccepteerde combinaties: twee curven; een eindpunt en een curve; twee eindpunten; twee curven en een punt. - + Select some geometry from the sketch. perpendicular constraint Selecteer wat geometrie uit schets. - - + + Cannot add a perpendicularity constraint at an unconnected point! Kan geen loodrechtheidsbeperking toevoegen op een niet-verbonden punt! - - - + + + Perpendicular to B-spline edge currently unsupported. Loodrecht op B-splinerand wordt momenteel niet ondersteund. - - + + One of the selected edges should be a line. Eén van de geselecteerde randen moet een lijn zijn. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Endpoint op endpointtangens werd toegepast. De toevallige beperking werd verwijderd. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Eindpunt tot rand raaklijn is toegepast. Het punt op de object beperking is verwijderd. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2836,179 +2956,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Geaccepteerde combinaties: twee curven; een eindpunt en een curve; twee eindpunten; twee curven en een punt. - + Select some geometry from the sketch. tangent constraint Selecteer wat geometrie uit schets. - - - + + + Cannot add a tangency constraint at an unconnected point! Een raakbeperking kan niet worden toegevoegd aan een los punt! - - + + Tangent constraint at B-spline knot is only supported with lines! Raaklijn beperking bij B-spline knoop wordt alleen ondersteund met lijnen! - + B-spline knot to endpoint tangency was applied instead. B-spline knoop tot eindpunt raaklijn werd in plaats hiervan toegepast. - + Select either one point and several curves, or one curve and several points. Selecteer of één punt en meerdere curves of één curve en meerdere punten. - - + + Wrong number of selected objects! Verkeerd aantal geselecteerde objecten! - - + + With 3 objects, there must be 2 curves and 1 point. Met 3 objecten moeten er 2 curven en 1 punt zijn. - - - + + + Tangency to B-spline edge currently unsupported. Tanges op B-splinerand momenteel niet ondersteund. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Selecteer een of meer bogen of cirkels uit de schets. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Selecteer slechts één of meer B-Spline polen of slechts één of meer bogen of cirkels van de schaap, maar niet gemengd. - - - + + + Constraint only applies to arcs or circles. Beperkingen gelden alleen voor bogen en cirkels. - - + + Select one or two lines from the sketch. Or select two edges and a point. Selecteer een of twee lijnen uit de schets. Of selecteer twee randen en een punt. - - + + Parallel lines Parallellen lijnen - - + + An angle constraint cannot be set for two parallel lines. Een hoekbeperking kan niet worden ingesteld voor twee parallelle lijnen. - + Cannot add an angle constraint on an axis! Een hoekbeperking op een as is niet mogelijk! - + Select two edges from the sketch. Selecteer twee randen van de schets. - + Select two or more compatible edges. Selecteer twee of meer passende randen. - + Sketch axes cannot be used in equality constraints. Schets assen kunnen niet worden gebruikt voor gelijkheid beperkingen. - + Equality for B-spline edge currently unsupported. Gelijkheid voor B-splinerand momenteel niet ondersteund. - - - + + + + Select two or more edges of similar type. Selecteer twee of meer randen van een vergelijkbaar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Selecteer twee punten en een symmetrie-lijn, twee punten en een symmetrie-punt of een lijn en een symmetrie-punt uit de schets. - - + + Cannot add a symmetry constraint between a line and its end points. Kan geen symmetrie beperking toevoegen tussen een lijn en zijn eindpunten. - - + + + + Cannot add a symmetry constraint between a line and its end points! Kan geen symmetriebeperking tussen een lijn en zijn eindpunten toevoegen! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Selecteer twee eindpunten van lijnen om te fungeren als stralen, en een rand die een grens vertegenwoordigt. Het eerste geselecteerde punt komt overeen met index n1, tweede tot n2, en datum waarde bepaalt de verhouding n2/n1. - + Selected objects are not just geometry from one sketch. Geselecteerde objecten zijn niet slechts geometrie uit één schets. - + Cannot create constraint with external geometry only. Kan geen beperking maken met alleen externe geometrie. - + Incompatible geometry is selected. Incompatibele geometrie is geselecteerd. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw op B-spline rand wordt momenteel niet ondersteund. - - - - - + + + + + Select constraints from the sketch. Selecteer beperking(en) uit de schets. @@ -3030,155 +3153,155 @@ Geaccepteerde combinaties: twee curven; een eindpunt en een curve; twee eindpunt Definieer de B-Spline graad, tussen 1 en %1: + + - - CAD Kernel Error CAD-kernelfout - + None of the selected elements is an edge. Geen van de geselecteerde elementen is een rand. - - + + At least one of the selected objects was not a B-Spline and was ignored. Ten minste één van de geselecteerde objecten was geen B-Spline en werd genegeerd. - - + + The selection comprises more than one item. Please select just one knot. De selectie bestaat uit meer dan één item. Gelieve slechts één knoop te selecteren. - - + + Input Error Invoerfout - - + + None of the selected elements is a knot of a B-spline Geen van de geselecteerde elementen is een knoop van een B-spline - - + + Selection is empty Selectie is leeg - + Nothing is selected. Please select a b-spline. Er is niets geselecteerd. Selecteer een B-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Selecteer een B-spline-kromme om een knoop in te voegen (selecteer niet een knoop). Als de kromme geen B-spline is, verander deze dan eerst in een B-spline kromme. - + Nothing is selected. Please select end points of curves. Er is niets geselecteerd. Selecteer de eindpunten van de krommen. - + Too many curves on point Te veel krommen op het punt - - + + Exactly two curves should end at the selected point to be able to join them. - Exactly two curves should end at the selected point to be able to join them. + Precies twee krommen moeten op het geselecteerde punt eindigen om ze te kunnen verbinden. - + Too few curves on point Te weinig krommen op het punt - + Two end points, or coincident point should be selected. Twee eindpunten, of een samenvallend punt, moeten worden geselecteerd. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Selecteer elementen uit één schets. - + No constraint selected Geen beperking geselecteerd - + At least one constraint must be selected U dient minstens één beperking te selecteren - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Een symmetrische constructie vereist minstens twee geometrische elementen. Het laatste geometrische element is de referentie voor de symmetrieconstructie. - + The last element must be a point or a line serving as reference for the symmetry construction. Het laatste element moet een punt of een lijn zijn die als referentie dient voor de symmetrieopbouw. - - + + A copy requires at least one selected non-external geometric element Een kopie vereist minstens één geselecteerd niet-extern geometrisch element - + Delete All Geometry Verwijder alle geometrie - + Are you really sure you want to delete all geometry and constraints? Weet je zeker dat je alle geometrie en beperkingen wilt verwijderen? - + Delete All Constraints Verwijder alle beperkingen - + Are you really sure you want to delete all the constraints? Weet u zeker dat u alle beperkingen wilt verwijderen? - + Removal of axes alignment requires at least one selected non-external geometric element Verwijdering van de assen uitlijning vereist ten minste één geselecteerd niet-extern geometrisch element - + Unsupported visual layer operation Niet ondersteunde visuele laag bewerking - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Het verplaatsen van externe geometrie naar een andere visuele laag wordt momenteel niet ondersteund. Externe geometrie wordt weggelaten @@ -3377,67 +3500,67 @@ Geaccepteerde combinaties: twee curven; een eindpunt en een curve; twee eindpunt SketcherGui::ConstraintView - + Select Elements Elementen selecteren - + Change value Waarde wijzigen - + Toggle to/from reference Schakel naar/van referentie om - + Deactivate Deactiveren - + Activate Activeren - + Show constraints Toon beperkingen - + Hide constraints Verberg beperkingen - + Rename Hernoemen - + Center sketch Middelste schets - + Delete Verwijderen - + Swap constraint names Wissel de beperkingsnamen om - + Unnamed constraint Onbenoemde beperking - + Only the names of named constraints can be swapped. Alleen de namen van de genoemde beperkingen kunnen omgewisseld worden. @@ -3445,74 +3568,74 @@ Geaccepteerde combinaties: twee curven; een eindpunt en een curve; twee eindpunt SketcherGui::EditDatumDialog - + Insert angle Voeg hoek in - + Angle: Hoek: - + Insert radius Voeg straal in - + Radius: Straal: - + Insert diameter Diameter invoeren - + Diameter: Diameter: - + Insert weight Gewicht invoegen - + Weight: Gewicht: - + Refractive index ratio Constraint_SnellsLaw Brekingsindexverhouding - + Ratio n2/n1: Constraint_SnellsLaw Verhouding n2/n1: - + Insert length Voeg lengte in - + Length: Lengte: - + Refractive index ratio Brekingsindexverhouding - + Ratio n2/n1: Verhouding n2/n1: @@ -3520,72 +3643,72 @@ Geaccepteerde combinaties: twee curven; een eindpunt en een curve; twee eindpunt SketcherGui::ElementFilterList - + Normal Normaal - + Construction Constructie - + Internal Intern - + External Extern - + All types Alle types - + Point Punt - + Line Lijn - + Circle Cirkel - + Ellipse Ellips - + Arc of circle Cirkelboog - + Arc of ellipse Boog van ellips - + Arc of hyperbola Boog van hyperbool - + Arc of parabola Boog van parabool - + B-Spline B-Spline @@ -3593,142 +3716,142 @@ Geaccepteerde combinaties: twee curven; een eindpunt en een curve; twee eindpunt SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Punt op object - + Vertical Constraint Verticale beperking - + Horizontal Constraint Horizontale beperking - + Parallel Constraint Parallelle beperking - + Perpendicular Constraint Haakse beperking - + Tangent Constraint Tangens beperking - + Equal Length Gelijke lengte - + Symmetric Symmetrisch - + Block Constraint Blok beperking - + Lock Constraint Vergrendel beperking - + Horizontal Distance Horizontale Afstand - + Vertical Distance Verticale Afstand - + Length Constraint Lengte beperking - + Radius Constraint Straal beperking - + Diameter Constraint Diameter beperking - + Radiam Constraint Straal/diameter beperking - + Angle Constraint Hoek beperking - + Toggle construction geometry Bouwgeometrie in-/uitschakelen - + Select Constraints Selecteer beperkingen - + Select Origin Selecteer oorsprong - + Select Horizontal Axis Selecteer Horizontale As - + Select Vertical Axis Selecteer Verticale As - + Layer - Layer + Laag - + Layer 0 Laag 0 - + Layer 1 Laag 1 - + Hidden Verborgen - + Delete Verwijderen @@ -3901,7 +4024,7 @@ Geaccepteerde combinaties: twee curven; een eindpunt en een curve; twee eindpunt If selected, each element in the array is constrained with respect to the others using construction lines - Indien geselecteerd, elk element in de matrix wordt beperkt + Indien geselecteerd, elk element in de matrix wordt beperkt ten opzichte van de anderen met behulp van constructielijnen @@ -4014,6 +4137,75 @@ Hiervoor is het nodig om de bewerkingsmodus opnieuw in te schakelen.Notify automatic constraint substitutions Automatische vervangingen van beperkingen melden + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Beide + + + + Auto + Automatisch + + + + Diameter + Diameter + + + + Radius + Radius + SketcherGui::SketcherSettingsColors @@ -4094,7 +4286,7 @@ Hiervoor is het nodig om de bewerkingsmodus opnieuw in te schakelen. Vertex - Vertex + Hoekpunt @@ -4382,7 +4574,7 @@ Defaults to: %N = %V When opening a sketch, hide all features that depend on it. - When opening a sketch, hide all features that depend on it. + Verberg, bij het openen van een schets, alle ervan afhankelijke functies. @@ -4402,7 +4594,7 @@ Defaults to: %N = %V When opening a sketch, show objects the sketch is attached to. - When opening a sketch, show objects the sketch is attached to. + Laat, bij het openen van een schets, de objecten zien waaraan de schets gekoppeld is. @@ -4412,7 +4604,7 @@ Defaults to: %N = %V When closing a sketch, move camera back to where it was before the sketch was opened. - When closing a sketch, move camera back to where it was before the sketch was opened. + Plaats, bij het sluiten van een schets, de camera terug naar de positie voorafgaand aan het openen van de schets. @@ -4423,13 +4615,13 @@ Defaults to: %N = %V When entering edit mode, force orthographic view of camera. Works only when "Restore camera position after editing" is enabled. - When entering edit mode, force orthographic view of camera. -Works only when "Restore camera position after editing" is enabled. + Activeer orthografische weergave van camera, als u de bewerkingsmodus inschakelt. +Dit werkt alleen als "Camera positie herstellen na bewerken" is ingeschakeld. Force orthographic camera when entering edit - Force orthographic camera when entering edit + Activeer orthografische camera als bewerkingsmodus wordt gestart @@ -4459,12 +4651,12 @@ Then objects are only visible behind the sketch plane. Toepassen op bestaande schetsen - + Unexpected C++ exception Onverwachte C++ uitzondering - + Sketcher Schetsen @@ -4637,48 +4829,48 @@ Er zijn echter geen beperkingen gevonden die verband houden met de eindpunten.Instellingen - + Constraints Beperkingen - + Auto constraints Automatische beperkingen - + Auto remove redundants Automatische verwijdering van redundanties - + Show only filtered Constraints Toon alleen gefilterde beperkingen - + Extended information (in widget) Uitgebreide informatie (in widget) - + Hide internal alignment (in widget) Verberg interne uitlijning (in widget) - - + + Error Fout - + Impossible to update visibility tracking Onmogelijk om de zichtbaarheid tracking bij te werken - + Impossible to update visibility tracking: Bijwerken van de zichtbaarheid tracking is onmogelijk: @@ -4710,6 +4902,33 @@ Er zijn echter geen beperkingen gevonden die verband houden met de eindpunten.Settings Instellingen + + + + + + + + + + + + Construction + Constructie + + + + Elements + Elementen + + + + + + + Point + Punt + @@ -4721,110 +4940,83 @@ Er zijn echter geen beperkingen gevonden die verband houden met de eindpunten. - Construction - Constructie - - - - Elements - Elementen - - - - - - - Point - Punt - - - - - - - - - - - - Internal Intern - - + + + - Line Lijn - - + + + - Arc Boog - - + + + - Circle Cirkel - - + + + - Ellipse Ellips - - + + + - Elliptical Arc Elliptische boog - - + + + - Hyperbolic Arc Hyperbolische boog - - + + + - Parabolic Arc Parabolische boog - - + + + - BSpline BSpline - - + + + - Other Andere - + Extended information Uitgebreide informatie @@ -4832,42 +5024,42 @@ Er zijn echter geen beperkingen gevonden die verband houden met de eindpunten. SketcherGui::TaskSketcherMessages - + Solver messages Oplosser berichten - + Auto update Automatische update - + Executes a recomputation of active document after every sketch action Voert een herberekening van het actieve document uit na elke schetsactie - + Click to select the conflicting constraints. Klik om conflicterende beperkingen te selecteren. - + Click to select the redundant constraints. Klik om overbodige beperkingen te selecteren. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Klik om ongeldige beperkingen te selecteren. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Sommige samengevoegde beperkingen zijn gedeeltelijk overbodig. Klik om de gedeeltelijk overbodige beperkingen te selecteren. @@ -4890,19 +5082,19 @@ Er zijn echter geen beperkingen gevonden die verband houden met de eindpunten. Open and non-manifold vertexes - Open and non-manifold vertexes + Open en niet aansluitende vertexten Highlights open and non-manifold vertexes that could lead to error if sketch is used to generate solids This is purely based on topological shape of the sketch and not on its geometry/constrain set. - Highlights open and non-manifold vertexes that could lead to error if sketch is used to generate solids -This is purely based on topological shape of the sketch and not on its geometry/constrain set. + Markeer open en niet aansluitende hoekpunten die tot fouten leiden als -schetsen- wordt gebruikt om 3D vormen te genereren +Dit is puur gebaseerd op samenhang en oriëntatie van de hoekpunten in de schets en niet op de geometrie/set beperkingen. Highlight troublesome vertexes - Highlight troublesome vertexes + Markeer problematische hoekpunten @@ -5045,112 +5237,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Schets bewerken - + A dialog is already open in the task panel Een dialoog is al geopend in het taakvenster - + Do you want to close this dialog? Wilt u dit dialoogvenster sluiten? - + Invalid sketch Ongeldige schets - + Do you want to open the sketch validation tool? Wilt u het schetsvalidatiegereedschap openen? - + The sketch is invalid and cannot be edited. De schets is ongeldig en kan niet worden bewerkt. - + Please remove the following constraint: Gelieve de volgende beperking te verwijderen: - + Please remove at least one of the following constraints: Gelieve minstens één van de volgende beperkingen te verwijderen: - + Please remove the following redundant constraint: Gelieve de volgende overbodige beperking te verwijderen: - + Please remove the following redundant constraints: Gelieve de volgende overbodige beperkingen te verwijderen: - + The following constraint is partially redundant: De volgende beperking is gedeeltelijk overbodig: - + The following constraints are partially redundant: De volgende beperkingen zijn gedeeltelijk overbodig: - + Please remove the following malformed constraint: Verwijder de volgende conflicterende beperking: - + Please remove the following malformed constraints: Verwijder de volgende conflicterende beperkingen: - + Empty sketch Lege schets - + Over-constrained: Over-constrained: - + Malformed constraints: Ongeldige beperkingen: - + Redundant constraints: Overbodige beperkingen: - + Partially redundant: Gedeeltelijk overbodig: - + Solver failed to converge - Solver failed to converge + Solver kon niet convergeren - + Under constrained: Under constrained: - + %n DoF(s) %n vrijheidsgraden @@ -5158,7 +5350,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Fully constrained @@ -5166,8 +5358,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Schakelt tussen het tonen en verbergen van de krommingskam voor alle B-splines @@ -5175,8 +5367,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Vermindert de multipliciteit van het geselecteerde knooppunt van een B-spline @@ -5184,8 +5376,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Hiermee schakelt u tussen tonen en verbergen de mate voor alle B-splines @@ -5193,8 +5385,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Verhoogt de multipliciteit van de geselecteerde knoop van een B-spline @@ -5202,8 +5394,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Hiermee schakelt u tussen het weergeven en verbergen van de knoop multipliciteit voor alle B-splines @@ -5211,8 +5403,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Schakelt tussen het weergeven en verbergen van het controlepunt voor alle B-splines @@ -5220,8 +5412,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Hiermee schakelt u tussen het weergeven en verbergen van de knoop multipliciteit voor alle B-splines @@ -5229,8 +5421,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Maakt een kloon van de geometrie en neemt als referentie het laatst geselecteerde punt @@ -5238,17 +5430,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Kopieer - + Copy Kopie - + Move Verplaatsen @@ -5256,8 +5448,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Bemaat de diameter van een cirkel of een boog @@ -5265,7 +5457,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Straal/diameter van een cirkel of boog bepalen @@ -5273,8 +5465,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc De straal van een cirkel of boog bematen @@ -5282,7 +5474,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Straal/diameter van een cirkel of boog bepalen @@ -5290,8 +5482,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Maakt een eenvoudige kopie van de geometrie met als referentie het laatst geselecteerde punt @@ -5510,64 +5702,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Geen schets gevonden - + The document doesn't have a sketch Het document heeft geen schets - + Select sketch Kies schets - + Select a sketch from the list Selecteer een schets uit de lijst - + (incompatible with selection) (niet compatibel met selectie) - + (current) (huidige) - + (suggested) (voorgesteld) - + Sketch attachment Schetsbijlage - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Huidige aanhaak-modus is niet compatibel met de nieuwe selectie. Selecteer de methode om deze schets toe te voegen aan de geselecteerde objecten. - + Select the method to attach this sketch to selected objects. Selecteer de methode om deze schets aan geselecteerde objecten te koppelen. - + Map sketch Kaartschets - + Can't map a sketch to support: %1 Kan geen schets in kaart brengen ter ondersteuning: @@ -5577,8 +5769,8 @@ Selecteer de methode om deze schets toe te voegen aan de geselecteerde objecten. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Verplaatst de geometrie met als referentie het laatst gekozen punt @@ -5586,12 +5778,12 @@ Selecteer de methode om deze schets toe te voegen aan de geselecteerde objecten. Sketcher_NewSketch - + Sketch attachment Schetsbijlage - + Select the method to attach this sketch to selected object Selecteer de methode om deze schets aan het geselecteerde object te koppelen @@ -5599,12 +5791,12 @@ Selecteer de methode om deze schets toe te voegen aan de geselecteerde objecten. Sketcher_ReorientSketch - + Sketch has support Schets heeft ondersteuning - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Schets met een ondersteuningsvlak kan niet worden geheroriënteerd. @@ -5613,11 +5805,6 @@ Wilt u het loskoppelen van de ondersteuning? TaskSketcherMessages - - - Form - Vorm - DOF @@ -5636,11 +5823,6 @@ Wilt u het loskoppelen van de ondersteuning? TaskSketcherSolverAdvanced - - - Form - Vorm - Default algorithm used for Sketch solving @@ -5913,7 +6095,7 @@ Eigen Sparse-QR-algoritme is geoptimaliseerd voor spaarzame matrices; meestal sn ViewProviderSketch - + and %1 more en %1 meer @@ -6103,22 +6285,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Automatische raster-verdeling - + Resize grid automatically depending on zoom. Formaat raster automatisch aanpassen afhankelijk van zoom. - + Spacing Afstand - + Distance between two subsequent grid lines. Afstand tussen twee opeenvolgende rasterlijnen. @@ -6126,87 +6308,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! De schets heeft ongeldige beperkingen! - + The Sketch has partially redundant constraints! De schets heeft deels overbodige beperkingen! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolen zijn geconverteerd. Geconverteerde bestanden kunnen niet in vorige versies van FreeCAD worden geopend!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Fout - + Failed to delete all geometry Verwijderen van alle geometrie is mislukt - + Failed to delete all constraints Mislukt om alle beperkingen te verwijderen - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6215,12 +6397,12 @@ The grid spacing change if it becomes smaller than this number of pixel. Failed to add arc - Failed to add arc + Kon boog niet toevoegen Failed to add arc of ellipse - Failed to add arc of ellipse + Kon boog van de ellips niet toevoegen @@ -6248,8 +6430,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Fout bij het maken van de B-spline pool - + Error creating B-spline Fout bij het maken van de B-spline @@ -6276,7 +6458,7 @@ The grid spacing change if it becomes smaller than this number of pixel. Failed to add carbon copy - Failed to add carbon copy + Kon kopie niet toevoegen @@ -6287,28 +6469,28 @@ The grid spacing change if it becomes smaller than this number of pixel. Failed to add an ellipse - Failed to add an ellipse + Kon ellips niet toevoegen Failed to extend edge - Failed to extend edge + Kon de rand niet verlengen Failed to add external geometry - Failed to add external geometry + Kon externe geometrie niet toevoegen Failed to create fillet - Failed to create fillet + Kon afronding niet maken Failed to add line - Failed to add line + Kon lijn niet toevoegen @@ -6323,32 +6505,32 @@ The grid spacing change if it becomes smaller than this number of pixel. Failed to add box - Failed to add box + Kon rechthoek niet toevoegen Failed to add rounded rectangle - Failed to add rounded rectangle + Kon de afgeronde rechthoek niet toevoegen Failed to add slot - Failed to add slot + Kon het slot niet toevoegen Failed to add edge - Failed to add edge + Kon de rand niet toevoegen Failed to trim edge - Failed to trim edge + Kon de rand niet inkorten - - - + + + Value Error Fout in de waarde @@ -6384,58 +6566,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Uitlijnen op objecten - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normale geometrie - - Construction Geometry - Bouwgeometrie + Normal Geometry + Normale geometrie + Construction Geometry + Bouwgeometrie + + + + + External Geometry Externe geometrie @@ -6456,12 +6638,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6469,12 +6651,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6505,4 +6687,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Afmeting + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts index a29bff36be..23739502a0 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Pokaż / ukryj grzebień krzywizny krzywej złożonej - + Switches between showing and hiding the curvature comb for all B-splines Przełączaj widoczność grzebienia krzywizny dla wszystkich łuków krzywej złożonej @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Pokaż / ukryj stopień krzywej złożonej - + Switches between showing and hiding the degree for all B-splines Przełączaj widoczność stopnia dla wszystkich odcinków krzywej złożonej @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Pokaż / ukryj krotność węzłów krzywej złożonej - + Switches between showing and hiding the knot multiplicity for all B-splines Przełączaj widoczność wielkości węzłów dla wszystkich odcinków krzywej złożonej @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Pokaż / ukryj wagę punktu kontrolnego krzywej złożonej - + Switches between showing and hiding the control point weight for all B-splines Przełączaj pomiędzy pokazywaniem a ukrywaniem punktów kontrolnych dla wszystkich B-spline @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Pokaż / ukryj ramkę kontrolną krzywej złożonej - + Switches between showing and hiding the control polygons for all B-splines Przełącz widoczność ramki kontrolnej dla wszystkich krzywych złożonych @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Klonuj - + Creates a clone of the geometry taking as reference the last selected point Tworzy prostą kopię geometrii przyjmującej jako odniesienie ostatni wybrany punkt @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Pokaż / ukryj warstwę informacyjną krzywej złożonej - + Show/hide B-spline degree Pokaż / ukryj stopień krzywej złożonej - + Show/hide B-spline control polygon Pokaż / ukryj ramkę kontrolną krzywej złożonej - + Show/hide B-spline curvature comb Pokaż / ukryj grzebień krzywizny krzywej złożonej - + Show/hide B-spline knot multiplicity Pokaż / ukryj krotność węzłów krzywej złożonej - + Show/hide B-spline control point weight Pokaż / ukryj wagę punktu kontrolnego krzywej złożonej @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Zwiąż łuk lub okrąg - + Constrain an arc or a circle Zwiąż łuk lub okrąg - + Constrain radius Wiązanie promienia - + Constrain diameter Wiązanie średnicy - + Constrain auto radius/diameter Zwiąż automatycznie promień / średnicę @@ -156,14 +156,14 @@ CmdSketcherCompCopy - + Clone Klonuj - + Creates a clone of the geometry taking as reference the last selected point - Tworzy prostą kopię geometrii przyjmującej jako odniesienie ostatni wybrany punkt + Tworzy klon geometrii przyjmując za punkt odniesienia ostatni wybrany punkt @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Zmodyfikuj wielokrotność węzłów - + Modifies the multiplicity of the selected knot of a B-spline Modyfikuje wielokrotność wybranego węzła krzywej złożonej - + Increase knot multiplicity Zwiększ liczebność węzłów - + Decrease knot multiplicity Zmniejsz liczbę węzłów @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Wiązanie kąta - + Fix the angle of a line or the angle between two lines Ustaw kąt linii lub kąt pomiędzy 2 liniami @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Wiązanie zablokowania - + Block the selected edge from moving Zablokuj wybraną krawędź przed przeniesieniem @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Wiązanie zbieżności - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Utwórz wiązanie zbieżności między punktami lub wiązanie współśrodkowe między okręgami, łukami i elipsami @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Wiązanie średnicy - + Fix the diameter of a circle or an arc Ustal średnicę okręgu lub łuku @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Wiązanie odległości - + Fix a length of a line or the distance between a line and a vertex or between two circles Ustal długość linii lub odległość między linią a wierzchołkiem lub między dwoma okręgami @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Zwiąż odległość poziomą - + Fix the horizontal distance between two points or line ends Ustal poziomą odległość między dwoma punktami lub końcami linii @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Zwiąż odległość pionową - + Fix the vertical distance between two points or line ends Ustal pionową odległość między dwoma punktami lub końcami linii @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Wiązanie równości - + Create an equality constraint between two lines or between circles and arcs Utwórz wiązanie równości między dwiema liniami lub między okręgami i łukami @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Zwiąż w poziomie - + Create a horizontal constraint on the selected item Utwórz wiązanie poziome na wybranym elemencie @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Wiązanie blokady odległości - + Create both a horizontal and a vertical distance constraint on the selected vertex Wiązanie blokady odległości: utwórz zarówno poziome, jak i pionowe wiązanie odległości @@ -520,12 +520,12 @@ na wybranym wierzchołku CmdSketcherConstrainParallel - + Constrain parallel Wiązanie równoległości - + Create a parallel constraint between two lines Utwórz wiązanie równoległości pomiędzy dwoma liniami @@ -533,12 +533,12 @@ na wybranym wierzchołku CmdSketcherConstrainPerpendicular - + Constrain perpendicular Wiązanie prostopadłości - + Create a perpendicular constraint between two lines Utwórz wiązanie prostopadłości między dwoma liniami @@ -546,12 +546,12 @@ na wybranym wierzchołku CmdSketcherConstrainPointOnObject - + Constrain point onto object Zwiąż punkt na obiekcie - + Fix a point onto an object Ustaw punkt na obiekcie @@ -559,12 +559,12 @@ na wybranym wierzchołku CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Zwiąż automatycznie promień / średnicę - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Ustal średnicę, jeśli wybrano okrąg lub promień, jeśli wybrano łuk lub biegun liniowy @@ -572,12 +572,12 @@ na wybranym wierzchołku CmdSketcherConstrainRadius - + Constrain radius or weight Wiązanie promienia lub wagi - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Ustal promień okręgu lub łuku albo ustal wagę bieguna krzywej złożonej @@ -585,12 +585,12 @@ na wybranym wierzchołku CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Wiązanie refrakcji (prawo Snell'a) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Tworzy wiązanie refrakcji (prawo Snella) pomiędzy dwoma punktami końcowymi promieni @@ -600,12 +600,12 @@ oraz krawędzią jako interfejsem. CmdSketcherConstrainSymmetric - + Constrain symmetrical Wiązanie symetrii - + Create a symmetry constraint between two points with respect to a line or a third point Utwórz wiązanie symetrii pomiędzy dwoma punktami @@ -615,12 +615,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherConstrainTangent - + Constrain tangent Wiązanie styczności - + Create a tangent constraint between two entities Utwórz wiązanie styczności pomiędzy dwoma obiektami @@ -628,12 +628,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherConstrainVertical - + Constrain vertically Zwiąż w pionie - + Create a vertical constraint on the selected item Utwórz wiązanie pionowe na wybranym elemencie @@ -641,12 +641,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherConvertToNURBS - + Convert geometry to B-spline Konwertuj geometrię na krzywą złożoną - + Converts the selected geometry to a B-spline Konwertuje wybraną geometrię do krzywej złożonej @@ -654,12 +654,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherCopy - + Copy Kopiuj - + Creates a simple copy of the geometry taking as reference the last selected point Tworzy prostą kopię geometrii przyjmującej jako odniesienie ostatni wybrany punkt @@ -1018,12 +1018,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherDecreaseDegree - + Decrease B-spline degree Zmniejsz stopień krzywej złożonej - + Decreases the degree of the B-spline Zmniejsza stopień krzywej złożonej @@ -1031,12 +1031,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Zmniejsz liczbę węzłów - + Decreases the multiplicity of the selected knot of a B-spline Zmniejsza wielokrotność wybranego węzła krzywej złożonej @@ -1044,12 +1044,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherDeleteAllConstraints - + Delete all constraints Usuń wszystkie wiązania - + Delete all constraints in the sketch Usuń wszystkie wiązania z rysunku @@ -1057,12 +1057,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherDeleteAllGeometry - + Delete all geometry Usuń wszystkie geometrie - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Usuń wszystkie geometrie i wiązania z bieżącego rysunku, z wyjątkiem geometrii zewnętrznej @@ -1070,12 +1070,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherEditSketch - + Edit sketch Edytuj szkic - + Edit the selected sketch. Edytuj wybrany szkic. @@ -1109,12 +1109,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherIncreaseDegree - + Increase B-spline degree Zwiększ stopień krzywej złożonej - + Increases the degree of the B-spline Zwiększa stopień krzywej złożonej @@ -1122,12 +1122,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity - Zwiększ liczebność węzłów + Zwiększ liczbę węzłów - + Increases the multiplicity of the selected knot of a B-spline Zwiększa wielokrotność wybranego węzła krzywej złożonej @@ -1135,12 +1135,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherInsertKnot - + Insert knot Wstaw węzeł - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Wstawia węzeł o podanym parametrze. Jeśli węzeł już istnieje przy tym parametrze, jego krotność zwiększa się o jeden. @@ -1148,12 +1148,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherJoinCurves - + Join curves Połącz krzywe - + Join two curves at selected end points Połącz dwie krzywe w wybranych punktach końcowych @@ -1161,12 +1161,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherLeaveSketch - + Leave sketch Zamknij szkic - + Finish editing the active sketch. Zakończ edycję aktywnego szkicu. @@ -1174,12 +1174,12 @@ w odniesieniu do linii lub trzeciego punktu CmdSketcherMapSketch - + Map sketch to face... Mapuj szkic na powierzchnię ... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1188,7 +1188,7 @@ Najpierw wybierz geometrię pomocniczą, na przykład powierzchnię lub krawęd wywołaj to polecenie, a następnie wybierz żądany szkic. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Niektóre z wybranych obiektów zależą od szkicu do zmapowania. Powiązania cykliczne nie są dozwolone. @@ -1196,22 +1196,22 @@ wywołaj to polecenie, a następnie wybierz żądany szkic. CmdSketcherMergeSketches - + Merge sketches Połącz szkice - + Create a new sketch from merging two or more selected sketches. Utwórz nowy szkic ze scalenia dwóch lub więcej wybranych szkiców. - + Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór - + Select at least two sketches. Wybierz co najmniej dwa szkice. @@ -1219,12 +1219,12 @@ wywołaj to polecenie, a następnie wybierz żądany szkic. CmdSketcherMirrorSketch - + Mirror sketch Odbicie lustrzane szkicu - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1233,12 +1233,12 @@ używając osi X lub Y bądź punktu początkowego, jako odniesienia lustrzanego odbicia. - + Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór - + Select one or more sketches. Wybierz jeden lub więcej szkiców. @@ -1246,12 +1246,12 @@ jako odniesienia lustrzanego odbicia. CmdSketcherMove - + Move Przesuń - + Moves the geometry taking as reference the last selected point Przenosi geometrię przyjmując jako odniesienie ostatni wybrany punkt @@ -1259,12 +1259,12 @@ jako odniesienia lustrzanego odbicia. CmdSketcherNewSketch - + Create sketch Utwórz szkic - + Create a new sketch. Utwórz nowy szkic. @@ -1272,12 +1272,12 @@ jako odniesienia lustrzanego odbicia. CmdSketcherRectangularArray - + Rectangular array Szyk prostokątny - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Tworzy prostokątny wzór geometrii, przyjmując jako odniesienie ostatni wybrany punkt @@ -1285,12 +1285,12 @@ jako odniesienia lustrzanego odbicia. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Usuń wyrównanie osi - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modyfikuje wiązania, aby usunąć wyrównanie osi, próbując jednocześnie zachować zależność wiązań dla zaznaczenia @@ -1298,12 +1298,12 @@ jako odniesienia lustrzanego odbicia. CmdSketcherReorientSketch - + Reorient sketch... Zmień orientację szkicu ... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Umieść wybrany szkic na jednej z globalnych płaszczyzn współrzędnych. @@ -1313,12 +1313,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Pokaż / ukryj geometrię wewnętrzną - + Show all internal geometry or hide unused internal geometry Pokaż całą geometrię wewnętrzną lub ukryj nieużywaną geometrię wewnętrzną @@ -1326,8 +1326,8 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Wybierz wiązania konfliktowe @@ -1335,12 +1335,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectConstraints - + Select associated constraints Wybierz powiązane więzy - + Select the constraints associated with the selected geometrical elements Zaznacz wiązania skojarzone z wybranymi elementami @@ -1348,12 +1348,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Wybierz powiązaną geometrię - + Select the geometrical elements associated with the selected constraints Zaznacz elementy geometryczne powiązane z wybranymi wiązaniami @@ -1361,12 +1361,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Wybierz elementy bez wiązań - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Zaznacz elementy geometryczne, w których solver nadal wykrywa niezwiązane stopnie swobody. @@ -1374,12 +1374,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Wybierz oś poziomą - + Select the local horizontal axis of the sketch Zaznacz lokalną oś poziomą szkicu @@ -1387,8 +1387,8 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Wybierz nieprawidłowo sformułowane wiązania @@ -1396,12 +1396,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectOrigin - + Select origin Wybierz odniesienie położenia - + Select the local origin point of the sketch Zaznacz lokalny punkt odniesienia położenia szkicu @@ -1409,8 +1409,8 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Wybierz częściowo zbędne wiązania @@ -1418,8 +1418,8 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Wybierz zbędne wiązania @@ -1427,12 +1427,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSelectVerticalAxis - + Select vertical axis Wybierz oś pionową - + Select the local vertical axis of the sketch Zaznacz lokalną oś pionową szkicu @@ -1453,12 +1453,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherStopOperation - + Stop operation Przerwij operację - + When in edit mode, stop the active operation (drawing, constraining, etc.). W trybie edycji zatrzymaj aktywną operację (rysowanie, wiązanie itp.). @@ -1479,12 +1479,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherSymmetry - + Symmetry Odbicie lustrzane - + Creates symmetric geometry with respect to the last selected line or point Tworzy symetryczną geometrię w odniesieniu do ostatniej wybranej linii lub punktu @@ -1492,12 +1492,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Aktywuj / dezaktywuj wiązanie - + Activates or deactivates the selected constraints Aktywuje lub wyłącza zaznaczone wiązania @@ -1518,12 +1518,12 @@ To usunie właściwość "podparcie", jeśli istnieje. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Przełącz kontrolę wiązania - + Set the toolbar, or the selected constraints, into driving or reference mode Ustaw pasek narzędzi lub wybrane więzy wymiarowe @@ -1546,24 +1546,24 @@ w tryb konstrukcyjny lub informacyjny CmdSketcherValidateSketch - + Validate sketch... Sprawdź poprawność szkicu ... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Sprawdzanie poprawności szkicu przez sprawdzanie braków zbieżności, nieprawidłowych wiązań, zdegenerowanej geometrii itp. - + Wrong selection - Niewłaściwy wybór + Nieprawidłowy wybór - + Select only one sketch. Wybierz tylko jeden szkic. @@ -1571,12 +1571,12 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. CmdSketcherViewSection - + View section Widok przekroju - + When in edit mode, switch between section view and full view. W trybie edycji można przełączyć się między widokiem przekroju a widokiem całości. @@ -1584,12 +1584,12 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. CmdSketcherViewSketch - + View sketch Widok szkicu - + When in edit mode, set the camera orientation perpendicular to the sketch plane. W trybie edycji ustaw orientację widoku prostopadle do płaszczyzny szkicu. @@ -1597,287 +1597,404 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. Command - - + + Add horizontal constraint Dodaj wiązanie poziome - - - + + + Add horizontal alignment Wyrównaj w poziomie - - + + Add vertical constraint Dodaj wiązanie pionowe - + Add vertical alignment Wyrównaj w pionie - + Add 'Lock' constraint Dodaj wiązanie blokady odległości - + Add relative 'Lock' constraint Dodaj względne wiązanie blokady odległości - + Add fixed constraint Dodaj wiązanie zablokowania - + Add 'Block' constraint Dodaj wiązanie zablokowania - + Add block constraint Dodaj wiązanie zablokowania - - - + + + Add coincident constraint Dodaj wiązanie zbieżności - - + + Add distance from horizontal axis constraint Dodaj odległość od wiązania osi poziomej - - + + Add distance from vertical axis constraint Dodaj odległość od wiązania osi pionowej - - + + Add point to point distance constraint Dodaj ograniczenie odległości punktu od punktu - - + + + Add point to line Distance constraint Dodaj ograniczeni odległości punktu od linii - - + + Add circle to circle distance constraint Dodaj wiązanie odległości okręgu do okręgu - + Add circle to line distance constraint Dodaj wiązanie odległości okręgu do linii - - + + + + + Add length constraint Dodaj wiązanie długości - - + + + Dimension + Wymiar + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Dodaj punkt w miejscu wiązania obiektu - - + + Add point to point horizontal distance constraint Dodaj poziome wiązanie odległości, pomiędzy punktami - + Add fixed x-coordinate constraint Dodaj wiązanie ze stałą współrzędną x - - + + Add point to point vertical distance constraint Dodaj pionowe wiązanie odległości pomiędzy punktami - + Add fixed y-coordinate constraint Dodaj wiązanie ze stałą współrzędną y - - + + Add parallel constraint Dodaj wiązanie równoległości - - - - - - - + + + + + + + Add perpendicular constraint Dodaj wiązanie prostopadłości - + Add perpendicularity constraint Dodaj wiązanie prostopadłości - + Swap coincident+tangency with ptp tangency Zamień styczność krawędzi na styczność od punktu do punktu - + Swap PointOnObject+tangency with point to curve tangency Zamień wiązanie Punkt na obiekcie+styczna z punktem na wiązanie Styczna do krzywej - - - - - - - + + + + + + + Add tangent constraint Dodaj wiązanie kąta - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Dodaj punkt dostępny dla wiązania styczności - - - - + + + + Add radius constraint Dodaj wiązanie promienia - - - - + + + + Add diameter constraint Dodaj wiązanie średnicy - - - - + + + + Add radiam constraint Dodaj wiązanie promienia - - - - - - + + + + + + Add angle constraint Dodaj wiązanie kąta - - + + Add equality constraint Dodaj wiązanie równości - - - - - + + + + + Add symmetric constraint Dodaj wiązanie symetryczności - + Add Snell's law constraint Dodaj wiązanie prawa Snella - + Toggle constraint to driving/reference Przełączanie wiązania między konstrukcyjnym i informacyjnym - + Activate/Deactivate constraint Aktywuj / dezaktywuj wiązanie - + Create a new sketch on a face Utwórz nowy szkic na powierzchni - + Create a new sketch Utwórz nowy szkic - + Reorient sketch Zmień orientację szkicu - + Attach sketch Dołącz szkic - + Detach sketch Dołącz szkic - + Create a mirrored sketch for each selected sketch Utwórz lustrzany szkic dla każdego wybranego szkicu - + Merge sketches Połącz szkice @@ -1995,72 +2112,72 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. Dodaj sześciokąt - + Convert to NURBS Konwertuj na NURBS - + Increase spline degree Zwiększ stopień splajnu - + Decrease spline degree Zmniejsz stopień krzywej złożonej - + Increase knot multiplicity Zwiększ liczebność węzłów - + Decrease knot multiplicity Zmniejsz liczbę węzłów - + Insert knot Wstaw węzeł - + Join Curves Połącz krzywe - + Exposing Internal Geometry Prezentuj geometrię wewnętrzną - + Create symmetric geometry Utwórz geometrię symetryczną - + Copy/clone/move geometry Kopiuj/klonuj/przesuń geometrię - + Create copy of geometry Utwórz kopię geometrii - + Delete all geometry Usuń wszystkie geometrie - + Delete All Constraints Usuń wszystkie wiązania - + Remove Axes Alignment Usuń wyrównanie osi @@ -2071,44 +2188,44 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. - - - + + + Update constraint's virtual space Aktualizuj wiązania przestrzeni wirtualnej - + Add auto constraints Dodaj wiązania automatycznie - + Swap constraint names Zamień nazwy wiązań - + Rename sketch constraint Zmień nazwę wiązania szkicu - + Drag Point Przeciągnij punkt - + Drag Curve Przeciągnij krzywą - + Drag Constraint Przeciągnij wiązanie - + Modify sketch constraints Modyfikuj wiązania szkicu @@ -2169,59 +2286,59 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. Błąd wiązań automatycznych: Nierozwiązywalny szkic przy stosowaniu wiązania równości. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Nie można ustalić punktu przecięcia się krzywych. Spróbuj dodać wiązanie zbieżne pomiędzy wierzchołkami krzywych, które zamierzasz zaokrąglić. - - + + BSpline Geometry Index (GeoID) is out of bounds. Indeks geometrii krzywej złożonej (GeoID) jest poza wiązaniem. - + You are requesting no change in knot multiplicity. Żądasz niezmienności w wielokrotności węzłów. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Podany indeks geometrii krzywej złożonej (GeoId) nie jest łukiem krzywej złożonej. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Indeks węzłów jest poza wiązaniem. Zauważ, że zgodnie z zapisem OCC, pierwszy węzeł ma indeks 1, a nie zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. Wielokrotność nie może być zwiększona poza stopień krzywej złożonej. - + The multiplicity cannot be decreased beyond zero. Wielokrotność nie może zostać zmniejszona poniżej zera. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC nie jest w stanie zmniejszyć wielokrotności w ramach maksymalnej tolerancji. - + Knot cannot have zero multiplicity. Węzeł nie może mieć zerowej krotności. - + Knot multiplicity cannot be higher than the degree of the BSpline. Krotność węzłów nie może być większa niż stopień krzywej złożonej. - + Knot cannot be inserted outside the BSpline parameter range. Węzła nie można wstawić poza zakresem parametrów krzywej złożonej. @@ -2237,210 +2354,213 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. QObject - - - - + + + + Sketcher Szkicownik - + There are no modes that accept the selected set of subelements Nie ma trybów, które akceptują wybrany zestaw elementów podrzędnych - + Broken link to support subelements Uszkodzony link do elementów podrzędnych wsparcia - - + + Unexpected error Nieoczekiwany błąd - + Face is non-planar Powierzchnia jest niepłaska - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Wybrane kształty mają niewłaściwą formę (np. zakrzywiona krawędź, gdy należy użyć prostej) - + Sketch mapping Mapowanie szkicu - + Can't map the sketch to selected object. %1. Nie można odwzorować szkicu dla wybranego obiektu. %1. - - + + Don't attach Nie dołączaj + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Niewłaściwy wybór @@ -2451,339 +2571,339 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. Wybierz krawędź(ie) na szkicu. - + Not allowed to edit the datum because the sketch contains conflicting constraints Nie można edytować odniesienia, ponieważ szkic zawiera wiązania powodujące konflikt - + Dimensional constraint Wiązanie wymiaru - + Cannot add a constraint between two external geometries. Nie można dodać wiązania pomiędzy dwoma geometriami zewnętrznymi. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Nie można dodać wiązania między dwiema w pełni zdefiniowanymi geometriami. Geometrie te obejmują geometrię zewnętrzną, geometrię blokującą oraz punkty specjalne, takie jak punkty węzłów krzywej złożonej. - + Sketcher Constraint Substitution Zastępowanie wiązania szkicownika - + Keep notifying me of constraint substitutions Powiadamiaj mnie o zastępowaniu wiązań - - - + + + Only sketch and its support are allowed to be selected. Dozwolone jest wybieranie tylko szkicu i jego wsparcia. - + One of the selected has to be on the sketch. Jeden z wyborów musi znajdować się na szkicu. - - + + Select an edge from the sketch. Wybierz krawędź ze szkicu. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Wiązanie niemożliwe do ustalenia - - - - + + + + The selected edge is not a line segment. Wybrana krawędź nie jest odcinkiem linii. - - - - - - + + + + + + Double constraint Zdublowane wiązanie - - - - - + + + + + The selected edge already has a horizontal constraint! Wybrana krawędź ma już wiązanie poziome! - - - + + + The selected edge already has a vertical constraint! Wybrana krawędź ma już wiązanie pionowe! - - - - - - + + + + + + The selected edge already has a Block constraint! Wybrana krawędź ma już wiązanie zablokowania! - + The selected item(s) can't accept a horizontal constraint! Wybrane detale nie mogą zaakceptować ograniczenia poziomego! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Wybrano więcej niż jeden ustalony punkt. Wybierz maksymalnie jeden ustalony punkt! - + The selected item(s) can't accept a vertical constraint! Wybrane detale nie mogą zaakceptować ograniczenia pionowego! - - - + + + Select vertices from the sketch. Wybierz wierzchołki ze szkicu. - + Select one vertex from the sketch other than the origin. Zaznacz jeden wierzchołek ze szkicu inny niż odniesienie położenia. - + Select only vertices from the sketch. The last selected vertex may be the origin. Ze szkicu wybierz tylko wierzchołki. Ostatni wybrany wierzchołek może być odniesieniem położenia. - + Wrong solver status Nieprawidłowy status solvera - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Nie można dodać wiązania zablokowania, jeśli rysunek nie został rozwiązany lub istnieją wiązania zbędne i/lub sprzeczne. - + Select one edge from the sketch. Zaznacz jedną krawędź ze szkicu. - + Select only edges from the sketch. Zaznacz tylko krawędzie ze szkicu. - + Number of selected objects is not 3 Liczba wybranych obiektów nie jest równa 3 - - - + + + Error Błąd - + Unexpected error. More information may be available in the Report View. Nieoczekiwany błąd. Więcej informacji może być dostępnych w Widoku raportu. - + Endpoint to endpoint tangency was applied instead. Zamiast tego zastosowano styczne między punktami końcowymi. - + Select two or more points from the sketch. Zaznacz dwa lub więcej punktów ze szkicu. - + Select two or more vertices from the sketch. Wybierz dwa lub więcej wierzchołków ze szkicu. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Wybierz dwa lub więcej wierzchołków ze szkicu dla wiązania zbieżności albo co najmniej dwa koła, elipsy, łuki lub łuki eliptyczne do wiązania współśrodkowego. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Wybierz dwa wierzchołki ze szkicu dla wiązania zbieżności albo dwa koła, elipsy, łuki lub łuki eliptyczne do wiązania współśrodkowego. - + Select exactly one line or one point and one line or two points from the sketch. Wybierz dokładnie jedną linię lub jeden punkt i jedną linię lub dwa punkty ze szkicu. - + Cannot add a length constraint on an axis! Nie można dodać ograniczenia długości osi! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Wybierz ze szkicu dokładnie jedną linię lub jeden punkt i jedną linię lub dwa punkty lub dwa okręgi. - + This constraint does not make sense for non-linear curves. Takie wiązanie nie ma sensu w przypadku krzywych nieliniowych. - + Endpoint to edge tangency was applied instead. Zamiast tego zastosowano styczność punktu końcowego do krawędzi. - - - - - - - + + + + + + + Select the right things from the sketch. Wybierz prawidłowe obiekty ze szkicu. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Wybierz krawędź, która nie jest wagą krzywej złożonej. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Żaden z wybranych punktów nie został związany z odpowiednimi krzywymi, ponieważ są one częściami tego samego elementu, ponieważ są geometrią zewnętrzną lub ponieważ krawędź nie kwalifikuje się. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Żaden z wybranych punktów nie został związany na odpowiednich krzywych, albo są one częścią tego samego elementu albo obie są zewnętrzną geometrią. - - - - + + + + Select exactly one line or up to two points from the sketch. Wybierz dokładnie jedną linię lub do dwa punkty ze szkicu. - + Cannot add a horizontal length constraint on an axis! Nie można dodać ograniczenia długości osi w poziomie! - + Cannot add a fixed x-coordinate constraint on the origin point! Nie można dodać określonego wiązania współrzędnych x w punkcie odniesienia położenia! - - + + This constraint only makes sense on a line segment or a pair of points. Takie wiązanie ma sens tylko w przypadku odcinka lub pary punktów. - + Cannot add a vertical length constraint on an axis! Nie można dodać ograniczenia długości osi w pionie! - + Cannot add a fixed y-coordinate constraint on the origin point! Nie można dodać określonego wiązania współrzędnych y w punkcie odniesienia położenia! - + Select two or more lines from the sketch. Wybierz dwie lub więcej linii ze szkicu. - - + + Select at least two lines from the sketch. Wybierz co najmniej dwie linie ze szkicu. - + Select a valid line. Wybierz prawidłową linię. - - + + The selected edge is not a valid line. Wybrana krawędź nie jest prawidłową linią. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2793,42 +2913,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Akceptowane kombinacje: dwie krzywe; punkt końcowy i krzywej; dwa punkty końcowe; dwie krzywe i punkt. - + Select some geometry from the sketch. perpendicular constraint Wybierz dowolną geometrię ze szkicu. - - + + Cannot add a perpendicularity constraint at an unconnected point! Nie można dodać wiązania prostopadłości w niepołączonym punkcie! - - - + + + Perpendicular to B-spline edge currently unsupported. Prostopadła do krawędzi krzywej złozonej obecnie nie jest obsługiwana. - - + + One of the selected edges should be a line. Jedna z zaznaczonych krawędzi powinna być linią. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Zastosowano styczność punktu końcowego do punktu końcowego. Wiązanie zbieżności zostało usunięte. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Zastosowano wiązanie styczności punktu końcowego do krawędzi. Usunięto wiązanie punktu na obiekcie. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2838,179 +2958,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Akceptowane kombinacje: dwie krzywe; punkt końcowy i krzywa; dwa punkty końcowe; dwie krzywe i punkt. - + Select some geometry from the sketch. tangent constraint Wybierz dowolną geometrię ze szkicu. - - - + + + Cannot add a tangency constraint at an unconnected point! Nie można dodać wiązanie styczności w niepołączonym punkcie! - - + + Tangent constraint at B-spline knot is only supported with lines! Wiązanie styczne w węźle krzywej złożonej jest obsługiwane tylko z liniami! - + B-spline knot to endpoint tangency was applied instead. Zamiast tego zastosowano styczność węzła krzywej złożonej do punktu końcowego. - + Select either one point and several curves, or one curve and several points. Wybierz albo jeden punkt i kilka krzywych, albo jedną krzywą i kilka punktów. - - + + Wrong number of selected objects! Niewłaściwa liczba wybranych obiektów! - - + + With 3 objects, there must be 2 curves and 1 point. Z trzech (3) obiektów, dwa (2) muszą być krzywymi i jeden (1) musi być punktem. - - - + + + Tangency to B-spline edge currently unsupported. Styczna do krawędzi krzywej złożonej nie jest obecnie obsługiwana. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Wybierz jeden lub więcej łuków lub okręgów ze szkicu. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Wybierz tylko jeden lub więcej biegunów krzywej złożonej, albo tylko jeden lub więcej łuków lub okręgów ze szkicu, ale nie ich kombinację. - - - + + + Constraint only applies to arcs or circles. Wiązanie dotyczy tylko łuków lub okręgów. - - + + Select one or two lines from the sketch. Or select two edges and a point. Zaznacz jedną lub dwie linie ze szkicu. Albo zaznacz dwie krawędzie oraz punkt. - - + + Parallel lines Linie równoległe - - + + An angle constraint cannot be set for two parallel lines. Nie można zdefiniować wiązania kąta dla dwóch linii równoległych. - + Cannot add an angle constraint on an axis! Nie można dodać ustalonego wiązania kąta na osi! - + Select two edges from the sketch. Zaznacz dwie krawędzie ze szkicu. - + Select two or more compatible edges. Zaznacz dwie lub więcej zgodnych krawędzi. - + Sketch axes cannot be used in equality constraints. Osie szkiców nie mogą być używane z wiązaniami równości. - + Equality for B-spline edge currently unsupported. Równość pomiędzy krawędziami krzywej złożonej obecnie nie jest obsługiwana. - - - + + + + Select two or more edges of similar type. Wybierz dwie lub więcej krawędzi podobnego typu. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Wybierz dwa punkty i linię symetrii, dwa punkty i punkt symetrii lub linię i punkt symetrii ze szkicu. - - + + Cannot add a symmetry constraint between a line and its end points. Nie można dodać wiązania symetrii między linią i jej punktami końcowymi. - - + + + + Cannot add a symmetry constraint between a line and its end points! Nie można dodać wiązania symetrii między linią i jego punktami końcowymi! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Wybierz dwa końce linii, które mają działać jak półproste, oraz krawędź reprezentującą granicę. Pierwszy wybrany punkt odpowiada indeksowi n1, drugi n2, a wartość odniesienia określa stosunek n2 / n1. - + Selected objects are not just geometry from one sketch. Wybrane obiekty są nie tylko geometrią z jednego szkicu. - + Cannot create constraint with external geometry only. Nie można tworzyć wiązań tylko przy użyciu geometrii zewnętrznej. - + Incompatible geometry is selected. Wybrano niekompatybilną geometrię. - + SnellsLaw on B-spline edge is currently unsupported. Prawo Snell'a na krawędzi krzywej złożonej jest obecnie nieobsługiwana. - - - - - + + + + + Select constraints from the sketch. Wybierz wiązania ze szkicu. @@ -3032,155 +3155,155 @@ Akceptowane kombinacje: dwie krzywe; punkt końcowy i krzywa; dwa punkty końcow Zdefiniuj stopień krzywej złożonej między 1 a %1: + + - - CAD Kernel Error Błąd jądra CAD - + None of the selected elements is an edge. Żaden z wybranych elementów nie jest krawędzią. - - + + At least one of the selected objects was not a B-Spline and was ignored. Co najmniej jeden z wybranych obiektów nie był krzywą złożoną i został zignorowany. - - + + The selection comprises more than one item. Please select just one knot. Wybór obejmuje więcej niż jeden element. Proszę wybrać tylko jeden węzeł. - - + + Input Error Błąd danych wejściowych - - + + None of the selected elements is a knot of a B-spline Żaden z wybranych elementów nie jest węzłem B-spline - - + + Selection is empty Obszar zaznaczenia nie zawiera obiektów - + Nothing is selected. Please select a b-spline. Nic nie zostało wybrane. Wybierz krzywą złożoną. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Wybierz krzywą złożoną, aby wstawić węzeł (a nie węzeł na nią). Jeśli krzywa nie jest krzywą złożoną, najpierw ją przekształć. - + Nothing is selected. Please select end points of curves. Nic nie zostało wybrane. Proszę wybrać punkty końcowe krzywych - + Too many curves on point Zbyt wiele krzywych w punkcie - - + + Exactly two curves should end at the selected point to be able to join them. Dokładnie dwie krzywe powinny kończyć się w wybranym punkcie, aby można było je połączyć. - + Too few curves on point Zbyt mało krzywych w punkcie - + Two end points, or coincident point should be selected. Należy wybrać dwa punkty końcowe lub punkt pokrywający się. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Wybierz elementy z pojedynczego szkicu. - + No constraint selected Brak wybranych wiązań - + At least one constraint must be selected Co najmniej jedno wiązanie musi zostać wybrane - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Symetryczna konstrukcja wymaga co najmniej dwóch elementów geometrycznych, ostatni element geometryczny jest odniesieniem do budowy symetrii konstrukcyjnej. - + The last element must be a point or a line serving as reference for the symmetry construction. Ostatni element musi być punktem lub linią, służącymi jako odniesienie do budowy symetrii konstrukcyjnej. - - + + A copy requires at least one selected non-external geometric element Kopia wymaga co najmniej jednego wybranego elementu nie zewnętrznie geometrycznego - + Delete All Geometry Usuń wszystkie geometrie - + Are you really sure you want to delete all geometry and constraints? Czy na pewno chcesz usunąć całą geometrię i wiązania? - + Delete All Constraints Usuń wszystkie wiązania - + Are you really sure you want to delete all the constraints? Czy na pewno chcesz usunąć wszystkie wiązania? - + Removal of axes alignment requires at least one selected non-external geometric element Usunięcie wyrównania osi wymaga wybrania co najmniej jednego niezewnętrznego elementu geometrycznego - + Unsupported visual layer operation Nieobsługiwana operacja warstw wizualnych - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Obecnie nie jest obsługiwane przenoszenie geometrii zewnętrznej do innej warstwy wizualnej. Geometria zewnętrzna zostanie pominięta @@ -3339,7 +3462,7 @@ Przytrzymaj Ctrl + Alt, aby to zignorować. Weight - Grubość + Waga @@ -3380,67 +3503,67 @@ Przytrzymaj Ctrl + Alt, aby to zignorować. SketcherGui::ConstraintView - + Select Elements Wybierz elementy - + Change value Zmień wartość - + Toggle to/from reference Przełącz z / do trybu konstrukcyjnego - + Deactivate Dezaktywuj - + Activate Aktywuj - + Show constraints Pokaż wiązania - + Hide constraints Ukryj wiązania - + Rename Zmień nazwę - + Center sketch Wyśrodkuj szkic - + Delete Usuń - + Swap constraint names Zamień nazwy wiązań - + Unnamed constraint Wiązanie bez przypisanej nazwy - + Only the names of named constraints can be swapped. Tylko nazwy wiązań z przypisaną nazwą mogą być zamienione. @@ -3448,74 +3571,74 @@ Przytrzymaj Ctrl + Alt, aby to zignorować. SketcherGui::EditDatumDialog - + Insert angle Wstaw kąt - + Angle: Kąt: - + Insert radius Wstaw promień - + Radius: Promień: - + Insert diameter Wprowadź średnicę - + Diameter: Średnica: - + Insert weight Wstaw obciążenie - + Weight: Waga: - + Refractive index ratio Constraint_SnellsLaw Współczynnik załamania światła - + Ratio n2/n1: Constraint_SnellsLaw Stosunek n2/n1: - + Insert length Wstaw długość - + Length: Długość: - + Refractive index ratio Współczynnik załamania światła - + Ratio n2/n1: Stosunek n2/n1: @@ -3523,72 +3646,72 @@ Przytrzymaj Ctrl + Alt, aby to zignorować. SketcherGui::ElementFilterList - + Normal Normalny - + Construction Konstrukcyjny - + Internal Wewnętrzne - + External Zewnętrzne - + All types Wszystkie rodzaje - + Point Punkt - + Line Linia - + Circle Okrąg - + Ellipse Elipsa - + Arc of circle Łuk okręgu - + Arc of ellipse Łuk elipsy - + Arc of hyperbola Łuk hiperboli - + Arc of parabola Łuk paraboli - + B-Spline Krzywa złożona @@ -3596,142 +3719,142 @@ Przytrzymaj Ctrl + Alt, aby to zignorować. SketcherGui::ElementView - + Point Coincidence Zbieżność punktów - + Point on Object Punkt na obiekcie - + Vertical Constraint Wiązanie pionowe - + Horizontal Constraint Wiązanie poziome - + Parallel Constraint Wiązanie równoległości - + Perpendicular Constraint Wiązanie prostopadłości - + Tangent Constraint Wiązanie styczności - + Equal Length Wiązanie równej długości - + Symmetric Symetrycznie - + Block Constraint Wiązanie zablokowania - + Lock Constraint Wiązanie blokady odległości - + Horizontal Distance Odległość pozioma - + Vertical Distance Odległość pionowa - + Length Constraint Wiązanie długości - + Radius Constraint Wiązanie promienia - + Diameter Constraint Wiązanie średnicy - + Radiam Constraint Wiązanie promienia / średnicy - + Angle Constraint Wiązanie kąta - + Toggle construction geometry Przełącz tryb konstrukcji - + Select Constraints Wybierz wiązania - + Select Origin Wybierz odniesienie położenia - + Select Horizontal Axis Wybierz oś poziomą - + Select Vertical Axis Wybierz oś pionową - + Layer Warstwa - + Layer 0 Warstwa 0 - + Layer 1 Warstwa 1 - + Hidden - Niewidoczne + Ukryte - + Delete Usuń @@ -4015,6 +4138,75 @@ Wymaga ponownego przejścia do trybu edycji, aby mógł być skuteczny.Notify automatic constraint substitutions Powiadamiaj o automatycznych zamianach wiązań + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Obydwa + + + + Auto + Automatycznie + + + + Diameter + Średnica + + + + Radius + Promień + SketcherGui::SketcherSettingsColors @@ -4175,7 +4367,7 @@ Wymaga ponownego przejścia do trybu edycji, aby mógł być skuteczny. Constraint symbols - Symbole dla wiązań + Symbole wiązań @@ -4460,12 +4652,12 @@ Widoczne będą obiekty tylko za płaszczyzną szkicu. Zastosuj do istniejących szkiców - + Unexpected C++ exception Nieoczekiwany wyjątek C++ - + Sketcher Szkicownik @@ -4638,48 +4830,48 @@ Nie znaleziono jednak żadnych powiązań z punktami końcowymi. Ustawienia - + Constraints Wiązania - + Auto constraints Wiązania automatyczne - + Auto remove redundants Usuń wiązania nadmiarowe automatycznie - + Show only filtered Constraints Pokazuj wyłącznie wiązania według filtrów - + Extended information (in widget) Informacje rozszerzone (w widżecie) - + Hide internal alignment (in widget) Ukryj wyrównanie wewnętrzne (w widżecie) - - + + Error Błąd - + Impossible to update visibility tracking Brak możliwości śledzenia widoczności - + Impossible to update visibility tracking: Brak możliwości śledzenia widoczności: @@ -4711,6 +4903,33 @@ Nie znaleziono jednak żadnych powiązań z punktami końcowymi. Settings Ustawienia + + + + + + + + + + + + Construction + Konstrukcja + + + + Elements + Elementy + + + + + + + Point + Punkt + @@ -4722,110 +4941,83 @@ Nie znaleziono jednak żadnych powiązań z punktami końcowymi. - Construction - Konstrukcyjny - - - - Elements - Elementy - - - - - - - Point - Punkt - - - - - - - - - - - - Internal Wewnętrzne - - + + + - Line Linia - - + + + - Arc Łuk - - + + + - Circle Okrąg - - + + + - Ellipse Elipsa - - + + + - Elliptical Arc Łuk eliptyczny - - + + + - Hyperbolic Arc Łuk hiperboliczny - - + + + - Parabolic Arc Łuk paraboliczny - - + + + - BSpline BSpline - - + + + - Other Inne - + Extended information Informacje rozszerzone @@ -4833,42 +5025,42 @@ Nie znaleziono jednak żadnych powiązań z punktami końcowymi. SketcherGui::TaskSketcherMessages - + Solver messages Komunikaty solvera - + Auto update Aktualizuj automatycznie - + Executes a recomputation of active document after every sketch action Wykonuje ponowne obliczenie aktywnego dokumentu po każdym poleceniu - + Click to select the conflicting constraints. Kliknij, aby wybrać sprzeczne wiązania. - + Click to select the redundant constraints. Kliknij, aby wybrać zbędne wiązania. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Szkic ma niezwiązane elementy dające podstawy do tych stopni swobody. Kliknij aby wybrać niezwiązane elementy. - + Click to select the malformed constraints. Kliknij, aby wybrać zniekształcone wiązania. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Niektóre wiązania w połączeniu są częściowo zbędne. Kliknij, aby wybrać częściowo zbędne wiązania. @@ -5046,112 +5238,112 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. SketcherGui::ViewProviderSketch - + Edit sketch Edytuj szkic - + A dialog is already open in the task panel Okno dialogowe jest już otwarte w panelu zadań - + Do you want to close this dialog? - Czy chcesz zamknąć to okno dialogowe? + Czy chcesz zamknąć to okno? - + Invalid sketch Nieprawidłowy szkic - + Do you want to open the sketch validation tool? Czy chcesz otworzyć narzędzie sprawdzania szkicu? - + The sketch is invalid and cannot be edited. Szkic jest nieprawidłowy i nie może być edytowany. - + Please remove the following constraint: Usuń następujące wiązania: - + Please remove at least one of the following constraints: Usuń co najmniej jedno z następujących wiązań: - + Please remove the following redundant constraint: Usuń następujący zbędny wiąz: - + Please remove the following redundant constraints: Usuń następujące, nadmiarowe wiązania: - + The following constraint is partially redundant: Następujące wiązanie jest częściowo zbędne: - + The following constraints are partially redundant: Następujące wiązania są częściowo zbędne: - + Please remove the following malformed constraint: Proszę usunąć następujące błędnie sformułowane wiązanie: - + Please remove the following malformed constraints: Proszę usunąć następujące błędnie sformułowane wiązania: - + Empty sketch Pusty szkic - + Over-constrained: Nadmiernie związany szkic: - + Malformed constraints: Zniekształcone wiązania: - + Redundant constraints: Wiązania nadmiarowe: - + Partially redundant: Częściowo nadmiarowe: - + Solver failed to converge Solver nie osiągnął zbieżności - + Under constrained: Niezwiązany: - + %n DoF(s) %n stopień swobody @@ -5161,7 +5353,7 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. - + Fully constrained W pełni związany @@ -5169,8 +5361,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Przełączaj widoczność grzebienia krzywizny dla wszystkich łuków krzywej złożonej @@ -5178,8 +5370,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Zmniejsza wielokrotność wybranego węzła krzywej złożonej @@ -5187,8 +5379,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Przełączaj widoczność stopnia dla wszystkich odcinków krzywej złożonej @@ -5196,8 +5388,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Zwiększa wielokrotność wybranego węzła krzywej złożonej @@ -5205,8 +5397,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Przełączaj widoczność wielkości węzłów dla wszystkich odcinków krzywej złożonej @@ -5214,8 +5406,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Przełączaj pomiędzy pokazywaniem a ukrywaniem punktów kontrolnych dla wszystkich B-spline @@ -5223,8 +5415,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Przełącz widoczność ramki kontrolnej dla wszystkich krzywych złożonych @@ -5232,8 +5424,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Tworzy prostą kopię geometrii przyjmującej jako odniesienie ostatni wybrany punkt @@ -5241,17 +5433,17 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_CompCopy - + Clone Klonuj - + Copy Kopiuj - + Move Przesuń @@ -5259,8 +5451,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Ustal średnicę okręgu lub łuku @@ -5268,7 +5460,7 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Określ promień / średnicę okręgu lub łuku @@ -5276,8 +5468,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Ustalenie promienia okręgu lub łuku @@ -5285,7 +5477,7 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Określ promień / średnicę okręgu lub łuku @@ -5293,8 +5485,8 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Tworzy prostą kopię geometrii przyjmującej jako odniesienie ostatni wybrany punkt @@ -5513,64 +5705,64 @@ Odbywa się to przez analizę geometrii szkicu i wiązań. Sketcher_MapSketch - + No sketch found Nie znaleziono szkicu - + The document doesn't have a sketch Dokument nie zawiera szkicu - + Select sketch Wybierz szkic - + Select a sketch from the list Wybierz szkic z listy - + (incompatible with selection) (niezgodność z zaznaczeniem) - + (current) (bieżący) - + (suggested) (sugerowane) - + Sketch attachment Dołączenie szkicu - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Obecny tryb przyłączania jest niekompatybilny z nowym zaznaczeniem. Wybierz metodę, aby dołączyć ten szkic do wybranych obiektów. - + Select the method to attach this sketch to selected objects. Wybierz metodę, aby dołączyć ten szkic do wybranych obiektów. - + Map sketch Dołącz szkic - + Can't map a sketch to support: %1 Nie można odwzorować rysunku do wsparcia: @@ -5580,8 +5772,8 @@ Wybierz metodę, aby dołączyć ten szkic do wybranych obiektów. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Przenosi geometrię przyjmując jako odniesienie ostatni wybrany punkt @@ -5589,12 +5781,12 @@ Wybierz metodę, aby dołączyć ten szkic do wybranych obiektów. Sketcher_NewSketch - + Sketch attachment Dołączenie szkicu - + Select the method to attach this sketch to selected object Wybierz metodę, aby dołączyć ten szkic do wybranego obiektu @@ -5602,12 +5794,12 @@ Wybierz metodę, aby dołączyć ten szkic do wybranych obiektów. Sketcher_ReorientSketch - + Sketch has support Szkic ze wsparciem - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Nie można zmienić orientacji szkicu z powierzchnią odniesienia. @@ -5616,11 +5808,6 @@ Chcesz odłączyć go od odniesienia? TaskSketcherMessages - - - Form - Formularz - DOF @@ -5629,7 +5816,7 @@ Chcesz odłączyć go od odniesienia? Link - Łącze + Odnośnik @@ -5639,11 +5826,6 @@ Chcesz odłączyć go od odniesienia? TaskSketcherSolverAdvanced - - - Form - Formularz - Default algorithm used for Sketch solving @@ -5916,7 +6098,7 @@ Eigen Sparse QR, algorytm jest zoptymalizowany dla macierzy rzadkich, zwykle szy ViewProviderSketch - + and %1 more i %1 więcej @@ -6106,22 +6288,22 @@ Rozstaw siatki zmienia się, jeśli staje się mniejszy niż określona liczba p GridSpaceAction - + Grid auto spacing Odstęp linii siatki — automatycznie - + Resize grid automatically depending on zoom. Zmień rozmiar siatki automatycznie w zależności od powiększenia. - + Spacing Rozstaw - + Distance between two subsequent grid lines. Odległość między sąsiednimi liniami siatki. @@ -6129,86 +6311,86 @@ Rozstaw siatki zmienia się, jeśli staje się mniejszy niż określona liczba p Notifications - + The Sketch has malformed constraints! Szkic zawiera zniekształcone wiązania! - + The Sketch has partially redundant constraints! Szkic zawiera częściowo zbędne wiązania! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabole zostały poddane migracji. Pliki po imporcie nie otworzą się w poprzednich wersjach programu FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Błąd - + Failed to delete all geometry Nie udało się usunąć całej geometrii - + Failed to delete all constraints Nie udało się usunąć wszystkich wiązań - + The constraint has invalid index information and is malformed. Ograniczenie ma nieprawidłowe informacje o indeksie i jest zniekształcone. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Nieprawidłowe wiązanie @@ -6250,8 +6432,8 @@ Rozstaw siatki zmienia się, jeśli staje się mniejszy niż określona liczba p Błąd podczas tworzenia bieguna krzywej złożonej - + Error creating B-spline Błąd podczas tworzenia krzywej złożonej @@ -6348,9 +6530,9 @@ Rozstaw siatki zmienia się, jeśli staje się mniejszy niż określona liczba p Nie udało się przyciąć krawędzi - - - + + + Value Error Błąd wartości @@ -6386,34 +6568,34 @@ Rozstaw siatki zmienia się, jeśli staje się mniejszy niż określona liczba p SnapSpaceAction - + Snap to objects Przyciągaj do obiektów - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Nowe punkty będą przyciągane do aktualnie wybranego obiektu. Przyciągają się również do środka linii i łuków. - + Snap to grid Przyciągaj do siatki - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Nowe punkty będą przyciągane do najbliższej linii siatki. Punkty muszą być ustawione bliżej niż jedna piąta odstępu między liniami siatki, aby zostały przyciągnięte. - + Snap angle Przyciągaj do kąta - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Krok kąta dla narzędzi, które używają "Przyciągania do kąta" (na przykład linia). Przytrzymaj CTRL, aby włączyć "Przyciąganie pod kątem". Kąt zaczyna się od dodatniej osi X szkicu, poziomo w prawo. @@ -6421,24 +6603,24 @@ Przytrzymaj CTRL, aby włączyć "Przyciąganie pod kątem". Kąt zaczyna się o RenderingOrderAction - - - - - Normal Geometry - Geometria normalna - - Construction Geometry - Geometria konstrukcyjna + Normal Geometry + Geometria normalna + Construction Geometry + Geometria konstrukcyjna + + + + + External Geometry Geometria zewnętrzna @@ -6459,12 +6641,12 @@ Przytrzymaj CTRL, aby włączyć "Przyciąganie pod kątem". Kąt zaczyna się o CmdSketcherGrid - + Toggle grid Przełącz widoczność siatki - + Toggle the grid in the sketch. In the menu you can change grid settings. Włącz / wyłącz siatkę w szkicu. W menu można zmienić ustawienia siatki. @@ -6472,12 +6654,12 @@ Przytrzymaj CTRL, aby włączyć "Przyciąganie pod kątem". Kąt zaczyna się o CmdSketcherSnap - + Toggle snap Włącz / wyłącz przyciąganie - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Przełącz wszystkie funkcje przyciągania. W menu możesz przełączać indywidualne przełączniki "Przyciągnij do siatki" i "Przyciągnij do obiektów" i zmieniać dodatkowe ustawienia przyciągania. @@ -6508,4 +6690,34 @@ Przytrzymaj CTRL, aby włączyć "Przyciąganie pod kątem". Kąt zaczyna się o Utwórz okresową krzywą złożoną przez węzły, tzn. interpolację na rysunku. + + CmdSketcherDimension + + + Dimension + Wymiar + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-BR.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-BR.ts index cf7a6947f8..0e67fa43d0 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-BR.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-BR.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Mostrar/ocultar o pente de curvatura de B-spline - + Switches between showing and hiding the curvature comb for all B-splines Alterna entre mostrar e ocultar o pente de curvatura para todas as B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Mostrar/ocultar grau de B-spline - + Switches between showing and hiding the degree for all B-splines Alterna entre mostrar e ocultar o grau para todas os B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Mostrar/ocultar multiplicidade de nós de B-spline - + Switches between showing and hiding the knot multiplicity for all B-splines Alterna entre mostrar e ocultar a multiplicidade de nós para todas as B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Mostrar/ocultar o peso dos pontos de controle da B-spline - + Switches between showing and hiding the control point weight for all B-splines Alterna entre mostrar e ocultar o peso dos pontos de controle para todas as B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Mostrar/ocultar polígono de controle de B-spline - + Switches between showing and hiding the control polygons for all B-splines Alterna entre mostrar e ocultar os polígonos de controle para todas as B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Cria um clone da geometria tomando como referência o último ponto selecionado @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Mostrar/ocultar a camada de informações da B-spline - + Show/hide B-spline degree Mostrar/ocultar grau de B-spline - + Show/hide B-spline control polygon Mostrar/ocultar polígono de controle de B-spline - + Show/hide B-spline curvature comb Mostrar/ocultar o pente de curvatura de B-spline - + Show/hide B-spline knot multiplicity Mostrar/ocultar multiplicidade de nós de B-spline - + Show/hide B-spline control point weight Mostrar/ocultar o peso dos pontos de controle da B-spline @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Restringir arco ou círculo - + Constrain an arc or a circle Restringir um arco ou um círculo - + Constrain radius Restrição de raio - + Constrain diameter Restringir o diâmetro - + Constrain auto radius/diameter Restringir raio/diâmetro automáticos @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Cria um clone da geometria tomando como referência o último ponto selecionado @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modificar a multiplicidade de nós - + Modifies the multiplicity of the selected knot of a B-spline Modifica a multiplicidade do nós selecionados de uma B-spline - + Increase knot multiplicity Aumentar a multiplicidade de nós - + Decrease knot multiplicity Diminuir a multiplicidade de nós @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Ângulo de restrição - + Fix the angle of a line or the angle between two lines Fixar o ângulo de uma linha ou o ângulo entre duas linhas @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Restrição de bloqueio - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Restrição de coincidência - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Restringir o diâmetro - + Fix the diameter of a circle or an arc Corrigir o diâmetro de um círculo ou arco @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Restrição de distância - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Restrição de distância horizontal - + Fix the horizontal distance between two points or line ends Fixar a distância horizontal entre dois pontos ou extremidades de linha @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Restringir a distância vertical - + Fix the vertical distance between two points or line ends Fixar a distância vertical entre dois pontos ou extremidades de linha @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Restrição igual - + Create an equality constraint between two lines or between circles and arcs Criar uma restrição de igualdade entre duas linhas ou círculos e arcos @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Restringir horizontalmente - + Create a horizontal constraint on the selected item Criar uma restrição horizontal sobre o item selecionado @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Restrição de bloqueio - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Restrição paralela - + Create a parallel constraint between two lines Criar uma restrição paralela entre duas linhas @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Restrição perpendicular - + Create a perpendicular constraint between two lines Criar uma restrição perpendicular entre duas linhas @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Restringir um ponto sobre um objeto - + Fix a point onto an object Fixar um ponto sobre um objeto @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Restringir raio/diâmetro automáticos - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Restrição de raio ou peso - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Bloquea o raio de um círculo ou arco ou o peso de um polo de um B-Spline @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,27 +600,27 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Restrição simétrica - + Create a symmetry constraint between two points with respect to a line or a third point - Criar uma restrição de simetria entre dois pontos + Criar uma restrição de simetria entre dois pontos em relação a uma linha ou um terceiro ponto CmdSketcherConstrainTangent - + Constrain tangent Restrição tangente - + Create a tangent constraint between two entities Criar uma restrição tangente entre duas entidades @@ -628,12 +628,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherConstrainVertical - + Constrain vertically Restringir verticalmente - + Create a vertical constraint on the selected item Criar uma restrição vertical sobre o item selecionado @@ -641,12 +641,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherConvertToNURBS - + Convert geometry to B-spline Converter geometria para B-spline - + Converts the selected geometry to a B-spline Converte a geometria selecionada em uma B-spline @@ -654,12 +654,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherCopy - + Copy Copiar - + Creates a simple copy of the geometry taking as reference the last selected point Cria uma cópia simples da geometria tomando como referência o último ponto selecionado @@ -1018,12 +1018,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherDecreaseDegree - + Decrease B-spline degree Diminuir grau B-spline - + Decreases the degree of the B-spline Diminui o grau de uma B-spline @@ -1031,12 +1031,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Diminuir a multiplicidade de nós - + Decreases the multiplicity of the selected knot of a B-spline Diminui a multiplicidade do nó selecionado de uma B-spline @@ -1044,12 +1044,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherDeleteAllConstraints - + Delete all constraints Excluir todas as restrições - + Delete all constraints in the sketch Excluir todas as restrições do esboço @@ -1057,12 +1057,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherDeleteAllGeometry - + Delete all geometry Excluir toda a geometria - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Excluir todas as restrições e geometria do esboço atual, com exceção da geometria externa @@ -1070,12 +1070,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherEditSketch - + Edit sketch Editar esboço - + Edit the selected sketch. Editar o esboço selecionado. @@ -1109,12 +1109,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherIncreaseDegree - + Increase B-spline degree Aumentar grau B-spline - + Increases the degree of the B-spline Aumenta o grau da B-spline @@ -1122,12 +1122,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Aumentar a multiplicidade de nós - + Increases the multiplicity of the selected knot of a B-spline Aumenta a multiplicidade do nó selecionado de uma B-spline @@ -1135,12 +1135,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherInsertKnot - + Insert knot Insert knot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1148,12 +1148,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1161,12 +1161,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherLeaveSketch - + Leave sketch Sair do esboço - + Finish editing the active sketch. Finaliza a edição do esboço ativo. @@ -1174,12 +1174,12 @@ em relação a uma linha ou um terceiro ponto CmdSketcherMapSketch - + Map sketch to face... Esboço para face... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1188,7 +1188,7 @@ Selecione primeiro a geometria de suporte, por exemplo uma face ou uma aresta de em seguida, execute este comando e escolha o esboço desejado. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Alguns dos objetos selecionados dependem do esboço a ser mapeado. Dependências circulares não são permitidas. @@ -1196,22 +1196,22 @@ em seguida, execute este comando e escolha o esboço desejado. CmdSketcherMergeSketches - + Merge sketches Mesclar esboços - + Create a new sketch from merging two or more selected sketches. Criar um novo esboço ao mesclar dois ou mais esboços selecionados. - + Wrong selection Seleção errada - + Select at least two sketches. Selecione pelo menos dois esboços. @@ -1219,12 +1219,12 @@ em seguida, execute este comando e escolha o esboço desejado. CmdSketcherMirrorSketch - + Mirror sketch Espelhar o esboço - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1233,12 +1233,12 @@ usando os eixos X ou Y ou o ponto de origem como referência espelhada. - + Wrong selection Seleção errada - + Select one or more sketches. Selecione um ou mais esboços. @@ -1246,12 +1246,12 @@ como referência espelhada. CmdSketcherMove - + Move Mover - + Moves the geometry taking as reference the last selected point Move a geometria usando como referência o último ponto selecionado @@ -1259,12 +1259,12 @@ como referência espelhada. CmdSketcherNewSketch - + Create sketch Criar um esboço - + Create a new sketch. Criar um novo esboço. @@ -1272,12 +1272,12 @@ como referência espelhada. CmdSketcherRectangularArray - + Rectangular array Rede retangular - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Cria um padrão retangular da geometria com referência ao último ponto selecionado @@ -1285,12 +1285,12 @@ como referência espelhada. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Remover o alinhamento dos eixos - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifica as restrições para remover o alinhamento dos eixos enquanto tenta preservar a relação de restrição da seleção @@ -1298,12 +1298,12 @@ como referência espelhada. CmdSketcherReorientSketch - + Reorient sketch... Reorientar um esboço... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Coloque o esboço selecionado em um dos planos de coordenadas globais. @@ -1313,12 +1313,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Mostrar/ocultar geometria interna - + Show all internal geometry or hide unused internal geometry Mostrar toda a geometria interna ou ocultar a geometria interna não utilizada @@ -1326,8 +1326,8 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Selecionar restrições conflitantes @@ -1335,12 +1335,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectConstraints - + Select associated constraints Selecionar restrições associadas - + Select the constraints associated with the selected geometrical elements Selecionar as restrições associadas aos elementos geométricos selecionados @@ -1348,12 +1348,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Selecionar geometria associada - + Select the geometrical elements associated with the selected constraints Selecionar os elementos geométricos associados às restrições selecionadas @@ -1361,12 +1361,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Selecionar grau de liberdade não restrito - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Selecionar os elementos geométricos onde o calculador ainda detecta graus de liberdade sem restrições. @@ -1374,12 +1374,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Selecionar eixo horizontal - + Select the local horizontal axis of the sketch Selecionar o eixo horizontal local do esboço @@ -1387,8 +1387,8 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Selecione restrições malformadas @@ -1396,12 +1396,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectOrigin - + Select origin Selecionar a origem - + Select the local origin point of the sketch Selecionar o ponto de origem local do esboço @@ -1409,8 +1409,8 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Selecionar restrições parcialmente redundantes @@ -1418,8 +1418,8 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Selecionar restrições redundantes @@ -1427,12 +1427,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSelectVerticalAxis - + Select vertical axis Selecionar o eixo vertical - + Select the local vertical axis of the sketch Selecionar o eixo vertical local do esboço @@ -1453,12 +1453,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherStopOperation - + Stop operation Parar a operação - + When in edit mode, stop the active operation (drawing, constraining, etc.). Quando estiver no modo de edição, para a operação ativa (desenho, restrição, etc.). @@ -1479,12 +1479,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherSymmetry - + Symmetry Simetria - + Creates symmetric geometry with respect to the last selected line or point Cria uma geometria simétrica em relação ao último ponto ou linha selecionada @@ -1492,12 +1492,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Ativar/desativar restrição - + Activates or deactivates the selected constraints Ativa ou desativa as restrições selecionadas @@ -1518,12 +1518,12 @@ Isto irá limpar a propriedade 'Suporte', se houver. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Ativar/desativar restrição atuante ou de referência - + Set the toolbar, or the selected constraints, into driving or reference mode Colocar a barra de ferramentas, ou as restrições selecionadas, @@ -1546,24 +1546,24 @@ no modo atuante ou de referência CmdSketcherValidateSketch - + Validate sketch... Validar um esboço... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Validar um esboço olhando para coincidências faltando, restrições inválidas, geometria corrompida, etc. - + Wrong selection Seleção errada - + Select only one sketch. Selecione apenas um esboço. @@ -1571,12 +1571,12 @@ restrições inválidas, geometria corrompida, etc. CmdSketcherViewSection - + View section Ver seção - + When in edit mode, switch between section view and full view. Quando em modo de edição, alterna entre vista da seção e vista completa. @@ -1584,12 +1584,12 @@ restrições inválidas, geometria corrompida, etc. CmdSketcherViewSketch - + View sketch Ver esboço - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Quando estiver em modo de edição, coloca a orientação da câmera perpendicular ao plano do esboço. @@ -1597,287 +1597,404 @@ restrições inválidas, geometria corrompida, etc. Command - - + + Add horizontal constraint Adicionar restrição horizontal - - - + + + Add horizontal alignment Adicionar alinhamento horizontal - - + + Add vertical constraint Adicionar restrição vertical - + Add vertical alignment Adicionar alinhamento vertical - + Add 'Lock' constraint Adicionar restrição 'Travar' - + Add relative 'Lock' constraint Adicionar restrição 'Travar' relativa - + Add fixed constraint Adicionar restrição fixa - + Add 'Block' constraint Adicionar restrição 'Bloquear' - + Add block constraint Adicionar restrição 'Bloquear' - - - + + + Add coincident constraint Adicionar restrição coincidente - - + + Add distance from horizontal axis constraint Adiciona restrição na distância ao eixo horizontal - - + + Add distance from vertical axis constraint Adiciona restrição na distância ao eixo vertical - - + + Add point to point distance constraint Adiciona restrição na distância ponto a ponto - - + + + Add point to line Distance constraint Adicionar restrição na distância entre ponto e linha - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint Adiciona restrição de comprimento - - + + + Dimension + Dimensão + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Adiciona restrição tipo 'ponto-no-objeto' - - + + Add point to point horizontal distance constraint Adicionar restrição de distância horizontal ponto a ponto - + Add fixed x-coordinate constraint Adiciona restrição de coordenada x fixa - - + + Add point to point vertical distance constraint Adiciona restrição de distância vertical ponto a ponto - + Add fixed y-coordinate constraint Adiciona restrição de coordenada y fixa - - + + Add parallel constraint Adiciona restrição paralela - - - - - - - + + + + + + + Add perpendicular constraint Adiciona restrição perpendicular - + Add perpendicularity constraint Adicionar restrição de perpendicularidade - + Swap coincident+tangency with ptp tangency Trocar coincidência+tangência por tangência ponto-a-ponto - + Swap PointOnObject+tangency with point to curve tangency Trocar PointOnObject+tangência por tangência de ponto para curva - - - - - - - + + + + + + + Add tangent constraint Adiciona restrição tangente - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Adiciona ponto de tangência - - - - + + + + Add radius constraint Adicionar restrição de raio - - - - + + + + Add diameter constraint Adicionar restrição de diâmetro - - - - + + + + Add radiam constraint Adicionar restrição de raio - - - - - - + + + + + + Add angle constraint Adicionar restrição de ângulo - - + + Add equality constraint Adicionar restrição de igualdade - - - - - + + + + + Add symmetric constraint Adicionar restrição simétrica - + Add Snell's law constraint Adicionar restrição lei de Snell - + Toggle constraint to driving/reference Alternar o tipo da restrição entre motriz ou referência - + Activate/Deactivate constraint Ativar/desativar restrição - + Create a new sketch on a face Criar um novo esboço em uma face - + Create a new sketch Criar um novo esboço - + Reorient sketch Reorientar um esboço - + Attach sketch Anexar esboço - + Detach sketch Desanexar esboço - + Create a mirrored sketch for each selected sketch Criar um esboço espelhado para cada esboço selecionado - + Merge sketches Mesclar esboços @@ -1995,72 +2112,72 @@ restrições inválidas, geometria corrompida, etc. Adicionar hexágono - + Convert to NURBS Converter para NURBS - + Increase spline degree Aumentar grau de spline - + Decrease spline degree Diminuir grau de spline - + Increase knot multiplicity Aumentar a multiplicidade de nós - + Decrease knot multiplicity Diminuir a multiplicidade de nós - + Insert knot Insert knot - + Join Curves Join Curves - + Exposing Internal Geometry Exposição da geometria interna - + Create symmetric geometry Criar geometria simétrica - + Copy/clone/move geometry Copiar/clonar/mover geometria - + Create copy of geometry Criar cópia da geometria - + Delete all geometry Excluir toda a geometria - + Delete All Constraints Excluir todas as restrições - + Remove Axes Alignment Remover Alinhamento dos Eixos @@ -2071,44 +2188,44 @@ restrições inválidas, geometria corrompida, etc. - - - + + + Update constraint's virtual space Atualizar espaço virtual das restrições - + Add auto constraints Adicionar restrições automáticas - + Swap constraint names Trocar nomes de restrição - + Rename sketch constraint Renomear restrição do esboço - + Drag Point Arrastar Ponto - + Drag Curve Arrastar Curva - + Drag Constraint Restrição de arrasto - + Modify sketch constraints Modificar restrições do esboço @@ -2169,59 +2286,59 @@ restrições inválidas, geometria corrompida, etc. Erro de restrição automática: esboço insolúvel após a aplicação de restrições de igualdade. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Não é possível adivinhar a intersecção das curvas. Tente adicionar uma restrição coincidente entre os vértices das curvas que você pretende filetar. - - + + BSpline Geometry Index (GeoID) is out of bounds. Índice de geometria BSpline (GeoID) está fora dos limites. - + You are requesting no change in knot multiplicity. Você não solicitou nenhuma mudança de multiplicidade em nós. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. O índice de geometria (GeoId) fornecida não é uma curva B-spline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. O índice do nó está fora dos limites. Note que, de acordo com a notação do OCC, o primeiro nó tem índice 1 e não zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. A multiplicidade não pode ser aumentada além do grau de B-spline. - + The multiplicity cannot be decreased beyond zero. A multiplicidade não pode ser diminuída abaixo de zero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. O OCC não consegue diminuir a multiplicidade dentro de tolerância máxima. - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2237,210 +2354,213 @@ restrições inválidas, geometria corrompida, etc. QObject - - - - + + + + Sketcher Esboço - + There are no modes that accept the selected set of subelements Não existem modos que aceitem o conjunto de sub-elementos selecionado - + Broken link to support subelements Ligação perdida aos sub-elementos de suporte - - + + Unexpected error Erro inesperado - + Face is non-planar A face não é plana - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) As formas selecionadas são do tipo errado (por exemplo, uma aresta curva onde uma reta é necessária) - + Sketch mapping Mapeamento de esboço - + Can't map the sketch to selected object. %1. Não é possível mapear o esboço no objeto selecionado. %1. - - + + Don't attach Não anexar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Seleção errada @@ -2451,339 +2571,339 @@ restrições inválidas, geometria corrompida, etc. Selecione aresta(s) no esboço. - + Not allowed to edit the datum because the sketch contains conflicting constraints Não é possível editar o dado porque o esboço contém restrições conflitantes - + Dimensional constraint Restrição de dimensão - + Cannot add a constraint between two external geometries. Não é possível adicionar uma restrição entre duas geometrias externas. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Substituição de restrição do Esboço - + Keep notifying me of constraint substitutions Continuar me avisando sobre substituições de restrições - - - + + + Only sketch and its support are allowed to be selected. Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. One of the selected has to be on the sketch. - - + + Select an edge from the sketch. Selecione uma aresta do esboço. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Restrição impossível - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint Restrição dupla - - - - - + + + + + The selected edge already has a horizontal constraint! A aresta selecionada já tem uma restrição horizontal! - - - + + + The selected edge already has a vertical constraint! A aresta selecionada já tem uma restrição vertical! - - - - - - + + + + + + The selected edge already has a Block constraint! A aresta selecionada já possui uma restrição de Bloqueio! - + The selected item(s) can't accept a horizontal constraint! Os itens selecionados não podem aceitar uma restrição horizontal! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Há mais de um ponto fixo selecionado. Selecione no máximo um ponto fixo! - + The selected item(s) can't accept a vertical constraint! Os itens selecionados não podem aceitar uma restrição vertical! - - - + + + Select vertices from the sketch. Selecione vértices do esboço. - + Select one vertex from the sketch other than the origin. Selecione um vértice do esboço que não seja a origem. - + Select only vertices from the sketch. The last selected vertex may be the origin. Selecione somente os vértices do esboço. O último vértice selecionado pode ser a origem. - + Wrong solver status Erro no status do calculador - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Uma restrição de bloqueio não pode ser adicionada se o esboço não estiver resolvido ou se existirem restrições redundantes e/ou conflitantes. - + Select one edge from the sketch. Selecione uma aresta do esboço. - + Select only edges from the sketch. Selecione somente arestas do esboço. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error Erro - + Unexpected error. More information may be available in the Report View. Erro inesperado. Mais informações podem estar disponíveis na visualização do relatório. - + Endpoint to endpoint tangency was applied instead. Uma tangência de ponto a ponto de extremidade foi aplicado em vez disso. - + Select two or more points from the sketch. Selecione dois ou mais pontos no esboço. - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Selecione exatamente uma linha ou um ponto e uma linha ou dois pontos no esboço. - + Cannot add a length constraint on an axis! Não é possível adicionar uma restrição de comprimento em um eixo! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Uma tangência de ponto de extremidade a aresta foi aplicada em vez disso. - - - - - - - + + + + + + + Select the right things from the sketch. Selecione as coisas corretas no esboço. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Nenhum dos pontos selecionados foi restrito sobre as respectivas curvas, porque elas são partes do mesmo elemento, porque são ambos geometria externa, ou porque a aresta não é elegível. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Nenhum dos pontos selecionados foi restringido para as respectivas curvas, eles são partes do mesmo elemento, ou ambos são geometria externa. - - - - + + + + Select exactly one line or up to two points from the sketch. Selecione exatamente uma linha ou até dois pontos no esboço. - + Cannot add a horizontal length constraint on an axis! Não é possível adicionar uma restrição de comprimento horizontal em um eixo! - + Cannot add a fixed x-coordinate constraint on the origin point! Não é possível adicionar uma restrição de coordenada-x fixa no ponto de origem! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! Não é possível adicionar uma restrição de comprimento vertical em um eixo! - + Cannot add a fixed y-coordinate constraint on the origin point! Não é possível adicionar uma restrição de coordenada-y fixa no ponto de origem! - + Select two or more lines from the sketch. Selecione duas ou mais linhas no esboço. - - + + Select at least two lines from the sketch. Selecione pelo menos duas linhas no esboço. - + Select a valid line. Select a valid line. - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2793,42 +2913,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois pontos de extremidade; duas curvas e um ponto. - + Select some geometry from the sketch. perpendicular constraint Selecione alguma geometria do esboço. - - + + Cannot add a perpendicularity constraint at an unconnected point! Não é possível adicionar uma restrição de perpendicularidade em um ponto não conectado! - - - + + + Perpendicular to B-spline edge currently unsupported. Perpendicular à aresta de Bspline ainda não está suportado. - - + + One of the selected edges should be a line. Uma das arestas selecionadas deve ser uma linha. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Uma tangência de ponto a ponto foi aplicada. A restrição de coincidência foi excluída. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Uma tangência de ponto de extremidade a aresta foi aplicada. A restrição de ponto no objeto foi excluída. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2838,179 +2958,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois pontos de extremidade; duas curvas e um ponto. - + Select some geometry from the sketch. tangent constraint Selecione alguma geometria do esboço. - - - + + + Cannot add a tangency constraint at an unconnected point! Não é possível adicionar uma restrição de tangência em um ponto não conectado! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! Número errado de objetos selecionados! - - + + With 3 objects, there must be 2 curves and 1 point. Com 3 objetos, deve haver 2 curvas e 1 ponto. - - - + + + Tangency to B-spline edge currently unsupported. Tangência à aresta de Bspline ainda não está suportado. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Selecione um ou mais arcos ou círculos no esboço. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Selecione somente um ou mais polos B-Spline ou apenas um ou mais arcos ou círculos do esboço, mas não misturados. - - - + + + Constraint only applies to arcs or circles. Restrição aplicável somente em arcos ou círculos. - - + + Select one or two lines from the sketch. Or select two edges and a point. Selecione uma ou duas linhas no esboço. Ou selecione um ponto e duas arestas. - - + + Parallel lines Linhas paralelas - - + + An angle constraint cannot be set for two parallel lines. Uma restrição de ângulo não pode ser aplicada em duas linhas paralelas. - + Cannot add an angle constraint on an axis! Não é possível adicionar uma restrição de ângulo em um eixo! - + Select two edges from the sketch. Selecione duas arestas no esboço. - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. Sketch axes cannot be used in equality constraints. - + Equality for B-spline edge currently unsupported. Igualdade para aresta de Bspline ainda não está suportada. - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Selecione dois pontos e uma linha de simetria, dois pontos e um ponto de simetria ou uma linha e um ponto de simetria no esboço. - - + + Cannot add a symmetry constraint between a line and its end points. Não é possível adicionar uma restrição de simetria entre uma linha e seus pontos finais. - - + + + + Cannot add a symmetry constraint between a line and its end points! Não é possível adicionar uma restrição de simetria entre uma linha e seus pontos finais! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Selecione dois pontos finais de linhas para agir como raios e uma aresta que representa um limite. O primeiro ponto selecionado corresponde ao índice n1, o segundo ao n2, e o valor de datum define a proporção n2/n1. - + Selected objects are not just geometry from one sketch. Objetos selecionados não são apenas geometria de um esboço só. - + Cannot create constraint with external geometry only. Não é possível criar restrições somente com geometria externa. - + Incompatible geometry is selected. Geometria incompatível selecionada. - + SnellsLaw on B-spline edge is currently unsupported. Restrições SnellsLaw em arestas de Bspline ainda não são suportadas. - - - - - + + + + + Select constraints from the sketch. Selecione restrições do esboço. @@ -3032,155 +3155,155 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error Erro de Kernel CAD - + None of the selected elements is an edge. Nenhum dos elementos selecionados é uma aresta. - - + + At least one of the selected objects was not a B-Spline and was ignored. Pelo menos um dos objetos selecionados não era um B-Spline e foi ignorado. - - + + The selection comprises more than one item. Please select just one knot. A seleção engloba mais de um item. Por favor, selecione apenas um nó. - - + + Input Error Erro de entrada - - + + None of the selected elements is a knot of a B-spline Nenhum dos elementos selecionados é um nó de uma B-spline - - + + Selection is empty A seleção está vazia - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Selecione elementos de um esboço único. - + No constraint selected Nenhuma restrição selecionada - + At least one constraint must be selected Pelo menos uma restrição deve ser selecionada - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Uma construção simétrica requer pelo menos dois elementos geométricos, sendo o último elemento geométrico a referência para a construção da simetria. - + The last element must be a point or a line serving as reference for the symmetry construction. O último elemento deve ser um ponto ou uma linha, servindo como referência para a construção da simetria. - - + + A copy requires at least one selected non-external geometric element Uma cópia requer pelo menos um elemento geométrico não-externo selecionado - + Delete All Geometry Excluir toda a geometria - + Are you really sure you want to delete all geometry and constraints? Tem certeza que deseja excluir todas as geometria e restrições? - + Delete All Constraints Excluir todas as restrições - + Are you really sure you want to delete all the constraints? Tem certeza de que deseja excluir todas as restrições? - + Removal of axes alignment requires at least one selected non-external geometric element A remoção do alinhamento dos eixos requer, pelo menos, um elemento geométrico não externo selecionado - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3379,67 +3502,67 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value Mudar o valor - + Toggle to/from reference Alternar para/de referência - + Deactivate Desativar - + Activate Ativar - + Show constraints Mostrar as restrições - + Hide constraints Ocultar as restrições - + Rename Renomear - + Center sketch Croqui do centro - + Delete Excluir - + Swap constraint names Trocar nomes de restrição - + Unnamed constraint Restrição sem nome - + Only the names of named constraints can be swapped. Apenas os nomes das restrições nomeadas podem ser trocados. @@ -3447,74 +3570,74 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois SketcherGui::EditDatumDialog - + Insert angle Insira o ângulo - + Angle: Ângulo: - + Insert radius Insira o raio - + Radius: Raio: - + Insert diameter Inserir diâmetro - + Diameter: Diâmetro: - + Insert weight Inserir peso - + Weight: Peso: - + Refractive index ratio Constraint_SnellsLaw Relação de índice de refração - + Ratio n2/n1: Constraint_SnellsLaw Relação n2/n1: - + Insert length Insira o comprimento - + Length: Comprimento: - + Refractive index ratio Relação de índice de refração - + Ratio n2/n1: Relação n2/n1: @@ -3522,72 +3645,72 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois SketcherGui::ElementFilterList - + Normal Normal - + Construction Construção - + Internal Internal - + External Externo - + All types All types - + Point Ponto - + Line Linha - + Circle Círculo - + Ellipse Elipse - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3595,142 +3718,142 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Ponto sobre o objeto - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Simétrico - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance Distância Horizontal - + Vertical Distance Distância Vertical - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Ativa/desativa a geometria de construção - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Camada - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Oculto - + Delete Excluir @@ -4016,6 +4139,75 @@ Necessita sair e reentrar no modo de edição para ter efeito. Notify automatic constraint substitutions Notificar substituições automáticas de restrições + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Ambos + + + + Auto + Auto + + + + Diameter + Diâmetro + + + + Radius + Raio + SketcherGui::SketcherSettingsColors @@ -4461,12 +4653,12 @@ Em seguida, os objetos são visíveis somente por trás do plano de esboço.Aplicar aos esboços existentes - + Unexpected C++ exception Exceção inesperada de C++ - + Sketcher Esboço @@ -4528,9 +4720,9 @@ Em seguida, os objetos são visíveis somente por trás do plano de esboço. - %1 arcos invertidos foram encontrados na geometria externa. Seus pontos de extremidade são destacados na vista 3d. + %1 arcos invertidos foram encontrados na geometria externa. Seus pontos de extremidade são destacados na vista 3d. -%2 restrições estão ligadas aos pontos de extremidade. Essas restrições estão indicadas no relatório (menu Vista -> Vistas -> Relatório). +%2 restrições estão ligadas aos pontos de extremidade. Essas restrições estão indicadas no relatório (menu Vista -> Vistas -> Relatório). Clique em "Trocar pontos de extremidade em restrições" para reatribuir os pontos de extremidade. Faça isto apenas uma vez em esboços criados com versões de FreeCAD anteriores à 0.15 @@ -4539,7 +4731,7 @@ Clique em "Trocar pontos de extremidade em restrições" para reatribuir os pont %1 reversed external-geometry arcs were found. Their endpoints are encircled in 3d view. However, no constraints linking to the endpoints were found. - %1 arcos invertidos foram encontrados na geometria externa. Seus pontos de extremidade são destacados na vista 3D. + %1 arcos invertidos foram encontrados na geometria externa. Seus pontos de extremidade são destacados na vista 3D. No entanto, nenhuma restrição foi encontrada nos pontos de extremidade. @@ -4639,48 +4831,48 @@ No entanto, nenhuma restrição foi encontrada nos pontos de extremidade.Configurações - + Constraints Restrições - + Auto constraints Restrições automáticas - + Auto remove redundants Remover redundâncias automaticamente - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error Erro - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4712,6 +4904,33 @@ No entanto, nenhuma restrição foi encontrada nos pontos de extremidade.Settings Configurações + + + + + + + + + + + + Construction + Construção + + + + Elements + Elementos + + + + + + + Point + Ponto + @@ -4723,110 +4942,83 @@ No entanto, nenhuma restrição foi encontrada nos pontos de extremidade. - Construction - Construção - - - - Elements - Elementos - - - - - - - Point - Ponto - - - - - - - - - - - - Internal Internal - - + + + - Line Linha - - + + + - Arc Arco - - + + + - Circle Círculo - - + + + - Ellipse Elipse - - + + + - Elliptical Arc Arco elíptico - - + + + - Hyperbolic Arc Arco hiperbólico - - + + + - Parabolic Arc Arco parabólico - - + + + - BSpline BSpline - - + + + - Other Outro - + Extended information Informação adicional @@ -4834,42 +5026,42 @@ No entanto, nenhuma restrição foi encontrada nos pontos de extremidade. SketcherGui::TaskSketcherMessages - + Solver messages Mensagens - + Auto update Atualização automática - + Executes a recomputation of active document after every sketch action Executa um recálculo do documento ativo após cada comando - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5047,112 +5239,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Editar esboço - + A dialog is already open in the task panel Uma caixa de diálogo já está aberta no painel de tarefas - + Do you want to close this dialog? Deseja fechar este diálogo? - + Invalid sketch Esboço inválido - + Do you want to open the sketch validation tool? Você quer abrir a ferramenta de validação de esboço? - + The sketch is invalid and cannot be edited. O esboço é inválido e não pode ser editado. - + Please remove the following constraint: Por favor, remova a seguinte restrição: - + Please remove at least one of the following constraints: Por favor remova pelo menos uma das seguintes restrições: - + Please remove the following redundant constraint: Por favor, remova a seguinte restrição redundante: - + Please remove the following redundant constraints: Por favor, remova as seguintes restrições redundantes: - + The following constraint is partially redundant: A restrição seguinte é parcialmente redundante: - + The following constraints are partially redundant: As restrições seguintes são parcialmente redundantes: - + Please remove the following malformed constraint: Por favor remova as seguintes restrições malformadas: - + Please remove the following malformed constraints: Por favor remova as seguintes restrições malformadas: - + Empty sketch Esboço vazio - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Redundant constraints: - + Partially redundant: Partially redundant: - + Solver failed to converge Solver failed to converge - + Under constrained: Under constrained: - + %n DoF(s) %n DoF(s) @@ -5160,7 +5352,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Fully constrained @@ -5168,8 +5360,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Alterna entre mostrar e ocultar o pente de curvatura para todas as B-splines @@ -5177,8 +5369,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Diminui a multiplicidade do nó selecionado de uma B-spline @@ -5186,8 +5378,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Alterna entre mostrar e ocultar o grau para todas os B-splines @@ -5195,8 +5387,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Aumenta a multiplicidade do nó selecionado de uma B-spline @@ -5204,8 +5396,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Alterna entre mostrar e ocultar a multiplicidade de nós para todas as B-splines @@ -5213,8 +5405,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Alterna entre mostrar e ocultar o peso dos pontos de controle para todas as B-splines @@ -5222,8 +5414,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Alterna entre mostrar e ocultar os polígonos de controle para todas as B-splines @@ -5231,8 +5423,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Cria um clone da geometria tomando como referência o último ponto selecionado @@ -5240,17 +5432,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Clonar - + Copy Copiar - + Move Mover @@ -5258,8 +5450,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Corrigir o diâmetro de um círculo ou arco @@ -5267,7 +5459,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Corrigir o raio / diâmetro de um círculo ou um arco @@ -5275,8 +5467,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fixar o raio de um círculo ou um arco @@ -5284,7 +5476,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Corrigir o raio / diâmetro de um círculo ou um arco @@ -5292,8 +5484,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Cria uma cópia simples da geometria tomando como referência o último ponto selecionado @@ -5512,64 +5704,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Nenhum esboço encontrado - + The document doesn't have a sketch O documento não tem um esboço - + Select sketch Selecione o esboço - + Select a sketch from the list Selecione um esboço da lista - + (incompatible with selection) (incompatível com a seleção) - + (current) (atual) - + (suggested) (sugerido) - + Sketch attachment Esboço anexado - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. O modo de anexo atual é incompatível com a nova seleção. Selecione um outro método para anexar este esboço aos objetos selecionados. - + Select the method to attach this sketch to selected objects. Selecione o método para anexar este esboço aos objetos selecionados. - + Map sketch Esboço de mapa - + Can't map a sketch to support: %1 Não é possível mapear um esboço para suporte:%1 @@ -5578,8 +5770,8 @@ Selecione um outro método para anexar este esboço aos objetos selecionados. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Move a geometria usando como referência o último ponto selecionado @@ -5587,12 +5779,12 @@ Selecione um outro método para anexar este esboço aos objetos selecionados. Sketcher_NewSketch - + Sketch attachment Esboço anexado - + Select the method to attach this sketch to selected object Selecione o método para anexar este esboço para o objeto selecionado @@ -5600,12 +5792,12 @@ Selecione um outro método para anexar este esboço aos objetos selecionados. Sketcher_ReorientSketch - + Sketch has support O esboço tem suporte - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Um esboço com uma face de suporte não pode ser reorientado. Deseja separá-lo do seu suporte? @@ -5613,11 +5805,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Formulário - DOF @@ -5636,11 +5823,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Formulário - Default algorithm used for Sketch solving @@ -5913,7 +6095,7 @@ o algorítimo Eigen Sparse QR é otimizado para matrizes escassas; geralmente é ViewProviderSketch - + and %1 more and %1 more @@ -6103,22 +6285,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6126,87 +6308,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Erro - + Failed to delete all geometry Falha ao excluir toda a geometria - + Failed to delete all constraints Falha ao excluir todas as restrições - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Restrição inválida @@ -6248,8 +6430,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6346,9 +6528,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Falha ao aparar aresta - - - + + + Value Error Erro de Valor @@ -6384,58 +6566,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Alinhar à grade - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - Geometria de construção + Normal Geometry + Normal Geometry + Construction Geometry + Geometria de construção + + + + + External Geometry External Geometry @@ -6456,12 +6638,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Ligar/Desligar grade - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6469,12 +6651,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6505,4 +6687,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Dimensão + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-PT.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-PT.ts index fbce840a8e..3192b0a984 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-PT.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pt-PT.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Switches between showing and hiding the curvature comb for all B-splines Alterna entre mostrar e ocultar o pente de curvatura para todas as B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Show/hide B-spline degree - + Switches between showing and hiding the degree for all B-splines Alterna entre mostrar e ocultar o grau para todas os B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Switches between showing and hiding the knot multiplicity for all B-splines Alterna entre mostrar e ocultar a multiplicidade de nós para todas as B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Show/hide B-spline control point weight - + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Switches between showing and hiding the control polygons for all B-splines Alterna entre mostrar e ocultar os polígonos de controle para todas as B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Cria um clone da geometria tomando como referência o último ponto selecionado @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Mostrar/ocultar a camada de informações da B-spline - + Show/hide B-spline degree Show/hide B-spline degree - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Show/hide B-spline control point weight Show/hide B-spline control point weight @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Restringir o arco ou círculo - + Constrain an arc or a circle Restringir um arco ou um círculo - + Constrain radius Restringir o raio - + Constrain diameter Restringir o diâmetro - + Constrain auto radius/diameter Restringir raio/diâmetro automático @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Clonar - + Creates a clone of the geometry taking as reference the last selected point Cria um clone da geometria tomando como referência o último ponto selecionado @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modificar a multiplicidade de nós - + Modifies the multiplicity of the selected knot of a B-spline Modifica a multiplicidade do nós selecionados de uma B-spline - + Increase knot multiplicity Aumentar a multiplicidade de nós - + Decrease knot multiplicity Diminuir a multiplicidade de nós @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Restringir o ângulo - + Fix the angle of a line or the angle between two lines Corrigir o ângulo de uma linha ou o ângulo entre duas linhas @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Constrain block - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Restringir coincidentes - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Restringir o diâmetro - + Fix the diameter of a circle or an arc Fixar o diâmetro de um círculo ou arco @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Restringir distância - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Constrain horizontal distance - + Fix the horizontal distance between two points or line ends Corrigir a distância horizontal entre dois pontos ou extremidades de linha @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Constrain vertical distance - + Fix the vertical distance between two points or line ends Corrigir a distância vertical entre dois pontos ou extremidades de linha @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Restringir igualdade - + Create an equality constraint between two lines or between circles and arcs Criar uma restrição de igualdade entre duas linhas ou entre círculos e arcos @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Restringir horizontalmente - + Create a horizontal constraint on the selected item Criar uma restrição horizontal no item selecionado @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Restrição de bloqueio - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Restringir paralelo - + Create a parallel constraint between two lines Criar uma restrição paralela entre duas linhas @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Restringir perpendicular - + Create a perpendicular constraint between two lines Criar uma restrição perpendicular entre duas linhas @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Restringir um ponto sobre um objeto - + Fix a point onto an object Fixar um ponto num objeto @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Restringir raio/diâmetro automático - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Restringir raio ou peso - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Restringir refração (lei de Snell) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Restringir simetria - + Create a symmetry constraint between two points with respect to a line or a third point Create a symmetry constraint between two points @@ -615,12 +615,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Restringir a tangente - + Create a tangent constraint between two entities Criar uma restrição de tangência entre duas entidades @@ -628,12 +628,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Restringir verticalmente - + Create a vertical constraint on the selected item Criar uma restrição vertical no item selecionado @@ -641,12 +641,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convert geometry to B-spline - + Converts the selected geometry to a B-spline Converts the selected geometry to a B-spline @@ -654,12 +654,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Copiar - + Creates a simple copy of the geometry taking as reference the last selected point Cria uma cópia simples da geometria tomando como referência o último ponto selecionado @@ -1018,12 +1018,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Decrease B-spline degree - + Decreases the degree of the B-spline Decreases the degree of the B-spline @@ -1031,12 +1031,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Diminuir a multiplicidade de nós - + Decreases the multiplicity of the selected knot of a B-spline Diminui a multiplicidade do nó selecionado de uma B-spline @@ -1044,12 +1044,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Delete all constraints - + Delete all constraints in the sketch Delete all constraints in the sketch @@ -1057,12 +1057,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Apagar todas as geometrias - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Delete all geometry and constraints in the current sketch, with the exception of external geometry @@ -1070,12 +1070,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Editar Esboço - + Edit the selected sketch. Edit the selected sketch. @@ -1109,12 +1109,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Increase B-spline degree - + Increases the degree of the B-spline Aumenta o grau da B-spline @@ -1122,12 +1122,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Aumentar a multiplicidade de nós - + Increases the multiplicity of the selected knot of a B-spline Aumenta a multiplicidade do nó selecionado de uma B-spline @@ -1135,12 +1135,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Insert knot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1148,12 +1148,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1161,12 +1161,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Sair do esboço - + Finish editing the active sketch. Finish editing the active sketch. @@ -1174,12 +1174,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Mapear esboço na face... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1188,7 +1188,7 @@ First select the supporting geometry, for example, a face or an edge of a solid then call this command, then choose the desired sketch. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. @@ -1196,22 +1196,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Unir esboços - + Create a new sketch from merging two or more selected sketches. Create a new sketch from merging two or more selected sketches. - + Wrong selection Seleção errada - + Select at least two sketches. Select at least two sketches. @@ -1219,12 +1219,12 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Espelhar o esboço - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1233,12 +1233,12 @@ by using the X or Y axes, or the origin point, as mirroring reference. - + Wrong selection Seleção errada - + Select one or more sketches. Select one or more sketches. @@ -1246,12 +1246,12 @@ as mirroring reference. CmdSketcherMove - + Move Mover - + Moves the geometry taking as reference the last selected point Move a geometria tomando como referência o último ponto selecionado @@ -1259,12 +1259,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Criar esboço - + Create a new sketch. Create a new sketch. @@ -1272,12 +1272,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Rectangular array - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Creates a rectangular array pattern of the geometry taking as reference the last selected point @@ -1285,12 +1285,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Remover alinhamento dos eixos - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifica as restrições para remover o alinhamento de eixos ao tentar preservar a relação de restrições da seleção @@ -1298,12 +1298,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Reorientar esboço... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Place the selected sketch on one of the global coordinate planes. @@ -1313,12 +1313,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Mostrar/ocultar geometria interna - + Show all internal geometry or hide unused internal geometry Show all internal geometry or hide unused internal geometry @@ -1326,8 +1326,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Selecionar restrições em conflito @@ -1335,12 +1335,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints Selecionar restrições associadas - + Select the constraints associated with the selected geometrical elements Selecione as restrições associadas aos elementos geométricos selecionados @@ -1348,12 +1348,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Select associated geometry - + Select the geometrical elements associated with the selected constraints Select the geometrical elements associated with the selected constraints @@ -1361,12 +1361,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Select unconstrained DoF - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Select geometrical elements where the solver still detects unconstrained degrees of freedom. @@ -1374,12 +1374,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Select horizontal axis - + Select the local horizontal axis of the sketch Select the local horizontal axis of the sketch @@ -1387,8 +1387,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Select malformed constraints @@ -1396,12 +1396,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin Selecionar origem - + Select the local origin point of the sketch Selecione o ponto de origem local do esboço @@ -1409,8 +1409,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Selecionar restrições parcialmente redundantes @@ -1418,8 +1418,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Selecionar restrições redundantes @@ -1427,12 +1427,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis Selecionar o eixo vertical - + Select the local vertical axis of the sketch Selecione o eixo vertical local do esboço @@ -1453,12 +1453,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation Parar operação - + When in edit mode, stop the active operation (drawing, constraining, etc.). Quando em modo de edição, pare a operação ativa (desenho, restrição, etc.). @@ -1479,12 +1479,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry Simetria - + Creates symmetric geometry with respect to the last selected line or point Cria uma geometria simétrica em relação ao ponto ou última linha selecionada @@ -1492,12 +1492,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Ativar/desativar restrição - + Activates or deactivates the selected constraints Ativa ou desativa as restrições selecionadas @@ -1518,12 +1518,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Ativar/desativar restrição dominante/referência - + Set the toolbar, or the selected constraints, into driving or reference mode Set the toolbar, or the selected constraints, @@ -1546,24 +1546,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Validar o esboço... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. - + Wrong selection Seleção errada - + Select only one sketch. Selecione apenas um esboço. @@ -1571,12 +1571,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Ver secção - + When in edit mode, switch between section view and full view. When in edit mode, switch between section view and full view. @@ -1584,12 +1584,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Ver esboço - + When in edit mode, set the camera orientation perpendicular to the sketch plane. When in edit mode, set the camera orientation perpendicular to the sketch plane. @@ -1597,287 +1597,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Adicionar restrição horizontal - - - + + + Add horizontal alignment Adicionar alinhamento horizontal - - + + Add vertical constraint Adicionar restrição vertical - + Add vertical alignment Adicionar alinhamento vertical - + Add 'Lock' constraint Add 'Lock' constraint - + Add relative 'Lock' constraint Add relative 'Lock' constraint - + Add fixed constraint Adicionar restrição fixa - + Add 'Block' constraint Add 'Block' constraint - + Add block constraint Add block constraint - - - + + + Add coincident constraint Add coincident constraint - - + + Add distance from horizontal axis constraint Add distance from horizontal axis constraint - - + + Add distance from vertical axis constraint Add distance from vertical axis constraint - - + + Add point to point distance constraint Add point to point distance constraint - - + + + Add point to line Distance constraint Add point to line Distance constraint - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint Adicionar restrição de comprimento - - + + + Dimension + Dimensão + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Add point on object constraint - - + + Add point to point horizontal distance constraint Add point to point horizontal distance constraint - + Add fixed x-coordinate constraint Add fixed x-coordinate constraint - - + + Add point to point vertical distance constraint Add point to point vertical distance constraint - + Add fixed y-coordinate constraint Add fixed y-coordinate constraint - - + + Add parallel constraint Add parallel constraint - - - - - - - + + + + + + + Add perpendicular constraint Adicionar restrição perpendicular - + Add perpendicularity constraint Adicionar restrição de perpendicularidade - + Swap coincident+tangency with ptp tangency Swap coincident+tangency with ptp tangency - + Swap PointOnObject+tangency with point to curve tangency Swap PointOnObject+tangency with point to curve tangency - - - - - - - + + + + + + + Add tangent constraint Adicionar restrição tangente - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Add tangent constraint point - - - - + + + + Add radius constraint Add radius constraint - - - - + + + + Add diameter constraint Add diameter constraint - - - - + + + + Add radiam constraint Add radiam constraint - - - - - - + + + + + + Add angle constraint Add angle constraint - - + + Add equality constraint Add equality constraint - - - - - + + + + + Add symmetric constraint Add symmetric constraint - + Add Snell's law constraint Add Snell's law constraint - + Toggle constraint to driving/reference Toggle constraint to driving/reference - + Activate/Deactivate constraint Activate/Deactivate constraint - + Create a new sketch on a face Create a new sketch on a face - + Create a new sketch Criar um Novo Esboço - + Reorient sketch Reorient sketch - + Attach sketch Attach sketch - + Detach sketch Detach sketch - + Create a mirrored sketch for each selected sketch Create a mirrored sketch for each selected sketch - + Merge sketches Unir esboços @@ -1995,72 +2112,72 @@ invalid constraints, degenerated geometry, etc. Add hexagon - + Convert to NURBS Convert to NURBS - + Increase spline degree Increase spline degree - + Decrease spline degree Decrease spline degree - + Increase knot multiplicity Aumentar a multiplicidade de nós - + Decrease knot multiplicity Diminuir a multiplicidade de nós - + Insert knot Insert knot - + Join Curves Join Curves - + Exposing Internal Geometry Exposing Internal Geometry - + Create symmetric geometry Create symmetric geometry - + Copy/clone/move geometry Copy/clone/move geometry - + Create copy of geometry Create copy of geometry - + Delete all geometry Apagar todas as geometrias - + Delete All Constraints Apagar todas as restrições - + Remove Axes Alignment Remover Alinhamento dos Eixos @@ -2071,44 +2188,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Update constraint's virtual space - + Add auto constraints Add auto constraints - + Swap constraint names Trocar nomes da restrição - + Rename sketch constraint Rename sketch constraint - + Drag Point Arrastar Ponto - + Drag Curve Arrastar Curva - + Drag Constraint Arrastar Restrição - + Modify sketch constraints Modify sketch constraints @@ -2169,59 +2286,59 @@ invalid constraints, degenerated geometry, etc. Erro de restrição automática: esboço insolúvel após a aplicação de restrições de igualdade. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Não é possível calcular a interseção das curvas. Tente adicionar uma restrição coincidente entre os vértices das curvas das quais pretende fazer a concordância. - - + + BSpline Geometry Index (GeoID) is out of bounds. Índice de geometria BSpline (GeoID) está fora dos limites. - + You are requesting no change in knot multiplicity. Você não está a solicitar nenhuma mudança na multiplicidade de nó. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. O índice de geometria (GeoId) fornecida não é uma curva B-spline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. O índice do nó está fora dos limites. Note que, de acordo com a notação de OCC, o primeiro nó tem índice 1 e não zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. A multiplicidade não pode ser aumentada além do grau de B-spline. - + The multiplicity cannot be decreased beyond zero. A multiplicidade não pode ser diminuída, abaixo de zero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC é incapaz de diminuir a multiplicidade dentro de tolerância máxima. - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2237,210 +2354,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Sketcher - + There are no modes that accept the selected set of subelements Não existem modos que aceitem o conjunto de sub-elementos selecionado - + Broken link to support subelements Ligação perdida aos sub-elementos de suporte - - + + Unexpected error Erro inesperado - + Face is non-planar A face não é plana - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) As formas selecionadas são do tipo errado (por exemplo, uma aresta curva onde uma reta é necessária) - + Sketch mapping Mapear esboço - + Can't map the sketch to selected object. %1. Não é possível mapear o esboço no objeto selecionado. %1. - - + + Don't attach Não fixar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Seleção errada @@ -2451,339 +2571,339 @@ invalid constraints, degenerated geometry, etc. Selecionar aresta(s) a partir do esboço. - + Not allowed to edit the datum because the sketch contains conflicting constraints Não é permitido editar o ponto de referência (datum) porque o desenho contém restrições em conflito - + Dimensional constraint Restrição dimensional - + Cannot add a constraint between two external geometries. Cannot add a constraint between two external geometries. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Sketcher Constraint Substitution - + Keep notifying me of constraint substitutions Keep notifying me of constraint substitutions - - - + + + Only sketch and its support are allowed to be selected. Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. One of the selected has to be on the sketch. - - + + Select an edge from the sketch. Selecione uma aresta do sketch. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Restrição impossível - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint Dupla restrição - - - - - + + + + + The selected edge already has a horizontal constraint! A aresta selecionada já tem uma restrição horizontal! - - - + + + The selected edge already has a vertical constraint! A aresta selecionada já tem uma restrição vertical! - - - - - - + + + + + + The selected edge already has a Block constraint! A aresta selecionada já possui uma restrição de Bloqueio! - + The selected item(s) can't accept a horizontal constraint! Os items selecionados não podem aceitar uma restrição horizontal! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Há mais de um ponto fixo selecionado. Selecione no máximo um ponto fixo! - + The selected item(s) can't accept a vertical constraint! Os itens selecionados não podem aceitar uma restrição vertical! - - - + + + Select vertices from the sketch. Selecione vértices do esboço. - + Select one vertex from the sketch other than the origin. Selecione um vértice do esboço que não seja a origem. - + Select only vertices from the sketch. The last selected vertex may be the origin. Selecione somente vértices do esboço. O último vértice selecionado deve ser a origem. - + Wrong solver status Erro no estado do calculador - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. - + Select one edge from the sketch. Selecione uma aresta do esboço. - + Select only edges from the sketch. Selecione somente arestas do esboço. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error Erro - + Unexpected error. More information may be available in the Report View. Erro inesperado. Mais informações podem estar disponíveis na Visualização do Relatório. - + Endpoint to endpoint tangency was applied instead. Uma tangência de ponto a ponto de extremidade foi aplicada como alternativa. - + Select two or more points from the sketch. Selecione dois ou mais pontos no esboço. - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Selecione exatamente uma linha ou uma linha e um ponto ou dois pontos do esboço. - + Cannot add a length constraint on an axis! Não é possível adicionar uma restrição de comprimento num eixo! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. Selecione as coisas corretas no esboço. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Nenhum dos pontos selecionados foi restringido para as respectivas curvas, eles são partes do mesmo elemento, ou são ambos geometria externa. - - - - + + + + Select exactly one line or up to two points from the sketch. Selecione exatamente uma linha ou até dois pontos do esboço. - + Cannot add a horizontal length constraint on an axis! Não é possível adicionar uma restrição de comprimento horizontal num eixo! - + Cannot add a fixed x-coordinate constraint on the origin point! Não é possível adicionar uma restrição de coordenada-x fixa no ponto de origem! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! Não é possível adicionar uma restrição de comprimento vertical a um eixo! - + Cannot add a fixed y-coordinate constraint on the origin point! Não é possível adicionar uma restrição de coordenada-y fixa no ponto de origem! - + Select two or more lines from the sketch. Selecione duas ou mais linhas do esboço. - - + + Select at least two lines from the sketch. Selecione pelo menos duas linhas do esboço. - + Select a valid line. Select a valid line. - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2793,42 +2913,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois pontos de extremidade; duas curvas e um ponto. - + Select some geometry from the sketch. perpendicular constraint Selecione alguma geometria do esboço (sketch). - - + + Cannot add a perpendicularity constraint at an unconnected point! Não é possível adicionar uma restrição de perpendicularidade num ponto não conectado! - - - + + + Perpendicular to B-spline edge currently unsupported. Perpendicular à aresta da Bspline atualmente sem suporte. - - + + One of the selected edges should be a line. Uma das arestas selecionadas deve ser uma linha. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Uma tangência de ponto a ponto foi aplicada. A restrição de coincidência foi excluída. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2838,179 +2958,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois pontos de extremidade; duas curvas e um ponto. - + Select some geometry from the sketch. tangent constraint Selecione alguma geometria do esboço (sketch). - - - + + + Cannot add a tangency constraint at an unconnected point! Não é possível adicionar uma restrição de tangência num ponto não conectado! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! Número errado de objetos selecionados! - - + + With 3 objects, there must be 2 curves and 1 point. Com 3 objetos, deve haver 2 curvas e 1 ponto. - - - + + + Tangency to B-spline edge currently unsupported. Tangência à aresta da Bspline atualmente sem suporte. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Selecione um ou mais arcos ou círculos no esboço. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. - - - + + + Constraint only applies to arcs or circles. Restrição só aplicável a arcos ou círculos. - - + + Select one or two lines from the sketch. Or select two edges and a point. Selecione uma ou duas linhas de desenho (sketch). Ou selecione um ponto e duas arestas. - - + + Parallel lines Linhas paralelas - - + + An angle constraint cannot be set for two parallel lines. Uma restrição de ângulo não pode ser aplicada a duas linhas paralelas. - + Cannot add an angle constraint on an axis! Não é possível adicionar uma restrição de ângulo num eixo! - + Select two edges from the sketch. Selecione duas arestas do esboço. - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. Sketch axes cannot be used in equality constraints. - + Equality for B-spline edge currently unsupported. Igualdade para aresta da Bspline atualmente sem suporte. - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Selecione dois pontos e uma linha de simetria, dois pontos e um ponto de simetria ou uma linha e um ponto de simetria do esboço. - - + + Cannot add a symmetry constraint between a line and its end points. Cannot add a symmetry constraint between a line and its end points. - - + + + + Cannot add a symmetry constraint between a line and its end points! Não é possível adicionar uma restrição de simetria entre uma linha e seus pontos extremos! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. - + Selected objects are not just geometry from one sketch. Objetos selecionados não são geometria de apenas um esboço (sketch). - + Cannot create constraint with external geometry only. Cannot create constraint with external geometry only. - + Incompatible geometry is selected. Incompatible geometry is selected. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw on B-spline edge is currently unsupported. - - - - - + + + + + Select constraints from the sketch. Select constraints from the sketch. @@ -3032,155 +3155,155 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error Erro de Kernel de CAD - + None of the selected elements is an edge. Nenhum dos elementos selecionados é uma aresta. - - + + At least one of the selected objects was not a B-Spline and was ignored. Pelo menos um dos objetos selecionados não era uma B-Spline e foi ignorado. - - + + The selection comprises more than one item. Please select just one knot. A seleção engloba mais de um item. Por favor, selecione apenas um nó. - - + + Input Error Erro de entrada - - + + None of the selected elements is a knot of a B-spline Nenhum dos elementos selecionados é um nó de uma B-spline - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Selecione elementos de um esboço único. - + No constraint selected Nenhuma restrição selecionada - + At least one constraint must be selected Pelo menos uma restrição deve ser selecionada - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Uma construção simétrica requer pelo menos dois elementos geométricos, sendo o último elemento geométrico a referência para a construção da simetria. - + The last element must be a point or a line serving as reference for the symmetry construction. O último elemento deve ser um ponto ou uma linha, servindo como referência para a construção da simetria. - - + + A copy requires at least one selected non-external geometric element Uma cópia requer pelo menos um elemento geométrico não-externo selecionado - + Delete All Geometry Apagar toda a geometria - + Are you really sure you want to delete all geometry and constraints? Are you really sure you want to delete all geometry and constraints? - + Delete All Constraints Apagar todas as restrições - + Are you really sure you want to delete all the constraints? Tem certeza de que pretende eliminar todas as restrições? - + Removal of axes alignment requires at least one selected non-external geometric element Remoção do alinhamento de eixos requer pelo menos que um elemento geométrico não-externo seja selecionado - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3379,67 +3502,67 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value Alterar Valor - + Toggle to/from reference Alternar para/de referência - + Deactivate Desativar - + Activate Ativar - + Show constraints Mostrar restrições - + Hide constraints Ocultar restrições - + Rename Renomear - + Center sketch Centrar o esboço (sketch) - + Delete Apagar - + Swap constraint names Trocar nomes da restrição - + Unnamed constraint Restrição sem nome - + Only the names of named constraints can be swapped. Apenas os nomes das restrições nomeadas podem ser trocados. @@ -3447,74 +3570,74 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois SketcherGui::EditDatumDialog - + Insert angle Inserir ângulo - + Angle: Ângulo: - + Insert radius Inserir raio - + Radius: Raio: - + Insert diameter Inserir diâmetro - + Diameter: Diâmetro: - + Insert weight Inserir peso - + Weight: Peso: - + Refractive index ratio Constraint_SnellsLaw Rácio do índice de refração - + Ratio n2/n1: Constraint_SnellsLaw Rácio n2/n1: - + Insert length Inserir comprimento - + Length: Comprimento: - + Refractive index ratio Rácio do índice de refração - + Ratio n2/n1: Rácio n2/n1: @@ -3522,72 +3645,72 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois SketcherGui::ElementFilterList - + Normal Normal - + Construction Construção - + Internal Internal - + External External - + All types All types - + Point Ponto - + Line Linha - + Circle Círculo - + Ellipse Elipse - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3595,142 +3718,142 @@ Combinações possíveis: duas curvas; um ponto de extremidade e uma curva; dois SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Point on Object - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Simétrica - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance Horizontal Distance - + Vertical Distance Vertical Distance - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Ativa/desativa a geometria de construção - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Camada - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Escondida - + Delete Apagar @@ -4016,6 +4139,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Notificar substituições automáticas de restrições + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Ambos + + + + Auto + Auto + + + + Diameter + Diâmetro + + + + Radius + Raio + SketcherGui::SketcherSettingsColors @@ -4461,12 +4653,12 @@ Then objects are only visible behind the sketch plane. Aplicar aos esboços existentes - + Unexpected C++ exception Exceção inesperada de C++ - + Sketcher Sketcher @@ -4528,9 +4720,9 @@ Then objects are only visible behind the sketch plane. %2 constraints are linking to the endpoints. The constraints have been listed in Report view (menu View -> Panels -> Report view). Click "Swap endpoints in constraints" button to reassign endpoints. Do this only once to sketches created in FreeCAD older than v0.15 - %1 arcos invertidos foram encontrados na geometria externa. Seus pontos de extremidade são destacados na vista 3d. + %1 arcos invertidos foram encontrados na geometria externa. Seus pontos de extremidade são destacados na vista 3d. -%2 restrições estão ligadas aos pontos de extremidade. Essas restrições estão indicadas no relatório (menu Vista -> Vistas -> Relatório). +%2 restrições estão ligadas aos pontos de extremidade. Essas restrições estão indicadas no relatório (menu Vista -> Vistas -> Relatório). Clique em "Trocar pontos de extremidade em restrições" para reatribuir os pontos de extremidade. Faça isto apenas uma vez em esboços criados com versões de FreeCAD anteriores à 0.15 @@ -4539,7 +4731,7 @@ Clique em "Trocar pontos de extremidade em restrições" para reatribuir os pont %1 reversed external-geometry arcs were found. Their endpoints are encircled in 3d view. However, no constraints linking to the endpoints were found. - %1 arcos invertidos foram encontrados na geometria externa. Os seus pontos de extremidade são realçados na vista 3D. + %1 arcos invertidos foram encontrados na geometria externa. Os seus pontos de extremidade são realçados na vista 3D. No entanto, nenhuma restrição foi encontrada nos pontos de extremidade. @@ -4639,48 +4831,48 @@ No entanto, nenhuma restrição foi encontrada nos pontos de extremidade.Ajustes - + Constraints Constraints - + Auto constraints Restrições automaticas - + Auto remove redundants Auto remove redundants - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error Erro - + Impossible to update visibility tracking Impossível atualizar o rastreamento de visibilidade - + Impossible to update visibility tracking: Impossível atualizar o rastreamento de visibilidade: @@ -4712,6 +4904,33 @@ No entanto, nenhuma restrição foi encontrada nos pontos de extremidade.Settings Ajustes + + + + + + + + + + + + Construction + Construção + + + + Elements + Elementos + + + + + + + Point + Ponto + @@ -4723,110 +4942,83 @@ No entanto, nenhuma restrição foi encontrada nos pontos de extremidade. - Construction - Construção - - - - Elements - Elementos - - - - - - - Point - Ponto - - - - - - - - - - - - Internal Internal - - + + + - Line Linha - - + + + - Arc Arco - - + + + - Circle Círculo - - + + + - Ellipse Elipse - - + + + - Elliptical Arc Arco elíptico - - + + + - Hyperbolic Arc Arco hiperbólico - - + + + - Parabolic Arc Arco parabólico - - + + + - BSpline BSpline - - + + + - Other Outros - + Extended information Extended information @@ -4834,42 +5026,42 @@ No entanto, nenhuma restrição foi encontrada nos pontos de extremidade. SketcherGui::TaskSketcherMessages - + Solver messages Mensagens de Resolução (problemas, etc.) - + Auto update Auto update - + Executes a recomputation of active document after every sketch action Executes a recomputation of active document after every sketch action - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5047,112 +5239,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Editar Esboço - + A dialog is already open in the task panel Já está aberta uma janela no painel de tarefas - + Do you want to close this dialog? Deseja fechar esta janela? - + Invalid sketch Esboço (sketch) inválido - + Do you want to open the sketch validation tool? Quer abrir a ferramenta de validação de esboço? - + The sketch is invalid and cannot be edited. O esboço é inválido e não pode ser editado. - + Please remove the following constraint: Por favor, remova a seguinte restrição: - + Please remove at least one of the following constraints: Por favor remova pelo menos uma das seguintes restrições: - + Please remove the following redundant constraint: Por favor, remova a seguinte restrição redundante: - + Please remove the following redundant constraints: Por favor, remova a seguinte restrição redundante: - + The following constraint is partially redundant: The following constraint is partially redundant: - + The following constraints are partially redundant: The following constraints are partially redundant: - + Please remove the following malformed constraint: Please remove the following malformed constraint: - + Please remove the following malformed constraints: Please remove the following malformed constraints: - + Empty sketch Esboço vazio - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Redundant constraints: - + Partially redundant: Partially redundant: - + Solver failed to converge Solver failed to converge - + Under constrained: Under constrained: - + %n DoF(s) %n DoF(s) @@ -5160,7 +5352,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Fully constrained @@ -5168,8 +5360,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Alterna entre mostrar e ocultar o pente de curvatura para todas as B-splines @@ -5177,8 +5369,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Diminui a multiplicidade do nó selecionado de uma B-spline @@ -5186,8 +5378,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Alterna entre mostrar e ocultar o grau para todas os B-splines @@ -5195,8 +5387,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Aumenta a multiplicidade do nó selecionado de uma B-spline @@ -5204,8 +5396,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Alterna entre mostrar e ocultar a multiplicidade de nós para todas as B-splines @@ -5213,8 +5405,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -5222,8 +5414,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Alterna entre mostrar e ocultar os polígonos de controle para todas as B-splines @@ -5231,8 +5423,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Cria um clone da geometria tomando como referência o último ponto selecionado @@ -5240,17 +5432,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Clonar - + Copy Copiar - + Move Mover @@ -5258,8 +5450,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fixar o diâmetro de um círculo ou arco @@ -5267,7 +5459,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5275,8 +5467,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Corrigir o raio de um círculo ou arco @@ -5284,7 +5476,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5292,8 +5484,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Cria uma cópia simples da geometria tomando como referência o último ponto selecionado @@ -5512,64 +5704,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Nenhum esboço encontrado - + The document doesn't have a sketch O documento não tem um esboço - + Select sketch Selecione o esboço - + Select a sketch from the list Selecione um esboço da lista - + (incompatible with selection) (incompatível com a seleção) - + (current) (atual) - + (suggested) (sugerido) - + Sketch attachment Fixação do Esboço - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. - + Select the method to attach this sketch to selected objects. Selecione o método para fixar este esboço aos objetos selecionados. - + Map sketch Mapear esboço - + Can't map a sketch to support: %1 Não é possível mapear um esboço no suporte:%1 @@ -5578,8 +5770,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Move a geometria tomando como referência o último ponto selecionado @@ -5587,12 +5779,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Fixação do Esboço - + Select the method to attach this sketch to selected object Selecione o método para fixar este esboço aos objetos selecionados @@ -5600,12 +5792,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support O esboço tem suporte - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Um esboço com uma face de suporte não pode ser reorientado. @@ -5614,11 +5806,6 @@ Deseja separá-lo do seu suporte? TaskSketcherMessages - - - Form - Formulário - DOF @@ -5637,11 +5824,6 @@ Deseja separá-lo do seu suporte? TaskSketcherSolverAdvanced - - - Form - Formulário - Default algorithm used for Sketch solving @@ -5914,7 +6096,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more and %1 more @@ -6104,22 +6286,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6127,87 +6309,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Erro - + Failed to delete all geometry Falha ao eliminar toda a geometria - + Failed to delete all constraints Falha ao eliminar todas as restrições - + The constraint has invalid index information and is malformed. A restrição tem informações de índice inválidas e está formatada incorretamente. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Restrição invalida @@ -6249,8 +6431,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Erro ao criar o polo da B-spline - + Error creating B-spline Erro ao criar a B-spline @@ -6347,9 +6529,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Falha ao aparar a aresta - - - + + + Value Error Erro de Valor @@ -6385,58 +6567,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Alinhar à grelha - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - Geometria de construção + Normal Geometry + Normal Geometry + Construction Geometry + Geometria de construção + + + + + External Geometry External Geometry @@ -6457,12 +6639,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Alternar Grelha - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6470,12 +6652,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Ativar/desativar snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6506,4 +6688,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Dimensão + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ro.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ro.ts index 3c238a86bb..38c6e63495 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ro.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ro.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Arată/ascunde curbura B-spline - + Switches between showing and hiding the curvature comb for all B-splines Comută între afişarea şi ascunderea gradului de curvatură pentru toate B-spline-urile @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Arată/ascunde gradul B-spline - + Switches between showing and hiding the degree for all B-splines Comută între afişarea şi ascunderea gradului de curbură pentru toate B-spline-urile @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Arată/ascunde multiplicitatea nodului B-spline - + Switches between showing and hiding the knot multiplicity for all B-splines Comută între afişarea şi ascunderea multiplicității de nod pentru toate B-spline-urile @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Afișare/ascundere control punct B-spline - + Switches between showing and hiding the control point weight for all B-splines Comută între afişarea şi ascunderea greutăţii punctului de control pentru toate B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Arată/ascunde poligonul de control B-spline - + Switches between showing and hiding the control polygons for all B-splines Comută între afişarea şi ascunderea poligoane de control pentru toate B-spline-urile @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Clonă - + Creates a clone of the geometry taking as reference the last selected point Creează o clona a geometriei luând ca referinţă ultimul punct selectat @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Afișare/Ascundere layer de informaţii B-spline - + Show/hide B-spline degree Arată/ascunde gradul B-spline - + Show/hide B-spline control polygon Arată/ascunde poligonul de control B-spline - + Show/hide B-spline curvature comb Arată/ascunde curbura B-spline - + Show/hide B-spline knot multiplicity Arată/ascunde multiplicitatea nodului B-spline - + Show/hide B-spline control point weight Afișare/ascundere control punct B-spline @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Constrânge un arc de cerc sau un cerc - + Constrain an arc or a circle Constrânge un arc de cerc sau un cerc - + Constrain radius Rază constrânsă - + Constrain diameter Constrângere diametru - + Constrain auto radius/diameter Constrângere automată radius/diametru @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Clonă - + Creates a clone of the geometry taking as reference the last selected point Creează o clona a geometriei luând ca referinţă ultimul punct selectat @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modifică multiplicitatea nodului - + Modifies the multiplicity of the selected knot of a B-spline Modifică multiplicitatea nodului selectat a unui B-spline - + Increase knot multiplicity Creşte multiplicitatea nodului - + Decrease knot multiplicity Reduce multiplicitatea nodului @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Unghi constrans - + Fix the angle of a line or the angle between two lines Repară unghiul unei drepte sau unghiul dintre două linii @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Bloc: Constrângere - + Block the selected edge from moving Blochează muchia selectată să se miște @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Constrângere coincidentă - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Creează o constrângere între puncte, sau o constrângere concentrată între cercuri, arcuri și elipse @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Constrângere diametru - + Fix the diameter of a circle or an arc Fixează diametrul unui cerc sau arc de cerc @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Distanţă constrânsă - + Fix a length of a line or the distance between a line and a vertex or between two circles Repară lungimea unei linii sau distanța dintre o linie și un nod sau între două cercuri @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Constrânge distanța orizontală - + Fix the horizontal distance between two points or line ends Bate în cuie distanţa orizontală dintre doua puncte sau capete de linii @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Constrângere distanţă verticală - + Fix the vertical distance between two points or line ends Bate în cuie distanţa verticală dintre două puncte sau capete de linie @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Egalitate constransă - + Create an equality constraint between two lines or between circles and arcs Crează o egalitate constrânsă între două linii, cercuri sau arce @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Constrângere orizontală - + Create a horizontal constraint on the selected item Crează o constrângere orizontală pentru obiectul selectat @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Constrângere fixă - + Create both a horizontal and a vertical distance constraint on the selected vertex Creați atât o constrângere de distanță orizontală, cât și una verticală @@ -520,12 +520,12 @@ pe vârful selectat CmdSketcherConstrainParallel - + Constrain parallel Constrângere paralelă - + Create a parallel constraint between two lines Crează o constrângere paralelă între două linii @@ -533,12 +533,12 @@ pe vârful selectat CmdSketcherConstrainPerpendicular - + Constrain perpendicular Constrângere perpendiculară - + Create a perpendicular constraint between two lines Crează o constrângere perpendiculară între două linii @@ -546,12 +546,12 @@ pe vârful selectat CmdSketcherConstrainPointOnObject - + Constrain point onto object Constrânge punct pe obiect - + Fix a point onto an object Fixează un punct de un obiect @@ -559,12 +559,12 @@ pe vârful selectat CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Constrângere automată radius/diametru - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Repară diametrul dacă este ales un cerc sau raza dacă este ales un stâlp ar/splină @@ -572,12 +572,12 @@ pe vârful selectat CmdSketcherConstrainRadius - + Constrain radius or weight Raza de constrângere sau greutatea - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Repară raza unui cerc sau a unui arc sau fixează greutatea unui stâlp de B-Spline @@ -585,12 +585,12 @@ pe vârful selectat CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Creați o constrângere de lege de refracție (Legea lui Snell) între două puncte finale ale razelor @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Constrângere simetrică - + Create a symmetry constraint between two points with respect to a line or a third point Creați o constrângere de simetrie între două puncte @@ -615,12 +615,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherConstrainTangent - + Constrain tangent Constrângere tangentă - + Create a tangent constraint between two entities Crează o constrângere tangentă între două entităţi @@ -628,12 +628,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherConstrainVertical - + Constrain vertically Constrângere verticală - + Create a vertical constraint on the selected item Crează o constrângere verticală pe obiectul selectat @@ -641,12 +641,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convertește geometria în B-spline - + Converts the selected geometry to a B-spline Converteşte geometria selectată într-o curbă B-spline @@ -654,12 +654,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherCopy - + Copy Copiere - + Creates a simple copy of the geometry taking as reference the last selected point Creează o clona a geometriei luând ca referinţă ultimul punct selectat @@ -1018,12 +1018,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherDecreaseDegree - + Decrease B-spline degree Scade gradul B-spline - + Decreases the degree of the B-spline Reduce gradul curbei B-spline @@ -1031,12 +1031,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Reduce multiplicitatea nodului - + Decreases the multiplicity of the selected knot of a B-spline Descrește multiplicitatea nodului selectat a unui B-spline @@ -1044,12 +1044,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherDeleteAllConstraints - + Delete all constraints Șterge toate constrângerile - + Delete all constraints in the sketch Ștergeți toate constrângerile din schiță @@ -1057,12 +1057,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherDeleteAllGeometry - + Delete all geometry Şterge toate geometria - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Ștergeți toate geometria și constrângerile din schița curentă, cu excepția geometriei externe @@ -1070,12 +1070,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherEditSketch - + Edit sketch Editaţi schiţa - + Edit the selected sketch. Editează schița selectată. @@ -1109,12 +1109,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherIncreaseDegree - + Increase B-spline degree Crește gradul B-spline - + Increases the degree of the B-spline Măriâi gradul curbei Bezier B-spline @@ -1122,12 +1122,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Creşte multiplicitatea nodului - + Increases the multiplicity of the selected knot of a B-spline Creşte multitudinea de nodul selectat de un B-spline @@ -1135,12 +1135,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherInsertKnot - + Insert knot Inserare Robot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserează în parametrul dat. Dacă un nod există deja la acel parametru, multiplicitatea este mărită cu unul. @@ -1148,12 +1148,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherJoinCurves - + Join curves Alătură-te curbelor - + Join two curves at selected end points Alătură-te celor două curbe la punctele finale selectate @@ -1161,12 +1161,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherLeaveSketch - + Leave sketch Parăseşte schiţa - + Finish editing the active sketch. Termină editarea schiței active. @@ -1174,12 +1174,12 @@ cu privire la o linie sau un al treilea punct CmdSketcherMapSketch - + Map sketch to face... Asociază schiţa unei feţe... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1188,7 +1188,7 @@ Mai întâi selectați geometria de sprijin, de exemplu, o față sau o margine apoi apelează această comandă, apoi alege schița dorită. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Unele dintre obiectele selectate depind de schiță pentru a fi mapate. Dependențele circulare nu sunt permise. @@ -1196,22 +1196,22 @@ apoi apelează această comandă, apoi alege schița dorită. CmdSketcherMergeSketches - + Merge sketches Combină schițe - + Create a new sketch from merging two or more selected sketches. Creați o schiță nouă prin îmbinarea a două sau mai multe schițe selectate. - + Wrong selection Selecţie greşită - + Select at least two sketches. Selectaţi cel puţin două schiţe. @@ -1219,12 +1219,12 @@ apoi apelează această comandă, apoi alege schița dorită. CmdSketcherMirrorSketch - + Mirror sketch Schițe în oglindă - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1233,12 +1233,12 @@ folosind axele X sau Y, sau punctul de origine, ca referință de oglindire. - + Wrong selection Selecţie greşită - + Select one or more sketches. Selectaţi una sau mai multe schiţe. @@ -1246,12 +1246,12 @@ ca referință de oglindire. CmdSketcherMove - + Move Mută - + Moves the geometry taking as reference the last selected point Mutați ultimul punct la geometria luată ca referință @@ -1259,12 +1259,12 @@ ca referință de oglindire. CmdSketcherNewSketch - + Create sketch Creaza schita - + Create a new sketch. Creează o schiță nouă. @@ -1272,12 +1272,12 @@ ca referință de oglindire. CmdSketcherRectangularArray - + Rectangular array Matrice rectangulară - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Creează un model de matrice dreptunghiulară luând ca referință ultimul punct selectat @@ -1285,12 +1285,12 @@ ca referință de oglindire. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Elimină alinierea axelor - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifică constrângerile pentru a elimina alinierea axelor încercând în același timp să păstreze relația de constrângere a selecției @@ -1298,12 +1298,12 @@ ca referință de oglindire. CmdSketcherReorientSketch - + Reorient sketch... Reorientați schița... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Plasați schița selectată pe unul dintre planurile coordonate globale. @@ -1313,12 +1313,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Afișează/Ascunde geometria internă - + Show all internal geometry or hide unused internal geometry Arată toate geometria internă sau ascunderea geometriei interne neutilizate @@ -1326,8 +1326,8 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Selectaţi constrângerile contradictorii @@ -1335,12 +1335,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectConstraints - + Select associated constraints Selectează constrângerile asociate - + Select the constraints associated with the selected geometrical elements Selectați constrângerile asociate cu elementele geometrice selectate @@ -1348,12 +1348,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Selectaţi geometria asociată - + Select the geometrical elements associated with the selected constraints Selectați elementele geometrice asociate cu constrângerile selectate @@ -1361,12 +1361,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Selectați DoF fără constrângeri - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Selectaţi elementele geometrice unde Rezolvitorul încă detectează grade de libertate nelimitate. @@ -1374,12 +1374,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Selectaţi axa orizontală - + Select the local horizontal axis of the sketch Selectaţi axa orizontală locală a schiţei @@ -1387,8 +1387,8 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Selectaţi constrângerile formate incorect @@ -1396,12 +1396,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectOrigin - + Select origin Selectaţi originea - + Select the local origin point of the sketch Selectaţi punctul local de origine al schiţei @@ -1409,8 +1409,8 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Selectați constrângerile parțial redundante @@ -1418,8 +1418,8 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Selectaţi constrângerile redundante @@ -1427,12 +1427,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSelectVerticalAxis - + Select vertical axis Selectare axă verticală - + Select the local vertical axis of the sketch Selectaţi punctul local de origine al schiţei @@ -1453,12 +1453,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherStopOperation - + Stop operation Opriți toate operațiunile? - + When in edit mode, stop the active operation (drawing, constraining, etc.). Când sunteți în modul de editare, opriți operația activă (desen, constrângere, etc.). @@ -1479,12 +1479,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherSymmetry - + Symmetry Simetrie - + Creates symmetric geometry with respect to the last selected line or point Creează o geometrie simetrică în raport cu ultima linie selectată sau punct selectat @@ -1492,12 +1492,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activează/Dezactivează constrângerea - + Activates or deactivates the selected constraints Activează sau dezactivează constrângerile selectate @@ -1518,12 +1518,12 @@ Acest lucru va șterge proprietatea 'Support', dacă este cazul. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Comută constrângerea de condus/referință - + Set the toolbar, or the selected constraints, into driving or reference mode Setează bara de instrumente sau constrângerile selectate, @@ -1546,24 +1546,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Validează schița... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Validați o schiță uitându-vă la coincidențele lipsă, constrângeri nevalide, geometrie degenerată, etc. - + Wrong selection Selecţie greşită - + Select only one sketch. Selectaţi doar o schiţă. @@ -1571,12 +1571,12 @@ constrângeri nevalide, geometrie degenerată, etc. CmdSketcherViewSection - + View section Vederea secțiunii - + When in edit mode, switch between section view and full view. Când este în modul de editare, comutați între vizualizarea secțiunii și vizualizarea completă. @@ -1584,12 +1584,12 @@ constrângeri nevalide, geometrie degenerată, etc. CmdSketcherViewSketch - + View sketch Vezi schita - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Când este în modul de editare, setați orientarea camerei perpendiculară pe planul schiței. @@ -1597,287 +1597,404 @@ constrângeri nevalide, geometrie degenerată, etc. Command - - + + Add horizontal constraint Adaugă o constrângere orizontală - - - + + + Add horizontal alignment Adaugă aliniere orizontală - - + + Add vertical constraint Adaugă constrângere verticală - + Add vertical alignment Adaugă aliniere verticală - + Add 'Lock' constraint Adaugă constrângere 'Blocare' - + Add relative 'Lock' constraint Adaugă constrângere 'Blocare' - + Add fixed constraint Adaugă o constrângere fixă - + Add 'Block' constraint Adaugă constrângere 'Blocare' - + Add block constraint Adaugă constrângere 'Blocare' - - - + + + Add coincident constraint Adaugă constrângere de coincident - - + + Add distance from horizontal axis constraint Adăugați distanța de la constrângerea axei orizontale - - + + Add distance from vertical axis constraint Adăugați distanța față de constrângerea axei verticale - - + + Add point to point distance constraint Adăugați o constrângere de distanță punct la punct - - + + + Add point to line Distance constraint Adăugați punct la linie Constrângere de distanță - - + + Add circle to circle distance constraint Adăugați restricție de distanță cerc la cerc - + Add circle to line distance constraint Adăugați cerc la constrângere de distanță pe linie - - + + + + + Add length constraint Adăugați o constrângere de lungime - - + + + Dimension + Dimensiune + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Adăugați punct asupra constrângerii obiectului - - + + Add point to point horizontal distance constraint Adăugați constrângere de distanță orizontală punct la punct - + Add fixed x-coordinate constraint Adaugă o constrângere fixă la coordonatele x - - + + Add point to point vertical distance constraint Adaugă punct la punctul de distanță verticală constrângere - + Add fixed y-coordinate constraint Adaugă o constrângere fixă la coordonatele y - - + + Add parallel constraint Adaugă o constrângere paralelă - - - - - - - + + + + + + + Add perpendicular constraint Adaugă constrângere perpendiculară - + Add perpendicularity constraint Adaugă constrângere perpendiculară - + Swap coincident+tangency with ptp tangency Schimbă coincidentul+tangență cu tangență ptp - + Swap PointOnObject+tangency with point to curve tangency Schimbă PointOnObject+tangență cu tangență în curbă - - - - - - - + + + + + + + Add tangent constraint Adaugă constrângere tangentă - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Adaugă punct tangent de constrângere - - - - + + + + Add radius constraint Adaugă constrângere rază - - - - + + + + Add diameter constraint Adaugă o constrângere pentru diametru - - - - + + + + Add radiam constraint Adaugă constrângere de rază - - - - - - + + + + + + Add angle constraint Adaugă o constrângere de unghi - - + + Add equality constraint Adaugă constrângere pentru egalitate - - - - - + + + + + Add symmetric constraint Adaugă constrângere simetrică - + Add Snell's law constraint Adaugă constrângere legii lui Snell - + Toggle constraint to driving/reference Comută constrângerea pentru condus/referință - + Activate/Deactivate constraint Activează/Dezactivează constrângerea - + Create a new sketch on a face Creați o schiță nouă pe o față - + Create a new sketch Creați o nouă schiță - + Reorient sketch Restaurare schiță - + Attach sketch Atașează schiță - + Detach sketch Detașează schița - + Create a mirrored sketch for each selected sketch Creați o schiță oglindită pentru fiecare schiță selectată - + Merge sketches Combină schițe @@ -1995,72 +2112,72 @@ constrângeri nevalide, geometrie degenerată, etc. Adaugă hexagon - + Convert to NURBS Convertește în NURBS - + Increase spline degree Crește gradul B-spline - + Decrease spline degree Scade gradul curbei - + Increase knot multiplicity Creşte multiplicitatea nodului - + Decrease knot multiplicity Reduce multiplicitatea nodului - + Insert knot Inserare Robot - + Join Curves Alătură-te curbelor - + Exposing Internal Geometry Prezentare geometrie internă - + Create symmetric geometry Crează geometrie simetrică - + Copy/clone/move geometry Copiază/clonă/mută geometria - + Create copy of geometry Creați o copie a geometriei - + Delete all geometry Şterge toate geometria - + Delete All Constraints Șterge toate constrângerile - + Remove Axes Alignment Elimină Alinierea Axelor @@ -2071,44 +2188,44 @@ constrângeri nevalide, geometrie degenerată, etc. - - - + + + Update constraint's virtual space Actualizează spațiul virtual al constrângerilor - + Add auto constraints Adaugă Auto-Constrângeri - + Swap constraint names Inversați numele constrângerilor - + Rename sketch constraint Redenumește constrângerea schiței - + Drag Point Trage punctul - + Drag Curve Trage Curba - + Drag Constraint Constrângere Drag - + Modify sketch constraints Modifică constrângerile schiței @@ -2169,59 +2286,59 @@ constrângeri nevalide, geometrie degenerată, etc. Eroare de autoconstrângere: schiță nerezolvabilă după aplicarea constrângerilor de egalitate. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Nu puteți ghici intersecția curbelor. Încercați să adăugați o constrângere de potrivire între vârfurile curbelor pe care intenționați să le completați. - - + + BSpline Geometry Index (GeoID) is out of bounds. Indicele de geometrie BSpline (GeoID) nu este în limite maxime. - + You are requesting no change in knot multiplicity. Nu cereți nicio schimbare în multiplicitatea nodului. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Indicele de geometrie (GeoId) furnizat nu este o curbă B-spline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Indexul nod este în afara limitelor. Reţineţi că în conformitate cu notaţia OCC, primul nod are indexul 1 şi nu zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. Multiplicitatea nu poate fi crescută dincolo de gradul curbei B-spline. - + The multiplicity cannot be decreased beyond zero. Multiplicitatea nu poate fi diminuată sub zero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC este în imposibilitatea de a reduce multiplicarea în limitele toleranței maxime. - + Knot cannot have zero multiplicity. Nu poate avea multiplicitate zero. - + Knot multiplicity cannot be higher than the degree of the BSpline. Multiplicitatea nodului nu poate fi mai mare decât gradul BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Nu se poate insera un nod în afara intervalului parametrului BSpline. @@ -2237,210 +2354,213 @@ constrângeri nevalide, geometrie degenerată, etc. QObject - - - - + + + + Sketcher Schiță - + There are no modes that accept the selected set of subelements Nu există nici un mod de accepta ansamblul de sub-elemente selecționate - + Broken link to support subelements Legătura pentru susținerea sub-elementelor este întreruptă - - + + Unexpected error Eroare neașteptată - + Face is non-planar Fața este non-plană - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Formele selectate sunt într-o formă greșită (de exemplu, o margine curbată în cazul în care este necesară o muchie dreaptă) - + Sketch mapping Aplicarea schiței pe - + Can't map the sketch to selected object. %1. Imposibil de aplicat schița pe obiectul selectat %1. - - + + Don't attach A nu se atașa + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Selecţie greşită @@ -2451,383 +2571,383 @@ constrângeri nevalide, geometrie degenerată, etc. Selectati margini din schita. - + Not allowed to edit the datum because the sketch contains conflicting constraints Nu este permisă editarea datum-ului pentru ca schiţa conţine conflicte de constrângeri - + Dimensional constraint Constrângere dimensională - + Cannot add a constraint between two external geometries. Nu se poate adăuga o constrângere între două geometrii externe. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Nu se poate adăuga o constrângere între două geometrii fixe. Geometriile fixe includ geometrii externe, geometriei blocate și puncte speciale cum ar fi puncte de nod B-spline. - + Sketcher Constraint Substitution Constrângere Schiță Substituție - + Keep notifying me of constraint substitutions Continuă să mă notifici cu privire la substituțiile constrângerilor - - - + + + Only sketch and its support are allowed to be selected. Doar schița și suportul său sunt permise pentru a fi selectate. - + One of the selected has to be on the sketch. Una dintre cele selectate trebuie să fie pe schiță. - - + + Select an edge from the sketch. Selectati o margine din schita. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Constrangere imposibila - - - - + + + + The selected edge is not a line segment. Marginea selectată nu este un segment de linie. - - - - - - + + + + + + Double constraint Constrangere dubla - - - - - + + + + + The selected edge already has a horizontal constraint! Marginea selectată are deja o constrângere orizontală! - - - + + + The selected edge already has a vertical constraint! Marginea selectată are deja o constrângere verticală! - - - - - - + + + + + + The selected edge already has a Block constraint! Marginea selectată are deja o constrângere de bloc! - + The selected item(s) can't accept a horizontal constraint! Obiectele selectate nu accepta o constrangere orizontala! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Există mai mult de un punct fix selectat. Selectați maxim un punct fix! - + The selected item(s) can't accept a vertical constraint! Obiectele selectate nu accepta o constrangere verticala! - - - + + + Select vertices from the sketch. Selectează nodurile din Schiță. - + Select one vertex from the sketch other than the origin. Selectează un nod din schiţa altul decât originea. - + Select only vertices from the sketch. The last selected vertex may be the origin. Selectaţi doar nodurile din schiță. Ultimul punct selectat poate fi originea. - + Wrong solver status Status de greşit ak Rezolvitor - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. O constrângere de blocare nu poate fi adăugată dacă schița nu este rezolvată sau există constrângeri redundante și contradictorii. - + Select one edge from the sketch. Selectaţi o margine din Schiță. - + Select only edges from the sketch. Selectaţi o margine din Schiță. - + Number of selected objects is not 3 Numărul de obiecte selectate nu este 3 - - - + + + Error Eroare - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. Punct final la punctul final de tangenţă a fost aplicat în schimb. - + Select two or more points from the sketch. Selectaţi două sau mai multe puncte din schita. - + Select two or more vertices from the sketch. Selectaţi două sau mai multe noduri din schiţă. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Selectați două sau mai multe noduri din schiță pentru o constrângere de coincident, sau două sau mai multe cercuri, elipsuri, arcuri sau arcuri de elipsă pentru o constrângere concentrată. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Selectaţi două vârfuri din schiţă pentru o constrângere de incident, sau două cercuri, elipse, arcuri sau arcuri de elipsă pentru o constrângere concentrată. - + Select exactly one line or one point and one line or two points from the sketch. Selectati exact o linie sau un punct si o linie sau două puncte din schita. - + Cannot add a length constraint on an axis! Nu se poate adauga o constrangere de lungime pentru o axa! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Selectaţi exact o linie sau un punct şi o linie sau două puncte sau două cercuri din schiţă. - + This constraint does not make sense for non-linear curves. Această constrângere nu are sens pentru curbe neliniare. - + Endpoint to edge tangency was applied instead. Tangența la margine a fost aplicată în schimb. - - - - - - - + + + + + + + Select the right things from the sketch. Selectaţi lucruri corecte din schiță. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Selectaţi o muchie care nu este o greutate B-spline. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Niciunul dintre punctele selectate nu a fost constrâns pe curbele respective, deoarece acestea sunt părți ale aceluiași element, pentru că sunt atât geometrie externă, cât şi pentru că marginea nu este eligibilă. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Nici unul dintre punctele selectate nu trece prin curbele respective, sau pentru că ele fac parte din același element sau pentru că ele sunt amândouă exterioare din punct de vedere geometric. - - - - + + + + Select exactly one line or up to two points from the sketch. Selectati exact o linie sau maxim doua puncte din schita. - + Cannot add a horizontal length constraint on an axis! Nu se poate adauga o constrangere de lungime orizontala pentru o axa! - + Cannot add a fixed x-coordinate constraint on the origin point! Nu se poate adăuga o constrângere fixă la coordonatele x pe punctul de origine! - - + + This constraint only makes sense on a line segment or a pair of points. Această constrângere are sens doar pe un segment de linie sau pe o pereche de puncte. - + Cannot add a vertical length constraint on an axis! Nu se poate adauga o constrangere verticala pentru o axa! - + Cannot add a fixed y-coordinate constraint on the origin point! Nu se poate adăuga o constrângere fixă la coordonatele y pe punctul de origine! - + Select two or more lines from the sketch. Selectati doua sau mai multe linii din schita. - - + + Select at least two lines from the sketch. Selectati cel putin doua linii din schita. - + Select a valid line. Selectați o linie validă. - - + + The selected edge is not a valid line. Marginea selectată nu este o linie validă. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. perpendicular constraint - Există un număr de moduri se poate aplica această restricţie. + Există un număr de moduri se poate aplica această restricţie. Se acceptă combinațiile: două curbe; un punct extrem şi o curbă; două puncte extreme; două curbe şi un punct. - + Select some geometry from the sketch. perpendicular constraint Selectaţi o geometrie din schiță. - - + + Cannot add a perpendicularity constraint at an unconnected point! Nu pot adauga o constrângere perpendiculară pentru un punct neconectat! - - - + + + Perpendicular to B-spline edge currently unsupported. Perpendicular pe marginea B-spline neacceptată în prezent. - - + + One of the selected edges should be a line. Una dintre marginile selectate trebuie sa fie o linie. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Punct final la punctul final de tangenţă a fost aplicat. Coincident restricţia a fost şters. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. A fost aplicat punctul final de la margine tangenței. Punctul de pe obiect a fost șters. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2835,179 +2955,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Există un număr de moduri în care se poate aplica această constrângere. Se accepta combinațiile: două curbe; un punct extrem şi o curbă; două puncte extreme; două curbe şi un punct. - + Select some geometry from the sketch. tangent constraint Selectaţi o geometrie din schiță. - - - + + + Cannot add a tangency constraint at an unconnected point! Nu pot adauga constrângere tangenţială pentru un punct neconectat! - - + + Tangent constraint at B-spline knot is only supported with lines! Constrângerea tangentă la nodul B-spline este suportată doar cu linii! - + B-spline knot to endpoint tangency was applied instead. Tangenţa B-spline până la final a fost aplicată. - + Select either one point and several curves, or one curve and several points. Selectaţi fie un punct şi mai multe curbe, fie o curbă şi mai multe puncte. - - + + Wrong number of selected objects! Număr greșit al obiectelor selectate! - - + + With 3 objects, there must be 2 curves and 1 point. Cu 3 obiecte, trebuie să existe 2 curbe și un punct. - - - + + + Tangency to B-spline edge currently unsupported. Tangenţă la marginea B-spline neacceptată în prezent. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Selectaţi doar un arc sau un cerc din schiţă. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Selectaţi fie unul sau mai mulţi poli B-Spline sau doar unul sau mai multe arcuri sau cercuri din schiţă, dar nu amestecate. - - - + + + Constraint only applies to arcs or circles. Restricţia se aplică numai pentru arce de cerc sau cercuri. - - + + Select one or two lines from the sketch. Or select two edges and a point. Selectaţi una sau două linii din schiță, sau selectaţi două margini şi un punct. - - + + Parallel lines Linii paralele - - + + An angle constraint cannot be set for two parallel lines. O constrângere unghiulară nu poate fi aplicată la două linii paralele. - + Cannot add an angle constraint on an axis! Nu pot adăuga o constrângere de unghi pe o axă! - + Select two edges from the sketch. Selectaţi două margini din schiţă. - + Select two or more compatible edges. Selectaţi două sau mai multe margini compatibile. - + Sketch axes cannot be used in equality constraints. Axele schiţei nu pot fi folosite în constrângerile de egalitate. - + Equality for B-spline edge currently unsupported. Egalitate pentru muchiile curbelor B-spline, în prezent, nu sunt suportate. - - - + + + + Select two or more edges of similar type. Selectaţi două sau mai multe margini de tip similar. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Selectaţi două puncte şi o linie de simetrie, două puncte şi un punct de simetrie sau o linie si un punct de simetrie din schiță. - - + + Cannot add a symmetry constraint between a line and its end points. Nu se poate adăuga o constrângere de simetrie între o linie și punctele sale de sfârșit. - - + + + + Cannot add a symmetry constraint between a line and its end points! Nu se poate adăuga o constrângere de simetrie între o linie şi punctele ei de capăt! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Selectaţi două puncte finale ale liniilor pentru a acţiona ca raze, şi o margine reprezentând o limită. Primul punct selectat corespunde indicelui n1, secundă la n2, iar valoarea de referință setează raportul n2/n1. - + Selected objects are not just geometry from one sketch. Obiectele selectate nu sunt geometria doar unui sketch. - + Cannot create constraint with external geometry only. Nu se poate crea constrângere doar cu geometrie externă. - + Incompatible geometry is selected. Geometria incompatibilă este selectată. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw pe marginea curbei B-spline este în prezent neacceptat. - - - - - + + + + + Select constraints from the sketch. Selectează constrângerile din schiță. @@ -3029,155 +3152,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Defineste grade B-Spline intre 1 si %1: + + - - CAD Kernel Error Eroare a nucleului CAD - + None of the selected elements is an edge. Nici unul dintre obiectele selectate nu este o muchie. - - + + At least one of the selected objects was not a B-Spline and was ignored. Cel puțin unul dintre obiectele selectate nu a fost o curbă Bezier (B-Spline) și a fost ignorat. - - + + The selection comprises more than one item. Please select just one knot. Selecția include mai mult de un element. Selectați numai un singur nod. - - + + Input Error Eroarea de introducere a datelor - - + + None of the selected elements is a knot of a B-spline Nici unul dintre elementele selectate este un nod de curbă B-spline - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nimic nu este selectat. Vă rugăm să selectaţi o curbă b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Vă rugăm să selectaţi o curbă b-spline pentru a insera un nod (nu un nod pe acesta). Dacă curba nu este o curbă b-spline, vă rugăm să o convertiți mai întâi într-una singură. - + Nothing is selected. Please select end points of curves. Nu se selectează nimic. Te rugăm să selectezi punctele finale ale curbelor. - + Too many curves on point Prea multe curbe la punct - - + + Exactly two curves should end at the selected point to be able to join them. Exact două curbe ar trebui să se termine în punctul selectat pentru a putea să li se alăture. - + Too few curves on point Prea multe curbe la punct - + Two end points, or coincident point should be selected. Trebuie selectate două puncte finale sau punctul de incident. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Selectaţi elemente dintr-o singură schiță. - + No constraint selected Nici o restricţie selectată - + At least one constraint must be selected Cel puţin o constrângere trebuie să fie selectată - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. O construcţie simetric necesită cel puţin două elemente geometrice, ultimul element geometric fiind referinţa pentru construirea simetriei. - + The last element must be a point or a line serving as reference for the symmetry construction. Ultimul element trebuie să fie un punct sau o linie care serveşte drept referinţă pentru construirea simetriei. - - + + A copy requires at least one selected non-external geometric element O copie necesită cel puţin un element selectat geometrice non-extern - + Delete All Geometry Ștergeți toate elementele de geometrie - + Are you really sure you want to delete all geometry and constraints? Sunteţi sigur că doriţi să ştergeţi toate geometria şi constrângerile? - + Delete All Constraints Șterge toate constrângerile - + Are you really sure you want to delete all the constraints? Sunteți foarte sigur că doriți să ștergeți toate constrângerile? - + Removal of axes alignment requires at least one selected non-external geometric element Îndepărtarea alinierii axelor necesită cel puțin un element geometric intern selectat - + Unsupported visual layer operation Operație strat vizual nesuportat - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Momentan nu este suportat să mutați geometria externă într-un alt strat vizual. Geometria externă va fi omisă @@ -3377,67 +3500,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Selectează elemente - + Change value Modificaţi valoarea - + Toggle to/from reference Activează/dezactivează o referință - + Deactivate Dezactivați - + Activate Activare - + Show constraints Arătați constrângerile - + Hide constraints Ascunde constrângerile - + Rename Redenumire - + Center sketch Centrați schița - + Delete Ştergeţi - + Swap constraint names Inversați numele constrângerilor - + Unnamed constraint Cosntrângere fără denumire - + Only the names of named constraints can be swapped. Numai numele constrângerilor denumite pot fi permutate între ele. @@ -3445,74 +3568,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle Introdu unghi - + Angle: Unghiul: - + Insert radius Introduceți raza - + Radius: Raza: - + Insert diameter Înserează diamtreul - + Diameter: Diametru: - + Insert weight Introduceți greutatea - + Weight: Greutate: - + Refractive index ratio Constraint_SnellsLaw Procentul indicelui de refracție - + Ratio n2/n1: Constraint_SnellsLaw Raportul n2/n1: - + Insert length Introduceţi lungimea - + Length: Lungime: - + Refractive index ratio Procentul indicelui de refracție - + Ratio n2/n1: Raportul n2/n1: @@ -3520,72 +3643,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal Normal - + Construction Construcţie - + Internal Intern - + External Extern - + All types Toate tipurile - + Point Punct - + Line Linie - + Circle Cerc - + Ellipse Elipsa - + Arc of circle Arc de cerc - + Arc of ellipse Arc de elipsă - + Arc of hyperbola Arc de hiperbolă - + Arc of parabola Arc de parabolă - + B-Spline B-Spline @@ -3593,142 +3716,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Coincidență punct - + Point on Object Punct pe obiect - + Vertical Constraint Constrângere verticală - + Horizontal Constraint Constrângere orizontală - + Parallel Constraint Constrângere paralelă - + Perpendicular Constraint Constrângere perpendiculară - + Tangent Constraint Constrângere tangentă - + Equal Length Lungime egală - + Symmetric Simetrice - + Block Constraint Constrângere bloc - + Lock Constraint Constrângere de blocare - + Horizontal Distance Distanță orizontală - + Vertical Distance Distanță verticală - + Length Constraint Constrângere de lungime - + Radius Constraint Constrângere rază - + Diameter Constraint Constrângere Diametru - + Radiam Constraint Constrângere Radiam - + Angle Constraint Constrângere unghi - + Toggle construction geometry Activează/dezactivează construcția geometrică - + Select Constraints Selectați constrângeri - + Select Origin Selectaţi originea - + Select Horizontal Axis Selectaţi axa orizontală - + Select Vertical Axis Selectaţi axa verticală - + Layer Layer - + Layer 0 Nivel 0 - + Layer 1 Nivelul 1 - + Hidden Hidden - + Delete Ştergeţi @@ -4014,6 +4137,75 @@ Necesită reintroducerea modului de editare pentru a avea efect. Notify automatic constraint substitutions Notifică substituția automată a constrângerilor + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Ambele + + + + Auto + Automat + + + + Diameter + Diametru + + + + Radius + Raza + SketcherGui::SketcherSettingsColors @@ -4459,12 +4651,12 @@ Apoi obiectele sunt vizibile doar în spatele planului schiței. Aplică schițelor existente - + Unexpected C++ exception Excepție neașteptată de C++ - + Sketcher Schiță @@ -4635,48 +4827,48 @@ However, no constraints linking to the endpoints were found. Setari - + Constraints Constraints - + Auto constraints Constrângeri automate - + Auto remove redundants Șterge automat redundantele - + Show only filtered Constraints Arată doar constrângerile filtrate - + Extended information (in widget) Informaţii extinse (în widget) - + Hide internal alignment (in widget) Ascunde aliniere internă (în widget) - - + + Error Eroare - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4708,6 +4900,33 @@ However, no constraints linking to the endpoints were found. Settings Setari + + + + + + + + + + + + Construction + Construcţie + + + + Elements + Elemente + + + + + + + Point + Punct + @@ -4719,110 +4938,83 @@ However, no constraints linking to the endpoints were found. - Construction - Construcţie - - - - Elements - Elemente - - - - - - - Point - Punct - - - - - - - - - - - - Internal Intern - - + + + - Line Linie - - + + + - Arc Arc - - + + + - Circle Cerc - - + + + - Ellipse Elipsa - - + + + - Elliptical Arc Arc eliptic - - + + + - Hyperbolic Arc Arc hiperbolic - - + + + - Parabolic Arc Arc parabolic - - + + + - BSpline BSpline - - + + + - Other Altceva - + Extended information Informații suplimentare @@ -4830,42 +5022,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Mesaje la rezolvare - + Auto update Actualizare automată - + Executes a recomputation of active document after every sketch action Execută o recalculare a documentului activ după fiecare acţiune de schiţă - + Click to select the conflicting constraints. Faceți clic pentru a selecta constrângerile conflictuale. - + Click to select the redundant constraints. Click pentru a selecta constrângerile redundante. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Schița are elemente fără constrângeri care dau naștere acelor grade de libertate. Faceți clic pentru a selecta elementele fără constrângeri. - + Click to select the malformed constraints. Click pentru a selecta constrângerile informate. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Unele constrângeri combinate sunt parțial redundante. Faceți clic pentru a selecta constrângerile parțial redundante. @@ -5043,112 +5235,112 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi SketcherGui::ViewProviderSketch - + Edit sketch Editaţi schiţa - + A dialog is already open in the task panel O fereastră de dialog este deja deschisă în fereastra de sarcini - + Do you want to close this dialog? Doriţi să închideţi această fereastră de dialog? - + Invalid sketch Schiță nevalidă - + Do you want to open the sketch validation tool? Doriți să să deschideți scula de validare a schiței? - + The sketch is invalid and cannot be edited. Schița nu este validă și nu poate fi editată. - + Please remove the following constraint: Înlătură urmatoarea constrângere: - + Please remove at least one of the following constraints: Înlaturaţi cel puţin una din urmatoarele constrângeri: - + Please remove the following redundant constraint: Înlăturaţi urmatoarele constrângeri redundante: - + Please remove the following redundant constraints: Înlăturaţi urmatoarele constrângeri redundante: - + The following constraint is partially redundant: Următoarea constrângere este parțial redundantă: - + The following constraints are partially redundant: Următoarele constrângeri sunt parțial redundante: - + Please remove the following malformed constraint: Eliminați următoarele constrângeri informate: - + Please remove the following malformed constraints: Eliminați următoarele constrângeri informate: - + Empty sketch Schita goala - + Over-constrained: Supraconstrânse: - + Malformed constraints: Constrângeri incorecte: - + Redundant constraints: Constrângeri redundante: - + Partially redundant: Parţial redundant: - + Solver failed to converge Rezolvitorul nu a putut converge - + Under constrained: Sub constrângeri: - + %n DoF(s) %n ore @@ -5157,7 +5349,7 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi - + Fully constrained Complet constrâns @@ -5165,8 +5357,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Comută între afişarea şi ascunderea gradului de curvatură pentru toate B-spline-urile @@ -5174,8 +5366,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Descrește multiplicitatea nodului selectat a unui B-spline @@ -5183,8 +5375,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Comută între afişarea şi ascunderea gradului de curbură pentru toate B-spline-urile @@ -5192,8 +5384,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Creşte multitudinea de nodul selectat de un B-spline @@ -5201,8 +5393,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Comută între afişarea şi ascunderea multiplicității de nod pentru toate B-spline-urile @@ -5210,8 +5402,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Comută între afişarea şi ascunderea greutăţii punctului de control pentru toate B-splines @@ -5219,8 +5411,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Comută între afişarea şi ascunderea poligoane de control pentru toate B-spline-urile @@ -5228,8 +5420,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Creează o clona a geometriei luând ca referinţă ultimul punct selectat @@ -5237,17 +5429,17 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_CompCopy - + Clone Clonă - + Copy Copiere - + Move Mută @@ -5255,8 +5447,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fixează diametrul unui cerc sau arc de cerc @@ -5264,7 +5456,7 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Repară raza/diametrul unui cerc sau al unui arc @@ -5272,8 +5464,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fixează raza unui cerc sau arc @@ -5281,7 +5473,7 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Repară raza/diametrul unui cerc sau al unui arc @@ -5289,8 +5481,8 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Creează o clona a geometriei luând ca referinţă ultimul punct selectat @@ -5509,64 +5701,64 @@ Acest lucru se realizează prin analizarea geometrelor și constrângerilor schi Sketcher_MapSketch - + No sketch found Nu s-a găsit nici o Schiță - + The document doesn't have a sketch Documentul nu conține nici o schiță - + Select sketch Selecționați o schiță - + Select a sketch from the list Selectaţi o schita din lista - + (incompatible with selection) (incompatibil cu selecţie) - + (current) (curent) - + (suggested) (propus) - + Sketch attachment Atașamentul schiței - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Modul de atașare curent este incompatibil cu noua selecție. Selectați metoda pentru a atașa această schiță la obiectele selectate. - + Select the method to attach this sketch to selected objects. Selecționați metoda de atașare a acestei schițe la obiectele selectatate. - + Map sketch Aplicați schița - + Can't map a sketch to support: %1 Imposibil de aplicat schița pe suport: %1 @@ -5575,8 +5767,8 @@ Selectați metoda pentru a atașa această schiță la obiectele selectate. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Mutați ultimul punct la geometria luată ca referință @@ -5584,12 +5776,12 @@ Selectați metoda pentru a atașa această schiță la obiectele selectate. Sketcher_NewSketch - + Sketch attachment Atașamentul schiței - + Select the method to attach this sketch to selected object Selecționați metoda de atașare a acestei schițe la obiectul selectat @@ -5597,12 +5789,12 @@ Selectați metoda pentru a atașa această schiță la obiectele selectate. Sketcher_ReorientSketch - + Sketch has support Schița are suport - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Schița cu o față suport nu se poate reorienta. @@ -5611,11 +5803,6 @@ Doriți să fie detașată de suport? TaskSketcherMessages - - - Form - Formular - DOF @@ -5634,11 +5821,6 @@ Doriți să fie detașată de suport? TaskSketcherSolverAdvanced - - - Form - Formular - Default algorithm used for Sketch solving @@ -5911,7 +6093,7 @@ Algoritmul QR Eigen Sparse este optimizat pentru matrici dispersați; de obicei ViewProviderSketch - + and %1 more și încă %1 @@ -6101,22 +6283,22 @@ Schimbarea spațierii grilei dacă devine mai mică decât acest număr de pixel GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Redimensionează grila automat în funcție de zoom. - + Spacing Spațiere - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6124,87 +6306,87 @@ Schimbarea spațierii grilei dacă devine mai mică decât acest număr de pixel Notifications - + The Sketch has malformed constraints! Schița a malformat constrângerile! - + The Sketch has partially redundant constraints! Schița are constrângeri parțial redundante! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolele au fost migrate. Fișierele migrate nu vor fi deschise în versiunile anterioare de FreeCAD! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Eroare - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6246,8 +6428,8 @@ Schimbarea spațierii grilei dacă devine mai mică decât acest număr de pixel Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6344,9 +6526,9 @@ Schimbarea spațierii grilei dacă devine mai mică decât acest număr de pixel Failed to trim edge - - - + + + Value Error Value Error @@ -6382,58 +6564,58 @@ Schimbarea spațierii grilei dacă devine mai mică decât acest număr de pixel SnapSpaceAction - + Snap to objects Aleargă la obiecte - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Punctele noi se vor fixa la obiectul preselectat în prezent. De asemenea, se va fixa în mijlocul liniilor şi arcurilor. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Punctele noi se vor fixa la cea mai apropiată linie de grilă. Punctele trebuie să fie mai apropiate de o cincime din spațierea grilei de o linie grilă pentru ancorare. - + Snap angle Unghiul de ancorare - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Geometrie normală - - Construction Geometry - Geometria construcției + Normal Geometry + Geometrie normală + Construction Geometry + Geometria construcției + + + + + External Geometry Geometrie externă @@ -6454,12 +6636,12 @@ Punctele trebuie să fie mai apropiate de o cincime din spațierea grilei de o l CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6467,12 +6649,12 @@ Punctele trebuie să fie mai apropiate de o cincime din spațierea grilei de o l CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6503,4 +6685,34 @@ Punctele trebuie să fie mai apropiate de o cincime din spațierea grilei de o l Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Dimensiune + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ru.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ru.ts index f0fda6a81b..25c70829a1 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ru.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_ru.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Показать/скрыть гребень кривизны B-сплайна - + Switches between showing and hiding the curvature comb for all B-splines Показать/скрыть кривизну всех B-сплайнов @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Показать/скрыть степень B-сплайна - + Switches between showing and hiding the degree for all B-splines Переключение между показом и скрытием степени для всех B-сплайнов @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Показать/скрыть кратность узлов B-сплайна - + Switches between showing and hiding the knot multiplicity for all B-splines Переключение между отображением и сокрытием мультипликативных узлов для всех B-сплайнов @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Показать/скрыть контрольную точку веса B-сплайна - + Switches between showing and hiding the control point weight for all B-splines Переключает между отображением и скрытием контрольной точки для всех B-сплайнов @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Показать/скрыть полигон управления B-сплайном - + Switches between showing and hiding the control polygons for all B-splines Показать/скрыть управляющие полигоны всех B-сплайнов @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Клонировать - + Creates a clone of the geometry taking as reference the last selected point Создает копию геометрии, взяв за основу последнюю выделенную точку @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Показать/скрыть информационный уровень В-сплайн - + Show/hide B-spline degree Показать/скрыть степень B-сплайна - + Show/hide B-spline control polygon Показать/скрыть полигон управления B-сплайном - + Show/hide B-spline curvature comb Показать/скрыть гребень кривизны B-сплайна - + Show/hide B-spline knot multiplicity Показать/скрыть кратность узлов B-сплайна - + Show/hide B-spline control point weight Показать/скрыть контрольную точку веса B-сплайна @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Ограничение дуги или окружности - + Constrain an arc or a circle Ограничение дуги или окружности - + Constrain radius Ограничение радиуса - + Constrain diameter Ограничение диаметра - + Constrain auto radius/diameter Ограничение радиуса/диаметра автоматически @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Клонировать - + Creates a clone of the geometry taking as reference the last selected point Создает копию геометрии, взяв за основу последнюю выделенную точку @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Изменение кратности узлов - + Modifies the multiplicity of the selected knot of a B-spline Изменение кратности выбранного узла B-сплайна - + Increase knot multiplicity Увеличение кратности узлов - + Decrease knot multiplicity Уменьшение кратности узлов @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Ограничение угла - + Fix the angle of a line or the angle between two lines Фиксировать угол отрезка или угол между двумя отрезками @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Ограничение перемещения - + Block the selected edge from moving Блокировать выбранный край от перемещения @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Ограничение наложения точек - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Создать ограничение совпадения между точками или ограничение концентричности между кругами, дугами и эллипсами @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Ограничение диаметра - + Fix the diameter of a circle or an arc Задать диаметр окружности или дуги @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Ограничение расстояния - + Fix a length of a line or the distance between a line and a vertex or between two circles Исправить длину линии или расстояние между линией и вершиной или между двумя кругами @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Ограничение расстояния по горизонтали - + Fix the horizontal distance between two points or line ends Фиксировать расстояние по горизонтали между двумя точками или концами отрезка @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Ограничение расстояния по вертикали - + Fix the vertical distance between two points or line ends Фиксировать расстояние по вертикали между двумя точками или концами отрезка @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Ограничение эквивалентностью - + Create an equality constraint between two lines or between circles and arcs Создать ограничение равенства между двумя отрезками или между окружностями и дугами @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Ограничение горизонтальности - + Create a horizontal constraint on the selected item Создать ограничение горизонтальности для выбранных линий @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Ограничение положения - + Create both a horizontal and a vertical distance constraint on the selected vertex Создать ограничение расстояния горизонтального и вертикального расстояния @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Ограничение параллельности - + Create a parallel constraint between two lines Создать ограничение параллельности между двумя линиями @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Ограничение перпендикулярности - + Create a perpendicular constraint between two lines Создать ограничение перпендикулярности между двумя линиями @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Ограничить точку на объекте - + Fix a point onto an object Привязать точку к объекту @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Ограничение радиуса/диаметра автоматически - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Назначает диаметр, если выбран круг или радиус, если выбран полюс дуга/сплайн @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Ограничение радиуса или веса - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Зафиксировать радиус окружности или дуги или зафиксировать вес полюса В-сплайна @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Ограничение преломления (закон Снеллиуса) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Создать ограничение по закону преломления света (закон Снеллиуса) между двумя конечными точками лучей и отрезком в качестве границы раздела сред. @@ -599,12 +599,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Ограничение симметричности - + Create a symmetry constraint between two points with respect to a line or a third point Создать ограничение симметрии между двумя точками относительно линии или третьей точки @@ -613,12 +613,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Ограничение касательности - + Create a tangent constraint between two entities Создать ограничение касательности между двумя объектами @@ -626,12 +626,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Ограничение вертикальности - + Create a vertical constraint on the selected item Создать ограничение вертикальности для выделенных линий @@ -639,12 +639,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Преобразовать геометрию в B-сплайн - + Converts the selected geometry to a B-spline Преобразовать выбранную геометрию в B-сплайн @@ -652,12 +652,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy - Копировать + Скопировать - + Creates a simple copy of the geometry taking as reference the last selected point Создает простую копию геометрии, взяв за основу последнюю выделенную точку @@ -1016,12 +1016,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Уменьшить степень B-сплайна - + Decreases the degree of the B-spline Уменьшает степень B-сплайна @@ -1029,12 +1029,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Уменьшение кратности узлов - + Decreases the multiplicity of the selected knot of a B-spline Уменьшение кратности выбранного узла B-сплайна @@ -1042,12 +1042,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Удалить все ограничения - + Delete all constraints in the sketch Удалить все ограничения в эскизе @@ -1055,12 +1055,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Удалить всю геометрию - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Удалить всю геометрию и ограничения в текущем эскизе, за исключением внешней геометрии @@ -1068,12 +1068,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Редактировать эскиз - + Edit the selected sketch. Редактировать выбранный эскиз. @@ -1107,12 +1107,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Увеличить степень B-сплайна - + Increases the degree of the B-spline Увеличить степень B-сплайна @@ -1120,12 +1120,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Увеличение кратности узлов - + Increases the multiplicity of the selected knot of a B-spline Увеличение кратности выбранного узла B-сплайна @@ -1133,12 +1133,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Вставить узел - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Вставляет узел с заданным параметром. Если узел уже существует с этим параметром, то его кратность увеличивается на единицу. @@ -1146,12 +1146,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Объединить кривые - + Join two curves at selected end points Объединить две кривые в выбранных конечных точках @@ -1159,12 +1159,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Покинуть эскиз - + Finish editing the active sketch. Завершить редактирование активного эскиза. @@ -1172,12 +1172,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Разместить эскиз на грани... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1186,7 +1186,7 @@ then call this command, then choose the desired sketch. вызовите эту команду, а затем выберите нужный эскиз. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Некоторые из выбранных объектов зависят от эскиза, который будет отображен. Циклические зависимости не допускаются. @@ -1194,22 +1194,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Объединить эскизы - + Create a new sketch from merging two or more selected sketches. Создать новый эскиз из слияния двух или более выбранных эскизов. - + Wrong selection Неправильный выбор - + Select at least two sketches. Выберите как минимум два эскиза. @@ -1217,24 +1217,24 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Отразить эскиз зеркально - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. Создать новый эскиз зеркальным отображением каждого из выбранных эскизов относительно оси X, Y или начала координат. - + Wrong selection - Неправильный выбор + Неправильное выделение - + Select one or more sketches. Выберите один или несколько эскизов. @@ -1242,12 +1242,12 @@ as mirroring reference. CmdSketcherMove - + Move Переместить - + Moves the geometry taking as reference the last selected point Перемещает геометрии, принимая в качестве ориентира последнюю выбранную точку @@ -1255,12 +1255,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Создать эскиз - + Create a new sketch. Создать новый эскиз. @@ -1268,12 +1268,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Прямоугольный массив - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Создаёт прямоугольный массив геометрии, в качестве привязки используется последняя выделенная точка @@ -1281,12 +1281,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Удалить выравнивание осей - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Изменяет ограничения, чтобы удалить выравнивание осей, пытаясь сохранить взаимосвязь ограничения выделения. @@ -1294,12 +1294,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Переориентировать эскиз... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Разместите выбранный эскиз на одной из глобальных плоскостей координат. @@ -1309,12 +1309,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Показать/скрыть внутреннюю геометрию - + Show all internal geometry or hide unused internal geometry Показать всю внутреннюю геометрию или скрыть неиспользуемую внутреннюю геометрию @@ -1322,8 +1322,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Выделить конфликтующие ограничения @@ -1331,12 +1331,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints Выделить связанные ограничения - + Select the constraints associated with the selected geometrical elements Выделить ограничения, связанные с выбранными геометрическими элементами @@ -1344,12 +1344,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Выделить связанную геометрию - + Select the geometrical elements associated with the selected constraints Выделить геометрические элементы, связанные с выбранными ограничениями @@ -1357,12 +1357,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Выделить геометрию, имеющую неограниченные Степени Свободы - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Выделить геометрические элементы, в которых решатель по-прежнему обнаруживает неограниченные степени свободы. @@ -1370,12 +1370,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Выбрать горизонтальную ось - + Select the local horizontal axis of the sketch Выберите локальную горизонтальную ось эскиза @@ -1383,8 +1383,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Выбрать искаженные ограничения @@ -1392,12 +1392,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin Выбрать начало координат - + Select the local origin point of the sketch Выберите локальное начало координат эскиза @@ -1405,8 +1405,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Выделить частично избыточные ограничения @@ -1414,8 +1414,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Выделить избыточные ограничения @@ -1423,12 +1423,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis Выбрать вертикальную ось - + Select the local vertical axis of the sketch Выбрать локальную вертикальную ось эскиза @@ -1449,12 +1449,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation Остановить операцию - + When in edit mode, stop the active operation (drawing, constraining, etc.). В режиме редактирования остановить активную операцию (черчение, ограничение и т. д.). @@ -1475,12 +1475,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry Симметрия - + Creates symmetric geometry with respect to the last selected line or point Создает симметричную геометрию относительно последней выбранной линии или точки @@ -1488,12 +1488,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Вкл/выкл ограничение - + Activates or deactivates the selected constraints Вкл/выкл выбранные ограничения @@ -1514,12 +1514,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Переключить ограничения в построительные/основные - + Set the toolbar, or the selected constraints, into driving or reference mode Переключает панель инструментов или преобразует выбранные ограничения, в режим построительной/основной геометрии @@ -1541,24 +1541,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Проверить эскиз... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. - Проверить эскиз, просмотрев отсутствующие совпадения, + Проверить эскиз, просмотрев отсутствующие совпадения, недопустимые ограничения, вырожденную геометрию и т. д. - + Wrong selection - Неправильный выбор + Неправильное выделение - + Select only one sketch. Выберите только один эскиз. @@ -1566,12 +1566,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Просмотр сечения - + When in edit mode, switch between section view and full view. В режиме редактирования переключайте между видом секции и полным видом. @@ -1579,12 +1579,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Просмотр эскиза - + When in edit mode, set the camera orientation perpendicular to the sketch plane. В режиме редактирования, установить ориентацию камеры перпендикулярно плоскости эскиза. @@ -1592,287 +1592,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Добавить ограничение по горизонтали - - - + + + Add horizontal alignment Добавить горизонтальное выравнивание - - + + Add vertical constraint Добавить ограничение по вертикали - + Add vertical alignment Добавить вертикальное выравнивание - + Add 'Lock' constraint Добавить 'Блокирующее' ограничение - + Add relative 'Lock' constraint Добавить относительное ограничение 'Блокировка' - + Add fixed constraint Добавить фиксированное ограничение - + Add 'Block' constraint Добавить ограничение 'Блок' - + Add block constraint Добавить ограничение блока - - - + + + Add coincident constraint Добавить ограничение совпадения - - + + Add distance from horizontal axis constraint Добавить ограничение расстояния от горизонтальной оси - - + + Add distance from vertical axis constraint Добавить ограничение расстояния от вертикальной оси - - + + Add point to point distance constraint Добавить точку к ограничению расстояния до точки - - + + + Add point to line Distance constraint Добавить точку к ограничению расстояния до линии - - + + Add circle to circle distance constraint Добавить круг к ограничениям расстояния круга - + Add circle to line distance constraint Добавить круг к ограниченияю линейного расстояния - - + + + + + Add length constraint Добавить ограничение длины - - + + + Dimension + Размер + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Добавить точку на ограничение объекта - - + + Add point to point horizontal distance constraint Добавить точку к ограничению расстояния по горизонтали - + Add fixed x-coordinate constraint Добавить фиксированное ограничение X-координаты - - + + Add point to point vertical distance constraint Добавить точку к ограничению расстояния по вертикали - + Add fixed y-coordinate constraint Добавить фиксированное ограничение Y-координаты - - + + Add parallel constraint Добавить ограничение параллельности - - - - - - - + + + + + + + Add perpendicular constraint Добавить ограничение перпендикулярности - + Add perpendicularity constraint Добавить ограничение перпендикулярности - + Swap coincident+tangency with ptp tangency Поменять совпадение + касание на ptp касание - + Swap PointOnObject+tangency with point to curve tangency Поменять точка на объекте + касательная на касательную к кривой - - - - - - - + + + + + + + Add tangent constraint Добавить касательное ограничение - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Добавить точку касательного ограничения - - - - + + + + Add radius constraint Добавить ограничение радиуса - - - - + + + + Add diameter constraint Добавить ограничение диаметра - - - - + + + + Add radiam constraint Добавить ограничение радиуса - - - - - - + + + + + + Add angle constraint Добавить ограничение угла - - + + Add equality constraint Добавить ограничение равенства - - - - - + + + + + Add symmetric constraint Добавить ограничение симметричности - + Add Snell's law constraint Добавить ограничение по закону Снеллиуса - + Toggle constraint to driving/reference Переключить ограничения в построительные/основные - + Activate/Deactivate constraint Вкл/выкл ограничение - + Create a new sketch on a face Создать новый эскиз на грани - + Create a new sketch Создать новый эскиз - + Reorient sketch Переориентировать эскиз - + Attach sketch Прикрепить эскиз - + Detach sketch Открепить эскиз - + Create a mirrored sketch for each selected sketch Создать зеркальный эскиз для каждого выбранного эскиза - + Merge sketches Объединить эскизы @@ -1990,72 +2107,72 @@ invalid constraints, degenerated geometry, etc. Добавить шестиугольник - + Convert to NURBS Преобразовать в NURBS - + Increase spline degree Увеличить степень сплайна - + Decrease spline degree Уменьшить степень сплайна - + Increase knot multiplicity Увеличение кратности узлов - + Decrease knot multiplicity Уменьшение кратности узлов - + Insert knot Вставить узел - + Join Curves Объединить кривые - + Exposing Internal Geometry Раскрытие внутренней геометрии - + Create symmetric geometry Создать симметричную геометрию - + Copy/clone/move geometry Копировать/клонировать/переместить геометрию - + Create copy of geometry Создать копию геометрии - + Delete all geometry Удалить всю геометрию - + Delete All Constraints Удалить все ограничения - + Remove Axes Alignment Удалить выравнивание осей @@ -2066,44 +2183,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Обновить ограничения виртуального пространства - + Add auto constraints Добавить автоматические ограничения - + Swap constraint names Изменить имена ограничений - + Rename sketch constraint Переименовать ограничение эскиза - + Drag Point Перетащить точку - + Drag Curve Перетащить кривую - + Drag Constraint Перетащить ограничение - + Modify sketch constraints Изменить ограничения эскиза @@ -2164,59 +2281,59 @@ invalid constraints, degenerated geometry, etc. Ошибка автоограничения: Эскиз нерешаем после добавлении ограничения равенства. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Не удалось рассчитать пересечение кривых. Попробуйте добавить ограничение совпадения между вершинами кривых, которые вы намерены скруглить. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline идентификатор геометрии (GeoID) находится вне границ. - + You are requesting no change in knot multiplicity. Вы не запрашиваете никаких изменений в множественности узлов. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Идентификатор геометрии (GeoId) не является B-сплайн кривой. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Индекс узла выходит за границы. Обратите внимание, что в соответствии с нотацией OCC первый узел имеет индекс 1, а не ноль. - + The multiplicity cannot be increased beyond the degree of the B-spline. Кратность не может быть увеличена сверх степени B-сплайна. - + The multiplicity cannot be decreased beyond zero. Кратность не может быть уменьшена ниже нуля. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC неспособен уменьшить кратность в пределах максимального допуска. - + Knot cannot have zero multiplicity. Узел не может иметь нулевой кратности. - + Knot multiplicity cannot be higher than the degree of the BSpline. Кратность узла не может быть выше степени BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Узел не может быть вставлен за пределы диапазона параметров BSpline. @@ -2232,210 +2349,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher - Sketcher + Набросок - + There are no modes that accept the selected set of subelements Нет режимов, которые принимают выбранный набор вложенных элементов - + Broken link to support subelements Неработающая ссылка для поддержки вложенных элементов - - + + Unexpected error Непредвиденная ошибка - + Face is non-planar Поверхность не плоская - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Выбранные фигуры неправильной формы (например, изогнутый край, где требуется прямой) - + Sketch mapping Отображение эскиза - + Can't map the sketch to selected object. %1. Не удается создать карту эскиза на выбранный объект. %1. - - + + Don't attach Не присоединять + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Неправильный выбор @@ -2446,339 +2566,339 @@ invalid constraints, degenerated geometry, etc. Выберите элементы из эскиза. - + Not allowed to edit the datum because the sketch contains conflicting constraints Не разрешается редактировать значение из-за конфликта ограничений - + Dimensional constraint Размерное ограничение - + Cannot add a constraint between two external geometries. Невозможно добавить ограничение между двумя внешними геометриями. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Невозможно добавить ограничение между двумя фиксированными геометриями. Фиксированная геометрия включает в себя внешнюю геометрию, заблокированную геометрию или специальные точки в качестве точек узла B-сплайна. - + Sketcher Constraint Substitution Замена ограничения эскиза - + Keep notifying me of constraint substitutions Продолжайте уведомлять меня о заменах ограничений - - - + + + Only sketch and its support are allowed to be selected. Только эскиз и его поддержка разрешены. - + One of the selected has to be on the sketch. Один из выбранных должен находиться на эскизе. - - + + Select an edge from the sketch. Выбирите ребро в эскизе. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Ограничение невозможно - - - - + + + + The selected edge is not a line segment. Выбранное ребро не является сегментом линии. - - - - - - + + + + + + Double constraint Избыточное ограничение - - - - - + + + + + The selected edge already has a horizontal constraint! Выбранная линия уже имеет ограничение горизонтальности! - - - + + + The selected edge already has a vertical constraint! Выбранная линия уже имеет ограничение вертикальности! - - - - - - + + + + + + The selected edge already has a Block constraint! Выбранная линия уже имеет Блочное ограничение! - + The selected item(s) can't accept a horizontal constraint! На выбранные элемент(ы) нельзя наложить ограничение горизонтальности! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Выбрано несколько фиксированных точек. Выберите максимум одну фиксированную точку! - + The selected item(s) can't accept a vertical constraint! На выбранные элемент(ы) нельзя наложить ограничение вертикальности! - - - + + + Select vertices from the sketch. Выберите вершины из эскиза. - + Select one vertex from the sketch other than the origin. Выберите одну вершину из эскиза, кроме начальной. - + Select only vertices from the sketch. The last selected vertex may be the origin. Выберите только вершины из эскиза. Последняя выбранная вершина может быть начальной. - + Wrong solver status Неправильный статус решателя - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Блокирующее ограничение не может быть добавлено, если эскиз не решаем или имеются избыточные или конфликтующие ограничения. - + Select one edge from the sketch. Выберите одну линию из эскиза. - + Select only edges from the sketch. Выберите линии из эскиза. - + Number of selected objects is not 3 Количество выбранных объектов не 3 - - - + + + Error - Ошибки + Ошибка - + Unexpected error. More information may be available in the Report View. Неожиданная ошибка. Дополнительные сведения могут быть доступны в представлении отчета. - + Endpoint to endpoint tangency was applied instead. Вместо конечной точки применена касательная. - + Select two or more points from the sketch. Выберите две или более точек на эскизе. - + Select two or more vertices from the sketch. Выберите не менее двух вершин на эскизе. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Выберите две или более вершины из эскиза для ограничения совпадения, или два или более кругов, эллипсов, дуг или дуг эллипса для концентрационного ограничения. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Выберите две вершины из эскиза для ограничения совпадения, или два круга, эллипса, дуги или дуги эллипса для ограничения концентрации. - + Select exactly one line or one point and one line or two points from the sketch. Выделите либо один отрезок, либо точку и отрезок, либо две точки. - + Cannot add a length constraint on an axis! Нельзя наложить ограничение длины на ось! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Выделить ровно одну линию или одну точку и одну линию или две точки или два круга из эскиза. - + This constraint does not make sense for non-linear curves. Это ограничение не имеет смысла для нелинейных кривых. - + Endpoint to edge tangency was applied instead. Вместо этого было применено касание конечной точки к краю. - - - - - - - + + + + + + + Select the right things from the sketch. Выберите нужные объекты из эскиза. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Выберите край, который не является B-сплайном. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Ни одна из выбранных точек не была ограничена на соответствующие кривые, поскольку они являются частями одного и того же элемента, потому что они и внешняя геометрия, или потому, что край не является допустимым. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Ни одна из выбранных точек не была ограничена соответствующими кривыми либо потому, что они являются частями одного и того же элемента, либо потому, что они являются внешней геометрией. - - - - + + + + Select exactly one line or up to two points from the sketch. Выберите один отрезок или две точки эскиза. - + Cannot add a horizontal length constraint on an axis! Нельзя наложить ограничение длины на ось! - + Cannot add a fixed x-coordinate constraint on the origin point! Невозможно ограничить X-координату точки начала координат! - - + + This constraint only makes sense on a line segment or a pair of points. Это ограничение имеет смысл только для сегмента линии или пары точек. - + Cannot add a vertical length constraint on an axis! Нельзя наложить ограничение длины на ось! - + Cannot add a fixed y-coordinate constraint on the origin point! Невозможно ограничить Y-координату точки начала координат! - + Select two or more lines from the sketch. Выберите два или более отрезков эскиза. - - + + Select at least two lines from the sketch. Нужно выделить как минимум две линии. - + Select a valid line. Выберите правильную линию. - - + + The selected edge is not a valid line. Выделенное ребро некорректно. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2788,42 +2908,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Допустимы следующие комбинации: две кривые; концевая точка и кривая; две концевых точки; две кривых и точка. - + Select some geometry from the sketch. perpendicular constraint Выделите геометрические элементы на эскизе. - - + + Cannot add a perpendicularity constraint at an unconnected point! Не удаётся наложить ограничение перпендикулярности на точку, так как выделенная точка не является концом кривой. - - - + + + Perpendicular to B-spline edge currently unsupported. Перпендикуляр к кромке B-сплайна в настоящее время не поддерживается. - - + + One of the selected edges should be a line. Один из выбранных элементов должен быть линией. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Применена касательность конечной точки к конечной точке. Ограничение совпадения было удалено. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Было применено касание конечной точки к краю. Точка ограничения объекта удалена. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2831,179 +2951,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Существует несколько способов применения этого ограничения. Допустимые комбинации: две кривые; конечная точка и кривая; две конечные точки; две кривые и точка. - + Select some geometry from the sketch. tangent constraint Выделите геометрические элементы на эскизе. - - - + + + Cannot add a tangency constraint at an unconnected point! Не удаётся наложить ограничение касательности на точку, так как выделенная точка не является концом кривой. - - + + Tangent constraint at B-spline knot is only supported with lines! Зависимость касательной в узле B-сплайн поддерживается только линиями! - + B-spline knot to endpoint tangency was applied instead. Вместо этого был применен узел B-сплайна к касанию конечной точки. - + Select either one point and several curves, or one curve and several points. Выберите либо одну точку, либо несколько кривых, либо одну кривую и несколько точек. - - + + Wrong number of selected objects! Неправильное количество выбранных объектов! - - + + With 3 objects, there must be 2 curves and 1 point. С 3 объектами должно быть 2 кривых и 1 точка. - - - + + + Tangency to B-spline edge currently unsupported. Касательность к краю B-сплайна в настоящее время не поддерживается. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Сначала выделите одну или несколько окружностей или дуг окружности из эскиза. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Выберите либо только один или несколько полюсов B-сплайна, либо только одну или несколько дуг или окружностей из эскиза, но не смешивайте их. - - - + + + Constraint only applies to arcs or circles. Ограничение применимо только к дугам или окружностям. - - + + Select one or two lines from the sketch. Or select two edges and a point. Нужно выделить одну линию, или две линии, или две кривые и точку. - - + + Parallel lines Параллельные линии - - + + An angle constraint cannot be set for two parallel lines. Задать ограничение угла между параллельными линиями невозможно. - + Cannot add an angle constraint on an axis! Наложить ограничение угла на ось невозможно! - + Select two edges from the sketch. Выберите два ребра в эскизе. - + Select two or more compatible edges. Выберите совместимые рёбра, два или более. - + Sketch axes cannot be used in equality constraints. Оси эскиза нельзя использовать в ограничениях равенства. - + Equality for B-spline edge currently unsupported. Равенство для края B-сплайна в настоящее время не поддерживается. - - - + + + + Select two or more edges of similar type. Выберите рёбра аналогичного типа, два или более. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Выделите две точки и линию симметрии, либо две точки и точку симметрии, либо линию и точку симметрии. - - + + Cannot add a symmetry constraint between a line and its end points. Невозможно добавить ограничение симметрии между линией и её конечными точками. - - + + + + Cannot add a symmetry constraint between a line and its end points! Не удается добавить ограничение симметрии, так как обе точки являются концами линии, задающей ось симметрии. - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Выберите две конечные точки линий, которые будут выступать в качестве лучей, и ребро, представляющее собой границу. Первая выбранная точка соответствует индексу n1, вторая — n2, а значение привязки задает отношение n2/n1. - + Selected objects are not just geometry from one sketch. Выбранные объекты не являются только геометрией из одного эскиза. - + Cannot create constraint with external geometry only. Невозможно создать ограничение с использованием только внешней геометрии. - + Incompatible geometry is selected. Выбрана несовместимая геометрия. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw на кромке B-сплайна в настоящее время не поддерживается. - - - - - + + + + + Select constraints from the sketch. Выделить ограничения в эскизе. @@ -3025,155 +3148,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Укажите степень B-сплайна, между 1 и %1: + + - - CAD Kernel Error Ошибка ядра CAD - + None of the selected elements is an edge. Ни один из выбранных элементов не является ребром. - - + + At least one of the selected objects was not a B-Spline and was ignored. По крайней мере один из выбранных объектов не B-сплайн и был проигнорирован. - - + + The selection comprises more than one item. Please select just one knot. Выбор состоит из нескольких элементов. Пожалуйста, выберите только один узел. - - + + Input Error Ошибка ввода - - + + None of the selected elements is a knot of a B-spline Ни один из выбранных элементов не является узлом B-сплайна - - + + Selection is empty Пустое выделение - + Nothing is selected. Please select a b-spline. Ничего не выбрано. Пожалуйста, выберите B-сплайн. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Выберите кривую b-сплайна, чтобы вставить узел (не узел на ней). Если кривая не является b-сплайном, сначала преобразуйте ее в один. - + Nothing is selected. Please select end points of curves. Ничего не выбрано. Пожалуйста, выберите конечные точки кривых. - + Too many curves on point Слишком много кривых в точке - - + + Exactly two curves should end at the selected point to be able to join them. Ровно две кривые должны заканчиваться в выбранной точке, чтобы их можно было соединить. - + Too few curves on point Слишком мало кривых в точке - + Two end points, or coincident point should be selected. Следует выбрать две конечные точки или совпадающие точки. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Выделите элементы из одного эскиза. - + No constraint selected Не выделено ограничений - + At least one constraint must be selected Должно быть выделено хотя бы одно ограничение. - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Симметричная конструкция требует по крайней мере двух геометрических элементов, последний геометрический элемент является эталоном для построения симметрии - + The last element must be a point or a line serving as reference for the symmetry construction. Последний элемент должен быть точкой или линией, служащей в качестве ориентира для построения симметрии. - - + + A copy requires at least one selected non-external geometric element Для копирования требуется хотя бы один выбранный не внешний геометрический элемент - + Delete All Geometry Удалить всю геометрию - + Are you really sure you want to delete all geometry and constraints? Вы действительно уверены, что хотите удалить всю геометрию и ограничения? - + Delete All Constraints Удалить все ограничения - + Are you really sure you want to delete all the constraints? Вы уверены, что хотите удалить все ограничения? - + Removal of axes alignment requires at least one selected non-external geometric element Для удаления выравнивания осей требуется выбрать по крайней мере один не-внешний геометрический элемент - + Unsupported visual layer operation Неподдерживаемая операция визуального слоя - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted В настоящее время не поддерживается перемещение внешней геометрии на другой визуальный слой. Внешняя геометрия будет опущена @@ -3251,7 +3374,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Coincident - Coincident + Совпадение @@ -3261,12 +3384,12 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Vertical - По вертикали + Вертикальный Horizontal - По горизонтали + Горизонталь @@ -3331,7 +3454,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Weight - Толщина + Значение @@ -3372,67 +3495,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Выбрать элементы - + Change value Изменить значение - + Toggle to/from reference - Ссылка На / от + Примечание / ограничение - + Deactivate Деактивировать - + Activate Aктивировать - + Show constraints Показать ограничения - + Hide constraints Скрыть ограничения - + Rename Переименовать - + Center sketch По центру эскиза - + Delete Удалить - + Swap constraint names Изменить имена ограничений - + Unnamed constraint Неименованные ограничения - + Only the names of named constraints can be swapped. Только имена именованных ограничений могут быть заменены. @@ -3440,74 +3563,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle Введите угол - + Angle: Угол: - + Insert radius Введите радиус - + Radius: Радиус: - + Insert diameter Введите диаметр - + Diameter: Диаметр: - + Insert weight Вставить вес - + Weight: Вес: - + Refractive index ratio Constraint_SnellsLaw Отношение показателей преломления - + Ratio n2/n1: Constraint_SnellsLaw Отношение n2/n1: - + Insert length Введите длину - + Length: Длина: - + Refractive index ratio Отношение показателей преломления - + Ratio n2/n1: Отношение n2/n1: @@ -3515,72 +3638,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal Обычные - + Construction - Конструктор + Конструкция - + Internal Внутренний - + External Внешний - + All types Все типы - + Point Точка - + Line Линия - + Circle Окружность - + Ellipse Эллипс - + Arc of circle Дуга окружности - + Arc of ellipse Дуга эллипса - + Arc of hyperbola Дуга гиперболы - + Arc of parabola Дуга параболы - + B-Spline B-сплайн @@ -3588,142 +3711,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Совпадение точек - + Point on Object Точка на объекте - + Vertical Constraint Ограничение Вертикальность - + Horizontal Constraint Ограничение Горизонтальность - + Parallel Constraint Ограничение Параллельность - + Perpendicular Constraint Ограничение Перпендикулярность - + Tangent Constraint Ограничение Касательность - + Equal Length Приравнять длины - + Symmetric Симметрично - + Block Constraint Ограничение Блок - + Lock Constraint Заблокировать - + Horizontal Distance Горизонтальное расстояние - + Vertical Distance Вертикальное расстояние - + Length Constraint Ограничение Длина - + Radius Constraint Ограничение Радиус - + Diameter Constraint Ограничение Диаметр - + Radiam Constraint Ограничение диаметр/радиус - + Angle Constraint Ограничение Угол - + Toggle construction geometry Переключить вспомогательную геометрию - + Select Constraints Выбрать ограничения - + Select Origin Выбрать исходную точку - + Select Horizontal Axis Выбрать горизонтальную ось - + Select Vertical Axis Выбрать вертикальную ось - + Layer Слой - + Layer 0 Слой 0 - + Layer 1 Слой 1 - + Hidden Скрыто - + Delete Удалить @@ -3776,7 +3899,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Reference (or constraint) dimension - Размеры ссылки (или ограничения) + Примечание (или ограничение) для размера @@ -3940,7 +4063,7 @@ reflected on copies General - Основные + Главный @@ -4006,13 +4129,82 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Уведомлять об автоматических заменах ограничений + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Оба варианта одновременно (три панели) + + + + Auto + Авто + + + + Diameter + Диаметр + + + + Radius + Радиус + SketcherGui::SketcherSettingsColors Colors - Выделение цветом + Цвета @@ -4415,7 +4607,7 @@ Defaults to: %N = %V When entering edit mode, force orthographic view of camera. Works only when "Restore camera position after editing" is enabled. - В режиме правки эскиза, вид будет переключен на ортогональный. + В режиме правки эскиза, вид будет переключен на ортогональный. Работает только, если включена функция «Восстановить позицию камеры после редактирования». @@ -4451,14 +4643,14 @@ Then objects are only visible behind the sketch plane. Применить к существующим эскизам - + Unexpected C++ exception Неожиданное исключение C++ - + Sketcher - Sketcher + Набросок @@ -4629,48 +4821,48 @@ However, no constraints linking to the endpoints were found. Настройки - + Constraints Ограничения - + Auto constraints Автоматические ограничения - + Auto remove redundants Автоудаление избыточных ограничений - + Show only filtered Constraints Показать только отфильтрованные ограничения - + Extended information (in widget) Расширенная информация (в виджете) - + Hide internal alignment (in widget) Скрыть внутреннее выравнивание (в виджете) - - + + Error - Ошибки + Ошибка - + Impossible to update visibility tracking Обновление видимости трекинга невозможно - + Impossible to update visibility tracking: Обновление видимости трекинга невозможно: @@ -4702,6 +4894,33 @@ However, no constraints linking to the endpoints were found. Settings Настройки + + + + + + + + + + + + Construction + Конструктор + + + + Elements + Элементы + + + + + + + Point + Точка + @@ -4713,110 +4932,83 @@ However, no constraints linking to the endpoints were found. - Construction - Конструктор - - - - Elements - Элементы - - - - - - - Point - Точка - - - - - - - - - - - - Internal Внутренний - - + + + - Line Линия - - + + + - Arc Дуга - - + + + - Circle Окружность - - + + + - Ellipse Эллипс - - + + + - Elliptical Arc Дуга эллипса - - + + + - Hyperbolic Arc Гиперболическая дуга - - + + + - Parabolic Arc Параболическая дуга - - + + + - BSpline Bсплайн - - + + + - Other Нечто - + Extended information Расширенная информация @@ -4824,42 +5016,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Состояние эскиза - + Auto update Автообновление - + Executes a recomputation of active document after every sketch action Выполняет пересчёт активного документа после каждого действия эскиза - + Click to select the conflicting constraints. Нажмите, чтобы выбрать конфликтующие ограничения. - + Click to select the redundant constraints. Нажмите, чтобы выбрать избыточные ограничения. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Эскиз имеет неограниченные элементы, порождающие эти Степени Свободы. Нажмите, чтобы выбрать элементы без ограничений. - + Click to select the malformed constraints. Нажмите, чтобы выбрать неправильно сформированные ограничения. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Некоторые ограничения в сочетании частично избыточны. Нажмите, чтобы выбрать частично избыточные ограничения. @@ -5037,112 +5229,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Редактировать эскиз - + A dialog is already open in the task panel Диалог уже открыт в панели задач - + Do you want to close this dialog? Вы хотите закрыть этот диалог? - + Invalid sketch Эскиз повреждён - + Do you want to open the sketch validation tool? Открыть инструмент проверки наброска? - + The sketch is invalid and cannot be edited. Эскиз содержит ошибки и не может быть изменен. - + Please remove the following constraint: Пожалуйста, удалите следующие ограничения: - + Please remove at least one of the following constraints: Пожалуйста, удалите по крайней мере одно из следующих ограничений: - + Please remove the following redundant constraint: Пожалуйста, удалите следующие избыточные ограничения: - + Please remove the following redundant constraints: Пожалуйста, удалите следующие избыточные ограничения: - + The following constraint is partially redundant: Следующее ограничение частично избыточно: - + The following constraints are partially redundant: Следующие ограничения частично избыточны: - + Please remove the following malformed constraint: Пожалуйста, удалите следующее искаженное ограничение: - + Please remove the following malformed constraints: Пожалуйста, удалите следующие некорректые ограничения: - + Empty sketch Эскиз не содержащий элементов - + Over-constrained: Чрезмерно ограничено: - + Malformed constraints: Неправильные ограничения: - + Redundant constraints: Избыточные ограничения: - + Partially redundant: Частично избыточны: - + Solver failed to converge Решатель не смог сместиться - + Under constrained: Без ограничений: - + %n DoF(s) %n DoF(Степени свободы) @@ -5152,7 +5344,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Полностью ограничен @@ -5160,8 +5352,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Показать/скрыть кривизну всех B-сплайнов @@ -5169,8 +5361,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Уменьшение кратности выбранного узла B-сплайна @@ -5178,8 +5370,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Переключение между показом и скрытием степени для всех B-сплайнов @@ -5187,8 +5379,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Увеличение кратности выбранного узла B-сплайна @@ -5196,8 +5388,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Переключение между отображением и сокрытием мультипликативных узлов для всех B-сплайнов @@ -5205,8 +5397,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Переключает между отображением и скрытием контрольной точки для всех B-сплайнов @@ -5214,8 +5406,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Показать/скрыть управляющие полигоны всех B-сплайнов @@ -5223,8 +5415,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Создает копию геометрии, взяв за основу последнюю выделенную точку @@ -5232,17 +5424,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Клонировать - + Copy Копировать - + Move Переместить @@ -5250,8 +5442,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Задать диаметр окружности или дуги @@ -5259,7 +5451,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Исправляет радиус/диаметр окружности или дуги @@ -5267,8 +5459,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Зафиксировать радиус окружности или дуги @@ -5276,7 +5468,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Исправляет радиус/диаметр окружности или дуги @@ -5284,8 +5476,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Создает простую копию геометрии, взяв за основу последнюю выделенную точку @@ -5504,64 +5696,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Эскиз не найден - + The document doesn't have a sketch В документе отсутствует эскиз - + Select sketch Выберите эскиз - + Select a sketch from the list Выберите эскиз из списка - + (incompatible with selection) (несовместимо с выбором) - + (current) (текущий) - + (suggested) (предложенный) - + Sketch attachment Вложенный эскиз - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Текущий режим вложения несовместим с новым выбором. Выберите метод присоединения этого эскиза к выбранным объектам. - + Select the method to attach this sketch to selected objects. Выберите способ прикрепления эскиза к выбранному объекту. - + Map sketch Карта эскиза - + Can't map a sketch to support: %1 Не поддерживаемая карта эскиза: %1 @@ -5570,8 +5762,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Перемещает геометрии, принимая в качестве ориентира последнюю выбранную точку @@ -5579,12 +5771,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Вложенный эскиз - + Select the method to attach this sketch to selected object Выберите способ прикрепления эскиза к выбранному объекту @@ -5592,12 +5784,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Эскиз имеет основание - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Эскиз с опорной поверхностью не может быть переориентирован. Вы хотите отсоединить его от основания? @@ -5605,11 +5797,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Форма - DOF @@ -5618,7 +5805,7 @@ Do you want to detach it from the support? Link - Зависимость + Ссылка @@ -5628,11 +5815,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Форма - Default algorithm used for Sketch solving @@ -5905,7 +6087,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more и еще %1 @@ -5925,7 +6107,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster Sketcher - Sketcher + Набросок @@ -6007,7 +6189,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster Grid spacing - Шаг сетки + Расстояние между линиями сетки @@ -6057,7 +6239,7 @@ The grid spacing change if it becomes smaller than this number of pixel. Line pattern - Шаблон строки + Шаблон линии @@ -6068,7 +6250,7 @@ The grid spacing change if it becomes smaller than this number of pixel. Line width - Ширина линии + Толщина линии @@ -6095,22 +6277,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Автоматический шаг сетки - + Resize grid automatically depending on zoom. Автоматическое изменение размера сетки в зависимости от масштаба. - + Spacing Интервал - + Distance between two subsequent grid lines. Расстояние между соседними линиями сетки. @@ -6118,87 +6300,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! В эскизе неправильно сформированы ограничения! - + The Sketch has partially redundant constraints! Sketch имеет частично избыточные ограничения! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Параболы были перенесены. Перемещенные файлы не будут открыты в предыдущих версиях FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Ошибки - + Failed to delete all geometry Не удалось удалить всю геометрию - + Failed to delete all constraints Не удалось удалить все ограничения - + The constraint has invalid index information and is malformed. Ограничение имеет неверную индексную информацию и является неправильным. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Недопустимое ограничение @@ -6240,8 +6422,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Ошибка при создании полюса B-сплайна - + Error creating B-spline Ошибка создания B-сплайна @@ -6338,9 +6520,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Не удалось обрезать ребро - - - + + + Value Error Ошибка значения @@ -6376,58 +6558,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Привязка к объектам - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Новые точки привязываются к заранее выбранному объекту, а также привязываются к середине линий и дуг. - + Snap to grid Привязать к сетке - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Новые точки будут привязаны к ближайшей линии сетки. Точки должны быть установлены ближе, чем пятая часть шага сетки к линии сетки для привязки. - + Snap angle Угол привязки - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Угловой шаг для инструментов, использующих "Угловую привязку" (например, линия). Удерживайте CTRL, чтобы включить функцию "Угловая привязка". Угол осчитывается от положительного направлекния оси X эскиза. RenderingOrderAction - - - - - Normal Geometry - Основная геометрия - - Construction Geometry - Вспомогательная геометрия + Normal Geometry + Основная геометрия + Construction Geometry + Вспомогательная геометрия + + + + + External Geometry Внешняя геометрия @@ -6448,12 +6630,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Переключить сетку - + Toggle the grid in the sketch. In the menu you can change grid settings. Переключение сетки в эскизе. В меню можно изменить настройки сетки. @@ -6461,12 +6643,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Переключить привязку - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Включить/выключить привязку. В меню можно выбрать "Привязку к сетке" и "Привязку к объектам" по отдельности, а также изменить другие настройки привязки. @@ -6497,4 +6679,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Создайте периодический B-сплайн по узлам, т.е. путем интерполяции, в эскизе. + + CmdSketcherDimension + + + Dimension + Размер + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sl.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sl.ts index dfc6f83aa9..9431cb2077 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sl.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sl.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Prikaži/skrij glavnikast prikaz ukrivljenosti B-zlepka - + Switches between showing and hiding the curvature comb for all B-splines Preklopi med prikazanim in skritim glavnikastim prikazom ukrivljenosti za vse B-zlepke @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Prikaži/skrij stopnjo B-zlepka - + Switches between showing and hiding the degree for all B-splines Preklopi med prikazano in skrito stopnjo za vse B-zlepke @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Prikaži/skrij večkratnost vozla B-zlepka - + Switches between showing and hiding the knot multiplicity for all B-splines Preklopi med prikazano in skrito večkratnostjo vozla za vse B-zlepke @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Prikaži/skrij utežitev krmilnih točk B-zlepka - + Switches between showing and hiding the control point weight for all B-splines Preklopi med prikazano in skrito utežitvijo krmilnih točk za vse B-lepke @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Prikaži/skrij nadzorni mnogokotnik B-zlepka - + Switches between showing and hiding the control polygons for all B-splines Preklopi med prikazanimi in skritimi nadzornimi mnogokotniki za vse B-zlepke @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Kloniraj - + Creates a clone of the geometry taking as reference the last selected point Ustvari klon geometrije glede na zadnjo izbrano točko @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Prikaži/skrij podatkovni sloj B-zlepka - + Show/hide B-spline degree Prikaži/skrij stopnjo B-zlepka - + Show/hide B-spline control polygon Prikaži/skrij nadzorni mnogokotnik B-zlepka - + Show/hide B-spline curvature comb Prikaži/skrij glavnikast prikaz ukrivljenosti B-zlepka - + Show/hide B-spline knot multiplicity Prikaži/skrij večkratnost vozla B-zlepka - + Show/hide B-spline control point weight Prikaži/skrij utežitev krmilnih točk B-zlepka @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Omeji krožni lok ali krožnico - + Constrain an arc or a circle Omeji krožni lok ali krožnico - + Constrain radius Omeji polmer - + Constrain diameter Omeji premer - + Constrain auto radius/diameter Samodejno omeji polmer/premer @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Kloniraj - + Creates a clone of the geometry taking as reference the last selected point Ustvari klon geometrije glede na zadnjo izbrano točko @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Spremeni večkratnost vozla - + Modifies the multiplicity of the selected knot of a B-spline Spremeni večkratnost izbranih vozlov B-zlepka - + Increase knot multiplicity Povečaj večkratnost vozla - + Decrease knot multiplicity Zmanjšaj večkratnost vozla @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Kotno omejilo - + Fix the angle of a line or the angle between two lines Določi kót daljice ali kót med dvema daljicama @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Omeji zbir - + Block the selected edge from moving Prepreči premikanje izbranega robu @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Omeji sovpadanje - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Ustvari sovpadno omejilo za točke ali sosrediščno omejilo za kroge, loke in elipse @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Omeji premer - + Fix the diameter of a circle or an arc Določi premer krožnice ali krožnega loka @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Omeji razdaljo - + Fix a length of a line or the distance between a line and a vertex or between two circles Določi dolžino daljice ali razdaljo med daljico in ogliščem oz. med dvema krogoma @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Omeji vodoravno razdaljo - + Fix the horizontal distance between two points or line ends Določi vodoravno razdaljo med dvema točkama ali krajiščema @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Omeji navpično razdaljo - + Fix the vertical distance between two points or line ends Določi navpično razdaljo med dvema točkama ali krajiščema @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Omeji na enakost - + Create an equality constraint between two lines or between circles and arcs Ustvari enakostno omejilo med dvema črtama ali med krogi in loki @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Omeji na vodoravnost - + Create a horizontal constraint on the selected item Ustvari vodoravno omejilo na izbranem predmetu @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Zaklenjeno omejilo - + Create both a horizontal and a vertical distance constraint on the selected vertex Ustvari omejilo navpične in vodoravne oddaljenosti izbranega oglišča @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Omeji z vzporednostjo - + Create a parallel constraint between two lines Ustvari omejilo vzporednosti med dvema črtama @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Omeji s pravokotnostjo - + Create a perpendicular constraint between two lines Ustvari pravokotno omejilo med dvema črtama @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Omeji točko na predmet - + Fix a point onto an object Pritrdi točko na predmet @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Samodejno omeji polmer/premer - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Zakleni premer, če izbran krog, oz. polmer, če je izbran lok/tečaj zlepka @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Omeji polmer ali utežitev - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Zakleni polmer kroga oz. loka ali zakleni utežitev tečaja B-zlepka @@ -584,12 +584,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Lomno omejilo (lomni zakon) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Ustvari omejitev lomnega zakona med dvema končnima točkama žarkov @@ -599,12 +599,12 @@ in robom, ki predstavlja mejo. CmdSketcherConstrainSymmetric - + Constrain symmetrical Omeji s somernostjo - + Create a symmetry constraint between two points with respect to a line or a third point Ustvari omejitev somernosti med dvema točkama @@ -614,12 +614,12 @@ glede na črto ali tretjo točko CmdSketcherConstrainTangent - + Constrain tangent Omeji z dotikalnostjo - + Create a tangent constraint between two entities Ustvari dotikalno omejilo med dvema prvinama @@ -627,12 +627,12 @@ glede na črto ali tretjo točko CmdSketcherConstrainVertical - + Constrain vertically Omeji na navpičnost - + Create a vertical constraint on the selected item Ustvari navpičnostno omejilo na izbranem predmetu @@ -640,12 +640,12 @@ glede na črto ali tretjo točko CmdSketcherConvertToNURBS - + Convert geometry to B-spline Pretvori geometrijo v B-zlepek - + Converts the selected geometry to a B-spline Pretvori izbrano geometrijo v B-zlepek @@ -653,12 +653,12 @@ glede na črto ali tretjo točko CmdSketcherCopy - + Copy Kopiraj - + Creates a simple copy of the geometry taking as reference the last selected point Ustvari preprosto kopijo geometrije glede na zadnjo izbrano točko @@ -1017,12 +1017,12 @@ glede na črto ali tretjo točko CmdSketcherDecreaseDegree - + Decrease B-spline degree Znižaj stopnjo B-zlepka - + Decreases the degree of the B-spline Zniža stopnjo B-zlepka @@ -1030,12 +1030,12 @@ glede na črto ali tretjo točko CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Zmanjšaj večkratnost vozla - + Decreases the multiplicity of the selected knot of a B-spline Zmanjša večkratnost izbranih vozlov B-zlepka @@ -1043,12 +1043,12 @@ glede na črto ali tretjo točko CmdSketcherDeleteAllConstraints - + Delete all constraints Izbriši vsa omejila - + Delete all constraints in the sketch Izbriši vsa omejila v očrtu @@ -1056,12 +1056,12 @@ glede na črto ali tretjo točko CmdSketcherDeleteAllGeometry - + Delete all geometry Izbriši vso geometrijo - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Izbriši vso geometrijo in omejila trenutnega očrta razen zunanjih geometrij @@ -1069,12 +1069,12 @@ glede na črto ali tretjo točko CmdSketcherEditSketch - + Edit sketch Uredi očrt - + Edit the selected sketch. Uredi izbrani očrt. @@ -1108,12 +1108,12 @@ glede na črto ali tretjo točko CmdSketcherIncreaseDegree - + Increase B-spline degree Povišaj stopnjo B-zlepka - + Increases the degree of the B-spline Poveča stopnjo B-zlepka @@ -1121,12 +1121,12 @@ glede na črto ali tretjo točko CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Povečaj večkratnost vozla - + Increases the multiplicity of the selected knot of a B-spline Poveča večkratnost izbranih vozlov B-zlepka @@ -1134,12 +1134,12 @@ glede na črto ali tretjo točko CmdSketcherInsertKnot - + Insert knot Vstavi vozel - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Vstavi vozel na podani določilki. Če vozel na tej določilki že obstaja, se njegova večkratnost poveča za ena. @@ -1147,12 +1147,12 @@ glede na črto ali tretjo točko CmdSketcherJoinCurves - + Join curves Združi krivulje - + Join two curves at selected end points Združi krvulji v izbranih krajiščih @@ -1160,12 +1160,12 @@ glede na črto ali tretjo točko CmdSketcherLeaveSketch - + Leave sketch Zapusti očrt - + Finish editing the active sketch. Končaj urejanje dejavnega očrta. @@ -1173,12 +1173,12 @@ glede na črto ali tretjo točko CmdSketcherMapSketch - + Map sketch to face... Preslikaj očrt na ploskev ... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1187,7 +1187,7 @@ Najprej izberite podporno geometrijo, npr. ploskev ali rob telesa, nato prikličite ta ukaz in izberite željeni očrt. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Nekateri izbrani predmeti so odvisni od odslikave očrta. Krožne odvisnosti niso dopustne. @@ -1195,22 +1195,22 @@ nato prikličite ta ukaz in izberite željeni očrt. CmdSketcherMergeSketches - + Merge sketches Združi očrte - + Create a new sketch from merging two or more selected sketches. Z združevanjem dveh ali več izbranih očrtov ustvari nov očrt. - + Wrong selection Napačna izbira - + Select at least two sketches. Izberite najmanj dva očrta. @@ -1218,12 +1218,12 @@ nato prikličite ta ukaz in izberite željeni očrt. CmdSketcherMirrorSketch - + Mirror sketch Zrcali očrt - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1231,12 +1231,12 @@ as mirroring reference. preko X ali Y osi, oz. preko izhodiščne točke. - + Wrong selection Napačna izbira - + Select one or more sketches. Izberite enega ali več očrtov. @@ -1244,12 +1244,12 @@ preko X ali Y osi, oz. preko izhodiščne točke. CmdSketcherMove - + Move Premakni - + Moves the geometry taking as reference the last selected point Premakne geometrijo glede na zadnjo izbrano točko @@ -1257,12 +1257,12 @@ preko X ali Y osi, oz. preko izhodiščne točke. CmdSketcherNewSketch - + Create sketch Ustvari očrt - + Create a new sketch. Ustvari nov očrt. @@ -1270,12 +1270,12 @@ preko X ali Y osi, oz. preko izhodiščne točke. CmdSketcherRectangularArray - + Rectangular array Pravokotna razpostavitev - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Ustvari pravokotni vzorec geometrije glede na zadnjo izbrano točko @@ -1283,12 +1283,12 @@ preko X ali Y osi, oz. preko izhodiščne točke. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Ukini poravnavo z osmi - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Spremeni omejila tako, da ukine poravnavanje z osmi, hkrati pa skuša ohraniti odnose omejil izbranih predmetov @@ -1296,12 +1296,12 @@ preko X ali Y osi, oz. preko izhodiščne točke. CmdSketcherReorientSketch - + Reorient sketch... Preusmeri očrt ... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Umestite izbrani očrt na eno izmed glavnih koordinatnih ravnin. @@ -1311,12 +1311,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Prikaži/Skrij notranjo geometrijo - + Show all internal geometry or hide unused internal geometry Prikaži vso notranjo geometrijo ali skrij neuporabljeno notranjo geometrijo @@ -1324,8 +1324,8 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Izberi omejila v sporu @@ -1333,12 +1333,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectConstraints - + Select associated constraints Izberi vezana omejila - + Select the constraints associated with the selected geometrical elements Izberi omejila, vezana na izbrane geometrijske prvine @@ -1346,12 +1346,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Izberi vezano geometrijo - + Select the geometrical elements associated with the selected constraints Izberi geometrijske prvine, vezane na izbrana omejila @@ -1359,12 +1359,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Izberi neomejeno prostostno stopnjo - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Izberi geometrijske prvine, pri katerih reševalnik še vedno zazna neomejene prostostne stopnje. @@ -1372,12 +1372,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Izberite vodoravno os - + Select the local horizontal axis of the sketch Izberite krajevno vodoravno os očrta @@ -1385,8 +1385,8 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Izberi narobi oblikovana omejila @@ -1394,12 +1394,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectOrigin - + Select origin Izberite izhodišče - + Select the local origin point of the sketch Izberite krajevno izhodišče očrta @@ -1407,8 +1407,8 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Izberi delno odvečna omejila @@ -1416,8 +1416,8 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Izberi odvečna omejila @@ -1425,12 +1425,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSelectVerticalAxis - + Select vertical axis Izberite navpično os - + Select the local vertical axis of the sketch Izberite krajevno navpično os očrta @@ -1451,12 +1451,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherStopOperation - + Stop operation Ustavi opravilo - + When in edit mode, stop the active operation (drawing, constraining, etc.). V urejevalnem načinu prekini dejavno opravilo (risanje, omejevanje, ...). @@ -1477,12 +1477,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherSymmetry - + Symmetry Somernost - + Creates symmetric geometry with respect to the last selected line or point Ustvari somerno geometrijo glede na zadnjo izbrano daljico ali točko @@ -1490,12 +1490,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Omogoči/onemogoči omejilo - + Activates or deactivates the selected constraints Omogoči ali onemogoči izbrana omejila @@ -1516,12 +1516,12 @@ To bo izbrisalo lastnosti "Podpore", če sploh obstajajo. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Preklopi med gonilnim in sklicnim omejilom - + Set the toolbar, or the selected constraints, into driving or reference mode Nastavi orodno vrstico ali mejilo @@ -1544,24 +1544,24 @@ na gnani oz. sklicni način CmdSketcherValidateSketch - + Validate sketch... Preveri veljavnost očrta ... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Preveri, ali ima očrt manjkajoča sovpadanja, neveljavna omejila, izrojene geometrije, ... - + Wrong selection Napačna izbira - + Select only one sketch. Izberite le en očrt. @@ -1569,12 +1569,12 @@ neveljavna omejila, izrojene geometrije, ... CmdSketcherViewSection - + View section Pogled prereza - + When in edit mode, switch between section view and full view. V urejevalnem načinu preklopi med pogledom odseka in celotnim pogledom. @@ -1582,12 +1582,12 @@ neveljavna omejila, izrojene geometrije, ... CmdSketcherViewSketch - + View sketch Pokaži očrt - + When in edit mode, set the camera orientation perpendicular to the sketch plane. V urejevalnem načinu nastavi kamero tako, da je usmerjena pravokotno na očrtno ravnino. @@ -1595,287 +1595,404 @@ neveljavna omejila, izrojene geometrije, ... Command - - + + Add horizontal constraint Dodaj vodoravnostno omejilo - - - + + + Add horizontal alignment Dodaj vodoravno poravnavo - - + + Add vertical constraint Dodaj navpičnostno omejilo - + Add vertical alignment Dodaj navpično poravnavo - + Add 'Lock' constraint Dodaj zaklepno omejilo - + Add relative 'Lock' constraint Dodaj odnosno zaklepno omejilo - + Add fixed constraint Dodaj pritrditveno omejilo - + Add 'Block' constraint Dodaj zbirno omejilo - + Add block constraint Dodaj zbirno omejilo - - - + + + Add coincident constraint Dodaj omejilo sovpadanja - - + + Add distance from horizontal axis constraint Dodaj omejilo oddaljenosti od vodoravne osi - - + + Add distance from vertical axis constraint Dodaj omejilo oddaljenosti od navpične osi - - + + Add point to point distance constraint Dodaj omejilo razdalje med točkama - - + + + Add point to line Distance constraint Dodaj omejilo razdalje med točko in daljico - - + + Add circle to circle distance constraint Dodaj omejilo razdalje med krogoma - + Add circle to line distance constraint Dodaj omejilo razdalje med krogom in črto - - + + + + + Add length constraint Dodaj dolžinsko omejilo - - + + + Dimension + Mera + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Dodaj točko predmetnemu omejilu - - + + Add point to point horizontal distance constraint Dodaj omejilo vodoravne razdalje med točkama - + Add fixed x-coordinate constraint Dodaj omejilo nespremelnjive sorednice x - - + + Add point to point vertical distance constraint Dodaj omejilo navpične razdalje med točkama - + Add fixed y-coordinate constraint Dodaj omejilo nespremelnjive sorednice y - - + + Add parallel constraint Dodaj vzporednostno omejilo - - - - - - - + + + + + + + Add perpendicular constraint Dodaj pravokotnostno omejilo - + Add perpendicularity constraint Dodaj pravokotnostno omejilo - + Swap coincident+tangency with ptp tangency Zamenjaj sovpadanje + dotikalnost z dotikalnostjo vzporednice skozi točko - + Swap PointOnObject+tangency with point to curve tangency Zamenjaj TočkaNaPredmetu+dotikalnost s točka v dotikalnost na krivuljo - - - - - - - + + + + + + + Add tangent constraint Dodaj dotikalnostno omejilo - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Dodaj točko dotikalnega omejila - - - - + + + + Add radius constraint Dodaj polmerno omejilo - - - - + + + + Add diameter constraint Dodaj premerno omejilo - - - - + + + + Add radiam constraint Dodaj polmer-premerno omejilo - - - - - - + + + + + + Add angle constraint Dodaj kotno omejilo - - + + Add equality constraint Dodaj enakostno omejilo - - - - - + + + + + Add symmetric constraint Dodaj somernostno omejilo - + Add Snell's law constraint Dodaj lomno omejilo - + Toggle constraint to driving/reference Preklapi med gonilnostjo/gnanostjo omejila - + Activate/Deactivate constraint Omogoči/onemogoči omejilo - + Create a new sketch on a face Ustvari nov očrt na ploskvi - + Create a new sketch Ustvari nov očrt - + Reorient sketch Preusmeri očrt - + Attach sketch Pripni očrt - + Detach sketch Odpni očrt - + Create a mirrored sketch for each selected sketch Vsakemu izbranemu očrtu naredi zrcalni očrt - + Merge sketches Združi očrte @@ -1993,72 +2110,72 @@ neveljavna omejila, izrojene geometrije, ... Dodaj šestkotnik - + Convert to NURBS Pretvori v NURBS - + Increase spline degree Povišaj stopnjo zlepka - + Decrease spline degree Znižaj stopnjo zlepka - + Increase knot multiplicity Povečaj večkratnost vozla - + Decrease knot multiplicity Zmanjšaj večkratnost vozla - + Insert knot Vstavi vozel - + Join Curves Združi krivulje - + Exposing Internal Geometry Izpostavi notranjo geometrijo - + Create symmetric geometry Ustvari somerno geometrijo - + Copy/clone/move geometry Kopiraj/kloniraj/premakni geometrijo - + Create copy of geometry Ustvari kopijo geometrije - + Delete all geometry Izbriši vso geometrijo - + Delete All Constraints Izbriši Vse Omejitve - + Remove Axes Alignment Ukini poravnavo z osmi @@ -2069,44 +2186,44 @@ neveljavna omejila, izrojene geometrije, ... - - - + + + Update constraint's virtual space Posodobi navidezni prostor omejila - + Add auto constraints Dodaj samodejna omejila - + Swap constraint names Zamenjaj imeni omejil - + Rename sketch constraint Preimenuj očrtno omejilo - + Drag Point Vleci točko - + Drag Curve Vleci krivuljo - + Drag Constraint Vleci omejilo - + Modify sketch constraints Spremeni očrtno omejilo @@ -2167,59 +2284,59 @@ neveljavna omejila, izrojene geometrije, ... Napaka samodejnega omejila: Nerešljiv očrt po uveljavitiv enakostnega omejila. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Ni mogoče uganiti presečišča krivulj. Poskusite dodati omejilo sovpadanja med vozlišči krivulj, ki jih nameravate zaokrožiti. - - + + BSpline Geometry Index (GeoID) is out of bounds. Kazalo geometrije B-zlepka (GeoID) je izven omejitev. - + You are requesting no change in knot multiplicity. Ne zahtevate spremembe večkratnosti vozla. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Priskrbljeno kazalo geometrije (GeoId) ni krivulja B-zlepek. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Oznaka vozla je izven meja. Upoštevajte, da ima v skladu z OCC zapisom prvi vozel oznako 1 in ne nič. - + The multiplicity cannot be increased beyond the degree of the B-spline. Večkratnost ne more biti povečana preko stopnje B-zlepka. - + The multiplicity cannot be decreased beyond zero. Večkratnost ne more biti zmanjšana pod ničlo. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC ne more zmanjšati večkratnost znotraj največjega dopustnega odstopanja. - + Knot cannot have zero multiplicity. Večkratnost vozla ne more biti nič. - + Knot multiplicity cannot be higher than the degree of the BSpline. Večkratnost vozla ne more biti večja od stopnje B-zlepka. - + Knot cannot be inserted outside the BSpline parameter range. Vozla ni mogoče vstaviti izven razpona določilke B-zlepka. @@ -2235,210 +2352,213 @@ neveljavna omejila, izrojene geometrije, ... QObject - - - - + + + + Sketcher Očrtovalnik - + There are no modes that accept the selected set of subelements Ni načina, ki bi sprejel izbrani niz podprvin - + Broken link to support subelements Pokvarjena povezava za podporo podprvin - - + + Unexpected error Nepričakovana napaka - + Face is non-planar Ploskev je neravna - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Izbrane oblike so napačne oblike (npr., ukrivljen rob, kjer je potreben raven) - + Sketch mapping Preslikava očrta - + Can't map the sketch to selected object. %1. Očrta ni mogoče preslikati na izbrani predmet. %1. - - + + Don't attach Ne pripnite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Napačna izbira @@ -2449,339 +2569,339 @@ neveljavna omejila, izrojene geometrije, ... Izberite robove na očrtu. - + Not allowed to edit the datum because the sketch contains conflicting constraints Sklicnosti ni mogoče urejati, ker očrt vsebuje omejila v sporu - + Dimensional constraint Merska omejitev - + Cannot add a constraint between two external geometries. Ni mogoče dodati omejila med dvema zunanjima geometrijama. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Ni mogoče dodati omejila med dvema nespremenljivima geometrijama. Med nespremenljive geometrije spadajo zunanje geometrije, zamrznjene geometrije in posebne točke, kot so vozlišča B-zlepka. - + Sketcher Constraint Substitution Zamenjava omejila očrtovalnika - + Keep notifying me of constraint substitutions Obveščaj me o zamenjavah omejil - - - + + + Only sketch and its support are allowed to be selected. Izberete lahko le očrt in njegovo podporo. - + One of the selected has to be on the sketch. Eden izmed izbranih mora biti v očrtu. - - + + Select an edge from the sketch. Izberite rob z očrta. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Nemogočo omejilo - - - - + + + + The selected edge is not a line segment. Izbrani rob ni črtni odsek. - - - - - - + + + + + + Double constraint Dvojna omejitev - - - - - + + + + + The selected edge already has a horizontal constraint! Izbran rob je že omejen na vodoravnost! - - - + + + The selected edge already has a vertical constraint! Izbran rob je že omejen na navpičnost! - - - - - - + + + + + + The selected edge already has a Block constraint! Izbran rob je že zbirno omejen! - + The selected item(s) can't accept a horizontal constraint! Izbranih predmetov ni mogoče vodoravnostno omejiti! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Izbrana je več kot ena nepremična točka. Izberite največ eno nepremično točko! - + The selected item(s) can't accept a vertical constraint! Izbranih predmetov ni mogoče navpičnostno omejiti! - - - + + + Select vertices from the sketch. Izberite oglišča z očrta. - + Select one vertex from the sketch other than the origin. Izberite oglišče z očrta, ki ni izhodišče. - + Select only vertices from the sketch. The last selected vertex may be the origin. Izberite le oglišča z očrta. Zadnje izbrano oglišče je lahko izhodišče. - + Wrong solver status Napačen stanje reševalnika - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Zbirnega omejila ni mogoče dodati, če očrt ni rešen ali ima čezmerna in nasprotujoča si omejila. - + Select one edge from the sketch. Izberite en rob na očrtu. - + Select only edges from the sketch. Izberite le robove z očrta. - + Number of selected objects is not 3 Niso izbrani 3 predmeti - - - + + + Error Napaka - + Unexpected error. More information may be available in the Report View. Nepričakovana napaka. Več lahko najdete v poročevalnem pogledu. - + Endpoint to endpoint tangency was applied instead. Namesto tega je bila uporabljena tangentnost med končnima točkama. - + Select two or more points from the sketch. Izberite dve ali več točk na očrtu. - + Select two or more vertices from the sketch. Izberite na očrtu dve ali več oglišč. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Izberite dve ali več oglišč na očrtu za sovpadno omejilo ali dva kroga, loka, eliptična loka ali dve elipsi za sosrediščno omejilo. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Izberite na očrtu dve oglišči za sovpadno omejilo ali dva kroga, loka, eliptična loka ali dve elipsi za sosrediščno omejilo. - + Select exactly one line or one point and one line or two points from the sketch. Izberite natanko eno črto ali točko in eno črto ali dve točki na skici. - + Cannot add a length constraint on an axis! Omejitve dolžine ni mogoče dodati na os! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Izberite na očrtu natanko eno črto ali točko in eno črto ali dve točki ali pa dva kroga. - + This constraint does not make sense for non-linear curves. To omejilo ni smiselno za nepreme krivulje. - + Endpoint to edge tangency was applied instead. Namesto tega je bila uporabljena dotikalnost iz krajišča na rob. - - - - - - - + + + + + + + Select the right things from the sketch. Izberite prave stvari na skici. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Izberite rob, ki ni utež B-zlepka. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Nobena od izbranih točk ni bila omejena na ustrezne krivulje, ker so bodisi del istega predmeta, bodisi so oboji zunanje geometrije, ali pa rob ni izberljiv. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Nobena od izbranih točk ni bila omejena na ustrezno krivuljo, ker ali so del istega elementa ali sta obe zunanji geometriji. - - - - + + + + Select exactly one line or up to two points from the sketch. Izberite v očrtu natanko eno daljico ali največ dve točki. - + Cannot add a horizontal length constraint on an axis! Omejitve vodoravne dolžine ni mogoče dodati na os! - + Cannot add a fixed x-coordinate constraint on the origin point! Omejila z nespremenljivo sorednico x ni mogoče dodati na izhodiščno točko! - - + + This constraint only makes sense on a line segment or a pair of points. To omejilo je smiselno le za raven odsek ali par točk. - + Cannot add a vertical length constraint on an axis! Omejitve navpične dolžine ni mogoče dodati na os! - + Cannot add a fixed y-coordinate constraint on the origin point! Omejila z nespremenljivo sorednico y ni mogoče dodati na izhodiščno točko! - + Select two or more lines from the sketch. Izberite v očrtu dve daljici ali več. - - + + Select at least two lines from the sketch. Izberite v očrtu vsaj dve daljici. - + Select a valid line. Izberite veljavno črto. - - + + The selected edge is not a valid line. Izbrani rob ni veljavna črta. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2791,42 +2911,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Dovoljene kombinacije: dve krivulji, končna točka in krivulja, dve končni točki, dve krivulji in točka. - + Select some geometry from the sketch. perpendicular constraint Izberite v očrtu neko geometrijo. - - + + Cannot add a perpendicularity constraint at an unconnected point! Pravokotne omejitve ni mogoče dodati na nepovezano točko! - - - + + + Perpendicular to B-spline edge currently unsupported. Pravokotno na B-zlepek rob je trenutno nepodprto. - - + + One of the selected edges should be a line. En od izbranih robov mora biti črta. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Uporabljena je bla dotikalnost med krajiščema. Omejilo sovpadanja je bilo izbrisano. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Uporabljena je bila dotikalnost med krajiščem in robom. Omejitev točke na predmet je bila izbrisana. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2836,179 +2956,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Dovoljene kombinacije: dve krivulji, končna točka in krivulja, dve končni točki, dve krivulji in točka. - + Select some geometry from the sketch. tangent constraint Izberite v očrtu neko geometrijo. - - - + + + Cannot add a tangency constraint at an unconnected point! Tangentne omejitve ni mogoče dodati na nepovezano točko! - - + + Tangent constraint at B-spline knot is only supported with lines! Dotikalno omejilo v vozlu B-zlepka je podprto le za daljice! - + B-spline knot to endpoint tangency was applied instead. Namesto tega je bila uporabljena dotikalnost vozla B-zlepka na krajišče. - + Select either one point and several curves, or one curve and several points. Izberite bodisi eno točko in več krivulj, bodisi eno krivuljo in več točk. - - + + Wrong number of selected objects! Napačno število izbranih objektov! - - + + With 3 objects, there must be 2 curves and 1 point. Pri 3-h objektih morata obstajati 2 krivulji in 1 točka. - - - + + + Tangency to B-spline edge currently unsupported. Tangentnost na B-zlepek rob je trenutno nepodprta. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Izberite v očrtu enega ali več lokov oz. krogov. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Izberite bodisi enega ali več tečajev B-zlepka, bodisi enega ali več lokov ali krogov skice, toda ne mešano. - - - + + + Constraint only applies to arcs or circles. Omejitev velja samo za loke ali krožnice. - - + + Select one or two lines from the sketch. Or select two edges and a point. Izberite v očrtu bodisi eno ali dve daljici, bodisi dva robova in točko. - - + + Parallel lines Vzporedne črte - - + + An angle constraint cannot be set for two parallel lines. Kotnega omejila ni mogoče nastaviti za dve vzporedni črti. - + Cannot add an angle constraint on an axis! Kotne omejitve ni mogoče dodati na os! - + Select two edges from the sketch. Izberite v očrtu dva robova. - + Select two or more compatible edges. Izberite dva ali več primernih robov. - + Sketch axes cannot be used in equality constraints. Osi očrta ni mogoče uporabiti z enakostnimi omejili. - + Equality for B-spline edge currently unsupported. Enakost za B-zlepek rob je trenutno nepodprta. - - - + + + + Select two or more edges of similar type. Izberite dva ali več robov podobne vrste. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Izberite dve točki in somernico, dve točki in točko somernosti ali črto in točko somernosti na očrtu. - - + + Cannot add a symmetry constraint between a line and its end points. Somernostnega omejila ni mogoče dati med črto in njenima krajiščema. - - + + + + Cannot add a symmetry constraint between a line and its end points! Omejitve somernosti ni mogoče dodati med črto in njenima krajiščema! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Izberite dve krajišči daljic, ki naj predstavljata žarka, in rob, ki naj predstavlja mejo. Prva izbrana točka ustreza kazalu n1, druga kazalu n2 in sklicna vrednost nastavi razmerje n2/n1. - + Selected objects are not just geometry from one sketch. Izbrani predmeti niso le geometrija v očrtu. - + Cannot create constraint with external geometry only. Omejila ni mogoče ustvariti le z zunanjimi geometrijami. - + Incompatible geometry is selected. Izbrana je nezdružljiva geometrija. - + SnellsLaw on B-spline edge is currently unsupported. B-zlepkov rob trenutno ne podpira lomnega zakona. - - - - - + + + + + Select constraints from the sketch. Izberite omejila v očrtu. @@ -3030,155 +3153,155 @@ Dovoljene kombinacije: dve krivulji, končna točka in krivulja, dve končni to Določite stopnjo B-zlepka, ki naj bo med 1 in %1: + + - - CAD Kernel Error Napaka CAD Jedra - + None of the selected elements is an edge. Nobena izmed izbranih prvin ni rob. - - + + At least one of the selected objects was not a B-Spline and was ignored. Vsaj en izmed izbranih objektov ni bil B-zlepek in je bil prezrt. - - + + The selection comprises more than one item. Please select just one knot. Izbor vsebuje več kot en predmet. Prosimo izberite samo en vozel. - - + + Input Error Napaka Vnosa - - + + None of the selected elements is a knot of a B-spline Noben izmed izbranih elementov ni vozel B-zlepka - - + + Selection is empty Nič ni izbrano - + Nothing is selected. Please select a b-spline. Nič ni izbrano. Izberite B-zlepek. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Izberite B-zlepek za ustavitev vozla (ne vozla nanj). Če krivulja ni B-zlepek, jo vanj najprej pretvorite. - + Nothing is selected. Please select end points of curves. Nič ni izbrano. Izberiti krajišči krvulj. - + Too many curves on point Preveč krivulj na točki - - + + Exactly two curves should end at the selected point to be able to join them. V izbrani točki se morata končati natanko dve krivulji, da bi ju mogli združiti. - + Too few curves on point Premalo krivulj na točki - + Two end points, or coincident point should be selected. Izbrani bi morali biti dve krajišči ali sovpadna točka. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Izberite prvine le iz enega očrta. - + No constraint selected Nobena omejitev ni izbrana - + At least one constraint must be selected Izbrati morate vsaj eno omejitev - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Vzpostavitev somernosti zahteva vsaj dve geometrijski prvini, pri čemer je zadnja geometrijskim prvina osnova za somerno konstrukcijo. - + The last element must be a point or a line serving as reference for the symmetry construction. Zadnja prvina mora biti točka ali daljica, ki služi kot osnova za vzpostavitev somernosti. - - + + A copy requires at least one selected non-external geometric element Za kopijo mora biti izbrana vsaj ena nezunanja geometrijska prvina - + Delete All Geometry Izbriši Vso Geometrijo - + Are you really sure you want to delete all geometry and constraints? Ali ste prepričani, da želite izbrisati celo geometrijo in omejila? - + Delete All Constraints Izbriši Vse Omejitve - + Are you really sure you want to delete all the constraints? Ali ste prepričani, da želite izbrisati vsa omejila? - + Removal of axes alignment requires at least one selected non-external geometric element Za ukinitev poravnave z osmi mora biti izbrana vsaj ena nezunanja geometrijska prvina - + Unsupported visual layer operation Nepodprto vidno dejanje plasti - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Trenutno ni podprto premikanje zunanjih geometrij v drugo videzno plast. Zunanje gometrije bodo opuščene @@ -3378,67 +3501,67 @@ Zaustavljati, Zapirati (pot), Zastirati (svetlobo, pogled) SketcherGui::ConstraintView - + Select Elements Izberite prvine - + Change value Spremeni vrednost - + Toggle to/from reference Preklopi k/od sklica - + Deactivate Onemogoči - + Activate Omogoči - + Show constraints Prikaži omejila - + Hide constraints Skrij omejila - + Rename Preimenuj - + Center sketch Usredini očrt - + Delete Izbriši - + Swap constraint names Zamenjaj imeni omejil - + Unnamed constraint Neimenovana omejilo - + Only the names of named constraints can be swapped. Zamenjati je mogoče le imena poimenovanih omejil. @@ -3446,74 +3569,74 @@ Zaustavljati, Zapirati (pot), Zastirati (svetlobo, pogled) SketcherGui::EditDatumDialog - + Insert angle Vstavi kót - + Angle: Kót: - + Insert radius Vstavi polmer - + Radius: Polmer: - + Insert diameter Vstavi premer - + Diameter: Premer: - + Insert weight Vstavi obtežitev - + Weight: Obtežitev: - + Refractive index ratio Constraint_SnellsLaw Lomni količnik - + Ratio n2/n1: Constraint_SnellsLaw Razmerje n2/n1: - + Insert length Vstavi dolžino - + Length: Dolžina: - + Refractive index ratio Lomni količnik - + Ratio n2/n1: Razmerje n2/n1: @@ -3521,72 +3644,72 @@ Zaustavljati, Zapirati (pot), Zastirati (svetlobo, pogled) SketcherGui::ElementFilterList - + Normal Običajno - + Construction Pomožni način - + Internal Notranja - + External Zunanji - + All types Vse vrste - + Point Točka - + Line Črta - + Circle Krog - + Ellipse Elipsa - + Arc of circle Krožni lok - + Arc of ellipse Eliptični lok - + Arc of hyperbola Hiperbolični lok - + Arc of parabola Paraboličen lok - + B-Spline B-zlepek @@ -3594,142 +3717,142 @@ Zaustavljati, Zapirati (pot), Zastirati (svetlobo, pogled) SketcherGui::ElementView - + Point Coincidence Sovpadanje točk - + Point on Object Točka na predmetu - + Vertical Constraint Navpičnostno omejilo - + Horizontal Constraint Vodoravnostno omejilo - + Parallel Constraint Vzporednostno omejilo - + Perpendicular Constraint Pravokotnostno omejilo - + Tangent Constraint Dotikalnostno omejilo - + Equal Length Enaka dolžina - + Symmetric Somerno - + Block Constraint Zbirno omejilo - + Lock Constraint Zaklepno omejilo - + Horizontal Distance Vodoravni odmik - + Vertical Distance Navpični odmik - + Length Constraint Dolžinsko omejilo - + Radius Constraint Polmerno omejilo - + Diameter Constraint Premerno omejilo - + Radiam Constraint Polmer-premerno omejilo - + Angle Constraint Kotno omejilo - + Toggle construction geometry Preklopi pomožno geometrijo - + Select Constraints Izberite omejila - + Select Origin Izberite izhodišče - + Select Horizontal Axis Izberite vodoravno os - + Select Vertical Axis Izberite navpično os - + Layer Plast - + Layer 0 Plast 0 - + Layer 1 Plast 1 - + Hidden Skrito - + Delete Izbriši @@ -4014,6 +4137,75 @@ Veljati začne pri ponovnem prehodu v urejevalni način. Notify automatic constraint substitutions Obvesti ob samodejni zamenjavi omejil + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Oboje + + + + Auto + Samodejno + + + + Diameter + Premer + + + + Radius + Polmer + SketcherGui::SketcherSettingsColors @@ -4459,12 +4651,12 @@ V tem primeru je predmete mogoče videti le za očrtno ravnino. Uporabi za obstoječe očrte - + Unexpected C++ exception Nepričakovana izjema C++ - + Sketcher Očrtovalnik @@ -4635,48 +4827,48 @@ However, no constraints linking to the endpoints were found. Nastavitve - + Constraints Constraints - + Auto constraints Samoomejila - + Auto remove redundants Samodejno odstrani čezmernosti - + Show only filtered Constraints Prikaži le presejana omejila - + Extended information (in widget) Razširjena informacija (v gradniku) - + Hide internal alignment (in widget) Skrij notranjo poravnavo (v gradniku) - - + + Error Napaka - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4708,6 +4900,33 @@ However, no constraints linking to the endpoints were found. Settings Nastavitve + + + + + + + + + + + + Construction + Pomožni način + + + + Elements + Prvine + + + + + + + Point + Točka + @@ -4719,110 +4938,83 @@ However, no constraints linking to the endpoints were found. - Construction - Pomožni način - - - - Elements - Prvine - - - - - - - Point - Točka - - - - - - - - - - - - Internal Notranja - - + + + - Line Črta - - + + + - Arc Lok - - + + + - Circle Krog - - + + + - Ellipse Elipsa - - + + + - Elliptical Arc Eliptični lok - - + + + - Hyperbolic Arc Hiperbolični Lok - - + + + - Parabolic Arc Parabolični Lok - - + + + - BSpline B-zlepek - - + + + - Other Drugo - + Extended information Podrobnejši podatki @@ -4830,42 +5022,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Sporočila reševalnika - + Auto update Samodejno posodobi - + Executes a recomputation of active document after every sketch action Izvede ponovni izračun dejavnega dokumenta po vsakem dejanju očrta - + Click to select the conflicting constraints. Kliknite za izbor nasprotujočih si omejil. - + Click to select the redundant constraints. Kliknite za izbor čezmernih omejil. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Očrt vsebuje neomejene prvine, kar privede do takšnih prostostnih stopenj. Kliknite za izbor neomejenih prvin. - + Click to select the malformed constraints. Kliknite za izbor narobe oblikovanih omejil. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Določena omejila so v medsebojni kombinaciji delno čezmerna. Kliknite za izbor delno čezmernih omejil. @@ -5043,112 +5235,112 @@ Izvede se s pregledom geometrij in omejil očrta. SketcherGui::ViewProviderSketch - + Edit sketch Uredi očrt - + A dialog is already open in the task panel A dialog is already open in the task panel - + Do you want to close this dialog? Do you want to close this dialog? - + Invalid sketch Neveljaven očrt - + Do you want to open the sketch validation tool? Ali želite odprti orodje za preverjanje veljavnosti očrta? - + The sketch is invalid and cannot be edited. Očrt je neveljaven in ga ni mogoče urejati. - + Please remove the following constraint: Odstranite naslednjo omejilo: - + Please remove at least one of the following constraints: Odstranite vsaj eno od naslednjih omejil: - + Please remove the following redundant constraint: Odstranite naslednje čezmerno omejilo: - + Please remove the following redundant constraints: Odstranite naslednja čezmerna omejila: - + The following constraint is partially redundant: Naslednje omejilo je deloma čezmerno: - + The following constraints are partially redundant: Naslednja omejila so deloma čezmerna: - + Please remove the following malformed constraint: Odstranite naslednje narobe oblikovano omejilo: - + Please remove the following malformed constraints: Odstranite naslednja narobe oblikovana omejila: - + Empty sketch Prazen očrt - + Over-constrained: Preomejeno: - + Malformed constraints: Narobe oblikovana omejila: - + Redundant constraints: Čezmerna omejila: - + Partially redundant: Delno čezmerno: - + Solver failed to converge Reševalniku je zbliževanje spodletelo - + Under constrained: Podomejeno: - + %n DoF(s) %n prostostna stopnja @@ -5158,7 +5350,7 @@ Izvede se s pregledom geometrij in omejil očrta. - + Fully constrained Polnoomejen @@ -5166,8 +5358,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Preklopi med prikazanim in skritim glavnikastim prikazom ukrivljenosti za vse B-zlepke @@ -5175,8 +5367,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Zmanjša večkratnost izbranih vozlov B-zlepka @@ -5184,8 +5376,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Preklopi med prikazano in skrito stopnjo za vse B-zlepke @@ -5193,8 +5385,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Poveča večkratnost izbranih vozlov B-zlepka @@ -5202,8 +5394,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Preklopi med prikazano in skrito večkratnostjo vozla za vse B-zlepke @@ -5211,8 +5403,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Preklopi med prikazano in skrito utežitvijo krmilnih točk za vse B-lepke @@ -5220,8 +5412,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Preklopi med prikazanimi in skritimi nadzornimi mnogokotniki za vse B-zlepke @@ -5229,8 +5421,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Ustvari klon geometrije glede na zadnjo izbrano točko @@ -5238,17 +5430,17 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_CompCopy - + Clone Kloniraj - + Copy Kopiraj - + Move Premakni @@ -5256,8 +5448,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Določi premer krožnice ali krožnega loka @@ -5265,7 +5457,7 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Določi polmer oz. premer loka oz. kroga @@ -5273,8 +5465,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Določi polmer kroga ali loka @@ -5282,7 +5474,7 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Določi polmer oz. premer loka oz. kroga @@ -5290,8 +5482,8 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Ustvari preprosto kopijo geometrije glede na zadnjo izbrano točko @@ -5510,64 +5702,64 @@ Izvede se s pregledom geometrij in omejil očrta. Sketcher_MapSketch - + No sketch found Ni najdenega očrta - + The document doesn't have a sketch Dokument ne vsebuje očrta - + Select sketch Izberi očrt - + Select a sketch from the list Izberite očrt s seznama - + (incompatible with selection) (nezdružljivo z izborom) - + (current) (trenutno) - + (suggested) (predlagano) - + Sketch attachment Pripenjanje očrta - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Trenutni način pripenjanja je nezdružljiv z novim izborom. Izberi način pripenjanja tega očrta na izbrane predmete. - + Select the method to attach this sketch to selected objects. Izberi metodo pripenjanja tega očrta na izbrane predmete. - + Map sketch Preslikaj očrt - + Can't map a sketch to support: %1 Ni mogoče preslikati očrta na podporo: @@ -5577,8 +5769,8 @@ Izberi način pripenjanja tega očrta na izbrane predmete. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Premakne geometrijo glede na zadnjo izbrano točko @@ -5586,12 +5778,12 @@ Izberi način pripenjanja tega očrta na izbrane predmete. Sketcher_NewSketch - + Sketch attachment Pripenjanje očrta - + Select the method to attach this sketch to selected object Izberi metodo pripenjanja tega očrta na izbrani predmet @@ -5599,12 +5791,12 @@ Izberi način pripenjanja tega očrta na izbrane predmete. Sketcher_ReorientSketch - + Sketch has support Očrt ima podporo - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Očrta s podporno ploskvijo ni mogoče preusmeriti. @@ -5613,11 +5805,6 @@ Ali jo želite odpeti s podpore? TaskSketcherMessages - - - Form - Oblika - DOF @@ -5636,11 +5823,6 @@ Ali jo želite odpeti s podpore? TaskSketcherSolverAdvanced - - - Form - Oblika - Default algorithm used for Sketch solving @@ -5913,7 +6095,7 @@ Eigen Sparse QR algoritem je optimiziran za redke razpredelnice; običajno hitre ViewProviderSketch - + and %1 more in še %1 @@ -6103,22 +6285,22 @@ Medčrtna razdalja se spremeni, če postane manjša od tega števila slikovnih t GridSpaceAction - + Grid auto spacing Samodejna gostota mreže - + Resize grid automatically depending on zoom. Samodejno prevelikosti mrežo glede na povečavo. - + Spacing Razmik - + Distance between two subsequent grid lines. Razdalja med zaporednima mrežnima črtama. @@ -6126,87 +6308,87 @@ Medčrtna razdalja se spremeni, če postane manjša od tega števila slikovnih t Notifications - + The Sketch has malformed constraints! Očrt vsebuje narobe oblikovana omejila! - + The Sketch has partially redundant constraints! Očrt vsebuje deloma čezmerna omejila! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabole so bile preseljene. Preseljenih datotek ne bo mogoče odpreti v prejšnjih FreeCADih! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Napaka - + Failed to delete all geometry Brisanje vseh geometrij je spodletelo - + Failed to delete all constraints Brisanje vseh omejil je spodletelo - + The constraint has invalid index information and is malformed. Omejilo ima neveljavno informacijo kazala in je narobe oblikovano. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Neveljavno omejilo @@ -6248,8 +6430,8 @@ Medčrtna razdalja se spremeni, če postane manjša od tega števila slikovnih t Napaka pri ustvarjanju B-zlepkovega tečaja - + Error creating B-spline Napaka pri ustvarjanju B-zlepka @@ -6346,9 +6528,9 @@ Medčrtna razdalja se spremeni, če postane manjša od tega števila slikovnih t Prirezovanje roba spodletelo - - - + + + Value Error Value Error @@ -6384,58 +6566,58 @@ Medčrtna razdalja se spremeni, če postane manjša od tega števila slikovnih t SnapSpaceAction - + Snap to objects Pripenjanje na predmete - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Nove točke se bodo pripenjale na trenutno predizbrane predmete, prav tako pa na razpolovišče daljic in lokov. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Nove točke se bodo pripenjale na najbližje črte mreže. Da bi se pripele, morajo biti točke oddaljene od črte do eno petino polja mreže. - + Snap angle Pripenjanje na kót - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Kotni korak pri orodjih ki uporabljajo "Pripenjanje na kót" (npr. črte). Za omogočenje "Pripenjanja na kót" držite CTRL. Kót začne na pozitivni osi x očrta. RenderingOrderAction - - - - - Normal Geometry - Osnovna geometrija - - Construction Geometry - Pomožna geometrija + Normal Geometry + Osnovna geometrija + Construction Geometry + Pomožna geometrija + + + + + External Geometry Zunanja geometrija @@ -6456,12 +6638,12 @@ Da bi se pripele, morajo biti točke oddaljene od črte do eno petino polja mre CmdSketcherGrid - + Toggle grid Preklopi mrežo - + Toggle the grid in the sketch. In the menu you can change grid settings. Preklopi mrežo v očrtu. V meniju lahko spremenite nastavitve mreže. @@ -6469,12 +6651,12 @@ Da bi se pripele, morajo biti točke oddaljene od črte do eno petino polja mre CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Preklopi celotno pripenjanje. V meniju lahko posamično preklapljate "Pripenjanje na mrežo" in "Pripenjanje na predmete" in spreminjate še druge nastavitve pripenjanja. @@ -6505,4 +6687,34 @@ Da bi se pripele, morajo biti točke oddaljene od črte do eno petino polja mre Ustvari sklenjeni B-zlepek z vozli, tj. z interpolacijo, na očrtu. + + CmdSketcherDimension + + + Dimension + Mera + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr-CS.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr-CS.ts index 84fcbb9304..2498830174 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr-CS.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr-CS.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Prikaži/sakrij dijagram zakrivljenosti B-splajn krive - + Switches between showing and hiding the curvature comb for all B-splines Prebacuje između prikazivanja i sakrivanja dijagram zakrivljenosti za sve B-splajn krive @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Prikaži/sakrij stepen B-splajn krive - + Switches between showing and hiding the degree for all B-splines Prebacuje između prikazivanja i skrivanja stepena za sve B-splajn krive @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Prikaži/sakrij višestrukost čvorova B-splajn krive - + Switches between showing and hiding the knot multiplicity for all B-splines Prebacuje između prikazivanja i sakrivanja višestrukosti čvorova za sve B-splajn krive @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Prikaži/sakrij težinu kontrolne tačke B-splajn krive - + Switches between showing and hiding the control point weight for all B-splines Prebacuje između prikazivanja i sakrivanja težine kontrolne tačke za sve B-splajn krive @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Prikaži/sakrij linije B-splajn krive - + Switches between showing and hiding the control polygons for all B-splines Prebacuje između prikazivanja i sakrivanja linija kontrolnih tačaka za sve B-splajn krive @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Pravi klona geometrije uzimajući kao referentnu poslednju izabranu tačku @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Show/hide B-spline information layer - + Show/hide B-spline degree Prikaži/sakrij stepen B-splajn krive - + Show/hide B-spline control polygon Prikaži/sakrij linije B-splajn krive - + Show/hide B-spline curvature comb Prikaži/sakrij dijagram zakrivljenosti B-splajn krive - + Show/hide B-spline knot multiplicity Prikaži/sakrij višestrukost čvorova B-splajn krive - + Show/hide B-spline control point weight Prikaži/sakrij težinu kontrolne tačke B-splajn krive @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Ograničenje kružnog luka ili kruga - + Constrain an arc or a circle Kotiraj kružni luk ili krug - + Constrain radius Ograničenje poluprečnika - + Constrain diameter Ograničenje prečnika - + Constrain auto radius/diameter Automatsko ograničenje poluprečnika i prečnika @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Pravi klona geometrije uzimajući kao referentnu poslednju izabranu tačku @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Izmeni višestrukost čvora - + Modifies the multiplicity of the selected knot of a B-spline Modifikuje višestrukost izabranog čvora B-splajn krive - + Increase knot multiplicity Povećaj višestrukost čvora - + Decrease knot multiplicity Smanji višestrukost čvora @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Ograničenje ugla - + Fix the angle of a line or the angle between two lines Kotiraj ugao linije ili ugao između dve linije @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Ograničavanje blokiranjem - + Block the selected edge from moving Blokira pomeranje izabrane ivice @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Ograničenje podudarnosti - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Napravi ograničenje podudarnosti između tačaka, ili koncentrično ograničenje između krugova, lukova i elipsa @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Ograničenje prečnika - + Fix the diameter of a circle or an arc Kotiraj prečnik kruga ili luka @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Ograničenje rastojanja - + Fix a length of a line or the distance between a line and a vertex or between two circles Kotiraj dužinu linije, rastojanje između linije i temena ili rastojanje između dva kruga @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Ograničenje horizontalnog rastojanja - + Fix the horizontal distance between two points or line ends Kotiraj horizontalno rastojanje između dve tačke ili krajeva linija @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Ograničenje vertikalnog rastojanja - + Fix the vertical distance between two points or line ends Kotiraj vertikalno rastojanje između dve tačke ili krajeva linija @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Ograničenje jednakosti - + Create an equality constraint between two lines or between circles and arcs Napravi ograničenje jednakosti između dve linije ili između krugova i lukova @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Ograničenje horizontalnosti - + Create a horizontal constraint on the selected item Napravi ograničenje horizontalnosti na izabranoj stavki @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Ograničavanje zaključavanjem - + Create both a horizontal and a vertical distance constraint on the selected vertex Napravi ograničenje horizontalnog i vertikalnog rastojanja na izabranom temenu @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Ograničenje paralelnosti - + Create a parallel constraint between two lines Napravi ograničenje paralelnosti između dve linije @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Ograničenje upravnosti - + Create a perpendicular constraint between two lines Napravi ograničenje upravnosti između dva geometrijska elementa @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Ograničenje tačka na objektu - + Fix a point onto an object Ograničenje tačke da bude vezana za objekat @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Automatsko ograničenje poluprečnika i prečnika - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Kotiraj prečnik ako izabereš krug ili poluprečnik ako izabereš luk ili pol splajna @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Kotiraj poluprečnik - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Kotiraj poluprečnik kruga ili luka ili kotirajte krug težine pola B-splajn krive @@ -584,12 +584,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Ograničenje refrakcije (Snellov zakon) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Napravi ograničenje refrakcije (Snellov zakon) između dve krajnje tačke zraka @@ -599,12 +599,12 @@ i neke ivice koja predstavlja granicu. CmdSketcherConstrainSymmetric - + Constrain symmetrical Ograničenje simetričnosti - + Create a symmetry constraint between two points with respect to a line or a third point Napravi ograničenje simetričnosti između dve tačke @@ -614,12 +614,12 @@ u odnosu na pravu ili treću tačku CmdSketcherConstrainTangent - + Constrain tangent Ograničenje tangentnosti - + Create a tangent constraint between two entities Napravi tangentno ograničenje između dva entiteta @@ -627,12 +627,12 @@ u odnosu na pravu ili treću tačku CmdSketcherConstrainVertical - + Constrain vertically Ograničenje vertikalnosti - + Create a vertical constraint on the selected item Napravi ograničenje vertikalnosti na izabranoj stavki @@ -640,12 +640,12 @@ u odnosu na pravu ili treću tačku CmdSketcherConvertToNURBS - + Convert geometry to B-spline Pretvorite geometriju u B-splajn krivu - + Converts the selected geometry to a B-spline Pretvorite izabranu geometriju u B-splajn krivu @@ -653,12 +653,12 @@ u odnosu na pravu ili treću tačku CmdSketcherCopy - + Copy Kopiraj - + Creates a simple copy of the geometry taking as reference the last selected point Pravi jednostavnu kopiju geometrije uzimajući kao referentnu poslednju izabranu tačku @@ -1017,12 +1017,12 @@ u odnosu na pravu ili treću tačku CmdSketcherDecreaseDegree - + Decrease B-spline degree Smanji stepen B-splajn krive - + Decreases the degree of the B-spline Umanjuje stepen B-splajn krive @@ -1030,12 +1030,12 @@ u odnosu na pravu ili treću tačku CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Smanji višestrukost čvora - + Decreases the multiplicity of the selected knot of a B-spline Smanjuje višestrukost izabranog čvora B-splajn krive @@ -1043,12 +1043,12 @@ u odnosu na pravu ili treću tačku CmdSketcherDeleteAllConstraints - + Delete all constraints Obriši sva ograničenja - + Delete all constraints in the sketch Obriši sva ograničenja na skici @@ -1056,12 +1056,12 @@ u odnosu na pravu ili treću tačku CmdSketcherDeleteAllGeometry - + Delete all geometry Obriši svu geometriju - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Osim spoljašnje geometrije, obriši svu geometriju i ograničenja u trenutno aktivnoj skici @@ -1069,12 +1069,12 @@ u odnosu na pravu ili treću tačku CmdSketcherEditSketch - + Edit sketch Uredi skicu - + Edit the selected sketch. Uredi odabranu skicu. @@ -1108,12 +1108,12 @@ u odnosu na pravu ili treću tačku CmdSketcherIncreaseDegree - + Increase B-spline degree Povećati stepen B-splajn krive - + Increases the degree of the B-spline Povećava stepen B-splajn krive @@ -1121,12 +1121,12 @@ u odnosu na pravu ili treću tačku CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Povećaj višestrukost čvora - + Increases the multiplicity of the selected knot of a B-spline Povećava višestrukost izabranog čvora B-splajn krive @@ -1134,12 +1134,12 @@ u odnosu na pravu ili treću tačku CmdSketcherInsertKnot - + Insert knot Umetni čvor - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Umeće čvor na datom parametru. Ako čvor već postoji na tom parametru, njegova višestrukost se povećava za jedan. @@ -1147,12 +1147,12 @@ u odnosu na pravu ili treću tačku CmdSketcherJoinCurves - + Join curves Spoji krive - + Join two curves at selected end points Spoji dve krive u izabranim krajnjim tačkama @@ -1160,12 +1160,12 @@ u odnosu na pravu ili treću tačku CmdSketcherLeaveSketch - + Leave sketch Napusti skicu - + Finish editing the active sketch. Završi uređivanje aktivne skice. @@ -1173,12 +1173,12 @@ u odnosu na pravu ili treću tačku CmdSketcherMapSketch - + Map sketch to face... Mapiraj skicu na stranicu... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1187,7 +1187,7 @@ Prvo izaberi na čemu će da leži skica, na primer, stranicu ili ivicu punog te zatim pozovi ovu komandu, a zatim izaberi željenu skicu. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Neki od izabranih objekata zavise od skice koju treba mapirati. Kružne zavisnosti nisu dozvoljene. @@ -1195,22 +1195,22 @@ zatim pozovi ovu komandu, a zatim izaberi željenu skicu. CmdSketcherMergeSketches - + Merge sketches Objedini skice - + Create a new sketch from merging two or more selected sketches. Napravi novu skicu objedinjavanjem dve ili više izabranih skica. - + Wrong selection Pogrešan izbor - + Select at least two sketches. Izaberi najmanje dve skice. @@ -1218,12 +1218,12 @@ zatim pozovi ovu komandu, a zatim izaberi željenu skicu. CmdSketcherMirrorSketch - + Mirror sketch Simetrično preslikana skica - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1231,12 +1231,12 @@ as mirroring reference. koristeći koordinatni početak ili ose X i Y kao referentne. - + Wrong selection Pogrešan izbor - + Select one or more sketches. Izaberi jednu ili više skica. @@ -1244,12 +1244,12 @@ koristeći koordinatni početak ili ose X i Y kao referentne. CmdSketcherMove - + Move Pomeri - + Moves the geometry taking as reference the last selected point Premešta geomatriju u odnosu na zadnju izabranu tačku @@ -1257,12 +1257,12 @@ koristeći koordinatni početak ili ose X i Y kao referentne. CmdSketcherNewSketch - + Create sketch Napravi skicu - + Create a new sketch. Napravi novu skicu. @@ -1270,12 +1270,12 @@ koristeći koordinatni početak ili ose X i Y kao referentne. CmdSketcherRectangularArray - + Rectangular array Pravougaono umnožavanje - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Pravi pravougaono umnožavanje u odnosu na zadnju izabranu tačku @@ -1283,12 +1283,12 @@ koristeći koordinatni početak ili ose X i Y kao referentne. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Ukloni poravnanje osa - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifikuje ograničenja kako bi se uklonilo poravnanje osa s tim da pokušava zadržati postojeća ograničenja @@ -1296,12 +1296,12 @@ koristeći koordinatni početak ili ose X i Y kao referentne. CmdSketcherReorientSketch - + Reorient sketch... Preorjentiši skicu... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Postavi izabranu skicu na jednu od glavnih koordinatnih ravni. @@ -1311,12 +1311,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Prikaži/sakrij unutrašnju geometriju - + Show all internal geometry or hide unused internal geometry Prikaži svu unutrašnju geometriju ili sakrij neiskorišćenu unutrašnju geometriju @@ -1324,8 +1324,8 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Izaberi sukobljena ograničenja @@ -1333,12 +1333,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectConstraints - + Select associated constraints Izaberi povezana ograničenja - + Select the constraints associated with the selected geometrical elements Izaberi ograničenja povezana sa izabranim geometrijskim elementima @@ -1346,12 +1346,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Izaberi povezanu geometriju - + Select the geometrical elements associated with the selected constraints Izaberi geometrijske elemente povezane sa izabranim ograničenjima @@ -1359,12 +1359,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Izaberi geometriju koja ima neograničene stepene slobode - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Izaberi geometrijske elemente kod kojih algoritam za rešavanje još uvek detektuje neograničene stepene slobode. @@ -1372,12 +1372,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Izaberi horizontalnu osu - + Select the local horizontal axis of the sketch Izaberi lokalnu horizontalnu osu skice @@ -1385,8 +1385,8 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Izaberi deformisana ograničenja @@ -1394,12 +1394,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectOrigin - + Select origin Izaberi koordinatni početak - + Select the local origin point of the sketch Izaberi lokalni koordinatni početak skice @@ -1407,8 +1407,8 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Izaberi delimično suvišna ograničenja @@ -1416,8 +1416,8 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Izaberi suvišna ograničenja @@ -1425,12 +1425,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSelectVerticalAxis - + Select vertical axis Izaberi vertikalnu osu - + Select the local vertical axis of the sketch Izaberi lokalnu vertikalnu osu skice @@ -1451,12 +1451,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherStopOperation - + Stop operation Zaustavi operaciju - + When in edit mode, stop the active operation (drawing, constraining, etc.). Kada si u režimu za uređivanje, zaustavlja aktivnu operaciju (crtanje, ograničavanje, itd.). @@ -1477,12 +1477,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherSymmetry - + Symmetry Simetričnost - + Creates symmetric geometry with respect to the last selected line or point Pravi simetričnu geometriju u odnosu na poslednju izabranu liniju ili tačku @@ -1490,12 +1490,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Aktiviraj/deaktiviraj ograničenje - + Activates or deactivates the selected constraints Aktivira ili deaktivira izabrana ograničenja @@ -1516,12 +1516,12 @@ Ovo će obrisati osobinu 'Osnova', ako postoji. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Ograničavajuće/referentne kote - + Set the toolbar, or the selected constraints, into driving or reference mode Podesite paletu sa alatkama ili izabrana ograničenja, @@ -1544,24 +1544,24 @@ u referentni ili režim ograničavanja CmdSketcherValidateSketch - + Validate sketch... Popravi skicu... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Popravi skicu gledajući podudarnosti koje nedostaju, nevažeća ograničenja, degenerisanu geometriju, itd. - + Wrong selection Pogrešan izbor - + Select only one sketch. Izaberi samo jednu skicu. @@ -1569,12 +1569,12 @@ nevažeća ograničenja, degenerisanu geometriju, itd. CmdSketcherViewSection - + View section Prikaži zaklonjenu skicu - + When in edit mode, switch between section view and full view. Prikaži/sakrij detalje 3D modela koji se nalaze ispred skice koju uređuješ. @@ -1582,12 +1582,12 @@ nevažeća ograničenja, degenerisanu geometriju, itd. CmdSketcherViewSketch - + View sketch Prikaži skicu - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Kada si u režimu za uređivanje, postavlja orijentaciju kamere normalno na ravan skice. @@ -1595,287 +1595,404 @@ nevažeća ograničenja, degenerisanu geometriju, itd. Command - - + + Add horizontal constraint Dodaj horizontalno ograničenje - - - + + + Add horizontal alignment Dodaj horizontalno poravnanje - - + + Add vertical constraint Dodaj vertikalno ograničenje - + Add vertical alignment Dodaj vertikalno poravnanje - + Add 'Lock' constraint Dodaj ograničavanje zaključavanjem - + Add relative 'Lock' constraint Dodaj relativno ograničenje zaključavanjem - + Add fixed constraint Add fixed constraint - + Add 'Block' constraint Dodaj ograničavanje blokiranjem - + Add block constraint Dodaj ograničavanje blokiranjem - - - + + + Add coincident constraint Dodaj ograničenje podudarnosti - - + + Add distance from horizontal axis constraint Dodaj kotu rastojanja od horizontalne ose - - + + Add distance from vertical axis constraint Dodaj kotu rastojanja od vertikalne ose - - + + Add point to point distance constraint Dodaj kotu vertikalnog rastojanja od tačke do tačke - - + + + Add point to line Distance constraint Dodaj kotu rastojanja od tačke do linije - - + + Add circle to circle distance constraint Dodaj ograničenje između dva kruga - + Add circle to line distance constraint Dodaj ograničenje rastojanja od kruga do linije - - + + + + + Add length constraint Dodaj ograničenje dužine - - + + + Dimension + Kota + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Dodaj tačku na ograničenje objekta - - + + Add point to point horizontal distance constraint Dodaj ograničenje horizontalnog rastojanja od tačke do tačke - + Add fixed x-coordinate constraint Dodaj ograničenje fiksne x-koordinate - - + + Add point to point vertical distance constraint Dodaj ograničenje vertikalnog rastojanja od tačke do tačke - + Add fixed y-coordinate constraint Dodaj ograničenje fiksne y-koordinate - - + + Add parallel constraint Dodaj ograničenje paralelnosti - - - - - - - + + + + + + + Add perpendicular constraint Dodaj ograničenje upravnosti - + Add perpendicularity constraint Dodaj ograničenje upravnosti - + Swap coincident+tangency with ptp tangency Zameni podudarnost+tangentnost na tangentnost tačaka - + Swap PointOnObject+tangency with point to curve tangency Zameni tačka na objektu+tangentnost sa tangentnost tačke na krivu - - - - - - - + + + + + + + Add tangent constraint Dodaj ograničenje tangentnosti - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Dodaj tačku ograničenja tangentnosti - - - - + + + + Add radius constraint Dodaj ograničenje poluprečnika - - - - + + + + Add diameter constraint Dodaj ograničenje prečnika - - - - + + + + Add radiam constraint Dodaj ograničenje poluprečnik-prečnik - - - - - - + + + + + + Add angle constraint Dodaj ograničenje ugla - - + + Add equality constraint Dodaj ograničenje jednakosti - - - - - + + + + + Add symmetric constraint Dodaj ograničenje simetričnosti - + Add Snell's law constraint Dodaj ograničenje na osnovu Snellovog zakona - + Toggle constraint to driving/reference Prebaci između referentnog i ograničavajućeg režima kota - + Activate/Deactivate constraint Aktiviraj/deaktiviraj ograničenje - + Create a new sketch on a face Napravi novu skicu na stranici - + Create a new sketch Napravi novu skicu - + Reorient sketch Preorjentiši skicu - + Attach sketch Pridruži skicu - + Detach sketch Odvoji skicu - + Create a mirrored sketch for each selected sketch Napravi simetričnu skicu za svaku izabranu skicu - + Merge sketches Objedini skice @@ -1993,72 +2110,72 @@ nevažeća ograničenja, degenerisanu geometriju, itd. Dodaj šestougao - + Convert to NURBS Konvertuj u NURBS - + Increase spline degree Povećaj stepen B-splajn krive - + Decrease spline degree Smanji stepen B-splajn krive - + Increase knot multiplicity Povećaj višestrukost čvora - + Decrease knot multiplicity Smanji višestrukost čvora - + Insert knot Umetni čvor - + Join Curves Spoji krive - + Exposing Internal Geometry Exposing Internal Geometry - + Create symmetric geometry Napravi simetričnu geometriju - + Copy/clone/move geometry Kopiraj/kloniraj/premesti geometriju - + Create copy of geometry Napravi kopiju geometrije - + Delete all geometry Obriši svu geometriju - + Delete All Constraints Izbriši sva ograničavanja - + Remove Axes Alignment Ukloni poravnanje osa @@ -2069,44 +2186,44 @@ nevažeća ograničenja, degenerisanu geometriju, itd. - - - + + + Update constraint's virtual space Ažuriraj virtuelni prostor ograničenja - + Add auto constraints Dodaj automatska ograničenja - + Swap constraint names Zameni imena ograničenja - + Rename sketch constraint Preimenuj ograničenja skice - + Drag Point Prevuci tačku - + Drag Curve Prevuci krivu - + Drag Constraint Prevuci ograničenje - + Modify sketch constraints Izmeni ograničenja skice @@ -2167,59 +2284,59 @@ nevažeća ograničenja, degenerisanu geometriju, itd. Greška automatskog ograničavanja: Nerešiva skica posle primene ograničenja jednakosti. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Nije moguće odrediti presečnu tačku krivih. Pokušaj da dodaš ograničenje podudarnosti između tačaka krivih gde nameravaš da napraviš zaobljenje. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline Geometry Index (GeoID) is out of bounds. - + You are requesting no change in knot multiplicity. Ne zahtevate promenu u višestrukosti čvorova. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. The Geometry Index (GeoId) provided is not a B-spline curve. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. Višestrukost se ne može povećati iznad stepena B-splajn krive. - + The multiplicity cannot be decreased beyond zero. Višestrukost ne može biti manje od nule. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC nije u stanju da smanji višestrukost unutar maksimalne tolerancije. - + Knot cannot have zero multiplicity. Čvor ne može imati nultu višestrukost. - + Knot multiplicity cannot be higher than the degree of the BSpline. Višestrukost čvorova ne može biti veća od stepena B-Splajn krive. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2235,210 +2352,213 @@ nevažeća ograničenja, degenerisanu geometriju, itd. QObject - - - - + + + + Sketcher Sketcher - + There are no modes that accept the selected set of subelements Ne postoje režimi koji prihvataju izabrani skup podelemenata - + Broken link to support subelements Broken link to support subelements - - + + Unexpected error Neočekivana greška - + Face is non-planar Stranica nije planarna - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Izabrani oblici su pogrešnog oblika (npr. zakrivljena ivica gde je potrebna prava) - + Sketch mapping Mapiranje skice - + Can't map the sketch to selected object. %1. Ne mogu mapirati skicu na izabrani objekat. %1. - - + + Don't attach Nemoj prikačiti + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Pogrešan izbor @@ -2449,339 +2569,339 @@ nevažeća ograničenja, degenerisanu geometriju, itd. Izaberi ivicu(e) sa skice. - + Not allowed to edit the datum because the sketch contains conflicting constraints Nije dozvoljeno uređivanje pomoćnih elemenata jer skica sadrži konfliktna ograničenja - + Dimensional constraint Dimenzionalno ograničenje - + Cannot add a constraint between two external geometries. Nije moguće dodati ograničenje između dve spoljne geometrije. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Nije moguće dodati ograničenje između dve fiksne geometrije. Pod fiksnom geometrijom podrazumevamo spoljašnju geometriju, blokiranu geometriju i posebne tačke kao što su tačke čvorova B-splajn krive. - + Sketcher Constraint Substitution Zamena Sketcher ograničenja - + Keep notifying me of constraint substitutions Nastavi da me obaveštavaš o zamenama ograničenja - - - + + + Only sketch and its support are allowed to be selected. Dozvoljeno je da se izabere samo skica i njena osnova. - + One of the selected has to be on the sketch. Jedan od izabranih mora biti na skici. - - + + Select an edge from the sketch. Izaberi ivicu sa skice. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Nemoguće ograničenje - - - - + + + + The selected edge is not a line segment. Izabrana ivica nije linijski segment. - - - - - - + + + + + + Double constraint Duplo ograničenje - - - - - + + + + + The selected edge already has a horizontal constraint! Izabrana ivica već ima horizontalno ograničenje! - - - + + + The selected edge already has a vertical constraint! Izabrana ivica već ima vertikalno ograničenje! - - - - - - + + + + + + The selected edge already has a Block constraint! Izabrana ivica je već ograničena blokiranjem! - + The selected item(s) can't accept a horizontal constraint! Izabrane stavke(a) ne mogu prihvatiti horizontalno ograničenje! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Izabrano je više od jedne fiksne tačke. Izaberi najviše jednu fiksnu tačku! - + The selected item(s) can't accept a vertical constraint! Izabrane stavke(a) ne mogu prihvatiti vertikalno ograničenje! - - - + + + Select vertices from the sketch. Izaberi temena sa skice. - + Select one vertex from the sketch other than the origin. Izaberi jedno teme sa skice osim koordinatnog početka. - + Select only vertices from the sketch. The last selected vertex may be the origin. Izaberi samo temena sa skice. Poslednje izabrano teme može biti koordinatni početak. - + Wrong solver status Pogrešan status algoritma za rešavanje - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Ograničenje blokiranjem se ne može dodati ako je skica nerešena ili postoje suvišna i konfliktna ograničenja. - + Select one edge from the sketch. Izaberi jednu ivicu sa skice. - + Select only edges from the sketch. Izaberi samo ivice sa skice. - + Number of selected objects is not 3 Broj izabranih objekata nije 3 - - - + + + Error Greška - + Unexpected error. More information may be available in the Report View. Neočekivana greška. Potražite više informacija u Pregledaču objava. - + Endpoint to endpoint tangency was applied instead. Umesto toga je primenjena tangentnost u krajnjim tačkama. - + Select two or more points from the sketch. Izaberi dve ili više tačke sa skice. - + Select two or more vertices from the sketch. Izaberi dva ili više temena sa skice. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Izaberi dva ili više temena sa skice za ograničenje podudarnosti, ili dva ili više krugova, elipsa, lukova ili lukova elipse za ograničenje koncentričnosti. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Izaberi dva temena sa skice za ograničenje podudarnosti, ili dva kruga, elipse, lukove ili lukove elipse za ograničenje koncentričnosti. - + Select exactly one line or one point and one line or two points from the sketch. Izaberi tačno jednu liniju ili jednu tačku i jednu liniju, ili dve tačke sa skice. - + Cannot add a length constraint on an axis! Ne može se dodati ograničenje dužine na osu! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Izaberi tačno jednu liniju, jednu tačku i jednu liniju, dve tačke ili dva kruga na skici. - + This constraint does not make sense for non-linear curves. Ovo ograničenje nema smisla za nelinearne krive. - + Endpoint to edge tangency was applied instead. Umesto toga je primenjena tangentnost ivice u krajnjoj tački. - - - - - - - + + + + + + + Select the right things from the sketch. Izaberi prave stvari sa skice. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Izaberi ivicu koja nije težina B-splajn kontrolne tačke. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Nijedna od izabranih tačaka nije bila ograničena na dotične krive, jer su delovi istog elementa, jer su obe spoljašnje geometrije ili zato što ivica nije prihvatljiva. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Nijedna od izabranih tačaka nije bila ograničena na odgovarajuće krive, bilo zato što su delovi istog elementa, ili zato što su obe spoljašnje geometrije. - - - - + + + + Select exactly one line or up to two points from the sketch. Izaberi tačno jednu liniju ili najviše dve tačke sa skice. - + Cannot add a horizontal length constraint on an axis! Ne može se primeniti ograničenje horizontalno rastojanje na osu! - + Cannot add a fixed x-coordinate constraint on the origin point! Nije moguće ograničiti x-koordinatu koordinatnog početka! - - + + This constraint only makes sense on a line segment or a pair of points. Ovo ograničenje ima smisla samo na segmentu linije ili paru tačaka. - + Cannot add a vertical length constraint on an axis! Ne može se primeniti ograničenje vertikalno rastojanje na osu! - + Cannot add a fixed y-coordinate constraint on the origin point! Nije moguće ograničiti y-koordinatu koordinatnog početka! - + Select two or more lines from the sketch. Izaberi dve ili više linija sa skice. - - + + Select at least two lines from the sketch. Izaberi najmanje dve linije sa skice. - + Select a valid line. Izaberi važeću ivicu. - - + + The selected edge is not a valid line. Izabrana ivica nije važeća linija. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2791,42 +2911,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Prihvatljive kombinacije: dve krive; krajnja tačka i kriva; dve krajnje tačke; dve krive i tačka. - + Select some geometry from the sketch. perpendicular constraint Izaberi neku geometriju sa skice. - - + + Cannot add a perpendicularity constraint at an unconnected point! Ne može se dodati ograničenje upravnosti na tačku pošto ona nije krajnja tačka! - - - + + + Perpendicular to B-spline edge currently unsupported. Primena ograničenja upravnosti na B-splajn krivu trenutno nije podržana. - - + + One of the selected edges should be a line. Jedna od izabranih ivica bi trebala biti linija. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Primenjena je tangentnost na krajnje tačke. Ograničenje podudarnosti je izbrisano. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Primenjena je tangentnost između krajnje tačke i ivice. Ograničenje tačka na objektu je obrisano. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2836,179 +2956,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Prihvaćene kombinacije: dve krive; krajnja tačka i kriva; dve krajnje tačke; dve krive i tačka. - + Select some geometry from the sketch. tangent constraint Izaberi neku geometriju sa skice. - - - + + + Cannot add a tangency constraint at an unconnected point! Ne može se dodati ograničenje tangentnosti u tačkama koje se ne poklapaju! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. Umesto toga je primenjena tangentnost između čvora B-splajna i krajnje tačke. - + Select either one point and several curves, or one curve and several points. Izaberi ili jednu tačku i nekoliko krivih, ili jednu krivu i nekoliko tačaka. - - + + Wrong number of selected objects! Pogrešan broj izabranih objekata! - - + + With 3 objects, there must be 2 curves and 1 point. Kod 3 objekta, moraju postojati 2 krive i 1 tačka. - - - + + + Tangency to B-spline edge currently unsupported. Primena ograničenja tangentnosti na B-splajn krivu trenutno nije podržana. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Izaberi jedan ili više lukova ili krugova sa skice. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Izaberi samo jedan ili više polova B-splajn krive ili samo jedan ili više lukova ili krugova sa skice, ali ne pomešano. - - - + + + Constraint only applies to arcs or circles. Ograničenje se odnosi samo na lukove i kružnice. - - + + Select one or two lines from the sketch. Or select two edges and a point. Izaberi jednu ili dve linije sa skice, ili izaberi dve ivice i tačku. - - + + Parallel lines Paralelne linije - - + + An angle constraint cannot be set for two parallel lines. Za dve paralelne prave ne može se postaviti ograničenje ugla. - + Cannot add an angle constraint on an axis! Ne možete dodati ograničenje ugla na osu! - + Select two edges from the sketch. Izaberi dve ivice sa skice. - + Select two or more compatible edges. Izaberi dve ili više kompatibilnih ivica. - + Sketch axes cannot be used in equality constraints. Na ose skice se ne može primeniti ograničenje jednakosti. - + Equality for B-spline edge currently unsupported. Primena ograničenja jednakosti na B-splajn krivu trenutno nije podržana. - - - + + + + Select two or more edges of similar type. Izaberi dve ili više ivica sličnog tipa. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Izaberi dve tačke i liniju simetrije, dve tačke i tačku simetrije ili pravu i tačku simetrije sa skice. - - + + Cannot add a symmetry constraint between a line and its end points. Nije moguće dodati ograničenje simetričnosti između linije i njenih krajnjih tačaka. - - + + + + Cannot add a symmetry constraint between a line and its end points! Nije moguće dodati ograničenje simetričnosti između linije i njenih krajnjih tačaka! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Izaberi dve krajnje tačke linija koje će delovati kao zraci i ivicu koja predstavlja granicu. Prva izabrana tačka odgovara indeksu loma n1, druga n2, a odnos n2/n1 je relativni indeks loma. - + Selected objects are not just geometry from one sketch. Izabrani objekti nisu samo geometrija iz jedne skice. - + Cannot create constraint with external geometry only. Nije moguće kreirati ograničenje samo sa spoljnom geometrijom. - + Incompatible geometry is selected. Izabrana je nekompatibilna geometrija. - + SnellsLaw on B-spline edge is currently unsupported. Primena ograničenja refrakcije (Snellov zakon) na B-splajn krivu trenutno nije podržana. - - - - - + + + + + Select constraints from the sketch. Izaberi ograničenja sa skice. @@ -3030,155 +3153,155 @@ Prihvaćene kombinacije: dve krive; krajnja tačka i kriva; dve krajnje tačke; Podesi stepen B-splajn krive, između 1 i %1: + + - - CAD Kernel Error Greška CAD jezgra - + None of the selected elements is an edge. Nijedan od izabranih elemenata nije ivica. - - + + At least one of the selected objects was not a B-Spline and was ignored. Najmanje jedan od izabranih objekata nije bio B-splajn i ignorisan je. - - + + The selection comprises more than one item. Please select just one knot. Izbor obuhvata više od jedne stavke. Izaberi samo jedan čvor. - - + + Input Error Greška prilikom unosa - - + + None of the selected elements is a knot of a B-spline Nijedan od izabranih elemenata nije čvor B-splajn krive - - + + Selection is empty Nisi ništa izabrao - + Nothing is selected. Please select a b-spline. Ništa nije izabrano. Izaberi B-splajn krivu. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Izaberi B-splajn krivu da bi dodao čvor (ne čvor na njoj). Ako kriva nije B-splajn, prvo je konvertuj. - + Nothing is selected. Please select end points of curves. Ništa nije izabrano. Izaberi krajnje tačke krivih. - + Too many curves on point Previše krivih u tački - - + + Exactly two curves should end at the selected point to be able to join them. Tačno dve krive treba da se završe u izabranoj tački da bi se mogle spojiti. - + Too few curves on point Premalo krivih u tački - + Two end points, or coincident point should be selected. Treba izabrati dve krajnje tačke ili podudarnu tačku. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Izaberi elemente iz jedne skice. - + No constraint selected Nijedno ograničenje nije izabrano - + At least one constraint must be selected Najmanje jedno ograničenje mora biti izabrano - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Simetrična konstrukcija zahteva najmanje dva geometrijska elementa, poslednji geometrijski element je referentni za građenje simetrije. - + The last element must be a point or a line serving as reference for the symmetry construction. Poslednji element mora biti tačka ili prava i referentni je za građenje simetrije. - - + + A copy requires at least one selected non-external geometric element Kopija zahteva najmanje jedan izabrani geometrijski element koji nije spoljni - + Delete All Geometry Obriši svu geometriju - + Are you really sure you want to delete all geometry and constraints? Da li si zaista siguran da želiš da obrišeš svu geometriju i ograničenja? - + Delete All Constraints Izbriši sva ograničavanja - + Are you really sure you want to delete all the constraints? Da li si zaista siguran da želiš da obrišeš svu geometriju i ograničenja? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3377,67 +3500,67 @@ Prihvaćene kombinacije: dve krive; krajnja tačka i kriva; dve krajnje tačke; SketcherGui::ConstraintView - + Select Elements Izaberi elemente - + Change value Promeni vrednost - + Toggle to/from reference Toggle to/from reference - + Deactivate Deaktivirati - + Activate Aktivirati - + Show constraints Prikaži ograničenja - + Hide constraints Sakrij ograničenja - + Rename Preimenuj - + Center sketch Centriraj skicu - + Delete Obriši - + Swap constraint names Zameni imena ograničenja - + Unnamed constraint Ograničenje bez naziva - + Only the names of named constraints can be swapped. Samo imena imenovanih ograničenja se mogu zameniti. @@ -3445,74 +3568,74 @@ Prihvaćene kombinacije: dve krive; krajnja tačka i kriva; dve krajnje tačke; SketcherGui::EditDatumDialog - + Insert angle Unesi ugao - + Angle: Ugao: - + Insert radius Unesi poluprečnik - + Radius: Poluprečnik: - + Insert diameter Unesi prečnik - + Diameter: Prečnik: - + Insert weight Unesi težinu - + Weight: Debljina: - + Refractive index ratio Constraint_SnellsLaw Relativni indeks loma - + Ratio n2/n1: Constraint_SnellsLaw Odnos n2/n1: - + Insert length Unesi dužinu - + Length: Length: - + Refractive index ratio Relativni indeks loma - + Ratio n2/n1: Odnos n2/n1: @@ -3520,72 +3643,72 @@ Prihvaćene kombinacije: dve krive; krajnja tačka i kriva; dve krajnje tačke; SketcherGui::ElementFilterList - + Normal Obične - + Construction Pomoćna geometrija - + Internal Unutrašnji - + External Spoljni - + All types Sve vrste - + Point Tačka - + Line Linija - + Circle Krug - + Ellipse Elipsa - + Arc of circle Kružni luk - + Arc of ellipse Eliptični luk - + Arc of hyperbola Hiperbolični luk - + Arc of parabola Parabolični luk - + B-Spline B-Splajn kriva @@ -3593,142 +3716,142 @@ Prihvaćene kombinacije: dve krive; krajnja tačka i kriva; dve krajnje tačke; SketcherGui::ElementView - + Point Coincidence Podudarnost tačke - + Point on Object Tačka na objektu - + Vertical Constraint Ograničenje vertikalnosti - + Horizontal Constraint Ograničenje horizontalnosti - + Parallel Constraint Ograničenje paralelnosti - + Perpendicular Constraint Ograničenje upravnosti - + Tangent Constraint Ograničenje tangentnosti - + Equal Length Jednaka dužina - + Symmetric Simetrično - + Block Constraint Ograničenje blokiranjem - + Lock Constraint Ograničenje zaključavanjem - + Horizontal Distance Horizontalno rastojanje - + Vertical Distance Vertikalno rastojanje - + Length Constraint Ograničenje dužine - + Radius Constraint Ograničenje poluprečnika - + Diameter Constraint Ograničenje prečnika - + Radiam Constraint Ograničenje poluprečnik-prečnik - + Angle Constraint Ograničenje ugla - + Toggle construction geometry Pomoćna geometrija - + Select Constraints Izaberi ograničenja - + Select Origin Izaberi koordinatni početak - + Select Horizontal Axis Izaberi horizontalnu osu - + Select Vertical Axis Izaberi vertikalnu osu - + Layer Sloj - + Layer 0 Sloj 0 - + Layer 1 Sloj 1 - + Hidden Zaklonjene - + Delete Obriši @@ -3914,8 +4037,8 @@ u odnosu na ostale sa pomoćnim linijama If selected, it substitutes dimensional constraints by geometric constraints in the copies, so that a change in the original element is directly reflected on copies - Ako je čekirano, u kopijama će se zameniti dimenziona ograničenja -geometrijskim, tako da će se promene na originalnom elementu + Ako je čekirano, u kopijama će se zameniti dimenziona ograničenja +geometrijskim, tako da će se promene na originalnom elementu direktno ogledati i na kopijama @@ -4014,6 +4137,75 @@ Potrebno je ponovo ući u režim uređivanja da bi stupio na snagu.Notify automatic constraint substitutions Obavesti o automatskim zamenama ograničenja + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Oba + + + + Auto + Automatski + + + + Diameter + Prečnik + + + + Radius + Poluprečnik + SketcherGui::SketcherSettingsColors @@ -4459,12 +4651,12 @@ Tada su objekti vidljivi samo iza ravni skice. Primeni na postojeće skice - + Unexpected C++ exception Neočekivani C++ izuzetak - + Sketcher Sketcher @@ -4637,48 +4829,48 @@ Međutim, nisu pronađena nikakva ograničenja vezana za krajnje tačke.Podešavanja - + Constraints Constraints - + Auto constraints Automatska ograničenja - + Auto remove redundants Automatski uklonite suvišna - + Show only filtered Constraints Prikaži samo filtrirana ograničenja - + Extended information (in widget) Proširene informacije (u panelu) - + Hide internal alignment (in widget) Sakrij unutrašnje poravnanje (u panelu) - - + + Error Greška - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4710,6 +4902,33 @@ Međutim, nisu pronađena nikakva ograničenja vezana za krajnje tačke.Settings Podešavanja + + + + + + + + + + + + Construction + Pomoćna geometrija + + + + Elements + Elementi + + + + + + + Point + Tačka + @@ -4721,110 +4940,83 @@ Međutim, nisu pronađena nikakva ograničenja vezana za krajnje tačke. - Construction - Pomoćna geometrija - - - - Elements - Elementi - - - - - - - Point - Tačka - - - - - - - - - - - - Internal Unutrašnji - - + + + - Line Linija - - + + + - Arc Kružni luk - - + + + - Circle Krug - - + + + - Ellipse Elipsa - - + + + - Elliptical Arc Eliptični Luk - - + + + - Hyperbolic Arc Hiperbolični luk - - + + + - Parabolic Arc Parabolični luk - - + + + - BSpline B-splajn kriva - - + + + - Other Drugo - + Extended information Proširene informacije @@ -4832,42 +5024,42 @@ Međutim, nisu pronađena nikakva ograničenja vezana za krajnje tačke. SketcherGui::TaskSketcherMessages - + Solver messages Poruke algoritma za rešavanje - + Auto update Automatsko ažuriranje - + Executes a recomputation of active document after every sketch action Izvršava ponovno izračunavanje aktivnog dokumenta nakon svake radnje na skice - + Click to select the conflicting constraints. Klikni da bi izabrao konfliktna ograničenja. - + Click to select the redundant constraints. Klikni da bi izabrao suvišna ograničenja. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Skica ima elemente koji nisu ograničeni i stvaraju stepene slobode. Klikni da bi izabrao ove elemente bez ograničenja. - + Click to select the malformed constraints. Klikni da bi izabrao deformisana ograničenja. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Neka ograničenja u kombinaciji su delimično suvišna. Klikni da bi izabrao delimično suvišna ograničenja. @@ -5045,112 +5237,112 @@ Ovo se radi analizom geometrije i ograničenja skice. SketcherGui::ViewProviderSketch - + Edit sketch Uredi skicu - + A dialog is already open in the task panel A dialog is already open in the task panel - + Do you want to close this dialog? Do you want to close this dialog? - + Invalid sketch Neispravna skica - + Do you want to open the sketch validation tool? Da li želiš da otvoriš alatku za proveru skice? - + The sketch is invalid and cannot be edited. Skica sadrži greške i ne može biti menjana. - + Please remove the following constraint: Ukloni sledeće ograničenje: - + Please remove at least one of the following constraints: Ukloni bar jedno od sledećih ograničenja: - + Please remove the following redundant constraint: Ukloni sledeće suvišno ograničenje: - + Please remove the following redundant constraints: Ukloni sledeća suvišna ograničenja: - + The following constraint is partially redundant: Sledeće ograničenje je suvišno: - + The following constraints are partially redundant: Sledeća ograničenja su suvišna: - + Please remove the following malformed constraint: Ukloni sledeće oštećeno ograničenje: - + Please remove the following malformed constraints: Ukloni sledeće oštećena ograničenja: - + Empty sketch Prazna skica - + Over-constrained: Previše ograničeno: - + Malformed constraints: Oštećena ograničenja: - + Redundant constraints: Suvišna ograničenja: - + Partially redundant: Delimično suvišna: - + Solver failed to converge Solver failed to converge - + Under constrained: Nedovoljno ograničeno: - + %n DoF(s) %n Stepeni slobode @@ -5159,7 +5351,7 @@ Ovo se radi analizom geometrije i ograničenja skice. - + Fully constrained Potpuno ograničen @@ -5167,8 +5359,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Prebacuje između prikazivanja i sakrivanja dijagram zakrivljenosti za sve B-splajn krive @@ -5176,8 +5368,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Smanjuje višestrukost izabranog čvora B-splajn krive @@ -5185,8 +5377,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Prebacuje između prikazivanja i skrivanja stepena za sve B-splajn krive @@ -5194,8 +5386,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Povećava višestrukost izabranog čvora B-splajn krive @@ -5203,8 +5395,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Prebacuje između prikazivanja i sakrivanja višestrukosti čvorova za sve B-splajn krive @@ -5212,8 +5404,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Prebacuje između prikazivanja i sakrivanja težine kontrolne tačke za sve B-splajn krive @@ -5221,8 +5413,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Prebacuje između prikazivanja i sakrivanja linija kontrolnih tačaka za sve B-splajn krive @@ -5230,8 +5422,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Pravi klona geometrije uzimajući kao referentnu poslednju izabranu tačku @@ -5239,17 +5431,17 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_CompCopy - + Clone Klon - + Copy Kopiraj - + Move Pomeri @@ -5257,8 +5449,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Kotiraj prečnik kruga ili luka @@ -5266,7 +5458,7 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Kotiraj poluprečnik/prečnik krugova ili lukova @@ -5274,8 +5466,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Kotiraj poluprečnik kruga ili luka @@ -5283,7 +5475,7 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Kotiraj poluprečnik/prečnik krugova ili lukova @@ -5291,8 +5483,8 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Pravi jednostavnu kopiju geometrije uzimajući kao referentnu poslednju izabranu tačku @@ -5511,64 +5703,64 @@ Ovo se radi analizom geometrije i ograničenja skice. Sketcher_MapSketch - + No sketch found Nije pronađena skica - + The document doesn't have a sketch Dokument nema skicu - + Select sketch Izaberi skicu - + Select a sketch from the list Izaberi skicu iz liste - + (incompatible with selection) (nekompatibilno sa izborom) - + (current) (trenutni) - + (suggested) (predloženi) - + Sketch attachment Prilog skici - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Trenutni režim pridruživanja nije kompatibilan sa novim izborom. Izaberi metod za pridruživanje ove skice na izabrane objekte. - + Select the method to attach this sketch to selected objects. Izaberi metod za vezivanje ove skice na izabrane objekte. - + Map sketch Mapiraj skicu - + Can't map a sketch to support: %1 Ne mogu mapirati skicu na osnovu: @@ -5578,8 +5770,8 @@ Izaberi metod za pridruživanje ove skice na izabrane objekte. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Premešta geomatriju u odnosu na zadnju izabranu tačku @@ -5587,12 +5779,12 @@ Izaberi metod za pridruživanje ove skice na izabrane objekte. Sketcher_NewSketch - + Sketch attachment Prilog skici - + Select the method to attach this sketch to selected object Izaberi metod za vezivanje ove skice na izabrane objekat @@ -5600,12 +5792,12 @@ Izaberi metod za pridruživanje ove skice na izabrane objekte. Sketcher_ReorientSketch - + Sketch has support Skica ima osnovu - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Skica sa osnovom se ne može promeniti. @@ -5614,11 +5806,6 @@ Da li želiš da je odvojiš od osnove? TaskSketcherMessages - - - Form - Obrazac - DOF @@ -5637,11 +5824,6 @@ Da li želiš da je odvojiš od osnove? TaskSketcherSolverAdvanced - - - Form - Obrazac - Default algorithm used for Sketch solving @@ -5914,7 +6096,7 @@ Eigen redak QR algoritam je optimizovan za retke matrice; obično brže ViewProviderSketch - + and %1 more i %1 više @@ -6104,22 +6286,22 @@ Razmak mreže se menja ako postane manji od ovog broja piksela. GridSpaceAction - + Grid auto spacing Automatski razmak koordinatne mreže - + Resize grid automatically depending on zoom. Promenite veličinu koordinatne mreže automatski u zavisnosti od zuma. - + Spacing Razmak - + Distance between two subsequent grid lines. Rastojanje između dve naredne linije koordinatne mreže. @@ -6127,87 +6309,87 @@ Razmak mreže se menja ako postane manji od ovog broja piksela. Notifications - + The Sketch has malformed constraints! Skica ima deformisana ograničenja! - + The Sketch has partially redundant constraints! Skica ima delimično suvišna ograničenja! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Greška - + Failed to delete all geometry Nije uspelo brisanje sve geometrije - + Failed to delete all constraints Nije uspelo brisanje svih ograničenja - + The constraint has invalid index information and is malformed. Ograničenje ima pogrešne indeksne informacije tako da je neispravno. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Neispravno ograničenje @@ -6249,8 +6431,8 @@ Razmak mreže se menja ako postane manji od ovog broja piksela. Greška prilikom pravljenja pola B-Splajn krive - + Error creating B-spline Greška prilikom pravljenja B-Splajn krive @@ -6347,9 +6529,9 @@ Razmak mreže se menja ako postane manji od ovog broja piksela. Opsecanje ivice nije uspelo - - - + + + Value Error Greška vrednosti @@ -6385,58 +6567,58 @@ Razmak mreže se menja ako postane manji od ovog broja piksela. SnapSpaceAction - + Snap to objects Uhvati objekat - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Nove tačke će se uhvatiti za trenutno izabrani objekat. Takođe će se uhvatiti za sredinu linija i lukova. - + Snap to grid Uhvati koordinatnu mrežu - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Nove tačke će se uhvatiti za najbližu liniju koordinatne mreže. Tačke se moraju nalaziti na udaljenosti manjoj od 1/5 razmaka linija mreže da bi se uhvatile za liniju mreže. - + Snap angle Uhvati ugao - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Ugaoni korak za alatke koje koriste 'Uhvati pod uglom' (na primer linija). Drži CTRL da bi omogućio 'Uhvati pod uglom'. Ugao počinje od horizontalne ose usmerene nadesno. RenderingOrderAction - - - - - Normal Geometry - Regularna geometrija - - Construction Geometry - Pomoćna geometrija + Normal Geometry + Regularna geometrija + Construction Geometry + Pomoćna geometrija + + + + + External Geometry Spoljašnja geometrija @@ -6457,12 +6639,12 @@ Tačke se moraju nalaziti na udaljenosti manjoj od 1/5 razmaka linija mreže da CmdSketcherGrid - + Toggle grid Sakrij/Prikaži koordinatnu mrežu - + Toggle the grid in the sketch. In the menu you can change grid settings. Uključi/Isključi koordinatnu mrežu na skici. U meniju možeš promeniti podešavanja koordinatne mreže. @@ -6470,12 +6652,12 @@ Tačke se moraju nalaziti na udaljenosti manjoj od 1/5 razmaka linija mreže da CmdSketcherSnap - + Toggle snap Uključi/Isključi hvatanje - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Uključi/Isključi sve funkcije hvatanja. U meniju možeš pojedinačno da prebacuješ 'Uhvati koordinatnu mrežu', 'Uhvati objekte' a takođe i ostala podešavanja hvatanja. @@ -6506,4 +6688,34 @@ Tačke se moraju nalaziti na udaljenosti manjoj od 1/5 razmaka linija mreže da Napravi periodičnu B-splajn krivu pomoću čvorova, tj. interpolacijom, na skici. + + CmdSketcherDimension + + + Dimension + Kota + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr.ts index 6182add07d..12a8c76cf1 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sr.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Прикажи/сакриј дијаграм закривљености Б-сплајн криве - + Switches between showing and hiding the curvature comb for all B-splines Пребацује између приказивања и сакривања дијаграм закривљености за све Б-сплајн криве @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Прикажи/сакриј степен Б-сплајн криве - + Switches between showing and hiding the degree for all B-splines Пребацује између приказивања и скривања степена за све Б-сплајн криве @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Прикажи/сакриј вишеструкост чворова Б-сплајн криве - + Switches between showing and hiding the knot multiplicity for all B-splines Пребацује између приказивања и сакривања вишеструкости чворова за све Б-сплајн криве @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Прикажи/сакриј тежину контролне тачке Б-сплајн криве - + Switches between showing and hiding the control point weight for all B-splines Пребацује између приказивања и сакривања тежине контролне тачке за све Б-сплајн криве @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Прикажи/сакриј линије Б-сплајн криве - + Switches between showing and hiding the control polygons for all B-splines Пребацује између приказивања и сакривања линија контролних тачака за све Б-сплајн криве @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Клон - + Creates a clone of the geometry taking as reference the last selected point Прави клона геометрије узимајући као референтну последњу изабрану тачку @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Show/hide B-spline information layer - + Show/hide B-spline degree Прикажи/сакриј степен Б-сплајн криве - + Show/hide B-spline control polygon Прикажи/сакриј линије Б-сплајн криве - + Show/hide B-spline curvature comb Прикажи/сакриј дијаграм закривљености Б-сплајн криве - + Show/hide B-spline knot multiplicity Прикажи/сакриј вишеструкост чворова Б-сплајн криве - + Show/hide B-spline control point weight Прикажи/сакриј тежину контролне тачке Б-сплајн криве @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Ограничење кружног лука или круга - + Constrain an arc or a circle Котирај кружни лук или круг - + Constrain radius Ограничење полупречника - + Constrain diameter Ограничење пречника - + Constrain auto radius/diameter Аутоматско ограничење полупречника и пречника @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Клон - + Creates a clone of the geometry taking as reference the last selected point Прави клона геометрије узимајући као референтну последњу изабрану тачку @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Измени вишеструкост чвора - + Modifies the multiplicity of the selected knot of a B-spline Модификује вишеструкост изабраног чвора Б-сплајн криве - + Increase knot multiplicity Повећај вишеструкост чвора - + Decrease knot multiplicity Смањи вишеструкост чвора @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Ограничење угла - + Fix the angle of a line or the angle between two lines Котирај угао линије или угао између две линије @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Ограничавање блокирањем - + Block the selected edge from moving Блокира померање изабране ивице @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Ограничење подударности - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Направи ограничење подударности између тачака или концентрично ограничење између кругова, лукова и елипса @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Ограничење пречника - + Fix the diameter of a circle or an arc Котирај пречник круга или лука @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Ограничење растојања - + Fix a length of a line or the distance between a line and a vertex or between two circles Котирај дужину линије, растојање између линије и темена или растојање између два круга @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Ограничење хоризонталног растојања - + Fix the horizontal distance between two points or line ends Котирај хоризонтално растојање између две тачке или крајева линија @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Ограничење вертикалног растојања - + Fix the vertical distance between two points or line ends Котирај вертикално растојање између две тачке или крајева линија @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Ограничење једнакости - + Create an equality constraint between two lines or between circles and arcs Направи ограничење једнакости између две линије или између кругова и лукова @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Ограничење хоризонталности - + Create a horizontal constraint on the selected item Направи ограничење хоризонталности на изабраној ставки @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Ограничавање закључавањем - + Create both a horizontal and a vertical distance constraint on the selected vertex Направи ограничење хоризонталног и вертикалног растојања на изабраном темену @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Ограничење паралелности - + Create a parallel constraint between two lines Направи ограничење паралелности између две линије @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Ограничење управности - + Create a perpendicular constraint between two lines Направи ограничење управности између два геометријска елемента @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Ограничење тачка на објекту - + Fix a point onto an object Ограничење тачке да буде везана за објекат @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Аутоматско ограничење полупречника и пречника - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Котирај пречник ако изабереш круг или полупречник ако изабереш лук или пол сплајна @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Котирај полупречник - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Котирај полупречник круга или лука или котирајте круг тежине пола Б-сплајн криве @@ -584,12 +584,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Ограничење рефракције (Снеллов закон) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Направи ограничење рефракције (Снеллов закон) између две крајње тачке зрака @@ -599,12 +599,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Ограничење симетричности - + Create a symmetry constraint between two points with respect to a line or a third point Направи ограничење симетричности између две тачке @@ -614,12 +614,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Ограничење тангентности - + Create a tangent constraint between two entities Направи тангентно ограничење између два ентитета @@ -627,12 +627,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Ограничење вертикалности - + Create a vertical constraint on the selected item Направи ограничење вертикалности на изабраној ставки @@ -640,12 +640,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Претвори геометрију у Б-сплајн криву - + Converts the selected geometry to a B-spline Претвара изабрану геометрију у Б-сплајн криву @@ -653,12 +653,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Копирај - + Creates a simple copy of the geometry taking as reference the last selected point Прави једноставну копију геометрије узимајући као референтну последњу изабрану тачку @@ -1017,12 +1017,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Смањи степен Б-сплајн криве - + Decreases the degree of the B-spline Умањује степен Б-сплајн криве @@ -1030,12 +1030,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Смањи вишеструкост чвора - + Decreases the multiplicity of the selected knot of a B-spline Смањује вишеструкост изабраног чвора Б-сплајн криве @@ -1043,12 +1043,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Обриши сва ограничења - + Delete all constraints in the sketch Обриши сва ограничења на скици @@ -1056,12 +1056,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Обриши сву геометрију - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Осим спољашње геометрије, обриши сву геометрију и ограничења у тренутно активној скици @@ -1069,12 +1069,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Измени скицу - + Edit the selected sketch. Уреди одабрану скицу. @@ -1108,12 +1108,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Повећајте степен Б-сплајн криве - + Increases the degree of the B-spline Повећава степен Б-сплајн криве @@ -1121,12 +1121,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Повећај вишеструкост чвора - + Increases the multiplicity of the selected knot of a B-spline Повећава вишеструкост изабраног чвора Б-сплајн криве @@ -1134,12 +1134,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Уметни чвор - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Умеће чвор на датом параметру. Ако чвор већ постоји на том параметру, његова вишеструкост се повећава за један. @@ -1147,12 +1147,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Споји криве - + Join two curves at selected end points Споји две криве у изабраним крајњим тачкама @@ -1160,12 +1160,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Напусти скицу - + Finish editing the active sketch. Заврши уређивање активне скице. @@ -1173,12 +1173,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Мапирај скицу на страницу... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1187,7 +1187,7 @@ then call this command, then choose the desired sketch. затим позови ову команду, а затим изабери жељену скицу. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Неки од изабраних објеката зависе од скице коју треба мапирати. Кружне зависности нису дозвољене. @@ -1195,22 +1195,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Обједини скице - + Create a new sketch from merging two or more selected sketches. Направи нову скицу обједињавањем две или више изабраних скица. - + Wrong selection Погрешан избор - + Select at least two sketches. Изабери најмање две скице. @@ -1218,12 +1218,12 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Симетрично пресликана скица - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1231,12 +1231,12 @@ as mirroring reference. користећи координатни почетак или осе X и Y као референтне. - + Wrong selection Погрешан избор - + Select one or more sketches. Изабери једну или више скица. @@ -1244,12 +1244,12 @@ as mirroring reference. CmdSketcherMove - + Move Помери - + Moves the geometry taking as reference the last selected point Премешта геоматрију у односу на задњу изабрану тачку @@ -1257,12 +1257,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Направи скицу - + Create a new sketch. Направи нову скицу. @@ -1270,12 +1270,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Правоугаоно умножавање - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Прави правоугаоно умножавање у односу на задњу изабрану тачку @@ -1283,12 +1283,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Уклони поравнање оса - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Модификује ограничења како би се уклонило поравнање оса с тим да покушава задржати постојећа ограничења @@ -1296,12 +1296,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Преорјентиши скицу... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Постави изабрану скицу на једну од главних координатних равни. @@ -1311,12 +1311,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Прикажи/cакриј унутрашњу геометрију - + Show all internal geometry or hide unused internal geometry Прикажи сву унутрашњу геометрију или сакриј неискоришћену унутрашњу геометрију @@ -1324,8 +1324,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Изабери сукобљена ограничења @@ -1333,12 +1333,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints Изабери повезана ограничења - + Select the constraints associated with the selected geometrical elements Изабери ограничења повезана са изабраним геометријским елементима @@ -1346,12 +1346,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Изабери повезану геометрију - + Select the geometrical elements associated with the selected constraints Изабери геометријске елементе повезане са изабраним ограничењима @@ -1359,12 +1359,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Изабери геометрију која има неограничене степене слободе - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Изабери геометријске елементе код којих алгоритам за решавање још увек детектује неограничене степене слободе. @@ -1372,12 +1372,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Изабери хоризонталну осу - + Select the local horizontal axis of the sketch Изабери локалну хоризонталну осу скице @@ -1385,8 +1385,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Изабери деформисана ограничења @@ -1394,12 +1394,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin Изабери координатни почетак - + Select the local origin point of the sketch Изабери локални координатни почетак скице @@ -1407,8 +1407,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Изабери делимично сувишна ограничења @@ -1416,8 +1416,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Изабери сувишна ограничења @@ -1425,12 +1425,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis Изабери вертикалну осу - + Select the local vertical axis of the sketch Изабери локалну вертикалну осу скице @@ -1451,12 +1451,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation Заустави операцију - + When in edit mode, stop the active operation (drawing, constraining, etc.). Када си у режиму за уређивање, зауставља активну операцију (цртање, ограничавање, итд.). @@ -1477,12 +1477,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry Симетричност - + Creates symmetric geometry with respect to the last selected line or point Прави симетричну геометрију у односу на последњу изабрану линију или тачку @@ -1490,12 +1490,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Активирај/деактивирај ограничење - + Activates or deactivates the selected constraints Активира или деактивира изабрана ограничења @@ -1516,12 +1516,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Ограничавајуће/референтне коте - + Set the toolbar, or the selected constraints, into driving or reference mode Подеси палету са алаткама или изабрана ограничења, @@ -1544,24 +1544,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Поправи скицу... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Поправи скицу гледајући подударности које недостају, неважећа ограничења, дегенерисану геометрију, итд. - + Wrong selection Погрешан избор - + Select only one sketch. Изабери само једну скицу. @@ -1569,12 +1569,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Прикажи заклоњену скицу - + When in edit mode, switch between section view and full view. Прикажи/сакриј детаље 3Д модела који се налазе испред скице коју уређујеш. @@ -1582,12 +1582,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Прикажи скицу - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Када си у режиму за уређивање, поставља оријентацију камере нормално на раван скице. @@ -1595,287 +1595,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Додај хоризонтално ограничење - - - + + + Add horizontal alignment Додај хоризонтално поравнање - - + + Add vertical constraint Додај вертикално ограничење - + Add vertical alignment Додај вертикално поравнање - + Add 'Lock' constraint Додај ограничавање закључавањем - + Add relative 'Lock' constraint Додај релативно ограничење закључавањем - + Add fixed constraint Add fixed constraint - + Add 'Block' constraint Додај ограничавање блокирањем - + Add block constraint Додај ограничавање блокирањем - - - + + + Add coincident constraint Додај ограничење подударности - - + + Add distance from horizontal axis constraint Додај коту растојања од хоризонталне осе - - + + Add distance from vertical axis constraint Додај коту растојања од вертикалне осе - - + + Add point to point distance constraint Додај коту вертикалног растојања од тачке до тачке - - + + + Add point to line Distance constraint Додај коту растојања од тачке до линије - - + + Add circle to circle distance constraint Додај ограничење између два круга - + Add circle to line distance constraint Додај ограничење растојања од круга до линије - - + + + + + Add length constraint Додај ограничење дужине - - + + + Dimension + Кота + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Додај тачку на ограничење објекта - - + + Add point to point horizontal distance constraint Додај ограничење хоризонталног растојања од тачке до тачке - + Add fixed x-coordinate constraint Додај ограничење фиксне x-координате - - + + Add point to point vertical distance constraint Додај ограничење вертикалног растојања од тачке до тачке - + Add fixed y-coordinate constraint Додај ограничење фиксне y-координате - - + + Add parallel constraint Додај ограничење паралелности - - - - - - - + + + + + + + Add perpendicular constraint Додај ограничење управности - + Add perpendicularity constraint Додај ограничење управности - + Swap coincident+tangency with ptp tangency Замени подударност+тангентност на тангентност тачака - + Swap PointOnObject+tangency with point to curve tangency Замени тачка на објекту+тангентност са тангентност тачке на криву - - - - - - - + + + + + + + Add tangent constraint Додај ограничење тангентности - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Додај тачку ограничења тангентности - - - - + + + + Add radius constraint Додај ограничење полупречника - - - - + + + + Add diameter constraint Додај ограничење пречника - - - - + + + + Add radiam constraint Додај ограничење полупречник-пречник - - - - - - + + + + + + Add angle constraint Додај ограничење угла - - + + Add equality constraint Додај ограничење једнакости - - - - - + + + + + Add symmetric constraint Додај ограничење симетричности - + Add Snell's law constraint Додај ограничење на основу Снелловог закона - + Toggle constraint to driving/reference Пребаци између референтног и ограничавајућег режима кота - + Activate/Deactivate constraint Активирај/деактивирај ограничење - + Create a new sketch on a face Направи нову скицу на страници - + Create a new sketch Направи нову скицу - + Reorient sketch Преорјентиши скицу - + Attach sketch Придружи скицу - + Detach sketch Одвоји скицу - + Create a mirrored sketch for each selected sketch Направи симетричну скицу за сваку изабрану скицу - + Merge sketches Обједини скице @@ -1993,72 +2110,72 @@ invalid constraints, degenerated geometry, etc. Додај шестоугао - + Convert to NURBS Конвертуј у NURBS - + Increase spline degree Повећај степен Б-сплајн криве - + Decrease spline degree Смањи степен Б-сплајн криве - + Increase knot multiplicity Повећај вишеструкост чвора - + Decrease knot multiplicity Смањи вишеструкост чвора - + Insert knot Уметни чвор - + Join Curves Споји криве - + Exposing Internal Geometry Exposing Internal Geometry - + Create symmetric geometry Направи симетричну геометрију - + Copy/clone/move geometry Копирај/клонирај/премести геометрију - + Create copy of geometry Направи копију геометрије - + Delete all geometry Обриши сву геометрију - + Delete All Constraints Избриши сва ограничавања - + Remove Axes Alignment Уклони поравнање оса @@ -2069,44 +2186,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Ажурирај виртуелни простор ограничења - + Add auto constraints Додај аутоматска ограничења - + Swap constraint names Замени имена ограничења - + Rename sketch constraint Преименуј ограничење скице - + Drag Point Превуци тачку - + Drag Curve Превуци криву - + Drag Constraint Превуци ограничење - + Modify sketch constraints Измени ограничења скице @@ -2167,59 +2284,59 @@ invalid constraints, degenerated geometry, etc. Грешка аутоматског ограничавања: Нерешива скица после примене ограничења једнакости. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Није могуће одредити пресечну тачку кривих. Покушај да додаш ограничење подударности између тачака кривих где намераваш да направиш заобљење. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline Geometry Index (GeoID) is out of bounds. - + You are requesting no change in knot multiplicity. Не захтевате промену у вишеструкости чворова. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. The Geometry Index (GeoId) provided is not a B-spline curve. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. Вишеструкост се не може повећати изнад степена Б-сплајн криве. - + The multiplicity cannot be decreased beyond zero. Вишеструкост не може бити мање од нуле. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC није у стању да смањи вишеструкост унутар максималне толеранције. - + Knot cannot have zero multiplicity. Чвор не може имати нулту вишеструкост. - + Knot multiplicity cannot be higher than the degree of the BSpline. Вишеструкост чворова не може бити већа од степена Б-Сплајн криве. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2235,210 +2352,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Sketcher - + There are no modes that accept the selected set of subelements Не постоје режими који прихватају изабрани скуп поделемената - + Broken link to support subelements Broken link to support subelements - - + + Unexpected error Неочекивана грешка - + Face is non-planar Страница није планарна - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Изабрани облици су погрешног облика (нпр. закривљена ивица где је потребна права) - + Sketch mapping Мапирање скице - + Can't map the sketch to selected object. %1. Не могу мапирати скицу на изабрани објекат. %1. - - + + Don't attach Немој прикачити + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Погрешан избор @@ -2449,339 +2569,339 @@ invalid constraints, degenerated geometry, etc. Изабери ивицу(е) са скице. - + Not allowed to edit the datum because the sketch contains conflicting constraints Није дозвољено уређивање помоћних елемената јер скица садржи конфликтна ограничења - + Dimensional constraint Димензионално ограничење - + Cannot add a constraint between two external geometries. Није могуће додати ограничење између две спољне геометрије. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Није могуће додати ограничење између две фиксне геометрије. Под фиксном геометријом подразумевамо спољашњу геометрију, блокирану геометрију и посебне тачке као што су тачке чворова Б-сплајн криве. - + Sketcher Constraint Substitution Замена Sketcher ограничења - + Keep notifying me of constraint substitutions Настави да ме обавештаваш о заменама ограничења - - - + + + Only sketch and its support are allowed to be selected. Дозвољено је да се изабере само скица и њена основа. - + One of the selected has to be on the sketch. Један од изабраних мора бити на скици. - - + + Select an edge from the sketch. Изабери ивицу из скице. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Немогуће ограничење - - - - + + + + The selected edge is not a line segment. Изабрана ивица није линијски сегмент. - - - - - - + + + + + + Double constraint Дупло ограничење - - - - - + + + + + The selected edge already has a horizontal constraint! Изабрана ивица већ има хоризонтално ограничење! - - - + + + The selected edge already has a vertical constraint! Изабрана ивица већ има вертикално ограничење! - - - - - - + + + + + + The selected edge already has a Block constraint! Изабрана ивица је већ ограничена блокирањем! - + The selected item(s) can't accept a horizontal constraint! Изабране ставке(а) не могу прихватити хоризонтално ограничење! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Изабрано је више од једне фиксне тачке. Изабери највише једну фиксну тачку! - + The selected item(s) can't accept a vertical constraint! Изабране ставке(а) не могу прихватити вертикално ограничење! - - - + + + Select vertices from the sketch. Изабери темена са скице. - + Select one vertex from the sketch other than the origin. Изабери једно теме са скице осим координатног почетка. - + Select only vertices from the sketch. The last selected vertex may be the origin. Изабери само темена са скице. Последње изабрано теме може бити координатни почетак. - + Wrong solver status Погрешан статус алгоритма за решавање - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Ограничење блокирањем се не може додати ако је скица нерешена или постоје сувишна и конфликтна ограничења. - + Select one edge from the sketch. Изабери једну ивицу са скице. - + Select only edges from the sketch. Изабери само ивице са скице. - + Number of selected objects is not 3 Број изабраних објеката није 3 - - - + + + Error Грешка - + Unexpected error. More information may be available in the Report View. Неочекивана грешка. Потражите више информација у Прегледачу објава. - + Endpoint to endpoint tangency was applied instead. Уместо тога је примењена тангентност у крајњим тачкама. - + Select two or more points from the sketch. Изабери две или више тачке са скице. - + Select two or more vertices from the sketch. Изабери два или више темена са скице. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Изабери два или више темена са скице за ограничење подударности, или два или више кругова, елипса, лукова или лукова елипсе за ограничење концентричности. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Изабери два темена са скице за ограничење подударности, или два круга, елипсе, лукове или лукове елипсе за ограничење концентричности. - + Select exactly one line or one point and one line or two points from the sketch. Изабери тачно једну линију или једну тачку и једну линију, или две тачке из скице. - + Cannot add a length constraint on an axis! Не може се додати ограничење дужине на осу! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Изабери тачно једну линију, једну тачку и једну линију, две тачке или два круга на скици. - + This constraint does not make sense for non-linear curves. Ово ограничење нема смисла за нелинеарне криве. - + Endpoint to edge tangency was applied instead. Уместо тога је примењена тангентност ивице у крајњој тачки. - - - - - - - + + + + + + + Select the right things from the sketch. Изабери праве ствари са скице. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Изабери ивицу која није тежина Б-сплајн контролне тачке. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Ниједна од изабраних тачака није била ограничена на дотичне криве, јер су делови истог елемента, јер су обе спољашње геометрије или зато што ивица није прихватљива. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Ниједна од изабраних тачака није била ограничена на одговарајуће криве, било зато што су делови истог елемента, или зато што су обе спољашње геометрије. - - - - + + + + Select exactly one line or up to two points from the sketch. Изабери тачно једну линију или највише две тачке са скице. - + Cannot add a horizontal length constraint on an axis! Не може се применити ограничење хоризонтално растојање на осу! - + Cannot add a fixed x-coordinate constraint on the origin point! Није могуће ограничити x-координату координатног почетка! - - + + This constraint only makes sense on a line segment or a pair of points. Ово ограничење има смисла само на сегменту линије или пару тачака. - + Cannot add a vertical length constraint on an axis! Не може се применити ограничење вертикално растојање на осу! - + Cannot add a fixed y-coordinate constraint on the origin point! Није могуће ограничити y-координату координатног почетка! - + Select two or more lines from the sketch. Изабери две или више линија са скице. - - + + Select at least two lines from the sketch. Изабери најмање две линије са скице. - + Select a valid line. Изабери важећу ивицу. - - + + The selected edge is not a valid line. Изабрана ивица није важећа линија. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2791,42 +2911,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Прихватљиве комбинације: две криве; крајња тачка и крива; две крајње тачке; две криве и тачка. - + Select some geometry from the sketch. perpendicular constraint Изабери неку геометрију из скице. - - + + Cannot add a perpendicularity constraint at an unconnected point! Не може се додати ограничење управности на тачку пошто она није крајња тачка! - - - + + + Perpendicular to B-spline edge currently unsupported. Примена ограничења управности на Б-сплајн криву тренутно није подржана. - - + + One of the selected edges should be a line. Једна од изабраних ивица би требала бити линија. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Примењена је тангентност на крајње тачке. Ограничење подударности је избрисано. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Примењена је тангентност између крајње тачке и ивице. Ограничење тачка на објекту је обрисано. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2836,179 +2956,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Прихваћене комбинације: две криве; крајња тачка и крива; две крајње тачке; две криве и тачка. - + Select some geometry from the sketch. tangent constraint Изабери неку геометрију из скице. - - - + + + Cannot add a tangency constraint at an unconnected point! Не може се додати ограничење тангентности у тачкама које се не поклапају! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. Уместо тога је примењена тангентност између чвора Б-сплајна и крајње тачке. - + Select either one point and several curves, or one curve and several points. Изабери или једну тачку и неколико кривих, или једну криву и неколико тачака. - - + + Wrong number of selected objects! Погрешан број изабраних објеката! - - + + With 3 objects, there must be 2 curves and 1 point. Код 3 објекта, морају постојати 2 криве и 1 тачка. - - - + + + Tangency to B-spline edge currently unsupported. Примена ограничења тангентности на Б-сплајн криву тренутно није подржана. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Изабери један или више лукова или кругова са скице. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Изабери само један или више полова Б-сплајн криве или само један или више лукова или кругова са скице, али не помешано. - - - + + + Constraint only applies to arcs or circles. Ограничење се односи само на лукове и кружнице. - - + + Select one or two lines from the sketch. Or select two edges and a point. Изабери једну или две линије са скице, или изаберите две ивице и тачку. - - + + Parallel lines Паралелне линије - - + + An angle constraint cannot be set for two parallel lines. За две паралелне праве не може се поставити ограничење угла. - + Cannot add an angle constraint on an axis! Не можете додати ограничење угла на осу! - + Select two edges from the sketch. Изабери две ивице са скице. - + Select two or more compatible edges. Изабери две или више компатибилних ивица. - + Sketch axes cannot be used in equality constraints. На осе скице се не може применити ограничење једнакости. - + Equality for B-spline edge currently unsupported. Примена ограничења једнакости на Б-сплајн криву тренутно није подржана. - - - + + + + Select two or more edges of similar type. Изабери две или више ивица сличног типа. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Изабери две тачке и линију симетрије, две тачке и тачку симетрије или праву и тачку симетрије са скице. - - + + Cannot add a symmetry constraint between a line and its end points. Није могуће додати ограничење симетричности између линије и њених крајњих тачака. - - + + + + Cannot add a symmetry constraint between a line and its end points! Није могуће додати ограничење симетричности између линије и њених крајњих тачака! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Изабери две крајње тачке линија које ће деловати као зраци и ивицу која представља границу. Прва изабрана тачка одговара индексу лома н1, друга н2, а однос н2/н1 је релативни индекс лома. - + Selected objects are not just geometry from one sketch. Изабрани објекти нису само геометрија из једне скице. - + Cannot create constraint with external geometry only. Није могуће креирати ограничење само са спољном геометријом. - + Incompatible geometry is selected. Изабрана је некомпатибилна геометрија. - + SnellsLaw on B-spline edge is currently unsupported. Примена ограничења рефракције (Снеллов закон) на Б-сплајн криву тренутно није подржана. - - - - - + + + + + Select constraints from the sketch. Изабери ограничења са скице. @@ -3030,155 +3153,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Задај степен Б-сплајн криве, између 1 и %1: + + - - CAD Kernel Error Грешка CAD језгра - + None of the selected elements is an edge. Ниједан од изабраних елемената није ивица. - - + + At least one of the selected objects was not a B-Spline and was ignored. Најмање један од изабраних објеката није био Б-сплајн и игнорисан је. - - + + The selection comprises more than one item. Please select just one knot. Избор обухвата више од једне ставке. Изабери само један чвор. - - + + Input Error Грешка приликом уноса - - + + None of the selected elements is a knot of a B-spline Ниједан од изабраних елемената није чвор Б-сплајн криве - - + + Selection is empty Ниси ништа изабрао - + Nothing is selected. Please select a b-spline. Ништа није изабрано. Изабери Б-сплајн криву. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Изабери Б-сплајн криву да би додао чвор (не чвор на њој). Ако крива није Б-сплајн, прво је конвертуј. - + Nothing is selected. Please select end points of curves. Ништа није изабрано. Изабери крајње тачке кривих. - + Too many curves on point Превише кривих у тачки - - + + Exactly two curves should end at the selected point to be able to join them. Тачно две криве треба да се заврше у изабраној тачки да би се могле спојити. - + Too few curves on point Премало кривих у тачки - + Two end points, or coincident point should be selected. Треба изабрати две крајње тачке или подударну тачку. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Изабери елементе из једне скице. - + No constraint selected Ниједно ограничење није изабрано - + At least one constraint must be selected Најмање једно ограничење мора бити изабрано - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Симетрична конструкција захтева најмање два геометријска елемента, последњи геометријски елемент је референтни за грађење симетрије. - + The last element must be a point or a line serving as reference for the symmetry construction. Последњи елемент мора бити тачка или права и референтни је за грађење симетрије. - - + + A copy requires at least one selected non-external geometric element Копија захтева најмање један изабрани геометријски елемент који није спољни - + Delete All Geometry Обриши сву геометрију - + Are you really sure you want to delete all geometry and constraints? Да ли си заиста сигуран да желиш да обришеш сву геометрију и ограничења? - + Delete All Constraints Избриши сва ограничавања - + Are you really sure you want to delete all the constraints? Да ли си заиста сигуран да желиш да обришеш сву геометрију и ограничења? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3377,67 +3500,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Изабери елементе - + Change value Промени вредност - + Toggle to/from reference Toggle to/from reference - + Deactivate Деактивирати - + Activate Активирати - + Show constraints Прикажи ограничења - + Hide constraints Сакриј ограничења - + Rename Преименуј - + Center sketch Центрирај скицу - + Delete Обриши - + Swap constraint names Замени имена ограничења - + Unnamed constraint Ограничење без назива - + Only the names of named constraints can be swapped. Само имена именованих ограничења се могу заменити. @@ -3445,74 +3568,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle Унеси угао - + Angle: Угао: - + Insert radius Унеси полупречник - + Radius: Полупречник: - + Insert diameter Унеси пречник - + Diameter: Пречник: - + Insert weight Унеси тежину - + Weight: Дебљина: - + Refractive index ratio Constraint_SnellsLaw Релативни индекс лома - + Ratio n2/n1: Constraint_SnellsLaw Однос n2/n1: - + Insert length Унеси дужину - + Length: Дужина: - + Refractive index ratio Релативни индекс лома - + Ratio n2/n1: Однос n2/n1: @@ -3520,72 +3643,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal Обичне - + Construction Помоћна геометрија - + Internal Унутрашњи - + External Спољни - + All types Све врсте - + Point Тачка - + Line Линија - + Circle Круг - + Ellipse Елипса - + Arc of circle Кружни лук - + Arc of ellipse Елиптични лук - + Arc of hyperbola Хиперболични лук - + Arc of parabola Параболични лук - + B-Spline Б-сплајн @@ -3593,142 +3716,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Подударност тачке - + Point on Object Тачка на објекту - + Vertical Constraint Ограничење вертикалности - + Horizontal Constraint Ограничење хоризонталности - + Parallel Constraint Ограничење паралелности - + Perpendicular Constraint Ограничење управности - + Tangent Constraint Ограничење тангентности - + Equal Length Једнака дужина - + Symmetric Симетрично - + Block Constraint Oграничење блокирањем - + Lock Constraint Oграничење закључавањем - + Horizontal Distance Хоризонтално растојање - + Vertical Distance Вертикално растојање - + Length Constraint Ограничење дужине - + Radius Constraint Ограничење полупречника - + Diameter Constraint Ограничење пречника - + Radiam Constraint Ограничење полупречник-пречник - + Angle Constraint Ограничење угла - + Toggle construction geometry Помоћна геометрија - + Select Constraints Изабери Ограничења - + Select Origin Изабери координатни почетак - + Select Horizontal Axis Изабери хоризонталну осу - + Select Vertical Axis Изабери вертикалну осу - + Layer Слој - + Layer 0 Слој 0 - + Layer 1 Слој 1 - + Hidden Заклоњење - + Delete Обриши @@ -3914,8 +4037,8 @@ with respect to the others using construction lines If selected, it substitutes dimensional constraints by geometric constraints in the copies, so that a change in the original element is directly reflected on copies - Ако је чекирано, у копијама ће се заменити димензиона ограничења -геометријским, тако да ће се промене на оригиналном елементу + Ако је чекирано, у копијама ће се заменити димензиона ограничења +геометријским, тако да ће се промене на оригиналном елементу директно огледати и на копијама @@ -4014,6 +4137,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Обавести о аутоматским заменама ограничења + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Оба + + + + Auto + Аутоматски + + + + Diameter + Пречник + + + + Radius + Полупречник + SketcherGui::SketcherSettingsColors @@ -4459,12 +4651,12 @@ Then objects are only visible behind the sketch plane. Примени на постојеће скице - + Unexpected C++ exception Неочекивани Ц++ изузетак - + Sketcher Sketcher @@ -4637,48 +4829,48 @@ However, no constraints linking to the endpoints were found. Подешавања - + Constraints Constraints - + Auto constraints Аутоматска ограничења - + Auto remove redundants Аутоматски уклоните сувишна - + Show only filtered Constraints Прикажи само филтрирана ограничења - + Extended information (in widget) Проширене информације (у панелу) - + Hide internal alignment (in widget) Сакриј унутрашње поравнање (у панелу) - - + + Error Грешка - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4710,6 +4902,33 @@ However, no constraints linking to the endpoints were found. Settings Подешавања + + + + + + + + + + + + Construction + Помоћна геометрија + + + + Elements + Елементи + + + + + + + Point + Тачка + @@ -4721,110 +4940,83 @@ However, no constraints linking to the endpoints were found. - Construction - Помоћна геометрија - - - - Elements - Елементи - - - - - - - Point - Тачка - - - - - - - - - - - - Internal Унутрашњи - - + + + - Line Линија - - + + + - Arc Кружни лук - - + + + - Circle Круг - - + + + - Ellipse Елипса - - + + + - Elliptical Arc Елиптични Лук - - + + + - Hyperbolic Arc Хиперболични лук - - + + + - Parabolic Arc Параболични лук - - + + + - BSpline Б-сплајн крива - - + + + - Other Друго - + Extended information Проширене информације @@ -4832,42 +5024,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Поруке алгоритма за решавање - + Auto update Аутоматско ажурирање - + Executes a recomputation of active document after every sketch action Извршава поновно израчунавање активног документа након сваке радње на скице - + Click to select the conflicting constraints. Кликни да би изабрао конфликтна ограничења. - + Click to select the redundant constraints. Кликни да би изабрао сувишна ограничења. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Скица има елементе који нису ограничени и стварају степене слободе. Кликни да би изабрао ове елементе без ограничења. - + Click to select the malformed constraints. Кликни да би изабрао деформисана ограничења. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Нека ограничења у комбинацији су делимично сувишна. Кликни да би изабрао делимично сувишна ограничења. @@ -5045,112 +5237,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Измени скицу - + A dialog is already open in the task panel Дијалог је већ отворен у панелу задатака - + Do you want to close this dialog? Да ли желите да затворите овај дијалог? - + Invalid sketch Неисправна скица - + Do you want to open the sketch validation tool? Да ли желиш да отвориш алатку за проверу скице? - + The sketch is invalid and cannot be edited. Скица садржи грешке и не може бити мењана. - + Please remove the following constraint: Уклони следеће ограничење: - + Please remove at least one of the following constraints: Уклони бар једно од следећих ограничења: - + Please remove the following redundant constraint: Уклони следеће сувишно ограничење: - + Please remove the following redundant constraints: Уклони следећа сувишна ограничења: - + The following constraint is partially redundant: Следеће ограничење је сувишно: - + The following constraints are partially redundant: Следећа ограничења су сувишна: - + Please remove the following malformed constraint: Уклони следеће оштећено ограничење: - + Please remove the following malformed constraints: Уклони следеће оштећена ограничења: - + Empty sketch Празна скица - + Over-constrained: Превише ограничено: - + Malformed constraints: Оштећена ограничења: - + Redundant constraints: Сувишна ограничења: - + Partially redundant: Делимично сувишна: - + Solver failed to converge Solver failed to converge - + Under constrained: Недовољно ограничено: - + %n DoF(s) %n Степени слободе @@ -5159,7 +5351,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Потпуно ограничен @@ -5167,8 +5359,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Пребацује између приказивања и сакривања дијаграм закривљености за све Б-сплајн криве @@ -5176,8 +5368,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Смањује вишеструкост изабраног чвора Б-сплајн криве @@ -5185,8 +5377,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Пребацује између приказивања и скривања степена за све Б-сплајн криве @@ -5194,8 +5386,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Повећава вишеструкост изабраног чвора Б-сплајн криве @@ -5203,8 +5395,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Пребацује између приказивања и сакривања вишеструкости чворова за све Б-сплајн криве @@ -5212,8 +5404,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Пребацује између приказивања и сакривања тежине контролне тачке за све Б-сплајн криве @@ -5221,8 +5413,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Пребацује између приказивања и сакривања линија контролних тачака за све Б-сплајн криве @@ -5230,8 +5422,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Прави клона геометрије узимајући као референтну последњу изабрану тачку @@ -5239,17 +5431,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Клон - + Copy Копирај - + Move Помери @@ -5257,8 +5449,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Котирај пречник круга или лука @@ -5266,7 +5458,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Котирај полупречник/пречник кругова или лукова @@ -5274,8 +5466,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Котирај полупречник круга или лука @@ -5283,7 +5475,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Котирај полупречник/пречник кругова или лукова @@ -5291,8 +5483,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Прави једноставну копију геометрије узимајући као референтну последњу изабрану тачку @@ -5511,64 +5703,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Није пронађена скица - + The document doesn't have a sketch Документ нема скицу - + Select sketch Изабери скицу - + Select a sketch from the list Изабери скицу из листе - + (incompatible with selection) (некомпатибилно са избором) - + (current) (тренутни) - + (suggested) (предложени) - + Sketch attachment Прилог скици - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Тренутни режим придруживања није компатибилан са новим избором. Изабери метод за придруживање ове скице на изабране објекте. - + Select the method to attach this sketch to selected objects. Изабери метод за везивање ове скице на изабране објекте. - + Map sketch Мапирај скицу - + Can't map a sketch to support: %1 Не могу мапирати скицу на основу: @@ -5578,8 +5770,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Премешта геоматрију у односу на задњу изабрану тачку @@ -5587,12 +5779,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Прилог скици - + Select the method to attach this sketch to selected object Изабери метод за везивање ове скице на изабране објекат @@ -5600,12 +5792,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Скица има основу - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Скица са основом се не може променити. @@ -5614,11 +5806,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Образац - DOF @@ -5637,11 +5824,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Образац - Default algorithm used for Sketch solving @@ -5914,7 +6096,7 @@ Eigen редак QR алгоритам је оптимизован за ретк ViewProviderSketch - + and %1 more и %1 више @@ -6104,22 +6286,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Аутоматски размак координатне мреже - + Resize grid automatically depending on zoom. Промените величину координатне мреже аутоматски у зависности од зума. - + Spacing Размак - + Distance between two subsequent grid lines. Растојање између две наредне линије координатне мреже. @@ -6127,87 +6309,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! Скица има деформисана ограничења! - + The Sketch has partially redundant constraints! Скица има делимично сувишна ограничења! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Грешка - + Failed to delete all geometry Није успело брисање све геометрије - + Failed to delete all constraints Није успело брисање свих ограничења - + The constraint has invalid index information and is malformed. Ограничење има погрешне индексне информације тако да је неисправно. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Неисправно ограничење @@ -6249,8 +6431,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Грешка приликом прављења пола Б-Сплајн криве - + Error creating B-spline Грешка приликом прављења Б-Сплајн криве @@ -6347,9 +6529,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Опсецање ивице није успело - - - + + + Value Error Грешка вредности @@ -6385,58 +6567,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Ухвати објекат - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Нове тачке ће се ухватити за тренутно изабрани објекат. Такође ће се ухватити за средину линија и лукова. - + Snap to grid Ухвати координатну мрежу - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Нове тачке ће се ухватити за најближу линију координатне мреже. Тачке се морају налазити на удаљености мањој од 1/5 размака линија мреже да би се ухватиле за линију мреже. - + Snap angle Ухвати угао - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Угаони корак за алатке које користе 'Ухвати под углом' (на пример линија). Држи CTRL да би омогућио 'Ухвати под углом'. Угао почиње од хоризонталне осе усмерене надесно. RenderingOrderAction - - - - - Normal Geometry - Регуларна геометрија - - Construction Geometry - Помоћна геометрија + Normal Geometry + Регуларна геометрија + Construction Geometry + Помоћна геометрија + + + + + External Geometry Спољашња геометрија @@ -6457,12 +6639,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Сакриј/Прикажи координатну мрежу - + Toggle the grid in the sketch. In the menu you can change grid settings. Укључи/Искључи координатну мрежу на скици. У менију можеш променити подешавања координатне мреже. @@ -6470,12 +6652,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Укључи/Искључи хватање - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Укључи/Искључи све функције хватања. У менију можеш појединачно да пребацујеш 'Ухвати координатну мрежу', 'Ухвати објекте' а такође и остала подешавања хватања. @@ -6506,4 +6688,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Направи периодичну Б-сплајн криву помоћу чворова, тј. интерполацијом, на скици. + + CmdSketcherDimension + + + Dimension + Кота + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sv-SE.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sv-SE.ts index 9c8ed0ef7a..cebb256a25 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sv-SE.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_sv-SE.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Switches between showing and hiding the curvature comb for all B-splines Växlar mellan att visa och dölja böjningskammen för alla B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Visa/dölj gradtal för B-splines - + Switches between showing and hiding the degree for all B-splines Växlar mellan att visa och dölja gradtalet för alla B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Switches between showing and hiding the knot multiplicity for all B-splines Växlar mellan att visa och dölja knutmultipliciteten för alla B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Show/hide B-spline control point weight - + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Switches between showing and hiding the control polygons for all B-splines Växlar mellan att visa och dölja kontrollpolygonerna för alla B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Skapar en klon av geometrin med den senaste valda punkten som referens @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Visa/dölj B-spline-informationslager - + Show/hide B-spline degree Visa/dölj gradtal för B-splines - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Show/hide B-spline control point weight Show/hide B-spline control point weight @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Begränsa båge eller cirkel - + Constrain an arc or a circle Begränsa en båge eller cirkel - + Constrain radius Begränsa radie - + Constrain diameter Begränsa diameter - + Constrain auto radius/diameter Constrain auto radius/diameter @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Skapar en klon av geometrin med den senaste valda punkten som referens @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Ändra knut-multiplicitet - + Modifies the multiplicity of the selected knot of a B-spline Ändrar multipliciteten på den valda knuten i en B-spline - + Increase knot multiplicity Öka knutmultiplicitet - + Decrease knot multiplicity Minska knutmultiplicitet @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Begränsa vinkel - + Fix the angle of a line or the angle between two lines Fixera en linjes vinkel eller vinkeln mellan två linjer @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Constrain block - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Begränsa sammanfallande - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Begränsa diameter - + Fix the diameter of a circle or an arc Fixera diametern av en cirkel eller en båge @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Begränsningsavstånd - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Begränsa horisontellt avstånd - + Fix the horizontal distance between two points or line ends Fixera det horisontella avståndet mellan två punkter eller linjeändar @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Begränsa vertikalt avstånd - + Fix the vertical distance between two points or line ends Fixera det vertikala avståndet mellan två punkter eller linjeändar @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Begränsa lika - + Create an equality constraint between two lines or between circles and arcs Skapa en jämlikhetsbegränsning mellan två linjer eller mellan cirklar och cirkelbågar @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Begränsa horisontellt - + Create a horizontal constraint on the selected item Skapa en horisontell begränsning på den valda detaljen @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Begränsa lås - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Begränsa parallellt - + Create a parallel constraint between two lines Skapa en parallell begränsning mellan två linjer @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Begränsa vinkelrätt - + Create a perpendicular constraint between two lines Skapa en vinkelrät begränsning mellan två linjer @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Begränsa punkt på objekt - + Fix a point onto an object Fixera en punkt på ett objekt @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Constrain auto radius/diameter - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Constrain radius or weight - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Begränsa symmetriskt - + Create a symmetry constraint between two points with respect to a line or a third point Skapa en symmetribegränsning mellan två punkter @@ -615,12 +615,12 @@ med avseende på en linje eller tredje punkt CmdSketcherConstrainTangent - + Constrain tangent Begränsa tangens - + Create a tangent constraint between two entities Skapa en tangentbegränsning mellan två föremål @@ -628,12 +628,12 @@ med avseende på en linje eller tredje punkt CmdSketcherConstrainVertical - + Constrain vertically Begränsa vertikalt - + Create a vertical constraint on the selected item Skapa en vertikal begränsning på den markerade detaljen @@ -641,12 +641,12 @@ med avseende på en linje eller tredje punkt CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convert geometry to B-spline - + Converts the selected geometry to a B-spline Converts the selected geometry to a B-spline @@ -654,12 +654,12 @@ med avseende på en linje eller tredje punkt CmdSketcherCopy - + Copy Kopiera - + Creates a simple copy of the geometry taking as reference the last selected point Skapar en enkel kopia av geometrin med den senaste valda punkten som referens @@ -1018,12 +1018,12 @@ med avseende på en linje eller tredje punkt CmdSketcherDecreaseDegree - + Decrease B-spline degree Decrease B-spline degree - + Decreases the degree of the B-spline Decreases the degree of the B-spline @@ -1031,12 +1031,12 @@ med avseende på en linje eller tredje punkt CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Minska knutmultiplicitet - + Decreases the multiplicity of the selected knot of a B-spline Minskar multipliciteten på den markerade knuten i en B-spline @@ -1044,12 +1044,12 @@ med avseende på en linje eller tredje punkt CmdSketcherDeleteAllConstraints - + Delete all constraints Radera alla begränsningar - + Delete all constraints in the sketch Ta bort alla begränsningar i skissen @@ -1057,12 +1057,12 @@ med avseende på en linje eller tredje punkt CmdSketcherDeleteAllGeometry - + Delete all geometry Radera all geometri - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Delete all geometry and constraints in the current sketch, with the exception of external geometry @@ -1070,12 +1070,12 @@ med avseende på en linje eller tredje punkt CmdSketcherEditSketch - + Edit sketch Redigera skiss - + Edit the selected sketch. Redigera den valda skissen. @@ -1109,12 +1109,12 @@ med avseende på en linje eller tredje punkt CmdSketcherIncreaseDegree - + Increase B-spline degree Increase B-spline degree - + Increases the degree of the B-spline Ökar graden på B-spline:n @@ -1122,12 +1122,12 @@ med avseende på en linje eller tredje punkt CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Öka knutmultiplicitet - + Increases the multiplicity of the selected knot of a B-spline Ökar multipliciteten på den valda knuten i en B-spline @@ -1135,12 +1135,12 @@ med avseende på en linje eller tredje punkt CmdSketcherInsertKnot - + Insert knot Insert knot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1148,12 +1148,12 @@ med avseende på en linje eller tredje punkt CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1161,12 +1161,12 @@ med avseende på en linje eller tredje punkt CmdSketcherLeaveSketch - + Leave sketch Lämna skiss - + Finish editing the active sketch. Sluta redigera den aktiva skissen. @@ -1174,12 +1174,12 @@ med avseende på en linje eller tredje punkt CmdSketcherMapSketch - + Map sketch to face... Kartera skiss till ytan ... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1188,7 +1188,7 @@ Markera först den stödjande geometrin, till exempel en yta eller kant på ett anropa sedan det här kommandot och välj sedan önskad skiss. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. @@ -1196,22 +1196,22 @@ anropa sedan det här kommandot och välj sedan önskad skiss. CmdSketcherMergeSketches - + Merge sketches Sammanfoga skisser - + Create a new sketch from merging two or more selected sketches. Skapa ny skiss genom att sammanfoga två eller fler markerade skisser. - + Wrong selection Fel val - + Select at least two sketches. Markera minst två skisser. @@ -1219,12 +1219,12 @@ anropa sedan det här kommandot och välj sedan önskad skiss. CmdSketcherMirrorSketch - + Mirror sketch Spegla skiss - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1233,12 +1233,12 @@ genom att använda X- axeln, Y-axeln eller origo som speglingsreferens. - + Wrong selection Fel val - + Select one or more sketches. Markera en eller flera skisser. @@ -1246,12 +1246,12 @@ som speglingsreferens. CmdSketcherMove - + Move Flytta - + Moves the geometry taking as reference the last selected point Flyttar geometrin med den senast valda punkten som referens @@ -1259,12 +1259,12 @@ som speglingsreferens. CmdSketcherNewSketch - + Create sketch Skapa skiss - + Create a new sketch. Skapa en ny skiss. @@ -1272,12 +1272,12 @@ som speglingsreferens. CmdSketcherRectangularArray - + Rectangular array Rectangular array - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Skapar ett rektangulärt radmönster av geometrin med den senast valda punkten som referens @@ -1285,12 +1285,12 @@ som speglingsreferens. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Remove axes alignment - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection @@ -1298,12 +1298,12 @@ som speglingsreferens. CmdSketcherReorientSketch - + Reorient sketch... Omrikta skiss... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Placera markerad skiss på ett globalt koordinatplan. @@ -1313,12 +1313,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Visa/dölj inre geometri - + Show all internal geometry or hide unused internal geometry Show all internal geometry or hide unused internal geometry @@ -1326,8 +1326,8 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Markera motstridiga begränsningar @@ -1335,12 +1335,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectConstraints - + Select associated constraints Select associated constraints - + Select the constraints associated with the selected geometrical elements Select the constraints associated with the selected geometrical elements @@ -1348,12 +1348,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Select associated geometry - + Select the geometrical elements associated with the selected constraints Select the geometrical elements associated with the selected constraints @@ -1361,12 +1361,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Select unconstrained DoF - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Markera geometriska element där lösaren fortfarande hittar obegränsade frihetsgrader. @@ -1374,12 +1374,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Markera horisontell axel - + Select the local horizontal axis of the sketch Markera skissens lokala horisontella axel @@ -1387,8 +1387,8 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Select malformed constraints @@ -1396,12 +1396,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectOrigin - + Select origin Select origin - + Select the local origin point of the sketch Select the local origin point of the sketch @@ -1409,8 +1409,8 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Select partially redundant constraints @@ -1418,8 +1418,8 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Markera överflödiga begränsningar @@ -1427,12 +1427,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSelectVerticalAxis - + Select vertical axis Markera vertikal axel - + Select the local vertical axis of the sketch Markera skissens lokala vertikala axel @@ -1453,12 +1453,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherStopOperation - + Stop operation Stoppa operation - + When in edit mode, stop the active operation (drawing, constraining, etc.). I redigeringsläge, stoppa den aktiva operationen (ritning, begränsning, etc.). @@ -1479,12 +1479,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherSymmetry - + Symmetry Symmetri - + Creates symmetric geometry with respect to the last selected line or point Skapar symmetrisk geometri med avseende på den senast valda linjen eller punkten @@ -1492,12 +1492,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activate/deactivate constraint - + Activates or deactivates the selected constraints Aktiverar eller deaktiverar markerade begränsningar @@ -1518,12 +1518,12 @@ Detta kommer att rensa "stöd"-egenskapen, om den finns. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Toggle driving/reference constraint - + Set the toolbar, or the selected constraints, into driving or reference mode Set the toolbar, or the selected constraints, @@ -1546,24 +1546,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Validera skiss - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. - + Wrong selection Fel val - + Select only one sketch. Select only one sketch. @@ -1571,12 +1571,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Visa snitt - + When in edit mode, switch between section view and full view. I redigeringsläge, växla mellan snittvy och fullständig vy. @@ -1584,12 +1584,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Visa skiss - + When in edit mode, set the camera orientation perpendicular to the sketch plane. I redigeringsläge, rikta kameran vinkelrätt mot skissplanet. @@ -1597,287 +1597,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Add horizontal constraint - - - + + + Add horizontal alignment Add horizontal alignment - - + + Add vertical constraint Add vertical constraint - + Add vertical alignment Add vertical alignment - + Add 'Lock' constraint Add 'Lock' constraint - + Add relative 'Lock' constraint Add relative 'Lock' constraint - + Add fixed constraint Add fixed constraint - + Add 'Block' constraint Add 'Block' constraint - + Add block constraint Add block constraint - - - + + + Add coincident constraint Add coincident constraint - - + + Add distance from horizontal axis constraint Add distance from horizontal axis constraint - - + + Add distance from vertical axis constraint Add distance from vertical axis constraint - - + + Add point to point distance constraint Add point to point distance constraint - - + + + Add point to line Distance constraint Add point to line Distance constraint - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint Add length constraint - - + + + Dimension + Dimension + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Add point on object constraint - - + + Add point to point horizontal distance constraint Add point to point horizontal distance constraint - + Add fixed x-coordinate constraint Add fixed x-coordinate constraint - - + + Add point to point vertical distance constraint Add point to point vertical distance constraint - + Add fixed y-coordinate constraint Add fixed y-coordinate constraint - - + + Add parallel constraint Add parallel constraint - - - - - - - + + + + + + + Add perpendicular constraint Add perpendicular constraint - + Add perpendicularity constraint Add perpendicularity constraint - + Swap coincident+tangency with ptp tangency Swap coincident+tangency with ptp tangency - + Swap PointOnObject+tangency with point to curve tangency Swap PointOnObject+tangency with point to curve tangency - - - - - - - + + + + + + + Add tangent constraint Add tangent constraint - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Add tangent constraint point - - - - + + + + Add radius constraint Add radius constraint - - - - + + + + Add diameter constraint Add diameter constraint - - - - + + + + Add radiam constraint Add radiam constraint - - - - - - + + + + + + Add angle constraint Add angle constraint - - + + Add equality constraint Add equality constraint - - - - - + + + + + Add symmetric constraint Add symmetric constraint - + Add Snell's law constraint Add Snell's law constraint - + Toggle constraint to driving/reference Toggle constraint to driving/reference - + Activate/Deactivate constraint Activate/Deactivate constraint - + Create a new sketch on a face Create a new sketch on a face - + Create a new sketch Skapa en ny skiss - + Reorient sketch Reorient sketch - + Attach sketch Bifoga skiss - + Detach sketch Detach sketch - + Create a mirrored sketch for each selected sketch Create a mirrored sketch for each selected sketch - + Merge sketches Sammanfoga skisser @@ -1995,72 +2112,72 @@ invalid constraints, degenerated geometry, etc. Lägg till hexagon - + Convert to NURBS Konvertera till NURBS - + Increase spline degree Increase spline degree - + Decrease spline degree Decrease spline degree - + Increase knot multiplicity Öka knutmultiplicitet - + Decrease knot multiplicity Minska knutmultiplicitet - + Insert knot Insert knot - + Join Curves Join Curves - + Exposing Internal Geometry Exposing Internal Geometry - + Create symmetric geometry Skapa symmetrisk geometri - + Copy/clone/move geometry Copy/clone/move geometry - + Create copy of geometry Create copy of geometry - + Delete all geometry Radera all geometri - + Delete All Constraints Radera alla begränsningar - + Remove Axes Alignment Remove Axes Alignment @@ -2071,44 +2188,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Update constraint's virtual space - + Add auto constraints Add auto constraints - + Swap constraint names Kasta om namn på begränsningar - + Rename sketch constraint Rename sketch constraint - + Drag Point Dra punkt - + Drag Curve Dra kurva - + Drag Constraint Drag Constraint - + Modify sketch constraints Modify sketch constraints @@ -2169,59 +2286,59 @@ invalid constraints, degenerated geometry, etc. Auto-begränsningsfel: Olösbar skiss efter tillämpning av likhetsbegränsningar. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Kan inte finna skärning mellan kurvorna. Försök att lägga till en sammanfallande-begränsning mellan ändpunkterna på kurvorna du vill avrunda. - - + + BSpline Geometry Index (GeoID) is out of bounds. B-spline-geometriindex (GeoID) är inte giltigt. - + You are requesting no change in knot multiplicity. Du efterfrågar ingen ändring i knutmultipliciteten. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Geometriindex (GeoId) som är angivet är inte en B-spline-kurva. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Knutindex är inte giltigt. Notera att i enlighet med OCC-notation så har första knuten index 1 och inte index 0. - + The multiplicity cannot be increased beyond the degree of the B-spline. Multipliciteten kan inte ökas mer än graden av B-spline:n. - + The multiplicity cannot be decreased beyond zero. Multipliciteten kan inte minskas under 0. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC kan inte minsta multipliciteten inom den maximala toleransen. - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2237,210 +2354,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Skissare - + There are no modes that accept the selected set of subelements Det finns inget läge som accepterar uppsättningen av valda underelement - + Broken link to support subelements Trasig länk till stödunderelement - - + + Unexpected error Oväntat fel - + Face is non-planar Ytan är ickeplanär - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Valda former är av fel typ (t.ex. en böjd kant när en rak behövs) - + Sketch mapping Skisskartering - + Can't map the sketch to selected object. %1. Kan inte kartera skissen till det markerade objektet. %1. - - + + Don't attach Koppla inte till + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Fel val @@ -2451,339 +2571,339 @@ invalid constraints, degenerated geometry, etc. Välj kant(er) från skissen. - + Not allowed to edit the datum because the sketch contains conflicting constraints Inte tillåtet att ändra datum på grund av att skissen innehåller motstridiga begränsningar - + Dimensional constraint Dimensionell begränsning - + Cannot add a constraint between two external geometries. Cannot add a constraint between two external geometries. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Sketcher Constraint Substitution - + Keep notifying me of constraint substitutions Keep notifying me of constraint substitutions - - - + + + Only sketch and its support are allowed to be selected. Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. One of the selected has to be on the sketch. - - + + Select an edge from the sketch. Välj en kant från skissen. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Omöjlig begränsning - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint Dubbelbegränsning - - - - - + + + + + The selected edge already has a horizontal constraint! Den valda kanten har redan en horisontell begränsning! - - - + + + The selected edge already has a vertical constraint! Den valda kanten har redan en vertikal begränsning! - - - - - - + + + + + + The selected edge already has a Block constraint! Den valda kanten har redan en blockeringsbegränsning! - + The selected item(s) can't accept a horizontal constraint! Markerade objekt kan inte acceptera en horisontell begränsning! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Mer än en fast punkt är vald. Välj högst en fast punkt! - + The selected item(s) can't accept a vertical constraint! Markerade objekt kan inte acceptera en vertikal begränsning! - - - + + + Select vertices from the sketch. Välj hörnpunkter från skissen. - + Select one vertex from the sketch other than the origin. Välj en hörnpunkt från skissen som inte är origo. - + Select only vertices from the sketch. The last selected vertex may be the origin. Välj endast hörnpunkter från skissen. Den sist valda hörnpunkten kan vara origo. - + Wrong solver status Ogiltig status från problemlösaren - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. - + Select one edge from the sketch. Välj en kant i skissen. - + Select only edges from the sketch. Välj endast kanter i skissen. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error Fel - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. Slutpunkt till slutpunkt-tangering tillämpades istället. - + Select two or more points from the sketch. Välj två eller fler punkter från skissen. - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Välj exakt en linje eller en punkt och en linje eller två punkter från skissen. - + Cannot add a length constraint on an axis! Kan inte lägga till längdbegränsning på en axel! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. Välj de rätta sakerna från skissen. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Ingen av de valda punkterna begränsades till de respektive kurvorna, antingen för att de är delar av samma element eller för att båda är yttre geometri. - - - - + + + + Select exactly one line or up to two points from the sketch. Välj exakt en linje eller upp till två punkter från skissen. - + Cannot add a horizontal length constraint on an axis! Kan inte lägga till en horisontell längdbegränsning på en axel! - + Cannot add a fixed x-coordinate constraint on the origin point! Kan inte lägga till en fast x-koordinatsbegränsning på origo! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! Kan inte lägga till en vertikal längdbegränsning på en axel! - + Cannot add a fixed y-coordinate constraint on the origin point! Kan inte lägga till en fast y-koordinatsbegränsning på origo! - + Select two or more lines from the sketch. Välj två eller flera linjer från skissen. - - + + Select at least two lines from the sketch. Välj åtminstone två linjer från skissen. - + Select a valid line. Select a valid line. - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2793,42 +2913,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Accepterade kombinationer: två kurvor; en slutpunkt och en kurva; två slutpunkter; två kurvor och en punkt. - + Select some geometry from the sketch. perpendicular constraint Välj geometri(er) från skissen. - - + + Cannot add a perpendicularity constraint at an unconnected point! Kan inte lägga till en vinkelräthetsbegränsning vid en oansluten punkt! - - - + + + Perpendicular to B-spline edge currently unsupported. Normal till en B-spline-kant stöds inte just nu. - - + + One of the selected edges should be a line. En av de markerade kanterna ska vara en linje. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Slutpunkt till slutpunkt-tangering tillämpades. Sammanfallningsbegränsningen raderades. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2838,179 +2958,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Accepterade kombinationer: två kurvor; en slutpunkt och en kurva; två slutpunkter; två kurvor och en punkt. - + Select some geometry from the sketch. tangent constraint Välj geometri(er) från skissen. - - - + + + Cannot add a tangency constraint at an unconnected point! Kan inte lägga till ett tangensbegränsning vid en oansluten punkt! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! Felaktigt antal valda objekt! - - + + With 3 objects, there must be 2 curves and 1 point. Med tre objekt måste det vara två kurvor och en punkt. - - - + + + Tangency to B-spline edge currently unsupported. Tangering till B-spline-kant stöds inte just nu. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Markera en eller fler bågar eller cirklar från skissen. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. - - - + + + Constraint only applies to arcs or circles. Begränsning tillämpas bara på bågar eller cirklar. - - + + Select one or two lines from the sketch. Or select two edges and a point. Välj en eller två linjer från skissen, eller två kanter och en punkt. - - + + Parallel lines Parallella linjer - - + + An angle constraint cannot be set for two parallel lines. En vinkelbegränsning kan inte tillämpas på två parallella linjer. - + Cannot add an angle constraint on an axis! Kan inte lägga till vinkelbegränsning på en axel! - + Select two edges from the sketch. Välj två kanter från skissen. - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. Sketch axes cannot be used in equality constraints. - + Equality for B-spline edge currently unsupported. Likhet för B-spline-kant stöds inte just nu. - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Välj två punkter och en symmetrilinje, två punkter och en symmetripunkt eller en linje och en symmetripunkt från skissen. - - + + Cannot add a symmetry constraint between a line and its end points. Cannot add a symmetry constraint between a line and its end points. - - + + + + Cannot add a symmetry constraint between a line and its end points! Kan inte lägga till symmetribegränsning mellan en linje och dess ändpunkter! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. - + Selected objects are not just geometry from one sketch. Valda objekt är inte geometri från endast en skiss. - + Cannot create constraint with external geometry only. Cannot create constraint with external geometry only. - + Incompatible geometry is selected. Incompatible geometry is selected. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw on B-spline edge is currently unsupported. - - - - - + + + + + Select constraints from the sketch. Select constraints from the sketch. @@ -3032,155 +3155,155 @@ Accepterade kombinationer: två kurvor; en slutpunkt och en kurva; två slutpunk Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error CAD-kärnfel - + None of the selected elements is an edge. Inget av de valda elementen är en kant. - - + + At least one of the selected objects was not a B-Spline and was ignored. Minst ett av de valda objekten är inte en B-spline och ignorerades. - - + + The selection comprises more than one item. Please select just one knot. Markeringen innefattar mer än ett föremål. Vänligen välj endast en knut. - - + + Input Error Inmatningsfel - - + + None of the selected elements is a knot of a B-spline Inget av de valda elementen är en knut från en B-spline - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Välj element från endast en skiss. - + No constraint selected Ingen begränsning vald - + At least one constraint must be selected Minst en begränsning måste vara vald - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. En symmetrisk konstruktion kräver minst två geometriska element, det sist valda elementet fungerar som referens för symmetrikonstruktionen. - + The last element must be a point or a line serving as reference for the symmetry construction. Det sista elementet måste vara en punkt eller en linje som fungerar som referens för symmetrikonstruktionen. - - + + A copy requires at least one selected non-external geometric element En kopia kräver minst ett valt geometriskt element som inte är yttre geometri - + Delete All Geometry Radera all geometri - + Are you really sure you want to delete all geometry and constraints? Are you really sure you want to delete all geometry and constraints? - + Delete All Constraints Radera alla begränsningar - + Are you really sure you want to delete all the constraints? Är du säker på att du vill radera alla begränsningar? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3379,67 +3502,67 @@ Accepterade kombinationer: två kurvor; en slutpunkt och en kurva; två slutpunk SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value Ändra värde - + Toggle to/from reference Växa till/från referens - + Deactivate Deaktivera - + Activate Aktivera - + Show constraints Visa begränsningar - + Hide constraints Dölj begränsningar - + Rename Döp om - + Center sketch Centrera skiss - + Delete Radera - + Swap constraint names Kasta om namn på begränsningar - + Unnamed constraint Namnlös begränsning - + Only the names of named constraints can be swapped. Bara namnen hos namngivna begränsningar kan kastas om. @@ -3447,74 +3570,74 @@ Accepterade kombinationer: två kurvor; en slutpunkt och en kurva; två slutpunk SketcherGui::EditDatumDialog - + Insert angle Infoga vinkel - + Angle: Vinkel: - + Insert radius Infoga radie - + Radius: Radie: - + Insert diameter Infoga diameter - + Diameter: Diameter: - + Insert weight Infoga vikt - + Weight: Vikt: - + Refractive index ratio Constraint_SnellsLaw Brytningsindexsförhållande - + Ratio n2/n1: Constraint_SnellsLaw Förhållande n2/n1: - + Insert length Infoga längd - + Length: Längd: - + Refractive index ratio Brytningsindexsförhållande - + Ratio n2/n1: Förhållande n2/n1: @@ -3522,72 +3645,72 @@ Accepterade kombinationer: två kurvor; en slutpunkt och en kurva; två slutpunk SketcherGui::ElementFilterList - + Normal Normal - + Construction Konstruktion - + Internal Internal - + External External - + All types - All types + Alla typer - + Point Punkt - + Line Linje - + Circle Cirkel - + Ellipse Ellips - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3595,142 +3718,142 @@ Accepterade kombinationer: två kurvor; en slutpunkt och en kurva; två slutpunk SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Punkt på objekt - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Symmetrisk - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance Horisontellt avstånd - + Vertical Distance Vertikalt avstånd - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Växla konstruktionsgeometri - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer - Layer + Lager - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Dold - + Delete Radera @@ -4016,6 +4139,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Meddela vid automatisk ersättning av begränsningar + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Båda + + + + Auto + Automatisk + + + + Diameter + Diameter + + + + Radius + Radie + SketcherGui::SketcherSettingsColors @@ -4461,12 +4653,12 @@ Then objects are only visible behind the sketch plane. Tillämpa på existerande skisser - + Unexpected C++ exception Oväntat C++-undantag - + Sketcher Skissare @@ -4639,48 +4831,48 @@ Inga begränsningar länkade till slutpunkterna hittades däremot. Inställningar - + Constraints Begränsningar - + Auto constraints Auto begränsningar - + Auto remove redundants Ta bort överflödiga automatiskt - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error Fel - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4712,6 +4904,33 @@ Inga begränsningar länkade till slutpunkterna hittades däremot. Settings Inställningar + + + + + + + + + + + + Construction + Konstruktion + + + + Elements + Element + + + + + + + Point + Punkt + @@ -4723,110 +4942,83 @@ Inga begränsningar länkade till slutpunkterna hittades däremot. - Construction - Konstruktion - - - - Elements - Element - - - - - - - Point - Punkt - - - - - - - - - - - - Internal Internal - - + + + - Line Linje - - + + + - Arc Cirkelbåge - - + + + - Circle Cirkel - - + + + - Ellipse Ellips - - + + + - Elliptical Arc Elliptisk båge - - + + + - Hyperbolic Arc Hyperbolisk båge - - + + + - Parabolic Arc Parabolisk båge - - + + + - BSpline BSpline - - + + + - Other Övrigt - + Extended information Utökad information @@ -4834,42 +5026,42 @@ Inga begränsningar länkade till slutpunkterna hittades däremot. SketcherGui::TaskSketcherMessages - + Solver messages Problemlösarmeddelanden - + Auto update Uppdatera automatiskt - + Executes a recomputation of active document after every sketch action Genomför en omberäkning av det aktiva dokumentet efter varje skisshandling - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5047,112 +5239,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Redigera skiss - + A dialog is already open in the task panel En dialogruta är redan öppen i uppgiftspanelen - + Do you want to close this dialog? Vill du stänga denna dialogruta? - + Invalid sketch Ogiltig skiss - + Do you want to open the sketch validation tool? Vill du öppna verktyget för skissvalidering? - + The sketch is invalid and cannot be edited. Skissen är ogiltig och kan inte redigeras. - + Please remove the following constraint: Ta bort följande begränsning: - + Please remove at least one of the following constraints: Ta bort minst en av följande begränsningar: - + Please remove the following redundant constraint: Ta bort följande redundanta begränsningen: - + Please remove the following redundant constraints: Ta bort följande redundanta begränsningarna: - + The following constraint is partially redundant: The following constraint is partially redundant: - + The following constraints are partially redundant: The following constraints are partially redundant: - + Please remove the following malformed constraint: Please remove the following malformed constraint: - + Please remove the following malformed constraints: Please remove the following malformed constraints: - + Empty sketch Tom skiss - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Redundant constraints: - + Partially redundant: Partially redundant: - + Solver failed to converge Solver failed to converge - + Under constrained: Under constrained: - + %n DoF(s) %n DoF(s) @@ -5160,7 +5352,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Fullständigt begränsad @@ -5168,8 +5360,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Växlar mellan att visa och dölja böjningskammen för alla B-splines @@ -5177,8 +5369,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Minskar multipliciteten på den markerade knuten i en B-spline @@ -5186,8 +5378,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Växlar mellan att visa och dölja gradtalet för alla B-splines @@ -5195,8 +5387,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Ökar multipliciteten på den valda knuten i en B-spline @@ -5204,8 +5396,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Växlar mellan att visa och dölja knutmultipliciteten för alla B-splines @@ -5213,8 +5405,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -5222,8 +5414,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Växlar mellan att visa och dölja kontrollpolygonerna för alla B-splines @@ -5231,8 +5423,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Skapar en klon av geometrin med den senaste valda punkten som referens @@ -5240,17 +5432,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Klon - + Copy Kopiera - + Move Flytta @@ -5258,8 +5450,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fixera diametern av en cirkel eller en båge @@ -5267,7 +5459,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5275,8 +5467,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fixera cirkelns eller cirkelbågens radie @@ -5284,7 +5476,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5292,8 +5484,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Skapar en enkel kopia av geometrin med den senaste valda punkten som referens @@ -5512,64 +5704,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Ingen skiss hittades - + The document doesn't have a sketch Dokumentet innehåller inte någon skiss - + Select sketch Välj skiss - + Select a sketch from the list Välj en skiss från listan - + (incompatible with selection) (inkompatibel med markering) - + (current) (nuvarande) - + (suggested) (föreslagen) - + Sketch attachment Skisskoppling - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. - + Select the method to attach this sketch to selected objects. Välj metod för att koppla den här skissen till valda objekt. - + Map sketch Kartera skiss - + Can't map a sketch to support: %1 Kan inte kartera en skiss till stöd: @@ -5579,8 +5771,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Flyttar geometrin med den senast valda punkten som referens @@ -5588,12 +5780,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Skisskoppling - + Select the method to attach this sketch to selected object Välj metod för att koppla den här skissen till markerat objekt @@ -5601,12 +5793,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Skissen har stöd - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? En skiss med en stödyta kan inte riktas om. @@ -5615,11 +5807,6 @@ Vill du ta bort den från stödytan? TaskSketcherMessages - - - Form - Form - DOF @@ -5638,11 +5825,6 @@ Vill du ta bort den från stödytan? TaskSketcherSolverAdvanced - - - Form - Form - Default algorithm used for Sketch solving @@ -5915,7 +6097,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more and %1 more @@ -6105,22 +6287,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6128,87 +6310,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Fel - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6250,8 +6432,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6348,9 +6530,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error Value Error @@ -6386,58 +6568,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - Konstruktionsgeometri + Normal Geometry + Normal Geometry + Construction Geometry + Konstruktionsgeometri + + + + + External Geometry External Geometry @@ -6458,12 +6640,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6471,12 +6653,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6507,4 +6689,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Dimension + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_tr.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_tr.ts index 283dabe08d..2892acdbba 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_tr.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_tr.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb B-serbest eğri eğrilik tarağını Göster/Gizle - + Switches between showing and hiding the curvature comb for all B-splines Tüm B-spline'lar için eğrilik tarağını gösterme ve gizleme arasında geçiş yapar @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree B-spline derecesini göster/gizle - + Switches between showing and hiding the degree for all B-splines Tüm B-spline derecelerini gösterme ve gizleme arasında geçiş yapar @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity B-spline düğüm çeşitliliğini göster/gizle - + Switches between showing and hiding the knot multiplicity for all B-splines Tüm B-spline'lar için düğüm çokluğunu gösterme ve gizleme arasında geçiş yapar @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight B-spline kontrol noktası kalınlığını göster/gizle - + Switches between showing and hiding the control point weight for all B-splines Tüm B-spline'lar için kontrol noktası kalınlığını gösterme ve gizleme arasında geçiş yapar @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon B-spline kontrol çokgenini göster/gizle - + Switches between showing and hiding the control polygons for all B-splines Tüm B-kamaları için kontrol çokgenlerini gösterme ve gizleme arasında geçiş yapar @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Son seçilen noktayı referans alarak geometriye ait bir klon oluşturur @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer B-spline bilgi katmanı göster / gizle - + Show/hide B-spline degree B-spline derecesini göster/gizle - + Show/hide B-spline control polygon B-spline kontrol çokgenini göster/gizle - + Show/hide B-spline curvature comb B-serbest eğri eğrilik tarağını Göster/Gizle - + Show/hide B-spline knot multiplicity B-spline düğüm çeşitliliğini göster/gizle - + Show/hide B-spline control point weight B-spline kontrol noktası kalınlığını göster/gizle @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Yay ya da çemberi kısıtla - + Constrain an arc or a circle Bir yayı ya da bir çemberi kısıtla - + Constrain radius Yarıçapı sınırla - + Constrain diameter Çapı sınırla - + Constrain auto radius/diameter Yarı çapı/çapı otomatik kısıtla @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Klon - + Creates a clone of the geometry taking as reference the last selected point Son seçilen noktayı referans alarak geometriye ait bir klon oluşturur @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Düğüm çokluğunu değiştir - + Modifies the multiplicity of the selected knot of a B-spline Seçilen bir B-spline düğümünün çarpımını değiştirir - + Increase knot multiplicity Düğüm çokluluğunu arttır - + Decrease knot multiplicity Düğüm çokluluğunu azalt @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Açı sınırlandır - + Fix the angle of a line or the angle between two lines Bir çizginin açısını veya iki çizgi arasındaki açıyı düzeltin @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Kısıtlamayı Engelle - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Çakıştır - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Çapı sınırla - + Fix the diameter of a circle or an arc Bir çemberin veya bir yayın yarıçapını düzelt @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Mesafeyi sınırla - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Constrain horizontal distance - + Fix the horizontal distance between two points or line ends İki nokta veya çizgi uçları arasındaki yatay mesafeyi sabitleyin @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Dikey mesafeyi kısıtla - + Fix the vertical distance between two points or line ends İki nokta veya çizgi ucu arasındaki dikey mesafeyi düzeltin @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Eşitle - + Create an equality constraint between two lines or between circles and arcs İki çizginin veya dairelerin ve yayların değerlerini eşitleyin (kısıtlaması oluşturun) @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Yatay yap - + Create a horizontal constraint on the selected item Seçili öğede yatay bir sınırlama oluşturur @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Kısıtlama kilidi - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Paralel yap - + Create a parallel constraint between two lines İki çizgi arasında paralel kısıtlama oluşturun @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Dikey yap - + Create a perpendicular constraint between two lines İki çizgi arasında dikey bir kısıtlama oluşturun @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Noktayı nesneye çakıştır - + Fix a point onto an object Teğetsel kısıtlama oluştur @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Yarı çapı/çapı otomatik kısıtla - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Yarıçapı veya ağırlığı sınırlayın - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Bir çemberin veya bir yayın yarıçapını düzeltin veya bir B-Spline'ın bir ucunun kalınlığını sabitleyin @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Simetrik kısıtlama - + Create a symmetry constraint between two points with respect to a line or a third point Bir çizgi veya üçüncü bir noktaya göre, iki nokta arasında simetri sınırlaması oluştur @@ -614,12 +614,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Teğet yap - + Create a tangent constraint between two entities İki öğe arasında teğetsel kısıtlama oluşturun @@ -627,12 +627,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Dikey yap - + Create a vertical constraint on the selected item Seçilen öğeye dikey kısıtlama oluşturun @@ -640,12 +640,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Geometriyi B-spline'a dönüştür - + Converts the selected geometry to a B-spline Seçili geometriyi bir B-spline'a dönüştürür @@ -653,12 +653,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Kopyala - + Creates a simple copy of the geometry taking as reference the last selected point Son seçilen noktayı referans alarak geometrinin basit bir kopyasını oluşturur @@ -1017,12 +1017,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree B-spline derecesini azaltın - + Decreases the degree of the B-spline B-spline'ın derecesini azaltır @@ -1030,12 +1030,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Düğüm çokluluğunu azalt - + Decreases the multiplicity of the selected knot of a B-spline Seçilen bir B-spline düğümünün çokluğunu azaltır @@ -1043,12 +1043,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Tüm Kısıtlamaları Sil - + Delete all constraints in the sketch Eskizdeki Tüm Kısıtlamaları Silin @@ -1056,12 +1056,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Tüm geometriyi sil - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Harici geometri dışında, geçerli eskizdeki tüm geometri ve kısıtlamaları sil @@ -1069,12 +1069,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Taslağı düzenle - + Edit the selected sketch. Seçili eskizi düzenleyin. @@ -1108,12 +1108,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree B-spline derecesini artırın - + Increases the degree of the B-spline B-spline derecesini arttırır @@ -1121,12 +1121,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Düğüm çokluluğunu arttır - + Increases the multiplicity of the selected knot of a B-spline Seçilen bir B-spline düğümünün çoğaltılmasını arttırır @@ -1134,12 +1134,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Düğüm ekle - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1147,12 +1147,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1160,12 +1160,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Eskizden çık - + Finish editing the active sketch. Etkin eskizi düzenlemeyi bitirin. @@ -1173,12 +1173,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Eskizi yüzeye taşı... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1186,7 +1186,7 @@ then call this command, then choose the desired sketch. Önce destek olacak geometriyi seçin, örneğin katı bir nesnenin bir yüzü veya kenarı, sonra bu komutu çağırın, daha sonra istenen taslağı seçin. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Seçilen nesnelerden bazıları eşleştirilecek taslağa bağlı. Dairesel bağımlılıklara izin verilmiyor. @@ -1194,22 +1194,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Eskizleri birleştir - + Create a new sketch from merging two or more selected sketches. Seçilen iki veya daha fazla taslağın birleşiminden yeni bir taslak oluşturun. - + Wrong selection Yanlış seçim - + Select at least two sketches. En az iki eskiz seçin. @@ -1217,24 +1217,24 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Eskizi Aynala - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. Aynalama kaynağı olarak X veya Y eksenlerini ya da orijin noktasını kullanarak, seçilen her taslak için yeni bir aynalanmış taslak oluşturun. - + Wrong selection Yanlış seçim - + Select one or more sketches. Bir veya daha fazla eskiz seçin. @@ -1242,12 +1242,12 @@ as mirroring reference. CmdSketcherMove - + Move Taşı - + Moves the geometry taking as reference the last selected point Son seçilen noktayı referans alarak geometriyi hareket ettirir @@ -1255,12 +1255,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Eskiz oluştur - + Create a new sketch. Yeni bir eskiz oluşturun. @@ -1268,12 +1268,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Dikdörtgenel dizi - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Son seçilen noktayı referans alarak geometriye dikdörtgen şeklinde bir desen oluşturur @@ -1281,12 +1281,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Eksenler hizalamasını kaldır - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Seçimin kısıtlama ilişkisini korumaya çalışırken, eksenler hizalamasını kaldırmak için kısıtlamaları değiştirir @@ -1294,12 +1294,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Eskizi yeniden yönlendir... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Seçilen taslağı küresel koordinat düzlemlerinin biri üzerine yerleştir. @@ -1309,12 +1309,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry İç geometriyi göster / gizle - + Show all internal geometry or hide unused internal geometry Tüm dahili geometriyi gösterin veya kullanılmayan dahili geometriyi gizleyin @@ -1322,8 +1322,8 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Çakışan kısıtlamaları seçin @@ -1331,12 +1331,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectConstraints - + Select associated constraints İlişkili kısıtlamaları seçin - + Select the constraints associated with the selected geometrical elements Seçili geometrik öğelerle ilişkili sınırlamaları seçin @@ -1344,12 +1344,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry İlişkili geometri seçin - + Select the geometrical elements associated with the selected constraints Seçili sınırlamalarla ilişkili geometrik öğeleri seçin @@ -1357,12 +1357,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Kısıtlamasız DoF seçin - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Çözücünün hala sınırlandırılmamış serbestlik derecelerini algıladığı geometrik öğeleri seçin. @@ -1370,12 +1370,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Yatay ekseni seçin - + Select the local horizontal axis of the sketch Eskizin yerel yatay eksenini seçin @@ -1383,8 +1383,8 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Yanlış biçimlendirilmiş kısıtlamaları seçin @@ -1392,12 +1392,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectOrigin - + Select origin Orijin seçin - + Select the local origin point of the sketch Eskizin yerel orijin (başlangıç) noktasını seçin @@ -1405,8 +1405,8 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Kısmen gereksiz kısıtlamaları seçin @@ -1414,8 +1414,8 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Gereksiz kısıtlamaları seçin @@ -1423,12 +1423,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSelectVerticalAxis - + Select vertical axis Dikey ekseni seçin - + Select the local vertical axis of the sketch Eskizin yerel dikey eksenini seçin @@ -1449,12 +1449,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherStopOperation - + Stop operation Eylemi durdur - + When in edit mode, stop the active operation (drawing, constraining, etc.). Düzenleme modundayken, etkin işlemi durdurun (çizim, sınırlama vb.). @@ -1475,12 +1475,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherSymmetry - + Symmetry Simetri - + Creates symmetric geometry with respect to the last selected line or point Son seçilen çizgi veya noktaya göre simetrik geometri oluşturur @@ -1488,12 +1488,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Kısıtlamayı etkinleştir / devre dışı bırak - + Activates or deactivates the selected constraints Seçili kısıtlamaları etkinleştirir veya devre dışı bırakır @@ -1514,12 +1514,12 @@ Bu, eğer varsa, 'Destek' özelliğini temizler. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Sevk / referans kısıtlamasını değiştir - + Set the toolbar, or the selected constraints, into driving or reference mode Araç çubuğunu veya seçili kısıtlamaları, @@ -1542,24 +1542,24 @@ sevk veya referans moduna ayarlayın CmdSketcherValidateSketch - + Validate sketch... Eskizi doğrula... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. - Eksik çakışmalara, geçersiz kısıtlamalara, + Eksik çakışmalara, geçersiz kısıtlamalara, bozulmuş geometriye vb. bakarak bir eskizi doğrulayın. - + Wrong selection Yanlış seçim - + Select only one sketch. Yalnızca bir eskiz seçin. @@ -1567,12 +1567,12 @@ bozulmuş geometriye vb. bakarak bir eskizi doğrulayın. CmdSketcherViewSection - + View section Seçimi Görüntüle - + When in edit mode, switch between section view and full view. Düzenleme modundayken, kesit görünümü ile tam görünüm arasında geçiş yapın. @@ -1580,12 +1580,12 @@ bozulmuş geometriye vb. bakarak bir eskizi doğrulayın. CmdSketcherViewSketch - + View sketch Eskizi göster - + When in edit mode, set the camera orientation perpendicular to the sketch plane. Düzenleme modundayken, kamera yönünü eskiz düzlemine dik olarak ayarlayın. @@ -1593,287 +1593,404 @@ bozulmuş geometriye vb. bakarak bir eskizi doğrulayın. Command - - + + Add horizontal constraint Yataylık sınırlaması ekle - - - + + + Add horizontal alignment Yatay hizalama ekle - - + + Add vertical constraint Dikeylik sınırlaması ekle - + Add vertical alignment Dikey hizalama ekle - + Add 'Lock' constraint 'Kilitleme' sınırlaması ekle - + Add relative 'Lock' constraint Bağıl 'Kilitleme' sınırlaması ekle - + Add fixed constraint Sabitleme sınırlaması ekle - + Add 'Block' constraint 'Blok' kısıtlaması ekle - + Add block constraint Blok kısıtlaması ekle - - - + + + Add coincident constraint Çakışıklık sınırlaması ekle - - + + Add distance from horizontal axis constraint Yatay eksen sınırlamasından mesafe ekle - - + + Add distance from vertical axis constraint Dikey eksen sınırlamasından mesafe ekle - - + + Add point to point distance constraint 'Noktadan noktaya mesafe' sınırlaması ekle - - + + + Add point to line Distance constraint 'Noktadan çizgiye mesafe' sınırlaması ekle - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint Uzunluk sınırlaması ekle - - + + + Dimension + Boyut + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint 'Nesne üzerindeki bir nokta' sınırlaması ekle - - + + Add point to point horizontal distance constraint 'Noktadan noktaya yatay mesafe' sınırlaması ekle - + Add fixed x-coordinate constraint Sabit x koordinatı sınırlaması ekle - - + + Add point to point vertical distance constraint 'Noktadan noktaya dikey mesafe' sınırlaması ekle - + Add fixed y-coordinate constraint Sabit y koordinatı sınırlaması ekle - - + + Add parallel constraint Paralellik sınırlaması ekle - - - - - - - + + + + + + + Add perpendicular constraint Diklik sınırlaması ekle - + Add perpendicularity constraint Diklik kısıtlaması ekle - + Swap coincident+tangency with ptp tangency Çakışıklık+teğetliği noktadan noktaya teğetlik ile değiştir - + Swap PointOnObject+tangency with point to curve tangency NesneÜzerindeNokta+teğetlik işlevini eğri teğetliğine nokta işlevi ile değiştir - - - - - - - + + + + + + + Add tangent constraint Teğetlik sınırlaması ekle - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Teğetlik sınırlama noktası ekle - - - - + + + + Add radius constraint Yarıçap sınırlaması ekle - - - - + + + + Add diameter constraint Çap sınırlaması ekle - - - - + + + + Add radiam constraint Yarıçap kısıtlaması ekle - - - - - - + + + + + + Add angle constraint Açı sınırlaması ekle - - + + Add equality constraint Eşitlik sınırlaması ekle - - - - - + + + + + Add symmetric constraint Simetriklik sınırlaması ekle - + Add Snell's law constraint 'Snell kanunu' sınırlaması ekle - + Toggle constraint to driving/reference Kısıtlamayı sevk/referans olarak değiştir - + Activate/Deactivate constraint Kısıtlamayı etkinleştir / devre dışı bırak - + Create a new sketch on a face Yüzeyde yeni bir eskiz oluşturun - + Create a new sketch Yeni bir taslak oluştur - + Reorient sketch Eskizi yeniden yönlendir - + Attach sketch Eskiz ekleyin - + Detach sketch Eskizi ayır - + Create a mirrored sketch for each selected sketch Seçilen her eskiz için aynalanmış bir eskiz oluşturun - + Merge sketches Eskizleri birleştir @@ -1991,72 +2108,72 @@ bozulmuş geometriye vb. bakarak bir eskizi doğrulayın. Altıgen ekle - + Convert to NURBS NURBS biçimine dönüştür - + Increase spline degree Eğri derecesini artır - + Decrease spline degree Eğri derecesini azalt - + Increase knot multiplicity Düğüm çokluluğunu arttır - + Decrease knot multiplicity Düğüm çokluluğunu azalt - + Insert knot Düğüm ekle - + Join Curves Join Curves - + Exposing Internal Geometry Dahili Geometriyi Açığa Çıkart - + Create symmetric geometry Simetrik geometri oluşturun - + Copy/clone/move geometry Geometriyi kopyala/klonla/taşı - + Create copy of geometry Geometrinin kopyasını oluştur - + Delete all geometry Tüm geometriyi sil - + Delete All Constraints Tüm Kısıtlamaları Sil - + Remove Axes Alignment Eksen Hizalamayı Kaldır @@ -2067,44 +2184,44 @@ bozulmuş geometriye vb. bakarak bir eskizi doğrulayın. - - - + + + Update constraint's virtual space Kısıtlamanın sanal alanını güncelleyin - + Add auto constraints Otomatik kısıtlamalar ekleyin - + Swap constraint names Kısıtlama adlarını değiştirin - + Rename sketch constraint Eskiz kısıtlamasını yeniden adlandır - + Drag Point Noktayı Sürükle - + Drag Curve Eğriyi Sürükle - + Drag Constraint Kısıtlamayı Sürükle - + Modify sketch constraints Eskiz kısıtlamalarını değiştirin @@ -2165,59 +2282,59 @@ bozulmuş geometriye vb. bakarak bir eskizi doğrulayın. Otomatik kısıtlama hatası: Eşitlik kısıtlamaları uygulandıktan sonra eskiz çözülemez. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Eğrilerin kesişimini tahmin edemiyoruz. Dilimlemeyi planladığınız eğrilerin köşeleri arasında çakışan bir kısıtlama eklemeyi deneyin. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline Geometri Dizini (GeoID) sınırların dışında. - + You are requesting no change in knot multiplicity. Düğüm çokluğunda herhangi bir değişiklik istemiyorsunuz. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Sağlanan Geometri Dizini (GeoId) bir B-spline eğrisi değil. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Düğüm endeksi sınırların dışındadır. OCC gösterimine göre, ilk düğümün indeks 1'i olduğunu ve sıfır olmadığını unutmayın. - + The multiplicity cannot be increased beyond the degree of the B-spline. Çeşitlilik, B-spline'nın derecesinin ötesinde artırılamaz. - + The multiplicity cannot be decreased beyond zero. Çokluk sıfırdan aşağıya düşürülemez. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC, maksimum tolerans dahilinde çokluğu azaltamıyor. - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2233,210 +2350,213 @@ bozulmuş geometriye vb. bakarak bir eskizi doğrulayın. QObject - - - - + + + + Sketcher Taslakçı - + There are no modes that accept the selected set of subelements Seçilen alt öğe kümesini kabul eden hiçbir mod yoktur - + Broken link to support subelements Kırık bağlantı desteği alt elemanlara için - - + + Unexpected error Beklenmeyen hata - + Face is non-planar Yüz düzlemsel değil - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Seçilen şekiller yanlış formdadır (örn., Düz bir çizgiye ihtiyaç duyulan kavisli bir kenar) - + Sketch mapping Eskiz haritalama - + Can't map the sketch to selected object. %1. Eşleyemezsiniz krokisini için seçilen nesnenin. %1. - - + + Don't attach İliştirilmez + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Yanlış seçim @@ -2447,339 +2567,339 @@ bozulmuş geometriye vb. bakarak bir eskizi doğrulayın. Eskiden kenarları / kenarları seçin. - + Not allowed to edit the datum because the sketch contains conflicting constraints Eskizden çelişkili kısıtlamalar içerdiğinden, verinin düzenlenmesine izin verilmez - + Dimensional constraint Boyutsal kısıtlama - + Cannot add a constraint between two external geometries. İki harici geometri arasına bir sınırlama eklenemez. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Sketcher Kısıtlaması Değişimi - + Keep notifying me of constraint substitutions Kısıtlama yer değişikliklerinde beni uyarmaya devam et - - - + + + Only sketch and its support are allowed to be selected. Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. One of the selected has to be on the sketch. - - + + Select an edge from the sketch. Taslaktan bir kenar seç - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint İmkansız kısıt - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint Çift kısıtlama - - - - - + + + + + The selected edge already has a horizontal constraint! Seçilen kenar zaten yatay bir kısıtlamaya sahip! - - - + + + The selected edge already has a vertical constraint! Seçilen kenar zaten dikey bir kısıtlamaya sahip! - - - - - - + + + + + + The selected edge already has a Block constraint! Seçilen kenarın zaten bir Blok kısıtlaması var! - + The selected item(s) can't accept a horizontal constraint! Seçilen öğeler yatay bir sınırlamayı kabul edemez! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Seçilen birden fazla sabit nokta vardır. En fazla bir tane sabit nokta seçin! - + The selected item(s) can't accept a vertical constraint! Seçilen öğeler dikey kısıtlamayı kabul edemez! - - - + + + Select vertices from the sketch. Eskiden krokileri seçin. - + Select one vertex from the sketch other than the origin. Köşeden başka bir taslaktan bir köşe seçin. - + Select only vertices from the sketch. The last selected vertex may be the origin. Eskiden sadece köşeleri seçin. Son seçilen köşe orijin olabili. - + Wrong solver status Yanlış çözücü durumu - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Çizim çözülmediyse veya gereksiz ve çelişen kısıtlamalar varsa bir Blok kısıtlaması eklenemez. - + Select one edge from the sketch. Eskizden bir kenar seçin. - + Select only edges from the sketch. Eskizden sadece kenarları seçin. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error Hata - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. Bunun yerine, uç noktalar arasında teğetsel bir kısıtlama uygulandı. - + Select two or more points from the sketch. Eskiden iki veya daha fazla nokta seçin. - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Çizimden tam olarak bir çizgi veya bir nokta ve bir çizgi veya iki nokta seçin. - + Cannot add a length constraint on an axis! Bir eksende bir uzunluk sınırlaması eklenemiyor! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Bunun yerine, kenar teğetliğine bitiş noktası uygulandı. - - - - - - - + + + + + + + Select the right things from the sketch. Eskiden eskizlerden birini seçin. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Seçilen noktaların hiçbiri, aynı elemanın parçaları oldukları, her ikisi de harici geometri oldukları için veya kenar uygun olmadığı için ilgili eğrilerle sınırlandırılmadı. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Seçilen noktalardan hiçbiri ilgili eğrilere aynı elemanın parçaları olduğu için ya da ikisi de harici geometri olduğu için kısıtlanmış değildi. - - - - + + + + Select exactly one line or up to two points from the sketch. Çizimden tam olarak bir çizgi veya en fazla iki nokta seçin. - + Cannot add a horizontal length constraint on an axis! Bir eksene yatay uzunluk kısıtlaması eklenemez! - + Cannot add a fixed x-coordinate constraint on the origin point! Orijin noktasına sabit bir x-koordinat kısıtlaması eklenemiyor! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! Bir eksene dikey uzunluk kısıtı eklenemiyor! - + Cannot add a fixed y-coordinate constraint on the origin point! Orijin noktasına sabit bir y-koordinat kısıtlaması eklenemiyor! - + Select two or more lines from the sketch. Eskizden iki veya daha fazla çizgi seçin. - - + + Select at least two lines from the sketch. Çizimden en az iki satır seçin. - + Select a valid line. Geçerli bir çizgi seçin. - - + + The selected edge is not a valid line. Seçilen kenar geçerli bir çizgi değil. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2789,42 +2909,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Kabul edilen kombinasyonlar: iki eğri; bir son nokta ve bir eğri; iki uç nokta; iki eğri ve bir nokta. - + Select some geometry from the sketch. perpendicular constraint Eskizden bazı geometriyi seçin. - - + + Cannot add a perpendicularity constraint at an unconnected point! Bağlantısız bir noktaya diklik kısıtı eklenemiyor! - - - + + + Perpendicular to B-spline edge currently unsupported. B-spline kenarına dikey şu anda desteklenmiyor. - - + + One of the selected edges should be a line. Seçilen kenarlardan bir tanesi bir çizgi olmalıdır. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Uç noktalar arasında teğetsel bir kısıtlama uygulandı. Çakışık kısıtlama silindi. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Kenar teğetliğine bitiş noktası uygulandı. 'Nesne üzerinde nokta' kısıtlaması silindi. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2834,179 +2954,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Kabul edilen kombinasyonlar: iki eğri; bir son nokta ve bir eğri; iki uç nokta; iki eğri ve bir nokta. - + Select some geometry from the sketch. tangent constraint Eskizden bazı geometriyi seçin. - - - + + + Cannot add a tangency constraint at an unconnected point! Bağlantısız bir noktaya bir teğet sınırlaması eklenemiyor! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! Seçilen nesnelerin sayısı yanlış! - - + + With 3 objects, there must be 2 curves and 1 point. 3 nesneyle 2 eğri ve 1 nokta olmalıdır. - - - + + + Tangency to B-spline edge currently unsupported. Şu anda desteklenmeyen B-spline kenarlığı için teğet. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Eskizden bir veya daha fazla yay veya daire seçin. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Yalnızca bir veya daha fazla B-Spline kutbu veya eskizden yalnızca bir veya daha fazla yay veya daire seçin, ancak karıştırmayın. - - - + + + Constraint only applies to arcs or circles. Kısıtlama yalnızca yaylar veya daireler için geçerlidir. - - + + Select one or two lines from the sketch. Or select two edges and a point. Çizimden bir veya iki çizgi seçin. Ya da iki kenar ve bir nokta seçin. - - + + Parallel lines Paralel çizgiler - - + + An angle constraint cannot be set for two parallel lines. İki paralel çizgi için açı sınırlaması ayarlanamaz. - + Cannot add an angle constraint on an axis! Bir eksene açı sınırlaması eklenemiyor! - + Select two edges from the sketch. Eskizden iki kenar seçin. - + Select two or more compatible edges. İki veya daha fazla uyumlu kenar seçin. - + Sketch axes cannot be used in equality constraints. Eskiz ekseni eşitlik kısıtlamalarında kullanılamaz. - + Equality for B-spline edge currently unsupported. B-spline kenarı için eşitlik şu anda desteklenmiyor. - - - + + + + Select two or more edges of similar type. Benzer tipte iki veya daha fazla kenar seçin. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Eskizden iki nokta ve bir simetri çizgisi, iki nokta ve bir simetri noktası veya bir çizgi ve bir simetri noktası seçin. - - + + Cannot add a symmetry constraint between a line and its end points. Bir çizgi ve uç noktaları arasına simetrik kısıtlama eklenemez. - - + + + + Cannot add a symmetry constraint between a line and its end points! Bir çizgi ile bitiş noktaları arasında bir simetri kısıtı eklenemez! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Işınlar olarak işlev görecek iki çizgi uç noktası ve bir sınırı temsil eden bir kenar seçin. İlk seçilen nokta indeks n1'e, ikincisi n2'ye karşılık gelir ve sıfır değeri n2 / n1 oranını ayarlar. - + Selected objects are not just geometry from one sketch. Seçilen nesneler sadece bir taslaktaki geometri değildir. - + Cannot create constraint with external geometry only. Sadece dış geometri ile kısıtlama oluşturulamaz. - + Incompatible geometry is selected. Uyumsuz geometri seçildi. - + SnellsLaw on B-spline edge is currently unsupported. B-serbest eğri kenarı üzerinde Snell Kanunu şu an desteklenmiyor. - - - - - + + + + + Select constraints from the sketch. Eskizden sınırlamaları seçin. @@ -3028,155 +3151,155 @@ Kabul edilen kombinasyonlar: iki eğri; bir son nokta ve bir eğri; iki uç nokt Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error CAD Çekirdek Hatası - + None of the selected elements is an edge. Seçilen öğelerden hiçbiri kenar değildir. - - + + At least one of the selected objects was not a B-Spline and was ignored. Seçilen nesnelerden en az biri, bir B-Spline değildi ve göz ardı edildi. - - + + The selection comprises more than one item. Please select just one knot. Seçim birden fazla öğe içerir. Lütfen sadece bir düğüm seçin. - - + + Input Error Giriş hatası - - + + None of the selected elements is a knot of a B-spline Hiçbiri seçilmiş unsurları a, düğüm a, B-spline - - + + Selection is empty Seçim boş - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Tek bir eskizden elemanlar seçin. - + No constraint selected Kısıtlama seçilmedi - + At least one constraint must be selected En az bir kısıtlama seçilmelidir - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Simetrik bir yapı, en azından iki geometrik elemana ihtiyaç duyar, son geometrik eleman simetri yapımında referans olur. - + The last element must be a point or a line serving as reference for the symmetry construction. Son öğe simetri yapımında referans olacak bir nokta veya bir çizgi olmalıdır. - - + + A copy requires at least one selected non-external geometric element Bir kopya, seçilen en az bir dış dış geometrik eleman gerektirir - + Delete All Geometry Tüm Geometriyi Sil - + Are you really sure you want to delete all geometry and constraints? Tüm geometriyi ve kısıtlamaları silmek istediğinizden gerçekten emin misiniz? - + Delete All Constraints Tüm Kısıtlamaları Sil - + Are you really sure you want to delete all the constraints? Bütün kısıtlamaları silmek istediğinden emin misin? - + Removal of axes alignment requires at least one selected non-external geometric element Eksenleri hizalamayı kaldırma için en az bir seçili iç geometrik eleman gerekir - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3375,67 +3498,67 @@ Kabul edilen kombinasyonlar: iki eğri; bir son nokta ve bir eğri; iki uç nokt SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value Değeri değiştir - + Toggle to/from reference Referansa / dan geçiş yapma - + Deactivate Devre dışı bırak - + Activate Etkinleştir - + Show constraints Kısıtlamaları Göster - + Hide constraints Kısıtlamaları Gizle - + Rename Yeniden Adlandır - + Center sketch Merkez eskiz - + Delete Sil - + Swap constraint names Kısıtlama adlarını değiştirin - + Unnamed constraint Adsız kısıtlama - + Only the names of named constraints can be swapped. Yalnızca adlandırılmış kısıtlamaların adları değiştirilebilir. @@ -3443,74 +3566,74 @@ Kabul edilen kombinasyonlar: iki eğri; bir son nokta ve bir eğri; iki uç nokt SketcherGui::EditDatumDialog - + Insert angle Ekleme açısı - + Angle: Açı: - + Insert radius Çap ekle - + Radius: Yarıçap: - + Insert diameter Çap Ekle - + Diameter: Çap: - + Insert weight Ağırlık ekle - + Weight: Ağırlık: - + Refractive index ratio Constraint_SnellsLaw Refraktif indeks oranı - + Ratio n2/n1: Constraint_SnellsLaw Oran n2/n1: - + Insert length Uzunluk ekle - + Length: Uzunluk: - + Refractive index ratio Refraktif indeks oranı - + Ratio n2/n1: Oran n2/n1: @@ -3518,72 +3641,72 @@ Kabul edilen kombinasyonlar: iki eğri; bir son nokta ve bir eğri; iki uç nokt SketcherGui::ElementFilterList - + Normal Olağan - + Construction İnşa - + Internal Internal - + External Dış - + All types All types - + Point Nokta - + Line Çizgi - + Circle Daire - + Ellipse Elips - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3591,142 +3714,142 @@ Kabul edilen kombinasyonlar: iki eğri; bir son nokta ve bir eğri; iki uç nokt SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Nesne Üzerinde Nokta - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Simetrik - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance Yatay Mesafe - + Vertical Distance Dikey Mesafe - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Yapı geometrisini aç/kapat - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Layer - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Gizli - + Delete Sil @@ -4008,6 +4131,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Otomatik kısıtlama değişimlerini bildir + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + İkisi + + + + Auto + Otomatik + + + + Diameter + Çap + + + + Radius + Yarıçap + SketcherGui::SketcherSettingsColors @@ -4453,12 +4645,12 @@ O zaman nesneler sadece eskiz düzleminin arkasında görünür. Mevcut eskizlere uygula - + Unexpected C++ exception Beklenmedik C ++ özel durumu - + Sketcher Taslakçı @@ -4531,7 +4723,7 @@ Bitiş noktalarını yeniden atamak için "Kısıtlamalardaki uç noktaları de %1 reversed external-geometry arcs were found. Their endpoints are encircled in 3d view. However, no constraints linking to the endpoints were found. - %1 ters çevrilmiş dış geometri yayı bulundu. Uç noktaları 3 boyutlu görünümde çevrilidir. + %1 ters çevrilmiş dış geometri yayı bulundu. Uç noktaları 3 boyutlu görünümde çevrilidir. Ancak, uç noktalara bağlanan hiçbir kısıtlama bulunamadı. @@ -4631,48 +4823,48 @@ Ancak, uç noktalara bağlanan hiçbir kısıtlama bulunamadı. Ayarlar - + Constraints Constraints - + Auto constraints Otomatik kısıtlamalar - + Auto remove redundants Gereksizleri otomatik kaldır - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error Hata - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4704,6 +4896,33 @@ Ancak, uç noktalara bağlanan hiçbir kısıtlama bulunamadı. Settings Ayarlar + + + + + + + + + + + + Construction + İnşa + + + + Elements + Elementler + + + + + + + Point + Nokta + @@ -4715,110 +4934,83 @@ Ancak, uç noktalara bağlanan hiçbir kısıtlama bulunamadı. - Construction - İnşa - - - - Elements - Elementler - - - - - - - Point - Nokta - - - - - - - - - - - - Internal Internal - - + + + - Line Çizgi - - + + + - Arc Yay - - + + + - Circle Daire - - + + + - Ellipse Elips - - + + + - Elliptical Arc Eliptik Ark - - + + + - Hyperbolic Arc Hiperbolik yay - - + + + - Parabolic Arc Parabolik Ark - - + + + - BSpline BSpline - - + + + - Other Diğer - + Extended information Detaylı bilgi @@ -4826,42 +5018,42 @@ Ancak, uç noktalara bağlanan hiçbir kısıtlama bulunamadı. SketcherGui::TaskSketcherMessages - + Solver messages Çözücü mesajları - + Auto update Otomatik güncelle - + Executes a recomputation of active document after every sketch action Her taslak eyleminden sonra etkin belgenin yeniden hesaplanmasını çalıştırır - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5039,112 +5231,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Taslağı düzenle - + A dialog is already open in the task panel Araç çubuğunda bir pencere zaten açık - + Do you want to close this dialog? Bu pencereyi kapatmak ister misiniz? - + Invalid sketch Geçersiz eskiz - + Do you want to open the sketch validation tool? Eskiz doğrulama aracını açmak istiyor musunuz? - + The sketch is invalid and cannot be edited. Eskiz geçersizdir ve düzenlenemez. - + Please remove the following constraint: Lütfen aşağıdaki kısıtlamayı kaldırın: - + Please remove at least one of the following constraints: Lütfen aşağıdaki kısıtlamalardan en az birini kaldırın: - + Please remove the following redundant constraint: Lütfen aşağıdaki gereksiz kısıtlamayı kaldırın: - + Please remove the following redundant constraints: Lütfen aşağıdaki gereksiz kısıtlamaları kaldırın: - + The following constraint is partially redundant: Aşağıdaki kısıtlama kısmen gereksizdir: - + The following constraints are partially redundant: Aşağıdaki kısıtlamalar kısmen gereksizdir: - + Please remove the following malformed constraint: Lütfen aşağıdaki hatalı biçimlendirilmiş kısıtlamayı kaldırın: - + Please remove the following malformed constraints: Lütfen aşağıdaki hatalı biçimlendirilmiş kısıtlamaları kaldırın: - + Empty sketch Boş eskiz - + Over-constrained: Aşırı-Kısıtlı: - + Malformed constraints: Hatalı biçimlendirilmiş kısıtlamalar: - + Redundant constraints: Gereksiz kısıtlamalar: - + Partially redundant: Kısmen gereksiz: - + Solver failed to converge Solver failed to converge - + Under constrained: Under constrained: - + %n DoF(s) %n DoF(s) @@ -5152,7 +5344,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Fully constrained @@ -5160,8 +5352,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Tüm B-spline'lar için eğrilik tarağını gösterme ve gizleme arasında geçiş yapar @@ -5169,8 +5361,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Seçilen bir B-spline düğümünün çokluğunu azaltır @@ -5178,8 +5370,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Tüm B-spline derecelerini gösterme ve gizleme arasında geçiş yapar @@ -5187,8 +5379,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Seçilen bir B-spline düğümünün çoğaltılmasını arttırır @@ -5196,8 +5388,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Tüm B-spline'lar için düğüm çokluğunu gösterme ve gizleme arasında geçiş yapar @@ -5205,8 +5397,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Tüm B-spline'lar için kontrol noktası kalınlığını gösterme ve gizleme arasında geçiş yapar @@ -5214,8 +5406,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Tüm B-kamaları için kontrol çokgenlerini gösterme ve gizleme arasında geçiş yapar @@ -5223,8 +5415,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Son seçilen noktayı referans alarak geometriye ait bir klon oluşturur @@ -5232,17 +5424,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Klon - + Copy Kopyala - + Move Taşı @@ -5250,8 +5442,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Bir çemberin veya bir yayın yarıçapını düzelt @@ -5259,7 +5451,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Bir çember veya yayın yarı çapını/çapını onar @@ -5267,8 +5459,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Bir dairenin veya bir yayın yarıçapını düzeltme @@ -5276,7 +5468,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Bir çember veya yayın yarı çapını/çapını onar @@ -5284,8 +5476,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Son seçilen noktayı referans alarak geometrinin basit bir kopyasını oluşturur @@ -5504,64 +5696,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Eskiz bulunamadı - + The document doesn't have a sketch Belgede bir eskiz yok - + Select sketch Eskiz seçin - + Select a sketch from the list Listeden bir eskiz seçin - + (incompatible with selection) (seçimle uyuşmaz) - + (current) (Mevcut) - + (suggested) (Önerilen) - + Sketch attachment Eskiz eki - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Geçerli ekleme kipi yeni seçimle uyumlu değil. Bu taslağı seçilen nesnelere ekleme yöntemini seçin. - + Select the method to attach this sketch to selected objects. Bu eskizi seçilen nesnelere eklemek için yöntemi seçin. - + Map sketch Harita çizimi - + Can't map a sketch to support: %1 Desteklemek için bir eskiz eşleyemiyor: @@ -5571,8 +5763,8 @@ Bu taslağı seçilen nesnelere ekleme yöntemini seçin. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Son seçilen noktayı referans alarak geometriyi hareket ettirir @@ -5580,12 +5772,12 @@ Bu taslağı seçilen nesnelere ekleme yöntemini seçin. Sketcher_NewSketch - + Sketch attachment Eskiz eki - + Select the method to attach this sketch to selected object Bu eskizi seçilen nesneye eklemek için yöntemi seçin @@ -5593,12 +5785,12 @@ Bu taslağı seçilen nesnelere ekleme yöntemini seçin. Sketcher_ReorientSketch - + Sketch has support Eskiz destek almaktadır - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Destek yüzeyi olan eskiz yeniden yönlendirilemez. @@ -5607,11 +5799,6 @@ Destekten ayırmak ister misiniz? TaskSketcherMessages - - - Form - Şekil: - DOF @@ -5630,11 +5817,6 @@ Destekten ayırmak ister misiniz? TaskSketcherSolverAdvanced - - - Form - Şekil: - Default algorithm used for Sketch solving @@ -5746,7 +5928,7 @@ BFGS çözümleyici, Broyden–Fletcher–Goldfarb–Shanno algoritmalarını ku Threshold for squared error that is used to determine whether a solution converges or not - Bir çözümün yakınsayıp yakınsamadığını + Bir çözümün yakınsayıp yakınsamadığını belirlemek için kullanılan hata karesi eşiği @@ -5907,7 +6089,7 @@ Eigen Sparse QR algoritması seyrek matrisler için optimize edilmiştir; genell ViewProviderSketch - + and %1 more and %1 more @@ -6097,22 +6279,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6120,87 +6302,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Hata - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6242,8 +6424,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6340,9 +6522,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error Value Error @@ -6378,58 +6560,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - Yapı Geometrisi + Normal Geometry + Normal Geometry + Construction Geometry + Yapı Geometrisi + + + + + External Geometry External Geometry @@ -6450,12 +6632,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6463,12 +6645,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6499,4 +6681,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Boyut + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_uk.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_uk.ts index c818ce9ac5..f47b9b6892 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_uk.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_uk.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Показати/приховати гребінець кривизни B-сплайнів - + Switches between showing and hiding the curvature comb for all B-splines Показує/приховує гребінець кривизни всіх B-сплайнів @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Показати/приховати ступінь B-сплайну - + Switches between showing and hiding the degree for all B-splines Показує або приховує ступінь для всіх B-сплайнів @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Показати/приховати кратність вузлів B-сплайну - + Switches between showing and hiding the knot multiplicity for all B-splines Показує або приховує кратність вузлів для всіх B-сплайнів @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Показати/приховати вагу контрольних точок B-сплайну - + Switches between showing and hiding the control point weight for all B-splines Показує або приховує контрольні точки для всіх B-сплайнів @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Показати/приховати полігон керування B-сплайном - + Switches between showing and hiding the control polygons for all B-splines Показує або приховує полігони керування всіх B-сплайнів @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Клонувати - + Creates a clone of the geometry taking as reference the last selected point Створює копію геометрії, взявши за основу останню виділену точку @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Показати/приховати інформаційний шар B-сплайну - + Show/hide B-spline degree Показати/приховати ступінь B-сплайну - + Show/hide B-spline control polygon Показати/приховати полігон керування B-сплайном - + Show/hide B-spline curvature comb Показати/приховати гребінець кривизни B-сплайнів - + Show/hide B-spline knot multiplicity Показати/приховати кратність вузлів B-сплайну - + Show/hide B-spline control point weight Показати/приховати вагу контрольних точок B-сплайну @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Обмеження для дуги або кола - + Constrain an arc or a circle Створює обмеження для дуги чи кола - + Constrain radius Обмеження за радіусом - + Constrain diameter Обмеження за діаметром - + Constrain auto radius/diameter Автоматичне обмеження за радіусом/діаметром @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Клонувати - + Creates a clone of the geometry taking as reference the last selected point Створює копію геометрії, взявши за основу останню виділену точку @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Зміна кратності вузлів - + Modifies the multiplicity of the selected knot of a B-spline Змінює кратність вибраного вузла B-сплайну - + Increase knot multiplicity Збільшення кратності вузлів - + Decrease knot multiplicity Зменшення кратності вузлів @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Кутове обмеження - + Fix the angle of a line or the angle between two lines Задає кут нахилу лінії або кут між двома лініями @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Обмеження переміщення - + Block the selected edge from moving Блокує переміщення вибраного ребра @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Обмеження збігу - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Створити обмеження збігу між точками або концентричне обмеження між колами, дугами та еліпсами @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Обмеження за діаметром - + Fix the diameter of a circle or an arc Задає діаметр кола або дуги @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Обмеження відстані - + Fix a length of a line or the distance between a line and a vertex or between two circles Фіксує довжину лінії або відстань між лінією і вершиною або між двома колами @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Обмеження відстані по горизонталі - + Fix the horizontal distance between two points or line ends Задає відстань по горизонталі між двома точками або кінцями відрізку @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Обмеження відстані по вертикалі - + Fix the vertical distance between two points or line ends Задає відстань по вертикалі між двома точками або кінцями відрізку @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Еквівалентне обмеження - + Create an equality constraint between two lines or between circles and arcs Створює обмеження еквівалентності між двома лініями, колами або дугами @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Горизонтальне обмеження - + Create a horizontal constraint on the selected item Створює обмеження горизонтальності для вибраного елементу @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Обмеження фіксації - + Create both a horizontal and a vertical distance constraint on the selected vertex Створює обмеження на горизонтальну і вертикальну відстань для обраної вершини @@ -519,12 +519,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Паралельне обмеження - + Create a parallel constraint between two lines Створює обмеження паралельності між двома лініями @@ -532,12 +532,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Перпендикулярне обмеження - + Create a perpendicular constraint between two lines Створює обмеження перпендикулярності між двома лініями @@ -545,12 +545,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Зафіксувати точку на обʼєкті - + Fix a point onto an object Фіксує точку на обʼєкті @@ -558,12 +558,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Автоматичне обмеження за радіусом/діаметром - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Задає діаметр, якщо вибрано коло, або радіус, якщо вибрано полюс дуги/сплайна @@ -571,12 +571,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Обмежити радіус або вагу - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Задає радіус кола чи дуги або задає вагу полюса В-сплайну @@ -584,42 +584,42 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Обмеження за законом заломлення (закон Снеліуса) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. - Створює обмеження за законом заломлення (закон Снеліуса) між + Створює обмеження за законом заломлення (закон Снеліуса) між двома кінцевими точками променя та ребром як границею розділу середовищ. CmdSketcherConstrainSymmetric - + Constrain symmetrical Симетричне обмеження - + Create a symmetry constraint between two points with respect to a line or a third point - Створює обмеження симетричності між двома + Створює обмеження симетричності між двома точками відносно лінії або третьої точки CmdSketcherConstrainTangent - + Constrain tangent Обмеження дотичності - + Create a tangent constraint between two entities Створює обмеження дотичності між двома обʼєктами @@ -627,12 +627,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Вертикальне обмеження - + Create a vertical constraint on the selected item Створює обмеження вертикальності для вибраного елементу @@ -640,12 +640,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Перетворити геометрію на B-сплайн - + Converts the selected geometry to a B-spline Перетворює виділену геометрію на B-сплайн @@ -653,12 +653,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Копіювати - + Creates a simple copy of the geometry taking as reference the last selected point Створює просту копію геометрії, взявши за основу останню виділену точку @@ -1017,12 +1017,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Зменшити ступінь B-сплайну - + Decreases the degree of the B-spline Зменшує ступінь B-сплайну @@ -1030,12 +1030,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Зменшення кратності вузлів - + Decreases the multiplicity of the selected knot of a B-spline Зменшення кратності вибраного вузла B-сплайну @@ -1043,12 +1043,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Видалити всі обмеження - + Delete all constraints in the sketch Видаляє всі обмеження на ескізі @@ -1056,12 +1056,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Видалити всю геометрію - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Видаляє всю геометрію та обмеження у поточному ескізі, за винятком зовнішньої геометрії @@ -1069,12 +1069,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Редагувати ескіз - + Edit the selected sketch. Редагує виділений ескіз. @@ -1108,12 +1108,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Збільшити ступінь B-сплайну - + Increases the degree of the B-spline Збільшує ступінь B-сплайну @@ -1121,12 +1121,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Збільшення кратності вузлів - + Increases the multiplicity of the selected knot of a B-spline Збільшує кратність вибраного вузла B-сплайну @@ -1134,12 +1134,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Вставити вузол - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Вставляє вузол в заданий параметр. Якщо вузол вже існує, його кратність збільшується на одиницю. @@ -1147,12 +1147,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Об'єднати криві - + Join two curves at selected end points Обєднує дві криві за обраними кінцевими точками @@ -1160,12 +1160,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Завершити редагування ескізу - + Finish editing the active sketch. Завершує редагування активного ескізу. @@ -1173,21 +1173,21 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Відобразити ескіз на грань... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. Встановлює «Базу» для ескізу. -Спочатку виділіть допоміжну геометрію, наприклад, грань або ребро +Спочатку виділіть допоміжну геометрію, наприклад, грань або ребро суцільного об’єкта, потім викличте цю команду, а потім виберіть потрібний ескіз. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Деякі з вибраних об’єктів залежать від ескізу, який потрібно відобразити. Циклічні залежності не допускаються. @@ -1195,22 +1195,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Обʼєднати ескізи - + Create a new sketch from merging two or more selected sketches. Створює новий ескіз з обʼєднання двох або більше вибраних ескізів. - + Wrong selection Невірний вибір - + Select at least two sketches. Оберіть принаймні два ескізи. @@ -1218,25 +1218,25 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Віддзеркалити ескіз - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. - Створює новий ескіз дзеркальним зображенням кожного з + Створює новий ескіз дзеркальним зображенням кожного з вибраних ескізів відносно осі X, Y або початку координат. - + Wrong selection Невірний вибір - + Select one or more sketches. Виділіть один або кілька ескізів. @@ -1244,12 +1244,12 @@ as mirroring reference. CmdSketcherMove - + Move Переміщення - + Moves the geometry taking as reference the last selected point Переміщує геометрії, приймаючи останню обрану точку в якості орієнтиру @@ -1257,12 +1257,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Створити ескіз - + Create a new sketch. Створює новий ескіз. @@ -1270,12 +1270,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Прямокутний масив - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Створює прямокутний масив із геометрії, обравши останню виділену точку як основу @@ -1283,12 +1283,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Видалити вирівнювання осей - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Змінює обмеження у виділеній частині, щоб видалити вирівнювання осей, намагаючись зберегти взаємозвʼязок обмежень @@ -1296,27 +1296,27 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Переорієнтувати ескіз... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. - Розміщує виділений ескіз на одній із глобальних координатних площин. + Розміщує виділений ескіз на одній із глобальних координатних площин. Це очищує наявну властивість 'База'. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Показати/приховати внутрішню геометрію - + Show all internal geometry or hide unused internal geometry Показує всю внутрішню геометрію або приховує внутрішню геометрію, що не використовується @@ -1324,8 +1324,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Вибрати суперечливі обмеження @@ -1333,12 +1333,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints Вибрати повʼязані обмеження - + Select the constraints associated with the selected geometrical elements Вибирає обмеження, які відносяться до виділених геометричних елементів @@ -1346,12 +1346,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Вибрати повʼязану геометрію - + Select the geometrical elements associated with the selected constraints Вибирає геометричні елементи, пов’язані з виділеними обмеженнями @@ -1359,12 +1359,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Вибрати геометрію з необмеженим ступенем свободи - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Вибирає геометричні елементи, де вирішувач досі виявляє не обмежені ступені свободи. @@ -1372,12 +1372,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Вибрати горизонтальну вісь - + Select the local horizontal axis of the sketch Вибирає локальну горизонтальну вісь ескізу @@ -1385,8 +1385,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Вибрати неправильні обмеження @@ -1394,12 +1394,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin Вибрати початок координат - + Select the local origin point of the sketch Вибирає локальний початок координат ескізу @@ -1407,8 +1407,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Виділіть частково надлишкові обмеження @@ -1416,8 +1416,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Вибрати надлишкові обмеження @@ -1425,12 +1425,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis Вибрати вертикальну вісь - + Select the local vertical axis of the sketch Вибирає локальну вертикальну вісь ескізу @@ -1451,12 +1451,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation Зупинити операцію - + When in edit mode, stop the active operation (drawing, constraining, etc.). Під час редагування зупиняє активну операцію (креслення, введення обмеження тощо). @@ -1477,12 +1477,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry Симетрія - + Creates symmetric geometry with respect to the last selected line or point Створює симетричну геометрію відносно останньої виділеної лінії або точки @@ -1490,12 +1490,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Активувати/деактивувати обмеження - + Activates or deactivates the selected constraints Активує або деактивує виділені обмеження @@ -1516,12 +1516,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Перемкнути обмеження між допоміжними/основними - + Set the toolbar, or the selected constraints, into driving or reference mode Перемикає панель інструментів в режим допоміжної/основної геометрії або перетворює виділені обмеження в допоміжні/основні @@ -1543,24 +1543,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Перевірити ескіз... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Перевіряє ескіз на відсутність збігів, неприпустимі обмеження, вироджену геометрію тощо. - + Wrong selection Невірний вибір - + Select only one sketch. Виділіть лише один ескіз. @@ -1568,12 +1568,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Вид перерізу - + When in edit mode, switch between section view and full view. У режимі редагування перемикає між видами переріз/повний. @@ -1581,12 +1581,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Переглянути ескіз - + When in edit mode, set the camera orientation perpendicular to the sketch plane. В режимі редагування, встановлює орієнтацію камери перпендикулярно площині ескізу. @@ -1594,287 +1594,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Додати горизонтальне обмеження - - - + + + Add horizontal alignment Додати горизонтальне вирівнювання - - + + Add vertical constraint Додати вертикальне обмеження - + Add vertical alignment Додати вертикальне вирівнювання - + Add 'Lock' constraint Додати обмеження 'Фіксація' - + Add relative 'Lock' constraint Додайте обмеження відносна 'Фіксація' - + Add fixed constraint Додати фіксуюче обмеження - + Add 'Block' constraint Додати обмеження 'Блокування' - + Add block constraint Додати обмеження блокування - - - + + + Add coincident constraint Додати обмеження збігу - - + + Add distance from horizontal axis constraint Додати обмеження відстані від горизонтальної осі - - + + Add distance from vertical axis constraint Додати обмеження відстані від вертикальної осі - - + + Add point to point distance constraint Додати обмеження відстані між двома точками - - + + + Add point to line Distance constraint Додати обмеження відстані між точкою та лінією - - + + Add circle to circle distance constraint Додати обмеження відстані між двома колами - + Add circle to line distance constraint Додати обмеження відстані між колом та лінією - - + + + + + Add length constraint Додати обмеження довжини - - + + + Dimension + Розмірність + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Додати обмеження точки на об’єкті - - + + Add point to point horizontal distance constraint Додати обмеження відстані за горизонталлю між двома точками - + Add fixed x-coordinate constraint Додати обмеження фіксованої X-координати - - + + Add point to point vertical distance constraint Додати обмеження відстані за вертикаллю між двома точками - + Add fixed y-coordinate constraint Додати обмеження фіксованої Y-координати - - + + Add parallel constraint Додати обмеження паралельності - - - - - - - + + + + + + + Add perpendicular constraint Додати обмеження перпендикуляру - + Add perpendicularity constraint Додати обмеження перпендикулярності - + Swap coincident+tangency with ptp tangency Перетворити збіг+дотик у дотик точка-точка - + Swap PointOnObject+tangency with point to curve tangency Перетворіть обмеження «Точка на обʼєкті» + дотик на обмеження «Дотик до кривої» - - - - - - - + + + + + + + Add tangent constraint Додати обмеження дотику - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Додати обмеження дотику до точки - - - - + + + + Add radius constraint Додати обмеження радіусу - - - - + + + + Add diameter constraint Додати обмеження діаметру - - - - + + + + Add radiam constraint Додати обмеження радіусу/діаметру - - - - - - + + + + + + Add angle constraint Додати обмеження кута - - + + Add equality constraint Додати обмеження рівності - - - - - + + + + + Add symmetric constraint Додати обмеження симетрії - + Add Snell's law constraint Додати обмеження за законом заломлення Снеліуса - + Toggle constraint to driving/reference Перемкнути обмеження між допоміжними/основними - + Activate/Deactivate constraint Активувати/деактивувати обмеження - + Create a new sketch on a face Створити новий ескіз на грані - + Create a new sketch Створює новий ескіз - + Reorient sketch Переорієнтувати ескіз - + Attach sketch Приєднати ескіз - + Detach sketch Від’єднати ескіз - + Create a mirrored sketch for each selected sketch Створити дзеркальний ескіз для кожного вибраного ескізу - + Merge sketches Обʼєднати ескізи @@ -1992,72 +2109,72 @@ invalid constraints, degenerated geometry, etc. Додати шестикутник - + Convert to NURBS Перетворити на NURBS - + Increase spline degree Збільшити ступінь сплайна - + Decrease spline degree Зменшити ступінь сплайна - + Increase knot multiplicity Збільшення кратності вузлів - + Decrease knot multiplicity Зменшення кратності вузлів - + Insert knot Вставити вузол - + Join Curves Об'єднати Криві - + Exposing Internal Geometry Розкриття внутрішньої геометрії - + Create symmetric geometry Створити симетричну геометрію - + Copy/clone/move geometry Копіювати/клонувати/перемістити геометрію - + Create copy of geometry Створити копію геометрії - + Delete all geometry Видалити всю геометрію - + Delete All Constraints Видалити всі обмеження - + Remove Axes Alignment Видалити вирівнювання осей @@ -2068,44 +2185,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Оновити віртуальний простір обмеження - + Add auto constraints Додати автообмеження - + Swap constraint names Поміняти назви обмеження - + Rename sketch constraint Перейменувати обмеження ескізу - + Drag Point Перетягнути точку - + Drag Curve Перетягнути криву - + Drag Constraint Перетягнути обмеження - + Modify sketch constraints Змінити обмеження ескізу @@ -2166,59 +2283,59 @@ invalid constraints, degenerated geometry, etc. Помилка автообмеження: Ескіз не вирішується після додавання обмеження рівності. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. Не вдалося розрахувати перетин кривих. Спробуйте додати обмеження збігу між вершинами кривих, які ви хочете заокруглити. - - + + BSpline Geometry Index (GeoID) is out of bounds. BSpline ідентифікатор геометрії (GeoID) знаходиться поза межами. - + You are requesting no change in knot multiplicity. Ви просите не змінювати кратність вузлів. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. Ідентифікатор геометрії (GeoId) не є кривою B-сплайн. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. Індекс вузла виходить за межі. Зверніть увагу, що відповідно до нотації OCC перший вузол має індекс 1, а не нуль. - + The multiplicity cannot be increased beyond the degree of the B-spline. Кратність не може бути збільшена понад ступінь B-сплайну. - + The multiplicity cannot be decreased beyond zero. Кратність не може бути зменшена нижче нуля. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC нездатний зменшити кратність у межах максимального допуску. - + Knot cannot have zero multiplicity. Вузол не може мати нульову кратність. - + Knot multiplicity cannot be higher than the degree of the BSpline. Кратність вузла не повинна перевищувати ступінь B-сплайна. - + Knot cannot be inserted outside the BSpline parameter range. Вузол не можна розмістити за межами діапазону параметрів B-сплайну. @@ -2234,210 +2351,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Редактор Ескізів - + There are no modes that accept the selected set of subelements Немає режимів, які приймають вибраний набір піделементів - + Broken link to support subelements Пошкоджений звʼязок для підтримки піделементів - - + + Unexpected error Непередбачувана помилка - + Face is non-planar Грань не плоска - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Вибрані фігури неправильної форми (наприклад, вигнуте ребро коли потрібне пряме) - + Sketch mapping Відображення ескізу - + Can't map the sketch to selected object. %1. Неможливо відобразити ескіз для вибраного обʼєкта. %1. - - + + Don't attach Не приєднувати + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Невірний вибір @@ -2448,339 +2568,339 @@ invalid constraints, degenerated geometry, etc. Виділіть ребро(а) на ескізі. - + Not allowed to edit the datum because the sketch contains conflicting constraints Не дозволяється редагувати значення через конфлікт обмежень - + Dimensional constraint Обмеження розміру - + Cannot add a constraint between two external geometries. Неможливо додати обмеження між двома зовнішніми геометріями. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Неможливо додати обмеження між двома фіксованими геометріями. Фіксована геометрія включає зовнішню геометрію, заблоковану геометрію або спеціальні точки такі як вузли B-сплайну. - + Sketcher Constraint Substitution Заміна обмеження ескізу - + Keep notifying me of constraint substitutions Сповіщайте мене про заміни обмежень - - - + + + Only sketch and its support are allowed to be selected. Дозволено вибрати лише ескіз та його базу. - + One of the selected has to be on the sketch. Один із вибраних має бути на ескізі. - - + + Select an edge from the sketch. Виділіть ребро на ескізі. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Неможливі обмеження - - - - + + + + The selected edge is not a line segment. Виділене ребро не є сегментом лінії. - - - - - - + + + + + + Double constraint Подвійне обмеження - - - - - + + + + + The selected edge already has a horizontal constraint! Виділене ребро вже має обмеження по горизонталі! - - - + + + The selected edge already has a vertical constraint! Виділене ребро вже має обмеження по вертикалі! - - - - - - + + + + + + The selected edge already has a Block constraint! Виділене ребро вже заблоковане! - + The selected item(s) can't accept a horizontal constraint! Виділений елемент(и) не може прийняти горизонтальне обмеження! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Виділено декілька фіксованих точок. Оберіть максимум одну фіксовану точку! - + The selected item(s) can't accept a vertical constraint! Виділений елемент(и) не може прийняти вертикальне обмеження! - - - + + + Select vertices from the sketch. Виділіть вершини на ескізі. - + Select one vertex from the sketch other than the origin. Виділіть одну вершину на ескізі, крім початкової. - + Select only vertices from the sketch. The last selected vertex may be the origin. Виділіть тільки вершини на ескізі. Остання виділена вершина може бути початковою. - + Wrong solver status Неправильний статус вирішувача - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. Блокуюче обмеження не може бути додано, якщо ескіз не можна вирішати або є надлишкові/конфліктуючі обмеження. - + Select one edge from the sketch. Виділіть одне ребро на ескізі. - + Select only edges from the sketch. Виділіть лише ребра на ескізі. - + Number of selected objects is not 3 Кількість виділених об'єктів не 3 - - - + + + Error Помилка - + Unexpected error. More information may be available in the Report View. Неочікувана помилка. Більш детальна інформація доступна у Виді Звіт. - + Endpoint to endpoint tangency was applied instead. Замість кінцевої точки застосовано дотичну. - + Select two or more points from the sketch. Виділіть на ескізі принаймні дві точки. - + Select two or more vertices from the sketch. Виділіть на ескізі принаймні дві вершини. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Виберіть дві або більше вершин з ескізу для обмеження збігу, або два або більше кіл, еліпсів, дуг або дуг еліпса для концентричного обмеження. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Виберіть дві вершини з ескізу для обмеження збігу, або два кола, еліпси, дуги або дуги еліпса для концентричного обмеження. - + Select exactly one line or one point and one line or two points from the sketch. Виділіть на ескізі лише одну лінію, або одну точку та лінію, або дві точки. - + Cannot add a length constraint on an axis! Не можу додати обмеження довжини на вісь! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Виділіть на ескізі рівно одну лінію або одну точку і одну лінію або дві точки, або два кола. - + This constraint does not make sense for non-linear curves. Це обмеження не має сенсу для нелінійних кривих. - + Endpoint to edge tangency was applied instead. Замість кінцевої точки застосовано дотичну до ребра. - - - - - - - + + + + + + + Select the right things from the sketch. Виділіть потрібні обʼєкти на ескізі. - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Виділіть ребро, яке не є вагою B-сплайну. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. Жодна з виділених точок не була обмежена відповідними кривими тому, що вони є частинами того ж елементу; вони є зовнішньою геометрією або тому, що ребро не підходить. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Жодна з виділених точок не була обмежена відповідними кривими тому, що вони є частинами того ж елементу або вони є зовнішньою геометрією. - - - - + + + + Select exactly one line or up to two points from the sketch. Виділіть на ескізі лише одну лінію або не більше двох точок. - + Cannot add a horizontal length constraint on an axis! Не можу додати горизонтального обмеження довжини на вісь! - + Cannot add a fixed x-coordinate constraint on the origin point! Не можна обмежити X-координату точки початку координат! - - + + This constraint only makes sense on a line segment or a pair of points. Це обмеження має сенс лише для відрізка або пари точок. - + Cannot add a vertical length constraint on an axis! Не можу додати вертикального обмеження довжини на вісь! - + Cannot add a fixed y-coordinate constraint on the origin point! Не можна обмежити Y-координату точки початку координат! - + Select two or more lines from the sketch. Виділіть на ескізі дві або більше ліній. - - + + Select at least two lines from the sketch. Виділіть на ескізі принаймні дві лінії. - + Select a valid line. Виділіть правильну лінію. - - + + The selected edge is not a valid line. Виділене ребро не є правильною лінією. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2790,42 +2910,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Допустимі комбінації: дві криві; кінцева точка і крива; дві кінцевих точки; дві криві та точка. - + Select some geometry from the sketch. perpendicular constraint Виділіть деяку геометрію ескізу. - - + + Cannot add a perpendicularity constraint at an unconnected point! Не вдалося застосувати обмеження перпендикулярності, бо виділена точка не є частиною кривої! - - - + + + Perpendicular to B-spline edge currently unsupported. Перпендикуляр до ребра B-сплайну не підтримується. - - + + One of the selected edges should be a line. Одне з виділених ребер повинне бути лінією. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. Застосовано обмеження дотичності між кінцевими точками. Обмеження збігу видалено. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Застосовано обмеження дотичності кінцевої точки до ребра. Обмеження точки на об’єкті було видалено. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2835,179 +2955,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Допустимі комбінації: дві криві; кінцева точка та крива; дві кінцеві точки; дві криві та точка. - + Select some geometry from the sketch. tangent constraint Виділіть деяку геометрію ескізу. - - - + + + Cannot add a tangency constraint at an unconnected point! Не можу додати обмеження дотичної у точці, що не належить кривій! - - + + Tangent constraint at B-spline knot is only supported with lines! Дотичне обмеження на вузлі B-сплайна підтримується лише лініями! - + B-spline knot to endpoint tangency was applied instead. Замість цього застосовано дотичну вузла B-сплайна до кінцевої точки. - + Select either one point and several curves, or one curve and several points. Виберіть або одну точку і кілька кривих, або одну криву і кілька точок. - - + + Wrong number of selected objects! Неправильна кількість виділених обʼєктів! - - + + With 3 objects, there must be 2 curves and 1 point. Коли вибрано 3 елементи, це повинні бути 2 криві та одна точка. - - - + + + Tangency to B-spline edge currently unsupported. Дотичність до ребра B-сплайну не підтримується. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Виділіть одну або кілька дуг чи кіл на ескізі. - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Виділіть на ескізі лише один чи декілька полюсів B-сплайну або лише одну чи декілька дуг чи кіл, але не змішуйте сплайни та дуги. - - - + + + Constraint only applies to arcs or circles. Обмеження можна застосовувати лише до дуг або кіл. - - + + Select one or two lines from the sketch. Or select two edges and a point. Виділіть одну або дві лінії на ескізі. Або виділіть два ребра і точку. - - + + Parallel lines Паралельні лінії - - + + An angle constraint cannot be set for two parallel lines. Обмеження кута не можна застосувати до паралельних ліній. - + Cannot add an angle constraint on an axis! Не можу додати обмеження кута на вісі! - + Select two edges from the sketch. Виділіть два ребра на ескізі. - + Select two or more compatible edges. Виділіть два або більше сумісних ребра. - + Sketch axes cannot be used in equality constraints. Вісі ескізу не можна використовувати в обмеженнях еквівалентності. - + Equality for B-spline edge currently unsupported. Обмеження рівності ребра B-сплайну не підтримується. - - - + + + + Select two or more edges of similar type. Виділіть два або більше ребра однакового типу. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Виділіть на ескізі лише один чи декілька полюсів B-сплайну або лише одну чи декілька дуг чи кіл, але не змішуйте сплайни та дуги. - - + + Cannot add a symmetry constraint between a line and its end points. Неможливо додати обмеження симетрії між лінією та її кінцевими точками. - - + + + + Cannot add a symmetry constraint between a line and its end points! Неможливо додати обмеження симетрії між лінією та її кінцевими точками! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Виділіть два кінці ліній, які будуть виконувати роль променів, і ребро, що представляє межу розподілу середовищ. Перша обрана точка відповідає індексу n1, друга n2, а опорне значення визначається співвідношенням n2 / n1. - + Selected objects are not just geometry from one sketch. Виділені обʼєкти з різних ескізів. - + Cannot create constraint with external geometry only. Неможливо створити обмеження з використанням тільки зовнішньої геометрії. - + Incompatible geometry is selected. Виділено несумісну геометрію. - + SnellsLaw on B-spline edge is currently unsupported. Обмеження за законом заломлення на ребрі B-сплайна наразі не підтримується. - - - - - + + + + + Select constraints from the sketch. Виділіть обмеження на ескізі. @@ -3029,155 +3152,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Визначте ступінь B-сплайну між 1 та %1: + + - - CAD Kernel Error Помилка ядра CAD - + None of the selected elements is an edge. Жоден з виділених елементів не є ребром. - - + + At least one of the selected objects was not a B-Spline and was ignored. Принаймні один з вибраних обʼєктів не є B-сплайн і був проігнорований. - - + + The selection comprises more than one item. Please select just one knot. Виділення містить декілька елементів. Будь ласка, виділіть лише один вузол. - - + + Input Error Помилка введення - - + + None of the selected elements is a knot of a B-spline Жоден із виділених елементів не є вузлом B-сплайну - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Нічого не виділено. Виділіть B-сплайн. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Виділіть криву b-сплайна, щоб вставити вузол (а не вузол на ній). Конвертуйте її, якщо крива не є B-сплайном. - + Nothing is selected. Please select end points of curves. Нічого не вибрано. Виберіть кінцеві точки кривих. - + Too many curves on point Занадто багато кривих в одній точці - - + + Exactly two curves should end at the selected point to be able to join them. Рівно дві криві повинні закінчуватися у вибраній точці, щоб їх можна було з'єднати. - + Too few curves on point Занадто мало кривих у точці - + Two end points, or coincident point should be selected. Необхідно вибрати дві кінцеві точки або точки, що збігаються. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Виділіть елементи з одного ескізу. - + No constraint selected Жодне обмеження не вибране - + At least one constraint must be selected Потрібно вибрати принаймні одне обмеження - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Симетрична конструкція вимагає принаймні двох геометричних елементів, останній геометричний елемент є еталоном для побудови симетрії. - + The last element must be a point or a line serving as reference for the symmetry construction. Останній елемент повинен бути точкою або лінією, яка виступає в якості еталону для побудови симетрії. - - + + A copy requires at least one selected non-external geometric element Копіювання потребує принаймні одного обраного незовнішнього геометричного елемента - + Delete All Geometry Видалити всю геометрію - + Are you really sure you want to delete all geometry and constraints? Ви дійсно бажаєте видалити всю геометрію та обмеження? - + Delete All Constraints Видалити всі обмеження - + Are you really sure you want to delete all the constraints? Ви дійсно бажаєте видалити всі обмеження? - + Removal of axes alignment requires at least one selected non-external geometric element Для видалення вирівнювання осей потрібно вибрати принаймні один не зовнішній геометричний елемент - + Unsupported visual layer operation Непідтримувана операція із візуальним шаром - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted Переміщення зовнішньої геометрії на інший візуальний шар наразі не підтримується. Зовнішню геометрію буде пропущена @@ -3376,67 +3499,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Виберіть елементи - + Change value Змінити значення - + Toggle to/from reference Посилання на/з - + Deactivate Деактивувати - + Activate Активувати - + Show constraints Показати обмеження - + Hide constraints Приховати обмеження - + Rename Перейменувати - + Center sketch По центру ескізу - + Delete Видалити - + Swap constraint names Поміняти назви обмеження - + Unnamed constraint Обмеження без імені - + Only the names of named constraints can be swapped. Тільки імена іменованих обмежень можуть бути змінені. @@ -3444,74 +3567,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle Введіть кут - + Angle: Кут: - + Insert radius Введіть радіус - + Radius: Радіус: - + Insert diameter Введіть діаметр - + Diameter: Діаметр: - + Insert weight Введіть вагу - + Weight: Вага: - + Refractive index ratio Constraint_SnellsLaw Коефіцієнт заломлення - + Ratio n2/n1: Constraint_SnellsLaw Співвідношення n2/n1: - + Insert length Введіть довжину - + Length: Довжина: - + Refractive index ratio Коефіцієнт заломлення - + Ratio n2/n1: Співвідношення n2/n1: @@ -3519,72 +3642,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal Звичайна - + Construction Допоміжна - + Internal Внутрішній - + External Зовнішня - + All types Всі типи - + Point Точка - + Line Лінія - + Circle Коло - + Ellipse Еліпс - + Arc of circle Дуга кола - + Arc of ellipse Дуга еліпса - + Arc of hyperbola Дуга гіперболи - + Arc of parabola Дуга параболи - + B-Spline B-сплайн @@ -3592,142 +3715,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Обмеження Точки - + Point on Object Точка на обʼєкті - + Vertical Constraint Вертикальне Обмеження - + Horizontal Constraint Горизонтальне Обмеження - + Parallel Constraint Паралельне Обмеження - + Perpendicular Constraint Перпендикулярне Обмеження - + Tangent Constraint Обмеження Дотичності - + Equal Length Еквівалентна Довжина - + Symmetric Симетрично - + Block Constraint Обмеження Блокування - + Lock Constraint Обмеження Фіксації - + Horizontal Distance Відстані по горизонталі - + Vertical Distance Відстані по вертикалі - + Length Constraint Обмеження Довжини - + Radius Constraint Обмеження Радіусу - + Diameter Constraint Обмеження діаметру - + Radiam Constraint Обмеження радіусу/діаметру - + Angle Constraint Обмеження Кута - + Toggle construction geometry Перемкнути режим допоміжної геометрії - + Select Constraints Виберіть обмеження - + Select Origin Виберіть початок координат - + Select Horizontal Axis Виберіть горизонтальну вісь - + Select Vertical Axis Виберіть вертикальну вісь - + Layer Layer - + Layer 0 Шар 0 - + Layer 1 Шар 1 - + Hidden Hidden - + Delete Видалити @@ -3900,7 +4023,7 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c If selected, each element in the array is constrained with respect to the others using construction lines - Якщо виділено, кожен елемент в масиві буде обмежений + Якщо виділено, кожен елемент в масиві буде обмежений відносно інших за допомогою допоміжних ліній @@ -3913,8 +4036,8 @@ with respect to the others using construction lines If selected, it substitutes dimensional constraints by geometric constraints in the copies, so that a change in the original element is directly reflected on copies - Якщо виділено, розмірні обмеження будуть замінені -геометричними обмеженнями в копіях, тому зміна базового елемента + Якщо виділено, розмірні обмеження будуть замінені +геометричними обмеженнями в копіях, тому зміна базового елемента безпосередньо позначиться на копіях @@ -3953,7 +4076,7 @@ reflected on copies Sketcher dialog will have additional section 'Advanced solver control' to adjust solver settings - Діалогове вікно Редактора Ескізів матиме додатковий розділ + Діалогове вікно Редактора Ескізів матиме додатковий розділ «Розширене керування вирішувачем», щоб налаштувати параметри вирішувача @@ -4013,6 +4136,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Повідомляти про автоматичну заміну обмежень + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Обидві + + + + Auto + Автоматично + + + + Diameter + Діаметр + + + + Radius + Радіус + SketcherGui::SketcherSettingsColors @@ -4458,12 +4650,12 @@ Then objects are only visible behind the sketch plane. Застосувати до наявних ескізів - + Unexpected C++ exception Несподіване виключення C++ - + Sketcher Редактор Ескізів @@ -4636,48 +4828,48 @@ However, no constraints linking to the endpoints were found. Параметри - + Constraints Обмеження - + Auto constraints Автоматичні обмеження - + Auto remove redundants Автовилучення надлишкових - + Show only filtered Constraints Показати лише відфільтровані обмеження - + Extended information (in widget) Додаткова інформація (у віджеті) - + Hide internal alignment (in widget) Приховати внутрішнє вирівнювання (у віджеті) - - + + Error Помилка - + Impossible to update visibility tracking Неможливо оновити відстеження видимості - + Impossible to update visibility tracking: Неможливо оновити відстеження видимості: @@ -4709,6 +4901,33 @@ However, no constraints linking to the endpoints were found. Settings Параметри + + + + + + + + + + + + Construction + Допоміжна + + + + Elements + Елементи + + + + + + + Point + Точка + @@ -4720,110 +4939,83 @@ However, no constraints linking to the endpoints were found. - Construction - Допоміжна - - - - Elements - Елементи - - - - - - - Point - Точка - - - - - - - - - - - - Internal Внутрішній - - + + + - Line Лінія - - + + + - Arc Дуга - - + + + - Circle Коло - - + + + - Ellipse Еліпс - - + + + - Elliptical Arc Еліптична дуга - - + + + - Hyperbolic Arc Гіперболічна дуга - - + + + - Parabolic Arc Параболічна дуга - - + + + - BSpline B-сплайн - - + + + - Other Інші - + Extended information Розширена інформація @@ -4831,42 +5023,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Повідомлення вирішувача - + Auto update Автоматичне оновлення - + Executes a recomputation of active document after every sketch action Виконує перерахунок активного документа після кожної дії з ескізом - + Click to select the conflicting constraints. Клацніть, щоб вибрати конфліктуючі обмеження. - + Click to select the redundant constraints. Клацніть, щоб вибрати надлишкові обмеження. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. Ескіз має необмежені елементи, які створюють ці ступені свободи. Клацніть, щоб вибрати необмежені елементи. - + Click to select the malformed constraints. Клацніть, щоб вибрати спотворені обмеження. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Деякі обмеження в комбінації є частково надлишковими. Клацніть, щоб вибрати їх. @@ -5008,7 +5200,7 @@ This is done by analyzing the sketch geometries and constraints. Fixes found reversed external geometries by swapping their endpoints - Виправляє знайдену перевернуту зовнішню + Виправляє знайдену перевернуту зовнішню геометрію шляхом зміни кінцевих точок @@ -5045,112 +5237,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Редагувати ескіз - + A dialog is already open in the task panel Діалогове вікно вже відкрито в панелі задач - + Do you want to close this dialog? Ви бажаєте закрити це діалогове вікно? - + Invalid sketch Неприпустимий ескіз - + Do you want to open the sketch validation tool? Відкрити інструмент перевірки ескізу? - + The sketch is invalid and cannot be edited. Ескіз містить помилки та не може бути змінений. - + Please remove the following constraint: Будь ласка, видаліть наступне обмеження: - + Please remove at least one of the following constraints: Будь ласка, видаліть принаймні одне з таких обмежень: - + Please remove the following redundant constraint: Будь ласка, видаліть наступне надлишкове обмеження: - + Please remove the following redundant constraints: Видаліть, будь ласка, наступні надлишкові обмеження: - + The following constraint is partially redundant: Наступне обмеження частково надлишкове: - + The following constraints are partially redundant: Наступні обмеження частково надлишкові: - + Please remove the following malformed constraint: Видаліть, будь ласка, наступне невірне обмеження: - + Please remove the following malformed constraints: Видаліть, будь ласка, наступні невірні обмеження: - + Empty sketch Порожній ескіз - + Over-constrained: Надлишкові обмеження: - + Malformed constraints: Невірні обмеження: - + Redundant constraints: Надлишкові обмеження: - + Partially redundant: Частково надлишкові: - + Solver failed to converge Рішення не сходиться - + Under constrained: Частково обмежений: - + %n DoF(s) %n ступінь свободи @@ -5160,7 +5352,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Повністю обмежений @@ -5168,8 +5360,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Показує/приховує гребінець кривизни всіх B-сплайнів @@ -5177,8 +5369,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Зменшення кратності вибраного вузла B-сплайну @@ -5186,8 +5378,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Показує або приховує ступінь для всіх B-сплайнів @@ -5195,8 +5387,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Збільшує кратність вибраного вузла B-сплайну @@ -5204,8 +5396,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Показує або приховує кратність вузлів для всіх B-сплайнів @@ -5213,8 +5405,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Показує або приховує контрольні точки для всіх B-сплайнів @@ -5222,8 +5414,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Показує або приховує полігони керування всіх B-сплайнів @@ -5231,8 +5423,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Створює копію геометрії, взявши за основу останню виділену точку @@ -5240,17 +5432,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Клонувати - + Copy Копіювати - + Move Переміщення @@ -5258,8 +5450,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Задає діаметр кола або дуги @@ -5267,7 +5459,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Задає радіус/діаметр кола або дуги @@ -5275,8 +5467,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Задає радіус кола або дуги @@ -5284,7 +5476,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Задає радіус/діаметр кола або дуги @@ -5292,8 +5484,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Створює просту копію геометрії, взявши за основу останню виділену точку @@ -5512,64 +5704,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found Ескіз не знайдено - + The document doesn't have a sketch Документ без ескізу - + Select sketch Виберіть ескіз - + Select a sketch from the list Виберіть ескіз зі списку - + (incompatible with selection) (несумісно з вибраним) - + (current) (поточний) - + (suggested) (запропонований) - + Sketch attachment Приєднання ескізу - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Поточний режим вкладення несумісний із новим виділенням. Виберіть спосіб приєднання цього ескізу до виділених обʼєктів. - + Select the method to attach this sketch to selected objects. Виберіть спосіб приєднання ескізу до виділених обʼєктів. - + Map sketch Карта ескізу - + Can't map a sketch to support: %1 Не вдалося відобразити ескіз на базу: @@ -5579,8 +5771,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Переміщує геометрії, приймаючи останню обрану точку в якості орієнтиру @@ -5588,12 +5780,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Приєднання ескізу - + Select the method to attach this sketch to selected object Виберіть спосіб приєднання ескізу до виділеного обʼєкту @@ -5601,12 +5793,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support Ескіз з опорою - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? Ескіз з базовою гранню не може бути переорієнтованим. @@ -5615,11 +5807,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Форма - DOF @@ -5638,11 +5825,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Форма - Default algorithm used for Sketch solving @@ -5915,7 +6097,7 @@ Eigen Dense QR — щільна матриця QR з повним поворот ViewProviderSketch - + and %1 more та %1 більше @@ -6105,22 +6287,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Авто-крок сітки - + Resize grid automatically depending on zoom. Автоматично змінювати розмір сітки залежно від масштабу. - + Spacing Інтервал - + Distance between two subsequent grid lines. Встановлює відстань між двома наступними лініями сітки. @@ -6128,86 +6310,86 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! Скетч має помилкові обмеження! - + The Sketch has partially redundant constraints! Скетч має частково надлишкові обмеження! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Перенесено параболи. Перенесені файли не відкриватимуться у попередніх версіях FreeCAD!!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Помилка - + Failed to delete all geometry Не вдалося видалити всю геометрію - + Failed to delete all constraints Не вдалося видалити всі обмеження - + The constraint has invalid index information and is malformed. Обмеження має невірну індексну інформацію та є помилковим. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Неприпустиме обмеження @@ -6249,8 +6431,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Помилка створення полюса B-сплайна - + Error creating B-spline Помилка при створенні B-сплайна @@ -6347,9 +6529,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Не вдалося обрізати ребро - - - + + + Value Error Помилка в значенні @@ -6385,58 +6567,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Прив'язати до об'єктів - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. Нові точки прив'язуватимуться до поточного попередньо виділеного об'єкта. Вони також прив'язуватимуться до середини ліній і дуг. - + Snap to grid Прив'язати до сітки - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. Нові точки будуть прив'язані до найближчої лінії сітки. Точки мають бути розташовані ближче, ніж на п'яту частину відстані між лініями сітки, щоб відбулася прив'язка. - + Snap angle Кут захоплення прив'язки - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Встановлює крок кута для інструментів, які використовують "Прив'язка під кутом" (наприклад, лінія). Утримуйте клавішу CTRL, щоб увімкнути функцію "Прив'язка під кутом". Кут починається з позитивного напрямку осі Х ескізу. RenderingOrderAction - - - - - Normal Geometry - Основна геометрія - - Construction Geometry - Допоміжна геометрія + Normal Geometry + Основна геометрія + Construction Geometry + Допоміжна геометрія + + + + + External Geometry Зовнішня геометрія @@ -6457,12 +6639,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Перемикання сітки в ескізі. В меню можна змінити налаштування сітки. @@ -6470,12 +6652,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Перемикання прив'язки - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Перемикає всі функцій прив'язки. У меню ви можете перемикати "Прив'язати до сітки" та "Прив'язати до об'єктів" окремо, а також змінювати інші параметри прив'язки. @@ -6506,4 +6688,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Створює на ескізі періодичний B-сплайн за вузлами, тобто шляхом інтерполяції. + + CmdSketcherDimension + + + Dimension + Розмірність + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_val-ES.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_val-ES.ts index 4baef90052..3029783b77 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_val-ES.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_val-ES.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Switches between showing and hiding the curvature comb for all B-splines Canvia entre mostrar i amagar l'ansa de curvatura per a tots els B-splines @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree Show/hide B-spline degree - + Switches between showing and hiding the degree for all B-splines Canvia entre mostrar i amagar el grau per a tots els B-splines @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Switches between showing and hiding the knot multiplicity for all B-splines Canvia entre mostrar i amagar la multiplicitat del nus per a tots els B-splines @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight Show/hide B-spline control point weight - + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Switches between showing and hiding the control polygons for all B-splines Canvia entre mostrar i amagar els polígons de control per a tots els B-splines @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone Clona - + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometria prenent com a referència l'últim punt seleccionat. @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer Mostra/Amaga la capa d'informació del B-spline - + Show/hide B-spline degree Show/hide B-spline degree - + Show/hide B-spline control polygon Show/hide B-spline control polygon - + Show/hide B-spline curvature comb Show/hide B-spline curvature comb - + Show/hide B-spline knot multiplicity Show/hide B-spline knot multiplicity - + Show/hide B-spline control point weight Show/hide B-spline control point weight @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle Restringeix l'arc o el cercle - + Constrain an arc or a circle Restringeix un arc o un cercle - + Constrain radius Restricció del radi - + Constrain diameter Restringeix el diàmetre - + Constrain auto radius/diameter Constrain auto radius/diameter @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone Clona - + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometria prenent com a referència l'últim punt seleccionat. @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity Modifica la multiplicitat del nus - + Modifies the multiplicity of the selected knot of a B-spline Modifica la multiplicitat del nus seleccionat d'un B-spline - + Increase knot multiplicity Augmenta la multiplicitat del nus - + Decrease knot multiplicity Redueix la multiplicitat del nus @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle Restricció d'angle - + Fix the angle of a line or the angle between two lines Fixa l'angle d'una línia o l'angle entre dues línies @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block Constrain block - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident Restricció coincident - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter Restringeix el diàmetre - + Fix the diameter of a circle or an arc Fixa el diàmetre d'un cercle o d'un arc @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance Restricció de distància - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance Constrain horizontal distance - + Fix the horizontal distance between two points or line ends Fixa la distància horitzontal entre dos punts o extrems de línia @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance Constrain vertical distance - + Fix the vertical distance between two points or line ends Fixa la distància vertical entre dos punts o extrems de línia @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal Restricció d'igualtat - + Create an equality constraint between two lines or between circles and arcs Crea una restricció d'igualtat entre dues línies o entre cercles i arcs @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally Restricció horitzontal - + Create a horizontal constraint on the selected item Crea una restricció horitzontal en l'element seleccionat @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock Restricció de bloqueig - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel Restricció de parel·lelisme - + Create a parallel constraint between two lines Crea una restricció de paral·lelisme entre dues línies @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular Restricció de perpendicularitat - + Create a perpendicular constraint between two lines Crea una restricció de perpendicularitat entre dues línies @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object Restricció d'un punt sobre l'objecte - + Fix a point onto an object Fixa un punt sobre un objecte @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter Constrain auto radius/diameter - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight Constrain radius or weight - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical Restricció de simetria - + Create a symmetry constraint between two points with respect to a line or a third point Create a symmetry constraint between two points @@ -615,12 +615,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent Restricció tangent - + Create a tangent constraint between two entities Crea una restricció tangent entre dues entitats @@ -628,12 +628,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically Restricció veertical - + Create a vertical constraint on the selected item Crea una restricció vertical en l'element seleccionat @@ -641,12 +641,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline Convert geometry to B-spline - + Converts the selected geometry to a B-spline Converts the selected geometry to a B-spline @@ -654,12 +654,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy Copia - + Creates a simple copy of the geometry taking as reference the last selected point Crea una còpia simple de la geometria prenent com a referència l'últim punt seleccionat. @@ -1018,12 +1018,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree Decrease B-spline degree - + Decreases the degree of the B-spline Decreases the degree of the B-spline @@ -1031,12 +1031,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity Redueix la multiplicitat del nus - + Decreases the multiplicity of the selected knot of a B-spline Redueix la multiplicitat del nus seleccionat d'un B-spline @@ -1044,12 +1044,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints Delete all constraints - + Delete all constraints in the sketch Delete all constraints in the sketch @@ -1057,12 +1057,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry Delete all geometry - + Delete all geometry and constraints in the current sketch, with the exception of external geometry Delete all geometry and constraints in the current sketch, with the exception of external geometry @@ -1070,12 +1070,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch Edit sketch - + Edit the selected sketch. Edit the selected sketch. @@ -1109,12 +1109,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree Increase B-spline degree - + Increases the degree of the B-spline Augmenta el grau del B-spline @@ -1122,12 +1122,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity Augmenta la multiplicitat del nus - + Increases the multiplicity of the selected knot of a B-spline Augmenta la multiplicitat del nus seleccionat d'un B-spline @@ -1135,12 +1135,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot Insert knot - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. @@ -1148,12 +1148,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1161,12 +1161,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch Abandona l'esbós - + Finish editing the active sketch. Finish editing the active sketch. @@ -1174,12 +1174,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... Aplica un esbós sobre una cara... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1188,7 +1188,7 @@ First select the supporting geometry, for example, a face or an edge of a solid then call this command, then choose the desired sketch. - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. @@ -1196,22 +1196,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches Fusiona els esbossos - + Create a new sketch from merging two or more selected sketches. Create a new sketch from merging two or more selected sketches. - + Wrong selection Selecció incorrecta - + Select at least two sketches. Select at least two sketches. @@ -1219,12 +1219,12 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch Esbós en espill - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. @@ -1233,12 +1233,12 @@ by using the X or Y axes, or the origin point, as mirroring reference. - + Wrong selection Selecció incorrecta - + Select one or more sketches. Select one or more sketches. @@ -1246,12 +1246,12 @@ as mirroring reference. CmdSketcherMove - + Move Mou - + Moves the geometry taking as reference the last selected point Mou la geometria prenent com a referència l'últim punt seleccionat @@ -1259,12 +1259,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch Crea un esbós - + Create a new sketch. Create a new sketch. @@ -1272,12 +1272,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array Rectangular array - + Creates a rectangular array pattern of the geometry taking as reference the last selected point Crea un patró de matriu rectangular de la geometria prenent com a referència l'últim punt seleccionat @@ -1285,12 +1285,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment Remove axes alignment - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection @@ -1298,12 +1298,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... Reorienta l'esbós... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. Place the selected sketch on one of the global coordinate planes. @@ -1313,12 +1313,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry Mostra o amaga la geometria interna - + Show all internal geometry or hide unused internal geometry Show all internal geometry or hide unused internal geometry @@ -1326,8 +1326,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints Select conflicting constraints @@ -1335,12 +1335,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints Select associated constraints - + Select the constraints associated with the selected geometrical elements Select the constraints associated with the selected geometrical elements @@ -1348,12 +1348,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry Select associated geometry - + Select the geometrical elements associated with the selected constraints Select the geometrical elements associated with the selected constraints @@ -1361,12 +1361,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF Select unconstrained DoF - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. Select geometrical elements where the solver still detects unconstrained degrees of freedom. @@ -1374,12 +1374,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis Select horizontal axis - + Select the local horizontal axis of the sketch Select the local horizontal axis of the sketch @@ -1387,8 +1387,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints Select malformed constraints @@ -1396,12 +1396,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin Select origin - + Select the local origin point of the sketch Select the local origin point of the sketch @@ -1409,8 +1409,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints Select partially redundant constraints @@ -1418,8 +1418,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints Select redundant constraints @@ -1427,12 +1427,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis Select vertical axis - + Select the local vertical axis of the sketch Select the local vertical axis of the sketch @@ -1453,12 +1453,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation Para l'operació - + When in edit mode, stop the active operation (drawing, constraining, etc.). When in edit mode, stop the active operation (drawing, constraining, etc.). @@ -1479,12 +1479,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry Simetria - + Creates symmetric geometry with respect to the last selected line or point Crea una geometria simètrica respecte a l'última línia o punt seleccionats @@ -1492,12 +1492,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint Activate/deactivate constraint - + Activates or deactivates the selected constraints Activates or deactivates the selected constraints @@ -1518,12 +1518,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint Toggle driving/reference constraint - + Set the toolbar, or the selected constraints, into driving or reference mode Set the toolbar, or the selected constraints, @@ -1546,24 +1546,24 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... Valida l'esbós... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. - + Wrong selection Selecció incorrecta - + Select only one sketch. Select only one sketch. @@ -1571,12 +1571,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section Visualitzar la selecció - + When in edit mode, switch between section view and full view. When in edit mode, switch between section view and full view. @@ -1584,12 +1584,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch Visualitza l'esbós - + When in edit mode, set the camera orientation perpendicular to the sketch plane. When in edit mode, set the camera orientation perpendicular to the sketch plane. @@ -1597,287 +1597,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint Add horizontal constraint - - - + + + Add horizontal alignment Add horizontal alignment - - + + Add vertical constraint Add vertical constraint - + Add vertical alignment Add vertical alignment - + Add 'Lock' constraint Add 'Lock' constraint - + Add relative 'Lock' constraint Add relative 'Lock' constraint - + Add fixed constraint Add fixed constraint - + Add 'Block' constraint Add 'Block' constraint - + Add block constraint Add block constraint - - - + + + Add coincident constraint Add coincident constraint - - + + Add distance from horizontal axis constraint Add distance from horizontal axis constraint - - + + Add distance from vertical axis constraint Add distance from vertical axis constraint - - + + Add point to point distance constraint Add point to point distance constraint - - + + + Add point to line Distance constraint Add point to line Distance constraint - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint Add length constraint - - + + + Dimension + Dimensió + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint Add point on object constraint - - + + Add point to point horizontal distance constraint Add point to point horizontal distance constraint - + Add fixed x-coordinate constraint Add fixed x-coordinate constraint - - + + Add point to point vertical distance constraint Add point to point vertical distance constraint - + Add fixed y-coordinate constraint Add fixed y-coordinate constraint - - + + Add parallel constraint Add parallel constraint - - - - - - - + + + + + + + Add perpendicular constraint Add perpendicular constraint - + Add perpendicularity constraint Add perpendicularity constraint - + Swap coincident+tangency with ptp tangency Swap coincident+tangency with ptp tangency - + Swap PointOnObject+tangency with point to curve tangency Swap PointOnObject+tangency with point to curve tangency - - - - - - - + + + + + + + Add tangent constraint Add tangent constraint - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point Add tangent constraint point - - - - + + + + Add radius constraint Add radius constraint - - - - + + + + Add diameter constraint Add diameter constraint - - - - + + + + Add radiam constraint Add radiam constraint - - - - - - + + + + + + Add angle constraint Add angle constraint - - + + Add equality constraint Add equality constraint - - - - - + + + + + Add symmetric constraint Add symmetric constraint - + Add Snell's law constraint Add Snell's law constraint - + Toggle constraint to driving/reference Toggle constraint to driving/reference - + Activate/Deactivate constraint Activate/Deactivate constraint - + Create a new sketch on a face Create a new sketch on a face - + Create a new sketch Create a new sketch - + Reorient sketch Reorient sketch - + Attach sketch Attach sketch - + Detach sketch Detach sketch - + Create a mirrored sketch for each selected sketch Create a mirrored sketch for each selected sketch - + Merge sketches Fusiona els esbossos @@ -1995,72 +2112,72 @@ invalid constraints, degenerated geometry, etc. Add hexagon - + Convert to NURBS Convert to NURBS - + Increase spline degree Increase spline degree - + Decrease spline degree Decrease spline degree - + Increase knot multiplicity Augmenta la multiplicitat del nus - + Decrease knot multiplicity Redueix la multiplicitat del nus - + Insert knot Insert knot - + Join Curves Join Curves - + Exposing Internal Geometry Exposing Internal Geometry - + Create symmetric geometry Create symmetric geometry - + Copy/clone/move geometry Copy/clone/move geometry - + Create copy of geometry Create copy of geometry - + Delete all geometry Delete all geometry - + Delete All Constraints Suprimeix totes les restriccions - + Remove Axes Alignment Remove Axes Alignment @@ -2071,44 +2188,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Update constraint's virtual space - + Add auto constraints Add auto constraints - + Swap constraint names Intercanvia els noms de restricció - + Rename sketch constraint Rename sketch constraint - + Drag Point Drag Point - + Drag Curve Drag Curve - + Drag Constraint Drag Constraint - + Modify sketch constraints Modify sketch constraints @@ -2169,59 +2286,59 @@ invalid constraints, degenerated geometry, etc. Error de restricció: esbós irresoluble si s'apliquen restriccions d'igualtat. - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. No s'ha trobat la intersecció de les corbes. Intenteu afegir una restricció coincident entre els vèrtexs de les corbes que esteu intentant arrodonir. - - + + BSpline Geometry Index (GeoID) is out of bounds. L'índex de geometria BSpline (GeoID) està fora de les restriccions. - + You are requesting no change in knot multiplicity. Se us ha demanat que no canvieu la multiplicitat del nus. - - + + The Geometry Index (GeoId) provided is not a B-spline curve. L'índex de geometria (GeoId) proporcionat no és una corba de B-spline. - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. L'índex del nus és fora dels límits. Tingueu en compte que d'acord amb la notació d'OCC, el primer nus té l'índex 1 i no zero. - + The multiplicity cannot be increased beyond the degree of the B-spline. La multiplicitat no es pot augmentar més enllà del grau del B-spline. - + The multiplicity cannot be decreased beyond zero. La multiplicitat no es pot reduir més enllà de zero. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC no pot reduir la multiplicitat dins de la tolerància màxima. - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. Knot cannot be inserted outside the BSpline parameter range. @@ -2237,210 +2354,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher Sketcher - + There are no modes that accept the selected set of subelements No hi ha cap mode que accepte el conjunt de subelements seleccionat. - + Broken link to support subelements L'enllaç als subelements admesos està trencat. - - + + Unexpected error S'ha produït un error inesperat. - + Face is non-planar La cara no és planar - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) Les formes seleccionades tenen una forma incorrecta (p. ex. una vora corbada on es necessitava una vora recta) - + Sketch mapping Mapatge de l'esbós - + Can't map the sketch to selected object. %1. No es pot mapar l'esbós de l'objecte seleccionat. %1. - - + + Don't attach No adjuntes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection Selecció incorrecta @@ -2451,339 +2571,339 @@ invalid constraints, degenerated geometry, etc. Seleccioneu arestes de l'esbós - + Not allowed to edit the datum because the sketch contains conflicting constraints No es permet editar aquest valor perquè l'esbós conté restriccions amb conflictes - + Dimensional constraint Restricció de dimensió - + Cannot add a constraint between two external geometries. Cannot add a constraint between two external geometries. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Sketcher Constraint Substitution - + Keep notifying me of constraint substitutions Keep notifying me of constraint substitutions - - - + + + Only sketch and its support are allowed to be selected. Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. One of the selected has to be on the sketch. - - + + Select an edge from the sketch. Seleccioneu una aresta de l'esbós - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint Restricció impossible - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint Restricció doble - - - - - + + + + + The selected edge already has a horizontal constraint! L'aresta seleccionada ja té una restricció horitzontal. - - - + + + The selected edge already has a vertical constraint! L'aresta seleccionada ja té una restricció vertical. - - - - - - + + + + + + The selected edge already has a Block constraint! L'aresta seleccionada ja té una restricció de Bloc. - + The selected item(s) can't accept a horizontal constraint! Els elements seleccionats no poden acceptar una restricció horitzontal. - - + + There are more than one fixed points selected. Select a maximum of one fixed point! Hi ha més d'un punt fixe seleccionat! Seleccioneu-ne com a màxim un de fixe. - + The selected item(s) can't accept a vertical constraint! Els elements seleccionats no poden acceptar una restricció vertical. - - - + + + Select vertices from the sketch. Seleccioneu vèrtexs de l'esbós - + Select one vertex from the sketch other than the origin. Seleccioneu un vèrtex de l'esbós diferent de l'origen - + Select only vertices from the sketch. The last selected vertex may be the origin. Seleccioneu només vèrtexs de l'esbós. L'últim vèrtex seleccionat pot ser l'origen. - + Wrong solver status Estat de sistema de resolució incorrecte - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. - + Select one edge from the sketch. Seleccioneu una aresta de l'esbós. - + Select only edges from the sketch. Seleccioneu sols arestes de l'esbós. - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error Error - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. En el seu lloc s'ha aplicat una tangència entre extrems. - + Select two or more points from the sketch. Seleccioneu una o més punts de l'esbós - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. Seleccioneu únicament una línia o un punt i una línia o dos punts de l'esbós - + Cannot add a length constraint on an axis! No es pot afegir una restricció de longitud sobre un eix. - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. Seleccioneu els elements correctes de l'esbós - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. Cap dels punts seleccionats s'han restringit a les corbes respectives, perquè són peces del mateix element o perquè ambdues són de geometria externa. - - - - + + + + Select exactly one line or up to two points from the sketch. Seleccioneu únicament una línia o fins a dos punts de l'esbós - + Cannot add a horizontal length constraint on an axis! No es pot afegir una restricció de longitud horitzontal sobre un eix. - + Cannot add a fixed x-coordinate constraint on the origin point! No es pot afegir una restricció de coordenada x fixa sobre el punt d'origen. - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! No es pot afegir una restricció de longitud vertical sobre un eix. - + Cannot add a fixed y-coordinate constraint on the origin point! No es pot afegir una restricció de coordenada y fixa sobre el punt d'origen. - + Select two or more lines from the sketch. Seleccioneu una o més línies de l'esbós - - + + Select at least two lines from the sketch. Seleccioneu almenys dues línies de l'esbós - + Select a valid line. Select a valid line. - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2791,42 +2911,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Aquesta restricció es pot aplicar de diverses maneres. Les combinacions possibles són: dues corbes; un extrem i una corba; dos extrems; dues corbes i un punt. - + Select some geometry from the sketch. perpendicular constraint Seleccioneu alguna geometria de l'esbós - - + + Cannot add a perpendicularity constraint at an unconnected point! No es pot afegir una restricció de perpendicularitat en un punt no connectat. - - - + + + Perpendicular to B-spline edge currently unsupported. Una perpendicular a la vora del B-spline no s'admet actualment. - - + + One of the selected edges should be a line. Una de les arestes seleccionades ha de ser una línia. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. S'ha aplicat una tangència entre extrems. S'han suprimit les restriccions coincidents. - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2834,179 +2954,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Aquesta restricció es pot aplicar de diverses maneres. Les combinacions possibles són: dues corbes; un extrem i una corba; dos extrems; dues corbes i un punt. - + Select some geometry from the sketch. tangent constraint Seleccioneu alguna geometria de l'esbós - - - + + + Cannot add a tangency constraint at an unconnected point! No es pot afegir una restricció de tangència en un punt no connectat. - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! El nombre d'objectes seleccionats és incorrecte. - - + + With 3 objects, there must be 2 curves and 1 point. Amb 3 objectes, hi ha d'haver 2 corbes i 1 punt. - - - + + + Tangency to B-spline edge currently unsupported. La tangència a la vora del B-spline no s'admet actualment. - - - - - - + + + + + + Select one or more arcs or circles from the sketch. Seleccioneu un o diversos arcs o cercles de l'esbós - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. - - - + + + Constraint only applies to arcs or circles. La restricció només s'aplica a arcs i cercles. - - + + Select one or two lines from the sketch. Or select two edges and a point. Seleccioneu una o dues línies de l'esbós. O seleccioneu dues arestes i un punt - - + + Parallel lines Línies paral·leles - - + + An angle constraint cannot be set for two parallel lines. Una restricció d'angle no es pot definir per dues línies paral·leles. - + Cannot add an angle constraint on an axis! No es pot afegir una restricció d'angle sobre un eix. - + Select two edges from the sketch. Seleccioneu dues arestes de l'esbós - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. Sketch axes cannot be used in equality constraints. - + Equality for B-spline edge currently unsupported. La igualtat per a la vora del B-spline no s'admet actualment. - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. Seleccioneu de l'esbós dos punts i una línia de simetria, dos punts i un punt de simetria o una línia i un punt de simetria - - + + Cannot add a symmetry constraint between a line and its end points. Cannot add a symmetry constraint between a line and its end points. - - + + + + Cannot add a symmetry constraint between a line and its end points! No es pot afegir una restricció de simetria entre una línia i els seus extrems. - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. - + Selected objects are not just geometry from one sketch. Els objectes seleccionats no són només geometria d'un esbós. - + Cannot create constraint with external geometry only. Cannot create constraint with external geometry only. - + Incompatible geometry is selected. Incompatible geometry is selected. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw on B-spline edge is currently unsupported. - - - - - + + + + + Select constraints from the sketch. Select constraints from the sketch. @@ -3028,155 +3151,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error Error del nucli del CAD - + None of the selected elements is an edge. No és una vora cap dels elements seleccionats. - - + + At least one of the selected objects was not a B-Spline and was ignored. Com a mínim, un els objectes seleccionats no és una B-Spline i s'ha ignorat. - - + + The selection comprises more than one item. Please select just one knot. La selecció inclou més d'un element. Seleccioneu només un nus. - - + + Input Error Error d'entrada - - + + None of the selected elements is a knot of a B-spline Cap dels elements seleccionats no és un nus d'un B-spline - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. Seleccioneu elements d'un únic esbós - + No constraint selected No s'ha seleccionat cap restricció. - + At least one constraint must be selected S'ha de seleccionar com a mínim una restricció. - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. Una construcció simètrica necessita com a mínim dos elements geomètrics, l'últim element geomètric és la referència per a la construcció de la simetria. - + The last element must be a point or a line serving as reference for the symmetry construction. L'últim element ha de ser un punt o una línia que servisca com a referència per a la construcció de la simetria. - - + + A copy requires at least one selected non-external geometric element Una còpia necessita com a mínim que se seleccione un element geomètric no extern - + Delete All Geometry Suprimeix tota la Geometria - + Are you really sure you want to delete all geometry and constraints? Are you really sure you want to delete all geometry and constraints? - + Delete All Constraints Suprimeix totes les restriccions - + Are you really sure you want to delete all the constraints? Esteu realment segur que voleu suprimir totes restriccions? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3375,67 +3498,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value Canvia el valor - + Toggle to/from reference Commuta la referència a/des de - + Deactivate Desactiva - + Activate Activa - + Show constraints Mostra restriccions - + Hide constraints Amaga restriccions - + Rename Reanomena - + Center sketch Centra l'esbós - + Delete Elimina - + Swap constraint names Intercanvia els noms de restricció - + Unnamed constraint Restricció sense nom - + Only the names of named constraints can be swapped. Només es poden intercanviar els noms de les restriccions anomenades. @@ -3443,74 +3566,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle Insereix un angle - + Angle: Angle: - + Insert radius Insereix un radi - + Radius: Radi: - + Insert diameter Introduïu el diàmetre - + Diameter: Diàmetre: - + Insert weight Insert weight - + Weight: Weight: - + Refractive index ratio Constraint_SnellsLaw Índex de refracció - + Ratio n2/n1: Constraint_SnellsLaw Relació n2/n1: - + Insert length Insereix una longitud - + Length: Length: - + Refractive index ratio Índex de refracció - + Ratio n2/n1: Relació n2/n1: @@ -3518,72 +3641,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal Normal - + Construction Construcció - + Internal Internal - + External Extern - + All types All types - + Point Punt - + Line Línia - + Circle Cercle - + Ellipse El·lipse - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3591,142 +3714,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object Point on Object - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric Simètric - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance Horizontal Distance - + Vertical Distance Vertical Distance - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry Commuta la geometria de construcció - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Layer - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden Amagades - + Delete Elimina @@ -4007,6 +4130,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions Notifica les substitucions automàtiques de restriccions + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + Ambdós + + + + Auto + Auto + + + + Diameter + Diàmetre + + + + Radius + Radi + SketcherGui::SketcherSettingsColors @@ -4451,12 +4643,12 @@ Then objects are only visible behind the sketch plane. Aplica als esbossos existents - + Unexpected C++ exception S'ha produït una excepció inesperada de C++ - + Sketcher Sketcher @@ -4623,48 +4815,48 @@ However, no constraints linking to the endpoints were found. Paràmetres - + Constraints Constraints - + Auto constraints Restriccions automàtiques - + Auto remove redundants Suprimeix les redundàncies automàticament - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error Error - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4696,6 +4888,33 @@ However, no constraints linking to the endpoints were found. Settings Paràmetres + + + + + + + + + + + + Construction + Construcció + + + + Elements + Elements + + + + + + + Point + Punt + @@ -4707,110 +4926,83 @@ However, no constraints linking to the endpoints were found. - Construction - Construcció - - - - Elements - Elements - - - - - - - Point - Punt - - - - - - - - - - - - Internal Internal - - + + + - Line Línia - - + + + - Arc Arc - - + + + - Circle Cercle - - + + + - Ellipse El·lipse - - + + + - Elliptical Arc Arc el·líptic - - + + + - Hyperbolic Arc Arc hiperbòlic - - + + + - Parabolic Arc Arc parabòlic - - + + + - BSpline BSpline - - + + + - Other Altres - + Extended information Informació ampliada @@ -4818,42 +5010,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages Missatges del solucionador - + Auto update Actualitza automàticament - + Executes a recomputation of active document after every sketch action Executa un recàlcul del document actiu després de cada acció de l'esbós - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5031,112 +5223,112 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch Edit sketch - + A dialog is already open in the task panel A dialog is already open in the task panel - + Do you want to close this dialog? Do you want to close this dialog? - + Invalid sketch L'esbós no és vàlid. - + Do you want to open the sketch validation tool? Voleu obrir l'eina de validació d'esbossos? - + The sketch is invalid and cannot be edited. L'esbós no és vàlid i no es pot editar. - + Please remove the following constraint: Suprimiu la restricció següent: - + Please remove at least one of the following constraints: Suprimiu almenys una de les restriccions següents: - + Please remove the following redundant constraint: Suprimiu la restricció redundant següent: - + Please remove the following redundant constraints: Suprimiu les restriccions redundants següents: - + The following constraint is partially redundant: The following constraint is partially redundant: - + The following constraints are partially redundant: The following constraints are partially redundant: - + Please remove the following malformed constraint: Please remove the following malformed constraint: - + Please remove the following malformed constraints: Please remove the following malformed constraints: - + Empty sketch L'esbós és buit. - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Redundant constraints: - + Partially redundant: Partially redundant: - + Solver failed to converge Solver failed to converge - + Under constrained: Under constrained: - + %n DoF(s) %n DoF(s) @@ -5144,7 +5336,7 @@ This is done by analyzing the sketch geometries and constraints. - + Fully constrained Fully constrained @@ -5152,8 +5344,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines Canvia entre mostrar i amagar l'ansa de curvatura per a tots els B-splines @@ -5161,8 +5353,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline Redueix la multiplicitat del nus seleccionat d'un B-spline @@ -5170,8 +5362,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines Canvia entre mostrar i amagar el grau per a tots els B-splines @@ -5179,8 +5371,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline Augmenta la multiplicitat del nus seleccionat d'un B-spline @@ -5188,8 +5380,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines Canvia entre mostrar i amagar la multiplicitat del nus per a tots els B-splines @@ -5197,8 +5389,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines Switches between showing and hiding the control point weight for all B-splines @@ -5206,8 +5398,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines Canvia entre mostrar i amagar els polígons de control per a tots els B-splines @@ -5215,8 +5407,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point Crea un clon de la geometria prenent com a referència l'últim punt seleccionat. @@ -5224,17 +5416,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone Clona - + Copy Copia - + Move Mou @@ -5242,8 +5434,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc Fixa el diàmetre d'un cercle o d'un arc @@ -5251,7 +5443,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5259,8 +5451,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc Fixa el radi d'un cercle o arc @@ -5268,7 +5460,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc Fix the radius/diameter of a circle or an arc @@ -5276,8 +5468,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point Crea una còpia simple de la geometria prenent com a referència l'últim punt seleccionat. @@ -5496,64 +5688,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found No s'ha trobat cap esbós. - + The document doesn't have a sketch El document no té cap esbós. - + Select sketch Seleccioneu un esbós - + Select a sketch from the list Seleccioneu un esbós de la llista - + (incompatible with selection) (incompatible amb la selecció) - + (current) (actual) - + (suggested) (suggerit) - + Sketch attachment Adjunt d'esbós - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. - + Select the method to attach this sketch to selected objects. Seleccioneu el mètode per a adjuntar aquest esbós als objectes seleccionats - + Map sketch Mapa l'esbós - + Can't map a sketch to support: %1 No es pot mapar un esbós al suport: %1 @@ -5562,8 +5754,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point Mou la geometria prenent com a referència l'últim punt seleccionat @@ -5571,12 +5763,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment Adjunt d'esbós - + Select the method to attach this sketch to selected object Seleccioneu el mètode per a adjuntar aquest esbós a l'objecte seleccionat @@ -5584,12 +5776,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support L'esbós té un suport. - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? L'esbós amb una cara de suport no es pot reorientar. Voleu separar-lo del suport? @@ -5597,11 +5789,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - Forma - DOF @@ -5620,11 +5807,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - Forma - Default algorithm used for Sketch solving @@ -5896,7 +6078,7 @@ L'algoritme Eigen Sparse QR està optimitzat per a matrius escasses; generalment ViewProviderSketch - + and %1 more and %1 more @@ -6086,22 +6268,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6109,87 +6291,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error Error - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6231,8 +6413,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6329,9 +6511,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error Value Error @@ -6367,58 +6549,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - Geometria de construcció + Normal Geometry + Normal Geometry + Construction Geometry + Geometria de construcció + + + + + External Geometry External Geometry @@ -6439,12 +6621,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6452,12 +6634,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6488,4 +6670,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + Dimensió + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts index 20904da14d..44a43da8f6 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb 显示/隐藏B样条曲率梳形图 - + Switches between showing and hiding the curvature comb for all B-splines 切换所有 B-样条曲线曲率梳的显示和隐藏 @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree 显示/隐藏B样条角度数 - + Switches between showing and hiding the degree for all B-splines 切换所有 B-样条曲线角度数的显示和隐藏 @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity 显示/隐藏 B-样条节点多重性 - + Switches between showing and hiding the knot multiplicity for all B-splines 切换所有 B-样条曲线节点多重性的显示和隐藏 @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight 显示/隐藏B样条曲线控制多边形 - + Switches between showing and hiding the control point weight for all B-splines 切换所有B样条曲线曲线控制多边形的显示和隐藏 @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon 显示/隐藏B样条曲线控制多边形 - + Switches between showing and hiding the control polygons for all B-splines 切换所有B样条曲线控制多边形的显示和隐藏 @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone 克隆 - + Creates a clone of the geometry taking as reference the last selected point 依最后所选的点作为参考点对几何形状进行含约束连动的复制 @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer 显示/隐藏B样条信息层 - + Show/hide B-spline degree 显示/隐藏B样条角度数 - + Show/hide B-spline control polygon 显示/隐藏B样条曲线控制多边形 - + Show/hide B-spline curvature comb 显示/隐藏B样条曲率梳形图 - + Show/hide B-spline knot multiplicity 显示/隐藏 B-样条节点多重性 - + Show/hide B-spline control point weight 显示/隐藏B样条曲线控制多边形 @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle 约束圆弧或圆 - + Constrain an arc or a circle 约束圆弧或圆 - + Constrain radius 半径约束 - + Constrain diameter 约束直径 - + Constrain auto radius/diameter 约束自动半径/直径 @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone 克隆 - + Creates a clone of the geometry taking as reference the last selected point 依最后所选的点作为参考点对几何形状进行含约束连动的复制 @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity 修改重复性节点 - + Modifies the multiplicity of the selected knot of a B-spline 修改B样条曲线选定的重复性节点 - + Increase knot multiplicity 提高结多重性 - + Decrease knot multiplicity 减少结多重性 @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle 角度约束 - + Fix the angle of a line or the angle between two lines 固定一直线角度或两直线夹角 @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block 约束块 - + Block the selected edge from moving Block the selected edge from moving @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident 重合约束 - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses 在点之间创建重合约束,或在圆、弧和椭圆之间的同心约束 @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter 约束直径 - + Fix the diameter of a circle or an arc 固定圆或圆弧的直径 @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance 距离约束 - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance 水平距离约束 - + Fix the horizontal distance between two points or line ends 固定两点(或线端点)之间的水平距离 @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance 限制垂直距离 - + Fix the vertical distance between two points or line ends 固定两点(或线端点)之间的垂直距离 @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal 相等约束 - + Create an equality constraint between two lines or between circles and arcs 两直线或圆与圆弧间创建相等约束 @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally 水平约束 - + Create a horizontal constraint on the selected item 在所选对象上创建水平约束 @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock 锁定约束 - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel 平行约束 - + Create a parallel constraint between two lines 两条线之间创建平行约束 @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular 垂直约束 - + Create a perpendicular constraint between two lines 为两条直线创建垂直约束 @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object 点约束至对象 - + Fix a point onto an object 固定点至对象 @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter 约束自动半径/直径 - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen 如果选中了圆,则固定直径,如果选中了圆弧/样条 极点,则固定半径 @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight 约束半径和权重 - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline 修复圆或弧的半径或修复B样条曲线的极限。 @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical 对称约束 - + Create a symmetry constraint between two points with respect to a line or a third point 对两点作关于一条直线或第三点的对称约束 @@ -614,12 +614,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent 相切约束 - + Create a tangent constraint between two entities 在两实体间创建相切约束 @@ -627,12 +627,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically 垂直约束 - + Create a vertical constraint on the selected item 在所选对象上创建垂直约束 @@ -640,12 +640,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline 将几何体转换为B样条曲线 - + Converts the selected geometry to a B-spline 将选中的几何形状转换为B样条曲线 @@ -653,12 +653,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy 复制 - + Creates a simple copy of the geometry taking as reference the last selected point 依最后所选的点作为参考点对几何图形进行不含约束连动的复制 @@ -1017,12 +1017,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree 减少B样条曲线次数 - + Decreases the degree of the B-spline 降低B-样条的次数 @@ -1030,12 +1030,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity 减少结多重性 - + Decreases the multiplicity of the selected knot of a B-spline 减少贝B样条曲线选定节点的多重性 @@ -1043,12 +1043,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints 删除所有约束 - + Delete all constraints in the sketch 删除草图中的所有约束 @@ -1056,12 +1056,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry 删除所有几何图形 - + Delete all geometry and constraints in the current sketch, with the exception of external geometry 删除当前草图中的所有几何图形和约束,外部几何图形除外 @@ -1069,12 +1069,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch 编辑草绘 - + Edit the selected sketch. 编辑选定的草图 @@ -1108,12 +1108,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree 增加B样条曲线次数 - + Increases the degree of the B-spline 增加B样条的度数 @@ -1121,12 +1121,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity 提高结多重性 - + Increases the multiplicity of the selected knot of a B-spline 增加 B 样条所选节点的多重性 @@ -1134,12 +1134,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot 插入节点 - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. 在指定参数处插入节点。 如果指定参数处已存在节点,则将该节点的多重性增加一。 @@ -1147,12 +1147,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves Join curves - + Join two curves at selected end points Join two curves at selected end points @@ -1160,12 +1160,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch 离开草图 - + Finish editing the active sketch. 结束正在编辑的活动草图 @@ -1173,12 +1173,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... 映射草图至面... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1187,7 +1187,7 @@ then call this command, then choose the desired sketch. 然后调用此命令,再选择所需草图。 - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. 某些选定对象依赖于要映射的草图。不允许循环依赖。 @@ -1195,22 +1195,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches 合并草图 - + Create a new sketch from merging two or more selected sketches. 通过合并两个或多个选定的草图创建一个新的草图。 - + Wrong selection 选择错误 - + Select at least two sketches. 请选择至少两个草图 @@ -1218,24 +1218,24 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch 镜像草图 - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. 使用 X 或 Y 轴或原点作为镜像参考,为每个选定的草图创建一个新的镜像草图 - + Wrong selection 选择错误 - + Select one or more sketches. 选择一个或多个灯具。 @@ -1243,12 +1243,12 @@ as mirroring reference. CmdSketcherMove - + Move 移动 - + Moves the geometry taking as reference the last selected point 依最后所选的点作为参考点对几何形状进行移动 @@ -1256,12 +1256,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch 创建草图 - + Create a new sketch. 创建一个新的草图 @@ -1269,12 +1269,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array 矩形阵列 - + Creates a rectangular array pattern of the geometry taking as reference the last selected point 以最后所选的点作为参考,创建图形的长方形阵列 @@ -1282,12 +1282,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment 移除轴对齐 - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection 修改删除轴对齐约束,以保留所选部分的约束关系 @@ -1295,12 +1295,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... 调整草图方向... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. 将选中的草图放置在某个全球坐标平面上。 @@ -1310,12 +1310,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry 显示/隐藏内部几何形状 - + Show all internal geometry or hide unused internal geometry 显示所有内部几何体或隐藏未使用的内部几何体 @@ -1323,8 +1323,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints 选择相冲突的约束 @@ -1332,12 +1332,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints 选择关联的约束 - + Select the constraints associated with the selected geometrical elements 选择与选定几何元素关联的约束 @@ -1345,12 +1345,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry 选择关联的几何体 - + Select the geometrical elements associated with the selected constraints 选择与所选约束相关的几何元素 @@ -1358,12 +1358,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF 选择未约束的自由度 - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. 选择求解器仍检测为无约束自由度的元素。 @@ -1371,12 +1371,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis 选择水平轴 - + Select the local horizontal axis of the sketch 选择草图的局部水平轴 @@ -1384,8 +1384,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints 选择流型的约束 @@ -1393,12 +1393,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin 选择原点 - + Select the local origin point of the sketch 选择草图的局部原点 @@ -1406,8 +1406,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints 选择部分冗余约束 @@ -1415,8 +1415,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints 选择冗余约束 @@ -1424,12 +1424,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis 选择垂直轴 - + Select the local vertical axis of the sketch 选择草图的局部垂直轴 @@ -1450,12 +1450,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation 停止操作 - + When in edit mode, stop the active operation (drawing, constraining, etc.). 在编辑模式下,停止激活的操作(绘图、约束等)。 @@ -1476,12 +1476,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry 对称 - + Creates symmetric geometry with respect to the last selected line or point 建立几何对称,并以最后一个选择的点或线为对称轴 @@ -1489,12 +1489,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint 激活/停用约束 - + Activates or deactivates the selected constraints 激活或停用选定的约束 @@ -1515,12 +1515,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint 切换驱动/参考约束 - + Set the toolbar, or the selected constraints, into driving or reference mode 设置工具栏或选定的约束, @@ -1543,23 +1543,23 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... 校验草图… - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. 通过查看缺失、巧合、无效的约束、无效的几何等来验证草图。 - + Wrong selection 选择错误 - + Select only one sketch. 只选择一个草图。 @@ -1567,12 +1567,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section 查看截面 - + When in edit mode, switch between section view and full view. 在编辑模式下,在截面视图和完整视图之间切换。 @@ -1580,12 +1580,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch 查看草图 - + When in edit mode, set the camera orientation perpendicular to the sketch plane. 在编辑模式下,设置相机方向垂直于草图平面。 @@ -1593,287 +1593,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint 添加水平约束 - - - + + + Add horizontal alignment 添加水平对齐 - - + + Add vertical constraint 添加垂直约束 - + Add vertical alignment 添加垂直对齐 - + Add 'Lock' constraint 添加“锁定”约束 - + Add relative 'Lock' constraint 添加相对的“锁定”约束 - + Add fixed constraint 添加固定约束 - + Add 'Block' constraint 添加“块”约束 - + Add block constraint 添加块约束 - - - + + + Add coincident constraint 添加并发约束 - - + + Add distance from horizontal axis constraint 从水平轴约束添加距离 - - + + Add distance from vertical axis constraint 从垂直轴约束添加距离 - - + + Add point to point distance constraint 添加点到点距离约束 - - + + + Add point to line Distance constraint 添加点到线距离约束 - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint 添加长度约束 - - + + + Dimension + 尺寸标注 + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint 添加对象上点约束 - - + + Add point to point horizontal distance constraint 添加点到点水平距离约束 - + Add fixed x-coordinate constraint 添加固定x坐标约束 - - + + Add point to point vertical distance constraint 添加点到点垂直距离约束 - + Add fixed y-coordinate constraint 添加固定Y坐标约束 - - + + Add parallel constraint 添加平行约束 - - - - - - - + + + + + + + Add perpendicular constraint 添加垂直约束 - + Add perpendicularity constraint 添加垂直约束 - + Swap coincident+tangency with ptp tangency 切换边相切与ptp相切 - + Swap PointOnObject+tangency with point to curve tangency 将点与对象相切与点到曲线相切交换 - - - - - - - + + + + + + + Add tangent constraint 添加切线约束 - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point 添加正切约束点 - - - - + + + + Add radius constraint 添加半径约束 - - - - + + + + Add diameter constraint 添加直径约束 - - - - + + + + Add radiam constraint 添加半径约束 - - - - - - + + + + + + Add angle constraint 添加角度约束 - - + + Add equality constraint 添加相等约束 - - - - - + + + + + Add symmetric constraint 添加对称约束 - + Add Snell's law constraint 添加斯内尔定律约束 - + Toggle constraint to driving/reference 将约束切换到作用/参考 - + Activate/Deactivate constraint 激活/停用约束 - + Create a new sketch on a face 在平面上创建一个新的草图 - + Create a new sketch 创建一个新草绘 - + Reorient sketch 调整草图方向 - + Attach sketch 附加草图 - + Detach sketch 拆分草图 - + Create a mirrored sketch for each selected sketch 为选定草图创建镜像草图 - + Merge sketches 合并草图 @@ -1991,72 +2108,72 @@ invalid constraints, degenerated geometry, etc. Add hexagon - + Convert to NURBS 转换为 NURBS - + Increase spline degree 增加样条次数 - + Decrease spline degree 减少样条次数 - + Increase knot multiplicity 提高结多重性 - + Decrease knot multiplicity 减少结多重性 - + Insert knot 插入节点 - + Join Curves Join Curves - + Exposing Internal Geometry 暴露内部几何元素 - + Create symmetric geometry 创建对称几何图形 - + Copy/clone/move geometry Copy/clone/move geometry - + Create copy of geometry Create copy of geometry - + Delete all geometry 删除所有几何图形 - + Delete All Constraints 删除所有约束 - + Remove Axes Alignment Remove Axes Alignment @@ -2067,44 +2184,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space Update constraint's virtual space - + Add auto constraints Add auto constraints - + Swap constraint names 替换约束名 - + Rename sketch constraint Rename sketch constraint - + Drag Point Drag Point - + Drag Curve Drag Curve - + Drag Constraint Drag Constraint - + Modify sketch constraints Modify sketch constraints @@ -2165,59 +2282,59 @@ invalid constraints, degenerated geometry, etc. 自动约束错误: 应用相等约束后草图无法求解。 - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. 无法猜测曲线的交叉点。尝试在你打算做圆角的曲线顶点之间添加一个重合约束。 - - + + BSpline Geometry Index (GeoID) is out of bounds. 贝赛尔样条几何图形索引(GeoID) 超出了界限。 - + You are requesting no change in knot multiplicity. 你被要求不对多重性节点做任何修改。 - - + + The Geometry Index (GeoId) provided is not a B-spline curve. 提供的几何图形索引 (GeoId) 不是贝赛尔样条曲线 - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. 结指数超出界限。请注意, 按照 OCC 符号, 第一个节点的索引为1, 而不是0。 - + The multiplicity cannot be increased beyond the degree of the B-spline. 无法重复增加到超过贝塞尔曲线的自由度。 - + The multiplicity cannot be decreased beyond zero. 多重性不能小于0. - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC 无法在最大公差范围内减少多重性。 - + Knot cannot have zero multiplicity. Knot cannot have zero multiplicity. - + Knot multiplicity cannot be higher than the degree of the BSpline. Knot multiplicity cannot be higher than the degree of the BSpline. - + Knot cannot be inserted outside the BSpline parameter range. 不能在B样条参数范围之外插入节点。 @@ -2233,210 +2350,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher 草图设计 - + There are no modes that accept the selected set of subelements 没有接受所选子元素集的模式 - + Broken link to support subelements 断开链路以支持子元素 - - + + Unexpected error 未知错误 - + Face is non-planar 非平面 - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) 所选形状是不正确的形式 (例如, 需要直线边错选曲线边) - + Sketch mapping 草图映射 - + Can't map the sketch to selected object. %1. 无法将草图映射到所选对象。%1 - - + + Don't attach 不要附加 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection 选择错误 @@ -2447,566 +2567,569 @@ invalid constraints, degenerated geometry, etc. 从草图选择边 - + Not allowed to edit the datum because the sketch contains conflicting constraints 由于草图包含冲突的约束无法编辑基准 - + Dimensional constraint 尺寸约束 - + Cannot add a constraint between two external geometries. Cannot add a constraint between two external geometries. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. - + Sketcher Constraint Substitution Sketcher Constraint Substitution - + Keep notifying me of constraint substitutions Keep notifying me of constraint substitutions - - - + + + Only sketch and its support are allowed to be selected. Only sketch and its support are allowed to be selected. - + One of the selected has to be on the sketch. One of the selected has to be on the sketch. - - + + Select an edge from the sketch. 从草图中选择边. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint 不可约束 - - - - + + + + The selected edge is not a line segment. The selected edge is not a line segment. - - - - - - + + + + + + Double constraint 双重约束 - - - - - + + + + + The selected edge already has a horizontal constraint! 所选边已有水平约束! - - - + + + The selected edge already has a vertical constraint! 所选边已有垂直约束! - - - - - - + + + + + + The selected edge already has a Block constraint! 所选边已有块约束! - + The selected item(s) can't accept a horizontal constraint! 所选项目无法应用水平约束! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! 选取了多个固定点。最多只能选择一个固定点! - + The selected item(s) can't accept a vertical constraint! 所选项目无法应用垂直约束! - - - + + + Select vertices from the sketch. 从草绘选择顶点。 - + Select one vertex from the sketch other than the origin. 从草图中选取一个非原点的顶点。 - + Select only vertices from the sketch. The last selected vertex may be the origin. 从草图中仅选取顶点。最后选定的顶点可能是原点。 - + Wrong solver status 错误的求解状态 - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. - + Select one edge from the sketch. 从草绘中选取一个边。 - + Select only edges from the sketch. 仅从草绘中选择边。 - + Number of selected objects is not 3 Number of selected objects is not 3 - - - + + + Error 错误 - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. 已应用端点到端点相切作为替代方案。 - + Select two or more points from the sketch. 从草绘选择两个或更多点。 - + Select two or more vertices from the sketch. Select two or more vertices from the sketch. - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. 从草图仅选取一直线, 或一点和一直线, 或两点. - + Cannot add a length constraint on an axis! 无法在坐标轴上添加长度约束! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. This constraint does not make sense for non-linear curves. - + Endpoint to edge tangency was applied instead. Endpoint to edge tangency was applied instead. - - - - - - - + + + + + + + Select the right things from the sketch. 从草绘选择正确的对象。 - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. Select an edge that is not a B-spline weight. - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. 所选的点没有一个被约束到各自的曲线上,因为它们是在同一元素上的一部分,或是它们都是外部几何形状。 - - - - + + + + Select exactly one line or up to two points from the sketch. 从草图选择一根线或两个点. - + Cannot add a horizontal length constraint on an axis! 无法在坐标轴上添加水平长度约束! - + Cannot add a fixed x-coordinate constraint on the origin point! 无法于原点加入固定x座标的约束! - - + + This constraint only makes sense on a line segment or a pair of points. This constraint only makes sense on a line segment or a pair of points. - + Cannot add a vertical length constraint on an axis! 无法在坐标轴上添加垂直长度约束! - + Cannot add a fixed y-coordinate constraint on the origin point! 无法于原点加入固定y座标的约束! - + Select two or more lines from the sketch. 从草图选择两条或两条以上直线. - - + + Select at least two lines from the sketch. 至少从草图选择两直线. - + Select a valid line. 选择一条有效的直线 - - + + The selected edge is not a valid line. The selected edge is not a valid line. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. perpendicular constraint - 可以采用多种方法来应用此约束。 + 可以采用多种方法来应用此约束。 接受的组合: 两条曲线; 一个端点和一个曲线; 两个端点; 两条曲线和一个点。 - + Select some geometry from the sketch. perpendicular constraint 从草图中选取一些几何属性 - - + + Cannot add a perpendicularity constraint at an unconnected point! 不能对没有连接点的两条线段添加"垂直"约束 - - - + + + Perpendicular to B-spline edge currently unsupported. 目前不支持垂直于的贝塞尔曲线边缘。 - - + + One of the selected edges should be a line. 所选边之一须为直线. - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. 已应用端点到端点相切。已删除重合约束。 - + Endpoint to edge tangency was applied. The point on object constraint was deleted. Endpoint to edge tangency was applied. The point on object constraint was deleted. - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. tangent constraint - 可以使用多种方法来应用此约束。 + 可以使用多种方法来应用此约束。 接受的组合: 两条曲线; 一个端点和一个曲线; 两个端点; 两条曲线和一个点。 - + Select some geometry from the sketch. tangent constraint 从草图中选取一些几何属性 - - - + + + Cannot add a tangency constraint at an unconnected point! 不能对没有连接点的两条线段添加"相切"约束 - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! 选取对象的数量有误! - - + + With 3 objects, there must be 2 curves and 1 point. 3个对象时至少需有2条曲线及1个点。 - - - + + + Tangency to B-spline edge currently unsupported. 目前不支持与贝塞尔曲线边缘相切。 - - - - - - + + + + + + Select one or more arcs or circles from the sketch. 从草图中选择一个或多个弧或圆。 - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. - - - + + + Constraint only applies to arcs or circles. 约束只适用于圆弧或圆。 - - + + Select one or two lines from the sketch. Or select two edges and a point. 从草图中选择一或两条直线。或选择两条边和一个点。 - - + + Parallel lines 平行线 - - + + An angle constraint cannot be set for two parallel lines. 不能为两条平行线设置角度约束。 - + Cannot add an angle constraint on an axis! 无法在坐标轴上添加角度约束! - + Select two edges from the sketch. 从草图选择两条边. - + Select two or more compatible edges. Select two or more compatible edges. - + Sketch axes cannot be used in equality constraints. 草图轴无法用于相等约束. - + Equality for B-spline edge currently unsupported. 目前不支持贝塞尔曲线条边缘的等值约束。 - - - + + + + Select two or more edges of similar type. Select two or more edges of similar type. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. 请从草图中选取2个点及对称线, 2个点及对称点或1条线及1对称点。 - - + + Cannot add a symmetry constraint between a line and its end points. Cannot add a symmetry constraint between a line and its end points. - - + + + + Cannot add a symmetry constraint between a line and its end points! 无法在直线及其端点间添加对称约束! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. - + Selected objects are not just geometry from one sketch. 选取的物件并非来自于草图的几何形状。 - + Cannot create constraint with external geometry only. Cannot create constraint with external geometry only. - + Incompatible geometry is selected. Incompatible geometry is selected. - + SnellsLaw on B-spline edge is currently unsupported. SnellsLaw on B-spline edge is currently unsupported. - - - - - + + + + + Select constraints from the sketch. Select constraints from the sketch. @@ -3028,155 +3151,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c Define B-Spline Degree, between 1 and %1: + + - - CAD Kernel Error CAD 内核错误 - + None of the selected elements is an edge. 被选中的元素没有一个是边缘。 - - + + At least one of the selected objects was not a B-Spline and was ignored. 至少有一个所选对象不是 B 样条曲线, 被忽略。 - - + + The selection comprises more than one item. Please select just one knot. 所选内容包括多个项目。请只选择一个节点。 - - + + Input Error 输入错误 - - + + None of the selected elements is a knot of a B-spline 所选元素都不是B样条的节点 - - + + Selection is empty Selection is empty - + Nothing is selected. Please select a b-spline. Nothing is selected. Please select a b-spline. - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point Too many curves on point - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point Too few curves on point - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. 由单一草图中选择元素。 - + No constraint selected 没有约束被选定 - + At least one constraint must be selected 至少选择一个约束 - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. 一个对称构造需要至少两个几何元素,最后选定的几何元素是对称构造的参照元素。 - + The last element must be a point or a line serving as reference for the symmetry construction. 作为对称构造的参考基准,最后选定的元素必须是一个点或者一条直线。 - - + + A copy requires at least one selected non-external geometric element 复制操作需要至少一个被选定的非外部几何元素。 - + Delete All Geometry 删除所有几何图形 - + Are you really sure you want to delete all geometry and constraints? Are you really sure you want to delete all geometry and constraints? - + Delete All Constraints 删除所有约束 - + Are you really sure you want to delete all the constraints? 是否确实要删除所有约束? - + Removal of axes alignment requires at least one selected non-external geometric element Removal of axes alignment requires at least one selected non-external geometric element - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3375,67 +3498,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements Select Elements - + Change value 更改值 - + Toggle to/from reference 切换到参考基准/从参考基准切换过来 - + Deactivate 停用 - + Activate 启用 - + Show constraints 显示约束 - + Hide constraints 隐藏约束 - + Rename 重命名 - + Center sketch 将所选草图置于窗口中央 - + Delete 删除 - + Swap constraint names 替换约束名 - + Unnamed constraint 未命名约束 - + Only the names of named constraints can be swapped. 只有已命名约束名称可被替换。 @@ -3443,74 +3566,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle 插入角度 - + Angle: 角度: - + Insert radius 插入半径 - + Radius: 半径: - + Insert diameter 插入直径 - + Diameter: 直径: - + Insert weight Insert weight - + Weight: Weight: - + Refractive index ratio Constraint_SnellsLaw 折射率比 - + Ratio n2/n1: Constraint_SnellsLaw 比例 n2/n1: - + Insert length 插入长度 - + Length: 长度: - + Refractive index ratio 折射率比 - + Ratio n2/n1: 比例 n2/n1: @@ -3518,72 +3641,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal 法向 - + Construction 构造 - + Internal Internal - + External 外部 - + All types All types - + Point - + Line 线 - + Circle - + Ellipse 椭圆 - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3591,142 +3714,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence Point Coincidence - + Point on Object 对象上的点 - + Vertical Constraint Vertical Constraint - + Horizontal Constraint Horizontal Constraint - + Parallel Constraint Parallel Constraint - + Perpendicular Constraint Perpendicular Constraint - + Tangent Constraint Tangent Constraint - + Equal Length Equal Length - + Symmetric 对称 - + Block Constraint Block Constraint - + Lock Constraint Lock Constraint - + Horizontal Distance 水平距离 - + Vertical Distance 垂直距离 - + Length Constraint Length Constraint - + Radius Constraint Radius Constraint - + Diameter Constraint Diameter Constraint - + Radiam Constraint Radiam Constraint - + Angle Constraint Angle Constraint - + Toggle construction geometry 切换辅助线 - + Select Constraints Select Constraints - + Select Origin Select Origin - + Select Horizontal Axis Select Horizontal Axis - + Select Vertical Axis Select Vertical Axis - + Layer Layer - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden 隐藏 - + Delete 删除 @@ -4009,6 +4132,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions 通知自动约束替换 + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + 两者都是 + + + + Auto + 自动 + + + + Diameter + 直径 + + + + Radius + 半径 + SketcherGui::SketcherSettingsColors @@ -4454,12 +4646,12 @@ Then objects are only visible behind the sketch plane. 套用于现有草图 - + Unexpected C++ exception 未知C++异常 - + Sketcher 草图设计 @@ -4523,7 +4715,7 @@ Then objects are only visible behind the sketch plane. Click "Swap endpoints in constraints" button to reassign endpoints. Do this only once to sketches created in FreeCAD older than v0.15 %1 发现了反向的外部几何圆弧。它们的端点在3维视图中环绕。 -%2 约束链接到端点。这些约束已在报告视图 (菜单视图->> 视图->> 报告视图) 中列出。 +%2 约束链接到端点。这些约束已在报告视图 (菜单视图->> 视图->> 报告视图) 中列出。 单击 "在约束中交换端点" 按钮以重新分配端点。仅在 FreeCAD 中创建的草图是 v0.15以下旧版本时使用。 @@ -4532,7 +4724,7 @@ Click "Swap endpoints in constraints" button to reassign endpoints. Do this only %1 reversed external-geometry arcs were found. Their endpoints are encircled in 3d view. However, no constraints linking to the endpoints were found. - %1 发现了反向的外部几何圆弧。它们的端点在3d 视图中环绕。 + %1 发现了反向的外部几何圆弧。它们的端点在3d 视图中环绕。 但是, 未找到链接到端点的约束。 @@ -4632,48 +4824,48 @@ However, no constraints linking to the endpoints were found. 设置 - + Constraints 约束 - + Auto constraints 自动约束 - + Auto remove redundants 自动删除冗余 - + Show only filtered Constraints Show only filtered Constraints - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error 错误 - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4705,6 +4897,33 @@ However, no constraints linking to the endpoints were found. Settings 设置 + + + + + + + + + + + + Construction + 构造 + + + + Elements + 元素 + + + + + + + Point + + @@ -4716,110 +4935,83 @@ However, no constraints linking to the endpoints were found. - Construction - 构造 - - - - Elements - 元素 - - - - - - - Point - - - - - - - - - - - - - Internal Internal - - + + + - Line 线 - - + + + - Arc 圆弧 - - + + + - Circle - - + + + - Ellipse 椭圆 - - + + + - Elliptical Arc 椭圆弧 - - + + + - Hyperbolic Arc 双曲线弧 - - + + + - Parabolic Arc 抛物线弧 - - + + + - BSpline B样条曲线 - - + + + - Other 其它 - + Extended information 扩展信息 @@ -4827,42 +5019,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages 求解器信息 - + Auto update 自动更新 - + Executes a recomputation of active document after every sketch action Executes a recomputation of active document after every sketch action - + Click to select the conflicting constraints. Click to select the conflicting constraints. - + Click to select the redundant constraints. Click to select the redundant constraints. - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5040,119 +5232,119 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch 编辑草绘 - + A dialog is already open in the task panel 一个对话框已在任务面板打开 - + Do you want to close this dialog? 您要关闭此对话框吗? - + Invalid sketch 无效的草图 - + Do you want to open the sketch validation tool? 你想打开草图验证工具么? - + The sketch is invalid and cannot be edited. 该草图不可用并不可编辑。 - + Please remove the following constraint: 请删除以下约束: - + Please remove at least one of the following constraints: 请至少删除以下约束之一: - + Please remove the following redundant constraint: 请删除以下冗余约束: - + Please remove the following redundant constraints: 请删除以下冗余约束: - + The following constraint is partially redundant: The following constraint is partially redundant: - + The following constraints are partially redundant: The following constraints are partially redundant: - + Please remove the following malformed constraint: Please remove the following malformed constraint: - + Please remove the following malformed constraints: Please remove the following malformed constraints: - + Empty sketch 空草图 - + Over-constrained: Over-constrained: - + Malformed constraints: Malformed constraints: - + Redundant constraints: Redundant constraints: - + Partially redundant: Partially redundant: - + Solver failed to converge Solver failed to converge - + Under constrained: 未约束的: - + %n DoF(s) %n个自由度 - + Fully constrained Fully constrained @@ -5160,8 +5352,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines 切换所有 B-样条曲线曲率梳的显示和隐藏 @@ -5169,8 +5361,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline 减少贝B样条曲线选定节点的多重性 @@ -5178,8 +5370,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines 切换所有 B-样条曲线角度数的显示和隐藏 @@ -5187,8 +5379,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline 增加 B 样条所选节点的多重性 @@ -5196,8 +5388,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines 切换所有 B-样条曲线节点多重性的显示和隐藏 @@ -5205,8 +5397,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines 切换所有B样条曲线曲线控制多边形的显示和隐藏 @@ -5214,8 +5406,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines 切换所有B样条曲线控制多边形的显示和隐藏 @@ -5223,8 +5415,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point 依最后所选的点作为参考点对几何形状进行含约束连动的复制 @@ -5232,17 +5424,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone 克隆 - + Copy 复制 - + Move 移动 @@ -5250,8 +5442,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc 固定圆或圆弧的直径 @@ -5259,7 +5451,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc 固定圆或圆弧的半径/直径 @@ -5267,8 +5459,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc 固定圆或圆弧的半径 @@ -5276,7 +5468,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc 固定圆或圆弧的半径/直径 @@ -5284,8 +5476,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point 依最后所选的点作为参考点对几何图形进行不含约束连动的复制 @@ -5504,64 +5696,64 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found 未发现草图 - + The document doesn't have a sketch 此文档无草图 - + Select sketch 选择草图 - + Select a sketch from the list 从清单中选择草图 - + (incompatible with selection) (与选择不兼容) - + (current) (当前) - + (suggested) (建议) - + Sketch attachment 草图附加 - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. - + Select the method to attach this sketch to selected objects. 选要如何将此草图附加到所选物件 - + Map sketch 映射草图 - + Can't map a sketch to support: %1 无法映射草图以支持: @@ -5571,8 +5763,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point 依最后所选的点作为参考点对几何形状进行移动 @@ -5580,12 +5772,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment 草图附加 - + Select the method to attach this sketch to selected object 选择要如何将此草图附加到所选对象 @@ -5593,12 +5785,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support 草图中设定了支持对象 - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? 无法重新定向带有支持面的草图。是否要将其从支持对象中分离? @@ -5606,11 +5798,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - 窗体 - DOF @@ -5629,11 +5816,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - 窗体 - Default algorithm used for Sketch solving @@ -5906,7 +6088,7 @@ Eigen Sparse QR algorithm is optimized for sparse matrices; usually faster ViewProviderSketch - + and %1 more and %1 more @@ -6096,22 +6278,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing Grid auto spacing - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing Spacing - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6119,87 +6301,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error 错误 - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6241,8 +6423,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6339,9 +6521,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error Value Error @@ -6377,58 +6559,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - 辅助几何图形 + Normal Geometry + Normal Geometry + Construction Geometry + 辅助几何图形 + + + + + External Geometry External Geometry @@ -6449,12 +6631,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6462,12 +6644,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6498,4 +6680,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + 尺寸标注 + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-TW.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-TW.ts index 514a912049..57c1427c9c 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-TW.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-TW.ts @@ -4,12 +4,12 @@ CmdSketcherBSplineComb - + Show/hide B-spline curvature comb 顯示/隱藏 B 雲形線的曲率梳形圖 - + Switches between showing and hiding the curvature comb for all B-splines 切換顯示/隱藏 所有B雲形線的曲率梳形圖 @@ -17,12 +17,12 @@ CmdSketcherBSplineDegree - + Show/hide B-spline degree 顯示/隱藏 B 雲形線的多項式次數 - + Switches between showing and hiding the degree for all B-splines 切換顯示/隱藏 所有B雲形線的控制項次數 @@ -30,12 +30,12 @@ CmdSketcherBSplineKnotMultiplicity - + Show/hide B-spline knot multiplicity 顯示/隱藏 B 雲形線結點多重性 - + Switches between showing and hiding the knot multiplicity for all B-splines 切換顯示/隱藏所有B雲形線的結點多重性 @@ -43,12 +43,12 @@ CmdSketcherBSplinePoleWeight - + Show/hide B-spline control point weight 顯示/隱藏 B 雲形線的控制點權重 - + Switches between showing and hiding the control point weight for all B-splines 切換顯示/隱藏所有B雲形線的控制點權重 @@ -56,12 +56,12 @@ CmdSketcherBSplinePolygon - + Show/hide B-spline control polygon 顯示/隱藏 B 雲形線的控制多邊形 - + Switches between showing and hiding the control polygons for all B-splines 切換顯示/隱藏 所有B雲形線的控制多邊形 @@ -82,12 +82,12 @@ CmdSketcherClone - + Clone 複製 - + Creates a clone of the geometry taking as reference the last selected point 依最後所選的點作為參考點對幾何進行含拘束連動之複製 @@ -95,32 +95,32 @@ CmdSketcherCompBSplineShowHideGeometryInformation - + Show/hide B-spline information layer 顯示/隱藏 B 雲形線資訊層 - + Show/hide B-spline degree 顯示/隱藏 B 雲形線的多項式次數 - + Show/hide B-spline control polygon 顯示/隱藏 B 雲形線的控制多邊形 - + Show/hide B-spline curvature comb 顯示/隱藏 B 雲形線的曲率梳形圖 - + Show/hide B-spline knot multiplicity 顯示/隱藏 B 雲形線結點多重性 - + Show/hide B-spline control point weight 顯示/隱藏 B 雲形線的控制點權重 @@ -128,27 +128,27 @@ CmdSketcherCompConstrainRadDia - + Constrain arc or circle 約束弧或圓的直/半徑 - + Constrain an arc or a circle 約束單一圓弧或圓的直/半徑 - + Constrain radius 半徑拘束 - + Constrain diameter 直徑拘束 - + Constrain auto radius/diameter 自動拘束半徑/直徑 @@ -156,12 +156,12 @@ CmdSketcherCompCopy - + Clone 複製 - + Creates a clone of the geometry taking as reference the last selected point 依最後所選的點作為參考點對幾何進行含拘束連動之複製 @@ -365,22 +365,22 @@ CmdSketcherCompModifyKnotMultiplicity - + Modify knot multiplicity 修改結點多重性 - + Modifies the multiplicity of the selected knot of a B-spline 修改自一 B 雲形線所選定結點之多重性 - + Increase knot multiplicity 增加結點多重性 - + Decrease knot multiplicity 減少結點多重性 @@ -388,12 +388,12 @@ CmdSketcherConstrainAngle - + Constrain angle 角度拘束 - + Fix the angle of a line or the angle between two lines 固定線之角度或兩線間角度 @@ -401,12 +401,12 @@ CmdSketcherConstrainBlock - + Constrain block 定位拘束 - + Block the selected edge from moving 阻止選定邊的移動 @@ -414,12 +414,12 @@ CmdSketcherConstrainCoincident - + Constrain coincident 共點拘束 - + Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses Create a coincident constraint between points, or a concentric constraint between circles, arcs, and ellipses @@ -427,12 +427,12 @@ CmdSketcherConstrainDiameter - + Constrain diameter 直徑拘束 - + Fix the diameter of a circle or an arc 固定一個圓或弧的直徑 @@ -440,12 +440,12 @@ CmdSketcherConstrainDistance - + Constrain distance 距離拘束 - + Fix a length of a line or the distance between a line and a vertex or between two circles Fix a length of a line or the distance between a line and a vertex or between two circles @@ -453,12 +453,12 @@ CmdSketcherConstrainDistanceX - + Constrain horizontal distance 水平距離拘束 - + Fix the horizontal distance between two points or line ends 固定兩點或線段的水平距離 @@ -466,12 +466,12 @@ CmdSketcherConstrainDistanceY - + Constrain vertical distance 垂直距離拘束 - + Fix the vertical distance between two points or line ends 固定兩點或線段的垂直距離 @@ -479,12 +479,12 @@ CmdSketcherConstrainEqual - + Constrain equal 相等拘束 - + Create an equality constraint between two lines or between circles and arcs 於兩線/圓/弧之間建立等長拘束 @@ -492,12 +492,12 @@ CmdSketcherConstrainHorizontal - + Constrain horizontally 水平拘束 - + Create a horizontal constraint on the selected item 於所選項目建立水平拘束 @@ -505,12 +505,12 @@ CmdSketcherConstrainLock - + Constrain lock 鎖定拘束 - + Create both a horizontal and a vertical distance constraint on the selected vertex Create both a horizontal and a vertical distance constraint @@ -520,12 +520,12 @@ on the selected vertex CmdSketcherConstrainParallel - + Constrain parallel 平行拘束 - + Create a parallel constraint between two lines 於兩條線間建立平行拘束 @@ -533,12 +533,12 @@ on the selected vertex CmdSketcherConstrainPerpendicular - + Constrain perpendicular 垂直拘束 - + Create a perpendicular constraint between two lines 於兩條線間建立垂直拘束 @@ -546,12 +546,12 @@ on the selected vertex CmdSketcherConstrainPointOnObject - + Constrain point onto object 拘束點於物件上 - + Fix a point onto an object 固定點於物件上 @@ -559,12 +559,12 @@ on the selected vertex CmdSketcherConstrainRadiam - + Constrain auto radius/diameter 自動拘束半徑/直徑 - + Fix the diameter if a circle is chosen, or the radius if an arc/spline pole is chosen 如果選擇圓,則固定直徑,如果選擇圓弧/spline 極點,則固定半徑 @@ -572,12 +572,12 @@ on the selected vertex CmdSketcherConstrainRadius - + Constrain radius or weight 半徑或權重拘束 - + Fix the radius of a circle or an arc or fix the weight of a pole of a B-Spline 修正圓或弧之半徑或是修正 B 雲形線一個極點之權重 @@ -585,12 +585,12 @@ on the selected vertex CmdSketcherConstrainSnellsLaw - + Constrain refraction (Snell's law) Constrain refraction (Snell's law) - + Create a refraction law (Snell's law)constraint between two endpoints of rays and an edge as an interface. Create a refraction law (Snell's law)constraint between two endpoints of rays @@ -600,12 +600,12 @@ and an edge as an interface. CmdSketcherConstrainSymmetric - + Constrain symmetrical 對稱拘束 - + Create a symmetry constraint between two points with respect to a line or a third point 於兩個點間藉由一條線或第3點建立一個對稱拘束 @@ -614,12 +614,12 @@ with respect to a line or a third point CmdSketcherConstrainTangent - + Constrain tangent 相切拘束 - + Create a tangent constraint between two entities 於兩個實體間建立相切拘束 @@ -627,12 +627,12 @@ with respect to a line or a third point CmdSketcherConstrainVertical - + Constrain vertically 垂直拘束 - + Create a vertical constraint on the selected item 建立垂直拘束 @@ -640,12 +640,12 @@ with respect to a line or a third point CmdSketcherConvertToNURBS - + Convert geometry to B-spline 轉換幾何線條為 B 雲形線 - + Converts the selected geometry to a B-spline 將選定的幾何轉換為B雲形線 @@ -653,12 +653,12 @@ with respect to a line or a third point CmdSketcherCopy - + Copy 複製 - + Creates a simple copy of the geometry taking as reference the last selected point 依最後所選的點作為參考點對幾何進行不含拘束連動之複製 @@ -1017,12 +1017,12 @@ with respect to a line or a third point CmdSketcherDecreaseDegree - + Decrease B-spline degree 減少 B 雲形線之多項式次數 - + Decreases the degree of the B-spline 增加 B 雲形線的多項式次數 @@ -1030,12 +1030,12 @@ with respect to a line or a third point CmdSketcherDecreaseKnotMultiplicity - + Decrease knot multiplicity 減少結點多重性 - + Decreases the multiplicity of the selected knot of a B-spline 減少自一 B 雲形線所選定結點之多重性 @@ -1043,12 +1043,12 @@ with respect to a line or a third point CmdSketcherDeleteAllConstraints - + Delete all constraints 刪除所有拘束 - + Delete all constraints in the sketch 刪除此草圖中所有拘束 @@ -1056,12 +1056,12 @@ with respect to a line or a third point CmdSketcherDeleteAllGeometry - + Delete all geometry 刪除所有幾何圖形 - + Delete all geometry and constraints in the current sketch, with the exception of external geometry 刪除當前草圖中的所有幾何圖形和約束,外部幾何圖形除外 @@ -1069,12 +1069,12 @@ with respect to a line or a third point CmdSketcherEditSketch - + Edit sketch 編輯草圖 - + Edit the selected sketch. 編輯選取的草圖。 @@ -1108,12 +1108,12 @@ with respect to a line or a third point CmdSketcherIncreaseDegree - + Increase B-spline degree 增加 B 雲形線之多項式次數 - + Increases the degree of the B-spline 增加B雲形線的多項式次數 @@ -1121,12 +1121,12 @@ with respect to a line or a third point CmdSketcherIncreaseKnotMultiplicity - + Increase knot multiplicity 增加結點多重性 - + Increases the multiplicity of the selected knot of a B-spline 增加自一 B 雲形線所選定結點之多重性 @@ -1134,12 +1134,12 @@ with respect to a line or a third point CmdSketcherInsertKnot - + Insert knot 插入結點 - + Inserts knot at given parameter. If a knot already exists at that parameter, it's multiplicity is increased by one. 在給定參數處插入結點。如果結果在參數處出現,其多重性增加一。 @@ -1147,12 +1147,12 @@ with respect to a line or a third point CmdSketcherJoinCurves - + Join curves 連接曲線 - + Join two curves at selected end points 將兩個曲線在選定的端點處連接起來 @@ -1160,12 +1160,12 @@ with respect to a line or a third point CmdSketcherLeaveSketch - + Leave sketch 離開草圖 - + Finish editing the active sketch. 離開編輯草圖 @@ -1173,12 +1173,12 @@ with respect to a line or a third point CmdSketcherMapSketch - + Map sketch to face... 將草圖定位至面... - + Set the 'Support' of a sketch. First select the supporting geometry, for example, a face or an edge of a solid object, then call this command, then choose the desired sketch. @@ -1187,7 +1187,7 @@ then call this command, then choose the desired sketch. 然後呼叫此指令,再選擇相要的草圖。 - + Some of the selected objects depend on the sketch to be mapped. Circular dependencies are not allowed. 部分選定的物件取決於要對映的草圖。循環相依不允許。 @@ -1195,22 +1195,22 @@ then call this command, then choose the desired sketch. CmdSketcherMergeSketches - + Merge sketches 合併草圖 - + Create a new sketch from merging two or more selected sketches. 通過合併兩個或更多個選定草圖以建立新草圖。 - + Wrong selection 錯誤的選取 - + Select at least two sketches. 請至少選擇兩個草圖。 @@ -1218,24 +1218,24 @@ then call this command, then choose the desired sketch. CmdSketcherMirrorSketch - + Mirror sketch 鏡射草圖 - + Create a new mirrored sketch for each selected sketch by using the X or Y axes, or the origin point, as mirroring reference. 以 X 或 Y 軸或原點作為鏡射參考,由選擇草圖來建立新的鏡射草圖。 - + Wrong selection 錯誤的選取 - + Select one or more sketches. 請選擇一個或多個草圖。 @@ -1243,12 +1243,12 @@ as mirroring reference. CmdSketcherMove - + Move 移動 - + Moves the geometry taking as reference the last selected point 以最後選擇的點為基準移動圖元 @@ -1256,12 +1256,12 @@ as mirroring reference. CmdSketcherNewSketch - + Create sketch 建立草圖 - + Create a new sketch. 建立新草圖. @@ -1269,12 +1269,12 @@ as mirroring reference. CmdSketcherRectangularArray - + Rectangular array 矩形陣列 - + Creates a rectangular array pattern of the geometry taking as reference the last selected point 以最後選擇的點為基準建立矩形陣列 @@ -1282,12 +1282,12 @@ as mirroring reference. CmdSketcherRemoveAxesAlignment - + Remove axes alignment 移除軸對齊 - + Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection 修改拘束以移除軸對齊,在此同時試著保留選擇間拘束的關係。 @@ -1295,12 +1295,12 @@ as mirroring reference. CmdSketcherReorientSketch - + Reorient sketch... 調整草圖方向... - + Place the selected sketch on one of the global coordinate planes. This will clear the 'Support' property, if any. 將選定草圖放置在全局坐標平面之一上。 @@ -1310,12 +1310,12 @@ This will clear the 'Support' property, if any. CmdSketcherRestoreInternalAlignmentGeometry - + Show/hide internal geometry 顯示/隱藏內部幾何 - + Show all internal geometry or hide unused internal geometry 顯示所有幾何或隱藏未使用的內部幾何 @@ -1323,8 +1323,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConflictingConstraints - + Select conflicting constraints 選取有矛盾之拘束 @@ -1332,12 +1332,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectConstraints - + Select associated constraints 選取有關聯之拘束 - + Select the constraints associated with the selected geometrical elements 選擇與選定幾何元件關聯的拘束 @@ -1345,12 +1345,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsAssociatedWithConstraints - + Select associated geometry 選擇有關聯之幾何 - + Select the geometrical elements associated with the selected constraints 選擇與選定拘束關聯的幾何元件 @@ -1358,12 +1358,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectElementsWithDoFs - + Select unconstrained DoF 選擇未拘束之 DoF (自由度) - + Select geometrical elements where the solver still detects unconstrained degrees of freedom. 選擇幾何元件其求解器仍然可以偵測沒被拘束到的自由度。 @@ -1371,12 +1371,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectHorizontalAxis - + Select horizontal axis 選擇水平軸 - + Select the local horizontal axis of the sketch 選擇草圖的局部水平軸 @@ -1384,8 +1384,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectMalformedConstraints - + Select malformed constraints 選擇格式錯誤的拘束 @@ -1393,12 +1393,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectOrigin - + Select origin 選取原點 - + Select the local origin point of the sketch 選擇草圖的局部原點 @@ -1406,8 +1406,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectPartiallyRedundantConstraints - + Select partially redundant constraints 選取部份冗餘拘束 @@ -1415,8 +1415,8 @@ This will clear the 'Support' property, if any. CmdSketcherSelectRedundantConstraints - + Select redundant constraints 選取冗餘拘束 @@ -1424,12 +1424,12 @@ This will clear the 'Support' property, if any. CmdSketcherSelectVerticalAxis - + Select vertical axis 選取垂直軸 - + Select the local vertical axis of the sketch 選擇草圖的局部垂直軸 @@ -1450,12 +1450,12 @@ This will clear the 'Support' property, if any. CmdSketcherStopOperation - + Stop operation 中止作業 - + When in edit mode, stop the active operation (drawing, constraining, etc.). 在編輯模式下,停止活動操作(繪圖、約束等)。 @@ -1476,12 +1476,12 @@ This will clear the 'Support' property, if any. CmdSketcherSymmetry - + Symmetry 對稱 - + Creates symmetric geometry with respect to the last selected line or point 建立幾何對稱,並以最後一個選擇之點或線為對稱軸 @@ -1489,12 +1489,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleActiveConstraint - + Activate/deactivate constraint 啟動/關閉拘束 - + Activates or deactivates the selected constraints 啟用或關閉選擇拘束 @@ -1515,12 +1515,12 @@ This will clear the 'Support' property, if any. CmdSketcherToggleDrivingConstraint - + Toggle driving/reference constraint 切換驅動/參考拘束 - + Set the toolbar, or the selected constraints, into driving or reference mode 設置工具列,或選定的拘束,進入驅動或參考模式 @@ -1542,23 +1542,23 @@ into driving or reference mode CmdSketcherValidateSketch - + Validate sketch... 檢查草圖... - + Validate a sketch by looking at missing coincidences, invalid constraints, degenerated geometry, etc. 通過查看缺少的一致性來驗證草圖,無效拘束、退化幾何等。 - + Wrong selection 錯誤的選取 - + Select only one sketch. 只選擇一個草圖 @@ -1566,12 +1566,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSection - + View section 查看剖面 - + When in edit mode, switch between section view and full view. 在編輯模式下,在剖面視圖和全視圖之間切換。 @@ -1579,12 +1579,12 @@ invalid constraints, degenerated geometry, etc. CmdSketcherViewSketch - + View sketch 查看草圖 - + When in edit mode, set the camera orientation perpendicular to the sketch plane. 當在編輯模式時,設定相機方向與草圖平面垂直。 @@ -1592,287 +1592,404 @@ invalid constraints, degenerated geometry, etc. Command - - + + Add horizontal constraint 添加水平約束 - - - + + + Add horizontal alignment 添加水平對齊 - - + + Add vertical constraint 創建垂直約束 - + Add vertical alignment 垂直對齊 - + Add 'Lock' constraint 添加定位拘束 - + Add relative 'Lock' constraint 添加相對定位拘束 - + Add fixed constraint 添加固定拘束 - + Add 'Block' constraint 添加定位拘束 - + Add block constraint 添加定位拘束 - - - + + + Add coincident constraint 添加共點約束 - - + + Add distance from horizontal axis constraint 添加與水平軸拘束的距離 - - + + Add distance from vertical axis constraint 添加與垂直軸拘束的距離 - - + + Add point to point distance constraint 添加點到點的距離約束 - - + + + Add point to line Distance constraint 添加點到線的距離約束 - - + + Add circle to circle distance constraint Add circle to circle distance constraint - + Add circle to line distance constraint Add circle to line distance constraint - - + + + + + Add length constraint 添加長度拘束 - - + + + Dimension + 標註 + + + + Add lock constraint + Add lock constraint + + + + Add 'Distance to origin' constraint + Add 'Distance to origin' constraint + + + + + + Add Distance constraint + Add Distance constraint + + + + + + Add 'Horizontal' constraints + Add 'Horizontal' constraints + + + + + + Add 'Vertical' constraints + Add 'Vertical' constraints + + + + + Add Symmetry constraint + Add Symmetry constraint + + + + + Add Symmetry constraints + Add Symmetry constraints + + + + + Add Distance constraints + Add Distance constraints + + + + Add Horizontal constraint + Add Horizontal constraint + + + + Add Vertical constraint + Add Vertical constraint + + + + Add Block constraint + Add Block constraint + + + + Add Angle constraint + Add Angle constraint + + + + + + + Add Equality constraint + Add Equality constraint + + + + Add Equality constraints + Add Equality constraints + + + + Add Radius constraint + Add Radius constraint + + + + Add concentric and length constraint + Add concentric and length constraint + + + + Add DistanceX constraint + Add DistanceX constraint + + + + Add DistanceY constraint + Add DistanceY constraint + + + + Add point to circle Distance constraint + Add point to circle Distance constraint + + + + Add point on object constraint 在物件拘束上添加點 - - + + Add point to point horizontal distance constraint 添加點到點的水平距離約束 - + Add fixed x-coordinate constraint 添加固定的 x 座標拘束 - - + + Add point to point vertical distance constraint 添加點到點的垂直距離約束 - + Add fixed y-coordinate constraint 添加固定的 y 座標拘束 - - + + Add parallel constraint 添加平行拘束 - - - - - - - + + + + + + + Add perpendicular constraint 添加垂直拘束 - + Add perpendicularity constraint 添加垂直度拘束 - + Swap coincident+tangency with ptp tangency 以 ptp 相切交換共點+相切 - + Swap PointOnObject+tangency with point to curve tangency 以點對曲線相切交換物件上點(PoingOnObject)+相切 - - - - - - - + + + + + + + Add tangent constraint 添加切線拘束 - - - - - - - - - - - - - - + + + + + + + + + + + + + + Add tangent constraint point 添加切線拘束點 - - - - + + + + Add radius constraint 添加半徑拘束 - - - - + + + + Add diameter constraint 添加直徑拘束 - - - - + + + + Add radiam constraint 添加半徑拘束 - - - - - - + + + + + + Add angle constraint 添加角度拘束 - - + + Add equality constraint 添加相等拘束 - - - - - + + + + + Add symmetric constraint 添加對稱拘束 - + Add Snell's law constraint 添加司乃耳定律拘束 - + Toggle constraint to driving/reference 切換拘束以作驅動/參考 - + Activate/Deactivate constraint 啟動/關閉拘束 - + Create a new sketch on a face 在平面上建立新的草圖 - + Create a new sketch 建立一個新的sketch - + Reorient sketch 調整草圖方向 - + Attach sketch 附加草圖 - + Detach sketch 分離草圖 - + Create a mirrored sketch for each selected sketch 由每個選擇之草圖來建立鏡射草圖 - + Merge sketches 合併草圖 @@ -1990,72 +2107,72 @@ invalid constraints, degenerated geometry, etc. 建立六角形 - + Convert to NURBS 轉換至 NURBS - + Increase spline degree 增加 B 雲形線之多項式次數 - + Decrease spline degree 減少 B 雲形線之多項式次數 - + Increase knot multiplicity 增加結點多重性 - + Decrease knot multiplicity 減少結點多重性 - + Insert knot 插入結點 - + Join Curves 連接曲線 - + Exposing Internal Geometry 暴露內部幾何 - + Create symmetric geometry 創建對稱幾何 - + Copy/clone/move geometry 拷貝/複製/移動 幾何 - + Create copy of geometry 建立幾何的拷貝 - + Delete all geometry 刪除所有幾何圖形 - + Delete All Constraints 刪除所有拘束 - + Remove Axes Alignment 移除軸對齊 @@ -2066,44 +2183,44 @@ invalid constraints, degenerated geometry, etc. - - - + + + Update constraint's virtual space 更新拘束的虛擬空間 - + Add auto constraints 添加自動拘束 - + Swap constraint names 調換拘束名稱 - + Rename sketch constraint 重新命名草圖拘束 - + Drag Point 拖曳點 - + Drag Curve 拖曳曲線 - + Drag Constraint 拖動拘束 - + Modify sketch constraints 修改草圖拘束 @@ -2164,59 +2281,59 @@ invalid constraints, degenerated geometry, etc. 自動拘束錯誤: 套用對稱拘束後無法解出此草圖 - + Unable to guess intersection of curves. Try adding a coincident constraint between the vertices of the curves you are intending to fillet. 無法猜測曲線交叉點。試著添加共點拘束在你要倒圓角的點及曲線間。 - - + + BSpline Geometry Index (GeoID) is out of bounds. B 雲形線幾何索引 (GeoID) 超出範圍。 - + You are requesting no change in knot multiplicity. 您正在要求不要改變結點多重性 - - + + The Geometry Index (GeoId) provided is not a B-spline curve. 提供的幾何索引 (GeoId) 不是 B 雲形線曲線。 - + The knot index is out of bounds. Note that in accordance with OCC notation, the first knot has index 1 and not zero. 結點索引超過範圍。請注意在 OCC 表示中,第一個結點的索引為 1 而不是 0。 - + The multiplicity cannot be increased beyond the degree of the B-spline. 結點多重性不能比 B 雲形線之多項式次數高 - + The multiplicity cannot be decreased beyond zero. 多重性不能減少到超過零。 - + OCC is unable to decrease the multiplicity within the maximum tolerance. OCC 無法在最大容差範圍內降低多重性。 - + Knot cannot have zero multiplicity. 結點之多重性不能為零。 - + Knot multiplicity cannot be higher than the degree of the BSpline. 結點多重性不能比 B 雲形線之次數高。 - + Knot cannot be inserted outside the BSpline parameter range. 結點不能在 B 雲形線參數範圍外面插入 @@ -2232,210 +2349,213 @@ invalid constraints, degenerated geometry, etc. QObject - - - - + + + + Sketcher 草圖 - + There are no modes that accept the selected set of subelements 沒有任何模式可以接受所選的子元件集 - + Broken link to support subelements 支持子元件的連結斷掉 - - + + Unexpected error 未知的錯誤 - + Face is non-planar 非平面 - + Selected shapes are of wrong form (e.g., a curved edge where a straight one is needed) 選取了錯誤的形狀(例: 需要直線邊線時選取了曲線邊線) - + Sketch mapping 草圖投影 - + Can't map the sketch to selected object. %1. 無法在選取的物件上產生草圖投影 %1 - - + + Don't attach 不要附加上去 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wrong selection 錯誤的選取 @@ -2446,339 +2566,339 @@ invalid constraints, degenerated geometry, etc. 由草圖選取邊 - + Not allowed to edit the datum because the sketch contains conflicting constraints 因草圖中含有相衝突之拘束,因此無法允許編輯數據 - + Dimensional constraint 尺度拘束 - + Cannot add a constraint between two external geometries. 於兩個外部幾何間無法建立拘束. - + Cannot add a constraint between two fixed geometries. Fixed geometries include external geometry, blocked geometry, and special points such as B-spline knot points. 無法在兩個固定幾何之間添加拘束。固定幾何包括外部幾何、區塊幾何和特殊點例如 B 雲形線之結點。 - + Sketcher Constraint Substitution 草圖拘束替換 - + Keep notifying me of constraint substitutions 繼續通知我拘束替換 - - - + + + Only sketch and its support are allowed to be selected. 只允許選擇草圖及其支撐。 - + One of the selected has to be on the sketch. 被選擇之一必須在草圖上。 - - + + Select an edge from the sketch. 於草圖中選擇邊 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Impossible constraint 無法拘束 - - - - + + + + The selected edge is not a line segment. 所選之邊非為線段. - - - - - - + + + + + + Double constraint 雙重拘束 - - - - - + + + + + The selected edge already has a horizontal constraint! 選取的邊線已經有水平拘束! - - - + + + The selected edge already has a vertical constraint! 選取的邊線已經有垂直拘束! - - - - - - + + + + + + The selected edge already has a Block constraint! 所選邊線已套用定位拘束! - + The selected item(s) can't accept a horizontal constraint! 所選項目無法使用水平拘束! - - + + There are more than one fixed points selected. Select a maximum of one fixed point! 選取超過一個固定點. 請選取最多一個固定點! - + The selected item(s) can't accept a vertical constraint! 所選項目無法使用垂直拘束! - - - + + + Select vertices from the sketch. 從草圖中選取頂點 - + Select one vertex from the sketch other than the origin. 從草圖中選取一個非原點之頂點 - + Select only vertices from the sketch. The last selected vertex may be the origin. 從草圖中只選擇端點。 最後選擇的頂點可能是原點。 - + Wrong solver status 求解器狀態錯誤 - + A Block constraint cannot be added if the sketch is unsolved or there are redundant and conflicting constraints. 如果草圖中的求解器無法解出或存在冗餘、衝突的約束,則不能再添加定位約束。 - + Select one edge from the sketch. 從草圖中選取一邊線 - + Select only edges from the sketch. 僅有邊線能從草圖中被選取 - + Number of selected objects is not 3 選取之物件數量非為3 - - - + + + Error 錯誤 - + Unexpected error. More information may be available in the Report View. Unexpected error. More information may be available in the Report View. - + Endpoint to endpoint tangency was applied instead. 已被取代為終點對終點相切 - + Select two or more points from the sketch. 從草圖中選取二個或更多點 - + Select two or more vertices from the sketch. 從草圖中選取兩個或更多頂點。 - + Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two or more vertices from the sketch for a coincident constraint, or two or more circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. Select two vertices from the sketch for a coincident constraint, or two circles, ellipses, arcs or arcs of ellipse for a concentric constraint. - + Select exactly one line or one point and one line or two points from the sketch. 由草圖中選取一條線或一個點,以及一條線或兩個點。 - + Cannot add a length constraint on an axis! 無法於軸上增加長度拘束! - - + + Select exactly one line or one point and one line or two points or two circles from the sketch. Select exactly one line or one point and one line or two points or two circles from the sketch. - + This constraint does not make sense for non-linear curves. 此拘束條件在非線性曲線上並不合理. - + Endpoint to edge tangency was applied instead. 改為應用端點到邊相切。 - - - - - - - + + + + + + + Select the right things from the sketch. 從草圖中選取正確的圖元 - - - - - - - - - - - - + + + + + + - - - - - + + + + + + + + + + + Select an edge that is not a B-spline weight. 選擇不是 B 雲形線權重的邊 - + None of the selected points were constrained onto the respective curves, because they are parts of the same element, because they are both external geometry, or because the edge is not eligible. 沒有任何被選擇點被拘束在其個別的曲線上,因為它們是同一個元件的一部份,因為它們都是外部幾何,或是因為其邊不符合條件。 - + None of the selected points were constrained onto the respective curves, either because they are parts of the same element, or because they are both external geometry. 沒有任何被選擇點被拘束在其個別的曲線上,要麼因為它們都是同一元件的一部份,或是因為他們都是外部幾何。 - - - - + + + + Select exactly one line or up to two points from the sketch. 於草圖中選取一條線或最多兩個點。 - + Cannot add a horizontal length constraint on an axis! 無法於軸上增加水平長度拘束! - + Cannot add a fixed x-coordinate constraint on the origin point! 在原點上無法加入固定X軸拘束! - - + + This constraint only makes sense on a line segment or a pair of points. 此拘束只針對線段或是一對點有意義。 - + Cannot add a vertical length constraint on an axis! 無法於軸上增加垂直長度拘束! - + Cannot add a fixed y-coordinate constraint on the origin point! 在原點上無法加入固定Y軸拘束! - + Select two or more lines from the sketch. 由草圖中選取兩條或以上線條。 - - + + Select at least two lines from the sketch. 由草圖中選取至少兩條線。 - + Select a valid line. 選擇一條有效的線。 - - + + The selected edge is not a valid line. 所選之邊非為有效線段. - + There is a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2786,42 +2906,42 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c 此拘束尚有許多方式可以使用,可用的組合有:兩條曲線、兩個端點、兩條曲線及一個點。 - + Select some geometry from the sketch. perpendicular constraint 從草圖中選取一些幾何。 - - + + Cannot add a perpendicularity constraint at an unconnected point! 無法於未連接點上建立垂直拘束! - - - + + + Perpendicular to B-spline edge currently unsupported. B雲形線的邊線目前並不支援垂直拘束 - - + + One of the selected edges should be a line. 所選之邊中需有一條線。 - + Endpoint to endpoint tangency was applied. The coincident constraint was deleted. 已套用點對點相切拘束,共點拘束已被刪除 - + Endpoint to edge tangency was applied. The point on object constraint was deleted. 終點到邊已套用相切(拘束)。因此點到物件之拘束被刪除。 - + There are a number of ways this constraint can be applied. Accepted combinations: two curves; an endpoint and a curve; two endpoints; two curves and a point. @@ -2831,179 +2951,182 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c 可接受的組合:二條曲線; 一個終止點及一條曲線;二個終主點;二條曲線及一點。 - + Select some geometry from the sketch. tangent constraint 從草圖中選取一些幾何。 - - - + + + Cannot add a tangency constraint at an unconnected point! 無法於未連接點上建立相切拘束! - - + + Tangent constraint at B-spline knot is only supported with lines! Tangent constraint at B-spline knot is only supported with lines! - + B-spline knot to endpoint tangency was applied instead. B-spline knot to endpoint tangency was applied instead. - + Select either one point and several curves, or one curve and several points. Select either one point and several curves, or one curve and several points. - - + + Wrong number of selected objects! 選取之物件數量有誤! - - + + With 3 objects, there must be 2 curves and 1 point. 三個物件時至少需有2條曲線及1個點。 - - - + + + Tangency to B-spline edge currently unsupported. 切線到 B 雲形線之邊緣目前並不支援 - - - - - - + + + + + + Select one or more arcs or circles from the sketch. 從草圖中選取一個或多個弧或圓。 - - + + Select either only one or more B-Spline poles or only one or more arcs or circles from the sketch, but not mixed. 從草圖中僅選擇一個或多個 B 雲形線極點或僅選擇一個或多個圓弧或圓,但不要混合。 - - - + + + Constraint only applies to arcs or circles. 拘束僅能用在圓弧或圓上 - - + + Select one or two lines from the sketch. Or select two edges and a point. 從草圖中選取一或兩條線條,或選取兩個邊及一個點。 - - + + Parallel lines 平行線 - - + + An angle constraint cannot be set for two parallel lines. 無法於兩條平行線間建立角度拘束。 - + Cannot add an angle constraint on an axis! 無法於軸上建立角度拘束! - + Select two edges from the sketch. 由草圖中選取兩個邊。 - + Select two or more compatible edges. 選擇兩個或更多相容之邊. - + Sketch axes cannot be used in equality constraints. 草圖軸不能用在同等拘束。 - + Equality for B-spline edge currently unsupported. 不支援B雲形線的等長拘束。 - - - + + + + Select two or more edges of similar type. 選取兩個或更多相似類型之邊. - - - - - + + + + + Select two points and a symmetry line, two points and a symmetry point or a line and a symmetry point from the sketch. 請從草圖中選取兩個點及對稱線,兩個點及對稱點或一條線擊對稱點。 - - + + Cannot add a symmetry constraint between a line and its end points. 無法在一條線及其端點間添加對稱拘束。 - - + + + + Cannot add a symmetry constraint between a line and its end points! 無法於線及其終點建立對稱拘束! - + Select two endpoints of lines to act as rays, and an edge representing a boundary. The first selected point corresponds to index n1, second to n2, and datum value sets the ratio n2/n1. Constraint_SnellsLaw 選取線段之兩個端點做為光線,以及一個邊緣做為邊界,先選的點會編號為n1,後選的點則編號為n2,基準值設定為n2/n1。 - + Selected objects are not just geometry from one sketch. 選取之物件並非來自於草圖之幾何。 - + Cannot create constraint with external geometry only. 僅用外部幾何無法建立拘束. - + Incompatible geometry is selected. 選取了不相容的幾何. - + SnellsLaw on B-spline edge is currently unsupported. B雲形線邊緣上的司乃耳定律目前不支援。 - - - - - + + + + + Select constraints from the sketch. 從草圖中選取拘束 @@ -3025,155 +3148,155 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c 定義 B 雲形線多項式次數,介於 1 及 %1 之間: + + - - CAD Kernel Error CAD核心錯誤 - + None of the selected elements is an edge. 所選元件中並無邊線。 - - + + At least one of the selected objects was not a B-Spline and was ignored. 所選物件中至少有一個不是B雲形線故被忽略 - - + + The selection comprises more than one item. Please select just one knot. 該選擇包括不止一個項目。請選擇單一個結點 - - + + Input Error 輸入錯誤 - - + + None of the selected elements is a knot of a B-spline 被選取的元件都不是B雲形線的結點 - - + + Selection is empty 選擇為空。 - + Nothing is selected. Please select a b-spline. 沒有選取任何物件。請選取 B 雲形線。 - + Please select a b-spline curve to insert a knot (not a knot on it). If the curve is not a b-spline, please convert it into one first. 請選擇一條 B 雲形線曲線來插入結點(不是其上的結點)。如果曲線還不是 B 雲形線,請先將其轉換為 B 雲形線。 - + Nothing is selected. Please select end points of curves. Nothing is selected. Please select end points of curves. - + Too many curves on point 點上的曲線過多 - - + + Exactly two curves should end at the selected point to be able to join them. Exactly two curves should end at the selected point to be able to join them. - + Too few curves on point 點上的曲線過少 - + Two end points, or coincident point should be selected. Two end points, or coincident point should be selected. - - - - - - - - - - + + + + + + + + + + Select elements from a single sketch. 由單一草圖中選擇元件。 - + No constraint selected 尚未選擇拘束 - + At least one constraint must be selected 至少需選取一個拘束 - + A symmetric construction requires at least two geometric elements, the last geometric element being the reference for the symmetry construction. 一個對稱的結構需要至少兩個幾何元件,後一個幾何元件會被作為對稱結構之參考。 - + The last element must be a point or a line serving as reference for the symmetry construction. 產生對稱結構最後一個選擇之元件作為參考必須是點或線 - - + + A copy requires at least one selected non-external geometric element 複製功能須至少選取一個非內部幾何之元件 - + Delete All Geometry 刪除所有圖元 - + Are you really sure you want to delete all geometry and constraints? 你確定要刪除所有幾何圖形及拘束嗎? - + Delete All Constraints 刪除所有拘束 - + Are you really sure you want to delete all the constraints? 確定要刪除所有拘束嗎? - + Removal of axes alignment requires at least one selected non-external geometric element 移除軸對齊需要至少選擇一個非外部幾何元件 - + Unsupported visual layer operation Unsupported visual layer operation - + It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted It is currently unsupported to move external geometry to another visual layer. External geometry will be omitted @@ -3372,67 +3495,67 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ConstraintView - + Select Elements 選擇元件 - + Change value 變更值 - + Toggle to/from reference 於參考及一般模式間切換 - + Deactivate 停用 - + Activate 啟用 - + Show constraints 顯示拘束 - + Hide constraints 隱藏拘束 - + Rename 重新命名 - + Center sketch 將所選草圖置於視窗中央 - + Delete 刪除 - + Swap constraint names 調換拘束名稱 - + Unnamed constraint 未命名之拘束 - + Only the names of named constraints can be swapped. 僅有命名之拘束其名稱可以被調換 @@ -3440,74 +3563,74 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::EditDatumDialog - + Insert angle 輸入角度 - + Angle: 角度: - + Insert radius 輸入半徑 - + Radius: 半徑: - + Insert diameter 插入直徑 - + Diameter: 直徑: - + Insert weight 插入權重 - + Weight: 權重: - + Refractive index ratio Constraint_SnellsLaw 折射率比例 - + Ratio n2/n1: Constraint_SnellsLaw 比例 n2/n1: - + Insert length 輸入長度 - + Length: 長度: - + Refractive index ratio 折射率比例 - + Ratio n2/n1: 比例 n2/n1: @@ -3515,72 +3638,72 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementFilterList - + Normal 垂直 - + Construction 建構 - + Internal 內部 - + External 外部 - + All types All types - + Point - + Line - + Circle - + Ellipse 橢圓 - + Arc of circle Arc of circle - + Arc of ellipse Arc of ellipse - + Arc of hyperbola Arc of hyperbola - + Arc of parabola Arc of parabola - + B-Spline B-Spline @@ -3588,142 +3711,142 @@ Accepted combinations: two curves; an endpoint and a curve; two endpoints; two c SketcherGui::ElementView - + Point Coincidence 點重合 - + Point on Object 物件上的點 - + Vertical Constraint 垂直拘束 - + Horizontal Constraint 水平拘束 - + Parallel Constraint 平行拘束 - + Perpendicular Constraint 垂直拘束 - + Tangent Constraint 相切拘束 - + Equal Length 相同長度 - + Symmetric 對稱 - + Block Constraint 定位拘束 - + Lock Constraint 鎖定拘束 - + Horizontal Distance 水平距離 - + Vertical Distance 垂直距離 - + Length Constraint 長度拘束 - + Radius Constraint 半徑拘束 - + Diameter Constraint 直徑拘束 - + Radiam Constraint Radiam Constraint - + Angle Constraint 角度拘束 - + Toggle construction geometry 幾何於建構線及一般模式切換 - + Select Constraints 選擇拘束 - + Select Origin 選擇原點 - + Select Horizontal Axis 選擇水平軸 - + Select Vertical Axis 選取垂直軸 - + Layer Layer - + Layer 0 Layer 0 - + Layer 1 Layer 1 - + Hidden 隱藏 - + Delete 刪除 @@ -4006,6 +4129,75 @@ Requires to re-enter edit mode to take effect. Notify automatic constraint substitutions 拘束被自動替換時通知 + + + Dimension Constraint + Dimension Constraint + + + + Dimensioning constraints: + Dimensioning constraints: + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + Dimension tool diameter/radius mode: + Dimension tool diameter/radius mode: + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + Single tool + Single tool + + + + Separated tools + Separated tools + + + + Both + 兩者 + + + + Auto + 自動 + + + + Diameter + 直徑 + + + + Radius + 半徑 + SketcherGui::SketcherSettingsColors @@ -4450,12 +4642,12 @@ Then objects are only visible behind the sketch plane. 套用於現有草圖 - + Unexpected C++ exception 未知C++異常 - + Sketcher 草圖 @@ -4624,48 +4816,48 @@ However, no constraints linking to the endpoints were found. 設定 - + Constraints Constraints - + Auto constraints 自動拘束 - + Auto remove redundants 自動移除冗餘 - + Show only filtered Constraints 只顯示過濾後之拘束 - + Extended information (in widget) Extended information (in widget) - + Hide internal alignment (in widget) Hide internal alignment (in widget) - - + + Error 錯誤 - + Impossible to update visibility tracking Impossible to update visibility tracking - + Impossible to update visibility tracking: Impossible to update visibility tracking: @@ -4697,6 +4889,33 @@ However, no constraints linking to the endpoints were found. Settings 設定 + + + + + + + + + + + + Construction + 建構 + + + + Elements + 元件 + + + + + + + Point + + @@ -4708,110 +4927,83 @@ However, no constraints linking to the endpoints were found. - Construction - 建構 - - - - Elements - 元件 - - - - - - - Point - - - - - - - - - - - - - Internal 內部 - - + + + - Line - - + + + - Arc - - + + + - Circle - - + + + - Ellipse 橢圓 - - + + + - Elliptical Arc 橢圓弧 - - + + + - Hyperbolic Arc 雙曲線弧 - - + + + - Parabolic Arc 拋物線弧形 - - + + + - BSpline BSpline(B 雲形線) - - + + + - Other 其他 - + Extended information 延伸資訊 @@ -4819,42 +5011,42 @@ However, no constraints linking to the endpoints were found. SketcherGui::TaskSketcherMessages - + Solver messages 求解器訊息 - + Auto update 自動更新 - + Executes a recomputation of active document after every sketch action 在活躍文件的每個草圖動作後執行重新計算 - + Click to select the conflicting constraints. 點擊以選擇相衝突拘束。 - + Click to select the redundant constraints. 點擊以選擇冗餘拘束。 - + The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. The sketch has unconstrained elements giving rise to those Degrees Of Freedom. Click to select the unconstrained elements. - + Click to select the malformed constraints. Click to select the malformed constraints. - + Some constraints in combination are partially redundant. Click to select the partially redundant constraints. Some constraints in combination are partially redundant. Click to select the partially redundant constraints. @@ -5032,119 +5224,119 @@ This is done by analyzing the sketch geometries and constraints. SketcherGui::ViewProviderSketch - + Edit sketch 編輯草圖 - + A dialog is already open in the task panel 於工作面板已開啟對話窗 - + Do you want to close this dialog? 您確定要關閉此對話窗嗎? - + Invalid sketch 錯誤之草圖 - + Do you want to open the sketch validation tool? 您要開啟草圖驗證工具嗎? - + The sketch is invalid and cannot be edited. 此為無效且不能編輯之草圖 - + Please remove the following constraint: 請移除下列拘束: - + Please remove at least one of the following constraints: 請移除下列至少一個拘束: - + Please remove the following redundant constraint: 請移除下列多餘拘束: - + Please remove the following redundant constraints: 請移除下列多餘拘束: - + The following constraint is partially redundant: 以下拘束為部份冗餘: - + The following constraints are partially redundant: 以下拘束為部份冗餘: - + Please remove the following malformed constraint: 請移除下列格式錯誤拘束: - + Please remove the following malformed constraints: 請移除下列格式錯誤拘束: - + Empty sketch 空白草圖 - + Over-constrained: 過度拘束: - + Malformed constraints: 格式錯誤的拘束: - + Redundant constraints: 冗餘拘束: - + Partially redundant: 部份冗餘: - + Solver failed to converge 求解器無法收斂 - + Under constrained: 在拘束下: - + %n DoF(s) %n 自由度 - + Fully constrained 完全拘束 @@ -5152,8 +5344,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineComb - - + + Switches between showing and hiding the curvature comb for all B-splines 切換顯示/隱藏 所有B雲形線的曲率梳形圖 @@ -5161,8 +5353,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDecreaseKnotMultiplicity - - + + Decreases the multiplicity of the selected knot of a B-spline 減少自一 B 雲形線所選定結點之多重性 @@ -5170,8 +5362,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineDegree - - + + Switches between showing and hiding the degree for all B-splines 切換顯示/隱藏 所有B雲形線的控制項次數 @@ -5179,8 +5371,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineIncreaseKnotMultiplicity - - + + Increases the multiplicity of the selected knot of a B-spline 增加自一 B 雲形線所選定結點之多重性 @@ -5188,8 +5380,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplineKnotMultiplicity - - + + Switches between showing and hiding the knot multiplicity for all B-splines 切換顯示/隱藏所有B雲形線的結點多重性 @@ -5197,8 +5389,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePoleWeight - - + + Switches between showing and hiding the control point weight for all B-splines 切換顯示/隱藏所有B雲形線的控制點權重 @@ -5206,8 +5398,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_BSplinePolygon - - + + Switches between showing and hiding the control polygons for all B-splines 切換顯示/隱藏 所有B雲形線的控制多邊形 @@ -5215,8 +5407,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Clone - - + + Creates a clone of the geometry taking as reference the last selected point 依最後所選的點作為參考點對幾何進行含拘束連動之複製 @@ -5224,17 +5416,17 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_CompCopy - + Clone 複製 - + Copy 複製 - + Move 移動 @@ -5242,8 +5434,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainDiameter - - + + Fix the diameter of a circle or an arc 固定一個圓或弧的直徑 @@ -5251,7 +5443,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadiam - + Fix the radius/diameter of a circle or an arc 固定一個圓或弧的半徑/直徑 @@ -5259,8 +5451,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstrainRadius - - + + Fix the radius of a circle or an arc 固定圓或弧之半徑 @@ -5268,7 +5460,7 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_ConstraintRadiam - + Fix the radius/diameter of a circle or an arc 固定一個圓或弧的半徑/直徑 @@ -5276,8 +5468,8 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_Copy - - + + Creates a simple copy of the geometry taking as reference the last selected point 依最後所選的點作為參考點對幾何進行不含拘束連動之複製 @@ -5496,63 +5688,63 @@ This is done by analyzing the sketch geometries and constraints. Sketcher_MapSketch - + No sketch found 未發現草圖 - + The document doesn't have a sketch 此檔案無草圖 - + Select sketch 選擇草圖 - + Select a sketch from the list 從清單中選擇草圖 - + (incompatible with selection) (與選擇不相容) - + (current) (目前) - + (suggested) (建議) - + Sketch attachment 草圖附加 - + Current attachment mode is incompatible with the new selection. Select the method to attach this sketch to selected objects. 目前附加模式不相容於新的選擇,請選擇要如何將此草圖附加至所選物件 - + Select the method to attach this sketch to selected objects. 選擇要如何將此草圖附加到所選物件 - + Map sketch 對應草圖 - + Can't map a sketch to support: %1 無法將此草圖對應到:%1 @@ -5561,8 +5753,8 @@ Select the method to attach this sketch to selected objects. Sketcher_Move - - + + Moves the geometry taking as reference the last selected point 以最後選擇的點為基準移動圖元 @@ -5570,12 +5762,12 @@ Select the method to attach this sketch to selected objects. Sketcher_NewSketch - + Sketch attachment 草圖附加 - + Select the method to attach this sketch to selected object 選擇要如何將此草圖附加到所選物件 @@ -5583,12 +5775,12 @@ Select the method to attach this sketch to selected objects. Sketcher_ReorientSketch - + Sketch has support 草圖具有支撐 - + Sketch with a support face cannot be reoriented. Do you want to detach it from the support? 草圖具有支撐面無法調整方向。 @@ -5597,11 +5789,6 @@ Do you want to detach it from the support? TaskSketcherMessages - - - Form - 格式 - DOF @@ -5620,11 +5807,6 @@ Do you want to detach it from the support? TaskSketcherSolverAdvanced - - - Form - 格式 - Default algorithm used for Sketch solving @@ -5896,7 +6078,7 @@ Eigen Sparse QR 算法針對稀疏矩陣進行了優化;通常更快 ViewProviderSketch - + and %1 more 還有 %1 個 @@ -6086,22 +6268,22 @@ The grid spacing change if it becomes smaller than this number of pixel. GridSpaceAction - + Grid auto spacing 網格自動間距 - + Resize grid automatically depending on zoom. Resize grid automatically depending on zoom. - + Spacing 間距 - + Distance between two subsequent grid lines. Distance between two subsequent grid lines. @@ -6109,87 +6291,87 @@ The grid spacing change if it becomes smaller than this number of pixel. Notifications - + The Sketch has malformed constraints! The Sketch has malformed constraints! - + The Sketch has partially redundant constraints! The Sketch has partially redundant constraints! - + Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! Parabolas were migrated. Migrated files won't open in previous versions of FreeCAD!! - - - - - - - - - - - - - + + + - - + - - - - - + + + + + + + + - - - + + + + + + + + + + + Error 錯誤 - + Failed to delete all geometry Failed to delete all geometry - + Failed to delete all constraints Failed to delete all constraints - + The constraint has invalid index information and is malformed. The constraint has invalid index information and is malformed. - - - - - - - - - - - - + + + + + + + + + + + + Invalid Constraint Invalid Constraint @@ -6231,8 +6413,8 @@ The grid spacing change if it becomes smaller than this number of pixel.Error creating B-spline pole - + Error creating B-spline Error creating B-spline @@ -6329,9 +6511,9 @@ The grid spacing change if it becomes smaller than this number of pixel.Failed to trim edge - - - + + + Value Error 錯誤的值 @@ -6367,58 +6549,58 @@ The grid spacing change if it becomes smaller than this number of pixel. SnapSpaceAction - + Snap to objects Snap to objects - + New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. New points will snap to the currently preselected object. It will also snap to the middle of lines and arcs. - + Snap to grid Snap to grid - + New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. New points will snap to the nearest grid line. Points must be set closer than a fifth of the grid spacing to a grid line to snap. - + Snap angle Snap angle - + Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. Angular step for tools that use 'Snap at Angle' (line for instance). Hold CTRL to enable 'Snap at Angle'. The angle starts from the positive X axis of the sketch. RenderingOrderAction - - - - - Normal Geometry - Normal Geometry - - Construction Geometry - 建構用幾何圖元 + Normal Geometry + Normal Geometry + Construction Geometry + 建構用幾何圖元 + + + + + External Geometry External Geometry @@ -6439,12 +6621,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherGrid - + Toggle grid Toggle grid - + Toggle the grid in the sketch. In the menu you can change grid settings. Toggle the grid in the sketch. In the menu you can change grid settings. @@ -6452,12 +6634,12 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna CmdSketcherSnap - + Toggle snap Toggle snap - + Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. Toggle all snap functionality. In the menu you can toggle 'Snap to grid' and 'Snap to objects' individually, and change further snap settings. @@ -6488,4 +6670,34 @@ Points must be set closer than a fifth of the grid spacing to a grid line to sna Create a periodic B-spline by knots, i.e. by interpolation, in the sketch. + + CmdSketcherDimension + + + Dimension + 標註 + + + + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + Constrain contextually based on your selection. +Depending on your selection you might have several constraints available. You can cycle through them using SHIFT key. +Left clicking on empty space will validate the current constraint. Right clicking or pressing Esc will cancel. + + + + CmdSketcherArcOverlay + + + Show/hide circular helper for arcs + Show/hide circular helper for arcs + + + + Switches between showing and hiding the circular helper for all arcs + Switches between showing and hiding the circular helper for all arcs + + diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.cpp b/src/Mod/Sketcher/Gui/SketcherSettings.cpp index 0381280338..17b4deb15f 100644 --- a/src/Mod/Sketcher/Gui/SketcherSettings.cpp +++ b/src/Mod/Sketcher/Gui/SketcherSettings.cpp @@ -66,6 +66,54 @@ void SketcherSettings::saveSettings() ui->checkBoxEnableEscape->onSave(); ui->checkBoxNotifyConstraintSubstitutions->onSave(); ui->checkBoxAutoRemoveRedundants->onSave(); + + enum { + DimensionSingleTool, + DimensionSeparateTools, + DimensionBoth + }; + + // Dimensioning constraints mode + ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/Mod/Sketcher/dimensioning"); + bool singleTool = true; + bool SeparatedTools = false; + int index = ui->dimensioningMode->currentIndex(); + switch (index) { + case DimensionSeparateTools: + singleTool = false; + SeparatedTools = true; + break; + case DimensionBoth: + singleTool = true; + SeparatedTools = true; + break; + } + hGrp->SetBool("SingleDimensioningTool", singleTool); + hGrp->SetBool("SeparatedDimensioningTools", SeparatedTools); + + ui->radiusDiameterMode->setEnabled(index != 1); + + enum { + DimensionAutoRadiusDiam, + DimensionDiameter, + DimensionRadius + }; + + bool Diameter = true; + bool Radius = true; + index = ui->radiusDiameterMode->currentIndex(); + switch (index) { + case DimensionDiameter: + Diameter = true; + Radius = false; + break; + case DimensionRadius: + Diameter = false; + Radius = true; + break; + } + hGrp->SetBool("DimensioningDiameter", Diameter); + hGrp->SetBool("DimensioningRadius", Radius); } void SketcherSettings::loadSettings() @@ -76,6 +124,38 @@ void SketcherSettings::loadSettings() ui->checkBoxEnableEscape->onRestore(); ui->checkBoxNotifyConstraintSubstitutions->onRestore(); ui->checkBoxAutoRemoveRedundants->onRestore(); + + // Dimensioning constraints mode + ui->dimensioningMode->clear(); + ui->dimensioningMode->addItem(tr("Single tool")); + ui->dimensioningMode->addItem(tr("Separated tools")); + ui->dimensioningMode->addItem(tr("Both")); + + ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/Mod/Sketcher/dimensioning"); + bool singleTool = hGrp->GetBool("SingleDimensioningTool", true); + bool SeparatedTools = hGrp->GetBool("SeparatedDimensioningTools", false); + int index = SeparatedTools ? (singleTool ? 2 : 1) : 0; + ui->dimensioningMode->setCurrentIndex(index); + connect(ui->dimensioningMode, QOverload::of(&QComboBox::currentIndexChanged), this, &SketcherSettings::dimensioningModeChanged); + + ui->radiusDiameterMode->setEnabled(index != 1); + + // Dimensioning constraints mode + ui->radiusDiameterMode->clear(); + ui->radiusDiameterMode->addItem(tr("Auto")); + ui->radiusDiameterMode->addItem(tr("Diameter")); + ui->radiusDiameterMode->addItem(tr("Radius")); + + bool Diameter = hGrp->GetBool("DimensioningDiameter", true); + bool Radius = hGrp->GetBool("DimensioningRadius", true); + index = Diameter ? (Radius ? 0 : 1) : 2; + ui->radiusDiameterMode->setCurrentIndex(index); +} + +void SketcherSettings::dimensioningModeChanged(int index) +{ + ui->radiusDiameterMode->setEnabled(index != 1); + SketcherSettings::requireRestart(); } /** diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.h b/src/Mod/Sketcher/Gui/SketcherSettings.h index 3a65ca1243..01a6018f10 100644 --- a/src/Mod/Sketcher/Gui/SketcherSettings.h +++ b/src/Mod/Sketcher/Gui/SketcherSettings.h @@ -51,6 +51,7 @@ public: protected: void changeEvent(QEvent* e) override; + void dimensioningModeChanged(int index); private: std::unique_ptr ui; diff --git a/src/Mod/Sketcher/Gui/SketcherSettings.ui b/src/Mod/Sketcher/Gui/SketcherSettings.ui index 47a71f3c80..a189572028 100644 --- a/src/Mod/Sketcher/Gui/SketcherSettings.ui +++ b/src/Mod/Sketcher/Gui/SketcherSettings.ui @@ -163,6 +163,56 @@ Requires to re-enter edit mode to take effect. + + + + 0 + 0 + + + + Dimension Constraint + + + + + + Dimensioning constraints: + + + + + + + Select the type of dimensioning constraints for your toolbar: +'Single tool': A single tool for all dimensioning constraints : Distance, Distance X / Y, Angle, Radius. +'Separated tools': Separated tools for each dimensioning constraint. +'Both': You will have both the 'Dimension' tool and the separated tools. +This setting is only for the toolbar. Whichever you chose, all tools are always available in the menu and through shortcuts. + + + + + + + Dimension tool diameter/radius mode: + + + + + + + While using the Dimension tool you may chose how to handle circles and arcs: +'Auto': The tool will apply radius to arcs and diameter to circles. +'Diameter': The tool will apply diameter to both arcs and circles. +'Radius': The tool will apply radius to both arcs and circles. + + + + + + + Qt::Vertical diff --git a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp index 0912c4b54b..02a530d51f 100644 --- a/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp +++ b/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp @@ -100,6 +100,10 @@ bool TaskDlgEditSketch::reject() hGrp->SetBool("ExpandedConstraintsWidget", Constraints->isGroupVisible()); hGrp->SetBool("ExpandedElementsWidget", Elements->isGroupVisible()); + if (sketchView && sketchView->getSketchMode() != ViewProviderSketch::STATUS_NONE) { + sketchView->purgeHandler(); + } + std::string document = getDocumentName();// needed because resetEdit() deletes this instance Gui::Command::doCommand( Gui::Command::Gui, "Gui.getDocument('%s').resetEdit()", document.c_str()); diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstraints.ui b/src/Mod/Sketcher/Gui/TaskSketcherConstraints.ui index 0c72fdb6c7..59a18a1f27 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstraints.ui +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstraints.ui @@ -23,7 +23,7 @@ - Form + Form diff --git a/src/Mod/Sketcher/Gui/TaskSketcherElements.ui b/src/Mod/Sketcher/Gui/TaskSketcherElements.ui index 957fc64c89..3e394b7d6c 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherElements.ui +++ b/src/Mod/Sketcher/Gui/TaskSketcherElements.ui @@ -23,7 +23,7 @@ - Form + Form diff --git a/src/Mod/Sketcher/Gui/TaskSketcherMessages.ui b/src/Mod/Sketcher/Gui/TaskSketcherMessages.ui index 38c8c0f41a..fb9d04e8e5 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherMessages.ui +++ b/src/Mod/Sketcher/Gui/TaskSketcherMessages.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.ui b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.ui index 6cb144a439..764858ba02 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.ui +++ b/src/Mod/Sketcher/Gui/TaskSketcherSolverAdvanced.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Sketcher/Gui/Utils.cpp b/src/Mod/Sketcher/Gui/Utils.cpp index 17b48b0281..ebab5ccd39 100644 --- a/src/Mod/Sketcher/Gui/Utils.cpp +++ b/src/Mod/Sketcher/Gui/Utils.cpp @@ -414,6 +414,26 @@ bool SketcherGui::isCommandActive(Gui::Document* doc, bool actsOnSelection) return false; } +bool SketcherGui::isSketcherBSplineActive(Gui::Document* doc, bool actsOnSelection) +{ + if (doc) { + // checks if a Sketch Viewprovider is in Edit and is in no special mode + if (doc->getInEdit() + && doc->getInEdit()->isDerivedFrom(SketcherGui::ViewProviderSketch::getClassTypeId())) { + if (static_cast(doc->getInEdit())->getSketchMode() + == ViewProviderSketch::STATUS_NONE) { + if (!actsOnSelection) + return true; + else if (Gui::Selection().countObjectsOfType( + Sketcher::SketchObject::getClassTypeId()) + > 0) + return true; + } + } + } + return false; +} + SketcherGui::ViewProviderSketch* SketcherGui::getInactiveHandlerEditModeSketchViewProvider(Gui::Document* doc) { diff --git a/src/Mod/Sketcher/Gui/Utils.h b/src/Mod/Sketcher/Gui/Utils.h index fecf4e1c3e..1ce611e270 100644 --- a/src/Mod/Sketcher/Gui/Utils.h +++ b/src/Mod/Sketcher/Gui/Utils.h @@ -145,6 +145,8 @@ bool isSketchInEdit(Gui::Document* doc); /// sketcher is no special state or a sketchHandler is active. bool isCommandActive(Gui::Document* doc, bool actsOnSelection = false); +bool isSketcherBSplineActive(Gui::Document* doc, bool actsOnSelection); + SketcherGui::ViewProviderSketch* getInactiveHandlerEditModeSketchViewProvider(Gui::Document* doc); SketcherGui::ViewProviderSketch* getInactiveHandlerEditModeSketchViewProvider(); @@ -162,6 +164,7 @@ bool showCursorCoords(); bool useSystemDecimals(); std::string lengthToDisplayFormat(double value, int digits); std::string angleToDisplayFormat(double value, int digits); + }// namespace SketcherGui /// converts a 2D vector into a 3D vector in the XY plane diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index 442d530793..b8dcae8dff 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -1640,6 +1640,12 @@ void ViewProviderSketch::moveConstraint(int constNum, const Base::Vector2d& toPo const Part::GeomCircle* circleSeg1 = static_cast(geo1); const Part::GeomCircle* circleSeg2 = static_cast(geo); GetCirclesMinimalDistance(circleSeg1, circleSeg2, p1, p2); + } else if (Constr->FirstPos != Sketcher::PointPos::none) { //point to circle distance + auto circleSeg2 = static_cast(geo); + p1 = getSolvedSketch().getPoint(Constr->First, Constr->FirstPos); + Base::Vector3d v = p1 - circleSeg2->getCenter(); + v = v.Normalize(); + p2 = circleSeg2->getCenter() + circleSeg2->getRadius() * v; } } else diff --git a/src/Mod/Sketcher/Gui/Workbench.cpp b/src/Mod/Sketcher/Gui/Workbench.cpp index 2751b3410a..8ad91a07dd 100644 --- a/src/Mod/Sketcher/Gui/Workbench.cpp +++ b/src/Mod/Sketcher/Gui/Workbench.cpp @@ -87,16 +87,16 @@ Gui::MenuItem* Workbench::setupMenuBar() const bsplines->setCommand("Sketcher B-spline tools"); addSketcherWorkbenchBSplines(*bsplines); - Gui::MenuItem* virtualspace = new Gui::MenuItem(); - virtualspace->setCommand("Sketcher virtual space"); - addSketcherWorkbenchVirtualSpace(*virtualspace); + Gui::MenuItem* visual = new Gui::MenuItem(); + visual->setCommand("Sketcher visual"); + addSketcherWorkbenchVisual(*visual); Gui::MenuItem* sketch = new Gui::MenuItem; root->insertItem(item, sketch); sketch->setCommand("S&ketch"); addSketcherWorkbenchSketchActions(*sketch); addSketcherWorkbenchSketchEditModeActions(*sketch); - *sketch << geom << cons << consaccel << bsplines << virtualspace; + *sketch << geom << cons << consaccel << bsplines << visual; return root; } @@ -134,10 +134,10 @@ Gui::ToolBarItem* Workbench::setupToolBars() const bspline->setCommand("Sketcher B-spline tools"); addSketcherWorkbenchBSplines(*bspline); - Gui::ToolBarItem* virtualspace = + Gui::ToolBarItem* visual = new Gui::ToolBarItem(root, Gui::ToolBarItem::DefaultVisibility::Unavailable); - virtualspace->setCommand("Sketcher virtual space"); - addSketcherWorkbenchVirtualSpace(*virtualspace); + visual->setCommand("Sketcher visual"); + addSketcherWorkbenchVisual(*visual); Gui::ToolBarItem* edittools = new Gui::ToolBarItem(root, Gui::ToolBarItem::DefaultVisibility::Unavailable); @@ -164,7 +164,7 @@ inline const QStringList editModeToolbarNames() QString::fromLatin1("Sketcher constraints"), QString::fromLatin1("Sketcher tools"), QString::fromLatin1("Sketcher B-spline tools"), - QString::fromLatin1("Sketcher virtual space"), + QString::fromLatin1("Sketcher visual"), QString::fromLatin1("Sketcher edit tools")}; } @@ -408,6 +408,7 @@ inline void SketcherAddWorkbenchConstraints(Gui::MenuItem& cons) << "Sketcher_ConstrainSymmetric" << "Sketcher_ConstrainBlock" << "Separator" + << "Sketcher_Dimension" << "Sketcher_ConstrainLock" << "Sketcher_ConstrainDistanceX" << "Sketcher_ConstrainDistanceY" @@ -425,6 +426,9 @@ inline void SketcherAddWorkbenchConstraints(Gui::MenuItem& cons) template<> inline void SketcherAddWorkbenchConstraints(Gui::ToolBarItem& cons) { + ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath( + "User parameter:BaseApp/Preferences/Mod/Sketcher/dimensioning"); + cons << "Sketcher_ConstrainCoincident" << "Sketcher_ConstrainPointOnObject" << "Sketcher_ConstrainVertical" @@ -435,15 +439,20 @@ inline void SketcherAddWorkbenchConstraints(Gui::ToolBarItem& << "Sketcher_ConstrainEqual" << "Sketcher_ConstrainSymmetric" << "Sketcher_ConstrainBlock" - << "Separator" - << "Sketcher_ConstrainLock" - << "Sketcher_ConstrainDistanceX" - << "Sketcher_ConstrainDistanceY" - << "Sketcher_ConstrainDistance" - << "Sketcher_CompConstrainRadDia" - << "Sketcher_ConstrainAngle" - // << "Sketcher_ConstrainSnellsLaw" // Rarely used, show only in menu - << "Separator" + << "Separator"; + if (hGrp->GetBool("SingleDimensioningTool", true)) { + cons << "Sketcher_Dimension"; + } + if (hGrp->GetBool("SeparatedDimensioningTools", false)) { + cons << "Sketcher_ConstrainLock" + << "Sketcher_ConstrainDistanceX" + << "Sketcher_ConstrainDistanceY" + << "Sketcher_ConstrainDistance" + << "Sketcher_CompConstrainRadDia" + << "Sketcher_ConstrainAngle"; + // << "Sketcher_ConstrainSnellsLaw" // Rarely used, show only in menu + } + cons << "Separator" << "Sketcher_ToggleDrivingConstraint" << "Sketcher_ToggleActiveConstraint"; } @@ -500,12 +509,7 @@ inline void SketcherAddWorkbenchBSplines(T& bspline); template<> inline void SketcherAddWorkbenchBSplines(Gui::MenuItem& bspline) { - bspline << "Sketcher_BSplineDegree" - << "Sketcher_BSplinePolygon" - << "Sketcher_BSplineComb" - << "Sketcher_BSplineKnotMultiplicity" - << "Sketcher_BSplinePoleWeight" - << "Sketcher_BSplineConvertToNURBS" + bspline << "Sketcher_BSplineConvertToNURBS" << "Sketcher_BSplineIncreaseDegree" << "Sketcher_BSplineDecreaseDegree" << "Sketcher_BSplineIncreaseKnotMultiplicity" @@ -517,8 +521,7 @@ inline void SketcherAddWorkbenchBSplines(Gui::MenuItem& bspline) template<> inline void SketcherAddWorkbenchBSplines(Gui::ToolBarItem& bspline) { - bspline << "Sketcher_CompBSplineShowHideGeometryInformation" - << "Sketcher_BSplineConvertToNURBS" + bspline << "Sketcher_BSplineConvertToNURBS" << "Sketcher_BSplineIncreaseDegree" << "Sketcher_BSplineDecreaseDegree" << "Sketcher_CompModifyKnotMultiplicity" @@ -527,18 +530,22 @@ inline void SketcherAddWorkbenchBSplines(Gui::ToolBarItem& bsp } template -inline void SketcherAddWorkbenchVirtualSpace(T& virtualspace); +inline void SketcherAddWorkbenchVisual(T& visual); template<> -inline void SketcherAddWorkbenchVirtualSpace(Gui::MenuItem& virtualspace) +inline void SketcherAddWorkbenchVisual(Gui::MenuItem& visual) { - virtualspace << "Sketcher_SwitchVirtualSpace"; + visual << "Sketcher_SwitchVirtualSpace" + << "Sketcher_CompBSplineShowHideGeometryInformation" + << "Sketcher_ArcOverlay"; } template<> -inline void SketcherAddWorkbenchVirtualSpace(Gui::ToolBarItem& virtualspace) +inline void SketcherAddWorkbenchVisual(Gui::ToolBarItem& visual) { - virtualspace << "Sketcher_SwitchVirtualSpace"; + visual << "Sketcher_SwitchVirtualSpace" + << "Sketcher_CompBSplineShowHideGeometryInformation" + << "Sketcher_ArcOverlay"; } template @@ -582,9 +589,9 @@ void addSketcherWorkbenchBSplines(Gui::MenuItem& bspline) SketcherAddWorkbenchBSplines(bspline); } -void addSketcherWorkbenchVirtualSpace(Gui::MenuItem& virtualspace) +void addSketcherWorkbenchVisual(Gui::MenuItem& visual) { - SketcherAddWorkbenchVirtualSpace(virtualspace); + SketcherAddWorkbenchVisual(visual); } void addSketcherWorkbenchSketchActions(Gui::ToolBarItem& sketch) @@ -617,9 +624,9 @@ void addSketcherWorkbenchBSplines(Gui::ToolBarItem& bspline) SketcherAddWorkbenchBSplines(bspline); } -void addSketcherWorkbenchVirtualSpace(Gui::ToolBarItem& virtualspace) +void addSketcherWorkbenchVisual(Gui::ToolBarItem& visual) { - SketcherAddWorkbenchVirtualSpace(virtualspace); + SketcherAddWorkbenchVisual(visual); } void addSketcherWorkbenchEditTools(Gui::ToolBarItem& edittools) diff --git a/src/Mod/Sketcher/Gui/Workbench.h b/src/Mod/Sketcher/Gui/Workbench.h index 4345806bb8..ca78a23640 100644 --- a/src/Mod/Sketcher/Gui/Workbench.h +++ b/src/Mod/Sketcher/Gui/Workbench.h @@ -60,7 +60,7 @@ SketcherGuiExport void addSketcherWorkbenchGeometries(Gui::MenuItem& geom); SketcherGuiExport void addSketcherWorkbenchConstraints(Gui::MenuItem& cons); SketcherGuiExport void addSketcherWorkbenchTools(Gui::MenuItem& consaccel); SketcherGuiExport void addSketcherWorkbenchBSplines(Gui::MenuItem& bspline); -SketcherGuiExport void addSketcherWorkbenchVirtualSpace(Gui::MenuItem& virtualspace); +SketcherGuiExport void addSketcherWorkbenchVisual(Gui::MenuItem& visual); SketcherGuiExport void addSketcherWorkbenchSketchActions(Gui::ToolBarItem& sketch); SketcherGuiExport void addSketcherWorkbenchSketchEditModeActions(Gui::ToolBarItem& sketch); @@ -68,7 +68,7 @@ SketcherGuiExport void addSketcherWorkbenchGeometries(Gui::ToolBarItem& geom); SketcherGuiExport void addSketcherWorkbenchConstraints(Gui::ToolBarItem& cons); SketcherGuiExport void addSketcherWorkbenchTools(Gui::ToolBarItem& consaccel); SketcherGuiExport void addSketcherWorkbenchBSplines(Gui::ToolBarItem& bspline); -SketcherGuiExport void addSketcherWorkbenchVirtualSpace(Gui::ToolBarItem& virtualspace); +SketcherGuiExport void addSketcherWorkbenchVisual(Gui::ToolBarItem& visual); SketcherGuiExport void addSketcherWorkbenchEditTools(Gui::ToolBarItem& edittools); }// namespace SketcherGui diff --git a/src/Mod/Sketcher/Profiles.py b/src/Mod/Sketcher/Profiles.py index 80dcb7a90a..3f1528cf22 100644 --- a/src/Mod/Sketcher/Profiles.py +++ b/src/Mod/Sketcher/Profiles.py @@ -53,7 +53,7 @@ class _CommandProfileHexagon1: def GetResources(self): return { - "Pixmap": "Sketcher_ProfilesHexagon1", + "Pixmap": "Sketcher_CreateHexagon", "MenuText": QtCore.QT_TRANSLATE_NOOP( "Sketcher_ProfilesHexagon1", "Creates a hexagonal profile" ), diff --git a/src/Mod/Spreadsheet/App/AppSpreadsheet.cpp b/src/Mod/Spreadsheet/App/AppSpreadsheet.cpp index a9bb40cebb..8b1ac253ed 100644 --- a/src/Mod/Spreadsheet/App/AppSpreadsheet.cpp +++ b/src/Mod/Spreadsheet/App/AppSpreadsheet.cpp @@ -39,8 +39,6 @@ public: initialize("This module is the Spreadsheet module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Spreadsheet/App/Cell.cpp b/src/Mod/Spreadsheet/App/Cell.cpp index a94bab0c7f..298250fac6 100644 --- a/src/Mod/Spreadsheet/App/Cell.cpp +++ b/src/Mod/Spreadsheet/App/Cell.cpp @@ -166,9 +166,7 @@ Cell &Cell::operator =(const Cell &rhs) * */ -Cell::~Cell() -{ -} +Cell::~Cell() = default; /** * Set the expression tree to \a expr. diff --git a/src/Mod/Spreadsheet/App/PropertyColumnWidths.cpp b/src/Mod/Spreadsheet/App/PropertyColumnWidths.cpp index 0005a4503e..8f155e076d 100644 --- a/src/Mod/Spreadsheet/App/PropertyColumnWidths.cpp +++ b/src/Mod/Spreadsheet/App/PropertyColumnWidths.cpp @@ -38,9 +38,7 @@ const int PropertyColumnWidths::defaultHeaderWidth = 50; TYPESYSTEM_SOURCE(Spreadsheet::PropertyColumnWidths , App::Property) -PropertyColumnWidths::PropertyColumnWidths() -{ -} +PropertyColumnWidths::PropertyColumnWidths() = default; PropertyColumnWidths::PropertyColumnWidths(const PropertyColumnWidths &other) : Property(), std::map(other) diff --git a/src/Mod/Spreadsheet/App/PropertyColumnWidthsPyImp.cpp b/src/Mod/Spreadsheet/App/PropertyColumnWidthsPyImp.cpp index 1e891ec69f..62301901ef 100644 --- a/src/Mod/Spreadsheet/App/PropertyColumnWidthsPyImp.cpp +++ b/src/Mod/Spreadsheet/App/PropertyColumnWidthsPyImp.cpp @@ -33,7 +33,7 @@ using namespace Spreadsheet; // returns a string which represents the object e.g. when printed in python std::string PropertyColumnWidthsPy::representation() const { - return std::string(""); + return {""}; } PyObject *PropertyColumnWidthsPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper diff --git a/src/Mod/Spreadsheet/App/PropertyRowHeights.cpp b/src/Mod/Spreadsheet/App/PropertyRowHeights.cpp index 21edc621fb..a07836dd70 100644 --- a/src/Mod/Spreadsheet/App/PropertyRowHeights.cpp +++ b/src/Mod/Spreadsheet/App/PropertyRowHeights.cpp @@ -37,9 +37,7 @@ const int PropertyRowHeights::defaultHeight = 30; TYPESYSTEM_SOURCE(Spreadsheet::PropertyRowHeights , App::Property) -PropertyRowHeights::PropertyRowHeights() -{ -} +PropertyRowHeights::PropertyRowHeights() = default; PropertyRowHeights::PropertyRowHeights(const PropertyRowHeights &other) : Property(), std::map(other) diff --git a/src/Mod/Spreadsheet/App/PropertyRowHeightsPyImp.cpp b/src/Mod/Spreadsheet/App/PropertyRowHeightsPyImp.cpp index 34bb95278d..8c0754b0ff 100644 --- a/src/Mod/Spreadsheet/App/PropertyRowHeightsPyImp.cpp +++ b/src/Mod/Spreadsheet/App/PropertyRowHeightsPyImp.cpp @@ -33,7 +33,7 @@ using namespace Spreadsheet; // returns a string which represents the object e.g. when printed in python std::string PropertyRowHeightsPy::representation() const { - return std::string(""); + return {""}; } PyObject *PropertyRowHeightsPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper diff --git a/src/Mod/Spreadsheet/App/PropertySheet.cpp b/src/Mod/Spreadsheet/App/PropertySheet.cpp index 07e0881e4e..78651564f1 100644 --- a/src/Mod/Spreadsheet/App/PropertySheet.cpp +++ b/src/Mod/Spreadsheet/App/PropertySheet.cpp @@ -57,13 +57,10 @@ TYPESYSTEM_SOURCE(Spreadsheet::PropertySheet , App::PropertyExpressionContainer) void PropertySheet::clear() { - std::map::iterator i = data.begin(); - /* Clear cells */ - while (i != data.end()) { - delete i->second; - setDirty(i->first); - ++i; + for (auto & it : data) { + delete it.second; + setDirty(it.first); } /* Clear from map */ @@ -188,9 +185,9 @@ std::vector PropertySheet::getUsedCells() const { std::vector usedSet; - for (std::map::const_iterator i = data.begin(); i != data.end(); ++i) { - if (i->second->isUsed()) - usedSet.push_back(i->first); + for (const auto& i : data) { + if (i.second->isUsed()) + usedSet.push_back(i.first); } return usedSet; @@ -207,10 +204,10 @@ std::vector PropertySheet::getNonEmptyCells() const std::vector usedSet; std::string str; - for (std::map::const_iterator i = data.begin(); i != data.end(); ++i) { + for (const auto& i : data) { str.clear(); - if (i->second->isUsed() && i->second->getStringContent(str) && !str.empty()) - usedSet.push_back(i->first); + if (i.second->isUsed() && i.second->getStringContent(str) && !str.empty()) + usedSet.push_back(i.first); } return usedSet; @@ -256,7 +253,6 @@ Cell * PropertySheet::createCell(CellAddress address) PropertySheet::PropertySheet(Sheet *_owner) : owner(_owner) - , updateCount(0) { } @@ -927,16 +923,16 @@ void PropertySheet::removeRows(int row, int count) AtomicPropertyChange signaller(*this); // move all the aliases first so dependencies can be calculated correctly - for (std::vector::const_iterator i = keys.begin(); i != keys.end(); ++i) { - if (i->row() >= row && i->row() < row + count) - clearAlias(*i); - else if (i->row() >= row + count) - moveAlias(*i, CellAddress(i->row() - count, i->col())); + for (const auto& key : keys) { + if (key.row() >= row && key.row() < row + count) + clearAlias(key); + else if (key.row() >= row + count) + moveAlias(key, CellAddress(key.row() - count, key.col())); } int spanRows, spanCols; - for (std::vector::const_iterator i = keys.begin(); i != keys.end(); ++i) { - std::map::iterator j = data.find(*i); + for (const auto& key : keys) { + std::map::iterator j = data.find(key); assert(j != data.end()); @@ -946,19 +942,19 @@ void PropertySheet::removeRows(int row, int count) visitor.reset(); cell->visit(visitor); if (visitor.changed()) { - setDirty(*i); - recomputeDependencies(*i); + setDirty(key); + recomputeDependencies(key); } - if (i->row() >= row && i->row() < row + count) - clear(*i, false); // aliases were cleared earlier - else if (i->row() >= row + count) - moveCell(*i, CellAddress(i->row() - count, i->col()), renames); - else if (cell->getSpans(spanRows, spanCols) && i->row() + spanRows >= row) { - if (i->row() + spanRows >= row + count) + if (key.row() >= row && key.row() < row + count) + clear(key, false); // aliases were cleared earlier + else if (key.row() >= row + count) + moveCell(key, CellAddress(key.row() - count, key.col()), renames); + else if (cell->getSpans(spanRows, spanCols) && key.row() + spanRows >= row) { + if (key.row() + spanRows >= row + count) spanRows -= count; else - spanRows = i->row() - row; + spanRows = key.row() - row; mergeCells(j->first, CellAddress(j->first.row()+spanRows-1, j->first.col()+spanCols-1)); } } @@ -1055,16 +1051,16 @@ void PropertySheet::removeColumns(int col, int count) AtomicPropertyChange signaller(*this); // move all the aliases first so dependencies can be calculated correctly - for (std::vector::const_iterator i = keys.begin(); i != keys.end(); ++i) { - if (i->col() >= col && i->col() < col + count) - clearAlias(*i); - else if (i->col() >= col + count) - moveAlias(*i, CellAddress(i->row(), i->col() - count)); + for (const auto& key : keys) { + if (key.col() >= col && key.col() < col + count) + clearAlias(key); + else if (key.col() >= col + count) + moveAlias(key, CellAddress(key.row(), key.col() - count)); } int spanRows, spanCols; - for (std::vector::const_iterator i = keys.begin(); i != keys.end(); ++i) { - std::map::iterator j = data.find(*i); + for (const auto& key : keys) { + std::map::iterator j = data.find(key); assert(j != data.end()); @@ -1074,19 +1070,19 @@ void PropertySheet::removeColumns(int col, int count) visitor.reset(); cell->visit(visitor); if (visitor.changed()) { - setDirty(*i); - recomputeDependencies(*i); + setDirty(key); + recomputeDependencies(key); } - if (i->col() >= col && i->col() < col + count) - clear(*i, false); // aliases were cleared earlier - else if (i->col() >= col + count) - moveCell(*i, CellAddress(i->row(), i->col() - count), renames); - else if (cell->getSpans(spanRows, spanCols) && i->col() + spanCols >= col) { - if (i->col() + spanCols >= col + count) + if (key.col() >= col && key.col() < col + count) + clear(key, false); // aliases were cleared earlier + else if (key.col() >= col + count) + moveCell(key, CellAddress(key.row(), key.col() - count), renames); + else if (cell->getSpans(spanRows, spanCols) && key.col() + spanCols >= col) { + if (key.col() + spanCols >= col + count) spanCols -= count; else - spanCols = i->col() - col; + spanCols = key.col() - col; mergeCells(j->first, CellAddress(j->first.row()+spanRows-1, j->first.col()+spanCols-1)); } } diff --git a/src/Mod/Spreadsheet/App/PropertySheet.h b/src/Mod/Spreadsheet/App/PropertySheet.h index bb3b55d4ab..21b9621b12 100644 --- a/src/Mod/Spreadsheet/App/PropertySheet.h +++ b/src/Mod/Spreadsheet/App/PropertySheet.h @@ -298,7 +298,7 @@ private: std::map depConnections; - int updateCount; + int updateCount = 0; bool restoring = false; }; diff --git a/src/Mod/Spreadsheet/App/PropertySheetPyImp.cpp b/src/Mod/Spreadsheet/App/PropertySheetPyImp.cpp index 8d735b8e27..c0bf240ed2 100644 --- a/src/Mod/Spreadsheet/App/PropertySheetPyImp.cpp +++ b/src/Mod/Spreadsheet/App/PropertySheetPyImp.cpp @@ -33,7 +33,7 @@ using namespace Spreadsheet; // returns a string which represents the object e.g. when printed in python std::string PropertySheetPy::representation() const { - return std::string(""); + return {""}; } PyObject *PropertySheetPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper diff --git a/src/Mod/Spreadsheet/App/Sheet.cpp b/src/Mod/Spreadsheet/App/Sheet.cpp index 18decff708..c4b2c6940f 100644 --- a/src/Mod/Spreadsheet/App/Sheet.cpp +++ b/src/Mod/Spreadsheet/App/Sheet.cpp @@ -106,16 +106,18 @@ void Sheet::clearAll() std::vector propNames = props.getDynamicPropertyNames(); - for (std::vector::const_iterator i = propNames.begin(); i != propNames.end(); ++i) - this->removeDynamicProperty((*i).c_str()); + for (const auto & propName : propNames) { + this->removeDynamicProperty(propName.c_str()); + } propAddress.clear(); cellErrors.clear(); columnWidths.clear(); rowHeights.clear(); - for (ObserverMap::iterator i = observers.begin(); i != observers.end(); ++i) - delete i->second; + for (auto & observer : observers) { + delete observer.second; + } observers.clear(); } @@ -230,8 +232,7 @@ bool Sheet::importFromFile(const std::string &filename, char delimiter, char quo static void writeEscaped(std::string const& s, char quoteChar, char escapeChar, std::ostream & out) { out << quoteChar; - for (std::string::const_iterator i = s.begin(), end = s.end(); i != end; ++i) { - unsigned char c = *i; + for (unsigned char c : s) { if (c != quoteChar) out << c; else { @@ -909,9 +910,9 @@ DocumentObjectExecReturn *Sheet::execute() std::set dirtyCells = cells.getDirty(); // Always recompute cells that have failed - for (std::set::const_iterator i = cellErrors.begin(); i != cellErrors.end(); ++i) { - cells.recomputeDependencies(*i); - dirtyCells.insert(*i); + for (auto cellError : cellErrors) { + cells.recomputeDependencies(cellError); + dirtyCells.insert(cellError); } DependencyList graph; @@ -1033,14 +1034,15 @@ DocumentObjectExecReturn *Sheet::execute() // Signal update of column widths const std::set & dirtyColumns = columnWidths.getDirty(); - for (std::set::const_iterator i = dirtyColumns.begin(); i != dirtyColumns.end(); ++i) - columnWidthChanged(*i, columnWidths.getValue(*i)); + for (int dirtyColumn : dirtyColumns) { + columnWidthChanged(dirtyColumn, columnWidths.getValue(dirtyColumn)); + } // Signal update of row heights const std::set & dirtyRows = rowHeights.getDirty(); - for (std::set::const_iterator i = dirtyRows.begin(); i != dirtyRows.end(); ++i) - rowHeightChanged(*i, rowHeights.getValue(*i)); + for (int dirtyRow : dirtyRows) + rowHeightChanged(dirtyRow, rowHeights.getValue(dirtyRow)); //cells.clearDirty(); rowHeights.clearDirty(); @@ -1397,8 +1399,7 @@ std::string Sheet::getAddressFromAlias(const std::string &alias) const if (cell) return cell->getAddress().toString(); - else - return std::string(); + return {}; } /** @@ -1460,8 +1461,9 @@ void Sheet::providesTo(CellAddress address, std::set & result) cons std::string fullName = getFullName() + "."; std::set tmpResult = cells.getDeps(fullName + address.toString()); - for (std::set::const_iterator i = tmpResult.begin(); i != tmpResult.end(); ++i) - result.insert(fullName + i->toString()); + for (const auto& i : tmpResult) { + result.insert(fullName + i.toString()); + } } /** diff --git a/src/Mod/Spreadsheet/App/Sheet.h b/src/Mod/Spreadsheet/App/Sheet.h index ba3cd3a9b5..8c7388d169 100644 --- a/src/Mod/Spreadsheet/App/Sheet.h +++ b/src/Mod/Spreadsheet/App/Sheet.h @@ -58,8 +58,8 @@ class SpreadsheetExport PropertySpreadsheetQuantity : public App::PropertyQuanti { TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: - PropertySpreadsheetQuantity(){} - ~PropertySpreadsheetQuantity() override{} + PropertySpreadsheetQuantity() = default; + ~PropertySpreadsheetQuantity() override = default; Property *Copy() const override; void Paste(const Property &from) override; diff --git a/src/Mod/Spreadsheet/App/SheetObserver.cpp b/src/Mod/Spreadsheet/App/SheetObserver.cpp index f5210dfd97..169481a8bd 100644 --- a/src/Mod/Spreadsheet/App/SheetObserver.cpp +++ b/src/Mod/Spreadsheet/App/SheetObserver.cpp @@ -39,7 +39,6 @@ using namespace App; SheetObserver::SheetObserver(App::Document * document, PropertySheet *_sheet) : DocumentObserver(document) - , refCount(1) , sheet(_sheet) { } diff --git a/src/Mod/Spreadsheet/App/SheetObserver.h b/src/Mod/Spreadsheet/App/SheetObserver.h index 0a6f7a1547..ade38fe829 100644 --- a/src/Mod/Spreadsheet/App/SheetObserver.h +++ b/src/Mod/Spreadsheet/App/SheetObserver.h @@ -33,7 +33,7 @@ class PropertySheet; class SheetObserver : public App::DocumentObserver { public: SheetObserver(App::Document* document, PropertySheet *_sheet); - ~SheetObserver() override { } + ~SheetObserver() override = default; void slotCreatedObject(const App::DocumentObject& Obj) override; void slotDeletedObject(const App::DocumentObject& Obj) override; void slotChangedObject(const App::DocumentObject& Obj, const App::Property& Prop) override; @@ -42,7 +42,7 @@ public: App::Document* getDocument() const { return App::DocumentObserver::getDocument(); } private: std::set isUpdating; - unsigned int refCount; + unsigned int refCount{1}; PropertySheet * sheet; }; diff --git a/src/Mod/Spreadsheet/App/SheetPyImp.cpp b/src/Mod/Spreadsheet/App/SheetPyImp.cpp index fa472ca8ae..65c22eeb2c 100644 --- a/src/Mod/Spreadsheet/App/SheetPyImp.cpp +++ b/src/Mod/Spreadsheet/App/SheetPyImp.cpp @@ -40,7 +40,7 @@ using namespace App; // returns a string which represents the object e.g. when printed in python std::string SheetPy::representation() const { - return std::string(""); + return {""}; } PyObject *SheetPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // Python wrapper @@ -367,8 +367,9 @@ PyObject* SheetPy::setStyle(PyObject *args) if (cell) cell->getStyle(oldStyle); - for (std::set::const_iterator it = oldStyle.begin(); it != oldStyle.end(); ++it) - style.insert(*it); + for (const auto & it : oldStyle) { + style.insert(it); + } // Set new style getSheetPtr()->setStyle(*rangeIter, style); @@ -385,8 +386,9 @@ PyObject* SheetPy::setStyle(PyObject *args) if (cell) cell->getStyle(oldStyle); - for (std::set::const_iterator it = style.begin(); it != style.end(); ++it) - oldStyle.erase(*it); + for (const auto & it : style) { + oldStyle.erase(it); + } // Set new style getSheetPtr()->setStyle(*rangeIter, oldStyle); @@ -406,13 +408,15 @@ PyObject* SheetPy::setStyle(PyObject *args) newStyle = oldStyle; } - for (std::set::const_iterator i = style.begin(); i != style.end(); ++i) { - if (oldStyle.find(*i) == oldStyle.end()) + for (const auto & i : style) { + if (oldStyle.find(i) == oldStyle.end()) { // Not found in oldstyle; add it to newStyle - newStyle.insert(*i); - else + newStyle.insert(i); + } + else { // Found in oldStyle, remove it from newStyle - newStyle.erase(*i); + newStyle.erase(i); + } } // Set new style @@ -449,8 +453,9 @@ PyObject* SheetPy::getStyle(PyObject *args) if (cell && cell->getStyle(style)) { PyObject * s = PySet_New(nullptr); - for (std::set::const_iterator i = style.begin(); i != style.end(); ++i) - PySet_Add(s, PyUnicode_FromString((*i).c_str())); + for (const auto & i : style) { + PySet_Add(s, PyUnicode_FromString(i.c_str())); + } return s; } diff --git a/src/Mod/Spreadsheet/Gui/AppSpreadsheetGui.cpp b/src/Mod/Spreadsheet/Gui/AppSpreadsheetGui.cpp index aa644f70de..2702032b9d 100644 --- a/src/Mod/Spreadsheet/Gui/AppSpreadsheetGui.cpp +++ b/src/Mod/Spreadsheet/Gui/AppSpreadsheetGui.cpp @@ -63,8 +63,6 @@ namespace SpreadsheetGui { initialize("This module is the SpreadsheetGui module."); // register with Python } - ~Module() override {} - private: Py::Object open(const Py::Tuple& args) { diff --git a/src/Mod/Spreadsheet/Gui/Command.cpp b/src/Mod/Spreadsheet/Gui/Command.cpp index d78a2d8646..f4719390c6 100644 --- a/src/Mod/Spreadsheet/Gui/Command.cpp +++ b/src/Mod/Spreadsheet/Gui/Command.cpp @@ -615,8 +615,8 @@ void CmdSpreadsheetStyleBold::activated(int iMsg) if (!selection.empty()) { bool allBold = true; - for (QModelIndexList::const_iterator it = selection.cbegin(); it != selection.cend(); ++it) { - const Cell * cell = sheet->getCell(CellAddress((*it).row(), (*it).column())); + for (const auto& it : selection) { + const Cell * cell = sheet->getCell(CellAddress(it.row(), it.column())); if (cell) { std::set style; @@ -689,8 +689,8 @@ void CmdSpreadsheetStyleItalic::activated(int iMsg) if (!selection.empty()) { bool allItalic = true; - for (QModelIndexList::const_iterator it = selection.cbegin(); it != selection.cend(); ++it) { - const Cell * cell = sheet->getCell(CellAddress((*it).row(), (*it).column())); + for (const auto& it : selection) { + const Cell * cell = sheet->getCell(CellAddress(it.row(), it.column())); if (cell) { std::set style; @@ -763,8 +763,8 @@ void CmdSpreadsheetStyleUnderline::activated(int iMsg) if (!selection.empty()) { bool allUnderline = true; - for (QModelIndexList::const_iterator it = selection.cbegin(); it != selection.cend(); ++it) { - const Cell * cell = sheet->getCell(CellAddress((*it).row(), (*it).column())); + for (const auto& it : selection) { + const Cell * cell = sheet->getCell(CellAddress(it.row(), it.column())); if (cell) { std::set style; diff --git a/src/Mod/Spreadsheet/Gui/DlgSettingsImp.cpp b/src/Mod/Spreadsheet/Gui/DlgSettingsImp.cpp index 1e15ce0184..cc17195f63 100644 --- a/src/Mod/Spreadsheet/Gui/DlgSettingsImp.cpp +++ b/src/Mod/Spreadsheet/Gui/DlgSettingsImp.cpp @@ -43,10 +43,7 @@ DlgSettingsImp::DlgSettingsImp( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -DlgSettingsImp::~DlgSettingsImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgSettingsImp::~DlgSettingsImp() = default; void DlgSettingsImp::saveSettings() { diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet.ts index ae1c839de2..7b7d5a46bb 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet.ts @@ -352,36 +352,36 @@ - - + + Insert rows - - + + Remove rows - - + + Insert columns - - + + Clear cell(s) - + Set foreground color - + Set background color @@ -678,45 +678,45 @@ switch the design configuration. The property will be created if not exist. + - Set cell(s) foreground color - + Sets the Spreadsheet cell(s) foreground color + - Set cell(s) background color - + Sets the Spreadsheet cell(s) background color - + Copy & Paste failed - + Alias contains invalid characters! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 - + Spreadsheet @@ -834,11 +834,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - - &Content: @@ -1032,61 +1027,61 @@ Defaults to: %V = %A - + Properties... - + Recompute - + Bind... - + Configuration table... - + Merge cells - + Split cells - + Cut - + Copy - + Paste - + Delete @@ -1094,12 +1089,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF - + PDF file @@ -1130,7 +1125,7 @@ Defaults to: %V = %A Py - + Unnamed diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_be.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_be.ts index 575d53aa6e..da66651caa 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_be.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_be.ts @@ -352,36 +352,36 @@ Змяніць клетку - - + + Insert rows Уставіць радкі - - + + Remove rows Выдаліць радкі - - + + Insert columns Уставіць слупкі - - + + Clear cell(s) Ачысціць клеткі - + Set foreground color Задаць колер зместа - + Set background color Задаць колер фону @@ -603,7 +603,7 @@ switch the design configuration. The property will be created if not exist. Left - Злева + Па левым боку @@ -614,7 +614,7 @@ switch the design configuration. The property will be created if not exist. Right - Справа + Па правым боку @@ -624,12 +624,12 @@ switch the design configuration. The property will be created if not exist. Top - Зверху + Да верху Bottom - Знізу + Да нізу @@ -696,46 +696,46 @@ switch the design configuration. The property will be created if not exist.Паказаць аркуш + - Set cell(s) foreground color Задаць колер зместу клетак - + Sets the Spreadsheet cell(s) foreground color Задаць колер зместу клетак аркуша + - Set cell(s) background color Задаць колер фону клетак - + Sets the Spreadsheet cell(s) background color Задаць колер фону клетак аркуша - + Copy & Paste failed Не атрымалася скапіраваць і ўставіць - + Alias contains invalid characters! Псеўданім змяшчае хібныя знакі! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Звярніцеся да клеткі па псеўданіму, напрыклад Аркуш.імя_псеўданіма замест Аркуш.В1 - + Spreadsheet Аркуш @@ -853,11 +853,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - Форма - &Content: @@ -1083,61 +1078,61 @@ Defaults to: %V = %A - + Properties... Уласцівасці... - + Recompute Пералічыць - + Bind... Прывязаць... - + Configuration table... Табліца наладаў... - + Merge cells Аб'яднаць клеткі - + Split cells Падзяліць клеткі - + Cut - Разрэзаць + Выразаць - + Copy Скапіраваць - + Paste Уставіць - + Delete Выдаліць @@ -1145,12 +1140,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Экспартаваць у PDF - + PDF file Файл PDF @@ -1181,7 +1176,7 @@ Defaults to: %V = %A Py - + Unnamed Без назвы diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ca.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ca.ts index 58fa7b5dd1..2084fc3ca2 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ca.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ca.ts @@ -352,36 +352,36 @@ Edita la cel·la - - + + Insert rows Insereix files - - + + Remove rows Suprimeix files - - + + Insert columns Insereix columnes - - + + Clear cell(s) Neteja les cel·la(s) - + Set foreground color Color de la clel·la - + Set background color Color de fons @@ -700,46 +700,46 @@ switch the design configuration. The property will be created if not exist.Mostra el full de càlcul + - Set cell(s) foreground color Estableix el color de primer pla de les cel·la(es) - + Sets the Spreadsheet cell(s) foreground color Estableix el color de primer pla de la(es) cel·la(es) del full de càlcul + - Set cell(s) background color Estableix el color de fons de la(es) cel·la(es) - + Sets the Spreadsheet cell(s) background color Estableix el color de fons de la(es) cel·la(es) del full de càlcul - + Copy & Paste failed S'ha produït un error en copiar i enganxar - + Alias contains invalid characters! El sobrenom conté caràcters no vàlids! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Consulteu la cel·la per sobrenom, per exemple Spreadsheet.my_alias_name enlloc de Spreadsheet.B1 - + Spreadsheet Full de càlcul @@ -857,11 +857,6 @@ Spreadsheet.my_alias_name enlloc de Spreadsheet.B1 Sheet - - - Form - Forma - &Content: @@ -1070,61 +1065,61 @@ Defaults to: %V = %A - + Properties... Propietats... - + Recompute Recalcula - + Bind... Vincula... - + Configuration table... Taula de configuració... - + Merge cells Fusiona les cel·les - + Split cells Separa cel·les - + Cut Talla - + Copy Copia - + Paste Enganxa - + Delete Elimina @@ -1132,12 +1127,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Exporta a PDF - + PDF file Arxiu PDF @@ -1168,7 +1163,7 @@ Defaults to: %V = %A Py - + Unnamed Sense nom diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_cs.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_cs.ts index 6f88b4d3e0..03436f1fc6 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_cs.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_cs.ts @@ -352,36 +352,36 @@ Editovat - - + + Insert rows Vložit řádky - - + + Remove rows Odstranit řádky - - + + Insert columns Vložit sloupce - - + + Clear cell(s) Vymazat buňku(y) - + Set foreground color Barva popředí - + Set background color Barva pozadí @@ -701,46 +701,46 @@ změnit konfiguraci návrhu. Pokud vlastnost neexistuje, bude vytvořena.Zobrazit tabulku + - Set cell(s) foreground color Nastavit barvu popředí buňky - + Sets the Spreadsheet cell(s) foreground color Nastaví barvu popředí buněk v tabulce + - Set cell(s) background color Nastavit barvu pozadí buňky - + Sets the Spreadsheet cell(s) background color Nastaví barvu pozadí buněk v tabulce - + Copy & Paste failed Kopírování a vložení se nezdařilo - + Alias contains invalid characters! Alias obsahuje neplatné znaky! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Odkaz na buňku aliasem, například Spreadsheet.alias_nazev místo Spreadsheet.B1 - + Spreadsheet Tabulka @@ -858,11 +858,6 @@ Spreadsheet.alias_nazev místo Spreadsheet.B1 Sheet - - - Form - Návrh - &Content: @@ -1009,140 +1004,140 @@ Výchozí hodnota: %V = %A Insert %n row(s) above - + Vložit %n řádek(řádků) nad - Vložit řádky %n výše - Insert %n row(s) above - Insert %n row(s) above + Vložit %n řádky nad + Vložit %n řádků nad + Vložit %n řádků nad Insert %n row(s) below - + Vložit %n řádek(řádků) pod - Insert %n row(s) below - Insert %n row(s) below - Insert %n row(s) below + Vložit %n řádky pod + Vložit %n řádků pod + Vložit %n řádků pod Insert %n non-contiguous rows - + + Vložit %n nesouvislých řádků + Vložit %n nesouvislé řádky + Vložit %n nesouvislých řádků Vložit %n nesouvislých řádků - Insert %n non-contiguous rows - Insert %n non-contiguous rows - Insert %n non-contiguous rows Remove row(s) - + Odstranit řádek(řádky) - Remove row(s) - Remove row(s) - Remove row(s) + Odstranit řádky + Odstranit řádky + Odstranit řádky Insert %n column(s) left - + Vložit %n sloupec(sloupců) vlevo - Insert %n column(s) left - Insert %n column(s) left - Insert %n column(s) left + Vložit %n sloupce vlevo + Vložit %n sloupců vlevo + Vložit %n sloupců vlevo Insert %n column(s) right - + Vložit %n sloupec(sloupců) vpravo - Insert %n column(s) right - Insert %n column(s) right - Insert %n column(s) right + Vložit %n sloupce vpravo + Vložit %n sloupců vpravo + Vložit %n sloupců vpravo Insert %n non-contiguous columns - + + Vložit %n nesouvislých sloupců + Vložit %n nesouvislé sloupce + Vložit %n nesouvislých sloupců Vložit %n nesouvislých sloupců - Insert %n non-contiguous columns - Insert %n non-contiguous columns - Insert %n non-contiguous columns Remove column(s) - + Odstranit sloupec(ce) - Remove column(s) - Remove column(s) - Remove column(s) + Odstranit sloupce + Odstranit sloupce + Odstranit sloupce - + Properties... Vlastnosti... - + Recompute Přepočítat - + Bind... Svázat... - + Configuration table... Nastavení konfigurace tabulky... - + Merge cells Sloučit buňky - + Split cells Rozdělit buňku - + Cut Řezat - + Copy Kopírovat - + Paste Vložit - + Delete Odstranit @@ -1150,12 +1145,12 @@ Výchozí hodnota: %V = %A SpreadsheetGui::SheetView - + Export PDF Export PDF - + PDF file PDF soubor @@ -1186,7 +1181,7 @@ Výchozí hodnota: %V = %A Py - + Unnamed Nepojmenovaný diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_de.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_de.ts index 3e47d28503..f6b6f0ec9f 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_de.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_de.ts @@ -352,36 +352,36 @@ Zelle bearbeiten - - + + Insert rows Zeilen einfügen - - + + Remove rows Zeilen entfernen - - + + Insert columns Spalten einfügen - - + + Clear cell(s) Zelle(n) löschen - + Set foreground color Vordergrundfarbe festlegen - + Set background color Hintergrundfarbe festlegen @@ -605,7 +605,7 @@ switch the design configuration. The property will be created if not exist. Left - Seitenansicht von links + Links @@ -616,7 +616,7 @@ switch the design configuration. The property will be created if not exist. Right - Seitenansicht von rechts + Rechts @@ -626,12 +626,12 @@ switch the design configuration. The property will be created if not exist. Top - Draufsicht + Oben Bottom - Untersicht + Unten @@ -685,12 +685,12 @@ switch the design configuration. The property will be created if not exist. Import file - Importiere Datei + Datei importieren Export file - Exportiere Datei + Datei exportieren @@ -698,48 +698,48 @@ switch the design configuration. The property will be created if not exist.Kalkulationstabelle anzeigen + - Set cell(s) foreground color Stellt die Vordergrundfarbe der Zelle(n) ein - + Sets the Spreadsheet cell(s) foreground color Vordergrundfarbe der Tabellen-Zelle(n) einstellen + - Set cell(s) background color Stellt die Hintergrundfarbe der Zelle(n) ein - + Sets the Spreadsheet cell(s) background color Hintergrundfarbe der Tabellen-Zelle(n) einstellen - + Copy & Paste failed Kopieren & Einfügen fehlgeschlagen - + Alias contains invalid characters! Alias enthält ungültige Zeichen! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Zellbezug mit Alias, zum Beispiel Tabelle.my_Alias_name anstelle von Tabelle.B1 - + Spreadsheet - Kalkulationstabelle + Tabelle @@ -855,11 +855,6 @@ Tabelle.my_Alias_name anstelle von Tabelle.B1 Sheet - - - Form - Form - &Content: @@ -1069,61 +1064,61 @@ Standard: %V = %A - + Properties... Eigenschaften... - + Recompute Neuberechnung - + Bind... Binden... - + Configuration table... Konfigurationstabelle... - + Merge cells Zellen verbinden - + Split cells Zellen teilen - + Cut - Differenz + Ausschneiden - + Copy Kopieren - + Paste Einfügen - + Delete Löschen @@ -1131,12 +1126,12 @@ Standard: %V = %A SpreadsheetGui::SheetView - + Export PDF PDF exportieren - + PDF file PDF-Datei @@ -1167,7 +1162,7 @@ Standard: %V = %A Py - + Unnamed Unbenannt diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_el.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_el.ts index 0d8b1424fc..d853d3d588 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_el.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_el.ts @@ -352,36 +352,36 @@ Επεξεργασία κελιού - - + + Insert rows Εισαγωγή σειρών - - + + Remove rows Αφαίρεση σειρών - - + + Insert columns Εισαγωγή στηλών - - + + Clear cell(s) Καθαρισμός κελιού(ων) - + Set foreground color Set foreground color - + Set background color Set background color @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.Εμφάνιση υπολογιστικού φύλλου + - Set cell(s) foreground color Ορισμός χρώματος προσκηνίου κελιών - + Sets the Spreadsheet cell(s) foreground color Ορίζει το χρώμα προσκηνίου κελιών του Υπολογιστικού Φύλλου + - Set cell(s) background color Ορισμός χρώματος υποβάθρου κελιών - + Sets the Spreadsheet cell(s) background color Ορίζει το χρώμα υποβάθρου κελιών του Υπολογιστικού Φύλλου - + Copy & Paste failed Copy & Paste failed - + Alias contains invalid characters! Alias contains invalid characters! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 - + Spreadsheet Υπολογιστικό Φύλλο @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - Μορφή - &Content: @@ -1072,61 +1067,61 @@ Defaults to: %V = %A - + Properties... Ιδιότητες... - + Recompute Recompute - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells Συγχώνευση κελιών - + Split cells Split cells - + Cut Περικοπή - + Copy Αντιγραφή - + Paste Paste - + Delete Διαγραφή @@ -1134,12 +1129,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Εξαγωγή σε PDF - + PDF file Αρχείο PDF @@ -1170,7 +1165,7 @@ Defaults to: %V = %A Py - + Unnamed Ανώνυμο diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-AR.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-AR.ts index f46194441c..b815be06f6 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-AR.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-AR.ts @@ -16,7 +16,7 @@ Create a new spreadsheet - Crear una nueva hoja de cálculo + Crea una nueva hoja de cálculo @@ -142,7 +142,7 @@ Export spreadsheet to CSV file - Exportar hoja de cálculo como archivo CSV + Exporta la hoja de cálculo como archivo CSV @@ -160,7 +160,7 @@ Import CSV file into spreadsheet - Importar archivo CSV en la hoja de cálculo + Importa un archivo CSV en la hoja de cálculo @@ -178,7 +178,7 @@ Merge selected cells - Combinar celdas seleccionadas + Combina las celdas seleccionadas @@ -196,7 +196,7 @@ Set alias for selected cell - Establecer alias para la celda selecionada + Establece un alias para la celda seleccionada @@ -214,7 +214,7 @@ Split previously merged cells - Dividir celdas previamente combinadas + Divide las celdas previamente combinadas @@ -232,7 +232,7 @@ Set text in selected cells bold - Establecer texto en negrita en las celdas seleccionadas + Establece texto en negrita en las celdas seleccionadas @@ -250,7 +250,7 @@ Set text in selected cells italic - Establecer texto en cursiva en las celdas seleccionadas + Establece texto en cursiva en las celdas seleccionadas @@ -268,7 +268,7 @@ Underline text in selected cells - Texto subrayado en las celdas seleccionadas + Subraya el texto en las celdas seleccionadas @@ -352,36 +352,36 @@ Editar celda - - + + Insert rows Insertar filas - - + + Remove rows Eliminar filas - - + + Insert columns Insertar columnas - - + + Clear cell(s) Limpiar celda(s) - + Set foreground color Establecer color de primer plano - + Set background color Establecer color de fondo @@ -391,7 +391,7 @@ Bind Spreadsheet Cells - Enlazar celdas de hoja de cálculo + Vincular celdas de hoja de cálculo @@ -406,17 +406,17 @@ First cell in range - Celda inicial en rango + Primer celda del rango Last cell in range - Celda final en rango + Última celda del rango Bind cells: - Enlazar celdas: + Vincular celdas: @@ -433,7 +433,7 @@ Start cell address to bind to. Type '=' if you want to use an expression. The expression must evaluate to a string of some cell address. - Dirección de celda inicial a enlazar. + Dirección de celda inicial a vincular. Escriba '=' si desea utilizar una expresión. La expresión debe evaluar a una cadena de alguna dirección de celda. @@ -442,14 +442,14 @@ La expresión debe evaluar a una cadena de alguna dirección de celda.End cell address to bind to. Type '=' if you want to use an expression. The expression must evaluate to a string of some cell address. - Dirección de celda final a enlazar. + Dirección de celda final a vincular. Escriba '=' si desea utilizar una expresión. La expresión debe evaluar a una cadena de alguna dirección de celda. Which spread sheet to bind to - Seleccione la hoja de cálculo a la que enlazar + A qué hoja de cálculo vincular @@ -458,17 +458,17 @@ be hidden to the dependency checking. Useful to avoid cyclic dependencies, but use with caution! La dependencia con la hoja de cálculo referenciada se ocultará de la verificación de dependencias. -Es util para evitar dependencias cíclicas pero ¡úselo con precaución! +Es útil para evitar dependencias cíclicas pero ¡úselo con precaución! Hide dependency of binding - Ocultar dependencia del enlace + Ocultar dependencia del vínculo Unbind - Desenlazar + Desvincular @@ -486,7 +486,7 @@ Es util para evitar dependencias cíclicas pero ¡úselo con precaución! Setup Configuration Table - Configurar tabla de configuración + Ajustes de tabla de configuración @@ -507,7 +507,7 @@ by that property. Dirección de celda inicial. Se asume que la primera columna del rango contiene una lista de nombres de configuración, -que se utilizará para generar una lista de cadenas y enlazar a la propiedad +que se utilizará para generar una lista de cadenas y vincular a la propiedad dada para que el usuario cambie dinámicamente la configuración. La primera fila del rango estará vinculada a cualquier fila seleccionada (indirectamente) @@ -528,7 +528,7 @@ by that property. Dirección de celda final. Se asume que la primera columna del rango contiene una lista de nombres de configuración, -que se utilizará para generar una lista de cadenas y enlazar a la propiedad +que se utilizará para generar una lista de cadenas y vincular a la propiedad dada para que el usuario cambie dinámicamente la configuración. La primera fila del rango estará vinculada a cualquier fila seleccionada (indirectamente) @@ -555,7 +555,7 @@ la configuración de diseño. La propiedad se creará si no existe. Optional property group name. - Nombre de grupo de propiedades opcional. + Nombre opcional del grupo de propiedades. @@ -701,39 +701,39 @@ la configuración de diseño. La propiedad se creará si no existe.Mostrar hoja de cálculo + - Set cell(s) foreground color Color de celda(s) primer plano - + Sets the Spreadsheet cell(s) foreground color Establece el color de frente de las celda(s) de la hoja de cálculo + - Set cell(s) background color Establecer color de fondo de celda(s) - + Sets the Spreadsheet cell(s) background color Establece el color de fondo de celda(s) de la hoja de cálculo - + Copy & Paste failed Copiar & Pegar ha fallado - + Alias contains invalid characters! ¡El alias contiene caracteres no válidos! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Consulte la celda por alias, por ejemplo @@ -741,7 +741,7 @@ Spreadsheet.mi_nombre_de_alias en lugar de Spreadsheet.B1 - + Spreadsheet Hoja de cálculo @@ -859,11 +859,6 @@ Spreadsheet.mi_nombre_de_alias en lugar de Spreadsheet.B1 Sheet - - - Form - Forma - &Content: @@ -888,21 +883,21 @@ Spreadsheet.mi_nombre_de_alias en lugar de Spreadsheet.B1 Bind cells - Enlazar celdas + Vincular celdas Source and target cell count mismatch. Partial binding may still work. Do you want to continue? - El recuento de celdas de origen y destino no coincide. Puede que el enlace parcial funcione. + El recuento de celdas de origen y destino no coincide. La vinculación parcial puede seguir funcionando. ¿Desea continuar? Bind Spreadsheet Cells - Enlazar celdas de hoja de cálculo + Vincular celdas de hoja de cálculo @@ -914,7 +909,7 @@ Do you want to continue? Unbind cells - Desenlazar celdas + Desvincular celdas @@ -927,7 +922,7 @@ Do you want to continue? Display Settings - Mostrar Ajustes + Mostrar ajustes @@ -947,9 +942,9 @@ Defaults to: %V = %A %A - alias name %V - cell value El formato de la presentación de la cadena de celda personalizada. -Por defecto: %V = %A +Por defecto a: %V = %A -%A - nombre del alias +%A - alias nombre %V - valor de celda @@ -1074,61 +1069,61 @@ Por defecto: %V = %A - + Properties... Propiedades... - + Recompute Recalcular - + Bind... - Enlazar... + Vincular... - + Configuration table... Tabla de configuración... - + Merge cells Combinar celdas - + Split cells Dividir celdas - + Cut Cortar - + Copy Copiar - + Paste Pegar - + Delete Eliminar @@ -1136,12 +1131,12 @@ Por defecto: %V = %A SpreadsheetGui::SheetView - + Export PDF Exportar a PDF - + PDF file Archivo PDF @@ -1156,7 +1151,7 @@ Por defecto: %V = %A &Spreadsheet - &Spreadsheet + &Hoja de cálculo @@ -1166,13 +1161,13 @@ Por defecto: %V = %A &Styles - E&stilos + &Estilos Py - + Unnamed Sin nombre diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.ts index 702a6f22bc..ed8883e56d 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.ts @@ -352,36 +352,36 @@ Editar celda - - + + Insert rows Insertar filas - - + + Remove rows Eliminar filas - - + + Insert columns Insertar columnas - - + + Clear cell(s) Limpiar celda(s) - + Set foreground color Color de celda - + Set background color Color de fondo @@ -701,46 +701,46 @@ la configuración de diseño. La propiedad se creará si no existe.Mostrar la hoja de cálculo + - Set cell(s) foreground color Ajustar color de primer plano para la(s) celda(s) - + Sets the Spreadsheet cell(s) foreground color Ajuste del color de primer plano de la hoja de cálculo + - Set cell(s) background color Ajuste de primer plano del color de celda(s) - + Sets the Spreadsheet cell(s) background color Ajuste de color de fondo de celda(s) de la hoja de cálculo - + Copy & Paste failed Copiar & Pegar ha fallado - + Alias contains invalid characters! ¡El alias contiene caracteres no válidos! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Consulte la celda por alias, por ejemplo Spreadsheet.my_alias_name en lugar de Spreadsheet.B1 - + Spreadsheet Hoja de cálculo @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name en lugar de Spreadsheet.B1 Sheet - - - Form - Formulario - &Content: @@ -968,7 +963,7 @@ Por defecto: %V = %A tab - pestaña + tab @@ -1072,61 +1067,61 @@ Por defecto: %V = %A - + Properties... Propiedades... - + Recompute Recalcular - + Bind... Enlazar... - + Configuration table... Tabla de configuración... - + Merge cells Combinar celdas - + Split cells Dividir celdas - + Cut Cortar - + Copy Copiar - + Paste Pegar - + Delete Borrar @@ -1134,12 +1129,12 @@ Por defecto: %V = %A SpreadsheetGui::SheetView - + Export PDF Exportar en PDF - + PDF file Archivo PDF @@ -1170,7 +1165,7 @@ Por defecto: %V = %A Py - + Unnamed Sin nombre diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_eu.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_eu.ts index 7e83cbe5c2..46fe452090 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_eu.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_eu.ts @@ -352,36 +352,36 @@ Editatu gelaxka - - + + Insert rows Txertatu errenkadak - - + + Remove rows Kendu errenkadak - - + + Insert columns Txertatu zutabeak - - + + Clear cell(s) Garbitu gelaxka(k) - + Set foreground color Ezarri aurreko planoaren kolorea - + Set background color Ezarri atzeko planoaren kolorea @@ -701,46 +701,46 @@ eta propietate-izena zehazteko. Propietatea sortu egingo da lehendik ez badago.< Erakutsi kalkulu-orria + - Set cell(s) foreground color Ezarri gelaxk(ar)en aurreko planoaren kolorea - + Sets the Spreadsheet cell(s) foreground color Kalkulu-orriko gelaxk(ar)en aurreko planoaren kolorea ezartzen du + - Set cell(s) background color Ezarri gelaxk(ar)en atzeko planoaren kolorea - + Sets the Spreadsheet cell(s) background color Kalkulu-orriko gelaxk(ar)en atzeko planoaren kolorea ezartzen du - + Copy & Paste failed Kopiatu eta itsasteak huts egin du - + Alias contains invalid characters! Aliasak karaktere baliogabeak ditu! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Egin erreferentzia gelaxkei aliasa erabilita, adibidez 'KalkuluOrria.nire_aliasa' erabili 'KalkuluOrria.B1' erabili ordez - + Spreadsheet Kalkulu-orria @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - Inprimakia - &Content: @@ -1072,61 +1067,61 @@ Lehenespenak: %V = %A - + Properties... Propietateak... - + Recompute Birkalkulatu - + Bind... Lotu... - + Configuration table... Konfigurazio-taula... - + Merge cells Fusionatu gelaxkak - + Split cells Zatitu gelaxkak - + Cut Moztu - + Copy Kopiatu - + Paste Itsatsi - + Delete Ezabatu @@ -1134,12 +1129,12 @@ Lehenespenak: %V = %A SpreadsheetGui::SheetView - + Export PDF Esportatu PDFa - + PDF file PDF fitxategia @@ -1170,7 +1165,7 @@ Lehenespenak: %V = %A Py - + Unnamed Izenik gabea diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_fi.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_fi.ts index 399b015b9b..86d5f39aad 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_fi.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_fi.ts @@ -352,36 +352,36 @@ Muokkaa solua - - + + Insert rows Lisää rivejä - - + + Remove rows Poista rivejä - - + + Insert columns Lisää sarakkeita - - + + Clear cell(s) Tyhjennä solu(t) - + Set foreground color Aseta edustaväri - + Set background color Aseta taustaväri @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.Näytä laskentataulukko + - Set cell(s) foreground color Aseta solun(solujen) edustan väri - + Sets the Spreadsheet cell(s) foreground color Asettaa tulostaulun solun(solujen) edustan värin + - Set cell(s) background color Aseta solun(solujen) taustan väri - + Sets the Spreadsheet cell(s) background color Asettaa laskentataulun(-taulujen) taustavärin - + Copy & Paste failed Kopioi ja liitä epäonnistui - + Alias contains invalid characters! Vaihtoehtoinen nimi (alias) sisältää virheellisiä merkkejä! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Viittaa soluihin vaihtoehtoisella nimellä (alias), esimerkiksi Spreadsheet.my_alias_name sijasta Spreadsheet.B1 - + Spreadsheet Laskentataulukko @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name sijasta Spreadsheet.B1 Sheet - - - Form - Lomake - &Content: @@ -1071,61 +1066,61 @@ Defaults to: %V = %A - + Properties... Ominaisuudet... - + Recompute Recompute - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells Yhdistä solut - + Split cells Split cells - + Cut Leikkaa - + Copy Kopio - + Paste Liitä - + Delete Poista @@ -1133,12 +1128,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Vie PDF - + PDF file PDF-tiedosto @@ -1169,7 +1164,7 @@ Defaults to: %V = %A Py - + Unnamed Nimetön diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_fr.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_fr.ts index 680dcb5bb2..f6d6e03f06 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_fr.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_fr.ts @@ -24,7 +24,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -42,7 +42,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -60,7 +60,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -78,7 +78,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -96,7 +96,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -114,7 +114,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -132,7 +132,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -150,7 +150,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -168,7 +168,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -186,7 +186,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -204,7 +204,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -222,7 +222,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -240,7 +240,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -258,7 +258,7 @@ Spreadsheet - Spreadsheet + Feuille de calcul @@ -352,36 +352,36 @@ Modifier la cellule - - + + Insert rows Insérer des lignes - - + + Remove rows Supprimer des lignes - - + + Insert columns Insérer des colonnes - - + + Clear cell(s) Effacer la/les cellule(s) - + Set foreground color Définir la couleur du premier-plan - + Set background color Définir la couleur de l'arrière-plan @@ -607,7 +607,7 @@ switch the design configuration. The property will be created if not exist. Left - Gauche + À gauche @@ -618,7 +618,7 @@ switch the design configuration. The property will be created if not exist. Right - Droit + À droite @@ -628,12 +628,12 @@ switch the design configuration. The property will be created if not exist. Top - Dessus + En haut Bottom - Dessous + En bas @@ -692,7 +692,7 @@ switch the design configuration. The property will be created if not exist. Export file - Exporter un fichier + Exporter le fichier @@ -700,47 +700,47 @@ switch the design configuration. The property will be created if not exist.Montrer la feuille de calcul + - Set cell(s) foreground color Définir la couleur de premier plan de la ou des cellules - + Sets the Spreadsheet cell(s) foreground color Définit la couleur de premier plan de la ou des cellules de la feuille de calcul + - Set cell(s) background color Définir la couleur d'arrière-plan de la ou des cellules - + Sets the Spreadsheet cell(s) background color Définit la couleur d'arrière-plan de la ou des cellules de la feuille de calcul - + Copy & Paste failed Le copier-coller a échoué - + Alias contains invalid characters! L'alias contient des caractères invalides! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Reportez-vous à la cellule par l'alias, par exemple Spreadsheet.my_alias_name au lieu de Spreadsheet.B1 - + Spreadsheet - Spreadsheet + Feuille de calcul @@ -856,11 +856,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - Forme - &Content: @@ -917,7 +912,7 @@ Voulez-vous continuer ? Spreadsheet - Spreadsheet + Feuille de calcul @@ -1069,61 +1064,61 @@ Par défaut : %V = %A - + Properties... Propriétés... - + Recompute Recalculer - + Bind... Lier... - + Configuration table... Table de configuration... - + Merge cells Fusionner des cellules - + Split cells Diviser les cellules - + Cut - Soustraction + Couper - + Copy - Copie + Copier - + Paste Coller - + Delete Supprimer @@ -1131,12 +1126,12 @@ Par défaut : %V = %A SpreadsheetGui::SheetView - + Export PDF - Exporter vers PDF + Exporter en PDF - + PDF file Fichier PDF @@ -1167,7 +1162,7 @@ Par défaut : %V = %A Py - + Unnamed Sans nom diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_gl.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_gl.ts index ff52ae5fcb..5e34888e64 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_gl.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_gl.ts @@ -352,36 +352,36 @@ Editar cela - - + + Insert rows Inserir ringleiras - - + + Remove rows Desbotar ringleiras - - + + Insert columns Inserir columnas - - + + Clear cell(s) Borrar cela(s) - + Set foreground color Establecer a cor de primeiro plano - + Set background color Estabelecer a cor do fondo @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.Amosar a folla de cálculo + - Set cell(s) foreground color Definir cor de primeiro plano da(s) célula(s) - + Sets the Spreadsheet cell(s) foreground color Definir cor de primeiro plano da(s) célula(s) da folla de cálculo + - Set cell(s) background color Definir cor do plano de fondo da(s) célula(s) - + Sets the Spreadsheet cell(s) background color Definir a cor do plano de fondo da(s) célula(s) da folla de cálculo - + Copy & Paste failed Produciuse un erro ao copiar e pegar - + Alias contains invalid characters! O alias contén caracteres non válidos! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 - + Spreadsheet Folla de cálculo @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - Formulario - &Content: @@ -1072,61 +1067,61 @@ Defaults to: %V = %A - + Properties... Propiedades... - + Recompute Recompute - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells Combinar celas - + Split cells Split cells - + Cut Tallar - + Copy Copiar - + Paste Pegar - + Delete Desbotar @@ -1134,12 +1129,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Exportar en PDF - + PDF file Ficheiro PDF @@ -1170,7 +1165,7 @@ Defaults to: %V = %A Py - + Unnamed Sen nome diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_hr.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_hr.ts index ac160f4095..0d3d7aaaa0 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_hr.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_hr.ts @@ -352,36 +352,36 @@ Uredi ćeliju - - + + Insert rows Umetni redove - - + + Remove rows Ukloni redove - - + + Insert columns Umetni stupce - - + + Clear cell(s) Obriši ćeliju(e) - + Set foreground color Postavi boju prednjeg plana - + Set background color Postavi boju pozadine @@ -703,41 +703,41 @@ promijeniti konfiguraciju dizajna. Objekt će se stvoriti ako ne postoji.Pokaži Proračunsku Tablicu + - Set cell(s) foreground color Postavljanje boje prednjeg plana ćelije - + Sets the Spreadsheet cell(s) foreground color Postavlja boju prednjeg plana ćelije proračunske tablice + - Set cell(s) background color Postavi boju pozadine ćelije - + Sets the Spreadsheet cell(s) background color Postavlja boju pozadine ćelije proračunske tablice - + Copy & Paste failed Copy & Paste nije uspjelo - + Alias contains invalid characters! Pseudonim sadrži nevažeće znakove! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Referenca na ćeliju sa pseudonimom, na primjer @@ -746,7 +746,7 @@ Spreadsheet.my_alias_name umjesto Spreadsheet.B1 - + Spreadsheet Proračunska tablica @@ -864,11 +864,6 @@ Spreadsheet.my_alias_name umjesto Spreadsheet.B1 Sheet - - - Form - Obrazac - &Content: @@ -1087,61 +1082,61 @@ Zadano: %V = %A - + Properties... Svojstva... - + Recompute Preračunaj - + Bind... Poveži... - + Configuration table... Konfiguracijska tablica... - + Merge cells Spajanje ćelija - + Split cells Razdvoji ćelije - + Cut Isječak - + Copy Kopiraj - + Paste Umetni - + Delete Izbriši @@ -1149,12 +1144,12 @@ Zadano: %V = %A SpreadsheetGui::SheetView - + Export PDF Izvoz PDF - + PDF file PDF Datoteka @@ -1185,7 +1180,7 @@ Zadano: %V = %A Py - + Unnamed Neimenovano diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_hu.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_hu.ts index 5943b954d1..b2c4c67039 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_hu.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_hu.ts @@ -352,36 +352,36 @@ Cella szerkesztése - - + + Insert rows Sorok beszúrása - - + + Remove rows Sorok eltávolítása - - + + Insert columns Oszlopok beszúrása - - + + Clear cell(s) Cella(k) törlése - + Set foreground color Előtér színének beállítása - + Set background color Háttér színének beállítása @@ -701,46 +701,46 @@ változtassa a tervezési konfigurációt. A tulajdonság létrejön, ha nem lé Számolótábla mutatása + - Set cell(s) foreground color Cella(k) előtér színének beállítása - + Sets the Spreadsheet cell(s) foreground color Beállítja a számolótábla cella(k) előtér színét + - Set cell(s) background color Cella(k) háttér színének beállítása - + Sets the Spreadsheet cell(s) background color Beállítja a számolótábla cella(k) háttér színét - + Copy & Paste failed Másolás & beillesztés sikertelen - + Alias contains invalid characters! Álnév érvénytelen karaktereket tartalmaz! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Cella hivatkozás álnévvel, például Spreadsheet.my_alias_name helyett Spreadsheet.B1 - + Spreadsheet Számolótábla @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name helyett Spreadsheet.B1 Sheet - - - Form - Űrlap - &Content: @@ -1072,61 +1067,61 @@ Alapértelmezett értéke: %V = %A - + Properties... Tulajdonságok... - + Recompute Újraszámolás - + Bind... Összeköt... - + Configuration table... Konfigurációs táblázat... - + Merge cells Cellák egyesítése - + Split cells Cellák felosztása - + Cut Kivágás - + Copy Másolás - + Paste Beillesztés - + Delete Törlés @@ -1134,12 +1129,12 @@ Alapértelmezett értéke: %V = %A SpreadsheetGui::SheetView - + Export PDF Exportálás PDF-be - + PDF file PDF-fájl @@ -1170,7 +1165,7 @@ Alapértelmezett értéke: %V = %A Py - + Unnamed Névtelen diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_id.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_id.ts index fe7cb84cb4..bff25940db 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_id.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_id.ts @@ -352,36 +352,36 @@ Edit cell - - + + Insert rows Sisipkan baris - - + + Remove rows Hapus baris - - + + Insert columns Sisipkan kolom - - + + Clear cell(s) Clear cell(s) - + Set foreground color Set foreground color - + Set background color Set background color @@ -701,44 +701,49 @@ switch the design configuration. The property will be created if not exist.Tampilkan spreadsheet + - Set cell(s) foreground color Set cell(s) foreground color - + Sets the Spreadsheet cell(s) foreground color Sets the Spreadsheet cell(s) foreground color + - Set cell(s) background color Set cell(s) background color - + Sets the Spreadsheet cell(s) background color Sets the Spreadsheet cell(s) background color - + Copy & Paste failed Copy & Paste failed - + Alias contains invalid characters! Alias contains invalid characters! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 + + + Spreadsheet + Indonesia + QtColorPicker @@ -853,11 +858,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - Bentuk - &Content: @@ -1059,61 +1059,61 @@ Defaults to: %V = %A - + Properties... Properti ... - + Recompute Recompute - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells Gabungkan sel - + Split cells Split cells - + Cut Memotong - + Copy Salinan - + Paste Tempel - + Delete Menghapus @@ -1121,12 +1121,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Ekspor PDF - + PDF file File PDF @@ -1157,7 +1157,7 @@ Defaults to: %V = %A Py - + Unnamed Tanpa nama diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.ts index 33826b8b23..0a5f0732b8 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.ts @@ -352,36 +352,36 @@ Modifica cella - - + + Insert rows Inserisci righe - - + + Remove rows Rimuovi righe - - + + Insert columns Inserisci colonne - - + + Clear cell(s) Svuota cella(e) - + Set foreground color Imposta colore di primo piano - + Set background color Impostya colore di sfondo @@ -699,46 +699,46 @@ cambiare dinamicamente la configurazione del progetto. La proprietà verrà crea Visualizza il foglio di calcolo + - Set cell(s) foreground color Imposta il colore di primo piano delle celle - + Sets the Spreadsheet cell(s) foreground color Imposta il colore del primo piano delle celle del foglio di calcolo + - Set cell(s) background color Imposta il colore di sfondo delle celle - + Sets the Spreadsheet cell(s) background color Imposta il colore di sfondo delle celle del foglio di calcolo - + Copy & Paste failed Copia & Incolla fallita - + Alias contains invalid characters! L'alias contiene dei caratteri non validi! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Fa riferimento alla cella tramite alias, ad esempio Spreadsheet.my_alias_name invece di Spreadsheet.B1 - + Spreadsheet Foglio di calcolo @@ -856,11 +856,6 @@ Spreadsheet.my_alias_name invece di Spreadsheet.B1 Sheet - - - Form - Modulo - &Content: @@ -1070,61 +1065,61 @@ Predefinito a: %V = %A - + Properties... Proprietà... - + Recompute Ricalcola - + Bind... Collega... - + Configuration table... Tabella di configurazione... - + Merge cells Unisci le celle - + Split cells Dividi celle - + Cut Taglio - + Copy Copia - + Paste Incolla - + Delete Elimina @@ -1132,12 +1127,12 @@ Predefinito a: %V = %A SpreadsheetGui::SheetView - + Export PDF Esporta in formato PDF - + PDF file File PDF @@ -1168,7 +1163,7 @@ Predefinito a: %V = %A Py - + Unnamed Senza nome diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ja.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ja.ts index fd54a0d2a4..b3d9fc2ea4 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ja.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ja.ts @@ -352,36 +352,36 @@ セルを編集 - - + + Insert rows 行を挿入 - - + + Remove rows 行を削除 - - + + Insert columns 列を挿入 - - + + Clear cell(s) セルをクリア - + Set foreground color 文字色を設定 - + Set background color 背景色を設定 @@ -694,46 +694,46 @@ switch the design configuration. The property will be created if not exist.スプレッドシートを表示 + - Set cell(s) foreground color セルの前景色を設定 - + Sets the Spreadsheet cell(s) foreground color スプレッドシートのセルの前景色を設定 + - Set cell(s) background color セルの背景色を設定 - + Sets the Spreadsheet cell(s) background color スプレッドシートのセルの背景色を設定 - + Copy & Paste failed コピー&ペーストに失敗しました - + Alias contains invalid characters! エイリアスに無効な文字が含まれています! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Spreadsheet.B1 の代わりに Spreadsheet.my_alias_name のように、エイリアスでセルを参照してください。 - + Spreadsheet スプレッドシート @@ -851,11 +851,6 @@ Spreadsheet.my_alias_name のように、エイリアスでセルを参照して Sheet - - - Form - フォーム - &Content: @@ -1057,61 +1052,61 @@ Defaults to: %V = %A - + Properties... プロパティ(&P)... - + Recompute 再計算 - + Bind... バインド... - + Configuration table... 構成表... - + Merge cells セルの結合 - + Split cells セルの分割 - + Cut 切り取り - + Copy コピー - + Paste 貼り付け - + Delete 削除 @@ -1119,12 +1114,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF PDFファイル形式でエクスポート - + PDF file PDFファイル @@ -1155,7 +1150,7 @@ Defaults to: %V = %A Py - + Unnamed Unnamed diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ka.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ka.ts index b68245be45..bf03ba1cea 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ka.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ka.ts @@ -24,7 +24,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -42,7 +42,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -60,7 +60,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -78,7 +78,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -96,7 +96,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -114,7 +114,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -132,7 +132,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -150,7 +150,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -168,7 +168,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -186,7 +186,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -204,7 +204,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -222,7 +222,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -240,7 +240,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -258,7 +258,7 @@ Spreadsheet - ცხრილი + ელცხრილი @@ -352,36 +352,36 @@ უჯრედის ჩასწორება - - + + Insert rows სვეტების ჩასმა - - + + Remove rows სვეტების მოცილება - - + + Insert columns სვეტების ჩასმა - - + + Clear cell(s) უჯრედ(ებ)ის გასუფთავება - + Set foreground color წინა პლანის ფერის დაყენება - + Set background color ფონის ფერის დაყენება @@ -476,7 +476,7 @@ Useful to avoid cyclic dependencies, but use with caution! OK - &დიახ + დიახ @@ -561,7 +561,7 @@ switch the design configuration. The property will be created if not exist. OK - &დიახ + დიახ @@ -625,7 +625,7 @@ switch the design configuration. The property will be created if not exist. Bottom - ძირზე + ქვედა @@ -692,48 +692,48 @@ switch the design configuration. The property will be created if not exist.ცხრილის ჩვენება + - Set cell(s) foreground color უჯრედ(ებ)-ის წინა პლანის ფერის დაყენება - + Sets the Spreadsheet cell(s) foreground color უჯრედ(ებ)-ის წინა პლანის ფერის დაყენება + - Set cell(s) background color უჯრედ(ებ)-ის წინა ფონის ფერის დაყენება - + Sets the Spreadsheet cell(s) background color უჯრედ(ებ)-ის წინა ფონის ფერის დაყენება - + Copy & Paste failed კოპირებისა და ჩასმის შეცდომა - + Alias contains invalid characters! ფსევდონიმი დაუშვებელ სიმბოლოებს შეიცავს! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 მაგალითად, მიუთითეთ უჯრედი მეტსახელით Spreadsheet.my_alias_name ნაცვლად Spreadsheet.B1 - + Spreadsheet - ცხრილი + ელცხრილი @@ -849,11 +849,6 @@ Spreadsheet.my_alias_name ნაცვლად Spreadsheet.B1 Sheet - - - Form - ფორმა - &Content: @@ -911,7 +906,7 @@ Do you want to continue? Spreadsheet - ცხრილი + ელცხრილი @@ -1064,61 +1059,61 @@ Defaults to: %V = %A - + Properties... თვისებები... - + Recompute გადათვლა - + Bind... მიმაგრება... - + Configuration table... კონფიგურაციის ცხრილი... - + Merge cells უჯრედების შერწყმა - + Split cells უჯრედის გაყოფა - + Cut ამოჭრა - + Copy კოპირება - + Paste ჩასმა - + Delete წაშლა @@ -1126,12 +1121,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF PDF-ად გატანა - + PDF file PDF ფაილი @@ -1141,7 +1136,7 @@ Defaults to: %V = %A Spreadsheet - ცხრილი + ელცხრილი @@ -1151,7 +1146,7 @@ Defaults to: %V = %A &Alignment - &სწორება + &Სწორება @@ -1162,7 +1157,7 @@ Defaults to: %V = %A Py - + Unnamed უსახელო diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ko.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ko.ts index c75e6e85d7..41bfe0869b 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ko.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ko.ts @@ -352,36 +352,36 @@ 셀 편집하기 - - + + Insert rows 행 삽입 - - + + Remove rows 행 삭제 - - + + Insert columns 열 삽입 - - + + Clear cell(s) 셀 비우기 - + Set foreground color 전경색 설정하기 - + Set background color 배경색 설정하기 @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.스프레드시트 표시 + - Set cell(s) foreground color 셀 전경색 설정 - + Sets the Spreadsheet cell(s) foreground color 스프레드 시트의 셀 전경색 설정 + - Set cell(s) background color 셀 배경색 설정 - + Sets the Spreadsheet cell(s) background color 스프레드 시트의 셀 배경색 설정 - + Copy & Paste failed 복사 및 붙여넣기 실패함 - + Alias contains invalid characters! Alias contains invalid characters! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 - + Spreadsheet 스프레드시트 @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - 양식 - &Content: @@ -1064,61 +1059,61 @@ Defaults to: %V = %A - + Properties... 속성... - + Recompute Recompute - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells 셀 합치기 - + Split cells Split cells - + Cut 자르기 - + Copy 복사하기 - + Paste Paste - + Delete 삭제 @@ -1126,12 +1121,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF PDF로 내보내기 - + PDF file PDF 파일 @@ -1162,7 +1157,7 @@ Defaults to: %V = %A Py - + Unnamed 이름없음 diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_nl.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_nl.ts index 65c5b97b77..9fa770fb39 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_nl.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_nl.ts @@ -352,36 +352,36 @@ Cel bewerken - - + + Insert rows Rijen invoegen - - + + Remove rows Rijen verwijderen - - + + Insert columns Kolommen invoegen - - + + Clear cell(s) Wis cel(len) - + Set foreground color Voorgrondkleur instellen - + Set background color Achtergrondkleur instellen @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.Rekenblad tonen + - Set cell(s) foreground color Zet de voorgrondkleur van de cel(len) op - + Sets the Spreadsheet cell(s) foreground color Stelt de voorgrondkleur van de Spreadsheet-cel(len) op + - Set cell(s) background color Zet de achtergrondkleur van de cel(len) op - + Sets the Spreadsheet cell(s) background color Stelt de achtergrondkleur van de Spreadsheet-cel(len) op - + Copy & Paste failed Kopiëren en plakken mislukt - + Alias contains invalid characters! Alias bevat ongeldige tekens! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Verwijs naar cel met een alias, bijvoorbeeld Spreadsheet.mijn_alias_naam in plaats van Spreadsheet.B1 - + Spreadsheet Rekenblad @@ -858,11 +858,6 @@ Spreadsheet.mijn_alias_naam in plaats van Spreadsheet.B1 Sheet - - - Form - Vorm - &Content: @@ -1072,61 +1067,61 @@ Defaults to: %V = %A - + Properties... Eigenschappen... - + Recompute Herberekenen - + Bind... Bind... - + Configuration table... Configuratie tabel... - + Merge cells Cellen samenvoegen - + Split cells Splits cellen - + Cut Snijden - + Copy Kopie - + Paste Plakken - + Delete Verwijderen @@ -1134,12 +1129,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Exporteren als PDF - + PDF file PDF-bestand @@ -1170,7 +1165,7 @@ Defaults to: %V = %A Py - + Unnamed Naamloos diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pl.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pl.ts index d887fe847d..11ddb8c3dd 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pl.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pl.ts @@ -284,7 +284,7 @@ Merge cells - Scal komórki + Połącz komórki @@ -352,36 +352,36 @@ Edytuj komórkę - - + + Insert rows Wstaw wiersze - - + + Remove rows Usuń wiersze - - + + Insert columns Wstaw kolumny - - + + Clear cell(s) Wyczyść komórkę(i) - + Set foreground color Ustawia kolor pierwszoplanowy - + Set background color Ustaw kolor tła @@ -700,46 +700,46 @@ switch the design configuration. The property will be created if not exist.Pokaż arkusz + - Set cell(s) foreground color Ustaw kolor komórki - + Sets the Spreadsheet cell(s) foreground color Ustawia kolor tła komórki(ek) Arkusza kalkulacyjnego + - Set cell(s) background color Ustaw kolor tła komórki(ek) - + Sets the Spreadsheet cell(s) background color Ustawia kolor tła komórki(ek) Arkusza kalkulacyjnego - + Copy & Paste failed Kopiowanie i wklejanie nie powiodło się - + Alias contains invalid characters! Określenie nazwy zawiera nieprawidłowe znaki! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Odniesienie do komórki według oznaczenia nazwy (alias), np. Arkusz.mój_alias zamiast Arkusz.B1 - + Spreadsheet Arkusz kalkulacyjny @@ -857,11 +857,6 @@ Arkusz.mój_alias zamiast Arkusz.B1 Sheet - - - Form - Formularz - &Content: @@ -1087,61 +1082,61 @@ Domyślnie %V = %A - + Properties... Właściwości ... - + Recompute Przelicz ponownie - + Bind... Powiąż ... - + Configuration table... Tabela konfiguracji ... - + Merge cells Scal komórki - + Split cells Podziel komórkę - + Cut Wytnij - + Copy Kopiuj - + Paste Wklej - + Delete Usuń @@ -1149,12 +1144,12 @@ Domyślnie %V = %A SpreadsheetGui::SheetView - + Export PDF - Eksportuj do PDF + Eksportuj do formatu PDF - + PDF file Plik PDF @@ -1185,7 +1180,7 @@ Domyślnie %V = %A Py - + Unnamed Nienazwany diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pt-BR.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pt-BR.ts index f04cc131b2..effb286f80 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pt-BR.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pt-BR.ts @@ -352,36 +352,36 @@ Editar célula - - + + Insert rows Inserir linhas - - + + Remove rows Remover linhas - - + + Insert columns Inserir colunas - - + + Clear cell(s) Limpar célula(s) - + Set foreground color Definir cor do primeiro plano - + Set background color Definir cor de fundo @@ -700,46 +700,46 @@ switch the design configuration. The property will be created if not exist.Mostrar planilha + - Set cell(s) foreground color Definir cor de primeiro plano da(s) célula(s) - + Sets the Spreadsheet cell(s) foreground color Definir a cor de primeiro plano da(s) célula(s) da planilha + - Set cell(s) background color Definir cor do plano de fundo da(s) célula(s) - + Sets the Spreadsheet cell(s) background color Definir a cor de plano de fundo da(s) célula(s) da planilha - + Copy & Paste failed Falha ao copiar e colar - + Alias contains invalid characters! O nome contém caracteres inválidos! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Busque a célula pelo nome, por exemplo Planilha.meu_nome em vez de Planilha.B1 - + Spreadsheet Planilha @@ -857,11 +857,6 @@ Planilha.meu_nome em vez de Planilha.B1 Sheet - - - Form - Formulário - &Content: @@ -1071,61 +1066,61 @@ Defaults to: %V = %A - + Properties... Propriedades... - + Recompute Recalcular - + Bind... Bind... - + Configuration table... Tabela de configuração... - + Merge cells Mesclar células - + Split cells Dividir células - + Cut Recortar - + Copy Copiar - + Paste Colar - + Delete Excluir @@ -1133,12 +1128,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Exportar PDF - + PDF file Arquivo PDF @@ -1169,7 +1164,7 @@ Defaults to: %V = %A Py - + Unnamed Sem nome diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pt-PT.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pt-PT.ts index 4ad5896f9a..e27a3ac41c 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pt-PT.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_pt-PT.ts @@ -352,36 +352,36 @@ Editar célula - - + + Insert rows Inserir linhas - - + + Remove rows Remover linhas - - + + Insert columns Inserir colunas - - + + Clear cell(s) Limpar célula(s) - + Set foreground color Definir cor do primeiro plano - + Set background color Definir cor de fundo @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.Mostrar folha de cálculo + - Set cell(s) foreground color Definir cor de primeiro plano da célula (s) - + Sets the Spreadsheet cell(s) foreground color Definir a cor de primeiro plano das células da Tabela (folha de cálculo) + - Set cell(s) background color Definir cor do plano de fundo da célula (s) - + Sets the Spreadsheet cell(s) background color Definir a cor de plano de fundo das células da Tabela (folha de cálculo) - + Copy & Paste failed Falha ao copiar e colar - + Alias contains invalid characters! O Alias contém caracteres inválidos! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Consulte a célula por alias, por exemplo Spreadsheet.my_alias_name em vez de Spreadsheet.B1 - + Spreadsheet Folha de cálculo @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name em vez de Spreadsheet.B1 Sheet - - - Form - Formulário - &Content: @@ -1072,61 +1067,61 @@ Defaults to: %V = %A - + Properties... Propriedades... - + Recompute Recompute - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells Unir células - + Split cells Split cells - + Cut Cortar - + Copy Copiar - + Paste Colar - + Delete Apagar @@ -1134,12 +1129,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Exportar PDF - + PDF file Ficheiro PDF @@ -1170,7 +1165,7 @@ Defaults to: %V = %A Py - + Unnamed Sem nome diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ro.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ro.ts index f4c094e050..935ab8403f 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ro.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ro.ts @@ -352,36 +352,36 @@ Editare celulă - - + + Insert rows Inserare rânduri - - + + Remove rows Elimina rânduri - - + + Insert columns Inserare coloane - - + + Clear cell(s) Golește celula(ele) - + Set foreground color Setare culoare prim-plan - + Set background color Setează culoarea de fundal @@ -699,46 +699,46 @@ schimba configurația proiectului. Proprietatea va fi creată dacă nu există.< Arată foaie de calcul + - Set cell(s) foreground color Definiți culoarea de prim planul celulei(lor) - + Sets the Spreadsheet cell(s) foreground color Definiți culoarea prim planului celulelor foii de calcul + - Set cell(s) background color Setează culoarea de fundal a celulei(lor) - + Sets the Spreadsheet cell(s) background color Définiți culoarea de fundal a celulei(lor) foii de calcul - + Copy & Paste failed Copiere & Lipire eșuată - + Alias contains invalid characters! Aliasul conține caractere invalide! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Consultați celula prin alias, de exemplu Spreadsheet.my_alias_name în loc de Spreadsheet.B1 - + Spreadsheet Foaie de calcul @@ -856,11 +856,6 @@ Spreadsheet.my_alias_name în loc de Spreadsheet.B1 Sheet - - - Form - Formular - &Content: @@ -1078,61 +1073,61 @@ Implicit la: %V = %A - + Properties... Proprietăți... - + Recompute Recomandare - + Bind... Bind... - + Configuration table... Tabel de configurare... - + Merge cells Îmbinare celule - + Split cells Divizarea celulelor - + Cut Scădere - + Copy Copiere - + Paste Paste - + Delete Ştergeţi @@ -1140,12 +1135,12 @@ Implicit la: %V = %A SpreadsheetGui::SheetView - + Export PDF Exportă PDF - + PDF file Fişier PDF @@ -1176,7 +1171,7 @@ Implicit la: %V = %A Py - + Unnamed Nedenumit diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ru.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ru.ts index 5ae5dae3b8..90922c539e 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ru.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_ru.ts @@ -352,36 +352,36 @@ Правка ячейки - - + + Insert rows Вставка строк - - + + Remove rows Удаление строк - - + + Insert columns Вставка столбцов - - + + Clear cell(s) Очистка ячейки(ек) - + Set foreground color Установка цвета содержимого ячеек - + Set background color Установка цвета фона ячеек @@ -626,7 +626,7 @@ switch the design configuration. The property will be created if not exist. Top - Сверху + Верх @@ -698,46 +698,46 @@ switch the design configuration. The property will be created if not exist.Показать таблицу + - Set cell(s) foreground color Установить цвет переднего плана ячеек - + Sets the Spreadsheet cell(s) foreground color Задает цвет переднего плана ячеек таблицы + - Set cell(s) background color Установить цвет фона ячеек - + Sets the Spreadsheet cell(s) background color Задает цвет фона ячеек таблицы - + Copy & Paste failed Скопировать и вставить не удалось - + Alias contains invalid characters! Псевдоним содержит недопустимые символы! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Обратитесь к ячейке по псевдониму, например Spreadsheet.my_alias_name вместо Spreadsheet.B1 - + Spreadsheet Электронная таблица @@ -855,11 +855,6 @@ Spreadsheet.my_alias_name вместо Spreadsheet.B1 Sheet - - - Form - Форма - &Content: @@ -897,7 +892,7 @@ Do you want to continue? Bind Spreadsheet Cells - Привязка ячеек + Привязка к ячейкам таблиц @@ -1084,61 +1079,61 @@ Defaults to: %V = %A - + Properties... Свойства... - + Recompute Пересчитать - + Bind... Связать... - + Configuration table... Таблица конфигурации... - + Merge cells Объединить ячейки - + Split cells Разделить ячейки - + Cut Обрезать - + Copy - Копировать + Скопировать - + Paste Вставить - + Delete Удалить @@ -1146,12 +1141,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF - Экспортировать в PDF + Экспорт в PDF - + PDF file Файл PDF @@ -1182,7 +1177,7 @@ Defaults to: %V = %A Py - + Unnamed Безымянный diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sl.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sl.ts index afb12c9084..f420ede6b6 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sl.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sl.ts @@ -352,36 +352,36 @@ Uredi polje - - + + Insert rows Vstavi vrstice - - + + Remove rows Odstrani vrstice - - + + Insert columns Vstavi stolpce - - + + Clear cell(s) Počisti polje (i, a) - + Set foreground color Nastavi barvo ospredja - + Set background color Nastavi barvo ozadja @@ -478,7 +478,7 @@ Uporabno pri izogibanju krožne odvisnosti, vendar je potrebna previdnost! OK - Potrdi + V redu @@ -568,7 +568,7 @@ nastavitve oblikovanja. Če še ne obstaja, bo lastnost ustvarjena. OK - Potrdi + V redu @@ -586,7 +586,7 @@ nastavitve oblikovanja. Če še ne obstaja, bo lastnost ustvarjena. Text - Besedilo + Napis @@ -699,46 +699,46 @@ nastavitve oblikovanja. Če še ne obstaja, bo lastnost ustvarjena.Prikaži preglednico + - Set cell(s) foreground color Nastavi barvo pisave polij - + Sets the Spreadsheet cell(s) foreground color Nastavi barvo pisave v poljih preglednice + - Set cell(s) background color Nastavi barvo ozadja polij - + Sets the Spreadsheet cell(s) background color Nastavi barvo ozadja polij v preglednici - + Copy & Paste failed Kopiranje in Lepljenje spodletelo - + Alias contains invalid characters! Vzdevek vsebuje neveljavne znake! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Na polje se sklicuj z vzdevkom, npr. Preglednica.ime_ki_sem_ga_določil namesto Preglednica.B1 - + Spreadsheet Preglednica @@ -750,13 +750,13 @@ Preglednica.ime_ki_sem_ga_določil namesto Preglednica.B1 Black - Črno + Črna White - Belo + Bel @@ -856,11 +856,6 @@ Preglednica.ime_ki_sem_ga_določil namesto Preglednica.B1 Sheet - - - Form - Oblika - &Content: @@ -1086,61 +1081,61 @@ Privzeto: %V = %A - + Properties... Lastnosti … - + Recompute Preračunaj - + Bind... Poveži ... - + Configuration table... Nastavitvena preglednica ... - + Merge cells Združi polja - + Split cells Razdeli polja - + Cut Izreži - + Copy Kopiraj - + Paste Prilepi - + Delete Izbriši @@ -1148,14 +1143,14 @@ Privzeto: %V = %A SpreadsheetGui::SheetView - + Export PDF - Izvoz PDF + Izvozi v PDF - + PDF file - Datoteka PDF + PDF datoteka @@ -1184,7 +1179,7 @@ Privzeto: %V = %A Py - + Unnamed Neimenovan diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sr-CS.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sr-CS.ts index 577be18096..c74f48fdab 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sr-CS.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sr-CS.ts @@ -352,36 +352,36 @@ Uredi ćeliju - - + + Insert rows Umetni redove - - + + Remove rows Ukloni redove - - + + Insert columns Umetni kolonu - - + + Clear cell(s) Očisti ćeliju(e) - + Set foreground color Podesi boju prvog plana - + Set background color Podesi boju pozadine @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.Prikaži tabelu + - Set cell(s) foreground color Podesi boju prvog plana ćelije - + Sets the Spreadsheet cell(s) foreground color Podesi boju prvog plana ćelije tabele + - Set cell(s) background color Podesi boju pozadine ćelije - + Sets the Spreadsheet cell(s) background color Podesi boju pozadine ćelije tabele - + Copy & Paste failed Kopiranje i nalepljivanje nije uspelo - + Alias contains invalid characters! Alternativno ime sadrži neispravne znake! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Na primer, pozivaj se na ćeliju po alternativnom imenu Spreadsheet.moje_alternativno_ime umesto Spreadsheet.B1 - + Spreadsheet Tabela @@ -858,11 +858,6 @@ Spreadsheet.moje_alternativno_ime umesto Spreadsheet.B1 Sheet - - - Form - Obrazac - &Content: @@ -1080,61 +1075,61 @@ Defaults to: %V = %A - + Properties... Osobine... - + Recompute Ponovo izračunaj - + Bind... Poveži... - + Configuration table... Konfiguraciona tabela... - + Merge cells Objedini ćelije - + Split cells Podeli ćelije - + Cut Isecanje - + Copy Kopiraj - + Paste Nalepi - + Delete Obriši @@ -1142,12 +1137,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Izvezi PDF - + PDF file PDF datoteka @@ -1178,7 +1173,7 @@ Defaults to: %V = %A Py - + Unnamed Bez imena diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sr.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sr.ts index a2d5226bc0..e98e87122b 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sr.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sr.ts @@ -352,36 +352,36 @@ Уреди ћелију - - + + Insert rows Уметни редове - - + + Remove rows Уклони редове - - + + Insert columns Уметни колону - - + + Clear cell(s) Очисти ћелију(е) - + Set foreground color Подеси боју првог плана - + Set background color Подеси боју позадине @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.Прикажи табелу + - Set cell(s) foreground color Подеси боју првог плана ћелије - + Sets the Spreadsheet cell(s) foreground color Подеси боју првог плана ћелије табеле + - Set cell(s) background color Подеси боју позадине ћелије - + Sets the Spreadsheet cell(s) background color Подеси боју позадине ћелије табеле - + Copy & Paste failed Копирање и налепљивање није успело - + Alias contains invalid characters! Алтернативно име садржи неисправне знаке! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 На пример, позивај се на ћелију по алтернативном имену Spreadsheet.моје_алтернативно_име уместо Spreadsheet.B1 - + Spreadsheet Табела @@ -858,11 +858,6 @@ Spreadsheet.моје_алтернативно_име уместо Spreadsheet.B1 Sheet - - - Form - Образац - &Content: @@ -1080,61 +1075,61 @@ Defaults to: %V = %A - + Properties... Оcобине... - + Recompute Поново израчунај - + Bind... Повежи... - + Configuration table... Конфигурациона табела... - + Merge cells Обједини ћелије - + Split cells Подели ћелије - + Cut Исецање - + Copy Копирај - + Paste Налепи - + Delete Обриши @@ -1142,12 +1137,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Извези PDF - + PDF file PDF датотека @@ -1178,7 +1173,7 @@ Defaults to: %V = %A Py - + Unnamed Без имена diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sv-SE.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sv-SE.ts index 33f9ba554b..4f7ddff45b 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sv-SE.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_sv-SE.ts @@ -352,36 +352,36 @@ Redigera cell - - + + Insert rows Infoga rader - - + + Remove rows Ta bort rader - - + + Insert columns Infoga kolumner - - + + Clear cell(s) Rensa cell(er) - + Set foreground color Ställ in förgrundsfärg - + Set background color Ställ in bakgrundsfärg @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.Visa kalkylark + - Set cell(s) foreground color Ange förgrundsfärg för cell(er) - + Sets the Spreadsheet cell(s) foreground color Anger förgrundsfärgen för cellen/cellerna + - Set cell(s) background color Ange bakgrundsfärg för cell(er) - + Sets the Spreadsheet cell(s) background color Anger bakgrundsfärgen för cellen/cellerna - + Copy & Paste failed Kopiera och klistra in misslyckades - + Alias contains invalid characters! Alias innehåller ogiltiga tecken! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Referera till cellen via alias, till exempel Spreadsheet.my_alias_name, istället för Spreadsheet.B1 - + Spreadsheet Kalkylark @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name, istället för Spreadsheet.B1 Sheet - - - Form - Form - &Content: @@ -1072,61 +1067,61 @@ Defaults to: %V = %A - + Properties... Egenskaper... - + Recompute Recompute - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells Sammanfoga celler - + Split cells Split cells - + Cut Klipp - + Copy Kopiera - + Paste Klistra in - + Delete Radera @@ -1134,12 +1129,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Exportera PDF - + PDF file PDF-fil @@ -1170,7 +1165,7 @@ Defaults to: %V = %A Py - + Unnamed Namnlös diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_tr.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_tr.ts index 5b7f634c99..078258f80b 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_tr.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_tr.ts @@ -352,36 +352,36 @@ Hücreyi düzenle - - + + Insert rows Satır ekle - - + + Remove rows Satır sil - - + + Insert columns Sütun ekle - - + + Clear cell(s) Hücreyi(leri) temizle - + Set foreground color Ön plan rengini ayarla - + Set background color Arka plan rengini ayarla @@ -701,45 +701,45 @@ switch the design configuration. The property will be created if not exist.Hesap tablosunu göster + - Set cell(s) foreground color Hücre (ler) ön plan rengini ayarla - + Sets the Spreadsheet cell(s) foreground color Hesap tablo hücre(ler) inin ön plan rengini ayarlar + - Set cell(s) background color Hücre (ler) arka plan rengini ayarla - + Sets the Spreadsheet cell(s) background color Hesap tablosu hücre(ler) inin arka plan rengini ayarlar - + Copy & Paste failed Kopyala Yapıştır başarısız oldu - + Alias contains invalid characters! Alias geçersiz karakterler içeriyor! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Hücreye alias'lı bir isim atayın, örneğin Spreadsheet.B1 yerine Spreadsheet.my_alias_name - + Spreadsheet Hesap Tablosu @@ -857,11 +857,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - Şekil: - &Content: @@ -1070,61 +1065,61 @@ Defaults to: %V = %A - + Properties... Özellikler... - + Recompute Yeniden hesapla - + Bind... Bağla... - + Configuration table... Yapılandırma tablosu... - + Merge cells Hücreleri birleştir - + Split cells Bölünmüş hücreler - + Cut Kes - + Copy Kopyala - + Paste Yapıştır - + Delete Sil @@ -1132,12 +1127,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF PDF olarak dışa aktar - + PDF file PDF dosyası @@ -1168,7 +1163,7 @@ Defaults to: %V = %A Py - + Unnamed Adsız diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_uk.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_uk.ts index 5bc08c3a9c..3b4787486f 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_uk.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_uk.ts @@ -352,36 +352,36 @@ Редагування комірки - - + + Insert rows Вставити рядки - - + + Remove rows Видалити рядки - - + + Insert columns Вставити стовпці - - + + Clear cell(s) Очистити комірку(и) - + Set foreground color Вибір кольору переднього плану - + Set background color Вибір кольору фону @@ -700,46 +700,46 @@ switch the design configuration. The property will be created if not exist.Показати таблицю + - Set cell(s) foreground color Встановити колір переднього плану комірки(ок) - + Sets the Spreadsheet cell(s) foreground color Встановлює колір переднього плану комірки(ок) таблиці + - Set cell(s) background color Встановити фоновий колір комірки(ок) - + Sets the Spreadsheet cell(s) background color Встановити фоновий колір комірки(ок) таблиці - + Copy & Paste failed Копіювання і вставка завершилась невдачею - + Alias contains invalid characters! Псевдонім містить некоректні символи! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Зверніться до комірки за псевдонімом, наприклад Spreadsheet.my_alias_name замість Spreadsheet.B1 - + Spreadsheet Таблиця @@ -857,11 +857,6 @@ Spreadsheet.my_alias_name замість Spreadsheet.B1 Sheet - - - Form - Форма - &Content: @@ -1087,61 +1082,61 @@ Defaults to: %V = %A - + Properties... Властивості... - + Recompute Переобчислити - + Bind... Привʼязати... - + Configuration table... Таблиця Конфігурації... - + Merge cells Об'єднати комірки - + Split cells Розʼєднати комірки - + Cut Вирізати - + Copy Копіювати - + Paste Вставити - + Delete Видалити @@ -1149,12 +1144,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Експорт в PDF - + PDF file PDF-файл @@ -1185,7 +1180,7 @@ Defaults to: %V = %A Py - + Unnamed Без назви diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_val-ES.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_val-ES.ts index b5bad7844c..2da1746002 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_val-ES.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_val-ES.ts @@ -352,36 +352,36 @@ Edit cell - - + + Insert rows Insereix files - - + + Remove rows Suprimeix files - - + + Insert columns Insereix columnes - - + + Clear cell(s) Clear cell(s) - + Set foreground color Set foreground color - + Set background color Set background color @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.Mostra el full de càlcul + - Set cell(s) foreground color Estableix el color de primer pla de la cel·la(es) - + Sets the Spreadsheet cell(s) foreground color Estableix el color de primer pla de la cel·la(es) del full de càlcul + - Set cell(s) background color Estableix el color de fons de la cel·la(es) - + Sets the Spreadsheet cell(s) background color Estableix el color de fons de la cel·la(es) del full de càlcul - + Copy & Paste failed S'ha produït un error en copiar i apegar - + Alias contains invalid characters! Alias contains invalid characters! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 - + Spreadsheet Full de càlcul @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name instead of Spreadsheet.B1 Sheet - - - Form - Forma - &Content: @@ -1072,61 +1067,61 @@ Defaults to: %V = %A - + Properties... Propietats... - + Recompute Recompute - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells Fusiona les cel·les - + Split cells Split cells - + Cut Retalla - + Copy Copia - + Paste Apega - + Delete Elimina @@ -1134,12 +1129,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF Exporta a PDF - + PDF file Fitxer PDF @@ -1170,7 +1165,7 @@ Defaults to: %V = %A Py - + Unnamed Sense nom diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_zh-CN.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_zh-CN.ts index 357af443ca..869f7c4d31 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_zh-CN.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_zh-CN.ts @@ -352,36 +352,36 @@ 编辑单元格 - - + + Insert rows 插入行 - - + + Remove rows 删除行 - - + + Insert columns 插入列 - - + + Clear cell(s) 清除单元格 - + Set foreground color 设置前景色 - + Set background color 设置背景颜色 @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.显示电子表格 + - Set cell(s) foreground color 设置单元格前景色 - + Sets the Spreadsheet cell(s) foreground color 设置电子表格单元格前景色 + - Set cell(s) background color 设置单元格的背景色 - + Sets the Spreadsheet cell(s) background color 设置电子表格单元背景色 - + Copy & Paste failed 复制粘贴失败 - + Alias contains invalid characters! 别名包含无效字符! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 通过别名引用单元格,例如用 Spreadsheet.my_alias_name代替Spreadsheet.B1 - + Spreadsheet 电子表格 @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name代替Spreadsheet.B1 Sheet - - - Form - 窗体 - &Content: @@ -1064,61 +1059,61 @@ Defaults to: %V = %A - + Properties... 属性... - + Recompute 重新计算 - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells 合并单元格 - + Split cells 拆分单元格 - + Cut 剪切 - + Copy 复制 - + Paste 粘贴 - + Delete 删除 @@ -1126,12 +1121,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF 导出PDF - + PDF file PDF 文件 @@ -1162,7 +1157,7 @@ Defaults to: %V = %A Py - + Unnamed 未命名 diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_zh-TW.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_zh-TW.ts index 4b78e0195a..8e5b28dd11 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_zh-TW.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_zh-TW.ts @@ -352,36 +352,36 @@ 編輯儲存格 - - + + Insert rows 插入列 - - + + Remove rows 刪除列 - - + + Insert columns 插入欄 - - + + Clear cell(s) 清除儲存格 - + Set foreground color 設定前景顏色 - + Set background color 設定背景顏色 @@ -701,46 +701,46 @@ switch the design configuration. The property will be created if not exist.顯示試算表 + - Set cell(s) foreground color 設定儲存格的前景顏色 - + Sets the Spreadsheet cell(s) foreground color 設定試算表儲存格的前景顏色 + - Set cell(s) background color 設定儲存格的背景顏色 - + Sets the Spreadsheet cell(s) background color 設定試算表儲存格的背景顏色 - + Copy & Paste failed 複製及貼上失敗 - + Alias contains invalid characters! 別名包含無效字元! - + Refer to cell by alias, for example Spreadsheet.my_alias_name instead of Spreadsheet.B1 參照儲存格使用別名,例如 Spreadsheet.my_alias_name取代Spreadsheet.B1 - + Spreadsheet 試算表 @@ -858,11 +858,6 @@ Spreadsheet.my_alias_name取代Spreadsheet.B1 Sheet - - - Form - 格式 - &Content: @@ -1064,61 +1059,61 @@ Defaults to: %V = %A - + Properties... 屬性... - + Recompute Recompute - + Bind... Bind... - + Configuration table... Configuration table... - + Merge cells 合併儲存格 - + Split cells Split cells - + Cut 切割 - + Copy 複製 - + Paste 貼上 - + Delete 刪除 @@ -1126,12 +1121,12 @@ Defaults to: %V = %A SpreadsheetGui::SheetView - + Export PDF 匯出 PDF - + PDF file PDF 檔 @@ -1162,7 +1157,7 @@ Defaults to: %V = %A Py - + Unnamed 未命名 diff --git a/src/Mod/Spreadsheet/Gui/Sheet.ui b/src/Mod/Spreadsheet/Gui/Sheet.ui index 68aa09998e..0a0c47596e 100644 --- a/src/Mod/Spreadsheet/Gui/Sheet.ui +++ b/src/Mod/Spreadsheet/Gui/Sheet.ui @@ -11,7 +11,7 @@ - Form + Form diff --git a/src/Mod/Spreadsheet/Gui/SheetModel.cpp b/src/Mod/Spreadsheet/Gui/SheetModel.cpp index cc41d105d7..86cd2f099d 100644 --- a/src/Mod/Spreadsheet/Gui/SheetModel.cpp +++ b/src/Mod/Spreadsheet/Gui/SheetModel.cpp @@ -47,9 +47,9 @@ SheetModel::SheetModel(Sheet* _sheet, QObject* parent) : QAbstractTableModel(par { //NOLINTBEGIN cellUpdatedConnection = - sheet->cellUpdated.connect(bind(&SheetModel::cellUpdated, this, sp::_1)); + sheet->cellUpdated.connect(std::bind(&SheetModel::cellUpdated, this, sp::_1)); rangeUpdatedConnection = - sheet->rangeUpdated.connect(bind(&SheetModel::rangeUpdated, this, sp::_1)); + sheet->rangeUpdated.connect(std::bind(&SheetModel::rangeUpdated, this, sp::_1)); //NOLINTEND ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath( @@ -176,8 +176,7 @@ QVariant SheetModel::data(const QModelIndex& index, int role) const if (cell->getStringContent(str)) return QVariant(QString::fromUtf8(str.c_str())); - else - return QVariant(); + return {}; } // Get display value as computed property @@ -195,8 +194,7 @@ QVariant SheetModel::data(const QModelIndex& index, int role) const if (cell->getAlias(alias)) { return QVariant::fromValue(aliasBgColor); } - else - return QVariant(); + return {}; } } @@ -222,12 +220,12 @@ QVariant SheetModel::data(const QModelIndex& index, int role) const if (role == Qt::FontRole && cell->getStyle(style)) { QFont f; - for (std::set::const_iterator i = style.begin(); i != style.end(); ++i) { - if (*i == "bold") + for (const auto& i : style) { + if (i == "bold") f.setBold(true); - else if (*i == "italic") + else if (i == "italic") f.setItalic(true); - else if (*i == "underline") + else if (i == "underline") f.setUnderline(true); } @@ -250,23 +248,23 @@ QVariant SheetModel::data(const QModelIndex& index, int role) const case Qt::DisplayRole: if (cell->getExpression()) { std::string str; - if (cell->getStringContent(str)) - if (!str.empty() && str[0] == '=') + if (cell->getStringContent(str)) { + if (!str.empty() && str[0] == '=') { // If this is a real computed value, indicate that a recompute is // needed before we can display it return QVariant(QLatin1String("#PENDING")); - else + } + else { // If it's just a simple value, display the new value, but still // format it as a pending value to indicate to the user that // a recompute is needed return QVariant(QString::fromUtf8(str.c_str())); - else - return QVariant(); + } + } } - else - return QVariant(); + return {}; default: - return QVariant(); + return {}; } } else if (prop->isDerivedFrom(App::PropertyString::getClassTypeId())) { @@ -299,7 +297,7 @@ QVariant SheetModel::data(const QModelIndex& index, int role) const return QVariant::fromValue(qtAlignment); } default: - return QVariant(); + return {}; } } else if (prop->isDerivedFrom(App::PropertyQuantity::getClassTypeId())) { @@ -359,7 +357,7 @@ QVariant SheetModel::data(const QModelIndex& index, int role) const return formatCellDisplay(v, cell); } default: - return QVariant(); + return {}; } } else if (prop->isDerivedFrom(App::PropertyFloat::getClassTypeId()) @@ -421,7 +419,7 @@ QVariant SheetModel::data(const QModelIndex& index, int role) const return formatCellDisplay(v, cell); } default: - return QVariant(); + return {}; } } else if (prop->isDerivedFrom(App::PropertyPythonObject::getClassTypeId())) { @@ -470,11 +468,11 @@ QVariant SheetModel::data(const QModelIndex& index, int role) const return formatCellDisplay(v, cell); } default: - return QVariant(); + return {}; } } - return QVariant(); + return {}; } QVariant SheetModel::headerData(int section, Qt::Orientation orientation, int role) const @@ -502,7 +500,7 @@ QVariant SheetModel::headerData(int section, Qt::Orientation orientation, int ro return QString::number(section + 1); } } - return QVariant(); + return {}; } void SheetModel::setCellData(QModelIndex index, QString str) diff --git a/src/Mod/Spreadsheet/Gui/SheetTableView.cpp b/src/Mod/Spreadsheet/Gui/SheetTableView.cpp index e7583f68c9..46e9ead2d4 100644 --- a/src/Mod/Spreadsheet/Gui/SheetTableView.cpp +++ b/src/Mod/Spreadsheet/Gui/SheetTableView.cpp @@ -317,8 +317,9 @@ void SheetTableView::insertRows() std::vector sortedRows; /* Make sure rows are sorted in ascending order */ - for (QModelIndexList::const_iterator it = rows.cbegin(); it != rows.cend(); ++it) - sortedRows.push_back(it->row()); + for (const auto& it : rows) { + sortedRows.push_back(it.row()); + } std::sort(sortedRows.begin(), sortedRows.end()); /* Insert rows */ @@ -368,14 +369,15 @@ void SheetTableView::removeRows() std::vector sortedRows; /* Make sure rows are sorted in descending order */ - for (QModelIndexList::const_iterator it = rows.cbegin(); it != rows.cend(); ++it) - sortedRows.push_back(it->row()); + for (const auto& it : rows) { + sortedRows.push_back(it.row()); + } std::sort(sortedRows.begin(), sortedRows.end(), std::greater<>()); /* Remove rows */ Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Remove rows")); - for (std::vector::const_iterator it = sortedRows.begin(); it != sortedRows.end(); ++it) { - Gui::cmdAppObjectArgs(sheet, "removeRows('%s', %d)", rowName(*it).c_str(), 1); + for (const auto& it : sortedRows) { + Gui::cmdAppObjectArgs(sheet, "removeRows('%s', %d)", rowName(it).c_str(), 1); } Gui::Command::commitCommand(); Gui::Command::doCommand(Gui::Command::Doc, "App.ActiveDocument.recompute()"); @@ -389,8 +391,9 @@ void SheetTableView::insertColumns() std::vector sortedColumns; /* Make sure rows are sorted in ascending order */ - for (QModelIndexList::const_iterator it = cols.cbegin(); it != cols.cend(); ++it) - sortedColumns.push_back(it->column()); + for (const auto& it : cols) { + sortedColumns.push_back(it.column()); + } std::sort(sortedColumns.begin(), sortedColumns.end()); /* Insert columns */ @@ -441,23 +444,22 @@ void SheetTableView::removeColumns() std::vector sortedColumns; /* Make sure rows are sorted in descending order */ - for (QModelIndexList::const_iterator it = cols.cbegin(); it != cols.cend(); ++it) - sortedColumns.push_back(it->column()); + for (const auto& it : cols) { + sortedColumns.push_back(it.column()); + } std::sort(sortedColumns.begin(), sortedColumns.end(), std::greater<>()); /* Remove columns */ Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Remove rows")); - for (std::vector::const_iterator it = sortedColumns.begin(); it != sortedColumns.end(); ++it) + for (const auto& it : sortedColumns) { Gui::cmdAppObjectArgs(sheet, "removeColumns('%s', %d)", - columnName(*it).c_str(), 1); + columnName(it).c_str(), 1); + } Gui::Command::commitCommand(); Gui::Command::doCommand(Gui::Command::Doc, "App.ActiveDocument.recompute()"); } -SheetTableView::~SheetTableView() -{ - -} +SheetTableView::~SheetTableView() = default; void SheetTableView::updateCellSpan() { @@ -488,8 +490,8 @@ void SheetTableView::setSheet(Sheet* _sheet) // Update row and column spans std::vector usedCells = sheet->getUsedCells(); - for (std::vector::const_iterator i = usedCells.begin(); i != usedCells.end(); ++i) { - CellAddress address(*i); + for (const auto& i : usedCells) { + CellAddress address(i); if (sheet->isMergedCell(address)) { int rows, cols; diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetDelegate.cpp b/src/Mod/Spreadsheet/Gui/SpreadsheetDelegate.cpp index 93c295913b..862d9ebe81 100644 --- a/src/Mod/Spreadsheet/Gui/SpreadsheetDelegate.cpp +++ b/src/Mod/Spreadsheet/Gui/SpreadsheetDelegate.cpp @@ -94,7 +94,7 @@ QSize SpreadsheetDelegate::sizeHint(const QStyleOptionViewItem & option, const Q { Q_UNUSED(option); Q_UNUSED(index); - return QSize(); + return {}; } static inline void drawBorder(QPainter *painter, const QStyleOptionViewItem &option, diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp b/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp index 660b7a2d9d..c4586c4602 100644 --- a/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp +++ b/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp @@ -99,8 +99,8 @@ SheetView::SheetView(Gui::Document *pcDocument, App::DocumentObject *docObj, QWi connect(ui->cellAlias, &LineEdit::textEdited, this, &SheetView::aliasChanged); //NOLINTBEGIN - columnWidthChangedConnection = sheet->columnWidthChanged.connect(bind(&SheetView::resizeColumn, this, sp::_1, sp::_2)); - rowHeightChangedConnection = sheet->rowHeightChanged.connect(bind(&SheetView::resizeRow, this, sp::_1, sp::_2)); + columnWidthChangedConnection = sheet->columnWidthChanged.connect(std::bind(&SheetView::resizeColumn, this, sp::_1, sp::_2)); + rowHeightChangedConnection = sheet->rowHeightChanged.connect(std::bind(&SheetView::resizeRow, this, sp::_1, sp::_2)); //NOLINTEND connect( model, &QAbstractItemModel::dataChanged, this, &SheetView::modelUpdated); @@ -550,9 +550,7 @@ SheetViewPy::SheetViewPy(SheetView *mdi) { } -SheetViewPy::~SheetViewPy() -{ -} +SheetViewPy::~SheetViewPy() = default; Py::Object SheetViewPy::repr() { diff --git a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPyImp.cpp b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPyImp.cpp index 6d60b1c504..b8b2783dd9 100644 --- a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPyImp.cpp +++ b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPyImp.cpp @@ -32,7 +32,7 @@ using namespace SpreadsheetGui; // returns a string which represents the object e.g. when printed in python std::string ViewProviderSpreadsheetPy::representation() const { - return std::string(""); + return {""}; } PyObject* ViewProviderSpreadsheetPy::getView(PyObject* args) diff --git a/src/Mod/Spreadsheet/Gui/Workbench.cpp b/src/Mod/Spreadsheet/Gui/Workbench.cpp index 5fff90c4ae..e079d99956 100644 --- a/src/Mod/Spreadsheet/Gui/Workbench.cpp +++ b/src/Mod/Spreadsheet/Gui/Workbench.cpp @@ -63,9 +63,7 @@ Workbench::Workbench() { } -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; void Workbench::activated() { diff --git a/src/Mod/Spreadsheet/TestSpreadsheet.py b/src/Mod/Spreadsheet/TestSpreadsheet.py index 80b2ad3e04..9028b9cdd4 100644 --- a/src/Mod/Spreadsheet/TestSpreadsheet.py +++ b/src/Mod/Spreadsheet/TestSpreadsheet.py @@ -22,6 +22,7 @@ import os import sys import math +from math import sqrt import unittest import FreeCAD import Part @@ -1463,6 +1464,53 @@ class SpreadsheetCases(unittest.TestCase): self.assertEqual(sheet.getContents('A1'), '\'36C') self.assertEqual(sheet.get('A1'), '36C') + def testVectorFunctions(self): + sheet = self.doc.addObject('Spreadsheet::Sheet','Spreadsheet') + + sheet.set('A1', '=vcross(vector(1; 2; 3); vector(1; 5; 7))') + + sheet.set('B1', '=vdot(vector(1; 2; 3); vector(4; -5; 6))') + + sheet.set('C1', '=vangle(vector(1; 0; 0); vector(0; 1; 0))') + + sheet.set('D1', '=vnormalize(vector(1; 0; 0))') + sheet.set('D2', '=vnormalize(vector(1; 1; 1))') + + sheet.set('E1', '=vscale(vector(1; 2; 3); 2; 3; 4)') + sheet.set('E2', '=vscalex(vector(1; 2; 3); -2)') + sheet.set('E3', '=vscaley(vector(1; 2; 3); -2)') + sheet.set('E4', '=vscalez(vector(1; 2; 3); -2)') + + sheet.set('F1', '=vlinedist(vector(1; 2; 3); vector(2; 3; 4); vector(3; 4; 5))') + sheet.set('F2', '=vlinesegdist(vector(1; 2; 3); vector(2; 3; 4); vector(3; 4; 5))') + sheet.set('F3', '=vlineproj(vector(1; 2; 3); vector(2; 3; 4); vector(3; 4; 5))') + sheet.set('F4', '=vplanedist(vector(1; 2; 3); vector(2; 3; 4); vector(3; 4; 5))') + sheet.set('F5', '=vplaneproj(vector(1; 2; 3); vector(2; 3; 4); vector(3; 4; 5))') + + self.doc.recompute() + + tolerance = 1e-10 + + self.assertEqual(sheet.A1, FreeCAD.Vector(-1, -4, 3)) + + self.assertEqual(sheet.B1, 12) + + self.assertEqual(sheet.C1, 90) + + self.assertEqual(sheet.D1, FreeCAD.Vector(1, 0, 0)) + self.assertLess(sheet.D2.distanceToPoint(FreeCAD.Vector(1/sqrt(3), 1/sqrt(3), 1/sqrt(3))), tolerance) + + self.assertEqual(sheet.E1, FreeCAD.Vector(2, 6, 12)) + self.assertEqual(sheet.E2, FreeCAD.Vector(-2, 2, 3)) + self.assertEqual(sheet.E3, FreeCAD.Vector(1, -4, 3)) + self.assertEqual(sheet.E4, FreeCAD.Vector(1, 2, -6)) + + self.assertLess(abs(sheet.F1.Value - 0.3464), 0.0001) + self.assertEqual(sheet.F2, FreeCAD.Vector(1, 1, 1)) + self.assertLess(sheet.F3.distanceToPoint(FreeCAD.Vector(0.28, 0.04, -0.2)), tolerance) + self.assertLess(abs(sheet.F4.Value - -1.6971), 0.0001) + self.assertEqual(sheet.F5, FreeCAD.Vector(1.72, 2.96, 4.2)) + def tearDown(self): #closing doc FreeCAD.closeDocument(self.doc.Name) diff --git a/src/Mod/Start/App/AppStart.cpp b/src/Mod/Start/App/AppStart.cpp index 8ed3eb8181..c3933938cc 100644 --- a/src/Mod/Start/App/AppStart.cpp +++ b/src/Mod/Start/App/AppStart.cpp @@ -36,8 +36,6 @@ public: initialize("This module is the Start module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Start/Gui/AppStartGui.cpp b/src/Mod/Start/Gui/AppStartGui.cpp index 198142a2f1..72a89dfcfd 100644 --- a/src/Mod/Start/Gui/AppStartGui.cpp +++ b/src/Mod/Start/Gui/AppStartGui.cpp @@ -53,8 +53,6 @@ public: initialize("This module is the StartGui module."); // register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Start/Gui/DlgStartPreferences.ui b/src/Mod/Start/Gui/DlgStartPreferences.ui index 5558383939..a88215a6db 100644 --- a/src/Mod/Start/Gui/DlgStartPreferences.ui +++ b/src/Mod/Start/Gui/DlgStartPreferences.ui @@ -6,8 +6,8 @@ 0 0 - 401 - 690 + 548 + 894 @@ -21,7 +21,7 @@ - + An optional HTML template that will be used instead of the default start page. @@ -42,71 +42,6 @@ Contents - - - - Displays help tips in the Start workbench Documents tab - - - Qt::RightToLeft - - - - - - true - - - ShowTips - - - Mod/Start - - - - - - - Shows a notepad next to the file thumbnails, where you can keep notes across sessions - - - Qt::RightToLeft - - - - - - ShowNotes - - - Mod/Start - - - - - - - Show notepad - - - - - - - An optional custom folder to be displayed at the bottom of the first page. -By using ";;" to separate paths, you can add several folders here - - - Gui::FileChooser::Directory - - - ShowCustomFolder - - - Mod/Start - - - @@ -114,36 +49,10 @@ By using ";;" to separate paths, you can add several folders here - - + + - Show forum - - - - - - - If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab - - - Qt::RightToLeft - - - - - - ShowForum - - - Mod/Start - - - - - - - Show examples folder contents + Show additional folder @@ -169,10 +78,60 @@ By using ";;" to separate paths, you can add several folders here - - + + + + If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab + + + Qt::RightToLeft + - Show additional folder + + + + ShowForum + + + Mod/Start + + + + + + + Qt::RightToLeft + + + + + + true + + + ShowFileThumbnailIcons + + + Mod/Start + + + + + + + Shows a notepad next to the file thumbnails, where you can keep notes across sessions + + + Qt::RightToLeft + + + + + + ShowNotes + + + Mod/Start @@ -183,8 +142,36 @@ By using ";;" to separate paths, you can add several folders here + + + + Show notepad + + + + + + + Show forum + + + + + + + An optional custom folder to be displayed at the bottom of the first page. +By using ";;" to separate paths, you can add several folders here + + + ShowCustomFolder + + + Mod/Start + + + - + Qt::RightToLeft @@ -202,6 +189,109 @@ By using ";;" to separate paths, you can add several folders here + + + + Show file thumbnails + + + + + + + Show examples folder contents + + + + + + + Displays help tips in the Start workbench Documents tab + + + Qt::RightToLeft + + + + + + true + + + ShowTips + + + Mod/Start + + + + + + + + 0 + 0 + + + + File thumbnail size + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 100 + 16777215 + + + + The size of file thumbnail icons in recent files and examples sections + + + Qt::LeftToRight + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + px + + + 32 + + + 128 + + + 128 + + + FileThumbnailIconsSize + + + Mod/Start + + + + + @@ -255,7 +345,7 @@ By using ";;" to separate paths, you can add several folders here The background color behind the panels - + 79 88 @@ -294,7 +384,7 @@ By using ";;" to separate paths, you can add several folders here The down gradient for the background color (currently unsupported) - + 127 158 @@ -317,7 +407,7 @@ By using ";;" to separate paths, you can add several folders here - + An optional image to display as background @@ -347,11 +437,11 @@ By using ";;" to separate paths, you can add several folders here The color of the version text - + - 255 - 251 - 247 + 95 + 95 + 95 @@ -380,7 +470,7 @@ By using ";;" to separate paths, you can add several folders here The background of the main start page area - + 255 255 @@ -413,7 +503,7 @@ By using ";;" to separate paths, you can add several folders here The color of the text on the main pages - + 0 0 @@ -446,7 +536,7 @@ By using ";;" to separate paths, you can add several folders here The background color of the boxes inside the pages - + 221 221 @@ -479,7 +569,7 @@ By using ";;" to separate paths, you can add several folders here The color of the links - + 0 0 @@ -592,32 +682,6 @@ By using ";;" to separate paths, you can add several folders here - - - - Use gradient for New File icon - - - - - - - If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon - - - Qt::RightToLeft - - - - - - NewFileGradient - - - Mod/Start - - - diff --git a/src/Mod/Start/Gui/DlgStartPreferencesImp.cpp b/src/Mod/Start/Gui/DlgStartPreferencesImp.cpp index 013fe78e3a..eab8120c2b 100644 --- a/src/Mod/Start/Gui/DlgStartPreferencesImp.cpp +++ b/src/Mod/Start/Gui/DlgStartPreferencesImp.cpp @@ -50,19 +50,21 @@ DlgStartPreferencesImp::DlgStartPreferencesImp( QWidget* parent ) // sorted by their menu text QStringList work = Gui::Application::Instance->workbenches(); QMap menuText; - for (QStringList::Iterator it = work.begin(); it != work.end(); ++it) { - QString text = Gui::Application::Instance->workbenchMenuText(*it); - menuText[text] = *it; + for (const auto& it : work) { + QString text = Gui::Application::Instance->workbenchMenuText(it); + menuText[text] = it; } { // add special workbench to selection QPixmap px = Gui::Application::Instance->workbenchIcon(QString::fromLatin1("NoneWorkbench")); QString key = QString::fromLatin1(""); QString value = QString::fromLatin1("$LastModule"); - if (px.isNull()) + if (px.isNull()) { ui->AutoloadModuleCombo->addItem(key, QVariant(value)); - else + } + else { ui->AutoloadModuleCombo->addItem(px, key, QVariant(value)); + } } for (QMap::Iterator it = menuText.begin(); it != menuText.end(); ++it) { @@ -78,10 +80,7 @@ DlgStartPreferencesImp::DlgStartPreferencesImp( QWidget* parent ) /** * Destroys the object and frees any allocated resources */ -DlgStartPreferencesImp::~DlgStartPreferencesImp() -{ - // no need to delete child widgets, Qt does it all for us -} +DlgStartPreferencesImp::~DlgStartPreferencesImp() = default; void DlgStartPreferencesImp::saveSettings() { @@ -110,9 +109,10 @@ void DlgStartPreferencesImp::saveSettings() ui->checkBox_5->onSave(); ui->checkBox_6->onSave(); ui->checkBox_7->onSave(); - ui->checkBox_8->onSave(); ui->lineEdit->onSave(); ui->spinBox->onSave(); + ui->showFileThumbnailIconsCheckBox->onSave(); + ui->fileThumbnailIconSizeSpinBox->onSave(); } void DlgStartPreferencesImp::loadSettings() @@ -142,21 +142,22 @@ void DlgStartPreferencesImp::loadSettings() ui->checkBox_5->onRestore(); ui->checkBox_6->onRestore(); ui->checkBox_7->onRestore(); - ui->checkBox_8->onRestore(); ui->lineEdit->onRestore(); ui->spinBox->onRestore(); + ui->showFileThumbnailIconsCheckBox->onRestore(); + ui->fileThumbnailIconSizeSpinBox->onRestore(); } /** * Sets the strings of the subwidgets using the current language. */ -void DlgStartPreferencesImp::changeEvent(QEvent *e) +void DlgStartPreferencesImp::changeEvent(QEvent *ev) { - if (e->type() == QEvent::LanguageChange) { + if (ev->type() == QEvent::LanguageChange) { ui->retranslateUi(this); } else { - QWidget::changeEvent(e); + Gui::Dialog::PreferencePage::changeEvent(ev); } } diff --git a/src/Mod/Start/Gui/Resources/translations/Start.ts b/src/Mod/Start/Gui/Resources/translations/Start.ts index 45d69135e3..8f70fba2ad 100644 --- a/src/Mod/Start/Gui/Resources/translations/Start.ts +++ b/src/Mod/Start/Gui/Resources/translations/Start.ts @@ -42,238 +42,244 @@ - + Show notepad - + Shows a notepad next to the file thumbnails, where you can keep notes across sessions - + Show examples folder contents - + If you want the examples to show on the first page - + Show additional folder - + An optional custom folder to be displayed at the bottom of the first page. By using ";;" to separate paths, you can add several folders here - + Show forum - + If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab - + Show tips - + Displays help tips in the Start workbench Documents tab - + Show scrollbars - + + Show file thumbnails + + + + + File thumbnail size + + + + + The size of file thumbnail icons in recent files and examples sections + + + + Fonts and colors - + Use FreeCAD style sheet - + If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below - + Background color - + The background color behind the panels - + Background color down gradient - + The down gradient for the background color (currently unsupported) - + Background image - + An optional image to display as background - + Background text color - + The color of the version text - + Page background color - + The background of the main start page area - + Page text color - + The color of the text on the main pages - + Box background color - + The background color of the boxes inside the pages - + Link color - + The color of the links - + Font family - + The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts - + Arial,Helvetica,sans - + The base font size to use for all texts of the Start page - + + px - + Open links - + in FreeCAD - + In external browser - - Use gradient for New File icon - - - - - If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon - - - - + Options - + Switch workbench after loading - + Choose which workbench to switch to after the program launches - + Close start page after loading - + If checked, will automatically close the Start page when FreeCAD launches - + Close and switch on opening file - + If application is started by opening a file, apply the two settings above @@ -281,8 +287,8 @@ By using ";;" to separate paths, you can add several folders here Workbench - - + + Start page @@ -296,206 +302,276 @@ By using ";;" to separate paths, you can add several folders here - Documents + Welcome to FreeCAD - Help + Documents - Activity + Help - Recent files + Activity - Tip + Blog - Adjust the number of recent files to be shown here in menu Edit -> Preferences -> General -> Size of recent file list + Link to the FreeCAD blog - Examples + New file - General documentation + Empty File - User hub + Create an empty FreeCAD file - This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started. + Import File - Power users hub + Work on an existing CAD file or 3D model - This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs. - - - - - Developers hub - - - - - This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application. + Standard Part - Manual + Create a part with the Part Design workbench - The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. <a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details">e-book versions</a> are also available. + 2D Draft - Workbenches documentation + Create a 2D draft with the Draft workbench - These are the help pages of all the workbenches currently installed on this computer. + BIM/Architecture - Getting help from the community + Create an architecture project - The <a href="http://forum.freecad.org">FreeCAD forum</a> is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general <a href="https://forum.freecad.org/viewforum.php?f=3">Help on using FreeCAD</a> section. + Recent files - If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! + Tip - FreeCAD also maintains a public <a href="https://www.freecad.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. - - - - - Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecad.org/wiki/Downloads">available options</a> if you wish to obtain a development version. - - - - - The latest posts on the <a href="https://forum.freecad.org">FreeCAD forum</a>: + Adjust the number of recent files to be shown here in menu Edit -> Preferences -> General -> Size of recent file list - Available addons + Examples - Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -> Addons manager. You can learn more about any of them by clicking the links below. + General documentation - If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection. + User hub - Cannot fetch information from GitHub. <a href="EnableDownload.py">Authorize FreeCAD to access the internet</a> and reload the Start page. + This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started. - Recent commits + Power users hub + + + + + This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs. - See all commits on github + Developers hub - You can configure a custom folder to display here in menu Edit -> Preferences -> Start -> Show additional folder + This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application. - version + Manual - build + The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. <a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details">e-book versions</a> are also available. - Create new... + Workbenches documentation - Unknown + These are the help pages of all the workbenches currently installed on this computer. - Forum + Getting help from the community + + + + + The <a href="http://forum.freecad.org">FreeCAD forum</a> is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general <a href="https://forum.freecad.org/viewforum.php?f=3">Help on using FreeCAD</a> section. - To open any of the links above in your desktop browser, Right-click -> Open in external browser + If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! - Creation date + FreeCAD also maintains a public <a href="https://www.freecad.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. + + + + + Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecad.org/wiki/Downloads">available options</a> if you wish to obtain a development version. + + + + + The latest posts on the <a href="https://forum.freecad.org">FreeCAD forum</a>: - Last modification + Available addons - Notes + Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -> Addons manager. You can learn more about any of them by clicking the links below. + If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection. + + + + + Cannot fetch information from GitHub. <a href="EnableDownload.py">Authorize FreeCAD to access the internet</a> and reload the Start page. + + + + + Recent commits + + + + + See all commits on github + + + + + You can configure a custom folder to display here in menu Edit -> Preferences -> Start -> Show additional folder + + + + + version + + + + + build + + + + + Create new... + + + + + Unknown + + + + + Forum + + + + + To open any of the links above in your desktop browser, Right-click -> Open in external browser + + + + + Creation date + + + + + Last modification + + + + + Notes + + + + Open start page preferences @@ -503,7 +579,7 @@ By using ";;" to separate paths, you can add several folders here QObject - + Start diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_ca.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_ca.ts index 97bbdd3dca..362642b2e5 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_ca.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_ca.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - Fitxers recents + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_cs.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_cs.ts index a306facaac..9e28dc3df4 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_cs.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_cs.ts @@ -96,7 +96,7 @@ Pomocí ";;" pro oddělení cest, zde můžete přidat více složek Show scrollbars - Show scrollbars + Zobrazit posuvníky @@ -393,27 +393,27 @@ Pomocí ";;" pro oddělení cest, zde můžete přidat více složek The <a href="http://forum.freecad.org">FreeCAD forum</a> is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general <a href="https://forum.freecad.org/viewforum.php?f=3">Help on using FreeCAD</a> section. - The <a href="http://forum.freecad.org">FreeCAD forum</a> is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general <a href="https://forum.freecad.org/viewforum.php?f=3">Help on using FreeCAD</a> section. + <a href="http://forum.freecad.org">FreeCAD fórum</a> je skvělým místem pro získání pomoci od dalších uživatelů a vývojářů FreeCADu. Fórum má řadu sekcí pro různé druhy problémů a diskuzních témat. V případě pochybností použijte obecnou sekci <a href="https://forum.freecad.org/viewforum.php?f=3">Help on using FreeCAD</a>. If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! - If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! + Pokud píšete na fórum poprvé, určitě si nejprve <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">přečtěte pokyny</a>! FreeCAD also maintains a public <a href="https://www.freecad.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. - FreeCAD also maintains a public <a href="https://www.freecad.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. + FreeCAD provozuje veřejný <a href="https://www.freecad.org/tracker">sledovač chyb</a>, kde může kdokoliv popsat chybu nebo navrhnout nový prvek. Aby se zabránilo práci navíc a maximalizovala šance na vyřešení vaší chyby, určitě si před odesláním přečtěte <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">průvodce popisu chyb</a>. Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecad.org/wiki/Downloads">available options</a> if you wish to obtain a development version. - Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecad.org/wiki/Downloads">available options</a> if you wish to obtain a development version. + Níže jsou poslední změny <a href="http://github.com/FreeCAD/FreeCAD/">zdrojového kódu FreeCADu</a>. Tyto změny se ještě nemusely projevit ve verzi FreeCADu, kterou používáte. Zkontrolujte <a href="https://www.freecad.org/wiki/Downloads">dostupné možnosti</a>, pokud chcete získat vývojovou verzi. The latest posts on the <a href="https://forum.freecad.org">FreeCAD forum</a>: - The latest posts on the <a href="https://forum.freecad.org">FreeCAD forum</a>: + Nejnovější příspěvky na <a href="https://forum.freecad.org">FreeCAD fóru</a>: diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_de.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_de.ts index 3bbe328aad..9fe1dbcfe4 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_de.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_de.ts @@ -196,7 +196,7 @@ Wird ";;" verwendet, um Pfade zu trennen, können hier mehrere Ordner hinzugefü Font family - Schriftartfamilie + Schriftart diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_el.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_el.ts index 11ebbf6571..e19c6e408f 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_el.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_el.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - Πρόσφατα αρχεία + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_es-ES.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_es-ES.ts index 6ba2e5ae51..865ae80025 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_es-ES.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_es-ES.ts @@ -313,7 +313,7 @@ Mediante el uso de ";;" para separar rutas, puede agregar varias carpetas aquí< Recent files - Archivos recientes + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_fi.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_fi.ts index e315b63e97..a50b8ba491 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_fi.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_fi.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - Viimeisimmät tiedostot + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_fr.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_fr.ts index 2e2bd7147d..12545928d0 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_fr.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_fr.ts @@ -6,7 +6,7 @@ Start - Début + Start @@ -293,7 +293,7 @@ En utilisant ";;" pour séparer les chemins, vous pouvez ajouter plusieurs dossi Start - Début + Start @@ -318,12 +318,12 @@ En utilisant ";;" pour séparer les chemins, vous pouvez ajouter plusieurs dossi Tip - Astuce + Astuce Adjust the number of recent files to be shown here in menu Edit -> Preferences -> General -> Size of recent file list - Définissez le nombre de fichiers récents à montrer ici à partir du menu Édition → Préférences → Général → Taille de la liste des fichiers récents. + définissez le nombre de fichiers récemment ouverts à montrer ici à partir du menu Édition → Préférences → Général → Taille de la liste des fichiers récents. @@ -363,7 +363,7 @@ En utilisant ";;" pour séparer les chemins, vous pouvez ajouter plusieurs dossi This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application. - Cette section contient la documentation pour les développeurs : comment compiler FreeCAD vous-même, comment le code source de FreeCAD est structuré + comment naviguer dedans, et également comment développer de nouveaux ateliers, et/ou incorporer FreeCAD dans votre propre application. + Cette section contient la documentation pour les développeurs : comment compiler FreeCAD vous-même, comment le code source de FreeCAD est structuré + comment naviguer dedans, également comment développer de nouveaux ateliers et/ou incorporer FreeCAD dans votre propre application. @@ -448,7 +448,7 @@ En utilisant ";;" pour séparer les chemins, vous pouvez ajouter plusieurs dossi You can configure a custom folder to display here in menu Edit -> Preferences -> Start -> Show additional folder - Vous pouvez configurer un dossier personnalisé à afficher ici dans le menu Modifier -> Préférences -> Début -> Afficher un dossier supplémentaire + Vous pouvez configurer un dossier personnalisé à afficher ici à partir du menu Édition → Préférences → Start → Afficher un dossier supplémentaire @@ -506,7 +506,7 @@ En utilisant ";;" pour séparer les chemins, vous pouvez ajouter plusieurs dossi Start - Début + Start diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_gl.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_gl.ts index 2ef6e63f2f..d4a717339d 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_gl.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_gl.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - Ficheiros recentes + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_hr.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_hr.ts index 6ff101d4df..4c22122a2e 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_hr.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_hr.ts @@ -313,7 +313,7 @@ Koristite ";;" da biste odvojili putove, ovdje možete dodati nekoliko mapa Recent files - Nedavne datoteke + Nedavno korištene datoteke diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_id.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_id.ts index 6c723ef54e..244e713e9d 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_id.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_id.ts @@ -1,241 +1,20 @@ - - StartPage - - - Start - Mulai - - - - Documents - Dokumen - - - - Help - Bantuan - - - - Activity - Aktifitas - - - - Recent files - File terbaru - - - - Tip - Petunjuk - - - - Adjust the number of recent files to be shown here in menu Edit -> Preferences -> General -> Size of recent file list - Sesuaikan jumlah file terbaru yang akan ditampilkan di sini di menu Edit -> Preferensi -> Umum -> Ukuran daftar file terbaru - - - - Examples - Contoh - - - - General documentation - Dokumentasi umum - - - - User hub - User hub - - - - This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started. - Bagian ini berisi dokumentasi yang berguna untuk pengguna FreeCAD secara umum: daftar semua meja kerja, petunjuk terperinci tentang cara menginstal dan menggunakan aplikasi FreeCAD, tutorial, dan semua yang dibutuhkan untuk menggunakannya. - - - - Power users hub - Power users hub - - - - This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs. - Bagian ini mengumpulkan dokumentasi untuk pengguna tingkat lanjutan dan mereka yang tertarik untuk membuat tulisan python. Anda juga akan menemukan ruang penyimpanan yang besar, instruksi tentang cara menginstal dan menggunakannya, dan informasi lebih lanjut tentang cara menyesuaikan FreeCAD dengan kebutuhan khusus Anda. - - - - Developers hub - Developers hub - - - - This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application. - This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application. - - - - Manual - Manual - - - - The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. <a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details">e-book versions</a> are also available. - The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. <a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details">e-book versions</a> are also available. - - - - Workbenches documentation - Workbenches documentation - - - - These are the help pages of all the workbenches currently installed on this computer. - These are the help pages of all the workbenches currently installed on this computer. - - - - Getting help from the community - Dapatkan bantuan dari komunitas - - - - The <a href="http://forum.freecadweb.org">FreeCAD forum</a> is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general <a href="https://forum.freecadweb.org/viewforum.php?f=3">Help on using FreeCAD</a> section. - The <a href="http://forum.freecadweb.org">FreeCAD forum</a> is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general <a href="https://forum.freecadweb.org/viewforum.php?f=3">Help on using FreeCAD</a> section. - - - - If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecadweb.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! - If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecadweb.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! - - - - FreeCAD also maintains a public <a href="https://www.freecadweb.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecadweb.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. - FreeCAD also maintains a public <a href="https://www.freecadweb.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecadweb.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. - - - - Available addons - Available addons - - - - Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -> Addons manager. You can learn more about any of them by clicking the links below. - Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -> Addons manager. You can learn more about any of them by clicking the links below. - - - - If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection. - If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection. - - - - Cannot fetch information from GitHub. <a href="EnableDownload.py">Authorize FreeCAD to access the internet</a> and reload the Start page. - Cannot fetch information from GitHub. <a href="EnableDownload.py">Authorize FreeCAD to access the internet</a> and reload the Start page. - - - - Recent commits - Recent commits - - - - Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecadweb.org/wiki/Downloads">available options</a> if you wish to obtain a development version. - Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecadweb.org/wiki/Downloads">available options</a> if you wish to obtain a development version. - - - - See all commits on github - See all commits on github - - - - You can configure a custom folder to display here in menu Edit -> Preferences -> Start -> Show additional folder - You can configure a custom folder to display here in menu Edit -> Preferences -> Start -> Show additional folder - - - - version - versi - - - - build - build - - - - Create new... - Buat baru... - - - - Unknown - Unknown - - - - Forum - Forum - - - - The latest posts on the <a href="https://forum.freecadweb.org">FreeCAD forum</a>: - The latest posts on the <a href="https://forum.freecadweb.org">FreeCAD forum</a>: - - - - To open any of the links above in your desktop browser, Right-click -> Open in external browser - To open any of the links above in your desktop browser, Right-click -> Open in external browser - - - - Creation date - Tanggal diciptakan - - - - Last modification - Terakhir dimodifikasi - - - - Notes - Catatan - - - - Open start page preferences - Open start page preferences - - - - Workbench - - - Start page - Start page - - CmdStartPage - + Start Mulai - + Start Page Start Page - + Displays the start page in a browser view Displays the start page in a browser view @@ -263,217 +42,212 @@ Contents - - Show forum - Tampilkan forum + + Show notepad + Show notepad - + + Shows a notepad next to the file thumbnails, where you can keep notes across sessions + Shows a notepad next to the file thumbnails, where you can keep notes across sessions + + + Show examples folder contents Show examples folder contents - - Show additional folder - Show additional folder - - - + If you want the examples to show on the first page If you want the examples to show on the first page - - If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab - If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab + + Show additional folder + Show additional folder - + An optional custom folder to be displayed at the bottom of the first page. By using ";;" to separate paths, you can add several folders here An optional custom folder to be displayed at the bottom of the first page. By using ";;" to separate paths, you can add several folders here + + + Show forum + Tampilkan forum + - Show notepad - Show notepad + If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab + If this is checked, the latest posts from the FreeCAD forum will be displayed on the Activity tab - - Shows a notepad next to the file thumbnails, where you can keep notes across sessions - Shows a notepad next to the file thumbnails, where you can keep notes across sessions - - - + Show tips Show tips - + Displays help tips in the Start workbench Documents tab Displays help tips in the Start workbench Documents tab - + + Show scrollbars + Show scrollbars + + + Fonts and colors Font dan warna - - - The background of the main start page area - The background of the main start page area - - Background color - Warna latar belakang - - - - in FreeCAD - in FreeCAD - - - - In external browser - In external browser - - - - Background color down gradient - Background color down gradient - - - - The color of the version text - The color of the version text - - - - Link color - Link color - - - - An optional image to display as background - An optional image to display as background - - - - If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below - If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below - - - - Page background color - Page background color - - - - The color of the text on the main pages - The color of the text on the main pages - - - - Background image - Gambar background - - - - Page text color - Page text color - - - - The color of the links - The color of the links - - - - The background color of the boxes inside the pages - The background color of the boxes inside the pages - - - - Box background color - Box background color - - - - The background color behind the panels - The background color behind the panels - - - - The down gradient for the background color (currently unsupported) - The down gradient for the background color (currently unsupported) - - - - Open links - Open links - - - - Background text color - Background text color - - - Use FreeCAD style sheet Use FreeCAD style sheet - + + If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below + If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below + + + + Background color + Warna latar belakang + + + + The background color behind the panels + The background color behind the panels + + + + Background color down gradient + Background color down gradient + + + + The down gradient for the background color (currently unsupported) + The down gradient for the background color (currently unsupported) + + + + Background image + Gambar background + + + + An optional image to display as background + An optional image to display as background + + + + Background text color + Background text color + + + + The color of the version text + The color of the version text + + + + Page background color + Page background color + + + + The background of the main start page area + The background of the main start page area + + + + Page text color + Page text color + + + + The color of the text on the main pages + The color of the text on the main pages + + + + Box background color + Box background color + + + + The background color of the boxes inside the pages + The background color of the boxes inside the pages + + + + Link color + Link color + + + + The color of the links + The color of the links + + + Font family Keluarga font - + The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts The font family to use on the start page. Can be a font name or a comma-separated series of fallback fonts - + Arial,Helvetica,sans Arial,Helvetica,sans - + The base font size to use for all texts of the Start page The base font size to use for all texts of the Start page - + px px - + + Open links + Open links + + + + in FreeCAD + in FreeCAD + + + + In external browser + In external browser + + + Use gradient for New File icon Use gradient for New File icon - + If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon - + Options Pilihan - - - Choose which workbench to switch to after the program launches - Choose which workbench to switch to after the program launches - - - - If checked, will automatically close the Start page when FreeCAD launches - If checked, will automatically close the Start page when FreeCAD launches - Switch workbench after loading @@ -481,18 +255,258 @@ By using ";;" to separate paths, you can add several folders here + Choose which workbench to switch to after the program launches + Choose which workbench to switch to after the program launches + + + Close start page after loading Close start page after loading - + + If checked, will automatically close the Start page when FreeCAD launches + If checked, will automatically close the Start page when FreeCAD launches + + + Close and switch on opening file Close and switch on opening file - + If application is started by opening a file, apply the two settings above If application is started by opening a file, apply the two settings above + + Workbench + + + + Start page + Start page + + + + StartPage + + + Start + Mulai + + + + Documents + Dokumen + + + + Help + Bantuan + + + + Activity + Aktifitas + + + + Recent files + Recent files + + + + Tip + Petunjuk + + + + Adjust the number of recent files to be shown here in menu Edit -> Preferences -> General -> Size of recent file list + Sesuaikan jumlah file terbaru yang akan ditampilkan di sini di menu Edit -> Preferensi -> Umum -> Ukuran daftar file terbaru + + + + Examples + Contoh + + + + General documentation + Dokumentasi umum + + + + User hub + User hub + + + + This section contains documentation useful for FreeCAD users in general: a list of all the workbenches, detailed instructions on how to install and use the FreeCAD application, tutorials, and all you need to get started. + Bagian ini berisi dokumentasi yang berguna untuk pengguna FreeCAD secara umum: daftar semua meja kerja, petunjuk terperinci tentang cara menginstal dan menggunakan aplikasi FreeCAD, tutorial, dan semua yang dibutuhkan untuk menggunakannya. + + + + Power users hub + Power users hub + + + + This section gathers documentation for advanced users and people interested in writing python scripts. You will also find there a repository of macros, instructions on how to install and use them, and more information about customizing FreeCAD to your specific needs. + Bagian ini mengumpulkan dokumentasi untuk pengguna tingkat lanjutan dan mereka yang tertarik untuk membuat tulisan python. Anda juga akan menemukan ruang penyimpanan yang besar, instruksi tentang cara menginstal dan menggunakannya, dan informasi lebih lanjut tentang cara menyesuaikan FreeCAD dengan kebutuhan khusus Anda. + + + + Developers hub + Developers hub + + + + This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application. + This section contains material for developers: How to compile FreeCAD yourself, how the FreeCAD source code is structured + how to navigate in it, how to develop new workbenches and/or embed FreeCAD in your own application. + + + + Manual + Manual + + + + The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. <a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details">e-book versions</a> are also available. + The FreeCAD manual is another, more linear way to present the information contained in this wiki. It is made to be read like a book, and will gently introduce you to many other pages from the hubs above. <a href="https://www.gitbook.com/book/yorikvanhavre/a-freecad-manual/details">e-book versions</a> are also available. + + + + Workbenches documentation + Workbenches documentation + + + + These are the help pages of all the workbenches currently installed on this computer. + These are the help pages of all the workbenches currently installed on this computer. + + + + Getting help from the community + Dapatkan bantuan dari komunitas + + + + The <a href="http://forum.freecad.org">FreeCAD forum</a> is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general <a href="https://forum.freecad.org/viewforum.php?f=3">Help on using FreeCAD</a> section. + The <a href="http://forum.freecad.org">FreeCAD forum</a> is a great place to get help from other FreeCAD users and developers. The forum has many sections for different types of issues and discussion subjects. If in doubt, post in the more general <a href="https://forum.freecad.org/viewforum.php?f=3">Help on using FreeCAD</a> section. + + + + If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! + If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! + + + + FreeCAD also maintains a public <a href="https://www.freecad.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. + FreeCAD also maintains a public <a href="https://www.freecad.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. + + + + Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecad.org/wiki/Downloads">available options</a> if you wish to obtain a development version. + Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecad.org/wiki/Downloads">available options</a> if you wish to obtain a development version. + + + + The latest posts on the <a href="https://forum.freecad.org">FreeCAD forum</a>: + Postingan terakhir di <a href="https://forum.freecad.org">forum FreeCAD</a>: + + + + Available addons + Available addons + + + + Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -> Addons manager. You can learn more about any of them by clicking the links below. + Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -> Addons manager. You can learn more about any of them by clicking the links below. + + + + If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection. + If not bundled with your FreeCAD version, install the FreeCAD documentation package to get documentation hubs, workbench help and individual command documentation without an internet connection. + + + + Cannot fetch information from GitHub. <a href="EnableDownload.py">Authorize FreeCAD to access the internet</a> and reload the Start page. + Cannot fetch information from GitHub. <a href="EnableDownload.py">Authorize FreeCAD to access the internet</a> and reload the Start page. + + + + Recent commits + Recent commits + + + + See all commits on github + See all commits on github + + + + You can configure a custom folder to display here in menu Edit -> Preferences -> Start -> Show additional folder + You can configure a custom folder to display here in menu Edit -> Preferences -> Start -> Show additional folder + + + + version + versi + + + + build + build + + + + Create new... + Buat baru... + + + + Unknown + Unknown + + + + Forum + Forum + + + + To open any of the links above in your desktop browser, Right-click -> Open in external browser + To open any of the links above in your desktop browser, Right-click -> Open in external browser + + + + Creation date + Tanggal diciptakan + + + + Last modification + Terakhir dimodifikasi + + + + Notes + Catatan + + + + Open start page preferences + Open start page preferences + + + + QObject + + + Start + Mulai + + diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_it.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_it.ts index bf9deeccf1..b2b6ddd9e8 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_it.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_it.ts @@ -313,7 +313,7 @@ Usando ";;" per separare i percorsi, puoi aggiungere diverse cartelle qui Recent files - File recenti + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_ja.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_ja.ts index aaa61bdeb6..86a2b0f31d 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_ja.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_ja.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - 最近使用したファイル + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_ka.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_ka.ts index 2bcbd7dd40..e17ed0fef1 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_ka.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_ka.ts @@ -246,7 +246,7 @@ By using ";;" to separate paths, you can add several folders here Options - პარამეტრები + მორგება diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_ko.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_ko.ts index 64b91a5799..0144817b8a 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_ko.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_ko.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - 최근 파일 + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_nl.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_nl.ts index f22fb36c64..5184c5da64 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_nl.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_nl.ts @@ -313,7 +313,7 @@ Door ";" te gebruiken kan je ook meerdere mappen toevoegen Recent files - Recente Bestanden + Recente bestanden @@ -398,17 +398,17 @@ Door ";" te gebruiken kan je ook meerdere mappen toevoegen If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! - If it is the first time you are posting on the forum, be sure to <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">read the guidelines</a> first! + Als het de eerste keer is dat je iets op het forum plaatst, zorg er dan voor dat je <a href="https://forum.freecad.org/viewtopic.php?f=3&t=2264">de richtlijnen</a> eerst leest! FreeCAD also maintains a public <a href="https://www.freecad.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. - FreeCAD also maintains a public <a href="https://www.freecad.org/tracker">bug tracker</a> where anybody can submit bugs and propose new features. To avoid causing extra work and give the best chances to see your bug solved, make sure you read the <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">bug submission guide</a> before posting. + FreeCAD onderhoudt ook een openbare <a href="https://www.freecad.org/tracker">bug tracker</a> waar iedereen bugs kan indienen en nieuwe functies kan voorstellen. Om extra werk te voorkomen, en voor de beste kansen om je bug opgelost te krijgen, zorg ervoor dat je de <a href="https://forum.freecad.org/viewtopic.php?f=3&t=5236">bug indiening gids</a> leest, voordat je iets post. Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecad.org/wiki/Downloads">available options</a> if you wish to obtain a development version. - Below are the latest changes added to the <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD source code</a>. These changes might not reflect yet in the FreeCAD version that you are currently running. Check the <a href="https://www.freecad.org/wiki/Downloads">available options</a> if you wish to obtain a development version. + In de lijst hieronder staan de laatste toegevoegde wijzigingen aan de <a href="http://github.com/FreeCAD/FreeCAD/">FreeCAD broncode</a>. Deze wijzigingen zijn mogelijk nog niet doorgevoerd in je huidige versie van FreeCAD. Kijk bij de <a href="https://www.freecad.org/wiki/Downloads">beschikbare opties</a> in het geval je met een (andere) ontwikkelversie wil werken. diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_pl.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_pl.ts index cbdc87a80c..043c5ce254 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_pl.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_pl.ts @@ -423,7 +423,7 @@ Używając ";;" do rozdzielenia ścieżek, możesz dodać tutaj kilka folderów< Below is a list of available extra workbenches that can be added to your FreeCAD installation. Browse and install them from menu Tools -> Addons manager. You can learn more about any of them by clicking the links below. - Poniżej znajduje się lista dodatkowych środowisk pracy, które mogą być dodane do Twojej instalacji programu FreeCAD. Przeglądaj i instaluj je z menu Narzędzia-> Menedżer dodatków. Dowiesz się więcej o każdym z nich klikając na linki poniżej. + Poniżej znajduje się lista dodatkowych środowisk pracy, które mogą być dodane do Twojej instalacji programu FreeCAD. Przeglądaj i instaluj je z menu Narzędzia-> Menedżer dodatków. Dowiesz się więcej o każdym z nich, klikając na linki poniżej. diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.ts index 52fa87c8be..01408e440a 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.ts @@ -313,7 +313,7 @@ Usando ";;" para separar caminhos, você pode adicionar várias pastas aqui Recent files - Arquivos recentes + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_pt-PT.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_pt-PT.ts index 879600709c..f925d0fcdf 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_pt-PT.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_pt-PT.ts @@ -313,7 +313,7 @@ Usando ";;" para separar caminhos, podem ser adicionadas várias pastas aqui Recent files - Ficheiros Recentes + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_ro.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_ro.ts index 12dde1f4be..be958459ad 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_ro.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_ro.ts @@ -313,7 +313,7 @@ Folosind ";;" pentru a separa căi, poți adăuga mai multe dosare aici Recent files - Fişiere recente + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_ru.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_ru.ts index 45b88cd768..5fd9679322 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_ru.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_ru.ts @@ -196,7 +196,7 @@ By using ";;" to separate paths, you can add several folders here Font family - Шрифт + Семейство шрифтов @@ -293,7 +293,7 @@ By using ";;" to separate paths, you can add several folders here Start - Запустить + Начало @@ -303,7 +303,7 @@ By using ";;" to separate paths, you can add several folders here Help - Справка + Помощь @@ -506,7 +506,7 @@ By using ";;" to separate paths, you can add several folders here Start - Запустить + Запуск diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_sl.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_sl.ts index adc6eed4dd..cf3268f0f2 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_sl.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_sl.ts @@ -313,7 +313,7 @@ Z ločevanjem poti z znaki ";;", lahko dodate več map Recent files - Nedavne datoteke + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_sr-CS.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_sr-CS.ts index ac97ab7798..e4950d3e93 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_sr-CS.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_sr-CS.ts @@ -313,7 +313,7 @@ Ako koristiš ";;" da bi razdvojio putanje, možeš dodati nekoliko fascikli Recent files - Nedavne datoteke + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_sr.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_sr.ts index 2552dd86de..875f1ca339 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_sr.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_sr.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - Недавне датотеке + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_sv-SE.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_sv-SE.ts index 6b92041e52..149c55b362 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_sv-SE.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_sv-SE.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - Senaste filer + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_tr.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_tr.ts index fa9a652f4f..0d06e1237c 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_tr.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_tr.ts @@ -313,7 +313,7 @@ Yolları ayırmak için ";;" (çift noktalı virgül) kullanarak birden fazla di Recent files - Son dosyalar + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_uk.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_uk.ts index 346c77159f..ff18d6f482 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_uk.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_uk.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - Нещодавні файли + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_val-ES.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_val-ES.ts index 91c9cae222..f53a689721 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_val-ES.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_val-ES.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - Fitxers recents + Recent files diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_zh-TW.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_zh-TW.ts index 2e6a4b6e96..af289f1e15 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_zh-TW.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_zh-TW.ts @@ -313,7 +313,7 @@ By using ";;" to separate paths, you can add several folders here Recent files - 最近使用的檔案 + Recent files diff --git a/src/Mod/Start/Gui/Workbench.cpp b/src/Mod/Start/Gui/Workbench.cpp index e21dedf762..6b42e1ac09 100644 --- a/src/Mod/Start/Gui/Workbench.cpp +++ b/src/Mod/Start/Gui/Workbench.cpp @@ -42,13 +42,9 @@ using namespace StartGui; TYPESYSTEM_SOURCE(StartGui::Workbench, Gui::StdWorkbench) -StartGui::Workbench::Workbench() -{ -} +StartGui::Workbench::Workbench() = default; -StartGui::Workbench::~Workbench() -{ -} +StartGui::Workbench::~Workbench() = default; void StartGui::Workbench::activated() { @@ -65,11 +61,12 @@ void StartGui::Workbench::loadStartPage() // Ensure that we don't open the Start page multiple times QString title = QCoreApplication::translate("Workbench", "Start page"); QList ch = Gui::getMainWindow()->windows(); - for (QList::const_iterator c = ch.cbegin(); c != ch.cend(); ++c) { - if ((*c)->windowTitle() == title) { - Gui::MDIView* mdi = qobject_cast((*c)); - if (mdi) + for (auto c : ch) { + if (c->windowTitle() == title) { + Gui::MDIView* mdi = qobject_cast(c); + if (mdi) { Gui::getMainWindow()->setActiveWindow(mdi); + } return; } } @@ -117,8 +114,7 @@ void StartGui::Workbench::loadStartPage() void StartGui::Workbench::setupContextMenu(const char* recipient, Gui::MenuItem* item) const { - Q_UNUSED(recipient); - Q_UNUSED(item); + Gui::StdWorkbench::setupContextMenu(recipient, item); } Gui::MenuItem* StartGui::Workbench::setupMenuBar() const diff --git a/src/Mod/Start/StartPage/CMakeLists.txt b/src/Mod/Start/StartPage/CMakeLists.txt index ef969cf37d..b09ccbea0e 100644 --- a/src/Mod/Start/StartPage/CMakeLists.txt +++ b/src/Mod/Start/StartPage/CMakeLists.txt @@ -25,7 +25,17 @@ SET(StartPage_ImageResources images/freecad.png images/installed.png images/new_file_thumbnail.svg - images/settings.png + images/icon_settings.png + images/new_empty_file.png + images/new_import_file.png + images/new_parametric_part.png + images/new_csg_part.png + images/new_2d_draft.png + images/new_architecture.png + images/icon_documents.png + images/icon_help.png + images/icon_activity.png + images/icon_blog.png ) SET(StartPage_Resources diff --git a/src/Mod/Start/StartPage/LoadNew.py b/src/Mod/Start/StartPage/LoadNew.py index f373ce6fee..be697589ae 100644 --- a/src/Mod/Start/StartPage/LoadNew.py +++ b/src/Mod/Start/StartPage/LoadNew.py @@ -1,28 +1,58 @@ -#*************************************************************************** -#* Copyright (c) 2018 Yorik van Havre * -#* * -#* This program is free software; you can redistribute it and/or modify * -#* it under the terms of the GNU Lesser General Public License (LGPL) * -#* as published by the Free Software Foundation; either version 2 of * -#* the License, or (at your option) any later version. * -#* for detail see the LICENCE text file. * -#* * -#* This program is distributed in the hope that it will be useful, * -#* but WITHOUT ANY WARRANTY; without even the implied warranty of * -#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -#* GNU Library General Public License for more details. * -#* * -#* You should have received a copy of the GNU Library General Public * -#* License along with this program; if not, write to the Free Software * -#* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * -#* USA * -#* * -#*************************************************************************** +# *************************************************************************** +# * Copyright (c) 2018 Yorik van Havre * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** import FreeCAD import FreeCADGui - -FreeCADGui.runCommand('Std_New') - from StartPage import StartPage -StartPage.postStart() + +# template will be given before this script is run +template_name = str(template) + +if template_name == "empty_file": + FreeCADGui.runCommand('Std_New') + StartPage.postStart() +elif template_name == "import_file": + FreeCADGui.runCommand('Std_New') + StartPage.postStart() + FreeCADGui.runCommand("Std_Import") +elif template_name == "parametric_part": + FreeCADGui.runCommand('Std_New') + FreeCADGui.activateWorkbench("PartDesignWorkbench") + FreeCADGui.runCommand("PartDesign_Body") + StartPage.postStart(False) +# elif template_name == "csg_part": +# FreeCADGui.runCommand('Std_New') +# FreeCADGui.activateWorkbench("PartWorkbench") +# StartPage.postStart(False) +elif template_name == "2d_draft": + FreeCADGui.runCommand('Std_New') + FreeCADGui.activateWorkbench("DraftWorkbench") + FreeCADGui.runCommand("Std_ViewTop") + StartPage.postStart(False) +elif template_name == "architecture": + FreeCADGui.runCommand('Std_New') + try: + import BimCommands + except Exception: + FreeCADGui.activateWorkbench("ArchWorkbench") + else: + FreeCADGui.activateWorkbench("BIMWorkbench") + StartPage.postStart(False) diff --git a/src/Mod/Start/StartPage/StartPage.css b/src/Mod/Start/StartPage/StartPage.css index e39c563024..60bb15dfc1 100644 --- a/src/Mod/Start/StartPage/StartPage.css +++ b/src/Mod/Start/StartPage/StartPage.css @@ -1,221 +1,385 @@ -html{ +/* + * !!! WARNING !!! + * DO NOT change lines that have comment labels right beside them + * these lines are marked with "don't change this line" + * they get replaced by StartPage.py according to the preferences +*/ + +/* --- MAIN --- */ + +html { height: 100%; + color: BGTCOLOR; display: flex; flex-direction: column; + overflow: hidden; } body { + height: 100%; background: BACKGROUND; color: BGTCOLOR; font-family: FONTFAMILY; font-size: FONTSIZE; - height: 100%; + overflow: hidden; } + OVERFLOW -a, a:link, a:visited { +a, +a:link, +a:visited { text-decoration: none; color: LINKCOLOR; font-weight: bold; } + h1 { width: 100%; text-align: center; } + h2 { text-align: center; clear: both; + padding-top: 5px; } -hr { - height: 20px; - border: none; -} + .hidden { - display: none; + display: none !important; } + +#main-container { + display: flex; + flex-direction: column; + height: calc(100% - 40px); + margin: 20px; + background: BASECOLOR; + border-radius: 15px; +} + +#title-bar { + display: flex; + flex-direction: row-reverse; + align-items: center; + width: 100%; + height: 5.5em; + min-height: 5.5em; + background: BASECOLOR; + border-radius: 15px; + z-index: 2; +} + +.welcome { + display: flex; + align-items: center; + color: TEXTCOLOR; + font-size: 1.3em; + margin-left: 25px; + font-weight: bold; +} + +.welcome img { + width: 28px; + height: 28px; + margin-right: 10px; +} + .version { - font-size: 0.8em; - float: right; - padding-right: 10px; + font-size: 1em; + margin-right: 25px; } + .settingsicon { - width: 16px; - height: 16px; - margin-left: 20px; - vertical-align:middle; + width: 22px; + height: 22px; + margin-left: 10px; + vertical-align: middle; } -.container { - margin: 2%; - height: 95%; + +@media only screen and (max-width: 1100px) { + .welcome { + display: none; + } + + .version { + display: none; + } } + +/* --- TABS --- */ + ul.tabs { - margin: 9px 0; + display: flex; + position: absolute; + top: 2em; + left: 50%; + transform: translateX(-50%); } + ul.tabs li { list-style: none; - display: inline; } + ul.tabs li a { + display: flex; + align-items: center; + border-radius: 8px; + padding: 6px 12px; + margin: 0 3px; color: TEXTCOLOR; - background-color: BOXCOLOR; - padding: 8px 14px 8px 14px; text-decoration: none; - font-size: 1em; - font-weight: bold; - text-transform: uppercase; - border:1px solid BOXCOLOR; - border-radius: 3px 3px 0px 0px; - box-shadow: #445 0 -5px 5px; outline: 0; + font-size: 1.3em; + transition: 100ms; } + +ul.tabs li a img { + margin-right: 5px; +} + ul.tabs li a:hover { - background-color: TEXTCOLOR; - color: BASECOLOR; - border-color: TEXTCOLOR; + background-color: BOXCOLOR; } -ul.tabs li a.active, ul.tabs li a.active:hover { - color: TEXTCOLOR; - background-color: BASECOLOR; - border-bottom: 1px solid BASECOLOR; - border-color: BASECOLOR; + +ul.tabs li a.active, +ul.tabs li a.active:hover { + background-color: BOXCOLOR; + font-weight: bold; } + .panel { - background: BASECOLOR; + display: flex; + flex-direction: column; color: TEXTCOLOR; padding: 15px; - clear: both; - margin-bottom: 10px; - border-radius: 0px 3px 3px 3px; + padding-top: 0; overflow: auto; - box-shadow: SHADOW 0 2px 5px; } + +.footnote { + /* don't change this line */ + display: block; /* footnote tips display */ + color: BGTCOLOR; + text-align: center; + clear: both; + padding-top: 10px; +} + +/* --- DOCUMENTS TAB --- */ + +.thumbnails ul { + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: 0; + padding: 0; +} + ul.icons { clear: both; } -.icon { + +.file-card { list-style: none; display: inline; - float: left; - padding: 5px 0px 15px 10px; - width: 138px; - height: 200px; + padding: 10px; + width: 130px; + height: THUMBCARDSIZE; background: BOXCOLOR; - border-radius: 3px; + border-radius: 8px; margin: 10px; - box-shadow: SHADOW 0 0px 6px; word-wrap: break-word; + text-align: center; } -.icon h4 { - margin: 3px 0; - max-width: 90%; + +.file-card h4 { + margin: 5px 0; } -.icon img { - width: 128px; - height: 128px; + +.file-card img { + /* don't change this line */ + display: block; /* thumb icons display */ + margin: auto; + width: THUMBSIZE; + height: THUMBSIZE; + border-radius: 4px; } -.icon p { + +.file-card p { margin: 0; } + .caption { clear: both; } -a .caption, a .caption:link, a .caption:visited { - color: TEXTCOLOR; - text-decoration-color: TEXTCOLOR; -} .caption p { font-weight: normal; } -.docbox a:hover { - text-decoration: underline; +a .caption, +a .caption:link, +a .caption:visited { + color: TEXTCOLOR; + text-decoration-color: TEXTCOLOR; } -.docbox { + +.quickstart-button-card { + list-style: none; + display: flex; + align-items: center; float: left; + padding: 5px 10px; + width: 18em; + height: 5em; + background: BOXCOLOR; + border-radius: 8px; + margin: 10px; + word-wrap: break-word; +} + +.quickstart-button-card a { + display: flex; +} + +.quickstart-button-card h3 { + max-width: 90%; + margin: 3px 0; + margin-bottom: 5px; + text-align: left; +} + +.quickstart-button-card img { + width: 60px; + height: 60px; + margin-right: 10px; +} + +.quickstart-button-card p { + margin: 0; +} + +.notes { + /* don't change this line */ + display: none; /* notes display */ + width: 100%; +} + +#notepad { + width: calc(100% - 30px); + min-height: 300px; + margin: 10px; + color: TEXTCOLOR; + background: BOXCOLOR; + border: none; + padding: 10px; + border-radius: 8px; +} + +#notepad:focus { + outline: none; +} + +/* --- HELP TAB --- */ + +#help-tab-wrapper { + display: flex; + flex-wrap: wrap; + justify-content: center; +} + +.docbox { padding: 10px; max-width: 360px; background: BOXCOLOR; - border-radius: 3px; + border-radius: 8px; margin: 10px; - box-shadow: SHADOW 0 0px 6px; } + .docbox h2 { text-align: center; } + +.docbox h3 { + display: flex; + align-items: center; +} + .docbox img { max-width: 24px; max-height: 24px; + margin-right:10px; } + +.docbox a:hover { + text-decoration: underline; +} + +.workbenches li, +.addonslist li { + display: flex; + align-items: center; + width: 50%; + float: left; + margin-bottom: 5px; +} + +.workbenches li img { + margin-right: 5px; +} + +ul.workbenches, +ul.addonslist { + overflow: hidden; + padding: 10px; +} + +/* --- ACTIVITY TAB --- */ + .forum img { max-width: 100% !important; max-height: 100% !important; } + .allwidth { max-width: 98%; } -h3 a { - height: 32px; - vertical-align: middle; - padding-bottom: 18px; - padding-left: 5px; -} + #commits ul { margin: 30px 0; } -#commits ul li, .forum ul li { + +#commits ul li, +.forum ul li { margin-bottom: 10px; } -.footnote { - text-align: center; - display: block; /* footnote tips display */ - clear: both; - padding-top: 10px; -} -ul.workbenches, ul.addonslist { - overflow: hidden; - padding: 10px; -} -ul.workbenches li, ul.addonslist li { - list-style: none; - float: left; - display: inline; - width: 50%; -} + .forum { - display: none; /* forum display */ /* don't change this line */ + /* don't change this line */ + display: none; /* forum display */ } + .forum pre { white-space: pre-wrap; } -.thumbnails { - float: left; - width: 100%; /* thumbs display */ /* don't change this line */ + +/* --- SCROLLBAR STYLE --- */ + +::-webkit-scrollbar { + width: 20px; + background: BASECOLOR; + padding: 2px; } -.notes { - display: none; /* notes display */ /* don't change this line */ - float: right; - width: 30%; -} -#notepad { - width: 95%; - height: 100%; - color: TEXTCOLOR; + +::-webkit-scrollbar-thumb { background: BOXCOLOR; - border: none; - padding: 5px; - border-radius: 3px; - min-height: 300px; + -webkit-border-radius: 999px; + background-clip: content-box; + border: 6px solid transparent; } - -.iframe { - display:block; - margin: auto; - text-align: center; - width:50%; - height:100%; -} - -.iframecontainer { - height:90%; +::-webkit-scrollbar-thumb:hover { + background: TEXTCOLOR; + background-clip: content-box; + border: 6px solid transparent; } \ No newline at end of file diff --git a/src/Mod/Start/StartPage/StartPage.html b/src/Mod/Start/StartPage/StartPage.html index 12c6ab2446..e852d2b616 100644 --- a/src/Mod/Start/StartPage/StartPage.html +++ b/src/Mod/Start/StartPage/StartPage.html @@ -1,84 +1,114 @@ - - T_TITLE - - - - - - -

-
-
- VERSIONSTRING - - T_VTOOLTIP - -
-
+ + + T_TITLE + + + + + + + +
+
-
+
+ VERSIONSTRING + + T_VTOOLTIP + +
+
+
+ freecad +

T_WELCOME

+
+
+
-
+
- SECTION_RECENTFILES + SECTION_NEW_FILE -
- T_TIP: T_ADJUSTRECENT
-
- - SECTION_EXAMPLES - - SECTION_CUSTOM - -
- T_CUSTOM -
+ SECTION_RECENTFILES +
+ T_TIP: T_ADJUSTRECENT
-
+ SECTION_EXAMPLES -

T_NOTES

- - + SECTION_CUSTOM +
+ T_CUSTOM
- + + + + + \ No newline at end of file diff --git a/src/Mod/Start/StartPage/StartPage.js b/src/Mod/Start/StartPage/StartPage.js index ea10a0919b..286d1cb7c6 100644 --- a/src/Mod/Start/StartPage/StartPage.js +++ b/src/Mod/Start/StartPage/StartPage.js @@ -8,11 +8,11 @@ function toggle(tab) { var tabs = document.getElementById("tabs").childElementCount; document.getElementById(tab).classList.remove("hidden"); - document.getElementById("h"+tab).classList.add("active"); - for (var i = 1; i <= tabs; i++) { - if ("tab"+i != tab) { - document.getElementById("tab"+i).classList.add("hidden"); - document.getElementById("htab"+i).classList.remove("active"); + document.getElementById("h" + tab).classList.add("active"); + for (var i = 1; i < tabs; i++) { + if ("tab" + i != tab) { + document.getElementById("tab" + i).classList.add("hidden"); + document.getElementById("htab" + i).classList.remove("active"); } } } @@ -25,7 +25,7 @@ function load() { if (localStorage["notepad"]) { document.getElementById("notepad").value = localStorage["notepad"]; // Load notepad from local storage } - document.getElementById("notepad").addEventListener( "input", function () { + document.getElementById("notepad").addEventListener("input", function () { localStorage.setItem("notepad", document.getElementById("notepad").value); // Save notepad on type }, false); @@ -33,14 +33,14 @@ function load() { // load latest commits var ddiv = document.getElementById("commits"); ddiv.innerHTML = "Connecting..."; - var tobj=new JSONscriptRequest('https://api.github.com/repos/FreeCAD/FreeCAD/commits?callback=printCommits'); + var tobj = new JSONscriptRequest('https://api.github.com/repos/FreeCAD/FreeCAD/commits?callback=printCommits'); tobj.buildScriptTag(); // Build the script tag tobj.addScriptTag(); // Execute (add) the script tag ddiv.innerHTML = "Downloading latest news..."; // load addons list ddiv = document.getElementById("addons"); ddiv.innerHTML = "Connecting..."; - var tobj=new JSONscriptRequest('https://api.github.com/repos/FreeCAD/FreeCAD-addons/contents?callback=printAddons'); + var tobj = new JSONscriptRequest('https://api.github.com/repos/FreeCAD/FreeCAD-addons/contents?callback=printAddons'); tobj.buildScriptTag(); // Build the script tag tobj.addScriptTag(); // Execute (add) the script tag ddiv.innerHTML = "Downloading addons list..."; @@ -48,7 +48,7 @@ function load() { // load forum recent posts ddiv = document.getElementById("forum"); ddiv.innerHTML = "Connecting..."; - var tobj=new JSONscriptRequest('https://www.freecad.org/xml-to-json.php?callback=printForum&url=https://forum.freecad.org/feed.php'); + var tobj = new JSONscriptRequest('https://www.freecad.org/xml-to-json.php?callback=printForum&url=https://forum.freecad.org/feed.php'); tobj.buildScriptTag(); // Build the script tag tobj.addScriptTag(); // Execute (add) the script tag ddiv.innerHTML = "Downloading addons list..."; @@ -79,9 +79,9 @@ function printAddons(data) { var ddiv = document.getElementById('addons'); ddiv.innerHTML = "Received"; var html = ['
    ']; - var blacklist = ['addons_installer.FCMacro','FreeCAD-Addon-Details.md','README.md']; + var blacklist = ['addons_installer.FCMacro', 'FreeCAD-Addon-Details.md', 'README.md']; for (var i = 0; i < data.data.length; i++) { - if ( (data.data[i].name[0] != ".") && (blacklist.indexOf(data.data[i].name) < 0) ) { + if ((data.data[i].name[0] != ".") && (blacklist.indexOf(data.data[i].name) < 0)) { if (wblist.indexOf(data.data[i].name.toLowerCase()) == -1) { html.push('
  • ', data.data[i].name, '
  • '); } else { @@ -102,8 +102,8 @@ function printForum(data) { ddiv.innerHTML = "Received"; var html = [''); diff --git a/src/Mod/Start/StartPage/StartPage.py b/src/Mod/Start/StartPage/StartPage.py index 24e78efd5f..803044d944 100644 --- a/src/Mod/Start/StartPage/StartPage.py +++ b/src/Mod/Start/StartPage/StartPage.py @@ -251,6 +251,39 @@ def getDefaultIcon(): +def build_new_file_card(template): + + """builds an html
  • element representing a new file + quick start button""" + + templates = { + "empty_file": [TranslationTexts.T_TEMPLATE_EMPTYFILE_NAME, TranslationTexts.T_TEMPLATE_EMPTYFILE_DESC], + "import_file": [TranslationTexts.T_TEMPLATE_IMPORTFILE_NAME, TranslationTexts.T_TEMPLATE_IMPORTFILE_DESC], + "parametric_part": [TranslationTexts.T_TEMPLATE_PARAMETRICPART_NAME, TranslationTexts.T_TEMPLATE_PARAMETRICPART_DESC], + # "csg_part": [TranslationTexts.T_TEMPLATE_CSGPART_NAME, TranslationTexts.T_TEMPLATE_CSGPART_DESC], + "2d_draft": [TranslationTexts.T_TEMPLATE_2DDRAFT_NAME, TranslationTexts.T_TEMPLATE_2DDRAFT_DESC], + "architecture": [TranslationTexts.T_TEMPLATE_ARCHITECTURE_NAME, TranslationTexts.T_TEMPLATE_ARCHITECTURE_DESC] + } + + if template not in templates: + return + + image = 'file:///'+os.path.join(os.path.join(FreeCAD.getResourceDir(), "Mod", "Start", "StartPage"), 'images/new_'+template+".png").replace('\\','/') + + result = "" + result += '
  • ' + result += '' + result += ''+template+'' + result += '
    ' + result += '

    '+templates[template][0]+'

    ' + result += '

    '+templates[template][1]+'

    ' + result += '
    ' + result += '
    ' + result += '
  • ' + return result + + + def buildCard(filename,method,arg=None): """builds an html
  • element representing a file. @@ -271,7 +304,7 @@ def buildCard(filename,method,arg=None): if finfo[5]: infostring += "\n\n" + finfo[5] if size: - result += '
  • ' + result += '
  • ' result += '' result += ''+basename+'' result += '
    ' @@ -357,6 +390,16 @@ def handle(): ALTCSS = f.read() HTML = HTML.replace("","") + # handle file thumbnail icons visiblity and size + + if not FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetBool("ShowFileThumbnailIcons",True): + HTML = HTML.replace("display: block; /* thumb icons display */","display: none; /* thumb icons display */") + HTML = HTML.replace("THUMBCARDSIZE","75px") + + thumb_icons_size = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetInt("FileThumbnailIconsSize", 128) + HTML = HTML.replace("THUMBSIZE",str(thumb_icons_size)+"px") + HTML = HTML.replace("THUMBCARDSIZE",str(thumb_icons_size + 75)+"px") + # turn tips off if needed if not FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetBool("ShowTips",True): @@ -391,23 +434,25 @@ def handle(): i.save(createimg) iconbank["createimg"] = createimg + # build SECTION_NEW_FILE + + SECTION_NEW_FILE = "

    "+TranslationTexts.T_NEWFILE+"

    " + SECTION_NEW_FILE += "
      " + SECTION_NEW_FILE += build_new_file_card("empty_file") + SECTION_NEW_FILE += build_new_file_card("import_file") + SECTION_NEW_FILE += build_new_file_card("parametric_part") + # SECTION_NEW_FILE += build_new_file_card("csg_part") + SECTION_NEW_FILE += build_new_file_card("2d_draft") + SECTION_NEW_FILE += build_new_file_card("architecture") + SECTION_NEW_FILE += '
    ' + HTML = HTML.replace("SECTION_NEW_FILE",SECTION_NEW_FILE) + # build SECTION_RECENTFILES rf = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/RecentFiles") rfcount = rf.GetInt("RecentFiles",0) SECTION_RECENTFILES = "

    "+TranslationTexts.T_RECENTFILES+"

    " SECTION_RECENTFILES += "
      " - SECTION_RECENTFILES += '
    • ' - SECTION_RECENTFILES += '' - if FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start").GetBool("NewFileGradient",False): - SECTION_RECENTFILES += ''+TranslationTexts.T_CREATENEW+'' - else: - SECTION_RECENTFILES += ''+TranslationTexts.T_CREATENEW+'' - SECTION_RECENTFILES += '
      ' - SECTION_RECENTFILES += '

      '+TranslationTexts.T_CREATENEW+'

      ' - SECTION_RECENTFILES += '
      ' - SECTION_RECENTFILES += '
      ' - SECTION_RECENTFILES += '
    • ' for i in range(rfcount): filename = rf.GetString("MRU%d" % (i)) SECTION_RECENTFILES += buildCard(filename,method="LoadMRU.py?MRU=",arg=str(i)) @@ -454,11 +499,16 @@ def handle(): # build IMAGE_SRC paths + HTML = HTML.replace("IMAGE_SRC_FREECAD",'file:///'+os.path.join(resources_dir, 'images/freecad.png').replace('\\','/')) + HTML = HTML.replace("IMAGE_SRC_ICON_DOCUMENTS",'file:///'+os.path.join(resources_dir, 'images/icon_documents.png').replace('\\','/')) + HTML = HTML.replace("IMAGE_SRC_ICON_HELP",'file:///'+os.path.join(resources_dir, 'images/icon_help.png').replace('\\','/')) + HTML = HTML.replace("IMAGE_SRC_ICON_ACTIVITY",'file:///'+os.path.join(resources_dir, 'images/icon_activity.png').replace('\\','/')) + HTML = HTML.replace("IMAGE_SRC_ICON_BLOG",'file:///'+os.path.join(resources_dir, 'images/icon_blog.png').replace('\\','/')) HTML = HTML.replace("IMAGE_SRC_USERHUB",'file:///'+os.path.join(resources_dir, 'images/userhub.png').replace('\\','/')) HTML = HTML.replace("IMAGE_SRC_POWERHUB",'file:///'+os.path.join(resources_dir, 'images/poweruserhub.png').replace('\\','/')) HTML = HTML.replace("IMAGE_SRC_DEVHUB",'file:///'+os.path.join(resources_dir, 'images/developerhub.png').replace('\\','/')) HTML = HTML.replace("IMAGE_SRC_MANUAL",'file:///'+os.path.join(resources_dir, 'images/manual.png').replace('\\','/')) - HTML = HTML.replace("IMAGE_SRC_SETTINGS",'file:///'+os.path.join(resources_dir, 'images/settings.png').replace('\\','/')) + HTML = HTML.replace("IMAGE_SRC_SETTINGS",'file:///'+os.path.join(resources_dir, 'images/icon_settings.png').replace('\\','/')) HTML = HTML.replace("IMAGE_SRC_INSTALLED",'file:///'+os.path.join(resources_dir, 'images/installed.png').replace('\\','/')) # build UL_WORKBENCHES @@ -562,7 +612,7 @@ def handle(): BASECOLOR = gethexcolor(p.GetUnsigned("PageColor",4294967295)) BOXCOLOR = gethexcolor(p.GetUnsigned("BoxColor",3722305023)) TEXTCOLOR = gethexcolor(p.GetUnsigned("PageTextColor",255)) - BGTCOLOR = gethexcolor(p.GetUnsigned("BackgroundTextColor",4294703103)) + BGTCOLOR = gethexcolor(p.GetUnsigned("BackgroundTextColor",1600086015)) OVERFLOW = "" if p.GetBool("ShowScrollBars",True) else "body::-webkit-scrollbar {display: none;}" SHADOW = "#888888" if QtGui.QColor(BASECOLOR).valueF() < 0.5: # dark page - we need to make darker shadows @@ -618,20 +668,21 @@ def exportTestFile(): -def postStart(): +def postStart(switch_wb = True): "executes needed operations after loading a file" param = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Start") # switch workbench - wb = param.GetString("AutoloadModule","") - if "$LastModule" == wb: - wb = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/General").GetString("LastModule","") - if wb: - # don't switch workbenches if we are not in Start anymore - if FreeCADGui.activeWorkbench() and (FreeCADGui.activeWorkbench().name() == "StartWorkbench"): - FreeCADGui.activateWorkbench(wb) + if switch_wb: + wb = param.GetString("AutoloadModule","") + if "$LastModule" == wb: + wb = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/General").GetString("LastModule","") + if wb: + # don't switch workbenches if we are not in Start anymore + if FreeCADGui.activeWorkbench() and (FreeCADGui.activeWorkbench().name() == "StartWorkbench"): + FreeCADGui.activateWorkbench(wb) # close start tab cl = param.GetBool("closeStart",False) diff --git a/src/Mod/Start/StartPage/TranslationTexts.py b/src/Mod/Start/StartPage/TranslationTexts.py index 3bed5a7f2c..4e0ee061e1 100644 --- a/src/Mod/Start/StartPage/TranslationTexts.py +++ b/src/Mod/Start/StartPage/TranslationTexts.py @@ -35,9 +35,25 @@ def translate(context,text): return u.replace(chr(39), "’") T_TITLE = translate("StartPage", "Start") +T_WELCOME = translate("StartPage", "Welcome to FreeCAD") T_DOCUMENTS = translate("StartPage", "Documents") T_HELP = translate("StartPage", "Help") T_ACTIVITY = translate("StartPage", "Activity") +T_BLOG = translate("StartPage", "Blog") +T_BLOG_TOOLTIP = translate("StartPage", "Link to the FreeCAD blog") +T_NEWFILE = translate("StartPage", "New file") +T_TEMPLATE_EMPTYFILE_NAME = translate("StartPage", "Empty File") +T_TEMPLATE_EMPTYFILE_DESC = translate("StartPage", "Create an empty FreeCAD file") +T_TEMPLATE_IMPORTFILE_NAME = translate("StartPage", "Import File") +T_TEMPLATE_IMPORTFILE_DESC = translate("StartPage", "Work on an existing CAD file or 3D model") +T_TEMPLATE_PARAMETRICPART_NAME = translate("StartPage", "Standard Part") +T_TEMPLATE_PARAMETRICPART_DESC = translate("StartPage", "Create a part with the Part Design workbench") +# T_TEMPLATE_CSGPART_NAME = translate("StartPage", "CSG Part") +# T_TEMPLATE_CSGPART_DESC = translate("StartPage", "Create a part with the Part workbench") +T_TEMPLATE_2DDRAFT_NAME = translate("StartPage", "2D Draft") +T_TEMPLATE_2DDRAFT_DESC = translate("StartPage", "Create a 2D draft with the Draft workbench") +T_TEMPLATE_ARCHITECTURE_NAME = translate("StartPage", "BIM/Architecture") +T_TEMPLATE_ARCHITECTURE_DESC = translate("StartPage", "Create an architecture project") T_RECENTFILES = translate("StartPage", "Recent files") T_TIP = translate("StartPage", "Tip") T_ADJUSTRECENT = translate("StartPage", "Adjust the number of recent files to be shown here in menu Edit -> Preferences -> General -> Size of recent file list") diff --git a/src/Mod/Start/StartPage/images/icon_activity.png b/src/Mod/Start/StartPage/images/icon_activity.png new file mode 100644 index 0000000000..5fea7a7dcb Binary files /dev/null and b/src/Mod/Start/StartPage/images/icon_activity.png differ diff --git a/src/Mod/Start/StartPage/images/icon_blog.png b/src/Mod/Start/StartPage/images/icon_blog.png new file mode 100644 index 0000000000..cfc5297c02 Binary files /dev/null and b/src/Mod/Start/StartPage/images/icon_blog.png differ diff --git a/src/Mod/Start/StartPage/images/icon_documents.png b/src/Mod/Start/StartPage/images/icon_documents.png new file mode 100644 index 0000000000..8c78e76c0e Binary files /dev/null and b/src/Mod/Start/StartPage/images/icon_documents.png differ diff --git a/src/Mod/Start/StartPage/images/icon_help.png b/src/Mod/Start/StartPage/images/icon_help.png new file mode 100644 index 0000000000..fd03274c3d Binary files /dev/null and b/src/Mod/Start/StartPage/images/icon_help.png differ diff --git a/src/Mod/Start/StartPage/images/icon_settings.png b/src/Mod/Start/StartPage/images/icon_settings.png new file mode 100644 index 0000000000..7b03258f5d Binary files /dev/null and b/src/Mod/Start/StartPage/images/icon_settings.png differ diff --git a/src/Mod/Start/StartPage/images/new_2d_draft.png b/src/Mod/Start/StartPage/images/new_2d_draft.png new file mode 100644 index 0000000000..c55713e9b6 Binary files /dev/null and b/src/Mod/Start/StartPage/images/new_2d_draft.png differ diff --git a/src/Mod/Start/StartPage/images/new_architecture.png b/src/Mod/Start/StartPage/images/new_architecture.png new file mode 100644 index 0000000000..1239da8479 Binary files /dev/null and b/src/Mod/Start/StartPage/images/new_architecture.png differ diff --git a/src/Mod/Start/StartPage/images/new_csg_part.png b/src/Mod/Start/StartPage/images/new_csg_part.png new file mode 100644 index 0000000000..b51af20f14 Binary files /dev/null and b/src/Mod/Start/StartPage/images/new_csg_part.png differ diff --git a/src/Mod/Start/StartPage/images/new_empty_file.png b/src/Mod/Start/StartPage/images/new_empty_file.png new file mode 100644 index 0000000000..98a739e91a Binary files /dev/null and b/src/Mod/Start/StartPage/images/new_empty_file.png differ diff --git a/src/Mod/Start/StartPage/images/new_import_file.png b/src/Mod/Start/StartPage/images/new_import_file.png new file mode 100644 index 0000000000..c3b3051487 Binary files /dev/null and b/src/Mod/Start/StartPage/images/new_import_file.png differ diff --git a/src/Mod/Start/StartPage/images/new_parametric_part.png b/src/Mod/Start/StartPage/images/new_parametric_part.png new file mode 100644 index 0000000000..41589557a2 Binary files /dev/null and b/src/Mod/Start/StartPage/images/new_parametric_part.png differ diff --git a/src/Mod/Start/StartPage/images/settings.png b/src/Mod/Start/StartPage/images/settings.png deleted file mode 100644 index 838f8eb8a0..0000000000 Binary files a/src/Mod/Start/StartPage/images/settings.png and /dev/null differ diff --git a/src/Mod/Surface/App/AppSurface.cpp b/src/Mod/Surface/App/AppSurface.cpp index cb5ab8282e..8217e88527 100644 --- a/src/Mod/Surface/App/AppSurface.cpp +++ b/src/Mod/Surface/App/AppSurface.cpp @@ -48,8 +48,6 @@ public: initialize("This module is the Surface module.");// register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Surface/App/Blending/FeatureBlendCurve.cpp b/src/Mod/Surface/App/Blending/FeatureBlendCurve.cpp index 0964bcdc2c..c7c1c4c515 100644 --- a/src/Mod/Surface/App/Blending/FeatureBlendCurve.cpp +++ b/src/Mod/Surface/App/Blending/FeatureBlendCurve.cpp @@ -46,7 +46,7 @@ const App::PropertyIntegerConstraint::Constraints EndContinuityConstraint = {0, PROPERTY_SOURCE(Surface::FeatureBlendCurve, Part::Spline) -FeatureBlendCurve::FeatureBlendCurve() : lockOnChangeMutex(false) +FeatureBlendCurve::FeatureBlendCurve() { ADD_PROPERTY_TYPE(StartEdge, (nullptr), "FirstEdge", App::Prop_None, ""); ADD_PROPERTY_TYPE(StartContinuity, (2), "FirstEdge", App::Prop_None, ""); diff --git a/src/Mod/Surface/App/Blending/FeatureBlendCurve.h b/src/Mod/Surface/App/Blending/FeatureBlendCurve.h index 6ff4329a32..a792e83bca 100644 --- a/src/Mod/Surface/App/Blending/FeatureBlendCurve.h +++ b/src/Mod/Surface/App/Blending/FeatureBlendCurve.h @@ -63,7 +63,7 @@ public: private: BlendPoint GetBlendPoint(App::PropertyLinkSub &link, App::PropertyFloatConstraint ¶m, App::PropertyIntegerConstraint &Continuity); double RelativeToRealParameters(double, double, double); - bool lockOnChangeMutex; + bool lockOnChangeMutex{false}; protected: void onChanged(const App::Property *prop) override; diff --git a/src/Mod/Surface/App/FeatureExtend.cpp b/src/Mod/Surface/App/FeatureExtend.cpp index d2c14d7792..31f19f55b2 100644 --- a/src/Mod/Surface/App/FeatureExtend.cpp +++ b/src/Mod/Surface/App/FeatureExtend.cpp @@ -47,7 +47,7 @@ const App::PropertyFloatConstraint::Constraints ToleranceRange = {0.0, 10.0, 0.0 const App::PropertyFloatConstraint::Constraints ExtendRange = {-0.5, 10.0, 0.01}; PROPERTY_SOURCE(Surface::Extend, Part::Spline) -Extend::Extend() : lockOnChangeMutex(false) +Extend::Extend() { ADD_PROPERTY(Face,(nullptr)); Face.setScope(App::LinkScope::Global); @@ -72,10 +72,6 @@ Extend::Extend() : lockOnChangeMutex(false) SampleV.setConstraints(&SampleRange); } -Extend::~Extend() -{ -} - short Extend::mustExecute() const { if (Face.isTouched()) diff --git a/src/Mod/Surface/App/FeatureExtend.h b/src/Mod/Surface/App/FeatureExtend.h index c80d483d46..c85335b4bb 100644 --- a/src/Mod/Surface/App/FeatureExtend.h +++ b/src/Mod/Surface/App/FeatureExtend.h @@ -37,7 +37,6 @@ class SurfaceExport Extend : public Part::Spline public: Extend(); - ~Extend() override; App::PropertyLinkSub Face; App::PropertyFloatConstraint Tolerance; @@ -65,7 +64,7 @@ protected: const char *PropName) override; private: - bool lockOnChangeMutex; + bool lockOnChangeMutex{false}; }; }//Namespace Surface diff --git a/src/Mod/Surface/App/FeatureGeomFillSurface.cpp b/src/Mod/Surface/App/FeatureGeomFillSurface.cpp index 1b5e5b4fa3..a6d8176c0a 100644 --- a/src/Mod/Surface/App/FeatureGeomFillSurface.cpp +++ b/src/Mod/Surface/App/FeatureGeomFillSurface.cpp @@ -210,11 +210,9 @@ bool GeomFillSurface::getWire(TopoDS_Wire& aWire) } ShapeValidator validator; - for(std::size_t i = 0; i < boundary.size(); i++) { - App::PropertyLinkSubList::SubSet set = boundary[i]; - + for(const auto& set : boundary) { if (set.first->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) { - for (const auto& jt: set.second) { + for (const auto& jt : set.second) { const Part::TopoShape &ts = static_cast(set.first)->Shape.getShape(); validator.checkAndAdd(ts, jt.c_str(), &aWD); } diff --git a/src/Mod/Surface/App/FeatureSections.cpp b/src/Mod/Surface/App/FeatureSections.cpp index e38dff8ec0..b8b321b150 100644 --- a/src/Mod/Surface/App/FeatureSections.cpp +++ b/src/Mod/Surface/App/FeatureSections.cpp @@ -46,10 +46,6 @@ Sections::Sections() NSections.setScope(App::LinkScope::Global); } -Sections::~Sections() -{ -} - App::DocumentObjectExecReturn *Sections::execute() { TColGeom_SequenceOfCurve curveSeq; diff --git a/src/Mod/Surface/App/FeatureSections.h b/src/Mod/Surface/App/FeatureSections.h index f7abbc457b..e80a0a5ea0 100644 --- a/src/Mod/Surface/App/FeatureSections.h +++ b/src/Mod/Surface/App/FeatureSections.h @@ -37,7 +37,6 @@ class SurfaceExport Sections : public Part::Spline public: Sections(); - ~Sections() override; App::PropertyLinkSubList NSections; diff --git a/src/Mod/Surface/App/FeatureSewing.cpp b/src/Mod/Surface/App/FeatureSewing.cpp index 6c3da19476..54ec9249ff 100644 --- a/src/Mod/Surface/App/FeatureSewing.cpp +++ b/src/Mod/Surface/App/FeatureSewing.cpp @@ -73,15 +73,15 @@ App::DocumentObjectExecReturn *Sewing::execute() BRepBuilderAPI_Sewing builder(atol,opt1,opt2,opt3,opt4); std::vector subset = ShapeList.getSubListValues(); - for(std::vector::iterator it = subset.begin(); it != subset.end(); ++it) { + for(const auto& it : subset) { // the subset has the documentobject and the element name which belongs to it, // in our case for example the cube object and the "Edge1" string - if (it->first->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) { + if (it.first->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) { //we get the shape of the document object which resemble the whole box - Part::TopoShape ts = static_cast(it->first)->Shape.getShape(); + Part::TopoShape ts = static_cast(it.first)->Shape.getShape(); //we want only the subshape which is linked - for (const auto& jt: it->second) { + for (const auto& jt : it.second) { TopoDS_Shape sub = ts.getSubShape(jt.c_str()); builder.Add(sub); } diff --git a/src/Mod/Surface/Gui/AppSurfaceGui.cpp b/src/Mod/Surface/Gui/AppSurfaceGui.cpp index f8d024109b..1c85515a73 100644 --- a/src/Mod/Surface/Gui/AppSurfaceGui.cpp +++ b/src/Mod/Surface/Gui/AppSurfaceGui.cpp @@ -50,8 +50,6 @@ public: initialize("This module is the SurfaceGui module.");// register with Python } - ~Module() override {} - private: }; diff --git a/src/Mod/Surface/Gui/TaskFilling.cpp b/src/Mod/Surface/Gui/TaskFilling.cpp index 2ec3c8825d..122f522eca 100644 --- a/src/Mod/Surface/Gui/TaskFilling.cpp +++ b/src/Mod/Surface/Gui/TaskFilling.cpp @@ -934,11 +934,6 @@ TaskFilling::TaskFilling(ViewProviderFilling* vp, Surface::Filling* obj) taskbox3->hideGroupBox(); } -TaskFilling::~TaskFilling() -{ - // automatically deleted in the sub-class -} - void TaskFilling::setEditedObject(Surface::Filling* obj) { widget1->setEditedObject(obj); diff --git a/src/Mod/Surface/Gui/TaskFilling.h b/src/Mod/Surface/Gui/TaskFilling.h index e3a986a736..94f5784ec2 100644 --- a/src/Mod/Surface/Gui/TaskFilling.h +++ b/src/Mod/Surface/Gui/TaskFilling.h @@ -127,7 +127,6 @@ class TaskFilling : public Gui::TaskView::TaskDialog public: TaskFilling(ViewProviderFilling* vp, Surface::Filling* obj); - ~TaskFilling() override; void setEditedObject(Surface::Filling* obj); public: diff --git a/src/Mod/Surface/Gui/TaskGeomFillSurface.cpp b/src/Mod/Surface/Gui/TaskGeomFillSurface.cpp index 8636c5b6bc..711e6f2071 100644 --- a/src/Mod/Surface/Gui/TaskGeomFillSurface.cpp +++ b/src/Mod/Surface/Gui/TaskGeomFillSurface.cpp @@ -636,11 +636,6 @@ TaskGeomFillSurface::TaskGeomFillSurface(ViewProviderGeomFillSurface* vp, Surfac Content.push_back(taskbox); } -TaskGeomFillSurface::~TaskGeomFillSurface() -{ - // automatically deleted in the sub-class -} - void TaskGeomFillSurface::setEditedObject(Surface::GeomFillSurface* obj) { widget->setEditedObject(obj); diff --git a/src/Mod/Surface/Gui/TaskGeomFillSurface.h b/src/Mod/Surface/Gui/TaskGeomFillSurface.h index c1f3ed7ab5..1a3025cdd8 100644 --- a/src/Mod/Surface/Gui/TaskGeomFillSurface.h +++ b/src/Mod/Surface/Gui/TaskGeomFillSurface.h @@ -117,7 +117,6 @@ class TaskGeomFillSurface : public Gui::TaskView::TaskDialog public: TaskGeomFillSurface(ViewProviderGeomFillSurface* vp, Surface::GeomFillSurface* obj); - ~TaskGeomFillSurface() override; void setEditedObject(Surface::GeomFillSurface* obj); public: diff --git a/src/Mod/Surface/Gui/TaskSections.cpp b/src/Mod/Surface/Gui/TaskSections.cpp index acfe761efc..6712efa7ad 100644 --- a/src/Mod/Surface/Gui/TaskSections.cpp +++ b/src/Mod/Surface/Gui/TaskSections.cpp @@ -276,9 +276,7 @@ SectionsPanel::SectionsPanel(ViewProviderSections* vp, Surface::Sections* obj) : /* * Destroys the object and frees any allocated resources */ -SectionsPanel::~SectionsPanel() -{ -} +SectionsPanel::~SectionsPanel() = default; void SectionsPanel::setupConnections() { @@ -590,11 +588,6 @@ TaskSections::TaskSections(ViewProviderSections* vp, Surface::Sections* obj) Content.push_back(taskbox1); } -TaskSections::~TaskSections() -{ - // automatically deleted in the sub-class -} - void TaskSections::setEditedObject(Surface::Sections* obj) { widget1->setEditedObject(obj); diff --git a/src/Mod/Surface/Gui/TaskSections.h b/src/Mod/Surface/Gui/TaskSections.h index ec8c002066..368a804695 100644 --- a/src/Mod/Surface/Gui/TaskSections.h +++ b/src/Mod/Surface/Gui/TaskSections.h @@ -116,7 +116,6 @@ class TaskSections : public Gui::TaskView::TaskDialog public: TaskSections(ViewProviderSections* vp, Surface::Sections* obj); - ~TaskSections() override; void setEditedObject(Surface::Sections* obj); public: diff --git a/src/Mod/Surface/Gui/Workbench.cpp b/src/Mod/Surface/Gui/Workbench.cpp index d2241ea0bc..9229ef6d4b 100644 --- a/src/Mod/Surface/Gui/Workbench.cpp +++ b/src/Mod/Surface/Gui/Workbench.cpp @@ -34,13 +34,9 @@ using namespace SurfaceGui; /// @namespace SurfaceGui @class Workbench TYPESYSTEM_SOURCE(SurfaceGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; Gui::MenuItem *Workbench::setupMenuBar() const { diff --git a/src/Mod/TechDraw/App/AppTechDrawPy.cpp b/src/Mod/TechDraw/App/AppTechDrawPy.cpp index eb8d2a5bb7..9fb36bb843 100644 --- a/src/Mod/TechDraw/App/AppTechDrawPy.cpp +++ b/src/Mod/TechDraw/App/AppTechDrawPy.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -413,30 +414,30 @@ private: obj = static_cast(viewObj)->getDocumentObjectPtr(); dvp = static_cast(obj); TechDraw::GeometryObjectPtr gObj = dvp->getGeometryObject(); - TopoDS_Shape shape = TechDraw::mirrorShape(gObj->getVisHard()); + TopoDS_Shape shape = ShapeUtils::mirrorShape(gObj->getVisHard()); ss << dxfOut.exportEdges(shape); - shape = TechDraw::mirrorShape(gObj->getVisOutline()); + shape = ShapeUtils::mirrorShape(gObj->getVisOutline()); ss << dxfOut.exportEdges(shape); if (dvp->SmoothVisible.getValue()) { - shape = TechDraw::mirrorShape(gObj->getVisSmooth()); + shape = ShapeUtils::mirrorShape(gObj->getVisSmooth()); ss << dxfOut.exportEdges(shape); } if (dvp->SeamVisible.getValue()) { - shape = TechDraw::mirrorShape(gObj->getVisSeam()); + shape = ShapeUtils::mirrorShape(gObj->getVisSeam()); ss << dxfOut.exportEdges(shape); } if (dvp->HardHidden.getValue()) { - shape = TechDraw::mirrorShape(gObj->getHidHard()); + shape = ShapeUtils::mirrorShape(gObj->getHidHard()); ss << dxfOut.exportEdges(shape); - shape = TechDraw::mirrorShape(gObj->getHidOutline()); + shape = ShapeUtils::mirrorShape(gObj->getHidOutline()); ss << dxfOut.exportEdges(shape); } if (dvp->SmoothHidden.getValue()) { - shape = TechDraw::mirrorShape(gObj->getHidSmooth()); + shape = ShapeUtils::mirrorShape(gObj->getHidSmooth()); ss << dxfOut.exportEdges(shape); } if (dvp->SeamHidden.getValue()) { - shape = TechDraw::mirrorShape(gObj->getHidSeam()); + shape = ShapeUtils::mirrorShape(gObj->getHidSeam()); ss << dxfOut.exportEdges(shape); } // ss now contains all edges as Dxf @@ -535,7 +536,7 @@ private: if(!dvp->hasGeometry()) return; TechDraw::GeometryObjectPtr gObj = dvp->getGeometryObject(); - TopoDS_Shape shape = TechDraw::mirrorShape(gObj->getVisHard()); + TopoDS_Shape shape = ShapeUtils::mirrorShape(gObj->getVisHard()); double offX = 0.0; double offY = 0.0; if (dvp->isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) { @@ -557,40 +558,40 @@ private: BRepBuilderAPI_Transform mkTrf(shape, xLate); shape = mkTrf.Shape(); writer.exportShape(shape); - shape = TechDraw::mirrorShape(gObj->getVisOutline()); + shape = ShapeUtils::mirrorShape(gObj->getVisOutline()); mkTrf.Perform(shape); shape = mkTrf.Shape(); writer.exportShape(shape); if (dvp->SmoothVisible.getValue()) { - shape = TechDraw::mirrorShape(gObj->getVisSmooth()); + shape = ShapeUtils::mirrorShape(gObj->getVisSmooth()); mkTrf.Perform(shape); shape = mkTrf.Shape(); writer.exportShape(shape); } if (dvp->SeamVisible.getValue()) { - shape = TechDraw::mirrorShape(gObj->getVisSeam()); + shape = ShapeUtils::mirrorShape(gObj->getVisSeam()); mkTrf.Perform(shape); shape = mkTrf.Shape(); writer.exportShape(shape); } if (dvp->HardHidden.getValue()) { - shape = TechDraw::mirrorShape(gObj->getHidHard()); + shape = ShapeUtils::mirrorShape(gObj->getHidHard()); mkTrf.Perform(shape); shape = mkTrf.Shape(); writer.exportShape(shape); - shape = TechDraw::mirrorShape(gObj->getHidOutline()); + shape = ShapeUtils::mirrorShape(gObj->getHidOutline()); mkTrf.Perform(shape); shape = mkTrf.Shape(); writer.exportShape(shape); } if (dvp->SmoothHidden.getValue()) { - shape = TechDraw::mirrorShape(gObj->getHidSmooth()); + shape = ShapeUtils::mirrorShape(gObj->getHidSmooth()); mkTrf.Perform(shape); shape = mkTrf.Shape(); writer.exportShape(shape); } if (dvp->SeamHidden.getValue()) { - shape = TechDraw::mirrorShape(gObj->getHidSeam()); + shape = ShapeUtils::mirrorShape(gObj->getHidSeam()); mkTrf.Perform(shape); shape = mkTrf.Shape(); writer.exportShape(shape); @@ -604,7 +605,7 @@ private: } } if (!cosmeticEdges.empty()) { - shape = TechDraw::mirrorShape(DrawUtil::vectorToCompound(cosmeticEdges)); + shape = ShapeUtils::mirrorShape(DrawUtil::vectorToCompound(cosmeticEdges)); mkTrf.Perform(shape); shape = mkTrf.Shape(); writer.exportShape(shape); @@ -813,13 +814,13 @@ private: TopoShapePy* pShape = static_cast(pcObjShape); if (!pShape) { - Base::Console().Error("TechDraw::findCentroid - input shape is null\n"); + Base::Console().Error("ShapeUtils::findCentroid - input shape is null\n"); return Py::None(); } const TopoDS_Shape& shape = pShape->getTopoShapePtr()->getShape(); Base::Vector3d dir = static_cast(pcObjDir)->value(); - Base::Vector3d centroid = TechDraw::findCentroidVec(shape, dir); + Base::Vector3d centroid = ShapeUtils::findCentroidVec(shape, dir); PyObject* result = nullptr; result = new Base::VectorPy(new Base::Vector3d(centroid)); return Py::asObject(result); @@ -1093,7 +1094,9 @@ private: Py::Object projectToSVG(const Py::Tuple& args, const Py::Dict& keys) { - static char* argNames[] = {"topoShape", "direction", "type", "tolerance", "vStyle", "v0Style", "v1Style", "hStyle", "h0Style", "h1Style", nullptr}; + static const std::array argNames{"topoShape", "direction", "type", "tolerance", "vStyle", + "v0Style", "v1Style", "hStyle", "h0Style", "h1Style", + nullptr}; PyObject *pcObjShape = nullptr; PyObject *pcObjDir = nullptr; const char *extractionTypePy = nullptr; @@ -1114,7 +1117,7 @@ private: // Get the arguments - if (!PyArg_ParseTupleAndKeywords( + if (!Base::Wrapped_ParseTupleAndKeywords( args.ptr(), keys.ptr(), "O!|O!sfOOOOOO", argNames, @@ -1122,9 +1125,9 @@ private: &(Base::VectorPy::Type), &pcObjDir, &extractionTypePy, &tol, &vStylePy, &v0StylePy, &v1StylePy, - &hStylePy, &h0StylePy, &h1StylePy)) - + &hStylePy, &h0StylePy, &h1StylePy)) { throw Py::Exception(); + } // Convert all arguments into the right format diff --git a/src/Mod/TechDraw/App/CMakeLists.txt b/src/Mod/TechDraw/App/CMakeLists.txt index 9595318544..5a25753435 100644 --- a/src/Mod/TechDraw/App/CMakeLists.txt +++ b/src/Mod/TechDraw/App/CMakeLists.txt @@ -182,6 +182,8 @@ SET(Geometry_SRCS Geometry.h GeometryObject.cpp GeometryObject.h + ShapeUtils.cpp + ShapeUtils.h CenterLine.cpp CenterLine.h Cosmetic.cpp diff --git a/src/Mod/TechDraw/App/CenterLine.cpp b/src/Mod/TechDraw/App/CenterLine.cpp index c03fd66a11..47b40a7a1a 100644 --- a/src/Mod/TechDraw/App/CenterLine.cpp +++ b/src/Mod/TechDraw/App/CenterLine.cpp @@ -64,7 +64,7 @@ CenterLine::CenterLine() initialize(); } -CenterLine::CenterLine(TechDraw::CenterLine* cl) +CenterLine::CenterLine(const TechDraw::CenterLine* cl) { m_start = cl->m_start; m_end = cl->m_end; @@ -81,12 +81,12 @@ CenterLine::CenterLine(TechDraw::CenterLine* cl) initialize(); } -CenterLine::CenterLine(TechDraw::BaseGeomPtr bg, - int m, - double h, - double v, - double r, - double x) +CenterLine::CenterLine(const TechDraw::BaseGeomPtr& bg, + const int m, + const double h, + const double v, + const double r, + const double x) { m_start = bg->getStartPoint(); m_end = bg->getEndPoint(); @@ -103,13 +103,13 @@ CenterLine::CenterLine(TechDraw::BaseGeomPtr bg, initialize(); } -CenterLine::CenterLine(Base::Vector3d pt1, - Base::Vector3d pt2, - int m, - double h, - double v, - double r, - double x) +CenterLine::CenterLine(const Base::Vector3d& pt1, + const Base::Vector3d& pt2, + const int m, + const double h, + const double v, + const double r, + const double x) { m_start = pt1; m_end = pt2; @@ -154,10 +154,10 @@ TechDraw::BaseGeomPtr CenterLine::BaseGeomPtrFromVectors(Base::Vector3d pt1, Bas return bg; } -CenterLine* CenterLine::CenterLineBuilder(DrawViewPart* partFeat, - std::vector subNames, - int mode, - bool flip) +CenterLine* CenterLine::CenterLineBuilder(const DrawViewPart* partFeat, + const std::vector& subNames, + const int mode, + const bool flip) { // Base::Console().Message("CL::CLBuilder()\n - subNames: %d\n", subNames.size()); std::pair ends; @@ -210,7 +210,7 @@ CenterLine* CenterLine::CenterLineBuilder(DrawViewPart* partFeat, return cl; } -TechDraw::BaseGeomPtr CenterLine::scaledGeometry(TechDraw::DrawViewPart* partFeat) +TechDraw::BaseGeomPtr CenterLine::scaledGeometry(const TechDraw::DrawViewPart* partFeat) { // Base::Console().Message("CL::scaledGeometry() - m_type: %d\n", m_type); double scale = partFeat->getScale(); @@ -259,7 +259,7 @@ TechDraw::BaseGeomPtr CenterLine::scaledGeometry(TechDraw::DrawViewPart* partFea gp_Pnt gp1(p1.x, p1.y, p1.z); gp_Pnt gp2(p2.x, p2.y, p2.z); TopoDS_Edge e = BRepBuilderAPI_MakeEdge(gp1, gp2); - TopoDS_Shape s = TechDraw::scaleShape(e, scale); + TopoDS_Shape s = ShapeUtils::scaleShape(e, scale); TopoDS_Edge newEdge = TopoDS::Edge(s); TechDraw::BaseGeomPtr newGeom = TechDraw::BaseGeom::baseFactory(newEdge); newGeom->setClassOfEdge(ecHARD); @@ -307,7 +307,12 @@ void CenterLine::dump(const char* title) Base::Console().Message("CL::dump - %s \n", toString().c_str()); } -std::tuple CenterLine::rotatePointsAroundMid(Base::Vector3d p1, Base::Vector3d p2, Base::Vector3d mid, double rotate) { +std::tuple +CenterLine::rotatePointsAroundMid(const Base::Vector3d& p1, + const Base::Vector3d& p2, + const Base::Vector3d& mid, + const double rotate) +{ //rotate p1, p2 about mid double revRotate = -rotate; double cosTheta = cos(revRotate * M_PI / 180.0); @@ -327,12 +332,13 @@ std::tuple CenterLine::rotatePointsAroundMid(Bas //end points for centerline with no geometry reference std::pair CenterLine::calcEndPointsNoRef( - Base::Vector3d start, - Base::Vector3d end, - double scale, - double ext, - double hShift, double vShift, - double rotate) + const Base::Vector3d& start, + const Base::Vector3d& end, + const double scale, + const double ext, + const double hShift, + const double vShift, + const double rotate) { // Base::Console().Message("CL::calcEndPointsNoRef()\n"); Base::Vector3d p1 = start; @@ -370,11 +376,13 @@ std::pair CenterLine::calcEndPointsNoRef( } //end points for face centerline -std::pair CenterLine::calcEndPoints(DrawViewPart* partFeat, - std::vector faceNames, - int mode, double ext, - double hShift, double vShift, - double rotate) +std::pair CenterLine::calcEndPoints(const DrawViewPart* partFeat, + const std::vector& faceNames, + const int mode, + const double ext, + const double hShift, + const double vShift, + const double rotate) { // Base::Console().Message("CL::calcEndPoints()\n"); if (faceNames.empty()) { @@ -420,13 +428,13 @@ std::pair CenterLine::calcEndPoints(DrawViewPart double Ymid = Ymin + Yspan; Base::Vector3d p1, p2; - if (mode == 0) { //vertical + if (mode == CenterLine::VERTICAL) { //vertical p1 = Base::Vector3d(Xmid, Ymax, 0.0); p2 = Base::Vector3d(Xmid, Ymin, 0.0); - } else if (mode == 1) { //horizontal + } else if (mode == CenterLine::HORIZONTAL) { //horizontal p1 = Base::Vector3d(Xmin, Ymid, 0.0); p2 = Base::Vector3d(Xmax, Ymid, 0.0); - } else { //vert == 2 //aligned, but aligned doesn't make sense for face(s) bbox + } else { //vert == CenterLine::ALIGNED //aligned, but aligned doesn't make sense for face(s) bbox Base::Console().Message("CL::calcEndPoints - aligned is not applicable to Face center lines\n"); p1 = Base::Vector3d(Xmid, Ymax, 0.0); p2 = Base::Vector3d(Xmid, Ymin, 0.0); @@ -464,11 +472,14 @@ std::pair CenterLine::calcEndPoints(DrawViewPart return result; } -std::pair CenterLine::calcEndPoints2Lines(DrawViewPart* partFeat, - std::vector edgeNames, - int mode, double ext, - double hShift, double vShift, - double rotate, bool flip) +std::pair CenterLine::calcEndPoints2Lines(const DrawViewPart* partFeat, + const std::vector& edgeNames, + const int mode, + const double ext, + const double hShift, + const double vShift, + const double rotate, + const bool flip) { Q_UNUSED(flip) @@ -538,13 +549,13 @@ std::pair CenterLine::calcEndPoints2Lines(DrawVi } //orientation - if (mode == 0 && !inhibitVertical) { //Vertical + if (mode == CenterLine::VERTICAL && !inhibitVertical) { //Vertical p1.x = mid.x; p2.x = mid.x; - } else if (mode == 1 && !inhibitHorizontal) { //Horizontal + } else if (mode == CenterLine::HORIZONTAL && !inhibitHorizontal) { //Horizontal p1.y = mid.y; p2.y = mid.y; - } else if (mode == 2) { //Aligned + } else if (mode == CenterLine::ALIGNED) { //Aligned // no op } @@ -577,11 +588,14 @@ std::pair CenterLine::calcEndPoints2Lines(DrawVi return result; } -std::pair CenterLine::calcEndPoints2Points(DrawViewPart* partFeat, - std::vector vertNames, - int mode, double ext, - double hShift, double vShift, - double rotate, bool flip) +std::pair CenterLine::calcEndPoints2Points(const DrawViewPart* partFeat, + const std::vector& vertNames, + const int mode, + const double ext, + const double hShift, + const double vShift, + const double rotate, + const bool flip) { // Base::Console().Message("CL::calc2Points() - mode: %d\n", mode); @@ -627,15 +641,15 @@ std::pair CenterLine::calcEndPoints2Points(DrawV inhibitVertical = true; } - if (mode == 0 && !inhibitVertical) { + if (mode == CenterLine::VERTICAL && !inhibitVertical) { //Vertical v1.x = mid.x; v2.x = mid.x; - } else if (mode == 1 && !inhibitHorizontal) { + } else if (mode == CenterLine::HORIZONTAL && !inhibitHorizontal) { //Horizontal v1.y = mid.y; v2.y = mid.y; - } else if (mode == 2) { //Aligned + } else if (mode == CenterLine::ALIGNED) { //Aligned // no op } @@ -928,7 +942,7 @@ void CenterLine::createNewTag() tag = gen(); } -void CenterLine::assignTag(const TechDraw::CenterLine * ce) +void CenterLine::assignTag(const TechDraw::CenterLine* ce) { if(ce->getTypeId() == this->getTypeId()) this->tag = ce->tag; @@ -944,6 +958,7 @@ CenterLine *CenterLine::clone() const return cpy; } +// To do: make const PyObject* CenterLine::getPyObject() { if (PythonObject.is(Py::_None())) { @@ -954,48 +969,48 @@ PyObject* CenterLine::getPyObject() } -void CenterLine::setShifts(double h, double v) +void CenterLine::setShifts(const double h, const double v) { m_hShift = h; m_vShift = v; } -double CenterLine::getHShift() +double CenterLine::getHShift() const { return m_hShift; } -double CenterLine::getVShift() +double CenterLine::getVShift() const { return m_vShift; } -void CenterLine::setRotate(double r) +void CenterLine::setRotate(const double r) { m_rotate = r; } -double CenterLine::getRotate() +double CenterLine::getRotate() const { return m_rotate; } -void CenterLine::setExtend(double e) +void CenterLine::setExtend(const double e) { m_extendBy = e; } -double CenterLine::getExtend() +double CenterLine::getExtend() const { return m_extendBy; } -void CenterLine::setFlip(bool f) +void CenterLine::setFlip(const bool f) { m_flip2Line = f; } -bool CenterLine::getFlip() +bool CenterLine::getFlip() const { return m_flip2Line; } diff --git a/src/Mod/TechDraw/App/CenterLine.h b/src/Mod/TechDraw/App/CenterLine.h index 1908e98d64..e0c8f045b4 100644 --- a/src/Mod/TechDraw/App/CenterLine.h +++ b/src/Mod/TechDraw/App/CenterLine.h @@ -54,20 +54,20 @@ public: }; CenterLine(); - CenterLine(CenterLine* cl); + CenterLine(const CenterLine* cl); //set m_faces after using next 3 ctors - CenterLine(TechDraw::BaseGeomPtr bg, - int m = CLMODE::VERTICAL, - double h = 0.0, - double v = 0.0, - double r = 0.0, - double x = 0.0); - CenterLine(Base::Vector3d p1, Base::Vector3d p2, - int m = CLMODE::VERTICAL, - double h = 0.0, - double v = 0.0, - double r = 0.0, - double x = 0.0); + CenterLine(const TechDraw::BaseGeomPtr& bg, + const int m = CLMODE::VERTICAL, + const double h = 0.0, + const double v = 0.0, + const double r = 0.0, + const double x = 0.0); + CenterLine(const Base::Vector3d& p1, const Base::Vector3d& p2, + const int m = CLMODE::VERTICAL, + const double h = 0.0, + const double v = 0.0, + const double r = 0.0, + const double x = 0.0); ~CenterLine() override; TechDraw::BaseGeomPtr BaseGeomPtrFromVectors(Base::Vector3d pt1, Base::Vector3d pt2); @@ -83,52 +83,61 @@ public: std::string toString() const; - static CenterLine* CenterLineBuilder(TechDraw::DrawViewPart* partFeat, - std::vector subs, - int mode = 0, - bool flip = false); - TechDraw::BaseGeomPtr scaledGeometry(TechDraw::DrawViewPart* partFeat); + static CenterLine* CenterLineBuilder(const TechDraw::DrawViewPart* partFeat, + const std::vector& subs, + const int mode = 0, + const bool flip = false); + TechDraw::BaseGeomPtr scaledGeometry(const TechDraw::DrawViewPart* partFeat); static std::tuple rotatePointsAroundMid( - Base::Vector3d p1, - Base::Vector3d p2, - Base::Vector3d mid, - double rotate); + const Base::Vector3d& p1, + const Base::Vector3d& p2, + const Base::Vector3d& mid, + const double rotate); static std::pair calcEndPointsNoRef( - Base::Vector3d start, - Base::Vector3d end, - double scale, - double ext, - double hShift, double vShift, - double rotate); + const Base::Vector3d& start, + const Base::Vector3d& end, + const double scale, + const double ext, + const double hShift, + const double vShift, + const double rotate); static std::pair calcEndPoints( - TechDraw::DrawViewPart* partFeat, - std::vector faceNames, - int mode, double ext, - double m_hShift, double m_vShift, - double rotate); + const TechDraw::DrawViewPart* partFeat, + const std::vector& faceNames, + const int mode, + const double ext, + const double m_hShift, + const double m_vShift, + const double rotate); static std::pair calcEndPoints2Lines( - TechDraw::DrawViewPart* partFeat, - std::vector faceNames, - int vert, double ext, - double m_hShift, double m_vShift, - double rotate, bool flip); + const TechDraw::DrawViewPart* partFeat, + const std::vector& faceNames, + const int vert, + const double ext, + const double m_hShift, + const double m_vShift, + const double rotate, + const bool flip); static std::pair calcEndPoints2Points( - TechDraw::DrawViewPart* partFeat, - std::vector faceNames, - int vert, double ext, - double m_hShift, double m_vShift, - double rotate, bool flip); + const TechDraw::DrawViewPart* partFeat, + const std::vector& faceNames, + const int vert, + const double ext, + const double m_hShift, + const double m_vShift, + const double rotate, + const bool flip); void dump(const char* title); - void setShifts(double h, double v); - double getHShift(); - double getVShift(); - void setRotate(double r); - double getRotate(); - void setExtend(double e); - double getExtend(); - void setFlip(bool f); - bool getFlip(); + void setShifts(const double h, const double v); + double getHShift() const; + double getVShift() const; + void setRotate(const double r); + double getRotate() const; + void setExtend(const double e); + double getExtend() const; + void setFlip(const bool f); + bool getFlip() const; Base::Vector3d m_start; Base::Vector3d m_end; @@ -137,8 +146,8 @@ public: std::vector m_faces; std::vector m_edges; std::vector m_verts; - int m_type; // 0 - face, 1 - 2 line, 2 - 2 point - int m_mode; // 0 - vert/ 1 - horiz/ 2 - aligned + int m_type; // CLTYPE enum + int m_mode; // CLMODE enum double m_hShift; double m_vShift; double m_rotate; @@ -166,4 +175,4 @@ protected: } // namespace TechDraw -#endif // TECHDRAW_CENTERLINE_H \ No newline at end of file +#endif // TECHDRAW_CENTERLINE_H diff --git a/src/Mod/TechDraw/App/CenterLinePyImp.cpp b/src/Mod/TechDraw/App/CenterLinePyImp.cpp index e6283ec02e..d0a0a6a3a9 100644 --- a/src/Mod/TechDraw/App/CenterLinePyImp.cpp +++ b/src/Mod/TechDraw/App/CenterLinePyImp.cpp @@ -26,6 +26,7 @@ #endif #include +#include #include "CenterLinePy.h" #include "DrawUtil.h" @@ -130,8 +131,8 @@ void CenterLinePy::setFormat(Py::Dict arg) double weight = 0.5; PyObject* pColor = color.ptr(); PyObject* visible = Py_True; - static char* kw[] = {"style", "weight", "color", "visible", nullptr}; - if (!PyArg_ParseTupleAndKeywords(dummy.ptr(), arg.ptr(), "|idO!O!", kw, + static const std::array kw{"style", "weight", "color", "visible", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(dummy.ptr(), arg.ptr(), "|idO!O!", kw, &style, &weight, &PyTuple_Type, &pColor, &PyBool_Type, &visible)) { throw Py::ValueError("Expected {'style':int, 'weight':float, 'color':tuple, 'visible':bool} dict"); } diff --git a/src/Mod/TechDraw/App/Cosmetic.cpp b/src/Mod/TechDraw/App/Cosmetic.cpp index f0ce813227..b991b8e14e 100644 --- a/src/Mod/TechDraw/App/Cosmetic.cpp +++ b/src/Mod/TechDraw/App/Cosmetic.cpp @@ -56,10 +56,10 @@ LineFormat::LineFormat() m_visible = true; } -LineFormat::LineFormat(int style, - double weight, - App::Color color, - bool visible) : +LineFormat::LineFormat(const int style, + const double weight, + const App::Color& color, + const bool visible) : m_style(style), m_weight(weight), m_color(color), @@ -112,7 +112,7 @@ CosmeticEdge::CosmeticEdge() initialize(); } -CosmeticEdge::CosmeticEdge(CosmeticEdge* ce) +CosmeticEdge::CosmeticEdge(const CosmeticEdge* ce) { // Base::Console().Message("CE::CE(ce)\n"); TechDraw::BaseGeomPtr newGeom = ce->m_geometry->copy(); @@ -125,18 +125,18 @@ CosmeticEdge::CosmeticEdge(CosmeticEdge* ce) initialize(); } -CosmeticEdge::CosmeticEdge(Base::Vector3d pt1, Base::Vector3d pt2) : +CosmeticEdge::CosmeticEdge(const Base::Vector3d& pt1, const Base::Vector3d& pt2) : // 🠓 returns TopoDS_Edge CosmeticEdge::CosmeticEdge(TopoDS_EdgeFromVectors(pt1, pt2)) { } // 🠓 returns TechDraw::BaseGeomPtr -CosmeticEdge::CosmeticEdge(TopoDS_Edge e) : CosmeticEdge(TechDraw::BaseGeom::baseFactory(e)) +CosmeticEdge::CosmeticEdge(const TopoDS_Edge& e) : CosmeticEdge(TechDraw::BaseGeom::baseFactory(e)) { } -CosmeticEdge::CosmeticEdge(TechDraw::BaseGeomPtr g) +CosmeticEdge::CosmeticEdge(const TechDraw::BaseGeomPtr g) { // Base::Console().Message("CE::CE(bg)\n"); m_geometry = g; @@ -169,7 +169,7 @@ void CosmeticEdge::initialize() m_geometry->setCosmeticTag(getTagAsString()); } -TopoDS_Edge CosmeticEdge::TopoDS_EdgeFromVectors(Base::Vector3d pt1, Base::Vector3d pt2) +TopoDS_Edge CosmeticEdge::TopoDS_EdgeFromVectors(const Base::Vector3d& pt1, const Base::Vector3d& pt2) { // Base::Console().Message("CE::CE(p1, p2)\n"); Base::Vector3d p1 = DrawUtil::invertY(pt1); @@ -179,10 +179,29 @@ TopoDS_Edge CosmeticEdge::TopoDS_EdgeFromVectors(Base::Vector3d pt1, Base::Vecto return BRepBuilderAPI_MakeEdge(gp1, gp2); } -TechDraw::BaseGeomPtr CosmeticEdge::scaledGeometry(double scale) +TechDraw::BaseGeomPtr CosmeticEdge::scaledGeometry(const double scale) { TopoDS_Edge e = m_geometry->getOCCEdge(); - TopoDS_Shape s = TechDraw::scaleShape(e, scale); + TopoDS_Shape s = ShapeUtils::scaleShape(e, scale); + TopoDS_Edge newEdge = TopoDS::Edge(s); + TechDraw::BaseGeomPtr newGeom = TechDraw::BaseGeom::baseFactory(newEdge); + newGeom->setClassOfEdge(ecHARD); + newGeom->setHlrVisible( true); + newGeom->setCosmetic(true); + newGeom->source(COSMETICEDGE); + newGeom->setCosmeticTag(getTagAsString()); + return newGeom; +} + +TechDraw::BaseGeomPtr CosmeticEdge::scaledAndRotatedGeometry(const double scale, const double rotDegrees) +{ + TopoDS_Edge e = m_geometry->getOCCEdge(); +// TopoDS_Shape s = TechDraw::scaleShape(e, scale); + // Mirror shape in Y and scale + TopoDS_Shape s = ShapeUtils::mirrorShape(e, gp_Pnt(0.0, 0.0, 0.0), scale); + // rotate using OXYZ as the coordinate system + s = ShapeUtils::rotateShape(s, gp_Ax2(), rotDegrees); + s = ShapeUtils::mirrorShape(s); TopoDS_Edge newEdge = TopoDS::Edge(s); TechDraw::BaseGeomPtr newGeom = TechDraw::BaseGeom::baseFactory(newEdge); newGeom->setClassOfEdge(ecHARD); @@ -207,7 +226,7 @@ std::string CosmeticEdge::toString() const return ss.str(); } -void CosmeticEdge::dump(const char* title) +void CosmeticEdge::dump(const char* title) const { Base::Console().Message("CE::dump - %s \n", title); Base::Console().Message("CE::dump - %s \n", toString().c_str()); @@ -313,7 +332,7 @@ void CosmeticEdge::createNewTag() tag = gen(); } -void CosmeticEdge::assignTag(const TechDraw::CosmeticEdge * ce) +void CosmeticEdge::assignTag(const TechDraw::CosmeticEdge* ce) { if(ce->getTypeId() == this->getTypeId()) this->tag = ce->tag; @@ -363,7 +382,7 @@ GeomFormat::GeomFormat() : createNewTag(); } -GeomFormat::GeomFormat(GeomFormat* gf) +GeomFormat::GeomFormat(const GeomFormat* gf) { m_geomIndex = gf->m_geomIndex; m_format.m_style = gf->m_format.m_style; @@ -374,8 +393,8 @@ GeomFormat::GeomFormat(GeomFormat* gf) createNewTag(); } -GeomFormat::GeomFormat(int idx, - TechDraw::LineFormat fmt) : +GeomFormat::GeomFormat(const int idx, + const TechDraw::LineFormat& fmt) : m_geomIndex(idx) { m_format.m_style = fmt.m_style; @@ -466,7 +485,7 @@ void GeomFormat::createNewTag() tag = gen(); } -void GeomFormat::assignTag(const TechDraw::GeomFormat * ce) +void GeomFormat::assignTag(const TechDraw::GeomFormat* ce) { if(ce->getTypeId() == this->getTypeId()) this->tag = ce->tag; diff --git a/src/Mod/TechDraw/App/Cosmetic.h b/src/Mod/TechDraw/App/Cosmetic.h index 360f8d371b..095ef3cea8 100644 --- a/src/Mod/TechDraw/App/Cosmetic.h +++ b/src/Mod/TechDraw/App/Cosmetic.h @@ -41,10 +41,10 @@ class TechDrawExport LineFormat { public: LineFormat(); - LineFormat(int style, - double weight, - App::Color color, - bool visible); + LineFormat(const int style, + const double weight, + const App::Color& color, + const bool visible); ~LineFormat() = default; int m_style; @@ -67,19 +67,20 @@ class TechDrawExport CosmeticEdge : public Base::Persistence, public TechDraw::B TYPESYSTEM_HEADER_WITH_OVERRIDE(); public: CosmeticEdge(); - CosmeticEdge(TechDraw::BaseGeomPtr* geometry); - CosmeticEdge(CosmeticEdge* ce); - CosmeticEdge(Base::Vector3d p1, Base::Vector3d p2); - CosmeticEdge(TopoDS_Edge e); - CosmeticEdge(TechDraw::BaseGeomPtr g); + CosmeticEdge(const TechDraw::BaseGeomPtr* geometry); + CosmeticEdge(const CosmeticEdge* ce); + CosmeticEdge(const Base::Vector3d& p1, const Base::Vector3d& p2); + CosmeticEdge(const TopoDS_Edge& e); + CosmeticEdge(const TechDraw::BaseGeomPtr g); ~CosmeticEdge() override; void initialize(); - TopoDS_Edge TopoDS_EdgeFromVectors(Base::Vector3d pt1, Base::Vector3d pt2); - TechDraw::BaseGeomPtr scaledGeometry(double scale); + TopoDS_Edge TopoDS_EdgeFromVectors(const Base::Vector3d& pt1, const Base::Vector3d& pt2); + TechDraw::BaseGeomPtr scaledGeometry(const double scale); + TechDraw::BaseGeomPtr scaledAndRotatedGeometry(const double scale, const double rotDegrees); std::string toString() const override; - void dump(const char* title); + void dump(const char* title) const; // Persistence implementer --------------------- unsigned int getMemSize() const override; @@ -119,9 +120,9 @@ class TechDrawExport GeomFormat: public Base::Persistence public: GeomFormat(); - explicit GeomFormat(TechDraw::GeomFormat* gf); - GeomFormat(int idx, - LineFormat fmt); + explicit GeomFormat(const TechDraw::GeomFormat* gf); + GeomFormat(const int idx, + const LineFormat& fmt); ~GeomFormat() override; // Persistence implementer --------------------- diff --git a/src/Mod/TechDraw/App/CosmeticEdgePyImp.cpp b/src/Mod/TechDraw/App/CosmeticEdgePyImp.cpp index df24c92eb5..b7e2671854 100644 --- a/src/Mod/TechDraw/App/CosmeticEdgePyImp.cpp +++ b/src/Mod/TechDraw/App/CosmeticEdgePyImp.cpp @@ -27,6 +27,8 @@ # include #endif +#include + #include "CosmeticEdgePy.h" #include "CosmeticEdgePy.cpp" #include "Cosmetic.h" @@ -122,9 +124,9 @@ void CosmeticEdgePy::setFormat(Py::Dict arg) double weight = 0.5; PyObject* pColor = color.ptr(); PyObject* visible = Py_True; - static char* kw[] = {"style", "weight", "color", "visible", nullptr}; - if (!PyArg_ParseTupleAndKeywords(dummy.ptr(), arg.ptr(), "|idO!O!", kw, - &style, &weight, &PyTuple_Type, &pColor, &PyBool_Type, &visible)) { + static const std::array kw{"style", "weight", "color", "visible", nullptr}; + if (!Base::Wrapped_ParseTupleAndKeywords(dummy.ptr(), arg.ptr(), "|idO!O!", kw, + &style, &weight, &PyTuple_Type, &pColor, &PyBool_Type, &visible)) { throw Py::ValueError("Expected {'style':int, 'weight':float, 'color':tuple, 'visible':bool} dict"); } diff --git a/src/Mod/TechDraw/App/CosmeticExtension.cpp b/src/Mod/TechDraw/App/CosmeticExtension.cpp index 00151124ae..7245d3f09e 100644 --- a/src/Mod/TechDraw/App/CosmeticExtension.cpp +++ b/src/Mod/TechDraw/App/CosmeticExtension.cpp @@ -30,10 +30,11 @@ #include "Cosmetic.h" #include "DrawUtil.h" #include "DrawViewPart.h" - +#include "GeometryObject.h" using namespace TechDraw; using namespace std; +using DU = DrawUtil; EXTENSION_PROPERTY_SOURCE(TechDraw::CosmeticExtension, App::DocumentObjectExtension) @@ -43,7 +44,7 @@ CosmeticExtension::CosmeticExtension() EXTENSION_ADD_PROPERTY_TYPE(CosmeticVertexes, (nullptr), cgroup, App::Prop_Output, "CosmeticVertex Save/Restore"); EXTENSION_ADD_PROPERTY_TYPE(CosmeticEdges, (nullptr), cgroup, App::Prop_Output, "CosmeticEdge Save/Restore"); - EXTENSION_ADD_PROPERTY_TYPE(CenterLines ,(nullptr), cgroup, App::Prop_Output, "Geometry format Save/Restore"); + EXTENSION_ADD_PROPERTY_TYPE(CenterLines ,(nullptr), cgroup, App::Prop_Output, "CenterLine Save/Restore"); EXTENSION_ADD_PROPERTY_TYPE(GeomFormats ,(nullptr), cgroup, App::Prop_Output, "Geometry format Save/Restore"); initExtensionType(CosmeticExtension::getExtensionClassTypeId()); @@ -51,13 +52,15 @@ CosmeticExtension::CosmeticExtension() CosmeticExtension::~CosmeticExtension() { + // do not free memory here as the destruction of the properties will + // delete any entries. } -//void CosmeticExtension::extHandleChangedPropertyName(Base::XMLReader &reader, -// const char* TypeName, -// const char* PropName) -//{ -//} +/// get a pointer to the parent view +TechDraw::DrawViewPart* CosmeticExtension::getOwner() +{ + return static_cast(getExtendedObject()); +} //============================================================================== //CosmeticVertex x, y are stored as unscaled, but mirrored (inverted Y) values. @@ -66,12 +69,103 @@ CosmeticExtension::~CosmeticExtension() //if you are creating a CV based on calculations of mirrored geometry, you need to //mirror again before creation. -//returns unique CV id -//only adds cv to cvlist property. does not add to display geometry until dvp executes. -std::string CosmeticExtension::addCosmeticVertex(Base::Vector3d pos) +// this is never called! +/// remove all the cosmetic vertices in the property list +void CosmeticExtension::clearCosmeticVertexes() +{ + std::vector cVerts = CosmeticVertexes.getValues(); + for (auto& vert : cVerts) { + delete vert; + } + std::vector noVerts; + CosmeticVertexes.setValues(noVerts); +} + +/// add the cosmetic verts in the property list to view's vertex geometry list +void CosmeticExtension::addCosmeticVertexesToGeom() +{ +// Base::Console().Message("CE::addCosmeticVertexesToGeom()\n"); + const std::vector cVerts = CosmeticVertexes.getValues(); + for (auto& cv : cVerts) { + double scale = getOwner()->getScale(); + double rotDegrees = getOwner()->Rotation.getValue(); + Base::Vector3d cvPosition = cv->rotatedAndScaled(scale, rotDegrees); + int iGV = getOwner()->getGeometryObject()->addCosmeticVertex(cvPosition, cv->getTagAsString()); + cv->linkGeom = iGV; + } +} + +/// add a single cosmetic vertex in the property list to the view's vertex geometry list +int CosmeticExtension::add1CVToGV(const std::string& tag) +{ +// Base::Console().Message("CE::add1CVToGV(%s)\n", tag.c_str()); + TechDraw::CosmeticVertex* cv = getCosmeticVertex(tag); + if (!cv) { + Base::Console().Message("CE::add1CVToGV - cv %s not found\n", tag.c_str()); + return 0; + } + double scale = getOwner()->getScale(); + double rotDegrees = getOwner()->Rotation.getValue(); + Base::Vector3d cvPosition = cv->rotatedAndScaled(scale, rotDegrees); + int iGV = getOwner()->getGeometryObject()->addCosmeticVertex(cvPosition, cv->getTagAsString()); + cv->linkGeom = iGV; + return iGV; +} + +/// update the parent view's vertex geometry with all the cosmetic vertices in the list property +void CosmeticExtension::refreshCVGeoms() +{ + // Base::Console().Message("CE::refreshCVGeoms()\n"); + + std::vector gVerts = getOwner()->getVertexGeometry(); + std::vector newGVerts; + for (auto& gv : gVerts) { + if (gv->getCosmeticTag().empty()) {//keep only non-cv vertices + newGVerts.push_back(gv); + } + } + getOwner()->getGeometryObject()->setVertexGeometry(newGVerts); + addCosmeticVertexesToGeom(); +} + +//what is the CV's position in the big geometry q +/// find the position of a cosmetic vertex with the given tag in the parent view's geometry list +int CosmeticExtension::getCVIndex(const std::string& tag) +{ + // Base::Console().Message("CE::getCVIndex(%s)\n", tag.c_str()); + std::vector gVerts = getOwner()->getVertexGeometry(); + std::vector cVerts = CosmeticVertexes.getValues(); + + int i = 0; + for (auto& gv : gVerts) { + if (gv->getCosmeticTag() == tag) { + return i; + } + i++; + } + + // Nothing found + int base = gVerts.size(); + i = 0; + for (auto& cv : cVerts) { + // Base::Console().Message("CE::getCVIndex - cv tag: %s\n", + // cv->getTagAsString().c_str()); + if (cv->getTagAsString() == tag) { + return base + i; + } + i++; + } + + // Base::Console().Message("CE::getCVIndex - returns: %d\n", result); + return -1; +} + +/// adds a cosmetic vertex to the property list. does not add to display geometry until dvp executes. +/// returns unique CV id +std::string CosmeticExtension::addCosmeticVertex(const Base::Vector3d& pos) { // Base::Console().Message("CEx::addCosmeticVertex(%s)\n", - // DrawUtil::formatVector(pos).c_str()); +// DrawUtil::formatVector(pos).c_str()); std::vector verts = CosmeticVertexes.getValues(); Base::Vector3d tempPos = DrawUtil::invertY(pos); TechDraw::CosmeticVertex* cv = new TechDraw::CosmeticVertex(tempPos); @@ -81,8 +175,8 @@ std::string CosmeticExtension::addCosmeticVertex(Base::Vector3d pos) return result; } -//get CV by unique id -TechDraw::CosmeticVertex* CosmeticExtension::getCosmeticVertex(std::string tagString) const +/// retrieve a cosmetic vertex by unique id +TechDraw::CosmeticVertex* CosmeticExtension::getCosmeticVertex(const std::string& tagString) const { // Base::Console().Message("CEx::getCosmeticVertex(%s)\n", tagString.c_str()); const std::vector verts = CosmeticVertexes.getValues(); @@ -95,9 +189,9 @@ TechDraw::CosmeticVertex* CosmeticExtension::getCosmeticVertex(std::string tagSt return nullptr; } -// find the cosmetic vertex corresponding to selection name (Vertex5) -// used when selecting -TechDraw::CosmeticVertex* CosmeticExtension::getCosmeticVertexBySelection(std::string name) const +/// retrieve a cosmetic vertex by selection name (Vertex5) +/// used when selecting +TechDraw::CosmeticVertex* CosmeticExtension::getCosmeticVertexBySelection(const std::string& name) const { // Base::Console().Message("CEx::getCVBySelection(%s)\n", name.c_str()); App::DocumentObject* extObj = const_cast (getExtendedObject()); @@ -113,8 +207,8 @@ TechDraw::CosmeticVertex* CosmeticExtension::getCosmeticVertexBySelection(std::s return getCosmeticVertex(v->getCosmeticTag()); } -//overload for index only -TechDraw::CosmeticVertex* CosmeticExtension::getCosmeticVertexBySelection(int i) const +/// retrieve a cosmetic vertex by index (the 5 in Vertex5) +TechDraw::CosmeticVertex* CosmeticExtension::getCosmeticVertexBySelection(const int i) const { // Base::Console().Message("CEx::getCVBySelection(%d)\n", i); std::stringstream ss; @@ -123,20 +217,24 @@ TechDraw::CosmeticVertex* CosmeticExtension::getCosmeticVertexBySelection(int i) return getCosmeticVertexBySelection(vName); } -void CosmeticExtension::removeCosmeticVertex(std::string delTag) +/// remove the cosmetic vertex with the given tag from the list property +void CosmeticExtension::removeCosmeticVertex(const std::string& delTag) { // Base::Console().Message("DVP::removeCV(%s)\n", delTag.c_str()); std::vector cVerts = CosmeticVertexes.getValues(); std::vector newVerts; for (auto& cv: cVerts) { - if (cv->getTagAsString() != delTag) { + if (cv->getTagAsString() == delTag) { + delete cv; + } else { newVerts.push_back(cv); } } CosmeticVertexes.setValues(newVerts); } -void CosmeticExtension::removeCosmeticVertex(std::vector delTags) +/// remove the cosmetic vertices with the given tags from the list property +void CosmeticExtension::removeCosmeticVertex(const std::vector& delTags) { for (auto& t: delTags) { removeCosmeticVertex(t); @@ -145,8 +243,68 @@ void CosmeticExtension::removeCosmeticVertex(std::vector delTags) //********** Cosmetic Edge ***************************************************** -//returns unique CE id -//only adds ce to celist property. does not add to display geometry until dvp executes. +// this is never called! +/// remove all the cosmetic edges for this view +void CosmeticExtension::clearCosmeticEdges() +{ + std::vector cEdges = CosmeticEdges.getValues(); + for (auto& edge : cEdges) { + delete edge; + } + std::vector noEdges; + CosmeticEdges.setValues(noEdges); +} + +/// add the cosmetic edges to geometry edge list +void CosmeticExtension::addCosmeticEdgesToGeom() +{ +// Base::Console().Message("CEx::addCosmeticEdgesToGeom()\n"); + const std::vector cEdges = CosmeticEdges.getValues(); + for (auto& ce : cEdges) { + double scale = getOwner()->getScale(); + double rotDegrees = getOwner()->Rotation.getValue(); + TechDraw::BaseGeomPtr scaledGeom = ce->scaledAndRotatedGeometry(scale, rotDegrees); + if (!scaledGeom) + continue; + // int iGE = + getOwner()->getGeometryObject()->addCosmeticEdge(scaledGeom, ce->getTagAsString()); + } +} + +/// add a single cosmetic edge to the geometry edge list +int CosmeticExtension::add1CEToGE(const std::string& tag) +{ + // Base::Console().Message("CEx::add1CEToGE(%s) 2\n", tag.c_str()); + TechDraw::CosmeticEdge* ce = getCosmeticEdge(tag); + if (!ce) { + Base::Console().Message("CEx::add1CEToGE 2 - ce %s not found\n", tag.c_str()); + return -1; + } + double scale = getOwner()->getScale(); + double rotDegrees = getOwner()->Rotation.getValue(); + TechDraw::BaseGeomPtr scaledGeom = ce->scaledAndRotatedGeometry(scale, rotDegrees); + int iGE = getOwner()->getGeometryObject()->addCosmeticEdge(scaledGeom, tag); + + return iGE; +} + +/// update Edge geometry with current CE's +void CosmeticExtension::refreshCEGeoms() +{ + // Base::Console().Message("CEx::refreshCEGeoms()\n"); + std::vector gEdges = getOwner()->getEdgeGeometry(); + std::vector oldGEdges; + for (auto& ge : gEdges) { + if (ge->source() != SourceType::COSEDGE) { + oldGEdges.push_back(ge); + } + } + getOwner()->getGeometryObject()->setEdgeGeometry(oldGEdges); + addCosmeticEdgesToGeom(); +} + +/// adds a new cosmetic edge to the list property. does not add to display geometry until dvp executes. +/// returns unique CE id std::string CosmeticExtension::addCosmeticEdge(Base::Vector3d start, Base::Vector3d end) { @@ -158,6 +316,8 @@ std::string CosmeticExtension::addCosmeticEdge(Base::Vector3d start, return ce->getTagAsString(); } +/// adds a new cosmetic edge to the list property. does not add to display geometry until dvp executes. +/// returns unique CE id std::string CosmeticExtension::addCosmeticEdge(TechDraw::BaseGeomPtr bg) { // Base::Console().Message("CEx::addCosmeticEdge(bg: %X)\n", bg); @@ -168,8 +328,8 @@ std::string CosmeticExtension::addCosmeticEdge(TechDraw::BaseGeomPtr bg) return ce->getTagAsString(); } -//get CE by unique id -TechDraw::CosmeticEdge* CosmeticExtension::getCosmeticEdge(std::string tagString) const +/// retrieve a CE by unique id +TechDraw::CosmeticEdge* CosmeticExtension::getCosmeticEdge(const std::string& tagString) const { // Base::Console().Message("CEx::getCosmeticEdge(%s)\n", tagString.c_str()); const std::vector edges = CosmeticEdges.getValues(); @@ -185,9 +345,9 @@ TechDraw::CosmeticEdge* CosmeticExtension::getCosmeticEdge(std::string tagString return nullptr; } -// find the cosmetic edge corresponding to selection name (Edge5) -// used when selecting -TechDraw::CosmeticEdge* CosmeticExtension::getCosmeticEdgeBySelection(std::string name) const +/// find the cosmetic edge corresponding to selection name (Edge5) +/// used when selecting +TechDraw::CosmeticEdge* CosmeticExtension::getCosmeticEdgeBySelection(const std::string& name) const { // Base::Console().Message("CEx::getCEBySelection(%s)\n", name.c_str()); App::DocumentObject* extObj = const_cast (getExtendedObject()); @@ -204,7 +364,7 @@ TechDraw::CosmeticEdge* CosmeticExtension::getCosmeticEdgeBySelection(std::strin return getCosmeticEdge(base->getCosmeticTag()); } -//overload for index only +/// find the cosmetic edge corresponding to the input parameter (the 5 in Edge5) TechDraw::CosmeticEdge* CosmeticExtension::getCosmeticEdgeBySelection(int i) const { // Base::Console().Message("CEx::getCEBySelection(%d)\n", i); @@ -213,20 +373,25 @@ TechDraw::CosmeticEdge* CosmeticExtension::getCosmeticEdgeBySelection(int i) con return getCosmeticEdgeBySelection(edgeName.str()); } -void CosmeticExtension::removeCosmeticEdge(std::string delTag) +/// remove the cosmetic edge with the given tag from the list property +void CosmeticExtension::removeCosmeticEdge(const std::string& delTag) { // Base::Console().Message("DVP::removeCE(%s)\n", delTag.c_str()); std::vector cEdges = CosmeticEdges.getValues(); std::vector newEdges; for (auto& ce: cEdges) { - if (ce->getTagAsString() != delTag) { + if (ce->getTagAsString() == delTag) { + delete ce; + } else { newEdges.push_back(ce); } } CosmeticEdges.setValues(newEdges); } -void CosmeticExtension::removeCosmeticEdge(std::vector delTags) + +/// remove the cosmetic edges with the given tags from the list property +void CosmeticExtension::removeCosmeticEdge(const std::vector& delTags) { for (auto& t: delTags) { removeCosmeticEdge(t); @@ -235,6 +400,62 @@ void CosmeticExtension::removeCosmeticEdge(std::vector delTags) //********** Center Line ******************************************************* +// this is never called! +void CosmeticExtension::clearCenterLines() +{ + std::vector cLines = CenterLines.getValues(); + for (auto& line : cLines) { + delete line; + } + std::vector noLines; + CenterLines.setValues(noLines); +} + +int CosmeticExtension::add1CLToGE(const std::string& tag) +{ + // Base::Console().Message("CEx::add1CLToGE(%s) 2\n", tag.c_str()); + TechDraw::CenterLine* cl = getCenterLine(tag); + if (!cl) { + Base::Console().Message("CEx::add1CLToGE 2 - cl %s not found\n", tag.c_str()); + return -1; + } + TechDraw::BaseGeomPtr scaledGeom = cl->scaledGeometry(getOwner()); + int iGE = getOwner()->getGeometryObject()->addCenterLine(scaledGeom, tag); + + return iGE; +} + +//update Edge geometry with current CL's +void CosmeticExtension::refreshCLGeoms() +{ + // Base::Console().Message("CE::refreshCLGeoms()\n"); + std::vector gEdges = getOwner()->getEdgeGeometry(); + std::vector newGEdges; + for (auto& ge : gEdges) { + if (ge->source() != SourceType::CENTERLINE) { + newGEdges.push_back(ge); + } + } + getOwner()->getGeometryObject()->setEdgeGeometry(newGEdges); + addCenterLinesToGeom(); +} + +//add the center lines to geometry Edges list +void CosmeticExtension::addCenterLinesToGeom() +{ + // Base::Console().Message("CE::addCenterLinesToGeom()\n"); + const std::vector lines = CenterLines.getValues(); + for (auto& cl : lines) { + TechDraw::BaseGeomPtr scaledGeom = cl->scaledGeometry(getOwner()); + if (!scaledGeom) { + Base::Console().Error("CE::addCenterLinesToGeom - scaledGeometry is null\n"); + continue; + } + // int idx = + getOwner()->getGeometryObject()->addCenterLine(scaledGeom, cl->getTagAsString()); + } +} + //returns unique CL id //only adds cl to cllist property. does not add to display geometry until dvp executes. std::string CosmeticExtension::addCenterLine(Base::Vector3d start, @@ -272,7 +493,7 @@ std::string CosmeticExtension::addCenterLine(TechDraw::BaseGeomPtr bg) //get CL by unique id -TechDraw::CenterLine* CosmeticExtension::getCenterLine(std::string tagString) const +TechDraw::CenterLine* CosmeticExtension::getCenterLine(const std::string& tagString) const { // Base::Console().Message("CEx::getCenterLine(%s)\n", tagString.c_str()); const std::vector cLines = CenterLines.getValues(); @@ -287,7 +508,7 @@ TechDraw::CenterLine* CosmeticExtension::getCenterLine(std::string tagString) co // find the center line corresponding to selection name (Edge5) // used when selecting -TechDraw::CenterLine* CosmeticExtension::getCenterLineBySelection(std::string name) const +TechDraw::CenterLine* CosmeticExtension::getCenterLineBySelection(const std::string& name) const { // Base::Console().Message("CEx::getCLBySelection(%s)\n", name.c_str()); App::DocumentObject* extObj = const_cast (getExtendedObject()); @@ -312,20 +533,22 @@ TechDraw::CenterLine* CosmeticExtension::getCenterLineBySelection(int i) const return getCenterLineBySelection(edgeName.str()); } -void CosmeticExtension::removeCenterLine(std::string delTag) +void CosmeticExtension::removeCenterLine(const std::string& delTag) { // Base::Console().Message("DVP::removeCL(%s)\n", delTag.c_str()); std::vector cLines = CenterLines.getValues(); std::vector newLines; for (auto& cl: cLines) { - if (cl->getTagAsString() != delTag) { + if (cl->getTagAsString() == delTag) { + delete cl; + } else { newLines.push_back(cl); } } CenterLines.setValues(newLines); } -void CosmeticExtension::removeCenterLine(std::vector delTags) +void CosmeticExtension::removeCenterLine(const std::vector& delTags) { for (auto& t: delTags) { removeCenterLine(t); @@ -334,6 +557,17 @@ void CosmeticExtension::removeCenterLine(std::vector delTags) //********** Geometry Formats ************************************************** + +void CosmeticExtension::clearGeomFormats() +{ + std::vector noFormats; + std::vector fmts = GeomFormats.getValues(); + GeomFormats.setValues(noFormats); + for (auto& f : fmts) { + delete f; + } +} + //returns unique GF id //only adds gf to gflist property. does not add to display geometry until dvp repaints. std::string CosmeticExtension::addGeomFormat(TechDraw::GeomFormat* gf) @@ -348,7 +582,7 @@ std::string CosmeticExtension::addGeomFormat(TechDraw::GeomFormat* gf) //get GF by unique id -TechDraw::GeomFormat* CosmeticExtension::getGeomFormat(std::string tagString) const +TechDraw::GeomFormat* CosmeticExtension::getGeomFormat(const std::string& tagString) const { // Base::Console().Message("CEx::getGeomFormat(%s)\n", tagString.c_str()); const std::vector formats = GeomFormats.getValues(); @@ -365,7 +599,7 @@ TechDraw::GeomFormat* CosmeticExtension::getGeomFormat(std::string tagString) co // find the cosmetic edge corresponding to selection name (Edge5) // used when selecting -TechDraw::GeomFormat* CosmeticExtension::getGeomFormatBySelection(std::string name) const +TechDraw::GeomFormat* CosmeticExtension::getGeomFormatBySelection(const std::string& name) const { // Base::Console().Message("CEx::getCEBySelection(%s)\n", name.c_str()); App::DocumentObject* extObj = const_cast (getExtendedObject()); @@ -394,7 +628,7 @@ TechDraw::GeomFormat* CosmeticExtension::getGeomFormatBySelection(int i) const return getGeomFormatBySelection(edgeName.str()); } -void CosmeticExtension::removeGeomFormat(std::string delTag) +void CosmeticExtension::removeGeomFormat(const std::string& delTag) { // Base::Console().Message("DVP::removeCE(%s)\n", delTag.c_str()); std::vector cFormats = GeomFormats.getValues(); diff --git a/src/Mod/TechDraw/App/CosmeticExtension.h b/src/Mod/TechDraw/App/CosmeticExtension.h index 02daf18041..3b7f024dae 100644 --- a/src/Mod/TechDraw/App/CosmeticExtension.h +++ b/src/Mod/TechDraw/App/CosmeticExtension.h @@ -51,36 +51,51 @@ public: TechDraw::PropertyCenterLineList CenterLines; TechDraw::PropertyGeomFormatList GeomFormats; //formats for geometric edges - virtual std::string addCosmeticVertex(Base::Vector3d pos); - virtual CosmeticVertex* getCosmeticVertexBySelection(std::string name) const; - virtual CosmeticVertex* getCosmeticVertexBySelection(int i) const; - virtual CosmeticVertex* getCosmeticVertex(std::string id) const; - virtual void removeCosmeticVertex(std::string tag); - virtual void removeCosmeticVertex(std::vector delTags); + virtual CosmeticVertex* getCosmeticVertexBySelection(const int i) const; + virtual CosmeticVertex* getCosmeticVertexBySelection(const std::string& name) const; + virtual CosmeticVertex* getCosmeticVertex(const std::string& tag) const; + virtual int add1CVToGV(const std::string& tag); + virtual int getCVIndex(const std::string& tag); + virtual std::string addCosmeticVertex(const Base::Vector3d& pos); + virtual void addCosmeticVertexesToGeom(); + virtual void clearCosmeticVertexes(); + virtual void refreshCVGeoms(); + virtual void removeCosmeticVertex(const std::string& tag); + virtual void removeCosmeticVertex(const std::vector& tags); virtual std::string addCosmeticEdge(Base::Vector3d start, Base::Vector3d end); virtual std::string addCosmeticEdge(TechDraw::BaseGeomPtr bg); - virtual CosmeticEdge* getCosmeticEdgeBySelection(std::string name) const; + virtual CosmeticEdge* getCosmeticEdgeBySelection(const std::string& name) const; virtual CosmeticEdge* getCosmeticEdgeBySelection(int i) const; - virtual CosmeticEdge* getCosmeticEdge(std::string id) const; - virtual void removeCosmeticEdge(std::string tag); - virtual void removeCosmeticEdge(std::vector delTags); + virtual CosmeticEdge* getCosmeticEdge(const std::string& id) const; + virtual void removeCosmeticEdge(const std::string& tag); + virtual void removeCosmeticEdge(const std::vector& delTags); + virtual void clearCosmeticEdges(); + virtual int add1CEToGE(const std::string& tag); + virtual void addCosmeticEdgesToGeom(); + virtual void refreshCEGeoms(); + virtual void refreshCLGeoms(); + virtual void addCenterLinesToGeom(); + virtual int add1CLToGE(const std::string &tag); virtual std::string addCenterLine(Base::Vector3d start, Base::Vector3d end); virtual std::string addCenterLine(TechDraw::CenterLine* cl); virtual std::string addCenterLine(TechDraw::BaseGeomPtr bg); - virtual CenterLine* getCenterLineBySelection(std::string name) const; + virtual CenterLine* getCenterLineBySelection(const std::string& name) const; virtual CenterLine* getCenterLineBySelection(int i) const; - virtual CenterLine* getCenterLine(std::string tag) const; - virtual void removeCenterLine(std::string tag); - virtual void removeCenterLine(std::vector delTags); + virtual CenterLine* getCenterLine(const std::string& tag) const; + virtual void removeCenterLine(const std::string& tag); + virtual void removeCenterLine(const std::vector& delTags); + virtual void clearCenterLines(); virtual std::string addGeomFormat(TechDraw::GeomFormat* gf); - virtual GeomFormat* getGeomFormatBySelection(std::string name) const; + virtual GeomFormat* getGeomFormatBySelection(const std::string& name) const; virtual GeomFormat* getGeomFormatBySelection(int i) const; - virtual GeomFormat* getGeomFormat(std::string id) const; - virtual void removeGeomFormat(std::string tag); + virtual GeomFormat* getGeomFormat(const std::string& id) const; + virtual void removeGeomFormat(const std::string& tag); + virtual void clearGeomFormats(); + TechDraw::DrawViewPart* getOwner(); PyObject* getExtensionPyObject() override; diff --git a/src/Mod/TechDraw/App/CosmeticVertex.cpp b/src/Mod/TechDraw/App/CosmeticVertex.cpp index 7e02cc5518..922a905110 100644 --- a/src/Mod/TechDraw/App/CosmeticVertex.cpp +++ b/src/Mod/TechDraw/App/CosmeticVertex.cpp @@ -35,9 +35,11 @@ #include "CosmeticVertexPy.h" #include "LineGroup.h" #include "Preferences.h" +#include "DrawUtil.h" using namespace TechDraw; using namespace std; +using DU = DrawUtil; TYPESYSTEM_SOURCE(TechDraw::CosmeticVertex, Base::Persistence) @@ -71,8 +73,9 @@ CosmeticVertex::CosmeticVertex(const TechDraw::CosmeticVertex* cv) : TechDraw::V createNewTag(); } -CosmeticVertex::CosmeticVertex(Base::Vector3d loc) : TechDraw::Vertex(loc) +CosmeticVertex::CosmeticVertex(const Base::Vector3d& loc) : TechDraw::Vertex(loc) { +// Base::Console().Message("CV::CV(%s)\n", DU::formatVector(loc).c_str()); permaPoint = loc; linkGeom = -1; color = Preferences::vertexColor(); @@ -87,12 +90,12 @@ CosmeticVertex::CosmeticVertex(Base::Vector3d loc) : TechDraw::Vertex(loc) } -void CosmeticVertex::move(Base::Vector3d newPos) +void CosmeticVertex::move(const Base::Vector3d& newPos) { permaPoint = newPos; } -void CosmeticVertex::moveRelative(Base::Vector3d movement) +void CosmeticVertex::moveRelative(const Base::Vector3d& movement) { permaPoint += movement; } @@ -172,11 +175,23 @@ void CosmeticVertex::Restore(Base::XMLReader &reader) tag = u1; } -Base::Vector3d CosmeticVertex::scaled(double factor) +Base::Vector3d CosmeticVertex::scaled(const double factor) { return permaPoint * factor; } +Base::Vector3d CosmeticVertex::rotatedAndScaled(const double scale, const double rotDegrees) +{ + Base::Vector3d scaledPoint = scaled(scale); + if (rotDegrees != 0.0) { + // invert the Y coordinate so the rotation math works out + scaledPoint = DU::invertY(scaledPoint); + scaledPoint.RotateZ(rotDegrees * M_PI / 180.0); + scaledPoint = DU::invertY(scaledPoint); + } + return scaledPoint; +} + boost::uuids::uuid CosmeticVertex::getTag() const { return tag; @@ -202,7 +217,7 @@ void CosmeticVertex::createNewTag() tag = gen(); } -void CosmeticVertex::assignTag(const TechDraw::CosmeticVertex * cv) +void CosmeticVertex::assignTag(const TechDraw::CosmeticVertex* cv) { if(cv->getTypeId() == this->getTypeId()) this->tag = cv->tag; @@ -233,7 +248,7 @@ PyObject* CosmeticVertex::getPyObject() return Py::new_reference_to(PythonObject); } - +// To do: make const void CosmeticVertex::dump(const char* title) { Base::Console().Message("CV::dump - %s \n", title); diff --git a/src/Mod/TechDraw/App/CosmeticVertex.h b/src/Mod/TechDraw/App/CosmeticVertex.h index 659a42468b..61e3d7ab87 100644 --- a/src/Mod/TechDraw/App/CosmeticVertex.h +++ b/src/Mod/TechDraw/App/CosmeticVertex.h @@ -44,15 +44,16 @@ class TechDrawExport CosmeticVertex: public Base::Persistence, public TechDraw:: public: CosmeticVertex(); CosmeticVertex(const CosmeticVertex* cv); - CosmeticVertex(Base::Vector3d loc); + CosmeticVertex(const Base::Vector3d& loc); ~CosmeticVertex() override = default; - void move(Base::Vector3d newPos); - void moveRelative(Base::Vector3d movement); + void move(const Base::Vector3d& newPos); + void moveRelative(const Base::Vector3d& movement); std::string toString() const; void dump(const char* title) override; - Base::Vector3d scaled(double factor); + Base::Vector3d scaled(const double factor); + Base::Vector3d rotatedAndScaled(const double scale, const double rotDegrees); static bool restoreCosmetic(); diff --git a/src/Mod/TechDraw/App/DimensionFormatter.cpp b/src/Mod/TechDraw/App/DimensionFormatter.cpp index 6428bbd201..7508a9d9c4 100644 --- a/src/Mod/TechDraw/App/DimensionFormatter.cpp +++ b/src/Mod/TechDraw/App/DimensionFormatter.cpp @@ -51,14 +51,15 @@ bool DimensionFormatter::isMultiValueSchema() const return false; } +// Todo: make this enum //partial = 0 return the unaltered user string from the Units subsystem //partial = 1 return value formatted according to the format spec and preferences for // useAltDecimals and showUnits //partial = 2 return only the unit of measure -std::string DimensionFormatter::formatValue(qreal value, - QString qFormatSpec, - int partial, - bool isDim) +std::string DimensionFormatter::formatValue(const qreal value, + const QString& qFormatSpec, + const int partial, + const bool isDim) const { // Base::Console().Message("DF::formatValue() - %s isRestoring: %d\n", // m_dimension->getNameInDocument(), m_dimension->isRestoring()); @@ -190,7 +191,7 @@ std::string DimensionFormatter::formatValue(qreal value, return formattedValueString; } -std::string DimensionFormatter::getFormattedToleranceValue(int partial) +std::string DimensionFormatter::getFormattedToleranceValue(const int partial) const { QString FormatSpec = QString::fromUtf8(m_dimension->FormatSpecOverTolerance.getStrValue().data()); QString ToleranceString; @@ -207,7 +208,7 @@ std::string DimensionFormatter::getFormattedToleranceValue(int partial) } //get over and under tolerances -std::pair DimensionFormatter::getFormattedToleranceValues(int partial) +std::pair DimensionFormatter::getFormattedToleranceValues(const int partial) const { QString underFormatSpec = QString::fromUtf8(m_dimension->FormatSpecUnderTolerance.getStrValue().data()); QString overFormatSpec = QString::fromUtf8(m_dimension->FormatSpecOverTolerance.getStrValue().data()); @@ -251,7 +252,7 @@ std::pair DimensionFormatter::getFormattedToleranceVal } //partial = 2 unit only -std::string DimensionFormatter::getFormattedDimensionValue(int partial) +std::string DimensionFormatter::getFormattedDimensionValue(const int partial) const { QString qFormatSpec = QString::fromUtf8(m_dimension->FormatSpec.getStrValue().data()); @@ -308,7 +309,7 @@ std::string DimensionFormatter::getFormattedDimensionValue(int partial) // format the value using the formatSpec. Also, handle the non-standard format- // specifier '%w', which has the following rules: works as %f, but no trailing zeros -QString DimensionFormatter::formatValueToSpec(double value, QString formatSpecifier) +QString DimensionFormatter::formatValueToSpec(const double value, const QString& formatSpecifier) const { QString formattedValue; if (formatSpecifier.contains(QRegularExpression(QStringLiteral("%.*[wW]")))) { @@ -329,7 +330,7 @@ QString DimensionFormatter::formatValueToSpec(double value, QString formatSpecif return formattedValue; } -bool DimensionFormatter::isNumericFormat(QString formatSpecifier) +bool DimensionFormatter::isNumericFormat(const QString& formatSpecifier) const { QRegularExpression rxFormat(QStringLiteral("%[+-]?[0-9]*\\.*[0-9]*[aefgwAEFGW]")); //printf double format spec QRegularExpressionMatch rxMatch; @@ -341,7 +342,7 @@ bool DimensionFormatter::isNumericFormat(QString formatSpecifier) } //TODO: similar code here and above -QStringList DimensionFormatter::getPrefixSuffixSpec(QString fSpec) +QStringList DimensionFormatter::getPrefixSuffixSpec(const QString& fSpec) const { QStringList result; //find the %x.y tag in FormatSpec @@ -404,7 +405,7 @@ std::string DimensionFormatter::getDefaultFormatSpec(bool isToleranceFormat) con } //true if value is too small to display using formatSpec -bool DimensionFormatter::isTooSmall(double value, QString formatSpec) +bool DimensionFormatter::isTooSmall(const double value, const QString& formatSpec) const { if (TechDraw::DrawUtil::fpCompare(value, 0.0)) { //zero values always fit, so it isn't too small diff --git a/src/Mod/TechDraw/App/DimensionFormatter.h b/src/Mod/TechDraw/App/DimensionFormatter.h index 30c8c8b792..e12430fa28 100644 --- a/src/Mod/TechDraw/App/DimensionFormatter.h +++ b/src/Mod/TechDraw/App/DimensionFormatter.h @@ -38,18 +38,18 @@ public: void setDimension(DrawViewDimension* dim) { m_dimension = dim; } bool isMultiValueSchema() const; - std::string formatValue(qreal value, - QString qFormatSpec, - int partial, - bool isDim); - std::string getFormattedToleranceValue(int partial); - std::pair getFormattedToleranceValues(int partial); - std::string getFormattedDimensionValue(int partial); - QStringList getPrefixSuffixSpec(QString fSpec); + std::string formatValue(const qreal value, + const QString& qFormatSpec, + const int partial, + const bool isDim) const; + std::string getFormattedToleranceValue(const int partial) const; + std::pair getFormattedToleranceValues(const int partial) const; + std::string getFormattedDimensionValue(const int partial) const; + QStringList getPrefixSuffixSpec(const QString& fSpec) const; std::string getDefaultFormatSpec(bool isToleranceFormat) const; - bool isTooSmall(double value, QString formatSpec); - QString formatValueToSpec(double value, QString formatSpecifier); - bool isNumericFormat(QString formatSpecifier); + bool isTooSmall(const double value, const QString& formatSpec) const; + QString formatValueToSpec(const double value, const QString& formatSpecifier) const; + bool isNumericFormat(const QString& formatSpecifier) const; private: DrawViewDimension* m_dimension; diff --git a/src/Mod/TechDraw/App/DimensionGeometry.cpp b/src/Mod/TechDraw/App/DimensionGeometry.cpp index a6b4ffd479..9ae4e44008 100644 --- a/src/Mod/TechDraw/App/DimensionGeometry.cpp +++ b/src/Mod/TechDraw/App/DimensionGeometry.cpp @@ -44,14 +44,14 @@ pointPair::pointPair(const pointPair& pp) } //move the points by offset -void pointPair::move(Base::Vector3d offset) +void pointPair::move(const Base::Vector3d& offset) { m_first = m_first - offset; m_second = m_second - offset; } // project the points onto the dvp's paper plane. -void pointPair::project(DrawViewPart* dvp) +void pointPair::project(const DrawViewPart* dvp) { m_first = dvp->projectPoint(m_first) * dvp->getScale(); m_second = dvp->projectPoint(m_second) * dvp->getScale(); @@ -60,7 +60,7 @@ void pointPair::project(DrawViewPart* dvp) // map the points onto the dvp's XY coordinate system // this routine is no longer needed since we now use the hlr projector instead // of "projectToPlane" from Vector3d -void pointPair::mapToPage(DrawViewPart* dvp) +void pointPair::mapToPage(const DrawViewPart* dvp) { gp_Trsf xOXYZ; gp_Ax3 OXYZ; @@ -80,7 +80,7 @@ void pointPair::invertY() m_second = DU::invertY(m_second); } -void pointPair::dump(std::string text) const +void pointPair::dump(const std::string& text) const { Base::Console().Message("pointPair - %s\n", text.c_str()); Base::Console().Message("pointPair - first: %s second: %s\n", @@ -104,14 +104,14 @@ anglePoints& anglePoints::operator=(const anglePoints& ap) } // move the points by offset -void anglePoints::move(Base::Vector3d offset) +void anglePoints::move(const Base::Vector3d& offset) { m_ends.move(offset); m_vertex = m_vertex - offset; } // project the points onto the dvp's paper plane. -void anglePoints::project(DrawViewPart* dvp) +void anglePoints::project(const DrawViewPart* dvp) { m_ends.project(dvp); m_vertex = dvp->projectPoint(m_vertex) * dvp->getScale(); @@ -119,7 +119,7 @@ void anglePoints::project(DrawViewPart* dvp) // map the points onto the dvp's XY coordinate system // obsolete. see above. -void anglePoints::mapToPage(DrawViewPart* dvp) +void anglePoints::mapToPage(const DrawViewPart* dvp) { m_ends.mapToPage(dvp); @@ -138,7 +138,7 @@ void anglePoints::invertY() m_vertex = DU::invertY(m_vertex); } -void anglePoints::dump(std::string text) const +void anglePoints::dump(const std::string& text) const { Base::Console().Message("anglePoints - %s\n", text.c_str()); Base::Console().Message("anglePoints - ends - first: %s second: %s\n", @@ -171,7 +171,7 @@ arcPoints& arcPoints::operator=(const arcPoints& ap) return *this; } -void arcPoints::move(Base::Vector3d offset) +void arcPoints::move(const Base::Vector3d& offset) { center = center - offset; onCurve.first(onCurve.first() - offset); @@ -181,7 +181,7 @@ void arcPoints::move(Base::Vector3d offset) midArc = midArc - offset; } -void arcPoints::project(DrawViewPart* dvp) +void arcPoints::project(const DrawViewPart* dvp) { radius = radius * dvp->getScale(); center = dvp->projectPoint(center) * dvp->getScale(); @@ -193,7 +193,7 @@ void arcPoints::project(DrawViewPart* dvp) } // obsolete. see above -void arcPoints::mapToPage(DrawViewPart* dvp) +void arcPoints::mapToPage(const DrawViewPart* dvp) { gp_Trsf xOXYZ; gp_Ax3 OXYZ; @@ -222,7 +222,7 @@ void arcPoints::invertY() midArc = DU::invertY(midArc); } -void arcPoints::dump(std::string text) const +void arcPoints::dump(const std::string& text) const { Base::Console().Message("arcPoints - %s\n", text.c_str()); Base::Console().Message("arcPoints - radius: %.3f center: %s\n", radius, diff --git a/src/Mod/TechDraw/App/DimensionGeometry.h b/src/Mod/TechDraw/App/DimensionGeometry.h index 70df54e64e..1052235786 100644 --- a/src/Mod/TechDraw/App/DimensionGeometry.h +++ b/src/Mod/TechDraw/App/DimensionGeometry.h @@ -38,10 +38,10 @@ class TechDrawExport pointPair { public: pointPair() = default; - pointPair(Base::Vector3d point0, Base::Vector3d point1) { m_first = point0; m_second = point1; } + pointPair(const Base::Vector3d& point0, const Base::Vector3d& point1) { m_first = point0; m_second = point1; } pointPair(const pointPair& pp); - pointPair& operator= (const pointPair& pp) { + pointPair& operator=(const pointPair& pp) { m_first = pp.first(); m_second = pp.second(); return *this; @@ -52,11 +52,11 @@ public: Base::Vector3d second() const { return m_second; } void second(Base::Vector3d newSecond) { m_second = newSecond; } - void move(Base::Vector3d offset); - void project(DrawViewPart* dvp); - void mapToPage(DrawViewPart* dvp); + void move(const Base::Vector3d& offset); + void project(const DrawViewPart* dvp); + void mapToPage(const DrawViewPart* dvp); void invertY(); - void dump(std::string text) const; + void dump(const std::string& text) const; private: Base::Vector3d m_first; @@ -68,26 +68,26 @@ class TechDrawExport anglePoints { public: anglePoints(); - anglePoints(Base::Vector3d apex, Base::Vector3d point0, Base::Vector3d point1) { + anglePoints(const Base::Vector3d& apex, const Base::Vector3d& point0, Base::Vector3d point1) { vertex(apex); first(point0); second(point1); } anglePoints(const anglePoints& ap); anglePoints& operator= (const anglePoints& ap); pointPair ends() const { return m_ends; } - void ends(pointPair newEnds) { m_ends = newEnds; } + void ends(const pointPair& newEnds) { m_ends = newEnds; } Base::Vector3d first() const { return m_ends.first(); } - void first(Base::Vector3d newFirst) { m_ends.first(newFirst); } + void first(const Base::Vector3d& newFirst) { m_ends.first(newFirst); } Base::Vector3d second() const { return m_ends.second(); } - void second(Base::Vector3d newSecond) { m_ends.second(newSecond); } + void second(const Base::Vector3d& newSecond) { m_ends.second(newSecond); } Base::Vector3d vertex() const { return m_vertex; } - void vertex(Base::Vector3d newVertex) { m_vertex = newVertex; } + void vertex(const Base::Vector3d& newVertex) { m_vertex = newVertex; } - void move(Base::Vector3d offset); - void project(DrawViewPart* dvp); - void mapToPage(DrawViewPart* dvp); + void move(const Base::Vector3d& offset); + void project(const DrawViewPart* dvp); + void mapToPage(const DrawViewPart* dvp); void invertY(); - void dump(std::string text) const; + void dump(const std::string& text) const; private: pointPair m_ends; @@ -103,11 +103,11 @@ public: arcPoints& operator= (const arcPoints& ap); - void move(Base::Vector3d offset); - void project(DrawViewPart* dvp); - void mapToPage(DrawViewPart* dvp); + void move(const Base::Vector3d& offset); + void project(const DrawViewPart* dvp); + void mapToPage(const DrawViewPart* dvp); void invertY(); - void dump(std::string text) const; + void dump(const std::string& text) const; //TODO: setters and getters bool isArc; diff --git a/src/Mod/TechDraw/App/DimensionReferences.cpp b/src/Mod/TechDraw/App/DimensionReferences.cpp index 80669d7db5..a886a9391f 100644 --- a/src/Mod/TechDraw/App/DimensionReferences.cpp +++ b/src/Mod/TechDraw/App/DimensionReferences.cpp @@ -138,7 +138,7 @@ Part::TopoShape ReferenceEntry::asTopoShapeEdge(TopoDS_Edge &edge) const if (!is3d()) { // 2d reference - projected and scaled. scale might have changed, so we need to unscale auto dvp = static_cast(getObject()); - TopoDS_Shape unscaledShape = TechDraw::scaleShape(edge, 1.0 / dvp->getScale()); + TopoDS_Shape unscaledShape = ShapeUtils::scaleShape(edge, 1.0 / dvp->getScale()); unscaledEdge = TopoDS::Edge(unscaledShape); } return { unscaledEdge }; diff --git a/src/Mod/TechDraw/App/DrawComplexSection.cpp b/src/Mod/TechDraw/App/DrawComplexSection.cpp index 036bba6831..2e20052a4e 100644 --- a/src/Mod/TechDraw/App/DrawComplexSection.cpp +++ b/src/Mod/TechDraw/App/DrawComplexSection.cpp @@ -121,6 +121,7 @@ #include "DrawComplexSection.h" #include "DrawUtil.h" #include "GeometryObject.h" +#include "ShapeUtils.h" using namespace TechDraw; using namespace std; @@ -147,32 +148,6 @@ DrawComplexSection::DrawComplexSection() "Make a single cut, or use the profile in pieces"); } -TopoDS_Shape DrawComplexSection::getShapeToCut() -{ - // Base::Console().Message("DCS::getShapeToCut()\n"); - App::DocumentObject* base = BaseView.getValue(); - TopoDS_Shape shapeToCut; - if (base && base == this) { - shapeToCut = getSourceShape(); - if (FuseBeforeCut.getValue()) { - shapeToCut = getSourceShapeFused(); - } - return shapeToCut; - } - if (!base - || !base->getTypeId().isDerivedFrom( - TechDraw::DrawViewPart::getClassTypeId())) {//is second clause necessary? - //Complex section is based on 3d objects, need to get our own shapes since we can't ask a dvp - shapeToCut = getSourceShape(); - if (FuseBeforeCut.getValue()) { - shapeToCut = getSourceShapeFused(); - } - return shapeToCut; - } - //complex section is based on a DVP, so get the shape the normal way - return DrawViewSection::getShapeToCut(); -} - TopoDS_Shape DrawComplexSection::makeCuttingTool(double dMax) { // Base::Console().Message("DCS::makeCuttingTool()\n"); @@ -282,12 +257,11 @@ TopoDS_Shape DrawComplexSection::prepareShape(const TopoDS_Shape& cutShape, doub return TopoDS_Shape(); } - TopoDS_Shape centeredShape = TechDraw::centerShapeXY(m_alignResult, getProjectionCS()); - // m_preparedShape = scaleShape(m_alignResult, getScale()); - m_preparedShape = scaleShape(centeredShape, getScale()); + TopoDS_Shape centeredShape = ShapeUtils::centerShapeXY(m_alignResult, getProjectionCS()); + m_preparedShape = ShapeUtils::scaleShape(centeredShape, getScale()); if (!DrawUtil::fpCompare(Rotation.getValue(), 0.0)) { m_preparedShape = - TechDraw::rotateShape(m_preparedShape, getProjectionCS(), Rotation.getValue()); + ShapeUtils::rotateShape(m_preparedShape, getProjectionCS(), Rotation.getValue()); } return m_preparedShape; @@ -420,7 +394,7 @@ void DrawComplexSection::makeAlignedPieces(const TopoDS_Shape& rawShape) //move intersection shape to the origin gp_Trsf xPieceCenter; - xPieceCenter.SetTranslation(gp_Vec(findCentroid(intersect).XYZ()) * -1.0); + xPieceCenter.SetTranslation(gp_Vec(ShapeUtils::findCentroid(intersect).XYZ()) * -1.0); BRepBuilderAPI_Transform mkTransXLate(intersect, xPieceCenter, true); TopoDS_Shape pieceCentered = mkTransXLate.Shape(); @@ -462,7 +436,7 @@ void DrawComplexSection::makeAlignedPieces(const TopoDS_Shape& rawShape) //with the paper plane //yVector is movement of cut face to paperPlane (XZ) gp_Vec yVector(gp::OY().Direction().XYZ() * pieceYSize / 2.0);//move "back" - gp_Vec netDisplacement = -1.0 * gp_Vec(findCentroid(pieceAligned).XYZ()) + yVector; + gp_Vec netDisplacement = -1.0 * gp_Vec(ShapeUtils::findCentroid(pieceAligned).XYZ()) + yVector; //if we are going to space along X, we need to bring the pieces back into alignment //with the XY plane. If we are stacking the pieces along Z, we don't want a vertical adjustment. gp_Vec xyDisplacement = @@ -524,7 +498,7 @@ void DrawComplexSection::makeAlignedPieces(const TopoDS_Shape& rawShape) //center the compound along SectionCS XDirection Base::Vector3d centerVector = DU::toVector3d(gMovementVector) * distanceToMove / -2.0; - TopoDS_Shape centeredCompound = moveShape(comp, centerVector); + TopoDS_Shape centeredCompound = ShapeUtils::moveShape(comp, centerVector); if (debugSection()) { BRepTools::Write(centeredCompound, "DCSmap40CenteredCompound.brep");//debug } @@ -822,8 +796,8 @@ TopoDS_Wire DrawComplexSection::makeSectionLineWire() if (baseDvp) { Base::Vector3d centroid = baseDvp->getCurrentCentroid(); TopoDS_Shape sTrans = - TechDraw::moveShape(Part::Feature::getShape(toolObj), centroid * -1.0); - TopoDS_Shape sScaled = TechDraw::scaleShape(sTrans, baseDvp->getScale()); + ShapeUtils::ShapeUtils::moveShape(Part::Feature::getShape(toolObj), centroid * -1.0); + TopoDS_Shape sScaled = ShapeUtils::scaleShape(sTrans, baseDvp->getScale()); //we don't mirror the scaled shape here as it will be mirrored by the projection if (sScaled.ShapeType() == TopAbs_WIRE) { diff --git a/src/Mod/TechDraw/App/DrawComplexSection.h b/src/Mod/TechDraw/App/DrawComplexSection.h index 9da0e55f4d..96ff8f81c1 100644 --- a/src/Mod/TechDraw/App/DrawComplexSection.h +++ b/src/Mod/TechDraw/App/DrawComplexSection.h @@ -46,7 +46,6 @@ public: App::PropertyLink CuttingToolWireObject; App::PropertyEnumeration ProjectionStrategy;//Offset or Aligned - TopoDS_Shape getShapeToCut() override; TopoDS_Shape makeCuttingTool(double dMax) override; gp_Ax2 getCSFromBase(const std::string sectionName) const override; bool isBaseValid() const override; diff --git a/src/Mod/TechDraw/App/DrawDimHelper.cpp b/src/Mod/TechDraw/App/DrawDimHelper.cpp index 73e188c31e..d2f7f1083f 100644 --- a/src/Mod/TechDraw/App/DrawDimHelper.cpp +++ b/src/Mod/TechDraw/App/DrawDimHelper.cpp @@ -82,7 +82,9 @@ void DrawDimHelper::makeExtentDim(DrawViewPart* dvp, std::vector ed std::string dimName = doc->getUniqueObjectName("DimExtent"); Base::Interpreter().runStringArg( "App.activeDocument().addObject('TechDraw::DrawViewDimExtent', '%s')", dimName.c_str()); - Base::Interpreter().runStringArg( + Base::Interpreter().runStringArg( + "App.activeDocument().%s.translateLabel('DrawViewDimExtent', 'DimExtent', '%s')", + dimName.c_str(), dimName.c_str()); Base::Interpreter().runStringArg( "App.activeDocument().%s.Type = '%s'", dimName.c_str(), dimType.c_str()); Base::Interpreter().runStringArg( "App.activeDocument().%s.DirExtent = %d", dimName.c_str(), dimNum); @@ -135,7 +137,9 @@ void DrawDimHelper::makeExtentDim3d(DrawViewPart* dvp, ReferenceVector reference std::string dimName = doc->getUniqueObjectName("DimExtent"); Base::Interpreter().runStringArg( "App.activeDocument().addObject('TechDraw::DrawViewDimExtent', '%s')", dimName.c_str()); - Base::Interpreter().runStringArg( + Base::Interpreter().runStringArg( + "App.activeDocument().%s.translateLabel('DrawViewDimExtent', 'DimExtent', '%s')", + dimName.c_str(), dimName.c_str()); Base::Interpreter().runStringArg( "App.activeDocument().%s.Type = '%s'", dimName.c_str(), dimType.c_str()); Base::Interpreter().runStringArg( "App.activeDocument().%s.DirExtent = %d", dimName.c_str(), dimNum); @@ -426,11 +430,16 @@ DrawDimHelper::makeDistDim(DrawViewPart* dvp, std::string dimType, if (extent) { Base::Interpreter().runStringArg( "App.activeDocument().addObject('TechDraw::DrawViewDimExtent', '%s')", dimName.c_str()); + Base::Interpreter().runStringArg( + "App.activeDocument().%s.translateLabel('DrawViewDimExtent', 'DimExtent', '%s')", + dimName.c_str(), dimName.c_str()); } else { - Base::Interpreter().runStringArg( "App.activeDocument().addObject('TechDraw::DrawViewDimension', '%s')", dimName.c_str()); + Base::Interpreter().runStringArg( + "App.activeDocument().%s.translateLabel('DrawViewDimimension', 'Dimension', '%s')", + dimName.c_str(), dimName.c_str()); } Base::Interpreter().runStringArg( diff --git a/src/Mod/TechDraw/App/DrawGeomHatch.cpp b/src/Mod/TechDraw/App/DrawGeomHatch.cpp index 908d71fa87..f524d8f1d3 100644 --- a/src/Mod/TechDraw/App/DrawGeomHatch.cpp +++ b/src/Mod/TechDraw/App/DrawGeomHatch.cpp @@ -267,9 +267,9 @@ std::vector DrawGeomHatch::getTrimmedLinesSection(DrawViewSection* sou //f may be above or below paper plane and must be moved so Common operation in //getTrimmedLines succeeds - TopoDS_Shape moved = TechDraw::moveShape(f, + TopoDS_Shape moved = ShapeUtils::moveShape(f, offset); - TopoDS_Face fMoved = TopoDS::Face(GeometryObject::invertGeometry(moved)); + TopoDS_Face fMoved = TopoDS::Face(ShapeUtils::invertGeometry(moved)); return getTrimmedLines( source, lineSets, diff --git a/src/Mod/TechDraw/App/DrawPage.cpp b/src/Mod/TechDraw/App/DrawPage.cpp index 368149e62e..e3a0de09cd 100644 --- a/src/Mod/TechDraw/App/DrawPage.cpp +++ b/src/Mod/TechDraw/App/DrawPage.cpp @@ -41,6 +41,7 @@ #include "DrawViewDimension.h" #include "DrawViewPart.h" #include "Preferences.h" +#include "DrawUtil.h" using namespace TechDraw; @@ -468,6 +469,13 @@ bool DrawPage::AllowPageOverride(void) return Preferences::getPreferenceGroup("General")->GetBool("AllowPageOverride", true); } +//! get a translated label string from the context (ex TaskActiveView), the base name (ex ActiveView) and +//! the unique name within the document (ex ActiveView001), and use it to update the Label property. +void DrawPage::translateLabel(std::string context, std::string baseName, std::string uniqueName) +{ + Label.setValue(DrawUtil::translateArbitrary(context, baseName, uniqueName)); +} + // Python Drawing feature --------------------------------------------------------- diff --git a/src/Mod/TechDraw/App/DrawPage.h b/src/Mod/TechDraw/App/DrawPage.h index 3c2952c050..a637190930 100644 --- a/src/Mod/TechDraw/App/DrawPage.h +++ b/src/Mod/TechDraw/App/DrawPage.h @@ -106,6 +106,9 @@ public: bool hasObject(App::DocumentObject* obj); + void translateLabel(std::string context, std::string baseName, std::string uniqueName); + + protected: void onBeforeChange(const App::Property* prop) override; void onChanged(const App::Property* prop) override; diff --git a/src/Mod/TechDraw/App/DrawPagePy.xml b/src/Mod/TechDraw/App/DrawPagePy.xml index 6b7abf2b2e..b0eda4c9d2 100644 --- a/src/Mod/TechDraw/App/DrawPagePy.xml +++ b/src/Mod/TechDraw/App/DrawPagePy.xml @@ -28,6 +28,13 @@ getAllViews() - returns a list of all the views on page including Views inside Collections + + + translateLabel(translationContext, objectBaseName, objectUniqueName). + No return value. Replace the current label with a translated version where possible. + + + Returns the width of this page diff --git a/src/Mod/TechDraw/App/DrawPagePyImp.cpp b/src/Mod/TechDraw/App/DrawPagePyImp.cpp index 8d147bf1a6..aec6cdc6aa 100644 --- a/src/Mod/TechDraw/App/DrawPagePyImp.cpp +++ b/src/Mod/TechDraw/App/DrawPagePyImp.cpp @@ -121,6 +121,49 @@ PyObject* DrawPagePy::requestPaint(PyObject* args) Py_Return; } +//! replace the current Label with a translated version +PyObject* DrawPagePy::translateLabel(PyObject *args) +{ + PyObject* pyContext; + PyObject* pyBaseName; + PyObject* pyUniqueName; + std::string context; + std::string baseName; + std::string uniqueName; + + if (!PyArg_ParseTuple(args, "OOO", &pyContext, &pyBaseName, &pyUniqueName)) { + throw Py::TypeError("Could not translate label - bad parameters."); + } + + Py_ssize_t size = 0; + const char* cContext = PyUnicode_AsUTF8AndSize(pyContext, &size); + if (cContext) { + context = std::string(cContext, size); + } else { + throw Py::TypeError("Could not translate label - context not available."); + } + + const char* cBaseName = PyUnicode_AsUTF8AndSize(pyBaseName, &size); + if (cBaseName) { + baseName = std::string(cBaseName, size); + } else { + throw Py::TypeError("Could not translate label - base name not available."); + } + + const char* cUniqueName = PyUnicode_AsUTF8AndSize(pyUniqueName, &size); + if (cUniqueName) { + uniqueName = std::string(cUniqueName, size); + } else { + throw Py::TypeError("Could not translate label - unique name not available."); + } + + // we have the 3 parameters we need for DrawPage::translateLabel + DrawPage* page = getDrawPagePtr(); + page->translateLabel(context, baseName, uniqueName); + + Py_Return; +} + Py::Float DrawPagePy::getPageWidth() const { return Py::Float(getDrawPagePtr()->getPageWidth()); diff --git a/src/Mod/TechDraw/App/DrawProjGroup.cpp b/src/Mod/TechDraw/App/DrawProjGroup.cpp index 3d357b0f18..48740c253d 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroup.cpp @@ -474,11 +474,11 @@ App::DocumentObject* DrawProjGroup::addProjection(const char* viewProjType) if (view) {//coverity CID 151722 // the label must be set before the view is added view->Label.setValue(viewProjType); + // somewhere deep in DocumentObject, duplicate Labels have a numeric suffix applied, + // so we need to wait until that happens before building the translated label + view->translateLabel("DrawProjGroupItem", viewProjType, view->Label.getValue()); addView(view);//from DrawViewCollection view->Source.setValues(Source.getValues()); - // std::vector xLinks; - // XSource.getLinks(xLinks); - // view->XSource.setValues(xLinks); view->XSource.setValues(XSource.getValues()); // the Scale is already set by DrawView diff --git a/src/Mod/TechDraw/App/DrawProjGroupItem.cpp b/src/Mod/TechDraw/App/DrawProjGroupItem.cpp index ab3f101164..f331a4dbd6 100644 --- a/src/Mod/TechDraw/App/DrawProjGroupItem.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroupItem.cpp @@ -227,7 +227,7 @@ gp_Ax2 DrawProjGroupItem::getViewAxis(const Base::Vector3d& pt, catch (Standard_Failure& e4) { Base::Console().Message("PROBLEM - DPGI (%s) failed to create viewAxis: %s **\n", getNameInDocument(), e4.GetMessageString()); - return TechDraw::getViewAxis(pt, axis, false); + return ShapeUtils::getViewAxis(pt, axis, false); } return viewAxis; diff --git a/src/Mod/TechDraw/App/DrawProjectSplit.cpp b/src/Mod/TechDraw/App/DrawProjectSplit.cpp index 2a6eb78c47..b726e6dadc 100644 --- a/src/Mod/TechDraw/App/DrawProjectSplit.cpp +++ b/src/Mod/TechDraw/App/DrawProjectSplit.cpp @@ -52,6 +52,7 @@ #include "DrawUtil.h" #include "Geometry.h" #include "GeometryObject.h" +#include "ShapeUtils.h" using namespace TechDraw; @@ -82,9 +83,9 @@ std::vector DrawProjectSplit::getEdgesForWalker(TopoDS_Shape shape, gp_Pnt inputCenter(0, 0, 0); TopoDS_Shape scaledShape; - scaledShape = TechDraw::scaleShape(copyShape, + scaledShape = ShapeUtils::scaleShape(copyShape, scale); - gp_Ax2 viewAxis = TechDraw::legacyViewAxis1(Base::Vector3d(0.0, 0.0, 0.0), direction, false); + gp_Ax2 viewAxis = ShapeUtils::legacyViewAxis1(Base::Vector3d(0.0, 0.0, 0.0), direction, false); TechDraw::GeometryObjectPtr go = buildGeometryObject(scaledShape, viewAxis); const std::vector& goEdges = go->getVisibleFaceEdges(false, false); for (auto& e: goEdges){ diff --git a/src/Mod/TechDraw/App/DrawSVGTemplate.cpp b/src/Mod/TechDraw/App/DrawSVGTemplate.cpp index f6ff7edfb7..fe36964dcc 100644 --- a/src/Mod/TechDraw/App/DrawSVGTemplate.cpp +++ b/src/Mod/TechDraw/App/DrawSVGTemplate.cpp @@ -25,7 +25,6 @@ #ifndef _PreComp_ # include -# include # include #endif @@ -43,7 +42,6 @@ #include "DrawUtil.h" #include "XMLQuery.h" - using namespace TechDraw; PROPERTY_SOURCE(TechDraw::DrawSVGTemplate, TechDraw::DrawTemplate) @@ -87,6 +85,10 @@ void DrawSVGTemplate::onChanged(const App::Property* prop) //the old template, but there is no guarantee that the same fields will be present. replaceFileIncluded(Template.getValue()); EditableTexts.setValues(getEditableTextsFromTemplate()); + QDomDocument templateDocument; + if (getTemplateDocument(Template.getValue(), templateDocument)) { + extractTemplateAttributes(templateDocument); + } } else if (prop == &EditableTexts) { //handled by ViewProvider } @@ -104,20 +106,24 @@ QString DrawSVGTemplate::processTemplate() //can't do anything return QString(); } - - QFile templateFile(Base::Tools::fromStdString(PageResult.getValue())); - if (!templateFile.open(QIODevice::ReadOnly)) { - Base::Console().Error("DrawSVGTemplate::processTemplate can't read embedded template %s!\n", PageResult.getValue()); - return QString(); - } - QDomDocument templateDocument; - if (!templateDocument.setContent(&templateFile)) { - Base::Console().Error("DrawSVGTemplate::processTemplate - failed to parse file: %s\n", - PageResult.getValue()); + if (!getTemplateDocument(PageResult.getValue(), templateDocument)) { return QString(); } +// QFile templateFile(Base::Tools::fromStdString(PageResult.getValue())); +// if (!templateFile.open(QIODevice::ReadOnly)) { +// Base::Console().Error("DrawSVGTemplate::processTemplate can't read embedded template %s!\n", PageResult.getValue()); +// return QString(); +// } + +// QDomDocument templateDocument; +// if (!templateDocument.setContent(&templateFile)) { +// Base::Console().Error("DrawSVGTemplate::processTemplate - failed to parse file: %s\n", +// PageResult.getValue()); +// return QString(); +// } + XMLQuery query(templateDocument); std::map substitutions = EditableTexts.getValues(); @@ -145,8 +151,36 @@ QString DrawSVGTemplate::processTemplate() return true; }); - // Calculate the dimensions of the page and store for retrieval - // Obtain the size of the SVG document by reading the document attributes + extractTemplateAttributes(templateDocument); +// // Calculate the dimensions of the page and store for retrieval +// // Obtain the size of the SVG document by reading the document attributes +// QDomElement docElement = templateDocument.documentElement(); +// Base::Quantity quantity; + +// // Obtain the width +// QString str = docElement.attribute(QString::fromLatin1("width")); +// quantity = Base::Quantity::parse(str); +// quantity.setUnit(Base::Unit::Length); + +// Width.setValue(quantity.getValue()); + +// str = docElement.attribute(QString::fromLatin1("height")); +// quantity = Base::Quantity::parse(str); +// quantity.setUnit(Base::Unit::Length); + +// Height.setValue(quantity.getValue()); + +// bool isLandscape = getWidth() / getHeight() >= 1.; + +// Orientation.setValue(isLandscape ? 1 : 0); + + //all Qt holds on files should be released on exit #4085 + return templateDocument.toString(); +} + +// find the width, height and orientation of the template and update the properties +void DrawSVGTemplate::extractTemplateAttributes(QDomDocument& templateDocument) +{ QDomElement docElement = templateDocument.documentElement(); Base::Quantity quantity; @@ -166,9 +200,27 @@ QString DrawSVGTemplate::processTemplate() bool isLandscape = getWidth() / getHeight() >= 1.; Orientation.setValue(isLandscape ? 1 : 0); +} - //all Qt holds on files should be released on exit #4085 - return templateDocument.toString(); +// load the included template file as a QDomDocument +bool DrawSVGTemplate::getTemplateDocument(std::string sourceFile, QDomDocument& templateDocument) const +{ + if (sourceFile.empty()) { + return false; + } + QFile templateFile(Base::Tools::fromStdString(sourceFile)); + if (!templateFile.open(QIODevice::ReadOnly)) { + Base::Console().Error("DrawSVGTemplate::processTemplate can't read embedded template %s!\n", PageResult.getValue()); + return false; + } + + if (!templateDocument.setContent(&templateFile)) { + Base::Console().Error("DrawSVGTemplate::processTemplate - failed to parse file: %s\n", + PageResult.getValue()); + return false; + } + // no errors templateDocument is loaded + return true; } double DrawSVGTemplate::getWidth() const @@ -201,35 +253,42 @@ std::map DrawSVGTemplate::getEditableTextsFromTemplate // Base::Console().Message("DSVGT::getEditableTextsFromTemplate()\n"); std::map editables; - std::string templateFilename = Template.getValue(); - if (templateFilename.empty()) { - return editables; - } - - Base::FileInfo tfi(templateFilename); - if (!tfi.isReadable()) { - // if there is an old absolute template file set use a redirect - tfi.setFile(App::Application::getResourceDir() + "Mod/Drawing/Templates/" + tfi.fileName()); - // try the redirect - if (!tfi.isReadable()) { - Base::Console().Error("DrawSVGTemplate::getEditableTextsFromTemplate() not able to open %s!\n", Template.getValue()); - return editables; - } - } - - QFile templateFile(QString::fromUtf8(tfi.filePath().c_str())); - if (!templateFile.open(QIODevice::ReadOnly)) { - Base::Console().Error("DrawSVGTemplate::getEditableTextsFromTemplate() can't read template %s!\n", Template.getValue()); - return editables; - } +// std::string templateFilename = Template.getValue(); +// if (templateFilename.empty()) { +// return editables; +// } +// if we pass the filename we can reuse getTemplateDocument here QDomDocument templateDocument; - if (!templateDocument.setContent(&templateFile)) { - Base::Console().Message("DrawSVGTemplate::getEditableTextsFromTemplate() - failed to parse file: %s\n", - Template.getValue()); + if (!getTemplateDocument(Template.getValue(), templateDocument)) { return editables; } + +// Base::FileInfo tfi(templateFilename); +// if (!tfi.isReadable()) { +// // if there is an old absolute template file set use a redirect +// tfi.setFile(App::Application::getResourceDir() + "Mod/Drawing/Templates/" + tfi.fileName()); +// // try the redirect +// if (!tfi.isReadable()) { +// Base::Console().Error("DrawSVGTemplate::getEditableTextsFromTemplate() not able to open %s!\n", Template.getValue()); +// return editables; +// } +// } + +// QFile templateFile(QString::fromUtf8(tfi.filePath().c_str())); +// if (!templateFile.open(QIODevice::ReadOnly)) { +// Base::Console().Error("DrawSVGTemplate::getEditableTextsFromTemplate() can't read template %s!\n", Template.getValue()); +// return editables; +// } + +// QDomDocument templateDocument; +// if (!templateDocument.setContent(&templateFile)) { +// Base::Console().Message("DrawSVGTemplate::getEditableTextsFromTemplate() - failed to parse file: %s\n", +// Template.getValue()); +// return editables; +// } + XMLQuery query(templateDocument); // XPath query to select all nodes whose parent @@ -250,6 +309,12 @@ std::map DrawSVGTemplate::getEditableTextsFromTemplate return editables; } +//! get a translated label string from the context (ex TaskActiveView), the base name (ex ActiveView) and +//! the unique name within the document (ex ActiveView001), and use it to update the Label property. +void DrawSVGTemplate::translateLabel(std::string context, std::string baseName, std::string uniqueName) +{ + Label.setValue(DrawUtil::translateArbitrary(context, baseName, uniqueName)); +} // Python Template feature --------------------------------------------------------- namespace App { diff --git a/src/Mod/TechDraw/App/DrawSVGTemplate.h b/src/Mod/TechDraw/App/DrawSVGTemplate.h index c010bb80ee..4454967e11 100644 --- a/src/Mod/TechDraw/App/DrawSVGTemplate.h +++ b/src/Mod/TechDraw/App/DrawSVGTemplate.h @@ -23,6 +23,8 @@ #ifndef TECHDRAW_DrawSVGTemplate_h_ #define TECHDRAW_DrawSVGTemplate_h_ +# include + #include #include #include @@ -56,6 +58,11 @@ public: double getHeight() const override; QString processTemplate(); + void extractTemplateAttributes(QDomDocument& templateDocument); + bool getTemplateDocument(std::string sourceFile, QDomDocument& templateDocument) const; + + void translateLabel(std::string context, std::string baseName, std::string uniqueName); + protected: void replaceFileIncluded(std::string newTemplateFileName); diff --git a/src/Mod/TechDraw/App/DrawSVGTemplatePy.xml b/src/Mod/TechDraw/App/DrawSVGTemplatePy.xml index befd68c3f7..99f28d9f9e 100644 --- a/src/Mod/TechDraw/App/DrawSVGTemplatePy.xml +++ b/src/Mod/TechDraw/App/DrawSVGTemplatePy.xml @@ -23,5 +23,12 @@ setEditFieldContent(EditFieldName, NewContent) - sets a specific Editable Text Field to a new value + + + translateLabel(translationContext, objectBaseName, objectUniqueName). + No return value. Replace the current label with a translated version where possible. + + + diff --git a/src/Mod/TechDraw/App/DrawSVGTemplatePyImp.cpp b/src/Mod/TechDraw/App/DrawSVGTemplatePyImp.cpp index cc6608097c..4a0a0f0cd6 100644 --- a/src/Mod/TechDraw/App/DrawSVGTemplatePyImp.cpp +++ b/src/Mod/TechDraw/App/DrawSVGTemplatePyImp.cpp @@ -36,6 +36,49 @@ std::string DrawSVGTemplatePy::representation() const return std::string(""); } +//! replace the current Label with a translated version +PyObject* DrawSVGTemplatePy::translateLabel(PyObject *args) +{ + PyObject* pyContext; + PyObject* pyBaseName; + PyObject* pyUniqueName; + std::string context; + std::string baseName; + std::string uniqueName; + + if (!PyArg_ParseTuple(args, "OOO", &pyContext, &pyBaseName, &pyUniqueName)) { + throw Py::TypeError("Could not translate label - bad parameters."); + } + + Py_ssize_t size = 0; + const char* cContext = PyUnicode_AsUTF8AndSize(pyContext, &size); + if (cContext) { + context = std::string(cContext, size); + } else { + throw Py::TypeError("Could not translate label - context not available."); + } + + const char* cBaseName = PyUnicode_AsUTF8AndSize(pyBaseName, &size); + if (cBaseName) { + baseName = std::string(cBaseName, size); + } else { + throw Py::TypeError("Could not translate label - base name not available."); + } + + const char* cUniqueName = PyUnicode_AsUTF8AndSize(pyUniqueName, &size); + if (cUniqueName) { + uniqueName = std::string(cUniqueName, size); + } else { + throw Py::TypeError("Could not translate label - unique name not available."); + } + + // we have the 3 parameters we need for DrawSVGTemplate::translateLabel + auto svgTemplate = getDrawSVGTemplatePtr(); + svgTemplate->translateLabel(context, baseName, uniqueName); + + Py_Return; +} + PyObject *DrawSVGTemplatePy::getCustomAttributes(const char* ) const { return nullptr; diff --git a/src/Mod/TechDraw/App/DrawUtil.cpp b/src/Mod/TechDraw/App/DrawUtil.cpp index 9f6c8251f5..986c4a43be 100644 --- a/src/Mod/TechDraw/App/DrawUtil.cpp +++ b/src/Mod/TechDraw/App/DrawUtil.cpp @@ -61,6 +61,7 @@ #include #include #include +#include #include #include @@ -545,7 +546,7 @@ TopoDS_Shape DrawUtil::vectorToCompound(std::vector vecIn, bool inv builder.Add(compOut, v); } if (invert) { - return TechDraw::mirrorShape(compOut); + return ShapeUtils::mirrorShape(compOut); } return compOut; } @@ -560,7 +561,25 @@ TopoDS_Shape DrawUtil::vectorToCompound(std::vector vecIn, bool inv builder.Add(compOut, v); } if (invert) { - return TechDraw::mirrorShape(compOut); + return ShapeUtils::mirrorShape(compOut); + } + return compOut; +} + +// construct a compound shape from a list of shapes +// this version needs a different name since edges/wires are shapes +TopoDS_Shape DrawUtil::shapeVectorToCompound(std::vector vecIn, bool invert) +{ + BRep_Builder builder; + TopoDS_Compound compOut; + builder.MakeCompound(compOut); + for (auto& v : vecIn) { + if (!v.IsNull()) { + builder.Add(compOut, v); + } + } + if (invert) { + return ShapeUtils::mirrorShape(compOut); } return compOut; } @@ -1594,6 +1613,18 @@ void DrawUtil::copyFile(std::string inSpec, std::string outSpec) } } +//! static method that provides a translated std::string for objects that are not derived from DrawView +std::string DrawUtil::translateArbitrary(std::string context, std::string baseName, std::string uniqueName) +{ + std::string suffix(""); + if (uniqueName.length() > baseName.length()) { + suffix = uniqueName.substr(baseName.length(), uniqueName.length() - baseName.length()); + } + QString qTranslated = qApp->translate(context.c_str(), baseName.c_str()); + std::string ssTranslated = Base::Tools::toStdString(qTranslated); + return ssTranslated + suffix; +} + //============================ // various debugging routines. diff --git a/src/Mod/TechDraw/App/DrawUtil.h b/src/Mod/TechDraw/App/DrawUtil.h index b2a53be651..0933fc909f 100644 --- a/src/Mod/TechDraw/App/DrawUtil.h +++ b/src/Mod/TechDraw/App/DrawUtil.h @@ -130,6 +130,7 @@ public: static TopoDS_Shape vectorToCompound(std::vector vecIn, bool invert = true); static TopoDS_Shape vectorToCompound(std::vector vecIn, bool invert = true); + static TopoDS_Shape shapeVectorToCompound(std::vector vecIn, bool invert = true); static std::vector shapeToVector(TopoDS_Shape shapeIn); static Base::Vector3d toR3(const gp_Ax2& fromSystem, const Base::Vector3d& fromPoint); @@ -252,6 +253,9 @@ public: std::vector& intersections); static void copyFile(std::string inSpec, std::string outSpec); + static std::string translateArbitrary(std::string context, std::string baseName, std::string uniqueName); + + //debugging routines static void dumpVertexes(const char* text, const TopoDS_Shape& s); static void dumpEdge(const char* label, int i, TopoDS_Edge e); diff --git a/src/Mod/TechDraw/App/DrawView.cpp b/src/Mod/TechDraw/App/DrawView.cpp index 3e2b8a1b94..99a0e2eecb 100644 --- a/src/Mod/TechDraw/App/DrawView.cpp +++ b/src/Mod/TechDraw/App/DrawView.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include // generated from DrawViewPy.xml #include "DrawView.h" @@ -44,11 +45,34 @@ using namespace TechDraw; +using DU = DrawUtil; //=========================================================================== // DrawView //=========================================================================== +#if 0 // needed for Qt's lupdate utility + QT_TRANSLATE_NOOP("DrawPage", "Page"); + QT_TRANSLATE_NOOP("DrawSVGTemplate", "Template"); + QT_TRANSLATE_NOOP("DrawView", "View"); + QT_TRANSLATE_NOOP("DrawViewPart", "View"); + QT_TRANSLATE_NOOP("DrawViewSection", "Section"); + QT_TRANSLATE_NOOP("DrawComplexSection", "Section"); + QT_TRANSLATE_NOOP("DrawViewDetail", "Detail"); + QT_TRANSLATE_NOOP("DrawActiveView", "ActiveView"); + QT_TRANSLATE_NOOP("DrawViewAnnotation", "Annotation"); + QT_TRANSLATE_NOOP("DrawViewImage", "Image"); + QT_TRANSLATE_NOOP("DrawViewSymbol", "Symbol"); + QT_TRANSLATE_NOOP("DrawViewArch", "Arch"); + QT_TRANSLATE_NOOP("DrawViewDraft", "Draft"); + QT_TRANSLATE_NOOP("DrawLeaderLine", "LeaderLine"); + QT_TRANSLATE_NOOP("DrawViewBalloon", "Balloon"); + QT_TRANSLATE_NOOP("DrawViewDimension", "Dimension"); + QT_TRANSLATE_NOOP("DrawViewDimExtent", "Extent"); + QT_TRANSLATE_NOOP("DrawHatch", "Hatch"); + QT_TRANSLATE_NOOP("DrawGeomHatch", "GeomHatch"); +#endif + const char* DrawView::ScaleTypeEnums[]= {"Page", "Automatic", "Custom", @@ -594,6 +618,17 @@ void DrawView::showProgressMessage(std::string featureName, std::string text) } } +//! get a translated label string from the context (ex TaskActiveView), the base name (ex ActiveView) and +//! the unique name within the document (ex ActiveView001), and use it to update the Label property. +void DrawView::translateLabel(std::string context, std::string baseName, std::string uniqueName) +{ +// Base::Console().Message("DV::translateLabel - context: %s baseName: %s uniqueName: %s\n", +// context.c_str(), baseName.c_str(), uniqueName.c_str()); + + Label.setValue(DU::translateArbitrary(context, baseName, uniqueName)); +// Base::Console().Message("DV::translateLabel - new label: %s\n", Label.getValue()); +} + PyObject *DrawView::getPyObject(void) { if (PythonObject.is(Py::_None())) { diff --git a/src/Mod/TechDraw/App/DrawView.h b/src/Mod/TechDraw/App/DrawView.h index 537e8dfc38..4082c1fcb3 100644 --- a/src/Mod/TechDraw/App/DrawView.h +++ b/src/Mod/TechDraw/App/DrawView.h @@ -113,6 +113,8 @@ public: void overrideKeepUpdated(bool s) { m_overrideKeepUpdated = s; } bool overrideKeepUpdated(void) { return m_overrideKeepUpdated; } + void translateLabel(std::string context, std::string baseName, std::string uniqueName); + protected: void onChanged(const App::Property* prop) override; virtual void validateScale(); diff --git a/src/Mod/TechDraw/App/DrawViewDetail.cpp b/src/Mod/TechDraw/App/DrawViewDetail.cpp index a35e11d30b..5da9a48fde 100644 --- a/src/Mod/TechDraw/App/DrawViewDetail.cpp +++ b/src/Mod/TechDraw/App/DrawViewDetail.cpp @@ -60,6 +60,7 @@ #include "DrawViewSection.h" #include "GeometryObject.h" #include "Preferences.h" +#include "ShapeUtils.h" using namespace TechDraw; @@ -205,9 +206,6 @@ void DrawViewDetail::makeDetailShape(const TopoDS_Shape& shape, DrawViewPart* dv Base::Vector3d dirDetail = dvp->Direction.getValue(); double radius = getFudgeRadius(); - int solidCount = DrawUtil::countSubShapes(shape, TopAbs_SOLID); - int shellCount = DrawUtil::countSubShapes(shape, TopAbs_SHELL); - //make a copy of the input shape so we don't inadvertently change it BRepBuilderAPI_Copy BuilderCopy(shape); TopoDS_Shape copyShape = BuilderCopy.Shape(); @@ -215,13 +213,13 @@ void DrawViewDetail::makeDetailShape(const TopoDS_Shape& shape, DrawViewPart* dv m_saveDvp = dvp; m_saveDvs = dvs; - gp_Pnt gpCenter = TechDraw::findCentroid(copyShape, dirDetail); + gp_Pnt gpCenter = ShapeUtils::findCentroid(copyShape, dirDetail); Base::Vector3d shapeCenter = Base::Vector3d(gpCenter.X(), gpCenter.Y(), gpCenter.Z()); m_saveCentroid = shapeCenter;//centroid of original shape if (!dvs) { //section cutShape should already be on origin - copyShape = TechDraw::moveShape(copyShape,//centre shape on origin + copyShape = ShapeUtils::moveShape(copyShape,//centre shape on origin -shapeCenter); } @@ -230,12 +228,9 @@ void DrawViewDetail::makeDetailShape(const TopoDS_Shape& shape, DrawViewPart* dv m_viewAxis = dvp->getProjectionCS(shapeCenter);//save the CS for later Base::Vector3d anchor = AnchorPoint.getValue();//this is a 2D point in base view local coords - // double baseRotationRad = dvp->Rotation.getValue() * M_PI / 180.0; - // anchor.RotateZ(baseRotationRad); anchor = DrawUtil::toR3(m_viewAxis, anchor);//actual anchor coords in R3 - Bnd_Box bbxSource; bbxSource.SetGap(0.0); BRepBndLib::AddOptimal(copyShape, bbxSource); @@ -280,102 +275,38 @@ void DrawViewDetail::makeDetailShape(const TopoDS_Shape& shape, DrawViewPart* dv } } - //for each solid and shell in the input shape, make a common with the tool and - //add the result to a compound. This avoids issues with some geometry errors in the - //input shape. - BRep_Builder builder; - TopoDS_Compound pieces; - builder.MakeCompound(pieces); - if (solidCount > 0) { - TopExp_Explorer expl(copyShape, TopAbs_SOLID); - for (; expl.More(); expl.Next()) { - const TopoDS_Solid& s = TopoDS::Solid(expl.Current()); - - BRepAlgoAPI_Common mkCommon(s, tool); - if (!mkCommon.IsDone()) { - continue; - } - if (mkCommon.Shape().IsNull()) { - continue; - } - //this might be overkill for piecewise algo - //Did we get at least 1 solid? - TopExp_Explorer xp; - xp.Init(mkCommon.Shape(), TopAbs_SOLID); - if (xp.More() != Standard_True) { - continue; - } - builder.Add(pieces, mkCommon.Shape()); - } + BRepAlgoAPI_Common mkCommon(copyShape, tool); + if (!mkCommon.IsDone() || mkCommon.Shape().IsNull()) { + Base::Console().Warning("DVD::detailExec - %s - failed to create detail shape\n", + getNameInDocument()); + return; } - if (shellCount > 0) { - TopExp_Explorer expl(copyShape, TopAbs_SHELL); - for (; expl.More(); expl.Next()) { - const TopoDS_Shell& s = TopoDS::Shell(expl.Current()); - - BRepAlgoAPI_Common mkCommon(s, tool); - if (!mkCommon.IsDone()) { - continue; - } - if (mkCommon.Shape().IsNull()) { - continue; - } - //this might be overkill for piecewise algo - //Did we get at least 1 shell? - TopExp_Explorer xp; - xp.Init(mkCommon.Shape(), TopAbs_SHELL); - if (xp.More() != Standard_True) { - continue; - } - builder.Add(pieces, mkCommon.Shape()); - } - } + // save the detail shape for further processing + m_detailShape = mkCommon.Shape(); if (debugDetail()) { BRepTools::Write(tool, "DVDTool.brep"); //debug BRepTools::Write(copyShape, "DVDCopy.brep");//debug - BRepTools::Write(pieces, "DVDCommon.brep"); //debug + BRepTools::Write(m_detailShape, "DVDCommon.brep"); //debug } - gp_Pnt inputCenter; - try { - //centroid of result - inputCenter = TechDraw::findCentroid(pieces, dirDetail); - Base::Vector3d centroid(inputCenter.X(), inputCenter.Y(), inputCenter.Z()); - m_saveCentroid += centroid;//center of massaged shape + gp_Pnt inputCenter = ShapeUtils::findCentroid(m_detailShape, dirDetail); + Base::Vector3d centroid(inputCenter.X(), inputCenter.Y(), inputCenter.Z()); + m_saveCentroid += centroid;//center of massaged shape + //align shape with detail anchor + TopoDS_Shape centeredShape = ShapeUtils::moveShape(m_detailShape, anchor * -1.0); + m_scaledShape = ShapeUtils::scaleShape(centeredShape, getScale()); - if ((solidCount > 0) || (shellCount > 0)) { - //align shape with detail anchor - TopoDS_Shape centeredShape = TechDraw::moveShape(pieces, anchor * -1.0); - m_scaledShape = TechDraw::scaleShape(centeredShape, getScale()); - if (debugDetail()) { - BRepTools::Write(m_scaledShape, "DVDScaled.brep");//debug - } - } - else { - //no solids, no shells, do what you can with edges - TopoDS_Shape projectedEdges = projectEdgesOntoFace(copyShape, extrusionFace, gdir); - TopoDS_Shape centeredShape = TechDraw::moveShape(projectedEdges, anchor * -1.0); - if (debugDetail()) { - BRepTools::Write(projectedEdges, "DVDProjectedEdges.brep");//debug - BRepTools::Write(centeredShape, "DVDCenteredShape.brep"); //debug - } - m_scaledShape = TechDraw::scaleShape(centeredShape, getScale()); - } + if (debugDetail()) { + BRepTools::Write(m_scaledShape, "DVDScaled.brep");//debug + } - Base::Vector3d stdOrg(0.0, 0.0, 0.0); - m_viewAxis = dvp->getProjectionCS(stdOrg); + Base::Vector3d stdOrg(0.0, 0.0, 0.0); + m_viewAxis = dvp->getProjectionCS(stdOrg); - if (!DrawUtil::fpCompare(Rotation.getValue(), 0.0)) { - m_scaledShape = TechDraw::rotateShape(m_scaledShape, m_viewAxis, Rotation.getValue()); - } - }//end try block - - catch (Standard_Failure& e1) { - Base::Console().Message("DVD::makeDetailShape - failed to create detail %s - %s **\n", - getNameInDocument(), e1.GetMessageString()); - return; + if (!DrawUtil::fpCompare(Rotation.getValue(), 0.0)) { + m_scaledShape = ShapeUtils::rotateShape(m_scaledShape, m_viewAxis, Rotation.getValue()); } showProgressMessage(getNameInDocument(), "has finished making detail shape"); diff --git a/src/Mod/TechDraw/App/DrawViewDetail.h b/src/Mod/TechDraw/App/DrawViewDetail.h index 9fa099834b..f80173c9ad 100644 --- a/src/Mod/TechDraw/App/DrawViewDetail.h +++ b/src/Mod/TechDraw/App/DrawViewDetail.h @@ -87,6 +87,7 @@ public: gp_Dir& projDir); std::vector getDetailRefs() const override; + TopoDS_Shape getDetailShape() const { return m_detailShape; } public Q_SLOTS: void onMakeDetailFinished(void); @@ -106,6 +107,8 @@ protected: DrawViewPart* m_saveDvp; DrawViewSection* m_saveDvs; + + TopoDS_Shape m_detailShape; }; using DrawViewDetailPython = App::FeaturePythonT; diff --git a/src/Mod/TechDraw/App/DrawViewMulti.cpp b/src/Mod/TechDraw/App/DrawViewMulti.cpp index 30e49da8a8..5f80098291 100644 --- a/src/Mod/TechDraw/App/DrawViewMulti.cpp +++ b/src/Mod/TechDraw/App/DrawViewMulti.cpp @@ -108,15 +108,15 @@ App::DocumentObjectExecReturn *DrawViewMulti::execute() gp_Pnt inputCenter; try { - inputCenter = TechDraw::findCentroid(comp, + inputCenter = ShapeUtils::findCentroid(comp, Direction.getValue()); shapeCentroid = Base::Vector3d(inputCenter.X(), inputCenter.Y(), inputCenter.Z()); - TopoDS_Shape mirroredShape = TechDraw::mirrorShape(comp, + TopoDS_Shape mirroredShape = ShapeUtils::mirrorShape(comp, inputCenter, getScale()); gp_Ax2 viewAxis = getViewAxis(Base::Vector3d(inputCenter.X(), inputCenter.Y(), inputCenter.Z()), Direction.getValue()); if (!DrawUtil::fpCompare(Rotation.getValue(), 0.0)) { - mirroredShape = TechDraw::rotateShape(mirroredShape, + mirroredShape = ShapeUtils::rotateShape(mirroredShape, viewAxis, Rotation.getValue()); } diff --git a/src/Mod/TechDraw/App/DrawViewPart.cpp b/src/Mod/TechDraw/App/DrawViewPart.cpp index 45187a316a..82a085a091 100644 --- a/src/Mod/TechDraw/App/DrawViewPart.cpp +++ b/src/Mod/TechDraw/App/DrawViewPart.cpp @@ -22,6 +22,18 @@ * * ***************************************************************************/ +//=========================================================================== +// DrawViewPart overview +//=========================================================================== +// +// 1) get the shapes from the source objects +// 2) center, scale and rotate the shapes +// 3) project the shape using the OCC HLR algorithms +// 4) add cosmetic and other objects that don't participate in hlr +// 5) find the closed regions (faces) in the edges returned by hlr +// everything else is mostly providing services to other objects, such as the +// actual drawing routines in Gui + #include "PreCompiled.h" #ifndef _PreComp_ @@ -77,17 +89,11 @@ #include "GeometryObject.h" #include "ShapeExtractor.h" #include "Preferences.h" - +#include "ShapeUtils.h" using namespace TechDraw; using DU = DrawUtil; -//=========================================================================== -// DrawViewPart -//=========================================================================== - - -//PROPERTY_SOURCE(TechDraw::DrawViewPart, TechDraw::DrawView) PROPERTY_SOURCE_WITH_EXTENSIONS(TechDraw::DrawViewPart, TechDraw::DrawView) DrawViewPart::DrawViewPart(void) @@ -101,42 +107,42 @@ DrawViewPart::DrawViewPart(void) CosmeticExtension::initExtension(this); - double defDist = Preferences::getPreferenceGroup("General")->GetFloat("FocusDistance", 100.0); - //properties that affect Geometry ADD_PROPERTY_TYPE(Source, (nullptr), group, App::Prop_None, "3D Shape to view"); Source.setScope(App::LinkScope::Global); Source.setAllowExternal(true); ADD_PROPERTY_TYPE(XSource, (nullptr), group, App::Prop_None, "External 3D Shape to view"); - ADD_PROPERTY_TYPE(Direction, (0.0, -1.0, 0.0), group, App::Prop_None, "Projection Plane normal. The direction you are looking from."); ADD_PROPERTY_TYPE(XDirection, (0.0, 0.0, 0.0), group, App::Prop_None, "Projection Plane X Axis in R3. Rotates/Mirrors View"); ADD_PROPERTY_TYPE(Perspective, (false), group, App::Prop_None, "Perspective(true) or Orthographic(false) projection"); - ADD_PROPERTY_TYPE(Focus, (defDist), group, App::Prop_None, "Perspective view focus distance"); + ADD_PROPERTY_TYPE(Focus, (Preferences::getPreferenceGroup("General")->GetFloat("FocusDistance", 100.0)), + group, App::Prop_None, "Perspective view focus distance"); //properties that control HLR algo - bool coarseView = Preferences::getPreferenceGroup("General")->GetBool("CoarseView", false); - ADD_PROPERTY_TYPE(CoarseView, (coarseView), sgroup, App::Prop_None, "Coarse View on/off"); - ADD_PROPERTY_TYPE(SmoothVisible, (prefSmoothViz()), sgroup, App::Prop_None, - "Show Visible Smooth lines"); - ADD_PROPERTY_TYPE(SeamVisible, (prefSeamViz()), sgroup, App::Prop_None, + ADD_PROPERTY_TYPE(CoarseView, (Preferences::getPreferenceGroup("General")->GetBool("CoarseView", false)), + sgroup, App::Prop_None, "Coarse View on/off"); + ADD_PROPERTY_TYPE(SmoothVisible, (Preferences::getPreferenceGroup("HLR")->GetBool("SmoothViz", true)), + sgroup, App::Prop_None, "Show Visible Smooth lines"); + ADD_PROPERTY_TYPE(SeamVisible, (Preferences::getPreferenceGroup("HLR")->GetBool("SeamViz", false)), + sgroup, App::Prop_None, "Show Visible Seam lines"); - ADD_PROPERTY_TYPE(IsoVisible, (prefIsoViz()), sgroup, App::Prop_None, - "Show Visible Iso u, v lines"); - ADD_PROPERTY_TYPE(HardHidden, (prefHardHid()), sgroup, App::Prop_None, - "Show Hidden Hard lines"); - ADD_PROPERTY_TYPE(SmoothHidden, (prefSmoothHid()), sgroup, App::Prop_None, - "Show Hidden Smooth lines"); - ADD_PROPERTY_TYPE(SeamHidden, (prefSeamHid()), sgroup, App::Prop_None, - "Show Hidden Seam lines"); - ADD_PROPERTY_TYPE(IsoHidden, (prefIsoHid()), sgroup, App::Prop_None, - "Show Hidden Iso u, v lines"); - ADD_PROPERTY_TYPE(IsoCount, (prefIsoCount()), sgroup, App::Prop_None, - "Number of iso parameters lines"); + ADD_PROPERTY_TYPE(IsoVisible, (Preferences::getPreferenceGroup("HLR")->GetBool("IsoViz", false)), + sgroup, App::Prop_None, "Show Visible Iso u, v lines"); + ADD_PROPERTY_TYPE(HardHidden, (Preferences::getPreferenceGroup("HLR")->GetBool("HardHid", false)), + sgroup, App::Prop_None, "Show Hidden Hard lines"); + ADD_PROPERTY_TYPE(SmoothHidden, (Preferences::getPreferenceGroup("HLR")->GetBool("SmoothHid", false)), + sgroup, App::Prop_None, "Show Hidden Smooth lines"); + ADD_PROPERTY_TYPE(SeamHidden, (Preferences::getPreferenceGroup("HLR")->GetBool("SeamHid", false)), + sgroup, App::Prop_None, "Show Hidden Seam lines"); + ADD_PROPERTY_TYPE(IsoHidden, (Preferences::getPreferenceGroup("HLR")->GetBool("IsoHid", false)), + sgroup, App::Prop_None, "Show Hidden Iso u, v lines"); + ADD_PROPERTY_TYPE(IsoCount, (Preferences::getPreferenceGroup("HLR")->GetBool("IsoCount", 0)), + sgroup, App::Prop_None, "Number of iso parameters lines"); + ADD_PROPERTY_TYPE(ScrubCount, (Preferences::scrubCount()), sgroup, App::Prop_None, "The number of times FreeCAD should try to clean the HLR result."); @@ -158,43 +164,35 @@ DrawViewPart::~DrawViewPart() removeAllReferencesFromGeom(); } -std::vector DrawViewPart::getSourceShape2d() const -{ - // Base::Console().Message("DVP::getSourceShape2d()\n"); - const std::vector& links = getAllSources(); - return ShapeExtractor::getShapes2d(links); -} - -TopoDS_Shape DrawViewPart::getSourceShape() const +//! returns a compound of all the shapes from the DocumentObjects in the Source & +//! XSource property lists +TopoDS_Shape DrawViewPart::getSourceShape(bool fuse) const { // Base::Console().Message("DVP::getSourceShape()\n"); const std::vector& links = getAllSources(); if (links.empty()) { return TopoDS_Shape(); } + if (fuse) { + return ShapeExtractor::getShapesFused(links); + } return ShapeExtractor::getShapes(links); } -TopoDS_Shape DrawViewPart::getSourceShapeFused() const -{ - // Base::Console().Message("DVP::getSourceShapeFused()\n"); - const std::vector& links = getAllSources(); - if (links.empty()) { - return TopoDS_Shape(); - } - return ShapeExtractor::getShapesFused(links); -} - +//! deliver a shape appropriate for making a detail view based on this view +//! TODO: why does dvp do the thinking for detail, but section picks its own +//! version of the shape? Should we have a getShapeForSection? TopoDS_Shape DrawViewPart::getShapeForDetail() const { - return TechDraw::rotateShape(getSourceShapeFused(), getProjectionCS(), Rotation.getValue()); + return ShapeUtils::rotateShape(getSourceShape(true), getProjectionCS(), Rotation.getValue()); } +//! combine the regular links and xlinks into a single list std::vector DrawViewPart::getAllSources() const { // Base::Console().Message("DVP::getAllSources()\n"); std::vector links = Source.getValues(); - std::vector xLinks = XSource.getValues(); + std::vector xLinks = XSource.getValues(); std::vector result = links; if (!xLinks.empty()) { @@ -203,11 +201,11 @@ std::vector DrawViewPart::getAllSources() const return result; } -//pick supported 2d shapes out of the Source properties and -//add them directly to the geometry without going through HLR +//! pick supported 2d shapes out of the Source properties and +//! add them directly to the geometry without going through HLR void DrawViewPart::addShapes2d(void) { - std::vector shapes = getSourceShape2d(); + std::vector shapes = ShapeExtractor::getShapes2d(getAllSources()); for (auto& s : shapes) { //just vertices for now if (s.ShapeType() == TopAbs_VERTEX) { @@ -220,17 +218,17 @@ void DrawViewPart::addShapes2d(void) geometryObject->addVertex(v1); } else if (s.ShapeType() == TopAbs_EDGE) { - //not supporting edges yet. - // Base::Console().Message("DVP::add2dShapes - found loose edge - isNull: %d\n", s.IsNull()); - // TopoDS_Shape sTrans = TechDraw::moveShape(s, - // m_saveCentroid * -1.0); - // TopoDS_Shape sScale = TechDraw::scaleShape(sTrans, - // getScale()); - // TopoDS_Shape sMirror = TechDraw::mirrorShape(sScale); - // TopoDS_Edge edge = TopoDS::Edge(sMirror); - // BaseGeomPtr bg = projectEdge(edge); + //not supporting edges yet. Why? + //Base::Console().Message("DVP::add2dShapes - found loose edge - isNull: %d\n", s.IsNull()); + TopoDS_Shape sTrans = ShapeUtils::moveShape(s, + m_saveCentroid * -1.0); + TopoDS_Shape sScale = ShapeUtils::scaleShape(sTrans, + getScale()); + TopoDS_Shape sMirror = ShapeUtils::mirrorShape(sScale); + TopoDS_Edge edge = TopoDS::Edge(sMirror); + BaseGeomPtr bg = projectEdge(edge); - // geometryObject->addEdge(bg); + geometryObject->addEdge(bg); //save connection between source feat and this edge } } @@ -311,7 +309,7 @@ void DrawViewPart::partExec(TopoDS_Shape& shape) } } -//prepare the shape for HLR processing by centering, scaling and rotating it +//! prepare the shape for HLR processing by centering, scaling and rotating it GeometryObjectPtr DrawViewPart::makeGeometryForShape(TopoDS_Shape& shape) { // Base::Console().Message("DVP::makeGeometryForShape() - %s\n", getNameInDocument()); @@ -324,14 +322,14 @@ GeometryObjectPtr DrawViewPart::makeGeometryForShape(TopoDS_Shape& shape) BRepBuilderAPI_Copy copier(shape, copyGeometry, copyMesh); TopoDS_Shape localShape = copier.Shape(); - gp_Pnt gCentroid = TechDraw::findCentroid(localShape, getProjectionCS()); + gp_Pnt gCentroid = ShapeUtils::findCentroid(localShape, getProjectionCS()); m_saveCentroid = DU::toVector3d(gCentroid); m_saveShape = centerScaleRotate(this, localShape, m_saveCentroid); return buildGeometryObject(localShape, getProjectionCS()); } -//Modify a shape by centering, scaling and rotating and return the centered (but not rotated) shape +//! Modify a shape by centering, scaling and rotating and return the centered (but not rotated) shape TopoDS_Shape DrawViewPart::centerScaleRotate(DrawViewPart* dvp, TopoDS_Shape& inOutShape, Base::Vector3d centroid) { @@ -339,18 +337,18 @@ TopoDS_Shape DrawViewPart::centerScaleRotate(DrawViewPart* dvp, TopoDS_Shape& in gp_Ax2 viewAxis = dvp->getProjectionCS(); //center shape on origin - TopoDS_Shape centeredShape = TechDraw::moveShape(inOutShape, centroid * -1.0); + TopoDS_Shape centeredShape = ShapeUtils::moveShape(inOutShape, centroid * -1.0); - inOutShape = TechDraw::scaleShape(centeredShape, dvp->getScale()); + inOutShape = ShapeUtils::scaleShape(centeredShape, dvp->getScale()); if (!DrawUtil::fpCompare(dvp->Rotation.getValue(), 0.0)) { - inOutShape = TechDraw::rotateShape(inOutShape, viewAxis, + inOutShape = ShapeUtils::rotateShape(inOutShape, viewAxis, dvp->Rotation.getValue());//conventional rotation } // BRepTools::Write(inOutShape, "DVPScaled.brep"); //debug return centeredShape; } -//create a geometry object and trigger the HLR process in another thread +//! create a geometry object and trigger the HLR process in another thread TechDraw::GeometryObjectPtr DrawViewPart::buildGeometryObject(TopoDS_Shape& shape, const gp_Ax2& viewAxis) { @@ -397,7 +395,7 @@ TechDraw::GeometryObjectPtr DrawViewPart::buildGeometryObject(TopoDS_Shape& shap return go; } -//continue processing after hlr thread completes +//! continue processing after hlr thread completes void DrawViewPart::onHlrFinished(void) { // Base::Console().Message("DVP::onHlrFinished() - %s\n", getNameInDocument()); @@ -447,7 +445,7 @@ void DrawViewPart::onHlrFinished(void) } } -//run any tasks that need to been done after geometry is available +//! run any tasks that need to been done after geometry is available void DrawViewPart::postHlrTasks(void) { // Base::Console().Message("DVP::postHlrTasks() - %s\n", getNameInDocument()); @@ -522,177 +520,188 @@ void DrawViewPart::extractFaces() } if (newFaceFinder()) { - std::vector closedEdges; - std::vector cleanEdges = DrawProjectSplit::scrubEdges(goEdges, closedEdges); + findFacesNew(goEdges); + } else { + findFacesOld(goEdges); + } +} - if (cleanEdges.empty() && closedEdges.empty()) { - //how does this happen? something wrong somewhere - // Base::Console().Message("DVP::extractFaces - no clean or closed wires\n"); //debug - return; +// use the revised face finder algo +void DrawViewPart::findFacesNew(const std::vector &goEdges) +{ + std::vector closedEdges; + std::vector cleanEdges = DrawProjectSplit::scrubEdges(goEdges, closedEdges); + + if (cleanEdges.empty() && closedEdges.empty()) { + //how does this happen? something wrong somewhere + // Base::Console().Message("DVP::findFacesNew - no clean or closed wires\n"); //debug + return; + } + + //use EdgeWalker to make wires from edges + EdgeWalker eWalker; + std::vector sortedWires; + try { + if (!cleanEdges.empty()) { + sortedWires = eWalker.execute(cleanEdges, true);//include outer wire } + } + catch (Base::Exception& e) { + throw Base::RuntimeError(e.what()); + } + geometryObject->clearFaceGeom(); - //use EdgeWalker to make wires from edges - EdgeWalker eWalker; - std::vector sortedWires; - try { - if (!cleanEdges.empty()) { - sortedWires = eWalker.execute(cleanEdges, true);//include outer wire + std::vector closedWires; + for (auto& e : closedEdges) { + BRepBuilderAPI_MakeWire mkWire(e); + TopoDS_Wire w = mkWire.Wire(); + closedWires.push_back(w); + } + if (!closedWires.empty()) { + sortedWires.insert(sortedWires.end(), closedWires.begin(), closedWires.end()); + //inserting the closedWires that did not go through EdgeWalker into + //sortedWires ruins EdgeWalker's sort by size, so we have to do it again. + sortedWires = eWalker.sortWiresBySize(sortedWires); + } + + if (sortedWires.empty()) { + Base::Console().Warning( + "DVP::findFacesNew - %s - Can't make faces from projected edges\n", + getNameInDocument()); + } + else { + constexpr double minWireArea = 0.000001;//arbitrary very small face size + std::vector::iterator itWire = sortedWires.begin(); + for (; itWire != sortedWires.end(); itWire++) { + if (!BRep_Tool::IsClosed(*itWire)) { + continue;//can not make a face from open wire } - } - catch (Base::Exception& e) { - throw Base::RuntimeError(e.what()); - } - geometryObject->clearFaceGeom(); - std::vector closedWires; - for (auto& e : closedEdges) { - BRepBuilderAPI_MakeWire mkWire(e); - TopoDS_Wire w = mkWire.Wire(); - closedWires.push_back(w); - } - if (!closedWires.empty()) { - sortedWires.insert(sortedWires.end(), closedWires.begin(), closedWires.end()); - //inserting the closedWires that did not go through EdgeWalker into - //sortedWires ruins EdgeWalker's sort by size, so we have to do it again. - sortedWires = eWalker.sortWiresBySize(sortedWires); - } + double area = ShapeAnalysis::ContourArea(*itWire); + if (area <= minWireArea) { + continue;//can not make a face from wire with no area + } - if (sortedWires.empty()) { - Base::Console().Warning( - "DVP::extractFaces - %s - Can't make faces from projected edges\n", - getNameInDocument()); - } - else { - constexpr double minWireArea = 0.000001;//arbitrary very small face size - std::vector::iterator itWire = sortedWires.begin(); - for (; itWire != sortedWires.end(); itWire++) { - if (!BRep_Tool::IsClosed(*itWire)) { - continue;//can not make a face from open wire - } - - double area = ShapeAnalysis::ContourArea(*itWire); - if (area <= minWireArea) { - continue;//can not make a face from wire with no area - } - - TechDraw::FacePtr f(std::make_shared()); - const TopoDS_Wire& wire = (*itWire); - f->wires.push_back(new TechDraw::Wire(wire)); - if (geometryObject) { - geometryObject->addFaceGeom(f); - } + TechDraw::FacePtr f(std::make_shared()); + const TopoDS_Wire& wire = (*itWire); + f->wires.push_back(new TechDraw::Wire(wire)); + if (geometryObject) { + geometryObject->addFaceGeom(f); } } } - else {//use original method - //make a copy of the input edges so the loose tolerances of face finding are - //not applied to the real edge geometry. See TopoDS_Shape::TShape(). - std::vector copyEdges; - bool copyGeometry = true; - bool copyMesh = false; - for (const auto& e : goEdges) { - BRepBuilderAPI_Copy copier(e->getOCCEdge(), copyGeometry, copyMesh); - copyEdges.push_back(TopoDS::Edge(copier.Shape())); - } - std::vector nonZero; - for (auto& e : copyEdges) {//drop any zero edges (shouldn't be any by now!!!) - if (!DrawUtil::isZeroEdge(e)) { - nonZero.push_back(e); - } - } +} - //HLR algo does not provide all edge intersections for edge endpoints. - //need to split long edges touched by Vertex of another edge - std::vector splits; - std::vector::iterator itOuter = nonZero.begin(); - int iOuter = 0; - for (; itOuter != nonZero.end(); ++itOuter, iOuter++) {//*** itOuter != nonZero.end() - 1 - TopoDS_Vertex v1 = TopExp::FirstVertex((*itOuter)); - TopoDS_Vertex v2 = TopExp::LastVertex((*itOuter)); - Bnd_Box sOuter; - BRepBndLib::AddOptimal(*itOuter, sOuter); - sOuter.SetGap(0.1); - if (sOuter.IsVoid()) { +// original face finding method +void DrawViewPart::findFacesOld(const std::vector &goEdges) +{ + //make a copy of the input edges so the loose tolerances of face finding are + //not applied to the real edge geometry. See TopoDS_Shape::TShape(). + std::vector copyEdges; + bool copyGeometry = true; + bool copyMesh = false; + for (const auto& e : goEdges) { + BRepBuilderAPI_Copy copier(e->getOCCEdge(), copyGeometry, copyMesh); + copyEdges.push_back(TopoDS::Edge(copier.Shape())); + } + std::vector nonZero; + for (auto& e : copyEdges) {//drop any zero edges (shouldn't be any by now!!!) + if (!DrawUtil::isZeroEdge(e)) { + nonZero.push_back(e); + } + } + + //HLR algo does not provide all edge intersections for edge endpoints. + //need to split long edges touched by Vertex of another edge + std::vector splits; + std::vector::iterator itOuter = nonZero.begin(); + int iOuter = 0; + for (; itOuter != nonZero.end(); ++itOuter, iOuter++) {//*** itOuter != nonZero.end() - 1 + TopoDS_Vertex v1 = TopExp::FirstVertex((*itOuter)); + TopoDS_Vertex v2 = TopExp::LastVertex((*itOuter)); + Bnd_Box sOuter; + BRepBndLib::AddOptimal(*itOuter, sOuter); + sOuter.SetGap(0.1); + if (sOuter.IsVoid()) { + continue; + } + if (DrawUtil::isZeroEdge(*itOuter)) { + continue; //skip zero length edges. shouldn't happen ;) + } + int iInner = 0; + std::vector::iterator itInner = nonZero.begin();//***sb itOuter + 1; + for (; itInner != nonZero.end(); ++itInner, iInner++) { + if (iInner == iOuter) { continue; } - if (DrawUtil::isZeroEdge(*itOuter)) { - continue; //skip zero length edges. shouldn't happen ;) + if (DrawUtil::isZeroEdge((*itInner))) { + continue;//skip zero length edges. shouldn't happen ;) } - int iInner = 0; - std::vector::iterator itInner = nonZero.begin();//***sb itOuter + 1; - for (; itInner != nonZero.end(); ++itInner, iInner++) { - if (iInner == iOuter) { - continue; - } - if (DrawUtil::isZeroEdge((*itInner))) { - continue;//skip zero length edges. shouldn't happen ;) - } - Bnd_Box sInner; - BRepBndLib::AddOptimal(*itInner, sInner); - sInner.SetGap(0.1); - if (sInner.IsVoid()) { - continue; - } - if (sOuter.IsOut(sInner)) {//bboxes of edges don't intersect, don't bother - continue; - } + Bnd_Box sInner; + BRepBndLib::AddOptimal(*itInner, sInner); + sInner.SetGap(0.1); + if (sInner.IsVoid()) { + continue; + } + if (sOuter.IsOut(sInner)) {//bboxes of edges don't intersect, don't bother + continue; + } - double param = -1; - if (DrawProjectSplit::isOnEdge((*itInner), v1, param, false)) { - gp_Pnt pnt1 = BRep_Tool::Pnt(v1); - splitPoint s1; - s1.i = iInner; - s1.v = Base::Vector3d(pnt1.X(), pnt1.Y(), pnt1.Z()); - s1.param = param; - splits.push_back(s1); - } - if (DrawProjectSplit::isOnEdge((*itInner), v2, param, false)) { - gp_Pnt pnt2 = BRep_Tool::Pnt(v2); - splitPoint s2; - s2.i = iInner; - s2.v = Base::Vector3d(pnt2.X(), pnt2.Y(), pnt2.Z()); - s2.param = param; - splits.push_back(s2); - } - }//inner loop - } //outer loop + double param = -1; + if (DrawProjectSplit::isOnEdge((*itInner), v1, param, false)) { + gp_Pnt pnt1 = BRep_Tool::Pnt(v1); + splitPoint s1; + s1.i = iInner; + s1.v = Base::Vector3d(pnt1.X(), pnt1.Y(), pnt1.Z()); + s1.param = param; + splits.push_back(s1); + } + if (DrawProjectSplit::isOnEdge((*itInner), v2, param, false)) { + gp_Pnt pnt2 = BRep_Tool::Pnt(v2); + splitPoint s2; + s2.i = iInner; + s2.v = Base::Vector3d(pnt2.X(), pnt2.Y(), pnt2.Z()); + s2.param = param; + splits.push_back(s2); + } + }//inner loop + } //outer loop - std::vector sorted = DrawProjectSplit::sortSplits(splits, true); - auto last = std::unique(sorted.begin(), sorted.end(), - DrawProjectSplit::splitEqual);//duplicates to back - sorted.erase(last, sorted.end()); //remove dupl splits - std::vector newEdges = DrawProjectSplit::splitEdges(nonZero, sorted); + std::vector sorted = DrawProjectSplit::sortSplits(splits, true); + auto last = std::unique(sorted.begin(), sorted.end(), + DrawProjectSplit::splitEqual);//duplicates to back + sorted.erase(last, sorted.end()); //remove dupl splits + std::vector newEdges = DrawProjectSplit::splitEdges(nonZero, sorted); - if (newEdges.empty()) { - return; - } + if (newEdges.empty()) { + return; + } - newEdges = DrawProjectSplit::removeDuplicateEdges(newEdges); + newEdges = DrawProjectSplit::removeDuplicateEdges(newEdges); - geometryObject->clearFaceGeom(); + geometryObject->clearFaceGeom(); - //find all the wires in the pile of faceEdges - std::vector sortedWires; - EdgeWalker eWalker; - sortedWires = eWalker.execute(newEdges); - if (sortedWires.empty()) { - Base::Console().Warning( - "DVP::extractFaces - %s -Can't make faces from projected edges\n", - getNameInDocument()); - return; - } - else { - std::vector::iterator itWire = sortedWires.begin(); - for (; itWire != sortedWires.end(); itWire++) { - //version 1: 1 wire/face - no voids in face - TechDraw::FacePtr f(std::make_shared()); - const TopoDS_Wire& wire = (*itWire); - TechDraw::Wire* w = new TechDraw::Wire(wire); - f->wires.push_back(w); - if (geometryObject) { - geometryObject->addFaceGeom(f); - } + //find all the wires in the pile of faceEdges + std::vector sortedWires; + EdgeWalker eWalker; + sortedWires = eWalker.execute(newEdges); + if (sortedWires.empty()) { + Base::Console().Warning( + "DVP::findFacesOld - %s -Can't make faces from projected edges\n", + getNameInDocument()); + return; + } + else { + std::vector::iterator itWire = sortedWires.begin(); + for (; itWire != sortedWires.end(); itWire++) { + //version 1: 1 wire/face - no voids in face + TechDraw::FacePtr f(std::make_shared()); + const TopoDS_Wire& wire = (*itWire); + TechDraw::Wire* w = new TechDraw::Wire(wire); + f->wires.push_back(w); + if (geometryObject) { + geometryObject->addFaceGeom(f); } } } @@ -956,7 +965,7 @@ QRectF DrawViewPart::getRect() const } //returns a compound of all the visible projected edges -TopoDS_Shape DrawViewPart::getShape() const +TopoDS_Shape DrawViewPart::getEdgeCompound() const { BRep_Builder builder; TopoDS_Compound result; @@ -982,17 +991,18 @@ TopoDS_Shape DrawViewPart::getShape() const return TopoDS_Shape(); } -//returns the (unscaled) size of the visible lines along the alignment vector. -//alignment vector is already projected onto our CS, so only has X,Y components +// returns the (unscaled) size of the visible lines along the alignment vector. +// alignment vector is already projected onto our CS, so only has X,Y components +// used in calculating the length of a section line double DrawViewPart::getSizeAlongVector(Base::Vector3d alignmentVector) { // Base::Console().Message("DVP::GetSizeAlongVector(%s)\n", DrawUtil::formatVector(alignmentVector).c_str()); double alignmentAngle = atan2(alignmentVector.y, alignmentVector.x) * -1.0; gp_Ax2 OXYZ;//shape has already been projected and we will rotate around Z - if (getShape().IsNull()) { + if (getEdgeCompound().IsNull()) { return 1.0; } - TopoDS_Shape rotatedShape = rotateShape(getShape(), OXYZ, alignmentAngle * 180.0 / M_PI); + TopoDS_Shape rotatedShape = ShapeUtils::rotateShape(getEdgeCompound(), OXYZ, alignmentAngle * 180.0 / M_PI); Bnd_Box shapeBox; shapeBox.SetGap(0.0); BRepBndLib::AddOptimal(rotatedShape, shapeBox); @@ -1021,8 +1031,7 @@ Base::Vector3d DrawViewPart::projectPoint(const Base::Vector3d& pt, bool invert) return result; } -//project a loose edge onto the paper plane -//TODO:: loose edges not supported yet +//project an edge onto the paper plane BaseGeomPtr DrawViewPart::projectEdge(const TopoDS_Edge& e) const { Base::Vector3d stdOrg(0.0, 0.0, 0.0); @@ -1037,27 +1046,6 @@ BaseGeomPtr DrawViewPart::projectEdge(const TopoDS_Edge& e) const return BaseGeom::baseFactory(TopoDS::Edge(s)); } -//simple projection of inWire with conversion of the result to TD geometry -BaseGeomPtrVector DrawViewPart::projectWire(const TopoDS_Wire& inWire) const -{ - // Base::Console().Message("DVP::projectWire() - inWire.IsNull: %d\n", inWire.IsNull()); - BaseGeomPtrVector result; - Base::Vector3d stdOrg(0.0, 0.0, 0.0); - - TopoDS_Face paper = BRepBuilderAPI_MakeFace(gp_Pln(getProjectionCS(stdOrg))); - BRepAlgo_NormalProjection projector(paper); - projector.Add(inWire); - projector.Build(); - BRepTools::Write(projector.Projection(), "DVPprojectedWire.brep");//debug - - TopExp_Explorer expShape(projector.Projection(), TopAbs_EDGE); - for (; expShape.More(); expShape.Next()) { - BaseGeomPtr edge = BaseGeom::baseFactory(TopoDS::Edge(expShape.Current())); - result.push_back(edge); - } - return result; -} - bool DrawViewPart::waitingForResult() const { if (waitingForHlr() || waitingForFaces()) { @@ -1166,23 +1154,10 @@ Base::Vector3d DrawViewPart::getCurrentCentroid() const return Base::Vector3d(0.0, 0.0, 0.0); } gp_Ax2 cs = getProjectionCS(); - gp_Pnt gCenter = TechDraw::findCentroid(shape, cs); + gp_Pnt gCenter = ShapeUtils::findCentroid(shape, cs); return DU::toVector3d(gCenter); } - -Base::Vector3d DrawViewPart::getLocalOrigin3d() const -{ - return getCurrentCentroid(); -} - -Base::Vector3d DrawViewPart::getLocalOrigin2d() const -{ - Base::Vector3d centroid = getCurrentCentroid(); - return projectPoint(centroid, false); -} - - std::vector DrawViewPart::getSectionRefs() const { std::vector result; @@ -1228,6 +1203,7 @@ bool DrawViewPart::newFaceFinder(void) //! hatches, geomhatches, dimensions, ... void DrawViewPart::unsetupObject() { +// Base::Console().Message("DVP::unsetupObject()\n"); nowUnsetting = true; App::Document* doc = getDocument(); std::string docName = doc->getName(); @@ -1283,17 +1259,6 @@ void DrawViewPart::unsetupObject() } } -//! is this an Isometric projection? -bool DrawViewPart::isIso() const -{ - Base::Vector3d dir = Direction.getValue(); - if (DrawUtil::fpCompare(fabs(dir.x), fabs(dir.y)) - && DrawUtil::fpCompare(fabs(dir.x), fabs(dir.z))) { - return true; - } - return false; -} - bool DrawViewPart::checkXDirection() const { // Base::Console().Message("DVP::checkXDirection()\n"); @@ -1331,11 +1296,13 @@ Base::Vector3d DrawViewPart::getLegacyX(const Base::Vector3d& pt, const Base::Ve const bool flip) const { // Base::Console().Message("DVP::getLegacyX() - %s\n", Label.getValue()); - gp_Ax2 viewAxis = TechDraw::legacyViewAxis1(pt, axis, flip); + gp_Ax2 viewAxis = ShapeUtils::legacyViewAxis1(pt, axis, flip); gp_Dir gXDir = viewAxis.XDirection(); return Base::Vector3d(gXDir.X(), gXDir.Y(), gXDir.Z()); } +// reference dimensions & their vertices +// these routines may be obsolete void DrawViewPart::updateReferenceVert(std::string tag, Base::Vector3d loc2d) { @@ -1409,206 +1376,7 @@ void DrawViewPart::resetReferenceVerts() addReferencesToGeom(); } -//******** -//* Cosmetics -//******** - -void DrawViewPart::clearCosmeticVertexes() -{ - std::vector noVerts; - CosmeticVertexes.setValues(noVerts); -} - -//add the cosmetic verts to geometry vertex list -void DrawViewPart::addCosmeticVertexesToGeom() -{ - // Base::Console().Message("DVP::addCosmeticVertexesToGeom()\n"); - const std::vector cVerts = CosmeticVertexes.getValues(); - for (auto& cv : cVerts) { - int iGV = geometryObject->addCosmeticVertex(cv->scaled(getScale()), cv->getTagAsString()); - cv->linkGeom = iGV; - } -} - -int DrawViewPart::add1CVToGV(std::string tag) -{ - // Base::Console().Message("DVP::add1CVToGV(%s)\n", tag.c_str()); - TechDraw::CosmeticVertex* cv = getCosmeticVertex(tag); - if (!cv) { - Base::Console().Message("DVP::add1CVToGV - cv %s not found\n", tag.c_str()); - return 0; - } - int iGV = geometryObject->addCosmeticVertex(cv->scaled(getScale()), cv->getTagAsString()); - cv->linkGeom = iGV; - return iGV; -} - -//update Vertex geometry with current CV's -void DrawViewPart::refreshCVGeoms() -{ - // Base::Console().Message("DVP::refreshCVGeoms()\n"); - - std::vector gVerts = getVertexGeometry(); - std::vector newGVerts; - for (auto& gv : gVerts) { - if (gv->getCosmeticTag().empty()) {//keep only non-cv vertices - newGVerts.push_back(gv); - } - } - getGeometryObject()->setVertexGeometry(newGVerts); - addCosmeticVertexesToGeom(); -} - -//what is the CV's position in the big geometry q -int DrawViewPart::getCVIndex(std::string tag) -{ - // Base::Console().Message("DVP::getCVIndex(%s)\n", tag.c_str()); - std::vector gVerts = getVertexGeometry(); - std::vector cVerts = CosmeticVertexes.getValues(); - - int i = 0; - for (auto& gv : gVerts) { - if (gv->getCosmeticTag() == tag) { - return i; - } - i++; - } - - // Nothing found - int base = gVerts.size(); - i = 0; - for (auto& cv : cVerts) { - // Base::Console().Message("DVP::getCVIndex - cv tag: %s\n", - // cv->getTagAsString().c_str()); - if (cv->getTagAsString() == tag) { - return base + i; - } - i++; - } - - // Base::Console().Message("DVP::getCVIndex - returns: %d\n", result); - return -1; -} - - -//CosmeticEdges ------------------------------------------------------------------- - -//for completeness. not actually used anywhere? -void DrawViewPart::clearCosmeticEdges() -{ - std::vector noEdges; - CosmeticEdges.setValues(noEdges); -} - -//add the cosmetic edges to geometry edge list -void DrawViewPart::addCosmeticEdgesToGeom() -{ - // Base::Console().Message("CEx::addCosmeticEdgesToGeom()\n"); - const std::vector cEdges = CosmeticEdges.getValues(); - for (auto& ce : cEdges) { - TechDraw::BaseGeomPtr scaledGeom = ce->scaledGeometry(getScale()); - if (!scaledGeom) - continue; - // int iGE = - geometryObject->addCosmeticEdge(scaledGeom, ce->getTagAsString()); - } -} - -int DrawViewPart::add1CEToGE(std::string tag) -{ - // Base::Console().Message("CEx::add1CEToGE(%s) 2\n", tag.c_str()); - TechDraw::CosmeticEdge* ce = getCosmeticEdge(tag); - if (!ce) { - Base::Console().Message("CEx::add1CEToGE 2 - ce %s not found\n", tag.c_str()); - return -1; - } - TechDraw::BaseGeomPtr scaledGeom = ce->scaledGeometry(getScale()); - int iGE = geometryObject->addCosmeticEdge(scaledGeom, tag); - - return iGE; -} - -//update Edge geometry with current CE's -void DrawViewPart::refreshCEGeoms() -{ - // Base::Console().Message("DVP::refreshCEGeoms()\n"); - std::vector gEdges = getEdgeGeometry(); - std::vector oldGEdges; - for (auto& ge : gEdges) { - if (ge->source() != SourceType::COSEDGE) { - oldGEdges.push_back(ge); - } - } - getGeometryObject()->setEdgeGeometry(oldGEdges); - addCosmeticEdgesToGeom(); -} - - -// CenterLines ----------------------------------------------------------------- -void DrawViewPart::clearCenterLines() -{ - std::vector noLines; - CenterLines.setValues(noLines); -} - -int DrawViewPart::add1CLToGE(std::string tag) -{ - // Base::Console().Message("CEx::add1CLToGE(%s) 2\n", tag.c_str()); - TechDraw::CenterLine* cl = getCenterLine(tag); - if (!cl) { - Base::Console().Message("CEx::add1CLToGE 2 - cl %s not found\n", tag.c_str()); - return -1; - } - TechDraw::BaseGeomPtr scaledGeom = cl->scaledGeometry(this); - int iGE = geometryObject->addCenterLine(scaledGeom, tag); - - return iGE; -} - -//update Edge geometry with current CL's -void DrawViewPart::refreshCLGeoms() -{ - // Base::Console().Message("DVP::refreshCLGeoms()\n"); - std::vector gEdges = getEdgeGeometry(); - std::vector newGEdges; - for (auto& ge : gEdges) { - if (ge->source() != SourceType::CENTERLINE) { - newGEdges.push_back(ge); - } - } - getGeometryObject()->setEdgeGeometry(newGEdges); - addCenterLinesToGeom(); -} - -//add the center lines to geometry Edges list -void DrawViewPart::addCenterLinesToGeom() -{ - // Base::Console().Message("DVP::addCenterLinesToGeom()\n"); - const std::vector lines = CenterLines.getValues(); - for (auto& cl : lines) { - TechDraw::BaseGeomPtr scaledGeom = cl->scaledGeometry(this); - if (!scaledGeom) { - Base::Console().Error("DVP::addCenterLinesToGeom - scaledGeometry is null\n"); - continue; - } - // int idx = - (void)geometryObject->addCenterLine(scaledGeom, cl->getTagAsString()); - } -} - -// GeomFormats ----------------------------------------------------------------- - -void DrawViewPart::clearGeomFormats() -{ - std::vector noFormats; - std::vector fmts = GeomFormats.getValues(); - GeomFormats.setValues(noFormats); - for (auto& f : fmts) { - delete f; - } -} - -//------------------------------------------------------------------------------ +// debugging ---------------------------------------------------------------------------- void DrawViewPart::dumpVerts(std::string text) { @@ -1650,58 +1418,6 @@ PyObject* DrawViewPart::getPyObject() return Py::new_reference_to(PythonObject); } -void DrawViewPart::handleChangedPropertyName(Base::XMLReader& reader, const char* TypeName, - const char* PropName) -{ - // extHandleChangedPropertyName(reader, TypeName, PropName); // CosmeticExtension - DrawView::handleChangedPropertyName(reader, TypeName, PropName); -} - -bool DrawViewPart::prefHardViz() -{ - return Preferences::getPreferenceGroup("HLR")->GetBool("HardViz", true); -} - -bool DrawViewPart::prefSeamViz() -{ - return Preferences::getPreferenceGroup("HLR")->GetBool("SeamViz", false); -} - -bool DrawViewPart::prefSmoothViz() -{ - return Preferences::getPreferenceGroup("HLR")->GetBool("SmoothViz", true); -} - -bool DrawViewPart::prefIsoViz() -{ - return Preferences::getPreferenceGroup("HLR")->GetBool("IsoViz", false); -} - -bool DrawViewPart::prefHardHid() -{ - return Preferences::getPreferenceGroup("HLR")->GetBool("HardHid", false); -} - -bool DrawViewPart::prefSeamHid() -{ - return Preferences::getPreferenceGroup("HLR")->GetBool("SeamHid", false); -} - -bool DrawViewPart::prefSmoothHid() -{ - return Preferences::getPreferenceGroup("HLR")->GetBool("SmoothHid", false); -} - -bool DrawViewPart::prefIsoHid() -{ - return Preferences::getPreferenceGroup("HLR")->GetBool("IsoHid", false); -} - -int DrawViewPart::prefIsoCount() -{ - return Preferences::getPreferenceGroup("HLR")->GetBool("IsoCount", false); -} - // Python Drawing feature --------------------------------------------------------- namespace App diff --git a/src/Mod/TechDraw/App/DrawViewPart.h b/src/Mod/TechDraw/App/DrawViewPart.h index 06c95b4b70..b0c0c2cdd2 100644 --- a/src/Mod/TechDraw/App/DrawViewPart.h +++ b/src/Mod/TechDraw/App/DrawViewPart.h @@ -118,10 +118,13 @@ public: static TopoDS_Shape centerScaleRotate(DrawViewPart* dvp, TopoDS_Shape& inOutShape, Base::Vector3d centroid); + std::vector getHatches() const; std::vector getGeomHatches() const; std::vector getDimensions() const; std::vector getBalloons() const; + virtual std::vector getSectionRefs() const; + virtual std::vector getDetailRefs() const; const std::vector getVertexGeometry() const; const BaseGeomPtrVector getEdgeGeometry() const; @@ -135,27 +138,29 @@ public: TechDraw::BaseGeomPtr getEdge(std::string edgeName) const; TechDraw::FacePtr getFace(std::string faceName) const; - TechDraw::BaseGeomPtr - getGeomByIndex(int idx) const;//get existing geom for edge idx in projection - TechDraw::VertexPtr - getProjVertexByIndex(int idx) const;//get existing geom for vertex idx in projection - + //get existing geom for edge idx in projection + TechDraw::BaseGeomPtr getGeomByIndex(int idx) const; + //get existing geom for vertex idx in projection + TechDraw::VertexPtr getProjVertexByIndex(int idx) const; + // get existing geom for vertex by unique tag TechDraw::VertexPtr getProjVertexByCosTag(std::string cosTag); - std::vector - getFaceEdgesByIndex(int idx) const;//get edges for face idx in projection + //get edges for face idx in projection + std::vector getFaceEdgesByIndex(int idx) const; + // get the wires that define face idx + virtual std::vector getWireForFace(int idx) const; + //returns a compound of all the visible projected edges + TopoDS_Shape getEdgeCompound() const; + // projected geometry measurements virtual Base::BoundBox3d getBoundingBox() const; double getBoxX() const; double getBoxY() const; QRectF getRect() const override; - virtual std::vector - getSectionRefs() const;//are there ViewSections based on this ViewPart? - virtual std::vector getDetailRefs() const; - + double getSizeAlongVector(Base::Vector3d alignmentVector); + // ancillary projection routines virtual Base::Vector3d projectPoint(const Base::Vector3d& pt, bool invert = true) const; virtual BaseGeomPtr projectEdge(const TopoDS_Edge& e) const; - virtual BaseGeomPtrVector projectWire(const TopoDS_Wire& inWire) const; virtual gp_Ax2 getViewAxis(const Base::Vector3d& pt, const Base::Vector3d& direction, const bool flip = true) const; @@ -166,54 +171,25 @@ public: virtual Base::Vector3d getCurrentCentroid() const; virtual Base::Vector3d getLegacyX(const Base::Vector3d& pt, const Base::Vector3d& axis, const bool flip = true) const; + gp_Ax2 localVectorToCS(const Base::Vector3d localUnit) const; Base::Vector3d localVectorToDirection(const Base::Vector3d localUnit) const; - Base::Vector3d getLocalOrigin3d() const; - Base::Vector3d getLocalOrigin2d() const; - + // switches bool handleFaces(); bool newFaceFinder(); - bool isUnsetting() { return nowUnsetting; } - virtual std::vector getWireForFace(int idx) const; - - virtual TopoDS_Shape getSourceShape() const; - virtual TopoDS_Shape getSourceShapeFused() const; - virtual std::vector getSourceShape2d() const; + virtual TopoDS_Shape getSourceShape(bool fuse = false) const; virtual TopoDS_Shape getShapeForDetail() const; + std::vector getAllSources() const; - TopoDS_Shape getShape() const; - double getSizeAlongVector(Base::Vector3d alignmentVector); - - virtual void postHlrTasks(void); - virtual void postFaceExtractionTasks(void); - - bool isIso() const; - - void clearCosmeticVertexes(); - void refreshCVGeoms(); - void addCosmeticVertexesToGeom(); - int add1CVToGV(std::string tag); - int getCVIndex(std::string tag); - - void clearCosmeticEdges(); - void refreshCEGeoms(); - void addCosmeticEdgesToGeom(); - int add1CEToGE(std::string tag); - - void clearCenterLines(); - void refreshCLGeoms(); - void addCenterLinesToGeom(); - int add1CLToGE(std::string tag); - - void clearGeomFormats(); - + // debug routines void dumpVerts(const std::string text); void dumpCosVerts(const std::string text); void dumpCosEdges(const std::string text); + // routines related to landmark dimensions (obs?) std::string addReferenceVertex(Base::Vector3d v); void addReferencesToGeom(); void removeReferenceVertex(std::string tag); @@ -221,14 +197,14 @@ public: void removeAllReferencesFromGeom(); void resetReferenceVerts(); - std::vector getAllSources() const; - + // routines related to multi-threading + virtual void postHlrTasks(void); + virtual void postFaceExtractionTasks(void); bool waitingForFaces() const { return m_waitingForFaces; } void waitingForFaces(bool s) { m_waitingForFaces = s; } bool waitingForHlr() const { return m_waitingForHlr; } void waitingForHlr(bool s) { m_waitingForHlr = s; } virtual bool waitingForResult() const; - void progressValueChanged(int v); public Q_SLOTS: @@ -252,28 +228,16 @@ protected: virtual void addShapes2d(void); void extractFaces(); + void findFacesNew(const std::vector& goEdges); + void findFacesOld(const std::vector& goEdges); Base::Vector3d shapeCentroid; - void getRunControl(); bool m_handleFaces; TopoDS_Shape m_saveShape; //TODO: make this a Property. Part::TopoShapeProperty?? Base::Vector3d m_saveCentroid;//centroid before centering shape in origin - void handleChangedPropertyName(Base::XMLReader& reader, const char* TypeName, - const char* PropName) override; - - bool prefHardViz(); - bool prefSeamViz(); - bool prefSmoothViz(); - bool prefIsoViz(); - bool prefHardHid(); - bool prefSeamHid(); - bool prefSmoothHid(); - bool prefIsoHid(); - int prefIsoCount(); - std::vector m_referenceVerts; private: diff --git a/src/Mod/TechDraw/App/DrawViewPartPyImp.cpp b/src/Mod/TechDraw/App/DrawViewPartPyImp.cpp index 595a9e4e71..c1cefa3b7f 100644 --- a/src/Mod/TechDraw/App/DrawViewPartPyImp.cpp +++ b/src/Mod/TechDraw/App/DrawViewPartPyImp.cpp @@ -658,7 +658,7 @@ PyObject* DrawViewPartPy::getEdgeByIndex(PyObject *args) return nullptr; } - TopoDS_Shape temp = TechDraw::mirrorShapeVec(geom->getOCCEdge(), + TopoDS_Shape temp = ShapeUtils::mirrorShapeVec(geom->getOCCEdge(), Base::Vector3d(0.0, 0.0, 0.0), 1.0 / dvp->getScale()); @@ -712,7 +712,7 @@ PyObject* DrawViewPartPy::getEdgeBySelection(PyObject *args) return nullptr; } - TopoDS_Shape temp = TechDraw::mirrorShapeVec(geom->getOCCEdge(), + TopoDS_Shape temp = ShapeUtils::mirrorShapeVec(geom->getOCCEdge(), Base::Vector3d(0.0, 0.0, 0.0), 1.0 / dvp->getScale()); diff --git a/src/Mod/TechDraw/App/DrawViewPy.xml b/src/Mod/TechDraw/App/DrawViewPy.xml index 750819f6b4..7bc1d48a31 100644 --- a/src/Mod/TechDraw/App/DrawViewPy.xml +++ b/src/Mod/TechDraw/App/DrawViewPy.xml @@ -13,6 +13,13 @@ Feature for creating and manipulating Technical Drawing Views - + + + translateLabel(translationContext, objectBaseName, objectUniqueName). + No return value. Replace the current label with a translated version where possible. + + + + diff --git a/src/Mod/TechDraw/App/DrawViewPyImp.cpp b/src/Mod/TechDraw/App/DrawViewPyImp.cpp index 1d2025f532..9d43c4044f 100644 --- a/src/Mod/TechDraw/App/DrawViewPyImp.cpp +++ b/src/Mod/TechDraw/App/DrawViewPyImp.cpp @@ -27,7 +27,6 @@ #include #include - using namespace TechDraw; // returns a string which represents the object e.g. when printed in python @@ -36,6 +35,49 @@ std::string DrawViewPy::representation(void) const return std::string(""); } +//! replace the current Label with a translated version +PyObject* DrawViewPy::translateLabel(PyObject *args) +{ + PyObject* pyContext; + PyObject* pyBaseName; + PyObject* pyUniqueName; + std::string context; + std::string baseName; + std::string uniqueName; + + if (!PyArg_ParseTuple(args, "OOO", &pyContext, &pyBaseName, &pyUniqueName)) { + throw Py::TypeError("Could not translate label - bad parameters."); + } + + Py_ssize_t size = 0; + const char* cContext = PyUnicode_AsUTF8AndSize(pyContext, &size); + if (cContext) { + context = std::string(cContext, size); + } else { + throw Py::TypeError("Could not translate label - context not available."); + } + + const char* cBaseName = PyUnicode_AsUTF8AndSize(pyBaseName, &size); + if (cBaseName) { + baseName = std::string(cBaseName, size); + } else { + throw Py::TypeError("Could not translate label - base name not available."); + } + + const char* cUniqueName = PyUnicode_AsUTF8AndSize(pyUniqueName, &size); + if (cUniqueName) { + uniqueName = std::string(cUniqueName, size); + } else { + throw Py::TypeError("Could not translate label - unique name not available."); + } + + // we have the 3 parameters we need for DrawView::translateLabel + DrawView* dv = getDrawViewPtr(); + dv->translateLabel(context, baseName, uniqueName); + + Py_Return; +} + PyObject *DrawViewPy::getCustomAttributes(const char* /*attr*/) const { diff --git a/src/Mod/TechDraw/App/DrawViewSection.cpp b/src/Mod/TechDraw/App/DrawViewSection.cpp index 57aa28f903..7e92ee8ab3 100644 --- a/src/Mod/TechDraw/App/DrawViewSection.cpp +++ b/src/Mod/TechDraw/App/DrawViewSection.cpp @@ -22,26 +22,26 @@ * * ***************************************************************************/ -//DrawViewSection processing overview +// DrawViewSection processing overview -//execute -// sectionExec(getShapeToCut()) +// execute +// sectionExec(getShapeToCut()) -//sectionExec -// makeSectionCut(baseShape) +// sectionExec +// makeSectionCut(baseShape) -//makeSectionCut (separate thread) -// m_cuttingTool = makeCuttingTool (DVSTool.brep) -// m_cutPieces = (baseShape - m_cuttingTool) (DVSCutPieces.brep) +// makeSectionCut (separate thread) +// m_cuttingTool = makeCuttingTool (DVSTool.brep) +// m_cutPieces = (baseShape - m_cuttingTool) (DVSCutPieces.brep) -//onSectionCutFinished -// m_preparedShape = prepareShape(m_cutPieces) - centered, scaled, rotated -// geometryObject = DVP::buildGeometryObject(m_preparedShape) (HLR) +// onSectionCutFinished +// m_preparedShape = prepareShape(m_cutPieces) - centered, scaled, rotated +// geometryObject = DVP::buildGeometryObject(m_preparedShape) (HLR) -//postHlrTasks -// faceIntersections = findSectionPlaneIntersections -// m_sectionTopoDSFaces = alignSectionFaces(faceIntersections) -// m_tdSectionFaces = makeTDSectionFaces(m_sectionTopoDSFaces) +// postHlrTasks +// faceIntersections = findSectionPlaneIntersections +// m_sectionTopoDSFaces = alignSectionFaces(faceIntersections) +// m_tdSectionFaces = makeTDSectionFaces(m_sectionTopoDSFaces) #include "PreCompiled.h" @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #include @@ -72,7 +73,6 @@ #include #include #include -#include #endif #include @@ -85,8 +85,8 @@ #include "DrawGeomHatch.h" #include "DrawHatch.h" -#include "DrawProjGroupItem.h" #include "DrawUtil.h" +#include "DrawViewDetail.h" #include "EdgeWalker.h" #include "GeometryObject.h" #include "Preferences.h" @@ -97,7 +97,7 @@ using namespace TechDraw; using DU = DrawUtil; -//class to store geometry of points where the section line changes direction +// class to store geometry of points where the section line changes direction ChangePoint::ChangePoint(QPointF location, QPointF preDirection, QPointF postDirection) { m_location = location; @@ -115,10 +115,13 @@ ChangePoint::ChangePoint(gp_Pnt location, gp_Dir preDirection, gp_Dir postDirect m_postDirection.setY(postDirection.Y()); } -void ChangePoint::scale(double scaleFactor) { m_location = m_location * scaleFactor; } +void ChangePoint::scale(double scaleFactor) +{ + m_location = m_location * scaleFactor; +} -const char* DrawViewSection::SectionDirEnums[] = {"Right", "Left", "Up", - "Down", "Aligned", nullptr}; +const char* DrawViewSection::SectionDirEnums[] = + {"Right", "Left", "Up", "Down", "Aligned", nullptr}; const char* DrawViewSection::CutSurfaceEnums[] = {"Hide", "Color", "SvgHatch", "PatHatch", nullptr}; @@ -128,55 +131,106 @@ const char* DrawViewSection::CutSurfaceEnums[] = {"Hide", "Color", "SvgHatch", " PROPERTY_SOURCE(TechDraw::DrawViewSection, TechDraw::DrawViewPart) -DrawViewSection::DrawViewSection() : m_waitingForCut(false), m_shapeSize(0.0) +DrawViewSection::DrawViewSection() + : m_waitingForCut(false) + , m_shapeSize(0.0) { static const char* sgroup = "Section"; static const char* fgroup = "Cut Surface Format"; static const char* ggroup = "Cut Operation"; + static const char* agroup = "Appearance"; - //general section properties - ADD_PROPERTY_TYPE(SectionSymbol, (""), sgroup, App::Prop_Output, + // general section properties + ADD_PROPERTY_TYPE(SectionSymbol, + (""), + sgroup, + App::Prop_Output, "The identifier for this section"); - ADD_PROPERTY_TYPE(BaseView, (nullptr), sgroup, App::Prop_None, + ADD_PROPERTY_TYPE(BaseView, + (nullptr), + sgroup, + App::Prop_None, "2D View source for this Section"); BaseView.setScope(App::LinkScope::Global); - ADD_PROPERTY_TYPE(SectionNormal, (0, 0, 1.0), sgroup, App::Prop_None, - "Section Plane normal direction");//direction of extrusion of cutting prism + ADD_PROPERTY_TYPE(SectionNormal, + (0, 0, 1.0), + sgroup, + App::Prop_None, + "Section Plane normal direction");// direction of extrusion + // of cutting prism ADD_PROPERTY_TYPE(SectionOrigin, (0, 0, 0), sgroup, App::Prop_None, "Section Plane Origin"); - //TODO: SectionDirection is a legacy from when SectionViews were only available along - //cardinal directions. It should be made obsolete and replaced with Aligned sections and - //local unit vectors. + // TODO: SectionDirection is a legacy from when SectionViews were only + // available along cardinal directions. It should be made obsolete and + // replaced with Aligned sections and local unit vectors. SectionDirection.setEnums(SectionDirEnums); - ADD_PROPERTY_TYPE(SectionDirection, ((long)0), sgroup, App::Prop_None, + ADD_PROPERTY_TYPE(SectionDirection, + ((long)0), + sgroup, + App::Prop_None, "Orientation of this Section in the Base View"); - //properties related to the cut operation - ADD_PROPERTY_TYPE(FuseBeforeCut, (false), ggroup, App::Prop_None, + // properties related to the cut operation + ADD_PROPERTY_TYPE(FuseBeforeCut, + (false), + ggroup, + App::Prop_None, "Merge Source(s) into a single shape before cutting"); - ADD_PROPERTY_TYPE(TrimAfterCut, (false), ggroup, App::Prop_None, + ADD_PROPERTY_TYPE(TrimAfterCut, + (false), + ggroup, + App::Prop_None, "Trim the resulting shape after the section cut"); + ADD_PROPERTY_TYPE(UsePreviousCut, + (Preferences::SectionUsePreviousCut()), + ggroup, + App::Prop_None, + "Use the cut shape from the base view instead of the original object"); - //properties related to the display of the cut surface + // properties related to the display of the cut surface CutSurfaceDisplay.setEnums(CutSurfaceEnums); - ADD_PROPERTY_TYPE(CutSurfaceDisplay, (prefCutSurface()), fgroup, App::Prop_None, + ADD_PROPERTY_TYPE(CutSurfaceDisplay, + (prefCutSurface()), + fgroup, + App::Prop_None, "Appearance of Cut Surface"); - ADD_PROPERTY_TYPE(FileHatchPattern, (DrawHatch::prefSvgHatch()), fgroup, App::Prop_None, + ADD_PROPERTY_TYPE(FileHatchPattern, + (DrawHatch::prefSvgHatch()), + fgroup, + App::Prop_None, "The hatch pattern file for the cut surface"); - ADD_PROPERTY_TYPE(FileGeomPattern, (DrawGeomHatch::prefGeomHatchFile()), fgroup, App::Prop_None, + ADD_PROPERTY_TYPE(FileGeomPattern, + (DrawGeomHatch::prefGeomHatchFile()), + fgroup, + App::Prop_None, "The PAT pattern file for geometric hatching"); - ADD_PROPERTY_TYPE(SvgIncluded, (""), fgroup, App::Prop_None, + ADD_PROPERTY_TYPE(SvgIncluded, + (""), + fgroup, + App::Prop_None, "Embedded Svg hatch file. System use only.");// n/a to end users - ADD_PROPERTY_TYPE(PatIncluded, (""), fgroup, App::Prop_None, + ADD_PROPERTY_TYPE(PatIncluded, + (""), + fgroup, + App::Prop_None, "Embedded Pat pattern file. System use only.");// n/a to end users - ADD_PROPERTY_TYPE(NameGeomPattern, (DrawGeomHatch::prefGeomHatchName()), fgroup, App::Prop_None, + ADD_PROPERTY_TYPE(NameGeomPattern, + (DrawGeomHatch::prefGeomHatchName()), + fgroup, + App::Prop_None, "The pattern name for geometric hatching"); ADD_PROPERTY_TYPE(HatchScale, (1.0), fgroup, App::Prop_None, "Hatch pattern size adjustment"); - ADD_PROPERTY_TYPE(HatchRotation, (0.0), fgroup, App::Prop_None, + ADD_PROPERTY_TYPE(HatchRotation, + (0.0), + fgroup, + App::Prop_None, "Rotation of hatch pattern in degrees anti-clockwise"); ADD_PROPERTY_TYPE(HatchOffset, (0.0, 0.0, 0.0), fgroup, App::Prop_None, "Hatch pattern offset"); + ADD_PROPERTY_TYPE(SectionLineStretch, (1.0), agroup, App::Prop_None, + "Adjusts the length of the section line. 1.0 is normal length. 1.1 would be 10% longer, 0.9 would be 10% shorter."); + getParameters(); std::string hatchFilter("Svg files (*.svg *.SVG);;All files (*)"); @@ -186,13 +240,15 @@ DrawViewSection::DrawViewSection() : m_waitingForCut(false), m_shapeSize(0.0) SvgIncluded.setStatus(App::Property::ReadOnly, true); PatIncluded.setStatus(App::Property::ReadOnly, true); - //SectionNormal is used instead to Direction + // SectionNormal is used instead to Direction Direction.setStatus(App::Property::ReadOnly, true); + SectionDirection.setStatus(App::Property::Hidden, true); + SectionDirection.setStatus(App::Property::ReadOnly, true); } DrawViewSection::~DrawViewSection() { - //don't destroy this object while it has dependent threads running + // don't destroy this object while it has dependent threads running if (m_cutFuture.isRunning()) { Base::Console().Message("%s is waiting for tasks to complete\n", Label.getValue()); m_cutFuture.waitForFinished(); @@ -222,7 +278,7 @@ void DrawViewSection::onChanged(const App::Property* prop) App::Document* doc = getDocument(); if (!doc) { - //tarfu + // tarfu DrawViewPart::onChanged(prop); return; } @@ -260,32 +316,55 @@ void DrawViewSection::onChanged(const App::Property* prop) requestPaint(); return; } + else if (prop == &BaseView) { + // if the BaseView is a Section, then the option of using UsePreviousCut is + // valid. + if (BaseView.getValue()->getTypeId().isDerivedFrom( + TechDraw::DrawViewSection::getClassTypeId())) { + UsePreviousCut.setStatus(App::Property::ReadOnly, false); + } + else { + UsePreviousCut.setStatus(App::Property::ReadOnly, true); + } + } else if (prop == &SectionLineStretch) { + BaseView.getValue()->touch(); + } DrawView::onChanged(prop); } TopoDS_Shape DrawViewSection::getShapeToCut() { -// Base::Console().Message("DVS::getShapeToCut()\n"); - App::DocumentObject *base = BaseView.getValue(); - TechDraw::DrawViewPart *dvp = nullptr; - TechDraw::DrawViewSection *dvs = nullptr; + // Base::Console().Message("DVS::getShapeToCut() - %s\n", + // getNameInDocument()); + App::DocumentObject* base = BaseView.getValue(); + TechDraw::DrawViewPart* dvp = nullptr; + TechDraw::DrawViewSection* dvs = nullptr; + TechDraw::DrawViewDetail* dvd = nullptr; if (!base) { return TopoDS_Shape(); } TopoDS_Shape shapeToCut; if (base->getTypeId().isDerivedFrom(TechDraw::DrawViewSection::getClassTypeId())) { - dvs = static_cast(base); - shapeToCut = dvs->getCutShape(); - } else if (base->getTypeId().isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) { - dvp = static_cast(base); + dvs = static_cast(base); + shapeToCut = dvs->getShapeToCut(); + if (UsePreviousCut.getValue()) { + shapeToCut = dvs->getCutShapeRaw(); + } + } + else if (base->getTypeId().isDerivedFrom(TechDraw::DrawViewDetail::getClassTypeId())) { + dvd = static_cast(base); + shapeToCut = dvd->getDetailShape(); + } + else if (base->getTypeId().isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) { + dvp = static_cast(base); shapeToCut = dvp->getSourceShape(); if (FuseBeforeCut.getValue()) { - shapeToCut = dvp->getSourceShapeFused(); + shapeToCut = dvp->getSourceShape(true); } - - } else { + } + else { Base::Console().Message("DVS::getShapeToCut - base is weird\n"); return TopoDS_Shape(); } @@ -294,7 +373,7 @@ TopoDS_Shape DrawViewSection::getShapeToCut() TopoDS_Shape DrawViewSection::getShapeForDetail() const { - return TechDraw::rotateShape(getCutShape(), getProjectionCS(), Rotation.getValue()); + return ShapeUtils::rotateShape(getCutShape(), getProjectionCS(), Rotation.getValue()); } App::DocumentObjectExecReturn* DrawViewSection::execute() @@ -318,7 +397,7 @@ App::DocumentObjectExecReturn* DrawViewSection::execute() return DrawView::execute(); } - //is SectionOrigin valid? + // is SectionOrigin valid? Bnd_Box centerBox; BRepBndLib::AddOptimal(baseShape, centerBox); centerBox.SetGap(0.0); @@ -329,17 +408,17 @@ App::DocumentObjectExecReturn* DrawViewSection::execute() getNameInDocument()); } - //save important info for later use + // save important info for later use m_shapeSize = sqrt(centerBox.SquareExtent()); m_saveShape = baseShape; bool haveX = checkXDirection(); if (!haveX) { - //block touch/onChanged stuff + // block touch/onChanged stuff Base::Vector3d newX = getXDirection(); XDirection.setValue(newX); - XDirection.purgeTouched();//don't trigger updates! - //unblock + XDirection.purgeTouched();// don't trigger updates! + // unblock } sectionExec(baseShape); @@ -359,7 +438,8 @@ bool DrawViewSection::isBaseValid() const void DrawViewSection::sectionExec(TopoDS_Shape& baseShape) { - // Base::Console().Message("DVS::sectionExec() - %s baseShape.IsNull: %d\n", + // Base::Console().Message("DVS::sectionExec() - %s baseShape.IsNull: + // %d\n", // getNameInDocument(), baseShape.IsNull()); if (waitingForHlr() || waitingForCut()) { @@ -367,20 +447,22 @@ void DrawViewSection::sectionExec(TopoDS_Shape& baseShape) } if (baseShape.IsNull()) { - //should be caught before this + // should be caught before this return; } m_cuttingTool = makeCuttingTool(m_shapeSize); try { - //note that &m_cutWatcher in the third parameter is not strictly required, but using the - //4 parameter signature instead of the 3 parameter signature prevents clazy warning: - //https://github.com/KDE/clazy/blob/1.11/docs/checks/README-connect-3arg-lambda.md + // note that &m_cutWatcher in the third parameter is not strictly required, + // but using the 4 parameter signature instead of the 3 parameter signature + // prevents clazy warning: + // https://github.com/KDE/clazy/blob/1.11/docs/checks/README-connect-3arg-lambda.md connectCutWatcher = - QObject::connect(&m_cutWatcher, &QFutureWatcherBase::finished, &m_cutWatcher, - [this] { this->onSectionCutFinished(); }); -#if QT_VERSION < QT_VERSION_CHECK(6,0,0) + QObject::connect(&m_cutWatcher, &QFutureWatcherBase::finished, &m_cutWatcher, [this] { + this->onSectionCutFinished(); + }); +#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) m_cutFuture = QtConcurrent::run(this, &DrawViewSection::makeSectionCut, baseShape); #else m_cutFuture = QtConcurrent::run(&DrawViewSection::makeSectionCut, this, baseShape); @@ -396,7 +478,8 @@ void DrawViewSection::sectionExec(TopoDS_Shape& baseShape) void DrawViewSection::makeSectionCut(const TopoDS_Shape& baseShape) { - // Base::Console().Message("DVS::makeSectionCut() - %s - baseShape.IsNull: %d\n", + // Base::Console().Message("DVS::makeSectionCut() - %s - baseShape.IsNull: + // %d\n", // getNameInDocument(), baseShape.IsNull()); showProgressMessage(getNameInDocument(), "is making section cut"); @@ -404,18 +487,18 @@ void DrawViewSection::makeSectionCut(const TopoDS_Shape& baseShape) // We need to copy the shape to not modify the BRepstructure BRepBuilderAPI_Copy BuilderCopy(baseShape); TopoDS_Shape myShape = BuilderCopy.Shape(); - m_saveShape = myShape;//save shape for 2nd pass + m_saveShape = myShape;// save shape for 2nd pass if (debugSection()) { - BRepTools::Write(myShape, "DVSCopy.brep");//debug + BRepTools::Write(myShape, "DVSCopy.brep");// debug } if (debugSection()) { - BRepTools::Write(m_cuttingTool, "DVSTool.brep");//debug + BRepTools::Write(m_cuttingTool, "DVSTool.brep");// debug } - //perform the cut. We cut each solid in myShape individually to avoid issues where - //a compound BaseShape does not cut correctly. + // perform the cut. We cut each solid in myShape individually to avoid issues + // where a compound BaseShape does not cut correctly. BRep_Builder builder; TopoDS_Compound cutPieces; builder.MakeCompound(cutPieces); @@ -433,16 +516,17 @@ void DrawViewSection::makeSectionCut(const TopoDS_Shape& baseShape) // cutPieces contains result of cutting each subshape in baseShape with tool m_cutPieces = cutPieces; if (debugSection()) { - BRepTools::Write(cutPieces, "DVSCutPieces1.brep");//debug + BRepTools::Write(cutPieces, "DVSCutPieces1.brep");// debug } - //second cut if requested. Sometimes the first cut includes extra uncut pieces. + // second cut if requested. Sometimes the first cut includes extra uncut + // pieces. if (trimAfterCut()) { BRepAlgoAPI_Cut mkCut2(cutPieces, m_cuttingTool); if (mkCut2.IsDone()) { m_cutPieces = mkCut2.Shape(); if (debugSection()) { - BRepTools::Write(m_cutPieces, "DVSCutPieces2.brep");//debug + BRepTools::Write(m_cutPieces, "DVSCutPieces2.brep");// debug } } } @@ -451,7 +535,8 @@ void DrawViewSection::makeSectionCut(const TopoDS_Shape& baseShape) Bnd_Box testBox; BRepBndLib::AddOptimal(m_cutPieces, testBox); testBox.SetGap(0.0); - if (testBox.IsVoid()) {//prism & input don't intersect. rawShape is garbage, don't bother. + if (testBox.IsVoid()) {// prism & input don't intersect. rawShape is + // garbage, don't bother. Base::Console().Warning("DVS::makeSectionCut - prism & input don't intersect - %s\n", Label.getValue()); return; @@ -460,47 +545,54 @@ void DrawViewSection::makeSectionCut(const TopoDS_Shape& baseShape) waitingForCut(false); } -//position, scale and rotate shape for buildGeometryObject +//! position, scale and rotate shape for buildGeometryObject +//! save the cut shape for further processing TopoDS_Shape DrawViewSection::prepareShape(const TopoDS_Shape& rawShape, double shapeSize) { - // Base::Console().Message("DVS::prepareShape - %s - rawShape.IsNull: %d shapeSize: %.3f\n", - // getNameInDocument(), rawShape.IsNull(), shapeSize); - (void)shapeSize;//shapeSize is not used in this base class, but is interesting for - //derived classes + // Base::Console().Message("DVS::prepareShape - %s - rawShape.IsNull: %d + // shapeSize: %.3f\n", + // getNameInDocument(), rawShape.IsNull(), + // shapeSize); + (void)shapeSize;// shapeSize is not used in this base class, but is + // interesting for derived classes // build display geometry as in DVP, with minor mods TopoDS_Shape preparedShape; try { Base::Vector3d origin(0.0, 0.0, 0.0); m_projectionCS = getProjectionCS(origin); gp_Pnt inputCenter; - inputCenter = TechDraw::findCentroid(rawShape, m_projectionCS); + inputCenter = ShapeUtils::findCentroid(rawShape, m_projectionCS); Base::Vector3d centroid(inputCenter.X(), inputCenter.Y(), inputCenter.Z()); - preparedShape = TechDraw::moveShape(rawShape, centroid * -1.0); + m_cutShapeRaw = rawShape; + preparedShape = ShapeUtils::moveShape(rawShape, centroid * -1.0); m_cutShape = preparedShape; m_saveCentroid = centroid; - preparedShape = TechDraw::scaleShape(preparedShape, getScale()); + preparedShape = ShapeUtils::scaleShape(preparedShape, getScale()); if (!DrawUtil::fpCompare(Rotation.getValue(), 0.0)) { preparedShape = - TechDraw::rotateShape(preparedShape, m_projectionCS, Rotation.getValue()); + ShapeUtils::rotateShape(preparedShape, m_projectionCS, Rotation.getValue()); } if (debugSection()) { - BRepTools::Write(m_cutShape, "DVSCutShape.brep");//debug - // DrawUtil::dumpCS("DVS::makeSectionCut - CS to GO", viewAxis); + BRepTools::Write(m_cutShape, "DVSCutShape.brep");// debug + // DrawUtil::dumpCS("DVS::makeSectionCut - CS to GO", + // viewAxis); } } catch (Standard_Failure& e1) { Base::Console().Warning("DVS::prepareShape - failed to build shape %s - %s **\n", - getNameInDocument(), e1.GetMessageString()); + getNameInDocument(), + e1.GetMessageString()); } return preparedShape; } TopoDS_Shape DrawViewSection::makeCuttingTool(double shapeSize) { - // Base::Console().Message("DVS::makeCuttingTool(%.3f) - %s\n", shapeSize, getNameInDocument()); + // Base::Console().Message("DVS::makeCuttingTool(%.3f) - %s\n", shapeSize, + // getNameInDocument()); // Make the extrusion face gp_Pln pln = getSectionPlane(); gp_Dir gpNormal = pln.Axis().Direction(); @@ -510,7 +602,7 @@ TopoDS_Shape DrawViewSection::makeCuttingTool(double shapeSize) return TopoDS_Shape(); } if (debugSection()) { - BRepTools::Write(aProjFace, "DVSSectionFace.brep");//debug + BRepTools::Write(aProjFace, "DVSSectionFace.brep");// debug } gp_Vec extrudeDir = shapeSize * gp_Vec(gpNormal); return BRepPrimAPI_MakePrism(aProjFace, extrudeDir, false, true).Shape(); @@ -518,30 +610,32 @@ TopoDS_Shape DrawViewSection::makeCuttingTool(double shapeSize) void DrawViewSection::onSectionCutFinished() { - // Base::Console().Message("DVS::onSectionCutFinished() - %s\n", getNameInDocument()); + // Base::Console().Message("DVS::onSectionCutFinished() - %s\n", + // getNameInDocument()); QObject::disconnect(connectCutWatcher); showProgressMessage(getNameInDocument(), "has finished making section cut"); m_preparedShape = prepareShape(getShapeToPrepare(), m_shapeSize); if (debugSection()) { - BRepTools::Write(m_preparedShape, "DVSPreparedShape.brep");//debug + BRepTools::Write(m_preparedShape, "DVSPreparedShape.brep");// debug } postSectionCutTasks(); - //display geometry for cut shape is in geometryObject as in DVP + // display geometry for cut shape is in geometryObject as in DVP m_tempGeometryObject = buildGeometryObject(m_preparedShape, getProjectionCS()); } -//activities that depend on updated geometry object +// activities that depend on updated geometry object void DrawViewSection::postHlrTasks(void) { - // Base::Console().Message("DVS::postHlrTasks() - %s\n", getNameInDocument()); + // Base::Console().Message("DVS::postHlrTasks() - %s\n", + // getNameInDocument()); DrawViewPart::postHlrTasks(); - //second pass if required + // second pass if required if (ScaleType.isValue("Automatic") && !checkFit()) { double newScale = autoScale(); Scale.setValue(newScale); @@ -550,7 +644,6 @@ void DrawViewSection::postHlrTasks(void) } overrideKeepUpdated(false); - // build section face geometry TopoDS_Compound faceIntersections = findSectionPlaneIntersections(getShapeToIntersect()); if (faceIntersections.IsNull()) { @@ -558,39 +651,39 @@ void DrawViewSection::postHlrTasks(void) return; } if (debugSection()) { - BRepTools::Write(faceIntersections, "DVSFaceIntersections.brep");//debug + BRepTools::Write(faceIntersections, "DVSFaceIntersections.brep");// debug } - TopoDS_Shape centeredFaces = TechDraw::moveShape(faceIntersections, m_saveCentroid * -1.0); + TopoDS_Shape centeredFaces = ShapeUtils::moveShape(faceIntersections, m_saveCentroid * -1.0); - TopoDS_Shape scaledSection = TechDraw::scaleShape(centeredFaces, getScale()); + TopoDS_Shape scaledSection = ShapeUtils::scaleShape(centeredFaces, getScale()); if (!DrawUtil::fpCompare(Rotation.getValue(), 0.0)) { scaledSection = - TechDraw::rotateShape(scaledSection, getProjectionCS(), Rotation.getValue()); + ShapeUtils::rotateShape(scaledSection, getProjectionCS(), Rotation.getValue()); } m_sectionTopoDSFaces = alignSectionFaces(faceIntersections); if (debugSection()) { - BRepTools::Write(m_sectionTopoDSFaces, "DVSTopoSectionFaces.brep");//debug + BRepTools::Write(m_sectionTopoDSFaces, "DVSTopoSectionFaces.brep");// debug } m_tdSectionFaces = makeTDSectionFaces(m_sectionTopoDSFaces); - TechDraw::DrawViewPart* dvp = dynamic_cast(BaseView.getValue()); if (dvp) { - dvp->requestPaint();//to refresh section line + dvp->requestPaint();// to refresh section line } - requestPaint();//this will be a duplicate paint if we are making a standalone ComplexSection + requestPaint();// this will be a duplicate paint if we are making a + // standalone ComplexSection } -//activities that depend on a valid section cut +// activities that depend on a valid section cut void DrawViewSection::postSectionCutTasks() { // Base::Console().Message("DVS::postSectionCutTasks()\n"); std::vector children = getInList(); for (auto& c : children) { if (c->getTypeId().isDerivedFrom(DrawViewPart::getClassTypeId())) { - //details or sections of this need cut shape + // details or sections of this need cut shape c->recomputeFeature(); } } @@ -612,24 +705,32 @@ gp_Pln DrawViewSection::getSectionPlane() const return gp_Pln(viewAxis3); } -//! tries to find the intersection of the section plane with the shape giving a collection of planar faces -//! the original algo finds the intersections first then transforms them to match the centered, rotated -//! and scaled cut shape. Aligned complex sections need to intersect the final cut shape (which in this -//! case is a compound of individual cuts) with the "effective" (flattened) section plane. +//! tries to find the intersection of the section plane with the shape giving a +//! collection of planar faces the original algo finds the intersections first +//! then transforms them to match the centered, rotated and scaled cut shape. +//! Aligned complex sections need to intersect the final cut shape (which in +//! this case is a compound of individual cuts) with the "effective" (flattened) +//! section plane. TopoDS_Compound DrawViewSection::findSectionPlaneIntersections(const TopoDS_Shape& shape) { -// Base::Console().Message("DVS::findSectionPlaneIntersections() - %s\n", getNameInDocument()); + // Base::Console().Message("DVS::findSectionPlaneIntersections() - %s\n", + // getNameInDocument()); if (shape.IsNull()) { // this shouldn't happen - Base::Console().Warning("DrawViewSection::findSectionPlaneInter - %s - input shape is Null\n", getNameInDocument()); + Base::Console().Warning( + "DrawViewSection::findSectionPlaneInter - %s - input shape is Null\n", + getNameInDocument()); return TopoDS_Compound(); } gp_Pln plnSection = getSectionPlane(); if (debugSection()) { - BRepBuilderAPI_MakeFace mkFace(plnSection, -m_shapeSize, m_shapeSize, -m_shapeSize, + BRepBuilderAPI_MakeFace mkFace(plnSection, + -m_shapeSize, + m_shapeSize, + -m_shapeSize, m_shapeSize); - BRepTools::Write(mkFace.Face(), "DVSSectionPlane.brep");//debug + BRepTools::Write(mkFace.Face(), "DVSSectionPlane.brep");// debug BRepTools::Write(shape, "DVSShapeToIntersect.brep)"); } BRep_Builder builder; @@ -651,20 +752,21 @@ TopoDS_Compound DrawViewSection::findSectionPlaneIntersections(const TopoDS_Shap return result; } -//move section faces to line up with cut shape +// move section faces to line up with cut shape TopoDS_Compound DrawViewSection::alignSectionFaces(TopoDS_Shape faceIntersections) { -// Base::Console().Message("DVS::alignSectionFaces() - %s - faceIntersection.isnull: %d\n", -// getNameInDocument(), -// faceIntersections.IsNull()); + // Base::Console().Message("DVS::alignSectionFaces() - %s - + // faceIntersection.isnull: %d\n", + // getNameInDocument(), + // faceIntersections.IsNull()); TopoDS_Compound sectionFaces; TopoDS_Shape centeredShape = - TechDraw::moveShape(faceIntersections, getOriginalCentroid() * -1.0); + ShapeUtils::moveShape(faceIntersections, getOriginalCentroid() * -1.0); - TopoDS_Shape scaledSection = TechDraw::scaleShape(centeredShape, getScale()); + TopoDS_Shape scaledSection = ShapeUtils::scaleShape(centeredShape, getScale()); if (!DrawUtil::fpCompare(Rotation.getValue(), 0.0)) { scaledSection = - TechDraw::rotateShape(scaledSection, getProjectionCS(), Rotation.getValue()); + ShapeUtils::rotateShape(scaledSection, getProjectionCS(), Rotation.getValue()); } return mapToPage(scaledSection); @@ -672,13 +774,15 @@ TopoDS_Compound DrawViewSection::alignSectionFaces(TopoDS_Shape faceIntersection TopoDS_Compound DrawViewSection::mapToPage(TopoDS_Shape& shapeToAlign) { - // shapeToAlign is compound of TopoDS_Face intersections, but aligned to pln(origin, sectionNormal) - // needs to be aligned to paper plane (origin, stdZ); - //project the faces in the shapeToAlign, build new faces from the resulting wires and - //combine everything into a compound of faces -// Base::Console().Message("DVS::mapToPage() - shapeToAlign.null: %d\n", shapeToAlign.IsNull()); + // shapeToAlign is compound of TopoDS_Face intersections, but aligned to + // pln(origin, sectionNormal) needs to be aligned to paper plane (origin, + // stdZ); + // project the faces in the shapeToAlign, build new faces from the resulting + // wires and combine everything into a compound of faces + // Base::Console().Message("DVS::mapToPage() - shapeToAlign.null: %d\n", + // shapeToAlign.IsNull()); if (debugSection()) { - BRepTools::Write(shapeToAlign, "DVSShapeToAlign.brep"); //debug + BRepTools::Write(shapeToAlign, "DVSShapeToAlign.brep");// debug } BRep_Builder builder; @@ -695,7 +799,7 @@ TopoDS_Compound DrawViewSection::mapToPage(TopoDS_Shape& shapeToAlign) TopoDS_Shape projectedShape = GeometryObject::projectSimpleShape(wire, getProjectionCS()); std::vector wireEdges; - //projectedShape is just a bunch of edges. we have to rebuild the wire. + // projectedShape is just a bunch of edges. we have to rebuild the wire. TopExp_Explorer expEdges(projectedShape, TopAbs_EDGE); for (; expEdges.More(); expEdges.Next()) { const TopoDS_Edge& edge = TopoDS::Edge(expEdges.Current()); @@ -705,28 +809,29 @@ TopoDS_Compound DrawViewSection::mapToPage(TopoDS_Shape& shapeToAlign) faceWires.push_back(cleanWire); } - //validate section face wires + // validate section face wires std::vector goodWires; - constexpr double minWireArea = 0.000001; //arbitrary very small face size - for (auto &wire : faceWires) { + constexpr double minWireArea = 0.000001;// arbitrary very small face size + for (auto& wire : faceWires) { if (wire.IsNull()) { continue; } if (!BRep_Tool::IsClosed(wire)) { - continue; //can not make a face from open wire + continue;// can not make a face from open wire } double area = ShapeAnalysis::ContourArea(wire); if (area <= minWireArea) { - continue; //can not make a face from wire with no area + continue;// can not make a face from wire with no area } goodWires.push_back(wire); } if (goodWires.empty()) { - // this may or may not be significant. In the offset or noparallel strategies, - // a profile segment that is parallel to the SectionNormal will not generate a face. + // this may or may not be significant. In the offset or noparallel + // strategies, a profile segment that is parallel to the SectionNormal + // will not generate a face. Base::Console().Log("DVS::mapToPage - %s - section face has no valid wires.\n", - getNameInDocument()); + getNameInDocument()); continue; } @@ -739,23 +844,23 @@ TopoDS_Compound DrawViewSection::mapToPage(TopoDS_Shape& shapeToAlign) if (debugSection()) { std::stringstream ss; ss << "DVSFaceFromWires" << iFace << ".brep"; - BRepTools::Write(holeyShape, ss.str().c_str()); //debug + BRepTools::Write(holeyShape, ss.str().c_str());// debug } } return result; } -//makes a [perforated] face from an outer wire and wires describing the holes. Open wires -//and wires with zero area are assumed to already have been removed. -TopoDS_Shape DrawViewSection::makeFaceFromWires(std::vector &inWires) +// makes a [perforated] face from an outer wire and wires describing the holes. +// Open wires and wires with zero area are assumed to already have been removed. +TopoDS_Shape DrawViewSection::makeFaceFromWires(std::vector& inWires) { - //make sure the largest wire is the first + // make sure the largest wire is the first EdgeWalker eWalker; std::vector goodWires = eWalker.sortWiresBySize(inWires); // make a face from the good wires - //first good wire should be the outer boundary of the face + // first good wire should be the outer boundary of the face TopoDS_Face faceToFix; TopoDS_Shape orientedShape = goodWires.at(0).Oriented(TopAbs_FORWARD); TopoDS_Wire orientedWire = TopoDS::Wire(orientedShape); @@ -764,11 +869,12 @@ TopoDS_Shape DrawViewSection::makeFaceFromWires(std::vector &inWire int wireCount = goodWires.size(); if (wireCount < 2) { faceToFix = blankFace; - } else { - //add the holes + } + else { + // add the holes BRepBuilderAPI_MakeFace mkFace(blankFace); for (int iWire = 1; iWire < wireCount; iWire++) { - //make holes in the face with the rest of the wires + // make holes in the face with the rest of the wires orientedShape = goodWires.at(iWire).Oriented(TopAbs_REVERSED); orientedWire = TopoDS::Wire(orientedShape); mkFace.Add(orientedWire); @@ -782,15 +888,15 @@ TopoDS_Shape DrawViewSection::makeFaceFromWires(std::vector &inWire faceToFix = mkFace.Face(); } - //setting the wire orientation above should generate a valid face, but sometimes - //does not, so we fix the shape to resolve any issues + // setting the wire orientation above should generate a valid face, but + // sometimes does not, so we fix the shape to resolve any issues Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape; sfs->Init(faceToFix); sfs->Perform(); return sfs->Shape(); } -//turn OCC section faces into TD geometry +// turn OCC section faces into TD geometry std::vector DrawViewSection::makeTDSectionFaces(TopoDS_Compound topoDSFaces) { // Base::Console().Message("DVS::makeTDSectionFaces()\n"); @@ -819,12 +925,12 @@ std::vector DrawViewSection::makeTDSectionFaces(TopoDS_Compou return tdSectionFaces; } -//calculate the ends of the section line in BaseView's coords +// calculate the ends of the section line in BaseView's coords std::pair DrawViewSection::sectionLineEnds() { std::pair result; Base::Vector3d stdZ(0.0, 0.0, 1.0); - double baseRotation = getBaseDVP()->Rotation.getValue();//Qt degrees are clockwise + double baseRotation = getBaseDVP()->Rotation.getValue();// Qt degrees are clockwise Base::Rotation rotator(stdZ, baseRotation * M_PI / 180.0); Base::Rotation unrotator(stdZ, -baseRotation * M_PI / 180.0); @@ -833,19 +939,20 @@ std::pair DrawViewSection::sectionLineEnds() Base::Vector3d stdOrg(0.0, 0.0, 0.0); Base::Vector3d sectionLineDir = -axis.Cross(sNorm); sectionLineDir.Normalize(); - sectionLineDir = getBaseDVP()->projectPoint(sectionLineDir);//convert to base view CS + sectionLineDir = getBaseDVP()->projectPoint(sectionLineDir);// convert to base view CS sectionLineDir.Normalize(); Base::Vector3d sectionOrg = SectionOrigin.getValue() - getBaseDVP()->getOriginalCentroid(); - sectionOrg = getBaseDVP()->projectPoint(sectionOrg);//convert to base view CS - double halfSize = getBaseDVP()->getSizeAlongVector(sectionLineDir) / 2.0; + sectionOrg = getBaseDVP()->projectPoint(sectionOrg);// convert to base view + // CS + double halfSize = (getBaseDVP()->getSizeAlongVector(sectionLineDir) / 2.0) * SectionLineStretch.getValue(); result.first = sectionOrg + sectionLineDir * halfSize; result.second = sectionOrg - sectionLineDir * halfSize; return result; } -//find the points and directions to make the change point marks. +// find the points and directions to make the change point marks. ChangePointVector DrawViewSection::getChangePointsFromSectionLine() { // Base::Console().Message("Dvs::getChangePointsFromSectionLine()\n"); @@ -854,7 +961,7 @@ ChangePointVector DrawViewSection::getChangePointsFromSectionLine() DrawViewPart* baseDvp = dynamic_cast(BaseView.getValue()); if (baseDvp) { std::pair lineEnds = sectionLineEnds(); - //make start and end marks + // make start and end marks gp_Pnt location0 = DU::togp_Pnt(lineEnds.first); gp_Pnt location1 = DU::togp_Pnt(lineEnds.second); gp_Dir postDir = gp_Dir(location1.XYZ() - location0.XYZ()); @@ -869,17 +976,20 @@ ChangePointVector DrawViewSection::getChangePointsFromSectionLine() return result; } -//this should really be in BoundBox.h -//!check if point is in box or on boundary of box -//!compare to isInBox which doesn't allow on boundary +// this should really be in BoundBox.h +//! check if point is in box or on boundary of box +//! compare to isInBox which doesn't allow on boundary bool DrawViewSection::isReallyInBox(const Base::Vector3d v, const Base::BoundBox3d bb) const { - if (v.x <= bb.MinX || v.x >= bb.MaxX) + if (v.x <= bb.MinX || v.x >= bb.MaxX) { return false; - if (v.y <= bb.MinY || v.y >= bb.MaxY) + } + if (v.y <= bb.MinY || v.y >= bb.MaxY) { return false; - if (v.z <= bb.MinZ || v.z >= bb.MaxZ) + } + if (v.z <= bb.MinZ || v.z >= bb.MaxZ) { return false; + } return true; } @@ -890,7 +1000,8 @@ bool DrawViewSection::isReallyInBox(const gp_Pnt p, const Bnd_Box& bb) const Base::Vector3d DrawViewSection::getXDirection() const { - // Base::Console().Message("DVS::getXDirection() - %s\n", Label.getValue()); + // Base::Console().Message("DVS::getXDirection() - %s\n", + // Label.getValue()); App::Property* prop = getPropertyByName("XDirection"); if (!prop) { // No XDirection property. can this happen? @@ -899,9 +1010,9 @@ Base::Vector3d DrawViewSection::getXDirection() const return Base::Vector3d(gXDir.X(), gXDir.Y(), gXDir.Z()); } - //we have an XDirection property + // we have an XDirection property if (DrawUtil::fpCompare(XDirection.getValue().Length(), 0.0)) { - //but it has no value, so we make a value + // but it has no value, so we make a value if (BaseView.getValue()) { gp_Ax2 cs = getCSFromBase(SectionDirection.getValueAsString()); gp_Dir gXDir = cs.XDirection(); @@ -909,13 +1020,14 @@ Base::Vector3d DrawViewSection::getXDirection() const } } - //XDirection is good, so we use it + // XDirection is good, so we use it return XDirection.getValue(); } void DrawViewSection::setCSFromBase(const std::string sectionName) { - // Base::Console().Message("DVS::setCSFromBase(%s)\n", sectionName.c_str()); + // Base::Console().Message("DVS::setCSFromBase(%s)\n", + // sectionName.c_str()); gp_Dir gDir = getCSFromBase(sectionName).Direction(); Base::Vector3d vDir(gDir.X(), gDir.Y(), gDir.Z()); Direction.setValue(vDir); @@ -925,25 +1037,29 @@ void DrawViewSection::setCSFromBase(const std::string sectionName) XDirection.setValue(vXDir); } -//set the section CS based on an XY vector in BaseViews CS +// set the section CS based on an XY vector in BaseViews CS void DrawViewSection::setCSFromBase(const Base::Vector3d localUnit) { - // Base::Console().Message("DVS::setCSFromBase(%s)\n", DrawUtil::formatVector(localUnit).c_str()); + // Base::Console().Message("DVS::setCSFromBase(%s)\n", + // DrawUtil::formatVector(localUnit).c_str()); gp_Ax2 newSectionCS = getBaseDVP()->localVectorToCS(localUnit); - Base::Vector3d vDir(newSectionCS.Direction().X(), newSectionCS.Direction().Y(), + Base::Vector3d vDir(newSectionCS.Direction().X(), + newSectionCS.Direction().Y(), newSectionCS.Direction().Z()); Direction.setValue(vDir); SectionNormal.setValue(vDir); - Base::Vector3d vXDir(newSectionCS.XDirection().X(), newSectionCS.XDirection().Y(), + Base::Vector3d vXDir(newSectionCS.XDirection().X(), + newSectionCS.XDirection().Y(), newSectionCS.XDirection().Z()); - XDirection.setValue(vXDir);//XDir is for projection + XDirection.setValue(vXDir);// XDir is for projection } -//reset the section CS based on an XY vector in current section CS +// reset the section CS based on an XY vector in current section CS void DrawViewSection::setCSFromLocalUnit(const Base::Vector3d localUnit) { - // Base::Console().Message("DVS::setCSFromLocalUnit(%s)\n", DrawUtil::formatVector(localUnit).c_str()); + // Base::Console().Message("DVS::setCSFromLocalUnit(%s)\n", + // DrawUtil::formatVector(localUnit).c_str()); gp_Dir verticalDir = getSectionCS().YDirection(); gp_Ax1 verticalAxis(DrawUtil::togp_Pnt(SectionOrigin.getValue()), verticalDir); gp_Dir oldNormal = getSectionCS().Direction(); @@ -956,7 +1072,8 @@ void DrawViewSection::setCSFromLocalUnit(const Base::Vector3d localUnit) gp_Ax2 DrawViewSection::getCSFromBase(const std::string sectionName) const { - // Base::Console().Message("DVS::getCSFromBase(%s)\n", sectionName.c_str()); + // Base::Console().Message("DVS::getCSFromBase(%s)\n", + // sectionName.c_str()); Base::Vector3d origin(0.0, 0.0, 0.0); Base::Vector3d sectOrigin = SectionOrigin.getValue(); @@ -972,7 +1089,7 @@ gp_Ax2 DrawViewSection::getCSFromBase(const std::string sectionName) const gp_Dir dvsDir; gp_Dir dvsXDir; - if (sectionName == "Up") {//looking up + if (sectionName == "Up") {// looking up dvsDir = dvpUp.Reversed(); dvsXDir = dvpRight; } @@ -981,7 +1098,7 @@ gp_Ax2 DrawViewSection::getCSFromBase(const std::string sectionName) const dvsXDir = dvpRight; } else if (sectionName == "Left") { - dvsDir = dvpRight; //dvpX + dvsDir = dvpRight; // dvpX dvsXDir = dvpDir.Reversed();//-dvpZ } else if (sectionName == "Right") { @@ -989,7 +1106,7 @@ gp_Ax2 DrawViewSection::getCSFromBase(const std::string sectionName) const dvsXDir = dvpDir; } else if (sectionName == "Aligned") { - //if aligned, we don't get our direction from the base view + // if aligned, we don't get our direction from the base view Base::Vector3d sectionNormal = SectionNormal.getValue(); dvsDir = gp_Dir(sectionNormal.x, sectionNormal.y, sectionNormal.z); Base::Vector3d sectionXDir = XDirection.getValue(); @@ -1009,7 +1126,7 @@ gp_Ax2 DrawViewSection::getCSFromBase(const std::string sectionName) const return CS; } -//returns current section cs +// returns current section cs gp_Ax2 DrawViewSection::getSectionCS() const { // Base::Console().Message("DVS::getSectionCS()\n"); @@ -1025,7 +1142,7 @@ gp_Ax2 DrawViewSection::getSectionCS() const } catch (...) { Base::Console().Error("DVS::getSectionCS - %s - failed to create section CS\n", - getNameInDocument()); + getNameInDocument()); } return sectionCS; } @@ -1037,7 +1154,7 @@ gp_Ax2 DrawViewSection::getProjectionCS(const Base::Vector3d pt) const Base::Vector3d vXDir = getXDirection(); gp_Dir gXDir(vXDir.x, vXDir.y, vXDir.z); if (DrawUtil::fpCompare(fabs(gNormal.Dot(gXDir)), 1.0)) { - //can not build a gp_Ax2 from these values + // can not build a gp_Ax2 from these values throw Base::RuntimeError( "DVS::getProjectionCS - SectionNormal and XDirection are parallel"); } @@ -1047,10 +1164,14 @@ gp_Ax2 DrawViewSection::getProjectionCS(const Base::Vector3d pt) const std::vector DrawViewSection::getDrawableLines(int i) { - // Base::Console().Message("DVS::getDrawableLines(%d) - lineSets: %d\n", i, m_lineSets.size()); + // Base::Console().Message("DVS::getDrawableLines(%d) - lineSets: %d\n", i, + // m_lineSets.size()); std::vector result; - return DrawGeomHatch::getTrimmedLinesSection(this, m_lineSets, getSectionTopoDSFace(i), - HatchScale.getValue(), HatchRotation.getValue(), + return DrawGeomHatch::getTrimmedLinesSection(this, + m_lineSets, + getSectionTopoDSFace(i), + HatchScale.getValue(), + HatchRotation.getValue(), HatchOffset.getValue()); } @@ -1076,16 +1197,6 @@ TechDraw::DrawViewPart* DrawViewSection::getBaseDVP() const return nullptr; } -TechDraw::DrawProjGroupItem* DrawViewSection::getBaseDPGI() const -{ - App::DocumentObject* base = BaseView.getValue(); - if (base && base->getTypeId().isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) { - TechDraw::DrawProjGroupItem* baseDPGI = static_cast(base); - return baseDPGI; - } - return nullptr; -} - // setup / tear down routines void DrawViewSection::unsetupObject() @@ -1105,16 +1216,16 @@ void DrawViewSection::onDocumentRestored() void DrawViewSection::setupObject() { - //by this point DVS should have a name and belong to a document + // by this point DVS should have a name and belong to a document replaceSvgIncluded(FileHatchPattern.getValue()); replacePatIncluded(FileGeomPattern.getValue()); DrawViewPart::setupObject(); } -//hatch file routines +// hatch file routines -//create geometric hatch lines +// create geometric hatch lines void DrawViewSection::makeLineSets(void) { // Base::Console().Message("DVS::makeLineSets()\n"); @@ -1125,7 +1236,8 @@ void DrawViewSection::makeLineSets(void) std::string fileSpec = PatIncluded.getValue(); Base::FileInfo fi(fileSpec); if (!fi.isReadable()) { - Base::Console().Message("%s can not read hatch file: %s\n", getNameInDocument(), + Base::Console().Message("%s can not read hatch file: %s\n", + getNameInDocument(), fileSpec.c_str()); return; } @@ -1140,7 +1252,8 @@ void DrawViewSection::makeLineSets(void) void DrawViewSection::replaceSvgIncluded(std::string newSvgFile) { - // Base::Console().Message("DVS::replaceSvgIncluded(%s)\n", newSvgFile.c_str()); + // Base::Console().Message("DVS::replaceSvgIncluded(%s)\n", + // newSvgFile.c_str()); if (newSvgFile.empty()) { return; } @@ -1156,7 +1269,8 @@ void DrawViewSection::replaceSvgIncluded(std::string newSvgFile) void DrawViewSection::replacePatIncluded(std::string newPatFile) { - // Base::Console().Message("DVS::replacePatIncluded(%s)\n", newPatFile.c_str()); + // Base::Console().Message("DVS::replacePatIncluded(%s)\n", + // newPatFile.c_str()); if (newPatFile.empty()) { return; } @@ -1188,7 +1302,8 @@ int DrawViewSection::prefCutSurface(void) const { // Base::Console().Message("DVS::prefCutSurface()\n"); - return Preferences::getPreferenceGroup("Decorations")->GetInt("CutSurfaceDisplay", 2);//default to SvgHatch + return Preferences::getPreferenceGroup("Decorations") + ->GetInt("CutSurfaceDisplay", 2);// default to SvgHatch } bool DrawViewSection::showSectionEdges(void) @@ -1196,14 +1311,19 @@ bool DrawViewSection::showSectionEdges(void) return Preferences::getPreferenceGroup("General")->GetBool("ShowSectionEdges", true); } -bool DrawViewSection::trimAfterCut() const { return TrimAfterCut.getValue(); } -// Python Drawing feature --------------------------------------------------------- +bool DrawViewSection::trimAfterCut() const +{ + return TrimAfterCut.getValue(); +} +// Python Drawing feature +// --------------------------------------------------------- namespace App { /// @cond DOXERR PROPERTY_SOURCE_TEMPLATE(TechDraw::DrawViewSectionPython, TechDraw::DrawViewSection) -template<> const char* TechDraw::DrawViewSectionPython::getViewProviderName() const +template<> +const char* TechDraw::DrawViewSectionPython::getViewProviderName() const { return "TechDrawGui::ViewProviderDrawingView"; } diff --git a/src/Mod/TechDraw/App/DrawViewSection.h b/src/Mod/TechDraw/App/DrawViewSection.h index d709b8f661..09eb87cfd7 100644 --- a/src/Mod/TechDraw/App/DrawViewSection.h +++ b/src/Mod/TechDraw/App/DrawViewSection.h @@ -102,6 +102,10 @@ public: App::PropertyBool FuseBeforeCut; App::PropertyBool TrimAfterCut;//new v021 + App::PropertyBool UsePreviousCut; // new v022 + + App::PropertyFloat SectionLineStretch; // new v022 + bool isReallyInBox(const Base::Vector3d v, const Base::BoundBox3d bb) const; bool isReallyInBox(const gp_Pnt p, const Bnd_Box& bb) const; @@ -139,10 +143,8 @@ public: Base::Vector3d getXDirection() const override;//don't use XDirection.getValue() TechDraw::DrawViewPart* getBaseDVP() const; - TechDraw::DrawProjGroupItem* getBaseDPGI() const; //section face related methods - TopoDS_Compound getSectionTFaces() { return m_sectionTopoDSFaces; } std::vector getTDFaceGeometry() { return m_tdSectionFaces; } TopoDS_Face getSectionTopoDSFace(int i); virtual TopoDS_Compound alignSectionFaces(TopoDS_Shape faceIntersections); @@ -155,6 +157,7 @@ public: std::vector getDecodedSpecsFromFile(std::string fileSpec, std::string myPattern); TopoDS_Shape getCutShape() const { return m_cutShape; } + TopoDS_Shape getCutShapeRaw() const { return m_cutShapeRaw; } TopoDS_Shape getShapeForDetail() const override; @@ -184,7 +187,8 @@ protected: int prefCutSurface() const; bool trimAfterCut() const; - TopoDS_Shape m_cutShape; + TopoDS_Shape m_cutShape; // centered, scaled, rotated result of cut + TopoDS_Shape m_cutShapeRaw; // raw result of cut w/o center/scale/rotate void onDocumentRestored() override; void setupObject() override; diff --git a/src/Mod/TechDraw/App/DrawWeldSymbol.cpp b/src/Mod/TechDraw/App/DrawWeldSymbol.cpp index a6b90f31b3..f172875ca0 100644 --- a/src/Mod/TechDraw/App/DrawWeldSymbol.cpp +++ b/src/Mod/TechDraw/App/DrawWeldSymbol.cpp @@ -30,7 +30,7 @@ #include "DrawWeldSymbolPy.h" // generated from DrawWeldSymbolPy.xml #include "DrawLeaderLine.h" #include "DrawTileWeld.h" - +#include "DrawUtil.h" using namespace TechDraw; @@ -79,6 +79,7 @@ void DrawWeldSymbol::onSettingDocument() auto tile1Obj( doc->addObject( "TechDraw::DrawTileWeld", tileName1.c_str() ) ); DrawTileWeld* tile1 = dynamic_cast(tile1Obj); if (tile1) { + tile1->Label.setValue(DrawUtil::translateArbitrary("DrawTileWeld", "TileWeld", tileName1)); tile1->TileParent.setValue(this); } @@ -86,6 +87,7 @@ void DrawWeldSymbol::onSettingDocument() auto tile2Obj( doc->addObject( "TechDraw::DrawTileWeld", tileName2.c_str() ) ); DrawTileWeld* tile2 = dynamic_cast(tile2Obj); if (tile2) { + tile2->Label.setValue(DrawUtil::translateArbitrary("DrawTileWeld", "TileWeld", tileName2)); tile2->TileParent.setValue(this); tile2->TileRow.setValue(-1); //other side is row -1 } diff --git a/src/Mod/TechDraw/App/Geometry.cpp b/src/Mod/TechDraw/App/Geometry.cpp index 9786f2245d..b0c0d300ae 100644 --- a/src/Mod/TechDraw/App/Geometry.cpp +++ b/src/Mod/TechDraw/App/Geometry.cpp @@ -424,7 +424,7 @@ bool BaseGeom::closed() BaseGeomPtr BaseGeom::inverted() { Base::Console().Message("BG::inverted()\n"); - TopoDS_Shape invertedShape = GeometryObject::invertGeometry(occEdge); + TopoDS_Shape invertedShape = ShapeUtils::invertGeometry(occEdge); TopoDS_Edge invertedEdge = TopoDS::Edge(invertedShape); return baseFactory(invertedEdge); } @@ -713,7 +713,7 @@ void BaseGeom::intersectionCC(TechDraw::BaseGeomPtr geom1, TopoShape BaseGeom::asTopoShape(double scale) { // Base::Console().Message("BG::asTopoShape(%.3f) - dump: %s\n", scale, dump().c_str()); - TopoDS_Shape unscaledShape = TechDraw::scaleShape(getOCCEdge(), 1.0 / scale); + TopoDS_Shape unscaledShape = ShapeUtils::scaleShape(getOCCEdge(), 1.0 / scale); TopoDS_Edge unscaledEdge = TopoDS::Edge(unscaledShape); return unscaledEdge; } diff --git a/src/Mod/TechDraw/App/GeometryObject.cpp b/src/Mod/TechDraw/App/GeometryObject.cpp index 5e54b2585d..151e4e28ee 100644 --- a/src/Mod/TechDraw/App/GeometryObject.cpp +++ b/src/Mod/TechDraw/App/GeometryObject.cpp @@ -20,6 +20,9 @@ * * ***************************************************************************/ +//! a class to the projection of shapes, removal/identifying hidden lines and +//! converting the output for OCC HLR into the BaseGeom intermediate representation. + #include "PreCompiled.h" #ifndef _PreComp_ @@ -71,17 +74,13 @@ #include "DrawViewPart.h" #include "GeometryObject.h" #include "DrawProjectSplit.h" +#include "ShapeUtils.h" using namespace TechDraw; using namespace std; using DU = DrawUtil; -struct EdgePoints { - gp_Pnt v1, v2; - TopoDS_Edge edge; -}; - GeometryObject::GeometryObject(const string& parent, TechDraw::DrawView* parentObj) : m_parentName(parent), m_parent(parentObj), m_isoCount(0), m_isPersp(false), m_focus(100.0), m_usePolygonHLR(false), m_scrubCount(0) @@ -178,63 +177,63 @@ void GeometryObject::projectShape(const TopoDS_Shape& inShape, const gp_Ax2& vie if (!hlrToShape.VCompound().IsNull()) { visHard = hlrToShape.VCompound(); BRepLib::BuildCurves3d(visHard); - visHard = invertGeometry(visHard); + visHard =ShapeUtils::invertGeometry(visHard); // BRepTools::Write(visHard, "GOvisHard.brep"); //debug } if (!hlrToShape.Rg1LineVCompound().IsNull()) { visSmooth = hlrToShape.Rg1LineVCompound(); BRepLib::BuildCurves3d(visSmooth); - visSmooth = invertGeometry(visSmooth); + visSmooth =ShapeUtils::invertGeometry(visSmooth); } if (!hlrToShape.RgNLineVCompound().IsNull()) { visSeam = hlrToShape.RgNLineVCompound(); BRepLib::BuildCurves3d(visSeam); - visSeam = invertGeometry(visSeam); + visSeam =ShapeUtils::invertGeometry(visSeam); } if (!hlrToShape.OutLineVCompound().IsNull()) { // BRepTools::Write(hlrToShape.OutLineVCompound(), "GOOutLineVCompound.brep"); //debug visOutline = hlrToShape.OutLineVCompound(); BRepLib::BuildCurves3d(visOutline); - visOutline = invertGeometry(visOutline); + visOutline =ShapeUtils::invertGeometry(visOutline); } if (!hlrToShape.IsoLineVCompound().IsNull()) { visIso = hlrToShape.IsoLineVCompound(); BRepLib::BuildCurves3d(visIso); - visIso = invertGeometry(visIso); + visIso =ShapeUtils::invertGeometry(visIso); } if (!hlrToShape.HCompound().IsNull()) { hidHard = hlrToShape.HCompound(); BRepLib::BuildCurves3d(hidHard); - hidHard = invertGeometry(hidHard); + hidHard =ShapeUtils::invertGeometry(hidHard); } if (!hlrToShape.Rg1LineHCompound().IsNull()) { hidSmooth = hlrToShape.Rg1LineHCompound(); BRepLib::BuildCurves3d(hidSmooth); - hidSmooth = invertGeometry(hidSmooth); + hidSmooth =ShapeUtils::invertGeometry(hidSmooth); } if (!hlrToShape.RgNLineHCompound().IsNull()) { hidSeam = hlrToShape.RgNLineHCompound(); BRepLib::BuildCurves3d(hidSeam); - hidSeam = invertGeometry(hidSeam); + hidSeam =ShapeUtils::invertGeometry(hidSeam); } if (!hlrToShape.OutLineHCompound().IsNull()) { hidOutline = hlrToShape.OutLineHCompound(); BRepLib::BuildCurves3d(hidOutline); - hidOutline = invertGeometry(hidOutline); + hidOutline =ShapeUtils::invertGeometry(hidOutline); } if (!hlrToShape.IsoLineHCompound().IsNull()) { hidIso = hlrToShape.IsoLineHCompound(); BRepLib::BuildCurves3d(hidIso); - hidIso = invertGeometry(hidIso); + hidIso =ShapeUtils::invertGeometry(hidIso); } } catch (const Standard_Failure&) { @@ -288,7 +287,7 @@ void GeometryObject::makeTDGeometry() } //mirror a shape thru XZ plane for Qt's inverted Y coordinate -TopoDS_Shape GeometryObject::invertGeometry(const TopoDS_Shape s) +TopoDS_Shape ShapeUtils::invertGeometry(const TopoDS_Shape s) { if (s.IsNull()) { return s; @@ -314,9 +313,9 @@ void GeometryObject::projectShapeWithPolygonAlgo(const TopoDS_Shape& input, cons //to be reverted. TopoDS_Shape inCopy; if (!m_isPersp) { - gp_Pnt gCenter = findCentroid(input, viewAxis); + gp_Pnt gCenter = ShapeUtils::findCentroid(input, viewAxis); Base::Vector3d motion(-gCenter.X(), -gCenter.Y(), -gCenter.Z()); - inCopy = moveShape(input, motion); + inCopy = ShapeUtils::moveShape(input, motion); } else { BRepBuilderAPI_Copy BuilderCopy(input); @@ -363,37 +362,37 @@ void GeometryObject::projectShapeWithPolygonAlgo(const TopoDS_Shape& input, cons visHard = polyhlrToShape.VCompound(); BRepLib::BuildCurves3d(visHard); - visHard = invertGeometry(visHard); + visHard =ShapeUtils::invertGeometry(visHard); // BRepTools::Write(visHard, "GOvisHardi.brep"); //debug visSmooth = polyhlrToShape.Rg1LineVCompound(); BRepLib::BuildCurves3d(visSmooth); - visSmooth = invertGeometry(visSmooth); + visSmooth =ShapeUtils::invertGeometry(visSmooth); visSeam = polyhlrToShape.RgNLineVCompound(); BRepLib::BuildCurves3d(visSeam); - visSeam = invertGeometry(visSeam); + visSeam =ShapeUtils::invertGeometry(visSeam); visOutline = polyhlrToShape.OutLineVCompound(); BRepLib::BuildCurves3d(visOutline); - visOutline = invertGeometry(visOutline); + visOutline =ShapeUtils::invertGeometry(visOutline); hidHard = polyhlrToShape.HCompound(); BRepLib::BuildCurves3d(hidHard); - hidHard = invertGeometry(hidHard); + hidHard =ShapeUtils::invertGeometry(hidHard); // BRepTools::Write(hidHard, "GOhidHardi.brep"); //debug hidSmooth = polyhlrToShape.Rg1LineHCompound(); BRepLib::BuildCurves3d(hidSmooth); - hidSmooth = invertGeometry(hidSmooth); + hidSmooth =ShapeUtils::invertGeometry(hidSmooth); hidSeam = polyhlrToShape.RgNLineHCompound(); BRepLib::BuildCurves3d(hidSeam); - hidSeam = invertGeometry(hidSeam); + hidSeam =ShapeUtils::invertGeometry(hidSeam); hidOutline = polyhlrToShape.OutLineHCompound(); BRepLib::BuildCurves3d(hidOutline); - hidOutline = invertGeometry(hidOutline); + hidOutline =ShapeUtils::invertGeometry(hidOutline); } catch (const Standard_Failure& e) { Base::Console().Error( @@ -431,7 +430,7 @@ TopoDS_Shape GeometryObject::projectSimpleShape(const TopoDS_Shape& shape, const HLRBRep_HLRToShape hlrToShape(brep_hlr); TopoDS_Shape hardEdges = hlrToShape.VCompound(); BRepLib::BuildCurves3d(hardEdges); - hardEdges = invertGeometry(hardEdges); + hardEdges =ShapeUtils::invertGeometry(hardEdges); return hardEdges; } @@ -465,7 +464,7 @@ TopoDS_Shape GeometryObject::projectFace(const TopoDS_Shape& face, const gp_Ax2& HLRBRep_HLRToShape hlrToShape(brep_hlr); TopoDS_Shape hardEdges = hlrToShape.VCompound(); BRepLib::BuildCurves3d(hardEdges); - hardEdges = invertGeometry(hardEdges); + hardEdges =ShapeUtils::invertGeometry(hardEdges); return hardEdges; } @@ -869,326 +868,3 @@ bool GeometryObject::findVertex(Base::Vector3d v) return false; } -/// utility non-class member functions -//! gets a coordinate system that matches view system used in 3D with +Z up (or +Y up if necessary) -//! used for individual views, but not secondary views in projection groups -//! flip determines Y mirror or not. -// getViewAxis 1 -gp_Ax2 TechDraw::getViewAxis(const Base::Vector3d origin, const Base::Vector3d& direction, - const bool flip) -{ - // Base::Console().Message("GO::getViewAxis() - 1 - use only with getLegacyX\n"); - (void)flip; - gp_Ax2 viewAxis; - gp_Pnt inputCenter(origin.x, origin.y, origin.z); - Base::Vector3d stdZ(0.0, 0.0, 1.0); - Base::Vector3d stdOrg(0.0, 0.0, 0.0); - Base::Vector3d cross = direction; - if (DU::checkParallel(direction, stdZ)) { - cross = Base::Vector3d(1.0, 0.0, 0.0); - } - else { - cross.Normalize(); - cross = cross.Cross(stdZ); - } - - if (cross.IsEqual(stdOrg, FLT_EPSILON)) { - viewAxis = gp_Ax2(inputCenter, gp_Dir(direction.x, direction.y, direction.z)); - return viewAxis; - } - - viewAxis = gp_Ax2(inputCenter, gp_Dir(direction.x, direction.y, direction.z), - gp_Dir(cross.x, cross.y, cross.z)); - return viewAxis; -} - -//! gets a coordinate system specified by Z and X directions -//getViewAxis 2 -gp_Ax2 TechDraw::getViewAxis(const Base::Vector3d origin, const Base::Vector3d& direction, - const Base::Vector3d& xAxis, const bool flip) -{ - // Base::Console().Message("GO::getViewAxis() - 2\n"); - (void)flip; - gp_Pnt inputCenter(origin.x, origin.y, origin.z); - return gp_Ax2(inputCenter, - gp_Dir(direction.x, direction.y, direction.z), - gp_Dir(xAxis.x, xAxis.y, xAxis.z)); -} - -// was getViewAxis 1 -// getViewAxis as used before XDirection property adopted -gp_Ax2 TechDraw::legacyViewAxis1(const Base::Vector3d origin, const Base::Vector3d& direction, - const bool flip) -{ - // Base::Console().Message("GO::legacyViewAxis1()\n"); - gp_Pnt inputCenter(origin.x, origin.y, origin.z); - Base::Vector3d stdZ(0.0, 0.0, 1.0); - Base::Vector3d stdOrg(0.0, 0.0, 0.0); - Base::Vector3d flipDirection(direction.x, -direction.y, direction.z); - if (!flip) { - flipDirection = Base::Vector3d(direction.x, direction.y, direction.z); - } - Base::Vector3d cross = flipDirection; - // //special case - if (DU::checkParallel(flipDirection, stdZ)) { - cross = Base::Vector3d(1.0, 0.0, 0.0); - } - else { - cross.Normalize(); - cross = cross.Cross(stdZ); - } - - if (cross.IsEqual(stdOrg, FLT_EPSILON)) { - return gp_Ax2(inputCenter, gp_Dir(flipDirection.x, flipDirection.y, flipDirection.z)); - } - - gp_Ax2 viewAxis = gp_Ax2(inputCenter, - gp_Dir(flipDirection.x, flipDirection.y, flipDirection.z), - gp_Dir(cross.x, cross.y, cross.z)); - - //this bit is to handle the old mirror Y logic, but it messes up - //some old files. - gp_Trsf mirrorXForm; - gp_Ax2 mirrorCS(inputCenter, gp_Dir(0, -1, 0)); - mirrorXForm.SetMirror(mirrorCS); - viewAxis = viewAxis.Transformed(mirrorXForm); - - return viewAxis; -} - -//! Returns the centroid of shape based on R3 -gp_Pnt TechDraw::findCentroid(const TopoDS_Shape& shape) -{ - Bnd_Box tBounds; - tBounds.SetGap(0.0); - BRepBndLib::AddOptimal(shape, tBounds, true, false); - - Standard_Real xMin, yMin, zMin, xMax, yMax, zMax; - tBounds.Get(xMin, yMin, zMin, xMax, yMax, zMax); - - Standard_Real x = (xMin + xMax) / 2.0, y = (yMin + yMax) / 2.0, z = (zMin + zMax) / 2.0; - - return gp_Pnt(x, y, z); -} - -//! Returns the centroid of shape, as viewed according to direction -gp_Pnt TechDraw::findCentroid(const TopoDS_Shape& shape, const Base::Vector3d& direction) -{ - // Base::Console().Message("GO::findCentroid() - 1\n"); - Base::Vector3d origin(0.0, 0.0, 0.0); - gp_Ax2 viewAxis = getViewAxis(origin, direction); - return findCentroid(shape, viewAxis); -} - -//! Returns the centroid of shape, as viewed according to direction -gp_Pnt TechDraw::findCentroid(const TopoDS_Shape& shape, const gp_Ax2& viewAxis) -{ - // Base::Console().Message("GO::findCentroid() - 2\n"); - - gp_Trsf tempTransform; - tempTransform.SetTransformation(viewAxis); - BRepBuilderAPI_Transform builder(shape, tempTransform); - - Bnd_Box tBounds; - tBounds.SetGap(0.0); - BRepBndLib::AddOptimal(builder.Shape(), tBounds, true, false); - - Standard_Real xMin, yMin, zMin, xMax, yMax, zMax; - tBounds.Get(xMin, yMin, zMin, xMax, yMax, zMax); - - Standard_Real x = (xMin + xMax) / 2.0, y = (yMin + yMax) / 2.0, z = (zMin + zMax) / 2.0; - - // Get centroid back into object space - tempTransform.Inverted().Transforms(x, y, z); - - return gp_Pnt(x, y, z); -} - -Base::Vector3d TechDraw::findCentroidVec(const TopoDS_Shape& shape, const Base::Vector3d& direction) -{ - // Base::Console().Message("GO::findCentroidVec() - 1\n"); - gp_Pnt p = TechDraw::findCentroid(shape, direction); - return Base::Vector3d(p.X(), p.Y(), p.Z()); -} - -Base::Vector3d TechDraw::findCentroidVec(const TopoDS_Shape& shape, const gp_Ax2& cs) -{ - // Base::Console().Message("GO::findCentroidVec() - 2\n"); - gp_Pnt p = TechDraw::findCentroid(shape, cs); - return Base::Vector3d(p.X(), p.Y(), p.Z()); -} - -//! Returns the XY plane center of shape with respect to coordSys -gp_Pnt TechDraw::findCentroidXY(const TopoDS_Shape& shape, const gp_Ax2& coordSys) -{ - // Base::Console().Message("GO::findCentroid() - 2\n"); - - gp_Trsf tempTransform; - tempTransform.SetTransformation(coordSys); - BRepBuilderAPI_Transform builder(shape, tempTransform); - - Bnd_Box tBounds; - tBounds.SetGap(0.0); - BRepBndLib::AddOptimal(builder.Shape(), tBounds, true, false); - - Standard_Real xMin, yMin, zMin, xMax, yMax, zMax; - tBounds.Get(xMin, yMin, zMin, xMax, yMax, zMax); - - Standard_Real x = (xMin + xMax) / 2.0, y = (yMin + yMax) / 2.0, z = 0.0; - - // Get "centroid" back into object space - tempTransform.Inverted().Transforms(x, y, z); - - return gp_Pnt(x, y, z); -} - -//!scales & mirrors a shape about a center -TopoDS_Shape TechDraw::mirrorShapeVec(const TopoDS_Shape& input, const Base::Vector3d& inputCenter, - double scale) -{ - gp_Pnt gInput(inputCenter.x, inputCenter.y, inputCenter.z); - return TechDraw::mirrorShape(input, gInput, scale); -} - -TopoDS_Shape TechDraw::mirrorShape(const TopoDS_Shape& input, const gp_Pnt& inputCenter, - double scale) -{ - TopoDS_Shape transShape; - if (input.IsNull()) { - return transShape; - } - try { - // Make tempTransform scale the object around it's centre point and - // mirror about the Y axis - gp_Trsf tempTransform; - //BRepBuilderAPI_Transform will loop forever if asked to use 0.0 as scale - if (scale <= 0.0) { - tempTransform.SetScale(inputCenter, 1.0); - } - else { - tempTransform.SetScale(inputCenter, scale); - } - gp_Trsf mirrorTransform; - mirrorTransform.SetMirror(gp_Ax2(inputCenter, gp_Dir(0, -1, 0))); - tempTransform.Multiply(mirrorTransform); - - // Apply that transform to the shape. This should preserve the centre. - BRepBuilderAPI_Transform mkTrf(input, tempTransform); - transShape = mkTrf.Shape(); - } - catch (...) { - return transShape; - } - return transShape; -} - -//!rotates a shape about a viewAxis -TopoDS_Shape TechDraw::rotateShape(const TopoDS_Shape& input, const gp_Ax2& viewAxis, - double rotAngle) -{ - TopoDS_Shape transShape; - if (input.IsNull()) { - return transShape; - } - - gp_Ax1 rotAxis = viewAxis.Axis(); - double rotation = rotAngle * M_PI / 180.0; - - try { - gp_Trsf tempTransform; - tempTransform.SetRotation(rotAxis, rotation); - BRepBuilderAPI_Transform mkTrf(input, tempTransform); - transShape = mkTrf.Shape(); - } - catch (...) { - return transShape; - } - return transShape; -} - -//!scales a shape about origin -TopoDS_Shape TechDraw::scaleShape(const TopoDS_Shape& input, double scale) -{ - TopoDS_Shape transShape; - try { - gp_Trsf scaleTransform; - scaleTransform.SetScale(gp_Pnt(0, 0, 0), scale); - - BRepBuilderAPI_Transform mkTrf(input, scaleTransform); - transShape = mkTrf.Shape(); - } - catch (...) { - return transShape; - } - return transShape; -} - -//!moves a shape -TopoDS_Shape TechDraw::moveShape(const TopoDS_Shape& input, const Base::Vector3d& motion) -{ - TopoDS_Shape transShape; - try { - gp_Trsf xlate; - xlate.SetTranslation(gp_Vec(motion.x, motion.y, motion.z)); - - BRepBuilderAPI_Transform mkTrf(input, xlate); - transShape = mkTrf.Shape(); - } - catch (...) { - return transShape; - } - return transShape; -} - - -//!moves a shape with restricts on directions -TopoDS_Shape TechDraw::moveShapeRestricted(const TopoDS_Shape& input, const Base::Vector3d& motion, - bool allowX, bool allowY, bool allowZ) -{ - gp_Vec gMotion(allowX ? motion.x : 0.0, allowY ? motion.y : 0.0, allowZ ? motion.z : 0.0); - TopoDS_Shape transShape; - try { - gp_Trsf xlate; - xlate.SetTranslation(gMotion); - - BRepBuilderAPI_Transform mkTrf(input, xlate); - transShape = mkTrf.Shape(); - } - catch (...) { - return transShape; - } - return transShape; -} - -//!moves a shape with restricts on directions -TopoDS_Shape TechDraw::moveShapeRestricted(const TopoDS_Shape& input, const Base::Vector3d& motion, - const Base::Vector3d& mask) -{ - gp_Vec gMotion(mask.x ? motion.x : 0.0, mask.y ? motion.y : 0.0, mask.z ? motion.z : 0.0); - - TopoDS_Shape transShape; - try { - gp_Trsf xlate; - xlate.SetTranslation(gMotion); - - BRepBuilderAPI_Transform mkTrf(input, xlate); - transShape = mkTrf.Shape(); - } - catch (...) { - return transShape; - } - return transShape; -} - -TopoDS_Shape TechDraw::moveShapeRestricted(const TopoDS_Shape& input, const gp_Vec& motion, - const gp_Vec& mask) -{ - return moveShapeRestricted(input, DU::toVector3d(motion), DU::toVector3d(mask)); -} - -TopoDS_Shape TechDraw::centerShapeXY(const TopoDS_Shape& inShape, const gp_Ax2& coordSys) -{ - gp_Pnt inputCenter = findCentroidXY(inShape, coordSys); - Base::Vector3d centroid = DrawUtil::toVector3d(inputCenter); - return TechDraw::moveShape(inShape, centroid * -1.0); -} diff --git a/src/Mod/TechDraw/App/GeometryObject.h b/src/Mod/TechDraw/App/GeometryObject.h index 1188f1a1fc..a08a407804 100644 --- a/src/Mod/TechDraw/App/GeometryObject.h +++ b/src/Mod/TechDraw/App/GeometryObject.h @@ -23,6 +23,10 @@ #ifndef TECHDRAW_GEOMETRYOBJECT_H #define TECHDRAW_GEOMETRYOBJECT_H +//! a class to the projection of shapes, removal/identifying hidden lines and +// converting the output for OCC HLR into the BaseGeom intermediate representation. + + #include #include @@ -37,6 +41,7 @@ #include #include "Geometry.h" +#include "ShapeUtils.h" namespace TechDraw @@ -55,46 +60,6 @@ class Vector; class Face; class Vertex; -//! scales & mirrors a shape about a center - -TopoDS_Shape TechDrawExport mirrorShapeVec( - const TopoDS_Shape& input, const Base::Vector3d& inputCenter = Base::Vector3d(0.0, 0.0, 0.0), - double scale = 1.0); - -TopoDS_Shape TechDrawExport mirrorShape(const TopoDS_Shape& input, - const gp_Pnt& inputCenter = gp_Pnt(0.0, 0.0, 0.0), - double scale = 1.0); - -TopoDS_Shape TechDrawExport scaleShape(const TopoDS_Shape& input, double scale); -TopoDS_Shape TechDrawExport rotateShape(const TopoDS_Shape& input, const gp_Ax2& viewAxis, - double rotAngle); -TopoDS_Shape TechDrawExport moveShape(const TopoDS_Shape& input, const Base::Vector3d& motion); -TopoDS_Shape TechDrawExport moveShapeRestricted(const TopoDS_Shape& input, - const Base::Vector3d& motion, bool allowX = true, - bool allowY = true, bool allowZ = true); -TopoDS_Shape TechDrawExport moveShapeRestricted(const TopoDS_Shape& input, - const Base::Vector3d& motion, - const Base::Vector3d& mask); -TopoDS_Shape TechDrawExport moveShapeRestricted(const TopoDS_Shape& input, const gp_Vec& motion, - const gp_Vec& mask); -TopoDS_Shape TechDrawExport centerShapeXY(const TopoDS_Shape& inShape, const gp_Ax2& coordSys); - -//! Returns the centroid of shape, as viewed according to direction -gp_Pnt TechDrawExport findCentroid(const TopoDS_Shape& shape); -gp_Pnt TechDrawExport findCentroid(const TopoDS_Shape& shape, const Base::Vector3d& direction); -gp_Pnt TechDrawExport findCentroid(const TopoDS_Shape& shape, const gp_Ax2& viewAxis); -Base::Vector3d TechDrawExport findCentroidVec(const TopoDS_Shape& shape, - const Base::Vector3d& direction); -Base::Vector3d TechDrawExport findCentroidVec(const TopoDS_Shape& shape, const gp_Ax2& cs); -gp_Pnt TechDrawExport findCentroidXY(const TopoDS_Shape& shape, const gp_Ax2& coordSys); - -gp_Ax2 TechDrawExport getViewAxis(const Base::Vector3d origin, const Base::Vector3d& direction, - const bool flip = true); -gp_Ax2 TechDrawExport getViewAxis(const Base::Vector3d origin, const Base::Vector3d& direction, - const Base::Vector3d& xAxis, const bool flip = true); -gp_Ax2 TechDrawExport legacyViewAxis1(const Base::Vector3d origin, const Base::Vector3d& direction, - const bool flip = true); - class TechDrawExport GeometryObject { public: @@ -137,9 +102,6 @@ public: void pruneVertexGeom(Base::Vector3d center, double radius); - //dupl mirrorShape??? - static TopoDS_Shape invertGeometry(const TopoDS_Shape s); - TopoDS_Shape getVisHard() { return visHard; } TopoDS_Shape getVisOutline() { return visOutline; } TopoDS_Shape getVisSmooth() { return visSmooth; } @@ -210,3 +172,4 @@ using GeometryObjectPtr = std::shared_ptr; }//namespace TechDraw #endif + diff --git a/src/Mod/TechDraw/App/Preferences.cpp b/src/Mod/TechDraw/App/Preferences.cpp index a1792c53c5..e60c233681 100644 --- a/src/Mod/TechDraw/App/Preferences.cpp +++ b/src/Mod/TechDraw/App/Preferences.cpp @@ -402,3 +402,9 @@ double Preferences::svgHatchFactor() return factor; } +//! For Sections with a Section as a base view, use the cut shape from the base +//! view instead of the original shape +bool Preferences::SectionUsePreviousCut() +{ + return getPreferenceGroup("General")->GetBool("SectionUsePreviousCut", false); +} diff --git a/src/Mod/TechDraw/App/Preferences.h b/src/Mod/TechDraw/App/Preferences.h index 0467599b6b..38475ccf21 100644 --- a/src/Mod/TechDraw/App/Preferences.h +++ b/src/Mod/TechDraw/App/Preferences.h @@ -104,7 +104,9 @@ public: static int scrubCount(); static double svgHatchFactor(); + static bool SectionUsePreviousCut(); }; + }//end namespace TechDraw #endif diff --git a/src/Mod/TechDraw/App/PropertyCosmeticEdgeList.cpp b/src/Mod/TechDraw/App/PropertyCosmeticEdgeList.cpp index af3af4b7a5..46b60a76cd 100644 --- a/src/Mod/TechDraw/App/PropertyCosmeticEdgeList.cpp +++ b/src/Mod/TechDraw/App/PropertyCosmeticEdgeList.cpp @@ -55,8 +55,6 @@ PropertyCosmeticEdgeList::~PropertyCosmeticEdgeList() void PropertyCosmeticEdgeList::setSize(int newSize) { -// for (unsigned int i = newSize; i < _lValueList.size(); i++) -// delete _lValueList[i]; _lValueList.resize(newSize); } @@ -69,6 +67,7 @@ int PropertyCosmeticEdgeList::getSize() const //_lValueList is not const. so why do we pass a const parameter? void PropertyCosmeticEdgeList::setValue(CosmeticEdge* lValue) { +// Base::Console().Message("PCEL::setValue() - current values: %d lValue: %s\n", _lValueList.size(), lValue ? "valid" : "null"); if (lValue) { aboutToSetValue(); _lValueList.resize(1); @@ -79,10 +78,13 @@ void PropertyCosmeticEdgeList::setValue(CosmeticEdge* lValue) void PropertyCosmeticEdgeList::setValues(const std::vector& lValue) { +// Base::Console().Message("PCEL::seValues() - in values: %d current values: %d\n", lValue.size(), _lValueList.size()); aboutToSetValue(); _lValueList.resize(lValue.size()); - for (unsigned int i = 0; i < lValue.size(); i++) - _lValueList[i] = lValue[i]; + if (!lValue.empty()) { + for (unsigned int i = 0; i < lValue.size(); i++) + _lValueList[i] = lValue[i]; + } hasSetValue(); } diff --git a/src/Mod/TechDraw/App/ShapeExtractor.cpp b/src/Mod/TechDraw/App/ShapeExtractor.cpp index f1704b57f3..0f0f659004 100644 --- a/src/Mod/TechDraw/App/ShapeExtractor.cpp +++ b/src/Mod/TechDraw/App/ShapeExtractor.cpp @@ -41,6 +41,7 @@ #include #include #include +//#include #include "ShapeExtractor.h" #include "DrawUtil.h" @@ -50,12 +51,12 @@ using namespace TechDraw; using DU = DrawUtil; -std::vector ShapeExtractor::getShapes2d(const std::vector links) +std::vector ShapeExtractor::getShapes2d(const std::vector links, bool overridePref) { // Base::Console().Message("SE::getShapes2d()\n"); std::vector shapes2d; - if (!prefAdd2d()) { + if (!prefAdd2d() && !overridePref) { return shapes2d; } for (auto& l:links) { @@ -89,12 +90,15 @@ std::vector ShapeExtractor::getShapes2d(const std::vector links) +TopoDS_Shape ShapeExtractor::getShapes(const std::vector links, bool include2d) { // Base::Console().Message("SE::getShapes() - links in: %d\n", links.size()); std::vector sourceShapes; for (auto& l:links) { + if (is2dObject(l) && !include2d) { + continue; + } if (l->getTypeId().isDerivedFrom(App::Link::getClassTypeId())) { App::Link* xLink = dynamic_cast(l); std::vector xShapes = getXShapes(xLink); @@ -313,7 +317,8 @@ std::vector ShapeExtractor::getShapesFromObject(const App::Documen TopoDS_Shape ShapeExtractor::getShapesFused(const std::vector links) { // Base::Console().Message("SE::getShapesFused()\n"); - TopoDS_Shape baseShape = getShapes(links); + // get only the 3d shapes and fuse them + TopoDS_Shape baseShape = getShapes(links, false); if (!baseShape.IsNull()) { TopoDS_Iterator it(baseShape); TopoDS_Shape fusedShape = it.Value(); @@ -330,6 +335,15 @@ TopoDS_Shape ShapeExtractor::getShapesFused(const std::vector shapes2d = getShapes2d(links, true); + if (!shapes2d.empty()) { + shapes2d.push_back(baseShape); + return DrawUtil::shapeVectorToCompound(shapes2d); + } + return baseShape; } @@ -361,11 +375,21 @@ TopoDS_Shape ShapeExtractor::stripInfiniteShapes(TopoDS_Shape inShape) bool ShapeExtractor::is2dObject(App::DocumentObject* obj) { - bool result = false; - if (isEdgeType(obj) || isPointType(obj)) { - result = true; +// TODO:: the check for an object being a sketch should be done as in the commented +// if statement below. To do this, we need to include Mod/Sketcher/SketchObject.h, +// but that makes TechDraw dependent on Eigen libraries which we don't use. As a +// workaround we will inspect the object's class name. +// if (obj->isDerivedFrom(Sketcher::SketchObject::getClassTypeId())) { + std::string objTypeName = obj->getTypeId().getName(); + std::string sketcherToken("Sketcher"); + if (objTypeName.find(sketcherToken) != std::string::npos) { + return true; } - return result; + + if (isEdgeType(obj) || isPointType(obj)) { + return true; + } + return false; } //skip edges for now. diff --git a/src/Mod/TechDraw/App/ShapeExtractor.h b/src/Mod/TechDraw/App/ShapeExtractor.h index c3ce016384..30aad1a5d8 100644 --- a/src/Mod/TechDraw/App/ShapeExtractor.h +++ b/src/Mod/TechDraw/App/ShapeExtractor.h @@ -39,8 +39,8 @@ namespace TechDraw class TechDrawExport ShapeExtractor { public: - static TopoDS_Shape getShapes(const std::vector links); - static std::vector getShapes2d(const std::vector links); + static TopoDS_Shape getShapes(const std::vector links, bool include2d = true); + static std::vector getShapes2d(const std::vector links, bool overridePref = false); static std::vector getXShapes(const App::Link* xLink); static std::vector getShapesFromObject(const App::DocumentObject* docObj); static TopoDS_Shape getShapesFused(const std::vector links); diff --git a/src/Mod/TechDraw/App/ShapeUtils.cpp b/src/Mod/TechDraw/App/ShapeUtils.cpp new file mode 100644 index 0000000000..a9e0d9d71f --- /dev/null +++ b/src/Mod/TechDraw/App/ShapeUtils.cpp @@ -0,0 +1,355 @@ +/*************************************************************************** + * Copyright (c) 2023 WandererFan * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +//! a class to contain useful shape manipulations. these methods were originally +// in GeometryObject. + + +#include "PreCompiled.h" + +#ifndef _PreComp_ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#endif// #ifndef _PreComp_ + +#include +#include + +#include + +#include "DrawUtil.h" +#include "ShapeUtils.h" + +using namespace TechDraw; +using namespace std; + +using DU = DrawUtil; + + +//! gets a coordinate system that matches view system used in 3D with +Z up (or +Y up if necessary) +//! used for individual views, but not secondary views in projection groups +//! flip determines Y mirror or not. +// getViewAxis 1 +gp_Ax2 ShapeUtils::getViewAxis(const Base::Vector3d origin, const Base::Vector3d& direction, + const bool flip) +{ + // Base::Console().Message("GO::getViewAxis() - 1 - use only with getLegacyX\n"); + (void)flip; + gp_Ax2 viewAxis; + gp_Pnt inputCenter(origin.x, origin.y, origin.z); + Base::Vector3d stdZ(0.0, 0.0, 1.0); + Base::Vector3d stdOrg(0.0, 0.0, 0.0); + Base::Vector3d cross = direction; + if (DU::checkParallel(direction, stdZ)) { + cross = Base::Vector3d(1.0, 0.0, 0.0); + } + else { + cross.Normalize(); + cross = cross.Cross(stdZ); + } + + if (cross.IsEqual(stdOrg, FLT_EPSILON)) { + viewAxis = gp_Ax2(inputCenter, gp_Dir(direction.x, direction.y, direction.z)); + return viewAxis; + } + + viewAxis = gp_Ax2(inputCenter, gp_Dir(direction.x, direction.y, direction.z), + gp_Dir(cross.x, cross.y, cross.z)); + return viewAxis; +} + +//! gets a coordinate system specified by Z and X directions +//getViewAxis 2 +gp_Ax2 ShapeUtils::getViewAxis(const Base::Vector3d origin, const Base::Vector3d& direction, + const Base::Vector3d& xAxis, const bool flip) +{ + // Base::Console().Message("GO::getViewAxis() - 2\n"); + (void)flip; + gp_Pnt inputCenter(origin.x, origin.y, origin.z); + return gp_Ax2(inputCenter, + gp_Dir(direction.x, direction.y, direction.z), + gp_Dir(xAxis.x, xAxis.y, xAxis.z)); +} + +// was getViewAxis 1 +// getViewAxis as used before XDirection property adopted +gp_Ax2 ShapeUtils::legacyViewAxis1(const Base::Vector3d origin, const Base::Vector3d& direction, + const bool flip) +{ + // Base::Console().Message("GO::legacyViewAxis1()\n"); + gp_Pnt inputCenter(origin.x, origin.y, origin.z); + Base::Vector3d stdZ(0.0, 0.0, 1.0); + Base::Vector3d stdOrg(0.0, 0.0, 0.0); + Base::Vector3d flipDirection(direction.x, -direction.y, direction.z); + if (!flip) { + flipDirection = Base::Vector3d(direction.x, direction.y, direction.z); + } + Base::Vector3d cross = flipDirection; + // //special case + if (DU::checkParallel(flipDirection, stdZ)) { + cross = Base::Vector3d(1.0, 0.0, 0.0); + } + else { + cross.Normalize(); + cross = cross.Cross(stdZ); + } + + if (cross.IsEqual(stdOrg, FLT_EPSILON)) { + return gp_Ax2(inputCenter, gp_Dir(flipDirection.x, flipDirection.y, flipDirection.z)); + } + + gp_Ax2 viewAxis = gp_Ax2(inputCenter, + gp_Dir(flipDirection.x, flipDirection.y, flipDirection.z), + gp_Dir(cross.x, cross.y, cross.z)); + + //this bit is to handle the old mirror Y logic, but it messes up + //some old files. + gp_Trsf mirrorXForm; + gp_Ax2 mirrorCS(inputCenter, gp_Dir(0, -1, 0)); + mirrorXForm.SetMirror(mirrorCS); + viewAxis = viewAxis.Transformed(mirrorXForm); + + return viewAxis; +} + +//! Returns the centroid of shape based on R3 +gp_Pnt ShapeUtils::findCentroid(const TopoDS_Shape& shape) +{ + Bnd_Box tBounds; + tBounds.SetGap(0.0); + BRepBndLib::AddOptimal(shape, tBounds, true, false); + + Standard_Real xMin, yMin, zMin, xMax, yMax, zMax; + tBounds.Get(xMin, yMin, zMin, xMax, yMax, zMax); + + Standard_Real x = (xMin + xMax) / 2.0, y = (yMin + yMax) / 2.0, z = (zMin + zMax) / 2.0; + + return gp_Pnt(x, y, z); +} + +//! Returns the centroid of shape, as viewed according to direction +gp_Pnt ShapeUtils::findCentroid(const TopoDS_Shape& shape, const Base::Vector3d& direction) +{ + // Base::Console().Message("GO::findCentroid() - 1\n"); + Base::Vector3d origin(0.0, 0.0, 0.0); + gp_Ax2 viewAxis = getViewAxis(origin, direction); + return findCentroid(shape, viewAxis); +} + +//! Returns the centroid of shape, as viewed according to direction +gp_Pnt ShapeUtils::findCentroid(const TopoDS_Shape& shape, const gp_Ax2& viewAxis) +{ + // Base::Console().Message("GO::findCentroid() - 2\n"); + + gp_Trsf tempTransform; + tempTransform.SetTransformation(viewAxis); + BRepBuilderAPI_Transform builder(shape, tempTransform); + + Bnd_Box tBounds; + tBounds.SetGap(0.0); + BRepBndLib::AddOptimal(builder.Shape(), tBounds, true, false); + + Standard_Real xMin, yMin, zMin, xMax, yMax, zMax; + tBounds.Get(xMin, yMin, zMin, xMax, yMax, zMax); + + Standard_Real x = (xMin + xMax) / 2.0, y = (yMin + yMax) / 2.0, z = (zMin + zMax) / 2.0; + + // Get centroid back into object space + tempTransform.Inverted().Transforms(x, y, z); + + return gp_Pnt(x, y, z); +} + +Base::Vector3d ShapeUtils::findCentroidVec(const TopoDS_Shape& shape, const Base::Vector3d& direction) +{ + // Base::Console().Message("GO::findCentroidVec() - 1\n"); + gp_Pnt p = ShapeUtils::findCentroid(shape, direction); + return Base::Vector3d(p.X(), p.Y(), p.Z()); +} + +Base::Vector3d ShapeUtils::findCentroidVec(const TopoDS_Shape& shape, const gp_Ax2& cs) +{ + // Base::Console().Message("GO::findCentroidVec() - 2\n"); + gp_Pnt p = ShapeUtils::findCentroid(shape, cs); + return Base::Vector3d(p.X(), p.Y(), p.Z()); +} + +//! Returns the XY plane center of shape with respect to coordSys +gp_Pnt ShapeUtils::findCentroidXY(const TopoDS_Shape& shape, const gp_Ax2& coordSys) +{ + // Base::Console().Message("GO::findCentroid() - 2\n"); + + gp_Trsf tempTransform; + tempTransform.SetTransformation(coordSys); + BRepBuilderAPI_Transform builder(shape, tempTransform); + + Bnd_Box tBounds; + tBounds.SetGap(0.0); + BRepBndLib::AddOptimal(builder.Shape(), tBounds, true, false); + + Standard_Real xMin, yMin, zMin, xMax, yMax, zMax; + tBounds.Get(xMin, yMin, zMin, xMax, yMax, zMax); + + Standard_Real x = (xMin + xMax) / 2.0, y = (yMin + yMax) / 2.0, z = 0.0; + + // Get "centroid" back into object space + tempTransform.Inverted().Transforms(x, y, z); + + return gp_Pnt(x, y, z); +} + +//!scales & mirrors a shape about a center +TopoDS_Shape ShapeUtils::mirrorShapeVec(const TopoDS_Shape& input, const Base::Vector3d& inputCenter, + double scale) +{ + gp_Pnt gInput(inputCenter.x, inputCenter.y, inputCenter.z); + return ShapeUtils::mirrorShape(input, gInput, scale); +} + +TopoDS_Shape ShapeUtils::mirrorShape(const TopoDS_Shape& input, const gp_Pnt& inputCenter, + double scale) +{ + TopoDS_Shape transShape; + if (input.IsNull()) { + return transShape; + } + try { + // Make tempTransform scale the object around it's centre point and + // mirror about the Y axis + gp_Trsf tempTransform; + //BRepBuilderAPI_Transform will loop forever if asked to use 0.0 as scale + if (scale <= 0.0) { + tempTransform.SetScale(inputCenter, 1.0); + } + else { + tempTransform.SetScale(inputCenter, scale); + } + gp_Trsf mirrorTransform; + mirrorTransform.SetMirror(gp_Ax2(inputCenter, gp_Dir(0, -1, 0))); + tempTransform.Multiply(mirrorTransform); + + // Apply that transform to the shape. This should preserve the centre. + BRepBuilderAPI_Transform mkTrf(input, tempTransform); + transShape = mkTrf.Shape(); + } + catch (...) { + return transShape; + } + return transShape; +} + +//!rotates a shape about a viewAxis +TopoDS_Shape ShapeUtils::rotateShape(const TopoDS_Shape& input, const gp_Ax2& viewAxis, + double rotAngle) +{ + TopoDS_Shape transShape; + if (input.IsNull()) { + return transShape; + } + + gp_Ax1 rotAxis = viewAxis.Axis(); + double rotation = rotAngle * M_PI / 180.0; + + try { + gp_Trsf tempTransform; + tempTransform.SetRotation(rotAxis, rotation); + BRepBuilderAPI_Transform mkTrf(input, tempTransform); + transShape = mkTrf.Shape(); + } + catch (...) { + return transShape; + } + return transShape; +} + +//!scales a shape about origin +TopoDS_Shape ShapeUtils::scaleShape(const TopoDS_Shape& input, double scale) +{ + TopoDS_Shape transShape; + try { + gp_Trsf scaleTransform; + scaleTransform.SetScale(gp_Pnt(0, 0, 0), scale); + + BRepBuilderAPI_Transform mkTrf(input, scaleTransform); + transShape = mkTrf.Shape(); + } + catch (...) { + return transShape; + } + return transShape; +} + +//!moves a shape +TopoDS_Shape ShapeUtils::moveShape(const TopoDS_Shape& input, const Base::Vector3d& motion) +{ + TopoDS_Shape transShape; + try { + gp_Trsf xlate; + xlate.SetTranslation(gp_Vec(motion.x, motion.y, motion.z)); + + BRepBuilderAPI_Transform mkTrf(input, xlate); + transShape = mkTrf.Shape(); + } + catch (...) { + return transShape; + } + return transShape; +} + +TopoDS_Shape ShapeUtils::centerShapeXY(const TopoDS_Shape& inShape, const gp_Ax2& coordSys) +{ + gp_Pnt inputCenter = findCentroidXY(inShape, coordSys); + Base::Vector3d centroid = DrawUtil::toVector3d(inputCenter); + return ShapeUtils::moveShape(inShape, centroid * -1.0); +} diff --git a/src/Mod/TechDraw/App/ShapeUtils.h b/src/Mod/TechDraw/App/ShapeUtils.h new file mode 100644 index 0000000000..e831a8c8b7 --- /dev/null +++ b/src/Mod/TechDraw/App/ShapeUtils.h @@ -0,0 +1,110 @@ +/*************************************************************************** + * Copyright (c) 2023 WandererFan * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#ifndef TECHDRAW_SHAPEUTILS_H +#define TECHDRAW_SHAPEUTILS_H + +#include + +#include +#include +#include + +#include +#include +#include + +#include + +//! a class to contain useful shape manipulations. these methods were originally +// in GeometryObject. + +namespace TechDraw +{ +class DrawViewPart; +class DrawViewDetail; +class DrawView; +class CosmeticVertex; +class CosmeticEdge; +class BaseGeom; +class Vector; +class Face; +class Vertex; + +class TechDrawExport ShapeUtils +{ +public: + //! scales & mirrors a shape about a center + static TopoDS_Shape mirrorShapeVec( const TopoDS_Shape& input, + const Base::Vector3d& inputCenter = Base::Vector3d(0.0, 0.0, 0.0), + double scale = 1.0); +//! scales & mirrors a shape about a center + static TopoDS_Shape mirrorShapeVec(TopoDS_Shape& input, const Base::Vector3d& inputCenter = Base::Vector3d(0.0, 0.0, 0.0), + double scale = 1.0); + +//! mirrors a shape around the y axis. this is need to deal with Qt's odd coordinate choice where the Y-axis +//! has increasing values in the down direction. also performs a scaling of the input shaft + static TopoDS_Shape mirrorShape(const TopoDS_Shape& input, + const gp_Pnt& inputCenter = gp_Pnt(0.0, 0.0, 0.0), + double scale = 1.0); + //! another mirroring routine that modifies the shape to conform with the Qt coordinate system. + static TopoDS_Shape invertGeometry(const TopoDS_Shape s); + +//! scales a shape uniformly in all directions + static TopoDS_Shape scaleShape(const TopoDS_Shape& input, double scale); + +//! rotates a shape around the Z axis of a coordinate system + static TopoDS_Shape rotateShape(const TopoDS_Shape& input, const gp_Ax2& coordSys, + double rotAngle); + +//! moves a shape in a direction and distance specified by the motion parameter + static TopoDS_Shape moveShape(const TopoDS_Shape& input, const Base::Vector3d& motion); + +//! move a shape such that its centroid is aligned with the origin point of a CoordinateSystem + static TopoDS_Shape centerShapeXY(const TopoDS_Shape& inShape, const gp_Ax2& coordSys); + +//! Returns the centroid of shape, as viewed according to direction + static gp_Pnt findCentroid(const TopoDS_Shape& shape); + static gp_Pnt findCentroid(const TopoDS_Shape& shape, const Base::Vector3d& direction); + static gp_Pnt findCentroid(const TopoDS_Shape& shape, const gp_Ax2& viewAxis); + static Base::Vector3d findCentroidVec(const TopoDS_Shape& shape, + const Base::Vector3d& direction); + static Base::Vector3d findCentroidVec(const TopoDS_Shape& shape, const gp_Ax2& cs); + static gp_Pnt findCentroidXY(const TopoDS_Shape& shape, const gp_Ax2& coordSys); + + +//! creates a RH coordinate system with the origin at origin and the Z axis along direction. +// the flip will cause the Z axis to be the reversed of direction + static gp_Ax2 getViewAxis(const Base::Vector3d origin, const Base::Vector3d& direction, + const bool flip = true); + static gp_Ax2 getViewAxis(const Base::Vector3d origin, const Base::Vector3d& direction, + const Base::Vector3d& xAxis, const bool flip = true); + static gp_Ax2 legacyViewAxis1(const Base::Vector3d origin, const Base::Vector3d& direction, + const bool flip = true); + + static TopoDS_Shape projectSimpleShape(const TopoDS_Shape& shape, const gp_Ax2& CS); + static TopoDS_Shape simpleProjection(const TopoDS_Shape& shape, const gp_Ax2& projCS); + static TopoDS_Shape projectFace(const TopoDS_Shape& face, const gp_Ax2& CS); +}; + +} +#endif diff --git a/src/Mod/TechDraw/Gui/CMakeLists.txt b/src/Mod/TechDraw/Gui/CMakeLists.txt index e7f7368015..6ca0317bff 100644 --- a/src/Mod/TechDraw/Gui/CMakeLists.txt +++ b/src/Mod/TechDraw/Gui/CMakeLists.txt @@ -1,5 +1,6 @@ if(MSVC) add_definitions(-DHAVE_ATANH -DHAVE_ASINH -DHAVE_ACOSH) + add_compile_options(/utf-8) else(MSVC) add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H) endif(MSVC) @@ -333,6 +334,8 @@ SET(TechDrawGuiView_SRCS ZVALUE.h QGIGhostHighlight.cpp QGIGhostHighlight.h + PathBuilder.cpp + PathBuilder.h ) SET(TechDrawGuiNav_SRCS diff --git a/src/Mod/TechDraw/Gui/Command.cpp b/src/Mod/TechDraw/Gui/Command.cpp index bd3bdd11e4..297b2a4cfc 100644 --- a/src/Mod/TechDraw/Gui/Command.cpp +++ b/src/Mod/TechDraw/Gui/Command.cpp @@ -116,8 +116,13 @@ void CmdTechDrawPageDefault::activated(int iMsg) openCommand(QT_TRANSLATE_NOOP("Command", "Drawing create page")); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawPage', '%s')", PageName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawPage', 'Page', '%s')", + PageName.c_str(), PageName.c_str()); + doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawSVGTemplate', '%s')", TemplateName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawSVGTemplate', 'Template', '%s')", + TemplateName.c_str(), TemplateName.c_str()); doCommand(Doc, "App.activeDocument().%s.Template = '%s'", TemplateName.c_str(), templateFileName.toStdString().c_str()); @@ -187,10 +192,14 @@ void CmdTechDrawPageTemplate::activated(int iMsg) openCommand(QT_TRANSLATE_NOOP("Command", "Drawing create page")); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawPage', '%s')", PageName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawPage', 'Page', '%s')", + PageName.c_str(), PageName.c_str()); // Create the Template Object to attach to the page doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawSVGTemplate', '%s')", TemplateName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawSVGTemplate', 'Template', '%s')", + TemplateName.c_str(), TemplateName.c_str()); //why is "Template" property set twice? -wf // once to set DrawSVGTemplate.Template to OS template file name @@ -305,11 +314,6 @@ CmdTechDrawView::CmdTechDrawView() : Command("TechDraw_View") void CmdTechDrawView::activated(int iMsg) { Q_UNUSED(iMsg); - TechDraw::DrawPage* page = DrawGuiUtil::findPage(this); - if (!page) { - return; - } - std::string PageName = page->getNameInDocument(); //set projection direction from selected Face //use first object with a face selected @@ -377,6 +381,12 @@ void CmdTechDrawView::activated(int iMsg) return; } + TechDraw::DrawPage* page = DrawGuiUtil::findPage(this); + if (!page) { + return; + } + std::string PageName = page->getNameInDocument(); + Base::Vector3d projDir; Gui::WaitCursor wc; @@ -384,6 +394,8 @@ void CmdTechDrawView::activated(int iMsg) std::string FeatName = getUniqueObjectName("View"); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawViewPart', '%s')", FeatName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawViewPart', 'View', '%s')", + FeatName.c_str(), FeatName.c_str()); doCommand(Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)", PageName.c_str(), FeatName.c_str()); @@ -590,11 +602,6 @@ bool CmdTechDrawSectionView::isActive() void execSimpleSection(Gui::Command* cmd) { - TechDraw::DrawPage* page = DrawGuiUtil::findPage(cmd); - if (!page) { - return; - } - std::vector baseObj = cmd->getSelection().getObjectsOfType(TechDraw::DrawViewPart::getClassTypeId()); if (baseObj.empty()) { @@ -602,6 +609,12 @@ void execSimpleSection(Gui::Command* cmd) QObject::tr("Select at least 1 DrawViewPart object as Base.")); return; } + + TechDraw::DrawPage* page = DrawGuiUtil::findPage(cmd); + if (!page) { + return; + } + TechDraw::DrawViewPart* dvp = static_cast(*baseObj.begin()); Gui::Control().showDialog(new TaskDlgSectionView(dvp)); @@ -645,12 +658,6 @@ bool CmdTechDrawComplexSection::isActive() { return DrawGuiUtil::needPage(this); //for the dialog is more involved that simple section void execComplexSection(Gui::Command* cmd) { - TechDraw::DrawPage* page = DrawGuiUtil::findPage(cmd); - if (!page) { - return; - } - std::string PageName = page->getNameInDocument(); - TechDraw::DrawViewPart* baseView(nullptr); std::vector shapes; std::vector xShapes; @@ -732,6 +739,11 @@ void execComplexSection(Gui::Command* cmd) return; } + TechDraw::DrawPage* page = DrawGuiUtil::findPage(cmd); + if (!page) { + return; + } + Gui::Control().showDialog( new TaskDlgComplexSection(page, baseView, shapes, xShapes, profileObject, profileSubs)); } @@ -756,10 +768,6 @@ CmdTechDrawDetailView::CmdTechDrawDetailView() : Command("TechDraw_DetailView") void CmdTechDrawDetailView::activated(int iMsg) { Q_UNUSED(iMsg); - TechDraw::DrawPage* page = DrawGuiUtil::findPage(this); - if (!page) { - return; - } std::vector baseObj = getSelection().getObjectsOfType(TechDraw::DrawViewPart::getClassTypeId()); @@ -804,13 +812,6 @@ CmdTechDrawProjectionGroup::CmdTechDrawProjectionGroup() : Command("TechDraw_Pro void CmdTechDrawProjectionGroup::activated(int iMsg) { Q_UNUSED(iMsg); - TechDraw::DrawPage* page = DrawGuiUtil::findPage(this); - if (!page) { - return; - } - std::string PageName = page->getNameInDocument(); - // auto inlist = page->getInListEx(true); - // inlist.insert(page); //set projection direction from selected Face //use first object with a face selected @@ -875,6 +876,12 @@ void CmdTechDrawProjectionGroup::activated(int iMsg) return; } + TechDraw::DrawPage* page = DrawGuiUtil::findPage(this); + if (!page) { + return; + } + std::string PageName = page->getNameInDocument(); + Base::Vector3d projDir; Gui::WaitCursor wc; @@ -1322,6 +1329,8 @@ void CmdTechDrawSymbol::activated(int iMsg) doCommand(Doc, "f.close()"); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawViewSymbol', '%s')", FeatName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawViewSymbol', 'Symbol', '%s')", + FeatName.c_str(), FeatName.c_str()); doCommand(Doc, "App.activeDocument().%s.Symbol = svg", FeatName.c_str()); doCommand(Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)", PageName.c_str(), FeatName.c_str()); @@ -1352,11 +1361,6 @@ CmdTechDrawDraftView::CmdTechDrawDraftView() : Command("TechDraw_DraftView") void CmdTechDrawDraftView::activated(int iMsg) { Q_UNUSED(iMsg); - TechDraw::DrawPage* page = DrawGuiUtil::findPage(this); - if (!page) { - return; - } - std::string PageName = page->getNameInDocument(); std::vector objects = getSelection().getObjectsOfType(App::DocumentObject::getClassTypeId()); @@ -1367,6 +1371,12 @@ void CmdTechDrawDraftView::activated(int iMsg) return; } + TechDraw::DrawPage* page = DrawGuiUtil::findPage(this); + if (!page) { + return; + } + std::string PageName = page->getNameInDocument(); + std::pair dirs = DrawGuiUtil::get3DDirAndRot(); for (std::vector::iterator it = objects.begin(); it != objects.end(); ++it) { @@ -1380,6 +1390,8 @@ void CmdTechDrawDraftView::activated(int iMsg) openCommand(QT_TRANSLATE_NOOP("Command", "Create DraftView")); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawViewDraft', '%s')", FeatName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawViewDraft', 'DraftView', '%s')", + FeatName.c_str(), FeatName.c_str()); doCommand(Doc, "App.activeDocument().%s.Source = App.activeDocument().%s", FeatName.c_str(), SourceName.c_str()); doCommand(Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)", PageName.c_str(), @@ -1413,12 +1425,6 @@ CmdTechDrawArchView::CmdTechDrawArchView() : Command("TechDraw_ArchView") void CmdTechDrawArchView::activated(int iMsg) { Q_UNUSED(iMsg); - TechDraw::DrawPage* page = DrawGuiUtil::findPage(this); - if (!page) { - return; - } - std::string PageName = page->getNameInDocument(); - const std::vector objects = getSelection().getObjectsOfType(App::DocumentObject::getClassTypeId()); @@ -1447,11 +1453,19 @@ void CmdTechDrawArchView::activated(int iMsg) return; } + TechDraw::DrawPage* page = DrawGuiUtil::findPage(this); + if (!page) { + return; + } + std::string PageName = page->getNameInDocument(); + std::string FeatName = getUniqueObjectName("ArchView"); std::string SourceName = archObject->getNameInDocument(); openCommand(QT_TRANSLATE_NOOP("Command", "Create ArchView")); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawViewArch', '%s')", FeatName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawViewArch', 'ArchView', '%s')", + FeatName.c_str(), FeatName.c_str()); doCommand(Doc, "App.activeDocument().%s.Source = App.activeDocument().%s", FeatName.c_str(), SourceName.c_str()); doCommand(Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)", PageName.c_str(), @@ -1501,6 +1515,8 @@ void CmdTechDrawSpreadsheetView::activated(int iMsg) std::string FeatName = getUniqueObjectName("Sheet"); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawViewSpreadsheet', '%s')", FeatName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawViewSpreadsheet', 'Sheet', '%s')", + FeatName.c_str(), FeatName.c_str()); doCommand(Doc, "App.activeDocument().%s.Source = App.activeDocument().%s", FeatName.c_str(), SpreadName.c_str()); doCommand(Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)", PageName.c_str(), diff --git a/src/Mod/TechDraw/Gui/CommandAnnotate.cpp b/src/Mod/TechDraw/Gui/CommandAnnotate.cpp index a3504b8ac2..b3ed6e0ea3 100644 --- a/src/Mod/TechDraw/Gui/CommandAnnotate.cpp +++ b/src/Mod/TechDraw/Gui/CommandAnnotate.cpp @@ -545,6 +545,9 @@ void CmdTechDrawAnnotation::activated(int iMsg) std::string FeatName = getUniqueObjectName("Annotation"); openCommand(QT_TRANSLATE_NOOP("Command", "Create Annotation")); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawViewAnnotation', '%s')", FeatName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawViewAnnotation', 'Annotation', '%s')", + FeatName.c_str(), FeatName.c_str()); + doCommand(Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)", PageName.c_str(), FeatName.c_str()); updateActive(); commitCommand(); @@ -1071,7 +1074,6 @@ void execLine2Points(Gui::Command* cmd) return; } - double scale = baseFeat->getScale(); std::vector points; std::vector is3d; //get the 2D points @@ -1080,8 +1082,7 @@ void execLine2Points(Gui::Command* cmd) int idx = DrawUtil::getIndexFromName(v2d); TechDraw::VertexPtr v = baseFeat->getProjVertexByIndex(idx); if (v) { - Base::Vector3d p = DrawUtil::invertY(v->point()); - points.push_back(p / scale); + points.push_back(v->point()); is3d.push_back(false); } } diff --git a/src/Mod/TechDraw/Gui/CommandCreateDims.cpp b/src/Mod/TechDraw/Gui/CommandCreateDims.cpp index bc0a811f0a..f711fc9182 100644 --- a/src/Mod/TechDraw/Gui/CommandCreateDims.cpp +++ b/src/Mod/TechDraw/Gui/CommandCreateDims.cpp @@ -1306,6 +1306,9 @@ void CmdTechDrawLandmarkDimension::activated(int iMsg) doCommand(Doc, "App.activeDocument().addObject('TechDraw::LandmarkDimension', '%s')", FeatName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('LandmarkDimension', 'LandmarkDim', '%s')", + FeatName.c_str(), FeatName.c_str()); + if (objects.size() == 2) { //what about distanceX and distanceY?? doCommand(Doc, "App.activeDocument().%s.Type = '%s'", FeatName.c_str(), "Distance"); @@ -1386,6 +1389,9 @@ DrawViewDimension* dimensionMaker(TechDraw::DrawViewPart* dvp, std::string dimTy Gui::Command::doCommand(Gui::Command::Doc, "App.activeDocument().addObject('TechDraw::DrawViewDimension', '%s')", dimName.c_str()); + Gui::Command::doCommand(Gui::Command::Doc, "App.activeDocument().%s.translateLabel('DrawViewDimension', 'Dimension', '%s')", + dimName.c_str(), dimName.c_str()); + Gui::Command::doCommand( Gui::Command::Doc, "App.activeDocument().%s.Type = '%s'", dimName.c_str(), dimType.c_str()); diff --git a/src/Mod/TechDraw/Gui/CommandDecorate.cpp b/src/Mod/TechDraw/Gui/CommandDecorate.cpp index 43be4df268..6be553cccb 100644 --- a/src/Mod/TechDraw/Gui/CommandDecorate.cpp +++ b/src/Mod/TechDraw/Gui/CommandDecorate.cpp @@ -191,12 +191,16 @@ void CmdTechDrawGeometricHatch::activated(int iMsg) std::string PageName = page->getNameInDocument(); std::string FeatName = getUniqueObjectName("GeomHatch"); - std::stringstream featLabel; - featLabel << FeatName << "FX" << TechDraw::DrawUtil::getIndexFromName(subNames.at(0)); + + // TODO: the structured label for GeomHatch (and Hatch) should be retired. +// std::stringstream featLabel; +// featLabel << FeatName << "FX" << TechDraw::DrawUtil::getIndexFromName(subNames.at(0)); openCommand(QT_TRANSLATE_NOOP("Command", "Create GeomHatch")); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawGeomHatch', '%s')", FeatName.c_str()); - doCommand(Doc, "App.activeDocument().%s.Label = '%s'", FeatName.c_str(), featLabel.str().c_str()); +// doCommand(Doc, "App.activeDocument().%s.Label = '%s'", FeatName.c_str(), featLabel.str().c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawGeomHatch', 'GeomHatch', '%s')", + FeatName.c_str(), FeatName.c_str()); auto geomhatch( static_cast(getDocument()->getObject(FeatName.c_str())) ); geomhatch->Source.setValue(objFeat, subNames); @@ -264,6 +268,8 @@ void CmdTechDrawImage::activated(int iMsg) fileName = Base::Tools::escapeEncodeFilename(fileName); openCommand(QT_TRANSLATE_NOOP("Command", "Create Image")); doCommand(Doc, "App.activeDocument().addObject('TechDraw::DrawViewImage', '%s')", FeatName.c_str()); + doCommand(Doc, "App.activeDocument().%s.translateLabel('DrawViewImage', 'Image', '%s')", + FeatName.c_str(), FeatName.c_str()); doCommand(Doc, "App.activeDocument().%s.ImageFile = '%s'", FeatName.c_str(), fileName.toUtf8().constData()); doCommand(Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)", PageName.c_str(), FeatName.c_str()); updateActive(); diff --git a/src/Mod/TechDraw/Gui/MDIViewPage.cpp b/src/Mod/TechDraw/Gui/MDIViewPage.cpp index 2b2ae95c9b..e8f0a99f02 100644 --- a/src/Mod/TechDraw/Gui/MDIViewPage.cpp +++ b/src/Mod/TechDraw/Gui/MDIViewPage.cpp @@ -306,7 +306,7 @@ void MDIViewPage::printPdf(std::string file) QString filename = QString::fromUtf8(file.data(), file.size()); QPrinter printer(QPrinter::HighResolution); // setPdfVersion sets the printied PDF Version to comply with PDF/A-1b, more details under: https://www.kdab.com/creating-pdfa-documents-qt/ - printer.setPdfVersion(QPagedPaintDevice::PdfVersion_A1b); +// printer.setPdfVersion(QPagedPaintDevice::PdfVersion_A1b); printer.setFullPage(true); printer.setOutputFileName(filename); diff --git a/src/Mod/TechDraw/Gui/PathBuilder.cpp b/src/Mod/TechDraw/Gui/PathBuilder.cpp new file mode 100644 index 0000000000..4d0110bf51 --- /dev/null +++ b/src/Mod/TechDraw/Gui/PathBuilder.cpp @@ -0,0 +1,371 @@ +/*************************************************************************** + * Copyright (c) 2023 WandererFan * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +#include "PreCompiled.h" +#ifndef _PreComp_ +#include +#endif + +#include + +#include "PathBuilder.h" +#include "Rez.h" + +using namespace TechDraw; +using namespace TechDrawGui; + + +QPainterPath PathBuilder::geomToPainterPath(BaseGeomPtr baseGeom, double rot) const +{ + Q_UNUSED(rot); + QPainterPath path; + + if (!baseGeom) + return path; + + switch (baseGeom->getGeomType()) { + case CIRCLE: { + TechDraw::CirclePtr geom = std::static_pointer_cast(baseGeom); + + double x = geom->center.x - geom->radius; + double y = geom->center.y - geom->radius; + + path.addEllipse(Rez::guiX(x), Rez::guiX(y), Rez::guiX(geom->radius * 2), + Rez::guiX(geom->radius * 2));//topleft@(x, y) radx, rady + } break; + case ARCOFCIRCLE: { + TechDraw::AOCPtr geom = std::static_pointer_cast(baseGeom); + if (baseGeom->getReversed()) { + path.moveTo(Rez::guiX(geom->endPnt.x), Rez::guiX(geom->endPnt.y)); + pathArc(path, Rez::guiX(geom->radius), Rez::guiX(geom->radius), 0., geom->largeArc, + !geom->cw, Rez::guiX(geom->startPnt.x), Rez::guiX(geom->startPnt.y), + Rez::guiX(geom->endPnt.x), Rez::guiX(geom->endPnt.y)); + } + else { + path.moveTo(Rez::guiX(geom->startPnt.x), Rez::guiX(geom->startPnt.y)); + pathArc(path, Rez::guiX(geom->radius), Rez::guiX(geom->radius), 0., geom->largeArc, + geom->cw, Rez::guiX(geom->endPnt.x), Rez::guiX(geom->endPnt.y), + Rez::guiX(geom->startPnt.x), Rez::guiX(geom->startPnt.y)); + } + } break; + case TechDraw::ELLIPSE: { + TechDraw::AOEPtr geom = std::static_pointer_cast(baseGeom); + + // Calculate start and end points as ellipse with theta = 0 and pi + double startX = geom->center.x + geom->major * cos(geom->angle), + startY = geom->center.y + geom->major * sin(geom->angle), + endX = geom->center.x - geom->major * cos(geom->angle), + endY = geom->center.y - geom->major * sin(geom->angle); + + pathArc(path, Rez::guiX(geom->major), Rez::guiX(geom->minor), geom->angle, false, false, + Rez::guiX(endX), Rez::guiX(endY), Rez::guiX(startX), Rez::guiX(startY)); + + pathArc(path, Rez::guiX(geom->major), Rez::guiX(geom->minor), geom->angle, false, false, + Rez::guiX(startX), Rez::guiX(startY), Rez::guiX(endX), Rez::guiX(endY)); + } break; + case TechDraw::ARCOFELLIPSE: { + TechDraw::AOEPtr geom = std::static_pointer_cast(baseGeom); + if (baseGeom->getReversed()) { + path.moveTo(Rez::guiX(geom->endPnt.x), Rez::guiX(geom->endPnt.y)); + pathArc(path, Rez::guiX(geom->major), Rez::guiX(geom->minor), geom->angle, + geom->largeArc, !geom->cw, Rez::guiX(geom->startPnt.x), + Rez::guiX(geom->startPnt.y), Rez::guiX(geom->endPnt.x), + Rez::guiX(geom->endPnt.y)); + } + else { + path.moveTo(Rez::guiX(geom->startPnt.x), Rez::guiX(geom->startPnt.y)); + pathArc(path, Rez::guiX(geom->major), Rez::guiX(geom->minor), geom->angle, + geom->largeArc, geom->cw, Rez::guiX(geom->endPnt.x), + Rez::guiX(geom->endPnt.y), Rez::guiX(geom->startPnt.x), + Rez::guiX(geom->startPnt.y)); + } + } break; + case TechDraw::BEZIER: { + TechDraw::BezierSegmentPtr geom = + std::static_pointer_cast(baseGeom); + if (baseGeom->getReversed()) { + if (!geom->pnts.empty()) { + Base::Vector3d rStart = geom->pnts.back(); + path.moveTo(Rez::guiX(rStart.x), Rez::guiX(rStart.y)); + } + if (geom->poles == 2) { + // Degree 1 bezier = straight line... + path.lineTo(Rez::guiX(geom->pnts[0].x), Rez::guiX(geom->pnts[0].y)); + } + else if (geom->poles == 3) { + path.quadTo(Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y), + Rez::guiX(geom->pnts[0].x), Rez::guiX(geom->pnts[0].y)); + } + else if (geom->poles == 4) { + path.cubicTo(Rez::guiX(geom->pnts[2].x), Rez::guiX(geom->pnts[2].y), + Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y), + Rez::guiX(geom->pnts[0].x), Rez::guiX(geom->pnts[0].y)); + } + else {//can only handle lines, quads, cubes + Base::Console().Error("Bad pole count (%d) for BezierSegment\n", geom->poles); + auto itBez = geom->pnts.begin() + 1; + for (; itBez != geom->pnts.end(); itBez++) { + path.lineTo(Rez::guiX((*itBez).x), + Rez::guiX((*itBez).y));//show something for debugging + } + } + } + else { + // Move painter to the beginning + path.moveTo(Rez::guiX(geom->pnts[0].x), Rez::guiX(geom->pnts[0].y)); + + if (geom->poles == 2) { + // Degree 1 bezier = straight line... + path.lineTo(Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y)); + } + else if (geom->poles == 3) { + path.quadTo(Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y), + Rez::guiX(geom->pnts[2].x), Rez::guiX(geom->pnts[2].y)); + } + else if (geom->poles == 4) { + path.cubicTo(Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y), + Rez::guiX(geom->pnts[2].x), Rez::guiX(geom->pnts[2].y), + Rez::guiX(geom->pnts[3].x), Rez::guiX(geom->pnts[3].y)); + } + else {//can only handle lines, quads, cubes + Base::Console().Error("Bad pole count (%d) for BezierSegment\n", geom->poles); + auto itBez = geom->pnts.begin() + 1; + for (; itBez != geom->pnts.end(); itBez++) { + path.lineTo(Rez::guiX((*itBez).x), + Rez::guiX((*itBez).y));//show something for debugging + } + } + } + } break; + case TechDraw::BSPLINE: { + TechDraw::BSplinePtr geom = std::static_pointer_cast(baseGeom); + if (baseGeom->getReversed()) { + // Move painter to the end of our last segment + std::vector::const_reverse_iterator it = + geom->segments.rbegin(); + Base::Vector3d rStart = it->pnts.back(); + path.moveTo(Rez::guiX(rStart.x), Rez::guiX(rStart.y)); + + for (; it != geom->segments.rend(); ++it) { + // At this point, the painter is either at the beginning + // of the first segment, or end of the last + if (it->poles == 2) { + // Degree 1 bezier = straight line... + path.lineTo(Rez::guiX(it->pnts[0].x), Rez::guiX(it->pnts[0].y)); + } + else if (it->poles == 3) { + path.quadTo(Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y), + Rez::guiX(it->pnts[0].x), Rez::guiX(it->pnts[0].y)); + } + else if (it->poles == 4) { + path.cubicTo(Rez::guiX(it->pnts[2].x), Rez::guiX(it->pnts[2].y), + Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y), + Rez::guiX(it->pnts[0].x), Rez::guiX(it->pnts[0].y)); + } + else {//can only handle lines, quads, cubes + Base::Console().Error( + "Bad pole count (%d) for BezierSegment of B-spline geometry\n", + it->poles); + path.lineTo(it->pnts[1].x, it->pnts[1].y);//show something for debugging + } + } + } + else { + // Move painter to the beginning of our first segment + std::vector::const_iterator it = geom->segments.begin(); + path.moveTo(Rez::guiX(it->pnts[0].x), Rez::guiX(it->pnts[0].y)); + + for (; it != geom->segments.end(); ++it) { + // At this point, the painter is either at the beginning + // of the first segment, or end of the last + if (it->poles == 2) { + // Degree 1 bezier = straight line... + path.lineTo(Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y)); + } + else if (it->poles == 3) { + path.quadTo(Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y), + Rez::guiX(it->pnts[2].x), Rez::guiX(it->pnts[2].y)); + } + else if (it->poles == 4) { + path.cubicTo(Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y), + Rez::guiX(it->pnts[2].x), Rez::guiX(it->pnts[2].y), + Rez::guiX(it->pnts[3].x), Rez::guiX(it->pnts[3].y)); + } + else { + Base::Console().Error( + "Bad pole count (%d) for BezierSegment of B-spline geometry\n", + it->poles); + path.lineTo(it->pnts[1].x, it->pnts[1].y);//show something for debugging + } + } + } + } break; + case TechDraw::GENERIC: { + TechDraw::GenericPtr geom = std::static_pointer_cast(baseGeom); + if (baseGeom->getReversed()) { + if (!geom->points.empty()) { + Base::Vector3d rStart = geom->points.back(); + path.moveTo(Rez::guiX(rStart.x), Rez::guiX(rStart.y)); + } + std::vector::const_reverse_iterator it = geom->points.rbegin(); + for (++it; it != geom->points.rend(); ++it) { + path.lineTo(Rez::guiX((*it).x), Rez::guiX((*it).y)); + } + } + else { + path.moveTo(Rez::guiX(geom->points[0].x), Rez::guiX(geom->points[0].y)); + std::vector::const_iterator it = geom->points.begin(); + for (++it; it != geom->points.end(); ++it) { + path.lineTo(Rez::guiX((*it).x), Rez::guiX((*it).y)); + } + } + } break; + default: { + Base::Console().Error("Error - geomToPainterPath - UNKNOWN geomType: %d\n", + static_cast(baseGeom->getGeomType())); + } break; + }//sb end of switch + + //old rotate path logic. now done on App side. + // if (rot != 0.0) { + // QTransform t; + // t.rotate(-rot); + // path = t.map(path); + // } + + return path; +} + + +// As called by arc of ellipse case: +// pathArc(path, geom->major, geom->minor, geom->angle, geom->largeArc, geom->cw, +// geom->endPnt.x, geom->endPnt.y, +// geom->startPnt.x, geom->startPnt.y); +void PathBuilder::pathArc(QPainterPath& path, double rx, double ry, double x_axis_rotation, + bool large_arc_flag, bool sweep_flag, double x, double y, double curx, + double cury) const +{ + double sin_th, cos_th; + double a00, a01, a10, a11; + double x0, y0, x1, y1, xc, yc; + double d, sfactor, sfactor_sq; + double th0, th1, th_arc; + int i, n_segs; + double dx, dy, dx1, dy1, Pr1, Pr2, Px, Py, check; + + rx = qAbs(rx); + ry = qAbs(ry); + + sin_th = qSin(x_axis_rotation); + cos_th = qCos(x_axis_rotation); + + dx = (curx - x) / 2.0; + dy = (cury - y) / 2.0; + dx1 = cos_th * dx + sin_th * dy; + dy1 = -sin_th * dx + cos_th * dy; + Pr1 = rx * rx; + Pr2 = ry * ry; + Px = dx1 * dx1; + Py = dy1 * dy1; + /* Spec : check if radii are large enough */ + check = Px / Pr1 + Py / Pr2; + if (check > 1) { + rx = rx * qSqrt(check); + ry = ry * qSqrt(check); + } + + a00 = cos_th / rx; + a01 = sin_th / rx; + a10 = -sin_th / ry; + a11 = cos_th / ry; + x0 = a00 * curx + a01 * cury; + y0 = a10 * curx + a11 * cury; + x1 = a00 * x + a01 * y; + y1 = a10 * x + a11 * y; + /* (x0, y0) is current point in transformed coordinate space. + (x1, y1) is new point in transformed coordinate space. + + The arc fits a unit-radius circle in this space. + */ + d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0); + sfactor_sq = 1.0 / d - 0.25; + if (sfactor_sq < 0) + sfactor_sq = 0; + + sfactor = qSqrt(sfactor_sq); + + if (sweep_flag == large_arc_flag) + sfactor = -sfactor; + + xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0); + yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0); + /* (xc, yc) is center of the circle. */ + + th0 = qAtan2(y0 - yc, x0 - xc); + th1 = qAtan2(y1 - yc, x1 - xc); + + th_arc = th1 - th0; + if (th_arc < 0 && sweep_flag) + th_arc += 2 * M_PI; + else if (th_arc > 0 && !sweep_flag) + th_arc -= 2 * M_PI; + + n_segs = qCeil(qAbs(th_arc / (M_PI * 0.5 + 0.001))); + + path.moveTo(curx, cury); + + for (i = 0; i < n_segs; i++) { + pathArcSegment(path, xc, yc, th0 + i * th_arc / n_segs, th0 + (i + 1) * th_arc / n_segs, rx, + ry, x_axis_rotation); + } +} + +void PathBuilder::pathArcSegment(QPainterPath& path, double xc, double yc, double th0, double th1, + double rx, double ry, double xAxisRotation) const +{ + double sinTh, cosTh; + double a00, a01, a10, a11; + double x1, y1, x2, y2, x3, y3; + double t; + double thHalf; + + sinTh = qSin(xAxisRotation); + cosTh = qCos(xAxisRotation); + + a00 = cosTh * rx; + a01 = -sinTh * ry; + a10 = sinTh * rx; + a11 = cosTh * ry; + + thHalf = 0.5 * (th1 - th0); + t = (8.0 / 3.0) * qSin(thHalf * 0.5) * qSin(thHalf * 0.5) / qSin(thHalf); + x1 = xc + qCos(th0) - t * qSin(th0); + y1 = yc + qSin(th0) + t * qCos(th0); + x3 = xc + qCos(th1); + y3 = yc + qSin(th1); + x2 = x3 + t * qSin(th1); + y2 = y3 - t * qCos(th1); + + path.cubicTo(a00 * x1 + a01 * y1, a10 * x1 + a11 * y1, a00 * x2 + a01 * y2, a10 * x2 + a11 * y2, + a00 * x3 + a01 * y3, a10 * x3 + a11 * y3); +} + diff --git a/src/Mod/Import/App/FeatureImportStep.h b/src/Mod/TechDraw/Gui/PathBuilder.h similarity index 61% rename from src/Mod/Import/App/FeatureImportStep.h rename to src/Mod/TechDraw/Gui/PathBuilder.h index c6af747d27..1ad348b5f4 100644 --- a/src/Mod/Import/App/FeatureImportStep.h +++ b/src/Mod/TechDraw/Gui/PathBuilder.h @@ -1,48 +1,56 @@ -/*************************************************************************** - * Copyright (c) 2002 Jürgen Riegel * - * * - * This file is part of the FreeCAD CAx development system. * - * * - * This library is free software; you can redistribute it and/or * - * modify it under the terms of the GNU Library General Public * - * License as published by the Free Software Foundation; either * - * version 2 of the License, or (at your option) any later version. * - * * - * This library is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Library General Public License for more details. * - * * - * You should have received a copy of the GNU Library General Public * - * License along with this library; see the file COPYING.LIB. If not, * - * write to the Free Software Foundation, Inc., 59 Temple Place, * - * Suite 330, Boston, MA 02111-1307, USA * - * * - ***************************************************************************/ - -#ifndef __FeatureImportStep_H__ -#define __FeatureImportStep_H__ - -#include - - -namespace Import -{ - - class FeatureImportStep :public Part::Feature -{ -public: - - virtual void InitLabel(const TDF_Label &rcLabel); - - virtual Standard_Integer Execute(void); - - /// Returns the Name/Type of the feature - virtual const char *Type(void){return "PartImportStep";} -}; - - -} - - -#endif // __FeatureImportStep_H__ +/*************************************************************************** + * Copyright (c) 2023 WandererFan * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + +// a class for converting geometry into QPainterPaths + + +#ifndef PATHBUILDER_H +#define PATHBUILDER_H + +#include + +#include + +#include "QGIViewPart.h" + +namespace TechDrawGui { + +class TechDrawGuiExport PathBuilder { +public: + PathBuilder() {} + PathBuilder(QGIViewPart* qvp) { m_qvp = qvp; } + ~PathBuilder() = default; + + QPainterPath geomToPainterPath(TechDraw::BaseGeomPtr baseGeom, double rot) const; + void pathArc(QPainterPath& path, double rx, double ry, double x_axis_rotation, + bool large_arc_flag, bool sweep_flag, double x, double y, double curx, + double cury) const; + void pathArcSegment(QPainterPath& path, double xc, double yc, double th0, double th1, + double rx, double ry, double xAxisRotation) const; + +private: + QGIViewPart* m_qvp; + +}; + +} //end namespace TechDraw +#endif diff --git a/src/Mod/TechDraw/Gui/QGIView.cpp b/src/Mod/TechDraw/Gui/QGIView.cpp index 2735df7c1e..b67d995d32 100644 --- a/src/Mod/TechDraw/Gui/QGIView.cpp +++ b/src/Mod/TechDraw/Gui/QGIView.cpp @@ -457,7 +457,7 @@ void QGIView::drawBorder() m_font.setPixelSize(fontSize); m_label->setFont(m_font); - QString labelStr = qApp->translate("DrawProjGroupItem", getViewObject()->Label.getValue()); + QString labelStr = QString::fromStdString( getViewObject()->Label.getValue() ); m_label->setPlainText(labelStr); QRectF labelArea = m_label->boundingRect(); //m_label coords double labelWidth = m_label->boundingRect().width(); diff --git a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp index cc70155a5e..a0439d6fd6 100644 --- a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp @@ -587,11 +587,6 @@ void QGIViewBalloon::drawBalloon(bool dragged) if (!refObj) { return; } - // if (!refObj->hasGeometry()) {// nothing to draw yet (restoring) - // balloonLabel->hide(); - // hide(); - // return; - // } auto vp = static_cast(getViewProvider(getViewObject())); if (!vp) { @@ -745,15 +740,16 @@ void QGIViewBalloon::drawBalloon(bool dragged) offsetLR = (lblCenter.x < arrowTipX) ? offsetLR : -offsetLR; + // avoid starting the line inside the balloon + dLineStart.y = lblCenter.y + offsetUD; + dLineStart.x = lblCenter.x + offsetLR; + if (DrawUtil::fpCompare(kinkLength, 0.0) && strcmp(balloonType, "Line")) {//if no kink, then dLine start sb on line from center to arrow - dLineStart = lblCenter; kinkPoint = dLineStart; } else { - dLineStart.y = lblCenter.y + offsetUD; - dLineStart.x = lblCenter.x + offsetLR; kinkLength = (lblCenter.x < arrowTipX) ? kinkLength : -kinkLength; kinkPoint.y = dLineStart.y; kinkPoint.x = dLineStart.x + kinkLength; diff --git a/src/Mod/TechDraw/Gui/QGIViewPart.cpp b/src/Mod/TechDraw/Gui/QGIViewPart.cpp index 8066f74922..6ab8bbaee5 100644 --- a/src/Mod/TechDraw/Gui/QGIViewPart.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewPart.cpp @@ -60,6 +60,7 @@ #include "ViewProviderHatch.h" #include "ViewProviderViewPart.h" #include "ZVALUE.h" +#include "PathBuilder.h" using namespace TechDraw; @@ -85,9 +86,14 @@ QGIViewPart::QGIViewPart() : m_isExporting(false) setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); showSection = false; + m_pathBuilder = new PathBuilder(this); } -QGIViewPart::~QGIViewPart() { tidy(); } +QGIViewPart::~QGIViewPart() +{ + tidy(); + delete m_pathBuilder; +} QVariant QGIViewPart::itemChange(GraphicsItemChange change, const QVariant& value) { @@ -121,229 +127,7 @@ void QGIViewPart::setViewPartFeature(TechDraw::DrawViewPart* obj) QPainterPath QGIViewPart::drawPainterPath(TechDraw::BaseGeomPtr baseGeom) const { double rot = getViewObject()->Rotation.getValue(); - return geomToPainterPath(baseGeom, rot); -} - - -QPainterPath QGIViewPart::geomToPainterPath(BaseGeomPtr baseGeom, double rot) -{ - Q_UNUSED(rot); - QPainterPath path; - - if (!baseGeom) - return path; - - switch (baseGeom->getGeomType()) { - case CIRCLE: { - TechDraw::CirclePtr geom = std::static_pointer_cast(baseGeom); - - double x = geom->center.x - geom->radius; - double y = geom->center.y - geom->radius; - - path.addEllipse(Rez::guiX(x), Rez::guiX(y), Rez::guiX(geom->radius * 2), - Rez::guiX(geom->radius * 2));//topleft@(x, y) radx, rady - } break; - case ARCOFCIRCLE: { - TechDraw::AOCPtr geom = std::static_pointer_cast(baseGeom); - if (baseGeom->getReversed()) { - path.moveTo(Rez::guiX(geom->endPnt.x), Rez::guiX(geom->endPnt.y)); - pathArc(path, Rez::guiX(geom->radius), Rez::guiX(geom->radius), 0., geom->largeArc, - !geom->cw, Rez::guiX(geom->startPnt.x), Rez::guiX(geom->startPnt.y), - Rez::guiX(geom->endPnt.x), Rez::guiX(geom->endPnt.y)); - } - else { - path.moveTo(Rez::guiX(geom->startPnt.x), Rez::guiX(geom->startPnt.y)); - pathArc(path, Rez::guiX(geom->radius), Rez::guiX(geom->radius), 0., geom->largeArc, - geom->cw, Rez::guiX(geom->endPnt.x), Rez::guiX(geom->endPnt.y), - Rez::guiX(geom->startPnt.x), Rez::guiX(geom->startPnt.y)); - } - } break; - case TechDraw::ELLIPSE: { - TechDraw::AOEPtr geom = std::static_pointer_cast(baseGeom); - - // Calculate start and end points as ellipse with theta = 0 and pi - double startX = geom->center.x + geom->major * cos(geom->angle), - startY = geom->center.y + geom->major * sin(geom->angle), - endX = geom->center.x - geom->major * cos(geom->angle), - endY = geom->center.y - geom->major * sin(geom->angle); - - pathArc(path, Rez::guiX(geom->major), Rez::guiX(geom->minor), geom->angle, false, false, - Rez::guiX(endX), Rez::guiX(endY), Rez::guiX(startX), Rez::guiX(startY)); - - pathArc(path, Rez::guiX(geom->major), Rez::guiX(geom->minor), geom->angle, false, false, - Rez::guiX(startX), Rez::guiX(startY), Rez::guiX(endX), Rez::guiX(endY)); - } break; - case TechDraw::ARCOFELLIPSE: { - TechDraw::AOEPtr geom = std::static_pointer_cast(baseGeom); - if (baseGeom->getReversed()) { - path.moveTo(Rez::guiX(geom->endPnt.x), Rez::guiX(geom->endPnt.y)); - pathArc(path, Rez::guiX(geom->major), Rez::guiX(geom->minor), geom->angle, - geom->largeArc, !geom->cw, Rez::guiX(geom->startPnt.x), - Rez::guiX(geom->startPnt.y), Rez::guiX(geom->endPnt.x), - Rez::guiX(geom->endPnt.y)); - } - else { - path.moveTo(Rez::guiX(geom->startPnt.x), Rez::guiX(geom->startPnt.y)); - pathArc(path, Rez::guiX(geom->major), Rez::guiX(geom->minor), geom->angle, - geom->largeArc, geom->cw, Rez::guiX(geom->endPnt.x), - Rez::guiX(geom->endPnt.y), Rez::guiX(geom->startPnt.x), - Rez::guiX(geom->startPnt.y)); - } - } break; - case TechDraw::BEZIER: { - TechDraw::BezierSegmentPtr geom = - std::static_pointer_cast(baseGeom); - if (baseGeom->getReversed()) { - if (!geom->pnts.empty()) { - Base::Vector3d rStart = geom->pnts.back(); - path.moveTo(Rez::guiX(rStart.x), Rez::guiX(rStart.y)); - } - if (geom->poles == 2) { - // Degree 1 bezier = straight line... - path.lineTo(Rez::guiX(geom->pnts[0].x), Rez::guiX(geom->pnts[0].y)); - } - else if (geom->poles == 3) { - path.quadTo(Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y), - Rez::guiX(geom->pnts[0].x), Rez::guiX(geom->pnts[0].y)); - } - else if (geom->poles == 4) { - path.cubicTo(Rez::guiX(geom->pnts[2].x), Rez::guiX(geom->pnts[2].y), - Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y), - Rez::guiX(geom->pnts[0].x), Rez::guiX(geom->pnts[0].y)); - } - else {//can only handle lines, quads, cubes - Base::Console().Error("Bad pole count (%d) for BezierSegment\n", geom->poles); - auto itBez = geom->pnts.begin() + 1; - for (; itBez != geom->pnts.end(); itBez++) { - path.lineTo(Rez::guiX((*itBez).x), - Rez::guiX((*itBez).y));//show something for debugging - } - } - } - else { - // Move painter to the beginning - path.moveTo(Rez::guiX(geom->pnts[0].x), Rez::guiX(geom->pnts[0].y)); - - if (geom->poles == 2) { - // Degree 1 bezier = straight line... - path.lineTo(Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y)); - } - else if (geom->poles == 3) { - path.quadTo(Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y), - Rez::guiX(geom->pnts[2].x), Rez::guiX(geom->pnts[2].y)); - } - else if (geom->poles == 4) { - path.cubicTo(Rez::guiX(geom->pnts[1].x), Rez::guiX(geom->pnts[1].y), - Rez::guiX(geom->pnts[2].x), Rez::guiX(geom->pnts[2].y), - Rez::guiX(geom->pnts[3].x), Rez::guiX(geom->pnts[3].y)); - } - else {//can only handle lines, quads, cubes - Base::Console().Error("Bad pole count (%d) for BezierSegment\n", geom->poles); - auto itBez = geom->pnts.begin() + 1; - for (; itBez != geom->pnts.end(); itBez++) { - path.lineTo(Rez::guiX((*itBez).x), - Rez::guiX((*itBez).y));//show something for debugging - } - } - } - } break; - case TechDraw::BSPLINE: { - TechDraw::BSplinePtr geom = std::static_pointer_cast(baseGeom); - if (baseGeom->getReversed()) { - // Move painter to the end of our last segment - std::vector::const_reverse_iterator it = - geom->segments.rbegin(); - Base::Vector3d rStart = it->pnts.back(); - path.moveTo(Rez::guiX(rStart.x), Rez::guiX(rStart.y)); - - for (; it != geom->segments.rend(); ++it) { - // At this point, the painter is either at the beginning - // of the first segment, or end of the last - if (it->poles == 2) { - // Degree 1 bezier = straight line... - path.lineTo(Rez::guiX(it->pnts[0].x), Rez::guiX(it->pnts[0].y)); - } - else if (it->poles == 3) { - path.quadTo(Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y), - Rez::guiX(it->pnts[0].x), Rez::guiX(it->pnts[0].y)); - } - else if (it->poles == 4) { - path.cubicTo(Rez::guiX(it->pnts[2].x), Rez::guiX(it->pnts[2].y), - Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y), - Rez::guiX(it->pnts[0].x), Rez::guiX(it->pnts[0].y)); - } - else {//can only handle lines, quads, cubes - Base::Console().Error( - "Bad pole count (%d) for BezierSegment of B-spline geometry\n", - it->poles); - path.lineTo(it->pnts[1].x, it->pnts[1].y);//show something for debugging - } - } - } - else { - // Move painter to the beginning of our first segment - std::vector::const_iterator it = geom->segments.begin(); - path.moveTo(Rez::guiX(it->pnts[0].x), Rez::guiX(it->pnts[0].y)); - - for (; it != geom->segments.end(); ++it) { - // At this point, the painter is either at the beginning - // of the first segment, or end of the last - if (it->poles == 2) { - // Degree 1 bezier = straight line... - path.lineTo(Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y)); - } - else if (it->poles == 3) { - path.quadTo(Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y), - Rez::guiX(it->pnts[2].x), Rez::guiX(it->pnts[2].y)); - } - else if (it->poles == 4) { - path.cubicTo(Rez::guiX(it->pnts[1].x), Rez::guiX(it->pnts[1].y), - Rez::guiX(it->pnts[2].x), Rez::guiX(it->pnts[2].y), - Rez::guiX(it->pnts[3].x), Rez::guiX(it->pnts[3].y)); - } - else { - Base::Console().Error( - "Bad pole count (%d) for BezierSegment of B-spline geometry\n", - it->poles); - path.lineTo(it->pnts[1].x, it->pnts[1].y);//show something for debugging - } - } - } - } break; - case TechDraw::GENERIC: { - TechDraw::GenericPtr geom = std::static_pointer_cast(baseGeom); - if (baseGeom->getReversed()) { - if (!geom->points.empty()) { - Base::Vector3d rStart = geom->points.back(); - path.moveTo(Rez::guiX(rStart.x), Rez::guiX(rStart.y)); - } - std::vector::const_reverse_iterator it = geom->points.rbegin(); - for (++it; it != geom->points.rend(); ++it) { - path.lineTo(Rez::guiX((*it).x), Rez::guiX((*it).y)); - } - } - else { - path.moveTo(Rez::guiX(geom->points[0].x), Rez::guiX(geom->points[0].y)); - std::vector::const_iterator it = geom->points.begin(); - for (++it; it != geom->points.end(); ++it) { - path.lineTo(Rez::guiX((*it).x), Rez::guiX((*it).y)); - } - } - } break; - default: { - Base::Console().Error("Error - geomToPainterPath - UNKNOWN geomType: %d\n", - static_cast(baseGeom->getGeomType())); - } break; - }//sb end of switch - - //old rotate path logic. now done on App side. - // if (rot != 0.0) { - // QTransform t; - // t.rotate(-rot); - // path = t.map(path); - // } - - return path; + return m_pathBuilder->geomToPainterPath(baseGeom, rot); } void QGIViewPart::updateView(bool update) @@ -367,6 +151,7 @@ void QGIViewPart::draw() return; drawViewPart(); + drawAllHighlights(); drawMatting(); //this is old C/L drawCenterLines(true);//have to draw centerlines after border to get size correct. @@ -389,209 +174,210 @@ void QGIViewPart::drawViewPart() if (!vp) return; - float lineWidth = vp->LineWidth.getValue() * lineScaleFactor; //thick - float lineWidthHid = vp->HiddenWidth.getValue() * lineScaleFactor;//thin - float lineWidthIso = vp->IsoWidth.getValue() * lineScaleFactor; //graphic - // float lineWidthExtra = viewPart->ExtraWidth.getValue() * lineScaleFactor; //extra - bool showAll = vp->ShowAllEdges.getValue(); - prepareGeometryChange(); removePrimitives();//clean the slate removeDecorations(); if (viewPart->handleFaces() && !viewPart->CoarseView.getValue()) { - // Draw Faces - std::vector hatchObjs = viewPart->getHatches(); - std::vector geomObjs = viewPart->getGeomHatches(); - const std::vector& faceGeoms = viewPart->getFaceGeometry(); - std::vector::const_iterator fit = faceGeoms.begin(); - for (int i = 0; fit != faceGeoms.end(); fit++, i++) { - QGIFace* newFace = drawFace(*fit, i); - newFace->isHatched(false); - newFace->setFillMode(QGIFace::PlainFill); - TechDraw::DrawHatch* fHatch = faceIsHatched(i, hatchObjs); - TechDraw::DrawGeomHatch* fGeom = faceIsGeomHatched(i, geomObjs); - if (fGeom) { - const std::vector& sourceNames = fGeom->Source.getSubValues(); - if (!sourceNames.empty()) { - std::vector lineSets = fGeom->getTrimmedLines(i); - if (!lineSets.empty()) { - newFace->clearLineSets(); - for (auto& ls : lineSets) { - newFace->addLineSet(ls); - } - newFace->isHatched(true); - newFace->setFillMode(QGIFace::GeomHatchFill); - double hatchScale = fGeom->ScalePattern.getValue(); - if (hatchScale > 0.0) { - newFace->setHatchScale(fGeom->ScalePattern.getValue()); - } - newFace->setHatchRotation(fGeom->PatternRotation.getValue()); - newFace->setHatchOffset(fGeom->PatternOffset.getValue()); - newFace->setHatchFile(fGeom->PatIncluded.getValue()); - Gui::ViewProvider* gvp = QGIView::getViewProvider(fGeom); - ViewProviderGeomHatch* geomVp = dynamic_cast(gvp); - if (geomVp) { - newFace->setHatchColor(geomVp->ColorPattern.getValue()); - newFace->setLineWeight(geomVp->WeightPattern.getValue()); - } - } - } - } - else if (fHatch) { - Gui::ViewProvider* gvp = QGIView::getViewProvider(fHatch); - ViewProviderHatch* hatchVp = dynamic_cast(gvp); - if (fHatch->isSvgHatch()) { - if (!fHatch->SvgIncluded.isEmpty()) { - if (getExporting()) { - newFace->hideSvg(true); - } - else { - newFace->hideSvg(false); - } - newFace->isHatched(true); - newFace->setFillMode(QGIFace::SvgFill); - newFace->setHatchFile(fHatch->SvgIncluded.getValue()); - // Gui::ViewProvider* gvp = QGIView::getViewProvider(fHatch); - // ViewProviderHatch* hatchVp = dynamic_cast(gvp); - if (hatchVp) { - double hatchScale = hatchVp->HatchScale.getValue(); - if (hatchScale > 0.0) { - newFace->setHatchScale(hatchVp->HatchScale.getValue()); - } - newFace->setHatchColor(hatchVp->HatchColor.getValue()); - newFace->setHatchRotation(hatchVp->HatchRotation.getValue()); - newFace->setHatchOffset(hatchVp->HatchOffset.getValue()); - } - } - } - else {//bitmap hatch - newFace->isHatched(true); - newFace->setFillMode(QGIFace::BitmapFill); - newFace->setHatchFile(fHatch->SvgIncluded.getValue()); - if (hatchVp) { - newFace->setHatchRotation(hatchVp->HatchRotation.getValue()); - } - } - } - bool drawEdges = prefFaceEdges(); - newFace->setDrawEdges(drawEdges);//pref. for debugging only - newFace->setZValue(ZVALUE::FACE); - newFace->setPrettyNormal(); - newFace->draw(); - } + drawAllFaces(); } - // Draw Edges - QColor edgeColor = PreferencesGui::getAccessibleQColor(PreferencesGui::normalQColor()); - const TechDraw::BaseGeomPtrVector& geoms = viewPart->getEdgeGeometry(); + drawAllEdges(); + + drawAllVertexes(); +} + +void QGIViewPart::drawAllFaces(void) +{ + // dvp already validated + auto dvp(static_cast(getViewObject())); + + std::vector regularHatches = dvp->getHatches(); + std::vector geomHatches = dvp->getGeomHatches(); + const std::vector& faceGeoms = dvp->getFaceGeometry(); + int iFace(0); + for (auto& face : faceGeoms) { + QGIFace* newFace = drawFace(face, iFace); + newFace->isHatched(false); + newFace->setFillMode(QGIFace::PlainFill); + + TechDraw::DrawHatch* fHatch = faceIsHatched(iFace, regularHatches); + TechDraw::DrawGeomHatch* fGeom = faceIsGeomHatched(iFace, geomHatches); + if (fGeom) { + // geometric hatch (from PAT hatch specification) + newFace->isHatched(true); + newFace->setFillMode(QGIFace::GeomHatchFill); + std::vector lineSets = fGeom->getTrimmedLines(iFace); + if (!lineSets.empty()) { + // this face has geometric hatch lines + newFace->clearLineSets(); + for (auto& ls : lineSets) { + newFace->addLineSet(ls); + } + } + double hatchScale = fGeom->ScalePattern.getValue(); + if (hatchScale > 0.0) { + newFace->setHatchScale(fGeom->ScalePattern.getValue()); + } + newFace->setHatchRotation(fGeom->PatternRotation.getValue()); + newFace->setHatchOffset(fGeom->PatternOffset.getValue()); + newFace->setHatchFile(fGeom->PatIncluded.getValue()); + Gui::ViewProvider* gvp = QGIView::getViewProvider(fGeom); + ViewProviderGeomHatch* geomVp = dynamic_cast(gvp); + if (geomVp) { + newFace->setHatchColor(geomVp->ColorPattern.getValue()); + newFace->setLineWeight(geomVp->WeightPattern.getValue()); + } + } else if (fHatch) { + // svg or bitmap hatch + newFace->isHatched(true); + if (!fHatch->SvgIncluded.isEmpty()) { + newFace->setHatchFile(fHatch->SvgIncluded.getValue()); + } + if (fHatch->isSvgHatch()) { + // svg tile hatch + newFace->setFillMode(QGIFace::SvgFill); + if (getExporting()) { + // SVG hatches don't work correctly when exported to PDF, so we need + // to tell the face to use a bitmap substitution for the SVG + newFace->hideSvg(true); + } else { + newFace->hideSvg(false); + } + } else { + //bitmap hatch + newFace->setFillMode(QGIFace::BitmapFill); + } + + // get the properties from the hatch viewprovider + Gui::ViewProvider* gvp = QGIView::getViewProvider(fHatch); + ViewProviderHatch* hatchVp = dynamic_cast(gvp); + if (hatchVp) { + if (hatchVp->HatchScale.getValue() > 0.0) { + newFace->setHatchScale(hatchVp->HatchScale.getValue()); + } + newFace->setHatchColor(hatchVp->HatchColor.getValue()); + newFace->setHatchRotation(hatchVp->HatchRotation.getValue()); + newFace->setHatchOffset(hatchVp->HatchOffset.getValue()); + } + } + + newFace->setDrawEdges(prefFaceEdges()); + newFace->setZValue(ZVALUE::FACE); + newFace->setPrettyNormal(); + newFace->draw(); + iFace++; + } +} + +void QGIViewPart::drawAllEdges() +{ + // dvp and vp already validated + auto dvp(static_cast(getViewObject())); + auto vp = static_cast(getViewProvider(getViewObject())); + + // float lineWidthExtra = dvp->ExtraWidth.getValue() * lineScaleFactor; //extra lines not used here + + const TechDraw::BaseGeomPtrVector& geoms = dvp->getEdgeGeometry(); TechDraw::BaseGeomPtrVector::const_iterator itGeom = geoms.begin(); QGIEdge* item; - for (int i = 0; itGeom != geoms.end(); itGeom++, i++) { - bool showEdge = false; - if ((*itGeom)->getHlrVisible()) { - if (((*itGeom)->getClassOfEdge() == ecHARD) || ((*itGeom)->getClassOfEdge() == ecOUTLINE) - || (((*itGeom)->getClassOfEdge() == ecSMOOTH) && viewPart->SmoothVisible.getValue()) - || (((*itGeom)->getClassOfEdge() == ecSEAM) && viewPart->SeamVisible.getValue()) - || (((*itGeom)->getClassOfEdge() == ecUVISO) && viewPart->IsoVisible.getValue())) { - showEdge = true; - } - } - else { - if ((((*itGeom)->getClassOfEdge() == ecHARD) && (viewPart->HardHidden.getValue())) - || (((*itGeom)->getClassOfEdge() == ecOUTLINE) && (viewPart->HardHidden.getValue())) - || (((*itGeom)->getClassOfEdge() == ecSMOOTH) && (viewPart->SmoothHidden.getValue())) - || (((*itGeom)->getClassOfEdge() == ecSEAM) && (viewPart->SeamHidden.getValue())) - || (((*itGeom)->getClassOfEdge() == ecUVISO) && (viewPart->IsoHidden.getValue()))) { - showEdge = true; - } - } + for (int iEdge = 0; itGeom != geoms.end(); itGeom++, iEdge++) { bool showItem = true; - if (showEdge) {//based on hard/seam/hidden/etc - item = new QGIEdge(i); - item->setWidth(lineWidth); - item->setNormalColor(edgeColor); - item->setStyle(Qt::SolidLine); - if ((*itGeom)->getCosmetic()) { - int source = (*itGeom)->source(); - if (source == COSMETICEDGE) { - std::string cTag = (*itGeom)->getCosmeticTag(); - showItem = formatGeomFromCosmetic(cTag, item); - } - else if (source == CENTERLINE) { - std::string cTag = (*itGeom)->getCosmeticTag(); - showItem = formatGeomFromCenterLine(cTag, item); - } - else { - Base::Console().Message("QGIVP::drawVP - edge: %d is confused - source: %d\n", - i, source); - } + if (!showThisEdge(*itGeom)) { + continue; + } + + item = new QGIEdge(iEdge); + addToGroup(item); //item is created at scene(0, 0), not group(0, 0) + item->setPath(drawPainterPath(*itGeom)); + + item->setWidth(vp->LineWidth.getValue() * lineScaleFactor); //thick + item->setNormalColor(PreferencesGui::getAccessibleQColor(PreferencesGui::normalQColor())); + item->setStyle(Qt::SolidLine); + if ((*itGeom)->getCosmetic()) { + // cosmetic edge - format appropriately + int source = (*itGeom)->source(); + if (source == COSMETICEDGE) { + std::string cTag = (*itGeom)->getCosmeticTag(); + showItem = formatGeomFromCosmetic(cTag, item); + } + else if (source == CENTERLINE) { + std::string cTag = (*itGeom)->getCosmeticTag(); + showItem = formatGeomFromCenterLine(cTag, item); } else { - TechDraw::GeomFormat* gf = viewPart->getGeomFormatBySelection(i); - if (gf) { - App::Color color = Preferences::getAccessibleColor(gf->m_format.m_color); - item->setNormalColor(color.asValue()); - item->setWidth(gf->m_format.m_weight * lineScaleFactor); - item->setStyle(gf->m_format.m_style); - showItem = gf->m_format.m_visible; - } + Base::Console().Message("QGIVP::drawVP - cosmetic edge: %d is confused - source: %d\n", + iEdge, source); } - - addToGroup(item); //item is at scene(0, 0), not group(0, 0) - item->setPos(0.0, 0.0);//now at group(0, 0) - item->setPath(drawPainterPath(*itGeom)); - item->setZValue(ZVALUE::EDGE); - if (!(*itGeom)->getHlrVisible()) { - item->setWidth(lineWidthHid); - item->setHiddenEdge(true); - item->setZValue(ZVALUE::HIDEDGE); + } else { + // geometry edge - apply format if applicable + TechDraw::GeomFormat* gf = dvp->getGeomFormatBySelection(iEdge); + if (gf) { + App::Color color = Preferences::getAccessibleColor(gf->m_format.m_color); + item->setNormalColor(color.asValue()); + item->setWidth(gf->m_format.m_weight * lineScaleFactor); + item->setStyle(gf->m_format.m_style); + showItem = gf->m_format.m_visible; } - if ((*itGeom)->getClassOfEdge() == ecUVISO) { - item->setWidth(lineWidthIso); - } - item->setPrettyNormal(); - if (!showAll) { //view level "show" status - if (!showItem) {//individual edge "show" status - item->hide(); - } - } - //debug a path - // QPainterPath edgePath=drawPainterPath(*itGeom); - // std::stringstream edgeId; - // edgeId << "QGIVP.edgePath" << i; - // dumpPath(edgeId.str().c_str(), edgePath); } + + if (!(*itGeom)->getHlrVisible()) { + // TODO: item->setISOLineNumber(getISOLineNumber(iEdge)); + item->setWidth(vp->HiddenWidth.getValue() * lineScaleFactor); //thin + item->setHiddenEdge(true); + item->setZValue(ZVALUE::HIDEDGE); + } + + if ((*itGeom)->getClassOfEdge() == ecUVISO) { + item->setWidth(vp->IsoWidth.getValue() * lineScaleFactor); //graphic + } + + item->setPos(0.0, 0.0);//now at group(0, 0) + item->setZValue(ZVALUE::EDGE); + item->setPrettyNormal(); + + if (!vp->ShowAllEdges.getValue() && !showItem) { + //view level "show" status && individual edge "show" status + item->hide(); + } + + //debug a path + // QPainterPath edgePath=drawPainterPath(*itGeom); + // std::stringstream edgeId; + // edgeId << "QGIVP.edgePath" << i; + // dumpPath(edgeId.str().c_str(), edgePath); } +} +void QGIViewPart::drawAllVertexes() +{ + // dvp and vp already validated + auto dvp(static_cast(getViewObject())); + auto vp(static_cast(getViewProvider(getViewObject()))); - // Draw Vertexs: - double vertexScaleFactor = Preferences::getPreferenceGroup("General")->GetFloat("VertexScale", 3.0); - QColor vertexColor = PreferencesGui::getAccessibleQColor(PreferencesGui::vertexQColor()); bool showVertices = true; bool showCenterMarks = true; - if (getFrameState()) {//frames are on - if (viewPart->CoarseView.getValue()) { + if (getFrameState()) { + //frames are on + if (dvp->CoarseView.getValue()) { + // don't show vertexes in CoarseView as there are too many showVertices = false; } - if (!vp->ArcCenterMarks.getValue()) { - showCenterMarks = false; - } - } - else {//frames are off + } else { + //frames are off showVertices = false; - if (!prefPrintCenters()) {//based on preference (!frame && !pref) - showCenterMarks = false; - } - if (!vp->ArcCenterMarks.getValue()) {//based on property (!frame && !prop) - showCenterMarks = false; - } } - const std::vector& verts = viewPart->getVertexGeometry(); - std::vector::const_iterator vert = verts.begin(); - double cAdjust = vp->CenterScale.getValue(); + if (!vp->ArcCenterMarks.getValue()) { + showCenterMarks = false; + } + float lineWidth = vp->LineWidth.getValue() * lineScaleFactor; //thick + double vertexScaleFactor = Preferences::getPreferenceGroup("General")->GetFloat("VertexScale", 3.0); + QColor vertexColor = PreferencesGui::getAccessibleQColor(PreferencesGui::vertexQColor()); + + const std::vector& verts = dvp->getVertexGeometry(); + std::vector::const_iterator vert = verts.begin(); for (int i = 0; vert != verts.end(); ++vert, i++) { if ((*vert)->isCenter()) { if (showCenterMarks) { @@ -599,12 +385,12 @@ void QGIViewPart::drawViewPart() addToGroup(cmItem); cmItem->setPos(Rez::guiX((*vert)->x()), Rez::guiX((*vert)->y())); cmItem->setThick(0.5 * lineWidth);//need minimum? - cmItem->setSize(cAdjust * lineWidth * vertexScaleFactor); + cmItem->setSize(lineWidth * vertexScaleFactor * vp->CenterScale.getValue()); cmItem->setPrettyNormal(); cmItem->setZValue(ZVALUE::VERTEX); } - } - else {//regular Vertex + } else { + //regular Vertex if (showVertices) { QGIVertex* item = new QGIVertex(i); addToGroup(item); @@ -617,12 +403,31 @@ void QGIViewPart::drawViewPart() } } } +} - //draw detail highlights - auto drefs = viewPart->getDetailRefs(); - for (auto& r : drefs) { - drawHighlight(r, true); +bool QGIViewPart::showThisEdge(BaseGeomPtr geom) +{ + // dvp and vp already validated + auto dvp(static_cast(getViewObject())); + + if (geom->getHlrVisible()) { + if ((geom->getClassOfEdge() == ecHARD) || (geom->getClassOfEdge() == ecOUTLINE) + || ((geom->getClassOfEdge() == ecSMOOTH) && dvp->SmoothVisible.getValue()) + || ((geom->getClassOfEdge() == ecSEAM) && dvp->SeamVisible.getValue()) + || ((geom->getClassOfEdge() == ecUVISO) && dvp->IsoVisible.getValue())) { + return true; + } + } else { + if (((geom->getClassOfEdge() == ecHARD) && (dvp->HardHidden.getValue())) + || ((geom->getClassOfEdge() == ecOUTLINE) && (dvp->HardHidden.getValue())) + || ((geom->getClassOfEdge() == ecSMOOTH) && (dvp->SmoothHidden.getValue())) + || ((geom->getClassOfEdge() == ecSEAM) && (dvp->SeamHidden.getValue())) + || ((geom->getClassOfEdge() == ecUVISO) && (dvp->IsoHidden.getValue()))) { + return true; + } } + + return false; } bool QGIViewPart::formatGeomFromCosmetic(std::string cTag, QGIEdge* item) @@ -965,6 +770,17 @@ void QGIViewPart::drawCenterLines(bool b) } } +void QGIViewPart::drawAllHighlights() +{ + // dvp and vp already validated + auto dvp(static_cast(getViewObject())); + + auto drefs = dvp->getDetailRefs(); + for (auto& r : drefs) { + drawHighlight(r, true); + } +} + void QGIViewPart::drawHighlight(TechDraw::DrawViewDetail* viewDetail, bool b) { TechDraw::DrawViewPart* viewPart = static_cast(getViewObject()); @@ -1052,119 +868,6 @@ void QGIViewPart::drawMatting() mat->show(); } -// As called by arc of ellipse case: -// pathArc(path, geom->major, geom->minor, geom->angle, geom->largeArc, geom->cw, -// geom->endPnt.x, geom->endPnt.y, -// geom->startPnt.x, geom->startPnt.y); -void QGIViewPart::pathArc(QPainterPath& path, double rx, double ry, double x_axis_rotation, - bool large_arc_flag, bool sweep_flag, double x, double y, double curx, - double cury) -{ - double sin_th, cos_th; - double a00, a01, a10, a11; - double x0, y0, x1, y1, xc, yc; - double d, sfactor, sfactor_sq; - double th0, th1, th_arc; - int i, n_segs; - double dx, dy, dx1, dy1, Pr1, Pr2, Px, Py, check; - - rx = qAbs(rx); - ry = qAbs(ry); - - sin_th = qSin(x_axis_rotation); - cos_th = qCos(x_axis_rotation); - - dx = (curx - x) / 2.0; - dy = (cury - y) / 2.0; - dx1 = cos_th * dx + sin_th * dy; - dy1 = -sin_th * dx + cos_th * dy; - Pr1 = rx * rx; - Pr2 = ry * ry; - Px = dx1 * dx1; - Py = dy1 * dy1; - /* Spec : check if radii are large enough */ - check = Px / Pr1 + Py / Pr2; - if (check > 1) { - rx = rx * qSqrt(check); - ry = ry * qSqrt(check); - } - - a00 = cos_th / rx; - a01 = sin_th / rx; - a10 = -sin_th / ry; - a11 = cos_th / ry; - x0 = a00 * curx + a01 * cury; - y0 = a10 * curx + a11 * cury; - x1 = a00 * x + a01 * y; - y1 = a10 * x + a11 * y; - /* (x0, y0) is current point in transformed coordinate space. - (x1, y1) is new point in transformed coordinate space. - - The arc fits a unit-radius circle in this space. - */ - d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0); - sfactor_sq = 1.0 / d - 0.25; - if (sfactor_sq < 0) - sfactor_sq = 0; - - sfactor = qSqrt(sfactor_sq); - - if (sweep_flag == large_arc_flag) - sfactor = -sfactor; - - xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0); - yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0); - /* (xc, yc) is center of the circle. */ - - th0 = qAtan2(y0 - yc, x0 - xc); - th1 = qAtan2(y1 - yc, x1 - xc); - - th_arc = th1 - th0; - if (th_arc < 0 && sweep_flag) - th_arc += 2 * M_PI; - else if (th_arc > 0 && !sweep_flag) - th_arc -= 2 * M_PI; - - n_segs = qCeil(qAbs(th_arc / (M_PI * 0.5 + 0.001))); - - path.moveTo(curx, cury); - - for (i = 0; i < n_segs; i++) { - pathArcSegment(path, xc, yc, th0 + i * th_arc / n_segs, th0 + (i + 1) * th_arc / n_segs, rx, - ry, x_axis_rotation); - } -} - -void QGIViewPart::pathArcSegment(QPainterPath& path, double xc, double yc, double th0, double th1, - double rx, double ry, double xAxisRotation) -{ - double sinTh, cosTh; - double a00, a01, a10, a11; - double x1, y1, x2, y2, x3, y3; - double t; - double thHalf; - - sinTh = qSin(xAxisRotation); - cosTh = qCos(xAxisRotation); - - a00 = cosTh * rx; - a01 = -sinTh * ry; - a10 = sinTh * rx; - a11 = cosTh * ry; - - thHalf = 0.5 * (th1 - th0); - t = (8.0 / 3.0) * qSin(thHalf * 0.5) * qSin(thHalf * 0.5) / qSin(thHalf); - x1 = xc + qCos(th0) - t * qSin(th0); - y1 = yc + qSin(th0) + t * qCos(th0); - x3 = xc + qCos(th1); - y3 = yc + qSin(th1); - x2 = x3 + t * qSin(th1); - y2 = y3 - t * qCos(th1); - - path.cubicTo(a00 * x1 + a01 * y1, a10 * x1 + a11 * y1, a00 * x2 + a01 * y2, a10 * x2 + a11 * y2, - a00 * x3 + a01 * y3, a10 * x3 + a11 * y3); -} - void QGIViewPart::toggleCache(bool state) { QList items = childItems(); diff --git a/src/Mod/TechDraw/Gui/QGIViewPart.h b/src/Mod/TechDraw/Gui/QGIViewPart.h index 64b2a4a92b..aeb8312219 100644 --- a/src/Mod/TechDraw/Gui/QGIViewPart.h +++ b/src/Mod/TechDraw/Gui/QGIViewPart.h @@ -48,6 +48,7 @@ namespace TechDrawGui class QGIFace; class QGIEdge; class QGIHighlight; +class PathBuilder; class TechDrawGuiExport QGIViewPart : public QGIView { @@ -69,10 +70,18 @@ public: void updateView(bool update = false) override; void tidy(); QRectF boundingRect() const override; + + virtual void drawAllFaces(); + virtual void drawAllEdges(); + virtual void drawAllVertexes(); + + bool showThisEdge(TechDraw::BaseGeomPtr geom); + virtual void drawAllSectionLines(); virtual void drawSectionLine(TechDraw::DrawViewSection* s, bool b); virtual void drawComplexSectionLine(TechDraw::DrawViewSection* viewSection, bool b); virtual void drawCenterLines(bool b); + virtual void drawAllHighlights(); virtual void drawHighlight(TechDraw::DrawViewDetail* viewDetail, bool b); virtual void drawMatting(); bool showSection; @@ -123,6 +132,7 @@ protected: private: QList deleteItems; + PathBuilder* m_pathBuilder; }; } // namespace diff --git a/src/Mod/TechDraw/Gui/QGIWeldSymbol.cpp b/src/Mod/TechDraw/Gui/QGIWeldSymbol.cpp index 68aa6b8ed8..df264cdbbb 100644 --- a/src/Mod/TechDraw/Gui/QGIWeldSymbol.cpp +++ b/src/Mod/TechDraw/Gui/QGIWeldSymbol.cpp @@ -58,6 +58,9 @@ QGIWeldSymbol::QGIWeldSymbol(QGILeaderLine* myParent) : m_arrowFeat(nullptr), m_otherFeat(nullptr), m_qgLead(myParent), + m_tailText(nullptr), + m_fieldFlag(nullptr), + m_allAround(nullptr), m_blockDraw(false) { setFiltersChildEvents(true); //qt5 @@ -503,16 +506,24 @@ QRectF QGIWeldSymbol::customBoundingRect() const { QRectF result; - QRectF childRect = mapFromItem(m_tailText, m_tailText->boundingRect()).boundingRect(); - result = result.united(childRect); - childRect = mapFromItem(m_fieldFlag, m_fieldFlag->boundingRect()).boundingRect(); - result = result.united(childRect); - childRect = mapFromItem(m_allAround, m_allAround->boundingRect()).boundingRect(); - result = result.united(childRect); + if (m_tailText) { + QRectF childRect = mapFromItem(m_tailText, m_tailText->boundingRect()).boundingRect(); + result = result.united(childRect); + } + + if (m_fieldFlag) { + QRectF childRect = mapFromItem(m_fieldFlag, m_fieldFlag->boundingRect()).boundingRect(); + result = result.united(childRect); + } + + if (m_allAround) { + QRectF childRect = mapFromItem(m_allAround, m_allAround->boundingRect()).boundingRect(); + result = result.united(childRect); + } std::vector qgTiles = getQGITiles(); for (auto& t: qgTiles) { - childRect = mapFromItem(t, t->boundingRect()).boundingRect(); + QRectF childRect = mapFromItem(t, t->boundingRect()).boundingRect(); result = result.united(childRect); } return result; diff --git a/src/Mod/TechDraw/Gui/QGIWeldSymbol.h b/src/Mod/TechDraw/Gui/QGIWeldSymbol.h index b2fdb2df9f..4d8ceeedb7 100644 --- a/src/Mod/TechDraw/Gui/QGIWeldSymbol.h +++ b/src/Mod/TechDraw/Gui/QGIWeldSymbol.h @@ -41,6 +41,7 @@ class Document; namespace TechDraw { class DrawWeldSymbol; +class DrawLeaderLine; class DrawTileWeld; class DrawView; } diff --git a/src/Mod/TechDraw/Gui/QGSPage.cpp b/src/Mod/TechDraw/Gui/QGSPage.cpp index 501e060a77..c7c319e592 100644 --- a/src/Mod/TechDraw/Gui/QGSPage.cpp +++ b/src/Mod/TechDraw/Gui/QGSPage.cpp @@ -529,6 +529,9 @@ void QGSPage::createBalloon(QPointF origin, DrawView* parent) Command::doCommand(Command::Doc, "App.activeDocument().addObject('TechDraw::DrawViewBalloon', '%s')", featName.c_str()); + Command::doCommand(Command::Doc, "App.activeDocument().%s.translateLabel('DrawViewBalloon', 'Balloon', '%s')", + featName.c_str(), featName.c_str()); + TechDraw::DrawViewBalloon* balloon = dynamic_cast( getDrawPage()->getDocument()->getObject(featName.c_str())); if (!balloon) { @@ -537,7 +540,6 @@ void QGSPage::createBalloon(QPointF origin, DrawView* parent) Command::doCommand(Command::Doc, "App.activeDocument().%s.SourceView = (App.activeDocument().%s)", featName.c_str(), parent->getNameInDocument()); - QGIView* qgParent = getQGIVByName(parent->getNameInDocument()); //convert from scene coords to qgParent coords and unscale QPointF parentOrigin = qgParent->mapFromScene(origin) / parent->getScale(); diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw.ts index c98f57769e..157bd4e331 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw.ts @@ -4,7 +4,7 @@ Cmd2LineCenterLine - + Add Centerline between 2 Lines @@ -12,7 +12,7 @@ Cmd2PointCenterLine - + Add Centerline between 2 Points @@ -36,12 +36,12 @@ CmdTechDraw2LineCenterLine - + TechDraw - + Add Centerline between 2 Lines @@ -49,12 +49,12 @@ CmdTechDraw2PointCenterLine - + TechDraw - + Add Centerline between 2 Points @@ -62,12 +62,12 @@ CmdTechDraw2PointCosmeticLine - + TechDraw - + Add Cosmetic Line Through 2 Points @@ -88,12 +88,12 @@ CmdTechDrawActiveView - + TechDraw - + Insert Active View (3D View) @@ -127,17 +127,17 @@ CmdTechDrawArchView - + TechDraw - + Insert Arch Workbench Object - + Insert a View of a Section Plane from Arch Workbench @@ -145,12 +145,12 @@ CmdTechDrawBalloon - + TechDraw - + Insert Balloon Annotation @@ -158,17 +158,17 @@ CmdTechDrawCenterLineGroup - + TechDraw - + Insert Center Line - + Add Centerline to Faces @@ -176,12 +176,12 @@ CmdTechDrawClipGroup - + TechDraw - + Insert Clip Group @@ -189,12 +189,12 @@ CmdTechDrawClipGroupAdd - + TechDraw - + Add View to Clip Group @@ -202,12 +202,12 @@ CmdTechDrawClipGroupRemove - + TechDraw - + Remove View from Clip Group @@ -215,17 +215,17 @@ CmdTechDrawComplexSection - + TechDraw - + Insert Complex Section - + Insert a Complex Section @@ -233,12 +233,12 @@ CmdTechDrawCosmeticEraser - + TechDraw - + Remove Cosmetic Object @@ -277,17 +277,17 @@ CmdTechDrawDecorateLine - + TechDraw - + Change Appearance of Lines - + Change Appearance of selected Lines @@ -295,12 +295,12 @@ CmdTechDrawDetailView - + TechDraw - + Insert Detail View @@ -334,17 +334,17 @@ CmdTechDrawDraftView - + TechDraw - + Insert Draft Workbench Object - + Insert a View of a Draft Workbench object @@ -352,22 +352,22 @@ CmdTechDrawExportPageDXF - + File - + Export Page as DXF - + Save DXF file - + DXF (*.dxf) @@ -375,12 +375,12 @@ CmdTechDrawExportPageSVG - + File - + Export Page as SVG @@ -1413,12 +1413,12 @@ CmdTechDrawFaceCenterLine - + TechDraw - + Add Centerline to Faces @@ -1478,28 +1478,28 @@ CmdTechDrawImage - + TechDraw - + Insert Bitmap Image - - + + Insert Bitmap from a file into a page - + Select an Image File - + Image files (*.jpg *.jpeg *.png *.bmp);;All files (*) @@ -1585,22 +1585,22 @@ CmdTechDrawPageTemplate - + TechDraw - + Insert Page using Template - + Select a Template File - + Template (*.svg) @@ -1608,12 +1608,12 @@ CmdTechDrawPrintAll - + TechDraw - + Print All Pages @@ -1621,12 +1621,12 @@ CmdTechDrawProjectShape - + TechDraw - + Project shape... @@ -1634,17 +1634,17 @@ CmdTechDrawProjectionGroup - + TechDraw - + Insert Projection Group - + Insert multiple linked views of drawable object(s) @@ -1678,12 +1678,12 @@ CmdTechDrawRedrawPage - + TechDraw - + Redraw Page @@ -1704,22 +1704,22 @@ CmdTechDrawSectionGroup - + TechDraw - + Insert a simple or complex Section View - + Section View - + Complex Section @@ -1727,12 +1727,12 @@ CmdTechDrawSectionView - + TechDraw - + Insert Section View @@ -1740,12 +1740,12 @@ CmdTechDrawShowAll - + TechDraw - + Show/Hide Invisible Edges @@ -1753,17 +1753,17 @@ CmdTechDrawSpreadsheetView - + TechDraw - + Insert Spreadsheet View - + Insert View to a spreadsheet @@ -1856,17 +1856,17 @@ CmdTechDrawSurfaceFinishSymbols - + TechDraw - + Create a Surface Finish Symbol - + Select a view<br> - click this button<br> - select surface finish symbol attributes in opened panel @@ -1874,17 +1874,17 @@ CmdTechDrawSymbol - + TechDraw - + Insert SVG Symbol - + Insert symbol from an SVG file @@ -1892,13 +1892,13 @@ CmdTechDrawToggleFrame - + TechDraw - - + + Turn View Frames On/Off @@ -1932,17 +1932,17 @@ CmdTechDrawView - + TechDraw - + Insert View - + Insert a View @@ -1950,12 +1950,12 @@ CmdTechDrawWeldSymbol - + TechDraw - + Add Welding Information to Leaderline @@ -1964,58 +1964,58 @@ Command - + Drawing create page - + Create view - + Create Projection Group - + Create Clip - + ClipGroupAdd - + ClipGroupRemove - + Create Symbol - + Create DraftView - + Create ArchView - + Create spreadsheet view - - + + Save page to dxf @@ -2036,17 +2036,17 @@ - + Create Dimension - + Create Hatch - + Update Hatch @@ -2056,12 +2056,12 @@ - + Create GeomHatch - + Create Image @@ -2081,7 +2081,7 @@ - + Create ActiveView @@ -2091,12 +2091,12 @@ - + Create Cosmetic Line - + Update CosmeticLine @@ -2106,58 +2106,58 @@ - + Update Detail - + Create Leader - + Edit Leader - + Create Anno - + Edit Anno - + Create SectionView - + Create ComplexSection - - + + Edit SectionView - + Create WeldSymbol - + Edit WeldSymbol - + Add Cosmetic Vertex @@ -2688,67 +2688,68 @@ QObject + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - Wrong selection - - + + No Shapes, Groups or Links in this selection - - + + Select at least 1 DrawViewPart object as Base. - + I do not know what base view to use. - + No Base View, Shapes, Groups or Links in this selection - + No profile object found in selection - - - + + + + @@ -2757,36 +2758,36 @@ - - - - - - - + + + + + + Incorrect selection - - + + Select an object first - - + + Too many objects selected - - + + Create a page first. + @@ -2795,92 +2796,91 @@ - No View of a Part in selection. - + Select one Clip group and one View. - + Select exactly one View to add to group. - + Select exactly one Clip group. - + Clip and View must be from same Page. - + Select exactly one View to remove from Group. - + View does not belong to a Clip - + Choose an SVG file to open - + Scalable Vector Graphic - + All Files - + Select at least one object. - + Please select only 1 Arch Section. - + No Arch Sections in selection. - + Select exactly one Spreadsheet object. - + No Drawing View - + Open Drawing View before attempting export to SVG. - + Can not export selection - + Page contains DrawViewArch which will not be exported. Continue? @@ -2907,8 +2907,6 @@ - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection @@ -3059,21 +3059,24 @@ + + + - - - - - - - - - + + + + + + + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,33 +3094,38 @@ - - - + + + + + Task In Progress + + + - - - - - - - - - + + + + + + + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,41 +3143,43 @@ - - - + + + + + Close active task dialog and try again. - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + Wrong Selection @@ -3190,9 +3190,9 @@ - - - + + + You must select a base View for the line. @@ -3203,112 +3203,112 @@ - - + + No base View in Selection. - + You must select Faces or an existing CenterLine. - + No CenterLine in selection. - - - + + + Selection is not a CenterLine. - + Selection not understood. - + You must select 2 Vertexes or an existing CenterLine. - + Need 2 Vertices or 1 CenterLine. - + Selection is empty. - + Not enough points in selection. - + Selection is not a Cosmetic Line. - + You must select 2 Vertexes. - - + + Nothing selected - + At least 1 object in selection is not a part view - + Unknown object type in selection - + No View in Selection. - + You must select a View and/or lines. - + No Part Views in this selection - + Select exactly one Leader line or one Weld symbol. - - + + SurfaceFinishSymbols - + No Part View in Selection - + No %1 in Selection @@ -3323,33 +3323,33 @@ - + No TechDraw Page - + Need a TechDraw Page for this command - + Select a Face first - + No TechDraw object in selection - + Create a page to insert. - + No Faces to hatch in this selection @@ -3370,50 +3370,50 @@ - + PDF (*.pdf) - - + + All Files (*.*) - + Export Page As PDF - + Document Name: - + SVG (*.svg) - + Export page as SVG - - + + Are you sure you want to continue? - + Show drawing - + Toggle KeepUpdated @@ -3438,14 +3438,14 @@ + - Rich text editor - + New Cosmetic Vertex @@ -3505,25 +3505,25 @@ - + Edit Complex Section - + Current View Direction - + The view direction in BaseView coordinates - - + + Operation Failed @@ -3538,12 +3538,12 @@ - + Create Cosmetic Line - + Edit Cosmetic Line @@ -3558,8 +3558,8 @@ - + Edit %1 @@ -3678,7 +3678,7 @@ - + @@ -3686,7 +3686,7 @@ - + No object selected @@ -3831,17 +3831,17 @@ it has a weld symbol that would become broken. - + + + + - - - - - + + Object dependencies @@ -3866,7 +3866,7 @@ it has a weld symbol that would become broken. - + The page is not empty, therefore the following referencing objects might be lost: @@ -3953,14 +3953,6 @@ it has a tile weld that would become broken. - - TaskComplexSection - - - No direction set - - - TaskMoveView @@ -3987,7 +3979,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending @@ -5529,49 +5521,49 @@ Fast, but result is a collection of short straight lines. - + Different orientation - + The printer uses a different orientation than the drawing. Do you want to continue? - + Different paper size - + The printer uses a different paper size than the drawing. Do you want to continue? - + Opening file failed - + Can not open file %1 for writing. - + Save DXF file - + DXF (*.dxf) - + Selected: @@ -6048,7 +6040,17 @@ Do you want to continue? - + + No direction set + + + + + ComplexSection + + + + Can not continue. Object * %1 or %2 not found. @@ -6067,7 +6069,7 @@ Do you want to continue? - + Point Picker @@ -6092,28 +6094,28 @@ Do you want to continue? - - + + Pick Points - + Pick a point for cosmetic vertex - + Escape picking - + Left click to set a point - + In progress edit abandoned. Start over. @@ -7011,7 +7013,7 @@ You can pick further points to get line segments. - + Pick Points @@ -7092,51 +7094,51 @@ You can pick further points to get line segments. - - - + + + Edit points - + Edit Points - - + + Pick a starting point for leader line - + Save Points - + Click and drag markers to adjust leader line - - + + Save changes - + Left click to set a point - + Press OK or Cancel to continue - + In progress edit abandoned. Start over. @@ -7665,6 +7667,11 @@ using the given X/Y Spacing Input the annotation text directly or start the rich text editor + + + RichTextAnnotation + + TechDrawGui::TaskSectionView @@ -7804,7 +7811,7 @@ using the given X/Y Spacing - + Can not continue. Object * %1 or %2 not found. @@ -8093,6 +8100,11 @@ using the given X/Y Spacing other + + + SectionView + + TechDrawGui::dlgTemplateField @@ -8120,7 +8132,7 @@ using the given X/Y Spacing TechDraw_2LineCenterLine - + Adds a Centerline between 2 Lines @@ -8128,7 +8140,7 @@ using the given X/Y Spacing TechDraw_2PointCenterLine - + Adds a Centerline between 2 Points @@ -8136,7 +8148,7 @@ using the given X/Y Spacing TechDraw_ComplexSection - + Insert complex Section View @@ -8165,7 +8177,7 @@ using the given X/Y Spacing TechDraw_FaceCenterLine - + Adds a Centerline to Faces @@ -8197,7 +8209,7 @@ using the given X/Y Spacing TechDraw_SectionView - + Insert simple Section View @@ -8704,15 +8716,167 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete + + DrawPage + + + Page + + + + + DrawSVGTemplate + + + Template + + + + + DrawView + + + View + + + + + DrawViewPart + + + View + + + + + DrawViewSection + + + Section + + + + + DrawComplexSection + + + Section + + + + + DrawViewDetail + + + Detail + + + + + DrawActiveView + + + ActiveView + + + + + DrawViewAnnotation + + + Annotation + + + + + DrawViewImage + + + Image + + + + + DrawViewSymbol + + + Symbol + + + + + DrawViewArch + + + Arch + + + + + DrawViewDraft + + + Draft + + + + + DrawLeaderLine + + + LeaderLine + + + + + DrawViewBalloon + + + Balloon + + + + + DrawViewDimension + + + Dimension + + + + + DrawViewDimExtent + + + Extent + + + + + DrawHatch + + + Hatch + + + + + DrawGeomHatch + + + GeomHatch + + + diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_be.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_be.ts index 23e5739453..b5eb27e220 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_be.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_be.ts @@ -476,7 +476,7 @@ Evenly space oblique dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more parallel oblique dimensions<br>- The first dimension defines the position<br>- Click this tool - Раўнамерна размяркуйце нахілены вымярэнні:<br>- Пакажыце каскадную адлегласць (неабавязкова)<br>- Абярыце два ці болей паралельных нахіленых вымярэнняў<br>- Першае вымярэнне вызначае становішча<br>- Пстрыкніце інструмент + Раўнамерна размяркуйце нахіленыя вымярэнні:<br>- Пакажыце каскадную адлегласць (неабавязкова)<br>- Абярыце два ці болей паралельных нахіленых вымярэнняў<br>- Першае вымярэнне вызначае становішча<br>- Пстрыкніце інструмент @@ -509,7 +509,7 @@ Create Horizontal Chamfer Dimension - Стварыць вымярэнне гарызантальнай фаскі + Стварыць гарызантальнае вымярэнне фаскі @@ -570,7 +570,7 @@ Add centerlines to circles and arcs:<br>- Specify the line attributes (optional)<br>- Select one or more circles or arcs<br>- Click this tool - Дадайце цэнтральныя лініі да акружнасцяў і дуг:<br>- Пакажыце атрыбуты ліній (неабавязкова)<br>- Абяраце адзін ці некалькі акружнасцяў ці дуг<br>- Пстрыкніце інструмент + Дадайце цэнтральныя лініі да акружнасцяў і дуг:<br>- Пакажыце атрыбуты ліній (неабавязкова)<br>- Абярыце адзін ці некалькі акружнасцяў ці дуг<br>- Пстрыкніце інструмент @@ -583,7 +583,7 @@ Create Horizontal Chain Dimensions - Стварыць вымярэнні гарызантальнага ланцуга + Стварыць гарызантальнае вымярэнне ланцуга @@ -601,7 +601,7 @@ Create Horizontal Coordinate Dimensions - Стварыць вымярэнні гарызантальных каардынат + Стварыць гарызантальнае вымярэнне каардынат @@ -620,7 +620,7 @@ Create Horizontal Chain Dimensions - Стварыць вымярэнні гарызантальнага ланцуга + Стварыць гарызантальнае вымярэнне ланцуга @@ -640,7 +640,7 @@ Create Horizontal Chamfer Dimension - Стварыць вымярэнне гарызантальнай фаскі + Стварыць гарызантальнае вымярэнне фаскі @@ -660,7 +660,7 @@ Create Horizontal Coordinate Dimensions - Стварыць вымярэнні гарызантальных каардынат + Стварыць гарызантальнае вымярэнне каардынат @@ -698,7 +698,7 @@ Create Oblique Chain Dimensions - Стварыць вымярэнні нахіленага ланцуга + Стварыць нахіленае вымярэнне ланцуга @@ -718,7 +718,7 @@ Create Oblique Coordinate Dimensions - Стварыць вымярэнні нахіленых каардынат + Стварыць нахіленае вымярэнне каардынат @@ -738,7 +738,7 @@ Create Vertical Chain Dimensions - Стварыць вымярэнні вертыкальнага ланцуга + Стварыць вертыкальнае вымярэнне ланцуга @@ -758,7 +758,7 @@ Create Vertical Chamfer Dimension - Стварыць вымярэнне выртыкальнай фаскі + Стварыць вертыкальнае вымярэнне фаскі @@ -778,7 +778,7 @@ Create Vertical Coordinate Dimensions - Стварыць вымярэнні вертыкальных каардынат + Стварыць вертыкальнае вымярэнне каардынат @@ -1078,7 +1078,7 @@ Add a cosmetic line parallel to another line through a vertex:<br>- Select a line<br>- Select a vertex<br>- Click this tool - Дадайце касметычную лінію, якая паралельная іншай лініі, праз вяршыню:<br>- Абярыце лінію<br>- Абярыце вяршыню<br>- Пстрыкніце інструмент + Дадайце касметычную лінію, якая паралельная іншай лініі, праз вяршыню:<br>- Абярыце лінію<br>- Абярыце вяршыню<br>- Пстрыкніце інструмент @@ -1129,7 +1129,7 @@ Position Horizontal Chain Dimensions - Становішча вымярэнняў гарызантальнага ланцуга + Становішча гарызантальнага вымярэння ланцуга @@ -1148,13 +1148,13 @@ Position Horizontal Chain Dimensions - Становішча вымярэнняў гарызантальнага ланцуга + Становішча гарызантальнага вымярэння ланцуга Align horizontal dimensions to create a chain dimension:<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool - Выраўнуйце гарызантальныя памеры, каб стварыць вымярэнне ланцуга:<br>- Абярыце два ці больш гарызантальных вымярэнняў<br>- Першае вымярэнне вызначае становішча<br>- Пстрыкніце інструмент + Выраўнуйце гарызантальныя вымярэнні, каб стварыць вымярэнне ланцуга:<br>- Абярыце два ці больш гарызантальных вымярэнняў<br>- Першае вымярэнне вызначае становішча<br>- Пстрыкніце інструмент @@ -1168,7 +1168,7 @@ Position Oblique Chain Dimensions - Становішча вымярэнняў нахіленага ланцуга + Становішча нахіленых вымярэнняў ланцуга @@ -1188,7 +1188,7 @@ Position Vertical Chain Dimensions - Становішча вымярэнняў вертыкальнага ланцуга + Становішча вертыкальнага вымярэння ланцуга @@ -1602,7 +1602,7 @@ Template (*.svg) - Template (*.svg) + Шаблон (*.svg) @@ -2014,8 +2014,8 @@ Стварыць выгляд Аркуша - + Save page to dxf Захаваць старонку ў файл dxf @@ -2136,12 +2136,12 @@ Стварыць выгляд перасеку - + Create ComplexSection Стварыць складовы перасек - + Edit SectionView Змяніць выгляд перасеку @@ -2164,7 +2164,7 @@ TechDraw Insert Prefix - TechDraw Insert Prefix + TechDraw: Уставіць прыстаўку @@ -2174,7 +2174,7 @@ TechDraw Remove Prefix - TechDraw Remove Prefix + TechDraw: Выдаліць прыстаўку @@ -2189,17 +2189,17 @@ Pos Horiz Chain Dim - Размяшчэнне гарызантальнага ланцуга вымярэнняў + Становішча гарызантальнага вымярэння ланцуга Pos Vert Chain Dim - Размяшчэнне вертыкальнага ланцуга вымярэнняў + Становішча вертыкальнага вымярэння ланцуга Pos Oblique Chain Dim - Размяшчэнне нахіленага ланцуга вымярэнняў + Становішча нахіленага вымярэння ланцуга @@ -2219,17 +2219,17 @@ Create Horiz Chain Dim - Стварыць гарызантальны ланцуг вымярэнняў + Стварыць гарызантальнае вымярэнне ланцуга Create Vert Chain Dim - Стварыць вертыкальны ланцуг вымярэнняў + Стварыць вертыкальнае вымярэнне ланцуга Create Oblique Chain Dim - Стварыць нахілены ланцуг вымярэнняў + Стварыць нахіленае вымярэнне ланцуга @@ -2264,7 +2264,7 @@ TechDraw Hole Circle - Акружнасць адтуліны Тэхнічнага чарцяжа + Тэхнічны чарцёж: Акружнасць адтуліны @@ -2274,7 +2274,7 @@ TechDraw Circle Centerlines - TechDraw Circle Centerlines + Тэхнічны чарцёж: Цэнтральныя лініі акружнасці @@ -2289,42 +2289,42 @@ Cosmetic Thread Hole Side - Касметычная адтуліна з разьбой збоку + Касметычная адтуліна з разьбой, выгляд збоку TechDraw Thread Bolt Side - TechDraw Thread Bolt Side + Тэхнічны чарцёж: Болт з разьбой, выгляд збоку Cosmetic Thread Bolt Side - Касметычная разьба збоку + Касметычны болт з разьбой, выгляд збоку TechDraw Thread Hole Bottom - TechDraw Thread Hole Bottom + Тэхнічны чарцёж: Адтуліна з разьбой, выгляд знізу Cosmetic Thread Hole Bottom - Касметычная адтуліна з разьбой знізу + Касметычная адтуліна з разьбой, выгляд знізу TechDraw Thread Bolt Bottom - TechDraw Thread Bolt Bottom + Тэхнічны чарцёж: Болт з разьбой, выгляд знізу Cosmetic Thread Bolt Bottom - Касметычная разьба знізу + Касметычны болт з разьбой, выгляд знізу TechDraw Change Line Attributes - TechDraw Change Line Attributes + Тэхнічны чарцёж: Змяніць атрыбуты лініі @@ -2334,7 +2334,7 @@ TechDraw Cosmetic Intersection Vertex(es) - TechDraw Cosmetic Intersection Vertex(es) + Тэхнічны чарцёж: Касметычнае перакрыжаванне вяршынь @@ -2344,7 +2344,7 @@ TechDraw Cosmetic Arc - TechDraw Cosmetic Arc + Тэхнічны чарцёж: Касметычная дуга @@ -2354,7 +2354,7 @@ TechDraw Cosmetic Circle - TechDraw Cosmetic Circle + Тэхнічны чарцёж: Касметычная акружнасць @@ -2364,7 +2364,7 @@ TechDraw Cosmetic Circle 3 Points - TechDraw Cosmetic Circle 3 Points + Тэхнічны чарцёж: Касметычная акружнасць па трох кропках @@ -2374,7 +2374,7 @@ TechDraw Cosmetic Line Parallel/Perpendicular - TechDraw Cosmetic Line Parallel/Perpendicular + Тэхнічны чарцёж: Касметычная паралельная/перпендыкулярная лінія @@ -2384,7 +2384,7 @@ TechDraw Lock/Unlock View - TechDraw Lock/Unlock View + Тэхнічны чарцёж: Заблакаваць/разблавакаць выгляд @@ -2394,7 +2394,7 @@ TechDraw Extend/Shorten Line - TechDraw Extend/Shorten Line + Тэхнічны чарцёж: Выцягнуць/скараціць лінію @@ -2404,7 +2404,7 @@ TechDraw calculate selected area - TechDraw calculate selected area + Тэхнічны чарцёж: вылічыць абраную вобласць @@ -2521,7 +2521,7 @@ Link - Сувязь + Злучыць @@ -2531,7 +2531,7 @@ Italic (CTRL+I) - Курсіў (<Ctrl+I>) + Курсіўны (<Ctrl+I>) @@ -2617,7 +2617,7 @@ Standard - Стандартны + Звычайны @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Няправільны выбар @@ -2746,9 +2746,10 @@ Аб'ект профілю не знойдзены ў абраным - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Няправільны выбар - + Select an object first Спачатку абярыце аб'ект - + Too many objects selected Абрана зашмат аб'ектаў - + Create a page first. Спачатку стварыць старонку. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Без выгляду дэталі ў абраным. @@ -2862,7 +2862,7 @@ Select exactly one Spreadsheet object. - Выберыце толькі адзін аб'ект Зводнай табліцы. + Абярыце толькі адзін аб'ект Аркуша. @@ -2907,8 +2907,6 @@ Абранае рабро ўяўляе сабой B-сплайн. Радыус будзе прыблізным. Ці працягнуць? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Няправільны выбар @@ -3059,6 +3059,9 @@ Абярыце два кропкавых аб'екта і адзін выгляд. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Задача ў працэсе + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Зачыніце дыялогавае акно бягучай задачы і паўтарыце спробу. @@ -3370,50 +3370,50 @@ Без старонак Аркуша чарцяжа ў дакуменце. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Усе файлы (*.*) - + Export Page As PDF Экспартаваць старонку ў DXF - + Document Name: Назва дакументу: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Экспартаваць старонку ў SVG - - + + Are you sure you want to continue? Ці ўпэўненыя вы, што жадаеце працягнуць? - + Show drawing Паказаць чарцёж - + Toggle KeepUpdated Пераключыць абнаўленне @@ -3438,9 +3438,9 @@ Сродак стварэння адфарматаванага тэксту + - Rich text editor Рэдактар адфарматаванага тэксту @@ -3505,24 +3505,24 @@ Новы складовы перасек - + Edit Complex Section Змяніць складовы перасек - + Current View Direction Бягучы напрамак выгляду - + The view direction in BaseView coordinates Напрамак прагляду ў каардынатах асноўнага выгляду - + Operation Failed Аперацыя завяршылася няўдачай @@ -3558,8 +3558,8 @@ Змяніць вынасны элемент - + Edit %1 Змяніць %1 @@ -3572,7 +3572,7 @@ TechDraw PosHorizChainDimension - Тэхнічны чарцёж: Размяшчэнне гарызантальнага ланцуга вымярэнняў + Тэхнічны чарцёж: Становішча гарызантальнага ланцуга вымярэнняў @@ -3584,7 +3584,7 @@ TechDraw PosVertChainDimension - Тэхнічны чарцёж: Размяшчэнне вертыкальнага ланцуга вымярэнняў + Тэхнічны чарцёж: Становішча вертыкальнага ланцуга вымярэнняў @@ -3596,7 +3596,7 @@ TechDraw PosObliqueChainDimension - Тэхнічны чарцёж: Размяшчэнне нахіленага ланцуга вымярэнняў + Тэхнічны чарцёж: Становішча нахіленага вымярэння ланцуга @@ -3625,42 +3625,42 @@ TechDraw Create Horizontal Chain Dimension - Тэхнічны чарцёж: Стварыць вымярэнне гарызантальнага ланцуга + Тэхнічны чарцёж: Стварыць гарызантальнае вымярэнне ланцуга TechDraw Create Vertical Chain Dimension - Тэхнічны чарцёж: Стварыць вымярэнне вертыкальнага ланцуга + Тэхнічны чарцёж: Стварыць вертыкальнае вымярэнне ланцуга TechDraw Create Oblique Chain Dimension - Тэхнічны чарцёж: Размяшчэнне вымярэння нахіленага ланцуга + Тэхнічны чарцёж: Становішча нахіленага вымярэння ланцуга TechDraw Create Horizontal Coord Dimension - Тэхнічны чарцёж: Стварыць вымярэнне гарызантальнай каардынаты + Тэхнічны чарцёж: Стварыць гарызантальнае вымярэнне каардынаты TechDraw Create Vertical Coord Dimension - Тэхнічны чарцёж: Стварыць вымярэнне вертыкальнай каардынаты + Тэхнічны чарцёж: Стварыць вертыкальнае вымярэнне каардынаты TechDraw Create Oblique Coord Dimension - Тэхнічны чарцёж: Стварыць вымярэння нахіленай каардынаты + Тэхнічны чарцёж: Стварыць нахіленае вымярэнне каардынаты TechDraw Create Horizontal Chamfer Dimension - Тэхнічны чарцёж: Стварыць вымярэнне гарызантальнай фаскі + Тэхнічны чарцёж: Стварыць гарызантальнае вымярэнне фаскі TechDraw Create Vertical Chamfer Dimension - Тэхнічны чарцёж: Стварыць вымярэнне вертыкальнай фаскі + Тэхнічны чарцёж: Стварыць вертыкальнае вымярэнне фаскі @@ -3831,20 +3831,20 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - You cannot delete this view because it has one or more dependent views that would become broken. + Вы не можаце выдаліць выгляд, бо ў ім ёсць адзін ці некалькі залежных выглядаў, якія могуць стаць пашкоджанымі. - + + + + - - - - - + + Object dependencies Залежнасці аб'екта @@ -3869,7 +3869,7 @@ it has a weld symbol that would become broken. Вы не можаце выдаліць выгляд, бо ў яго ёсць лінія зноскі, якая можа стаць пашкоджанай. - + The page is not empty, therefore the following referencing objects might be lost: Старонка не з'яўляецца пустой, таму наступныя спасылачныя аб'екты могуць быць страчаныя: @@ -3956,14 +3956,6 @@ it has a tile weld that would become broken. Афарбаваць фон (так/не) - - TaskComplexSection - - - No direction set - Напрамак не зададзены - - TaskMoveView @@ -3990,7 +3982,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending абнаўленні, якія чакаюцца @@ -4431,14 +4423,14 @@ when hatching a face with a PAT pattern Dash - Штрых + Штрыхавы Dot - Кропка + Пункцірны @@ -4553,7 +4545,7 @@ when hatching a face with a PAT pattern None - Нічога + Адсутнічае @@ -4667,7 +4659,7 @@ when hatching a face with a PAT pattern Colors - Выдзяленне колерам + Колеры @@ -4802,7 +4794,7 @@ when hatching a face with a PAT pattern Vertex - Vertex + Вяршыня @@ -4856,7 +4848,7 @@ when hatching a face with a PAT pattern If checked FreeCAD will use a single color for all text and lines. - If checked FreeCAD will use a single color for all text and lines. + Калі птушка, FreeCAD будзе ўжываць адзін колер для ўсіх тэкстаў і радкоў. @@ -4877,7 +4869,7 @@ when hatching a face with a PAT pattern Dimensions - Вымярэнне + Вымярэнні @@ -5069,7 +5061,7 @@ Normally, no gap is used. If a gap is used, the recommended value is 6. General - Асноўныя + Агульны @@ -5201,7 +5193,7 @@ for ProjectionGroups Dashed - Штрыхавая + Штрыхавы @@ -5464,7 +5456,7 @@ Fast, but result is a collection of short straight lines. Auto - Аўтаматычнае + Аўтаматычны @@ -5565,53 +5557,53 @@ Fast, but result is a collection of short straight lines. Надрукаваць усе старонкі - + Different orientation Адрозная арыентацыя - + The printer uses a different orientation than the drawing. Do you want to continue? Друкарка ўжывае арыентацыю, якая выдатная ад арыентацыі чарцяжа. Ці жадаеце в вы працягнуць? - + Different paper size Адрозны памер паперы - + The printer uses a different paper size than the drawing. Do you want to continue? - Друкарка ўжывае памер паперы, адрозны ад чарцяжа. -Вы жадаеце працягнуць? + Друкарка ўжывае памер паперы, які адрозны ад чарцяжа. +Ці жадаеце вы працягнуць? - + Opening file failed Немагчыма адчыніць файл - + Can not open file %1 for writing. Не атрымалася адчыніць файл %1 для запісу. - + Save DXF file - Захаваць файл DXF + Захаваць файл у DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: - Абраны: + Абрана: @@ -5692,7 +5684,7 @@ Do you want to continue? None - Нічога + Адсутнічае @@ -5767,12 +5759,12 @@ Do you want to continue? False - Хлусня + Не True - Ісціна + Так @@ -5920,12 +5912,12 @@ Do you want to continue? Dash - Штрых + Штрыхавы Dot - Кропка + Пункцірны @@ -5974,7 +5966,7 @@ Do you want to continue? Scale Page/Auto/Custom - Маштаб старонкі/Аўтаматычна/Карыстальніцкі + Маштаб старонкі/Аўтаматычны/Карыстальніцкі @@ -5984,7 +5976,7 @@ Do you want to continue? Automatic - Аўтаматычна + Аўтаматычны @@ -6015,7 +6007,7 @@ Do you want to continue? Aligned - Выраўнаваны + Выраўноўванне @@ -6088,7 +6080,12 @@ Do you want to continue? Абнавіць зараз - + + No direction set + Напрамак не зададзены + + + Can not continue. Object * %1 or %2 not found. Не атрымалася прыцягнуць. Аб'ект * %1 ці %2 не знойдзены. @@ -6119,7 +6116,7 @@ Do you want to continue? Position - Position + Становішча @@ -6271,7 +6268,7 @@ Do you want to continue? Position - Position + Становішча @@ -6416,12 +6413,12 @@ Do you want to continue? Other - Іншы + Іншае Taper - Конус зянкоўкі + Конусная зянкоўка @@ -6600,7 +6597,7 @@ Custom: custom scale factor is used Automatic - Аўтаматычна + Аўтаматычны @@ -7114,12 +7111,12 @@ You can pick further points to get line segments. Dash - Штрых + Штрыхавы Dot - Кропка + Пункцірны @@ -7217,12 +7214,12 @@ You can pick further points to get line segments. Dash - Штрых + Штрыхавы Dot - Кропка + Пункцірны @@ -7242,7 +7239,7 @@ You can pick further points to get line segments. Weight - Вага + Таўшчыня @@ -7257,12 +7254,12 @@ You can pick further points to get line segments. False - Хлусня + Не True - Ісціна + Так @@ -7328,7 +7325,7 @@ You can pick further points to get line segments. First or Third Angle - First-angle projection ці Third-angle projection + Праекцыя першага альбо трэцяга вугла @@ -7424,7 +7421,7 @@ You can pick further points to get line segments. Top - Зверху + Верхні @@ -7434,7 +7431,7 @@ You can pick further points to get line segments. Left - Злева + Левы @@ -7444,12 +7441,12 @@ You can pick further points to get line segments. Right - Справа + Правы Rear - Ззаду + Задні @@ -7459,7 +7456,7 @@ You can pick further points to get line segments. Bottom - Знізу + Ніжні @@ -7538,7 +7535,7 @@ using the given X/Y Spacing Visible isoparameters - Бачныя ізапараметры + Бачныя ізаметрычныя налады @@ -7563,7 +7560,7 @@ using the given X/Y Spacing Hidden isoparameters - Схаваныя ізапараметры + Схаваныя ізаметрычныя налады @@ -7689,12 +7686,12 @@ using the given X/Y Spacing Dash - Штрых + Штрыхавы Dot - Кропка + Пункцірны @@ -7742,7 +7739,7 @@ using the given X/Y Spacing Scale Page/Auto/Custom - Маштаб старонкі/Аўтаматычна/Карыстальніцкі + Маштаб старонкі/Аўтаматычны/Карыстальніцкі @@ -7752,7 +7749,7 @@ using the given X/Y Spacing Automatic - Аўтаматычна + Аўтаматычны @@ -7880,17 +7877,17 @@ using the given X/Y Spacing Dashed - Штрыхавая + Штрыхавы Dotted - Пункцірная + Пункцірны Dashdot - Штрых-пункцірная + Штрых-пункцірны @@ -8155,7 +8152,7 @@ using the given X/Y Spacing TextLabel - ТэкставыНадпіс + Тэкставы надпіс @@ -8205,7 +8202,7 @@ using the given X/Y Spacing Remove prefix symbols at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool - Выдаляе знак прыстаўкі ў пачатку тэксту вымярэння:<br>- Абярыце адзін ці некалькі вымярэнняў<br>- Пстрыкніце інструмент + Выдаляе знак прыстаўкі ў пачатку тэксту вымярэння:<br>- Абярыце адно ці некалькі вымярэнняў<br>- Пстрыкніце інструмент @@ -8293,7 +8290,7 @@ using the given X/Y Spacing Dimensions - Вымярэнне + Вымярэнні @@ -8476,23 +8473,23 @@ using the given X/Y Spacing Select View - Выбраць выгляд + Абраць выгляд Select From Page. - Абярыце з старонкі. + Абраць з старонкі. Select Page - Выбраць старонку + Абраць старонку Select To Page. - Выбраць старонку. + Абраць на старонку. @@ -8640,7 +8637,7 @@ using the given X/Y Spacing loose fit - Свабодная пасадка + свабодная пасадка @@ -8698,7 +8695,7 @@ using the given X/Y Spacing None - Нічога + Адсутнічае @@ -8757,13 +8754,13 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Цяпер вы не можаце выдаліць пазіцыйную зноску, бо адчынена дыялогавае акно задачы. - + Can Not Delete Не атрымалася выдаліць diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ca.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ca.ts index 54fe821ba5..bb39ba4280 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ca.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ca.ts @@ -2014,8 +2014,8 @@ Crea una vista de full de càlcul - + Save page to dxf Guardar pàgina com dxf @@ -2136,12 +2136,12 @@ Crea una vista de secció - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Selecció incorrecta @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Selecció incorrecta - + Select an object first Seleccioneu primer un objecte - + Too many objects selected Hi ha masses objectes seleccionats - + Create a page first. Crear una pàgina primer. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. No hi ha cap vista d'una peça en la selecció. @@ -2907,8 +2907,6 @@ L'aresta seleccionada és una BSpline. El radi serà aproximat. Voleu continuar? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Selecció incorrecta @@ -3059,6 +3059,9 @@ Seleccioneu 2 objectes punt i una vista. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Tasca en procés + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Tanca el quadre de diàleg de tasques actiu i intenta-ho altra vegada. @@ -3370,50 +3370,50 @@ No hi ha cap pàgina de dibuix en el document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Tots els arxius (*.*) - + Export Page As PDF Exporta la Pàgina com a PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exporta la Pàgina com a SVG - - + + Are you sure you want to continue? Segur que voleu continuar? - + Show drawing Mostra el dibuix - + Toggle KeepUpdated Activa/desactiva l'actualització automàtica @@ -3438,9 +3438,9 @@ Creador de text enriquit + - Rich text editor Editor de text enriquit @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Ha fallat l'operació @@ -3558,8 +3558,8 @@ Edita la vista de detall - + Edit %1 Editar %1 @@ -3834,17 +3834,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies Dependències de l'objecte @@ -3869,7 +3869,7 @@ it has a weld symbol that would become broken. No podeu suprimir aquesta vista perquè conté una línia guia que es trencaria. - + The page is not empty, therefore the following referencing objects might be lost: La pàgina no està buida, per tant @@ -3959,14 +3959,6 @@ it has a tile weld that would become broken. Acoloreix el fons sí/no - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3993,7 +3985,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5557,49 +5549,49 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation Orientació diferent - + The printer uses a different orientation than the drawing. Do you want to continue? La impressora utilitza una orientació diferent que la del dibuix. Voleu continuar? - + Different paper size Mida de paper diferent - + The printer uses a different paper size than the drawing. Do you want to continue? La impressora utilitza una mida de paper diferent que la del dibuix. Voleu continuar? - + Opening file failed No s'ha pogut obrir el fitxer - + Can not open file %1 for writing. No s'ha pogut obrir el fitxer %1 per a escriure-hi. - + Save DXF file Desa el fitxer DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: Seleccionat: @@ -6078,7 +6070,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8753,14 +8750,14 @@ usant l'espaiat X/Y donat TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_cs.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_cs.ts index e57ffa51ff..4c2ebac3bd 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_cs.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_cs.ts @@ -2014,8 +2014,8 @@ Vytvořit pohled tabulky - + Save page to dxf Uložit stránku do dxf @@ -2136,12 +2136,12 @@ Vytvořit řez - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Neplatný výběr @@ -2746,9 +2746,10 @@ Ve výběru nebyl nalezen žádný objekt profilu - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Nesprávný výběr - + Select an object first Nejprve vyberte objekt - + Too many objects selected Příliš mnoho vybraných objektů - + Create a page first. Vytvořte nejprve stránku. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Ve výběru není zobrazení součásti. @@ -2907,8 +2907,6 @@ Vybraná hrana je BSplajn. Poloměr bude přibližný. Pokračovat? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Nesprávný výběr @@ -3059,6 +3059,9 @@ Vyberte 2 bodové objekty a 1 pohled. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Probíhá úkol + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Zavřete aktivní dialog úkolů a zkuste to znovu. @@ -3370,50 +3370,50 @@ V dokumentu nejsou žádné stránky s výkresy. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Všechny soubory (*.*) - + Export Page As PDF Exportovat stránku do PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exportovat stránku do SVG - - + + Are you sure you want to continue? Opravdu si přejete pokračovat? - + Show drawing Zobrazit výkres - + Toggle KeepUpdated Přepnout průběžné aktualizace @@ -3438,9 +3438,9 @@ Rozšířený editor textu + - Rich text editor Rozšířený editor textu @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Operace se nezdařila @@ -3558,8 +3558,8 @@ Upravit detailní zobrazení - + Edit %1 Upravit %1 @@ -3834,17 +3834,17 @@ it has a weld symbol that would become broken. Nemůžete smazat tento názor, protože má jeden nebo více závislých názorů, které by byly porušeny. - + + + + - - - - - + + Object dependencies Závislosti objektu @@ -3869,7 +3869,7 @@ it has a weld symbol that would become broken. Nemůžete odstranit tento pohled, protože obsahuje odkazovou čáru, která by se rozbila. - + The page is not empty, therefore the following referencing objects might be lost: Stránka není prázdná, následující referenční objekty budou možná ztraceny: @@ -3959,14 +3959,6 @@ má dlaždiční svar, který by se rozbit. Vykreslovat pozadí ano/ne - - TaskComplexSection - - - No direction set - Není nastaven směr - - TaskMoveView @@ -3993,7 +3985,7 @@ má dlaždiční svar, který by se rozbit. TaskPojGroup - + updates pending čeká na aktualizace @@ -4004,7 +3996,7 @@ má dlaždiční svar, který by se rozbit. No direction set - Není nastaven směr + No direction set @@ -5563,51 +5555,51 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation Jiná orientace - + The printer uses a different orientation than the drawing. Do you want to continue? Tiskárna používá jinou orientaci než výkres. Chcete pokračovat? - + Different paper size Jiný formát papíru - + The printer uses a different paper size than the drawing. Do you want to continue? Tiskárna používá jiný formát papíru než výkres. Chcete pokračovat? - + Opening file failed Otevření souboru selhalo - + Can not open file %1 for writing. Soubor %1 nelze otevřít pro zápis. - + Save DXF file Uložit soubor DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: Vybráno: @@ -6087,7 +6079,12 @@ Chcete pokračovat? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8762,14 +8759,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Tento balon nyní nelze odstranit, protože je zde otevřený dialog. - + Can Not Delete Nelze odstranit diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_de.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_de.ts index 7d8d0136a1..6bb8756ad2 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_de.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_de.ts @@ -2014,8 +2014,8 @@ Kalkulationstabellenansicht erstellen - + Save page to dxf Seite als dxf speichern @@ -2136,12 +2136,12 @@ Schnittansicht erstellen - + Create ComplexSection Komplexe Schnittansicht erstellen - + Edit SectionView Schnittansicht bearbeiten @@ -2179,7 +2179,7 @@ Remove Prefix - Präfixsymbol entfernen + Präfix entfernen @@ -2491,7 +2491,7 @@ Cut - Differenz + Ausschneiden @@ -2546,7 +2546,7 @@ Underline - Unterstrichen + Unterstreichen @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Falsche Auswahl @@ -2746,9 +2746,10 @@ Kein Profilobjekt in der Auswahl gefunden - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Falsche Auswahl - + Select an object first Zuerst ein Objekt auswählen - + Too many objects selected Zu viele Objekte ausgewählt - + Create a page first. Erstellen Sie zunächst eine Seite. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Keine Teileansicht in der Auswahl. @@ -2862,7 +2862,7 @@ Select exactly one Spreadsheet object. - Wählen Sie genau ein Kalkulationstabellen-Objekt. + Wählen Sie genau ein Tabellen-Objekt. @@ -2907,8 +2907,6 @@ Ausgewählte Kante ist ein B-Spline. Radius wird angenähert. Fortfahren? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Falsche Auswahl @@ -3059,6 +3059,9 @@ Wähle 2 Punktobjekte und 1 Ansicht. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Aufgabe in Bearbeitung + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Den aktiven Aufgaben-Dialog schliessen und erneut versuchen. @@ -3370,50 +3370,50 @@ Das Dokument enthält keine Zeichnungsblätter. - + PDF (*.pdf) PDF (*.PDF) - - + + All Files (*.*) Alle Dateien (*.*) - + Export Page As PDF Seite als PDF-Datei exportieren - + Document Name: Dokumentname: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Seite als SVG-Datei exportieren - - + + Are you sure you want to continue? Bist du sicher, dass du fortfahren möchtest? - + Show drawing Zeichnung anzeigen - + Toggle KeepUpdated Automatisches Aktualisieren umschalten @@ -3438,9 +3438,9 @@ Rich-Text Ersteller + - Rich text editor Rich-Text Editor @@ -3505,24 +3505,24 @@ Neuen komplexen Schnitt - + Edit Complex Section Komplexe Schnittansicht bearbeiten - + Current View Direction Aktuelle Blickrichtung - + The view direction in BaseView coordinates Die Richtung derAnsicht in BaseView-Koordinaten - + Operation Failed Vorgang fehlgeschlagen @@ -3558,8 +3558,8 @@ Detailansicht bearbeiten - + Edit %1 %1 bearbeiten @@ -3834,17 +3834,17 @@ it has a weld symbol that would become broken. Diese Ansicht kann nicht gelöscht werden, da von ihr eine oder mehrere Ansichten abhängen, die beschädigt werden könnten. - + + + + - - - - - + + Object dependencies Objektabhängigkeiten @@ -3869,7 +3869,7 @@ it has a weld symbol that would become broken. Diese Ansicht kann nicht gelöscht werden, weil ihr eine Hinweislinie zugeordnet ist, die dadurch unbrauchbar werden würde. - + The page is not empty, therefore the following referencing objects might be lost: Das Zeichnungsblatt ist nicht leer, deshalb könnten die @@ -3957,14 +3957,6 @@ it has a tile weld that would become broken. Hintergrund einfärben Ja/Nein - - TaskComplexSection - - - No direction set - Keine Richtung festgelegt - - TaskMoveView @@ -3991,7 +3983,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending Aktualisierungen ausstehend @@ -4306,7 +4298,7 @@ Nur ändern, wenn du weißt, was du machst! Square - Quadrat + Quadratisch @@ -4439,21 +4431,21 @@ das Schraffieren einer Fläche mit einem PAT-Schraffurmuster Dot - Punkt + Punktlinie DashDot - Strich-Punkt + Strich-Punkt-Linie DashDotDot - Strich-Punkt-Punkt + Strich-Punkt-Punkt-Linie @@ -5267,7 +5259,7 @@ für Ansichtengruppen verteilen Pattern Name - Name des Schraffurmusters + Mustername @@ -5561,49 +5553,49 @@ Schnell, aber das Ergebnis ist eine Sammlung von kurzen geraden Linien.Alle Seiten drucken - + Different orientation Andere Ausrichtung - + The printer uses a different orientation than the drawing. Do you want to continue? Der Drucker verwendet eine andere Ausrichtung als die Zeichnung. Möchten Sie fortfahren? - + Different paper size Anderes Papierformat - + The printer uses a different paper size than the drawing. Do you want to continue? Der Drucker verwendet eine andere Papiergröße als die Zeichnung. Möchten Sie fortfahren? - + Opening file failed Fehler beim Öffnen der Datei - + Can not open file %1 for writing. Datei %1 kann nicht zum Schreiben geöffnet werden. - + Save DXF file DXF-Datei speichern - + DXF (*.dxf) DXF (*.dxf) - + Selected: Ausgewählt: @@ -6004,7 +5996,7 @@ Do you want to continue? Offset - Versetzen + Versatz @@ -6082,7 +6074,12 @@ Do you want to continue? Jetzt aktualisieren - + + No direction set + Keine Richtung festgelegt + + + Can not continue. Object * %1 or %2 not found. Kann nicht fortfahren. Objekt * %1 oder %2 nicht gefunden. @@ -6380,7 +6377,7 @@ Do you want to continue? Square - Quadrat + Bereich @@ -6410,7 +6407,7 @@ Do you want to continue? Other - Andere + Sonstiges @@ -7452,7 +7449,7 @@ Du kannst weitere Punkte auswählen, um Liniensegmente zu erhalten. Bottom - Untersicht + Unten @@ -7517,7 +7514,7 @@ mit dem vorgegebenen X/Y-Abstand Visible smooth edges - Sichtbare tangentiale Kanten + Sichtbare weiche Kanten @@ -7542,7 +7539,7 @@ mit dem vorgegebenen X/Y-Abstand Hidden smooth edges - Versteckte tangentiale Kanten + Versteckte weiche Kanten @@ -7577,7 +7574,7 @@ mit dem vorgegebenen X/Y-Abstand There is currently no active view to complete the operation - Derzeit gibt es keine aktive Ansicht zum Ausführen der Operation + Es gibt derzeit keine aktive Ansicht, um die Operation abzuschließen @@ -7590,7 +7587,7 @@ mit dem vorgegebenen X/Y-Abstand All - Alles + Alle @@ -7683,7 +7680,7 @@ mit dem vorgegebenen X/Y-Abstand Dash - Strichlinie + Strich @@ -7811,7 +7808,7 @@ mit dem vorgegebenen X/Y-Abstand Live Update - Live-Aktualisierung + Echtzeitaktualisierung @@ -8752,14 +8749,14 @@ mit dem vorgegebenen X/Y-Abstand TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Dieses Hinweisfeld kann jetzt nicht gelöscht werden, da noch ein Aufgaben-Dialog geöffnet ist. - + Can Not Delete Kann nicht gelöscht werden diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_el.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_el.ts index f5fe2f504d..13af539f4c 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_el.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_el.ts @@ -2014,8 +2014,8 @@ Create spreadsheet view - + Save page to dxf Save page to dxf @@ -2136,12 +2136,12 @@ Create SectionView - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Λάθος επιλογή @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Εσφαλμένη επιλογή - + Select an object first Επιλέξτε πρώτα ένα αντικείμενο - + Too many objects selected Επιλέχθηκαν πάρα πολλά αντικείμενα - + Create a page first. Δημιουργήστε πρώτα μια σελίδα. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. No View of a Part in selection. @@ -2907,8 +2907,6 @@ Selected edge is a BSpline. Radius will be approximate. Continue? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Εσφαλμένη Επιλογή @@ -3059,6 +3059,9 @@ Select 2 point objects and 1 View. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Task In Progress + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Close active task dialog and try again. @@ -3370,50 +3370,50 @@ No Drawing Pages in document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Όλα τα αρχεία (*.*) - + Export Page As PDF Εξαγωγή Σελίδας ως PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Εξαγωγή Σελίδας ως SVG - - + + Are you sure you want to continue? Are you sure you want to continue? - + Show drawing Εμφανίστε σχέδιο - + Toggle KeepUpdated Εναλλαγή Ενημέρωσης της σελίδας @@ -3438,9 +3438,9 @@ Rich text creator + - Rich text editor Rich text editor @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Operation Failed @@ -3558,8 +3558,8 @@ Edit Detail View - + Edit %1 Επεξεργασία %1 @@ -3835,17 +3835,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies Εξαρτήσεις αντικειμένου @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. You cannot delete this view because it has a leader line that would become broken. - + The page is not empty, therefore the following referencing objects might be lost: The page is not empty, therefore the @@ -3961,14 +3961,6 @@ it has a tile weld that would become broken. Paint background yes/no - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3995,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5567,51 +5559,51 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation Διαφορετικός προσανατολισμός - + The printer uses a different orientation than the drawing. Do you want to continue? Ο εκτυπωτής χρησιμοποιεί διαφορετικό προσανατολισμό από το σχέδιο. Θέλετε να συνεχίσετε; - + Different paper size Διαφορετικό μέγεθος χαρτιού - + The printer uses a different paper size than the drawing. Do you want to continue? Ο εκτυπωτής χρησιμοποιεί διαφορετικό μέγεθος χαρτιού από το σχέδιο. Θέλετε να συνεχίσετε; - + Opening file failed Αποτυχία ανοίγματος αρχείου - + Can not open file %1 for writing. Can not open file %1 for writing. - + Save DXF file Αποθήκευση αρχείου DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: Επιλεγμένα: @@ -6091,7 +6083,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8766,14 +8763,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-AR.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-AR.ts index 5cf470fb4e..baa8d44d69 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-AR.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-AR.ts @@ -2014,8 +2014,8 @@ Crear vista de hoja de cálculo - + Save page to dxf Guardar página como dxf @@ -2136,12 +2136,12 @@ Crear vista de corte - + Create ComplexSection Crear sección compleja - + Edit SectionView Editar vista de corte @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Selección Incorrecta @@ -2746,9 +2746,10 @@ No se encontró ningún objeto de perfil en la selección - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Selección incorrecta - + Select an object first Seleccione primero un objeto - + Too many objects selected Demasiados objetos seleccionados - + Create a page first. Cree una página de dibujo primero. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. No hay Vista de una Pieza en la selección. @@ -2907,8 +2907,6 @@ La arista seleccionada es un BSpline. El radio será aproximado. ¿Continuar? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Selección incorrecta @@ -3059,6 +3059,9 @@ Seleccione objetos de 2 puntos y 1 Vista. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Tarea en progreso + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Cerrar diálogo de tareas activo e inténtelo de nuevo. @@ -3370,50 +3370,50 @@ No hay Páginas de Dibujo en el documento. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Todos los archivos (*.*) - + Export Page As PDF Exportar Página Como PDF - + Document Name: Nombre del documento: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exportar página como SVG - - + + Are you sure you want to continue? ¿Estás seguro/a de que quieres continuar? - + Show drawing Mostrar dibujo - + Toggle KeepUpdated Activar MantenerActualizado @@ -3438,9 +3438,9 @@ Creador de texto enriquecido + - Rich text editor Editor de texto enriquecido @@ -3505,24 +3505,24 @@ Nueva sección compleja - + Edit Complex Section Editar sección compleja - + Current View Direction Dirección de vista actual - + The view direction in BaseView coordinates La dirección de la vista en coordenadas BaseView - + Operation Failed Operación Fallida @@ -3558,8 +3558,8 @@ Editar Vista Detalle - + Edit %1 Editar %1 @@ -3835,17 +3835,17 @@ tiene un símbolo de soldadura que se rompería. No puede eliminar esta vista porque tiene una o más vistas dependientes que se romperían. - + + + + - - - - - + + Object dependencies Dependencias del objeto @@ -3870,7 +3870,7 @@ tiene un símbolo de soldadura que se rompería. No puede eliminar esta vista porque contiene una línea de referencia que se rompería. - + The page is not empty, therefore the following referencing objects might be lost: La página no está vacía, por lo tanto el @@ -3961,14 +3961,6 @@ tiene un cuadro de soldadura que se rompería. Pintar fondo si/no - - TaskComplexSection - - - No direction set - Sin dirección establecida - - TaskMoveView @@ -3995,7 +3987,7 @@ tiene un cuadro de soldadura que se rompería. TaskPojGroup - + updates pending actualizaciones pendientes @@ -4006,7 +3998,7 @@ tiene un cuadro de soldadura que se rompería. No direction set - Sin dirección establecida + No direction set @@ -5565,51 +5557,51 @@ Rápido, pero el resultado es una colección de líneas rectas cortas.Imprimir todas las páginas - + Different orientation Orientación diferente de la hoja - + The printer uses a different orientation than the drawing. Do you want to continue? La impresora utiliza una orientación de papel distinta a la del dibujo. ¿Desea continuar? - + Different paper size Tamaño de papel diferente - + The printer uses a different paper size than the drawing. Do you want to continue? La impresora usa un tamaño de papel distinto al del dibujo. ¿Desea continuar? - + Opening file failed No se pudo abrir el archivo - + Can not open file %1 for writing. No se puede abrir el archivo %1 para escritura. - + Save DXF file Guardar archivo DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: Seleccionado: @@ -6089,7 +6081,12 @@ Do you want to continue? Actualizar ahora - + + No direction set + Sin ajuste de dirección + + + Can not continue. Object * %1 or %2 not found. No se puede continuar. Objeto * %1 o %2 no encontrado. @@ -8764,14 +8761,14 @@ usando el espacio X/Y dado TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. No puede eliminar este globo ahora porque hay un diálogo de tareas abiertas. - + Can Not Delete No se puede eliminar diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-ES.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-ES.ts index 7e04882427..38f4a90cb9 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-ES.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_es-ES.ts @@ -2014,8 +2014,8 @@ Crear vista de hoja de cálculo - + Save page to dxf Guardar página como dxf @@ -2136,12 +2136,12 @@ Crear Vista de Sección - + Create ComplexSection Crear sección compleja - + Edit SectionView Editar Vista de Sección @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Selección incorrecta @@ -2746,9 +2746,10 @@ No se encontró ningún objeto de perfil en la selección - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Selección incorrecta - + Select an object first Seleccione un objeto en primer lugar - + Too many objects selected Demasiados objetos seleccionados - + Create a page first. Cree una página de dibujo primero. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Sin vista de un objeto Part en la selección. @@ -2907,8 +2907,6 @@ El borde seleccionado es un BSpline. El dadio será aproximado. ¿Continuar? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Selección incorrecta @@ -3059,6 +3059,9 @@ Seleccione objetos de 2 puntos y 1 Vista. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Tarea en progreso + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Cerrar diálogo de tareas activo e inténtelo de nuevo. @@ -3370,50 +3370,50 @@ No hay páginas de dibujo en el documento. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Todos los archivos (*.*) - + Export Page As PDF Exportar página como PDF - + Document Name: Nombre del documento: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exportar página como SVG - - + + Are you sure you want to continue? ¿Está seguro de que desea continuar? - + Show drawing Mostrar dibujo - + Toggle KeepUpdated Activar KeepUpdated @@ -3438,9 +3438,9 @@ Creador de texto enriquecido + - Rich text editor Editor de texto enriquecido @@ -3505,24 +3505,24 @@ Nueva Sección Compleja - + Edit Complex Section Editar sección compleja - + Current View Direction Dirección de vista actual - + The view direction in BaseView coordinates La dirección de la vista en coordenadas BaseView - + Operation Failed Operación fallida @@ -3558,8 +3558,8 @@ Editar vista de detalles - + Edit %1 Editar %1 @@ -3835,17 +3835,17 @@ tiene un símbolo de soldadura que se rompería. No se puede borrar esta vista porque tiene una o más vistas dependientes que se romperían. - + + + + - - - - - + + Object dependencies Dependencias del objeto @@ -3870,7 +3870,7 @@ tiene un símbolo de soldadura que se rompería. No puede eliminar esta vista porque contiene una línea de referencia que se rompería. - + The page is not empty, therefore the following referencing objects might be lost: La página no está vacía, por lo tanto el @@ -3960,14 +3960,6 @@ it has a tile weld that would become broken. Pintar fondo si/no - - TaskComplexSection - - - No direction set - Sin dirección establecida - - TaskMoveView @@ -3994,7 +3986,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending actualizaciones pendientes @@ -4005,7 +3997,7 @@ it has a tile weld that would become broken. No direction set - Sin dirección establecida + No direction set @@ -5565,51 +5557,51 @@ Rápido, pero los resultados son una colección de líneas rectas cortas.Imprimir todas las páginas - + Different orientation Orientación diferente de la hoja - + The printer uses a different orientation than the drawing. Do you want to continue? La impresora utiliza una orientación de papel distinta a la del dibujo. ¿Desea continuar? - + Different paper size Tamaño de papel diferente - + The printer uses a different paper size than the drawing. Do you want to continue? La impresora usa un tamaño de papel distinto al del dibujo. ¿Desea continuar? - + Opening file failed No se pudo abrir el archivo - + Can not open file %1 for writing. No se puede abrir el archivo %1 para la escritura. - + Save DXF file Guardar archivo Dxf - + DXF (*.dxf) DXF (*.dxf) - + Selected: Seleccionado: @@ -6089,7 +6081,12 @@ Do you want to continue? Actualizar ahora - + + No direction set + Sin ajuste de dirección + + + Can not continue. Object * %1 or %2 not found. No se puede continuar. Objeto * %1 o %2 no encontrado. @@ -8764,13 +8761,13 @@ usando el Espaciado X/Y dado TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. No se puede borrar esta viñeta ahora porque hay un diálogo de tareas abierto. - + Can Not Delete No se puede borrar diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_eu.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_eu.ts index c0a2bf7bac..b68d165c5d 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_eu.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_eu.ts @@ -2014,8 +2014,8 @@ Sortu kalkulu-orriaren bista - + Save page to dxf Gorde orria DXF fitxategi batean @@ -2136,12 +2136,12 @@ Sortu sekzio-bista - + Create ComplexSection Sortu sekzio konplexua - + Edit SectionView Editatu sekzio-bista @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Hautapen okerra @@ -2746,9 +2746,10 @@ Ez da profil-objekturik aurkitu hautapenean - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Hautapen okerra - + Select an object first Hautatu objektu bat - + Too many objects selected Objektu gehiegi hautatuta - + Create a page first. Lehenengo, sortu orrialde bat. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Ez dago piezaren bistarik hautapenean. @@ -2862,7 +2862,7 @@ Select exactly one Spreadsheet object. - Hautatu kalkulu-orri objektu zehatz bat. + Hautatu kalkulu-orriko objektu bakar bat. @@ -2907,8 +2907,6 @@ Hautatutako ertza B-spline bat da. Erradioa gutxi gorabeherakoa izango da. Jarraitu? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Hautapen okerra @@ -3059,6 +3059,9 @@ Hautatu bi puntu-objektu eta bista bat. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Ataza abian + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Itxi ataza aktiboaren elkarrizketa-koadroa eta saiatu berriro. @@ -3370,50 +3370,50 @@ Ez dago marrazki-orririk dokumentuan. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Fitxategi guztiak (*.*) - + Export Page As PDF Esportatu orrialdea PDF gisa - + Document Name: Dokumentu-izena: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Esportatu orrialdea SVG gisa - - + + Are you sure you want to continue? Ziur zaude jarraitu nahi duzula? - + Show drawing Erakutsi marrazkia - + Toggle KeepUpdated Txandakatu eguneratuta mantentzea @@ -3438,9 +3438,9 @@ Testu aberatsaren sortzailea + - Rich text editor Testu aberatsaren editorea @@ -3505,24 +3505,24 @@ Sekzio konplexu berria - + Edit Complex Section Editatu sekzio konplexua - + Current View Direction Uneko bista-norabidea - + The view direction in BaseView coordinates Bistaren norabidea oinarri-bistaren koordenatuetan - + Operation Failed Eragiketak huts egin du @@ -3558,8 +3558,8 @@ Editatu xehetasun-bista - + Edit %1 Editatu %1 @@ -3835,17 +3835,17 @@ hautsi daitekeen soldadura-ikur bat duelako. Ezin da bista hau ezabatu, hautsita geratuko liratekeen mendeko bista bat edo gehiago dituelako. - + + + + - - - - - + + Object dependencies Objektuaren mendekotasunak @@ -3870,7 +3870,7 @@ hautsi daitekeen soldadura-ikur bat duelako. Ezin da bista hau ezabatu hautsita geratuko litzatekeen gida-marra bat duelako. - + The page is not empty, therefore the following referencing objects might be lost: Orria ez dago hutsik, eta honako erreferentzia @@ -3961,14 +3961,6 @@ hautsi daitekeen lauza-soldadura bat duelako. Margotu atzeko planoa bai/ez - - TaskComplexSection - - - No direction set - Ez da norabiderik ezarri - - TaskMoveView @@ -3995,7 +3987,7 @@ hautsi daitekeen lauza-soldadura bat duelako. TaskPojGroup - + updates pending eguneraketa falta dira @@ -5568,51 +5560,51 @@ Azkarra, baina lerro zuzen laburren bilduma bat ematen du. Inprimatu orrialde guztiak - + Different orientation Orientazio desberdina - + The printer uses a different orientation than the drawing. Do you want to continue? Inprimagailuak eta marrazkiak orientazio desberdina dute. Jarraitu nahi duzu? - + Different paper size Paper-tamaina desberdina - + The printer uses a different paper size than the drawing. Do you want to continue? Inprimagailuak eta marrazkiak paper-tamaina desberdina dute. Jarraitu nahi duzu? - + Opening file failed Fitxategia irekitzeak huts egin du - + Can not open file %1 for writing. Ezin da %1 fitxategia ireki hura idazteko. - + Save DXF file Gorde DXF fitxategia - + DXF (*.dxf) DXF (*.dxf) - + Selected: Hautatua: @@ -6092,7 +6084,12 @@ Jarraitu nahi duzu? Eguneratu orain - + + No direction set + Ez da norabiderik ezarri + + + Can not continue. Object * %1 or %2 not found. Ezin da jarraitu. Ez da * %1 edo %2 objektua aurkitu. @@ -8767,14 +8764,14 @@ emandako X/Y espazioa erabilita TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Ezin da bunbuilo hau ezabatu orain zeregin baten elkarrizketa-koadroa irekita dagoelako. - + Can Not Delete Ezin da ezabatu diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fi.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fi.ts index 7578ebe175..ac90b9aa80 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fi.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fi.ts @@ -2014,8 +2014,8 @@ Luo laskentataulukkonäkymä - + Save page to dxf Tallenna sivu dxf-muotoon @@ -2136,12 +2136,12 @@ Luo Osionäkymä - + Create ComplexSection Luo monitasoinen leikkaus - + Edit SectionView Muokkaa leikkausnäkymää @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Virheellinen valinta @@ -2746,9 +2746,10 @@ Valinnassa ei löytynyt profiiliobjektia - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Virheellinen valinta - + Select an object first Valitse ensin objekti - + Too many objects selected Liian monta objektia valittu - + Create a page first. Luo sivu ensin. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Valinnassa ei ole osan näkymää. @@ -2907,8 +2907,6 @@ Valittu reuna on BSpline, joten säteestä ei tule tarkkaa. Jatketaanko? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Virheellinen valinta @@ -3059,6 +3059,9 @@ Valitse 2 pistemäistä objektia ja 1 Näkymä. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Toiminto käynnissä + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Sulje aktiivisen toiminnon syöttöikkuna ja yritä uudelleen. @@ -3370,50 +3370,50 @@ Asiakirjassa ei ole Piirustus-sivuja. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Kaikki tiedostot (*.*) - + Export Page As PDF Vie sivu PDF-tiedostoon - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Vie sivu SVG-tiedostoon - - + + Are you sure you want to continue? Haluatko varmasti jatkaa? - + Show drawing Näytä piirustus - + Toggle KeepUpdated Vaihda PidäPäivitettynä @@ -3438,9 +3438,9 @@ RTF-tekstin luonti + - Rich text editor RTF-tekstin editori @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Toiminto ei onnistunut @@ -3558,8 +3558,8 @@ Muokkaa Detaljinäkymää - + Edit %1 Muokkaa %1 @@ -3834,17 +3834,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies Objektin riippuvuudet @@ -3869,7 +3869,7 @@ it has a weld symbol that would become broken. Et voi poistaa tätä Näkymää, koska siihen on liitetty Reittiviiva joka rikkoutuisi. - + The page is not empty, therefore the following referencing objects might be lost: Sivu ei ole tyhjä, joten seuraavat @@ -3957,14 +3957,6 @@ it has a tile weld that would become broken. Väritä tausta kyllä/ei - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3991,7 +3983,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5559,51 +5551,51 @@ Nopea, mutta tulos on kokoelma lyhyitä suoria viivoja. Tulosta kaikki sivut - + Different orientation Erilainen sivun suunta - + The printer uses a different orientation than the drawing. Do you want to continue? Tulostin käyttää eri paperisuuntaa kuin piirros. Haluatko jatkaa? - + Different paper size Erilainen paperikoko - + The printer uses a different paper size than the drawing. Do you want to continue? Tulostin käyttää eri paperikokoa kuin piirros. Haluatko jatkaa? - + Opening file failed Tiedoston avaaminen epäonnistui - + Can not open file %1 for writing. Tiedostoon ”%1” ei voida tallentaa. - + Save DXF file Tallenna DXF-tiedosto - + DXF (*.dxf) DXF (*.dxf) - + Selected: Valittu: @@ -6083,7 +6075,12 @@ Haluatko jatkaa? Päivitä nyt - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Ei voi jatkaa. Objektia *%1 tai %2 ei löytynyt. @@ -8756,13 +8753,13 @@ käyttäen annettuja X/Y-välimatkoja TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Et voi poistaa tätä ilmapalloa nyt, koska tehtävävalintaikkuna on avoin. - + Can Not Delete Ei Voi Poistaa diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fr.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fr.ts index 2e8526a96b..97f1a24a5a 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fr.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_fr.ts @@ -2167,8 +2167,8 @@ Créer une vue de feuille de calcul - + Save page to dxf Enregistrer la page en dxf @@ -2289,12 +2289,12 @@ Créer une vue de coupe - + Create ComplexSection Créer une vue en coupe complexe - + Edit SectionView Éditer la vue en coupe @@ -2841,16 +2841,6 @@ QObject - - - - - - - - - - @@ -2868,6 +2858,16 @@ + + + + + + + + + + Wrong selection Sélection invalide @@ -2899,9 +2899,10 @@ Aucun objet de profil trouvé dans la sélection - - - + + + + @@ -2913,33 +2914,33 @@ - - - - + + + Incorrect selection Sélection non valide - + Select an object first Sélectionnez d’abord un objet - + Too many objects selected Trop d'éléments sélectionnés - + Create a page first. Créer d'abord une page. + @@ -2948,7 +2949,6 @@ - No View of a Part in selection. Aucune vue d'une pièce dans la sélection. @@ -3061,8 +3061,6 @@ Le bord sélectionné est un BSpline. Le rayon sera approximatif. Continuer ? - - @@ -3082,10 +3080,12 @@ + + + - Incorrect Selection Sélection non valide @@ -3213,6 +3213,9 @@ Sélectionnez des objets à 2 points et 1 vue. (2) + + + @@ -3238,11 +3241,6 @@ - - - - - @@ -3250,18 +3248,23 @@ - - - + + + + + Task In Progress Tâche en cours + + + @@ -3287,11 +3290,6 @@ - - - - - @@ -3299,14 +3297,16 @@ - - - + + + + + Close active task dialog and try again. Fermer la boîte de dialogue des tâches actives et réessayer. @@ -3524,50 +3524,50 @@ Aucune page de dessin dans le document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Tous les fichiers (*.*) - + Export Page As PDF Exporter la page au format PDF - + Document Name: Nom du document: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exporter la page au format SVG - - + + Are you sure you want to continue? Êtes-vous sûr de vouloir continuer ? - + Show drawing Afficher la mise en plan - + Toggle KeepUpdated Activer/désactiver la mise à jour @@ -3592,9 +3592,9 @@ Créateur de texte enrichi + - Rich text editor Éditeur de texte enrichi @@ -3659,24 +3659,24 @@ Nouvelle vue en coupe complexe - + Edit Complex Section Modifier une vue en coupe complexe - + Current View Direction Direction de la vue actuelle - + The view direction in BaseView coordinates Direction de la vue dans les coordonnées de la vue de base - + Operation Failed L'opération a échoué @@ -3712,8 +3712,8 @@ Editer la vue détaillée - + Edit %1 Modifier %1 @@ -3981,7 +3981,7 @@ You cannot delete this leader line because it has a weld symbol that would become broken. Vous ne pouvez pas supprimer cette ligne de référence car - elle a un symbole de soudure qui serait cassé. +elle comporte un symbole de soudure qui se casserait. @@ -3989,17 +3989,17 @@ it has a weld symbol that would become broken. Vous ne pouvez pas supprimer cette vue car elle possède une ou plusieurs vues dépendantes qui deviendraient orphelines. - + + + + - - - - - + + Object dependencies Dépendances des objets @@ -4024,7 +4024,7 @@ it has a weld symbol that would become broken. Vous ne pouvez pas supprimer cette vue car elle comporte une ligne de référence qui sera cassée. - + The page is not empty, therefore the following referencing objects might be lost: La page n'est pas vide, donc les @@ -4115,14 +4115,6 @@ it has a tile weld that would become broken. Colorer l'arrière-plan oui/non - - TaskComplexSection - - - No direction set - Aucune direction définie - - TaskMoveView @@ -4149,7 +4141,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending mises à jour en attente @@ -5715,49 +5707,49 @@ Fast, but result is a collection of short straight lines. Imprimer toutes les pages - + Different orientation Orientation différente - + The printer uses a different orientation than the drawing. Do you want to continue? L'imprimante utilise une autre orientation que le dessin. Voulez-vous continuer ? - + Different paper size Format de papier différent - + The printer uses a different paper size than the drawing. Do you want to continue? L'imprimante utilise un format de papier différent que le dessin. Voulez-vous continuer ? - + Opening file failed L'ouverture du fichier a échoué - + Can not open file %1 for writing. Impossible d’ouvrir le fichier %1 en écriture. - + Save DXF file Enregistrer le fichier Dxf - + DXF (*.dxf) Dxf (*.dxf) - + Selected: Sélectionné: @@ -6237,7 +6229,12 @@ Do you want to continue? Mettre à jour maintenant - + + No direction set + Aucune direction définie + + + Can not continue. Object * %1 or %2 not found. Impossible de continuer. Objet * %1 ou %2 non trouvé. @@ -8914,14 +8911,14 @@ Peut être lent pour les modèles complexes. TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Vous ne pouvez pas supprimer cette infobulle maintenant car il y a une tâche en cours. - + Can Not Delete Impossible de supprimer diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_gl.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_gl.ts index 05a6a39ea4..8d6434c93c 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_gl.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_gl.ts @@ -2014,8 +2014,8 @@ Create spreadsheet view - + Save page to dxf Save page to dxf @@ -2136,12 +2136,12 @@ Create SectionView - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Escolma errada @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Selección incorrecta - + Select an object first Primeiro escolme un obxecto - + Too many objects selected Demasiados obxectos escolmados - + Create a page first. Primeiro, cree unha páxina. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Sen vista da peza en selección. @@ -2907,8 +2907,6 @@ O bordo escolmado é unha BSpline. O Radio será aproximado. Dámoslle? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Selección Incorrecta @@ -3059,6 +3059,9 @@ Select 2 point objects and 1 View. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Tarefa en Progreso + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Pechar o cadro de diálogo e tentalo outra vez. @@ -3370,50 +3370,50 @@ No Drawing Pages in document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Tódolos ficheiros (*.*) - + Export Page As PDF Exporta Páxina Como PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exporta páxina como SVG - - + + Are you sure you want to continue? Are you sure you want to continue? - + Show drawing Amosar debuxo - + Toggle KeepUpdated Activar KeepUpdated @@ -3438,9 +3438,9 @@ Creador de texto enriquecido + - Rich text editor Editor de texto enriquecido @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Operation Failed @@ -3558,8 +3558,8 @@ Edit Detail View - + Edit %1 Editar %1 @@ -3835,17 +3835,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies Dependencias do obxecto @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. You cannot delete this view because it has a leader line that would become broken. - + The page is not empty, therefore the following referencing objects might be lost: The page is not empty, therefore the @@ -3961,14 +3961,6 @@ it has a tile weld that would become broken. Paint background yes/no - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3995,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5567,51 +5559,51 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation Orientación diferente - + The printer uses a different orientation than the drawing. Do you want to continue? A impresora usa unha orientación de papel diferente da do debuxo. Quere seguir? - + Different paper size Tamaño de papel diferente - + The printer uses a different paper size than the drawing. Do you want to continue? A impresora usa un tamaño de papel diferente do do debuxo. Quere seguir? - + Opening file failed Falla ó abrir o ficheiro - + Can not open file %1 for writing. Non se pode abrir o ficheiro %1 para escribir. - + Save DXF file Save DXF file - + DXF (*.dxf) DXF (*.dxf) - + Selected: Escolmado: @@ -6091,7 +6083,12 @@ Quere seguir? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8766,14 +8763,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hr.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hr.ts index 4af355c009..1ab60cfe1b 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hr.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hr.ts @@ -2030,8 +2030,8 @@ Stvori pogled pregleda - + Save page to dxf Spremi stranicu u dxf formatu @@ -2152,12 +2152,12 @@ Stvori OdjeljakPogled - + Create ComplexSection Stvorite složeni presjek - + Edit SectionView Uređivanje pogleda presjeka @@ -2708,16 +2708,6 @@ QObject - - - - - - - - - - @@ -2735,6 +2725,16 @@ + + + + + + + + + + Wrong selection Pogrešan odabir @@ -2766,9 +2766,10 @@ U ovom odabiru nema Objekta profila - - - + + + + @@ -2780,33 +2781,33 @@ - - - - + + + Incorrect selection Netočan odabir - + Select an object first Najprije odaberite objekt - + Too many objects selected Previše objekata odabrano - + Create a page first. Najprije napravite stranicu. + @@ -2815,7 +2816,6 @@ - No View of a Part in selection. Ne postoji Pogled na Dio u odabiru. @@ -2928,8 +2928,6 @@ Odabrani rub je BSpline. Polumjer će biti približan. Nastaviti? - - @@ -2949,10 +2947,12 @@ + + + - Incorrect Selection Netočan odabir @@ -3080,6 +3080,9 @@ Odaberite 2 objekta Točke i 1 Pogled.(2) + + + @@ -3105,11 +3108,6 @@ - - - - - @@ -3117,18 +3115,23 @@ - - - + + + + + Task In Progress Rješavanje u postupku + + + @@ -3154,11 +3157,6 @@ - - - - - @@ -3166,14 +3164,16 @@ - - - + + + + + Close active task dialog and try again. Zatvori aktivni dijalog rješavača i pokušaj ponovo. @@ -3392,50 +3392,50 @@ U dokumentu nema Stranica za crtanje. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Sve datoteke (*.*) - + Export Page As PDF Izvoz Stranice u PDF - + Document Name: Naziv dokumenta: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Izvoz Stranice u SVG - - + + Are you sure you want to continue? Jeste li sigurni da želite nastaviti? - + Show drawing Prikaži crtež - + Toggle KeepUpdated Uključivanje/isključivanje KeepUpdated @@ -3460,9 +3460,9 @@ Rich-Text stvaralac + - Rich text editor Rich-Text uređivač @@ -3527,24 +3527,24 @@ Novi složeni presjek - + Edit Complex Section Uredi složeni presjek - + Current View Direction Trenutni smjer pogleda - + The view direction in BaseView coordinates Smjer pogleda u koordinatama baznog pogleda - + Operation Failed Operacija nije uspjela @@ -3580,8 +3580,8 @@ Uredite detaljni pogled - + Edit %1 Uređivanje %1 @@ -3861,17 +3861,17 @@ ima simbol spajanja koji bi se pokidao. Ne možete izbrisati ovaj pogled jer ima jedan ili više ovisnih prikaza koji bi se slomili. - + + + + - - - - - + + Object dependencies Zavisnosti objekta @@ -3898,7 +3898,7 @@ ima simbol spajanja koji bi se pokidao. - + The page is not empty, therefore the following referencing objects might be lost: Stranica nije prazna, stoga @@ -3997,14 +3997,6 @@ ima pločicu spajanja koja bi se pokidala. Obojajte pozadinu Da/Ne - - TaskComplexSection - - - No direction set - Nije postavljen smjer - - TaskMoveView @@ -4031,7 +4023,7 @@ ima pločicu spajanja koja bi se pokidala. TaskPojGroup - + updates pending ažuriranja na čekanju @@ -5650,49 +5642,49 @@ Brzo, ali rezultat je zbirka kratkih ravnih linija. Ispis svih stranica - + Different orientation Drugačija orijentacija - + The printer uses a different orientation than the drawing. Do you want to continue? Pisač koristi drugu orijentaciju ispisa nego što je u crtežu. Želite li nastaviti? - + Different paper size Drugačija veličina papira - + The printer uses a different paper size than the drawing. Do you want to continue? Pisač koristi drugu veličinu papra nego što je u crtežu. Želite li nastaviti? - + Opening file failed Otvaranje dokumenta nije uspjelo - + Can not open file %1 for writing. Ne mogu otvoriti dokument %1 za ispis. - + Save DXF file Spremi DXF Datoteku - + DXF (*.dxf) DXF (*.dxf) - + Selected: Odabrane: @@ -6176,7 +6168,12 @@ Do you want to continue? Ažuriraj Sada - + + No direction set + Nije postavljen smjer + + + Can not continue. Object * %1 or %2 not found. Ne može se nastaviti. Objekt * %1 ili %2 nije pronađen. @@ -8863,14 +8860,14 @@ koristeći zadani X/Y razmak TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Ovaj balončić ne možete izbrisati sada jer je otvoren dijalog zadataka. - + Can Not Delete Ne može da se izbriše diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.ts index c3c629d640..3eb47c5fe1 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.ts @@ -2014,8 +2014,8 @@ Számolótábla nézet létrehozása - + Save page to dxf Oldal mentése dxf-be @@ -2136,12 +2136,12 @@ Szakasznézet létrehozása - + Create ComplexSection Összetett szakasz létrehozása - + Edit SectionView Szakasznézet szerkesztés @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Rossz kijelölés @@ -2746,9 +2746,10 @@ Nem található profiltárgy a kijelölésben - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Hibás kijelölés - + Select an object first Először válasszon ki egy tárgyat - + Too many objects selected Túl sok kijelölt objektum - + Create a page first. Először hozzon létre egy oldalt. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Nincs alkatrész nézet ebben a kiválasztásban. @@ -2907,8 +2907,6 @@ A kijelölt él egy folyamatos ív. A sugár hozzávetőleges érték lesz. Folytatja? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Hibás kijelölés @@ -3059,6 +3059,9 @@ Jelöljön ki 2 pontos objektumokat és 1 nézetet. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress A feladat folyamatban + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Zárja be az aktív feladatot és próbálja később. @@ -3370,50 +3370,50 @@ A dokumentumban nincsenek rajzok. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Összes fájl (*.*) - + Export Page As PDF Oldal export PDF formában - + Document Name: Dokumentum neve: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Oldal export SVG formában - - + + Are you sure you want to continue? Biztosan folytatja? - + Show drawing Mutasd a rajzot - + Toggle KeepUpdated Frissen tartás kapcsolója @@ -3438,9 +3438,9 @@ Szöveg szerkesztő + - Rich text editor Szöveg szerkesztő @@ -3505,24 +3505,24 @@ Új összetett szakasz - + Edit Complex Section Összetett szakasz szerkesztés - + Current View Direction Aktuális nézet irány - + The view direction in BaseView coordinates Az alapnézet koordinátái által meghatározott irány megtekintése - + Operation Failed Sikertelen művelet @@ -3558,8 +3558,8 @@ Részletnézet szerkesztése - + Edit %1 %1 szerkesztése @@ -3835,17 +3835,17 @@ olyan hegesztési szimbólummal rendelkezik, amely megtörne. Nem törölheti ezt a nézetet, mert egy vagy több nézetnek függősége van, amely megszakadna. - + + + + - - - - - + + Object dependencies Objektumfüggőségek @@ -3870,7 +3870,7 @@ olyan hegesztési szimbólummal rendelkezik, amely megtörne. Nem törölheti ezt a nézetet, mert van egy referenciavonala, amely megszakadna. - + The page is not empty, therefore the following referencing objects might be lost: Az oldal nem üres, ezért a @@ -3961,14 +3961,6 @@ egy részhegesztése megtörne. Háttér festése igen/nem - - TaskComplexSection - - - No direction set - Nincs beállítva irány - - TaskMoveView @@ -3995,7 +3987,7 @@ egy részhegesztése megtörne. TaskPojGroup - + updates pending frissítések függőben @@ -4006,7 +3998,7 @@ egy részhegesztése megtörne. No direction set - Nincs beállítva irány + Irány nincs beállítva @@ -5562,50 +5554,50 @@ Gyors, de az eredmény rövid egyenesek gyűjteménye. Összes oldal nyomtatása - + Different orientation Eltérő tájolású - + The printer uses a different orientation than the drawing. Do you want to continue? A nyomtató a rajztól eltérő tájolást használ. Szeretné fojtatni? - + Different paper size Eltérő papírméret - + The printer uses a different paper size than the drawing. Do you want to continue? A nyomtató a rajztól eltérő méretű papír méretet használ. Szeretné folytatni? - + Opening file failed Fájl megnyitása sikertelen - + Can not open file %1 for writing. %1 fájlt nem nyitható meg íráshoz. - + Save DXF file DXF-fájl mentése - + DXF (*.dxf) Dxf (*.dxf) - + Selected: Kiválasztott: @@ -6085,7 +6077,12 @@ Szeretné folytatni? Frissítés most - + + No direction set + Irány nincs beállítva + + + Can not continue. Object * %1 or %2 not found. Nem folytatható. * %1 vagy %2 tárgy nem található. @@ -8759,14 +8756,14 @@ a megadott X/Y távolság használatával TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Ezt a léggömböt most nem lehet eltávolítani, mert a feladat párbeszédpanel nyitva van. - + Can Not Delete Nem tudja törölni diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_id.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_id.ts index dbbda82be8..ee38faa72a 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_id.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_id.ts @@ -127,17 +127,17 @@ CmdTechDrawArchView - + TechDraw TechDraw - + Insert Arch Workbench Object Insert Arch Workbench Object - + Insert a View of a Section Plane from Arch Workbench Insert a View of a Section Plane from Arch Workbench @@ -352,22 +352,22 @@ CmdTechDrawExportPageDXF - + File Mengajukan - + Export Page as DXF Ekspor Halaman sebagai DXF - + Save DXF file Save DXF file - + DXF (*.dxf) DXF (*.dxf) @@ -375,12 +375,12 @@ CmdTechDrawExportPageSVG - + File Mengajukan - + Export Page as SVG Ekspor Halaman sebagai SVG @@ -424,17 +424,17 @@ CmdTechDrawExtensionCascadeDimensionGroup - + TechDraw TechDraw - + Cascade Horizontal Dimensions Cascade Horizontal Dimensions - + Evenly space horizontal dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool Evenly space horizontal dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool @@ -442,19 +442,19 @@ CmdTechDrawExtensionCascadeHorizDimension - + TechDraw TechDraw - - + + Cascade Horizontal Dimensions Cascade Horizontal Dimensions - - + + Evenly space horizontal dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool Evenly space horizontal dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool @@ -462,19 +462,19 @@ CmdTechDrawExtensionCascadeObliqueDimension - + TechDraw TechDraw - - + + Cascade Oblique Dimensions Cascade Oblique Dimensions - - + + Evenly space oblique dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more parallel oblique dimensions<br>- The first dimension defines the position<br>- Click this tool Evenly space oblique dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more parallel oblique dimensions<br>- The first dimension defines the position<br>- Click this tool @@ -482,19 +482,19 @@ CmdTechDrawExtensionCascadeVertDimension - + TechDraw TechDraw - - + + Cascade Vertical Dimensions Cascade Vertical Dimensions - - + + Evenly space vertical dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more vertical dimensions<br>- The first dimension defines the position<br>- Click this tool Evenly space vertical dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more vertical dimensions<br>- The first dimension defines the position<br>- Click this tool @@ -502,17 +502,17 @@ CmdTechDrawExtensionChamferDimensionGroup - + TechDraw TechDraw - + Create Horizontal Chamfer Dimension Create Horizontal Chamfer Dimension - + Create a horizontal size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool Create a horizontal size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool @@ -576,17 +576,17 @@ CmdTechDrawExtensionCreateChainDimensionGroup - + TechDraw TechDraw - + Create Horizontal Chain Dimensions Create Horizontal Chain Dimensions - + Create a sequence of aligned horizontal dimensions:<br>- Select three or more vertexes<br>- Click this tool Create a sequence of aligned horizontal dimensions:<br>- Select three or more vertexes<br>- Click this tool @@ -594,17 +594,17 @@ CmdTechDrawExtensionCreateCoordDimensionGroup - + TechDraw TechDraw - + Create Horizontal Coordinate Dimensions Create Horizontal Coordinate Dimensions - + Create multiple evenly spaced horizontal dimensions starting from the same baseline:<br>- Specify the cascade spacing (optional)<br>- Select three or more vertexes<br>- The selection order of the first two vertexes determines the position of the baseline<br>- Click this tool Create multiple evenly spaced horizontal dimensions starting from the same baseline:<br>- Specify the cascade spacing (optional)<br>- Select three or more vertexes<br>- The selection order of the first two vertexes determines the position of the baseline<br>- Click this tool @@ -612,19 +612,19 @@ CmdTechDrawExtensionCreateHorizChainDimension - + TechDraw TechDraw - - + + Create Horizontal Chain Dimensions Create Horizontal Chain Dimensions - - + + Create a sequence of aligned horizontal dimensions:<br>- Select three or more vertexes<br>- Click this tool Create a sequence of aligned horizontal dimensions:<br>- Select three or more vertexes<br>- Click this tool @@ -632,19 +632,19 @@ CmdTechDrawExtensionCreateHorizChamferDimension - + TechDraw TechDraw - - + + Create Horizontal Chamfer Dimension Create Horizontal Chamfer Dimension - - + + Create a horizontal size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool Create a horizontal size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool @@ -652,19 +652,19 @@ CmdTechDrawExtensionCreateHorizCoordDimension - + TechDraw TechDraw - - + + Create Horizontal Coordinate Dimensions Create Horizontal Coordinate Dimensions - - + + Create multiple evenly spaced horizontal dimensions starting from the same baseline:<br>- Specify the cascade spacing (optional)<br>- Select three or more vertexes<br>- The selection order of the first two vertexes determines the position of the baseline<br>- Click this tool Create multiple evenly spaced horizontal dimensions starting from the same baseline:<br>- Specify the cascade spacing (optional)<br>- Select three or more vertexes<br>- The selection order of the first two vertexes determines the position of the baseline<br>- Click this tool @@ -672,17 +672,17 @@ CmdTechDrawExtensionCreateLengthArc - + TechDraw TechDraw - + Create Arc Length Dimension Create Arc Length Dimension - + Create an arc length dimension:<br>- Select a single arc<br>- Click this tool Create an arc length dimension:<br>- Select a single arc<br>- Click this tool @@ -690,19 +690,19 @@ CmdTechDrawExtensionCreateObliqueChainDimension - + TechDraw TechDraw - - + + Create Oblique Chain Dimensions Create Oblique Chain Dimensions - - + + Create a sequence of aligned oblique dimensions:<br>- Select three or more vertexes<br>- The first two vertexes define the direction<br>- Click this tool Create a sequence of aligned oblique dimensions:<br>- Select three or more vertexes<br>- The first two vertexes define the direction<br>- Click this tool @@ -710,19 +710,19 @@ CmdTechDrawExtensionCreateObliqueCoordDimension - + TechDraw TechDraw - - + + Create Oblique Coordinate Dimensions Create Oblique Coordinate Dimensions - - + + Create multiple evenly spaced oblique dimensions starting from the same baseline:<br>- Specify the cascade spacing (optional)<br>- Select three or more vertexes<br>- The selection order of the first two vertexes determines the position of the baseline<br>- The first two vertexes also define the direction<br>- Click this tool Create multiple evenly spaced oblique dimensions starting from the same baseline:<br>- Specify the cascade spacing (optional)<br>- Select three or more vertexes<br>- The selection order of the first two vertexes determines the position of the baseline<br>- The first two vertexes also define the direction<br>- Click this tool @@ -730,19 +730,19 @@ CmdTechDrawExtensionCreateVertChainDimension - + TechDraw TechDraw - - + + Create Vertical Chain Dimensions Create Vertical Chain Dimensions - - + + Create a sequence of aligned vertical dimensions:<br>- Select three or more vertexes<br>- Click this tool Create a sequence of aligned vertical dimensions:<br>- Select three or more vertexes<br>- Click this tool @@ -750,19 +750,19 @@ CmdTechDrawExtensionCreateVertChamferDimension - + TechDraw TechDraw - - + + Create Vertical Chamfer Dimension Create Vertical Chamfer Dimension - - + + Create a vertical size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool Create a vertical size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool @@ -770,19 +770,19 @@ CmdTechDrawExtensionCreateVertCoordDimension - + TechDraw TechDraw - - + + Create Vertical Coordinate Dimensions Create Vertical Coordinate Dimensions - - + + Create multiple evenly spaced vertical dimensions starting from the same baseline:<br>- Specify the cascade spacing (optional)<br>- Select three or more vertexes<br>- The selection order of the first two vertexes determines the position of the baseline<br>- Click this tool Create multiple evenly spaced vertical dimensions starting from the same baseline:<br>- Specify the cascade spacing (optional)<br>- Select three or more vertexes<br>- The selection order of the first two vertexes determines the position of the baseline<br>- Click this tool @@ -790,17 +790,17 @@ CmdTechDrawExtensionCustomizeFormat - + TechDraw TechDraw - + Customize Format Label Customize Format Label - + Select a dimension or a balloon<br> - click this tool<br> - edit the Format field, using the keyboard and/or the special buttons Select a dimension or a balloon<br> - click this tool<br> - edit the Format field, using the keyboard and/or the special buttons @@ -808,19 +808,19 @@ CmdTechDrawExtensionDecreaseDecimal - + TechDraw TechDraw - - + + Decrease Decimal Places Decrease Decimal Places - - + + Decrease the number of decimal places of the dimension text:<br>- Select one or more dimensions<br>- Click this tool Decrease the number of decimal places of the dimension text:<br>- Select one or more dimensions<br>- Click this tool @@ -950,19 +950,19 @@ CmdTechDrawExtensionIncreaseDecimal - + TechDraw TechDraw - - + + Increase Decimal Places Increase Decimal Places - - + + Increase the number of decimal places of the dimension text:<br>- Select one or more dimensions<br>- Click this tool Increase the number of decimal places of the dimension text:<br>- Select one or more dimensions<br>- Click this tool @@ -970,17 +970,17 @@ CmdTechDrawExtensionIncreaseDecreaseGroup - + TechDraw TechDraw - + Increase Decimal Places Increase Decimal Places - + Increase the number of decimal places of the dimension text:<br>- Select one or more dimensions<br>- Click this tool Increase the number of decimal places of the dimension text:<br>- Select one or more dimensions<br>- Click this tool @@ -988,19 +988,19 @@ CmdTechDrawExtensionInsertDiameter - + TechDraw TechDraw - - + + Insert '⌀' Prefix Insert '⌀' Prefix - - + + Insert a '⌀' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool Insert a '⌀' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool @@ -1008,17 +1008,17 @@ CmdTechDrawExtensionInsertPrefixGroup - + TechDraw TechDraw - + Insert '⌀' Prefix Insert '⌀' Prefix - + Insert a '⌀' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool Insert a '⌀' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool @@ -1026,19 +1026,19 @@ CmdTechDrawExtensionInsertSquare - + TechDraw TechDraw - - + + Insert '□' Prefix Insert '□' Prefix - - + + Insert a '□' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool Insert a '□' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool @@ -1122,17 +1122,17 @@ CmdTechDrawExtensionPosChainDimensionGroup - + TechDraw TechDraw - + Position Horizontal Chain Dimensions Position Horizontal Chain Dimensions - + Align horizontal dimensions to create a chain dimension:<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool Align horizontal dimensions to create a chain dimension:<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool @@ -1140,19 +1140,19 @@ CmdTechDrawExtensionPosHorizChainDimension - + TechDraw TechDraw - - + + Position Horizontal Chain Dimensions Position Horizontal Chain Dimensions - - + + Align horizontal dimensions to create a chain dimension:<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool Align horizontal dimensions to create a chain dimension:<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool @@ -1160,19 +1160,19 @@ CmdTechDrawExtensionPosObliqueChainDimension - + TechDraw TechDraw - - + + Position Oblique Chain Dimensions Position Oblique Chain Dimensions - - + + Align oblique dimensions to create a chain dimension:<br>- Select two or more parallel oblique dimensions<br>- The first dimension defines the position<br>- Click this tool Align oblique dimensions to create a chain dimension:<br>- Select two or more parallel oblique dimensions<br>- The first dimension defines the position<br>- Click this tool @@ -1180,19 +1180,19 @@ CmdTechDrawExtensionPosVertChainDimension - + TechDraw TechDraw - - + + Position Vertical Chain Dimensions Position Vertical Chain Dimensions - - + + Align vertical dimensions to create a chain dimension:<br>- Select two or more vertical dimensions<br>- The first dimension defines the position<br>- Click this tool Align vertical dimensions to create a chain dimension:<br>- Select two or more vertical dimensions<br>- The first dimension defines the position<br>- Click this tool @@ -1218,17 +1218,17 @@ CmdTechDrawExtensionRemovePrefixChar - + TechDraw TechDraw - + Remove Prefix Remove Prefix - + Remove prefix symbols at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool Remove prefix symbols at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool @@ -1500,8 +1500,8 @@ - Image (*.png *.jpg *.jpeg) - Gambar (*.png *.jpg *.jpeg) + Image files (*.jpg *.jpeg *.png *.bmp);;All files (*) + Image files (*.jpg *.jpeg *.png *.bmp);;All files (*) @@ -1601,8 +1601,8 @@ - Template (*.svg *.dxf) - Templat (*.svg *.dxf) + Template (*.svg) + Template (*.svg) @@ -1621,12 +1621,12 @@ CmdTechDrawProjectShape - + TechDraw TechDraw - + Project shape... Bentuk proyek... @@ -1753,17 +1753,17 @@ CmdTechDrawSpreadsheetView - + TechDraw TechDraw - + Insert Spreadsheet View Insert Spreadsheet View - + Insert View to a spreadsheet Insert View to a spreadsheet @@ -1892,13 +1892,13 @@ CmdTechDrawToggleFrame - + TechDraw TechDraw + - Turn View Frames On/Off Hidup/Matikan View Frames @@ -1999,23 +1999,23 @@ Create Symbol - + Create DraftView Create DraftView - + Create ArchView Create ArchView - + Create spreadsheet view Create spreadsheet view - - + + Save page to dxf Save page to dxf @@ -2061,7 +2061,7 @@ Create GeomHatch - + Create Image Create Image @@ -2086,7 +2086,7 @@ Create ActiveView - + Create CenterLine Create CenterLine @@ -2136,12 +2136,12 @@ Create SectionView - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2163,164 +2163,249 @@ + TechDraw Insert Prefix + TechDraw Insert Prefix + + + Insert Prefix Insert Prefix + TechDraw Remove Prefix + TechDraw Remove Prefix + + + Remove Prefix Remove Prefix - + Increase/Decrease Decimal Increase/Decrease Decimal - + Pos Horiz Chain Dim Pos Horiz Chain Dim - + Pos Vert Chain Dim Pos Vert Chain Dim - + Pos Oblique Chain Dim Pos Oblique Chain Dim - + Cascade Horiz Dim Cascade Horiz Dim - + Cascade Vert Dim Cascade Vert Dim - + Cascade Oblique Dim Cascade Oblique Dim - + Create Horiz Chain Dim Create Horiz Chain Dim - + Create Vert Chain Dim Create Vert Chain Dim - + Create Oblique Chain Dim Create Oblique Chain Dim - + Create Horiz Coord Dim Create Horiz Coord Dim - + Create Vert Coord Dim Create Vert Coord Dim - + Create Oblique Coord Dim Create Oblique Coord Dim - + Create Horiz Chamfer Dim Create Horiz Chamfer Dim - + Create Vert Chamfer Dim Create Vert Chamfer Dim - + Create Arc Length Dim Create Arc Length Dim + + + TechDraw Hole Circle + TechDraw Hole Circle + Bolt Circle Centerlines Bolt Circle Centerlines + + + TechDraw Circle Centerlines + TechDraw Circle Centerlines + Circle Centerlines Circle Centerlines + + + TechDraw Thread Hole Side + TechDraw Thread Hole Side + Cosmetic Thread Hole Side Cosmetic Thread Hole Side + + + TechDraw Thread Bolt Side + TechDraw Thread Bolt Side + Cosmetic Thread Bolt Side Cosmetic Thread Bolt Side + + + TechDraw Thread Hole Bottom + TechDraw Thread Hole Bottom + Cosmetic Thread Hole Bottom Cosmetic Thread Hole Bottom + + + TechDraw Thread Bolt Bottom + TechDraw Thread Bolt Bottom + Cosmetic Thread Bolt Bottom Cosmetic Thread Bolt Bottom + + + TechDraw Change Line Attributes + TechDraw Change Line Attributes + Change Line Attributes Change Line Attributes + + + TechDraw Cosmetic Intersection Vertex(es) + TechDraw Cosmetic Intersection Vertex(es) + Cosmetic Intersection Vertex(es) Cosmetic Intersection Vertex(es) + + + TechDraw Cosmetic Arc + TechDraw Cosmetic Arc + Cosmetic Arc Cosmetic Arc + + + TechDraw Cosmetic Circle + TechDraw Cosmetic Circle + Cosmetic Circle Cosmetic Circle + + + TechDraw Cosmetic Circle 3 Points + TechDraw Cosmetic Circle 3 Points + Cosmetic Circle 3 Points Cosmetic Circle 3 Points + + + TechDraw Cosmetic Line Parallel/Perpendicular + TechDraw Cosmetic Line Parallel/Perpendicular + Cosmetic Line Parallel/Perpendicular Cosmetic Line Parallel/Perpendicular + + + TechDraw Lock/Unlock View + TechDraw Lock/Unlock View + Lock/Unlock View Lock/Unlock View + + + TechDraw Extend/Shorten Line + TechDraw Extend/Shorten Line + Extend/Shorten Line Extend/Shorten Line + + + TechDraw calculate selected area + TechDraw calculate selected area + Calculate Face Area @@ -2603,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2627,9 +2702,19 @@ - - - + + + + + + + + + + + + + Wrong selection Pilihan salah @@ -2661,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2675,33 +2761,33 @@ - - - - + + + Incorrect selection Pilihan salah - + Select an object first Pilih objek terlebih dahulu - + Too many objects selected Terlalu banyak objek yang dipilih - + Create a page first. Buat halaman terlebih dahulu. + @@ -2710,7 +2796,6 @@ - No View of a Part in selection. No View of a Part in selection. @@ -2765,37 +2850,37 @@ Pilih setidaknya satu objek. - + Please select only 1 Arch Section. Please select only 1 Arch Section. - + No Arch Sections in selection. No Arch Sections in selection. - + Select exactly one Spreadsheet object. Pilih salah satu objek Spreadsheet. - + No Drawing View Tidak ada tampilan gambar - + Open Drawing View before attempting export to SVG. Buka Drawing View sebelum mencoba ekspor ke SVG. - + Can not export selection Tidak bisa mengekspor pilihan - + Page contains DrawViewArch which will not be exported. Continue? Page contains DrawViewArch which will not be exported. Continue? @@ -2822,8 +2907,6 @@ Selected edge is a BSpline. Radius will be approximate. Continue? - - @@ -2843,10 +2926,12 @@ + + + - Incorrect Selection Seleksi yang salah @@ -2974,6 +3059,9 @@ Select 2 point objects and 1 View. (2) + + + @@ -2999,30 +3087,30 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + Task In Progress Task In Progress + + + @@ -3048,26 +3136,23 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + Close active task dialog and try again. Close active task dialog and try again. @@ -3238,33 +3323,33 @@ Some Faces in selection are already hatched. Replace? - + No TechDraw Page Tidak ada teknik menggambar - + Need a TechDraw Page for this command Butuh Halaman TechDraw untuk perintah ini - + Select a Face first Pilih Wajah dulu - + No TechDraw object in selection Tidak ada objek TechDraw dalam seleksi - + Create a page to insert. Create a page to insert. - - + + No Faces to hatch in this selection No Faces to hatch in this selection @@ -3285,50 +3370,50 @@ No Drawing Pages in document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) All Files (*.*) - + Export Page As PDF Halaman Ekspor Sebagai PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Ekspor sebagai SVG - - + + Are you sure you want to continue? Apakah yakin ingin melanjutkan? - + Show drawing Tampilkan gambar - + Toggle KeepUpdated Toggle KeepUpdated @@ -3353,9 +3438,9 @@ Rich text creator + - Rich text editor Rich text editor @@ -3395,12 +3480,12 @@ Can not find a 3D viewer - + Create Center Line Create Center Line - + Edit Center Line Edit Center Line @@ -3420,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Operation Failed @@ -3473,71 +3558,137 @@ Edit Detail View - - + + Edit %1 Edit %1 - + + TechDraw Increase/Decrease Decimal + TechDraw Increase/Decrease Decimal + + + + TechDraw PosHorizChainDimension TechDraw PosHorizChainDimension - - + + No horizontal dimensions selected No horizontal dimensions selected - + + TechDraw PosVertChainDimension TechDraw PosVertChainDimension - - + + No vertical dimensions selected No vertical dimensions selected - + + TechDraw PosObliqueChainDimension TechDraw PosObliqueChainDimension - - + + No oblique dimensions selected No oblique dimensions selected - + + TechDraw CascadeHorizDimension TechDraw CascadeHorizDimension - + + TechDraw CascadeVertDimension TechDraw CascadeVertDimension - + + TechDraw CascadeObliqueDimension TechDraw CascadeObliqueDimension + + + TechDraw Create Horizontal Chain Dimension + TechDraw Create Horizontal Chain Dimension + + + + TechDraw Create Vertical Chain Dimension + TechDraw Create Vertical Chain Dimension + + + + TechDraw Create Oblique Chain Dimension + TechDraw Create Oblique Chain Dimension + + + + TechDraw Create Horizontal Coord Dimension + TechDraw Create Horizontal Coord Dimension + + + + TechDraw Create Vertical Coord Dimension + TechDraw Create Vertical Coord Dimension + + + + TechDraw Create Oblique Coord Dimension + TechDraw Create Oblique Coord Dimension + + + + TechDraw Create Horizontal Chamfer Dimension + TechDraw Create Horizontal Chamfer Dimension + + + + TechDraw Create Vertical Chamfer Dimension + TechDraw Create Vertical Chamfer Dimension + + + + TechDraw Create Arc Length Dimension + TechDraw Create Arc Length Dimension + + + + TechDraw Customize Format + TechDraw Customize Format + + + + No subelements selected + No subelements selected + - + - + Selection is empty Selection is empty - - + + No object selected No object selected @@ -3562,12 +3713,12 @@ No faces in selection. - + TechDraw Thread Hole Side TechDraw Thread Hole Side - + Please select two straight lines Please select two straight lines @@ -3657,6 +3808,17 @@ Can not make dimension from selection Can not make dimension from selection + + + + + + + + + TechDraw + TechDraw + Std_Delete @@ -3668,19 +3830,22 @@ it has a weld symbol that would become broken. it has a weld symbol that would become broken. - - - + + You cannot delete this view because it has one or more dependent views that would become broken. + View ini tidak dapat dihapus karena beberapa view yang terhubung akan rusak. + + + + + + - - - - - + + Object dependencies Objek dependensi @@ -3690,25 +3855,22 @@ it has a weld symbol that would become broken. You cannot delete the anchor view of a projection group. - You cannot delete this view because it has a section view that would become broken. You cannot delete this view because it has a section view that would become broken. - You cannot delete this view because it has a detail view that would become broken. You cannot delete this view because it has a detail view that would become broken. - You cannot delete this view because it has a leader line that would become broken. You cannot delete this view because it has a leader line that would become broken. - + The page is not empty, therefore the following referencing objects might be lost: The page is not empty, therefore the @@ -3799,14 +3961,6 @@ it has a tile weld that would become broken. Paint background yes/no - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3833,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -4157,6 +4311,16 @@ Only change unless you know what you are doing! Flat Datar + + + Use New Face Finder Algorithm + Use New Face Finder Algorithm + + + + The number of times FreeCAD should try to remove overlapping edges returned by the Hidden Line Removal algorithm. A value of 0 indicates no scrubbing, 1 indicates a single pass and 2 indicates a second pass should be performed. Values above 2 are generally not productive. Each pass adds to the time required to produce the drawing. + The number of times FreeCAD should try to remove overlapping edges returned by the Hidden Line Removal algorithm. A value of 0 indicates no scrubbing, 1 indicates a single pass and 2 indicates a second pass should be performed. Values above 2 are generally not productive. Each pass adds to the time required to produce the drawing. + Max SVG Hatch Tiles @@ -4198,21 +4362,11 @@ when hatching a face with a PAT pattern If checked, FreeCAD will use the new face finder algorithm. If not checked, FreeCAD will use the original face finder. If checked, FreeCAD will use the new face finder algorithm. If not checked, FreeCAD will use the original face finder. - - - Use New Face Finder - Use New Face Finder - Overlap Edges Scrub Passes Overlap Edges Scrub Passes - - - <html><head/><body><p>The number of times FreeCAD should try to remove overlapping edges returned by the Hidden Line Removal algorithm. A value of 0 indicates no scrubbing, 1 indicates a single pass and 2 indicates a second pass should be performed. Values above 2 are generally not productive. Each pass adds to the time required to produce the drawing.</p></body></html> - <html><head/><body><p>The number of times FreeCAD should try to remove overlapping edges returned by the Hidden Line Removal algorithm. A value of 0 indicates no scrubbing, 1 indicates a single pass and 2 indicates a second pass should be performed. Values above 2 are generally not productive. Each pass adds to the time required to produce the drawing.</p></body></html> - <html><head/><body><p><span style=" font-weight:600;">Note:</span> Items in <span style=" font-style:italic;">italics</span> are default values for new objects. They have no effect on existing objects.</p></body></html> @@ -4624,11 +4778,6 @@ when hatching a face with a PAT pattern Monochrome text color Monochrome text color - - - <html><head/><body><p>Check this to use light text and lines on dark backgrounds. Set Page Color to a dark color. Transparent or light color faces are recommended with this option.</p></body></html> - <html><head/><body><p>Check this to use light text and lines on dark backgrounds. Set Page Color to a dark color. Transparent or light color faces are recommended with this option.</p></body></html> - Light on dark @@ -4679,6 +4828,11 @@ when hatching a face with a PAT pattern Grid Color Grid Color + + + Check this to use light text and lines on dark backgrounds. Set Page Color to a dark color. Transparent or light color faces are recommended with this option. + Check this to use light text and lines on dark backgrounds. Set Page Color to a dark color. Transparent or light color faces are recommended with this option. + Object faces will be transparent @@ -4696,16 +4850,20 @@ when hatching a face with a PAT pattern - <html><head/><body><p>If checked FreeCAD will use a single colour for all text and lines. If unchecked FreeCAD will attempt to use lighter versions of preferred colours.</p><p><br/></p><p><br/></p></body></html> - <html><head/><body><p>If checked FreeCAD will use a single colour for all text and lines. If unchecked FreeCAD will attempt to use lighter versions of preferred colours.</p><p><br/></p><p><br/></p></body></html> + If checked FreeCAD will use a single color for all text and lines. + + + If checked FreeCAD will use a single color for all text and lines. + + - + Monochrome Monochrome - + <html><head/><body><p><span style=" font-weight:600;">Note:</span> Items in <span style=" font-style:italic;">italics</span> are default values for new objects. They have no effect on existing objects.</p></body></html> <html><head/><body><p><span style=" font-weight:600;">Note:</span> Items in <span style=" font-style:italic;">italics</span> are default values for new objects. They have no effect on existing objects.</p></body></html> @@ -4759,30 +4917,15 @@ when hatching a face with a PAT pattern Use Global Decimals - - <html><head/><body><p>Controls the size of gap between dimension point and start of extension line for ISO dimensions. Value * linewidth is the gap. Normally, no gap is used. If using a gap, the recommended value 8.</p></body></html> - <html><head/><body><p>Controls the size of gap between dimension point and start of extension line for ISO dimensions. Value * linewidth is the gap. Normally, no gap is used. If using a gap, the recommended value 8.</p></body></html> - - - - <html><head/><body><p>Controls the size of gap between dimension point and start of extension line for ASME dimensions. Value * linewidth is the gap. Normally, no gap is used. If a gap is used, the recommended value is 6.</p></body></html> - <html><head/><body><p>Controls the size of gap between dimension point and start of extension line for ASME dimensions. Value * linewidth is the gap. Normally, no gap is used. If a gap is used, the recommended value is 6.</p></body></html> - - - + Controls the size of spacing between dimension line and dimension text for ISO dimensions. Controls the size of spacing between dimension line and dimension text for ISO dimensions. - + Line Spacing - ISO Line Spacing - ISO - - - <html><head/><body><p>Controls the size of spacing between dimension line and dimension text. Value * linewidth is the line spacing.</p></body></html> - <html><head/><body><p>Controls the size of spacing between dimension line and dimension text. Value * linewidth is the line spacing.</p></body></html> - Append unit to dimension values @@ -4818,11 +4961,6 @@ when hatching a face with a PAT pattern Extension Gap Factor - ISO Extension Gap Factor - ISO - - - <html><head/><body><p>Leave blank for automatic dimension format. Use %f, %g or %w specifiers to override.</p></body></html> - <html><head/><body><p>Leave blank for automatic dimension format. Use %f, %g or %w specifiers to override.</p></body></html> - Font Size @@ -4875,6 +5013,11 @@ Multiplier of 'Font Size' Arrowhead size Arrowhead size + + + Leave blank for automatic dimension format. Use %f, %g or %w specifiers to override. + Leave blank for automatic dimension format. Use %f, %g or %w specifiers to override. + Controls the size of gap between dimension point and start of extension line for ASME dimensions. @@ -4886,7 +5029,30 @@ Multiplier of 'Font Size' Extension Gap Factor - ASME - + + Controls the size of gap between dimension point and start of extension line for ISO dimensions. +Value * linewidth is the gap. +Normally, no gap is used. If using a gap, the recommended value 8. + Controls the size of gap between dimension point and start of extension line for ISO dimensions. +Value * linewidth is the gap. +Normally, no gap is used. If using a gap, the recommended value 8. + + + + Controls the size of gap between dimension point and start of extension line for ASME dimensions. Value * linewidth is the gap. +Normally, no gap is used. If a gap is used, the recommended value is 6. + Controls the size of gap between dimension point and start of extension line for ASME dimensions. Value * linewidth is the gap. +Normally, no gap is used. If a gap is used, the recommended value is 6. + + + + Controls the size of spacing between dimension line and dimension text. + Value * linewidth is the line spacing. + Controls the size of spacing between dimension line and dimension text. + Value * linewidth is the line spacing. + + + <html><head/><body><p><span style=" font-weight:600;">Note:</span> Items in <span style=" font-style:italic;">italics</span> are default values for new objects. They have no effect on existing objects.</p></body></html> <html><head/><body><p><span style=" font-weight:600;">Note:</span> Items in <span style=" font-style:italic;">italics</span> are default values for new objects. They have no effect on existing objects.</p></body></html> @@ -5363,79 +5529,79 @@ Fast, but result is a collection of short straight lines. TechDrawGui::MDIViewPage - + Toggle &Keep Updated Toggle &Keep Updated - + Toggle &Frames Toggle &Frames - + &Export SVG & Ekspor SVG - + Export DXF Export DXF - + Export PDF Ekspor PDF - + Print All Pages Print All Pages - + Different orientation Orientasi berbeda - + The printer uses a different orientation than the drawing. Do you want to continue? Printer menggunakan orientasi yang berbeda dari pada gambar. Apakah Anda ingin melanjutkan? - + Different paper size Ukuran kertas berbeda - + The printer uses a different paper size than the drawing. Do you want to continue? Printer menggunakan ukuran kertas yang berbeda dari pada gambar. Apakah Anda ingin melanjutkan? - + Opening file failed Membuka file gagal - + Can not open file %1 for writing. Can not open file %1 for writing. - + Save DXF file Save DXF file - + DXF (*.dxf) DXF (*.dxf) - + Selected: Terpilih: @@ -5915,7 +6081,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -6031,312 +6202,312 @@ Do you want to continue? TechDrawGui::TaskCustomizeFormat - + Format Symbols Format Symbols - + GD&T GD&T - + Straightness Straightness - + Flatness Flatness - + Circularity Circularity - + Cylindricity Cylindricity - + Parallelism Parallelism - + Perpendicularity Perpendicularity - + Angularity Angularity - + Profile of a line Profile of a line - + Profile of a surface Profile of a surface - + Circular runout Circular runout - + Total runout Total runout - + Position Position - + Concentricity Concentricity - + Symmetry Simetri - + Modifiers Modifiers - + derived geometry element derived geometry element - + Minimax (Tschebyschew) Minimax (Tschebyschew) - + Hull condition Hull condition - + Free state Free state - + Least square geometry element Least square geometry element - + Least material condition (LMC) Least material condition (LMC) - + Maximum material condition (MMC) Maximum material condition (MMC) - + least inscribed geometry element least inscribed geometry element - + Projected tolerance zone Projected tolerance zone - + Reciprocity condition Reciprocity condition - + Regardless of feature size (RFS) Regardless of feature size (RFS) - + Tangent plane Tangent plane - + Unequal Bilateral Unequal Bilateral - + most inscribed geometry element most inscribed geometry element - + Radius & Diameter Radius & Diameter - + Radius Jari-jari - + Diameter Diameter - + Radius of sphere Radius of sphere - + Diameter of sphere Diameter of sphere - + Square Kotak - + Angles Angles - + Degree Gelar - + (Arc) Minute (Arc) Minute - + (Arc) Second (Arc) Second - + (Arc) Tertie (Arc) Tertie - + Other Lain - + Taper Taper - + Slope Slope - + Counterbore Counterbore - + Countersink Countersink - + Plus - Minus Plus - Minus - + Centerline Centerline - + Left/right arrow Left/right arrow - + Downward arrow Downward arrow - + Multiplication sign Multiplication sign - + Greek Letters Greek Letters - + Capital delta Capital delta - + Capital sigma Capital sigma - + Capital omega Capital omega - + Small mu Small mu - + Small sigma Small sigma - + Small phi Small phi - + Small omega Small omega - + Format: Format: - + Preview: Pratinjau: @@ -7815,59 +7986,59 @@ using the given X/Y Spacing - <html><head/><body><p>Material removal prohibited, whole part</p></body></html> - <html><head/><body><p>Material removal prohibited, whole part</p></body></html> + Material removal prohibited, whole part + Material removal prohibited, whole part - <html><head/><body><p>Any method allowed, whole part</p></body></html> - <html><head/><body><p>Any method allowed, whole part</p></body></html> + Any method allowed, whole part + Any method allowed, whole part - <html><head/><body><p>Material removal required, whole part</p></body></html> - <html><head/><body><p>Material removal required, whole part</p></body></html> + Material removal required, whole part + Material removal required, whole part - <html><head/><body><p>Material removal required</p></body></html> - <html><head/><body><p>Material removal required</p></body></html> + Material removal required + Material removal required - <html><head/><body><p>Material removal prohibited</p></body></html> - <html><head/><body><p>Material removal prohibited</p></body></html> + Material removal prohibited + Material removal prohibited - <html><head/><body><p>Any method allowed</p></body></html> - <html><head/><body><p>Any method allowed</p></body></html> + Any method allowed + Any method allowed + + + + Rotation angle + Rotation angle + + + + Use ISO standard + Use ISO standard + + + + Use ASME standard + Use ASME standard Symbol angle: Symbol angle: - - - <html><head/><body><p>Rotation angle</p></body></html> - <html><head/><body><p>Rotation angle</p></body></html> - - - - <html><head/><body><p>Use ISO standard</p></body></html> - <html><head/><body><p>Use ISO standard</p></body></html> - ISO ISO - - - <html><head/><body><p>Use ASME standard</p></body></html> - <html><head/><body><p>Use ASME standard</p></body></html> - ASME @@ -8030,12 +8201,12 @@ using the given X/Y Spacing TechDraw_ExtensionremovePrefixChar - + Remove Prefix Remove Prefix - + Remove prefix symbols at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool Remove prefix symbols at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool @@ -8134,7 +8305,7 @@ using the given X/Y Spacing - + Extensions: Centerlines/Threading Extensions: Centerlines/Threading @@ -8146,65 +8317,90 @@ using the given X/Y Spacing Annotations - Anotasi + anotasi + Stacking + Stacking + + + Add Lines Add Lines - + Add Vertices Add Vertices - + TechDraw TechDraw - + + TechDraw Attributes + TechDraw Attributes + + + + TechDraw Centerlines + TechDraw Centerlines + + + + TechDraw Extend Dimensions + TechDraw Extend Dimensions + + + TechDraw Pages TechDraw Pages - + + TechDraw Stacking + TechDraw Stacking + + + TechDraw Views TechDraw Views - + TechDraw Clips TechDraw Clips - + TechDraw Dimensions TechDraw Dimensions - + TechDraw Tool Attributes TechDraw Tool Attributes - + TechDraw File Access TechDraw File Access - + TechDraw Decoration TechDraw Decoration - + TechDraw Annotation TechDraw Annotation - + Views Views @@ -8222,33 +8418,33 @@ using the given X/Y Spacing Move a View to a new Page - + Move View to a different Page Move View to a different Page - + Select View to move from list. Select View to move from list. - + Select View Select View - + Select From Page. Select From Page. - - + + Select Page Select Page - + Select To Page. Select To Page. @@ -8266,38 +8462,38 @@ using the given X/Y Spacing Share a View on a second Page - + Share View with another Page Share View with another Page - + View to share View to share - + Select View to share from list. Select View to share from list. - + Select View Select View - + Select From Page. Select From Page. - - + + Select Page Select Page - + Select To Page. Select To Page. @@ -8436,12 +8632,12 @@ using the given X/Y Spacing Add a hole or shaft fit to a dimension<br> - select one length dimension or diameter dimension<br> - - click the tool button, a panel openes<br> + - click the tool button, a panel opens<br> - select shaft fit / hole fit<br> - select the desired ISO 286 fit field using the combo box Add a hole or shaft fit to a dimension<br> - select one length dimension or diameter dimension<br> - - click the tool button, a panel openes<br> + - click the tool button, a panel opens<br> - select shaft fit / hole fit<br> - select the desired ISO 286 fit field using the combo box @@ -8466,4 +8662,115 @@ using the given X/Y Spacing Hole / Shaft Fit ISO 286 + + ArrowPropEnum + + + Filled Arrow + Filled Arrow + + + + Open Arrow + Open Arrow + + + + Tick + Centang + + + + Dot + Dot + + + + Open Circle + Open Circle + + + + Fork + Fork + + + + Filled Triangle + Filled Triangle + + + + None + Tidak ada + + + + DrawProjGroupItem + + + Front + Depan + + + + Left + Kiri + + + + Right + Kanan + + + + Rear + Belakang + + + + Top + Puncak + + + + Bottom + Bawah + + + + FrontTopLeft + FrontTopLeft + + + + FrontTopRight + FrontTopRight + + + + FrontBottomLeft + FrontBottomLeft + + + + FrontBottomRight + FrontBottomRight + + + + TaskBalloon + + + You cannot delete this balloon now because +there is an open task dialog. + You cannot delete this balloon now because +there is an open task dialog. + + + + Can Not Delete + Tidak Bisa Menghapus + + diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts index 31e25f8c0a..d00c79c877 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts @@ -2016,8 +2016,8 @@ Crea vista foglio di calcolo - + Save page to dxf Salva pagina su dxf @@ -2138,12 +2138,12 @@ Crea vista di sezione - + Create ComplexSection Crea Sezione Complessa - + Edit SectionView Modifica Vista Sezione @@ -2690,16 +2690,6 @@ QObject - - - - - - - - - - @@ -2717,6 +2707,16 @@ + + + + + + + + + + Wrong selection Selezione errata @@ -2748,9 +2748,10 @@ Nessun oggetto di profilo trovato nella selezione - - - + + + + @@ -2762,33 +2763,33 @@ - - - - + + + Incorrect selection Selezione non corretta - + Select an object first Prima selezionare un oggetto - + Too many objects selected Troppi oggetti selezionati - + Create a page first. Prima creare una pagina. + @@ -2797,7 +2798,6 @@ - No View of a Part in selection. Nessuna vista di una Parte nella selezione. @@ -2909,8 +2909,6 @@ Il bordo selezionato è una BSpline. Il raggio sarà approssimativo. Continuare? - - @@ -2930,10 +2928,12 @@ + + + - Incorrect Selection Selezione non corretta @@ -3061,6 +3061,9 @@ Selezionare 2 oggetti punti e 1 vista. (2) + + + @@ -3086,11 +3089,6 @@ - - - - - @@ -3098,18 +3096,23 @@ - - - + + + + + Task In Progress Attività in corso + + + @@ -3135,11 +3138,6 @@ - - - - - @@ -3147,14 +3145,16 @@ - - - + + + + + Close active task dialog and try again. Chiudere la finestra di dialogo attiva e riprovare. @@ -3372,50 +3372,50 @@ Nel documento non c'è nessuna pagina di disegno. - + PDF (*.pdf) PDF (*. pdf) - - + + All Files (*.*) Tutti i File (*.*) - + Export Page As PDF Esporta pagina in PDF - + Document Name: Nome del documento: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Esporta pagina in SVG - - + + Are you sure you want to continue? Sei sicuro di voler continuare? - + Show drawing Mostra disegno - + Toggle KeepUpdated Attiva o disattiva aggiornamento automatico @@ -3440,9 +3440,9 @@ Creatore di testi avanzato RTF + - Rich text editor Editor di testi avanzato @@ -3507,24 +3507,24 @@ Nuova Sezione Complessa - + Edit Complex Section Modifica Sezione Complessa - + Current View Direction Direzione Vista Corrente - + The view direction in BaseView coordinates La direzione della vista nelle coordinate BaseView - + Operation Failed Operazione non riuscita @@ -3560,8 +3560,8 @@ Modifica la vista di dettaglio - + Edit %1 Edita %1 @@ -3837,17 +3837,17 @@ it has a weld symbol that would become broken. Non puoi eliminare questa vista perché ha una o più viste dipendenti che diventerebbero orfani. - + + + + - - - - - + + Object dependencies Dipendenze dell'oggetto @@ -3872,7 +3872,7 @@ it has a weld symbol that would become broken. Non è possibile eliminare questa vista perché ha una linea guida che si romperebbe. - + The page is not empty, therefore the following referencing objects might be lost: La pagina non è vuota, quindi i seguenti @@ -3963,14 +3963,6 @@ it has a tile weld that would become broken. Colora lo sfondo, sì o no - - TaskComplexSection - - - No direction set - Nessuna direzione impostata - - TaskMoveView @@ -3997,7 +3989,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending aggiornamenti in sospeso @@ -4008,7 +4000,7 @@ it has a tile weld that would become broken. No direction set - Nessuna direzione impostata + No direction set @@ -5568,49 +5560,49 @@ Fast, but result is a collection of short straight lines. Stampa tutte le pagine - + Different orientation Orientamento diverso - + The printer uses a different orientation than the drawing. Do you want to continue? La stampante utilizza un orientamento diverso rispetto al disegno. Si desidera continuare? - + Different paper size Formato carta diverso - + The printer uses a different paper size than the drawing. Do you want to continue? La stampante utilizza un formato di carta diverso rispetto al disegno. Si desidera continuare? - + Opening file failed Apertura del file non riuscita - + Can not open file %1 for writing. Impossibile aprire il file %1 per la scrittura. - + Save DXF file Salva file DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: Selezionato: @@ -6090,7 +6082,12 @@ Do you want to continue? Aggiorna Ora - + + No direction set + Nessuna direzione impostata + + + Can not continue. Object * %1 or %2 not found. Impossibile continuare. Oggetto * %1 o %2 non trovato. @@ -8764,14 +8761,14 @@ usando la spaziatura X/Y specificata TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Non puoi eliminare questo pallino ora perché c'è una finestra di dialogo per le attività aperte. - + Can Not Delete Impossibile Eliminare diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ja.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ja.ts index 2c66b66b0f..f94d5edf5b 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ja.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ja.ts @@ -2014,8 +2014,8 @@ スプレッドシートビューを作成 - + Save page to dxf ページをDXFに保存 @@ -2136,12 +2136,12 @@ 断面ビューを作成 - + Create ComplexSection 複雑な断面を作成 - + Edit SectionView 断面ビューを編集 @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection 誤った選択 @@ -2746,9 +2746,10 @@ プロファイルオブジェクトが選択されていません。 - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection 誤った選択です。 - + Select an object first 最初にオブジェクトを選択してください - + Too many objects selected 選択されているオブジェクトが多すぎます。 - + Create a page first. 最初にページを作成してください + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. パートのビューが選択されていません。 @@ -2907,8 +2907,6 @@ 選択されたエッジはBスプラインです。半径は概算です。続けますか? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection 誤った選択です。 @@ -3059,6 +3059,9 @@ 2つの点オブジェクトと1つのビューを選択 (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress 実行中のタスク + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. アクテイブなタスクタイアログを閉じて再度実行してください。 @@ -3370,50 +3370,50 @@ ドキュメントに図面ページがありません。 - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) すべてのファイル (*.*) - + Export Page As PDF ページをPDFとしてエクスポート - + Document Name: ドキュメント名: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG ページをSVGとしてエクスポート - - + + Are you sure you want to continue? 本当に続行しますか? - + Show drawing 図面を表示します - + Toggle KeepUpdated 自動更新を切り替え @@ -3438,9 +3438,9 @@ リッチテキストクリエイター + - Rich text editor リッチテキストエディタ @@ -3505,24 +3505,24 @@ 新しい複雑な断面 - + Edit Complex Section 複雑な断面を編集 - + Current View Direction 現在のビュー方向 - + The view direction in BaseView coordinates BaseView 座標内のビュー方向 - + Operation Failed 操作に失敗しました @@ -3558,8 +3558,8 @@ 詳細ビューを編集 - + Edit %1 %1を編集 @@ -3834,17 +3834,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies オブジェクトの依存関係 @@ -3869,7 +3869,7 @@ it has a weld symbol that would become broken. 壊れてしまう引き出し線があるため、このビューを削除することはできません。 - + The page is not empty, therefore the following referencing objects might be lost: ページが空ではないため、以下の参照オブジェクトが失われる可能性があります: @@ -3956,14 +3956,6 @@ it has a tile weld that would become broken. 背景を塗りつぶす はい/いいえ - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3990,7 +3982,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending アップデートを保留中 @@ -5558,50 +5550,50 @@ Fast, but result is a collection of short straight lines. すべてのページを印刷 - + Different orientation 異なる向き - + The printer uses a different orientation than the drawing. Do you want to continue? プリンターでは、図面と異なる印刷方向を使用します。続行しますか? - + Different paper size 別の用紙サイズ - + The printer uses a different paper size than the drawing. Do you want to continue? プリンターでは、図面とは異なる用紙サイズを使用します。 続行しますか? - + Opening file failed ファイルを開けませんでした。 - + Can not open file %1 for writing. 書き込み用ファイル %1 を開くことができません。 - + Save DXF file DXF ファイルを保存 - + DXF (*.dxf) DXF (*.dxf) - + Selected: 選択: @@ -6080,7 +6072,12 @@ Do you want to continue? 今すぐ更新 - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8751,13 +8748,13 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. タスクダイアログが開いているため、今はこのバルーンを削除できません。 - + Can Not Delete 削除できません。 diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ka.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ka.ts index 8732bb48e5..da2fa2a780 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ka.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ka.ts @@ -38,7 +38,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -51,7 +51,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -64,7 +64,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -77,7 +77,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -90,7 +90,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -103,7 +103,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -116,7 +116,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -129,7 +129,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -147,7 +147,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -160,7 +160,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -178,7 +178,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -191,7 +191,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -204,7 +204,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -217,7 +217,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -235,7 +235,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -248,7 +248,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -261,7 +261,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -279,7 +279,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -297,7 +297,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -310,7 +310,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -323,7 +323,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -336,7 +336,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -390,7 +390,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -408,7 +408,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -426,7 +426,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -444,7 +444,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -464,7 +464,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -484,7 +484,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -504,7 +504,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -514,7 +514,7 @@ Create a horizontal size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool - Create a horizontal size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool + შექმენით ჰორიზონტალური ზომისა და კუთხის განზომილებები კუთხის ნაზოლისთვის:<br>- აირჩიეთ ორი წვერო<br>- ამ ხელსაწყოზე დააწკაპუნეთ @@ -522,7 +522,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -540,7 +540,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -560,7 +560,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -578,7 +578,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -588,7 +588,7 @@ Create a sequence of aligned horizontal dimensions:<br>- Select three or more vertexes<br>- Click this tool - Create a sequence of aligned horizontal dimensions:<br>- Select three or more vertexes<br>- Click this tool + შექმენით ჰორიზონტალური განზომილებების გასწორებული მიმდევრობა:<br>- აირჩიეთ სამი ან მეტი წვერო<br>- დააწკაპუნეთ ამ ხელსაწყოზე @@ -596,7 +596,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -614,7 +614,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -626,7 +626,7 @@ Create a sequence of aligned horizontal dimensions:<br>- Select three or more vertexes<br>- Click this tool - Create a sequence of aligned horizontal dimensions:<br>- Select three or more vertexes<br>- Click this tool + შექმენით ჰორიზონტალური განზომილებების გასწორებული მიმდევრობა:<br>- აირჩიეთ სამი ან მეტი წვერო<br>- დააწკაპუნეთ ამ ხელსაწყოზე @@ -634,7 +634,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -646,7 +646,7 @@ Create a horizontal size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool - Create a horizontal size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool + შექმენით ჰორიზონტალური ზომისა და კუთხის განზომილებები კუთხის ნაზოლისთვის:<br>- აირჩიეთ ორი წვერო<br>- ამ ხელსაწყოზე დააწკაპუნეთ @@ -654,7 +654,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -674,7 +674,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -692,7 +692,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -712,7 +712,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -732,7 +732,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -744,7 +744,7 @@ Create a sequence of aligned vertical dimensions:<br>- Select three or more vertexes<br>- Click this tool - Create a sequence of aligned vertical dimensions:<br>- Select three or more vertexes<br>- Click this tool + შექმენით ვერტიკალური განზომილებების გასწორებული მიმდევრობა:<br>- აირჩიეთ სამი ან მეტი წვერო<br>- დააწკაპუნეთ ამ ხელსაწყოზე @@ -752,7 +752,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -764,7 +764,7 @@ Create a vertical size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool - Create a vertical size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool + შექმენით შვეული ზომისა და კუთხის განზომილებები კუთხის ნაზოლისთვის:<br>- აირჩიეთ ორი წვერო<br>- ამ ხელსაწყოზე დააწკაპუნეთ @@ -772,7 +772,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -792,7 +792,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -810,7 +810,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -830,7 +830,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -848,7 +848,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -868,19 +868,19 @@ TechDraw - TechDraw + ტექნიკური ნახაზი Add Cosmetic Circle - კოსმეტიკური წრეწირის დამატება + დამხმარე წრეწირის დამატება Add a cosmetic circle based on two vertexes:<br>- Specify the line attributes (optional)<br>- Select vertex 1 (center point)<br>- Select vertex 2 (radius)<br>- Click this tool - Add a cosmetic circle based on two vertexes:<br>- Specify the line attributes (optional)<br>- Select vertex 1 (center point)<br>- Select vertex 2 (radius)<br>- Click this tool + დაამატეთ ორ წვეროზე დაფუძნებული დამხმარე წრეწირი:<br>- მიუთითეთ ხაზის ატრიბუტები (არასავალდებულო)<br>- აირჩიეთ წვერო 1 (ცენტრის წერტილი)<br>-აირჩიეთ წვერო 2 (რადიუსი)<br>- დააწკაპუნეთ ამ ხელსაწყოზე @@ -888,7 +888,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -899,12 +899,12 @@ Add a cosmetic circle based on three vertexes:<br>- Specify the line attributes (optional)<br>- Select 3 vertexes<br>- Click this tool - Add a cosmetic circle based on three vertexes:<br>- Specify the line attributes (optional)<br>- Select 3 vertexes<br>- Click this tool + დაამატეთ სამ წვეროზე დაფუძნებული დამხმარე წრეწირი<br>- მიუთითეთ ხაზის ატრიბუტები (არასავალდებულო)<br>- აირჩიეთ 3 წვერო<br>- დააწკაპუნეთ ამ ხელსაწყოს Add a cosmetic circle based on three vertexes:<br>- Specify the line attributes (optional)<br>- Select three vertexes<br>- Click this tool - Add a cosmetic circle based on three vertexes:<br>- Specify the line attributes (optional)<br>- Select three vertexes<br>- Click this tool + დაამატეთ 3 წვეროზე დაფუძნებული დამხმარე წრეწირი<br>- მიუთითეთ ხაზის ატრიბუტები (არასავალდებულო)<br>- აირჩიეთ 3 წვერო<br>- დააწკაპუნეთ ამ ხელსაწყოს @@ -912,7 +912,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -932,7 +932,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -952,7 +952,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -972,7 +972,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -990,7 +990,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1002,7 +1002,7 @@ Insert a '⌀' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool - Insert a '⌀' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool + განზომილების ტექსტის დასაწყისში '⌀' სიმბოლოს დასმა.<br>- აირჩიეთ ერთი ან მეტი განზომილება<br>- დააწკაპუნეთ ამ ხელსაწყოზე @@ -1010,7 +1010,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1020,7 +1020,7 @@ Insert a '⌀' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool - Insert a '⌀' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool + განზომილების ტექსტის დასაწყისში '⌀' სიმბოლოს დასმა.<br>- აირჩიეთ ერთი ან მეტი განზომილება<br>- დააწკაპუნეთ ამ ხელსაწყოზე @@ -1028,7 +1028,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1040,7 +1040,7 @@ Insert a '□' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool - Insert a '□' symbol at the beginning of the dimension text:<br>- Select one or more dimensions<br>- Click this tool + განზომილების ტექსტის დასაწყისში '□' სიმბოლოს დასმა.<br>- აირჩიეთ ერთი ან მეტი განზომილება<br>- დააწკაპუნეთ ამ ხელსაწყოზე @@ -1048,7 +1048,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1066,7 +1066,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1086,7 +1086,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1106,7 +1106,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1124,7 +1124,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1142,7 +1142,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1162,7 +1162,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1182,7 +1182,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1202,7 +1202,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1212,7 +1212,7 @@ Orthogonally align a section view with its source view:<br>- Select a single section view<br>- Click this tool - Orthogonally align a section view with its source view:<br>- Select a single section view<br>- Click this tool + კვეთის ხედის ორთოგონალური სწორება მის საწყის ხედთან:<br>- აირჩიეთ ერთი კვეთი ხედი<br> - დააწკაპუნეთ ამ ხელაწყოზე @@ -1220,7 +1220,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1238,7 +1238,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1256,7 +1256,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1276,7 +1276,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1296,7 +1296,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1316,7 +1316,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1336,7 +1336,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1356,12 +1356,12 @@ TechDraw - TechDraw + ტექნიკური ნახაზი Add Cosmetic Thread Hole Side View - კოსმეტიკური კუთხვილის ხვრელის გვერდხედის დამატება + დამატებთი კუთხვილის ხვრელის გვერდხედის დამატება @@ -1374,7 +1374,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1392,7 +1392,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1415,7 +1415,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1428,7 +1428,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1441,7 +1441,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1454,7 +1454,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1467,7 +1467,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1480,7 +1480,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1509,7 +1509,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1522,7 +1522,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1535,7 +1535,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1548,7 +1548,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1561,7 +1561,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1574,7 +1574,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1587,7 +1587,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1610,7 +1610,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1623,12 +1623,12 @@ TechDraw - TechDraw + ტექნიკური ნახაზი Project shape... - ფიგურის პროექცია... + პროექტის მოხაზულობა... @@ -1636,7 +1636,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1654,12 +1654,12 @@ TechDraw - TechDraw + ტექნიკური ნახაზი Add Quadrant Vertices - კუთხეევში წვეროების დამატება + კუთხეებში წვეროების დამატება @@ -1667,7 +1667,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1680,7 +1680,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1693,7 +1693,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1706,7 +1706,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1716,7 +1716,7 @@ Section View - Section View + სექციის ხედი @@ -1729,7 +1729,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1742,7 +1742,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1755,7 +1755,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1773,7 +1773,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1786,7 +1786,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1799,7 +1799,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1832,7 +1832,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1845,7 +1845,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1858,7 +1858,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1868,7 +1868,7 @@ Select a view<br> - click this button<br> - select surface finish symbol attributes in opened panel - Select a view<br> - click this button<br> - select surface finish symbol attributes in opened panel + აირჩიეტ ხედი<br> -დააწკაპუნეთ ამ ღილაკზე<br> -გახსნილ პანელში ზედაპირის დასრულების სიმბოლოს ატრიბუტები აირჩიეთ @@ -1876,7 +1876,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1894,7 +1894,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1908,7 +1908,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1921,7 +1921,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1934,7 +1934,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -1952,7 +1952,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -2014,8 +2014,8 @@ ელცხრილის შექმნა - + Save page to dxf გვერდის DXF-ში შენახვა @@ -2027,7 +2027,7 @@ Add Quadrant Vertices - კუთხეევში წვეროების დამატება + კუთხეებში წვეროების დამატება @@ -2136,12 +2136,12 @@ კვეთის ხედის შექმნა - + Create ComplexSection რთული კვეთის შექმნა - + Edit SectionView სექციის ხედის ჩასწორება @@ -2164,7 +2164,7 @@ TechDraw Insert Prefix - TechDraw პრეფიქსის ჩასმა + ტექნიკური ნახაზი პრეფიქსის ჩასმა @@ -2174,7 +2174,7 @@ TechDraw Remove Prefix - TechDraw პრეფიქსის წაშლა + ტექნიკური ნახაზი პრეფიქსის წაშლა @@ -2264,7 +2264,7 @@ TechDraw Hole Circle - TechDraw-ის ნახვრეტის წრეწირი + ტექნიკური ნახაზის ნახვრეტის წრეწირი @@ -2274,7 +2274,7 @@ TechDraw Circle Centerlines - TechDraw წრეწირის ცენტრალური ხაზები + ტექნიკური ნახაზი წრეწირის ცენტრალური ხაზები @@ -2284,7 +2284,7 @@ TechDraw Thread Hole Side - TechDraw-ის კუთხვილის ხვრელის გვერდი + ტექნიკური ნახაზის კუთხვილის ხვრელის გვერდი @@ -2294,7 +2294,7 @@ TechDraw Thread Bolt Side - TechDraw კუთხვილის ხრახნის გვერდი + ტექნიკური ნახაზი კუთხვილის ხრახნის გვერდი @@ -2304,7 +2304,7 @@ TechDraw Thread Hole Bottom - TechDraw კუთხვილის ხვრელის ფსკერი + ტექნიკური ნახაზი კუთხვილის ხვრელის ფსკერი @@ -2314,7 +2314,7 @@ TechDraw Thread Bolt Bottom - TechDraw კუთხვილის ჭანჭიკის ფსკერი + ტექნიკური ნახაზი კუთხვილის ჭანჭიკის ფსკერი @@ -2324,7 +2324,7 @@ TechDraw Change Line Attributes - TechDraw ხაზის ატრიბუტების შეცვლა + ტექნიკური ნახაზი ხაზის ატრიბუტების შეცვლა @@ -2334,7 +2334,7 @@ TechDraw Cosmetic Intersection Vertex(es) - TechDraw კოსმეტიკური კვეთის წვერო(ებ)ი + ტექნიკური ნახაზი კოსმეტიკური კვეთის წვერო(ებ)ი @@ -2344,7 +2344,7 @@ TechDraw Cosmetic Arc - TechDraw კოსმეტიკური რკალი + ტექნიკური ნახაზი კოსმეტიკური რკალი @@ -2354,7 +2354,7 @@ TechDraw Cosmetic Circle - TechDraw კოსმეტიკური წრეწირი + ტექნიკური ნახაზი კოსმეტიკური წრეწირი @@ -2364,7 +2364,7 @@ TechDraw Cosmetic Circle 3 Points - TechDraw კოსმეტიკური წრე 3 წერტილით + ტექნიკური ნახაზი კოსმეტიკური წრე 3 წერტილით @@ -2374,7 +2374,7 @@ TechDraw Cosmetic Line Parallel/Perpendicular - TechDraw კოსმეტიკური ხაზი პარალელურია თუ მართობული + ტექნიკური ნახაზი კოსმეტიკური ხაზი პარალელურია თუ მართობული @@ -2384,7 +2384,7 @@ TechDraw Lock/Unlock View - TechDraw ხედის დაბლოკვა/განბლოკვა + ტექნიკური ნახაზი ხედის დაბლოკვა/განბლოკვა @@ -2394,7 +2394,7 @@ TechDraw Extend/Shorten Line - TechDraw ხაზის გაგრძელება/შემოკლება + ტექნიკური ნახაზი ხაზის გაგრძელება/შემოკლება @@ -2404,7 +2404,7 @@ TechDraw calculate selected area - TechDraw მონიშნული ფართობის გამოთვლა + ტექნიკური ნახაზი მონიშნული ფართობის გამოთვლა @@ -2521,12 +2521,12 @@ Link - ბმა + ბმული Bold - სისქე + გასქელება @@ -2546,7 +2546,7 @@ Underline - ხაზგასმა + ხაზგასმული @@ -2617,7 +2617,7 @@ Standard - ჩვეულებრივი + სტანდარტული @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,8 +2705,18 @@ + + + + + + + + + + Wrong selection - არასწორი არჩევანი + არასწორი მონიშნული @@ -2746,9 +2746,10 @@ მონიშნულში პროფილის ობექტი ვერ ვიპოვე - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection არასწორი არჩევანი - + Select an object first ჯერ აირჩიეთ ობიექტი - + Too many objects selected მონიშნულია მეტისმეტად ბევრი ობიექტი - + Create a page first. ჯერ შექმენით გვერდი. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. მონიშნულში არ არსებობს ნაწილის ხედი. @@ -2907,8 +2907,6 @@ მონიშნული წიბო B-სპლაინს წარმოადგენს. რადიუსი მხოლოდ დაახლოებითი იქნება. გავაგრძელო? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection არასწორი არჩევანი @@ -3026,12 +3026,12 @@ Can not make 2d extent dimension from selection - Can not make 2d extent dimension from selection + მონიშნულიდან 2D ზომას ვერ შექმნით Can not make 3d extent dimension from selection - Can not make 3d extent dimension from selection + მონიშნულიდან 3D განზომილებას ვერ შექმნით @@ -3059,6 +3059,9 @@ არჩიეთ 2 წერტილოვანი ობიექტი და 1 ხედი. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress მიმდინარეობს ამოცანის შესრულება + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. დახურეთ აქტიური ამოცანის ფანჯარა და თავიდან სცადეთ. @@ -3325,12 +3325,12 @@ No TechDraw Page - TechDraw-ის გვერდი ნაპოვნი არაა + ტექნიკური ნახაზი-ის გვერდი ნაპოვნი არაა Need a TechDraw Page for this command - ბრძანებისთვის საჭიროა TechDraw-ის გვერდი + ბრძანებისთვის საჭიროა ტექნიკური ნახაზი-ის გვერდი @@ -3340,7 +3340,7 @@ No TechDraw object in selection - მონიშნულში TechDraw-ის ობიექტი არ არსებობს + მონიშნულში ტექნიკური ნახაზი-ის ობიექტი არ არსებობს @@ -3357,7 +3357,7 @@ No page found - გვერდი არ მოიძებნა + გვერდების გარეშე @@ -3370,50 +3370,50 @@ დოკუმენტში ნახაზის გვერდები არაა. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) ყველა ფაილი (*.*) - + Export Page As PDF გვერდის PDF ფაილად გატანა - + Document Name: დოკუმენტის სახელი: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG გვერდის SVG ფაილად გატანა - - + + Are you sure you want to continue? დარწმუნებული ბრძანდებით, რომ გნებავთ გააგრძელოთ? - + Show drawing ნახაზის ჩვენება - + Toggle KeepUpdated განახლების ჩართ/გამორთ @@ -3438,9 +3438,9 @@ ფორმატირებული ტექსტის შემქმნელი + - Rich text editor ტექსტის ფორმატირების რედაქტორი @@ -3457,7 +3457,7 @@ ActiveView to TD View - ActiveView-დან TechDraw-ს ხედამდე + ActiveView-დან ტექნიკური ნახაზი-ს ხედამდე @@ -3505,24 +3505,24 @@ ახალი კომპლექსური კვეთა - + Edit Complex Section კომპლექსური კვეთის ჩასწორება - + Current View Direction ხედის მიმდინარე მიმართულება - + The view direction in BaseView coordinates ხედის მიმართულება BaseView-ის კოორდინატებში - + Operation Failed ოპერაცია წარუმატებლად დასრულდა @@ -3558,21 +3558,21 @@ ნაწილის ხედის შეცვლა - + Edit %1 - ჩასწორება %1 + %1-ის ჩასწორება TechDraw Increase/Decrease Decimal - TechDraw მეათედების გაზრდა/შემცირდება + ტექნიკური ნახაზი მეათედების გაზრდა/შემცირდება TechDraw PosHorizChainDimension - TechDraw PosHorizChainDimension + ტექნიკური ნახაზი PosHorizChainDimension @@ -3584,7 +3584,7 @@ TechDraw PosVertChainDimension - TechDraw PosVertChainDimension + ტექნიკური ნახაზი PosVertChainDimension @@ -3596,7 +3596,7 @@ TechDraw PosObliqueChainDimension - TechDraw PosObliqueChainDimension + ტექნიკური ნახაზი PosObliqueChainDimension @@ -3608,69 +3608,69 @@ TechDraw CascadeHorizDimension - TechDraw CascadeHorizDimension + ტექნიკური ნახაზი CascadeHorizDimension TechDraw CascadeVertDimension - TechDraw CascadeVertDimension + ტექნიკური ნახაზი CascadeVertDimension TechDraw CascadeObliqueDimension - TechDraw CascadeObliqueDimension + ტექნიკური ნახაზი CascadeObliqueDimension TechDraw Create Horizontal Chain Dimension - TechDraw ჰორიზონტალური ჯაჭვის ზომის შექმნა + ტექნიკური ნახაზი ჰორიზონტალური ჯაჭვის ზომის შექმნა TechDraw Create Vertical Chain Dimension - TechDraw ვერტიკალური ჯაჭვის ზომის შექმნა + ტექნიკური ნახაზი ვერტიკალური ჯაჭვის ზომის შექმნა TechDraw Create Oblique Chain Dimension - TechDraw ჯაჭვის ირიბი ზომის შექმნა + ტექნიკური ნახაზი ჯაჭვის ირიბი ზომის შექმნა TechDraw Create Horizontal Coord Dimension - TechDraw ჰორიზონტალური კოორდინატული ზომის შექმნა + ტექნიკური ნახაზი ჰორიზონტალური კოორდინატული ზომის შექმნა TechDraw Create Vertical Coord Dimension - TechDraw ვერტიკალური კოორდინატული ზომის შექმნა + ტექნიკური ნახაზი ვერტიკალური კოორდინატული ზომის შექმნა TechDraw Create Oblique Coord Dimension - TechDraw ირიბი კოორდინატული ზომის შექმნა + ტექნიკური ნახაზი ირიბი კოორდინატული ზომის შექმნა TechDraw Create Horizontal Chamfer Dimension - TechDraw ჰორიზონტალური კუთხის ნაზოლის ზომის შექმნა + ტექნიკური ნახაზი ჰორიზონტალური კუთხის ნაზოლის ზომის შექმნა TechDraw Create Vertical Chamfer Dimension - TechDraw ვერტიკალური კუთხის ნაზოლის ზომის შექმნა + ტექნიკური ნახაზი ვერტიკალური კუთხის ნაზოლის ზომის შექმნა TechDraw Create Arc Length Dimension - TechDraw რკალის სიგრძის ზომის შექმნა + ტექნიკური ნახაზი რკალის სიგრძის ზომის შექმნა TechDraw Customize Format - TechDraw ფორმატის მორგება + ტექნიკური ნახაზი ფორმატის მორგება @@ -3695,7 +3695,7 @@ TechDraw Hole Circle - TechDraw-ის ნახვრეტის წრეწირი + ტექნიკური ნახაზი-ის ნახვრეტის წრეწირი @@ -3705,7 +3705,7 @@ TechDraw Position Section View - TechDraw-ის ჭრილის ხედის მდებარეობა + ტექნიკური ნახაზი-ის ჭრილის ხედის მდებარეობა @@ -3715,7 +3715,7 @@ TechDraw Thread Hole Side - TechDraw-ის კუთხვილის ხვრელის გვერდი + ტექნიკური ნახაზი-ის კუთხვილის ხვრელის გვერდი @@ -3817,7 +3817,7 @@ TechDraw - TechDraw + ტექნიკური ნახაზი @@ -3835,24 +3835,24 @@ it has a weld symbol that would become broken. თქვენ არ შეგიძლიათ ამ ხედის წაშლა იმიტომ, რომ მას გააჩნია ერთი ან მეტი დამოკიდებული ხედი, რომელიც გაფუჭდებოდა. - + + + + - - - - - + + Object dependencies ობიექტის დამოკიდებულებები You cannot delete the anchor view of a projection group. - You cannot delete the anchor view of a projection group. + პროექციის ჯგუფის ღუზის ხედის წაშლა არ შეგიძლიათ. @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. თქვენ არ შეგიძლიათ ამ ხედის წაშლა იმიტომ, რომ მას გააჩნია გატანადი ხაზი, რომელიც გაფუჭდებოდა. - + The page is not empty, therefore the following referencing objects might be lost: გვერდი ცარიელი არ არის, ამიტომ @@ -3907,7 +3907,7 @@ it has a tile weld that would become broken. ActiveView to TD View - ActiveView-დან TechDraw-ს ხედამდე + ActiveView-დან ტექნიკური ნახაზი-ს ხედამდე @@ -3960,14 +3960,6 @@ it has a tile weld that would become broken. ფონის გაფერადება კი/არა - - TaskComplexSection - - - No direction set - მიმართულება დაყენებული არაა - - TaskMoveView @@ -3994,7 +3986,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending დარჩენილი განახლება @@ -4187,7 +4179,7 @@ This directory will be used for the symbol selection. line segments returned by the hidden line removal algorithm. Faces must be detected in order to use hatching, but there can be a performance penalty in complex models. - თუ მონიშნულია, TechDraw შეეცდება შექმნას ზედაპირები ფარული ხაზების + თუ მონიშნულია, ტექნიკური ნახაზი შეეცდება შექმნას ზედაპირები ფარული ხაზების წაშლის ალგორითმის მიერ დაბრუნებული ხაზის სეგმენტების გამოყენებით. საპოვნად ზედაპირები უნდა იყოს დაშტრიხული, მაგრამ კომპლექსურ მოდელებში ამან შეიძლება წარმადობის დეგრადაცია გამოიწვიოს. @@ -4386,7 +4378,7 @@ when hatching a face with a PAT pattern Annotation - შენიშვნა + ანოტაცია @@ -4437,7 +4429,7 @@ when hatching a face with a PAT pattern Dash - შტრიხი + პანელი @@ -4451,14 +4443,14 @@ when hatching a face with a PAT pattern DashDot - შტრიხპუნქტირი + ტირეწერტილი DashDotDot - ტირე-წერტილის ხაზი 2 წერტილით + ტირეწერტილიწერტილი @@ -4554,12 +4546,12 @@ when hatching a face with a PAT pattern Circular - მრგვალი + წრიული None - არცერთი + არაფერი @@ -4569,7 +4561,7 @@ when hatching a face with a PAT pattern Inspection - მომრგვალებული მართკუთხედი + კონტროლი @@ -4579,7 +4571,7 @@ when hatching a face with a PAT pattern Rectangle - ოთხკუთხედი + მართკუთხედი @@ -4673,7 +4665,7 @@ when hatching a face with a PAT pattern Colors - ფერით მონიშვნა + ფერები @@ -4758,7 +4750,7 @@ when hatching a face with a PAT pattern Dimension - ზომა + განზომილება @@ -4808,7 +4800,7 @@ when hatching a face with a PAT pattern Vertex - Vertex + წვერო @@ -4961,12 +4953,12 @@ when hatching a face with a PAT pattern Controls the size of gap between dimension point and start of extension line for ISO dimensions. - Controls the size of gap between dimension point and start of extension line for ISO dimensions. + აკონტროლებს გამოტოვების ზომას ზომის წერტილსა და გაფართოების ხაზის დასაწყისს შორის ISO ზომებისთვის. Extension Gap Factor - ISO - Extension Gap Factor - ISO + გაფართოების გაწელვის ფაქტორი - ISO @@ -5033,7 +5025,7 @@ Multiplier of 'Font Size' Extension Gap Factor - ASME - Extension Gap Factor - ASME + გაფართოების გაწელვის ფაქტორი - ASME @@ -5164,7 +5156,7 @@ for ProjectionGroups Use first- or third-angle multiview projection convention - Use first- or third-angle multiview projection convention + პირველი ან მესამე კუთხის ხედის პროექციის გამოყენება @@ -5199,7 +5191,7 @@ for ProjectionGroups Dashed - შტრიხული + ტირეებით @@ -5432,7 +5424,7 @@ Fast, but result is a collection of short straight lines. Scale - მასშტაბირება + გადიდება @@ -5467,7 +5459,7 @@ Fast, but result is a collection of short straight lines. Custom - მომხმარებლის + მომხმარებლის შექმნილი @@ -5563,53 +5555,53 @@ Fast, but result is a collection of short straight lines. ყველა გვერდის დაბეჭდვა - + Different orientation განსხვავებული ორიენტაცია - + The printer uses a different orientation than the drawing. Do you want to continue? პრინტერი ნახაზისგან განსხვავებულ ორიენტაციას იყენებს. გნებავთ გაგრძელება? - + Different paper size ფურცლის განსხვავებული ზომა - + The printer uses a different paper size than the drawing. Do you want to continue? პრინტერი იყენებს ქაღალდის განსხვავებულ ზომას, ვიდრე ნახაზი. -Გინდა გააგრძელო? +გნებავთ, გააგრძელოთ? - + Opening file failed ფაილის გახსნის შეცდომა - + Can not open file %1 for writing. ჩასაწერად ფაილის „%1“ გახსნა შეუძლებელია. - + Save DXF file DXF ფაილის შენახვა - + DXF (*.dxf) DXF (*.dxf) - + Selected: - მონიშნული: + არჩეულია: @@ -5627,7 +5619,7 @@ Do you want to continue? Symbol Dir - სიმბ. საქ. + სიმბ. საქ @@ -5660,7 +5652,7 @@ Do you want to continue? Color for 'Text' - 'ტექსტის' ფერი + 'ტექსტის' ფერი; @@ -5670,7 +5662,7 @@ Do you want to continue? Fontsize for 'Text' - 'ტექსტის' ფონტის ზომა + 'ტექსტის' ფონტის ზომა; @@ -5690,7 +5682,7 @@ Do you want to continue? None - არცერთი + არაფერი @@ -5765,7 +5757,7 @@ Do you want to continue? False - ცრუ + მცდარი @@ -5803,7 +5795,7 @@ Do you want to continue? Base View - საბაზისო ხედი + ძირითადი ხედი @@ -5823,7 +5815,7 @@ Do you want to continue? Vertical - ვერტიკალურად + შვეული @@ -5833,7 +5825,7 @@ Do you want to continue? Horizontal - ჰორიზონტალურად + თარაზული @@ -5874,7 +5866,7 @@ Do you want to continue? Rotate - შებრუნება + შემობრუნება @@ -5919,7 +5911,7 @@ Do you want to continue? Dash - შტრიხი + პანელი @@ -5929,12 +5921,12 @@ Do you want to continue? DashDot - შტრიხპუნქტირი + ტირეწერტილი DashDotDot - ტირე-წერტილის ხაზი 2 წერტილით + ტირეწერტილიწერტილი @@ -5988,17 +5980,17 @@ Do you want to continue? Custom - მომხმარებლის + მომხმარებლის შექმნილი Scale - მასშტაბირება + გადიდება Scale Type - მასშტაბირების ტიპი + მასშტაბის ტიპი @@ -6014,7 +6006,7 @@ Do you want to continue? Aligned - გათანაბრებული + გასწორებულია @@ -6064,7 +6056,7 @@ Do you want to continue? Preview - გადახედვა + მინიატურა @@ -6087,7 +6079,12 @@ Do you want to continue? ახლა განახლება - + + No direction set + მიმართულება დაყენებული არაა + + + Can not continue. Object * %1 or %2 not found. გაგრძელება შეუძლებელია. ობიექტები * %1 ან %2 ვერ ვიპოვე. @@ -6102,7 +6099,7 @@ Do you want to continue? Base View - საბაზისო ხედი + ძირითადი ხედი @@ -6118,7 +6115,7 @@ Do you want to continue? Position - Position + მდებარეობა @@ -6185,7 +6182,7 @@ Do you want to continue? X: - X: + Z: @@ -6270,7 +6267,7 @@ Do you want to continue? Position - Position + მდებარეობა @@ -6510,7 +6507,7 @@ Do you want to continue? Preview: - მინიატურა: + გადახედვა: @@ -6528,7 +6525,7 @@ Do you want to continue? Base View - საბაზისო ხედი + ძირითადი ხედი @@ -6605,7 +6602,7 @@ Custom: custom scale factor is used Custom - მომხმარებლის + მომხმარებლის შექმნილი @@ -6620,7 +6617,7 @@ Custom: custom scale factor is used Reference - ბმა + მითითება @@ -6633,7 +6630,7 @@ Custom: custom scale factor is used Dimension - ზომა + განზომილება @@ -6713,7 +6710,7 @@ by negative value of 'Over Tolerance'. If checked the content of 'Format Spec' will be used instead of the dimension value თუ ჩართულია, ზომის მნიშვნელობის მაგიერ -გამოყენებული იქნება 'ფორმატის სპეციფიკაცია' +'ფორმატის სპეციფიკაცია' იქნება გამოყენებული @@ -6778,7 +6775,7 @@ be used instead of the dimension value Fontsize for 'Text' - 'ტექსტის' ფონტის ზომა + 'ტექსტის' ფონტის ზომა; @@ -6818,7 +6815,7 @@ be used instead of the dimension value Use override angles if checked. Use default angles if unchecked. - კუთხეების გადაფარვა, თუ ჩართულია. ნაგულისხმები კუთხეები, თუ გამორთული. + კუთხეების გადაფარვა, თუ ჩართულია. ნაგულისხმევი კუთხეები, თუ გამორთული. @@ -6838,7 +6835,7 @@ be used instead of the dimension value Set dimension line angle to default (ortho view). - ზომის ხაზის კუთხის ნაგულისხმებზე დაყენება (ორთო ხედი). + ზომის ხაზის კუთხის ნაგულისხმევზე დაყენება (ორთო ხედი). @@ -6870,7 +6867,7 @@ be used instead of the dimension value Set extension line angle to default (ortho). - გაგრძელების ხაზის კუთხის ნაგულისხმებზე დაყენება (ორთო). + გაგრძელების ხაზის კუთხის ნაგულისხმევზე დაყენება (ორთო). @@ -6989,7 +6986,7 @@ be used instead of the dimension value Offset X - წანაცვლება X + გადაწევა X-ით @@ -6999,12 +6996,12 @@ be used instead of the dimension value Rotation - მობრუნება + შემობრუნება Offset Y - წანაცვლება Y + გადაწევა Y-ით @@ -7200,7 +7197,7 @@ You can pick further points to get line segments. View - ხედი + ნახვა @@ -7220,7 +7217,7 @@ You can pick further points to get line segments. Dash - შტრიხი + პანელი @@ -7230,12 +7227,12 @@ You can pick further points to get line segments. DashDot - შტრიხპუნქტირი + ტირეწერტილი DashDotDot - ტირე-წერტილის ხაზი 2 წერტილით + ტირეწერტილიწერტილი @@ -7245,7 +7242,7 @@ You can pick further points to get line segments. Weight - სისქე + სიმძიმე @@ -7260,7 +7257,7 @@ You can pick further points to get line segments. False - ცრუ + მცდარი @@ -7352,7 +7349,7 @@ You can pick further points to get line segments. Scale - მასშტაბირება + გადიდება @@ -7437,7 +7434,7 @@ You can pick further points to get line segments. Left - მარცხნივ + მარცხენა @@ -7447,12 +7444,12 @@ You can pick further points to get line segments. Right - მარჯვნივ + მარჯვენა Rear - უკან + უკანა @@ -7462,7 +7459,7 @@ You can pick further points to get line segments. Bottom - ძირზე + ქვემოთ @@ -7683,7 +7680,7 @@ using the given X/Y Spacing NoLine - ხაზის გარეშე + ხაზისგრეშე @@ -7693,7 +7690,7 @@ using the given X/Y Spacing Dash - შტრიხი + პანელი @@ -7703,12 +7700,12 @@ using the given X/Y Spacing DashDot - შტრიხპუნქტირი + ტირეწერტილი DashDotDot - ტირე-წერტილის ხაზი 2 წერტილით + ტირეწერტილიწერტილი @@ -7741,7 +7738,7 @@ using the given X/Y Spacing Scale Type - მასშტაბირების ტიპი + მასშტაბის ტიპი @@ -7761,12 +7758,12 @@ using the given X/Y Spacing Custom - მომხმარებლის + მომხმარებლის შექმნილი Scale - მასშტაბირება + გადიდება @@ -7801,7 +7798,7 @@ using the given X/Y Spacing Preview - გადახედვა + მინიატურა @@ -7879,22 +7876,22 @@ using the given X/Y Spacing Solid - მყარი სხეული + მყარი Dashed - შტრიხული + ტირეებით Dotted - პუნქტირული + წერტილოვანი Dashdot - შტრიხპუნქტირი + ტირეწერტილი @@ -7939,7 +7936,7 @@ using the given X/Y Spacing Magenta - მეწამული + ალისფერი @@ -8159,7 +8156,7 @@ using the given X/Y Spacing TextLabel - ტექსტური წარწერა + ტექსტური ჭდე @@ -8338,7 +8335,7 @@ using the given X/Y Spacing TechDraw - TechDraw + ტექნიკური ნახაზი @@ -8348,37 +8345,37 @@ using the given X/Y Spacing TechDraw Centerlines - TechDraw-ის ცენტრალური ხაზები + ტექნიკური ნახაზი-ის ცენტრალური ხაზები TechDraw Extend Dimensions - TechDraw-ის ზომების გაფართოება + ტექნიკური ნახაზი-ის ზომების გაფართოება TechDraw Pages - TechDraw ფურცლები + ტექნიკური ნახაზი ფურცლები TechDraw Stacking - TechDraw-ის ნაკრები + ტექნიკური ნახაზი-ის ნაკრები TechDraw Views - TechDraw ხედები + ტექნიკური ნახაზი ხედები TechDraw Clips - TechDraw კვეთები + ტექნიკური ნახაზი კვეთები TechDraw Dimensions - TechDraw-ის ზომები + ტექნიკური ნახაზი-ის ზომები @@ -8388,17 +8385,17 @@ using the given X/Y Spacing TechDraw File Access - TechDraw-ის წვდომა ფაილებთან + ტექნიკური ნახაზი-ის წვდომა ფაილებთან TechDraw Decoration - TechDraw-ის დეკორაცია + ტექნიკური ნახაზი-ის დეკორაცია TechDraw Annotation - TechDraw-ის ანოტაცია + ტექნიკური ნახაზი-ის ანოტაცია @@ -8485,18 +8482,18 @@ using the given X/Y Spacing Select From Page. - მონიშვნა დაწყებული გვერდიდან. + აირჩიეთ გვერდიდან. Select Page - აირჩიეთ გვერდი + გვერდის ამორჩევა Select To Page. - მონიშვნა გვერდამდე. + გვერდამდე მონიშვნა. @@ -8509,7 +8506,7 @@ using the given X/Y Spacing Dimension - ზომა + განზომილება @@ -8575,7 +8572,7 @@ using the given X/Y Spacing TechDraw - TechDraw + ტექნიკური ნახაზი @@ -8678,7 +8675,7 @@ using the given X/Y Spacing Tick - საკავი + ტიკ @@ -8703,7 +8700,7 @@ using the given X/Y Spacing None - არცერთი + არაფერი @@ -8711,22 +8708,22 @@ using the given X/Y Spacing Front - წინ + წინა Left - მარცხნივ + მარცხენა Right - მარჯვნივ + მარჯვენა Rear - უკან + უკანა @@ -8736,7 +8733,7 @@ using the given X/Y Spacing Bottom - ძირზე + ბოლოში @@ -8762,14 +8759,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. ამ ბუშტის ახლა წაშლა არ შეგიძლიათ, რადგან არსებობს ღია ამოცანის ფანჯარა. - + Can Not Delete წაშლა შეუძლებელია diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.ts index 7e7138fbb6..aea8ee0115 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.ts @@ -2014,8 +2014,8 @@ Create spreadsheet view - + Save page to dxf Save page to dxf @@ -2136,12 +2136,12 @@ Create SectionView - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection 잘못 된 선택 @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Incorrect selection - + Select an object first Select an object first - + Too many objects selected Too many objects selected - + Create a page first. 먼저 페이지를 작성합니다. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. No View of a Part in selection. @@ -2907,8 +2907,6 @@ Selected edge is a BSpline. Radius will be approximate. Continue? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Incorrect Selection @@ -3059,6 +3059,9 @@ Select 2 point objects and 1 View. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Task In Progress + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Close active task dialog and try again. @@ -3370,50 +3370,50 @@ No Drawing Pages in document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) All Files (*.*) - + Export Page As PDF Export Page As PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Export page as SVG - - + + Are you sure you want to continue? Are you sure you want to continue? - + Show drawing 드로잉 보기 - + Toggle KeepUpdated Toggle KeepUpdated @@ -3438,9 +3438,9 @@ Rich text creator + - Rich text editor Rich text editor @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Operation Failed @@ -3558,8 +3558,8 @@ Edit Detail View - + Edit %1 Edit %1 @@ -3835,17 +3835,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies 객체 종속성 @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. You cannot delete this view because it has a leader line that would become broken. - + The page is not empty, therefore the following referencing objects might be lost: The page is not empty, therefore the @@ -3961,14 +3961,6 @@ it has a tile weld that would become broken. Paint background yes/no - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3995,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5567,50 +5559,50 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation 다른 방향 - + The printer uses a different orientation than the drawing. Do you want to continue? The printer uses a different orientation than the drawing. Do you want to continue? - + Different paper size 다른 용지 크기 - + The printer uses a different paper size than the drawing. Do you want to continue? 프린터가 사용중인 종이 크기가 현재 드로잉과는 다릅니다. 계속 진행하시겠습니까? - + Opening file failed 파일 열기 실패 - + Can not open file %1 for writing. Can not open file %1 for writing. - + Save DXF file DXF 파일 저장 - + DXF (*.dxf) DXF (*.dxf) - + Selected: 선택: @@ -6090,7 +6082,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8765,14 +8762,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_nl.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_nl.ts index 3dc25bf0dc..f433aa956d 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_nl.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_nl.ts @@ -2014,8 +2014,8 @@ Rekenbladweergave maken - + Save page to dxf Pagina in dxf opslaan @@ -2136,12 +2136,12 @@ Sectie Weergave maken - + Create ComplexSection Create ComplexSection - + Edit SectionView Sectieweergave bewerken @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Verkeerde selectie @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Onjuiste selectie - + Select an object first Selecteer eerst een object - + Too many objects selected Te veel objecten geselecteerd - + Create a page first. Maak eerst een pagina. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Geen aanzicht van een onderdeel in de selectie. @@ -2907,8 +2907,6 @@ Geselecteerde rand is een BSpline. Straal zal approximatief zijn. Doorgaan? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Onjuiste Selectie @@ -3059,6 +3059,9 @@ Selecteer 2 punten en 1 aanzicht. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Taak in uitvoering + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Sluit het actieve taakvenster en probeer opnieuw. @@ -3370,50 +3370,50 @@ Geen tekenpagina's in het document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Alle bestanden (*.*) - + Export Page As PDF Exporteren als PDF - + Document Name: Documentnaam: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exporteren als SVG - - + + Are you sure you want to continue? Weet u zeker dat u wilt doorgaan? - + Show drawing Toon tekening - + Toggle KeepUpdated Schakel KeepUpdated aan/uit @@ -3438,9 +3438,9 @@ Opgemaakte tekst-maker + - Rich text editor Opgemaakte tekst-editor @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Bewerking mislukt @@ -3558,8 +3558,8 @@ Bewerk detailweergave - + Edit %1 Bewerken %1 @@ -3835,17 +3835,17 @@ een Lassymbool heeft dat kapot zou gaan. U kunt deze weergave niet verwijderen omdat deze een of meerdere afhankelijke weergave(s) heeft, die dan beschadigd raken. - + + + + - - - - - + + Object dependencies Object afhankelijkheden @@ -3870,7 +3870,7 @@ een Lassymbool heeft dat kapot zou gaan. U kunt deze weergave niet verwijderen omdat deze een leiderslijn heeft die gebroken zou worden. - + The page is not empty, therefore the following referencing objects might be lost: De pagina is niet leeg, daarom kunnen de @@ -3961,14 +3961,6 @@ een Lastegel heeft die kapot gaat. Schilder achtergrond ja/nee - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3995,7 +3987,7 @@ een Lastegel heeft die kapot gaat. TaskPojGroup - + updates pending updates in behandeling @@ -5567,50 +5559,50 @@ Snel, maar resulteert in een verzameling van korte rechte lijnen. Alle pagina's afdrukken - + Different orientation Verschillende oriëntatie - + The printer uses a different orientation than the drawing. Do you want to continue? De printer gebruikt een andere richting dan de tekening. Wil je doorgaan? - + Different paper size Ander papierformaat - + The printer uses a different paper size than the drawing. Do you want to continue? De printer gebruikt een ander papierfromaat dan de tekening. Wilt u toch doorgaan? - + Opening file failed Bestand openen mislukt - + Can not open file %1 for writing. Kan bestand '%1' niet openen om te schrijven. - + Save DXF file Bewaar Dxf-bestand - + DXF (*.dxf) Dxf (*.dxf) - + Selected: Geselecteerd: @@ -6090,7 +6082,12 @@ Do you want to continue? Nu updaten - + + No direction set + Geen richting ingesteld + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8765,14 +8762,14 @@ met behulp van de gegeven X/Y afstand TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Je kunt deze ballon nu niet verwijderen omdat er een open taak dialoogvenster is. - + Can Not Delete Kan niet verwijderen diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.ts index d8d5747af3..a710a886f0 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.ts @@ -452,13 +452,13 @@ Cascade Horizontal Dimensions - Wymiar poziomy kaskadowo + Wymiary poziome kaskadowo Evenly space horizontal dimensions:<br>- Specify the cascade spacing (optional)<br>- Select two or more horizontal dimensions<br>- The first dimension defines the position<br>- Click this tool - Równomierne rozmieszczenie wymiarów poziomych:<br>- Określ odstęp kaskadowy (opcjonalnie)<br>- Wybierz dwa lub więcej wymiarów poziomych<br>- Pierwszy wymiar definiuje położenie<br>- Kliknij to narzędzie + Równomiernie rozłożone wymiary poziome:<br>- Określ odstęp kaskadowy (opcjonalnie)<br>- Wybierz dwa lub więcej wymiarów poziomych<br>- Pierwszy wymiar definiuje położenie<br>- Kliknij to narzędzie @@ -567,12 +567,12 @@ Add Circle Centerlines - Dodaj oś otworu + Dodaj osie okręgu Add centerlines to circles and arcs:<br>- Specify the line attributes (optional)<br>- Select one or more circles or arcs<br>- Click this tool - Dodaj linie środkowe do okręgów i łuków:<br>- Podaj atrybuty linii (opcjonalne)<br>- Wybierz jeden lub więcej okręgów lub łuków<br>- Kliknij to narzędzie + Dodaj osie do okręgów i łuków:<br>- Podaj atrybuty linii (opcjonalne)<br>- Wybierz jeden lub więcej okręgów lub łuków<br>- Kliknij to narzędzie @@ -624,15 +624,13 @@ Create Horizontal Chain Dimensions - Seria wymiarów poziomo + Utwórz poziome wymiary łańcuchowe Create a sequence of aligned horizontal dimensions:<br>- Select three or more vertexes<br>- Click this tool - Tworzy sekwencję wyrównanych wymiarów poziomych: - - Wybierz trzy lub więcej wierzchołków - - Kliknij to narzędzie + Utwórz sekwencję wyrównanych wymiarów poziomych:<br>- Wybierz trzy lub więcej wierzchołków<br>- Kliknij to narzędzie @@ -652,7 +650,7 @@ Create a horizontal size and angle dimension for a chamfer:<br>- Select two vertexes<br>- Click this tool - Utwórz poziomy wymiar rozmiaru i kąta dla fazy:<br>- Wybierz dwa wierzchołki<br>- Kliknij to narzędzie + Utwórz poziomy wymiar rozmiaru i kąta dla sfazowania:<br>- Wybierz dwa wierzchołki<br>- Kliknij to narzędzie @@ -666,7 +664,7 @@ Create Horizontal Coordinate Dimensions - Seria wymiarów kaskadowych poziomo + Utwórz serię wymiarów kaskadowych poziomo @@ -939,9 +937,7 @@ Extend a cosmetic line or centerline at both ends:<br>- Specify the delta distance (optional)<br>- Select a single line<br>- Click this tool - Wydłuża linię kosmetyczną lub linię środkową na obu końcach: - - Określ długość przyrostu (opcjonalnie) - - Wybierz pojedynczą linię<br>- Kliknij to narzędzie + Rozszerz linię kosmetyczną lub linię środkową na obu końcach:<br>- Określ długość przyrostu (opcjonalnie)<br>- Wybierz pojedynczą linię<br>- Kliknij to narzędzie @@ -1001,9 +997,7 @@ Increase the number of decimal places of the dimension text:<br>- Select one or more dimensions<br>- Click this tool - Zwiększ liczbę cyfr po przecinku tekstu wymiaru: -- Wybierz jeden lub więcej wymiarów -- Kliknij to narzędzie + Zwiększ liczbę cyfr po przecinku tekstu wymiaru:<br>- Wybierz jeden lub więcej wymiarów<br>- Kliknij to narzędzie @@ -1096,16 +1090,13 @@ Add Cosmetic Parallel Line - Dodaj pomocniczą linię równoległą + Dodaj kosmetyczną linię równoległą Add a cosmetic line parallel to another line through a vertex:<br>- Select a line<br>- Select a vertex<br>- Click this tool - Dodaje geometrię pomocniczą linii równoległej do innej poprzez wierzchołek: - - Wybierz linię - - Wybierz wierzchołek - - Kliknij to narzędzie + Dodaj kosmetyczną linię równoległą do innej poprzez wierzchołek:<br>- Wybierz linię<br>- Wybierz wierzchołek<br>- Kliknij to narzędzie @@ -1393,7 +1384,7 @@ Add Cosmetic Thread Hole Side View - Geometria pomocnicza dla otworu gwintowanego, widok z boku + Dodaj gwint kosmetyczny otworu, widok z boku @@ -1662,7 +1653,7 @@ Project shape... - Rzutowanie kształtów ... + Rzutuj kształt... @@ -2048,8 +2039,8 @@ Utwórz widok arkusza kalkulacyjnego - + Save page to dxf Zapisz stronę do pliku dxf @@ -2170,12 +2161,12 @@ Utwórz widok przekroju - + Create ComplexSection Utwórz przekrój złożony - + Edit SectionView Edytuj widok przekroju @@ -2298,7 +2289,7 @@ TechDraw Hole Circle - TechDraw Okrąg z otworami + Rysunek Techniczny Okrąg otworu @@ -2535,7 +2526,7 @@ Copy - Kopiuj + Skopiuj @@ -2651,7 +2642,7 @@ Standard - Standardowy + Standard @@ -2722,16 +2713,6 @@ QObject - - - - - - - - - - @@ -2749,6 +2730,16 @@ + + + + + + + + + + Wrong selection Nieprawidłowy wybór @@ -2780,9 +2771,10 @@ Nie znaleziono obiektu profilu w zaznaczeniu - - - + + + + @@ -2794,33 +2786,33 @@ - - - - + + + Incorrect selection Nieprawidłowy wybór - + Select an object first Najpierw wybierz obiekt - + Too many objects selected Wybrano zbyt wiele obiektów - + Create a page first. Najpierw stwórz stronę. + @@ -2829,7 +2821,6 @@ - No View of a Part in selection. Brak widoku części w wyborze. @@ -2941,8 +2932,6 @@ Wybrana krawędź to krzywa złożona. Promień będzie przybliżony. Kontynuować? - - @@ -2962,10 +2951,12 @@ + + + - Incorrect Selection Niepoprawny wybór @@ -3093,6 +3084,9 @@ Wybierz dwa obiekty punktów i jeden widok. (2) + + + @@ -3118,11 +3112,6 @@ - - - - - @@ -3130,18 +3119,23 @@ - - - + + + + + Task In Progress Zadanie w toku + + + @@ -3167,11 +3161,6 @@ - - - - - @@ -3179,14 +3168,16 @@ - - - + + + + + Close active task dialog and try again. Zamknij okno aktywnego zadania i spróbuj ponownie. @@ -3404,50 +3395,50 @@ Brak rysunków w dokumencie. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Wszystkie pliki (*.*) - + Export Page As PDF Wyeksportuj stronę do formatu PDF - + Document Name: Nazwa dokumentu: - + SVG (*.svg) SVG(*.svg) - + Export page as SVG Eksportuj stronę do formatu SVG - - + + Are you sure you want to continue? Czy na pewno chcesz kontynuować? - + Show drawing Pokaż rysunek - + Toggle KeepUpdated Włącz / wyłącz automatyczną aktualizację @@ -3472,9 +3463,9 @@ Kreator tekstu sformatowanego + - Rich text editor Edytor tekstu sformatowanego @@ -3539,24 +3530,24 @@ Nowy przekrój złożony - + Edit Complex Section Edytuj przekrój złożony - + Current View Direction Aktualny kierunek widoku - + The view direction in BaseView coordinates Kierunek widoku określony współrzędnymi Widoku podstawowego - + Operation Failed Operacja nie powiodła się @@ -3592,8 +3583,8 @@ Edytuj widok szczegółu - + Edit %1 Edytuj %1 @@ -3869,19 +3860,19 @@ zawiera symbol spoiny który zostałby uszkodzony. Nie można usunąć tego widoku, ponieważ ma on co najmniej jeden obiekt zależny, który zostałby uszkodzony. - + + + + - - - - - + + Object dependencies - Zależności obiektów + Zależności obiektu @@ -3904,7 +3895,7 @@ zawiera symbol spoiny który zostałby uszkodzony. Nie możesz usunąć tego widoku, ponieważ ma on linię odniesienia, która zostałaby uszkodzona. - + The page is not empty, therefore the following referencing objects might be lost: Strona nie jest pusta, więc @@ -3995,14 +3986,6 @@ ma on punkową/czołową spoinę, która zostałaby uszkodzona. Maluj tło (tak / nie) - - TaskComplexSection - - - No direction set - Nie ustawiono kierunku - - TaskMoveView @@ -4029,7 +4012,7 @@ ma on punkową/czołową spoinę, która zostałaby uszkodzona. TaskPojGroup - + updates pending oczekujące aktualizacje @@ -4473,28 +4456,28 @@ podczas kreskowania powierzchni wzorem PAT Dash - Kreska + Przerywana Dot - Kropka + Kropkowana DashDot - Kreska kropka + Przerywana-kropkowana DashDotDot - Kreska kropka kropka + Przerywana-podwójnie kropkowana @@ -4595,7 +4578,7 @@ podczas kreskowania powierzchni wzorem PAT None - Brak + Żaden @@ -5234,12 +5217,12 @@ dla grup projektowych Continuous - Ciągła + Ciągły Dashed - Kreskowana + Przerywana @@ -5502,7 +5485,7 @@ Szybkie, ale wynikiem jest kolekcja krótkich linii prostych. Auto - Automatycznie + Automatyczny @@ -5603,52 +5586,52 @@ Szybkie, ale wynikiem jest kolekcja krótkich linii prostych. Drukuj wszystkie strony - + Different orientation Odmienna orientacja - + The printer uses a different orientation than the drawing. Do you want to continue? Drukarka używa inną orientacje strony niż rysunek. Czy chcesz kontynuować? - + Different paper size Odmienny rozmiar papieru - + The printer uses a different paper size than the drawing. Do you want to continue? Drukarka używa innego rozmiaru papieru niż rysunek. Czy chcesz kontynuować? - + Opening file failed Otwarcie pliku nie powiodło się - + Can not open file %1 for writing. Nie można otworzyć pliku %1 do zapisu. - + Save DXF file Zapisz plik DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: - Zaznaczone: + Wybrane: @@ -5729,7 +5712,7 @@ Czy chcesz kontynuować? None - Brak + Żadne @@ -5958,22 +5941,22 @@ Czy chcesz kontynuować? Dash - Kreska + Przerywana Dot - Kropka + Kropkowana DashDot - Kreska kropka + Przerywana-kropkowana DashDotDot - Kreska kropka kropka + Przerywana-podwójnie kropkowana @@ -6012,7 +5995,7 @@ Czy chcesz kontynuować? Scale Page/Auto/Custom - Skala strony / automatyczna / niestandardowa + Skaluj stronę/Auto/Niestandardowe @@ -6022,12 +6005,12 @@ Czy chcesz kontynuować? Automatic - Automatyczna + Automatycznie Custom - Użytkownika + Niestandardowe @@ -6068,7 +6051,7 @@ Czy chcesz kontynuować? Identifier for this section - Identyfikator sekcji + Identyfikator dla tej sekcji @@ -6126,7 +6109,12 @@ Czy chcesz kontynuować? Aktualizuj teraz - + + No direction set + Nie ustawiono kierunku + + + Can not continue. Object * %1 or %2 not found. Nie można kontynuować. Obiekt * %1 lub %2 nie został znaleziony. @@ -6319,7 +6307,7 @@ Czy chcesz kontynuować? Symmetry - Odbicie lustrzane + Symetria @@ -6639,7 +6627,7 @@ Niestandardowa: stosuje się współczynnik skalowania podany przez użytkownika Automatic - Automatyczna + Automatycznie @@ -7161,7 +7149,7 @@ Możesz wybrać kolejne punkty, aby uzyskać odcinki linii. Dot - Kropka + Kropkowana @@ -7259,22 +7247,22 @@ Możesz wybrać kolejne punkty, aby uzyskać odcinki linii. Dash - Kreska + Przerywana Dot - Kropka + Kropkowana DashDot - Kreska kropka + Przerywana-kropkowana DashDotDot - Kreska kropka kropka + Przerywana-podwójnie kropkowana @@ -7299,12 +7287,12 @@ Możesz wybrać kolejne punkty, aby uzyskać odcinki linii. False - Nie + Fałsz True - Tak + Prawda @@ -7365,7 +7353,7 @@ Możesz wybrać kolejne punkty, aby uzyskać odcinki linii. Projection - Rzutowanie + Rzut @@ -7375,12 +7363,12 @@ Możesz wybrać kolejne punkty, aby uzyskać odcinki linii. First Angle - Kąt pierwszy + Pierwszy kąt Third Angle - Kąt trzeci + Trzeci kąt @@ -7556,7 +7544,7 @@ przy użyciu podanego odstępu X/Y Project shapes - Rzutowanie kształtów + Rzutuj kształty @@ -7616,7 +7604,7 @@ przy użyciu podanego odstępu X/Y There is currently no active document to complete the operation - Obecnie nie ma aktywnego dokumentu do zakończenia operacji + Aktualnie nie ma aktywnego dokumentu aby dokończyć operację @@ -7626,7 +7614,7 @@ przy użyciu podanego odstępu X/Y There is currently no active view to complete the operation - Obecnie nie ma aktywnego widoku do zakończenia operacji + Aktualnie nie ma aktywnego widoku aby dokończyć operację @@ -7732,22 +7720,22 @@ przy użyciu podanego odstępu X/Y Dash - Kreska + Przerywana Dot - Kropka + Kropkowana DashDot - Kreska kropka + Przerywana-kropkowana DashDotDot - Kreska kropka kropka + Przerywana-podwójnie kropkowana @@ -7785,7 +7773,7 @@ przy użyciu podanego odstępu X/Y Scale Page/Auto/Custom - Skala strony / automatyczna / niestandardowa + Skaluj stronę/Auto/Niestandardowe @@ -7795,7 +7783,7 @@ przy użyciu podanego odstępu X/Y Automatic - Automatyczna + Automatycznie @@ -7923,7 +7911,7 @@ przy użyciu podanego odstępu X/Y Dashed - Kreskowana + Przerywana @@ -7933,12 +7921,12 @@ przy użyciu podanego odstępu X/Y Dashdot - Kreska - kropka + Przerywana-kropkowana Line width: - Szerokość linii: + Szerekość linii: @@ -8264,7 +8252,7 @@ przy użyciu podanego odstępu X/Y Insert Horizontal Extent Dimension - Wystawia całkowity wymiar zakresu poziomego + Wstaw wymiar rozpiętości poziomej @@ -8328,7 +8316,7 @@ przy użyciu podanego odstępu X/Y Insert Vertical Extent Dimension - Wystawia całkowity wymiar zakresu pionowego + Wstaw wymiar rozpiętości pionowej @@ -8742,7 +8730,7 @@ przy użyciu podanego odstępu X/Y None - Brak + Żaden @@ -8750,32 +8738,32 @@ przy użyciu podanego odstępu X/Y Front - Od przodu + Przód Left - Od lewej + Lewo Right - Od prawej + Prawo Rear - Od tył + Tył Top - Od góry + Góra Bottom - Od dołu + Dół @@ -8801,14 +8789,14 @@ przy użyciu podanego odstępu X/Y TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Nie możesz teraz usunąć tego dymka, ponieważ jest otwarte okno dialogowe zadania. - + Can Not Delete Nie można usunąć diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-BR.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-BR.ts index 0983489993..7c46925f65 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-BR.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-BR.ts @@ -2014,8 +2014,8 @@ Criar vista de planilha - + Save page to dxf Salvar página para dxf @@ -2136,12 +2136,12 @@ Criar vista de corte - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Seleção errada @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Seleção incorreta - + Select an object first Selecione um objeto primeiro - + Too many objects selected Demasiados objetos selecionados - + Create a page first. Primeiro, crie uma página. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Nenhuma vista de uma peça na seleção. @@ -2907,8 +2907,6 @@ A aresta selecionada é uma BSpline. O raio será aproximado. Continuar? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Seleção Incorreta @@ -3059,6 +3059,9 @@ Selecionar 2 pontos e 1 vista. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Tarefa em andamento + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Feche a caixa de diálogo ativa e tente novamente. @@ -3370,50 +3370,50 @@ Não há páginas no documento. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Todos os arquivos (*.*) - + Export Page As PDF Exportar página para PDF - + Document Name: Nome do documento: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exportar página para SVG - - + + Are you sure you want to continue? Tem certeza que deseja continuar? - + Show drawing Mostrar o desenho - + Toggle KeepUpdated Alternar atualização automática @@ -3438,9 +3438,9 @@ Criador de texto + - Rich text editor Editor de texto @@ -3505,24 +3505,24 @@ Nova Seção Complexa - + Edit Complex Section Editar Seção Complexa - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Falha na operação @@ -3558,8 +3558,8 @@ Editar vista de detalhe - + Edit %1 Editar %1 @@ -3835,17 +3835,17 @@ ela tem um símbolo de solda que quebraria. Você não pode excluir esta visão porque ela tem uma ou mais visualizações dependentes que se tornariam quebradas. - + + + + - - - - - + + Object dependencies Dependências do objeto @@ -3870,7 +3870,7 @@ ela tem um símbolo de solda que quebraria. Não é possível excluir esta vista porque ela possui uma linha de anotações associada que ficaria quebrada. - + The page is not empty, therefore the following referencing objects might be lost: A página não está vazia, portanto os @@ -3961,14 +3961,6 @@ ele tem uma solda de terra que ficaria quebrada. Preencher fundo sim/não - - TaskComplexSection - - - No direction set - Sem direção definida - - TaskMoveView @@ -3995,7 +3987,7 @@ ele tem uma solda de terra que ficaria quebrada. TaskPojGroup - + updates pending atualizações pendentes @@ -4006,7 +3998,7 @@ ele tem uma solda de terra que ficaria quebrada. No direction set - Sem direção definida + No direction set @@ -5567,50 +5559,50 @@ Rápido, mas produz uma coleção de linhas retas simples. Imprimir todas as páginas - + Different orientation Orientação diferente - + The printer uses a different orientation than the drawing. Do you want to continue? A impressora utiliza uma orientação diferente do que o desenho. Deseja continuar? - + Different paper size Tamanho de papel diferente - + The printer uses a different paper size than the drawing. Do you want to continue? A impressora usa um tamanho de papel diferente do que o desenho. Deseja continuar? - + Opening file failed Falha ao abrir arquivo - + Can not open file %1 for writing. Não é possível abrir o arquivo '%1' para a gravação. - + Save DXF file Salvar arquivo DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: Selecionado: @@ -6090,7 +6082,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8765,14 +8762,14 @@ usando o espaçamento X/Y fornecido TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Não é possível excluir diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-PT.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-PT.ts index fea74d771d..7de7add694 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-PT.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pt-PT.ts @@ -2014,8 +2014,8 @@ Criar vista de folha de cálculo - + Save page to dxf Salvar folha para dxf @@ -2136,12 +2136,12 @@ Criar vista de corte - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Seleção errada @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Selecção incorrecta - + Select an object first Selecione um objeto primeiro - + Too many objects selected Demasiados objetos selecionados - + Create a page first. Primeiro, crie uma página. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Nenhuma vista de uma peça na seleção. @@ -2907,8 +2907,6 @@ A aresta selecionada é uma BSpline. O raio será aproximado. Continuar? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Seleção Incorreta @@ -3059,6 +3059,9 @@ Selecione 2 pontos e 1 vista. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Tarefa em execução + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Fechar a caixa de diálogo ativa e tentar novamente. @@ -3370,50 +3370,50 @@ Não há folhas de desenho no documento. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Todos os Ficheiros (*. *) - + Export Page As PDF Exportar folha como PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exportar folha como SVG - - + + Are you sure you want to continue? Tem certeza que deseja continuar? - + Show drawing Mostrar folha de desenho - + Toggle KeepUpdated Alternar atualização automática @@ -3438,9 +3438,9 @@ Criador de Rich text + - Rich text editor Editor de Rich text @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Falha na Operação @@ -3558,8 +3558,8 @@ Editar Vista de Detalhe - + Edit %1 Edite %1 @@ -3835,17 +3835,17 @@ ela tem um símbolo de soldadura que se quebrará. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies Dependências do objeto @@ -3870,7 +3870,7 @@ ela tem um símbolo de soldadura que se quebrará. Não é possível apagar esta vista porque ela tem uma linha de chamada que ficaria quebrada. - + The page is not empty, therefore the following referencing objects might be lost: A página não está vazia, portanto os @@ -3961,14 +3961,6 @@ it has a tile weld that would become broken. Pintar fundo sim/não - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3995,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5567,49 +5559,49 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation Orientação diferente - + The printer uses a different orientation than the drawing. Do you want to continue? A impressora utiliza uma orientação diferente da folha de desenho. Deseja continuar? - + Different paper size Tamanho de papel diferente - + The printer uses a different paper size than the drawing. Do you want to continue? A impressora usa um tamanho de papel diferente da folha de desenho. Deseja continuar? - + Opening file failed Falha ao abrir ficheiro - + Can not open file %1 for writing. Não é possível abrir o ficheiro %1 para a escrita. - + Save DXF file Save DXF file - + DXF (*.dxf) DXF (*.dxf) - + Selected: Selecionado: @@ -6089,7 +6081,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8764,14 +8761,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Você não pode eliminar este balão agora porque há uma caixa de diálogo aberta. - + Can Not Delete Não é possível eliminar diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.ts index fff524b4ee..70602bc36d 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.ts @@ -2014,8 +2014,8 @@ Create spreadsheet view - + Save page to dxf Save page to dxf @@ -2136,12 +2136,12 @@ Create SectionView - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Selecţie greşită @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Selectarea incorectă - + Select an object first Selectaţi un obiect mai întâi - + Too many objects selected Prea multe obiecte selectate - + Create a page first. Creați /selectați o pagină mai întâi. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. No View of a Part in selection. @@ -2907,8 +2907,6 @@ Selected edge is a BSpline. Radius will be approximate. Continue? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Selectarea incorectă @@ -3059,6 +3059,9 @@ Select 2 point objects and 1 View. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Task In Progress + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Close active task dialog and try again. @@ -3370,50 +3370,50 @@ No Drawing Pages in document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Toate fișierele (*.*) - + Export Page As PDF Exportă pagina ca PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exportă pagina ca SVG - - + + Are you sure you want to continue? Are you sure you want to continue? - + Show drawing Arată desenul - + Toggle KeepUpdated Activează/dezactivează KeepUpdated @@ -3438,9 +3438,9 @@ Rich text creator + - Rich text editor Rich text editor @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Operation Failed @@ -3558,8 +3558,8 @@ Edit Detail View - + Edit %1 Editare %1 @@ -3835,17 +3835,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies Dependențe obiect @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. You cannot delete this view because it has a leader line that would become broken. - + The page is not empty, therefore the following referencing objects might be lost: The page is not empty, therefore the @@ -3961,14 +3961,6 @@ it has a tile weld that would become broken. Paint background yes/no - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3995,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5567,49 +5559,49 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation Orientare diferită - + The printer uses a different orientation than the drawing. Do you want to continue? Imprimanta utilizează o orientare diferită decât desenul. Doriţi să continuaţi? - + Different paper size Hârtie de dimensiune diferită - + The printer uses a different paper size than the drawing. Do you want to continue? Imprimanta utilizează o altă dimensiune de hârtie decât desenul. Doriţi să continuaţi? - + Opening file failed Deschiderea fișierului a eșuat - + Can not open file %1 for writing. Imposibil de deschis fișierul %1 la scriere. - + Save DXF file Save DXF file - + DXF (*.dxf) DXF (*.dxf) - + Selected: Selectat: @@ -6089,7 +6081,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8764,14 +8761,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ru.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ru.ts index b1bb615f2d..7ce87e4b6b 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ru.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ru.ts @@ -450,7 +450,7 @@ Cascade Horizontal Dimensions - Каскад горизонтальных размеров + Горизонтальные размеры каскада @@ -565,7 +565,7 @@ Add Circle Centerlines - Добавить осевые линии + Добавить осевые линии круга @@ -620,7 +620,7 @@ Create Horizontal Chain Dimensions - Простановка горизонтальной цепочки размеров + Создание горизонтальных размеров цепи @@ -640,7 +640,7 @@ Create Horizontal Chamfer Dimension - Создать размер горизонтальной фаски + Создать горизонтальный размер фаски @@ -1361,7 +1361,7 @@ Add Cosmetic Thread Hole Side View - Добавить косметическое отверстие для резьбы, вид сбоку + Добавить вид сбоку косметического отверстия для резьбы @@ -2014,8 +2014,8 @@ Создать электронную таблицу - + Save page to dxf Сохранить лист в DXF формате @@ -2136,12 +2136,12 @@ Создать Вид Сечения - + Create ComplexSection Создать Сложное сечение - + Edit SectionView Изменить вид Сечения @@ -2501,7 +2501,7 @@ Copy - Копировать + Скопировать @@ -2521,7 +2521,7 @@ Link - Зависимость + Ссылка @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,8 +2705,18 @@ + + + + + + + + + + Wrong selection - Неправильный выбор + Неправильное выделение @@ -2746,9 +2746,10 @@ Не найдено объектов профиля в выборке - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Некорректный выбор - + Select an object first Сначала выберите объект - + Too many objects selected Выбрано слишком много объектов - + Create a page first. Сначала создайте страницу. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Нет видов детали в выбранном. @@ -2907,8 +2907,6 @@ Выбранная грань - BSpline. Радиус будет приблизительным. Продолжить? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Некорректный выбор @@ -3059,6 +3059,9 @@ Выберите 2 точечные объекты и 1 Вид. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Задача в процессе + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Закройте окно активной задачи и повторите снова. @@ -3357,7 +3357,7 @@ No page found - Страниц не найдено + Страница не найдена @@ -3370,50 +3370,50 @@ В документе нет страниц чертежа. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Все файлы (*.*) - + Export Page As PDF Экспорт листа в PDF - + Document Name: Название документа: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Экспорт листа в SVG - - + + Are you sure you want to continue? Вы уверены, что хотите продолжить? - + Show drawing Показать чертёж - + Toggle KeepUpdated Вкл/Выкл обновление @@ -3438,9 +3438,9 @@ Создатель форматированного текста + - Rich text editor Редактор форматированного текста @@ -3505,24 +3505,24 @@ Новое сложное сечение - + Edit Complex Section Редактировать сложное сечение - + Current View Direction Текущее направление просмотра - + The view direction in BaseView coordinates Направление просмотра в координатах BaseView - + Operation Failed Операция неудачна @@ -3558,8 +3558,8 @@ Править выносной элемент - + Edit %1 Редактировать %1 @@ -3835,19 +3835,19 @@ it has a weld symbol that would become broken. Вы не можете удалить этот вид, потомучто это повредит один или более других зависимых от него видов. - + + + + - - - - - + + Object dependencies - Зависимости объектов + Зависимости объекта @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. Невозможно удалить этот вид, так как он имеет линию выноски, которая может быть разорвана. - + The page is not empty, therefore the following referencing objects might be lost: Страница не пуста, поэтому @@ -3960,14 +3960,6 @@ it has a tile weld that would become broken. Окрасить фон да/нет - - TaskComplexSection - - - No direction set - Направление не задано - - TaskMoveView @@ -3994,7 +3986,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending обновления в ожидании @@ -4470,7 +4462,7 @@ when hatching a face with a PAT pattern Hide - Спрятать + Скрыть @@ -4551,7 +4543,7 @@ when hatching a face with a PAT pattern Circular - Окружность + Круговой @@ -4566,7 +4558,7 @@ when hatching a face with a PAT pattern Inspection - Скругленный прямоугольник + Инспекция @@ -4670,12 +4662,12 @@ when hatching a face with a PAT pattern Colors - Выделение цветом + Цвета Normal - Обычные + Обычный (либо Нормаль) @@ -4715,7 +4707,7 @@ when hatching a face with a PAT pattern Selected - Выбрано + Выбранные @@ -5066,7 +5058,7 @@ Normally, no gap is used. If a gap is used, the recommended value is 6. General - Основные + Главный @@ -5270,7 +5262,7 @@ for ProjectionGroups Pattern Name - Название шаблона по умолчанию + Имя шаблона @@ -5555,7 +5547,7 @@ Fast, but result is a collection of short straight lines. Export PDF - Экспортировать в PDF + Экспорт в PDF @@ -5563,51 +5555,51 @@ Fast, but result is a collection of short straight lines. Распечатать все страницы - + Different orientation - Отличающаяся ориентация + Другая ориентация - + The printer uses a different orientation than the drawing. Do you want to continue? Принтер использует отличающуюся от чертежа ориентацию бумаги. Хотите продолжить? - + Different paper size - Отличающийся формат листа + Разный размер бумаги - + The printer uses a different paper size than the drawing. Do you want to continue? Принтер использует отличающийся от чертежа формат листа. Хотите продолжить? - + Opening file failed Ошибка при открытии файла - + Can not open file %1 for writing. Не удалось открыть файл %1 для записи. - + Save DXF file Сохранить файл в DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: Выбрано: @@ -5790,7 +5782,7 @@ Do you want to continue? Length of balloon leader line kink - Длина изгиба линии-выноски + Длина перегиба направляющей линии баллона @@ -5823,7 +5815,7 @@ Do you want to continue? Vertical - По вертикали + Вертикальный @@ -5833,7 +5825,7 @@ Do you want to continue? Horizontal - По горизонтали + Горизонталь @@ -5942,7 +5934,7 @@ Do you want to continue? Complex Section - Ступенчатый разрез + Комплексное сечение @@ -6024,7 +6016,7 @@ Do you want to continue? Identifier - Индификатор + Идентификатор @@ -6087,7 +6079,12 @@ Do you want to continue? Обновить сейчас - + + No direction set + Направление не задано + + + Can not continue. Object * %1 or %2 not found. Невозможно продолжить. Объект * %1 или %2 не найден. @@ -6415,12 +6412,12 @@ Do you want to continue? Other - Нечто + Другое Taper - Сужение + Конусность @@ -6430,7 +6427,7 @@ Do you want to continue? Counterbore - Цековка + Зенковка @@ -6633,7 +6630,7 @@ Custom: custom scale factor is used Dimension - Размер + Размеры @@ -6772,7 +6769,7 @@ be used instead of the dimension value Font Size: - Размер Шрифта: + Размер шрифта: @@ -6792,22 +6789,22 @@ be used instead of the dimension value ISO Oriented - ISO прямой + Ориентирован на ISO ISO Referencing - ISO в виде выноски + Ссылка на ISO ASME Inlined - ASME внутри линии + Интегрированный ASME ASME Referencing - ASME в виде выноски + Ссылка на ASME @@ -7028,7 +7025,7 @@ be used instead of the dimension value Pattern File - Файл штриховки + Файл шаблона @@ -7234,7 +7231,7 @@ You can pick further points to get line segments. DashDotDot - Штрихпунктир с 2 точками + ТиреТочкаТочка @@ -7426,7 +7423,7 @@ You can pick further points to get line segments. Top - Сверху + Верх @@ -7707,7 +7704,7 @@ using the given X/Y Spacing DashDotDot - Штрихпунктир с 2 точками + ТиреТочкаТочка @@ -7760,7 +7757,7 @@ using the given X/Y Spacing Custom - Дополнительно + Произвольный @@ -7878,17 +7875,17 @@ using the given X/Y Spacing Solid - Твердое тело + Твердотельный объект Dashed - Штриховая + Пунктир Dotted - Пунктирная + Пунктир точками @@ -7898,7 +7895,7 @@ using the given X/Y Spacing Line width: - Толщина линии: + Ширина линии: @@ -7938,7 +7935,7 @@ using the given X/Y Spacing Magenta - Розовый + Пурпурный @@ -7948,12 +7945,12 @@ using the given X/Y Spacing Cyan - Голубой + Циан Green - Лайм + Зеленый @@ -7982,7 +7979,7 @@ using the given X/Y Spacing Surface Finish Symbols - Символы финиша поверхности + Обозначения шероховатости поверхности @@ -8130,7 +8127,7 @@ using the given X/Y Spacing Symbol - Знак + Символ @@ -8224,7 +8221,7 @@ using the given X/Y Spacing Insert Horizontal Extent Dimension - Указать горизонтальный габаритный размер + Указать размер величения по горизонту @@ -8288,7 +8285,7 @@ using the given X/Y Spacing Insert Vertical Extent Dimension - Указать вертикальный габаритный размер + Указать размер увеличения по вертикали @@ -8495,7 +8492,7 @@ using the given X/Y Spacing Select To Page. - Выберите для страницы. + Выберите на страницу. @@ -8677,7 +8674,7 @@ using the given X/Y Spacing Tick - Засечка + Отметить @@ -8730,7 +8727,7 @@ using the given X/Y Spacing Top - Сверху + Верх @@ -8761,14 +8758,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Вы не можете удалить этот шар, потому что есть открытый диалог задач. - + Can Not Delete Невозможно удалить diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sl.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sl.ts index ab8d9fbb25..b302a5261f 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sl.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sl.ts @@ -38,7 +38,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -51,7 +51,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -64,7 +64,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -77,7 +77,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -90,7 +90,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -103,7 +103,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -129,7 +129,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -147,7 +147,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -160,7 +160,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -178,7 +178,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -191,7 +191,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -204,7 +204,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -217,7 +217,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -235,7 +235,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -248,7 +248,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -261,7 +261,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -279,7 +279,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -297,7 +297,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -310,7 +310,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -323,7 +323,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -336,7 +336,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -390,7 +390,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -408,7 +408,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -426,7 +426,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -444,13 +444,13 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje Cascade Horizontal Dimensions - Stopniči vodoravne kote + Stopničasto vodoravno kotiranje @@ -464,7 +464,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -484,7 +484,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -504,7 +504,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -522,7 +522,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -540,7 +540,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -560,7 +560,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -578,7 +578,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -596,7 +596,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -614,7 +614,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -634,7 +634,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -654,7 +654,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1374,7 +1374,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1392,7 +1392,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1415,7 +1415,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1428,12 +1428,12 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje Apply Geometric Hatch to Face - Uporabi geometrijsko črtkanje na ploskvi + Uporabi geometrično črtkanje na ploskvi @@ -1441,7 +1441,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1454,7 +1454,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1467,7 +1467,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1480,7 +1480,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1509,7 +1509,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1522,7 +1522,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1535,7 +1535,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1548,7 +1548,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1561,7 +1561,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1574,7 +1574,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1587,7 +1587,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1610,7 +1610,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1623,7 +1623,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1636,7 +1636,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1654,7 +1654,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1667,7 +1667,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1680,7 +1680,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1693,7 +1693,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1706,7 +1706,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1729,7 +1729,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1742,7 +1742,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1755,7 +1755,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1773,7 +1773,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1786,7 +1786,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1799,7 +1799,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1832,7 +1832,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1845,7 +1845,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1858,7 +1858,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1876,7 +1876,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1894,7 +1894,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1908,7 +1908,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1921,7 +1921,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1934,7 +1934,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -1952,7 +1952,7 @@ TechDraw - TehRisbe (TechDraw) + TehRisanje @@ -2014,8 +2014,8 @@ Ustvari preglednični pogled - + Save page to dxf Shrani stran kot DXF @@ -2136,12 +2136,12 @@ Ustvari prerezni pogled - + Create ComplexSection Ustvari sestavljeni prerez - + Edit SectionView Uredi prerezni pogled @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Napačna izbira @@ -2746,9 +2746,10 @@ V izboru ni nobenega prereznega predmeta - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Nepravilen izbor - + Select an object first Izberite najprej predmet - + Too many objects selected Izbranih je preveč predmetov - + Create a page first. Najprej ustvarite stran. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. V izboru ni pogleda na del. @@ -2907,8 +2907,6 @@ Izbrani rob je B-zlepek. Polmer bo približen. Nadaljevanje? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Nepravilna Izbira @@ -3059,6 +3059,9 @@ Izberite dva točkovna predmeta in en pogled. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Opravilo je v teku + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Zapri dejavno pogovorno okno z opravili in poskusi ponovno. @@ -3370,50 +3370,50 @@ V dokumentu ni strani risb. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Vse datoteke (*.*) - + Export Page As PDF Izvozi stran v PDF - + Document Name: Ime dokumenta: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Izvozi stran kot SVG - - + + Are you sure you want to continue? Ali ste prepričani da želite nadaljevati? - + Show drawing Prikaži risbo - + Toggle KeepUpdated Preklopi Ohrani posodobljeno @@ -3438,9 +3438,9 @@ Ustvarjalnik obogatenega besedila + - Rich text editor Urejevalnik obogatenega besedila @@ -3505,24 +3505,24 @@ Nov sestavljeni prerez - + Edit Complex Section Uredi sestavljeni prerez - + Current View Direction Smer trenutnega pogleda - + The view direction in BaseView coordinates Smer pogleda v sorednicah osnovnega pogleda - + Operation Failed Opravilo spodletelo @@ -3558,8 +3558,8 @@ Uredi podrobni pogled - + Edit %1 Uredi %1 @@ -3835,17 +3835,17 @@ oznako za varjenje, ki bi postala okvarjena. Tega pogleda ne morete izbrisati, ker vsebuje enega ali več odvisnih pogledov, ki bi se tako pokvarili. - + + + + - - - - - + + Object dependencies Odvisnosti predmetov @@ -3870,7 +3870,7 @@ oznako za varjenje, ki bi postala okvarjena. Tega pogleda ne morete izbrisati, ker vsebuje opisnično črto, ki bi postala okvarjena. - + The page is not empty, therefore the following referencing objects might be lost: Ta stran ni prazna, zaradi česa lahko izgubite @@ -3961,14 +3961,6 @@ vsebuje zvarni znaki, ki bi postal okvarjen. Pobarvaj ozadje da/ne - - TaskComplexSection - - - No direction set - Smer ni določena - - TaskMoveView @@ -3995,7 +3987,7 @@ vsebuje zvarni znaki, ki bi postal okvarjen. TaskPojGroup - + updates pending čakanje na posodobitve @@ -4759,7 +4751,7 @@ uporabi pri črtkanju ploskve z vzorcem PAT Dimension - Mera + Kota @@ -4809,7 +4801,7 @@ uporabi pri črtkanju ploskve z vzorcem PAT Vertex - Vertex + Oglišče @@ -4882,7 +4874,7 @@ uporabi pri črtkanju ploskve z vzorcem PAT Dimensions - Mere + Kote @@ -5566,51 +5558,51 @@ Hitro, vendar dobimo skupek kratkih ravnih črtic. Natisni vse strani - + Different orientation Druga usmerjenost - + The printer uses a different orientation than the drawing. Do you want to continue? Tiskalnik uporablja drugo usmerjenost kot risba. Ali želite nadaljevati? - + Different paper size Druga velikost papirja - + The printer uses a different paper size than the drawing. Do you want to continue? Tiskalnik uporablja drugo velikost papirja kot risba. Ali želite nadaljevati? - + Opening file failed Odpiranje datoteke ni uspelo - + Can not open file %1 for writing. Datoteke %1 ni mogoče odpreti za pisanje. - + Save DXF file Shrani datoteko DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: Izbrano: @@ -6090,7 +6082,12 @@ Ali želite nadaljevati? Posodobi zdaj - + + No direction set + Smer ni določena + + + Can not continue. Object * %1 or %2 not found. Ne da se nadaljevati. Predmetov * %1 ali %2 ni mogoče najti. @@ -6121,7 +6118,7 @@ Ali želite nadaljevati? Position - Position + Položaj @@ -6273,7 +6270,7 @@ Ali želite nadaljevati? Position - Position + Položaj @@ -8764,14 +8761,14 @@ s pomočjo podanih X/Y odmikov TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Trenutno ne morete izbrisati te opisnice, ker je odprto pogovorno okno. - + Can Not Delete Ni mogoče izbrisati diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sr-CS.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sr-CS.ts index b2a44af899..19361c4232 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sr-CS.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sr-CS.ts @@ -2014,8 +2014,8 @@ Napravi pogled of tabele - + Save page to dxf Sačuvaj crtež kao dxf @@ -2136,12 +2136,12 @@ Napravi pun presek - + Create ComplexSection Napravi složeni presek - + Edit SectionView Uredi pun presek @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Pogrešan izbor @@ -2746,9 +2746,10 @@ Nije izabran objekat sa profilom - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Pogrešan izbor - + Select an object first Prvo izaberi objekat - + Too many objects selected Previše objekata je izabrano - + Create a page first. Prvo napravi stranicu. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Nije izabran pogled dela. @@ -2907,8 +2907,6 @@ Izabrana ivica je B-Splajn. Radijus će biti približan. Nastavi? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Pogrešan izbor @@ -3059,6 +3059,9 @@ Izaberi 2 tačkasta objekta i 1 pogled. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Zadatak u toku + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Zatvori dijalog aktivnog zadatka i pokušaj ponovo. @@ -3370,50 +3370,50 @@ Nema crteža u dokumentu. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Sve Datoteke (*.*) - + Export Page As PDF Izvezi crtež kao PDF - + Document Name: Ime dokumenta: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Izvezi crtež kao SVG - - + + Are you sure you want to continue? Da li si siguran da želiš da nastaviš? - + Show drawing Prikaži crtež - + Toggle KeepUpdated Uklj/Isklj KeepUpdated (Održavaj ažurnim) @@ -3438,9 +3438,9 @@ Tvorac formatiranog teksta + - Rich text editor Urednik za formatiranje teksta @@ -3505,24 +3505,24 @@ Novi složeni presek - + Edit Complex Section Uredi složeni presek - + Current View Direction Trenutni pravac pogleda - + The view direction in BaseView coordinates Pravac pogleda u koordinatama baznog pogleda - + Operation Failed Operacija nije izvršena @@ -3558,8 +3558,8 @@ Uredi detaljni pogled - + Edit %1 Uredi %1 @@ -3835,17 +3835,17 @@ ima simbol zavarivanja koji bi se pokvario. Ne možeš obrisati ovaj pogled jer ima jedan ili više zavisnih objekata koji će postati neispravni. - + + + + - - - - - + + Object dependencies Međuzavisnosti objekata @@ -3870,7 +3870,7 @@ ima simbol zavarivanja koji bi se pokvario. Ne možeš da obrišeš ovaj pogled jer ima pokaznu liniju koja bi bila oštećena. - + The page is not empty, therefore the following referencing objects might be lost: Crtež nije prazan, zbog toga @@ -3961,14 +3961,6 @@ it has a tile weld that would become broken. Obojena pozadina Da/Ne - - TaskComplexSection - - - No direction set - Nije podešen smer - - TaskMoveView @@ -3995,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending ažuriranja na čekanju @@ -4006,7 +3998,7 @@ it has a tile weld that would become broken. No direction set - Nije podešen smer + No direction set @@ -5562,51 +5554,51 @@ Brzo, ali rezultat je skup kratkih pravih linija. Štampaj sve stranice - + Different orientation Drugačija orijentacija - + The printer uses a different orientation than the drawing. Do you want to continue? Štampač koristi drugačiju orijentaciju od crteža. Da li želiš da nastaviš? - + Different paper size Drugačija veličina papira - + The printer uses a different paper size than the drawing. Do you want to continue? Štampač koristi drugačiju veličinu papira od crteža. Da li želiš da nastaviš? - + Opening file failed Otvaranje datoteke neuspešno - + Can not open file %1 for writing. Ne mogu da otvorim datoteku %1 radi upisa. - + Save DXF file Sačuvaj DXF datoteku - + DXF (*.dxf) DXF (*.dxf) - + Selected: Izabrano: @@ -6086,7 +6078,12 @@ Da li želiš da nastaviš? Ažuriraj sad - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Ne mogu da nastavim. Objekat * %1 ili %2 nije pronađen. @@ -8760,14 +8757,14 @@ umesto dužine TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Nije moguće obrisati ovi pozicionu oznaku pošto postoji otvoren panel zadataka. - + Can Not Delete Ne može da se izbriše diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sr.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sr.ts index 216c0b9d05..79c758439a 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sr.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sr.ts @@ -2014,8 +2014,8 @@ Направи поглед од табеле - + Save page to dxf Сачувај цртеж као dxf @@ -2136,12 +2136,12 @@ Направи пун пресек - + Create ComplexSection Направи сложени пресек - + Edit SectionView Уреди пун пресек @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Погрешан избор @@ -2746,9 +2746,10 @@ Није изабран објекат са профилом - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Погрешан избор - + Select an object first Прво изабери објекат - + Too many objects selected Превише објеката је изабрано - + Create a page first. Прво направи страницу. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Није изабран поглед дела. @@ -2907,8 +2907,6 @@ Изабрана ивица је Б-Сплајн. Полупречник ће бити приближан. Настави? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Погрешан избор @@ -3059,6 +3059,9 @@ Изабери 2 тачкаста објекта и 1 поглед. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Задатак у току + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Затвори дијалог активног задатка и покушај поново. @@ -3370,50 +3370,50 @@ Нема цртежа у документу. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Све Датотеке (*.*) - + Export Page As PDF Извези цртеж као PDF - + Document Name: Име документа: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Извези цртеж као SVG - - + + Are you sure you want to continue? Да ли си сигуран да желиш да наставиш? - + Show drawing Прикажи цртеж - + Toggle KeepUpdated Укљ/Искљ KeepUpdated (Одржавај ажурним) @@ -3438,9 +3438,9 @@ Творац форматираног текста + - Rich text editor Уредник форматираног текста @@ -3505,24 +3505,24 @@ Нови сложени пресек - + Edit Complex Section Уреди сложени пресек - + Current View Direction Тренутни правац погледа - + The view direction in BaseView coordinates Правац погледа у координатама базног погледа - + Operation Failed Операција није извршена @@ -3558,8 +3558,8 @@ Уреди детаљни поглед - + Edit %1 Уреди %1 @@ -3835,17 +3835,17 @@ it has a weld symbol that would become broken. Не можеш обрисати овај поглед јер има један или више зависних објеката који ће постати неисправни. - + + + + - - - - - + + Object dependencies Међузависности објеката @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. Не можеш да обришеш овај поглед јер има показну линију која би била оштећена. - + The page is not empty, therefore the following referencing objects might be lost: Цртеж није празан, због тога @@ -3961,14 +3961,6 @@ it has a tile weld that would become broken. Обојена позадина Да/Не - - TaskComplexSection - - - No direction set - Није подешен смер - - TaskMoveView @@ -3995,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending ажурирање на чекању @@ -4006,7 +3998,7 @@ it has a tile weld that would become broken. No direction set - Није подешен смер + No direction set @@ -5562,51 +5554,51 @@ Fast, but result is a collection of short straight lines. Штампај све странице - + Different orientation Другачија оријентација - + The printer uses a different orientation than the drawing. Do you want to continue? Штампач користи другачију оријентацију од цртежа. Да ли желиш да наcтавиш? - + Different paper size Другачија величина папира - + The printer uses a different paper size than the drawing. Do you want to continue? Штампач користи другачију величину папира од цртежа. Да ли желиш да наставиш? - + Opening file failed Отварање датотеке неуcпешно - + Can not open file %1 for writing. Не могу да отворим датотеку %1 ради уписа. - + Save DXF file Сачувај DXF датотеку - + DXF (*.dxf) DXF (*.dxf) - + Selected: Изабрано: @@ -6086,7 +6078,12 @@ Do you want to continue? Ажурирај сад - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Не могу да наставим. Објекат * %1 или %2 није пронађен. @@ -8760,14 +8757,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. Није могуће обрисати ови позициону ознаку пошто постоји отворен панел задатака. - + Can Not Delete Не може да се избрише diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sv-SE.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sv-SE.ts index f7783b0d66..6675c5d581 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sv-SE.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_sv-SE.ts @@ -2014,8 +2014,8 @@ Skapa kalkylbladsvy - + Save page to dxf Spara sida på dxf @@ -2136,12 +2136,12 @@ Skapa Avsnittsvy - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Fel val @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Felaktig markering - + Select an object first Markera ett objekt först - + Too many objects selected För många objekt markerade - + Create a page first. Skapa en sida först. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Ingen delvy i markeringen. @@ -2842,7 +2842,7 @@ All Files - Alla Filer + Alla filer @@ -2907,8 +2907,6 @@ Markerad kant är en B-spline, radie kommer att vara uppskattad. Fortsätt? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Felaktig markering @@ -3059,6 +3059,9 @@ Markera 2 punktobjekt och 1 Visa. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Uppgift pågår + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Stäng aktiv uppgiftsdialog och försök igen. @@ -3370,50 +3370,50 @@ Inga Ritsidor i dokumentet. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Alla filer (*.*) - + Export Page As PDF Exportera sida som PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exportera sida som SVG - - + + Are you sure you want to continue? Är du säker på att du vill fortsätta? - + Show drawing Visa ritning - + Toggle KeepUpdated Växla "Håll uppdaterad" @@ -3438,9 +3438,9 @@ Rich Text-skapare + - Rich text editor Rich Text-redigerare @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Operationen misslyckades @@ -3558,8 +3558,8 @@ Redigera detaljvy - + Edit %1 Redigera %1 @@ -3835,17 +3835,17 @@ den har en svetssymbol som skulle bli trasig. Du kan inte ta bort denna vy eftersom den har en eller flera beroende vyer som skulle brytas. - + + + + - - - - - + + Object dependencies Objektberoenden @@ -3870,7 +3870,7 @@ den har en svetssymbol som skulle bli trasig. Du kan inte ta bort den här vyn eftersom den har en uttrÃ¥ttlinje som skulle bli bruten. - + The page is not empty, therefore the following referencing objects might be lost: Sidan är inte tom, därför är @@ -3961,14 +3961,6 @@ den har en kakel svets som skulle bli bruten. Måla bakgrund ja/nej - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3995,7 +3987,7 @@ den har en kakel svets som skulle bli bruten. TaskPojGroup - + updates pending updates pending @@ -5567,50 +5559,50 @@ Snabbt, men resultatet är en samling korta raka linjer. Print All Pages - + Different orientation Annan orientering - + The printer uses a different orientation than the drawing. Do you want to continue? Skrivaren använder en annan orientering än ritningen. Vill du fortsätta? - + Different paper size Annan pappersstorlek - + The printer uses a different paper size than the drawing. Do you want to continue? Skrivaren använder en annan pappersstorlek än ritningen. Vill du fortsätta? - + Opening file failed Fel vid filöppning - + Can not open file %1 for writing. Kan inte öppna fil %1 i skrivläge. - + Save DXF file Save DXF file - + DXF (*.dxf) DXF (*.dxf) - + Selected: Vald: @@ -6090,7 +6082,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8765,14 +8762,14 @@ med hjälp av det givna X/Y-avstånden TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_tr.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_tr.ts index 5a62a7a2ed..fe4f2c9c3a 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_tr.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_tr.ts @@ -2014,8 +2014,8 @@ Elektronik tablo görünümü oluştur - + Save page to dxf Sayfayı dxf olarak kaydedin @@ -2136,12 +2136,12 @@ KesitGörünüm Oluştur - + Create ComplexSection Create ComplexSection - + Edit SectionView Kesit Görünümünü Düzenle @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Yanlış seçim @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Yanlış seçim - + Select an object first Önce bir nesne seçin - + Too many objects selected Çok fazla nesne seçili - + Create a page first. Önce bir sayfa oluşturun. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. Seçimde Parça Görünümü Yok. @@ -2907,8 +2907,6 @@ Seçili kenar bir BSpline'dır. Yarıçap yaklaşık olacaktır. Devam? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Hatalı seçim @@ -3059,6 +3059,9 @@ 2 nokta nesnesi ve 1 görünüm seçin(2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Devam eden görevler + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Etkin görev iletişim kutusunu kapatın ve yeniden deneyin. @@ -3370,50 +3370,50 @@ Dökümanda Teknik Resim Sayfası Yok. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Tüm dosyalar (*. *) - + Export Page As PDF Sayfayı PDF olarak dışa aktar - + Document Name: Belge Adı: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Sayfayı SVG olarak dışa aktar - - + + Are you sure you want to continue? Devam etmek istediğinizden emin misiniz? - + Show drawing Çizimi göster - + Toggle KeepUpdated GüncelTutma Ayarı @@ -3438,9 +3438,9 @@ Zengin metin oluşturucusu + - Rich text editor Zengin metin düzenleyicisi @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed İşlem başarısız oldu @@ -3558,8 +3558,8 @@ Detaylı Görünümü düzenle - + Edit %1 %1'i düzenle @@ -3834,17 +3834,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies Nesne bağımlılıkları @@ -3869,7 +3869,7 @@ it has a weld symbol that would become broken. Bu görünüşü silemezsiniz çünkü bozulabilecek bir ölçü çizgisi içeriyor. - + The page is not empty, therefore the following referencing objects might be lost: Sayfa boş değil, bu yüzden aşağıdaki referans nesneleri kaybolabilecek: @@ -3958,14 +3958,6 @@ kırılır hale gelecek bir karo kaynağına sahiptir. Arkaplanı boya evet/hayır - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3992,7 +3984,7 @@ kırılır hale gelecek bir karo kaynağına sahiptir. TaskPojGroup - + updates pending updates pending @@ -5563,50 +5555,50 @@ Hızlıdır ama sonucu, kısa düz çizgilerin derlemesidir. Tüm Sayfaları Yazdır - + Different orientation Ekran yönü - + The printer uses a different orientation than the drawing. Do you want to continue? Yazıcı çizim daha farklı bir yönelim kullanır. Devam etmek istiyor musunuz? - + Different paper size Farklı kağıt boyutu - + The printer uses a different paper size than the drawing. Do you want to continue? Yazıcı, çizimden farklı bir kağıt boyutu kullanıyor. Devam etmek istiyor musun? - + Opening file failed Dosya açılamadı - + Can not open file %1 for writing. %1 dosyasını yazmak için açamazsın. - + Save DXF file DXF dosyası olarak kaydet - + DXF (*.dxf) DXF (*.dxf) - + Selected: Seçili: @@ -6086,7 +6078,12 @@ Devam etmek istiyor musun? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8761,14 +8758,14 @@ gösterimleri otomatik dağıtır TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_uk.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_uk.ts index ead3b1c6f5..340dbf14c9 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_uk.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_uk.ts @@ -2014,8 +2014,8 @@ Create spreadsheet view - + Save page to dxf Зберегти сторінку в dxf файл @@ -2136,12 +2136,12 @@ Create SectionView - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Невірний вибір @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Некоректний вибір - + Select an object first Оберіть об'єкт для початку - + Too many objects selected Обрано забагато об'єктів - + Create a page first. Спочатку створіть сторінку. + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. No View of a Part in selection. @@ -2907,8 +2907,6 @@ Selected edge is a BSpline. Radius will be approximate. Continue? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Некоректний вибір @@ -3059,6 +3059,9 @@ Select 2 point objects and 1 View. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Task In Progress + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Close active task dialog and try again. @@ -3370,50 +3370,50 @@ No Drawing Pages in document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Всі файли (*.*) - + Export Page As PDF Експорт в PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Експорт в SVG - - + + Are you sure you want to continue? Ви впевнені, що бажаєте продовжити? - + Show drawing Показати креслення - + Toggle KeepUpdated Toggle KeepUpdated @@ -3438,9 +3438,9 @@ Rich text creator + - Rich text editor Rich text editor @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Operation Failed @@ -3558,8 +3558,8 @@ Edit Detail View - + Edit %1 Редагувати %1 @@ -3835,17 +3835,17 @@ it has a weld symbol that would become broken. Не можна видалити цей вид, оскільки він має один або більше залежних видів, що будуть зламані. - + + + + - - - - - + + Object dependencies Залежності обʼєктів @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. You cannot delete this view because it has a leader line that would become broken. - + The page is not empty, therefore the following referencing objects might be lost: Сторінка не порожня, тому @@ -3961,14 +3961,6 @@ it has a tile weld that would become broken. Paint background yes/no - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3995,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5567,49 +5559,49 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation Відмінна орієнтація - + The printer uses a different orientation than the drawing. Do you want to continue? Принтер використовує відмінну від креслення орієнтацію. Бажаєте продовжити? - + Different paper size Відмінний розмір паперу - + The printer uses a different paper size than the drawing. Do you want to continue? Принтер використовує відмінний від креслення розмір паперу. Бажаєте продовжити? - + Opening file failed Відкриття файлу не вдалося - + Can not open file %1 for writing. Can not open file %1 for writing. - + Save DXF file Зберегти файл DXF - + DXF (*.dxf) DXF (*.dxf) - + Selected: Виділено: @@ -6089,7 +6081,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8764,14 +8761,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_val-ES.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_val-ES.ts index 7bd0f5191b..f0ac0e7fac 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_val-ES.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_val-ES.ts @@ -2014,8 +2014,8 @@ Create spreadsheet view - + Save page to dxf Save page to dxf @@ -2136,12 +2136,12 @@ Create SectionView - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection Selecció incorrecta @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection Selecció incorrecta - + Select an object first Seleccioneu primer un objecte - + Too many objects selected Massa objectes seleccionats - + Create a page first. Creeu una pàgina primer + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. No hi ha cap vista d'una peça en la selecció. @@ -2907,8 +2907,6 @@ L'aresta seleccionada és una BSpline. El radi serà aproximat. Voleu continuar? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection Selecció incorrecta @@ -3059,6 +3059,9 @@ Seleccioneu 2 objectes punt i una vista. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress Tasca en procés + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. Tanca el quadre de diàleg de tasques actiu i intenta-ho altra vegada. @@ -3370,50 +3370,50 @@ No hi ha cap pàgina de dibuix en el document. - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) Tots els fitxers (*.*) - + Export Page As PDF Exporta una pàgina com a PDF - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG Exportar una pàgina com a SVG - - + + Are you sure you want to continue? Are you sure you want to continue? - + Show drawing Mostra el dibuix - + Toggle KeepUpdated Activa/desactiva l'actualització automàtica @@ -3438,9 +3438,9 @@ Creador de text enriquit + - Rich text editor Editor de text enriquit @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Ha fallat l'operació @@ -3558,8 +3558,8 @@ Edit Detail View - + Edit %1 Edita %1 @@ -3835,17 +3835,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies Dependències de l'objecte @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. No podeu suprimir aquesta vista perquè conté una línia guia que es trencaria. - + The page is not empty, therefore the following referencing objects might be lost: The page is not empty, therefore the @@ -3961,14 +3961,6 @@ it has a tile weld that would become broken. Acoloreix el fons sí/no - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3995,7 +3987,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5559,49 +5551,49 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation Orientació diferent - + The printer uses a different orientation than the drawing. Do you want to continue? La impressora utilitza una orientació diferent de la del dibuix. Voleu continuar? - + Different paper size Mida de paper diferent - + The printer uses a different paper size than the drawing. Do you want to continue? La impressora utilitza una mida de paper diferent de la del dibuix. Voleu continuar? - + Opening file failed No s'ha pogut obrir el fitxer. - + Can not open file %1 for writing. No s'ha pogut obrir el fitxer %1 per a escriure-hi. - + Save DXF file Save DXF file - + DXF (*.dxf) DXF (*.dxf) - + Selected: Seleccionat: @@ -6080,7 +6072,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8755,14 +8752,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_zh-CN.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_zh-CN.ts index 3c36a00c7b..a9ad5e16cf 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_zh-CN.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_zh-CN.ts @@ -2014,8 +2014,8 @@ 创建电子表格视图 - + Save page to dxf 保存页面到 dxf @@ -2136,12 +2136,12 @@ 创建剖面视图 - + Create ComplexSection Create ComplexSection - + Edit SectionView Edit SectionView @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection 选择错误 @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection 选择错误 - + Select an object first 首先选择对象 - + Too many objects selected 选择的对象过多 - + Create a page first. 首先创建一个页面。 + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. 没有选择中零件的视图。 @@ -2907,8 +2907,6 @@ 所选边是贝赛尔曲线。 半径将是近似值。继续? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection 选择错误 @@ -3059,6 +3059,9 @@ Select 2 point objects and 1 View. (2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress 任务正在进行 + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. 关闭活动任务对话框并重试。 @@ -3370,50 +3370,50 @@ No Drawing Pages in document. - + PDF (*.pdf) PDF (* pdf) - - + + All Files (*.*) 所有文件(*.*) - + Export Page As PDF 以 PDF 格式导出页面 - + Document Name: Document Name: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG 以 SVG格式导出页面 - - + + Are you sure you want to continue? 您确定要继续吗? - + Show drawing 显示绘图 - + Toggle KeepUpdated 切换保持更新 @@ -3438,9 +3438,9 @@ 富文本生成器 + - Rich text editor 富文本编辑器 @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed Operation Failed @@ -3558,8 +3558,8 @@ 编辑局部视图 - + Edit %1 编辑 %1 @@ -3834,17 +3834,17 @@ it has a weld symbol that would become broken. 您不能删除此视图,因为它有一个或多个依赖的视图会被损坏。 - + + + + - - - - - + + Object dependencies 对象依赖关系 @@ -3869,7 +3869,7 @@ it has a weld symbol that would become broken. 您不能删除此视图,因为它有一个指引线会被损坏。 - + The page is not empty, therefore the following referencing objects might be lost: The page is not empty, therefore the @@ -3960,14 +3960,6 @@ it has a tile weld that would become broken. 绘制背景是/否 - - TaskComplexSection - - - No direction set - No direction set - - TaskMoveView @@ -3994,7 +3986,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending updates pending @@ -5566,49 +5558,49 @@ Fast, but result is a collection of short straight lines. Print All Pages - + Different orientation 不同方向 - + The printer uses a different orientation than the drawing. Do you want to continue? 打印机和图纸使用了不同的定位位置。你想要继续吗? - + Different paper size 不同的图纸大小 - + The printer uses a different paper size than the drawing. Do you want to continue? 打印机和当前图纸使用了不同大小的图纸,是否继续? - + Opening file failed 打开文件失败 - + Can not open file %1 for writing. 无法打开文件“%1”进行写入。 - + Save DXF file 保存为 Dxf 文件 - + DXF (*.dxf) DXF (*.dxf) - + Selected: 已选择: @@ -6088,7 +6080,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8763,14 +8760,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_zh-TW.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_zh-TW.ts index ee4e308ecb..cc0ea3fd3e 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_zh-TW.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_zh-TW.ts @@ -2014,8 +2014,8 @@ 建立試算表視圖 - + Save page to dxf 儲存頁面為 DXF 格式 @@ -2136,12 +2136,12 @@ 建立剖面視圖 - + Create ComplexSection Create ComplexSection - + Edit SectionView 編輯剖面視圖 @@ -2688,16 +2688,6 @@ QObject - - - - - - - - - - @@ -2715,6 +2705,16 @@ + + + + + + + + + + Wrong selection 錯誤的選取 @@ -2746,9 +2746,10 @@ No profile object found in selection - - - + + + + @@ -2760,33 +2761,33 @@ - - - - + + + Incorrect selection 不正確的選取 - + Select an object first 請先選一個物件 - + Too many objects selected 太多物件被選擇 - + Create a page first. 請先建立一個頁面 + @@ -2795,7 +2796,6 @@ - No View of a Part in selection. 選擇中的零件沒有視圖。 @@ -2907,8 +2907,6 @@ 選取邊為 B 雲形線。半徑將會是近似值。是否繼續 ? - - @@ -2928,10 +2926,12 @@ + + + - Incorrect Selection 不正確的選取 @@ -3059,6 +3059,9 @@ 選擇 2 點物件以及 1 個視圖。(2) + + + @@ -3084,11 +3087,6 @@ - - - - - @@ -3096,18 +3094,23 @@ - - - + + + + + Task In Progress 任務進行中 + + + @@ -3133,11 +3136,6 @@ - - - - - @@ -3145,14 +3143,16 @@ - - - + + + + + Close active task dialog and try again. 關閉活動任務對話框並重試。 @@ -3370,50 +3370,50 @@ 文件中沒有繪圖頁面 - + PDF (*.pdf) PDF (*.pdf) - - + + All Files (*.*) 所有檔 (*.*) - + Export Page As PDF 匯出頁面為 PDF 檔 - + Document Name: 文件名稱: - + SVG (*.svg) SVG (*.svg) - + Export page as SVG 匯出頁面為 SVG 檔 - - + + Are you sure you want to continue? 您確定要繼續嗎? - + Show drawing 顯示圖面 - + Toggle KeepUpdated 切換保持更新 @@ -3438,9 +3438,9 @@ 富文字產生器 + - Rich text editor 富文字編輯器 @@ -3505,24 +3505,24 @@ New Complex Section - + Edit Complex Section Edit Complex Section - + Current View Direction Current View Direction - + The view direction in BaseView coordinates The view direction in BaseView coordinates - + Operation Failed 操作失敗 @@ -3558,8 +3558,8 @@ 編輯詳細視圖 - + Edit %1 編輯 %1 @@ -3835,17 +3835,17 @@ it has a weld symbol that would become broken. You cannot delete this view because it has one or more dependent views that would become broken. - + + + + - - - - - + + Object dependencies 物件相依 @@ -3870,7 +3870,7 @@ it has a weld symbol that would become broken. 您不能刪除此視圖因為它有指線會損壞。 - + The page is not empty, therefore the following referencing objects might be lost: 此頁面非空白,因此接下來的參考物件可能遺失: @@ -3959,14 +3959,6 @@ it has a tile weld that would become broken. 繪製背景 是/否 - - TaskComplexSection - - - No direction set - 未設定方向 - - TaskMoveView @@ -3993,7 +3985,7 @@ it has a tile weld that would become broken. TaskPojGroup - + updates pending 更新待處理 @@ -4004,7 +3996,7 @@ it has a tile weld that would become broken. No direction set - 未設定方向 + No direction set @@ -5561,49 +5553,49 @@ Fast, but result is a collection of short straight lines. 列印全部頁面 - + Different orientation 不同方向 - + The printer uses a different orientation than the drawing. Do you want to continue? 印表機與圖面使用之方向不同,您要繼續嗎? - + Different paper size 紙張尺寸不同 - + The printer uses a different paper size than the drawing. Do you want to continue? 印表機與圖面之紙張尺寸不同,您要繼續嗎? - + Opening file failed 開啟檔案失敗 - + Can not open file %1 for writing. 無法開啟要寫入的檔案 %1 。 - + Save DXF file 儲存DXF檔 - + DXF (*.dxf) DXF (*.dxf) - + Selected: 已選取: @@ -6082,7 +6074,12 @@ Do you want to continue? Update Now - + + No direction set + No direction set + + + Can not continue. Object * %1 or %2 not found. Can not continue. Object * %1 or %2 not found. @@ -8756,14 +8753,14 @@ using the given X/Y Spacing TaskBalloon - + You cannot delete this balloon now because there is an open task dialog. You cannot delete this balloon now because there is an open task dialog. - + Can Not Delete Can Not Delete diff --git a/src/Mod/TechDraw/Gui/TaskActiveView.cpp b/src/Mod/TechDraw/Gui/TaskActiveView.cpp index e63c8b430f..bcd2c7b657 100644 --- a/src/Mod/TechDraw/Gui/TaskActiveView.cpp +++ b/src/Mod/TechDraw/Gui/TaskActiveView.cpp @@ -135,7 +135,10 @@ TechDraw::DrawViewImage* TaskActiveView::createActiveView() } //we are sure we have a 3D window! - std::string imageName = m_pageFeat->getDocument()->getUniqueObjectName("ActiveView"); + + const std::string objectName{"ActiveView"}; + std::string imageName = m_pageFeat->getDocument()->getUniqueObjectName(objectName.c_str()); + std::string generatedSuffix {imageName.substr(objectName.length())}; std::string imageType = "TechDraw::DrawViewImage"; std::string pageName = m_pageFeat->getNameInDocument(); @@ -144,6 +147,10 @@ TechDraw::DrawViewImage* TaskActiveView::createActiveView() //document by name instead of using ActiveDocument Command::doCommand(Command::Doc, "App.getDocument('%s').addObject('%s','%s')", documentName.c_str(), imageType.c_str(), imageName.c_str()); + + Command::doCommand(Command::Doc, "App.activeDocument().%s.translateLabel('DrawActiveView', 'ActiveView', '%s')", + imageName.c_str(), imageName.c_str()); + Command::doCommand(Command::Doc, "App.getDocument('%s').%s.addView(App.getDocument('%s').%s)", documentName.c_str(), pageName.c_str(), documentName.c_str(), imageName.c_str()); diff --git a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp index d21491f209..16c729bad1 100644 --- a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp @@ -61,8 +61,8 @@ TaskCenterLine::TaskCenterLine(TechDraw::DrawViewPart* partFeat, m_btnOK(nullptr), m_btnCancel(nullptr), m_edgeName(edgeName), - m_type(0), // 0 - Face, 1 - Lines, 2 - Points - m_mode(0), // 0 - vertical, 1 - horizontal, 2 - aligned + m_type(CenterLine::FACE), + m_mode(CenterLine::VERTICAL), m_editMode(editMode) { ui->setupUi(this); @@ -97,8 +97,8 @@ TaskCenterLine::TaskCenterLine(TechDraw::DrawViewPart* partFeat, m_subNames(subNames), m_geomIndex(0), m_cl(nullptr), - m_type(0), // 0 - Face, 1 - Lines, 2 - Points - m_mode(0), // 0 - vertical, 1 - horizontal, 2 - aligned + m_type(CenterLine::FACE), + m_mode(CenterLine::VERTICAL), m_editMode(editMode) { //existence of page and feature are checked by isActive method of calling command @@ -107,11 +107,11 @@ TaskCenterLine::TaskCenterLine(TechDraw::DrawViewPart* partFeat, std::string check = subNames.front(); std::string geomType = TechDraw::DrawUtil::getGeomTypeFromName(check); if (geomType == "Face") { - m_type = 0; + m_type = CenterLine::FACE; } else if (geomType == "Edge") { - m_type = 1; + m_type = CenterLine::EDGE; } else if (geomType == "Vertex") { - m_type = 2; + m_type = CenterLine::VERTEX; } else { Base::Console().Error("TaskCenterLine - unknown geometry type: %s. Can not proceed.\n", geomType.c_str()); return; @@ -143,7 +143,7 @@ void TaskCenterLine::changeEvent(QEvent *event) void TaskCenterLine::setUiConnect() { // first enabling/disabling - if (m_type == 0) // if face, then aligned is not possible + if (m_type == CenterLine::FACE) // if face, then aligned is not possible ui->rbAligned->setEnabled(false); else ui->rbAligned->setEnabled(true); @@ -192,11 +192,11 @@ void TaskCenterLine::setUiPrimary() int precision = Base::UnitsApi::getDecimals(); ui->qsbRotate->setDecimals(precision); - if (m_type == 1) { + if (m_type == CenterLine::EDGE) { int orientation = checkPathologicalEdges(m_mode); setUiOrientation(orientation); } - if (m_type == 2) { + if (m_type == CenterLine::VERTEX) { int orientation = checkPathologicalVertices(m_mode); setUiOrientation(orientation); } @@ -218,11 +218,11 @@ void TaskCenterLine::setUiEdit() ui->rbVertical->setChecked(false); ui->rbHorizontal->setChecked(false); ui->rbAligned->setChecked(false); - if (m_cl->m_mode == 0) + if (m_cl->m_mode == CenterLine::VERTICAL) ui->rbVertical->setChecked(true); - else if (m_cl->m_mode == 1) + else if (m_cl->m_mode == CenterLine::HORIZONTAL) ui->rbHorizontal->setChecked(true); - else if (m_cl->m_mode ==2) + else if (m_cl->m_mode == CenterLine::ALIGNED) ui->rbAligned->setChecked(true); Base::Quantity qVal; @@ -255,7 +255,7 @@ void TaskCenterLine::onOrientationChanged() m_cl->m_mode = CenterLine::CLMODE::ALIGNED; // for centerlines between 2 lines we cannot just recompute // because the new orientation might lead to an invalid centerline - if (m_type == 1) + if (m_type == CenterLine::EDGE) updateOrientation(); else m_partFeat->recomputeFeature(); @@ -337,7 +337,7 @@ void TaskCenterLine::onStyleChanged() // between 2 horizontal edges) int TaskCenterLine::checkPathologicalEdges(int inMode) { - if (m_type != 1) { + if (m_type != CenterLine::EDGE) { // not an edge based centerline, this doesn't apply return inMode; } @@ -367,7 +367,7 @@ int TaskCenterLine::checkPathologicalEdges(int inMode) // between 2 vertices aligned vertically) int TaskCenterLine::checkPathologicalVertices(int inMode) { - if (m_type != 2) { + if (m_type != CenterLine::VERTEX) { // not a vertex based centerline, this doesn't apply return inMode; } @@ -397,10 +397,10 @@ void TaskCenterLine::createCenterLine() Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create CenterLine")); // check for illogical parameters - if (m_type == 1) { + if (m_type == CenterLine::EDGE) { // between lines m_mode = checkPathologicalEdges(m_mode); - } else if (m_type == 2) { + } else if (m_type == CenterLine::VERTEX) { // between points m_mode = checkPathologicalVertices(m_mode); } @@ -448,14 +448,14 @@ void TaskCenterLine::updateOrientation() // https://forum.freecad.org/viewtopic.php?f=35&t=44255&start=20#p503220 // The centerline creation can fail if m_type is edge and both selected edges are vertical or horizontal. int orientation = m_cl->m_mode; - if (m_type == 1) { + if (m_type == CenterLine::EDGE) { // between lines if (!m_edgeName.empty() && !m_cl->m_edges.empty()) { // we have an existing centerline, not a freshly created one, and it is a centerline between edges m_subNames = m_cl->m_edges; orientation = checkPathologicalEdges(orientation); } - } else if (m_type == 2) { + } else if (m_type == CenterLine::VERTEX) { // between points if (!m_edgeName.empty() && !m_cl->m_verts.empty()) { // we have an existing centerline, not a freshly created one, and it is a centerline between points diff --git a/src/Mod/TechDraw/Gui/TaskComplexSection.cpp b/src/Mod/TechDraw/Gui/TaskComplexSection.cpp index 2fc73b8519..0f397a47f7 100644 --- a/src/Mod/TechDraw/Gui/TaskComplexSection.cpp +++ b/src/Mod/TechDraw/Gui/TaskComplexSection.cpp @@ -169,9 +169,7 @@ void TaskComplexSection::setUiPrimary() //don't allow updates until a direction is picked ui->pbUpdateNow->setEnabled(false); ui->cbLiveUpdate->setEnabled(false); - QString msgLiteral = - QString::fromUtf8(QT_TRANSLATE_NOOP("TaskComplexSection", "No direction set")); - ui->lPendingUpdates->setText(msgLiteral); + ui->lPendingUpdates->setText(tr("No direction set")); } void TaskComplexSection::setUiEdit() @@ -558,11 +556,16 @@ void TaskComplexSection::createComplexSection() Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create ComplexSection")); if (!m_section) { - m_sectionName = m_page->getDocument()->getUniqueObjectName("ComplexSection"); - std::string sectionType = "TechDraw::DrawComplexSection"; + const std::string objectName{QT_TR_NOOP("ComplexSection")}; + m_sectionName = m_page->getDocument()->getUniqueObjectName(objectName.c_str()); + Command::doCommand(Command::Doc, "App.ActiveDocument.addObject('TechDraw::DrawComplexSection', '%s')", + m_sectionName.c_str()); + + std::string uniqueSuffix{m_sectionName.substr(objectName.length(), std::string::npos)}; + std::string uniqueLabel = "Section" + uniqueSuffix; + Command::doCommand(Command::Doc, "App.activeDocument().%s.translateLabel('DrawComplexSection', 'Section', '%s')", + m_sectionName.c_str(), uniqueLabel.c_str()); - Command::doCommand(Command::Doc, "App.ActiveDocument.addObject('%s', '%s')", - sectionType.c_str(), m_sectionName.c_str()); Command::doCommand(Command::Doc, "App.ActiveDocument.%s.addView(App.ActiveDocument.%s)", m_page->getNameInDocument(), m_sectionName.c_str()); @@ -570,9 +573,6 @@ void TaskComplexSection::createComplexSection() std::string temp = Base::Tools::toStdString(qTemp); Command::doCommand(Command::Doc, "App.ActiveDocument.%s.SectionSymbol = '%s'", m_sectionName.c_str(), temp.c_str()); - std::string lblText = "Section " + temp + " - " + temp; - Command::doCommand(Command::Doc, "App.ActiveDocument.%s.Label = '%s'", - m_sectionName.c_str(), lblText.c_str()); Command::doCommand(Command::Doc, "App.ActiveDocument.%s.Scale = %0.6f", m_sectionName.c_str(), ui->sbScale->value()); @@ -627,6 +627,7 @@ void TaskComplexSection::createComplexSection() double rotation = requiredRotation(viewDirectionAngle); Command::doCommand(Command::Doc, "App.ActiveDocument.%s.Rotation = %.6f", m_sectionName.c_str(), rotation); + } Gui::Command::commitCommand(); } @@ -645,10 +646,11 @@ void TaskComplexSection::updateComplexSection() std::string temp = Base::Tools::toStdString(qTemp); Command::doCommand(Command::Doc, "App.ActiveDocument.%s.SectionSymbol = '%s'", m_sectionName.c_str(), temp.c_str()); - std::string lblText = "Section " + temp + " - " + temp; + std::string lblText = std::string(m_section->Label.getValue()) + " " + temp + " - " + temp; Command::doCommand(Command::Doc, "App.ActiveDocument.%s.Label = '%s'", m_sectionName.c_str(), lblText.c_str()); + Command::doCommand(Command::Doc, "App.ActiveDocument.%s.Scale = %0.6f", m_sectionName.c_str(), ui->sbScale->value()); int scaleType = ui->cmbScaleType->currentIndex(); diff --git a/src/Mod/TechDraw/Gui/TaskCosVertex.cpp b/src/Mod/TechDraw/Gui/TaskCosVertex.cpp index 851eb21e82..06781bcd07 100644 --- a/src/Mod/TechDraw/Gui/TaskCosVertex.cpp +++ b/src/Mod/TechDraw/Gui/TaskCosVertex.cpp @@ -55,6 +55,7 @@ using namespace Gui; using namespace TechDraw; using namespace TechDrawGui; +using DU = DrawUtil; TaskCosVertex::TaskCosVertex(TechDraw::DrawViewPart* baseFeat, TechDraw::DrawPage* page) : @@ -122,6 +123,7 @@ void TaskCosVertex::setUiPrimary() ui->dsbY->setUnit(Base::Unit::Length); } +// set the ui x,y to apparent coords (ie invertY) void TaskCosVertex::updateUi() { double x = m_savePoint.x(); @@ -235,6 +237,18 @@ void TaskCosVertex::onTrackerFinished(std::vector pts, QGIView* qgParen QPointF displace = dragEnd - basePosScene; QPointF scenePosCV = displace / scale; + // if the base view is rotated, we need to unrotate it before saving + double rotDeg = m_baseFeat->Rotation.getValue(); + if (rotDeg != 0.0) { + // Invert Y value so the math works. + Base::Vector3d posToRotate = DU::invertY(DU::toVector3d(scenePosCV)); + double rotRad = rotDeg * M_PI / 180.0; + // we always rotate around the origin. + posToRotate.RotateZ(-rotRad); + // now put Y value back to display form + scenePosCV = DU::toQPointF(DU::invertY(posToRotate)); + } + m_savePoint = Rez::appX(scenePosCV); updateUi(); @@ -299,6 +313,8 @@ bool TaskCosVertex::accept() return false; removeTracker(); + // whatever is in the ui for x,y is treated as an unscaled, unrotated, invertedY position. + // the position from the tracker is unscaled & unrotated before updating the ui double x = ui->dsbX->value().getValue(); double y = ui->dsbY->value().getValue(); QPointF uiPoint(x, -y); diff --git a/src/Mod/TechDraw/Gui/TaskCosmeticLine.cpp b/src/Mod/TechDraw/Gui/TaskCosmeticLine.cpp index b66d0107b6..2ff8b7e7be 100644 --- a/src/Mod/TechDraw/Gui/TaskCosmeticLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskCosmeticLine.cpp @@ -43,6 +43,7 @@ using namespace Gui; using namespace TechDraw; using namespace TechDrawGui; +using DU = DrawUtil; //ctor for edit TaskCosmeticLine::TaskCosmeticLine(TechDraw::DrawViewPart* partFeat, @@ -111,21 +112,39 @@ void TaskCosmeticLine::setUiPrimary() { setWindowTitle(QObject::tr("Create Cosmetic Line")); + double rotDeg = m_partFeat->Rotation.getValue(); + double rotRad = rotDeg * M_PI / 180.0; + Base::Vector3d centroid = m_partFeat->getCurrentCentroid(); + Base::Vector3d p1, p2; if (m_is3d.front()) { + // center, project and invert the 3d point + p1 = DrawUtil::invertY(m_partFeat->projectPoint(m_points.front() - centroid)); ui->rb2d1->setChecked(false); ui->rb3d1->setChecked(true); } else { + // invert, unscale and unrotate the selected 2d point + p1 = DU::invertY(m_points.front()) / m_partFeat->getScale(); + if (rotDeg != 0.0) { + // we always rotate around the origin. + p1.RotateZ(-rotRad); + } ui->rb2d1->setChecked(true); ui->rb3d1->setChecked(false); } + if (m_is3d.back()) { + p2 = DrawUtil::invertY(m_partFeat->projectPoint(m_points.back() - centroid)); ui->rb2d2->setChecked(false); ui->rb3d2->setChecked(true); } else { + p2 = DU::invertY(m_points.back()) / m_partFeat->getScale(); + if (rotDeg != 0.0) { + p2.RotateZ(-rotRad); + } ui->rb2d2->setChecked(true); ui->rb3d2->setChecked(false); } - Base::Vector3d p1 = m_points.front(); + ui->qsbx1->setUnit(Base::Unit::Length); ui->qsbx1->setValue(p1.x); ui->qsby1->setUnit(Base::Unit::Length); @@ -133,7 +152,6 @@ void TaskCosmeticLine::setUiPrimary() ui->qsby1->setUnit(Base::Unit::Length); ui->qsbz1->setValue(p1.z); - Base::Vector3d p2 = m_points.back(); ui->qsbx2->setUnit(Base::Unit::Length); ui->qsbx2->setValue(p2.x); ui->qsby2->setUnit(Base::Unit::Length); @@ -165,6 +183,7 @@ void TaskCosmeticLine::setUiEdit() //****************************************************************************** void TaskCosmeticLine::createCosmeticLine(void) { +// Base::Console().Message("TCL::createCosmeticLine()\n"); Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Cosmetic Line")); double x = ui->qsbx1->value().getValue(); @@ -177,18 +196,6 @@ void TaskCosmeticLine::createCosmeticLine(void) z = ui->qsbz2->value().getValue(); Base::Vector3d p1(x, y, z); - Base::Vector3d centroid = m_partFeat->getOriginalCentroid(); - - if (ui->rb3d1->isChecked()) { - p0 = p0 - centroid; - p0 = DrawUtil::invertY(m_partFeat->projectPoint(p0)); - } - - if (ui->rb3d2->isChecked()) { - p1 = p1 - centroid; - p1 = DrawUtil::invertY(m_partFeat->projectPoint(p1)); - } - m_tag = m_partFeat->addCosmeticEdge(p0, p1); m_ce = m_partFeat->getCosmeticEdge(m_tag); @@ -197,6 +204,7 @@ void TaskCosmeticLine::createCosmeticLine(void) void TaskCosmeticLine::updateCosmeticLine(void) { +// Base::Console().Message("TCL::updateCosmeticLine()\n"); double x = ui->qsbx1->value().getValue(); double y = ui->qsby1->value().getValue(); double z = ui->qsbz1->value().getValue(); @@ -212,15 +220,11 @@ void TaskCosmeticLine::updateCosmeticLine(void) //replace the geometry m_ce->permaStart = p0; m_ce->permaEnd = p1; + gp_Pnt gp1(p0.x, p0.y, p0.z); gp_Pnt gp2(p1.x, p1.y, p1.z); TopoDS_Edge e = BRepBuilderAPI_MakeEdge(gp1, gp2); -// auto oldGeom = m_ce->m_geometry; m_ce->m_geometry = TechDraw::BaseGeom::baseFactory(e); -// delete oldGeom; - -// Gui::Command::updateActive(); -// Gui::Command::commitCommand(); } //****************************************************************************** diff --git a/src/Mod/TechDraw/Gui/TaskDetail.cpp b/src/Mod/TechDraw/Gui/TaskDetail.cpp index 099b89f8cc..6ad3622b98 100644 --- a/src/Mod/TechDraw/Gui/TaskDetail.cpp +++ b/src/Mod/TechDraw/Gui/TaskDetail.cpp @@ -434,10 +434,16 @@ void TaskDetail::createDetail() // Base::Console().Message("TD::createDetail()\n"); Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Detail View")); - m_detailName = m_doc->getUniqueObjectName("Detail"); + const std::string objectName{"Detail"}; + std::string m_detailName = m_doc->getUniqueObjectName(objectName.c_str()); + std::string generatedSuffix {m_detailName.substr(objectName.length())}; Gui::Command::doCommand(Command::Doc, "App.activeDocument().addObject('TechDraw::DrawViewDetail', '%s')", m_detailName.c_str()); + + Gui::Command::doCommand(Command::Doc, "App.activeDocument().%s.translateLabel('DrawViewDetail', 'Detail', '%s')", + m_detailName.c_str(), m_detailName.c_str()); + App::DocumentObject *docObj = m_doc->getObject(m_detailName.c_str()); TechDraw::DrawViewDetail* dvd = dynamic_cast(docObj); if (!dvd) { diff --git a/src/Mod/TechDraw/Gui/TaskHatch.cpp b/src/Mod/TechDraw/Gui/TaskHatch.cpp index be995518ef..05b0129d1f 100644 --- a/src/Mod/TechDraw/Gui/TaskHatch.cpp +++ b/src/Mod/TechDraw/Gui/TaskHatch.cpp @@ -195,15 +195,22 @@ void TaskHatch::createHatch() { // Base::Console().Message("TH::createHatch()\n"); App::Document* doc = m_dvp->getDocument(); - std::string FeatName = doc->getUniqueObjectName("Hatch"); - std::stringstream featLabel; - featLabel << FeatName << "F" << - TechDraw::DrawUtil::getIndexFromName(m_subs.at(0)); //use 1st face# for label + + // TODO: the structured label for Hatch (and GeomHatch) should be retired. + const std::string objectName("Hatch"); + std::string FeatName = doc->getUniqueObjectName(objectName.c_str()); +// std::string generatedSuffix {FeatName.substr(objectName.length())}; +// std::string translatedObjectName{tr(objectName.c_str()).toStdString()}; +// std::stringstream featLabel; +// featLabel << translatedObjectName << generatedSuffix << "F" << +// TechDraw::DrawUtil::getIndexFromName(m_subs.at(0)); //use 1st face# for label Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Hatch")); Command::doCommand(Command::Doc, "App.activeDocument().addObject('TechDraw::DrawHatch', '%s')", FeatName.c_str()); - Command::doCommand(Command::Doc, "App.activeDocument().%s.Label = '%s'", FeatName.c_str(), featLabel.str().c_str()); +// Command::doCommand(Command::Doc, "App.activeDocument().%s.Label = '%s'", FeatName.c_str(), featLabel.str().c_str()); + Command::doCommand(Command::Doc, "App.activeDocument().%s.translateLabel('DrawHatch', 'Hatch', '%s')", + FeatName.c_str(), FeatName.c_str()); m_hatch = static_cast(doc->getObject(FeatName.c_str())); m_hatch->Source.setValue(m_dvp, m_subs); diff --git a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp index 34b9fce81a..22bb0416d5 100644 --- a/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskLeaderLine.cpp @@ -335,7 +335,8 @@ void TaskLeaderLine::onLineStyleChanged() void TaskLeaderLine::createLeaderFeature(std::vector converted) { // Base::Console().Message("TTL::createLeaderFeature()\n"); - m_leaderName = m_basePage->getDocument()->getUniqueObjectName("LeaderLine"); + const std::string objectName{"LeaderLine"}; + std::string m_leaderName = m_basePage->getDocument()->getUniqueObjectName(objectName.c_str()); m_leaderType = "TechDraw::DrawLeaderLine"; std::string PageName = m_basePage->getNameInDocument(); @@ -343,6 +344,9 @@ void TaskLeaderLine::createLeaderFeature(std::vector converted) Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create Leader")); Command::doCommand(Command::Doc, "App.activeDocument().addObject('%s', '%s')", m_leaderType.c_str(), m_leaderName.c_str()); + Command::doCommand(Command::Doc, "App.activeDocument().%s.translateLabel('DrawLeaderLine', 'LeaderLine', '%s')", + m_leaderName.c_str(), m_leaderName.c_str()); + Command::doCommand(Command::Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)", PageName.c_str(), m_leaderName.c_str()); if (m_baseFeat) { diff --git a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp index c2f121cfe2..d1f5d752d7 100644 --- a/src/Mod/TechDraw/Gui/TaskRichAnno.cpp +++ b/src/Mod/TechDraw/Gui/TaskRichAnno.cpp @@ -280,7 +280,9 @@ App::Color TaskRichAnno::prefLineColor() void TaskRichAnno::createAnnoFeature() { // Base::Console().Message("TRA::createAnnoFeature()"); - std::string annoName = m_basePage->getDocument()->getUniqueObjectName("RichTextAnnotation"); + const std::string objectName{QT_TR_NOOP("RichTextAnnotation")}; + std::string annoName = m_basePage->getDocument()->getUniqueObjectName(objectName.c_str()); + std::string generatedSuffix {annoName.substr(objectName.length())}; std::string annoType = "TechDraw::DrawRichAnno"; std::string PageName = m_basePage->getNameInDocument(); @@ -326,6 +328,9 @@ void TaskRichAnno::createAnnoFeature() } } + std::string translatedObjectName{tr(objectName.c_str()).toStdString()}; + obj->Label.setValue(translatedObjectName + generatedSuffix); + Gui::Command::commitCommand(); Gui::Command::updateActive(); diff --git a/src/Mod/TechDraw/Gui/TaskSectionView.cpp b/src/Mod/TechDraw/Gui/TaskSectionView.cpp index f6d2a0b93d..6f53c5f270 100644 --- a/src/Mod/TechDraw/Gui/TaskSectionView.cpp +++ b/src/Mod/TechDraw/Gui/TaskSectionView.cpp @@ -419,8 +419,8 @@ void TaskSectionView::updateNowClicked() { apply(true); } //****************************************************************************** bool TaskSectionView::apply(bool forceUpdate) { - // Base::Console().Message("TSV::apply() - liveUpdate: %d force: %d deferred: %d\n", - // ui->cbLiveUpdate->isChecked(), forceUpdate, m_applyDeferred); +// Base::Console().Message("TSV::apply() - liveUpdate: %d force: %d deferred: %d\n", +// ui->cbLiveUpdate->isChecked(), forceUpdate, m_applyDeferred); if (!ui->cbLiveUpdate->isChecked() && !forceUpdate) { //nothing to do m_applyDeferred++; @@ -495,16 +495,23 @@ TechDraw::DrawViewSection* TaskSectionView::createSectionView(void) return nullptr; } - std::string sectionName; std::string baseName = m_base->getNameInDocument(); Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Create SectionView")); if (!m_section) { - m_sectionName = m_base->getDocument()->getUniqueObjectName("SectionView"); - std::string sectionType = "TechDraw::DrawViewSection"; + const std::string objectName("SectionView"); + m_sectionName = m_base->getDocument()->getUniqueObjectName(objectName.c_str()); + Command::doCommand(Command::Doc, "App.ActiveDocument.addObject('TechDraw::DrawViewSection', '%s')", + m_sectionName.c_str()); + + // section labels (Section A-A) are not unique, and are not the same as the object name (SectionView) + // we pluck the generated suffix from the object name and append it to "Section" to generate + // unique Labels + std::string uniqueSuffix{m_sectionName.substr(objectName.length(), std::string::npos)}; + std::string uniqueLabel = "Section" + uniqueSuffix; + Command::doCommand(Command::Doc, "App.activeDocument().%s.translateLabel('DrawViewSection', 'Section', '%s')", + m_sectionName.c_str(), uniqueLabel.c_str()); - Command::doCommand(Command::Doc, "App.ActiveDocument.addObject('%s', '%s')", - sectionType.c_str(), m_sectionName.c_str()); Command::doCommand(Command::Doc, "App.ActiveDocument.%s.addView(App.ActiveDocument.%s)", m_savePageName.c_str(), m_sectionName.c_str()); Command::doCommand(Command::Doc, "App.ActiveDocument.%s.BaseView = App.ActiveDocument.%s", @@ -545,6 +552,7 @@ TechDraw::DrawViewSection* TaskSectionView::createSectionView(void) double rotation = requiredRotation(viewDirectionAngle); Command::doCommand(Command::Doc, "App.ActiveDocument.%s.Rotation = %.6f", m_sectionName.c_str(), rotation); + } Gui::Command::commitCommand(); return m_section; @@ -552,7 +560,7 @@ TechDraw::DrawViewSection* TaskSectionView::createSectionView(void) void TaskSectionView::updateSectionView() { - // Base::Console().Message("TSV::updateSectionView() - m_sectionName: %s\n", m_sectionName.c_str()); +// Base::Console().Message("TSV::updateSectionView() - m_sectionName: %s\n", m_sectionName.c_str()); if (!isSectionValid()) { failNoObject(); return; @@ -566,13 +574,15 @@ void TaskSectionView::updateSectionView() "App.ActiveDocument.%s.SectionOrigin = FreeCAD.Vector(%.3f, %.3f, %.3f)", m_sectionName.c_str(), ui->sbOrgX->value().getValue(), ui->sbOrgY->value().getValue(), ui->sbOrgZ->value().getValue()); + QString qTemp = ui->leSymbol->text(); std::string temp = Base::Tools::toStdString(qTemp); Command::doCommand(Command::Doc, "App.ActiveDocument.%s.SectionSymbol = '%s'", m_sectionName.c_str(), temp.c_str()); - std::string lblText = "Section " + temp + " - " + temp; + std::string lblText = std::string(m_section->Label.getValue()) + " " + temp + " - " + temp; Command::doCommand(Command::Doc, "App.ActiveDocument.%s.Label = '%s'", m_sectionName.c_str(), lblText.c_str()); + Command::doCommand(Command::Doc, "App.ActiveDocument.%s.Scale = %0.6f", m_sectionName.c_str(), ui->sbScale->value().getValue()); int scaleType = ui->cmbScaleType->currentIndex(); diff --git a/src/Mod/TechDraw/Gui/TaskWeldingSymbol.cpp b/src/Mod/TechDraw/Gui/TaskWeldingSymbol.cpp index 31ec9803aa..8e99d56215 100644 --- a/src/Mod/TechDraw/Gui/TaskWeldingSymbol.cpp +++ b/src/Mod/TechDraw/Gui/TaskWeldingSymbol.cpp @@ -457,7 +457,10 @@ TechDraw::DrawWeldSymbol* TaskWeldingSymbol::createWeldingSymbol() { // Base::Console().Message("TWS::createWeldingSymbol()\n"); - std::string symbolName = m_leadFeat->getDocument()->getUniqueObjectName("WeldSymbol"); + const std::string objectName{QT_TR_NOOP("SectionView")}; + std::string symbolName = m_leadFeat->getDocument()->getUniqueObjectName(objectName.c_str()); + std::string generatedSuffix {symbolName.substr(objectName.length())}; + std::string symbolType = "TechDraw::DrawWeldSymbol"; TechDraw::DrawPage* page = m_leadFeat->findParentPage(); @@ -495,6 +498,9 @@ TechDraw::DrawWeldSymbol* TaskWeldingSymbol::createWeldingSymbol() if (!newObj || !newSym) throw Base::RuntimeError("TaskWeldingSymbol - new symbol object not found"); + std::string translatedObjectName{tr(objectName.c_str()).toStdString()}; + newObj->Label.setValue(translatedObjectName + generatedSuffix); + return newSym; } diff --git a/src/Mod/TechDraw/Gui/Workbench.cpp b/src/Mod/TechDraw/Gui/Workbench.cpp index 751d47f011..60d11b8105 100644 --- a/src/Mod/TechDraw/Gui/Workbench.cpp +++ b/src/Mod/TechDraw/Gui/Workbench.cpp @@ -292,8 +292,6 @@ Gui::ToolBarItem* Workbench::setupToolBars() const *views << "TechDraw_ActiveView"; *views << "TechDraw_ProjectionGroup"; *views << "TechDraw_SectionGroup"; - // *views << "TechDraw_SectionView"; - // *views << "TechDraw_ComplexSection"; *views << "TechDraw_DetailView"; *views << "TechDraw_DraftView"; *views << "TechDraw_ArchView"; @@ -322,13 +320,10 @@ Gui::ToolBarItem* Workbench::setupToolBars() const *dims << "TechDraw_AngleDimension"; *dims << "TechDraw_3PtAngleDimension"; *dims << "TechDraw_ExtentGroup"; - // *dims << "TechDraw_HorizontalExtentDimension"; - // *dims << "TechDraw_VerticalExtentDimension"; *dims << "TechDraw_LinkDimension"; *dims << "TechDraw_Balloon"; *dims << "TechDraw_AxoLengthDimension"; *dims << "TechDraw_LandmarkDimension"; - // *dims << "TechDraw_Dimension" *dims << "TechDraw_DimensionRepair"; Gui::ToolBarItem* extattribs = new Gui::ToolBarItem(root); @@ -336,61 +331,29 @@ Gui::ToolBarItem* Workbench::setupToolBars() const *extattribs << "TechDraw_ExtensionSelectLineAttributes"; *extattribs << "TechDraw_ExtensionChangeLineAttributes"; *extattribs << "TechDraw_ExtensionExtendShortenLineGroup"; - // *extattribs << "TechDraw_ExtensionExtendLine"; - // *extattribs << "TechDraw_ExtensionShortenLine"; *extattribs << "TechDraw_ExtensionLockUnlockView"; *extattribs << "TechDraw_ExtensionPositionSectionView"; *extattribs << "TechDraw_ExtensionPosChainDimensionGroup"; - // *extattribs << "TechDraw_ExtensionPosHorizChainDimension"; - // *extattribs << "TechDraw_ExtensionPosVertChainDimension"; - // *extattribs << "TechDraw_ExtensionPosObliqueChainDimension"; *extattribs << "TechDraw_ExtensionCascadeDimensionGroup"; - // *extattribs << "TechDraw_ExtensionCascadeHorizDimension"; - // *extattribs << "TechDraw_ExtensionCascadeVertDimension"; - // *extattribs << "TechDraw_ExtensionCascadeObliqueDimension"; *extattribs << "TechDraw_ExtensionAreaAnnotation"; *extattribs << "TechDraw_ExtensionCustomizeFormat"; Gui::ToolBarItem* extcenter = new Gui::ToolBarItem(root); extcenter->setCommand("TechDraw Centerlines"); *extcenter << "TechDraw_ExtensionCircleCenterLinesGroup"; - // *extcenter << "TechDraw_ExtensionCircleCenterLines"; - // *extcenter << "TechDraw_ExtensionHoleCircle"; *extcenter << "TechDraw_ExtensionThreadsGroup"; - // *extcenter << "TechDraw_ExtensionThreadHoleSide"; - // *extcenter << "TechDraw_ExtensionThreadHoleBottom"; - // *extcenter << "TechDraw_ExtensionThreadBoltSide"; - // *extcenter << "TechDraw_ExtensionThreadBoltBottom"; *extcenter << "TechDraw_ExtensionVertexAtIntersection"; *extcenter << "TechDraw_ExtensionDrawCirclesGroup"; - // *extcenter << "TechDraw_ExtensionDrawCosmCircle"; - // *extcenter << "TechDraw_ExtensionDrawCosmArc"; - // *extcenter << "TechDraw_ExtensionDrawCosmCircle3Points"; *extcenter << "TechDraw_ExtensionLinePPGroup"; - // *extcenter << "TechDraw_ExtensionLineParallel"; - // *extcenter << "TechDraw_ExtensionLinePerpendicular"; Gui::ToolBarItem* extdimensions = new Gui::ToolBarItem(root); extdimensions->setCommand("TechDraw Extend Dimensions"); *extdimensions << "TechDraw_ExtensionCreateChainDimensionGroup"; - // *extdimensions << "TechDraw_ExtensionCreateHorizChainDimension"; - // *extdimensions << "TechDraw_ExtensionCreateVertChainDimension"; - // *extdimensions << "TechDraw_ExtensionCreateObliqueChainDimension"; *extdimensions << "TechDraw_ExtensionCreateCoordDimensionGroup"; - // *extdimensions << "TechDraw_ExtensionCreateHorizCoordDimension"; - // *extdimensions << "TechDraw_ExtensionCreateVertCoordDimension"; - // *extdimensions << "TechDraw_ExtensionCreateObliqueCoordDimension"; *extdimensions << "TechDraw_ExtensionChamferDimensionGroup"; - // *extdimensions << "TechDraw_ExtensionCreateHorizChamferDimension"; - // *extdimensions << "TechDraw_ExtensionCreateVertChamferDimension"; *extdimensions << "TechDraw_ExtensionCreateLengthArc"; *extdimensions << "TechDraw_ExtensionInsertPrefixGroup"; - // *extdimensions << "TechDraw_ExtensionInsertDiameter"; - // *extdimensions << "TechDraw_ExtensionInsertSquare"; - // *extdimensions << "TechDraw_ExtensionRemovePrefixChar"; *extdimensions << "TechDraw_ExtensionIncreaseDecreaseGroup"; - // *extdimensions << "TechDraw_ExtensionIncreaseDecimal"; - // *extdimensions << "TechDraw_ExtensionDecreaseDecimal"; Gui::ToolBarItem* file = new Gui::ToolBarItem(root); file->setCommand("TechDraw File Access"); @@ -412,9 +375,6 @@ Gui::ToolBarItem* Workbench::setupToolBars() const *anno << "TechDraw_RichTextAnnotation"; *anno << "TechDraw_CosmeticVertexGroup"; *anno << "TechDraw_CenterLineGroup"; - // *anno << "TechDraw_FaceCenterLine"; - // *anno << "TechDraw_2LineCenterLine"; - // *anno << "TechDraw_2PointCenterLine"; *anno << "TechDraw_2PointCosmeticLine"; *anno << "TechDraw_CosmeticEraser"; *anno << "TechDraw_DecorateLine"; @@ -442,8 +402,6 @@ Gui::ToolBarItem* Workbench::setupCommandBars() const *views << "TechDraw_ActiveView"; *views << "TechDraw_ProjectionGroup"; *views << "TechDraw_SectionGroup"; - // *views << "TechDraw_SectionView"; - // *views << "TechDraw_ComplexSection"; *views << "TechDraw_DetailView"; *views << "TechDraw_DraftView"; *views << "TechDraw_SpreadsheetView"; @@ -451,7 +409,6 @@ Gui::ToolBarItem* Workbench::setupCommandBars() const *views << "TechDraw_ShareView"; *views << "TechDraw_ProjectShape"; - Gui::ToolBarItem* clips = new Gui::ToolBarItem(root); clips->setCommand("TechDraw Clips"); *clips << "TechDraw_ClipGroup"; @@ -472,13 +429,10 @@ Gui::ToolBarItem* Workbench::setupCommandBars() const *dims << "TechDraw_AngleDimension"; *dims << "TechDraw_3PtAngleDimension"; *dims << "TechDraw_ExtentGroup"; - // *dims << "TechDraw_HorizontalExtentDimension"; - // *dims << "TechDraw_VerticalExtentDimension"; *dims << "TechDraw_LinkDimension"; *dims << "TechDraw_Balloon"; *dims << "TechDraw_AxoLengthDimension"; *dims << "TechDraw_LandmarkDimension"; - // *dims << "TechDraw_Dimension"; *dims << "TechDraw_DimensionRepair"; Gui::ToolBarItem* extattribs = new Gui::ToolBarItem(root); @@ -486,61 +440,29 @@ Gui::ToolBarItem* Workbench::setupCommandBars() const *extattribs << "TechDraw_ExtensionSelectLineAttributes"; *extattribs << "TechDraw_ExtensionChangeLineAttributes"; *extattribs << "TechDraw_ExtensionExtendShortenLineGroup"; - // *extattribs << "TechDraw_ExtensionExtendLine"; - // *extattribs << "TechDraw_ExtensionShortenLine"; *extattribs << "TechDraw_ExtensionLockUnlockView"; *extattribs << "TechDraw_ExtensionPositionSectionView"; *extattribs << "TechDraw_ExtensionPosChainDimensionGroup"; - // *extattribs << "TechDraw_ExtensionPosHorizChainDimension"; - // *extattribs << "TechDraw_ExtensionPosVertChainDimension"; - // *extattribs << "TechDraw_ExtensionPosObliqueChainDimension"; *extattribs << "TechDraw_ExtensionCascadeDimensionGroup"; - // *extattribs << "TechDraw_ExtensionCascadeHorizDimension"; - // *extattribs << "TechDraw_ExtensionCascadeVertDimension"; - // *extattribs << "TechDraw_ExtensionCascadeObliqueDimension"; *extattribs << "TechDraw_ExtensionAreaAnnotation"; *extattribs << "TechDraw_ExtensionCustomizeFormat"; Gui::ToolBarItem* extcenter = new Gui::ToolBarItem(root); extcenter->setCommand("TechDraw Centerlines"); *extcenter << "TechDraw_ExtensionCircleCenterLinesGroup"; - // *extcenter << "TechDraw_ExtensionCircleCenterLines"; - // *extcenter << "TechDraw_ExtensionHoleCircle"; *extcenter << "TechDraw_ExtensionThreadsGroup"; - // *extcenter << "TechDraw_ExtensionThreadHoleSide"; - // *extcenter << "TechDraw_ExtensionThreadHoleBottom"; - // *extcenter << "TechDraw_ExtensionThreadBoltSide"; - // *extcenter << "TechDraw_ExtensionThreadBoltBottom"; *extcenter << "TechDraw_ExtensionVertexAtIntersection"; *extcenter << "TechDraw_ExtensionDrawCirclesGroup"; - // *extcenter << "TechDraw_ExtensionDrawCosmCircle"; - // *extcenter << "TechDraw_ExtensionDrawCosmArc"; - // *extcenter << "TechDraw_ExtensionDrawCosmCircle3Points"; *extcenter << "TechDraw_ExtensionLinePPGroup"; - // *extcenter << "TechDraw_ExtensionLineParallel"; - // *extcenter << "TechDraw_ExtensionLinePerpendicular"; Gui::ToolBarItem* extdimensions = new Gui::ToolBarItem(root); extdimensions->setCommand("TechDraw Extend Dimensions"); *extdimensions << "TechDraw_ExtensionCreateChainDimensionGroup"; - // *extdimensions << "TechDraw_ExtensionCreateHorizChainDimension"; - // *extdimensions << "TechDraw_ExtensionCreateVertChainDimension"; - // *extdimensions << "TechDraw_ExtensionCreateObliqueChainDimension"; *extdimensions << "TechDraw_ExtensionCreateCoordDimensionGroup"; - // *extdimensions << "TechDraw_ExtensionCreateHorizCoordDimension"; - // *extdimensions << "TechDraw_ExtensionCreateVertCoordDimension"; - // *extdimensions << "TechDraw_ExtensionCreateObliqueCoordDimension"; *extdimensions << "TechDraw_ExtensionChamferDimensionGroup"; - // *extdimensions << "TechDraw_ExtensionCreateHorizChamferDimension"; - // *extdimensions << "TechDraw_ExtensionCreateVertChamferDimension"; *extdimensions << "TechDraw_ExtensionCreateLengthArc"; *extdimensions << "TechDraw_ExtensionInsertPrefixGroup"; - // *extdimensions << "TechDraw_ExtensionInsertDiameter"; - // *extdimensions << "TechDraw_ExtensionInsertSquare"; - // *extdimensions << "TechDraw_ExtensionRemovePrefixChar"; *extdimensions << "TechDraw_ExtensionIncreaseDecreaseGroup"; - // *extdimensions << "TechDraw_ExtensionIncreaseDecimal"; - // *extdimensions << "TechDraw_ExtensionDecreaseDecimal"; Gui::ToolBarItem* file = new Gui::ToolBarItem(root); file->setCommand("TechDraw File Access"); @@ -562,9 +484,6 @@ Gui::ToolBarItem* Workbench::setupCommandBars() const *anno << "TechDraw_RichTextAnnotation"; *anno << "TechDraw_CosmeticVertexGroup"; *anno << "TechDraw_CenterLineGroup"; - // *anno << "TechDraw_FaceCenterLine"; - // *anno << "TechDraw_2LineCenterLine"; - // *anno << "TechDraw_2PointCenterLine"; *anno << "TechDraw_2PointCosmeticLine"; *anno << "TechDraw_CosmeticEraser"; *anno << "TechDraw_DecorateLine"; diff --git a/src/Mod/TechDraw/TechDrawTools/TaskHoleShaftFit.py b/src/Mod/TechDraw/TechDrawTools/TaskHoleShaftFit.py index dfe8808819..74b4af08bf 100644 --- a/src/Mod/TechDraw/TechDrawTools/TaskHoleShaftFit.py +++ b/src/Mod/TechDraw/TechDrawTools/TaskHoleShaftFit.py @@ -26,8 +26,6 @@ __url__ = "https://www.freecad.org" __version__ = "00.01" __date__ = "2023/02/07" -from PySide.QtCore import QT_TRANSLATE_NOOP - import FreeCAD as App import FreeCADGui as Gui @@ -35,12 +33,14 @@ from functools import partial import os +translate = App.Qt.translate + class TaskHoleShaftFit: def __init__(self,sel): - loose = QT_TRANSLATE_NOOP("TechDraw_HoleShaftFit", "loose fit") - snug = QT_TRANSLATE_NOOP("TechDraw_HoleShaftFit", "snug fit") - press = QT_TRANSLATE_NOOP("TechDraw_HoleShaftFit", "press fit") + loose = translate("TechDraw_HoleShaftFit", "loose fit") + snug = translate("TechDraw_HoleShaftFit", "snug fit") + press = translate("TechDraw_HoleShaftFit", "press fit") self.isHole = True self.sel = sel self.holeValues = [["h9","D10",loose],["h9","E9",loose],["h9","F8",loose],["h6","G7",loose], @@ -56,7 +56,7 @@ class TaskHoleShaftFit: self._uiPath = os.path.join(self._uiPath, "Mod/TechDraw/TechDrawTools/Gui/TaskHoleShaftFit.ui") self.form = Gui.PySideUic.loadUi(self._uiPath) - self.form.setWindowTitle(QT_TRANSLATE_NOOP("TechDraw_HoleShaftFit", "Hole / Shaft Fit ISO 286")) + self.form.setWindowTitle(translate("TechDraw_HoleShaftFit", "Hole / Shaft Fit ISO 286")) self.form.rbHoleBase.clicked.connect(partial(self.on_HoleShaftChanged,True)) self.form.rbShaftBase.clicked.connect(partial(self.on_HoleShaftChanged,False)) diff --git a/src/Mod/Test/CMakeLists.txt b/src/Mod/Test/CMakeLists.txt index 67a293c69f..b4d101a0b8 100644 --- a/src/Mod/Test/CMakeLists.txt +++ b/src/Mod/Test/CMakeLists.txt @@ -5,6 +5,7 @@ SET(Test_SRCS BaseTests.py Document.py Metadata.py + StringHasher.py Menu.py TestApp.py TestGui.py diff --git a/src/Mod/Test/Gui/AppTestGui.cpp b/src/Mod/Test/Gui/AppTestGui.cpp index 5b69652b79..0efb300140 100644 --- a/src/Mod/Test/Gui/AppTestGui.cpp +++ b/src/Mod/Test/Gui/AppTestGui.cpp @@ -137,8 +137,6 @@ public: initialize("This module is the QtUnitGui module"); // register with Python } - ~Module() override {} - private: Py::Object new_UnitTest(const Py::Tuple& args) { diff --git a/src/Mod/Test/Gui/Resources/translations/Test.ts b/src/Mod/Test/Gui/Resources/translations/Test.ts index 64dba431f4..d91579fcea 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -115,12 +115,12 @@ Double click on an error in the tree view to see more information about it, incl - + About FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_be.ts b/src/Mod/Test/Gui/Resources/translations/Test_be.ts index fd561eb687..a1dd8bc5f1 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_be.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_be.ts @@ -76,7 +76,7 @@ Errors: - Паведамленні памылак (error): + Памылкі: @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Даведка - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Double click on an error in the tree view to see more information about it, incl Двойчы пстрыкніце на памылку ў дрэвы прагляду, каб паглядзець дадатковую інфармацыю аб ёй, які ўключае і трасіроўку стэка. - + About FreeCAD UnitTest Аб FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_ca.ts b/src/Mod/Test/Gui/Resources/translations/Test_ca.ts index a7ed4d5afe..2f66fdffa2 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_ca.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_ca.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Ajuda - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Feu clic a 'Comença' i s'executarà el test anteriorment produït. Feu doble clic a un error a la vista d'arbre per veure'n més informació, incloent-hi la traça de pila. - + About FreeCAD UnitTest Sobre FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_cs.ts b/src/Mod/Test/Gui/Resources/translations/Test_cs.ts index c2e3ec7579..fcb9a673b5 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_cs.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_cs.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Nápověda - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Stiskněte "start" a takto vytvořený test se spustí. Dvakrát klikněte na chybu ve stromovém zobrazení pro informace o ní včetně místa chyby. - + About FreeCAD UnitTest O FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_de.ts b/src/Mod/Test/Gui/Resources/translations/Test_de.ts index 0658586925..78d6585beb 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_de.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_de.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Hilfe - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Drücken Sie 'start' und der somit erzeugte Test wird durchlaufen. Doppelklick auf eine Fehlermeldung in der Baumstrukturansicht zeigt mehr Informationen, einschließlich eines Stacktrace. - + About FreeCAD UnitTest Über FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_el.ts b/src/Mod/Test/Gui/Resources/translations/Test_el.ts index 54c7c772a0..7bfcf5d31e 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_el.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_el.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Βοήθεια - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Double click on an error in the tree view to see more information about it, incl Κάντε διπλό κλικ σε οποιοδήποτε σφάλμα στο δενδροδιάγραμμα για να δείτε περισσότερες πληροφορίες, συμπεριλαμβανομένου του ίχνους της στοίβας. - + About FreeCAD UnitTest Σχετικά με τον Έλεγχο Μονάδων του Freecad - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_es-AR.ts b/src/Mod/Test/Gui/Resources/translations/Test_es-AR.ts index c8988b93bb..1b7158051c 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_es-AR.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_es-AR.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Ayuda - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Haga clic en 'Inicio' y se ejecutará la prueba así producida. Haga doble clic en un error en la vista de árbol para ver más información al respecto, incluido el seguimiento de la pila. - + About FreeCAD UnitTest Acerca de Unidad de Prueba FreeCAD - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_es-ES.ts b/src/Mod/Test/Gui/Resources/translations/Test_es-ES.ts index 276909dadf..24b0f6cc55 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_es-ES.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_es-ES.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Ayuda - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Haga clic en 'Inicio', y se llevará a cabo la prueba ya. Haga doble clic en un error en la vista de árbol para ver más información sobre él, incluyendo el seguimiento de la pila. - + About FreeCAD UnitTest Acerca de FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_eu.ts b/src/Mod/Test/Gui/Resources/translations/Test_eu.ts index 99e528093d..5415f05a8b 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_eu.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_eu.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Laguntza - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -115,12 +115,12 @@ Double click on an error in the tree view to see more information about it, incl Sartu izendagarria den objektuaren izena. Deitutakoan TestCase bat itzuliko du. Klikatu 'Hasi' eta proba abiatuko da. - + About FreeCAD UnitTest FreeCAD UnitTest aplikazioari buruz - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_fi.ts b/src/Mod/Test/Gui/Resources/translations/Test_fi.ts index 47d91624f1..a88353550b 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_fi.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_fi.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Helppi - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Napsauta 'alkaa', ja näin tuotettu testi suoritetaan. Kaksoisnapsauta puunäkymässä olevaa virhettä nähdäksesi lisää tietoa siitä, mukaan lukien pinottu jälki. - + About FreeCAD UnitTest Tietoja FreeCAD-yksikkötestauksesta - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_fr.ts b/src/Mod/Test/Gui/Resources/translations/Test_fr.ts index 32934726ae..dea77d6daa 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_fr.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_fr.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Aide - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Cliquer sur "Démarrer" et le test démarrera. Double-cliquer sur une erreur dans la vue en arborescence pour voir plus d'informations, y compris l'historique de la pile. - + About FreeCAD UnitTest À propos des tests unitaires FreeCAD - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_gl.ts b/src/Mod/Test/Gui/Resources/translations/Test_gl.ts index 4685bae329..13762418ab 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_gl.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_gl.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Axuda - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -117,12 +117,12 @@ Double click on an error in the tree view to see more information about it, incl Premer dúas veces sobre un erro na visualización en árbore para ver máis información sobre el, incluíndo o seguimento de morea. - + About FreeCAD UnitTest Sobre o UnitTest do FreeCAD - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_hr.ts b/src/Mod/Test/Gui/Resources/translations/Test_hr.ts index 5faf363456..87596a4b36 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_hr.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_hr.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Pomoć - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Pritisnite 'start' i tako pokrenite test. Dvostruk pritisnite na pogrešku u prikazu stabla za više informacija o njoj, uključujući i stablo poziva. - + About FreeCAD UnitTest O FreeCAD UnitTest-u - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_hu.ts b/src/Mod/Test/Gui/Resources/translations/Test_hu.ts index 7ceeedef49..1af4022b49 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_hu.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_hu.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Súgó - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Nyomjon 'Indítás'-t, és az így készült vizsgálat futni fog. Dupla kattintással, a fa nézeten további információkat kap, beleértve a verem-nyomkövetést. - + About FreeCAD UnitTest FreeCAD Egység-Teszt névjegye - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_id.ts b/src/Mod/Test/Gui/Resources/translations/Test_id.ts index 6bbd79dbe4..821ba641af 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_id.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_id.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Bantuan - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Click 'start', and the test thus produced will be run. Double click on an error in the tree view to see more information about it, including the stack trace. - + About FreeCAD UnitTest Tentang FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_it.ts b/src/Mod/Test/Gui/Resources/translations/Test_it.ts index 8deb33288e..ad1b4b227c 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_it.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_it.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Aiuto - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -117,12 +117,12 @@ Double click on an error in the tree view to see more information about it, incl Fare doppio clic su un errore nell'albero per visualizzare maggiori informazioni, inclusa la cronologia. - + About FreeCAD UnitTest Informazioni su FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_ja.ts b/src/Mod/Test/Gui/Resources/translations/Test_ja.ts index 3673524239..91271f15d2 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_ja.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_ja.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help ヘルプ - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -117,12 +117,12 @@ Double click on an error in the tree view to see more information about it, incl ツリービューでエラーをダブルクリックすると、スタックトレースなどの詳細情報が表示されます。 - + About FreeCAD UnitTest FreeCAD ユニットテストについて - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_ka.ts b/src/Mod/Test/Gui/Resources/translations/Test_ka.ts index 09bea59cc1..f58c036c5b 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_ka.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_ka.ts @@ -51,7 +51,7 @@ &Close - დახურვა (&c) + &დახურვა @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help დახმარება - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Double click on an error in the tree view to see more information about it, incl შეცდომაზე ორჯერ დაწკაპუნებით თქვენ მიიღებთ მეტ ინფორმაციას, stack trace-ის ჩათვლით. - + About FreeCAD UnitTest FreeCAD UnitTest-ის შესახებ - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_ko.ts b/src/Mod/Test/Gui/Resources/translations/Test_ko.ts index 2ab94e38b0..a0b091425b 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_ko.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_ko.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help 도움말 - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Double click on an error in the tree view to see more information about it, incl 트리 뷰의 오류를 더블 클릭하면 스택 추적을 포함하여 더 자세한 정보를 확인할 수 있습니다 - + About FreeCAD UnitTest FreeCAD 유닛테스트에 대하여 - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_nl.ts b/src/Mod/Test/Gui/Resources/translations/Test_nl.ts index 211eb9cbd8..56164e1d70 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_nl.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_nl.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Help - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Klik op 'start' en de aldus geproduceerde test wordt uitgevoerd. Dubbelklik op een fout in de structuurweergave om meer informatie erover te zien, inclusief de stacktracering. - + About FreeCAD UnitTest Over FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_pl.ts b/src/Mod/Test/Gui/Resources/translations/Test_pl.ts index d9ab3b203e..1e7ee6efd4 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_pl.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_pl.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Pomoc - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Kliknij 'start', a utworzony w ten sposób test zostanie uruchomiony. Kliknij dwukrotnie na pozycję z błędem w widoku drzewa, aby zobaczyć więcej informacji na jego temat, w tym śledzenie stosu. - + About FreeCAD UnitTest O środowisku pracy FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_pt-BR.ts b/src/Mod/Test/Gui/Resources/translations/Test_pt-BR.ts index 0403951d3d..acbb245539 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_pt-BR.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_pt-BR.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Ajuda - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Clique em "Iniciar" e o teste produzido será executado. Clique duas vezes em um erro na exibição em árvore para ver mais informações sobre ele, incluindo o rastreamento de pilha. - + About FreeCAD UnitTest Sobre o teste de unidade do FreeCAD - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_pt-PT.ts b/src/Mod/Test/Gui/Resources/translations/Test_pt-PT.ts index d9736f22c2..2549921da3 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_pt-PT.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_pt-PT.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Ajuda - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -115,12 +115,12 @@ Double click on an error in the tree view to see more information about it, incl Digite o nome de um objeto invocável que quando chamado, irá retornar um TestCase. Clique 'Iniciar' e o teste produzido será executado. Dê um duplo clique sobre um erro na exibição em árvore para ver mais informações sobre ele, incluindo a pilha de rastreamento. - + About FreeCAD UnitTest Sobre a unidade de Teste do FreeCAD - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_ro.ts b/src/Mod/Test/Gui/Resources/translations/Test_ro.ts index 71826da8f7..a088e4c331 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_ro.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_ro.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Ajutor - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Click 'start', și testul acestuia va rula Double click pe o eroare în arborele vederilor pentru a vedea mai multe informații despre aceasta, inclusiv stack trace. - + About FreeCAD UnitTest Despre FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_ru.ts b/src/Mod/Test/Gui/Resources/translations/Test_ru.ts index fc28392018..1d74f960b4 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_ru.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_ru.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Справка - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Double click on an error in the tree view to see more information about it, incl Сделайте двойной щелчок на ошибке в древовидном списке для дополнительной информации о ней, включая стек вызовов. - + About FreeCAD UnitTest О FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_sl.ts b/src/Mod/Test/Gui/Resources/translations/Test_sl.ts index e582962c0b..74b681f8d8 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_sl.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_sl.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Pomoč - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -117,12 +117,12 @@ Double click on an error in the tree view to see more information about it, incl Da bi izvedeli več o napaki, v drevesnem prikazu dvakrat kliknite na napako in boste dobili podatke vključno s sledjo sklada. - + About FreeCAD UnitTest O FreeCAD UnitTestu - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_sr-CS.ts b/src/Mod/Test/Gui/Resources/translations/Test_sr-CS.ts index 421613e48b..56636d0365 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_sr-CS.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_sr-CS.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Pomoć - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Click 'start', and the test thus produced will be run. Double click on an error in the tree view to see more information about it, including the stack trace. - + About FreeCAD UnitTest O FreeCAD UnitTest programu - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_sr.ts b/src/Mod/Test/Gui/Resources/translations/Test_sr.ts index fa1ff400d0..e5498f89cf 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_sr.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_sr.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Помоћ - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Double click on an error in the tree view to see more information about it, incl Два пута кликните на грешку у прегледу стаблом да видите више информација о њему, укључујући праћење спремника. - + About FreeCAD UnitTest О FreeCAD UnitTest програму - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_sv-SE.ts b/src/Mod/Test/Gui/Resources/translations/Test_sv-SE.ts index 7fd7d1b597..fc032e6bc3 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_sv-SE.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_sv-SE.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Hjälp - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Klicka på 'Start', för att köra testet. Dubbelklicka på ett fel i trädvyn för att se mer information om det, inklusive anropsstacken. - + About FreeCAD UnitTest Om FreeCAD EnhetsTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_tr.ts b/src/Mod/Test/Gui/Resources/translations/Test_tr.ts index da61ac824d..ab083f91e1 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_tr.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_tr.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Yardım - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Double click on an error in the tree view to see more information about it, incl Yığın iz dahil, hata hakkında daha fazla bilgi almak için unsur ağacında hatanın üzerine çift tıklayın. - + About FreeCAD UnitTest FreeCAD Birim Denemesi hakkında - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_uk.ts b/src/Mod/Test/Gui/Resources/translations/Test_uk.ts index 0bb4c50446..5983f69481 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_uk.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_uk.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Допомога - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Double click on an error in the tree view to see more information about it, incl Зробіть подвійне клацання на помилку в деревовидному списку для додаткової інформації про неї, включаючи стек викликів. - + About FreeCAD UnitTest Про Модульний Тест FreeCAD - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_val-ES.ts b/src/Mod/Test/Gui/Resources/translations/Test_val-ES.ts index b4036e7f51..b5cd78bfd9 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_val-ES.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_val-ES.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help Ajuda - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -115,12 +115,12 @@ Double click on an error in the tree view to see more information about it, incl Introduïu el nom d'un objecte rescatable, quan es cride retornarà un TestCase. Feu clic a 'Comença' i s'executarà el test d'aquest procediment. Feu doble clic en un error en la vista en arbre per a veure'n més informació, incloent-hi el rastreig de pila. - + About FreeCAD UnitTest Quant al FreeCAD UnitTest - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_zh-CN.ts b/src/Mod/Test/Gui/Resources/translations/Test_zh-CN.ts index 602b0cc94c..b882e710ad 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_zh-CN.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_zh-CN.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help 帮助 - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -115,12 +115,12 @@ Double click on an error in the tree view to see more information about it, incl 输入可调用对象的名称, 当调用时, 将返回测试用例。单击 "开始", 将运行由此生成的测试。双击树视图中的一个错误, 查看有关它的更多信息, 包括堆栈跟踪。 - + About FreeCAD UnitTest 关于FreeCAD单元测试 - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/Resources/translations/Test_zh-TW.ts b/src/Mod/Test/Gui/Resources/translations/Test_zh-TW.ts index bab1c97838..609f0d2280 100644 --- a/src/Mod/Test/Gui/Resources/translations/Test_zh-TW.ts +++ b/src/Mod/Test/Gui/Resources/translations/Test_zh-TW.ts @@ -102,12 +102,12 @@ TestGui::UnitTestDialog - + Help 説明 - + Enter the name of a callable object which, when called, will return a TestCase. Click 'start', and the test thus produced will be run. @@ -118,12 +118,12 @@ Double click on an error in the tree view to see more information about it, incl 點兩下樹狀檢視中的錯誤以查看有關它的更多資訊,包括堆棧跟踪。 - + About FreeCAD UnitTest 關於 FreeCAD 單位測試 - + Copyright (c) Werner Mayer FreeCAD UnitTest is part of FreeCAD and supports writing Unit Tests for ones own modules. diff --git a/src/Mod/Test/Gui/UnitTestImp.cpp b/src/Mod/Test/Gui/UnitTestImp.cpp index 3689581c47..6916dd17cf 100644 --- a/src/Mod/Test/Gui/UnitTestImp.cpp +++ b/src/Mod/Test/Gui/UnitTestImp.cpp @@ -22,6 +22,7 @@ #include "PreCompiled.h" #ifndef _PreComp_ +# include # include #endif @@ -95,9 +96,7 @@ UnitTestDialog::UnitTestDialog(QWidget* parent, Qt::WindowFlags f) /** * Destroys the object and frees any allocated resources */ -UnitTestDialog::~UnitTestDialog() -{ -} +UnitTestDialog::~UnitTestDialog() = default; void UnitTestDialog::setupConnections() { @@ -307,7 +306,9 @@ bool UnitTestDialog::runCurrentTest() */ void UnitTestDialog::setStatusText(const QString& text) { - ui->textLabelStatus->setText(text); + QFontMetrics fm(font()); + int labelWidth = ui->textLabelStatus->width() - 10; + ui->textLabelStatus->setText(fm.elidedText(text, Qt::ElideMiddle, labelWidth)); } /** diff --git a/src/Mod/Test/Gui/UnitTestPy.cpp b/src/Mod/Test/Gui/UnitTestPy.cpp index 2fc55515dc..6736cca7e6 100644 --- a/src/Mod/Test/Gui/UnitTestPy.cpp +++ b/src/Mod/Test/Gui/UnitTestPy.cpp @@ -60,13 +60,9 @@ void UnitTestDialogPy::init_type() add_varargs_method("clearUnitTests",&UnitTestDialogPy::clearUnitTests,"clearUnitTests"); } -UnitTestDialogPy::UnitTestDialogPy() -{ -} +UnitTestDialogPy::UnitTestDialogPy() = default; -UnitTestDialogPy::~UnitTestDialogPy() -{ -} +UnitTestDialogPy::~UnitTestDialogPy() = default; Py::Object UnitTestDialogPy::repr() { diff --git a/src/Mod/Test/Init.py b/src/Mod/Test/Init.py index b9519da36d..a56f9f72ca 100644 --- a/src/Mod/Test/Init.py +++ b/src/Mod/Test/Init.py @@ -28,5 +28,6 @@ FreeCAD.__unit_test__ += [ "BaseTests", "UnitTests", "Document", "Metadata", + "StringHasher", "UnicodeTests", "TestPythonSyntax" ] diff --git a/src/Mod/Test/StringHasher.py b/src/Mod/Test/StringHasher.py new file mode 100644 index 0000000000..98a82f975f --- /dev/null +++ b/src/Mod/Test/StringHasher.py @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +#*************************************************************************** +#* Copyright (c) 2023 Mario Passaglia * +#* * +#* This file is part of FreeCAD. * +#* * +#* FreeCAD is free software: you can redistribute it and/or modify it * +#* under the terms of the GNU Lesser General Public License as * +#* published by the Free Software Foundation, either version 2.1 of the * +#* License, or (at your option) any later version. * +#* * +#* FreeCAD is distributed in the hope that it will be useful, but * +#* WITHOUT ANY WARRANTY; without even the implied warranty of * +#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * +#* Lesser General Public License for more details. * +#* * +#* You should have received a copy of the GNU Lesser General Public * +#* License along with FreeCAD. If not, see * +#* . * +#* * +#**************************************************************************/ + +import FreeCAD +import unittest + + +class TestStringHasher(unittest.TestCase): + def setUp(self): + self.strHash = FreeCAD.StringHasher() + self.strID = self.strHash.getID("A") + + def testInit(self): + with self.assertRaises(TypeError): + FreeCAD.StringHasher(0) + + def testGetID(self): + with self.assertRaises(ValueError): + self.strHash.getID(0) + + def testStringHasherIsSame(self): + with self.assertRaises(TypeError): + self.strHash.isSame(0) + + def testStringIDIsSame(self): + with self.assertRaises(TypeError): + self.strID.isSame(0) diff --git a/src/Mod/Tux/Resources/translations/Tux_de.qm b/src/Mod/Tux/Resources/translations/Tux_de.qm index c8af68a74e..cb1ec12900 100644 Binary files a/src/Mod/Tux/Resources/translations/Tux_de.qm and b/src/Mod/Tux/Resources/translations/Tux_de.qm differ diff --git a/src/Mod/Tux/Resources/translations/Tux_de.ts b/src/Mod/Tux/Resources/translations/Tux_de.ts index 1ff952bf19..fa3b791202 100644 --- a/src/Mod/Tux/Resources/translations/Tux_de.ts +++ b/src/Mod/Tux/Resources/translations/Tux_de.ts @@ -6,7 +6,7 @@ Select - Wähle + Auswählen diff --git a/src/Mod/Tux/Resources/translations/Tux_fr.qm b/src/Mod/Tux/Resources/translations/Tux_fr.qm index a7c481237f..c4d66f493a 100644 Binary files a/src/Mod/Tux/Resources/translations/Tux_fr.qm and b/src/Mod/Tux/Resources/translations/Tux_fr.qm differ diff --git a/src/Mod/Tux/Resources/translations/Tux_fr.ts b/src/Mod/Tux/Resources/translations/Tux_fr.ts index 4e9cf5207b..76ab2dde26 100644 --- a/src/Mod/Tux/Resources/translations/Tux_fr.ts +++ b/src/Mod/Tux/Resources/translations/Tux_fr.ts @@ -6,7 +6,7 @@ Select - Sélectionner + Sélectionnez @@ -61,7 +61,7 @@ Settings - Réglages + Paramètres diff --git a/src/Mod/Tux/Resources/translations/Tux_id.qm b/src/Mod/Tux/Resources/translations/Tux_id.qm index 2575582c03..d4ea4ec986 100644 Binary files a/src/Mod/Tux/Resources/translations/Tux_id.qm and b/src/Mod/Tux/Resources/translations/Tux_id.qm differ diff --git a/src/Mod/Tux/Resources/translations/Tux_ka.qm b/src/Mod/Tux/Resources/translations/Tux_ka.qm index 75a9232b78..b396dc175f 100644 Binary files a/src/Mod/Tux/Resources/translations/Tux_ka.qm and b/src/Mod/Tux/Resources/translations/Tux_ka.qm differ diff --git a/src/Mod/Tux/Resources/translations/Tux_ka.ts b/src/Mod/Tux/Resources/translations/Tux_ka.ts index fbc30740b5..94370f7bcc 100644 --- a/src/Mod/Tux/Resources/translations/Tux_ka.ts +++ b/src/Mod/Tux/Resources/translations/Tux_ka.ts @@ -61,7 +61,7 @@ Settings - გამართვა + მორგება diff --git a/src/Mod/Tux/Resources/translations/Tux_nl.qm b/src/Mod/Tux/Resources/translations/Tux_nl.qm index 9d9014e589..436341b68f 100644 Binary files a/src/Mod/Tux/Resources/translations/Tux_nl.qm and b/src/Mod/Tux/Resources/translations/Tux_nl.qm differ diff --git a/src/Mod/Tux/Resources/translations/Tux_nl.ts b/src/Mod/Tux/Resources/translations/Tux_nl.ts index 578b4647d4..a034e39572 100644 --- a/src/Mod/Tux/Resources/translations/Tux_nl.ts +++ b/src/Mod/Tux/Resources/translations/Tux_nl.ts @@ -66,7 +66,7 @@ Orbit style - Orbit stijl + Rotatiebaan stijl @@ -86,7 +86,7 @@ Free Turntable - Free Turntable + Vrije draaitafel diff --git a/src/Mod/Tux/Resources/translations/Tux_ru.qm b/src/Mod/Tux/Resources/translations/Tux_ru.qm index 0c55db215c..55b40cff4a 100644 Binary files a/src/Mod/Tux/Resources/translations/Tux_ru.qm and b/src/Mod/Tux/Resources/translations/Tux_ru.qm differ diff --git a/src/Mod/Tux/Resources/translations/Tux_ru.ts b/src/Mod/Tux/Resources/translations/Tux_ru.ts index 56cccff890..98a2ed7864 100644 --- a/src/Mod/Tux/Resources/translations/Tux_ru.ts +++ b/src/Mod/Tux/Resources/translations/Tux_ru.ts @@ -66,7 +66,7 @@ Orbit style - Вращение + Орбитальный стиль @@ -81,12 +81,12 @@ Turntable - Поворотный круг + Поворотный стол Free Turntable - Свободное вращение + Свободный Поворотный стол diff --git a/src/Mod/Tux/Resources/translations/Tux_sl.qm b/src/Mod/Tux/Resources/translations/Tux_sl.qm index 74c7381288..0bf1a25a1f 100644 Binary files a/src/Mod/Tux/Resources/translations/Tux_sl.qm and b/src/Mod/Tux/Resources/translations/Tux_sl.qm differ diff --git a/src/Mod/Tux/Resources/translations/Tux_sl.ts b/src/Mod/Tux/Resources/translations/Tux_sl.ts index e6cd3acaa7..533de55250 100644 --- a/src/Mod/Tux/Resources/translations/Tux_sl.ts +++ b/src/Mod/Tux/Resources/translations/Tux_sl.ts @@ -6,7 +6,7 @@ Select - Izberite + Izberi @@ -81,7 +81,7 @@ Turntable - Sukajoča pogled + Sukajoči pogled @@ -91,7 +91,7 @@ Trackball - Vrtilna krogla + Sledilna kroglica diff --git a/src/Mod/Web/App/AppWeb.cpp b/src/Mod/Web/App/AppWeb.cpp index b9e1afb94e..0a3c0e1cee 100644 --- a/src/Mod/Web/App/AppWeb.cpp +++ b/src/Mod/Web/App/AppWeb.cpp @@ -79,8 +79,6 @@ public: initialize("This module is the Web module."); // register with Python } - ~Module() override {} - private: Py::Object startServer(const Py::Tuple& args) { diff --git a/src/Mod/Web/App/Server.cpp b/src/Mod/Web/App/Server.cpp index 50e93c2130..3d77315f46 100644 --- a/src/Mod/Web/App/Server.cpp +++ b/src/Mod/Web/App/Server.cpp @@ -51,13 +51,9 @@ void Firewall::setInstance(Firewall* inst) } } -Firewall::Firewall() -{ -} +Firewall::Firewall() = default; -Firewall::~Firewall() -{ -} +Firewall::~Firewall() = default; bool Firewall::filter(const QByteArray&) const { @@ -69,9 +65,7 @@ FirewallPython::FirewallPython(const Py::Object& o) { } -FirewallPython::~FirewallPython() -{ -} +FirewallPython::~FirewallPython() = default; bool FirewallPython::filter(const QByteArray& msg) const { @@ -96,9 +90,7 @@ ServerEvent::ServerEvent(QTcpSocket* sock, const QByteArray& msg) { } -ServerEvent::~ServerEvent() -{ -} +ServerEvent::~ServerEvent() = default; QTcpSocket* ServerEvent::socket() const { diff --git a/src/Mod/Web/Gui/AppWebGui.cpp b/src/Mod/Web/Gui/AppWebGui.cpp index 7090c30242..74dea776ef 100644 --- a/src/Mod/Web/Gui/AppWebGui.cpp +++ b/src/Mod/Web/Gui/AppWebGui.cpp @@ -78,8 +78,6 @@ public: initialize("This module is the WebGui module."); // register with Python } - ~Module() override {} - private: Py::Object openBrowser(const Py::Tuple& args) { diff --git a/src/Mod/Web/Gui/BrowserView.cpp b/src/Mod/Web/Gui/BrowserView.cpp index 4d99db8565..54b135a6b2 100644 --- a/src/Mod/Web/Gui/BrowserView.cpp +++ b/src/Mod/Web/Gui/BrowserView.cpp @@ -126,9 +126,8 @@ UrlWidget::UrlWidget(BrowserView *view) : setText(QLatin1String("https://")); hide(); } -UrlWidget::~UrlWidget() -{ -} + +UrlWidget::~UrlWidget() = default; void UrlWidget::keyPressEvent(QKeyEvent *keyEvt) { @@ -201,9 +200,7 @@ BrowserViewPy::BrowserViewPy(BrowserView* view) : base(view) { } -BrowserViewPy::~BrowserViewPy() -{ -} +BrowserViewPy::~BrowserViewPy() = default; BrowserView* BrowserViewPy::getBrowserViewPtr() { diff --git a/src/Mod/Web/Gui/CookieJar.cpp b/src/Mod/Web/Gui/CookieJar.cpp index ded5ffeb2e..c1bbf333bc 100644 --- a/src/Mod/Web/Gui/CookieJar.cpp +++ b/src/Mod/Web/Gui/CookieJar.cpp @@ -82,9 +82,9 @@ void FcCookieJar::extractRawCookies() QList cookies = allCookies(); m_rawCookies.clear(); - for (QList::iterator i = cookies.begin(); i != cookies.end(); i++) { - if (!(*i).isSessionCookie()) - m_rawCookies.append((*i).toRawForm()); + for (const auto& it : cookies) { + if (!it.isSessionCookie()) + m_rawCookies.append(it.toRawForm()); } } @@ -94,8 +94,8 @@ void FcCookieJar::saveToDisk() if (m_file.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream out(&m_file); - for (QList::iterator i = m_rawCookies.begin(); i != m_rawCookies.end(); i++) { - out << (*i) + "\n"; + for (const auto& it : m_rawCookies) { + out << it + "\n"; } m_file.close(); } else diff --git a/src/Mod/Web/Gui/Resources/translations/Web.ts b/src/Mod/Web/Gui/Resources/translations/Web.ts index 17eafa1933..12486e3b27 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web.ts @@ -128,13 +128,13 @@ QObject - - + + Browser - + File does not exist! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - + Loading %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser - + Open in new window - + View source diff --git a/src/Mod/Web/Gui/Resources/translations/Web_be.ts b/src/Mod/Web/Gui/Resources/translations/Web_be.ts index a800b3146d..7521e53c3a 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_be.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_be.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Інтэрнэт-аглядальнік - + File does not exist! Файл не існуе! @@ -142,24 +142,26 @@ WebGui::BrowserView - + + - Error Памылка - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Пры загрузцы файла ўзніклі памылкі. Некаторыя дадзеныя маглі быць змененыя альбо наогул не адноўленыя. Паглядзіце ў акне справаздачы для атрымання больш падрабязнай інфармацыі аб закранутых аб'ектах. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - Пры загрузцы файла былі дапушчаныя сур'ёзныя памылкі. Некаторыя дадзеныя маглі быць змененыя ці наогул не адноўленыя. Захаванне праекта, хутчэй за ўсё, прывядзе да страты дадзеных. + Пры загрузцы файла былі дапушчаныя сур'ёзныя памылкі. +Некаторыя дадзеныя маглі быць змененыя ці наогул не адноўленыя. +Захаванне праекта, хутчэй за ўсё, прывядзе да страты дадзеных. - + Loading %1... Загрузка %1... @@ -167,17 +169,17 @@ WebGui::WebView - + Open in External Browser Адчыніць у вонкавым Інтэрнэт-аглядальніку - + Open in new window Адчыніць у новым акне - + View source Глядзець зыходны код diff --git a/src/Mod/Web/Gui/Resources/translations/Web_ca.ts b/src/Mod/Web/Gui/Resources/translations/Web_ca.ts index 997c74adc8..23d1d1320d 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_ca.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_ca.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Navegador - + File does not exist! El fitxer no existeix! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Error - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. S'han produït errors en carregar el fitxer. Algunes dades es poden haver modificat o no s'han recuperat. Consulteu la vista d'informe per a obtenir informació més específica sobre els objectes implicats. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Hi ha hagut errors greus en carregar el fitxer. Pot ser que s'hagin modificat dades o no s'hagin recuperat. Desar el projecte probablement provocarà la pèrdua de dades. - + Loading %1... S'està carregant %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Obre en un navegador extern - + Open in new window Obre en una finestra nova - + View source Visualitza la font diff --git a/src/Mod/Web/Gui/Resources/translations/Web_cs.ts b/src/Mod/Web/Gui/Resources/translations/Web_cs.ts index 25da39efa3..649d428006 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_cs.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_cs.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Prohlížeč - + File does not exist! Soubor neexistuje! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Chyba - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Při načítání souboru se objevily chyby. Některé data mohla být modifikována nebo nebyla vůbec obnovena. Podívejte se do Zobrazení reportu pro konkrétnější informaci o zúčastněných objektech. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Při načítání souboru došlo k vážným chybám. Některá data mohla být změněna nebo vůbec neobnovena. Uložení projektu s největší pravděpodobností povede ke ztrátě dat. - + Loading %1... Načítání %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Otevřít v externím prohlížeči - + Open in new window Otevřít v novém okně - + View source Zobrazit zdroj diff --git a/src/Mod/Web/Gui/Resources/translations/Web_de.ts b/src/Mod/Web/Gui/Resources/translations/Web_de.ts index d426808e39..1cd1a0ed6f 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_de.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_de.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Browser - + File does not exist! Datei nicht vorhanden! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error - Fehlermeldungen + Fehler + + + + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. + Beim Laden der Datei sind Fehler aufgetreten. Einige Daten wurden möglicherweise geändert oder gar nicht wiederhergestellt. Im Ausgabefenster finden sich genauere Informationen zu den betroffenen Objekten. - There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. - Beim Laden der Datei sind Fehler aufgetreten. Einige Daten wurden möglicherweise geändert oder gar nicht wiederhergestellt. In der Berichtansicht finden Sie genauere Informationen zu den betroffenen Objekten. - - - There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Es gab schwerwiegende Fehler beim Laden der Datei. Einige Daten wurden möglicherweise geändert oder konnten nicht wiederhergestellt werden. Das Speichern des Projekts wird höchstwahrscheinlich zu Datenverlust führen. - + Loading %1... %1 wird geladen... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser In externem Browser öffnen - + Open in new window In neuem Fenster öffnen - + View source Quelle anzeigen diff --git a/src/Mod/Web/Gui/Resources/translations/Web_el.ts b/src/Mod/Web/Gui/Resources/translations/Web_el.ts index 22e5fa57e2..318896f069 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_el.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_el.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Περιηγητής - + File does not exist! Το αρχείο δεν υπάρχει! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Σφάλμα - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Υπήρξαν σφάλματα κατά τη φόρτωση του αρχείου. Ορισμένα δεδομένα ενδέχεται να έχουν τροποποιηθεί ή να μην έχουν ανακτηθεί καθόλου. Κοιτάξτε στην έκθεση για πιο συγκεκριμένες πληροφορίες σχετικά με τα σχετικά αντικείμενα. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - + Loading %1... Πραγματοποιείται φόρτωση του %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Άνοιγμα σε Εξωτερικό Περιηγητή - + Open in new window Άνοιγμα σε νέο παράθυρο - + View source Προβολή πηγαίου κώδικα diff --git a/src/Mod/Web/Gui/Resources/translations/Web_es-AR.ts b/src/Mod/Web/Gui/Resources/translations/Web_es-AR.ts index 30547703fa..b8415b9884 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_es-AR.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_es-AR.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Navegador - + File does not exist! ¡El archivo no existe! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Error - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Hubo errores al cargar el archivo. Algunos datos pueden haber sido modificados o no recuperados. Busque en la vista del informe información más específica sobre los objetos involucrados. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Hubo errores graves al cargar el archivo. Algunos datos pueden haber sido modificados o no recuperados. Guardar el proyecto muy probablemente resultará en la pérdida de datos. - + Loading %1... Cargando %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Abrir en Navegador Externo - + Open in new window Abrir en una nueva ventana - + View source Ver Código Fuente diff --git a/src/Mod/Web/Gui/Resources/translations/Web_es-ES.ts b/src/Mod/Web/Gui/Resources/translations/Web_es-ES.ts index f785257aad..2281876b3f 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_es-ES.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_es-ES.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Navegador - + File does not exist! ¡El archivo no existe! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Error - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Hubo errores al cargar el archivo. Algunos datos pueden haber sido modificados o no recuperados en absoluto. Busque en la vista de informe para obtener información más específica sobre los objetos involucrados. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Hubo errores graves al cargar el archivo. Algunos datos pueden haber sido modificados o no recuperados. Guardar el proyecto muy probablemente resultará en la pérdida de datos. - + Loading %1... Cargando %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Abrir en navegador externo - + Open in new window Abrir en una nueva ventana - + View source Ver fuente diff --git a/src/Mod/Web/Gui/Resources/translations/Web_eu.ts b/src/Mod/Web/Gui/Resources/translations/Web_eu.ts index 2e7b126e6e..2bae1db35c 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_eu.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_eu.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Nabigatzailea - + File does not exist! Fitxategia ez da existitzen! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Errorea - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Erroreak izan dira fitxategia kargatzean. Beharbada zenbait datu aldatu egin dira edo ez dira erabat berreskuratu. Begiratu txostenean arazoak izan dituzten objektuei buruzko informazio gehiago jasotzeko. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Errore larriak gertatu dira fitxategia kargatzean. Zenbait datu aldatuta agertu daitezke edo ez dira berreskuratu. Proiektua gordetzen bada, ziur aski datuak galduko dira. - + Loading %1... %1 kargatzen... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Ireki kanpoko nabigatzailean - + Open in new window Ireki leiho berrian - + View source Bistarau iturburua diff --git a/src/Mod/Web/Gui/Resources/translations/Web_fi.ts b/src/Mod/Web/Gui/Resources/translations/Web_fi.ts index c0596adeec..0b6a80bf5b 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_fi.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_fi.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Selain - + File does not exist! Tiedostoa ei ole! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Virhe - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Tiedoston latauksessa tapahtui virheitä. Joitakin tietoja on ehkä muutettu tai niitä ei ole palautettu lainkaan. Katso raporttinäkymää, josta saa tarkempaa tietoa asiaan liittyvistä kohteista. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Tiedostoa ladattaessa tapahtui vakavia virheitä. Joitakin tietoja on ehkä muutettu tai niitä ei ole palautettu lainkaan. Projektin tallentaminen johtaa mitä todennäköisimmin tietojen menettämiseen. - + Loading %1... Ladataan %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Avaa ulkoisella selaimella - + Open in new window Avaa uudessa ikkunassa - + View source Näytä lähdekoodi diff --git a/src/Mod/Web/Gui/Resources/translations/Web_fr.ts b/src/Mod/Web/Gui/Resources/translations/Web_fr.ts index cdf408ae79..ef461f8d9f 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_fr.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_fr.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Navigateur - + File does not exist! Le fichier n'existe pas ! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Erreur - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Des erreurs sont survenues lors du chargement du fichier. Certaines données pourraient avoir été modifiées, ou pas récupérées du tout. Consultez la vue rapport pour plus d’informations sur les objets concernés. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - Il y a eu de sérieuses erreurs lors du chargement du fichier. Certaines données ont peut-être été modifiées ou pas du tout récupérées. L'enregistrement du projet entraînera très probablement une perte de données. + De graves erreurs se sont produites lors du chargement du fichier. Certaines données ont pu être modifiées ou n'ont pas été récupérées du tout. L'enregistrement du projet entraînera très probablement une perte de données. - + Loading %1... Chargement %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Ouvrir dans un navigateur externe - + Open in new window Ouvrir dans une nouvelle fenêtre - + View source Afficher la source diff --git a/src/Mod/Web/Gui/Resources/translations/Web_gl.ts b/src/Mod/Web/Gui/Resources/translations/Web_gl.ts index 07b526e798..25fd9e2ee8 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_gl.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_gl.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Navegador - + File does not exist! O ficheiro non existe! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Erro - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Houbo erros ao cargar o ficheiro. Alúns dados poden ter sido modificados ou non recuperados de todo. Vexa a vista do informe para obter información máis específica sobre os obxectos ligados. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - + Loading %1... Cargando %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Abrir noutro navegador - + Open in new window Abrir nunha nova xanela - + View source Vista fonte diff --git a/src/Mod/Web/Gui/Resources/translations/Web_hr.ts b/src/Mod/Web/Gui/Resources/translations/Web_hr.ts index 309cc51d5f..58e78be965 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_hr.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_hr.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Preglednik - + File does not exist! Datoteka ne postoji! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Pogreška - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Pojavile su se pogreške tijekom učitavanja datoteke. Neki podaci su možda promijenjeni ili nisu oporavljeni potuno. Pogledajte prikaz izvješća za više podataka o objektima koji su uključeni. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Došlo je do ozbiljnih pogrešaka prilikom učitavanja datoteke. Neki su podaci možda izmijenjeni ili uopće nisu vraćeni. Spremanje projekta najvjerojatnije će rezultirati gubitkom podataka. - + Loading %1... Učitavanje %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Otvori u vanjskom pregledniku - + Open in new window Otvori u novom prozoru - + View source Pogledaj izvor diff --git a/src/Mod/Web/Gui/Resources/translations/Web_hu.ts b/src/Mod/Web/Gui/Resources/translations/Web_hu.ts index 3cb95670f5..1241cd23fe 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_hu.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_hu.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Böngésző - + File does not exist! A fájl nem létezik! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Hiba - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Hiba történt a fájl betöltésekor. Néhány adat lehet, hogy módosított vagy nem egyáltalán nem viszaállított. Nézze meg a jelentés nézetet részletesebb információért az érintett objektumokhoz. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. A fájl betöltése közben súlyos hibák történtek. Előfordulhat, hogy néhány adat módosult, vagy egyáltalán nem állt helyre. A terv mentése valószínűleg adatvesztést eredményez. - + Loading %1... %1 betöltve... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Megnyitás külső böngészőben - + Open in new window Megnyitás új ablakban - + View source Forrás nézet diff --git a/src/Mod/Web/Gui/Resources/translations/Web_id.ts b/src/Mod/Web/Gui/Resources/translations/Web_id.ts index 0618d8ffbd..d08d023a5d 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_id.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_id.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Browser - + File does not exist! File tidak ada! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Kesalahan - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Ada kesalahan saat memuat file. Beberapa data mungkin telah dimodifikasi atau tidak dipulihkan sama sekali. Lihat di tampilan laporan untuk informasi yang lebih spesifik tentang objek yang terlibat. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - + Loading %1... Memuat %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Buka di Browser eksternal - + Open in new window Buka di jendela baru - + View source Lihat sumber diff --git a/src/Mod/Web/Gui/Resources/translations/Web_it.ts b/src/Mod/Web/Gui/Resources/translations/Web_it.ts index 6bd411de92..4190e59c53 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_it.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_it.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Browser - + File does not exist! Il file non esiste! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Errore - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Si sono verificati degli errori durante il caricamento del file. Alcuni dati potrebbero essere stati modificati o non acquisiti. Guardare nella vista report per avere informazioni più specifiche sugli oggetti coinvolti. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Ci sono stati errori gravi durante il caricamento del file. Alcuni dati potrebbero essere stati modificati o non recuperati affatto. Il salvataggio del progetto molto probabilmente si tradurrà in perdita di dati. - + Loading %1... Caricamento %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Apri nel Browser esterno - + Open in new window Apri in una nuova finestra - + View source Visualizza l'origine diff --git a/src/Mod/Web/Gui/Resources/translations/Web_ja.ts b/src/Mod/Web/Gui/Resources/translations/Web_ja.ts index 9616e907ae..bf88ac8e04 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_ja.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_ja.ts @@ -128,13 +128,13 @@ QObject - - + + Browser ブラウザー - + File does not exist! ファイルが存在しません! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error エラー - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. ファイルの読み込み中にエラーが発生しました。一部のデータが変更、または完全に復元されていない可能性があります。関連するオブジェクトのより詳細な情報についてはレポートビューを確認してください。 - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. ファイルの読み込み中に重大なエラーが発生しました。一部のデータが変更されたか、完全に復元されていない可能性があります。 プロジェクトを保存すると、データが失われる恐れがあります。 - + Loading %1... %1 を読み込み中・・・ @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser 外部ブラウザーで開く - + Open in new window 新しいウィンドウで開く - + View source ソース表示 diff --git a/src/Mod/Web/Gui/Resources/translations/Web_ka.ts b/src/Mod/Web/Gui/Resources/translations/Web_ka.ts index af7edf9232..5a11975c96 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_ka.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_ka.ts @@ -128,13 +128,13 @@ QObject - - + + Browser ბრაუზერი - + File does not exist! ფაილი არ არსებობს! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error შეცდომა - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. შეცდომა ფაილის ჩატვირთვისას. მონაცემები შეიძლება შეცვლილი იყოს ან საერთოდ არ იქნება წაკითხული. მეტი ინფორმაციის სანახავად ჩაიხედეთ რეპორტში. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - სერიოზული შეცდომები ფაილის ჩატვირთვისას. ზოგიერთი მონაცემი შეიძლება იყოს შეცვლილი ან საერთოდ ვერ აღდგეს. პროექტის შენახვა სავარაუდოდ გამოიწვევს მონაცემთა დაკარგვას. + სერიოზული შეცდომები ფაილის ჩატვირთვისას. ზოგიერთი მონაცემი შეიძლება შეცვლილი იყოს ან საერთოდ ვერ აღდგეს. პროექტის შენახვა სავარაუდოდ გამოიწვევს მონაცემთა დაკარგვას. - + Loading %1... %1-ის ჩატვირთვა... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser გარე ბრაუზერში გახსნა - + Open in new window ახალ ფანჯარაში გახსნა - + View source წყაროს ნახვა diff --git a/src/Mod/Web/Gui/Resources/translations/Web_ko.ts b/src/Mod/Web/Gui/Resources/translations/Web_ko.ts index 19343b76ef..fc975a7638 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_ko.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_ko.ts @@ -128,13 +128,13 @@ QObject - - + + Browser 브라우저 - + File does not exist! 파일이 존재하지 않습니다! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error 에러 - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. 파일을 불러오는 동안 오류가 발생했습니다. 일부 데이터가 수정되었거나 전혀 복구되지 않았을 수 있습니다. 관련된 객체에 대한 보다 구체적인 정보는 보고서 보기에서 확인하십시오. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. 파일을 불러오는 동안 심각한 오류가 발생했습니다. 일부 데이터가 수정되었거나 전혀 복구되지 않았을 수 있습니다. 프로젝트를 저장하면 데이터가 손실될 가능성이 높습니다. - + Loading %1... %1 불러오는 중... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser 외부 브라우저에서 열기 - + Open in new window 새 창에서 열기 - + View source 소스 보기 diff --git a/src/Mod/Web/Gui/Resources/translations/Web_nl.ts b/src/Mod/Web/Gui/Resources/translations/Web_nl.ts index 91ff3ae969..3b7c3c7377 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_nl.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_nl.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Browser - + File does not exist! Bestand bestaat niet! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Fout - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Er zijn fouten opgetreden tijdens het laden van het bestand. Sommige gegevens zijn misschien gewijzigd of helemaal hersteld. Kijk in de rapportweergave voor meer specifieke informatie over de objecten die hierbij zijn betrokken. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Er zijn ernstige fouten opgetreden tijdens het laden van het bestand. Sommige gegevens zijn mogelijk gewijzigd of helemaal niet hersteld. Het opslaan van het project zal waarschijnlijk leiden tot data-verlies. - + Loading %1... Laden %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Open in externe Browser - + Open in new window In nieuw venster openen - + View source Bron weergeven diff --git a/src/Mod/Web/Gui/Resources/translations/Web_pl.ts b/src/Mod/Web/Gui/Resources/translations/Web_pl.ts index 734ea70d9b..85b5ab0600 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_pl.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_pl.ts @@ -24,7 +24,7 @@ Web - Sieć + Witryna @@ -42,7 +42,7 @@ Web - Sieć + Witryna @@ -56,7 +56,7 @@ Web - Sieć + Witryna @@ -70,7 +70,7 @@ Web - Sieć + Witryna @@ -84,7 +84,7 @@ Web - Sieć + Witryna @@ -98,7 +98,7 @@ Web - Sieć + Witryna @@ -128,13 +128,13 @@ QObject - - + + Browser Przeglądarka - + File does not exist! Plik nie istnieje! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Błąd - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Podczas wczytywania pliku wystąpiły błędy. Niektóre dane mogły zostać zmodyfikowane lub w ogóle nie zostały odtworzone. Zajrzyj do widoku raportu w celu uzyskania bardziej szczegółowych informacji na temat obiektów, których to dotyczy. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Podczas ładowania pliku wystąpiły poważne błędy. Niektóre dane mogły zostać zmodyfikowane lub w ogóle nie zostały odzyskane. Zapisanie projektu najprawdopodobniej spowoduje utratę danych. - + Loading %1... Ładowanie %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Otwórz w zewnętrznej przeglądarce - + Open in new window Otwórz w nowym oknie - + View source Pokaż źródło diff --git a/src/Mod/Web/Gui/Resources/translations/Web_pt-BR.ts b/src/Mod/Web/Gui/Resources/translations/Web_pt-BR.ts index 87ca20f62f..52f0fcaba6 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_pt-BR.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_pt-BR.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Navegador - + File does not exist! Esse arquivo não existe! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Erro - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Houve erros ao carregar o arquivo. Alguns dados podem ter sido modificados ou não recuperados. Veja a vista de relatório para obter informações mais específicas sobre os objetos envolvidos. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Ocorreram erros graves ao carregar o arquivo. Alguns dados podem ter sido modificados ou não recuperados. Salvar o projeto provavelmente resultará em perda de dados. - + Loading %1... Carregando %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Abrir em um navegador externo - + Open in new window Abrir em nova janela - + View source Ver fonte diff --git a/src/Mod/Web/Gui/Resources/translations/Web_pt-PT.ts b/src/Mod/Web/Gui/Resources/translations/Web_pt-PT.ts index d3711d2122..fe56713b5b 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_pt-PT.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_pt-PT.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Navegador - + File does not exist! O ficheiro não existe! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Erro - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Houve erros ao carregar o ficheiro. Alguns dados podem ter sido modificados ou não recuperados de todo. Veja a vista de relatório para obter informações mais específicas sobre os objetos envolvidos. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - + Loading %1... Carregando %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Abrir em Navegador Externo - + Open in new window Abrir numa nova janela - + View source Ver código-fonte diff --git a/src/Mod/Web/Gui/Resources/translations/Web_ro.ts b/src/Mod/Web/Gui/Resources/translations/Web_ro.ts index 09d0601bd5..9d3c5e6784 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_ro.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_ro.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Navigator - + File does not exist! Fișierul nu există! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Eroare - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Au existat erori în timpul încărcării fişierului. Unele date s-ar putea să fi fost modificate sau să se nu recupereze deloc. Uitați-vă în raportul vizualizării pentru mai multe informaţii specifice despre obiectele implicate. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Au existat erori grave în timpul încărcării fișierului. Unele date ar fi putut fi modificate sau nu au fost recuperate deloc. Salvarea proiectului va duce cel mai probabil la pierderea datelor. - + Loading %1... Se încarcă %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Deschide în navigator extern - + Open in new window Deschide intr-o fereastra noua - + View source Vezi sursa diff --git a/src/Mod/Web/Gui/Resources/translations/Web_ru.ts b/src/Mod/Web/Gui/Resources/translations/Web_ru.ts index 3ec2d9d225..efbbe1fb8b 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_ru.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_ru.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Браузер - + File does not exist! Файл не существует! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error - Ошибки + Ошибка - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Произошли ошибки при загрузке файла. Возможно, некоторые данные были изменены или не восстановлены. Посмотрите в окно отчета для более конкретной информации о затронутых объектах. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - При загрузке файла возникли серьезные ошибки. Некоторые данные могли быть изменены или не восстановлены вообще. Сохранение проекта скорее всего приведет к потере данных. + При загрузке файла произошли серьезные ошибки. Некоторые данные могли быть изменены или вообще не восстановлены. Сохранение проекта, скорее всего, приведет к потере данных. - + Loading %1... Загрузка %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Открыть во внешнем браузере - + Open in new window Открыть в новом окне - + View source Просмотр кода страницы diff --git a/src/Mod/Web/Gui/Resources/translations/Web_sl.ts b/src/Mod/Web/Gui/Resources/translations/Web_sl.ts index 94739bed31..42cea46b2e 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_sl.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_sl.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Brskalnik - + File does not exist! Datoteka ne obstaja! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Napaka - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Med nalaganjem datoteke je prišlo do napake. Nekateri podatki so se lahko spremenili ali pa se sploh niso obnovili. Poglej v okno poročil za podrobnejše informacije o vpletenih objektih. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Pri nalaganju datoteke je prišlo do resnih napak. Določeni podatki so bili lahko spremenjeni ali pa sploh niso bili obnovljeni. Če projekt shranite, bo najverjetneje prišlo do izgube podatkov. - + Loading %1... Nalaganje %1 … @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Odpri v zunanjem brskalniku - + Open in new window Odpri v novem oknu - + View source Prikaz vira diff --git a/src/Mod/Web/Gui/Resources/translations/Web_sr-CS.ts b/src/Mod/Web/Gui/Resources/translations/Web_sr-CS.ts index c74689786d..e0f13be5d8 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_sr-CS.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_sr-CS.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Pregledač - + File does not exist! Datoteka ne postoji! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Greška - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Došlo je do grešaka prilikom učitavanja datoteke. Neki podaci su možda izmenjeni ili uopšte nisu oporavljeni. U prikazu izveštaja potraži određenije informacije na ovu temu. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Došlo je do ozbiljnih grešaka pri učitavanju datoteke. Neki podaci su možda izmenjeni ili uopšte nisu vraćeni. Snimanje projekta će najverovatnije dovesti do gubitka podataka. - + Loading %1... Učitavam „%1“... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Otvori u spoljnom pregledaču - + Open in new window Otvori u novom prozoru - + View source Prikaži izvor diff --git a/src/Mod/Web/Gui/Resources/translations/Web_sr.ts b/src/Mod/Web/Gui/Resources/translations/Web_sr.ts index f9c039bb16..da200eb5f5 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_sr.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_sr.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Прегледач - + File does not exist! Датотека не постоји! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Грешка - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Дошло је до грешака приликом учитавања датотеке. Неки подаци су можда измењени или уопште нису опорављени. У приказу извештаја потражи одређеније информације на ову тему. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Дошло је до озбиљних грешака при учитавању датотеке. Неки подаци су можда измењени или уопште нису враћени. Снимање пројекта ће највероватније довести до губитка података. - + Loading %1... Учитавам „%1“... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Отвори у спољном прегледачу - + Open in new window Отвори у новом прозору - + View source Прикажи извор diff --git a/src/Mod/Web/Gui/Resources/translations/Web_sv-SE.ts b/src/Mod/Web/Gui/Resources/translations/Web_sv-SE.ts index 42dbceeb65..71a77b2525 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_sv-SE.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_sv-SE.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Webbläsare - + File does not exist! Filen existerar inte! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Fel - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Det uppstod ett fel under inläsning av filen. Viss data kan ha ändrats eller inte återställts alls. Titta i rapportvyn för mer specifik information om de inblandade objekten. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Det uppstod allvarliga fel vid inläsning av filen. Vissa data kan ha ändrats eller inte återställts alls. Att spara projektet kommer sannolikt att resultera i förlust av data. - + Loading %1... Laddar %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Öppna i extern webbläsare - + Open in new window Öppna i nytt fönster - + View source Visa källa diff --git a/src/Mod/Web/Gui/Resources/translations/Web_tr.ts b/src/Mod/Web/Gui/Resources/translations/Web_tr.ts index 914459dea0..16edfcfac3 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_tr.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_tr.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Tarayıcı - + File does not exist! Dosya mevcut değil! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Hata - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Dosya yüklemesi esnasında hatalar vardı. Bazı veriler değiştirilmiş veya hiç kurtarılmamış olabilir. İlgili nesneler hakkında daha spesifik bilgi için rapor görünümüne bakın. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. Dosyayı yüklerken ciddi hatalar oluştu. Bazı veriler değiştirilmiş veya hiç kurtarılmamış olabilir. Projenin kaydedilmesi büyük olasılıkla veri kaybına neden olacaktır. - + Loading %1... Yükleniyor %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Dış tarayıcıda aç - + Open in new window Yeni pencerede aç - + View source Kaynağı görüntüle diff --git a/src/Mod/Web/Gui/Resources/translations/Web_uk.ts b/src/Mod/Web/Gui/Resources/translations/Web_uk.ts index dc62ce803a..16cef4dbba 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_uk.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_uk.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Браузер - + File does not exist! Файл не існує! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Помилка - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Під час завантаження файлу виникли помилки. Деякі дані, можливо, були змінені або взагалі не відновлені. Ознайомтесь зі звітом для більш отримання конкретної інформації щодо таких обʼєктів. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. При завантаженні файлу сталася серйозна помилка. Можливо, деякі дані були змінені або взагалі не відновлені. Збереження проєкту швидше за все, призведе до втрати даних. - + Loading %1... Завантаження %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Відкрити у зовнішньому браузері - + Open in new window Відкрити у новому вікні - + View source Переглянути вихідний код diff --git a/src/Mod/Web/Gui/Resources/translations/Web_val-ES.ts b/src/Mod/Web/Gui/Resources/translations/Web_val-ES.ts index d9bcde9c7d..5c734b8c12 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_val-ES.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_val-ES.ts @@ -128,13 +128,13 @@ QObject - - + + Browser Navegador - + File does not exist! El fitxer no existeix. @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error Error - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. Hi hagué errors quan es carregava el fitxer. Algunes dades s'han pogut modificar o no s'han recuperat. Busqueu en la vista d'informes per a obtindre informació més específica sobre els objectes implicats. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - + Loading %1... S'està carregant 1%... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser Obri en un navegador extern - + Open in new window Obri en una finestra nova - + View source Visualitza la vista diff --git a/src/Mod/Web/Gui/Resources/translations/Web_zh-CN.ts b/src/Mod/Web/Gui/Resources/translations/Web_zh-CN.ts index 6bf2eddcb0..602cdb222a 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_zh-CN.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_zh-CN.ts @@ -128,13 +128,13 @@ QObject - - + + Browser 浏览器 - + File does not exist! 文件不存在! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error 错误 - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. 加载文件时出错。有些数据可能已经修改或未全部恢复。在报告视图中查看有关对象的更多信息。 - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. 加载文件时出现严重错误。有些数据可能已被修改或根本没有恢复。 保存项目很可能导致数据丢失。 - + Loading %1... 正在加载 %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser 在外部浏览器中打开 - + Open in new window 在新窗口中打开 - + View source 查看来源 diff --git a/src/Mod/Web/Gui/Resources/translations/Web_zh-TW.ts b/src/Mod/Web/Gui/Resources/translations/Web_zh-TW.ts index 0288053df5..02fcdf4542 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_zh-TW.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_zh-TW.ts @@ -128,13 +128,13 @@ QObject - - + + Browser 瀏覽器 - + File does not exist! 檔案不存在! @@ -142,24 +142,24 @@ WebGui::BrowserView - + + - Error 錯誤 - + There were errors while loading the file. Some data might have been modified or not recovered at all. Look in the report view for more specific information about the objects involved. 載入檔案時出錯. 某些數據可能已被修改或根本未恢復. 查看報告來了解所涉及物件的更多具體資訊. - + There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - + Loading %1... 載入 %1... @@ -167,17 +167,17 @@ WebGui::WebView - + Open in External Browser 於外部瀏覽器開啟 - + Open in new window 於新視窗中開啟 - + View source 檢視原始碼 diff --git a/src/Mod/Web/Gui/Workbench.cpp b/src/Mod/Web/Gui/Workbench.cpp index 1ab97c99c4..b3a55086c2 100644 --- a/src/Mod/Web/Gui/Workbench.cpp +++ b/src/Mod/Web/Gui/Workbench.cpp @@ -39,13 +39,9 @@ using namespace WebGui; /// @namespace WebGui @class Workbench TYPESYSTEM_SOURCE(WebGui::Workbench, Gui::StdWorkbench) -Workbench::Workbench() -{ -} +Workbench::Workbench() = default; -Workbench::~Workbench() -{ -} +Workbench::~Workbench() = default; void Workbench::setupContextMenu(const char* recipient,Gui::MenuItem* item) const { diff --git a/src/Tools/freecad-thumbnailer b/src/Tools/freecad-thumbnailer index 480dc47f30..5c89ffe12d 100644 --- a/src/Tools/freecad-thumbnailer +++ b/src/Tools/freecad-thumbnailer @@ -7,9 +7,9 @@ Installation: and must have execution rights "$ sudo chmod +x /usr/bin/freecad-thumbnailer" -- If a FreeCAD project file doesn't include a thumbnail the file freecad.png is used. +- If a FreeCAD project file doesn't include a thumbnail the file org.freecad.FreeCAD.png is used. Thus, the file src/Gui/Icons/freecad-icon-48.png must be installed. - "$ sudo cp freecad-icon-48.png /usr/share/icons/hicolor/48x48/apps/freecad.png" + "$ sudo cp freecad-icon-48.png /usr/share/icons/hicolor/48x48/apps/org.freecad.FreeCAD.png" - The application/x-extension-fcstd MIME type should be registered Check that a corresponding /usr/share/mime/packages/freecad.xml file exists @@ -54,7 +54,7 @@ try: image = zfile.read(image) else: # apps should have at least 48x48 icons - freecad = open("/usr/share/icons/hicolor/48x48/apps/freecad.png", "rb") + freecad = open("/usr/share/icons/hicolor/48x48/apps/org.freecad.FreeCAD.png", "rb") image = freecad.read() # Write icon to output_file diff --git a/src/Tools/generateBase/generateDS.py b/src/Tools/generateBase/generateDS.py index 3969ffc4c5..2124a8176d 100644 --- a/src/Tools/generateBase/generateDS.py +++ b/src/Tools/generateBase/generateDS.py @@ -441,7 +441,7 @@ class XschemaElement: self.cleanName = mapName(self.unmappedCleanName) SaxElementDict[self.cleanName] = self self.replace_attributeGroup_names() - if "maxOccurs" in self.attrs.keys(): + if "maxOccurs" in self.attrs: maxOccurs = self.attrs["maxOccurs"] if maxOccurs == "unbounded": maxOccurs = 99999 @@ -462,7 +462,7 @@ class XschemaElement: if self.type == "NoneType" and self.name: self.type = self.name # Is it a mixed-content element definition? - if "mixed" in self.attrs.keys(): + if "mixed" in self.attrs: mixed = self.attrs["mixed"].strip() if mixed == "1" or mixed.lower() == "true": self.mixed = 1 @@ -662,7 +662,7 @@ class XschemaHandler(handler.ContentHandler): element = XschemaElement(attrs) if len(self.stack) == 1: element.setTopLevel(1) - if "substitutionGroup" in attrs.keys() and "name" in attrs.keys(): + if "substitutionGroup" in attrs and "name" in attrs: substituteName = attrs["name"] headName = attrs["substitutionGroup"] if headName not in SubstitutionGroups: @@ -686,18 +686,18 @@ class XschemaHandler(handler.ContentHandler): self.inChoice = 1 elif name == AttributeType: self.inAttribute = 1 - if "name" in attrs.keys(): + if "name" in attrs: name = attrs["name"] # fix-attribute-ref - elif "ref" in attrs.keys(): + elif "ref" in attrs: name = strip_namespace(attrs["ref"]) else: name = "no_attribute_name" - if "type" in attrs.keys(): + if "type" in attrs: data_type = attrs["type"] else: data_type = StringType[0] - if "use" in attrs.keys(): + if "use" in attrs: use = attrs["use"] else: use = "optional" @@ -713,7 +713,7 @@ class XschemaHandler(handler.ContentHandler): self.inAttributeGroup = 1 # If it has attribute 'name', then it's a definition. # Prepare to save it as an attributeGroup. - if "name" in attrs.keys(): + if "name" in attrs: name = strip_namespace(attrs["name"]) attributeGroup = XschemaAttributeGroup(name) element = XschemaElement(attrs) @@ -723,12 +723,12 @@ class XschemaHandler(handler.ContentHandler): self.stack.append(element) # If it has attribute 'ref', add it to the list of # attributeGroups for this element/complexType. - if "ref" in attrs.keys(): + if "ref" in attrs: self.stack[-1].attributeGroupNameList.append(attrs["ref"]) elif name == ComplexContentType: pass elif name == ExtensionType: - if "base" in attrs.keys() and len(self.stack) > 0: + if "base" in attrs and len(self.stack) > 0: extensionBase = attrs["base"] if ( extensionBase in StringType diff --git a/src/Tools/generateTemplates/templateClassPyExport.py b/src/Tools/generateTemplates/templateClassPyExport.py index c328bfb971..72f5ed1341 100644 --- a/src/Tools/generateTemplates/templateClassPyExport.py +++ b/src/Tools/generateTemplates/templateClassPyExport.py @@ -17,6 +17,15 @@ class TemplateClassPyExport(template.ModelTemplate): path = self.path exportName = self.export.Name dirname = self.dirname + + def escapeString(s, indent=4): + """Escapes a string for use as literal in C++ code""" + s = s.strip() # This allows UserDocu-tags on their own lines without adding whitespace + s = s.replace("\\", "\\\\") + s = s.replace('"', '\\"') + s = s.replace("\n", f'\\n"\n{" "*indent}"') + return s + print("TemplateClassPyExport", path + exportName) # Imp.cpp must not exist, neither in path nor in dirname if not os.path.exists(path + exportName + "Imp.cpp"): @@ -316,7 +325,7 @@ PyTypeObject @self.export.Name@::Type = { nullptr, /* tp_as_buffer */ /* --- Flags to define presence of optional/expanded features */ Py_TPFLAGS_BASETYPE|Py_TPFLAGS_DEFAULT, /*tp_flags */ - "@self.export.Documentation.UserDocu.replace('\\n','\\\\n\\"\\n \\"')@", /*tp_doc */ + "@escapeString(self.export.Documentation.UserDocu, indent=4)@", /*tp_doc */ nullptr, /*tp_traverse */ nullptr, /*tp_clear */ + if (self.export.RichCompare): @@ -390,7 +399,7 @@ PyMethodDef @self.export.Name@::Methods[] = { reinterpret_cast( staticCallback_@i.Name@ ), METH_VARARGS, - - "@i.Documentation.UserDocu.replace('\\n','\\\\n')@" + "@escapeString(i.Documentation.UserDocu, indent=8)@" }, - {nullptr, nullptr, 0, nullptr} /* Sentinel */ @@ -510,7 +519,7 @@ PyGetSetDef @self.export.Name@::GetterSetter[] = { {"@i.Name@", (getter) staticCallback_get@i.Name@, (setter) staticCallback_set@i.Name@, - "@i.Documentation.UserDocu.replace('\\n','\\\\n')@", + "@escapeString(i.Documentation.UserDocu, indent=8)@", nullptr }, - @@ -862,7 +871,7 @@ int @self.export.Name@::finalization() // returns a string which represents the object e.g. when printed in python std::string @self.export.Name@::representation() const { - return std::string("<@self.export.Twin@ object>"); + return {"<@self.export.Twin@ object>"}; } + for i in self.export.Methode: diff --git a/src/Tools/updatecrowdin.py b/src/Tools/updatecrowdin.py index 94bd3c9906..d50160cf97 100755 --- a/src/Tools/updatecrowdin.py +++ b/src/Tools/updatecrowdin.py @@ -116,6 +116,7 @@ locations = [ "../Mod/Draft/Resources/translations", "../Mod/Draft/Resources/Draft.qrc", ], + ["Base", "../Base/Resources/translations", "../Base/Resources/Base.qrc"], [ "Drawing", "../Mod/Drawing/Gui/Resources/translations", @@ -435,7 +436,7 @@ def doFile(tsfilepath, targetpath, lncode, qrcpath): basename = os.path.basename(tsfilepath)[:-3] # filename fixes if basename + ".ts" in LEGACY_NAMING_MAP.values(): - basename = list(LEGACY_NAMING_MAP.keys())[ + basename = list(LEGACY_NAMING_MAP)[ list(LEGACY_NAMING_MAP.values()).index(basename + ".ts") ][:-3] newname = basename + "_" + lncode + ".ts" diff --git a/src/Tools/updatets.py b/src/Tools/updatets.py index 5a1aaf8114..9adcf991f5 100755 --- a/src/Tools/updatets.py +++ b/src/Tools/updatets.py @@ -55,6 +55,7 @@ import pathlib directories = [ {"tsname": "App", "workingdir": "./src/App", "tsdir": "Resources/translations"}, + {"tsname": "Base", "workingdir": "./src/Base", "tsdir": "Resources/translations"}, {"tsname": "FreeCAD", "workingdir": "./src/Gui", "tsdir": "Language"}, { "tsname": "AddonManager", diff --git a/src/XDGData/CMakeLists.txt b/src/XDGData/CMakeLists.txt index 9c70207f59..6c54fb3231 100644 --- a/src/XDGData/CMakeLists.txt +++ b/src/XDGData/CMakeLists.txt @@ -16,26 +16,21 @@ if(NOT DEFINED APPDATA_RELEASE_DATE) endif() configure_file( - org.freecadweb.FreeCAD.appdata.xml.in - ${CMAKE_BINARY_DIR}/org.freecadweb.FreeCAD.appdata.xml + org.freecad.FreeCAD.appdata.xml.in + ${CMAKE_BINARY_DIR}/org.freecad.FreeCAD.appdata.xml ) install( - FILES ${CMAKE_BINARY_DIR}/org.freecadweb.FreeCAD.appdata.xml + FILES ${CMAKE_BINARY_DIR}/org.freecad.FreeCAD.appdata.xml DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo ) install( - FILES org.freecadweb.FreeCAD.desktop + FILES org.freecad.FreeCAD.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications ) install( - FILES org.freecadweb.FreeCAD.svg - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps -) - -install( - FILES org.freecadweb.FreeCAD.xml + FILES org.freecad.FreeCAD.xml DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mime/packages ) diff --git a/src/XDGData/org.freecadweb.FreeCAD.appdata.xml.in b/src/XDGData/org.freecad.FreeCAD.appdata.xml.in similarity index 96% rename from src/XDGData/org.freecadweb.FreeCAD.appdata.xml.in rename to src/XDGData/org.freecad.FreeCAD.appdata.xml.in index 582eecc9a6..a8ad2476a3 100644 --- a/src/XDGData/org.freecadweb.FreeCAD.appdata.xml.in +++ b/src/XDGData/org.freecad.FreeCAD.appdata.xml.in @@ -1,10 +1,10 @@ - org.freecadweb.FreeCAD + org.freecad.FreeCAD LGPL-2.1 CC0-1.0 The FreeCAD Team - org.freecadweb.FreeCAD.desktop + org.freecad.FreeCAD.desktop FreeCAD An open source parametric 3D CAD modeler diff --git a/src/XDGData/org.freecadweb.FreeCAD.desktop b/src/XDGData/org.freecad.FreeCAD.desktop similarity index 75% rename from src/XDGData/org.freecadweb.FreeCAD.desktop rename to src/XDGData/org.freecad.FreeCAD.desktop index 5b0dbc55cb..49216056fa 100644 --- a/src/XDGData/org.freecadweb.FreeCAD.desktop +++ b/src/XDGData/org.freecad.FreeCAD.desktop @@ -17,7 +17,8 @@ GenericName[ru]=Система автоматизированного проек Exec=FreeCAD - --single-instance %F Terminal=false Type=Application -Icon=org.freecadweb.FreeCAD +Icon=org.freecad.FreeCAD Categories=Graphics;Science;Education;Engineering; StartupNotify=true -MimeType=application/x-extension-fcstd;model/obj;model/iges;image/vnd.dwg;image/vnd.dxf;model/vnd.collada+xml;application/iges;model/iges;model/step;model/step+zip;model/stl;application/vnd.shp;model/vrml; +StartupWMClass=FreeCAD +MimeType=application/x-extension-fcstd;model/obj;image/vnd.dwg;image/vnd.dxf;model/vnd.collada+xml;application/iges;model/iges;model/step;model/step+zip;model/stl;application/vnd.shp;model/vrml; diff --git a/src/XDGData/org.freecadweb.FreeCAD.xml b/src/XDGData/org.freecad.FreeCAD.xml similarity index 100% rename from src/XDGData/org.freecadweb.FreeCAD.xml rename to src/XDGData/org.freecad.FreeCAD.xml diff --git a/src/XDGData/org.freecadweb.FreeCAD.svg b/src/XDGData/org.freecadweb.FreeCAD.svg deleted file mode 100644 index 5fde3692af..0000000000 --- a/src/XDGData/org.freecadweb.FreeCAD.svg +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index d63d1ac186..9dd3de88f0 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -27,20 +27,59 @@ if(MSVC) endif() endif() +if(WIN32) + add_definitions(-DCOIN_DLL) +endif(WIN32) + if(NOT BUILD_DYNAMIC_LINK_PYTHON) list(APPEND Google_Tests_LIBS ${PYTHON_LIBRARIES} ) endif() +set(CMAKE_AUTOMOC ON) + +function(setup_qt_test) + foreach (_testname ${ARGN}) + add_executable(${_testname}_Tests_run ${_testname}.cpp) + add_test(NAME ${_testname}_Tests_run COMMAND ${_testname}_Tests_run) + if (NOT BUILD_DYNAMIC_LINK_PYTHON) + list(APPEND ${_testname}_LIBS + ${PYTHON_LIBRARIES} + ) + endif () + target_include_directories(${_testname}_Tests_run PUBLIC + ${Python3_INCLUDE_DIRS} + ${XercesC_INCLUDE_DIRS} + ${QtGui_INCLUDE_DIRS} + ${QtWidgets_INCLUDE_DIRS} + ${QtTest_INCLUDE_DIRS} + ${COIN3D_INCLUDE_DIRS}) + target_link_libraries(${_testname}_Tests_run + FreeCADApp + FreeCADGui + ${QtCore_LIBRARIES} + ${QtWidgets_LIBRARIES} + ${QtTest_LIBRARIES} + ${${_testname}_LIBS}) + endforeach () +endfunction() add_executable(Tests_run) +add_executable(Mesh_tests_run) +add_executable(Part_tests_run) +add_executable(Points_tests_run) +add_executable(Sketcher_tests_run) add_subdirectory(lib) add_subdirectory(src) -target_include_directories(Tests_run PUBLIC ${Python3_INCLUDE_DIRS} ${XercesC_INCLUDE_DIRS}) -target_link_libraries(Tests_run gtest_main gmock_main ${Google_Tests_LIBS} FreeCADApp) +target_include_directories(Tests_run PUBLIC + ${Python3_INCLUDE_DIRS} + ${XercesC_INCLUDE_DIRS} +) +target_link_libraries(Tests_run + gtest_main + gmock_main + ${Google_Tests_LIBS} + FreeCADApp +) -add_executable(Sketcher_tests_run) -add_subdirectory(src/Mod/Sketcher) -target_include_directories(Sketcher_tests_run PUBLIC ${EIGEN3_INCLUDE_DIR} ${OCC_INCLUDE_DIR} ${Python3_INCLUDE_DIRS}) -target_link_libraries(Sketcher_tests_run gtest_main ${Google_Tests_LIBS} Sketcher) diff --git a/tests/src/App/CMakeLists.txt b/tests/src/App/CMakeLists.txt index 8a98989dc9..2e3019782a 100644 --- a/tests/src/App/CMakeLists.txt +++ b/tests/src/App/CMakeLists.txt @@ -11,5 +11,6 @@ target_sources( ${CMAKE_CURRENT_SOURCE_DIR}/MappedElement.cpp ${CMAKE_CURRENT_SOURCE_DIR}/MappedName.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Metadata.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Property.cpp ${CMAKE_CURRENT_SOURCE_DIR}/StringHasher.cpp ) diff --git a/tests/src/App/Property.cpp b/tests/src/App/Property.cpp new file mode 100644 index 0000000000..1bcc2d78b8 --- /dev/null +++ b/tests/src/App/Property.cpp @@ -0,0 +1,15 @@ +#include "gtest/gtest.h" + +#include "App/PropertyLinks.h" + +TEST(PropertyLink, TestSetValues) +{ + App::PropertyLinkSubList prop; + std::vector objs {nullptr, nullptr}; + std::vector subs {"Sub1", "Sub2"}; + prop.setValues(objs, subs); + const auto& sub = prop.getSubValues(); + EXPECT_EQ(sub.size(), 2); + EXPECT_EQ(sub[0], "Sub1"); + EXPECT_EQ(sub[1], "Sub2"); +} diff --git a/tests/src/Base/Axis.cpp b/tests/src/Base/Axis.cpp new file mode 100644 index 0000000000..4665260aed --- /dev/null +++ b/tests/src/Base/Axis.cpp @@ -0,0 +1,69 @@ +#include "gtest/gtest.h" +#include + +TEST(Axis, TestDefault) +{ + Base::Axis axis; + EXPECT_EQ(axis.getBase(), Base::Vector3d()); + EXPECT_EQ(axis.getDirection(), Base::Vector3d()); +} + +TEST(Axis, TestCustom) +{ + Base::Axis axis(Base::Vector3d(0, 0, 1), Base::Vector3d(1, 1, 1)); + EXPECT_EQ(axis.getBase(), Base::Vector3d(0, 0, 1)); + EXPECT_EQ(axis.getDirection(), Base::Vector3d(1, 1, 1)); +} + +TEST(Axis, TestSetter) +{ + Base::Axis axis; + axis.setBase(Base::Vector3d(0, 0, 1)); + axis.setDirection(Base::Vector3d(1, 1, 1)); + EXPECT_EQ(axis.getBase(), Base::Vector3d(0, 0, 1)); + EXPECT_EQ(axis.getDirection(), Base::Vector3d(1, 1, 1)); +} + +TEST(Axis, TestAssign) +{ + Base::Axis axis; + Base::Axis move; + axis.setBase(Base::Vector3d(0, 0, 1)); + axis.setDirection(Base::Vector3d(1, 1, 1)); + move = std::move(axis);// NOLINT + EXPECT_EQ(move.getBase(), Base::Vector3d(0, 0, 1)); + EXPECT_EQ(move.getDirection(), Base::Vector3d(1, 1, 1)); +} + +TEST(Axis, TestReverse) +{ + Base::Axis axis(Base::Vector3d(0, 0, 1), Base::Vector3d(1, 1, 1)); + axis.reverse(); + EXPECT_EQ(axis.getBase(), Base::Vector3d(0, 0, 1)); + EXPECT_EQ(axis.getDirection(), Base::Vector3d(-1, -1, -1)); +} + +TEST(Axis, TestReversed) +{ + Base::Axis axis(Base::Vector3d(0, 0, 1), Base::Vector3d(1, 1, 1)); + Base::Axis rev(axis.reversed()); + EXPECT_EQ(axis.getDirection(), Base::Vector3d(1, 1, 1)); + EXPECT_EQ(rev.getBase(), Base::Vector3d(0, 0, 1)); + EXPECT_EQ(rev.getDirection(), Base::Vector3d(-1, -1, -1)); +} + +TEST(Axis, TestMove) +{ + Base::Axis axis(Base::Vector3d(0, 0, 1), Base::Vector3d(1, 1, 1)); + axis.move(Base::Vector3d(1, 2, 3)); + EXPECT_EQ(axis.getBase(), Base::Vector3d(1, 2, 4)); + EXPECT_EQ(axis.getDirection(), Base::Vector3d(1, 1, 1)); +} + +TEST(Axis, TestMult) +{ + Base::Axis axis(Base::Vector3d(0, 0, 1), Base::Vector3d(0, 0, 1)); + axis *= Base::Placement(Base::Vector3d(1, 1, 1), Base::Rotation(1, 0, 0, 0)); + EXPECT_EQ(axis.getBase(), Base::Vector3d(1, 1, 0)); + EXPECT_EQ(axis.getDirection(), Base::Vector3d(0, 0, -1)); +} diff --git a/tests/src/Base/BoundBox.cpp b/tests/src/Base/BoundBox.cpp new file mode 100644 index 0000000000..f29f2faced --- /dev/null +++ b/tests/src/Base/BoundBox.cpp @@ -0,0 +1,297 @@ +#include "gtest/gtest.h" +#include +#include + +// NOLINTBEGIN(cppcoreguidelines-*,readability-*) +TEST(BoundBox, TestDefault) +{ + Base::BoundBox3d box; + EXPECT_EQ(box.IsValid(), false); +} + +TEST(BoundBox, TestVoid) +{ + Base::BoundBox3d box; + EXPECT_EQ(box.IsValid(), false); + box.Add(Base::Vector3d(0, 0, 0)); + EXPECT_EQ(box.IsValid(), true); + box.SetVoid(); + EXPECT_EQ(box.IsValid(), false); +} + +TEST(BoundBox, TestCopy) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(0, 0, 0)); + box.Add(Base::Vector3d(1, 1, 1)); + Base::BoundBox3d copy(box); + EXPECT_EQ(copy.IsValid(), true); + EXPECT_EQ(copy.MinX, 0); + EXPECT_EQ(copy.MinY, 0); + EXPECT_EQ(copy.MinZ, 0); + EXPECT_EQ(copy.MaxX, 1); + EXPECT_EQ(copy.MaxY, 1); + EXPECT_EQ(copy.MaxZ, 1); +} + +TEST(BoundBox, TestAssign) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(0, 0, 0)); + box.Add(Base::Vector3d(1, 1, 1)); + Base::BoundBox3d copy; + copy = box; + EXPECT_EQ(copy.IsValid(), true); + EXPECT_EQ(copy.MinX, 0); + EXPECT_EQ(copy.MinY, 0); + EXPECT_EQ(copy.MinZ, 0); + EXPECT_EQ(copy.MaxX, 1); + EXPECT_EQ(copy.MaxY, 1); + EXPECT_EQ(copy.MaxZ, 1); +} + +TEST(BoundBox, TestPoints) +{ + std::array pts; + Base::BoundBox3d box(pts.data(), pts.size()); + EXPECT_EQ(box.IsValid(), true); + EXPECT_EQ(box.MinX, 0); + EXPECT_EQ(box.MinY, 0); + EXPECT_EQ(box.MinZ, 0); + EXPECT_EQ(box.MaxX, 0); + EXPECT_EQ(box.MaxY, 0); + EXPECT_EQ(box.MaxZ, 0); +} + +TEST(BoundBox, TestDistance) +{ + Base::BoundBox3d box(Base::Vector3d(0, 0, 0), 0.5); + EXPECT_EQ(box.IsValid(), true); + EXPECT_EQ(box.MinX, -0.5); + EXPECT_EQ(box.MinY, -0.5); + EXPECT_EQ(box.MinZ, -0.5); + EXPECT_EQ(box.MaxX, 0.5); + EXPECT_EQ(box.MaxY, 0.5); + EXPECT_EQ(box.MaxZ, 0.5); +} + +Base::BoundBox3d createBox(boost::beast::span span) +{ + return {span.data(), span.size()}; +} + +TEST(BoundBox, TestEmptySpan) +{ + Base::BoundBox3d box = createBox({}); + EXPECT_EQ(box.IsValid(), false); +} + +TEST(BoundBox, TestNonEmptySpan) +{ + std::vector points = {Base::Vector3d {1.0, 0.0, 0.0}, + Base::Vector3d {0.0, 1.0, 0.0}, + Base::Vector3d {0.0, 0.0, 1.0}}; + Base::BoundBox3d box = createBox({points.data(), 2}); + EXPECT_EQ(box.IsValid(), true); + EXPECT_EQ(box.MinX, 0); + EXPECT_EQ(box.MinY, 0); + EXPECT_EQ(box.MinZ, 0); + EXPECT_EQ(box.MaxX, 1); + EXPECT_EQ(box.MaxY, 1); + EXPECT_EQ(box.MaxZ, 0); +} + +TEST(BoundBox, TestArray) +{ + std::vector points = {Base::Vector3d {1.0, 0.0, 0.0}, + Base::Vector3d {0.0, 1.0, 0.0}, + Base::Vector3d {0.0, 0.0, 1.0}}; + Base::BoundBox3d box(points.data(), points.size()); + EXPECT_EQ(box.IsValid(), true); + EXPECT_EQ(box.MinX, 0); + EXPECT_EQ(box.MinY, 0); + EXPECT_EQ(box.MinZ, 0); + EXPECT_EQ(box.MaxX, 1); + EXPECT_EQ(box.MaxY, 1); + EXPECT_EQ(box.MaxZ, 1); +} + +TEST(BoundBox, TestIntersect) +{ + Base::BoundBox3d box1; + Base::BoundBox3d box2; + Base::BoundBox3d box3; + EXPECT_EQ(box1.Intersect(box1), false); + box1.Add(Base::Vector3d(0, 0, 0)); + EXPECT_EQ(box1.Intersect(box1), true); + EXPECT_EQ(box1.Intersect(box2), false); + EXPECT_EQ(box2.Intersect(box1), false); + + box1.Add(Base::Vector3d(1, 1, 1)); + box2.Add(Base::Vector3d(0.5, 0.5, 0.5)); + box2.Add(Base::Vector3d(1.5, 1.5, 1.5)); + EXPECT_EQ(box1.Intersect(box2), true); + EXPECT_EQ(box2.Intersect(box1), true); + EXPECT_EQ(box1 && box2, true); + EXPECT_EQ(box2 && box1, true); + + box3 = box1.Intersected(box2); + EXPECT_EQ(box3.IsValid(), true); +} + +TEST(BoundBox, TestIntersect2D) +{ + Base::BoundBox3d box1; + box1.Add(Base::Vector3d(0, 0, 0)); + box1.Add(Base::Vector3d(1, 1, 1)); + + Base::BoundBox2d box2; + box2.Add(Base::Vector2d(0.5, 0.5)); + box2.Add(Base::Vector2d(1.5, 1.5)); + EXPECT_EQ(box1.Intersect(box2), true); + EXPECT_EQ(box1 && box2, true); +} + +TEST(BoundBox, TestUnite) +{ + Base::BoundBox3d box1; + Base::BoundBox3d box2; + Base::BoundBox3d box3; + box1.Add(Base::Vector3d(0, 0, 0)); + box2.Add(Base::Vector3d(1, 1, 1)); + box3 = box1.United(box2); + + EXPECT_EQ(box3.IsValid(), true); + EXPECT_EQ(box3.MinX, 0); + EXPECT_EQ(box3.MinY, 0); + EXPECT_EQ(box3.MinZ, 0); + EXPECT_EQ(box3.MaxX, 1); + EXPECT_EQ(box3.MaxY, 1); + EXPECT_EQ(box3.MaxZ, 1); + + box1.Add(box2); + EXPECT_EQ(box1.IsValid(), true); + EXPECT_EQ(box1.MinX, 0); + EXPECT_EQ(box1.MinY, 0); + EXPECT_EQ(box1.MinZ, 0); + EXPECT_EQ(box1.MaxX, 1); + EXPECT_EQ(box1.MaxY, 1); + EXPECT_EQ(box1.MaxZ, 1); +} + +TEST(BoundBox, TestAdd) +{ + Base::BoundBox3d box1; + Base::BoundBox3d box2; + box1.Add(Base::Vector3d(0, 0, 0)); + box2.Add(Base::Vector3d(1, 1, 1)); + + box1.Add(box2); + EXPECT_EQ(box1.IsInBox(box2), true); + EXPECT_EQ(box1.IsInBox(Base::Vector3d(0, 0, 0)), true); + EXPECT_EQ(box1.IsInBox(Base::Vector3d(1, 1, 1)), true); +} + +TEST(BoundBox, TestCenter) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(0, 0, 0)); + box.Add(Base::Vector3d(1, 1, 1)); + + EXPECT_EQ(box.GetCenter(), Base::Vector3d(0.5, 0.5, 0.5)); +} + +TEST(BoundBox, TestMinimum) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(0, 0, 0)); + box.Add(Base::Vector3d(1, 1, 1)); + + EXPECT_EQ(box.GetMinimum(), Base::Vector3d(0, 0, 0)); +} + +TEST(BoundBox, TestMaximum) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(0, 0, 0)); + box.Add(Base::Vector3d(1, 1, 1)); + + EXPECT_EQ(box.GetMaximum(), Base::Vector3d(1, 1, 1)); +} + +TEST(BoundBox, TestDiagonalLength) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(0, 0, 0)); + box.Add(Base::Vector3d(1, 1, 1)); + + EXPECT_GT(box.CalcDiagonalLength(), 1.7); + EXPECT_LT(box.CalcDiagonalLength(), 1.8); +} + +TEST(BoundBox, TestVolume) +{ + Base::BoundBox3d box; + EXPECT_LT(box.Volume(), 0.0); + box.Add(Base::Vector3d(0, 0, 0)); + EXPECT_EQ(box.Volume(), 0.0); + box.Add(Base::Vector3d(1, 1, 1)); + EXPECT_GT(box.Volume(), 0.0); +} + +TEST(BoundBox, TestDiagonalEnlarge) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(1, 1, 1)); + box.Enlarge(0.5); + + EXPECT_EQ(box.LengthX(), 1.0); + EXPECT_EQ(box.LengthY(), 1.0); + EXPECT_EQ(box.LengthZ(), 1.0); +} + +TEST(BoundBox, TestDiagonalShrink) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(0, 0, 0)); + box.Add(Base::Vector3d(4, 6, 8)); + box.Shrink(0.5); + + EXPECT_EQ(box.LengthX(), 3.0); + EXPECT_EQ(box.LengthY(), 5.0); + EXPECT_EQ(box.LengthZ(), 7.0); +} + +TEST(BoundBox, TestDiagonalMove) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(0, 0, 0)); + box.MoveX(1.0); + box.MoveY(2.0); + box.MoveZ(3.0); + + EXPECT_EQ(box.MinX, 1); + EXPECT_EQ(box.MinY, 2); + EXPECT_EQ(box.MinZ, 3); + EXPECT_EQ(box.MaxX, 1); + EXPECT_EQ(box.MaxY, 2); + EXPECT_EQ(box.MaxZ, 3); +} + +TEST(BoundBox, TestDiagonalScale) +{ + Base::BoundBox3d box; + box.Add(Base::Vector3d(0, 0, 0)); + box.Add(Base::Vector3d(1, 2, 3)); + box.ScaleX(0.5); + box.ScaleY(1.0); + box.ScaleZ(2.0); + + EXPECT_EQ(box.MinX, 0); + EXPECT_EQ(box.MinY, 0); + EXPECT_EQ(box.MinZ, 0); + EXPECT_EQ(box.MaxX, 0.5); + EXPECT_EQ(box.MaxY, 2.0); + EXPECT_EQ(box.MaxZ, 6.0); +} +// NOLINTEND(cppcoreguidelines-*,readability-*) diff --git a/tests/src/Base/CMakeLists.txt b/tests/src/Base/CMakeLists.txt index 6871874838..7f2d163409 100644 --- a/tests/src/Base/CMakeLists.txt +++ b/tests/src/Base/CMakeLists.txt @@ -1,12 +1,26 @@ target_sources( Tests_run PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/Axis.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Bitmask.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/BoundBox.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/CoordinateSystem.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/DualNumber.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/DualQuaternion.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Handle.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Matrix.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Placement.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Quantity.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Reader.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Rotation.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/TimeInfo.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Tools.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Tools2D.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Tools3D.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Unit.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Vector3D.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/ViewProj.cpp ${CMAKE_CURRENT_SOURCE_DIR}/Writer.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/tst_Tools.cpp ) + +setup_qt_test(InventorBuilder) diff --git a/tests/src/Base/CoordinateSystem.cpp b/tests/src/Base/CoordinateSystem.cpp new file mode 100644 index 0000000000..3a22aca6f0 --- /dev/null +++ b/tests/src/Base/CoordinateSystem.cpp @@ -0,0 +1,150 @@ +#include "gtest/gtest.h" +#include +#include + +// NOLINTBEGIN +TEST(CoordinateSystem, TestDefault) +{ + Base::CoordinateSystem cs; + EXPECT_EQ(cs.getPosition(), Base::Vector3d(0, 0, 0)); + EXPECT_EQ(cs.getXDirection(), Base::Vector3d(1, 0, 0)); + EXPECT_EQ(cs.getYDirection(), Base::Vector3d(0, 1, 0)); + EXPECT_EQ(cs.getZDirection(), Base::Vector3d(0, 0, 1)); +} + +TEST(CoordinateSystem, TestSetAxisFailure) +{ + Base::CoordinateSystem cs; + + EXPECT_THROW(cs.setAxes(Base::Vector3d(0, 0, 1), Base::Vector3d(0, 0, 1)), Base::ValueError); +} + +TEST(CoordinateSystem, TestSetAxis) +{ + Base::CoordinateSystem cs; + Base::Axis axis; + axis.setBase(Base::Vector3d(1, 2, 3)); + axis.setDirection(Base::Vector3d(1, 1, 1)); + cs.setAxes(axis, Base::Vector3d(0, 0, 1)); + + EXPECT_EQ(cs.getPosition(), Base::Vector3d(1, 2, 3)); + EXPECT_EQ(cs.getXDirection(), Base::Vector3d(-1, -1, 2).Normalize()); + EXPECT_EQ(cs.getYDirection(), Base::Vector3d(1, -1, 0).Normalize()); + EXPECT_EQ(cs.getZDirection(), Base::Vector3d(1, 1, 1).Normalize()); +} + +TEST(CoordinateSystem, TestSetXDir) +{ + Base::CoordinateSystem cs; + cs.setXDirection(Base::Vector3d(1, 1, 1)); + + EXPECT_EQ(cs.getXDirection(), Base::Vector3d(1, 1, 0).Normalize()); + EXPECT_EQ(cs.getYDirection(), Base::Vector3d(-1, 1, 0).Normalize()); + EXPECT_EQ(cs.getZDirection(), Base::Vector3d(0, 0, 1).Normalize()); +} + +TEST(CoordinateSystem, TestSetYDir) +{ + Base::CoordinateSystem cs; + cs.setYDirection(Base::Vector3d(1, 1, 1)); + + EXPECT_EQ(cs.getXDirection(), Base::Vector3d(1, -1, 0).Normalize()); + EXPECT_EQ(cs.getYDirection(), Base::Vector3d(1, 1, 0).Normalize()); + EXPECT_EQ(cs.getZDirection(), Base::Vector3d(0, 0, 1).Normalize()); +} + +TEST(CoordinateSystem, TestSetZDir) +{ + Base::CoordinateSystem cs; + cs.setZDirection(Base::Vector3d(1, 1, 1)); + + EXPECT_EQ(cs.getXDirection(), Base::Vector3d(2, -1, -1).Normalize()); + EXPECT_EQ(cs.getYDirection(), Base::Vector3d(0, 1, -1).Normalize()); + EXPECT_EQ(cs.getZDirection(), Base::Vector3d(1, 1, 1).Normalize()); +} + +TEST(CoordinateSystem, TestTransformPlacement) +{ + Base::CoordinateSystem cs; + Base::CoordinateSystem csT; + Base::Placement plm; + plm.setPosition(Base::Vector3d(1, 2, 3)); + plm.setRotation(Base::Rotation(1, 1, 2, 2)); + csT.transform(plm); + + Base::Placement dis = cs.displacement(csT); + EXPECT_EQ(plm, dis); + + Base::Placement disT = csT.displacement(cs); + EXPECT_EQ(plm.inverse(), disT); +} + +TEST(CoordinateSystem, TestMultTransformPlacement) +{ + Base::CoordinateSystem cs; + Base::CoordinateSystem csT; + Base::Placement plm; + plm.setPosition(Base::Vector3d(1, 2, 3)); + plm.setRotation(Base::Rotation(1, 1, 2, 2)); + csT.transform(plm); + csT.transform(plm); + + plm = plm * plm; + + Base::Placement dis = cs.displacement(csT); + EXPECT_EQ(plm.isSame(dis, 0.001), true); + + Base::Placement disT = csT.displacement(cs); + EXPECT_EQ(plm.inverse().isSame(disT, 0.001), true); +} + +TEST(CoordinateSystem, TestTransformRotation) +{ + Base::CoordinateSystem cs; + Base::CoordinateSystem csT; + Base::Rotation rot(1, 1, 2, 2); + csT.transform(rot); + + Base::Placement dis = cs.displacement(csT); + EXPECT_EQ(rot, dis.getRotation()); + + Base::Placement disT = csT.displacement(cs); + EXPECT_EQ(rot.inverse(), disT.getRotation()); +} + +TEST(CoordinateSystem, TestTransformPoint) +{ + Base::CoordinateSystem cs; + Base::CoordinateSystem csT; + Base::Placement plm; + plm.setPosition(Base::Vector3d(1, 2, 3)); + plm.setRotation(Base::Rotation(1, 1, 2, 2)); + csT.transform(plm); + + Base::Vector3d src(-1, 5, 3), dst; + plm.inverse().multVec(src, dst); + csT.transformTo(src); + + EXPECT_EQ(src, dst); +} + +TEST(CoordinateSystem, TestSetPlacement) +{ + Base::CoordinateSystem cs; + Base::CoordinateSystem csT; + Base::Placement plm; + plm.setPosition(Base::Vector3d(1, 2, 3)); + plm.setRotation(Base::Rotation(1, 1, 2, 2)); + csT.transform(plm); + csT.transform(plm); + csT.transform(plm); + csT.setPlacement(plm); + + Base::Placement dis = cs.displacement(csT); + EXPECT_EQ(plm, dis); + + Base::Placement disT = csT.displacement(cs); + EXPECT_EQ(plm.inverse(), disT); +} + +// NOLINTEND diff --git a/tests/src/Base/DualNumber.cpp b/tests/src/Base/DualNumber.cpp new file mode 100644 index 0000000000..6d733e82e6 --- /dev/null +++ b/tests/src/Base/DualNumber.cpp @@ -0,0 +1,103 @@ +#include "gtest/gtest.h" +#include + +TEST(DualNumber, TestDefault) +{ + Base::DualNumber dn; + EXPECT_EQ(dn.re, 0.0); + EXPECT_EQ(dn.du, 0.0); +} + +TEST(DualNumber, TestNonDefault) +{ + Base::DualNumber dn(1.0); + EXPECT_EQ(dn.re, 1.0); + EXPECT_EQ(dn.du, 0.0); + + Base::DualNumber dn2(1.0, 2.0); + EXPECT_EQ(dn2.re, 1.0); + EXPECT_EQ(dn2.du, 2.0); +} + +TEST(DualNumber, TestNegate) +{ + Base::DualNumber dn(-Base::DualNumber(1.0, 2.0)); + EXPECT_EQ(dn.re, -1.0); + EXPECT_EQ(dn.du, -2.0); +} + +TEST(DualNumber, TestPlus) +{ + Base::DualNumber dn1(1.0, 2.0); + Base::DualNumber dn2(2.0, -1.0); + + Base::DualNumber dn3 = dn1 + dn2; + EXPECT_EQ(dn3.re, 3.0); + EXPECT_EQ(dn3.du, 1.0); + + Base::DualNumber dn4 = dn1 + 2.0; + EXPECT_EQ(dn4.re, 3.0); + EXPECT_EQ(dn4.du, 2.0); + + Base::DualNumber dn5 = 2.0 + dn1; + EXPECT_EQ(dn5.re, 3.0); + EXPECT_EQ(dn5.du, 2.0); +} + +TEST(DualNumber, TestMinus) +{ + Base::DualNumber dn1(1.0, 2.0); + Base::DualNumber dn2(2.0, -1.0); + + Base::DualNumber dn3 = dn1 - dn2; + EXPECT_EQ(dn3.re, -1.0); + EXPECT_EQ(dn3.du, 3.0); + + Base::DualNumber dn4 = dn1 - 2.0; + EXPECT_EQ(dn4.re, -1.0); + EXPECT_EQ(dn4.du, 2.0); + + Base::DualNumber dn5 = 2.0 - dn1; + EXPECT_EQ(dn5.re, 1.0); + EXPECT_EQ(dn5.du, -2.0); +} + +TEST(DualNumber, TestMultiply) +{ + Base::DualNumber dn1(1.0, 2.0); + Base::DualNumber dn2(2.0, -1.0); + + Base::DualNumber dn3 = dn1 * dn2; + EXPECT_EQ(dn3.re, 2.0); + EXPECT_EQ(dn3.du, 3.0); + + Base::DualNumber dn4 = dn1 * 2.0; + EXPECT_EQ(dn4.re, 2.0); + EXPECT_EQ(dn4.du, 4.0); + + Base::DualNumber dn5 = 2.0 * dn1; + EXPECT_EQ(dn5.re, 2.0); + EXPECT_EQ(dn5.du, 4.0); +} + +TEST(DualNumber, TestDivide) +{ + Base::DualNumber dn1(1.0, 2.0); + Base::DualNumber dn2(2.0, -1.0); + + Base::DualNumber dn3 = dn1 / dn2; + EXPECT_EQ(dn3.re, 0.5); + EXPECT_EQ(dn3.du, 1.25); + + Base::DualNumber dn4 = dn1 / 2.0; + EXPECT_EQ(dn4.re, 0.5); + EXPECT_EQ(dn4.du, 1.0); +} + +TEST(DualNumber, TestPow) +{ + Base::DualNumber dn1(3.0, 2.0); + Base::DualNumber dn2 = Base::pow(dn1, 2.0); + EXPECT_EQ(dn2.re, 9.0); + EXPECT_EQ(dn2.du, 12.0); +} diff --git a/tests/src/Base/DualQuaternion.cpp b/tests/src/Base/DualQuaternion.cpp new file mode 100644 index 0000000000..950e1542b4 --- /dev/null +++ b/tests/src/Base/DualQuaternion.cpp @@ -0,0 +1,266 @@ +#include "gtest/gtest.h" +#include +#include + +TEST(DualQuaternion, TestDefault) +{ + Base::DualQuat qq; + EXPECT_EQ(qq.x.re, 0.0); + EXPECT_EQ(qq.x.du, 0.0); + EXPECT_EQ(qq.y.re, 0.0); + EXPECT_EQ(qq.y.du, 0.0); + EXPECT_EQ(qq.z.re, 0.0); + EXPECT_EQ(qq.z.du, 0.0); + EXPECT_EQ(qq.w.re, 0.0); + EXPECT_EQ(qq.w.du, 0.0); +} + +TEST(DualQuaternion, TestFromDouble) +{ + Base::DualQuat qq(1.0, 2.0, 3.0, 4.0); + EXPECT_EQ(qq.x.re, 1.0); + EXPECT_EQ(qq.x.du, 0.0); + EXPECT_EQ(qq.y.re, 2.0); + EXPECT_EQ(qq.y.du, 0.0); + EXPECT_EQ(qq.z.re, 3.0); + EXPECT_EQ(qq.z.du, 0.0); + EXPECT_EQ(qq.w.re, 4.0); + EXPECT_EQ(qq.w.du, 0.0); +} + +TEST(DualQuaternion, TestFromDoubles) +{ + Base::DualQuat qq(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + EXPECT_EQ(qq.x.re, 1.0); + EXPECT_EQ(qq.x.du, 5.0); + EXPECT_EQ(qq.y.re, 2.0); + EXPECT_EQ(qq.y.du, 6.0); + EXPECT_EQ(qq.z.re, 3.0); + EXPECT_EQ(qq.z.du, 7.0); + EXPECT_EQ(qq.w.re, 4.0); + EXPECT_EQ(qq.w.du, 8.0); +} + +TEST(DualQuaternion, TestFromDual) +{ + Base::DualNumber dn(1.0, 2.0); + Base::DualQuat qq(dn, dn, dn, dn); + EXPECT_EQ(qq.x.re, 1.0); + EXPECT_EQ(qq.x.du, 2.0); + EXPECT_EQ(qq.y.re, 1.0); + EXPECT_EQ(qq.y.du, 2.0); + EXPECT_EQ(qq.z.re, 1.0); + EXPECT_EQ(qq.z.du, 2.0); + EXPECT_EQ(qq.w.re, 1.0); + EXPECT_EQ(qq.w.du, 2.0); +} + +TEST(DualQuaternion, TestIdentity) +{ + Base::DualQuat qq = Base::DualQuat::identity(); + EXPECT_EQ(qq.x.re, 0.0); + EXPECT_EQ(qq.x.du, 0.0); + EXPECT_EQ(qq.y.re, 0.0); + EXPECT_EQ(qq.y.du, 0.0); + EXPECT_EQ(qq.z.re, 0.0); + EXPECT_EQ(qq.z.du, 0.0); + EXPECT_EQ(qq.w.re, 1.0); + EXPECT_EQ(qq.w.du, 0.0); +} + +TEST(DualQuaternion, TestReal) +{ + Base::DualQuat qq = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0).real(); + EXPECT_EQ(qq.x.re, 1.0); + EXPECT_EQ(qq.x.du, 0.0); + EXPECT_EQ(qq.y.re, 2.0); + EXPECT_EQ(qq.y.du, 0.0); + EXPECT_EQ(qq.z.re, 3.0); + EXPECT_EQ(qq.z.du, 0.0); + EXPECT_EQ(qq.w.re, 4.0); + EXPECT_EQ(qq.w.du, 0.0); +} + +TEST(DualQuaternion, TestDual) +{ + Base::DualQuat qq = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0).dual(); + EXPECT_EQ(qq.x.re, 5.0); + EXPECT_EQ(qq.x.du, 0.0); + EXPECT_EQ(qq.y.re, 6.0); + EXPECT_EQ(qq.y.du, 0.0); + EXPECT_EQ(qq.z.re, 7.0); + EXPECT_EQ(qq.z.du, 0.0); + EXPECT_EQ(qq.w.re, 8.0); + EXPECT_EQ(qq.w.du, 0.0); +} + +TEST(DualQuaternion, TestConjugate) +{ + Base::DualQuat qq = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0).conj(); + EXPECT_EQ(qq.x.re, -1.0); + EXPECT_EQ(qq.x.du, -5.0); + EXPECT_EQ(qq.y.re, -2.0); + EXPECT_EQ(qq.y.du, -6.0); + EXPECT_EQ(qq.z.re, -3.0); + EXPECT_EQ(qq.z.du, -7.0); + EXPECT_EQ(qq.w.re, 4.0); + EXPECT_EQ(qq.w.du, 8.0); +} + +TEST(DualQuaternion, TestVec) +{ + Base::DualQuat qq = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0).vec(); + EXPECT_EQ(qq.x.re, 1.0); + EXPECT_EQ(qq.x.du, 5.0); + EXPECT_EQ(qq.y.re, 2.0); + EXPECT_EQ(qq.y.du, 6.0); + EXPECT_EQ(qq.z.re, 3.0); + EXPECT_EQ(qq.z.du, 7.0); + EXPECT_EQ(qq.w.re, 0.0); + EXPECT_EQ(qq.w.du, 0.0); +} + +TEST(DualQuaternion, TestLength) +{ + Base::DualQuat qq = Base::DualQuat(0.0, 0.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + EXPECT_DOUBLE_EQ(qq.length(), 5.0); +} + +TEST(DualQuaternion, TestTheta) +{ + Base::DualQuat qq = Base::DualQuat(0.0, 0.0, 3.0, 3.0, 5.0, 6.0, 7.0, 8.0); + EXPECT_DOUBLE_EQ(qq.theta(), Base::toRadians(90.0)); +} + +TEST(DualQuaternion, TestDot) +{ + Base::DualQuat qq1 = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + Base::DualQuat qq2 = Base::DualQuat(1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0); + double dot = Base::DualQuat::dot(qq1, qq2); + EXPECT_DOUBLE_EQ(dot, 10.0); +} + +TEST(DualQuaternion, TestNegate) +{ + Base::DualQuat qq = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + Base::DualQuat dn(-qq); + EXPECT_EQ(dn.x.re, -1.0); + EXPECT_EQ(dn.x.du, -5.0); + EXPECT_EQ(dn.y.re, -2.0); + EXPECT_EQ(dn.y.du, -6.0); + EXPECT_EQ(dn.z.re, -3.0); + EXPECT_EQ(dn.z.du, -7.0); + EXPECT_EQ(dn.w.re, -4.0); + EXPECT_EQ(dn.w.du, -8.0); +} + +TEST(DualQuaternion, TestPlus) +{ + Base::DualQuat qq1 = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + Base::DualQuat qq2 = Base::DualQuat(1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0); + Base::DualQuat qq3 = qq1 + qq2; + EXPECT_EQ(qq3.x.re, 2.0); + EXPECT_EQ(qq3.x.du, 7.0); + EXPECT_EQ(qq3.y.re, 3.0); + EXPECT_EQ(qq3.y.du, 8.0); + EXPECT_EQ(qq3.z.re, 4.0); + EXPECT_EQ(qq3.z.du, 9.0); + EXPECT_EQ(qq3.w.re, 5.0); + EXPECT_EQ(qq3.w.du, 10.0); +} + +TEST(DualQuaternion, TestMinus) +{ + Base::DualQuat qq1 = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + Base::DualQuat qq2 = Base::DualQuat(1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0); + Base::DualQuat qq3 = qq1 - qq2; + EXPECT_EQ(qq3.x.re, 0.0); + EXPECT_EQ(qq3.x.du, 3.0); + EXPECT_EQ(qq3.y.re, 1.0); + EXPECT_EQ(qq3.y.du, 4.0); + EXPECT_EQ(qq3.z.re, 2.0); + EXPECT_EQ(qq3.z.du, 5.0); + EXPECT_EQ(qq3.w.re, 3.0); + EXPECT_EQ(qq3.w.du, 6.0); +} + +TEST(DualQuaternion, TestMultiplyQuat) +{ + Base::DualQuat qq1 = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + Base::DualQuat qq2 = Base::DualQuat(1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0); + Base::DualQuat qq3 = qq1 * qq2; + EXPECT_EQ(qq3.x.re, 4.0); + EXPECT_EQ(qq3.x.du, 20.0); + EXPECT_EQ(qq3.y.re, 8.0); + EXPECT_EQ(qq3.y.du, 32.0); + EXPECT_EQ(qq3.z.re, 6.0); + EXPECT_EQ(qq3.z.du, 26.0); + EXPECT_EQ(qq3.w.re, -2.0); + EXPECT_EQ(qq3.w.du, -14.0); +} + +TEST(DualQuaternion, TestMultiplyNumber) +{ + Base::DualQuat qq1 = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + Base::DualNumber dn1(1.0, 2.0); + + Base::DualQuat qq4 = qq1 * dn1; + EXPECT_EQ(qq4.x.re, 1.0); + EXPECT_EQ(qq4.x.du, 7.0); + EXPECT_EQ(qq4.y.re, 2.0); + EXPECT_EQ(qq4.y.du, 10.0); + EXPECT_EQ(qq4.z.re, 3.0); + EXPECT_EQ(qq4.z.du, 13.0); + EXPECT_EQ(qq4.w.re, 4.0); + EXPECT_EQ(qq4.w.du, 16.0); + + Base::DualQuat qq5 = dn1 * qq1; + EXPECT_EQ(qq5.x.re, 1.0); + EXPECT_EQ(qq5.x.du, 7.0); + EXPECT_EQ(qq5.y.re, 2.0); + EXPECT_EQ(qq5.y.du, 10.0); + EXPECT_EQ(qq5.z.re, 3.0); + EXPECT_EQ(qq5.z.du, 13.0); + EXPECT_EQ(qq5.w.re, 4.0); + EXPECT_EQ(qq5.w.du, 16.0); +} + +TEST(DualQuaternion, TestMultiplyScalar) +{ + Base::DualQuat qq1 = Base::DualQuat(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + + Base::DualQuat qq4 = qq1 * 2.0; + EXPECT_EQ(qq4.x.re, 2.0); + EXPECT_EQ(qq4.x.du, 10.0); + EXPECT_EQ(qq4.y.re, 4.0); + EXPECT_EQ(qq4.y.du, 12.0); + EXPECT_EQ(qq4.z.re, 6.0); + EXPECT_EQ(qq4.z.du, 14.0); + EXPECT_EQ(qq4.w.re, 8.0); + EXPECT_EQ(qq4.w.du, 16.0); + + Base::DualQuat qq5 = 2.0 * qq1; + EXPECT_EQ(qq5.x.re, 2.0); + EXPECT_EQ(qq5.x.du, 10.0); + EXPECT_EQ(qq5.y.re, 4.0); + EXPECT_EQ(qq5.y.du, 12.0); + EXPECT_EQ(qq5.z.re, 6.0); + EXPECT_EQ(qq5.z.du, 14.0); + EXPECT_EQ(qq5.w.re, 8.0); + EXPECT_EQ(qq5.w.du, 16.0); +} + +TEST(DualQuaternion, TestPow) +{ + const double epsilon = 1e-12; + Base::DualQuat qq1 = Base::DualQuat(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0); + Base::DualQuat qq2 = qq1.pow(2.0); + EXPECT_NEAR(qq2.x.re, 0.0, epsilon); + EXPECT_NEAR(qq2.x.du, 0.0, epsilon); + EXPECT_NEAR(qq2.y.re, 0.0, epsilon); + EXPECT_NEAR(qq2.y.du, 0.0, epsilon); + EXPECT_NEAR(qq2.z.re, 0.0, epsilon); + EXPECT_NEAR(qq2.z.du, 0.0, epsilon); + EXPECT_NEAR(qq2.w.re, -1.0, epsilon); + EXPECT_NEAR(qq2.w.du, 0.0, epsilon); +} diff --git a/tests/src/Base/Handle.cpp b/tests/src/Base/Handle.cpp new file mode 100644 index 0000000000..09563d2e80 --- /dev/null +++ b/tests/src/Base/Handle.cpp @@ -0,0 +1,72 @@ +#include "gtest/gtest.h" +#include + +class Data: public Base::Handled +{ + int myValue {}; + +public: + int getValue() const + { + return myValue; + } + void setValue(int val) + { + myValue = val; + } +}; + +TEST(Reference, TestNull) +{ + Base::Reference data; + EXPECT_EQ(data.getRefCount(), 0); +} + +TEST(Reference, TestConstructor) +{ + Base::Reference data(new Data); + EXPECT_EQ(data.getRefCount(), 1); +} + +TEST(Reference, TestCopy) +{ + Base::Reference data(new Data); + Base::Reference copy(data); + EXPECT_EQ(data.getRefCount(), 2); + EXPECT_EQ(copy.getRefCount(), 2); + EXPECT_EQ(data, copy); + EXPECT_EQ(data.isValid(), true); + EXPECT_EQ(copy.isValid(), true); + EXPECT_EQ(data.isNull(), false); + EXPECT_EQ(copy.isNull(), false); +} + +TEST(Reference, TestAssignRaw) +{ + Base::Reference data = new Data(); + EXPECT_EQ(data->getValue(), 0); + EXPECT_EQ(data.getRefCount(), 1); +} + +TEST(Reference, TestAssignRef) +{ + Base::Reference data = new Data(); + Base::Reference copy; + copy = data; + EXPECT_EQ(data.getRefCount(), 2); + EXPECT_EQ(copy.getRefCount(), 2); + EXPECT_EQ(data, copy); + EXPECT_EQ(data.isValid(), true); + EXPECT_EQ(copy.isValid(), true); + EXPECT_EQ(data.isNull(), false); + EXPECT_EQ(copy.isNull(), false); +} + +TEST(Reference, TestRefHandle) +{ + Base::Reference data = new Data(); + data->ref(); + EXPECT_EQ(data.getRefCount(), 2); + data->unref(); + EXPECT_EQ(data.getRefCount(), 1); +} diff --git a/tests/src/Qt/InventorBuilder.cpp b/tests/src/Base/InventorBuilder.cpp similarity index 100% rename from tests/src/Qt/InventorBuilder.cpp rename to tests/src/Base/InventorBuilder.cpp diff --git a/tests/src/Base/Matrix.cpp b/tests/src/Base/Matrix.cpp index 3797143737..96474dfd76 100644 --- a/tests/src/Base/Matrix.cpp +++ b/tests/src/Base/Matrix.cpp @@ -2,6 +2,7 @@ #include // NOLINTBEGIN(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers) +// clang-format off TEST(Matrix, TestShearing) { Base::Matrix4D mat; @@ -97,8 +98,26 @@ TEST(Matrix, TestTrace) TEST(Matrix, TestColRow) { Base::Matrix4D mat; + EXPECT_EQ(mat.getCol(0), Base::Vector3d(1, 0, 0)); EXPECT_EQ(mat.getCol(1), Base::Vector3d(0, 1, 0)); EXPECT_EQ(mat.getCol(2), Base::Vector3d(0, 0, 1)); + EXPECT_EQ(mat.getRow(0), Base::Vector3d(1, 0, 0)); + EXPECT_EQ(mat.getRow(1), Base::Vector3d(0, 1, 0)); + EXPECT_EQ(mat.getRow(2), Base::Vector3d(0, 0, 1)); +} + +TEST(Matrix, TestColRowMisc) +{ + Base::Matrix4D mat{1.0, 2.0, 3.0, 0.0, + 3.0, 1.0, 2.0, 2.0, + 2.0, 3.0, 1.0, 1.0, + 0.0, 0.0, 0.0, 1.0}; + EXPECT_EQ(mat.getCol(0), Base::Vector3d(1.0, 3.0, 2.0)); + EXPECT_EQ(mat.getCol(1), Base::Vector3d(2.0, 1.0, 3.0)); + EXPECT_EQ(mat.getCol(2), Base::Vector3d(3.0, 2.0, 1.0)); + EXPECT_EQ(mat.getRow(0), Base::Vector3d(1.0, 2.0, 3.0)); + EXPECT_EQ(mat.getRow(1), Base::Vector3d(3.0, 1.0, 2.0)); + EXPECT_EQ(mat.getRow(2), Base::Vector3d(2.0, 3.0, 1.0)); } TEST(Matrix, TestUnity) @@ -121,4 +140,128 @@ TEST(Matrix, TestNull) mat.nullify(); EXPECT_EQ(mat.isNull(), true); } + +TEST(Matrix, TestMultVec) +{ + Base::Matrix4D mat{1.0, 2.0, 3.0, 0.0, + 2.0, 3.0, 1.0, 1.0, + 3.0, 1.0, 2.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Vector3d vec1{1,1,3}; + vec1 = mat * vec1; + EXPECT_EQ(vec1, Base::Vector3d(12.0, 9.0, 12.0)); + + Base::Vector3d vec2 {1, 1, 1}; + mat.multVec(vec2, vec2); + EXPECT_EQ(vec2, Base::Vector3d(6.0, 7.0, 8.0)); +} + +TEST(Matrix, TestMult) +{ + Base::Matrix4D mat1{1.0, 2.0, 3.0, 0.0, + 2.0, 3.0, 1.0, 1.0, + 3.0, 1.0, 2.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Matrix4D mat2{1.0, 2.0, 3.0, 0.0, + 3.0, 1.0, 2.0, 1.0, + 2.0, 3.0, 1.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Matrix4D mat3 = mat1 * mat2; + Base::Matrix4D mat4{13.0, 13.0, 10.0, 8.0, + 13.0, 10.0, 13.0, 6.0, + 10.0, 13.0, 13.0, 7.0, + 0.0, 0.0, 0.0, 1.0}; + EXPECT_EQ(mat3, mat4); +} + +TEST(Matrix, TestMultAssign) +{ + Base::Matrix4D mat1{1.0, 2.0, 3.0, 0.0, + 2.0, 3.0, 1.0, 1.0, + 3.0, 1.0, 2.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Matrix4D mat2{1.0, 2.0, 3.0, 0.0, + 3.0, 1.0, 2.0, 1.0, + 2.0, 3.0, 1.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + mat1 *= mat2; + Base::Matrix4D mat4{13.0, 13.0, 10.0, 8.0, + 13.0, 10.0, 13.0, 6.0, + 10.0, 13.0, 13.0, 7.0, + 0.0, 0.0, 0.0, 1.0}; + EXPECT_EQ(mat1, mat4); +} + +TEST(Matrix, TestAdd) +{ + Base::Matrix4D mat1{1.0, 2.0, 3.0, 0.0, + 2.0, 3.0, 1.0, 1.0, + 3.0, 1.0, 2.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Matrix4D mat2{1.0, 2.0, 3.0, 0.0, + 3.0, 1.0, 2.0, 1.0, + 2.0, 3.0, 1.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Matrix4D mat3 = mat1 + mat2; + Base::Matrix4D mat4{2.0, 4.0, 6.0, 0.0, + 5.0, 4.0, 3.0, 2.0, + 5.0, 4.0, 3.0, 4.0, + 0.0, 0.0, 0.0, 2.0}; + EXPECT_EQ(mat3, mat4); +} + +TEST(Matrix, TestAddAssign) +{ + Base::Matrix4D mat1{1.0, 2.0, 3.0, 0.0, + 2.0, 3.0, 1.0, 1.0, + 3.0, 1.0, 2.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Matrix4D mat2{1.0, 2.0, 3.0, 0.0, + 3.0, 1.0, 2.0, 1.0, + 2.0, 3.0, 1.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + mat1 += mat2; + Base::Matrix4D mat4{2.0, 4.0, 6.0, 0.0, + 5.0, 4.0, 3.0, 2.0, + 5.0, 4.0, 3.0, 4.0, + 0.0, 0.0, 0.0, 2.0}; + EXPECT_EQ(mat1, mat4); +} + +TEST(Matrix, TestSub) +{ + Base::Matrix4D mat1{1.0, 2.0, 3.0, 0.0, + 2.0, 3.0, 1.0, 1.0, + 3.0, 1.0, 2.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Matrix4D mat2{1.0, 2.0, 3.0, 0.0, + 3.0, 1.0, 2.0, 1.0, + 2.0, 3.0, 1.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Matrix4D mat3 = mat1 - mat2; + Base::Matrix4D mat4{0.0, 0.0, 0.0, 0.0, + -1.0, 2.0, -1.0, 0.0, + 1.0, -2.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 0.0}; + EXPECT_EQ(mat3, mat4); +} + +TEST(Matrix, TestSubAssign) +{ + Base::Matrix4D mat1{1.0, 2.0, 3.0, 0.0, + 2.0, 3.0, 1.0, 1.0, + 3.0, 1.0, 2.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + Base::Matrix4D mat2{1.0, 2.0, 3.0, 0.0, + 3.0, 1.0, 2.0, 1.0, + 2.0, 3.0, 1.0, 2.0, + 0.0, 0.0, 0.0, 1.0}; + mat1 -= mat2; + Base::Matrix4D mat4{0.0, 0.0, 0.0, 0.0, + -1.0, 2.0, -1.0, 0.0, + 1.0, -2.0, 1.0, 0.0, + 0.0, 0.0, 0.0, 0.0}; + EXPECT_EQ(mat1, mat4); +} +// clang-format on // NOLINTEND(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers) diff --git a/tests/src/Base/Placement.cpp b/tests/src/Base/Placement.cpp new file mode 100644 index 0000000000..603eeb3a22 --- /dev/null +++ b/tests/src/Base/Placement.cpp @@ -0,0 +1,215 @@ +#include "gtest/gtest.h" +#include +#include +#include +#include + +static const double epsilon = 1e-9; + +TEST(Placement, TestDefault) +{ + Base::Placement plm; + EXPECT_EQ(plm.getPosition().IsNull(), true); + EXPECT_EQ(plm.getRotation().isNull(), false); + EXPECT_EQ(plm.getRotation().isIdentity(), true); +} + +TEST(Placement, TestPosRot) +{ + Base::Vector3d pos(1, 2, 3); + Base::Rotation rot(1, 1, 2, 2); + Base::Placement plm(pos, rot); + EXPECT_EQ(plm.getPosition(), pos); + EXPECT_EQ(plm.getRotation(), rot); +} + +TEST(Placement, TestPosRotCnt) +{ + Base::Vector3d pos(1, 2, 3); + Base::Rotation rot(1, 0, 0, 0); + Base::Vector3d cnt(4, 5, 6); + Base::Placement plm(pos, rot, cnt); + + EXPECT_EQ(plm.getPosition(), Base::Vector3d(1, 12, 15)); + EXPECT_EQ(plm.getRotation(), rot); +} + +TEST(Placement, TestMatrix) +{ + Base::Matrix4D mat; + mat.rotX(Base::toRadians(90.0)); + mat.rotY(Base::toRadians(90.0)); + mat.rotZ(Base::toRadians(90.0)); + mat.setCol(3, Base::Vector3d(1, 2, 3)); + Base::Placement plm(mat); + EXPECT_EQ(plm.getPosition(), Base::Vector3d(1, 2, 3)); + Base::Vector3d axis; + double angle {}; + plm.getRotation().getValue(axis, angle); + EXPECT_EQ(angle, Base::toRadians(90.0)); + EXPECT_EQ(axis.IsEqual(Base::Vector3d(0, 1, 0), 0.001), true); +} + +TEST(Placement, TestIdentity) +{ + Base::Vector3d pos(1, 2, 3); + Base::Rotation rot(1, 0, 0, 0); + Base::Vector3d cnt(4, 5, 6); + Base::Placement plm(pos, rot, cnt); + Base::Placement mult = plm * plm.inverse(); + EXPECT_EQ(mult.isIdentity(), true); +} + +TEST(Placement, TestInvert) +{ + Base::Vector3d pos(1, 2, 3); + Base::Rotation rot(1, 0, 0, 0); + Base::Vector3d cnt(4, 5, 6); + Base::Placement plm(pos, rot, cnt); + plm.invert(); + EXPECT_EQ(plm.getPosition(), Base::Vector3d(-1, 12, 15)); + EXPECT_EQ(plm.getRotation().isIdentity(), false); + EXPECT_EQ(plm.getRotation(), rot); +} + +TEST(Placement, TestMove) +{ + Base::Vector3d pos(1, 2, 3); + Base::Rotation rot(1, 0, 0, 0); + Base::Vector3d cnt(4, 5, 6); + Base::Placement plm(pos, rot, cnt); + plm.move(Base::Vector3d(-1, -12, -15)); + EXPECT_EQ(plm.getPosition().IsNull(), true); +} + +TEST(Placement, TestSame) +{ + Base::Vector3d pos(1, 2, 3); + Base::Rotation rot(1, 0, 0, 0); + Base::Vector3d cnt(4, 5, 6); + Base::Placement plm(pos, rot, cnt); + EXPECT_EQ(plm.isSame(plm), true); + EXPECT_EQ(plm.isSame(plm, 0.001), true); + EXPECT_EQ(plm == plm, true); + + Base::Placement plm2(plm * plm); + EXPECT_EQ(plm2.isSame(plm), false); + EXPECT_EQ(plm2.isSame(plm, 0.001), false); + EXPECT_EQ(plm2 == plm, false); +} + +TEST(Placement, TestMultiply) +{ + Base::Vector3d pos(1, 2, 3); + Base::Rotation rot(1, 0, 0, 0); + Base::Vector3d cnt(4, 5, 6); + Base::Placement plm(pos, rot, cnt); + + Base::Placement plm2(plm * plm); + EXPECT_EQ(plm2.getRotation().isIdentity(), true); +} + +TEST(Placement, TestMultRight) +{ + Base::Vector3d pos1(1, 2, 3); + Base::Rotation rot1(1, 0, 0, 0); + Base::Placement plm1(pos1, rot1); + + Base::Vector3d pos2(3, 2, 1); + Base::Rotation rot2(0, 1, 0, 0); + Base::Placement plm2(pos2, rot2); + + plm1.multRight(plm2); + EXPECT_EQ(plm1.getRotation(), Base::Rotation(0, 0, 1, 0)); + EXPECT_EQ(plm1.getPosition(), Base::Vector3d(4, 0, 2)); +} + +TEST(Placement, TestMultLeft) +{ + Base::Vector3d pos1(1, 2, 3); + Base::Rotation rot1(1, 0, 0, 0); + Base::Placement plm1(pos1, rot1); + + Base::Vector3d pos2(3, 2, 1); + Base::Rotation rot2(0, 1, 0, 0); + Base::Placement plm2(pos2, rot2); + + plm1.multLeft(plm2); + EXPECT_EQ(plm1.getRotation(), Base::Rotation(0, 0, 1, 0)); + EXPECT_EQ(plm1.getPosition(), Base::Vector3d(2, 4, -2)); +} + +TEST(Placement, TestMultVec) +{ + Base::Vector3d pos(1, 2, 3); + Base::Rotation rot(1, 0, 0, 0); + Base::Placement plm(pos, rot); + + Base::Vector3d vec {1, 1, 1}; + plm.multVec(vec, vec); + EXPECT_EQ(vec, Base::Vector3d(2, 1, 2)); +} + +TEST(Placement, TestDualQuat) +{ + Base::Vector3d pos(1, 2, 3); + Base::Rotation rot(1, 0, 0, 0); + Base::Placement plm(pos, rot); + Base::DualQuat qq = plm.toDualQuaternion(); + Base::Placement plm2 = Base::Placement::fromDualQuaternion(qq); + EXPECT_EQ(plm.isSame(plm2), true); +} + +TEST(Placement, TestPow) +{ + Base::Vector3d axis1, axis2; + double angle1 {}, angle2 {}; + + Base::Vector3d pos(1, 4, 6); + Base::Rotation rot(1, 2, 3, 4); + Base::Placement plm(pos, rot); + rot.getValue(axis1, angle1); + + Base::Placement plm2 = plm.pow(1.5); + plm2.getRotation().getValue(axis2, angle2); + EXPECT_DOUBLE_EQ(angle2, 1.5 * angle1); + EXPECT_EQ(axis1.IsEqual(axis2, 0.0001), true); +} + +TEST(Placement, TestSlerp) +{ + Base::Vector3d pos(1, 4, 6); + Base::Rotation rot1(1, 0, 0, 0); + Base::Rotation rot2(0, 1, 0, 0); + Base::Placement plm1(pos, rot1); + Base::Placement plm2(pos, rot2); + + Base::Placement plm3 = Base::Placement::slerp(plm1, plm2, 0.0); + EXPECT_EQ(plm3.isSame(plm1), true); + Base::Placement plm4 = Base::Placement::slerp(plm1, plm2, 1.0); + EXPECT_EQ(plm4.isSame(plm2), true); + Base::Placement plm5 = Base::Placement::slerp(plm1, plm1, 0.5); + EXPECT_EQ(plm5.isSame(plm1), true); + Base::Placement plm6 = Base::Placement::slerp(plm1, plm2, 0.5); + EXPECT_EQ(plm6.getRotation().isSame(Base::Rotation(1, 1, 0, 0), epsilon), true); + EXPECT_EQ(plm6.getPosition().IsEqual(pos, epsilon), true); +} + +TEST(Placement, TestSclerp) +{ + Base::Vector3d pos(1, 4, 6); + Base::Rotation rot1(1, 0, 0, 0); + Base::Rotation rot2(0, 1, 0, 0); + Base::Placement plm1(pos, rot1); + Base::Placement plm2(pos, rot2); + + Base::Placement plm3 = Base::Placement::sclerp(plm1, plm2, 0.0); + EXPECT_EQ(plm3.isSame(plm1), true); + Base::Placement plm4 = Base::Placement::sclerp(plm1, plm2, 1.0); + EXPECT_EQ(plm4.isSame(plm2, epsilon), true); + Base::Placement plm5 = Base::Placement::sclerp(plm1, plm1, 0.5); + EXPECT_EQ(plm5.isSame(plm1), true); + Base::Placement plm6 = Base::Placement::sclerp(plm1, plm2, 0.5); + EXPECT_EQ(plm6.getRotation().isSame(Base::Rotation(1, 1, 0, 0), epsilon), true); + EXPECT_EQ(plm6.getPosition().IsEqual(pos, epsilon), true); +} diff --git a/tests/src/Base/Reader.cpp b/tests/src/Base/Reader.cpp index 64fbc92e67..0b17e6db03 100644 --- a/tests/src/Base/Reader.cpp +++ b/tests/src/Base/Reader.cpp @@ -5,11 +5,11 @@ #include "Base/Exception.h" #include "Base/Reader.h" #include -#include +#include #include #include -namespace fs = std::filesystem; +namespace fs = boost::filesystem; class ReaderTest: public ::testing::Test { @@ -24,8 +24,8 @@ protected: void TearDown() override { - if (std::filesystem::exists(_tempFile)) { - std::filesystem::remove(_tempFile); + if (fs::exists(_tempFile)) { + fs::remove(_tempFile); } } @@ -34,10 +34,10 @@ protected: auto stringData = R"()" + data + ""; std::istringstream stream(stringData); - std::ofstream fileStream(_tempFile); + std::ofstream fileStream(_tempFile.string()); fileStream.write(stringData.data(), static_cast(stringData.length())); fileStream.close(); - std::ifstream inputStream(_tempFile); + std::ifstream inputStream(_tempFile.string()); _reader = std::make_unique(_tempFile.string().c_str(), inputStream); } @@ -86,7 +86,7 @@ TEST_F(ReaderTest, beginCharStreamAlreadyBegun) Reader()->beginCharStream(); // Act & Assert - EXPECT_THROW(Reader()->beginCharStream(), Base::XMLParseException); + EXPECT_THROW(Reader()->beginCharStream(), Base::XMLParseException);// NOLINT } TEST_F(ReaderTest, charStreamGood) @@ -110,7 +110,7 @@ TEST_F(ReaderTest, charStreamBad) Reader()->readElement("data"); // Act & Assert - EXPECT_THROW(Reader()->charStream(), Base::XMLParseException); + EXPECT_THROW(Reader()->charStream(), Base::XMLParseException);// NOLINT } TEST_F(ReaderTest, endCharStreamGood) diff --git a/tests/src/Base/TimeInfo.cpp b/tests/src/Base/TimeInfo.cpp new file mode 100644 index 0000000000..04f4155550 --- /dev/null +++ b/tests/src/Base/TimeInfo.cpp @@ -0,0 +1,35 @@ +#include "gtest/gtest.h" +#include + +TEST(TimeInfo, TestDefault) +{ + Base::TimeInfo ti; + EXPECT_EQ(ti.isNull(), false); +} + +TEST(TimeInfo, TestNull) +{ + Base::TimeInfo ti(Base::TimeInfo::null()); + EXPECT_EQ(ti.isNull(), true); +} + +TEST(TimeInfo, TestCompare) +{ + Base::TimeInfo ti1; + Base::TimeInfo ti2; + ti2.setTime_t(ti1.getSeconds() + 1); + EXPECT_EQ(ti1 == ti1, true); + EXPECT_EQ(ti1 != ti2, true); + EXPECT_EQ(ti1 < ti2, true); + EXPECT_EQ(ti1 > ti2, false); + EXPECT_EQ(ti1 <= ti1, true); + EXPECT_EQ(ti1 >= ti1, true); +} + +TEST(TimeInfo, TestDiffTime) +{ + Base::TimeInfo ti1; + Base::TimeInfo ti2; + ti2.setTime_t(ti1.getSeconds() + 1); + EXPECT_EQ(Base::TimeInfo::diffTimeF(ti1, ti2), 1.0); +} diff --git a/tests/src/Base/Tools.cpp b/tests/src/Base/Tools.cpp new file mode 100644 index 0000000000..f135e8caab --- /dev/null +++ b/tests/src/Base/Tools.cpp @@ -0,0 +1,148 @@ +#include "gtest/gtest.h" +#include +#include + +// NOLINTBEGIN(cppcoreguidelines-*,readability-*) +TEST(BaseToolsSuite, TestUniqueName1) +{ + EXPECT_EQ(Base::Tools::getUniqueName("Body", {}), "Body"); +} + +TEST(BaseToolsSuite, TestUniqueName2) +{ + EXPECT_EQ(Base::Tools::getUniqueName("Body", {"Body"}, 1), "Body1"); +} + +TEST(BaseToolsSuite, TestUniqueName3) +{ + EXPECT_EQ(Base::Tools::getUniqueName("Body", {"Body"}, 3), "Body001"); +} + +TEST(BaseToolsSuite, TestUniqueName4) +{ + EXPECT_EQ(Base::Tools::getUniqueName("Body", {"Body001"}, 3), "Body002"); +} + +TEST(BaseToolsSuite, TestUniqueName5) +{ + EXPECT_EQ(Base::Tools::getUniqueName("Body", {"Body", "Body001"}, 3), "Body002"); +} + +TEST(BaseToolsSuite, TestUniqueName6) +{ + EXPECT_EQ(Base::Tools::getUniqueName("Body001", {"Body", "Body001"}, 3), "Body002"); +} + +TEST(BaseToolsSuite, TestUniqueName7) +{ + EXPECT_EQ(Base::Tools::getUniqueName("Body001", {"Body"}, 3), "Body002"); +} + +TEST(BaseToolsSuite, TestUniqueName8) +{ + EXPECT_EQ(Base::Tools::getUniqueName("Body12345", {"Body"}, 3), "Body12346"); +} + +TEST(Tools, TestIota) +{ + Base::iotaGen iota(1); + std::vector vec(5); + std::generate(vec.begin(), vec.end(), iota); + std::vector out = {1, 2, 3, 4, 5}; + EXPECT_EQ(vec, out); +} + +TEST(Tools, TestClamp) +{ + EXPECT_EQ(Base::clamp(2, 1, 3), 2); + EXPECT_EQ(Base::clamp(4, 1, 3), 3); + EXPECT_EQ(Base::clamp(0, 1, 3), 1); + + EXPECT_DOUBLE_EQ(Base::clamp(2, 1.5, 3.1), 2.0); + EXPECT_DOUBLE_EQ(Base::clamp(4, 1.5, 3.1), 3.1); + EXPECT_DOUBLE_EQ(Base::clamp(0, 1.5, 3.1), 1.5); +} + +TEST(Tools, TestSignum) +{ + EXPECT_EQ(Base::sgn(0), 0); + EXPECT_EQ(Base::sgn(2), 1); + EXPECT_EQ(Base::sgn(-2), -1); + EXPECT_DOUBLE_EQ(Base::sgn(0.1), 1.0); + EXPECT_DOUBLE_EQ(Base::sgn(2.0), 1.0); + EXPECT_DOUBLE_EQ(Base::sgn(-2.0), -1.0); + EXPECT_DOUBLE_EQ(Base::sgn(0.0), 0.0); +} + +TEST(Tools, TestRadian) +{ + EXPECT_EQ(Base::toRadians(90), 1); + EXPECT_DOUBLE_EQ(Base::toRadians(180), M_PI); + EXPECT_DOUBLE_EQ(Base::toRadians(90.0), M_PI / 2.0); + EXPECT_DOUBLE_EQ(Base::toRadians(0.0), 0.0); +} + +TEST(Tools, TestDegree) +{ + EXPECT_EQ(Base::toDegrees(3), 171); + EXPECT_DOUBLE_EQ(Base::toDegrees(M_PI), 180.0); + EXPECT_DOUBLE_EQ(Base::toDegrees(M_PI / 2.0), 90.0); + EXPECT_DOUBLE_EQ(Base::toDegrees(0.0), 0.0); +} + +TEST(Tools, TestToggle) +{ + bool value = true; + { + Base::FlagToggler toggle(value); + EXPECT_EQ(value, false); + } + EXPECT_EQ(value, true); +} + +TEST(Tools, TestStateLocker) +{ + bool value = true; + { + Base::StateLocker lock(value); + EXPECT_EQ(value, true); + } + EXPECT_EQ(value, true); + { + Base::StateLocker lock(value, false); + EXPECT_EQ(value, false); + } + EXPECT_EQ(value, true); +} + +TEST(Tools, TestBitsetLocker) +{ + std::bitset<8> value; + { + Base::BitsetLocker lock(value, 1); + EXPECT_EQ(value.test(1), true); + } + EXPECT_EQ(value.test(1), false); + { + Base::BitsetLocker lock(value, 2, false); + EXPECT_EQ(value.test(2), false); + } + EXPECT_EQ(value.test(2), false); + + value.set(3, true); + { + Base::BitsetLocker lock(value, 3, false); + EXPECT_EQ(value.test(3), false); + } + EXPECT_EQ(value.test(3), true); +} +TEST(BaseToolsSuite, TestQuote) +{ + EXPECT_EQ(Base::Tools::quoted("Test"), "\"Test\""); +} + +TEST(BaseToolsSuite, TestJoinList) +{ + EXPECT_EQ(Base::Tools::joinList({"AB", "CD"}), "AB, CD, "); +} +// NOLINTEND(cppcoreguidelines-*,readability-*) diff --git a/tests/src/Base/Tools2D.cpp b/tests/src/Base/Tools2D.cpp new file mode 100644 index 0000000000..77839d38e4 --- /dev/null +++ b/tests/src/Base/Tools2D.cpp @@ -0,0 +1,87 @@ +#include "gtest/gtest.h" +#include + +class Line2D: public ::testing::Test +{ +protected: + Line2D() + : pt1(0.0, 0.0) + , pt2(3.0, 4.0) + {} + void SetUp() override + {} + void TearDown() override + {} + Base::Vector2d GetFirst() const + { + return pt1; + } + Base::Vector2d GetSecond() const + { + return pt2; + } + Base::Line2d GetLine() const + { + Base::Line2d line(pt1, pt2); + return line; + } + +private: + Base::Vector2d pt1, pt2; +}; + +TEST_F(Line2D, TestLength) +{ + Base::Line2d line(GetLine()); + EXPECT_DOUBLE_EQ(line.Length(), 5.0); +} + +TEST_F(Line2D, TestPoints) +{ + Base::Line2d line(GetLine()); + EXPECT_EQ(line.clV1, GetFirst()); + EXPECT_EQ(line.clV2, GetSecond()); +} + +TEST_F(Line2D, TestFromPos) +{ + Base::Line2d line(GetLine()); + EXPECT_EQ(line.FromPos(2.5), Base::Vector2d(1.5, 2.0)); +} + +TEST_F(Line2D, TestContains) +{ + Base::Line2d line(GetLine()); + EXPECT_EQ(line.Contains(Base::Vector2d(1.5, 2.0)), true); +} + +TEST(Polygon2D, TestDefault) +{ + Base::Polygon2d poly; + EXPECT_EQ(poly.GetCtVectors(), 0); +} + +TEST(Polygon2D, TestAdd) +{ + Base::Polygon2d poly; + poly.Add(Base::Vector2d()); + EXPECT_EQ(poly.GetCtVectors(), 1); +} + +TEST(Polygon2D, TestRemove) +{ + Base::Polygon2d poly; + poly.Add(Base::Vector2d()); + EXPECT_EQ(poly.GetCtVectors(), 1); + EXPECT_EQ(poly.Delete(1), false); + EXPECT_EQ(poly.Delete(0), true); + EXPECT_EQ(poly.GetCtVectors(), 0); +} + +TEST(Polygon2D, TestClear) +{ + Base::Polygon2d poly; + poly.Add(Base::Vector2d()); + poly.DeleteAll(); + EXPECT_EQ(poly.GetCtVectors(), 0); +} diff --git a/tests/src/Base/Tools3D.cpp b/tests/src/Base/Tools3D.cpp new file mode 100644 index 0000000000..781323b88c --- /dev/null +++ b/tests/src/Base/Tools3D.cpp @@ -0,0 +1,93 @@ +#include "gtest/gtest.h" +#include + +class Line3D: public ::testing::Test +{ +protected: + Line3D() + : pt1(0, 0, 0) + , pt2(3, 4, 0) + {} + void SetUp() override + {} + void TearDown() override + {} + Base::Vector3d GetFirst() const + { + return pt1; + } + Base::Vector3d GetSecond() const + { + return pt2; + } + Base::Line3d GetLine() const + { + Base::Line3d line(pt1, pt2); + return line; + } + +private: + Base::Vector3d pt1, pt2; +}; + +TEST_F(Line3D, TestLength) +{ + Base::Line3d line(GetLine()); + EXPECT_DOUBLE_EQ(line.Length(), 5.0); +} + +TEST_F(Line3D, TestSqrLength) +{ + Base::Line3d line(GetLine()); + EXPECT_DOUBLE_EQ(line.SqrLength(), 25.0); +} + +TEST_F(Line3D, TestPoints) +{ + Base::Line3d line(GetLine()); + EXPECT_EQ(line.GetBase(), GetFirst()); + EXPECT_EQ(line.GetDirection(), GetSecond()); +} + +TEST_F(Line3D, TestFromPos) +{ + Base::Line3d line(GetLine()); + EXPECT_EQ(line.FromPos(2.5), Base::Vector3d(1.5, 2, 0)); +} + +TEST_F(Line3D, TestContains) +{ + Base::Line3d line(GetLine()); + EXPECT_EQ(line.Contains(Base::Vector3d(1.5, 2, 0)), true); +} + +TEST(Polygon3D, TestDefault) +{ + Base::Polygon3d poly; + EXPECT_EQ(poly.GetSize(), 0); +} + +TEST(Polygon3D, TestAdd) +{ + Base::Polygon3d poly; + poly.Add(Base::Vector3d()); + EXPECT_EQ(poly.GetSize(), 1); +} + +TEST(Polygon3D, TestRemove) +{ + Base::Polygon3d poly; + poly.Add(Base::Vector3d()); + EXPECT_EQ(poly.GetSize(), 1); + EXPECT_EQ(poly.Remove(1), false); + EXPECT_EQ(poly.Remove(0), true); + EXPECT_EQ(poly.GetSize(), 0); +} + +TEST(Polygon3D, TestClear) +{ + Base::Polygon3d poly; + poly.Add(Base::Vector3d()); + poly.Clear(); + EXPECT_EQ(poly.GetSize(), 0); +} diff --git a/tests/src/Base/Vector3D.cpp b/tests/src/Base/Vector3D.cpp new file mode 100644 index 0000000000..4719bc26b0 --- /dev/null +++ b/tests/src/Base/Vector3D.cpp @@ -0,0 +1,263 @@ +#include "gtest/gtest.h" +#include + +TEST(Vector, TestDefault) +{ + Base::Vector3d vec; + EXPECT_EQ(vec.x, 0.0); + EXPECT_EQ(vec.y, 0.0); + EXPECT_EQ(vec.z, 0.0); +} + +TEST(Vector, TestDefault2) +{ + Base::Vector3d vec(1.0, 2.0, 3.0); + EXPECT_EQ(vec.x, 1.0); + EXPECT_EQ(vec.y, 2.0); + EXPECT_EQ(vec.z, 3.0); +} + +TEST(Vector, TestCopy) +{ + Base::Vector3d vec(1.0, 2.0, 3.0); + Base::Vector3d copy(vec); + EXPECT_EQ(copy.x, 1.0); + EXPECT_EQ(copy.y, 2.0); + EXPECT_EQ(copy.z, 3.0); +} + +TEST(Vector, TestMove) +{ + Base::Vector3d vec(1.0, 2.0, 3.0); + Base::Vector3d copy(std::move(vec)); + EXPECT_EQ(copy.x, 1.0); + EXPECT_EQ(copy.y, 2.0); + EXPECT_EQ(copy.z, 3.0); +} + +TEST(Vector, TestNull) +{ + Base::Vector3d vec(1.0, 2.0, 3.0); + EXPECT_EQ(vec.IsNull(), false); + EXPECT_EQ(Base::Vector3d().IsNull(), true); +} + +TEST(Vector, TestEqual) +{ + Base::Vector3d vec(1.0, 2.0, 3.0); + EXPECT_EQ(vec.IsEqual(vec, 0), true); + EXPECT_EQ(Base::Vector3d().IsEqual(vec, 0), false); +} + +TEST(Vector, TestIndex) +{ + Base::Vector3d vec(1.0, 2.0, 3.0); + EXPECT_EQ(vec[0], 1.0); + EXPECT_EQ(vec[1], 2.0); + EXPECT_EQ(vec[2], 3.0); + vec[0] = 4.0; + EXPECT_EQ(vec[0], 4.0); +} + +TEST(Vector, TestPlus) +{ + Base::Vector3d vec = Base::Vector3d(1, 2, 3) + Base::Vector3d(4, 3, 1); + EXPECT_EQ(vec.x, 5.0); + EXPECT_EQ(vec.y, 5.0); + EXPECT_EQ(vec.z, 4.0); +} + +TEST(Vector, TestPlusAssign) +{ + Base::Vector3d vec(1, 2, 3); + vec += Base::Vector3d(4, 3, 1); + EXPECT_EQ(vec.x, 5.0); + EXPECT_EQ(vec.y, 5.0); + EXPECT_EQ(vec.z, 4.0); +} + +TEST(Vector, TestMinus) +{ + Base::Vector3d vec = Base::Vector3d(1, 2, 3) - Base::Vector3d(4, 3, 1); + EXPECT_EQ(vec.x, -3.0); + EXPECT_EQ(vec.y, -1.0); + EXPECT_EQ(vec.z, 2.0); +} + +TEST(Vector, TestMinusAssign) +{ + Base::Vector3d vec(1, 2, 3); + vec -= Base::Vector3d(4, 3, 1); + EXPECT_EQ(vec.x, -3.0); + EXPECT_EQ(vec.y, -1.0); + EXPECT_EQ(vec.z, 2.0); +} + +TEST(Vector, TestNegative) +{ + Base::Vector3d vec = -Base::Vector3d(4, 3, 1); + EXPECT_EQ(vec.x, -4.0); + EXPECT_EQ(vec.y, -3.0); + EXPECT_EQ(vec.z, -1.0); +} + +TEST(Vector, TestScale) +{ + Base::Vector3d vec(1, 2, 3); + vec = vec * 2.0; + EXPECT_EQ(vec.x, 2.0); + EXPECT_EQ(vec.y, 4.0); + EXPECT_EQ(vec.z, 6.0); +} + +TEST(Vector, TestScaleAssign) +{ + Base::Vector3d vec(1, 2, 3); + vec *= 2.0; + EXPECT_EQ(vec.x, 2.0); + EXPECT_EQ(vec.y, 4.0); + EXPECT_EQ(vec.z, 6.0); +} + +TEST(Vector, TestDivScale) +{ + Base::Vector3d vec(1, 2, 3); + vec = vec / 2.0; + EXPECT_EQ(vec.x, 0.5); + EXPECT_EQ(vec.y, 1.0); + EXPECT_EQ(vec.z, 1.5); +} + +TEST(Vector, TestDivScaleAssign) +{ + Base::Vector3d vec(1, 2, 3); + vec /= 2.0; + EXPECT_EQ(vec.x, 0.5); + EXPECT_EQ(vec.y, 1.0); + EXPECT_EQ(vec.z, 1.5); +} + +TEST(Vector, TestScaleXYZ) +{ + Base::Vector3d vec(1, 2, 3); + vec.Scale(1, 2, 3); + EXPECT_EQ(vec.x, 1.0); + EXPECT_EQ(vec.y, 4.0); + EXPECT_EQ(vec.z, 9.0); +} + +TEST(Vector, TestMoveXYZ) +{ + Base::Vector3d vec(1, 2, 3); + vec.Move(1, 2, 3); + EXPECT_EQ(vec.x, 2.0); + EXPECT_EQ(vec.y, 4.0); + EXPECT_EQ(vec.z, 6.0); +} + +TEST(Vector, TestCopyAssign) +{ + Base::Vector3d vec; + Base::Vector3d copy(1, 2, 3); + vec = copy; + EXPECT_EQ(vec.x, 1.0); + EXPECT_EQ(vec.y, 2.0); + EXPECT_EQ(vec.z, 3.0); +} + +TEST(Vector, TestMoveAssign) +{ + Base::Vector3d vec; + Base::Vector3d copy(1, 2, 3); + vec = std::move(copy); + EXPECT_EQ(vec.x, 1.0); + EXPECT_EQ(vec.y, 2.0); + EXPECT_EQ(vec.z, 3.0); +} + +TEST(Vector, TestScalar) +{ + Base::Vector3d vec1(1, 2, 3); + Base::Vector3d vec2(3, 2, 1); + double dot1 = vec1 * vec2; + double dot2 = vec2.Dot(vec1); + EXPECT_EQ(dot1, 10.0); + EXPECT_EQ(dot2, 10.0); +} + +TEST(Vector, TestCross) +{ + Base::Vector3d vec1(1, 2, 3); + Base::Vector3d vec2(3, 2, 1); + Base::Vector3d cross1 = vec1 % vec2; + Base::Vector3d cross2 = vec2.Cross(vec1); + EXPECT_EQ(cross1.x, -4.0); + EXPECT_EQ(cross1.y, 8.0); + EXPECT_EQ(cross1.z, -4.0); + EXPECT_EQ(cross2.x, 4.0); + EXPECT_EQ(cross2.y, -8.0); + EXPECT_EQ(cross2.z, 4.0); +} + +TEST(Vector, TestCompare) +{ + Base::Vector3d vec1(1, 2, 3); + Base::Vector3d vec2(1, 2, 1); + EXPECT_EQ(vec1 == vec2, false); + EXPECT_EQ(vec1 != vec2, true); +} + +TEST(Vector, TestNormalize) +{ + Base::Vector3d vec(1, 2, 3); + vec.Normalize(); + EXPECT_EQ(vec.Length(), 1.0); +} + +TEST(Vector, TestCSTransform) +{ + Base::Vector3d vec(1, 2, 3); + vec.TransformToCoordinateSystem(Base::Vector3d(1, 1, 1), + Base::Vector3d(0, 1, 0), + Base::Vector3d(1, 0, 0)); + EXPECT_EQ(vec.x, 1); + EXPECT_EQ(vec.y, 0); + EXPECT_EQ(vec.z, -2); +} + +TEST(Vector, TestLineSegment) +{ + Base::Vector3d vec(1, 2, 3); + EXPECT_EQ(vec.IsOnLineSegment(Base::Vector3d(), Base::Vector3d(2, 4, 6)), true); +} + +TEST(Vector, TestDistanceLineSegment) +{ + Base::Vector3d vec(1, 2, 3); + EXPECT_EQ(vec.DistanceToLineSegment(Base::Vector3d(), Base::Vector3d(2, 4, 6)).Length(), 0.0); +} + +TEST(Vector, TestProjectToPlane) +{ + Base::Vector3d vec(1, 2, 3); + Base::Vector3d proj; + vec.ProjectToPlane(Base::Vector3d(1, 1, 1), Base::Vector3d(0, 0, 1), proj); + EXPECT_EQ(proj.x, 1); + EXPECT_EQ(proj.y, 2); + EXPECT_EQ(proj.z, 1); +} + +TEST(Vector, TestDistanceToPlane) +{ + Base::Vector3d vec(1, 2, 3); + double dist = vec.DistanceToPlane(Base::Vector3d(1, 1, 1), Base::Vector3d(0, 0, 1)); + EXPECT_EQ(dist, 2); +} + +TEST(Vector, TestAngle) +{ + Base::Vector3d vec1(0, 0, 0.000001); + Base::Vector3d vec2(0, 0.000001, 0); + double angle = vec1.GetAngle(vec2); + EXPECT_EQ(angle, Base::float_traits::pi() / 2); +} diff --git a/tests/src/Base/ViewProj.cpp b/tests/src/Base/ViewProj.cpp new file mode 100644 index 0000000000..6b1667f236 --- /dev/null +++ b/tests/src/Base/ViewProj.cpp @@ -0,0 +1,23 @@ +#include "gtest/gtest.h" +#include +#include + +TEST(ViewProj, TestViewProjMatrix) +{ + Base::Matrix4D mat; + Base::ViewProjMatrix proj(mat); + + Base::Vector3d vec(1, 2, 3); + EXPECT_EQ(proj(vec), Base::Vector3d(1, 1.5, 2)); + EXPECT_EQ(proj.inverse(Base::Vector3d(1, 1.5, 2)), vec); +} + +TEST(ViewProj, TestViewOrthoProjMatrix) +{ + Base::Matrix4D mat; + Base::ViewOrthoProjMatrix proj(mat); + + Base::Vector3d vec(1, 2, 3); + EXPECT_EQ(proj(vec), vec); + EXPECT_EQ(proj.inverse(vec), vec); +} diff --git a/tests/src/Base/tst_Tools.cpp b/tests/src/Base/tst_Tools.cpp deleted file mode 100644 index 033aff61d7..0000000000 --- a/tests/src/Base/tst_Tools.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "gtest/gtest.h" -#include - -TEST(BaseToolsSuite, TestUniqueName1) -{ - EXPECT_EQ(Base::Tools::getUniqueName("Body", {}), "Body"); -} - -TEST(BaseToolsSuite, TestUniqueName2) -{ - EXPECT_EQ(Base::Tools::getUniqueName("Body", {"Body"}, 1), "Body1"); -} - -TEST(BaseToolsSuite, TestUniqueName3) -{ - EXPECT_EQ(Base::Tools::getUniqueName("Body", {"Body"}, 3), "Body001"); -} - -TEST(BaseToolsSuite, TestUniqueName4) -{ - EXPECT_EQ(Base::Tools::getUniqueName("Body", {"Body001"}, 3), "Body002"); -} - -TEST(BaseToolsSuite, TestUniqueName5) -{ - EXPECT_EQ(Base::Tools::getUniqueName("Body", {"Body", "Body001"}, 3), "Body002"); -} - -TEST(BaseToolsSuite, TestUniqueName6) -{ - EXPECT_EQ(Base::Tools::getUniqueName("Body001", {"Body", "Body001"}, 3), "Body002"); -} - -TEST(BaseToolsSuite, TestUniqueName7) -{ - EXPECT_EQ(Base::Tools::getUniqueName("Body001", {"Body"}, 3), "Body002"); -} - -TEST(BaseToolsSuite, TestUniqueName8) -{ - EXPECT_EQ(Base::Tools::getUniqueName("Body12345", {"Body"}, 3), "Body12346"); -} - -TEST(BaseToolsSuite, TestQuote) -{ - EXPECT_EQ(Base::Tools::quoted("Test"), "\"Test\""); -} - -TEST(BaseToolsSuite, TestJoinList) -{ - EXPECT_EQ(Base::Tools::joinList({"AB", "CD"}), "AB, CD, "); -} diff --git a/tests/src/CMakeLists.txt b/tests/src/CMakeLists.txt index 58e152818d..9531af5dc6 100644 --- a/tests/src/CMakeLists.txt +++ b/tests/src/CMakeLists.txt @@ -2,5 +2,5 @@ add_subdirectory(Base) add_subdirectory(App) add_subdirectory(Gui) add_subdirectory(Misc) -add_subdirectory(Qt) +add_subdirectory(Mod) add_subdirectory(zipios++) diff --git a/tests/src/Gui/CMakeLists.txt b/tests/src/Gui/CMakeLists.txt index 53ec78d55a..5026677829 100644 --- a/tests/src/Gui/CMakeLists.txt +++ b/tests/src/Gui/CMakeLists.txt @@ -1,5 +1,9 @@ +# Standard C++ GTest tests target_sources( Tests_run PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/Assistant.cpp ) + +# Qt tests +setup_qt_test(QuantitySpinBox) diff --git a/tests/src/Gui/QuantitySpinBox.cpp b/tests/src/Gui/QuantitySpinBox.cpp new file mode 100644 index 0000000000..a332e8ecd8 --- /dev/null +++ b/tests/src/Gui/QuantitySpinBox.cpp @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later + +#include +#include + +#include + +#include "Gui/QuantitySpinBox.h" + +// NOLINTBEGIN(readability-magic-numbers) + +class testQuantitySpinBox: public QObject +{ + Q_OBJECT + +public: + testQuantitySpinBox() + { + if (App::Application::GetARGC() == 0) { + constexpr int argc = 1; + std::array argv {"FreeCAD"}; + App::Application::Config()["ExeName"] = "FreeCAD"; + App::Application::init(argc, argv.data()); + } + qsb = std::make_unique(); + } + +private Q_SLOTS: + + void init() + {} + + void cleanup() + {} + + void test_SimpleBaseUnit()// NOLINT + { + auto result = qsb->valueFromText("1mm"); + QCOMPARE(result, Base::Quantity(1, QLatin1String("mm"))); + } + + void test_UnitInNumerator()// NOLINT + { + auto result = qsb->valueFromText("1mm/10"); + QCOMPARE(result, Base::Quantity(0.1, QLatin1String("mm"))); + } + + void test_UnitInDenominator()// NOLINT + { + auto result = qsb->valueFromText("1/10mm"); + QCOMPARE(result, Base::Quantity(0.1, QLatin1String("mm"))); + } + +private: + std::unique_ptr qsb; +}; + +// NOLINTEND(readability-magic-numbers) + +QTEST_MAIN(testQuantitySpinBox) + +#include "QuantitySpinBox.moc" diff --git a/tests/src/Mod/CMakeLists.txt b/tests/src/Mod/CMakeLists.txt new file mode 100644 index 0000000000..3b172b15a3 --- /dev/null +++ b/tests/src/Mod/CMakeLists.txt @@ -0,0 +1,4 @@ +add_subdirectory(Mesh) +add_subdirectory(Part) +add_subdirectory(Points) +add_subdirectory(Sketcher) diff --git a/tests/src/Mod/Mesh/App/CMakeLists.txt b/tests/src/Mod/Mesh/App/CMakeLists.txt new file mode 100644 index 0000000000..7b7d537599 --- /dev/null +++ b/tests/src/Mod/Mesh/App/CMakeLists.txt @@ -0,0 +1,6 @@ +target_sources( + Mesh_tests_run + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/Core/KDTree.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Mesh.cpp +) diff --git a/tests/src/Mod/Mesh/App/Core/KDTree.cpp b/tests/src/Mod/Mesh/App/Core/KDTree.cpp new file mode 100644 index 0000000000..7935f3da0e --- /dev/null +++ b/tests/src/Mod/Mesh/App/Core/KDTree.cpp @@ -0,0 +1,91 @@ +#include "gtest/gtest.h" +#include + +// NOLINTBEGIN(cppcoreguidelines-*,readability-*) + +class KDTreeTest: public ::testing::Test +{ +protected: + void SetUp() override + { + points.emplace_back(0, 0, 0); + points.emplace_back(0, 0, 1); + points.emplace_back(0, 1, 0); + points.emplace_back(0, 1, 1); + points.emplace_back(1, 0, 0); + points.emplace_back(1, 0, 1); + points.emplace_back(1, 1, 0); + points.emplace_back(1, 1, 1); + } + + void TearDown() override + {} + + const std::vector& GetPoints() const + { + return points; + } + +private: + std::vector points; +}; + +TEST_F(KDTreeTest, TestKDTreeEmpty) +{ + MeshCore::MeshKDTree tree; + EXPECT_EQ(tree.IsEmpty(), true); +} + +TEST_F(KDTreeTest, TestKDTreeNearestEmpty) +{ + MeshCore::MeshKDTree tree; + + Base::Vector3f pnt; + Base::Vector3f nor; + float dist; + EXPECT_EQ(tree.FindNearest(pnt, nor, dist), MeshCore::POINT_INDEX_MAX); +} + +TEST_F(KDTreeTest, TestKDTreeNearest) +{ + MeshCore::MeshKDTree tree; + tree.AddPoints(GetPoints()); + EXPECT_EQ(tree.IsEmpty(), false); + + Base::Vector3f nor; + float dist; + EXPECT_EQ(tree.FindNearest(Base::Vector3f(0.9F, 0.1F, 0.1F), nor, dist), 4); +} + +TEST_F(KDTreeTest, TestKDTreeNearestMaxDist) +{ + MeshCore::MeshKDTree tree; + tree.AddPoints(GetPoints()); + EXPECT_EQ(tree.IsEmpty(), false); + + Base::Vector3f nor; + float dist; + EXPECT_EQ(tree.FindNearest(Base::Vector3f(0.9F, 0.1F, 0.1F), 0.0F, nor, dist), + MeshCore::POINT_INDEX_MAX); +} + +TEST_F(KDTreeTest, TestKDTreeFindExact) +{ + MeshCore::MeshKDTree tree; + tree.AddPoints(GetPoints()); + + EXPECT_EQ(tree.FindExact(Base::Vector3f(0.1F, 0, 0)), MeshCore::POINT_INDEX_MAX); + EXPECT_EQ(tree.FindExact(Base::Vector3f(0, 0, 0)), 0); +} + +TEST_F(KDTreeTest, TestKDTreeFindRange) +{ + MeshCore::MeshKDTree tree; + tree.AddPoints(GetPoints()); + + std::vector index; + std::vector result = {0, 4}; + tree.FindInRange(Base::Vector3f(0.5F, 0, 0), 0.6F, index); + EXPECT_EQ(index, result); +} +// NOLINTEND(cppcoreguidelines-*,readability-*) diff --git a/tests/src/Mod/Mesh/App/Mesh.cpp b/tests/src/Mod/Mesh/App/Mesh.cpp new file mode 100644 index 0000000000..9f578782af --- /dev/null +++ b/tests/src/Mod/Mesh/App/Mesh.cpp @@ -0,0 +1,21 @@ +#include "gtest/gtest.h" +#include + +// NOLINTBEGIN(cppcoreguidelines-*,readability-*) +TEST(MeshTest, TestDefault) +{ + MeshCore::MeshKernel kernel; + Base::Vector3f p1 { + 0, + 0, + 0, + }; + Base::Vector3f p2 {0, 0, 1}; + Base::Vector3f p3 {0, 1, 0}; + kernel.AddFacet(MeshCore::MeshGeomFacet(p1, p2, p3)); + + EXPECT_EQ(kernel.CountPoints(), 3); + EXPECT_EQ(kernel.CountEdges(), 3); + EXPECT_EQ(kernel.CountFacets(), 1); +} +// NOLINTEND(cppcoreguidelines-*,readability-*) diff --git a/tests/src/Mod/Mesh/CMakeLists.txt b/tests/src/Mod/Mesh/CMakeLists.txt new file mode 100644 index 0000000000..6796225c45 --- /dev/null +++ b/tests/src/Mod/Mesh/CMakeLists.txt @@ -0,0 +1,15 @@ + +target_include_directories(Mesh_tests_run PUBLIC + ${EIGEN3_INCLUDE_DIR} + ${OCC_INCLUDE_DIR} + ${Python3_INCLUDE_DIRS} + ${XercesC_INCLUDE_DIRS} +) + +target_link_libraries(Mesh_tests_run + gtest_main + ${Google_Tests_LIBS} + Mesh +) + +add_subdirectory(App) diff --git a/tests/src/Mod/Part/App/CMakeLists.txt b/tests/src/Mod/Part/App/CMakeLists.txt new file mode 100644 index 0000000000..f8169423c6 --- /dev/null +++ b/tests/src/Mod/Part/App/CMakeLists.txt @@ -0,0 +1,6 @@ + +target_sources( + Part_tests_run + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/TopoShape.cpp +) diff --git a/tests/src/Mod/Part/App/TopoShape.cpp b/tests/src/Mod/Part/App/TopoShape.cpp new file mode 100644 index 0000000000..0d838671d6 --- /dev/null +++ b/tests/src/Mod/Part/App/TopoShape.cpp @@ -0,0 +1,90 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later + +#include "gtest/gtest.h" +#include + +// clang-format off +TEST(TopoShape, TestElementTypeFace1) +{ + EXPECT_EQ(Part::TopoShape::getElementTypeAndIndex("Face1"), + std::make_pair(std::string("Face"), 1UL)); +} + +TEST(TopoShape, TestElementTypeEdge12) +{ + EXPECT_EQ(Part::TopoShape::getElementTypeAndIndex("Edge12"), + std::make_pair(std::string("Edge"), 12UL)); +} + +TEST(TopoShape, TestElementTypeVertex3) +{ + EXPECT_EQ(Part::TopoShape::getElementTypeAndIndex("Vertex3"), + std::make_pair(std::string("Vertex"), 3UL)); +} + +TEST(TopoShape, TestElementTypeFacer) +{ + EXPECT_EQ(Part::TopoShape::getElementTypeAndIndex("Facer"), + std::make_pair(std::string(), 0UL)); +} + +TEST(TopoShape, TestElementTypeVertex) +{ + EXPECT_EQ(Part::TopoShape::getElementTypeAndIndex("Vertex"), + std::make_pair(std::string(), 0UL)); +} + +TEST(TopoShape, TestElementTypeEmpty) +{ + EXPECT_EQ(Part::TopoShape::getElementTypeAndIndex(""), + std::make_pair(std::string(), 0UL)); +} + +TEST(TopoShape, TestElementTypeNull) +{ + EXPECT_EQ(Part::TopoShape::getElementTypeAndIndex(nullptr), + std::make_pair(std::string(), 0UL)); +} + +TEST(TopoShape, TestTypeFace1) +{ + EXPECT_EQ(Part::TopoShape::getTypeAndIndex("Face1"), + std::make_pair(std::string("Face"), 1UL)); +} + +TEST(TopoShape, TestTypeEdge12) +{ + EXPECT_EQ(Part::TopoShape::getTypeAndIndex("Edge12"), + std::make_pair(std::string("Edge"), 12UL)); +} + +TEST(TopoShape, TestTypeVertex3) +{ + EXPECT_EQ(Part::TopoShape::getTypeAndIndex("Vertex3"), + std::make_pair(std::string("Vertex"), 3UL)); +} + +TEST(TopoShape, TestTypeFacer) +{ + EXPECT_EQ(Part::TopoShape::getTypeAndIndex("Facer"), + std::make_pair(std::string("Facer"), 0UL)); +} + +TEST(TopoShape, TestTypeVertex) +{ + EXPECT_EQ(Part::TopoShape::getTypeAndIndex("Vertex"), + std::make_pair(std::string("Vertex"), 0UL)); +} + +TEST(TopoShape, TestTypeEmpty) +{ + EXPECT_EQ(Part::TopoShape::getTypeAndIndex(""), + std::make_pair(std::string(), 0UL)); +} + +TEST(TopoShape, TestTypeNull) +{ + EXPECT_EQ(Part::TopoShape::getTypeAndIndex(nullptr), + std::make_pair(std::string(), 0UL)); +} +// clang-format on diff --git a/tests/src/Mod/Part/CMakeLists.txt b/tests/src/Mod/Part/CMakeLists.txt new file mode 100644 index 0000000000..923821fcdc --- /dev/null +++ b/tests/src/Mod/Part/CMakeLists.txt @@ -0,0 +1,15 @@ + +target_include_directories(Part_tests_run PUBLIC + ${EIGEN3_INCLUDE_DIR} + ${OCC_INCLUDE_DIR} + ${Python3_INCLUDE_DIRS} + ${XercesC_INCLUDE_DIRS} +) + +target_link_libraries(Part_tests_run + gtest_main + ${Google_Tests_LIBS} + Part +) + +add_subdirectory(App) diff --git a/tests/src/Mod/Points/App/CMakeLists.txt b/tests/src/Mod/Points/App/CMakeLists.txt new file mode 100644 index 0000000000..1e65356610 --- /dev/null +++ b/tests/src/Mod/Points/App/CMakeLists.txt @@ -0,0 +1,5 @@ +target_sources( + Points_tests_run + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/Points.cpp +) diff --git a/tests/src/Mod/Points/App/Points.cpp b/tests/src/Mod/Points/App/Points.cpp new file mode 100644 index 0000000000..ca33cdf6f1 --- /dev/null +++ b/tests/src/Mod/Points/App/Points.cpp @@ -0,0 +1,12 @@ +#include "gtest/gtest.h" +#include + +// NOLINTBEGIN(cppcoreguidelines-*,readability-*) +TEST(Points, TestDefault) +{ + Points::PointKernel kernel; + std::vector points; + kernel.setBasicPoints(points); + EXPECT_EQ(kernel.size(), 0); +} +// NOLINTEND(cppcoreguidelines-*,readability-*) diff --git a/tests/src/Mod/Points/CMakeLists.txt b/tests/src/Mod/Points/CMakeLists.txt new file mode 100644 index 0000000000..75b1997394 --- /dev/null +++ b/tests/src/Mod/Points/CMakeLists.txt @@ -0,0 +1,15 @@ + +target_include_directories(Points_tests_run PUBLIC + ${EIGEN3_INCLUDE_DIR} + ${OCC_INCLUDE_DIR} + ${Python3_INCLUDE_DIRS} + ${XercesC_INCLUDE_DIRS} +) + +target_link_libraries(Points_tests_run + gtest_main + ${Google_Tests_LIBS} + Points +) + +add_subdirectory(App) diff --git a/tests/src/Mod/Sketcher/CMakeLists.txt b/tests/src/Mod/Sketcher/CMakeLists.txt index 14c361067f..2931eb9c99 100644 --- a/tests/src/Mod/Sketcher/CMakeLists.txt +++ b/tests/src/Mod/Sketcher/CMakeLists.txt @@ -1 +1,15 @@ + +target_include_directories(Sketcher_tests_run PUBLIC + ${EIGEN3_INCLUDE_DIR} + ${OCC_INCLUDE_DIR} + ${Python3_INCLUDE_DIRS} + ${XercesC_INCLUDE_DIRS} +) + +target_link_libraries(Sketcher_tests_run + gtest_main + ${Google_Tests_LIBS} + Sketcher +) + add_subdirectory(App) diff --git a/tests/src/Qt/CMakeLists.txt b/tests/src/Qt/CMakeLists.txt deleted file mode 100644 index a0d8f411bf..0000000000 --- a/tests/src/Qt/CMakeLists.txt +++ /dev/null @@ -1,48 +0,0 @@ -# 'Google_test' is the subproject name -project(Google_tests) - -if(WIN32) - add_definitions(-DCOIN_DLL) -endif(WIN32) - -# 'lib' is the folder with Google Test sources - -# 'Google_Tests_run' is the target name -#target_link_libraries(Google_Tests_run gtest gtest_main ${Google_Tests_LIBS}) - -# ------------------------------------------------------ - -enable_testing() - -function(SETUP_TESTS) - foreach(_testname ${ARGN}) - add_executable(${_testname}_Tests_run ${_testname}.cpp) - add_test(NAME ${_testname}_Tests_run COMMAND ${_testname}_Tests_run) - if(NOT BUILD_DYNAMIC_LINK_PYTHON) - list(APPEND ${_testname}_LIBS - ${PYTHON_LIBRARIES} - ) - endif() - target_link_libraries(${_testname}_Tests_run ${QtTest_LIBRARIES} ${${_testname}_LIBS}) - endforeach() -endfunction() - -set(CMAKE_AUTOMOC ON) - -# Qt Test -include_directories( - ${QtGui_INCLUDE_DIRS} - ${QtTest_INCLUDE_DIRS} - ${COIN3D_INCLUDE_DIRS} -) - -# ------------------------------------------------------ - -set (InventorBuilder_LIBS - ${COIN3D_LIBRARIES} - FreeCADBase -) - -SETUP_TESTS( - InventorBuilder -) diff --git a/tools/build/AppImage/build-with-conda.sh b/tools/build/AppImage/build-with-conda.sh new file mode 100755 index 0000000000..cc37a3688d --- /dev/null +++ b/tools/build/AppImage/build-with-conda.sh @@ -0,0 +1,209 @@ +#!/bin/sh + +# *************************************************************************** +# * Copyright (c) 2023 Yorik van Havre * +# * and FreeCAD maintainers (looooo, adrianinsaval ) * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +# adapted from https://github.com/FreeCAD/FreeCAD-Bundle/blob/master/conda/linux/create_bundle.sh + +# This script produces a FreeCAD AppImage locally using conda repositories. It +# is an all-in-one script that fetches FreeCAD and all dependencies from conda +# repo (it also extracts a couple of XDG files from the FreeCAD source). Everything +# comes from conda repositories, therefore, you need to make sure they contain the +# FreeCAD package you want to build. An easy way to check is by searching for +# available FreeCAD packages: +# +# conda search "freecad=0.21.0" -c adrianinsaval/label/dev -c freecad -c conda-forge +# + + +# To use this script, you will need: +# +# 1) Mambaforge from https://github.com/conda-forge/miniforge#mambaforge +# if you choose to not install the conda environment when installing Mambaforge, +# you will need to do it before running this script, by running the following +# in your terminal. This will make the "conda" and "mamba" commands available: +# eval "$(/home/yorik/Mambaforge/bin/conda shell.zsh hook)" +# (replace the Mambaforge path by yours and zsh by your shell name) +# +# 2) appimagetool from https://appimage.github.io/appimagetool/ +# place it in your exec path so it can be found by this script +# +# 3) a gpg key to sign the package +# +# 4) verify or change the config values here below +# +# 5) If you are on Fedora, there are lines to uncomment below in the script +# +# When done, just run this script and you should get an appimage with the +# corresponding sha hash in the current folder. +# +# To cleanup after build: Just delete the "AppDir" folder (not done automatically since +# next builds can reuse the downloaded packages). + +# config + +# make sure you have a gpg key for this email +gpg_key="yorik@freecad.org" +# the FreeCAD version we're looking for +target_version="0.21.0" +# make sure target_python matches the one FreeCAD is built with! Check with +# conda search "freecad=0.21.0" -c adrianinsaval/label/dev -c freecad -c conda-forge +target_python="3.10" + +# end config + +# export MAMBA_NO_BANNER=1 + +# building needed files +mkdir -p AppDir +cat > AppDir/AppRun < AppDir/packages.txt +sed -i "1s/.*/\nLIST OF PACKAGES:/" AppDir/packages.txt + +echo "\nDeleting unnecessary stuff" +rm -rf ${conda_env}/include +find ${conda_env} -name \*.a -delete +mv ${conda_env}/bin ${conda_env}/bin_tmp +mkdir ${conda_env}/bin +cp ${conda_env}/bin_tmp/freecad ${conda_env}/bin/ +cp ${conda_env}/bin_tmp/freecadcmd ${conda_env}/bin/ +cp ${conda_env}/bin_tmp/ccx ${conda_env}/bin/ +cp ${conda_env}/bin_tmp/python ${conda_env}/bin/ +cp ${conda_env}/bin_tmp/pip ${conda_env}/bin/ +cp ${conda_env}/bin_tmp/pyside2-rcc ${conda_env}/bin/ +cp ${conda_env}/bin_tmp/assistant ${conda_env}/bin/ +sed -i '1s|.*|#!/usr/bin/env python|' ${conda_env}/bin/pip +rm -rf ${conda_env}/bin_tmp + +echo "\nCreating qt config" +echo "[Paths]\nPrefix = ./../" > qt.conf +cp qt.conf ${conda_env}/bin/ +cp qt.conf ${conda_env}/libexec/ +rm qt.conf + +echo "\nCopying icons and .desktop file" +mkdir -p ${conda_env}/share/icons/hicolor/scalable/apps/ +cp ../../../src/Gui/Icons/freecad.svg ${conda_env}/share/icons/hicolor/scalable/apps/org.freecadweb.FreeCAD.svg +cp ${conda_env}/share/icons/hicolor/scalable/apps/org.freecadweb.FreeCAD.svg AppDir +mkdir -p ${conda_env}/share/icons/hicolor/64x64/apps/ +cp ../../../src/Gui/Icons/freecad-icon-64.png ${conda_env}/share/icons/hicolor/64x64/apps/org.freecadweb.FreeCAD.png +cp ${conda_env}/share/icons/hicolor/64x64/apps/org.freecadweb.FreeCAD.png AppDir +mkdir -p ${conda_env}/share/applications/ +cp ../../../src/XDGData/org.freecadweb.FreeCAD.desktop ${conda_env}/share/applications/ +sed -i "s/Exec\=FreeCAD\ \%F/Exec=AppRun/g" ${conda_env}/share/applications/org.freecadweb.FreeCAD.desktop +cp ${conda_env}/share/applications/org.freecadweb.FreeCAD.desktop AppDir +cp ../../../src/XDGData/org.freecadweb.FreeCAD.appdata.xml.in ${conda_env}/share/metainfo/org.freecadweb.FreeCAD.appdata.xml +sed -i "s/@PACKAGE_VERSION@/${target_version}/g" ${conda_env}/share/metainfo/org.freecadweb.FreeCAD.appdata.xml +sed -i "s/@APPDATA_RELEASE_DATE@/${target_date}/g" ${conda_env}/share/metainfo/org.freecadweb.FreeCAD.appdata.xml + +echo "\nCleaning" + +# Remove __pycache__ folders and .pyc files +find . -path "*/__pycache__/*" -delete +find . -name "*.pyc" -type f -delete + +# reduce size +rm -rf ${conda_env}/conda-meta/ +rm -rf ${conda_env}/doc/global/ +rm -rf ${conda_env}/share/gtk-doc/ +rm -rf ${conda_env}/lib/cmake/ + +# remove unnecessary development files +find . -name "*.h" -type f -delete +find . -name "*.cmake" -type f -delete + +# The following two lines must be uncommented if using this on Fedora 28 and up +# echo "\nAdd libnsl" +# cp ../../libc6/lib/$ARCH-linux-gnu/libnsl* ${conda_env}/lib/ + +echo "\nCreating the appimage" +chmod a+x ./AppDir/AppRun +appimagetool-${arch}.AppImage --sign --sign-key ${gpg_key} AppDir ${package_name}.AppImage + +echo "\nCreating hash" +shasum -a 256 ${package_name}.AppImage > ${package_name}.AppImage-SHA256.txt + +echo "\nAll done! You can delete the AppDir folder"